@deppon/deppon-template 2.5.3 → 2.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +4 -0
  2. package/es/index.d.ts +2 -0
  3. package/es/index.js +8 -0
  4. package/es/pro-dialog/ProDialog.vue.css +39 -2
  5. package/es/pro-field/ProField.vue.css +39 -2
  6. package/es/pro-field/components/DatePicker/FieldDatePicker.vue.css +39 -2
  7. package/es/pro-field/components/Select/FieldSelect.vue.css +39 -2
  8. package/es/pro-form/ProForm.vue.css +39 -2
  9. package/es/pro-iframe/ProIframe.vue.css +78 -0
  10. package/es/pro-iframe/ProIframe.vue.js +7 -0
  11. package/es/pro-iframe/ProIframe.vue_vue_type_script_setup_true_lang.vue.js +271 -0
  12. package/es/pro-iframe/ProIframe.vue_vue_type_style_index_0_id_7119d75d_scoped_true_lang.vue.js +1 -0
  13. package/es/pro-iframe/ProIframeRouteView.vue.js +5 -0
  14. package/es/pro-iframe/ProIframeRouteView.vue_vue_type_script_setup_true_lang.vue.js +85 -0
  15. package/es/pro-iframe/buildIframeRouteLocation.d.ts +18 -0
  16. package/es/pro-iframe/buildIframeRouteLocation.js +34 -0
  17. package/es/pro-iframe/createIframeRoute.d.ts +33 -0
  18. package/es/pro-iframe/createIframeRoute.js +48 -0
  19. package/es/pro-iframe/index.d.ts +43 -0
  20. package/es/pro-iframe/isInIframeEmbed.d.ts +4 -0
  21. package/es/pro-iframe/isInIframeEmbed.js +15 -0
  22. package/es/pro-iframe/resolveIframeSrc.d.ts +19 -0
  23. package/es/pro-iframe/resolveIframeSrc.js +177 -0
  24. package/es/pro-iframe/types.d.ts +60 -0
  25. package/es/pro-layout/ProLayout.vue.css +296 -4
  26. package/es/pro-layout/ProLayout.vue_vue_type_script_setup_true_lang.vue.js +747 -68
  27. package/es/pro-layout/ProLayoutColumnsAside.vue.css +62 -0
  28. package/es/pro-layout/ProLayoutColumnsAside.vue.js +7 -0
  29. package/es/pro-layout/ProLayoutColumnsAside.vue_vue_type_script_setup_true_lang.vue.js +86 -0
  30. package/es/pro-layout/ProLayoutColumnsAside.vue_vue_type_style_index_0_id_18647f64_scoped_true_lang.vue.js +1 -0
  31. package/es/pro-layout/ProLayoutSettingsDrawer.vue.css +140 -0
  32. package/es/pro-layout/ProLayoutSettingsDrawer.vue.js +7 -0
  33. package/es/pro-layout/ProLayoutSettingsDrawer.vue_vue_type_script_setup_true_lang.vue.js +280 -0
  34. package/es/pro-layout/ProLayoutSettingsDrawer.vue_vue_type_style_index_0_id_5b67a386_scoped_true_lang.vue.js +1 -0
  35. package/es/pro-layout/ProLayoutSettingsFab.vue.css +81 -0
  36. package/es/pro-layout/ProLayoutSettingsFab.vue.js +7 -0
  37. package/es/pro-layout/ProLayoutSettingsFab.vue_vue_type_script_setup_true_lang.vue.js +106 -0
  38. package/es/pro-layout/ProLayoutSettingsFab.vue_vue_type_style_index_0_id_3bf2eb6b_scoped_true_lang.vue.js +1 -0
  39. package/es/pro-layout/index.d.ts +51 -1
  40. package/es/pro-layout/index.js +3 -0
  41. package/es/pro-layout/pro-layout-context.d.ts +8 -0
  42. package/es/pro-layout/pro-layout-context.js +5 -0
  43. package/es/pro-layout/proLayoutGlobalColors.d.ts +16 -0
  44. package/es/pro-layout/proLayoutGlobalColors.js +171 -0
  45. package/es/pro-layout/proLayoutTheme.d.ts +29 -0
  46. package/es/pro-layout/proLayoutTheme.js +232 -0
  47. package/es/pro-layout/types.d.ts +52 -0
  48. package/es/pro-table/ProTable.vue.css +39 -2
  49. package/es/pro-table/ProTableColumn.vue.css +39 -2
  50. package/es/pro-table/ToolBar/ColumnSetting.vue.css +39 -2
  51. package/es/pro-table/ToolBar/Density.vue.css +39 -2
  52. package/es/pro-table/ToolBar/Fullscreen.vue.css +39 -2
  53. package/es/pro-table/ToolBar/index.vue.css +39 -2
  54. package/es/styles/index.css +39 -2
  55. package/package.json +6 -6
@@ -166,8 +166,8 @@
166
166
  }
167
167
  .pro-layout__top-menu-el .pro-layout__top-menu-item-badge {
168
168
  position: absolute;
169
- top: 3px;
170
- right: 4px;
169
+ top: 2px;
170
+ right: -15px;
171
171
  transform: scale(0.75);
172
172
  vertical-align: top;
173
173
  }
@@ -367,6 +367,43 @@
367
367
  opacity: 1 !important;
368
368
  visibility: visible !important;
369
369
  }
370
+ .el-menu--collapse {
371
+ width: 100% !important;
372
+ max-width: 100% !important;
373
+ min-width: 0 !important;
374
+ box-sizing: border-box !important;
375
+ }
376
+ .el-menu--collapse .el-menu-item,
377
+ .el-menu--collapse .el-sub-menu__title {
378
+ justify-content: center !important;
379
+ max-width: 100%;
380
+ box-sizing: border-box !important;
381
+ }
382
+ .el-menu--collapse .el-menu-tooltip__trigger {
383
+ padding: 0 !important;
384
+ justify-content: center !important;
385
+ }
386
+ .el-menu--collapse .el-menu-item [class^='el-icon'],
387
+ .el-menu--collapse .el-sub-menu__title [class^='el-icon'] {
388
+ margin-right: 0 !important;
389
+ margin-left: 0 !important;
390
+ }
391
+ .el-menu--collapse .el-menu-item > .pro-layout__menu-item-char,
392
+ .el-menu--collapse .el-sub-menu__title > .pro-layout__menu-item-char {
393
+ display: inline-flex !important;
394
+ width: 20px !important;
395
+ min-width: 20px !important;
396
+ height: 20px !important;
397
+ overflow: visible !important;
398
+ visibility: visible !important;
399
+ }
400
+ .el-menu--collapse .el-menu-item.is-active,
401
+ .el-menu--collapse .el-sub-menu.is-active > .el-sub-menu__title {
402
+ background: linear-gradient(135deg, var(--pro-layout-accent-soft, #eef2ff) 0%, var(--pro-layout-accent-muted, #e0e7ff) 100%) !important;
403
+ color: var(--pro-layout-accent-dark, #4338ca) !important;
404
+ font-weight: 600;
405
+ box-shadow: inset 3px 0 0 0 var(--pro-layout-accent, #6366f1) !important;
406
+ }
370
407
  .el-menu--collapse .el-sub-menu__title .pro-layout__menu-item-char {
371
408
  color: var(--el-text-color-regular, #606266) !important;
372
409
  opacity: 1 !important;
@@ -1186,6 +1223,97 @@ body .el-overlay-dialog,
1186
1223
  color: var(--pro-layout-text);
1187
1224
  font-family: 'DM Sans', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
1188
1225
  }
1226
+ .pro-layout--mode-defaults .pro-layout__body {
1227
+ height: 100vh;
1228
+ margin-top: 0 !important;
1229
+ }
1230
+ .pro-layout--mode-defaults .pro-layout__content-wrapper--with-inner-header {
1231
+ display: flex;
1232
+ flex-direction: column;
1233
+ min-width: 0;
1234
+ flex: 1;
1235
+ gap: 0;
1236
+ border: none !important;
1237
+ background: transparent !important;
1238
+ box-shadow: none !important;
1239
+ backdrop-filter: none !important;
1240
+ }
1241
+ .pro-layout--mode-defaults .pro-layout__header--in-main {
1242
+ flex-shrink: 0;
1243
+ width: 100% !important;
1244
+ margin: 0 0 12px 0 !important;
1245
+ box-sizing: border-box;
1246
+ overflow: hidden;
1247
+ border-radius: var(--pro-layout-shell-radius) !important;
1248
+ border: 1px solid var(--pro-layout-shell-border) !important;
1249
+ box-shadow: var(--pro-layout-shell-shadow);
1250
+ backdrop-filter: blur(12px);
1251
+ -webkit-backdrop-filter: blur(12px);
1252
+ }
1253
+ .pro-layout--mode-defaults .pro-layout__header--in-main.pro-layout__header--fixed {
1254
+ position: sticky;
1255
+ top: 0;
1256
+ left: auto;
1257
+ right: auto;
1258
+ width: 100% !important;
1259
+ z-index: 100;
1260
+ /* 覆盖全站 .pro-layout__header--fixed 的 border-radius: 0 */
1261
+ border-radius: var(--pro-layout-shell-radius) !important;
1262
+ border: 1px solid var(--pro-layout-shell-border) !important;
1263
+ border-left: 1px solid var(--pro-layout-shell-border) !important;
1264
+ border-right: 1px solid var(--pro-layout-shell-border) !important;
1265
+ border-top: 1px solid var(--pro-layout-shell-border) !important;
1266
+ border-bottom: 1px solid var(--pro-layout-shell-border) !important;
1267
+ }
1268
+ .pro-layout--mode-defaults .pro-layout__header--in-main .pro-layout__header-content {
1269
+ min-width: 0;
1270
+ max-width: 100%;
1271
+ overflow: hidden;
1272
+ border-radius: inherit;
1273
+ }
1274
+ .pro-layout--mode-defaults .pro-layout__header--in-main .pro-layout__top-menu {
1275
+ flex: 1;
1276
+ min-width: 0;
1277
+ overflow: hidden;
1278
+ margin: 0 4px;
1279
+ }
1280
+ .pro-layout--mode-defaults .pro-layout__header--in-main .pro-layout__top-menu-glass,
1281
+ .pro-layout--mode-defaults .pro-layout__header--in-main .pro-layout__top-menu-el {
1282
+ max-width: 100%;
1283
+ }
1284
+ .pro-layout--mode-defaults .pro-layout__header--in-main .pro-layout__header-right {
1285
+ flex-shrink: 0;
1286
+ }
1287
+ .pro-layout--mode-defaults .pro-layout__header--in-main .pro-layout__header-search {
1288
+ width: 140px;
1289
+ max-width: 28vw;
1290
+ }
1291
+ .pro-layout--mode-defaults .pro-layout__main-panel {
1292
+ display: flex;
1293
+ flex-direction: column;
1294
+ flex: 1;
1295
+ min-height: 0;
1296
+ overflow: hidden;
1297
+ border-radius: var(--pro-layout-shell-radius);
1298
+ border: 1px solid var(--pro-layout-shell-border);
1299
+ background: rgba(255, 255, 255, 0.92) !important;
1300
+ box-shadow: var(--pro-layout-shell-shadow);
1301
+ backdrop-filter: blur(8px);
1302
+ -webkit-backdrop-filter: blur(8px);
1303
+ }
1304
+ .pro-layout--mode-defaults .pro-layout__tags-view {
1305
+ flex-shrink: 0;
1306
+ min-height: 40px;
1307
+ display: flex !important;
1308
+ visibility: visible;
1309
+ z-index: 1;
1310
+ }
1311
+ .pro-layout--mode-columns .pro-layout__body {
1312
+ gap: 8px;
1313
+ }
1314
+ .pro-layout--mode-transverse .pro-layout__top-menu {
1315
+ flex: 1;
1316
+ }
1189
1317
  .pro-layout__sider {
1190
1318
  display: flex;
1191
1319
  position: relative;
@@ -1195,7 +1323,7 @@ body .el-overlay-dialog,
1195
1323
  overflow: hidden !important;
1196
1324
  border-radius: var(--pro-layout-shell-radius);
1197
1325
  border: 1px solid var(--pro-layout-shell-border);
1198
- background: rgba(255, 255, 255, 0.92) !important;
1326
+ background: var(--pro-layout-sider-bg, rgba(255, 255, 255, 0.92)) !important;
1199
1327
  box-shadow: var(--pro-layout-shell-shadow);
1200
1328
  backdrop-filter: blur(10px);
1201
1329
  -webkit-backdrop-filter: blur(10px);
@@ -1306,6 +1434,77 @@ body .el-overlay-dialog,
1306
1434
  }
1307
1435
  .pro-layout__sider--collapsed {
1308
1436
  width: 64px !important;
1437
+ overflow-x: hidden !important;
1438
+ }
1439
+ .pro-layout__sider--collapsed .pro-layout__menu-scrollbar {
1440
+ overflow-x: hidden !important;
1441
+ }
1442
+ .pro-layout__sider--collapsed .pro-layout__menu-scrollbar .el-scrollbar__wrap {
1443
+ overflow-x: hidden !important;
1444
+ }
1445
+ .pro-layout__sider--collapsed .pro-layout__menu-scrollbar .el-scrollbar__view {
1446
+ overflow-x: hidden !important;
1447
+ max-width: 100%;
1448
+ }
1449
+ .pro-layout__sider--collapsed .pro-layout__menu-scrollbar .el-scrollbar__bar.is-horizontal {
1450
+ display: none !important;
1451
+ height: 0 !important;
1452
+ }
1453
+ .pro-layout__sider--collapsed .pro-layout__menu-group {
1454
+ max-width: 100%;
1455
+ overflow-x: hidden;
1456
+ }
1457
+ .pro-layout__sider--collapsed .pro-layout__menu-search,
1458
+ .pro-layout__sider--collapsed .pro-layout__common-menus {
1459
+ max-width: 100%;
1460
+ overflow-x: hidden;
1461
+ }
1462
+ .pro-layout__sider--collapsed .el-menu--collapse {
1463
+ width: 100% !important;
1464
+ max-width: 100% !important;
1465
+ min-width: 0 !important;
1466
+ box-sizing: border-box !important;
1467
+ }
1468
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-item,
1469
+ .pro-layout__sider--collapsed .el-menu--collapse .el-sub-menu__title {
1470
+ margin: 2px 4px !important;
1471
+ padding: 0 !important;
1472
+ justify-content: center !important;
1473
+ }
1474
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-item.is-active,
1475
+ .pro-layout__sider--collapsed .el-menu--collapse .el-sub-menu.is-active > .el-sub-menu__title {
1476
+ background: linear-gradient(135deg, var(--pro-layout-accent-soft, #eef2ff) 0%, var(--pro-layout-accent-muted, #e0e7ff) 100%) !important;
1477
+ color: var(--pro-layout-accent-dark, #4338ca) !important;
1478
+ font-weight: 600;
1479
+ box-shadow: inset 3px 0 0 0 var(--pro-layout-accent, #6366f1) !important;
1480
+ }
1481
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-item.is-active .pro-layout__menu-item-char,
1482
+ .pro-layout__sider--collapsed .el-menu--collapse .el-sub-menu.is-active > .el-sub-menu__title .pro-layout__menu-item-char {
1483
+ color: var(--pro-layout-accent-dark, #4338ca) !important;
1484
+ }
1485
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-item.is-active .el-icon,
1486
+ .pro-layout__sider--collapsed .el-menu--collapse .el-sub-menu.is-active > .el-sub-menu__title .el-icon {
1487
+ color: var(--pro-layout-accent-dark, #4338ca) !important;
1488
+ }
1489
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-tooltip__trigger {
1490
+ padding: 0 !important;
1491
+ justify-content: center !important;
1492
+ }
1493
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-item [class^='el-icon'],
1494
+ .pro-layout__sider--collapsed .el-menu--collapse .el-sub-menu__title [class^='el-icon'],
1495
+ .pro-layout__sider--collapsed .el-menu--collapse .el-icon {
1496
+ margin-right: 0 !important;
1497
+ margin-left: 0 !important;
1498
+ }
1499
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-item > .pro-layout__menu-item-char,
1500
+ .pro-layout__sider--collapsed .el-menu--collapse .el-sub-menu__title > .pro-layout__menu-item-char,
1501
+ .pro-layout__sider--collapsed .el-menu--collapse .el-menu-tooltip__trigger .pro-layout__menu-item-char {
1502
+ width: 20px !important;
1503
+ min-width: 20px !important;
1504
+ height: 20px !important;
1505
+ overflow: visible !important;
1506
+ visibility: visible !important;
1507
+ margin: 0 !important;
1309
1508
  }
1310
1509
  .pro-layout__sider-collapse-btn {
1311
1510
  position: absolute !important;
@@ -1406,6 +1605,61 @@ body .el-overlay-dialog,
1406
1605
  border-bottom: 1px solid rgba(241, 245, 249, 0.95);
1407
1606
  background: linear-gradient(to right, #ffffff, rgba(248, 250, 252, 0.85));
1408
1607
  }
1608
+ .pro-layout__sider-logo {
1609
+ flex-shrink: 0;
1610
+ display: flex;
1611
+ align-items: center;
1612
+ gap: 6px;
1613
+ padding: 12px 10px 10px;
1614
+ cursor: pointer;
1615
+ border-bottom: 1px solid rgba(241, 245, 249, 0.95);
1616
+ background: linear-gradient(to right, #ffffff, rgba(248, 250, 252, 0.85));
1617
+ min-height: 48px;
1618
+ min-width: 0;
1619
+ overflow: hidden;
1620
+ box-sizing: border-box;
1621
+ }
1622
+ .pro-layout__sider-logo .pro-layout__sider-logo-img,
1623
+ .pro-layout__sider-logo .pro-layout__header-logo-img {
1624
+ flex: 0 1 auto;
1625
+ min-width: 0;
1626
+ max-width: 72px;
1627
+ width: auto;
1628
+ height: 20px;
1629
+ object-fit: contain;
1630
+ object-position: left center;
1631
+ }
1632
+ .pro-layout__sider-logo .pro-layout__header-logo-text {
1633
+ flex: 1;
1634
+ min-width: 0;
1635
+ font-size: 14px;
1636
+ font-weight: 600;
1637
+ color: var(--pro-layout-text, #0f172a);
1638
+ white-space: nowrap;
1639
+ overflow: hidden;
1640
+ text-overflow: ellipsis;
1641
+ }
1642
+ .pro-layout__sider-logo .pro-layout__header-logo-divider {
1643
+ flex-shrink: 0;
1644
+ }
1645
+ .pro-layout__sider-logo--collapsed {
1646
+ justify-content: center;
1647
+ padding: 10px 6px;
1648
+ min-height: 44px;
1649
+ }
1650
+ .pro-layout__sider-logo--collapsed .pro-layout__header-logo-divider,
1651
+ .pro-layout__sider-logo--collapsed .pro-layout__header-logo-text {
1652
+ display: none;
1653
+ }
1654
+ .pro-layout__sider-logo--collapsed .pro-layout__sider-logo-img,
1655
+ .pro-layout__sider-logo--collapsed .pro-layout__header-logo-img {
1656
+ flex: 0 0 auto;
1657
+ max-width: 100%;
1658
+ width: 28px;
1659
+ height: 28px;
1660
+ object-fit: contain;
1661
+ object-position: center center;
1662
+ }
1409
1663
  .pro-layout__menu-search {
1410
1664
  padding: 10px 12px;
1411
1665
  display: flex;
@@ -1585,8 +1839,39 @@ body .el-overlay-dialog,
1585
1839
  backdrop-filter: blur(12px);
1586
1840
  -webkit-backdrop-filter: blur(12px);
1587
1841
  border-bottom: none !important;
1842
+ /* defaults 内顶栏:勿用全站顶栏的 calc(100% - 32px) + 外边距,否则会撑出容器 */
1843
+ }
1844
+ .pro-layout__header--in-main {
1845
+ width: 100% !important;
1846
+ margin: 0 !important;
1847
+ box-sizing: border-box;
1848
+ overflow: hidden;
1849
+ /* 内顶栏固定时用 sticky,避免页签栏被 position:fixed 顶栏盖住 */
1850
+ }
1851
+ .pro-layout__header--in-main .pro-layout__header-content {
1852
+ min-width: 0;
1853
+ max-width: 100%;
1854
+ overflow: hidden;
1855
+ }
1856
+ .pro-layout__header--in-main .pro-layout__top-menu {
1857
+ flex: 1;
1858
+ min-width: 0;
1859
+ overflow: hidden;
1860
+ }
1861
+ .pro-layout__header--in-main .pro-layout__header-right {
1862
+ flex-shrink: 0;
1588
1863
  }
1589
- .pro-layout__header--fixed {
1864
+ .pro-layout__header--in-main.pro-layout__header--fixed {
1865
+ position: sticky;
1866
+ top: 0;
1867
+ left: auto;
1868
+ right: auto;
1869
+ width: 100% !important;
1870
+ z-index: 100;
1871
+ border-radius: var(--pro-layout-shell-radius) !important;
1872
+ border: 1px solid var(--pro-layout-shell-border) !important;
1873
+ }
1874
+ .pro-layout__header--fixed:not(.pro-layout__header--in-main) {
1590
1875
  position: fixed;
1591
1876
  top: 0;
1592
1877
  left: 0;
@@ -2090,6 +2375,13 @@ body .el-overlay-dialog,
2090
2375
  margin-left: 2px;
2091
2376
  transition: transform 0.3s;
2092
2377
  }
2378
+ .pro-layout__main-panel {
2379
+ display: flex;
2380
+ flex-direction: column;
2381
+ flex: 1;
2382
+ min-height: 0;
2383
+ overflow: hidden;
2384
+ }
2093
2385
  .pro-layout__content-wrapper {
2094
2386
  display: flex !important;
2095
2387
  flex-direction: column !important;