Browse Source

Merge pull request #320 from Squidex/feature-assetlistview

Feature assetlistview
pull/321/head
Sebastian Stehle 8 years ago
committed by GitHub
parent
commit
c0e68bf744
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      src/Squidex/app/features/assets/pages/assets-page.component.html
  2. 11
      src/Squidex/app/features/assets/pages/assets-page.component.ts
  3. 53
      src/Squidex/app/features/content/shared/assets-editor.component.html
  4. 22
      src/Squidex/app/features/content/shared/assets-editor.component.scss
  5. 20
      src/Squidex/app/features/content/shared/assets-editor.component.ts
  6. 8
      src/Squidex/app/features/content/shared/references-editor.component.html
  7. 185
      src/Squidex/app/shared/components/asset.component.html
  8. 132
      src/Squidex/app/shared/components/asset.component.scss
  9. 9
      src/Squidex/app/shared/components/asset.component.ts
  10. 8
      src/Squidex/app/shared/components/assets-list.component.html
  11. 7
      src/Squidex/app/shared/components/assets-list.component.scss
  12. 5
      src/Squidex/app/shared/components/assets-list.component.ts
  13. 11
      src/Squidex/app/shared/components/assets-selector.component.html
  14. 15
      src/Squidex/app/shared/components/assets-selector.component.ts
  15. 2
      src/Squidex/app/shared/components/schema-category.component.html
  16. 64
      src/Squidex/app/theme/_forms.scss
  17. 8
      src/Squidex/app/theme/icomoon/demo-files/demo.css
  18. 510
      src/Squidex/app/theme/icomoon/demo.html
  19. BIN
      src/Squidex/app/theme/icomoon/fonts/icomoon.eot
  20. 4
      src/Squidex/app/theme/icomoon/fonts/icomoon.svg
  21. BIN
      src/Squidex/app/theme/icomoon/fonts/icomoon.ttf
  22. BIN
      src/Squidex/app/theme/icomoon/fonts/icomoon.woff
  23. 306
      src/Squidex/app/theme/icomoon/selection.json
  24. 66
      src/Squidex/app/theme/icomoon/style.css

12
src/Squidex/app/features/assets/pages/assets-page.component.html

@ -34,11 +34,21 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col col-auto pl-1">
<div class="btn-group" data-toggle="buttons">
<button type="button" class="btn btn-secondary btn-toggle" [class.btn-primary]="isListView" [disabled]="isListView" (click)="changeView(true)">
<i class="icon-list"></i>
</button>
<button type="button" class="btn btn-secondary btn-toggle" [class.btn-primary]="!isListView" [disabled]="!isListView" (click)="changeView(false)">
<i class="icon-grid"></i>
</button>
</div>
</div>
</div> </div>
</ng-container> </ng-container>
<ng-container content> <ng-container content>
<sqx-assets-list [state]="assetsState"></sqx-assets-list> <sqx-assets-list [state]="assetsState" [isListView]="isListView"></sqx-assets-list>
</ng-container> </ng-container>
<ng-container sidebar> <ng-container sidebar>

11
src/Squidex/app/features/assets/pages/assets-page.component.ts

@ -14,6 +14,7 @@ import { onErrorResumeNext } from 'rxjs/operators';
import { import {
AppsState, AppsState,
AssetsState, AssetsState,
LocalStoreService,
Queries, Queries,
UIState UIState
} from '@app/shared'; } from '@app/shared';
@ -28,11 +29,15 @@ export class AssetsPageComponent implements OnInit {
public queries = new Queries(this.uiState, 'assets'); public queries = new Queries(this.uiState, 'assets');
public isListView: boolean;
constructor( constructor(
public readonly appsState: AppsState, public readonly appsState: AppsState,
public readonly assetsState: AssetsState, public readonly assetsState: AssetsState,
private readonly localStore: LocalStoreService,
private readonly uiState: UIState private readonly uiState: UIState
) { ) {
this.isListView = this.localStore.get('assetView') === 'List';
} }
public ngOnInit() { public ngOnInit() {
@ -70,5 +75,11 @@ export class AssetsPageComponent implements OnInit {
public isSelectedQuery(query: string) { public isSelectedQuery(query: string) {
return query === this.assetsState.snapshot.assetsQuery || (!query && !this.assetsState.assetsQuery); return query === this.assetsState.snapshot.assetsQuery || (!query && !this.assetsState.assetsQuery);
} }
public changeView(isListView: boolean) {
this.localStore.set('assetView', isListView ? 'List' : 'Grid');
this.isListView = isListView;
}
} }

53
src/Squidex/app/features/content/shared/assets-editor.component.html

@ -1,16 +1,49 @@
<div class="assets-container" [class.disabled]="isDisabled"> <div class="assets-container" [class.disabled]="isDisabled">
<div class="row"> <div class="header list">
<div class="drop-area align-items-center" (sqxFileDrop)="addFiles($event)" (click)="assetsDialog.show()"> <div class="row no-gutters">
Drop files here to add them. <div class="col">
<div class="drop-area align-items-center" (sqxFileDrop)="addFiles($event)" (click)="assetsDialog.show()">
Drop files or click here to add assets.
</div>
</div>
<div class="col col-auto pl-1">
<div class="btn-group" data-toggle="buttons">
<button type="button" class="btn btn-secondary btn-toggle" [class.btn-primary]="isListView" [disabled]="isListView" (click)="changeView(true)">
<i class="icon-list"></i>
</button>
<button type="button" class="btn btn-secondary btn-toggle" [class.btn-primary]="!isListView" [disabled]="!isListView" (click)="changeView(false)">
<i class="icon-grid"></i>
</button>
</div>
</div>
</div> </div>
</div>
<div class="body">
<ng-container *ngIf="!isListView; else listTemplate">
<div class="row no-gutters">
<sqx-asset *ngFor="let file of newAssets" [initFile]="file"
(failed)="onAssetFailed(file)" (loaded)="onAssetLoaded(file, $event)">
</sqx-asset>
<sqx-asset *ngFor="let asset of oldAssets" [asset]="asset" removeMode="true" isDisabled="true"
(removing)="onAssetRemoving($event)">
</sqx-asset>
</div>
</ng-container>
<ng-template #listTemplate>
<sqx-asset *ngFor="let file of newAssets" [initFile]="file"
[isListView]="true" (failed)="onAssetFailed(file)" (loaded)="onAssetLoaded(file, $event)">
</sqx-asset>
<sqx-asset *ngFor="let file of newAssets" [initFile]="file" <div [sqxSortModel]="oldAssets.values" (sqxSorted)="sort($event)">
(failed)="onAssetFailed(file)" <div *ngFor="let asset of oldAssets">
(loaded)="onAssetLoaded(file, $event)"> <sqx-asset [asset]="asset" removeMode="true" isDisabled="true"
</sqx-asset> [isListView]="true" (removing)="onAssetRemoving($event)">
<sqx-asset *ngFor="let asset of oldAssets" [asset]="asset" removeMode="true" isDisabled="true" </sqx-asset>
(removing)="onAssetRemoving($event)"> </div>
</sqx-asset> </div>
</ng-template>
</div> </div>
</div> </div>

22
src/Squidex/app/features/content/shared/assets-editor.component.scss

@ -18,15 +18,31 @@
} }
} }
.list {
margin-left: 8px;
margin-right: 8px;
}
.body {
margin-bottom: -.25rem;
margin-top: 1rem;
}
.unrow {
display: block;
padding-left: 8px;
padding-right: 8px;
margin: 0;
}
.drop-area { .drop-area {
& { & {
@include transition(border-color .4s ease); @include transition(border-color .4s ease);
@include border-radius; @include border-radius;
@include flex-box; @include flex-box;
@include truncate;
border: 2px dashed $color-border; border: 2px dashed $color-border;
height: $asset-height; height: 2.5rem;
width: $asset-width;
margin-left: 8px;
font-size: 1.2rem; font-size: 1.2rem;
font-weight: normal; font-weight: normal;
text-align: center; text-align: center;

20
src/Squidex/app/features/content/shared/assets-editor.component.ts

@ -16,6 +16,7 @@ import {
AssetsService, AssetsService,
DialogModel, DialogModel,
ImmutableArray, ImmutableArray,
LocalStoreService,
Types Types
} from '@app/shared'; } from '@app/shared';
@ -40,12 +41,15 @@ export class AssetsEditorComponent implements ControlValueAccessor {
public newAssets = ImmutableArray.empty<File>(); public newAssets = ImmutableArray.empty<File>();
public oldAssets = ImmutableArray.empty<AssetDto>(); public oldAssets = ImmutableArray.empty<AssetDto>();
public isListView = false;
public isDisabled = false; public isDisabled = false;
constructor( constructor(
private readonly appsState: AppsState, private readonly appsState: AppsState,
private readonly assetsService: AssetsService private readonly assetsService: AssetsService,
private readonly localStore: LocalStoreService
) { ) {
this.isListView = this.localStore.get('assetView') === 'List';
} }
public writeValue(obj: any) { public writeValue(obj: any) {
@ -128,4 +132,18 @@ export class AssetsEditorComponent implements ControlValueAccessor {
this.callTouched(); this.callTouched();
this.callChange(ids); this.callChange(ids);
} }
public sort(assets: AssetDto[]) {
if (assets) {
this.oldAssets = ImmutableArray.of(assets);
this.updateValue();
}
}
public changeView(isListView: boolean) {
this.localStore.set('assetView', isListView ? 'List' : 'Grid');
this.isListView = isListView;
}
} }

8
src/Squidex/app/features/content/shared/references-editor.component.html

@ -2,7 +2,7 @@
<ng-container *ngIf="schema"> <ng-container *ngIf="schema">
<div class="drop-area-container"> <div class="drop-area-container">
<div class="drop-area" (click)="selectorDialog.show()"> <div class="drop-area" (click)="selectorDialog.show()">
Click here to link a content. Click here to link content items.
</div> </div>
</div> </div>
@ -12,10 +12,10 @@
<tbody *ngFor="let content of contentItems"> <tbody *ngFor="let content of contentItems">
<tr [sqxContent]="content" <tr [sqxContent]="content"
[language]="language" [language]="language"
[isReadOnly]="true"
[isReference]="true"
[schema]="schema" [schema]="schema"
(deleting)="remove(content)" (deleting)="remove(content)"></tr>
isReadOnly="true"
isReference="true"></tr>
<tr class="spacer"></tr> <tr class="spacer"></tr>
</tbody> </tbody>
</table> </table>

185
src/Squidex/app/shared/components/asset.component.html

@ -1,84 +1,147 @@
<div class="card" [class.selectable]="isSelectable" [class.border-primary]="isSelected" (click)="selected.emit(asset)" (sqxFileDrop)="updateFile($event)"> <ng-container *ngIf="!isListView; else listTemplate">
<div class="card-body"> <div class="card" [class.selectable]="isSelectable" [class.border-primary]="isSelected" (click)="selected.emit(asset)" (sqxFileDrop)="updateFile($event)">
<div class="file-preview" *ngIf="asset && progress === 0" @fade> <div class="card-body">
<span class="file-type" *ngIf="asset.fileType"> <div class="file-preview" *ngIf="asset && progress === 0" @fade>
{{asset.fileType}} <span class="file-type" *ngIf="asset.fileType">
</span>
<div *ngIf="asset.isImage" class="file-image">
<img [sqxImageSource]="asset | sqxAssetPreviewUrl">
</div>
<div *ngIf="!asset.isImage" class="file-icon">
<img [attr.src]="asset | sqxFileIcon">
</div>
<div class="overlay">
<div class="overlay-background"></div>
<div class="overlay-menu">
<a class="file-download" [attr.href]="asset | sqxAssetUrl" target="_blank" (click)="$event.stopPropagation()">
<i class="icon-download"></i>
</a>
<a class="file-delete ml-2" (click)="deleting.emit(asset); $event.stopPropagation()" *ngIf="!isDisabled && !removeMode">
<i class="icon-delete"></i>
</a>
<a class="file-delete ml-2" (click)="removing.emit(asset); $event.stopPropagation()" *ngIf="removeMode">
<i class="icon-close"></i>
</a>
</div>
<span class="overlay-type" *ngIf="asset.fileType">
{{asset.fileType}} {{asset.fileType}}
</span> </span>
<div *ngIf="asset.isImage" class="file-image">
<img [sqxImageSource]="asset | sqxAssetPreviewUrl">
</div>
<div *ngIf="!asset.isImage" class="file-icon">
<img [attr.src]="asset | sqxFileIcon">
</div>
<div class="overlay-user"> <div class="overlay">
<div> <div class="overlay-background"></div>
<i class="icon-user"></i> {{asset.lastModifiedBy | sqxUserNameRef}}
<div class="overlay-menu">
<a class="file-download" [attr.href]="asset | sqxAssetUrl" target="_blank" (click)="$event.stopPropagation()">
<i class="icon-download"></i>
</a>
<a class="file-delete ml-2" (click)="deleting.emit(asset); $event.stopPropagation()" *ngIf="!isDisabled && !removeMode">
<i class="icon-delete"></i>
</a>
<a class="file-delete ml-2" (click)="removing.emit(asset); $event.stopPropagation()" *ngIf="removeMode">
<i class="icon-close"></i>
</a>
</div> </div>
<div>
{{asset.lastModified | sqxFromNow}} <span class="overlay-type" *ngIf="asset.fileType">
{{asset.fileType}}
</span>
<div class="overlay-user">
<div>
<i class="icon-user"></i> {{asset.lastModifiedBy | sqxUserNameRef}}
</div>
<div>
{{asset.lastModified | sqxFromNow}}
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="upload-progress" *ngIf="progress > 0"> <div class="upload-progress" *ngIf="progress > 0">
<sqx-progress-bar mode="Circle" [value]="progress"></sqx-progress-bar> <sqx-progress-bar mode="Circle" [value]="progress"></sqx-progress-bar>
</div>
<div class="drop-overlay" *ngIf="asset && progress === 0">
<div class="drop-overlay-background"></div>
<span class="drop-overlay-text">Drop to update</span>
</div>
</div> </div>
<div class="card-footer">
<div class="drop-overlay" *ngIf="asset && progress === 0"> <ng-container *ngIf="asset">
<div class="drop-overlay-background"></div> <div>
<div *ngIf="!renaming" class="file-name editable" (dblclick)="renameStart()">
<span class="drop-overlay-text">Drop to update</span> {{asset.fileName}}
</div>
<div *ngIf="renaming">
<form [formGroup]="renameForm.form" (ngSubmit)="renameAsset()">
<sqx-control-errors for="name" [submitted]="renameForm.submitted | async"></sqx-control-errors>
<input type="text" class="form-control form-underlined editable" id="assetName" formControlName="name" autocomplete="off" sqxFocusOnInit (blur)="renameCancel()" />
</form>
</div>
</div>
<div class="file-tags tags">
<sqx-tag-editor
[suggestions]="allTags"
[acceptEnter]="true"
[allowDuplicates]="false"
[undefinedWhenEmpty]="false"
[formControl]="tagInput" class="blank" placeholder="+Tag">
</sqx-tag-editor>
</div>
<div class="file-info">
<ng-container *ngIf="asset.pixelWidth">{{asset.pixelWidth}}x{{asset.pixelHeight}}px, </ng-container> {{asset.fileSize | sqxFileSize}}
</div>
</ng-container>
</div> </div>
</div> </div>
<div class="card-footer"> </ng-container>
<ng-container *ngIf="asset">
<div> <ng-template #listTemplate>
<div *ngIf="!renaming" class="file-name editable" [attr.title]="asset.fileName" (dblclick)="renameStart()"> <div class="table-items-row" [class.selectable]="isSelectable" (click)="selected.emit(asset)" (sqxFileDrop)="updateFile($event)">
<div class="left-border" [class.selected]="isSelected" ></div>
<div class="image" *ngIf="asset && progress === 0" @fade>
<div *ngIf="asset.isImage" class="file-image-small">
<img [sqxImageSource]="asset | sqxAssetPreviewUrl">
</div>
<div *ngIf="!asset.isImage" class="file-icon-small">
<img class="icon" [attr.src]="asset | sqxFileIcon">
</div>
</div>
<div class="row no-gutters" *ngIf="asset && progress === 0" @fade>
<div class="col col-name">
<div *ngIf="!renaming" class="file-name editable" (dblclick)="renameStart()">
{{asset.fileName}} {{asset.fileName}}
</div> </div>
<div *ngIf="renaming"> <div *ngIf="renaming">
<form [formGroup]="renameForm.form" (ngSubmit)="renameAsset()"> <form [formGroup]="renameForm.form" (ngSubmit)="renameAsset()">
<sqx-control-errors for="name" [submitted]="renameForm.submitted | async"></sqx-control-errors> <sqx-control-errors for="name" [submitted]="renameForm.submitted | async"></sqx-control-errors>
<input type="text" class="form-control form-underlined editable" id="assetName" formControlName="name" autocomplete="off" sqxFocusOnInit (blur)="renameCancel()" /> <input type="text" class="form-control editable form-underlined" id="assetName" formControlName="name" autocomplete="off" sqxFocusOnInit (blur)="renameCancel()" />
</form> </form>
</div> </div>
</div> </div>
<div class="file-tags tags"> <div class="col col-info">
<sqx-tag-editor
[suggestions]="allTags"
[acceptEnter]="true"
[allowDuplicates]="false"
[undefinedWhenEmpty]="false"
[formControl]="tagInput" class="blank" placeholder="+Tag">
</sqx-tag-editor>
</div>
<div class="file-info">
<ng-container *ngIf="asset.pixelWidth">{{asset.pixelWidth}}x{{asset.pixelHeight}}px, </ng-container> {{asset.fileSize | sqxFileSize}} <ng-container *ngIf="asset.pixelWidth">{{asset.pixelWidth}}x{{asset.pixelHeight}}px, </ng-container> {{asset.fileSize | sqxFileSize}}
</div> </div>
</ng-container> <div class="col col-user">
<img class="user-picture" [attr.title]="asset.lastModifiedBy | sqxUserNameRef" [attr.src]="asset.lastModifiedBy | sqxUserPictureRef" />
</div>
<div class="col col-actions">
<a class="btn btn-link btn-secondary" [attr.href]="asset | sqxAssetUrl" target="_blank" (click)="$event.stopPropagation()">
<i class="icon-download"></i>
</a>
</div>
<div class="col col-actions" *ngIf="!isDisabled || removeMode">
<button class="btn btn-link btn-danger" (click)="deleting.emit(asset); $event.stopPropagation()" *ngIf="!isDisabled && !removeMode">
<i class="icon-bin2"></i>
</button>
<button class="btn btn-link btn-secondary" (click)="removing.emit(asset); $event.stopPropagation()" *ngIf="removeMode">
<i class="icon-close"></i>
</button>
</div>
</div>
<div class="upload-progress" *ngIf="progress > 0">
<div class="progress-background">
<div class="progress-bar" [style.width]="(progress + 40) + '%'"></div>
</div>
</div>
<div class="drop-overlay" *ngIf="asset && progress === 0">
<div class="drop-overlay-background"></div>
<span class="drop-overlay-text">Drop to update</span>
</div>
</div> </div>
</div> </ng-template>

132
src/Squidex/app/shared/components/asset.component.scss

@ -1,6 +1,8 @@
@import '_vars'; @import '_vars';
@import '_mixins'; @import '_mixins';
$list-height: 2.375rem;
@mixin overlay-container { @mixin overlay-container {
position: relative; position: relative;
padding: 0; padding: 0;
@ -51,6 +53,10 @@
padding-right: 8px; padding-right: 8px;
} }
:host(.isListView) {
padding: 0;
}
:host /deep/ { :host /deep/ {
.form-control { .form-control {
&.disabled, &.disabled,
@ -83,20 +89,6 @@
min-height: $asset-footer; min-height: $asset-footer;
max-height: auto; max-height: auto;
} }
&.drag {
.drop-overlay {
@include opacity(1);
}
.file-type {
@include opacity(0);
}
}
&.selectable {
cursor: pointer;
}
} }
.upload-progress { .upload-progress {
@ -138,6 +130,11 @@
height: $asset-image; height: $asset-image;
} }
&-image-small,
&-icon-small {
height: 2.375rem;
}
&-name { &-name {
line-height: 2rem; line-height: 2rem;
} }
@ -201,6 +198,113 @@
.editable { .editable {
height: 2rem; height: 2rem;
border-top: none;
border-bottom: 1px solid transparent;
}
.table-items-row {
& {
position: relative;
padding-left: $list-height + 2rem;
height: $list-height + 2rem;
}
.image {
@include absolute(0, auto, auto, 4px);
height: $list-height + 2rem;
padding: 1rem;
border: 0;
background: $color-border;
width: $list-height + 2rem;
}
.left-border {
& {
@include absolute(0, auto, auto, 0);
height: $list-height + 2rem;
border: 0;
background: $color-border;
width: 4px;
}
&.selected {
background: $color-theme-blue;
}
}
.icon {
max-width: 100%;
}
.col {
& {
height: $list-height;
}
&-user {
padding-top: .2rem;
}
&-actions {
text-align: right;
line-height: $list-height;
}
&-name,
&-info {
@include truncate;
padding-right: 1rem;
padding-left: 1rem;
line-height: $list-height;
}
&-actions,
&-user {
max-width: 3rem;
min-width: 3rem;
}
&-info {
color: $color-text-decent;
font-size: .9rem;
max-width: 12rem;
min-width: 12rem;
}
}
.drop-overlay-text {
top: 1.4rem;
}
}
.drag {
.drop-overlay {
@include opacity(1);
}
.file-type {
@include opacity(0);
}
}
.progress {
&-background {
background: $color-border;
margin: (($list-height - .25rem) / 2) 0;
}
&-bar {
background: $color-theme-blue;
}
&-background,
&-bar {
height: .25rem;
}
}
.selectable {
cursor: pointer;
} }
.tags { .tags {

9
src/Squidex/app/shared/components/asset.component.ts

@ -5,7 +5,7 @@
* Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved. * Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved.
*/ */
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output } from '@angular/core';
import { FormBuilder, FormControl } from '@angular/forms'; import { FormBuilder, FormControl } from '@angular/forms';
import { Subscription } from 'rxjs'; import { Subscription } from 'rxjs';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
@ -20,10 +20,10 @@ import {
fadeAnimation, fadeAnimation,
RenameAssetDto, RenameAssetDto,
RenameAssetForm, RenameAssetForm,
TagAssetDto,
Types, Types,
Versioned Versioned
} from '@app/shared/internal'; } from '@app/shared/internal';
import { TagAssetDto } from '@appshared/services/assets.service';
@Component({ @Component({
selector: 'sqx-asset', selector: 'sqx-asset',
@ -54,6 +54,9 @@ export class AssetComponent implements OnDestroy, OnInit {
@Input() @Input()
public isSelectable = false; public isSelectable = false;
@Input() @HostBinding('class.isListView')
public isListView = false;
@Input() @Input()
public allTags: string[]; public allTags: string[];
@ -75,9 +78,9 @@ export class AssetComponent implements OnDestroy, OnInit {
@Output() @Output()
public failed = new EventEmitter(); public failed = new EventEmitter();
public renaming = false;
public isTagging = false; public isTagging = false;
public renaming = false;
public renameForm = new RenameAssetForm(this.formBuilder); public renameForm = new RenameAssetForm(this.formBuilder);
public tagInput = new FormControl(); public tagInput = new FormControl();

8
src/Squidex/app/shared/components/assets-list.component.html

@ -14,14 +14,16 @@
<div class="file-drop-info">Drop file on existing item to replace the asset with a newer version.</div> <div class="file-drop-info">Drop file on existing item to replace the asset with a newer version.</div>
</div> </div>
<div class="row assets" *ngIf="state.tagsNames | async; let tags"> <div class="row assets" [class.unrow]="isListView" *ngIf="state.tagsNames | async; let tags">
<sqx-asset *ngFor="let file of newFiles" [initFile]="file" <sqx-asset *ngFor="let file of newFiles" [initFile]="file"
[isListView]="isListView"
(failed)="remove(file)" (failed)="remove(file)"
(loaded)="add(file, $event)"> (loaded)="add(file, $event)">
</sqx-asset> </sqx-asset>
<ng-container *ngIf="state.assets | async; let assets"> <ng-container *ngIf="state.assets | async; let assets">
<sqx-asset *ngFor="let asset of assets; trackBy: trackByAsset" [asset]="asset" <sqx-asset *ngFor="let asset of assets; trackBy: trackByAsset" [asset]="asset"
[isListView]="isListView"
[isDisabled]="isDisabled" [isDisabled]="isDisabled"
[isSelectable]="selectedIds" [isSelectable]="selectedIds"
[isSelected]="isSelected(asset)" [isSelected]="isSelected(asset)"

7
src/Squidex/app/shared/components/assets-list.component.scss

@ -1,6 +1,13 @@
@import '_vars'; @import '_vars';
@import '_mixins'; @import '_mixins';
.unrow {
display: block;
padding-left: 8px;
padding-right: 8px;
margin: 0;
}
.file-drop { .file-drop {
& { & {
@include transition(border-color .4s ease); @include transition(border-color .4s ease);

5
src/Squidex/app/shared/components/assets-list.component.ts

@ -28,7 +28,10 @@ export class AssetsListComponent {
public state: AssetsState; public state: AssetsState;
@Input() @Input()
public isDisabled: false; public isDisabled = false;
@Input()
public isListView = false;
@Input() @Input()
public selectedIds: object; public selectedIds: object;

11
src/Squidex/app/shared/components/assets-selector.component.html

@ -29,11 +29,22 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col col-auto pl-1">
<div class="btn-group" data-toggle="buttons">
<button type="button" class="btn btn-secondary btn-toggle" [class.btn-primary]="isListView" [disabled]="isListView" (click)="changeView(true)">
<i class="icon-list"></i>
</button>
<button type="button" class="btn btn-secondary btn-toggle" [class.btn-primary]="!isListView" [disabled]="!isListView" (click)="changeView(false)">
<i class="icon-grid"></i>
</button>
</div>
</div>
</div> </div>
</ng-container> </ng-container>
<ng-container content> <ng-container content>
<sqx-assets-list <sqx-assets-list
[isListView]="isListView"
(selected)="selectAsset($event)" (selected)="selectAsset($event)"
[selectedIds]="selectedAssets" [selectedIds]="selectedAssets"
[state]="state" isDisabled="true"> [state]="state" isDisabled="true">

15
src/Squidex/app/shared/components/assets-selector.component.ts

@ -13,7 +13,8 @@ import { onErrorResumeNext } from 'rxjs/operators';
import { import {
AssetDto, AssetDto,
AssetsDialogState, AssetsDialogState,
fadeAnimation fadeAnimation,
LocalStoreService
} from '@app/shared/internal'; } from '@app/shared/internal';
@Component({ @Component({
@ -28,12 +29,16 @@ export class AssetsSelectorComponent implements OnInit {
public selectedAssets: { [id: string]: AssetDto } = {}; public selectedAssets: { [id: string]: AssetDto } = {};
public selectionCount = 0; public selectionCount = 0;
public isListView = false;
@Output() @Output()
public selected = new EventEmitter<AssetDto[]>(); public selected = new EventEmitter<AssetDto[]>();
constructor( constructor(
public readonly state: AssetsDialogState public readonly state: AssetsDialogState,
private readonly localStore: LocalStoreService
) { ) {
this.isListView = this.localStore.get('assetView') === 'List';
} }
public ngOnInit() { public ngOnInit() {
@ -69,5 +74,11 @@ export class AssetsSelectorComponent implements OnInit {
this.selectionCount = Object.keys(this.selectedAssets).length; this.selectionCount = Object.keys(this.selectedAssets).length;
} }
public changeView(isListView: boolean) {
this.localStore.set('assetView', isListView ? 'List' : 'Grid');
this.isListView = isListView;
}
} }

2
src/Squidex/app/shared/components/schema-category.component.html

@ -10,7 +10,7 @@
<a class="btn btn-sm btn-link float-right" *ngIf="schemasForCategory.length === 0 && !isReadonly" (click)="removing.emit()"> <a class="btn btn-sm btn-link float-right" *ngIf="schemasForCategory.length === 0 && !isReadonly" (click)="removing.emit()">
<i class="icon-bin"></i> <i class="icon-bin2"></i>
</a> </a>
</div> </div>

64
src/Squidex/app/theme/_forms.scss

@ -179,39 +179,41 @@
} }
} }
.form-underlined { input {
& { &.form-underlined {
@include border-radius(0); & {
padding-left: 0; @include border-radius(0);
padding-right: 0; padding-left: 0;
border-color: transparent; padding-right: 0;
border-bottom: 1px solid $color-input-border; border-color: transparent;
} border-bottom: 1px solid $color-input-border;
}
&:focus,
&.focus {
@include box-shadow-none;
background: transparent;
border-color: transparent;
border-bottom-color: $color-theme-blue;
outline: none;
}
&.ng-invalid { &:focus,
&.ng-dirty { &.focus {
& { @include box-shadow-none;
@include box-shadow-none; background: transparent;
background: transparent; border-color: transparent;
border-color: transparent; border-bottom-color: $color-theme-blue;
border-bottom-color: $color-theme-error; outline: none;
outline: none; }
}
&:hover, &.ng-invalid {
&:focus { &.ng-dirty {
@include box-shadow-none; & {
border-color: transparent; @include box-shadow-none;
border-bottom-color: $color-theme-error-dark; background: transparent;
border-color: transparent;
border-bottom-color: $color-theme-error;
outline: none;
}
&:hover,
&:focus {
@include box-shadow-none;
border-color: transparent;
border-bottom-color: $color-theme-error-dark;
}
} }
} }
} }

8
src/Squidex/app/theme/icomoon/demo-files/demo.css

@ -147,7 +147,7 @@ p {
font-size: 16px; font-size: 16px;
} }
.fs1 { .fs1 {
font-size: 32px; font-size: 20px;
} }
.fs2 { .fs2 {
font-size: 32px; font-size: 32px;
@ -156,12 +156,12 @@ p {
font-size: 32px; font-size: 32px;
} }
.fs4 { .fs4 {
font-size: 24px; font-size: 32px;
} }
.fs5 { .fs5 {
font-size: 28px; font-size: 24px;
} }
.fs6 { .fs6 {
font-size: 20px; font-size: 28px;
} }

510
src/Squidex/app/theme/icomoon/demo.html

File diff suppressed because it is too large

BIN
src/Squidex/app/theme/icomoon/fonts/icomoon.eot

Binary file not shown.

4
src/Squidex/app/theme/icomoon/fonts/icomoon.svg

@ -85,9 +85,11 @@
<glyph unicode="&#xe94b;" glyph-name="orleans" d="M512 924.477l-424.96-242.8v-485.64l424.96-242.8 424.96 242.8v485.64l-424.96 242.8zM512 715.337l245.76-138.24v-276.48l-245.76-138.24-245.76 138.24v276.48l245.76 138.24z" /> <glyph unicode="&#xe94b;" glyph-name="orleans" d="M512 924.477l-424.96-242.8v-485.64l424.96-242.8 424.96 242.8v485.64l-424.96 242.8zM512 715.337l245.76-138.24v-276.48l-245.76-138.24-245.76 138.24v276.48l245.76 138.24z" />
<glyph unicode="&#xe94c;" glyph-name="prerender" d="M66.337 384.509l276.668 171.531v57.177l-331.627-207.614v-42.189l331.627-207.614v57.177zM957.663 384.51l-276.668 171.531v57.177l331.627-207.614v-42.189l-331.627-207.614v57.177zM583.295 745.817l-200.825-621.623 53.007-17.527 200.837 621.623z" /> <glyph unicode="&#xe94c;" glyph-name="prerender" d="M66.337 384.509l276.668 171.531v57.177l-331.627-207.614v-42.189l331.627-207.614v57.177zM957.663 384.51l-276.668 171.531v57.177l331.627-207.614v-42.189l-331.627-207.614v57.177zM583.295 745.817l-200.825-621.623 53.007-17.527 200.837 621.623z" />
<glyph unicode="&#xe94d;" glyph-name="control-Color" d="M832 544h-320v-64h-64v96h384v192h-32v-96c0-17.664-14.336-32-32-32h-576c-17.696 0-32 14.336-32 32v128c0 17.696 14.304 32 32 32h576c17.664 0 32-14.304 32-32h64v-256h-32zM736 800h-512v-32h512v32zM544 128c0-35.328-28.672-64-64-64s-64 28.672-64 64v320h128v-320zM480 173.344c-17.696 0-32-14.336-32-32 0-17.696 14.304-32 32-32 17.664 0 32 14.304 32 32 0 17.664-14.336 32-32 32z" /> <glyph unicode="&#xe94d;" glyph-name="control-Color" d="M832 544h-320v-64h-64v96h384v192h-32v-96c0-17.664-14.336-32-32-32h-576c-17.696 0-32 14.336-32 32v128c0 17.696 14.304 32 32 32h576c17.664 0 32-14.304 32-32h64v-256h-32zM736 800h-512v-32h512v32zM544 128c0-35.328-28.672-64-64-64s-64 28.672-64 64v320h128v-320zM480 173.344c-17.696 0-32-14.336-32-32 0-17.696 14.304-32 32-32 17.664 0 32 14.304 32 32 0 17.664-14.336 32-32 32z" />
<glyph unicode="&#xe94e;" glyph-name="list" d="M737.28 512h-296.96c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h296.96c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM839.68 256h-399.36c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h399.36c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM440.32 665.6h399.36c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2h-399.36c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2zM276.48 512h-92.16c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h92.16c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM276.48 256h-92.16c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h92.16c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2zM276.48 768h-92.16c-28.262 0-30.72-22.886-30.72-51.2s2.458-51.2 30.72-51.2h92.16c28.262 0 30.72 22.886 30.72 51.2s-2.458 51.2-30.72 51.2z" />
<glyph unicode="&#xe94f;" glyph-name="control-Slug" d="M512 960c-15.36 0-25.6-10.24-25.6-25.6s10.24-25.6 25.6-25.6h128v-870.4h-128c-15.36 0-25.6-10.24-25.6-25.6s10.24-25.6 25.6-25.6h307.2c15.36 0 25.6 10.24 25.6 25.6s-10.24 25.6-25.6 25.6h-128v870.4h128c15.36 0 25.6 10.24 25.6 25.6s-10.24 25.6-25.6 25.6h-307.2zM51.2 755.2c-28.16 0-51.2-23.040-51.2-51.2v-460.8c0-28.16 23.040-51.2 51.2-51.2h537.6v51.2h-512c-15.36 0-25.6 10.24-25.6 25.6v409.6c0 15.36 10.24 25.6 25.6 25.6h512v51.2h-537.6zM742.4 755.2v-51.2h204.8c15.36 0 25.6-10.24 25.6-25.6v-409.6c0-15.36-10.24-25.6-25.6-25.6h-204.8v-51.2h230.4c28.16 0 51.2 23.040 51.2 51.2v460.8c0 28.16-23.040 51.2-51.2 51.2h-230.4zM386.56 353.28c0-12.8-7.68-23.040-20.48-25.6-28.16-10.24-58.88-15.36-92.16-15.36-35.84 0-66.56 10.24-84.48 25.6s-25.6 38.4-25.6 66.56 10.24 51.2 25.6 66.56c17.92 17.92 46.080 23.040 84.48 23.040h69.12v38.4c0 35.84-25.6 53.76-64 53.76-23.040 0-46.080-7.68-69.12-20.48-2.56-2.56-5.12-2.56-10.24-2.56-10.24 0-20.48 7.68-20.48 20.48 0 7.68 2.56 12.8 10.24 17.92 30.72 20.48 61.44 25.6 92.16 25.6 56.32 0 104.96-30.72 104.96-92.16v-181.76zM345.6 458.24h-69.12c-61.44 0-69.12-28.16-69.12-53.76s7.68-56.32 69.12-56.32c23.040 0 46.080 2.56 69.12 10.24v99.84z" /> <glyph unicode="&#xe94f;" glyph-name="control-Slug" d="M512 960c-15.36 0-25.6-10.24-25.6-25.6s10.24-25.6 25.6-25.6h128v-870.4h-128c-15.36 0-25.6-10.24-25.6-25.6s10.24-25.6 25.6-25.6h307.2c15.36 0 25.6 10.24 25.6 25.6s-10.24 25.6-25.6 25.6h-128v870.4h128c15.36 0 25.6 10.24 25.6 25.6s-10.24 25.6-25.6 25.6h-307.2zM51.2 755.2c-28.16 0-51.2-23.040-51.2-51.2v-460.8c0-28.16 23.040-51.2 51.2-51.2h537.6v51.2h-512c-15.36 0-25.6 10.24-25.6 25.6v409.6c0 15.36 10.24 25.6 25.6 25.6h512v51.2h-537.6zM742.4 755.2v-51.2h204.8c15.36 0 25.6-10.24 25.6-25.6v-409.6c0-15.36-10.24-25.6-25.6-25.6h-204.8v-51.2h230.4c28.16 0 51.2 23.040 51.2 51.2v460.8c0 28.16-23.040 51.2-51.2 51.2h-230.4zM386.56 353.28c0-12.8-7.68-23.040-20.48-25.6-28.16-10.24-58.88-15.36-92.16-15.36-35.84 0-66.56 10.24-84.48 25.6s-25.6 38.4-25.6 66.56 10.24 51.2 25.6 66.56c17.92 17.92 46.080 23.040 84.48 23.040h69.12v38.4c0 35.84-25.6 53.76-64 53.76-23.040 0-46.080-7.68-69.12-20.48-2.56-2.56-5.12-2.56-10.24-2.56-10.24 0-20.48 7.68-20.48 20.48 0 7.68 2.56 12.8 10.24 17.92 30.72 20.48 61.44 25.6 92.16 25.6 56.32 0 104.96-30.72 104.96-92.16v-181.76zM345.6 458.24h-69.12c-61.44 0-69.12-28.16-69.12-53.76s7.68-56.32 69.12-56.32c23.040 0 46.080 2.56 69.12 10.24v99.84z" />
<glyph unicode="&#xe950;" glyph-name="clock" d="M658.744 210.744l-210.744 210.746v282.51h128v-229.49l173.256-173.254zM512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384z" /> <glyph unicode="&#xe950;" glyph-name="clock" d="M658.744 210.744l-210.744 210.746v282.51h128v-229.49l173.256-173.254zM512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384z" />
<glyph unicode="&#xe951;" glyph-name="circle" d="M1024 448c0-282.77-229.23-512-512-512s-512 229.23-512 512c0 282.77 229.23 512 512 512s512-229.23 512-512z" /> <glyph unicode="&#xe951;" glyph-name="circle" d="M1024 448c0-282.77-229.23-512-512-512s-512 229.23-512 512c0 282.77 229.23 512 512 512s512-229.23 512-512z" />
<glyph unicode="&#xe952;" glyph-name="grid1" d="M409.6 768h-153.6c-28.314 0-51.2-22.886-51.2-51.2v-153.6c0-28.262 22.886-51.2 51.2-51.2h153.6c28.314 0 51.2 22.938 51.2 51.2v153.6c0 28.262-22.886 51.2-51.2 51.2zM768 768h-153.6c-28.314 0-51.2-22.886-51.2-51.2v-153.6c0-28.262 22.886-51.2 51.2-51.2h153.6c28.314 0 51.2 22.938 51.2 51.2v153.6c0 28.262-22.886 51.2-51.2 51.2zM409.6 409.6h-153.6c-28.314 0-51.2-22.886-51.2-51.2v-153.6c0-28.262 22.886-51.2 51.2-51.2h153.6c28.314 0 51.2 22.938 51.2 51.2v153.6c0 28.262-22.886 51.2-51.2 51.2zM768 409.6h-153.6c-28.314 0-51.2-22.886-51.2-51.2v-153.6c0-28.262 22.886-51.2 51.2-51.2h153.6c28.314 0 51.2 22.938 51.2 51.2v153.6c0 28.262-22.886 51.2-51.2 51.2z" />
<glyph unicode="&#xe953;" glyph-name="spinner" d="M192 448c0 12.18 0.704 24.196 2.030 36.022l-184.98 60.104c-5.916-31.14-9.050-63.264-9.050-96.126 0-147.23 62.166-279.922 161.654-373.324l114.284 157.296c-52.124 56.926-83.938 132.758-83.938 216.028zM832 448c0-83.268-31.812-159.102-83.938-216.028l114.284-157.296c99.488 93.402 161.654 226.094 161.654 373.324 0 32.862-3.132 64.986-9.048 96.126l-184.98-60.104c1.324-11.828 2.028-23.842 2.028-36.022zM576 761.592c91.934-18.662 169.544-76.742 214.45-155.826l184.978 60.102c-73.196 155.42-222.24 268.060-399.428 290.156v-194.432zM233.55 605.768c44.906 79.084 122.516 137.164 214.45 155.826v194.43c-177.188-22.096-326.23-134.736-399.426-290.154l184.976-60.102zM644.556 156.672c-40.39-18.408-85.272-28.672-132.556-28.672s-92.166 10.264-132.554 28.67l-114.292-157.31c73.206-40.366 157.336-63.36 246.846-63.36s173.64 22.994 246.848 63.36l-114.292 157.312z" /> <glyph unicode="&#xe953;" glyph-name="spinner" d="M192 448c0 12.18 0.704 24.196 2.030 36.022l-184.98 60.104c-5.916-31.14-9.050-63.264-9.050-96.126 0-147.23 62.166-279.922 161.654-373.324l114.284 157.296c-52.124 56.926-83.938 132.758-83.938 216.028zM832 448c0-83.268-31.812-159.102-83.938-216.028l114.284-157.296c99.488 93.402 161.654 226.094 161.654 373.324 0 32.862-3.132 64.986-9.048 96.126l-184.98-60.104c1.324-11.828 2.028-23.842 2.028-36.022zM576 761.592c91.934-18.662 169.544-76.742 214.45-155.826l184.978 60.102c-73.196 155.42-222.24 268.060-399.428 290.156v-194.432zM233.55 605.768c44.906 79.084 122.516 137.164 214.45 155.826v194.43c-177.188-22.096-326.23-134.736-399.426-290.154l184.976-60.102zM644.556 156.672c-40.39-18.408-85.272-28.672-132.556-28.672s-92.166 10.264-132.554 28.67l-114.292-157.31c73.206-40.366 157.336-63.36 246.846-63.36s173.64 22.994 246.848 63.36l-114.292 157.312z" />
<glyph unicode="&#xe954;" glyph-name="hour-glass" d="M728.992 448c137.754 87.334 231.008 255.208 231.008 448 0 21.676-1.192 43.034-3.478 64h-889.042c-2.29-20.968-3.48-42.326-3.48-64 0-192.792 93.254-360.666 231.006-448-137.752-87.334-231.006-255.208-231.006-448 0-21.676 1.19-43.034 3.478-64h889.042c2.288 20.966 3.478 42.324 3.478 64 0.002 192.792-93.252 360.666-231.006 448zM160 0c0 186.912 80.162 345.414 224 397.708v100.586c-143.838 52.29-224 210.792-224 397.706v0h704c0-186.914-80.162-345.416-224-397.706v-100.586c143.838-52.294 224-210.796 224-397.708h-704zM619.626 290.406c-71.654 40.644-75.608 93.368-75.626 125.366v64.228c0 31.994 3.804 84.914 75.744 125.664 38.504 22.364 71.808 56.348 97.048 98.336h-409.582c25.266-42.032 58.612-76.042 97.166-98.406 71.654-40.644 75.606-93.366 75.626-125.366v-64.228c0-31.992-3.804-84.914-75.744-125.664-72.622-42.18-126.738-125.684-143.090-226.336h501.67c-16.364 100.708-70.53 184.248-143.212 226.406z" /> <glyph unicode="&#xe954;" glyph-name="hour-glass" d="M728.992 448c137.754 87.334 231.008 255.208 231.008 448 0 21.676-1.192 43.034-3.478 64h-889.042c-2.29-20.968-3.48-42.326-3.48-64 0-192.792 93.254-360.666 231.006-448-137.752-87.334-231.006-255.208-231.006-448 0-21.676 1.19-43.034 3.478-64h889.042c2.288 20.966 3.478 42.324 3.478 64 0.002 192.792-93.252 360.666-231.006 448zM160 0c0 186.912 80.162 345.414 224 397.708v100.586c-143.838 52.29-224 210.792-224 397.706v0h704c0-186.914-80.162-345.416-224-397.706v-100.586c143.838-52.294 224-210.796 224-397.708h-704zM619.626 290.406c-71.654 40.644-75.608 93.368-75.626 125.366v64.228c0 31.994 3.804 84.914 75.744 125.664 38.504 22.364 71.808 56.348 97.048 98.336h-409.582c25.266-42.032 58.612-76.042 97.166-98.406 71.654-40.644 75.606-93.366 75.626-125.366v-64.228c0-31.992-3.804-84.914-75.744-125.664-72.622-42.18-126.738-125.684-143.090-226.336h501.67c-16.364 100.708-70.53 184.248-143.212 226.406z" />
<glyph unicode="&#xe955;" glyph-name="exclamation" horiz-adv-x="366" d="M292.571 237.714v-128c0-20-16.571-36.571-36.571-36.571h-146.286c-20 0-36.571 16.571-36.571 36.571v128c0 20 16.571 36.571 36.571 36.571h146.286c20 0 36.571-16.571 36.571-36.571zM309.714 841.143l-16-438.857c-0.571-20-17.714-36.571-37.714-36.571h-146.286c-20 0-37.143 16.571-37.714 36.571l-16 438.857c-0.571 20 15.429 36.571 35.429 36.571h182.857c20 0 36-16.571 35.429-36.571z" /> <glyph unicode="&#xe955;" glyph-name="exclamation" horiz-adv-x="366" d="M292.571 237.714v-128c0-20-16.571-36.571-36.571-36.571h-146.286c-20 0-36.571 16.571-36.571 36.571v128c0 20 16.571 36.571 36.571 36.571h146.286c20 0 36.571-16.571 36.571-36.571zM309.714 841.143l-16-438.857c-0.571-20-17.714-36.571-37.714-36.571h-146.286c-20 0-37.143 16.571-37.714 36.571l-16 438.857c-0.571 20 15.429 36.571 35.429 36.571h182.857c20 0 36-16.571 35.429-36.571z" />
@ -101,5 +103,5 @@
<glyph unicode="&#xe95e;" glyph-name="star-empty" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538zM512 206.502l-223.462-117.48 42.676 248.83-180.786 176.222 249.84 36.304 111.732 226.396 111.736-226.396 249.836-36.304-180.788-176.222 42.678-248.83-223.462 117.48z" /> <glyph unicode="&#xe95e;" glyph-name="star-empty" d="M1024 562.95l-353.78 51.408-158.22 320.582-158.216-320.582-353.784-51.408 256-249.538-60.432-352.352 316.432 166.358 316.432-166.358-60.434 352.352 256.002 249.538zM512 206.502l-223.462-117.48 42.676 248.83-180.786 176.222 249.84 36.304 111.732 226.396 111.736-226.396 249.836-36.304-180.788-176.222 42.678-248.83-223.462 117.48z" />
<glyph unicode="&#xe9ca;" glyph-name="earth" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512-0.002c-62.958 0-122.872 13.012-177.23 36.452l233.148 262.29c5.206 5.858 8.082 13.422 8.082 21.26v96c0 17.674-14.326 32-32 32-112.99 0-232.204 117.462-233.374 118.626-6 6.002-14.14 9.374-22.626 9.374h-128c-17.672 0-32-14.328-32-32v-192c0-12.122 6.848-23.202 17.69-28.622l110.31-55.156v-187.886c-116.052 80.956-192 215.432-192 367.664 0 68.714 15.49 133.806 43.138 192h116.862c8.488 0 16.626 3.372 22.628 9.372l128 128c6 6.002 9.372 14.14 9.372 22.628v77.412c40.562 12.074 83.518 18.588 128 18.588 70.406 0 137.004-16.26 196.282-45.2-4.144-3.502-8.176-7.164-12.046-11.036-36.266-36.264-56.236-84.478-56.236-135.764s19.97-99.5 56.236-135.764c36.434-36.432 85.218-56.264 135.634-56.26 3.166 0 6.342 0.080 9.518 0.236 13.814-51.802 38.752-186.656-8.404-372.334-0.444-1.744-0.696-3.488-0.842-5.224-81.324-83.080-194.7-134.656-320.142-134.656z" /> <glyph unicode="&#xe9ca;" glyph-name="earth" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512-0.002c-62.958 0-122.872 13.012-177.23 36.452l233.148 262.29c5.206 5.858 8.082 13.422 8.082 21.26v96c0 17.674-14.326 32-32 32-112.99 0-232.204 117.462-233.374 118.626-6 6.002-14.14 9.374-22.626 9.374h-128c-17.672 0-32-14.328-32-32v-192c0-12.122 6.848-23.202 17.69-28.622l110.31-55.156v-187.886c-116.052 80.956-192 215.432-192 367.664 0 68.714 15.49 133.806 43.138 192h116.862c8.488 0 16.626 3.372 22.628 9.372l128 128c6 6.002 9.372 14.14 9.372 22.628v77.412c40.562 12.074 83.518 18.588 128 18.588 70.406 0 137.004-16.26 196.282-45.2-4.144-3.502-8.176-7.164-12.046-11.036-36.266-36.264-56.236-84.478-56.236-135.764s19.97-99.5 56.236-135.764c36.434-36.432 85.218-56.264 135.634-56.26 3.166 0 6.342 0.080 9.518 0.236 13.814-51.802 38.752-186.656-8.404-372.334-0.444-1.744-0.696-3.488-0.842-5.224-81.324-83.080-194.7-134.656-320.142-134.656z" />
<glyph unicode="&#xf00a;" glyph-name="grid" d="M292.571 237.714v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM292.571 530.286v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM658.286 237.714v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM292.571 822.857v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM658.286 530.286v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM1024 237.714v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM658.286 822.857v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM1024 530.286v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM1024 822.857v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857z" /> <glyph unicode="&#xf00a;" glyph-name="grid" d="M292.571 237.714v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM292.571 530.286v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM658.286 237.714v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM292.571 822.857v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM658.286 530.286v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM1024 237.714v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM658.286 822.857v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM1024 530.286v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857zM1024 822.857v-109.714c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v109.714c0 30.286 24.571 54.857 54.857 54.857h182.857c30.286 0 54.857-24.571 54.857-54.857z" />
<glyph unicode="&#xf0c9;" glyph-name="list" horiz-adv-x="878" d="M877.714 182.857v-73.143c0-20-16.571-36.571-36.571-36.571h-804.571c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h804.571c20 0 36.571-16.571 36.571-36.571zM877.714 475.428v-73.143c0-20-16.571-36.571-36.571-36.571h-804.571c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h804.571c20 0 36.571-16.571 36.571-36.571zM877.714 768v-73.143c0-20-16.571-36.571-36.571-36.571h-804.571c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h804.571c20 0 36.571-16.571 36.571-36.571z" /> <glyph unicode="&#xf0c9;" glyph-name="list1" horiz-adv-x="878" d="M877.714 182.857v-73.143c0-20-16.571-36.571-36.571-36.571h-804.571c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h804.571c20 0 36.571-16.571 36.571-36.571zM877.714 475.428v-73.143c0-20-16.571-36.571-36.571-36.571h-804.571c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h804.571c20 0 36.571-16.571 36.571-36.571zM877.714 768v-73.143c0-20-16.571-36.571-36.571-36.571h-804.571c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h804.571c20 0 36.571-16.571 36.571-36.571z" />
</font></defs></svg> </font></defs></svg>

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 78 KiB

BIN
src/Squidex/app/theme/icomoon/fonts/icomoon.ttf

Binary file not shown.

BIN
src/Squidex/app/theme/icomoon/fonts/icomoon.woff

Binary file not shown.

306
src/Squidex/app/theme/icomoon/selection.json

@ -1,6 +1,93 @@
{ {
"IcoMoonType": "selection", "IcoMoonType": "selection",
"icons": [ "icons": [
{
"icon": {
"paths": [
"M409.6 204.8h-153.6c-28.314 0-51.2 22.886-51.2 51.2v153.6c0 28.262 22.886 51.2 51.2 51.2h153.6c28.314 0 51.2-22.938 51.2-51.2v-153.6c0-28.262-22.886-51.2-51.2-51.2zM768 204.8h-153.6c-28.314 0-51.2 22.886-51.2 51.2v153.6c0 28.262 22.886 51.2 51.2 51.2h153.6c28.314 0 51.2-22.938 51.2-51.2v-153.6c0-28.262-22.886-51.2-51.2-51.2zM409.6 563.2h-153.6c-28.314 0-51.2 22.886-51.2 51.2v153.6c0 28.262 22.886 51.2 51.2 51.2h153.6c28.314 0 51.2-22.938 51.2-51.2v-153.6c0-28.262-22.886-51.2-51.2-51.2zM768 563.2h-153.6c-28.314 0-51.2 22.886-51.2 51.2v153.6c0 28.262 22.886 51.2 51.2 51.2h153.6c28.314 0 51.2-22.938 51.2-51.2v-153.6c0-28.262-22.886-51.2-51.2-51.2z"
],
"attrs": [
{}
],
"isMulticolor": false,
"isMulticolor2": false,
"tags": [
"grid"
],
"grid": 20
},
"attrs": [
{}
],
"properties": {
"order": 1,
"id": 1,
"prevSize": 20,
"code": 59730,
"name": "grid1"
},
"setIdx": 0,
"setId": 4,
"iconIdx": 0
},
{
"icon": {
"paths": [
"M737.28 460.8h-296.96c-28.262 0-30.72 22.886-30.72 51.2s2.458 51.2 30.72 51.2h296.96c28.262 0 30.72-22.886 30.72-51.2s-2.458-51.2-30.72-51.2zM839.68 716.8h-399.36c-28.262 0-30.72 22.886-30.72 51.2s2.458 51.2 30.72 51.2h399.36c28.262 0 30.72-22.886 30.72-51.2s-2.458-51.2-30.72-51.2zM440.32 307.2h399.36c28.262 0 30.72-22.886 30.72-51.2s-2.458-51.2-30.72-51.2h-399.36c-28.262 0-30.72 22.886-30.72 51.2s2.458 51.2 30.72 51.2zM276.48 460.8h-92.16c-28.262 0-30.72 22.886-30.72 51.2s2.458 51.2 30.72 51.2h92.16c28.262 0 30.72-22.886 30.72-51.2s-2.458-51.2-30.72-51.2zM276.48 716.8h-92.16c-28.262 0-30.72 22.886-30.72 51.2s2.458 51.2 30.72 51.2h92.16c28.262 0 30.72-22.886 30.72-51.2s-2.458-51.2-30.72-51.2zM276.48 204.8h-92.16c-28.262 0-30.72 22.886-30.72 51.2s2.458 51.2 30.72 51.2h92.16c28.262 0 30.72-22.886 30.72-51.2s-2.458-51.2-30.72-51.2z"
],
"attrs": [
{}
],
"isMulticolor": false,
"isMulticolor2": false,
"tags": [
"list"
],
"grid": 20
},
"attrs": [
{}
],
"properties": {
"order": 1,
"id": 0,
"name": "list",
"prevSize": 20,
"code": 59726
},
"setIdx": 0,
"setId": 4,
"iconIdx": 1
},
{
"icon": {
"paths": [
"M636.518 0c68.608 0 102.912 46.694 102.912 100.198 0 66.816-59.597 128.614-137.165 128.614-64.973 0-102.861-38.4-101.069-101.888 0-53.402 45.107-126.925 135.322-126.925zM425.421 1024c-54.17 0-93.85-33.382-55.962-180.429l62.157-260.71c10.803-41.677 12.595-58.419 0-58.419-16.23 0-86.477 28.774-128.102 57.19l-27.034-45.056c131.686-111.923 283.187-177.51 348.211-177.51 54.118 0 63.13 65.178 36.096 165.376l-71.219 274.022c-12.595 48.384-7.219 65.075 5.427 65.075 16.23 0 69.478-20.070 121.805-61.798l30.72 41.677c-128.102 130.406-268.032 180.582-322.099 180.582z"
],
"attrs": [
{}
],
"isMulticolor": false,
"isMulticolor2": false,
"tags": [
"info"
],
"grid": 20
},
"attrs": [
{}
],
"properties": {
"order": 1,
"id": 0,
"prevSize": 20,
"code": 59708,
"name": "info"
},
"setIdx": 3,
"setId": 1,
"iconIdx": 97
},
{ {
"icon": { "icon": {
"paths": [ "paths": [
@ -27,7 +114,7 @@
"code": 59725, "code": 59725,
"name": "control-Color" "name": "control-Color"
}, },
"setIdx": 0, "setIdx": 1,
"setId": 3, "setId": 3,
"iconIdx": 0 "iconIdx": 0
}, },
@ -60,7 +147,7 @@
"code": 59701, "code": 59701,
"name": "browser" "name": "browser"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 94 "iconIdx": 94
}, },
@ -92,7 +179,7 @@
"code": 59714, "code": 59714,
"name": "checkmark" "name": "checkmark"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 95 "iconIdx": 95
}, },
@ -122,7 +209,7 @@
"code": 59706, "code": 59706,
"name": "control-Stars" "name": "control-Stars"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 96 "iconIdx": 96
}, },
@ -157,7 +244,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59724 "code": 59724
}, },
"setIdx": 1, "setIdx": 2,
"setId": 2, "setId": 2,
"iconIdx": 0 "iconIdx": 0
}, },
@ -186,7 +273,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59729 "code": 59729
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 23 "iconIdx": 23
}, },
@ -218,7 +305,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59727 "code": 59727
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 25 "iconIdx": 25
}, },
@ -256,7 +343,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59722 "code": 59722
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 27 "iconIdx": 27
}, },
@ -285,7 +372,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59652 "code": 59652
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 28 "iconIdx": 28
}, },
@ -314,7 +401,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59653 "code": 59653
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 29 "iconIdx": 29
}, },
@ -343,7 +430,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59654 "code": 59654
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 30 "iconIdx": 30
}, },
@ -372,7 +459,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59655 "code": 59655
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 31 "iconIdx": 31
}, },
@ -401,7 +488,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59656 "code": 59656
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 32 "iconIdx": 32
}, },
@ -430,7 +517,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59657 "code": 59657
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 33 "iconIdx": 33
}, },
@ -459,7 +546,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59658 "code": 59658
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 34 "iconIdx": 34
}, },
@ -488,7 +575,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59659 "code": 59659
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 35 "iconIdx": 35
}, },
@ -517,7 +604,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59660 "code": 59660
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 36 "iconIdx": 36
}, },
@ -546,7 +633,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59661 "code": 59661
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 37 "iconIdx": 37
}, },
@ -575,7 +662,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59662 "code": 59662
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 38 "iconIdx": 38
}, },
@ -604,7 +691,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59663 "code": 59663
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 39 "iconIdx": 39
}, },
@ -633,7 +720,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59664 "code": 59664
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 40 "iconIdx": 40
}, },
@ -668,7 +755,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59665 "code": 59665
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 41 "iconIdx": 41
}, },
@ -697,7 +784,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59666 "code": 59666
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 42 "iconIdx": 42
}, },
@ -726,7 +813,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59667 "code": 59667
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 43 "iconIdx": 43
}, },
@ -755,7 +842,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59668 "code": 59668
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 44 "iconIdx": 44
}, },
@ -784,7 +871,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59669 "code": 59669
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 45 "iconIdx": 45
}, },
@ -813,7 +900,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59670 "code": 59670
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 46 "iconIdx": 46
}, },
@ -842,7 +929,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59671 "code": 59671
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 47 "iconIdx": 47
}, },
@ -871,7 +958,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59672 "code": 59672
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 48 "iconIdx": 48
}, },
@ -901,7 +988,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59713 "code": 59713
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 49 "iconIdx": 49
}, },
@ -930,7 +1017,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59673 "code": 59673
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 50 "iconIdx": 50
}, },
@ -959,7 +1046,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59675 "code": 59675
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 51 "iconIdx": 51
}, },
@ -988,7 +1075,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59676 "code": 59676
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 52 "iconIdx": 52
}, },
@ -1017,7 +1104,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59677 "code": 59677
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 53 "iconIdx": 53
}, },
@ -1046,7 +1133,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59678 "code": 59678
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 54 "iconIdx": 54
}, },
@ -1075,7 +1162,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59679 "code": 59679
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 55 "iconIdx": 55
}, },
@ -1104,7 +1191,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59680 "code": 59680
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 56 "iconIdx": 56
}, },
@ -1142,7 +1229,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59681 "code": 59681
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 57 "iconIdx": 57
}, },
@ -1171,7 +1258,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59682 "code": 59682
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 58 "iconIdx": 58
}, },
@ -1200,7 +1287,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59683 "code": 59683
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 59 "iconIdx": 59
}, },
@ -1229,7 +1316,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59684 "code": 59684
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 60 "iconIdx": 60
}, },
@ -1258,7 +1345,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59685 "code": 59685
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 61 "iconIdx": 61
}, },
@ -1287,7 +1374,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59674 "code": 59674
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 62 "iconIdx": 62
}, },
@ -1316,7 +1403,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59686 "code": 59686
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 63 "iconIdx": 63
}, },
@ -1345,7 +1432,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59687 "code": 59687
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 64 "iconIdx": 64
}, },
@ -1374,7 +1461,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59688 "code": 59688
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 65 "iconIdx": 65
}, },
@ -1407,7 +1494,7 @@
"code": 59741, "code": 59741,
"name": "star-full" "name": "star-full"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 0 "iconIdx": 0
}, },
@ -1440,7 +1527,7 @@
"code": 59742, "code": 59742,
"name": "star-empty" "name": "star-empty"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 1 "iconIdx": 1
}, },
@ -1472,7 +1559,7 @@
"code": 59740, "code": 59740,
"name": "twitter" "name": "twitter"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 2 "iconIdx": 2
}, },
@ -1504,7 +1591,7 @@
"code": 59732, "code": 59732,
"name": "hour-glass" "name": "hour-glass"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 3 "iconIdx": 3
}, },
@ -1537,7 +1624,7 @@
"code": 59731, "code": 59731,
"name": "spinner" "name": "spinner"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 4 "iconIdx": 4
}, },
@ -1568,7 +1655,7 @@
"code": 59728, "code": 59728,
"name": "clock" "name": "clock"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 5 "iconIdx": 5
}, },
@ -1605,7 +1692,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59650 "code": 59650
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 6 "iconIdx": 6
}, },
@ -1638,7 +1725,7 @@
"prevSize": 32, "prevSize": 32,
"code": 59850 "code": 59850
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 7 "iconIdx": 7
}, },
@ -1671,7 +1758,7 @@
"code": 59715, "code": 59715,
"name": "elapsed" "name": "elapsed"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 8 "iconIdx": 8
}, },
@ -1701,7 +1788,7 @@
"code": 59707, "code": 59707,
"name": "google" "name": "google"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 9 "iconIdx": 9
}, },
@ -1733,7 +1820,7 @@
"code": 59700, "code": 59700,
"name": "lock" "name": "lock"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 10 "iconIdx": 10
}, },
@ -1764,7 +1851,7 @@
"code": 59712, "code": 59712,
"name": "microsoft" "name": "microsoft"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 11 "iconIdx": 11
}, },
@ -1794,7 +1881,7 @@
"code": 59695, "code": 59695,
"name": "pause" "name": "pause"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 12 "iconIdx": 12
}, },
@ -1824,7 +1911,7 @@
"code": 59696, "code": 59696,
"name": "play" "name": "play"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 13 "iconIdx": 13
}, },
@ -1863,7 +1950,7 @@
"code": 59694, "code": 59694,
"name": "reset" "name": "reset"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 14 "iconIdx": 14
}, },
@ -1898,7 +1985,7 @@
"code": 59693, "code": 59693,
"name": "settings2" "name": "settings2"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 15 "iconIdx": 15
}, },
@ -1932,7 +2019,7 @@
"code": 59716, "code": 59716,
"name": "timeout" "name": "timeout"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 16 "iconIdx": 16
}, },
@ -1962,7 +2049,7 @@
"code": 59699, "code": 59699,
"name": "unlocked" "name": "unlocked"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 17 "iconIdx": 17
}, },
@ -1991,7 +2078,7 @@
"code": 59739, "code": 59739,
"name": "backup" "name": "backup"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 18 "iconIdx": 18
}, },
@ -2020,7 +2107,7 @@
"code": 59738, "code": 59738,
"name": "support" "name": "support"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 19 "iconIdx": 19
}, },
@ -2049,7 +2136,7 @@
"code": 59705, "code": 59705,
"name": "control-RichText" "name": "control-RichText"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 20 "iconIdx": 20
}, },
@ -2078,7 +2165,7 @@
"code": 59710, "code": 59710,
"name": "download" "name": "download"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 21 "iconIdx": 21
}, },
@ -2117,7 +2204,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59736 "code": 59736
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 66 "iconIdx": 66
}, },
@ -2159,7 +2246,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59735 "code": 59735
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 67 "iconIdx": 67
}, },
@ -2197,7 +2284,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59734 "code": 59734
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 68 "iconIdx": 68
}, },
@ -2227,7 +2314,7 @@
"code": 59733, "code": 59733,
"name": "exclamation" "name": "exclamation"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 69 "iconIdx": 69
}, },
@ -2256,7 +2343,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59723 "code": 59723
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 72 "iconIdx": 72
}, },
@ -2288,7 +2375,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59721 "code": 59721
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 73 "iconIdx": 73
}, },
@ -2320,7 +2407,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59711 "code": 59711
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 74 "iconIdx": 74
}, },
@ -2350,7 +2437,7 @@
"code": 59648, "code": 59648,
"name": "angle-down" "name": "angle-down"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 75 "iconIdx": 75
}, },
@ -2380,7 +2467,7 @@
"code": 59649, "code": 59649,
"name": "angle-left" "name": "angle-left"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 76 "iconIdx": 76
}, },
@ -2410,7 +2497,7 @@
"code": 59697, "code": 59697,
"name": "angle-right" "name": "angle-right"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 77 "iconIdx": 77
}, },
@ -2440,7 +2527,7 @@
"code": 59651, "code": 59651,
"name": "angle-up" "name": "angle-up"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 78 "iconIdx": 78
}, },
@ -2481,7 +2568,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59717 "code": 59717
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 79 "iconIdx": 79
}, },
@ -2516,7 +2603,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59720 "code": 59720
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 80 "iconIdx": 80
}, },
@ -2546,7 +2633,7 @@
"code": 59709, "code": 59709,
"name": "bug" "name": "bug"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 81 "iconIdx": 81
}, },
@ -2576,7 +2663,7 @@
"code": 59692, "code": 59692,
"name": "caret-down" "name": "caret-down"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 82 "iconIdx": 82
}, },
@ -2606,7 +2693,7 @@
"code": 59690, "code": 59690,
"name": "caret-left" "name": "caret-left"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 83 "iconIdx": 83
}, },
@ -2636,7 +2723,7 @@
"code": 59689, "code": 59689,
"name": "caret-right" "name": "caret-right"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 84 "iconIdx": 84
}, },
@ -2666,7 +2753,7 @@
"code": 59691, "code": 59691,
"name": "caret-up" "name": "caret-up"
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 85 "iconIdx": 85
}, },
@ -2704,7 +2791,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59718 "code": 59718
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 86 "iconIdx": 86
}, },
@ -2733,7 +2820,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59702 "code": 59702
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 87 "iconIdx": 87
}, },
@ -2762,7 +2849,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59703 "code": 59703
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 88 "iconIdx": 88
}, },
@ -2791,7 +2878,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59704 "code": 59704
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 89 "iconIdx": 89
}, },
@ -2818,7 +2905,7 @@
"prevSize": 28, "prevSize": 28,
"code": 61450 "code": 61450
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 90 "iconIdx": 90
}, },
@ -2841,13 +2928,13 @@
}, },
"attrs": [], "attrs": [],
"properties": { "properties": {
"name": "list", "name": "list1",
"id": 178, "id": 178,
"order": 89, "order": 89,
"prevSize": 28, "prevSize": 28,
"code": 61641 "code": 61641
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 91 "iconIdx": 91
}, },
@ -2876,7 +2963,7 @@
"prevSize": 28, "prevSize": 28,
"code": 59698 "code": 59698
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 92 "iconIdx": 92
}, },
@ -2926,38 +3013,9 @@
"prevSize": 28, "prevSize": 28,
"code": 59719 "code": 59719
}, },
"setIdx": 2, "setIdx": 3,
"setId": 1, "setId": 1,
"iconIdx": 93 "iconIdx": 93
},
{
"icon": {
"paths": [
"M636.518 0c68.608 0 102.912 46.694 102.912 100.198 0 66.816-59.597 128.614-137.165 128.614-64.973 0-102.861-38.4-101.069-101.888 0-53.402 45.107-126.925 135.322-126.925zM425.421 1024c-54.17 0-93.85-33.382-55.962-180.429l62.157-260.71c10.803-41.677 12.595-58.419 0-58.419-16.23 0-86.477 28.774-128.102 57.19l-27.034-45.056c131.686-111.923 283.187-177.51 348.211-177.51 54.118 0 63.13 65.178 36.096 165.376l-71.219 274.022c-12.595 48.384-7.219 65.075 5.427 65.075 16.23 0 69.478-20.070 121.805-61.798l30.72 41.677c-128.102 130.406-268.032 180.582-322.099 180.582z"
],
"attrs": [
{}
],
"isMulticolor": false,
"isMulticolor2": false,
"tags": [
"info"
],
"grid": 20
},
"attrs": [
{}
],
"properties": {
"order": 1,
"id": 0,
"prevSize": 20,
"code": 59708,
"name": "info"
},
"setIdx": 2,
"setId": 1,
"iconIdx": 97
} }
], ],
"height": 1024, "height": 1024,

66
src/Squidex/app/theme/icomoon/style.css

@ -1,10 +1,10 @@
@font-face { @font-face {
font-family: 'icomoon'; font-family: 'icomoon';
src: url('fonts/icomoon.eot?l885ee'); src: url('fonts/icomoon.eot?sfm7f7');
src: url('fonts/icomoon.eot?l885ee#iefix') format('embedded-opentype'), src: url('fonts/icomoon.eot?sfm7f7#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?l885ee') format('truetype'), url('fonts/icomoon.ttf?sfm7f7') format('truetype'),
url('fonts/icomoon.woff?l885ee') format('woff'), url('fonts/icomoon.woff?sfm7f7') format('woff'),
url('fonts/icomoon.svg?l885ee#icomoon') format('svg'); url('fonts/icomoon.svg?sfm7f7#icomoon') format('svg');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@ -24,6 +24,15 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-grid1:before {
content: "\e952";
}
.icon-list:before {
content: "\e94e";
}
.icon-info:before {
content: "\e93c";
}
.icon-control-Color:before { .icon-control-Color:before {
content: "\e94d"; content: "\e94d";
} }
@ -258,48 +267,6 @@
.icon-download:before { .icon-download:before {
content: "\e93e"; content: "\e93e";
} }
.icon-orleans:before {
content: "\e94b";
}
.icon-document-lock:before {
content: "\e949";
}
.icon-document-unpublish:before {
content: "\e93f";
}
.icon-angle-down:before {
content: "\e900";
}
.icon-angle-left:before {
content: "\e901";
}
.icon-angle-right:before {
content: "\e931";
}
.icon-angle-up:before {
content: "\e903";
}
.icon-api:before {
content: "\e945";
}
.icon-assets:before {
content: "\e948";
}
.icon-bug:before {
content: "\e93d";
}
.icon-caret-down:before {
content: "\e92c";
}
.icon-caret-left:before {
content: "\e92a";
}
.icon-caret-right:before {
content: "\e929";
}
.icon-caret-up:before {
content: "\e92b";
}
.icon-single-content:before { .icon-single-content:before {
content: "\e958"; content: "\e958";
} }
@ -372,7 +339,7 @@
.icon-grid:before { .icon-grid:before {
content: "\f00a"; content: "\f00a";
} }
.icon-list:before { .icon-list1:before {
content: "\f0c9"; content: "\f0c9";
} }
.icon-user-o:before { .icon-user-o:before {
@ -381,6 +348,3 @@
.icon-rules:before { .icon-rules:before {
content: "\e947"; content: "\e947";
} }
.icon-info:before {
content: "\e93c";
}

Loading…
Cancel
Save