@nutui/nutui-react 2.0.22 → 2.0.23-beta.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.
Files changed (96) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/esm/ActionSheet/style/style.css +1 -1
  3. package/dist/esm/ActionSheet.js +4 -0
  4. package/dist/esm/Address/style/style.css +1 -1
  5. package/dist/esm/Address.js +4 -0
  6. package/dist/esm/Calendar/style/style.css +1 -1
  7. package/dist/esm/CalendarCard/style/css.js +1 -0
  8. package/dist/esm/CalendarCard/style/index.js +2 -0
  9. package/dist/esm/CalendarCard/style/style.css +1 -0
  10. package/dist/esm/CalendarCard.js +513 -0
  11. package/dist/esm/CalendarItem.js +2 -0
  12. package/dist/esm/Cascader/style/style.css +1 -1
  13. package/dist/esm/Cascader.js +4 -0
  14. package/dist/esm/DatePicker/style/style.css +1 -1
  15. package/dist/esm/DatePicker.js +4 -4
  16. package/dist/esm/Dialog/style/style.css +1 -1
  17. package/dist/esm/Dialog.js +4 -0
  18. package/dist/esm/FixedNav/style/style.css +1 -1
  19. package/dist/esm/Image.js +24 -10
  20. package/dist/esm/ImagePreview/style/style.css +1 -1
  21. package/dist/esm/Menu/style/style.css +1 -1
  22. package/dist/esm/Menu.js +4 -2
  23. package/dist/esm/MenuItem/style/style.css +1 -1
  24. package/dist/esm/MenuItem.js +4 -2
  25. package/dist/esm/NoticeBar/style/style.css +1 -1
  26. package/dist/esm/NoticeBar.js +3 -0
  27. package/dist/esm/NumberKeyboard/style/style.css +1 -1
  28. package/dist/esm/Overlay/style/style.css +1 -1
  29. package/dist/esm/Overlay.js +4 -0
  30. package/dist/esm/Picker/style/style.css +1 -1
  31. package/dist/esm/Picker.js +14 -8
  32. package/dist/esm/Popover/style/style.css +1 -1
  33. package/dist/esm/Popup/style/style.css +1 -1
  34. package/dist/esm/Popup.js +4 -0
  35. package/dist/esm/Range.js +2 -2
  36. package/dist/esm/ShortPassword/style/style.css +1 -1
  37. package/dist/esm/SideNavBar/style/style.css +1 -1
  38. package/dist/esm/Swipe.js +8 -5
  39. package/dist/esm/TimeSelect/style/style.css +1 -1
  40. package/dist/esm/Toast.js +4 -0
  41. package/dist/esm/Tour/style/style.css +1 -1
  42. package/dist/esm/nutui-react.es.js +136 -134
  43. package/dist/esm/overlay2.js +76 -15
  44. package/dist/esm/popup2.js +5 -4
  45. package/dist/esm/types/src/packages/calendarcard/__tests__/calendarcard.spec.d.ts +1 -0
  46. package/dist/esm/types/src/packages/calendarcard/calendarcard.d.ts +24 -0
  47. package/dist/esm/types/src/packages/calendarcard/calendarcard.taro.d.ts +24 -0
  48. package/dist/esm/types/src/packages/calendarcard/demo.d.ts +3 -0
  49. package/dist/esm/types/src/packages/calendarcard/demo.taro.d.ts +3 -0
  50. package/dist/esm/types/src/packages/calendarcard/icon.d.ts +5 -0
  51. package/dist/esm/types/src/packages/calendarcard/icon.taro.d.ts +5 -0
  52. package/dist/esm/types/src/packages/calendarcard/index.d.ts +3 -0
  53. package/dist/esm/types/src/packages/calendarcard/index.taro.d.ts +3 -0
  54. package/dist/esm/types/src/packages/calendarcard/types.d.ts +11 -0
  55. package/dist/esm/types/src/packages/calendarcard/utils.d.ts +19 -0
  56. package/dist/esm/types/src/packages/datepicker/datepicker.d.ts +2 -1
  57. package/dist/esm/types/src/packages/datepicker/datepicker.taro.d.ts +2 -1
  58. package/dist/esm/types/src/packages/nutui.react.build.d.ts +2 -1
  59. package/dist/esm/types/src/packages/nutui.react.d.ts +3 -1
  60. package/dist/esm/types/src/packages/nutui.react.scss.d.ts +1 -0
  61. package/dist/esm/types/src/packages/nutui.react.taro.d.ts +3 -1
  62. package/dist/esm/types/src/packages/nutui.react.taro.scss.d.ts +1 -0
  63. package/dist/esm/types/src/packages/nutui.taro.react.build.d.ts +2 -1
  64. package/dist/esm/types/src/packages/picker/picker.d.ts +2 -0
  65. package/dist/esm/types/src/packages/picker/picker.taro.d.ts +2 -0
  66. package/dist/esm/types/src/utils/use-lock-scoll-taro.d.ts +2 -0
  67. package/dist/esm/types/src/utils/use-lock-scroll.d.ts +2 -0
  68. package/dist/esm/types/src/utils/use-touch.d.ts +8 -9
  69. package/dist/esm/use-touch.js +23 -32
  70. package/dist/locales/base.js +1 -1
  71. package/dist/locales/en-US.js +1 -1
  72. package/dist/locales/id-ID.js +1 -1
  73. package/dist/locales/tr-TR.js +1 -1
  74. package/dist/locales/zh-CN.js +1 -1
  75. package/dist/locales/zh-TW.js +1 -1
  76. package/dist/locales/zh-UG.js +1 -1
  77. package/dist/nutui.react.es.js +713 -221
  78. package/dist/nutui.react.umd.js +713 -221
  79. package/dist/packages/calendarcard/calendarcard.scss +104 -0
  80. package/dist/packages/noticebar/noticebar.scss +1 -0
  81. package/dist/packages/overlay/overlay.scss +5 -0
  82. package/dist/style.css +1 -1
  83. package/dist/style.mjs +1 -1
  84. package/dist/styles/themes/default.scss +1 -0
  85. package/dist/types/index.d.ts +3 -1
  86. package/dist/types/packages/calendarcard/calendarcard.d.ts +76 -0
  87. package/dist/types/packages/calendarcard/icon.d.ts +5 -0
  88. package/dist/types/packages/calendarcard/index.d.ts +3 -0
  89. package/dist/types/packages/calendarcard/types.d.ts +11 -0
  90. package/dist/types/packages/calendarcard/utils.d.ts +19 -0
  91. package/dist/types/packages/datepicker/datepicker.d.ts +6 -1
  92. package/dist/types/packages/picker/picker.d.ts +6 -0
  93. package/dist/types/utils/use-lock-scroll.d.ts +2 -0
  94. package/dist/types/utils/use-touch.d.ts +8 -9
  95. package/package.json +1 -1
  96. package/dist/esm/types/src/packages/dialog/dialogwrap.taro.d.ts +0 -14
@@ -23,10 +23,82 @@ function _objectSpread(target) {
23
23
  }
24
24
  return target;
25
25
  }
26
- import React__default, { useState, useRef, useEffect } from "react";
26
+ import React__default, { useEffect, useState, useRef } from "react";
27
27
  import { CSSTransition } from "react-transition-group";
28
28
  import classNames from "classnames";
29
29
  import { C as ComponentDefaults } from "./typings.js";
30
+ import { u as useTouch } from "./use-touch.js";
31
+ import { g as getScrollParent } from "./get-scroll-parent.js";
32
+ import { p as passiveSupported } from "./supports-passive.js";
33
+ var totalLockCount = 0;
34
+ var BODY_LOCK_CLASS = "nut-overflow-hidden";
35
+ function getScrollableElement(el) {
36
+ var current = el === null || el === void 0 ? void 0 : el.parentElement;
37
+ while (current) {
38
+ if (current.clientHeight < current.scrollHeight) {
39
+ return current;
40
+ }
41
+ current = current.parentElement;
42
+ }
43
+ return null;
44
+ }
45
+ function useLockScroll(rootRef, shouldLock) {
46
+ var touch = useTouch();
47
+ var onTouchMove = function onTouchMove2(event) {
48
+ touch.move(event);
49
+ var direction = touch.deltaY.current > 0 ? "10" : "01";
50
+ var el = getScrollParent(event.target, rootRef.current);
51
+ if (!el)
52
+ return;
53
+ if (shouldLock === "strict") {
54
+ var scrollableParent = getScrollableElement(event.target);
55
+ if (scrollableParent === document.body || scrollableParent === document.documentElement) {
56
+ event.preventDefault();
57
+ return;
58
+ }
59
+ }
60
+ var scrollHeight = el.scrollHeight, offsetHeight = el.offsetHeight, scrollTop = el.scrollTop;
61
+ var status = "11";
62
+ if (scrollTop === 0) {
63
+ status = offsetHeight >= scrollHeight ? "00" : "01";
64
+ } else if (scrollTop + offsetHeight >= scrollHeight) {
65
+ status = "10";
66
+ }
67
+ if (status !== "11" && touch.isVertical() && !(parseInt(status, 2) & parseInt(direction, 2))) {
68
+ if (event.cancelable) {
69
+ event.preventDefault();
70
+ }
71
+ }
72
+ };
73
+ var lock = function lock2() {
74
+ document.addEventListener("touchstart", touch.start);
75
+ document.addEventListener("touchmove", onTouchMove, passiveSupported ? {
76
+ passive: false
77
+ } : false);
78
+ if (!totalLockCount) {
79
+ document.body.classList.add(BODY_LOCK_CLASS);
80
+ }
81
+ totalLockCount++;
82
+ };
83
+ var unlock = function unlock2() {
84
+ if (totalLockCount) {
85
+ document.removeEventListener("touchstart", touch.start);
86
+ document.removeEventListener("touchmove", onTouchMove);
87
+ totalLockCount--;
88
+ if (!totalLockCount) {
89
+ document.body.classList.remove(BODY_LOCK_CLASS);
90
+ }
91
+ }
92
+ };
93
+ useEffect(function() {
94
+ if (shouldLock) {
95
+ lock();
96
+ return function() {
97
+ unlock();
98
+ };
99
+ }
100
+ }, [shouldLock]);
101
+ }
30
102
  var defaultOverlayProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
31
103
  zIndex: 1e3,
32
104
  duration: 300,
@@ -47,22 +119,10 @@ var Overlay = function Overlay2(props) {
47
119
  } else {
48
120
  setInnerVisible(false);
49
121
  }
50
- lock();
51
122
  }, [visible]);
52
- useEffect(function() {
53
- return function() {
54
- document.body.classList.remove("nut-overflow-hidden");
55
- };
56
- }, []);
123
+ useLockScroll(nodeRef, !!props.lockScroll && innerVisible);
57
124
  var classes = classNames(className, classPrefix);
58
125
  var styles = _objectSpread({}, style);
59
- var lock = function lock2() {
60
- if (lockScroll && visible) {
61
- document.body.classList.add("nut-overflow-hidden");
62
- } else {
63
- document.body.classList.remove("nut-overflow-hidden");
64
- }
65
- };
66
126
  var handleClick = function handleClick2(e) {
67
127
  if (closeOnOverlayClick) {
68
128
  onClick2 && onClick2(e);
@@ -94,5 +154,6 @@ Overlay.defaultProps = defaultOverlayProps;
94
154
  Overlay.displayName = "NutOverlay";
95
155
  export {
96
156
  Overlay as O,
97
- defaultOverlayProps as d
157
+ defaultOverlayProps as d,
158
+ useLockScroll as u
98
159
  };
@@ -26,7 +26,7 @@ import { createPortal } from "react-dom";
26
26
  import { CSSTransition } from "react-transition-group";
27
27
  import classNames from "classnames";
28
28
  import { Close } from "@nutui/icons-react";
29
- import { d as defaultOverlayProps } from "./overlay2.js";
29
+ import { d as defaultOverlayProps, u as useLockScroll } from "./overlay2.js";
30
30
  import Overlay from "./Overlay.js";
31
31
  import { C as ComponentDefaults } from "./typings.js";
32
32
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
@@ -57,10 +57,12 @@ var Popup = function Popup2(props) {
57
57
  var _classNames, _classNames2;
58
58
  var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props), children = _defaultProps$props.children, visible = _defaultProps$props.visible, overlay = _defaultProps$props.overlay, closeOnOverlayClick = _defaultProps$props.closeOnOverlayClick, overlayStyle = _defaultProps$props.overlayStyle, overlayClassName = _defaultProps$props.overlayClassName, zIndex = _defaultProps$props.zIndex, lockScroll = _defaultProps$props.lockScroll, duration = _defaultProps$props.duration, closeable = _defaultProps$props.closeable, closeIconPosition = _defaultProps$props.closeIconPosition, closeIcon = _defaultProps$props.closeIcon, left = _defaultProps$props.left, title = _defaultProps$props.title, style = _defaultProps$props.style, transition = _defaultProps$props.transition, round = _defaultProps$props.round, position = _defaultProps$props.position, className = _defaultProps$props.className, destroyOnClose = _defaultProps$props.destroyOnClose, portal = _defaultProps$props.portal, onOpen2 = _defaultProps$props.onOpen, onClose2 = _defaultProps$props.onClose, onOverlayClick2 = _defaultProps$props.onOverlayClick, onCloseIconClick2 = _defaultProps$props.onCloseIconClick, afterShow = _defaultProps$props.afterShow, afterClose = _defaultProps$props.afterClose, onClick = _defaultProps$props.onClick;
59
59
  var nodeRef = React__default.useRef(null);
60
- var _useState = useState(zIndex || _zIndex), _useState2 = _slicedToArray(_useState, 2), index = _useState2[0], setIndex = _useState2[1];
60
+ var innerIndex = zIndex || _zIndex;
61
+ var _useState = useState(innerIndex), _useState2 = _slicedToArray(_useState, 2), index = _useState2[0], setIndex = _useState2[1];
61
62
  var _useState3 = useState(visible), _useState4 = _slicedToArray(_useState3, 2), innerVisible = _useState4[0], setInnerVisible = _useState4[1];
62
63
  var _useState5 = useState(true), _useState6 = _slicedToArray(_useState5, 2), showChildren = _useState6[0], setShowChildren = _useState6[1];
63
64
  var _useState7 = useState(""), _useState8 = _slicedToArray(_useState7, 2), transitionName = _useState8[0], setTransitionName = _useState8[1];
65
+ useLockScroll(nodeRef, innerVisible && lockScroll);
64
66
  var classPrefix = "nut-popup";
65
67
  var baseStyle = {
66
68
  zIndex: index
@@ -76,7 +78,7 @@ var Popup = function Popup2(props) {
76
78
  var open = function open2() {
77
79
  if (!innerVisible) {
78
80
  setInnerVisible(true);
79
- setIndex(++_zIndex);
81
+ setIndex(++innerIndex);
80
82
  }
81
83
  if (destroyOnClose) {
82
84
  setShowChildren(true);
@@ -166,7 +168,6 @@ var Popup = function Popup2(props) {
166
168
  className: overlayClassName,
167
169
  visible: innerVisible,
168
170
  closeOnOverlayClick,
169
- zIndex,
170
171
  lockScroll,
171
172
  duration,
172
173
  onClick: onHandleClickOverlay
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,24 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { BasicComponent } from '@/utils/typings';
3
+ import { CalendarCardDay, CalendarCardMonth, CalendarCardValue } from './types';
4
+ export interface CalendarCardProps extends BasicComponent {
5
+ type: 'single' | 'multiple' | 'range' | 'week';
6
+ value?: CalendarCardValue;
7
+ defaultValue?: CalendarCardValue;
8
+ firstDayOfWeek?: number;
9
+ startDate?: Date;
10
+ endDate?: Date;
11
+ disableDay?: (day: CalendarCardDay) => boolean;
12
+ renderDay?: (day: CalendarCardDay) => ReactNode;
13
+ renderDayTop?: (day: CalendarCardDay) => ReactNode;
14
+ renderDayBottom?: (day: CalendarCardDay) => ReactNode;
15
+ onDayClick?: (day: CalendarCardDay) => void;
16
+ onPageChange: (data: CalendarCardMonth) => void;
17
+ onChange: (value: CalendarCardValue) => void;
18
+ }
19
+ type CalendarCardRef = {
20
+ jump: (step: number) => void;
21
+ jumpTo: (year: number, month: number) => void;
22
+ };
23
+ export declare const CalendarCard: React.ForwardRefExoticComponent<Partial<CalendarCardProps> & React.RefAttributes<CalendarCardRef>>;
24
+ export {};
@@ -0,0 +1,24 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { BasicComponent } from '@/utils/typings';
3
+ import { CalendarCardDay, CalendarCardMonth, CalendarCardValue } from './types';
4
+ export interface CalendarCardProps extends BasicComponent {
5
+ type: 'single' | 'multiple' | 'range' | 'week';
6
+ value?: CalendarCardValue;
7
+ defaultValue?: CalendarCardValue;
8
+ firstDayOfWeek?: number;
9
+ startDate?: Date;
10
+ endDate?: Date;
11
+ disableDay?: (day: CalendarCardDay) => boolean;
12
+ renderDay?: (day: CalendarCardDay) => ReactNode;
13
+ renderDayTop?: (day: CalendarCardDay) => ReactNode;
14
+ renderDayBottom?: (day: CalendarCardDay) => ReactNode;
15
+ onDayClick?: (day: CalendarCardDay) => void;
16
+ onPageChange: (data: CalendarCardMonth) => void;
17
+ onChange: (value: CalendarCardValue) => void;
18
+ }
19
+ type CalendarCardRef = {
20
+ jump: (step: number) => void;
21
+ jumpTo: (year: number, month: number) => void;
22
+ };
23
+ export declare const CalendarCard: React.ForwardRefExoticComponent<Partial<CalendarCardProps> & React.RefAttributes<CalendarCardRef>>;
24
+ export {};
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const CalendarDemo: () => JSX.Element;
3
+ export default CalendarDemo;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const CalendarDemo: () => JSX.Element;
3
+ export default CalendarDemo;
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ export declare const Left: FC;
3
+ export declare const Right: FC;
4
+ export declare const DoubleLeft: FC;
5
+ export declare const DoubleRight: FC;
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ export declare const Left: FC;
3
+ export declare const Right: FC;
4
+ export declare const DoubleLeft: FC;
5
+ export declare const DoubleRight: FC;
@@ -0,0 +1,3 @@
1
+ import { CalendarCard } from './calendarcard';
2
+ export type { CalendarCardDay, CalendarCardMonth, CalendarCardValue, } from './types';
3
+ export default CalendarCard;
@@ -0,0 +1,3 @@
1
+ import { CalendarCard } from './calendarcard.taro';
2
+ export type { CalendarCardDay, CalendarCardMonth, CalendarCardValue, } from './types';
3
+ export default CalendarCard;
@@ -0,0 +1,11 @@
1
+ export interface CalendarCardDay {
2
+ type?: 'prev' | 'current' | 'next';
3
+ year: number;
4
+ month: number;
5
+ date: number;
6
+ }
7
+ export interface CalendarCardMonth {
8
+ year: number;
9
+ month: number;
10
+ }
11
+ export type CalendarCardValue = Date | Date[] | null;
@@ -0,0 +1,19 @@
1
+ import { CalendarCardDay } from './types';
2
+ export declare const convertDateToDay: (date: Date) => {
3
+ year: number;
4
+ month: number;
5
+ date: number;
6
+ } | null;
7
+ export declare const convertDayToDate: (day: CalendarCardDay) => Date | null;
8
+ /**
9
+ * 获取当月面板中前一个月的日期数据
10
+ */
11
+ export declare const getPrevMonthDays: (year: number, month: number, firstDayOfWeek: number) => CalendarCardDay[];
12
+ /**
13
+ * 获取当前月的日期数据
14
+ */
15
+ export declare const getCurrentMonthDays: (year: number, month: number) => CalendarCardDay[];
16
+ /**
17
+ * 根据日期获取当前周的起始日期
18
+ */
19
+ export declare const getCurrentWeekDays: (day: CalendarCardDay, firstDayOfWeek: number) => CalendarCardDay[];
@@ -1,5 +1,5 @@
1
1
  import React, { FunctionComponent } from 'react';
2
- import { PickerOption } from '@/packages/picker/index';
2
+ import { PickerOption, PickerProps } from '@/packages/picker/index';
3
3
  import { BasicComponent } from '@/utils/typings';
4
4
  export interface DatePickerProps extends BasicComponent {
5
5
  value?: Date;
@@ -12,6 +12,7 @@ export interface DatePickerProps extends BasicComponent {
12
12
  startDate: Date;
13
13
  endDate: Date;
14
14
  threeDimensional: boolean;
15
+ pickerProps: Partial<Omit<PickerProps, 'defaultValue' | 'threeDimensional' | 'title' | 'value' | 'onConfirm' | 'onClose' | 'onChange'>>;
15
16
  formatter: (type: string, option: PickerOption) => PickerOption;
16
17
  filter: (type: string, option: PickerOption[]) => PickerOption[];
17
18
  onClose: () => void;
@@ -1,5 +1,5 @@
1
1
  import React, { FunctionComponent } from 'react';
2
- import { PickerOption } from '@/packages/picker/index';
2
+ import { PickerOption, PickerProps } from '@/packages/picker/index.taro';
3
3
  import { BasicComponent } from '@/utils/typings';
4
4
  export interface DatePickerProps extends BasicComponent {
5
5
  value?: Date;
@@ -12,6 +12,7 @@ export interface DatePickerProps extends BasicComponent {
12
12
  startDate: Date;
13
13
  endDate: Date;
14
14
  threeDimensional: boolean;
15
+ pickerProps: Partial<Omit<PickerProps, 'defaultValue' | 'threeDimensional' | 'title' | 'value' | 'onConfirm' | 'onClose' | 'onChange'>>;
15
16
  formatter: (type: string, option: PickerOption) => PickerOption;
16
17
  filter: (type: string, option: PickerOption[]) => PickerOption[];
17
18
  onClose: () => void;
@@ -26,6 +26,7 @@ import Tabs from '@/packages/tabs';
26
26
  import Address from '@/packages/address';
27
27
  import Calendar from '@/packages/calendar';
28
28
  import CalendarItem from '@/packages/calendaritem';
29
+ import CalendarCard from '@/packages/calendarcard';
29
30
  import Cascader from '@/packages/cascader';
30
31
  import Checkbox from '@/packages/checkbox';
31
32
  import CheckboxGroup from '@/packages/checkboxgroup';
@@ -93,4 +94,4 @@ import TimeDetail from '@/packages/timedetail';
93
94
  import TimeSelect from '@/packages/timeselect';
94
95
  import TrendArrow from '@/packages/trendarrow';
95
96
  import WaterMark from '@/packages/watermark';
96
- export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
97
+ export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, CalendarCard, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
@@ -26,6 +26,7 @@ import Tabs from '@/packages/tabs';
26
26
  import Address from '@/packages/address';
27
27
  import Calendar from '@/packages/calendar';
28
28
  import CalendarItem from '@/packages/calendaritem';
29
+ import CalendarCard from '@/packages/calendarcard';
29
30
  import Cascader from '@/packages/cascader';
30
31
  import Checkbox from '@/packages/checkbox';
31
32
  import CheckboxGroup from '@/packages/checkboxgroup';
@@ -121,6 +122,7 @@ import '@/packages/tabs/tabs.scss';
121
122
  import '@/packages/address/address.scss';
122
123
  import '@/packages/calendar/calendar.scss';
123
124
  import '@/packages/calendaritem/calendaritem.scss';
125
+ import '@/packages/calendarcard/calendarcard.scss';
124
126
  import '@/packages/cascader/cascader.scss';
125
127
  import '@/packages/checkbox/checkbox.scss';
126
128
  import '@/packages/checkboxgroup/checkboxgroup.scss';
@@ -188,4 +190,4 @@ import '@/packages/timedetail/timedetail.scss';
188
190
  import '@/packages/timeselect/timeselect.scss';
189
191
  import '@/packages/trendarrow/trendarrow.scss';
190
192
  import '@/packages/watermark/watermark.scss';
191
- export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
193
+ export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, CalendarCard, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
@@ -26,6 +26,7 @@ import '@/packages/tabs/tabs.scss';
26
26
  import '@/packages/address/address.scss';
27
27
  import '@/packages/calendar/calendar.scss';
28
28
  import '@/packages/calendaritem/calendaritem.scss';
29
+ import '@/packages/calendarcard/calendarcard.scss';
29
30
  import '@/packages/cascader/cascader.scss';
30
31
  import '@/packages/checkbox/checkbox.scss';
31
32
  import '@/packages/checkboxgroup/checkboxgroup.scss';
@@ -26,6 +26,7 @@ import Tabs from '@/packages/tabs/index.taro';
26
26
  import Address from '@/packages/address/index.taro';
27
27
  import Calendar from '@/packages/calendar/index.taro';
28
28
  import CalendarItem from '@/packages/calendaritem/index.taro';
29
+ import CalendarCard from '@/packages/calendarcard/index.taro';
29
30
  import Cascader from '@/packages/cascader/index.taro';
30
31
  import Checkbox from '@/packages/checkbox/index.taro';
31
32
  import CheckboxGroup from '@/packages/checkboxgroup/index.taro';
@@ -121,6 +122,7 @@ import '@/packages/tabs/tabs.scss';
121
122
  import '@/packages/address/address.scss';
122
123
  import '@/packages/calendar/calendar.scss';
123
124
  import '@/packages/calendaritem/calendaritem.scss';
125
+ import '@/packages/calendarcard/calendarcard.scss';
124
126
  import '@/packages/cascader/cascader.scss';
125
127
  import '@/packages/checkbox/checkbox.scss';
126
128
  import '@/packages/checkboxgroup/checkboxgroup.scss';
@@ -188,4 +190,4 @@ import '@/packages/timedetail/timedetail.scss';
188
190
  import '@/packages/timeselect/timeselect.scss';
189
191
  import '@/packages/trendarrow/trendarrow.scss';
190
192
  import '@/packages/watermark/watermark.scss';
191
- export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
193
+ export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, CalendarCard, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
@@ -26,6 +26,7 @@ import '@/packages/tabs/tabs.scss';
26
26
  import '@/packages/address/address.scss';
27
27
  import '@/packages/calendar/calendar.scss';
28
28
  import '@/packages/calendaritem/calendaritem.scss';
29
+ import '@/packages/calendarcard/calendarcard.scss';
29
30
  import '@/packages/cascader/cascader.scss';
30
31
  import '@/packages/checkbox/checkbox.scss';
31
32
  import '@/packages/checkboxgroup/checkboxgroup.scss';
@@ -26,6 +26,7 @@ import Tabs from '@/packages/tabs/index.taro';
26
26
  import Address from '@/packages/address/index.taro';
27
27
  import Calendar from '@/packages/calendar/index.taro';
28
28
  import CalendarItem from '@/packages/calendaritem/index.taro';
29
+ import CalendarCard from '@/packages/calendarcard/index.taro';
29
30
  import Cascader from '@/packages/cascader/index.taro';
30
31
  import Checkbox from '@/packages/checkbox/index.taro';
31
32
  import CheckboxGroup from '@/packages/checkboxgroup/index.taro';
@@ -93,4 +94,4 @@ import TimeDetail from '@/packages/timedetail/index.taro';
93
94
  import TimeSelect from '@/packages/timeselect/index.taro';
94
95
  import TrendArrow from '@/packages/trendarrow/index.taro';
95
96
  import WaterMark from '@/packages/watermark/index.taro';
96
- export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
97
+ export { Button, Cell, CellGroup, ConfigProvider, Image, Overlay, Col, Divider, Grid, GridItem, Layout, Row, Space, Sticky, BackTop, Elevator, FixedNav, NavBar, SideNavBar, SideNavBarItem, SubSideNavBar, Tabbar, TabbarItem, TabPane, Tabs, Address, Calendar, CalendarItem, CalendarCard, Cascader, Checkbox, CheckboxGroup, DatePicker, Form, FormItem, Input, InputNumber, Menu, MenuItem, NumberKeyboard, Picker, Radio, RadioGroup, Range, Rate, SearchBar, ShortPassword, Signature, Switch, TextArea, Uploader, ActionSheet, Badge, Dialog, Drag, Empty, InfiniteLoading, Loading, NoticeBar, Notify, Popover, Popup, PullToRefresh, Skeleton, Swipe, Toast, Animate, AnimatingNumbers, Audio, Avatar, AvatarGroup, CircleProgress, Collapse, CollapseItem, CountDown, Ellipsis, ImagePreview, Indicator, Pagination, Price, Progress, Step, Steps, Swiper, SwiperItem, Table, Tag, Tour, Video, VirtualList, Barrage, Card, TimeDetail, TimeSelect, TrendArrow, WaterMark };
@@ -1,4 +1,5 @@
1
1
  import React, { RefObject } from 'react';
2
+ import { PopupProps } from '@/packages/popup/popup';
2
3
  import { PickerOption } from './types';
3
4
  import { BasicComponent } from '@/utils/typings';
4
5
  export type PickerActions = {
@@ -13,6 +14,7 @@ export interface PickerProps extends Omit<BasicComponent, 'children'> {
13
14
  defaultValue?: (number | string)[];
14
15
  threeDimensional?: boolean;
15
16
  duration: number | string;
17
+ popupProps: Partial<Omit<PopupProps, 'title' | 'onClose'>>;
16
18
  onConfirm?: (selectedOptions: PickerOption[], selectedValue: (string | number)[]) => void;
17
19
  onClose?: (selectedOptions: PickerOption[], selectedValue: (string | number)[]) => void;
18
20
  afterClose?: (selectedOptions: PickerOption[], selectedValue: (string | number)[], pickerRef: RefObject<HTMLDivElement>) => void;
@@ -1,4 +1,5 @@
1
1
  import React, { RefObject } from 'react';
2
+ import { PopupProps } from '@/packages/popup/popup.taro';
2
3
  import { PickerOption } from './types';
3
4
  import { BasicComponent } from '@/utils/typings';
4
5
  export type PickerActions = {
@@ -13,6 +14,7 @@ export interface PickerProps extends Omit<BasicComponent, 'children'> {
13
14
  defaultValue?: (number | string)[];
14
15
  threeDimensional?: boolean;
15
16
  duration: number | string;
17
+ popupProps: Partial<Omit<PopupProps, 'title' | 'onClose'>>;
16
18
  onConfirm?: (selectedOptions: PickerOption[], selectedValue: (string | number)[]) => void;
17
19
  onClose?: (selectedOptions: PickerOption[], selectedValue: (string | number)[]) => void;
18
20
  afterClose?: (selectedOptions: PickerOption[], selectedValue: (string | number)[], pickerRef: RefObject<HTMLDivElement>) => void;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const useLockScrollTaro: (shouldLock: boolean) => import("react").MutableRefObject<null>;
@@ -0,0 +1,2 @@
1
+ import { RefObject } from 'react';
2
+ export declare function useLockScroll(rootRef: RefObject<HTMLElement>, shouldLock: boolean | 'strict'): void;
@@ -1,17 +1,16 @@
1
+ import React from 'react';
1
2
  type Direction = '' | 'vertical' | 'horizontal';
2
3
  export declare function useTouch(): {
3
4
  move: (event: React.TouchEvent<HTMLElement>) => void;
4
5
  start: (event: React.TouchEvent<HTMLElement>) => void;
5
6
  reset: () => void;
6
- startX: number;
7
- startY: number;
8
- moveX: number;
9
- moveY: number;
10
- deltaX: number;
11
- deltaY: number;
12
- offsetX: number;
13
- offsetY: number;
14
- direction: Direction;
7
+ startX: React.MutableRefObject<number>;
8
+ startY: React.MutableRefObject<number>;
9
+ deltaX: React.MutableRefObject<number>;
10
+ deltaY: React.MutableRefObject<number>;
11
+ offsetX: React.MutableRefObject<number>;
12
+ offsetY: React.MutableRefObject<number>;
13
+ direction: React.MutableRefObject<Direction>;
15
14
  isVertical: () => boolean;
16
15
  isHorizontal: () => boolean;
17
16
  };
@@ -1,5 +1,4 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import { useState } from "react";
1
+ import { useRef } from "react";
3
2
  var MIN_DISTANCE = 10;
4
3
  function getDirection(x, y) {
5
4
  if (x > y && x > MIN_DISTANCE) {
@@ -11,45 +10,39 @@ function getDirection(x, y) {
11
10
  return "";
12
11
  }
13
12
  function useTouch() {
14
- var _useState = useState(0), _useState2 = _slicedToArray(_useState, 2), startX = _useState2[0], SetStartX = _useState2[1];
15
- var _useState3 = useState(0), _useState4 = _slicedToArray(_useState3, 2), startY = _useState4[0], SetStartY = _useState4[1];
16
- var _useState5 = useState(0), _useState6 = _slicedToArray(_useState5, 2), moveX = _useState6[0], SetMoveX = _useState6[1];
17
- var _useState7 = useState(0), _useState8 = _slicedToArray(_useState7, 2), moveY = _useState8[0], SetMoveY = _useState8[1];
18
- var _useState9 = useState(0), _useState10 = _slicedToArray(_useState9, 2), deltaX = _useState10[0], SetDeltaX = _useState10[1];
19
- var _useState11 = useState(0), _useState12 = _slicedToArray(_useState11, 2), deltaY = _useState12[0], SetDeltaY = _useState12[1];
20
- var _useState13 = useState(0), _useState14 = _slicedToArray(_useState13, 2), offsetX = _useState14[0], SetOffsetX = _useState14[1];
21
- var _useState15 = useState(0), _useState16 = _slicedToArray(_useState15, 2), offsetY = _useState16[0], SetOffsetY = _useState16[1];
22
- var _useState17 = useState(""), _useState18 = _slicedToArray(_useState17, 2), direction = _useState18[0], SetDirection = _useState18[1];
13
+ var startX = useRef(0);
14
+ var startY = useRef(0);
15
+ var deltaX = useRef(0);
16
+ var deltaY = useRef(0);
17
+ var offsetX = useRef(0);
18
+ var offsetY = useRef(0);
19
+ var direction = useRef("");
23
20
  var isVertical = function isVertical2() {
24
- return direction === "vertical";
21
+ return direction.current === "vertical";
25
22
  };
26
23
  var isHorizontal = function isHorizontal2() {
27
- return direction === "horizontal";
24
+ return direction.current === "horizontal";
28
25
  };
29
26
  var reset = function reset2() {
30
- SetDeltaX(0);
31
- SetDeltaY(0);
32
- SetOffsetX(0);
33
- SetOffsetY(0);
34
- SetDirection("");
27
+ deltaX.current = 0;
28
+ deltaY.current = 0;
29
+ offsetX.current = 0;
30
+ offsetY.current = 0;
31
+ direction.current = "";
35
32
  };
36
33
  var start = function start2(event) {
37
34
  reset();
38
- SetStartX(event.touches[0].clientX);
39
- SetStartY(event.touches[0].clientY);
35
+ startX.current = event.touches[0].clientX;
36
+ startY.current = event.touches[0].clientY;
40
37
  };
41
38
  var move = function move2(event) {
42
39
  var touch = event.touches[0];
43
- var dX = touch.clientX - startX;
44
- var dY = touch.clientY - startY;
45
- SetDeltaX(dX);
46
- SetDeltaY(dY);
47
- SetMoveX(touch.clientX);
48
- SetMoveY(touch.clientY);
49
- SetOffsetX(Math.abs(dX));
50
- SetOffsetY(Math.abs(dY));
51
- if (!direction) {
52
- SetDirection(getDirection(offsetX, offsetY));
40
+ deltaX.current = touch.clientX < 0 ? 0 : touch.clientX - startX.current;
41
+ deltaY.current = touch.clientY - startY.current;
42
+ offsetX.current = Math.abs(deltaX.current);
43
+ offsetY.current = Math.abs(deltaY.current);
44
+ if (!direction.current) {
45
+ direction.current = getDirection(offsetX.current, offsetY.current);
53
46
  }
54
47
  };
55
48
  return {
@@ -58,8 +51,6 @@ function useTouch() {
58
51
  reset,
59
52
  startX,
60
53
  startY,
61
- moveX,
62
- moveY,
63
54
  deltaX,
64
55
  deltaY,
65
56
  offsetX,
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.22 Fri Oct 27 2023 18:22:21 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.23 Fri Nov 03 2023 19:52:15 GMT+0800 (中国标准时间)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.22 Fri Oct 27 2023 18:22:21 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.23 Fri Nov 03 2023 19:52:15 GMT+0800 (中国标准时间)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.22 Fri Oct 27 2023 18:22:21 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.23 Fri Nov 03 2023 19:52:15 GMT+0800 (中国标准时间)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.22 Fri Oct 27 2023 18:22:21 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.23 Fri Nov 03 2023 19:52:15 GMT+0800 (中国标准时间)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.22 Fri Oct 27 2023 18:22:21 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.23 Fri Nov 03 2023 19:52:15 GMT+0800 (中国标准时间)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.22 Fri Oct 27 2023 18:22:21 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.23 Fri Nov 03 2023 19:52:15 GMT+0800 (中国标准时间)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react v2.0.22 Fri Oct 27 2023 18:22:21 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react v2.0.23 Fri Nov 03 2023 19:52:15 GMT+0800 (中国标准时间)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */