@hzblj/kara-components 0.1.0 → 0.2.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/lib/module/atoms/badge/badge.android.js +8 -2
- package/lib/module/atoms/badge/badge.android.js.map +1 -1
- package/lib/module/atoms/button/button-tokens.js +39 -0
- package/lib/module/atoms/button/button-tokens.js.map +1 -1
- package/lib/module/atoms/button/button.android.js +40 -12
- package/lib/module/atoms/button/button.android.js.map +1 -1
- package/lib/module/atoms/button/button.ios.js +5 -2
- package/lib/module/atoms/button/button.ios.js.map +1 -1
- package/lib/module/atoms/checkbox/checkbox.android.js +17 -2
- package/lib/module/atoms/checkbox/checkbox.android.js.map +1 -1
- package/lib/module/atoms/date-picker/date-picker.android.js +72 -0
- package/lib/module/atoms/date-picker/date-picker.android.js.map +1 -0
- package/lib/module/atoms/date-picker/{date-picker.js → date-picker.ios.js} +4 -7
- package/lib/module/atoms/date-picker/date-picker.ios.js.map +1 -0
- package/lib/module/atoms/date-picker/index.js +1 -1
- package/lib/module/atoms/date-picker/index.js.map +1 -1
- package/lib/module/atoms/fab/fab.android.js +5 -3
- package/lib/module/atoms/fab/fab.android.js.map +1 -1
- package/lib/module/atoms/glass-view/glass-fallback.js +5 -2
- package/lib/module/atoms/glass-view/glass-fallback.js.map +1 -1
- package/lib/module/atoms/icon/icon.android.js +10 -12
- package/lib/module/atoms/icon/icon.android.js.map +1 -1
- package/lib/module/atoms/icon/icon.ios.js +15 -3
- package/lib/module/atoms/icon/icon.ios.js.map +1 -1
- package/lib/module/atoms/icon/index.js +0 -1
- package/lib/module/atoms/icon/index.js.map +1 -1
- package/lib/module/atoms/index.js +1 -1
- package/lib/module/atoms/index.js.map +1 -1
- package/lib/module/atoms/list/list.android.js +8 -2
- package/lib/module/atoms/list/list.android.js.map +1 -1
- package/lib/module/atoms/picker/index.js +1 -1
- package/lib/module/atoms/picker/index.js.map +1 -1
- package/lib/module/atoms/picker/picker.android.js +87 -0
- package/lib/module/atoms/picker/picker.android.js.map +1 -0
- package/lib/module/atoms/picker/{picker.js → picker.ios.js} +1 -1
- package/lib/module/atoms/picker/picker.ios.js.map +1 -0
- package/lib/module/atoms/rn-icon/index.js +5 -0
- package/lib/module/atoms/rn-icon/index.js.map +1 -0
- package/lib/module/atoms/rn-icon/rn-icon.android.js +29 -0
- package/lib/module/atoms/rn-icon/rn-icon.android.js.map +1 -0
- package/lib/module/atoms/rn-icon/rn-icon.ios.js +29 -0
- package/lib/module/atoms/rn-icon/rn-icon.ios.js.map +1 -0
- package/lib/module/atoms/rn-icon/rn-icon.types.js +4 -0
- package/lib/module/atoms/rn-icon/rn-icon.types.js.map +1 -0
- package/lib/module/atoms/surface/surface.android.js +33 -5
- package/lib/module/atoms/surface/surface.android.js.map +1 -1
- package/lib/module/atoms/switch/switch.android.js +14 -1
- package/lib/module/atoms/switch/switch.android.js.map +1 -1
- package/lib/module/glyph/glyph-button.android.js +25 -0
- package/lib/module/glyph/glyph-button.android.js.map +1 -0
- package/lib/module/glyph/glyph-button.ios.js +33 -0
- package/lib/module/glyph/glyph-button.ios.js.map +1 -0
- package/lib/module/glyph/glyph-button.types.js +4 -0
- package/lib/module/glyph/glyph-button.types.js.map +1 -0
- package/lib/module/glyph/glyph.android.js +20 -0
- package/lib/module/glyph/glyph.android.js.map +1 -0
- package/lib/module/glyph/glyph.ios.js +24 -0
- package/lib/module/glyph/glyph.ios.js.map +1 -0
- package/lib/module/glyph/glyph.types.js +4 -0
- package/lib/module/glyph/glyph.types.js.map +1 -0
- package/lib/module/glyph/index.js +8 -0
- package/lib/module/glyph/index.js.map +1 -0
- package/lib/module/glyph/rn-glyph.android.js +25 -0
- package/lib/module/glyph/rn-glyph.android.js.map +1 -0
- package/lib/module/glyph/rn-glyph.ios.js +26 -0
- package/lib/module/glyph/rn-glyph.ios.js.map +1 -0
- package/lib/module/molecules/collapsible/collapsible.android.js +2 -2
- package/lib/module/molecules/collapsible/collapsible.android.js.map +1 -1
- package/lib/module/molecules/labeled-content/labeled-content.js +2 -1
- package/lib/module/molecules/labeled-content/labeled-content.js.map +1 -1
- package/lib/module/molecules/list-item/list-item.js +2 -1
- package/lib/module/molecules/list-item/list-item.js.map +1 -1
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js +8 -4
- package/lib/module/molecules/navigation-bar/navigation-bar.android.js.map +1 -1
- package/lib/module/molecules/radio-group/radio-group.android.js +5 -0
- package/lib/module/molecules/radio-group/radio-group.android.js.map +1 -1
- package/lib/module/molecules/radio-group/radio-group.ios.js +2 -2
- package/lib/module/molecules/radio-group/radio-group.ios.js.map +1 -1
- package/lib/module/molecules/search-bar/search-bar.js +10 -23
- package/lib/module/molecules/search-bar/search-bar.js.map +1 -1
- package/lib/module/molecules/stepper/stepper.android.js +7 -5
- package/lib/module/molecules/stepper/stepper.android.js.map +1 -1
- package/lib/module/organisms/alert/alert.android.js +42 -13
- package/lib/module/organisms/alert/alert.android.js.map +1 -1
- package/lib/module/organisms/context-menu/context-menu.android.js +82 -31
- package/lib/module/organisms/context-menu/context-menu.android.js.map +1 -1
- package/lib/module/organisms/context-menu/context-menu.ios.js +37 -16
- package/lib/module/organisms/context-menu/context-menu.ios.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.android.js +6 -2
- package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -1
- package/lib/module/organisms/fab-menu/fab-menu.ios.js +15 -6
- package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -1
- package/lib/module/organisms/form/form.android.js +1 -0
- package/lib/module/organisms/form/form.android.js.map +1 -1
- package/lib/module/organisms/index.js +0 -1
- package/lib/module/organisms/index.js.map +1 -1
- package/lib/module/organisms/menu/menu.android.js +51 -33
- package/lib/module/organisms/menu/menu.android.js.map +1 -1
- package/lib/typescript/atoms/button/button-tokens.d.ts +6 -1
- package/lib/typescript/atoms/date-picker/date-picker.d.ts +1 -2
- package/lib/typescript/atoms/date-picker/date-picker.ios.d.ts +3 -0
- package/lib/typescript/atoms/glass-view/glass-fallback.d.ts +4 -1
- package/lib/typescript/atoms/glass-view/glass-view.types.d.ts +1 -1
- package/lib/typescript/atoms/icon/icon.ios.d.ts +4 -0
- package/lib/typescript/atoms/icon/icon.types.d.ts +18 -1
- package/lib/typescript/atoms/icon/index.d.ts +0 -1
- package/lib/typescript/atoms/index.d.ts +1 -1
- package/lib/typescript/atoms/list/list.types.d.ts +9 -0
- package/lib/typescript/atoms/picker/picker.d.ts +1 -2
- package/lib/typescript/atoms/picker/picker.ios.d.ts +2 -0
- package/lib/typescript/atoms/rn-icon/index.d.ts +2 -0
- package/lib/typescript/atoms/rn-icon/rn-icon.d.ts +1 -0
- package/lib/typescript/atoms/rn-icon/rn-icon.ios.d.ts +3 -0
- package/lib/typescript/atoms/rn-icon/rn-icon.types.d.ts +5 -0
- package/lib/typescript/glyph/glyph-button.d.ts +1 -0
- package/lib/typescript/glyph/glyph-button.ios.d.ts +2 -0
- package/lib/typescript/glyph/glyph-button.types.d.ts +10 -0
- package/lib/typescript/glyph/glyph.d.ts +1 -0
- package/lib/typescript/glyph/glyph.ios.d.ts +3 -0
- package/lib/typescript/glyph/glyph.types.d.ts +13 -0
- package/lib/typescript/glyph/index.d.ts +5 -0
- package/lib/typescript/glyph/rn-glyph.d.ts +1 -0
- package/lib/typescript/glyph/rn-glyph.ios.d.ts +3 -0
- package/lib/typescript/molecules/scroll-edge-container/scroll-edge-container.types.d.ts +3 -0
- package/lib/typescript/organisms/context-menu/context-menu.types.d.ts +28 -2
- package/lib/typescript/organisms/fab-menu/fab-menu.types.d.ts +1 -1
- package/lib/typescript/organisms/form/form.types.d.ts +5 -0
- package/lib/typescript/organisms/index.d.ts +0 -1
- package/package.json +5 -7
- package/src/atoms/badge/badge.android.tsx +5 -2
- package/src/atoms/button/button-tokens.ts +49 -0
- package/src/atoms/button/button.android.tsx +46 -12
- package/src/atoms/button/button.ios.tsx +5 -2
- package/src/atoms/checkbox/checkbox.android.tsx +21 -4
- package/src/atoms/date-picker/date-picker.android.tsx +74 -0
- package/src/atoms/date-picker/date-picker.ios.tsx +27 -0
- package/src/atoms/fab/fab.android.tsx +4 -1
- package/src/atoms/glass-view/glass-fallback.tsx +5 -2
- package/src/atoms/glass-view/glass-view.types.ts +1 -1
- package/src/atoms/icon/icon.android.tsx +11 -7
- package/src/atoms/icon/icon.ios.tsx +25 -5
- package/src/atoms/icon/icon.types.ts +18 -24
- package/src/atoms/icon/index.ts +0 -1
- package/src/atoms/index.ts +1 -1
- package/src/atoms/list/list.android.tsx +12 -1
- package/src/atoms/list/list.types.ts +9 -0
- package/src/atoms/picker/picker.android.tsx +88 -0
- package/src/atoms/rn-icon/index.ts +2 -0
- package/src/atoms/rn-icon/rn-icon.android.tsx +28 -0
- package/src/atoms/rn-icon/rn-icon.ios.tsx +28 -0
- package/src/atoms/rn-icon/rn-icon.types.ts +8 -0
- package/src/atoms/surface/surface.android.tsx +28 -4
- package/src/atoms/switch/switch.android.tsx +24 -3
- package/src/glyph/glyph-button.android.tsx +25 -0
- package/src/glyph/glyph-button.ios.tsx +37 -0
- package/src/glyph/glyph-button.types.ts +12 -0
- package/src/glyph/glyph.android.tsx +12 -0
- package/src/glyph/glyph.ios.tsx +15 -0
- package/src/glyph/glyph.types.ts +15 -0
- package/src/glyph/index.ts +5 -0
- package/src/glyph/rn-glyph.android.tsx +14 -0
- package/src/glyph/rn-glyph.ios.tsx +16 -0
- package/src/molecules/collapsible/collapsible.android.tsx +2 -2
- package/src/molecules/labeled-content/labeled-content.tsx +2 -1
- package/src/molecules/list-item/list-item.tsx +2 -1
- package/src/molecules/navigation-bar/navigation-bar.android.tsx +11 -4
- package/src/molecules/radio-group/radio-group.android.tsx +11 -2
- package/src/molecules/radio-group/radio-group.ios.tsx +2 -2
- package/src/molecules/scroll-edge-container/scroll-edge-container.types.ts +3 -0
- package/src/molecules/search-bar/search-bar.tsx +4 -9
- package/src/molecules/stepper/stepper.android.tsx +3 -3
- package/src/organisms/alert/alert.android.tsx +44 -7
- package/src/organisms/context-menu/context-menu.android.tsx +71 -37
- package/src/organisms/context-menu/context-menu.ios.tsx +40 -18
- package/src/organisms/context-menu/context-menu.types.ts +29 -3
- package/src/organisms/fab-menu/fab-menu.android.tsx +3 -2
- package/src/organisms/fab-menu/fab-menu.ios.tsx +13 -12
- package/src/organisms/fab-menu/fab-menu.types.ts +1 -1
- package/src/organisms/form/form.android.tsx +1 -1
- package/src/organisms/form/form.types.ts +5 -0
- package/src/organisms/index.ts +0 -1
- package/src/organisms/menu/menu.android.tsx +36 -30
- package/CHANGELOG.md +0 -14
- package/lib/module/atoms/countdown/countdown-frame.js +0 -115
- package/lib/module/atoms/countdown/countdown-frame.js.map +0 -1
- package/lib/module/atoms/countdown/countdown-units.js +0 -25
- package/lib/module/atoms/countdown/countdown-units.js.map +0 -1
- package/lib/module/atoms/countdown/countdown.android.js +0 -53
- package/lib/module/atoms/countdown/countdown.android.js.map +0 -1
- package/lib/module/atoms/countdown/countdown.ios.js +0 -50
- package/lib/module/atoms/countdown/countdown.ios.js.map +0 -1
- package/lib/module/atoms/countdown/countdown.types.js +0 -4
- package/lib/module/atoms/countdown/countdown.types.js.map +0 -1
- package/lib/module/atoms/countdown/index.js +0 -5
- package/lib/module/atoms/countdown/index.js.map +0 -1
- package/lib/module/atoms/date-picker/date-picker.js.map +0 -1
- package/lib/module/atoms/icon/icon-names.js +0 -53
- package/lib/module/atoms/icon/icon-names.js.map +0 -1
- package/lib/module/atoms/picker/picker.js.map +0 -1
- package/lib/module/organisms/rn-context-menu/index.js +0 -5
- package/lib/module/organisms/rn-context-menu/index.js.map +0 -1
- package/lib/module/organisms/rn-context-menu/rn-context-menu.android.js +0 -101
- package/lib/module/organisms/rn-context-menu/rn-context-menu.android.js.map +0 -1
- package/lib/module/organisms/rn-context-menu/rn-context-menu.ios.js +0 -44
- package/lib/module/organisms/rn-context-menu/rn-context-menu.ios.js.map +0 -1
- package/lib/module/organisms/rn-context-menu/rn-context-menu.types.js +0 -4
- package/lib/module/organisms/rn-context-menu/rn-context-menu.types.js.map +0 -1
- package/lib/typescript/atoms/countdown/countdown-frame.d.ts +0 -17
- package/lib/typescript/atoms/countdown/countdown-units.d.ts +0 -5
- package/lib/typescript/atoms/countdown/countdown.d.ts +0 -1
- package/lib/typescript/atoms/countdown/countdown.ios.d.ts +0 -2
- package/lib/typescript/atoms/countdown/countdown.types.d.ts +0 -21
- package/lib/typescript/atoms/countdown/index.d.ts +0 -2
- package/lib/typescript/atoms/icon/icon-names.d.ts +0 -50
- package/lib/typescript/organisms/rn-context-menu/index.d.ts +0 -2
- package/lib/typescript/organisms/rn-context-menu/rn-context-menu.d.ts +0 -1
- package/lib/typescript/organisms/rn-context-menu/rn-context-menu.ios.d.ts +0 -2
- package/lib/typescript/organisms/rn-context-menu/rn-context-menu.types.d.ts +0 -33
- package/src/atoms/countdown/countdown-frame.tsx +0 -123
- package/src/atoms/countdown/countdown-units.ts +0 -37
- package/src/atoms/countdown/countdown.android.tsx +0 -49
- package/src/atoms/countdown/countdown.ios.tsx +0 -46
- package/src/atoms/countdown/countdown.types.ts +0 -24
- package/src/atoms/countdown/index.ts +0 -2
- package/src/atoms/date-picker/date-picker.tsx +0 -26
- package/src/atoms/icon/icon-names.ts +0 -53
- package/src/organisms/rn-context-menu/index.ts +0 -2
- package/src/organisms/rn-context-menu/rn-context-menu.android.tsx +0 -90
- package/src/organisms/rn-context-menu/rn-context-menu.ios.tsx +0 -47
- package/src/organisms/rn-context-menu/rn-context-menu.types.ts +0 -36
- /package/src/atoms/picker/{picker.tsx → picker.ios.tsx} +0 -0
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import { LazyColumn, PullToRefreshBox } from '@expo/ui/jetpack-compose';
|
|
4
4
|
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
5
|
+
import { Children, Fragment, isValidElement } from 'react';
|
|
5
6
|
import { useHostGuard } from "../../host-context.js";
|
|
6
7
|
import { useRefreshState } from "../../use-refresh-state.js";
|
|
7
|
-
import {
|
|
8
|
+
import { Divider } from "../divider/index.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
/** A divider between rows, the separator SwiftUI's `List` draws on its own — so rows are written the same for both. */
|
|
11
|
+
const withSeparators = children => Children.toArray(children).map((child, index) => /*#__PURE__*/_jsxs(Fragment, {
|
|
12
|
+
children: [index > 0 ? /*#__PURE__*/_jsx(Divider, {}) : null, child]
|
|
13
|
+
}, /*#__PURE__*/isValidElement(child) && child.key !== null ? child.key : index));
|
|
8
14
|
export const List = ({
|
|
9
15
|
children,
|
|
10
16
|
onRefresh
|
|
@@ -19,7 +25,7 @@ export const List = ({
|
|
|
19
25
|
} = useRefreshState(onRefresh);
|
|
20
26
|
const column = /*#__PURE__*/_jsx(LazyColumn, {
|
|
21
27
|
modifiers: modifiers,
|
|
22
|
-
children: children
|
|
28
|
+
children: withSeparators(children)
|
|
23
29
|
});
|
|
24
30
|
if (!onRefresh) {
|
|
25
31
|
return column;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LazyColumn","PullToRefreshBox","useSxModifiers","useHostGuard","useRefreshState","jsx","_jsx","
|
|
1
|
+
{"version":3,"names":["LazyColumn","PullToRefreshBox","useSxModifiers","Children","Fragment","isValidElement","useHostGuard","useRefreshState","Divider","jsx","_jsx","jsxs","_jsxs","withSeparators","children","toArray","map","child","index","key","List","onRefresh","modifiers","wide","isRefreshing","refresh","column"],"sourceRoot":"../../../../src","sources":["atoms/list/list.android.tsx"],"mappings":";;AAAA,SAAQA,UAAU,EAAEC,gBAAgB,QAAO,0BAA0B;AACrE,SAAQC,cAAc,QAAO,gBAAgB;AAC7C,SAAQC,QAAQ,EAAEC,QAAQ,EAAEC,cAAc,QAAO,OAAO;AACxD,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,eAAe,QAAO,4BAAyB;AACvD,SAAQC,OAAO,QAAO,qBAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGlC;AACA,MAAMC,cAAc,GAAIC,QAA+B,IACrDX,QAAQ,CAACY,OAAO,CAACD,QAAQ,CAAC,CAACE,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,kBAC1CN,KAAA,CAACR,QAAQ;EAAAU,QAAA,GACNI,KAAK,GAAG,CAAC,gBAAGR,IAAA,CAACF,OAAO,IAAE,CAAC,GAAG,IAAI,EAC9BS,KAAK;AAAA,GAFO,aAAAZ,cAAc,CAACY,KAAK,CAAC,IAAIA,KAAK,CAACE,GAAG,KAAK,IAAI,GAAGF,KAAK,CAACE,GAAG,GAAGD,KAG/D,CACX,CAAC;AAEJ,OAAO,MAAME,IAAmB,GAAGA,CAAC;EAACN,QAAQ;EAAEO;AAAoB,CAAC,KAAK;EACvEf,YAAY,CAAC,MAAM,CAAC;EACpB,MAAMgB,SAAS,GAAGpB,cAAc,CAAC;IAACqB,IAAI,EAAE;EAAI,CAAC,CAAC;EAC9C,MAAM;IAACC,YAAY;IAAEC;EAAO,CAAC,GAAGlB,eAAe,CAACc,SAAS,CAAC;EAE1D,MAAMK,MAAM,gBAAGhB,IAAA,CAACV,UAAU;IAACsB,SAAS,EAAEA,SAAU;IAAAR,QAAA,EAAED,cAAc,CAACC,QAAQ;EAAC,CAAa,CAAC;EAExF,IAAI,CAACO,SAAS,EAAE;IACd,OAAOK,MAAM;EACf;EAEA,oBACEhB,IAAA,CAACT,gBAAgB;IAACuB,YAAY,EAAEA,YAAa;IAACH,SAAS,EAAEI,OAAQ;IAAAX,QAAA,EAC9DY;EAAM,CACS,CAAC;AAEvB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["atoms/picker/index.ts"],"mappings":";;AAAA,cAAc,
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["atoms/picker/index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,mBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Text as ComposeText, DropdownMenuItem, ExposedDropdownMenu, ExposedDropdownMenuBox, Host, OutlinedTextField, useNativeState } from '@expo/ui/jetpack-compose';
|
|
4
|
+
import { fillMaxWidth, menuAnchor, testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
5
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
7
|
+
import { Glyph } from "../../glyph/index.js";
|
|
8
|
+
import { HostBoundary } from "../../host-context.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const MATCH_HEIGHT_ONLY = {
|
|
11
|
+
horizontal: false,
|
|
12
|
+
vertical: true
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Material's exposed dropdown: a read-only outlined field the width of its container, opening a menu of the options
|
|
17
|
+
* under it. Its own host, themed like an `Island`, so it drops into React Native layout like the iOS picker does.
|
|
18
|
+
*/
|
|
19
|
+
export const Picker = ({
|
|
20
|
+
disabled = false,
|
|
21
|
+
onValueChange,
|
|
22
|
+
options,
|
|
23
|
+
testID,
|
|
24
|
+
value
|
|
25
|
+
}) => {
|
|
26
|
+
const theme = useAppTheme();
|
|
27
|
+
const [expanded, setExpanded] = useState(false);
|
|
28
|
+
const selectedLabel = options.find(option => option.value === value)?.label ?? '';
|
|
29
|
+
const label = useNativeState(selectedLabel);
|
|
30
|
+
const fieldModifiers = useMemo(() => {
|
|
31
|
+
const list = [fillMaxWidth(), menuAnchor('primaryNotEditable', !disabled)];
|
|
32
|
+
return testID ? [...list, testIdModifier(testID)] : list;
|
|
33
|
+
}, [disabled, testID]);
|
|
34
|
+
|
|
35
|
+
// `useNativeState` takes only its initial value; a new selection is pushed to the field.
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
label.set(selectedLabel);
|
|
38
|
+
}, [label, selectedLabel]);
|
|
39
|
+
return /*#__PURE__*/_jsx(Host, {
|
|
40
|
+
colorScheme: theme.dark ? 'dark' : 'light',
|
|
41
|
+
matchContents: MATCH_HEIGHT_ONLY,
|
|
42
|
+
seedColor: theme.materialSeed,
|
|
43
|
+
children: /*#__PURE__*/_jsx(HostBoundary, {
|
|
44
|
+
children: /*#__PURE__*/_jsxs(ExposedDropdownMenuBox, {
|
|
45
|
+
expanded: expanded,
|
|
46
|
+
onExpandedChange: disabled ? undefined : setExpanded,
|
|
47
|
+
children: [/*#__PURE__*/_jsx(OutlinedTextField, {
|
|
48
|
+
enabled: !disabled,
|
|
49
|
+
modifiers: fieldModifiers,
|
|
50
|
+
readOnly: true,
|
|
51
|
+
singleLine: true,
|
|
52
|
+
textStyle: {
|
|
53
|
+
color: theme.colorString('content.primary'),
|
|
54
|
+
fontFamily: theme.typography.body.fontFamily,
|
|
55
|
+
fontWeight: theme.typography.body.fontWeight
|
|
56
|
+
},
|
|
57
|
+
value: label,
|
|
58
|
+
children: /*#__PURE__*/_jsx(OutlinedTextField.TrailingIcon, {
|
|
59
|
+
children: /*#__PURE__*/_jsx(Glyph, {
|
|
60
|
+
color: "content.secondary",
|
|
61
|
+
name: "chevronDown",
|
|
62
|
+
size: "s20"
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
|
+
}), /*#__PURE__*/_jsx(ExposedDropdownMenu, {
|
|
66
|
+
containerColor: theme.color('surface.primary'),
|
|
67
|
+
expanded: expanded,
|
|
68
|
+
onDismissRequest: () => setExpanded(false),
|
|
69
|
+
children: options.map(option => /*#__PURE__*/_jsx(DropdownMenuItem, {
|
|
70
|
+
onClick: () => {
|
|
71
|
+
setExpanded(false);
|
|
72
|
+
onValueChange?.(option.value);
|
|
73
|
+
},
|
|
74
|
+
children: /*#__PURE__*/_jsx(DropdownMenuItem.Text, {
|
|
75
|
+
children: /*#__PURE__*/_jsx(ComposeText, {
|
|
76
|
+
color: theme.colorString(option.value === value ? 'content.accent' : 'content.primary'),
|
|
77
|
+
style: theme.typography.body,
|
|
78
|
+
children: option.label
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
}, option.value))
|
|
82
|
+
})]
|
|
83
|
+
})
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=picker.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Text","ComposeText","DropdownMenuItem","ExposedDropdownMenu","ExposedDropdownMenuBox","Host","OutlinedTextField","useNativeState","fillMaxWidth","menuAnchor","testID","testIdModifier","useAppTheme","useEffect","useMemo","useState","Glyph","HostBoundary","jsx","_jsx","jsxs","_jsxs","MATCH_HEIGHT_ONLY","horizontal","vertical","Picker","disabled","onValueChange","options","value","theme","expanded","setExpanded","selectedLabel","find","option","label","fieldModifiers","list","set","colorScheme","dark","matchContents","seedColor","materialSeed","children","onExpandedChange","undefined","enabled","modifiers","readOnly","singleLine","textStyle","color","colorString","fontFamily","typography","body","fontWeight","TrailingIcon","name","size","containerColor","onDismissRequest","map","onClick","style"],"sourceRoot":"../../../../src","sources":["atoms/picker/picker.android.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Picker","NativePicker","useAppTheme","useCallback","jsx","_jsx","disabled","onValueChange","options","testID","value","theme","onChange","next","String","enabled","selectedValue","children","map","option","Item","color","colorString","label"],"sourceRoot":"../../../../src","sources":["atoms/picker/picker.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,YAAY,QAAO,2BAA2B;AAChE,SAAQC,WAAW,QAAO,mBAAmB;AAC7C,SAAQC,WAAW,QAAO,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAIjC,OAAO,MAAML,MAAuB,GAAGA,CAAC;EAACM,QAAQ,GAAG,KAAK;EAAEC,aAAa;EAAEC,OAAO;EAAEC,MAAM;EAAEC;AAAkB,CAAC,KAAK;EACjH,MAAMC,KAAK,GAAGT,WAAW,CAAC,CAAC;EAE3B,MAAMU,QAAQ,GAAGT,WAAW,CAAEU,IAA4B,IAAKN,aAAa,GAAGO,MAAM,CAACD,IAAI,CAAC,CAAC,EAAE,CAACN,aAAa,CAAC,CAAC;EAE9G,oBACEF,IAAA,CAACJ,YAAY;IAACc,OAAO,EAAE,CAACT,QAAS;IAACC,aAAa,EAAEK,QAAS;IAACI,aAAa,EAAEN,KAAM;IAACD,MAAM,EAAEA,MAAO;IAAAQ,QAAA,EAC7FT,OAAO,CAACU,GAAG,CAACC,MAAM,iBACjBd,IAAA,CAACJ,YAAY,CAACmB,IAAI;MAChBC,KAAK,EAAEV,KAAK,CAACW,WAAW,CAAC,iBAAiB,CAAE;MAE5CC,KAAK,EAAEJ,MAAM,CAACI,KAAM;MACpBb,KAAK,EAAES,MAAM,CAACT;IAAM,GAFfS,MAAM,CAACT,KAGb,CACF;EAAC,CACU,CAAC;AAEnB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["atoms/rn-icon/index.ts"],"mappings":";;AAAA,cAAc,WAAW;AACzB,cAAc,oBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { iconResourceName } from '@hzblj/kara-native';
|
|
4
|
+
import { IconView } from '@hzblj/kara-native/jetpack-compose';
|
|
5
|
+
import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/** An `ImageView` over the app's vector drawable — what a list row wants, rather than a Compose host per row. */
|
|
9
|
+
export const RnIcon = ({
|
|
10
|
+
accessibilityLabel,
|
|
11
|
+
color = 'content.primary',
|
|
12
|
+
name,
|
|
13
|
+
size = 's24',
|
|
14
|
+
testID
|
|
15
|
+
}) => {
|
|
16
|
+
const theme = useAppTheme();
|
|
17
|
+
const style = useMemo(() => ({
|
|
18
|
+
height: spacing[size],
|
|
19
|
+
width: spacing[size]
|
|
20
|
+
}), [size]);
|
|
21
|
+
return /*#__PURE__*/_jsx(IconView, {
|
|
22
|
+
accessibilityLabel: accessibilityLabel,
|
|
23
|
+
iconColor: theme.color(color),
|
|
24
|
+
resourceName: iconResourceName(name),
|
|
25
|
+
style: style,
|
|
26
|
+
testID: testID
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=rn-icon.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["iconResourceName","IconView","spacing","useAppTheme","useMemo","jsx","_jsx","RnIcon","accessibilityLabel","color","name","size","testID","theme","style","height","width","iconColor","resourceName"],"sourceRoot":"../../../../src","sources":["atoms/rn-icon/rn-icon.android.tsx"],"mappings":";;AAAA,SAAQA,gBAAgB,QAAO,oBAAoB;AACnD,SAAQC,QAAQ,QAAO,oCAAoC;AAC3D,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AACtD,SAAQC,OAAO,QAAO,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B;AACA,OAAO,MAAMC,MAAuB,GAAGA,CAAC;EACtCC,kBAAkB;EAClBC,KAAK,GAAG,iBAAiB;EACzBC,IAAI;EACJC,IAAI,GAAG,KAAK;EACZC;AACW,CAAC,KAAK;EACjB,MAAMC,KAAK,GAAGV,WAAW,CAAC,CAAC;EAC3B,MAAMW,KAAK,GAAGV,OAAO,CAAC,OAAO;IAACW,MAAM,EAAEb,OAAO,CAACS,IAAI,CAAC;IAAEK,KAAK,EAAEd,OAAO,CAACS,IAAI;EAAC,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEpF,oBACEL,IAAA,CAACL,QAAQ;IACPO,kBAAkB,EAAEA,kBAAmB;IACvCS,SAAS,EAAEJ,KAAK,CAACJ,KAAK,CAACA,KAAK,CAAE;IAC9BS,YAAY,EAAElB,gBAAgB,CAACU,IAAI,CAAE;IACrCI,KAAK,EAAEA,KAAM;IACbF,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { iconResourceName } from '@hzblj/kara-native';
|
|
4
|
+
import { IconView } from '@hzblj/kara-native/swift-ui';
|
|
5
|
+
import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/** A `UIImageView` over the app's asset-catalog icon — what a list row wants, rather than a SwiftUI host per row. */
|
|
9
|
+
export const RnIcon = ({
|
|
10
|
+
accessibilityLabel,
|
|
11
|
+
color = 'content.primary',
|
|
12
|
+
name,
|
|
13
|
+
size = 's24',
|
|
14
|
+
testID
|
|
15
|
+
}) => {
|
|
16
|
+
const theme = useAppTheme();
|
|
17
|
+
const style = useMemo(() => ({
|
|
18
|
+
height: spacing[size],
|
|
19
|
+
width: spacing[size]
|
|
20
|
+
}), [size]);
|
|
21
|
+
return /*#__PURE__*/_jsx(IconView, {
|
|
22
|
+
accessibilityLabel: accessibilityLabel,
|
|
23
|
+
assetName: iconResourceName(name),
|
|
24
|
+
iconColor: theme.color(color),
|
|
25
|
+
style: style,
|
|
26
|
+
testID: testID
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=rn-icon.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["iconResourceName","IconView","spacing","useAppTheme","useMemo","jsx","_jsx","RnIcon","accessibilityLabel","color","name","size","testID","theme","style","height","width","assetName","iconColor"],"sourceRoot":"../../../../src","sources":["atoms/rn-icon/rn-icon.ios.tsx"],"mappings":";;AAAA,SAAQA,gBAAgB,QAAO,oBAAoB;AACnD,SAAQC,QAAQ,QAAO,6BAA6B;AACpD,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AACtD,SAAQC,OAAO,QAAO,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B;AACA,OAAO,MAAMC,MAAuB,GAAGA,CAAC;EACtCC,kBAAkB;EAClBC,KAAK,GAAG,iBAAiB;EACzBC,IAAI;EACJC,IAAI,GAAG,KAAK;EACZC;AACW,CAAC,KAAK;EACjB,MAAMC,KAAK,GAAGV,WAAW,CAAC,CAAC;EAC3B,MAAMW,KAAK,GAAGV,OAAO,CAAC,OAAO;IAACW,MAAM,EAAEb,OAAO,CAACS,IAAI,CAAC;IAAEK,KAAK,EAAEd,OAAO,CAACS,IAAI;EAAC,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEpF,oBACEL,IAAA,CAACL,QAAQ;IACPO,kBAAkB,EAAEA,kBAAmB;IACvCS,SAAS,EAAEjB,gBAAgB,CAACU,IAAI,CAAE;IAClCQ,SAAS,EAAEL,KAAK,CAACJ,KAAK,CAACA,KAAK,CAAE;IAC9BK,KAAK,EAAEA,KAAM;IACbF,MAAM,EAAEA;EAAO,CAChB,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["atoms/rn-icon/rn-icon.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Surface as ComposeSurface, Shape } from '@expo/ui/jetpack-compose';
|
|
3
|
+
import { Column, Surface as ComposeSurface, Shape } from '@expo/ui/jetpack-compose';
|
|
4
|
+
import { testID as testIdModifier } from '@expo/ui/jetpack-compose/modifiers';
|
|
4
5
|
import { useSxModifiers } from '@hzblj/kara-sx';
|
|
5
6
|
import { radii, useAppTheme } from '@hzblj/kara-theme';
|
|
7
|
+
import { useMemo } from 'react';
|
|
6
8
|
import { useHostGuard } from "../../host-context.js";
|
|
7
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
10
|
const cornerRadii = radius => ({
|
|
@@ -11,18 +13,41 @@ const cornerRadii = radius => ({
|
|
|
11
13
|
topEnd: radius,
|
|
12
14
|
topStart: radius
|
|
13
15
|
});
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Material's `Surface`, with the padding on a `Column` inside it. Compose applies a `Surface`'s own modifiers before it
|
|
19
|
+
* draws the shape, so padding there would inset the background instead of the content — and a bare `Surface` stacks
|
|
20
|
+
* its children on top of each other rather than in a column.
|
|
21
|
+
*/
|
|
14
22
|
export const Surface = ({
|
|
15
23
|
children,
|
|
16
24
|
glass = false,
|
|
25
|
+
p = 's16',
|
|
26
|
+
pb,
|
|
27
|
+
pl,
|
|
28
|
+
pr,
|
|
29
|
+
pt,
|
|
30
|
+
px,
|
|
31
|
+
py,
|
|
17
32
|
testID,
|
|
18
33
|
...sx
|
|
19
34
|
}) => {
|
|
20
35
|
useHostGuard('Surface');
|
|
21
36
|
const theme = useAppTheme();
|
|
22
|
-
const
|
|
37
|
+
const sxModifiers = useSxModifiers({
|
|
23
38
|
...sx,
|
|
24
|
-
bg: undefined
|
|
25
|
-
|
|
39
|
+
bg: undefined
|
|
40
|
+
});
|
|
41
|
+
const modifiers = useMemo(() => testID ? [...sxModifiers, testIdModifier(testID)] : sxModifiers, [sxModifiers, testID]);
|
|
42
|
+
const contentModifiers = useSxModifiers({
|
|
43
|
+
p,
|
|
44
|
+
pb,
|
|
45
|
+
pl,
|
|
46
|
+
pr,
|
|
47
|
+
pt,
|
|
48
|
+
px,
|
|
49
|
+
py,
|
|
50
|
+
wide: sx.wide
|
|
26
51
|
});
|
|
27
52
|
return /*#__PURE__*/_jsx(ComposeSurface, {
|
|
28
53
|
color: theme.color(sx.bg ?? 'surface.primary'),
|
|
@@ -32,7 +57,10 @@ export const Surface = ({
|
|
|
32
57
|
cornerRadii: cornerRadii(radii[sx.borderRadius ?? 'large'])
|
|
33
58
|
}),
|
|
34
59
|
tonalElevation: glass ? 3 : 0,
|
|
35
|
-
children:
|
|
60
|
+
children: /*#__PURE__*/_jsx(Column, {
|
|
61
|
+
modifiers: contentModifiers,
|
|
62
|
+
children: children
|
|
63
|
+
})
|
|
36
64
|
});
|
|
37
65
|
};
|
|
38
66
|
//# sourceMappingURL=surface.android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Surface","ComposeSurface","Shape","useSxModifiers","radii","useAppTheme","useHostGuard","jsx","_jsx","cornerRadii","radius","bottomEnd","bottomStart","topEnd","topStart","children","glass","
|
|
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;AAC7C,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,MAAMb,OAAyB,GAAGA,CAAC;EACxCkB,QAAQ;EACRC,KAAK,GAAG,KAAK;EACbC,CAAC,GAAG,KAAK;EACTC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFvB,MAAM;EACN,GAAGwB;AACS,CAAC,KAAK;EAClBlB,YAAY,CAAC,SAAS,CAAC;EAEvB,MAAMmB,KAAK,GAAGrB,WAAW,CAAC,CAAC;EAC3B,MAAMsB,WAAW,GAAGxB,cAAc,CAAC;IAAC,GAAGsB,EAAE;IAAEG,EAAE,EAAEC;EAAS,CAAC,CAAC;EAC1D,MAAMC,SAAS,GAAGxB,OAAO,CACvB,MAAOL,MAAM,GAAG,CAAC,GAAG0B,WAAW,EAAEzB,cAAc,CAACD,MAAM,CAAC,CAAC,GAAG0B,WAAY,EACvE,CAACA,WAAW,EAAE1B,MAAM,CACtB,CAAC;EACD,MAAM8B,gBAAgB,GAAG5B,cAAc,CAAC;IAACe,CAAC;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEC,EAAE;IAAEQ,IAAI,EAAEP,EAAE,CAACO;EAAI,CAAC,CAAC;EAEnF,oBACEvB,IAAA,CAACV,cAAc;IACbkC,KAAK,EAAEP,KAAK,CAACO,KAAK,CAACR,EAAE,CAACG,EAAE,IAAI,iBAAiB,CAAE;IAC/CM,YAAY,EAAER,KAAK,CAACO,KAAK,CAAC,iBAAiB,CAAE;IAC7CH,SAAS,EAAEA,SAAU;IACrBK,KAAK,EAAEnC,KAAK,CAACoC,aAAa,CAAC;MAAC1B,WAAW,EAAEA,WAAW,CAACN,KAAK,CAACqB,EAAE,CAACY,YAAY,IAAI,OAAO,CAAC;IAAC,CAAC,CAAE;IAC1FC,cAAc,EAAErB,KAAK,GAAG,CAAC,GAAG,CAAE;IAAAD,QAAA,eAE9BP,IAAA,CAACZ,MAAM;MAACiC,SAAS,EAAEC,gBAAiB;MAAAf,QAAA,EAAEA;IAAQ,CAAS;EAAC,CAC1C,CAAC;AAErB,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Switch as ComposeSwitch, Row, Text } from '@expo/ui/jetpack-compose';
|
|
4
|
+
import { clickable, fillMaxWidth } from '@expo/ui/jetpack-compose/modifiers';
|
|
4
5
|
import { useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useMemo } from 'react';
|
|
5
7
|
import { useHostGuard } from "../../host-context.js";
|
|
6
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
/**
|
|
10
|
+
* Material's switch, tinted with the accent like SwiftUI's toggle. With a label it is a full-width row — label at the
|
|
11
|
+
* start, switch at the end — and the whole row toggles, the way a Material settings row does.
|
|
12
|
+
*/
|
|
7
13
|
export const Switch = ({
|
|
8
14
|
disabled = false,
|
|
9
15
|
label,
|
|
@@ -12,7 +18,13 @@ export const Switch = ({
|
|
|
12
18
|
}) => {
|
|
13
19
|
useHostGuard('Switch');
|
|
14
20
|
const theme = useAppTheme();
|
|
21
|
+
const rowModifiers = useMemo(() => disabled || !onValueChange ? [fillMaxWidth()] : [fillMaxWidth(), clickable(() => onValueChange(!value))], [disabled, onValueChange, value]);
|
|
15
22
|
const control = /*#__PURE__*/_jsx(ComposeSwitch, {
|
|
23
|
+
colors: {
|
|
24
|
+
checkedBorderColor: theme.color('fill.accent.primary'),
|
|
25
|
+
checkedThumbColor: theme.color('content.on.bg'),
|
|
26
|
+
checkedTrackColor: theme.color('fill.accent.primary')
|
|
27
|
+
},
|
|
16
28
|
enabled: !disabled,
|
|
17
29
|
onCheckedChange: onValueChange,
|
|
18
30
|
value: value
|
|
@@ -22,9 +34,10 @@ export const Switch = ({
|
|
|
22
34
|
}
|
|
23
35
|
return /*#__PURE__*/_jsxs(Row, {
|
|
24
36
|
horizontalArrangement: "spaceBetween",
|
|
37
|
+
modifiers: rowModifiers,
|
|
25
38
|
verticalAlignment: "center",
|
|
26
39
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
27
|
-
color: theme.colorString('content.primary'),
|
|
40
|
+
color: theme.colorString(disabled ? 'content.tertiary' : 'content.primary'),
|
|
28
41
|
style: theme.typography.body,
|
|
29
42
|
children: label
|
|
30
43
|
}), control]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Switch","ComposeSwitch","Row","Text","useAppTheme","useHostGuard","jsx","_jsx","jsxs","_jsxs","disabled","label","onValueChange","value","theme","control","enabled","onCheckedChange","horizontalArrangement","
|
|
1
|
+
{"version":3,"names":["Switch","ComposeSwitch","Row","Text","clickable","fillMaxWidth","useAppTheme","useMemo","useHostGuard","jsx","_jsx","jsxs","_jsxs","disabled","label","onValueChange","value","theme","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,OAAO,QAAO,OAAO;AAE7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA;AACA;AACA;AACA,OAAO,MAAMZ,MAAuB,GAAGA,CAAC;EAACa,QAAQ,GAAG,KAAK;EAAEC,KAAK;EAAEC,aAAa;EAAEC;AAAkB,CAAC,KAAK;EACvGR,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAMS,KAAK,GAAGX,WAAW,CAAC,CAAC;EAC3B,MAAMY,YAAY,GAAGX,OAAO,CAC1B,MAAOM,QAAQ,IAAI,CAACE,aAAa,GAAG,CAACV,YAAY,CAAC,CAAC,CAAC,GAAG,CAACA,YAAY,CAAC,CAAC,EAAED,SAAS,CAAC,MAAMW,aAAa,CAAC,CAACC,KAAK,CAAC,CAAC,CAAE,EAChH,CAACH,QAAQ,EAAEE,aAAa,EAAEC,KAAK,CACjC,CAAC;EACD,MAAMG,OAAO,gBACXT,IAAA,CAACT,aAAa;IACZmB,MAAM,EAAE;MACNC,kBAAkB,EAAEJ,KAAK,CAACK,KAAK,CAAC,qBAAqB,CAAC;MACtDC,iBAAiB,EAAEN,KAAK,CAACK,KAAK,CAAC,eAAe,CAAC;MAC/CE,iBAAiB,EAAEP,KAAK,CAACK,KAAK,CAAC,qBAAqB;IACtD,CAAE;IACFG,OAAO,EAAE,CAACZ,QAAS;IACnBa,eAAe,EAAEX,aAAc;IAC/BC,KAAK,EAAEA;EAAM,CACd,CACF;EAED,IAAI,CAACF,KAAK,EAAE;IACV,OAAOK,OAAO;EAChB;EAEA,oBACEP,KAAA,CAACV,GAAG;IAACyB,qBAAqB,EAAC,cAAc;IAACC,SAAS,EAAEV,YAAa;IAACW,iBAAiB,EAAC,QAAQ;IAAAC,QAAA,gBAC3FpB,IAAA,CAACP,IAAI;MAACmB,KAAK,EAAEL,KAAK,CAACc,WAAW,CAAClB,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,CAAE;MAACmB,KAAK,EAAEf,KAAK,CAACgB,UAAU,CAACC,IAAK;MAAAJ,QAAA,EAC7GhB;IAAK,CACF,CAAC,EACNK,OAAO;EAAA,CACL,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { IconButton as ComposeIconButton } from '@expo/ui/jetpack-compose';
|
|
4
|
+
import { GLYPHS } from '@hzblj/kara-native';
|
|
5
|
+
import { DrawableIcon } from '@hzblj/kara-native/jetpack-compose';
|
|
6
|
+
import { useAppTheme } from '@hzblj/kara-theme';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export const GlyphButton = ({
|
|
9
|
+
accessibilityLabel,
|
|
10
|
+
disabled = false,
|
|
11
|
+
name,
|
|
12
|
+
onPress
|
|
13
|
+
}) => {
|
|
14
|
+
const theme = useAppTheme();
|
|
15
|
+
return /*#__PURE__*/_jsx(ComposeIconButton, {
|
|
16
|
+
enabled: !disabled,
|
|
17
|
+
onClick: onPress,
|
|
18
|
+
children: /*#__PURE__*/_jsx(DrawableIcon, {
|
|
19
|
+
accessibilityLabel: accessibilityLabel,
|
|
20
|
+
iconColor: theme.color(disabled ? 'btn.content.disabled' : 'content.primary'),
|
|
21
|
+
resourceName: GLYPHS[name].android
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=glyph-button.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IconButton","ComposeIconButton","GLYPHS","DrawableIcon","useAppTheme","jsx","_jsx","GlyphButton","accessibilityLabel","disabled","name","onPress","theme","enabled","onClick","children","iconColor","color","resourceName","android"],"sourceRoot":"../../../src","sources":["glyph/glyph-button.android.tsx"],"mappings":";;AAAA,SAAQA,UAAU,IAAIC,iBAAiB,QAAO,0BAA0B;AACxE,SAAQC,MAAM,QAAO,oBAAoB;AACzC,SAAQC,YAAY,QAAO,oCAAoC;AAC/D,SAAQC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7C,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAChDC,kBAAkB;EAClBC,QAAQ,GAAG,KAAK;EAChBC,IAAI;EACJC;AACgB,CAAC,KAAK;EACtB,MAAMC,KAAK,GAAGR,WAAW,CAAC,CAAC;EAE3B,oBACEE,IAAA,CAACL,iBAAiB;IAACY,OAAO,EAAE,CAACJ,QAAS;IAACK,OAAO,EAAEH,OAAQ;IAAAI,QAAA,eACtDT,IAAA,CAACH,YAAY;MACXK,kBAAkB,EAAEA,kBAAmB;MACvCQ,SAAS,EAAEJ,KAAK,CAACK,KAAK,CAACR,QAAQ,GAAG,sBAAsB,GAAG,iBAAiB,CAAE;MAC9ES,YAAY,EAAEhB,MAAM,CAACQ,IAAI,CAAC,CAACS;IAAQ,CACpC;EAAC,CACe,CAAC;AAExB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Button } from '@expo/ui/swift-ui';
|
|
4
|
+
import { buttonStyle, disabled as disabledModifier, accessibilityLabel as labelModifier } from '@expo/ui/swift-ui/modifiers';
|
|
5
|
+
import { useMemo } from 'react';
|
|
6
|
+
import { Glyph } from './glyph';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export const GlyphButton = ({
|
|
9
|
+
accessibilityLabel,
|
|
10
|
+
disabled = false,
|
|
11
|
+
name,
|
|
12
|
+
onPress
|
|
13
|
+
}) => {
|
|
14
|
+
const modifiers = useMemo(() => {
|
|
15
|
+
const list = [buttonStyle('plain')];
|
|
16
|
+
if (disabled) {
|
|
17
|
+
list.push(disabledModifier(true));
|
|
18
|
+
}
|
|
19
|
+
if (accessibilityLabel) {
|
|
20
|
+
list.push(labelModifier(accessibilityLabel));
|
|
21
|
+
}
|
|
22
|
+
return list;
|
|
23
|
+
}, [accessibilityLabel, disabled]);
|
|
24
|
+
return /*#__PURE__*/_jsx(Button, {
|
|
25
|
+
modifiers: modifiers,
|
|
26
|
+
onPress: onPress,
|
|
27
|
+
children: /*#__PURE__*/_jsx(Glyph, {
|
|
28
|
+
color: disabled ? 'btn.content.disabled' : 'content.primary',
|
|
29
|
+
name: name
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=glyph-button.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Button","buttonStyle","disabled","disabledModifier","accessibilityLabel","labelModifier","useMemo","Glyph","jsx","_jsx","GlyphButton","name","onPress","modifiers","list","push","children","color"],"sourceRoot":"../../../src","sources":["glyph/glyph-button.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,mBAAmB;AACxC,SACEC,WAAW,EACXC,QAAQ,IAAIC,gBAAgB,EAC5BC,kBAAkB,IAAIC,aAAa,QAC9B,6BAA6B;AACpC,SAAQC,OAAO,QAAO,OAAO;AAE7B,SAAQC,KAAK,QAAO,SAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG7B,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAChDN,kBAAkB;EAClBF,QAAQ,GAAG,KAAK;EAChBS,IAAI;EACJC;AACgB,CAAC,KAAK;EACtB,MAAMC,SAAS,GAAGP,OAAO,CAAC,MAAM;IAC9B,MAAMQ,IAAI,GAAG,CAACb,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAIC,QAAQ,EAAE;MACZY,IAAI,CAACC,IAAI,CAACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC;IAEA,IAAIC,kBAAkB,EAAE;MACtBU,IAAI,CAACC,IAAI,CAACV,aAAa,CAACD,kBAAkB,CAAC,CAAC;IAC9C;IAEA,OAAOU,IAAI;EACb,CAAC,EAAE,CAACV,kBAAkB,EAAEF,QAAQ,CAAC,CAAC;EAElC,oBACEO,IAAA,CAACT,MAAM;IAACa,SAAS,EAAEA,SAAU;IAACD,OAAO,EAAEA,OAAQ;IAAAI,QAAA,eAC7CP,IAAA,CAACF,KAAK;MAACU,KAAK,EAAEf,QAAQ,GAAG,sBAAsB,GAAG,iBAAkB;MAACS,IAAI,EAAEA;IAAK,CAAE;EAAC,CAC7E,CAAC;AAEb,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["glyph/glyph-button.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { GLYPHS } from '@hzblj/kara-native';
|
|
4
|
+
import { DrawableIcon } from '@hzblj/kara-native/jetpack-compose';
|
|
5
|
+
import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
/** The Material Symbol `@hzblj/kara-native` ships as a drawable — inside a Compose host. */
|
|
8
|
+
export const Glyph = ({
|
|
9
|
+
color = 'content.primary',
|
|
10
|
+
name,
|
|
11
|
+
size = 's24'
|
|
12
|
+
}) => {
|
|
13
|
+
const theme = useAppTheme();
|
|
14
|
+
return /*#__PURE__*/_jsx(DrawableIcon, {
|
|
15
|
+
iconColor: theme.color(color),
|
|
16
|
+
iconSize: spacing[size],
|
|
17
|
+
resourceName: GLYPHS[name].android
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=glyph.android.js.map
|
|
@@ -0,0 +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;EAACC,KAAK,GAAG,iBAAiB;EAAEC,IAAI;EAAEC,IAAI,GAAG;AAAiB,CAAC,KAAK;EACpG,MAAMC,KAAK,GAAGP,WAAW,CAAC,CAAC;EAE3B,oBAAOE,IAAA,CAACJ,YAAY;IAACU,SAAS,EAAED,KAAK,CAACH,KAAK,CAACA,KAAK,CAAE;IAACK,QAAQ,EAAEV,OAAO,CAACO,IAAI,CAAE;IAACI,YAAY,EAAEb,MAAM,CAACQ,IAAI,CAAC,CAACM;EAAQ,CAAE,CAAC;AACrH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Image } from '@expo/ui/swift-ui';
|
|
4
|
+
import { accessibilityHidden } from '@expo/ui/swift-ui/modifiers';
|
|
5
|
+
import { GLYPHS } from '@hzblj/kara-native';
|
|
6
|
+
import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const DECORATIVE = [accessibilityHidden(true)];
|
|
9
|
+
|
|
10
|
+
/** The SF Symbol the system already has — inside a SwiftUI host. */
|
|
11
|
+
export const Glyph = ({
|
|
12
|
+
color = 'content.primary',
|
|
13
|
+
name,
|
|
14
|
+
size = 's24'
|
|
15
|
+
}) => {
|
|
16
|
+
const theme = useAppTheme();
|
|
17
|
+
return /*#__PURE__*/_jsx(Image, {
|
|
18
|
+
color: theme.color(color),
|
|
19
|
+
modifiers: DECORATIVE,
|
|
20
|
+
size: spacing[size],
|
|
21
|
+
systemName: GLYPHS[name].ios
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=glyph.ios.js.map
|
|
@@ -0,0 +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;AAC/D,SAAQC,MAAM,QAAO,oBAAoB;AACzC,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAItD,MAAMC,UAAU,GAAG,CAACN,mBAAmB,CAAC,IAAI,CAAC,CAAC;;AAE9C;AACA,OAAO,MAAMO,KAAqB,GAAGA,CAAC;EAACC,KAAK,GAAG,iBAAiB;EAAEC,IAAI;EAAEC,IAAI,GAAG;AAAiB,CAAC,KAAK;EACpG,MAAMC,KAAK,GAAGR,WAAW,CAAC,CAAC;EAE3B,oBAAOE,IAAA,CAACN,KAAK;IAACS,KAAK,EAAEG,KAAK,CAACH,KAAK,CAACA,KAAK,CAAE;IAACI,SAAS,EAAEN,UAAW;IAACI,IAAI,EAAER,OAAO,CAACQ,IAAI,CAAE;IAACG,UAAU,EAAEZ,MAAM,CAACQ,IAAI,CAAC,CAACK;EAAI,CAAE,CAAC;AACvH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["glyph/glyph.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["glyph/index.ts"],"mappings":";;AAAA,cAAc,SAAS;AACvB,cAAc,kBAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,yBAAsB;AACpC,cAAc,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { GLYPHS } from '@hzblj/kara-native';
|
|
4
|
+
import { IconView } from '@hzblj/kara-native/jetpack-compose';
|
|
5
|
+
import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/** The Material Symbol drawable in an `ImageView` — the React Native tier. */
|
|
9
|
+
export const RnGlyph = ({
|
|
10
|
+
color = 'content.primary',
|
|
11
|
+
name,
|
|
12
|
+
size = 's24'
|
|
13
|
+
}) => {
|
|
14
|
+
const theme = useAppTheme();
|
|
15
|
+
const style = useMemo(() => ({
|
|
16
|
+
height: spacing[size],
|
|
17
|
+
width: spacing[size]
|
|
18
|
+
}), [size]);
|
|
19
|
+
return /*#__PURE__*/_jsx(IconView, {
|
|
20
|
+
iconColor: theme.color(color),
|
|
21
|
+
resourceName: GLYPHS[name].android,
|
|
22
|
+
style: style
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=rn-glyph.android.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GLYPHS","IconView","spacing","useAppTheme","useMemo","jsx","_jsx","RnGlyph","color","name","size","theme","style","height","width","iconColor","resourceName","android"],"sourceRoot":"../../../src","sources":["glyph/rn-glyph.android.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,QAAQ,QAAO,oCAAoC;AAC3D,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AACtD,SAAQC,OAAO,QAAO,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B;AACA,OAAO,MAAMC,OAAuB,GAAGA,CAAC;EAACC,KAAK,GAAG,iBAAiB;EAAEC,IAAI;EAAEC,IAAI,GAAG;AAAiB,CAAC,KAAK;EACtG,MAAMC,KAAK,GAAGR,WAAW,CAAC,CAAC;EAC3B,MAAMS,KAAK,GAAGR,OAAO,CAAC,OAAO;IAACS,MAAM,EAAEX,OAAO,CAACQ,IAAI,CAAC;IAAEI,KAAK,EAAEZ,OAAO,CAACQ,IAAI;EAAC,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEpF,oBAAOJ,IAAA,CAACL,QAAQ;IAACc,SAAS,EAAEJ,KAAK,CAACH,KAAK,CAACA,KAAK,CAAE;IAACQ,YAAY,EAAEhB,MAAM,CAACS,IAAI,CAAC,CAACQ,OAAQ;IAACL,KAAK,EAAEA;EAAM,CAAE,CAAC;AACtG,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { GLYPHS } from '@hzblj/kara-native';
|
|
4
|
+
import { IconView } from '@hzblj/kara-native/swift-ui';
|
|
5
|
+
import { spacing, useAppTheme } from '@hzblj/kara-theme';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/** The SF Symbol in a `UIImageView`, drawn at the size `Glyph` gives it inside a host — the React Native tier. */
|
|
9
|
+
export const RnGlyph = ({
|
|
10
|
+
color = 'content.primary',
|
|
11
|
+
name,
|
|
12
|
+
size = 's24'
|
|
13
|
+
}) => {
|
|
14
|
+
const theme = useAppTheme();
|
|
15
|
+
const style = useMemo(() => ({
|
|
16
|
+
height: spacing[size],
|
|
17
|
+
width: spacing[size]
|
|
18
|
+
}), [size]);
|
|
19
|
+
return /*#__PURE__*/_jsx(IconView, {
|
|
20
|
+
iconColor: theme.color(color),
|
|
21
|
+
style: style,
|
|
22
|
+
symbolSize: spacing[size],
|
|
23
|
+
systemName: GLYPHS[name].ios
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=rn-glyph.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["GLYPHS","IconView","spacing","useAppTheme","useMemo","jsx","_jsx","RnGlyph","color","name","size","theme","style","height","width","iconColor","symbolSize","systemName","ios"],"sourceRoot":"../../../src","sources":["glyph/rn-glyph.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,oBAAoB;AACzC,SAAQC,QAAQ,QAAO,6BAA6B;AACpD,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AACtD,SAAQC,OAAO,QAAO,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B;AACA,OAAO,MAAMC,OAAuB,GAAGA,CAAC;EAACC,KAAK,GAAG,iBAAiB;EAAEC,IAAI;EAAEC,IAAI,GAAG;AAAiB,CAAC,KAAK;EACtG,MAAMC,KAAK,GAAGR,WAAW,CAAC,CAAC;EAC3B,MAAMS,KAAK,GAAGR,OAAO,CAAC,OAAO;IAACS,MAAM,EAAEX,OAAO,CAACQ,IAAI,CAAC;IAAEI,KAAK,EAAEZ,OAAO,CAACQ,IAAI;EAAC,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEpF,oBACEJ,IAAA,CAACL,QAAQ;IAACc,SAAS,EAAEJ,KAAK,CAACH,KAAK,CAACA,KAAK,CAAE;IAACI,KAAK,EAAEA,KAAM;IAACI,UAAU,EAAEd,OAAO,CAACQ,IAAI,CAAE;IAACO,UAAU,EAAEjB,MAAM,CAACS,IAAI,CAAC,CAACS;EAAI,CAAE,CAAC;AAEtH,CAAC","ignoreList":[]}
|