Skip to content

Commit 5192e9d

Browse files
authored
Merge pull request #1402 from ant-design/5.3.2
5.3.2
2 parents 4da9dcd + 0048960 commit 5192e9d

File tree

10 files changed

+61
-10
lines changed

10 files changed

+61
-10
lines changed

CHANGELOG.en-US.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ toc: false
1414

1515
---
1616

17+
### 5.3.2
18+
`2024-12-11`
19+
- **Tooltip**
20+
- feat: Add offset settings to tooltip [#1398](https://github.com/ant-design/ant-design-mobile-rn/pull/1398)
21+
- fix: Tooltip flash style [#1391](https://github.com/ant-design/ant-design-mobile-rn/issues/1391)
22+
- feat: Slider ref
23+
- fix: new Date not adhering to ISO 8601 [#1401](https://github.com/ant-design/ant-design-mobile-rn/pull/1401)
24+
1725
### 5.3.1
1826
`2024-11-20`
1927
- **Carousel**

CHANGELOG.zh-CN.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ toc: false
1414

1515
---
1616

17+
### 5.3.2
18+
`2024-12-11`
19+
- **Tooltip**
20+
- feat: Add offset settings to tooltip [#1398](https://github.com/ant-design/ant-design-mobile-rn/pull/1398)
21+
- fix: Tooltip flash style [#1391](https://github.com/ant-design/ant-design-mobile-rn/issues/1391)
22+
- feat: Slider ref
23+
- fix: new Date not adhering to ISO 8601 [#1401](https://github.com/ant-design/ant-design-mobile-rn/pull/1401)
24+
1725
### 5.3.1
1826
`2024-11-20`
1927
- **Carousel**

components/date-picker-view/date-picker-view.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@ import { PickerViewStyle } from '../picker-view/style'
1717
import { WithThemeStyles } from '../style'
1818
import { DatePickerViewPropsType } from './PropsType'
1919
import useRenderLabel from './useRenderLabel'
20+
import dayjs from 'dayjs'
2021

2122
export interface DatePickerViewProps
2223
extends DatePickerViewPropsType,
2324
WithThemeStyles<PickerViewStyle> {}
2425

2526
const defaultProps = {
26-
minDate: new Date('2000-1-1'),
27-
maxDate: new Date('2030-1-1'),
27+
minDate: dayjs('2000-1-1').toDate(),
28+
maxDate: dayjs('2030-1-1').toDate(),
2829
mode: 'date',
2930
}
3031

components/date-picker/date-picker.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ export type DatePickerRef = any
2626
export interface DatePickerProps extends DatePickerPropsType {}
2727

2828
const defaultProps = {
29-
minDate: new Date('2000-1-1'),
30-
maxDate: new Date('2030-1-1'),
29+
minDate: dayjs('2000-1-1').toDate(),
30+
maxDate: dayjs('2030-1-1').toDate(),
3131
precision: 'day',
3232
}
3333

components/slider/PropsType.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ export type SliderMarks = {
88
}
99
export type SliderValueType = number | [number, number]
1010

11+
export interface SliderRef {
12+
onSlide: (changeX: number) => void
13+
}
14+
1115
export type BaseSliderProps<SliderValue> = {
1216
min?: number
1317
max?: number

components/slider/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Slider } from './slider'
1+
import Slider from './slider'
22

33
export type { SliderProps } from './PropsType'
44

components/slider/slider.tsx

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import getMiniDecimal from '@rc-component/mini-decimal'
22
import React, {
3+
ForwardedRef,
34
useCallback,
45
useContext,
56
useEffect,
7+
useImperativeHandle,
68
useMemo,
79
useRef,
810
useState,
@@ -18,7 +20,12 @@ import Animated, {
1820
import HapticsContext from '../provider/HapticsContext'
1921
import { useTheme } from '../style'
2022
import Marks from './marks'
21-
import { BaseSliderProps, SliderProps, SliderValueType } from './PropsType'
23+
import {
24+
BaseSliderProps,
25+
SliderProps,
26+
SliderRef,
27+
SliderValueType,
28+
} from './PropsType'
2229
import SliderStyles from './style'
2330
import Thumb from './thumb'
2431
import Ticks from './ticks'
@@ -33,8 +40,9 @@ function nearest(arr: number[], target: number) {
3340
})
3441
}
3542

36-
export function Slider<SliderValue extends SliderValueType>(
43+
function InternalSlider<SliderValue extends SliderValueType>(
3744
props: SliderProps,
45+
ref: ForwardedRef<SliderRef>,
3846
) {
3947
const {
4048
value: propsValue,
@@ -359,6 +367,15 @@ export function Slider<SliderValue extends SliderValueType>(
359367
)
360368
}
361369

370+
// ================== Actions Ref ==================
371+
const actions = React.useMemo(
372+
() => ({
373+
onSlide,
374+
}),
375+
[onSlide],
376+
)
377+
useImperativeHandle(ref, () => actions)
378+
362379
return (
363380
<GestureDetector gesture={gesture}>
364381
<View style={[ss.slider, disabled && ss.disabled, style]}>
@@ -384,3 +401,12 @@ export function Slider<SliderValue extends SliderValueType>(
384401
</GestureDetector>
385402
)
386403
}
404+
405+
const Slider = React.forwardRef<SliderRef, SliderProps>(InternalSlider) as ((
406+
props: React.PropsWithChildren<SliderProps> & React.RefAttributes<SliderRef>,
407+
) => React.ReactElement) &
408+
Pick<React.FC, 'displayName'>
409+
410+
Slider.displayName = 'Slider'
411+
412+
export default React.memo(Slider)

components/tooltip/Tooltip.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ const InternalTooltip: React.ForwardRefRenderFunction<
153153
})
154154

155155
const safeFloatingStyles = useMemo(() => {
156+
if (floatingStyles.left === 0 && floatingStyles.top === 0) {
157+
return { display: 'none' } as const
158+
}
156159
if (isNaN(floatingStyles.left) || isNaN(floatingStyles.top)) {
157160
return { display: 'none' } as const
158161
}
@@ -175,7 +178,8 @@ const InternalTooltip: React.ForwardRefRenderFunction<
175178
style={{
176179
marginTop: crossOffset.top,
177180
marginLeft: crossOffset.left,
178-
}}>
181+
}}
182+
collapsable={false}>
179183
<View
180184
ref={refs.setFloating}
181185
onLayout={update}

components/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export type {
4848
} from './radio/PropsType'
4949
export type { ResultNativeProps as ResultProps } from './result/index'
5050
export type { SearchBarProps } from './search-bar/index'
51-
export type { SliderProps } from './slider/PropsType'
51+
export type { SliderProps, SliderRef } from './slider/PropsType'
5252
export type { StepperProps } from './stepper/PropsType'
5353
export type { StepsProps } from './steps/index'
5454
export type {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ant-design/react-native",
3-
"version": "5.3.1",
3+
"version": "5.3.2",
44
"description": "基于蚂蚁金服移动设计规范的 React Native 组件库",
55
"keywords": [
66
"ant",

0 commit comments

Comments
 (0)