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

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 (175) hide show
  1. package/dist/ActionSheet/ActionSheet.d.ts +25 -0
  2. package/dist/ActionSheet/ActionSheet.js +77 -0
  3. package/dist/ActionSheet/index.d.ts +1 -1
  4. package/dist/ActionSheet/index.js +1 -1
  5. package/dist/ActionSheet/style.scss +52 -0
  6. package/dist/Button/button.d.ts +2 -1
  7. package/dist/Button/button.js +2 -3
  8. package/dist/Button/style.scss +65 -50
  9. package/dist/Calendar/calendar-grid.d.ts +10 -9
  10. package/dist/Calendar/calendar-grid.js +37 -62
  11. package/dist/Calendar/calendar-header.d.ts +3 -2
  12. package/dist/Calendar/calendar-header.js +9 -6
  13. package/dist/Calendar/calendar-range.d.ts +4 -3
  14. package/dist/Calendar/calendar-range.js +22 -18
  15. package/dist/Calendar/calendar.d.ts +5 -4
  16. package/dist/Calendar/calendar.js +30 -17
  17. package/dist/Calendar/style.scss +8 -5
  18. package/dist/Calendar/touchable-calendar-grid.d.ts +6 -5
  19. package/dist/Calendar/touchable-calendar-grid.js +87 -86
  20. package/dist/CalendarDatetimePicker/CalendarDatetimePicker.d.ts +3 -2
  21. package/dist/CalendarDatetimePicker/CalendarDatetimePicker.js +40 -57
  22. package/dist/CalendarDatetimePicker/DateTimeSwitch.d.ts +3 -2
  23. package/dist/CalendarDatetimePicker/DateTimeSwitch.js +2 -2
  24. package/dist/CalendarDatetimePicker/style.scss +11 -3
  25. package/dist/CalendarDatetimePickerCell/CalendarDatetimePickerCell.d.ts +9 -0
  26. package/dist/CalendarDatetimePickerCell/CalendarDatetimePickerCell.js +60 -0
  27. package/dist/CalendarDatetimePickerCell/index.d.ts +3 -0
  28. package/dist/CalendarDatetimePickerCell/index.js +2 -0
  29. package/dist/CalendarPicker/{calendar-picker.js → CalendarPicker.js} +10 -6
  30. package/dist/CalendarPicker/{calendar-range-picker.js → CalendarRangePicker.js} +8 -6
  31. package/dist/CalendarPicker/index.d.ts +3 -4
  32. package/dist/CalendarPicker/index.js +2 -2
  33. package/dist/CalendarPicker/style.scss +7 -6
  34. package/dist/CalendarPicker/types.d.ts +8 -6
  35. package/dist/CalendarPicker/types.js +1 -1
  36. package/dist/CalendarPickerCell/CalendarPickerCell.d.ts +11 -0
  37. package/dist/CalendarPickerCell/CalendarPickerCell.js +54 -0
  38. package/dist/CalendarPickerCell/CalendarRangePickerCell.d.ts +11 -0
  39. package/dist/CalendarPickerCell/CalendarRangePickerCell.js +56 -0
  40. package/dist/CalendarPickerCell/index.d.ts +8 -0
  41. package/dist/CalendarPickerCell/index.js +5 -0
  42. package/dist/CascaderPicker/cascader-picker.d.ts +27 -0
  43. package/dist/CascaderPicker/cascader-picker.js +90 -0
  44. package/dist/CascaderPicker/index.d.ts +1 -1
  45. package/dist/CascaderPicker/index.js +1 -1
  46. package/dist/CascaderPicker/style.scss +45 -0
  47. package/dist/CascaderPickerCell/CascaderPickerCell.d.ts +20 -0
  48. package/dist/CascaderPickerCell/CascaderPickerCell.js +70 -0
  49. package/dist/CascaderPickerCell/index.d.ts +3 -0
  50. package/dist/CascaderPickerCell/index.js +2 -0
  51. package/dist/DatePicker/DatePicker.d.ts +18 -0
  52. package/dist/DatePicker/DatePicker.js +310 -0
  53. package/dist/DatePicker/index.d.ts +4 -0
  54. package/dist/DatePicker/index.js +3 -0
  55. package/dist/DatePicker/style.scss +41 -0
  56. package/dist/DatePicker/types.d.ts +1 -0
  57. package/dist/DatePicker/types.js +1 -0
  58. package/dist/DatePickerCell/DatePickerCell.d.ts +16 -0
  59. package/dist/DatePickerCell/DatePickerCell.js +78 -0
  60. package/dist/DatePickerCell/index.d.ts +3 -0
  61. package/dist/DatePickerCell/index.js +2 -0
  62. package/dist/FetchPicker/FetchPicker.d.ts +78 -0
  63. package/dist/FetchPicker/FetchPicker.js +310 -0
  64. package/dist/FetchPicker/index.d.ts +4 -0
  65. package/dist/FetchPicker/index.js +3 -0
  66. package/dist/FetchPicker/styles.scss +130 -0
  67. package/dist/FloatButton/FloatButton.d.ts +19 -0
  68. package/dist/FloatButton/FloatButton.js +60 -0
  69. package/dist/FloatButton/FloatButtonGroup.d.ts +21 -0
  70. package/dist/FloatButton/FloatButtonGroup.js +141 -0
  71. package/dist/FloatButton/context.d.ts +10 -0
  72. package/dist/FloatButton/context.js +2 -0
  73. package/dist/FloatButton/index.d.ts +10 -0
  74. package/dist/FloatButton/index.js +5 -0
  75. package/dist/FloatButton/style.scss +126 -0
  76. package/dist/Form/FormItem/form-item-content.d.ts +17 -0
  77. package/dist/Form/FormItem/form-item-content.js +39 -0
  78. package/dist/Form/FormItem/form-item-label.d.ts +13 -0
  79. package/dist/Form/FormItem/form-item-label.js +29 -0
  80. package/dist/Form/FormItem/form-item.d.ts +23 -0
  81. package/dist/Form/FormItem/form-item.js +77 -0
  82. package/dist/Form/FormItem/index.d.ts +5 -0
  83. package/dist/Form/FormItem/index.js +3 -0
  84. package/dist/Form/index.d.ts +9 -2
  85. package/dist/Form/index.js +5 -1
  86. package/dist/Form/style.scss +100 -0
  87. package/dist/FormCell/index.d.ts +3 -0
  88. package/dist/FormCell/index.js +2 -0
  89. package/dist/ImagesPreview/ImagesPreview.js +4 -3
  90. package/dist/ImagesWall/ImagesWall.js +1 -1
  91. package/dist/Input/index.d.ts +17 -2
  92. package/dist/Input/index.js +13 -1
  93. package/dist/Input/index.scss +282 -0
  94. package/dist/Input/input-affix-wrapper.d.ts +13 -0
  95. package/dist/Input/input-affix-wrapper.js +37 -0
  96. package/dist/Input/input-digit.d.ts +7 -0
  97. package/dist/Input/input-digit.js +53 -0
  98. package/dist/Input/input-number.d.ts +7 -0
  99. package/dist/Input/input-number.js +50 -0
  100. package/dist/Input/input-opt.d.ts +16 -0
  101. package/dist/Input/input-opt.js +87 -0
  102. package/dist/Input/input-password.d.ts +8 -0
  103. package/dist/Input/input-password.js +49 -0
  104. package/dist/Input/input.d.ts +3 -0
  105. package/dist/Input/input.js +7 -0
  106. package/dist/Input/taro-input.d.ts +8 -0
  107. package/dist/Input/taro-input.js +70 -0
  108. package/dist/Input/textarea.d.ts +15 -0
  109. package/dist/Input/textarea.js +52 -0
  110. package/dist/Input/types.d.ts +20 -0
  111. package/dist/Input/types.js +2 -0
  112. package/dist/Loading/index.d.ts +4 -0
  113. package/dist/Loading/index.js +3 -0
  114. package/dist/Overlay/Overlay.d.ts +17 -0
  115. package/dist/Overlay/Overlay.js +100 -0
  116. package/dist/Overlay/index.d.ts +4 -0
  117. package/dist/Overlay/index.js +3 -0
  118. package/dist/Overlay/style.scss +20 -0
  119. package/dist/Picker/Picker.d.ts +27 -0
  120. package/dist/Picker/Picker.js +100 -0
  121. package/dist/Picker/index.d.ts +1 -1
  122. package/dist/Picker/index.js +1 -1
  123. package/dist/Picker/style.scss +41 -0
  124. package/dist/PickerView/PickerView.d.ts +4 -0
  125. package/dist/PickerView/PickerView.js +71 -0
  126. package/dist/PickerView/index.d.ts +2 -2
  127. package/dist/PickerView/index.js +1 -1
  128. package/dist/PickerView/style.scss +13 -0
  129. package/dist/PickerView/types.d.ts +15 -0
  130. package/dist/PickerView/types.js +1 -0
  131. package/dist/Popup/Popup.d.ts +48 -0
  132. package/dist/Popup/Popup.js +135 -0
  133. package/dist/Popup/index.d.ts +2 -1
  134. package/dist/Popup/index.js +2 -1
  135. package/dist/Popup/style.scss +126 -0
  136. package/dist/Progress/index.d.ts +1 -1
  137. package/dist/Progress/index.js +1 -1
  138. package/dist/Segmented/index.d.ts +3 -0
  139. package/dist/Segmented/index.js +2 -0
  140. package/dist/SideBar/side-bar.js +3 -2
  141. package/dist/SideBar/style.scss +6 -6
  142. package/dist/Stepper/index.d.ts +3 -0
  143. package/dist/Stepper/index.js +2 -0
  144. package/dist/Toast/Toast.d.ts +18 -0
  145. package/dist/Toast/Toast.js +112 -0
  146. package/dist/Toast/index.d.ts +1 -1
  147. package/dist/Toast/index.js +1 -1
  148. package/dist/Toast/style.scss +63 -0
  149. package/dist/VerificationCodeInput/index.d.ts +2 -2
  150. package/dist/VerificationCodeInput/index.js +1 -1
  151. package/dist/VerificationCodeInput/style.scss +20 -0
  152. package/dist/VerificationCodeInput/verification-code-input.d.ts +24 -0
  153. package/dist/VerificationCodeInput/verification-code-input.js +99 -0
  154. package/dist/index.d.ts +28 -7
  155. package/dist/index.js +12 -2
  156. package/dist/style/variable.scss +33 -0
  157. package/dist/types.d.ts +0 -1
  158. package/dist/utils/dayjs.d.ts +4 -0
  159. package/dist/utils/dayjs.js +42 -0
  160. package/package.json +25 -30
  161. package/dist/Mask/index.d.ts +0 -3
  162. package/dist/Mask/index.js +0 -2
  163. package/dist/Progress/Progress.d.ts +0 -38
  164. package/dist/Progress/Progress.js +0 -53
  165. package/dist/Progress/ProgressCircle.d.ts +0 -16
  166. package/dist/Progress/ProgressCircle.js +0 -147
  167. package/dist/Progress/ProgressLine.d.ts +0 -15
  168. package/dist/Progress/ProgressLine.js +0 -87
  169. package/dist/Progress/style.scss +0 -33
  170. package/dist/Progress/types.d.ts +0 -4
  171. package/dist/Progress/types.js +0 -2
  172. package/dist/SpinLoading/index.d.ts +0 -3
  173. package/dist/SpinLoading/index.js +0 -2
  174. /package/dist/CalendarPicker/{calendar-picker.d.ts → CalendarPicker.d.ts} +0 -0
  175. /package/dist/CalendarPicker/{calendar-range-picker.d.ts → CalendarRangePicker.d.ts} +0 -0
@@ -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>;
@@ -0,0 +1,60 @@
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
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ 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); }
7
+ import classNames from 'classnames';
8
+ import React, { useContext } from 'react';
9
+ import { Badge } from '@trionesdev/antd-mobile-base-react';
10
+ import { FloatButtonGroupContext } from "./context";
11
+ import "./style.scss";
12
+ import { AddOutline } from '@trionesdev/antd-mobile-icons-react';
13
+ import { RootPortal } from "@tarojs/components";
14
+ var cls = 'triones-antm-float-button';
15
+ export var FloatButton = function FloatButton(_ref) {
16
+ var _groupCtx$shape;
17
+ var icon = _ref.icon,
18
+ content = _ref.content,
19
+ _ref$type = _ref.type,
20
+ type = _ref$type === void 0 ? 'default' : _ref$type,
21
+ _ref$shape = _ref.shape,
22
+ shape = _ref$shape === void 0 ? 'circle' : _ref$shape,
23
+ onClick = _ref.onClick,
24
+ badge = _ref.badge,
25
+ className = _ref.className,
26
+ style = _ref.style,
27
+ _ref$right = _ref.right,
28
+ right = _ref$right === void 0 ? 24 : _ref$right,
29
+ _ref$bottom = _ref.bottom,
30
+ bottom = _ref$bottom === void 0 ? 24 : _ref$bottom,
31
+ _ref$zIndex = _ref.zIndex,
32
+ zIndex = _ref$zIndex === void 0 ? 100 : _ref$zIndex;
33
+ var groupCtx = useContext(FloatButtonGroupContext);
34
+ var mergedShape = (_groupCtx$shape = groupCtx === null || groupCtx === void 0 ? void 0 : groupCtx.shape) !== null && _groupCtx$shape !== void 0 ? _groupCtx$shape : shape;
35
+ var mergedContent = content;
36
+ var mergedIcon = icon !== null && icon !== void 0 ? icon : /*#__PURE__*/React.createElement(AddOutline, null);
37
+ var mergedRight = right !== null && right !== void 0 ? right : 24;
38
+ var mergedBottom = bottom !== null && bottom !== void 0 ? bottom : 24;
39
+ var mergedZIndex = zIndex !== null && zIndex !== void 0 ? zIndex : 100;
40
+ var rootClass = classNames(cls, "".concat(cls, "--type-").concat(type), "".concat(cls, "--shape-").concat(mergedShape), _defineProperty(_defineProperty({}, "".concat(cls, "--embedded"), groupCtx === null || groupCtx === void 0 ? void 0 : groupCtx.inGroup), "".concat(cls, "--has-content"), mergedShape === 'square' && mergedContent != null && mergedContent !== false), className);
41
+ var inner = /*#__PURE__*/React.createElement(React.Fragment, null, mergedIcon ? /*#__PURE__*/React.createElement("span", {
42
+ className: "".concat(cls, "-icon")
43
+ }, mergedIcon) : null, mergedShape === 'square' && mergedContent ? /*#__PURE__*/React.createElement("span", {
44
+ className: "".concat(cls, "-content")
45
+ }, mergedContent) : null);
46
+ var interactive = /*#__PURE__*/React.createElement("button", {
47
+ className: "".concat(cls, "-body"),
48
+ onClick: onClick
49
+ }, inner);
50
+ var withBadge = badge != null && Object.keys(badge).length > 0 ? /*#__PURE__*/React.createElement(Badge, badge, interactive) : interactive;
51
+ var internal = /*#__PURE__*/React.createElement("div", {
52
+ className: rootClass,
53
+ style: _objectSpread({
54
+ zIndex: groupCtx !== null && groupCtx !== void 0 && groupCtx.inGroup ? undefined : mergedZIndex,
55
+ right: groupCtx !== null && groupCtx !== void 0 && groupCtx.inGroup ? undefined : "".concat(mergedRight, "Px"),
56
+ bottom: groupCtx !== null && groupCtx !== void 0 && groupCtx.inGroup ? undefined : "calc(".concat(mergedBottom, "Px + env(safe-area-inset-bottom, 0px))")
57
+ }, style)
58
+ }, withBadge);
59
+ return groupCtx !== null && groupCtx !== void 0 && groupCtx.inGroup ? internal : /*#__PURE__*/React.createElement(RootPortal, null, internal);
60
+ };
@@ -0,0 +1,21 @@
1
+ import React, { FC } from 'react';
2
+ import './style.scss';
3
+ export type FloatButtonGroupProps = {
4
+ shape?: 'circle' | 'square';
5
+ type?: 'primary' | 'default';
6
+ /** 菜单模式下主按钮图标(收起态) */
7
+ icon?: React.ReactNode;
8
+ trigger?: 'click' | 'hover';
9
+ open?: boolean;
10
+ onOpenChange?: (open: boolean) => void;
11
+ closeIcon?: React.ReactNode;
12
+ placement?: 'top' | 'bottom' | 'left' | 'right';
13
+ onClick?: (e: React.MouseEvent) => void;
14
+ className?: string;
15
+ style?: React.CSSProperties;
16
+ children?: React.ReactNode;
17
+ right?: number;
18
+ bottom?: number;
19
+ zIndex?: number;
20
+ };
21
+ export declare const FloatButtonGroup: FC<FloatButtonGroupProps>;