@trionesdev/antd-taro-react 0.0.2-beta.2 → 0.0.2-beta.20

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 (179) hide show
  1. package/LICENSE +21 -21
  2. package/dist/ActionSheet/ActionSheet.d.ts +25 -0
  3. package/dist/ActionSheet/ActionSheet.js +77 -0
  4. package/dist/ActionSheet/index.d.ts +1 -1
  5. package/dist/ActionSheet/index.js +1 -1
  6. package/dist/ActionSheet/style.scss +52 -0
  7. package/dist/Button/button.d.ts +2 -1
  8. package/dist/Button/button.js +2 -3
  9. package/dist/Button/style.scss +246 -231
  10. package/dist/Calendar/calendar-grid.d.ts +10 -9
  11. package/dist/Calendar/calendar-grid.js +37 -62
  12. package/dist/Calendar/calendar-header.d.ts +3 -2
  13. package/dist/Calendar/calendar-header.js +9 -6
  14. package/dist/Calendar/calendar-range.d.ts +4 -3
  15. package/dist/Calendar/calendar-range.js +22 -18
  16. package/dist/Calendar/calendar.d.ts +5 -4
  17. package/dist/Calendar/calendar.js +30 -17
  18. package/dist/Calendar/style.scss +88 -85
  19. package/dist/Calendar/touchable-calendar-grid.d.ts +6 -5
  20. package/dist/Calendar/touchable-calendar-grid.js +96 -95
  21. package/dist/CalendarDatetimePicker/CalendarDatetimePicker.d.ts +3 -2
  22. package/dist/CalendarDatetimePicker/CalendarDatetimePicker.js +40 -57
  23. package/dist/CalendarDatetimePicker/DateTimeSwitch.d.ts +3 -2
  24. package/dist/CalendarDatetimePicker/DateTimeSwitch.js +2 -2
  25. package/dist/CalendarDatetimePicker/style.scss +62 -54
  26. package/dist/CalendarDatetimePickerCell/CalendarDatetimePickerCell.d.ts +9 -0
  27. package/dist/CalendarDatetimePickerCell/CalendarDatetimePickerCell.js +60 -0
  28. package/dist/CalendarDatetimePickerCell/index.d.ts +3 -0
  29. package/dist/CalendarDatetimePickerCell/index.js +2 -0
  30. package/dist/CalendarPicker/{calendar-picker.js → CalendarPicker.js} +10 -6
  31. package/dist/CalendarPicker/{calendar-range-picker.js → CalendarRangePicker.js} +8 -6
  32. package/dist/CalendarPicker/index.d.ts +3 -4
  33. package/dist/CalendarPicker/index.js +2 -2
  34. package/dist/CalendarPicker/style.scss +32 -31
  35. package/dist/CalendarPicker/types.d.ts +8 -6
  36. package/dist/CalendarPicker/types.js +1 -1
  37. package/dist/CalendarPickerCell/CalendarPickerCell.d.ts +11 -0
  38. package/dist/CalendarPickerCell/CalendarPickerCell.js +54 -0
  39. package/dist/CalendarPickerCell/CalendarRangePickerCell.d.ts +11 -0
  40. package/dist/CalendarPickerCell/CalendarRangePickerCell.js +56 -0
  41. package/dist/CalendarPickerCell/index.d.ts +8 -0
  42. package/dist/CalendarPickerCell/index.js +5 -0
  43. package/dist/CascaderPicker/cascader-picker.d.ts +27 -0
  44. package/dist/CascaderPicker/cascader-picker.js +90 -0
  45. package/dist/CascaderPicker/index.d.ts +1 -1
  46. package/dist/CascaderPicker/index.js +1 -1
  47. package/dist/CascaderPicker/style.scss +45 -0
  48. package/dist/CascaderPickerCell/CascaderPickerCell.d.ts +20 -0
  49. package/dist/CascaderPickerCell/CascaderPickerCell.js +70 -0
  50. package/dist/CascaderPickerCell/index.d.ts +3 -0
  51. package/dist/CascaderPickerCell/index.js +2 -0
  52. package/dist/DatePicker/DatePicker.d.ts +18 -0
  53. package/dist/DatePicker/DatePicker.js +310 -0
  54. package/dist/DatePicker/index.d.ts +4 -0
  55. package/dist/DatePicker/index.js +3 -0
  56. package/dist/DatePicker/style.scss +41 -0
  57. package/dist/DatePicker/types.d.ts +1 -0
  58. package/dist/DatePicker/types.js +1 -0
  59. package/dist/DatePickerCell/DatePickerCell.d.ts +16 -0
  60. package/dist/DatePickerCell/DatePickerCell.js +78 -0
  61. package/dist/DatePickerCell/index.d.ts +3 -0
  62. package/dist/DatePickerCell/index.js +2 -0
  63. package/dist/FetchPicker/FetchPicker.d.ts +78 -0
  64. package/dist/FetchPicker/FetchPicker.js +310 -0
  65. package/dist/FetchPicker/index.d.ts +4 -0
  66. package/dist/FetchPicker/index.js +3 -0
  67. package/dist/FetchPicker/styles.scss +130 -0
  68. package/dist/FloatButton/FloatButton.d.ts +19 -0
  69. package/dist/FloatButton/FloatButton.js +60 -0
  70. package/dist/FloatButton/FloatButtonGroup.d.ts +21 -0
  71. package/dist/FloatButton/FloatButtonGroup.js +141 -0
  72. package/dist/FloatButton/context.d.ts +10 -0
  73. package/dist/FloatButton/context.js +2 -0
  74. package/dist/FloatButton/index.d.ts +10 -0
  75. package/dist/FloatButton/index.js +5 -0
  76. package/dist/FloatButton/style.scss +126 -0
  77. package/dist/Form/FormItem/form-item-content.d.ts +17 -0
  78. package/dist/Form/FormItem/form-item-content.js +39 -0
  79. package/dist/Form/FormItem/form-item-label.d.ts +13 -0
  80. package/dist/Form/FormItem/form-item-label.js +29 -0
  81. package/dist/Form/FormItem/form-item.d.ts +23 -0
  82. package/dist/Form/FormItem/form-item.js +77 -0
  83. package/dist/Form/FormItem/index.d.ts +5 -0
  84. package/dist/Form/FormItem/index.js +3 -0
  85. package/dist/Form/index.d.ts +9 -2
  86. package/dist/Form/index.js +5 -1
  87. package/dist/Form/style.scss +100 -0
  88. package/dist/FormCell/index.d.ts +3 -0
  89. package/dist/FormCell/index.js +2 -0
  90. package/dist/ImagesPreview/ImagesPreview.js +4 -3
  91. package/dist/ImagesPreview/style.scss +34 -34
  92. package/dist/ImagesWall/ImagesWall.js +1 -1
  93. package/dist/ImagesWall/style.scss +70 -70
  94. package/dist/Input/index.d.ts +17 -2
  95. package/dist/Input/index.js +13 -1
  96. package/dist/Input/index.scss +282 -0
  97. package/dist/Input/input-affix-wrapper.d.ts +13 -0
  98. package/dist/Input/input-affix-wrapper.js +37 -0
  99. package/dist/Input/input-digit.d.ts +7 -0
  100. package/dist/Input/input-digit.js +53 -0
  101. package/dist/Input/input-number.d.ts +7 -0
  102. package/dist/Input/input-number.js +50 -0
  103. package/dist/Input/input-opt.d.ts +16 -0
  104. package/dist/Input/input-opt.js +87 -0
  105. package/dist/Input/input-password.d.ts +8 -0
  106. package/dist/Input/input-password.js +49 -0
  107. package/dist/Input/input.d.ts +3 -0
  108. package/dist/Input/input.js +7 -0
  109. package/dist/Input/taro-input.d.ts +8 -0
  110. package/dist/Input/taro-input.js +70 -0
  111. package/dist/Input/textarea.d.ts +15 -0
  112. package/dist/Input/textarea.js +52 -0
  113. package/dist/Input/types.d.ts +20 -0
  114. package/dist/Input/types.js +2 -0
  115. package/dist/Loading/index.d.ts +4 -0
  116. package/dist/Loading/index.js +3 -0
  117. package/dist/Overlay/Overlay.d.ts +17 -0
  118. package/dist/Overlay/Overlay.js +100 -0
  119. package/dist/Overlay/index.d.ts +4 -0
  120. package/dist/Overlay/index.js +3 -0
  121. package/dist/Overlay/style.scss +20 -0
  122. package/dist/Picker/Picker.d.ts +27 -0
  123. package/dist/Picker/Picker.js +100 -0
  124. package/dist/Picker/index.d.ts +1 -1
  125. package/dist/Picker/index.js +1 -1
  126. package/dist/Picker/style.scss +41 -0
  127. package/dist/PickerView/PickerView.d.ts +4 -0
  128. package/dist/PickerView/PickerView.js +71 -0
  129. package/dist/PickerView/index.d.ts +2 -2
  130. package/dist/PickerView/index.js +1 -1
  131. package/dist/PickerView/style.scss +13 -0
  132. package/dist/PickerView/types.d.ts +15 -0
  133. package/dist/PickerView/types.js +1 -0
  134. package/dist/Popup/Popup.d.ts +48 -0
  135. package/dist/Popup/Popup.js +135 -0
  136. package/dist/Popup/index.d.ts +2 -1
  137. package/dist/Popup/index.js +2 -1
  138. package/dist/Popup/style.scss +126 -0
  139. package/dist/Progress/index.d.ts +1 -1
  140. package/dist/Progress/index.js +1 -1
  141. package/dist/Segmented/index.d.ts +3 -0
  142. package/dist/Segmented/index.js +2 -0
  143. package/dist/SideBar/side-bar.js +9 -8
  144. package/dist/SideBar/style.scss +85 -85
  145. package/dist/Stepper/index.d.ts +3 -0
  146. package/dist/Stepper/index.js +2 -0
  147. package/dist/Toast/Toast.d.ts +18 -0
  148. package/dist/Toast/Toast.js +112 -0
  149. package/dist/Toast/index.d.ts +1 -1
  150. package/dist/Toast/index.js +1 -1
  151. package/dist/Toast/style.scss +63 -0
  152. package/dist/VerificationCodeInput/index.d.ts +2 -2
  153. package/dist/VerificationCodeInput/index.js +1 -1
  154. package/dist/VerificationCodeInput/style.scss +20 -0
  155. package/dist/VerificationCodeInput/verification-code-input.d.ts +24 -0
  156. package/dist/VerificationCodeInput/verification-code-input.js +99 -0
  157. package/dist/index.d.ts +28 -7
  158. package/dist/index.js +12 -2
  159. package/dist/style/variable.scss +34 -1
  160. package/dist/types.d.ts +0 -1
  161. package/dist/utils/dayjs.d.ts +4 -0
  162. package/dist/utils/dayjs.js +42 -0
  163. package/package.json +25 -30
  164. package/readme.md +23 -23
  165. package/dist/Mask/index.d.ts +0 -3
  166. package/dist/Mask/index.js +0 -2
  167. package/dist/Progress/Progress.d.ts +0 -38
  168. package/dist/Progress/Progress.js +0 -53
  169. package/dist/Progress/ProgressCircle.d.ts +0 -16
  170. package/dist/Progress/ProgressCircle.js +0 -147
  171. package/dist/Progress/ProgressLine.d.ts +0 -15
  172. package/dist/Progress/ProgressLine.js +0 -87
  173. package/dist/Progress/style.scss +0 -33
  174. package/dist/Progress/types.d.ts +0 -4
  175. package/dist/Progress/types.js +0 -2
  176. package/dist/SpinLoading/index.d.ts +0 -3
  177. package/dist/SpinLoading/index.js +0 -2
  178. /package/dist/CalendarPicker/{calendar-picker.d.ts → CalendarPicker.d.ts} +0 -0
  179. /package/dist/CalendarPicker/{calendar-range-picker.d.ts → CalendarRangePicker.d.ts} +0 -0
@@ -0,0 +1,78 @@
1
+ var _excluded = ["value", "format", "onChange", "mode", "showTime", "minDate", "maxDate"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
+ import React, { useEffect, useMemo, useState } from "react";
12
+ import dayjs from "dayjs";
13
+ import DatePicker from "../DatePicker";
14
+ import Cell from "../Cell";
15
+ export var DatePickerCell = function DatePickerCell(_ref) {
16
+ var value = _ref.value,
17
+ format = _ref.format,
18
+ onChange = _ref.onChange,
19
+ _ref$mode = _ref.mode,
20
+ mode = _ref$mode === void 0 ? 'date' : _ref$mode,
21
+ _ref$showTime = _ref.showTime,
22
+ showTime = _ref$showTime === void 0 ? false : _ref$showTime,
23
+ minDate = _ref.minDate,
24
+ maxDate = _ref.maxDate,
25
+ rest = _objectWithoutProperties(_ref, _excluded);
26
+ var _React$useState = React.useState(false),
27
+ _React$useState2 = _slicedToArray(_React$useState, 2),
28
+ innerOpen = _React$useState2[0],
29
+ setInnerOpen = _React$useState2[1];
30
+ var _useState = useState(value),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ internalValue = _useState2[0],
33
+ setInternalValue = _useState2[1];
34
+ var renderFormat = useMemo(function () {
35
+ if (format) {
36
+ return format;
37
+ }
38
+ if (mode === 'date') {
39
+ return showTime ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';
40
+ } else if (mode === 'time') {
41
+ return 'HH:mm:ss';
42
+ }
43
+ return 'YYYY-MM-DD';
44
+ }, [mode, format, showTime]);
45
+ var handleValueRender = function handleValueRender() {
46
+ if (internalValue) {
47
+ return dayjs(internalValue).format(renderFormat);
48
+ }
49
+ return null;
50
+ };
51
+ useEffect(function () {
52
+ if (value === undefined) {
53
+ return;
54
+ }
55
+ if (value !== internalValue) {
56
+ setInternalValue(value);
57
+ }
58
+ }, [value]);
59
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DatePicker, {
60
+ open: innerOpen,
61
+ onClose: function onClose() {
62
+ setInnerOpen(false);
63
+ },
64
+ mode: mode,
65
+ showTime: showTime,
66
+ minDate: minDate,
67
+ maxDate: maxDate,
68
+ value: internalValue,
69
+ onOk: function onOk(value) {
70
+ setInternalValue(value);
71
+ onChange === null || onChange === void 0 || onChange(value);
72
+ }
73
+ }), /*#__PURE__*/React.createElement(Cell, _extends({
74
+ onClick: function onClick() {
75
+ setInnerOpen(true);
76
+ }
77
+ }, rest), handleValueRender()));
78
+ };
@@ -0,0 +1,3 @@
1
+ import { DatePickerCell, DatePickerCellPops } from "./DatePickerCell";
2
+ export type { DatePickerCellPops };
3
+ export default DatePickerCell;
@@ -0,0 +1,2 @@
1
+ import { DatePickerCell } from "./DatePickerCell";
2
+ export default DatePickerCell;
@@ -0,0 +1,78 @@
1
+ import React from "react";
2
+ import { PopupProps } from "../Popup";
3
+ type LabeledValue = {
4
+ label?: string;
5
+ value?: string | number;
6
+ };
7
+ type PickerValue = string | string[] | number | number[] | LabeledValue | LabeledValue[];
8
+ export type FetchPickerProps = Omit<PopupProps, ''> & {
9
+ /**
10
+ * @description 是否全屏
11
+ * @default false
12
+ */
13
+ fullScreen?: boolean;
14
+ /**
15
+ * @description 搜索框
16
+ * @default false
17
+ */
18
+ showSearch?: boolean;
19
+ /**
20
+ * @description 搜索框占位符
21
+ * @default 搜索
22
+ */
23
+ searchPlaceholder?: string;
24
+ value?: PickerValue;
25
+ /**
26
+ * @description 是否多选
27
+ * @default false
28
+ */
29
+ multiple?: boolean;
30
+ labelInValue?: boolean;
31
+ /**
32
+ * @description 弹窗标题
33
+ */
34
+ title?: React.ReactNode;
35
+ /**
36
+ * @description 取消按钮文字,fullScreen 为 false 时生效
37
+ * @default 取消
38
+ */
39
+ cancelText?: string;
40
+ /**
41
+ * @description 确定按钮文字,fullScreen 为 false 时生效
42
+ * @default 确定
43
+ */
44
+ okText?: string;
45
+ onCancel?: () => void;
46
+ onOk?: (value?: PickerValue, option?: any | any[]) => void;
47
+ /**
48
+ * @description 请求
49
+ * @default
50
+ */
51
+ fetch?: (params: {
52
+ page?: number;
53
+ size?: number;
54
+ wd?: string;
55
+ }) => Promise<any[]>;
56
+ fieldNames?: {
57
+ label?: string;
58
+ value?: string;
59
+ };
60
+ /**
61
+ * @description 空状态
62
+ * @default 暂无数据
63
+ */
64
+ empty?: React.ReactNode;
65
+ /**
66
+ * @description 是否分页
67
+ * @default false
68
+ */
69
+ pageable?: boolean;
70
+ /**
71
+ * @description 每页大小,pageable 为 true 时生效
72
+ * @default 20
73
+ */
74
+ pageSize?: number;
75
+ optionRender?: (option: any, selected: boolean) => React.ReactNode;
76
+ };
77
+ export declare const FetchPicker: React.FC<FetchPickerProps>;
78
+ export {};
@@ -0,0 +1,310 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["open", "fullScreen", "height", "showSearch", "searchPlaceholder", "value", "multiple", "labelInValue", "title", "cancelText", "okText", "onCancel", "onOk", "fetch", "fieldNames", "empty", "pageable", "pageSize", "optionRender", "round"];
3
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
18
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
22
+ import Popup from "../Popup";
23
+ import { Button, DotLoading, SafeArea, SpinLoading } from "../index";
24
+ import { CheckOutline, SearchOutline } from "@trionesdev/antd-mobile-icons-react";
25
+ import { ScrollView } from "@tarojs/components";
26
+ import Input from "../Input";
27
+ import { debounce, get, isEmpty, isEqual, some } from "lodash-es";
28
+ import classNames from "classnames";
29
+ var cls = "triones-antm-fetch-picker";
30
+ export var FetchPicker = function FetchPicker(_ref) {
31
+ var _ref$open = _ref.open,
32
+ open = _ref$open === void 0 ? false : _ref$open,
33
+ _ref$fullScreen = _ref.fullScreen,
34
+ fullScreen = _ref$fullScreen === void 0 ? false : _ref$fullScreen,
35
+ height = _ref.height,
36
+ _ref$showSearch = _ref.showSearch,
37
+ showSearch = _ref$showSearch === void 0 ? false : _ref$showSearch,
38
+ _ref$searchPlaceholde = _ref.searchPlaceholder,
39
+ searchPlaceholder = _ref$searchPlaceholde === void 0 ? '搜索' : _ref$searchPlaceholde,
40
+ value = _ref.value,
41
+ _ref$multiple = _ref.multiple,
42
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
43
+ _ref$labelInValue = _ref.labelInValue,
44
+ labelInValue = _ref$labelInValue === void 0 ? true : _ref$labelInValue,
45
+ title = _ref.title,
46
+ _ref$cancelText = _ref.cancelText,
47
+ cancelText = _ref$cancelText === void 0 ? '取消' : _ref$cancelText,
48
+ _ref$okText = _ref.okText,
49
+ okText = _ref$okText === void 0 ? '确定' : _ref$okText,
50
+ onCancel = _ref.onCancel,
51
+ onOk = _ref.onOk,
52
+ fetch = _ref.fetch,
53
+ fieldNames = _ref.fieldNames,
54
+ empty = _ref.empty,
55
+ pageable = _ref.pageable,
56
+ _ref$pageSize = _ref.pageSize,
57
+ pageSize = _ref$pageSize === void 0 ? 20 : _ref$pageSize,
58
+ optionRender = _ref.optionRender,
59
+ _ref$round = _ref.round,
60
+ round = _ref$round === void 0 ? true : _ref$round,
61
+ rest = _objectWithoutProperties(_ref, _excluded);
62
+ var _ref2 = fieldNames || {},
63
+ _ref2$label = _ref2.label,
64
+ labelFieldName = _ref2$label === void 0 ? 'label' : _ref2$label,
65
+ _ref2$value = _ref2.value,
66
+ valueFieldName = _ref2$value === void 0 ? 'value' : _ref2$value;
67
+ var _useState = useState([]),
68
+ _useState2 = _slicedToArray(_useState, 2),
69
+ options = _useState2[0],
70
+ setOptions = _useState2[1];
71
+ var _useState3 = useState({
72
+ page: 1,
73
+ size: pageSize
74
+ }),
75
+ _useState4 = _slicedToArray(_useState3, 2),
76
+ queryParams = _useState4[0],
77
+ setQueryParams = _useState4[1];
78
+ var _useState5 = useState(true),
79
+ _useState6 = _slicedToArray(_useState5, 2),
80
+ hasMore = _useState6[0],
81
+ setHasMore = _useState6[1];
82
+ var _useState7 = useState(false),
83
+ _useState8 = _slicedToArray(_useState7, 2),
84
+ loading = _useState8[0],
85
+ setLoading = _useState8[1];
86
+ var _useState9 = useState(value || (multiple ? [] : undefined)),
87
+ _useState10 = _slicedToArray(_useState9, 2),
88
+ internalValue = _useState10[0],
89
+ setInternalValue = _useState10[1];
90
+ var requestIdRef = useRef(0);
91
+ var handleGetOptions = useCallback(function (value) {
92
+ if (!value) return null;
93
+ if (multiple) {
94
+ if (labelInValue) {
95
+ return options.filter(function (option) {
96
+ return some(value, function (v) {
97
+ return get(option, valueFieldName) === get(v, "value");
98
+ });
99
+ });
100
+ } else {
101
+ return options.filter(function (option) {
102
+ return some(value, function (v) {
103
+ return get(option, valueFieldName) === v;
104
+ });
105
+ });
106
+ }
107
+ } else {
108
+ if (labelInValue) {
109
+ return options.find(function (option) {
110
+ return isEqual(get(option, valueFieldName), get(value, "value"));
111
+ });
112
+ } else {
113
+ return options.find(function (option) {
114
+ return get(option, valueFieldName) === value;
115
+ });
116
+ }
117
+ }
118
+ }, [labelInValue, options]);
119
+ var handleItemClick = useCallback(function (item) {
120
+ var itemValue = get(item, valueFieldName);
121
+ var itemLabel = get(item, labelFieldName);
122
+ var newValue;
123
+ if (multiple) {
124
+ var prevList = Array.isArray(internalValue) ? internalValue : [];
125
+ if (labelInValue) {
126
+ var values = prevList;
127
+ var exists = some(values, function (v) {
128
+ return get(v, "value") === itemValue;
129
+ });
130
+ newValue = exists ? values.filter(function (v) {
131
+ return get(v, "value") !== itemValue;
132
+ }) : [].concat(_toConsumableArray(values), [{
133
+ value: itemValue,
134
+ label: itemLabel
135
+ }]);
136
+ } else {
137
+ var _values = prevList;
138
+ var _exists = _values.includes(itemValue);
139
+ newValue = _exists ? _values.filter(function (v) {
140
+ return v !== itemValue;
141
+ }) : [].concat(_toConsumableArray(_values), [itemValue]);
142
+ }
143
+ } else {
144
+ newValue = labelInValue ? {
145
+ value: itemValue,
146
+ label: itemLabel
147
+ } : itemValue;
148
+ }
149
+ setInternalValue(newValue);
150
+ if (!multiple) {
151
+ var _option = handleGetOptions(newValue);
152
+ onOk === null || onOk === void 0 || onOk(newValue, _option);
153
+ onCancel === null || onCancel === void 0 || onCancel();
154
+ }
155
+ }, [internalValue, labelFieldName, labelInValue, multiple, onCancel, onOk, valueFieldName, options]);
156
+ var handleSelected = useCallback(function (item) {
157
+ if (!internalValue || isEmpty(internalValue)) {
158
+ return false;
159
+ }
160
+ if (multiple) {
161
+ if (labelInValue) {
162
+ return some(internalValue, function (v) {
163
+ return get(v, "value") === get(item, valueFieldName);
164
+ });
165
+ } else {
166
+ return internalValue === null || internalValue === void 0 ? void 0 : internalValue.includes(get(item, valueFieldName));
167
+ }
168
+ } else {
169
+ if (labelInValue) {
170
+ return get(internalValue, "value") === get(item, valueFieldName);
171
+ } else {
172
+ return internalValue === get(item, valueFieldName);
173
+ }
174
+ }
175
+ }, [internalValue, labelInValue, multiple, valueFieldName]);
176
+ var handleFetch = useCallback(function (params) {
177
+ if (!fetch) {
178
+ setOptions([]);
179
+ setHasMore(false);
180
+ return;
181
+ }
182
+ var requestId = ++requestIdRef.current;
183
+ setLoading(true);
184
+ fetch(params).then(function (res) {
185
+ if (requestId !== requestIdRef.current) {
186
+ return;
187
+ }
188
+ var nextOptions = res || [];
189
+ setOptions(function (prev) {
190
+ return params.page === 1 ? nextOptions : [].concat(_toConsumableArray(prev), _toConsumableArray(nextOptions));
191
+ });
192
+ setHasMore(pageable ? nextOptions.length >= params.size : false);
193
+ }).finally(function () {
194
+ if (requestId === requestIdRef.current) {
195
+ setLoading(false);
196
+ }
197
+ });
198
+ }, [fetch, pageable]);
199
+ var handleOnOk = function handleOnOk() {
200
+ onOk === null || onOk === void 0 || onOk(internalValue, handleGetOptions(internalValue));
201
+ onCancel === null || onCancel === void 0 || onCancel();
202
+ };
203
+ useEffect(function () {
204
+ if (!open) {
205
+ setInternalValue(multiple ? [] : undefined);
206
+ return;
207
+ }
208
+ handleFetch(queryParams);
209
+ }, [handleFetch, open, queryParams]);
210
+ useEffect(function () {
211
+ if (!open) {
212
+ return;
213
+ }
214
+ if (value == undefined) {
215
+ return;
216
+ }
217
+ setInternalValue(function (prev) {
218
+ return isEqual(value, prev) ? prev : value;
219
+ });
220
+ }, [open, value]);
221
+ var handleSearchChange = useMemo(function () {
222
+ return debounce(function (v) {
223
+ setQueryParams(function (prev) {
224
+ return _objectSpread(_objectSpread({}, prev), {}, {
225
+ page: 1,
226
+ wd: v
227
+ });
228
+ });
229
+ }, 500);
230
+ }, []);
231
+ useEffect(function () {
232
+ return function () {
233
+ return handleSearchChange.cancel();
234
+ };
235
+ }, [handleSearchChange]);
236
+ var header = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
237
+ className: classNames("".concat(cls, "-head-button"), "".concat(cls, "-head-button-cancel")),
238
+ onClick: onCancel
239
+ }, cancelText), /*#__PURE__*/React.createElement("div", {
240
+ className: "".concat(cls, "-head-title")
241
+ }, title), multiple && /*#__PURE__*/React.createElement("div", {
242
+ className: classNames("".concat(cls, "-head-button"), "".concat(cls, "-head-button-ok")),
243
+ onClick: handleOnOk
244
+ }, okText));
245
+ return /*#__PURE__*/React.createElement(Popup, _extends({}, rest, {
246
+ open: open,
247
+ height: fullScreen ? "calc(-24px + 100vh)" : height !== null && height !== void 0 ? height : 'auto',
248
+ onClose: onCancel,
249
+ round: round
250
+ }), /*#__PURE__*/React.createElement(SafeArea, null, /*#__PURE__*/React.createElement("div", {
251
+ className: cls
252
+ }, /*#__PURE__*/React.createElement("div", {
253
+ className: "".concat(cls, "-head")
254
+ }, header), showSearch && /*#__PURE__*/React.createElement("div", {
255
+ className: "".concat(cls, "-search-bar")
256
+ }, /*#__PURE__*/React.createElement(Input, {
257
+ className: "".concat(cls, "-search-bar-input"),
258
+ prefix: /*#__PURE__*/React.createElement("div", {
259
+ style: {
260
+ paddingInline: 8
261
+ }
262
+ }, /*#__PURE__*/React.createElement(SearchOutline, null)),
263
+ variant: "outlined",
264
+ placeholder: searchPlaceholder,
265
+ value: queryParams.wd,
266
+ onChange: handleSearchChange
267
+ })), /*#__PURE__*/React.createElement(ScrollView, {
268
+ className: "".concat(cls, "-body"),
269
+ scrollY: true,
270
+ onScrollToLower: function onScrollToLower() {
271
+ if (!hasMore || !pageable) {
272
+ return;
273
+ }
274
+ setQueryParams(function (prev) {
275
+ return _objectSpread(_objectSpread({}, prev), {}, {
276
+ page: prev.page + 1
277
+ });
278
+ });
279
+ }
280
+ }, isEmpty(options) && loading && /*#__PURE__*/React.createElement("div", {
281
+ className: "".concat(cls, "-loading")
282
+ }, /*#__PURE__*/React.createElement("div", {
283
+ className: "".concat(cls, "-loading-content")
284
+ }, /*#__PURE__*/React.createElement(SpinLoading, null), /*#__PURE__*/React.createElement("div", null, "\u52A0\u8F7D\u4E2D..."))), isEmpty(options) && !loading && (empty || /*#__PURE__*/React.createElement("div", {
285
+ className: "".concat(cls, "-empty")
286
+ }, "\u6682\u65E0\u6570\u636E")), options === null || options === void 0 ? void 0 : options.map(function (item, index) {
287
+ var _get;
288
+ var selected = handleSelected(item);
289
+ return /*#__PURE__*/React.createElement("div", {
290
+ className: classNames("".concat(cls, "-item"), "".concat(cls, "-item-option"), _defineProperty({}, "".concat(cls, "-item-option-selected"), selected)),
291
+ key: "".concat((_get = get(item, valueFieldName)) !== null && _get !== void 0 ? _get : index),
292
+ onClick: function onClick() {
293
+ handleItemClick(item);
294
+ }
295
+ }, /*#__PURE__*/React.createElement("div", {
296
+ className: "".concat(cls, "-item-option-content")
297
+ }, (optionRender === null || optionRender === void 0 ? void 0 : optionRender(item, selected)) || get(item, labelFieldName)), multiple && selected && /*#__PURE__*/React.createElement("div", {
298
+ className: "".concat(cls, "-item-option-state")
299
+ }, /*#__PURE__*/React.createElement(CheckOutline, null)));
300
+ }), !isEmpty(options) && loading && /*#__PURE__*/React.createElement("div", {
301
+ className: "".concat(cls, "-loading-more")
302
+ }, "\u52A0\u8F7D\u66F4\u591A", /*#__PURE__*/React.createElement(DotLoading, null))), fullScreen && multiple && /*#__PURE__*/React.createElement("div", {
303
+ className: "".concat(cls, "-footer")
304
+ }, /*#__PURE__*/React.createElement(Button, {
305
+ type: 'primary',
306
+ block: true,
307
+ size: 'large',
308
+ onClick: handleOnOk
309
+ }, okText)))));
310
+ };
@@ -0,0 +1,4 @@
1
+ import { FetchPicker, FetchPickerProps } from "./FetchPicker";
2
+ import "./styles.scss";
3
+ export type { FetchPickerProps };
4
+ export default FetchPicker;
@@ -0,0 +1,3 @@
1
+ import { FetchPicker } from "./FetchPicker";
2
+ import "./styles.scss";
3
+ export default FetchPicker;
@@ -0,0 +1,130 @@
1
+ @use "../style/variable" as variable;
2
+
3
+ $cls: 'triones-antm-fetch-picker';
4
+
5
+ .#{$cls} {
6
+ height: 100%;
7
+ display: flex;
8
+ flex-direction: column;
9
+ background-color: #f5f5f5;
10
+
11
+ &-head {
12
+ padding: variable.$trionesPaddingXxs;
13
+ background-color: white;
14
+ display: flex;
15
+ flex-direction: row;
16
+ justify-content: space-between;
17
+ border-bottom: 1Px solid variable.$trionesBorderColor;
18
+
19
+ &-icon {
20
+ padding: 8Px;
21
+ }
22
+
23
+ &-title {
24
+ flex: 1 auto;
25
+ display: flex;
26
+ justify-content: center;
27
+ align-items: center;
28
+ }
29
+
30
+
31
+
32
+ &-button {
33
+ display: inline-block;
34
+ padding: 8Px;
35
+ &-cancel {
36
+ color: variable.$trionesColorTextSecondary;
37
+ display: inline-block;
38
+ padding: 8Px;
39
+ }
40
+
41
+ &-ok {
42
+ color: variable.$trionesColorPrimaryText;
43
+ display: inline-block;
44
+ padding: 8Px;
45
+ }
46
+ }
47
+
48
+ }
49
+
50
+ &-search-bar {
51
+ padding: variable.$trionesPaddingXxs;
52
+ background-color: white;
53
+
54
+ &-input {
55
+ background-color: #f5f5f5;
56
+ }
57
+ }
58
+
59
+ &-empty {
60
+ height: 100%;
61
+ display: flex;
62
+ justify-content: center;
63
+ align-items: center;
64
+ min-height: 100Px;
65
+ }
66
+
67
+ &-loading {
68
+ height: 100%;
69
+ display: flex;
70
+ justify-content: center;
71
+ align-items: center;
72
+
73
+ &-content {
74
+ display: flex;
75
+ flex-direction: column;
76
+ justify-content: center;
77
+ align-items: center;
78
+ gap: 8Px;
79
+ font-size: 12Px;
80
+ color: #8c8c8c;
81
+ }
82
+ }
83
+
84
+ &-loading-more {
85
+ padding: variable.$trionesPaddingXxs;
86
+ display: flex;
87
+ justify-content: center;
88
+ align-items: center;
89
+ color: #8c8c8c;
90
+ font-size: 12Px;
91
+ }
92
+
93
+ &-body {
94
+ flex: 1 auto;
95
+
96
+ .#{$cls} {
97
+ &-item {
98
+ padding-block: variable.$trionesPaddingSm;
99
+ padding-inline: variable.$trionesPadding;
100
+ background-color: white;
101
+ border-bottom: 1Px solid #f0f0f0;
102
+ &-option{
103
+ display: flex;
104
+ &-selected{
105
+ background-color: #e6f4ff;
106
+ }
107
+ &-content{
108
+ flex: auto;
109
+ overflow: hidden;
110
+ white-space: nowrap;
111
+ text-overflow: ellipsis;
112
+ }
113
+ &-state{
114
+ .triones-antm-icon{
115
+ color: variable.$trionesColorPrimaryText;
116
+ font-size: variable.$trionesFontSize;
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ &-footer {
125
+ flex-shrink: 0;
126
+ border-top: 1Px solid variable.$trionesBorderColor;
127
+ padding: variable.$trionesPaddingXxs;
128
+ background-color: white;
129
+ }
130
+ }
@@ -0,0 +1,19 @@
1
+ import React, { FC } from 'react';
2
+ import type { BadgeProps } from '@trionesdev/antd-mobile-base-react';
3
+ import './style.scss';
4
+ export type FloatButtonProps = {
5
+ icon?: React.ReactNode;
6
+ /** 文字等内容;仅建议在 `shape="square"` 时使用 */
7
+ content?: React.ReactNode;
8
+ type?: 'primary' | 'default';
9
+ shape?: 'circle' | 'square';
10
+ onClick?: (e: any) => void;
11
+ target?: string;
12
+ badge?: Partial<BadgeProps>;
13
+ className?: string;
14
+ style?: React.CSSProperties;
15
+ right?: number;
16
+ bottom?: number;
17
+ zIndex?: number;
18
+ };
19
+ export declare const FloatButton: FC<FloatButtonProps>;