@sdata/web-vue 3.9.0 → 3.11.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.
- package/dist/sd.css +257 -5
- package/dist/sd.min.css +1 -1
- package/es/components.d.ts +1 -0
- package/es/file-previewer/file-previewer.vue.d.ts +5 -1
- package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +117 -21
- package/es/file-previewer/index.d.ts +33 -3
- package/es/file-previewer/pdfjs-worker-url.d.ts +2 -0
- package/es/file-previewer/pdfjs-worker-url.js +4 -0
- package/es/file-previewer/pdfjs-worker.min.mjs +29 -0
- package/es/file-previewer/style/index.css +53 -5
- package/es/file-previewer/style/index.scss +58 -6
- package/es/file-previewer/style/token.scss +13 -0
- package/es/file-previewer/types.d.ts +55 -1
- package/es/file-previewer/use-pdf-js.d.ts +20 -0
- package/es/file-previewer/use-pdf-js.js +197 -0
- package/es/index.css +257 -5
- package/es/index.d.ts +3 -1
- package/es/index.js +2 -1
- package/es/index.scss +1 -0
- package/es/sd-vue.js +2 -0
- package/es/selectable-card/index.d.ts +88 -0
- package/es/selectable-card/index.js +10 -0
- package/es/selectable-card/selectable-card.js +5 -0
- package/es/selectable-card/selectable-card.vue.d.ts +39 -0
- package/es/selectable-card/selectable-card.vue_vue_type_script_setup_true_lang.js +115 -0
- package/es/selectable-card/style/css.js +2 -0
- package/es/selectable-card/style/index.css +220 -0
- package/es/selectable-card/style/index.d.ts +2 -0
- package/es/selectable-card/style/index.js +2 -0
- package/es/selectable-card/style/index.scss +202 -0
- package/es/selectable-card/style/token.scss +27 -0
- package/es/selectable-card/types.d.ts +7 -0
- package/es/tree/base-node.vue_vue_type_script_setup_true_lang.js +17 -10
- package/es/tree/interface.d.ts +1 -0
- package/es/tree/tree.vue.d.ts +9 -0
- package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +8 -0
- package/json/vetur-attributes.json +4 -0
- package/json/vetur-tags.json +4 -0
- package/json/web-types.json +15 -1
- package/package.json +3 -1
package/es/index.css
CHANGED
|
@@ -14980,7 +14980,7 @@ body.sd-tour-active .sd-tour-popover * {
|
|
|
14980
14980
|
min-width: 0;
|
|
14981
14981
|
min-height: 0;
|
|
14982
14982
|
}
|
|
14983
|
-
.sd-file-previewer-image, .sd-file-previewer-video-player, .sd-file-previewer-audio-player, .sd-file-previewer-video
|
|
14983
|
+
.sd-file-previewer-image, .sd-file-previewer-video-player, .sd-file-previewer-audio-player, .sd-file-previewer-video {
|
|
14984
14984
|
display: block;
|
|
14985
14985
|
width: 100%;
|
|
14986
14986
|
height: 100%;
|
|
@@ -15023,12 +15023,60 @@ body.sd-tour-active .sd-tour-popover * {
|
|
|
15023
15023
|
width: 100%;
|
|
15024
15024
|
}
|
|
15025
15025
|
.sd-file-previewer-pdf {
|
|
15026
|
-
|
|
15027
|
-
|
|
15026
|
+
display: flex;
|
|
15027
|
+
flex-direction: column;
|
|
15028
|
+
gap: 6px;
|
|
15029
|
+
width: 100%;
|
|
15030
|
+
height: 100%;
|
|
15031
|
+
}
|
|
15032
|
+
.sd-file-previewer-pdf-canvas-wrap {
|
|
15033
|
+
display: flex;
|
|
15034
|
+
flex: 1;
|
|
15035
|
+
align-items: center;
|
|
15036
|
+
justify-content: center;
|
|
15037
|
+
min-width: 0;
|
|
15038
|
+
min-height: 0;
|
|
15039
|
+
overflow: auto;
|
|
15040
|
+
background: var(--sd-color-bg-1);
|
|
15028
15041
|
border-radius: var(--sd-border-radius-medium);
|
|
15029
15042
|
}
|
|
15030
|
-
.sd-file-previewer-
|
|
15031
|
-
|
|
15043
|
+
.sd-file-previewer-pdf-canvas {
|
|
15044
|
+
display: block;
|
|
15045
|
+
}
|
|
15046
|
+
.sd-file-previewer-pdf-toolbar {
|
|
15047
|
+
display: flex;
|
|
15048
|
+
flex-shrink: 0;
|
|
15049
|
+
gap: 6px;
|
|
15050
|
+
align-items: center;
|
|
15051
|
+
justify-content: center;
|
|
15052
|
+
padding: 4px;
|
|
15053
|
+
color: var(--sd-color-white);
|
|
15054
|
+
background: rgba(0, 0, 0, 0.5);
|
|
15055
|
+
border-radius: var(--sd-border-radius-medium);
|
|
15056
|
+
}
|
|
15057
|
+
.sd-file-previewer-pdf-btn {
|
|
15058
|
+
display: inline-flex;
|
|
15059
|
+
align-items: center;
|
|
15060
|
+
justify-content: center;
|
|
15061
|
+
min-width: 28px;
|
|
15062
|
+
height: 28px;
|
|
15063
|
+
padding: 0 6px;
|
|
15064
|
+
color: inherit;
|
|
15065
|
+
font-size: 16px;
|
|
15066
|
+
line-height: 1;
|
|
15067
|
+
background: transparent;
|
|
15068
|
+
border: 0;
|
|
15069
|
+
border-radius: var(--sd-border-radius-small);
|
|
15070
|
+
cursor: pointer;
|
|
15071
|
+
}
|
|
15072
|
+
.sd-file-previewer-pdf-btn:disabled {
|
|
15073
|
+
color: var(--sd-color-fill-3);
|
|
15074
|
+
cursor: not-allowed;
|
|
15075
|
+
}
|
|
15076
|
+
.sd-file-previewer-pdf-page {
|
|
15077
|
+
min-width: 64px;
|
|
15078
|
+
font-size: 14px;
|
|
15079
|
+
text-align: center;
|
|
15032
15080
|
}
|
|
15033
15081
|
.sd-file-previewer-close-btn {
|
|
15034
15082
|
position: absolute;
|
|
@@ -17753,6 +17801,210 @@ body.sd-tour-active .sd-tour-popover * {
|
|
|
17753
17801
|
box-shadow: 0 4px 10px rgb(var(--sd-gray-1), 40%);
|
|
17754
17802
|
}
|
|
17755
17803
|
|
|
17804
|
+
.sd-selectable-card {
|
|
17805
|
+
position: relative;
|
|
17806
|
+
box-sizing: border-box;
|
|
17807
|
+
color: var(--sd-color-text-1);
|
|
17808
|
+
background: var(--sd-color-bg-2);
|
|
17809
|
+
border: 1px solid var(--sd-color-neutral-3);
|
|
17810
|
+
border-radius: var(--sd-border-radius-large);
|
|
17811
|
+
cursor: pointer;
|
|
17812
|
+
transition: color 0.2s cubic-bezier(0, 0, 1, 1), background-color 0.2s cubic-bezier(0, 0, 1, 1), border-color 0.2s cubic-bezier(0, 0, 1, 1), box-shadow 0.2s cubic-bezier(0, 0, 1, 1);
|
|
17813
|
+
}
|
|
17814
|
+
.sd-selectable-card::after {
|
|
17815
|
+
position: absolute;
|
|
17816
|
+
background: transparent;
|
|
17817
|
+
border-radius: inherit;
|
|
17818
|
+
transition: background 0.2s cubic-bezier(0, 0, 1, 1);
|
|
17819
|
+
content: "";
|
|
17820
|
+
pointer-events: none;
|
|
17821
|
+
inset: 0;
|
|
17822
|
+
}
|
|
17823
|
+
@media (hover: hover) {
|
|
17824
|
+
.sd-selectable-card:not(.sd-selectable-card--disabled):hover::after {
|
|
17825
|
+
background: rgba(0, 0, 0, 0.05);
|
|
17826
|
+
}
|
|
17827
|
+
}
|
|
17828
|
+
.sd-selectable-card:not(.sd-selectable-card--disabled):active::after {
|
|
17829
|
+
background: rgba(0, 0, 0, 0.1);
|
|
17830
|
+
}
|
|
17831
|
+
.sd-selectable-card:has(.sd-selectable-card-input:focus-visible) {
|
|
17832
|
+
outline: 2px solid rgb(var(--sd-primary-6));
|
|
17833
|
+
outline-offset: 2px;
|
|
17834
|
+
}
|
|
17835
|
+
.sd-selectable-card-body {
|
|
17836
|
+
display: flex;
|
|
17837
|
+
min-width: 0;
|
|
17838
|
+
}
|
|
17839
|
+
.sd-selectable-card-content {
|
|
17840
|
+
display: flex;
|
|
17841
|
+
flex: 1;
|
|
17842
|
+
flex-direction: column;
|
|
17843
|
+
min-width: 0;
|
|
17844
|
+
}
|
|
17845
|
+
.sd-selectable-card-figure {
|
|
17846
|
+
display: flex;
|
|
17847
|
+
flex: none;
|
|
17848
|
+
align-items: center;
|
|
17849
|
+
justify-content: center;
|
|
17850
|
+
color: var(--sd-selectable-card-accent);
|
|
17851
|
+
font-size: 2em;
|
|
17852
|
+
}
|
|
17853
|
+
.sd-selectable-card-title {
|
|
17854
|
+
color: var(--sd-color-text-2);
|
|
17855
|
+
font-size: 14px;
|
|
17856
|
+
}
|
|
17857
|
+
.sd-selectable-card-value {
|
|
17858
|
+
color: var(--sd-color-text-1);
|
|
17859
|
+
font-weight: 600;
|
|
17860
|
+
line-height: 1.25;
|
|
17861
|
+
}
|
|
17862
|
+
.sd-selectable-card-description, .sd-selectable-card-default {
|
|
17863
|
+
color: var(--sd-color-text-3);
|
|
17864
|
+
font-size: 13px;
|
|
17865
|
+
line-height: 1.5715;
|
|
17866
|
+
}
|
|
17867
|
+
.sd-selectable-card-actions {
|
|
17868
|
+
position: relative;
|
|
17869
|
+
z-index: 1;
|
|
17870
|
+
display: flex;
|
|
17871
|
+
flex-wrap: wrap;
|
|
17872
|
+
gap: 8px;
|
|
17873
|
+
}
|
|
17874
|
+
.sd-selectable-card--layout-horizontal .sd-selectable-card-body {
|
|
17875
|
+
flex-direction: row;
|
|
17876
|
+
align-items: center;
|
|
17877
|
+
}
|
|
17878
|
+
.sd-selectable-card--layout-vertical .sd-selectable-card-body {
|
|
17879
|
+
flex-direction: column;
|
|
17880
|
+
}
|
|
17881
|
+
.sd-selectable-card--align-center .sd-selectable-card-body, .sd-selectable-card--align-center .sd-selectable-card-content {
|
|
17882
|
+
align-items: center;
|
|
17883
|
+
text-align: center;
|
|
17884
|
+
}
|
|
17885
|
+
.sd-selectable-card--size-small {
|
|
17886
|
+
padding: 12px;
|
|
17887
|
+
}
|
|
17888
|
+
.sd-selectable-card--size-small .sd-selectable-card-body, .sd-selectable-card--size-small .sd-selectable-card-content {
|
|
17889
|
+
gap: 8px;
|
|
17890
|
+
}
|
|
17891
|
+
.sd-selectable-card--size-small .sd-selectable-card-value {
|
|
17892
|
+
font-size: 16px;
|
|
17893
|
+
}
|
|
17894
|
+
.sd-selectable-card--size-medium {
|
|
17895
|
+
padding: 16px;
|
|
17896
|
+
}
|
|
17897
|
+
.sd-selectable-card--size-medium .sd-selectable-card-body, .sd-selectable-card--size-medium .sd-selectable-card-content {
|
|
17898
|
+
gap: 12px;
|
|
17899
|
+
}
|
|
17900
|
+
.sd-selectable-card--size-medium .sd-selectable-card-value {
|
|
17901
|
+
font-size: 20px;
|
|
17902
|
+
}
|
|
17903
|
+
.sd-selectable-card--size-large {
|
|
17904
|
+
padding: 24px;
|
|
17905
|
+
}
|
|
17906
|
+
.sd-selectable-card--size-large .sd-selectable-card-body, .sd-selectable-card--size-large .sd-selectable-card-content {
|
|
17907
|
+
gap: 20px;
|
|
17908
|
+
}
|
|
17909
|
+
.sd-selectable-card--size-large .sd-selectable-card-value {
|
|
17910
|
+
font-size: 24px;
|
|
17911
|
+
}
|
|
17912
|
+
.sd-selectable-card--color-red {
|
|
17913
|
+
--sd-selectable-card-accent: rgb(var(--sd-red-6));
|
|
17914
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-red-1));
|
|
17915
|
+
--sd-selectable-card-border: rgb(var(--sd-red-6));
|
|
17916
|
+
}
|
|
17917
|
+
.sd-selectable-card--color-orangered {
|
|
17918
|
+
--sd-selectable-card-accent: rgb(var(--sd-orangered-6));
|
|
17919
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-orangered-1));
|
|
17920
|
+
--sd-selectable-card-border: rgb(var(--sd-orangered-6));
|
|
17921
|
+
}
|
|
17922
|
+
.sd-selectable-card--color-orange {
|
|
17923
|
+
--sd-selectable-card-accent: rgb(var(--sd-orange-6));
|
|
17924
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-orange-1));
|
|
17925
|
+
--sd-selectable-card-border: rgb(var(--sd-orange-6));
|
|
17926
|
+
}
|
|
17927
|
+
.sd-selectable-card--color-gold {
|
|
17928
|
+
--sd-selectable-card-accent: rgb(var(--sd-gold-6));
|
|
17929
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-gold-1));
|
|
17930
|
+
--sd-selectable-card-border: rgb(var(--sd-gold-6));
|
|
17931
|
+
}
|
|
17932
|
+
.sd-selectable-card--color-lime {
|
|
17933
|
+
--sd-selectable-card-accent: rgb(var(--sd-lime-6));
|
|
17934
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-lime-1));
|
|
17935
|
+
--sd-selectable-card-border: rgb(var(--sd-lime-6));
|
|
17936
|
+
}
|
|
17937
|
+
.sd-selectable-card--color-green {
|
|
17938
|
+
--sd-selectable-card-accent: rgb(var(--sd-green-6));
|
|
17939
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-green-1));
|
|
17940
|
+
--sd-selectable-card-border: rgb(var(--sd-green-6));
|
|
17941
|
+
}
|
|
17942
|
+
.sd-selectable-card--color-cyan {
|
|
17943
|
+
--sd-selectable-card-accent: rgb(var(--sd-cyan-6));
|
|
17944
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-cyan-1));
|
|
17945
|
+
--sd-selectable-card-border: rgb(var(--sd-cyan-6));
|
|
17946
|
+
}
|
|
17947
|
+
.sd-selectable-card--color-blue {
|
|
17948
|
+
--sd-selectable-card-accent: rgb(var(--sd-blue-6));
|
|
17949
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-blue-1));
|
|
17950
|
+
--sd-selectable-card-border: rgb(var(--sd-blue-6));
|
|
17951
|
+
}
|
|
17952
|
+
.sd-selectable-card--color-sdblue {
|
|
17953
|
+
--sd-selectable-card-accent: rgb(var(--sd-sdblue-6));
|
|
17954
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-sdblue-1));
|
|
17955
|
+
--sd-selectable-card-border: rgb(var(--sd-sdblue-6));
|
|
17956
|
+
}
|
|
17957
|
+
.sd-selectable-card--color-purple {
|
|
17958
|
+
--sd-selectable-card-accent: rgb(var(--sd-purple-6));
|
|
17959
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-purple-1));
|
|
17960
|
+
--sd-selectable-card-border: rgb(var(--sd-purple-6));
|
|
17961
|
+
}
|
|
17962
|
+
.sd-selectable-card--color-pinkpurple {
|
|
17963
|
+
--sd-selectable-card-accent: rgb(var(--sd-pinkpurple-6));
|
|
17964
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-pinkpurple-1));
|
|
17965
|
+
--sd-selectable-card-border: rgb(var(--sd-pinkpurple-6));
|
|
17966
|
+
}
|
|
17967
|
+
.sd-selectable-card--color-magenta {
|
|
17968
|
+
--sd-selectable-card-accent: rgb(var(--sd-magenta-6));
|
|
17969
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-magenta-1));
|
|
17970
|
+
--sd-selectable-card-border: rgb(var(--sd-magenta-6));
|
|
17971
|
+
}
|
|
17972
|
+
.sd-selectable-card--color-gray {
|
|
17973
|
+
--sd-selectable-card-accent: rgb(var(--sd-gray-6));
|
|
17974
|
+
--sd-selectable-card-soft-bg: rgb(var(--sd-gray-2));
|
|
17975
|
+
--sd-selectable-card-border: rgb(var(--sd-gray-6));
|
|
17976
|
+
}
|
|
17977
|
+
.sd-selectable-card--selected {
|
|
17978
|
+
border-color: var(--sd-selectable-card-border);
|
|
17979
|
+
box-shadow: inset 0 0 0 2px var(--sd-selectable-card-border);
|
|
17980
|
+
}
|
|
17981
|
+
.sd-selectable-card--selected.sd-selectable-card--soft {
|
|
17982
|
+
color: var(--sd-selectable-card-accent);
|
|
17983
|
+
background: var(--sd-selectable-card-soft-bg);
|
|
17984
|
+
}
|
|
17985
|
+
.sd-selectable-card--selected.sd-selectable-card--filled {
|
|
17986
|
+
color: #fff;
|
|
17987
|
+
background: var(--sd-selectable-card-border);
|
|
17988
|
+
}
|
|
17989
|
+
.sd-selectable-card--selected.sd-selectable-card--filled .sd-selectable-card-title, .sd-selectable-card--selected.sd-selectable-card--filled .sd-selectable-card-value, .sd-selectable-card--selected.sd-selectable-card--filled .sd-selectable-card-description, .sd-selectable-card--selected.sd-selectable-card--filled .sd-selectable-card-default, .sd-selectable-card--selected.sd-selectable-card--filled .sd-selectable-card-figure {
|
|
17990
|
+
color: inherit;
|
|
17991
|
+
}
|
|
17992
|
+
.sd-selectable-card--disabled {
|
|
17993
|
+
cursor: not-allowed;
|
|
17994
|
+
opacity: 0.5;
|
|
17995
|
+
}
|
|
17996
|
+
.sd-selectable-card-input {
|
|
17997
|
+
position: absolute;
|
|
17998
|
+
width: 1px;
|
|
17999
|
+
height: 1px;
|
|
18000
|
+
margin: -1px;
|
|
18001
|
+
padding: 0;
|
|
18002
|
+
overflow: hidden;
|
|
18003
|
+
white-space: nowrap;
|
|
18004
|
+
border: 0;
|
|
18005
|
+
clip-path: inset(50%);
|
|
18006
|
+
}
|
|
18007
|
+
|
|
17756
18008
|
.sd-calendar--default-theme,
|
|
17757
18009
|
[class$=-calendar--default-theme] {
|
|
17758
18010
|
--sd-calendar-primary-color: rgb(var(--sd-primary-6));
|
package/es/index.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export { default as Card, CardGrid, CardMeta } from './card';
|
|
|
26
26
|
export { default as Calendar } from './calendar';
|
|
27
27
|
export type { CalendarInstance } from './calendar';
|
|
28
28
|
export type { CardGridInstance, CardInstance, CardMetaInstance } from './card';
|
|
29
|
+
export { default as SelectableCard } from './selectable-card';
|
|
30
|
+
export type { SelectableCardAlign, SelectableCardColor, SelectableCardInstance, SelectableCardLayout, SelectableCardSize, SelectableCardSizeValue, SelectableCardVariant, } from './selectable-card';
|
|
29
31
|
export { default as Carousel, CarouselItem } from './carousel';
|
|
30
32
|
export type { CarouselArrowType, CarouselAutoPlayConfig, CarouselIndicatorPosition, CarouselIndicatorType, CarouselInstance, CarouselItemInstance, CarouselTriggerEvent, } from './carousel';
|
|
31
33
|
export { default as Cascader, CascaderPanel } from './cascader';
|
|
@@ -70,7 +72,7 @@ export type { ColProps, GridColInstance, GridInstance, GridItemInstance, GridIte
|
|
|
70
72
|
export { default as Icon } from './icon-component';
|
|
71
73
|
export type { IconInstance, IconProps } from './icon-component';
|
|
72
74
|
export { default as FilePreviewer } from './file-previewer';
|
|
73
|
-
export type { FilePreviewerContentSlotProps, FilePreviewerImageProps, FilePreviewerInstance, FilePreviewerMediaProps, FilePreviewerMediaSkin, FilePreviewerPdfProps, FilePreviewerProps, FilePreviewerStatus, FilePreviewerType, } from './file-previewer';
|
|
75
|
+
export type { FilePreviewerContentSlotProps, FilePreviewerImageProps, FilePreviewerImageSlotProps, FilePreviewerInstance, FilePreviewerMediaProps, FilePreviewerMediaSkin, FilePreviewerMediaSlotProps, FilePreviewerPdfProps, FilePreviewerPdfRotation, FilePreviewerPdfSlotProps, FilePreviewerProps, FilePreviewerStatus, FilePreviewerType, } from './file-previewer';
|
|
74
76
|
export { default as Image, ImagePreviewAction, ImagePreview, ImagePreviewGroup } from './image';
|
|
75
77
|
export type { ImageInstance, ImagePreviewActionInstance, ImagePreviewInstance, ImagePreviewGroupInstance, } from './image';
|
|
76
78
|
export { default as Input, InputGroup, InputPassword, InputSearch } from './input';
|
package/es/index.js
CHANGED
|
@@ -113,6 +113,7 @@ import QrCode from "./qr-code/index.js";
|
|
|
113
113
|
import ResizeBox from "./resize-box/index.js";
|
|
114
114
|
import Result from "./result/index.js";
|
|
115
115
|
import Secret from "./secret/index.js";
|
|
116
|
+
import SelectableCard from "./selectable-card/index.js";
|
|
116
117
|
import line_default from "./skeleton/line.js";
|
|
117
118
|
import shape_default from "./skeleton/shape.js";
|
|
118
119
|
import Skeleton from "./skeleton/index.js";
|
|
@@ -144,4 +145,4 @@ import Typography from "./typography/index.js";
|
|
|
144
145
|
import Upload from "./upload/index.js";
|
|
145
146
|
import Watermark from "./watermark/index.js";
|
|
146
147
|
import SDVue from "./sd-vue.js";
|
|
147
|
-
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, FilePreviewer, 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, Toolbar, 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 };
|
|
148
|
+
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, FilePreviewer, 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, SelectableCard, 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, Toolbar, 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
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
@use '@components/cascader/style/index.scss' as *;
|
|
76
76
|
@use '@components/carousel/style/index.scss' as *;
|
|
77
77
|
@use '@components/card/style/index.scss' as *;
|
|
78
|
+
@use '@components/selectable-card/style/index.scss' as *;
|
|
78
79
|
@use '@components/calendar/style/index.scss' as *;
|
|
79
80
|
@use '@components/button/style/index.scss' as *;
|
|
80
81
|
@use '@components/breadcrumb/style/index.scss' as *;
|
package/es/sd-vue.js
CHANGED
|
@@ -112,6 +112,7 @@ import QrCode from "./qr-code/index.js";
|
|
|
112
112
|
import ResizeBox from "./resize-box/index.js";
|
|
113
113
|
import Result from "./result/index.js";
|
|
114
114
|
import Secret from "./secret/index.js";
|
|
115
|
+
import SelectableCard from "./selectable-card/index.js";
|
|
115
116
|
import line_default from "./skeleton/line.js";
|
|
116
117
|
import shape_default from "./skeleton/shape.js";
|
|
117
118
|
import Skeleton from "./skeleton/index.js";
|
|
@@ -155,6 +156,7 @@ var components = {
|
|
|
155
156
|
Badge,
|
|
156
157
|
Calendar,
|
|
157
158
|
Card,
|
|
159
|
+
SelectableCard,
|
|
158
160
|
Carousel,
|
|
159
161
|
Collapse,
|
|
160
162
|
Comment,
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { App } from 'vue';
|
|
2
|
+
import type { SDOptions } from '../_utils/types';
|
|
3
|
+
import _SelectableCard from './selectable-card.vue';
|
|
4
|
+
declare const SelectableCard: {
|
|
5
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
6
|
+
label: string;
|
|
7
|
+
isSelected: boolean;
|
|
8
|
+
isDisabled?: boolean;
|
|
9
|
+
color?: import("./types").SelectableCardColor;
|
|
10
|
+
variant?: import("./types").SelectableCardVariant;
|
|
11
|
+
size?: import("./types").SelectableCardSize;
|
|
12
|
+
layout?: import("./types").SelectableCardLayout;
|
|
13
|
+
align?: import("./types").SelectableCardAlign;
|
|
14
|
+
padding?: import("./types").SelectableCardSizeValue;
|
|
15
|
+
title?: string;
|
|
16
|
+
value?: string | number;
|
|
17
|
+
description?: string;
|
|
18
|
+
width?: import("./types").SelectableCardSizeValue;
|
|
19
|
+
height?: import("./types").SelectableCardSizeValue;
|
|
20
|
+
maxWidth?: import("./types").SelectableCardSizeValue;
|
|
21
|
+
}> & Readonly<{
|
|
22
|
+
onChange?: ((isSelected: boolean) => any) | undefined;
|
|
23
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
24
|
+
change: (isSelected: boolean) => any;
|
|
25
|
+
}, import("vue").PublicProps, {}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
26
|
+
P: {};
|
|
27
|
+
B: {};
|
|
28
|
+
D: {};
|
|
29
|
+
C: {};
|
|
30
|
+
M: {};
|
|
31
|
+
Defaults: {};
|
|
32
|
+
}, Readonly<{
|
|
33
|
+
label: string;
|
|
34
|
+
isSelected: boolean;
|
|
35
|
+
isDisabled?: boolean;
|
|
36
|
+
color?: import("./types").SelectableCardColor;
|
|
37
|
+
variant?: import("./types").SelectableCardVariant;
|
|
38
|
+
size?: import("./types").SelectableCardSize;
|
|
39
|
+
layout?: import("./types").SelectableCardLayout;
|
|
40
|
+
align?: import("./types").SelectableCardAlign;
|
|
41
|
+
padding?: import("./types").SelectableCardSizeValue;
|
|
42
|
+
title?: string;
|
|
43
|
+
value?: string | number;
|
|
44
|
+
description?: string;
|
|
45
|
+
width?: import("./types").SelectableCardSizeValue;
|
|
46
|
+
height?: import("./types").SelectableCardSizeValue;
|
|
47
|
+
maxWidth?: import("./types").SelectableCardSizeValue;
|
|
48
|
+
}> & Readonly<{
|
|
49
|
+
onChange?: ((isSelected: boolean) => any) | undefined;
|
|
50
|
+
}>, {}, {}, {}, {}, {}>;
|
|
51
|
+
__isFragment?: never;
|
|
52
|
+
__isTeleport?: never;
|
|
53
|
+
__isSuspense?: never;
|
|
54
|
+
} & import("vue").ComponentOptionsBase<Readonly<{
|
|
55
|
+
label: string;
|
|
56
|
+
isSelected: boolean;
|
|
57
|
+
isDisabled?: boolean;
|
|
58
|
+
color?: import("./types").SelectableCardColor;
|
|
59
|
+
variant?: import("./types").SelectableCardVariant;
|
|
60
|
+
size?: import("./types").SelectableCardSize;
|
|
61
|
+
layout?: import("./types").SelectableCardLayout;
|
|
62
|
+
align?: import("./types").SelectableCardAlign;
|
|
63
|
+
padding?: import("./types").SelectableCardSizeValue;
|
|
64
|
+
title?: string;
|
|
65
|
+
value?: string | number;
|
|
66
|
+
description?: string;
|
|
67
|
+
width?: import("./types").SelectableCardSizeValue;
|
|
68
|
+
height?: import("./types").SelectableCardSizeValue;
|
|
69
|
+
maxWidth?: import("./types").SelectableCardSizeValue;
|
|
70
|
+
}> & Readonly<{
|
|
71
|
+
onChange?: ((isSelected: boolean) => any) | undefined;
|
|
72
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
73
|
+
change: (isSelected: boolean) => any;
|
|
74
|
+
}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
75
|
+
$slots: {
|
|
76
|
+
default?: () => unknown;
|
|
77
|
+
figure?: () => unknown;
|
|
78
|
+
title?: () => unknown;
|
|
79
|
+
value?: () => unknown;
|
|
80
|
+
description?: () => unknown;
|
|
81
|
+
actions?: () => unknown;
|
|
82
|
+
};
|
|
83
|
+
}) & {
|
|
84
|
+
install: (app: App, options?: SDOptions) => void;
|
|
85
|
+
};
|
|
86
|
+
export type SelectableCardInstance = InstanceType<typeof _SelectableCard>;
|
|
87
|
+
export type { SelectableCardAlign, SelectableCardColor, SelectableCardLayout, SelectableCardSize, SelectableCardSizeValue, SelectableCardVariant, } from './types';
|
|
88
|
+
export default SelectableCard;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { getComponentPrefix, setGlobalConfig } from "../_utils/global-config.js";
|
|
2
|
+
import selectable_card_default from "./selectable-card.js";
|
|
3
|
+
//#region components/selectable-card/index.ts
|
|
4
|
+
var SelectableCard = Object.assign(selectable_card_default, { install: (app, options) => {
|
|
5
|
+
setGlobalConfig(app, options);
|
|
6
|
+
const componentPrefix = getComponentPrefix(options);
|
|
7
|
+
app.component(componentPrefix + selectable_card_default.name, selectable_card_default);
|
|
8
|
+
} });
|
|
9
|
+
//#endregion
|
|
10
|
+
export { SelectableCard as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import selectable_card_vue_vue_type_script_setup_true_lang_default from "./selectable-card.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/selectable-card/selectable-card.vue
|
|
3
|
+
var selectable_card_default = selectable_card_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { selectable_card_default as default };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { SelectableCardAlign, SelectableCardColor, SelectableCardLayout, SelectableCardSize, SelectableCardSizeValue, SelectableCardVariant } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
label: string;
|
|
4
|
+
isSelected: boolean;
|
|
5
|
+
isDisabled?: boolean;
|
|
6
|
+
color?: SelectableCardColor;
|
|
7
|
+
variant?: SelectableCardVariant;
|
|
8
|
+
size?: SelectableCardSize;
|
|
9
|
+
layout?: SelectableCardLayout;
|
|
10
|
+
align?: SelectableCardAlign;
|
|
11
|
+
padding?: SelectableCardSizeValue;
|
|
12
|
+
title?: string;
|
|
13
|
+
value?: string | number;
|
|
14
|
+
description?: string;
|
|
15
|
+
width?: SelectableCardSizeValue;
|
|
16
|
+
height?: SelectableCardSizeValue;
|
|
17
|
+
maxWidth?: SelectableCardSizeValue;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_Slots = {
|
|
20
|
+
default?: () => unknown;
|
|
21
|
+
figure?: () => unknown;
|
|
22
|
+
title?: () => unknown;
|
|
23
|
+
value?: () => unknown;
|
|
24
|
+
description?: () => unknown;
|
|
25
|
+
actions?: () => unknown;
|
|
26
|
+
};
|
|
27
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
28
|
+
change: (isSelected: boolean) => any;
|
|
29
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
30
|
+
onChange?: ((isSelected: boolean) => any) | undefined;
|
|
31
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
33
|
+
declare const _default: typeof __VLS_export;
|
|
34
|
+
export default _default;
|
|
35
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
36
|
+
new (): {
|
|
37
|
+
$slots: S;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot, toDisplayString, unref, useId } from "vue";
|
|
4
|
+
//#region components/selectable-card/selectable-card.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = ["data-selected", "data-variant"];
|
|
6
|
+
var _hoisted_2 = [
|
|
7
|
+
"aria-label",
|
|
8
|
+
"checked",
|
|
9
|
+
"disabled"
|
|
10
|
+
];
|
|
11
|
+
var selectable_card_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "SelectableCard" }), {}, {
|
|
12
|
+
__name: "selectable-card",
|
|
13
|
+
props: {
|
|
14
|
+
label: {},
|
|
15
|
+
isSelected: { type: Boolean },
|
|
16
|
+
isDisabled: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: false
|
|
19
|
+
},
|
|
20
|
+
color: { default: "sdblue" },
|
|
21
|
+
variant: { default: "outline" },
|
|
22
|
+
size: { default: "medium" },
|
|
23
|
+
layout: { default: "vertical" },
|
|
24
|
+
align: { default: "start" },
|
|
25
|
+
padding: {},
|
|
26
|
+
title: {},
|
|
27
|
+
value: {},
|
|
28
|
+
description: {},
|
|
29
|
+
width: {},
|
|
30
|
+
height: {},
|
|
31
|
+
maxWidth: {}
|
|
32
|
+
},
|
|
33
|
+
emits: ["change"],
|
|
34
|
+
setup(__props, { emit: __emit }) {
|
|
35
|
+
const emit = __emit;
|
|
36
|
+
const prefixCls = getPrefixCls("selectable-card");
|
|
37
|
+
const inputId = `selectable-card-${useId()}`;
|
|
38
|
+
const classes = computed(() => [
|
|
39
|
+
prefixCls,
|
|
40
|
+
`${prefixCls}--color-${__props.color}`,
|
|
41
|
+
`${prefixCls}--${__props.variant}`,
|
|
42
|
+
`${prefixCls}--size-${__props.size}`,
|
|
43
|
+
`${prefixCls}--layout-${__props.layout}`,
|
|
44
|
+
`${prefixCls}--align-${__props.align}`,
|
|
45
|
+
{
|
|
46
|
+
[`${prefixCls}--selected`]: __props.isSelected,
|
|
47
|
+
[`${prefixCls}--disabled`]: __props.isDisabled
|
|
48
|
+
}
|
|
49
|
+
]);
|
|
50
|
+
function toCssSize(value, spacing = false) {
|
|
51
|
+
if (value === void 0) return void 0;
|
|
52
|
+
return typeof value === "number" ? `${spacing ? value * 4 : value}px` : value;
|
|
53
|
+
}
|
|
54
|
+
const rootStyle = computed(() => ({
|
|
55
|
+
padding: toCssSize(__props.padding, true),
|
|
56
|
+
width: toCssSize(__props.width),
|
|
57
|
+
height: toCssSize(__props.height),
|
|
58
|
+
maxWidth: toCssSize(__props.maxWidth)
|
|
59
|
+
}));
|
|
60
|
+
function toggle() {
|
|
61
|
+
if (!__props.isDisabled) emit("change", !__props.isSelected);
|
|
62
|
+
}
|
|
63
|
+
function handleCardClick(event) {
|
|
64
|
+
if (__props.isDisabled) return;
|
|
65
|
+
if (event.target.closest("a, button, input, select, textarea, [role=\"button\"]")) return;
|
|
66
|
+
toggle();
|
|
67
|
+
}
|
|
68
|
+
function handleInputChange() {
|
|
69
|
+
toggle();
|
|
70
|
+
}
|
|
71
|
+
return (_ctx, _cache) => {
|
|
72
|
+
return openBlock(), createElementBlock("div", {
|
|
73
|
+
class: normalizeClass(classes.value),
|
|
74
|
+
style: normalizeStyle(rootStyle.value),
|
|
75
|
+
"data-selected": __props.isSelected,
|
|
76
|
+
"data-variant": __props.variant,
|
|
77
|
+
onClick: handleCardClick
|
|
78
|
+
}, [createElementVNode("input", {
|
|
79
|
+
id: inputId,
|
|
80
|
+
class: normalizeClass(`${unref(prefixCls)}-input`),
|
|
81
|
+
type: "checkbox",
|
|
82
|
+
"aria-label": __props.label,
|
|
83
|
+
checked: __props.isSelected,
|
|
84
|
+
disabled: __props.isDisabled,
|
|
85
|
+
onChange: handleInputChange
|
|
86
|
+
}, null, 42, _hoisted_2), createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-body`) }, [_ctx.$slots.figure ? (openBlock(), createElementBlock("div", {
|
|
87
|
+
key: 0,
|
|
88
|
+
class: normalizeClass(`${unref(prefixCls)}-figure`)
|
|
89
|
+
}, [renderSlot(_ctx.$slots, "figure")], 2)) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-content`) }, [
|
|
90
|
+
_ctx.$slots.title || __props.title ? (openBlock(), createElementBlock("div", {
|
|
91
|
+
key: 0,
|
|
92
|
+
class: normalizeClass(`${unref(prefixCls)}-title`)
|
|
93
|
+
}, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 2)) : createCommentVNode("", true),
|
|
94
|
+
_ctx.$slots.value || __props.value ? (openBlock(), createElementBlock("div", {
|
|
95
|
+
key: 1,
|
|
96
|
+
class: normalizeClass(`${unref(prefixCls)}-value`)
|
|
97
|
+
}, [renderSlot(_ctx.$slots, "value", {}, () => [createTextVNode(toDisplayString(__props.value), 1)])], 2)) : createCommentVNode("", true),
|
|
98
|
+
_ctx.$slots.description || __props.description ? (openBlock(), createElementBlock("div", {
|
|
99
|
+
key: 2,
|
|
100
|
+
class: normalizeClass(`${unref(prefixCls)}-description`)
|
|
101
|
+
}, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(__props.description), 1)])], 2)) : createCommentVNode("", true),
|
|
102
|
+
_ctx.$slots.default ? (openBlock(), createElementBlock("div", {
|
|
103
|
+
key: 3,
|
|
104
|
+
class: normalizeClass(`${unref(prefixCls)}-default`)
|
|
105
|
+
}, [renderSlot(_ctx.$slots, "default")], 2)) : createCommentVNode("", true),
|
|
106
|
+
_ctx.$slots.actions ? (openBlock(), createElementBlock("div", {
|
|
107
|
+
key: 4,
|
|
108
|
+
class: normalizeClass(`${unref(prefixCls)}-actions`)
|
|
109
|
+
}, [renderSlot(_ctx.$slots, "actions")], 2)) : createCommentVNode("", true)
|
|
110
|
+
], 2)], 2)], 14, _hoisted_1);
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}));
|
|
114
|
+
//#endregion
|
|
115
|
+
export { selectable_card_vue_vue_type_script_setup_true_lang_default as default };
|