@kne/react-modal 0.1.6 → 0.1.8

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 CHANGED
@@ -223,6 +223,27 @@ npm i --save @kne/react-modal
223
223
  color: rgba(0, 0, 0, 0.65);
224
224
  line-height: 1.7;
225
225
  }
226
+
227
+ .demo-modal-height-limited-panel {
228
+ min-height: 100%;
229
+ box-sizing: border-box;
230
+ padding: 12px 16px;
231
+ background: linear-gradient(180deg, #fff7e6 0%, #fff 48px);
232
+ border: 2px dashed #fa8c16;
233
+ border-radius: 6px;
234
+ }
235
+
236
+ .demo-modal-height-limited-panel-title {
237
+ margin: 0 0 8px;
238
+ font-weight: 600;
239
+ color: rgba(0, 0, 0, 0.88);
240
+ }
241
+
242
+ .demo-modal-height-limited-line {
243
+ margin: 6px 0;
244
+ font-size: 13px;
245
+ color: rgba(0, 0, 0, 0.65);
246
+ }
226
247
  }
227
248
  ```
228
249
 
@@ -1203,6 +1224,97 @@ render(
1203
1224
 
1204
1225
  ```
1205
1226
 
1227
+ - 高度受限 · 居中弹窗
1228
+ - kne-modal-height-limited 压低 body 高度;声明式 / useModal 对比居中与 confirm-paragraph 宽度
1229
+ - _ReactModal(@kne/current-lib_react-modal)[import * as _ReactModal from "@kne/react-modal"],(@kne/current-lib_react-modal/dist/index.css),antd(antd)
1230
+
1231
+ ```jsx
1232
+ const { default: Modal, useModal, DrawerContextHolder } = _ReactModal;
1233
+ const { Button, Space, Radio, Typography, App } = antd;
1234
+ const { useState } = React;
1235
+
1236
+ const { Text, Paragraph } = Typography;
1237
+
1238
+ const fillLines = Array.from({ length: 20 }, (_, i) => `填充行 ${i + 1} · 用于观察高度受限时 body 内滚动`);
1239
+
1240
+ const LimitedHeightExample = () => {
1241
+ const [open, setOpen] = useState(false);
1242
+ const [mode, setMode] = useState('declarative');
1243
+ const modal = useModal();
1244
+
1245
+ const content = (
1246
+ <div className="demo-modal-height-limited-panel">
1247
+ <p className="demo-modal-height-limited-panel-title">高度受限弹窗(kne-modal-height-limited)</p>
1248
+ <Paragraph type="secondary" style={{ marginBottom: 12 }}>
1249
+ 默认从视口垂直居中弹出;body 高度被 CSS 变量压到约 420px,长内容在 SimpleBar 内滚动。
1250
+ </Paragraph>
1251
+ {fillLines.map(text => (
1252
+ <p key={text} className="demo-modal-height-limited-line">
1253
+ {text}
1254
+ </p>
1255
+ ))}
1256
+ </div>
1257
+ );
1258
+
1259
+ const overlayProps = {
1260
+ title: '高度受限 · 居中弹窗',
1261
+ className: 'kne-modal-height-limited',
1262
+ onClose: () => setOpen(false),
1263
+ onConfirm: () => setOpen(false),
1264
+ confirmText: '知道了'
1265
+ };
1266
+
1267
+ return (
1268
+ <Space direction="vertical" style={{ width: '100%' }} size="middle">
1269
+ <Space align="center" wrap>
1270
+ <Text type="secondary">打开方式</Text>
1271
+ <Radio.Group
1272
+ value={mode}
1273
+ optionType="button"
1274
+ size="small"
1275
+ options={[
1276
+ { label: '声明式 Modal', value: 'declarative' },
1277
+ { label: 'useModal(info)', value: 'imperative' }
1278
+ ]}
1279
+ onChange={e => setMode(e.target.value)}
1280
+ />
1281
+ </Space>
1282
+ <Button
1283
+ type="primary"
1284
+ onClick={() => {
1285
+ if (mode === 'imperative') {
1286
+ modal({
1287
+ ...overlayProps,
1288
+ children: content
1289
+ });
1290
+ return;
1291
+ }
1292
+ setOpen(true);
1293
+ }}
1294
+ >
1295
+ 打开高度受限弹窗
1296
+ </Button>
1297
+ <Text type="secondary">
1298
+ useModal 走 antd modal.info,已覆盖 <code>.ant-modal-confirm-paragraph</code> 的 12px 宽度扣减。
1299
+ </Text>
1300
+ {mode === 'declarative' ? (
1301
+ <Modal {...overlayProps} open={open}>
1302
+ {content}
1303
+ </Modal>
1304
+ ) : null}
1305
+ </Space>
1306
+ );
1307
+ };
1308
+
1309
+ render(
1310
+ <App>
1311
+ <DrawerContextHolder />
1312
+ <LimitedHeightExample />
1313
+ </App>
1314
+ );
1315
+
1316
+ ```
1317
+
1206
1318
  - 批量候选人评估(Tabs + 分栏)
1207
1319
  - Modal / Drawer 切换:Tabs 分栏 / Splitter / 批次概览
1208
1320
  - _ReactModal(@kne/current-lib_react-modal)[import * as _ReactModal from "@kne/react-modal"],(@kne/current-lib_react-modal/dist/index.css),antd(antd)
package/dist/index.css CHANGED
@@ -434,6 +434,18 @@
434
434
 
435
435
  .ant-modal-root .kne-react-modal_3Sju5.ant-modal-wrap {
436
436
  overflow: hidden;
437
+ /* useModal 走 modal.info(),antd 会给内容包 .ant-modal-confirm-paragraph 并扣 12px 宽 */
438
+ }
439
+ .ant-modal-root .kne-react-modal_3Sju5.ant-modal-wrap .ant-modal-confirm-paragraph {
440
+ max-width: 100% !important;
441
+ }
442
+
443
+ /* 测试用:明显压低 body 可用高度,便于验证滚动与居中 */
444
+ .kne-react-modal_Bk7-B.kne-modal-height-limited {
445
+ --kne-modal-viewport-gutter: 360px;
446
+ --kne-modal-body-max-height: 420px;
447
+ --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)));
448
+ --kne-modal-content-height: calc(var(--kne-modal-body-height) - var(--kne-modal-body-padding-vertical));
437
449
  }
438
450
 
439
451
  .kne-react-modal_-qCIk.ant-modal-wrap {
@@ -1 +1 @@
1
- {"version":3,"sources":["layouts.module.scss","style.module.scss","drawer.module.scss","confirmModal.module.scss"],"names":[],"mappings":"AAAA;EACE,uCAAuC;EACvC,2CAA2C;EAC3C,YAAY;EACZ,aAAa;EACb,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;EACE,UAAU;EACV,iDAAiD;EACjD,SAAS;EACT,sBAAsB;EACtB,mBAAmB;AACrB;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,mBAAmB;AACrB;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,gBAAgB;EAChB,oBAAoB;EACpB,mBAAmB;AACrB;AACA;EACE,UAAU;EACV,sDAAsD;AACxD;AACA;EACE,uBAAuB;EACvB,oBAAoB;EACpB,aAAa;EACb,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,aAAa;EACb,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,aAAa;AACf;AACA;EACE,aAAa;AACf;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;EAChB,aAAa;EACb,WAAW;EACX,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,YAAY;EACZ,gBAAgB;EAChB,aAAa;EACb,sBAAsB;AACxB;AACA;;;EAGE,YAAY;EACZ,aAAa;AACf;AACA;EACE,YAAY;EACZ,aAAa;AACf;;AAEA;EACE,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,MAAM;EACN,UAAU;EACV,uBAAuB;EACvB,gBAAgB;EAChB,gCAAgC;AAClC;;AAEA;EACE,uBAAuB;EACvB,gBAAgB;EAChB,aAAa;EACb,gBAAgB;EAChB,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,gBAAgB;AAClB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,YAAY;EACZ,eAAe;EACf,kBAAkB;AACpB;AACA;;EAEE,6BAA6B;AAC/B;AACA;EACE,4BAA4B;EAC5B,WAAW;EACX,eAAe;EACf,sBAAsB;AACxB;AClLA,gBAAgB;AAChB;EACE,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,8DAA8D;EAC9D,4DAA4D;EAC5D,8BAA8B;EAC9B,+BAA+B;EAC/B,kCAAkC;EAClC,uCAAuC;EACvC,yCAAyC;EACzC,kCAAkC;EAClC,mKAAmK;EACnK,yDAAyD;EACzD,uGAAuG;EACvG,+GAA+G;EAC/G,gFAAgF;AAClF;AACA;EACE,kCAAkC;AACpC;AACA;EACE,iBAAiB;AACnB;AACA;EACE,gCAAgC;EAChC,uCAAuC;EACvC,yCAAyC;EACzC,0BAA0B;EAC1B,sBAAsB;EACtB,uBAAuB;EACvB,2BAA2B;EAC3B,oBAAoB;EACpB,iBAAiB;EACjB,4BAA4B;AAC9B;AACA;EACE,YAAY;AACd;AACA;EACE,UAAU;EACV,kBAAkB;EAClB,uCAAuC;EACvC,gBAAgB;AAClB;AACA;EACE,2BAA2B;EAC3B,uBAAuB;EACvB,2BAA2B;EAC3B,2BAA2B;EAC3B,sBAAsB;EACtB,qBAAqB;AACvB;;AAEA;;EAEE,aAAa;AACf;;AAEA;EACE,UAAU;AACZ;AACA;EACE,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,sBAAsB;AACxB;AACA;EACE,6BAA6B;EAC7B,wCAAwC;EACxC,oCAAoC;AACtC;AACA;EACE,8BAA8B;AAChC;AACA;EACE,sCAAsC;EACtC,wCAAwC;AAC1C;AACA;EACE,WAAW;EACX,wCAAwC;EACxC,4CAA4C;EAC5C,4CAA4C;EAC5C,gBAAgB;AAClB;AACA;EACE,UAAU;AACZ;AACA;EACE,cAAc;EACd,aAAa;AACf;AACA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;EACV,qCAAqC;EACrC,aAAa;EACb,mBAAmB;EACnB,6CAA6C;EAC7C,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,cAAc;EACd,aAAa;EACb,4CAA4C;EAC5C,4CAA4C;EAC5C,oCAAoC;EACpC,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,gCAAgC;EAChC,mCAAmC;AACrC;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,sBAAsB;AACxB;;AAEA;EACE,4GAA4G;EAC5G,2CAA2C;EAC3C,WAAW;EACX,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;EACV,aAAa;EACb,mBAAmB;EACnB,SAAS;EACT,uBAAuB;EACvB,sBAAsB;AACxB;AACA;EACE,uBAAuB;EACvB,qDAAqD;AACvD;AACA;EACE,4DAA4D;AAC9D;AACA;EACE,cAAc;EACd,WAAW;EACX,aAAa;EACb,uBAAuB;EACvB,wDAAwD;AAC1D;AACA;EACE,WAAW;EACX,eAAe;EACf,kCAAkC;AACpC;AACA;EACE,aAAa;AACf;;AAEA;EACE,cAAc;EACd,YAAY;AACd;;AAEA;EACE,UAAU;EACV,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,gGAAgG;EAChG,sBAAsB;EACtB,aAAa;EACb,UAAU;EACV,kDAAkD;EAClD,cAAc;AAChB;AACA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,gBAAgB;EAChB,oBAAoB;AACtB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,cAAc;EACd,aAAa;EACb,WAAW;AACb;AACA;EACE,cAAc;EACd,aAAa;EACb,WAAW;AACb;AACA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,uBAAuB;EACvB,6CAA6C;EAC7C,6CAA6C;EAC7C,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,oBAAoB;EACpB,cAAc;EACd,4BAA4B;EAC5B,cAAc;EACd,uBAAuB;AACzB;AACA;EACE,6BAA6B;EAC7B,mBAAmB;EACnB,sBAAsB;EACtB,uBAAuB;EACvB,2BAA2B;EAC3B,2BAA2B;AAC7B;AACA;EACE,0BAA0B;AAC5B;;AAEA;EACE,cAAc;EACd,mBAAmB;EACnB,kDAAkD;EAClD,oDAAoD;EACpD,wDAAwD;EACxD,qBAAqB;EACrB,sBAAsB;EACtB,2BAA2B;EAC3B,yBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;AACnB;AACA;EACE,wBAAwB;EACxB,wBAAwB;AAC1B;AACA;EACE,iBAAiB;EACjB,sBAAsB;EACtB,0BAA0B;EAC1B,uBAAuB;EACvB,2BAA2B;EAC3B,4BAA4B;EAC5B,oBAAoB;EACpB,uBAAuB;EACvB,kBAAkB;AACpB;AACA;EACE,6BAA6B;EAC7B,sBAAsB;EACtB,uBAAuB;EACvB,2BAA2B;EAC3B,2BAA2B;AAC7B;AACA;EACE,0BAA0B;AAC5B;;AAEA;EACE,6BAA6B;EAC7B,mBAAmB;AACrB;AACA;EACE,0BAA0B;AAC5B;;AAEA;EACE;IACE,uCAAuC;IACvC,yCAAyC;EAC3C;EACA;IACE,sBAAsB;EACxB;EACA;IACE,uBAAuB;IACvB,qDAAqD;EACvD;AACF;AC9VA,gBAAgB;AAChB;EACE,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,UAAU;EACV,YAAY;AACd;AACA;EACE,+DAA+D;EAC/D,6DAA6D;EAC7D,+BAA+B;EAC/B,8FAA8F;EAC9F,gCAAgC;EAChC,iCAAiC;EACjC,wCAAwC;EACxC,0CAA0C;EAC1C,mCAAmC;EACnC,wKAAwK;EACxK,2DAA2D;EAC3D,0GAA0G;EAC1G,kHAAkH;EAClH,kFAAkF;AACpF;AACA;EACE,mCAAmC;AACrC;AACA;EACE,iCAAiC;EACjC,wCAAwC;EACxC,0CAA0C;EAC1C,WAAW;EACX,eAAe;EACf,YAAY;EACZ,sBAAsB;AACxB;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;EACZ,MAAM;EACN,SAAS;AACX;AACA;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;AACxB;;AAEA;;EAEE,aAAa;AACf;;AAEA;EACE,UAAU;EACV,cAAc;EACd,aAAa;EACb,aAAa;EACb,sBAAsB;EACtB,gBAAgB;AAClB;AACA;EACE,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,sBAAsB;EACtB,cAAc;EACd,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,4DAA4D;EAC5D,oEAAoE;EACpE,0EAA0E;AAC5E;AACA;EACE,UAAU;AACZ;AACA;EACE,8BAA8B;EAC9B,qCAAqC;AACvC;AACA;EACE,+BAA+B;AACjC;AACA;EACE,uCAAuC;EACvC,yCAAyC;AAC3C;AACA;EACE,WAAW;EACX,yCAAyC;EACzC,6CAA6C;EAC7C,6CAA6C;EAC7C,gBAAgB;AAClB;AACA;EACE,UAAU;AACZ;AACA;EACE,cAAc;EACd,aAAa;AACf;AACA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;EACV,sCAAsC;EACtC,aAAa;EACb,mBAAmB;EACnB,6CAA6C;EAC7C,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,gBAAgB;EAChB,sBAAsB;EACtB,wDAAwD;AAC1D;;AAEA;EACE,cAAc;EACd,aAAa;EACb,6CAA6C;EAC7C,6CAA6C;EAC7C,qCAAqC;EACrC,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,iCAAiC;EACjC,oCAAoC;EACpC,gCAAgC;EAChC,mCAAmC;AACrC;AACA;EACE,cAAc;EACd,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,sBAAsB;AACxB;;AAEA;EACE,8GAA8G;EAC9G,4CAA4C;EAC5C,WAAW;EACX,eAAe;EACf,sBAAsB;AACxB;AACA;EACE,UAAU;AACZ;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,cAAc;EACd,WAAW;EACX,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,WAAW;EACX,eAAe;EACf,kCAAkC;AACpC;AACA;EACE,aAAa;AACf;;AAEA;EACE,kBAAkB;EAClB,kGAAkG;EAClG,sBAAsB;EACtB,aAAa;EACb,UAAU;EACV,kDAAkD;EAClD,cAAc;AAChB;AACA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,gBAAgB;EAChB,oBAAoB;AACtB;;AAEA;;EAEE,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,aAAa;EACb,WAAW;AACb;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,cAAc;EACd,aAAa;EACb,YAAY;AACd;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,cAAc;EACd,YAAY;AACd;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,YAAY;EACZ,aAAa;EACb,cAAc;EACd,YAAY;AACd;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,cAAc;EACd,aAAa;EACb,WAAW;AACb;AACA;EACE,cAAc;EACd,aAAa;EACb,WAAW;AACb;AACA;;;EAGE,WAAW;EACX,YAAY;AACd;;AAEA;EACE,kDAAkD;EAClD,eAAe;AACjB;;AAEA;EACE,oDAAoD;EACpD,gBAAgB;AAClB;;AAEA;EACE,WAAW;EACX,eAAe;EACf,YAAY;EACZ,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,6BAA6B;EAC7B,mBAAmB;EACnB,sBAAsB;EACtB,uBAAuB;AACzB;AACA;EACE,0BAA0B;AAC5B;;AAEA;EACE,6BAA6B;EAC7B,mBAAmB;EACnB,sBAAsB;EACtB,uBAAuB;AACzB;;AAEA;EACE,0BAA0B;EAC1B,mBAAmB;AACrB;;AAEA;EACE;IACE,yCAAyC;IACzC,gCAAgC;EAClC;EACA;IACE,wCAAwC;IACxC,0CAA0C;EAC5C;EACA;IACE,sBAAsB;EACxB;EACA;IACE,uBAAuB;EACzB;AACF;AC1VA;EACE,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,2BAA2B;EAC3B,6BAA6B;EAC7B,iCAAiC;EACjC,iCAAiC;AACnC;;AAEA;EACE,0BAA0B;AAC5B;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,yBAAyB;EACzB,qBAAqB;EACrB,OAAO;EACP,QAAQ;AACV;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,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: 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}\n.modal-outer.is-mobile .modal-footer {\n flex: none;\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}\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) :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 inset: 0 !important;\n width: 100% !important;\n 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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EE,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}\n.modal-outer.is-mobile .modal-footer {\n flex: none;\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) :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 inset: 0 !important;\n width: 100% !important;\n 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
@@ -488,22 +488,48 @@ const useModal = () => {
488
488
  const {
489
489
  afterClose: userAfterClose,
490
490
  getContainer: customGetContainer,
491
+ onClose: userOnClose,
492
+ onConfirm: userOnConfirm,
493
+ onCancel: userOnCancel,
491
494
  ...restProps
492
495
  } = props;
496
+ const closeModal = () => {
497
+ api.close?.();
498
+ };
493
499
  const {
494
500
  children,
495
501
  getContainer,
496
502
  afterClose,
497
503
  ...otherProps
498
504
  } = computedCommonProps({
499
- onClose: () => api.close(),
505
+ ...restProps,
500
506
  isMobile,
501
507
  fixedModeClass,
508
+ onClose: () => {
509
+ userOnClose?.();
510
+ closeModal();
511
+ },
512
+ onCancel: function () {
513
+ userOnCancel?.(...[].slice.call(arguments));
514
+ closeModal();
515
+ },
516
+ onConfirm: function () {
517
+ try {
518
+ const _arguments = arguments;
519
+ return Promise.resolve(Promise.resolve(userOnConfirm?.(...[].slice.call(_arguments)))).then(function (res) {
520
+ if (res !== false) {
521
+ closeModal();
522
+ }
523
+ return res;
524
+ });
525
+ } catch (e) {
526
+ return Promise.reject(e);
527
+ }
528
+ },
502
529
  afterClose: function () {
503
530
  unlock();
504
- userAfterClose && userAfterClose(...[].slice.call(arguments));
505
- },
506
- ...restProps
531
+ userAfterClose?.(...[].slice.call(arguments));
532
+ }
507
533
  });
508
534
  const {
509
535
  destroy
@@ -1251,10 +1277,9 @@ const mapConfirmProps = (props, {
1251
1277
  classNames: {
1252
1278
  mask: classnames__default["default"](isMobile && modalStyle['modal-mask-fullscreen'], isMobile && fixedModeClass, otherProps.classNames?.mask)
1253
1279
  },
1254
- wrapClassName: classnames__default["default"](modalStyle['modal-wrap'], confirmStyle['confirm-modal-wrap'], wrapClassName, {
1280
+ wrapClassName: classnames__default["default"](modalStyle['modal-wrap'], modalStyle['modal-wrap-centered'], confirmStyle['confirm-modal-wrap'], wrapClassName, {
1255
1281
  [confirmStyle['is-danger']]: danger,
1256
1282
  [confirmStyle['is-mobile']]: isMobile,
1257
- [modalStyle['modal-wrap-centered']]: isMobile,
1258
1283
  [fixedModeClass]: isMobile
1259
1284
  }),
1260
1285
  title: confirmTitle ? /*#__PURE__*/jsxRuntime.jsx(ConfirmLocaleRoot, {