mirror of
https://github.com/lxsang/antos-frontend.git
synced 2024-12-26 01:18:21 +01:00
UI improvement + use lastest boostrap icon
- Update bootstrap icons to latest - Redesign system tray for services monitoring - Improve UI + bug fix on default packages
This commit is contained in:
parent
303fc9ba20
commit
03cee726ed
@ -1,7 +1,10 @@
|
|||||||
# antOS v1.2.1
|
# antOS v2.0.0
|
||||||
[![Build Status](https://ci.iohub.dev/buildStatus/icon?job=gitea-sync%2Fantos%2Fmaster)](https://ci.iohub.dev/job/gitea-sync/job/antos/job/master/)
|
[![Build Status](https://ci.iohub.dev/buildStatus/icon?job=gitea-sync%2Fantos%2F2.0.x)](https://ci.iohub.dev/buildStatus/icon?job=gitea-sync%2Fantos%2F2.0.x)
|
||||||
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Flxsang%2Fantos.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Flxsang%2Fantos?ref=badge_shield)
|
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Flxsang%2Fantos.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Flxsang%2Fantos?ref=badge_shield)
|
||||||
|
|
||||||
|
> Warning: v2.0.0 is the experimental version of AntOS which is strongly redesigned to support mobile device.
|
||||||
|
> For a plus stable AntOS system, please use v.1.x for production.
|
||||||
|
|
||||||
AntOS is a web-based desktop platform that features a window manager, application APIs, GUI toolkit, file system abstractions, application store, and an API and SDK for in-browser application development. The purpose of this project is to enable users to easily set up a self-hosted, cloud-based working environment using only a web browser. The front-end can connect to a remote server and act as a virtual desktop environment (VDE).
|
AntOS is a web-based desktop platform that features a window manager, application APIs, GUI toolkit, file system abstractions, application store, and an API and SDK for in-browser application development. The purpose of this project is to enable users to easily set up a self-hosted, cloud-based working environment using only a web browser. The front-end can connect to a remote server and act as a virtual desktop environment (VDE).
|
||||||
|
|
||||||
AntOS can be used in several application contexts, such as:
|
AntOS can be used in several application contexts, such as:
|
||||||
@ -37,6 +40,8 @@ If one want to run AntOS VDE locally in their system, a docker image is availabl
|
|||||||
- API: [https://doc.iohub.dev/antos/api/](https://doc.iohub.dev/antos/api/)
|
- API: [https://doc.iohub.dev/antos/api/](https://doc.iohub.dev/antos/api/)
|
||||||
|
|
||||||
## Change logs
|
## Change logs
|
||||||
|
* v.2.0.0
|
||||||
|
- Work In Progress: The UI is redesigned to support mobile device
|
||||||
* V1.2.1
|
* V1.2.1
|
||||||
- 9b5da17 - App name now can differ from pkgname
|
- 9b5da17 - App name now can differ from pkgname
|
||||||
- b381294 - fix: fix icon display problem when application is installed, remove all related settings when an application is uinstalled
|
- b381294 - fix: fix icon display problem when application is installed, remove all related settings when an application is uinstalled
|
||||||
|
43
d.ts/antos.d.ts
vendored
43
d.ts/antos.d.ts
vendored
@ -3685,6 +3685,13 @@ declare namespace OS {
|
|||||||
* @memberof TagEventType
|
* @memberof TagEventType
|
||||||
*/
|
*/
|
||||||
data: T;
|
data: T;
|
||||||
|
/**
|
||||||
|
* Original event if any
|
||||||
|
*
|
||||||
|
* @type {any}
|
||||||
|
* @memberof TagEventType
|
||||||
|
*/
|
||||||
|
originalEvent?: any;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Drag and Drop data type sent between mouse events
|
* Drag and Drop data type sent between mouse events
|
||||||
@ -6294,6 +6301,22 @@ declare namespace OS {
|
|||||||
* @memberof SystemPanelTag
|
* @memberof SystemPanelTag
|
||||||
*/
|
*/
|
||||||
private _pending_task;
|
private _pending_task;
|
||||||
|
/**
|
||||||
|
* Flag indicate where the selected application shall be openned
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @type {boolean}
|
||||||
|
* @memberof SystemPanelTag
|
||||||
|
*/
|
||||||
|
private _prevent_open;
|
||||||
|
/**
|
||||||
|
* Store the current attached service
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @type {number[]}
|
||||||
|
* @memberof SystemPanelTag
|
||||||
|
*/
|
||||||
|
private _services;
|
||||||
/**
|
/**
|
||||||
* Loading animation check timeout
|
* Loading animation check timeout
|
||||||
*
|
*
|
||||||
@ -6409,6 +6432,7 @@ declare namespace OS {
|
|||||||
* @memberof SystemPanelTag
|
* @memberof SystemPanelTag
|
||||||
*/
|
*/
|
||||||
private animation_check;
|
private animation_check;
|
||||||
|
private show_systray;
|
||||||
/**
|
/**
|
||||||
* Mount the tag bind some basic event
|
* Mount the tag bind some basic event
|
||||||
*
|
*
|
||||||
@ -10570,10 +10594,10 @@ declare namespace OS {
|
|||||||
/**
|
/**
|
||||||
* Text of the service shown in the system tray
|
* Text of the service shown in the system tray
|
||||||
*
|
*
|
||||||
* @type {string}
|
* @type {string | FormattedString}
|
||||||
* @memberof BaseService
|
* @memberof BaseService
|
||||||
*/
|
*/
|
||||||
text: string;
|
text: string | FormattedString;
|
||||||
/**
|
/**
|
||||||
* Reference to the menu entry DOM element attached
|
* Reference to the menu entry DOM element attached
|
||||||
* to the service
|
* to the service
|
||||||
@ -10591,13 +10615,6 @@ declare namespace OS {
|
|||||||
* @memberof BaseService
|
* @memberof BaseService
|
||||||
*/
|
*/
|
||||||
private timer;
|
private timer;
|
||||||
/**
|
|
||||||
* Reference to the system tray menu
|
|
||||||
*
|
|
||||||
* @type {HTMLElement}
|
|
||||||
* @memberof BaseService
|
|
||||||
*/
|
|
||||||
holder: HTMLElement;
|
|
||||||
/**
|
/**
|
||||||
* Placeholder for service select callback
|
* Placeholder for service select callback
|
||||||
*
|
*
|
||||||
@ -10642,14 +10659,6 @@ declare namespace OS {
|
|||||||
* @memberof BaseService
|
* @memberof BaseService
|
||||||
*/
|
*/
|
||||||
meta(): API.PackageMetaType;
|
meta(): API.PackageMetaType;
|
||||||
/**
|
|
||||||
* Attach the service to a menu element
|
|
||||||
* such as the system tray menu
|
|
||||||
*
|
|
||||||
* @param {HTMLElement} h
|
|
||||||
* @memberof BaseService
|
|
||||||
*/
|
|
||||||
attach(h: HTMLElement): void;
|
|
||||||
/**
|
/**
|
||||||
* Set the callback that will be called periodically
|
* Set the callback that will be called periodically
|
||||||
* after a period of time.
|
* after a period of time.
|
||||||
|
Binary file not shown.
@ -55,10 +55,10 @@ namespace OS {
|
|||||||
/**
|
/**
|
||||||
* Text of the service shown in the system tray
|
* Text of the service shown in the system tray
|
||||||
*
|
*
|
||||||
* @type {string}
|
* @type {string | FormattedString}
|
||||||
* @memberof BaseService
|
* @memberof BaseService
|
||||||
*/
|
*/
|
||||||
text: string;
|
text: string | FormattedString;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to the menu entry DOM element attached
|
* Reference to the menu entry DOM element attached
|
||||||
@ -79,13 +79,6 @@ namespace OS {
|
|||||||
*/
|
*/
|
||||||
private timer: number;
|
private timer: number;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reference to the system tray menu
|
|
||||||
*
|
|
||||||
* @type {HTMLElement}
|
|
||||||
* @memberof BaseService
|
|
||||||
*/
|
|
||||||
holder: HTMLElement;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Placeholder for service select callback
|
* Placeholder for service select callback
|
||||||
@ -108,7 +101,6 @@ namespace OS {
|
|||||||
this.iconclass = "fa fa-paper-plane-o";
|
this.iconclass = "fa fa-paper-plane-o";
|
||||||
this.text = "";
|
this.text = "";
|
||||||
this.timer = undefined;
|
this.timer = undefined;
|
||||||
this.holder = undefined;
|
|
||||||
this.onmenuselect = (d) => {
|
this.onmenuselect = (d) => {
|
||||||
return this.awake(d);
|
return this.awake(d);
|
||||||
};
|
};
|
||||||
@ -140,7 +132,9 @@ namespace OS {
|
|||||||
* @memberof BaseService
|
* @memberof BaseService
|
||||||
*/
|
*/
|
||||||
update(): void {
|
update(): void {
|
||||||
(this.domel as GUI.tag.MenuEntryTag).data = this;
|
if(!this.domel)
|
||||||
|
return;
|
||||||
|
(this.domel as GUI.tag.ListViewItemTag).data = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -153,17 +147,6 @@ namespace OS {
|
|||||||
return application[this.name].meta;
|
return application[this.name].meta;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Attach the service to a menu element
|
|
||||||
* such as the system tray menu
|
|
||||||
*
|
|
||||||
* @param {HTMLElement} h
|
|
||||||
* @memberof BaseService
|
|
||||||
*/
|
|
||||||
attach(h: HTMLElement): void {
|
|
||||||
this.holder = h;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the callback that will be called periodically
|
* Set the callback that will be called periodically
|
||||||
* after a period of time.
|
* after a period of time.
|
||||||
|
@ -535,7 +535,7 @@ namespace OS {
|
|||||||
setting.system.repositories = [
|
setting.system.repositories = [
|
||||||
{
|
{
|
||||||
text: "Github",
|
text: "Github",
|
||||||
url: "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/packages.json"
|
url: "https://raw.githubusercontent.com/lxsang/antosdk-apps/2.0.x/packages.json"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -178,14 +178,16 @@ namespace OS {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$(this.refs.item).on("click",(e) => {
|
$(this.refs.item).on("click",(e) => {
|
||||||
this._onclick({ id: this.aid, data: this });
|
this._onclick({ id: this.aid, data: this, originalEvent: e });
|
||||||
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(this.refs.item).on("dblclick",(e) => {
|
$(this.refs.item).on("dblclick",(e) => {
|
||||||
this._ondbclick({ id: this.aid, data: this });
|
this._ondbclick({ id: this.aid, data: this, originalEvent: e });
|
||||||
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
$(this.refs.btcl).on("click",(e) => {
|
$(this.refs.btcl).on("click",(e) => {
|
||||||
this._onclose({ id: this.aid, data: this });
|
this._onclose({ id: this.aid, data: this, originalEvent: e });
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
@ -39,6 +39,23 @@ namespace OS {
|
|||||||
*/
|
*/
|
||||||
private _pending_task: number[];
|
private _pending_task: number[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flag indicate where the selected application shall be openned
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @type {boolean}
|
||||||
|
* @memberof SystemPanelTag
|
||||||
|
*/
|
||||||
|
private _prevent_open: boolean;
|
||||||
|
/**
|
||||||
|
* Store the current attached service
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @type {number[]}
|
||||||
|
* @memberof SystemPanelTag
|
||||||
|
*/
|
||||||
|
private _services: application.BaseService[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loading animation check timeout
|
* Loading animation check timeout
|
||||||
*
|
*
|
||||||
@ -77,6 +94,8 @@ namespace OS {
|
|||||||
this._pending_task = [];
|
this._pending_task = [];
|
||||||
this._loading_toh = undefined;
|
this._loading_toh = undefined;
|
||||||
this.app_list= [];
|
this.app_list= [];
|
||||||
|
this._services = [];
|
||||||
|
this._prevent_open = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -105,8 +124,7 @@ namespace OS {
|
|||||||
* @memberof SystemPanelTag
|
* @memberof SystemPanelTag
|
||||||
*/
|
*/
|
||||||
attachservice(s: application.BaseService) {
|
attachservice(s: application.BaseService) {
|
||||||
(this.refs.systray as MenuTag).unshift(s);
|
this._services.unshift(s);
|
||||||
return s.attach(this.refs.systray);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -118,14 +136,16 @@ namespace OS {
|
|||||||
* @memberof SystemPanelTag
|
* @memberof SystemPanelTag
|
||||||
*/
|
*/
|
||||||
private open(): void {
|
private open(): void {
|
||||||
|
if(this._prevent_open)
|
||||||
|
{
|
||||||
|
this._prevent_open = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
const applist = this.refs.applist as ListViewTag;
|
const applist = this.refs.applist as ListViewTag;
|
||||||
const el = applist.selectedItem;
|
const el = applist.selectedItem;
|
||||||
if (!el) {
|
if (!el) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!el.data || el.data.dataid === "header") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.toggle(false);
|
this.toggle(false);
|
||||||
// launch the app or open the file
|
// launch the app or open the file
|
||||||
Ant.OS.GUI.openWith(el.data as AppArgumentsType);
|
Ant.OS.GUI.openWith(el.data as AppArgumentsType);
|
||||||
@ -149,11 +169,13 @@ namespace OS {
|
|||||||
return this.toggle(false);
|
return this.toggle(false);
|
||||||
|
|
||||||
case 37:
|
case 37:
|
||||||
|
this._prevent_open = true;
|
||||||
applist.selectPrev();
|
applist.selectPrev();
|
||||||
return e.preventDefault();
|
return e.preventDefault();
|
||||||
case 38:
|
case 38:
|
||||||
return e.preventDefault();
|
return e.preventDefault();
|
||||||
case 39:
|
case 39:
|
||||||
|
this._prevent_open = true;
|
||||||
applist.selectNext();
|
applist.selectNext();
|
||||||
return e.preventDefault();
|
return e.preventDefault();
|
||||||
case 40:
|
case 40:
|
||||||
@ -187,9 +209,8 @@ namespace OS {
|
|||||||
* @memberof SystemPanelTag
|
* @memberof SystemPanelTag
|
||||||
*/
|
*/
|
||||||
detachservice(s: application.BaseService): void {
|
detachservice(s: application.BaseService): void {
|
||||||
(this.refs.systray as MenuTag).delete(
|
const index = this._services.indexOf(s);
|
||||||
s.domel as MenuEntryTag
|
this._services.splice(index, 1);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -216,7 +237,7 @@ namespace OS {
|
|||||||
id: "sysdock"
|
id: "sysdock"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
el: "afx-menu",
|
el: "afx-button",
|
||||||
id: "systray",
|
id: "systray",
|
||||||
ref: "systray",
|
ref: "systray",
|
||||||
class: "afx-panel-os-stray",
|
class: "afx-panel-os-stray",
|
||||||
@ -394,6 +415,18 @@ namespace OS {
|
|||||||
clearTimeout(this._loading_toh);
|
clearTimeout(this._loading_toh);
|
||||||
this._loading_toh = undefined;
|
this._loading_toh = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private show_systray(): void
|
||||||
|
{
|
||||||
|
const ctxmenu = $("#contextmenu")[0] as tag.StackMenuTag;
|
||||||
|
ctxmenu.hide();
|
||||||
|
ctxmenu.nodes = this._services;
|
||||||
|
$(ctxmenu)
|
||||||
|
.css("right", 0)
|
||||||
|
.css("bottom", $(this).height());
|
||||||
|
ctxmenu.show();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mount the tag bind some basic event
|
* Mount the tag bind some basic event
|
||||||
*
|
*
|
||||||
@ -401,6 +434,7 @@ namespace OS {
|
|||||||
* @memberof SystemPanelTag
|
* @memberof SystemPanelTag
|
||||||
*/
|
*/
|
||||||
protected mount(): void {
|
protected mount(): void {
|
||||||
|
const systray = this.refs.systray as GUI.tag.ButtonTag;
|
||||||
(this.refs.osmenu as ButtonTag).set(this._osmenu);
|
(this.refs.osmenu as ButtonTag).set(this._osmenu);
|
||||||
this._cb = (e) => {
|
this._cb = (e) => {
|
||||||
if (
|
if (
|
||||||
@ -410,7 +444,6 @@ namespace OS {
|
|||||||
return this.toggle(false);
|
return this.toggle(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
$(this.refs.systray).css("z-index", 1000000);
|
|
||||||
(this.refs.btscreen as ButtonTag).set({
|
(this.refs.btscreen as ButtonTag).set({
|
||||||
iconclass: "fa fa-tv",
|
iconclass: "fa fa-tv",
|
||||||
onbtclick: (e) => {
|
onbtclick: (e) => {
|
||||||
@ -450,9 +483,9 @@ namespace OS {
|
|||||||
return this.search(e);
|
return this.search(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(this.refs.applist).on("click", (e) => {
|
(this.refs.applist as ListViewTag).onlistselect = (_) => {
|
||||||
return this.open();
|
return this.open();
|
||||||
});
|
};
|
||||||
Ant.OS.GUI.bindKey("CTRL- ", (e) => {
|
Ant.OS.GUI.bindKey("CTRL- ", (e) => {
|
||||||
if (this._view === false) {
|
if (this._view === false) {
|
||||||
return this.toggle(true);
|
return this.toggle(true);
|
||||||
@ -479,19 +512,27 @@ namespace OS {
|
|||||||
$(this.refs.overlay)
|
$(this.refs.overlay)
|
||||||
.hide();
|
.hide();
|
||||||
this.refs.osmenu.contextmenuHandle = (e, m) => { };
|
this.refs.osmenu.contextmenuHandle = (e, m) => { };
|
||||||
this.refs.systray.contextmenuHandle = (e, m) => { };
|
systray.contextmenuHandle = (e, m) => { };
|
||||||
this.refs.panel.contextmenuHandle = (e, m) => { };
|
this.refs.panel.contextmenuHandle = (e, m) => { };
|
||||||
announcer.on("loading", (o: API.AnnouncementDataType<number>) => {
|
announcer.on("loading", (o: API.AnnouncementDataType<number>) => {
|
||||||
if(o.u_data != 0)
|
if(o.u_data != 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this._pending_task.push(o.id);
|
if(this._pending_task.length == 0)
|
||||||
if(!$(this.refs.panel).hasClass("loading"))
|
{
|
||||||
$(this.refs.panel).addClass("loading");
|
$(this.refs.panel).addClass("loading");
|
||||||
|
systray.iconclass = "fa-spin fa fa-cog";
|
||||||
|
}
|
||||||
|
this._pending_task.push(o.id);
|
||||||
|
|
||||||
$(GUI.workspace).css("cursor", "wait");
|
$(GUI.workspace).css("cursor", "wait");
|
||||||
});
|
});
|
||||||
|
systray.iconclass = "bi bi-sliders";
|
||||||
|
systray.onbtclick = (e) => {
|
||||||
|
e.data.stopPropagation();
|
||||||
|
this.show_systray();
|
||||||
|
};
|
||||||
announcer.on("loaded", (o: API.AnnouncementDataType<number>) => {
|
announcer.on("loaded", (o: API.AnnouncementDataType<number>) => {
|
||||||
const i = this._pending_task.indexOf(o.id);
|
const i = this._pending_task.indexOf(o.id);
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
@ -499,6 +540,7 @@ namespace OS {
|
|||||||
}
|
}
|
||||||
if (this._pending_task.length === 0) {
|
if (this._pending_task.length === 0) {
|
||||||
// set time out
|
// set time out
|
||||||
|
systray.iconclass = "bi bi-sliders";
|
||||||
if(!this._loading_toh)
|
if(!this._loading_toh)
|
||||||
this._loading_toh = setTimeout(() => this.animation_check(),1000);
|
this._loading_toh = setTimeout(() => this.animation_check(),1000);
|
||||||
}
|
}
|
||||||
|
@ -217,6 +217,13 @@ namespace OS {
|
|||||||
* @memberof TagEventType
|
* @memberof TagEventType
|
||||||
*/
|
*/
|
||||||
data: T;
|
data: T;
|
||||||
|
/**
|
||||||
|
* Original event if any
|
||||||
|
*
|
||||||
|
* @type {any}
|
||||||
|
* @memberof TagEventType
|
||||||
|
*/
|
||||||
|
originalEvent?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -20,9 +20,9 @@
|
|||||||
<afx-button data-id = "bt-remove" text = "__(Uninstall)" iconclass = "bi bi-trash-fill"></afx-button>
|
<afx-button data-id = "bt-remove" text = "__(Uninstall)" iconclass = "bi bi-trash-fill"></afx-button>
|
||||||
<afx-button data-id = "bt-exec" text = "__(Launch)" iconclass = "fa fa-cog"></afx-button>
|
<afx-button data-id = "bt-exec" text = "__(Launch)" iconclass = "fa fa-cog"></afx-button>
|
||||||
<afx-button data-id = "bt-install" text = "__(Install)" iconclass = "bi bi-cloud-download-fill" ></afx-button>
|
<afx-button data-id = "bt-install" text = "__(Install)" iconclass = "bi bi-cloud-download-fill" ></afx-button>
|
||||||
<p class="stat"><afx-label data-id="vstat"></afx-label></p>
|
|
||||||
</div>
|
</div>
|
||||||
</afx-hbox>
|
</afx-hbox>
|
||||||
|
<p class="stat" data-height="15"><afx-label data-id="vstat"></afx-label></p>
|
||||||
<div data-id="desc-container">
|
<div data-id="desc-container">
|
||||||
<p data-id = "app-desc"></p>
|
<p data-id = "app-desc"></p>
|
||||||
<ul data-id = "app-detail"></ul>
|
<ul data-id = "app-detail"></ul>
|
||||||
|
@ -26,9 +26,8 @@ namespace OS {
|
|||||||
export class Calendar extends BaseService {
|
export class Calendar extends BaseService {
|
||||||
constructor(args: AppArgumentsType[]) {
|
constructor(args: AppArgumentsType[]) {
|
||||||
super("Calendar", args);
|
super("Calendar", args);
|
||||||
//@iconclass = "fa fa-commenting"
|
|
||||||
this.text = "";
|
this.text = "";
|
||||||
this.iconclass = "fa fa-calendar";
|
this.iconclass = "bi bi-calendar3";
|
||||||
}
|
}
|
||||||
|
|
||||||
init(): void {
|
init(): void {
|
||||||
@ -36,7 +35,7 @@ namespace OS {
|
|||||||
this.watch(1000, () => {
|
this.watch(1000, () => {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
this.text = now.toString();
|
this.text = now.toString();
|
||||||
(this.domel as GUI.tag.SimpleMenuEntryTag).text = this.text;
|
this.update();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@ namespace OS {
|
|||||||
this.iconclass = "fa fa-bars";
|
this.iconclass = "fa fa-bars";
|
||||||
this.cb = undefined;
|
this.cb = undefined;
|
||||||
this.logs = [];
|
this.logs = [];
|
||||||
|
this.text = __("Notification");
|
||||||
this.logmon = undefined;
|
this.logmon = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,9 +224,9 @@ namespace OS {
|
|||||||
const scheme = `\
|
const scheme = `\
|
||||||
<div>
|
<div>
|
||||||
<afx-overlay data-id = "notifyzone" width = "250px">
|
<afx-overlay data-id = "notifyzone" width = "250px">
|
||||||
<afx-hbox data-height="30">
|
<afx-hbox data-height="35">
|
||||||
<afx-button text = "__(Clear all)" data-id = "btclear" ></afx-button>
|
<afx-button text = "__(Clear all)" data-id = "btclear" ></afx-button>
|
||||||
<afx-button iconclass = "fa fa-bug" data-id = "bterrlog" data-width = "25"></afx-button>
|
<afx-button iconclass = "fa fa-bug" data-id = "bterrlog" data-width = "40"></afx-button>
|
||||||
</afx-hbox>
|
</afx-hbox>
|
||||||
<afx-list-view data-id="notifylist"></afx-list-view>
|
<afx-list-view data-id="notifylist"></afx-list-view>
|
||||||
</afx-overlay>
|
</afx-overlay>
|
||||||
|
@ -20,30 +20,9 @@ afx-sys-panel .afx-panel-os-menu {
|
|||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu {
|
afx-sys-panel .afx-panel-os-stray button{
|
||||||
left: calc(100% - 170px);
|
border-radius: 0;
|
||||||
}
|
border: 0;
|
||||||
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu li.afx_submenu a{
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu li.afx_submenu:before {
|
|
||||||
content: "\f054";
|
|
||||||
font-family: "FontAwesome";
|
|
||||||
font-size: 10px;
|
|
||||||
position:absolute;
|
|
||||||
text-align: left;
|
|
||||||
left:5px;
|
|
||||||
top:25%;
|
|
||||||
}
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu ul{
|
|
||||||
border:1px solid #262626;
|
|
||||||
border-radius: 5px;
|
|
||||||
border-top-right-radius: 0px;
|
|
||||||
}
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu li{
|
|
||||||
min-width: 150px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
afx-sys-panel afx-overlay
|
afx-sys-panel afx-overlay
|
||||||
|
@ -20,30 +20,9 @@ afx-sys-panel .afx-panel-os-menu {
|
|||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu {
|
afx-sys-panel .afx-panel-os-stray button{
|
||||||
left: calc(100% - 170px);
|
border-radius: 0;
|
||||||
}
|
border: 0;
|
||||||
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu li.afx_submenu a{
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu li.afx_submenu:before {
|
|
||||||
content: "\f054";
|
|
||||||
font-family: "FontAwesome";
|
|
||||||
font-size: 10px;
|
|
||||||
position:absolute;
|
|
||||||
text-align: left;
|
|
||||||
left:5px;
|
|
||||||
top:25%;
|
|
||||||
}
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu ul{
|
|
||||||
border:1px solid #a6a6a6;
|
|
||||||
border-radius: 5px;
|
|
||||||
border-top-right-radius: 0px;
|
|
||||||
}
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu li{
|
|
||||||
min-width: 150px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
afx-sys-panel afx-overlay
|
afx-sys-panel afx-overlay
|
||||||
|
@ -41,7 +41,9 @@ afx-sys-panel > div.loading::before {
|
|||||||
top:0;
|
top:0;
|
||||||
animation: sys-loading 1s linear infinite;
|
animation: sys-loading 1s linear infinite;
|
||||||
}
|
}
|
||||||
|
afx-sys-panel .afx-panel-os-stray button{
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
@keyframes sys-loading {
|
@keyframes sys-loading {
|
||||||
0% {
|
0% {
|
||||||
right: auto;
|
right: auto;
|
||||||
@ -75,19 +77,6 @@ afx-sys-panel .afx-panel-os-menu {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
afx-sys-panel .afx-panel-os-stray{
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu {
|
|
||||||
right: 0;
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-sys-panel afx-menu.afx-panel-os-stray afx-menu afx-menu{
|
|
||||||
left: -100%;
|
|
||||||
right: 100%;
|
|
||||||
top:-4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-sys-panel afx-hbox[data-id="btlist"] afx-button button
|
afx-sys-panel afx-hbox[data-id="btlist"] afx-button button
|
||||||
{
|
{
|
||||||
|
468
src/themes/system/bootstrap-icons.css
vendored
468
src/themes/system/bootstrap-icons.css
vendored
@ -1,7 +1,8 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
|
font-display: block;
|
||||||
font-family: "bootstrap-icons";
|
font-family: "bootstrap-icons";
|
||||||
src: url("./fonts/bootstrap-icons.woff2") format("woff2"),
|
src: url("./fonts/bootstrap-icons.woff2") format("woff2"),
|
||||||
url("./fonts/bootstrap-icons.woff?a74547b2f0863226942ff8ded57db345") format("woff");
|
url("./fonts/bootstrap-icons.woff?24e3eb84d0bcaf83d77f904c78ac1f47") format("woff");
|
||||||
}
|
}
|
||||||
|
|
||||||
.bi::before,
|
.bi::before,
|
||||||
@ -1499,8 +1500,8 @@ url("./fonts/bootstrap-icons.woff?a74547b2f0863226942ff8ded57db345") format("wof
|
|||||||
.bi-ticket-detailed-fill::before { content: "\f6c6"; }
|
.bi-ticket-detailed-fill::before { content: "\f6c6"; }
|
||||||
.bi-ticket-detailed::before { content: "\f6c7"; }
|
.bi-ticket-detailed::before { content: "\f6c7"; }
|
||||||
.bi-ticket-fill::before { content: "\f6c8"; }
|
.bi-ticket-fill::before { content: "\f6c8"; }
|
||||||
.bi-ticket-perferated-fill::before { content: "\f6c9"; }
|
.bi-ticket-perforated-fill::before { content: "\f6c9"; }
|
||||||
.bi-ticket-perferated::before { content: "\f6ca"; }
|
.bi-ticket-perforated::before { content: "\f6ca"; }
|
||||||
.bi-ticket::before { content: "\f6cb"; }
|
.bi-ticket::before { content: "\f6cb"; }
|
||||||
.bi-tiktok::before { content: "\f6cc"; }
|
.bi-tiktok::before { content: "\f6cc"; }
|
||||||
.bi-window-dash::before { content: "\f6cd"; }
|
.bi-window-dash::before { content: "\f6cd"; }
|
||||||
@ -1554,3 +1555,464 @@ url("./fonts/bootstrap-icons.woff?a74547b2f0863226942ff8ded57db345") format("wof
|
|||||||
.bi-mortarboard-fill::before { content: "\f6fd"; }
|
.bi-mortarboard-fill::before { content: "\f6fd"; }
|
||||||
.bi-mortarboard::before { content: "\f6fe"; }
|
.bi-mortarboard::before { content: "\f6fe"; }
|
||||||
.bi-terminal-x::before { content: "\f6ff"; }
|
.bi-terminal-x::before { content: "\f6ff"; }
|
||||||
|
.bi-arrow-through-heart-fill::before { content: "\f700"; }
|
||||||
|
.bi-arrow-through-heart::before { content: "\f701"; }
|
||||||
|
.bi-badge-sd-fill::before { content: "\f702"; }
|
||||||
|
.bi-badge-sd::before { content: "\f703"; }
|
||||||
|
.bi-bag-heart-fill::before { content: "\f704"; }
|
||||||
|
.bi-bag-heart::before { content: "\f705"; }
|
||||||
|
.bi-balloon-fill::before { content: "\f706"; }
|
||||||
|
.bi-balloon-heart-fill::before { content: "\f707"; }
|
||||||
|
.bi-balloon-heart::before { content: "\f708"; }
|
||||||
|
.bi-balloon::before { content: "\f709"; }
|
||||||
|
.bi-box2-fill::before { content: "\f70a"; }
|
||||||
|
.bi-box2-heart-fill::before { content: "\f70b"; }
|
||||||
|
.bi-box2-heart::before { content: "\f70c"; }
|
||||||
|
.bi-box2::before { content: "\f70d"; }
|
||||||
|
.bi-braces-asterisk::before { content: "\f70e"; }
|
||||||
|
.bi-calendar-heart-fill::before { content: "\f70f"; }
|
||||||
|
.bi-calendar-heart::before { content: "\f710"; }
|
||||||
|
.bi-calendar2-heart-fill::before { content: "\f711"; }
|
||||||
|
.bi-calendar2-heart::before { content: "\f712"; }
|
||||||
|
.bi-chat-heart-fill::before { content: "\f713"; }
|
||||||
|
.bi-chat-heart::before { content: "\f714"; }
|
||||||
|
.bi-chat-left-heart-fill::before { content: "\f715"; }
|
||||||
|
.bi-chat-left-heart::before { content: "\f716"; }
|
||||||
|
.bi-chat-right-heart-fill::before { content: "\f717"; }
|
||||||
|
.bi-chat-right-heart::before { content: "\f718"; }
|
||||||
|
.bi-chat-square-heart-fill::before { content: "\f719"; }
|
||||||
|
.bi-chat-square-heart::before { content: "\f71a"; }
|
||||||
|
.bi-clipboard-check-fill::before { content: "\f71b"; }
|
||||||
|
.bi-clipboard-data-fill::before { content: "\f71c"; }
|
||||||
|
.bi-clipboard-fill::before { content: "\f71d"; }
|
||||||
|
.bi-clipboard-heart-fill::before { content: "\f71e"; }
|
||||||
|
.bi-clipboard-heart::before { content: "\f71f"; }
|
||||||
|
.bi-clipboard-minus-fill::before { content: "\f720"; }
|
||||||
|
.bi-clipboard-plus-fill::before { content: "\f721"; }
|
||||||
|
.bi-clipboard-pulse::before { content: "\f722"; }
|
||||||
|
.bi-clipboard-x-fill::before { content: "\f723"; }
|
||||||
|
.bi-clipboard2-check-fill::before { content: "\f724"; }
|
||||||
|
.bi-clipboard2-check::before { content: "\f725"; }
|
||||||
|
.bi-clipboard2-data-fill::before { content: "\f726"; }
|
||||||
|
.bi-clipboard2-data::before { content: "\f727"; }
|
||||||
|
.bi-clipboard2-fill::before { content: "\f728"; }
|
||||||
|
.bi-clipboard2-heart-fill::before { content: "\f729"; }
|
||||||
|
.bi-clipboard2-heart::before { content: "\f72a"; }
|
||||||
|
.bi-clipboard2-minus-fill::before { content: "\f72b"; }
|
||||||
|
.bi-clipboard2-minus::before { content: "\f72c"; }
|
||||||
|
.bi-clipboard2-plus-fill::before { content: "\f72d"; }
|
||||||
|
.bi-clipboard2-plus::before { content: "\f72e"; }
|
||||||
|
.bi-clipboard2-pulse-fill::before { content: "\f72f"; }
|
||||||
|
.bi-clipboard2-pulse::before { content: "\f730"; }
|
||||||
|
.bi-clipboard2-x-fill::before { content: "\f731"; }
|
||||||
|
.bi-clipboard2-x::before { content: "\f732"; }
|
||||||
|
.bi-clipboard2::before { content: "\f733"; }
|
||||||
|
.bi-emoji-kiss-fill::before { content: "\f734"; }
|
||||||
|
.bi-emoji-kiss::before { content: "\f735"; }
|
||||||
|
.bi-envelope-heart-fill::before { content: "\f736"; }
|
||||||
|
.bi-envelope-heart::before { content: "\f737"; }
|
||||||
|
.bi-envelope-open-heart-fill::before { content: "\f738"; }
|
||||||
|
.bi-envelope-open-heart::before { content: "\f739"; }
|
||||||
|
.bi-envelope-paper-fill::before { content: "\f73a"; }
|
||||||
|
.bi-envelope-paper-heart-fill::before { content: "\f73b"; }
|
||||||
|
.bi-envelope-paper-heart::before { content: "\f73c"; }
|
||||||
|
.bi-envelope-paper::before { content: "\f73d"; }
|
||||||
|
.bi-filetype-aac::before { content: "\f73e"; }
|
||||||
|
.bi-filetype-ai::before { content: "\f73f"; }
|
||||||
|
.bi-filetype-bmp::before { content: "\f740"; }
|
||||||
|
.bi-filetype-cs::before { content: "\f741"; }
|
||||||
|
.bi-filetype-css::before { content: "\f742"; }
|
||||||
|
.bi-filetype-csv::before { content: "\f743"; }
|
||||||
|
.bi-filetype-doc::before { content: "\f744"; }
|
||||||
|
.bi-filetype-docx::before { content: "\f745"; }
|
||||||
|
.bi-filetype-exe::before { content: "\f746"; }
|
||||||
|
.bi-filetype-gif::before { content: "\f747"; }
|
||||||
|
.bi-filetype-heic::before { content: "\f748"; }
|
||||||
|
.bi-filetype-html::before { content: "\f749"; }
|
||||||
|
.bi-filetype-java::before { content: "\f74a"; }
|
||||||
|
.bi-filetype-jpg::before { content: "\f74b"; }
|
||||||
|
.bi-filetype-js::before { content: "\f74c"; }
|
||||||
|
.bi-filetype-jsx::before { content: "\f74d"; }
|
||||||
|
.bi-filetype-key::before { content: "\f74e"; }
|
||||||
|
.bi-filetype-m4p::before { content: "\f74f"; }
|
||||||
|
.bi-filetype-md::before { content: "\f750"; }
|
||||||
|
.bi-filetype-mdx::before { content: "\f751"; }
|
||||||
|
.bi-filetype-mov::before { content: "\f752"; }
|
||||||
|
.bi-filetype-mp3::before { content: "\f753"; }
|
||||||
|
.bi-filetype-mp4::before { content: "\f754"; }
|
||||||
|
.bi-filetype-otf::before { content: "\f755"; }
|
||||||
|
.bi-filetype-pdf::before { content: "\f756"; }
|
||||||
|
.bi-filetype-php::before { content: "\f757"; }
|
||||||
|
.bi-filetype-png::before { content: "\f758"; }
|
||||||
|
.bi-filetype-ppt-1::before { content: "\f759"; }
|
||||||
|
.bi-filetype-ppt::before { content: "\f75a"; }
|
||||||
|
.bi-filetype-psd::before { content: "\f75b"; }
|
||||||
|
.bi-filetype-py::before { content: "\f75c"; }
|
||||||
|
.bi-filetype-raw::before { content: "\f75d"; }
|
||||||
|
.bi-filetype-rb::before { content: "\f75e"; }
|
||||||
|
.bi-filetype-sass::before { content: "\f75f"; }
|
||||||
|
.bi-filetype-scss::before { content: "\f760"; }
|
||||||
|
.bi-filetype-sh::before { content: "\f761"; }
|
||||||
|
.bi-filetype-svg::before { content: "\f762"; }
|
||||||
|
.bi-filetype-tiff::before { content: "\f763"; }
|
||||||
|
.bi-filetype-tsx::before { content: "\f764"; }
|
||||||
|
.bi-filetype-ttf::before { content: "\f765"; }
|
||||||
|
.bi-filetype-txt::before { content: "\f766"; }
|
||||||
|
.bi-filetype-wav::before { content: "\f767"; }
|
||||||
|
.bi-filetype-woff::before { content: "\f768"; }
|
||||||
|
.bi-filetype-xls-1::before { content: "\f769"; }
|
||||||
|
.bi-filetype-xls::before { content: "\f76a"; }
|
||||||
|
.bi-filetype-xml::before { content: "\f76b"; }
|
||||||
|
.bi-filetype-yml::before { content: "\f76c"; }
|
||||||
|
.bi-heart-arrow::before { content: "\f76d"; }
|
||||||
|
.bi-heart-pulse-fill::before { content: "\f76e"; }
|
||||||
|
.bi-heart-pulse::before { content: "\f76f"; }
|
||||||
|
.bi-heartbreak-fill::before { content: "\f770"; }
|
||||||
|
.bi-heartbreak::before { content: "\f771"; }
|
||||||
|
.bi-hearts::before { content: "\f772"; }
|
||||||
|
.bi-hospital-fill::before { content: "\f773"; }
|
||||||
|
.bi-hospital::before { content: "\f774"; }
|
||||||
|
.bi-house-heart-fill::before { content: "\f775"; }
|
||||||
|
.bi-house-heart::before { content: "\f776"; }
|
||||||
|
.bi-incognito::before { content: "\f777"; }
|
||||||
|
.bi-magnet-fill::before { content: "\f778"; }
|
||||||
|
.bi-magnet::before { content: "\f779"; }
|
||||||
|
.bi-person-heart::before { content: "\f77a"; }
|
||||||
|
.bi-person-hearts::before { content: "\f77b"; }
|
||||||
|
.bi-phone-flip::before { content: "\f77c"; }
|
||||||
|
.bi-plugin::before { content: "\f77d"; }
|
||||||
|
.bi-postage-fill::before { content: "\f77e"; }
|
||||||
|
.bi-postage-heart-fill::before { content: "\f77f"; }
|
||||||
|
.bi-postage-heart::before { content: "\f780"; }
|
||||||
|
.bi-postage::before { content: "\f781"; }
|
||||||
|
.bi-postcard-fill::before { content: "\f782"; }
|
||||||
|
.bi-postcard-heart-fill::before { content: "\f783"; }
|
||||||
|
.bi-postcard-heart::before { content: "\f784"; }
|
||||||
|
.bi-postcard::before { content: "\f785"; }
|
||||||
|
.bi-search-heart-fill::before { content: "\f786"; }
|
||||||
|
.bi-search-heart::before { content: "\f787"; }
|
||||||
|
.bi-sliders2-vertical::before { content: "\f788"; }
|
||||||
|
.bi-sliders2::before { content: "\f789"; }
|
||||||
|
.bi-trash3-fill::before { content: "\f78a"; }
|
||||||
|
.bi-trash3::before { content: "\f78b"; }
|
||||||
|
.bi-valentine::before { content: "\f78c"; }
|
||||||
|
.bi-valentine2::before { content: "\f78d"; }
|
||||||
|
.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; }
|
||||||
|
.bi-wrench-adjustable-circle::before { content: "\f78f"; }
|
||||||
|
.bi-wrench-adjustable::before { content: "\f790"; }
|
||||||
|
.bi-filetype-json::before { content: "\f791"; }
|
||||||
|
.bi-filetype-pptx::before { content: "\f792"; }
|
||||||
|
.bi-filetype-xlsx::before { content: "\f793"; }
|
||||||
|
.bi-1-circle-1::before { content: "\f794"; }
|
||||||
|
.bi-1-circle-fill-1::before { content: "\f795"; }
|
||||||
|
.bi-1-circle-fill::before { content: "\f796"; }
|
||||||
|
.bi-1-circle::before { content: "\f797"; }
|
||||||
|
.bi-1-square-fill::before { content: "\f798"; }
|
||||||
|
.bi-1-square::before { content: "\f799"; }
|
||||||
|
.bi-2-circle-1::before { content: "\f79a"; }
|
||||||
|
.bi-2-circle-fill-1::before { content: "\f79b"; }
|
||||||
|
.bi-2-circle-fill::before { content: "\f79c"; }
|
||||||
|
.bi-2-circle::before { content: "\f79d"; }
|
||||||
|
.bi-2-square-fill::before { content: "\f79e"; }
|
||||||
|
.bi-2-square::before { content: "\f79f"; }
|
||||||
|
.bi-3-circle-1::before { content: "\f7a0"; }
|
||||||
|
.bi-3-circle-fill-1::before { content: "\f7a1"; }
|
||||||
|
.bi-3-circle-fill::before { content: "\f7a2"; }
|
||||||
|
.bi-3-circle::before { content: "\f7a3"; }
|
||||||
|
.bi-3-square-fill::before { content: "\f7a4"; }
|
||||||
|
.bi-3-square::before { content: "\f7a5"; }
|
||||||
|
.bi-4-circle-1::before { content: "\f7a6"; }
|
||||||
|
.bi-4-circle-fill-1::before { content: "\f7a7"; }
|
||||||
|
.bi-4-circle-fill::before { content: "\f7a8"; }
|
||||||
|
.bi-4-circle::before { content: "\f7a9"; }
|
||||||
|
.bi-4-square-fill::before { content: "\f7aa"; }
|
||||||
|
.bi-4-square::before { content: "\f7ab"; }
|
||||||
|
.bi-5-circle-1::before { content: "\f7ac"; }
|
||||||
|
.bi-5-circle-fill-1::before { content: "\f7ad"; }
|
||||||
|
.bi-5-circle-fill::before { content: "\f7ae"; }
|
||||||
|
.bi-5-circle::before { content: "\f7af"; }
|
||||||
|
.bi-5-square-fill::before { content: "\f7b0"; }
|
||||||
|
.bi-5-square::before { content: "\f7b1"; }
|
||||||
|
.bi-6-circle-1::before { content: "\f7b2"; }
|
||||||
|
.bi-6-circle-fill-1::before { content: "\f7b3"; }
|
||||||
|
.bi-6-circle-fill::before { content: "\f7b4"; }
|
||||||
|
.bi-6-circle::before { content: "\f7b5"; }
|
||||||
|
.bi-6-square-fill::before { content: "\f7b6"; }
|
||||||
|
.bi-6-square::before { content: "\f7b7"; }
|
||||||
|
.bi-7-circle-1::before { content: "\f7b8"; }
|
||||||
|
.bi-7-circle-fill-1::before { content: "\f7b9"; }
|
||||||
|
.bi-7-circle-fill::before { content: "\f7ba"; }
|
||||||
|
.bi-7-circle::before { content: "\f7bb"; }
|
||||||
|
.bi-7-square-fill::before { content: "\f7bc"; }
|
||||||
|
.bi-7-square::before { content: "\f7bd"; }
|
||||||
|
.bi-8-circle-1::before { content: "\f7be"; }
|
||||||
|
.bi-8-circle-fill-1::before { content: "\f7bf"; }
|
||||||
|
.bi-8-circle-fill::before { content: "\f7c0"; }
|
||||||
|
.bi-8-circle::before { content: "\f7c1"; }
|
||||||
|
.bi-8-square-fill::before { content: "\f7c2"; }
|
||||||
|
.bi-8-square::before { content: "\f7c3"; }
|
||||||
|
.bi-9-circle-1::before { content: "\f7c4"; }
|
||||||
|
.bi-9-circle-fill-1::before { content: "\f7c5"; }
|
||||||
|
.bi-9-circle-fill::before { content: "\f7c6"; }
|
||||||
|
.bi-9-circle::before { content: "\f7c7"; }
|
||||||
|
.bi-9-square-fill::before { content: "\f7c8"; }
|
||||||
|
.bi-9-square::before { content: "\f7c9"; }
|
||||||
|
.bi-airplane-engines-fill::before { content: "\f7ca"; }
|
||||||
|
.bi-airplane-engines::before { content: "\f7cb"; }
|
||||||
|
.bi-airplane-fill::before { content: "\f7cc"; }
|
||||||
|
.bi-airplane::before { content: "\f7cd"; }
|
||||||
|
.bi-alexa::before { content: "\f7ce"; }
|
||||||
|
.bi-alipay::before { content: "\f7cf"; }
|
||||||
|
.bi-android::before { content: "\f7d0"; }
|
||||||
|
.bi-android2::before { content: "\f7d1"; }
|
||||||
|
.bi-box-fill::before { content: "\f7d2"; }
|
||||||
|
.bi-box-seam-fill::before { content: "\f7d3"; }
|
||||||
|
.bi-browser-chrome::before { content: "\f7d4"; }
|
||||||
|
.bi-browser-edge::before { content: "\f7d5"; }
|
||||||
|
.bi-browser-firefox::before { content: "\f7d6"; }
|
||||||
|
.bi-browser-safari::before { content: "\f7d7"; }
|
||||||
|
.bi-c-circle-1::before { content: "\f7d8"; }
|
||||||
|
.bi-c-circle-fill-1::before { content: "\f7d9"; }
|
||||||
|
.bi-c-circle-fill::before { content: "\f7da"; }
|
||||||
|
.bi-c-circle::before { content: "\f7db"; }
|
||||||
|
.bi-c-square-fill::before { content: "\f7dc"; }
|
||||||
|
.bi-c-square::before { content: "\f7dd"; }
|
||||||
|
.bi-capsule-pill::before { content: "\f7de"; }
|
||||||
|
.bi-capsule::before { content: "\f7df"; }
|
||||||
|
.bi-car-front-fill::before { content: "\f7e0"; }
|
||||||
|
.bi-car-front::before { content: "\f7e1"; }
|
||||||
|
.bi-cassette-fill::before { content: "\f7e2"; }
|
||||||
|
.bi-cassette::before { content: "\f7e3"; }
|
||||||
|
.bi-cc-circle-1::before { content: "\f7e4"; }
|
||||||
|
.bi-cc-circle-fill-1::before { content: "\f7e5"; }
|
||||||
|
.bi-cc-circle-fill::before { content: "\f7e6"; }
|
||||||
|
.bi-cc-circle::before { content: "\f7e7"; }
|
||||||
|
.bi-cc-square-fill::before { content: "\f7e8"; }
|
||||||
|
.bi-cc-square::before { content: "\f7e9"; }
|
||||||
|
.bi-cup-hot-fill::before { content: "\f7ea"; }
|
||||||
|
.bi-cup-hot::before { content: "\f7eb"; }
|
||||||
|
.bi-currency-rupee::before { content: "\f7ec"; }
|
||||||
|
.bi-dropbox::before { content: "\f7ed"; }
|
||||||
|
.bi-escape::before { content: "\f7ee"; }
|
||||||
|
.bi-fast-forward-btn-fill::before { content: "\f7ef"; }
|
||||||
|
.bi-fast-forward-btn::before { content: "\f7f0"; }
|
||||||
|
.bi-fast-forward-circle-fill::before { content: "\f7f1"; }
|
||||||
|
.bi-fast-forward-circle::before { content: "\f7f2"; }
|
||||||
|
.bi-fast-forward-fill::before { content: "\f7f3"; }
|
||||||
|
.bi-fast-forward::before { content: "\f7f4"; }
|
||||||
|
.bi-filetype-sql::before { content: "\f7f5"; }
|
||||||
|
.bi-fire::before { content: "\f7f6"; }
|
||||||
|
.bi-google-play::before { content: "\f7f7"; }
|
||||||
|
.bi-h-circle-1::before { content: "\f7f8"; }
|
||||||
|
.bi-h-circle-fill-1::before { content: "\f7f9"; }
|
||||||
|
.bi-h-circle-fill::before { content: "\f7fa"; }
|
||||||
|
.bi-h-circle::before { content: "\f7fb"; }
|
||||||
|
.bi-h-square-fill::before { content: "\f7fc"; }
|
||||||
|
.bi-h-square::before { content: "\f7fd"; }
|
||||||
|
.bi-indent::before { content: "\f7fe"; }
|
||||||
|
.bi-lungs-fill::before { content: "\f7ff"; }
|
||||||
|
.bi-lungs::before { content: "\f800"; }
|
||||||
|
.bi-microsoft-teams::before { content: "\f801"; }
|
||||||
|
.bi-p-circle-1::before { content: "\f802"; }
|
||||||
|
.bi-p-circle-fill-1::before { content: "\f803"; }
|
||||||
|
.bi-p-circle-fill::before { content: "\f804"; }
|
||||||
|
.bi-p-circle::before { content: "\f805"; }
|
||||||
|
.bi-p-square-fill::before { content: "\f806"; }
|
||||||
|
.bi-p-square::before { content: "\f807"; }
|
||||||
|
.bi-pass-fill::before { content: "\f808"; }
|
||||||
|
.bi-pass::before { content: "\f809"; }
|
||||||
|
.bi-prescription::before { content: "\f80a"; }
|
||||||
|
.bi-prescription2::before { content: "\f80b"; }
|
||||||
|
.bi-r-circle-1::before { content: "\f80c"; }
|
||||||
|
.bi-r-circle-fill-1::before { content: "\f80d"; }
|
||||||
|
.bi-r-circle-fill::before { content: "\f80e"; }
|
||||||
|
.bi-r-circle::before { content: "\f80f"; }
|
||||||
|
.bi-r-square-fill::before { content: "\f810"; }
|
||||||
|
.bi-r-square::before { content: "\f811"; }
|
||||||
|
.bi-repeat-1::before { content: "\f812"; }
|
||||||
|
.bi-repeat::before { content: "\f813"; }
|
||||||
|
.bi-rewind-btn-fill::before { content: "\f814"; }
|
||||||
|
.bi-rewind-btn::before { content: "\f815"; }
|
||||||
|
.bi-rewind-circle-fill::before { content: "\f816"; }
|
||||||
|
.bi-rewind-circle::before { content: "\f817"; }
|
||||||
|
.bi-rewind-fill::before { content: "\f818"; }
|
||||||
|
.bi-rewind::before { content: "\f819"; }
|
||||||
|
.bi-train-freight-front-fill::before { content: "\f81a"; }
|
||||||
|
.bi-train-freight-front::before { content: "\f81b"; }
|
||||||
|
.bi-train-front-fill::before { content: "\f81c"; }
|
||||||
|
.bi-train-front::before { content: "\f81d"; }
|
||||||
|
.bi-train-lightrail-front-fill::before { content: "\f81e"; }
|
||||||
|
.bi-train-lightrail-front::before { content: "\f81f"; }
|
||||||
|
.bi-truck-front-fill::before { content: "\f820"; }
|
||||||
|
.bi-truck-front::before { content: "\f821"; }
|
||||||
|
.bi-ubuntu::before { content: "\f822"; }
|
||||||
|
.bi-unindent::before { content: "\f823"; }
|
||||||
|
.bi-unity::before { content: "\f824"; }
|
||||||
|
.bi-universal-access-circle::before { content: "\f825"; }
|
||||||
|
.bi-universal-access::before { content: "\f826"; }
|
||||||
|
.bi-virus::before { content: "\f827"; }
|
||||||
|
.bi-virus2::before { content: "\f828"; }
|
||||||
|
.bi-wechat::before { content: "\f829"; }
|
||||||
|
.bi-yelp::before { content: "\f82a"; }
|
||||||
|
.bi-sign-stop-fill::before { content: "\f82b"; }
|
||||||
|
.bi-sign-stop-lights-fill::before { content: "\f82c"; }
|
||||||
|
.bi-sign-stop-lights::before { content: "\f82d"; }
|
||||||
|
.bi-sign-stop::before { content: "\f82e"; }
|
||||||
|
.bi-sign-turn-left-fill::before { content: "\f82f"; }
|
||||||
|
.bi-sign-turn-left::before { content: "\f830"; }
|
||||||
|
.bi-sign-turn-right-fill::before { content: "\f831"; }
|
||||||
|
.bi-sign-turn-right::before { content: "\f832"; }
|
||||||
|
.bi-sign-turn-slight-left-fill::before { content: "\f833"; }
|
||||||
|
.bi-sign-turn-slight-left::before { content: "\f834"; }
|
||||||
|
.bi-sign-turn-slight-right-fill::before { content: "\f835"; }
|
||||||
|
.bi-sign-turn-slight-right::before { content: "\f836"; }
|
||||||
|
.bi-sign-yield-fill::before { content: "\f837"; }
|
||||||
|
.bi-sign-yield::before { content: "\f838"; }
|
||||||
|
.bi-ev-station-fill::before { content: "\f839"; }
|
||||||
|
.bi-ev-station::before { content: "\f83a"; }
|
||||||
|
.bi-fuel-pump-diesel-fill::before { content: "\f83b"; }
|
||||||
|
.bi-fuel-pump-diesel::before { content: "\f83c"; }
|
||||||
|
.bi-fuel-pump-fill::before { content: "\f83d"; }
|
||||||
|
.bi-fuel-pump::before { content: "\f83e"; }
|
||||||
|
.bi-0-circle-fill::before { content: "\f83f"; }
|
||||||
|
.bi-0-circle::before { content: "\f840"; }
|
||||||
|
.bi-0-square-fill::before { content: "\f841"; }
|
||||||
|
.bi-0-square::before { content: "\f842"; }
|
||||||
|
.bi-rocket-fill::before { content: "\f843"; }
|
||||||
|
.bi-rocket-takeoff-fill::before { content: "\f844"; }
|
||||||
|
.bi-rocket-takeoff::before { content: "\f845"; }
|
||||||
|
.bi-rocket::before { content: "\f846"; }
|
||||||
|
.bi-stripe::before { content: "\f847"; }
|
||||||
|
.bi-subscript::before { content: "\f848"; }
|
||||||
|
.bi-superscript::before { content: "\f849"; }
|
||||||
|
.bi-trello::before { content: "\f84a"; }
|
||||||
|
.bi-envelope-at-fill::before { content: "\f84b"; }
|
||||||
|
.bi-envelope-at::before { content: "\f84c"; }
|
||||||
|
.bi-regex::before { content: "\f84d"; }
|
||||||
|
.bi-text-wrap::before { content: "\f84e"; }
|
||||||
|
.bi-sign-dead-end-fill::before { content: "\f84f"; }
|
||||||
|
.bi-sign-dead-end::before { content: "\f850"; }
|
||||||
|
.bi-sign-do-not-enter-fill::before { content: "\f851"; }
|
||||||
|
.bi-sign-do-not-enter::before { content: "\f852"; }
|
||||||
|
.bi-sign-intersection-fill::before { content: "\f853"; }
|
||||||
|
.bi-sign-intersection-side-fill::before { content: "\f854"; }
|
||||||
|
.bi-sign-intersection-side::before { content: "\f855"; }
|
||||||
|
.bi-sign-intersection-t-fill::before { content: "\f856"; }
|
||||||
|
.bi-sign-intersection-t::before { content: "\f857"; }
|
||||||
|
.bi-sign-intersection-y-fill::before { content: "\f858"; }
|
||||||
|
.bi-sign-intersection-y::before { content: "\f859"; }
|
||||||
|
.bi-sign-intersection::before { content: "\f85a"; }
|
||||||
|
.bi-sign-merge-left-fill::before { content: "\f85b"; }
|
||||||
|
.bi-sign-merge-left::before { content: "\f85c"; }
|
||||||
|
.bi-sign-merge-right-fill::before { content: "\f85d"; }
|
||||||
|
.bi-sign-merge-right::before { content: "\f85e"; }
|
||||||
|
.bi-sign-no-left-turn-fill::before { content: "\f85f"; }
|
||||||
|
.bi-sign-no-left-turn::before { content: "\f860"; }
|
||||||
|
.bi-sign-no-parking-fill::before { content: "\f861"; }
|
||||||
|
.bi-sign-no-parking::before { content: "\f862"; }
|
||||||
|
.bi-sign-no-right-turn-fill::before { content: "\f863"; }
|
||||||
|
.bi-sign-no-right-turn::before { content: "\f864"; }
|
||||||
|
.bi-sign-railroad-fill::before { content: "\f865"; }
|
||||||
|
.bi-sign-railroad::before { content: "\f866"; }
|
||||||
|
.bi-building-add::before { content: "\f867"; }
|
||||||
|
.bi-building-check::before { content: "\f868"; }
|
||||||
|
.bi-building-dash::before { content: "\f869"; }
|
||||||
|
.bi-building-down::before { content: "\f86a"; }
|
||||||
|
.bi-building-exclamation::before { content: "\f86b"; }
|
||||||
|
.bi-building-fill-add::before { content: "\f86c"; }
|
||||||
|
.bi-building-fill-check::before { content: "\f86d"; }
|
||||||
|
.bi-building-fill-dash::before { content: "\f86e"; }
|
||||||
|
.bi-building-fill-down::before { content: "\f86f"; }
|
||||||
|
.bi-building-fill-exclamation::before { content: "\f870"; }
|
||||||
|
.bi-building-fill-gear::before { content: "\f871"; }
|
||||||
|
.bi-building-fill-lock::before { content: "\f872"; }
|
||||||
|
.bi-building-fill-slash::before { content: "\f873"; }
|
||||||
|
.bi-building-fill-up::before { content: "\f874"; }
|
||||||
|
.bi-building-fill-x::before { content: "\f875"; }
|
||||||
|
.bi-building-fill::before { content: "\f876"; }
|
||||||
|
.bi-building-gear::before { content: "\f877"; }
|
||||||
|
.bi-building-lock::before { content: "\f878"; }
|
||||||
|
.bi-building-slash::before { content: "\f879"; }
|
||||||
|
.bi-building-up::before { content: "\f87a"; }
|
||||||
|
.bi-building-x::before { content: "\f87b"; }
|
||||||
|
.bi-buildings-fill::before { content: "\f87c"; }
|
||||||
|
.bi-buildings::before { content: "\f87d"; }
|
||||||
|
.bi-bus-front-fill::before { content: "\f87e"; }
|
||||||
|
.bi-bus-front::before { content: "\f87f"; }
|
||||||
|
.bi-ev-front-fill::before { content: "\f880"; }
|
||||||
|
.bi-ev-front::before { content: "\f881"; }
|
||||||
|
.bi-globe-americas::before { content: "\f882"; }
|
||||||
|
.bi-globe-asia-australia::before { content: "\f883"; }
|
||||||
|
.bi-globe-central-south-asia::before { content: "\f884"; }
|
||||||
|
.bi-globe-europe-africa::before { content: "\f885"; }
|
||||||
|
.bi-house-add-fill::before { content: "\f886"; }
|
||||||
|
.bi-house-add::before { content: "\f887"; }
|
||||||
|
.bi-house-check-fill::before { content: "\f888"; }
|
||||||
|
.bi-house-check::before { content: "\f889"; }
|
||||||
|
.bi-house-dash-fill::before { content: "\f88a"; }
|
||||||
|
.bi-house-dash::before { content: "\f88b"; }
|
||||||
|
.bi-house-down-fill::before { content: "\f88c"; }
|
||||||
|
.bi-house-down::before { content: "\f88d"; }
|
||||||
|
.bi-house-exclamation-fill::before { content: "\f88e"; }
|
||||||
|
.bi-house-exclamation::before { content: "\f88f"; }
|
||||||
|
.bi-house-gear-fill::before { content: "\f890"; }
|
||||||
|
.bi-house-gear::before { content: "\f891"; }
|
||||||
|
.bi-house-lock-fill::before { content: "\f892"; }
|
||||||
|
.bi-house-lock::before { content: "\f893"; }
|
||||||
|
.bi-house-slash-fill::before { content: "\f894"; }
|
||||||
|
.bi-house-slash::before { content: "\f895"; }
|
||||||
|
.bi-house-up-fill::before { content: "\f896"; }
|
||||||
|
.bi-house-up::before { content: "\f897"; }
|
||||||
|
.bi-house-x-fill::before { content: "\f898"; }
|
||||||
|
.bi-house-x::before { content: "\f899"; }
|
||||||
|
.bi-person-add::before { content: "\f89a"; }
|
||||||
|
.bi-person-down::before { content: "\f89b"; }
|
||||||
|
.bi-person-exclamation::before { content: "\f89c"; }
|
||||||
|
.bi-person-fill-add::before { content: "\f89d"; }
|
||||||
|
.bi-person-fill-check::before { content: "\f89e"; }
|
||||||
|
.bi-person-fill-dash::before { content: "\f89f"; }
|
||||||
|
.bi-person-fill-down::before { content: "\f8a0"; }
|
||||||
|
.bi-person-fill-exclamation::before { content: "\f8a1"; }
|
||||||
|
.bi-person-fill-gear::before { content: "\f8a2"; }
|
||||||
|
.bi-person-fill-lock::before { content: "\f8a3"; }
|
||||||
|
.bi-person-fill-slash::before { content: "\f8a4"; }
|
||||||
|
.bi-person-fill-up::before { content: "\f8a5"; }
|
||||||
|
.bi-person-fill-x::before { content: "\f8a6"; }
|
||||||
|
.bi-person-gear::before { content: "\f8a7"; }
|
||||||
|
.bi-person-lock::before { content: "\f8a8"; }
|
||||||
|
.bi-person-slash::before { content: "\f8a9"; }
|
||||||
|
.bi-person-up::before { content: "\f8aa"; }
|
||||||
|
.bi-scooter::before { content: "\f8ab"; }
|
||||||
|
.bi-taxi-front-fill::before { content: "\f8ac"; }
|
||||||
|
.bi-taxi-front::before { content: "\f8ad"; }
|
||||||
|
.bi-amd::before { content: "\f8ae"; }
|
||||||
|
.bi-database-add::before { content: "\f8af"; }
|
||||||
|
.bi-database-check::before { content: "\f8b0"; }
|
||||||
|
.bi-database-dash::before { content: "\f8b1"; }
|
||||||
|
.bi-database-down::before { content: "\f8b2"; }
|
||||||
|
.bi-database-exclamation::before { content: "\f8b3"; }
|
||||||
|
.bi-database-fill-add::before { content: "\f8b4"; }
|
||||||
|
.bi-database-fill-check::before { content: "\f8b5"; }
|
||||||
|
.bi-database-fill-dash::before { content: "\f8b6"; }
|
||||||
|
.bi-database-fill-down::before { content: "\f8b7"; }
|
||||||
|
.bi-database-fill-exclamation::before { content: "\f8b8"; }
|
||||||
|
.bi-database-fill-gear::before { content: "\f8b9"; }
|
||||||
|
.bi-database-fill-lock::before { content: "\f8ba"; }
|
||||||
|
.bi-database-fill-slash::before { content: "\f8bb"; }
|
||||||
|
.bi-database-fill-up::before { content: "\f8bc"; }
|
||||||
|
.bi-database-fill-x::before { content: "\f8bd"; }
|
||||||
|
.bi-database-fill::before { content: "\f8be"; }
|
||||||
|
.bi-database-gear::before { content: "\f8bf"; }
|
||||||
|
.bi-database-lock::before { content: "\f8c0"; }
|
||||||
|
.bi-database-slash::before { content: "\f8c1"; }
|
||||||
|
.bi-database-up::before { content: "\f8c2"; }
|
||||||
|
.bi-database-x::before { content: "\f8c3"; }
|
||||||
|
.bi-database::before { content: "\f8c4"; }
|
||||||
|
.bi-houses-fill::before { content: "\f8c5"; }
|
||||||
|
.bi-houses::before { content: "\f8c6"; }
|
||||||
|
.bi-nvidia::before { content: "\f8c7"; }
|
||||||
|
.bi-person-vcard-fill::before { content: "\f8c8"; }
|
||||||
|
.bi-person-vcard::before { content: "\f8c9"; }
|
||||||
|
.bi-sina-weibo::before { content: "\f8ca"; }
|
||||||
|
.bi-tencent-qq::before { content: "\f8cb"; }
|
||||||
|
.bi-wikipedia::before { content: "\f8cc"; }
|
||||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user