@flux-ui/types 3.0.0-next.7 → 3.0.0-next.70
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.
- package/README.md +27 -33
- package/package.json +13 -18
- package/src/common.ts +23 -5
- package/src/components.ts +44 -0
- package/src/filter.ts +56 -15
- package/src/form.ts +26 -0
- package/src/index.ts +53 -4
- package/src/statistics.ts +146 -0
- package/src/font-awesome.ts +0 -4838
- package/src/material-symbols.ts +0 -3508
- package/tsconfig.json +0 -45
package/README.md
CHANGED
|
@@ -1,45 +1,39 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `@flux-ui/types`
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
targets Vue 3+. Please read the following instructions and checks in order to proceed.
|
|
3
|
+
Public TypeScript types shared across the Flux UI packages.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
This package has **no build step** — it ships its TypeScript sources directly.
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
- The Dashboard library package is available under `@flux-ui/dashboard`.
|
|
10
|
-
- The internal package is available under `@flux-ui/internals`.
|
|
7
|
+
## Highlights
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
| File | Contents |
|
|
10
|
+
|-----------------|-------------------------------------------------------------------------|
|
|
11
|
+
| `common.ts` | Cross-cutting types — `FluxColor`, `FluxSize`, `FluxIconName`, `FluxTo` |
|
|
12
|
+
| `components.ts` | Per-component `Props`, `Emits`, and `Slots` types |
|
|
13
|
+
| `form.ts` | Form-related types |
|
|
14
|
+
| `filter.ts` | Filter component types |
|
|
15
|
+
| `notify.ts` | Snackbar, alert, confirm, and prompt types |
|
|
16
|
+
| `statistics.ts` | Types for `@flux-ui/statistics` |
|
|
13
17
|
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
- Configure a new environment variable `FONTAWESOME_NPM_AUTH_TOKEN`. This should be a valid Font Awesome private npm auth token.
|
|
17
|
-
- Use `pnpm install` to install the required packages.
|
|
18
|
-
- Use `pnpm dev` to start a build watcher for both targets.
|
|
19
|
-
- Use `pnpm build` to build a production bundle.
|
|
20
|
-
- Use `pnpm link` to link the dist folder of flux to your global node_modules.
|
|
18
|
+
> Component-owned types live next to their component as inline `defineProps` / `defineEmits` / `defineSlots`.
|
|
19
|
+
> Only types with cross-package or cross-component reuse belong here.
|
|
21
20
|
|
|
22
|
-
##
|
|
21
|
+
## ⭐️ Prerequisites
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
- Bun >= 1.2.13
|
|
24
|
+
- Node >= 23
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
## 🚀 Getting started
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
- **Feature branches** — Any feature should have its own feature branch. Once complete, the branch should be merged into the _develop_ branch and the feature branch should be deleted.
|
|
31
|
-
- **Bugfix branches** — When a bug is found, it should be fixed within a bugfix branch. Once complete the branch should be merged into the _develop_ branch and the feature branch should be deleted.
|
|
28
|
+
1. Make sure the Flux monorepo is checked out.
|
|
29
|
+
2. Run `bun install` in the project root.
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
There is no build step; consumers import directly from `./src/index.ts`.
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
## 📦 Sibling packages
|
|
36
34
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
- `feat(expandable): adds header slot to expandable.`
|
|
44
|
-
- `feat(expandable): adds header slot to expandable. [FLUX-123]`
|
|
45
|
-
- `chore: adds vue 3 build target.`
|
|
35
|
+
- [`@flux-ui/components`](../components)
|
|
36
|
+
- [`@flux-ui/internals`](../internals)
|
|
37
|
+
- [`@flux-ui/statistics`](../statistics)
|
|
38
|
+
- [`@flux-ui/dashboard`](../dashboard)
|
|
39
|
+
- [`@flux-ui/application`](../application)
|
package/package.json
CHANGED
|
@@ -1,29 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flux-ui/types",
|
|
3
3
|
"description": "Contains all public types of Flux UI packages.",
|
|
4
|
-
"version": "3.0.0-next.
|
|
4
|
+
"version": "3.0.0-next.70",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://github.com/sponsors/basmilius",
|
|
8
|
-
"homepage": "https://flux.
|
|
8
|
+
"homepage": "https://flux-ui.dev",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git+https://github.com/basmilius/flux.git",
|
|
12
|
-
"directory": "packages/
|
|
12
|
+
"directory": "packages/types"
|
|
13
13
|
},
|
|
14
14
|
"keywords": [
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"design system",
|
|
18
|
-
"vue",
|
|
19
|
-
"vue 3",
|
|
20
|
-
"ui",
|
|
21
|
-
"components",
|
|
22
|
-
"flux"
|
|
15
|
+
"flux",
|
|
16
|
+
"types"
|
|
23
17
|
],
|
|
24
|
-
"scripts": {
|
|
25
|
-
"prepublishOnly": "cp ../../README.md ."
|
|
26
|
-
},
|
|
27
18
|
"exports": {
|
|
28
19
|
".": "./src/index.ts"
|
|
29
20
|
},
|
|
@@ -32,16 +23,20 @@
|
|
|
32
23
|
"provenance": true
|
|
33
24
|
},
|
|
34
25
|
"files": [
|
|
35
|
-
"src"
|
|
36
|
-
"tsconfig.json"
|
|
26
|
+
"src"
|
|
37
27
|
],
|
|
38
28
|
"main": "./src/index.ts",
|
|
39
29
|
"module": "./src/index.ts",
|
|
40
30
|
"types": "./src/index.ts",
|
|
41
31
|
"typings": "./src/index.ts",
|
|
42
32
|
"sideEffects": false,
|
|
43
|
-
"
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"@fortawesome/fontawesome-common-types": "^7.2.0",
|
|
35
|
+
"luxon": "^3.7.2"
|
|
36
|
+
},
|
|
44
37
|
"devDependencies": {
|
|
45
|
-
"@types
|
|
38
|
+
"@fortawesome/fontawesome-common-types": "^7.2.0",
|
|
39
|
+
"@types/luxon": "^3.7.1",
|
|
40
|
+
"luxon": "^3.7.2"
|
|
46
41
|
}
|
|
47
42
|
}
|
package/src/common.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import type { FontAwesome } from '
|
|
2
|
-
import type { MaterialSymbol } from './material-symbols';
|
|
1
|
+
import type { IconName as FontAwesome } from '@fortawesome/fontawesome-common-types';
|
|
3
2
|
|
|
4
|
-
export type FluxIconName = FontAwesome
|
|
5
|
-
|
|
6
|
-
export type
|
|
3
|
+
export type FluxIconName = FontAwesome;
|
|
4
|
+
|
|
5
|
+
export type FluxAlignment =
|
|
6
|
+
| 'start'
|
|
7
|
+
| 'center'
|
|
8
|
+
| 'end';
|
|
9
|
+
|
|
10
|
+
export type FluxAlign =
|
|
11
|
+
| FluxAlignment
|
|
12
|
+
| 'stretch'
|
|
13
|
+
| 'baseline';
|
|
7
14
|
|
|
8
15
|
export type FluxColor =
|
|
9
16
|
| 'gray'
|
|
@@ -17,6 +24,17 @@ export type FluxDirection =
|
|
|
17
24
|
| 'horizontal'
|
|
18
25
|
| 'vertical';
|
|
19
26
|
|
|
27
|
+
export type FluxFlexWrap =
|
|
28
|
+
| 'wrap'
|
|
29
|
+
| 'nowrap'
|
|
30
|
+
| 'wrap-reverse';
|
|
31
|
+
|
|
32
|
+
export type FluxJustify =
|
|
33
|
+
| FluxAlignment
|
|
34
|
+
| 'between'
|
|
35
|
+
| 'around'
|
|
36
|
+
| 'evenly';
|
|
37
|
+
|
|
20
38
|
export type FluxInputMask =
|
|
21
39
|
| 'bic'
|
|
22
40
|
| 'iban'
|
package/src/components.ts
CHANGED
|
@@ -53,3 +53,47 @@ export type FluxSegmentedControlItemObject = {
|
|
|
53
53
|
readonly icon?: FluxIconName;
|
|
54
54
|
readonly label?: string;
|
|
55
55
|
};
|
|
56
|
+
|
|
57
|
+
export type FluxKanbanMoveEvent = {
|
|
58
|
+
readonly itemId: string | number;
|
|
59
|
+
readonly fromColumnId: string | number;
|
|
60
|
+
readonly toColumnId: string | number;
|
|
61
|
+
readonly beforeItemId?: string | number;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export type FluxKanbanMoveColumnEvent = {
|
|
65
|
+
readonly columnId: string | number;
|
|
66
|
+
readonly beforeColumnId?: string | number;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export type FluxTreeViewOption = {
|
|
70
|
+
readonly id: string | number;
|
|
71
|
+
readonly label: string;
|
|
72
|
+
readonly icon?: FluxIconName;
|
|
73
|
+
readonly children?: FluxTreeViewOption[];
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export type FluxCommandSubAction = {
|
|
77
|
+
readonly label: string;
|
|
78
|
+
readonly icon?: FluxIconName;
|
|
79
|
+
readonly onActivate: () => void;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export type FluxCommandSourceItem = {
|
|
83
|
+
readonly id: string | number;
|
|
84
|
+
readonly label: string;
|
|
85
|
+
readonly subLabel?: string;
|
|
86
|
+
readonly icon?: FluxIconName;
|
|
87
|
+
readonly command?: string;
|
|
88
|
+
readonly subActions?: FluxCommandSubAction[];
|
|
89
|
+
readonly onActivate: () => void;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export type FluxCommandSource = {
|
|
93
|
+
readonly key: string;
|
|
94
|
+
readonly label: string;
|
|
95
|
+
readonly icon?: FluxIconName;
|
|
96
|
+
readonly tab?: boolean;
|
|
97
|
+
readonly items: FluxCommandSourceItem[];
|
|
98
|
+
readonly fetchSearch?: (query: string) => Promise<FluxCommandSourceItem[]>;
|
|
99
|
+
};
|
package/src/filter.ts
CHANGED
|
@@ -1,12 +1,37 @@
|
|
|
1
1
|
import type { DateTime } from 'luxon';
|
|
2
2
|
import type { FluxIconName } from './common';
|
|
3
3
|
|
|
4
|
+
export type FluxFilterValueSingle =
|
|
5
|
+
| DateTime
|
|
6
|
+
| string
|
|
7
|
+
| boolean
|
|
8
|
+
| number
|
|
9
|
+
| null;
|
|
10
|
+
|
|
11
|
+
export type FluxFilterValue =
|
|
12
|
+
| FluxFilterValueSingle
|
|
13
|
+
| FluxFilterValueSingle[];
|
|
14
|
+
|
|
15
|
+
export type FluxFilterState<T extends Record<string, unknown> = Record<string, FluxFilterValue>> = T;
|
|
16
|
+
|
|
17
|
+
export type FluxFilterDefinition<TValue = FluxFilterValue> = {
|
|
18
|
+
readonly type: string;
|
|
19
|
+
readonly name: string;
|
|
20
|
+
readonly label: string;
|
|
21
|
+
readonly icon?: FluxIconName;
|
|
22
|
+
readonly disabled?: boolean;
|
|
23
|
+
readonly defaultValue?: TValue;
|
|
24
|
+
getValueLabel(value: TValue): Promise<string | null>;
|
|
25
|
+
onChange?(value: TValue): void;
|
|
26
|
+
onClear?(): void;
|
|
27
|
+
};
|
|
28
|
+
|
|
4
29
|
export type FluxFilterBase = {
|
|
5
30
|
getValueLabel(value: FluxFilterValue): Promise<string | null>;
|
|
6
|
-
|
|
7
31
|
readonly icon?: FluxIconName;
|
|
8
32
|
readonly label: string;
|
|
9
33
|
readonly name: string;
|
|
34
|
+
readonly disabled?: boolean;
|
|
10
35
|
};
|
|
11
36
|
|
|
12
37
|
export type FluxFilterItem =
|
|
@@ -41,6 +66,7 @@ export type FluxFilterOptionHeader = {
|
|
|
41
66
|
};
|
|
42
67
|
|
|
43
68
|
export type FluxFilterOptionItem = {
|
|
69
|
+
readonly icon?: FluxIconName;
|
|
44
70
|
readonly label: string;
|
|
45
71
|
readonly value: FluxFilterValueSingle;
|
|
46
72
|
};
|
|
@@ -49,21 +75,36 @@ export type FluxFilterOptionRow =
|
|
|
49
75
|
| FluxFilterOptionHeader
|
|
50
76
|
| FluxFilterOptionItem;
|
|
51
77
|
|
|
52
|
-
export type
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
78
|
+
export type FluxFilterSpec = {
|
|
79
|
+
readonly icon?: FluxIconName;
|
|
80
|
+
readonly label: string;
|
|
81
|
+
readonly name: string;
|
|
82
|
+
readonly disabled?: boolean;
|
|
83
|
+
readonly defaultValue?: FluxFilterValue;
|
|
84
|
+
onChange?(value: FluxFilterValue): void;
|
|
85
|
+
onClear?(): void;
|
|
86
|
+
};
|
|
58
87
|
|
|
59
|
-
export type
|
|
60
|
-
|
|
61
|
-
|
|
88
|
+
export type FluxFilterDateSpec = FluxFilterSpec;
|
|
89
|
+
|
|
90
|
+
export type FluxFilterDateRangeSpec = FluxFilterSpec;
|
|
91
|
+
|
|
92
|
+
export type FluxFilterOptionSpec = FluxFilterSpec & {
|
|
93
|
+
readonly options: FluxFilterOptionRow[];
|
|
94
|
+
};
|
|
62
95
|
|
|
63
|
-
export type
|
|
64
|
-
|
|
96
|
+
export type FluxFilterOptionAsyncSpec = FluxFilterSpec & {
|
|
97
|
+
fetchOptions(ids: FluxFilterValue[]): Promise<FluxFilterOptionRow[]>;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export type FluxFilterOptionsSpec = FluxFilterSpec & {
|
|
101
|
+
readonly options: FluxFilterOptionRow[];
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export type FluxFilterOptionsAsyncSpec = FluxFilterSpec & {
|
|
105
|
+
fetchOptions(ids: FluxFilterValue[]): Promise<FluxFilterOptionRow[]>;
|
|
106
|
+
};
|
|
65
107
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
[key: string]: FluxFilterValue | Function;
|
|
108
|
+
export type FluxFilterRangeSpec = FluxFilterSpec & {
|
|
109
|
+
formatter?(value: number): string;
|
|
69
110
|
};
|
package/src/form.ts
CHANGED
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
import type { FluxIconName } from './common';
|
|
2
2
|
|
|
3
|
+
export type FluxFormInputBaseProps = {
|
|
4
|
+
readonly autoFocus?: boolean;
|
|
5
|
+
readonly disabled?: boolean;
|
|
6
|
+
readonly error?: string | null;
|
|
7
|
+
readonly isCondensed?: boolean;
|
|
8
|
+
readonly isLoading?: boolean;
|
|
9
|
+
readonly isReadonly?: boolean;
|
|
10
|
+
readonly isSecondary?: boolean;
|
|
11
|
+
readonly name?: string;
|
|
12
|
+
readonly placeholder?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type FluxFormTreeViewSelectOption = {
|
|
16
|
+
readonly id: string | number;
|
|
17
|
+
readonly label: string;
|
|
18
|
+
readonly icon?: FluxIconName;
|
|
19
|
+
readonly selectable?: boolean;
|
|
20
|
+
readonly children?: FluxFormTreeViewSelectOption[];
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type FluxFormTreeViewSelectValue = FluxFormTreeViewSelectValueSingle | FluxFormTreeViewSelectValueSingle[];
|
|
24
|
+
export type FluxFormTreeViewSelectValueSingle = string | number;
|
|
25
|
+
|
|
3
26
|
export type FluxFormSelectGroup = {
|
|
4
27
|
readonly icon?: FluxIconName;
|
|
5
28
|
readonly label: string;
|
|
29
|
+
readonly value?: never;
|
|
6
30
|
};
|
|
7
31
|
|
|
8
32
|
export type FluxFormSelectOption = {
|
|
@@ -10,6 +34,8 @@ export type FluxFormSelectOption = {
|
|
|
10
34
|
readonly command?: string;
|
|
11
35
|
readonly commandIcon?: FluxIconName;
|
|
12
36
|
readonly icon?: FluxIconName;
|
|
37
|
+
readonly imageAlt?: string;
|
|
38
|
+
readonly imageSrc?: string;
|
|
13
39
|
readonly label: string;
|
|
14
40
|
readonly selectable?: boolean;
|
|
15
41
|
readonly value: string | number | null;
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export type {
|
|
2
|
+
FluxAlign,
|
|
3
|
+
FluxAlignment,
|
|
2
4
|
FluxAutoCompleteType,
|
|
3
5
|
FluxColor,
|
|
4
6
|
FluxDirection,
|
|
5
|
-
|
|
7
|
+
FluxFlexWrap,
|
|
6
8
|
FluxIconName,
|
|
7
9
|
FluxInputMask,
|
|
8
10
|
FluxInputType,
|
|
9
|
-
|
|
11
|
+
FluxJustify,
|
|
10
12
|
FluxMaybePromise,
|
|
11
13
|
FluxPressableType,
|
|
12
14
|
FluxSize,
|
|
@@ -18,35 +20,54 @@ export type {
|
|
|
18
20
|
FluxButtonProps,
|
|
19
21
|
FluxButtonSize,
|
|
20
22
|
FluxButtonSlots,
|
|
23
|
+
FluxCommandSource,
|
|
24
|
+
FluxCommandSourceItem,
|
|
25
|
+
FluxCommandSubAction,
|
|
21
26
|
FluxFocalPointObject,
|
|
27
|
+
FluxKanbanMoveColumnEvent,
|
|
28
|
+
FluxKanbanMoveEvent,
|
|
22
29
|
FluxLegendObject,
|
|
23
30
|
FluxPercentageBarItemObject,
|
|
24
|
-
FluxSegmentedControlItemObject
|
|
31
|
+
FluxSegmentedControlItemObject,
|
|
32
|
+
FluxTreeViewOption
|
|
25
33
|
} from './components';
|
|
26
34
|
|
|
27
35
|
export type {
|
|
28
36
|
FluxFilterBase,
|
|
29
37
|
FluxFilterDateEntry,
|
|
30
38
|
FluxFilterDateRangeEntry,
|
|
39
|
+
FluxFilterDateRangeSpec,
|
|
40
|
+
FluxFilterDateSpec,
|
|
41
|
+
FluxFilterDefinition,
|
|
31
42
|
FluxFilterItem,
|
|
43
|
+
FluxFilterOptionAsyncSpec,
|
|
32
44
|
FluxFilterOptionEntry,
|
|
33
45
|
FluxFilterOptionHeader,
|
|
34
46
|
FluxFilterOptionItem,
|
|
35
47
|
FluxFilterOptionRow,
|
|
48
|
+
FluxFilterOptionSpec,
|
|
49
|
+
FluxFilterOptionsAsyncSpec,
|
|
36
50
|
FluxFilterOptionsEntry,
|
|
51
|
+
FluxFilterOptionsSpec,
|
|
37
52
|
FluxFilterRangeEntry,
|
|
53
|
+
FluxFilterRangeSpec,
|
|
54
|
+
FluxFilterSpec,
|
|
38
55
|
FluxFilterState,
|
|
39
56
|
FluxFilterValue,
|
|
40
57
|
FluxFilterValueSingle
|
|
41
58
|
} from './filter';
|
|
42
59
|
|
|
43
60
|
export type {
|
|
61
|
+
FluxFormInputBaseProps,
|
|
44
62
|
FluxFormSelectEntry,
|
|
45
63
|
FluxFormSelectGroup,
|
|
46
64
|
FluxFormSelectOption,
|
|
47
65
|
FluxFormSelectOptions,
|
|
48
66
|
FluxFormSelectValue,
|
|
49
|
-
FluxFormSelectValueSingle
|
|
67
|
+
FluxFormSelectValueSingle,
|
|
68
|
+
FluxFormTreeViewSelectOption,
|
|
69
|
+
FluxFormTreeViewSelectValue,
|
|
70
|
+
FluxFormTreeViewSelectValueSingle
|
|
50
71
|
} from './form';
|
|
51
72
|
|
|
52
73
|
export type {
|
|
@@ -56,3 +77,31 @@ export type {
|
|
|
56
77
|
FluxSnackbarObject,
|
|
57
78
|
FluxTooltipObject
|
|
58
79
|
} from './notify';
|
|
80
|
+
|
|
81
|
+
export type {
|
|
82
|
+
FluxStatisticsChange,
|
|
83
|
+
FluxStatisticsChartAreaSeries,
|
|
84
|
+
FluxStatisticsChartBarSeries,
|
|
85
|
+
FluxStatisticsChartBoxPlotPoint,
|
|
86
|
+
FluxStatisticsChartBoxPlotSeries,
|
|
87
|
+
FluxStatisticsChartBubblePoint,
|
|
88
|
+
FluxStatisticsChartBubbleSeries,
|
|
89
|
+
FluxStatisticsChartCandlestickPoint,
|
|
90
|
+
FluxStatisticsChartCandlestickSeries,
|
|
91
|
+
FluxStatisticsChartCartesianSeries,
|
|
92
|
+
FluxStatisticsChartCategoryPoint,
|
|
93
|
+
FluxStatisticsChartColor,
|
|
94
|
+
FluxStatisticsChartGaugeSeries,
|
|
95
|
+
FluxStatisticsChartHeatmapPoint,
|
|
96
|
+
FluxStatisticsChartHeatmapSeries,
|
|
97
|
+
FluxStatisticsChartLineSeries,
|
|
98
|
+
FluxStatisticsChartMixedSeries,
|
|
99
|
+
FluxStatisticsChartPieSlice,
|
|
100
|
+
FluxStatisticsChartRadarIndicator,
|
|
101
|
+
FluxStatisticsChartRadarSeries,
|
|
102
|
+
FluxStatisticsChartScatterPoint,
|
|
103
|
+
FluxStatisticsChartScatterSeries,
|
|
104
|
+
FluxStatisticsChartTreemapNode,
|
|
105
|
+
FluxStatisticsChartTreemapSeries,
|
|
106
|
+
FluxStatisticsPercentageBarItemObject
|
|
107
|
+
} from './statistics';
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import type { FluxColor, FluxIconName } from './common';
|
|
2
|
+
|
|
3
|
+
export type FluxStatisticsChange = {
|
|
4
|
+
readonly color?: FluxColor;
|
|
5
|
+
readonly icon?: FluxIconName;
|
|
6
|
+
readonly value: string | number;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type FluxStatisticsChartColor = FluxColor | `#${string}` | `var(--${string})`;
|
|
10
|
+
|
|
11
|
+
export interface FluxStatisticsPercentageBarItemObject {
|
|
12
|
+
readonly color?: FluxStatisticsChartColor;
|
|
13
|
+
readonly icon?: FluxIconName;
|
|
14
|
+
readonly label: string;
|
|
15
|
+
readonly value: number;
|
|
16
|
+
readonly displayValue?: string | number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface FluxStatisticsChartCategoryPoint {
|
|
20
|
+
readonly label?: string;
|
|
21
|
+
readonly value: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface FluxStatisticsChartCartesianSeries {
|
|
25
|
+
readonly name?: string;
|
|
26
|
+
readonly data: readonly (number | FluxStatisticsChartCategoryPoint)[];
|
|
27
|
+
readonly color?: FluxStatisticsChartColor;
|
|
28
|
+
readonly icon?: FluxIconName;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type FluxStatisticsChartLineSeries = FluxStatisticsChartCartesianSeries;
|
|
32
|
+
export type FluxStatisticsChartAreaSeries = FluxStatisticsChartCartesianSeries;
|
|
33
|
+
export type FluxStatisticsChartBarSeries = FluxStatisticsChartCartesianSeries;
|
|
34
|
+
|
|
35
|
+
export interface FluxStatisticsChartMixedSeries extends FluxStatisticsChartCartesianSeries {
|
|
36
|
+
readonly type: 'line' | 'area' | 'bar';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface FluxStatisticsChartPieSlice {
|
|
40
|
+
readonly label: string;
|
|
41
|
+
readonly value: number;
|
|
42
|
+
readonly formatted?: string;
|
|
43
|
+
readonly color?: FluxStatisticsChartColor;
|
|
44
|
+
readonly icon?: FluxIconName;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface FluxStatisticsChartRadarIndicator {
|
|
48
|
+
readonly name: string;
|
|
49
|
+
readonly max?: number;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface FluxStatisticsChartRadarSeries {
|
|
53
|
+
readonly name?: string;
|
|
54
|
+
readonly values: readonly number[];
|
|
55
|
+
readonly color?: FluxStatisticsChartColor;
|
|
56
|
+
readonly icon?: FluxIconName;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface FluxStatisticsChartScatterPoint {
|
|
60
|
+
readonly x: number;
|
|
61
|
+
readonly y: number;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface FluxStatisticsChartScatterSeries {
|
|
65
|
+
readonly name?: string;
|
|
66
|
+
readonly data: readonly FluxStatisticsChartScatterPoint[];
|
|
67
|
+
readonly color?: FluxStatisticsChartColor;
|
|
68
|
+
readonly icon?: FluxIconName;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface FluxStatisticsChartBubblePoint extends FluxStatisticsChartScatterPoint {
|
|
72
|
+
readonly size: number;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface FluxStatisticsChartBubbleSeries {
|
|
76
|
+
readonly name?: string;
|
|
77
|
+
readonly data: readonly FluxStatisticsChartBubblePoint[];
|
|
78
|
+
readonly color?: FluxStatisticsChartColor;
|
|
79
|
+
readonly icon?: FluxIconName;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface FluxStatisticsChartCandlestickPoint {
|
|
83
|
+
readonly label?: string;
|
|
84
|
+
readonly open: number;
|
|
85
|
+
readonly close: number;
|
|
86
|
+
readonly low: number;
|
|
87
|
+
readonly high: number;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface FluxStatisticsChartCandlestickSeries {
|
|
91
|
+
readonly name?: string;
|
|
92
|
+
readonly data: readonly FluxStatisticsChartCandlestickPoint[];
|
|
93
|
+
readonly positiveColor?: FluxStatisticsChartColor;
|
|
94
|
+
readonly negativeColor?: FluxStatisticsChartColor;
|
|
95
|
+
readonly icon?: FluxIconName;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export interface FluxStatisticsChartBoxPlotPoint {
|
|
99
|
+
readonly label?: string;
|
|
100
|
+
readonly min: number;
|
|
101
|
+
readonly q1: number;
|
|
102
|
+
readonly median: number;
|
|
103
|
+
readonly q3: number;
|
|
104
|
+
readonly max: number;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export interface FluxStatisticsChartBoxPlotSeries {
|
|
108
|
+
readonly name?: string;
|
|
109
|
+
readonly data: readonly FluxStatisticsChartBoxPlotPoint[];
|
|
110
|
+
readonly color?: FluxStatisticsChartColor;
|
|
111
|
+
readonly icon?: FluxIconName;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface FluxStatisticsChartHeatmapPoint {
|
|
115
|
+
readonly x: string | number;
|
|
116
|
+
readonly y: string | number;
|
|
117
|
+
readonly value: number;
|
|
118
|
+
readonly formatted?: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface FluxStatisticsChartHeatmapSeries {
|
|
122
|
+
readonly name?: string;
|
|
123
|
+
readonly data: readonly FluxStatisticsChartHeatmapPoint[];
|
|
124
|
+
readonly icon?: FluxIconName;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface FluxStatisticsChartTreemapNode {
|
|
128
|
+
readonly name: string;
|
|
129
|
+
readonly value?: number;
|
|
130
|
+
readonly color?: FluxStatisticsChartColor;
|
|
131
|
+
readonly children?: readonly FluxStatisticsChartTreemapNode[];
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface FluxStatisticsChartTreemapSeries {
|
|
135
|
+
readonly name?: string;
|
|
136
|
+
readonly data: readonly FluxStatisticsChartTreemapNode[];
|
|
137
|
+
readonly icon?: FluxIconName;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export interface FluxStatisticsChartGaugeSeries {
|
|
141
|
+
readonly name: string;
|
|
142
|
+
readonly value: number;
|
|
143
|
+
readonly radius?: number;
|
|
144
|
+
readonly color?: FluxStatisticsChartColor;
|
|
145
|
+
readonly icon?: FluxIconName;
|
|
146
|
+
}
|