@sdata/web-vue 2.3.1 → 2.6.0

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 (141) hide show
  1. package/README.md +1 -1
  2. package/dist/sd.css +117 -191
  3. package/dist/sd.min.css +1 -1
  4. package/es/_components/transition/expand-transition.vue.d.ts +2 -2
  5. package/es/_hooks/use-responsive.d.ts +2 -2
  6. package/es/_hooks/use-theme-mode.d.ts +3 -0
  7. package/es/{calendar/hooks/use-calendar-theme.js → _hooks/use-theme-mode.js} +14 -10
  8. package/es/_utils/responsive-observe.d.ts +5 -4
  9. package/es/_utils/responsive-observe.js +2 -1
  10. package/es/alert/index.d.ts +3 -3
  11. package/es/anchor/index.d.ts +3 -3
  12. package/es/avatar/index.d.ts +20 -20
  13. package/es/border-beam/border-beam.js +5 -0
  14. package/es/border-beam/border-beam.vue.d.ts +52 -0
  15. package/es/border-beam/border-beam.vue_vue_type_script_setup_true_lang.js +623 -0
  16. package/es/border-beam/index.d.ts +106 -0
  17. package/es/border-beam/index.js +10 -0
  18. package/es/border-beam/pulseDriver.d.ts +2 -0
  19. package/es/border-beam/pulseDriver.js +74 -0
  20. package/es/border-beam/style/css.js +2 -0
  21. package/es/border-beam/style/index.css +21 -0
  22. package/es/border-beam/style/index.d.ts +2 -0
  23. package/es/border-beam/style/index.js +2 -0
  24. package/es/border-beam/style/index.scss +12 -0
  25. package/es/border-beam/style/token.scss +12 -0
  26. package/es/border-beam/styles.d.ts +42 -0
  27. package/es/border-beam/styles.js +3545 -0
  28. package/es/border-beam/types.d.ts +27 -0
  29. package/es/button/index.d.ts +24 -24
  30. package/es/calendar/components/cell.vue.d.ts +26 -26
  31. package/es/calendar/components/index.vue.d.ts +1 -1
  32. package/es/calendar/components/index.vue_vue_type_script_setup_true_lang.js +3 -2
  33. package/es/calendar/index.d.ts +5 -5
  34. package/es/carousel/index.d.ts +3 -3
  35. package/es/cascader/cascader.vue.d.ts +8 -8
  36. package/es/checkbox/checkbox.d.ts +3 -3
  37. package/es/collapse/collapse-item.d.ts +5 -5
  38. package/es/collapse/index.d.ts +3 -3
  39. package/es/components.d.ts +1 -0
  40. package/es/config-provider/index.d.ts +21 -21
  41. package/es/date-picker/index.d.ts +14 -14
  42. package/es/date-picker/panels/date/index.vue.d.ts +2 -2
  43. package/es/date-picker/panels/month/index.vue.d.ts +2 -2
  44. package/es/date-picker/panels/quarter/index.vue.d.ts +2 -2
  45. package/es/date-picker/panels/week/index.vue.d.ts +2 -2
  46. package/es/date-picker/panels/year/index.vue.d.ts +2 -2
  47. package/es/date-picker/picker-panel.vue.d.ts +12 -12
  48. package/es/date-picker/picker.vue.d.ts +14 -14
  49. package/es/date-picker/range-picker.vue.d.ts +15 -15
  50. package/es/descriptions/index.d.ts +24 -24
  51. package/es/drawer/drawer.vue.d.ts +5 -5
  52. package/es/drawer/index.d.ts +15 -15
  53. package/es/dropdown/dropdown-button.vue.d.ts +4 -4
  54. package/es/dropdown/index.d.ts +15 -15
  55. package/es/ellipsis/ellipsis.vue.d.ts +7 -7
  56. package/es/ellipsis/performant-ellipsis.vue.d.ts +5 -5
  57. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +3 -3
  58. package/es/form/index.d.ts +3 -3
  59. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +2 -2
  60. package/es/grid/grid.vue_vue_type_script_setup_true_lang.js +10 -10
  61. package/es/icon/icon-menu/icon-menu.js +5 -0
  62. package/es/icon/icon-menu/icon-menu.vue_vue_type_script_setup_true_lang.js +52 -0
  63. package/es/icon/icon-menu/index.js +9 -0
  64. package/es/image/preview.vue.d.ts +2 -2
  65. package/es/index.css +117 -191
  66. package/es/index.d.ts +3 -1
  67. package/es/index.js +3 -2
  68. package/es/index.scss +1 -0
  69. package/es/input/index.d.ts +7 -7
  70. package/es/input/input-password.vue.d.ts +3 -3
  71. package/es/json-form/index.d.ts +9 -9
  72. package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +1 -1
  73. package/es/json-form/json-form.vue.d.ts +3 -3
  74. package/es/layout/content.vue.d.ts +2 -2
  75. package/es/layout/content.vue_vue_type_script_setup_true_lang.js +8 -3
  76. package/es/layout/context.d.ts +12 -9
  77. package/es/layout/context.js +11 -3
  78. package/es/layout/footer.vue.d.ts +2 -2
  79. package/es/layout/footer.vue_vue_type_script_setup_true_lang.js +8 -3
  80. package/es/layout/header.vue.d.ts +3 -30
  81. package/es/layout/header.vue_vue_type_script_setup_true_lang.js +9 -339
  82. package/es/layout/hooks/use-has-sider.d.ts +2 -0
  83. package/es/layout/hooks/use-has-sider.js +38 -0
  84. package/es/layout/index.d.ts +91 -380
  85. package/es/layout/index.js +2 -2
  86. package/es/layout/interface.d.ts +12 -46
  87. package/es/layout/layout.vue.d.ts +4 -2
  88. package/es/layout/layout.vue_vue_type_script_setup_true_lang.js +38 -14
  89. package/es/layout/sider.vue.d.ts +47 -183
  90. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +191 -370
  91. package/es/layout/style/index.css +112 -190
  92. package/es/layout/style/index.scss +127 -239
  93. package/es/layout/style/token.scss +46 -26
  94. package/es/link/index.d.ts +6 -6
  95. package/es/list/index.d.ts +18 -18
  96. package/es/menu/base-menu.vue.d.ts +1 -1
  97. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +14 -14
  98. package/es/menu/item.d.ts +1 -1
  99. package/es/menu/menu.d.ts +12 -12
  100. package/es/menu/menu.js +3 -3
  101. package/es/modal/index.d.ts +15 -15
  102. package/es/modal/modal.vue.d.ts +4 -4
  103. package/es/popconfirm/index.d.ts +12 -12
  104. package/es/popover/index.d.ts +12 -12
  105. package/es/progress/index.d.ts +6 -6
  106. package/es/qr-code/index.d.ts +3 -3
  107. package/es/radio/radio.d.ts +3 -3
  108. package/es/resize-box/resize-box.vue.d.ts +4 -4
  109. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +7 -7
  110. package/es/result/index.d.ts +3 -3
  111. package/es/scrollbar/style/index.css +1 -1
  112. package/es/scrollbar/style/index.scss +4 -1
  113. package/es/sd-vue.js +3 -1
  114. package/es/select/select.d.ts +17 -17
  115. package/es/slider/index.d.ts +3 -3
  116. package/es/split/split.vue.d.ts +4 -4
  117. package/es/split/split.vue_vue_type_script_setup_true_lang.js +6 -6
  118. package/es/steps/index.d.ts +6 -6
  119. package/es/tabs/index.d.ts +6 -6
  120. package/es/tag/index.d.ts +6 -6
  121. package/es/tag/tag.vue.d.ts +2 -2
  122. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +2 -2
  123. package/es/theme-provider/index.d.ts +9 -9
  124. package/es/time-picker/index.d.ts +6 -6
  125. package/es/time-picker/time-picker.vue.d.ts +2 -2
  126. package/es/timeline/index.d.ts +3 -3
  127. package/es/timeline/timeline.d.ts +1 -1
  128. package/es/tooltip/index.d.ts +3 -3
  129. package/es/tour/index.d.ts +3 -3
  130. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +6 -6
  131. package/es/tree/expand-transition.vue.d.ts +2 -2
  132. package/es/tree/node-switcher.vue.d.ts +1 -1
  133. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +23 -23
  134. package/es/tree-select/tree-select.vue.d.ts +9 -9
  135. package/json/vetur-attributes.json +23 -156
  136. package/json/vetur-tags.json +12 -44
  137. package/json/web-types.json +38 -304
  138. package/package.json +5 -5
  139. package/es/calendar/hooks/use-calendar-theme.d.ts +0 -4
  140. package/es/layout/utils.d.ts +0 -1
  141. package/es/layout/utils.js +0 -11
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <div align="center">
2
2
  <a href="https://sd-design.js.org" target="_blank">
3
- <img alt="SD Design Logo" width="200" src="https://avatars.githubusercontent.com/u/64576149?s=200&v=4"/>
3
+ <img alt="SD Design Logo" width="200" src="https://raw.githubusercontent.com/liunnn1994/sd-design/refs/heads/main/packages/sd-vue-docs/public/logo-icon.png"/>
4
4
  </a>
5
5
  </div>
6
6
 
package/dist/sd.css CHANGED
@@ -7641,7 +7641,7 @@ body.sd-tour-active .sd-tour-popover * {
7641
7641
  }
7642
7642
  .sd-scrollbar-container {
7643
7643
  min-width: 100%;
7644
- min-height: 100%;
7644
+ height: 100%;
7645
7645
  }
7646
7646
  .sd-scrollbar .os-scrollbar {
7647
7647
  --os-size: 6px;
@@ -10401,231 +10401,152 @@ body.sd-tour-active .sd-tour-popover * {
10401
10401
  margin-right: 0;
10402
10402
  }
10403
10403
 
10404
+ /*****************************************************
10405
+ * Layout 整体背景(容器主体与页脚共用)
10406
+ *****************************************************/
10407
+ /*****************************************************
10408
+ * Header
10409
+ *****************************************************/
10410
+ /*****************************************************
10411
+ * Footer
10412
+ *****************************************************/
10413
+ /*****************************************************
10414
+ * Sider
10415
+ * 深色背景与 Menu 深色背景保持一致,避免内嵌菜单出现接缝
10416
+ *****************************************************/
10417
+ /*****************************************************
10418
+ * Sider light 主题
10419
+ *****************************************************/
10420
+ /*****************************************************
10421
+ * 公共
10422
+ *****************************************************/
10404
10423
  .sd-layout {
10405
10424
  display: flex;
10406
- flex: 1;
10425
+ flex: auto;
10407
10426
  flex-direction: column;
10408
- margin: 0;
10409
- padding: 0;
10410
- }
10411
- .sd-layout-sider {
10412
- position: relative;
10413
- flex: none;
10414
- width: auto;
10415
- max-width: 100%;
10416
- margin: 0;
10417
- padding: 0;
10418
- overflow: hidden;
10419
- background: var(--sd-color-menu-dark-bg);
10420
- transition: width 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), height 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), transform 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
10421
- }
10422
- .sd-layout-sider-image, .sd-layout-sider-prepend, .sd-layout-sider-append {
10423
- flex: none;
10424
- }
10425
- .sd-layout-sider-children {
10426
- flex: 1;
10427
- height: 100%;
10428
- overflow: auto;
10427
+ /* fix firefox can't set height smaller than content on flex item */
10428
+ min-height: 0;
10429
+ background: var(--sd-color-fill-1);
10429
10430
  }
10430
- .sd-layout-sider-mask {
10431
- position: fixed;
10432
- inset: 0;
10433
- background: rgba(0, 0, 0, 0.45);
10431
+ .sd-layout, .sd-layout * {
10432
+ box-sizing: border-box;
10434
10433
  }
10435
- .sd-layout-sider-collapsed .sd-layout-sider-children {
10436
- /* width */
10434
+ .sd-layout.sd-layout-has-sider {
10435
+ flex-direction: row;
10437
10436
  }
10438
- .sd-layout-sider-collapsed .sd-layout-sider-children::-webkit-scrollbar {
10437
+ .sd-layout.sd-layout-has-sider > .sd-layout,
10438
+ .sd-layout.sd-layout-has-sider > .sd-layout-content {
10439
10439
  width: 0;
10440
10440
  }
10441
- .sd-layout-sider-has-trigger {
10442
- display: flex;
10443
- flex-direction: column;
10444
- box-sizing: border-box;
10445
- padding-bottom: 48px;
10446
- }
10447
- .sd-layout-sider-rail {
10448
- width: 56px;
10441
+ .sd-layout .sd-layout-header, .sd-layout.sd-layout-footer {
10442
+ flex: 0 0 auto;
10449
10443
  }
10450
- .sd-layout-sider-trigger {
10451
- position: absolute;
10452
- right: 0;
10453
- bottom: 0;
10454
- left: 0;
10455
- z-index: 1;
10456
- display: flex;
10457
- align-items: center;
10458
- justify-content: center;
10459
- box-sizing: border-box;
10460
- width: 100%;
10461
- height: 48px;
10462
- color: var(--sd-color-white);
10463
- background: rgba(255, 255, 255, 0.2);
10464
- cursor: pointer;
10465
- transition: width 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
10444
+ .sd-layout-rtl {
10445
+ direction: rtl;
10466
10446
  }
10467
- .sd-layout-sider-trigger-light {
10447
+
10448
+ .sd-layout-header {
10449
+ height: 64px;
10450
+ padding: 0 50px;
10468
10451
  color: var(--sd-color-text-1);
10469
- background: var(--sd-color-menu-light-bg);
10470
- border-top: 1px solid var(--sd-color-bg-5);
10471
- }
10472
- .sd-layout-sider-floating {
10473
- box-shadow: none;
10474
- }
10475
- .sd-layout-sider-sticky {
10476
- z-index: 1;
10477
- }
10478
- .sd-layout-sider-temporary {
10479
- position: fixed;
10480
- box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
10452
+ line-height: 64px;
10453
+ background: #001529;
10481
10454
  }
10482
- .sd-layout-sider-temporary.sd-layout-sider-left {
10483
- top: 0;
10484
- bottom: 0;
10485
- left: 0;
10486
- transform: translateX(-100%);
10487
- }
10488
- .sd-layout-sider-temporary.sd-layout-sider-right {
10489
- top: 0;
10490
- right: 0;
10491
- bottom: 0;
10492
- transform: translateX(100%);
10493
- }
10494
- .sd-layout-sider-temporary.sd-layout-sider-top {
10495
- top: 0;
10496
- right: 0;
10497
- left: 0;
10498
- width: 100%;
10499
- transform: translateY(-100%);
10500
- }
10501
- .sd-layout-sider-temporary.sd-layout-sider-bottom {
10502
- right: 0;
10503
- bottom: 0;
10504
- left: 0;
10505
- width: 100%;
10506
- transform: translateY(100%);
10507
- }
10508
- .sd-layout-sider-temporary.sd-layout-sider-active {
10509
- transform: translate(0, 0);
10510
- }
10511
- .sd-layout-sider-light {
10512
- background: var(--sd-color-menu-light-bg);
10513
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.08);
10514
- }
10515
- .sd-layout-header {
10516
- position: relative;
10517
- flex: 0 0 auto;
10518
- box-sizing: border-box;
10519
- margin: 0;
10520
- overflow: hidden;
10455
+
10456
+ .sd-layout-footer {
10457
+ padding: 24px 50px;
10521
10458
  color: var(--sd-color-text-1);
10522
- background: var(--sd-color-bg-2);
10523
- border-bottom: 1px solid var(--sd-color-border-2);
10524
- transition: height 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), transform 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), box-shadow 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
10459
+ font-size: 14px;
10460
+ background: var(--sd-color-fill-1);
10525
10461
  }
10526
- .sd-layout-header-wrapper {
10527
- width: 100%;
10462
+
10463
+ .sd-layout-content {
10464
+ flex: auto;
10465
+ min-height: 0;
10466
+ color: var(--sd-color-text-1);
10528
10467
  }
10529
- .sd-layout-header-bar, .sd-layout-header-extension, .sd-layout-header-prepend, .sd-layout-header-append, .sd-layout-header-content {
10468
+
10469
+ .sd-layout-sider {
10470
+ position: relative;
10530
10471
  display: flex;
10531
- align-items: center;
10472
+ flex-direction: column;
10473
+ min-width: 0;
10474
+ background: var(--sd-color-menu-dark-bg);
10475
+ transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), background 0s;
10532
10476
  }
10533
- .sd-layout-header-bar {
10534
- position: relative;
10535
- z-index: 1;
10536
- gap: 16px;
10537
- min-height: var(--sd-layout-header-content-height, 64px);
10538
- padding: 0 20px;
10477
+ .sd-layout-sider-has-trigger {
10478
+ padding-bottom: 44px;
10539
10479
  }
10540
- .sd-layout-header-prepend, .sd-layout-header-append {
10541
- flex: none;
10542
- gap: 8px;
10480
+ .sd-layout-sider-right {
10481
+ order: 1;
10543
10482
  }
10544
- .sd-layout-header-title {
10545
- position: relative;
10546
- z-index: 1;
10483
+ .sd-layout-sider-header {
10547
10484
  flex: none;
10548
- max-width: min(40%, 480px);
10549
- overflow: hidden;
10550
- color: inherit;
10551
- font-weight: 600;
10552
- font-size: 18px;
10553
- white-space: nowrap;
10554
- text-overflow: ellipsis;
10555
10485
  }
10556
- .sd-layout-header-content {
10557
- position: relative;
10558
- z-index: 1;
10486
+ .sd-layout-sider-children {
10559
10487
  flex: 1;
10560
- gap: 8px;
10561
- min-width: 0;
10488
+ min-height: 0;
10562
10489
  }
10563
- .sd-layout-header-extension {
10564
- position: relative;
10565
- z-index: 1;
10566
- gap: 8px;
10567
- min-height: var(--sd-layout-header-extension-height, 48px);
10568
- padding: 0 20px;
10569
- border-top: 1px solid var(--sd-color-border-2);
10490
+ .sd-layout-sider-children-scroll {
10491
+ overflow: hidden auto;
10570
10492
  }
10571
- .sd-layout-header-image {
10572
- position: absolute;
10573
- inset: 0;
10493
+ .sd-layout-sider-zero-width .sd-layout-sider-children {
10574
10494
  overflow: hidden;
10575
10495
  }
10576
- .sd-layout-header-image::after {
10496
+ .sd-layout-sider-trigger {
10577
10497
  position: absolute;
10578
- inset: 0;
10579
- background: linear-gradient(180deg, rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.36));
10580
- content: "";
10581
- }
10582
- .sd-layout-header-image-inner, .sd-layout-header-image :is(img, picture, video) {
10583
- width: 100%;
10584
- height: 100%;
10585
- object-fit: cover;
10586
- opacity: var(--sd-layout-header-image-opacity, 1);
10587
- transition: opacity 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
10588
- }
10589
- .sd-layout-header-flat {
10590
- box-shadow: none;
10591
- }
10592
- .sd-layout-header:not(.sd-layout-header-flat) {
10593
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
10594
- }
10595
- .sd-layout-header-floating {
10596
- box-shadow: 0 16px 32px rgba(0, 0, 0, 0.14);
10597
- }
10598
- .sd-layout-header-hidden {
10599
- pointer-events: none;
10600
- }
10601
- .sd-layout-header-collapsed .sd-layout-header-extension {
10602
- display: none;
10498
+ bottom: 0;
10499
+ z-index: 1;
10500
+ height: 44px;
10501
+ color: var(--sd-color-white);
10502
+ line-height: 44px;
10503
+ text-align: center;
10504
+ cursor: pointer;
10505
+ transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);
10603
10506
  }
10604
- .sd-layout-header-with-image {
10507
+ .sd-layout-sider-zero-width-trigger {
10508
+ position: absolute;
10509
+ top: 64px;
10510
+ z-index: 1;
10511
+ display: flex;
10512
+ align-items: center;
10513
+ justify-content: center;
10514
+ width: 40px;
10515
+ height: 40px;
10605
10516
  color: var(--sd-color-white);
10606
- border-bottom-color: transparent;
10517
+ font-size: 18px;
10518
+ background: var(--sd-color-menu-dark-bg);
10519
+ border-radius: 0 8px 8px 0;
10520
+ cursor: pointer;
10521
+ transition: background-color 0.3s ease;
10522
+ inset-inline-end: -40px;
10607
10523
  }
10608
- .sd-layout-header-with-image .sd-layout-header-extension {
10609
- border-top-color: rgba(255, 255, 255, 0.16);
10524
+ .sd-layout-sider-zero-width-trigger::after {
10525
+ position: absolute;
10526
+ inset: 0;
10527
+ background: transparent;
10528
+ transition: all 0.3s;
10529
+ content: "";
10610
10530
  }
10611
- .sd-layout-header-bottom {
10612
- border-top: 1px solid var(--sd-color-border-2);
10613
- border-bottom: 0;
10531
+ .sd-layout-sider-zero-width-trigger:hover::after {
10532
+ background: rgba(255, 255, 255, 0.2);
10614
10533
  }
10615
- .sd-layout-content {
10616
- flex: 1;
10534
+ .sd-layout-sider-zero-width-trigger-right {
10535
+ inset-inline-start: -40px;
10536
+ border-radius: 8px 0 0 8px;
10617
10537
  }
10618
- .sd-layout-footer {
10619
- flex: 0 0 auto;
10620
- margin: 0;
10538
+ .sd-layout-sider-light {
10539
+ background: var(--sd-color-bg-1);
10621
10540
  }
10622
-
10623
- .sd-layout-has-sider {
10624
- flex-direction: row;
10541
+ .sd-layout-sider-light .sd-layout-sider-trigger {
10542
+ color: var(--sd-color-text-1);
10543
+ background: var(--sd-color-bg-1);
10625
10544
  }
10626
- .sd-layout-has-sider > .sd-layout,
10627
- .sd-layout-has-sider > .sd-layout-content {
10628
- overflow-x: hidden;
10545
+ .sd-layout-sider-light .sd-layout-sider-zero-width-trigger {
10546
+ color: var(--sd-color-text-1);
10547
+ background: var(--sd-color-bg-1);
10548
+ border: 1px solid var(--sd-color-fill-1);
10549
+ border-inline-start: 0;
10629
10550
  }
10630
10551
 
10631
10552
  .sd-input-tag {
@@ -18859,6 +18780,11 @@ body.sd-tour-active .sd-tour-popover * {
18859
18780
  font-size: 14px;
18860
18781
  }
18861
18782
 
18783
+ .sd-border-beam {
18784
+ position: relative;
18785
+ display: inline-flex;
18786
+ }
18787
+
18862
18788
  .sd-avatar {
18863
18789
  position: relative;
18864
18790
  display: inline-flex;