@hzblj/kara-components 0.10.0 → 0.12.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 +55 -0
- package/lib/module/atoms/activity-indicator/activity-indicator.android.js +6 -1
- package/lib/module/atoms/activity-indicator/activity-indicator.android.js.map +1 -1
- package/lib/module/atoms/activity-indicator/activity-indicator.ios.js +2 -0
- package/lib/module/atoms/activity-indicator/activity-indicator.ios.js.map +1 -1
- package/lib/module/atoms/avatar/avatar.js +5 -0
- package/lib/module/atoms/avatar/avatar.js.map +1 -1
- package/lib/module/atoms/box/box.js +3 -0
- package/lib/module/atoms/box/box.js.map +1 -1
- package/lib/module/atoms/box/index.js +0 -1
- package/lib/module/atoms/box/index.js.map +1 -1
- package/lib/module/atoms/button/button-tokens.js +2 -2
- package/lib/module/atoms/button/button-tokens.js.map +1 -1
- package/lib/module/atoms/button/button.android.js +6 -2
- package/lib/module/atoms/button/button.android.js.map +1 -1
- package/lib/module/atoms/button/button.ios.js +7 -2
- package/lib/module/atoms/button/button.ios.js.map +1 -1
- package/lib/module/atoms/card/card.android.js +5 -3
- package/lib/module/atoms/card/card.android.js.map +1 -1
- package/lib/module/atoms/card/card.ios.js +7 -3
- package/lib/module/atoms/card/card.ios.js.map +1 -1
- package/lib/module/atoms/checkbox/checkbox.android.js +1 -1
- package/lib/module/atoms/checkbox/checkbox.android.js.map +1 -1
- package/lib/module/atoms/fab/fab.android.js +9 -1
- package/lib/module/atoms/fab/fab.android.js.map +1 -1
- package/lib/module/atoms/fab/fab.ios.js +9 -3
- package/lib/module/atoms/fab/fab.ios.js.map +1 -1
- package/lib/module/atoms/glass-view/glass-view.android.js +1 -1
- package/lib/module/atoms/glass-view/glass-view.android.js.map +1 -1
- package/lib/module/atoms/h-stack/h-stack.ios.js +5 -3
- package/lib/module/atoms/h-stack/h-stack.ios.js.map +1 -1
- package/lib/module/atoms/icon-button/icon-button.android.js +9 -0
- package/lib/module/atoms/icon-button/icon-button.android.js.map +1 -1
- package/lib/module/atoms/icon-button/icon-button.ios.js +9 -2
- package/lib/module/atoms/icon-button/icon-button.ios.js.map +1 -1
- package/lib/module/atoms/image/image.js +4 -4
- package/lib/module/atoms/image/image.js.map +1 -1
- package/lib/module/atoms/index.js +1 -0
- package/lib/module/atoms/index.js.map +1 -1
- package/lib/module/atoms/pressable/pressable.js +75 -27
- package/lib/module/atoms/pressable/pressable.js.map +1 -1
- package/lib/module/atoms/progress/progress.android.js +7 -0
- package/lib/module/atoms/progress/progress.android.js.map +1 -1
- package/lib/module/atoms/progress/progress.ios.js +6 -1
- package/lib/module/atoms/progress/progress.ios.js.map +1 -1
- package/lib/module/atoms/rn-text/rn-text.js +66 -26
- package/lib/module/atoms/rn-text/rn-text.js.map +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.android.js +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.android.js.map +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.ios.js +1 -1
- package/lib/module/atoms/segmented-control/segmented-control.ios.js.map +1 -1
- package/lib/module/atoms/skeleton/skeleton.js +22 -8
- package/lib/module/atoms/skeleton/skeleton.js.map +1 -1
- package/lib/module/atoms/stagger/index.js +5 -0
- package/lib/module/atoms/stagger/index.js.map +1 -0
- package/lib/module/atoms/stagger/stagger.js +102 -0
- package/lib/module/atoms/stagger/stagger.js.map +1 -0
- package/lib/module/atoms/stagger/stagger.types.js +4 -0
- package/lib/module/atoms/stagger/stagger.types.js.map +1 -0
- package/lib/module/atoms/surface/surface.android.js +5 -3
- package/lib/module/atoms/surface/surface.android.js.map +1 -1
- package/lib/module/atoms/surface/surface.ios.js +7 -3
- package/lib/module/atoms/surface/surface.ios.js.map +1 -1
- package/lib/module/atoms/switch/switch.android.js +1 -1
- package/lib/module/atoms/switch/switch.android.js.map +1 -1
- package/lib/module/atoms/text/text.android.js +5 -3
- package/lib/module/atoms/text/text.android.js.map +1 -1
- package/lib/module/atoms/text/text.ios.js +6 -4
- package/lib/module/atoms/text/text.ios.js.map +1 -1
- package/lib/module/atoms/v-stack/v-stack.ios.js +5 -3
- package/lib/module/atoms/v-stack/v-stack.ios.js.map +1 -1
- package/lib/module/atoms/z-stack/z-stack.ios.js +5 -3
- package/lib/module/atoms/z-stack/z-stack.ios.js.map +1 -1
- package/lib/module/glyph/glyph.android.js +2 -0
- package/lib/module/glyph/glyph.android.js.map +1 -1
- package/lib/module/glyph/glyph.ios.js +5 -2
- package/lib/module/glyph/glyph.ios.js.map +1 -1
- package/lib/module/molecules/collapsible/collapsible.android.js +18 -8
- package/lib/module/molecules/collapsible/collapsible.android.js.map +1 -1
- package/lib/module/molecules/labeled-content/labeled-content.js +4 -1
- package/lib/module/molecules/labeled-content/labeled-content.js.map +1 -1
- package/lib/module/molecules/link/link.js +4 -1
- package/lib/module/molecules/link/link.js.map +1 -1
- package/lib/module/molecules/list-item/list-item.js +4 -1
- package/lib/module/molecules/list-item/list-item.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js.map +1 -1
- package/lib/module/molecules/rn-list-item/rn-list-item.js +10 -2
- package/lib/module/molecules/rn-list-item/rn-list-item.js.map +1 -1
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.android.js +5 -6
- package/lib/module/molecules/scroll-edge-container/scroll-edge-container.android.js.map +1 -1
- package/lib/module/molecules/stepper/stepper.ios.js +6 -2
- package/lib/module/molecules/stepper/stepper.ios.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.android.js +8 -5
- package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.ios.js +5 -2
- package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -1
- package/lib/module/organisms/snackbar/snackbar.js +155 -18
- package/lib/module/organisms/snackbar/snackbar.js.map +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.android.js +1 -1
- package/lib/module/organisms/swipe-actions/swipe-actions.android.js.map +1 -1
- package/lib/module/use-stack-modifiers.js +10 -8
- package/lib/module/use-stack-modifiers.js.map +1 -1
- package/lib/typescript/atoms/activity-indicator/activity-indicator.types.d.ts +2 -0
- package/lib/typescript/atoms/avatar/avatar.types.d.ts +5 -0
- package/lib/typescript/atoms/box/box.d.ts +3 -0
- package/lib/typescript/atoms/box/index.d.ts +0 -1
- package/lib/typescript/atoms/button/button-tokens.d.ts +1 -1
- package/lib/typescript/atoms/button/button.types.d.ts +2 -0
- package/lib/typescript/atoms/card/card.types.d.ts +2 -2
- package/lib/typescript/atoms/fab/fab.types.d.ts +8 -1
- package/lib/typescript/atoms/h-stack/h-stack.types.d.ts +6 -3
- package/lib/typescript/atoms/icon-button/icon-button.types.d.ts +7 -0
- package/lib/typescript/atoms/image/image.d.ts +2 -2
- package/lib/typescript/atoms/index.d.ts +1 -0
- package/lib/typescript/atoms/pressable/pressable.types.d.ts +10 -9
- package/lib/typescript/atoms/progress/progress.types.d.ts +2 -0
- package/lib/typescript/atoms/rn-text/rn-text.types.d.ts +7 -4
- package/lib/typescript/atoms/skeleton/skeleton.types.d.ts +3 -2
- package/lib/typescript/atoms/stagger/index.d.ts +2 -0
- package/lib/typescript/atoms/stagger/stagger.d.ts +2 -0
- package/lib/typescript/atoms/stagger/stagger.types.d.ts +32 -0
- package/lib/typescript/atoms/surface/surface.types.d.ts +2 -2
- package/lib/typescript/atoms/text/text.types.d.ts +2 -2
- package/lib/typescript/atoms/v-stack/v-stack.types.d.ts +3 -3
- package/lib/typescript/atoms/z-stack/z-stack.types.d.ts +3 -3
- package/lib/typescript/glyph/glyph.types.d.ts +2 -0
- package/lib/typescript/molecules/labeled-content/labeled-content.types.d.ts +4 -2
- package/lib/typescript/molecules/link/link.types.d.ts +2 -1
- package/lib/typescript/molecules/list-item/list-item.types.d.ts +5 -3
- package/lib/typescript/molecules/stepper/stepper.ios.d.ts +1 -1
- package/lib/typescript/organisms/fab-menu/fab-menu.types.d.ts +5 -0
- package/lib/typescript/organisms/snackbar/snackbar.types.d.ts +35 -4
- package/lib/typescript/use-stack-modifiers.d.ts +6 -5
- package/package.json +4 -4
- package/src/atoms/activity-indicator/activity-indicator.android.tsx +7 -1
- package/src/atoms/activity-indicator/activity-indicator.ios.tsx +9 -1
- package/src/atoms/activity-indicator/activity-indicator.types.ts +2 -0
- package/src/atoms/avatar/avatar.tsx +5 -1
- package/src/atoms/avatar/avatar.types.ts +5 -0
- package/src/atoms/box/box.tsx +3 -0
- package/src/atoms/box/index.ts +0 -1
- package/src/atoms/button/button-tokens.ts +2 -2
- package/src/atoms/button/button.android.tsx +5 -3
- package/src/atoms/button/button.ios.tsx +10 -2
- package/src/atoms/button/button.types.ts +2 -0
- package/src/atoms/card/card.android.tsx +6 -4
- package/src/atoms/card/card.ios.tsx +7 -3
- package/src/atoms/card/card.types.ts +8 -7
- package/src/atoms/checkbox/checkbox.android.tsx +1 -1
- package/src/atoms/fab/fab.android.tsx +5 -3
- package/src/atoms/fab/fab.ios.tsx +8 -4
- package/src/atoms/fab/fab.types.ts +8 -1
- package/src/atoms/glass-view/glass-view.android.tsx +1 -1
- package/src/atoms/h-stack/h-stack.ios.tsx +6 -4
- package/src/atoms/h-stack/h-stack.types.ts +17 -13
- package/src/atoms/icon-button/icon-button.android.tsx +16 -3
- package/src/atoms/icon-button/icon-button.ios.tsx +13 -4
- package/src/atoms/icon-button/icon-button.types.ts +7 -0
- package/src/atoms/image/image.tsx +3 -3
- package/src/atoms/index.ts +1 -0
- package/src/atoms/pressable/pressable.tsx +164 -100
- package/src/atoms/pressable/pressable.types.ts +32 -29
- package/src/atoms/progress/progress.android.tsx +5 -3
- package/src/atoms/progress/progress.ios.tsx +5 -2
- package/src/atoms/progress/progress.types.ts +2 -0
- package/src/atoms/rn-text/rn-text.tsx +101 -32
- package/src/atoms/rn-text/rn-text.types.ts +7 -3
- package/src/atoms/segmented-control/segmented-control.android.tsx +1 -1
- package/src/atoms/segmented-control/segmented-control.ios.tsx +1 -1
- package/src/atoms/skeleton/skeleton.tsx +20 -6
- package/src/atoms/skeleton/skeleton.types.ts +3 -2
- package/src/atoms/stagger/index.ts +2 -0
- package/src/atoms/stagger/stagger.tsx +98 -0
- package/src/atoms/stagger/stagger.types.ts +35 -0
- package/src/atoms/surface/surface.android.tsx +6 -4
- package/src/atoms/surface/surface.ios.tsx +7 -3
- package/src/atoms/surface/surface.types.ts +10 -9
- package/src/atoms/switch/switch.android.tsx +1 -1
- package/src/atoms/text/text.android.tsx +6 -4
- package/src/atoms/text/text.ios.tsx +6 -4
- package/src/atoms/text/text.types.ts +23 -22
- package/src/atoms/v-stack/v-stack.ios.tsx +6 -4
- package/src/atoms/v-stack/v-stack.types.ts +17 -16
- package/src/atoms/z-stack/z-stack.ios.tsx +6 -4
- package/src/atoms/z-stack/z-stack.types.ts +15 -14
- package/src/glyph/glyph.android.tsx +14 -2
- package/src/glyph/glyph.ios.tsx +13 -3
- package/src/glyph/glyph.types.ts +2 -0
- package/src/molecules/collapsible/collapsible.android.tsx +27 -7
- package/src/molecules/labeled-content/labeled-content.tsx +12 -1
- package/src/molecules/labeled-content/labeled-content.types.ts +4 -2
- package/src/molecules/link/link.tsx +2 -1
- package/src/molecules/link/link.types.ts +2 -1
- package/src/molecules/list-item/list-item.tsx +20 -2
- package/src/molecules/list-item/list-item.types.ts +5 -3
- package/src/molecules/navigation-bar/navigation-bar.android.tsx +1 -1
- package/src/molecules/navigation-bar/navigation-bar.ios.tsx +1 -1
- package/src/molecules/rn-list-item/rn-list-item.tsx +18 -3
- package/src/molecules/scroll-edge-container/scroll-edge-container.android.tsx +5 -4
- package/src/molecules/stepper/stepper.ios.tsx +8 -2
- package/src/organisms/fab-menu/fab-menu.android.tsx +9 -5
- package/src/organisms/fab-menu/fab-menu.ios.tsx +6 -2
- package/src/organisms/fab-menu/fab-menu.types.ts +5 -0
- package/src/organisms/snackbar/snackbar.tsx +125 -21
- package/src/organisms/snackbar/snackbar.types.ts +38 -4
- package/src/organisms/swipe-actions/swipe-actions.android.tsx +1 -1
- package/src/use-stack-modifiers.ts +20 -7
- package/lib/module/atoms/box/a-box.js +0 -6
- package/lib/module/atoms/box/a-box.js.map +0 -1
- package/lib/typescript/atoms/box/a-box.d.ts +0 -49
- package/src/atoms/box/a-box.ts +0 -5
|
@@ -1,26 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { timing } from '@hzblj/kara-sx';
|
|
4
|
+
import { duration, opacity, useReducedMotion } from '@hzblj/kara-theme';
|
|
4
5
|
import { useEffect } from 'react';
|
|
5
|
-
import { useAnimatedStyle, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated';
|
|
6
|
-
import {
|
|
6
|
+
import { cancelAnimation, useAnimatedStyle, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated';
|
|
7
|
+
import { Box } from "../box/index.js";
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
/** A breath, not a transition, so it sits off the scale: `slow` twice each way, at constant speed. */
|
|
10
|
+
const PULSE = {
|
|
11
|
+
...timing('slow', 'linear'),
|
|
12
|
+
duration: duration.slow * 2
|
|
13
|
+
};
|
|
8
14
|
export const Skeleton = ({
|
|
9
15
|
borderRadius = 'small',
|
|
10
16
|
h,
|
|
11
17
|
testID,
|
|
12
18
|
w
|
|
13
19
|
}) => {
|
|
20
|
+
const reduced = useReducedMotion();
|
|
14
21
|
const pulse = useSharedValue(opacity.o40);
|
|
22
|
+
|
|
23
|
+
// With motion reduced it holds still, halfway between the two ends of the pulse.
|
|
15
24
|
useEffect(() => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
if (reduced) {
|
|
26
|
+
cancelAnimation(pulse);
|
|
27
|
+
pulse.value = opacity.o70;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
pulse.value = opacity.o40;
|
|
31
|
+
pulse.value = withRepeat(withTiming(opacity.o100, PULSE), -1, true);
|
|
32
|
+
}, [pulse, reduced]);
|
|
20
33
|
const rStyle = useAnimatedStyle(() => ({
|
|
21
34
|
opacity: pulse.value
|
|
22
35
|
}), []);
|
|
23
|
-
return /*#__PURE__*/_jsx(
|
|
36
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
37
|
+
"aria-hidden": true,
|
|
24
38
|
bg: "fill.quaternary",
|
|
25
39
|
borderRadius: borderRadius,
|
|
26
40
|
h: h,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["duration","opacity","useEffect","useAnimatedStyle","useSharedValue","withRepeat","withTiming","
|
|
1
|
+
{"version":3,"names":["timing","duration","opacity","useReducedMotion","useEffect","cancelAnimation","useAnimatedStyle","useSharedValue","withRepeat","withTiming","Box","jsx","_jsx","PULSE","slow","Skeleton","borderRadius","h","testID","w","reduced","pulse","o40","value","o70","o100","rStyle","bg","style","wide","undefined"],"sourceRoot":"../../../../src","sources":["atoms/skeleton/skeleton.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,gBAAgB;AACrC,SAAQC,QAAQ,EAAEC,OAAO,EAAEC,gBAAgB,QAAO,mBAAmB;AACrE,SAAQC,SAAS,QAAO,OAAO;AAC/B,SAAQC,eAAe,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,UAAU,EAAEC,UAAU,QAAO,yBAAyB;AAEjH,SAAQC,GAAG,QAAO,iBAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG1B;AACA,MAAMC,KAAK,GAAG;EAAC,GAAGb,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;EAAEC,QAAQ,EAAEA,QAAQ,CAACa,IAAI,GAAG;AAAC,CAAC;AAExE,OAAO,MAAMC,QAA2B,GAAGA,CAAC;EAACC,YAAY,GAAG,OAAO;EAAEC,CAAC;EAAEC,MAAM;EAAEC;AAAgB,CAAC,KAAK;EACpG,MAAMC,OAAO,GAAGjB,gBAAgB,CAAC,CAAC;EAClC,MAAMkB,KAAK,GAAGd,cAAc,CAASL,OAAO,CAACoB,GAAG,CAAC;;EAEjD;EACAlB,SAAS,CAAC,MAAM;IACd,IAAIgB,OAAO,EAAE;MACXf,eAAe,CAACgB,KAAK,CAAC;MACtBA,KAAK,CAACE,KAAK,GAAGrB,OAAO,CAACsB,GAAG;MACzB;IACF;IAEAH,KAAK,CAACE,KAAK,GAAGrB,OAAO,CAACoB,GAAG;IACzBD,KAAK,CAACE,KAAK,GAAGf,UAAU,CAACC,UAAU,CAACP,OAAO,CAACuB,IAAI,EAAEZ,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;EACrE,CAAC,EAAE,CAACQ,KAAK,EAAED,OAAO,CAAC,CAAC;EAEpB,MAAMM,MAAM,GAAGpB,gBAAgB,CAAC,OAAO;IAACJ,OAAO,EAAEmB,KAAK,CAACE;EAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EAEnE,oBACEX,IAAA,CAACF,GAAG;IACF,mBAAW;IACXiB,EAAE,EAAC,iBAAiB;IACpBX,YAAY,EAAEA,YAAa;IAC3BC,CAAC,EAAEA,CAAE;IACLW,KAAK,EAAEF,MAAO;IACdR,MAAM,EAAEA,MAAO;IACfC,CAAC,EAAEA,CAAE;IACLU,IAAI,EAAEV,CAAC,KAAKW;EAAU,CACvB,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["atoms/stagger/index.ts"],"mappings":";;AAAA,cAAc,cAAW;AACzB,cAAc,oBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isMotionComponent } from '@hzblj/kara-sx';
|
|
4
|
+
import { duration } from '@hzblj/kara-theme';
|
|
5
|
+
import { Children, cloneElement, isValidElement, useLayoutEffect, useRef } from 'react';
|
|
6
|
+
import { Box } from "../box/index.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const asConfig = motion => typeof motion === 'string' ? {
|
|
9
|
+
preset: motion
|
|
10
|
+
} : motion;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The stagger's preset, or the child's own with the delay added: a child that names its look keeps it and only takes
|
|
14
|
+
* its turn. Reanimated's own builder is the child's, untouched, since adding a delay to one mutates it.
|
|
15
|
+
*/
|
|
16
|
+
const withDelay = (own, fallback, delay) => {
|
|
17
|
+
if (own === undefined) {
|
|
18
|
+
return {
|
|
19
|
+
...fallback,
|
|
20
|
+
delay: (fallback.delay ?? 0) + delay
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (typeof own === 'string') {
|
|
24
|
+
return {
|
|
25
|
+
delay,
|
|
26
|
+
preset: own
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return typeof own === 'object' && own !== null && 'preset' in own ? {
|
|
30
|
+
...own,
|
|
31
|
+
delay: (own.delay ?? 0) + delay
|
|
32
|
+
} : own;
|
|
33
|
+
};
|
|
34
|
+
export const Stagger = ({
|
|
35
|
+
children,
|
|
36
|
+
entering = 'fadeUp',
|
|
37
|
+
exiting,
|
|
38
|
+
from = 'start',
|
|
39
|
+
interval = 'stagger',
|
|
40
|
+
layout,
|
|
41
|
+
testID,
|
|
42
|
+
...sx
|
|
43
|
+
}) => {
|
|
44
|
+
// The children that have arrived already. Only the ones new in this render take turns, so a list that grows by a
|
|
45
|
+
// page staggers the page, and an item added on its own arrives at once instead of after everything above it.
|
|
46
|
+
const arrived = useRef(new Set());
|
|
47
|
+
const items = Children.toArray(children);
|
|
48
|
+
const turns = new Map();
|
|
49
|
+
for (const item of items) {
|
|
50
|
+
if (/*#__PURE__*/isValidElement(item) && item.key !== null && !arrived.current.has(item.key)) {
|
|
51
|
+
turns.set(item.key, turns.size);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Marked once committed: a render React throws away must not use up a child's turn.
|
|
56
|
+
useLayoutEffect(() => {
|
|
57
|
+
for (const key of turns.keys()) {
|
|
58
|
+
arrived.current.add(key);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const step = duration[interval];
|
|
62
|
+
const enter = asConfig(entering);
|
|
63
|
+
const leave = exiting === undefined ? undefined : asConfig(exiting);
|
|
64
|
+
const delayOf = key => {
|
|
65
|
+
const turn = key === null ? undefined : turns.get(key);
|
|
66
|
+
if (turn === undefined) {
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
return (from === 'start' ? turn : turns.size - 1 - turn) * step;
|
|
70
|
+
};
|
|
71
|
+
return (
|
|
72
|
+
/*#__PURE__*/
|
|
73
|
+
// With `layout` the container moves and resizes with its children, so what holds it can follow.
|
|
74
|
+
_jsx(Box, {
|
|
75
|
+
layout: layout,
|
|
76
|
+
testID: testID,
|
|
77
|
+
...sx,
|
|
78
|
+
children: items.map(item => {
|
|
79
|
+
if (! /*#__PURE__*/isValidElement(item)) {
|
|
80
|
+
return item;
|
|
81
|
+
}
|
|
82
|
+
const delay = delayOf(item.key);
|
|
83
|
+
|
|
84
|
+
// A component that takes the motion props gets them directly, with no view added around it.
|
|
85
|
+
if (isMotionComponent(item.type)) {
|
|
86
|
+
return /*#__PURE__*/cloneElement(item, {
|
|
87
|
+
entering: withDelay(item.props.entering, enter, delay),
|
|
88
|
+
exiting: item.props.exiting ?? leave,
|
|
89
|
+
layout: item.props.layout ?? layout
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
93
|
+
entering: withDelay(undefined, enter, delay),
|
|
94
|
+
exiting: leave,
|
|
95
|
+
layout: layout,
|
|
96
|
+
children: item
|
|
97
|
+
}, item.key);
|
|
98
|
+
})
|
|
99
|
+
})
|
|
100
|
+
);
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=stagger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isMotionComponent","duration","Children","cloneElement","isValidElement","useLayoutEffect","useRef","Box","jsx","_jsx","asConfig","motion","preset","withDelay","own","fallback","delay","undefined","Stagger","children","entering","exiting","from","interval","layout","testID","sx","arrived","Set","items","toArray","turns","Map","item","key","current","has","set","size","keys","add","step","enter","leave","delayOf","turn","get","map","type","props"],"sourceRoot":"../../../../src","sources":["atoms/stagger/stagger.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["atoms/stagger/stagger.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Column, Surface as ComposeSurface, Shape } from '@expo/ui/jetpack-compose';
|
|
4
4
|
import { testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
5
|
+
import { splitAccessibility, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
|
|
6
6
|
import { radii, useAppTheme } from '@hzblj/kara-theme';
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
8
|
import { useHostGuard } from "../../host-context.js";
|
|
@@ -30,15 +30,17 @@ export const Surface = ({
|
|
|
30
30
|
px,
|
|
31
31
|
py,
|
|
32
32
|
testID,
|
|
33
|
-
...
|
|
33
|
+
...props
|
|
34
34
|
}) => {
|
|
35
35
|
useHostGuard('Surface');
|
|
36
|
+
const [accessibility, sx] = splitAccessibility(props);
|
|
36
37
|
const theme = useAppTheme();
|
|
37
38
|
const sxModifiers = useSxModifiers({
|
|
38
39
|
...sx,
|
|
39
40
|
bg: undefined
|
|
40
41
|
});
|
|
41
|
-
const
|
|
42
|
+
const accessibilityModifiers = useAccessibilityModifiers(accessibility);
|
|
43
|
+
const modifiers = useMemo(() => [...sxModifiers, ...(testID ? [testIdModifier(testID)] : []), ...accessibilityModifiers], [accessibilityModifiers, sxModifiers, testID]);
|
|
42
44
|
const contentModifiers = useSxModifiers({
|
|
43
45
|
p,
|
|
44
46
|
pb,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Column","Surface","ComposeSurface","Shape","testID","testIdModifier","useSxModifiers","radii","useAppTheme","useMemo","useHostGuard","jsx","_jsx","cornerRadii","radius","bottomEnd","bottomStart","topEnd","topStart","children","glass","p","pb","pl","pr","pt","px","py","sx","theme","sxModifiers","bg","undefined","modifiers","contentModifiers","wide","color","contentColor","shape","RoundedCorner","borderRadius","tonalElevation"],"sourceRoot":"../../../../src","sources":["atoms/surface/surface.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,EAAEC,OAAO,IAAIC,cAAc,EAAEC,KAAK,QAAO,0BAA0B;AACjF,SAAQC,MAAM,IAAIC,cAAc,QAAO,oCAAoC;AAC3E,SAAQC,cAAc,QAAO,gBAAgB;
|
|
1
|
+
{"version":3,"names":["Column","Surface","ComposeSurface","Shape","testID","testIdModifier","splitAccessibility","useAccessibilityModifiers","useSxModifiers","radii","useAppTheme","useMemo","useHostGuard","jsx","_jsx","cornerRadii","radius","bottomEnd","bottomStart","topEnd","topStart","children","glass","p","pb","pl","pr","pt","px","py","props","accessibility","sx","theme","sxModifiers","bg","undefined","accessibilityModifiers","modifiers","contentModifiers","wide","color","contentColor","shape","RoundedCorner","borderRadius","tonalElevation"],"sourceRoot":"../../../../src","sources":["atoms/surface/surface.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,EAAEC,OAAO,IAAIC,cAAc,EAAEC,KAAK,QAAO,0BAA0B;AACjF,SAAQC,MAAM,IAAIC,cAAc,QAAO,oCAAoC;AAC3E,SAAQC,kBAAkB,EAAEC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AAC5F,SAAQC,KAAK,EAAEC,WAAW,QAAO,mBAAmB;AACpD,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,WAAW,GAAIC,MAAc,KAAM;EAACC,SAAS,EAAED,MAAM;EAAEE,WAAW,EAAEF,MAAM;EAAEG,MAAM,EAAEH,MAAM;EAAEI,QAAQ,EAAEJ;AAAM,CAAC,CAAC;;AAEpH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMf,OAAyB,GAAGA,CAAC;EACxCoB,QAAQ;EACRC,KAAK,GAAG,KAAK;EACbC,CAAC,GAAG,KAAK;EACTC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFzB,MAAM;EACN,GAAG0B;AACS,CAAC,KAAK;EAClBlB,YAAY,CAAC,SAAS,CAAC;EACvB,MAAM,CAACmB,aAAa,EAAEC,EAAE,CAAC,GAAG1B,kBAAkB,CAACwB,KAAK,CAAC;EAErD,MAAMG,KAAK,GAAGvB,WAAW,CAAC,CAAC;EAC3B,MAAMwB,WAAW,GAAG1B,cAAc,CAAC;IAAC,GAAGwB,EAAE;IAAEG,EAAE,EAAEC;EAAS,CAAC,CAAC;EAC1D,MAAMC,sBAAsB,GAAG9B,yBAAyB,CAACwB,aAAa,CAAC;EACvE,MAAMO,SAAS,GAAG3B,OAAO,CACvB,MAAM,CAAC,GAAGuB,WAAW,EAAE,IAAI9B,MAAM,GAAG,CAACC,cAAc,CAACD,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAGiC,sBAAsB,CAAC,EAC9F,CAACA,sBAAsB,EAAEH,WAAW,EAAE9B,MAAM,CAC9C,CAAC;EACD,MAAMmC,gBAAgB,GAAG/B,cAAc,CAAC;IAACe,CAAC;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEW,IAAI,EAAER,EAAE,CAACQ;EAAI,CAAC,CAAC;EAEnF,oBACE1B,IAAA,CAACZ,cAAc;IACbuC,KAAK,EAAER,KAAK,CAACQ,KAAK,CAACT,EAAE,CAACG,EAAE,IAAI,iBAAiB,CAAE;IAC/CO,YAAY,EAAET,KAAK,CAACQ,KAAK,CAAC,iBAAiB,CAAE;IAC7CH,SAAS,EAAEA,SAAU;IACrBK,KAAK,EAAExC,KAAK,CAACyC,aAAa,CAAC;MAAC7B,WAAW,EAAEA,WAAW,CAACN,KAAK,CAACuB,EAAE,CAACa,YAAY,IAAI,OAAO,CAAC;IAAC,CAAC,CAAE;IAC1FC,cAAc,EAAExB,KAAK,GAAG,CAAC,GAAG,CAAE;IAAAD,QAAA,eAE9BP,IAAA,CAACd,MAAM;MAACsC,SAAS,EAAEC,gBAAiB;MAAAlB,QAAA,EAAEA;IAAQ,CAAS;EAAC,CAC1C,CAAC;AAErB,CAAC","ignoreList":[]}
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { GlassEffectContainer, VStack } from '@expo/ui/swift-ui';
|
|
4
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
4
|
+
import { splitAccessibility, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
|
|
5
|
+
import { useMemo } from 'react';
|
|
5
6
|
import { useHostGuard } from "../../host-context.js";
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
export const Surface = ({
|
|
8
9
|
children,
|
|
9
10
|
glass = false,
|
|
10
11
|
testID,
|
|
11
|
-
...
|
|
12
|
+
...props
|
|
12
13
|
}) => {
|
|
13
14
|
useHostGuard('Surface');
|
|
15
|
+
const [accessibility, sx] = splitAccessibility(props);
|
|
14
16
|
|
|
15
17
|
// `surface.primary` unless told otherwise, as Material's `Surface` is on Android — without it a plain one drew nothing.
|
|
16
|
-
const
|
|
18
|
+
const sxModifiers = useSxModifiers({
|
|
17
19
|
bg: 'surface.primary',
|
|
18
20
|
borderRadius: 'large',
|
|
19
21
|
p: 's16',
|
|
20
22
|
...sx
|
|
21
23
|
});
|
|
24
|
+
const accessibilityModifiers = useAccessibilityModifiers(accessibility);
|
|
25
|
+
const modifiers = useMemo(() => [...sxModifiers, ...accessibilityModifiers], [accessibilityModifiers, sxModifiers]);
|
|
22
26
|
const content = /*#__PURE__*/_jsx(VStack, {
|
|
23
27
|
alignment: "leading",
|
|
24
28
|
modifiers: modifiers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GlassEffectContainer","VStack","useSxModifiers","useHostGuard","jsx","_jsx","Surface","children","glass","testID","sx","
|
|
1
|
+
{"version":3,"names":["GlassEffectContainer","VStack","splitAccessibility","useAccessibilityModifiers","useSxModifiers","useMemo","useHostGuard","jsx","_jsx","Surface","children","glass","testID","props","accessibility","sx","sxModifiers","bg","borderRadius","p","accessibilityModifiers","modifiers","content","alignment"],"sourceRoot":"../../../../src","sources":["atoms/surface/surface.ios.tsx"],"mappings":";;AAAA,SAAQA,oBAAoB,EAAEC,MAAM,QAAO,mBAAmB;AAC9D,SAAQC,kBAAkB,EAAEC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AAC5F,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,OAAyB,GAAGA,CAAC;EAACC,QAAQ;EAAEC,KAAK,GAAG,KAAK;EAAEC,MAAM;EAAE,GAAGC;AAAmB,CAAC,KAAK;EACtGP,YAAY,CAAC,SAAS,CAAC;EACvB,MAAM,CAACQ,aAAa,EAAEC,EAAE,CAAC,GAAGb,kBAAkB,CAACW,KAAK,CAAC;;EAErD;EACA,MAAMG,WAAW,GAAGZ,cAAc,CAAC;IAACa,EAAE,EAAE,iBAAiB;IAAEC,YAAY,EAAE,OAAO;IAAEC,CAAC,EAAE,KAAK;IAAE,GAAGJ;EAAE,CAAC,CAAC;EACnG,MAAMK,sBAAsB,GAAGjB,yBAAyB,CAACW,aAAa,CAAC;EACvE,MAAMO,SAAS,GAAGhB,OAAO,CAAC,MAAM,CAAC,GAAGW,WAAW,EAAE,GAAGI,sBAAsB,CAAC,EAAE,CAACA,sBAAsB,EAAEJ,WAAW,CAAC,CAAC;EACnH,MAAMM,OAAO,gBACXd,IAAA,CAACP,MAAM;IAACsB,SAAS,EAAC,SAAS;IAACF,SAAS,EAAEA,SAAU;IAACT,MAAM,EAAEA,MAAO;IAAAF,QAAA,EAC9DA;EAAQ,CACH,CACT;EAED,IAAI,CAACC,KAAK,EAAE;IACV,OAAOW,OAAO;EAChB;EAEA,oBAAOd,IAAA,CAACR,oBAAoB;IAAAU,QAAA,EAAEY;EAAO,CAAuB,CAAC;AAC/D,CAAC","ignoreList":[]}
|
|
@@ -32,7 +32,7 @@ export const Switch = ({
|
|
|
32
32
|
const control = /*#__PURE__*/_jsx(ComposeSwitch, {
|
|
33
33
|
colors: {
|
|
34
34
|
checkedBorderColor: theme.color('fill.accent.primary'),
|
|
35
|
-
checkedThumbColor: theme.color('content.on.
|
|
35
|
+
checkedThumbColor: theme.color('content.on.accent'),
|
|
36
36
|
checkedTrackColor: theme.color('fill.accent.primary')
|
|
37
37
|
},
|
|
38
38
|
enabled: !disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Switch","ComposeSwitch","Row","Text","clickable","fillMaxWidth","useAppTheme","useCallback","useMemo","haptics","useHostGuard","jsx","_jsx","jsxs","_jsxs","NOOP","undefined","disabled","label","onValueChange","value","theme","toggle","next","play","rowModifiers","control","colors","checkedBorderColor","color","checkedThumbColor","checkedTrackColor","enabled","onCheckedChange","horizontalArrangement","modifiers","verticalAlignment","children","colorString","style","typography","body"],"sourceRoot":"../../../../src","sources":["atoms/switch/switch.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,aAAa,EAAEC,GAAG,EAAEC,IAAI,QAAO,0BAA0B;AAC3E,SAAQC,SAAS,EAAEC,YAAY,QAAO,oCAAoC;AAC1E,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,WAAW,EAAEC,OAAO,QAAO,OAAO;AAE1C,SAAQC,OAAO,QAAO,wBAAe;AACrC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA,MAAMC,IAAI,GAAGA,CAAA,KAAMC,SAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMhB,MAAuB,GAAGA,CAAC;EAACiB,QAAQ,GAAG,KAAK;EAAEC,KAAK;EAAEC,aAAa;EAAEC;AAAkB,CAAC,KAAK;EACvGV,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAMW,KAAK,GAAGf,WAAW,CAAC,CAAC;EAC3B,MAAMgB,MAAM,GAAGf,WAAW,CACvBgB,IAAa,IAAK;IACjBd,OAAO,CAACe,IAAI,CAACD,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7CJ,aAAa,GAAGI,IAAI,CAAC;EACvB,CAAC,EACD,CAACJ,aAAa,CAChB,CAAC;EACD,MAAMM,YAAY,GAAGjB,OAAO,CAC1B,MAAOS,QAAQ,IAAI,CAACE,aAAa,GAAG,CAACd,YAAY,CAAC,CAAC,CAAC,GAAG,CAACA,YAAY,CAAC,CAAC,EAAED,SAAS,CAAC,MAAMkB,MAAM,CAAC,CAACF,KAAK,CAAC,CAAC,CAAE,EACzG,CAACH,QAAQ,EAAEE,aAAa,EAAEG,MAAM,EAAEF,KAAK,CACzC,CAAC;EACD,MAAMM,OAAO,gBACXd,IAAA,CAACX,aAAa;IACZ0B,MAAM,EAAE;MACNC,kBAAkB,EAAEP,KAAK,CAACQ,KAAK,CAAC,qBAAqB,CAAC;MACtDC,iBAAiB,EAAET,KAAK,CAACQ,KAAK,CAAC,
|
|
1
|
+
{"version":3,"names":["Switch","ComposeSwitch","Row","Text","clickable","fillMaxWidth","useAppTheme","useCallback","useMemo","haptics","useHostGuard","jsx","_jsx","jsxs","_jsxs","NOOP","undefined","disabled","label","onValueChange","value","theme","toggle","next","play","rowModifiers","control","colors","checkedBorderColor","color","checkedThumbColor","checkedTrackColor","enabled","onCheckedChange","horizontalArrangement","modifiers","verticalAlignment","children","colorString","style","typography","body"],"sourceRoot":"../../../../src","sources":["atoms/switch/switch.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,aAAa,EAAEC,GAAG,EAAEC,IAAI,QAAO,0BAA0B;AAC3E,SAAQC,SAAS,EAAEC,YAAY,QAAO,oCAAoC;AAC1E,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,WAAW,EAAEC,OAAO,QAAO,OAAO;AAE1C,SAAQC,OAAO,QAAO,wBAAe;AACrC,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA,MAAMC,IAAI,GAAGA,CAAA,KAAMC,SAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMhB,MAAuB,GAAGA,CAAC;EAACiB,QAAQ,GAAG,KAAK;EAAEC,KAAK;EAAEC,aAAa;EAAEC;AAAkB,CAAC,KAAK;EACvGV,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAMW,KAAK,GAAGf,WAAW,CAAC,CAAC;EAC3B,MAAMgB,MAAM,GAAGf,WAAW,CACvBgB,IAAa,IAAK;IACjBd,OAAO,CAACe,IAAI,CAACD,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7CJ,aAAa,GAAGI,IAAI,CAAC;EACvB,CAAC,EACD,CAACJ,aAAa,CAChB,CAAC;EACD,MAAMM,YAAY,GAAGjB,OAAO,CAC1B,MAAOS,QAAQ,IAAI,CAACE,aAAa,GAAG,CAACd,YAAY,CAAC,CAAC,CAAC,GAAG,CAACA,YAAY,CAAC,CAAC,EAAED,SAAS,CAAC,MAAMkB,MAAM,CAAC,CAACF,KAAK,CAAC,CAAC,CAAE,EACzG,CAACH,QAAQ,EAAEE,aAAa,EAAEG,MAAM,EAAEF,KAAK,CACzC,CAAC;EACD,MAAMM,OAAO,gBACXd,IAAA,CAACX,aAAa;IACZ0B,MAAM,EAAE;MACNC,kBAAkB,EAAEP,KAAK,CAACQ,KAAK,CAAC,qBAAqB,CAAC;MACtDC,iBAAiB,EAAET,KAAK,CAACQ,KAAK,CAAC,mBAAmB,CAAC;MACnDE,iBAAiB,EAAEV,KAAK,CAACQ,KAAK,CAAC,qBAAqB;IACtD,CAAE;IACFG,OAAO,EAAE,CAACf,QAAS;IACnBgB,eAAe,EAAEd,aAAa,GAAGG,MAAM,GAAGP,IAAK;IAC/CK,KAAK,EAAEA;EAAM,CACd,CACF;EAED,IAAI,CAACF,KAAK,EAAE;IACV,OAAOQ,OAAO;EAChB;EAEA,oBACEZ,KAAA,CAACZ,GAAG;IAACgC,qBAAqB,EAAC,cAAc;IAACC,SAAS,EAAEV,YAAa;IAACW,iBAAiB,EAAC,QAAQ;IAAAC,QAAA,gBAC3FzB,IAAA,CAACT,IAAI;MAAC0B,KAAK,EAAER,KAAK,CAACiB,WAAW,CAACrB,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,CAAE;MAACsB,KAAK,EAAElB,KAAK,CAACmB,UAAU,CAACC,IAAK;MAAAJ,QAAA,EAC7GnB;IAAK,CACF,CAAC,EACNQ,OAAO;EAAA,CACL,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Text as ComposeText } from '@expo/ui/jetpack-compose';
|
|
4
4
|
import { testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
5
|
+
import { splitAccessibility, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
|
|
6
6
|
import { useAppTheme } from '@hzblj/kara-theme';
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
8
|
import { useHostGuard } from "../../host-context.js";
|
|
@@ -28,13 +28,15 @@ export const Text = ({
|
|
|
28
28
|
testID,
|
|
29
29
|
transform,
|
|
30
30
|
variant = 'body',
|
|
31
|
-
...
|
|
31
|
+
...props
|
|
32
32
|
}) => {
|
|
33
33
|
useHostGuard('Text');
|
|
34
34
|
const theme = useAppTheme();
|
|
35
35
|
const style = theme.typography[variant];
|
|
36
|
+
const [accessibility, sx] = splitAccessibility(props);
|
|
36
37
|
const sxModifiers = useSxModifiers(sx);
|
|
37
|
-
const
|
|
38
|
+
const accessibilityModifiers = useAccessibilityModifiers(accessibility);
|
|
39
|
+
const modifiers = useMemo(() => [...sxModifiers, ...(testID ? [testIdModifier(testID)] : []), ...accessibilityModifiers], [accessibilityModifiers, sxModifiers, testID]);
|
|
38
40
|
return /*#__PURE__*/_jsx(ComposeText, {
|
|
39
41
|
color: theme.colorString(color),
|
|
40
42
|
maxLines: numberOfLines,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Text","ComposeText","testID","testIdModifier","useSxModifiers","useAppTheme","useMemo","useHostGuard","jsx","_jsx","DECORATION","none","strikethrough","underline","applyTransform","children","transform","toUpperCase","toLowerCase","decorationOf","decoration","undefined","align","color","numberOfLines","variant","
|
|
1
|
+
{"version":3,"names":["Text","ComposeText","testID","testIdModifier","splitAccessibility","useAccessibilityModifiers","useSxModifiers","useAppTheme","useMemo","useHostGuard","jsx","_jsx","DECORATION","none","strikethrough","underline","applyTransform","children","transform","toUpperCase","toLowerCase","decorationOf","decoration","undefined","align","color","numberOfLines","variant","props","theme","style","typography","accessibility","sx","sxModifiers","accessibilityModifiers","modifiers","colorString","maxLines","fontFamily","fontSize","fontWeight","lineHeight","textAlign","textDecoration"],"sourceRoot":"../../../../src","sources":["atoms/text/text.android.tsx"],"mappings":";;AAAA,SAAQA,IAAI,IAAIC,WAAW,QAAO,0BAA0B;AAC5D,SAAQC,MAAM,IAAIC,cAAc,QAAO,oCAAoC;AAC3E,SAAQC,kBAAkB,EAAEC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AAC5F,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,OAAO,QAAO,OAAO;AAE7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,UAAU,GAAG;EACjBC,IAAI,EAAE,MAAM;EACZC,aAAa,EAAE,aAAa;EAC5BC,SAAS,EAAE;AACb,CAAU;AAEV,MAAMC,cAAc,GAAGA,CAACC,QAA+B,EAAEC,SAAoC,KAAK;EAChG,IAAI,CAACA,SAAS,IAAI,OAAOD,QAAQ,KAAK,QAAQ,EAAE;IAC9C,OAAOA,QAAQ;EACjB;EAEA,OAAOC,SAAS,KAAK,WAAW,GAAGD,QAAQ,CAACE,WAAW,CAAC,CAAC,GAAGF,QAAQ,CAACG,WAAW,CAAC,CAAC;AACpF,CAAC;AAED,MAAMC,YAAY,GAAIC,UAAsC,IAC1DA,UAAU,KAAKC,SAAS,GAAGA,SAAS,GAAGX,UAAU,CAACU,UAAU,CAAC;AAE/D,OAAO,MAAMtB,IAAmB,GAAGA,CAAC;EAClCwB,KAAK;EACLP,QAAQ;EACRQ,KAAK,GAAG,iBAAiB;EACzBH,UAAU;EACVI,aAAa;EACbxB,MAAM;EACNgB,SAAS;EACTS,OAAO,GAAG,MAAM;EAChB,GAAGC;AACM,CAAC,KAAK;EACfnB,YAAY,CAAC,MAAM,CAAC;EACpB,MAAMoB,KAAK,GAAGtB,WAAW,CAAC,CAAC;EAC3B,MAAMuB,KAAK,GAAGD,KAAK,CAACE,UAAU,CAACJ,OAAO,CAAC;EACvC,MAAM,CAACK,aAAa,EAAEC,EAAE,CAAC,GAAG7B,kBAAkB,CAACwB,KAAK,CAAC;EACrD,MAAMM,WAAW,GAAG5B,cAAc,CAAC2B,EAAE,CAAC;EACtC,MAAME,sBAAsB,GAAG9B,yBAAyB,CAAC2B,aAAa,CAAC;EACvE,MAAMI,SAAS,GAAG5B,OAAO,CACvB,MAAM,CAAC,GAAG0B,WAAW,EAAE,IAAIhC,MAAM,GAAG,CAACC,cAAc,CAACD,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAGiC,sBAAsB,CAAC,EAC9F,CAACA,sBAAsB,EAAED,WAAW,EAAEhC,MAAM,CAC9C,CAAC;EAED,oBACES,IAAA,CAACV,WAAW;IACVwB,KAAK,EAAEI,KAAK,CAACQ,WAAW,CAACZ,KAAK,CAAE;IAChCa,QAAQ,EAAEZ,aAAc;IACxBU,SAAS,EAAEA,SAAU;IACrBN,KAAK,EAAE;MACLS,UAAU,EAAET,KAAK,CAACS,UAAU;MAC5BC,QAAQ,EAAEV,KAAK,CAACU,QAAQ;MACxBC,UAAU,EAAEX,KAAK,CAACW,UAAU;MAC5BC,UAAU,EAAEZ,KAAK,CAACY,UAAU;MAC5BC,SAAS,EAAEnB,KAAK;MAChBoB,cAAc,EAAEvB,YAAY,CAACC,UAAU;IACzC,CAAE;IAAAL,QAAA,EAEDD,cAAc,CAACC,QAAQ,EAAEC,SAAS;EAAC,CACzB,CAAC;AAElB,CAAC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { Text as SwiftUIText } from '@expo/ui/swift-ui';
|
|
4
4
|
import { foregroundStyle, lineLimit, lineSpacing, multilineTextAlignment, strikethrough, textCase, underline } from '@expo/ui/swift-ui/modifiers';
|
|
5
5
|
import { scaledFont } from '@hzblj/kara-native/swift-ui';
|
|
6
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
6
|
+
import { splitAccessibility, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
|
|
7
7
|
import { useAppTheme } from '@hzblj/kara-theme';
|
|
8
8
|
import { useMemo } from 'react';
|
|
9
9
|
import { useHostGuard } from "../../host-context.js";
|
|
@@ -29,13 +29,15 @@ export const Text = ({
|
|
|
29
29
|
testID,
|
|
30
30
|
transform,
|
|
31
31
|
variant = 'body',
|
|
32
|
-
...
|
|
32
|
+
...props
|
|
33
33
|
}) => {
|
|
34
34
|
useHostGuard('Text');
|
|
35
35
|
const theme = useAppTheme();
|
|
36
36
|
const style = theme.typography[variant];
|
|
37
37
|
// After the text's own modifiers: the font and colour belong to the glyphs, the padding and frame to the box around.
|
|
38
|
+
const [accessibility, sx] = splitAccessibility(props);
|
|
38
39
|
const sxModifiers = useSxModifiers(sx, FRAME_ALIGNMENT[align ?? 'left']);
|
|
40
|
+
const accessibilityModifiers = useAccessibilityModifiers(accessibility);
|
|
39
41
|
const modifiers = useMemo(() => {
|
|
40
42
|
const list = [
|
|
41
43
|
// Not `@expo/ui`'s `font()`: for the platform's face it gives either Apple's size or a size that ignores Dynamic
|
|
@@ -67,8 +69,8 @@ export const Text = ({
|
|
|
67
69
|
if (numberOfLines !== undefined) {
|
|
68
70
|
list.push(lineLimit(numberOfLines));
|
|
69
71
|
}
|
|
70
|
-
return [...list, ...sxModifiers];
|
|
71
|
-
}, [align, color, decoration, numberOfLines, style, sxModifiers, theme, transform]);
|
|
72
|
+
return [...list, ...sxModifiers, ...accessibilityModifiers];
|
|
73
|
+
}, [accessibilityModifiers, align, color, decoration, numberOfLines, style, sxModifiers, theme, transform]);
|
|
72
74
|
return /*#__PURE__*/_jsx(SwiftUIText, {
|
|
73
75
|
modifiers: modifiers,
|
|
74
76
|
testID: testID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Text","SwiftUIText","foregroundStyle","lineLimit","lineSpacing","multilineTextAlignment","strikethrough","textCase","underline","scaledFont","useSxModifiers","useAppTheme","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","center","left","right","FRAME_ALIGNMENT","align","children","color","decoration","numberOfLines","testID","transform","variant","
|
|
1
|
+
{"version":3,"names":["Text","SwiftUIText","foregroundStyle","lineLimit","lineSpacing","multilineTextAlignment","strikethrough","textCase","underline","scaledFont","splitAccessibility","useAccessibilityModifiers","useSxModifiers","useAppTheme","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","center","left","right","FRAME_ALIGNMENT","align","children","color","decoration","numberOfLines","testID","transform","variant","props","theme","style","typography","accessibility","sx","sxModifiers","accessibilityModifiers","modifiers","list","family","fontFamily","size","fontSize","textStyle","scalesWith","weight","Math","max","lineHeight","push","isActive","pattern","undefined"],"sourceRoot":"../../../../src","sources":["atoms/text/text.ios.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { VStack as SwiftUIVStack } from '@expo/ui/swift-ui';
|
|
4
4
|
import { onTapGesture } from '@expo/ui/swift-ui/modifiers';
|
|
5
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
5
|
+
import { splitAccessibility, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
|
|
6
6
|
import { spacing } from '@hzblj/kara-theme';
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
8
|
import { useHostGuard } from "../../host-context.js";
|
|
@@ -18,11 +18,13 @@ export const VStack = ({
|
|
|
18
18
|
onPress,
|
|
19
19
|
spacing: gap,
|
|
20
20
|
testID,
|
|
21
|
-
...
|
|
21
|
+
...props
|
|
22
22
|
}) => {
|
|
23
23
|
useHostGuard('VStack');
|
|
24
|
+
const [accessibility, sx] = splitAccessibility(props);
|
|
24
25
|
const sxModifiers = useSxModifiers(sx, ALIGNMENT[align]);
|
|
25
|
-
const
|
|
26
|
+
const accessibilityModifiers = useAccessibilityModifiers(accessibility, onPress !== undefined);
|
|
27
|
+
const modifiers = useMemo(() => [...sxModifiers, ...(onPress ? [onTapGesture(onPress)] : []), ...accessibilityModifiers], [accessibilityModifiers, onPress, sxModifiers]);
|
|
26
28
|
return /*#__PURE__*/_jsx(SwiftUIVStack, {
|
|
27
29
|
alignment: ALIGNMENT[align],
|
|
28
30
|
modifiers: modifiers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VStack","SwiftUIVStack","onTapGesture","useSxModifiers","spacing","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","center","end","start","align","children","onPress","gap","testID","sx","sxModifiers","
|
|
1
|
+
{"version":3,"names":["VStack","SwiftUIVStack","onTapGesture","splitAccessibility","useAccessibilityModifiers","useSxModifiers","spacing","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","center","end","start","align","children","onPress","gap","testID","props","accessibility","sx","sxModifiers","accessibilityModifiers","undefined","modifiers","alignment"],"sourceRoot":"../../../../src","sources":["atoms/v-stack/v-stack.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,aAAa,QAAO,mBAAmB;AACzD,SAAQC,YAAY,QAAO,6BAA6B;AACxD,SAA6BC,kBAAkB,EAAEC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AACjH,SAAQC,OAAO,QAAO,mBAAmB;AACzC,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,UAAU;EACfC,KAAK,EAAE;AACT,CAAwD;AAExD,OAAO,MAAMd,MAAuB,GAAGA,CAAC;EACtCe,KAAK,GAAG,OAAO;EACfC,QAAQ;EACRC,OAAO;EACPX,OAAO,EAAEY,GAAG;EACZC,MAAM;EACN,GAAGC;AACQ,CAAC,KAAK;EACjBZ,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAM,CAACa,aAAa,EAAEC,EAAE,CAAC,GAAGnB,kBAAkB,CAACiB,KAAK,CAAC;EACrD,MAAMG,WAAW,GAAGlB,cAAc,CAACiB,EAAE,EAAEX,SAAS,CAACI,KAAK,CAAC,CAAC;EACxD,MAAMS,sBAAsB,GAAGpB,yBAAyB,CAACiB,aAAa,EAAEJ,OAAO,KAAKQ,SAAS,CAAC;EAC9F,MAAMC,SAAS,GAAGnB,OAAO,CACvB,MAAM,CAAC,GAAGgB,WAAW,EAAE,IAAIN,OAAO,GAAG,CAACf,YAAY,CAACe,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAGO,sBAAsB,CAAC,EAC9F,CAACA,sBAAsB,EAAEP,OAAO,EAAEM,WAAW,CAC/C,CAAC;EAED,oBACEb,IAAA,CAACT,aAAa;IACZ0B,SAAS,EAAEhB,SAAS,CAACI,KAAK,CAAE;IAC5BW,SAAS,EAAEA,SAAU;IACrBpB,OAAO,EAAEY,GAAG,KAAKO,SAAS,GAAGA,SAAS,GAAGnB,OAAO,CAACY,GAAG,CAAE;IACtDC,MAAM,EAAEA,MAAO;IAAAH,QAAA,EAEdA;EAAQ,CACI,CAAC;AAEpB,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { ZStack as SwiftUIZStack } from '@expo/ui/swift-ui';
|
|
4
4
|
import { onTapGesture } from '@expo/ui/swift-ui/modifiers';
|
|
5
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
5
|
+
import { splitAccessibility, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
|
|
6
6
|
import { useMemo } from 'react';
|
|
7
7
|
import { useHostGuard } from "../../host-context.js";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -16,11 +16,13 @@ export const ZStack = ({
|
|
|
16
16
|
children,
|
|
17
17
|
onPress,
|
|
18
18
|
testID,
|
|
19
|
-
...
|
|
19
|
+
...props
|
|
20
20
|
}) => {
|
|
21
21
|
useHostGuard('ZStack');
|
|
22
|
+
const [accessibility, sx] = splitAccessibility(props);
|
|
22
23
|
const sxModifiers = useSxModifiers(sx, ALIGNMENT[align]);
|
|
23
|
-
const
|
|
24
|
+
const accessibilityModifiers = useAccessibilityModifiers(accessibility, onPress !== undefined);
|
|
25
|
+
const modifiers = useMemo(() => [...sxModifiers, ...(onPress ? [onTapGesture(onPress)] : []), ...accessibilityModifiers], [accessibilityModifiers, onPress, sxModifiers]);
|
|
24
26
|
return /*#__PURE__*/_jsx(SwiftUIZStack, {
|
|
25
27
|
alignment: ALIGNMENT[align],
|
|
26
28
|
modifiers: modifiers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ZStack","SwiftUIZStack","onTapGesture","useSxModifiers","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","bottom","center","top","align","children","onPress","testID","sx","sxModifiers","modifiers","alignment"],"sourceRoot":"../../../../src","sources":["atoms/z-stack/z-stack.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,aAAa,QAAO,mBAAmB;AACzD,SAAQC,YAAY,QAAO,6BAA6B;AACxD,SAA6BC,cAAc,QAAO,gBAAgB;
|
|
1
|
+
{"version":3,"names":["ZStack","SwiftUIZStack","onTapGesture","splitAccessibility","useAccessibilityModifiers","useSxModifiers","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","bottom","center","top","align","children","onPress","testID","props","accessibility","sx","sxModifiers","accessibilityModifiers","undefined","modifiers","alignment"],"sourceRoot":"../../../../src","sources":["atoms/z-stack/z-stack.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,aAAa,QAAO,mBAAmB;AACzD,SAAQC,YAAY,QAAO,6BAA6B;AACxD,SAA6BC,kBAAkB,EAAEC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AACjH,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE;AACP,CAAwD;AAExD,OAAO,MAAMb,MAAuB,GAAGA,CAAC;EAACc,KAAK,GAAG,QAAQ;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,MAAM;EAAE,GAAGC;AAAkB,CAAC,KAAK;EAC/GX,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAM,CAACY,aAAa,EAAEC,EAAE,CAAC,GAAGjB,kBAAkB,CAACe,KAAK,CAAC;EACrD,MAAMG,WAAW,GAAGhB,cAAc,CAACe,EAAE,EAAEV,SAAS,CAACI,KAAK,CAAC,CAAC;EACxD,MAAMQ,sBAAsB,GAAGlB,yBAAyB,CAACe,aAAa,EAAEH,OAAO,KAAKO,SAAS,CAAC;EAC9F,MAAMC,SAAS,GAAGlB,OAAO,CACvB,MAAM,CAAC,GAAGe,WAAW,EAAE,IAAIL,OAAO,GAAG,CAACd,YAAY,CAACc,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAGM,sBAAsB,CAAC,EAC9F,CAACA,sBAAsB,EAAEN,OAAO,EAAEK,WAAW,CAC/C,CAAC;EAED,oBACEZ,IAAA,CAACR,aAAa;IAACwB,SAAS,EAAEf,SAAS,CAACI,KAAK,CAAE;IAACU,SAAS,EAAEA,SAAU;IAACP,MAAM,EAAEA,MAAO;IAAAF,QAAA,EAC9EA;EAAQ,CACI,CAAC;AAEpB,CAAC","ignoreList":[]}
|
|
@@ -6,12 +6,14 @@ import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
/** The Material Symbol `@hzblj/kara-native` ships as a drawable — inside a Compose host. */
|
|
8
8
|
export const Glyph = ({
|
|
9
|
+
accessibilityLabel,
|
|
9
10
|
color = 'content.primary',
|
|
10
11
|
name,
|
|
11
12
|
size = 's24'
|
|
12
13
|
}) => {
|
|
13
14
|
const theme = useAppTheme();
|
|
14
15
|
return /*#__PURE__*/_jsx(DrawableIcon, {
|
|
16
|
+
accessibilityLabel: accessibilityLabel,
|
|
15
17
|
iconColor: theme.color(color),
|
|
16
18
|
iconSize: spacing[size],
|
|
17
19
|
resourceName: GLYPHS[name].android
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GLYPHS","DrawableIcon","spacing","useAppTheme","jsx","_jsx","Glyph","color","name","size","theme","iconColor","iconSize","resourceName","android"],"sourceRoot":"../../../src","sources":["glyph/glyph.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,YAAY,QAAO,oCAAoC;AAC/D,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAItD;AACA,OAAO,MAAMC,KAAqB,GAAGA,CAAC;
|
|
1
|
+
{"version":3,"names":["GLYPHS","DrawableIcon","spacing","useAppTheme","jsx","_jsx","Glyph","accessibilityLabel","color","name","size","theme","iconColor","iconSize","resourceName","android"],"sourceRoot":"../../../src","sources":["glyph/glyph.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,YAAY,QAAO,oCAAoC;AAC/D,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAItD;AACA,OAAO,MAAMC,KAAqB,GAAGA,CAAC;EACpCC,kBAAkB;EAClBC,KAAK,GAAG,iBAAiB;EACzBC,IAAI;EACJC,IAAI,GAAG;AACG,CAAC,KAAK;EAChB,MAAMC,KAAK,GAAGR,WAAW,CAAC,CAAC;EAE3B,oBACEE,IAAA,CAACJ,YAAY;IACXM,kBAAkB,EAAEA,kBAAmB;IACvCK,SAAS,EAAED,KAAK,CAACH,KAAK,CAACA,KAAK,CAAE;IAC9BK,QAAQ,EAAEX,OAAO,CAACQ,IAAI,CAAE;IACxBI,YAAY,EAAEd,MAAM,CAACS,IAAI,CAAC,CAACM;EAAQ,CACpC,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Image } from '@expo/ui/swift-ui';
|
|
4
|
-
import { accessibilityHidden } from '@expo/ui/swift-ui/modifiers';
|
|
4
|
+
import { accessibilityHidden, accessibilityLabel as labelModifier } from '@expo/ui/swift-ui/modifiers';
|
|
5
5
|
import { GLYPHS } from '@hzblj/kara-native';
|
|
6
6
|
import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
7
|
+
import { useMemo } from 'react';
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
const DECORATIVE = [accessibilityHidden(true)];
|
|
9
10
|
|
|
10
11
|
/** The SF Symbol the system already has — inside a SwiftUI host. */
|
|
11
12
|
export const Glyph = ({
|
|
13
|
+
accessibilityLabel,
|
|
12
14
|
color = 'content.primary',
|
|
13
15
|
name,
|
|
14
16
|
size = 's24'
|
|
15
17
|
}) => {
|
|
16
18
|
const theme = useAppTheme();
|
|
19
|
+
const modifiers = useMemo(() => accessibilityLabel ? [labelModifier(accessibilityLabel)] : DECORATIVE, [accessibilityLabel]);
|
|
17
20
|
return /*#__PURE__*/_jsx(Image, {
|
|
18
21
|
color: theme.color(color),
|
|
19
|
-
modifiers:
|
|
22
|
+
modifiers: modifiers,
|
|
20
23
|
size: spacing[size],
|
|
21
24
|
systemName: GLYPHS[name].ios
|
|
22
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Image","accessibilityHidden","GLYPHS","spacing","useAppTheme","jsx","_jsx","DECORATIVE","Glyph","color","name","size","theme","modifiers","systemName","ios"],"sourceRoot":"../../../src","sources":["glyph/glyph.ios.tsx"],"mappings":";;AAAA,SAAQA,KAAK,QAAO,mBAAmB;AACvC,SAAQC,mBAAmB,QAAO,6BAA6B;
|
|
1
|
+
{"version":3,"names":["Image","accessibilityHidden","accessibilityLabel","labelModifier","GLYPHS","spacing","useAppTheme","useMemo","jsx","_jsx","DECORATIVE","Glyph","color","name","size","theme","modifiers","systemName","ios"],"sourceRoot":"../../../src","sources":["glyph/glyph.ios.tsx"],"mappings":";;AAAA,SAAQA,KAAK,QAAO,mBAAmB;AACvC,SAAQC,mBAAmB,EAAEC,kBAAkB,IAAIC,aAAa,QAAO,6BAA6B;AACpG,SAAQC,MAAM,QAAO,oBAAoB;AACzC,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AACtD,SAAQC,OAAO,QAAO,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,MAAMC,UAAU,GAAG,CAACT,mBAAmB,CAAC,IAAI,CAAC,CAAC;;AAE9C;AACA,OAAO,MAAMU,KAAqB,GAAGA,CAAC;EACpCT,kBAAkB;EAClBU,KAAK,GAAG,iBAAiB;EACzBC,IAAI;EACJC,IAAI,GAAG;AACG,CAAC,KAAK;EAChB,MAAMC,KAAK,GAAGT,WAAW,CAAC,CAAC;EAC3B,MAAMU,SAAS,GAAGT,OAAO,CACvB,MAAOL,kBAAkB,GAAG,CAACC,aAAa,CAACD,kBAAkB,CAAC,CAAC,GAAGQ,UAAW,EAC7E,CAACR,kBAAkB,CACrB,CAAC;EAED,oBAAOO,IAAA,CAACT,KAAK;IAACY,KAAK,EAAEG,KAAK,CAACH,KAAK,CAACA,KAAK,CAAE;IAACI,SAAS,EAAEA,SAAU;IAACF,IAAI,EAAET,OAAO,CAACS,IAAI,CAAE;IAACG,UAAU,EAAEb,MAAM,CAACS,IAAI,CAAC,CAACK;EAAI,CAAE,CAAC;AACtH,CAAC","ignoreList":[]}
|
|
@@ -2,20 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
import { AnimatedVisibility, Box, Column, Text as ComposeText, EnterTransition, ExitTransition, Row } from '@expo/ui/jetpack-compose';
|
|
4
4
|
import { animated, clickable, defaultMinSize, fillMaxWidth, graphicsLayer, tween } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
|
-
import {
|
|
5
|
+
import { useAccessibilityModifiers } from '@hzblj/kara-sx';
|
|
6
|
+
import { duration, useAppTheme, useReducedMotion } from '@hzblj/kara-theme';
|
|
6
7
|
import { useMemo } from 'react';
|
|
7
8
|
import { Glyph } from "../../glyph/index.js";
|
|
8
9
|
import { useHostGuard } from "../../host-context.js";
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
/** Material's standard easing, at the length a
|
|
11
|
+
/** Material's standard easing, at the length a chevron turning takes. */
|
|
11
12
|
const TURN = tween({
|
|
12
|
-
durationMillis: duration.
|
|
13
|
+
durationMillis: duration.fast,
|
|
13
14
|
easing: 'fastOutSlowIn'
|
|
14
15
|
});
|
|
16
|
+
const SNAP = tween({
|
|
17
|
+
durationMillis: duration.none
|
|
18
|
+
});
|
|
15
19
|
|
|
16
20
|
/** Down from the row, fading in — Compose's default grows from a corner, sideways as well as down. */
|
|
17
21
|
const ENTER = EnterTransition.expandVertically().plus(EnterTransition.fadeIn());
|
|
18
22
|
const EXIT = ExitTransition.shrinkVertically().plus(ExitTransition.fadeOut());
|
|
23
|
+
|
|
24
|
+
/** With motion reduced (Compose follows the device's own setting, this `KaraProvider reduceMotion`): no growing. */
|
|
25
|
+
const FADE_IN = EnterTransition.fadeIn();
|
|
26
|
+
const FADE_OUT = ExitTransition.fadeOut();
|
|
19
27
|
const WIDE = [fillMaxWidth()];
|
|
20
28
|
|
|
21
29
|
/** Material's least touch target. */
|
|
@@ -34,12 +42,14 @@ export const Collapsible = ({
|
|
|
34
42
|
}) => {
|
|
35
43
|
useHostGuard('Collapsible');
|
|
36
44
|
const theme = useAppTheme();
|
|
45
|
+
const reduced = useReducedMotion();
|
|
46
|
+
const accessibilityModifiers = useAccessibilityModifiers({}, true);
|
|
37
47
|
const modifiers = useMemo(() => [fillMaxWidth(), defaultMinSize({
|
|
38
48
|
minHeight: ROW_HEIGHT
|
|
39
|
-
}), clickable(() => onExpandedChange(!expanded))], [expanded, onExpandedChange]);
|
|
49
|
+
}), clickable(() => onExpandedChange(!expanded)), ...accessibilityModifiers], [accessibilityModifiers, expanded, onExpandedChange]);
|
|
40
50
|
const turn = useMemo(() => [graphicsLayer({
|
|
41
|
-
rotationZ: animated(expanded ? 90 : 0, TURN)
|
|
42
|
-
})], [expanded]);
|
|
51
|
+
rotationZ: animated(expanded ? 90 : 0, reduced ? SNAP : TURN)
|
|
52
|
+
})], [expanded, reduced]);
|
|
43
53
|
return /*#__PURE__*/_jsxs(Column, {
|
|
44
54
|
modifiers: WIDE,
|
|
45
55
|
children: [/*#__PURE__*/_jsxs(Row, {
|
|
@@ -58,8 +68,8 @@ export const Collapsible = ({
|
|
|
58
68
|
})
|
|
59
69
|
})]
|
|
60
70
|
}), /*#__PURE__*/_jsx(AnimatedVisibility, {
|
|
61
|
-
enterTransition: ENTER,
|
|
62
|
-
exitTransition: EXIT,
|
|
71
|
+
enterTransition: reduced ? FADE_IN : ENTER,
|
|
72
|
+
exitTransition: reduced ? FADE_OUT : EXIT,
|
|
63
73
|
visible: expanded,
|
|
64
74
|
children: children
|
|
65
75
|
})]
|