@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
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,680 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@retray-dev/ui-kit`.
|
|
4
|
+
|
|
5
|
+
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Semver bump type in brackets.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## [13.4.0] — 2026-07-01 (minor)
|
|
10
|
+
|
|
11
|
+
### Upgrade
|
|
12
|
+
```bash
|
|
13
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### What Changed
|
|
17
|
+
|
|
18
|
+
**New:**
|
|
19
|
+
- `useSheetModal` hook — shared BottomSheetModal state machine extracted from Sheet and ConfirmDialog. Exported from barrel: `import { useSheetModal } from '@retray-dev/ui-kit'`
|
|
20
|
+
|
|
21
|
+
**Changes:**
|
|
22
|
+
- Accordion: removed `useDerivedValue`, inlined `withTiming` directly in `useAnimatedStyle` — fewer worklet nodes, same behavior
|
|
23
|
+
- Sheet/ConfirmDialog: migrated to `useSheetModal` hook — removes duplicated state machine logic from both components
|
|
24
|
+
- Haptics: switched from dynamic `import()` (async, per-call) to static `import * as Haptics` at module init — synchronous, no async overhead
|
|
25
|
+
- Icon resolution: removed lazy singleton glyph cache — introspects `glyphMap` per render call (simpler, no memory leak risk)
|
|
26
|
+
- `curatedIcons.ts`: removed lazy singleton cache — pure functions only
|
|
27
|
+
- Color derivation: removed unused `withAlphaOnWhite`, `withAlphaOnDark`, `lighten`, `darken` internal helpers — replaced with `createColorPair` + `mixWithBackground`
|
|
28
|
+
- Shadow presets (lg/xl): reduced opacity and elevation for softer elevation feel — `lg` now `0.12/12/8`, `xl` now `0.18/24/16`
|
|
29
|
+
- `ErrorBoundary`: removed `onCatch` prop (minor breaking — use `onError` instead)
|
|
30
|
+
- `Select`: DRY refactor — extracted `renderPickerItems` to remove duplicated Picker.Item rendering across platforms
|
|
31
|
+
- `ListGroup`/`MenuGroup`: extracted shared `ItemGroup` internal component — `ListGroup` and `MenuGroup` are now thin wrappers with `childPropKey`
|
|
32
|
+
|
|
33
|
+
### Peer Dep Changes
|
|
34
|
+
None.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## [13.2.0] — 2026-06-30 (minor)
|
|
39
|
+
|
|
40
|
+
### Upgrade
|
|
41
|
+
```bash
|
|
42
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### What Changed
|
|
46
|
+
|
|
47
|
+
**New:**
|
|
48
|
+
- `AppHeader`: now accepts `iconName` prop for `@expo/vector-icons` icon
|
|
49
|
+
- Side padding in `AppHeader` fixed — now `s(16)` consistent with design system
|
|
50
|
+
- `AvatarGroup` demo added to example app
|
|
51
|
+
|
|
52
|
+
**Changes:**
|
|
53
|
+
- `expo-image-picker` → `react-native-image-picker` (peer dep changed)
|
|
54
|
+
- `ImageUpload` now uses `react-native-image-picker` directly (dynamic import at tap time)
|
|
55
|
+
- `ConfirmDialog` / `Sheet` state management improved — cleanup on `onDismiss`
|
|
56
|
+
- ESLint strict type checks enabled
|
|
57
|
+
- Added unit tests across multiple components
|
|
58
|
+
- Dependencies updated to latest compatible versions
|
|
59
|
+
|
|
60
|
+
### Peer Dep Changes
|
|
61
|
+
- **REMOVE** `expo-image-picker` (no longer used)
|
|
62
|
+
- **ADD** `react-native-image-picker` (>=7.0.0, optional — only for ImageUpload)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pnpm remove expo-image-picker
|
|
66
|
+
pnpm add react-native-image-picker
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## [13.0.0] — 2026-06-25 (major)
|
|
72
|
+
|
|
73
|
+
### Upgrade
|
|
74
|
+
```bash
|
|
75
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Breaking Changes
|
|
79
|
+
- **VirtualList removed** — was deprecated, not exported from barrel
|
|
80
|
+
- Accessibility labels in Spanish (es-UI mode)
|
|
81
|
+
- All UI text now in Spanish (placeholders, accessibility labels, buttons, errors)
|
|
82
|
+
|
|
83
|
+
### What Changed
|
|
84
|
+
|
|
85
|
+
**New:**
|
|
86
|
+
- Compound `Sheet` + `AvatarGroup` export structure
|
|
87
|
+
- `opencode.json` config for project
|
|
88
|
+
- All UI documentation updated
|
|
89
|
+
|
|
90
|
+
**Changes:**
|
|
91
|
+
- Accessibility: `PagerDots` improved hitSlop, labels in Spanish
|
|
92
|
+
- Demo screens modularized
|
|
93
|
+
- ESLint configuration improved
|
|
94
|
+
- Removed unused guard utilities and color transition helpers
|
|
95
|
+
- Haptic feedback / pressable components simplified
|
|
96
|
+
- `expo-image` integration for Avatar, MediaCard, ListItem, ImageUpload, ImageViewer
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## [12.2.0] — 2026-06-22 (minor)
|
|
101
|
+
|
|
102
|
+
### Upgrade
|
|
103
|
+
```bash
|
|
104
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### What Changed
|
|
108
|
+
|
|
109
|
+
**New:**
|
|
110
|
+
- `SelectableCard` + `SelectableCardGroup` components for selection UI
|
|
111
|
+
- Additional derived theme tokens
|
|
112
|
+
|
|
113
|
+
**Changes:**
|
|
114
|
+
- Theme system enhanced with more tokens
|
|
115
|
+
- Documentation improved across components
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## [12.1.0] — 2026-06-20 (minor)
|
|
120
|
+
|
|
121
|
+
### Upgrade
|
|
122
|
+
```bash
|
|
123
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### What Changed
|
|
127
|
+
|
|
128
|
+
**New:**
|
|
129
|
+
- Migration guides for v10 → v11 → v12
|
|
130
|
+
- Improved `ConfirmDialog` and `IconPicker` state management
|
|
131
|
+
|
|
132
|
+
**Changes:**
|
|
133
|
+
- Component structure cleaned up
|
|
134
|
+
- Component count corrected in README
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## [12.0.0] — 2026-06-18 (major)
|
|
139
|
+
|
|
140
|
+
### Upgrade
|
|
141
|
+
```bash
|
|
142
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Breaking Changes
|
|
146
|
+
- **`responsive` / `dialogMaxWidth` props removed** from `Sheet` and `ConfirmDialog` — previously bypassed `@gorhom/bottom-sheet` with native `Modal` + `ScrollView` on wide screens. This created two code paths. Now gorhom handles responsive natively.
|
|
147
|
+
- **`BottomSheetModal` pattern enforced** — always `present()` in handler, never `useEffect`. `useEffect` + `snapToIndex(0)` is banned.
|
|
148
|
+
- **`enableDynamicSizing` without `snapPoints`** — never use both together.
|
|
149
|
+
- **`SheetTextInput` required** inside Sheet — regular `TextInput` breaks keyboard handling.
|
|
150
|
+
|
|
151
|
+
### What Changed
|
|
152
|
+
- Sheet/ConfirmDialog migrated to strict `@gorhom/bottom-sheet` patterns
|
|
153
|
+
- `BottomSheetModalProvider` re-exported from library
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## [11.0.0] — 2026-06-15 (major)
|
|
158
|
+
|
|
159
|
+
### Upgrade
|
|
160
|
+
```bash
|
|
161
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Breaking Changes
|
|
165
|
+
- **`Stats` component added** — was previously internal
|
|
166
|
+
- **`withAlpha` and `hexToRgb`** now exported as public API utilities
|
|
167
|
+
|
|
168
|
+
### What Changed
|
|
169
|
+
|
|
170
|
+
**New:**
|
|
171
|
+
- `Stats` component for metric/stat displays
|
|
172
|
+
- `withAlpha(hex, alpha)` — converts hex to rgba string
|
|
173
|
+
- `hexToRgb(hex)` — returns `{ r, g, b }` | null
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## [10.2.0] — 2026-06-14 (minor)
|
|
178
|
+
|
|
179
|
+
### Upgrade
|
|
180
|
+
```bash
|
|
181
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### What Changed
|
|
185
|
+
|
|
186
|
+
**New:**
|
|
187
|
+
- `IconPicker` — visual icon grid picker with categories
|
|
188
|
+
- `NumberStepper` — increment/decrement numeric input
|
|
189
|
+
|
|
190
|
+
**Deps:**
|
|
191
|
+
- `expo-image-picker` added as optional peer (for IconPicker media)
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
pnpm add expo-image-picker
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## [10.1.0] — 2026-06-13 (minor)
|
|
200
|
+
|
|
201
|
+
### Upgrade
|
|
202
|
+
```bash
|
|
203
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### What Changed
|
|
207
|
+
- Documentation updates with new commands and component details
|
|
208
|
+
- `.gitignore` cleanup
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## [10.0.0] — 2026-06-12 (major)
|
|
213
|
+
|
|
214
|
+
### Upgrade
|
|
215
|
+
```bash
|
|
216
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Breaking Changes
|
|
220
|
+
- **Font system overhauled** — fonts no longer embedded in package. Now copied via **postinstall script** (`scripts/copy-fonts.js`) to consumer's `assets/fonts/sohne/`.
|
|
221
|
+
- **Consumer must define font `require()` calls** — Metro cannot resolve `require()` inside `node_modules`.
|
|
222
|
+
- **Font verification script added** — `npx @retray-dev/ui-kit verify-fonts` to validate installation.
|
|
223
|
+
|
|
224
|
+
### Migration from v9
|
|
225
|
+
|
|
226
|
+
**Before (v9):** Fonts loaded automatically at module init via internal `require()`.
|
|
227
|
+
|
|
228
|
+
**After (v10):**
|
|
229
|
+
1. Postinstall copies 28 `.otf` files to `assets/fonts/sohne/`
|
|
230
|
+
2. Define `SohneFonts` in `App.tsx` with static `require()` (see CONSUMER.md for boilerplate)
|
|
231
|
+
3. Pass to `expo-font` `useFonts()` hook before rendering UI kit components
|
|
232
|
+
4. Add `assets/fonts/sohne/` to `.gitignore` (optional)
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# After install, fonts are at:
|
|
236
|
+
assets/fonts/sohne/
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## [9.3.1] — 2026-06-11 (patch)
|
|
242
|
+
|
|
243
|
+
### Upgrade
|
|
244
|
+
```bash
|
|
245
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### What Changed
|
|
249
|
+
- Font verification script added
|
|
250
|
+
- Font path resolution fixed (avoid traversal issues)
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## [9.3.0] — 2026-06-10 (minor)
|
|
255
|
+
|
|
256
|
+
### Upgrade
|
|
257
|
+
```bash
|
|
258
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### What Changed
|
|
262
|
+
|
|
263
|
+
**New:**
|
|
264
|
+
- Jest test infrastructure (config, setup, mocks for native modules)
|
|
265
|
+
- Unit tests for existing components
|
|
266
|
+
|
|
267
|
+
**Changes:**
|
|
268
|
+
- `ListItem` enhancements
|
|
269
|
+
- `Input` component improvements
|
|
270
|
+
- Testing commands added: `pnpm test`, `pnpm test:watch`, `pnpm test:coverage`
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## [9.2.0] — 2026-06-09 (minor)
|
|
275
|
+
|
|
276
|
+
### Upgrade
|
|
277
|
+
```bash
|
|
278
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### What Changed
|
|
282
|
+
|
|
283
|
+
**New:**
|
|
284
|
+
- `SheetSelect` — sheet-based select component
|
|
285
|
+
- `ImageUpload` — image picker/upload component
|
|
286
|
+
- Consumer setup guide (CONSUMER.md)
|
|
287
|
+
|
|
288
|
+
**Changes:**
|
|
289
|
+
- `Pressable` component props updated
|
|
290
|
+
- Haptics module imports improved
|
|
291
|
+
- Toast usage updated for consistency
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## [9.0.0] — 2026-06-09 (major)
|
|
296
|
+
|
|
297
|
+
### Upgrade
|
|
298
|
+
```bash
|
|
299
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Breaking Changes
|
|
303
|
+
- **`react-native-ease` required** — replaces custom Reanimated animation wrappers across Checkbox, Chip, CategoryStrip, Switch, RadioGroup, Toggle. Static `EaseView` import at module level — omitting it crashes.
|
|
304
|
+
- **`pressto` required** — replaces custom pressable components with `createAnimatedPressable`. All interactive components now use `pressto` pressables. Omitting it crashes module load.
|
|
305
|
+
- **Haptic feedback refactored** — `src/utils/haptics.ts` now uses dynamic `import()` inside function bodies (never at module init) behind `Platform.OS !== 'web'` guard.
|
|
306
|
+
- **`react-native-pulsar` fallback removed** — haptics use `expo-haptics` exclusively.
|
|
307
|
+
|
|
308
|
+
### Migration from v8
|
|
309
|
+
|
|
310
|
+
**New required peers:**
|
|
311
|
+
```bash
|
|
312
|
+
pnpm add react-native-ease pressto
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**Babel plugin (critical):**
|
|
316
|
+
```js
|
|
317
|
+
// babel.config.js — use worklets plugin, NOT reanimated plugin
|
|
318
|
+
plugins: ['react-native-worklets/plugin']
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### What Changed
|
|
322
|
+
|
|
323
|
+
**New:**
|
|
324
|
+
- `HolographicCard` — Skia-powered holographic effect (deep import: `@retray-dev/ui-kit/HolographicCard`)
|
|
325
|
+
- `ErrorBoundary` — error boundary component
|
|
326
|
+
- `PricingCard` — pricing plan card
|
|
327
|
+
- `SelectableGrid` — grid selection component
|
|
328
|
+
- `SurfacesScreen`, `ThemeScreen` for example app
|
|
329
|
+
|
|
330
|
+
**Changes:**
|
|
331
|
+
- All interactive components migrated to `pressto` pressables + `react-native-ease` animations
|
|
332
|
+
- `Pressable` component refactored (no more `bounciness` prop)
|
|
333
|
+
- `Button`, `Checkbox`, `RadioGroup`, `Select`, `Tabs`, `Toast`, `Toggle` animations rebuilt with `react-native-ease`
|
|
334
|
+
- Performance: components converted to `memo`-ized versions
|
|
335
|
+
- `@gorhom/bottom-sheet` pinned to `5.2.8` (fix for Reanimated v4 crash)
|
|
336
|
+
- Padding/separator colors standardized
|
|
337
|
+
- Safe area crash fix on Android (added `initialWindowMetrics`)
|
|
338
|
+
- Lint and TS errors fixed
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## [7.0.1] — 2026-06-02 (patch)
|
|
343
|
+
|
|
344
|
+
### Upgrade
|
|
345
|
+
```bash
|
|
346
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
### What Changed
|
|
350
|
+
- `VirtualList` component added (later removed in v13)
|
|
351
|
+
- Safe area crash fix for Android
|
|
352
|
+
- `@gorhom/bottom-sheet` downgraded to `5.2.8` (compatibility)
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## [6.1.0] — 2026-05-21 (minor)
|
|
357
|
+
|
|
358
|
+
### Upgrade
|
|
359
|
+
```bash
|
|
360
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### What Changed
|
|
364
|
+
|
|
365
|
+
**New:**
|
|
366
|
+
- `subtitle` prop on `MenuItem`
|
|
367
|
+
- `DetailRow` value type enhanced
|
|
368
|
+
|
|
369
|
+
**Changes:**
|
|
370
|
+
- Documentation updated
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## [6.0.0] — 2026-05-21 (major)
|
|
375
|
+
|
|
376
|
+
### Upgrade
|
|
377
|
+
```bash
|
|
378
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Breaking Changes
|
|
382
|
+
- **Theme system tokens restructured** — new token set with derived colors
|
|
383
|
+
- `ThemeColors` interface expanded
|
|
384
|
+
|
|
385
|
+
### What Changed
|
|
386
|
+
|
|
387
|
+
**New:**
|
|
388
|
+
- Migration guide for v5 → v6
|
|
389
|
+
- New theme tokens: `overlay`, `accent`, `accentForeground`
|
|
390
|
+
- Derived tokens: `foregroundSubtle`, `foregroundMuted`, `surface`, `surfaceStrong`, `skeleton`, `*Tint`, `*Border`, `ring`, `input`, `separator`, `overlay`, `accentResolved`, `accentForegroundResolved`
|
|
391
|
+
|
|
392
|
+
**Changes:**
|
|
393
|
+
- UI feedback improved across components
|
|
394
|
+
- Bottom sheet margins and animations enhanced
|
|
395
|
+
- Example app expanded
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## [5.4.0] — 2026-05-15 (minor)
|
|
400
|
+
|
|
401
|
+
### Upgrade
|
|
402
|
+
```bash
|
|
403
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
### What Changed
|
|
407
|
+
- `Button` icon color customization (`iconColor` prop)
|
|
408
|
+
- Theme customizer in component showcase
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## [5.3.0] — 2026-05-12 (minor)
|
|
413
|
+
|
|
414
|
+
### Upgrade
|
|
415
|
+
```bash
|
|
416
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### What Changed
|
|
420
|
+
|
|
421
|
+
**New:**
|
|
422
|
+
- `DetailRow` component
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
## [5.2.0] — 2026-05-10 (minor)
|
|
427
|
+
|
|
428
|
+
### Upgrade
|
|
429
|
+
```bash
|
|
430
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### What Changed
|
|
434
|
+
- `EXAMPLES.md` composition patterns guide
|
|
435
|
+
- Documentation and example app enhancements
|
|
436
|
+
|
|
437
|
+
---
|
|
438
|
+
|
|
439
|
+
## [5.1.0] — 2026-05-09 (minor)
|
|
440
|
+
|
|
441
|
+
### Upgrade
|
|
442
|
+
```bash
|
|
443
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
### What Changed
|
|
447
|
+
|
|
448
|
+
**New:**
|
|
449
|
+
- `ChipGroup` component
|
|
450
|
+
- `CategoryStrip` component
|
|
451
|
+
|
|
452
|
+
**Changes:**
|
|
453
|
+
- Documentation with new component categories
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
457
|
+
## [5.0.0] — 2026-05-08 (major)
|
|
458
|
+
|
|
459
|
+
### Upgrade
|
|
460
|
+
```bash
|
|
461
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### Breaking Changes
|
|
465
|
+
- **Airbnb-inspired redesign** — all components visually overhauled
|
|
466
|
+
- **`RADIUS` tokens changed** — `md=14px` (buttons), `sm=8px` (inputs), `lg=12px` (cards), `xl=16px` (sheet top corners)
|
|
467
|
+
- **Touch targets enforced** — all interactive ≥44pt minimum
|
|
468
|
+
- **Haptic pattern standardized** — `selectionAsync` on toggle, `impactLight` on button, etc.
|
|
469
|
+
- **Press scale tokens standardized** — Button 0.95, Card 0.98, ListItem 0.97, Chip 0.94
|
|
470
|
+
- **`SHADOWS` presets added** — sm/md/lg/xl cross-platform shadow system
|
|
471
|
+
- **Typography variants restructured** — 17 variants from `display-xl` through `micro-label`
|
|
472
|
+
|
|
473
|
+
### What Changed
|
|
474
|
+
- Complete visual redesign with softer shapes, generous spacing, single accent color
|
|
475
|
+
- Color system: 90% background + foreground surfaces, one primary moment
|
|
476
|
+
- `ICON_SIZES` added (HIG roles)
|
|
477
|
+
- `SPACING` 8pt grid with 4pt micro-steps
|
|
478
|
+
- Spring/timing/easing animation tokens standardized
|
|
479
|
+
- All interactive components support `iconName` prop
|
|
480
|
+
|
|
481
|
+
---
|
|
482
|
+
|
|
483
|
+
## [4.0.0] — 2026-04-27 (major)
|
|
484
|
+
|
|
485
|
+
### Upgrade
|
|
486
|
+
```bash
|
|
487
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Breaking Changes
|
|
491
|
+
- **`ConfirmDialog` and `Sheet` use `enableDynamicSizing`** — height auto-fits content, `snapPoints` no longer accepted
|
|
492
|
+
- **`AlertBanner` props enforced** — some props now required
|
|
493
|
+
- **`CurrencyInput` props enforced**
|
|
494
|
+
|
|
495
|
+
### What Changed
|
|
496
|
+
- `AlertBanner` styling updated
|
|
497
|
+
- `Input` now supports `inputWrapperStyle` prop
|
|
498
|
+
- Documentation improved
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
## [3.0.0] — 2026-04-25 (major)
|
|
503
|
+
|
|
504
|
+
### Upgrade
|
|
505
|
+
```bash
|
|
506
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
### Breaking Changes
|
|
510
|
+
- **Typography section restructured** — font families, sizes, weights reorganized
|
|
511
|
+
- **Color tokens expanded** — 12 public tokens with derived system
|
|
512
|
+
|
|
513
|
+
### What Changed
|
|
514
|
+
- Claude Design styles integrated
|
|
515
|
+
- Design system foundations established
|
|
516
|
+
|
|
517
|
+
---
|
|
518
|
+
|
|
519
|
+
## [2.8.0] — 2026-04-20 (minor)
|
|
520
|
+
|
|
521
|
+
### Upgrade
|
|
522
|
+
```bash
|
|
523
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
### What Changed
|
|
527
|
+
|
|
528
|
+
**New:**
|
|
529
|
+
- `IconButton` component (circular pressable icon, `RADIUS.full`)
|
|
530
|
+
|
|
531
|
+
---
|
|
532
|
+
|
|
533
|
+
## [2.7.0] — 2026-04-18 (minor)
|
|
534
|
+
|
|
535
|
+
### Upgrade
|
|
536
|
+
```bash
|
|
537
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
### What Changed
|
|
541
|
+
|
|
542
|
+
**New:**
|
|
543
|
+
- Design tokens: `SPACING`, `ICON_SIZES`, `RADIUS`, `SHADOWS`, `BREAKPOINTS`
|
|
544
|
+
- TypeScript types for all tokens: `Spacing`, `IconSize`, `Radius`, etc.
|
|
545
|
+
- Tokens are static `as const` objects — no provider needed
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
## [2.6.0] — 2026-04-15 (minor)
|
|
550
|
+
|
|
551
|
+
### Upgrade
|
|
552
|
+
```bash
|
|
553
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
### What Changed
|
|
557
|
+
|
|
558
|
+
**New:**
|
|
559
|
+
- Icon resolution system (`src/utils/icons.ts`) — scans 6 `@expo/vector-icons` families (Feather > AntDesign > Entypo > FontAwesome5 > MaterialIcons > Ionicons)
|
|
560
|
+
- `Icon` component — resolves icon names via glyphMap introspection, returns `null` if not found (no crash)
|
|
561
|
+
- All components with icon slots now use `Icon` internally
|
|
562
|
+
|
|
563
|
+
**Changes:**
|
|
564
|
+
- Custom scaling utilities (`src/utils/scaling.ts`) — wraps `react-native-size-matters`, web-safe identity fallback
|
|
565
|
+
- Haptic feedback utilities (`src/utils/haptics.ts`) — web-safe wrapper around `expo-haptics`
|
|
566
|
+
|
|
567
|
+
---
|
|
568
|
+
|
|
569
|
+
## [2.5.1] — 2026-04-10 (patch)
|
|
570
|
+
|
|
571
|
+
### Upgrade
|
|
572
|
+
```bash
|
|
573
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
### What Changed
|
|
577
|
+
- Documentation updated
|
|
578
|
+
- New peer dependencies added
|
|
579
|
+
|
|
580
|
+
---
|
|
581
|
+
|
|
582
|
+
## [2.5.0] — 2026-04-10 (minor)
|
|
583
|
+
|
|
584
|
+
### Upgrade
|
|
585
|
+
```bash
|
|
586
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
### What Changed
|
|
590
|
+
- Typography and component styles updated across library
|
|
591
|
+
- `Select` and `Slider` refactored with `@expo/libraries`
|
|
592
|
+
- AI Theme customizer added
|
|
593
|
+
- Theme system refactored to support core theme colors with derived palette
|
|
594
|
+
- `Switch` and `Toggle` components enhanced
|
|
595
|
+
- Custom scaling utilities added
|
|
596
|
+
|
|
597
|
+
---
|
|
598
|
+
|
|
599
|
+
## [1.8.0] — 2026-04-08 (minor)
|
|
600
|
+
|
|
601
|
+
### Upgrade
|
|
602
|
+
```bash
|
|
603
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
### What Changed
|
|
607
|
+
- `CurrencyDisplay` formatting options enhanced
|
|
608
|
+
- `CurrencyInputLarge` component added
|
|
609
|
+
- Modern banking-style UI
|
|
610
|
+
- Working conventions and task guidelines added
|
|
611
|
+
|
|
612
|
+
---
|
|
613
|
+
|
|
614
|
+
## [1.5.0] — 2026-04-01 (minor)
|
|
615
|
+
|
|
616
|
+
### Upgrade
|
|
617
|
+
```bash
|
|
618
|
+
pnpm add @retray-dev/ui-kit@latest
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
### What Changed
|
|
622
|
+
- Animation system updated — Accordion and Toast now use `react-native-reanimated`
|
|
623
|
+
- Animated press effects across components
|
|
624
|
+
- `expo-linear-gradient` added as peer dependency
|
|
625
|
+
- `touchSoundDisabled` added to interactive components
|
|
626
|
+
|
|
627
|
+
---
|
|
628
|
+
|
|
629
|
+
## [1.0.0] — 2026-03-31 (initial)
|
|
630
|
+
|
|
631
|
+
### What Changed
|
|
632
|
+
- Initial release
|
|
633
|
+
- 30+ components across 6 categories: Display, Surfaces, Form, Composition, Navigation, Overlays, Feedback, Data, Utilities
|
|
634
|
+
- Theme system with light/dark mode
|
|
635
|
+
- `@gorhom/bottom-sheet` for modals
|
|
636
|
+
- `expo-haptics` for haptic feedback
|
|
637
|
+
- Sohne font family
|
|
638
|
+
- TypeScript types for all components
|
|
639
|
+
|
|
640
|
+
### Initial Peer Dependencies
|
|
641
|
+
```bash
|
|
642
|
+
npx expo install \
|
|
643
|
+
react-native-reanimated \
|
|
644
|
+
react-native-gesture-handler \
|
|
645
|
+
react-native-safe-area-context \
|
|
646
|
+
expo-haptics \
|
|
647
|
+
expo-linear-gradient \
|
|
648
|
+
expo-image \
|
|
649
|
+
@gorhom/bottom-sheet \
|
|
650
|
+
@expo/vector-icons \
|
|
651
|
+
react-native-size-matters
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
---
|
|
655
|
+
|
|
656
|
+
## Appendix: Upgrade Paths
|
|
657
|
+
|
|
658
|
+
### v9 → v10 (font system)
|
|
659
|
+
1. Install: `npx expo install expo-font`
|
|
660
|
+
2. Postinstall copies fonts to `assets/fonts/sohne/`
|
|
661
|
+
3. Define `SohneFonts` with static `require()` in `App.tsx`
|
|
662
|
+
4. Use `useFonts(SohneFonts)` before rendering
|
|
663
|
+
|
|
664
|
+
### v8 → v9 (ease + pressto)
|
|
665
|
+
1. `pnpm add react-native-ease pressto`
|
|
666
|
+
2. Update `babel.config.js`: `react-native-worklets/plugin` (not `react-native-reanimated/plugin`)
|
|
667
|
+
3. `npx expo start --clear`
|
|
668
|
+
|
|
669
|
+
### v5 → v6 (theme tokens)
|
|
670
|
+
1. Add new tokens to your theme: `overlay`, `accent`, `accentForeground`
|
|
671
|
+
2. Derived tokens computed automatically by `deriveColors()`
|
|
672
|
+
|
|
673
|
+
### v4 → v5 (Airbnb redesign)
|
|
674
|
+
1. Update `RADIUS` values in your custom themes
|
|
675
|
+
2. Ensure all touch targets ≥44pt
|
|
676
|
+
3. Verify typography variants match new 17-variant system
|
|
677
|
+
|
|
678
|
+
### v3 → v4 (dynamic sizing)
|
|
679
|
+
1. Remove `snapPoints` from `Sheet` and `ConfirmDialog`
|
|
680
|
+
2. Replace `<TextInput />` with `<SheetTextInput />` inside Sheet children
|