@hzblj/kara-components 0.2.1 → 0.4.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 +34 -0
- package/README.md +2 -3
- package/lib/module/atoms/h-stack/h-stack.android.js +2 -5
- package/lib/module/atoms/h-stack/h-stack.android.js.map +1 -1
- package/lib/module/atoms/v-stack/v-stack.android.js +2 -5
- package/lib/module/atoms/v-stack/v-stack.android.js.map +1 -1
- package/lib/module/atoms/z-stack/z-stack.android.js +2 -5
- package/lib/module/atoms/z-stack/z-stack.android.js.map +1 -1
- package/lib/module/molecules/index.js +1 -0
- package/lib/module/molecules/index.js.map +1 -1
- package/lib/module/molecules/labeled-content/labeled-content.js +2 -0
- package/lib/module/molecules/labeled-content/labeled-content.js.map +1 -1
- package/lib/module/molecules/list-item/list-item.js +12 -1
- package/lib/module/molecules/list-item/list-item.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js +65 -35
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js +48 -13
- package/lib/module/molecules/navigation-bar/navigation-bar.ios.js.map +1 -1
- package/lib/module/molecules/rn-list-item/index.js +5 -0
- package/lib/module/molecules/rn-list-item/index.js.map +1 -0
- package/lib/module/molecules/rn-list-item/rn-list-item.js +71 -0
- package/lib/module/molecules/rn-list-item/rn-list-item.js.map +1 -0
- package/lib/module/molecules/rn-list-item/rn-list-item.types.js +4 -0
- package/lib/module/molecules/rn-list-item/rn-list-item.types.js.map +1 -0
- package/lib/module/organisms/context-menu/context-menu.android.js +83 -38
- package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -1
- package/lib/module/organisms/sheet/index.js +2 -1
- package/lib/module/organisms/sheet/index.js.map +1 -1
- package/lib/module/organisms/sheet/sheet-header.js +7 -0
- package/lib/module/organisms/sheet/sheet-header.js.map +1 -0
- package/lib/module/organisms/sheet/sheet-scroll.js +62 -0
- package/lib/module/organisms/sheet/sheet-scroll.js.map +1 -0
- package/lib/module/organisms/sheet/sheet.js +136 -0
- package/lib/module/organisms/sheet/sheet.js.map +1 -0
- package/lib/module/organisms/sheet/split-sheet-children.js +21 -0
- package/lib/module/organisms/sheet/split-sheet-children.js.map +1 -0
- package/lib/module/organisms/sheet/use-sheet-header.js +118 -0
- package/lib/module/organisms/sheet/use-sheet-header.js.map +1 -0
- package/lib/module/ripple-clip.js +36 -0
- package/lib/module/ripple-clip.js.map +1 -0
- package/lib/module/use-stack-modifiers.js +35 -0
- package/lib/module/use-stack-modifiers.js.map +1 -0
- package/lib/typescript/molecules/index.d.ts +1 -0
- package/lib/typescript/molecules/labeled-content/labeled-content.types.d.ts +3 -0
- package/lib/typescript/molecules/list-item/list-item.types.d.ts +6 -0
- package/lib/typescript/molecules/navigation-bar/navigation-bar.types.d.ts +56 -17
- package/lib/typescript/molecules/rn-list-item/index.d.ts +2 -0
- package/lib/typescript/molecules/rn-list-item/rn-list-item.d.ts +2 -0
- package/lib/typescript/molecules/rn-list-item/rn-list-item.types.d.ts +10 -0
- package/lib/typescript/organisms/context-menu/context-menu.types.d.ts +2 -1
- package/lib/typescript/organisms/sheet/index.d.ts +1 -0
- package/lib/typescript/organisms/sheet/sheet-header.d.ts +3 -0
- package/lib/typescript/organisms/sheet/sheet-scroll.d.ts +9 -0
- package/lib/typescript/organisms/sheet/sheet.d.ts +7 -1
- package/lib/typescript/organisms/sheet/sheet.types.d.ts +86 -3
- package/lib/typescript/organisms/sheet/split-sheet-children.d.ts +9 -0
- package/lib/typescript/organisms/sheet/use-sheet-header.d.ts +24 -0
- package/lib/typescript/ripple-clip.d.ts +12 -0
- package/lib/typescript/use-stack-modifiers.d.ts +8 -0
- package/package.json +6 -4
- package/src/atoms/h-stack/h-stack.android.tsx +2 -8
- package/src/atoms/v-stack/v-stack.android.tsx +2 -8
- package/src/atoms/z-stack/z-stack.android.tsx +2 -8
- package/src/molecules/index.ts +1 -0
- package/src/molecules/labeled-content/labeled-content.tsx +2 -1
- package/src/molecules/labeled-content/labeled-content.types.ts +3 -0
- package/src/molecules/list-item/list-item.tsx +12 -4
- package/src/molecules/list-item/list-item.types.ts +6 -0
- package/src/molecules/navigation-bar/navigation-bar.android.tsx +50 -23
- package/src/molecules/navigation-bar/navigation-bar.ios.tsx +54 -15
- package/src/molecules/navigation-bar/navigation-bar.types.ts +56 -17
- package/src/molecules/rn-list-item/index.ts +2 -0
- package/src/molecules/rn-list-item/rn-list-item.tsx +48 -0
- package/src/molecules/rn-list-item/rn-list-item.types.ts +13 -0
- package/src/organisms/context-menu/context-menu.android.tsx +63 -38
- package/src/organisms/context-menu/context-menu.types.ts +2 -1
- package/src/organisms/sheet/index.ts +1 -0
- package/src/organisms/sheet/sheet-header.tsx +6 -0
- package/src/organisms/sheet/sheet-scroll.tsx +69 -0
- package/src/organisms/sheet/sheet.tsx +140 -0
- package/src/organisms/sheet/sheet.types.ts +93 -3
- package/src/organisms/sheet/split-sheet-children.ts +23 -0
- package/src/organisms/sheet/use-sheet-header.tsx +135 -0
- package/src/ripple-clip.ts +47 -0
- package/src/use-stack-modifiers.ts +24 -0
- package/lib/module/organisms/sheet/sheet.android.js +0 -26
- package/lib/module/organisms/sheet/sheet.android.js.map +0 -1
- package/lib/module/organisms/sheet/sheet.ios.js +0 -25
- package/lib/module/organisms/sheet/sheet.ios.js.map +0 -1
- package/lib/typescript/organisms/sheet/sheet.ios.d.ts +0 -2
- package/src/organisms/sheet/sheet.android.tsx +0 -25
- package/src/organisms/sheet/sheet.ios.tsx +0 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @hzblj/kara-components
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`6e7903a`](https://github.com/hzblj/kara-ui/commit/6e7903afa3d3442e04a48a6e24399f9f03559a03) Thanks [@hzblj](https://github.com/hzblj)! - Android polish, and a new `RnListItem`.
|
|
8
|
+
|
|
9
|
+
- `ContextMenu` on Android is a proper long-press menu: a ripple and the long-press haptic, then a Material dropdown where the finger is, with the actions' icons and the trigger highlighted while it is open. The ripple and highlight stay inside rounded corners.
|
|
10
|
+
- A pressable `HStack`, `VStack` or `ZStack` ripples across its whole shape, padding included; `ListItem` and `LabeledContent` take `px` so a row in a card can carry the card's padding inside its press area.
|
|
11
|
+
- `ListItem` keeps its chevron when the subtitle fills the line.
|
|
12
|
+
- `Tabs` take the theme's colours: on Android the bar, active indicator, icons, labels and ripple come from tokens instead of the wallpaper scheme; on iOS the selected item takes the accent.
|
|
13
|
+
- New `RnListItem`: `ListItem`'s row in the React Native tier, cheap to mount by the dozen, with a full-row ripple on Android and a highlight on iOS.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies []:
|
|
18
|
+
- @hzblj/kara-theme@0.4.0
|
|
19
|
+
- @hzblj/kara-sx@0.4.0
|
|
20
|
+
- @hzblj/kara-native@0.4.0
|
|
21
|
+
|
|
22
|
+
## 0.3.0
|
|
23
|
+
|
|
24
|
+
### Minor Changes
|
|
25
|
+
|
|
26
|
+
- [`f84ffd5`](https://github.com/hzblj/kara-ui/commit/f84ffd52954a5e7052541c8682787137de205a28) Thanks [@hzblj](https://github.com/hzblj)! - Native sheets with a native header. `Sheet` is now a TrueSheet (`@lodev09/react-native-true-sheet`, a new peer dependency) with `<Sheet.Header>` — a real navigation bar with a centred, leading or large title that hands over to the bar as it scrolls away, items on either side, and on iOS 26 the content scrolls under it with the soft edge effect — plus `<Sheet.ScrollView>`, `useSheetScroll`, detents, a footer and a ref (`present`/`dismiss`/`resize`). It is React Native tier now: no host, native atoms inside go in an `Island`. `fitToContents` is replaced by `detents` (`['auto']` by default).
|
|
27
|
+
|
|
28
|
+
`NavigationBar` takes `leadingItems` / `trailingItems` instead of `onBack` / `onClose`: `back`, `close` or an app `icon`, on either side and in any order; on iOS 26 neighbours share a glass capsule unless an item is `separated`. Also `titleAlignment`, `titleVisible`, `inverted` and an iOS `search` field. On Android it is now Material's native top app bar.
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [[`f84ffd5`](https://github.com/hzblj/kara-ui/commit/f84ffd52954a5e7052541c8682787137de205a28)]:
|
|
33
|
+
- @hzblj/kara-native@0.3.0
|
|
34
|
+
- @hzblj/kara-theme@0.3.0
|
|
35
|
+
- @hzblj/kara-sx@0.3.0
|
|
36
|
+
|
|
3
37
|
## 0.2.1
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
# @hzblj/kara-components
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The components of kara-ui.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
blocks, published so the umbrella can depend on it; it is versioned together with it and has no standalone docs.
|
|
5
|
+
Install [`@hzblj/kara-ui`](https://www.npmjs.com/package/@hzblj/kara-ui) instead — this is one of its building blocks.
|
|
7
6
|
|
|
8
7
|
MIT
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Row } from '@expo/ui/jetpack-compose';
|
|
4
|
-
import { clickable, testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
6
4
|
import { spacing } from '@hzblj/kara-theme';
|
|
7
|
-
import { useMemo } from 'react';
|
|
8
5
|
import { useHostGuard } from "../../host-context.js";
|
|
6
|
+
import { useStackModifiers } from "../../use-stack-modifiers.js";
|
|
9
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
8
|
const ALIGNMENT = {
|
|
11
9
|
center: 'center',
|
|
@@ -21,8 +19,7 @@ export const HStack = ({
|
|
|
21
19
|
...sx
|
|
22
20
|
}) => {
|
|
23
21
|
useHostGuard('HStack');
|
|
24
|
-
const
|
|
25
|
-
const modifiers = useMemo(() => [...sxModifiers, ...(testID ? [testIdModifier(testID)] : []), ...(onPress ? [clickable(onPress)] : [])], [onPress, sxModifiers, testID]);
|
|
22
|
+
const modifiers = useStackModifiers(sx, onPress, testID);
|
|
26
23
|
return /*#__PURE__*/_jsx(Row, {
|
|
27
24
|
verticalAlignment: ALIGNMENT[align],
|
|
28
25
|
horizontalArrangement: gap === undefined ? undefined : {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Row","
|
|
1
|
+
{"version":3,"names":["Row","spacing","useHostGuard","useStackModifiers","jsx","_jsx","ALIGNMENT","center","end","start","HStack","align","children","onPress","gap","testID","sx","modifiers","verticalAlignment","horizontalArrangement","undefined","spacedBy"],"sourceRoot":"../../../../src","sources":["atoms/h-stack/h-stack.android.tsx"],"mappings":";;AAAA,SAAQA,GAAG,QAAO,0BAA0B;AAC5C,SAAQC,OAAO,QAAO,mBAAmB;AACzC,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,iBAAiB,QAAO,8BAA2B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG3D,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,QAAQ;EACbC,KAAK,EAAE;AACT,CAAgD;AAEhD,OAAO,MAAMC,MAAuB,GAAGA,CAAC;EACtCC,KAAK,GAAG,OAAO;EACfC,QAAQ;EACRC,OAAO;EACPZ,OAAO,EAAEa,GAAG;EACZC,MAAM;EACN,GAAGC;AACQ,CAAC,KAAK;EACjBd,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAMe,SAAS,GAAGd,iBAAiB,CAACa,EAAE,EAAEH,OAAO,EAAEE,MAAM,CAAC;EAExD,oBACEV,IAAA,CAACL,GAAG;IACFkB,iBAAiB,EAAEZ,SAAS,CAACK,KAAK,CAAE;IACpCQ,qBAAqB,EAAEL,GAAG,KAAKM,SAAS,GAAGA,SAAS,GAAG;MAACC,QAAQ,EAAEpB,OAAO,CAACa,GAAG;IAAC,CAAE;IAChFG,SAAS,EAAEA,SAAU;IAAAL,QAAA,EAEpBA;EAAQ,CACN,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Column } from '@expo/ui/jetpack-compose';
|
|
4
|
-
import { clickable, testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
6
4
|
import { spacing } from '@hzblj/kara-theme';
|
|
7
|
-
import { useMemo } from 'react';
|
|
8
5
|
import { useHostGuard } from "../../host-context.js";
|
|
6
|
+
import { useStackModifiers } from "../../use-stack-modifiers.js";
|
|
9
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
8
|
const ALIGNMENT = {
|
|
11
9
|
center: 'center',
|
|
@@ -21,8 +19,7 @@ export const VStack = ({
|
|
|
21
19
|
...sx
|
|
22
20
|
}) => {
|
|
23
21
|
useHostGuard('VStack');
|
|
24
|
-
const
|
|
25
|
-
const modifiers = useMemo(() => [...sxModifiers, ...(testID ? [testIdModifier(testID)] : []), ...(onPress ? [clickable(onPress)] : [])], [onPress, sxModifiers, testID]);
|
|
22
|
+
const modifiers = useStackModifiers(sx, onPress, testID);
|
|
26
23
|
return /*#__PURE__*/_jsx(Column, {
|
|
27
24
|
horizontalAlignment: ALIGNMENT[align],
|
|
28
25
|
verticalArrangement: gap === undefined ? undefined : {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Column","
|
|
1
|
+
{"version":3,"names":["Column","spacing","useHostGuard","useStackModifiers","jsx","_jsx","ALIGNMENT","center","end","start","VStack","align","children","onPress","gap","testID","sx","modifiers","horizontalAlignment","verticalArrangement","undefined","spacedBy"],"sourceRoot":"../../../../src","sources":["atoms/v-stack/v-stack.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,0BAA0B;AAC/C,SAAQC,OAAO,QAAO,mBAAmB;AACzC,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,iBAAiB,QAAO,8BAA2B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG3D,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE;AACT,CAAgD;AAEhD,OAAO,MAAMC,MAAuB,GAAGA,CAAC;EACtCC,KAAK,GAAG,OAAO;EACfC,QAAQ;EACRC,OAAO;EACPZ,OAAO,EAAEa,GAAG;EACZC,MAAM;EACN,GAAGC;AACQ,CAAC,KAAK;EACjBd,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAMe,SAAS,GAAGd,iBAAiB,CAACa,EAAE,EAAEH,OAAO,EAAEE,MAAM,CAAC;EAExD,oBACEV,IAAA,CAACL,MAAM;IACLkB,mBAAmB,EAAEZ,SAAS,CAACK,KAAK,CAAE;IACtCQ,mBAAmB,EAAEL,GAAG,KAAKM,SAAS,GAAGA,SAAS,GAAG;MAACC,QAAQ,EAAEpB,OAAO,CAACa,GAAG;IAAC,CAAE;IAC9EG,SAAS,EAAEA,SAAU;IAAAL,QAAA,EAEpBA;EAAQ,CACH,CAAC;AAEb,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Box } from '@expo/ui/jetpack-compose';
|
|
4
|
-
import { clickable, testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
|
-
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
6
|
-
import { useMemo } from 'react';
|
|
7
4
|
import { useHostGuard } from "../../host-context.js";
|
|
5
|
+
import { useStackModifiers } from "../../use-stack-modifiers.js";
|
|
8
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
7
|
const ALIGNMENT = {
|
|
10
8
|
bottom: 'bottomCenter',
|
|
@@ -19,8 +17,7 @@ export const ZStack = ({
|
|
|
19
17
|
...sx
|
|
20
18
|
}) => {
|
|
21
19
|
useHostGuard('ZStack');
|
|
22
|
-
const
|
|
23
|
-
const modifiers = useMemo(() => [...sxModifiers, ...(testID ? [testIdModifier(testID)] : []), ...(onPress ? [clickable(onPress)] : [])], [onPress, sxModifiers, testID]);
|
|
20
|
+
const modifiers = useStackModifiers(sx, onPress, testID);
|
|
24
21
|
return /*#__PURE__*/_jsx(Box, {
|
|
25
22
|
contentAlignment: ALIGNMENT[align],
|
|
26
23
|
modifiers: modifiers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Box","
|
|
1
|
+
{"version":3,"names":["Box","useHostGuard","useStackModifiers","jsx","_jsx","ALIGNMENT","bottom","center","top","ZStack","align","children","onPress","testID","sx","modifiers","contentAlignment"],"sourceRoot":"../../../../src","sources":["atoms/z-stack/z-stack.android.tsx"],"mappings":";;AAAA,SAAQA,GAAG,QAAO,0BAA0B;AAC5C,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,iBAAiB,QAAO,8BAA2B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG3D,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,cAAc;EACtBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE;AACP,CAAgD;AAEhD,OAAO,MAAMC,MAAuB,GAAGA,CAAC;EAACC,KAAK,GAAG,QAAQ;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,MAAM;EAAE,GAAGC;AAAe,CAAC,KAAK;EAC5Gb,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAMc,SAAS,GAAGb,iBAAiB,CAACY,EAAE,EAAEF,OAAO,EAAEC,MAAM,CAAC;EAExD,oBACET,IAAA,CAACJ,GAAG;IAACgB,gBAAgB,EAAEX,SAAS,CAACK,KAAK,CAAE;IAACK,SAAS,EAAEA,SAAU;IAAAJ,QAAA,EAC3DA;EAAQ,CACN,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ export * from "./list-item/index.js";
|
|
|
9
9
|
export * from "./navigation-bar/index.js";
|
|
10
10
|
export * from "./pager/index.js";
|
|
11
11
|
export * from "./radio-group/index.js";
|
|
12
|
+
export * from "./rn-list-item/index.js";
|
|
12
13
|
export * from "./rn-tooltip/index.js";
|
|
13
14
|
export * from "./scroll-edge-container/index.js";
|
|
14
15
|
export * from "./search-bar/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["molecules/index.ts"],"mappings":";;AAAA,cAAc,wBAAe;AAC7B,cAAc,wBAAe;AAC7B,cAAc,kBAAS;AACvB,cAAc,4BAAmB;AACjC,cAAc,iBAAQ;AACtB,cAAc,sBAAa;AAC3B,cAAc,2BAAkB;AAChC,cAAc,kBAAS;AACvB,cAAc,wBAAe;AAC7B,cAAc,uBAAc;AAC5B,cAAc,kCAAyB;AACvC,cAAc,uBAAc;AAC5B,cAAc,oBAAW;AACzB,cAAc,oBAAW","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["molecules/index.ts"],"mappings":";;AAAA,cAAc,wBAAe;AAC7B,cAAc,wBAAe;AAC7B,cAAc,kBAAS;AACvB,cAAc,4BAAmB;AACjC,cAAc,iBAAQ;AACtB,cAAc,sBAAa;AAC3B,cAAc,2BAAkB;AAChC,cAAc,kBAAS;AACvB,cAAc,wBAAe;AAC7B,cAAc,yBAAgB;AAC9B,cAAc,uBAAc;AAC5B,cAAc,kCAAyB;AACvC,cAAc,uBAAc;AAC5B,cAAc,oBAAW;AACzB,cAAc,oBAAW","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HStack","Icon","Spacer","Text","Glyph","jsx","_jsx","jsxs","_jsxs","TrailingValue","value","color","variant","children","LabeledContent","icon","label","onPress","testID","align","py","spacing","wide","name","size","undefined"],"sourceRoot":"../../../../src","sources":["molecules/labeled-content/labeled-content.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,KAAK,QAAO,sBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGjC,MAAMC,aAAa,GAAGA,CAAC;EAACC;AAAsB,CAAC,kBAC7CJ,IAAA,CAACH,IAAI;EAACQ,KAAK,EAAC,mBAAmB;EAACC,OAAO,EAAC,MAAM;EAAAC,QAAA,EAC3CH;AAAK,CACF,CACP;AAED,OAAO,MAAMI,cAAuC,GAAGA,CAAC;EACtDD,QAAQ;EACRE,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,MAAM;
|
|
1
|
+
{"version":3,"names":["HStack","Icon","Spacer","Text","Glyph","jsx","_jsx","jsxs","_jsxs","TrailingValue","value","color","variant","children","LabeledContent","icon","label","onPress","px","testID","align","py","spacing","wide","name","size","undefined"],"sourceRoot":"../../../../src","sources":["molecules/labeled-content/labeled-content.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,KAAK,QAAO,sBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGjC,MAAMC,aAAa,GAAGA,CAAC;EAACC;AAAsB,CAAC,kBAC7CJ,IAAA,CAACH,IAAI;EAACQ,KAAK,EAAC,mBAAmB;EAACC,OAAO,EAAC,MAAM;EAAAC,QAAA,EAC3CH;AAAK,CACF,CACP;AAED,OAAO,MAAMI,cAAuC,GAAGA,CAAC;EACtDD,QAAQ;EACRE,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,EAAE;EACFC,MAAM;EACNT;AACmB,CAAC,kBACpBF,KAAA,CAACR,MAAM;EAACoB,KAAK,EAAC,QAAQ;EAACH,OAAO,EAAEA,OAAQ;EAACC,EAAE,EAAEA,EAAG;EAACG,EAAE,EAAC,IAAI;EAACC,OAAO,EAAC,KAAK;EAACH,MAAM,EAAEA,MAAO;EAACI,IAAI;EAAAV,QAAA,GACxFE,IAAI,gBAAGT,IAAA,CAACL,IAAI;IAACU,KAAK,EAAC,mBAAmB;IAACa,IAAI,EAAET,IAAK;IAACU,IAAI,EAAC;EAAK,CAAE,CAAC,GAAG,IAAI,eACxEnB,IAAA,CAACH,IAAI;IAACS,OAAO,EAAC,MAAM;IAAAC,QAAA,EAAEG;EAAK,CAAO,CAAC,eACnCV,IAAA,CAACJ,MAAM,IAAE,CAAC,EACTW,QAAQ,KAAKH,KAAK,KAAKgB,SAAS,GAAG,IAAI,gBAAGpB,IAAA,CAACG,aAAa;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC,CAAC,EAC1EO,OAAO,gBAAGX,IAAA,CAACF,KAAK;IAACO,KAAK,EAAC,oBAAoB;IAACa,IAAI,EAAC,cAAc;IAACC,IAAI,EAAC;EAAK,CAAE,CAAC,GAAG,IAAI;AAAA,CAC/E,CACT","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { Platform } from 'react-native';
|
|
3
4
|
import { HStack } from "../../atoms/h-stack/index.js";
|
|
4
5
|
import { Icon } from "../../atoms/icon/index.js";
|
|
5
6
|
import { Spacer } from "../../atoms/spacer/index.js";
|
|
@@ -7,15 +8,24 @@ import { Text } from "../../atoms/text/index.js";
|
|
|
7
8
|
import { VStack } from "../../atoms/v-stack/index.js";
|
|
8
9
|
import { Glyph } from "../../glyph/index.js";
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
/**
|
|
12
|
+
* Compose measures a row's children in order, so a text column that fills the line leaves the chevron no room. With a
|
|
13
|
+
* weight it is measured last and takes only what is left; SwiftUI shares the line by itself, with a `Spacer`.
|
|
14
|
+
*/
|
|
15
|
+
const TEXT_FILLS_ROW = {
|
|
16
|
+
weight: 1
|
|
17
|
+
};
|
|
10
18
|
export const ListItem = ({
|
|
11
19
|
icon,
|
|
12
20
|
onPress,
|
|
21
|
+
px,
|
|
13
22
|
subtitle,
|
|
14
23
|
testID,
|
|
15
24
|
title
|
|
16
25
|
}) => /*#__PURE__*/_jsxs(HStack, {
|
|
17
26
|
align: "center",
|
|
18
27
|
onPress: onPress,
|
|
28
|
+
px: px,
|
|
19
29
|
py: "s8",
|
|
20
30
|
spacing: "s12",
|
|
21
31
|
testID: testID,
|
|
@@ -25,6 +35,7 @@ export const ListItem = ({
|
|
|
25
35
|
name: icon,
|
|
26
36
|
size: "s20"
|
|
27
37
|
}) : null, /*#__PURE__*/_jsxs(VStack, {
|
|
38
|
+
android: TEXT_FILLS_ROW,
|
|
28
39
|
spacing: "s2",
|
|
29
40
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
30
41
|
variant: "body",
|
|
@@ -34,7 +45,7 @@ export const ListItem = ({
|
|
|
34
45
|
variant: "footnote",
|
|
35
46
|
children: subtitle
|
|
36
47
|
}) : null]
|
|
37
|
-
}), /*#__PURE__*/_jsx(Spacer, {}), onPress ? /*#__PURE__*/_jsx(Glyph, {
|
|
48
|
+
}), Platform.OS === 'ios' ? /*#__PURE__*/_jsx(Spacer, {}) : null, onPress ? /*#__PURE__*/_jsx(Glyph, {
|
|
38
49
|
color: "content.quaternary",
|
|
39
50
|
name: "chevronRight",
|
|
40
51
|
size: "s16"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HStack","Icon","Spacer","Text","VStack","Glyph","jsx","_jsx","jsxs","_jsxs","ListItem","icon","onPress","subtitle","testID","title","align","py","spacing","wide","children","color","name","size","variant"],"sourceRoot":"../../../../src","sources":["molecules/list-item/list-item.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,KAAK,QAAO,sBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGjC,OAAO,MAAMC,QAA2B,GAAGA,CAAC;EAACC,IAAI;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAoB,CAAC,
|
|
1
|
+
{"version":3,"names":["Platform","HStack","Icon","Spacer","Text","VStack","Glyph","jsx","_jsx","jsxs","_jsxs","TEXT_FILLS_ROW","weight","ListItem","icon","onPress","px","subtitle","testID","title","align","py","spacing","wide","children","color","name","size","android","variant","OS"],"sourceRoot":"../../../../src","sources":["molecules/list-item/list-item.tsx"],"mappings":";;AAAA,SAAQA,QAAQ,QAAO,cAAc;AAErC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,6BAAoB;AACzC,SAAQC,IAAI,QAAO,2BAAkB;AACrC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,KAAK,QAAO,sBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGjC;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG;EAACC,MAAM,EAAE;AAAC,CAAC;AAElC,OAAO,MAAMC,QAA2B,GAAGA,CAAC;EAACC,IAAI;EAAEC,OAAO;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAoB,CAAC,kBACrGT,KAAA,CAACT,MAAM;EAACmB,KAAK,EAAC,QAAQ;EAACL,OAAO,EAAEA,OAAQ;EAACC,EAAE,EAAEA,EAAG;EAACK,EAAE,EAAC,IAAI;EAACC,OAAO,EAAC,KAAK;EAACJ,MAAM,EAAEA,MAAO;EAACK,IAAI;EAAAC,QAAA,GACxFV,IAAI,gBAAGN,IAAA,CAACN,IAAI;IAACuB,KAAK,EAAC,mBAAmB;IAACC,IAAI,EAAEZ,IAAK;IAACa,IAAI,EAAC;EAAK,CAAE,CAAC,GAAG,IAAI,eACxEjB,KAAA,CAACL,MAAM;IAACuB,OAAO,EAAEjB,cAAe;IAACW,OAAO,EAAC,IAAI;IAAAE,QAAA,gBAC3ChB,IAAA,CAACJ,IAAI;MAACyB,OAAO,EAAC,MAAM;MAAAL,QAAA,EAAEL;IAAK,CAAO,CAAC,EAClCF,QAAQ,gBACPT,IAAA,CAACJ,IAAI;MAACqB,KAAK,EAAC,mBAAmB;MAACI,OAAO,EAAC,UAAU;MAAAL,QAAA,EAC/CP;IAAQ,CACL,CAAC,GACL,IAAI;EAAA,CACF,CAAC,EACRjB,QAAQ,CAAC8B,EAAE,KAAK,KAAK,gBAAGtB,IAAA,CAACL,MAAM,IAAE,CAAC,GAAG,IAAI,EACzCY,OAAO,gBAAGP,IAAA,CAACF,KAAK;IAACmB,KAAK,EAAC,oBAAoB;IAACC,IAAI,EAAC,cAAc;IAACC,IAAI,EAAC;EAAK,CAAE,CAAC,GAAG,IAAI;AAAA,CAC/E,CACT","ignoreList":[]}
|
|
@@ -1,41 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { iconResourceName } from '@hzblj/kara-native';
|
|
4
|
+
import { TopAppBar } from '@hzblj/kara-native/jetpack-compose';
|
|
5
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { StyleSheet } from 'react-native';
|
|
4
8
|
import { Island } from "../../atoms/island/index.js";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
/** Material's small top app bar. */
|
|
11
|
+
const BAR_HEIGHT = 64;
|
|
12
|
+
const styles = StyleSheet.create({
|
|
13
|
+
bar: {
|
|
14
|
+
height: BAR_HEIGHT,
|
|
15
|
+
width: '100%'
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const DEFAULT_LABELS = {
|
|
19
|
+
back: 'Back',
|
|
20
|
+
close: 'Close'
|
|
21
|
+
};
|
|
22
|
+
const toNativeItem = ({
|
|
23
|
+
onPress,
|
|
24
|
+
testID,
|
|
25
|
+
...item
|
|
26
|
+
}) => item.type === 'icon' ? {
|
|
27
|
+
iconName: iconResourceName(item.icon),
|
|
28
|
+
label: item.label,
|
|
29
|
+
onPress,
|
|
30
|
+
testID,
|
|
31
|
+
type: 'icon'
|
|
32
|
+
} : {
|
|
33
|
+
label: item.label ?? DEFAULT_LABELS[item.type],
|
|
34
|
+
onPress,
|
|
35
|
+
testID,
|
|
36
|
+
type: item.type
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/** Material's top app bar in its own host. `search` is iOS-only for now, and `separated` has no Material counterpart. */
|
|
13
40
|
export const NavigationBar = ({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
onBack,
|
|
17
|
-
onClose,
|
|
41
|
+
inverted = false,
|
|
42
|
+
leadingItems,
|
|
18
43
|
testID,
|
|
19
|
-
title
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
title,
|
|
45
|
+
titleAlignment = 'center',
|
|
46
|
+
titleVisible = true,
|
|
47
|
+
trailingItems
|
|
48
|
+
}) => {
|
|
49
|
+
const theme = useAppTheme();
|
|
50
|
+
const font = theme.typography.headline;
|
|
51
|
+
const color = theme.color(inverted ? 'content.on.bg' : 'content.primary');
|
|
52
|
+
const nativeLeadingItems = useMemo(() => leadingItems?.map(toNativeItem), [leadingItems]);
|
|
53
|
+
const nativeTrailingItems = useMemo(() => trailingItems?.map(toNativeItem), [trailingItems]);
|
|
54
|
+
return /*#__PURE__*/_jsx(Island, {
|
|
55
|
+
matchContents: false,
|
|
56
|
+
style: styles.bar,
|
|
57
|
+
testID: testID,
|
|
58
|
+
children: /*#__PURE__*/_jsx(TopAppBar, {
|
|
59
|
+
fontFamily: font.fontFamily,
|
|
60
|
+
fontSize: font.fontSize,
|
|
61
|
+
itemColor: color,
|
|
62
|
+
leadingItems: nativeLeadingItems,
|
|
63
|
+
title: title,
|
|
64
|
+
titleAlignment: titleAlignment,
|
|
65
|
+
titleColor: color,
|
|
66
|
+
titleVisible: titleVisible,
|
|
67
|
+
trailingItems: nativeTrailingItems
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
};
|
|
41
71
|
//# sourceMappingURL=navigation-bar.android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["iconResourceName","TopAppBar","useAppTheme","useMemo","StyleSheet","Island","jsx","_jsx","BAR_HEIGHT","styles","create","bar","height","width","DEFAULT_LABELS","back","close","toNativeItem","onPress","testID","item","type","iconName","icon","label","NavigationBar","inverted","leadingItems","title","titleAlignment","titleVisible","trailingItems","theme","font","typography","headline","color","nativeLeadingItems","map","nativeTrailingItems","matchContents","style","children","fontFamily","fontSize","itemColor","titleColor"],"sourceRoot":"../../../../src","sources":["molecules/navigation-bar/navigation-bar.android.tsx"],"mappings":";;AAAA,SAAQA,gBAAgB,QAAO,oBAAoB;AACnD,SAAQC,SAAS,QAA2B,oCAAoC;AAChF,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,UAAU,QAAO,cAAc;AACvC,SAAQC,MAAM,QAAO,6BAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGzC;AACA,MAAMC,UAAU,GAAG,EAAE;AAErB,MAAMC,MAAM,GAAGL,UAAU,CAACM,MAAM,CAAC;EAC/BC,GAAG,EAAE;IAACC,MAAM,EAAEJ,UAAU;IAAEK,KAAK,EAAE;EAAM;AACzC,CAAC,CAAC;AAEF,MAAMC,cAAc,GAAG;EAACC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE;AAAO,CAAU;AAE9D,MAAMC,YAAY,GAAGA,CAAC;EAACC,OAAO;EAAEC,MAAM;EAAE,GAAGC;AAAuB,CAAC,KACjEA,IAAI,CAACC,IAAI,KAAK,MAAM,GAChB;EAACC,QAAQ,EAAEtB,gBAAgB,CAACoB,IAAI,CAACG,IAAI,CAAC;EAAEC,KAAK,EAAEJ,IAAI,CAACI,KAAK;EAAEN,OAAO;EAAEC,MAAM;EAAEE,IAAI,EAAE;AAAM,CAAC,GACzF;EAACG,KAAK,EAAEJ,IAAI,CAACI,KAAK,IAAIV,cAAc,CAACM,IAAI,CAACC,IAAI,CAAC;EAAEH,OAAO;EAAEC,MAAM;EAAEE,IAAI,EAAED,IAAI,CAACC;AAAI,CAAC;;AAExF;AACA,OAAO,MAAMI,aAAqC,GAAGA,CAAC;EACpDC,QAAQ,GAAG,KAAK;EAChBC,YAAY;EACZR,MAAM;EACNS,KAAK;EACLC,cAAc,GAAG,QAAQ;EACzBC,YAAY,GAAG,IAAI;EACnBC;AACkB,CAAC,KAAK;EACxB,MAAMC,KAAK,GAAG9B,WAAW,CAAC,CAAC;EAC3B,MAAM+B,IAAI,GAAGD,KAAK,CAACE,UAAU,CAACC,QAAQ;EACtC,MAAMC,KAAK,GAAGJ,KAAK,CAACI,KAAK,CAACV,QAAQ,GAAG,eAAe,GAAG,iBAAiB,CAAC;EAEzE,MAAMW,kBAAkB,GAAGlC,OAAO,CAAC,MAAMwB,YAAY,EAAEW,GAAG,CAACrB,YAAY,CAAC,EAAE,CAACU,YAAY,CAAC,CAAC;EACzF,MAAMY,mBAAmB,GAAGpC,OAAO,CAAC,MAAM4B,aAAa,EAAEO,GAAG,CAACrB,YAAY,CAAC,EAAE,CAACc,aAAa,CAAC,CAAC;EAE5F,oBACExB,IAAA,CAACF,MAAM;IAACmC,aAAa,EAAE,KAAM;IAACC,KAAK,EAAEhC,MAAM,CAACE,GAAI;IAACQ,MAAM,EAAEA,MAAO;IAAAuB,QAAA,eAC9DnC,IAAA,CAACN,SAAS;MACR0C,UAAU,EAAEV,IAAI,CAACU,UAAW;MAC5BC,QAAQ,EAAEX,IAAI,CAACW,QAAS;MACxBC,SAAS,EAAET,KAAM;MACjBT,YAAY,EAAEU,kBAAmB;MACjCT,KAAK,EAAEA,KAAM;MACbC,cAAc,EAAEA,cAAe;MAC/BiB,UAAU,EAAEV,KAAM;MAClBN,YAAY,EAAEA,YAAa;MAC3BC,aAAa,EAAEQ;IAAoB,CACpC;EAAC,CACI,CAAC;AAEb,CAAC","ignoreList":[]}
|
|
@@ -1,33 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { iconResourceName } from '@hzblj/kara-native';
|
|
3
4
|
import { NavigationBar as NativeNavigationBar } from '@hzblj/kara-native/swift-ui';
|
|
4
5
|
import { useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useImperativeHandle, useMemo, useRef } from 'react';
|
|
5
7
|
import { StyleSheet } from 'react-native';
|
|
6
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
/**
|
|
8
|
-
const BAR_HEIGHT =
|
|
9
|
+
/** Fits iOS 26's 44 pt glass items with the bar's own margin; the bar centres itself vertically in it. */
|
|
10
|
+
const BAR_HEIGHT = 56;
|
|
9
11
|
const styles = StyleSheet.create({
|
|
10
12
|
bar: {
|
|
11
13
|
height: BAR_HEIGHT,
|
|
12
14
|
width: '100%'
|
|
13
15
|
}
|
|
14
16
|
});
|
|
17
|
+
const DEFAULT_LABELS = {
|
|
18
|
+
back: 'Back',
|
|
19
|
+
close: 'Close'
|
|
20
|
+
};
|
|
21
|
+
const toNativeItem = item => item.type === 'icon' ? {
|
|
22
|
+
...item,
|
|
23
|
+
imageName: iconResourceName(item.icon),
|
|
24
|
+
type: 'icon'
|
|
25
|
+
} : {
|
|
26
|
+
...item,
|
|
27
|
+
label: item.label ?? DEFAULT_LABELS[item.type]
|
|
28
|
+
};
|
|
29
|
+
const ignoreDetachedView = () => undefined;
|
|
15
30
|
export const NavigationBar = ({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
31
|
+
inverted = false,
|
|
32
|
+
leadingItems,
|
|
33
|
+
search,
|
|
34
|
+
testID,
|
|
35
|
+
title,
|
|
36
|
+
titleAlignment = 'center',
|
|
37
|
+
titleVisible = true,
|
|
38
|
+
trailingItems
|
|
19
39
|
}) => {
|
|
20
40
|
const theme = useAppTheme();
|
|
21
|
-
const
|
|
41
|
+
const barRef = useRef(null);
|
|
42
|
+
const font = theme.typography.headline;
|
|
43
|
+
const color = theme.color(inverted ? 'content.on.bg' : 'content.primary');
|
|
44
|
+
useImperativeHandle(search?.ref, () => ({
|
|
45
|
+
clear: () => barRef.current?.clearSearchText().catch(ignoreDetachedView)
|
|
46
|
+
}), []);
|
|
47
|
+
const nativeLeadingItems = useMemo(() => leadingItems?.map(toNativeItem), [leadingItems]);
|
|
48
|
+
const nativeTrailingItems = useMemo(() => trailingItems?.map(toNativeItem), [trailingItems]);
|
|
22
49
|
return /*#__PURE__*/_jsx(NativeNavigationBar, {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
50
|
+
fontFamily: font.fontFamily,
|
|
51
|
+
fontSize: font.fontSize,
|
|
52
|
+
itemColor: color,
|
|
53
|
+
leadingItems: nativeLeadingItems,
|
|
54
|
+
onSearchFocusChange: search?.onFocusChange,
|
|
55
|
+
onSearchTextChange: search?.onChangeText,
|
|
56
|
+
ref: barRef,
|
|
57
|
+
searchPlaceholder: search?.placeholder,
|
|
58
|
+
searchTestID: search?.testID,
|
|
29
59
|
style: styles.bar,
|
|
30
|
-
|
|
60
|
+
testID: testID,
|
|
61
|
+
title: title,
|
|
62
|
+
titleAlignment: titleAlignment,
|
|
63
|
+
titleColor: color,
|
|
64
|
+
titleVisible: titleVisible,
|
|
65
|
+
trailingItems: nativeTrailingItems
|
|
31
66
|
});
|
|
32
67
|
};
|
|
33
68
|
//# sourceMappingURL=navigation-bar.ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationBar","NativeNavigationBar","useAppTheme","StyleSheet","jsx","_jsx","BAR_HEIGHT","styles","create","bar","height","width","
|
|
1
|
+
{"version":3,"names":["iconResourceName","NavigationBar","NativeNavigationBar","useAppTheme","useImperativeHandle","useMemo","useRef","StyleSheet","jsx","_jsx","BAR_HEIGHT","styles","create","bar","height","width","DEFAULT_LABELS","back","close","toNativeItem","item","type","imageName","icon","label","ignoreDetachedView","undefined","inverted","leadingItems","search","testID","title","titleAlignment","titleVisible","trailingItems","theme","barRef","font","typography","headline","color","ref","clear","current","clearSearchText","catch","nativeLeadingItems","map","nativeTrailingItems","fontFamily","fontSize","itemColor","onSearchFocusChange","onFocusChange","onSearchTextChange","onChangeText","searchPlaceholder","placeholder","searchTestID","style","titleColor"],"sourceRoot":"../../../../src","sources":["molecules/navigation-bar/navigation-bar.ios.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["molecules/rn-list-item/index.ts"],"mappings":";;AAAA,cAAc,mBAAgB;AAC9B,cAAc,yBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { Platform, Pressable } from 'react-native';
|
|
6
|
+
import { Box } from "../../atoms/box/index.js";
|
|
7
|
+
import { RnIcon } from "../../atoms/rn-icon/index.js";
|
|
8
|
+
import { RnText } from "../../atoms/rn-text/index.js";
|
|
9
|
+
import { RnGlyph } from "../../glyph/index.js";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
export const RnListItem = ({
|
|
12
|
+
icon,
|
|
13
|
+
onPress,
|
|
14
|
+
px,
|
|
15
|
+
subtitle,
|
|
16
|
+
testID,
|
|
17
|
+
title
|
|
18
|
+
}) => {
|
|
19
|
+
const theme = useAppTheme();
|
|
20
|
+
const pressedColor = theme.color('fill.tertiary');
|
|
21
|
+
const ripple = useMemo(() => ({
|
|
22
|
+
color: pressedColor
|
|
23
|
+
}), [pressedColor]);
|
|
24
|
+
const highlight = useMemo(() => Platform.OS === 'ios' ? ({
|
|
25
|
+
pressed
|
|
26
|
+
}) => pressed ? {
|
|
27
|
+
backgroundColor: pressedColor
|
|
28
|
+
} : null : undefined, [pressedColor]);
|
|
29
|
+
const row = /*#__PURE__*/_jsxs(Box, {
|
|
30
|
+
align: "center",
|
|
31
|
+
flexDirection: "row",
|
|
32
|
+
gap: "s12",
|
|
33
|
+
px: px,
|
|
34
|
+
py: "s12",
|
|
35
|
+
children: [icon ? /*#__PURE__*/_jsx(RnIcon, {
|
|
36
|
+
color: "content.secondary",
|
|
37
|
+
name: icon,
|
|
38
|
+
size: "s20"
|
|
39
|
+
}) : null, /*#__PURE__*/_jsxs(Box, {
|
|
40
|
+
flex: 1,
|
|
41
|
+
gap: "s2",
|
|
42
|
+
children: [/*#__PURE__*/_jsx(RnText, {
|
|
43
|
+
variant: "body",
|
|
44
|
+
children: title
|
|
45
|
+
}), subtitle ? /*#__PURE__*/_jsx(RnText, {
|
|
46
|
+
color: "content.secondary",
|
|
47
|
+
variant: "footnote",
|
|
48
|
+
children: subtitle
|
|
49
|
+
}) : null]
|
|
50
|
+
}), onPress ? /*#__PURE__*/_jsx(RnGlyph, {
|
|
51
|
+
color: "content.quaternary",
|
|
52
|
+
name: "chevronRight",
|
|
53
|
+
size: "s16"
|
|
54
|
+
}) : null]
|
|
55
|
+
});
|
|
56
|
+
if (!onPress) {
|
|
57
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
58
|
+
testID: testID,
|
|
59
|
+
children: row
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
63
|
+
accessibilityRole: "button",
|
|
64
|
+
android_ripple: ripple,
|
|
65
|
+
onPress: onPress,
|
|
66
|
+
style: highlight,
|
|
67
|
+
testID: testID,
|
|
68
|
+
children: row
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=rn-list-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useAppTheme","useMemo","Platform","Pressable","Box","RnIcon","RnText","RnGlyph","jsx","_jsx","jsxs","_jsxs","RnListItem","icon","onPress","px","subtitle","testID","title","theme","pressedColor","color","ripple","highlight","OS","pressed","backgroundColor","undefined","row","align","flexDirection","gap","py","children","name","size","flex","variant","accessibilityRole","android_ripple","style"],"sourceRoot":"../../../../src","sources":["molecules/rn-list-item/rn-list-item.tsx"],"mappings":";;AAAA,SAAQA,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,QAAQ,EAAEC,SAAS,QAAwC,cAAc;AAEjF,SAAQC,GAAG,QAAO,0BAAiB;AACnC,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,MAAM,QAAO,8BAAqB;AAC1C,SAAQC,OAAO,QAAO,sBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGnC,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAACC,IAAI;EAAEC,OAAO;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAsB,CAAC,KAAK;EAChH,MAAMC,KAAK,GAAGnB,WAAW,CAAC,CAAC;EAC3B,MAAMoB,YAAY,GAAGD,KAAK,CAACE,KAAK,CAAC,eAAe,CAAC;EAEjD,MAAMC,MAAM,GAAGrB,OAAO,CAAC,OAAO;IAACoB,KAAK,EAAED;EAAY,CAAC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EACrE,MAAMG,SAAS,GAAGtB,OAAO,CACvB,MACEC,QAAQ,CAACsB,EAAE,KAAK,KAAK,GACjB,CAAC;IAACC;EAAmC,CAAC,KAAMA,OAAO,GAAG;IAACC,eAAe,EAAEN;EAAY,CAAC,GAAG,IAAK,GAC7FO,SAAS,EACf,CAACP,YAAY,CACf,CAAC;EAED,MAAMQ,GAAG,gBACPjB,KAAA,CAACP,GAAG;IAACyB,KAAK,EAAC,QAAQ;IAACC,aAAa,EAAC,KAAK;IAACC,GAAG,EAAC,KAAK;IAAChB,EAAE,EAAEA,EAAG;IAACiB,EAAE,EAAC,KAAK;IAAAC,QAAA,GAC/DpB,IAAI,gBAAGJ,IAAA,CAACJ,MAAM;MAACgB,KAAK,EAAC,mBAAmB;MAACa,IAAI,EAAErB,IAAK;MAACsB,IAAI,EAAC;IAAK,CAAE,CAAC,GAAG,IAAI,eAC1ExB,KAAA,CAACP,GAAG;MAACgC,IAAI,EAAE,CAAE;MAACL,GAAG,EAAC,IAAI;MAAAE,QAAA,gBACpBxB,IAAA,CAACH,MAAM;QAAC+B,OAAO,EAAC,MAAM;QAAAJ,QAAA,EAAEf;MAAK,CAAS,CAAC,EACtCF,QAAQ,gBACPP,IAAA,CAACH,MAAM;QAACe,KAAK,EAAC,mBAAmB;QAACgB,OAAO,EAAC,UAAU;QAAAJ,QAAA,EACjDjB;MAAQ,CACH,CAAC,GACP,IAAI;IAAA,CACL,CAAC,EACLF,OAAO,gBAAGL,IAAA,CAACF,OAAO;MAACc,KAAK,EAAC,oBAAoB;MAACa,IAAI,EAAC,cAAc;MAACC,IAAI,EAAC;IAAK,CAAE,CAAC,GAAG,IAAI;EAAA,CACpF,CACN;EAED,IAAI,CAACrB,OAAO,EAAE;IACZ,oBAAOL,IAAA,CAACL,GAAG;MAACa,MAAM,EAAEA,MAAO;MAAAgB,QAAA,EAAEL;IAAG,CAAM,CAAC;EACzC;EAEA,oBACEnB,IAAA,CAACN,SAAS;IAACmC,iBAAiB,EAAC,QAAQ;IAACC,cAAc,EAAEjB,MAAO;IAACR,OAAO,EAAEA,OAAQ;IAAC0B,KAAK,EAAEjB,SAAU;IAACN,MAAM,EAAEA,MAAO;IAAAgB,QAAA,EAC9GL;EAAG,CACK,CAAC;AAEhB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["molecules/rn-list-item/rn-list-item.types.ts"],"mappings":"","ignoreList":[]}
|