@retray-dev/ui-kit 13.0.0 → 13.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +680 -0
- package/CONSUMER.md +26 -9
- package/README.md +11 -12
- package/{COMPONENTS.md → SKILL.md} +515 -815
- package/dist/Accordion.d.mts +8 -6
- package/dist/Accordion.d.ts +8 -6
- package/dist/Accordion.js +40 -40
- package/dist/Accordion.mjs +4 -5
- package/dist/AlertBanner.d.mts +3 -3
- package/dist/AlertBanner.d.ts +3 -3
- package/dist/AlertBanner.js +7 -13
- package/dist/AlertBanner.mjs +4 -5
- package/dist/AppHeader.d.mts +8 -5
- package/dist/AppHeader.d.ts +8 -5
- package/dist/AppHeader.js +44 -31
- package/dist/AppHeader.mjs +6 -7
- package/dist/Avatar.d.mts +4 -4
- package/dist/Avatar.d.ts +4 -4
- package/dist/Avatar.mjs +2 -3
- package/dist/Badge.d.mts +5 -5
- package/dist/Badge.d.ts +5 -5
- package/dist/Badge.js +7 -13
- package/dist/Badge.mjs +3 -4
- package/dist/Button.d.mts +5 -5
- package/dist/Button.d.ts +5 -5
- package/dist/Button.js +31 -29
- package/dist/Button.mjs +5 -6
- package/dist/ButtonGroup.d.mts +3 -3
- package/dist/ButtonGroup.d.ts +3 -3
- package/dist/ButtonGroup.mjs +0 -1
- package/dist/Card.d.mts +13 -13
- package/dist/Card.d.ts +13 -13
- package/dist/Card.js +23 -14
- package/dist/Card.mjs +4 -5
- package/dist/CategoryStrip.d.mts +3 -3
- package/dist/CategoryStrip.d.ts +3 -3
- package/dist/CategoryStrip.js +30 -27
- package/dist/CategoryStrip.mjs +5 -6
- package/dist/Checkbox.d.mts +3 -2
- package/dist/Checkbox.d.ts +3 -2
- package/dist/Checkbox.js +26 -15
- package/dist/Checkbox.mjs +3 -4
- package/dist/Chip.d.mts +5 -5
- package/dist/Chip.d.ts +5 -5
- package/dist/Chip.js +30 -27
- package/dist/Chip.mjs +5 -6
- package/dist/ConfirmDialog.d.mts +3 -2
- package/dist/ConfirmDialog.d.ts +3 -2
- package/dist/ConfirmDialog.js +67 -49
- package/dist/ConfirmDialog.mjs +7 -7
- package/dist/CurrencyDisplay.d.mts +3 -3
- package/dist/CurrencyDisplay.d.ts +3 -3
- package/dist/CurrencyDisplay.mjs +2 -3
- package/dist/CurrencyInput.d.mts +2 -2
- package/dist/CurrencyInput.d.ts +2 -2
- package/dist/CurrencyInput.js +7 -13
- package/dist/CurrencyInput.mjs +4 -5
- package/dist/DetailRow.d.mts +6 -6
- package/dist/DetailRow.d.ts +6 -6
- package/dist/DetailRow.js +7 -13
- package/dist/DetailRow.mjs +3 -4
- package/dist/EmptyState.d.mts +4 -4
- package/dist/EmptyState.d.ts +4 -4
- package/dist/EmptyState.js +31 -29
- package/dist/EmptyState.mjs +6 -7
- package/dist/ErrorBoundary.d.mts +9 -7
- package/dist/ErrorBoundary.d.ts +9 -7
- package/dist/ErrorBoundary.js +33 -29
- package/dist/ErrorBoundary.mjs +5 -6
- package/dist/Form.d.mts +9 -9
- package/dist/Form.d.ts +9 -9
- package/dist/Form.mjs +2 -3
- package/dist/HolographicCard.d.mts +2 -2
- package/dist/HolographicCard.d.ts +2 -2
- package/dist/HolographicCard.js +23 -14
- package/dist/HolographicCard.mjs +2 -3
- package/dist/IconButton.d.mts +4 -4
- package/dist/IconButton.d.ts +4 -4
- package/dist/IconButton.js +30 -27
- package/dist/IconButton.mjs +4 -5
- package/dist/IconPicker.d.mts +2 -2
- package/dist/IconPicker.d.ts +2 -2
- package/dist/IconPicker.js +40 -45
- package/dist/IconPicker.mjs +6 -7
- package/dist/Image.d.mts +18 -0
- package/dist/Image.d.ts +18 -0
- package/dist/Image.js +53 -0
- package/dist/Image.mjs +2 -0
- package/dist/ImageUpload.d.mts +2 -4
- package/dist/ImageUpload.d.ts +2 -4
- package/dist/ImageUpload.js +50 -40
- package/dist/ImageUpload.mjs +5 -6
- package/dist/ImageViewer.d.mts +2 -2
- package/dist/ImageViewer.d.ts +2 -2
- package/dist/ImageViewer.js +31 -28
- package/dist/ImageViewer.mjs +6 -7
- package/dist/Input.d.mts +4 -4
- package/dist/Input.d.ts +4 -4
- package/dist/Input.js +7 -13
- package/dist/Input.mjs +3 -4
- package/dist/ItemGroup.d.mts +23 -0
- package/dist/ItemGroup.d.ts +23 -0
- package/dist/{ListGroup.js → ItemGroup.js} +11 -13
- package/dist/ItemGroup.mjs +4 -0
- package/dist/LabelValue.d.mts +4 -4
- package/dist/LabelValue.d.ts +4 -4
- package/dist/LabelValue.js +7 -13
- package/dist/LabelValue.mjs +3 -4
- package/dist/ListItem.d.mts +7 -6
- package/dist/ListItem.d.ts +7 -6
- package/dist/ListItem.js +33 -28
- package/dist/ListItem.mjs +5 -6
- package/dist/MediaCard.d.mts +6 -6
- package/dist/MediaCard.d.ts +6 -6
- package/dist/MediaCard.js +30 -27
- package/dist/MediaCard.mjs +5 -6
- package/dist/MenuItem.d.mts +6 -5
- package/dist/MenuItem.d.ts +6 -5
- package/dist/MenuItem.js +33 -28
- package/dist/MenuItem.mjs +5 -6
- package/dist/MonthPicker.d.mts +2 -2
- package/dist/MonthPicker.d.ts +2 -2
- package/dist/MonthPicker.js +23 -14
- package/dist/MonthPicker.mjs +3 -4
- package/dist/NumberStepper.d.mts +4 -3
- package/dist/NumberStepper.d.ts +4 -3
- package/dist/NumberStepper.js +34 -28
- package/dist/NumberStepper.mjs +5 -6
- package/dist/PagerDots.d.mts +2 -2
- package/dist/PagerDots.d.ts +2 -2
- package/dist/PagerDots.js +30 -27
- package/dist/PagerDots.mjs +4 -5
- package/dist/Pressable.d.mts +3 -27
- package/dist/Pressable.d.ts +3 -27
- package/dist/Pressable.js +23 -14
- package/dist/Pressable.mjs +2 -3
- package/dist/PricingCard.d.mts +2 -2
- package/dist/PricingCard.d.ts +2 -2
- package/dist/PricingCard.js +31 -29
- package/dist/PricingCard.mjs +7 -8
- package/dist/Progress.d.mts +2 -2
- package/dist/Progress.d.ts +2 -2
- package/dist/Progress.mjs +2 -3
- package/dist/RadioGroup.d.mts +2 -2
- package/dist/RadioGroup.d.ts +2 -2
- package/dist/RadioGroup.js +23 -14
- package/dist/RadioGroup.mjs +3 -4
- package/dist/RetrayProvider.d.mts +1 -1
- package/dist/RetrayProvider.d.ts +1 -1
- package/dist/RetrayProvider.js +14 -34
- package/dist/RetrayProvider.mjs +3 -4
- package/dist/ScreenContainer.d.mts +24 -0
- package/dist/ScreenContainer.d.ts +24 -0
- package/dist/ScreenContainer.js +85 -0
- package/dist/ScreenContainer.mjs +3 -0
- package/dist/Select.d.mts +3 -2
- package/dist/Select.d.ts +3 -2
- package/dist/Select.js +41 -46
- package/dist/Select.mjs +3 -4
- package/dist/SelectableCard.d.mts +5 -5
- package/dist/SelectableCard.d.ts +5 -5
- package/dist/SelectableCard.js +30 -27
- package/dist/SelectableCard.mjs +5 -6
- package/dist/SelectableGrid.d.mts +5 -4
- package/dist/SelectableGrid.d.ts +5 -4
- package/dist/SelectableGrid.js +80 -45
- package/dist/SelectableGrid.mjs +5 -6
- package/dist/Separator.d.mts +4 -2
- package/dist/Separator.d.ts +4 -2
- package/dist/Separator.js +29 -1
- package/dist/Separator.mjs +3 -3
- package/dist/Sheet.d.mts +11 -11
- package/dist/Sheet.d.ts +11 -11
- package/dist/Sheet.js +62 -34
- package/dist/Sheet.mjs +4 -4
- package/dist/SheetSelect.d.mts +2 -2
- package/dist/SheetSelect.d.ts +2 -2
- package/dist/SheetSelect.js +30 -27
- package/dist/SheetSelect.mjs +5 -6
- package/dist/Skeleton.d.mts +5 -5
- package/dist/Skeleton.d.ts +5 -5
- package/dist/Skeleton.mjs +3 -4
- package/dist/Slider.d.mts +3 -2
- package/dist/Slider.d.ts +3 -2
- package/dist/Slider.js +25 -14
- package/dist/Slider.mjs +3 -4
- package/dist/Spinner.d.mts +2 -2
- package/dist/Spinner.d.ts +2 -2
- package/dist/Spinner.mjs +2 -3
- package/dist/Stats.d.mts +6 -6
- package/dist/Stats.d.ts +6 -6
- package/dist/Stats.js +30 -27
- package/dist/Stats.mjs +5 -6
- package/dist/Switch.d.mts +3 -2
- package/dist/Switch.d.ts +3 -2
- package/dist/Switch.js +25 -15
- package/dist/Switch.mjs +3 -4
- package/dist/TabBar.d.mts +3 -3
- package/dist/TabBar.d.ts +3 -3
- package/dist/TabBar.js +30 -27
- package/dist/TabBar.mjs +4 -5
- package/dist/Tabs.d.mts +13 -13
- package/dist/Tabs.d.ts +13 -13
- package/dist/Tabs.js +23 -14
- package/dist/Tabs.mjs +3 -4
- package/dist/Text.d.mts +4 -4
- package/dist/Text.d.ts +4 -4
- package/dist/Text.js +20 -2
- package/dist/Text.mjs +3 -4
- package/dist/Textarea.d.mts +3 -3
- package/dist/Textarea.d.ts +3 -3
- package/dist/Textarea.js +7 -13
- package/dist/Textarea.mjs +3 -4
- package/dist/Toast.d.mts +15 -13
- package/dist/Toast.d.ts +15 -13
- package/dist/Toast.mjs +2 -3
- package/dist/Toggle.d.mts +4 -4
- package/dist/Toggle.d.ts +4 -4
- package/dist/Toggle.js +30 -27
- package/dist/Toggle.mjs +4 -5
- package/dist/VirtualizedList.d.mts +28 -0
- package/dist/VirtualizedList.d.ts +28 -0
- package/dist/VirtualizedList.js +130 -0
- package/dist/VirtualizedList.mjs +3 -0
- package/dist/{chunk-MZ6WRTD2.mjs → chunk-24JTXQ2M.mjs} +7 -13
- package/dist/{chunk-OBV72JD4.mjs → chunk-2DDJ53DK.mjs} +9 -11
- package/dist/{chunk-6CR4S6W2.mjs → chunk-2J5OZOMX.mjs} +19 -8
- package/dist/{chunk-4NQFTHN3.mjs → chunk-3GE4UFV5.mjs} +2 -2
- package/dist/{chunk-KAGADD2O.mjs → chunk-3RIZCKRM.mjs} +2 -2
- package/dist/{chunk-DE25XTVQ.mjs → chunk-3VHFOSZR.mjs} +2 -2
- package/dist/{chunk-UOKFSFNJ.mjs → chunk-4PF4LKNT.mjs} +4 -2
- package/dist/{chunk-5MYNAAFE.mjs → chunk-5J7VKFSZ.mjs} +4 -4
- package/dist/{chunk-BTUW5LSG.mjs → chunk-5TNQ573V.mjs} +4 -3
- package/dist/{chunk-6QLBHUEG.mjs → chunk-6T2DVIQT.mjs} +7 -5
- package/dist/{chunk-L3YKPTJQ.mjs → chunk-7CE6PDCQ.mjs} +2 -2
- package/dist/{chunk-Y6YS33GM.mjs → chunk-AHFEAY6M.mjs} +4 -4
- package/dist/{chunk-4ZO5PTKF.mjs → chunk-AZRATPNP.mjs} +5 -3
- package/dist/{chunk-V2ZB2XNS.mjs → chunk-BGXOEFDM.mjs} +9 -22
- package/dist/{chunk-KC5QDYGZ.mjs → chunk-BMAAAJWN.mjs} +2 -2
- package/dist/{chunk-IJCMPVW5.mjs → chunk-BQMJQMWY.mjs} +2 -2
- package/dist/{chunk-E4EQSCKR.mjs → chunk-BTPCY4C7.mjs} +7 -5
- package/dist/chunk-BVJAYPAD.mjs +55 -0
- package/dist/{chunk-RA6SAAFE.mjs → chunk-BWLVX2SQ.mjs} +4 -4
- package/dist/{chunk-EROPDCB5.mjs → chunk-CCEM3HIJ.mjs} +30 -25
- package/dist/chunk-CTUFFKGS.mjs +30 -0
- package/dist/{chunk-EHGBHFMH.mjs → chunk-CYGYC7XT.mjs} +8 -4
- package/dist/{chunk-ESQDPO5E.mjs → chunk-DLAOTHHS.mjs} +7 -6
- package/dist/{chunk-QY3X2UYR.mjs → chunk-DYYPDQA2.mjs} +21 -7
- package/dist/{chunk-S44XWTTC.mjs → chunk-E4BJ5WXG.mjs} +3 -3
- package/dist/{chunk-HUSSF6TF.mjs → chunk-EQNCMDZC.mjs} +1 -1
- package/dist/{chunk-PI6RULJX.mjs → chunk-EQYTDFDD.mjs} +1 -1
- package/dist/{chunk-BULKGOIZ.mjs → chunk-FE26TPCI.mjs} +4 -4
- package/dist/{chunk-DBHSUUKU.mjs → chunk-FOUSI6JD.mjs} +1 -1
- package/dist/{chunk-KPTY7UYQ.mjs → chunk-GR7PKEKD.mjs} +1 -1
- package/dist/{chunk-RRKM4MKB.mjs → chunk-HLWGFBIF.mjs} +3 -3
- package/dist/chunk-HMKJGVXA.mjs +35 -0
- package/dist/{chunk-U6DEBYU5.mjs → chunk-IFGZUJFH.mjs} +3 -3
- package/dist/{chunk-2VIDP72N.mjs → chunk-K3V6OTVB.mjs} +1 -1
- package/dist/{chunk-K7TKID3V.mjs → chunk-K4YFTUMC.mjs} +3 -3
- package/dist/{chunk-NGEN2EES.mjs → chunk-MQAK2W6L.mjs} +14 -22
- package/dist/{chunk-CM2DG4MR.mjs → chunk-MSS3CD6F.mjs} +4 -4
- package/dist/{chunk-TETMEKZE.mjs → chunk-NQYS6RPX.mjs} +8 -5
- package/dist/{chunk-62BBSSUF.mjs → chunk-P5KC3RTG.mjs} +1 -1
- package/dist/{chunk-K3QX2M26.mjs → chunk-PPKCGCZ3.mjs} +5 -5
- package/dist/{chunk-ITG4JQM3.mjs → chunk-QEE3EQ3N.mjs} +2 -2
- package/dist/{chunk-URIH43IJ.mjs → chunk-RLPPRIJ7.mjs} +20 -34
- package/dist/{chunk-XCIG6HT2.mjs → chunk-S433IOQE.mjs} +2 -2
- package/dist/{chunk-IGU223UM.mjs → chunk-SWUZKVYO.mjs} +1 -1
- package/dist/{chunk-MP7GLMIR.mjs → chunk-T4KMKHTI.mjs} +55 -23
- package/dist/{chunk-2QOHHBJC.mjs → chunk-UBTP4NPP.mjs} +5 -21
- package/dist/{chunk-TMH263OK.mjs → chunk-UEA2VYGW.mjs} +3 -3
- package/dist/chunk-VISIOH33.mjs +37 -0
- package/dist/{chunk-SZEKQAOY.mjs → chunk-VSKBODEY.mjs} +1 -1
- package/dist/{chunk-FTTI6T5Q.mjs → chunk-W422TEH2.mjs} +3 -3
- package/dist/{chunk-WIPEDNSD.mjs → chunk-WD5LBXPR.mjs} +4 -4
- package/dist/chunk-WFNGSYS4.mjs +111 -0
- package/dist/chunk-WR6DCNAE.mjs +65 -0
- package/dist/{chunk-ERWJPVX7.mjs → chunk-XKBB2UZU.mjs} +2 -2
- package/dist/{chunk-CBIZLRYH.mjs → chunk-Y5TPAKOS.mjs} +14 -17
- package/dist/{chunk-AZV7KNJI.mjs → chunk-YKWIMVGU.mjs} +2 -2
- package/dist/{chunk-ZKDKKQCE.mjs → chunk-YOXSXHDE.mjs} +4 -4
- package/dist/{chunk-PGQ6FMXS.mjs → chunk-ZO5BRTCW.mjs} +2 -2
- package/dist/{chunk-KSSVIFYR.mjs → chunk-ZQGCQ7SA.mjs} +14 -34
- package/dist/{chunk-ZTPYUU5C.mjs → chunk-ZRUUUVOO.mjs} +3 -3
- package/dist/fonts.mjs +0 -2
- package/dist/{index-CY34hxPN.d.ts → index-CinAt5Uo.d.mts} +3 -3
- package/dist/{index-CY34hxPN.d.mts → index-CinAt5Uo.d.ts} +3 -3
- package/dist/index.d.mts +69 -19
- package/dist/index.d.ts +69 -19
- package/dist/index.js +1023 -839
- package/dist/index.mjs +76 -70
- package/package.json +15 -12
- package/src/components/Accordion/Accordion.tsx +12 -18
- package/src/components/AppHeader/AppHeader.tsx +33 -10
- package/src/components/Checkbox/Checkbox.tsx +3 -0
- package/src/components/ConfirmDialog/ConfirmDialog.tsx +7 -21
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +5 -2
- package/src/components/Image/Image.tsx +50 -0
- package/src/components/Image/index.ts +2 -0
- package/src/components/ImageUpload/ImageUpload.tsx +34 -26
- package/src/components/{ListGroup/ListGroup.tsx → ItemGroup/ItemGroup.tsx} +15 -29
- package/src/components/ItemGroup/index.ts +2 -0
- package/src/components/ListGroup/index.tsx +20 -0
- package/src/components/ListItem/ListItem.tsx +3 -0
- package/src/components/MenuGroup/index.tsx +20 -0
- package/src/components/MenuItem/MenuItem.tsx +3 -0
- package/src/components/NumberStepper/NumberStepper.tsx +4 -0
- package/src/components/Pressable/Pressable.tsx +0 -24
- package/src/components/ScreenContainer/ScreenContainer.tsx +94 -0
- package/src/components/ScreenContainer/index.ts +2 -0
- package/src/components/Select/Select.tsx +25 -30
- package/src/components/SelectableGrid/SelectableGrid.tsx +51 -20
- package/src/components/Separator/Separator.tsx +35 -2
- package/src/components/Sheet/Sheet.tsx +3 -21
- package/src/components/Sheet/index.ts +2 -2
- package/src/components/Slider/Slider.tsx +3 -0
- package/src/components/Switch/Switch.tsx +3 -1
- package/src/components/Tabs/Tabs.tsx +9 -9
- package/src/components/Tabs/index.ts +1 -1
- package/src/components/Text/Text.tsx +7 -0
- package/src/components/VirtualizedList/VirtualizedList.tsx +154 -0
- package/src/components/VirtualizedList/index.ts +2 -0
- package/src/hooks/useConfirmDialog.ts +2 -11
- package/src/hooks/useSheetModal.ts +40 -0
- package/src/index.ts +5 -1
- package/src/theme/colors.ts +19 -57
- package/src/tokens.ts +21 -7
- package/src/utils/curatedIcons.ts +9 -18
- package/src/utils/haptics.ts +10 -21
- package/src/utils/icons.ts +7 -14
- package/dist/ListGroup.d.mts +0 -34
- package/dist/ListGroup.d.ts +0 -34
- package/dist/ListGroup.mjs +0 -5
- package/dist/MenuGroup.d.mts +0 -34
- package/dist/MenuGroup.d.ts +0 -34
- package/dist/MenuGroup.js +0 -106
- package/dist/MenuGroup.mjs +0 -5
- package/dist/chunk-ARONDO7M.mjs +0 -40
- package/dist/chunk-EW2FIDSM.mjs +0 -29
- package/dist/chunk-S2VGME7X.mjs +0 -82
- package/dist/chunk-Y6FXYEAI.mjs +0 -8
- package/src/components/ListGroup/index.ts +0 -1
- package/src/components/MenuGroup/MenuGroup.tsx +0 -145
- package/src/components/MenuGroup/index.ts +0 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ViewStyle } from 'react-native';
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { ImageSourcePropType, ViewStyle } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface SelectableGridItem<T extends string | number = string> {
|
|
5
5
|
value: T;
|
|
6
6
|
label?: string;
|
|
7
7
|
iconName?: string;
|
|
8
|
-
icon?:
|
|
8
|
+
icon?: React__default.ReactNode;
|
|
9
|
+
imageUrl?: ImageSourcePropType;
|
|
9
10
|
disabled?: boolean;
|
|
10
11
|
}
|
|
11
12
|
interface SelectableGridProps<T extends string | number = string> {
|
|
@@ -18,6 +19,6 @@ interface SelectableGridProps<T extends string | number = string> {
|
|
|
18
19
|
orientation?: 'grid' | 'horizontal';
|
|
19
20
|
style?: ViewStyle;
|
|
20
21
|
}
|
|
21
|
-
declare function SelectableGrid<T extends string | number = string>({ items, value, onChange, multiple, numColumns, gap, orientation, style, }: SelectableGridProps<T>):
|
|
22
|
+
declare function SelectableGrid<T extends string | number = string>({ items, value, onChange, multiple, numColumns, gap, orientation, style, }: SelectableGridProps<T>): React__default.JSX.Element;
|
|
22
23
|
|
|
23
24
|
export { SelectableGrid, type SelectableGridItem, type SelectableGridProps };
|
package/dist/SelectableGrid.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ViewStyle } from 'react-native';
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { ImageSourcePropType, ViewStyle } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface SelectableGridItem<T extends string | number = string> {
|
|
5
5
|
value: T;
|
|
6
6
|
label?: string;
|
|
7
7
|
iconName?: string;
|
|
8
|
-
icon?:
|
|
8
|
+
icon?: React__default.ReactNode;
|
|
9
|
+
imageUrl?: ImageSourcePropType;
|
|
9
10
|
disabled?: boolean;
|
|
10
11
|
}
|
|
11
12
|
interface SelectableGridProps<T extends string | number = string> {
|
|
@@ -18,6 +19,6 @@ interface SelectableGridProps<T extends string | number = string> {
|
|
|
18
19
|
orientation?: 'grid' | 'horizontal';
|
|
19
20
|
style?: ViewStyle;
|
|
20
21
|
}
|
|
21
|
-
declare function SelectableGrid<T extends string | number = string>({ items, value, onChange, multiple, numColumns, gap, orientation, style, }: SelectableGridProps<T>):
|
|
22
|
+
declare function SelectableGrid<T extends string | number = string>({ items, value, onChange, multiple, numColumns, gap, orientation, style, }: SelectableGridProps<T>): React__default.JSX.Element;
|
|
22
23
|
|
|
23
24
|
export { SelectableGrid, type SelectableGridItem, type SelectableGridProps };
|
package/dist/SelectableGrid.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React3 = require('react');
|
|
4
4
|
var reactNative = require('react-native');
|
|
5
|
+
var expoImage = require('expo-image');
|
|
5
6
|
var AntDesign = require('@expo/vector-icons/AntDesign');
|
|
6
7
|
var Entypo = require('@expo/vector-icons/Entypo');
|
|
7
8
|
var Feather = require('@expo/vector-icons/Feather');
|
|
@@ -9,10 +10,29 @@ var FontAwesome5 = require('@expo/vector-icons/FontAwesome5');
|
|
|
9
10
|
var MaterialIcons = require('@expo/vector-icons/MaterialIcons');
|
|
10
11
|
var Ionicons = require('@expo/vector-icons/Ionicons');
|
|
11
12
|
var pressto = require('pressto');
|
|
13
|
+
var Haptics = require('expo-haptics');
|
|
12
14
|
var reactNativeSizeMatters = require('react-native-size-matters');
|
|
13
15
|
|
|
14
16
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
17
|
|
|
18
|
+
function _interopNamespace(e) {
|
|
19
|
+
if (e && e.__esModule) return e;
|
|
20
|
+
var n = Object.create(null);
|
|
21
|
+
if (e) {
|
|
22
|
+
Object.keys(e).forEach(function (k) {
|
|
23
|
+
if (k !== 'default') {
|
|
24
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
25
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () { return e[k]; }
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
n.default = e;
|
|
33
|
+
return Object.freeze(n);
|
|
34
|
+
}
|
|
35
|
+
|
|
16
36
|
var React3__default = /*#__PURE__*/_interopDefault(React3);
|
|
17
37
|
var AntDesign__default = /*#__PURE__*/_interopDefault(AntDesign);
|
|
18
38
|
var Entypo__default = /*#__PURE__*/_interopDefault(Entypo);
|
|
@@ -20,6 +40,7 @@ var Feather__default = /*#__PURE__*/_interopDefault(Feather);
|
|
|
20
40
|
var FontAwesome5__default = /*#__PURE__*/_interopDefault(FontAwesome5);
|
|
21
41
|
var MaterialIcons__default = /*#__PURE__*/_interopDefault(MaterialIcons);
|
|
22
42
|
var Ionicons__default = /*#__PURE__*/_interopDefault(Ionicons);
|
|
43
|
+
var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
|
|
23
44
|
|
|
24
45
|
// src/components/SelectableGrid/SelectableGrid.tsx
|
|
25
46
|
var ThemeContext = React3.createContext(void 0);
|
|
@@ -38,23 +59,17 @@ var ALL_FAMILIES = [
|
|
|
38
59
|
{ name: "MaterialIcons", component: MaterialIcons__default.default },
|
|
39
60
|
{ name: "Ionicons", component: Ionicons__default.default }
|
|
40
61
|
];
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
try {
|
|
47
|
-
entry.glyphMap = entry.component.glyphMap;
|
|
48
|
-
} catch {
|
|
49
|
-
entry.glyphMap = {};
|
|
50
|
-
}
|
|
62
|
+
function getGlyphMap(component) {
|
|
63
|
+
try {
|
|
64
|
+
return component.glyphMap ?? {};
|
|
65
|
+
} catch {
|
|
66
|
+
return {};
|
|
51
67
|
}
|
|
52
68
|
}
|
|
53
69
|
function Icon({ name, size, color, family }) {
|
|
54
|
-
ensureGlyphCache();
|
|
55
70
|
const entry = family ? ALL_FAMILIES.find((f) => f.name === family) : ALL_FAMILIES.find((f) => {
|
|
56
|
-
const glyphMap = f.
|
|
57
|
-
return
|
|
71
|
+
const glyphMap = getGlyphMap(f.component);
|
|
72
|
+
return name in glyphMap;
|
|
58
73
|
});
|
|
59
74
|
if (!entry) return null;
|
|
60
75
|
return React3__default.default.createElement(entry.component, { name, size, color });
|
|
@@ -68,22 +83,11 @@ makePressable(0.98);
|
|
|
68
83
|
makePressable(0.97);
|
|
69
84
|
var PressableChip = makePressable(0.94);
|
|
70
85
|
makePressable(0.95);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
async function getHaptics() {
|
|
74
|
-
if (reactNative.Platform.OS === "web") return null;
|
|
75
|
-
if (!_loaded) {
|
|
76
|
-
_loaded = true;
|
|
77
|
-
try {
|
|
78
|
-
_haptics = await import('expo-haptics');
|
|
79
|
-
} catch {
|
|
80
|
-
_haptics = null;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return _haptics;
|
|
86
|
+
function maybeHaptics() {
|
|
87
|
+
return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
|
|
84
88
|
}
|
|
85
89
|
function selectionAsync() {
|
|
86
|
-
|
|
90
|
+
maybeHaptics()?.selectionAsync();
|
|
87
91
|
}
|
|
88
92
|
var isWeb = reactNative.Platform.OS === "web";
|
|
89
93
|
var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
|
|
@@ -102,8 +106,10 @@ function isSelected(value, candidate) {
|
|
|
102
106
|
}
|
|
103
107
|
function Cell({ item, selected, width, onPress }) {
|
|
104
108
|
const { colors } = useTheme();
|
|
109
|
+
const hasImage = !!item.imageUrl;
|
|
105
110
|
const iconColor = selected ? colors.primary : colors.foregroundSubtle;
|
|
106
111
|
const iconNode = item.icon ?? (item.iconName ? /* @__PURE__ */ React3__default.default.createElement(Icon, { name: item.iconName, size: ms(24), color: iconColor }) : null);
|
|
112
|
+
const imageSize = width - 4;
|
|
107
113
|
return /* @__PURE__ */ React3__default.default.createElement(
|
|
108
114
|
PressableChip,
|
|
109
115
|
{
|
|
@@ -114,27 +120,44 @@ function Cell({ item, selected, width, onPress }) {
|
|
|
114
120
|
activateOnHover: true,
|
|
115
121
|
accessibilityRole: "button",
|
|
116
122
|
accessibilityState: { selected, disabled: item.disabled },
|
|
117
|
-
accessibilityLabel: item.label ?? String(item.value)
|
|
118
|
-
style: [
|
|
119
|
-
{ width },
|
|
120
|
-
styles.cell,
|
|
121
|
-
{
|
|
122
|
-
backgroundColor: selected ? colors.primary + "14" : colors.surface,
|
|
123
|
-
borderColor: selected ? colors.primary : "transparent"
|
|
124
|
-
},
|
|
125
|
-
item.disabled && styles.cellDisabled
|
|
126
|
-
]
|
|
123
|
+
accessibilityLabel: item.label ?? String(item.value)
|
|
127
124
|
},
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
reactNative.Text,
|
|
125
|
+
/* @__PURE__ */ React3__default.default.createElement(
|
|
126
|
+
reactNative.View,
|
|
131
127
|
{
|
|
132
|
-
style: [
|
|
133
|
-
|
|
134
|
-
|
|
128
|
+
style: [
|
|
129
|
+
{ width },
|
|
130
|
+
styles.cell,
|
|
131
|
+
hasImage && styles.cellImage,
|
|
132
|
+
{
|
|
133
|
+
borderColor: selected ? colors.primary : "transparent"
|
|
134
|
+
},
|
|
135
|
+
item.disabled && styles.cellDisabled
|
|
136
|
+
]
|
|
135
137
|
},
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
hasImage ? /* @__PURE__ */ React3__default.default.createElement(
|
|
139
|
+
expoImage.Image,
|
|
140
|
+
{
|
|
141
|
+
source: item.imageUrl,
|
|
142
|
+
style: { width: imageSize, height: imageSize },
|
|
143
|
+
contentFit: "cover"
|
|
144
|
+
}
|
|
145
|
+
) : null,
|
|
146
|
+
iconNode && !hasImage ? iconNode : null,
|
|
147
|
+
item.label ? /* @__PURE__ */ React3__default.default.createElement(
|
|
148
|
+
reactNative.Text,
|
|
149
|
+
{
|
|
150
|
+
style: [
|
|
151
|
+
styles.label,
|
|
152
|
+
hasImage && styles.labelImage,
|
|
153
|
+
{ color: selected ? colors.primary : colors.foreground }
|
|
154
|
+
],
|
|
155
|
+
numberOfLines: 2,
|
|
156
|
+
allowFontScaling: true
|
|
157
|
+
},
|
|
158
|
+
item.label
|
|
159
|
+
) : null
|
|
160
|
+
)
|
|
138
161
|
);
|
|
139
162
|
}
|
|
140
163
|
function SelectableGrid({
|
|
@@ -214,6 +237,13 @@ var styles = reactNative.StyleSheet.create({
|
|
|
214
237
|
paddingHorizontal: s(8),
|
|
215
238
|
paddingVertical: vs(10)
|
|
216
239
|
},
|
|
240
|
+
cellImage: {
|
|
241
|
+
padding: 0,
|
|
242
|
+
gap: 0,
|
|
243
|
+
overflow: "hidden",
|
|
244
|
+
alignItems: "stretch",
|
|
245
|
+
justifyContent: "flex-start"
|
|
246
|
+
},
|
|
217
247
|
cellDisabled: {
|
|
218
248
|
opacity: 0.4
|
|
219
249
|
},
|
|
@@ -222,6 +252,11 @@ var styles = reactNative.StyleSheet.create({
|
|
|
222
252
|
fontSize: ms(11),
|
|
223
253
|
lineHeight: mvs(14),
|
|
224
254
|
textAlign: "center"
|
|
255
|
+
},
|
|
256
|
+
labelImage: {
|
|
257
|
+
paddingHorizontal: s(6),
|
|
258
|
+
paddingBottom: vs(6),
|
|
259
|
+
paddingTop: vs(3)
|
|
225
260
|
}
|
|
226
261
|
});
|
|
227
262
|
|
package/dist/SelectableGrid.mjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export { SelectableGrid } from './chunk-
|
|
1
|
+
export { SelectableGrid } from './chunk-T4KMKHTI.mjs';
|
|
2
2
|
import './chunk-IFYMBOEN.mjs';
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
3
|
+
import './chunk-CTUFFKGS.mjs';
|
|
4
|
+
import './chunk-DYYPDQA2.mjs';
|
|
5
|
+
import './chunk-24JTXQ2M.mjs';
|
|
6
|
+
import './chunk-ZQGCQ7SA.mjs';
|
|
7
7
|
import './chunk-2CE3TQVY.mjs';
|
|
8
|
-
import './chunk-Y6FXYEAI.mjs';
|
package/dist/Separator.d.mts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { ViewStyle } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface SeparatorProps {
|
|
5
5
|
orientation?: 'horizontal' | 'vertical';
|
|
6
|
+
/** Label shown in the center of a horizontal separator — renders as "── label ──". */
|
|
7
|
+
label?: string;
|
|
6
8
|
style?: ViewStyle;
|
|
7
9
|
}
|
|
8
|
-
declare function Separator({ orientation, style }: SeparatorProps):
|
|
10
|
+
declare function Separator({ orientation, label, style }: SeparatorProps): React__default.JSX.Element;
|
|
9
11
|
|
|
10
12
|
export { Separator, type SeparatorProps };
|
package/dist/Separator.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { ViewStyle } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface SeparatorProps {
|
|
5
5
|
orientation?: 'horizontal' | 'vertical';
|
|
6
|
+
/** Label shown in the center of a horizontal separator — renders as "── label ──". */
|
|
7
|
+
label?: string;
|
|
6
8
|
style?: ViewStyle;
|
|
7
9
|
}
|
|
8
|
-
declare function Separator({ orientation, style }: SeparatorProps):
|
|
10
|
+
declare function Separator({ orientation, label, style }: SeparatorProps): React__default.JSX.Element;
|
|
9
11
|
|
|
10
12
|
export { Separator, type SeparatorProps };
|
package/dist/Separator.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React2 = require('react');
|
|
4
4
|
var reactNative = require('react-native');
|
|
5
|
+
var reactNativeSizeMatters = require('react-native-size-matters');
|
|
5
6
|
|
|
6
7
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
8
|
|
|
@@ -16,10 +17,22 @@ function useTheme() {
|
|
|
16
17
|
}
|
|
17
18
|
return context;
|
|
18
19
|
}
|
|
20
|
+
var isWeb = reactNative.Platform.OS === "web";
|
|
21
|
+
var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
|
|
19
22
|
|
|
20
23
|
// src/components/Separator/Separator.tsx
|
|
21
|
-
function Separator({ orientation = "horizontal", style }) {
|
|
24
|
+
function Separator({ orientation = "horizontal", label, style }) {
|
|
22
25
|
const { colors } = useTheme();
|
|
26
|
+
if (label && orientation !== "vertical") {
|
|
27
|
+
return /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.row, style], accessibilityRole: "none" }, /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.line, { backgroundColor: colors.separator }] }), /* @__PURE__ */ React2__default.default.createElement(
|
|
28
|
+
reactNative.Text,
|
|
29
|
+
{
|
|
30
|
+
style: [styles.label, { color: colors.foregroundMuted }],
|
|
31
|
+
allowFontScaling: true
|
|
32
|
+
},
|
|
33
|
+
label
|
|
34
|
+
), /* @__PURE__ */ React2__default.default.createElement(reactNative.View, { style: [styles.line, { backgroundColor: colors.separator }] }));
|
|
35
|
+
}
|
|
23
36
|
return /* @__PURE__ */ React2__default.default.createElement(
|
|
24
37
|
reactNative.View,
|
|
25
38
|
{
|
|
@@ -39,6 +52,21 @@ var styles = reactNative.StyleSheet.create({
|
|
|
39
52
|
vertical: {
|
|
40
53
|
width: 1,
|
|
41
54
|
height: "100%"
|
|
55
|
+
},
|
|
56
|
+
row: {
|
|
57
|
+
flexDirection: "row",
|
|
58
|
+
alignItems: "center",
|
|
59
|
+
gap: s(12)
|
|
60
|
+
},
|
|
61
|
+
line: {
|
|
62
|
+
flex: 1,
|
|
63
|
+
height: 1
|
|
64
|
+
},
|
|
65
|
+
label: {
|
|
66
|
+
fontFamily: "Sohne-Medium",
|
|
67
|
+
fontSize: 13,
|
|
68
|
+
letterSpacing: 0.32,
|
|
69
|
+
textTransform: "uppercase"
|
|
42
70
|
}
|
|
43
71
|
});
|
|
44
72
|
|
package/dist/Separator.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Separator } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { Separator } from './chunk-BVJAYPAD.mjs';
|
|
2
|
+
import './chunk-ZQGCQ7SA.mjs';
|
|
3
|
+
import './chunk-2CE3TQVY.mjs';
|
package/dist/Sheet.d.mts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { ViewStyle } from 'react-native';
|
|
3
3
|
export { BottomSheetModalProvider, BottomSheetTextInput as SheetTextInput } from '@gorhom/bottom-sheet';
|
|
4
4
|
|
|
5
5
|
interface SheetHeaderProps {
|
|
6
|
-
children:
|
|
6
|
+
children: React__default.ReactNode;
|
|
7
7
|
style?: ViewStyle;
|
|
8
8
|
}
|
|
9
9
|
interface SheetContentProps {
|
|
10
|
-
children:
|
|
10
|
+
children: React__default.ReactNode;
|
|
11
11
|
style?: ViewStyle;
|
|
12
12
|
}
|
|
13
13
|
interface SheetFooterProps {
|
|
14
|
-
children:
|
|
14
|
+
children: React__default.ReactNode;
|
|
15
15
|
style?: ViewStyle;
|
|
16
16
|
}
|
|
17
17
|
interface SheetProps {
|
|
@@ -20,7 +20,7 @@ interface SheetProps {
|
|
|
20
20
|
title?: string;
|
|
21
21
|
subtitle?: string;
|
|
22
22
|
showCloseButton?: boolean;
|
|
23
|
-
children?:
|
|
23
|
+
children?: React__default.ReactNode;
|
|
24
24
|
style?: ViewStyle;
|
|
25
25
|
contentStyle?: ViewStyle;
|
|
26
26
|
/** Render children inside BottomSheetScrollView instead of BottomSheetView. */
|
|
@@ -31,21 +31,21 @@ interface SheetProps {
|
|
|
31
31
|
keyboardBlurBehavior?: 'none' | 'restore';
|
|
32
32
|
enableBlurKeyboardOnGesture?: boolean;
|
|
33
33
|
android_keyboardInputMode?: 'adjustPan' | 'adjustResize';
|
|
34
|
-
footer?:
|
|
34
|
+
footer?: React__default.ReactNode;
|
|
35
35
|
/**
|
|
36
36
|
* Array of snap points (e.g., ['50%', '85%'] or [200, 500]).
|
|
37
37
|
* When provided, disables enableDynamicSizing.
|
|
38
38
|
*/
|
|
39
39
|
snapPoints?: (string | number)[];
|
|
40
40
|
}
|
|
41
|
-
declare function SheetHeader({ children, style }: SheetHeaderProps):
|
|
42
|
-
declare function SheetContent({ children, style }: SheetContentProps):
|
|
43
|
-
declare function SheetFooter({ children, style }: SheetFooterProps):
|
|
44
|
-
declare function Sheet({ open, onClose, title, subtitle, showCloseButton, children, style, contentStyle, scrollable, maxHeight, keyboardBehavior, keyboardBlurBehavior, enableBlurKeyboardOnGesture, android_keyboardInputMode, footer, snapPoints, }: SheetProps):
|
|
41
|
+
declare function SheetHeader({ children, style }: SheetHeaderProps): React__default.JSX.Element;
|
|
42
|
+
declare function SheetContent({ children, style }: SheetContentProps): React__default.JSX.Element;
|
|
43
|
+
declare function SheetFooter({ children, style }: SheetFooterProps): React__default.JSX.Element;
|
|
44
|
+
declare function Sheet({ open, onClose, title, subtitle, showCloseButton, children, style, contentStyle, scrollable, maxHeight, keyboardBehavior, keyboardBlurBehavior, enableBlurKeyboardOnGesture, android_keyboardInputMode, footer, snapPoints, }: SheetProps): React__default.JSX.Element;
|
|
45
45
|
declare namespace Sheet {
|
|
46
46
|
var Header: typeof SheetHeader;
|
|
47
47
|
var Content: typeof SheetContent;
|
|
48
48
|
var Footer: typeof SheetFooter;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
export { Sheet, type SheetProps };
|
|
51
|
+
export { Sheet, SheetContent, type SheetContentProps, SheetFooter, type SheetFooterProps, SheetHeader, type SheetHeaderProps, type SheetProps };
|
package/dist/Sheet.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { ViewStyle } from 'react-native';
|
|
3
3
|
export { BottomSheetModalProvider, BottomSheetTextInput as SheetTextInput } from '@gorhom/bottom-sheet';
|
|
4
4
|
|
|
5
5
|
interface SheetHeaderProps {
|
|
6
|
-
children:
|
|
6
|
+
children: React__default.ReactNode;
|
|
7
7
|
style?: ViewStyle;
|
|
8
8
|
}
|
|
9
9
|
interface SheetContentProps {
|
|
10
|
-
children:
|
|
10
|
+
children: React__default.ReactNode;
|
|
11
11
|
style?: ViewStyle;
|
|
12
12
|
}
|
|
13
13
|
interface SheetFooterProps {
|
|
14
|
-
children:
|
|
14
|
+
children: React__default.ReactNode;
|
|
15
15
|
style?: ViewStyle;
|
|
16
16
|
}
|
|
17
17
|
interface SheetProps {
|
|
@@ -20,7 +20,7 @@ interface SheetProps {
|
|
|
20
20
|
title?: string;
|
|
21
21
|
subtitle?: string;
|
|
22
22
|
showCloseButton?: boolean;
|
|
23
|
-
children?:
|
|
23
|
+
children?: React__default.ReactNode;
|
|
24
24
|
style?: ViewStyle;
|
|
25
25
|
contentStyle?: ViewStyle;
|
|
26
26
|
/** Render children inside BottomSheetScrollView instead of BottomSheetView. */
|
|
@@ -31,21 +31,21 @@ interface SheetProps {
|
|
|
31
31
|
keyboardBlurBehavior?: 'none' | 'restore';
|
|
32
32
|
enableBlurKeyboardOnGesture?: boolean;
|
|
33
33
|
android_keyboardInputMode?: 'adjustPan' | 'adjustResize';
|
|
34
|
-
footer?:
|
|
34
|
+
footer?: React__default.ReactNode;
|
|
35
35
|
/**
|
|
36
36
|
* Array of snap points (e.g., ['50%', '85%'] or [200, 500]).
|
|
37
37
|
* When provided, disables enableDynamicSizing.
|
|
38
38
|
*/
|
|
39
39
|
snapPoints?: (string | number)[];
|
|
40
40
|
}
|
|
41
|
-
declare function SheetHeader({ children, style }: SheetHeaderProps):
|
|
42
|
-
declare function SheetContent({ children, style }: SheetContentProps):
|
|
43
|
-
declare function SheetFooter({ children, style }: SheetFooterProps):
|
|
44
|
-
declare function Sheet({ open, onClose, title, subtitle, showCloseButton, children, style, contentStyle, scrollable, maxHeight, keyboardBehavior, keyboardBlurBehavior, enableBlurKeyboardOnGesture, android_keyboardInputMode, footer, snapPoints, }: SheetProps):
|
|
41
|
+
declare function SheetHeader({ children, style }: SheetHeaderProps): React__default.JSX.Element;
|
|
42
|
+
declare function SheetContent({ children, style }: SheetContentProps): React__default.JSX.Element;
|
|
43
|
+
declare function SheetFooter({ children, style }: SheetFooterProps): React__default.JSX.Element;
|
|
44
|
+
declare function Sheet({ open, onClose, title, subtitle, showCloseButton, children, style, contentStyle, scrollable, maxHeight, keyboardBehavior, keyboardBlurBehavior, enableBlurKeyboardOnGesture, android_keyboardInputMode, footer, snapPoints, }: SheetProps): React__default.JSX.Element;
|
|
45
45
|
declare namespace Sheet {
|
|
46
46
|
var Header: typeof SheetHeader;
|
|
47
47
|
var Content: typeof SheetContent;
|
|
48
48
|
var Footer: typeof SheetFooter;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
export { Sheet, type SheetProps };
|
|
51
|
+
export { Sheet, SheetContent, type SheetContentProps, SheetFooter, type SheetFooterProps, SheetHeader, type SheetHeaderProps, type SheetProps };
|
package/dist/Sheet.js
CHANGED
|
@@ -5,30 +5,33 @@ var reactNative = require('react-native');
|
|
|
5
5
|
var bottomSheet = require('@gorhom/bottom-sheet');
|
|
6
6
|
var reactNativeSafeAreaContext = require('react-native-safe-area-context');
|
|
7
7
|
var vectorIcons = require('@expo/vector-icons');
|
|
8
|
+
var Haptics = require('expo-haptics');
|
|
8
9
|
var reactNativeSizeMatters = require('react-native-size-matters');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
|
|
13
|
+
function _interopNamespace(e) {
|
|
14
|
+
if (e && e.__esModule) return e;
|
|
15
|
+
var n = Object.create(null);
|
|
16
|
+
if (e) {
|
|
17
|
+
Object.keys(e).forEach(function (k) {
|
|
18
|
+
if (k !== 'default') {
|
|
19
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
20
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () { return e[k]; }
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
n.default = e;
|
|
28
|
+
return Object.freeze(n);
|
|
29
|
+
}
|
|
30
|
+
|
|
12
31
|
var React2__default = /*#__PURE__*/_interopDefault(React2);
|
|
32
|
+
var Haptics__namespace = /*#__PURE__*/_interopNamespace(Haptics);
|
|
13
33
|
|
|
14
34
|
// src/components/Sheet/Sheet.tsx
|
|
15
|
-
var _haptics = null;
|
|
16
|
-
var _loaded = false;
|
|
17
|
-
async function getHaptics() {
|
|
18
|
-
if (reactNative.Platform.OS === "web") return null;
|
|
19
|
-
if (!_loaded) {
|
|
20
|
-
_loaded = true;
|
|
21
|
-
try {
|
|
22
|
-
_haptics = await import('expo-haptics');
|
|
23
|
-
} catch {
|
|
24
|
-
_haptics = null;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return _haptics;
|
|
28
|
-
}
|
|
29
|
-
function impactMedium() {
|
|
30
|
-
getHaptics().then((h) => h?.impactAsync(h.ImpactFeedbackStyle.Medium));
|
|
31
|
-
}
|
|
32
35
|
var ThemeContext = React2.createContext(void 0);
|
|
33
36
|
function useTheme() {
|
|
34
37
|
const context = React2.useContext(ThemeContext);
|
|
@@ -37,6 +40,44 @@ function useTheme() {
|
|
|
37
40
|
}
|
|
38
41
|
return context;
|
|
39
42
|
}
|
|
43
|
+
function maybeHaptics() {
|
|
44
|
+
return reactNative.Platform.OS === "web" ? null : Haptics__namespace;
|
|
45
|
+
}
|
|
46
|
+
function impactMedium() {
|
|
47
|
+
maybeHaptics()?.impactAsync(Haptics__namespace.ImpactFeedbackStyle.Medium);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// src/hooks/useSheetModal.ts
|
|
51
|
+
function useSheetModal(visible, onDismiss) {
|
|
52
|
+
const ref = React2.useRef(null);
|
|
53
|
+
const state = React2.useRef("idle");
|
|
54
|
+
const onDismissRef = React2.useRef(onDismiss);
|
|
55
|
+
const [tick, setTick] = React2.useState(0);
|
|
56
|
+
React2.useEffect(() => {
|
|
57
|
+
onDismissRef.current = onDismiss;
|
|
58
|
+
});
|
|
59
|
+
React2.useEffect(() => {
|
|
60
|
+
if (visible) {
|
|
61
|
+
if (state.current === "idle") {
|
|
62
|
+
state.current = "presenting";
|
|
63
|
+
impactMedium();
|
|
64
|
+
ref.current?.present();
|
|
65
|
+
state.current = "presented";
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
if (state.current === "presented" || state.current === "presenting") {
|
|
69
|
+
state.current = "dismissing";
|
|
70
|
+
ref.current?.dismiss();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}, [visible, tick]);
|
|
74
|
+
const handleDismiss = React2.useCallback(() => {
|
|
75
|
+
state.current = "idle";
|
|
76
|
+
onDismissRef.current?.();
|
|
77
|
+
setTick((t) => t + 1);
|
|
78
|
+
}, []);
|
|
79
|
+
return { ref, handleDismiss };
|
|
80
|
+
}
|
|
40
81
|
var isWeb = reactNative.Platform.OS === "web";
|
|
41
82
|
var s = isWeb ? (n) => n : reactNativeSizeMatters.scale;
|
|
42
83
|
var vs = isWeb ? (n) => n : reactNativeSizeMatters.verticalScale;
|
|
@@ -74,24 +115,8 @@ function Sheet({
|
|
|
74
115
|
}) {
|
|
75
116
|
const { colors } = useTheme();
|
|
76
117
|
const insets = reactNativeSafeAreaContext.useSafeAreaInsets();
|
|
77
|
-
const ref =
|
|
78
|
-
const wasOpened = React2.useRef(false);
|
|
79
|
-
const isPresentedRef = React2.useRef(false);
|
|
118
|
+
const { ref, handleDismiss } = useSheetModal(open, onClose);
|
|
80
119
|
const name = React2.useId();
|
|
81
|
-
const handleDismiss = React2.useCallback(() => {
|
|
82
|
-
isPresentedRef.current = false;
|
|
83
|
-
onClose?.();
|
|
84
|
-
}, [onClose]);
|
|
85
|
-
React2.useEffect(() => {
|
|
86
|
-
if (open && !isPresentedRef.current) {
|
|
87
|
-
impactMedium();
|
|
88
|
-
ref.current?.present();
|
|
89
|
-
wasOpened.current = true;
|
|
90
|
-
isPresentedRef.current = true;
|
|
91
|
-
} else if (!open && wasOpened.current && isPresentedRef.current) {
|
|
92
|
-
ref.current?.dismiss();
|
|
93
|
-
}
|
|
94
|
-
}, [open]);
|
|
95
120
|
const renderBackdrop = React2.useCallback(
|
|
96
121
|
(props) => /* @__PURE__ */ React2__default.default.createElement(
|
|
97
122
|
bottomSheet.BottomSheetBackdrop,
|
|
@@ -236,3 +261,6 @@ Object.defineProperty(exports, "SheetTextInput", {
|
|
|
236
261
|
get: function () { return bottomSheet.BottomSheetTextInput; }
|
|
237
262
|
});
|
|
238
263
|
exports.Sheet = Sheet;
|
|
264
|
+
exports.SheetContent = SheetContent;
|
|
265
|
+
exports.SheetFooter = SheetFooter;
|
|
266
|
+
exports.SheetHeader = SheetHeader;
|
package/dist/Sheet.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { BottomSheetModalProvider, Sheet, BottomSheetTextInput as SheetTextInput } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { BottomSheetModalProvider, Sheet, SheetContent, SheetFooter, SheetHeader, BottomSheetTextInput as SheetTextInput } from './chunk-UBTP4NPP.mjs';
|
|
2
|
+
import './chunk-HMKJGVXA.mjs';
|
|
3
|
+
import './chunk-CTUFFKGS.mjs';
|
|
4
|
+
import './chunk-ZQGCQ7SA.mjs';
|
|
4
5
|
import './chunk-2CE3TQVY.mjs';
|
|
5
|
-
import './chunk-Y6FXYEAI.mjs';
|
package/dist/SheetSelect.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { ViewStyle } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface SheetSelectOption {
|
|
@@ -20,6 +20,6 @@ interface SheetSelectProps {
|
|
|
20
20
|
style?: ViewStyle;
|
|
21
21
|
accessibilityLabel?: string;
|
|
22
22
|
}
|
|
23
|
-
declare function SheetSelect({ options, value, onValueChange, multiSelect, label, error, wrap, style, accessibilityLabel, }: SheetSelectProps):
|
|
23
|
+
declare function SheetSelect({ options, value, onValueChange, multiSelect, label, error, wrap, style, accessibilityLabel, }: SheetSelectProps): React__default.JSX.Element;
|
|
24
24
|
|
|
25
25
|
export { SheetSelect, type SheetSelectOption, type SheetSelectProps };
|
package/dist/SheetSelect.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { ViewStyle } from 'react-native';
|
|
3
3
|
|
|
4
4
|
interface SheetSelectOption {
|
|
@@ -20,6 +20,6 @@ interface SheetSelectProps {
|
|
|
20
20
|
style?: ViewStyle;
|
|
21
21
|
accessibilityLabel?: string;
|
|
22
22
|
}
|
|
23
|
-
declare function SheetSelect({ options, value, onValueChange, multiSelect, label, error, wrap, style, accessibilityLabel, }: SheetSelectProps):
|
|
23
|
+
declare function SheetSelect({ options, value, onValueChange, multiSelect, label, error, wrap, style, accessibilityLabel, }: SheetSelectProps): React__default.JSX.Element;
|
|
24
24
|
|
|
25
25
|
export { SheetSelect, type SheetSelectOption, type SheetSelectProps };
|