@sdata/web-vue 3.10.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 +204 -0
- package/dist/sd.min.css +1 -1
- package/es/components.d.ts +1 -0
- package/es/index.css +204 -0
- package/es/index.d.ts +2 -0
- 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/json/vetur-tags.json +3 -0
- package/json/web-types.json +7 -1
- package/package.json +1 -1
package/es/components.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ declare module 'vue' {
|
|
|
23
23
|
SdCard: SDVue['Card'];
|
|
24
24
|
SdCardMeta: SDVue['CardMeta'];
|
|
25
25
|
SdCardGrid: SDVue['CardGrid'];
|
|
26
|
+
SdSelectableCard: SDVue['SelectableCard'];
|
|
26
27
|
SdCarousel: SDVue['Carousel'];
|
|
27
28
|
SdCarouselItem: SDVue['CarouselItem'];
|
|
28
29
|
SdCascader: SDVue['Cascader'];
|
package/es/index.css
CHANGED
|
@@ -17801,6 +17801,210 @@ body.sd-tour-active .sd-tour-popover * {
|
|
|
17801
17801
|
box-shadow: 0 4px 10px rgb(var(--sd-gray-1), 40%);
|
|
17802
17802
|
}
|
|
17803
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
|
+
|
|
17804
18008
|
.sd-calendar--default-theme,
|
|
17805
18009
|
[class$=-calendar--default-theme] {
|
|
17806
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';
|
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 };
|