forked from MapComplete/MapComplete
Refactoring: split icons into proper layered icons, fix and rerun shops-thief
This commit is contained in:
parent
d6cd0516bb
commit
19a760178b
307 changed files with 26845 additions and 116541 deletions
|
@ -24,8 +24,12 @@ import {
|
|||
ValidateThemeAndLayers,
|
||||
} from "../Models/ThemeConfig/Conversion/Validation"
|
||||
import { DesugaringContext } from "../Models/ThemeConfig/Conversion/Conversion"
|
||||
import { TagRenderingConfigJson } from "../Models/ThemeConfig/Json/TagRenderingConfigJson"
|
||||
import {
|
||||
MinimalTagRenderingConfigJson,
|
||||
TagRenderingConfigJson
|
||||
} from "../Models/ThemeConfig/Json/TagRenderingConfigJson";
|
||||
import Hash from "./Web/Hash"
|
||||
import { QuestionableTagRenderingConfigJson } from "../Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson";
|
||||
|
||||
export default class DetermineLayout {
|
||||
private static readonly _knownImages = new Set(Array.from(licenses).map((l) => l.path))
|
||||
|
@ -151,8 +155,8 @@ export default class DetermineLayout {
|
|||
.AttachTo("maindiv")
|
||||
}
|
||||
|
||||
private static getSharedTagRenderings(): Map<string, TagRenderingConfigJson> {
|
||||
const dict = new Map<string, TagRenderingConfigJson>()
|
||||
private static getSharedTagRenderings(): Map<string, QuestionableTagRenderingConfigJson> {
|
||||
const dict = new Map<string, QuestionableTagRenderingConfigJson>()
|
||||
|
||||
for (const tagRendering of questions.tagRenderings) {
|
||||
dict.set(tagRendering.id, tagRendering)
|
||||
|
@ -163,7 +167,9 @@ export default class DetermineLayout {
|
|||
|
||||
private static prepCustomTheme(json: any, sourceUrl?: string, forceId?: string): LayoutConfig {
|
||||
if (json.layers === undefined && json.tagRenderings !== undefined) {
|
||||
const iconTr = json.mapRendering.map((mr) => mr.icon).find((icon) => icon !== undefined)
|
||||
// We got fed a layer instead of a theme
|
||||
const layerConfig = <LayerConfigJson>json
|
||||
const iconTr: string | TagRenderingConfigJson = layerConfig.pointRendering.map((mr) => mr.marker.find(icon => icon.icon !== undefined).icon).find((i) => i !== undefined)
|
||||
const icon = new TagRenderingConfig(iconTr).render.txt
|
||||
json = {
|
||||
id: json.id,
|
||||
|
|
|
@ -19,7 +19,7 @@ export class LastClickFeatureSource implements WritableFeatureSource {
|
|||
for (let i = 0; i < (layer.presets ?? []).length; i++) {
|
||||
const preset = layer.presets[i]
|
||||
const tags = new ImmutableStore(TagUtils.KVtoProperties(preset.tags))
|
||||
const { html } = layer.mapRendering[0].RenderIcon(tags, false, {
|
||||
const { html } = layer.mapRendering[0].RenderIcon(tags, {
|
||||
noSize: true,
|
||||
includeBadges: false,
|
||||
})
|
||||
|
|
|
@ -55,10 +55,9 @@ export class NewGeometryFromChangesFeatureSource implements WritableFeatureSourc
|
|||
* @private
|
||||
*/
|
||||
private handleChange(change: ChangeDescription): boolean {
|
||||
const backend = this._backend
|
||||
const allElementStorage = this._allElementStorage
|
||||
|
||||
console.log("Handling pending change")
|
||||
console.log("Handling pending change", change)
|
||||
if (change.id > 0) {
|
||||
// This is an already existing object
|
||||
// In _most_ of the cases, this means that this _isn't_ a new object
|
||||
|
|
|
@ -94,8 +94,8 @@ export default class CreateNoteImportLayer extends Conversion<LayerConfigJson, L
|
|||
maxCacheAge: 0,
|
||||
},
|
||||
/* We need to set 'pass_all_features'
|
||||
There are probably many note_import-layers, and we don't want the first one to gobble up all notes and then discard them...
|
||||
*/
|
||||
There are probably many note_import-layers, and we don't want the first one to gobble up all notes and then discard them...
|
||||
*/
|
||||
passAllFeatures: true,
|
||||
minzoom: Math.min(12, layerJson.minzoom - 2),
|
||||
title: {
|
||||
|
@ -181,15 +181,24 @@ export default class CreateNoteImportLayer extends Conversion<LayerConfigJson, L
|
|||
pointRendering: [
|
||||
{
|
||||
location: ["point"],
|
||||
icon: {
|
||||
render: "circle:white;help:black",
|
||||
mappings: [
|
||||
{
|
||||
if: { or: ["closed_at~*", "_imported=yes"] },
|
||||
then: "circle:white;checkmark:black",
|
||||
marker: [
|
||||
{
|
||||
icon: "circle",
|
||||
color: "#fff",
|
||||
},
|
||||
{
|
||||
icon: {
|
||||
render: "help",
|
||||
mappings: [
|
||||
{
|
||||
if: { or: ["closed_at~*", "_imported=yes"] },
|
||||
then: "checkmark",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
color: "#00",
|
||||
},
|
||||
],
|
||||
iconSize: "40,40",
|
||||
anchor: "center",
|
||||
},
|
||||
|
|
|
@ -81,7 +81,11 @@ export class UpdateLegacyLayer extends DesugaringStep<
|
|||
}
|
||||
}
|
||||
|
||||
if (config["mapRendering"] === undefined) {
|
||||
if (
|
||||
config["mapRendering"] === undefined &&
|
||||
config.pointRendering === undefined &&
|
||||
config.lineRendering === undefined
|
||||
) {
|
||||
config["mapRendering"] = []
|
||||
// This is a legacy format, lets create a pointRendering
|
||||
let location: ("point" | "centroid")[] = ["point"]
|
||||
|
@ -144,6 +148,7 @@ export class UpdateLegacyLayer extends DesugaringStep<
|
|||
}
|
||||
|
||||
if (config["mapRendering"]) {
|
||||
console.log("MapRendering is", config["mapRendering"], json.id)
|
||||
const pointRenderings: PointRenderingConfigJson[] = []
|
||||
const lineRenderings: LineRenderingConfigJson[] = []
|
||||
for (const mapRenderingElement of config["mapRendering"]) {
|
||||
|
@ -161,6 +166,21 @@ export class UpdateLegacyLayer extends DesugaringStep<
|
|||
|
||||
for (const rendering of config.pointRendering ?? []) {
|
||||
const pr = rendering
|
||||
if (pr["icon"]) {
|
||||
try {
|
||||
const icon = Utils.NoEmpty(pr["icon"].split(";"))
|
||||
pr.marker = icon.map((i) => {
|
||||
const [iconPath, color] = i.split(":")
|
||||
return { icon: iconPath, color }
|
||||
})
|
||||
delete pr["icon"]
|
||||
} catch (e) {
|
||||
console.error("Could not handle icon in", json.id)
|
||||
pr.marker = [{ icon: pr["icon"] }]
|
||||
delete pr["icon"]
|
||||
}
|
||||
}
|
||||
|
||||
let iconSize = pr.iconSize
|
||||
if (!iconSize) {
|
||||
continue
|
||||
|
@ -178,35 +198,36 @@ export class UpdateLegacyLayer extends DesugaringStep<
|
|||
}
|
||||
}
|
||||
|
||||
for (const rendering of config.pointRendering) {
|
||||
for (const key in rendering) {
|
||||
if (!rendering[key]) {
|
||||
continue
|
||||
}
|
||||
if (
|
||||
typeof rendering[key]["render"] === "string" &&
|
||||
Object.keys(rendering[key]).length === 1
|
||||
) {
|
||||
console.log("Rewrite: ", rendering[key])
|
||||
rendering[key] = rendering[key]["render"]
|
||||
if (config.pointRendering)
|
||||
for (const rendering of config.pointRendering) {
|
||||
for (const key in rendering) {
|
||||
if (!rendering[key]) {
|
||||
continue
|
||||
}
|
||||
if (
|
||||
typeof rendering[key]["render"] === "string" &&
|
||||
Object.keys(rendering[key]).length === 1
|
||||
) {
|
||||
console.log("Rewrite: ", rendering[key])
|
||||
rendering[key] = rendering[key]["render"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const rendering of config.lineRendering) {
|
||||
for (const key in rendering) {
|
||||
if (!rendering[key]) {
|
||||
continue
|
||||
}
|
||||
if (
|
||||
typeof rendering[key]["render"] === "string" &&
|
||||
Object.keys(rendering[key]).length === 1
|
||||
) {
|
||||
console.log("Rewrite: ", rendering[key])
|
||||
rendering[key] = rendering[key]["render"]
|
||||
if (config.lineRendering)
|
||||
for (const rendering of config.lineRendering) {
|
||||
for (const key in rendering) {
|
||||
if (!rendering[key]) {
|
||||
continue
|
||||
}
|
||||
if (
|
||||
typeof rendering[key]["render"] === "string" &&
|
||||
Object.keys(rendering[key]).length === 1
|
||||
) {
|
||||
console.log("Rewrite: ", rendering[key])
|
||||
rendering[key] = rendering[key]["render"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
result: config,
|
||||
|
|
|
@ -21,8 +21,7 @@ import { AddContextToTranslations } from "./AddContextToTranslations"
|
|||
import FilterConfigJson from "../Json/FilterConfigJson"
|
||||
import predifined_filters from "../../../../assets/layers/filters/filters.json"
|
||||
import { TagConfigJson } from "../Json/TagConfigJson"
|
||||
import PointRenderingConfigJson from "../Json/PointRenderingConfigJson"
|
||||
import LineRenderingConfigJson from "../Json/LineRenderingConfigJson"
|
||||
import PointRenderingConfigJson, { IconConfigJson } from "../Json/PointRenderingConfigJson"
|
||||
import ValidationUtils from "./ValidationUtils"
|
||||
import { RenderingSpecification } from "../../../UI/SpecialVisualization"
|
||||
import { QuestionableTagRenderingConfigJson } from "../Json/QuestionableTagRenderingConfigJson"
|
||||
|
@ -127,6 +126,7 @@ class ExpandTagRendering extends Conversion<
|
|||
> {
|
||||
private readonly _state: DesugaringContext
|
||||
private readonly _tagRenderingsByLabel: Map<string, TagRenderingConfigJson[]>
|
||||
// Only used for self-reference
|
||||
private readonly _self: LayerConfigJson
|
||||
private readonly _options: {
|
||||
/* If true, will copy the 'osmSource'-tags into the condition */
|
||||
|
@ -224,7 +224,7 @@ class ExpandTagRendering extends Conversion<
|
|||
|
||||
const spl = name.split(".")
|
||||
let layer = state.sharedLayers?.get(spl[0])
|
||||
if (spl[0] === this._self.id) {
|
||||
if (spl[0] === this._self?.id) {
|
||||
layer = this._self
|
||||
}
|
||||
|
||||
|
@ -352,7 +352,7 @@ class ExpandTagRendering extends Conversion<
|
|||
if (name.indexOf(".") > 0) {
|
||||
const [layerName] = name.split(".")
|
||||
let layer = state.sharedLayers.get(layerName)
|
||||
if (layerName === this._self.id) {
|
||||
if (layerName === this._self?.id) {
|
||||
layer = this._self
|
||||
}
|
||||
if (layer === undefined) {
|
||||
|
@ -1116,23 +1116,19 @@ export class RewriteSpecial extends DesugaringStep<TagRenderingConfigJson> {
|
|||
}
|
||||
}
|
||||
|
||||
class ExpandIconBadges extends DesugaringStep<PointRenderingConfigJson | LineRenderingConfigJson> {
|
||||
private _state: DesugaringContext
|
||||
private _layer: LayerConfigJson
|
||||
class ExpandIconBadges extends DesugaringStep<PointRenderingConfigJson> {
|
||||
private _expand: ExpandTagRendering
|
||||
|
||||
constructor(state: DesugaringContext, layer: LayerConfigJson) {
|
||||
super("Expands shorthand properties on iconBadges", ["iconBadges"], "ExpandIconBadges")
|
||||
this._state = state
|
||||
this._layer = layer
|
||||
this._expand = new ExpandTagRendering(state, layer)
|
||||
}
|
||||
|
||||
convert(
|
||||
json: PointRenderingConfigJson | LineRenderingConfigJson,
|
||||
json: PointRenderingConfigJson,
|
||||
context: string
|
||||
): {
|
||||
result: PointRenderingConfigJson | LineRenderingConfigJson
|
||||
result: PointRenderingConfigJson
|
||||
errors?: string[]
|
||||
warnings?: string[]
|
||||
information?: string[]
|
||||
|
@ -1140,7 +1136,7 @@ class ExpandIconBadges extends DesugaringStep<PointRenderingConfigJson | LineRen
|
|||
if (!json["iconBadges"]) {
|
||||
return { result: json }
|
||||
}
|
||||
const badgesJson = (<PointRenderingConfigJson>json).iconBadges
|
||||
const badgesJson = json.iconBadges
|
||||
|
||||
const iconBadges: { if: TagConfigJson; then: string | TagRenderingConfigJson }[] = []
|
||||
|
||||
|
@ -1176,7 +1172,7 @@ class ExpandIconBadges extends DesugaringStep<PointRenderingConfigJson | LineRen
|
|||
}
|
||||
}
|
||||
|
||||
class PreparePointRendering extends Fuse<PointRenderingConfigJson | LineRenderingConfigJson> {
|
||||
class PreparePointRendering extends Fuse<PointRenderingConfigJson> {
|
||||
constructor(state: DesugaringContext, layer: LayerConfigJson) {
|
||||
super(
|
||||
"Prepares point renderings by expanding 'icon' and 'iconBadges'",
|
||||
|
@ -1262,6 +1258,47 @@ export class AddMiniMap extends DesugaringStep<LayerConfigJson> {
|
|||
}
|
||||
}
|
||||
|
||||
class ExpandMarkerRenderings extends DesugaringStep<IconConfigJson> {
|
||||
private readonly _layer: LayerConfigJson
|
||||
private readonly _state: DesugaringContext
|
||||
|
||||
constructor(state: DesugaringContext, layer: LayerConfigJson) {
|
||||
super(
|
||||
"Expands tagRenderings in the icons, if needed",
|
||||
["icon", "color"],
|
||||
"ExpandMarkerRenderings"
|
||||
)
|
||||
this._layer = layer
|
||||
this._state = state
|
||||
}
|
||||
|
||||
convert(
|
||||
json: IconConfigJson,
|
||||
context: string
|
||||
): {
|
||||
result: IconConfigJson
|
||||
errors?: string[]
|
||||
warnings?: string[]
|
||||
information?: string[]
|
||||
} {
|
||||
const expander = new ExpandTagRendering(this._state, this._layer)
|
||||
const result: IconConfigJson = { icon: undefined, color: undefined }
|
||||
const errors: string[] = []
|
||||
const warnings: string[] = []
|
||||
if (json.icon && json.icon["builtin"]) {
|
||||
result.icon = expander.convertJoin(<any>json.icon, context, errors, warnings)[0]
|
||||
} else {
|
||||
result.icon = json.icon
|
||||
}
|
||||
if (json.color && json.color["builtin"]) {
|
||||
result.color = expander.convertJoin(<any>json.color, context, errors, warnings)[0]
|
||||
} else {
|
||||
result.color = json.color
|
||||
}
|
||||
return { result, errors, warnings }
|
||||
}
|
||||
}
|
||||
|
||||
export class PrepareLayer extends Fuse<LayerConfigJson> {
|
||||
constructor(state: DesugaringContext) {
|
||||
super(
|
||||
|
@ -1274,9 +1311,13 @@ export class PrepareLayer extends Fuse<LayerConfigJson> {
|
|||
new AddMiniMap(state),
|
||||
new AddEditingElements(state),
|
||||
new SetFullNodeDatabase(),
|
||||
new On("mapRendering", new Concat(new ExpandRewrite()).andThenF(Utils.Flatten)),
|
||||
new On<(PointRenderingConfigJson | LineRenderingConfigJson)[], LayerConfigJson>(
|
||||
"mapRendering",
|
||||
new On<PointRenderingConfigJson[], LayerConfigJson>(
|
||||
"pointRendering",
|
||||
(layer) =>
|
||||
new Each(new On("marker", new Each(new ExpandMarkerRenderings(state, layer))))
|
||||
),
|
||||
new On<PointRenderingConfigJson[], LayerConfigJson>(
|
||||
"pointRendering",
|
||||
(layer) => new Each(new PreparePointRendering(state, layer))
|
||||
),
|
||||
new SetDefault("titleIcons", ["icons.defaults"]),
|
||||
|
|
|
@ -115,6 +115,7 @@ export default class DeleteConfig {
|
|||
const config: QuestionableTagRenderingConfigJson = {
|
||||
question: t.whyDelete.translations,
|
||||
mappings,
|
||||
id: "why-delete",
|
||||
}
|
||||
return new TagRenderingConfig(config)
|
||||
}
|
||||
|
|
|
@ -9,10 +9,6 @@ import LineRenderingConfigJson from "./LineRenderingConfigJson"
|
|||
import { QuestionableTagRenderingConfigJson } from "./QuestionableTagRenderingConfigJson"
|
||||
import RewritableConfigJson from "./RewritableConfigJson"
|
||||
import { Translatable } from "./Translatable"
|
||||
import { Point } from "geojson"
|
||||
import PointRenderingConfig from "../PointRenderingConfig"
|
||||
|
||||
type MapRendering = {}
|
||||
|
||||
/**
|
||||
* Configuration for a single layer
|
||||
|
@ -49,6 +45,7 @@ export interface LayerConfigJson {
|
|||
/**
|
||||
*
|
||||
* Question: Where should the data be fetched from?
|
||||
* title: Data Source
|
||||
*
|
||||
* This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.
|
||||
*
|
||||
|
@ -242,12 +239,12 @@ export interface LayerConfigJson {
|
|||
/**
|
||||
* Creates points to render on the map.
|
||||
* This can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered
|
||||
* group: maprendering
|
||||
* group: pointrendering
|
||||
*/
|
||||
pointRendering: PointRenderingConfigJson[]
|
||||
/**
|
||||
* Creates lines and areas to render on the map
|
||||
* group: maprendering
|
||||
* group: linerendering
|
||||
*/
|
||||
lineRendering?: LineRenderingConfigJson[]
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { TagRenderingConfigJson } from "./TagRenderingConfigJson"
|
||||
import { MinimalTagRenderingConfigJson } from "./TagRenderingConfigJson"
|
||||
|
||||
/**
|
||||
* The LineRenderingConfig gives all details onto how to render a single line of a feature.
|
||||
|
@ -10,40 +10,69 @@ import { TagRenderingConfigJson } from "./TagRenderingConfigJson"
|
|||
*/
|
||||
export default interface LineRenderingConfigJson {
|
||||
/**
|
||||
* The color for way-elements and SVG-elements.
|
||||
* question: What color should lines be drawn in?
|
||||
*
|
||||
* For an area, this will be the colour of the outside line.
|
||||
* If the value starts with "--", the style of the body element will be queried for the corresponding variable instead
|
||||
*
|
||||
* types: dynamic value ; string
|
||||
* title: Line Colour
|
||||
* inline: The line colour always is <b>{value}</b>
|
||||
* ifunset: Round ending
|
||||
* type: color
|
||||
*
|
||||
*/
|
||||
color?: string | TagRenderingConfigJson
|
||||
color?: MinimalTagRenderingConfigJson | string
|
||||
/**
|
||||
* question: How wide should the line be?
|
||||
* The stroke-width for way-elements
|
||||
*
|
||||
* types: dynamic value ; string
|
||||
* title: Line width
|
||||
* inline: The line width is <b>{value} pixels</b>
|
||||
* type: pnat
|
||||
* ifunset: Use the default-linewidth of 7 pixels
|
||||
*/
|
||||
width?: string | number | TagRenderingConfigJson
|
||||
width?: MinimalTagRenderingConfigJson | number | string
|
||||
|
||||
/**
|
||||
* A dasharray, e.g. "5 6"
|
||||
* The dasharray defines 'pixels of line, pixels of gap, pixels of line, pixels of gap',
|
||||
* Default value: "" (empty string == full line)
|
||||
* question: Should a dasharray be used to render the lines?
|
||||
* The dasharray defines 'pixels of line, pixels of gap, pixels of line, pixels of gap, ...'. For example, `5 6` will be 5 pixels of line followed by a 6 pixel gap.
|
||||
* Cannot be a dynamic property due to a mapbox limitation
|
||||
* ifunset: Ways are rendered with a full line
|
||||
*/
|
||||
dashArray?: string | TagRenderingConfigJson
|
||||
dashArray?: string
|
||||
|
||||
/**
|
||||
* The form at the end of a line
|
||||
*/
|
||||
lineCap?: "round" | "square" | "butt" | string | TagRenderingConfigJson
|
||||
* question: What form should the line-ending have?
|
||||
* suggestions: return [{if:"value=round",then:"Round endings"}, {if: "value=square", then: "square endings"}, {if: "value=butt", then: "no ending (square ending at the end, without padding)"}]
|
||||
* types: dynamic value ; string
|
||||
* title: Line Cap
|
||||
* ifunset: Use the default value (round ending)
|
||||
**/
|
||||
lineCap?: "round" | "square" | "butt" | string | MinimalTagRenderingConfigJson
|
||||
|
||||
/**
|
||||
* The color to fill a polygon with.
|
||||
* If undefined, this will be slightly more opaque version of the stroke line.
|
||||
* Use '#00000000' to make the fill invisible
|
||||
* question: What colour should be used as fill colour for polygons?
|
||||
* ifunset: The polygon fill colour will be a more transparent version of the stroke colour
|
||||
* suggestions: return [{if: "value=#00000000", then: "Use a transparent fill (only render the outline)"}]
|
||||
* inline: The fill colour is <b>{value}</b>
|
||||
* types: dynamic value ; string
|
||||
* type: color
|
||||
*/
|
||||
fillColor?: string | TagRenderingConfigJson
|
||||
fillColor?: string | MinimalTagRenderingConfigJson
|
||||
|
||||
/**
|
||||
* question: Should the lines be moved (offsetted) with a number of pixels against the geographical lines?
|
||||
* The number of pixels this line should be moved.
|
||||
* Use a positive numbe to move to the right, a negative to move to the left (left/right as defined by the drawing direction of the line).
|
||||
* Use a positive number to move to the right in the drawing direction or a negative to move to the left (left/right as defined by the drawing direction of the line).
|
||||
*
|
||||
* IMPORTANT: MapComplete will already normalize 'key:both:property' and 'key:both' into the corresponding 'key:left' and 'key:right' tagging (same for 'sidewalk=left/right/both' which is rewritten to 'sidewalk:left' and 'sidewalk:right')
|
||||
* This simplifies programming. Refer to the CalculatedTags.md-documentation for more details
|
||||
* ifunset: don't offset lines on the map
|
||||
* inline: Pixel offset by <b>{value}</b> pixels
|
||||
* types: dynamic value ; number
|
||||
* type: int
|
||||
*/
|
||||
offset?: number | TagRenderingConfigJson
|
||||
offset?: number | MinimalTagRenderingConfigJson
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
import { TagRenderingConfigJson } from "./TagRenderingConfigJson"
|
||||
import { TagConfigJson } from "./TagConfigJson"
|
||||
|
||||
export interface IconConfigJson {
|
||||
icon: string | TagRenderingConfigJson | { builtin: string; override: any }
|
||||
color?: string | TagRenderingConfigJson | { builtin: string; override: any }
|
||||
}
|
||||
|
||||
/**
|
||||
* The PointRenderingConfig gives all details onto how to render a single point of a feature.
|
||||
*
|
||||
|
@ -11,28 +16,26 @@ import { TagConfigJson } from "./TagConfigJson"
|
|||
*/
|
||||
export default interface PointRenderingConfigJson {
|
||||
/**
|
||||
* All the locations that this point should be rendered at.
|
||||
* Possible values are:
|
||||
* - `point`: only renders points at their location
|
||||
* - `centroid`: show a symbol at the centerpoint of a (multi)Linestring and (multi)polygon. Points will _not_ be rendered with this
|
||||
* - `projected_centerpoint`: Only on (multi)linestrings: calculate the centerpoint and snap it to the way
|
||||
* - `start` and `end`: only on linestrings: add a point to the first/last coordinate of the LineString
|
||||
* question: At what location should this icon be shown?
|
||||
* multianswer: true
|
||||
* suggestions: return [{if: "value=point",then: "Show an icon for point (node) objects"},{if: "value=centroid",then: "Show an icon for line or polygon (way) objects at their centroid location"}, {if: "value=start",then: "Show an icon for line (way) objects at the start"},{if: "value=end",then: "Show an icon for line (way) object at the end"},{if: "value=projected_centerpoint",then: "Show an icon for line (way) object near the centroid location, but moved onto the line"}]
|
||||
*/
|
||||
location: ("point" | "centroid" | "start" | "end" | "projected_centerpoint" | string)[]
|
||||
|
||||
/**
|
||||
* The icon for an element.
|
||||
* Note that this also doubles as the icon for this layer (rendered with the overpass-tags) ánd the icon in the presets.
|
||||
*
|
||||
* The result of the icon is rendered as follows:
|
||||
* the resulting string is interpreted as a _list_ of items, separated by ";". The bottommost layer is the first layer.
|
||||
* As a result, on could use a generic pin, then overlay it with a specific icon.
|
||||
* To make things even more practical, one can use all SVG's from the folder "assets/svg" and _substitute the color_ in it.
|
||||
* E.g. to draw a red pin, use "pin:#f00", to have a green circle with your icon on top, use `circle:#0f0;<path to my icon.svg>`
|
||||
* question: What marker should be used to
|
||||
* The icon for an element.
|
||||
* Note that this also doubles as the icon for this layer (rendered with the overpass-tags) ánd the icon in the presets.
|
||||
*
|
||||
* The result of the icon is rendered as follows:
|
||||
* the resulting string is interpreted as a _list_ of items, separated by ";". The bottommost layer is the first layer.
|
||||
* As a result, on could use a generic pin, then overlay it with a specific icon.
|
||||
* To make things even more practical, one c an use all SVG's from the folder "assets/svg" and _substitute the color_ in it.
|
||||
* E.g. to draw a red pin, use "pin:#f00", to have a green circle with your icon on top, use `circle:#0f0;<path to my icon.svg>`
|
||||
|
||||
* Type: icon
|
||||
*/
|
||||
icon?: string | TagRenderingConfigJson
|
||||
* Type: icon
|
||||
*/
|
||||
marker?: IconConfigJson[]
|
||||
|
||||
/**
|
||||
* A list of extra badges to show next to the icon as small badge
|
||||
|
@ -59,8 +62,9 @@ export default interface PointRenderingConfigJson {
|
|||
* question: What is the anchorpoint of the icon?
|
||||
*
|
||||
* This matches the geographical point with a location on the icon.
|
||||
* For example, a feature attached to the ground can use 'bottom' as zooming in will give the appearance of being anchored to a fixed location.
|
||||
*
|
||||
* ifunset: Use MapComplete-default (<b>center</b>)
|
||||
* suggestions: return [{if: "value=center", then: "Place the <b>center</b> of the icon on the geographical location"},{if: "value=top", then: "Place the <b>top</b> of the icon on the geographical location"},{if: "value=bottom", then: "Place the <b>bottom</b> of the icon on the geographical location"},{if: "value=left", then: "Place the <b>left</b> of the icon on the geographical location"},{if: "value=right", then: "Place the <b>right</b> of the icon on the geographical location"}]
|
||||
*/
|
||||
anchor?: "center" | "top" | "bottom" | "left" | "right" | string | TagRenderingConfigJson
|
||||
|
||||
|
@ -70,31 +74,52 @@ export default interface PointRenderingConfigJson {
|
|||
*/
|
||||
rotation?: string | TagRenderingConfigJson
|
||||
/**
|
||||
* A HTML-fragment that is shown below the icon, for example:
|
||||
* <div style="background: white">{name}</div>
|
||||
* question: What label should be shown beneath the marker?
|
||||
* For example: <div style="background: white">{name}</div>
|
||||
*
|
||||
* If the icon is undefined, then the label is shown in the center of the feature.
|
||||
* Note that, if the wayhandling hides the icon then no label is shown as well.
|
||||
* types: Dynamic value | string
|
||||
* inline: Always show label <b>{value}</b> beneath the marker
|
||||
*/
|
||||
label?: string | TagRenderingConfigJson
|
||||
|
||||
/**
|
||||
* A snippet of css code which is applied onto the container of the entire marker
|
||||
* question: What CSS should be applied to the entire marker?
|
||||
* You can set the css-properties here, e.g. `background: red; font-size: 12px; `
|
||||
* This will be applied to the _container_ containing both the marker and the label
|
||||
* inline: Apply CSS-style <b>{value}</b> to the _entire marker_
|
||||
* types: Dynamic value ; string
|
||||
*/
|
||||
css?: string | TagRenderingConfigJson
|
||||
|
||||
/**
|
||||
* A snippet of css-classes which are applied onto the container of the entire marker. They can be space-separated
|
||||
* question: Which CSS-classes should be applied to the entire marker?
|
||||
* This will be applied to the _container_ containing both the marker and the label
|
||||
*
|
||||
* The classes should be separated by a space (` `)
|
||||
* You can use most Tailwind-css classes, see https://tailwindcss.com/ for more information
|
||||
* For example: `center bg-gray-500 mx-2 my-1 rounded-full`
|
||||
* inline: Apply CSS-classes <b>{value}</b> to the entire container
|
||||
* types: Dynamic value ; string
|
||||
*/
|
||||
cssClasses?: string | TagRenderingConfigJson
|
||||
|
||||
/**
|
||||
* Css that is applied onto the label
|
||||
* question: What CSS should be applied to the label?
|
||||
* You can set the css-properties here, e.g. `background: red; font-size: 12px; `
|
||||
* inline: Apply CSS-style <b>{value}</b> to the label
|
||||
* types: Dynamic value ; string
|
||||
*/
|
||||
labelCss?: string | TagRenderingConfigJson
|
||||
labelCss?: TagRenderingConfigJson | string
|
||||
|
||||
/**
|
||||
* Css classes that are applied onto the label; can be space-separated
|
||||
* question: Which CSS-classes should be applied to the label?
|
||||
*
|
||||
* The classes should be separated by a space (` `)
|
||||
* You can use most Tailwind-css classes, see https://tailwindcss.com/ for more information
|
||||
* For example: `center bg-gray-500 mx-2 my-1 rounded-full`
|
||||
* inline: Apply CSS-classes <b>{value}</b> to the label
|
||||
* types: Dynamic value ; string
|
||||
*/
|
||||
labelCssClasses?: string | TagRenderingConfigJson
|
||||
|
||||
|
@ -105,7 +130,9 @@ export default interface PointRenderingConfigJson {
|
|||
pitchAlignment?: "canvas" | "map" | TagRenderingConfigJson
|
||||
|
||||
/**
|
||||
* If the map is rotated, the icon will still point to the north if no rotation was applied
|
||||
* question: Should the icon be rotated or tilted if the map is rotated or tilted?
|
||||
* ifunset: Do not rotate or tilt icons. Always keep the icons straight
|
||||
* suggestions: return [{if: "value=canvas", then: "If the map is tilted, tilt the icon as well. This gives the impression of an icon that is glued to the ground."}, {if: "value=map", then: "If the map is rotated, rotate the icon as well. This gives the impression of an icon that floats perpendicular above the ground."}]
|
||||
*/
|
||||
rotationAlignment?: "map" | "canvas" | TagRenderingConfigJson
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { TagConfigJson } from "./TagConfigJson"
|
||||
import { TagRenderingConfigJson } from "./TagRenderingConfigJson"
|
||||
import { Translatable } from "./Translatable"
|
||||
import type { Translatable } from "./Translatable"
|
||||
|
||||
export interface MappingConfigJson {
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,43 @@
|
|||
import { TagConfigJson } from "./TagConfigJson"
|
||||
import { Translatable } from "./Translatable"
|
||||
|
||||
/**
|
||||
* Mostly used for lineRendering and pointRendering
|
||||
*/
|
||||
export interface MinimalTagRenderingConfigJson {
|
||||
/**
|
||||
* question: What value should be rendered?
|
||||
*
|
||||
* This piece of text will be shown in the infobox.
|
||||
* Note that "&LBRACEkey&RBRACE"-parts are substituted by the corresponding values of the element.
|
||||
*
|
||||
* This value will be used if there is no mapping which matches (or there are no matches)
|
||||
* Note that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`
|
||||
*/
|
||||
render?: string
|
||||
/**
|
||||
* Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes
|
||||
*/
|
||||
mappings?: {
|
||||
/**
|
||||
* question: When should this single mapping match?
|
||||
*
|
||||
* If this condition is met, then the text under `then` will be shown.
|
||||
* If no value matches, and the user selects this mapping as an option, then these tags will be uploaded to OSM.
|
||||
*
|
||||
* For example: {'if': 'diet:vegetarion=yes', 'then':'A vegetarian option is offered here'}
|
||||
*
|
||||
* This can be an substituting-tag as well, e.g. {'if': 'addr:street:={_calculated_nearby_streetname}', 'then': '{_calculated_nearby_streetname}'}
|
||||
*/ if: TagConfigJson
|
||||
/**
|
||||
* question: What text should be shown?
|
||||
*
|
||||
* If the condition `if` is met, the text `then` will be rendered.
|
||||
* If not known yet, the user will be presented with `then` as an option
|
||||
*/ then: string
|
||||
}[]
|
||||
}
|
||||
|
||||
/**
|
||||
* A TagRenderingConfigJson is a single piece of code which converts one ore more tags into a HTML-snippet.
|
||||
* For an _editable_ tagRendering, use 'QuestionableTagRenderingConfigJson' instead, which extends this one
|
||||
|
|
|
@ -75,7 +75,6 @@ export default class LayerConfig extends WithContextLoader {
|
|||
const translationContext = "layers:" + json.id
|
||||
super(json, context)
|
||||
this.id = json.id
|
||||
|
||||
if (typeof json === "string") {
|
||||
throw `Not a valid layer: the layerConfig is a string. 'npm run generate:layeroverview' might be needed (at ${context})`
|
||||
}
|
||||
|
@ -295,7 +294,9 @@ export default class LayerConfig extends WithContextLoader {
|
|||
throw (
|
||||
"The layer " +
|
||||
this.id +
|
||||
" does not have any maprenderings defined and will thus not show up on the map at all. If this is intentional, set `pointRendering` and `lineRendering` to 'null' instead of '[]'"
|
||||
` does not have any maprenderings defined and will thus not show up on the map at all:
|
||||
\t ${this.lineRendering?.length} linerenderings and ${this.mapRendering?.length} pointRenderings.
|
||||
\t If this is intentional, set \`pointRendering\` and \`lineRendering\` to 'null' instead of '[]'`
|
||||
)
|
||||
} else if (
|
||||
!hasCenterRendering &&
|
||||
|
@ -403,7 +404,7 @@ export default class LayerConfig extends WithContextLoader {
|
|||
if (mapRendering === undefined) {
|
||||
return undefined
|
||||
}
|
||||
return mapRendering.GetBaseIcon(this.GetBaseTags(), { noFullWidth: true })
|
||||
return mapRendering.GetBaseIcon(this.GetBaseTags())
|
||||
}
|
||||
|
||||
public GetBaseTags(): Record<string, string> {
|
||||
|
@ -555,23 +556,12 @@ export default class LayerConfig extends WithContextLoader {
|
|||
|
||||
let iconImg: BaseUIElement = new FixedUiElement("")
|
||||
|
||||
if (Utils.runningFromConsole) {
|
||||
const icon = this.mapRendering
|
||||
.filter((mr) => mr.location.has("point"))
|
||||
.map((mr) => mr.icon?.render?.txt)
|
||||
.find((i) => i !== undefined)
|
||||
// This is for the documentation in a markdown-file, so we have to use raw HTML
|
||||
if (icon !== undefined) {
|
||||
iconImg = new FixedUiElement(
|
||||
`<img src='https://mapcomplete.org/${icon}' height="100px"> `
|
||||
)
|
||||
}
|
||||
} else {
|
||||
if (!Utils.runningFromConsole) {
|
||||
iconImg = this.mapRendering
|
||||
.filter((mr) => mr.location.has("point"))
|
||||
.map(
|
||||
(mr) =>
|
||||
mr.RenderIcon(new ImmutableStore<OsmTags>({ id: "node/-1" }), false, {
|
||||
mr.RenderIcon(new ImmutableStore<OsmTags>({ id: "node/-1" }), {
|
||||
includeBadges: false,
|
||||
}).html
|
||||
)
|
||||
|
|
|
@ -11,6 +11,27 @@ import { FixedUiElement } from "../../UI/Base/FixedUiElement"
|
|||
import Img from "../../UI/Base/Img"
|
||||
import Combine from "../../UI/Base/Combine"
|
||||
import { VariableUiElement } from "../../UI/Base/VariableUIElement"
|
||||
import { TagRenderingConfigJson } from "./Json/TagRenderingConfigJson"
|
||||
import SvelteUIElement from "../../UI/Base/SvelteUIElement"
|
||||
import Marker from "../../UI/Map/Marker.svelte"
|
||||
|
||||
export class IconConfig extends WithContextLoader {
|
||||
public readonly icon: TagRenderingConfig
|
||||
public readonly color: TagRenderingConfig
|
||||
|
||||
public static readonly defaultIcon = new IconConfig({ icon: "pin", color: "#ff9939" })
|
||||
constructor(
|
||||
config: {
|
||||
icon: string | TagRenderingConfigJson
|
||||
color?: string | TagRenderingConfigJson
|
||||
},
|
||||
context?: string
|
||||
) {
|
||||
super(config, context)
|
||||
this.icon = this.tr("icon")
|
||||
this.color = this.tr("color")
|
||||
}
|
||||
}
|
||||
|
||||
export default class PointRenderingConfig extends WithContextLoader {
|
||||
static readonly allowed_location_codes: ReadonlySet<string> = new Set<string>([
|
||||
|
@ -24,7 +45,8 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
"point" | "centroid" | "start" | "end" | "projected_centerpoint" | string
|
||||
>
|
||||
|
||||
public readonly icon?: TagRenderingConfig
|
||||
// public readonly icon?: TagRenderingConfig
|
||||
private readonly marker: IconConfig[]
|
||||
public readonly iconBadges: { if: TagsFilter; then: TagRenderingConfig }[]
|
||||
public readonly iconSize: TagRenderingConfig
|
||||
public readonly anchor: TagRenderingConfig
|
||||
|
@ -42,7 +64,7 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
super(json, context)
|
||||
|
||||
if (json === undefined || json === null) {
|
||||
throw "Invalid PointRenderingConfig: undefined or null"
|
||||
throw `At ${context}: Invalid PointRenderingConfig: undefined or null`
|
||||
}
|
||||
|
||||
if (typeof json.location === "string") {
|
||||
|
@ -60,8 +82,8 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
}
|
||||
})
|
||||
|
||||
if (json.icon === undefined && json.label === undefined) {
|
||||
throw `A point rendering should define at least an icon or a label`
|
||||
if (json.marker === undefined && json.label === undefined) {
|
||||
throw `${context}: A point rendering should define at least an icon or a marker`
|
||||
}
|
||||
|
||||
if (this.location.size == 0) {
|
||||
|
@ -71,7 +93,7 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
".location)"
|
||||
)
|
||||
}
|
||||
this.icon = this.tr("icon", undefined)
|
||||
this.marker = (json.marker ?? []).map((m) => new IconConfig(m))
|
||||
if (json.css !== undefined) {
|
||||
this.cssDef = this.tr("css", undefined)
|
||||
}
|
||||
|
@ -85,13 +107,6 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
}
|
||||
})
|
||||
|
||||
const iconPath = this.icon?.GetRenderValue({ id: "node/-1" })?.txt
|
||||
if (iconPath !== undefined && iconPath.startsWith(Utils.assets_path)) {
|
||||
const iconKey = iconPath.substr(Utils.assets_path.length)
|
||||
if (Svg.All[iconKey] === undefined) {
|
||||
throw context + ": builtin SVG asset not found: " + iconPath
|
||||
}
|
||||
}
|
||||
if (typeof json.iconSize === "string") {
|
||||
const s = json.iconSize
|
||||
if (["bottom", "top", "center"].some((e) => s.endsWith(e))) {
|
||||
|
@ -176,49 +191,11 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
}
|
||||
}
|
||||
|
||||
public GetBaseIcon(
|
||||
tags?: Record<string, string>,
|
||||
options?: {
|
||||
noFullWidth?: boolean
|
||||
}
|
||||
): BaseUIElement {
|
||||
tags = tags ?? { id: "node/-1" }
|
||||
let defaultPin: BaseUIElement = undefined
|
||||
if (this.label === undefined) {
|
||||
defaultPin = Svg.teardrop_with_hole_green_svg()
|
||||
}
|
||||
if (this.icon === undefined) {
|
||||
return defaultPin
|
||||
}
|
||||
const rotation = Utils.SubstituteKeys(
|
||||
this.rotation?.GetRenderValue(tags)?.txt ?? "0deg",
|
||||
tags
|
||||
)
|
||||
const htmlDefs = Utils.SubstituteKeys(this.icon?.GetRenderValue(tags)?.txt, tags)
|
||||
if (htmlDefs === undefined) {
|
||||
// This layer doesn't want to show an icon right now
|
||||
return undefined
|
||||
}
|
||||
if (htmlDefs.startsWith("<") && htmlDefs.endsWith(">")) {
|
||||
// This is probably already prepared HTML
|
||||
return new FixedUiElement(Utils.SubstituteKeys(htmlDefs, tags))
|
||||
}
|
||||
return PointRenderingConfig.FromHtmlMulti(htmlDefs, rotation, false, defaultPin, options)
|
||||
public GetBaseIcon(tags?: Record<string, string>): BaseUIElement {
|
||||
return new SvelteUIElement(Marker, { icons: this.marker, tags })
|
||||
}
|
||||
|
||||
public GetSimpleIcon(tags: Store<Record<string, string>>): BaseUIElement {
|
||||
const self = this
|
||||
if (this.icon === undefined) {
|
||||
return undefined
|
||||
}
|
||||
return new VariableUiElement(tags.map((tags) => self.GetBaseIcon(tags))).SetClass(
|
||||
"w-full h-full block"
|
||||
)
|
||||
}
|
||||
|
||||
public RenderIcon(
|
||||
tags: Store<Record<string, string>>,
|
||||
clickable: boolean,
|
||||
options?: {
|
||||
noSize?: false | boolean
|
||||
includeBadges?: true | boolean
|
||||
|
@ -235,7 +212,7 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
return n
|
||||
}
|
||||
|
||||
function render(tr: TagRenderingConfig, deflt?: string) {
|
||||
function render(tr: TagRenderingConfig, deflt?: string): string {
|
||||
if (tags === undefined) {
|
||||
return deflt
|
||||
}
|
||||
|
@ -267,7 +244,7 @@ export default class PointRenderingConfig extends WithContextLoader {
|
|||
anchorH = -iconH / 2
|
||||
}
|
||||
|
||||
const icon = this.GetSimpleIcon(tags)
|
||||
const icon = new SvelteUIElement(Marker, { config: this, tags }).SetClass("w-full h-full")
|
||||
let badges = undefined
|
||||
if (options?.includeBadges ?? true) {
|
||||
badges = this.GetBadges(tags)
|
||||
|
|
|
@ -52,11 +52,8 @@
|
|||
<SimpleTagInput { value } />
|
||||
|
||||
{:else if $construct !== undefined}
|
||||
{#if isBaseUIElement}
|
||||
<ToSvelte
|
||||
construct={() =>
|
||||
<ToSvelte
|
||||
construct={() =>
|
||||
new VariableUiElement(construct.mapD((construct) => construct(value, properties)))}
|
||||
/>
|
||||
|
||||
{/if}
|
||||
/>
|
||||
{/if}
|
||||
|
|
86
src/UI/Map/Icon.svelte
Normal file
86
src/UI/Map/Icon.svelte
Normal file
|
@ -0,0 +1,86 @@
|
|||
<script lang="ts">
|
||||
import { IconConfig } from "../../Models/ThemeConfig/PointRenderingConfig";
|
||||
import { Store } from "../../Logic/UIEventSource";
|
||||
import Pin from "../../assets/svg/Pin.svelte";
|
||||
import Square from "../../assets/svg/Square.svelte";
|
||||
import Circle from "../../assets/svg/Circle.svelte";
|
||||
import Checkmark from "../../assets/svg/Checkmark.svelte";
|
||||
import Clock from "../../assets/svg/Clock.svelte";
|
||||
import Close from "../../assets/svg/Close.svelte";
|
||||
import Crosshair from "../../assets/svg/Crosshair.svelte";
|
||||
import Help from "../../assets/svg/Help.svelte";
|
||||
import Home from "../../assets/svg/Home.svelte";
|
||||
import Invalid from "../../assets/svg/Invalid.svelte";
|
||||
import Location from "../../assets/svg/Location.svelte";
|
||||
import Location_empty from "../../assets/svg/Location_empty.svelte";
|
||||
import Location_locked from "../../assets/svg/Location_locked.svelte";
|
||||
import Note from "../../assets/svg/Note.svelte";
|
||||
import Resolved from "../../assets/svg/Resolved.svelte";
|
||||
import Ring from "../../assets/svg/Ring.svelte";
|
||||
import Scissors from "../../assets/svg/Scissors.svelte";
|
||||
import Teardrop from "../../assets/svg/Teardrop.svelte";
|
||||
import Teardrop_with_hole_green from "../../assets/svg/Teardrop_with_hole_green.svelte";
|
||||
import Triangle from "../../assets/svg/Triangle.svelte";
|
||||
|
||||
/**
|
||||
* Renders a single icon.
|
||||
*
|
||||
* Icons -placed on top of each other- form a 'Marker' together
|
||||
*/
|
||||
export let icon: IconConfig;
|
||||
export let tags: Store<Record<string, string>>;
|
||||
|
||||
let iconItem = icon.icon?.GetRenderValue(tags)?.txt;
|
||||
$: iconItem = icon.icon?.GetRenderValue($tags)?.txt;
|
||||
let color = icon.color?.GetRenderValue(tags)?.txt ?? "#000000";
|
||||
$: color = icon.color?.GetRenderValue($tags)?.txt ?? "#000000";
|
||||
|
||||
</script>
|
||||
|
||||
{#if iconItem}
|
||||
<div class="absolute top-0 left-0 w-full h-full">
|
||||
{#if iconItem === "pin"}
|
||||
<Pin {color} />
|
||||
{:else if iconItem === "square"}
|
||||
<Square {color} />
|
||||
{:else if iconItem === "circle"}
|
||||
<Circle {color} />
|
||||
{:else if iconItem === "checkmark"}
|
||||
<Checkmark {color} />
|
||||
{:else if iconItem === "clock"}
|
||||
<Clock {color} />
|
||||
{:else if iconItem === "close"}
|
||||
<Close {color} />
|
||||
{:else if iconItem === "crosshair"}
|
||||
<Crosshair {color} />
|
||||
{:else if iconItem === "help"}
|
||||
<Help {color} />
|
||||
{:else if iconItem === "home"}
|
||||
<Home {color} />
|
||||
{:else if iconItem === "invalid"}
|
||||
<Invalid {color} />
|
||||
{:else if iconItem === "location"}
|
||||
<Location {color} />
|
||||
{:else if iconItem === "location_empty"}
|
||||
<Location_empty {color} />
|
||||
{:else if iconItem === "location_locked"}
|
||||
<Location_locked {color} />
|
||||
{:else if iconItem === "note"}
|
||||
<Note {color} />
|
||||
{:else if iconItem === "resolved"}
|
||||
<Resolved {color} />
|
||||
{:else if iconItem === "ring"}
|
||||
<Ring {color} />
|
||||
{:else if iconItem === "scissors"}
|
||||
<Scissors {color} />
|
||||
{:else if iconItem === "teardrop"}
|
||||
<Teardrop {color} />
|
||||
{:else if iconItem === "teardrop_with_hole_green"}
|
||||
<Teardrop_with_hole_green {color} />
|
||||
{:else if iconItem === "triangle"}
|
||||
<Triangle {color} />
|
||||
{:else}
|
||||
<img class="w-full h-full" src={iconItem} />
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
20
src/UI/Map/Marker.svelte
Normal file
20
src/UI/Map/Marker.svelte
Normal file
|
@ -0,0 +1,20 @@
|
|||
<script lang="ts">
|
||||
|
||||
import PointRenderingConfig, { IconConfig } from "../../Models/ThemeConfig/PointRenderingConfig";
|
||||
import Icon from "./Icon.svelte";
|
||||
import { Store } from "../../Logic/UIEventSource";
|
||||
|
||||
/**
|
||||
* Renders a 'marker', which consists of multiple 'icons'
|
||||
*/
|
||||
export let config : PointRenderingConfig
|
||||
let icons: IconConfig[] = config.marker;
|
||||
export let tags: Store<Record<string, string>>;
|
||||
|
||||
</script>
|
||||
|
||||
<div class="relative w-full h-full">
|
||||
{#each icons as icon}
|
||||
<Icon {icon} {tags} />
|
||||
{/each}
|
||||
</div>
|
|
@ -142,7 +142,7 @@ class PointRenderingLayer {
|
|||
} else {
|
||||
store = new ImmutableStore(<OsmTags>feature.properties)
|
||||
}
|
||||
const { html, iconAnchor } = this._config.RenderIcon(store, true)
|
||||
const { html, iconAnchor } = this._config.RenderIcon(store)
|
||||
html.SetClass("marker")
|
||||
if (this._onClick !== undefined) {
|
||||
html.SetClass("cursor-pointer")
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
const tags = TagUtils.KVtoProperties(preset.tags ?? [])
|
||||
|
||||
const icon: string = layer.mapRendering[0]
|
||||
.RenderIcon(new ImmutableStore<any>(tags), false)
|
||||
.RenderIcon(new ImmutableStore<any>(tags))
|
||||
.html.SetClass("w-12 h-12 block relative")
|
||||
.ConstructElement().innerHTML
|
||||
|
||||
|
|
43
src/UI/Studio/ArrayMultiAnswer.svelte
Normal file
43
src/UI/Studio/ArrayMultiAnswer.svelte
Normal file
|
@ -0,0 +1,43 @@
|
|||
<script lang="ts">
|
||||
import type { ConfigMeta } from "./configMeta";
|
||||
import EditLayerState from "./EditLayerState";
|
||||
import type { QuestionableTagRenderingConfigJson } from "../../Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson";
|
||||
import { UIEventSource } from "../../Logic/UIEventSource";
|
||||
import TagRenderingEditable from "../Popup/TagRendering/TagRenderingEditable.svelte";
|
||||
import LayerConfig from "../../Models/ThemeConfig/LayerConfig";
|
||||
import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig";
|
||||
|
||||
export let schema: ConfigMeta;
|
||||
export let state: EditLayerState;
|
||||
export let path: (string | number)[] = [];
|
||||
|
||||
const configJson: QuestionableTagRenderingConfigJson = {
|
||||
mappings: schema.hints.suggestions,
|
||||
multiAnswer: true,
|
||||
id: "multi_anwser_"+path.join("_"),
|
||||
question: schema.hints.question
|
||||
}
|
||||
const tags = new UIEventSource({})
|
||||
|
||||
{
|
||||
// Setting the initial value
|
||||
const v = <string[]> state.getCurrentValueFor(path)
|
||||
if(v && v.length > 0){
|
||||
tags.setData({value: v.join(";")})
|
||||
}
|
||||
}
|
||||
|
||||
tags.addCallbackD(tags => {
|
||||
const values = tags["value"]?.split(";")
|
||||
if(!values){
|
||||
return
|
||||
}
|
||||
state.setValueAt(path, values)
|
||||
})
|
||||
|
||||
const config = new TagRenderingConfig(configJson)
|
||||
</script>
|
||||
|
||||
<div>
|
||||
<TagRenderingEditable {config} selectedElement={undefined} showQuestionIfUnknown={true} {state} {tags} />
|
||||
</div>
|
|
@ -58,7 +58,8 @@
|
|||
|
||||
<div slot="title2">Rendering on the map</div>
|
||||
<div slot="content2">
|
||||
<Region configs={perRegion["maprendering"]} {state} />
|
||||
<Region configs={perRegion["linerendering"]} {state} />
|
||||
<Region configs={perRegion["pointrendering"]} {state} />
|
||||
</div>
|
||||
<div slot="title3">Configuration file</div>
|
||||
<div slot="content3">
|
||||
|
|
|
@ -120,21 +120,20 @@ export default class EditLayerState {
|
|||
}
|
||||
|
||||
public setValueAt(path: ReadonlyArray<string | number>, v: any) {
|
||||
{
|
||||
let entry = this.configuration.data
|
||||
for (let i = 0; i < path.length - 1; i++) {
|
||||
const breadcrumb = path[i]
|
||||
if (entry[breadcrumb] === undefined) {
|
||||
entry[breadcrumb] = typeof path[i + 1] === "number" ? [] : {}
|
||||
}
|
||||
entry = entry[breadcrumb]
|
||||
let entry = this.configuration.data
|
||||
console.log("Setting value", v, "to", path, "in entry", entry)
|
||||
for (let i = 0; i < path.length - 1; i++) {
|
||||
const breadcrumb = path[i]
|
||||
if (entry[breadcrumb] === undefined) {
|
||||
entry[breadcrumb] = typeof path[i + 1] === "number" ? [] : {}
|
||||
}
|
||||
if (v) {
|
||||
entry[path.at(-1)] = v
|
||||
} else if (entry) {
|
||||
delete entry[path.at(-1)]
|
||||
}
|
||||
this.configuration.ping()
|
||||
entry = entry[breadcrumb]
|
||||
}
|
||||
if (v) {
|
||||
entry[path.at(-1)] = v
|
||||
} else if (entry) {
|
||||
delete entry[path.at(-1)]
|
||||
}
|
||||
this.configuration.ping()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,8 +23,10 @@
|
|||
export let path: (string | number)[] = [];
|
||||
const isTagRenderingBlock = path.length === 1 && path[0] === "tagRenderings";
|
||||
|
||||
const subparts = state.getSchemaStartingWith(schema.path);
|
||||
|
||||
|
||||
const subparts: ConfigMeta = state.getSchemaStartingWith(schema.path)
|
||||
.filter(part => part.path.length - 1 === schema.path.length);
|
||||
console.log("For ", schema.path, "got subparts", subparts)
|
||||
/**
|
||||
* Store the _indices_
|
||||
*/
|
||||
|
|
|
@ -100,28 +100,33 @@
|
|||
startValue = JSON.stringify(startValue)
|
||||
}
|
||||
const tags = new UIEventSource<Record<string, string>>({value: startValue ?? ""})
|
||||
onDestroy(state.register(path, tags.map(tgs => {
|
||||
const v = tgs["value"];
|
||||
if (schema.type === "boolan") {
|
||||
return v === "true" || v === "yes" || v === "1"
|
||||
}
|
||||
if (schema.type === "number") {
|
||||
return Number(v)
|
||||
}
|
||||
if(isTranslation) {
|
||||
if(v === ""){
|
||||
return {}
|
||||
try {
|
||||
onDestroy(state.register(path, tags.map(tgs => {
|
||||
const v = tgs["value"];
|
||||
if (schema.type === "boolan") {
|
||||
return v === "true" || v === "yes" || v === "1"
|
||||
}
|
||||
return JSON.parse(v)
|
||||
}
|
||||
return v
|
||||
}), isTranslation))
|
||||
if (schema.type === "number") {
|
||||
return Number(v)
|
||||
}
|
||||
if (isTranslation) {
|
||||
if (v === "") {
|
||||
return {}
|
||||
}
|
||||
return JSON.parse(v)
|
||||
}
|
||||
return v
|
||||
}), isTranslation))
|
||||
}catch (e) {
|
||||
console.error("Could not register", path,"due to",e)
|
||||
}
|
||||
</script>
|
||||
|
||||
{#if err !== undefined}
|
||||
<span class="alert">{err}</span>
|
||||
{:else}
|
||||
<div class="w-full flex flex-col">
|
||||
<span class="subtle">{path.join(".")}</span>
|
||||
<TagRenderingEditable {config} selectedElement={undefined} showQuestionIfUnknown={true} {state} {tags}/>
|
||||
</div>
|
||||
{/if}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
import SchemaBasedMultiType from "./SchemaBasedMultiType.svelte";
|
||||
import SchemaBasedTranslationInput from "./SchemaBasedTranslationInput.svelte";
|
||||
import { ConfigMetaUtils } from "./configMeta.ts"
|
||||
import ArrayMultiAnswer from "./ArrayMultiAnswer.svelte";
|
||||
export let schema: ConfigMeta;
|
||||
export let state: EditLayerState;
|
||||
export let path: (string | number)[] = [];
|
||||
|
@ -14,6 +15,8 @@
|
|||
{#if schema.hints.typehint === "tagrendering[]"}
|
||||
<!-- We cheat a bit here by matching this 'magical' type... -->
|
||||
<SchemaBasedArray {path} {state} {schema} />
|
||||
{:else if schema.type === "array" && schema.hints.multianswer === "true"}
|
||||
<ArrayMultiAnswer {path} {state} {schema}/>
|
||||
{:else if schema.type === "array"}
|
||||
<SchemaBasedArray {path} {state} {schema} />
|
||||
{:else if schema.hints.types}
|
||||
|
|
|
@ -29,49 +29,81 @@
|
|||
types.splice(hasBooleanOption);
|
||||
}
|
||||
|
||||
let lastIsString = false;
|
||||
{
|
||||
const types: string | string[] = Array.isArray(schema.type) ? schema.type[schema.type.length - 1].type : [];
|
||||
lastIsString = types === "string" || (Array.isArray(types) && types.some(i => i === "string"));
|
||||
}
|
||||
|
||||
if (lastIsString) {
|
||||
types.splice(types.length - 1, 1);
|
||||
}
|
||||
const configJson: QuestionableTagRenderingConfigJson = {
|
||||
id: "TYPE_OF:" + path.join("_"),
|
||||
question: "Which subcategory is needed?",
|
||||
question: "Which subcategory is needed for "+schema.path.at(-1)+"?",
|
||||
questionHint: nmd(schema.description),
|
||||
mappings: types.map(opt => opt.trim()).filter(opt => opt.length > 0).map((opt, i) => ({
|
||||
if: "value=" + i,
|
||||
addExtraTags: ["direct="],
|
||||
if: "chosen_type_index=" + i,
|
||||
addExtraTags: ["value="],
|
||||
then: opt + (i === defaultOption ? " (Default)" : "")
|
||||
}))
|
||||
})),
|
||||
render: !lastIsString ? undefined : (schema.hints.inline ?? "Use a hardcoded value: <b>{value}</b>"),
|
||||
freeform: !lastIsString ? undefined : {
|
||||
key: "value",
|
||||
inline: true,
|
||||
type: schema.hints.typehint,
|
||||
addExtraTags: ["chosen_type_index="]
|
||||
}
|
||||
};
|
||||
let tags = new UIEventSource<Record<string, string>>({});
|
||||
|
||||
if (schema.hints.ifunset) {
|
||||
configJson.mappings.push(
|
||||
{
|
||||
if: { and: ["value=", "chosen_type_index="] },
|
||||
then: schema.hints.ifunset
|
||||
}
|
||||
);
|
||||
}
|
||||
if (schema.hints.suggestions) {
|
||||
configJson.mappings.push(...schema.hints.suggestions);
|
||||
}
|
||||
|
||||
if (hasBooleanOption >= 0) {
|
||||
configJson.mappings.unshift(
|
||||
{
|
||||
if: "direct=true",
|
||||
if: "value=true",
|
||||
then: (schema.hints.iftrue ?? "Yes"),
|
||||
addExtraTags: ["value="]
|
||||
addExtraTags: ["chosen_type_index="]
|
||||
},
|
||||
{
|
||||
if: "direct=false",
|
||||
if: "value=false",
|
||||
then: (schema.hints.iffalse ?? "No"),
|
||||
addExtraTags: ["value="]
|
||||
addExtraTags: ["chosen_type_index="]
|
||||
}
|
||||
);
|
||||
}
|
||||
const config = new TagRenderingConfig(configJson, "config based on " + schema.path.join("."));
|
||||
let chosenOption: number = defaultOption;
|
||||
|
||||
|
||||
const existingValue = state.getCurrentValueFor(path);
|
||||
console.log("Setting direct: ", hasBooleanOption, path.join("."), existingValue);
|
||||
console.log("Initial value is", existingValue);
|
||||
if (hasBooleanOption >= 0 && (existingValue === true || existingValue === false)) {
|
||||
tags.setData({ direct: "" + existingValue });
|
||||
tags.setData({ value: "" + existingValue });
|
||||
} else if (lastIsString && typeof existingValue === "string") {
|
||||
tags.setData({ value: existingValue });
|
||||
chosenOption = undefined;
|
||||
} else if (existingValue) {
|
||||
// We found an existing value. Let's figure out what type it matches and select that one
|
||||
// We run over all possibilities and check what is required
|
||||
const possibleTypes: { index: number, matchingPropertiesCount: number, optionalMatches: number }[] = [];
|
||||
outer: for (let i = 0; i < (<[]>schema.type).length; i++) {
|
||||
const type = schema.type[i];
|
||||
let optionalMatches = 0
|
||||
let optionalMatches = 0;
|
||||
for (const key of Object.keys(type.properties ?? {})) {
|
||||
if(!!existingValue[key]){
|
||||
optionalMatches++
|
||||
if (!!existingValue[key]) {
|
||||
optionalMatches++;
|
||||
}
|
||||
}
|
||||
if (type.required) {
|
||||
|
@ -85,51 +117,56 @@
|
|||
}
|
||||
numberOfMatches++;
|
||||
}
|
||||
possibleTypes.push({ index: i, matchingPropertiesCount: numberOfMatches , optionalMatches});
|
||||
possibleTypes.push({ index: i, matchingPropertiesCount: numberOfMatches, optionalMatches });
|
||||
} else {
|
||||
possibleTypes.push({ index: i, matchingPropertiesCount: 0, optionalMatches });
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
possibleTypes.sort((a, b) => b.optionalMatches - a.optionalMatches);
|
||||
possibleTypes.sort((a, b) => b.matchingPropertiesCount - a.matchingPropertiesCount);
|
||||
if (possibleTypes.length > 0) {
|
||||
tags.setData({ value: "" + possibleTypes[0].index });
|
||||
tags.setData({ chosen_type_index: "" + possibleTypes[0].index });
|
||||
}
|
||||
} else if (defaultOption !== undefined) {
|
||||
tags.setData({ value: "" + defaultOption });
|
||||
tags.setData({ chosen_type_index: "" + defaultOption });
|
||||
}
|
||||
|
||||
if (hasBooleanOption >= 0) {
|
||||
if (hasBooleanOption >= 0 || lastIsString) {
|
||||
|
||||
const directValue = tags.mapD(tags => {
|
||||
if (tags["value"]) {
|
||||
return undefined;
|
||||
if (tags["chosen_type_index"]) {
|
||||
return "";
|
||||
}
|
||||
return tags["direct"] === "true";
|
||||
if (lastIsString) {
|
||||
return tags["value"];
|
||||
}
|
||||
return tags["value"] === "true";
|
||||
});
|
||||
onDestroy(state.register(path, directValue, true));
|
||||
}
|
||||
|
||||
let chosenOption: number = defaultOption;
|
||||
let subSchemas: ConfigMeta[] = [];
|
||||
|
||||
let subpath = path;
|
||||
|
||||
console.log("Initial chosen option is", chosenOption);
|
||||
onDestroy(tags.addCallbackAndRun(tags => {
|
||||
if (tags["value"] !== "") {
|
||||
chosenOption = undefined;
|
||||
return;
|
||||
}
|
||||
const oldOption = chosenOption;
|
||||
chosenOption = tags["value"] ? Number(tags["value"]) : defaultOption;
|
||||
chosenOption = tags["chosen_type_index"] ? Number(tags["chosen_type_index"]) : defaultOption;
|
||||
const type = schema.type[chosenOption];
|
||||
if (chosenOption !== oldOption) {
|
||||
// Reset the values beneath
|
||||
subSchemas = [];
|
||||
const o = state.getCurrentValueFor(path) ?? {}
|
||||
console.log({o})
|
||||
for(const key of type?.required ?? []){
|
||||
console.log(key)
|
||||
o[key] ??= {}
|
||||
const o = state.getCurrentValueFor(path) ?? {};
|
||||
console.log({ o });
|
||||
for (const key of type?.required ?? []) {
|
||||
console.log(key);
|
||||
o[key] ??= {};
|
||||
}
|
||||
state.setValueAt(path, o);
|
||||
}
|
||||
|
@ -152,13 +189,16 @@
|
|||
for (const crumble of Object.keys(type.properties)) {
|
||||
subSchemas.push(...(state.getSchema([...cleanPath, crumble])));
|
||||
}
|
||||
console.log("Got subschemas for", path, ":", subSchemas)
|
||||
}));
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<div class="p-2 border-2 border-dashed border-gray-300 flex flex-col gap-y-2">
|
||||
<div class="p-2 border-2 border-dashed border-gray-300 flex flex-col gap-y-2 m-1">
|
||||
{#if schema.hints.title !== undefined}
|
||||
<h3>{schema.hints.title}</h3>
|
||||
<div> {schema.description} </div>
|
||||
{/if}
|
||||
<div>
|
||||
<TagRenderingEditable {config} selectedElement={undefined} showQuestionIfUnknown={true} {state} {tags} />
|
||||
</div>
|
||||
|
|
|
@ -18,6 +18,8 @@ export interface ConfigMeta {
|
|||
default?: string
|
||||
typesdefault?: string
|
||||
suggestions?: []
|
||||
title?: string
|
||||
multianswer?: "true" | string
|
||||
}
|
||||
required: boolean
|
||||
description: string
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -15,7 +15,7 @@
|
|||
"question": "What are common options?"
|
||||
},
|
||||
"type": "array",
|
||||
"description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes\n"
|
||||
"description": "Allows fixed-tag inputs, shown either as radiobuttons or as checkboxes"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -49,7 +49,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nIf in 'question'-mode and the contributor selects this option, these tags will be applied to the object"
|
||||
"description": "If in 'question'-mode and the contributor selects this option, these tags will be applied to the object"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -103,7 +103,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nThis icon will only be shown if the value is known, it is not displayed in the options (but might be in the future)\n"
|
||||
"description": "This icon will only be shown if the value is known, it is not displayed in the options (but might be in the future)"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -155,7 +155,7 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"description": "\nIn some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\n\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\n\nTo demonstrate an example making a default assumption:\n\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\n\n\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\n\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\n\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n\n ]\n}\n\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}"
|
||||
"description": "In some cases, multiple taggings exist (e.g. a default assumption, or a commonly mapped abbreviation and a fully written variation).\nIn the latter case, a correct text should be shown, but only a single, canonical tagging should be selectable by the user.\nIn this case, one of the mappings can be hiden by setting this flag.\nTo demonstrate an example making a default assumption:\nmappings: [\n {\n if: \"access=\", -- no access tag present, we assume accessible\n then: \"Accessible to the general public\",\n hideInAnswer: true\n },\n {\n if: \"access=yes\",\n then: \"Accessible to the general public\", -- the user selected this, we add that to OSM\n },\n {\n if: \"access=no\",\n then: \"Not accessible to the public\"\n }\n]\nFor example, for an operator, we have `operator=Agentschap Natuur en Bos`, which is often abbreviated to `operator=ANB`.\nThen, we would add two mappings:\n{\n if: \"operator=Agentschap Natuur en Bos\" -- the non-abbreviated version which should be uploaded\n then: \"Maintained by Agentschap Natuur en Bos\"\n},\n{\n if: \"operator=ANB\", -- we don't want to upload abbreviations\n then: \"Maintained by Agentschap Natuur en Bos\"\n hideInAnswer: true\n}\nHide in answer can also be a tagsfilter, e.g. to make sure an option is only shown when appropriate.\nKeep in mind that this is reverse logic: it will be hidden in the answer if the condition is true, it will thus only show in the case of a mismatch\ne.g., for toilets: if \"wheelchair=no\", we know there is no wheelchair dedicated room.\nFor the location of the changing table, the option \"in the wheelchair accessible toilet is weird\", so we write:\n{\n \"question\": \"Where is the changing table located?\"\n \"mappings\": [\n {\"if\":\"changing_table:location=female\",\"then\":\"In the female restroom\"},\n {\"if\":\"changing_table:location=male\",\"then\":\"In the male restroom\"},\n {\"if\":\"changing_table:location=wheelchair\",\"then\":\"In the wheelchair accessible restroom\", \"hideInAnswer\": \"wheelchair=no\"},\n ]\n}\nAlso have a look for the meta-tags\n{\n if: \"operator=Agentschap Natuur en Bos\",\n then: \"Maintained by Agentschap Natuur en Bos\",\n hideInAnswer: \"_country!=be\"\n}"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -189,7 +189,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -223,7 +223,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -245,7 +245,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nOnly applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`"
|
||||
"description": "Only applicable if 'multiAnswer' is set.\nThis is for situations such as:\n`accepts:coins=no` where one can select all the possible payment methods. However, we want to make explicit that some options _were not_ selected.\nThis can be done with `ifnot`\nNote that we can not explicitly render this negative case to the user, we cannot show `does _not_ accept coins`.\nIf this is important to your usecase, consider using multiple radiobutton-fields without `multiAnswer`"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -279,7 +279,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -313,7 +313,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -326,7 +326,7 @@
|
|||
"question": "What extra tags should be added to the object if this object is chosen?"
|
||||
},
|
||||
"type": "array",
|
||||
"description": "\nIf chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\n\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```"
|
||||
"description": "If chosen as answer, these tags will be applied onto the object, together with the tags from the `if`\nNot compatible with multiAnswer.\nThis can be used e.g. to erase other keys which indicate the 'not' value:\n```json\n{\n \"if\": \"crossing:marking=rainbow\",\n \"then\": \"This is a rainbow crossing\",\n \"addExtraTags\": [\"not:crossing:marking=\"]\n}\n```"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -339,7 +339,7 @@
|
|||
"question": "If there are many options, what search terms match too?"
|
||||
},
|
||||
"type": "object",
|
||||
"description": "If there are many options, the mappings-radiobuttons will be replaced by an element with a searchfunction\n\nSearchterms (per language) allow to easily find an option if there are many options"
|
||||
"description": "If there are many options, the mappings-radiobuttons will be replaced by an element with a searchfunction\nSearchterms (per language) allow to easily find an option if there are many options"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -395,7 +395,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -429,7 +429,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -441,7 +441,7 @@
|
|||
"group": "hidden"
|
||||
},
|
||||
"type": "string",
|
||||
"description": "Used for comments or to disable a validation\n\nignore-image-in-then: normally, a `then`-clause is not allowed to have an `img`-html-element as icons are preferred. In some cases (most notably title-icons), this is allowed"
|
||||
"description": "Used for comments or to disable a validation\nignore-image-in-then: normally, a `then`-clause is not allowed to have an `img`-html-element as icons are preferred. In some cases (most notably title-icons), this is allowed"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -455,7 +455,7 @@
|
|||
"ifunset": "only allow to select a single mapping"
|
||||
},
|
||||
"type": "boolean",
|
||||
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\n"
|
||||
"description": "If true, use checkboxes instead of radio buttons when asking the question"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -605,7 +605,7 @@
|
|||
"ifunset": "show the freeform input field full-width"
|
||||
},
|
||||
"type": "boolean",
|
||||
"description": "Instead of showing a full-width text field, the text field will be shown within the rendering of the question.\n\nThis combines badly with special input elements, as it'll distort the layout."
|
||||
"description": "Instead of showing a full-width text field, the text field will be shown within the rendering of the question.\nThis combines badly with special input elements, as it'll distort the layout."
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -634,7 +634,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nA question is presented ot the user if no mapping matches and the 'freeform' key is not set as well.\n"
|
||||
"description": "A question is presented ot the user if no mapping matches and the 'freeform' key is not set as well."
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -707,7 +707,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis text will be shown if:\n- there is no mapping which matches (or there are no matches)\n- no question, no mappings and no 'freeform' is set\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
|
||||
"description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis text will be shown if:\n- there is no mapping which matches (or there are no matches)\n- no question, no mappings and no 'freeform' is set\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -782,7 +782,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```"
|
||||
"description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -815,7 +815,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -848,7 +848,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -869,7 +869,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nIf set, this tag will be evaluated agains the _usersettings/application state_ table.\nEnable 'show debug info' in user settings to see available options.\nNote that values with an underscore depicts _application state_ (including metainfo about the user) whereas values without an underscore depict _user settings_"
|
||||
"description": "If set, this tag will be evaluated agains the _usersettings/application state_ table.\nEnable 'show debug info' in user settings to see available options.\nNote that values with an underscore depicts _application state_ (including metainfo about the user) whereas values without an underscore depict _user settings_"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -902,7 +902,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -935,7 +935,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -962,6 +962,6 @@
|
|||
"question": "What css-classes should be applied to showing this attribute?"
|
||||
},
|
||||
"type": "string",
|
||||
"description": "\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)"
|
||||
"description": "A list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\nValues are split on ` ` (space)"
|
||||
}
|
||||
]
|
|
@ -49,7 +49,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis text will be shown if:\n- there is no mapping which matches (or there are no matches)\n- no question, no mappings and no 'freeform' is set\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
|
||||
"description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis text will be shown if:\n- there is no mapping which matches (or there are no matches)\n- no question, no mappings and no 'freeform' is set\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -124,7 +124,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nOnly show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\n\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\n\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```"
|
||||
"description": "Only show this tagrendering (or ask the question) if the selected object also matches the tags specified as `condition`.\nThis is useful to ask a follow-up question.\nFor example, within toilets, asking _where_ the diaper changing table is is only useful _if_ there is one.\nThis can be done by adding `\"condition\": \"changing_table=yes\"`\nA full example would be:\n```json\n {\n \"question\": \"Where is the changing table located?\",\n \"render\": \"The changing table is located at {changing_table:location}\",\n \"condition\": \"changing_table=yes\",\n \"freeform\": {\n \"key\": \"changing_table:location\",\n \"inline\": true\n },\n \"mappings\": [\n {\n \"then\": \"The changing table is in the toilet for women.\",\n \"if\": \"changing_table:location=female_toilet\"\n },\n {\n \"then\": \"The changing table is in the toilet for men.\",\n \"if\": \"changing_table:location=male_toilet\"\n },\n {\n \"if\": \"changing_table:location=wheelchair_toilet\",\n \"then\": \"The changing table is in the toilet for wheelchair users.\",\n },\n {\n \"if\": \"changing_table:location=dedicated_room\",\n \"then\": \"The changing table is in a dedicated room. \",\n }\n ],\n \"id\": \"toilet-changing_table:location\"\n },\n```"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -157,7 +157,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -190,7 +190,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -211,7 +211,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nIf set, this tag will be evaluated agains the _usersettings/application state_ table.\nEnable 'show debug info' in user settings to see available options.\nNote that values with an underscore depicts _application state_ (including metainfo about the user) whereas values without an underscore depict _user settings_"
|
||||
"description": "If set, this tag will be evaluated agains the _usersettings/application state_ table.\nEnable 'show debug info' in user settings to see available options.\nNote that values with an underscore depicts _application state_ (including metainfo about the user) whereas values without an underscore depict _user settings_"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -244,7 +244,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -277,7 +277,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n"
|
||||
"description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -342,7 +342,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nIf this condition is met, then the text under `then` will be shown.\nIf no value matches, and the user selects this mapping as an option, then these tags will be uploaded to OSM.\n\nFor example: {'if': 'diet:vegetarion=yes', 'then':'A vegetarian option is offered here'}\n\nThis can be an substituting-tag as well, e.g. {'if': 'addr:street:={_calculated_nearby_streetname}', 'then': '{_calculated_nearby_streetname}'}"
|
||||
"description": "If this condition is met, then the text under `then` will be shown.\nIf no value matches, and the user selects this mapping as an option, then these tags will be uploaded to OSM.\nFor example: {'if': 'diet:vegetarion=yes', 'then':'A vegetarian option is offered here'}\nThis can be an substituting-tag as well, e.g. {'if': 'addr:street:={_calculated_nearby_streetname}', 'then': '{_calculated_nearby_streetname}'}"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -362,7 +362,7 @@
|
|||
"type": "string"
|
||||
}
|
||||
],
|
||||
"description": "\nIf the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
|
||||
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
|
||||
},
|
||||
{
|
||||
"path": [
|
||||
|
@ -447,6 +447,6 @@
|
|||
"question": "What css-classes should be applied to showing this attribute?"
|
||||
},
|
||||
"type": "string",
|
||||
"description": "\nA list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\n\nValues are split on ` ` (space)"
|
||||
"description": "A list of css-classes to apply to the entire tagRendering.\nThese classes are applied in 'answer'-mode, not in question mode\nThis is only for advanced users.\nValues are split on ` ` (space)"
|
||||
}
|
||||
]
|
4
src/assets/svg/Add.svelte
Normal file
4
src/assets/svg/Add.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="303px" height="374px" viewBox="0 0 303 374" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(43.921569%,77.254903%,28.627452%);fill-opacity:1;" d="M 163.890625 344.988281 C 158.277344 356.675781 141.632812 356.675781 136.019531 344.988281 L 41.4375 148.097656 C 36.507812 137.839844 43.988281 125.953125 55.375 125.953125 L 244.535156 125.953125 C 255.917969 125.953125 263.398438 137.839844 258.46875 148.097656 Z M 163.890625 344.988281 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(43.921569%,77.254903%,28.627452%);fill-opacity:1;" d="M 303 151.453125 C 303 235.101562 235.171875 302.910156 151.5 302.910156 C 67.828125 302.910156 0 235.101562 0 151.453125 C 0 67.808594 67.828125 0 151.5 0 C 235.171875 0 303 67.808594 303 151.453125 Z M 303 151.453125 "/> <path style="fill: none !important;stroke-width:7.514114;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 22.101015 291.358766 L 5.785842 275.043593 " transform="matrix(4.837809,-4.836357,4.837809,4.836357,-1287.063942,-1153.71106)"/> <path style="fill: none !important;stroke-width:7.514114;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 22.125279 274.965231 L 5.810459 291.28005 " transform="matrix(4.837809,-4.836357,4.837809,4.836357,-1287.063942,-1153.71106)"/> </g> </svg>
|
4
src/assets/svg/AddSmall.svelte
Normal file
4
src/assets/svg/AddSmall.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill-rule:nonzero;fill:rgb(21.568628%,83.92157%,28.627452%);fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(37.64706%,37.64706%,37.64706%);stroke-opacity:1;stroke-miterlimit:4;" d="M 98 49.021438 C 98 76.083729 76.062292 98.021438 49 98.021438 C 21.937708 98.021438 0 76.083729 0 49.021438 C 0 21.959146 21.937708 0.0214375 49 0.0214375 C 76.062292 0.0214375 98 21.959146 98 49.021438 Z M 98 49.021438 " transform="matrix(3.826531,0,0,3.826531,0,0)"/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 185.398438 53.390625 C 176.808594 53.523438 168.636719 57.125 162.738281 63.378906 C 157.074219 69.394531 153.96875 77.378906 154.085938 85.640625 L 154.085938 152.132812 L 88.527344 152.132812 C 79.929688 152.011719 71.644531 155.371094 65.566406 161.453125 C 56.40625 170.613281 53.710938 184.414062 58.761719 196.347656 C 63.808594 208.28125 75.585938 215.960938 88.539062 215.765625 L 154.085938 215.765625 L 154.085938 281.003906 C 153.898438 292.488281 159.917969 303.183594 169.835938 308.984375 C 179.753906 314.785156 192.027344 314.785156 201.945312 308.992188 C 211.863281 303.199219 217.890625 292.503906 217.707031 281.019531 L 217.707031 215.765625 L 283.894531 215.765625 C 295.296875 215.820312 305.855469 209.769531 311.574219 199.90625 C 317.292969 190.042969 317.296875 177.871094 311.582031 168.007812 C 305.871094 158.140625 295.3125 152.085938 283.910156 152.132812 L 217.703125 152.132812 L 217.703125 85.640625 C 217.820312 77.042969 214.453125 68.765625 208.367188 62.6875 C 202.28125 56.613281 193.996094 53.261719 185.398438 53.390625 Z M 185.398438 53.390625 "/> </g> </svg>
|
4
src/assets/svg/Add_pin.svelte
Normal file
4
src/assets/svg/Add_pin.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="303px" height="374px" viewBox="0 0 303 374" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(43.921569%,77.254903%,28.627452%);fill-opacity:1;" d="M 151.5 0 C 67.828125 0 0 67.808594 0 151.453125 C 0.0742188 203.539062 26.914062 251.933594 71.0625 279.589844 C 83.773438 287.726562 98.976562 305.320312 111.8125 321.363281 C 125.679688 338.699219 133.386719 374.292969 150.203125 374.5625 C 167.015625 374.292969 174.730469 338.699219 188.597656 321.363281 C 199.703125 307.480469 211.496094 292.414062 224.496094 283.984375 C 272.859375 257.398438 302.933594 206.628906 303 151.453125 C 303 67.808594 235.171875 0 151.5 0 Z M 151.5 0 "/> </g> </svg>
|
4
src/assets/svg/Back.svelte
Normal file
4
src/assets/svg/Back.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:5.291667;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 14.287499 23.618748 L 4.143209 13.229167 L 14.287499 2.871556 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,0)"/> <path style="fill: none !important;stroke-width:3.96875;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 5.532271 13.229167 C 12.346946 13.21704 23.467714 13.190031 23.8125 13.200504 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,0)"/> </g> </svg>
|
4
src/assets/svg/Blocked.svelte
Normal file
4
src/assets/svg/Blocked.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Brick_wall_raw.svelte
Normal file
4
src/assets/svg/Brick_wall_raw.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Brick_wall_round.svelte
Normal file
4
src/assets/svg/Brick_wall_round.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Brick_wall_square.svelte
Normal file
4
src/assets/svg/Brick_wall_square.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Bug.svelte
Normal file
4
src/assets/svg/Bug.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="268px" height="373px" viewBox="0 0 268 373" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 88.972656 57.019531 C 69.667969 77.699219 74.996094 110.734375 74.996094 110.734375 C 74.996094 110.734375 94.699219 134.046875 133.414062 134.046875 C 172.128906 134.046875 191.84375 110.734375 191.84375 110.734375 C 191.84375 110.734375 197.09375 78.144531 178.199219 57.4375 C 190.019531 50.871094 196.980469 41.378906 194.105469 34.921875 C 190.839844 27.648438 176.441406 27 161.882812 33.476562 C 156.472656 35.878906 151.863281 38.929688 148.28125 42.175781 C 143.742188 41.355469 138.925781 40.796875 133.414062 40.796875 C 128.28125 40.796875 123.714844 41.285156 119.414062 41.980469 C 115.886719 38.792969 111.359375 35.835938 106.074219 33.476562 C 91.515625 27.023438 77.09375 27.671875 73.851562 34.921875 C 71.023438 41.242188 77.609375 50.472656 88.972656 57.019531 Z M 235.433594 207.535156 C 232.417969 206.898438 229.542969 206.535156 226.761719 206.261719 C 226.761719 205.488281 226.898438 204.757812 226.898438 203.960938 C 226.898438 191.726562 225.164062 180.046875 222.355469 168.949219 C 228.359375 169.460938 236.003906 168.082031 243.738281 164.65625 C 258.296875 158.179688 267.472656 147.035156 264.230469 139.808594 C 260.992188 132.535156 246.566406 131.886719 232.007812 138.363281 C 225.207031 141.390625 219.664062 145.453125 215.945312 149.621094 C 213.113281 142.972656 209.917969 136.585938 206.152344 130.78125 C 195.132812 139.945312 174.273438 153.625 145.15625 156.664062 L 145.15625 273.875 C 145.15625 273.875 145.0625 285.53125 133.460938 285.53125 C 121.867188 285.53125 121.777344 273.875 121.777344 273.875 L 121.777344 156.710938 C 92.636719 153.671875 71.765625 139.964844 60.765625 130.824219 C 57.160156 136.402344 54.058594 142.480469 51.296875 148.800781 C 47.542969 144.929688 42.304688 141.207031 35.972656 138.382812 C 21.414062 131.929688 6.992188 132.578125 3.75 139.828125 C 0.5 147.082031 9.683594 158.203125 24.242188 164.679688 C 31.488281 167.902344 38.675781 169.347656 44.496094 169.085938 C 41.699219 180.160156 39.941406 191.792969 39.941406 203.984375 C 39.941406 204.78125 40.082031 205.535156 40.101562 206.351562 C 37.648438 206.625 35.105469 206.992188 32.515625 207.535156 C 13.539062 211.453125 -0.996094 221.242188 0.078125 229.324219 C 1.148438 237.453125 17.421875 240.796875 36.441406 236.859375 C 38.917969 236.359375 41.347656 235.722656 43.664062 235.015625 C 47.007812 249.882812 52.359375 263.675781 59.761719 275.5625 C 55.371094 277.769531 50.804688 281.023438 46.605469 285.257812 C 34.96875 296.871094 30.246094 310.984375 36.0625 316.789062 C 41.882812 322.597656 56.019531 317.882812 67.660156 306.296875 C 71.070312 302.878906 73.808594 299.285156 75.929688 295.730469 C 91.824219 311.257812 111.734375 320.546875 133.460938 320.546875 C 155.492188 320.546875 175.734375 310.984375 191.707031 295.070312 C 193.855469 298.828125 196.730469 302.652344 200.335938 306.25 C 211.949219 317.859375 226.121094 322.574219 231.941406 316.769531 C 237.757812 310.960938 233.035156 296.871094 221.398438 285.257812 C 216.902344 280.75 212.019531 277.335938 207.363281 275.082031 C 214.710938 263.246094 220.003906 249.449219 223.316406 234.628906 C 225.9375 235.445312 228.675781 236.222656 231.550781 236.835938 C 250.5625 240.773438 266.832031 237.40625 267.925781 229.300781 C 268.953125 221.242188 254.417969 211.453125 235.433594 207.535156 Z M 235.433594 207.535156 "/> </g> </svg>
|
4
src/assets/svg/Camera_plus.svelte
Normal file
4
src/assets/svg/Camera_plus.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 169.460938 135.585938 C 184.714844 135.585938 197.761719 141.003906 208.59375 151.835938 C 219.425781 162.667969 224.84375 175.714844 224.84375 190.972656 C 224.84375 206.226562 219.425781 219.273438 208.59375 230.105469 C 197.761719 240.9375 184.714844 246.355469 169.460938 246.355469 C 154.203125 246.355469 141.160156 240.9375 130.324219 230.105469 C 119.492188 219.273438 114.074219 206.226562 114.074219 190.972656 C 114.074219 175.714844 119.492188 162.667969 130.324219 151.835938 C 141.160156 141.003906 154.203125 135.585938 169.460938 135.585938 M 322.921875 74.816406 C 336.511719 74.816406 348.113281 79.625 357.730469 89.242188 C 367.34375 98.855469 372.152344 110.457031 372.152344 124.046875 L 372.152344 296.355469 C 372.152344 309.945312 367.34375 321.546875 357.730469 331.164062 C 348.113281 340.777344 336.511719 345.585938 322.921875 345.585938 L 52.152344 345.585938 C 38.5625 345.585938 26.960938 340.777344 17.34375 331.164062 C 7.730469 321.546875 2.921875 309.945312 2.921875 296.355469 L 2.921875 124.046875 C 2.921875 110.457031 7.730469 98.855469 17.34375 89.242188 C 26.960938 79.625 38.5625 74.816406 52.152344 74.816406 L 77.152344 74.816406 L 86.960938 48.664062 C 89.394531 42.382812 93.851562 36.964844 100.324219 32.414062 C 106.800781 27.863281 113.433594 25.585938 120.230469 25.585938 L 218.691406 25.585938 C 225.484375 25.585938 232.121094 27.863281 238.59375 32.414062 C 245.070312 36.964844 249.523438 42.382812 251.960938 48.664062 L 261.765625 74.816406 L 322.921875 74.816406 M 169.460938 277.125 C 193.175781 277.125 213.464844 268.695312 230.324219 251.835938 C 247.183594 234.976562 255.613281 214.6875 255.613281 190.972656 C 255.613281 167.253906 247.183594 146.964844 230.324219 130.105469 C 213.464844 113.246094 193.175781 104.816406 169.460938 104.816406 C 145.742188 104.816406 125.453125 113.246094 108.59375 130.105469 C 91.734375 146.964844 83.304688 167.253906 83.304688 190.972656 C 83.304688 214.6875 91.734375 234.976562 108.59375 251.835938 C 125.453125 268.695312 145.742188 277.125 169.460938 277.125 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(49.411765%,73.725492%,43.529412%);fill-opacity:1;" d="M 374.332031 308.261719 C 374.332031 343.875 345.464844 372.746094 309.851562 372.746094 C 274.238281 372.746094 245.371094 343.875 245.371094 308.261719 C 245.371094 272.652344 274.238281 243.78125 309.851562 243.78125 C 345.464844 243.78125 374.332031 272.652344 374.332031 308.261719 Z M 374.332031 308.261719 "/> <path style="fill: none !important;stroke-width:95.518036;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1154.783124 1044.338782 L 1543.909686 1044.338782 " transform="matrix(0.192308,0,0,0.192308,49.973197,107.396088)"/> <path style="fill: none !important;stroke-width:95.518036;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1349.925311 849.359094 L 1349.925311 1238.505969 " transform="matrix(0.192308,0,0,0.192308,49.973197,107.396088)"/> </g> </svg>
|
4
src/assets/svg/Checkmark.svelte
Normal file
4
src/assets/svg/Checkmark.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="374px" height="259px" viewBox="0 0 374 259" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 2.999896 7.285624 L 10.826182 14.99991 L 23.000104 3.00009 " transform="matrix(14.384615,0,0,14.388889,0,0)"/> </g> </svg>
|
4
src/assets/svg/Circle.svelte
Normal file
4
src/assets/svg/Circle.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill:{color};" class="selectable" d="M 375 187.5 C 375 291.054688 291.054688 375 187.5 375 C 83.945312 375 0 291.054688 0 187.5 C 0 83.945312 83.945312 0 187.5 0 C 291.054688 0 375 83.945312 375 187.5 Z M 375 187.5 "/> </g> </svg>
|
4
src/assets/svg/Clock.svelte
Normal file
4
src/assets/svg/Clock.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:9;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 46 55.932292 L 66.551042 55.932292 " transform="matrix(3.75,0,0,3.75,0,0)"/> <path style="fill: none !important;stroke-width:9;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 46 55.534375 L 46 27.729167 " transform="matrix(3.75,0,0,3.75,0,0)"/> </g> </svg>
|
4
src/assets/svg/Close.svelte
Normal file
4
src/assets/svg/Close.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:6.012842;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 23.165924 293.603402 L 3.541282 273.978759 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:6.012921;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 23.195414 273.884226 L 3.571047 293.508593 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> </g> </svg>
|
4
src/assets/svg/Community.svelte
Normal file
4
src/assets/svg/Community.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) --> <svg width="1124.975mm" height="1111.9373mm" viewBox="0 0 1124.975 1111.9373" version="1.1" id="svg5" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs2" /> <g id="layer1" transform="translate(429.38456,373.85159)" style="display:inline"> <path id="path858" d="m 465.50195,-1412.9824 c -48.13018,0 -95.14167,6.6605 -140.92968,19.3242 -517.78906,36.4545 -1004.59215,263.4542 -1364.78127,639.11132 -125.578,130.97093 -232.0356,276.80492 -318.709,432.875 l -3.0996,0.006 0.012,5.62891 c -169.1451,306.7883664 -260.6208,653.52706 -260.8652,1009.62695 v 0.0645 c 0,555.45592 220.6943,1088.26072 613.4609,1481.02732 378.0703,378.0702 885.96964,596.0875 1418.85161,611.92 18.51351,1.9864 37.20113,3.0136 56.06054,3.0136 17.25834,0 34.36078,-0.9283 51.33008,-2.5937 224.45873,-4.8504 444.64455,-45.7063 652.83597,-119.1836 -60.8675,-43.0776 -118.1478,-91.0122 -171.27933,-143.334 -121.72268,40.4323 -230.24225,90.5328 -428.68164,58.6602 l -3.38086,-1775.19732 233.78516,-0.44532 c 42.42213,-67.09791 90.54812,-130.41487 143.84375,-189.24804 l -377.98828,0.7207 -1.43946,-755.89648 634.26176,-1.38672 c 32.7782,154.928763 56.3858,319.47347 69.9629,489.41797 58.6612,-33.17515 119.6711,-62.01386 182.541,-86.28516 -13.1747,-138.65014 -32.7954,-273.7956044 -58.7852,-403.55664 l 791.918,-1.73242 c 54.2995,111.507047 97.5037,228.170813 129.2012,348.26953 72.3897,18.82425 143.1313,43.49582 211.5273,73.77148 -80.6791,-402.00209 -278.3137,-774.77273 -572.5098,-1068.96875 -363.7812,-363.78173 -847.7515,-579.57553 -1358.52731,-609.49993 -41.8967,-10.5343 -84.78727,-16.1094 -128.61524,-16.1094 z m 96.98438,204.4375 c 159.67283,49.2174 326.54513,218.8615 462.03907,516.93552 49.6393,109.20202 92.1295,232.60044 128.4531,364.44727 l -588.81053,1.28711 z m -188.97461,0.9179 1.67969,882.16411 -597.98243,1.30664 c 36.4911,-132.99204 79.25432,-257.42426 129.269536,-367.45313 133.780665,-294.30513 298.164144,-463.66612 455.992184,-515.27932 3.68603,-0.2115 7.36574,-0.4597 11.04102,-0.7383 z m 591.27148,61.1954 c 320.2851,85.8427 615.6781,254.12924 854.2344,492.68551 99.0716,99.07158 185.6177,208.20254 259.6738,324.5625 l -729.584,1.59375 c -41.2536,-159.09493 -91.7465,-308.46744 -152.5469,-442.22266 -67.1207,-147.65948 -144.9895,-275.0596 -231.7773,-376.6191 z m -1003.50195,5.9433 c -84.79247,100.5848 -161.00089,225.84047 -226.83789,370.6758 -61.29809,134.85015 -112.17438,285.51379 -153.59961,446.08594 l -720.14645,1.57422 c 67.8012,-107.37947 146.33969,-208.61822 235.49997,-301.60743 238.54174,-248.78579 538.10225,-425.81263 865.08398,-516.72853 z m 414.26953,1004.00002 1.43945,755.8418 -727.68554,1.38671 c 4.20418,-264.24481 32.77031,-520.983169 82.2207,-755.82031 z m -837.92773,1.83203 c -47.33699,237.75431 -73.46184,493.4318 -77.33789,755.75781 l -892.42186,1.70117 c 10.0141,-264.11069 74.8439,-521.07351 188.0937,-755.75 z m 839.72656,942.98437 1.3457,707.00198 -646.08984,1.414 c -46.71986,-220.2353 -75.01919,-459.8106 -82.07617,-707.03121 z m -915.85156,1.74415 c 6.57514,245.41033 32.61831,484.16193 77.38867,707.09573 l -784.53902,1.7148 c -105.8005,-220.1735 -168.8074,-460.0874 -184.1446,-707.11327 z m 917.55859,894.23433 1.68359,884.2715 C 217.38802,2544.4462 45.439072,2373.9426 -93.521484,2068.2422 -142.93255,1959.5424 -185.25941,1836.7732 -221.48047,1705.6211 Z m -796.66211,1.7422 c 41.17164,158.3984 91.48351,307.1603 152.04883,440.3985 69.28935,152.4302 150.07483,283.1451 240.259765,386.2558 C -344.1327,2446.5457 -638.16035,2278.6776 -875.7832,2041.0547 -977.36504,1939.4729 -1065.801,1827.3298 -1141.0586,1707.6328 Z" transform="scale(0.26458333)" /> <path id="path928" d="" /> <path id="path890" d="" /> <path id="path3123" d="m 500.42418,99.52416 c -162.9348,1.72512 -108.06353,223.75011 -69.65465,274.06343 l 1.09709,35.29034 c -176.038,13.83721 -191.80907,75.90897 -198.43798,158.82719 -2.02223,25.29521 3.89762,50.2628 9.81667,80.72646 97.56502,-0.71585 177.50757,-0.62612 275.07185,-0.49796 84.27329,-45.47436 147.33813,-122.20106 175.63579,-213.68411 -28.16643,-12.43076 -66.9608,-21.14889 -120.68876,-25.37209 l 1.09762,-35.29036 C 613.0731,322.8775 663.35897,97.79884 500.42418,99.52416 Z" /> </g> </svg>
|
4
src/assets/svg/Compass.svelte
Normal file
4
src/assets/svg/Compass.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#F4900C" cx="18" cy="18" r="18"/><circle fill="#FFD983" cx="18" cy="18" r="14.5"/><circle fill="#F5F8FA" cx="18" cy="18" r="13"/><path fill="#CCD6DD" d="M18 8l1.531 6.304 5.54-3.375-3.375 5.54L28 18l-6.304 1.531 3.375 5.54-5.54-3.375L18 28l-1.531-6.304-5.54 3.375 3.375-5.54L8 18l6.304-1.531-3.375-5.54 5.54 3.375z"/><path fill="#292F33" d="M17.343 20.748l8.777 5.381-5.379-8.778z"/><path fill="#DD2E44" d="M18.657 15.267L9.879 9.886l5.38 8.779z"/><circle fill="#8899A6" cx="18" cy="18.008" r="3.055"/><circle fill="#F5F8FA" cx="18" cy="18.008" r="1.648"/></svg>
|
4
src/assets/svg/Confirm.svelte
Normal file
4
src/assets/svg/Confirm.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg width="157.33984" height="157.33984" viewBox="0 0 157.33984 157.33984" version="1.1" id="svg9" sodipodi:docname="confirm.svg" inkscape:version="1.1.2 (1:1.1+202202050950+0a00cf5339)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs13" /> <sodipodi:namedview id="namedview11" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" showgrid="false" inkscape:zoom="2.312" inkscape:cx="-18.598616" inkscape:cy="57.093426" inkscape:current-layer="svg9" /> <path style="fill:#35d447;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 157.33984,78.66796 c 0,43.44922 -35.21875,78.67188 -78.66796,78.67188 C 35.22266,157.33984 0,122.11718 0,78.66796 0,35.22265 35.22266,0 78.67188,0 c 43.44921,0 78.66796,35.22265 78.66796,78.66796 z m 0,0" id="path4" /> <path style="fill: none !important;stroke:#ffffff;stroke-width:19.7495;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" d="m 37.69921,75.49609 35.55078,39.5 47.39844,-63.19922" id="path6" /> </svg>
|
4
src/assets/svg/Copyright.svelte
Normal file
4
src/assets/svg/Copyright.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg width="375px" height="375px" viewBox="0 0 375 375" version="1.1" id="svg5" sodipodi:docname="copyright.svg" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs9" /> <sodipodi:namedview id="namedview7" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" showgrid="false" inkscape:zoom="2.4012481" inkscape:cx="194.06574" inkscape:cy="30.192632" inkscape:window-width="1920" inkscape:window-height="995" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg5" /> <g id="surface1" transform="matrix(1.2644961,0,0,1.2644961,-49.593016,-49.593016)"> <path style="fill:{color};fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 159.26562,170.73437 c 0.73438,-4.85156 2.35157,-9.11718 4.41016,-12.79296 2.0625,-3.67579 5,-6.76172 8.67969,-9.11719 3.52734,-2.20313 7.9375,-3.23438 13.3789,-3.37891 3.38282,0.14453 6.47266,0.73438 9.26563,1.91016 2.94141,1.32422 5.58594,3.08594 7.64453,5.29297 2.05859,2.20703 3.67969,4.85156 5,7.79297 1.32422,2.9414 1.91406,6.17578 2.05859,9.41406 h 26.32422 c -0.29297,-6.91406 -1.61718,-13.23438 -4.11718,-18.97266 -2.5,-5.73437 -5.88282,-10.73437 -10.29297,-14.85156 -4.41407,-4.11719 -9.70703,-7.35156 -15.88282,-9.70312 -6.17578,-2.35547 -12.9414,-3.38282 -20.4414,-3.38282 -9.5586,0 -17.9375,1.61719 -24.9961,5 -7.05859,3.38281 -12.9414,7.79297 -17.64843,13.52735 -4.70313,5.73437 -8.23438,12.35156 -10.44141,20 -2.20312,7.64453 -3.52734,15.58593 -3.52734,24.11718 v 3.96875 c 0,8.52735 1.17578,16.46875 3.38281,24.11719 2.20312,7.64453 5.73437,14.26172 10.44141,19.85156 4.70312,5.58594 10.58593,10.14453 17.64453,13.38282 7.05859,3.23437 15.4414,5 25,5 6.91015,0 13.3789,-1.17969 19.41015,-3.38282 6.02735,-2.20703 11.32422,-5.29687 15.87891,-9.26562 4.55859,-3.96875 8.23828,-8.52735 10.88281,-13.82422 2.64844,-5.29297 4.26563,-10.87891 4.41406,-16.91016 h -26.32421 c -0.14454,3.08985 -0.88282,5.88282 -2.20704,8.53125 -1.32031,2.64453 -3.08593,4.85157 -5.29296,6.76172 -2.20313,1.91406 -4.70313,3.38281 -7.64454,4.41406 -2.79687,1.02735 -5.73437,1.32032 -8.82421,1.46875 -5.29297,-0.14843 -9.70704,-1.17578 -13.08594,-3.38281 -3.67969,-2.35156 -6.61719,-5.4414 -8.67969,-9.11719 -2.05859,-3.67578 -3.67578,-8.08593 -4.41016,-12.9375 -0.73437,-4.85546 -1.17578,-9.85546 -1.17578,-14.70703 v -3.96875 c 0,-5.14843 0.44141,-10 1.17578,-14.85547 z M 187.5,40.449219 c -81.17187,0 -147.050781,65.878911 -147.050781,147.050781 0,81.17187 65.878911,147.05078 147.050781,147.05078 81.17187,0 147.05078,-65.87891 147.05078,-147.05078 0,-81.17187 -65.87891,-147.050781 -147.05078,-147.050781 z m 0,264.691401 c -64.84766,0 -117.640625,-52.79296 -117.640625,-117.64062 0,-64.84766 52.792965,-117.640625 117.640625,-117.640625 64.84766,0 117.64062,52.792965 117.64062,117.640625 0,64.84766 -52.79296,117.64062 -117.64062,117.64062 z m 0,0" id="path2" /> </g> </svg>
|
4
src/assets/svg/Cross_bottom_right.svelte
Normal file
4
src/assets/svg/Cross_bottom_right.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:3.439583;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 18.97295 289.3838 L 7.74695 278.1578 " transform="matrix(11.65716,0,0,11.65716,130.176942,-3023.744742)"/> <path style="fill: none !important;stroke-width:3.439583;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 18.989705 278.103849 L 7.763705 289.329515 " transform="matrix(11.65716,0,0,11.65716,130.176942,-3023.744742)"/> </g> </svg>
|
4
src/assets/svg/Crosshair.svelte
Normal file
4
src/assets/svg/Crosshair.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg width="375px" height="375px" viewBox="0 0 375 375" version="1.1" id="svg15" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <path id="path2" style="color:{color};fill:{color};fill-opacity:0.988235;stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none" d="M 187.5 0.17578125 A 15 15 0 0 0 172.5 15.175781 L 172.5 43.708984 C 104.37541 50.343145 49.843699 104.61884 42.837891 172.63672 L 14.765625 172.63672 A 14.86235 14.86235 0 0 0 -0.09765625 187.5 A 14.86235 14.86235 0 0 0 14.765625 202.36133 L 42.837891 202.36133 C 49.842792 270.37794 104.37427 324.65648 172.5 331.29102 L 172.5 360.10156 A 15 15 0 0 0 187.5 375.10156 A 15 15 0 0 0 202.5 360.10156 L 202.5 331.08594 C 269.70108 323.65092 323.26953 269.82518 330.26953 202.5 L 360.08203 202.5 A 15 15 0 0 0 375.08203 187.5 A 15 15 0 0 0 360.08203 172.5 L 330.26953 172.5 C 323.26946 105.17266 269.70061 51.348735 202.5 43.914062 L 202.5 15.175781 A 15 15 0 0 0 187.5 0.17578125 z M 186.5625 80.511719 C 245.87515 80.511719 293.55078 128.18741 293.55078 187.5 C 293.55078 246.80822 245.87443 294.48828 186.5625 294.48828 C 127.25056 294.48828 79.574219 246.80822 79.574219 187.5 C 79.574219 128.1874 127.24984 80.511719 186.5625 80.511719 z M 187.5 139.21094 C 160.83203 139.21094 139.21094 160.83203 139.21094 187.5 C 139.21094 214.16797 160.83203 235.78906 187.5 235.78906 C 214.16797 235.78906 235.78906 214.16797 235.78906 187.5 C 235.78906 160.83203 214.16797 139.21094 187.5 139.21094 z " /> </svg>
|
4
src/assets/svg/Crosshair_locked.svelte
Normal file
4
src/assets/svg/Crosshair_locked.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:2.645833;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(33.333334%,33.333334%,92.54902%);stroke-opacity:0.988235;stroke-miterlimit:4;" d="M 22.034555 283.770823 C 22.034555 288.670301 18.062773 292.642358 13.16302 292.642358 C 8.263267 292.642358 4.291486 288.670301 4.291486 283.770823 C 4.291486 278.871071 8.263267 274.899289 13.16302 274.899289 C 18.062773 274.899289 22.034555 278.871071 22.034555 283.770823 Z M 22.034555 283.770823 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:2.097239;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(33.333334%,33.333334%,92.54902%);stroke-opacity:0.988235;stroke-miterlimit:4;" d="M 3.28414 283.770823 L 1.041796 283.770823 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:2.116667;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(33.333334%,33.333334%,92.54902%);stroke-opacity:0.988235;stroke-miterlimit:4;" d="M 25.405787 283.770823 L 23.286365 283.770823 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:2.116667;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(33.333334%,33.333334%,92.54902%);stroke-opacity:0.988235;stroke-miterlimit:4;" d="M 13.229166 295.948823 L 13.229166 293.831329 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:2.116667;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(33.333334%,33.333334%,92.54902%);stroke-opacity:0.988235;stroke-miterlimit:4;" d="M 13.229166 275.057488 L 13.229166 271.612392 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(33.333334%,33.333334%,92.54902%);fill-opacity:0.988235;" d="M 238.824219 161.203125 L 229.523438 161.203125 L 229.523438 134.96875 C 229.523438 134.96875 229.523438 91.246094 186.066406 91.246094 C 142.609375 91.246094 142.609375 134.96875 142.609375 134.96875 L 142.609375 161.203125 L 133.308594 161.203125 C 124.042969 161.203125 116.535156 168.757812 116.535156 178.082031 L 116.535156 249.347656 C 116.582031 258.636719 124.078125 266.136719 133.308594 266.136719 L 238.824219 266.136719 C 248.085938 266.136719 255.597656 258.582031 255.597656 249.261719 L 255.597656 178.082031 C 255.597656 168.757812 248.085938 161.203125 238.824219 161.203125 Z M 186.066406 231.160156 C 176.464844 231.160156 168.683594 223.328125 168.683594 213.671875 C 168.683594 204.011719 176.464844 196.179688 186.066406 196.179688 C 195.664062 196.179688 203.449219 204.011719 203.449219 213.671875 C 203.449219 223.328125 195.664062 231.160156 186.066406 231.160156 Z M 212.140625 161.203125 L 159.992188 161.203125 L 159.992188 139.339844 C 159.992188 126.226562 159.992188 108.734375 186.066406 108.734375 C 212.140625 108.734375 212.140625 126.226562 212.140625 139.339844 Z M 212.140625 161.203125 "/> </g> </svg>
|
4
src/assets/svg/Delete_icon.svelte
Normal file
4
src/assets/svg/Delete_icon.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,0%,0%);fill-opacity:1;" d="M 148.457031 148.796875 L 148.457031 269.332031 C 148.457031 271.285156 147.828125 272.890625 146.574219 274.144531 C 145.316406 275.402344 143.714844 276.027344 141.761719 276.027344 L 128.367188 276.027344 C 126.414062 276.027344 124.808594 275.402344 123.554688 274.144531 C 122.296875 272.890625 121.671875 271.285156 121.671875 269.332031 L 121.671875 148.796875 C 121.671875 146.84375 122.296875 145.238281 123.554688 143.984375 C 124.808594 142.726562 126.414062 142.101562 128.367188 142.101562 L 141.761719 142.101562 C 143.714844 142.101562 145.316406 142.726562 146.574219 143.984375 C 147.828125 145.238281 148.457031 146.84375 148.457031 148.796875 Z M 202.027344 148.796875 L 202.027344 269.332031 C 202.027344 271.285156 201.398438 272.890625 200.144531 274.144531 C 198.890625 275.402344 197.285156 276.027344 195.332031 276.027344 L 181.9375 276.027344 C 179.984375 276.027344 178.382812 275.402344 177.125 274.144531 C 175.871094 272.890625 175.242188 271.285156 175.242188 269.332031 L 175.242188 148.796875 C 175.242188 146.84375 175.871094 145.238281 177.125 143.984375 C 178.382812 142.726562 179.984375 142.101562 181.9375 142.101562 L 195.332031 142.101562 C 197.285156 142.101562 198.890625 142.726562 200.144531 143.984375 C 201.398438 145.238281 202.027344 146.84375 202.027344 148.796875 Z M 255.597656 148.796875 L 255.597656 269.332031 C 255.597656 271.285156 254.972656 272.890625 253.714844 274.144531 C 252.460938 275.402344 250.855469 276.027344 248.902344 276.027344 L 235.511719 276.027344 C 233.558594 276.027344 231.953125 275.402344 230.695312 274.144531 C 229.441406 272.890625 228.8125 271.285156 228.8125 269.332031 L 228.8125 148.796875 C 228.8125 146.84375 229.441406 145.238281 230.695312 143.984375 C 231.953125 142.726562 233.558594 142.101562 235.511719 142.101562 L 248.902344 142.101562 C 250.855469 142.101562 252.460938 142.726562 253.714844 143.984375 C 254.972656 145.238281 255.597656 146.84375 255.597656 148.796875 Z M 282.386719 300.304688 L 282.386719 101.921875 L 94.886719 101.921875 L 94.886719 300.304688 C 94.886719 303.371094 95.375 306.199219 96.351562 308.777344 C 97.328125 311.359375 98.335938 313.242188 99.382812 314.429688 C 100.429688 315.613281 101.164062 316.207031 101.582031 316.207031 L 275.6875 316.207031 C 276.105469 316.207031 276.839844 315.613281 277.886719 314.429688 C 278.933594 313.242188 279.945312 311.359375 280.921875 308.777344 C 281.898438 306.199219 282.386719 303.371094 282.386719 300.304688 Z M 141.761719 75.136719 L 235.511719 75.136719 L 225.464844 50.652344 C 224.488281 49.398438 223.304688 48.628906 221.90625 48.351562 L 155.570312 48.351562 C 154.175781 48.628906 152.992188 49.398438 152.015625 50.652344 Z M 335.957031 81.832031 L 335.957031 95.226562 C 335.957031 97.179688 335.328125 98.78125 334.074219 100.039062 C 332.816406 101.292969 331.214844 101.921875 329.261719 101.921875 L 309.171875 101.921875 L 309.171875 300.304688 C 309.171875 311.882812 305.890625 321.894531 299.335938 330.332031 C 292.777344 338.773438 284.894531 342.992188 275.6875 342.992188 L 101.582031 342.992188 C 92.375 342.992188 84.492188 338.914062 77.933594 330.75 C 71.378906 322.589844 68.097656 312.71875 68.097656 301.140625 L 68.097656 101.921875 L 48.011719 101.921875 C 46.058594 101.921875 44.453125 101.292969 43.195312 100.039062 C 41.941406 98.78125 41.3125 97.179688 41.3125 95.226562 L 41.3125 81.832031 C 41.3125 79.878906 41.941406 78.273438 43.195312 77.019531 C 44.453125 75.765625 46.058594 75.136719 48.011719 75.136719 L 112.671875 75.136719 L 127.320312 40.1875 C 129.414062 35.027344 133.179688 30.632812 138.621094 27.003906 C 144.0625 23.378906 149.574219 21.566406 155.152344 21.566406 L 222.117188 21.566406 C 227.699219 21.566406 233.207031 23.378906 238.648438 27.003906 C 244.089844 30.632812 247.855469 35.027344 249.949219 40.1875 L 264.597656 75.136719 L 329.261719 75.136719 C 331.214844 75.136719 332.816406 75.765625 334.074219 77.019531 C 335.328125 78.273438 335.957031 79.878906 335.957031 81.832031 Z M 335.957031 81.832031 "/> </g> </svg>
|
4
src/assets/svg/Delete_not_allowed.svelte
Normal file
4
src/assets/svg/Delete_not_allowed.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Direction_gradient.svelte
Normal file
4
src/assets/svg/Direction_gradient.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns="http://www.w3.org/2000/svg" version="1.0" width="860.50732pt" height="860.50732pt" viewBox="0 0 860.50732 860.50732" preserveAspectRatio="xMidYMid meet" id="svg14" sodipodi:docname="direction_gradient.svg" inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"> <defs id="defs18"> <linearGradient inkscape:collect="always" id="linearGradient832"> <stop style="stop-color:{color};stop-opacity:1;" offset="0" id="stop828"/> <stop style="stop-color:{color};stop-opacity:0;" offset="1" id="stop830"/> </linearGradient> <radialGradient inkscape:collect="always" xlink:href="#linearGradient832" id="radialGradient838" cx="430.25363" cy="519.61188" fx="430.25363" fy="519.61188" r="305.54589" gradientTransform="matrix(0.95288409,-0.94890664,0.94542304,0.94938587,-470.98122,345.21193)" gradientUnits="userSpaceOnUse"/> </defs> <sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1920" inkscape:window-height="999" id="namedview16" showgrid="false" showguides="true" inkscape:guide-bbox="true" inkscape:zoom="0.70710678" inkscape:cx="279.00239" inkscape:cy="856.75313" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg14"> <sodipodi:guide position="430.25363,862.49682" orientation="1,0" id="guide832" inkscape:locked="false"/> <sodipodi:guide position="-42.427977,430.25368" orientation="0,1" id="guide834" inkscape:locked="false"/> <sodipodi:guide position="398.27788,720.18823" orientation="0,1" id="guide840" inkscape:locked="false"/> </sodipodi:namedview> <metadata id="metadata2"> Created by potrace 1.15, written by Peter Selinger 2001-2017 <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> <dc:title/> </cc:Work> </rdf:RDF> </metadata> <path style="fill:url(#radialGradient838);fill-opacity:1;stroke:none;stroke-width:2.83464575;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 735.79979,124.70799 C 654.79116,43.598883 544.88842,-2.0206645 430.25389,-2.121103 315.61937,-2.0206592 205.71663,43.598888 124.70801,124.70799 l 305.54588,305.54589 z" id="path836" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/> </svg>
|
4
src/assets/svg/Direction_stroke.svelte
Normal file
4
src/assets/svg/Direction_stroke.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(97.254902%,100%,96.078432%);stroke-opacity:1;stroke-miterlimit:4;" d="M -177.48351 -16.993714 C -177.484166 101.48875 -226.288922 214.739751 -312.411923 296.10684 C -398.528411 377.467771 -514.363074 419.770216 -632.651731 413.060164 " transform="matrix(-0.316636,-0.299423,0.299423,-0.316636,0,0)"/> <path style="fill: none !important;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 743.478328 134.561833 L 430.253662 430.253662 L 117.002105 134.508051 " transform="matrix(0.435789,0,0,0.435789,0,0)"/> <path style="fill: none !important;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M -177.48351 -16.993714 C -177.484166 101.48875 -226.288922 214.739751 -312.411923 296.10684 C -398.528411 377.467771 -514.363074 419.770216 -632.651731 413.060164 " transform="matrix(-0.316636,-0.299423,0.299423,-0.316636,0,0)"/> <path style="fill: none !important;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 743.478328 134.561833 L 430.253662 430.253662 L 117.002105 134.508051 " transform="matrix(0.435789,0,0,0.435789,0,0)"/> </g> </svg>
|
4
src/assets/svg/Download.svelte
Normal file
4
src/assets/svg/Download.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path d="M 280.75 123.625 L 218.375 123.625 L 218.375 27.8125 C 218.375 19.0625 211.375 11.875 202.75 11.875 L 171.5625 11.875 C 163 11.875 155.9375 19.0625 155.9375 27.8125 L 155.9375 123.625 L 93.5625 123.625 L 187.125 251.375 Z M 351 171.5625 C 338.0625 171.5625 327.625 182.3125 327.625 195.5 L 327.625 315.25 L 46.8125 315.25 L 46.8125 195.5 C 46.8125 182.25 36.3125 171.5625 23.4375 171.5625 C 10.5 171.5625 0 182.25 0 195.5 L 0 339.1875 C 0 352.375 10.5 363.125 23.375 363.125 L 350.9375 363.125 C 363.875 363.125 374.3125 352.375 374.3125 339.1875 L 374.3125 195.5 C 374.375 182.25 363.875 171.5625 351 171.5625 Z M 351 171.5625 "/> </g> </svg>
|
4
src/assets/svg/Duplicate.svelte
Normal file
4
src/assets/svg/Duplicate.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Elevator.svelte
Normal file
4
src/assets/svg/Elevator.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg version="1.1" id="elevator" x="0px" y="0px" viewBox="0 0 65.9 66" style="enable-background:new 0 0 65.9 66;" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <path d="M 48.2,15.6 H 19.3 c -1.6,0 -2.8,1.3 -2.8,2.8 v 29 c 0,1.6 1.3,2.8 2.8,2.8 h 28.9 c 1.6,0 2.8,-1.3 2.8,-2.8 V 18.5 C 51,17 49.7,15.6 48.2,15.6 Z m 0.3,30.7 c 0,0.8 -0.6,1.4 -1.4,1.4 H 20.4 C 19.6,47.7 19,47.1 19,46.3 V 19.6 c 0,-0.8 0.6,-1.4 1.4,-1.4 h 26.7 c 0.8,0 1.4,0.6 1.4,1.4 z" id="path2"/> <polygon points="29.4,9.5 33.7,5.5 38.1,9.5 35.3,9.5 35.3,13.5 32.2,13.5 32.2,9.5 " id="polygon8"/> <polygon points="38.1,56.6 33.7,60.5 29.4,56.6 32.2,56.6 32.2,52.5 35.3,52.5 35.3,56.6 " id="polygon10"/> <circle cx="28.6" cy="21.4" r="1.9" id="circle12"/> <path d="m 29.1,35.6 c 0,-0.2 -0.2,-0.5 -0.5,-0.5 -0.3,0 -0.5,0.2 -0.5,0.5 v 1.7 3 5 c 0,0.6 -0.6,1.2 -1.2,1.2 -0.6,0 -1.2,-0.5 -1.2,-1.2 V 40.5 37.3 33.2 32 28.2 28.3 c 0,-0.2 -0.1,-0.4 -0.4,-0.4 -0.2,0 -0.4,0.2 -0.4,0.4 v 1.3 3.5 1.8 c 0,0.4 -0.3,0.7 -0.7,0.7 -0.4,0 -0.7,-0.3 -0.7,-0.7 v -1 -3.5 -4.2 c 0,-1 0.8,-1.9 1.9,-1.9 h 5.2 0.3 c 0.2,0 0.5,0.1 0.6,0.3 l 2.1,2.1 2.5,-2.5 c 0.4,-0.4 1,-0.4 1.3,0 0.4,0.4 0.4,1 0,1.3 l -3.2,3.2 C 34,28.9 33.8,29 33.5,29 33.3,29 33,28.9 32.8,28.7 L 32,27.9 31.8,27.8 h -0.2 c -0.2,0 -0.4,0.2 -0.4,0.4 v 1.6 10.6 l 7.68e-4,4.906766 c 9.4e-5,0.6 -0.6,1.2 -1.2,1.2 -0.6,0 -0.957071,-0.484801 -0.957071,-1.184801 0,0 0.0563,-6.496244 0.0563,-9.721965 z" id="path14" /> <circle cx="42.400002" cy="21" r="1.5" id="circle16"/> <circle cx="42.400002" cy="24.5" r="1.5" id="circle18"/> <circle cx="42.400002" cy="28.200001" r="1.5" id="circle20"/> </svg>
|
4
src/assets/svg/Elevator_wheelchair.svelte
Normal file
4
src/assets/svg/Elevator_wheelchair.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Envelope.svelte
Normal file
4
src/assets/svg/Envelope.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:8.16402;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 9.669812 22.725188 L 42.932875 56.977438 C 42.932875 56.977438 55.27575 71.374687 69.062625 56.977438 C 88.864187 36.300688 103.1225 22.224062 103.1225 22.224062 " transform="matrix(3.289474,0,0,3.289474,0,0)"/> <path style="fill: none !important;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 9.902563 22.944875 L 102.88975 22.461562 L 102.88975 92.383938 " transform="matrix(3.289474,0,0,3.289474,0,0)"/> <path style="fill: none !important;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 102.88975 92.383938 L 9.902563 92.866062 L 9.902563 22.944875 " transform="matrix(3.289474,0,0,3.289474,0,0)"/> <path style="fill: none !important;stroke-width:2.889384;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 15.059875 89.897312 L 52.138375 60.1255 " transform="matrix(3.289474,0,0,3.289474,0,0)"/> <path style="fill: none !important;stroke-width:2.894905;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 59.644562 61.332 L 98.072063 89.495937 " transform="matrix(3.289474,0,0,3.289474,0,0)"/> </g> </svg>
|
4
src/assets/svg/Eye.svelte
Normal file
4
src/assets/svg/Eye.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 343.453125 190.519531 C 322.914062 158.628906 297.171875 134.777344 266.222656 118.964844 C 274.46875 133.019531 278.589844 148.222656 278.589844 164.574219 C 278.589844 189.574219 269.703125 210.960938 251.933594 228.730469 C 234.164062 246.5 212.777344 255.386719 187.777344 255.386719 C 162.777344 255.386719 141.394531 246.5 123.621094 228.730469 C 105.851562 210.960938 96.96875 189.574219 96.96875 164.574219 C 96.96875 148.222656 101.089844 133.019531 109.332031 118.964844 C 78.386719 134.777344 52.644531 158.628906 32.101562 190.519531 C 50.074219 218.222656 72.609375 240.285156 99.703125 256.703125 C 126.796875 273.121094 156.15625 281.332031 187.777344 281.332031 C 219.398438 281.332031 248.757812 273.121094 275.851562 256.703125 C 302.945312 240.285156 325.480469 218.222656 343.453125 190.519531 Z M 197.507812 112.683594 C 197.507812 109.980469 196.5625 107.683594 194.671875 105.789062 C 192.777344 103.898438 190.480469 102.953125 187.777344 102.953125 C 170.886719 102.953125 156.394531 109 144.296875 121.09375 C 132.203125 133.1875 126.15625 147.683594 126.15625 164.574219 C 126.15625 167.277344 127.101562 169.574219 128.996094 171.464844 C 130.886719 173.359375 133.183594 174.304688 135.886719 174.304688 C 138.589844 174.304688 140.886719 173.359375 142.777344 171.464844 C 144.671875 169.574219 145.617188 167.277344 145.617188 164.574219 C 145.617188 152.953125 149.738281 143.019531 157.980469 134.777344 C 166.222656 126.535156 176.15625 122.410156 187.777344 122.410156 C 190.480469 122.410156 192.777344 121.464844 194.671875 119.574219 C 196.5625 117.683594 197.507812 115.386719 197.507812 112.683594 Z M 369.398438 190.519531 C 369.398438 195.113281 368.046875 199.777344 365.347656 204.507812 C 346.425781 235.585938 320.988281 260.484375 289.027344 279.203125 C 257.070312 297.917969 223.320312 307.277344 187.777344 307.277344 C 152.238281 307.277344 118.488281 297.886719 86.527344 279.101562 C 54.570312 260.316406 29.128906 235.453125 10.210938 204.507812 C 7.507812 199.777344 6.15625 195.113281 6.15625 190.519531 C 6.15625 185.925781 7.507812 181.261719 10.210938 176.535156 C 29.128906 145.585938 54.570312 120.722656 86.527344 101.9375 C 118.488281 83.15625 152.238281 73.761719 187.777344 73.761719 C 223.320312 73.761719 257.070312 83.15625 289.027344 101.9375 C 320.988281 120.722656 346.425781 145.585938 365.347656 176.535156 C 368.046875 181.261719 369.398438 185.925781 369.398438 190.519531 Z M 369.398438 190.519531 "/> </g> </svg>
|
4
src/assets/svg/Filter.svelte
Normal file
4
src/assets/svg/Filter.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="328px" height="374px" viewBox="0 0 328 374" version="1.1"> <g id="surface1"> <path d="M 204.175781 186.890625 L 204.175781 350.699219 C 204.683594 353.851562 204.40625 357.082031 203.367188 360.09375 C 202.328125 363.105469 200.5625 365.8125 198.230469 367.957031 C 194.390625 371.824219 189.195312 374 183.78125 374 C 178.363281 374 173.171875 371.824219 169.332031 367.957031 L 128.335938 326.378906 C 126.113281 324.152344 124.421875 321.4375 123.390625 318.445312 C 122.363281 315.453125 122.019531 312.269531 122.390625 309.121094 L 122.390625 187.09375 L 4.328125 33.679688 C 1 29.34375 -0.503906 23.851562 0.148438 18.398438 C 0.800781 12.945312 3.558594 7.976562 7.8125 4.578125 C 11.417969 1.644531 15.898438 0.0273438 20.519531 0 L 307.480469 0 C 312.105469 0.0273438 316.582031 1.644531 320.1875 4.578125 C 324.445312 7.976562 327.199219 12.945312 327.851562 18.398438 C 328.503906 23.851562 327 29.34375 323.671875 33.679688 L 205.609375 187.09375 Z M 204.175781 186.890625 "/> </g> </svg>
|
4
src/assets/svg/Filter_disable.svelte
Normal file
4
src/assets/svg/Filter_disable.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg width="328px" height="374px" viewBox="0 0 328 374" version="1.1" id="svg5" sodipodi:docname="filter_disable.svg" inkscape:version="1.1.2 (1:1.1+202202050950+0a00cf5339)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs9" /> <sodipodi:namedview id="namedview7" pagecolor="#505050" bordercolor="#eeeeee" borderopacity="1" inkscape:pageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="0" showgrid="false" inkscape:zoom="2.2486631" inkscape:cx="164.0975" inkscape:cy="187.22235" inkscape:current-layer="svg5" /> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 204.175781 186.890625 L 204.175781 350.699219 C 204.683594 353.851562 204.40625 357.082031 203.367188 360.09375 C 202.328125 363.105469 200.5625 365.8125 198.230469 367.957031 C 194.390625 371.824219 189.195312 374 183.78125 374 C 178.363281 374 173.171875 371.824219 169.332031 367.957031 L 128.335938 326.378906 C 126.113281 324.152344 124.421875 321.4375 123.390625 318.445312 C 122.363281 315.453125 122.019531 312.269531 122.390625 309.121094 L 122.390625 187.09375 L 4.328125 33.679688 C 1 29.34375 -0.503906 23.851562 0.148438 18.398438 C 0.800781 12.945312 3.558594 7.976562 7.8125 4.578125 C 11.417969 1.644531 15.898438 0.0273438 20.519531 0 L 307.480469 0 C 312.105469 0.0273438 316.582031 1.644531 320.1875 4.578125 C 324.445312 7.976562 327.199219 12.945312 327.851562 18.398438 C 328.503906 23.851562 327 29.34375 323.671875 33.679688 L 205.609375 187.09375 Z M 204.175781 186.890625 " id="path2" /> </g> <g id="surface1-3" transform="matrix(1.2223339,0,0,1.2223339,-152.85378,-266.10503)" style="fill:#ff0000;fill-opacity:1"> <path style="fill:#ff0000;fill-opacity:1;stroke:#b40000;stroke-width:34.2679;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" d="M 364.47831,491.73933 252.63509,379.89612" id="path826" /> <path style="fill:#ff0000;fill-opacity:1;stroke:#b40000;stroke-width:34.2684;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" d="M 364.64638,379.35739 252.80473,491.199" id="path828" /> </g> </svg>
|
4
src/assets/svg/Floppy.svelte
Normal file
4
src/assets/svg/Floppy.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="48" height="48"> <defs> <linearGradient id="d"> <stop offset="0"/> <stop offset="1" stop-opacity="0"/> </linearGradient> <linearGradient id="c"> <stop offset="0" stop-color="#858585"/> <stop offset=".5" stop-color="#cbcbcb"/> <stop offset="1" stop-color="#6b6b6b"/> </linearGradient> <linearGradient id="b"> <stop offset="0" stop-color="#fff"/> <stop offset="1" stop-color="#fff" stop-opacity="0"/> </linearGradient> <linearGradient id="a"> <stop offset="0" stop-color="#1e2d69"/> <stop offset="1" stop-color="#78a7e0"/> </linearGradient> <linearGradient id="f" x1="40.885" x2="16.88" y1="71.869" y2="-.389" gradientTransform="matrix(.97661 0 0 1.13979 .564 -3.271)" gradientUnits="userSpaceOnUse" xlink:href="#a"/> <linearGradient id="g" x1="13.784" x2="33.075" y1="-.997" y2="55.702" gradientTransform="matrix(.98543 0 0 1.14818 .641 -2.934)" gradientUnits="userSpaceOnUse" xlink:href="#b"/> <linearGradient id="h" x1="20.125" x2="28.563" y1="21.844" y2="42.469" gradientTransform="matrix(1.0677 0 0 1.12153 -1.369 -5.574)" gradientUnits="userSpaceOnUse" xlink:href="#c"/> <radialGradient id="e" cx="24.313" cy="41.156" r="22.875" fx="24.313" fy="41.156" gradientTransform="matrix(1 0 0 .26913 0 30.08)" gradientUnits="userSpaceOnUse" xlink:href="#d"/> </defs> <path fill="url(#e)" d="M47.188 41.156a22.875 6.156 0 1 1-45.75 0 22.875 6.156 0 1 1 45.75 0z" opacity=".506" transform="matrix(.91803 0 0 .98122 1.68 .648)"/> <path fill="url(#f)" stroke="#25375f" stroke-linecap="round" stroke-linejoin="round" d="M4.558 3.568h38.89c.59 0 1.064.474 1.064 1.063v37.765c0 .59-.475 1.064-1.064 1.064H6.558l-3.064-3.064V4.631a1.06 1.06 0 0 1 1.064-1.063z"/> <path fill="#fff" d="M9 4h30v23H9z"/> <rect width="30" height="4" x="9" y="4" fill="#d31c00" rx=".126" ry=".126"/> <rect width="2" height="2" x="6" y="6" opacity=".739" rx=".126" ry=".126"/> <path stroke="{color}" d="M11 12.5h26m-26 5h26m-26 5h26" opacity=".131"/> <path fill="none" stroke="url(#g)" stroke-linecap="round" d="M4.619 4.528h38.768c.07 0 .127.056.127.126v37.648c0 .07-.057.126-.127.126H6.928l-2.435-2.391V4.654c0-.07.056-.126.126-.126z" opacity=".597"/> <path fill="url(#h)" stroke="#525252" d="M14.114 28.562h19.75c.888 0 1.603.751 1.603 1.684v13.201H12.51V30.246c0-.933.715-1.684 1.603-1.684z"/> <rect width="5.03" height="10.066" x="16.464" y="30.457" fill="#4967a2" stroke="#525252" rx=".751" ry=".751"/> </svg>
|
4
src/assets/svg/Gear.svelte
Normal file
4
src/assets/svg/Gear.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Gender_bi.svelte
Normal file
4
src/assets/svg/Gender_bi.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 236.039062 2.875 L 236.039062 27.492188 L 279.417969 27.492188 L 224.050781 82.863281 C 206.019531 67.914062 182.882812 58.90625 157.683594 58.90625 C 100.273438 58.90625 53.5625 105.617188 53.5625 163.03125 C 53.5625 216.28125 93.75 260.289062 145.378906 266.402344 L 145.378906 305.875 L 102.507812 305.875 L 102.507812 330.492188 L 145.375 330.492188 L 145.375 372.125 L 169.988281 372.125 L 169.988281 330.496094 L 212.859375 330.496094 L 212.859375 305.878906 L 169.992188 305.878906 L 169.992188 266.40625 C 221.625 260.292969 261.8125 216.285156 261.8125 163.035156 C 261.8125 139.675781 254.074219 118.085938 241.03125 100.691406 L 296.824219 44.898438 L 296.824219 88.28125 L 321.441406 88.28125 L 321.441406 2.875 Z M 157.683594 242.542969 C 113.84375 242.542969 78.179688 206.878906 78.179688 163.035156 C 78.179688 119.195312 113.84375 83.527344 157.683594 83.527344 C 201.53125 83.527344 237.195312 119.195312 237.195312 163.035156 C 237.195312 206.878906 201.527344 242.542969 157.683594 242.542969 Z M 157.683594 242.542969 "/> </g> </svg>
|
4
src/assets/svg/Gender_female.svelte
Normal file
4
src/assets/svg/Gender_female.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 273.230469 209.789062 C 320.503906 162.519531 320.503906 85.601562 273.230469 38.328125 C 225.964844 -8.941406 149.039062 -8.941406 101.769531 38.328125 C 54.496094 85.601562 54.496094 162.515625 101.769531 209.789062 C 122.273438 230.300781 148.363281 241.898438 175.191406 244.609375 L 175.191406 294.210938 L 123.847656 294.210938 L 123.847656 318.832031 L 175.191406 318.832031 L 175.191406 372.125 L 199.808594 372.125 L 199.808594 318.835938 L 251.148438 318.835938 L 251.148438 294.214844 L 199.808594 294.214844 L 199.808594 244.609375 C 226.636719 241.898438 252.726562 230.300781 273.230469 209.789062 Z M 119.175781 55.742188 C 138.015625 36.90625 162.757812 27.484375 187.5 27.484375 C 212.242188 27.484375 236.984375 36.902344 255.824219 55.738281 C 293.496094 93.410156 293.496094 154.707031 255.824219 192.382812 C 218.148438 230.054688 156.847656 230.050781 119.179688 192.382812 C 81.503906 154.710938 81.503906 93.410156 119.175781 55.742188 Z M 119.175781 55.742188 "/> </g> </svg>
|
4
src/assets/svg/Gender_inter.svelte
Normal file
4
src/assets/svg/Gender_inter.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 244 216.746094 L 364.355469 337.101562 L 364.355469 212.675781 L 339.773438 212.675781 L 339.773438 277.761719 L 257.871094 195.851562 C 267.695312 177.457031 273.289062 156.472656 273.289062 134.199219 C 273.289062 61.789062 214.378906 2.875 141.964844 2.875 C 69.550781 2.875 10.644531 61.789062 10.644531 134.199219 C 10.644531 206.605469 69.554688 265.519531 141.964844 265.519531 C 164.238281 265.519531 185.222656 259.925781 203.621094 250.097656 L 240.511719 286.992188 L 197.96875 329.523438 L 215.347656 346.902344 L 257.886719 304.371094 L 325.640625 372.125 L 343.019531 354.742188 L 224.511719 236.230469 C 231.664062 230.433594 238.199219 223.898438 244 216.746094 Z M 35.226562 134.199219 C 35.226562 75.34375 83.109375 27.460938 141.964844 27.460938 C 200.820312 27.460938 248.703125 75.34375 248.703125 134.199219 C 248.703125 193.050781 200.820312 240.933594 141.964844 240.933594 C 83.105469 240.933594 35.226562 193.054688 35.226562 134.199219 Z M 35.226562 134.199219 "/> </g> </svg>
|
4
src/assets/svg/Gender_male.svelte
Normal file
4
src/assets/svg/Gender_male.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 254.679688 2.875 L 254.679688 27.652344 L 329.832031 27.652344 L 240.109375 117.371094 C 214.984375 96.203125 182.582031 83.410156 147.230469 83.410156 C 67.632812 83.414062 2.875 148.171875 2.875 227.769531 C 2.875 307.367188 67.632812 372.125 147.230469 372.125 C 226.828125 372.125 291.585938 307.367188 291.585938 227.769531 C 291.585938 192.417969 278.792969 160.015625 257.625 134.890625 L 347.347656 45.167969 L 347.347656 120.320312 L 372.125 120.320312 L 372.125 2.875 Z M 147.230469 347.347656 C 81.296875 347.347656 27.648438 293.703125 27.648438 227.769531 C 27.648438 161.832031 81.292969 108.1875 147.230469 108.1875 C 213.171875 108.1875 266.8125 161.828125 266.8125 227.769531 C 266.8125 293.703125 213.171875 347.347656 147.230469 347.347656 Z M 147.230469 347.347656 "/> </g> </svg>
|
4
src/assets/svg/Gender_queer.svelte
Normal file
4
src/assets/svg/Gender_queer.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 273.230469 165.210938 C 252.726562 144.699219 226.636719 133.105469 199.808594 130.390625 L 199.808594 79.359375 L 234.339844 98.398438 L 246.226562 76.832031 L 213 58.515625 L 246.226562 40.195312 L 234.339844 18.632812 L 199.808594 37.671875 L 199.808594 2.875 L 175.191406 2.875 L 175.191406 37.671875 L 140.660156 18.636719 L 128.773438 40.199219 L 162 58.519531 L 128.773438 76.835938 L 140.660156 98.402344 L 175.191406 79.359375 L 175.191406 130.390625 C 148.367188 133.105469 122.277344 144.699219 101.773438 165.207031 C 78.871094 188.105469 66.261719 218.550781 66.261719 250.9375 C 66.261719 283.324219 78.871094 313.769531 101.773438 336.667969 C 125.40625 360.308594 156.449219 372.125 187.5 372.125 C 218.550781 372.125 249.59375 360.308594 273.230469 336.667969 C 296.132812 313.769531 308.742188 283.324219 308.742188 250.9375 C 308.742188 218.550781 296.132812 188.105469 273.230469 165.210938 Z M 255.824219 319.257812 C 218.152344 356.925781 156.855469 356.929688 119.175781 319.257812 C 100.929688 301.011719 90.875 276.746094 90.875 250.9375 C 90.875 225.128906 100.929688 200.867188 119.175781 182.617188 C 138.015625 163.78125 162.757812 154.367188 187.5 154.367188 C 212.242188 154.367188 236.984375 163.78125 255.824219 182.621094 C 274.070312 200.871094 284.125 225.132812 284.125 250.941406 C 284.121094 276.746094 274.070312 301.011719 255.824219 319.257812 Z M 255.824219 319.257812 "/> </g> </svg>
|
4
src/assets/svg/Gender_trans.svelte
Normal file
4
src/assets/svg/Gender_trans.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 278.738281 2.875 L 278.738281 27.492188 L 309.691406 27.492188 L 250.769531 86.417969 C 233.425781 73.042969 211.722656 65.0625 188.179688 65.0625 C 164.289062 65.0625 142.296875 73.285156 124.832031 87.015625 L 106.859375 69.046875 L 128.496094 47.414062 L 111.089844 30.007812 L 89.457031 51.640625 L 65.308594 27.492188 L 96.261719 27.492188 L 96.261719 2.875 L 23.289062 2.875 L 23.289062 75.855469 L 47.90625 75.855469 L 47.90625 44.902344 L 72.050781 69.046875 L 50.414062 90.675781 L 67.820312 108.078125 L 89.453125 86.445312 L 107.421875 104.414062 C 93.691406 121.882812 85.46875 143.875 85.46875 167.765625 C 85.46875 220.230469 125.023438 263.605469 175.871094 269.710938 L 175.871094 300.851562 L 145.277344 300.851562 L 145.277344 325.464844 L 175.871094 325.464844 L 175.871094 372.125 L 200.488281 372.125 L 200.488281 325.476562 L 231.078125 325.476562 L 231.078125 300.859375 L 200.488281 300.859375 L 200.488281 269.71875 C 251.339844 263.613281 290.890625 220.234375 290.890625 167.769531 C 290.890625 143.53125 282.429688 121.246094 268.335938 103.65625 L 327.09375 44.898438 L 327.09375 75.851562 L 351.710938 75.851562 L 351.710938 2.875 Z M 188.179688 245.867188 C 145.117188 245.867188 110.085938 210.832031 110.085938 167.773438 C 110.085938 124.710938 145.117188 89.679688 188.179688 89.679688 C 231.238281 89.679688 266.273438 124.710938 266.273438 167.773438 C 266.273438 210.832031 231.238281 245.867188 188.179688 245.867188 Z M 188.179688 245.867188 "/> </g> </svg>
|
4
src/assets/svg/Generic_map.svelte
Normal file
4
src/assets/svg/Generic_map.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(26.274511%,69.01961%,36.078432%);fill-opacity:1;" d="M 127.359375 164.457031 L 15.960938 53.058594 L 0 56.605469 L 0 360.847656 L 14.851562 357.550781 L 127.359375 245.039062 Z M 127.359375 164.457031 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(28.235295%,62.7451%,86.274511%);fill-opacity:1;" d="M 66.3125 346.109375 L 127.359375 332.546875 L 127.359375 285.0625 Z M 66.3125 346.109375 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(26.274511%,69.01961%,36.078432%);fill-opacity:1;" d="M 127.359375 28.300781 L 48.707031 45.777344 L 127.359375 124.429688 Z M 127.359375 28.300781 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(26.274511%,69.01961%,36.078432%);fill-opacity:1;" d="M 349.875 22.527344 L 247.640625 56.605469 L 247.640625 124.753906 Z M 349.875 22.527344 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(28.235295%,62.7451%,86.274511%);fill-opacity:1;" d="M 247.640625 164.78125 L 247.640625 353.773438 L 375 304.246094 L 375 37.421875 Z M 247.640625 164.78125 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(23.921569%,60.000002%,30.980393%);fill-opacity:1;" d="M 187.664062 184.734375 L 247.640625 124.753906 L 247.640625 56.605469 L 127.359375 28.300781 L 127.359375 124.429688 Z M 187.664062 184.734375 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(23.921569%,60.000002%,30.980393%);fill-opacity:1;" d="M 127.359375 164.457031 L 127.359375 245.039062 L 167.652344 204.75 Z M 127.359375 164.457031 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(26.274511%,57.647061%,74.901962%);fill-opacity:1;" d="M 127.359375 285.0625 L 127.359375 332.546875 L 247.640625 353.773438 L 247.640625 164.78125 Z M 127.359375 285.0625 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(93.725491%,80.784315%,29.019609%);fill-opacity:1;" d="M 127.359375 124.429688 L 48.707031 45.777344 L 15.960938 53.058594 L 127.359375 164.457031 Z M 127.359375 124.429688 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(93.725491%,80.784315%,29.019609%);fill-opacity:1;" d="M 127.359375 245.039062 L 14.851562 357.550781 L 66.3125 346.109375 L 127.359375 285.0625 Z M 127.359375 245.039062 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(93.725491%,80.784315%,29.019609%);fill-opacity:1;" d="M 247.640625 164.78125 L 375 37.421875 L 375 14.152344 L 349.875 22.527344 L 247.640625 124.753906 Z M 247.640625 164.78125 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(83.92157%,70.588237%,27.058825%);fill-opacity:1;" d="M 187.664062 184.734375 L 127.359375 124.429688 L 127.359375 164.457031 L 167.652344 204.75 L 127.359375 245.039062 L 127.359375 285.0625 L 247.640625 164.78125 L 247.640625 124.753906 Z M 187.664062 184.734375 "/> </g> </svg>
|
4
src/assets/svg/Gps_arrow.svelte
Normal file
4
src/assets/svg/Gps_arrow.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg width="375px" height="375px" viewBox="0 0 375 375" version="1.1" id="svg5" sodipodi:docname="gps_arrow.svg" inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs9" /> <sodipodi:namedview id="namedview7" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" showgrid="false" inkscape:zoom="1.7173333" inkscape:cx="187.79115" inkscape:cy="187.5" inkscape:window-width="1920" inkscape:window-height="1007" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg5" /> <g id="surface1" transform="matrix(0.63906155,0,0,0.98221939,67.675844,3.3354774)" style="stroke:#ffffff;stroke-opacity:1;stroke-width:3.78656711;stroke-miterlimit:4;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:bevel;fill:#5454eb;fill-opacity:0.98823529"> <path style="fill:#5454eb;fill-opacity:0.98823529;fill-rule:nonzero;stroke:#ffffff;stroke-opacity:1;stroke-width:3.78656711;stroke-miterlimit:4;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:bevel" d="M 0,374.61719 C 0,373.62109 187.49609,-0.375 187.80469,0 188.84766,1.261719 375.34375,374.71094 375,374.85156 c -0.22266,0.0899 -42.48047,-18.05078 -93.90234,-40.3125 l -93.4961,-40.47265 -93.343748,40.46875 C 42.917969,356.78906 0.707031,375 0.457031,375 0.207031,375 0,374.82812 0,374.61719 Z m 0,0" id="path2" /> </g> </svg>
|
4
src/assets/svg/Hand.svelte
Normal file
4
src/assets/svg/Hand.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="269px" height="371px" viewBox="0 0 269 371" version="1.1"> <g id="surface1"> <path style="fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:1.73;stroke-linecap:butt;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 7.931469 38.692828 L 24.009954 38.692828 L 27.696924 28.349361 L 27.696924 16.367367 C 27.696924 14.700934 22.269128 13.515563 22.269128 14.421459 L 22.269128 18.108355 L 22.269128 12.782932 C 22.269128 11.811644 16.870069 11.075681 16.870069 12.782932 L 16.870069 16.776791 L 16.870069 12.370176 C 16.296596 11.413882 11.515988 11.026533 11.515988 12.370176 L 11.515988 17.084171 L 11.515988 2.64022 C 11.324414 0.355278 6.57754 0.192841 6.099437 2.64022 L 6.099437 24.048122 L 6.099437 18.205401 C 6.121927 16.667667 0.954839 16.501898 0.864882 18.205401 L 0.864882 24.355502 Z M 7.931469 38.692828 " transform="matrix(9.379528,0,0,9.378656,0.551877,0)"/> </g> </svg>
|
4
src/assets/svg/Help.svelte
Normal file
4
src/assets/svg/Help.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 225.160156 268.851562 L 160.957031 268.851562 L 160.957031 260.476562 C 160.957031 246.230469 162.574219 234.664062 165.804688 225.777344 C 169.035156 216.890625 174.679688 208.773438 181.066406 201.429688 C 187.457031 194.085938 196.832031 191.542969 219.160156 173.035156 C 231.054688 163.339844 239.914062 144.070312 239.914062 135.992188 C 240.742188 114.621094 234.679688 106.203125 226.9375 98.460938 C 218.425781 91.074219 204.160156 87.171875 192.773438 87.171875 C 182.34375 87.171875 167.070312 90.207031 159.824219 96.695312 C 150.085938 103.183594 135.332031 124.367188 138.40625 145.707031 L 65.378906 146.347656 C 65.378906 87.324219 76.414062 71.75 102.546875 47.597656 C 127.851562 27.183594 150.050781 20.089844 194.09375 20.089844 C 227.777344 20.089844 254.875 26.773438 274.558594 40.140625 C 301.292969 58.207031 320.476562 81.882812 320.476562 126.53125 C 320.476562 143.171875 313.285156 160.613281 304.304688 174.710938 C 297.398438 186.316406 281.636719 199.660156 259.921875 213.910156 C 243.839844 223.585938 234.894531 233.855469 231 240.980469 C 227.109375 248.101562 225.160156 257.394531 225.160156 268.851562 Z M 225.160156 268.851562 "/> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 228.535156 323.679688 C 228.539062 338.824219 212.730469 351.101562 193.226562 351.101562 C 173.722656 351.101562 157.914062 338.824219 157.921875 323.679688 C 157.914062 308.539062 173.722656 296.261719 193.226562 296.261719 C 212.730469 296.261719 228.539062 308.539062 228.535156 323.679688 Z M 228.535156 323.679688 "/> </g> </svg>
|
4
src/assets/svg/Home.svelte
Normal file
4
src/assets/svg/Home.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 362.109375 164.0625 L 328.125 130.101562 L 328.125 46.875 C 328.125 33.984375 317.578125 23.4375 304.6875 23.4375 L 281.25 23.4375 C 268.359375 23.4375 257.8125 33.984375 257.8125 46.875 L 257.8125 59.835938 L 210.9375 13.007812 C 204.539062 6.960938 198.679688 0 187.5 0 C 176.320312 0 170.460938 6.960938 164.0625 13.007812 L 12.890625 164.0625 C 5.578125 171.679688 0 177.234375 0 187.5 C 0 200.695312 10.125 210.9375 23.4375 210.9375 L 46.875 210.9375 L 46.875 351.5625 C 46.875 364.453125 57.421875 375 70.3125 375 L 140.625 375 L 140.625 257.8125 C 140.625 244.921875 151.171875 234.375 164.0625 234.375 L 210.9375 234.375 C 223.828125 234.375 234.375 244.921875 234.375 257.8125 L 234.375 375 L 304.6875 375 C 317.578125 375 328.125 364.453125 328.125 351.5625 L 328.125 210.9375 L 351.5625 210.9375 C 364.875 210.9375 375 200.695312 375 187.5 C 375 177.234375 369.421875 171.679688 362.109375 164.0625 Z M 362.109375 164.0625 "/> </g> </svg>
|
4
src/assets/svg/Invalid.svelte
Normal file
4
src/assets/svg/Invalid.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#DD2E44" d="M18 0C8.059 0 0 8.059 0 18s8.059 18 18 18 18-8.059 18-18S27.941 0 18 0zm13 18c0 2.565-.753 4.95-2.035 6.965L11.036 7.036C13.05 5.753 15.435 5 18 5c7.18 0 13 5.821 13 13zM5 18c0-2.565.753-4.95 2.036-6.964l17.929 17.929C22.95 30.247 20.565 31 18 31c-7.179 0-13-5.82-13-13z"/></svg>
|
4
src/assets/svg/Josm_logo.svelte
Normal file
4
src/assets/svg/Josm_logo.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Layers.svelte
Normal file
4
src/assets/svg/Layers.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(1.176471%,0%,0%);fill-opacity:1;" d="M 371.707031 112.410156 C 370.386719 115.515625 367.917969 117.234375 365.007812 118.78125 C 307.3125 149.324219 249.660156 179.914062 192.054688 210.617188 C 188.816406 212.335938 186.484375 212.261719 183.273438 210.546875 C 125.675781 179.835938 68.011719 149.253906 10.359375 118.648438 C 2.105469 114.269531 1.507812 103.796875 9.210938 98.316406 C 10.472656 97.417969 11.863281 96.691406 13.230469 95.945312 C 68.351562 66.171875 123.507812 36.453125 178.558594 6.550781 C 185.027344 3.03125 190.667969 3.136719 197.097656 6.636719 C 251.9375 36.433594 306.863281 66.074219 361.816406 95.648438 C 366.335938 98.085938 369.945312 101.015625 371.707031 105.925781 C 371.707031 108.089844 371.707031 110.246094 371.707031 112.410156 Z M 371.707031 112.410156 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(1.176471%,0%,0%);fill-opacity:1;" d="M 184.140625 372.59375 C 167.671875 363.679688 151.207031 354.757812 134.730469 345.851562 C 94.003906 323.847656 53.28125 301.863281 12.558594 279.851562 C 5 275.769531 1.757812 269.359375 4.652344 262.824219 C 5.921875 259.953125 8.363281 257.074219 11.035156 255.457031 C 18.792969 250.75 26.894531 246.574219 35 242.472656 C 36.214844 241.855469 38.425781 242.300781 39.773438 243.015625 C 86.078125 267.503906 132.367188 292.023438 178.546875 316.734375 C 184.882812 320.117188 190.425781 320.203125 196.769531 316.808594 C 242.855469 292.167969 289.0625 267.746094 335.167969 243.140625 C 337.847656 241.710938 339.757812 241.769531 342.300781 243.246094 C 348.394531 246.796875 354.605469 250.171875 360.917969 253.324219 C 365.671875 255.699219 369.558594 258.773438 371.699219 263.761719 C 371.699219 265.929688 371.699219 268.085938 371.699219 270.25 C 369.855469 275.277344 366.097656 278.226562 361.488281 280.699219 C 321.488281 302.171875 281.5625 323.78125 241.621094 345.359375 C 224.84375 354.417969 208.085938 363.515625 191.332031 372.59375 C 188.929688 372.59375 186.53125 372.59375 184.140625 372.59375 Z M 184.140625 372.59375 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(1.176471%,0%,0%);fill-opacity:1;" d="M 369.769531 191.6875 C 368.304688 194.867188 365.566406 196.492188 362.589844 198.066406 C 304.789062 228.683594 247.019531 259.34375 189.296875 290.105469 C 186.609375 291.535156 184.738281 291.359375 182.175781 289.996094 C 124.230469 259.136719 66.25 228.375 8.269531 197.582031 C 0.816406 193.628906 -0.484375 184.949219 5.578125 178.914062 C 6.910156 177.589844 8.585938 176.546875 10.246094 175.628906 C 17.359375 171.703125 24.609375 167.992188 31.65625 163.941406 C 34.058594 162.558594 35.8125 162.710938 38.183594 163.980469 C 84.191406 188.496094 130.285156 212.847656 176.234375 237.472656 C 182.964844 241.078125 188.703125 241.050781 195.421875 237.445312 C 241.371094 212.820312 287.472656 188.476562 333.480469 163.949219 C 335.863281 162.683594 337.628906 162.566406 340.007812 163.9375 C 346.207031 167.542969 352.503906 171.015625 358.933594 174.1875 C 363.6875 176.527344 367.554688 179.550781 369.78125 184.464844 C 369.769531 186.882812 369.769531 189.289062 369.769531 191.6875 Z M 369.769531 191.6875 "/> </g> </svg>
|
4
src/assets/svg/Length_crosshair.svelte
Normal file
4
src/assets/svg/Length_crosshair.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="374px" height="374px" viewBox="0 0 374 374" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-dasharray:72,72;stroke-miterlimit:4;" d="M 3.104683 433.716893 C 3.102167 669.950341 -188.62198 861.481439 -425.155198 861.533522 C -661.679447 861.585522 -853.488633 670.150458 -853.602794 433.909107 C -853.707985 197.667673 -662.074269 6.056609 -425.542044 5.896802 " transform="matrix(0.00400976,-0.435505,0.4351,0.0040135,0,0.0566956)"/> <path style="fill: none !important;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 429.768036 430.089764 L 429.768036 0.892297 " transform="matrix(0.435118,0,0,0.435524,0,0.0566956)"/> <path style="fill: none !important;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-dasharray:36,36;stroke-miterlimit:4;" d="M 857.587967 429.237701 L 1.948105 429.237701 " transform="matrix(0.435118,0,0,0.435524,0,0.0566956)"/> <path style="fill: none !important;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-dasharray:36,36;stroke-miterlimit:4;" d="M 429.768036 857.305064 L 429.768036 428.789247 " transform="matrix(0.435118,0,0,0.435524,0,0.0566956)"/> <path style="fill: none !important;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-dasharray:18,18;stroke-miterlimit:4;" d="M 857.318644 1.035803 L 1.687759 1.035803 " transform="matrix(0.435118,0,0,0.435524,0,0.0566956)"/> <path style="fill: none !important;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-dasharray:9,9;stroke-miterlimit:4;" d="M 857.587967 858.237848 L 1.948105 858.237848 " transform="matrix(0.435118,0,0,0.435524,0,0.0566956)"/> <path style="fill: none !important;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M -5.359608 -424.721804 C -5.359685 -189.95509 -194.791961 0.956658 -429.838638 3.086938 C -664.885397 5.208249 -857.741855 -182.252133 -861.996904 -416.979633 " transform="matrix(-0.4351,-0.00401356,0.00400982,-0.435505,0,0.0566956)"/> </g> </svg>
|
4
src/assets/svg/Liberapay.svelte
Normal file
4
src/assets/svg/Liberapay.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(96.470588%,78.823531%,8.235294%);fill-opacity:1;" d="M 375.269531 339.230469 C 375.269531 359.25 359.046875 375.488281 339.011719 375.488281 L 36.511719 375.488281 C 16.496094 375.488281 0.253906 359.246094 0.253906 339.230469 L 0.253906 36.730469 C 0.253906 16.710938 16.496094 0.472656 36.511719 0.472656 L 339.011719 0.472656 C 359.046875 0.472656 375.269531 16.710938 375.269531 36.730469 L 375.269531 339.230469 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 153.082031 263.199219 C 141.003906 263.199219 131.523438 261.621094 124.636719 258.476562 C 117.746094 255.328125 112.808594 251.039062 109.835938 245.585938 C 106.855469 240.144531 105.414062 233.914062 105.5 226.839844 C 105.578125 219.78125 106.554688 212.253906 108.433594 204.257812 L 140.835938 68.777344 L 180.382812 62.65625 L 144.917969 209.621094 C 144.238281 212.679688 143.859375 215.488281 143.773438 218.035156 C 143.683594 220.585938 144.152344 222.84375 145.171875 224.796875 C 146.191406 226.757812 147.933594 228.328125 150.402344 229.515625 C 152.867188 230.710938 156.3125 231.476562 160.738281 231.816406 L 153.082031 263.179688 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 295.929688 178.757812 C 295.929688 191.171875 293.886719 202.527344 289.804688 212.820312 C 285.722656 223.113281 280.066406 232 272.839844 239.480469 C 265.609375 246.972656 256.933594 252.792969 246.8125 256.957031 C 236.695312 261.121094 225.675781 263.210938 213.777344 263.210938 C 207.992188 263.210938 202.210938 262.695312 196.425781 261.671875 L 184.945312 307.855469 L 147.183594 307.855469 L 189.535156 131.3125 C 196.339844 129.273438 204.121094 127.445312 212.878906 125.828125 C 221.640625 124.210938 231.125 123.40625 241.332031 123.40625 C 250.855469 123.40625 259.066406 124.851562 265.953125 127.742188 C 272.84375 130.632812 278.496094 134.589844 282.921875 139.605469 C 287.339844 144.625 290.613281 150.492188 292.738281 157.210938 C 294.863281 163.925781 295.929688 171.117188 295.929688 178.773438 M 203.3125 231.078125 C 206.203125 231.761719 209.773438 232.097656 214.027344 232.097656 C 220.65625 232.097656 226.695312 230.871094 232.140625 228.398438 C 237.582031 225.9375 242.21875 222.492188 246.046875 218.066406 C 249.867188 213.648438 252.847656 208.335938 254.972656 202.121094 C 257.097656 195.914062 258.160156 189.070312 258.160156 181.582031 C 258.160156 174.273438 256.542969 168.0625 253.316406 162.957031 C 250.082031 157.855469 244.472656 155.304688 236.480469 155.304688 C 231.03125 155.304688 225.929688 155.8125 221.167969 156.835938 L 203.3125 231.078125 "/> </g> </svg>
|
4
src/assets/svg/Loading.svelte
Normal file
4
src/assets/svg/Loading.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:3.262002;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:0.266355;stroke-miterlimit:4;" d="M 22.390901 12.010996 C 22.390901 17.743283 17.744366 22.390319 12.012079 22.391069 C 6.279792 22.39157 1.632005 17.745285 1.631004 12.012998 C 1.630003 6.280711 6.275788 1.632674 12.008075 1.630922 C 17.740362 1.629421 22.388899 6.274705 22.390901 12.006992 " transform="matrix(15.610589,0,0,15.610589,0,0.00128032)"/> <path style="fill: none !important;stroke-width:3.262002;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 22.390901 12.010996 C 22.390901 14.870133 21.211564 17.602903 19.130895 19.564212 C 17.050476 21.525521 14.252896 22.541458 11.398763 22.372803 " transform="matrix(15.610589,0,0,15.610589,0,0.00128032)"/> </g> </svg>
|
4
src/assets/svg/Location.svelte
Normal file
4
src/assets/svg/Location.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 370.789062 174.078125 L 310.925781 174.078125 C 308.027344 144.964844 295.136719 117.75 274.449219 97.058594 C 253.757812 76.371094 226.542969 63.480469 197.425781 60.582031 L 197.425781 0 L 173.484375 0 L 173.484375 61.179688 C 144.359375 64.054688 117.128906 76.9375 96.4375 97.632812 C 75.742188 118.328125 62.859375 145.554688 59.984375 174.679688 L 0.121094 174.679688 L 0.121094 199.34375 L 59.984375 199.34375 C 62.84375 228.460938 75.722656 255.6875 96.421875 276.367188 C 117.121094 297.042969 144.359375 309.890625 173.484375 312.71875 L 173.484375 372.460938 L 197.425781 372.460938 L 197.425781 312.601562 C 226.539062 309.75 253.765625 296.894531 274.460938 276.21875 C 295.160156 255.542969 308.046875 228.335938 310.925781 199.222656 L 370.789062 199.222656 Z M 185.335938 288.175781 C 165.210938 288.152344 145.550781 282.164062 128.828125 270.96875 C 112.109375 259.773438 99.085938 243.867188 91.402344 225.273438 C 83.71875 206.675781 81.71875 186.21875 85.660156 166.484375 C 89.597656 146.753906 99.300781 128.628906 113.539062 114.410156 C 127.773438 100.191406 145.90625 90.507812 165.644531 86.59375 C 185.382812 82.675781 205.835938 84.699219 224.425781 92.402344 C 243.015625 100.109375 258.898438 113.15625 270.078125 129.886719 C 281.253906 146.621094 287.21875 166.289062 287.21875 186.410156 C 287.265625 199.820312 284.667969 213.109375 279.566406 225.511719 C 274.46875 237.914062 266.96875 249.1875 257.503906 258.6875 C 248.039062 268.1875 236.792969 275.722656 224.40625 280.867188 C 212.023438 286.007812 198.746094 288.65625 185.335938 288.65625 Z M 185.335938 288.175781 "/> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 185.332031 128.542969 C 196.777344 128.542969 207.964844 131.933594 217.484375 138.292969 C 227 144.652344 234.417969 153.691406 238.796875 164.265625 C 243.179688 174.839844 244.324219 186.476562 242.089844 197.699219 C 239.859375 208.925781 234.34375 219.238281 226.253906 227.332031 C 218.160156 235.425781 207.847656 240.9375 196.621094 243.171875 C 185.398438 245.402344 173.757812 244.257812 163.1875 239.875 C 152.609375 235.496094 143.574219 228.078125 137.214844 218.5625 C 130.855469 209.046875 127.460938 197.855469 127.460938 186.410156 C 127.488281 171.070312 133.59375 156.367188 144.441406 145.519531 C 155.289062 134.671875 169.992188 128.566406 185.332031 128.542969 Z M 185.332031 128.542969 "/> </g> </svg>
|
4
src/assets/svg/Location_empty.svelte
Normal file
4
src/assets/svg/Location_empty.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 372.8125 175.78125 L 312.5 175.78125 C 306.570312 115.964844 259.332031 68.597656 199.53125 62.5 L 199.53125 1.71875 L 175.46875 1.71875 L 175.46875 62.5 C 115.511719 68.765625 68.269531 116.398438 62.5 176.40625 L 2.1875 176.40625 L 2.1875 201.09375 L 62.5 201.09375 C 68.292969 261.152344 115.871094 308.664062 175.9375 314.375 L 175.9375 375 L 200 375 L 200 314.21875 C 259.703125 308.089844 306.78125 260.679688 312.5 200.9375 L 372.34375 200.9375 L 372.34375 175.78125 Z M 187.5 289.84375 C 167.40625 289.867188 147.761719 283.878906 131.09375 272.65625 C 96.832031 249.789062 79.742188 208.519531 87.8125 168.125 C 91.808594 148.441406 101.476562 130.351562 115.625 116.09375 C 144.636719 86.929688 188.359375 78.113281 226.40625 93.75 C 264.28125 109.484375 288.949219 146.488281 288.90625 187.5 C 288.988281 214.550781 278.304688 240.519531 259.21875 259.6875 C 249.785156 269.242188 238.519531 276.789062 226.09375 281.875 C 213.71875 287.035156 200.441406 289.691406 187.03125 289.6875 Z M 187.5 289.84375 "/> </g> </svg>
|
4
src/assets/svg/Location_locked.svelte
Normal file
4
src/assets/svg/Location_locked.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 370.789062 174.078125 L 310.925781 174.078125 C 308.027344 144.964844 295.136719 117.75 274.449219 97.058594 C 253.757812 76.371094 226.542969 63.480469 197.425781 60.582031 L 197.425781 0 L 173.484375 0 L 173.484375 61.179688 C 144.359375 64.054688 117.128906 76.9375 96.4375 97.632812 C 75.742188 118.328125 62.859375 145.554688 59.984375 174.679688 L 0.121094 174.679688 L 0.121094 199.34375 L 59.984375 199.34375 C 62.84375 228.460938 75.722656 255.6875 96.421875 276.367188 C 117.121094 297.042969 144.359375 309.890625 173.484375 312.71875 L 173.484375 372.460938 L 197.425781 372.460938 L 197.425781 312.601562 C 226.539062 309.75 253.765625 296.894531 274.460938 276.21875 C 295.160156 255.542969 308.046875 228.335938 310.925781 199.222656 L 370.789062 199.222656 Z M 185.335938 288.175781 C 165.210938 288.152344 145.550781 282.164062 128.828125 270.96875 C 112.109375 259.773438 99.085938 243.867188 91.402344 225.273438 C 83.71875 206.675781 81.71875 186.21875 85.660156 166.484375 C 89.597656 146.753906 99.300781 128.628906 113.539062 114.410156 C 127.773438 100.191406 145.90625 90.507812 165.644531 86.59375 C 185.382812 82.675781 205.835938 84.699219 224.425781 92.402344 C 243.015625 100.109375 258.898438 113.15625 270.078125 129.886719 C 281.253906 146.621094 287.21875 166.289062 287.21875 186.410156 C 287.265625 199.820312 284.667969 213.109375 279.566406 225.511719 C 274.46875 237.914062 266.96875 249.1875 257.503906 258.6875 C 248.039062 268.1875 236.792969 275.722656 224.40625 280.867188 C 212.023438 286.007812 198.746094 288.65625 185.335938 288.65625 Z M 185.335938 288.175781 "/> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:0.988235;" d="M 233.257812 166.777344 L 224.351562 166.777344 L 224.351562 137.683594 C 224.351562 137.683594 224.351562 95.8125 182.734375 95.8125 C 141.113281 95.8125 141.113281 137.683594 141.113281 137.683594 L 141.113281 166.777344 L 132.207031 166.777344 C 123.335938 166.777344 116.144531 174.015625 116.144531 182.941406 L 116.144531 247.21875 C 116.191406 256.113281 123.367188 263.300781 132.207031 263.300781 L 233.257812 263.300781 C 242.128906 263.300781 249.320312 256.0625 249.320312 247.136719 L 249.320312 182.941406 C 249.320312 174.015625 242.128906 166.777344 233.257812 166.777344 Z M 182.734375 229.800781 C 167.902344 229.800781 160.476562 211.761719 170.960938 201.210938 C 181.449219 190.660156 199.378906 198.128906 199.378906 213.054688 C 199.378906 222.304688 191.925781 229.800781 182.734375 229.800781 Z M 207.703125 166.777344 L 157.761719 166.777344 L 157.761719 141.871094 C 157.761719 129.308594 157.761719 112.558594 182.734375 112.558594 C 207.703125 112.558594 207.703125 129.308594 207.703125 141.871094 Z M 207.703125 166.777344 "/> </g> </svg>
|
4
src/assets/svg/Location_refused.svelte
Normal file
4
src/assets/svg/Location_refused.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 372.8125 175.78125 L 312.5 175.78125 C 306.570312 115.964844 259.332031 68.597656 199.53125 62.5 L 199.53125 1.71875 L 175.46875 1.71875 L 175.46875 62.5 C 115.511719 68.765625 68.269531 116.398438 62.5 176.40625 L 2.1875 176.40625 L 2.1875 201.09375 L 62.5 201.09375 C 68.292969 261.152344 115.871094 308.664062 175.9375 314.375 L 175.9375 375 L 200 375 L 200 314.21875 C 259.703125 308.089844 306.78125 260.679688 312.5 200.9375 L 372.34375 200.9375 L 372.34375 175.78125 Z M 187.5 289.84375 C 167.40625 289.867188 147.761719 283.878906 131.09375 272.65625 C 96.832031 249.789062 79.742188 208.519531 87.8125 168.125 C 91.808594 148.441406 101.476562 130.351562 115.625 116.09375 C 144.636719 86.929688 188.359375 78.113281 226.40625 93.75 C 264.28125 109.484375 288.949219 146.488281 288.90625 187.5 C 288.988281 214.550781 278.304688 240.519531 259.21875 259.6875 C 249.785156 269.242188 238.519531 276.789062 226.09375 281.875 C 213.71875 287.035156 200.441406 289.691406 187.03125 289.6875 Z M 187.5 289.84375 "/> <path style="fill-rule:nonzero;fill:rgb(74.117649%,5.882353%,0%);fill-opacity:1;stroke-width:0.426333;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 3.18875 2.36425 C 2.9815 2.379 2.80175 2.51325 2.72825 2.70775 C 2.655 2.90225 2.7015 3.1215 2.84725 3.26975 L 19.9735 21.26175 C 20.10475 21.4 20.29975 21.45775 20.485 21.413 C 20.67025 21.3685 20.81775 21.22825 20.8715 21.0455 C 20.92525 20.8625 20.87725 20.665 20.74575 20.527 L 3.61975 2.53475 C 3.5095 2.41525 3.35075 2.35225 3.18875 2.36425 Z M 3.18875 2.36425 " transform="matrix(15.625,0,0,15.625,0,0)"/> </g> </svg>
|
4
src/assets/svg/Location_unlocked.svelte
Normal file
4
src/assets/svg/Location_unlocked.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 370.789062 174.078125 L 310.925781 174.078125 C 308.027344 144.964844 295.136719 117.75 274.449219 97.058594 C 253.757812 76.371094 226.542969 63.480469 197.425781 60.582031 L 197.425781 0 L 173.484375 0 L 173.484375 61.179688 C 144.359375 64.054688 117.128906 76.9375 96.4375 97.632812 C 75.742188 118.328125 62.859375 145.554688 59.984375 174.679688 L 0.121094 174.679688 L 0.121094 199.34375 L 59.984375 199.34375 C 62.84375 228.460938 75.722656 255.6875 96.421875 276.367188 C 117.121094 297.042969 144.359375 309.890625 173.484375 312.71875 L 173.484375 372.460938 L 197.425781 372.460938 L 197.425781 312.601562 C 226.539062 309.75 253.765625 296.894531 274.460938 276.21875 C 295.160156 255.542969 308.046875 228.335938 310.925781 199.222656 L 370.789062 199.222656 Z M 185.335938 288.175781 C 165.210938 288.152344 145.550781 282.164062 128.828125 270.96875 C 112.109375 259.773438 99.085938 243.867188 91.402344 225.273438 C 83.71875 206.675781 81.71875 186.21875 85.660156 166.484375 C 89.597656 146.753906 99.300781 128.628906 113.539062 114.410156 C 127.773438 100.191406 145.90625 90.507812 165.644531 86.59375 C 185.382812 82.675781 205.835938 84.699219 224.425781 92.402344 C 243.015625 100.109375 258.898438 113.15625 270.078125 129.886719 C 281.253906 146.621094 287.21875 166.289062 287.21875 186.410156 C 287.265625 199.820312 284.667969 213.109375 279.566406 225.511719 C 274.46875 237.914062 266.96875 249.1875 257.503906 258.6875 C 248.039062 268.1875 236.792969 275.722656 224.40625 280.867188 C 212.023438 286.007812 198.746094 288.65625 185.335938 288.65625 Z M 185.335938 288.175781 "/> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:0.988235;" d="M 182.738281 95.824219 C 141.121094 95.824219 141.113281 137.695312 141.113281 137.695312 L 141.113281 166.777344 L 132.203125 166.777344 C 123.328125 166.777344 116.148438 174.027344 116.148438 182.953125 L 116.148438 247.222656 C 116.195312 256.117188 123.363281 263.304688 132.203125 263.304688 L 233.246094 263.304688 C 242.117188 263.304688 249.328125 256.058594 249.328125 247.132812 L 249.328125 182.953125 C 249.328125 174.027344 242.117188 166.777344 233.246094 166.777344 L 224.367188 166.777344 L 224.367188 166.566406 L 207.703125 166.566406 L 207.703125 166.777344 L 157.777344 166.777344 L 157.777344 141.875 C 157.777344 129.316406 157.769531 112.546875 182.738281 112.546875 C 198.078125 112.546875 203.953125 118.894531 206.238281 126.679688 L 222.6875 126.679688 C 219.609375 114.273438 210.5 95.824219 182.738281 95.824219 Z M 184.570312 196.378906 C 192.382812 197.304688 199.371094 203.714844 199.371094 213.042969 C 199.371094 222.292969 191.933594 229.796875 182.738281 229.796875 C 167.90625 229.796875 160.472656 211.753906 170.960938 201.203125 C 174.890625 197.246094 179.882812 195.824219 184.570312 196.378906 Z M 184.570312 196.378906 "/> </g> </svg>
|
4
src/assets/svg/Login.svelte
Normal file
4
src/assets/svg/Login.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg width="375px" height="375px" viewBox="0 0 375 375" version="1.1" id="svg11" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs15" /> <path id="path2" style="color:{color};fill:{color};stroke-linecap:round;stroke-linejoin:round;-inkscape-stroke:none" d="M 53.929688 27.095703 C 32.119816 27.095703 16.970068 40.812733 11.746094 53.177734 C 7.106544 64.159419 7.5344948 73.99011 7.6914062 76.158203 L 8.4628906 188.625 L 7.6914062 301.08984 C 7.5344948 303.25794 7.106544 313.08863 11.746094 324.07031 C 16.970068 336.43531 32.119816 350.1543 53.929688 350.1543 C 87.406 350.1543 140.12695 349.40625 140.12695 349.40625 A 15.663316 15.663316 0 0 0 140.16602 349.40625 C 140.16602 349.40625 151.12665 349.32365 161.72266 342.59961 C 172.31866 335.87554 182.41602 320.93277 182.41602 300.11719 L 182.41602 294.41016 A 15.66175 15.66175 0 0 0 166.75391 278.74805 A 15.66175 15.66175 0 0 0 151.0918 294.41016 L 151.0918 300.11719 C 151.0918 312.48521 147.76532 314.35785 144.9375 316.15234 C 142.10968 317.94684 139.64648 318.08594 139.64648 318.08594 C 139.59848 318.08661 86.922647 318.83008 53.929688 318.83008 C 42.493509 318.83008 42.353165 316.03148 40.599609 311.88086 C 38.846054 307.73024 38.962891 302.7207 38.962891 302.7207 A 15.663316 15.663316 0 0 0 39.013672 301.56836 L 39.787109 188.73242 A 15.66175 15.66175 0 0 0 39.78125 188.625 A 15.66175 15.66175 0 0 0 39.787109 188.51758 L 39.013672 75.681641 A 15.663316 15.663316 0 0 0 38.962891 74.527344 C 38.962891 74.527344 38.846054 69.517805 40.599609 65.367188 C 42.353165 61.216571 42.493508 58.419922 53.929688 58.419922 C 86.922646 58.419922 139.59847 59.161432 139.64648 59.162109 C 139.64648 59.162109 142.10968 59.303163 144.9375 61.097656 C 147.76532 62.892149 151.0918 64.762835 151.0918 77.130859 L 151.0918 82.839844 A 15.66175 15.66175 0 0 0 166.75391 98.5 A 15.66175 15.66175 0 0 0 182.41602 82.839844 L 182.41602 77.130859 C 182.41602 56.315277 172.31866 41.374459 161.72266 34.650391 C 151.12665 27.926322 140.16602 27.84375 140.16602 27.84375 A 15.663316 15.663316 0 0 0 140.12695 27.841797 C 140.12695 27.841797 87.406001 27.095703 53.929688 27.095703 z M 234.94336 74.408203 A 19.8664 19.8664 0 0 0 225.36719 78.158203 C 225.36719 78.158203 201.76359 95.524722 177.85938 116.39258 C 165.90727 126.82651 153.84111 138.11038 144.11523 149.23828 C 134.38936 160.36618 124.82118 169.15316 124.58594 187.41211 A 19.868386 19.868386 0 0 0 124.58594 187.41406 C 124.34949 205.98477 134.08341 214.90837 143.80273 226.0918 C 153.52206 237.27522 165.61857 248.59181 177.61914 259.06055 C 201.62029 279.99802 225.39648 297.42578 225.39648 297.42578 A 19.8664 19.8664 0 0 0 253.16602 293.16406 A 19.8664 19.8664 0 0 0 248.9043 265.39453 C 248.9043 265.39453 226.16776 248.68556 203.73828 229.11914 C 194.28077 220.86885 185.03853 212.15104 177.75586 204.33594 L 359.47461 204.33594 A 16.875 16.875 0 0 0 376.34961 187.46094 A 16.875 16.875 0 0 0 359.47461 170.58594 L 178.46289 170.58594 C 185.70519 162.89528 194.75718 154.38471 203.98828 146.32617 C 226.3516 126.80349 248.93359 110.14648 248.93359 110.14648 A 19.8664 19.8664 0 0 0 253.14453 82.369141 A 19.8664 19.8664 0 0 0 234.94336 74.408203 z " /> </svg>
|
4
src/assets/svg/Logo.svelte
Normal file
4
src/assets/svg/Logo.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(43.921569%,77.254903%,28.627452%);fill-opacity:1;" d="M 201.085938 355.023438 C 195.375 366.917969 178.441406 366.917969 172.734375 355.023438 L 76.523438 154.683594 C 71.507812 144.242188 79.117188 132.148438 90.699219 132.148438 L 283.117188 132.148438 C 294.699219 132.148438 302.308594 144.242188 297.296875 154.683594 Z M 201.085938 355.023438 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(43.921569%,77.254903%,28.627452%);fill-opacity:1;" d="M 342.59375 158.097656 C 342.59375 243.210938 273.59375 312.207031 188.480469 312.207031 C 103.367188 312.207031 34.371094 243.210938 34.371094 158.097656 C 34.371094 72.984375 103.367188 3.984375 188.480469 3.984375 C 273.59375 3.984375 342.59375 72.984375 342.59375 158.097656 Z M 342.59375 158.097656 "/> <path style="fill: none !important;stroke-width:7.514114;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 22.101062 291.358818 L 5.785685 275.043441 " transform="matrix(4.921187,-4.921187,4.921187,4.921187,-1274.875828,-1169.962203)"/> <path style="fill: none !important;stroke-width:7.514114;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 22.125669 274.965256 L 5.810292 291.280633 " transform="matrix(4.921187,-4.921187,4.921187,4.921187,-1274.875828,-1169.962203)"/> </g> </svg>
|
4
src/assets/svg/Logout.svelte
Normal file
4
src/assets/svg/Logout.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style="fill: none !important;stroke-width:2.803368;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 18.611232 277.184628 C 18.611232 277.184628 25.128526 281.985713 25.151677 283.782675 C 25.174553 285.579636 18.611232 290.396707 18.611232 290.396707 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:2.38125;stroke-linecap:round;stroke-linejoin:miter;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 24.831145 283.768067 L 9.980579 283.768067 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:2.210049;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 11.765414 277.999048 L 11.765414 275.983529 C 11.765414 273.642518 9.871162 273.611099 9.871162 273.611099 C 9.871162 273.611099 6.150459 273.558458 3.805038 273.558458 C 1.459342 273.558458 1.717862 275.920967 1.717862 275.920967 L 1.702152 283.850198 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> <path style="fill: none !important;stroke-width:2.210049;stroke-linecap:round;stroke-linejoin:round;stroke:{color};stroke-opacity:1;stroke-miterlimit:4;" d="M 11.765414 289.701073 L 11.765414 291.716592 C 11.765414 294.057879 9.871162 294.089298 9.871162 294.089298 C 9.871162 294.089298 6.150459 294.141939 3.805038 294.141939 C 1.459342 294.141939 1.647582 291.811401 1.647582 291.811401 L 1.702152 283.850198 " transform="matrix(14.173228,0,0,14.173228,0.0000135166,-3834.448583)"/> </g> </svg>
|
4
src/assets/svg/Mangrove_logo.svelte
Normal file
4
src/assets/svg/Mangrove_logo.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Mapcomplete_logo.svelte
Normal file
4
src/assets/svg/Mapcomplete_logo.svelte
Normal file
File diff suppressed because one or more lines are too long
4
src/assets/svg/Mapillary.svelte
Normal file
4
src/assets/svg/Mapillary.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 375 187.5 C 375 291.058594 291.058594 375 187.5 375 C 83.941406 375 0 291.058594 0 187.5 C 0 83.941406 83.941406 0 187.5 0 C 291.058594 0 375 83.941406 375 187.5 Z M 88.59375 176.085938 C 84.246094 173.730469 85.042969 167.589844 90.539062 166.019531 C 95.203125 164.695312 133.042969 152.003906 144.503906 148.160156 C 146.558594 147.480469 148.175781 145.882812 148.875 143.835938 L 167.273438 89.894531 C 168.984375 84.855469 175.21875 84.832031 177.75 89.71875 C 178.03125 90.257812 181.558594 96.667969 186.316406 105.316406 L 186.316406 105.328125 C 196.816406 124.417969 213.292969 154.371094 214.113281 156.1875 C 215.378906 158.820312 214.382812 161.984375 211.839844 163.417969 C 210.28125 164.390625 208.160156 165.644531 206.34375 166.699219 L 203.191406 168.574219 C 200.414062 170.308594 197.753906 169.101562 196.476562 166.429688 C 195.714844 164.824219 191.90625 158.003906 188.121094 151.207031 C 185.578125 146.648438 183.046875 142.113281 181.441406 139.171875 C 179.449219 135.503906 173.449219 134.097656 171.433594 140.015625 L 164.800781 159.46875 C 164.070312 161.519531 162.449219 163.125 160.394531 163.839844 L 140.4375 170.449219 C 136.5 171.75 134.578125 177.785156 139.898438 180.328125 C 140.34375 180.539062 144.386719 182.695312 149.25 185.285156 L 149.261719 185.285156 C 156.65625 189.234375 165.960938 194.191406 167.449219 194.894531 C 169.910156 196.066406 171.292969 199.464844 169.839844 201.867188 C 167.871094 205.148438 165.339844 209.308594 164.425781 210.65625 C 162.789062 213.035156 159.621094 213.789062 157.089844 212.402344 C 154.476562 211.007812 90.164062 176.929688 88.605469 176.085938 Z M 175.054688 221.789062 C 178.429688 223.511719 260.320312 266.835938 262.898438 268.230469 C 268.066406 271.019531 273.527344 265.628906 270.726562 260.589844 C 270.246094 259.734375 264.785156 249.703125 257.753906 236.753906 L 257.730469 236.707031 C 244.066406 211.582031 224.449219 175.488281 223.453125 173.835938 C 221.953125 171.328125 218.273438 170.0625 215.507812 171.75 C 212.789062 173.390625 209.671875 175.242188 207.914062 176.132812 C 204.398438 177.925781 203.953125 180.621094 205.535156 183.621094 C 209.015625 190.207031 219.972656 210.1875 221.238281 212.285156 C 223.851562 216.667969 218.003906 221.671875 214.03125 219.492188 C 213.398438 219.140625 209.25 216.949219 204.257812 214.3125 C 196.089844 210 185.660156 204.480469 184.523438 203.8125 C 182.683594 202.757812 179.425781 202.757812 177.1875 206.367188 C 175.570312 208.992188 173.578125 212.25 172.664062 213.890625 C 170.847656 217.101562 171.679688 220.066406 175.054688 221.789062 Z M 175.054688 221.789062 "/> </g> </svg>
|
4
src/assets/svg/Mapillary_black.svelte
Normal file
4
src/assets/svg/Mapillary_black.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:evenodd;fill:{color};fill-opacity:1;" d="M 375 187.5 C 375 291.058594 291.058594 375 187.5 375 C 83.941406 375 0 291.058594 0 187.5 C 0 83.941406 83.941406 0 187.5 0 C 291.058594 0 375 83.941406 375 187.5 Z M 88.59375 176.085938 C 84.246094 173.730469 85.042969 167.589844 90.539062 166.019531 C 95.203125 164.695312 133.042969 152.003906 144.503906 148.160156 C 146.558594 147.480469 148.175781 145.882812 148.875 143.835938 L 167.273438 89.894531 C 168.984375 84.855469 175.21875 84.832031 177.75 89.71875 C 178.03125 90.257812 181.558594 96.667969 186.316406 105.316406 L 186.316406 105.328125 C 196.816406 124.417969 213.292969 154.371094 214.113281 156.1875 C 215.378906 158.820312 214.382812 161.984375 211.839844 163.417969 C 210.28125 164.390625 208.160156 165.644531 206.34375 166.699219 L 203.191406 168.574219 C 200.414062 170.308594 197.753906 169.101562 196.476562 166.429688 C 195.714844 164.824219 191.90625 158.003906 188.121094 151.207031 C 185.578125 146.648438 183.046875 142.113281 181.441406 139.171875 C 179.449219 135.503906 173.449219 134.097656 171.433594 140.015625 L 164.800781 159.46875 C 164.070312 161.519531 162.449219 163.125 160.394531 163.839844 L 140.4375 170.449219 C 136.5 171.75 134.578125 177.785156 139.898438 180.328125 C 140.34375 180.539062 144.386719 182.695312 149.25 185.285156 L 149.261719 185.285156 C 156.65625 189.234375 165.960938 194.191406 167.449219 194.894531 C 169.910156 196.066406 171.292969 199.464844 169.839844 201.867188 C 167.871094 205.148438 165.339844 209.308594 164.425781 210.65625 C 162.789062 213.035156 159.621094 213.789062 157.089844 212.402344 C 154.476562 211.007812 90.164062 176.929688 88.605469 176.085938 Z M 175.054688 221.789062 C 178.429688 223.511719 260.320312 266.835938 262.898438 268.230469 C 268.066406 271.019531 273.527344 265.628906 270.726562 260.589844 C 270.246094 259.734375 264.785156 249.703125 257.753906 236.753906 L 257.730469 236.707031 C 244.066406 211.582031 224.449219 175.488281 223.453125 173.835938 C 221.953125 171.328125 218.273438 170.0625 215.507812 171.75 C 212.789062 173.390625 209.671875 175.242188 207.914062 176.132812 C 204.398438 177.925781 203.953125 180.621094 205.535156 183.621094 C 209.015625 190.207031 219.972656 210.1875 221.238281 212.285156 C 223.851562 216.667969 218.003906 221.671875 214.03125 219.492188 C 213.398438 219.140625 209.25 216.949219 204.257812 214.3125 C 196.089844 210 185.660156 204.480469 184.523438 203.8125 C 182.683594 202.757812 179.425781 202.757812 177.1875 206.367188 C 175.570312 208.992188 173.578125 212.25 172.664062 213.890625 C 170.847656 217.101562 171.679688 220.066406 175.054688 221.789062 Z M 175.054688 221.789062 "/> </g> </svg>
|
4
src/assets/svg/Mastodon.svelte
Normal file
4
src/assets/svg/Mastodon.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="61.076954mm" height="65.47831mm" viewBox="0 0 216.4144 232.00976"> <path fill="#2b90d9" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/> <path fill="#fff" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/> </svg>
|
4
src/assets/svg/Min.svelte
Normal file
4
src/assets/svg/Min.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path d="M 47.824219 142.808594 C 31.394531 142.578125 16.113281 151.210938 7.828125 165.40625 C -0.453125 179.597656 -0.453125 197.152344 7.828125 211.34375 C 16.113281 225.535156 31.394531 234.171875 47.824219 233.941406 L 327.667969 233.941406 C 344.101562 234.171875 359.382812 225.535156 367.664062 211.34375 C 375.945312 197.152344 375.945312 179.597656 367.664062 165.40625 C 359.382812 151.210938 344.101562 142.578125 327.667969 142.808594 Z M 47.824219 142.808594 "/> </g> </svg>
|
4
src/assets/svg/Move.svelte
Normal file
4
src/assets/svg/Move.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 356.25 187.5 L 281.25 131.25 L 281.25 168.75 L 206.25 168.75 L 206.25 93.75 L 243.75 93.75 L 187.5 18.75 L 131.25 93.75 L 168.75 93.75 L 168.75 168.75 L 93.75 168.75 L 93.75 131.25 L 18.75 187.5 L 93.75 243.75 L 93.75 206.25 L 168.75 206.25 L 168.75 281.25 L 131.25 281.25 L 187.5 356.25 L 243.75 281.25 L 206.25 281.25 L 206.25 206.25 L 281.25 206.25 L 281.25 243.75 Z M 356.25 187.5 "/> </g> </svg>
|
4
src/assets/svg/Move_arrows.svelte
Normal file
4
src/assets/svg/Move_arrows.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="372px" viewBox="0 0 375 372" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,0%,0%);fill-opacity:1;" d="M 88.148438 125.660156 C 99.75 146 111.78125 165.804688 123.488281 186.003906 C 114.8125 200.710938 106.15625 215.453125 97.488281 230.160156 C 94.410156 235.609375 91.03125 240.691406 88.148438 246.355469 C 88.089844 234.257812 88.101562 222.152344 88.128906 210.058594 C 37.621094 210.125 86.585938 210.132812 36.085938 210.050781 C 36.101562 222.152344 36.140625 234.257812 36.066406 246.355469 C 24.472656 226.019531 12.441406 206.21875 0.734375 186.019531 C 12.269531 166.515625 23.714844 146.886719 35.285156 127.410156 C 35.546875 126.808594 35.796875 126.199219 36.054688 125.597656 C 36.183594 137.726562 36.101562 149.855469 36.101562 161.984375 C 86.605469 161.925781 37.644531 161.925781 88.144531 161.984375 C 88.132812 149.878906 88.097656 137.765625 88.164062 125.660156 Z M 88.148438 125.660156 "/> <path style="fill: none !important;stroke-width:2.645833;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(100%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 26.661801 281.162333 C 26.661801 287.262235 21.717314 292.207336 15.61713 292.207753 C 9.517363 292.208587 4.571628 287.264319 4.570379 281.164416 C 4.569547 275.064514 9.513201 270.118162 15.612969 270.116495 C 21.713152 270.114828 26.65972 275.057846 26.661801 281.157748 " transform="matrix(9.386244,0,0,9.373228,40.273179,-2449.390933)"/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,0%,0%);fill-opacity:1;" d="M 340.140625 125.660156 C 351.742188 146 363.773438 165.804688 375.484375 186.003906 C 366.808594 200.710938 358.152344 215.453125 349.480469 230.160156 C 346.40625 235.609375 343.027344 240.691406 340.140625 246.355469 C 340.085938 234.257812 340.09375 222.152344 340.121094 210.058594 C 289.617188 210.125 338.578125 210.132812 288.078125 210.050781 C 288.097656 222.152344 288.136719 234.257812 288.058594 246.355469 C 276.46875 226.019531 264.4375 206.21875 252.730469 186.019531 C 264.265625 166.515625 275.710938 146.886719 287.28125 127.410156 C 287.542969 126.808594 287.792969 126.199219 288.046875 125.597656 C 288.179688 137.726562 288.09375 149.855469 288.09375 161.984375 C 338.601562 161.925781 289.636719 161.925781 340.140625 161.984375 C 340.128906 149.878906 340.089844 137.765625 340.15625 125.660156 Z M 340.140625 125.660156 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,0%,0%);fill-opacity:1;" d="M 248.507812 86.152344 C 228.140625 97.738281 208.308594 109.753906 188.082031 121.445312 C 173.351562 112.78125 158.59375 104.136719 143.863281 95.480469 C 138.40625 92.40625 133.316406 89.035156 127.644531 86.152344 C 139.757812 86.097656 151.878906 86.105469 163.992188 86.132812 C 163.925781 35.699219 163.917969 84.59375 164 34.160156 C 151.878906 34.179688 139.757812 34.21875 127.644531 34.144531 C 148.011719 22.566406 167.839844 10.554688 188.0625 -1.140625 C 207.597656 10.378906 227.253906 21.8125 246.753906 33.363281 C 247.359375 33.625 247.96875 33.875 248.570312 34.132812 C 236.425781 34.261719 224.28125 34.179688 212.136719 34.179688 C 212.191406 84.613281 212.191406 35.71875 212.136719 86.148438 C 224.257812 86.140625 236.386719 86.101562 248.507812 86.167969 Z M 248.507812 86.152344 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,0%,0%);fill-opacity:1;" d="M 248.507812 337.796875 C 228.140625 349.382812 208.308594 361.398438 188.082031 373.089844 C 173.351562 364.425781 158.59375 355.785156 143.863281 347.125 C 138.40625 344.050781 133.316406 340.679688 127.644531 337.796875 C 139.757812 337.742188 151.878906 337.75 163.992188 337.777344 C 163.925781 287.34375 163.917969 336.238281 164 285.808594 C 151.878906 285.824219 139.757812 285.863281 127.644531 285.789062 C 148.011719 274.214844 167.839844 262.199219 188.0625 250.507812 C 207.597656 262.027344 227.253906 273.457031 246.753906 285.007812 C 247.359375 285.269531 247.96875 285.519531 248.570312 285.777344 C 236.425781 285.90625 224.28125 285.824219 212.136719 285.824219 C 212.191406 336.257812 212.191406 287.363281 212.136719 337.792969 C 224.257812 337.785156 236.386719 337.746094 248.507812 337.8125 Z M 248.507812 337.796875 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,0%,0%);fill-opacity:0.49569;" d="M 196.164062 186 C 196.164062 191.136719 191.996094 195.300781 186.851562 195.300781 C 181.707031 195.300781 177.539062 191.136719 177.539062 186 C 177.539062 180.863281 181.707031 176.699219 186.851562 176.699219 C 191.996094 176.699219 196.164062 180.863281 196.164062 186 Z M 196.164062 186 "/> </g> </svg>
|
4
src/assets/svg/Move_confirm.svelte
Normal file
4
src/assets/svg/Move_confirm.svelte
Normal file
|
@ -0,0 +1,4 @@
|
|||
<script>
|
||||
export let color = "#000000"
|
||||
</script>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="375px" viewBox="0 0 375 375" version="1.1"> <g id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:{color};fill-opacity:1;" d="M 356.25 187.5 L 281.25 131.25 L 281.25 168.75 L 206.25 168.75 L 206.25 93.75 L 243.75 93.75 L 187.5 18.75 L 131.25 93.75 L 168.75 93.75 L 168.75 168.75 L 93.75 168.75 L 93.75 131.25 L 18.75 187.5 L 93.75 243.75 L 93.75 206.25 L 168.75 206.25 L 168.75 281.25 L 131.25 281.25 L 187.5 356.25 L 243.75 281.25 L 206.25 281.25 L 206.25 206.25 L 281.25 206.25 L 281.25 243.75 Z M 356.25 187.5 "/> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(21.568628%,83.92157%,28.627452%);fill-opacity:1;" d="M 363.390625 284.421875 C 363.390625 327.871094 328.171875 363.09375 284.722656 363.09375 C 241.273438 363.09375 206.050781 327.871094 206.050781 284.421875 C 206.050781 240.976562 241.273438 205.753906 284.722656 205.753906 C 328.171875 205.753906 363.390625 240.976562 363.390625 284.421875 Z M 363.390625 284.421875 "/> <path style="fill: none !important;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke:rgb(100%,100%,100%);stroke-opacity:1;stroke-miterlimit:4;" d="M 11.000001 15.000002 L 15.500205 20.000119 L 21.500148 12.00003 " transform="matrix(7.899815,0,0,7.899815,156.852025,162.752759)"/> </g> </svg>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue