@sdata/web-vue 2.2.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 (205) 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/picker/input-range.vue.d.ts +2 -2
  5. package/es/_components/transition/expand-transition.vue.d.ts +2 -2
  6. package/es/_hooks/use-responsive.d.ts +2 -2
  7. package/es/_hooks/use-theme-mode.d.ts +3 -0
  8. package/es/{calendar/hooks/use-calendar-theme.js → _hooks/use-theme-mode.js} +14 -10
  9. package/es/_utils/date.d.ts +10 -9
  10. package/es/_utils/date.js +23 -7
  11. package/es/_utils/responsive-observe.d.ts +5 -4
  12. package/es/_utils/responsive-observe.js +2 -1
  13. package/es/alert/index.d.ts +3 -3
  14. package/es/anchor/anchor.vue.d.ts +52 -2
  15. package/es/anchor/anchor.vue_vue_type_script_setup_true_lang.js +75 -15
  16. package/es/anchor/index.d.ts +78 -3
  17. package/es/avatar/index.d.ts +20 -20
  18. package/es/border-beam/border-beam.js +5 -0
  19. package/es/border-beam/border-beam.vue.d.ts +52 -0
  20. package/es/border-beam/border-beam.vue_vue_type_script_setup_true_lang.js +623 -0
  21. package/es/border-beam/index.d.ts +106 -0
  22. package/es/border-beam/index.js +10 -0
  23. package/es/border-beam/pulseDriver.d.ts +2 -0
  24. package/es/border-beam/pulseDriver.js +74 -0
  25. package/es/border-beam/style/css.js +2 -0
  26. package/es/border-beam/style/index.css +21 -0
  27. package/es/border-beam/style/index.d.ts +2 -0
  28. package/es/border-beam/style/index.js +2 -0
  29. package/es/border-beam/style/index.scss +12 -0
  30. package/es/border-beam/style/token.scss +12 -0
  31. package/es/border-beam/styles.d.ts +42 -0
  32. package/es/border-beam/styles.js +3545 -0
  33. package/es/border-beam/types.d.ts +27 -0
  34. package/es/button/button.vue.d.ts +16 -3
  35. package/es/button/button.vue_vue_type_script_setup_true_lang.js +39 -9
  36. package/es/button/index.d.ts +43 -24
  37. package/es/button/interface.d.ts +1 -0
  38. package/es/calendar/components/cell.vue.d.ts +26 -26
  39. package/es/calendar/components/index.vue.d.ts +1 -1
  40. package/es/calendar/components/index.vue_vue_type_script_setup_true_lang.js +3 -2
  41. package/es/calendar/index.d.ts +5 -5
  42. package/es/carousel/index.d.ts +3 -3
  43. package/es/cascader/cascader.vue.d.ts +8 -8
  44. package/es/checkbox/checkbox.d.ts +3 -3
  45. package/es/collapse/collapse-item.d.ts +5 -5
  46. package/es/collapse/index.d.ts +3 -3
  47. package/es/components.d.ts +1 -0
  48. package/es/config-provider/config-provider.vue.d.ts +9 -0
  49. package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +10 -1
  50. package/es/config-provider/context.d.ts +1 -0
  51. package/es/config-provider/index.d.ts +36 -21
  52. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +1 -0
  53. package/es/date-picker/hooks/use-cell-class-name.d.ts +1 -0
  54. package/es/date-picker/hooks/use-cell-class-name.js +3 -2
  55. package/es/date-picker/hooks/use-header-value.d.ts +2 -0
  56. package/es/date-picker/hooks/use-header-value.js +23 -19
  57. package/es/date-picker/hooks/use-picker-state.d.ts +2 -0
  58. package/es/date-picker/hooks/use-picker-state.js +3 -3
  59. package/es/date-picker/hooks/use-range-header-value.d.ts +2 -0
  60. package/es/date-picker/hooks/use-range-header-value.js +5 -1
  61. package/es/date-picker/hooks/use-range-picker-state.d.ts +2 -0
  62. package/es/date-picker/hooks/use-range-picker-state.js +3 -3
  63. package/es/date-picker/hooks/use-value-format.d.ts +5 -3
  64. package/es/date-picker/hooks/use-value-format.js +10 -8
  65. package/es/date-picker/index.d.ts +1373 -12
  66. package/es/date-picker/interface.d.ts +7 -0
  67. package/es/date-picker/panels/body.vue.d.ts +24 -6
  68. package/es/date-picker/panels/body.vue_vue_type_script_setup_true_lang.js +13 -12
  69. package/es/date-picker/panels/date/index.vue.d.ts +26 -8
  70. package/es/date-picker/panels/date/index.vue_vue_type_script_setup_true_lang.js +18 -9
  71. package/es/date-picker/panels/header.vue_vue_type_script_setup_true_lang.js +13 -20
  72. package/es/date-picker/panels/month/index.vue.d.ts +13 -8
  73. package/es/date-picker/panels/month/index.vue_vue_type_script_setup_true_lang.js +6 -6
  74. package/es/date-picker/panels/quarter/index.vue.d.ts +13 -8
  75. package/es/date-picker/panels/quarter/index.vue_vue_type_script_setup_true_lang.js +6 -6
  76. package/es/date-picker/panels/shortcuts.vue_vue_type_script_setup_true_lang.js +2 -6
  77. package/es/date-picker/panels/week/index.vue.d.ts +13 -1
  78. package/es/date-picker/panels/week/index.vue_vue_type_script_setup_true_lang.js +5 -2
  79. package/es/date-picker/panels/year/index.vue.d.ts +13 -8
  80. package/es/date-picker/panels/year/index.vue_vue_type_script_setup_true_lang.js +25 -15
  81. package/es/date-picker/picker-panel.vue.d.ts +56 -14
  82. package/es/date-picker/picker-panel.vue_vue_type_script_setup_true_lang.js +36 -19
  83. package/es/date-picker/picker.vue.d.ts +951 -3
  84. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +91 -29
  85. package/es/date-picker/range-picker-panel.vue.d.ts +77 -15
  86. package/es/date-picker/range-picker-panel.vue_vue_type_script_setup_true_lang.js +52 -28
  87. package/es/date-picker/range-picker.vue.d.ts +1348 -4
  88. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +114 -34
  89. package/es/descriptions/index.d.ts +24 -24
  90. package/es/drawer/drawer.vue.d.ts +5 -5
  91. package/es/drawer/index.d.ts +15 -15
  92. package/es/dropdown/dropdown-button.vue.d.ts +4 -4
  93. package/es/dropdown/index.d.ts +15 -15
  94. package/es/ellipsis/ellipsis.vue.d.ts +7 -7
  95. package/es/ellipsis/performant-ellipsis.vue.d.ts +5 -5
  96. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +3 -3
  97. package/es/form/index.d.ts +3 -3
  98. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +2 -2
  99. package/es/grid/grid.vue_vue_type_script_setup_true_lang.js +10 -10
  100. package/es/icon/icon-menu/icon-menu.js +5 -0
  101. package/es/icon/icon-menu/icon-menu.vue_vue_type_script_setup_true_lang.js +52 -0
  102. package/es/icon/icon-menu/index.js +9 -0
  103. package/es/image/preview-toolbar.vue.d.ts +2 -3
  104. package/es/image/preview-toolbar.vue_vue_type_script_setup_true_lang.js +2 -3
  105. package/es/image/preview.vue.d.ts +2 -2
  106. package/es/index.css +117 -191
  107. package/es/index.d.ts +3 -1
  108. package/es/index.js +3 -2
  109. package/es/index.scss +1 -0
  110. package/es/input/index.d.ts +7 -7
  111. package/es/input/input-password.vue.d.ts +3 -3
  112. package/es/json-form/index.d.ts +9 -9
  113. package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +1 -1
  114. package/es/json-form/json-form.vue.d.ts +3 -3
  115. package/es/layout/content.vue.d.ts +2 -2
  116. package/es/layout/content.vue_vue_type_script_setup_true_lang.js +8 -3
  117. package/es/layout/context.d.ts +12 -9
  118. package/es/layout/context.js +11 -3
  119. package/es/layout/footer.vue.d.ts +2 -2
  120. package/es/layout/footer.vue_vue_type_script_setup_true_lang.js +8 -3
  121. package/es/layout/header.vue.d.ts +3 -30
  122. package/es/layout/header.vue_vue_type_script_setup_true_lang.js +9 -339
  123. package/es/layout/hooks/use-has-sider.d.ts +2 -0
  124. package/es/layout/hooks/use-has-sider.js +38 -0
  125. package/es/layout/index.d.ts +91 -380
  126. package/es/layout/index.js +2 -2
  127. package/es/layout/interface.d.ts +12 -46
  128. package/es/layout/layout.vue.d.ts +4 -2
  129. package/es/layout/layout.vue_vue_type_script_setup_true_lang.js +38 -14
  130. package/es/layout/sider.vue.d.ts +47 -183
  131. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +191 -370
  132. package/es/layout/style/index.css +112 -190
  133. package/es/layout/style/index.scss +127 -239
  134. package/es/layout/style/token.scss +46 -26
  135. package/es/link/index.d.ts +6 -6
  136. package/es/list/index.d.ts +18 -18
  137. package/es/locale/interface.d.ts +2 -0
  138. package/es/locale/lang/ar-eg.js +46 -0
  139. package/es/locale/lang/de-de.js +46 -0
  140. package/es/locale/lang/es-es.js +46 -0
  141. package/es/locale/lang/fr-fr.js +46 -0
  142. package/es/locale/lang/id-id.js +46 -0
  143. package/es/locale/lang/it-it.js +46 -0
  144. package/es/locale/lang/km-kh.js +46 -0
  145. package/es/locale/lang/ko-kr.js +46 -0
  146. package/es/locale/lang/ms-my.js +46 -0
  147. package/es/locale/lang/pt-pt.js +46 -0
  148. package/es/locale/lang/th-th.js +46 -0
  149. package/es/locale/lang/vi-vn.js +46 -0
  150. package/es/mention/mention.js +2 -0
  151. package/es/menu/base-menu.vue.d.ts +1 -1
  152. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +14 -14
  153. package/es/menu/item.d.ts +1 -1
  154. package/es/menu/menu.d.ts +12 -12
  155. package/es/menu/menu.js +3 -3
  156. package/es/menu/sub-menu-pop.vue_vue_type_script_setup_true_lang.js +3 -4
  157. package/es/modal/index.d.ts +22 -20
  158. package/es/modal/index.js +47 -11
  159. package/es/modal/interface.d.ts +5 -0
  160. package/es/modal/modal.vue.d.ts +4 -4
  161. package/es/popconfirm/index.d.ts +12 -12
  162. package/es/popover/index.d.ts +12 -12
  163. package/es/progress/index.d.ts +6 -6
  164. package/es/qr-code/index.d.ts +3 -3
  165. package/es/radio/radio.d.ts +3 -3
  166. package/es/resize-box/resize-box.vue.d.ts +4 -4
  167. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +7 -7
  168. package/es/result/index.d.ts +3 -3
  169. package/es/scrollbar/style/index.css +1 -1
  170. package/es/scrollbar/style/index.scss +4 -1
  171. package/es/sd-vue.js +3 -1
  172. package/es/select/select.d.ts +17 -17
  173. package/es/slider/index.d.ts +3 -3
  174. package/es/split/split.vue.d.ts +4 -4
  175. package/es/split/split.vue_vue_type_script_setup_true_lang.js +6 -6
  176. package/es/steps/index.d.ts +6 -6
  177. package/es/tabs/index.d.ts +6 -6
  178. package/es/tag/index.d.ts +6 -6
  179. package/es/tag/tag.vue.d.ts +2 -2
  180. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +4 -4
  181. package/es/theme-provider/index.d.ts +9 -9
  182. package/es/time-picker/index.d.ts +6 -6
  183. package/es/time-picker/time-picker.vue.d.ts +2 -2
  184. package/es/timeline/index.d.ts +3 -3
  185. package/es/timeline/timeline.d.ts +1 -1
  186. package/es/tooltip/index.d.ts +3 -3
  187. package/es/tour/index.d.ts +3 -3
  188. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +6 -6
  189. package/es/tree/base-node.vue_vue_type_script_setup_true_lang.js +6 -21
  190. package/es/tree/expand-transition.vue.d.ts +2 -2
  191. package/es/tree/node-switcher.vue.d.ts +1 -12
  192. package/es/tree/node-switcher.vue_vue_type_script_lang.js +1 -5
  193. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +23 -23
  194. package/es/tree-select/tree-select.vue.d.ts +9 -9
  195. package/es/trigger/trigger.js +2 -1
  196. package/es/verification-code/verification-code.js +17 -7
  197. package/json/vetur-attributes.json +76 -156
  198. package/json/vetur-tags.json +26 -44
  199. package/json/web-types.json +150 -304
  200. package/package.json +5 -5
  201. package/es/_components/render-function.d.ts +0 -14
  202. package/es/_components/render-function.js +0 -14
  203. package/es/calendar/hooks/use-calendar-theme.d.ts +0 -4
  204. package/es/layout/utils.d.ts +0 -1
  205. package/es/layout/utils.js +0 -11
package/es/index.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;
package/es/index.d.ts CHANGED
@@ -14,6 +14,8 @@ export { default as Avatar, AvatarGroup } from './avatar';
14
14
  export type { AvatarInstance, AvatarGroupInstance } from './avatar';
15
15
  export { default as BackTop } from './back-top';
16
16
  export type { BackTopInstance } from './back-top';
17
+ export { default as BorderBeam } from './border-beam';
18
+ export type { BorderBeamInstance, BorderBeamSize, BorderBeamTheme, BorderBeamColorVariant, BorderBeamFlowPreset, BorderBeamFlowPoint, BorderBeamFlowCoordinate, BorderBeamExposed, } from './border-beam';
17
19
  export { default as Badge } from './badge';
18
20
  export type { BadgeInstance } from './badge';
19
21
  export { default as Breadcrumb, BreadcrumbItem } from './breadcrumb';
@@ -76,7 +78,7 @@ export type { InputNumberChangeHandler, InputNumberFormatter, InputNumberInputHa
76
78
  export { default as InputTag } from './input-tag';
77
79
  export type { InputTagFieldNames, InputTagInstance, TagData } from './input-tag';
78
80
  export { default as Layout, LayoutContent, LayoutFooter, LayoutHeader, LayoutSider, } from './layout';
79
- export type { LayoutContentInstance, LayoutFooterInstance, LayoutHeaderDensity, LayoutHeaderProps, LayoutHeaderInstance, LayoutInstance, LayoutProps, LayoutHeaderScrollBehavior, LayoutSiderInstance, SiderProps, } from './layout';
81
+ export type { CollapseType, LayoutContentInstance, LayoutFooterInstance, LayoutHeaderInstance, LayoutInstance, LayoutProps, LayoutSiderInstance, SiderProps, SiderTheme, } from './layout';
80
82
  export { default as Link } from './link';
81
83
  export type { LinkInstance, LinkProps } from './link';
82
84
  export { default as List, ListItem, ListItemMeta } from './list';
package/es/index.js CHANGED
@@ -19,6 +19,7 @@ import AvatarGroup from "./avatar/avatar-group.js";
19
19
  import Avatar from "./avatar/index.js";
20
20
  import BackTop from "./back-top/index.js";
21
21
  import Badge from "./badge/index.js";
22
+ import BorderBeam from "./border-beam/index.js";
22
23
  import { addI18nMessages, getLocale, useLocale } from "./locale/index.js";
23
24
  import Empty from "./empty/index.js";
24
25
  import dropdown_button_default from "./dropdown/dropdown-button.js";
@@ -95,7 +96,6 @@ import JsonForm from "./json-form/index.js";
95
96
  import content_default from "./layout/content.js";
96
97
  import footer_default from "./layout/footer.js";
97
98
  import header_default from "./layout/header.js";
98
- import ResizeBox from "./resize-box/index.js";
99
99
  import sider_default from "./layout/sider.js";
100
100
  import Layout from "./layout/index.js";
101
101
  import item_default from "./menu/item.js";
@@ -109,6 +109,7 @@ import PageHeader from "./page-header/index.js";
109
109
  import Popconfirm from "./popconfirm/index.js";
110
110
  import Progress from "./progress/index.js";
111
111
  import QrCode from "./qr-code/index.js";
112
+ import ResizeBox from "./resize-box/index.js";
112
113
  import Result from "./result/index.js";
113
114
  import Secret from "./secret/index.js";
114
115
  import line_default from "./skeleton/line.js";
@@ -141,4 +142,4 @@ import Typography from "./typography/index.js";
141
142
  import Upload from "./upload/index.js";
142
143
  import Watermark from "./watermark/index.js";
143
144
  import SDVue from "./sd-vue.js";
144
- export { A2UI_0_8, Affix, Alert, Anchor, anchor_link_default as AnchorLink, AutoComplete, Avatar, AvatarGroup, BackTop, Badge, Breadcrumb, breadcrumb_item_default as BreadcrumbItem, Button, button_group_default as ButtonGroup, Calendar, Card, card_grid_default as CardGrid, card_meta_default as CardMeta, Carousel, carousel_item_default as CarouselItem, Cascader, cascader_panel_default as CascaderPanel, Checkbox, checkbox_group_default as CheckboxGroup, grid_col_default as Col, Collapse, collapse_item_default as CollapseItem, ColorPicker, Comment, ConfigProvider, Copy, countdown_default as Countdown, Cropper, DatePicker, Descriptions, descriptions_item_default as DescriptionsItem, dropdown_group_default as Dgroup, Divider, dropdown_option_default as Doption, Drawer, Dropdown, dropdown_button_default as DropdownButton, dropdown_submenu_default as Dsubmenu, Ellipsis, Empty, Form, form_item_default as FormItem, Grid, grid_item_default as GridItem, Icon, Image, preview_default as ImagePreview, preview_action_default as ImagePreviewAction, preview_group_default as ImagePreviewGroup, Input, input_group_default as InputGroup, InputNumber, input_password_default as InputPassword, input_search_default as InputSearch, InputTag, JsonForm, Layout, content_default as LayoutContent, footer_default as LayoutFooter, header_default as LayoutHeader, sider_default as LayoutSider, Link, List, list_item_default as ListItem, list_item_meta_default as ListItemMeta, Mention, Menu, item_default as MenuItem, item_group_default as MenuItemGroup, Message, Modal, month_picker_default as MonthPicker, Notification, OverflowList, PageHeader, Pagination, PerformantEllipsis, Popconfirm, Popover, Progress, QrCode, quarter_picker_default as QuarterPicker, Radio, radio_group_default as RadioGroup, range_picker_default as RangePicker, Rate, ResizeBox, Result, grid_row_default as Row, Scrollbar, Secret, Select, Skeleton, line_default as SkeletonLine, shape_default as SkeletonShape, Slider, Space, Spin, Split, Statistic, step_default as Step, Steps, sub_menu_default as SubMenu, Switch, tab_pane_default as TabPane, Table, table_column_default as TableColumn, Tabs, Tag, TagGroup, table_tbody_default as Tbody, table_td_default as Td, Textarea, table_th_default as Th, table_thead_default as Thead, ThemeProvider, TimePicker, Timeline, item_default$1 as TimelineItem, Tooltip, Tour, table_tr_default as Tr, Transfer, Tree, TreeSelect, Trigger, Typography, paragraph_default as TypographyParagraph, text_default as TypographyText, title_default as TypographyTitle, Upload, VerificationCode, Watermark, week_picker_default as WeekPicker, year_picker_default as YearPicker, addI18nMessages, SDVue as default, defineJsonFormComponents, defineJsonFormSchemas, getCssVarToken, getLocale, useFormItem, useLocale };
145
+ export { A2UI_0_8, Affix, Alert, Anchor, anchor_link_default as AnchorLink, AutoComplete, Avatar, AvatarGroup, BackTop, Badge, BorderBeam, Breadcrumb, breadcrumb_item_default as BreadcrumbItem, Button, button_group_default as ButtonGroup, Calendar, Card, card_grid_default as CardGrid, card_meta_default as CardMeta, Carousel, carousel_item_default as CarouselItem, Cascader, cascader_panel_default as CascaderPanel, Checkbox, checkbox_group_default as CheckboxGroup, grid_col_default as Col, Collapse, collapse_item_default as CollapseItem, ColorPicker, Comment, ConfigProvider, Copy, countdown_default as Countdown, Cropper, DatePicker, Descriptions, descriptions_item_default as DescriptionsItem, dropdown_group_default as Dgroup, Divider, dropdown_option_default as Doption, Drawer, Dropdown, dropdown_button_default as DropdownButton, dropdown_submenu_default as Dsubmenu, Ellipsis, Empty, Form, form_item_default as FormItem, Grid, grid_item_default as GridItem, Icon, Image, preview_default as ImagePreview, preview_action_default as ImagePreviewAction, preview_group_default as ImagePreviewGroup, Input, input_group_default as InputGroup, InputNumber, input_password_default as InputPassword, input_search_default as InputSearch, InputTag, JsonForm, Layout, content_default as LayoutContent, footer_default as LayoutFooter, header_default as LayoutHeader, sider_default as LayoutSider, Link, List, list_item_default as ListItem, list_item_meta_default as ListItemMeta, Mention, Menu, item_default as MenuItem, item_group_default as MenuItemGroup, Message, Modal, month_picker_default as MonthPicker, Notification, OverflowList, PageHeader, Pagination, PerformantEllipsis, Popconfirm, Popover, Progress, QrCode, quarter_picker_default as QuarterPicker, Radio, radio_group_default as RadioGroup, range_picker_default as RangePicker, Rate, ResizeBox, Result, grid_row_default as Row, Scrollbar, Secret, Select, Skeleton, line_default as SkeletonLine, shape_default as SkeletonShape, Slider, Space, Spin, Split, Statistic, step_default as Step, Steps, sub_menu_default as SubMenu, Switch, tab_pane_default as TabPane, Table, table_column_default as TableColumn, Tabs, Tag, TagGroup, table_tbody_default as Tbody, table_td_default as Td, Textarea, table_th_default as Th, table_thead_default as Thead, ThemeProvider, TimePicker, Timeline, item_default$1 as TimelineItem, Tooltip, Tour, table_tr_default as Tr, Transfer, Tree, TreeSelect, Trigger, Typography, paragraph_default as TypographyParagraph, text_default as TypographyText, title_default as TypographyTitle, Upload, VerificationCode, Watermark, week_picker_default as WeekPicker, year_picker_default as YearPicker, addI18nMessages, SDVue as default, defineJsonFormComponents, defineJsonFormSchemas, getCssVarToken, getLocale, useFormItem, useLocale };
package/es/index.scss CHANGED
@@ -78,6 +78,7 @@
78
78
  @use '@components/breadcrumb/style/index.scss' as *;
79
79
  @use '@components/badge/style/index.scss' as *;
80
80
  @use '@components/back-top/style/index.scss' as *;
81
+ @use '@components/border-beam/style/index.scss' as *;
81
82
  @use '@components/avatar/style/index.scss' as *;
82
83
  @use '@components/auto-complete/style/index.scss' as *;
83
84
  @use '@components/anchor/style/index.scss' as *;
@@ -12,7 +12,7 @@ declare const Input: {
12
12
  default: string;
13
13
  };
14
14
  size: {
15
- type: import("vue").PropType<import("..").Size>;
15
+ type: import("vue").PropType<import("../index.ts").Size>;
16
16
  };
17
17
  allowClear: {
18
18
  type: BooleanConstructor;
@@ -105,7 +105,7 @@ declare const Input: {
105
105
  default: string;
106
106
  };
107
107
  size: {
108
- type: import("vue").PropType<import("..").Size>;
108
+ type: import("vue").PropType<import("../index.ts").Size>;
109
109
  };
110
110
  allowClear: {
111
111
  type: BooleanConstructor;
@@ -187,7 +187,7 @@ declare const Input: {
187
187
  default: string;
188
188
  };
189
189
  size: {
190
- type: import("vue").PropType<import("..").Size>;
190
+ type: import("vue").PropType<import("../index.ts").Size>;
191
191
  };
192
192
  allowClear: {
193
193
  type: BooleanConstructor;
@@ -281,13 +281,13 @@ declare const Input: {
281
281
  default: boolean;
282
282
  };
283
283
  size: {
284
- type: import("vue").PropType<import("..").Size>;
284
+ type: import("vue").PropType<import("../index.ts").Size>;
285
285
  };
286
286
  buttonText: {
287
287
  type: StringConstructor;
288
288
  };
289
289
  buttonProps: {
290
- type: import("vue").PropType<import("..").ButtonProps>;
290
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
291
291
  };
292
292
  }>, {
293
293
  inputRef: import("vue").Ref<any, any>;
@@ -311,13 +311,13 @@ declare const Input: {
311
311
  default: boolean;
312
312
  };
313
313
  size: {
314
- type: import("vue").PropType<import("..").Size>;
314
+ type: import("vue").PropType<import("../index.ts").Size>;
315
315
  };
316
316
  buttonText: {
317
317
  type: StringConstructor;
318
318
  };
319
319
  buttonProps: {
320
- type: import("vue").PropType<import("..").ButtonProps>;
320
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
321
321
  };
322
322
  }>> & Readonly<{
323
323
  onSearch?: ((_value: string, _ev: MouseEvent) => any) | undefined;
@@ -1,12 +1,12 @@
1
- declare var __VLS_10: {}, __VLS_13: {}, __VLS_36: {}, __VLS_39: {};
1
+ declare var __VLS_10: {}, __VLS_13: {}, __VLS_34: {}, __VLS_37: {};
2
2
  type __VLS_Slots = {} & {
3
3
  prepend?: (props: typeof __VLS_10) => any;
4
4
  } & {
5
5
  prefix?: (props: typeof __VLS_13) => any;
6
6
  } & {
7
- suffix?: (props: typeof __VLS_36) => any;
7
+ suffix?: (props: typeof __VLS_34) => any;
8
8
  } & {
9
- append?: (props: typeof __VLS_39) => any;
9
+ append?: (props: typeof __VLS_37) => any;
10
10
  };
11
11
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
12
12
  visibility: {
@@ -15,11 +15,11 @@ declare const JsonForm: {
15
15
  }> & Readonly<{
16
16
  "onUpdate:modelValue"?: ((value: import("./types").JsonFormModel | undefined) => any) | undefined;
17
17
  }>, {
18
- validate: (callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
19
- validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
18
+ validate: (callback?: ((errors: undefined | Record<string, import("../index.ts").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../index.ts").ValidatedError> | undefined> | undefined;
19
+ validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("../index.ts").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../index.ts").ValidatedError> | undefined> | undefined;
20
20
  resetFields: (field?: string | string[] | undefined) => void | undefined;
21
21
  clearValidate: (field?: string | string[] | undefined) => void | undefined;
22
- setFields: (data: Record<string, import("../form/interface").FieldData>) => void | undefined;
22
+ setFields: (data: Record<string, import("../form/interface.ts").FieldData>) => void | undefined;
23
23
  scrollToField: (field: string) => void | undefined;
24
24
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
25
  "update:modelValue": (value: import("./types").JsonFormModel | undefined) => any;
@@ -50,11 +50,11 @@ declare const JsonForm: {
50
50
  }> & Readonly<{
51
51
  "onUpdate:modelValue"?: ((value: import("./types").JsonFormModel | undefined) => any) | undefined;
52
52
  }>, {
53
- validate: (callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
54
- validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
53
+ validate: (callback?: ((errors: undefined | Record<string, import("../index.ts").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../index.ts").ValidatedError> | undefined> | undefined;
54
+ validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("../index.ts").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../index.ts").ValidatedError> | undefined> | undefined;
55
55
  resetFields: (field?: string | string[] | undefined) => void | undefined;
56
56
  clearValidate: (field?: string | string[] | undefined) => void | undefined;
57
- setFields: (data: Record<string, import("../form/interface").FieldData>) => void | undefined;
57
+ setFields: (data: Record<string, import("../form/interface.ts").FieldData>) => void | undefined;
58
58
  scrollToField: (field: string) => void | undefined;
59
59
  }, {}, {}, {}, {
60
60
  component: string | import("vue").Component;
@@ -80,11 +80,11 @@ declare const JsonForm: {
80
80
  }> & Readonly<{
81
81
  "onUpdate:modelValue"?: ((value: import("./types").JsonFormModel | undefined) => any) | undefined;
82
82
  }>, {
83
- validate: (callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
84
- validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
83
+ validate: (callback?: ((errors: undefined | Record<string, import("../index.ts").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../index.ts").ValidatedError> | undefined> | undefined;
84
+ validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("../index.ts").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../index.ts").ValidatedError> | undefined> | undefined;
85
85
  resetFields: (field?: string | string[] | undefined) => void | undefined;
86
86
  clearValidate: (field?: string | string[] | undefined) => void | undefined;
87
- setFields: (data: Record<string, import("../form/interface").FieldData>) => void | undefined;
87
+ setFields: (data: Record<string, import("../form/interface.ts").FieldData>) => void | undefined;
88
88
  scrollToField: (field: string) => void | undefined;
89
89
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
90
90
  "update:modelValue": (value: import("./types").JsonFormModel | undefined) => any;
@@ -35,7 +35,7 @@ var json_form_item_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
35
35
  const props = __props;
36
36
  const workingModel = useModel(__props, "modelValue");
37
37
  const normalizedField = computed(() => {
38
- return props.adapter === "a2ui-0.8" ? props.schema.field.replaceAll("/", ".") : props.schema.field;
38
+ return props.adapter === "a2ui-0.8" ? props.schema.field.replace(/^\//, "").replaceAll("/", ".") : props.schema.field;
39
39
  });
40
40
  const fieldModel = computed({
41
41
  get() {
@@ -14,11 +14,11 @@ type __VLS_Slots = {} & {
14
14
  default?: (props: typeof __VLS_9) => any;
15
15
  };
16
16
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
17
- validate: (callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
18
- validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("..").ValidatedError>) => void) | undefined) => Promise<Record<string, import("..").ValidatedError> | undefined> | undefined;
17
+ validate: (callback?: ((errors: undefined | Record<string, import("../form").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../form").ValidatedError> | undefined> | undefined;
18
+ validateField: (field: string | string[], callback?: ((errors: undefined | Record<string, import("../form").ValidatedError>) => void) | undefined) => Promise<Record<string, import("../form").ValidatedError> | undefined> | undefined;
19
19
  resetFields: (field?: string | string[] | undefined) => void | undefined;
20
20
  clearValidate: (field?: string | string[] | undefined) => void | undefined;
21
- setFields: (data: Record<string, import("../form/interface").FieldData>) => void | undefined;
21
+ setFields: (data: Record<string, import("../form/interface.ts").FieldData>) => void | undefined;
22
22
  scrollToField: (field: string) => void | undefined;
23
23
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
24
  "update:modelValue": (value: JsonFormModel | undefined) => any;
@@ -1,6 +1,6 @@
1
- declare var __VLS_1: {};
1
+ declare var __VLS_8: {};
2
2
  type __VLS_Slots = {} & {
3
- default?: (props: typeof __VLS_1) => any;
3
+ default?: (props: typeof __VLS_8) => any;
4
4
  };
5
5
  declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
6
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,13 +1,18 @@
1
1
  import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
- import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot } from "vue";
3
+ import { computed, createBlock, defineComponent, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, withCtx } from "vue";
4
4
  //#region components/layout/content.vue?vue&type=script&setup=true&lang.ts
5
+ var tagName = "main";
5
6
  var content_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "LayoutContent" }), {}, {
6
7
  __name: "content",
7
8
  setup(__props) {
8
- const classNames = [getPrefixCls("layout-content")];
9
+ const prefixCls = getPrefixCls("layout");
10
+ const classNames = computed(() => [`${prefixCls}-content`]);
9
11
  return (_ctx, _cache) => {
10
- return openBlock(), createElementBlock("main", { class: normalizeClass(classNames) }, [renderSlot(_ctx.$slots, "default")]);
12
+ return openBlock(), createBlock(resolveDynamicComponent(tagName), { class: normalizeClass(classNames.value) }, {
13
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
14
+ _: 3
15
+ }, 8, ["class"]);
11
16
  };
12
17
  }
13
18
  }));
@@ -1,12 +1,15 @@
1
1
  import { InjectionKey } from 'vue';
2
- export interface LayoutSiderContext {
3
- onSiderMount?: (id: string) => void;
4
- onSiderUnMount?: (id: string) => void;
2
+ import type { SiderTheme } from './interface';
3
+ export interface SiderHook {
4
+ addSider: (id: string) => void;
5
+ removeSider: (id: string) => void;
5
6
  }
6
- export declare const LayoutSiderInjectionKey: InjectionKey<LayoutSiderContext>;
7
- export interface SiderContext {
8
- theme: string;
9
- collapsed: boolean;
10
- collapsedWidth: string | number;
7
+ export interface LayoutContextProps {
8
+ siderHook: SiderHook;
11
9
  }
12
- export declare const SiderInjectionKey: InjectionKey<SiderContext>;
10
+ export declare const LayoutContextInjectionKey: InjectionKey<LayoutContextProps>;
11
+ export interface SiderContextProps {
12
+ siderCollapsed?: boolean;
13
+ theme?: SiderTheme;
14
+ }
15
+ export declare const SiderContextInjectionKey: InjectionKey<SiderContextProps>;