@trionesdev/antd-mobile-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 (262) 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/Avatar/demo/base.js +2 -2
  8. package/dist/Avatar/demo/style.scss +6 -6
  9. package/dist/Badge/demo/base.js +2 -2
  10. package/dist/Badge/demo/base.scss +6 -6
  11. package/dist/Button/button.d.ts +2 -1
  12. package/dist/Button/button.js +1 -1
  13. package/dist/Button/demo/base.js +2 -2
  14. package/dist/Button/style.scss +234 -232
  15. package/dist/Calendar/calendar-grid.d.ts +10 -9
  16. package/dist/Calendar/calendar-grid.js +41 -64
  17. package/dist/Calendar/calendar-header.d.ts +3 -2
  18. package/dist/Calendar/calendar-header.js +6 -6
  19. package/dist/Calendar/calendar-range.d.ts +4 -3
  20. package/dist/Calendar/calendar-range.js +12 -11
  21. package/dist/Calendar/calendar.d.ts +5 -4
  22. package/dist/Calendar/calendar.js +23 -14
  23. package/dist/Calendar/style.scss +85 -85
  24. package/dist/Calendar/touchable-calendar-grid.d.ts +6 -5
  25. package/dist/Calendar/touchable-calendar-grid.js +67 -59
  26. package/dist/CalendarDatetimePicker/CalendarDatetimePicker.d.ts +3 -2
  27. package/dist/CalendarDatetimePicker/CalendarDatetimePicker.js +14 -28
  28. package/dist/CalendarDatetimePicker/DateTimeSwitch.d.ts +3 -2
  29. package/dist/CalendarDatetimePicker/DateTimeSwitch.js +4 -3
  30. package/dist/CalendarDatetimePicker/demo/base.js +1 -1
  31. package/dist/CalendarDatetimePicker/style.scss +54 -54
  32. package/dist/CalendarDatetimePicker/types.d.ts +1 -1
  33. package/dist/CalendarDatetimePicker/types.js +1 -1
  34. package/dist/CalendarDatetimePickerCell/CalendarDatetimePickerCell.d.ts +11 -0
  35. package/dist/CalendarDatetimePickerCell/CalendarDatetimePickerCell.js +61 -0
  36. package/dist/{Mask → CalendarDatetimePickerCell}/demo/base.js +9 -15
  37. package/dist/CalendarDatetimePickerCell/index.d.ts +3 -0
  38. package/dist/CalendarDatetimePickerCell/index.js +2 -0
  39. package/dist/CalendarDatetimePickerCell/style.scss +10 -0
  40. package/dist/CalendarDatetimePickerCell/types.d.ts +1 -0
  41. package/dist/CalendarDatetimePickerCell/types.js +1 -0
  42. package/dist/CalendarPicker/calendar-picker.js +2 -2
  43. package/dist/CalendarPicker/calendar-range-picker.d.ts +4 -4
  44. package/dist/CalendarPicker/calendar-range-picker.js +11 -9
  45. package/dist/CalendarPicker/demo/base.js +6 -6
  46. package/dist/CalendarPicker/index.d.ts +2 -2
  47. package/dist/CalendarPicker/index.js +3 -3
  48. package/dist/CalendarPicker/style.scss +31 -31
  49. package/dist/CalendarPicker/types.d.ts +8 -7
  50. package/dist/CalendarPickerCell/CalendarPickerCell.d.ts +11 -0
  51. package/dist/CalendarPickerCell/CalendarPickerCell.js +54 -0
  52. package/dist/CalendarPickerCell/CalendarRangePickerCell.d.ts +11 -0
  53. package/dist/CalendarPickerCell/CalendarRangePickerCell.js +56 -0
  54. package/dist/CalendarPickerCell/demo/base.d.ts +3 -0
  55. package/dist/CalendarPickerCell/demo/base.js +31 -0
  56. package/dist/CalendarPickerCell/index.d.ts +8 -0
  57. package/dist/CalendarPickerCell/index.js +5 -0
  58. package/dist/Card/demo/base.js +2 -2
  59. package/dist/Card/demo/base.scss +18 -18
  60. package/dist/CascaderPicker/cascader-picker.d.ts +27 -0
  61. package/dist/CascaderPicker/cascader-picker.js +90 -0
  62. package/dist/CascaderPicker/demo/base.js +1 -4
  63. package/dist/CascaderPicker/index.d.ts +1 -1
  64. package/dist/CascaderPicker/index.js +1 -1
  65. package/dist/CascaderPicker/style.scss +45 -0
  66. package/dist/CascaderPickerCell/CascaderPickerCell.d.ts +21 -0
  67. package/dist/CascaderPickerCell/CascaderPickerCell.js +70 -0
  68. package/dist/CascaderPickerCell/demo/base.js +71 -0
  69. package/dist/CascaderPickerCell/index.d.ts +3 -0
  70. package/dist/CascaderPickerCell/index.js +2 -0
  71. package/dist/CascaderPickerCell/style.scss +24 -0
  72. package/dist/Cell/demo/base.js +41 -2
  73. package/dist/Checkbox/demo/base.js +11 -6
  74. package/dist/Checkbox/demo/disabled.js +2 -1
  75. package/dist/ConfigProvider/demo/base.js +2 -2
  76. package/dist/DemoBlock/index.d.ts +6 -0
  77. package/dist/DemoBlock/index.js +9 -2
  78. package/dist/DemoBlock/index.scss +20 -20
  79. package/dist/DemoDescription/index.scss +3 -3
  80. package/dist/Divider/demo/base.js +2 -2
  81. package/dist/Ellipsis/demo/base.js +2 -2
  82. package/dist/Empty/demo/base.js +2 -2
  83. package/dist/ErrorBlock/demo/base.js +2 -2
  84. package/dist/FetchPicker/FetchPicker.d.ts +113 -0
  85. package/dist/FetchPicker/FetchPicker.js +319 -0
  86. package/dist/FetchPicker/index.d.ts +4 -0
  87. package/dist/FetchPicker/index.js +3 -0
  88. package/dist/FetchPicker/styles.scss +118 -0
  89. package/dist/FloatButton/FloatButton.d.ts +21 -0
  90. package/dist/FloatButton/FloatButton.js +66 -0
  91. package/dist/FloatButton/FloatButtonGroup.d.ts +21 -0
  92. package/dist/FloatButton/FloatButtonGroup.js +120 -0
  93. package/dist/FloatButton/context.d.ts +13 -0
  94. package/dist/FloatButton/context.js +2 -0
  95. package/dist/FloatButton/demo/base.d.ts +3 -0
  96. package/dist/FloatButton/demo/base.js +10 -0
  97. package/dist/FloatButton/demo/group.d.ts +3 -0
  98. package/dist/FloatButton/demo/group.js +20 -0
  99. package/dist/FloatButton/demo/square.d.ts +3 -0
  100. package/dist/FloatButton/demo/square.js +12 -0
  101. package/dist/FloatButton/index.d.ts +10 -0
  102. package/dist/FloatButton/index.js +5 -0
  103. package/dist/FloatButton/style.scss +123 -0
  104. package/dist/Footer/demo/base.js +2 -2
  105. package/dist/Form/FormItem/form-item-content.d.ts +17 -0
  106. package/dist/Form/FormItem/form-item-content.js +39 -0
  107. package/dist/Form/FormItem/form-item-label.d.ts +13 -0
  108. package/dist/Form/FormItem/form-item-label.js +29 -0
  109. package/dist/Form/FormItem/form-item.d.ts +51 -0
  110. package/dist/Form/FormItem/form-item.js +74 -0
  111. package/dist/Form/FormItem/index.d.ts +5 -0
  112. package/dist/Form/FormItem/index.js +3 -0
  113. package/dist/Form/demo/input.js +7 -3
  114. package/dist/Form/demo/vertical.d.ts +3 -0
  115. package/dist/Form/demo/vertical.js +45 -0
  116. package/dist/Form/index.d.ts +9 -2
  117. package/dist/Form/index.js +5 -1
  118. package/dist/Form/style.scss +106 -0
  119. package/dist/FormCell/index.d.ts +3 -0
  120. package/dist/FormCell/index.js +2 -0
  121. package/dist/Grid/demo/base.js +2 -2
  122. package/dist/Grid/demo/base.scss +7 -7
  123. package/dist/Icon/demo/base.js +2 -2
  124. package/dist/Image/demo/base.js +2 -2
  125. package/dist/Image/demo/base.scss +4 -4
  126. package/dist/Image/style.scss +30 -30
  127. package/dist/ImagesPreview/ImagesPreview.js +2 -2
  128. package/dist/ImagesPreview/style.scss +34 -34
  129. package/dist/ImagesWall/CameraModal.js +2 -2
  130. package/dist/ImagesWall/style.scss +70 -70
  131. package/dist/Input/base-input.d.ts +13 -0
  132. package/dist/Input/base-input.js +41 -0
  133. package/dist/Input/demo/base.js +115 -13
  134. package/dist/Input/index.d.ts +14 -2
  135. package/dist/Input/index.js +11 -1
  136. package/dist/Input/index.scss +240 -0
  137. package/dist/Input/input-affix-wrapper.d.ts +13 -0
  138. package/dist/Input/input-affix-wrapper.js +37 -0
  139. package/dist/Input/input-opt.d.ts +16 -0
  140. package/dist/Input/input-opt.js +87 -0
  141. package/dist/Input/input-password.d.ts +7 -0
  142. package/dist/Input/input-password.js +48 -0
  143. package/dist/Input/input.d.ts +20 -0
  144. package/dist/Input/input.js +66 -0
  145. package/dist/Input/textarea.d.ts +15 -0
  146. package/dist/Input/textarea.js +51 -0
  147. package/dist/Input/types.d.ts +3 -0
  148. package/dist/Input/types.js +2 -0
  149. package/dist/Loading/DotLoading.d.ts +1 -0
  150. package/dist/Loading/DotLoading.js +1 -0
  151. package/dist/Loading/SpinLoading.d.ts +1 -0
  152. package/dist/Loading/SpinLoading.js +1 -0
  153. package/dist/Loading/demo/base.d.ts +3 -0
  154. package/dist/{SpinLoading → Loading}/demo/base.js +8 -2
  155. package/dist/Loading/demo/dot-loading.d.ts +3 -0
  156. package/dist/Loading/demo/dot-loading.js +25 -0
  157. package/dist/Loading/index.d.ts +5 -0
  158. package/dist/Loading/index.js +3 -0
  159. package/dist/NavBar/demo/base.scss +5 -5
  160. package/dist/NoticeBar/demo/base.js +2 -2
  161. package/dist/Overlay/Overlay.d.ts +16 -0
  162. package/dist/Overlay/Overlay.js +117 -0
  163. package/dist/Overlay/demo/base.d.ts +3 -0
  164. package/dist/Overlay/demo/base.js +27 -0
  165. package/dist/Overlay/index.d.ts +4 -0
  166. package/dist/Overlay/index.js +3 -0
  167. package/dist/Overlay/style.scss +20 -0
  168. package/dist/PageIndicator/demo/base.js +2 -2
  169. package/dist/Picker/index.d.ts +1 -1
  170. package/dist/Picker/index.js +1 -1
  171. package/dist/Picker/picker.d.ts +20 -0
  172. package/dist/Picker/picker.js +94 -0
  173. package/dist/Picker/style.scss +44 -0
  174. package/dist/PickerView/index.d.ts +2 -1
  175. package/dist/PickerView/index.js +1 -1
  176. package/dist/PickerView/picker-view-column-item.d.ts +7 -0
  177. package/dist/PickerView/picker-view-column-item.js +11 -0
  178. package/dist/PickerView/picker-view-column.d.ts +10 -0
  179. package/dist/PickerView/picker-view-column.js +117 -0
  180. package/dist/PickerView/picker-view.d.ts +12 -0
  181. package/dist/PickerView/picker-view.js +60 -0
  182. package/dist/PickerView/style.scss +72 -0
  183. package/dist/PickerView/types.d.ts +4 -0
  184. package/dist/PickerView/types.js +1 -0
  185. package/dist/Popup/demo/base.js +109 -27
  186. package/dist/Popup/index.d.ts +2 -1
  187. package/dist/Popup/index.js +2 -1
  188. package/dist/Popup/popup.d.ts +31 -0
  189. package/dist/Popup/popup.js +87 -0
  190. package/dist/Popup/style.scss +129 -0
  191. package/dist/Progress/index.d.ts +1 -1
  192. package/dist/Progress/index.js +1 -1
  193. package/dist/Radio/demo/base.js +2 -2
  194. package/dist/Radio/demo/base.scss +4 -4
  195. package/dist/Result/demo/base.js +2 -2
  196. package/dist/SafeArea/demo/base.scss +18 -18
  197. package/dist/ScrollView/index.d.ts +2 -1
  198. package/dist/ScrollView/index.js +1 -1
  199. package/dist/ScrollView/scroll-view.d.ts +4 -0
  200. package/dist/ScrollView/scroll-view.js +55 -0
  201. package/dist/ScrollView/style.scss +19 -0
  202. package/dist/ScrollView/types.d.ts +26 -0
  203. package/dist/ScrollView/types.js +1 -0
  204. package/dist/Segmented/demo/base.d.ts +3 -0
  205. package/dist/Segmented/demo/base.js +33 -0
  206. package/dist/Segmented/index.d.ts +3 -0
  207. package/dist/Segmented/index.js +2 -0
  208. package/dist/SideBar/index.d.ts +1 -1
  209. package/dist/SideBar/side-bar.js +6 -6
  210. package/dist/SideBar/style.scss +85 -85
  211. package/dist/Skeleton/demo/base.d.ts +3 -0
  212. package/dist/Skeleton/demo/base.js +8 -0
  213. package/dist/Skeleton/index.d.ts +3 -0
  214. package/dist/Skeleton/index.js +2 -0
  215. package/dist/Space/demo/base.js +2 -2
  216. package/dist/Stepper/demo/base.d.ts +3 -0
  217. package/dist/Stepper/demo/base.js +23 -0
  218. package/dist/Stepper/index.d.ts +3 -0
  219. package/dist/Stepper/index.js +2 -0
  220. package/dist/Swiper/style.scss +54 -54
  221. package/dist/Switch/demo/base.js +2 -2
  222. package/dist/TabBar/demo/base.js +2 -2
  223. package/dist/Tag/demo/base.js +2 -2
  224. package/dist/Tag/demo/style.scss +8 -8
  225. package/dist/Toast/style.scss +63 -63
  226. package/dist/Toast/toast-modal.js +4 -4
  227. package/dist/VerificationCodeInput/demo/base.js +2 -2
  228. package/dist/VerificationCodeInput/index.d.ts +2 -2
  229. package/dist/VerificationCodeInput/index.js +1 -1
  230. package/dist/VerificationCodeInput/style.scss +20 -0
  231. package/dist/VerificationCodeInput/verification-code-input.d.ts +24 -0
  232. package/dist/VerificationCodeInput/verification-code-input.js +99 -0
  233. package/dist/WaterMark/demo/demo1.js +2 -2
  234. package/dist/WaterMark/demo/demo1.scss +6 -6
  235. package/dist/WaterMark/demo/demo2.js +2 -2
  236. package/dist/index.d.ts +33 -19
  237. package/dist/index.js +9 -2
  238. package/dist/style/variable.scss +1 -1
  239. package/dist/types.d.ts +0 -8
  240. package/dist/types.js +0 -1
  241. package/dist/utils/dayjs.d.ts +4 -0
  242. package/dist/utils/dayjs.js +42 -0
  243. package/dist/utils/type.js +36 -36
  244. package/dist/utils/use-isomorphic-update-layout-effect.d.ts +1 -1
  245. package/dist/utils/with-default-props.js +4 -4
  246. package/package.json +11 -16
  247. package/readme.md +43 -43
  248. package/dist/Mask/index.d.ts +0 -3
  249. package/dist/Mask/index.js +0 -2
  250. package/dist/Progress/Progress.d.ts +0 -37
  251. package/dist/Progress/Progress.js +0 -52
  252. package/dist/Progress/ProgressCircle.d.ts +0 -17
  253. package/dist/Progress/ProgressCircle.js +0 -148
  254. package/dist/Progress/ProgressLine.d.ts +0 -15
  255. package/dist/Progress/ProgressLine.js +0 -87
  256. package/dist/Progress/style.scss +0 -33
  257. package/dist/Progress/types.d.ts +0 -4
  258. package/dist/Progress/types.js +0 -2
  259. package/dist/SpinLoading/index.d.ts +0 -3
  260. package/dist/SpinLoading/index.js +0 -2
  261. /package/dist/{Mask → CalendarDatetimePickerCell}/demo/base.d.ts +0 -0
  262. /package/dist/{SpinLoading → CascaderPickerCell}/demo/base.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- import { PickerView } from "@trionesdev/antd-mobile-base-react";
1
+ import { PickerView } from "./picker-view";
2
2
  export default PickerView;
@@ -0,0 +1,7 @@
1
+ import { FC } from "react";
2
+ import { PickerColumnOption } from "./types";
3
+ type PickerViewColumnItemProps = {
4
+ option: PickerColumnOption;
5
+ };
6
+ export declare const PickerViewColumnItem: FC<PickerViewColumnItemProps>;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import classNames from "classnames";
2
+ import React from "react";
3
+ var pickerViewCls = "triones-antm-picker-view";
4
+ export var PickerViewColumnItem = function PickerViewColumnItem(_ref) {
5
+ var option = _ref.option;
6
+ return /*#__PURE__*/React.createElement("div", {
7
+ className: classNames("".concat(pickerViewCls, "-column-item"))
8
+ }, /*#__PURE__*/React.createElement("div", {
9
+ className: "".concat(pickerViewCls, "-column-item-label")
10
+ }, option.label));
11
+ };
@@ -0,0 +1,10 @@
1
+ import { FC } from "react";
2
+ import { PickerColumnOption } from "./types";
3
+ type PickerViewColumnProps = {
4
+ options?: PickerColumnOption[];
5
+ labelInValue?: boolean;
6
+ value?: any;
7
+ onChange?: (value: any, index?: number) => void;
8
+ };
9
+ export declare const PickerViewColumn: FC<PickerViewColumnProps>;
10
+ export {};
@@ -0,0 +1,117 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React, { useEffect, useState } from "react";
8
+ import classNames from "classnames";
9
+ import { PickerViewColumnItem } from "./picker-view-column-item";
10
+ import { findIndex, isEmpty, size } from "lodash-es";
11
+ var pickerViewCls = "triones-antm-picker-view";
12
+ export var PickerViewColumn = /*#__PURE__*/React.memo(function (_ref) {
13
+ var options = _ref.options,
14
+ labelInValue = _ref.labelInValue,
15
+ value = _ref.value,
16
+ onChange = _ref.onChange;
17
+ var _useState = useState(value || null),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ internalValue = _useState2[0],
20
+ setInternalValue = _useState2[1];
21
+ var itemHeight = 34;
22
+ var max = 0;
23
+ var min = 0 - itemHeight * (size(options) - 1);
24
+ var _useState3 = useState(false),
25
+ _useState4 = _slicedToArray(_useState3, 2),
26
+ touching = _useState4[0],
27
+ setTouching = _useState4[1];
28
+ var _React$useState = React.useState(),
29
+ _React$useState2 = _slicedToArray(_React$useState, 2),
30
+ touchPoint = _React$useState2[0],
31
+ setTouchPoint = _React$useState2[1];
32
+ var _useState5 = useState(0),
33
+ _useState6 = _slicedToArray(_useState5, 2),
34
+ translateY = _useState6[0],
35
+ setTranslateY = _useState6[1];
36
+ var handleSelectOption = function handleSelectOption(selectValue) {
37
+ var valueIndex = findIndex(options, function (option) {
38
+ if (labelInValue) {
39
+ return option.value === selectValue.value;
40
+ }
41
+ return option.value === selectValue;
42
+ });
43
+ setTranslateY(0 - valueIndex * itemHeight);
44
+ };
45
+ useEffect(function () {
46
+ if (value === undefined) {
47
+ return;
48
+ }
49
+ if (value === internalValue) {
50
+ return;
51
+ }
52
+ setInternalValue(value);
53
+ handleSelectOption(value);
54
+ }, [value]);
55
+ useEffect(function () {
56
+ if (!value) {
57
+ var selectValue = labelInValue ? options === null || options === void 0 ? void 0 : options[0] : options === null || options === void 0 ? void 0 : options[0].value;
58
+ setInternalValue(selectValue || null);
59
+ onChange === null || onChange === void 0 || onChange(selectValue || null);
60
+ handleSelectOption(selectValue);
61
+ } else {
62
+ handleSelectOption(value);
63
+ }
64
+ }, [options]);
65
+ return /*#__PURE__*/React.createElement("div", {
66
+ className: classNames("".concat(pickerViewCls, "-column"))
67
+ }, /*#__PURE__*/React.createElement("div", {
68
+ className: classNames("".concat(pickerViewCls, "-column-wheel")),
69
+ style: {
70
+ transform: "translate3d(0, ".concat(translateY, "px, 0)")
71
+ },
72
+ onTouchStart: function onTouchStart(event) {
73
+ setTouching(true);
74
+ var startPoint = {
75
+ clientX: event.touches[0].clientX,
76
+ clientY: event.touches[0].clientY
77
+ };
78
+ setTouchPoint(startPoint);
79
+ },
80
+ onTouchMove: function onTouchMove(event) {
81
+ if (touching) {
82
+ var movePoint = {
83
+ clientX: event.touches[0].clientX,
84
+ clientY: event.touches[0].clientY
85
+ };
86
+ if (translateY > max || translateY < min) {
87
+ return;
88
+ }
89
+ setTranslateY(translateY + (movePoint.clientY - touchPoint.clientY));
90
+ setTouchPoint(movePoint);
91
+ }
92
+ },
93
+ onTouchEnd: function onTouchEnd(event) {
94
+ setTouching(false);
95
+ var selectIndex = 0;
96
+ if (translateY > 0) {
97
+ setTranslateY(0);
98
+ selectIndex = 0;
99
+ } else if (translateY < 0 - itemHeight * (size(options) - 1)) {
100
+ setTranslateY(0 - itemHeight * (size(options) - 1));
101
+ selectIndex = size(options) - 1;
102
+ } else {
103
+ var num = Math.abs(Math.round(translateY / itemHeight));
104
+ setTranslateY(0 - num * itemHeight);
105
+ selectIndex = num;
106
+ }
107
+ var selectValue = labelInValue ? options === null || options === void 0 ? void 0 : options[selectIndex] : options === null || options === void 0 ? void 0 : options[selectIndex].value;
108
+ setInternalValue(selectValue);
109
+ onChange === null || onChange === void 0 || onChange(selectValue);
110
+ }
111
+ }, !isEmpty(options) && (options === null || options === void 0 ? void 0 : options.map(function (option, index) {
112
+ return /*#__PURE__*/React.createElement(PickerViewColumnItem, {
113
+ option: option,
114
+ key: "view-column-".concat(index)
115
+ });
116
+ }))));
117
+ });
@@ -0,0 +1,12 @@
1
+ import React, { FC } from "react";
2
+ import { PickerColumnOption } from "./types";
3
+ import "./style.scss";
4
+ export type PickerViewProps = {
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ columns?: PickerColumnOption[][];
8
+ labelInValue?: boolean;
9
+ value?: any[];
10
+ onChange?: (value: any[]) => void;
11
+ };
12
+ export declare const PickerView: FC<PickerViewProps>;
@@ -0,0 +1,60 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import classNames from "classnames";
8
+ import { isEmpty, size } from "lodash-es";
9
+ import { PickerViewColumn } from "./picker-view-column";
10
+ import React, { useEffect, useState } from "react";
11
+ import "./style.scss";
12
+ var pickerViewCls = "triones-antm-picker-view";
13
+ export var PickerView = /*#__PURE__*/React.memo(function (_ref) {
14
+ var className = _ref.className,
15
+ style = _ref.style,
16
+ columns = _ref.columns,
17
+ labelInValue = _ref.labelInValue,
18
+ value = _ref.value,
19
+ _onChange = _ref.onChange;
20
+ var _useState = useState(value || Array.from({
21
+ length: size(columns)
22
+ }).map(function () {
23
+ return null;
24
+ })),
25
+ _useState2 = _slicedToArray(_useState, 2),
26
+ internalValue = _useState2[0],
27
+ setInternalValue = _useState2[1];
28
+ useEffect(function () {
29
+ if (value === undefined) {
30
+ return;
31
+ }
32
+ if (value === internalValue) {
33
+ return;
34
+ }
35
+ setInternalValue(value);
36
+ }, [value]);
37
+ return /*#__PURE__*/React.createElement("div", {
38
+ className: classNames("".concat(pickerViewCls), className),
39
+ style: style
40
+ }, !isEmpty(columns) && (columns === null || columns === void 0 ? void 0 : columns.map(function (column, index) {
41
+ return /*#__PURE__*/React.createElement(PickerViewColumn, {
42
+ key: "column-".concat(index),
43
+ labelInValue: labelInValue,
44
+ options: column,
45
+ value: value === null || value === void 0 ? void 0 : value[index],
46
+ onChange: function onChange(v) {
47
+ internalValue[index] = v;
48
+ _onChange === null || _onChange === void 0 || _onChange(internalValue);
49
+ }
50
+ });
51
+ })), /*#__PURE__*/React.createElement("div", {
52
+ className: classNames("".concat(pickerViewCls, "-mask"))
53
+ }, /*#__PURE__*/React.createElement("div", {
54
+ className: classNames("".concat(pickerViewCls, "-mask-top"))
55
+ }), /*#__PURE__*/React.createElement("div", {
56
+ className: classNames("".concat(pickerViewCls, "-mask-middle"))
57
+ }), /*#__PURE__*/React.createElement("div", {
58
+ className: classNames("".concat(pickerViewCls, "-mask-bottom"))
59
+ })));
60
+ });
@@ -0,0 +1,72 @@
1
+ $pickerViewCls: 'triones-antm-picker-view';
2
+ .#{$pickerViewCls} {
3
+ width: 100%;
4
+ height: var(--height,240Px);
5
+ display: flex;
6
+ position: relative;
7
+ overflow: hidden;
8
+ --item-height: 34Px;
9
+ --item-font-size: 16Px;
10
+
11
+ &-column {
12
+ height: 100%;
13
+ flex: 1 1;
14
+ user-select: none;
15
+ touch-action: none;
16
+ position: relative;
17
+ z-index: 0;
18
+ &-wheel{
19
+ width: 100%;
20
+ cursor: grab;
21
+ position: absolute;
22
+ top: calc(50% - var(--item-height)/2);
23
+ left: 0;
24
+ }
25
+
26
+ &-item {
27
+ font-size: var(--item-font-size);
28
+ padding: 0 6px;
29
+ height: var(--item-height);
30
+ display: flex;
31
+ justify-content: center;
32
+ align-items: center;
33
+ &-label{
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ white-space: nowrap;
37
+ }
38
+ }
39
+ }
40
+
41
+ &-mask {
42
+ position: absolute;
43
+ z-index: 10000;
44
+ left: 0;
45
+ top: 0;
46
+ width: 100%;
47
+ height: 100%;
48
+ display: flex;
49
+ flex-direction: column;
50
+ pointer-events: none;
51
+
52
+ &-top {
53
+ background-color: white;
54
+ flex: auto;
55
+ mask: linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .8) 50%, #000);
56
+ }
57
+
58
+ &-middle {
59
+ height: var(--item-height);
60
+ box-sizing: border-box;
61
+ flex: none;
62
+ border-top: 1px solid #eee;
63
+ border-bottom: 1px solid #eee;
64
+ }
65
+
66
+ &-bottom {
67
+ background-color: white;
68
+ flex: auto;
69
+ mask: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .8) 50%, #000);
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,4 @@
1
+ export type PickerColumnOption = {
2
+ label?: string;
3
+ value?: string;
4
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -4,45 +4,76 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
  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; }
5
5
  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; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- /**
8
- * compact: true
7
+ /**
8
+ * compact: true
9
9
  */
10
10
  import { DemoBlock } from "../../DemoBlock";
11
- import React, { useEffect } from 'react';
11
+ import React from 'react';
12
12
  import Button from "../../Button";
13
13
  import Popup from "../index";
14
14
  export default (function () {
15
15
  var _React$useState = React.useState(false),
16
16
  _React$useState2 = _slicedToArray(_React$useState, 2),
17
- topOpen = _React$useState2[0],
18
- setTopOpen = _React$useState2[1];
17
+ defaultOpen = _React$useState2[0],
18
+ setDefaultOpen = _React$useState2[1];
19
19
  var _React$useState3 = React.useState(false),
20
20
  _React$useState4 = _slicedToArray(_React$useState3, 2),
21
- bottomOpen = _React$useState4[0],
22
- setBottomOpen = _React$useState4[1];
21
+ topOpen = _React$useState4[0],
22
+ setTopOpen = _React$useState4[1];
23
23
  var _React$useState5 = React.useState(false),
24
24
  _React$useState6 = _slicedToArray(_React$useState5, 2),
25
- leftOpen = _React$useState6[0],
26
- setLeftOpen = _React$useState6[1];
25
+ bottomOpen = _React$useState6[0],
26
+ setBottomOpen = _React$useState6[1];
27
27
  var _React$useState7 = React.useState(false),
28
28
  _React$useState8 = _slicedToArray(_React$useState7, 2),
29
- rightOpen = _React$useState8[0],
30
- setRightOpen = _React$useState8[1];
31
- useEffect(function () {
32
- console.log("topOpen", topOpen);
33
- }, [topOpen]);
29
+ leftOpen = _React$useState8[0],
30
+ setLeftOpen = _React$useState8[1];
31
+ var _React$useState9 = React.useState(false),
32
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
33
+ rightOpen = _React$useState10[0],
34
+ setRightOpen = _React$useState10[1];
35
+ var _React$useState11 = React.useState(false),
36
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
37
+ centerOpen = _React$useState12[0],
38
+ setCenterOpen = _React$useState12[1];
39
+ var _React$useState13 = React.useState(false),
40
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
41
+ roundOpen = _React$useState14[0],
42
+ setRoundOpen = _React$useState14[1];
43
+ var _React$useState15 = React.useState(false),
44
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
45
+ closeIconOpen = _React$useState16[0],
46
+ setCloseIconOpen = _React$useState16[1];
34
47
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DemoBlock, {
35
- title: "\u57FA\u7840\u7528\u6CD5"
48
+ title: "\u57FA\u672C\u4F7F\u7528"
49
+ }, /*#__PURE__*/React.createElement(Popup, {
50
+ open: defaultOpen,
51
+ title: "\u6807\u9898",
52
+ closable: true,
53
+ afterClose: function afterClose() {
54
+ setDefaultOpen(false);
55
+ }
56
+ }, /*#__PURE__*/React.createElement("div", {
57
+ style: {
58
+ minHeight: '200px'
59
+ }
60
+ }, "\u57FA\u7840\u5F39\u7A97")), /*#__PURE__*/React.createElement(Button, {
61
+ block: true,
62
+ onClick: function onClick() {
63
+ setDefaultOpen(true);
64
+ }
65
+ }, "\u57FA\u7840\u5F39\u7A97")), /*#__PURE__*/React.createElement(DemoBlock, {
66
+ title: "\u5F39\u51FA\u4F4D\u7F6E"
36
67
  }, /*#__PURE__*/React.createElement(Popup, {
37
68
  open: topOpen,
38
- destroyOnClose: true,
39
- onClose: function onClose() {
69
+ destroyOnHidden: true,
70
+ position: "top",
71
+ afterClose: function afterClose() {
40
72
  setTopOpen(false);
41
- },
42
- maskClosable: true
73
+ }
43
74
  }, /*#__PURE__*/React.createElement("div", {
44
75
  style: {
45
- minHeight: "200px"
76
+ minHeight: '200px'
46
77
  }
47
78
  }, "\u9876\u90E8\u5F39\u51FA")), /*#__PURE__*/React.createElement(Button, {
48
79
  block: true,
@@ -53,12 +84,12 @@ export default (function () {
53
84
  open: bottomOpen,
54
85
  position: "bottom",
55
86
  closable: true,
56
- onClose: function onClose() {
87
+ afterClose: function afterClose() {
57
88
  setBottomOpen(false);
58
89
  }
59
90
  }, /*#__PURE__*/React.createElement("div", {
60
91
  style: {
61
- minHeight: "200px"
92
+ minHeight: '200px'
62
93
  }
63
94
  }, "\u5E95\u90E8\u5F39\u51FA")), /*#__PURE__*/React.createElement(Button, {
64
95
  block: true,
@@ -68,12 +99,12 @@ export default (function () {
68
99
  }, "\u5E95\u90E8\u5F39\u51FA"), /*#__PURE__*/React.createElement(Popup, {
69
100
  open: leftOpen,
70
101
  position: "left",
71
- onClose: function onClose() {
102
+ afterClose: function afterClose() {
72
103
  setLeftOpen(false);
73
104
  }
74
105
  }, /*#__PURE__*/React.createElement("div", {
75
106
  style: {
76
- minWidth: "200px"
107
+ minWidth: '200px'
77
108
  }
78
109
  }, "\u5DE6\u90E8\u5F39\u51FA")), /*#__PURE__*/React.createElement(Button, {
79
110
  block: true,
@@ -83,17 +114,68 @@ export default (function () {
83
114
  }, "\u5DE6\u90E8\u5F39\u51FA"), /*#__PURE__*/React.createElement(Popup, {
84
115
  open: rightOpen,
85
116
  position: "right",
86
- onClose: function onClose() {
117
+ afterClose: function afterClose() {
87
118
  setRightOpen(false);
88
119
  }
89
120
  }, /*#__PURE__*/React.createElement("div", {
90
121
  style: {
91
- minWidth: "200px"
122
+ minWidth: '200px'
92
123
  }
93
124
  }, "\u53F3\u90E8\u5F39\u51FA")), /*#__PURE__*/React.createElement(Button, {
94
125
  block: true,
95
126
  onClick: function onClick() {
96
127
  setRightOpen(true);
97
128
  }
98
- }, "\u53F3\u90E8\u5F39\u51FA")));
129
+ }, "\u53F3\u90E8\u5F39\u51FA"), /*#__PURE__*/React.createElement(Popup, {
130
+ open: centerOpen,
131
+ position: "center",
132
+ afterClose: function afterClose() {
133
+ setCenterOpen(false);
134
+ }
135
+ }, /*#__PURE__*/React.createElement("div", {
136
+ style: {
137
+ minWidth: '200px',
138
+ minHeight: '200px'
139
+ }
140
+ }, "\u5C45\u4E2D\u5F39\u51FA")), /*#__PURE__*/React.createElement(Button, {
141
+ block: true,
142
+ onClick: function onClick() {
143
+ setCenterOpen(true);
144
+ }
145
+ }, "\u5C45\u4E2D\u5F39\u51FA")), /*#__PURE__*/React.createElement(DemoBlock, {
146
+ title: "\u5706\u89D2"
147
+ }, /*#__PURE__*/React.createElement(Popup, {
148
+ open: roundOpen,
149
+ round: true,
150
+ afterClose: function afterClose() {
151
+ setRoundOpen(false);
152
+ }
153
+ }, /*#__PURE__*/React.createElement("div", {
154
+ style: {
155
+ minHeight: '200px'
156
+ }
157
+ }, "\u5706\u89D2\u5F39\u7A97")), /*#__PURE__*/React.createElement(Button, {
158
+ block: true,
159
+ onClick: function onClick() {
160
+ setRoundOpen(true);
161
+ }
162
+ }, "\u5706\u89D2\u5F39\u7A97")), /*#__PURE__*/React.createElement(DemoBlock, {
163
+ title: "\u5173\u95ED\u56FE\u6807"
164
+ }, /*#__PURE__*/React.createElement(Popup, {
165
+ open: closeIconOpen,
166
+ round: true,
167
+ closable: true,
168
+ afterClose: function afterClose() {
169
+ setCloseIconOpen(false);
170
+ }
171
+ }, /*#__PURE__*/React.createElement("div", {
172
+ style: {
173
+ minHeight: '200px'
174
+ }
175
+ }, "\u5706\u89D2\u5F39\u7A97")), /*#__PURE__*/React.createElement(Button, {
176
+ block: true,
177
+ onClick: function onClick() {
178
+ setCloseIconOpen(true);
179
+ }
180
+ }, "\u5173\u95ED\u56FE\u6807")));
99
181
  });
@@ -1,3 +1,4 @@
1
- import { Popup, PopupProps } from "@trionesdev/antd-mobile-base-react";
1
+ import { Popup, PopupProps } from "./popup";
2
+ import "./style.scss";
2
3
  export type { PopupProps };
3
4
  export default Popup;
@@ -1,2 +1,3 @@
1
- import { Popup } from "@trionesdev/antd-mobile-base-react";
1
+ import { Popup } from "./popup";
2
+ import "./style.scss";
2
3
  export default Popup;
@@ -0,0 +1,31 @@
1
+ import React, { FC, PropsWithChildren } from 'react';
2
+ export type PopupProps = {
3
+ open?: boolean;
4
+ title?: React.ReactNode;
5
+ position?: 'top' | 'bottom' | 'left' | 'right' | 'center';
6
+ closable?: boolean;
7
+ closeIconPosition?: 'top-left' | 'top-right';
8
+ closeIcon?: React.ReactNode;
9
+ /**
10
+ * @description 点击遮罩层是否关闭
11
+ * @default true
12
+ */
13
+ overlayClosable?: boolean;
14
+ destroyOnHidden?: boolean;
15
+ onClose?: () => void;
16
+ afterClose?: () => void;
17
+ afterOpenChange?: (open: boolean) => void;
18
+ className?: string;
19
+ style?: React.CSSProperties;
20
+ round?: boolean;
21
+ safeArea?: boolean;
22
+ zIndex?: number;
23
+ styles?: {
24
+ overlay?: React.CSSProperties;
25
+ container?: React.CSSProperties;
26
+ header?: React.CSSProperties;
27
+ title?: React.CSSProperties;
28
+ body?: React.CSSProperties;
29
+ };
30
+ };
31
+ export declare const Popup: FC<PropsWithChildren<PopupProps>>;
@@ -0,0 +1,87 @@
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 _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; }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
4
+ 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); }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+ 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."); }
7
+ 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); }
8
+ 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; }
9
+ 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; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ import React, { memo, useEffect, useState } from 'react';
12
+ import classNames from 'classnames';
13
+ import { CloseOutline } from '@trionesdev/antd-mobile-icons-react';
14
+ import Overlay from "../Overlay";
15
+ import SafeArea from "../SafeArea";
16
+ var cls = 'triones-antm-popup';
17
+ export var Popup = /*#__PURE__*/memo(function (_ref) {
18
+ var _ref$open = _ref.open,
19
+ open = _ref$open === void 0 ? false : _ref$open,
20
+ title = _ref.title,
21
+ _ref$position = _ref.position,
22
+ position = _ref$position === void 0 ? 'bottom' : _ref$position,
23
+ _ref$closable = _ref.closable,
24
+ closable = _ref$closable === void 0 ? false : _ref$closable,
25
+ _ref$closeIconPositio = _ref.closeIconPosition,
26
+ closeIconPosition = _ref$closeIconPositio === void 0 ? 'top-right' : _ref$closeIconPositio,
27
+ closeIcon = _ref.closeIcon,
28
+ _ref$overlayClosable = _ref.overlayClosable,
29
+ overlayClosable = _ref$overlayClosable === void 0 ? true : _ref$overlayClosable,
30
+ _ref$destroyOnHidden = _ref.destroyOnHidden,
31
+ destroyOnHidden = _ref$destroyOnHidden === void 0 ? false : _ref$destroyOnHidden,
32
+ onClose = _ref.onClose,
33
+ afterClose = _ref.afterClose,
34
+ afterOpenChange = _ref.afterOpenChange,
35
+ className = _ref.className,
36
+ style = _ref.style,
37
+ _ref$round = _ref.round,
38
+ round = _ref$round === void 0 ? false : _ref$round,
39
+ _ref$safeArea = _ref.safeArea,
40
+ safeArea = _ref$safeArea === void 0 ? true : _ref$safeArea,
41
+ zIndex = _ref.zIndex,
42
+ children = _ref.children,
43
+ styles = _ref.styles;
44
+ var _useState = useState(open || false),
45
+ _useState2 = _slicedToArray(_useState, 2),
46
+ internalOpen = _useState2[0],
47
+ setInternalOpen = _useState2[1];
48
+ var handleClose = function handleClose() {
49
+ setInternalOpen(false);
50
+ onClose === null || onClose === void 0 || onClose();
51
+ };
52
+ useEffect(function () {
53
+ if (open === undefined) {
54
+ return;
55
+ }
56
+ if (open !== internalOpen) {
57
+ setInternalOpen(open);
58
+ }
59
+ }, [open]);
60
+ var popupInner = /*#__PURE__*/React.createElement(React.Fragment, null, closable && /*#__PURE__*/React.createElement("div", {
61
+ className: classNames("".concat(cls, "-close"), "".concat(cls, "-close-").concat(closeIconPosition)),
62
+ onClick: handleClose
63
+ }, closeIcon || /*#__PURE__*/React.createElement(CloseOutline, null)), title && /*#__PURE__*/React.createElement("div", {
64
+ className: "".concat(cls, "-header"),
65
+ style: styles === null || styles === void 0 ? void 0 : styles.header
66
+ }, /*#__PURE__*/React.createElement("div", {
67
+ className: "".concat(cls, "-title"),
68
+ style: styles === null || styles === void 0 ? void 0 : styles.title
69
+ }, title)), /*#__PURE__*/React.createElement("div", {
70
+ className: "".concat(cls, "-body"),
71
+ style: styles === null || styles === void 0 ? void 0 : styles.body
72
+ }, children));
73
+ return /*#__PURE__*/React.createElement(Overlay, {
74
+ open: internalOpen,
75
+ onClose: handleClose,
76
+ closeOnOverlayClick: overlayClosable,
77
+ zIndex: zIndex,
78
+ className: classNames("".concat(cls, "-overlay"), "".concat(cls, "-").concat(position)),
79
+ afterClose: afterClose,
80
+ afterOpenChange: afterOpenChange,
81
+ destroyOnHidden: destroyOnHidden,
82
+ style: styles === null || styles === void 0 ? void 0 : styles.overlay
83
+ }, /*#__PURE__*/React.createElement("div", {
84
+ className: classNames("".concat(cls, "-container"), _defineProperty({}, "".concat(cls, "-round"), round)),
85
+ style: styles === null || styles === void 0 ? void 0 : styles.container
86
+ }, ['top', 'bottom', 'left', 'right'].includes(position) ? /*#__PURE__*/React.createElement(SafeArea, null, popupInner) : popupInner));
87
+ });