@unif/react-native-design 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -10
- package/docs-home.css +4 -1
- package/lib/module/components/ui/Toast/ToastHost.js +23 -3
- package/lib/module/components/ui/Toast/ToastHost.js.map +1 -1
- package/lib/module/components/ui/Toast/styles.js +1 -1
- package/lib/module/components/ui/Toast/styles.js.map +1 -1
- package/lib/module/components/ui/Toast/toast.js +4 -2
- package/lib/module/components/ui/Toast/toast.js.map +1 -1
- package/lib/module/components/ui/index.js +0 -2
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/ui/Input/Input.d.ts +3 -3
- package/lib/typescript/src/components/ui/Search/Search.d.ts +3 -3
- package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts +3 -3
- package/lib/typescript/src/components/ui/Textarea/Textarea.d.ts +3 -3
- package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts +3 -0
- package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/index.d.ts +1 -1
- package/lib/typescript/src/components/ui/Toast/index.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/styles.d.ts +0 -1
- package/lib/typescript/src/components/ui/Toast/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/toast.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Toast/types.d.ts +9 -3
- package/lib/typescript/src/components/ui/Toast/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/index.d.ts +1 -5
- package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/components/ui/Toast/ToastHost.tsx +20 -3
- package/src/components/ui/Toast/index.ts +1 -0
- package/src/components/ui/Toast/styles.ts +1 -1
- package/src/components/ui/Toast/toast.ts +2 -1
- package/src/components/ui/Toast/types.ts +10 -3
- package/src/components/ui/index.ts +1 -4
- package/src/index.tsx +1 -0
- package/lib/module/components/ui/BottomSheet/BottomSheet.js +0 -104
- package/lib/module/components/ui/BottomSheet/BottomSheet.js.map +0 -1
- package/lib/module/components/ui/BottomSheet/index.js +0 -4
- package/lib/module/components/ui/BottomSheet/index.js.map +0 -1
- package/lib/module/components/ui/BottomSheet/styles.js +0 -26
- package/lib/module/components/ui/BottomSheet/styles.js.map +0 -1
- package/lib/module/components/ui/BottomSheet/types.js +0 -4
- package/lib/module/components/ui/BottomSheet/types.js.map +0 -1
- package/lib/module/components/ui/Confirm/ConfirmHost.js +0 -111
- package/lib/module/components/ui/Confirm/ConfirmHost.js.map +0 -1
- package/lib/module/components/ui/Confirm/confirm.js +0 -51
- package/lib/module/components/ui/Confirm/confirm.js.map +0 -1
- package/lib/module/components/ui/Confirm/index.js +0 -5
- package/lib/module/components/ui/Confirm/index.js.map +0 -1
- package/lib/module/components/ui/Confirm/styles.js +0 -35
- package/lib/module/components/ui/Confirm/styles.js.map +0 -1
- package/lib/module/components/ui/Confirm/types.js +0 -2
- package/lib/module/components/ui/Confirm/types.js.map +0 -1
- package/lib/typescript/src/components/ui/BottomSheet/BottomSheet.d.ts +0 -4
- package/lib/typescript/src/components/ui/BottomSheet/BottomSheet.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BottomSheet/index.d.ts +0 -3
- package/lib/typescript/src/components/ui/BottomSheet/index.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BottomSheet/styles.d.ts +0 -23
- package/lib/typescript/src/components/ui/BottomSheet/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BottomSheet/types.d.ts +0 -26
- package/lib/typescript/src/components/ui/BottomSheet/types.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts +0 -9
- package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Confirm/confirm.d.ts +0 -20
- package/lib/typescript/src/components/ui/Confirm/confirm.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Confirm/index.d.ts +0 -4
- package/lib/typescript/src/components/ui/Confirm/index.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Confirm/styles.d.ts +0 -32
- package/lib/typescript/src/components/ui/Confirm/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Confirm/types.d.ts +0 -21
- package/lib/typescript/src/components/ui/Confirm/types.d.ts.map +0 -1
- package/src/components/ui/BottomSheet/BottomSheet.tsx +0 -117
- package/src/components/ui/BottomSheet/index.ts +0 -2
- package/src/components/ui/BottomSheet/styles.ts +0 -20
- package/src/components/ui/BottomSheet/types.ts +0 -26
- package/src/components/ui/Confirm/ConfirmHost.tsx +0 -134
- package/src/components/ui/Confirm/confirm.ts +0 -53
- package/src/components/ui/Confirm/index.ts +0 -3
- package/src/components/ui/Confirm/styles.ts +0 -35
- package/src/components/ui/Confirm/types.ts +0 -22
package/README.md
CHANGED
|
@@ -5,10 +5,14 @@
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](https://unif-design.github.io/react-native-design/)
|
|
7
7
|
|
|
8
|
-
Unif
|
|
8
|
+
Unif 设计系统 —— theme(设计令牌)+ 组件 + 图标 + utils,面向 React Native 0.85 新架构(Fabric + TurboModule)。所有 Unif 应用与端能力包的 UI 基座。
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
## 特性
|
|
11
|
+
|
|
12
|
+
- **运行时主题**:`useColors()` 角色 token 跟随系统 light/dark 自动切换;`useThemedStyles` + 模块顶层 `makeStyles` 缓存样式,绝不内联 hex。
|
|
13
|
+
- **40+ 组件**:Button、Card、Cell、NavBar、BottomSheet、Toast 等原子组件 + AvatarWithRing、GlassStats 等通用复合组件,全部从包根 barrel 导出,无需深路径。
|
|
14
|
+
- **a11y 内建**:交互组件预设 `accessibilityRole`;`IconButton` 的 `accessibilityLabel` 为类型必填。
|
|
15
|
+
- **图标集 + 严格 TS**:`IconName` 闭集类型、`<Icon>` 自动继承主题色;`strict` + `noUncheckedIndexedAccess`,类型随包发布。
|
|
12
16
|
|
|
13
17
|
## 安装
|
|
14
18
|
|
|
@@ -16,20 +20,66 @@ Unif 设计系统:theme(设计令牌)+ 组件 + 图标 + utils,面向 RN 0.8
|
|
|
16
20
|
yarn add @unif/react-native-design
|
|
17
21
|
```
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
本库不打包原生依赖,宿主工程需自行安装下列 peer 并完成原生侧配置:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
yarn add react-native-svg \
|
|
27
|
+
react-native-gesture-handler \
|
|
28
|
+
react-native-reanimated \
|
|
29
|
+
react-native-worklets \
|
|
30
|
+
react-native-safe-area-context \
|
|
31
|
+
react-native-reanimated-carousel \
|
|
32
|
+
@gorhom/bottom-sheet \
|
|
33
|
+
@sbaiahmed1/react-native-blur
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
iOS 另需在 `ios/` 执行 `bundle exec pod install`。完整步骤见[文档站 · 快速开始](https://unif-design.github.io/react-native-design/docs/getting-started)。
|
|
37
|
+
|
|
38
|
+
## 快速开始
|
|
20
39
|
|
|
21
|
-
|
|
40
|
+
在 App 根挂一次 `ThemeProvider`,命令式 host(`ToastHost` / `ConfirmHost`)按需添加;`makeStyles` 必须写在模块顶层:
|
|
22
41
|
|
|
23
42
|
```tsx
|
|
24
|
-
import {
|
|
43
|
+
import {
|
|
44
|
+
ThemeProvider, ToastHost, Button, useThemedStyles, type ColorTokens,
|
|
45
|
+
} from '@unif/react-native-design';
|
|
46
|
+
import { View } from 'react-native';
|
|
25
47
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
48
|
+
// inline 会破坏 useThemedStyles 的样式缓存
|
|
49
|
+
const makeStyles = (c: ColorTokens) => ({
|
|
50
|
+
wrap: { padding: 16, backgroundColor: c.surface },
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
function Demo() {
|
|
54
|
+
const styles = useThemedStyles(makeStyles);
|
|
55
|
+
return (
|
|
56
|
+
<View style={styles.wrap}>
|
|
57
|
+
<Button label="保存" onPress={() => {}} />
|
|
58
|
+
</View>
|
|
59
|
+
);
|
|
29
60
|
}
|
|
61
|
+
|
|
62
|
+
export const App = () => (
|
|
63
|
+
<ThemeProvider>
|
|
64
|
+
<Demo />
|
|
65
|
+
<ToastHost />
|
|
66
|
+
</ThemeProvider>
|
|
67
|
+
);
|
|
30
68
|
```
|
|
31
69
|
|
|
32
|
-
|
|
70
|
+
## 文档
|
|
71
|
+
|
|
72
|
+
- **文档站**(快速开始 · 组件 API · 设计令牌 · 设计原则):https://unif-design.github.io/react-native-design/
|
|
73
|
+
- **AI / LLM**(纯 Markdown,按需 fetch,别凭记忆猜 API):
|
|
74
|
+
[llms.txt 索引](https://unif-design.github.io/react-native-design/llms.txt) · [llms-full.txt 全文](https://unif-design.github.io/react-native-design/llms-full.txt)
|
|
75
|
+
- **Agent Skill** `using-unif-design`(覆盖组件 API、token 规则、与原生 RN 的关键差异):
|
|
76
|
+
`/plugin marketplace add unif-design/react-native-skills` → `/plugin install unif-react-native@unif-react-native-skills`
|
|
77
|
+
|
|
78
|
+
## 兼容性
|
|
79
|
+
|
|
80
|
+
- React Native **0.85+**(新架构 Fabric + TurboModule;随 RN 0.85 对应 concurrent React)
|
|
81
|
+
- React 19、TypeScript 6
|
|
82
|
+
- Node.js ≥ 24.13(见 `.nvmrc`)
|
|
33
83
|
|
|
34
84
|
## 许可
|
|
35
85
|
|
package/docs-home.css
CHANGED
|
@@ -194,8 +194,11 @@
|
|
|
194
194
|
* 3. DARK TOKENS — OS preference fallback (no explicit data-theme)
|
|
195
195
|
* ───────────────────────────────────────────────────────────── */
|
|
196
196
|
|
|
197
|
+
/* OS 偏好兜底:仅当 Docusaurus 尚未在 <html> 注入 data-theme 时才生效。
|
|
198
|
+
* 旧写法 .unif-home:not([data-theme="light"]) 恒为真(data-theme 在 <html> 上、
|
|
199
|
+
* 不在 .unif-home),会让"系统深色 + 站点手动切浅色"时内容区被强制深色。 */
|
|
197
200
|
@media (prefers-color-scheme: dark) {
|
|
198
|
-
|
|
201
|
+
html:not([data-theme]) .unif-home {
|
|
199
202
|
--primary-container: #3D1F00;
|
|
200
203
|
--primary-container-subtle:#2A1500;
|
|
201
204
|
--error: #FF6B40;
|
|
@@ -2,20 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { Text, View } from 'react-native';
|
|
5
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
5
6
|
import Animated, { cancelAnimation, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
6
|
-
import { useColors, useThemedStyles, motion } from "../../../theme/index.js";
|
|
7
|
+
import { useColors, useThemedStyles, motion, space } from "../../../theme/index.js";
|
|
7
8
|
import { dotColorFor, makeStyles } from "./styles.js";
|
|
8
9
|
import { _subs } from "./toast.js";
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
/**
|
|
11
12
|
* 在根附近挂一次。监听 toast() 调用并渲染当前 toast。
|
|
12
13
|
* 同一时间只显示一条 —— 新的会替换旧的。
|
|
14
|
+
*
|
|
15
|
+
* 位置由 `entry.position`('top' / 'bottom' / 'center')决定,top/bottom 自动避让
|
|
16
|
+
* safe-area;进入动画方向随位置(top 从上滑、bottom/center 从下滑)。
|
|
13
17
|
*/
|
|
14
18
|
export function ToastHost({
|
|
15
19
|
testID
|
|
16
20
|
} = {}) {
|
|
17
21
|
const c = useColors();
|
|
18
22
|
const styles = useThemedStyles(makeStyles);
|
|
23
|
+
const insets = useSafeAreaInsets();
|
|
19
24
|
const [entry, setEntry] = useState(null);
|
|
20
25
|
const op = useSharedValue(0);
|
|
21
26
|
const ty = useSharedValue(8);
|
|
@@ -32,8 +37,12 @@ export function ToastHost({
|
|
|
32
37
|
}, []);
|
|
33
38
|
useEffect(() => {
|
|
34
39
|
if (!entry) return;
|
|
40
|
+
// 进入方向:top 从上(-8)滑入,bottom / center 从下(8)滑入
|
|
41
|
+
const from = entry.position === 'top' ? -8 : 8;
|
|
35
42
|
cancelAnimation(op);
|
|
36
43
|
cancelAnimation(ty);
|
|
44
|
+
op.value = 0;
|
|
45
|
+
ty.value = from;
|
|
37
46
|
op.value = withTiming(1, {
|
|
38
47
|
duration: motion.base
|
|
39
48
|
});
|
|
@@ -44,7 +53,7 @@ export function ToastHost({
|
|
|
44
53
|
op.value = withTiming(0, {
|
|
45
54
|
duration: motion.base
|
|
46
55
|
});
|
|
47
|
-
ty.value = withTiming(
|
|
56
|
+
ty.value = withTiming(from, {
|
|
48
57
|
duration: motion.base
|
|
49
58
|
}, finished => {
|
|
50
59
|
if (finished) runOnJS(setEntry)(null);
|
|
@@ -63,9 +72,20 @@ export function ToastHost({
|
|
|
63
72
|
}]
|
|
64
73
|
}));
|
|
65
74
|
if (!entry) return null;
|
|
75
|
+
|
|
76
|
+
// 位置:top=顶部(safe-area + 间距)/ center=屏幕居中 / bottom=底部(默认)
|
|
77
|
+
const posStyle = entry.position === 'top' ? {
|
|
78
|
+
top: insets.top + space[10]
|
|
79
|
+
} : entry.position === 'center' ? {
|
|
80
|
+
top: 0,
|
|
81
|
+
bottom: 0,
|
|
82
|
+
justifyContent: 'center'
|
|
83
|
+
} : {
|
|
84
|
+
bottom: insets.bottom + space[10]
|
|
85
|
+
};
|
|
66
86
|
const dotColor = dotColorFor(entry.kind, c);
|
|
67
87
|
return /*#__PURE__*/_jsx(View, {
|
|
68
|
-
style: styles.host,
|
|
88
|
+
style: [styles.host, posStyle],
|
|
69
89
|
pointerEvents: "none",
|
|
70
90
|
testID: testID,
|
|
71
91
|
children: /*#__PURE__*/_jsxs(Animated.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","Text","View","Animated","cancelAnimation","runOnJS","useAnimatedStyle","useSharedValue","withTiming","useColors","useThemedStyles","motion","dotColorFor","makeStyles","_subs","jsx","_jsx","jsxs","_jsxs","ToastHost","testID","c","styles","entry","setEntry","op","ty","dismissTimer","sub","next","current","clearTimeout","add","delete","value","duration","base","setTimeout","finished","animatedStyle","opacity","transform","translateY","dotColor","kind","style","host","pointerEvents","children","toast","dot","backgroundColor","text","undefined","message"],"sourceRoot":"../../../../../src","sources":["components/ui/Toast/ToastHost.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IACbC,eAAe,EACfC,OAAO,EACPC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAChC,SAASC,SAAS,EAAEC,eAAe,EAAEC,MAAM,QAAQ,yBAAgB;
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","Text","View","useSafeAreaInsets","Animated","cancelAnimation","runOnJS","useAnimatedStyle","useSharedValue","withTiming","useColors","useThemedStyles","motion","space","dotColorFor","makeStyles","_subs","jsx","_jsx","jsxs","_jsxs","ToastHost","testID","c","styles","insets","entry","setEntry","op","ty","dismissTimer","sub","next","current","clearTimeout","add","delete","from","position","value","duration","base","setTimeout","finished","animatedStyle","opacity","transform","translateY","posStyle","top","bottom","justifyContent","dotColor","kind","style","host","pointerEvents","children","toast","dot","backgroundColor","text","undefined","message"],"sourceRoot":"../../../../../src","sources":["components/ui/Toast/ToastHost.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,10 @@ import { StyleSheet } from 'react-native';
|
|
|
4
4
|
import { fw, r, radius, space, type as t } from "../../../theme/index.js";
|
|
5
5
|
export const makeStyles = c => StyleSheet.create({
|
|
6
6
|
host: {
|
|
7
|
+
// 定位(top/bottom/center)由 ToastHost 按 entry.position 注入,这里只留通用
|
|
7
8
|
position: 'absolute',
|
|
8
9
|
left: 0,
|
|
9
10
|
right: 0,
|
|
10
|
-
bottom: space[10],
|
|
11
11
|
alignItems: 'center',
|
|
12
12
|
// zIndex: toast 浮层 —— 盖在 Screen 内容之上(navigator / overlay 之下)。
|
|
13
13
|
// 同级兄弟节点无 z 顺序需求,但作为 absolute 浮岛对其他屏内 absolute 节点
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","fw","r","radius","space","type","t","makeStyles","c","create","host","position","left","right","
|
|
1
|
+
{"version":3,"names":["StyleSheet","fw","r","radius","space","type","t","makeStyles","c","create","host","position","left","right","alignItems","zIndex","toast","flexDirection","gap","backgroundColor","inverseSurface","borderRadius","md","paddingHorizontal","paddingVertical","maxWidth","dot","width","height","text","color","inverseOnSurface","fontSize","sm","fontWeight","medium","flexShrink","dotColorFor","kind","success","error"],"sourceRoot":"../../../../../src","sources":["components/ui/Toast/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AAEzC,SAASC,EAAE,EAAEC,CAAC,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,IAAIC,CAAC,QAAQ,yBAAgB;AAGhE,OAAO,MAAMC,UAAU,GAAIC,CAAc,IACvCR,UAAU,CAACS,MAAM,CAAC;EAChBC,IAAI,EAAE;IACJ;IACAC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,UAAU,EAAE,QAAQ;IACpB;IACA;IACA;IACAC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLC,aAAa,EAAE,KAAK;IACpBH,UAAU,EAAE,QAAQ;IACpBI,GAAG,EAAEd,KAAK,CAAC,CAAC,CAAC;IACbe,eAAe,EAAEX,CAAC,CAACY,cAAc;IACjCC,YAAY,EAAElB,MAAM,CAACmB,EAAE;IACvBC,iBAAiB,EAAEnB,KAAK,CAAC,CAAC,CAAC;IAC3BoB,eAAe,EAAEpB,KAAK,CAAC,CAAC,CAAC;IACzBqB,QAAQ,EAAE;EACZ,CAAC;EACDC,GAAG,EAAE;IACH;IACAC,KAAK,EAAEzB,CAAC,CAAC,CAAC,CAAC;IACX0B,MAAM,EAAE1B,CAAC,CAAC,CAAC,CAAC;IACZmB,YAAY,EAAEnB,CAAC,CAAC,CAAC;EACnB,CAAC;EACD2B,IAAI,EAAE;IACJC,KAAK,EAAEtB,CAAC,CAACuB,gBAAgB;IACzBC,QAAQ,EAAE1B,CAAC,CAAC2B,EAAE;IACdC,UAAU,EAAEjC,EAAE,CAACkC,MAAM;IACrBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;;AAEJ;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,IAAe,EAAE9B,CAAc,EAAiB;EAC1E,QAAQ8B,IAAI;IACV,KAAK,SAAS;MACZ,OAAO9B,CAAC,CAAC+B,OAAO;IAClB,KAAK,OAAO;MACV,OAAO/B,CAAC,CAACgC,KAAK;IAChB,KAAK,MAAM;MACT,OAAO,IAAI;EACf;AACF","ignoreList":[]}
|
|
@@ -13,12 +13,14 @@ function emit(input, kind = 'info') {
|
|
|
13
13
|
id: ++_id,
|
|
14
14
|
message: input,
|
|
15
15
|
kind,
|
|
16
|
-
duration: 3000
|
|
16
|
+
duration: 3000,
|
|
17
|
+
position: 'bottom'
|
|
17
18
|
} : {
|
|
18
19
|
id: ++_id,
|
|
19
20
|
message: input.message,
|
|
20
21
|
kind: input.kind ?? kind,
|
|
21
|
-
duration: input.duration ?? 3000
|
|
22
|
+
duration: input.duration ?? 3000,
|
|
23
|
+
position: input.position ?? 'bottom'
|
|
22
24
|
};
|
|
23
25
|
_subs.forEach(s => s(entry));
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_id","_subs","Set","emit","input","kind","entry","id","message","duration","forEach","s","toast","Object","assign","info","success","error"],"sourceRoot":"../../../../../src","sources":["components/ui/Toast/toast.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAGA,IAAIA,GAAG,GAAG,CAAC;AACX,OAAO,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAAa,CAAC;AAE1C,SAASC,IAAIA,CAACC,KAAiB,EAAEC,IAAe,GAAG,MAAM,EAAE;EACzD,MAAMC,KAAiB,GACrB,OAAOF,KAAK,KAAK,QAAQ,GACrB;IAAEG,EAAE,EAAE,EAAEP,GAAG;IAAEQ,OAAO,EAAEJ,KAAK;IAAEC,IAAI;IAAEI,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"names":["_id","_subs","Set","emit","input","kind","entry","id","message","duration","position","forEach","s","toast","Object","assign","info","success","error"],"sourceRoot":"../../../../../src","sources":["components/ui/Toast/toast.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAGA,IAAIA,GAAG,GAAG,CAAC;AACX,OAAO,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAAa,CAAC;AAE1C,SAASC,IAAIA,CAACC,KAAiB,EAAEC,IAAe,GAAG,MAAM,EAAE;EACzD,MAAMC,KAAiB,GACrB,OAAOF,KAAK,KAAK,QAAQ,GACrB;IAAEG,EAAE,EAAE,EAAEP,GAAG;IAAEQ,OAAO,EAAEJ,KAAK;IAAEC,IAAI;IAAEI,QAAQ,EAAE,IAAI;IAAEC,QAAQ,EAAE;EAAS,CAAC,GACvE;IACEH,EAAE,EAAE,EAAEP,GAAG;IACTQ,OAAO,EAAEJ,KAAK,CAACI,OAAO;IACtBH,IAAI,EAAED,KAAK,CAACC,IAAI,IAAIA,IAAI;IACxBI,QAAQ,EAAEL,KAAK,CAACK,QAAQ,IAAI,IAAI;IAChCC,QAAQ,EAAEN,KAAK,CAACM,QAAQ,IAAI;EAC9B,CAAC;EACPT,KAAK,CAACU,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACN,KAAK,CAAC,CAAC;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,KAAK,GAAGC,MAAM,CAACC,MAAM,CAAEX,KAAiB,IAAKD,IAAI,CAACC,KAAK,EAAE,MAAM,CAAC,EAAE;EAC7EY,IAAI,EAAGZ,KAAiB,IAAKD,IAAI,CAACC,KAAK,EAAE,MAAM,CAAC;EAChDa,OAAO,EAAGb,KAAiB,IAAKD,IAAI,CAACC,KAAK,EAAE,SAAS,CAAC;EACtDc,KAAK,EAAGd,KAAiB,IAAKD,IAAI,CAACC,KAAK,EAAE,OAAO;AACnD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
export { Avatar } from "./Avatar/index.js";
|
|
4
|
-
export { BottomSheet } from "./BottomSheet/index.js";
|
|
5
4
|
export { BlurLayer } from "./BlurLayer/index.js";
|
|
6
5
|
export { Button } from "./Button/index.js";
|
|
7
6
|
export { Card } from "./Card/index.js";
|
|
@@ -9,7 +8,6 @@ export { Carousel } from "./Carousel/index.js";
|
|
|
9
8
|
export { Cell, List } from "./Cell/index.js";
|
|
10
9
|
export { Checkbox } from "./Checkbox/index.js";
|
|
11
10
|
export { Chip } from "./Chip/index.js";
|
|
12
|
-
export { confirm, ConfirmHost } from "./Confirm/index.js";
|
|
13
11
|
export { DrawerHeader } from "./DrawerHeader/index.js";
|
|
14
12
|
export { Empty } from "./Empty/index.js";
|
|
15
13
|
export { EntryCard } from "./EntryCard/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Avatar","
|
|
1
|
+
{"version":3,"names":["Avatar","BlurLayer","Button","Card","Carousel","Cell","List","Checkbox","Chip","DrawerHeader","Empty","EntryCard","Form","FormGroup","FormRow","Grid","Icon","IconButton","Input","Logo","NavBar","PasswordInput","Pulse","PulseDot","usePulse","Radio","Reveal","Search","Skeleton","Segmented","Spinner","StatusDot","Stepper","Switch","TabBar","Tabs","Tag","Textarea","Thumbnail","toast","ToastHost"],"sourceRoot":"../../../../src","sources":["components/ui/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,mBAAU;AAEjC,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,QAAQ,QAAQ,qBAAY;AAErC,SAASC,IAAI,EAAEC,IAAI,QAAQ,iBAAQ;AAEnC,SAASC,QAAQ,QAAQ,qBAAY;AAErC,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,YAAY,QAAQ,yBAAgB;AAE7C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,IAAI,EAAEC,SAAS,EAAEC,OAAO,QAAQ,iBAAQ;AAEjD,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,UAAU,QAAQ,uBAAc;AAEzC,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,aAAa,QAAQ,0BAAiB;AAE/C,SAASC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,kBAAS;AAEnD,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,qBAAY;AAErC,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,OAAO,QAAQ,oBAAW;AAEnC,SAASC,SAAS,QAAQ,sBAAa;AAMvC,SAASC,OAAO,QAAQ,oBAAW;AAEnC,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAE3B,SAASC,QAAQ,QAAQ,qBAAY;AAErC,SAASC,SAAS,QAAQ,sBAAa;AAEvC,SAASC,KAAK,EAAEC,SAAS,QAAQ,kBAAS","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
// @unif/react-native-design 公共入口:theme(设计令牌)/ icons / utils / 组件(ui · business)。
|
|
4
4
|
// 文档站共享首页样式以 `./docs-home.css` 子路径导出(供各 Docusaurus 文档站 import,见 package.json#exports)。
|
|
5
|
+
// 0.5.1:修 docs-home.css 深色 OS 兜底选择器恒真(系统深色 + 站点切浅色时内容区被强制深色),见 #52。
|
|
5
6
|
export * from "./theme/index.js";
|
|
6
7
|
export * from "./icons/index.js";
|
|
7
8
|
export * from "./utils/testID/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,yBAAgB;AAC9B,cAAc,yBAAgB;AAC9B,cAAc,0BAAiB;AAC/B,cAAc,gCAAuB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,yBAAgB;AAC9B,cAAc,yBAAgB;AAC9B,cAAc,0BAAiB;AAC/B,cAAc,gCAAuB","ignoreList":[]}
|
|
@@ -136,7 +136,7 @@ export declare const Input: import("react").ForwardRefExoticComponent<Omit<Reado
|
|
|
136
136
|
pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
|
|
137
137
|
removeClippedSubviews?: boolean | undefined;
|
|
138
138
|
experimental_accessibilityOrder?: Array<string> | undefined;
|
|
139
|
-
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
139
|
+
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
140
140
|
disableKeyboardShortcuts?: boolean | undefined;
|
|
141
141
|
clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
|
|
142
142
|
clearTextOnFocus?: boolean | undefined;
|
|
@@ -153,7 +153,7 @@ export declare const Input: import("react").ForwardRefExoticComponent<Omit<Reado
|
|
|
153
153
|
lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
|
|
154
154
|
lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
|
|
155
155
|
smartInsertDelete?: boolean | undefined;
|
|
156
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
156
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
157
157
|
cursorColor?: import("react-native").ColorValue | undefined;
|
|
158
158
|
selectionHandleColor?: import("react-native").ColorValue | undefined;
|
|
159
159
|
disableFullscreenUI?: boolean | undefined;
|
|
@@ -166,7 +166,7 @@ export declare const Input: import("react").ForwardRefExoticComponent<Omit<Reado
|
|
|
166
166
|
showSoftInputOnFocus?: boolean | undefined;
|
|
167
167
|
textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
|
|
168
168
|
underlineColorAndroid?: import("react-native").ColorValue | undefined;
|
|
169
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
169
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
170
170
|
experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
|
|
171
171
|
autoCapitalize?: import("react-native").AutoCapitalize | undefined;
|
|
172
172
|
autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
|
|
@@ -133,7 +133,7 @@ export declare const Search: React.ForwardRefExoticComponent<Omit<Readonly<Omit<
|
|
|
133
133
|
pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
|
|
134
134
|
removeClippedSubviews?: boolean | undefined;
|
|
135
135
|
experimental_accessibilityOrder?: Array<string> | undefined;
|
|
136
|
-
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
136
|
+
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
137
137
|
disableKeyboardShortcuts?: boolean | undefined;
|
|
138
138
|
clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
|
|
139
139
|
clearTextOnFocus?: boolean | undefined;
|
|
@@ -150,7 +150,7 @@ export declare const Search: React.ForwardRefExoticComponent<Omit<Readonly<Omit<
|
|
|
150
150
|
lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
|
|
151
151
|
lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
|
|
152
152
|
smartInsertDelete?: boolean | undefined;
|
|
153
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
153
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
154
154
|
cursorColor?: import("react-native").ColorValue | undefined;
|
|
155
155
|
selectionHandleColor?: import("react-native").ColorValue | undefined;
|
|
156
156
|
disableFullscreenUI?: boolean | undefined;
|
|
@@ -163,7 +163,7 @@ export declare const Search: React.ForwardRefExoticComponent<Omit<Readonly<Omit<
|
|
|
163
163
|
showSoftInputOnFocus?: boolean | undefined;
|
|
164
164
|
textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
|
|
165
165
|
underlineColorAndroid?: import("react-native").ColorValue | undefined;
|
|
166
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
166
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
167
167
|
experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
|
|
168
168
|
autoCapitalize?: import("react-native").AutoCapitalize | undefined;
|
|
169
169
|
autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
|
|
@@ -144,7 +144,7 @@ export declare const TextFieldBase: React.ForwardRefExoticComponent<Readonly<Omi
|
|
|
144
144
|
pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
|
|
145
145
|
removeClippedSubviews?: boolean | undefined;
|
|
146
146
|
experimental_accessibilityOrder?: Array<string> | undefined;
|
|
147
|
-
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
147
|
+
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
148
148
|
disableKeyboardShortcuts?: boolean | undefined;
|
|
149
149
|
clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
|
|
150
150
|
clearTextOnFocus?: boolean | undefined;
|
|
@@ -161,7 +161,7 @@ export declare const TextFieldBase: React.ForwardRefExoticComponent<Readonly<Omi
|
|
|
161
161
|
lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
|
|
162
162
|
lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
|
|
163
163
|
smartInsertDelete?: boolean | undefined;
|
|
164
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
164
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
165
165
|
cursorColor?: import("react-native").ColorValue | undefined;
|
|
166
166
|
selectionHandleColor?: import("react-native").ColorValue | undefined;
|
|
167
167
|
disableFullscreenUI?: boolean | undefined;
|
|
@@ -174,7 +174,7 @@ export declare const TextFieldBase: React.ForwardRefExoticComponent<Readonly<Omi
|
|
|
174
174
|
showSoftInputOnFocus?: boolean | undefined;
|
|
175
175
|
textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
|
|
176
176
|
underlineColorAndroid?: import("react-native").ColorValue | undefined;
|
|
177
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
177
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
178
178
|
experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
|
|
179
179
|
autoCapitalize?: import("react-native").AutoCapitalize | undefined;
|
|
180
180
|
autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
|
|
@@ -138,7 +138,7 @@ export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<Re
|
|
|
138
138
|
pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
|
|
139
139
|
removeClippedSubviews?: boolean | undefined;
|
|
140
140
|
experimental_accessibilityOrder?: Array<string> | undefined;
|
|
141
|
-
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
141
|
+
}>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
142
142
|
disableKeyboardShortcuts?: boolean | undefined;
|
|
143
143
|
clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
|
|
144
144
|
clearTextOnFocus?: boolean | undefined;
|
|
@@ -155,7 +155,7 @@ export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<Re
|
|
|
155
155
|
lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
|
|
156
156
|
lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
|
|
157
157
|
smartInsertDelete?: boolean | undefined;
|
|
158
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
158
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
159
159
|
cursorColor?: import("react-native").ColorValue | undefined;
|
|
160
160
|
selectionHandleColor?: import("react-native").ColorValue | undefined;
|
|
161
161
|
disableFullscreenUI?: boolean | undefined;
|
|
@@ -168,7 +168,7 @@ export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<Re
|
|
|
168
168
|
showSoftInputOnFocus?: boolean | undefined;
|
|
169
169
|
textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
|
|
170
170
|
underlineColorAndroid?: import("react-native").ColorValue | undefined;
|
|
171
|
-
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "
|
|
171
|
+
}>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
|
|
172
172
|
experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
|
|
173
173
|
autoCapitalize?: import("react-native").AutoCapitalize | undefined;
|
|
174
174
|
autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
|
|
@@ -3,6 +3,9 @@ import type { ToastHostProps } from './types';
|
|
|
3
3
|
/**
|
|
4
4
|
* 在根附近挂一次。监听 toast() 调用并渲染当前 toast。
|
|
5
5
|
* 同一时间只显示一条 —— 新的会替换旧的。
|
|
6
|
+
*
|
|
7
|
+
* 位置由 `entry.position`('top' / 'bottom' / 'center')决定,top/bottom 自动避让
|
|
8
|
+
* safe-area;进入动画方向随位置(top 从上滑、bottom/center 从下滑)。
|
|
6
9
|
*/
|
|
7
10
|
export declare function ToastHost({ testID, }?: ToastHostProps): React.JSX.Element | null;
|
|
8
11
|
//# sourceMappingURL=ToastHost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastHost.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/ToastHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ToastHost.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/ToastHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAa3D,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,GACP,GAAE,cAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA6EhD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { toast } from './toast';
|
|
2
2
|
export { ToastHost } from './ToastHost';
|
|
3
|
-
export type { ToastEntry, ToastHostProps, ToastInput, ToastKind, } from './types';
|
|
3
|
+
export type { ToastEntry, ToastHostProps, ToastInput, ToastKind, ToastPosition, } from './types';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,GACd,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCrC,CAAC;AAEL;yDACyD;AACzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAS1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/toast.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAc,UAAU,EAAa,MAAM,SAAS,CAAC;AAG7E,eAAO,MAAM,KAAK,iBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/toast.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAc,UAAU,EAAa,MAAM,SAAS,CAAC;AAG7E,eAAO,MAAM,KAAK,iBAAwB,CAAC;AAgB3C;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,WAAyB,UAAU;kBACrC,UAAU;qBACP,UAAU;mBACZ,UAAU;CACzB,CAAC"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
/** Toast 类型:info=灰点 / success=绿点 / error=红点 */
|
|
2
2
|
export type ToastKind = 'info' | 'success' | 'error';
|
|
3
|
+
/** Toast 显示位置:top=顶部 / bottom=底部(默认) / center=屏幕居中 */
|
|
4
|
+
export type ToastPosition = 'top' | 'bottom' | 'center';
|
|
3
5
|
/**
|
|
4
6
|
* `toast(...)` 调用入参:
|
|
5
|
-
* - 字符串简写:默认 info kind
|
|
6
|
-
* - 对象形式:可指定 kind
|
|
7
|
+
* - 字符串简写:默认 info kind、bottom 位置、3000ms duration
|
|
8
|
+
* - 对象形式:可指定 kind / duration / position
|
|
7
9
|
*/
|
|
8
10
|
export type ToastInput = string | {
|
|
9
11
|
/** 消息文本 */
|
|
10
12
|
message: string;
|
|
11
13
|
/** Toast 类型,默认 'info' */
|
|
12
14
|
kind?: ToastKind;
|
|
13
|
-
/** 自动消失毫秒数,默认
|
|
15
|
+
/** 自动消失毫秒数,默认 3000 */
|
|
14
16
|
duration?: number;
|
|
17
|
+
/** 显示位置,默认 'bottom' */
|
|
18
|
+
position?: ToastPosition;
|
|
15
19
|
};
|
|
16
20
|
export type ToastEntry = {
|
|
17
21
|
/** 唯一 id(自增),用于动画切换识别 */
|
|
@@ -22,6 +26,8 @@ export type ToastEntry = {
|
|
|
22
26
|
kind: ToastKind;
|
|
23
27
|
/** 显示毫秒数 */
|
|
24
28
|
duration: number;
|
|
29
|
+
/** 显示位置 */
|
|
30
|
+
position: ToastPosition;
|
|
25
31
|
};
|
|
26
32
|
/** Toast 订阅者函数签名(ToastHost 内部用) */
|
|
27
33
|
export type Subscriber = (entry: ToastEntry) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IACE,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,sDAAsD;AACtD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IACE,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,UAAU,GAAG;IACvB,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
|