@studio-piot/native-ui 0.1.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/LICENSE +15 -0
- package/README.md +91 -0
- package/dist/components/Button/Button.d.ts +16 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.js +44 -0
- package/dist/components/Button/Button.js.map +1 -0
- package/dist/components/Button/buttonRadius.d.ts +3 -0
- package/dist/components/Button/buttonRadius.d.ts.map +1 -0
- package/dist/components/Button/buttonRadius.js +17 -0
- package/dist/components/Button/buttonRadius.js.map +1 -0
- package/dist/components/Button/index.d.ts +3 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/index.js +8 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Field/FieldText.d.ts +3 -0
- package/dist/components/Field/FieldText.d.ts.map +1 -0
- package/dist/components/Field/FieldText.js +9 -0
- package/dist/components/Field/FieldText.js.map +1 -0
- package/dist/components/Field/FieldTextarea.d.ts +3 -0
- package/dist/components/Field/FieldTextarea.d.ts.map +1 -0
- package/dist/components/Field/FieldTextarea.js +10 -0
- package/dist/components/Field/FieldTextarea.js.map +1 -0
- package/dist/components/Field/fieldChrome.d.ts +10 -0
- package/dist/components/Field/fieldChrome.d.ts.map +1 -0
- package/dist/components/Field/fieldChrome.js +100 -0
- package/dist/components/Field/fieldChrome.js.map +1 -0
- package/dist/components/Field/fieldThemeRoles.d.ts +13 -0
- package/dist/components/Field/fieldThemeRoles.d.ts.map +1 -0
- package/dist/components/Field/fieldThemeRoles.js +15 -0
- package/dist/components/Field/fieldThemeRoles.js.map +1 -0
- package/dist/components/Field/index.d.ts +6 -0
- package/dist/components/Field/index.d.ts.map +1 -0
- package/dist/components/Field/index.js +10 -0
- package/dist/components/Field/index.js.map +1 -0
- package/dist/components/Field/resolveFieldBorder.d.ts +16 -0
- package/dist/components/Field/resolveFieldBorder.d.ts.map +1 -0
- package/dist/components/Field/resolveFieldBorder.js +20 -0
- package/dist/components/Field/resolveFieldBorder.js.map +1 -0
- package/dist/components/Field/resolveFieldColor.d.ts +7 -0
- package/dist/components/Field/resolveFieldColor.d.ts.map +1 -0
- package/dist/components/Field/resolveFieldColor.js +21 -0
- package/dist/components/Field/resolveFieldColor.js.map +1 -0
- package/dist/components/Field/types.d.ts +46 -0
- package/dist/components/Field/types.d.ts.map +1 -0
- package/dist/components/Field/types.js +3 -0
- package/dist/components/Field/types.js.map +1 -0
- package/dist/components/Field/useResolvedFieldColor.d.ts +2 -0
- package/dist/components/Field/useResolvedFieldColor.d.ts.map +1 -0
- package/dist/components/Field/useResolvedFieldColor.js +15 -0
- package/dist/components/Field/useResolvedFieldColor.js.map +1 -0
- package/dist/components/Form/Form.d.ts +3 -0
- package/dist/components/Form/Form.d.ts.map +1 -0
- package/dist/components/Form/Form.js +100 -0
- package/dist/components/Form/Form.js.map +1 -0
- package/dist/components/Form/FormCloseButton.d.ts +4 -0
- package/dist/components/Form/FormCloseButton.d.ts.map +1 -0
- package/dist/components/Form/FormCloseButton.js +17 -0
- package/dist/components/Form/FormCloseButton.js.map +1 -0
- package/dist/components/Form/index.d.ts +4 -0
- package/dist/components/Form/index.d.ts.map +1 -0
- package/dist/components/Form/index.js +8 -0
- package/dist/components/Form/index.js.map +1 -0
- package/dist/components/Form/resolveThemeColor.d.ts +11 -0
- package/dist/components/Form/resolveThemeColor.d.ts.map +1 -0
- package/dist/components/Form/resolveThemeColor.js +21 -0
- package/dist/components/Form/resolveThemeColor.js.map +1 -0
- package/dist/components/Form/types.d.ts +30 -0
- package/dist/components/Form/types.d.ts.map +1 -0
- package/dist/components/Form/types.js +3 -0
- package/dist/components/Form/types.js.map +1 -0
- package/dist/components/Form/useResolvedThemeColor.d.ts +2 -0
- package/dist/components/Form/useResolvedThemeColor.d.ts.map +1 -0
- package/dist/components/Form/useResolvedThemeColor.js +15 -0
- package/dist/components/Form/useResolvedThemeColor.js.map +1 -0
- package/dist/components/Form/withAlpha.d.ts +2 -0
- package/dist/components/Form/withAlpha.d.ts.map +1 -0
- package/dist/components/Form/withAlpha.js +12 -0
- package/dist/components/Form/withAlpha.js.map +1 -0
- package/dist/components/LinkBlocks/LinkBlocks.d.ts +3 -0
- package/dist/components/LinkBlocks/LinkBlocks.d.ts.map +1 -0
- package/dist/components/LinkBlocks/LinkBlocks.js +75 -0
- package/dist/components/LinkBlocks/LinkBlocks.js.map +1 -0
- package/dist/components/LinkBlocks/filterGroups.d.ts +3 -0
- package/dist/components/LinkBlocks/filterGroups.d.ts.map +1 -0
- package/dist/components/LinkBlocks/filterGroups.js +7 -0
- package/dist/components/LinkBlocks/filterGroups.js.map +1 -0
- package/dist/components/LinkBlocks/index.d.ts +4 -0
- package/dist/components/LinkBlocks/index.d.ts.map +1 -0
- package/dist/components/LinkBlocks/index.js +8 -0
- package/dist/components/LinkBlocks/index.js.map +1 -0
- package/dist/components/LinkBlocks/types.d.ts +26 -0
- package/dist/components/LinkBlocks/types.d.ts.map +1 -0
- package/dist/components/LinkBlocks/types.js +3 -0
- package/dist/components/LinkBlocks/types.js.map +1 -0
- package/dist/components/RadioField/RadioField.d.ts +3 -0
- package/dist/components/RadioField/RadioField.d.ts.map +1 -0
- package/dist/components/RadioField/RadioField.js +76 -0
- package/dist/components/RadioField/RadioField.js.map +1 -0
- package/dist/components/RadioField/RadioMark.d.ts +7 -0
- package/dist/components/RadioField/RadioMark.d.ts.map +1 -0
- package/dist/components/RadioField/RadioMark.js +32 -0
- package/dist/components/RadioField/RadioMark.js.map +1 -0
- package/dist/components/RadioField/index.d.ts +4 -0
- package/dist/components/RadioField/index.d.ts.map +1 -0
- package/dist/components/RadioField/index.js +8 -0
- package/dist/components/RadioField/index.js.map +1 -0
- package/dist/components/RadioField/radioThemeRoles.d.ts +11 -0
- package/dist/components/RadioField/radioThemeRoles.d.ts.map +1 -0
- package/dist/components/RadioField/radioThemeRoles.js +13 -0
- package/dist/components/RadioField/radioThemeRoles.js.map +1 -0
- package/dist/components/RadioField/types.d.ts +24 -0
- package/dist/components/RadioField/types.d.ts.map +1 -0
- package/dist/components/RadioField/types.js +3 -0
- package/dist/components/RadioField/types.js.map +1 -0
- package/dist/components/Select/Select.d.ts +3 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.js +137 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/SelectCloseButton.d.ts +4 -0
- package/dist/components/Select/SelectCloseButton.d.ts.map +1 -0
- package/dist/components/Select/SelectCloseButton.js +17 -0
- package/dist/components/Select/SelectCloseButton.js.map +1 -0
- package/dist/components/Select/index.d.ts +6 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Select/index.js +14 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Select/resolveSelectDetentIndex.d.ts +9 -0
- package/dist/components/Select/resolveSelectDetentIndex.d.ts.map +1 -0
- package/dist/components/Select/resolveSelectDetentIndex.js +16 -0
- package/dist/components/Select/resolveSelectDetentIndex.js.map +1 -0
- package/dist/components/Select/selectThemeRoles.d.ts +12 -0
- package/dist/components/Select/selectThemeRoles.d.ts.map +1 -0
- package/dist/components/Select/selectThemeRoles.js +14 -0
- package/dist/components/Select/selectThemeRoles.js.map +1 -0
- package/dist/components/Select/types.d.ts +35 -0
- package/dist/components/Select/types.d.ts.map +1 -0
- package/dist/components/Select/types.js +3 -0
- package/dist/components/Select/types.js.map +1 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +27 -0
- package/dist/components/index.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/index.d.ts +2 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +6 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/layout/screenPadding.d.ts +3 -0
- package/dist/layout/screenPadding.d.ts.map +1 -0
- package/dist/layout/screenPadding.js +6 -0
- package/dist/layout/screenPadding.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +11 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.js +11 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +12 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/resolveColorScheme.d.ts +2 -0
- package/dist/theme/resolveColorScheme.d.ts.map +1 -0
- package/dist/theme/resolveColorScheme.js +7 -0
- package/dist/theme/resolveColorScheme.js.map +1 -0
- package/dist/theme/types.d.ts +8 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/types.js +3 -0
- package/dist/theme/types.js.map +1 -0
- package/dist/theme/useColorScheme.d.ts +2 -0
- package/dist/theme/useColorScheme.d.ts.map +1 -0
- package/dist/theme/useColorScheme.js +16 -0
- package/dist/theme/useColorScheme.js.map +1 -0
- package/dist/theme/useThemeColor.d.ts +5 -0
- package/dist/theme/useThemeColor.d.ts.map +1 -0
- package/dist/theme/useThemeColor.js +25 -0
- package/dist/theme/useThemeColor.js.map +1 -0
- package/docs/components/button.md +162 -0
- package/docs/components/field.md +128 -0
- package/docs/components/form.md +86 -0
- package/docs/components/link-blocks.md +120 -0
- package/docs/components/radio-field.md +100 -0
- package/docs/components/select.md +59 -0
- package/docs/superpowers/plans/2026-09-24-field.md +583 -0
- package/docs/superpowers/plans/2026-09-24-link-blocks.md +414 -0
- package/docs/superpowers/plans/2026-09-24-theme-provider-button.md +493 -0
- package/docs/superpowers/plans/2026-09-25-radio-field.md +516 -0
- package/docs/superpowers/plans/2026-09-25-select.md +22 -0
- package/docs/superpowers/specs/2026-09-24-field-design.md +205 -0
- package/docs/superpowers/specs/2026-09-24-link-blocks-design.md +167 -0
- package/docs/superpowers/specs/2026-09-24-theme-provider-button-design.md +178 -0
- package/docs/superpowers/specs/2026-09-25-radio-field-design.md +136 -0
- package/docs/superpowers/specs/2026-09-25-select-design.md +164 -0
- package/package.json +75 -0
- package/src/components/Button/Button.tsx +97 -0
- package/src/components/Button/buttonRadius.test.ts +16 -0
- package/src/components/Button/buttonRadius.ts +24 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/Field/FieldText.tsx +6 -0
- package/src/components/Field/FieldTextarea.tsx +18 -0
- package/src/components/Field/fieldChrome.tsx +219 -0
- package/src/components/Field/fieldThemeRoles.ts +13 -0
- package/src/components/Field/index.ts +5 -0
- package/src/components/Field/resolveFieldBorder.test.ts +76 -0
- package/src/components/Field/resolveFieldBorder.ts +40 -0
- package/src/components/Field/resolveFieldColor.test.ts +92 -0
- package/src/components/Field/resolveFieldColor.ts +26 -0
- package/src/components/Field/types.ts +53 -0
- package/src/components/Field/useResolvedFieldColor.ts +15 -0
- package/src/components/Form/Form.tsx +205 -0
- package/src/components/Form/FormCloseButton.tsx +19 -0
- package/src/components/Form/index.ts +3 -0
- package/src/components/Form/resolveThemeColor.ts +24 -0
- package/src/components/Form/types.ts +30 -0
- package/src/components/Form/useResolvedThemeColor.ts +15 -0
- package/src/components/Form/withAlpha.test.ts +13 -0
- package/src/components/Form/withAlpha.ts +9 -0
- package/src/components/LinkBlocks/LinkBlocks.tsx +165 -0
- package/src/components/LinkBlocks/filterGroups.test.ts +37 -0
- package/src/components/LinkBlocks/filterGroups.ts +7 -0
- package/src/components/LinkBlocks/index.ts +7 -0
- package/src/components/LinkBlocks/types.ts +28 -0
- package/src/components/RadioField/RadioField.tsx +168 -0
- package/src/components/RadioField/RadioMark.tsx +54 -0
- package/src/components/RadioField/index.ts +3 -0
- package/src/components/RadioField/radioThemeRoles.test.ts +15 -0
- package/src/components/RadioField/radioThemeRoles.ts +11 -0
- package/src/components/RadioField/types.ts +25 -0
- package/src/components/Select/Select.tsx +279 -0
- package/src/components/Select/SelectCloseButton.tsx +19 -0
- package/src/components/Select/index.ts +13 -0
- package/src/components/Select/resolveSelectDetentIndex.test.ts +20 -0
- package/src/components/Select/resolveSelectDetentIndex.ts +16 -0
- package/src/components/Select/selectThemeRoles.ts +12 -0
- package/src/components/Select/types.ts +39 -0
- package/src/components/index.ts +42 -0
- package/src/index.ts +50 -0
- package/src/layout/index.ts +1 -0
- package/src/layout/screenPadding.ts +2 -0
- package/src/theme/ThemeProvider.tsx +20 -0
- package/src/theme/index.ts +5 -0
- package/src/theme/resolveColorScheme.test.ts +16 -0
- package/src/theme/resolveColorScheme.ts +5 -0
- package/src/theme/types.ts +5 -0
- package/src/theme/useColorScheme.ts +13 -0
- package/src/theme/useThemeColor.ts +25 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/Field/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedFieldColor.d.ts","sourceRoot":"","sources":["../../../src/components/Field/useResolvedFieldColor.ts"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,CAKR"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useResolvedFieldColor = useResolvedFieldColor;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const resolveColorScheme_1 = require("../../theme/resolveColorScheme");
|
|
7
|
+
const ThemeProvider_1 = require("../../theme/ThemeProvider");
|
|
8
|
+
const resolveFieldColor_1 = require("./resolveFieldColor");
|
|
9
|
+
function useResolvedFieldColor(prop, role) {
|
|
10
|
+
const ctx = (0, react_1.useContext)(ThemeProvider_1.ThemeContext);
|
|
11
|
+
const systemScheme = (0, react_native_1.useColorScheme)();
|
|
12
|
+
const scheme = (0, resolveColorScheme_1.resolveColorScheme)(systemScheme);
|
|
13
|
+
return (0, resolveFieldColor_1.resolveFieldColor)(prop, role, ctx, scheme);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useResolvedFieldColor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedFieldColor.js","sourceRoot":"","sources":["../../../src/components/Field/useResolvedFieldColor.ts"],"names":[],"mappings":";;AAMA,sDAQC;AAdD,iCAAmC;AACnC,+CAAsE;AACtE,uEAAoE;AACpE,6DAAyD;AACzD,2DAAwD;AAExD,SAAgB,qBAAqB,CACnC,IAAwB,EACxB,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,4BAAY,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,IAAA,6BAAoB,GAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,YAAY,CAAC,CAAC;IAChD,OAAO,IAAA,qCAAiB,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { FormProps } from "./types";
|
|
2
|
+
export declare function Form({ title, children, onClose, onSubmit, submitLabel, submitting, submitDisabled, closeButton, submitRadius, paddingHorizontal, backgroundColor: backgroundColorProp, titleColor: titleColorProp, footerBackgroundColor: footerBackgroundColorProp, buttonBackgroundColor: buttonBackgroundColorProp, buttonLabelColor: buttonLabelColorProp, }: FormProps): import("react").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=Form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/Form/Form.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAgBzC,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,WAAoB,EACpB,UAAkB,EAClB,cAAsB,EACtB,WAAW,EACX,YAAmB,EACnB,iBAA2C,EAC3C,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,cAAc,EAC1B,qBAAqB,EAAE,yBAAyB,EAChD,qBAAqB,EAAE,yBAAyB,EAChD,gBAAgB,EAAE,oBAAoB,GACvC,EAAE,SAAS,+BAsHX"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Form = Form;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const react_native_1 = require("react-native");
|
|
7
|
+
const react_native_keyboard_controller_1 = require("react-native-keyboard-controller");
|
|
8
|
+
const react_native_safe_area_context_1 = require("react-native-safe-area-context");
|
|
9
|
+
const screenPadding_1 = require("../../layout/screenPadding");
|
|
10
|
+
const Button_1 = require("../Button/Button");
|
|
11
|
+
const FormCloseButton_1 = require("./FormCloseButton");
|
|
12
|
+
const useResolvedThemeColor_1 = require("./useResolvedThemeColor");
|
|
13
|
+
const withAlpha_1 = require("./withAlpha");
|
|
14
|
+
/** How far the header wash continues below the buttons. */
|
|
15
|
+
const FADE_TAIL = 32;
|
|
16
|
+
/** Space kept between the focused field and the top of the footer. */
|
|
17
|
+
const FIELD_GAP = 12;
|
|
18
|
+
/**
|
|
19
|
+
* The scroll view lifts the caret, which sits inside the field. This covers
|
|
20
|
+
* the rest of the control below the caret so the rounded bottom stays visible.
|
|
21
|
+
*/
|
|
22
|
+
const FIELD_BELOW_CARET = 36;
|
|
23
|
+
function Form({ title, children, onClose, onSubmit, submitLabel = "Save", submitting = false, submitDisabled = false, closeButton, submitRadius = "lg", paddingHorizontal = screenPadding_1.screenPaddingHorizontal, backgroundColor: backgroundColorProp, titleColor: titleColorProp, footerBackgroundColor: footerBackgroundColorProp, buttonBackgroundColor: buttonBackgroundColorProp, buttonLabelColor: buttonLabelColorProp, }) {
|
|
24
|
+
const insets = (0, react_native_safe_area_context_1.useSafeAreaInsets)();
|
|
25
|
+
const background = (0, useResolvedThemeColor_1.useResolvedThemeColor)(backgroundColorProp, "background");
|
|
26
|
+
const titleColor = (0, useResolvedThemeColor_1.useResolvedThemeColor)(titleColorProp, "text");
|
|
27
|
+
const footerBackground = (0, useResolvedThemeColor_1.useResolvedThemeColor)(footerBackgroundColorProp, "surface");
|
|
28
|
+
const buttonBackground = (0, useResolvedThemeColor_1.useResolvedThemeColor)(buttonBackgroundColorProp, "buttonBackground");
|
|
29
|
+
const buttonLabel = (0, useResolvedThemeColor_1.useResolvedThemeColor)(buttonLabelColorProp, "buttonLabel");
|
|
30
|
+
const [footerHeight, setFooterHeight] = (0, react_1.useState)(0);
|
|
31
|
+
const [cancelWidth, setCancelWidth] = (0, react_1.useState)(0);
|
|
32
|
+
const [barHeight, setBarHeight] = (0, react_1.useState)(0);
|
|
33
|
+
const resolvedBar = barHeight || insets.top + 52;
|
|
34
|
+
const onFooterLayout = (event) => {
|
|
35
|
+
const next = Math.round(event.nativeEvent.layout.height);
|
|
36
|
+
setFooterHeight((current) => (current === next ? current : next));
|
|
37
|
+
};
|
|
38
|
+
const resolvedClose = closeButton ?? ((0, jsx_runtime_1.jsx)(FormCloseButton_1.FormCloseButton, { onPress: onClose }));
|
|
39
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.screen, { backgroundColor: background }], children: [(0, jsx_runtime_1.jsx)(react_native_keyboard_controller_1.KeyboardAwareScrollView, { automaticallyAdjustKeyboardInsets: false, bottomOffset: footerHeight + FIELD_GAP + FIELD_BELOW_CARET, contentContainerStyle: [
|
|
40
|
+
styles.content,
|
|
41
|
+
{
|
|
42
|
+
paddingTop: resolvedBar + FADE_TAIL,
|
|
43
|
+
paddingHorizontal,
|
|
44
|
+
},
|
|
45
|
+
], contentInsetAdjustmentBehavior: "never", keyboardDismissMode: "interactive", keyboardShouldPersistTaps: "handled", showsVerticalScrollIndicator: false, style: styles.scroll, children: children }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "box-none", style: [
|
|
46
|
+
styles.fade,
|
|
47
|
+
{
|
|
48
|
+
height: resolvedBar + FADE_TAIL,
|
|
49
|
+
experimental_backgroundImage: `linear-gradient(to bottom, ${(0, withAlpha_1.withAlpha)(background, 0.98)} 0%, ${(0, withAlpha_1.withAlpha)(background, 0.92)} 55%, ${(0, withAlpha_1.withAlpha)(background, 0)} 100%)`,
|
|
50
|
+
},
|
|
51
|
+
], children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { onLayout: (event) => {
|
|
52
|
+
const next = Math.round(event.nativeEvent.layout.height);
|
|
53
|
+
setBarHeight((current) => (current === next ? current : next));
|
|
54
|
+
}, pointerEvents: "box-none", style: [
|
|
55
|
+
styles.header,
|
|
56
|
+
{ paddingTop: insets.top, paddingHorizontal },
|
|
57
|
+
], children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { onLayout: (event) => {
|
|
58
|
+
const next = Math.round(event.nativeEvent.layout.width);
|
|
59
|
+
setCancelWidth((current) => (current === next ? current : next));
|
|
60
|
+
}, children: resolvedClose }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { accessibilityRole: "header", numberOfLines: 1, pointerEvents: "none", style: [styles.title, { flex: 1, color: titleColor }], children: title }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: { width: cancelWidth } })] }) }), (0, jsx_runtime_1.jsx)(react_native_keyboard_controller_1.KeyboardStickyView, { offset: { closed: 0, opened: insets.bottom }, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.footerShell, { backgroundColor: footerBackground }], children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { onLayout: onFooterLayout, style: [styles.footer, { paddingHorizontal }], children: (0, jsx_runtime_1.jsx)(Button_1.Button, { backgroundColor: buttonBackground, disabled: submitDisabled, label: submitLabel, labelColor: buttonLabel, loading: submitting, onPress: onSubmit, radius: submitRadius }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: { height: insets.bottom } })] }) })] }));
|
|
61
|
+
}
|
|
62
|
+
const styles = react_native_1.StyleSheet.create({
|
|
63
|
+
screen: {
|
|
64
|
+
flex: 1,
|
|
65
|
+
},
|
|
66
|
+
scroll: {
|
|
67
|
+
flex: 1,
|
|
68
|
+
},
|
|
69
|
+
content: {
|
|
70
|
+
paddingTop: 20,
|
|
71
|
+
paddingBottom: 24,
|
|
72
|
+
},
|
|
73
|
+
fade: {
|
|
74
|
+
position: "absolute",
|
|
75
|
+
top: 0,
|
|
76
|
+
left: 0,
|
|
77
|
+
right: 0,
|
|
78
|
+
},
|
|
79
|
+
header: {
|
|
80
|
+
flexDirection: "row",
|
|
81
|
+
alignItems: "center",
|
|
82
|
+
},
|
|
83
|
+
title: {
|
|
84
|
+
fontSize: 17,
|
|
85
|
+
fontWeight: "600",
|
|
86
|
+
textAlign: "center",
|
|
87
|
+
},
|
|
88
|
+
footerShell: {
|
|
89
|
+
// Cast upward so the sticky footer separates from the scroll body.
|
|
90
|
+
shadowColor: "#000",
|
|
91
|
+
shadowOffset: { width: 0, height: -4 },
|
|
92
|
+
shadowOpacity: 0.08,
|
|
93
|
+
shadowRadius: 12,
|
|
94
|
+
elevation: 8,
|
|
95
|
+
},
|
|
96
|
+
footer: {
|
|
97
|
+
paddingVertical: 12,
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=Form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../src/components/Form/Form.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormCloseButton.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormCloseButton.tsx"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BAQnE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormCloseButton = FormCloseButton;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const useThemeColor_1 = require("../../theme/useThemeColor");
|
|
7
|
+
function FormCloseButton({ onPress }) {
|
|
8
|
+
const text = (0, useThemeColor_1.useThemeColor)("text");
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityRole: "button", hitSlop: 8, onPress: onPress, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.label, { color: text }], children: "Cancel" }) }));
|
|
10
|
+
}
|
|
11
|
+
const styles = react_native_1.StyleSheet.create({
|
|
12
|
+
label: {
|
|
13
|
+
fontSize: 17,
|
|
14
|
+
fontWeight: "600",
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=FormCloseButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormCloseButton.js","sourceRoot":"","sources":["../../../src/components/Form/FormCloseButton.tsx"],"names":[],"mappings":";;AAGA,0CAQC;;AAXD,+CAA2D;AAC3D,6DAA0D;AAE1D,SAAgB,eAAe,CAAC,EAAE,OAAO,EAA2B;IAClE,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,CAAC;IAEnC,OAAO,CACL,uBAAC,wBAAS,IAAC,iBAAiB,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,YAChE,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,uBAAe,GACjD,CACb,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormCloseButton = exports.Form = void 0;
|
|
4
|
+
var Form_1 = require("./Form");
|
|
5
|
+
Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
|
|
6
|
+
var FormCloseButton_1 = require("./FormCloseButton");
|
|
7
|
+
Object.defineProperty(exports, "FormCloseButton", { enumerable: true, get: function () { return FormCloseButton_1.FormCloseButton; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Form/index.ts"],"names":[],"mappings":";;;AAAA,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a colour: explicit prop wins; otherwise read the theme role.
|
|
3
|
+
* Pure helper so it can be unit-tested without rendering.
|
|
4
|
+
*/
|
|
5
|
+
export declare function resolveThemeColor(prop: string | undefined, role: string, ctx: {
|
|
6
|
+
colors: {
|
|
7
|
+
light: Record<string, string>;
|
|
8
|
+
dark: Record<string, string>;
|
|
9
|
+
};
|
|
10
|
+
} | null, scheme: "light" | "dark"): string;
|
|
11
|
+
//# sourceMappingURL=resolveThemeColor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveThemeColor.d.ts","sourceRoot":"","sources":["../../../src/components/Form/resolveThemeColor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;IAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,EACvF,MAAM,EAAE,OAAO,GAAG,MAAM,GACvB,MAAM,CAcR"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveThemeColor = resolveThemeColor;
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a colour: explicit prop wins; otherwise read the theme role.
|
|
6
|
+
* Pure helper so it can be unit-tested without rendering.
|
|
7
|
+
*/
|
|
8
|
+
function resolveThemeColor(prop, role, ctx, scheme) {
|
|
9
|
+
if (prop != null) {
|
|
10
|
+
return prop;
|
|
11
|
+
}
|
|
12
|
+
if (!ctx) {
|
|
13
|
+
throw new Error(`Colour "${role}" was not passed and ThemeProvider is required to resolve defaults`);
|
|
14
|
+
}
|
|
15
|
+
const value = ctx.colors[scheme][role];
|
|
16
|
+
if (value == null) {
|
|
17
|
+
throw new Error(`Unknown theme colour "${role}" for scheme "${scheme}"`);
|
|
18
|
+
}
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=resolveThemeColor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveThemeColor.js","sourceRoot":"","sources":["../../../src/components/Form/resolveThemeColor.ts"],"names":[],"mappings":";;AAIA,8CAmBC;AAvBD;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,IAAwB,EACxB,IAAY,EACZ,GAAuF,EACvF,MAAwB;IAExB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,oEAAoE,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,iBAAiB,MAAM,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { ButtonRadius } from "../Button/buttonRadius";
|
|
3
|
+
export type FormProps = {
|
|
4
|
+
title: string;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
onSubmit: () => void;
|
|
8
|
+
submitLabel?: string;
|
|
9
|
+
submitting?: boolean;
|
|
10
|
+
submitDisabled?: boolean;
|
|
11
|
+
/** App-specific Cancel control. Defaults to a plain text Cancel. */
|
|
12
|
+
closeButton?: ReactNode;
|
|
13
|
+
submitRadius?: ButtonRadius;
|
|
14
|
+
/**
|
|
15
|
+
* Horizontal inset for header, scroll content, and footer.
|
|
16
|
+
* Defaults to 16. Pass a value to override.
|
|
17
|
+
*/
|
|
18
|
+
paddingHorizontal?: number;
|
|
19
|
+
/** Defaults to theme role `background`. */
|
|
20
|
+
backgroundColor?: string;
|
|
21
|
+
/** Defaults to theme role `text`. */
|
|
22
|
+
titleColor?: string;
|
|
23
|
+
/** Defaults to theme role `surface`. Footer ground. */
|
|
24
|
+
footerBackgroundColor?: string;
|
|
25
|
+
/** Defaults to theme role `buttonBackground`. */
|
|
26
|
+
buttonBackgroundColor?: string;
|
|
27
|
+
/** Defaults to theme role `buttonLabel`. */
|
|
28
|
+
buttonLabelColor?: string;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/Form/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedThemeColor.d.ts","sourceRoot":"","sources":["../../../src/components/Form/useResolvedThemeColor.ts"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,CAKR"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useResolvedThemeColor = useResolvedThemeColor;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const resolveColorScheme_1 = require("../../theme/resolveColorScheme");
|
|
7
|
+
const ThemeProvider_1 = require("../../theme/ThemeProvider");
|
|
8
|
+
const resolveThemeColor_1 = require("./resolveThemeColor");
|
|
9
|
+
function useResolvedThemeColor(prop, role) {
|
|
10
|
+
const ctx = (0, react_1.useContext)(ThemeProvider_1.ThemeContext);
|
|
11
|
+
const systemScheme = (0, react_native_1.useColorScheme)();
|
|
12
|
+
const scheme = (0, resolveColorScheme_1.resolveColorScheme)(systemScheme);
|
|
13
|
+
return (0, resolveThemeColor_1.resolveThemeColor)(prop, role, ctx, scheme);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useResolvedThemeColor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedThemeColor.js","sourceRoot":"","sources":["../../../src/components/Form/useResolvedThemeColor.ts"],"names":[],"mappings":";;AAMA,sDAQC;AAdD,iCAAmC;AACnC,+CAAsE;AACtE,uEAAoE;AACpE,6DAAyD;AACzD,2DAAwD;AAExD,SAAgB,qBAAqB,CACnC,IAAwB,EACxB,IAAY;IAEZ,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,4BAAY,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,IAAA,6BAAoB,GAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,YAAY,CAAC,CAAC;IAChD,OAAO,IAAA,qCAAiB,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withAlpha.d.ts","sourceRoot":"","sources":["../../../src/components/Form/withAlpha.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withAlpha = withAlpha;
|
|
4
|
+
function withAlpha(hex, alpha) {
|
|
5
|
+
const raw = hex.replace("#", "");
|
|
6
|
+
const full = raw.length === 3 ? raw.split("").map((c) => `${c}${c}`).join("") : raw;
|
|
7
|
+
const r = Number.parseInt(full.slice(0, 2), 16);
|
|
8
|
+
const g = Number.parseInt(full.slice(2, 4), 16);
|
|
9
|
+
const b = Number.parseInt(full.slice(4, 6), 16);
|
|
10
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=withAlpha.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withAlpha.js","sourceRoot":"","sources":["../../../src/components/Form/withAlpha.ts"],"names":[],"mappings":";;AAAA,8BAQC;AARD,SAAgB,SAAS,CAAC,GAAW,EAAE,KAAa;IAClD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GACR,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACzE,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkBlocks.d.ts","sourceRoot":"","sources":["../../../src/components/LinkBlocks/LinkBlocks.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/D,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAa,EACb,KAAK,GACN,EAAE,eAAe,+BAqBjB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LinkBlocks = LinkBlocks;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const buttonRadius_1 = require("../Button/buttonRadius");
|
|
7
|
+
const filterGroups_1 = require("./filterGroups");
|
|
8
|
+
const ICON_SLOT = 28;
|
|
9
|
+
const ROW_PAD_H = 16;
|
|
10
|
+
function LinkBlocks({ blocks, surfaceColor, labelColor, dividerColor, chevronColor, titleColor, radius = "xl", style, }) {
|
|
11
|
+
const visible = (0, filterGroups_1.filterLinkBlockGroups)(blocks);
|
|
12
|
+
const borderRadius = (0, buttonRadius_1.buttonRadiusValue)(radius);
|
|
13
|
+
const resolvedTitleColor = titleColor ?? labelColor;
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.stack, style], children: visible.map((group) => ((0, jsx_runtime_1.jsx)(Group, { group: group, surfaceColor: surfaceColor, labelColor: labelColor, dividerColor: dividerColor, chevronColor: chevronColor, titleColor: resolvedTitleColor, borderRadius: borderRadius }, group.key))) }));
|
|
15
|
+
}
|
|
16
|
+
function Group({ group, surfaceColor, labelColor, dividerColor, chevronColor, titleColor, borderRadius, }) {
|
|
17
|
+
const showIconSlot = group.items.some((item) => item.icon != null);
|
|
18
|
+
const dividerInset = ROW_PAD_H + (showIconSlot ? ICON_SLOT + 12 : 0);
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.group, children: [group.title ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.title, { color: titleColor }], children: group.title })) : null, (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
|
|
20
|
+
styles.surface,
|
|
21
|
+
{ backgroundColor: surfaceColor, borderRadius },
|
|
22
|
+
], children: group.items.map((item, index) => ((0, jsx_runtime_1.jsxs)(react_native_1.View, { children: [index > 0 ? ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
|
|
23
|
+
styles.divider,
|
|
24
|
+
{
|
|
25
|
+
backgroundColor: dividerColor,
|
|
26
|
+
marginLeft: dividerInset,
|
|
27
|
+
},
|
|
28
|
+
] })) : null, (0, jsx_runtime_1.jsxs)(react_native_1.TouchableOpacity, { accessibilityLabel: item.label, accessibilityRole: "button", accessibilityState: { disabled: !!item.disabled }, activeOpacity: 0.75, disabled: item.disabled, onPress: item.onPress, style: [styles.row, item.disabled && styles.blocked], children: [showIconSlot ? ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.iconSlot, children: item.icon ?? null })) : null, (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.label, { color: labelColor, flex: 1 }], children: item.label }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { accessibilityElementsHidden: true, importantForAccessibility: "no", selectable: false, style: [styles.chevron, { color: chevronColor }], children: "\u203A" })] })] }, item.key))) })] }));
|
|
29
|
+
}
|
|
30
|
+
const styles = react_native_1.StyleSheet.create({
|
|
31
|
+
stack: {
|
|
32
|
+
width: "100%",
|
|
33
|
+
gap: 16,
|
|
34
|
+
},
|
|
35
|
+
group: {
|
|
36
|
+
width: "100%",
|
|
37
|
+
gap: 8,
|
|
38
|
+
},
|
|
39
|
+
title: {
|
|
40
|
+
fontSize: 13,
|
|
41
|
+
fontWeight: "600",
|
|
42
|
+
paddingHorizontal: 4,
|
|
43
|
+
},
|
|
44
|
+
surface: {
|
|
45
|
+
width: "100%",
|
|
46
|
+
overflow: "hidden",
|
|
47
|
+
},
|
|
48
|
+
row: {
|
|
49
|
+
minHeight: 52,
|
|
50
|
+
paddingHorizontal: ROW_PAD_H,
|
|
51
|
+
flexDirection: "row",
|
|
52
|
+
alignItems: "center",
|
|
53
|
+
gap: 12,
|
|
54
|
+
},
|
|
55
|
+
blocked: {
|
|
56
|
+
opacity: 0.4,
|
|
57
|
+
},
|
|
58
|
+
iconSlot: {
|
|
59
|
+
width: ICON_SLOT,
|
|
60
|
+
alignItems: "center",
|
|
61
|
+
justifyContent: "center",
|
|
62
|
+
},
|
|
63
|
+
label: {
|
|
64
|
+
fontSize: 17,
|
|
65
|
+
},
|
|
66
|
+
chevron: {
|
|
67
|
+
fontSize: 22,
|
|
68
|
+
fontWeight: "300",
|
|
69
|
+
lineHeight: 24,
|
|
70
|
+
},
|
|
71
|
+
divider: {
|
|
72
|
+
height: react_native_1.StyleSheet.hairlineWidth,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=LinkBlocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkBlocks.js","sourceRoot":"","sources":["../../../src/components/LinkBlocks/LinkBlocks.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterGroups.d.ts","sourceRoot":"","sources":["../../../src/components/LinkBlocks/filterGroups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EAAE,GACvB,cAAc,EAAE,CAElB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterLinkBlockGroups = filterLinkBlockGroups;
|
|
4
|
+
function filterLinkBlockGroups(blocks) {
|
|
5
|
+
return blocks.filter((group) => group.items.length > 0);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=filterGroups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterGroups.js","sourceRoot":"","sources":["../../../src/components/LinkBlocks/filterGroups.ts"],"names":[],"mappings":";;AAEA,sDAIC;AAJD,SAAgB,qBAAqB,CACnC,MAAwB;IAExB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/LinkBlocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EACV,cAAc,EACd,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterLinkBlockGroups = exports.LinkBlocks = void 0;
|
|
4
|
+
var LinkBlocks_1 = require("./LinkBlocks");
|
|
5
|
+
Object.defineProperty(exports, "LinkBlocks", { enumerable: true, get: function () { return LinkBlocks_1.LinkBlocks; } });
|
|
6
|
+
var filterGroups_1 = require("./filterGroups");
|
|
7
|
+
Object.defineProperty(exports, "filterLinkBlockGroups", { enumerable: true, get: function () { return filterGroups_1.filterLinkBlockGroups; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/LinkBlocks/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAMnB,+CAAuD;AAA9C,qHAAA,qBAAqB,OAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { StyleProp, ViewStyle } from "react-native";
|
|
3
|
+
import type { ButtonRadius } from "../Button/buttonRadius";
|
|
4
|
+
export type LinkBlockItem = {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
onPress: () => void;
|
|
8
|
+
icon?: ReactNode;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type LinkBlockGroup = {
|
|
12
|
+
key: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
items: LinkBlockItem[];
|
|
15
|
+
};
|
|
16
|
+
export type LinkBlocksProps = {
|
|
17
|
+
blocks: LinkBlockGroup[];
|
|
18
|
+
surfaceColor: string;
|
|
19
|
+
labelColor: string;
|
|
20
|
+
dividerColor: string;
|
|
21
|
+
chevronColor: string;
|
|
22
|
+
titleColor?: string;
|
|
23
|
+
radius?: ButtonRadius;
|
|
24
|
+
style?: StyleProp<ViewStyle>;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/LinkBlocks/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/LinkBlocks/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { RadioFieldProps } from "./types";
|
|
2
|
+
export declare function RadioField<T extends string = string>({ value, onChange, options, label, radius, backgroundColor: backgroundColorProp, labelColor: labelColorProp, descriptionColor: descriptionColorProp, dividerColor: dividerColorProp, radioColor: radioColorProp, selectedColor: selectedColorProp, titleColor: titleColorProp, style, }: RadioFieldProps<T>): import("react").JSX.Element | null;
|
|
3
|
+
//# sourceMappingURL=RadioField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioField.d.ts","sourceRoot":"","sources":["../../../src/components/RadioField/RadioField.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EACpD,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAa,EACb,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,cAAc,EAC1B,gBAAgB,EAAE,oBAAoB,EACtC,YAAY,EAAE,gBAAgB,EAC9B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,UAAU,EAAE,cAAc,EAC1B,KAAK,GACN,EAAE,eAAe,CAAC,CAAC,CAAC,sCAmGpB"}
|