@kne/react-modal 0.1.11 → 0.1.12
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.
- package/README.md +155 -330
- package/dist/index.css +7 -4
- package/dist/index.css.map +1 -1
- package/dist/index.js +208 -124
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +209 -127
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -205,9 +205,10 @@
|
|
|
205
205
|
--kne-modal-viewport-width: var(--kne-viewport-width, 100vw);
|
|
206
206
|
--kne-modal-title-height: 48px;
|
|
207
207
|
--kne-modal-footer-height: 58px;
|
|
208
|
-
--kne-modal-viewport-gutter:
|
|
208
|
+
--kne-modal-viewport-gutter: 80px;
|
|
209
209
|
--kne-modal-body-padding-vertical: 48px;
|
|
210
210
|
--kne-modal-body-padding-horizontal: 48px;
|
|
211
|
+
/* body 最低高度随 size(JS 会按是否有 footer 再扣 chrome);上限见 body-max-height */
|
|
211
212
|
--kne-modal-body-min-height: 394px;
|
|
212
213
|
--kne-modal-body-height: calc(var(--kne-modal-viewport-height) - var(--kne-modal-title-height) - var(--kne-modal-footer-height) - var(--kne-modal-viewport-gutter));
|
|
213
214
|
--kne-modal-body-max-height: var(--kne-modal-body-height);
|
|
@@ -320,13 +321,14 @@
|
|
|
320
321
|
|
|
321
322
|
.kne-react-modal_W-QFz {
|
|
322
323
|
flex: 1 1 auto;
|
|
323
|
-
min-height: 0;
|
|
324
324
|
min-height: var(--kne-modal-body-min-height);
|
|
325
325
|
max-height: var(--kne-modal-body-max-height);
|
|
326
|
-
|
|
326
|
+
/* 默认跟内容;超出由 max-height + SimpleBar 滚动。bodyScroll=false 见下方写死满高 */
|
|
327
|
+
height: auto;
|
|
327
328
|
box-sizing: border-box;
|
|
328
329
|
}
|
|
329
330
|
.kne-react-modal_W-QFz.kne-react-modal_l627I {
|
|
331
|
+
height: var(--kne-modal-body-height);
|
|
330
332
|
display: flex;
|
|
331
333
|
flex-direction: column;
|
|
332
334
|
overflow: hidden;
|
|
@@ -346,7 +348,8 @@
|
|
|
346
348
|
|
|
347
349
|
.kne-react-modal_fFnva {
|
|
348
350
|
padding: calc(var(--kne-modal-body-padding-vertical) / 2) calc(var(--kne-modal-body-padding-horizontal) / 2);
|
|
349
|
-
min
|
|
351
|
+
/* 与 body-min 对齐的小地板,不再用 content-height 把短内容撑满 */
|
|
352
|
+
min-height: var(--kne-modal-content-min-height);
|
|
350
353
|
width: 100%;
|
|
351
354
|
max-width: 100%;
|
|
352
355
|
box-sizing: border-box;
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["layouts.module.scss","style.module.scss","drawer.module.scss","confirmModal.module.scss"],"names":[],"mappings":"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AAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;EACnB,wBAAwB;EACxB,oBAAoB;EACpB,WAAW;EACX,gBAAgB;EAChB,SAAS;AACX;AACA;EACE,OAAO;EACP,WAAW;EACX,iCAAiC;EACjC,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;;EAEE,gCAAgC;EAChC,kCAAkC;AACpC;AACA;EACE,2BAA2B;AAC7B;;AAEA;;EAEE,aAAa;EACb,uBAAuB;EACvB,QAAQ;AACV;;AAEA;EACE,cAAc;EACd,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,cAAc;AAChB;;AAEA;EACE,eAAe;AACjB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,cAAc;EACd,iBAAiB;EACjB,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,0BAA0B;EAC1B,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,uBAAuB;EACvB,mBAAmB;EACnB,kBAAkB;EAClB,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,WAAW;EACX,YAAY;EACZ,aAAa;AACf;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE;;IAEE,QAAQ;EACV;EACA;IACE,2CAA2C;EAC7C;EACA;IACE,8FAA8F;IAC9F,kGAAkG;EACpG;EACA;IACE,uBAAuB;EACzB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;IACnB,wBAAwB;IACxB,oBAAoB;IACpB,WAAW;IACX,gBAAgB;IAChB,SAAS;EACX;EACA;IACE,OAAO;IACP,WAAW;IACX,iCAAiC;IACjC,YAAY;EACd;EACA;IACE,uBAAuB;IACvB,mBAAmB;IACnB,kBAAkB;EACpB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,eAAe;EACjB;EACA;IACE,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,kBAAkB;EACpB;EACA;IACE,WAAW;IACX,YAAY;IACZ,aAAa;EACf;EACA;IACE,eAAe;EACjB;AACF","file":"index.css","sourcesContent":[".modal-tabs-layout:global(.ant-tabs) {\n height: var(--kne-modal-content-height);\n max-height: var(--kne-modal-content-height);\n flex: 1 1 0%;\n min-height: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n box-sizing: border-box;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) {\n flex: none;\n height: var(--kne-modal-close-align-height, 48px);\n margin: 0;\n padding: 0 86px 0 24px;\n align-items: center;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav)::before {\n border-bottom-color: #f0f0f0;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) :global(.ant-tabs-nav-wrap) {\n align-self: stretch;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) :global(.ant-tabs-tab) {\n margin: 0 28px 0 0;\n padding: 0;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) :global(.ant-tabs-tab) :global(.ant-tabs-tab-btn) {\n padding: 0;\n line-height: var(--kne-modal-close-align-height, 48px);\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-body-holder) {\n flex: 1 1 0% !important;\n height: 0 !important;\n min-height: 0;\n overflow: hidden;\n}\n.modal-tabs-layout:global(.ant-tabs) :global(.ant-tabs-body) {\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n.modal-tabs-layout:global(.ant-tabs) :global(.ant-tabs-content) {\n height: 100%;\n min-height: 0;\n overflow: hidden;\n outline: none;\n}\n.modal-tabs-layout:global(.ant-tabs) :global(.ant-tabs-content-hidden) {\n display: none;\n}\n\n.modal-columns-layout {\n display: flex;\n flex-direction: row;\n height: 100%;\n max-height: 100%;\n min-height: 0;\n width: 100%;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.modal-columns-layout__col {\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.modal-columns-layout__col:not(:first-child) {\n border-left: 1px solid #f0f0f0;\n}\n\n.modal-columns-layout__col:first-child :global(.modal-scroll-region) {\n background: #fafafa;\n}\n.modal-columns-layout__col:first-child :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fafafa;\n}\n.modal-columns-layout__col:first-child :global(.modal-scroll-region) :global(.modal-scroll-region-sticky) {\n background: #fafafa;\n}\n\n.modal-columns-layout__col:last-child :global(.modal-scroll-region) {\n background: #fff;\n}\n.modal-columns-layout__col:last-child :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fff;\n}\n\n.modal-columns-layout__col:only-child :global(.modal-scroll-region) {\n background: #fff;\n}\n.modal-columns-layout__col:only-child :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fff;\n}\n\n.modal-scroll-region {\n height: 100%;\n max-height: 100%;\n min-height: 0;\n box-sizing: border-box;\n}\n.modal-scroll-region :global(.simplebar-wrapper),\n.modal-scroll-region :global(.simplebar-mask),\n.modal-scroll-region :global(.simplebar-offset) {\n height: 100%;\n min-height: 0;\n}\n.modal-scroll-region :global(.simplebar-content-wrapper) {\n height: 100%;\n min-height: 0;\n}\n\n.modal-scroll-region-inner {\n box-sizing: border-box;\n min-height: 100%;\n}\n\n.modal-scroll-region.is-inset .modal-scroll-region-inner {\n padding: 16px 20px;\n}\n\n:global(.modal-scroll-region-sticky) {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: 12px 16px 10px;\n background: #fff;\n border-bottom: 1px solid #f0f0f0;\n}\n\n:global(.react-modal-splitter.ant-splitter) {\n height: 100% !important;\n max-height: 100%;\n min-height: 0;\n overflow: hidden;\n box-sizing: border-box;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel) {\n min-height: 0;\n overflow: hidden;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:first-child) :global(.modal-scroll-region) {\n background: #fafafa;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:first-child) :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fafafa;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:first-child) :global(.modal-scroll-region) :global(.modal-scroll-region-sticky) {\n background: #fafafa;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:last-child) :global(.modal-scroll-region) {\n background: #fff;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:last-child) :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fff;\n}\n\n:global(.react-modal-steps-form) :global(.modal-body-inner) {\n min-width: 0;\n max-width: 100%;\n overflow-x: hidden;\n}\n:global(.react-modal-steps-form) :global(.simplebar-content-wrapper),\n:global(.react-modal-steps-form) :global(.simplebar-content) {\n overflow-x: hidden !important;\n}\n:global(.react-modal-steps-form) :global(.kne-form-steps.ant-steps-horizontal) {\n padding-inline: 0 !important;\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n}","@charset \"UTF-8\";\n.kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.modal {\n --kne-modal-viewport-height: var(--kne-viewport-height, 100vh);\n --kne-modal-viewport-width: var(--kne-viewport-width, 100vw);\n --kne-modal-title-height: 48px;\n --kne-modal-footer-height: 58px;\n --kne-modal-viewport-gutter: 120px;\n --kne-modal-body-padding-vertical: 48px;\n --kne-modal-body-padding-horizontal: 48px;\n --kne-modal-body-min-height: 394px;\n --kne-modal-body-height: calc(var(--kne-modal-viewport-height) - var(--kne-modal-title-height) - var(--kne-modal-footer-height) - var(--kne-modal-viewport-gutter));\n --kne-modal-body-max-height: var(--kne-modal-body-height);\n --kne-modal-content-height: calc(var(--kne-modal-body-height) - var(--kne-modal-body-padding-vertical));\n --kne-modal-content-min-height: calc(var(--kne-modal-body-min-height) - var(--kne-modal-body-padding-vertical));\n --kne-modal-content-width: calc(100% - var(--kne-modal-body-padding-horizontal));\n}\n.modal.small {\n --kne-modal-body-min-height: 252px;\n}\n.modal.large .modal-body-inner {\n min-width: 1000px;\n}\n.modal.is-mobile {\n --kne-modal-viewport-gutter: 0px;\n --kne-modal-body-padding-vertical: 24px;\n --kne-modal-body-padding-horizontal: 24px;\n max-width: 100% !important;\n width: 100% !important;\n height: 100% !important;\n max-height: 100% !important;\n margin: 0 !important;\n top: 0 !important;\n padding-bottom: 0 !important;\n}\n.modal.is-mobile.large .modal-body-inner {\n min-width: 0;\n}\n.modal .modal-container {\n padding: 0;\n border-radius: 8px;\n /* 无 footer 时 body 贴底,需裁切子层直角才能露出底部圆角 */\n overflow: hidden;\n}\n.modal .modal-container.is-mobile {\n border-radius: 0 !important;\n height: 100% !important;\n max-height: 100% !important;\n overflow: hidden !important;\n box-sizing: border-box;\n padding: 0 !important;\n}\n\n.modal-antd-header,\n.modal-antd-footer {\n display: none;\n}\n\n.modal-antd-body {\n padding: 0;\n}\n.modal-antd-body.is-mobile {\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n}\n\n.modal-outer {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n.modal-outer.no-title {\n --kne-modal-title-height: 0px;\n /* 无 title 时关闭按钮仍按标题栏高度垂直居中(如 Tabs 顶栏) */\n --kne-modal-close-align-height: 48px;\n}\n.modal-outer.no-footer {\n --kne-modal-footer-height: 0px;\n}\n.modal-outer.no-padding {\n --kne-modal-body-padding-vertical: 0px;\n --kne-modal-body-padding-horizontal: 0px;\n}\n.modal-outer.is-mobile {\n width: 100%;\n height: var(--kne-modal-viewport-height);\n max-height: var(--kne-modal-viewport-height);\n min-height: var(--kne-modal-viewport-height);\n overflow: hidden;\n}\n.modal-outer.is-mobile .modal-title {\n flex: none;\n}\n.modal-outer.is-mobile .modal-body {\n flex: 1 1 auto;\n min-height: 0;\n height: auto !important;\n max-height: none !important;\n}\n.modal-outer.is-mobile .modal-footer {\n flex: none;\n margin-top: auto;\n}\n\n.modal-title {\n flex: none;\n height: var(--kne-modal-title-height);\n display: flex;\n align-items: center;\n color: var(--font-color, rgba(0, 0, 0, 0.88));\n font-size: 16px;\n font-weight: 700;\n line-height: 1.2;\n padding: 0 48px 0 24px;\n margin-bottom: 0;\n box-sizing: border-box;\n}\n\n.modal-body {\n flex: 1 1 auto;\n min-height: 0;\n min-height: var(--kne-modal-body-min-height);\n max-height: var(--kne-modal-body-max-height);\n height: var(--kne-modal-body-height);\n box-sizing: border-box;\n}\n.modal-body.body-scroll-off {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n --kne-modal-content-height: 100%;\n --kne-modal-content-min-height: 0px;\n}\n.modal-body.body-scroll-off .modal-body-inner {\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n.modal-body-inner {\n padding: calc(var(--kne-modal-body-padding-vertical) / 2) calc(var(--kne-modal-body-padding-horizontal) / 2);\n min-height: var(--kne-modal-content-height);\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n}\n.modal-body-inner.no-padding {\n padding: 0;\n}\n\n.modal-footer {\n flex: none;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 24px 24px;\n box-sizing: border-box;\n}\n.modal-footer.is-mobile {\n justify-content: center;\n border-top: 1px solid var(--bg-color-grey-3, #f0f0f0);\n}\n.modal-footer {\n /* footerButtons=[] + 宿主 footer(如 FormModal Submit/Cancel) */\n}\n.modal-footer.is-mobile.is-embedded-footer .modal-footer-extra {\n flex: 1 1 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n /* form-info ModalFooter:外层 Flex space-between → 移动端居中 */\n}\n.modal-footer.is-mobile.is-embedded-footer .modal-footer-extra > :global(.ant-flex) {\n width: auto;\n max-width: 100%;\n justify-content: center !important;\n}\n.modal-footer.is-mobile.is-embedded-footer .modal-footer-extra > :global(.ant-flex) > :global(div:first-child:empty) {\n display: none;\n}\n\n.modal-footer-extra {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.modal-footer-actions {\n flex: none;\n min-width: 0;\n}\n\n.modal-close {\n position: absolute;\n top: calc((var(--kne-modal-close-align-height, var(--kne-modal-title-height, 48px)) - 22px) / 2);\n inset-inline-end: 17px;\n z-index: 1010;\n padding: 0;\n color: var(--font-color-grey, rgba(0, 0, 0, 0.45));\n flex-shrink: 0;\n}\n.modal-close:global(.ant-btn.ant-btn-icon-only.ant-btn-text) {\n width: 22px;\n height: 22px;\n}\n\n.modal-host {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.modal-form-host :global(.ant-modal-body) :global(.react-form--inner) {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.modal-form-host :global(.ant-modal-body) :global(.react-form--inner) > :global(.ant-flex) {\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.modal-form-host .modal-outer {\n width: 100%;\n min-width: 0;\n}\n\n:global(.ant-modal-root) .modal-wrap:global(.ant-modal-wrap) {\n overflow: hidden;\n /* useModal 走 modal.info(),antd 会给内容包 .ant-modal-confirm-paragraph 并扣 12px 宽 */\n}\n:global(.ant-modal-root) .modal-wrap:global(.ant-modal-wrap) :global(.ant-modal-confirm-paragraph) {\n max-width: 100% !important;\n}\n\n/* 测试用:明显压低 body 可用高度,便于验证滚动与居中 */\n.modal:global(.kne-modal-height-limited) {\n --kne-modal-viewport-gutter: 360px;\n --kne-modal-body-max-height: 420px;\n --kne-modal-body-height: min(420px, calc(var(--kne-modal-viewport-height) - var(--kne-modal-title-height) - var(--kne-modal-footer-height) - var(--kne-modal-viewport-gutter)));\n --kne-modal-content-height: calc(var(--kne-modal-body-height) - var(--kne-modal-body-padding-vertical));\n}\n\n.modal-wrap-centered:global(.ant-modal-wrap) {\n display: flex;\n align-items: center !important;\n justify-content: center;\n min-height: var(--kne-viewport-height, 100vh);\n max-height: var(--kne-viewport-height, 100vh);\n padding: 16px;\n box-sizing: border-box;\n overflow: hidden;\n}\n.modal-wrap-centered:global(.ant-modal-wrap)::before {\n display: none !important;\n}\n.modal-wrap-centered:global(.ant-modal-wrap) :global(.ant-modal) {\n top: auto !important;\n display: block;\n padding-bottom: 0 !important;\n margin: 0 auto;\n vertical-align: initial;\n}\n.modal-wrap-centered:global(.ant-modal-wrap):global(.kne-is-boundary) {\n position: absolute !important;\n inset: 0 !important;\n width: 100% !important;\n height: 100% !important;\n min-height: 100% !important;\n max-height: 100% !important;\n}\n.modal-wrap-centered:global(.ant-modal-wrap):global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n.modal-wrap-fullscreen:global(.ant-modal-wrap) {\n display: block;\n inset: 0 !important;\n width: var(--kne-viewport-width, 100vw) !important;\n height: var(--kne-viewport-height, 100vh) !important;\n max-height: var(--kne-viewport-height, 100vh) !important;\n padding: 0 !important;\n box-sizing: border-box;\n overflow: hidden !important;\n overscroll-behavior: none;\n touch-action: none;\n text-align: start;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap)::before {\n display: none !important;\n content: none !important;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap) :global(.ant-modal) {\n top: 0 !important;\n width: 100% !important;\n max-width: 100% !important;\n height: 100% !important;\n max-height: 100% !important;\n padding-bottom: 0 !important;\n margin: 0 !important;\n vertical-align: initial;\n touch-action: auto;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap):global(.kne-is-boundary) {\n position: absolute !important;\n width: 100% !important;\n height: 100% !important;\n min-height: 100% !important;\n max-height: 100% !important;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap):global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n.modal-mask-fullscreen:global(.kne-is-boundary) {\n position: absolute !important;\n inset: 0 !important;\n}\n.modal-mask-fullscreen:global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n@container kne-responsive (max-width: 768px) {\n .modal-body-inner:not(.no-padding) {\n --kne-modal-body-padding-vertical: 24px;\n --kne-modal-body-padding-horizontal: 24px;\n }\n .modal-title {\n padding: 0 40px 0 16px;\n }\n .modal-footer {\n padding: 12px 16px 16px;\n border-top: 1px solid var(--bg-color-grey-3, #f0f0f0);\n }\n}","@charset \"UTF-8\";\n.kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.drawer :global(.ant-drawer-body) {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n padding: 0;\n height: 100%;\n}\n.drawer {\n --kne-drawer-viewport-height: var(--kne-viewport-height, 100vh);\n --kne-drawer-viewport-width: var(--kne-viewport-width, 100vw);\n --kne-drawer-title-height: 48px;\n /* 12 top + ~32 btn + 24 bottom + 1 border-top;须与真实 footer 一致,避免 SimpleBar calc 顶裁底部 padding */\n --kne-drawer-footer-height: 69px;\n --kne-drawer-viewport-gutter: 0px;\n --kne-drawer-body-padding-vertical: 48px;\n --kne-drawer-body-padding-horizontal: 48px;\n --kne-drawer-body-min-height: 200px;\n --kne-drawer-body-height: calc(var(--kne-drawer-viewport-height) - var(--kne-drawer-title-height) - var(--kne-drawer-footer-height) - var(--kne-drawer-viewport-gutter));\n --kne-drawer-body-max-height: var(--kne-drawer-body-height);\n --kne-drawer-content-height: calc(var(--kne-drawer-body-height) - var(--kne-drawer-body-padding-vertical));\n --kne-drawer-content-min-height: calc(var(--kne-drawer-body-min-height) - var(--kne-drawer-body-padding-vertical));\n --kne-drawer-content-width: calc(100% - var(--kne-drawer-body-padding-horizontal));\n}\n.drawer.small {\n --kne-drawer-body-min-height: 180px;\n}\n.drawer.is-mobile {\n --kne-drawer-viewport-gutter: 0px;\n --kne-drawer-body-padding-vertical: 24px;\n --kne-drawer-body-padding-horizontal: 24px;\n width: 100%;\n max-width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n.drawer.is-mobile.large .drawer-body-inner {\n min-width: 0;\n}\n.drawer.large .drawer-body-inner {\n min-width: 0;\n}\n.drawer:global(.ant-drawer-left) :global(.ant-drawer-content-wrapper), .drawer:global(.ant-drawer-right) :global(.ant-drawer-content-wrapper) {\n height: 100%;\n top: 0;\n bottom: 0;\n}\n.drawer:global(.ant-drawer-left) :global(.ant-drawer-content), .drawer:global(.ant-drawer-right) :global(.ant-drawer-content) {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.drawer-antd-header,\n.drawer-antd-footer {\n display: none;\n}\n\n.drawer-antd-body {\n padding: 0;\n flex: 1 1 auto;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.drawer-antd-body.is-mobile {\n height: 100%;\n max-height: 100%;\n}\n\n.drawer-outer {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n overflow: hidden;\n --kne-modal-content-height: var(--kne-drawer-content-height);\n --kne-modal-content-min-height: var(--kne-drawer-content-min-height);\n --kne-modal-close-align-height: var(--kne-drawer-close-align-height, 48px);\n}\n.drawer-outer :global(.modal-footer) {\n flex: none;\n}\n.drawer-outer.no-title {\n --kne-drawer-title-height: 0px;\n --kne-drawer-close-align-height: 48px;\n}\n.drawer-outer.no-footer {\n --kne-drawer-footer-height: 0px;\n}\n.drawer-outer.no-padding {\n --kne-drawer-body-padding-vertical: 0px;\n --kne-drawer-body-padding-horizontal: 0px;\n}\n.drawer-outer.is-mobile {\n width: 100%;\n height: var(--kne-drawer-viewport-height);\n max-height: var(--kne-drawer-viewport-height);\n min-height: var(--kne-drawer-viewport-height);\n overflow: hidden;\n}\n.drawer-outer.is-mobile .drawer-title {\n flex: none;\n}\n.drawer-outer.is-mobile .drawer-body {\n flex: 1 1 auto;\n min-height: 0;\n}\n.drawer-outer.is-mobile :global(.modal-footer) {\n flex: none;\n}\n\n.drawer-title {\n flex: none;\n height: var(--kne-drawer-title-height);\n display: flex;\n align-items: center;\n color: var(--font-color, rgba(0, 0, 0, 0.88));\n font-size: 16px;\n font-weight: 700;\n line-height: 1.2;\n padding: 0 48px 0 24px;\n margin-bottom: 0;\n box-sizing: border-box;\n border-bottom: 1px solid var(--bg-color-grey-3, #f0f0f0);\n}\n\n.drawer-body {\n flex: 1 1 auto;\n min-height: 0;\n min-height: var(--kne-drawer-body-min-height);\n max-height: var(--kne-drawer-body-max-height);\n height: var(--kne-drawer-body-height);\n box-sizing: border-box;\n}\n.drawer-body.body-scroll-off {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 1 1 auto;\n min-height: 0;\n height: auto;\n max-height: none;\n --kne-drawer-content-height: 100%;\n --kne-drawer-content-min-height: 0px;\n --kne-modal-content-height: 100%;\n --kne-modal-content-min-height: 0px;\n}\n.drawer-body.body-scroll-off .drawer-body-inner {\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n.drawer-body-inner {\n padding: calc(var(--kne-drawer-body-padding-vertical) / 2) calc(var(--kne-drawer-body-padding-horizontal) / 2);\n min-height: var(--kne-drawer-content-height);\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n}\n.drawer-body-inner.no-padding {\n padding: 0;\n}\n\n.drawer-outer :global(.modal-footer) {\n border-top: 1px solid var(--bg-color-grey-3, #f0f0f0);\n}\n\n.drawer-outer.is-mobile :global(.modal-footer.is-mobile.is-embedded-footer) .modal-footer-extra {\n flex: 1 1 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.drawer-outer.is-mobile :global(.modal-footer.is-mobile.is-embedded-footer) .modal-footer-extra > :global(.ant-flex) {\n width: auto;\n max-width: 100%;\n justify-content: center !important;\n}\n.drawer-outer.is-mobile :global(.modal-footer.is-mobile.is-embedded-footer) .modal-footer-extra > :global(.ant-flex) > :global(div:first-child:empty) {\n display: none;\n}\n\n.drawer-close {\n position: absolute;\n top: calc((var(--kne-drawer-close-align-height, var(--kne-drawer-title-height, 48px)) - 22px) / 2);\n inset-inline-end: 17px;\n z-index: 1010;\n padding: 0;\n color: var(--font-color-grey, rgba(0, 0, 0, 0.45));\n flex-shrink: 0;\n}\n.drawer-close:global(.ant-btn.ant-btn-icon-only.ant-btn-text) {\n width: 22px;\n height: 22px;\n}\n\n.drawer-host {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.drawer-host-render :global(.ant-drawer-content-wrapper) :global(.react-form),\n.drawer-host-render :global(.ant-drawer-content-wrapper) :global(.react-form--inner) {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n width: 100%;\n}\n.drawer-host-render :global(.ant-drawer-content-wrapper) :global(.info-page) {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n}\n\n.drawer-panel-host {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n min-height: 0;\n flex: 1 1 auto;\n height: 100%;\n}\n\n.drawer-panel-body {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n min-height: 0;\n flex: 1 1 auto;\n height: 100%;\n}\n\n.drawer-form-host :global(.ant-drawer-body) :global(.react-form--inner) {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.drawer-form-host :global(.ant-drawer-body) :global(.react-form--inner) > :global(.ant-flex) {\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.drawer-form-host .drawer-panel-host,\n.drawer-form-host .drawer-panel-body,\n.drawer-form-host .drawer-outer {\n width: 100%;\n min-width: 0;\n}\n\n.drawer-wrapper-mobile:global(.ant-drawer-content-wrapper) {\n width: var(--kne-viewport-width, 100vw) !important;\n max-width: 100%;\n}\n\n.drawer-wrapper-mobile-vertical:global(.ant-drawer-content-wrapper) {\n height: var(--kne-viewport-height, 100vh) !important;\n max-height: 100%;\n}\n\n.drawer-root-mobile:global(.ant-drawer) {\n display: block;\n inset: 0 !important;\n width: var(--kne-viewport-width, 100vw) !important;\n height: var(--kne-viewport-height, 100vh) !important;\n max-height: var(--kne-viewport-height, 100vh) !important;\n box-sizing: border-box;\n overflow: hidden !important;\n overscroll-behavior: none;\n touch-action: none;\n}\n.drawer-root-mobile:global(.ant-drawer) :global(.ant-drawer-content-wrapper),\n.drawer-root-mobile:global(.ant-drawer) :global(.ant-drawer-content) {\n touch-action: auto;\n}\n.drawer-root-mobile:global(.ant-drawer) :global(.ant-drawer-content) {\n width: 100%;\n max-width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.drawer-root-mobile:global(.ant-drawer):global(.kne-is-boundary) {\n position: absolute !important;\n width: 100% !important;\n height: 100% !important;\n min-height: 100% !important;\n max-height: 100% !important;\n}\n.drawer-root-mobile:global(.ant-drawer):global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n:global(.ant-drawer-mask.kne-is-boundary) {\n position: absolute !important;\n inset: 0 !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n:global(.ant-drawer-mask.kne-is-viewport) {\n position: fixed !important;\n inset: 0 !important;\n}\n\n@container kne-responsive (max-width: 768px) {\n .drawer {\n /* 移动端 footer: 12 + ~32 + 16 + 1 border */\n --kne-drawer-footer-height: 61px;\n }\n .drawer-body-inner:not(.no-padding) {\n --kne-drawer-body-padding-vertical: 24px;\n --kne-drawer-body-padding-horizontal: 24px;\n }\n .drawer-title {\n padding: 0 40px 0 16px;\n }\n .drawer-outer :global(.modal-footer.is-mobile) {\n padding: 12px 16px 16px;\n }\n}",".kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.confirm-modal-wrap :global .ant-modal-confirm .ant-modal-confirm-body .ant-modal-confirm-title + .ant-modal-confirm-content {\n max-width: 100% !important;\n}\n.confirm-modal-wrap :global .ant-modal-confirm-body-wrapper {\n min-height: 96px;\n display: flex;\n flex-direction: column;\n}\n.confirm-modal-wrap :global .ant-modal-content {\n border-radius: 8px;\n max-width: 400px;\n box-sizing: border-box;\n}\n.confirm-modal-wrap :global .ant-modal-confirm-btns {\n display: flex;\n justify-content: flex-end;\n align-items: flex-end;\n flex: 1;\n gap: 8px;\n}\n.confirm-modal-wrap.is-mobile {\n --kne-confirm-modal-mobile-max-width: 400px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-content {\n width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n max-width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-body {\n padding: 20px 20px 12px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-title {\n margin-bottom: 16px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-btns {\n flex-direction: row;\n justify-content: stretch;\n align-items: stretch;\n width: 100%;\n margin-top: 16px;\n gap: 12px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-btns .ant-btn {\n flex: 1;\n width: auto;\n margin-inline-start: 0 !important;\n height: 40px;\n}\n.confirm-modal-wrap.is-danger {\n --color-warning: #d14343;\n}\n.confirm-modal-wrap.is-danger :global .ant-popover-buttons .ant-btn-primary,\n.confirm-modal-wrap.is-danger :global .ant-modal-confirm-btns .ant-btn-primary {\n background: var(--color-warning);\n border-color: var(--color-warning);\n}\n.confirm-modal-wrap.is-danger .title-icon {\n color: var(--color-warning);\n}\n\n.titleRow,\n.contentRow {\n display: flex;\n align-items: flex-start;\n gap: 6px;\n}\n\n.titleIcon {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n margin-top: 0;\n line-height: 1;\n}\n\n.title-icon {\n font-size: 16px;\n}\n.title-icon-confirm {\n color: #1677ff;\n}\n.title-icon-info {\n color: #1677ff;\n}\n.title-icon-success {\n color: #52c41a;\n}\n.title-icon-warning {\n color: #faad14;\n}\n.title-icon-error {\n color: #ff4d4f;\n}\n\n.titleText {\n flex: 1;\n min-width: 0;\n color: #222222;\n font-weight: bold;\n font-size: 14px;\n line-height: 20px;\n}\n\n.contentText {\n flex: 1;\n min-width: 0;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n line-height: 20px;\n}\n\n.contentRow.has-title.has-icon .contentText {\n padding-left: 26px;\n}\n\n.is-mobile-block.contentRow.has-title.has-icon .contentText {\n padding-left: 32px;\n}\n\n.is-mobile-block.titleRow {\n justify-content: center;\n align-items: center;\n margin-bottom: 4px;\n gap: 8px;\n}\n.is-mobile-block.contentRow {\n gap: 8px;\n}\n.is-mobile-block.contentRow.has-title .contentText {\n text-align: center;\n}\n.is-mobile-block.contentRow.has-title.has-icon .contentText {\n padding-left: 0;\n}\n.is-mobile-block .titleText {\n flex: 0 1 auto;\n font-size: 16px;\n line-height: 24px;\n text-align: center;\n}\n.is-mobile-block .titleIcon {\n width: 24px;\n height: 24px;\n margin-top: 0;\n}\n.is-mobile-block .title-icon {\n font-size: 24px;\n}\n.is-mobile-block .contentText {\n font-size: 14px;\n line-height: 22px;\n}\n\n@container kne-responsive (max-width: 768px) {\n .titleRow,\n .contentRow {\n gap: 8px;\n }\n .confirm-modal-wrap {\n --kne-confirm-modal-mobile-max-width: 400px;\n }\n .confirm-modal-wrap :global .ant-modal-content {\n width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n max-width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n }\n .confirm-modal-wrap :global .ant-modal-confirm-body {\n padding: 20px 20px 12px;\n }\n .confirm-modal-wrap :global .ant-modal-confirm-title {\n margin-bottom: 16px;\n }\n .confirm-modal-wrap :global .ant-modal-confirm-btns {\n flex-direction: row;\n justify-content: stretch;\n align-items: stretch;\n width: 100%;\n margin-top: 16px;\n gap: 12px;\n }\n .confirm-modal-wrap :global .ant-modal-confirm-btns .ant-btn {\n flex: 1;\n width: auto;\n margin-inline-start: 0 !important;\n height: 40px;\n }\n .titleRow {\n justify-content: center;\n align-items: center;\n margin-bottom: 4px;\n }\n .contentRow.has-title .contentText {\n text-align: center;\n }\n .contentRow.has-title.has-icon .contentText {\n padding-left: 0;\n }\n .titleText {\n flex: 0 1 auto;\n font-size: 16px;\n line-height: 24px;\n text-align: center;\n }\n .titleIcon {\n width: 24px;\n height: 24px;\n margin-top: 0;\n }\n .title-icon {\n font-size: 24px;\n }\n}"]}
|
|
1
|
+
{"version":3,"sources":["layouts.module.scss","style.module.scss","drawer.module.scss","confirmModal.module.scss"],"names":[],"mappings":"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,8FAA8F;EAC9F,kGAAkG;AACpG;AACA;EACE,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;EACnB,wBAAwB;EACxB,oBAAoB;EACpB,WAAW;EACX,gBAAgB;EAChB,SAAS;AACX;AACA;EACE,OAAO;EACP,WAAW;EACX,iCAAiC;EACjC,YAAY;AACd;AACA;EACE,wBAAwB;AAC1B;AACA;;EAEE,gCAAgC;EAChC,kCAAkC;AACpC;AACA;EACE,2BAA2B;AAC7B;;AAEA;;EAEE,aAAa;EACb,uBAAuB;EACvB,QAAQ;AACV;;AAEA;EACE,cAAc;EACd,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,cAAc;AAChB;;AAEA;EACE,eAAe;AACjB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,cAAc;EACd,iBAAiB;EACjB,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,OAAO;EACP,YAAY;EACZ,0BAA0B;EAC1B,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,uBAAuB;EACvB,mBAAmB;EACnB,kBAAkB;EAClB,QAAQ;AACV;AACA;EACE,QAAQ;AACV;AACA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;AACjB;AACA;EACE,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,WAAW;EACX,YAAY;EACZ,aAAa;AACf;AACA;EACE,eAAe;AACjB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE;;IAEE,QAAQ;EACV;EACA;IACE,2CAA2C;EAC7C;EACA;IACE,8FAA8F;IAC9F,kGAAkG;EACpG;EACA;IACE,uBAAuB;EACzB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;IACnB,wBAAwB;IACxB,oBAAoB;IACpB,WAAW;IACX,gBAAgB;IAChB,SAAS;EACX;EACA;IACE,OAAO;IACP,WAAW;IACX,iCAAiC;IACjC,YAAY;EACd;EACA;IACE,uBAAuB;IACvB,mBAAmB;IACnB,kBAAkB;EACpB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,eAAe;EACjB;EACA;IACE,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,kBAAkB;EACpB;EACA;IACE,WAAW;IACX,YAAY;IACZ,aAAa;EACf;EACA;IACE,eAAe;EACjB;AACF","file":"index.css","sourcesContent":[".modal-tabs-layout:global(.ant-tabs) {\n height: var(--kne-modal-content-height);\n max-height: var(--kne-modal-content-height);\n flex: 1 1 0%;\n min-height: 0;\n width: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n box-sizing: border-box;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) {\n flex: none;\n height: var(--kne-modal-close-align-height, 48px);\n margin: 0;\n padding: 0 86px 0 24px;\n align-items: center;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav)::before {\n border-bottom-color: #f0f0f0;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) :global(.ant-tabs-nav-wrap) {\n align-self: stretch;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) :global(.ant-tabs-tab) {\n margin: 0 28px 0 0;\n padding: 0;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-nav) :global(.ant-tabs-tab) :global(.ant-tabs-tab-btn) {\n padding: 0;\n line-height: var(--kne-modal-close-align-height, 48px);\n}\n.modal-tabs-layout:global(.ant-tabs) > :global(.ant-tabs-body-holder) {\n flex: 1 1 0% !important;\n height: 0 !important;\n min-height: 0;\n overflow: hidden;\n}\n.modal-tabs-layout:global(.ant-tabs) :global(.ant-tabs-body) {\n height: 100%;\n min-height: 0;\n overflow: hidden;\n}\n.modal-tabs-layout:global(.ant-tabs) :global(.ant-tabs-content) {\n height: 100%;\n min-height: 0;\n overflow: hidden;\n outline: none;\n}\n.modal-tabs-layout:global(.ant-tabs) :global(.ant-tabs-content-hidden) {\n display: none;\n}\n\n.modal-columns-layout {\n display: flex;\n flex-direction: row;\n height: 100%;\n max-height: 100%;\n min-height: 0;\n width: 100%;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.modal-columns-layout__col {\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.modal-columns-layout__col:not(:first-child) {\n border-left: 1px solid #f0f0f0;\n}\n\n.modal-columns-layout__col:first-child :global(.modal-scroll-region) {\n background: #fafafa;\n}\n.modal-columns-layout__col:first-child :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fafafa;\n}\n.modal-columns-layout__col:first-child :global(.modal-scroll-region) :global(.modal-scroll-region-sticky) {\n background: #fafafa;\n}\n\n.modal-columns-layout__col:last-child :global(.modal-scroll-region) {\n background: #fff;\n}\n.modal-columns-layout__col:last-child :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fff;\n}\n\n.modal-columns-layout__col:only-child :global(.modal-scroll-region) {\n background: #fff;\n}\n.modal-columns-layout__col:only-child :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fff;\n}\n\n.modal-scroll-region {\n height: 100%;\n max-height: 100%;\n min-height: 0;\n box-sizing: border-box;\n}\n.modal-scroll-region :global(.simplebar-wrapper),\n.modal-scroll-region :global(.simplebar-mask),\n.modal-scroll-region :global(.simplebar-offset) {\n height: 100%;\n min-height: 0;\n}\n.modal-scroll-region :global(.simplebar-content-wrapper) {\n height: 100%;\n min-height: 0;\n}\n\n.modal-scroll-region-inner {\n box-sizing: border-box;\n min-height: 100%;\n}\n\n.modal-scroll-region.is-inset .modal-scroll-region-inner {\n padding: 16px 20px;\n}\n\n:global(.modal-scroll-region-sticky) {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: 12px 16px 10px;\n background: #fff;\n border-bottom: 1px solid #f0f0f0;\n}\n\n:global(.react-modal-splitter.ant-splitter) {\n height: 100% !important;\n max-height: 100%;\n min-height: 0;\n overflow: hidden;\n box-sizing: border-box;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel) {\n min-height: 0;\n overflow: hidden;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:first-child) :global(.modal-scroll-region) {\n background: #fafafa;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:first-child) :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fafafa;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:first-child) :global(.modal-scroll-region) :global(.modal-scroll-region-sticky) {\n background: #fafafa;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:last-child) :global(.modal-scroll-region) {\n background: #fff;\n}\n:global(.react-modal-splitter.ant-splitter) :global(.ant-splitter-panel:last-child) :global(.modal-scroll-region) :global(.simplebar-content) {\n background: #fff;\n}\n\n:global(.react-modal-steps-form) :global(.modal-body-inner) {\n min-width: 0;\n max-width: 100%;\n overflow-x: hidden;\n}\n:global(.react-modal-steps-form) :global(.simplebar-content-wrapper),\n:global(.react-modal-steps-form) :global(.simplebar-content) {\n overflow-x: hidden !important;\n}\n:global(.react-modal-steps-form) :global(.kne-form-steps.ant-steps-horizontal) {\n padding-inline: 0 !important;\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n}","@charset \"UTF-8\";\n.kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.modal {\n --kne-modal-viewport-height: var(--kne-viewport-height, 100vh);\n --kne-modal-viewport-width: var(--kne-viewport-width, 100vw);\n --kne-modal-title-height: 48px;\n --kne-modal-footer-height: 58px;\n --kne-modal-viewport-gutter: 80px;\n --kne-modal-body-padding-vertical: 48px;\n --kne-modal-body-padding-horizontal: 48px;\n /* body 最低高度随 size(JS 会按是否有 footer 再扣 chrome);上限见 body-max-height */\n --kne-modal-body-min-height: 394px;\n --kne-modal-body-height: calc(var(--kne-modal-viewport-height) - var(--kne-modal-title-height) - var(--kne-modal-footer-height) - var(--kne-modal-viewport-gutter));\n --kne-modal-body-max-height: var(--kne-modal-body-height);\n --kne-modal-content-height: calc(var(--kne-modal-body-height) - var(--kne-modal-body-padding-vertical));\n --kne-modal-content-min-height: calc(var(--kne-modal-body-min-height) - var(--kne-modal-body-padding-vertical));\n --kne-modal-content-width: calc(100% - var(--kne-modal-body-padding-horizontal));\n}\n.modal.small {\n --kne-modal-body-min-height: 252px;\n}\n.modal.large .modal-body-inner {\n min-width: 1000px;\n}\n.modal.is-mobile {\n --kne-modal-viewport-gutter: 0px;\n --kne-modal-body-padding-vertical: 24px;\n --kne-modal-body-padding-horizontal: 24px;\n max-width: 100% !important;\n width: 100% !important;\n height: 100% !important;\n max-height: 100% !important;\n margin: 0 !important;\n top: 0 !important;\n padding-bottom: 0 !important;\n}\n.modal.is-mobile.large .modal-body-inner {\n min-width: 0;\n}\n.modal .modal-container {\n padding: 0;\n border-radius: 8px;\n /* 无 footer 时 body 贴底,需裁切子层直角才能露出底部圆角 */\n overflow: hidden;\n}\n.modal .modal-container.is-mobile {\n border-radius: 0 !important;\n height: 100% !important;\n max-height: 100% !important;\n overflow: hidden !important;\n box-sizing: border-box;\n padding: 0 !important;\n}\n\n.modal-antd-header,\n.modal-antd-footer {\n display: none;\n}\n\n.modal-antd-body {\n padding: 0;\n}\n.modal-antd-body.is-mobile {\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n}\n\n.modal-outer {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n.modal-outer.no-title {\n --kne-modal-title-height: 0px;\n /* 无 title 时关闭按钮仍按标题栏高度垂直居中(如 Tabs 顶栏) */\n --kne-modal-close-align-height: 48px;\n}\n.modal-outer.no-footer {\n --kne-modal-footer-height: 0px;\n}\n.modal-outer.no-padding {\n --kne-modal-body-padding-vertical: 0px;\n --kne-modal-body-padding-horizontal: 0px;\n}\n.modal-outer.is-mobile {\n width: 100%;\n height: var(--kne-modal-viewport-height);\n max-height: var(--kne-modal-viewport-height);\n min-height: var(--kne-modal-viewport-height);\n overflow: hidden;\n}\n.modal-outer.is-mobile .modal-title {\n flex: none;\n}\n.modal-outer.is-mobile .modal-body {\n flex: 1 1 auto;\n min-height: 0;\n height: auto !important;\n max-height: none !important;\n}\n.modal-outer.is-mobile .modal-footer {\n flex: none;\n margin-top: auto;\n}\n\n.modal-title {\n flex: none;\n height: var(--kne-modal-title-height);\n display: flex;\n align-items: center;\n color: var(--font-color, rgba(0, 0, 0, 0.88));\n font-size: 16px;\n font-weight: 700;\n line-height: 1.2;\n padding: 0 48px 0 24px;\n margin-bottom: 0;\n box-sizing: border-box;\n}\n\n.modal-body {\n flex: 1 1 auto;\n min-height: var(--kne-modal-body-min-height);\n max-height: var(--kne-modal-body-max-height);\n /* 默认跟内容;超出由 max-height + SimpleBar 滚动。bodyScroll=false 见下方写死满高 */\n height: auto;\n box-sizing: border-box;\n}\n.modal-body.body-scroll-off {\n height: var(--kne-modal-body-height);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n --kne-modal-content-height: 100%;\n --kne-modal-content-min-height: 0px;\n}\n.modal-body.body-scroll-off .modal-body-inner {\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n.modal-body-inner {\n padding: calc(var(--kne-modal-body-padding-vertical) / 2) calc(var(--kne-modal-body-padding-horizontal) / 2);\n /* 与 body-min 对齐的小地板,不再用 content-height 把短内容撑满 */\n min-height: var(--kne-modal-content-min-height);\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n}\n.modal-body-inner.no-padding {\n padding: 0;\n}\n\n.modal-footer {\n flex: none;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 24px 24px;\n box-sizing: border-box;\n}\n.modal-footer.is-mobile {\n justify-content: center;\n border-top: 1px solid var(--bg-color-grey-3, #f0f0f0);\n}\n.modal-footer {\n /* footerButtons=[] + 宿主 footer(如 FormModal Submit/Cancel) */\n}\n.modal-footer.is-mobile.is-embedded-footer .modal-footer-extra {\n flex: 1 1 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n /* form-info ModalFooter:外层 Flex space-between → 移动端居中 */\n}\n.modal-footer.is-mobile.is-embedded-footer .modal-footer-extra > :global(.ant-flex) {\n width: auto;\n max-width: 100%;\n justify-content: center !important;\n}\n.modal-footer.is-mobile.is-embedded-footer .modal-footer-extra > :global(.ant-flex) > :global(div:first-child:empty) {\n display: none;\n}\n\n.modal-footer-extra {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.modal-footer-actions {\n flex: none;\n min-width: 0;\n}\n\n.modal-close {\n position: absolute;\n top: calc((var(--kne-modal-close-align-height, var(--kne-modal-title-height, 48px)) - 22px) / 2);\n inset-inline-end: 17px;\n z-index: 1010;\n padding: 0;\n color: var(--font-color-grey, rgba(0, 0, 0, 0.45));\n flex-shrink: 0;\n}\n.modal-close:global(.ant-btn.ant-btn-icon-only.ant-btn-text) {\n width: 22px;\n height: 22px;\n}\n\n.modal-host {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.modal-form-host :global(.ant-modal-body) :global(.react-form--inner) {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.modal-form-host :global(.ant-modal-body) :global(.react-form--inner) > :global(.ant-flex) {\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.modal-form-host .modal-outer {\n width: 100%;\n min-width: 0;\n}\n\n:global(.ant-modal-root) .modal-wrap:global(.ant-modal-wrap) {\n overflow: hidden;\n /* useModal 走 modal.info(),antd 会给内容包 .ant-modal-confirm-paragraph 并扣 12px 宽 */\n}\n:global(.ant-modal-root) .modal-wrap:global(.ant-modal-wrap) :global(.ant-modal-confirm-paragraph) {\n max-width: 100% !important;\n}\n\n/* 测试用:明显压低 body 可用高度,便于验证滚动与居中 */\n.modal:global(.kne-modal-height-limited) {\n --kne-modal-viewport-gutter: 360px;\n --kne-modal-body-max-height: 420px;\n --kne-modal-body-height: min(420px, calc(var(--kne-modal-viewport-height) - var(--kne-modal-title-height) - var(--kne-modal-footer-height) - var(--kne-modal-viewport-gutter)));\n --kne-modal-content-height: calc(var(--kne-modal-body-height) - var(--kne-modal-body-padding-vertical));\n}\n\n.modal-wrap-centered:global(.ant-modal-wrap) {\n display: flex;\n align-items: center !important;\n justify-content: center;\n min-height: var(--kne-viewport-height, 100vh);\n max-height: var(--kne-viewport-height, 100vh);\n padding: 16px;\n box-sizing: border-box;\n overflow: hidden;\n}\n.modal-wrap-centered:global(.ant-modal-wrap)::before {\n display: none !important;\n}\n.modal-wrap-centered:global(.ant-modal-wrap) :global(.ant-modal) {\n top: auto !important;\n display: block;\n padding-bottom: 0 !important;\n margin: 0 auto;\n vertical-align: initial;\n}\n.modal-wrap-centered:global(.ant-modal-wrap):global(.kne-is-boundary) {\n position: absolute !important;\n inset: 0 !important;\n width: 100% !important;\n height: 100% !important;\n min-height: 100% !important;\n max-height: 100% !important;\n}\n.modal-wrap-centered:global(.ant-modal-wrap):global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n.modal-wrap-fullscreen:global(.ant-modal-wrap) {\n display: block;\n inset: 0 !important;\n width: var(--kne-viewport-width, 100vw) !important;\n height: var(--kne-viewport-height, 100vh) !important;\n max-height: var(--kne-viewport-height, 100vh) !important;\n padding: 0 !important;\n box-sizing: border-box;\n overflow: hidden !important;\n overscroll-behavior: none;\n touch-action: none;\n text-align: start;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap)::before {\n display: none !important;\n content: none !important;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap) :global(.ant-modal) {\n top: 0 !important;\n width: 100% !important;\n max-width: 100% !important;\n height: 100% !important;\n max-height: 100% !important;\n padding-bottom: 0 !important;\n margin: 0 !important;\n vertical-align: initial;\n touch-action: auto;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap):global(.kne-is-boundary) {\n position: absolute !important;\n width: 100% !important;\n height: 100% !important;\n min-height: 100% !important;\n max-height: 100% !important;\n}\n.modal-wrap-fullscreen:global(.ant-modal-wrap):global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n.modal-mask-fullscreen:global(.kne-is-boundary) {\n position: absolute !important;\n inset: 0 !important;\n}\n.modal-mask-fullscreen:global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n@container kne-responsive (max-width: 768px) {\n .modal-body-inner:not(.no-padding) {\n --kne-modal-body-padding-vertical: 24px;\n --kne-modal-body-padding-horizontal: 24px;\n }\n .modal-title {\n padding: 0 40px 0 16px;\n }\n .modal-footer {\n padding: 12px 16px 16px;\n border-top: 1px solid var(--bg-color-grey-3, #f0f0f0);\n }\n}","@charset \"UTF-8\";\n.kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.drawer :global(.ant-drawer-body) {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n padding: 0;\n height: 100%;\n}\n.drawer {\n --kne-drawer-viewport-height: var(--kne-viewport-height, 100vh);\n --kne-drawer-viewport-width: var(--kne-viewport-width, 100vw);\n --kne-drawer-title-height: 48px;\n /* 12 top + ~32 btn + 24 bottom + 1 border-top;须与真实 footer 一致,避免 SimpleBar calc 顶裁底部 padding */\n --kne-drawer-footer-height: 69px;\n --kne-drawer-viewport-gutter: 0px;\n --kne-drawer-body-padding-vertical: 48px;\n --kne-drawer-body-padding-horizontal: 48px;\n --kne-drawer-body-min-height: 200px;\n --kne-drawer-body-height: calc(var(--kne-drawer-viewport-height) - var(--kne-drawer-title-height) - var(--kne-drawer-footer-height) - var(--kne-drawer-viewport-gutter));\n --kne-drawer-body-max-height: var(--kne-drawer-body-height);\n --kne-drawer-content-height: calc(var(--kne-drawer-body-height) - var(--kne-drawer-body-padding-vertical));\n --kne-drawer-content-min-height: calc(var(--kne-drawer-body-min-height) - var(--kne-drawer-body-padding-vertical));\n --kne-drawer-content-width: calc(100% - var(--kne-drawer-body-padding-horizontal));\n}\n.drawer.small {\n --kne-drawer-body-min-height: 180px;\n}\n.drawer.is-mobile {\n --kne-drawer-viewport-gutter: 0px;\n --kne-drawer-body-padding-vertical: 24px;\n --kne-drawer-body-padding-horizontal: 24px;\n width: 100%;\n max-width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n.drawer.is-mobile.large .drawer-body-inner {\n min-width: 0;\n}\n.drawer.large .drawer-body-inner {\n min-width: 0;\n}\n.drawer:global(.ant-drawer-left) :global(.ant-drawer-content-wrapper), .drawer:global(.ant-drawer-right) :global(.ant-drawer-content-wrapper) {\n height: 100%;\n top: 0;\n bottom: 0;\n}\n.drawer:global(.ant-drawer-left) :global(.ant-drawer-content), .drawer:global(.ant-drawer-right) :global(.ant-drawer-content) {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.drawer-antd-header,\n.drawer-antd-footer {\n display: none;\n}\n\n.drawer-antd-body {\n padding: 0;\n flex: 1 1 auto;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.drawer-antd-body.is-mobile {\n height: 100%;\n max-height: 100%;\n}\n\n.drawer-outer {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n overflow: hidden;\n --kne-modal-content-height: var(--kne-drawer-content-height);\n --kne-modal-content-min-height: var(--kne-drawer-content-min-height);\n --kne-modal-close-align-height: var(--kne-drawer-close-align-height, 48px);\n}\n.drawer-outer :global(.modal-footer) {\n flex: none;\n}\n.drawer-outer.no-title {\n --kne-drawer-title-height: 0px;\n --kne-drawer-close-align-height: 48px;\n}\n.drawer-outer.no-footer {\n --kne-drawer-footer-height: 0px;\n}\n.drawer-outer.no-padding {\n --kne-drawer-body-padding-vertical: 0px;\n --kne-drawer-body-padding-horizontal: 0px;\n}\n.drawer-outer.is-mobile {\n width: 100%;\n height: var(--kne-drawer-viewport-height);\n max-height: var(--kne-drawer-viewport-height);\n min-height: var(--kne-drawer-viewport-height);\n overflow: hidden;\n}\n.drawer-outer.is-mobile .drawer-title {\n flex: none;\n}\n.drawer-outer.is-mobile .drawer-body {\n flex: 1 1 auto;\n min-height: 0;\n}\n.drawer-outer.is-mobile :global(.modal-footer) {\n flex: none;\n}\n\n.drawer-title {\n flex: none;\n height: var(--kne-drawer-title-height);\n display: flex;\n align-items: center;\n color: var(--font-color, rgba(0, 0, 0, 0.88));\n font-size: 16px;\n font-weight: 700;\n line-height: 1.2;\n padding: 0 48px 0 24px;\n margin-bottom: 0;\n box-sizing: border-box;\n border-bottom: 1px solid var(--bg-color-grey-3, #f0f0f0);\n}\n\n.drawer-body {\n flex: 1 1 auto;\n min-height: 0;\n min-height: var(--kne-drawer-body-min-height);\n max-height: var(--kne-drawer-body-max-height);\n height: var(--kne-drawer-body-height);\n box-sizing: border-box;\n}\n.drawer-body.body-scroll-off {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n flex: 1 1 auto;\n min-height: 0;\n height: auto;\n max-height: none;\n --kne-drawer-content-height: 100%;\n --kne-drawer-content-min-height: 0px;\n --kne-modal-content-height: 100%;\n --kne-modal-content-min-height: 0px;\n}\n.drawer-body.body-scroll-off .drawer-body-inner {\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n.drawer-body-inner {\n padding: calc(var(--kne-drawer-body-padding-vertical) / 2) calc(var(--kne-drawer-body-padding-horizontal) / 2);\n min-height: var(--kne-drawer-content-height);\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n}\n.drawer-body-inner.no-padding {\n padding: 0;\n}\n\n.drawer-outer :global(.modal-footer) {\n border-top: 1px solid var(--bg-color-grey-3, #f0f0f0);\n}\n\n.drawer-outer.is-mobile :global(.modal-footer.is-mobile.is-embedded-footer) .modal-footer-extra {\n flex: 1 1 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.drawer-outer.is-mobile :global(.modal-footer.is-mobile.is-embedded-footer) .modal-footer-extra > :global(.ant-flex) {\n width: auto;\n max-width: 100%;\n justify-content: center !important;\n}\n.drawer-outer.is-mobile :global(.modal-footer.is-mobile.is-embedded-footer) .modal-footer-extra > :global(.ant-flex) > :global(div:first-child:empty) {\n display: none;\n}\n\n.drawer-close {\n position: absolute;\n top: calc((var(--kne-drawer-close-align-height, var(--kne-drawer-title-height, 48px)) - 22px) / 2);\n inset-inline-end: 17px;\n z-index: 1010;\n padding: 0;\n color: var(--font-color-grey, rgba(0, 0, 0, 0.45));\n flex-shrink: 0;\n}\n.drawer-close:global(.ant-btn.ant-btn-icon-only.ant-btn-text) {\n width: 22px;\n height: 22px;\n}\n\n.drawer-host {\n position: absolute;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n}\n\n.drawer-host-render :global(.ant-drawer-content-wrapper) :global(.react-form),\n.drawer-host-render :global(.ant-drawer-content-wrapper) :global(.react-form--inner) {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n width: 100%;\n}\n.drawer-host-render :global(.ant-drawer-content-wrapper) :global(.info-page) {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n height: 100%;\n}\n\n.drawer-panel-host {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n min-height: 0;\n flex: 1 1 auto;\n height: 100%;\n}\n\n.drawer-panel-body {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n min-height: 0;\n flex: 1 1 auto;\n height: 100%;\n}\n\n.drawer-form-host :global(.ant-drawer-body) :global(.react-form--inner) {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.drawer-form-host :global(.ant-drawer-body) :global(.react-form--inner) > :global(.ant-flex) {\n flex: 1 1 auto;\n min-height: 0;\n width: 100%;\n}\n.drawer-form-host .drawer-panel-host,\n.drawer-form-host .drawer-panel-body,\n.drawer-form-host .drawer-outer {\n width: 100%;\n min-width: 0;\n}\n\n.drawer-wrapper-mobile:global(.ant-drawer-content-wrapper) {\n width: var(--kne-viewport-width, 100vw) !important;\n max-width: 100%;\n}\n\n.drawer-wrapper-mobile-vertical:global(.ant-drawer-content-wrapper) {\n height: var(--kne-viewport-height, 100vh) !important;\n max-height: 100%;\n}\n\n.drawer-root-mobile:global(.ant-drawer) {\n display: block;\n inset: 0 !important;\n width: var(--kne-viewport-width, 100vw) !important;\n height: var(--kne-viewport-height, 100vh) !important;\n max-height: var(--kne-viewport-height, 100vh) !important;\n box-sizing: border-box;\n overflow: hidden !important;\n overscroll-behavior: none;\n touch-action: none;\n}\n.drawer-root-mobile:global(.ant-drawer) :global(.ant-drawer-content-wrapper),\n.drawer-root-mobile:global(.ant-drawer) :global(.ant-drawer-content) {\n touch-action: auto;\n}\n.drawer-root-mobile:global(.ant-drawer) :global(.ant-drawer-content) {\n width: 100%;\n max-width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.drawer-root-mobile:global(.ant-drawer):global(.kne-is-boundary) {\n position: absolute !important;\n width: 100% !important;\n height: 100% !important;\n min-height: 100% !important;\n max-height: 100% !important;\n}\n.drawer-root-mobile:global(.ant-drawer):global(.kne-is-viewport) {\n position: fixed !important;\n}\n\n:global(.ant-drawer-mask.kne-is-boundary) {\n position: absolute !important;\n inset: 0 !important;\n width: 100% !important;\n height: 100% !important;\n}\n\n:global(.ant-drawer-mask.kne-is-viewport) {\n position: fixed !important;\n inset: 0 !important;\n}\n\n@container kne-responsive (max-width: 768px) {\n .drawer {\n /* 移动端 footer: 12 + ~32 + 16 + 1 border */\n --kne-drawer-footer-height: 61px;\n }\n .drawer-body-inner:not(.no-padding) {\n --kne-drawer-body-padding-vertical: 24px;\n --kne-drawer-body-padding-horizontal: 24px;\n }\n .drawer-title {\n padding: 0 40px 0 16px;\n }\n .drawer-outer :global(.modal-footer.is-mobile) {\n padding: 12px 16px 16px;\n }\n}",".kne-responsive-boundary {\n position: relative;\n}\n\n.kne-responsive-scroll {\n overflow: auto;\n}\n\n:root {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.kne-responsive-boundary {\n --kne-viewport-width: 100vw;\n --kne-viewport-height: 100dvh;\n --kne-viewport-inline-size: 100vw;\n --kne-viewport-block-size: 100dvh;\n}\n\n.confirm-modal-wrap :global .ant-modal-confirm .ant-modal-confirm-body .ant-modal-confirm-title + .ant-modal-confirm-content {\n max-width: 100% !important;\n}\n.confirm-modal-wrap :global .ant-modal-confirm-body-wrapper {\n min-height: 96px;\n display: flex;\n flex-direction: column;\n}\n.confirm-modal-wrap :global .ant-modal-content {\n border-radius: 8px;\n max-width: 400px;\n box-sizing: border-box;\n}\n.confirm-modal-wrap :global .ant-modal-confirm-btns {\n display: flex;\n justify-content: flex-end;\n align-items: flex-end;\n flex: 1;\n gap: 8px;\n}\n.confirm-modal-wrap.is-mobile {\n --kne-confirm-modal-mobile-max-width: 400px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-content {\n width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n max-width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-body {\n padding: 20px 20px 12px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-title {\n margin-bottom: 16px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-btns {\n flex-direction: row;\n justify-content: stretch;\n align-items: stretch;\n width: 100%;\n margin-top: 16px;\n gap: 12px;\n}\n.confirm-modal-wrap.is-mobile :global .ant-modal-confirm-btns .ant-btn {\n flex: 1;\n width: auto;\n margin-inline-start: 0 !important;\n height: 40px;\n}\n.confirm-modal-wrap.is-danger {\n --color-warning: #d14343;\n}\n.confirm-modal-wrap.is-danger :global .ant-popover-buttons .ant-btn-primary,\n.confirm-modal-wrap.is-danger :global .ant-modal-confirm-btns .ant-btn-primary {\n background: var(--color-warning);\n border-color: var(--color-warning);\n}\n.confirm-modal-wrap.is-danger .title-icon {\n color: var(--color-warning);\n}\n\n.titleRow,\n.contentRow {\n display: flex;\n align-items: flex-start;\n gap: 6px;\n}\n\n.titleIcon {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n margin-top: 0;\n line-height: 1;\n}\n\n.title-icon {\n font-size: 16px;\n}\n.title-icon-confirm {\n color: #1677ff;\n}\n.title-icon-info {\n color: #1677ff;\n}\n.title-icon-success {\n color: #52c41a;\n}\n.title-icon-warning {\n color: #faad14;\n}\n.title-icon-error {\n color: #ff4d4f;\n}\n\n.titleText {\n flex: 1;\n min-width: 0;\n color: #222222;\n font-weight: bold;\n font-size: 14px;\n line-height: 20px;\n}\n\n.contentText {\n flex: 1;\n min-width: 0;\n color: rgba(0, 0, 0, 0.65);\n font-size: 14px;\n line-height: 20px;\n}\n\n.contentRow.has-title.has-icon .contentText {\n padding-left: 26px;\n}\n\n.is-mobile-block.contentRow.has-title.has-icon .contentText {\n padding-left: 32px;\n}\n\n.is-mobile-block.titleRow {\n justify-content: center;\n align-items: center;\n margin-bottom: 4px;\n gap: 8px;\n}\n.is-mobile-block.contentRow {\n gap: 8px;\n}\n.is-mobile-block.contentRow.has-title .contentText {\n text-align: center;\n}\n.is-mobile-block.contentRow.has-title.has-icon .contentText {\n padding-left: 0;\n}\n.is-mobile-block .titleText {\n flex: 0 1 auto;\n font-size: 16px;\n line-height: 24px;\n text-align: center;\n}\n.is-mobile-block .titleIcon {\n width: 24px;\n height: 24px;\n margin-top: 0;\n}\n.is-mobile-block .title-icon {\n font-size: 24px;\n}\n.is-mobile-block .contentText {\n font-size: 14px;\n line-height: 22px;\n}\n\n@container kne-responsive (max-width: 768px) {\n .titleRow,\n .contentRow {\n gap: 8px;\n }\n .confirm-modal-wrap {\n --kne-confirm-modal-mobile-max-width: 400px;\n }\n .confirm-modal-wrap :global .ant-modal-content {\n width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n max-width: min(var(--kne-confirm-modal-mobile-max-width), var(--kne-viewport-width, 100vw) - 32px);\n }\n .confirm-modal-wrap :global .ant-modal-confirm-body {\n padding: 20px 20px 12px;\n }\n .confirm-modal-wrap :global .ant-modal-confirm-title {\n margin-bottom: 16px;\n }\n .confirm-modal-wrap :global .ant-modal-confirm-btns {\n flex-direction: row;\n justify-content: stretch;\n align-items: stretch;\n width: 100%;\n margin-top: 16px;\n gap: 12px;\n }\n .confirm-modal-wrap :global .ant-modal-confirm-btns .ant-btn {\n flex: 1;\n width: auto;\n margin-inline-start: 0 !important;\n height: 40px;\n }\n .titleRow {\n justify-content: center;\n align-items: center;\n margin-bottom: 4px;\n }\n .contentRow.has-title .contentText {\n text-align: center;\n }\n .contentRow.has-title.has-icon .contentText {\n padding-left: 0;\n }\n .titleText {\n flex: 0 1 auto;\n font-size: 16px;\n line-height: 24px;\n text-align: center;\n }\n .titleIcon {\n width: 24px;\n height: 24px;\n margin-top: 0;\n }\n .title-icon {\n font-size: 24px;\n }\n}"]}
|
package/dist/index.js
CHANGED
|
@@ -164,6 +164,49 @@ const useLockParentScroll = (enabled, getScrollElement) => {
|
|
|
164
164
|
}, [enabled, getScrollElement]);
|
|
165
165
|
};
|
|
166
166
|
|
|
167
|
+
const usePatchElement = () => {
|
|
168
|
+
const [elements, setElements] = react.useState([]);
|
|
169
|
+
const patchElement = react.useCallback(element => {
|
|
170
|
+
setElements(originElements => [...originElements, element]);
|
|
171
|
+
return () => {
|
|
172
|
+
setElements(originElements => originElements.filter(ele => ele !== element));
|
|
173
|
+
};
|
|
174
|
+
}, []);
|
|
175
|
+
return [elements, patchElement];
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
const ModalLayerContext = /*#__PURE__*/react.createContext(null);
|
|
179
|
+
const useModalLayer = () => react.useContext(ModalLayerContext);
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* 挂在 Modal 内容树内(antd ZIndexContext 之下),
|
|
183
|
+
* 使就近 useModal 打开的内层成为本层 React 子树,从而自动叠层。
|
|
184
|
+
*/
|
|
185
|
+
const ModalLayerProvider = ({
|
|
186
|
+
children
|
|
187
|
+
}) => {
|
|
188
|
+
const [elements, patchElement] = usePatchElement();
|
|
189
|
+
const value = react.useMemo(() => ({
|
|
190
|
+
patchElement
|
|
191
|
+
}), [patchElement]);
|
|
192
|
+
return /*#__PURE__*/jsxRuntime.jsxs(ModalLayerContext.Provider, {
|
|
193
|
+
value: value,
|
|
194
|
+
children: [children, elements]
|
|
195
|
+
});
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
/** 根级命令式打开(页面首次弹层);不包 ModalLayerContext。 */
|
|
199
|
+
const rootModalPatchRef = {
|
|
200
|
+
current: null
|
|
201
|
+
};
|
|
202
|
+
const ModalContextHolder = () => {
|
|
203
|
+
const [elements, patchElement] = usePatchElement();
|
|
204
|
+
rootModalPatchRef.current = patchElement;
|
|
205
|
+
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
206
|
+
children: elements
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
|
|
167
210
|
const ModalLocaleRoot = withLocale(({
|
|
168
211
|
children
|
|
169
212
|
}) => children);
|
|
@@ -209,6 +252,7 @@ const resolveModalGetContainer = ({
|
|
|
209
252
|
};
|
|
210
253
|
};
|
|
211
254
|
const sizeStyleVars$1 = (size, hasFooter) => {
|
|
255
|
+
// body 最低高度随 size:small 基准 300,default/large 基准 500(再扣 title/footer chrome)
|
|
212
256
|
const minBase = size === 'small' ? 300 : 500;
|
|
213
257
|
const chrome = 48 + (hasFooter ? 58 : 0);
|
|
214
258
|
const minHeight = `${Math.max(0, minBase - chrome)}px`;
|
|
@@ -254,11 +298,15 @@ const ModalOuter = ({
|
|
|
254
298
|
});
|
|
255
299
|
const bodyClassName = classnames__default["default"](modalStyle['modal-body'], 'modal-body');
|
|
256
300
|
// 移动端全屏:body 用 flex 吃满 title/footer 之间剩余高度,footer 才能贴底;
|
|
257
|
-
//
|
|
301
|
+
// 桌面默认:height:auto + max-height,短内容不撑满;bodyScroll=false 仍写死满高供 Tabs/分栏
|
|
258
302
|
const bodyStyle = isMobile ? {
|
|
259
303
|
flex: '1 1 auto',
|
|
260
304
|
minHeight: 0,
|
|
261
305
|
height: 'auto'
|
|
306
|
+
} : bodyScroll !== false ? {
|
|
307
|
+
height: 'auto',
|
|
308
|
+
maxHeight: 'var(--kne-modal-body-max-height)',
|
|
309
|
+
minHeight: 'var(--kne-modal-body-min-height)'
|
|
262
310
|
} : {
|
|
263
311
|
height: 'var(--kne-modal-body-height)'
|
|
264
312
|
};
|
|
@@ -288,10 +336,7 @@ const ModalOuter = ({
|
|
|
288
336
|
children: bodyInner
|
|
289
337
|
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
290
338
|
className: classnames__default["default"](bodyClassName, modalStyle['body-scroll-off']),
|
|
291
|
-
style:
|
|
292
|
-
flex: '1 1 auto',
|
|
293
|
-
minHeight: 0
|
|
294
|
-
} : undefined,
|
|
339
|
+
style: bodyStyle,
|
|
295
340
|
children: bodyInner
|
|
296
341
|
}), footer === null && footerButtons === undefined ? null : /*#__PURE__*/jsxRuntime.jsx(Footer, {
|
|
297
342
|
footer: footer,
|
|
@@ -419,8 +464,11 @@ const computedCommonProps = ({
|
|
|
419
464
|
} : null)
|
|
420
465
|
}
|
|
421
466
|
},
|
|
467
|
+
// LayerProvider 须在 antd Modal 内容树内(ZIndexContext 下),内层命令式才能自动 +100
|
|
422
468
|
children: /*#__PURE__*/jsxRuntime.jsx(ModalLocaleRoot, {
|
|
423
|
-
children:
|
|
469
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ModalLayerProvider, {
|
|
470
|
+
children: runChildren({})
|
|
471
|
+
})
|
|
424
472
|
})
|
|
425
473
|
};
|
|
426
474
|
};
|
|
@@ -472,84 +520,123 @@ const Modal = withLocale(({
|
|
|
472
520
|
})]
|
|
473
521
|
});
|
|
474
522
|
});
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
523
|
+
|
|
524
|
+
let hookModalUuid = 0;
|
|
525
|
+
const HookModal = /*#__PURE__*/react.forwardRef(({
|
|
526
|
+
config,
|
|
527
|
+
afterClose: hookAfterClose
|
|
528
|
+
}, ref) => {
|
|
529
|
+
const [open, setOpen] = react.useState(true);
|
|
530
|
+
const [innerConfig, setInnerConfig] = react.useState(config);
|
|
531
|
+
const close = () => {
|
|
532
|
+
setOpen(false);
|
|
533
|
+
};
|
|
534
|
+
react.useImperativeHandle(ref, () => ({
|
|
535
|
+
destroy: close,
|
|
536
|
+
update: newConfig => {
|
|
537
|
+
setInnerConfig(origin => Object.assign({}, origin, typeof newConfig === 'function' ? newConfig(origin) : newConfig));
|
|
538
|
+
}
|
|
539
|
+
}));
|
|
479
540
|
const {
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
541
|
+
afterClose: userAfterClose,
|
|
542
|
+
onClose: userOnClose,
|
|
543
|
+
onConfirm: userOnConfirm,
|
|
544
|
+
onCancel: userOnCancel,
|
|
545
|
+
...restConfig
|
|
546
|
+
} = innerConfig;
|
|
547
|
+
return /*#__PURE__*/jsxRuntime.jsx(Modal, {
|
|
548
|
+
...restConfig,
|
|
549
|
+
open: open,
|
|
550
|
+
onClose: () => {
|
|
551
|
+
userOnClose?.();
|
|
552
|
+
close();
|
|
553
|
+
},
|
|
554
|
+
onCancel: function () {
|
|
555
|
+
userOnCancel?.(...[].slice.call(arguments));
|
|
556
|
+
close();
|
|
557
|
+
},
|
|
558
|
+
onConfirm: function () {
|
|
559
|
+
try {
|
|
560
|
+
const _arguments = arguments;
|
|
561
|
+
return Promise.resolve(Promise.resolve(userOnConfirm?.(...[].slice.call(_arguments)))).then(function (res) {
|
|
562
|
+
if (res !== false) {
|
|
563
|
+
close();
|
|
564
|
+
}
|
|
565
|
+
return res;
|
|
566
|
+
});
|
|
567
|
+
} catch (e) {
|
|
568
|
+
return Promise.reject(e);
|
|
569
|
+
}
|
|
570
|
+
},
|
|
571
|
+
afterClose: function () {
|
|
572
|
+
var args = [].slice.call(arguments);
|
|
573
|
+
hookAfterClose?.(...args);
|
|
574
|
+
userAfterClose?.(...args);
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
});
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* 命令式内容弹窗:就近 patch 到 ModalLayerProvider(多层)或根 ModalContextHolder。
|
|
581
|
+
* 不走 App.modal.info / ConfirmDialog,层级交给 antd ZIndexContext。
|
|
582
|
+
*/
|
|
583
|
+
const useModal = () => {
|
|
584
|
+
const layer = react.useContext(ModalLayerContext);
|
|
483
585
|
const getScrollElement = responsiveUtils.useScrollElement();
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
586
|
+
const [actionQueue, setActionQueue] = react.useState([]);
|
|
587
|
+
react.useEffect(() => {
|
|
588
|
+
if (actionQueue.length) {
|
|
589
|
+
const cloneQueue = [...actionQueue];
|
|
590
|
+
cloneQueue.forEach(action => action());
|
|
591
|
+
setActionQueue([]);
|
|
592
|
+
}
|
|
593
|
+
}, [actionQueue]);
|
|
594
|
+
return react.useCallback(props => {
|
|
595
|
+
hookModalUuid += 1;
|
|
596
|
+
const modalRef = /*#__PURE__*/react.createRef();
|
|
491
597
|
const api = {};
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
onCancel: function () {
|
|
517
|
-
userOnCancel?.(...[].slice.call(arguments));
|
|
518
|
-
closeModal();
|
|
519
|
-
},
|
|
520
|
-
onConfirm: function () {
|
|
521
|
-
try {
|
|
522
|
-
const _arguments = arguments;
|
|
523
|
-
return Promise.resolve(Promise.resolve(userOnConfirm?.(...[].slice.call(_arguments)))).then(function (res) {
|
|
524
|
-
if (res !== false) {
|
|
525
|
-
closeModal();
|
|
526
|
-
}
|
|
527
|
-
return res;
|
|
528
|
-
});
|
|
529
|
-
} catch (e) {
|
|
530
|
-
return Promise.reject(e);
|
|
598
|
+
let closeFunc;
|
|
599
|
+
let unlock = () => {};
|
|
600
|
+
const resolvePatch = () => layer?.patchElement || rootModalPatchRef.current;
|
|
601
|
+
const runOpen = () => {
|
|
602
|
+
const patch = resolvePatch();
|
|
603
|
+
if (typeof patch !== 'function') {
|
|
604
|
+
throw new Error('useModal requires <ModalContextHolder /> mounted inside <App> before calling useModal()');
|
|
605
|
+
}
|
|
606
|
+
unlock = lockParentScroll(getScrollElement);
|
|
607
|
+
const {
|
|
608
|
+
afterClose: userAfterClose,
|
|
609
|
+
...restProps
|
|
610
|
+
} = props;
|
|
611
|
+
const modalEl = /*#__PURE__*/jsxRuntime.jsx(HookModal, {
|
|
612
|
+
ref: modalRef,
|
|
613
|
+
config: {
|
|
614
|
+
...restProps,
|
|
615
|
+
afterClose: function () {
|
|
616
|
+
unlock();
|
|
617
|
+
userAfterClose?.(...[].slice.call(arguments));
|
|
618
|
+
}
|
|
619
|
+
},
|
|
620
|
+
afterClose: () => {
|
|
621
|
+
closeFunc && closeFunc();
|
|
531
622
|
}
|
|
532
|
-
},
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
623
|
+
}, `react-modal-${hookModalUuid}`);
|
|
624
|
+
closeFunc = patch(modalEl);
|
|
625
|
+
};
|
|
626
|
+
if (resolvePatch()) {
|
|
627
|
+
runOpen();
|
|
628
|
+
} else {
|
|
629
|
+
setActionQueue(prev => [...prev, runOpen]);
|
|
630
|
+
}
|
|
631
|
+
api.close = () => {
|
|
632
|
+
if (modalRef.current) {
|
|
633
|
+
modalRef.current.destroy();
|
|
634
|
+
} else {
|
|
635
|
+
setActionQueue(prev => [...prev, () => modalRef.current?.destroy()]);
|
|
536
636
|
}
|
|
537
|
-
}
|
|
538
|
-
const {
|
|
539
|
-
destroy
|
|
540
|
-
} = modal.info({
|
|
541
|
-
...otherProps,
|
|
542
|
-
afterClose,
|
|
543
|
-
content: children,
|
|
544
|
-
getContainer: resolveModalGetContainer({
|
|
545
|
-
customGetContainer: customGetContainer ?? getContainer,
|
|
546
|
-
getPopupContainer,
|
|
547
|
-
getHostNode: () => anchor
|
|
548
|
-
})
|
|
549
|
-
});
|
|
550
|
-
api.close = destroy;
|
|
637
|
+
};
|
|
551
638
|
return api;
|
|
552
|
-
};
|
|
639
|
+
}, [getScrollElement, layer]);
|
|
553
640
|
};
|
|
554
641
|
|
|
555
642
|
var style = {"kne-responsive-boundary":"kne-react-modal_qwqLr","kne-responsive-scroll":"kne-react-modal_vmry7","drawer":"kne-react-modal_cDsbq","small":"kne-react-modal_3QgK-","is-mobile":"kne-react-modal_FFf73","large":"kne-react-modal_8lell","drawer-body-inner":"kne-react-modal_xgX4D","drawer-antd-header":"kne-react-modal_3EUxr","drawer-antd-footer":"kne-react-modal_2G81L","drawer-antd-body":"kne-react-modal_eKVMu","drawer-outer":"kne-react-modal_P3Cw8","no-title":"kne-react-modal_upRot","no-footer":"kne-react-modal_j4sGu","no-padding":"kne-react-modal_pg37M","drawer-title":"kne-react-modal_-hw5V","drawer-body":"kne-react-modal_nJj7Y","body-scroll-off":"kne-react-modal_2Wh1H","modal-footer-extra":"kne-react-modal_M4hy9","drawer-close":"kne-react-modal_dVh38","drawer-host":"kne-react-modal_Nsxi9","drawer-host-render":"kne-react-modal_iGDWP","drawer-panel-host":"kne-react-modal_A0h-2","drawer-panel-body":"kne-react-modal_E4tcc","drawer-form-host":"kne-react-modal_vKkQW","drawer-wrapper-mobile":"kne-react-modal_vsxOs","drawer-wrapper-mobile-vertical":"kne-react-modal_HG8Vz","drawer-root-mobile":"kne-react-modal_G-qXe"};
|
|
@@ -892,17 +979,6 @@ const Drawer = withLocale(({
|
|
|
892
979
|
});
|
|
893
980
|
});
|
|
894
981
|
|
|
895
|
-
const usePatchElement = () => {
|
|
896
|
-
const [elements, setElements] = react.useState([]);
|
|
897
|
-
const patchElement = react.useCallback(element => {
|
|
898
|
-
setElements(originElements => [...originElements, element]);
|
|
899
|
-
return () => {
|
|
900
|
-
setElements(originElements => originElements.filter(ele => ele !== element));
|
|
901
|
-
};
|
|
902
|
-
}, []);
|
|
903
|
-
return [elements, patchElement];
|
|
904
|
-
};
|
|
905
|
-
|
|
906
982
|
const VIEWPORT_EXAMPLE_SELECTORS$1 = ['.example-driver-device-scroll'];
|
|
907
983
|
|
|
908
984
|
// 与 Modal / Drawer 一致:真机 viewport;示例框 / container 仍 boundary
|
|
@@ -1215,43 +1291,48 @@ const mapConfirmProps = (props, {
|
|
|
1215
1291
|
icon,
|
|
1216
1292
|
isMobile
|
|
1217
1293
|
});
|
|
1294
|
+
|
|
1295
|
+
// Confirm 走 antd ConfirmDialog:未传 zIndex 时用 static 顶层,适合真确认框盖住内容弹窗
|
|
1296
|
+
const config = {
|
|
1297
|
+
...otherProps,
|
|
1298
|
+
okText: confirmText ?? otherProps.okText,
|
|
1299
|
+
cancelText: cancelText ?? otherProps.cancelText,
|
|
1300
|
+
onOk: onConfirm ?? otherProps.onOk,
|
|
1301
|
+
onCancel: onCancel ?? otherProps.onCancel,
|
|
1302
|
+
getContainer: resolveModalGetContainer({
|
|
1303
|
+
customGetContainer,
|
|
1304
|
+
getPopupContainer,
|
|
1305
|
+
getHostNode: () => anchor
|
|
1306
|
+
}),
|
|
1307
|
+
centered: true,
|
|
1308
|
+
afterClose: function () {
|
|
1309
|
+
var args = [].slice.call(arguments);
|
|
1310
|
+
unlock();
|
|
1311
|
+
userAfterClose && userAfterClose(...args);
|
|
1312
|
+
afterClose && afterClose(...args);
|
|
1313
|
+
},
|
|
1314
|
+
icon: null,
|
|
1315
|
+
classNames: {
|
|
1316
|
+
mask: classnames__default["default"](isMobile && modalStyle['modal-mask-fullscreen'], isMobile && fixedModeClass, otherProps.classNames?.mask)
|
|
1317
|
+
},
|
|
1318
|
+
wrapClassName: classnames__default["default"](modalStyle['modal-wrap'], modalStyle['modal-wrap-centered'], confirmStyle['confirm-modal-wrap'], wrapClassName, {
|
|
1319
|
+
[confirmStyle['is-danger']]: danger,
|
|
1320
|
+
[confirmStyle['is-mobile']]: isMobile,
|
|
1321
|
+
[fixedModeClass]: isMobile
|
|
1322
|
+
}),
|
|
1323
|
+
title: confirmTitle ? /*#__PURE__*/jsxRuntime.jsx(ConfirmLocaleRoot, {
|
|
1324
|
+
children: confirmTitle
|
|
1325
|
+
}) : null,
|
|
1326
|
+
content: /*#__PURE__*/jsxRuntime.jsx(ConfirmLocaleRoot, {
|
|
1327
|
+
children: content
|
|
1328
|
+
})
|
|
1329
|
+
};
|
|
1330
|
+
if (zIndex !== undefined) {
|
|
1331
|
+
config.zIndex = zIndex;
|
|
1332
|
+
}
|
|
1218
1333
|
return {
|
|
1219
1334
|
modalMethod: type,
|
|
1220
|
-
config
|
|
1221
|
-
...otherProps,
|
|
1222
|
-
zIndex: zIndex ?? 1100,
|
|
1223
|
-
okText: confirmText ?? otherProps.okText,
|
|
1224
|
-
cancelText: cancelText ?? otherProps.cancelText,
|
|
1225
|
-
onOk: onConfirm ?? otherProps.onOk,
|
|
1226
|
-
onCancel: onCancel ?? otherProps.onCancel,
|
|
1227
|
-
getContainer: resolveModalGetContainer({
|
|
1228
|
-
customGetContainer,
|
|
1229
|
-
getPopupContainer,
|
|
1230
|
-
getHostNode: () => anchor
|
|
1231
|
-
}),
|
|
1232
|
-
centered: true,
|
|
1233
|
-
afterClose: function () {
|
|
1234
|
-
var args = [].slice.call(arguments);
|
|
1235
|
-
unlock();
|
|
1236
|
-
userAfterClose && userAfterClose(...args);
|
|
1237
|
-
afterClose && afterClose(...args);
|
|
1238
|
-
},
|
|
1239
|
-
icon: null,
|
|
1240
|
-
classNames: {
|
|
1241
|
-
mask: classnames__default["default"](isMobile && modalStyle['modal-mask-fullscreen'], isMobile && fixedModeClass, otherProps.classNames?.mask)
|
|
1242
|
-
},
|
|
1243
|
-
wrapClassName: classnames__default["default"](modalStyle['modal-wrap'], modalStyle['modal-wrap-centered'], confirmStyle['confirm-modal-wrap'], wrapClassName, {
|
|
1244
|
-
[confirmStyle['is-danger']]: danger,
|
|
1245
|
-
[confirmStyle['is-mobile']]: isMobile,
|
|
1246
|
-
[fixedModeClass]: isMobile
|
|
1247
|
-
}),
|
|
1248
|
-
title: confirmTitle ? /*#__PURE__*/jsxRuntime.jsx(ConfirmLocaleRoot, {
|
|
1249
|
-
children: confirmTitle
|
|
1250
|
-
}) : null,
|
|
1251
|
-
content: /*#__PURE__*/jsxRuntime.jsx(ConfirmLocaleRoot, {
|
|
1252
|
-
children: content
|
|
1253
|
-
})
|
|
1254
|
-
}
|
|
1335
|
+
config
|
|
1255
1336
|
};
|
|
1256
1337
|
};
|
|
1257
1338
|
const useConfirmModal = () => {
|
|
@@ -1375,6 +1456,8 @@ const modalClassNames = {
|
|
|
1375
1456
|
exports.ColumnsLayout = ColumnsLayout;
|
|
1376
1457
|
exports.Drawer = Drawer;
|
|
1377
1458
|
exports.DrawerContextHolder = DrawerContextHolder;
|
|
1459
|
+
exports.ModalContextHolder = ModalContextHolder;
|
|
1460
|
+
exports.ModalLayerContext = ModalLayerContext;
|
|
1378
1461
|
exports.ScrollRegion = ScrollRegion;
|
|
1379
1462
|
exports.TabsLayout = TabsLayout;
|
|
1380
1463
|
exports.createDrawerRender = createDrawerRender;
|
|
@@ -1384,4 +1467,5 @@ exports.modalClassNames = modalClassNames;
|
|
|
1384
1467
|
exports.useConfirmModal = useConfirmModal;
|
|
1385
1468
|
exports.useDrawer = useDrawer;
|
|
1386
1469
|
exports.useModal = useModal;
|
|
1470
|
+
exports.useModalLayer = useModalLayer;
|
|
1387
1471
|
//# sourceMappingURL=index.js.map
|