@chenzy-design/svelte 0.2.1 → 0.3.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/anchor/Anchor.svelte +1 -1
- package/dist/anchor/meta.d.ts +1 -1
- package/dist/anchor/meta.js +1 -1
- package/dist/autocomplete/AutoComplete.svelte +10 -10
- package/dist/avatar/Avatar.svelte +12 -7
- package/dist/avatar/AvatarGroup.svelte +2 -2
- package/dist/avatar/context.d.ts +1 -1
- package/dist/avatar/context.d.ts.map +1 -1
- package/dist/avatar/meta.d.ts +2 -2
- package/dist/avatar/meta.d.ts.map +1 -1
- package/dist/avatar/meta.js +3 -1
- package/dist/badge/Badge.svelte +5 -5
- package/dist/banner/Banner.svelte +1 -1
- package/dist/breadcrumb/Breadcrumb.svelte +9 -8
- package/dist/breadcrumb/meta.d.ts +1 -1
- package/dist/breadcrumb/meta.js +1 -1
- package/dist/button/Button.svelte +289 -55
- package/dist/button/Button.svelte.d.ts +20 -4
- package/dist/button/Button.svelte.d.ts.map +1 -1
- package/dist/button/ButtonGroup.svelte +107 -0
- package/dist/button/ButtonGroup.svelte.d.ts +21 -0
- package/dist/button/ButtonGroup.svelte.d.ts.map +1 -0
- package/dist/button/SplitButtonGroup.svelte +127 -0
- package/dist/button/SplitButtonGroup.svelte.d.ts +35 -0
- package/dist/button/SplitButtonGroup.svelte.d.ts.map +1 -0
- package/dist/button/context.d.ts +14 -0
- package/dist/button/context.d.ts.map +1 -0
- package/dist/button/context.js +14 -0
- package/dist/button/index.d.ts +3 -0
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/index.js +3 -0
- package/dist/button/meta.d.ts +173 -4
- package/dist/button/meta.d.ts.map +1 -1
- package/dist/button/meta.js +58 -9
- package/dist/calendar/Calendar.svelte +16 -16
- package/dist/card/Card.svelte +10 -10
- package/dist/card/Card.svelte.d.ts +1 -1
- package/dist/card/Card.svelte.d.ts.map +1 -1
- package/dist/card/CardMeta.svelte +6 -6
- package/dist/card/CardMeta.svelte.d.ts +1 -1
- package/dist/card/CardMeta.svelte.d.ts.map +1 -1
- package/dist/card/index.d.ts +8 -0
- package/dist/card/index.d.ts.map +1 -0
- package/dist/card/meta.d.ts +1 -1
- package/dist/card/meta.d.ts.map +1 -1
- package/dist/card/meta.js +4 -0
- package/dist/carousel/Carousel.svelte +14 -14
- package/dist/carousel/meta.d.ts +1 -1
- package/dist/carousel/meta.js +2 -2
- package/dist/cascader/Cascader.svelte +18 -10
- package/dist/checkbox/Checkbox.svelte +19 -5
- package/dist/checkbox/Checkbox.svelte.d.ts +3 -0
- package/dist/checkbox/Checkbox.svelte.d.ts.map +1 -1
- package/dist/checkbox/CheckboxGroup.svelte +1 -1
- package/dist/checkbox/meta.d.ts +15 -0
- package/dist/checkbox/meta.d.ts.map +1 -1
- package/dist/checkbox/meta.js +3 -0
- package/dist/collapse/Collapse.svelte +6 -2
- package/dist/collapse/meta.d.ts +1 -1
- package/dist/collapse/meta.js +2 -2
- package/dist/color-picker/ColorPicker.svelte +69 -33
- package/dist/color-picker/ColorPicker.svelte.d.ts +13 -0
- package/dist/color-picker/ColorPicker.svelte.d.ts.map +1 -1
- package/dist/color-picker/meta.d.ts +30 -0
- package/dist/color-picker/meta.d.ts.map +1 -1
- package/dist/color-picker/meta.js +6 -0
- package/dist/components.d.ts +25 -9
- package/dist/components.json +986 -76
- package/dist/date-picker/DatePicker.svelte +43 -42
- package/dist/date-picker/RangePicker.svelte +10 -10
- package/dist/descriptions/Descriptions.svelte +7 -3
- package/dist/divider/Divider.svelte +1 -1
- package/dist/drawer/Drawer.svelte +1 -1
- package/dist/dropdown/Dropdown.svelte +6 -5
- package/dist/dropdown/DropdownDivider.svelte +1 -1
- package/dist/dropdown/DropdownItem.svelte +1 -1
- package/dist/dropdown/DropdownItemNode.svelte +4 -4
- package/dist/dropdown/DropdownSubMenu.svelte +2 -2
- package/dist/dropdown/DropdownTitle.svelte +1 -1
- package/dist/dropdown/meta.d.ts +1 -1
- package/dist/dropdown/meta.js +1 -1
- package/dist/empty/Empty.svelte +1 -0
- package/dist/form/Field.svelte +14 -14
- package/dist/form/Form.svelte +2 -2
- package/dist/form/FormCascader.svelte +6 -6
- package/dist/form/FormCheckbox.svelte +6 -6
- package/dist/form/FormDatePicker.svelte +5 -5
- package/dist/form/FormLabel.svelte +2 -2
- package/dist/form/FormRadio.svelte +5 -5
- package/dist/form/FormRating.svelte +7 -7
- package/dist/form/FormSection.svelte +2 -2
- package/dist/form/FormSelect.svelte +12 -12
- package/dist/form/FormSlider.svelte +10 -10
- package/dist/form/FormSwitch.svelte +5 -5
- package/dist/form/FormTagInput.svelte +5 -5
- package/dist/form/FormTreeSelect.svelte +7 -7
- package/dist/form/FormUpload.svelte +10 -10
- package/dist/highlight/Highlight.svelte +2 -2
- package/dist/highlight/meta.d.ts +1 -1
- package/dist/highlight/meta.d.ts.map +1 -1
- package/dist/highlight/meta.js +6 -1
- package/dist/image/ImagePreview.svelte +7 -7
- package/dist/image/meta.d.ts +1 -1
- package/dist/image/meta.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/input/Input.svelte +14 -7
- package/dist/input-number/InputNumber.svelte +25 -19
- package/dist/layout/Content.svelte +17 -3
- package/dist/layout/Content.svelte.d.ts +6 -0
- package/dist/layout/Content.svelte.d.ts.map +1 -1
- package/dist/layout/Footer.svelte +22 -5
- package/dist/layout/Footer.svelte.d.ts +6 -0
- package/dist/layout/Footer.svelte.d.ts.map +1 -1
- package/dist/layout/Header.svelte +20 -3
- package/dist/layout/Header.svelte.d.ts +6 -0
- package/dist/layout/Header.svelte.d.ts.map +1 -1
- package/dist/layout/Layout.svelte +15 -2
- package/dist/layout/Layout.svelte.d.ts +6 -0
- package/dist/layout/Layout.svelte.d.ts.map +1 -1
- package/dist/layout/Sider.svelte +29 -4
- package/dist/layout/Sider.svelte.d.ts +8 -0
- package/dist/layout/Sider.svelte.d.ts.map +1 -1
- package/dist/layout/meta.d.ts +88 -0
- package/dist/layout/meta.d.ts.map +1 -1
- package/dist/layout/meta.js +22 -5
- package/dist/list/List.svelte +3 -3
- package/dist/list/ListItem.svelte +5 -5
- package/dist/list/ListMeta.svelte +1 -1
- package/dist/list/meta.d.ts +1 -1
- package/dist/list/meta.js +2 -2
- package/dist/menu/Menu.svelte +119 -38
- package/dist/menu/Menu.svelte.d.ts +16 -1
- package/dist/menu/Menu.svelte.d.ts.map +1 -1
- package/dist/menu/MenuPopupNode.svelte +37 -37
- package/dist/menu/MenuPopupNode.svelte.d.ts +1 -1
- package/dist/menu/MenuPopupNode.svelte.d.ts.map +1 -1
- package/dist/menu/meta.d.ts +21 -1
- package/dist/menu/meta.d.ts.map +1 -1
- package/dist/menu/meta.js +6 -1
- package/dist/menu/types.d.ts +6 -0
- package/dist/menu/types.d.ts.map +1 -1
- package/dist/modal/ConfirmModal.svelte +1 -1
- package/dist/modal/Modal.svelte +1 -1
- package/dist/nav/Nav.svelte +293 -0
- package/dist/nav/Nav.svelte.d.ts +75 -0
- package/dist/nav/Nav.svelte.d.ts.map +1 -0
- package/dist/nav/NavFooter.svelte +82 -0
- package/dist/nav/NavFooter.svelte.d.ts +14 -0
- package/dist/nav/NavFooter.svelte.d.ts.map +1 -0
- package/dist/nav/NavHeader.svelte +66 -0
- package/dist/nav/NavHeader.svelte.d.ts +18 -0
- package/dist/nav/NavHeader.svelte.d.ts.map +1 -0
- package/dist/nav/NavItem.svelte +68 -0
- package/dist/nav/NavItem.svelte.d.ts +28 -0
- package/dist/nav/NavItem.svelte.d.ts.map +1 -0
- package/dist/nav/NavSub.svelte +57 -0
- package/dist/nav/NavSub.svelte.d.ts +18 -0
- package/dist/nav/NavSub.svelte.d.ts.map +1 -0
- package/dist/nav/context.d.ts +31 -0
- package/dist/nav/context.d.ts.map +1 -0
- package/dist/nav/context.js +15 -0
- package/dist/nav/index.d.ts +20 -0
- package/dist/nav/index.d.ts.map +1 -0
- package/dist/nav/index.js +18 -0
- package/dist/nav/meta.d.ts +296 -0
- package/dist/nav/meta.d.ts.map +1 -0
- package/dist/nav/meta.js +119 -0
- package/dist/nav/types.d.ts +52 -0
- package/dist/nav/types.d.ts.map +1 -0
- package/dist/nav/types.js +31 -0
- package/dist/notification/NotificationItem.svelte +5 -5
- package/dist/notification/meta.d.ts +1 -1
- package/dist/notification/meta.d.ts.map +1 -1
- package/dist/notification/meta.js +1 -0
- package/dist/overflow-list/OverflowList.svelte +4 -4
- package/dist/pagination/Pagination.svelte +5 -5
- package/dist/popconfirm/Popconfirm.svelte +10 -14
- package/dist/popconfirm/Popconfirm.svelte.d.ts.map +1 -1
- package/dist/popconfirm/meta.d.ts +1 -1
- package/dist/popconfirm/meta.d.ts.map +1 -1
- package/dist/popconfirm/meta.js +1 -0
- package/dist/popover/Popover.svelte +13 -13
- package/dist/progress/Progress.svelte +1 -1
- package/dist/radio/Radio.svelte +58 -11
- package/dist/radio/Radio.svelte.d.ts +11 -0
- package/dist/radio/Radio.svelte.d.ts.map +1 -1
- package/dist/radio/RadioGroup.svelte +1 -1
- package/dist/radio/meta.d.ts +54 -1
- package/dist/radio/meta.d.ts.map +1 -1
- package/dist/radio/meta.js +12 -1
- package/dist/rating/Rating.svelte +20 -4
- package/dist/rating/Rating.svelte.d.ts +5 -0
- package/dist/rating/Rating.svelte.d.ts.map +1 -1
- package/dist/rating/meta.d.ts +25 -0
- package/dist/rating/meta.d.ts.map +1 -1
- package/dist/rating/meta.js +5 -0
- package/dist/scroll-list/ScrollColumn.svelte +1 -1
- package/dist/select/Select.svelte +26 -18
- package/dist/side-sheet/SideSheet.svelte +4 -4
- package/dist/slider/Slider.svelte +93 -17
- package/dist/slider/Slider.svelte.d.ts +20 -0
- package/dist/slider/Slider.svelte.d.ts.map +1 -1
- package/dist/slider/meta.d.ts +36 -1
- package/dist/slider/meta.d.ts.map +1 -1
- package/dist/slider/meta.js +8 -1
- package/dist/steps/Steps.svelte +7 -7
- package/dist/steps/meta.d.ts +1 -1
- package/dist/steps/meta.js +1 -1
- package/dist/switch/Switch.svelte +6 -6
- package/dist/switch/meta.d.ts +1 -1
- package/dist/switch/meta.js +1 -1
- package/dist/table/Table.svelte +17 -17
- package/dist/tabs/Tabs.svelte +12 -12
- package/dist/tabs/meta.d.ts +1 -1
- package/dist/tabs/meta.js +1 -1
- package/dist/tag/Tag.svelte +4 -2
- package/dist/tag/meta.d.ts +1 -1
- package/dist/tag/meta.d.ts.map +1 -1
- package/dist/tag/meta.js +2 -0
- package/dist/tag-input/TagInput.svelte +25 -14
- package/dist/textarea/TextArea.svelte +8 -8
- package/dist/time-picker/TimePicker.svelte +16 -16
- package/dist/timeline/Timeline.svelte +3 -3
- package/dist/timeline/meta.d.ts +1 -1
- package/dist/timeline/meta.js +1 -1
- package/dist/toast/ToastItem.svelte +2 -1
- package/dist/toast/meta.d.ts +1 -1
- package/dist/toast/meta.d.ts.map +1 -1
- package/dist/toast/meta.js +1 -0
- package/dist/tooltip/Tooltip.svelte +1 -1
- package/dist/transfer/Transfer.svelte +19 -19
- package/dist/tree/Tree.svelte +7 -6
- package/dist/tree-select/TreeSelect.svelte +20 -11
- package/dist/typography/TypographyBase.svelte +21 -12
- package/dist/typography/meta.d.ts +1 -1
- package/dist/typography/meta.d.ts.map +1 -1
- package/dist/typography/meta.js +3 -1
- package/dist/upload/Upload.svelte +44 -41
- package/package.json +3 -3
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 把 Nav 项(Semi 字段)递归映射为 Menu 的 MenuItemDef。
|
|
3
|
+
* itemKey→key、text→label、items→children、link→href,icon/target/rel/disabled 直传。
|
|
4
|
+
*/
|
|
5
|
+
export function navItemsToMenuItems(items = []) {
|
|
6
|
+
return items.map((it) => {
|
|
7
|
+
const node = {
|
|
8
|
+
key: it.itemKey,
|
|
9
|
+
label: it.text,
|
|
10
|
+
};
|
|
11
|
+
if (it.icon)
|
|
12
|
+
node.icon = it.icon;
|
|
13
|
+
if (it.disabled)
|
|
14
|
+
node.disabled = it.disabled;
|
|
15
|
+
if (it.link)
|
|
16
|
+
node.href = it.link;
|
|
17
|
+
if (it.target)
|
|
18
|
+
node.target = it.target;
|
|
19
|
+
if (it.rel)
|
|
20
|
+
node.rel = it.rel;
|
|
21
|
+
if (it.onClick)
|
|
22
|
+
node.onClick = it.onClick;
|
|
23
|
+
if (it.onMouseEnter)
|
|
24
|
+
node.onMouseEnter = it.onMouseEnter;
|
|
25
|
+
if (it.onMouseLeave)
|
|
26
|
+
node.onMouseLeave = it.onMouseLeave;
|
|
27
|
+
if (it.items && it.items.length)
|
|
28
|
+
node.children = navItemsToMenuItems(it.items);
|
|
29
|
+
return node;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
@@ -248,14 +248,14 @@
|
|
|
248
248
|
|
|
249
249
|
.cd-notification-item__title {
|
|
250
250
|
font-size: var(--cd-notification-title-size);
|
|
251
|
-
font-weight:
|
|
251
|
+
font-weight: var(--cd-notification-title-weight);
|
|
252
252
|
line-height: 1.4;
|
|
253
253
|
color: var(--cd-notification-color-title);
|
|
254
254
|
overflow-wrap: anywhere;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
.cd-notification-item__content {
|
|
258
|
-
margin-block-start: var(--cd-spacing-
|
|
258
|
+
margin-block-start: var(--cd-spacing-extra-tight);
|
|
259
259
|
font-size: var(--cd-notification-content-size);
|
|
260
260
|
line-height: 1.5;
|
|
261
261
|
color: var(--cd-notification-color-content);
|
|
@@ -265,9 +265,9 @@
|
|
|
265
265
|
.cd-notification-item__footer {
|
|
266
266
|
display: flex;
|
|
267
267
|
flex-wrap: wrap;
|
|
268
|
-
gap: var(--cd-spacing-
|
|
268
|
+
gap: var(--cd-spacing-tight);
|
|
269
269
|
align-items: center;
|
|
270
|
-
margin-block-start: var(--cd-spacing-
|
|
270
|
+
margin-block-start: var(--cd-spacing-base-tight);
|
|
271
271
|
}
|
|
272
272
|
|
|
273
273
|
.cd-notification-item__progress {
|
|
@@ -342,7 +342,7 @@
|
|
|
342
342
|
background: transparent;
|
|
343
343
|
color: var(--cd-notification-close-color);
|
|
344
344
|
cursor: pointer;
|
|
345
|
-
border-radius: var(--cd-radius-
|
|
345
|
+
border-radius: var(--cd-border-radius-small);
|
|
346
346
|
transition: color var(--cd-notification-motion-duration) ease;
|
|
347
347
|
}
|
|
348
348
|
|
|
@@ -88,7 +88,7 @@ export declare const meta: {
|
|
|
88
88
|
readonly focusable: false;
|
|
89
89
|
readonly note: "error/warning 用 role=alert + aria-live=assertive,其余 role=status + aria-live=polite;标题 aria-labelledby、内容 aria-describedby;关闭按钮 button + aria-label「关闭」。不抢焦点、不锁滚动。";
|
|
90
90
|
};
|
|
91
|
-
readonly tokens: readonly ["--cd-notification-width", "--cd-notification-bg", "--cd-notification-color-title", "--cd-notification-color-content", "--cd-notification-border", "--cd-notification-radius", "--cd-notification-shadow", "--cd-notification-padding", "--cd-notification-gap", "--cd-notification-icon-success", "--cd-notification-icon-info", "--cd-notification-icon-warning", "--cd-notification-icon-error", "--cd-notification-close-color", "--cd-notification-close-color-hover", "--cd-notification-title-size", "--cd-notification-content-size", "--cd-notification-z", "--cd-notification-offset", "--cd-notification-motion-duration", "--cd-notification-progress-height", "--cd-notification-progress-color", "--cd-notification-bg-dark", "--cd-notification-border-dark", "--cd-notification-color-title-dark", "--cd-notification-color-content-dark", "--cd-notification-close-color-dark", "--cd-notification-close-color-hover-dark"];
|
|
91
|
+
readonly tokens: readonly ["--cd-notification-width", "--cd-notification-bg", "--cd-notification-color-title", "--cd-notification-color-content", "--cd-notification-border", "--cd-notification-radius", "--cd-notification-shadow", "--cd-notification-padding", "--cd-notification-gap", "--cd-notification-icon-success", "--cd-notification-icon-info", "--cd-notification-icon-warning", "--cd-notification-icon-error", "--cd-notification-close-color", "--cd-notification-close-color-hover", "--cd-notification-title-size", "--cd-notification-title-weight", "--cd-notification-content-size", "--cd-notification-z", "--cd-notification-offset", "--cd-notification-motion-duration", "--cd-notification-progress-height", "--cd-notification-progress-color", "--cd-notification-bg-dark", "--cd-notification-border-dark", "--cd-notification-color-title-dark", "--cd-notification-color-content-dark", "--cd-notification-close-color-dark", "--cd-notification-close-color-hover-dark"];
|
|
92
92
|
readonly responsive: false;
|
|
93
93
|
readonly examples: readonly [{
|
|
94
94
|
readonly title: "成功";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/notification/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/notification/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHP,CAAC"}
|
|
@@ -91,6 +91,7 @@ export const meta = {
|
|
|
91
91
|
'--cd-notification-close-color',
|
|
92
92
|
'--cd-notification-close-color-hover',
|
|
93
93
|
'--cd-notification-title-size',
|
|
94
|
+
'--cd-notification-title-weight',
|
|
94
95
|
'--cd-notification-content-size',
|
|
95
96
|
'--cd-notification-z',
|
|
96
97
|
'--cd-notification-offset',
|
|
@@ -415,14 +415,14 @@
|
|
|
415
415
|
|
|
416
416
|
<style>
|
|
417
417
|
.cd-overflow-list {
|
|
418
|
-
--cd-overflow-list-gap: var(--cd-spacing-
|
|
419
|
-
--cd-overflow-list-gap-small: var(--cd-spacing-
|
|
420
|
-
--cd-overflow-list-gap-large: var(--cd-spacing-
|
|
418
|
+
--cd-overflow-list-gap: var(--cd-spacing-tight, 8px);
|
|
419
|
+
--cd-overflow-list-gap-small: var(--cd-spacing-extra-tight, 4px);
|
|
420
|
+
--cd-overflow-list-gap-large: var(--cd-spacing-base-tight, 12px);
|
|
421
421
|
--cd-overflow-list-overflow-color: var(--cd-color-text-1, #4e5969);
|
|
422
422
|
--cd-overflow-list-overflow-color-hover: var(--cd-color-text-0, #1d2129);
|
|
423
423
|
--cd-overflow-list-overflow-bg: var(--cd-color-fill-0, #f2f3f5);
|
|
424
424
|
--cd-overflow-list-overflow-bg-hover: var(--cd-color-fill-1, #e5e6eb);
|
|
425
|
-
--cd-overflow-list-overflow-radius: var(--cd-radius-
|
|
425
|
+
--cd-overflow-list-overflow-radius: var(--cd-border-radius-small);
|
|
426
426
|
--cd-overflow-list-focus-ring: var(--cd-color-primary, #165dff);
|
|
427
427
|
|
|
428
428
|
position: relative;
|
|
@@ -351,7 +351,7 @@
|
|
|
351
351
|
justify-content: center;
|
|
352
352
|
min-inline-size: var(--cd-pagination-item-size);
|
|
353
353
|
block-size: var(--cd-pagination-item-size);
|
|
354
|
-
padding-inline: var(--cd-spacing-
|
|
354
|
+
padding-inline: var(--cd-spacing-tight);
|
|
355
355
|
border: var(--cd-pagination-item-border);
|
|
356
356
|
border-radius: var(--cd-pagination-item-radius);
|
|
357
357
|
background: transparent;
|
|
@@ -392,7 +392,7 @@
|
|
|
392
392
|
.cd-pagination__simple {
|
|
393
393
|
display: inline-flex;
|
|
394
394
|
align-items: center;
|
|
395
|
-
gap: var(--cd-spacing-
|
|
395
|
+
gap: var(--cd-spacing-extra-tight);
|
|
396
396
|
}
|
|
397
397
|
.cd-pagination__size-changer {
|
|
398
398
|
display: inline-flex;
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
.cd-pagination__jumper {
|
|
402
402
|
display: inline-flex;
|
|
403
403
|
align-items: center;
|
|
404
|
-
gap: var(--cd-spacing-
|
|
404
|
+
gap: var(--cd-spacing-extra-tight);
|
|
405
405
|
}
|
|
406
406
|
.cd-pagination__jumper-input {
|
|
407
407
|
inline-size: var(--cd-pagination-jumper-width, 3.5rem);
|
|
@@ -410,13 +410,13 @@
|
|
|
410
410
|
.cd-pagination--small .cd-pagination__prev,
|
|
411
411
|
.cd-pagination--small .cd-pagination__next,
|
|
412
412
|
.cd-pagination--small .cd-pagination__ellipsis {
|
|
413
|
-
font-size: var(--cd-font-size-
|
|
413
|
+
font-size: var(--cd-font-size-small);
|
|
414
414
|
}
|
|
415
415
|
.cd-pagination--large .cd-pagination__page,
|
|
416
416
|
.cd-pagination--large .cd-pagination__prev,
|
|
417
417
|
.cd-pagination--large .cd-pagination__next,
|
|
418
418
|
.cd-pagination--large .cd-pagination__ellipsis {
|
|
419
|
-
font-size: var(--cd-font-size-
|
|
419
|
+
font-size: var(--cd-font-size-header-6);
|
|
420
420
|
}
|
|
421
421
|
@media (prefers-reduced-motion: reduce) {
|
|
422
422
|
.cd-pagination__page,
|
|
@@ -366,7 +366,8 @@
|
|
|
366
366
|
$effect(() => {
|
|
367
367
|
if (!isOpen || !popupEl) return;
|
|
368
368
|
// guardFocus=true(默认)激活 Tab 循环焦点陷阱;false 时跳过(允许 Tab 离开浮层)。
|
|
369
|
-
|
|
369
|
+
// returnFocusOnClose 在构造期决定 deactivate 是否归还焦点(true 默认归还)。
|
|
370
|
+
const trap = guardFocus ? useFocusTrap(popupEl, { returnFocus: returnFocusOnClose }) : null;
|
|
370
371
|
trap?.activate();
|
|
371
372
|
let undismiss = () => {};
|
|
372
373
|
// popup portal 到 body 后不在 rootEl 子树内:把 popupEl 列为 extraTargets,
|
|
@@ -398,14 +399,9 @@
|
|
|
398
399
|
}
|
|
399
400
|
return () => {
|
|
400
401
|
undismiss();
|
|
401
|
-
// returnFocusOnClose=true(默认)时归还焦点给触发元素;false
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
trap.deactivate();
|
|
405
|
-
} else {
|
|
406
|
-
trap.deactivate({ returnFocus: false });
|
|
407
|
-
}
|
|
408
|
-
}
|
|
402
|
+
// returnFocusOnClose=true(默认)时归还焦点给触发元素;false 时不归还
|
|
403
|
+
// (归还策略已在 useFocusTrap 构造期通过 returnFocus 选项决定)。
|
|
404
|
+
trap?.deactivate();
|
|
409
405
|
// 浮层关闭即复位 loading(覆盖受控 open 在 loading 中被外部关闭的边界)。
|
|
410
406
|
confirmLoading = false;
|
|
411
407
|
};
|
|
@@ -606,7 +602,7 @@
|
|
|
606
602
|
.cd-popconfirm__trigger:focus-visible {
|
|
607
603
|
outline: none;
|
|
608
604
|
box-shadow: var(--cd-focus-ring);
|
|
609
|
-
border-radius: var(--cd-radius-
|
|
605
|
+
border-radius: var(--cd-border-radius-small);
|
|
610
606
|
}
|
|
611
607
|
.cd-popconfirm__trigger[aria-disabled='true'] {
|
|
612
608
|
cursor: not-allowed;
|
|
@@ -675,7 +671,7 @@
|
|
|
675
671
|
|
|
676
672
|
.cd-popconfirm__body {
|
|
677
673
|
display: flex;
|
|
678
|
-
gap: var(--cd-spacing-
|
|
674
|
+
gap: var(--cd-spacing-tight);
|
|
679
675
|
}
|
|
680
676
|
.cd-popconfirm__icon {
|
|
681
677
|
display: inline-flex;
|
|
@@ -698,11 +694,11 @@
|
|
|
698
694
|
.cd-popconfirm__title {
|
|
699
695
|
color: var(--cd-popconfirm-title-color);
|
|
700
696
|
font-size: var(--cd-popconfirm-title-size);
|
|
701
|
-
font-weight:
|
|
697
|
+
font-weight: var(--cd-popconfirm-title-weight);
|
|
702
698
|
line-height: 1.4;
|
|
703
699
|
}
|
|
704
700
|
.cd-popconfirm__content {
|
|
705
|
-
margin-block-start: var(--cd-spacing-
|
|
701
|
+
margin-block-start: var(--cd-spacing-extra-tight);
|
|
706
702
|
color: var(--cd-popconfirm-color-text-secondary);
|
|
707
703
|
font-size: var(--cd-popconfirm-content-size);
|
|
708
704
|
line-height: 1.5;
|
|
@@ -712,7 +708,7 @@
|
|
|
712
708
|
display: flex;
|
|
713
709
|
justify-content: flex-end;
|
|
714
710
|
gap: var(--cd-popconfirm-gap-footer);
|
|
715
|
-
margin-block-start: var(--cd-spacing-
|
|
711
|
+
margin-block-start: var(--cd-spacing-base-tight);
|
|
716
712
|
}
|
|
717
713
|
|
|
718
714
|
/* reduced-motion:禁用进场动画 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popconfirm.svelte.d.ts","sourceRoot":"","sources":["../../src/popconfirm/Popconfirm.svelte.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Popconfirm.svelte.d.ts","sourceRoot":"","sources":["../../src/popconfirm/Popconfirm.svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -257,7 +257,7 @@ export declare const meta: {
|
|
|
257
257
|
readonly hasRole: true;
|
|
258
258
|
readonly note: "触发器 aria-haspopup=dialog + aria-expanded + aria-controls;浮层 role=dialog(non-modal,不设 aria-modal)+ aria-labelledby(title) + aria-describedby(content);Esc 关闭,Tab 在浮层内循环(useFocusTrap),关闭归还焦点;危险/警示图标 aria-hidden(语义靠文案)。";
|
|
259
259
|
};
|
|
260
|
-
readonly tokens: readonly ["--cd-popconfirm-bg", "--cd-popconfirm-color-text", "--cd-popconfirm-color-text-secondary", "--cd-popconfirm-border", "--cd-popconfirm-shadow", "--cd-popconfirm-radius", "--cd-popconfirm-padding", "--cd-popconfirm-icon-color-danger", "--cd-popconfirm-icon-color-warning", "--cd-popconfirm-icon-color-info", "--cd-popconfirm-title-color", "--cd-popconfirm-title-size", "--cd-popconfirm-content-size", "--cd-popconfirm-max-width", "--cd-popconfirm-z", "--cd-popconfirm-gap-footer", "--cd-popconfirm-arrow-size", "--cd-popconfirm-motion-duration", "--cd-popconfirm-motion-easing"];
|
|
260
|
+
readonly tokens: readonly ["--cd-popconfirm-bg", "--cd-popconfirm-color-text", "--cd-popconfirm-color-text-secondary", "--cd-popconfirm-border", "--cd-popconfirm-shadow", "--cd-popconfirm-radius", "--cd-popconfirm-padding", "--cd-popconfirm-icon-color-danger", "--cd-popconfirm-icon-color-warning", "--cd-popconfirm-icon-color-info", "--cd-popconfirm-title-color", "--cd-popconfirm-title-size", "--cd-popconfirm-title-weight", "--cd-popconfirm-content-size", "--cd-popconfirm-max-width", "--cd-popconfirm-z", "--cd-popconfirm-gap-footer", "--cd-popconfirm-arrow-size", "--cd-popconfirm-motion-duration", "--cd-popconfirm-motion-easing"];
|
|
261
261
|
readonly responsive: false;
|
|
262
262
|
readonly examples: readonly [{
|
|
263
263
|
readonly title: "删除确认(danger)";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/popconfirm/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/popconfirm/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoMP,CAAC"}
|
package/dist/popconfirm/meta.js
CHANGED
|
@@ -173,6 +173,7 @@ export const meta = {
|
|
|
173
173
|
'--cd-popconfirm-icon-color-info',
|
|
174
174
|
'--cd-popconfirm-title-color',
|
|
175
175
|
'--cd-popconfirm-title-size',
|
|
176
|
+
'--cd-popconfirm-title-weight',
|
|
176
177
|
'--cd-popconfirm-content-size',
|
|
177
178
|
'--cd-popconfirm-max-width',
|
|
178
179
|
'--cd-popconfirm-z',
|
|
@@ -529,14 +529,14 @@
|
|
|
529
529
|
/* 关闭按钮:绝对定位于浮层右上角 */
|
|
530
530
|
.cd-popover__close-btn {
|
|
531
531
|
position: absolute;
|
|
532
|
-
inset-block-start: var(--cd-spacing-
|
|
533
|
-
inset-inline-end: var(--cd-spacing-
|
|
532
|
+
inset-block-start: var(--cd-spacing-tight);
|
|
533
|
+
inset-inline-end: var(--cd-spacing-tight);
|
|
534
534
|
display: inline-flex;
|
|
535
535
|
align-items: center;
|
|
536
536
|
justify-content: center;
|
|
537
|
-
padding: var(--cd-spacing-
|
|
537
|
+
padding: var(--cd-spacing-extra-tight);
|
|
538
538
|
border: none;
|
|
539
|
-
border-radius: var(--cd-radius-
|
|
539
|
+
border-radius: var(--cd-border-radius-small);
|
|
540
540
|
background: transparent;
|
|
541
541
|
color: var(--cd-color-text-2);
|
|
542
542
|
cursor: pointer;
|
|
@@ -555,17 +555,17 @@
|
|
|
555
555
|
.cd-popover__footer {
|
|
556
556
|
display: flex;
|
|
557
557
|
justify-content: flex-end;
|
|
558
|
-
gap: var(--cd-spacing-
|
|
559
|
-
margin-block-start: var(--cd-spacing-
|
|
558
|
+
gap: var(--cd-spacing-tight);
|
|
559
|
+
margin-block-start: var(--cd-spacing-base-tight);
|
|
560
560
|
}
|
|
561
561
|
.cd-popover__btn {
|
|
562
562
|
display: inline-flex;
|
|
563
563
|
align-items: center;
|
|
564
|
-
padding: var(--cd-spacing-
|
|
565
|
-
border-radius: var(--cd-radius-
|
|
564
|
+
padding: var(--cd-spacing-extra-tight) var(--cd-spacing-base-tight);
|
|
565
|
+
border-radius: var(--cd-border-radius-small);
|
|
566
566
|
border: 1px solid transparent;
|
|
567
567
|
font: inherit;
|
|
568
|
-
font-size: var(--cd-font-size-
|
|
568
|
+
font-size: var(--cd-font-size-regular);
|
|
569
569
|
cursor: pointer;
|
|
570
570
|
transition: background 0.15s, color 0.15s, border-color 0.15s;
|
|
571
571
|
}
|
|
@@ -583,8 +583,8 @@
|
|
|
583
583
|
border-color: var(--cd-color-primary, #165dff);
|
|
584
584
|
}
|
|
585
585
|
.cd-popover__btn--ok:hover {
|
|
586
|
-
background: var(--cd-color-primary-
|
|
587
|
-
border-color: var(--cd-color-primary-
|
|
586
|
+
background: var(--cd-color-primary-hover);
|
|
587
|
+
border-color: var(--cd-color-primary-hover);
|
|
588
588
|
}
|
|
589
589
|
.cd-popover__btn:focus-visible {
|
|
590
590
|
outline: none;
|
|
@@ -592,8 +592,8 @@
|
|
|
592
592
|
}
|
|
593
593
|
|
|
594
594
|
.cd-popover__title {
|
|
595
|
-
margin-block-end: var(--cd-spacing-
|
|
596
|
-
padding-block-end: var(--cd-spacing-
|
|
595
|
+
margin-block-end: var(--cd-spacing-tight);
|
|
596
|
+
padding-block-end: var(--cd-spacing-tight);
|
|
597
597
|
border-block-end: 1px solid var(--cd-popover-title-border);
|
|
598
598
|
color: var(--cd-popover-title-color);
|
|
599
599
|
font-weight: var(--cd-font-weight-medium, 600);
|
package/dist/radio/Radio.svelte
CHANGED
|
@@ -26,6 +26,17 @@
|
|
|
26
26
|
extra?: string | undefined;
|
|
27
27
|
children?: Snippet;
|
|
28
28
|
onChange?: (checked: boolean) => void;
|
|
29
|
+
addonId?: string;
|
|
30
|
+
addonClassName?: string;
|
|
31
|
+
addonStyle?: string;
|
|
32
|
+
autoFocus?: boolean;
|
|
33
|
+
extraId?: string;
|
|
34
|
+
mode?: 'advanced' | '';
|
|
35
|
+
style?: string;
|
|
36
|
+
onMouseEnter?: (e: MouseEvent) => void;
|
|
37
|
+
onMouseLeave?: (e: MouseEvent) => void;
|
|
38
|
+
ariaLabel?: string;
|
|
39
|
+
preventScroll?: boolean;
|
|
29
40
|
}
|
|
30
41
|
|
|
31
42
|
let {
|
|
@@ -40,16 +51,32 @@
|
|
|
40
51
|
extra,
|
|
41
52
|
children,
|
|
42
53
|
onChange,
|
|
54
|
+
addonId,
|
|
55
|
+
addonClassName,
|
|
56
|
+
addonStyle,
|
|
57
|
+
autoFocus = false,
|
|
58
|
+
extraId: extraIdProp,
|
|
59
|
+
mode = '',
|
|
60
|
+
style,
|
|
61
|
+
onMouseEnter,
|
|
62
|
+
onMouseLeave,
|
|
63
|
+
ariaLabel,
|
|
64
|
+
preventScroll = false,
|
|
43
65
|
}: Props = $props();
|
|
44
66
|
|
|
45
67
|
const group = getRadioGroupContext();
|
|
46
68
|
|
|
47
69
|
const fieldId = useId('cd-radio-item');
|
|
48
|
-
const extraId = $derived(extra ? `${fieldId}-extra` : undefined);
|
|
70
|
+
const extraId = $derived(extraIdProp ?? (extra ? `${fieldId}-extra` : undefined));
|
|
49
71
|
|
|
50
72
|
const isControlled = $derived(checked !== undefined);
|
|
51
73
|
let inner = $state(getInitialChecked());
|
|
52
74
|
|
|
75
|
+
let inputEl = $state<HTMLElement | null>(null);
|
|
76
|
+
$effect(() => {
|
|
77
|
+
if (autoFocus) inputEl?.focus({ preventScroll });
|
|
78
|
+
});
|
|
79
|
+
|
|
53
80
|
function getInitialChecked(): boolean {
|
|
54
81
|
return defaultChecked;
|
|
55
82
|
}
|
|
@@ -94,6 +121,10 @@
|
|
|
94
121
|
if (resolvedDisabled) return;
|
|
95
122
|
if (e.key === ' ' || e.key === 'Enter') {
|
|
96
123
|
e.preventDefault();
|
|
124
|
+
if (mode === 'advanced' && isChecked) {
|
|
125
|
+
onChange?.(false);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
97
128
|
activate();
|
|
98
129
|
return;
|
|
99
130
|
}
|
|
@@ -102,6 +133,10 @@
|
|
|
102
133
|
|
|
103
134
|
function handleFancyClick() {
|
|
104
135
|
if (resolvedDisabled) return;
|
|
136
|
+
if (mode === 'advanced' && isChecked) {
|
|
137
|
+
onChange?.(false);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
105
140
|
activate();
|
|
106
141
|
}
|
|
107
142
|
|
|
@@ -142,28 +177,33 @@
|
|
|
142
177
|
<div
|
|
143
178
|
{@attach registerAttach}
|
|
144
179
|
class={cls}
|
|
180
|
+
{style}
|
|
145
181
|
role="radio"
|
|
146
182
|
aria-checked={isChecked}
|
|
147
183
|
aria-disabled={resolvedDisabled ? 'true' : undefined}
|
|
148
184
|
aria-describedby={extraId}
|
|
185
|
+
aria-label={ariaLabel}
|
|
149
186
|
{tabindex}
|
|
150
187
|
onclick={handleFancyClick}
|
|
151
188
|
onkeydown={handleFancyKeydown}
|
|
189
|
+
onmouseenter={onMouseEnter}
|
|
190
|
+
onmouseleave={onMouseLeave}
|
|
152
191
|
>
|
|
153
192
|
{#if resolvedType !== 'pureCard'}
|
|
154
193
|
<span class="cd-radio__circle" aria-hidden="true"></span>
|
|
155
194
|
{/if}
|
|
156
195
|
{#if children || extra}
|
|
157
|
-
<span class=
|
|
196
|
+
<span class={['cd-radio__content', addonClassName].filter(Boolean).join(' ')} id={addonId} style={addonStyle}>
|
|
158
197
|
{#if children}<span class="cd-radio__label">{@render children()}</span>{/if}
|
|
159
198
|
{#if extra}<span class="cd-radio__extra" id={extraId}>{extra}</span>{/if}
|
|
160
199
|
</span>
|
|
161
200
|
{/if}
|
|
162
201
|
</div>
|
|
163
202
|
{:else}
|
|
164
|
-
<label class={cls} for={fieldId}>
|
|
203
|
+
<label class={cls} for={fieldId} {style} onmouseenter={onMouseEnter} onmouseleave={onMouseLeave}>
|
|
165
204
|
<input
|
|
166
205
|
{@attach registerAttach}
|
|
206
|
+
bind:this={inputEl}
|
|
167
207
|
id={fieldId}
|
|
168
208
|
class="cd-radio__input"
|
|
169
209
|
type="radio"
|
|
@@ -173,12 +213,14 @@
|
|
|
173
213
|
disabled={resolvedDisabled}
|
|
174
214
|
{tabindex}
|
|
175
215
|
aria-describedby={extraId}
|
|
216
|
+
aria-labelledby={addonId ?? fieldId}
|
|
217
|
+
aria-label={ariaLabel}
|
|
176
218
|
onchange={handleChange}
|
|
177
219
|
onkeydown={handleKeydown}
|
|
178
220
|
/>
|
|
179
221
|
<span class="cd-radio__circle" aria-hidden="true"></span>
|
|
180
222
|
{#if children || extra}
|
|
181
|
-
<span class=
|
|
223
|
+
<span class={['cd-radio__content', addonClassName].filter(Boolean).join(' ')} id={addonId} style={addonStyle}>
|
|
182
224
|
{#if children}<span class="cd-radio__label">{@render children()}</span>{/if}
|
|
183
225
|
{#if extra}<span class="cd-radio__extra" id={extraId}>{extra}</span>{/if}
|
|
184
226
|
</span>
|
|
@@ -217,7 +259,7 @@
|
|
|
217
259
|
block-size: var(--cd-radio-size-default);
|
|
218
260
|
background: var(--cd-radio-bg);
|
|
219
261
|
border: 1px solid var(--cd-radio-border);
|
|
220
|
-
border-radius: var(--cd-radius-full);
|
|
262
|
+
border-radius: var(--cd-border-radius-full);
|
|
221
263
|
transition:
|
|
222
264
|
border-color var(--cd-motion-duration-fast) var(--cd-motion-ease-standard);
|
|
223
265
|
}
|
|
@@ -229,6 +271,11 @@
|
|
|
229
271
|
inline-size: var(--cd-radio-size-large);
|
|
230
272
|
block-size: var(--cd-radio-size-large);
|
|
231
273
|
}
|
|
274
|
+
/* 未选中态悬浮:对齐 Semi(描边 focus-border、背景 fill-0) */
|
|
275
|
+
.cd-radio:hover:not(.cd-radio--disabled):not(.cd-radio--checked) .cd-radio__circle {
|
|
276
|
+
background: var(--cd-radio-bg-hover);
|
|
277
|
+
border-color: var(--cd-radio-border-hover);
|
|
278
|
+
}
|
|
232
279
|
.cd-radio--checked .cd-radio__circle {
|
|
233
280
|
border-color: var(--cd-radio-color-checked);
|
|
234
281
|
}
|
|
@@ -240,7 +287,7 @@
|
|
|
240
287
|
block-size: 50%;
|
|
241
288
|
transform: translate(-50%, -50%);
|
|
242
289
|
background: var(--cd-radio-dot-color);
|
|
243
|
-
border-radius: var(--cd-radius-full);
|
|
290
|
+
border-radius: var(--cd-border-radius-full);
|
|
244
291
|
}
|
|
245
292
|
/* 校验态:边框改用 warning/error,覆盖默认与 checked 描边(token 驱动) */
|
|
246
293
|
.cd-radio--warning .cd-radio__circle {
|
|
@@ -256,11 +303,11 @@
|
|
|
256
303
|
.cd-radio__content {
|
|
257
304
|
display: inline-flex;
|
|
258
305
|
flex-direction: column;
|
|
259
|
-
gap: var(--cd-spacing-
|
|
306
|
+
gap: var(--cd-spacing-extra-tight);
|
|
260
307
|
}
|
|
261
308
|
.cd-radio__extra {
|
|
262
309
|
color: var(--cd-color-text-2);
|
|
263
|
-
font-size: var(--cd-font-size-
|
|
310
|
+
font-size: var(--cd-font-size-small);
|
|
264
311
|
}
|
|
265
312
|
/* ---- button / card / pureCard 型:role=radio 容器 ---- */
|
|
266
313
|
.cd-radio--button,
|
|
@@ -278,13 +325,13 @@
|
|
|
278
325
|
.cd-radio--button {
|
|
279
326
|
gap: 0;
|
|
280
327
|
block-size: var(--cd-radio-button-height);
|
|
281
|
-
padding-inline: var(--cd-spacing-
|
|
328
|
+
padding-inline: var(--cd-spacing-base-tight);
|
|
282
329
|
align-items: center;
|
|
283
330
|
justify-content: center;
|
|
284
331
|
color: var(--cd-color-text-0);
|
|
285
332
|
background: var(--cd-radio-bg);
|
|
286
333
|
border: 1px solid var(--cd-radio-border);
|
|
287
|
-
border-radius: var(--cd-radius-
|
|
334
|
+
border-radius: var(--cd-border-radius-medium);
|
|
288
335
|
}
|
|
289
336
|
.cd-radio--button.cd-radio--small {
|
|
290
337
|
block-size: var(--cd-radio-button-height-small);
|
|
@@ -302,7 +349,7 @@
|
|
|
302
349
|
/* card / pureCard 型:带边框卡片,选中高亮边框 */
|
|
303
350
|
.cd-radio--card,
|
|
304
351
|
.cd-radio--pureCard {
|
|
305
|
-
padding: var(--cd-spacing-
|
|
352
|
+
padding: var(--cd-spacing-base-tight);
|
|
306
353
|
background: var(--cd-radio-bg);
|
|
307
354
|
border: 1px solid var(--cd-radio-border);
|
|
308
355
|
border-radius: var(--cd-radio-card-radius);
|
|
@@ -12,6 +12,17 @@ interface Props {
|
|
|
12
12
|
extra?: string | undefined;
|
|
13
13
|
children?: Snippet;
|
|
14
14
|
onChange?: (checked: boolean) => void;
|
|
15
|
+
addonId?: string;
|
|
16
|
+
addonClassName?: string;
|
|
17
|
+
addonStyle?: string;
|
|
18
|
+
autoFocus?: boolean;
|
|
19
|
+
extraId?: string;
|
|
20
|
+
mode?: 'advanced' | '';
|
|
21
|
+
style?: string;
|
|
22
|
+
onMouseEnter?: (e: MouseEvent) => void;
|
|
23
|
+
onMouseLeave?: (e: MouseEvent) => void;
|
|
24
|
+
ariaLabel?: string;
|
|
25
|
+
preventScroll?: boolean;
|
|
15
26
|
}
|
|
16
27
|
declare const Radio: import("svelte").Component<Props, {}, "checked">;
|
|
17
28
|
type Radio = ReturnType<typeof Radio>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.svelte.d.ts","sourceRoot":"","sources":["../../src/radio/Radio.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAEH,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,UAAU,KAAK;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Radio.svelte.d.ts","sourceRoot":"","sources":["../../src/radio/Radio.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAEH,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,UAAU,KAAK;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA2KH,QAAA,MAAM,KAAK,kDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
|
package/dist/radio/meta.d.ts
CHANGED
|
@@ -56,6 +56,59 @@ export declare const meta: {
|
|
|
56
56
|
readonly name: "onChange";
|
|
57
57
|
readonly type: "(checked: boolean) => void";
|
|
58
58
|
readonly default: "undefined";
|
|
59
|
+
}, {
|
|
60
|
+
readonly name: "addonId";
|
|
61
|
+
readonly type: "string";
|
|
62
|
+
readonly default: "undefined";
|
|
63
|
+
readonly desc: "内容容器 id,用作 input 的 aria-labelledby";
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "addonClassName";
|
|
66
|
+
readonly type: "string";
|
|
67
|
+
readonly default: "undefined";
|
|
68
|
+
readonly desc: "内容容器附加 class";
|
|
69
|
+
}, {
|
|
70
|
+
readonly name: "addonStyle";
|
|
71
|
+
readonly type: "string";
|
|
72
|
+
readonly default: "undefined";
|
|
73
|
+
readonly desc: "内容容器内联样式";
|
|
74
|
+
}, {
|
|
75
|
+
readonly name: "autoFocus";
|
|
76
|
+
readonly type: "boolean";
|
|
77
|
+
readonly default: "false";
|
|
78
|
+
readonly desc: "挂载时自动聚焦";
|
|
79
|
+
}, {
|
|
80
|
+
readonly name: "extraId";
|
|
81
|
+
readonly type: "string";
|
|
82
|
+
readonly default: "undefined";
|
|
83
|
+
readonly desc: "自定义 extra 元素 id(默认由 fieldId 派生)";
|
|
84
|
+
}, {
|
|
85
|
+
readonly name: "mode";
|
|
86
|
+
readonly type: "'advanced'|''";
|
|
87
|
+
readonly default: "''";
|
|
88
|
+
readonly desc: "advanced:再次点击选中项可取消(onChange(false))";
|
|
89
|
+
}, {
|
|
90
|
+
readonly name: "style";
|
|
91
|
+
readonly type: "string";
|
|
92
|
+
readonly default: "undefined";
|
|
93
|
+
readonly desc: "根元素内联样式";
|
|
94
|
+
}, {
|
|
95
|
+
readonly name: "onMouseEnter";
|
|
96
|
+
readonly type: "(e: MouseEvent) => void";
|
|
97
|
+
readonly default: "undefined";
|
|
98
|
+
}, {
|
|
99
|
+
readonly name: "onMouseLeave";
|
|
100
|
+
readonly type: "(e: MouseEvent) => void";
|
|
101
|
+
readonly default: "undefined";
|
|
102
|
+
}, {
|
|
103
|
+
readonly name: "ariaLabel";
|
|
104
|
+
readonly type: "string";
|
|
105
|
+
readonly default: "undefined";
|
|
106
|
+
readonly desc: "无障碍标签";
|
|
107
|
+
}, {
|
|
108
|
+
readonly name: "preventScroll";
|
|
109
|
+
readonly type: "boolean";
|
|
110
|
+
readonly default: "false";
|
|
111
|
+
readonly desc: "autoFocus 时阻止滚动";
|
|
59
112
|
}];
|
|
60
113
|
readonly group: {
|
|
61
114
|
readonly name: "RadioGroup";
|
|
@@ -122,6 +175,6 @@ export declare const meta: {
|
|
|
122
175
|
readonly keyboard: readonly ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Home", "End", "Space"];
|
|
123
176
|
readonly notes: readonly ["div role=radiogroup 包裹", "roving tabindex:仅选中项(或首个可用项)tabindex=0", "方向键在可用项间循环移动并选中、聚焦,跳过 disabled", "Home/End 跳首/末可用项", "RTL(dir=rtl)下 ArrowLeft/ArrowRight 语义镜像翻转", "button/card/pureCard 型用容器 role=radio + aria-checked(非原生 input),Space/Enter 选中", "extra 经 aria-describedby 关联"];
|
|
124
177
|
};
|
|
125
|
-
readonly tokens: readonly ["--cd-radio-*", "--cd-focus-ring", "--cd-motion-*", "--cd-spacing-*", "--cd-radius-full"];
|
|
178
|
+
readonly tokens: readonly ["--cd-radio-*", "--cd-focus-ring", "--cd-motion-*", "--cd-spacing-*", "--cd-border-radius-full"];
|
|
126
179
|
};
|
|
127
180
|
//# sourceMappingURL=meta.d.ts.map
|
package/dist/radio/meta.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/radio/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/radio/meta.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EP,CAAC"}
|