@teaui/react 1.3.8 → 1.5.8
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/.dist/components/FontStyle.d.ts +12 -0
- package/.dist/components/FontStyle.js +34 -0
- package/.dist/components/FontStyle.js.map +1 -0
- package/.dist/components/TextReact.d.ts +2 -0
- package/.dist/components/TextReact.js +31 -25
- package/.dist/components/TextReact.js.map +1 -1
- package/.dist/components.d.ts +26 -3
- package/.dist/components.js +106 -140
- package/.dist/components.js.map +1 -1
- package/.dist/index.d.ts +2 -2
- package/.dist/index.js +2 -18
- package/.dist/index.js.map +1 -1
- package/.dist/isSame.js +4 -8
- package/.dist/isSame.js.map +1 -1
- package/.dist/reconciler.d.ts +2 -2
- package/.dist/reconciler.js +80 -71
- package/.dist/reconciler.js.map +1 -1
- package/README.md +191 -21
- package/package.json +7 -4
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface FontStyleValue {
|
|
2
|
+
bold: boolean;
|
|
3
|
+
italic: boolean;
|
|
4
|
+
underline: boolean;
|
|
5
|
+
strikethrough: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface FontStyleProps {
|
|
8
|
+
value: FontStyleValue;
|
|
9
|
+
onChange: (value: FontStyleValue) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function FontStyle({ value, onChange }: FontStyleProps): JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { useCallback, useMemo } from 'react';
|
|
2
|
+
import { bold, italic, underline, strikeout } from '@teaui/core';
|
|
3
|
+
import { ToggleGroup } from '../components.js';
|
|
4
|
+
const LABELS = [bold('B'), italic('I'), underline('U'), strikeout('S')];
|
|
5
|
+
const KEYS = [
|
|
6
|
+
'bold',
|
|
7
|
+
'italic',
|
|
8
|
+
'underline',
|
|
9
|
+
'strikethrough',
|
|
10
|
+
];
|
|
11
|
+
export function FontStyle({ value, onChange }) {
|
|
12
|
+
const selected = useMemo(() => {
|
|
13
|
+
const indices = [];
|
|
14
|
+
KEYS.forEach((key, i) => {
|
|
15
|
+
if (value[key])
|
|
16
|
+
indices.push(i);
|
|
17
|
+
});
|
|
18
|
+
return indices;
|
|
19
|
+
}, [value]);
|
|
20
|
+
const handleChange = useCallback((_index, newSelected) => {
|
|
21
|
+
const next = {
|
|
22
|
+
bold: false,
|
|
23
|
+
italic: false,
|
|
24
|
+
underline: false,
|
|
25
|
+
strikethrough: false,
|
|
26
|
+
};
|
|
27
|
+
for (const i of newSelected) {
|
|
28
|
+
next[KEYS[i]] = true;
|
|
29
|
+
}
|
|
30
|
+
onChange(next);
|
|
31
|
+
}, [onChange]);
|
|
32
|
+
return (React.createElement(ToggleGroup, { titles: LABELS, selected: selected, multiple: true, onChange: handleChange }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=FontStyle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FontStyle.js","sourceRoot":"","sources":["../../lib/components/FontStyle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,OAAO,CAAA;AACjD,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAc5C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AACvE,MAAM,IAAI,GAA6B;IACrC,MAAM;IACN,QAAQ;IACR,WAAW;IACX,eAAe;CAChB,CAAA;AAED,MAAM,UAAU,SAAS,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAiB;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACtB,IAAI,KAAK,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,MAAc,EAAE,WAAqB,EAAE,EAAE;QACxC,MAAM,IAAI,GAAmB;YAC3B,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,KAAK;SACrB,CAAA;QACD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QACtB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,OAAO,CACL,oBAAC,WAAW,IACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,QACR,QAAQ,EAAE,YAAY,GACtB,CACH,CAAA;AACH,CAAC"}
|
|
@@ -67,6 +67,8 @@ type StyledTextProps = Omit<ProviderProps, 'alignment' | 'wrap' | 'font'>;
|
|
|
67
67
|
* ideally it would be supported.
|
|
68
68
|
*/
|
|
69
69
|
export declare class TextStyle extends TextProvider {
|
|
70
|
+
#private;
|
|
70
71
|
constructor(props: StyledTextProps);
|
|
72
|
+
update(props: StyledTextProps): void;
|
|
71
73
|
}
|
|
72
74
|
export {};
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TextStyle = exports.TextProvider = exports.TextContainer = exports.TextLiteral = void 0;
|
|
4
|
-
const core_1 = require("@teaui/core");
|
|
1
|
+
import { Container, define, Rect, Size, Style, Text, View, } from '@teaui/core';
|
|
5
2
|
// yeah I don't care about this namespace I just needed something to attach the JSDoc to
|
|
6
3
|
const DEFAULTS = {
|
|
7
4
|
alignment: 'left',
|
|
@@ -12,12 +9,12 @@ const DEFAULTS = {
|
|
|
12
9
|
* Used in the React reconciler for literal text JSX elements. They don't have any
|
|
13
10
|
* props.
|
|
14
11
|
*/
|
|
15
|
-
class TextLiteral extends
|
|
12
|
+
export class TextLiteral extends View {
|
|
16
13
|
#text;
|
|
17
14
|
constructor(text) {
|
|
18
15
|
super({});
|
|
19
16
|
this.#text = text;
|
|
20
|
-
|
|
17
|
+
define(this, 'text', { enumerable: true });
|
|
21
18
|
}
|
|
22
19
|
update({ text, ...props }) {
|
|
23
20
|
super.update(props);
|
|
@@ -38,7 +35,7 @@ class TextLiteral extends core_1.View {
|
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
37
|
if (style) {
|
|
41
|
-
return style.toSGR(
|
|
38
|
+
return style.toSGR(Style.NONE, this.#text);
|
|
42
39
|
}
|
|
43
40
|
return this.#text;
|
|
44
41
|
}
|
|
@@ -61,17 +58,16 @@ class TextLiteral extends core_1.View {
|
|
|
61
58
|
textContainer?.invalidateText();
|
|
62
59
|
}
|
|
63
60
|
naturalSize() {
|
|
64
|
-
return
|
|
61
|
+
return Size.zero;
|
|
65
62
|
}
|
|
66
63
|
render() { }
|
|
67
64
|
}
|
|
68
|
-
exports.TextLiteral = TextLiteral;
|
|
69
65
|
/**
|
|
70
66
|
* Subsequent TextLiteral nodes are grouped into a TextContainer, which handles the
|
|
71
67
|
* layout of child nodes. It gets its style, font, and alignment from the nearest
|
|
72
68
|
* parent TextProvider.
|
|
73
69
|
*/
|
|
74
|
-
class TextContainer extends
|
|
70
|
+
export class TextContainer extends Container {
|
|
75
71
|
#nodes = [];
|
|
76
72
|
constructor() {
|
|
77
73
|
super({});
|
|
@@ -89,7 +85,7 @@ class TextContainer extends core_1.Container {
|
|
|
89
85
|
}
|
|
90
86
|
}
|
|
91
87
|
removeChild(child) {
|
|
92
|
-
if (child instanceof TextLiteral) {
|
|
88
|
+
if (child instanceof TextLiteral || child instanceof TextStyle) {
|
|
93
89
|
child.parent = undefined;
|
|
94
90
|
}
|
|
95
91
|
const index = this.#nodes.indexOf(child);
|
|
@@ -111,15 +107,16 @@ class TextContainer extends core_1.Container {
|
|
|
111
107
|
let childIndex = 0;
|
|
112
108
|
for (const nextChild of this.#nodesToChildren()) {
|
|
113
109
|
const childView = this.children.at(childIndex);
|
|
114
|
-
if (nextChild instanceof
|
|
110
|
+
if (nextChild instanceof View) {
|
|
115
111
|
childIndex += 1;
|
|
116
112
|
}
|
|
117
113
|
else {
|
|
118
|
-
if (!(childView instanceof
|
|
114
|
+
if (!(childView instanceof Text)) {
|
|
119
115
|
this.#invalidateNodes();
|
|
120
116
|
return;
|
|
121
117
|
}
|
|
122
118
|
childView.text = nextChild;
|
|
119
|
+
childIndex += 1;
|
|
123
120
|
}
|
|
124
121
|
}
|
|
125
122
|
}
|
|
@@ -129,7 +126,7 @@ class TextContainer extends core_1.Container {
|
|
|
129
126
|
// remove and re-add those views.
|
|
130
127
|
super.removeAllChildren();
|
|
131
128
|
for (const child of this.#nodesToChildren()) {
|
|
132
|
-
if (child instanceof
|
|
129
|
+
if (child instanceof View) {
|
|
133
130
|
super.add(child);
|
|
134
131
|
}
|
|
135
132
|
else {
|
|
@@ -161,7 +158,7 @@ class TextContainer extends core_1.Container {
|
|
|
161
158
|
return children;
|
|
162
159
|
}
|
|
163
160
|
naturalSize(available) {
|
|
164
|
-
const size =
|
|
161
|
+
const size = Size.zero.mutableCopy();
|
|
165
162
|
const remaining = available.mutableCopy();
|
|
166
163
|
for (const child of this.children) {
|
|
167
164
|
const childSize = child.naturalSize(remaining);
|
|
@@ -181,7 +178,7 @@ class TextContainer extends core_1.Container {
|
|
|
181
178
|
const childSize = child.naturalSize(remaining).mutableCopy();
|
|
182
179
|
childSize.width = viewport.contentSize.width;
|
|
183
180
|
remaining.height -= childSize.height;
|
|
184
|
-
const childViewport = new
|
|
181
|
+
const childViewport = new Rect([0, y], childSize);
|
|
185
182
|
viewport.clipped(childViewport, inner => child.render(inner));
|
|
186
183
|
y += childSize.height;
|
|
187
184
|
}
|
|
@@ -198,7 +195,7 @@ class TextContainer extends core_1.Container {
|
|
|
198
195
|
if (textProvider) {
|
|
199
196
|
textProps = { ...textProps, ...textProvider.textProps };
|
|
200
197
|
}
|
|
201
|
-
return new
|
|
198
|
+
return new Text({
|
|
202
199
|
text,
|
|
203
200
|
...textProps,
|
|
204
201
|
});
|
|
@@ -215,7 +212,6 @@ class TextContainer extends core_1.Container {
|
|
|
215
212
|
});
|
|
216
213
|
}
|
|
217
214
|
}
|
|
218
|
-
exports.TextContainer = TextContainer;
|
|
219
215
|
/**
|
|
220
216
|
* Intended to contain a single TextContainer. Provides the styling that is used to
|
|
221
217
|
* create Text views.
|
|
@@ -223,8 +219,8 @@ exports.TextContainer = TextContainer;
|
|
|
223
219
|
* @example
|
|
224
220
|
* <Text align='left' bold>text</Text>
|
|
225
221
|
*/
|
|
226
|
-
class TextProvider extends
|
|
227
|
-
#style =
|
|
222
|
+
export class TextProvider extends Container {
|
|
223
|
+
#style = Style.NONE;
|
|
228
224
|
#font;
|
|
229
225
|
#alignment;
|
|
230
226
|
#wrap;
|
|
@@ -243,7 +239,7 @@ class TextProvider extends core_1.Container {
|
|
|
243
239
|
break;
|
|
244
240
|
}
|
|
245
241
|
}
|
|
246
|
-
return parentStyle ??
|
|
242
|
+
return parentStyle ?? Style.NONE;
|
|
247
243
|
}
|
|
248
244
|
get textProps() {
|
|
249
245
|
let parentProvider;
|
|
@@ -278,23 +274,33 @@ class TextProvider extends core_1.Container {
|
|
|
278
274
|
}
|
|
279
275
|
#update(props) {
|
|
280
276
|
const { style, alignment, wrap, font, ...styleProps } = props;
|
|
281
|
-
this.#style = new
|
|
277
|
+
this.#style = new Style(styleProps).merge(style);
|
|
282
278
|
this.#font = font;
|
|
283
279
|
this.#alignment = alignment ?? 'left';
|
|
284
280
|
this.#wrap = wrap ?? false;
|
|
285
281
|
}
|
|
286
282
|
}
|
|
287
|
-
exports.TextProvider = TextProvider;
|
|
288
283
|
/**
|
|
289
284
|
* Provides inline styles - doesn't support wrap or alignment.
|
|
290
285
|
*
|
|
291
286
|
* Also doesn't support 'font' because that's not encoded as an SGR code - but
|
|
292
287
|
* ideally it would be supported.
|
|
293
288
|
*/
|
|
294
|
-
class TextStyle extends TextProvider {
|
|
289
|
+
export class TextStyle extends TextProvider {
|
|
295
290
|
constructor(props) {
|
|
296
291
|
super(props);
|
|
297
292
|
}
|
|
293
|
+
update(props) {
|
|
294
|
+
super.update(props);
|
|
295
|
+
this.#invalidateTextContainer();
|
|
296
|
+
}
|
|
297
|
+
#invalidateTextContainer() {
|
|
298
|
+
for (let ancestorView = this.parent; Boolean(ancestorView); ancestorView = ancestorView && ancestorView.parent) {
|
|
299
|
+
if (ancestorView instanceof TextContainer) {
|
|
300
|
+
ancestorView.invalidateText();
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
298
305
|
}
|
|
299
|
-
exports.TextStyle = TextStyle;
|
|
300
306
|
//# sourceMappingURL=TextReact.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextReact.js","sourceRoot":"","sources":["../../lib/components/TextReact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextReact.js","sourceRoot":"","sources":["../../lib/components/TextReact.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,MAAM,EAEN,IAAI,EAEJ,IAAI,EACJ,KAAK,EACL,IAAI,EAEJ,IAAI,GAEL,MAAM,aAAa,CAAA;AA8CpB,wFAAwF;AAExF,MAAM,QAAQ,GAAG;IACf,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;CACP,CAAA;AAEV;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI;IACnC,KAAK,CAAQ;IAEb,YAAY,IAAY;QACtB,KAAK,CAAC,EAAE,CAAC,CAAA;QACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,EAAC,IAAI,EAAE,GAAG,KAAK,EAA8B;QAClD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnB,IAAI,CAAC,OAAO,CAAC,EAAC,IAAI,EAAC,CAAC,CAAA;IACtB,CAAC;IAED,OAAO,CAAC,EAAC,IAAI,EAAkB;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;IACzB,CAAC;IAED,UAAU;QACR,IAAI,KAAwB,CAAA;QAC5B,KACE,IAAI,YAAY,GAA0B,IAAI,CAAC,MAAM,EACrD,OAAO,CAAC,YAAY,CAAC,EACrB,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,EAClD,CAAC;YACD,IAAI,YAAY,YAAY,SAAS,EAAE,CAAC;gBACtC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAA;gBAC1B,MAAK;YACP,CAAC;YAED,IAAI,YAAY,YAAY,aAAa,EAAE,CAAC;gBAC1C,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAA;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAA;IACvB,CAAC;IAED,wBAAwB;QACtB,IAAI,aAAwC,CAAA;QAC5C,KACE,IAAI,YAAY,GAA0B,IAAI,CAAC,MAAM,EACrD,OAAO,CAAC,YAAY,CAAC,EACrB,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,EAClD,CAAC;YACD,IAAI,YAAY,YAAY,aAAa,EAAE,CAAC;gBAC1C,aAAa,GAAG,YAAY,CAAA;gBAC5B,MAAK;YACP,CAAC;QACH,CAAC;QAED,aAAa,EAAE,cAAc,EAAE,CAAA;IACjC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,KAAI,CAAC;CACZ;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,MAAM,GAAW,EAAE,CAAA;IAEnB;QACE,KAAK,CAAC,EAAE,CAAC,CAAA;IACX,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,GAAG,CAAC,KAAW,EAAE,EAAW;QAC1B,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/D,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QAEtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAAW;QACrB,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/D,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAE5B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED,cAAc;QACZ,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;YAE9C,IAAI,SAAS,YAAY,IAAI,EAAE,CAAC;gBAC9B,UAAU,IAAI,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,gBAAgB,EAAE,CAAA;oBACvB,OAAM;gBACR,CAAC;gBAED,SAAS,CAAC,IAAI,GAAG,SAAS,CAAA;gBAC1B,UAAU,IAAI,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,+EAA+E;QAC/E,8EAA8E;QAC9E,iCAAiC;QACjC,KAAK,CAAC,iBAAiB,EAAE,CAAA;QAEzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5C,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;gBAC5C,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,QAAQ,GAAsB,EAAE,CAAA;QACtC,IAAI,UAA8B,CAAA;QAClC,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;YAC7C,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;gBAChC,UAAU,KAAK,EAAE,CAAA;gBACjB,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBACzB,UAAU,GAAG,SAAS,CAAA;gBACxB,CAAC;gBAED,IAAI,IAAI,EAAE,CAAC;oBACT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,WAAW,CAAC,SAAe;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;QACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAClD,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAA;YAC/B,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,QAAkB;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAA;QACpD,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,SAAQ;YACV,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;YAC5D,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAA;YAC5C,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAA;YAEpC,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;YACjD,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7D,CAAC,IAAI,SAAS,CAAC,MAAM,CAAA;QACvB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,IAAI,YAAsC,CAAA;QAC1C,KACE,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAC9B,OAAO,CAAC,YAAY,CAAC,EACrB,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,EAClD,CAAC;YACD,IAAI,YAAY,YAAY,YAAY,EAAE,CAAC;gBACzC,YAAY,GAAG,YAAY,CAAA;gBAC3B,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAc,QAAQ,CAAA;QACnC,IAAI,YAAY,EAAE,CAAC;YACjB,SAAS,GAAG,EAAC,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,SAAS,EAAC,CAAA;QACvD,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;YACd,IAAI;YACJ,GAAG,SAAS;SACb,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClC,CAAC;YAED,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrC,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAeD;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,MAAM,GAAU,KAAK,CAAC,IAAI,CAAA;IAC1B,KAAK,CAA2B;IAChC,UAAU,CAAgC;IAC1C,KAAK,CAA2B;IAMhC,YAAY,QAAuB,EAAE;QACnC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,WAAW;QACb,IAAI,WAA8B,CAAA;QAClC,KACE,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAC9B,OAAO,CAAC,YAAY,CAAC,EACrB,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,EAClD,CAAC;YACD,IAAI,YAAY,YAAY,YAAY,EAAE,CAAC;gBACzC,WAAW,GAAG,YAAY,CAAC,KAAK,CAAA;gBAChC,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO,WAAW,IAAI,KAAK,CAAC,IAAI,CAAA;IAClC,CAAC;IAED,IAAI,SAAS;QACX,IAAI,cAAwC,CAAA;QAC5C,KACE,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,EAC9B,OAAO,CAAC,YAAY,CAAC,EACrB,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,EAClD,CAAC;YACD,IAAI,YAAY,YAAY,YAAY,EAAE,CAAC;gBACzC,cAAc,GAAG,YAAY,CAAA;gBAC7B,MAAK;YACP,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAc,EAAE,CAAA;QAC1B,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,GAAG,EAAC,GAAG,cAAc,CAAC,SAAS,EAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;QAE1B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QAC1B,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAoB;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACnB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,KAAoB;QAC1B,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK,CAAA;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,MAAM,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,CAAA;IAC5B,CAAC;CACF;AAID;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,YAAY;IACzC,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;IAED,MAAM,CAAC,KAAsB;QAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnB,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACjC,CAAC;IAED,wBAAwB;QACtB,KACE,IAAI,YAAY,GAA0B,IAAI,CAAC,MAAM,EACrD,OAAO,CAAC,YAAY,CAAC,EACrB,YAAY,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,EAClD,CAAC;YACD,IAAI,YAAY,YAAY,aAAa,EAAE,CAAC;gBAC1C,YAAY,CAAC,cAAc,EAAE,CAAA;gBAC7B,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/.dist/components.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Accordion as WrAccordion, Box as WrBox, Button as WrButton, Checkbox as WrCheckbox, Collapsible as WrCollapsible, CollapsibleText as WrCollapsibleText, ConsoleLog as WrConsoleLog, Digits as WrDigits, Drawer as WrDrawer, Stack as WrStack, Input as WrInput, Scrollable as WrScrollable, Separator as WrSeparator, Slider as WrSlider, Space as WrSpace, Tabs as WrTabs, ToggleGroup as WrToggleGroup, ViewProps } from '@teaui/core';
|
|
3
|
-
import { TextProvider, TextStyle } from './components/TextReact';
|
|
2
|
+
import type { Accordion as WrAccordion, Box as WrBox, Button as WrButton, Checkbox as WrCheckbox, Collapsible as WrCollapsible, CollapsibleText as WrCollapsibleText, ConsoleLog as WrConsoleLog, Digits as WrDigits, Drawer as WrDrawer, HotKey as WrHotKey, Stack as WrStack, Input as WrInput, Progress as WrProgress, Scrollable as WrScrollable, Separator as WrSeparator, Slider as WrSlider, Space as WrSpace, Spinner as WrSpinner, Tabs as WrTabs, ToggleGroup as WrToggleGroup, ViewProps } from '@teaui/core';
|
|
3
|
+
import { TextProvider, TextStyle } from './components/TextReact.js';
|
|
4
|
+
export { FontStyle } from './components/FontStyle.js';
|
|
5
|
+
export type { FontStyleValue } from './components/FontStyle.js';
|
|
4
6
|
type Children = 'children' | 'child';
|
|
5
7
|
type TUIView<T extends abstract new (arg: any, ...args: any) => any, OmitProps extends keyof ConstructorParameters<T>[0] = Children> = Omit<NonNullable<ConstructorParameters<T>[0]>, OmitProps>;
|
|
6
8
|
type TUIContainer<T extends abstract new (arg: any, ...args: any) => any, ChildrenProps extends keyof NonNullable<ConstructorParameters<T>[0]> = Children> = TUIView<T, ChildrenProps> & {
|
|
@@ -10,13 +12,27 @@ type CheckboxProps = TUIView<typeof WrCheckbox>;
|
|
|
10
12
|
type CollapsibleTextProps = TUIView<typeof WrCollapsibleText>;
|
|
11
13
|
type ConsoleProps = TUIView<typeof WrConsoleLog>;
|
|
12
14
|
type DigitsProps = TUIView<typeof WrDigits>;
|
|
15
|
+
type DropdownProps = {
|
|
16
|
+
choices: [string, any][];
|
|
17
|
+
selected?: any;
|
|
18
|
+
onSelect?: (value: any) => void;
|
|
19
|
+
multiple?: boolean;
|
|
20
|
+
title?: string;
|
|
21
|
+
theme?: string;
|
|
22
|
+
height?: number | 'shrink';
|
|
23
|
+
width?: number | 'shrink';
|
|
24
|
+
flex?: number;
|
|
25
|
+
};
|
|
13
26
|
type HeaderProps = {
|
|
14
27
|
text?: string;
|
|
15
28
|
};
|
|
29
|
+
type HotKeyProps = TUIView<typeof WrHotKey>;
|
|
16
30
|
type InputProps = TUIView<typeof WrInput>;
|
|
31
|
+
type ProgressProps = TUIView<typeof WrProgress>;
|
|
17
32
|
type SeparatorProps = TUIView<typeof WrSeparator>;
|
|
18
33
|
type SliderProps = TUIView<typeof WrSlider>;
|
|
19
34
|
type SpaceProps = TUIView<typeof WrSpace>;
|
|
35
|
+
type SpinnerProps = TUIView<typeof WrSpinner>;
|
|
20
36
|
type ToggleGroupProps = TUIView<typeof WrToggleGroup>;
|
|
21
37
|
type BoxProps = TUIContainer<typeof WrBox>;
|
|
22
38
|
type ButtonProps = TUIContainer<typeof WrButton>;
|
|
@@ -38,6 +54,8 @@ declare module 'react' {
|
|
|
38
54
|
'tui-collapsible-text': CollapsibleTextProps;
|
|
39
55
|
'tui-console': ConsoleProps;
|
|
40
56
|
'tui-digits': DigitsProps;
|
|
57
|
+
'tui-dropdown': DropdownProps;
|
|
58
|
+
'tui-hotkey': HotKeyProps;
|
|
41
59
|
'tui-h1': HeaderProps;
|
|
42
60
|
'tui-h2': HeaderProps;
|
|
43
61
|
'tui-h3': HeaderProps;
|
|
@@ -45,9 +63,11 @@ declare module 'react' {
|
|
|
45
63
|
'tui-h5': HeaderProps;
|
|
46
64
|
'tui-h6': HeaderProps;
|
|
47
65
|
'tui-input': InputProps;
|
|
66
|
+
'tui-progress': ProgressProps;
|
|
48
67
|
'tui-separator': SeparatorProps;
|
|
49
68
|
'tui-slider': SliderProps;
|
|
50
69
|
'tui-space': SpaceProps;
|
|
70
|
+
'tui-spinner': SpinnerProps;
|
|
51
71
|
'tui-toggle-group': ToggleGroupProps;
|
|
52
72
|
'tui-tree': ViewProps;
|
|
53
73
|
'tui-box': BoxProps;
|
|
@@ -70,6 +90,8 @@ export declare function Checkbox(reactProps: CheckboxProps): JSX.Element;
|
|
|
70
90
|
export declare function CollapsibleText(reactProps: CollapsibleTextProps): JSX.Element;
|
|
71
91
|
export declare function ConsoleLog(reactProps: ConsoleProps): JSX.Element;
|
|
72
92
|
export declare function Digits(reactProps: DigitsProps): JSX.Element;
|
|
93
|
+
export declare function Dropdown(reactProps: DropdownProps): JSX.Element;
|
|
94
|
+
export declare function HotKey(reactProps: HotKeyProps): JSX.Element;
|
|
73
95
|
export declare function H1(reactProps: HeaderProps): JSX.Element;
|
|
74
96
|
export declare function H2(reactProps: HeaderProps): JSX.Element;
|
|
75
97
|
export declare function H3(reactProps: HeaderProps): JSX.Element;
|
|
@@ -77,6 +99,7 @@ export declare function H4(reactProps: HeaderProps): JSX.Element;
|
|
|
77
99
|
export declare function H5(reactProps: HeaderProps): JSX.Element;
|
|
78
100
|
export declare function H6(reactProps: HeaderProps): JSX.Element;
|
|
79
101
|
export declare function Input(reactProps: InputProps): JSX.Element;
|
|
102
|
+
export declare function Progress(reactProps: ProgressProps): JSX.Element;
|
|
80
103
|
interface Separator {
|
|
81
104
|
(reactProps: SeparatorProps): JSX.Element;
|
|
82
105
|
horizontal(reactProps: Omit<SeparatorProps, 'direction'>): JSX.Element;
|
|
@@ -90,6 +113,7 @@ interface Slider {
|
|
|
90
113
|
}
|
|
91
114
|
export declare const Slider: Slider;
|
|
92
115
|
export declare function Space(reactProps: SpaceProps): JSX.Element;
|
|
116
|
+
export declare function Spinner(reactProps: SpinnerProps): JSX.Element;
|
|
93
117
|
export declare function ToggleGroup(reactProps: ToggleGroupProps): JSX.Element;
|
|
94
118
|
interface TreeProps<T> extends ViewProps {
|
|
95
119
|
data: T[];
|
|
@@ -140,4 +164,3 @@ interface Tabs {
|
|
|
140
164
|
Section(reactProps: Omit<TabsSectionProps, 'direction'>): JSX.Element;
|
|
141
165
|
}
|
|
142
166
|
export declare const Tabs: Tabs;
|
|
143
|
-
export {};
|