@xaui/native 0.9.1-alpha.3 → 0.9.1-alpha.31
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/chunk-3FV4COTM.js +68 -0
- package/dist/chunk-423RQBOX.js +21 -0
- package/dist/chunk-42FMGB5M.js +661 -0
- package/dist/chunk-4GTAZM2C.js +174 -0
- package/dist/chunk-4XPLPQLM.cjs +147 -0
- package/dist/{chunk-3QBT3Q65.cjs → chunk-57SJ4LJF.cjs} +7 -2
- package/dist/chunk-5GO7MAVY.cjs +74 -0
- package/dist/chunk-5PTBRJM7.cjs +346 -0
- package/dist/chunk-5RQ7AZPN.cjs +455 -0
- package/dist/chunk-5Z4P6WHR.cjs +525 -0
- package/dist/chunk-7DPL3ZDS.cjs +21 -0
- package/dist/chunk-7EIHHOHP.cjs +42 -0
- package/dist/chunk-7SEZGVTY.js +62 -0
- package/dist/chunk-7XKQJQF2.cjs +70 -0
- package/dist/{chunk-X2K2FX3W.js → chunk-A3EGFI6T.js} +6 -1
- package/dist/chunk-A5OCK3C2.js +525 -0
- package/dist/chunk-AETWQQWU.cjs +92 -0
- package/dist/chunk-ANNUYP55.cjs +431 -0
- package/dist/chunk-BA2DBSAN.js +102 -0
- package/dist/chunk-BFMTUMTU.js +669 -0
- package/dist/chunk-BVJQ3UPZ.js +62 -0
- package/dist/chunk-DFME724B.js +147 -0
- package/dist/chunk-E2CWBQTV.js +119 -0
- package/dist/chunk-EGLLDKN6.js +9 -0
- package/dist/chunk-EJQCQPET.cjs +9 -0
- package/dist/chunk-F6CQ6CBI.cjs +112 -0
- package/dist/chunk-F6W3JQ7K.js +42 -0
- package/dist/chunk-FNEUOBCV.cjs +174 -0
- package/dist/chunk-G7K652GC.js +145 -0
- package/dist/chunk-GGW42MY4.js +20 -0
- package/dist/chunk-GLGU2WFL.cjs +190 -0
- package/dist/chunk-GPVNCJ3Z.cjs +696 -0
- package/dist/chunk-GVQOD3VW.js +74 -0
- package/dist/chunk-IHOCANCQ.js +293 -0
- package/dist/chunk-JDFV4W6N.cjs +700 -0
- package/dist/chunk-KOC3KQIT.js +124 -0
- package/dist/chunk-KPWZLUES.cjs +124 -0
- package/dist/chunk-L7JN6OBQ.cjs +314 -0
- package/dist/chunk-MC7SY2QH.cjs +20 -0
- package/dist/chunk-MDVSCWJI.js +314 -0
- package/dist/chunk-N527BTY4.cjs +366 -0
- package/dist/chunk-NYRXUGVL.js +104 -0
- package/dist/{chunk-AW63PTQ4.cjs → chunk-OHEHPQLC.cjs} +72 -72
- package/dist/chunk-Q3WFY5N3.js +366 -0
- package/dist/chunk-QGN2BBJO.cjs +104 -0
- package/dist/chunk-RDTKAAHX.js +346 -0
- package/dist/chunk-TGZZ3RZU.cjs +86 -0
- package/dist/{chunk-2KXQATVL.js → chunk-TZG3DERP.js} +46 -46
- package/dist/chunk-URSKA2VR.js +190 -0
- package/dist/chunk-V4WDMM6Z.js +86 -0
- package/dist/chunk-VJEER76X.js +455 -0
- package/dist/chunk-VZBWYWEI.cjs +736 -0
- package/dist/chunk-WR7YLDVV.cjs +68 -0
- package/dist/chunk-X4HQ4H2V.js +701 -0
- package/dist/chunk-XFSW3ZNI.cjs +145 -0
- package/dist/chunk-XQFAUDR2.cjs +62 -0
- package/dist/chunk-ZH5XVNHG.js +92 -0
- package/dist/chunk-ZH6BHLQR.js +431 -0
- package/dist/chunk-ZP2E2H2G.cjs +119 -0
- package/dist/chunk-ZVWXM3UK.cjs +293 -0
- package/dist/close-button.type-BUYuoSt2.d.ts +36 -0
- package/dist/close-button.type-CHsgZ3wO.d.cts +36 -0
- package/dist/components/alert/index.cjs +20 -0
- package/dist/components/alert/index.d.cts +169 -0
- package/dist/components/alert/index.d.ts +169 -0
- package/dist/components/alert/index.js +20 -0
- package/dist/components/button/index.cjs +21 -0
- package/dist/components/button/index.d.cts +613 -0
- package/dist/components/button/index.d.ts +613 -0
- package/dist/components/button/index.js +21 -0
- package/dist/components/card/index.cjs +22 -0
- package/dist/components/card/index.d.cts +620 -0
- package/dist/components/card/index.d.ts +620 -0
- package/dist/components/card/index.js +22 -0
- package/dist/components/checkbox/index.cjs +26 -0
- package/dist/components/checkbox/index.d.cts +1136 -0
- package/dist/components/checkbox/index.d.ts +1136 -0
- package/dist/components/checkbox/index.js +26 -0
- package/dist/components/chip/index.cjs +20 -0
- package/dist/components/chip/index.d.cts +608 -0
- package/dist/components/chip/index.d.ts +608 -0
- package/dist/components/chip/index.js +20 -0
- package/dist/components/divider/index.cjs +13 -0
- package/dist/components/divider/index.d.cts +117 -0
- package/dist/components/divider/index.d.ts +117 -0
- package/dist/components/divider/index.js +13 -0
- package/dist/components/input/index.cjs +25 -0
- package/dist/components/input/index.d.cts +205 -0
- package/dist/components/input/index.d.ts +205 -0
- package/dist/components/input/index.js +25 -0
- package/dist/components/input-group/index.cjs +27 -0
- package/dist/components/input-group/index.d.cts +270 -0
- package/dist/components/input-group/index.d.ts +270 -0
- package/dist/components/input-group/index.js +27 -0
- package/dist/components/input-otp/index.cjs +29 -0
- package/dist/components/input-otp/index.d.cts +325 -0
- package/dist/components/input-otp/index.d.ts +325 -0
- package/dist/components/input-otp/index.js +29 -0
- package/dist/components/radio/index.cjs +26 -0
- package/dist/components/radio/index.d.cts +1102 -0
- package/dist/components/radio/index.d.ts +1102 -0
- package/dist/components/radio/index.js +26 -0
- package/dist/components/spinner/index.cjs +16 -0
- package/dist/components/spinner/index.d.cts +104 -0
- package/dist/components/spinner/index.d.ts +104 -0
- package/dist/components/spinner/index.js +16 -0
- package/dist/components/switch/index.cjs +27 -0
- package/dist/components/switch/index.d.cts +1154 -0
- package/dist/components/switch/index.d.ts +1154 -0
- package/dist/components/switch/index.js +27 -0
- package/dist/components/text-area/index.cjs +14 -0
- package/dist/components/text-area/index.d.cts +73 -0
- package/dist/components/text-area/index.d.ts +73 -0
- package/dist/components/text-area/index.js +14 -0
- package/dist/components/typography/index.cjs +15 -0
- package/dist/components/typography/index.d.cts +116 -0
- package/dist/components/typography/index.d.ts +116 -0
- package/dist/components/typography/index.js +15 -0
- package/dist/components/view/index.cjs +17 -0
- package/dist/components/view/index.d.cts +152 -0
- package/dist/components/view/index.d.ts +152 -0
- package/dist/components/view/index.js +17 -0
- package/dist/create-recipe-BdVd2ffi.d.ts +114 -0
- package/dist/create-recipe-dC7wMfnj.d.cts +114 -0
- package/dist/icon.type-Kml72iSz.d.ts +73 -0
- package/dist/icon.type-d_i9ma-i.d.cts +73 -0
- package/dist/index.cjs +252 -4
- package/dist/index.d.cts +110 -4
- package/dist/index.d.ts +110 -4
- package/dist/index.js +271 -23
- package/dist/input.type-BUMDlzL9.d.cts +167 -0
- package/dist/input.type-D2qgi03E.d.ts +167 -0
- package/dist/pressable-feedback.type-BA2C9sSz.d.cts +127 -0
- package/dist/pressable-feedback.type-Bs4dQlGj.d.ts +127 -0
- package/dist/style-props.type-CfnoGEP7.d.cts +31 -0
- package/dist/style-props.type-CfnoGEP7.d.ts +31 -0
- package/dist/system/index.cjs +60 -3
- package/dist/system/index.d.cts +347 -181
- package/dist/system/index.d.ts +347 -181
- package/dist/system/index.js +71 -14
- package/dist/theme/index.cjs +4 -3
- package/dist/theme/index.d.cts +34 -23
- package/dist/theme/index.d.ts +34 -23
- package/dist/theme/index.js +3 -2
- package/dist/{theme.type-C9bFJKFm.d.cts → theme.type-C2gNHpEx.d.cts} +1 -1
- package/dist/{theme.type-C9bFJKFm.d.ts → theme.type-C2gNHpEx.d.ts} +1 -1
- package/package.json +184 -18
- package/dist/chunk-QAMNNTGM.js +0 -637
- package/dist/chunk-V63JO65F.cjs +0 -637
package/dist/system/index.js
CHANGED
|
@@ -1,39 +1,96 @@
|
|
|
1
1
|
import {
|
|
2
|
+
Portal,
|
|
3
|
+
PortalContext,
|
|
4
|
+
PortalHost
|
|
5
|
+
} from "../chunk-7SEZGVTY.js";
|
|
6
|
+
import {
|
|
7
|
+
SelectionFill
|
|
8
|
+
} from "../chunk-BA2DBSAN.js";
|
|
9
|
+
import {
|
|
10
|
+
CloseButton,
|
|
11
|
+
closeButtonBase
|
|
12
|
+
} from "../chunk-V4WDMM6Z.js";
|
|
13
|
+
import {
|
|
14
|
+
FEEDBACK_OVERLAY,
|
|
15
|
+
HIGHLIGHT_DURATION,
|
|
2
16
|
HIGHLIGHT_OPACITY,
|
|
3
17
|
PRESS_DURATION,
|
|
4
18
|
PRESS_SCALE,
|
|
5
19
|
PressableFeedback,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
20
|
+
RIPPLE_CONFIRM_DURATION,
|
|
21
|
+
RIPPLE_EXPAND_DURATION,
|
|
22
|
+
RIPPLE_FADE_IN,
|
|
23
|
+
RIPPLE_FADE_OUT,
|
|
24
|
+
RIPPLE_FADE_OUT_DELAY,
|
|
9
25
|
RIPPLE_OPACITY,
|
|
26
|
+
RIPPLE_START_SCALE,
|
|
27
|
+
SCALE_REFERENCE_WIDTH,
|
|
28
|
+
markOverlay,
|
|
29
|
+
pressScaleFor,
|
|
30
|
+
resolveAnimation,
|
|
31
|
+
resolveSlotAnimation,
|
|
32
|
+
rippleRadiusFor,
|
|
33
|
+
useFeedback
|
|
34
|
+
} from "../chunk-BFMTUMTU.js";
|
|
35
|
+
import "../chunk-423RQBOX.js";
|
|
36
|
+
import "../chunk-EGLLDKN6.js";
|
|
37
|
+
import {
|
|
38
|
+
Icon,
|
|
39
|
+
IconContext,
|
|
40
|
+
useIconContext
|
|
41
|
+
} from "../chunk-3FV4COTM.js";
|
|
42
|
+
import {
|
|
43
|
+
createRecipe,
|
|
44
|
+
radiusAxis
|
|
45
|
+
} from "../chunk-4GTAZM2C.js";
|
|
46
|
+
import "../chunk-A3EGFI6T.js";
|
|
47
|
+
import {
|
|
10
48
|
Slot,
|
|
11
49
|
childrenToString,
|
|
12
|
-
createRecipe,
|
|
13
50
|
createSlotContext,
|
|
14
|
-
mergeProps
|
|
51
|
+
mergeProps
|
|
52
|
+
} from "../chunk-E2CWBQTV.js";
|
|
53
|
+
import {
|
|
15
54
|
mergeRefs,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} from "../chunk-QAMNNTGM.js";
|
|
20
|
-
import "../chunk-X2K2FX3W.js";
|
|
55
|
+
useStyleProps
|
|
56
|
+
} from "../chunk-URSKA2VR.js";
|
|
57
|
+
import "../chunk-GGW42MY4.js";
|
|
21
58
|
export {
|
|
59
|
+
CloseButton,
|
|
60
|
+
FEEDBACK_OVERLAY,
|
|
61
|
+
HIGHLIGHT_DURATION,
|
|
22
62
|
HIGHLIGHT_OPACITY,
|
|
63
|
+
Icon,
|
|
64
|
+
IconContext,
|
|
23
65
|
PRESS_DURATION,
|
|
24
66
|
PRESS_SCALE,
|
|
67
|
+
Portal,
|
|
68
|
+
PortalContext,
|
|
69
|
+
PortalHost,
|
|
25
70
|
PressableFeedback,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
71
|
+
RIPPLE_CONFIRM_DURATION,
|
|
72
|
+
RIPPLE_EXPAND_DURATION,
|
|
73
|
+
RIPPLE_FADE_IN,
|
|
74
|
+
RIPPLE_FADE_OUT,
|
|
75
|
+
RIPPLE_FADE_OUT_DELAY,
|
|
29
76
|
RIPPLE_OPACITY,
|
|
77
|
+
RIPPLE_START_SCALE,
|
|
78
|
+
SCALE_REFERENCE_WIDTH,
|
|
79
|
+
SelectionFill,
|
|
30
80
|
Slot,
|
|
31
81
|
childrenToString,
|
|
82
|
+
closeButtonBase,
|
|
32
83
|
createRecipe,
|
|
33
84
|
createSlotContext,
|
|
85
|
+
markOverlay,
|
|
34
86
|
mergeProps,
|
|
35
87
|
mergeRefs,
|
|
88
|
+
pressScaleFor,
|
|
89
|
+
radiusAxis,
|
|
36
90
|
resolveAnimation,
|
|
37
91
|
resolveSlotAnimation,
|
|
38
|
-
|
|
92
|
+
rippleRadiusFor,
|
|
93
|
+
useFeedback,
|
|
94
|
+
useIconContext,
|
|
95
|
+
useStyleProps
|
|
39
96
|
};
|
package/dist/theme/index.cjs
CHANGED
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkOHEHPQLCcjs = require('../chunk-OHEHPQLC.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunk57SJ4LJFcjs = require('../chunk-57SJ4LJF.cjs');
|
|
20
|
+
require('../chunk-MC7SY2QH.cjs');
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
|
|
@@ -33,4 +34,4 @@ var _chunk3QBT3Q65cjs = require('../chunk-3QBT3Q65.cjs');
|
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
|
|
36
|
-
exports.ThemeContext =
|
|
37
|
+
exports.ThemeContext = _chunk57SJ4LJFcjs.ThemeContext; exports.XAUIProvider = _chunkOHEHPQLCcjs.XAUIProvider; exports.buildRadius = _chunkOHEHPQLCcjs.buildRadius; exports.buildShadows = _chunkOHEHPQLCcjs.buildShadows; exports.createTheme = _chunkOHEHPQLCcjs.createTheme; exports.defaultTheme = _chunkOHEHPQLCcjs.defaultTheme; exports.deriveColors = _chunkOHEHPQLCcjs.deriveColors; exports.deriveTint = _chunk57SJ4LJFcjs.deriveTint; exports.palette = _chunkOHEHPQLCcjs.palette; exports.primitives = _chunkOHEHPQLCcjs.primitives; exports.sourceKeys = _chunkOHEHPQLCcjs.sourceKeys; exports.tokens = _chunkOHEHPQLCcjs.tokens; exports.useColorMode = _chunk57SJ4LJFcjs.useColorMode; exports.useThemeColor = _chunk57SJ4LJFcjs.useThemeColor; exports.useXAUITheme = _chunk57SJ4LJFcjs.useXAUITheme;
|
package/dist/theme/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { i as XAUIThemeSet, h as XAUIThemeConfig,
|
|
4
|
-
export { F as FontSizeKey,
|
|
3
|
+
import { i as XAUIThemeSet, h as XAUIThemeConfig, g as XAUISourceColors, c as XAUIDerivedColors, X as XAUITheme, e as XAUIRadius, C as ColorMode, a as XAUIColors } from '../theme.type-C2gNHpEx.cjs';
|
|
4
|
+
export { F as FontSizeKey, b as FontWeightKey, R as RadiusKey, S as Size, d as XAUIPrimitiveColors, f as XAUIShadow } from '../theme.type-C2gNHpEx.cjs';
|
|
5
5
|
import 'react-native';
|
|
6
6
|
|
|
7
7
|
/** `'system'` follows the device; the resolved value is never `'system'`. */
|
|
@@ -44,6 +44,17 @@ declare const defaultTheme: XAUIThemeSet;
|
|
|
44
44
|
* These are HeroUI's `color-mix(in oklab, …)` formulas transposed to JS, because React
|
|
45
45
|
* Native has no `color-mix()`. Their `-hover` names became `-pressed`: what they feed is
|
|
46
46
|
* the press overlay, and the web name was a leftover.
|
|
47
|
+
*
|
|
48
|
+
* **One deliberate divergence: a pressed state always moves towards the mode's ink**
|
|
49
|
+
* (P2-API-REVIEW §E). Mixing towards the variant's own foreground — which is what their
|
|
50
|
+
* formula does — makes the direction follow the fill's lightness rather than a decision:
|
|
51
|
+
* `#9333ea` has near-white text and lightened under the finger in light mode, while
|
|
52
|
+
* `#c084fc` has dark text and darkened in dark mode. Same component, opposite gesture,
|
|
53
|
+
* nobody's choice. Towards `foreground` it is one direction — darker in light, lighter in
|
|
54
|
+
* dark — and the label's contrast rises in both instead of falling in one.
|
|
55
|
+
*
|
|
56
|
+
* The neutral fills already did this: `defaultForeground` and `surfaceForeground` *are*
|
|
57
|
+
* the ink, so only the four saturated intents ever flipped.
|
|
47
58
|
*/
|
|
48
59
|
declare function deriveColors(s: XAUISourceColors): XAUIDerivedColors;
|
|
49
60
|
|
|
@@ -389,7 +400,7 @@ declare const tokens: {
|
|
|
389
400
|
readonly foreground: "#18181b";
|
|
390
401
|
readonly surface: "#ffffff";
|
|
391
402
|
readonly surfaceForeground: "#18181b";
|
|
392
|
-
readonly surfaceSecondary: "#
|
|
403
|
+
readonly surfaceSecondary: "#ececee";
|
|
393
404
|
readonly surfaceSecondaryForeground: "#18181b";
|
|
394
405
|
readonly surfaceTertiary: "#e4e4e7";
|
|
395
406
|
readonly surfaceTertiaryForeground: "#18181b";
|
|
@@ -397,7 +408,7 @@ declare const tokens: {
|
|
|
397
408
|
readonly overlayForeground: "#18181b";
|
|
398
409
|
readonly backdrop: "rgba(0, 0, 0, 0.2)";
|
|
399
410
|
readonly muted: "#71717a";
|
|
400
|
-
readonly default: "#
|
|
411
|
+
readonly default: "#e4e4e7";
|
|
401
412
|
readonly defaultForeground: "#18181b";
|
|
402
413
|
readonly accent: "#9333ea";
|
|
403
414
|
readonly accentForeground: "#faf5ff";
|
|
@@ -407,7 +418,7 @@ declare const tokens: {
|
|
|
407
418
|
readonly fieldBorder: "#e4e4e7";
|
|
408
419
|
readonly success: "#15803d";
|
|
409
420
|
readonly successForeground: "#fafafa";
|
|
410
|
-
readonly warning: "#
|
|
421
|
+
readonly warning: "#c2410c";
|
|
411
422
|
readonly warningForeground: "#fafafa";
|
|
412
423
|
readonly danger: "#dc2626";
|
|
413
424
|
readonly dangerForeground: "#fafafa";
|
|
@@ -417,24 +428,24 @@ declare const tokens: {
|
|
|
417
428
|
readonly separator: "#d4d4d8";
|
|
418
429
|
readonly focus: "#9333ea";
|
|
419
430
|
readonly link: "#18181b";
|
|
420
|
-
readonly accentPressed: "#
|
|
421
|
-
readonly successPressed: "#
|
|
422
|
-
readonly warningPressed: "#
|
|
423
|
-
readonly dangerPressed: "#
|
|
424
|
-
readonly defaultPressed: "#
|
|
431
|
+
readonly accentPressed: "#8533d3";
|
|
432
|
+
readonly successPressed: "#1b753a";
|
|
433
|
+
readonly warningPressed: "#af3e15";
|
|
434
|
+
readonly dangerPressed: "#c72927";
|
|
435
|
+
readonly defaultPressed: "#dbdbde";
|
|
425
436
|
readonly surfacePressed: "#eaeaea";
|
|
426
|
-
readonly defaultSoft: "rgba(
|
|
437
|
+
readonly defaultSoft: "rgba(228, 228, 231, 0.5)";
|
|
427
438
|
readonly defaultSoftForeground: "#18181b";
|
|
428
|
-
readonly defaultSoftPressed: "rgba(
|
|
439
|
+
readonly defaultSoftPressed: "rgba(228, 228, 231, 0.6)";
|
|
429
440
|
readonly accentSoft: "rgba(147, 51, 234, 0.15)";
|
|
430
441
|
readonly accentSoftForeground: "#7833bc";
|
|
431
442
|
readonly accentSoftPressed: "rgba(147, 51, 234, 0.2)";
|
|
432
443
|
readonly successSoft: "rgba(21, 128, 61, 0.15)";
|
|
433
444
|
readonly successSoftForeground: "#205f34";
|
|
434
445
|
readonly successSoftPressed: "rgba(21, 128, 61, 0.2)";
|
|
435
|
-
readonly warningSoft: "rgba(
|
|
436
|
-
readonly warningSoftForeground: "#
|
|
437
|
-
readonly warningSoftPressed: "rgba(
|
|
446
|
+
readonly warningSoft: "rgba(194, 65, 12, 0.15)";
|
|
447
|
+
readonly warningSoftForeground: "#82361e";
|
|
448
|
+
readonly warningSoftPressed: "rgba(194, 65, 12, 0.2)";
|
|
438
449
|
readonly dangerSoft: "rgba(220, 38, 38, 0.15)";
|
|
439
450
|
readonly dangerSoftForeground: "#b22b28";
|
|
440
451
|
readonly dangerSoftPressed: "rgba(220, 38, 38, 0.2)";
|
|
@@ -477,7 +488,7 @@ declare const tokens: {
|
|
|
477
488
|
readonly fieldBorder: "#3f3f46";
|
|
478
489
|
readonly success: "#4ade80";
|
|
479
490
|
readonly successForeground: "#18181b";
|
|
480
|
-
readonly warning: "#
|
|
491
|
+
readonly warning: "#fb923c";
|
|
481
492
|
readonly warningForeground: "#18181b";
|
|
482
493
|
readonly danger: "#f87171";
|
|
483
494
|
readonly dangerForeground: "#18181b";
|
|
@@ -487,10 +498,10 @@ declare const tokens: {
|
|
|
487
498
|
readonly separator: "#52525b";
|
|
488
499
|
readonly focus: "#c084fc";
|
|
489
500
|
readonly link: "#fafafa";
|
|
490
|
-
readonly accentPressed: "#
|
|
491
|
-
readonly successPressed: "#
|
|
492
|
-
readonly warningPressed: "#
|
|
493
|
-
readonly dangerPressed: "#
|
|
501
|
+
readonly accentPressed: "#c691fd";
|
|
502
|
+
readonly successPressed: "#64e18d";
|
|
503
|
+
readonly warningPressed: "#fc9d55";
|
|
504
|
+
readonly dangerPressed: "#fa807e";
|
|
494
505
|
readonly defaultPressed: "#2e2e31";
|
|
495
506
|
readonly surfacePressed: "#27272a";
|
|
496
507
|
readonly defaultSoft: "rgba(39, 39, 42, 0.5)";
|
|
@@ -502,9 +513,9 @@ declare const tokens: {
|
|
|
502
513
|
readonly successSoft: "rgba(74, 222, 128, 0.15)";
|
|
503
514
|
readonly successSoftForeground: "#8de8a6";
|
|
504
515
|
readonly successSoftPressed: "rgba(74, 222, 128, 0.2)";
|
|
505
|
-
readonly warningSoft: "rgba(251,
|
|
506
|
-
readonly warningSoftForeground: "#
|
|
507
|
-
readonly warningSoftPressed: "rgba(251,
|
|
516
|
+
readonly warningSoft: "rgba(251, 146, 60, 0.15)";
|
|
517
|
+
readonly warningSoftForeground: "#feb887";
|
|
518
|
+
readonly warningSoftPressed: "rgba(251, 146, 60, 0.2)";
|
|
508
519
|
readonly dangerSoft: "rgba(248, 113, 113, 0.15)";
|
|
509
520
|
readonly dangerSoftForeground: "#fc8f8c";
|
|
510
521
|
readonly dangerSoftPressed: "rgba(248, 113, 113, 0.2)";
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { i as XAUIThemeSet, h as XAUIThemeConfig,
|
|
4
|
-
export { F as FontSizeKey,
|
|
3
|
+
import { i as XAUIThemeSet, h as XAUIThemeConfig, g as XAUISourceColors, c as XAUIDerivedColors, X as XAUITheme, e as XAUIRadius, C as ColorMode, a as XAUIColors } from '../theme.type-C2gNHpEx.js';
|
|
4
|
+
export { F as FontSizeKey, b as FontWeightKey, R as RadiusKey, S as Size, d as XAUIPrimitiveColors, f as XAUIShadow } from '../theme.type-C2gNHpEx.js';
|
|
5
5
|
import 'react-native';
|
|
6
6
|
|
|
7
7
|
/** `'system'` follows the device; the resolved value is never `'system'`. */
|
|
@@ -44,6 +44,17 @@ declare const defaultTheme: XAUIThemeSet;
|
|
|
44
44
|
* These are HeroUI's `color-mix(in oklab, …)` formulas transposed to JS, because React
|
|
45
45
|
* Native has no `color-mix()`. Their `-hover` names became `-pressed`: what they feed is
|
|
46
46
|
* the press overlay, and the web name was a leftover.
|
|
47
|
+
*
|
|
48
|
+
* **One deliberate divergence: a pressed state always moves towards the mode's ink**
|
|
49
|
+
* (P2-API-REVIEW §E). Mixing towards the variant's own foreground — which is what their
|
|
50
|
+
* formula does — makes the direction follow the fill's lightness rather than a decision:
|
|
51
|
+
* `#9333ea` has near-white text and lightened under the finger in light mode, while
|
|
52
|
+
* `#c084fc` has dark text and darkened in dark mode. Same component, opposite gesture,
|
|
53
|
+
* nobody's choice. Towards `foreground` it is one direction — darker in light, lighter in
|
|
54
|
+
* dark — and the label's contrast rises in both instead of falling in one.
|
|
55
|
+
*
|
|
56
|
+
* The neutral fills already did this: `defaultForeground` and `surfaceForeground` *are*
|
|
57
|
+
* the ink, so only the four saturated intents ever flipped.
|
|
47
58
|
*/
|
|
48
59
|
declare function deriveColors(s: XAUISourceColors): XAUIDerivedColors;
|
|
49
60
|
|
|
@@ -389,7 +400,7 @@ declare const tokens: {
|
|
|
389
400
|
readonly foreground: "#18181b";
|
|
390
401
|
readonly surface: "#ffffff";
|
|
391
402
|
readonly surfaceForeground: "#18181b";
|
|
392
|
-
readonly surfaceSecondary: "#
|
|
403
|
+
readonly surfaceSecondary: "#ececee";
|
|
393
404
|
readonly surfaceSecondaryForeground: "#18181b";
|
|
394
405
|
readonly surfaceTertiary: "#e4e4e7";
|
|
395
406
|
readonly surfaceTertiaryForeground: "#18181b";
|
|
@@ -397,7 +408,7 @@ declare const tokens: {
|
|
|
397
408
|
readonly overlayForeground: "#18181b";
|
|
398
409
|
readonly backdrop: "rgba(0, 0, 0, 0.2)";
|
|
399
410
|
readonly muted: "#71717a";
|
|
400
|
-
readonly default: "#
|
|
411
|
+
readonly default: "#e4e4e7";
|
|
401
412
|
readonly defaultForeground: "#18181b";
|
|
402
413
|
readonly accent: "#9333ea";
|
|
403
414
|
readonly accentForeground: "#faf5ff";
|
|
@@ -407,7 +418,7 @@ declare const tokens: {
|
|
|
407
418
|
readonly fieldBorder: "#e4e4e7";
|
|
408
419
|
readonly success: "#15803d";
|
|
409
420
|
readonly successForeground: "#fafafa";
|
|
410
|
-
readonly warning: "#
|
|
421
|
+
readonly warning: "#c2410c";
|
|
411
422
|
readonly warningForeground: "#fafafa";
|
|
412
423
|
readonly danger: "#dc2626";
|
|
413
424
|
readonly dangerForeground: "#fafafa";
|
|
@@ -417,24 +428,24 @@ declare const tokens: {
|
|
|
417
428
|
readonly separator: "#d4d4d8";
|
|
418
429
|
readonly focus: "#9333ea";
|
|
419
430
|
readonly link: "#18181b";
|
|
420
|
-
readonly accentPressed: "#
|
|
421
|
-
readonly successPressed: "#
|
|
422
|
-
readonly warningPressed: "#
|
|
423
|
-
readonly dangerPressed: "#
|
|
424
|
-
readonly defaultPressed: "#
|
|
431
|
+
readonly accentPressed: "#8533d3";
|
|
432
|
+
readonly successPressed: "#1b753a";
|
|
433
|
+
readonly warningPressed: "#af3e15";
|
|
434
|
+
readonly dangerPressed: "#c72927";
|
|
435
|
+
readonly defaultPressed: "#dbdbde";
|
|
425
436
|
readonly surfacePressed: "#eaeaea";
|
|
426
|
-
readonly defaultSoft: "rgba(
|
|
437
|
+
readonly defaultSoft: "rgba(228, 228, 231, 0.5)";
|
|
427
438
|
readonly defaultSoftForeground: "#18181b";
|
|
428
|
-
readonly defaultSoftPressed: "rgba(
|
|
439
|
+
readonly defaultSoftPressed: "rgba(228, 228, 231, 0.6)";
|
|
429
440
|
readonly accentSoft: "rgba(147, 51, 234, 0.15)";
|
|
430
441
|
readonly accentSoftForeground: "#7833bc";
|
|
431
442
|
readonly accentSoftPressed: "rgba(147, 51, 234, 0.2)";
|
|
432
443
|
readonly successSoft: "rgba(21, 128, 61, 0.15)";
|
|
433
444
|
readonly successSoftForeground: "#205f34";
|
|
434
445
|
readonly successSoftPressed: "rgba(21, 128, 61, 0.2)";
|
|
435
|
-
readonly warningSoft: "rgba(
|
|
436
|
-
readonly warningSoftForeground: "#
|
|
437
|
-
readonly warningSoftPressed: "rgba(
|
|
446
|
+
readonly warningSoft: "rgba(194, 65, 12, 0.15)";
|
|
447
|
+
readonly warningSoftForeground: "#82361e";
|
|
448
|
+
readonly warningSoftPressed: "rgba(194, 65, 12, 0.2)";
|
|
438
449
|
readonly dangerSoft: "rgba(220, 38, 38, 0.15)";
|
|
439
450
|
readonly dangerSoftForeground: "#b22b28";
|
|
440
451
|
readonly dangerSoftPressed: "rgba(220, 38, 38, 0.2)";
|
|
@@ -477,7 +488,7 @@ declare const tokens: {
|
|
|
477
488
|
readonly fieldBorder: "#3f3f46";
|
|
478
489
|
readonly success: "#4ade80";
|
|
479
490
|
readonly successForeground: "#18181b";
|
|
480
|
-
readonly warning: "#
|
|
491
|
+
readonly warning: "#fb923c";
|
|
481
492
|
readonly warningForeground: "#18181b";
|
|
482
493
|
readonly danger: "#f87171";
|
|
483
494
|
readonly dangerForeground: "#18181b";
|
|
@@ -487,10 +498,10 @@ declare const tokens: {
|
|
|
487
498
|
readonly separator: "#52525b";
|
|
488
499
|
readonly focus: "#c084fc";
|
|
489
500
|
readonly link: "#fafafa";
|
|
490
|
-
readonly accentPressed: "#
|
|
491
|
-
readonly successPressed: "#
|
|
492
|
-
readonly warningPressed: "#
|
|
493
|
-
readonly dangerPressed: "#
|
|
501
|
+
readonly accentPressed: "#c691fd";
|
|
502
|
+
readonly successPressed: "#64e18d";
|
|
503
|
+
readonly warningPressed: "#fc9d55";
|
|
504
|
+
readonly dangerPressed: "#fa807e";
|
|
494
505
|
readonly defaultPressed: "#2e2e31";
|
|
495
506
|
readonly surfacePressed: "#27272a";
|
|
496
507
|
readonly defaultSoft: "rgba(39, 39, 42, 0.5)";
|
|
@@ -502,9 +513,9 @@ declare const tokens: {
|
|
|
502
513
|
readonly successSoft: "rgba(74, 222, 128, 0.15)";
|
|
503
514
|
readonly successSoftForeground: "#8de8a6";
|
|
504
515
|
readonly successSoftPressed: "rgba(74, 222, 128, 0.2)";
|
|
505
|
-
readonly warningSoft: "rgba(251,
|
|
506
|
-
readonly warningSoftForeground: "#
|
|
507
|
-
readonly warningSoftPressed: "rgba(251,
|
|
516
|
+
readonly warningSoft: "rgba(251, 146, 60, 0.15)";
|
|
517
|
+
readonly warningSoftForeground: "#feb887";
|
|
518
|
+
readonly warningSoftPressed: "rgba(251, 146, 60, 0.2)";
|
|
508
519
|
readonly dangerSoft: "rgba(248, 113, 113, 0.15)";
|
|
509
520
|
readonly dangerSoftForeground: "#fc8f8c";
|
|
510
521
|
readonly dangerSoftPressed: "rgba(248, 113, 113, 0.2)";
|
package/dist/theme/index.js
CHANGED
|
@@ -9,14 +9,15 @@ import {
|
|
|
9
9
|
primitives,
|
|
10
10
|
sourceKeys,
|
|
11
11
|
tokens
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-TZG3DERP.js";
|
|
13
13
|
import {
|
|
14
14
|
ThemeContext,
|
|
15
15
|
deriveTint,
|
|
16
16
|
useColorMode,
|
|
17
17
|
useThemeColor,
|
|
18
18
|
useXAUITheme
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-A3EGFI6T.js";
|
|
20
|
+
import "../chunk-GGW42MY4.js";
|
|
20
21
|
export {
|
|
21
22
|
ThemeContext,
|
|
22
23
|
XAUIProvider,
|
|
@@ -156,4 +156,4 @@ type XAUIThemeSet = {
|
|
|
156
156
|
dark: XAUITheme;
|
|
157
157
|
};
|
|
158
158
|
|
|
159
|
-
export type { ColorMode as C, FontSizeKey as F, RadiusKey as R, Size as S,
|
|
159
|
+
export type { ColorMode as C, FontSizeKey as F, RadiusKey as R, Size as S, XAUITheme as X, XAUIColors as a, FontWeightKey as b, XAUIDerivedColors as c, XAUIPrimitiveColors as d, XAUIRadius as e, XAUIShadow as f, XAUISourceColors as g, XAUIThemeConfig as h, XAUIThemeSet as i };
|
|
@@ -156,4 +156,4 @@ type XAUIThemeSet = {
|
|
|
156
156
|
dark: XAUITheme;
|
|
157
157
|
};
|
|
158
158
|
|
|
159
|
-
export type { ColorMode as C, FontSizeKey as F, RadiusKey as R, Size as S,
|
|
159
|
+
export type { ColorMode as C, FontSizeKey as F, RadiusKey as R, Size as S, XAUITheme as X, XAUIColors as a, FontWeightKey as b, XAUIDerivedColors as c, XAUIPrimitiveColors as d, XAUIRadius as e, XAUIShadow as f, XAUISourceColors as g, XAUIThemeConfig as h, XAUIThemeSet as i };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xaui/native",
|
|
3
|
-
"version": "0.9.1-alpha.
|
|
3
|
+
"version": "0.9.1-alpha.31",
|
|
4
4
|
"description": "Composition-first React Native UI components with native animations powered by Reanimated",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -14,23 +14,188 @@
|
|
|
14
14
|
],
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"type": "module",
|
|
17
|
-
"main": "./dist/index.
|
|
17
|
+
"main": "./dist/index.cjs",
|
|
18
18
|
"types": "./dist/index.d.ts",
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/index.d.cts",
|
|
27
|
+
"default": "./dist/index.cjs"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"./alert": {
|
|
31
|
+
"import": {
|
|
32
|
+
"types": "./dist/components/alert/index.d.ts",
|
|
33
|
+
"default": "./dist/components/alert/index.js"
|
|
34
|
+
},
|
|
35
|
+
"require": {
|
|
36
|
+
"types": "./dist/components/alert/index.d.cts",
|
|
37
|
+
"default": "./dist/components/alert/index.cjs"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"./button": {
|
|
41
|
+
"import": {
|
|
42
|
+
"types": "./dist/components/button/index.d.ts",
|
|
43
|
+
"default": "./dist/components/button/index.js"
|
|
44
|
+
},
|
|
45
|
+
"require": {
|
|
46
|
+
"types": "./dist/components/button/index.d.cts",
|
|
47
|
+
"default": "./dist/components/button/index.cjs"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"./card": {
|
|
51
|
+
"import": {
|
|
52
|
+
"types": "./dist/components/card/index.d.ts",
|
|
53
|
+
"default": "./dist/components/card/index.js"
|
|
54
|
+
},
|
|
55
|
+
"require": {
|
|
56
|
+
"types": "./dist/components/card/index.d.cts",
|
|
57
|
+
"default": "./dist/components/card/index.cjs"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"./checkbox": {
|
|
61
|
+
"import": {
|
|
62
|
+
"types": "./dist/components/checkbox/index.d.ts",
|
|
63
|
+
"default": "./dist/components/checkbox/index.js"
|
|
64
|
+
},
|
|
65
|
+
"require": {
|
|
66
|
+
"types": "./dist/components/checkbox/index.d.cts",
|
|
67
|
+
"default": "./dist/components/checkbox/index.cjs"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"./chip": {
|
|
71
|
+
"import": {
|
|
72
|
+
"types": "./dist/components/chip/index.d.ts",
|
|
73
|
+
"default": "./dist/components/chip/index.js"
|
|
74
|
+
},
|
|
75
|
+
"require": {
|
|
76
|
+
"types": "./dist/components/chip/index.d.cts",
|
|
77
|
+
"default": "./dist/components/chip/index.cjs"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"./divider": {
|
|
81
|
+
"import": {
|
|
82
|
+
"types": "./dist/components/divider/index.d.ts",
|
|
83
|
+
"default": "./dist/components/divider/index.js"
|
|
84
|
+
},
|
|
85
|
+
"require": {
|
|
86
|
+
"types": "./dist/components/divider/index.d.cts",
|
|
87
|
+
"default": "./dist/components/divider/index.cjs"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"./input": {
|
|
91
|
+
"import": {
|
|
92
|
+
"types": "./dist/components/input/index.d.ts",
|
|
93
|
+
"default": "./dist/components/input/index.js"
|
|
94
|
+
},
|
|
95
|
+
"require": {
|
|
96
|
+
"types": "./dist/components/input/index.d.cts",
|
|
97
|
+
"default": "./dist/components/input/index.cjs"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"./input-group": {
|
|
101
|
+
"import": {
|
|
102
|
+
"types": "./dist/components/input-group/index.d.ts",
|
|
103
|
+
"default": "./dist/components/input-group/index.js"
|
|
104
|
+
},
|
|
105
|
+
"require": {
|
|
106
|
+
"types": "./dist/components/input-group/index.d.cts",
|
|
107
|
+
"default": "./dist/components/input-group/index.cjs"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"./input-otp": {
|
|
111
|
+
"import": {
|
|
112
|
+
"types": "./dist/components/input-otp/index.d.ts",
|
|
113
|
+
"default": "./dist/components/input-otp/index.js"
|
|
114
|
+
},
|
|
115
|
+
"require": {
|
|
116
|
+
"types": "./dist/components/input-otp/index.d.cts",
|
|
117
|
+
"default": "./dist/components/input-otp/index.cjs"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"./radio": {
|
|
121
|
+
"import": {
|
|
122
|
+
"types": "./dist/components/radio/index.d.ts",
|
|
123
|
+
"default": "./dist/components/radio/index.js"
|
|
124
|
+
},
|
|
125
|
+
"require": {
|
|
126
|
+
"types": "./dist/components/radio/index.d.cts",
|
|
127
|
+
"default": "./dist/components/radio/index.cjs"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"./spinner": {
|
|
131
|
+
"import": {
|
|
132
|
+
"types": "./dist/components/spinner/index.d.ts",
|
|
133
|
+
"default": "./dist/components/spinner/index.js"
|
|
134
|
+
},
|
|
135
|
+
"require": {
|
|
136
|
+
"types": "./dist/components/spinner/index.d.cts",
|
|
137
|
+
"default": "./dist/components/spinner/index.cjs"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"./switch": {
|
|
141
|
+
"import": {
|
|
142
|
+
"types": "./dist/components/switch/index.d.ts",
|
|
143
|
+
"default": "./dist/components/switch/index.js"
|
|
144
|
+
},
|
|
145
|
+
"require": {
|
|
146
|
+
"types": "./dist/components/switch/index.d.cts",
|
|
147
|
+
"default": "./dist/components/switch/index.cjs"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"./text-area": {
|
|
151
|
+
"import": {
|
|
152
|
+
"types": "./dist/components/text-area/index.d.ts",
|
|
153
|
+
"default": "./dist/components/text-area/index.js"
|
|
154
|
+
},
|
|
155
|
+
"require": {
|
|
156
|
+
"types": "./dist/components/text-area/index.d.cts",
|
|
157
|
+
"default": "./dist/components/text-area/index.cjs"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"./typography": {
|
|
161
|
+
"import": {
|
|
162
|
+
"types": "./dist/components/typography/index.d.ts",
|
|
163
|
+
"default": "./dist/components/typography/index.js"
|
|
164
|
+
},
|
|
165
|
+
"require": {
|
|
166
|
+
"types": "./dist/components/typography/index.d.cts",
|
|
167
|
+
"default": "./dist/components/typography/index.cjs"
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"./view": {
|
|
171
|
+
"import": {
|
|
172
|
+
"types": "./dist/components/view/index.d.ts",
|
|
173
|
+
"default": "./dist/components/view/index.js"
|
|
174
|
+
},
|
|
175
|
+
"require": {
|
|
176
|
+
"types": "./dist/components/view/index.d.cts",
|
|
177
|
+
"default": "./dist/components/view/index.cjs"
|
|
178
|
+
}
|
|
24
179
|
},
|
|
25
180
|
"./system": {
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
181
|
+
"import": {
|
|
182
|
+
"types": "./dist/system/index.d.ts",
|
|
183
|
+
"default": "./dist/system/index.js"
|
|
184
|
+
},
|
|
185
|
+
"require": {
|
|
186
|
+
"types": "./dist/system/index.d.cts",
|
|
187
|
+
"default": "./dist/system/index.cjs"
|
|
188
|
+
}
|
|
29
189
|
},
|
|
30
190
|
"./theme": {
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
191
|
+
"import": {
|
|
192
|
+
"types": "./dist/theme/index.d.ts",
|
|
193
|
+
"default": "./dist/theme/index.js"
|
|
194
|
+
},
|
|
195
|
+
"require": {
|
|
196
|
+
"types": "./dist/theme/index.d.cts",
|
|
197
|
+
"default": "./dist/theme/index.cjs"
|
|
198
|
+
}
|
|
34
199
|
}
|
|
35
200
|
},
|
|
36
201
|
"files": [
|
|
@@ -67,19 +232,20 @@
|
|
|
67
232
|
}
|
|
68
233
|
},
|
|
69
234
|
"devDependencies": {
|
|
70
|
-
"@types/react": "^19.
|
|
71
|
-
"react": "19.
|
|
72
|
-
"react-native": "0.83.
|
|
235
|
+
"@types/react": "^19.2.0",
|
|
236
|
+
"react": "19.2.0",
|
|
237
|
+
"react-native": "0.83.10",
|
|
73
238
|
"react-native-gesture-handler": "^2.28.0",
|
|
74
|
-
"react-native-reanimated": "
|
|
239
|
+
"react-native-reanimated": "4.2.1",
|
|
75
240
|
"react-native-safe-area-context": "^5.6.0",
|
|
76
|
-
"react-native-svg": "
|
|
77
|
-
"react-native-worklets": "
|
|
241
|
+
"react-native-svg": "15.15.3",
|
|
242
|
+
"react-native-worklets": "0.7.4",
|
|
78
243
|
"tsup": "^8.5.1",
|
|
79
244
|
"typescript": "^5.9.3"
|
|
80
245
|
},
|
|
246
|
+
"module": "./dist/index.js",
|
|
81
247
|
"scripts": {
|
|
82
|
-
"build": "rm -rf dist && tsup --config tsup.config.ts",
|
|
248
|
+
"build": "rm -rf dist && tsup --config tsup.config.ts && node ../../tooling/workletize/workletize.mjs dist",
|
|
83
249
|
"dev": "tsup --config tsup.config.ts --watch",
|
|
84
250
|
"test": "vitest",
|
|
85
251
|
"lint": "eslint src/",
|