@oxyhq/bloom 0.1.6 → 0.1.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/lib/commonjs/avatar/Avatar.js +12 -3
- package/lib/commonjs/avatar/Avatar.js.map +1 -1
- package/lib/commonjs/button/Button.js +53 -19
- package/lib/commonjs/button/Button.js.map +1 -1
- package/lib/commonjs/collapsible/Collapsible.js +42 -3
- package/lib/commonjs/collapsible/Collapsible.js.map +1 -1
- package/lib/commonjs/image-resolver/context.js +20 -0
- package/lib/commonjs/image-resolver/context.js.map +1 -0
- package/lib/commonjs/image-resolver/index.js +19 -0
- package/lib/commonjs/image-resolver/index.js.map +1 -0
- package/lib/commonjs/loading/Loading.js +2 -1
- package/lib/commonjs/loading/Loading.js.map +1 -1
- package/lib/commonjs/skeleton/index.js +31 -8
- package/lib/commonjs/skeleton/index.js.map +1 -1
- package/lib/commonjs/styles/tokens.js +31 -1
- package/lib/commonjs/styles/tokens.js.map +1 -1
- package/lib/commonjs/switch/Switch.js +10 -7
- package/lib/commonjs/switch/Switch.js.map +1 -1
- package/lib/module/avatar/Avatar.js +12 -3
- package/lib/module/avatar/Avatar.js.map +1 -1
- package/lib/module/button/Button.js +55 -21
- package/lib/module/button/Button.js.map +1 -1
- package/lib/module/collapsible/Collapsible.js +44 -5
- package/lib/module/collapsible/Collapsible.js.map +1 -1
- package/lib/module/image-resolver/context.js +16 -0
- package/lib/module/image-resolver/context.js.map +1 -0
- package/lib/module/image-resolver/index.js +4 -0
- package/lib/module/image-resolver/index.js.map +1 -0
- package/lib/module/loading/Loading.js +2 -1
- package/lib/module/loading/Loading.js.map +1 -1
- package/lib/module/skeleton/index.js +31 -8
- package/lib/module/skeleton/index.js.map +1 -1
- package/lib/module/styles/tokens.js +30 -0
- package/lib/module/styles/tokens.js.map +1 -1
- package/lib/module/switch/Switch.js +10 -7
- package/lib/module/switch/Switch.js.map +1 -1
- package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
- package/lib/typescript/commonjs/collapsible/Collapsible.d.ts.map +1 -1
- package/lib/typescript/commonjs/image-resolver/context.d.ts +8 -0
- package/lib/typescript/commonjs/image-resolver/context.d.ts.map +1 -0
- package/lib/typescript/commonjs/image-resolver/index.d.ts +2 -0
- package/lib/typescript/commonjs/image-resolver/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -1
- package/lib/typescript/commonjs/skeleton/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/styles/tokens.d.ts +29 -0
- package/lib/typescript/commonjs/styles/tokens.d.ts.map +1 -1
- package/lib/typescript/commonjs/switch/Switch.d.ts.map +1 -1
- package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/module/button/Button.d.ts.map +1 -1
- package/lib/typescript/module/collapsible/Collapsible.d.ts.map +1 -1
- package/lib/typescript/module/image-resolver/context.d.ts +8 -0
- package/lib/typescript/module/image-resolver/context.d.ts.map +1 -0
- package/lib/typescript/module/image-resolver/index.d.ts +2 -0
- package/lib/typescript/module/image-resolver/index.d.ts.map +1 -0
- package/lib/typescript/module/loading/Loading.d.ts.map +1 -1
- package/lib/typescript/module/skeleton/index.d.ts.map +1 -1
- package/lib/typescript/module/styles/tokens.d.ts +29 -0
- package/lib/typescript/module/styles/tokens.d.ts.map +1 -1
- package/lib/typescript/module/switch/Switch.d.ts.map +1 -1
- package/package.json +12 -1
- package/src/avatar/Avatar.tsx +13 -3
- package/src/button/Button.tsx +53 -20
- package/src/collapsible/Collapsible.tsx +40 -6
- package/src/image-resolver/context.ts +16 -0
- package/src/image-resolver/index.ts +1 -0
- package/src/loading/Loading.tsx +2 -1
- package/src/skeleton/index.tsx +42 -12
- package/src/styles/tokens.ts +21 -0
- package/src/switch/Switch.tsx +5 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","StyleSheet","useTheme","jsx","_jsx","Text","blend","style","colors","flattened","flatten","width","lineHeight","styles","textOuter","maxWidth","paddingVertical","children","textInner","backgroundColor","contrast50","height","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","Animated","View","StyleSheet","useTheme","jsx","_jsx","SHIMMER_DURATION","SHIMMER_MIN_OPACITY","SHIMMER_MAX_OPACITY","useShimmer","opacity","Value","current","loop","sequence","timing","toValue","duration","useNativeDriver","start","stop","Text","blend","style","colors","shimmer","flattened","flatten","width","lineHeight","styles","textOuter","maxWidth","paddingVertical","children","textInner","backgroundColor","contrast50","height","multiply","Circle","size","circle","Pill","pill","Col","col","Row","row","create","flex","borderRadius","justifyContent","alignItems","flexDirection"],"sourceRoot":"../../../src","sources":["skeleton/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,6 +57,36 @@ export const borderRadius = {
|
|
|
57
57
|
full: 999
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Gradient definitions for icon system.
|
|
62
|
+
*/
|
|
63
|
+
/**
|
|
64
|
+
* Animation timing and spring tokens.
|
|
65
|
+
* Centralized values ensure consistent motion across all components.
|
|
66
|
+
*/
|
|
67
|
+
export const animation = {
|
|
68
|
+
duration: {
|
|
69
|
+
instant: 100,
|
|
70
|
+
fast: 150,
|
|
71
|
+
normal: 200,
|
|
72
|
+
slow: 300
|
|
73
|
+
},
|
|
74
|
+
spring: {
|
|
75
|
+
snappy: {
|
|
76
|
+
friction: 8,
|
|
77
|
+
tension: 100
|
|
78
|
+
},
|
|
79
|
+
gentle: {
|
|
80
|
+
friction: 8,
|
|
81
|
+
tension: 60
|
|
82
|
+
},
|
|
83
|
+
bouncy: {
|
|
84
|
+
friction: 6,
|
|
85
|
+
tension: 120
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
60
90
|
/**
|
|
61
91
|
* Gradient definitions for icon system.
|
|
62
92
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["space","_2xs","xs","sm","md","lg","xl","_2xl","_3xl","_4xl","_5xl","fontSize","lineHeight","tight","snug","normal","relaxed","borderRadius","full","gradients","primary","values","hover_value","sky"],"sourceRoot":"../../../src","sources":["styles/tokens.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMA,KAAK,GAAG;EACnBC,IAAI,EAAE,CAAC;EACPC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMC,QAAQ,GAAG;EACtBV,IAAI,EAAE,EAAE;EACRC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAME,UAAU,GAAG;EACxBC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,GAAG;EACTC,MAAM,EAAE,GAAG;EACXC,OAAO,EAAE;AACX,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAG;EAC1BhB,IAAI,EAAE,CAAC;EACPC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE,EAAE;EACRW,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG;EACvBC,OAAO,EAAE;IACPC,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,CAAC,EAAE,SAAS,CAAC,CACY;IAC5BC,WAAW,EAAE;EACf,CAAC;EACDC,GAAG,EAAE;IACHF,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,CAAC,EAAE,SAAS,CAAC,CACY;IAC5BC,WAAW,EAAE;EACf;AACF,CAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["space","_2xs","xs","sm","md","lg","xl","_2xl","_3xl","_4xl","_5xl","fontSize","lineHeight","tight","snug","normal","relaxed","borderRadius","full","animation","duration","instant","fast","slow","spring","snappy","friction","tension","gentle","bouncy","gradients","primary","values","hover_value","sky"],"sourceRoot":"../../../src","sources":["styles/tokens.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMA,KAAK,GAAG;EACnBC,IAAI,EAAE,CAAC;EACPC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMC,QAAQ,GAAG;EACtBV,IAAI,EAAE,EAAE;EACRC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAME,UAAU,GAAG;EACxBC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,GAAG;EACTC,MAAM,EAAE,GAAG;EACXC,OAAO,EAAE;AACX,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAG;EAC1BhB,IAAI,EAAE,CAAC;EACPC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE,EAAE;EACRW,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAG;EACvBC,QAAQ,EAAE;IACRC,OAAO,EAAE,GAAG;IACZC,IAAI,EAAE,GAAG;IACTP,MAAM,EAAE,GAAG;IACXQ,IAAI,EAAE;EACR,CAAC;EACDC,MAAM,EAAE;IACNC,MAAM,EAAE;MAAEC,QAAQ,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAI,CAAC;IACrCC,MAAM,EAAE;MAAEF,QAAQ,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAG,CAAC;IACpCE,MAAM,EAAE;MAAEH,QAAQ,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAI;EACtC;AACF,CAAU;;AAEV;AACA;AACA;AACA,OAAO,MAAMG,SAAS,GAAG;EACvBC,OAAO,EAAE;IACPC,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,GAAG,EAAE,SAAS,CAAC,EAChB,CAAC,CAAC,EAAE,SAAS,CAAC,CACY;IAC5BC,WAAW,EAAE;EACf,CAAC;EACDC,GAAG,EAAE;IACHF,MAAM,EAAE,CACN,CAAC,CAAC,EAAE,SAAS,CAAC,EACd,CAAC,CAAC,EAAE,SAAS,CAAC,CACY;IAC5BC,WAAW,EAAE;EACf;AACF,CAAU","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React, { memo, useEffect, useRef } from 'react';
|
|
4
4
|
import { Pressable, Animated } from 'react-native';
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
|
+
import { animation } from "../styles/tokens.js";
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
const TRACK = {
|
|
8
9
|
default: {
|
|
@@ -36,8 +37,7 @@ const SwitchComponent = /*#__PURE__*/React.forwardRef(({
|
|
|
36
37
|
Animated.spring(anim, {
|
|
37
38
|
toValue: value ? 1 : 0,
|
|
38
39
|
useNativeDriver: false,
|
|
39
|
-
|
|
40
|
-
tension: 60
|
|
40
|
+
...animation.spring.gentle
|
|
41
41
|
}).start();
|
|
42
42
|
}, [value, anim]);
|
|
43
43
|
const onPressIn = () => {
|
|
@@ -45,16 +45,14 @@ const SwitchComponent = /*#__PURE__*/React.forwardRef(({
|
|
|
45
45
|
Animated.spring(pressAnim, {
|
|
46
46
|
toValue: 1,
|
|
47
47
|
useNativeDriver: false,
|
|
48
|
-
|
|
49
|
-
tension: 100
|
|
48
|
+
...animation.spring.snappy
|
|
50
49
|
}).start();
|
|
51
50
|
};
|
|
52
51
|
const onPressOut = () => {
|
|
53
52
|
Animated.spring(pressAnim, {
|
|
54
53
|
toValue: 0,
|
|
55
54
|
useNativeDriver: false,
|
|
56
|
-
|
|
57
|
-
tension: 60
|
|
55
|
+
...animation.spring.gentle
|
|
58
56
|
}).start();
|
|
59
57
|
};
|
|
60
58
|
const track = TRACK[size];
|
|
@@ -91,7 +89,12 @@ const SwitchComponent = /*#__PURE__*/React.forwardRef(({
|
|
|
91
89
|
style: [{
|
|
92
90
|
opacity: disabled ? 0.4 : 1
|
|
93
91
|
}, style],
|
|
94
|
-
hitSlop:
|
|
92
|
+
hitSlop: {
|
|
93
|
+
top: 8,
|
|
94
|
+
bottom: 8,
|
|
95
|
+
left: 8,
|
|
96
|
+
right: 8
|
|
97
|
+
},
|
|
95
98
|
testID: testID,
|
|
96
99
|
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
97
100
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useEffect","useRef","Pressable","Animated","useTheme","jsx","_jsx","TRACK","default","w","h","sm","THUMB","PADDING","SQUEEZE_RATIO","SwitchComponent","forwardRef","value","onValueChange","disabled","style","size","testID","ref","theme","anim","Value","current","pressAnim","spring","toValue","useNativeDriver","
|
|
1
|
+
{"version":3,"names":["React","memo","useEffect","useRef","Pressable","Animated","useTheme","animation","jsx","_jsx","TRACK","default","w","h","sm","THUMB","PADDING","SQUEEZE_RATIO","SwitchComponent","forwardRef","value","onValueChange","disabled","style","size","testID","ref","theme","anim","Value","current","pressAnim","spring","toValue","useNativeDriver","gentle","start","onPressIn","snappy","onPressOut","track","thumb","travel","trackBg","interpolate","inputRange","outputRange","colors","border","primary","thumbX","squeezedHeight","thumbHeight","thumbRadius","role","accessibilityState","checked","onPress","opacity","hitSlop","top","bottom","left","right","children","View","width","height","borderRadius","backgroundColor","justifyContent","alignItems","transform","translateX","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","displayName","Switch"],"sourceRoot":"../../../src","sources":["switch/Switch.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,cAAc;AAElD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,SAAS,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7C,MAAMC,KAAK,GAAG;EAAEC,OAAO,EAAE;IAAEC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE;EAAG,CAAC;EAAEC,EAAE,EAAE;IAAEF,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE;EAAG;AAAE,CAAU;AAC1E,MAAME,KAAK,GAAG;EAAEJ,OAAO,EAAE,EAAE;EAAEG,EAAE,EAAE;AAAG,CAAU;AAC9C,MAAME,OAAO,GAAG,CAAC;AACjB,MAAMC,aAAa,GAAG,IAAI,CAAC,CAAC;;AAE5B,MAAMC,eAAe,gBAAGlB,KAAK,CAACmB,UAAU,CACtC,CAAC;EAAEC,KAAK;EAAEC,aAAa;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,IAAI,GAAG,SAAS;EAAEC;AAAO,CAAC,EAAEC,GAAG,KAAK;EAC5E,MAAMC,KAAK,GAAGrB,QAAQ,CAAC,CAAC;EACxB,MAAMsB,IAAI,GAAGzB,MAAM,CAAC,IAAIE,QAAQ,CAACwB,KAAK,CAACT,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAACU,OAAO;EAC9D,MAAMC,SAAS,GAAG5B,MAAM,CAAC,IAAIE,QAAQ,CAACwB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAEvD5B,SAAS,CAAC,MAAM;IACdG,QAAQ,CAAC2B,MAAM,CAACJ,IAAI,EAAE;MACpBK,OAAO,EAAEb,KAAK,GAAG,CAAC,GAAG,CAAC;MACtBc,eAAe,EAAE,KAAK;MACtB,GAAG3B,SAAS,CAACyB,MAAM,CAACG;IACtB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAAChB,KAAK,EAAEQ,IAAI,CAAC,CAAC;EAEjB,MAAMS,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAIf,QAAQ,EAAE;IACdjB,QAAQ,CAAC2B,MAAM,CAACD,SAAS,EAAE;MACzBE,OAAO,EAAE,CAAC;MACVC,eAAe,EAAE,KAAK;MACtB,GAAG3B,SAAS,CAACyB,MAAM,CAACM;IACtB,CAAC,CAAC,CAACF,KAAK,CAAC,CAAC;EACZ,CAAC;EAED,MAAMG,UAAU,GAAGA,CAAA,KAAM;IACvBlC,QAAQ,CAAC2B,MAAM,CAACD,SAAS,EAAE;MACzBE,OAAO,EAAE,CAAC;MACVC,eAAe,EAAE,KAAK;MACtB,GAAG3B,SAAS,CAACyB,MAAM,CAACG;IACtB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC;EAED,MAAMI,KAAK,GAAG9B,KAAK,CAACc,IAAI,CAAC;EACzB,MAAMiB,KAAK,GAAG1B,KAAK,CAACS,IAAI,CAAC;EACzB,MAAMkB,MAAM,GAAGF,KAAK,CAAC5B,CAAC,GAAG6B,KAAK,GAAGzB,OAAO,GAAG,CAAC;EAE5C,MAAM2B,OAAO,GAAGf,IAAI,CAACgB,WAAW,CAAC;IAC/BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,WAAW,EAAE,CAACnB,KAAK,CAACoB,MAAM,CAACC,MAAM,EAAErB,KAAK,CAACoB,MAAM,CAACE,OAAO;EACzD,CAAC,CAAC;EAEF,MAAMC,MAAM,GAAGtB,IAAI,CAACgB,WAAW,CAAC;IAC9BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,WAAW,EAAE,CAAC9B,OAAO,EAAEA,OAAO,GAAG0B,MAAM;EACzC,CAAC,CAAC;EAEF,MAAMS,cAAc,GAAGV,KAAK,GAAGxB,aAAa;EAE5C,MAAMmC,WAAW,GAAGrB,SAAS,CAACa,WAAW,CAAC;IACxCC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,WAAW,EAAE,CAACL,KAAK,EAAEU,cAAc;EACrC,CAAC,CAAC;EAEF,MAAME,WAAW,GAAGtB,SAAS,CAACa,WAAW,CAAC;IACxCC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,WAAW,EAAE,CAACL,KAAK,GAAG,CAAC,EAAEU,cAAc,GAAG,CAAC;EAC7C,CAAC,CAAC;EAEF,oBACE1C,IAAA,CAACL,SAAS;IACRsB,GAAG,EAAEA,GAAI;IACT4B,IAAI,EAAC,QAAQ;IACb,gBAAclC,KAAM;IACpBmC,kBAAkB,EAAE;MAAEC,OAAO,EAAEpC,KAAK;MAAEE;IAAS,CAAE;IACjDmC,OAAO,EAAEA,CAAA,KAAM,CAACnC,QAAQ,IAAID,aAAa,CAAC,CAACD,KAAK,CAAE;IAClDiB,SAAS,EAAEA,SAAU;IACrBE,UAAU,EAAEA,UAAW;IACvBhB,KAAK,EAAE,CAAC;MAAEmC,OAAO,EAAEpC,QAAQ,GAAG,GAAG,GAAG;IAAE,CAAC,EAAEC,KAAK,CAAE;IAChDoC,OAAO,EAAE;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAE;IAClDtC,MAAM,EAAEA,MAAO;IAAAuC,QAAA,eAEfvD,IAAA,CAACJ,QAAQ,CAAC4D,IAAI;MACZ1C,KAAK,EAAE;QACL2C,KAAK,EAAE1B,KAAK,CAAC5B,CAAC;QACduD,MAAM,EAAE3B,KAAK,CAAC3B,CAAC;QACfuD,YAAY,EAAE5B,KAAK,CAAC3B,CAAC,GAAG,CAAC;QACzBwD,eAAe,EAAE1B,OAAO;QACxB2B,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE;MACd,CAAE;MAAAP,QAAA,eAEFvD,IAAA,CAACJ,QAAQ,CAAC4D,IAAI;QACZ1C,KAAK,EAAE;UACL2C,KAAK,EAAEzB,KAAK;UACZ0B,MAAM,EAAEf,WAAW;UACnBgB,YAAY,EAAEf,WAAW;UACzBgB,eAAe,EAAE,MAAM;UACvBG,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAEvB;UAAO,CAAC,CAAC;UACnCwB,WAAW,EAAE,MAAM;UACnBC,YAAY,EAAE;YAAET,KAAK,EAAE,CAAC;YAAEC,MAAM,EAAE;UAAE,CAAC;UACrCS,aAAa,EAAE,IAAI;UACnBC,YAAY,EAAE,CAAC;UACfC,SAAS,EAAE;QACb;MAAE,CACH;IAAC,CACW;EAAC,CACP,CAAC;AAEhB,CACF,CAAC;AAED5D,eAAe,CAAC6D,WAAW,GAAG,QAAQ;AAEtC,OAAO,MAAMC,MAAM,gBAAG/E,IAAI,CAACiB,eAAe,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAK/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyO3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA2KtE,eAAO,MAAM,MAAM,yCAAwB,CAAC;AAG5C,eAAO,MAAM,aAAa,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEpE,CAAC;AAGH,eAAO,MAAM,eAAe,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEtE,CAAC;AAGH,eAAO,MAAM,UAAU,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEjE,CAAC;AAGH,eAAO,MAAM,WAAW,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAElE,CAAC;AAGH,eAAO,MAAM,UAAU,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../../../src/collapsible/Collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../../../src/collapsible/Collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAyFhD,eAAO,MAAM,WAAW,8CAA6B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A function that resolves opaque identifiers (e.g. file IDs) to
|
|
3
|
+
* loadable image URLs. Returns `undefined` when no URL is available yet.
|
|
4
|
+
*/
|
|
5
|
+
export type ImageResolver = (id: string) => string | undefined;
|
|
6
|
+
export declare const ImageResolverProvider: import("react").Provider<ImageResolver | null>;
|
|
7
|
+
export declare function useImageResolver(): ImageResolver | null;
|
|
8
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/image-resolver/context.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAK/D,eAAO,MAAM,qBAAqB,gDAAgC,CAAC;AAEnE,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/image-resolver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAmNjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skeleton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skeleton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAiC1F,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CA0BA;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAmBA;AAED,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAkBA;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA"}
|
|
@@ -51,6 +51,35 @@ export declare const borderRadius: {
|
|
|
51
51
|
readonly _2xl: 24;
|
|
52
52
|
readonly full: 999;
|
|
53
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Gradient definitions for icon system.
|
|
56
|
+
*/
|
|
57
|
+
/**
|
|
58
|
+
* Animation timing and spring tokens.
|
|
59
|
+
* Centralized values ensure consistent motion across all components.
|
|
60
|
+
*/
|
|
61
|
+
export declare const animation: {
|
|
62
|
+
readonly duration: {
|
|
63
|
+
readonly instant: 100;
|
|
64
|
+
readonly fast: 150;
|
|
65
|
+
readonly normal: 200;
|
|
66
|
+
readonly slow: 300;
|
|
67
|
+
};
|
|
68
|
+
readonly spring: {
|
|
69
|
+
readonly snappy: {
|
|
70
|
+
readonly friction: 8;
|
|
71
|
+
readonly tension: 100;
|
|
72
|
+
};
|
|
73
|
+
readonly gentle: {
|
|
74
|
+
readonly friction: 8;
|
|
75
|
+
readonly tension: 60;
|
|
76
|
+
};
|
|
77
|
+
readonly bouncy: {
|
|
78
|
+
readonly friction: 6;
|
|
79
|
+
readonly tension: 120;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
54
83
|
/**
|
|
55
84
|
* Gradient definitions for icon system.
|
|
56
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;yBAOb,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;;yBAOvB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAGtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;GAEG;AACH;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;CAYZ,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;yBAOb,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;;yBAOvB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAGtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6G3C,eAAO,MAAM,MAAM,4FAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAK/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyO3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA2KtE,eAAO,MAAM,MAAM,yCAAwB,CAAC;AAG5C,eAAO,MAAM,aAAa,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEpE,CAAC;AAGH,eAAO,MAAM,eAAe,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEtE,CAAC;AAGH,eAAO,MAAM,UAAU,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEjE,CAAC;AAGH,eAAO,MAAM,WAAW,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAElE,CAAC;AAGH,eAAO,MAAM,UAAU,oCAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,6CAEjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../../../src/collapsible/Collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../../../src/collapsible/Collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAK9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAyFhD,eAAO,MAAM,WAAW,8CAA6B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A function that resolves opaque identifiers (e.g. file IDs) to
|
|
3
|
+
* loadable image URLs. Returns `undefined` when no URL is available yet.
|
|
4
|
+
*/
|
|
5
|
+
export type ImageResolver = (id: string) => string | undefined;
|
|
6
|
+
export declare const ImageResolverProvider: import("react").Provider<ImageResolver | null>;
|
|
7
|
+
export declare function useImageResolver(): ImageResolver | null;
|
|
8
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/image-resolver/context.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAK/D,eAAO,MAAM,qBAAqB,gDAAgC,CAAC;AAEnE,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/image-resolver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAmNjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skeleton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skeleton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAiC1F,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CA0BA;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAmBA;AAED,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAkBA;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA"}
|
|
@@ -51,6 +51,35 @@ export declare const borderRadius: {
|
|
|
51
51
|
readonly _2xl: 24;
|
|
52
52
|
readonly full: 999;
|
|
53
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Gradient definitions for icon system.
|
|
56
|
+
*/
|
|
57
|
+
/**
|
|
58
|
+
* Animation timing and spring tokens.
|
|
59
|
+
* Centralized values ensure consistent motion across all components.
|
|
60
|
+
*/
|
|
61
|
+
export declare const animation: {
|
|
62
|
+
readonly duration: {
|
|
63
|
+
readonly instant: 100;
|
|
64
|
+
readonly fast: 150;
|
|
65
|
+
readonly normal: 200;
|
|
66
|
+
readonly slow: 300;
|
|
67
|
+
};
|
|
68
|
+
readonly spring: {
|
|
69
|
+
readonly snappy: {
|
|
70
|
+
readonly friction: 8;
|
|
71
|
+
readonly tension: 100;
|
|
72
|
+
};
|
|
73
|
+
readonly gentle: {
|
|
74
|
+
readonly friction: 8;
|
|
75
|
+
readonly tension: 60;
|
|
76
|
+
};
|
|
77
|
+
readonly bouncy: {
|
|
78
|
+
readonly friction: 6;
|
|
79
|
+
readonly tension: 120;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
54
83
|
/**
|
|
55
84
|
* Gradient definitions for icon system.
|
|
56
85
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;yBAOb,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;;yBAOvB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAGtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/tokens.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWX,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;GAEG;AACH;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;CAYZ,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;;yBAOb,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;;yBAOvB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;;CAGtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6G3C,eAAO,MAAM,MAAM,4FAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/bloom",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -23,6 +23,17 @@
|
|
|
23
23
|
"default": "./lib/commonjs/index.js"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
|
+
"./image-resolver": {
|
|
27
|
+
"react-native": "./src/image-resolver/index.ts",
|
|
28
|
+
"import": {
|
|
29
|
+
"types": "./lib/typescript/module/image-resolver/index.d.ts",
|
|
30
|
+
"default": "./lib/module/image-resolver/index.js"
|
|
31
|
+
},
|
|
32
|
+
"require": {
|
|
33
|
+
"types": "./lib/typescript/commonjs/image-resolver/index.d.ts",
|
|
34
|
+
"default": "./lib/commonjs/image-resolver/index.js"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
26
37
|
"./theme": {
|
|
27
38
|
"react-native": "./src/theme/index.ts",
|
|
28
39
|
"import": {
|
package/src/avatar/Avatar.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import React, { memo, useMemo, useRef, useState } from 'react';
|
|
|
2
2
|
import { View, Image, StyleSheet, TouchableOpacity } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import { useTheme } from '../theme/use-theme';
|
|
5
|
+
import { useImageResolver } from '../image-resolver/context';
|
|
5
6
|
import type { AvatarProps } from './types';
|
|
6
7
|
|
|
7
8
|
// Squircle clip path normalized to 0–1 coordinate space (viewBox="0 0 1 1").
|
|
@@ -131,11 +132,20 @@ const AvatarComponent: React.FC<AvatarProps> = ({
|
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
|
|
134
|
-
|
|
135
|
+
const imageResolver = useImageResolver();
|
|
136
|
+
|
|
137
|
+
// Resolve source prop: string → uri, object → ImageSourcePropType.
|
|
138
|
+
// HTTP/data URLs pass through directly. Non-URL strings (e.g. file
|
|
139
|
+
// IDs) are resolved via the app-provided ImageResolver if available.
|
|
135
140
|
const resolvedUri = useMemo(() => {
|
|
136
|
-
if (typeof source === 'string')
|
|
141
|
+
if (typeof source === 'string') {
|
|
142
|
+
if (source.startsWith('http://') || source.startsWith('https://') || source.startsWith('data:')) {
|
|
143
|
+
return source;
|
|
144
|
+
}
|
|
145
|
+
return imageResolver?.(source);
|
|
146
|
+
}
|
|
137
147
|
return uri;
|
|
138
|
-
}, [source, uri]);
|
|
148
|
+
}, [source, uri, imageResolver]);
|
|
139
149
|
|
|
140
150
|
const resolvedImageSource = useMemo(() => {
|
|
141
151
|
if (source != null && typeof source !== 'string') return source;
|
package/src/button/Button.tsx
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import React, { useMemo, memo } from 'react';
|
|
2
|
-
import {
|
|
1
|
+
import React, { useCallback, useMemo, useRef, memo } from 'react';
|
|
2
|
+
import { Pressable, Text, Platform, Animated, type ViewStyle, type TextStyle } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import { useTheme } from '../theme/use-theme';
|
|
5
|
+
import { animation } from '../styles/tokens';
|
|
5
6
|
import type { ButtonProps } from './types';
|
|
6
7
|
|
|
7
8
|
export type { ButtonProps, ButtonVariant, ButtonSize } from './types';
|
|
@@ -29,6 +30,9 @@ const SIZE_CONFIG = {
|
|
|
29
30
|
|
|
30
31
|
const ICON_HIT_SLOP = { top: 10, bottom: 10, left: 10, right: 10 } as const;
|
|
31
32
|
|
|
33
|
+
const PRESS_SCALE = 0.97;
|
|
34
|
+
const SCALE_VARIANTS = new Set<string>(['primary', 'secondary']);
|
|
35
|
+
|
|
32
36
|
const ButtonComponent: React.FC<ButtonProps> = ({
|
|
33
37
|
onPress,
|
|
34
38
|
children,
|
|
@@ -46,6 +50,26 @@ const ButtonComponent: React.FC<ButtonProps> = ({
|
|
|
46
50
|
testID,
|
|
47
51
|
}) => {
|
|
48
52
|
const theme = useTheme();
|
|
53
|
+
const scaleAnim = useRef(new Animated.Value(1)).current;
|
|
54
|
+
const hasScaleFeedback = SCALE_VARIANTS.has(variant);
|
|
55
|
+
|
|
56
|
+
const onPressIn = useCallback(() => {
|
|
57
|
+
if (!hasScaleFeedback) return;
|
|
58
|
+
Animated.spring(scaleAnim, {
|
|
59
|
+
toValue: PRESS_SCALE,
|
|
60
|
+
useNativeDriver: true,
|
|
61
|
+
...animation.spring.snappy,
|
|
62
|
+
}).start();
|
|
63
|
+
}, [scaleAnim, hasScaleFeedback]);
|
|
64
|
+
|
|
65
|
+
const onPressOut = useCallback(() => {
|
|
66
|
+
if (!hasScaleFeedback) return;
|
|
67
|
+
Animated.spring(scaleAnim, {
|
|
68
|
+
toValue: 1,
|
|
69
|
+
useNativeDriver: true,
|
|
70
|
+
...animation.spring.gentle,
|
|
71
|
+
}).start();
|
|
72
|
+
}, [scaleAnim, hasScaleFeedback]);
|
|
49
73
|
|
|
50
74
|
const baseStyles = useMemo((): ViewStyle => {
|
|
51
75
|
const sizeConfig = SIZE_CONFIG[size];
|
|
@@ -120,26 +144,35 @@ const ButtonComponent: React.FC<ButtonProps> = ({
|
|
|
120
144
|
}, [variant, size, theme]);
|
|
121
145
|
|
|
122
146
|
const defaultHitSlop = variant === 'icon' ? ICON_HIT_SLOP : undefined;
|
|
147
|
+
const resolvedActiveOpacity = activeOpacity ?? (variant === 'icon' ? 0.7 : 0.8);
|
|
123
148
|
|
|
124
149
|
return (
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
150
|
+
<Animated.View style={hasScaleFeedback ? { transform: [{ scale: scaleAnim }] } : undefined}>
|
|
151
|
+
<Pressable
|
|
152
|
+
style={({ pressed }) => [
|
|
153
|
+
baseStyles,
|
|
154
|
+
disabled && { opacity: 0.5 },
|
|
155
|
+
pressed && !hasScaleFeedback && { opacity: resolvedActiveOpacity },
|
|
156
|
+
style,
|
|
157
|
+
]}
|
|
158
|
+
onPress={onPress}
|
|
159
|
+
onPressIn={onPressIn}
|
|
160
|
+
onPressOut={onPressOut}
|
|
161
|
+
disabled={disabled}
|
|
162
|
+
hitSlop={hitSlop ?? defaultHitSlop}
|
|
163
|
+
accessibilityLabel={accessibilityLabel}
|
|
164
|
+
accessibilityHint={accessibilityHint}
|
|
165
|
+
accessibilityRole="button"
|
|
166
|
+
accessibilityState={{ disabled }}
|
|
167
|
+
testID={testID}
|
|
168
|
+
>
|
|
169
|
+
{iconPosition === 'left' && icon}
|
|
170
|
+
{children != null && (
|
|
171
|
+
<Text style={[computedTextStyle, textStyle]}>{children}</Text>
|
|
172
|
+
)}
|
|
173
|
+
{iconPosition === 'right' && icon}
|
|
174
|
+
</Pressable>
|
|
175
|
+
</Animated.View>
|
|
143
176
|
);
|
|
144
177
|
};
|
|
145
178
|
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import React, { memo, useState } from 'react';
|
|
2
|
-
import { View, Text, TouchableOpacity } from 'react-native';
|
|
1
|
+
import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { View, Text, TouchableOpacity, Animated, LayoutAnimation, Platform, UIManager } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import { useTheme } from '../theme/use-theme';
|
|
5
|
+
import { animation } from '../styles/tokens';
|
|
5
6
|
import type { CollapsibleProps } from './types';
|
|
6
7
|
|
|
8
|
+
if (Platform.OS === 'android' && UIManager.setLayoutAnimationEnabledExperimental) {
|
|
9
|
+
UIManager.setLayoutAnimationEnabledExperimental(true);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const CHEVRON_CLOSED = '0deg';
|
|
13
|
+
const CHEVRON_OPEN = '90deg';
|
|
14
|
+
|
|
7
15
|
const CollapsibleComponent: React.FC<CollapsibleProps> = ({
|
|
8
16
|
title,
|
|
9
17
|
children,
|
|
@@ -15,12 +23,38 @@ const CollapsibleComponent: React.FC<CollapsibleProps> = ({
|
|
|
15
23
|
}) => {
|
|
16
24
|
const [isOpen, setIsOpen] = useState(defaultOpen);
|
|
17
25
|
const theme = useTheme();
|
|
26
|
+
const chevronAnim = useRef(new Animated.Value(defaultOpen ? 1 : 0)).current;
|
|
27
|
+
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
Animated.spring(chevronAnim, {
|
|
30
|
+
toValue: isOpen ? 1 : 0,
|
|
31
|
+
useNativeDriver: true,
|
|
32
|
+
...animation.spring.gentle,
|
|
33
|
+
}).start();
|
|
34
|
+
}, [isOpen, chevronAnim]);
|
|
35
|
+
|
|
36
|
+
const handleToggle = useCallback(() => {
|
|
37
|
+
LayoutAnimation.configureNext({
|
|
38
|
+
duration: animation.duration.normal,
|
|
39
|
+
update: { type: LayoutAnimation.Types.easeInEaseOut },
|
|
40
|
+
create: { type: LayoutAnimation.Types.easeInEaseOut, property: LayoutAnimation.Properties.opacity },
|
|
41
|
+
delete: { type: LayoutAnimation.Types.easeInEaseOut, property: LayoutAnimation.Properties.opacity },
|
|
42
|
+
});
|
|
43
|
+
setIsOpen((prev) => !prev);
|
|
44
|
+
}, []);
|
|
45
|
+
|
|
46
|
+
const chevronRotation = chevronAnim.interpolate({
|
|
47
|
+
inputRange: [0, 1],
|
|
48
|
+
outputRange: [CHEVRON_CLOSED, CHEVRON_OPEN],
|
|
49
|
+
});
|
|
18
50
|
|
|
19
51
|
return (
|
|
20
52
|
<View style={style} testID={testID}>
|
|
21
53
|
<TouchableOpacity
|
|
22
|
-
onPress={
|
|
54
|
+
onPress={handleToggle}
|
|
23
55
|
activeOpacity={0.7}
|
|
56
|
+
accessibilityRole="button"
|
|
57
|
+
accessibilityState={{ expanded: isOpen }}
|
|
24
58
|
style={{
|
|
25
59
|
flexDirection: 'row',
|
|
26
60
|
alignItems: 'center',
|
|
@@ -29,15 +63,15 @@ const CollapsibleComponent: React.FC<CollapsibleProps> = ({
|
|
|
29
63
|
}}
|
|
30
64
|
>
|
|
31
65
|
{chevronIcon ?? (
|
|
32
|
-
<Text
|
|
66
|
+
<Animated.Text
|
|
33
67
|
style={{
|
|
34
68
|
fontSize: 16,
|
|
35
69
|
color: theme.colors.textSecondary,
|
|
36
|
-
transform: [{ rotate:
|
|
70
|
+
transform: [{ rotate: chevronRotation }],
|
|
37
71
|
}}
|
|
38
72
|
>
|
|
39
73
|
›
|
|
40
|
-
</Text>
|
|
74
|
+
</Animated.Text>
|
|
41
75
|
)}
|
|
42
76
|
<Text
|
|
43
77
|
style={[
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A function that resolves opaque identifiers (e.g. file IDs) to
|
|
5
|
+
* loadable image URLs. Returns `undefined` when no URL is available yet.
|
|
6
|
+
*/
|
|
7
|
+
export type ImageResolver = (id: string) => string | undefined;
|
|
8
|
+
|
|
9
|
+
const ImageResolverContext = createContext<ImageResolver | null>(null);
|
|
10
|
+
ImageResolverContext.displayName = 'BloomImageResolverContext';
|
|
11
|
+
|
|
12
|
+
export const ImageResolverProvider = ImageResolverContext.Provider;
|
|
13
|
+
|
|
14
|
+
export function useImageResolver(): ImageResolver | null {
|
|
15
|
+
return useContext(ImageResolverContext);
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ImageResolverProvider, useImageResolver, type ImageResolver } from './context';
|