@hzblj/kara-components 0.17.0 → 0.18.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/CHANGELOG.md +49 -0
- package/lib/module/atoms/badge/badge.android.js +5 -0
- package/lib/module/atoms/badge/badge.android.js.map +1 -1
- package/lib/module/atoms/badge/badge.ios.js +2 -0
- package/lib/module/atoms/badge/badge.ios.js.map +1 -1
- package/lib/module/atoms/button/button-tokens.js +8 -0
- package/lib/module/atoms/button/button-tokens.js.map +1 -1
- package/lib/module/atoms/button/button.android.js +43 -15
- package/lib/module/atoms/button/button.android.js.map +1 -1
- package/lib/module/atoms/button/button.ios.js +66 -10
- package/lib/module/atoms/button/button.ios.js.map +1 -1
- package/lib/module/atoms/checkbox/checkbox.android.js +5 -1
- package/lib/module/atoms/checkbox/checkbox.android.js.map +1 -1
- package/lib/module/atoms/checkbox/checkbox.ios.js +3 -1
- package/lib/module/atoms/checkbox/checkbox.ios.js.map +1 -1
- package/lib/module/atoms/color-picker/color-picker.android.js +4 -0
- package/lib/module/atoms/color-picker/color-picker.android.js.map +1 -1
- package/lib/module/atoms/color-picker/color-picker.ios.js +24 -2
- package/lib/module/atoms/color-picker/color-picker.ios.js.map +1 -1
- package/lib/module/atoms/date-picker/date-picker.android.js +85 -10
- package/lib/module/atoms/date-picker/date-picker.android.js.map +1 -1
- package/lib/module/atoms/date-picker/date-picker.ios.js +9 -7
- package/lib/module/atoms/date-picker/date-picker.ios.js.map +1 -1
- package/lib/module/atoms/divider/divider.android.js +17 -4
- package/lib/module/atoms/divider/divider.android.js.map +1 -1
- package/lib/module/atoms/divider/divider.ios.js +4 -0
- package/lib/module/atoms/divider/divider.ios.js.map +1 -1
- package/lib/module/atoms/fab/fab.android.js +64 -8
- package/lib/module/atoms/fab/fab.android.js.map +1 -1
- package/lib/module/atoms/fab/fab.ios.js +68 -12
- package/lib/module/atoms/fab/fab.ios.js.map +1 -1
- package/lib/module/atoms/icon-button/icon-button.android.js +48 -5
- package/lib/module/atoms/icon-button/icon-button.android.js.map +1 -1
- package/lib/module/atoms/icon-button/icon-button.ios.js +60 -10
- package/lib/module/atoms/icon-button/icon-button.ios.js.map +1 -1
- package/lib/module/atoms/list/list.android.js +32 -4
- package/lib/module/atoms/list/list.android.js.map +1 -1
- package/lib/module/atoms/list/list.ios.js +15 -5
- package/lib/module/atoms/list/list.ios.js.map +1 -1
- package/lib/module/atoms/progress/progress.android.js +21 -7
- package/lib/module/atoms/progress/progress.android.js.map +1 -1
- package/lib/module/atoms/progress/progress.ios.js +5 -1
- package/lib/module/atoms/progress/progress.ios.js.map +1 -1
- package/lib/module/atoms/slider/slider.android.js +16 -2
- package/lib/module/atoms/slider/slider.android.js.map +1 -1
- package/lib/module/atoms/slider/slider.ios.js +22 -2
- package/lib/module/atoms/slider/slider.ios.js.map +1 -1
- package/lib/module/atoms/switch/switch.android.js +5 -1
- package/lib/module/atoms/switch/switch.android.js.map +1 -1
- package/lib/module/atoms/switch/switch.ios.js +3 -1
- package/lib/module/atoms/switch/switch.ios.js.map +1 -1
- package/lib/module/atoms/text/spans.js +2 -1
- package/lib/module/atoms/text/spans.js.map +1 -1
- package/lib/module/atoms/text/text.android.js +18 -6
- package/lib/module/atoms/text/text.android.js.map +1 -1
- package/lib/module/atoms/text/text.ios.js +6 -2
- package/lib/module/atoms/text/text.ios.js.map +1 -1
- package/lib/module/atoms/text-field/text-field-input.js +14 -0
- package/lib/module/atoms/text-field/text-field-input.js.map +1 -0
- package/lib/module/atoms/text-field/text-field.android.js +113 -6
- package/lib/module/atoms/text-field/text-field.android.js.map +1 -1
- package/lib/module/atoms/text-field/text-field.ios.js +75 -3
- package/lib/module/atoms/text-field/text-field.ios.js.map +1 -1
- package/lib/module/molecules/collapsible/collapsible.android.js +4 -3
- package/lib/module/molecules/collapsible/collapsible.android.js.map +1 -1
- package/lib/module/molecules/collapsible/collapsible.ios.js +3 -1
- package/lib/module/molecules/collapsible/collapsible.ios.js.map +1 -1
- package/lib/module/molecules/radio-group/radio-group.android.js +10 -2
- package/lib/module/molecules/radio-group/radio-group.android.js.map +1 -1
- package/lib/module/molecules/radio-group/radio-group.ios.js +6 -2
- package/lib/module/molecules/radio-group/radio-group.ios.js.map +1 -1
- package/lib/module/molecules/search-bar/search-bar.js +9 -0
- package/lib/module/molecules/search-bar/search-bar.js.map +1 -1
- package/lib/module/molecules/stepper/stepper.android.js +25 -13
- package/lib/module/molecules/stepper/stepper.android.js.map +1 -1
- package/lib/module/molecules/stepper/stepper.ios.js +12 -6
- package/lib/module/molecules/stepper/stepper.ios.js.map +1 -1
- package/lib/module/organisms/action-sheet/action-sheet.android.js +16 -8
- package/lib/module/organisms/action-sheet/action-sheet.android.js.map +1 -1
- package/lib/module/organisms/action-sheet/action-sheet.ios.js +16 -3
- package/lib/module/organisms/action-sheet/action-sheet.ios.js.map +1 -1
- package/lib/module/organisms/alert/alert.android.js +4 -3
- package/lib/module/organisms/alert/alert.android.js.map +1 -1
- package/lib/module/organisms/alert/alert.ios.js +3 -2
- package/lib/module/organisms/alert/alert.ios.js.map +1 -1
- package/lib/module/organisms/context-menu/context-menu.android.js +3 -1
- package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -1
- package/lib/module/organisms/context-menu/context-menu.ios.js +1 -0
- package/lib/module/organisms/context-menu/context-menu.ios.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.android.js +3 -0
- package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.ios.js +3 -0
- package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -1
- package/lib/module/organisms/menu/menu-parts.js +20 -0
- package/lib/module/organisms/menu/menu-parts.js.map +1 -0
- package/lib/module/organisms/menu/menu.android.js +51 -19
- package/lib/module/organisms/menu/menu.android.js.map +1 -1
- package/lib/module/organisms/menu/menu.ios.js +71 -8
- package/lib/module/organisms/menu/menu.ios.js.map +1 -1
- package/lib/module/organisms/sheet/sheet.js +2 -1
- package/lib/module/organisms/sheet/sheet.js.map +1 -1
- package/lib/typescript/atoms/badge/badge.types.d.ts +2 -0
- package/lib/typescript/atoms/button/button-tokens.d.ts +6 -2
- package/lib/typescript/atoms/button/button.types.d.ts +19 -5
- package/lib/typescript/atoms/checkbox/checkbox.types.d.ts +2 -0
- package/lib/typescript/atoms/color-picker/color-picker.types.d.ts +2 -0
- package/lib/typescript/atoms/date-picker/date-picker.ios.d.ts +5 -5
- package/lib/typescript/atoms/date-picker/date-picker.types.d.ts +30 -7
- package/lib/typescript/atoms/divider/divider.ios.d.ts +4 -0
- package/lib/typescript/atoms/divider/divider.types.d.ts +13 -2
- package/lib/typescript/atoms/fab/fab.types.d.ts +21 -4
- package/lib/typescript/atoms/icon-button/icon-button.types.d.ts +23 -4
- package/lib/typescript/atoms/list/list.types.d.ts +15 -1
- package/lib/typescript/atoms/progress/progress.types.d.ts +13 -2
- package/lib/typescript/atoms/slider/slider.ios.d.ts +4 -0
- package/lib/typescript/atoms/slider/slider.types.d.ts +7 -0
- package/lib/typescript/atoms/switch/switch.types.d.ts +2 -0
- package/lib/typescript/atoms/text/spans.d.ts +2 -0
- package/lib/typescript/atoms/text/text.types.d.ts +9 -1
- package/lib/typescript/atoms/text-field/text-field-input.d.ts +7 -0
- package/lib/typescript/atoms/text-field/text-field.types.d.ts +77 -4
- package/lib/typescript/molecules/collapsible/collapsible.types.d.ts +2 -0
- package/lib/typescript/molecules/radio-group/radio-group.types.d.ts +4 -0
- package/lib/typescript/molecules/search-bar/search-bar.types.d.ts +11 -1
- package/lib/typescript/molecules/stepper/stepper.ios.d.ts +2 -1
- package/lib/typescript/molecules/stepper/stepper.types.d.ts +17 -0
- package/lib/typescript/organisms/action-sheet/action-sheet.ios.d.ts +4 -0
- package/lib/typescript/organisms/action-sheet/action-sheet.types.d.ts +8 -3
- package/lib/typescript/organisms/alert/alert.types.d.ts +8 -3
- package/lib/typescript/organisms/menu/menu-parts.d.ts +14 -0
- package/lib/typescript/organisms/menu/menu.types.d.ts +35 -7
- package/lib/typescript/organisms/sheet/sheet.types.d.ts +7 -1
- package/package.json +4 -4
- package/src/atoms/badge/badge.android.tsx +9 -2
- package/src/atoms/badge/badge.ios.tsx +2 -2
- package/src/atoms/badge/badge.types.ts +2 -0
- package/src/atoms/button/button-tokens.ts +6 -3
- package/src/atoms/button/button.android.tsx +35 -11
- package/src/atoms/button/button.ios.tsx +72 -8
- package/src/atoms/button/button.types.ts +20 -5
- package/src/atoms/checkbox/checkbox.android.tsx +5 -2
- package/src/atoms/checkbox/checkbox.ios.tsx +2 -2
- package/src/atoms/checkbox/checkbox.types.ts +2 -0
- package/src/atoms/color-picker/color-picker.android.tsx +10 -2
- package/src/atoms/color-picker/color-picker.ios.tsx +24 -1
- package/src/atoms/color-picker/color-picker.types.ts +2 -0
- package/src/atoms/date-picker/date-picker.android.tsx +86 -16
- package/src/atoms/date-picker/date-picker.ios.tsx +20 -8
- package/src/atoms/date-picker/date-picker.types.ts +31 -7
- package/src/atoms/divider/divider.android.tsx +14 -3
- package/src/atoms/divider/divider.ios.tsx +4 -0
- package/src/atoms/divider/divider.types.ts +14 -2
- package/src/atoms/fab/fab.android.tsx +61 -11
- package/src/atoms/fab/fab.ios.tsx +48 -13
- package/src/atoms/fab/fab.types.ts +22 -4
- package/src/atoms/icon-button/icon-button.android.tsx +60 -10
- package/src/atoms/icon-button/icon-button.ios.tsx +77 -8
- package/src/atoms/icon-button/icon-button.types.ts +24 -4
- package/src/atoms/list/list.android.tsx +26 -4
- package/src/atoms/list/list.ios.tsx +20 -5
- package/src/atoms/list/list.types.ts +16 -1
- package/src/atoms/progress/progress.android.tsx +32 -6
- package/src/atoms/progress/progress.ios.tsx +11 -5
- package/src/atoms/progress/progress.types.ts +13 -2
- package/src/atoms/slider/slider.android.tsx +18 -2
- package/src/atoms/slider/slider.ios.tsx +38 -2
- package/src/atoms/slider/slider.types.ts +7 -0
- package/src/atoms/switch/switch.android.tsx +5 -2
- package/src/atoms/switch/switch.ios.tsx +2 -2
- package/src/atoms/switch/switch.types.ts +2 -0
- package/src/atoms/text/spans.ts +2 -1
- package/src/atoms/text/text.android.tsx +20 -7
- package/src/atoms/text/text.ios.tsx +7 -0
- package/src/atoms/text/text.types.ts +10 -1
- package/src/atoms/text-field/text-field-input.ts +17 -0
- package/src/atoms/text-field/text-field.android.tsx +132 -9
- package/src/atoms/text-field/text-field.ios.tsx +110 -6
- package/src/atoms/text-field/text-field.types.ts +98 -4
- package/src/molecules/collapsible/collapsible.android.tsx +10 -2
- package/src/molecules/collapsible/collapsible.ios.tsx +8 -2
- package/src/molecules/collapsible/collapsible.types.ts +2 -0
- package/src/molecules/radio-group/radio-group.android.tsx +18 -4
- package/src/molecules/radio-group/radio-group.ios.tsx +19 -5
- package/src/molecules/radio-group/radio-group.types.ts +4 -0
- package/src/molecules/search-bar/search-bar.tsx +9 -0
- package/src/molecules/search-bar/search-bar.types.ts +12 -1
- package/src/molecules/stepper/stepper.android.tsx +24 -4
- package/src/molecules/stepper/stepper.ios.tsx +23 -8
- package/src/molecules/stepper/stepper.types.ts +17 -0
- package/src/organisms/action-sheet/action-sheet.android.tsx +23 -11
- package/src/organisms/action-sheet/action-sheet.ios.tsx +20 -3
- package/src/organisms/action-sheet/action-sheet.types.ts +8 -3
- package/src/organisms/alert/alert.android.tsx +11 -8
- package/src/organisms/alert/alert.ios.tsx +2 -1
- package/src/organisms/alert/alert.types.ts +8 -3
- package/src/organisms/context-menu/context-menu.android.tsx +3 -2
- package/src/organisms/context-menu/context-menu.ios.tsx +1 -0
- package/src/organisms/fab-menu/fab-menu.android.tsx +3 -0
- package/src/organisms/fab-menu/fab-menu.ios.tsx +9 -1
- package/src/organisms/menu/menu-parts.ts +21 -0
- package/src/organisms/menu/menu.android.tsx +39 -10
- package/src/organisms/menu/menu.ios.tsx +55 -5
- package/src/organisms/menu/menu.types.ts +30 -7
- package/src/organisms/sheet/sheet.tsx +2 -1
- package/src/organisms/sheet/sheet.types.ts +7 -1
|
@@ -7,13 +7,18 @@ import { animateConfig, splitAccessibility, useAccessibilityModifiers, useSxModi
|
|
|
7
7
|
import { duration, easing, springPhysics, useAppTheme } from '@hzblj/kara-theme';
|
|
8
8
|
import { useMemo } from 'react';
|
|
9
9
|
import { useHostGuard } from "../../host-context.js";
|
|
10
|
-
import { spansOf } from "./spans.js";
|
|
10
|
+
import { spansOf, textOf } from "./spans.js";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
const DECORATION = {
|
|
13
13
|
none: 'none',
|
|
14
14
|
strikethrough: 'lineThrough',
|
|
15
15
|
underline: 'underline'
|
|
16
16
|
};
|
|
17
|
+
const OVERFLOW = {
|
|
18
|
+
head: 'startEllipsis',
|
|
19
|
+
middle: 'middleEllipsis',
|
|
20
|
+
tail: 'ellipsis'
|
|
21
|
+
};
|
|
17
22
|
const applyTransform = (children, transform) => {
|
|
18
23
|
if (!transform || typeof children !== 'string') {
|
|
19
24
|
return children;
|
|
@@ -66,6 +71,7 @@ export const Text = ({
|
|
|
66
71
|
numberOfLines,
|
|
67
72
|
testID,
|
|
68
73
|
transform,
|
|
74
|
+
truncation = 'tail',
|
|
69
75
|
variant = 'body',
|
|
70
76
|
...props
|
|
71
77
|
}) => {
|
|
@@ -78,12 +84,16 @@ export const Text = ({
|
|
|
78
84
|
const modifiers = useMemo(() => [...sxModifiers, ...(testID ? [testIdModifier(testID)] : []), ...accessibilityModifiers], [accessibilityModifiers, sxModifiers, testID]);
|
|
79
85
|
const spans = useMemo(() => spansOf(children, Text), [children]);
|
|
80
86
|
const animate = sx.animate === false ? undefined : sx.animate;
|
|
87
|
+
// Compose ellipsizes at the start or in the middle of a single line only, and clips a longer text: that ends at the
|
|
88
|
+
// tail instead.
|
|
89
|
+
const overflow = numberOfLines === 1 ? OVERFLOW[truncation] : 'ellipsis';
|
|
81
90
|
|
|
82
|
-
// `@expo/ui`'s text takes spans but animates none,
|
|
83
|
-
// eases each span's colour,
|
|
84
|
-
|
|
91
|
+
// `@expo/ui`'s text takes spans but animates none, sets no font features and ellipsizes only at the end: with
|
|
92
|
+
// `animate`, kara's own Compose text eases each span's colour, with `monospacedDigit` asks the face for its tabular
|
|
93
|
+
// figures, and puts the ellipsis at the start or in the middle of a line.
|
|
94
|
+
if (animate !== undefined || monospacedDigit || overflow !== 'ellipsis') {
|
|
85
95
|
const runs = spans ?? [{
|
|
86
|
-
text:
|
|
96
|
+
text: textOf(children)
|
|
87
97
|
}];
|
|
88
98
|
return /*#__PURE__*/_jsx(AnimatedText, {
|
|
89
99
|
animation: animate === undefined ? undefined : textAnimation(animateConfig(animate)),
|
|
@@ -100,13 +110,15 @@ export const Text = ({
|
|
|
100
110
|
})),
|
|
101
111
|
textAlign: align,
|
|
102
112
|
textColor: theme.colorString(color),
|
|
103
|
-
textDecoration: decorationOf(decoration)
|
|
113
|
+
textDecoration: decorationOf(decoration),
|
|
114
|
+
textOverflow: overflow
|
|
104
115
|
});
|
|
105
116
|
}
|
|
106
117
|
return /*#__PURE__*/_jsx(ComposeText, {
|
|
107
118
|
color: theme.colorString(color),
|
|
108
119
|
maxLines: numberOfLines,
|
|
109
120
|
modifiers: modifiers,
|
|
121
|
+
overflow: "ellipsis",
|
|
110
122
|
style: {
|
|
111
123
|
fontFamily: style.fontFamily,
|
|
112
124
|
fontSize: style.fontSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Text","ComposeText","testID","testIdModifier","AnimatedText","animateConfig","splitAccessibility","useAccessibilityModifiers","useSxModifiers","duration","easing","springPhysics","useAppTheme","useMemo","useHostGuard","spansOf","jsx","_jsx","DECORATION","none","strikethrough","underline","applyTransform","children","transform","toUpperCase","toLowerCase","decorationOf","decoration","undefined","transformed","text","textAnimation","config","spring","dampingRatio","stiffness","type","milliseconds","curve","omega","Math","PI","delayMillis","delay","durationMillis","align","color","monospaced","monospacedDigit","numberOfLines","variant","props","theme","style","monoTypography","typography","accessibility","sx","sxModifiers","accessibilityModifiers","modifiers","spans","animate","
|
|
1
|
+
{"version":3,"names":["Text","ComposeText","testID","testIdModifier","AnimatedText","animateConfig","splitAccessibility","useAccessibilityModifiers","useSxModifiers","duration","easing","springPhysics","useAppTheme","useMemo","useHostGuard","spansOf","textOf","jsx","_jsx","DECORATION","none","strikethrough","underline","OVERFLOW","head","middle","tail","applyTransform","children","transform","toUpperCase","toLowerCase","decorationOf","decoration","undefined","transformed","text","textAnimation","config","spring","dampingRatio","stiffness","type","milliseconds","curve","omega","Math","PI","delayMillis","delay","durationMillis","align","color","monospaced","monospacedDigit","numberOfLines","truncation","variant","props","theme","style","monoTypography","typography","accessibility","sx","sxModifiers","accessibilityModifiers","modifiers","spans","animate","overflow","runs","animation","fontFamily","fontFeatureSettings","fontSize","fontWeight","lineHeight","maxLines","map","span","colorString","textAlign","textColor","textDecoration","textOverflow","index"],"sourceRoot":"../../../../src","sources":["atoms/text/text.android.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Text as SwiftUIText } from '@expo/ui/swift-ui';
|
|
4
|
-
import { foregroundStyle, lineLimit, lineSpacing, monospacedDigit as monospacedDigitModifier, multilineTextAlignment, strikethrough, textCase, underline } from '@expo/ui/swift-ui/modifiers';
|
|
4
|
+
import { foregroundStyle, lineLimit, lineSpacing, monospacedDigit as monospacedDigitModifier, multilineTextAlignment, strikethrough, textCase, truncationMode, underline } from '@expo/ui/swift-ui/modifiers';
|
|
5
5
|
import { scaledFont } from '@hzblj/kara-native/swift-ui';
|
|
6
6
|
import { splitAccessibility, textColorTransition, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
|
|
7
7
|
import { useAppTheme } from '@hzblj/kara-theme';
|
|
@@ -31,6 +31,7 @@ export const Text = ({
|
|
|
31
31
|
numberOfLines,
|
|
32
32
|
testID,
|
|
33
33
|
transform,
|
|
34
|
+
truncation,
|
|
34
35
|
variant = 'body',
|
|
35
36
|
...props
|
|
36
37
|
}) => {
|
|
@@ -79,8 +80,11 @@ export const Text = ({
|
|
|
79
80
|
if (numberOfLines !== undefined) {
|
|
80
81
|
list.push(lineLimit(numberOfLines));
|
|
81
82
|
}
|
|
83
|
+
if (truncation) {
|
|
84
|
+
list.push(truncationMode(truncation));
|
|
85
|
+
}
|
|
82
86
|
return [...list, ...transition, ...sxModifiers, ...accessibilityModifiers];
|
|
83
|
-
}, [accessibilityModifiers, align, color, decoration, monospacedDigit, numberOfLines, style, sxModifiers, theme, transform, transition]);
|
|
87
|
+
}, [accessibilityModifiers, align, color, decoration, monospacedDigit, numberOfLines, style, sxModifiers, theme, transform, transition, truncation]);
|
|
84
88
|
return /*#__PURE__*/_jsx(SwiftUIText, {
|
|
85
89
|
modifiers: modifiers,
|
|
86
90
|
testID: testID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Text","SwiftUIText","foregroundStyle","lineLimit","lineSpacing","monospacedDigit","monospacedDigitModifier","multilineTextAlignment","strikethrough","textCase","underline","scaledFont","splitAccessibility","textColorTransition","useAccessibilityModifiers","useSxModifiers","useAppTheme","useMemo","useHostGuard","spansKey","spansOf","jsx","_jsx","ALIGNMENT","center","left","right","FRAME_ALIGNMENT","align","children","color","decoration","monospaced","numberOfLines","testID","transform","variant","props","theme","style","monoTypography","typography","accessibility","sx","sxModifiers","accessibilityModifiers","spans","animate","transition","modifiers","list","family","fontFamily","size","fontSize","textStyle","scalesWith","weight","Math","max","lineHeight","push","isActive","pattern","undefined","map","span","index","text"],"sourceRoot":"../../../../src","sources":["atoms/text/text.ios.tsx"],"mappings":";;AAAA,SAAQA,IAAI,IAAIC,WAAW,QAAO,mBAAmB;AACrD,SACEC,eAAe,EACfC,SAAS,EACTC,WAAW,EAEXC,eAAe,IAAIC,uBAAuB,EAC1CC,sBAAsB,EACtBC,aAAa,EACbC,QAAQ,EACRC,SAAS,QACJ,6BAA6B;AACpC,SAAQC,UAAU,QAAO,6BAA6B;AACtD,SAEEC,kBAAkB,EAClBC,mBAAmB,EACnBC,yBAAyB,EACzBC,cAAc,QACT,gBAAgB;AACvB,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,OAAO,QAAO,OAAO;AAE7B,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,QAAQ,EAAEC,OAAO,QAAO,YAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGzC,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;AACT,CAAU;;AAEV;AACA,MAAMC,eAAe,GAAG;EACtBH,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;AACT,CAAsD;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"names":["Text","SwiftUIText","foregroundStyle","lineLimit","lineSpacing","monospacedDigit","monospacedDigitModifier","multilineTextAlignment","strikethrough","textCase","truncationMode","underline","scaledFont","splitAccessibility","textColorTransition","useAccessibilityModifiers","useSxModifiers","useAppTheme","useMemo","useHostGuard","spansKey","spansOf","jsx","_jsx","ALIGNMENT","center","left","right","FRAME_ALIGNMENT","align","children","color","decoration","monospaced","numberOfLines","testID","transform","truncation","variant","props","theme","style","monoTypography","typography","accessibility","sx","sxModifiers","accessibilityModifiers","spans","animate","transition","modifiers","list","family","fontFamily","size","fontSize","textStyle","scalesWith","weight","Math","max","lineHeight","push","isActive","pattern","undefined","map","span","index","text"],"sourceRoot":"../../../../src","sources":["atoms/text/text.ios.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** Keyboards for an address, where a capital or a correction the user did not type would only break it. */
|
|
4
|
+
const ADDRESS_KEYBOARDS = new Set(['email', 'url']);
|
|
5
|
+
|
|
6
|
+
/** The capitalisation asked for, else `none` for an address; `undefined` leaves the platform's own. */
|
|
7
|
+
export const capitalizationFor = (keyboard, autoCapitalize) => autoCapitalize ?? (ADDRESS_KEYBOARDS.has(keyboard) ? 'none' : undefined);
|
|
8
|
+
|
|
9
|
+
/** Autocorrection as asked for, else on for everything but an address. */
|
|
10
|
+
export const autoCorrectFor = (keyboard, autoCorrect) => autoCorrect ?? !ADDRESS_KEYBOARDS.has(keyboard);
|
|
11
|
+
|
|
12
|
+
/** A no-op for a ref call that lands after the native view has gone. */
|
|
13
|
+
export const ignoreDetachedView = () => undefined;
|
|
14
|
+
//# sourceMappingURL=text-field-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ADDRESS_KEYBOARDS","Set","capitalizationFor","keyboard","autoCapitalize","has","undefined","autoCorrectFor","autoCorrect","ignoreDetachedView"],"sourceRoot":"../../../../src","sources":["atoms/text-field/text-field-input.ts"],"mappings":";;AAEA;AACA,MAAMA,iBAAiD,GAAG,IAAIC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;;AAEnF;AACA,OAAO,MAAMC,iBAAiB,GAAGA,CAC/BC,QAA2B,EAC3BC,cAAmD,KACXA,cAAc,KAAKJ,iBAAiB,CAACK,GAAG,CAACF,QAAQ,CAAC,GAAG,MAAM,GAAGG,SAAS,CAAC;;AAElH;AACA,OAAO,MAAMC,cAAc,GAAGA,CAACJ,QAA2B,EAAEK,WAAgC,KAC1FA,WAAW,IAAI,CAACR,iBAAiB,CAACK,GAAG,CAACF,QAAQ,CAAC;;AAEjD;AACA,OAAO,MAAMM,kBAAkB,GAAGA,CAAA,KAAMH,SAAS","ignoreList":[]}
|
|
@@ -1,28 +1,122 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Column, Text as ComposeText, OutlinedTextField, useNativeState } from '@expo/ui/jetpack-compose';
|
|
4
|
+
import { semantics, testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
4
5
|
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
5
6
|
import { useAppTheme } from '@hzblj/kara-theme';
|
|
7
|
+
import { useImperativeHandle, useMemo, useRef } from 'react';
|
|
6
8
|
import { Glyph } from "../../glyph/index.js";
|
|
7
9
|
import { useHostGuard } from "../../host-context.js";
|
|
10
|
+
import { autoCorrectFor, capitalizationFor, ignoreDetachedView } from "./text-field-input.js";
|
|
8
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
const KEYBOARD = {
|
|
13
|
+
decimal: 'decimal',
|
|
14
|
+
default: 'text',
|
|
15
|
+
email: 'email',
|
|
16
|
+
number: 'number',
|
|
17
|
+
phone: 'phone',
|
|
18
|
+
url: 'uri'
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A `secure` field asks for the password keyboards: they suggest nothing and learn nothing, and they are what Android's
|
|
23
|
+
* autofill takes for a password field.
|
|
24
|
+
*/
|
|
25
|
+
const SECURE_KEYBOARD = {
|
|
26
|
+
...KEYBOARD,
|
|
27
|
+
default: 'password',
|
|
28
|
+
number: 'numberPassword'
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/** Compose's autofill `ContentType`s, by the hint names `@expo/ui`'s `semantics` modifier maps to them. */
|
|
32
|
+
const AUTOFILL_HINT = {
|
|
33
|
+
addressCity: 'postal-address-locality',
|
|
34
|
+
countryName: 'country',
|
|
35
|
+
creditCardNumber: 'cc-number',
|
|
36
|
+
emailAddress: 'email',
|
|
37
|
+
familyName: 'family-name',
|
|
38
|
+
fullStreetAddress: 'street-address',
|
|
39
|
+
givenName: 'given-name',
|
|
40
|
+
name: 'name',
|
|
41
|
+
newPassword: 'new-password',
|
|
42
|
+
oneTimeCode: 'one-time-code',
|
|
43
|
+
password: 'password',
|
|
44
|
+
postalCode: 'postal-code',
|
|
45
|
+
streetAddressLine1: 'address-line1',
|
|
46
|
+
streetAddressLine2: 'address-line2',
|
|
47
|
+
telephoneNumber: 'tel',
|
|
48
|
+
username: 'username'
|
|
49
|
+
};
|
|
9
50
|
export const TextField = ({
|
|
51
|
+
autoCapitalize,
|
|
52
|
+
autoCorrect,
|
|
53
|
+
autoFocus = false,
|
|
54
|
+
contentType,
|
|
10
55
|
defaultValue = '',
|
|
11
56
|
disabled = false,
|
|
12
57
|
error = false,
|
|
58
|
+
keyboard = 'default',
|
|
13
59
|
label,
|
|
60
|
+
maxLength,
|
|
14
61
|
multiline = false,
|
|
15
62
|
onChangeText,
|
|
16
|
-
|
|
63
|
+
onFocusChange,
|
|
64
|
+
onSubmit,
|
|
65
|
+
placeholder,
|
|
66
|
+
ref,
|
|
67
|
+
secure = false,
|
|
68
|
+
submitLabel,
|
|
69
|
+
testID
|
|
17
70
|
}) => {
|
|
18
71
|
useHostGuard('TextField');
|
|
19
72
|
const theme = useAppTheme();
|
|
20
73
|
const value = useNativeState(defaultValue);
|
|
21
|
-
const
|
|
74
|
+
const field = useRef(null);
|
|
75
|
+
const sxModifiers = useSxModifiers({
|
|
22
76
|
wide: true
|
|
23
77
|
});
|
|
24
78
|
const invalid = Boolean(error);
|
|
25
79
|
const message = typeof error === 'string' && error ? error : undefined;
|
|
80
|
+
const face = {
|
|
81
|
+
fontFamily: theme.typography.body.fontFamily,
|
|
82
|
+
fontWeight: theme.typography.body.fontWeight
|
|
83
|
+
};
|
|
84
|
+
const capitalization = capitalizationFor(keyboard, autoCapitalize) ?? 'none';
|
|
85
|
+
const corrects = !secure && autoCorrectFor(keyboard, autoCorrect);
|
|
86
|
+
const singleLine = !multiline;
|
|
87
|
+
const submits = singleLine && Boolean(onSubmit);
|
|
88
|
+
useImperativeHandle(ref, () => ({
|
|
89
|
+
blur: () => field.current?.blur().catch(ignoreDetachedView),
|
|
90
|
+
// The field reports no text set from code, so the change is reported here.
|
|
91
|
+
clear: () => {
|
|
92
|
+
field.current?.clear().catch(ignoreDetachedView);
|
|
93
|
+
onChangeText?.('');
|
|
94
|
+
},
|
|
95
|
+
focus: () => field.current?.focus().catch(ignoreDetachedView)
|
|
96
|
+
}), [onChangeText]);
|
|
97
|
+
const modifiers = useMemo(() => [...sxModifiers, ...(testID ? [testIdModifier(testID)] : []), ...(contentType ? [semantics({
|
|
98
|
+
contentType: AUTOFILL_HINT[contentType]
|
|
99
|
+
})] : [])], [contentType, sxModifiers, testID]);
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* A multiline field keeps the default action, a return key that starts a new line. A single-line one asked for
|
|
103
|
+
* `onSubmit` without a `submitLabel` gets `done`: Compose only runs the keyboard action it was given.
|
|
104
|
+
*/
|
|
105
|
+
const keyboardOptions = useMemo(() => ({
|
|
106
|
+
autoCorrectEnabled: corrects,
|
|
107
|
+
capitalization,
|
|
108
|
+
imeAction: singleLine ? submitLabel ?? (submits ? 'done' : 'default') : 'default',
|
|
109
|
+
keyboardType: (secure ? SECURE_KEYBOARD : KEYBOARD)[keyboard]
|
|
110
|
+
}), [capitalization, corrects, keyboard, secure, singleLine, submitLabel, submits]);
|
|
111
|
+
|
|
112
|
+
// Only the action matching `imeAction` ever fires, so each one is the submit.
|
|
113
|
+
const keyboardActions = useMemo(() => submits && onSubmit ? {
|
|
114
|
+
onDone: onSubmit,
|
|
115
|
+
onGo: onSubmit,
|
|
116
|
+
onNext: onSubmit,
|
|
117
|
+
onSearch: onSubmit,
|
|
118
|
+
onSend: onSubmit
|
|
119
|
+
} : undefined, [onSubmit, submits]);
|
|
26
120
|
return /*#__PURE__*/_jsxs(Column, {
|
|
27
121
|
verticalArrangement: {
|
|
28
122
|
spacedBy: 4
|
|
@@ -32,19 +126,32 @@ export const TextField = ({
|
|
|
32
126
|
style: theme.typography.labelMedium,
|
|
33
127
|
children: label
|
|
34
128
|
}) : null, /*#__PURE__*/_jsxs(OutlinedTextField, {
|
|
129
|
+
autoFocus: autoFocus,
|
|
35
130
|
enabled: !disabled,
|
|
36
131
|
isError: invalid,
|
|
132
|
+
keyboardActions: keyboardActions,
|
|
133
|
+
keyboardOptions: keyboardOptions,
|
|
134
|
+
maxLength: maxLength,
|
|
37
135
|
modifiers: modifiers,
|
|
136
|
+
onFocusChanged: onFocusChange,
|
|
38
137
|
onValueChange: onChangeText,
|
|
39
|
-
|
|
138
|
+
ref: field,
|
|
139
|
+
singleLine: singleLine,
|
|
40
140
|
textStyle: {
|
|
41
141
|
color: theme.colorString('content.primary'),
|
|
42
|
-
|
|
43
|
-
fontWeight: theme.typography.body.fontWeight
|
|
142
|
+
...face
|
|
44
143
|
},
|
|
45
144
|
value: value,
|
|
46
145
|
visualTransformation: secure ? 'password' : 'none',
|
|
47
|
-
children: [
|
|
146
|
+
children: [placeholder ?
|
|
147
|
+
/*#__PURE__*/
|
|
148
|
+
// No colour of its own: Material's placeholder colour comes down to it, dimmed with the field.
|
|
149
|
+
_jsx(OutlinedTextField.Placeholder, {
|
|
150
|
+
children: /*#__PURE__*/_jsx(ComposeText, {
|
|
151
|
+
style: face,
|
|
152
|
+
children: placeholder
|
|
153
|
+
})
|
|
154
|
+
}) : null, invalid ? /*#__PURE__*/_jsx(OutlinedTextField.TrailingIcon, {
|
|
48
155
|
children: /*#__PURE__*/_jsx(Glyph, {
|
|
49
156
|
color: "content.destructive",
|
|
50
157
|
name: "error"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Column","Text","ComposeText","OutlinedTextField","useNativeState","useSxModifiers","useAppTheme","Glyph","useHostGuard","jsx","_jsx","jsxs","_jsxs","TextField","defaultValue","disabled","error","label","multiline","onChangeText","secure","theme","value","
|
|
1
|
+
{"version":3,"names":["Column","Text","ComposeText","OutlinedTextField","useNativeState","semantics","testID","testIdModifier","useSxModifiers","useAppTheme","useImperativeHandle","useMemo","useRef","Glyph","useHostGuard","autoCorrectFor","capitalizationFor","ignoreDetachedView","jsx","_jsx","jsxs","_jsxs","KEYBOARD","decimal","default","email","number","phone","url","SECURE_KEYBOARD","AUTOFILL_HINT","addressCity","countryName","creditCardNumber","emailAddress","familyName","fullStreetAddress","givenName","name","newPassword","oneTimeCode","password","postalCode","streetAddressLine1","streetAddressLine2","telephoneNumber","username","TextField","autoCapitalize","autoCorrect","autoFocus","contentType","defaultValue","disabled","error","keyboard","label","maxLength","multiline","onChangeText","onFocusChange","onSubmit","placeholder","ref","secure","submitLabel","theme","value","field","sxModifiers","wide","invalid","Boolean","message","undefined","face","fontFamily","typography","body","fontWeight","capitalization","corrects","singleLine","submits","blur","current","catch","clear","focus","modifiers","keyboardOptions","autoCorrectEnabled","imeAction","keyboardType","keyboardActions","onDone","onGo","onNext","onSearch","onSend","verticalArrangement","spacedBy","children","color","colorString","style","labelMedium","enabled","isError","onFocusChanged","onValueChange","textStyle","visualTransformation","Placeholder","TrailingIcon","SupportingText","footnote"],"sourceRoot":"../../../../src","sources":["atoms/text-field/text-field.android.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { SecureField, TextField as SwiftUITextField, useNativeState, VStack } from '@expo/ui/swift-ui';
|
|
4
|
-
import { disabled as disabledModifier, textFieldStyle } from '@expo/ui/swift-ui/modifiers';
|
|
4
|
+
import { autocorrectionDisabled, disabled as disabledModifier, keyboardType, onSubmit as onSubmitModifier, submitLabel as submitLabelModifier, textContentType, textFieldStyle, textInputAutocapitalization } from '@expo/ui/swift-ui/modifiers';
|
|
5
5
|
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
6
6
|
import { spacing } from '@hzblj/kara-theme';
|
|
7
|
-
import { useMemo } from 'react';
|
|
7
|
+
import { useImperativeHandle, useMemo, useRef } from 'react';
|
|
8
8
|
import { useHostGuard } from "../../host-context.js";
|
|
9
9
|
import { Text } from "../text/index.js";
|
|
10
|
+
import { autoCorrectFor, capitalizationFor, ignoreDetachedView } from "./text-field-input.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
const TONE = {
|
|
12
13
|
default: {
|
|
@@ -26,6 +27,22 @@ const TONE = {
|
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
29
|
|
|
30
|
+
/** UIKit's keyboards. `number` is the digits-only pad, which, like `decimal` and `phone`, has no return key. */
|
|
31
|
+
const KEYBOARD = {
|
|
32
|
+
decimal: 'decimal-pad',
|
|
33
|
+
default: 'default',
|
|
34
|
+
email: 'email-address',
|
|
35
|
+
number: 'numeric',
|
|
36
|
+
phone: 'phone-pad',
|
|
37
|
+
url: 'url'
|
|
38
|
+
};
|
|
39
|
+
const CAPITALIZATION = {
|
|
40
|
+
characters: 'characters',
|
|
41
|
+
none: 'never',
|
|
42
|
+
sentences: 'sentences',
|
|
43
|
+
words: 'words'
|
|
44
|
+
};
|
|
45
|
+
|
|
29
46
|
/**
|
|
30
47
|
* Disabled outranks error — a field nobody can edit should recede rather than shout. `.disabled` only
|
|
31
48
|
* dims the text, so the chrome has to carry the state itself.
|
|
@@ -37,19 +54,45 @@ const toneOf = (disabled, error) => {
|
|
|
37
54
|
return error ? 'error' : 'default';
|
|
38
55
|
};
|
|
39
56
|
export const TextField = ({
|
|
57
|
+
autoCapitalize,
|
|
58
|
+
autoCorrect,
|
|
59
|
+
autoFocus = false,
|
|
60
|
+
contentType,
|
|
40
61
|
defaultValue = '',
|
|
41
62
|
disabled = false,
|
|
42
63
|
error = false,
|
|
64
|
+
keyboard = 'default',
|
|
43
65
|
label,
|
|
66
|
+
maxLength,
|
|
44
67
|
multiline = false,
|
|
45
68
|
onChangeText,
|
|
69
|
+
onFocusChange,
|
|
70
|
+
onSubmit,
|
|
71
|
+
placeholder,
|
|
72
|
+
ref,
|
|
46
73
|
secure = false,
|
|
74
|
+
submitLabel,
|
|
47
75
|
testID
|
|
48
76
|
}) => {
|
|
49
77
|
useHostGuard('TextField');
|
|
50
78
|
const text = useNativeState(defaultValue);
|
|
79
|
+
// One handle for either field: `SecureFieldRef` is `TextFieldRef` without the selection.
|
|
80
|
+
const field = useRef(null);
|
|
51
81
|
const tone = TONE[toneOf(disabled, Boolean(error))];
|
|
52
82
|
const message = tone === TONE.error && typeof error === 'string' && error ? error : undefined;
|
|
83
|
+
const capitalization = capitalizationFor(keyboard, autoCapitalize);
|
|
84
|
+
const corrects = autoCorrectFor(keyboard, autoCorrect);
|
|
85
|
+
// A `SecureField` is one line whatever `multiline` says; a vertical `TextField`'s return key starts a new line.
|
|
86
|
+
const singleLine = secure || !multiline;
|
|
87
|
+
useImperativeHandle(ref, () => ({
|
|
88
|
+
blur: () => field.current?.blur().catch(ignoreDetachedView),
|
|
89
|
+
// Neither field reports a text set from code, so the change is reported here.
|
|
90
|
+
clear: () => {
|
|
91
|
+
field.current?.clear().catch(ignoreDetachedView);
|
|
92
|
+
onChangeText?.('');
|
|
93
|
+
},
|
|
94
|
+
focus: () => field.current?.focus().catch(ignoreDetachedView)
|
|
95
|
+
}), [onChangeText]);
|
|
53
96
|
const sxModifiers = useSxModifiers({
|
|
54
97
|
bg: tone.bg,
|
|
55
98
|
borderColor: tone.border,
|
|
@@ -64,8 +107,27 @@ export const TextField = ({
|
|
|
64
107
|
if (disabled) {
|
|
65
108
|
list.push(disabledModifier(true));
|
|
66
109
|
}
|
|
110
|
+
if (keyboard !== 'default') {
|
|
111
|
+
list.push(keyboardType(KEYBOARD[keyboard]));
|
|
112
|
+
}
|
|
113
|
+
if (capitalization) {
|
|
114
|
+
list.push(textInputAutocapitalization(CAPITALIZATION[capitalization]));
|
|
115
|
+
}
|
|
116
|
+
if (!corrects) {
|
|
117
|
+
list.push(autocorrectionDisabled(true));
|
|
118
|
+
}
|
|
119
|
+
if (contentType) {
|
|
120
|
+
list.push(textContentType(contentType));
|
|
121
|
+
}
|
|
122
|
+
if (singleLine && submitLabel) {
|
|
123
|
+
list.push(submitLabelModifier(submitLabel));
|
|
124
|
+
}
|
|
125
|
+
if (singleLine && onSubmit) {
|
|
126
|
+
// `onSubmit` reports no text, so it is read off the field's state, which the typing has already written.
|
|
127
|
+
list.push(onSubmitModifier(() => onSubmit(text.get())));
|
|
128
|
+
}
|
|
67
129
|
return list;
|
|
68
|
-
}, [disabled, sxModifiers]);
|
|
130
|
+
}, [capitalization, contentType, corrects, disabled, keyboard, onSubmit, singleLine, submitLabel, sxModifiers, text]);
|
|
69
131
|
return /*#__PURE__*/_jsxs(VStack, {
|
|
70
132
|
alignment: "leading",
|
|
71
133
|
spacing: spacing.s4,
|
|
@@ -74,14 +136,24 @@ export const TextField = ({
|
|
|
74
136
|
variant: "labelMedium",
|
|
75
137
|
children: label
|
|
76
138
|
}) : null, secure ? /*#__PURE__*/_jsx(SecureField, {
|
|
139
|
+
autoFocus: autoFocus,
|
|
140
|
+
maxLength: maxLength,
|
|
77
141
|
modifiers: modifiers,
|
|
142
|
+
onFocusChange: onFocusChange,
|
|
78
143
|
onTextChange: onChangeText,
|
|
144
|
+
placeholder: placeholder,
|
|
145
|
+
ref: field,
|
|
79
146
|
testID: testID,
|
|
80
147
|
text: text
|
|
81
148
|
}) : /*#__PURE__*/_jsx(SwiftUITextField, {
|
|
149
|
+
autoFocus: autoFocus,
|
|
82
150
|
axis: multiline ? 'vertical' : 'horizontal',
|
|
151
|
+
maxLength: maxLength,
|
|
83
152
|
modifiers: modifiers,
|
|
153
|
+
onFocusChange: onFocusChange,
|
|
84
154
|
onTextChange: onChangeText,
|
|
155
|
+
placeholder: placeholder,
|
|
156
|
+
ref: field,
|
|
85
157
|
testID: testID,
|
|
86
158
|
text: text
|
|
87
159
|
}), message ? /*#__PURE__*/_jsx(Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SecureField","TextField","SwiftUITextField","useNativeState","VStack","disabled","disabledModifier","textFieldStyle","useSxModifiers","spacing","useMemo","useHostGuard","Text","jsx","_jsx","jsxs","_jsxs","TONE","default","bg","border","label","error","toneOf","defaultValue","multiline","onChangeText","secure","testID","text","tone","Boolean","message","undefined","sxModifiers","borderColor","borderRadius","borderWidth","px","py","wide","modifiers","list","push","alignment","s4","children","color","variant","onTextChange","axis"],"sourceRoot":"../../../../src","sources":["atoms/text-field/text-field.ios.tsx"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"names":["SecureField","TextField","SwiftUITextField","useNativeState","VStack","autocorrectionDisabled","disabled","disabledModifier","keyboardType","onSubmit","onSubmitModifier","submitLabel","submitLabelModifier","textContentType","textFieldStyle","textInputAutocapitalization","useSxModifiers","spacing","useImperativeHandle","useMemo","useRef","useHostGuard","Text","autoCorrectFor","capitalizationFor","ignoreDetachedView","jsx","_jsx","jsxs","_jsxs","TONE","default","bg","border","label","error","KEYBOARD","decimal","email","number","phone","url","CAPITALIZATION","characters","none","sentences","words","toneOf","autoCapitalize","autoCorrect","autoFocus","contentType","defaultValue","keyboard","maxLength","multiline","onChangeText","onFocusChange","placeholder","ref","secure","testID","text","field","tone","Boolean","message","undefined","capitalization","corrects","singleLine","blur","current","catch","clear","focus","sxModifiers","borderColor","borderRadius","borderWidth","px","py","wide","modifiers","list","push","get","alignment","s4","children","color","variant","onTextChange","axis"],"sourceRoot":"../../../../src","sources":["atoms/text-field/text-field.ios.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { AnimatedVisibility, Box, Column, Text as ComposeText, EnterTransition, ExitTransition, Row } from '@expo/ui/jetpack-compose';
|
|
4
|
-
import { animated, clickable, defaultMinSize, fillMaxWidth, graphicsLayer, tween } from '@expo/ui/jetpack-compose/modifiers';
|
|
4
|
+
import { animated, clickable, defaultMinSize, fillMaxWidth, graphicsLayer, testID as testIdModifier, tween } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
5
|
import { useAccessibilityModifiers } from '@hzblj/kara-sx';
|
|
6
6
|
import { duration, useAppTheme, useReducedMotion } from '@hzblj/kara-theme';
|
|
7
7
|
import { useMemo } from 'react';
|
|
@@ -38,7 +38,8 @@ export const Collapsible = ({
|
|
|
38
38
|
children,
|
|
39
39
|
expanded,
|
|
40
40
|
label,
|
|
41
|
-
onExpandedChange
|
|
41
|
+
onExpandedChange,
|
|
42
|
+
testID
|
|
42
43
|
}) => {
|
|
43
44
|
useHostGuard('Collapsible');
|
|
44
45
|
const theme = useAppTheme();
|
|
@@ -46,7 +47,7 @@ export const Collapsible = ({
|
|
|
46
47
|
const accessibilityModifiers = useAccessibilityModifiers({}, true);
|
|
47
48
|
const modifiers = useMemo(() => [fillMaxWidth(), defaultMinSize({
|
|
48
49
|
minHeight: ROW_HEIGHT
|
|
49
|
-
}), clickable(() => onExpandedChange(!expanded)), ...accessibilityModifiers], [accessibilityModifiers, expanded, onExpandedChange]);
|
|
50
|
+
}), ...(testID ? [testIdModifier(testID)] : []), clickable(() => onExpandedChange(!expanded)), ...accessibilityModifiers], [accessibilityModifiers, expanded, onExpandedChange, testID]);
|
|
50
51
|
const turn = useMemo(() => [graphicsLayer({
|
|
51
52
|
rotationZ: animated(expanded ? 90 : 0, reduced ? SNAP : TURN)
|
|
52
53
|
})], [expanded, reduced]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AnimatedVisibility","Box","Column","Text","ComposeText","EnterTransition","ExitTransition","Row","animated","clickable","defaultMinSize","fillMaxWidth","graphicsLayer","tween","useAccessibilityModifiers","duration","useAppTheme","useReducedMotion","useMemo","Glyph","useHostGuard","jsx","_jsx","jsxs","_jsxs","TURN","durationMillis","fast","easing","SNAP","none","ENTER","expandVertically","plus","fadeIn","EXIT","shrinkVertically","fadeOut","FADE_IN","FADE_OUT","WIDE","ROW_HEIGHT","Collapsible","children","expanded","label","onExpandedChange","theme","reduced","accessibilityModifiers","modifiers","minHeight","turn","rotationZ","horizontalArrangement","verticalAlignment","color","colorString","style","typography","body","name","size","enterTransition","exitTransition","visible"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.android.tsx"],"mappings":";;AAAA,SACEA,kBAAkB,EAClBC,GAAG,EACHC,MAAM,EACNC,IAAI,IAAIC,WAAW,EACnBC,eAAe,EACfC,cAAc,EACdC,GAAG,QACE,0BAA0B;AACjC,SACEC,QAAQ,EACRC,SAAS,EACTC,cAAc,EACdC,YAAY,EACZC,aAAa,EACbC,KAAK,QACA,oCAAoC;AAC3C,SAAQC,yBAAyB,QAAO,gBAAgB;AACxD,SAAQC,QAAQ,EAAEC,WAAW,EAAEC,gBAAgB,QAAO,mBAAmB;AACzE,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,KAAK,QAAO,sBAAa;AACjC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA,MAAMC,IAAI,GAAGZ,KAAK,CAAC;EAACa,cAAc,EAAEX,QAAQ,CAACY,IAAI;EAAEC,MAAM,EAAE;AAAe,CAAC,CAAC;AAC5E,MAAMC,IAAI,GAAGhB,KAAK,CAAC;EAACa,cAAc,EAAEX,QAAQ,CAACe;AAAI,CAAC,CAAC;;AAEnD;AACA,MAAMC,KAAK,
|
|
1
|
+
{"version":3,"names":["AnimatedVisibility","Box","Column","Text","ComposeText","EnterTransition","ExitTransition","Row","animated","clickable","defaultMinSize","fillMaxWidth","graphicsLayer","testID","testIdModifier","tween","useAccessibilityModifiers","duration","useAppTheme","useReducedMotion","useMemo","Glyph","useHostGuard","jsx","_jsx","jsxs","_jsxs","TURN","durationMillis","fast","easing","SNAP","none","ENTER","expandVertically","plus","fadeIn","EXIT","shrinkVertically","fadeOut","FADE_IN","FADE_OUT","WIDE","ROW_HEIGHT","Collapsible","children","expanded","label","onExpandedChange","theme","reduced","accessibilityModifiers","modifiers","minHeight","turn","rotationZ","horizontalArrangement","verticalAlignment","color","colorString","style","typography","body","name","size","enterTransition","exitTransition","visible"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.android.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,13 +7,15 @@ export const Collapsible = ({
|
|
|
7
7
|
children,
|
|
8
8
|
expanded,
|
|
9
9
|
label,
|
|
10
|
-
onExpandedChange
|
|
10
|
+
onExpandedChange,
|
|
11
|
+
testID
|
|
11
12
|
}) => {
|
|
12
13
|
useHostGuard('Collapsible');
|
|
13
14
|
return /*#__PURE__*/_jsx(DisclosureGroup, {
|
|
14
15
|
isExpanded: expanded,
|
|
15
16
|
label: label,
|
|
16
17
|
onIsExpandedChange: onExpandedChange,
|
|
18
|
+
testID: testID,
|
|
17
19
|
children: children
|
|
18
20
|
});
|
|
19
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DisclosureGroup","useHostGuard","jsx","_jsx","Collapsible","children","expanded","label","onExpandedChange","isExpanded","onIsExpandedChange"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.ios.tsx"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,mBAAmB;AAEjD,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,WAAiC,GAAGA,CAAC;
|
|
1
|
+
{"version":3,"names":["DisclosureGroup","useHostGuard","jsx","_jsx","Collapsible","children","expanded","label","onExpandedChange","testID","isExpanded","onIsExpandedChange"],"sourceRoot":"../../../../src","sources":["molecules/collapsible/collapsible.ios.tsx"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,mBAAmB;AAEjD,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAChDC,QAAQ;EACRC,QAAQ;EACRC,KAAK;EACLC,gBAAgB;EAChBC;AACgB,CAAC,KAAK;EACtBR,YAAY,CAAC,aAAa,CAAC;EAE3B,oBACEE,IAAA,CAACH,eAAe;IAACU,UAAU,EAAEJ,QAAS;IAACC,KAAK,EAAEA,KAAM;IAACI,kBAAkB,EAAEH,gBAAiB;IAACC,MAAM,EAAEA,MAAO;IAAAJ,QAAA,EACvGA;EAAQ,CACM,CAAC;AAEtB,CAAC","ignoreList":[]}
|