@squirkle-ui/charts 0.0.0-stage → 0.1.0

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.
@@ -0,0 +1,230 @@
1
+ import { type PropType } from 'vue';
2
+ import { type Series } from '../utils';
3
+ /** Line / area chart with crosshair tooltip. One y-axis only (by design). */
4
+ declare const _default: typeof __VLS_export;
5
+ export default _default;
6
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
+ labels: {
8
+ type: PropType<string[]>;
9
+ default: () => never[];
10
+ };
11
+ series: {
12
+ type: PropType<Series[]>;
13
+ default: () => never[];
14
+ };
15
+ title: {
16
+ type: StringConstructor;
17
+ default: undefined;
18
+ };
19
+ subtitle: {
20
+ type: StringConstructor;
21
+ default: undefined;
22
+ };
23
+ height: {
24
+ type: NumberConstructor;
25
+ default: number;
26
+ };
27
+ area: BooleanConstructor;
28
+ smooth: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ points: BooleanConstructor;
33
+ /** Start y at zero (recommended for areas). */
34
+ zero: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ flat: BooleanConstructor;
39
+ format: {
40
+ type: PropType<(v: number) => string>;
41
+ default: undefined;
42
+ };
43
+ }>, {
44
+ fmtCell: (v: number | null | undefined) => string;
45
+ box: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
46
+ w: import("vue").Ref<number, number>;
47
+ pad: {
48
+ t: number;
49
+ r: number;
50
+ b: number;
51
+ l: number;
52
+ };
53
+ hover: import("vue").Ref<number, number>;
54
+ y: import("vue").ComputedRef<{
55
+ ticks: number[];
56
+ min: number;
57
+ max: number;
58
+ }>;
59
+ sy: import("vue").ComputedRef<(v: number) => number>;
60
+ sx: import("vue").ComputedRef<(i: number) => number>;
61
+ paths: import("vue").ComputedRef<{
62
+ name: string;
63
+ color: string;
64
+ pts: [number, number | null][];
65
+ line: string;
66
+ area: string;
67
+ }[]>;
68
+ colorOf: (i: number) => string;
69
+ fmt: (v: number) => string;
70
+ showLabel: (i: number) => boolean;
71
+ onMove: (e: PointerEvent) => void;
72
+ tipStyle: import("vue").ComputedRef<{
73
+ right: string;
74
+ top: string;
75
+ left?: undefined;
76
+ } | {
77
+ left: string;
78
+ top: string;
79
+ right?: undefined;
80
+ }>;
81
+ legend: import("vue").ComputedRef<{
82
+ name: string;
83
+ color: string;
84
+ }[]>;
85
+ table: import("vue").ComputedRef<{
86
+ head: string[];
87
+ rows: (string | number)[][];
88
+ }>;
89
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
90
+ labels: {
91
+ type: PropType<string[]>;
92
+ default: () => never[];
93
+ };
94
+ series: {
95
+ type: PropType<Series[]>;
96
+ default: () => never[];
97
+ };
98
+ title: {
99
+ type: StringConstructor;
100
+ default: undefined;
101
+ };
102
+ subtitle: {
103
+ type: StringConstructor;
104
+ default: undefined;
105
+ };
106
+ height: {
107
+ type: NumberConstructor;
108
+ default: number;
109
+ };
110
+ area: BooleanConstructor;
111
+ smooth: {
112
+ type: BooleanConstructor;
113
+ default: boolean;
114
+ };
115
+ points: BooleanConstructor;
116
+ /** Start y at zero (recommended for areas). */
117
+ zero: {
118
+ type: BooleanConstructor;
119
+ default: boolean;
120
+ };
121
+ flat: BooleanConstructor;
122
+ format: {
123
+ type: PropType<(v: number) => string>;
124
+ default: undefined;
125
+ };
126
+ }>> & Readonly<{}>, {
127
+ flat: boolean;
128
+ title: string;
129
+ subtitle: string;
130
+ area: boolean;
131
+ points: boolean;
132
+ labels: string[];
133
+ series: Series[];
134
+ height: number;
135
+ smooth: boolean;
136
+ zero: boolean;
137
+ format: (v: number) => string;
138
+ }, {}, {
139
+ ChartFrame: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
140
+ title: {
141
+ type: StringConstructor;
142
+ default: undefined;
143
+ };
144
+ subtitle: {
145
+ type: StringConstructor;
146
+ default: undefined;
147
+ };
148
+ flat: BooleanConstructor;
149
+ legend: {
150
+ type: PropType<{
151
+ name: string;
152
+ color: string;
153
+ }[]>;
154
+ default: () => never[];
155
+ };
156
+ table: {
157
+ type: PropType<{
158
+ head: string[];
159
+ rows: (string | number)[][];
160
+ }>;
161
+ default: () => {
162
+ head: never[];
163
+ rows: never[];
164
+ };
165
+ };
166
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
167
+ title: {
168
+ type: StringConstructor;
169
+ default: undefined;
170
+ };
171
+ subtitle: {
172
+ type: StringConstructor;
173
+ default: undefined;
174
+ };
175
+ flat: BooleanConstructor;
176
+ legend: {
177
+ type: PropType<{
178
+ name: string;
179
+ color: string;
180
+ }[]>;
181
+ default: () => never[];
182
+ };
183
+ table: {
184
+ type: PropType<{
185
+ head: string[];
186
+ rows: (string | number)[][];
187
+ }>;
188
+ default: () => {
189
+ head: never[];
190
+ rows: never[];
191
+ };
192
+ };
193
+ }>> & Readonly<{}>, {
194
+ flat: boolean;
195
+ title: string;
196
+ subtitle: string;
197
+ legend: {
198
+ name: string;
199
+ color: string;
200
+ }[];
201
+ table: {
202
+ head: string[];
203
+ rows: (string | number)[][];
204
+ };
205
+ }, {}, {
206
+ SqShape: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
207
+ watchKey: {
208
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
209
+ default: undefined;
210
+ };
211
+ clip: BooleanConstructor;
212
+ }>, {
213
+ active: import("vue").Ref<boolean, boolean>;
214
+ w: import("vue").Ref<number, number>;
215
+ h: import("vue").Ref<number, number>;
216
+ bw: import("vue").Ref<number, number>;
217
+ d: import("vue").ComputedRef<string>;
218
+ strokeD: import("vue").ComputedRef<string>;
219
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
220
+ watchKey: {
221
+ type: (ObjectConstructor | BooleanConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
222
+ default: undefined;
223
+ };
224
+ clip: BooleanConstructor;
225
+ }>> & Readonly<{}>, {
226
+ clip: boolean;
227
+ watchKey: string | number | boolean | unknown[] | Record<string, any>;
228
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
229
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
230
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,61 @@
1
+ import { type PropType } from 'vue';
2
+ /** Inline trend line for stat tiles and table cells (no axes, no tooltip). */
3
+ declare const _default: typeof __VLS_export;
4
+ export default _default;
5
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ data: {
7
+ type: PropType<number[]>;
8
+ default: () => never[];
9
+ };
10
+ width: {
11
+ type: NumberConstructor;
12
+ default: number;
13
+ };
14
+ height: {
15
+ type: NumberConstructor;
16
+ default: number;
17
+ };
18
+ color: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ fill: BooleanConstructor;
23
+ label: {
24
+ type: StringConstructor;
25
+ default: string;
26
+ };
27
+ }>, {
28
+ pts: import("vue").ComputedRef<[number, number][]>;
29
+ lineD: import("vue").ComputedRef<string>;
30
+ areaD: import("vue").ComputedRef<string>;
31
+ stroke: import("vue").ComputedRef<string | undefined>;
32
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
33
+ data: {
34
+ type: PropType<number[]>;
35
+ default: () => never[];
36
+ };
37
+ width: {
38
+ type: NumberConstructor;
39
+ default: number;
40
+ };
41
+ height: {
42
+ type: NumberConstructor;
43
+ default: number;
44
+ };
45
+ color: {
46
+ type: StringConstructor;
47
+ default: string;
48
+ };
49
+ fill: BooleanConstructor;
50
+ label: {
51
+ type: StringConstructor;
52
+ default: string;
53
+ };
54
+ }>> & Readonly<{}>, {
55
+ fill: boolean;
56
+ data: number[];
57
+ label: string;
58
+ height: number;
59
+ width: number;
60
+ color: string;
61
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,8 @@
1
+ import './styles.css';
2
+ import SqLineChart from './components/SqLineChart.vue';
3
+ import SqBarChart from './components/SqBarChart.vue';
4
+ import SqDonutChart from './components/SqDonutChart.vue';
5
+ import SqSparkline from './components/SqSparkline.vue';
6
+ export { SqLineChart, SqBarChart, SqDonutChart, SqSparkline };
7
+ export { seriesColor, smoothPath, barPath, type Series, type DonutDatum } from './utils';
8
+ export declare const componentNames: readonly ["SqLineChart", "SqBarChart", "SqDonutChart", "SqSparkline"];
@@ -0,0 +1,28 @@
1
+ import { type Ref } from 'vue';
2
+ export interface DonutDatum {
3
+ label: string;
4
+ value: number;
5
+ color?: string;
6
+ }
7
+ export interface Series {
8
+ name: string;
9
+ data: (number | null)[];
10
+ color?: string;
11
+ }
12
+ /** Validated categorical order (dataviz reference palette); slots are CSS vars so light/dark swap via theme. */
13
+ export declare const seriesColor: (i: number, override?: string) => string;
14
+ export declare function useSize(el: Ref<HTMLElement | null>, fallbackHeight: number): {
15
+ width: Ref<number, number>;
16
+ height: Ref<number, number>;
17
+ };
18
+ export declare function linearScale(d0: number, d1: number, r0: number, r1: number): (v: number) => number;
19
+ export declare function yDomain(values: number[], zero?: boolean): {
20
+ ticks: number[];
21
+ min: number;
22
+ max: number;
23
+ };
24
+ /** Monotone cubic (Fritsch–Carlson) path through points — smooth without overshoot. */
25
+ export declare function smoothPath(pts: [number, number][]): string;
26
+ export declare const compact: (v: number, locale?: string) => string;
27
+ /** Bar with squircle-rounded data end (top for positive, bottom for negative), square at the baseline. */
28
+ export declare function barPath(x: number, y: number, w: number, h: number, r: number, horizontal?: boolean, negative?: boolean): string;