@morghulis/core 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/morghulis-core.es.js +9543 -9526
  2. package/dist/morghulis-core.es.js.map +1 -1
  3. package/dist/morghulis-core.umd.js +69 -69
  4. package/dist/morghulis-core.umd.js.map +1 -1
  5. package/dist/types/{use-channel → hooks/core/use-channel}/Channel.d.ts +2 -1
  6. package/dist/types/{use-channel → hooks/core/use-channel}/ChannelHub.d.ts +2 -1
  7. package/dist/types/{use-channel/types.d.ts → hooks/core/use-channel/config.d.ts} +0 -10
  8. package/dist/types/hooks/core/use-channel/index.d.ts +35 -0
  9. package/dist/types/hooks/core/use-channel/types.d.ts +10 -0
  10. package/dist/types/{use-request → hooks/core/use-request}/index.d.ts +2 -1
  11. package/dist/types/hooks/data/types.d.ts +18 -0
  12. package/dist/types/hooks/data/use-dao/TableModel.d.ts +4 -0
  13. package/dist/types/hooks/data/use-dao/TreeModel.d.ts +4 -0
  14. package/dist/types/hooks/data/use-dao/config.d.ts +0 -0
  15. package/dist/types/hooks/data/use-dao/index.d.ts +8 -0
  16. package/dist/types/hooks/data/use-dao/types.d.ts +29 -0
  17. package/dist/types/hooks/data/use-meta/MetaField.d.ts +73 -0
  18. package/dist/types/hooks/data/use-meta/MetaFormat.d.ts +39 -0
  19. package/dist/types/hooks/data/use-meta/MetaRefer.d.ts +27 -0
  20. package/dist/types/hooks/data/use-meta/MetaView.d.ts +58 -0
  21. package/dist/types/hooks/data/use-meta/frame.d.ts +9 -0
  22. package/dist/types/hooks/data/use-meta/types.d.ts +6 -0
  23. package/dist/types/hooks/data/use-query/Query.d.ts +11 -0
  24. package/dist/types/hooks/data/use-query/index.d.ts +9 -0
  25. package/dist/types/hooks/data/use-query/tools.d.ts +8 -0
  26. package/dist/types/hooks/data/use-query/types/config.d.ts +18 -0
  27. package/dist/types/hooks/data/use-query/types/finder.d.ts +18 -0
  28. package/dist/types/hooks/data/use-query/types/search.d.ts +23 -0
  29. package/dist/types/hooks/utils/use-auth/index.d.ts +13 -0
  30. package/dist/types/hooks/utils/use-cookie/index.d.ts +6 -0
  31. package/dist/types/hooks/utils/use-icon/types.d.ts +2 -0
  32. package/dist/types/hooks/utils/use-paster/index.d.ts +5 -0
  33. package/dist/types/hooks/utils/use-xlsx/index.d.ts +5 -0
  34. package/dist/types/hooks/utils/use-xlsx/types.d.ts +8 -0
  35. package/dist/types/index.d.ts +6 -3
  36. package/dist/types/types.d.ts +1 -1
  37. package/package.json +7 -3
  38. package/dist/types/use-channel/index.d.ts +0 -5
  39. /package/dist/types/{use-socket → hooks/core/use-socket}/index.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import { Reactive } from "vue";
2
- import { ChannelConfig, ChannelStatus } from "./types";
2
+ import { ChannelStatus } from "./types";
3
3
  import { AxiosInstance } from "axios";
4
+ import { ChannelConfig } from "./config";
4
5
  export default class Channel {
5
6
  private config;
6
7
  status: Reactive<ChannelStatus>;
@@ -1,5 +1,6 @@
1
- import { ChannelConfig, ChannelContainer } from "./types";
1
+ import { ChannelContainer } from "./types";
2
2
  import Channel from "./Channel";
3
+ import { ChannelConfig } from "./config";
3
4
  export default class ChannelHub {
4
5
  container: ChannelContainer;
5
6
  constructor();
@@ -1,4 +1,3 @@
1
- import Channel from "./Channel";
2
1
  export type IChannelConfig = {
3
2
  handlerKey: string;
4
3
  channelKey?: string;
@@ -17,12 +16,3 @@ export type ChannelConfig = {
17
16
  onStop(): void;
18
17
  onProceed?(payload: any): void;
19
18
  };
20
- export type ChannelContainer = {
21
- [handlerKey: string]: {
22
- [channelKey: string]: Channel;
23
- };
24
- };
25
- export type ChannelStatus = {
26
- loading: boolean;
27
- payload: any;
28
- };
@@ -0,0 +1,35 @@
1
+ import { IChannelConfig } from "./config";
2
+ import { Ref } from "vue";
3
+ import Channel from "./Channel";
4
+ export declare function createChannel(config: IChannelConfig): Channel;
5
+ export declare function useChannel(config: Ref<IChannelConfig>): {
6
+ channel: Ref<{
7
+ status: {
8
+ loading: boolean;
9
+ payload: any;
10
+ };
11
+ handlerKey: string;
12
+ channelKey: string;
13
+ url: string;
14
+ request: import("axios").AxiosInstance;
15
+ execute: (data?: any) => void;
16
+ ready: () => void;
17
+ start: () => void;
18
+ proceed: (data: any) => void;
19
+ stop: () => void;
20
+ }, Channel | {
21
+ status: {
22
+ loading: boolean;
23
+ payload: any;
24
+ };
25
+ handlerKey: string;
26
+ channelKey: string;
27
+ url: string;
28
+ request: import("axios").AxiosInstance;
29
+ execute: (data?: any) => void;
30
+ ready: () => void;
31
+ start: () => void;
32
+ proceed: (data: any) => void;
33
+ stop: () => void;
34
+ }>;
35
+ };
@@ -0,0 +1,10 @@
1
+ import Channel from "./Channel";
2
+ export type ChannelContainer = {
3
+ [handlerKey: string]: {
4
+ [channelKey: string]: Channel;
5
+ };
6
+ };
7
+ export type ChannelStatus = {
8
+ loading: boolean;
9
+ payload: any;
10
+ };
@@ -1,5 +1,4 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import 'nprogress/nprogress.css';
3
2
  export declare function useRequest(): {
4
3
  getHttpRequest: (auth?: boolean) => AxiosInstance;
5
4
  download: (path: string) => void;
@@ -12,4 +11,6 @@ export declare function useRequest(): {
12
11
  blob: Blob;
13
12
  fileName: string;
14
13
  }>;
14
+ post: (url: string, data?: any, auth?: boolean) => Promise<any>;
15
+ loading: import("vue").Ref<boolean, boolean>;
15
16
  };
@@ -0,0 +1,18 @@
1
+ import { IconNames } from "../utils/use-icon/types";
2
+ export type Database = 'orm' | 'mon';
3
+ export type DataItemId = string | number;
4
+ export type DataItem = {
5
+ id?: DataItemId;
6
+ [key: string]: any;
7
+ };
8
+ export type TreeItem = {
9
+ pid: number | string;
10
+ isLeaf: boolean;
11
+ icon?: IconNames;
12
+ children: TreeItem[];
13
+ } & DataItem;
14
+ export type PropItem = {
15
+ label: string;
16
+ value: string;
17
+ display?: string;
18
+ };
@@ -0,0 +1,4 @@
1
+ import { TableResults } from "./types";
2
+ export default class TableModel {
3
+ constructor(res: TableResults);
4
+ }
@@ -0,0 +1,4 @@
1
+ import { TreeResults } from "./types";
2
+ export default class TreeModel {
3
+ constructor(res: TreeResults);
4
+ }
File without changes
@@ -0,0 +1,8 @@
1
+ import { Meta } from "../use-meta/types";
2
+ import { Dao } from "./types";
3
+ export declare function createDao(meta: Meta, token?: string, auth?: boolean): {
4
+ dao: Dao;
5
+ loading: import("vue").ComputedRef<boolean>;
6
+ payload: import("vue").ComputedRef<any>;
7
+ destroy: () => void;
8
+ };
@@ -0,0 +1,29 @@
1
+ import { DataItem, DataItemId, TreeItem } from "../types";
2
+ import { Condition, Search } from "../use-query/types/search";
3
+ import TableModel from "./TableModel";
4
+ import TreeModel from "./TreeModel";
5
+ import MetaView from "../use-meta/MetaView";
6
+ export type QueryInfo = {
7
+ current: number;
8
+ total: number;
9
+ };
10
+ export type TreeMapping = {
11
+ [id: string | number]: TreeItem;
12
+ };
13
+ export type TableResults = {
14
+ results: DataItem[];
15
+ total: number;
16
+ };
17
+ export type TreeResults = TreeItem[];
18
+ export type Dao = {
19
+ save_many: (array: DataItem[]) => void;
20
+ delete_many: (...conditions: Condition[]) => void;
21
+ save_one: (item: DataItem) => Promise<DataItem>;
22
+ delete_one: (id: DataItemId) => Promise<boolean>;
23
+ find_one: (id: DataItemId) => Promise<DataItem>;
24
+ update: (template: DataItem, ...conditions: Condition[]) => Promise<boolean>;
25
+ find: (...conditions: Condition[]) => Promise<DataItem[]>;
26
+ table: (search: Search) => Promise<TableModel>;
27
+ tree: (search: Search) => Promise<TreeModel>;
28
+ meta_view: (code: string) => Promise<MetaView>;
29
+ };
@@ -0,0 +1,73 @@
1
+ import { Database } from "../types";
2
+ import { MetaFieldDomain, MetaFieldTool } from "./frame";
3
+ import MetaRefer, { IMetaRefer } from "./MetaRefer";
4
+ import MetaFormat, { IMetaFormat } from "./MetaFormat";
5
+ export type IMetaField = {
6
+ $db?: Database;
7
+ $entity?: string;
8
+ $code?: string;
9
+ id?: string | number;
10
+ prop?: string;
11
+ label?: string;
12
+ name?: string;
13
+ domain?: MetaFieldDomain;
14
+ tool?: MetaFieldTool;
15
+ refer?: IMetaRefer;
16
+ format?: IMetaFormat;
17
+ not_null?: boolean;
18
+ allow_edit?: boolean;
19
+ allow_sort?: boolean;
20
+ allow_search?: boolean;
21
+ allow_download?: boolean;
22
+ allow_upload?: boolean;
23
+ allow_update?: boolean;
24
+ unit?: string | null;
25
+ column_width?: number;
26
+ align?: 'left' | 'center' | 'right';
27
+ fixed?: '' | 'left' | 'right';
28
+ header_color?: string | null;
29
+ cell_color?: string | null;
30
+ edit_on_table?: boolean;
31
+ hide_on_table?: boolean;
32
+ span?: number;
33
+ hide_on_form?: boolean;
34
+ hide_on_form_edit?: boolean;
35
+ hide_on_form_insert?: boolean;
36
+ hide_on_form_branch?: boolean;
37
+ hide_on_form_leaf?: boolean;
38
+ };
39
+ export default class MetaField {
40
+ $db?: Database;
41
+ $entity?: string;
42
+ $code?: string;
43
+ id?: string | number;
44
+ prop?: string;
45
+ label?: string;
46
+ name?: string;
47
+ domain: MetaFieldDomain;
48
+ tool: MetaFieldTool;
49
+ refer: MetaRefer;
50
+ format: MetaFormat;
51
+ not_null: boolean;
52
+ allow_edit: boolean;
53
+ allow_sort: boolean;
54
+ allow_search: boolean;
55
+ allow_download: boolean;
56
+ allow_upload: boolean;
57
+ allow_update: boolean;
58
+ unit: string;
59
+ column_width: number;
60
+ align: 'left' | 'center' | 'right';
61
+ fixed: '' | 'left' | 'right';
62
+ header_color: string;
63
+ cell_color: string;
64
+ edit_on_table: boolean;
65
+ hide_on_table: boolean;
66
+ span: number;
67
+ hide_on_form: boolean;
68
+ hide_on_form_edit: boolean;
69
+ hide_on_form_insert: boolean;
70
+ hide_on_form_branch: boolean;
71
+ hide_on_form_leaf: boolean;
72
+ constructor(field?: IMetaField);
73
+ }
@@ -0,0 +1,39 @@
1
+ export type IMetaFormat = {
2
+ maxlength?: number;
3
+ type?: 'text' | 'textarea';
4
+ min?: number | null;
5
+ max?: number | null;
6
+ step?: number | null;
7
+ precision?: number | null;
8
+ step_strictly?: boolean;
9
+ frequency?: 'year' | 'month' | 'week' | 'date' | 'datetime' | 'yearrange' | 'monthrange' | 'daterange' | 'datetimerange' | 'years' | 'months' | 'dates' | null;
10
+ maximum?: number;
11
+ accept?: string[];
12
+ width?: number | null;
13
+ height?: number | null;
14
+ file_name_field?: string | null;
15
+ locked?: boolean;
16
+ set?: {
17
+ [label: string]: string;
18
+ };
19
+ };
20
+ export default class MetaFormat {
21
+ maxlength: number;
22
+ type: 'text' | 'textarea';
23
+ min: number | null;
24
+ max: number | null;
25
+ step: number | null;
26
+ precision: number | null;
27
+ step_strictly: boolean;
28
+ frequency: 'year' | 'month' | 'week' | 'date' | 'datetime' | 'yearrange' | 'monthrange' | 'daterange' | 'datetimerange' | 'years' | 'months' | 'dates' | null;
29
+ maximum: number;
30
+ accept: string[];
31
+ width: number | null;
32
+ height: number | null;
33
+ file_name_field: string | null;
34
+ locked: boolean;
35
+ set: {
36
+ [label: string]: string;
37
+ };
38
+ constructor(format?: IMetaFormat);
39
+ }
@@ -0,0 +1,27 @@
1
+ export type IMetaRefer = {
2
+ entity?: string;
3
+ value?: string;
4
+ label?: string;
5
+ display?: string;
6
+ multiple?: boolean;
7
+ strict?: boolean;
8
+ remote?: boolean;
9
+ includes?: object;
10
+ excludes?: object;
11
+ root?: number;
12
+ isTree?: boolean;
13
+ };
14
+ export default class MetaRefer {
15
+ entity: string | null;
16
+ value: string;
17
+ label: string;
18
+ display: string;
19
+ multiple: boolean;
20
+ strict: boolean;
21
+ remote: boolean;
22
+ includes: object;
23
+ excludes: object;
24
+ root: number;
25
+ isTree: boolean;
26
+ constructor(refer?: IMetaRefer);
27
+ }
@@ -0,0 +1,58 @@
1
+ import { Database } from "../types";
2
+ import MetaField, { IMetaField } from "./MetaField";
3
+ export type IMetaView = {
4
+ $db?: Database;
5
+ $entity?: string;
6
+ $code?: string;
7
+ $isTree?: boolean;
8
+ $fields?: {
9
+ [key: string]: IMetaField;
10
+ };
11
+ $meta_name?: string;
12
+ id?: number;
13
+ name?: string;
14
+ form_width?: number;
15
+ form_height?: number;
16
+ table_width?: number;
17
+ table_height?: number;
18
+ enable?: boolean;
19
+ show_header?: boolean;
20
+ allow_batch?: boolean;
21
+ allow_search?: boolean;
22
+ allow_sort?: boolean;
23
+ allow_pop?: boolean;
24
+ allow_insert?: boolean;
25
+ allow_edit?: boolean;
26
+ allow_remove?: boolean;
27
+ allow_download?: boolean;
28
+ allow_upload?: boolean;
29
+ };
30
+ export default class MetaView {
31
+ $db?: Database;
32
+ $entity?: string;
33
+ $code?: string;
34
+ $isTree?: boolean;
35
+ $meta_name?: string;
36
+ $fields: {
37
+ [key: string]: MetaField;
38
+ };
39
+ id?: number;
40
+ name?: string;
41
+ form_width: number;
42
+ form_height: number;
43
+ table_width: number;
44
+ table_height: number;
45
+ enable: boolean;
46
+ show_header: boolean;
47
+ allow_batch: boolean;
48
+ allow_search: boolean;
49
+ allow_sort: boolean;
50
+ allow_pop: boolean;
51
+ allow_insert: boolean;
52
+ allow_edit: boolean;
53
+ allow_remove: boolean;
54
+ allow_download: boolean;
55
+ allow_upload: boolean;
56
+ constructor(view: IMetaView);
57
+ private createMetaField;
58
+ }
@@ -0,0 +1,9 @@
1
+ export type ManyField = 'ManyToManyField' | 'ManyToManyRel' | 'ManyToOneRef';
2
+ export type RefField = 'OneOnOneField' | 'OneOnOneRel' | 'ForeignKey';
3
+ export type SimpleField = 'CharField' | 'TextField' | 'BooleanField';
4
+ export type NumberField = 'IntegerField' | 'FloatField' | 'BigIntegerField' | 'DecimalField' | 'SmallIntegerField';
5
+ export type DateField = 'DateField' | 'DateTimeField' | 'TimeField';
6
+ export type SpecialField = 'JSONField' | 'FileField';
7
+ export type ReadonlyField = 'UUIDField' | 'BigAutoField' | 'Custom';
8
+ export type MetaFieldDomain = SimpleField | ManyField | RefField | SpecialField | ReadonlyField | NumberField | DateField;
9
+ export type MetaFieldTool = 'text' | 'textarea' | 'number' | 'switch' | 'boolean' | 'date' | 'timerange' | 'time' | 'daterange' | 'dates' | 'image' | 'file' | 'rich' | 'transfer' | 'auto' | 'select' | 'tree' | 'cascade' | 'set' | 'meta' | 'color' | 'icon' | 'none' | 'object';
@@ -0,0 +1,6 @@
1
+ import { Database } from "../types";
2
+ export type Meta = {
3
+ db: Database;
4
+ entity: string;
5
+ code?: string;
6
+ };
@@ -0,0 +1,11 @@
1
+ import { IQueryConfig, QueryConfig } from "./types/config";
2
+ import { DataItem } from "../types";
3
+ import { Finder } from "./types/finder";
4
+ import { QueryType, Search } from "./types/search";
5
+ export default class Query {
6
+ config: QueryConfig;
7
+ template: DataItem;
8
+ finder: Finder;
9
+ constructor(config?: IQueryConfig);
10
+ search(finders?: Finder[], type?: QueryType): Search;
11
+ }
@@ -0,0 +1,9 @@
1
+ import { IQueryConfig } from "./types/config";
2
+ import { Ref } from "vue";
3
+ import Query from "./Query";
4
+ import { Finder } from "./types/finder";
5
+ import { QueryType } from "./types/search";
6
+ export declare function useQuery(config: Ref<IQueryConfig>, finders: Ref<Finder[]>, type?: QueryType): {
7
+ search: import("vue").ComputedRef<import("./types/search").Search>;
8
+ query: import("vue").ComputedRef<Query>;
9
+ };
@@ -0,0 +1,8 @@
1
+ import { DataItem } from "../types";
2
+ import { IQueryConfig, QueryConfig } from "./types/config";
3
+ import { Finder } from "./types/finder";
4
+ import { Condition } from "./types/search";
5
+ export declare function toQueryConfig(config?: IQueryConfig): QueryConfig;
6
+ export declare function toTemplate(includes: DataItem): Pick<DataItem, string>;
7
+ export declare function toCondition(finder: Finder): Condition;
8
+ export declare function toFinder(config: QueryConfig): Finder;
@@ -0,0 +1,18 @@
1
+ import { DataItem, DataItemId } from "../../types";
2
+ import { Orders } from "./search";
3
+ export type IQueryConfig = {
4
+ includes?: DataItem;
5
+ excludes?: DataItem;
6
+ orders?: Orders;
7
+ page?: number;
8
+ size?: number;
9
+ root?: DataItemId;
10
+ };
11
+ export type QueryConfig = {
12
+ includes: DataItem;
13
+ excludes: DataItem;
14
+ orders: Orders;
15
+ page: number;
16
+ size: number;
17
+ root: DataItemId;
18
+ };
@@ -0,0 +1,18 @@
1
+ export declare const ci_lookup: string[];
2
+ export declare const ni_lookup: string[];
3
+ export declare const _lookup: LookupType[];
4
+ export declare const lookups: string[];
5
+ export type FinderType = 'includes' | 'excludes';
6
+ export type LookupType = 'contains' | 'exact' | 'startswith' | 'endswith' | 'gt' | 'lt' | 'isnull';
7
+ export type Finder = {
8
+ [path: string]: Lookup;
9
+ };
10
+ export type Lookup = {
11
+ key: string;
12
+ prop: string;
13
+ value: any;
14
+ type: FinderType;
15
+ isnull: boolean;
16
+ decorate: boolean;
17
+ lookup: LookupType;
18
+ };
@@ -0,0 +1,23 @@
1
+ import { DataItem, DataItemId } from "../../types";
2
+ export type Orders = {
3
+ [key: string]: 1 | -1;
4
+ };
5
+ export type Condition = {
6
+ includes: DataItem;
7
+ excludes: DataItem;
8
+ };
9
+ export type QueryType = 'table' | 'tree';
10
+ export type Search = {
11
+ conditions: Condition[];
12
+ orders: Orders;
13
+ page: number;
14
+ size: number;
15
+ root: DataItemId;
16
+ };
17
+ export type ISearch = {
18
+ condition: Condition;
19
+ orders: Orders;
20
+ page: number;
21
+ size: number;
22
+ root: DataItemId;
23
+ };
@@ -0,0 +1,13 @@
1
+ export declare function useAuth(): {
2
+ $client: string;
3
+ getUserInfo: () => any;
4
+ setUserInfo: (userKey: any) => void;
5
+ checkUserInfo: (userKey?: any) => boolean;
6
+ logout: () => void;
7
+ bearer: () => "Bearer 123" | null;
8
+ keys: {
9
+ client: string;
10
+ user: string;
11
+ bearer: string;
12
+ };
13
+ };
@@ -0,0 +1,6 @@
1
+ export declare function useCookies(): {
2
+ get: (path: string) => any;
3
+ set: (path: string, value?: any) => void;
4
+ remove: (path: string) => void;
5
+ load: (key: string, value?: any) => any;
6
+ };
@@ -0,0 +1,2 @@
1
+ export type IconNames = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "ad" | "add" | "address-book" | "address-card" | "adjust" | "air-freshener" | "align-center" | "align-justify" | "align-left" | "align-right" | "allergies" | "ambulance" | "american-sign-language-interpreting" | "anchor" | "anchor-circle-check" | "anchor-circle-exclamation" | "anchor-circle-xmark" | "anchor-lock" | "angle-double-down" | "angle-double-left" | "angle-double-right" | "angle-double-up" | "angle-down" | "angle-left" | "angle-right" | "angle-up" | "angles-down" | "angles-left" | "angles-right" | "angles-up" | "angry" | "ankh" | "apple-alt" | "apple-whole" | "archive" | "archway" | "area-chart" | "arrow-alt-circle-down" | "arrow-alt-circle-left" | "arrow-alt-circle-right" | "arrow-alt-circle-up" | "arrow-circle-down" | "arrow-circle-left" | "arrow-circle-right" | "arrow-circle-up" | "arrow-down" | "arrow-down-1-9" | "arrow-down-9-1" | "arrow-down-a-z" | "arrow-down-long" | "arrow-down-short-wide" | "arrow-down-up-across-line" | "arrow-down-up-lock" | "arrow-down-wide-short" | "arrow-down-z-a" | "arrow-left" | "arrow-left-long" | "arrow-left-rotate" | "arrow-pointer" | "arrow-right" | "arrow-right-arrow-left" | "arrow-right-from-bracket" | "arrow-right-from-file" | "arrow-right-long" | "arrow-right-rotate" | "arrow-right-to-bracket" | "arrow-right-to-city" | "arrow-right-to-file" | "arrow-rotate-back" | "arrow-rotate-backward" | "arrow-rotate-forward" | "arrow-rotate-left" | "arrow-rotate-right" | "arrow-trend-down" | "arrow-trend-up" | "arrow-turn-down" | "arrow-turn-up" | "arrow-up" | "arrow-up-1-9" | "arrow-up-9-1" | "arrow-up-a-z" | "arrow-up-from-bracket" | "arrow-up-from-ground-water" | "arrow-up-from-water-pump" | "arrow-up-long" | "arrow-up-right-dots" | "arrow-up-right-from-square" | "arrow-up-short-wide" | "arrow-up-wide-short" | "arrow-up-z-a" | "arrows" | "arrows-alt" | "arrows-alt-h" | "arrows-alt-v" | "arrows-down-to-line" | "arrows-down-to-people" | "arrows-h" | "arrows-left-right" | "arrows-left-right-to-line" | "arrows-rotate" | "arrows-spin" | "arrows-split-up-and-left" | "arrows-to-circle" | "arrows-to-dot" | "arrows-to-eye" | "arrows-turn-right" | "arrows-turn-to-dots" | "arrows-up-down" | "arrows-up-down-left-right" | "arrows-up-to-line" | "arrows-v" | "asl-interpreting" | "assistive-listening-systems" | "asterisk" | "at" | "atlas" | "atom" | "audio-description" | "austral-sign" | "automobile" | "award" | "b" | "baby" | "baby-carriage" | "backspace" | "backward" | "backward-fast" | "backward-step" | "bacon" | "bacteria" | "bacterium" | "bag-shopping" | "bahai" | "baht-sign" | "balance-scale" | "balance-scale-left" | "balance-scale-right" | "ban" | "ban-smoking" | "band-aid" | "bandage" | "bangladeshi-taka-sign" | "bank" | "bar-chart" | "barcode" | "bars" | "bars-progress" | "bars-staggered" | "baseball" | "baseball-ball" | "baseball-bat-ball" | "basket-shopping" | "basketball" | "basketball-ball" | "bath" | "bathtub" | "battery" | "battery-0" | "battery-2" | "battery-3" | "battery-4" | "battery-5" | "battery-car" | "battery-empty" | "battery-full" | "battery-half" | "battery-quarter" | "battery-three-quarters" | "bed" | "bed-pulse" | "beer" | "beer-mug-empty" | "bell" | "bell-concierge" | "bell-slash" | "bezier-curve" | "bible" | "bicycle" | "biking" | "binoculars" | "biohazard" | "birthday-cake" | "bitcoin-sign" | "blackboard" | "blender" | "blender-phone" | "blind" | "blog" | "bold" | "bolt" | "bolt-lightning" | "bomb" | "bone" | "bong" | "book" | "book-atlas" | "book-bible" | "book-bookmark" | "book-dead" | "book-journal-whills" | "book-medical" | "book-open" | "book-open-reader" | "book-quran" | "book-reader" | "book-skull" | "book-tanakh" | "bookmark" | "border-all" | "border-none" | "border-style" | "border-top-left" | "bore-hole" | "bottle-droplet" | "bottle-water" | "bowl-food" | "bowl-rice" | "bowling-ball" | "box" | "box-archive" | "box-open" | "box-tissue" | "boxes" | "boxes-alt" | "boxes-packing" | "boxes-stacked" | "braille" | "brain" | "brazilian-real-sign" | "bread-slice" | "bridge" | "bridge-circle-check" | "bridge-circle-exclamation" | "bridge-circle-xmark" | "bridge-lock" | "bridge-water" | "briefcase" | "briefcase-clock" | "briefcase-medical" | "broadcast-tower" | "broom" | "broom-ball" | "brush" | "bucket" | "bug" | "bug-slash" | "bugs" | "building" | "building-circle-arrow-right" | "building-circle-check" | "building-circle-exclamation" | "building-circle-xmark" | "building-columns" | "building-flag" | "building-lock" | "building-ngo" | "building-shield" | "building-un" | "building-user" | "building-wheat" | "bullhorn" | "bullseye" | "burger" | "burn" | "burst" | "bus" | "bus-alt" | "bus-simple" | "business-time" | "c" | "cab" | "cable-car" | "cake" | "cake-candles" | "calculator" | "calendar" | "calendar-alt" | "calendar-check" | "calendar-day" | "calendar-days" | "calendar-minus" | "calendar-plus" | "calendar-times" | "calendar-week" | "calendar-xmark" | "camera" | "camera-alt" | "camera-retro" | "camera-rotate" | "campground" | "cancel" | "candy-cane" | "cannabis" | "capsules" | "car" | "car-alt" | "car-battery" | "car-burst" | "car-crash" | "car-on" | "car-rear" | "car-side" | "car-tunnel" | "caravan" | "caret-down" | "caret-left" | "caret-right" | "caret-square-down" | "caret-square-left" | "caret-square-right" | "caret-square-up" | "caret-up" | "carriage-baby" | "carrot" | "cart-arrow-down" | "cart-flatbed" | "cart-flatbed-suitcase" | "cart-plus" | "cart-shopping" | "cash-register" | "cat" | "cedi-sign" | "cent-sign" | "certificate" | "chain" | "chain-broken" | "chain-slash" | "chair" | "chalkboard" | "chalkboard-teacher" | "chalkboard-user" | "champagne-glasses" | "charging-station" | "chart-area" | "chart-bar" | "chart-column" | "chart-diagram" | "chart-gantt" | "chart-line" | "chart-pie" | "chart-simple" | "check" | "check-circle" | "check-double" | "check-square" | "check-to-slot" | "cheese" | "chess" | "chess-bishop" | "chess-board" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-circle-down" | "chevron-circle-left" | "chevron-circle-right" | "chevron-circle-up" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "child" | "child-combatant" | "child-dress" | "child-reaching" | "child-rifle" | "children" | "church" | "circle" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-right" | "circle-arrow-up" | "circle-check" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-dollar-to-slot" | "circle-dot" | "circle-down" | "circle-exclamation" | "circle-h" | "circle-half-stroke" | "circle-info" | "circle-left" | "circle-minus" | "circle-nodes" | "circle-notch" | "circle-pause" | "circle-play" | "circle-plus" | "circle-question" | "circle-radiation" | "circle-right" | "circle-stop" | "circle-up" | "circle-user" | "circle-xmark" | "city" | "clapperboard" | "clinic-medical" | "clipboard" | "clipboard-check" | "clipboard-list" | "clipboard-question" | "clipboard-user" | "clock" | "clock-four" | "clock-rotate-left" | "clone" | "close" | "closed-captioning" | "cloud" | "cloud-arrow-down" | "cloud-arrow-up" | "cloud-bolt" | "cloud-download" | "cloud-download-alt" | "cloud-meatball" | "cloud-moon" | "cloud-moon-rain" | "cloud-rain" | "cloud-showers-heavy" | "cloud-showers-water" | "cloud-sun" | "cloud-sun-rain" | "cloud-upload" | "cloud-upload-alt" | "clover" | "cny" | "cocktail" | "code" | "code-branch" | "code-commit" | "code-compare" | "code-fork" | "code-merge" | "code-pull-request" | "coffee" | "cog" | "cogs" | "coins" | "colon-sign" | "columns" | "comment" | "comment-alt" | "comment-dollar" | "comment-dots" | "comment-medical" | "comment-nodes" | "comment-slash" | "comment-sms" | "commenting" | "comments" | "comments-dollar" | "compact-disc" | "compass" | "compass-drafting" | "compress" | "compress-alt" | "compress-arrows-alt" | "computer" | "computer-mouse" | "concierge-bell" | "contact-book" | "contact-card" | "cookie" | "cookie-bite" | "copy" | "copyright" | "couch" | "cow" | "credit-card" | "credit-card-alt" | "crop" | "crop-alt" | "crop-simple" | "cross" | "crosshairs" | "crow" | "crown" | "crutch" | "cruzeiro-sign" | "cube" | "cubes" | "cubes-stacked" | "cut" | "cutlery" | "d" | "dashboard" | "database" | "deaf" | "deafness" | "dedent" | "delete-left" | "democrat" | "desktop" | "desktop-alt" | "dharmachakra" | "diagnoses" | "diagram-next" | "diagram-predecessor" | "diagram-project" | "diagram-successor" | "diamond" | "diamond-turn-right" | "dice" | "dice-d20" | "dice-d6" | "dice-five" | "dice-four" | "dice-one" | "dice-six" | "dice-three" | "dice-two" | "digging" | "digital-tachograph" | "directions" | "disease" | "display" | "divide" | "dizzy" | "dna" | "dog" | "dollar" | "dollar-sign" | "dolly" | "dolly-box" | "dolly-flatbed" | "donate" | "dong-sign" | "door-closed" | "door-open" | "dot-circle" | "dove" | "down-left-and-up-right-to-center" | "down-long" | "download" | "drafting-compass" | "dragon" | "draw-polygon" | "drivers-license" | "droplet" | "droplet-slash" | "drum" | "drum-steelpan" | "drumstick-bite" | "dumbbell" | "dumpster" | "dumpster-fire" | "dungeon" | "e" | "ear-deaf" | "ear-listen" | "earth" | "earth-africa" | "earth-america" | "earth-americas" | "earth-asia" | "earth-europe" | "earth-oceania" | "edit" | "egg" | "eject" | "elevator" | "ellipsis" | "ellipsis-h" | "ellipsis-v" | "ellipsis-vertical" | "envelope" | "envelope-circle-check" | "envelope-open" | "envelope-open-text" | "envelope-square" | "envelopes-bulk" | "equals" | "eraser" | "ethernet" | "eur" | "euro" | "euro-sign" | "exchange" | "exchange-alt" | "exclamation" | "exclamation-circle" | "exclamation-triangle" | "expand" | "expand-alt" | "expand-arrows-alt" | "explosion" | "external-link" | "external-link-alt" | "external-link-square" | "external-link-square-alt" | "eye" | "eye-dropper" | "eye-dropper-empty" | "eye-low-vision" | "eye-slash" | "eyedropper" | "f" | "face-angry" | "face-dizzy" | "face-flushed" | "face-frown" | "face-frown-open" | "face-grimace" | "face-grin" | "face-grin-beam" | "face-grin-beam-sweat" | "face-grin-hearts" | "face-grin-squint" | "face-grin-squint-tears" | "face-grin-stars" | "face-grin-tears" | "face-grin-tongue" | "face-grin-tongue-squint" | "face-grin-tongue-wink" | "face-grin-wide" | "face-grin-wink" | "face-kiss" | "face-kiss-beam" | "face-kiss-wink-heart" | "face-laugh" | "face-laugh-beam" | "face-laugh-squint" | "face-laugh-wink" | "face-meh" | "face-meh-blank" | "face-rolling-eyes" | "face-sad-cry" | "face-sad-tear" | "face-smile" | "face-smile-beam" | "face-smile-wink" | "face-surprise" | "face-tired" | "fan" | "faucet" | "faucet-drip" | "fax" | "feather" | "feather-alt" | "feather-pointed" | "feed" | "female" | "ferry" | "fighter-jet" | "file" | "file-alt" | "file-archive" | "file-arrow-down" | "file-arrow-up" | "file-audio" | "file-circle-check" | "file-circle-exclamation" | "file-circle-minus" | "file-circle-plus" | "file-circle-question" | "file-circle-xmark" | "file-clipboard" | "file-code" | "file-contract" | "file-csv" | "file-download" | "file-edit" | "file-excel" | "file-export" | "file-fragment" | "file-half-dashed" | "file-image" | "file-import" | "file-invoice" | "file-invoice-dollar" | "file-lines" | "file-medical" | "file-medical-alt" | "file-pdf" | "file-pen" | "file-powerpoint" | "file-prescription" | "file-shield" | "file-signature" | "file-text" | "file-upload" | "file-video" | "file-waveform" | "file-word" | "file-zipper" | "fill" | "fill-drip" | "film" | "filter" | "filter-circle-dollar" | "filter-circle-xmark" | "fingerprint" | "fire" | "fire-alt" | "fire-burner" | "fire-extinguisher" | "fire-flame-curved" | "fire-flame-simple" | "first-aid" | "fish" | "fish-fins" | "fist-raised" | "flag" | "flag-checkered" | "flag-usa" | "flask" | "flask-vial" | "floppy-disk" | "florin-sign" | "flushed" | "folder" | "folder-blank" | "folder-closed" | "folder-minus" | "folder-open" | "folder-plus" | "folder-tree" | "font" | "font-awesome" | "font-awesome-flag" | "font-awesome-logo-full" | "football" | "football-ball" | "forward" | "forward-fast" | "forward-step" | "franc-sign" | "frog" | "frown" | "frown-open" | "funnel-dollar" | "futbol" | "futbol-ball" | "g" | "gamepad" | "gas-pump" | "gauge" | "gauge-high" | "gauge-med" | "gauge-simple" | "gauge-simple-high" | "gauge-simple-med" | "gavel" | "gbp" | "gear" | "gears" | "gem" | "genderless" | "ghost" | "gift" | "gifts" | "glass-cheers" | "glass-martini" | "glass-martini-alt" | "glass-water" | "glass-water-droplet" | "glass-whiskey" | "glasses" | "globe" | "globe-africa" | "globe-americas" | "globe-asia" | "globe-europe" | "globe-oceania" | "golf-ball" | "golf-ball-tee" | "gopuram" | "graduation-cap" | "greater-than" | "greater-than-equal" | "grimace" | "grin" | "grin-alt" | "grin-beam" | "grin-beam-sweat" | "grin-hearts" | "grin-squint" | "grin-squint-tears" | "grin-stars" | "grin-tears" | "grin-tongue" | "grin-tongue-squint" | "grin-tongue-wink" | "grin-wink" | "grip" | "grip-horizontal" | "grip-lines" | "grip-lines-vertical" | "grip-vertical" | "group-arrows-rotate" | "guarani-sign" | "guitar" | "gun" | "h" | "h-square" | "hamburger" | "hammer" | "hamsa" | "hand" | "hand-back-fist" | "hand-dots" | "hand-fist" | "hand-holding" | "hand-holding-dollar" | "hand-holding-droplet" | "hand-holding-hand" | "hand-holding-heart" | "hand-holding-medical" | "hand-holding-usd" | "hand-holding-water" | "hand-lizard" | "hand-middle-finger" | "hand-paper" | "hand-peace" | "hand-point-down" | "hand-point-left" | "hand-point-right" | "hand-point-up" | "hand-pointer" | "hand-rock" | "hand-scissors" | "hand-sparkles" | "hand-spock" | "handcuffs" | "hands" | "hands-american-sign-language-interpreting" | "hands-asl-interpreting" | "hands-bound" | "hands-bubbles" | "hands-clapping" | "hands-helping" | "hands-holding" | "hands-holding-child" | "hands-holding-circle" | "hands-praying" | "hands-wash" | "handshake" | "handshake-alt" | "handshake-alt-slash" | "handshake-angle" | "handshake-simple" | "handshake-simple-slash" | "handshake-slash" | "hanukiah" | "hard-drive" | "hard-hat" | "hard-of-hearing" | "hashtag" | "hat-cowboy" | "hat-cowboy-side" | "hat-hard" | "hat-wizard" | "haykal" | "hdd" | "head-side-cough" | "head-side-cough-slash" | "head-side-mask" | "head-side-virus" | "header" | "heading" | "headphones" | "headphones-alt" | "headphones-simple" | "headset" | "heart" | "heart-broken" | "heart-circle-bolt" | "heart-circle-check" | "heart-circle-exclamation" | "heart-circle-minus" | "heart-circle-plus" | "heart-circle-xmark" | "heart-crack" | "heart-music-camera-bolt" | "heart-pulse" | "heartbeat" | "helicopter" | "helicopter-symbol" | "helmet-safety" | "helmet-un" | "hexagon-nodes" | "hexagon-nodes-bolt" | "highlighter" | "hiking" | "hill-avalanche" | "hill-rockslide" | "hippo" | "history" | "hockey-puck" | "holly-berry" | "home" | "home-alt" | "home-lg" | "home-lg-alt" | "home-user" | "horse" | "horse-head" | "hospital" | "hospital-alt" | "hospital-symbol" | "hospital-user" | "hospital-wide" | "hot-tub" | "hot-tub-person" | "hotdog" | "hotel" | "hourglass" | "hourglass-1" | "hourglass-2" | "hourglass-3" | "hourglass-empty" | "hourglass-end" | "hourglass-half" | "hourglass-start" | "house" | "house-chimney" | "house-chimney-crack" | "house-chimney-medical" | "house-chimney-user" | "house-chimney-window" | "house-circle-check" | "house-circle-exclamation" | "house-circle-xmark" | "house-crack" | "house-damage" | "house-fire" | "house-flag" | "house-flood-water" | "house-flood-water-circle-arrow-right" | "house-laptop" | "house-lock" | "house-medical" | "house-medical-circle-check" | "house-medical-circle-exclamation" | "house-medical-circle-xmark" | "house-medical-flag" | "house-signal" | "house-tsunami" | "house-user" | "hryvnia" | "hryvnia-sign" | "hurricane" | "i" | "i-cursor" | "ice-cream" | "icicles" | "icons" | "id-badge" | "id-card" | "id-card-alt" | "id-card-clip" | "igloo" | "ils" | "image" | "image-portrait" | "images" | "inbox" | "indent" | "indian-rupee" | "indian-rupee-sign" | "industry" | "infinity" | "info" | "info-circle" | "inr" | "institution" | "italic" | "j" | "jar" | "jar-wheat" | "jedi" | "jet-fighter" | "jet-fighter-up" | "joint" | "journal-whills" | "jpy" | "jug-detergent" | "k" | "kaaba" | "key" | "keyboard" | "khanda" | "kip-sign" | "kiss" | "kiss-beam" | "kiss-wink-heart" | "kit-medical" | "kitchen-set" | "kiwi-bird" | "krw" | "l" | "ladder-water" | "land-mine-on" | "landmark" | "landmark-alt" | "landmark-dome" | "landmark-flag" | "language" | "laptop" | "laptop-code" | "laptop-file" | "laptop-house" | "laptop-medical" | "lari-sign" | "laugh" | "laugh-beam" | "laugh-squint" | "laugh-wink" | "layer-group" | "leaf" | "left-long" | "left-right" | "legal" | "lemon" | "less-than" | "less-than-equal" | "level-down" | "level-down-alt" | "level-up" | "level-up-alt" | "life-ring" | "lightbulb" | "line-chart" | "lines-leaning" | "link" | "link-slash" | "lira-sign" | "list" | "list-1-2" | "list-alt" | "list-check" | "list-dots" | "list-numeric" | "list-ol" | "list-squares" | "list-ul" | "litecoin-sign" | "location" | "location-arrow" | "location-crosshairs" | "location-dot" | "location-pin" | "location-pin-lock" | "lock" | "lock-open" | "locust" | "long-arrow-alt-down" | "long-arrow-alt-left" | "long-arrow-alt-right" | "long-arrow-alt-up" | "long-arrow-down" | "long-arrow-left" | "long-arrow-right" | "long-arrow-up" | "low-vision" | "luggage-cart" | "lungs" | "lungs-virus" | "m" | "magic" | "magic-wand-sparkles" | "magnet" | "magnifying-glass" | "magnifying-glass-arrow-right" | "magnifying-glass-chart" | "magnifying-glass-dollar" | "magnifying-glass-location" | "magnifying-glass-minus" | "magnifying-glass-plus" | "mail-bulk" | "mail-forward" | "mail-reply" | "mail-reply-all" | "male" | "manat-sign" | "map" | "map-location" | "map-location-dot" | "map-marked" | "map-marked-alt" | "map-marker" | "map-marker-alt" | "map-pin" | "map-signs" | "marker" | "mars" | "mars-and-venus" | "mars-and-venus-burst" | "mars-double" | "mars-stroke" | "mars-stroke-h" | "mars-stroke-right" | "mars-stroke-up" | "mars-stroke-v" | "martini-glass" | "martini-glass-citrus" | "martini-glass-empty" | "mask" | "mask-face" | "mask-ventilator" | "masks-theater" | "mattress-pillow" | "maximize" | "medal" | "medkit" | "meh" | "meh-blank" | "meh-rolling-eyes" | "memory" | "menorah" | "mercury" | "message" | "meteor" | "microchip" | "microphone" | "microphone-alt" | "microphone-alt-slash" | "microphone-lines" | "microphone-lines-slash" | "microphone-slash" | "microscope" | "mill-sign" | "minimize" | "minus" | "minus-circle" | "minus-square" | "mitten" | "mobile" | "mobile-alt" | "mobile-android" | "mobile-android-alt" | "mobile-button" | "mobile-phone" | "mobile-retro" | "mobile-screen" | "mobile-screen-button" | "money-bill" | "money-bill-1" | "money-bill-1-wave" | "money-bill-alt" | "money-bill-transfer" | "money-bill-trend-up" | "money-bill-wave" | "money-bill-wave-alt" | "money-bill-wheat" | "money-bills" | "money-check" | "money-check-alt" | "money-check-dollar" | "monument" | "moon" | "mortar-board" | "mortar-pestle" | "mosque" | "mosquito" | "mosquito-net" | "motorcycle" | "mound" | "mountain" | "mountain-city" | "mountain-sun" | "mouse" | "mouse-pointer" | "mug-hot" | "mug-saucer" | "multiply" | "museum" | "music" | "n" | "naira-sign" | "navicon" | "network-wired" | "neuter" | "newspaper" | "not-equal" | "notdef" | "note-sticky" | "notes-medical" | "o" | "object-group" | "object-ungroup" | "oil-can" | "oil-well" | "om" | "otter" | "outdent" | "p" | "pager" | "paint-brush" | "paint-roller" | "paintbrush" | "palette" | "pallet" | "panorama" | "paper-plane" | "paperclip" | "parachute-box" | "paragraph" | "parking" | "passport" | "pastafarianism" | "paste" | "pause" | "pause-circle" | "paw" | "peace" | "pen" | "pen-alt" | "pen-clip" | "pen-fancy" | "pen-nib" | "pen-ruler" | "pen-square" | "pen-to-square" | "pencil" | "pencil-alt" | "pencil-ruler" | "pencil-square" | "people-arrows" | "people-arrows-left-right" | "people-carry" | "people-carry-box" | "people-group" | "people-line" | "people-pulling" | "people-robbery" | "people-roof" | "pepper-hot" | "percent" | "percentage" | "person" | "person-arrow-down-to-line" | "person-arrow-up-from-line" | "person-biking" | "person-booth" | "person-breastfeeding" | "person-burst" | "person-cane" | "person-chalkboard" | "person-circle-check" | "person-circle-exclamation" | "person-circle-minus" | "person-circle-plus" | "person-circle-question" | "person-circle-xmark" | "person-digging" | "person-dots-from-line" | "person-dress" | "person-dress-burst" | "person-drowning" | "person-falling" | "person-falling-burst" | "person-half-dress" | "person-harassing" | "person-hiking" | "person-military-pointing" | "person-military-rifle" | "person-military-to-person" | "person-praying" | "person-pregnant" | "person-rays" | "person-rifle" | "person-running" | "person-shelter" | "person-skating" | "person-skiing" | "person-skiing-nordic" | "person-snowboarding" | "person-swimming" | "person-through-window" | "person-walking" | "person-walking-arrow-loop-left" | "person-walking-arrow-right" | "person-walking-dashed-line-arrow-right" | "person-walking-luggage" | "person-walking-with-cane" | "peseta-sign" | "peso-sign" | "phone" | "phone-alt" | "phone-flip" | "phone-slash" | "phone-square" | "phone-square-alt" | "phone-volume" | "photo-film" | "photo-video" | "pie-chart" | "piggy-bank" | "pills" | "ping-pong-paddle-ball" | "pizza-slice" | "place-of-worship" | "plane" | "plane-arrival" | "plane-circle-check" | "plane-circle-exclamation" | "plane-circle-xmark" | "plane-departure" | "plane-lock" | "plane-slash" | "plane-up" | "plant-wilt" | "plate-wheat" | "play" | "play-circle" | "plug" | "plug-circle-bolt" | "plug-circle-check" | "plug-circle-exclamation" | "plug-circle-minus" | "plug-circle-plus" | "plug-circle-xmark" | "plus" | "plus-circle" | "plus-minus" | "plus-square" | "podcast" | "poll" | "poll-h" | "poo" | "poo-bolt" | "poo-storm" | "poop" | "portrait" | "pound-sign" | "power-off" | "pray" | "praying-hands" | "prescription" | "prescription-bottle" | "prescription-bottle-alt" | "prescription-bottle-medical" | "print" | "procedures" | "project-diagram" | "pump-medical" | "pump-soap" | "puzzle-piece" | "q" | "qrcode" | "question" | "question-circle" | "quidditch" | "quidditch-broom-ball" | "quote-left" | "quote-left-alt" | "quote-right" | "quote-right-alt" | "quran" | "r" | "radiation" | "radiation-alt" | "radio" | "rainbow" | "random" | "ranking-star" | "receipt" | "record-vinyl" | "rectangle-ad" | "rectangle-list" | "rectangle-times" | "rectangle-xmark" | "recycle" | "redo" | "redo-alt" | "refresh" | "registered" | "remove" | "remove-format" | "reorder" | "repeat" | "reply" | "reply-all" | "republican" | "restroom" | "retweet" | "ribbon" | "right-from-bracket" | "right-left" | "right-long" | "right-to-bracket" | "ring" | "rmb" | "road" | "road-barrier" | "road-bridge" | "road-circle-check" | "road-circle-exclamation" | "road-circle-xmark" | "road-lock" | "road-spikes" | "robot" | "rocket" | "rod-asclepius" | "rod-snake" | "rotate" | "rotate-back" | "rotate-backward" | "rotate-forward" | "rotate-left" | "rotate-right" | "rouble" | "route" | "rss" | "rss-square" | "rub" | "ruble" | "ruble-sign" | "rug" | "ruler" | "ruler-combined" | "ruler-horizontal" | "ruler-vertical" | "running" | "rupee" | "rupee-sign" | "rupiah-sign" | "s" | "sack-dollar" | "sack-xmark" | "sad-cry" | "sad-tear" | "sailboat" | "satellite" | "satellite-dish" | "save" | "scale-balanced" | "scale-unbalanced" | "scale-unbalanced-flip" | "school" | "school-circle-check" | "school-circle-exclamation" | "school-circle-xmark" | "school-flag" | "school-lock" | "scissors" | "screwdriver" | "screwdriver-wrench" | "scroll" | "scroll-torah" | "sd-card" | "search" | "search-dollar" | "search-location" | "search-minus" | "search-plus" | "section" | "seedling" | "server" | "shapes" | "share" | "share-alt" | "share-alt-square" | "share-from-square" | "share-nodes" | "share-square" | "sheet-plastic" | "shekel" | "shekel-sign" | "sheqel" | "sheqel-sign" | "shield" | "shield-alt" | "shield-blank" | "shield-cat" | "shield-dog" | "shield-halved" | "shield-heart" | "shield-virus" | "ship" | "shipping-fast" | "shirt" | "shoe-prints" | "shop" | "shop-lock" | "shop-slash" | "shopping-bag" | "shopping-basket" | "shopping-cart" | "shower" | "shrimp" | "shuffle" | "shuttle-space" | "shuttle-van" | "sign" | "sign-hanging" | "sign-in" | "sign-in-alt" | "sign-language" | "sign-out" | "sign-out-alt" | "signal" | "signal-5" | "signal-perfect" | "signature" | "signing" | "signs-post" | "sim-card" | "sink" | "sitemap" | "skating" | "skiing" | "skiing-nordic" | "skull" | "skull-crossbones" | "slash" | "sleigh" | "sliders" | "sliders-h" | "smile" | "smile-beam" | "smile-wink" | "smog" | "smoking" | "smoking-ban" | "sms" | "snowboarding" | "snowflake" | "snowman" | "snowplow" | "soap" | "soccer-ball" | "socks" | "solar-panel" | "sort" | "sort-alpha-asc" | "sort-alpha-desc" | "sort-alpha-down" | "sort-alpha-down-alt" | "sort-alpha-up" | "sort-alpha-up-alt" | "sort-amount-asc" | "sort-amount-desc" | "sort-amount-down" | "sort-amount-down-alt" | "sort-amount-up" | "sort-amount-up-alt" | "sort-asc" | "sort-desc" | "sort-down" | "sort-numeric-asc" | "sort-numeric-desc" | "sort-numeric-down" | "sort-numeric-down-alt" | "sort-numeric-up" | "sort-numeric-up-alt" | "sort-up" | "spa" | "space-shuttle" | "spaghetti-monster-flying" | "spell-check" | "spider" | "spinner" | "splotch" | "spoon" | "spray-can" | "spray-can-sparkles" | "sprout" | "square" | "square-arrow-up-right" | "square-binary" | "square-caret-down" | "square-caret-left" | "square-caret-right" | "square-caret-up" | "square-check" | "square-envelope" | "square-full" | "square-h" | "square-minus" | "square-nfi" | "square-parking" | "square-pen" | "square-person-confined" | "square-phone" | "square-phone-flip" | "square-plus" | "square-poll-horizontal" | "square-poll-vertical" | "square-root-alt" | "square-root-variable" | "square-rss" | "square-share-nodes" | "square-up-right" | "square-virus" | "square-xmark" | "staff-aesculapius" | "staff-snake" | "stairs" | "stamp" | "stapler" | "star" | "star-and-crescent" | "star-half" | "star-half-alt" | "star-half-stroke" | "star-of-david" | "star-of-life" | "step-backward" | "step-forward" | "sterling-sign" | "stethoscope" | "sticky-note" | "stop" | "stop-circle" | "stopwatch" | "stopwatch-20" | "store" | "store-alt" | "store-alt-slash" | "store-slash" | "stream" | "street-view" | "strikethrough" | "stroopwafel" | "subscript" | "subtract" | "subway" | "suitcase" | "suitcase-medical" | "suitcase-rolling" | "sun" | "sun-plant-wilt" | "superscript" | "surprise" | "swatchbook" | "swimmer" | "swimming-pool" | "synagogue" | "sync" | "sync-alt" | "syringe" | "t" | "t-shirt" | "table" | "table-cells" | "table-cells-column-lock" | "table-cells-large" | "table-cells-row-lock" | "table-cells-row-unlock" | "table-columns" | "table-list" | "table-tennis" | "table-tennis-paddle-ball" | "tablet" | "tablet-alt" | "tablet-android" | "tablet-button" | "tablet-screen-button" | "tablets" | "tachograph-digital" | "tachometer" | "tachometer-alt" | "tachometer-alt-average" | "tachometer-alt-fast" | "tachometer-average" | "tachometer-fast" | "tag" | "tags" | "tanakh" | "tape" | "tarp" | "tarp-droplet" | "tasks" | "tasks-alt" | "taxi" | "teeth" | "teeth-open" | "teletype" | "television" | "temperature-0" | "temperature-1" | "temperature-2" | "temperature-3" | "temperature-4" | "temperature-arrow-down" | "temperature-arrow-up" | "temperature-down" | "temperature-empty" | "temperature-full" | "temperature-half" | "temperature-high" | "temperature-low" | "temperature-quarter" | "temperature-three-quarters" | "temperature-up" | "tenge" | "tenge-sign" | "tent" | "tent-arrow-down-to-line" | "tent-arrow-left-right" | "tent-arrow-turn-left" | "tent-arrows-down" | "tents" | "terminal" | "text-height" | "text-slash" | "text-width" | "th" | "th-large" | "th-list" | "theater-masks" | "thermometer" | "thermometer-0" | "thermometer-1" | "thermometer-2" | "thermometer-3" | "thermometer-4" | "thermometer-empty" | "thermometer-full" | "thermometer-half" | "thermometer-quarter" | "thermometer-three-quarters" | "thumb-tack" | "thumb-tack-slash" | "thumbs-down" | "thumbs-up" | "thumbtack" | "thumbtack-slash" | "thunderstorm" | "ticket" | "ticket-alt" | "ticket-simple" | "timeline" | "times" | "times-circle" | "times-rectangle" | "times-square" | "tint" | "tint-slash" | "tired" | "toggle-off" | "toggle-on" | "toilet" | "toilet-paper" | "toilet-paper-slash" | "toilet-portable" | "toilets-portable" | "toolbox" | "tools" | "tooth" | "torah" | "torii-gate" | "tornado" | "tower-broadcast" | "tower-cell" | "tower-observation" | "tractor" | "trademark" | "traffic-light" | "trailer" | "train" | "train-subway" | "train-tram" | "tram" | "transgender" | "transgender-alt" | "trash" | "trash-alt" | "trash-arrow-up" | "trash-can" | "trash-can-arrow-up" | "trash-restore" | "trash-restore-alt" | "tree" | "tree-city" | "triangle-circle-square" | "triangle-exclamation" | "trophy" | "trowel" | "trowel-bricks" | "truck" | "truck-arrow-right" | "truck-droplet" | "truck-fast" | "truck-field" | "truck-field-un" | "truck-front" | "truck-loading" | "truck-medical" | "truck-monster" | "truck-moving" | "truck-pickup" | "truck-plane" | "truck-ramp-box" | "try" | "tshirt" | "tty" | "turkish-lira" | "turkish-lira-sign" | "turn-down" | "turn-up" | "tv" | "tv-alt" | "u" | "umbrella" | "umbrella-beach" | "underline" | "undo" | "undo-alt" | "universal-access" | "university" | "unlink" | "unlock" | "unlock-alt" | "unlock-keyhole" | "unsorted" | "up-down" | "up-down-left-right" | "up-long" | "up-right-and-down-left-from-center" | "up-right-from-square" | "upload" | "usd" | "user" | "user-alt" | "user-alt-slash" | "user-astronaut" | "user-check" | "user-circle" | "user-clock" | "user-cog" | "user-doctor" | "user-edit" | "user-friends" | "user-gear" | "user-graduate" | "user-group" | "user-injured" | "user-large" | "user-large-slash" | "user-lock" | "user-md" | "user-minus" | "user-ninja" | "user-nurse" | "user-pen" | "user-plus" | "user-secret" | "user-shield" | "user-slash" | "user-tag" | "user-tie" | "user-times" | "user-xmark" | "users" | "users-between-lines" | "users-cog" | "users-gear" | "users-line" | "users-rays" | "users-rectangle" | "users-slash" | "users-viewfinder" | "utensil-spoon" | "utensils" | "v" | "van-shuttle" | "vault" | "vcard" | "vector-square" | "venus" | "venus-double" | "venus-mars" | "vest" | "vest-patches" | "vial" | "vial-circle-check" | "vial-virus" | "vials" | "video" | "video-camera" | "video-slash" | "vihara" | "virus" | "virus-covid" | "virus-covid-slash" | "virus-slash" | "viruses" | "voicemail" | "volcano" | "volleyball" | "volleyball-ball" | "volume-control-phone" | "volume-down" | "volume-high" | "volume-low" | "volume-mute" | "volume-off" | "volume-times" | "volume-up" | "volume-xmark" | "vote-yea" | "vr-cardboard" | "w" | "walkie-talkie" | "walking" | "wallet" | "wand-magic" | "wand-magic-sparkles" | "wand-sparkles" | "warehouse" | "warning" | "water" | "water-ladder" | "wave-square" | "web-awesome" | "weight" | "weight-hanging" | "weight-scale" | "wheat-alt" | "wheat-awn" | "wheat-awn-circle-exclamation" | "wheelchair" | "wheelchair-alt" | "wheelchair-move" | "whiskey-glass" | "wifi" | "wifi-3" | "wifi-strong" | "wind" | "window-close" | "window-maximize" | "window-minimize" | "window-restore" | "wine-bottle" | "wine-glass" | "wine-glass-alt" | "wine-glass-empty" | "won" | "won-sign" | "worm" | "wrench" | "x" | "x-ray" | "xmark" | "xmark-circle" | "xmark-square" | "xmarks-lines" | "y" | "yen" | "yen-sign" | "yin-yang" | "z" | "zap";
2
+ export declare const FontawesomeIconNames: string[];
@@ -0,0 +1,5 @@
1
+ export declare function usePaster(): {
2
+ openPaster: () => Promise<string>;
3
+ pending: import("vue").Ref<boolean, boolean>;
4
+ getClipboardData: () => Promise<string>;
5
+ };
@@ -0,0 +1,5 @@
1
+ import { Aoa, AoaMap, Separator } from "./types";
2
+ export declare function useXlsx(separator?: Separator): {
3
+ fromText: (text: string) => Aoa;
4
+ fromFile: (file: File) => Promise<AoaMap>;
5
+ };