@hkyhy/marsun-components-core 0.1.67 → 0.1.69

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 (232) hide show
  1. package/dist/components/FlexBox/FlexBox.d.ts +7 -0
  2. package/dist/components/FlexBox/FlexBox.js +43 -0
  3. package/dist/components/FlexBox/FlexBox.js.map +1 -0
  4. package/dist/components/FlexBox/FlexBoxFetch.d.ts +3 -0
  5. package/dist/components/FlexBox/FlexBoxFetch.js +92 -0
  6. package/dist/components/FlexBox/FlexBoxFetch.js.map +1 -0
  7. package/dist/components/FlexBox/FlexBoxView.d.ts +18 -0
  8. package/dist/components/FlexBox/FlexBoxView.js +42 -0
  9. package/dist/components/FlexBox/FlexBoxView.js.map +1 -0
  10. package/dist/components/FlexBox/defaultColumns.d.ts +7 -0
  11. package/dist/components/FlexBox/defaultColumns.js +26 -0
  12. package/dist/components/FlexBox/defaultColumns.js.map +1 -0
  13. package/dist/components/FlexBox/index.d.ts +79 -0
  14. package/dist/components/FlexBox/useFlexBox.d.ts +5 -0
  15. package/dist/components/FlexBox/useFlexBox.js +19 -0
  16. package/dist/components/FlexBox/useFlexBox.js.map +1 -0
  17. package/dist/components/Form/FormDataSync.d.ts +3 -0
  18. package/dist/components/Form/FormDataSync.js +29 -15
  19. package/dist/components/Form/FormDataSync.js.map +1 -1
  20. package/dist/components/Form/InputRange.d.ts +19 -0
  21. package/dist/components/Form/InputRange.js +84 -0
  22. package/dist/components/Form/InputRange.js.map +1 -0
  23. package/dist/components/Form/InputRange.module.scss.js +9 -0
  24. package/dist/components/Form/InputRange.module.scss.js.map +1 -0
  25. package/dist/components/Form/index.d.ts +4 -0
  26. package/dist/components/Form/inputRangeRules.d.ts +15 -0
  27. package/dist/components/Form/inputRangeRules.js +23 -0
  28. package/dist/components/Form/inputRangeRules.js.map +1 -0
  29. package/dist/components/Form/kneFormInfo.js +7 -7
  30. package/dist/components/FormInfo/ErrorTip.d.ts +7 -0
  31. package/dist/components/FormInfo/ErrorTip.js +89 -0
  32. package/dist/components/FormInfo/ErrorTip.js.map +1 -0
  33. package/dist/components/FormInfo/Form.d.ts +7 -0
  34. package/dist/components/FormInfo/Form.js +23 -0
  35. package/dist/components/FormInfo/Form.js.map +1 -0
  36. package/dist/components/FormInfo/FormApiButton.d.ts +7 -0
  37. package/dist/components/FormInfo/FormApiButton.js +28 -0
  38. package/dist/components/FormInfo/FormApiButton.js.map +1 -0
  39. package/dist/components/FormInfo/FormDrawer.d.ts +9 -0
  40. package/dist/components/FormInfo/FormDrawer.js +42 -0
  41. package/dist/components/FormInfo/FormDrawer.js.map +1 -0
  42. package/dist/components/FormInfo/FormInfo.d.ts +4 -0
  43. package/dist/components/FormInfo/FormInfo.js +61 -0
  44. package/dist/components/FormInfo/FormInfo.js.map +1 -0
  45. package/dist/components/FormInfo/FormItem.d.ts +4 -0
  46. package/dist/components/FormInfo/FormItem.js +10 -0
  47. package/dist/components/FormInfo/FormItem.js.map +1 -0
  48. package/dist/components/FormInfo/FormModal.d.ts +11 -0
  49. package/dist/components/FormInfo/FormModal.js +43 -0
  50. package/dist/components/FormInfo/FormModal.js.map +1 -0
  51. package/dist/components/FormInfo/FormSteps.d.ts +9 -0
  52. package/dist/components/FormInfo/FormSteps.js +96 -0
  53. package/dist/components/FormInfo/FormSteps.js.map +1 -0
  54. package/dist/components/FormInfo/FormStepsModal.d.ts +14 -0
  55. package/dist/components/FormInfo/FormStepsModal.js +96 -0
  56. package/dist/components/FormInfo/FormStepsModal.js.map +1 -0
  57. package/dist/components/FormInfo/List.d.ts +6 -0
  58. package/dist/components/FormInfo/List.js +180 -0
  59. package/dist/components/FormInfo/List.js.map +1 -0
  60. package/dist/components/FormInfo/MultiField.d.ts +6 -0
  61. package/dist/components/FormInfo/MultiField.js +76 -0
  62. package/dist/components/FormInfo/MultiField.js.map +1 -0
  63. package/dist/components/FormInfo/Steps.d.ts +26 -0
  64. package/dist/components/FormInfo/Steps.js +178 -0
  65. package/dist/components/FormInfo/Steps.js.map +1 -0
  66. package/dist/components/FormInfo/TableList.d.ts +6 -0
  67. package/dist/components/FormInfo/TableList.js +216 -0
  68. package/dist/components/FormInfo/TableList.js.map +1 -0
  69. package/dist/components/FormInfo/buildFormOverlayProps.d.ts +27 -0
  70. package/dist/components/FormInfo/buildFormOverlayProps.js +55 -0
  71. package/dist/components/FormInfo/buildFormOverlayProps.js.map +1 -0
  72. package/dist/components/FormInfo/fields.d.ts +33 -0
  73. package/dist/components/FormInfo/fields.js +30 -0
  74. package/dist/components/FormInfo/fields.js.map +1 -0
  75. package/dist/components/FormInfo/index.d.ts +21 -0
  76. package/dist/components/FormInfo/locale/zh-CN.d.ts +16 -0
  77. package/dist/components/FormInfo/locale/zh-CN.js +17 -0
  78. package/dist/components/FormInfo/locale/zh-CN.js.map +1 -0
  79. package/dist/components/FormInfo/nestBlock.d.ts +15 -0
  80. package/dist/components/FormInfo/nestBlock.js +19 -0
  81. package/dist/components/FormInfo/nestBlock.js.map +1 -0
  82. package/dist/components/FormInfo/style.module.scss.js +57 -0
  83. package/dist/components/FormInfo/style.module.scss.js.map +1 -0
  84. package/dist/components/FormInfo/types.d.ts +213 -0
  85. package/dist/components/FormInfo/withLocale.d.ts +14 -0
  86. package/dist/components/FormInfo/withLocale.js +25 -0
  87. package/dist/components/FormInfo/withLocale.js.map +1 -0
  88. package/dist/components/InfoPage/CentralContent/boxComputed.d.ts +2 -0
  89. package/dist/components/InfoPage/CentralContent/boxComputed.js +15 -0
  90. package/dist/components/InfoPage/CentralContent/boxComputed.js.map +1 -0
  91. package/dist/components/InfoPage/CentralContent/index.d.ts +3 -0
  92. package/dist/components/InfoPage/CentralContent/index.js +102 -0
  93. package/dist/components/InfoPage/CentralContent/index.js.map +1 -0
  94. package/dist/components/InfoPage/CentralContent/style.module.scss.js +15 -0
  95. package/dist/components/InfoPage/CentralContent/style.module.scss.js.map +1 -0
  96. package/dist/components/InfoPage/Content/index.d.ts +16 -0
  97. package/dist/components/InfoPage/Content/index.js +72 -0
  98. package/dist/components/InfoPage/Content/index.js.map +1 -0
  99. package/dist/components/InfoPage/Content/style.module.scss.js +14 -0
  100. package/dist/components/InfoPage/Content/style.module.scss.js.map +1 -0
  101. package/dist/components/InfoPage/Descriptions/index.d.ts +9 -0
  102. package/dist/components/InfoPage/Descriptions/index.js +48 -0
  103. package/dist/components/InfoPage/Descriptions/index.js.map +1 -0
  104. package/dist/components/InfoPage/Descriptions/style.module.scss.js +11 -0
  105. package/dist/components/InfoPage/Descriptions/style.module.scss.js.map +1 -0
  106. package/dist/components/InfoPage/Flow/index.d.ts +9 -0
  107. package/dist/components/InfoPage/Flow/index.js +165 -0
  108. package/dist/components/InfoPage/Flow/index.js.map +1 -0
  109. package/dist/components/InfoPage/Flow/style.module.scss.js +19 -0
  110. package/dist/components/InfoPage/Flow/style.module.scss.js.map +1 -0
  111. package/dist/components/InfoPage/InfoPage/Collapse.d.ts +10 -0
  112. package/dist/components/InfoPage/InfoPage/Collapse.js +11 -0
  113. package/dist/components/InfoPage/InfoPage/Collapse.js.map +1 -0
  114. package/dist/components/InfoPage/InfoPage/index.d.ts +21 -0
  115. package/dist/components/InfoPage/InfoPage/index.js +35 -0
  116. package/dist/components/InfoPage/InfoPage/index.js.map +1 -0
  117. package/dist/components/InfoPage/InfoPage/style.module.scss.js +15 -0
  118. package/dist/components/InfoPage/InfoPage/style.module.scss.js.map +1 -0
  119. package/dist/components/InfoPage/Report/List.d.ts +6 -0
  120. package/dist/components/InfoPage/Report/List.js +26 -0
  121. package/dist/components/InfoPage/Report/List.js.map +1 -0
  122. package/dist/components/InfoPage/Report/Part.d.ts +6 -0
  123. package/dist/components/InfoPage/Report/Part.js +42 -0
  124. package/dist/components/InfoPage/Report/Part.js.map +1 -0
  125. package/dist/components/InfoPage/Report/PrintPageBreak.d.ts +3 -0
  126. package/dist/components/InfoPage/Report/PrintPageBreak.js +8 -0
  127. package/dist/components/InfoPage/Report/PrintPageBreak.js.map +1 -0
  128. package/dist/components/InfoPage/Report/Result.d.ts +6 -0
  129. package/dist/components/InfoPage/Report/Result.js +26 -0
  130. package/dist/components/InfoPage/Report/Result.js.map +1 -0
  131. package/dist/components/InfoPage/Report/Table.d.ts +6 -0
  132. package/dist/components/InfoPage/Report/Table.js +125 -0
  133. package/dist/components/InfoPage/Report/Table.js.map +1 -0
  134. package/dist/components/InfoPage/Report/index.d.ts +26 -0
  135. package/dist/components/InfoPage/Report/index.js +61 -0
  136. package/dist/components/InfoPage/Report/index.js.map +1 -0
  137. package/dist/components/InfoPage/Report/style.module.scss.js +47 -0
  138. package/dist/components/InfoPage/Report/style.module.scss.js.map +1 -0
  139. package/dist/components/InfoPage/Score/index.d.ts +8 -0
  140. package/dist/components/InfoPage/Score/index.js +50 -0
  141. package/dist/components/InfoPage/Score/index.js.map +1 -0
  142. package/dist/components/InfoPage/Score/style.module.scss.js +10 -0
  143. package/dist/components/InfoPage/Score/style.module.scss.js.map +1 -0
  144. package/dist/components/InfoPage/SplitLine/index.d.ts +17 -0
  145. package/dist/components/InfoPage/SplitLine/index.js +67 -0
  146. package/dist/components/InfoPage/SplitLine/index.js.map +1 -0
  147. package/dist/components/InfoPage/SplitLine/style.module.scss.js +8 -0
  148. package/dist/components/InfoPage/SplitLine/style.module.scss.js.map +1 -0
  149. package/dist/components/InfoPage/computeColumnsValue.d.ts +28 -0
  150. package/dist/components/InfoPage/computeColumnsValue.js +60 -0
  151. package/dist/components/InfoPage/computeColumnsValue.js.map +1 -0
  152. package/dist/components/InfoPage/formatView.d.ts +23 -0
  153. package/dist/components/InfoPage/formatView.js +119 -0
  154. package/dist/components/InfoPage/formatView.js.map +1 -0
  155. package/dist/components/InfoPage/index.d.ts +262 -0
  156. package/dist/components/OrgTree/OrgTree.js +103 -89
  157. package/dist/components/OrgTree/OrgTree.js.map +1 -1
  158. package/dist/components/ReactModal/ColumnsLayout.d.ts +7 -0
  159. package/dist/components/ReactModal/ColumnsLayout.js +20 -0
  160. package/dist/components/ReactModal/ColumnsLayout.js.map +1 -0
  161. package/dist/components/ReactModal/Drawer.d.ts +73 -0
  162. package/dist/components/ReactModal/Drawer.js +292 -0
  163. package/dist/components/ReactModal/Drawer.js.map +1 -0
  164. package/dist/components/ReactModal/Footer.d.ts +12 -0
  165. package/dist/components/ReactModal/Footer.js +53 -0
  166. package/dist/components/ReactModal/Footer.js.map +1 -0
  167. package/dist/components/ReactModal/Modal.d.ts +14 -0
  168. package/dist/components/ReactModal/Modal.js +366 -0
  169. package/dist/components/ReactModal/Modal.js.map +1 -0
  170. package/dist/components/ReactModal/ScrollRegion.d.ts +7 -0
  171. package/dist/components/ReactModal/ScrollRegion.js +22 -0
  172. package/dist/components/ReactModal/ScrollRegion.js.map +1 -0
  173. package/dist/components/ReactModal/SimpleBar.d.ts +2 -0
  174. package/dist/components/ReactModal/SimpleBar.js +7 -0
  175. package/dist/components/ReactModal/SimpleBar.js.map +1 -0
  176. package/dist/components/ReactModal/TabsLayout.d.ts +6 -0
  177. package/dist/components/ReactModal/TabsLayout.js +16 -0
  178. package/dist/components/ReactModal/TabsLayout.js.map +1 -0
  179. package/dist/components/ReactModal/confirmModal.module.scss.js +30 -0
  180. package/dist/components/ReactModal/confirmModal.module.scss.js.map +1 -0
  181. package/dist/components/ReactModal/createDrawerRender.d.ts +2 -0
  182. package/dist/components/ReactModal/createDrawerRender.js +7 -0
  183. package/dist/components/ReactModal/createDrawerRender.js.map +1 -0
  184. package/dist/components/ReactModal/createModalRender.d.ts +2 -0
  185. package/dist/components/ReactModal/createModalRender.js +7 -0
  186. package/dist/components/ReactModal/createModalRender.js.map +1 -0
  187. package/dist/components/ReactModal/drawer.module.scss.js +36 -0
  188. package/dist/components/ReactModal/drawer.module.scss.js.map +1 -0
  189. package/dist/components/ReactModal/index.d.ts +57 -0
  190. package/dist/components/ReactModal/intlStub.d.ts +15 -0
  191. package/dist/components/ReactModal/intlStub.js +21 -0
  192. package/dist/components/ReactModal/intlStub.js.map +1 -0
  193. package/dist/components/ReactModal/layouts.module.scss.js +12 -0
  194. package/dist/components/ReactModal/layouts.module.scss.js.map +1 -0
  195. package/dist/components/ReactModal/locale/en-US.d.ts +5 -0
  196. package/dist/components/ReactModal/locale/zh-CN.d.ts +5 -0
  197. package/dist/components/ReactModal/locale/zh-CN.js +8 -0
  198. package/dist/components/ReactModal/locale/zh-CN.js.map +1 -0
  199. package/dist/components/ReactModal/lockParentScroll.d.ts +3 -0
  200. package/dist/components/ReactModal/modalClassNames.d.ts +5 -0
  201. package/dist/components/ReactModal/modalClassNames.js +8 -0
  202. package/dist/components/ReactModal/modalClassNames.js.map +1 -0
  203. package/dist/components/ReactModal/style.module.scss.js +38 -0
  204. package/dist/components/ReactModal/style.module.scss.js.map +1 -0
  205. package/dist/components/ReactModal/useConfirmModal.d.ts +4 -0
  206. package/dist/components/ReactModal/useConfirmModal.js +161 -0
  207. package/dist/components/ReactModal/useConfirmModal.js.map +1 -0
  208. package/dist/components/ReactModal/useDrawer.d.ts +5 -0
  209. package/dist/components/ReactModal/useDrawer.js +123 -0
  210. package/dist/components/ReactModal/useDrawer.js.map +1 -0
  211. package/dist/components/ReactModal/usePatchElement.d.ts +2 -0
  212. package/dist/components/ReactModal/usePatchElement.js +11 -0
  213. package/dist/components/ReactModal/usePatchElement.js.map +1 -0
  214. package/dist/components/ReactModal/withLocale.d.ts +5 -0
  215. package/dist/components/ReactModal/withLocale.js +6 -0
  216. package/dist/components/ReactModal/withLocale.js.map +1 -0
  217. package/dist/components/VirtualScrollbar/VirtualScrollbar/index.d.ts +5 -0
  218. package/dist/components/VirtualScrollbar/VirtualScrollbar/index.js +75 -51
  219. package/dist/components/VirtualScrollbar/VirtualScrollbar/index.js.map +1 -1
  220. package/dist/components/index.d.ts +5 -0
  221. package/dist/form-info.d.ts +17 -0
  222. package/dist/form-info.js +68 -0
  223. package/dist/form-info.js.map +1 -0
  224. package/dist/index.d.ts +3 -0
  225. package/dist/index.js +700 -632
  226. package/dist/index.js.map +1 -1
  227. package/dist/marsun-components-core.css +1 -1
  228. package/dist/styles/global.css +1 -1
  229. package/dist/utils/date.d.ts +4 -1
  230. package/dist/utils/date.js +35 -27
  231. package/dist/utils/date.js.map +1 -1
  232. package/package.json +16 -2
@@ -0,0 +1,292 @@
1
+ import { jsxs as F, Fragment as Y, jsx as u } from "react/jsx-runtime";
2
+ import { useRef as Z, useEffect as z } from "react";
3
+ import { Drawer as M, Button as p } from "antd";
4
+ import { CloseOutlined as N } from "@ant-design/icons";
5
+ import d from "classnames";
6
+ import { useMobilePopupMount as S, useScrollElement as C } from "@kne/responsive-utils";
7
+ import $ from "./withLocale.js";
8
+ import ee from "./Footer.js";
9
+ import re from "simplebar-react";
10
+ /* empty css */
11
+ import t from "./drawer.module.scss.js";
12
+ const te = $(({ children: e }) => e), ne = [".example-driver-device-scroll"], oe = {
13
+ cover: "boundary",
14
+ exampleSelectors: ne
15
+ }, E = (e, r) => typeof e == "function" ? e(r) : e, A = (e) => {
16
+ if (e)
17
+ return typeof e == "function" ? (r) => e(r) || null : () => e;
18
+ }, ie = (e) => e === "top" || e === "bottom", ae = (e) => {
19
+ if (!e || typeof e.closest != "function")
20
+ return null;
21
+ const r = e.closest(".ant-drawer-root");
22
+ return r ? r.parentElement || (typeof document < "u" ? document.body : null) : null;
23
+ }, de = ({
24
+ customGetContainer: e,
25
+ getPopupContainer: r,
26
+ getHostNode: n
27
+ }) => {
28
+ const o = A(e);
29
+ return (i) => {
30
+ if (o) {
31
+ const f = o(i);
32
+ if (f)
33
+ return f;
34
+ }
35
+ const h = i || (typeof n == "function" ? n() : null), w = ae(h);
36
+ return w || r(i);
37
+ };
38
+ };
39
+ let D = 0, R = [];
40
+ const ce = (e) => {
41
+ if (D += 1, D === 1) {
42
+ const r = [document.body], n = typeof e == "function" ? e() : null;
43
+ n && n !== document.body && !r.includes(n) && r.push(n), R = r.map((o) => {
44
+ const i = {
45
+ overflow: o.style.overflow,
46
+ overscrollBehavior: o.style.overscrollBehavior
47
+ };
48
+ return o.style.overflow = "hidden", o.style.overscrollBehavior = "none", { el: o, prev: i };
49
+ });
50
+ }
51
+ return () => {
52
+ D = Math.max(0, D - 1), D === 0 && (R.forEach(({ el: r, prev: n }) => {
53
+ r.style.overflow = n.overflow, r.style.overscrollBehavior = n.overscrollBehavior;
54
+ }), R = []);
55
+ };
56
+ }, le = (e, r) => {
57
+ z(() => {
58
+ if (e)
59
+ return ce(r);
60
+ }, [e, r]);
61
+ }, ue = (e, r) => {
62
+ const n = e === "small" ? 300 : 500, o = 48 + (r ? 69 : 0), i = `${Math.max(0, n - o)}px`, h = typeof window < "u" ? `${Math.min(window.innerWidth - 64, 1500)}px` : "1500px";
63
+ return e === "large" ? { dimension: h, "--kne-drawer-body-min-height": i } : e === "small" ? { dimension: "600px", "--kne-drawer-body-min-height": i } : { dimension: "1000px", "--kne-drawer-body-min-height": i };
64
+ }, he = ({
65
+ title: e,
66
+ footer: r,
67
+ footerButtons: n,
68
+ noPadding: o,
69
+ onClose: i,
70
+ closable: h,
71
+ onConfirm: w,
72
+ onCancel: f,
73
+ children: y,
74
+ targetProps: s,
75
+ cancelText: x,
76
+ confirmText: k,
77
+ isMobile: v,
78
+ bodyScroll: g
79
+ }) => {
80
+ const m = o ?? g === !1, c = /* @__PURE__ */ u(
81
+ "div",
82
+ {
83
+ className: d(t["drawer-body-inner"], "drawer-body-inner", "modal-body-inner", {
84
+ [t["no-padding"]]: m
85
+ }),
86
+ children: y
87
+ }
88
+ ), P = d(t["drawer-body"], "drawer-body", "modal-body");
89
+ return /* @__PURE__ */ F(
90
+ "div",
91
+ {
92
+ className: d(t["drawer-outer"], "drawer-container", {
93
+ [t["is-mobile"]]: v,
94
+ [t["no-title"]]: !e,
95
+ [t["no-footer"]]: r === null && n === void 0,
96
+ [t["no-padding"]]: m
97
+ }),
98
+ "data-testid": "react-drawer",
99
+ children: [
100
+ h === !1 ? null : /* @__PURE__ */ u(
101
+ p,
102
+ {
103
+ "data-testid": "react-drawer-close-btn",
104
+ className: d(t["drawer-close"], "drawer-close"),
105
+ type: "text",
106
+ icon: /* @__PURE__ */ u(N, {}),
107
+ onClick: (H) => {
108
+ H.stopPropagation(), i && i();
109
+ }
110
+ }
111
+ ),
112
+ e ? /* @__PURE__ */ u("div", { className: d(t["drawer-title"], "drawer-title", "modal-title"), children: e }) : null,
113
+ g !== !1 ? /* @__PURE__ */ u(re, { className: P, style: { height: "var(--kne-drawer-body-height)" }, children: c }) : /* @__PURE__ */ u("div", { className: d(P, t["body-scroll-off"]), children: c }),
114
+ r === null && n === void 0 ? null : /* @__PURE__ */ u(
115
+ ee,
116
+ {
117
+ footer: r,
118
+ footerButtons: n,
119
+ onConfirm: w,
120
+ confirmText: k,
121
+ onCancel: f,
122
+ cancelText: x,
123
+ onClose: i,
124
+ targetProps: s,
125
+ isMobile: v
126
+ }
127
+ )
128
+ ]
129
+ }
130
+ );
131
+ }, fe = ({
132
+ children: e,
133
+ footer: r,
134
+ footerButtons: n,
135
+ className: o,
136
+ size: i = "default",
137
+ placement: h = "right",
138
+ title: w,
139
+ onClose: f,
140
+ onConfirm: y,
141
+ confirmText: s,
142
+ onCancel: x,
143
+ cancelText: k,
144
+ closable: v,
145
+ noPadding: g,
146
+ bodyScroll: m = !0,
147
+ isMobile: c,
148
+ fixedModeClass: P,
149
+ rootClassName: H,
150
+ classNames: a,
151
+ styles: l,
152
+ style: I,
153
+ width: T,
154
+ height: _,
155
+ modalRender: L,
156
+ drawerRender: j,
157
+ ...B
158
+ }) => {
159
+ const b = ie(h), X = !(r === null && n === void 0), { dimension: W, ...q } = ue(i, X), G = b ? { height: _ ?? W } : { width: T ?? W }, J = (U) => {
160
+ const O = Object.assign({}, U, { close: f }), V = /* @__PURE__ */ u("div", { className: d(t["drawer-panel-host"], "drawer-panel-host"), children: /* @__PURE__ */ u("div", { className: d(t["drawer-panel-body"], "drawer-panel-body"), children: /* @__PURE__ */ u(
161
+ he,
162
+ {
163
+ title: E(w, O),
164
+ closable: v,
165
+ onClose: f,
166
+ onConfirm: y,
167
+ confirmText: s,
168
+ onCancel: x,
169
+ cancelText: k,
170
+ footerButtons: E(n, O),
171
+ noPadding: g,
172
+ footer: E(r, O),
173
+ targetProps: O,
174
+ isMobile: c,
175
+ bodyScroll: m,
176
+ children: E(e, O)
177
+ }
178
+ ) }) });
179
+ return typeof L == "function" ? L(V) : V;
180
+ }, K = c ? b ? t["drawer-wrapper-mobile-vertical"] : t["drawer-wrapper-mobile"] : null, Q = {
181
+ height: "100%",
182
+ display: "flex",
183
+ flexDirection: "column",
184
+ padding: 0
185
+ };
186
+ return {
187
+ ...B,
188
+ ...j ? { drawerRender: j } : null,
189
+ placement: h,
190
+ ...G,
191
+ title: null,
192
+ maskClosable: Object.prototype.hasOwnProperty.call(B, "maskClosable") ? B.maskClosable : !1,
193
+ destroyOnHidden: !0,
194
+ footer: null,
195
+ closable: !1,
196
+ onClose: f,
197
+ rootClassName: d(
198
+ H,
199
+ c && t["drawer-root-mobile"],
200
+ c && P,
201
+ L && t["drawer-form-host"],
202
+ j && t["drawer-host-render"]
203
+ ),
204
+ classNames: Object.assign({}, a, {
205
+ header: d(t["drawer-antd-header"], a == null ? void 0 : a.header),
206
+ footer: d(t["drawer-antd-footer"], a == null ? void 0 : a.footer),
207
+ body: d(
208
+ t["drawer-antd-body"],
209
+ c && t["is-mobile"],
210
+ a == null ? void 0 : a.body
211
+ ),
212
+ wrapper: d(a == null ? void 0 : a.wrapper, K),
213
+ mask: d(a == null ? void 0 : a.mask, c && P)
214
+ }),
215
+ className: d(o, t.drawer, t[i], {
216
+ [t["is-mobile"]]: c
217
+ }),
218
+ style: Object.assign(
219
+ {},
220
+ q,
221
+ I,
222
+ b ? { "--kne-drawer-viewport-height": W } : null
223
+ ),
224
+ styles: {
225
+ ...l,
226
+ body: {
227
+ padding: 0,
228
+ ...l == null ? void 0 : l.body,
229
+ flex: "1 1 auto",
230
+ minHeight: 0,
231
+ display: "flex",
232
+ flexDirection: "column",
233
+ overflow: "hidden",
234
+ ...c ? { height: "100%", maxHeight: "100%" } : null
235
+ },
236
+ section: {
237
+ ...Q,
238
+ ...l == null ? void 0 : l.section,
239
+ ...l == null ? void 0 : l.content
240
+ },
241
+ wrapper: {
242
+ ...l == null ? void 0 : l.wrapper,
243
+ ...b ? { height: "var(--kne-drawer-viewport-height, 100vh)", maxHeight: "100%" } : { height: "100%" },
244
+ ...c && !b ? { width: "var(--kne-viewport-width, 100vw)", maxWidth: "100%" } : null,
245
+ ...c && b ? { height: "var(--kne-viewport-height, 100vh)", maxHeight: "100%" } : null
246
+ }
247
+ },
248
+ children: /* @__PURE__ */ u(te, { children: J({}) })
249
+ };
250
+ }, De = $(
251
+ ({ size: e = "default", placement: r = "right", getContainer: n, open: o, bodyScroll: i = !0, ...h }) => {
252
+ const w = Z(null), { isMobile: f, fixedModeClass: y, getPopupContainer: s, anchorRef: x } = S({
253
+ ...oe,
254
+ getPopupContainer: A(n)
255
+ }), k = C();
256
+ le(!!o, k);
257
+ const v = (m) => {
258
+ w.current = m, x(m);
259
+ }, g = de({
260
+ customGetContainer: n,
261
+ getPopupContainer: s,
262
+ getHostNode: () => w.current
263
+ });
264
+ return /* @__PURE__ */ F(Y, { children: [
265
+ /* @__PURE__ */ u("span", { ref: v, className: t["drawer-host"], "aria-hidden": "true" }),
266
+ /* @__PURE__ */ u(
267
+ M,
268
+ {
269
+ ...fe(
270
+ Object.assign({}, h, {
271
+ size: e,
272
+ placement: r,
273
+ isMobile: f,
274
+ open: o,
275
+ fixedModeClass: y,
276
+ bodyScroll: i
277
+ })
278
+ ),
279
+ open: o,
280
+ getContainer: g
281
+ }
282
+ )
283
+ ] });
284
+ }
285
+ );
286
+ export {
287
+ fe as computedDrawerProps,
288
+ De as default,
289
+ ce as lockParentScroll,
290
+ de as resolveDrawerGetContainer
291
+ };
292
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/ReactModal/Drawer.jsx"],"sourcesContent":["// @ts-nocheck\n// Ported from https://github.com/kne-union/react-modal/blob/master/src/Drawer.js\nimport { useEffect, useRef } from 'react';\nimport { Button, Drawer as AntdDrawer } from 'antd';\nimport { CloseOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport { useMobilePopupMount, useScrollElement } from '@kne/responsive-utils';\nimport withLocale from './withLocale';\nimport Footer from './Footer';\nimport SimpleBar from './SimpleBar';\nimport style from './drawer.module.scss';\n\nconst DrawerLocaleRoot = withLocale(({ children }) => children);\n\nconst VIEWPORT_EXAMPLE_SELECTORS = ['.example-driver-device-scroll'];\n\nconst boundaryPopupMountOptions = {\n cover: 'boundary',\n exampleSelectors: VIEWPORT_EXAMPLE_SELECTORS,\n};\n\nconst renderWithOptions = (value, options) => {\n if (typeof value === 'function') {\n return value(options);\n }\n return value;\n};\n\nconst wrapCustomGetContainer = (customGetContainer) => {\n if (!customGetContainer) {\n return undefined;\n }\n if (typeof customGetContainer === 'function') {\n return (triggerNode) => customGetContainer(triggerNode) || null;\n }\n return () => customGetContainer;\n};\n\nconst isVerticalPlacement = (placement) => placement === 'top' || placement === 'bottom';\n\nconst findParentDrawerMountHost = (node) => {\n if (!node || typeof node.closest !== 'function') {\n return null;\n }\n const parentRoot = node.closest('.ant-drawer-root');\n if (!parentRoot) {\n return null;\n }\n return parentRoot.parentElement || (typeof document !== 'undefined' ? document.body : null);\n};\n\nexport const resolveDrawerGetContainer = ({\n customGetContainer,\n getPopupContainer,\n getHostNode,\n}) => {\n const wrappedCustom = wrapCustomGetContainer(customGetContainer);\n return (triggerNode) => {\n if (wrappedCustom) {\n const custom = wrappedCustom(triggerNode);\n if (custom) {\n return custom;\n }\n }\n const from = triggerNode || (typeof getHostNode === 'function' ? getHostNode() : null);\n const nestedHost = findParentDrawerMountHost(from);\n if (nestedHost) {\n return nestedHost;\n }\n return getPopupContainer(triggerNode);\n };\n};\n\nlet parentScrollLockCount = 0;\nlet parentScrollLocked = [];\n\nexport const lockParentScroll = (getScrollElement) => {\n parentScrollLockCount += 1;\n if (parentScrollLockCount === 1) {\n const targets = [document.body];\n const scrollEl = typeof getScrollElement === 'function' ? getScrollElement() : null;\n if (scrollEl && scrollEl !== document.body && !targets.includes(scrollEl)) {\n targets.push(scrollEl);\n }\n parentScrollLocked = targets.map((el) => {\n const prev = {\n overflow: el.style.overflow,\n overscrollBehavior: el.style.overscrollBehavior,\n };\n el.style.overflow = 'hidden';\n el.style.overscrollBehavior = 'none';\n return { el, prev };\n });\n }\n return () => {\n parentScrollLockCount = Math.max(0, parentScrollLockCount - 1);\n if (parentScrollLockCount === 0) {\n parentScrollLocked.forEach(({ el, prev }) => {\n el.style.overflow = prev.overflow;\n el.style.overscrollBehavior = prev.overscrollBehavior;\n });\n parentScrollLocked = [];\n }\n };\n};\n\nconst useLockParentScroll = (enabled, getScrollElement) => {\n useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return lockParentScroll(getScrollElement);\n }, [enabled, getScrollElement]);\n};\n\nconst sizeStyleVars = (size, hasFooter) => {\n const minBase = size === 'small' ? 300 : 500;\n const chrome = 48 + (hasFooter ? 69 : 0);\n const minHeight = `${Math.max(0, minBase - chrome)}px`;\n const largeDim =\n typeof window !== 'undefined' ? `${Math.min(window.innerWidth - 64, 1500)}px` : '1500px';\n\n if (size === 'large') {\n return { dimension: largeDim, '--kne-drawer-body-min-height': minHeight };\n }\n if (size === 'small') {\n return { dimension: '600px', '--kne-drawer-body-min-height': minHeight };\n }\n return { dimension: '1000px', '--kne-drawer-body-min-height': minHeight };\n};\n\nconst DrawerOuter = ({\n title,\n footer,\n footerButtons,\n noPadding,\n onClose,\n closable,\n onConfirm,\n onCancel,\n children,\n targetProps,\n cancelText,\n confirmText,\n isMobile,\n bodyScroll,\n}) => {\n const effectiveNoPadding = noPadding ?? bodyScroll === false;\n const bodyInner = (\n <div\n className={classnames(style['drawer-body-inner'], 'drawer-body-inner', 'modal-body-inner', {\n [style['no-padding']]: effectiveNoPadding,\n })}\n >\n {children}\n </div>\n );\n\n const bodyClassName = classnames(style['drawer-body'], 'drawer-body', 'modal-body');\n\n return (\n <div\n className={classnames(style['drawer-outer'], 'drawer-container', {\n [style['is-mobile']]: isMobile,\n [style['no-title']]: !title,\n [style['no-footer']]: footer === null && footerButtons === undefined,\n [style['no-padding']]: effectiveNoPadding,\n })}\n data-testid=\"react-drawer\"\n >\n {closable === false ? null : (\n <Button\n data-testid=\"react-drawer-close-btn\"\n className={classnames(style['drawer-close'], 'drawer-close')}\n type=\"text\"\n icon={<CloseOutlined />}\n onClick={(e) => {\n e.stopPropagation();\n onClose && onClose();\n }}\n />\n )}\n {title ? (\n <div className={classnames(style['drawer-title'], 'drawer-title', 'modal-title')}>\n {title}\n </div>\n ) : null}\n {bodyScroll !== false ? (\n <SimpleBar className={bodyClassName} style={{ height: 'var(--kne-drawer-body-height)' }}>\n {bodyInner}\n </SimpleBar>\n ) : (\n <div className={classnames(bodyClassName, style['body-scroll-off'])}>{bodyInner}</div>\n )}\n {footer === null && footerButtons === undefined ? null : (\n <Footer\n footer={footer}\n footerButtons={footerButtons}\n onConfirm={onConfirm}\n confirmText={confirmText}\n onCancel={onCancel}\n cancelText={cancelText}\n onClose={onClose}\n targetProps={targetProps}\n isMobile={isMobile}\n />\n )}\n </div>\n );\n};\n\nexport const computedDrawerProps = ({\n children,\n footer,\n footerButtons,\n className,\n size = 'default',\n placement = 'right',\n title,\n onClose,\n onConfirm,\n confirmText,\n onCancel,\n cancelText,\n closable,\n noPadding,\n bodyScroll = true,\n isMobile,\n fixedModeClass,\n rootClassName,\n classNames: propsClassNames,\n styles: propsStyles,\n style: propsStyle,\n width: propsWidth,\n height: propsHeight,\n modalRender,\n drawerRender,\n ...props\n}) => {\n const vertical = isVerticalPlacement(placement);\n const hasFooter = !(footer === null && footerButtons === undefined);\n const { dimension, ...cssVars } = sizeStyleVars(size, hasFooter);\n const sizeProp = vertical\n ? { height: propsHeight ?? dimension }\n : { width: propsWidth ?? dimension };\n\n const runChildren = (options) => {\n const opts = Object.assign({}, options, { close: onClose });\n const drawerPanel = (\n <div className={classnames(style['drawer-panel-host'], 'drawer-panel-host')}>\n <div className={classnames(style['drawer-panel-body'], 'drawer-panel-body')}>\n <DrawerOuter\n title={renderWithOptions(title, opts)}\n closable={closable}\n onClose={onClose}\n onConfirm={onConfirm}\n confirmText={confirmText}\n onCancel={onCancel}\n cancelText={cancelText}\n footerButtons={renderWithOptions(footerButtons, opts)}\n noPadding={noPadding}\n footer={renderWithOptions(footer, opts)}\n targetProps={opts}\n isMobile={isMobile}\n bodyScroll={bodyScroll}\n >\n {renderWithOptions(children, opts)}\n </DrawerOuter>\n </div>\n </div>\n );\n\n return typeof modalRender === 'function' ? modalRender(drawerPanel) : drawerPanel;\n };\n\n const mobileWrapperClass = isMobile\n ? vertical\n ? style['drawer-wrapper-mobile-vertical']\n : style['drawer-wrapper-mobile']\n : null;\n\n const panelLayoutStyles = {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n padding: 0,\n };\n\n return {\n ...props,\n ...(drawerRender ? { drawerRender } : null),\n placement,\n ...sizeProp,\n title: null,\n maskClosable: Object.prototype.hasOwnProperty.call(props, 'maskClosable')\n ? props.maskClosable\n : false,\n destroyOnHidden: true,\n footer: null,\n closable: false,\n onClose,\n rootClassName: classnames(\n rootClassName,\n isMobile && style['drawer-root-mobile'],\n isMobile && fixedModeClass,\n modalRender && style['drawer-form-host'],\n drawerRender && style['drawer-host-render'],\n ),\n classNames: Object.assign({}, propsClassNames, {\n header: classnames(style['drawer-antd-header'], propsClassNames?.header),\n footer: classnames(style['drawer-antd-footer'], propsClassNames?.footer),\n body: classnames(\n style['drawer-antd-body'],\n isMobile && style['is-mobile'],\n propsClassNames?.body,\n ),\n wrapper: classnames(propsClassNames?.wrapper, mobileWrapperClass),\n mask: classnames(propsClassNames?.mask, isMobile && fixedModeClass),\n }),\n className: classnames(className, style['drawer'], style[size], {\n [style['is-mobile']]: isMobile,\n }),\n style: Object.assign(\n {},\n cssVars,\n propsStyle,\n vertical ? { '--kne-drawer-viewport-height': dimension } : null,\n ),\n styles: {\n ...propsStyles,\n body: {\n padding: 0,\n ...propsStyles?.body,\n flex: '1 1 auto',\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n ...(isMobile ? { height: '100%', maxHeight: '100%' } : null),\n },\n section: {\n ...panelLayoutStyles,\n ...propsStyles?.section,\n ...propsStyles?.content,\n },\n wrapper: {\n ...propsStyles?.wrapper,\n ...(vertical\n ? { height: 'var(--kne-drawer-viewport-height, 100vh)', maxHeight: '100%' }\n : { height: '100%' }),\n ...(isMobile && !vertical\n ? { width: 'var(--kne-viewport-width, 100vw)', maxWidth: '100%' }\n : null),\n ...(isMobile && vertical\n ? { height: 'var(--kne-viewport-height, 100vh)', maxHeight: '100%' }\n : null),\n },\n },\n children: <DrawerLocaleRoot>{runChildren({})}</DrawerLocaleRoot>,\n };\n};\n\nconst Drawer = withLocale(\n ({ size = 'default', placement = 'right', getContainer, open, bodyScroll = true, ...props }) => {\n const hostRef = useRef(null);\n const { isMobile, fixedModeClass, getPopupContainer, anchorRef } = useMobilePopupMount({\n ...boundaryPopupMountOptions,\n getPopupContainer: wrapCustomGetContainer(getContainer),\n });\n const getScrollElement = useScrollElement();\n useLockParentScroll(!!open, getScrollElement);\n\n const setAnchorRef = (node) => {\n hostRef.current = node;\n anchorRef(node);\n };\n\n const getDrawerContainer = resolveDrawerGetContainer({\n customGetContainer: getContainer,\n getPopupContainer,\n getHostNode: () => hostRef.current,\n });\n\n return (\n <>\n <span ref={setAnchorRef} className={style['drawer-host']} aria-hidden=\"true\" />\n <AntdDrawer\n {...computedDrawerProps(\n Object.assign({}, props, {\n size,\n placement,\n isMobile,\n open,\n fixedModeClass,\n bodyScroll,\n }),\n )}\n open={open}\n getContainer={getDrawerContainer}\n />\n </>\n );\n },\n);\n\nexport default Drawer;\n"],"names":["DrawerLocaleRoot","withLocale","children","VIEWPORT_EXAMPLE_SELECTORS","boundaryPopupMountOptions","renderWithOptions","value","options","wrapCustomGetContainer","customGetContainer","triggerNode","isVerticalPlacement","placement","findParentDrawerMountHost","node","parentRoot","resolveDrawerGetContainer","getPopupContainer","getHostNode","wrappedCustom","custom","from","nestedHost","parentScrollLockCount","parentScrollLocked","lockParentScroll","getScrollElement","targets","scrollEl","el","prev","useLockParentScroll","enabled","useEffect","sizeStyleVars","size","hasFooter","minBase","chrome","minHeight","largeDim","DrawerOuter","title","footer","footerButtons","noPadding","onClose","closable","onConfirm","onCancel","targetProps","cancelText","confirmText","isMobile","bodyScroll","effectiveNoPadding","bodyInner","jsx","classnames","style","bodyClassName","jsxs","Button","CloseOutlined","e","SimpleBar","Footer","computedDrawerProps","className","fixedModeClass","rootClassName","propsClassNames","propsStyles","propsStyle","propsWidth","propsHeight","modalRender","drawerRender","props","vertical","dimension","cssVars","sizeProp","runChildren","opts","drawerPanel","mobileWrapperClass","panelLayoutStyles","Drawer","getContainer","open","hostRef","useRef","anchorRef","useMobilePopupMount","useScrollElement","setAnchorRef","getDrawerContainer","Fragment","AntdDrawer"],"mappings":";;;;;;;;;;;AAYA,MAAMA,KAAmBC,EAAW,CAAC,EAAE,UAAAC,EAAA,MAAeA,CAAQ,GAExDC,KAA6B,CAAC,+BAA+B,GAE7DC,KAA4B;AAAA,EAChC,OAAO;AAAA,EACP,kBAAkBD;AACpB,GAEME,IAAoB,CAACC,GAAOC,MAC5B,OAAOD,KAAU,aACZA,EAAMC,CAAO,IAEfD,GAGHE,IAAyB,CAACC,MAAuB;AACrD,MAAKA;AAGL,WAAI,OAAOA,KAAuB,aACzB,CAACC,MAAgBD,EAAmBC,CAAW,KAAK,OAEtD,MAAMD;AACf,GAEME,KAAsB,CAACC,MAAcA,MAAc,SAASA,MAAc,UAE1EC,KAA4B,CAACC,MAAS;AAC1C,MAAI,CAACA,KAAQ,OAAOA,EAAK,WAAY;AACnC,WAAO;AAET,QAAMC,IAAaD,EAAK,QAAQ,kBAAkB;AAClD,SAAKC,IAGEA,EAAW,kBAAkB,OAAO,WAAa,MAAc,SAAS,OAAO,QAF7E;AAGX,GAEaC,KAA4B,CAAC;AAAA,EACxC,oBAAAP;AAAA,EACA,mBAAAQ;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IAAgBX,EAAuBC,CAAkB;AAC/D,SAAO,CAACC,MAAgB;AACtB,QAAIS,GAAe;AACjB,YAAMC,IAASD,EAAcT,CAAW;AACxC,UAAIU;AACF,eAAOA;AAAA,IAEX;AACA,UAAMC,IAAOX,MAAgB,OAAOQ,KAAgB,aAAaA,MAAgB,OAC3EI,IAAaT,GAA0BQ,CAAI;AACjD,WAAIC,KAGGL,EAAkBP,CAAW;AAAA,EACtC;AACF;AAEA,IAAIa,IAAwB,GACxBC,IAAqB,CAAA;AAElB,MAAMC,KAAmB,CAACC,MAAqB;AAEpD,MADAH,KAAyB,GACrBA,MAA0B,GAAG;AAC/B,UAAMI,IAAU,CAAC,SAAS,IAAI,GACxBC,IAAW,OAAOF,KAAqB,aAAaA,MAAqB;AAC/E,IAAIE,KAAYA,MAAa,SAAS,QAAQ,CAACD,EAAQ,SAASC,CAAQ,KACtED,EAAQ,KAAKC,CAAQ,GAEvBJ,IAAqBG,EAAQ,IAAI,CAACE,MAAO;AACvC,YAAMC,IAAO;AAAA,QACX,UAAUD,EAAG,MAAM;AAAA,QACnB,oBAAoBA,EAAG,MAAM;AAAA,MAAA;AAE/B,aAAAA,EAAG,MAAM,WAAW,UACpBA,EAAG,MAAM,qBAAqB,QACvB,EAAE,IAAAA,GAAI,MAAAC,EAAA;AAAA,IACf,CAAC;AAAA,EACH;AACA,SAAO,MAAM;AACX,IAAAP,IAAwB,KAAK,IAAI,GAAGA,IAAwB,CAAC,GACzDA,MAA0B,MAC5BC,EAAmB,QAAQ,CAAC,EAAE,IAAAK,GAAI,MAAAC,QAAW;AAC3C,MAAAD,EAAG,MAAM,WAAWC,EAAK,UACzBD,EAAG,MAAM,qBAAqBC,EAAK;AAAA,IACrC,CAAC,GACDN,IAAqB,CAAA;AAAA,EAEzB;AACF,GAEMO,KAAsB,CAACC,GAASN,MAAqB;AACzD,EAAAO,EAAU,MAAM;AACd,QAAKD;AAGL,aAAOP,GAAiBC,CAAgB;AAAA,EAC1C,GAAG,CAACM,GAASN,CAAgB,CAAC;AAChC,GAEMQ,KAAgB,CAACC,GAAMC,MAAc;AACzC,QAAMC,IAAUF,MAAS,UAAU,MAAM,KACnCG,IAAS,MAAMF,IAAY,KAAK,IAChCG,IAAY,GAAG,KAAK,IAAI,GAAGF,IAAUC,CAAM,CAAC,MAC5CE,IACJ,OAAO,SAAW,MAAc,GAAG,KAAK,IAAI,OAAO,aAAa,IAAI,IAAI,CAAC,OAAO;AAElF,SAAIL,MAAS,UACJ,EAAE,WAAWK,GAAU,gCAAgCD,EAAA,IAE5DJ,MAAS,UACJ,EAAE,WAAW,SAAS,gCAAgCI,EAAA,IAExD,EAAE,WAAW,UAAU,gCAAgCA,EAAA;AAChE,GAEME,KAAc,CAAC;AAAA,EACnB,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAA/C;AAAA,EACA,aAAAgD;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AACF,MAAM;AACJ,QAAMC,IAAqBV,KAAaS,MAAe,IACjDE,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAWC,EAAM,mBAAmB,GAAG,qBAAqB,oBAAoB;AAAA,QACzF,CAACA,EAAM,YAAY,CAAC,GAAGJ;AAAA,MAAA,CACxB;AAAA,MAEA,UAAArD;AAAA,IAAA;AAAA,EAAA,GAIC0D,IAAgBF,EAAWC,EAAM,aAAa,GAAG,eAAe,YAAY;AAElF,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWH,EAAWC,EAAM,cAAc,GAAG,oBAAoB;AAAA,QAC/D,CAACA,EAAM,WAAW,CAAC,GAAGN;AAAA,QACtB,CAACM,EAAM,UAAU,CAAC,GAAG,CAACjB;AAAA,QACtB,CAACiB,EAAM,WAAW,CAAC,GAAGhB,MAAW,QAAQC,MAAkB;AAAA,QAC3D,CAACe,EAAM,YAAY,CAAC,GAAGJ;AAAA,MAAA,CACxB;AAAA,MACD,eAAY;AAAA,MAEX,UAAA;AAAA,QAAAR,MAAa,KAAQ,OACpB,gBAAAU;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAWJ,EAAWC,EAAM,cAAc,GAAG,cAAc;AAAA,YAC3D,MAAK;AAAA,YACL,wBAAOI,GAAA,EAAc;AAAA,YACrB,SAAS,CAACC,MAAM;AACd,cAAAA,EAAE,gBAAA,GACFlB,KAAWA,EAAA;AAAA,YACb;AAAA,UAAA;AAAA,QAAA;AAAA,QAGHJ,IACC,gBAAAe,EAAC,OAAA,EAAI,WAAWC,EAAWC,EAAM,cAAc,GAAG,gBAAgB,aAAa,GAC5E,UAAAjB,EAAA,CACH,IACE;AAAA,QACHY,MAAe,KACd,gBAAAG,EAACQ,IAAA,EAAU,WAAWL,GAAe,OAAO,EAAE,QAAQ,gCAAA,GACnD,aACH,IAEA,gBAAAH,EAAC,SAAI,WAAWC,EAAWE,GAAeD,EAAM,iBAAiB,CAAC,GAAI,UAAAH,EAAA,CAAU;AAAA,QAEjFb,MAAW,QAAQC,MAAkB,SAAY,OAChD,gBAAAa;AAAA,UAACS;AAAA,UAAA;AAAA,YACC,QAAAvB;AAAA,YACA,eAAAC;AAAA,YACA,WAAAI;AAAA,YACA,aAAAI;AAAA,YACA,UAAAH;AAAA,YACA,YAAAE;AAAA,YACA,SAAAL;AAAA,YACA,aAAAI;AAAA,YACA,UAAAG;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIR,GAEac,KAAsB,CAAC;AAAA,EAClC,UAAAjE;AAAA,EACA,QAAAyC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAwB;AAAA,EACA,MAAAjC,IAAO;AAAA,EACP,WAAAvB,IAAY;AAAA,EACZ,OAAA8B;AAAA,EACA,SAAAI;AAAA,EACA,WAAAE;AAAA,EACA,aAAAI;AAAA,EACA,UAAAH;AAAA,EACA,YAAAE;AAAA,EACA,UAAAJ;AAAA,EACA,WAAAF;AAAA,EACA,YAAAS,IAAa;AAAA,EACb,UAAAD;AAAA,EACA,gBAAAgB;AAAA,EACA,eAAAC;AAAA,EACA,YAAYC;AAAA,EACZ,QAAQC;AAAA,EACR,OAAOC;AAAA,EACP,OAAOC;AAAA,EACP,QAAQC;AAAA,EACR,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAWpE,GAAoBC,CAAS,GACxCwB,IAAY,EAAEO,MAAW,QAAQC,MAAkB,SACnD,EAAE,WAAAoC,GAAW,GAAGC,MAAY/C,GAAcC,GAAMC,CAAS,GACzD8C,IAAWH,IACb,EAAE,QAAQJ,KAAeK,MACzB,EAAE,OAAON,KAAcM,EAAA,GAErBG,IAAc,CAAC5E,MAAY;AAC/B,UAAM6E,IAAO,OAAO,OAAO,CAAA,GAAI7E,GAAS,EAAE,OAAOuC,GAAS,GACpDuC,IACJ,gBAAA5B,EAAC,OAAA,EAAI,WAAWC,EAAWC,EAAM,mBAAmB,GAAG,mBAAmB,GACxE,UAAA,gBAAAF,EAAC,SAAI,WAAWC,EAAWC,EAAM,mBAAmB,GAAG,mBAAmB,GACxE,UAAA,gBAAAF;AAAA,MAAChB;AAAA,MAAA;AAAA,QACC,OAAOpC,EAAkBqC,GAAO0C,CAAI;AAAA,QACpC,UAAArC;AAAA,QACA,SAAAD;AAAA,QACA,WAAAE;AAAA,QACA,aAAAI;AAAA,QACA,UAAAH;AAAA,QACA,YAAAE;AAAA,QACA,eAAe9C,EAAkBuC,GAAewC,CAAI;AAAA,QACpD,WAAAvC;AAAA,QACA,QAAQxC,EAAkBsC,GAAQyC,CAAI;AAAA,QACtC,aAAaA;AAAA,QACb,UAAA/B;AAAA,QACA,YAAAC;AAAA,QAEC,UAAAjD,EAAkBH,GAAUkF,CAAI;AAAA,MAAA;AAAA,IAAA,GAErC,EAAA,CACF;AAGF,WAAO,OAAOR,KAAgB,aAAaA,EAAYS,CAAW,IAAIA;AAAA,EACxE,GAEMC,IAAqBjC,IACvB0B,IACEpB,EAAM,gCAAgC,IACtCA,EAAM,uBAAuB,IAC/B,MAEE4B,IAAoB;AAAA,IACxB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,eAAe;AAAA,IACf,SAAS;AAAA,EAAA;AAGX,SAAO;AAAA,IACL,GAAGT;AAAA,IACH,GAAID,IAAe,EAAE,cAAAA,EAAA,IAAiB;AAAA,IACtC,WAAAjE;AAAA,IACA,GAAGsE;AAAA,IACH,OAAO;AAAA,IACP,cAAc,OAAO,UAAU,eAAe,KAAKJ,GAAO,cAAc,IACpEA,EAAM,eACN;AAAA,IACJ,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,SAAAhC;AAAA,IACA,eAAeY;AAAAA,MACbY;AAAA,MACAjB,KAAYM,EAAM,oBAAoB;AAAA,MACtCN,KAAYgB;AAAA,MACZO,KAAejB,EAAM,kBAAkB;AAAA,MACvCkB,KAAgBlB,EAAM,oBAAoB;AAAA,IAAA;AAAA,IAE5C,YAAY,OAAO,OAAO,CAAA,GAAIY,GAAiB;AAAA,MAC7C,QAAQb,EAAWC,EAAM,oBAAoB,GAAGY,KAAA,gBAAAA,EAAiB,MAAM;AAAA,MACvE,QAAQb,EAAWC,EAAM,oBAAoB,GAAGY,KAAA,gBAAAA,EAAiB,MAAM;AAAA,MACvE,MAAMb;AAAAA,QACJC,EAAM,kBAAkB;AAAA,QACxBN,KAAYM,EAAM,WAAW;AAAA,QAC7BY,KAAA,gBAAAA,EAAiB;AAAA,MAAA;AAAA,MAEnB,SAASb,EAAWa,KAAA,gBAAAA,EAAiB,SAASe,CAAkB;AAAA,MAChE,MAAM5B,EAAWa,KAAA,gBAAAA,EAAiB,MAAMlB,KAAYgB,CAAc;AAAA,IAAA,CACnE;AAAA,IACD,WAAWX,EAAWU,GAAWT,EAAM,QAAWA,EAAMxB,CAAI,GAAG;AAAA,MAC7D,CAACwB,EAAM,WAAW,CAAC,GAAGN;AAAA,IAAA,CACvB;AAAA,IACD,OAAO,OAAO;AAAA,MACZ,CAAA;AAAA,MACA4B;AAAA,MACAR;AAAA,MACAM,IAAW,EAAE,gCAAgCC,MAAc;AAAA,IAAA;AAAA,IAE7D,QAAQ;AAAA,MACN,GAAGR;AAAA,MACH,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,GAAGA,KAAA,gBAAAA,EAAa;AAAA,QAChB,MAAM;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,QACT,eAAe;AAAA,QACf,UAAU;AAAA,QACV,GAAInB,IAAW,EAAE,QAAQ,QAAQ,WAAW,WAAW;AAAA,MAAA;AAAA,MAEzD,SAAS;AAAA,QACP,GAAGkC;AAAA,QACH,GAAGf,KAAA,gBAAAA,EAAa;AAAA,QAChB,GAAGA,KAAA,gBAAAA,EAAa;AAAA,MAAA;AAAA,MAElB,SAAS;AAAA,QACP,GAAGA,KAAA,gBAAAA,EAAa;AAAA,QAChB,GAAIO,IACA,EAAE,QAAQ,4CAA4C,WAAW,OAAA,IACjE,EAAE,QAAQ,OAAA;AAAA,QACd,GAAI1B,KAAY,CAAC0B,IACb,EAAE,OAAO,oCAAoC,UAAU,OAAA,IACvD;AAAA,QACJ,GAAI1B,KAAY0B,IACZ,EAAE,QAAQ,qCAAqC,WAAW,WAC1D;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,UAAU,gBAAAtB,EAACzD,IAAA,EAAkB,UAAAmF,EAAY,CAAA,CAAE,EAAA,CAAE;AAAA,EAAA;AAEjD,GAEMK,KAASvF;AAAA,EACb,CAAC,EAAE,MAAAkC,IAAO,WAAW,WAAAvB,IAAY,SAAS,cAAA6E,GAAc,MAAAC,GAAM,YAAApC,IAAa,IAAM,GAAGwB,EAAA,MAAY;AAC9F,UAAMa,IAAUC,EAAO,IAAI,GACrB,EAAE,UAAAvC,GAAU,gBAAAgB,GAAgB,mBAAApD,GAAmB,WAAA4E,EAAA,IAAcC,EAAoB;AAAA,MACrF,GAAG1F;AAAA,MACH,mBAAmBI,EAAuBiF,CAAY;AAAA,IAAA,CACvD,GACK/D,IAAmBqE,EAAA;AACzB,IAAAhE,GAAoB,CAAC,CAAC2D,GAAMhE,CAAgB;AAE5C,UAAMsE,IAAe,CAAClF,MAAS;AAC7B,MAAA6E,EAAQ,UAAU7E,GAClB+E,EAAU/E,CAAI;AAAA,IAChB,GAEMmF,IAAqBjF,GAA0B;AAAA,MACnD,oBAAoByE;AAAA,MACpB,mBAAAxE;AAAA,MACA,aAAa,MAAM0E,EAAQ;AAAA,IAAA,CAC5B;AAED,WACE,gBAAA9B,EAAAqC,GAAA,EACE,UAAA;AAAA,MAAA,gBAAAzC,EAAC,QAAA,EAAK,KAAKuC,GAAc,WAAWrC,EAAM,aAAa,GAAG,eAAY,QAAO;AAAA,MAC7E,gBAAAF;AAAA,QAAC0C;AAAAA,QAAA;AAAA,UACE,GAAGhC;AAAA,YACF,OAAO,OAAO,CAAA,GAAIW,GAAO;AAAA,cACvB,MAAA3C;AAAA,cACA,WAAAvB;AAAA,cACA,UAAAyC;AAAA,cACA,MAAAqC;AAAA,cACA,gBAAArB;AAAA,cACA,YAAAf;AAAA,YAAA,CACD;AAAA,UAAA;AAAA,UAEH,MAAAoC;AAAA,UACA,cAAcO;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB,GACF;AAAA,EAEJ;AACF;"}
@@ -0,0 +1,12 @@
1
+ export default Footer;
2
+ declare function Footer({ footer, footerButtons, onConfirm, onCancel, cancelText, confirmText, onClose, targetProps, isMobile, }: {
3
+ footer: any;
4
+ footerButtons: any;
5
+ onConfirm: any;
6
+ onCancel: any;
7
+ cancelText: any;
8
+ confirmText: any;
9
+ onClose: any;
10
+ targetProps: any;
11
+ isMobile: any;
12
+ }): import("react").JSX.Element | null;
@@ -0,0 +1,53 @@
1
+ import { jsxs as j, jsx as e } from "react/jsx-runtime";
2
+ import k from "classnames";
3
+ import y from "@kne/button-group";
4
+ import { useIntl as G } from "./intlStub.js";
5
+ import o from "./style.module.scss.js";
6
+ var f;
7
+ const L = ((f = y) == null ? void 0 : f.default) ?? y, z = ({
8
+ footer: n,
9
+ footerButtons: l,
10
+ onConfirm: h,
11
+ onCancel: g,
12
+ cancelText: A,
13
+ confirmText: v,
14
+ onClose: t,
15
+ targetProps: w,
16
+ isMobile: a
17
+ }) => {
18
+ const { formatMessage: d } = G(), x = [
19
+ {
20
+ children: A || d({ id: "Cancel" }),
21
+ onClick: g
22
+ },
23
+ {
24
+ type: "primary",
25
+ children: v || d({ id: "Confirm" }),
26
+ onClick: h
27
+ }
28
+ ], c = l === void 0 ? x : l, s = (Array.isArray(c) ? c : []).filter((r) => typeof (r == null ? void 0 : r.display) == "function" ? r.display() : (r == null ? void 0 : r.display) !== !1).map(({ ButtonComponent: r, onClick: p, autoClose: N = !0, display: S, ...F }) => ({
29
+ ...F,
30
+ buttonComponent: r,
31
+ onClick: async (...b) => {
32
+ const u = await Promise.resolve(p && p(...b, w));
33
+ return N && u !== !1 && t && t(), u;
34
+ }
35
+ })), i = !(Array.isArray(l) && l.length === 0) && s.length > 0, C = Array.isArray(l) && l.length === 0 && n != null, m = !a || n;
36
+ return !m && !i ? null : /* @__PURE__ */ j(
37
+ "div",
38
+ {
39
+ className: k(o["modal-footer"], "modal-footer", {
40
+ [o["is-mobile"]]: a,
41
+ [o["is-embedded-footer"]]: C
42
+ }),
43
+ children: [
44
+ m ? /* @__PURE__ */ e("div", { className: o["modal-footer-extra"], children: n }) : null,
45
+ i ? /* @__PURE__ */ e("div", { className: o["modal-footer-actions"], children: /* @__PURE__ */ e(L, { list: s, showLength: s.length, place: a ? "center" : "end" }) }) : null
46
+ ]
47
+ }
48
+ );
49
+ };
50
+ export {
51
+ z as default
52
+ };
53
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sources":["../../../src/components/ReactModal/Footer.jsx"],"sourcesContent":["// @ts-nocheck\n// Ported from https://github.com/kne-union/react-modal/blob/master/src/Footer.js\nimport classnames from 'classnames';\nimport ButtonGroupModule from '@kne/button-group';\nimport { useIntl } from './intlStub';\nimport style from './style.module.scss';\n\n// CJS/ESM interop:vitest/node 下 default 可能是 { default: Component }\nconst ButtonGroup = ButtonGroupModule?.default ?? ButtonGroupModule;\n\nconst Footer = ({\n footer,\n footerButtons,\n onConfirm,\n onCancel,\n cancelText,\n confirmText,\n onClose,\n targetProps,\n isMobile,\n}) => {\n const { formatMessage } = useIntl();\n\n const defaultButtons = [\n {\n children: cancelText || formatMessage({ id: 'Cancel' }),\n onClick: onCancel,\n },\n {\n type: 'primary',\n children: confirmText || formatMessage({ id: 'Confirm' }),\n onClick: onConfirm,\n },\n ];\n\n const rawList = footerButtons === undefined ? defaultButtons : footerButtons;\n\n const list = (Array.isArray(rawList) ? rawList : [])\n .filter((item) => {\n if (typeof item?.display === 'function') {\n return item.display();\n }\n return item?.display !== false;\n })\n .map(({ ButtonComponent, onClick, autoClose = true, display, ...props }) => ({\n ...props,\n buttonComponent: ButtonComponent,\n onClick: async (...args) => {\n const res = await Promise.resolve(onClick && onClick(...args, targetProps));\n autoClose && res !== false && onClose && onClose();\n return res;\n },\n }));\n\n const showButtons =\n !(Array.isArray(footerButtons) && footerButtons.length === 0) && list.length > 0;\n const embeddedFooterOnly =\n Array.isArray(footerButtons) && footerButtons.length === 0 && footer != null;\n const showFooterSlot = !isMobile || footer;\n\n if (!showFooterSlot && !showButtons) {\n return null;\n }\n\n return (\n <div\n className={classnames(style['modal-footer'], 'modal-footer', {\n [style['is-mobile']]: isMobile,\n [style['is-embedded-footer']]: embeddedFooterOnly,\n })}\n >\n {showFooterSlot ? <div className={style['modal-footer-extra']}>{footer}</div> : null}\n {showButtons ? (\n <div className={style['modal-footer-actions']}>\n <ButtonGroup list={list} showLength={list.length} place={isMobile ? 'center' : 'end'} />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Footer;\n"],"names":["ButtonGroup","ButtonGroupModule","Footer","footer","footerButtons","onConfirm","onCancel","cancelText","confirmText","onClose","targetProps","isMobile","formatMessage","useIntl","defaultButtons","rawList","list","item","ButtonComponent","onClick","autoClose","display","props","args","res","showButtons","embeddedFooterOnly","showFooterSlot","jsxs","classnames","style","jsx"],"mappings":";;;;;;AAQA,MAAMA,MAAcC,IAAAA,MAAAA,gBAAAA,EAAmB,YAAWA,GAE5CC,IAAS,CAAC;AAAA,EACd,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAM,EAAE,eAAAC,EAAA,IAAkBC,EAAA,GAEpBC,IAAiB;AAAA,IACrB;AAAA,MACE,UAAUP,KAAcK,EAAc,EAAE,IAAI,UAAU;AAAA,MACtD,SAASN;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,MAAM;AAAA,MACN,UAAUE,KAAeI,EAAc,EAAE,IAAI,WAAW;AAAA,MACxD,SAASP;AAAA,IAAA;AAAA,EACX,GAGIU,IAAUX,MAAkB,SAAYU,IAAiBV,GAEzDY,KAAQ,MAAM,QAAQD,CAAO,IAAIA,IAAU,CAAA,GAC9C,OAAO,CAACE,MACH,QAAOA,KAAA,gBAAAA,EAAM,YAAY,aACpBA,EAAK,QAAA,KAEPA,KAAA,gBAAAA,EAAM,aAAY,EAC1B,EACA,IAAI,CAAC,EAAE,iBAAAC,GAAiB,SAAAC,GAAS,WAAAC,IAAY,IAAM,SAAAC,GAAS,GAAGC,SAAa;AAAA,IAC3E,GAAGA;AAAA,IACH,iBAAiBJ;AAAA,IACjB,SAAS,UAAUK,MAAS;AAC1B,YAAMC,IAAM,MAAM,QAAQ,QAAQL,KAAWA,EAAQ,GAAGI,GAAMb,CAAW,CAAC;AAC1E,aAAAU,KAAaI,MAAQ,MAASf,KAAWA,EAAA,GAClCe;AAAA,IACT;AAAA,EAAA,EACA,GAEEC,IACJ,EAAE,MAAM,QAAQrB,CAAa,KAAKA,EAAc,WAAW,MAAMY,EAAK,SAAS,GAC3EU,IACJ,MAAM,QAAQtB,CAAa,KAAKA,EAAc,WAAW,KAAKD,KAAU,MACpEwB,IAAiB,CAAChB,KAAYR;AAEpC,SAAI,CAACwB,KAAkB,CAACF,IACf,OAIP,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAWC,EAAM,cAAc,GAAG,gBAAgB;AAAA,QAC3D,CAACA,EAAM,WAAW,CAAC,GAAGnB;AAAA,QACtB,CAACmB,EAAM,oBAAoB,CAAC,GAAGJ;AAAA,MAAA,CAChC;AAAA,MAEA,UAAA;AAAA,QAAAC,sBAAkB,OAAA,EAAI,WAAWG,EAAM,oBAAoB,GAAI,aAAO,IAAS;AAAA,QAC/EL,IACC,gBAAAM,EAAC,OAAA,EAAI,WAAWD,EAAM,sBAAsB,GAC1C,UAAA,gBAAAC,EAAC/B,GAAA,EAAY,MAAAgB,GAAY,YAAYA,EAAK,QAAQ,OAAOL,IAAW,WAAW,OAAO,GACxF,IACE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,14 @@
1
+ export function resolveModalGetContainer({ customGetContainer, getPopupContainer, getHostNode, }: {
2
+ customGetContainer: any;
3
+ getPopupContainer: any;
4
+ getHostNode: any;
5
+ }): (triggerNode: any) => any;
6
+ export function lockParentScroll(getScrollElement: any): () => void;
7
+ export function useModal(): (props: any) => {
8
+ close: () => void;
9
+ };
10
+ export default Modal;
11
+ declare const Modal: {
12
+ (props: any): import('react').CElement<any, import('react').Component<any, any, any>>;
13
+ displayName: string;
14
+ };