antd-mobile 5.39.0 → 5.40.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/2x/README.md +8 -1
- package/2x/bundle/antd-mobile.cjs.development.js +2351 -1604
- package/2x/bundle/antd-mobile.cjs.js +7 -7
- package/2x/bundle/antd-mobile.es.development.js +1385 -638
- package/2x/bundle/antd-mobile.es.js +6070 -5443
- package/2x/bundle/antd-mobile.umd.development.js +2350 -1603
- package/2x/bundle/antd-mobile.umd.js +7 -7
- package/2x/bundle/style.css +7 -4
- package/2x/cjs/components/button/button.d.ts +2 -2
- package/2x/cjs/components/button/button.js +1 -0
- package/2x/cjs/components/calendar-picker-view/calendar-picker-view.js +3 -0
- package/2x/cjs/components/date-picker/date-picker-date-utils.d.ts +1 -1
- package/2x/cjs/components/date-picker/date-picker-date-utils.js +23 -8
- package/2x/cjs/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
- package/2x/cjs/components/date-picker/date-picker-quarter-utils.js +7 -2
- package/2x/cjs/components/date-picker/date-picker-week-utils.d.ts +3 -1
- package/2x/cjs/components/date-picker/date-picker-week-utils.js +10 -3
- package/2x/cjs/components/date-picker-view/date-picker-view.d.ts +5 -3
- package/2x/cjs/components/date-picker-view/date-picker-view.js +3 -3
- package/2x/cjs/components/date-picker-view/useRenderLabel.js +2 -2
- package/2x/cjs/components/number-keyboard/number-keyboard.d.ts +1 -1
- package/2x/cjs/components/popover/wrapper.d.ts +6 -9
- package/2x/cjs/components/popover/wrapper.js +32 -6
- package/2x/cjs/components/space/space.css +4 -4
- package/2x/cjs/components/virtual-input/virtual-input.css +3 -0
- package/2x/cjs/components/virtual-input/virtual-input.js +34 -5
- package/2x/cjs/index.d.ts +1 -0
- package/2x/cjs/index.js +7 -0
- package/2x/cjs/locales/ar-SA.d.ts +1 -0
- package/2x/cjs/locales/ar-SA.js +1 -0
- package/2x/cjs/locales/base.d.ts +1 -0
- package/2x/cjs/locales/base.js +1 -0
- package/2x/cjs/locales/cnr-ME.d.ts +1 -0
- package/2x/cjs/locales/cnr-ME.js +1 -0
- package/2x/cjs/locales/da-DK.d.ts +1 -0
- package/2x/cjs/locales/de-DE.d.ts +1 -0
- package/2x/cjs/locales/de-DE.js +1 -0
- package/2x/cjs/locales/en-US.d.ts +1 -0
- package/2x/cjs/locales/es-ES.d.ts +1 -0
- package/2x/cjs/locales/fa-IR.d.ts +1 -0
- package/2x/cjs/locales/fr-FR.d.ts +1 -0
- package/2x/cjs/locales/hr-HR.d.ts +1 -0
- package/2x/cjs/locales/hr-HR.js +1 -0
- package/2x/cjs/locales/hu-HU.d.ts +1 -0
- package/2x/cjs/locales/id-ID.d.ts +1 -0
- package/2x/cjs/locales/in-ID.d.ts +1 -0
- package/2x/cjs/locales/in-ID.js +1 -0
- package/2x/cjs/locales/it-IT.d.ts +1 -0
- package/2x/cjs/locales/ja-JP.d.ts +1 -0
- package/2x/cjs/locales/kk-KZ.d.ts +1 -0
- package/2x/cjs/locales/ko-KR.d.ts +1 -0
- package/2x/cjs/locales/ms-MY.d.ts +1 -0
- package/2x/cjs/locales/ms-MY.js +1 -0
- package/2x/cjs/locales/nb-NO.d.ts +1 -0
- package/2x/cjs/locales/nl-NL.d.ts +1 -0
- package/2x/cjs/locales/pt-BR.d.ts +1 -0
- package/2x/cjs/locales/ru-RU.d.ts +1 -0
- package/2x/cjs/locales/ru-RU.js +8 -2
- package/2x/cjs/locales/sr-RS.d.ts +1 -0
- package/2x/cjs/locales/sr-RS.js +1 -0
- package/2x/cjs/locales/th-TH.d.ts +1 -0
- package/2x/cjs/locales/th-TH.js +1 -0
- package/2x/cjs/locales/tr-TR.d.ts +1 -0
- package/2x/cjs/locales/vi-VN.d.ts +1 -0
- package/2x/cjs/locales/vi-VN.js +1 -0
- package/2x/cjs/locales/zh-CN.js +1 -0
- package/2x/cjs/locales/zh-HK.d.ts +1 -0
- package/2x/cjs/locales/zh-TW.d.ts +1 -0
- package/2x/cjs/utils/render-to-body.d.ts +1 -1
- package/2x/cjs/utils/render-to-body.js +2 -9
- package/2x/cjs/utils/render.d.ts +1 -9
- package/2x/cjs/utils/render.js +10 -68
- package/2x/cjs/utils/unstable-render.d.ts +9 -0
- package/2x/cjs/utils/unstable-render.js +37 -0
- package/2x/es/components/button/button.d.ts +2 -2
- package/2x/es/components/button/button.js +1 -0
- package/2x/es/components/calendar-picker-view/calendar-picker-view.js +3 -0
- package/2x/es/components/date-picker/date-picker-date-utils.d.ts +1 -1
- package/2x/es/components/date-picker/date-picker-date-utils.js +23 -8
- package/2x/es/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
- package/2x/es/components/date-picker/date-picker-quarter-utils.js +7 -2
- package/2x/es/components/date-picker/date-picker-week-utils.d.ts +3 -1
- package/2x/es/components/date-picker/date-picker-week-utils.js +10 -3
- package/2x/es/components/date-picker-view/date-picker-view.d.ts +5 -3
- package/2x/es/components/date-picker-view/date-picker-view.js +4 -4
- package/2x/es/components/date-picker-view/useRenderLabel.js +2 -2
- package/2x/es/components/number-keyboard/number-keyboard.d.ts +1 -1
- package/2x/es/components/popover/wrapper.d.ts +6 -9
- package/2x/es/components/popover/wrapper.js +30 -5
- package/2x/es/components/space/space.css +4 -4
- package/2x/es/components/virtual-input/virtual-input.css +3 -0
- package/2x/es/components/virtual-input/virtual-input.js +34 -5
- package/2x/es/index.d.ts +1 -0
- package/2x/es/index.js +3 -1
- package/2x/es/locales/ar-SA.d.ts +1 -0
- package/2x/es/locales/ar-SA.js +1 -0
- package/2x/es/locales/base.d.ts +1 -0
- package/2x/es/locales/base.js +1 -0
- package/2x/es/locales/cnr-ME.d.ts +1 -0
- package/2x/es/locales/cnr-ME.js +1 -0
- package/2x/es/locales/da-DK.d.ts +1 -0
- package/2x/es/locales/de-DE.d.ts +1 -0
- package/2x/es/locales/de-DE.js +1 -0
- package/2x/es/locales/en-US.d.ts +1 -0
- package/2x/es/locales/es-ES.d.ts +1 -0
- package/2x/es/locales/fa-IR.d.ts +1 -0
- package/2x/es/locales/fr-FR.d.ts +1 -0
- package/2x/es/locales/hr-HR.d.ts +1 -0
- package/2x/es/locales/hr-HR.js +1 -0
- package/2x/es/locales/hu-HU.d.ts +1 -0
- package/2x/es/locales/id-ID.d.ts +1 -0
- package/2x/es/locales/in-ID.d.ts +1 -0
- package/2x/es/locales/in-ID.js +1 -0
- package/2x/es/locales/it-IT.d.ts +1 -0
- package/2x/es/locales/ja-JP.d.ts +1 -0
- package/2x/es/locales/kk-KZ.d.ts +1 -0
- package/2x/es/locales/ko-KR.d.ts +1 -0
- package/2x/es/locales/ms-MY.d.ts +1 -0
- package/2x/es/locales/ms-MY.js +1 -0
- package/2x/es/locales/nb-NO.d.ts +1 -0
- package/2x/es/locales/nl-NL.d.ts +1 -0
- package/2x/es/locales/pt-BR.d.ts +1 -0
- package/2x/es/locales/ru-RU.d.ts +1 -0
- package/2x/es/locales/ru-RU.js +8 -2
- package/2x/es/locales/sr-RS.d.ts +1 -0
- package/2x/es/locales/sr-RS.js +1 -0
- package/2x/es/locales/th-TH.d.ts +1 -0
- package/2x/es/locales/th-TH.js +1 -0
- package/2x/es/locales/tr-TR.d.ts +1 -0
- package/2x/es/locales/vi-VN.d.ts +1 -0
- package/2x/es/locales/vi-VN.js +1 -0
- package/2x/es/locales/zh-CN.js +1 -0
- package/2x/es/locales/zh-HK.d.ts +1 -0
- package/2x/es/locales/zh-TW.d.ts +1 -0
- package/2x/es/utils/render-to-body.d.ts +1 -1
- package/2x/es/utils/render-to-body.js +2 -9
- package/2x/es/utils/render.d.ts +1 -9
- package/2x/es/utils/render.js +1 -65
- package/2x/es/utils/unstable-render.d.ts +9 -0
- package/2x/es/utils/unstable-render.js +28 -0
- package/2x/package.json +2 -2
- package/README.md +8 -1
- package/bundle/antd-mobile.cjs.development.js +2351 -1604
- package/bundle/antd-mobile.cjs.js +7 -7
- package/bundle/antd-mobile.compatible.umd.js +1 -1
- package/bundle/antd-mobile.es.development.js +1385 -638
- package/bundle/antd-mobile.es.js +6070 -5443
- package/bundle/antd-mobile.umd.development.js +2350 -1603
- package/bundle/antd-mobile.umd.js +7 -7
- package/bundle/style.css +1 -1
- package/cjs/components/button/button.d.ts +2 -2
- package/cjs/components/button/button.js +1 -0
- package/cjs/components/calendar-picker-view/calendar-picker-view.js +3 -0
- package/cjs/components/date-picker/date-picker-date-utils.d.ts +1 -1
- package/cjs/components/date-picker/date-picker-date-utils.js +23 -8
- package/cjs/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
- package/cjs/components/date-picker/date-picker-quarter-utils.js +7 -2
- package/cjs/components/date-picker/date-picker-week-utils.d.ts +3 -1
- package/cjs/components/date-picker/date-picker-week-utils.js +10 -3
- package/cjs/components/date-picker-view/date-picker-view.d.ts +5 -3
- package/cjs/components/date-picker-view/date-picker-view.js +3 -3
- package/cjs/components/date-picker-view/useRenderLabel.js +2 -2
- package/cjs/components/number-keyboard/number-keyboard.d.ts +1 -1
- package/cjs/components/popover/wrapper.d.ts +6 -9
- package/cjs/components/popover/wrapper.js +32 -6
- package/cjs/components/space/space.css +3 -3
- package/cjs/components/virtual-input/virtual-input.css +3 -0
- package/cjs/components/virtual-input/virtual-input.js +34 -5
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +7 -0
- package/cjs/locales/ar-SA.d.ts +1 -0
- package/cjs/locales/ar-SA.js +1 -0
- package/cjs/locales/base.d.ts +1 -0
- package/cjs/locales/base.js +1 -0
- package/cjs/locales/cnr-ME.d.ts +1 -0
- package/cjs/locales/cnr-ME.js +1 -0
- package/cjs/locales/da-DK.d.ts +1 -0
- package/cjs/locales/de-DE.d.ts +1 -0
- package/cjs/locales/de-DE.js +1 -0
- package/cjs/locales/en-US.d.ts +1 -0
- package/cjs/locales/es-ES.d.ts +1 -0
- package/cjs/locales/fa-IR.d.ts +1 -0
- package/cjs/locales/fr-FR.d.ts +1 -0
- package/cjs/locales/hr-HR.d.ts +1 -0
- package/cjs/locales/hr-HR.js +1 -0
- package/cjs/locales/hu-HU.d.ts +1 -0
- package/cjs/locales/id-ID.d.ts +1 -0
- package/cjs/locales/in-ID.d.ts +1 -0
- package/cjs/locales/in-ID.js +1 -0
- package/cjs/locales/it-IT.d.ts +1 -0
- package/cjs/locales/ja-JP.d.ts +1 -0
- package/cjs/locales/kk-KZ.d.ts +1 -0
- package/cjs/locales/ko-KR.d.ts +1 -0
- package/cjs/locales/ms-MY.d.ts +1 -0
- package/cjs/locales/ms-MY.js +1 -0
- package/cjs/locales/nb-NO.d.ts +1 -0
- package/cjs/locales/nl-NL.d.ts +1 -0
- package/cjs/locales/pt-BR.d.ts +1 -0
- package/cjs/locales/ru-RU.d.ts +1 -0
- package/cjs/locales/ru-RU.js +8 -2
- package/cjs/locales/sr-RS.d.ts +1 -0
- package/cjs/locales/sr-RS.js +1 -0
- package/cjs/locales/th-TH.d.ts +1 -0
- package/cjs/locales/th-TH.js +1 -0
- package/cjs/locales/tr-TR.d.ts +1 -0
- package/cjs/locales/vi-VN.d.ts +1 -0
- package/cjs/locales/vi-VN.js +1 -0
- package/cjs/locales/zh-CN.js +1 -0
- package/cjs/locales/zh-HK.d.ts +1 -0
- package/cjs/locales/zh-TW.d.ts +1 -0
- package/cjs/utils/render-to-body.d.ts +1 -1
- package/cjs/utils/render-to-body.js +2 -9
- package/cjs/utils/render.d.ts +1 -9
- package/cjs/utils/render.js +10 -68
- package/cjs/utils/unstable-render.d.ts +9 -0
- package/cjs/utils/unstable-render.js +37 -0
- package/es/components/button/button.d.ts +2 -2
- package/es/components/button/button.js +1 -0
- package/es/components/calendar-picker-view/calendar-picker-view.js +3 -0
- package/es/components/date-picker/date-picker-date-utils.d.ts +1 -1
- package/es/components/date-picker/date-picker-date-utils.js +23 -8
- package/es/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
- package/es/components/date-picker/date-picker-quarter-utils.js +7 -2
- package/es/components/date-picker/date-picker-week-utils.d.ts +3 -1
- package/es/components/date-picker/date-picker-week-utils.js +10 -3
- package/es/components/date-picker-view/date-picker-view.d.ts +5 -3
- package/es/components/date-picker-view/date-picker-view.js +4 -4
- package/es/components/date-picker-view/useRenderLabel.js +2 -2
- package/es/components/number-keyboard/number-keyboard.d.ts +1 -1
- package/es/components/popover/wrapper.d.ts +6 -9
- package/es/components/popover/wrapper.js +30 -5
- package/es/components/space/space.css +3 -3
- package/es/components/virtual-input/virtual-input.css +3 -0
- package/es/components/virtual-input/virtual-input.js +34 -5
- package/es/index.d.ts +1 -0
- package/es/index.js +3 -1
- package/es/locales/ar-SA.d.ts +1 -0
- package/es/locales/ar-SA.js +1 -0
- package/es/locales/base.d.ts +1 -0
- package/es/locales/base.js +1 -0
- package/es/locales/cnr-ME.d.ts +1 -0
- package/es/locales/cnr-ME.js +1 -0
- package/es/locales/da-DK.d.ts +1 -0
- package/es/locales/de-DE.d.ts +1 -0
- package/es/locales/de-DE.js +1 -0
- package/es/locales/en-US.d.ts +1 -0
- package/es/locales/es-ES.d.ts +1 -0
- package/es/locales/fa-IR.d.ts +1 -0
- package/es/locales/fr-FR.d.ts +1 -0
- package/es/locales/hr-HR.d.ts +1 -0
- package/es/locales/hr-HR.js +1 -0
- package/es/locales/hu-HU.d.ts +1 -0
- package/es/locales/id-ID.d.ts +1 -0
- package/es/locales/in-ID.d.ts +1 -0
- package/es/locales/in-ID.js +1 -0
- package/es/locales/it-IT.d.ts +1 -0
- package/es/locales/ja-JP.d.ts +1 -0
- package/es/locales/kk-KZ.d.ts +1 -0
- package/es/locales/ko-KR.d.ts +1 -0
- package/es/locales/ms-MY.d.ts +1 -0
- package/es/locales/ms-MY.js +1 -0
- package/es/locales/nb-NO.d.ts +1 -0
- package/es/locales/nl-NL.d.ts +1 -0
- package/es/locales/pt-BR.d.ts +1 -0
- package/es/locales/ru-RU.d.ts +1 -0
- package/es/locales/ru-RU.js +8 -2
- package/es/locales/sr-RS.d.ts +1 -0
- package/es/locales/sr-RS.js +1 -0
- package/es/locales/th-TH.d.ts +1 -0
- package/es/locales/th-TH.js +1 -0
- package/es/locales/tr-TR.d.ts +1 -0
- package/es/locales/vi-VN.d.ts +1 -0
- package/es/locales/vi-VN.js +1 -0
- package/es/locales/zh-CN.js +1 -0
- package/es/locales/zh-HK.d.ts +1 -0
- package/es/locales/zh-TW.d.ts +1 -0
- package/es/utils/render-to-body.d.ts +1 -1
- package/es/utils/render-to-body.js +2 -9
- package/es/utils/render.d.ts +1 -9
- package/es/utils/render.js +1 -65
- package/es/utils/unstable-render.d.ts +9 -0
- package/es/utils/unstable-render.js +28 -0
- package/package.json +2 -2
- package/umd/antd-mobile.js +1 -1
package/2x/bundle/style.css
CHANGED
|
@@ -2955,12 +2955,12 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
|
|
|
2955
2955
|
flex-direction: row;
|
|
2956
2956
|
}
|
|
2957
2957
|
|
|
2958
|
-
.adm-space-horizontal
|
|
2959
|
-
margin-right: var(--gap-horizontal);
|
|
2958
|
+
.adm-space-horizontal:not(:empty) {
|
|
2959
|
+
margin-right: calc(var(--gap-horizontal) * -1);
|
|
2960
2960
|
}
|
|
2961
2961
|
|
|
2962
|
-
.adm-space-horizontal>.adm-space-item
|
|
2963
|
-
margin-right:
|
|
2962
|
+
.adm-space-horizontal>.adm-space-item {
|
|
2963
|
+
margin-right: var(--gap-horizontal);
|
|
2964
2964
|
}
|
|
2965
2965
|
|
|
2966
2966
|
.adm-space-horizontal.adm-space-wrap {
|
|
@@ -5706,8 +5706,10 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
|
|
|
5706
5706
|
z-index: 1;
|
|
5707
5707
|
width: 100%;
|
|
5708
5708
|
max-width: 100%;
|
|
5709
|
+
min-height: 1.5em;
|
|
5709
5710
|
overflow-y: hidden;
|
|
5710
5711
|
overflow-x: scroll;
|
|
5712
|
+
letter-spacing: 2px;
|
|
5711
5713
|
scrollbar-width: none;
|
|
5712
5714
|
}
|
|
5713
5715
|
|
|
@@ -5733,6 +5735,7 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
|
|
|
5733
5735
|
height: 1.3em;
|
|
5734
5736
|
vertical-align: top;
|
|
5735
5737
|
margin-right: 2px;
|
|
5738
|
+
position: absolute;
|
|
5736
5739
|
}
|
|
5737
5740
|
|
|
5738
5741
|
.adm-virtual-input-caret {
|
|
@@ -15,7 +15,7 @@ export declare type ButtonProps = {
|
|
|
15
15
|
type?: 'submit' | 'reset' | 'button';
|
|
16
16
|
shape?: 'default' | 'rounded' | 'rectangular';
|
|
17
17
|
children?: ReactNode;
|
|
18
|
-
} & Pick<NativeButtonProps, 'onMouseDown' | 'onMouseUp' | 'onTouchStart' | 'onTouchEnd' | 'id'> & NativeProps<'--text-color' | '--background-color' | '--border-radius' | '--border-width' | '--border-style' | '--border-color'>;
|
|
18
|
+
} & Pick<NativeButtonProps, 'onMouseDown' | 'onMouseUp' | 'onTouchStart' | 'onTouchEnd' | 'id' | 'form'> & NativeProps<'--text-color' | '--background-color' | '--border-radius' | '--border-width' | '--border-style' | '--border-color'>;
|
|
19
19
|
export declare type ButtonRef = {
|
|
20
20
|
nativeElement: HTMLButtonElement | null;
|
|
21
21
|
};
|
|
@@ -32,7 +32,7 @@ export declare const Button: React.ForwardRefExoticComponent<{
|
|
|
32
32
|
type?: "reset" | "submit" | "button" | undefined;
|
|
33
33
|
shape?: "default" | "rounded" | "rectangular" | undefined;
|
|
34
34
|
children?: ReactNode;
|
|
35
|
-
} & Pick<NativeButtonProps, "id" | "onTouchStart" | "onMouseDown" | "onMouseUp" | "onTouchEnd"> & {
|
|
35
|
+
} & Pick<NativeButtonProps, "form" | "id" | "onTouchStart" | "onMouseDown" | "onMouseUp" | "onTouchEnd"> & {
|
|
36
36
|
className?: string | undefined;
|
|
37
37
|
style?: (React.CSSProperties & Partial<Record<"--border-radius" | "--text-color" | "--background-color" | "--border-width" | "--border-style" | "--border-color", string>>) | undefined;
|
|
38
38
|
tabIndex?: number | undefined;
|
|
@@ -55,6 +55,7 @@ const Button = (0, _react.forwardRef)((p, ref) => {
|
|
|
55
55
|
return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("button", {
|
|
56
56
|
ref: nativeButtonRef,
|
|
57
57
|
type: props.type,
|
|
58
|
+
form: props.form,
|
|
58
59
|
onClick: handleClick,
|
|
59
60
|
className: (0, _classnames.default)(classPrefix, {
|
|
60
61
|
[`${classPrefix}-${props.color}`]: props.color,
|
|
@@ -173,6 +173,9 @@ const CalendarPickerView = (0, _react.forwardRef)((p, ref) => {
|
|
|
173
173
|
return contentWrapper(top);
|
|
174
174
|
}
|
|
175
175
|
if (props.selectionMode === 'range') {
|
|
176
|
+
if (isBegin && isEnd) {
|
|
177
|
+
return contentWrapper(locale.Calendar.startAndEnd);
|
|
178
|
+
}
|
|
176
179
|
if (isBegin) {
|
|
177
180
|
return contentWrapper(locale.Calendar.start);
|
|
178
181
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { RenderLabel } from '../date-picker-view/date-picker-view';
|
|
1
2
|
import { PickerColumn } from '../picker';
|
|
2
3
|
import type { DatePickerFilter } from './date-picker-utils';
|
|
3
|
-
import { RenderLabel } from '../date-picker-view/date-picker-view';
|
|
4
4
|
export declare type DatePrecision = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second';
|
|
5
5
|
export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: DatePrecision, renderLabel: RenderLabel, filter: DatePickerFilter | undefined, tillNow?: boolean): PickerColumn[];
|
|
6
6
|
export declare function convertDateToStringArray(date: Date | undefined | null): string[];
|
|
@@ -7,9 +7,9 @@ exports.convertDateToStringArray = convertDateToStringArray;
|
|
|
7
7
|
exports.convertStringArrayToDate = convertStringArrayToDate;
|
|
8
8
|
exports.generateDatePickerColumns = generateDatePickerColumns;
|
|
9
9
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
10
|
+
var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
|
|
10
11
|
var _isoWeek = _interopRequireDefault(require("dayjs/plugin/isoWeek"));
|
|
11
12
|
var _isoWeeksInYear = _interopRequireDefault(require("dayjs/plugin/isoWeeksInYear"));
|
|
12
|
-
var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
|
|
13
13
|
var _util = require("./util");
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
_dayjs.default.extend(_isoWeek.default);
|
|
@@ -44,6 +44,7 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
44
44
|
const selectedDay = parseInt(selected[2]);
|
|
45
45
|
const selectedHour = parseInt(selected[3]);
|
|
46
46
|
const selectedMinute = parseInt(selected[4]);
|
|
47
|
+
const selectedSecond = parseInt(selected[5]);
|
|
47
48
|
const isInMinYear = selectedYear === minYear;
|
|
48
49
|
const isInMaxYear = selectedYear === maxYear;
|
|
49
50
|
const isInMinMonth = isInMinYear && selectedMonth === minMonth;
|
|
@@ -76,7 +77,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
76
77
|
const upper = maxYear;
|
|
77
78
|
const years = generateColumn(lower, upper, 'year');
|
|
78
79
|
ret.push(years.map(v => ({
|
|
79
|
-
label: renderLabel('year', v
|
|
80
|
+
label: renderLabel('year', v, {
|
|
81
|
+
selected: selectedYear === v
|
|
82
|
+
}),
|
|
80
83
|
value: v.toString()
|
|
81
84
|
})));
|
|
82
85
|
}
|
|
@@ -85,7 +88,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
85
88
|
const upper = isInMaxYear ? maxMonth : 12;
|
|
86
89
|
const months = generateColumn(lower, upper, 'month');
|
|
87
90
|
ret.push(months.map(v => ({
|
|
88
|
-
label: renderLabel('month', v
|
|
91
|
+
label: renderLabel('month', v, {
|
|
92
|
+
selected: selectedMonth === v
|
|
93
|
+
}),
|
|
89
94
|
value: v.toString()
|
|
90
95
|
})));
|
|
91
96
|
}
|
|
@@ -94,7 +99,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
94
99
|
const upper = isInMaxMonth ? maxDay : firstDayInSelectedMonth.daysInMonth();
|
|
95
100
|
const days = generateColumn(lower, upper, 'day');
|
|
96
101
|
ret.push(days.map(v => ({
|
|
97
|
-
label: renderLabel('day', v
|
|
102
|
+
label: renderLabel('day', v, {
|
|
103
|
+
selected: selectedDay === v
|
|
104
|
+
}),
|
|
98
105
|
value: v.toString()
|
|
99
106
|
})));
|
|
100
107
|
}
|
|
@@ -103,7 +110,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
103
110
|
const upper = isInMaxDay ? maxHour : 23;
|
|
104
111
|
const hours = generateColumn(lower, upper, 'hour');
|
|
105
112
|
ret.push(hours.map(v => ({
|
|
106
|
-
label: renderLabel('hour', v
|
|
113
|
+
label: renderLabel('hour', v, {
|
|
114
|
+
selected: selectedHour === v
|
|
115
|
+
}),
|
|
107
116
|
value: v.toString()
|
|
108
117
|
})));
|
|
109
118
|
}
|
|
@@ -112,7 +121,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
112
121
|
const upper = isInMaxHour ? maxMinute : 59;
|
|
113
122
|
const minutes = generateColumn(lower, upper, 'minute');
|
|
114
123
|
ret.push(minutes.map(v => ({
|
|
115
|
-
label: renderLabel('minute', v
|
|
124
|
+
label: renderLabel('minute', v, {
|
|
125
|
+
selected: selectedMinute === v
|
|
126
|
+
}),
|
|
116
127
|
value: v.toString()
|
|
117
128
|
})));
|
|
118
129
|
}
|
|
@@ -121,14 +132,18 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
121
132
|
const upper = isInMaxMinute ? maxSecond : 59;
|
|
122
133
|
const seconds = generateColumn(lower, upper, 'second');
|
|
123
134
|
ret.push(seconds.map(v => ({
|
|
124
|
-
label: renderLabel('second', v
|
|
135
|
+
label: renderLabel('second', v, {
|
|
136
|
+
selected: selectedSecond === v
|
|
137
|
+
}),
|
|
125
138
|
value: v.toString()
|
|
126
139
|
})));
|
|
127
140
|
}
|
|
128
141
|
// Till Now
|
|
129
142
|
if (tillNow) {
|
|
130
143
|
ret[0].push({
|
|
131
|
-
label: renderLabel('now', null
|
|
144
|
+
label: renderLabel('now', null, {
|
|
145
|
+
selected: selected[0] === _util.TILL_NOW
|
|
146
|
+
}),
|
|
132
147
|
value: _util.TILL_NOW
|
|
133
148
|
});
|
|
134
149
|
if (_util.TILL_NOW === (selected === null || selected === void 0 ? void 0 : selected[0])) {
|
|
@@ -2,6 +2,8 @@ import type { ReactNode } from 'react';
|
|
|
2
2
|
import { PickerColumn } from '../picker';
|
|
3
3
|
import type { DatePickerFilter } from './date-picker-utils';
|
|
4
4
|
export declare type QuarterPrecision = 'year' | 'quarter';
|
|
5
|
-
export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: QuarterPrecision, renderLabel: (type: QuarterPrecision, data: number
|
|
5
|
+
export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: QuarterPrecision, renderLabel: (type: QuarterPrecision, data: number, info: {
|
|
6
|
+
selected: boolean;
|
|
7
|
+
}) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
|
|
6
8
|
export declare function convertDateToStringArray(date: Date | undefined | null): string[];
|
|
7
9
|
export declare function convertStringArrayToDate<T extends string | number | null | undefined>(value: T[]): Date;
|
|
@@ -26,6 +26,7 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
26
26
|
const maxDay = (0, _dayjs.default)(max);
|
|
27
27
|
const minQuarter = minDay.quarter();
|
|
28
28
|
const maxQuarter = maxDay.quarter();
|
|
29
|
+
const selectedQuarter = parseInt(selected[1]);
|
|
29
30
|
const generateColumn = (from, to, precision) => {
|
|
30
31
|
let column = [];
|
|
31
32
|
for (let i = from; i <= to; i++) {
|
|
@@ -48,7 +49,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
48
49
|
const upper = maxYear;
|
|
49
50
|
const years = generateColumn(lower, upper, 'year');
|
|
50
51
|
ret.push(years.map(v => ({
|
|
51
|
-
label: renderLabel('year', v
|
|
52
|
+
label: renderLabel('year', v, {
|
|
53
|
+
selected: selectedYear === v
|
|
54
|
+
}),
|
|
52
55
|
value: v.toString()
|
|
53
56
|
})));
|
|
54
57
|
}
|
|
@@ -57,7 +60,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
57
60
|
const upper = isInMaxYear ? maxQuarter : 4;
|
|
58
61
|
const quarters = generateColumn(lower, upper, 'quarter');
|
|
59
62
|
ret.push(quarters.map(v => ({
|
|
60
|
-
label: renderLabel('quarter', v
|
|
63
|
+
label: renderLabel('quarter', v, {
|
|
64
|
+
selected: selectedQuarter === v
|
|
65
|
+
}),
|
|
61
66
|
value: v.toString()
|
|
62
67
|
})));
|
|
63
68
|
}
|
|
@@ -2,6 +2,8 @@ import type { ReactNode } from 'react';
|
|
|
2
2
|
import { PickerColumn } from '../picker';
|
|
3
3
|
import type { DatePickerFilter } from './date-picker-utils';
|
|
4
4
|
export declare type WeekPrecision = 'year' | 'week' | 'week-day';
|
|
5
|
-
export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: WeekPrecision, renderLabel: (type: WeekPrecision, data: number
|
|
5
|
+
export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: WeekPrecision, renderLabel: (type: WeekPrecision, data: number, info: {
|
|
6
|
+
selected: boolean;
|
|
7
|
+
}) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
|
|
6
8
|
export declare function convertDateToStringArray(date: Date | undefined | null): string[];
|
|
7
9
|
export declare function convertStringArrayToDate<T extends string | number | null | undefined>(value: T[]): Date;
|
|
@@ -34,6 +34,7 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
34
34
|
const minWeekday = minDay.isoWeekday();
|
|
35
35
|
const maxWeekday = maxDay.isoWeekday();
|
|
36
36
|
const selectedWeek = parseInt(selected[1]);
|
|
37
|
+
const selectedWeekday = parseInt(selected[2]);
|
|
37
38
|
const isInMinWeek = isInMinYear && selectedWeek === minWeek;
|
|
38
39
|
const isInMaxWeek = isInMaxYear && selectedWeek === maxWeek;
|
|
39
40
|
const selectedYearWeeks = (0, _dayjs.default)(`${selectedYear}-01-01`).isoWeeksInYear();
|
|
@@ -59,7 +60,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
59
60
|
const upper = maxYear;
|
|
60
61
|
const years = generateColumn(lower, upper, 'year');
|
|
61
62
|
ret.push(years.map(v => ({
|
|
62
|
-
label: renderLabel('year', v
|
|
63
|
+
label: renderLabel('year', v, {
|
|
64
|
+
selected: selectedYear === v
|
|
65
|
+
}),
|
|
63
66
|
value: v.toString()
|
|
64
67
|
})));
|
|
65
68
|
}
|
|
@@ -68,7 +71,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
68
71
|
const upper = isInMaxYear ? maxWeek : selectedYearWeeks;
|
|
69
72
|
const weeks = generateColumn(lower, upper, 'week');
|
|
70
73
|
ret.push(weeks.map(v => ({
|
|
71
|
-
label: renderLabel('week', v
|
|
74
|
+
label: renderLabel('week', v, {
|
|
75
|
+
selected: selectedWeek === v
|
|
76
|
+
}),
|
|
72
77
|
value: v.toString()
|
|
73
78
|
})));
|
|
74
79
|
}
|
|
@@ -77,7 +82,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
|
|
|
77
82
|
const upper = isInMaxWeek ? maxWeekday : 7;
|
|
78
83
|
const weeks = generateColumn(lower, upper, 'week-day');
|
|
79
84
|
ret.push(weeks.map(v => ({
|
|
80
|
-
label: renderLabel('week-day', v
|
|
85
|
+
label: renderLabel('week-day', v, {
|
|
86
|
+
selected: selectedWeekday === v
|
|
87
|
+
}),
|
|
81
88
|
value: v.toString()
|
|
82
89
|
})));
|
|
83
90
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { FC, ReactNode } from 'react';
|
|
2
|
-
import type { PickerViewProps } from '../picker-view';
|
|
3
2
|
import { NativeProps } from '../../utils/native-props';
|
|
4
|
-
import type {
|
|
3
|
+
import type { DatePickerFilter, Precision } from '../date-picker/date-picker-utils';
|
|
5
4
|
import type { PickerDate } from '../date-picker/util';
|
|
6
|
-
|
|
5
|
+
import type { PickerViewProps } from '../picker-view';
|
|
6
|
+
export declare type RenderLabel = (type: Precision | 'now', data: number, info: {
|
|
7
|
+
selected: boolean;
|
|
8
|
+
}) => ReactNode;
|
|
7
9
|
export declare type DatePickerViewProps = Pick<PickerViewProps, 'style' | 'mouseWheel' | 'loading' | 'loadingContent'> & {
|
|
8
10
|
value?: PickerDate;
|
|
9
11
|
defaultValue?: PickerDate;
|
|
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.DatePickerView = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _pickerView = _interopRequireDefault(require("../picker-view"));
|
|
9
8
|
var _nativeProps = require("../../utils/native-props");
|
|
10
|
-
var _withDefaultProps = require("../../utils/with-default-props");
|
|
11
9
|
var _usePropsValue = require("../../utils/use-props-value");
|
|
10
|
+
var _withDefaultProps = require("../../utils/with-default-props");
|
|
12
11
|
var _datePickerUtils = require("../date-picker/date-picker-utils");
|
|
13
|
-
var _useRenderLabel = _interopRequireDefault(require("./useRenderLabel"));
|
|
14
12
|
var _util = require("../date-picker/util");
|
|
13
|
+
var _pickerView = _interopRequireDefault(require("../picker-view"));
|
|
14
|
+
var _useRenderLabel = _interopRequireDefault(require("./useRenderLabel"));
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -10,9 +10,9 @@ function useRenderLabel(renderLabel) {
|
|
|
10
10
|
const {
|
|
11
11
|
locale
|
|
12
12
|
} = (0, _configProvider.useConfig)();
|
|
13
|
-
return (0, _react.useCallback)((type, data) => {
|
|
13
|
+
return (0, _react.useCallback)((type, data, info) => {
|
|
14
14
|
if (renderLabel) {
|
|
15
|
-
return renderLabel(type, data);
|
|
15
|
+
return renderLabel(type, data, info);
|
|
16
16
|
}
|
|
17
17
|
// Default render
|
|
18
18
|
switch (type) {
|
|
@@ -14,5 +14,5 @@ export declare type NumberKeyboardProps = {
|
|
|
14
14
|
onConfirm?: () => void;
|
|
15
15
|
closeOnConfirm?: boolean;
|
|
16
16
|
safeArea?: boolean;
|
|
17
|
-
} & Pick<PopupProps, 'afterClose' | 'afterShow' | 'getContainer' | 'destroyOnClose' | 'forceRender' | 'stopPropagation'> & NativeProps
|
|
17
|
+
} & Pick<PopupProps, 'afterClose' | 'afterShow' | 'getContainer' | 'destroyOnClose' | 'forceRender' | 'stopPropagation'> & NativeProps<'--adm-safe-area-multiple'>;
|
|
18
18
|
export declare const NumberKeyboard: FC<NumberKeyboardProps>;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
children?: ReactNode;
|
|
5
|
-
}, {}> {
|
|
6
|
-
element: Element | null;
|
|
7
|
-
componentDidMount(): void;
|
|
8
|
-
componentDidUpdate(): void;
|
|
9
|
-
render(): React.ReactNode;
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface WrapperRef {
|
|
3
|
+
element: HTMLElement;
|
|
10
4
|
}
|
|
5
|
+
export declare const Wrapper: React.ForwardRefExoticComponent<{
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
} & React.RefAttributes<WrapperRef>>;
|
|
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Wrapper = void 0;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
var _findDOMNode = _interopRequireWildcard(require("rc-util/lib/Dom/findDOMNode"));
|
|
8
|
+
var _ref = require("rc-util/lib/ref");
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
|
+
class LegacyWrapper extends React.Component {
|
|
11
13
|
constructor() {
|
|
12
14
|
super(...arguments);
|
|
13
15
|
this.element = null;
|
|
@@ -17,7 +19,7 @@ class Wrapper extends _react.default.Component {
|
|
|
17
19
|
}
|
|
18
20
|
componentDidUpdate() {
|
|
19
21
|
// eslint-disable-next-line
|
|
20
|
-
const node = (0,
|
|
22
|
+
const node = (0, _findDOMNode.default)(this);
|
|
21
23
|
if (node instanceof Element) {
|
|
22
24
|
this.element = node;
|
|
23
25
|
} else {
|
|
@@ -25,7 +27,31 @@ class Wrapper extends _react.default.Component {
|
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
render() {
|
|
28
|
-
return
|
|
30
|
+
return this.props.children;
|
|
29
31
|
}
|
|
30
32
|
}
|
|
33
|
+
const Wrapper = React.forwardRef(({
|
|
34
|
+
children
|
|
35
|
+
}, ref) => {
|
|
36
|
+
const elementRef = React.useRef(null);
|
|
37
|
+
const legacyWrapperRef = React.createRef();
|
|
38
|
+
const child = React.Children.only(children);
|
|
39
|
+
const canUseRef = (0, _ref.supportRef)(children);
|
|
40
|
+
const getElement = () => {
|
|
41
|
+
var _a;
|
|
42
|
+
if (canUseRef) {
|
|
43
|
+
return (0, _findDOMNode.getDOM)(elementRef.current);
|
|
44
|
+
}
|
|
45
|
+
return (_a = legacyWrapperRef.current) === null || _a === void 0 ? void 0 : _a.element;
|
|
46
|
+
};
|
|
47
|
+
React.useImperativeHandle(ref, () => ({
|
|
48
|
+
element: getElement()
|
|
49
|
+
}));
|
|
50
|
+
const composedRef = (0, _ref.composeRef)(elementRef, (0, _ref.getNodeRef)(child));
|
|
51
|
+
return canUseRef ? React.cloneElement(child, {
|
|
52
|
+
ref: composedRef
|
|
53
|
+
}) : React.createElement(LegacyWrapper, {
|
|
54
|
+
ref: legacyWrapperRef
|
|
55
|
+
}, child);
|
|
56
|
+
});
|
|
31
57
|
exports.Wrapper = Wrapper;
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
flex-direction: row;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.adm-space-horizontal
|
|
29
|
-
margin-right: var(--gap-horizontal);
|
|
28
|
+
.adm-space-horizontal:not(:empty) {
|
|
29
|
+
margin-right: calc(var(--gap-horizontal) * -1);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
.adm-space-horizontal > .adm-space-item
|
|
33
|
-
margin-right:
|
|
32
|
+
.adm-space-horizontal > .adm-space-item {
|
|
33
|
+
margin-right: var(--gap-horizontal);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
.adm-space-horizontal.adm-space-wrap {
|
|
@@ -28,8 +28,10 @@
|
|
|
28
28
|
z-index: 1;
|
|
29
29
|
width: 100%;
|
|
30
30
|
max-width: 100%;
|
|
31
|
+
min-height: 1.5em;
|
|
31
32
|
overflow-y: hidden;
|
|
32
33
|
overflow-x: scroll;
|
|
34
|
+
letter-spacing: 2px;
|
|
33
35
|
scrollbar-width: none;
|
|
34
36
|
}
|
|
35
37
|
|
|
@@ -55,6 +57,7 @@
|
|
|
55
57
|
height: 1.3em;
|
|
56
58
|
vertical-align: top;
|
|
57
59
|
margin-right: 2px;
|
|
60
|
+
position: absolute;
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
.adm-virtual-input-caret {
|
|
@@ -29,6 +29,7 @@ const VirtualInput = (0, _react.forwardRef)((props, ref) => {
|
|
|
29
29
|
const rootRef = (0, _react.useRef)(null);
|
|
30
30
|
const contentRef = (0, _react.useRef)(null);
|
|
31
31
|
const [hasFocus, setHasFocus] = (0, _react.useState)(false);
|
|
32
|
+
const [caretPosition, setCaretPosition] = (0, _react.useState)(value.length); // 光标位置,从 0 开始,如值是 2 则表示光标在顺序下标为 2 的数字之前
|
|
32
33
|
const clearIcon = (0, _withDefaultProps.mergeProp)(_react.default.createElement(_antdMobileIcons.CloseCircleFill, null), componentConfig.clearIcon, props.clearIcon);
|
|
33
34
|
function scrollToEnd() {
|
|
34
35
|
const root = rootRef.current;
|
|
@@ -72,12 +73,17 @@ const VirtualInput = (0, _react.forwardRef)((props, ref) => {
|
|
|
72
73
|
const keyboardElement = keyboard && _react.default.cloneElement(keyboard, {
|
|
73
74
|
onInput: v => {
|
|
74
75
|
var _a, _b;
|
|
75
|
-
|
|
76
|
+
const newValue = value.substring(0, caretPosition) + v + value.substring(caretPosition);
|
|
77
|
+
setValue(newValue);
|
|
78
|
+
setCaretPosition(c => c + 1);
|
|
76
79
|
(_b = (_a = keyboard.props).onInput) === null || _b === void 0 ? void 0 : _b.call(_a, v);
|
|
77
80
|
},
|
|
78
81
|
onDelete: () => {
|
|
79
82
|
var _a, _b;
|
|
80
|
-
|
|
83
|
+
if (caretPosition === 0) return;
|
|
84
|
+
const newValue = value.substring(0, caretPosition - 1) + value.substring(caretPosition);
|
|
85
|
+
setValue(newValue);
|
|
86
|
+
setCaretPosition(caretPosition - 1);
|
|
81
87
|
(_b = (_a = keyboard.props).onDelete) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
82
88
|
},
|
|
83
89
|
visible: hasFocus,
|
|
@@ -95,6 +101,21 @@ const VirtualInput = (0, _react.forwardRef)((props, ref) => {
|
|
|
95
101
|
},
|
|
96
102
|
getContainer: null
|
|
97
103
|
});
|
|
104
|
+
// 点击输入框时,将光标置于最后
|
|
105
|
+
const setCaretPositionToEnd = () => {
|
|
106
|
+
setCaretPosition(value.length);
|
|
107
|
+
};
|
|
108
|
+
// 点击单个字符时,根据点击位置置于字符前或后
|
|
109
|
+
const changeCaretPosition = index => e => {
|
|
110
|
+
e.stopPropagation();
|
|
111
|
+
const rect = e.target.getBoundingClientRect();
|
|
112
|
+
const midX = rect.left + rect.width / 2;
|
|
113
|
+
const clickX = e.clientX;
|
|
114
|
+
// 点击区域是否偏右
|
|
115
|
+
const isRight = clickX > midX;
|
|
116
|
+
setCaretPosition(isRight ? index + 1 : index);
|
|
117
|
+
};
|
|
118
|
+
const chars = (value + '').split('');
|
|
98
119
|
return (0, _nativeProps.withNativeProps)(mergedProps, _react.default.createElement("div", {
|
|
99
120
|
ref: rootRef,
|
|
100
121
|
className: (0, _classnames.default)(classPrefix, {
|
|
@@ -109,17 +130,25 @@ const VirtualInput = (0, _react.forwardRef)((props, ref) => {
|
|
|
109
130
|
className: `${classPrefix}-content`,
|
|
110
131
|
ref: contentRef,
|
|
111
132
|
"aria-disabled": mergedProps.disabled,
|
|
112
|
-
"aria-label": mergedProps.placeholder
|
|
113
|
-
|
|
133
|
+
"aria-label": mergedProps.placeholder,
|
|
134
|
+
onClick: setCaretPositionToEnd
|
|
135
|
+
}, chars.slice(0, caretPosition).map((i, index) => _react.default.createElement("span", {
|
|
136
|
+
key: index,
|
|
137
|
+
onClick: changeCaretPosition(index)
|
|
138
|
+
}, i)), _react.default.createElement("div", {
|
|
114
139
|
className: `${classPrefix}-caret-container`
|
|
115
140
|
}, hasFocus && _react.default.createElement("div", {
|
|
116
141
|
className: `${classPrefix}-caret`
|
|
117
|
-
}))
|
|
142
|
+
})), chars.slice(caretPosition).map((i, index) => _react.default.createElement("span", {
|
|
143
|
+
key: index,
|
|
144
|
+
onClick: changeCaretPosition(index + caretPosition)
|
|
145
|
+
}, i))), mergedProps.clearable && !!value && hasFocus && _react.default.createElement("div", {
|
|
118
146
|
className: `${classPrefix}-clear`,
|
|
119
147
|
onClick: e => {
|
|
120
148
|
var _a;
|
|
121
149
|
e.stopPropagation();
|
|
122
150
|
setValue('');
|
|
151
|
+
setCaretPosition(0);
|
|
123
152
|
(_a = mergedProps.onClear) === null || _a === void 0 ? void 0 : _a.call(mergedProps);
|
|
124
153
|
},
|
|
125
154
|
role: 'button',
|
package/2x/cjs/index.d.ts
CHANGED
|
@@ -168,3 +168,4 @@ export { default as Footer } from './components/footer';
|
|
|
168
168
|
export type { FooterProps } from './components/footer';
|
|
169
169
|
export { createErrorBlock } from './components/error-block';
|
|
170
170
|
export { reduceMotion, restoreMotion } from './utils/reduce-and-restore-motion';
|
|
171
|
+
export { unstableSetRender } from './utils/unstable-render';
|
package/2x/cjs/index.js
CHANGED
|
@@ -525,6 +525,12 @@ Object.defineProperty(exports, "setDefaultConfig", {
|
|
|
525
525
|
return _configProvider.setDefaultConfig;
|
|
526
526
|
}
|
|
527
527
|
});
|
|
528
|
+
Object.defineProperty(exports, "unstableSetRender", {
|
|
529
|
+
enumerable: true,
|
|
530
|
+
get: function () {
|
|
531
|
+
return _unstableRender.unstableSetRender;
|
|
532
|
+
}
|
|
533
|
+
});
|
|
528
534
|
Object.defineProperty(exports, "useConfig", {
|
|
529
535
|
enumerable: true,
|
|
530
536
|
get: function () {
|
|
@@ -616,6 +622,7 @@ var _virtualInput = _interopRequireDefault(require("./components/virtual-input")
|
|
|
616
622
|
var _waterMark = _interopRequireDefault(require("./components/water-mark"));
|
|
617
623
|
var _footer = _interopRequireDefault(require("./components/footer"));
|
|
618
624
|
var _reduceAndRestoreMotion = require("./utils/reduce-and-restore-motion");
|
|
625
|
+
var _unstableRender = require("./utils/unstable-render");
|
|
619
626
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
620
627
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
621
628
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
package/2x/cjs/locales/ar-SA.js
CHANGED
|
@@ -20,6 +20,7 @@ const arSA = (0, _mergeLocale.mergeLocale)(_base.base, {
|
|
|
20
20
|
'confirm': 'تأكيد',
|
|
21
21
|
'start': 'يبدأ',
|
|
22
22
|
'end': 'ينهي',
|
|
23
|
+
'startAndEnd': 'يبدأ/ينهي',
|
|
23
24
|
'today': 'اليوم',
|
|
24
25
|
'markItems': ['واحد', 'اثنين', 'ثلاثة', 'أربعة', 'خمسة', 'ستة', 'يوم'],
|
|
25
26
|
'yearAndMonth': '${year} سنة ${month} شهر'
|
package/2x/cjs/locales/base.d.ts
CHANGED
package/2x/cjs/locales/base.js
CHANGED
package/2x/cjs/locales/cnr-ME.js
CHANGED
|
@@ -20,6 +20,7 @@ const cnrME = (0, _mergeLocale.mergeLocale)(_base.base, {
|
|
|
20
20
|
confirm: 'Potvrdi',
|
|
21
21
|
start: 'početak',
|
|
22
22
|
end: 'kraj',
|
|
23
|
+
startAndEnd: 'početak/kraj',
|
|
23
24
|
today: 'danas',
|
|
24
25
|
markItems: ['Pon', 'Uto', 'Sre', 'Čet', 'Pet', 'Sub', 'Ned'],
|
|
25
26
|
yearAndMonth: '${year}/${month}'
|
package/2x/cjs/locales/de-DE.js
CHANGED
|
@@ -20,6 +20,7 @@ const deDE = (0, _mergeLocale.mergeLocale)(_base.base, {
|
|
|
20
20
|
'confirm': 'Bestätigen',
|
|
21
21
|
'start': 'Starten',
|
|
22
22
|
'end': 'Beenden',
|
|
23
|
+
'startAndEnd': 'Starten/Beenden',
|
|
23
24
|
'today': 'Heute',
|
|
24
25
|
'markItems': ['I', 'II', 'III', 'IV', 'V', 'Sechs', 'Tag'],
|
|
25
26
|
'yearAndMonth': '${year}Jahr${month}Monat'
|