@xihan-ui/web-components 1.0.0 → 1.1.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/CHANGELOG.md +213 -0
- package/custom-elements.json +3108 -2080
- package/dist/backgrounds.js +1 -1
- package/dist/define.d.ts +355 -35
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +1161 -739
- package/dist/define.js.map +1 -1
- package/dist/{element-ib25-l85.js → element-b0p0Q8Py.js} +2 -2
- package/dist/{element-ib25-l85.js.map → element-b0p0Q8Py.js.map} +1 -1
- package/package.json +13 -12
package/dist/define.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as containsPart, c as applyMotionOverride, d as notifyXhConfigChange, f as onXhConfigChange, h as withXhConfig, i as PART_ATTR, o as discoverParts, p as resolveXhConfig, r as createSpreader, s as wcNormalize, t as MachineController } from "./machine-controller-DE6edQbK.js";
|
|
2
2
|
import { t as defineElement } from "./registry-DR6I2_zF.js";
|
|
3
|
-
import { n as version, t as XhReactiveElement } from "./element-
|
|
4
|
-
import { HEATMAP_LEGEND_TEXT, SCROLLBAR_DEFAULT_TYPE, accordionAnatomy, accordionMachine, accordionMeta, affixAnatomy, affixMachine, affixMeta, alertAnatomy, alertMachine, alertMeta, anchorAnatomy, anchorMachine, anchorMeta, autoSizeTextarea, avatarAnatomy, avatarGroupAnatomy, avatarGroupMeta, avatarMachine, avatarMeta, backTopAnatomy, backTopMachine, backTopMeta, badgeAnatomy, badgeMeta, breadcrumbAnatomy, breadcrumbMeta, buildHeatmapGrid, buttonAnatomy, buttonGroupAnatomy, buttonGroupMeta, buttonMeta, calendarAnatomy, calendarMachine, calendarMeta, cardAnatomy, cardMeta, carouselAnatomy, carouselMachine, carouselMeta, cascaderAnatomy, cascaderMachine, cascaderMeta, checkboxAnatomy, checkboxGroupAnatomy, checkboxGroupMachine, checkboxGroupMeta, checkboxMachine, checkboxMeta, clipboardAnatomy, clipboardMachine, clipboardMeta, codeBlockAnatomy, codeBlockMeta, collapsibleAnatomy, collapsibleMachine, collapsibleMeta, colorPickerAnatomy, colorPickerMachine, colorPickerMeta, colorPickerToChannel, colorPickerToInputChannel, comboboxAnatomy, comboboxMachine, comboboxMeta, composerAnatomy, composerMachine, composerMeta, connectAccordion, connectAffix, connectAlert, connectAnchor, connectAvatar, connectAvatarGroup, connectBackTop, connectBadge, connectBreadcrumb, connectButton, connectButtonGroup, connectCalendar, connectCard, connectCarousel, connectCascader, connectCheckbox, connectCheckboxGroup, connectClipboard, connectCodeBlock, connectCollapsible, connectColorPicker, connectCombobox, connectComposer, connectContextMenu, connectCountdown, connectDateField, connectDatePicker, connectDescriptions, connectDialog, connectDownloadTrigger, connectDrawer, connectDynamicInput, connectEditable, connectEllipsis, connectEmptyState, connectField, connectFieldset, connectFileUpload, connectFlex, connectFloatButton, connectFloatingPanel, connectForm, connectGradientText, connectGrid, connectHeatmap, connectHighlight, connectHotkeys, connectHoverCard, connectIcon, connectIconWrapper, connectImage, connectImageCropper, connectImageViewer, connectInfiniteScroll, connectJsonViewer, connectLayout, connectList, connectListbox, connectLoadingBar, connectLog, connectMarquee, connectMasonry, connectMention, connectMenu, connectMenubar, connectNavigationMenu, connectNotification, connectNotificationItem, connectNumberAnimation, connectNumberField, connectPageHeader, connectPagination, connectPasswordInput, connectPinInput, connectPopconfirm, connectPopover, connectPopselect, connectProgress, connectQrCode, connectRadioGroup, connectRating, connectResult, connectScrollArea, connectScrollbar, connectSegmented, connectSelect, connectSeparator, connectSideNav, connectSignaturePad, connectSkeleton, connectSlider, connectSpace, connectSpinner, connectSplitter, connectStatistic, connectSteps, connectSwitch, connectTable, connectTabs, connectTag, connectTagsInput, connectTextField, connectThread, connectTime, connectTimeField, connectTimePicker, connectTimeline, connectTimer, connectToast, connectToggle, connectToggleGroup, connectToolbar, connectTooltip, connectTour, connectTransfer, connectTree, connectTreeSelect, connectTypography, connectVirtualizer, connectWatermark, contextMenuAnatomy, contextMenuMachine, contextMenuMeta, countdownAnatomy, countdownMachine, countdownMeta, dateFieldAnatomy, dateFieldMachine, dateFieldMeta, datePickerAnatomy, datePickerCalendarProps, datePickerFieldEndProps, datePickerFieldProps, datePickerMachine, datePickerMeta, descriptionsAnatomy, descriptionsMeta, detectHotkeysPlatform, dialogAnatomy, dialogMachine, dialogMeta, distributeMasonry, downloadTriggerAnatomy, downloadTriggerMachine, downloadTriggerMeta, drawerAnatomy, drawerMachine, drawerMeta, dynamicInputAnatomy, dynamicInputMachine, dynamicInputMeta, editableAnatomy, editableMachine, editableMeta, ellipsisAnatomy, ellipsisMachine, ellipsisMeta, emptyStateAnatomy, emptyStateMeta, fieldAnatomy, fieldMeta, fieldsetAnatomy, fieldsetMeta, fileUploadAnatomy, fileUploadMachine, fileUploadMeta, flexAnatomy, flexMeta, floatButtonAnatomy, floatButtonMeta, floatingPanelAnatomy, floatingPanelMachine, floatingPanelMeta, formAnatomy, formMachine, formMeta, gradientTextAnatomy, gradientTextMeta, gridAnatomy, gridMeta, heatmapAnatomy, heatmapMachine, heatmapMeta, highlightAnatomy, highlightMeta, hotkeysAnatomy, hotkeysMeta, hoverCardAnatomy, hoverCardMachine, hoverCardMeta, iconAnatomy, iconMeta, iconWrapperAnatomy, iconWrapperMeta, imageAnatomy, imageCropperAnatomy, imageCropperMachine, imageCropperMeta, imageMachine, imageMeta, imageViewerAnatomy, imageViewerCounterText, imageViewerMachine, imageViewerMeta, infiniteScrollAnatomy, infiniteScrollMachine, infiniteScrollMeta, isOverflowing, isTimerUnit, jsonViewerAnatomy, jsonViewerMachine, jsonViewerMeta, layoutAnatomy, layoutMachine, layoutMeta, listAnatomy, listMeta, listboxAnatomy, listboxMachine, listboxMeta, loadingBarAnatomy, loadingBarMachine, loadingBarMeta, logAnatomy, logMeta, marqueeAnatomy, marqueeMeta, masonryAnatomy, masonryMeta, mentionAnatomy, mentionMachine, mentionMeta, menuAnatomy, menuMachine, menuMeta, menubarAnatomy, menubarMachine, menubarMeta, navigationMenuAnatomy, navigationMenuMachine, navigationMenuMeta, notificationAnatomy, notificationMachine, notificationMeta, numberAnimationAnatomy, numberAnimationMachine, numberAnimationMeta, numberFieldAnatomy, numberFieldMachine, numberFieldMeta, pageHeaderAnatomy, pageHeaderMeta, paginationAnatomy, paginationMachine, paginationMeta, passwordInputAnatomy, passwordInputMachine, passwordInputMeta, pinInputAnatomy, pinInputMachine, pinInputMeta, popconfirmAnatomy, popconfirmMeta, popoverAnatomy, popoverMachine, popoverMeta, popselectAnatomy, popselectInitialFocus, popselectMeta, progressAnatomy, progressMeta, qrCodeAnatomy, qrCodeMeta, radioGroupAnatomy, radioGroupMachine, radioGroupMeta, ratingAnatomy, ratingMachine, ratingMeta, resolveMasonryColumns, resultAnatomy, resultMeta, scrollAreaAnatomy, scrollAreaMeta, scrollAreaScrollbarProps, scrollbarAnatomy, scrollbarMachine, scrollbarMeta, segmentedAnatomy, segmentedMachine, segmentedMeta, selectAnatomy, selectMachine, selectMeta, separatorAnatomy, separatorMeta, sideNavAnatomy, sideNavMachine, sideNavMeta, signaturePadAnatomy, signaturePadMachine, signaturePadMeta, skeletonAnatomy, skeletonMeta, sliderAnatomy, sliderMachine, sliderMeta, spaceAnatomy, spaceMeta, spinnerAnatomy, spinnerMeta, splitterAnatomy, splitterMachine, splitterMeta, statisticAnatomy, statisticMeta, stepsAnatomy, stepsMachine, stepsMeta, switchAnatomy, switchMachine, switchMeta, tableAnatomy, tableMachine, tableMeta, tabsAnatomy, tabsMachine, tabsMeta, tagAnatomy, tagMachine, tagMeta, tagsInputAnatomy, tagsInputMachine, tagsInputMeta, textFieldAnatomy, textFieldMachine, textFieldMeta, threadAnatomy, threadMachine, threadMeta, timeAnatomy, timeFieldAnatomy, timeFieldMachine, timeFieldMeta, timeMeta, timePickerAnatomy, timePickerMachine, timePickerMeta, timelineAnatomy, timelineMeta, timerAnatomy, timerMachine, timerMeta, toastAnatomy, toastMachine, toastMeta, toggleAnatomy, toggleGroupAnatomy, toggleGroupMachine, toggleGroupMeta, toggleMachine, toggleMeta, toolbarAnatomy, toolbarMachine, toolbarMeta, tooltipAnatomy, tooltipMachine, tooltipMeta, tourAnatomy, tourMachine, tourMeta, transferAnatomy, transferFocusKey, transferMachine, transferMeta, treeAnatomy, treeMachine, treeMeta, treeSelectAnatomy, treeSelectMachine, treeSelectMeta, typographyAnatomy, typographyMeta, virtualizerAnatomy, virtualizerMachine, virtualizerMeta, watermarkAnatomy, watermarkMeta } from "@xihan-ui/headless";
|
|
3
|
+
import { n as version, t as XhReactiveElement } from "./element-b0p0Q8Py.js";
|
|
4
|
+
import { HEATMAP_LEGEND_TEXT, SCROLLBAR_DEFAULT_TYPE, accordionAnatomy, accordionMachine, accordionMeta, affixAnatomy, affixMachine, affixMeta, alertAnatomy, alertMachine, alertMeta, anchorAnatomy, anchorMachine, anchorMeta, autoSizeTextarea, avatarAnatomy, avatarGroupAnatomy, avatarGroupMeta, avatarMachine, avatarMeta, backTopAnatomy, backTopMachine, backTopMeta, badgeAnatomy, badgeMeta, breadcrumbAnatomy, breadcrumbMeta, buildHeatmapGrid, buttonAnatomy, buttonGroupAnatomy, buttonGroupMeta, buttonMeta, calendarAnatomy, calendarMachine, calendarMeta, cardAnatomy, cardMeta, carouselAnatomy, carouselMachine, carouselMeta, cascaderAnatomy, cascaderMachine, cascaderMeta, checkboxAnatomy, checkboxGroupAnatomy, checkboxGroupMachine, checkboxGroupMeta, checkboxMachine, checkboxMeta, clipboardAnatomy, clipboardMachine, clipboardMeta, codeBlockAnatomy, codeBlockMeta, collapsibleAnatomy, collapsibleMachine, collapsibleMeta, colorPickerAnatomy, colorPickerMachine, colorPickerMeta, colorPickerToChannel, colorPickerToInputChannel, comboboxAnatomy, comboboxMachine, comboboxMeta, composerAnatomy, composerMachine, composerMeta, connectAccordion, connectAffix, connectAlert, connectAnchor, connectAvatar, connectAvatarGroup, connectBackTop, connectBadge, connectBreadcrumb, connectButton, connectButtonGroup, connectCalendar, connectCard, connectCarousel, connectCascader, connectCheckbox, connectCheckboxGroup, connectClipboard, connectCodeBlock, connectCollapsible, connectColorPicker, connectCombobox, connectComposer, connectContextMenu, connectCountdown, connectDateField, connectDatePicker, connectDescriptions, connectDialog, connectDownloadTrigger, connectDrawer, connectDynamicInput, connectEditable, connectEllipsis, connectEmptyState, connectField, connectFieldset, connectFileUpload, connectFlex, connectFloatButton, connectFloatingPanel, connectForm, connectGradientText, connectGrid, connectHeatmap, connectHighlight, connectHotkeys, connectHoverCard, connectIcon, connectIconWrapper, connectImage, connectImageCropper, connectImageViewer, connectInfiniteScroll, connectJsonViewer, connectLayout, connectList, connectListbox, connectLoadingBar, connectLog, connectMarquee, connectMasonry, connectMention, connectMenu, connectMenubar, connectNavigationMenu, connectNotification, connectNotificationItem, connectNumberAnimation, connectNumberField, connectPageHeader, connectPagination, connectPasswordInput, connectPinInput, connectPopconfirm, connectPopover, connectPopselect, connectProgress, connectQrCode, connectRadioGroup, connectRating, connectResizable, connectResult, connectScrollArea, connectScrollbar, connectSegmented, connectSelect, connectSeparator, connectSideNav, connectSignaturePad, connectSkeleton, connectSlider, connectSortable, connectSpace, connectSpinner, connectSplitter, connectStatistic, connectSteps, connectSwitch, connectTable, connectTabs, connectTag, connectTagsInput, connectTextField, connectThread, connectTime, connectTimeField, connectTimePicker, connectTimeline, connectTimer, connectToast, connectToggle, connectToggleGroup, connectToolbar, connectTooltip, connectTour, connectTransfer, connectTree, connectTreeSelect, connectTypography, connectVirtualizer, connectWatermark, contextMenuAnatomy, contextMenuMachine, contextMenuMeta, countdownAnatomy, countdownMachine, countdownMeta, dateFieldAnatomy, dateFieldMachine, dateFieldMeta, datePickerAnatomy, datePickerCalendarProps, datePickerFieldEndProps, datePickerFieldProps, datePickerMachine, datePickerMeta, descriptionsAnatomy, descriptionsMeta, detectHotkeysPlatform, dialogAnatomy, dialogMachine, dialogMeta, distributeMasonry, downloadTriggerAnatomy, downloadTriggerMachine, downloadTriggerMeta, drawerAnatomy, drawerMachine, drawerMeta, dynamicInputAnatomy, dynamicInputMachine, dynamicInputMeta, editableAnatomy, editableMachine, editableMeta, ellipsisAnatomy, ellipsisMachine, ellipsisMeta, emptyStateAnatomy, emptyStateMeta, fieldAnatomy, fieldMeta, fieldsetAnatomy, fieldsetMeta, fileUploadAnatomy, fileUploadMachine, fileUploadMeta, flexAnatomy, flexMeta, floatButtonAnatomy, floatButtonMeta, floatingPanelAnatomy, floatingPanelMachine, floatingPanelMeta, formAnatomy, formMachine, formMeta, gradientTextAnatomy, gradientTextMeta, gridAnatomy, gridMeta, heatmapAnatomy, heatmapMachine, heatmapMeta, highlightAnatomy, highlightMeta, hotkeysAnatomy, hotkeysMeta, hoverCardAnatomy, hoverCardMachine, hoverCardMeta, iconAnatomy, iconMeta, iconWrapperAnatomy, iconWrapperMeta, imageAnatomy, imageCropperAnatomy, imageCropperMachine, imageCropperMeta, imageMachine, imageMeta, imageViewerAnatomy, imageViewerCounterText, imageViewerMachine, imageViewerMeta, infiniteScrollAnatomy, infiniteScrollMachine, infiniteScrollMeta, isOverflowing, isTimerUnit, jsonViewerAnatomy, jsonViewerMachine, jsonViewerMeta, layoutAnatomy, layoutMachine, layoutMeta, listAnatomy, listMeta, listboxAnatomy, listboxMachine, listboxMeta, loadingBarAnatomy, loadingBarMachine, loadingBarMeta, logAnatomy, logMeta, marqueeAnatomy, marqueeMeta, masonryAnatomy, masonryMeta, mentionAnatomy, mentionMachine, mentionMeta, menuAnatomy, menuMachine, menuMeta, menubarAnatomy, menubarMachine, menubarMeta, navigationMenuAnatomy, navigationMenuMachine, navigationMenuMeta, notificationAnatomy, notificationMachine, notificationMeta, numberAnimationAnatomy, numberAnimationMachine, numberAnimationMeta, numberFieldAnatomy, numberFieldMachine, numberFieldMeta, pageHeaderAnatomy, pageHeaderMeta, paginationAnatomy, paginationMachine, paginationMeta, passwordInputAnatomy, passwordInputMachine, passwordInputMeta, pinInputAnatomy, pinInputMachine, pinInputMeta, popconfirmAnatomy, popconfirmMeta, popoverAnatomy, popoverMachine, popoverMeta, popselectAnatomy, popselectInitialFocus, popselectMeta, progressAnatomy, progressMeta, qrCodeAnatomy, qrCodeMeta, radioGroupAnatomy, radioGroupMachine, radioGroupMeta, ratingAnatomy, ratingMachine, ratingMeta, resizableAnatomy, resizableMachine, resizableMeta, resolveMasonryColumns, resultAnatomy, resultMeta, scrollAreaAnatomy, scrollAreaMeta, scrollAreaScrollbarProps, scrollbarAnatomy, scrollbarMachine, scrollbarMeta, segmentedAnatomy, segmentedMachine, segmentedMeta, selectAnatomy, selectMachine, selectMeta, separatorAnatomy, separatorMeta, sideNavAnatomy, sideNavMachine, sideNavMeta, signaturePadAnatomy, signaturePadMachine, signaturePadMeta, skeletonAnatomy, skeletonMeta, sliderAnatomy, sliderMachine, sliderMeta, sortableAnatomy, sortableMachine, sortableMeta, spaceAnatomy, spaceMeta, spinnerAnatomy, spinnerMeta, splitterAnatomy, splitterMachine, splitterMeta, statisticAnatomy, statisticMeta, stepsAnatomy, stepsMachine, stepsMeta, switchAnatomy, switchMachine, switchMeta, tableAnatomy, tableMachine, tableMeta, tabsAnatomy, tabsMachine, tabsMeta, tagAnatomy, tagMachine, tagMeta, tagsInputAnatomy, tagsInputMachine, tagsInputMeta, textFieldAnatomy, textFieldMachine, textFieldMeta, threadAnatomy, threadMachine, threadMeta, timeAnatomy, timeFieldAnatomy, timeFieldMachine, timeFieldMeta, timeMeta, timePickerAnatomy, timePickerMachine, timePickerMeta, timelineAnatomy, timelineMeta, timerAnatomy, timerMachine, timerMeta, toastAnatomy, toastMachine, toastMeta, toggleAnatomy, toggleGroupAnatomy, toggleGroupMachine, toggleGroupMeta, toggleMachine, toggleMeta, toolbarAnatomy, toolbarMachine, toolbarMeta, tooltipAnatomy, tooltipMachine, tooltipMeta, tourAnatomy, tourMachine, tourMeta, transferAnatomy, transferFocusKey, transferMachine, transferMeta, treeAnatomy, treeMachine, treeMeta, treeSelectAnatomy, treeSelectMachine, treeSelectMeta, typographyAnatomy, typographyMeta, virtualizerAnatomy, virtualizerMachine, virtualizerMeta, watermarkAnatomy, watermarkMeta } from "@xihan-ui/headless";
|
|
5
5
|
import { DATA_PART, DATA_SCOPE, DIAGNOSTIC_CODES, VERSION, createCounterIdGenerator, createRuntimeConfig, createScope, getDiagnostics, isDev, reportDiagnostic } from "@xihan-ui/kernel";
|
|
6
6
|
import { ITEM_VALUE_ATTR, declaredItemDisabled, isItemDisabled } from "@xihan-ui/behavior";
|
|
7
7
|
import { findDeprecatedPart, startDeprecationScan } from "@xihan-ui/kernel/deprecations";
|
|
@@ -516,7 +516,7 @@ var XhAccordionElement = class extends XhElement {
|
|
|
516
516
|
};
|
|
517
517
|
//#endregion
|
|
518
518
|
//#region src/elements/affix.ts
|
|
519
|
-
const NUMBER_CONVERTER$
|
|
519
|
+
const NUMBER_CONVERTER$59 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
520
520
|
/**
|
|
521
521
|
* `<xh-affix>` —— 吸附行为宿主:滚过判定线就把 content 钉在滚动容器可视区的边上。
|
|
522
522
|
*
|
|
@@ -539,11 +539,11 @@ var XhAffixElement = class extends XhElement {
|
|
|
539
539
|
};
|
|
540
540
|
static properties = {
|
|
541
541
|
topOffset: {
|
|
542
|
-
converter: NUMBER_CONVERTER$
|
|
542
|
+
converter: NUMBER_CONVERTER$59,
|
|
543
543
|
attribute: "offset-top"
|
|
544
544
|
},
|
|
545
545
|
bottomOffset: {
|
|
546
|
-
converter: NUMBER_CONVERTER$
|
|
546
|
+
converter: NUMBER_CONVERTER$59,
|
|
547
547
|
attribute: "offset-bottom"
|
|
548
548
|
},
|
|
549
549
|
target: { attribute: false }
|
|
@@ -644,9 +644,9 @@ var XhAlertElement = class extends XhElement {
|
|
|
644
644
|
};
|
|
645
645
|
//#endregion
|
|
646
646
|
//#region src/elements/anchor.ts
|
|
647
|
-
const STRING_CONVERTER$
|
|
648
|
-
const NUMBER_CONVERTER$
|
|
649
|
-
const BOOLEAN_CONVERTER$
|
|
647
|
+
const STRING_CONVERTER$97 = { fromAttribute: (v) => v ?? void 0 };
|
|
648
|
+
const NUMBER_CONVERTER$58 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
649
|
+
const BOOLEAN_CONVERTER$70 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
650
650
|
/**
|
|
651
651
|
* `<xh-anchor>` —— 锚点导航行为宿主,激活项由机器的滚动观察器结算,
|
|
652
652
|
* 目标区块按 link 上的 value 属性(或 targets 清单)里的 id 现查。
|
|
@@ -677,20 +677,20 @@ var XhAnchorElement = class extends XhElement {
|
|
|
677
677
|
meta: anchorMeta
|
|
678
678
|
};
|
|
679
679
|
static properties = {
|
|
680
|
-
value: { converter: STRING_CONVERTER$
|
|
680
|
+
value: { converter: STRING_CONVERTER$97 },
|
|
681
681
|
defaultValue: {
|
|
682
|
-
converter: STRING_CONVERTER$
|
|
682
|
+
converter: STRING_CONVERTER$97,
|
|
683
683
|
attribute: "default-value"
|
|
684
684
|
},
|
|
685
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
686
|
-
smooth: { converter: BOOLEAN_CONVERTER$
|
|
687
|
-
orientation: { converter: STRING_CONVERTER$
|
|
685
|
+
offset: { converter: NUMBER_CONVERTER$58 },
|
|
686
|
+
smooth: { converter: BOOLEAN_CONVERTER$70 },
|
|
687
|
+
orientation: { converter: STRING_CONVERTER$97 },
|
|
688
688
|
direction: {
|
|
689
|
-
converter: STRING_CONVERTER$
|
|
689
|
+
converter: STRING_CONVERTER$97,
|
|
690
690
|
attribute: "dir"
|
|
691
691
|
},
|
|
692
|
-
tone: { converter: STRING_CONVERTER$
|
|
693
|
-
size: { converter: STRING_CONVERTER$
|
|
692
|
+
tone: { converter: STRING_CONVERTER$97 },
|
|
693
|
+
size: { converter: STRING_CONVERTER$97 },
|
|
694
694
|
targets: { attribute: false },
|
|
695
695
|
translations: { attribute: false },
|
|
696
696
|
scrollElement: { attribute: false }
|
|
@@ -745,7 +745,7 @@ var XhAnchorElement = class extends XhElement {
|
|
|
745
745
|
};
|
|
746
746
|
//#endregion
|
|
747
747
|
//#region src/elements/avatar.ts
|
|
748
|
-
const STRING_CONVERTER$
|
|
748
|
+
const STRING_CONVERTER$96 = { fromAttribute: (v) => v ?? void 0 };
|
|
749
749
|
/**
|
|
750
750
|
* `<xh-avatar>` —— 头像行为宿主,src/alt 写进 image 节点,加载成败回送机器,image 与 fallback 互斥显隐。
|
|
751
751
|
*
|
|
@@ -764,9 +764,9 @@ var XhAvatarElement = class extends XhElement {
|
|
|
764
764
|
meta: avatarMeta
|
|
765
765
|
};
|
|
766
766
|
static properties = {
|
|
767
|
-
src: { converter: STRING_CONVERTER$
|
|
768
|
-
alt: { converter: STRING_CONVERTER$
|
|
769
|
-
size: { converter: STRING_CONVERTER$
|
|
767
|
+
src: { converter: STRING_CONVERTER$96 },
|
|
768
|
+
alt: { converter: STRING_CONVERTER$96 },
|
|
769
|
+
size: { converter: STRING_CONVERTER$96 }
|
|
770
770
|
};
|
|
771
771
|
notify = (details) => {
|
|
772
772
|
this.dispatchEvent(new CustomEvent("status-change", {
|
|
@@ -845,8 +845,8 @@ var XhAvatarGroupElement = class extends XhElement {
|
|
|
845
845
|
};
|
|
846
846
|
//#endregion
|
|
847
847
|
//#region src/elements/back-top.ts
|
|
848
|
-
const STRING_CONVERTER$
|
|
849
|
-
const NUMBER_CONVERTER$
|
|
848
|
+
const STRING_CONVERTER$95 = { fromAttribute: (v) => v ?? void 0 };
|
|
849
|
+
const NUMBER_CONVERTER$57 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
850
850
|
/**
|
|
851
851
|
* `<xh-back-top>` —— 回到顶部行为宿主:滚动量过线时露出按钮,点它滚回顶部。
|
|
852
852
|
*
|
|
@@ -870,12 +870,12 @@ var XhBackTopElement = class extends XhElement {
|
|
|
870
870
|
};
|
|
871
871
|
static properties = {
|
|
872
872
|
visibilityHeight: {
|
|
873
|
-
converter: NUMBER_CONVERTER$
|
|
873
|
+
converter: NUMBER_CONVERTER$57,
|
|
874
874
|
attribute: "visibility-height"
|
|
875
875
|
},
|
|
876
|
-
behavior: { converter: STRING_CONVERTER$
|
|
877
|
-
tone: { converter: STRING_CONVERTER$
|
|
878
|
-
size: { converter: STRING_CONVERTER$
|
|
876
|
+
behavior: { converter: STRING_CONVERTER$95 },
|
|
877
|
+
tone: { converter: STRING_CONVERTER$95 },
|
|
878
|
+
size: { converter: STRING_CONVERTER$95 },
|
|
879
879
|
translations: { attribute: false },
|
|
880
880
|
target: { attribute: false }
|
|
881
881
|
};
|
|
@@ -972,7 +972,7 @@ var XhBadgeElement = class extends XhElement {
|
|
|
972
972
|
};
|
|
973
973
|
//#endregion
|
|
974
974
|
//#region src/elements/breadcrumb.ts
|
|
975
|
-
const STRING_CONVERTER$
|
|
975
|
+
const STRING_CONVERTER$94 = { fromAttribute: (v) => v ?? void 0 };
|
|
976
976
|
/** 读作者写在角色节点上的布尔声明:属性缺席或 ="false" 为假,其余为真。 */
|
|
977
977
|
function authorFlag$1(el, name) {
|
|
978
978
|
const raw = el.getAttribute(name);
|
|
@@ -1002,11 +1002,11 @@ var XhBreadcrumbElement = class extends XhElement {
|
|
|
1002
1002
|
};
|
|
1003
1003
|
static properties = {
|
|
1004
1004
|
direction: {
|
|
1005
|
-
converter: STRING_CONVERTER$
|
|
1005
|
+
converter: STRING_CONVERTER$94,
|
|
1006
1006
|
attribute: "dir"
|
|
1007
1007
|
},
|
|
1008
|
-
tone: { converter: STRING_CONVERTER$
|
|
1009
|
-
size: { converter: STRING_CONVERTER$
|
|
1008
|
+
tone: { converter: STRING_CONVERTER$94 },
|
|
1009
|
+
size: { converter: STRING_CONVERTER$94 },
|
|
1010
1010
|
translations: { attribute: false }
|
|
1011
1011
|
};
|
|
1012
1012
|
wire() {
|
|
@@ -1134,9 +1134,9 @@ var XhButtonGroupElement = class extends XhElement {
|
|
|
1134
1134
|
};
|
|
1135
1135
|
//#endregion
|
|
1136
1136
|
//#region src/elements/calendar.ts
|
|
1137
|
-
const STRING_CONVERTER$
|
|
1138
|
-
const BOOLEAN_CONVERTER$
|
|
1139
|
-
const NUMBER_CONVERTER$
|
|
1137
|
+
const STRING_CONVERTER$93 = { fromAttribute: (v) => v ?? void 0 };
|
|
1138
|
+
const BOOLEAN_CONVERTER$69 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
1139
|
+
const NUMBER_CONVERTER$56 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
1140
1140
|
/** 作者写的面板下标;写坏了或没写按 0 算。 */
|
|
1141
1141
|
function declaredIndex$6(el, fallback = 0) {
|
|
1142
1142
|
const raw = el?.getAttribute("index")?.trim();
|
|
@@ -1197,32 +1197,32 @@ var XhCalendarElement = class extends XhElement {
|
|
|
1197
1197
|
meta: calendarMeta
|
|
1198
1198
|
};
|
|
1199
1199
|
static properties = {
|
|
1200
|
-
value: { converter: STRING_CONVERTER$
|
|
1200
|
+
value: { converter: STRING_CONVERTER$93 },
|
|
1201
1201
|
defaultValue: {
|
|
1202
|
-
converter: STRING_CONVERTER$
|
|
1202
|
+
converter: STRING_CONVERTER$93,
|
|
1203
1203
|
attribute: "default-value"
|
|
1204
1204
|
},
|
|
1205
1205
|
selectionMode: {
|
|
1206
|
-
converter: STRING_CONVERTER$
|
|
1206
|
+
converter: STRING_CONVERTER$93,
|
|
1207
1207
|
attribute: "selection-mode"
|
|
1208
1208
|
},
|
|
1209
1209
|
focusedValue: {
|
|
1210
|
-
converter: STRING_CONVERTER$
|
|
1210
|
+
converter: STRING_CONVERTER$93,
|
|
1211
1211
|
attribute: "focused-value"
|
|
1212
1212
|
},
|
|
1213
1213
|
defaultFocusedValue: {
|
|
1214
|
-
converter: STRING_CONVERTER$
|
|
1214
|
+
converter: STRING_CONVERTER$93,
|
|
1215
1215
|
attribute: "default-focused-value"
|
|
1216
1216
|
},
|
|
1217
|
-
min: { converter: STRING_CONVERTER$
|
|
1218
|
-
max: { converter: STRING_CONVERTER$
|
|
1219
|
-
locale: { converter: STRING_CONVERTER$
|
|
1217
|
+
min: { converter: STRING_CONVERTER$93 },
|
|
1218
|
+
max: { converter: STRING_CONVERTER$93 },
|
|
1219
|
+
locale: { converter: STRING_CONVERTER$93 },
|
|
1220
1220
|
timeZone: {
|
|
1221
|
-
converter: STRING_CONVERTER$
|
|
1221
|
+
converter: STRING_CONVERTER$93,
|
|
1222
1222
|
attribute: "time-zone"
|
|
1223
1223
|
},
|
|
1224
1224
|
weekdayFormat: {
|
|
1225
|
-
converter: STRING_CONVERTER$
|
|
1225
|
+
converter: STRING_CONVERTER$93,
|
|
1226
1226
|
attribute: "weekday-format"
|
|
1227
1227
|
},
|
|
1228
1228
|
disabled: { type: Boolean },
|
|
@@ -1234,21 +1234,21 @@ var XhCalendarElement = class extends XhElement {
|
|
|
1234
1234
|
type: Boolean,
|
|
1235
1235
|
attribute: "fixed-weeks"
|
|
1236
1236
|
},
|
|
1237
|
-
view: { converter: STRING_CONVERTER$
|
|
1237
|
+
view: { converter: STRING_CONVERTER$93 },
|
|
1238
1238
|
activeView: {
|
|
1239
|
-
converter: STRING_CONVERTER$
|
|
1239
|
+
converter: STRING_CONVERTER$93,
|
|
1240
1240
|
attribute: "active-view"
|
|
1241
1241
|
},
|
|
1242
1242
|
defaultActiveView: {
|
|
1243
|
-
converter: STRING_CONVERTER$
|
|
1243
|
+
converter: STRING_CONVERTER$93,
|
|
1244
1244
|
attribute: "default-active-view"
|
|
1245
1245
|
},
|
|
1246
1246
|
weekSelection: {
|
|
1247
|
-
converter: BOOLEAN_CONVERTER$
|
|
1247
|
+
converter: BOOLEAN_CONVERTER$69,
|
|
1248
1248
|
attribute: "week-selection"
|
|
1249
1249
|
},
|
|
1250
1250
|
visibleCount: {
|
|
1251
|
-
converter: NUMBER_CONVERTER$
|
|
1251
|
+
converter: NUMBER_CONVERTER$56,
|
|
1252
1252
|
attribute: "visible-count"
|
|
1253
1253
|
},
|
|
1254
1254
|
isDateUnavailable: { attribute: false }
|
|
@@ -1431,9 +1431,9 @@ var XhCardElement = class extends XhElement {
|
|
|
1431
1431
|
};
|
|
1432
1432
|
//#endregion
|
|
1433
1433
|
//#region src/elements/carousel.ts
|
|
1434
|
-
const STRING_CONVERTER$
|
|
1435
|
-
const NUMBER_CONVERTER$
|
|
1436
|
-
const BOOLEAN_CONVERTER$
|
|
1434
|
+
const STRING_CONVERTER$92 = { fromAttribute: (v) => v ?? void 0 };
|
|
1435
|
+
const NUMBER_CONVERTER$55 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
1436
|
+
const BOOLEAN_CONVERTER$68 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
1437
1437
|
/**
|
|
1438
1438
|
* autoplay 布尔或毫秒两用:缺席 = undefined,`autoplay` / `autoplay="true"` = 默认间隔,
|
|
1439
1439
|
* `autoplay="false"` = 关,`autoplay="3000"` = 3 秒一张,念不成数的串按开着处理。
|
|
@@ -1487,35 +1487,35 @@ var XhCarouselElement = class extends XhElement {
|
|
|
1487
1487
|
meta: carouselMeta
|
|
1488
1488
|
};
|
|
1489
1489
|
static properties = {
|
|
1490
|
-
page: { converter: NUMBER_CONVERTER$
|
|
1490
|
+
page: { converter: NUMBER_CONVERTER$55 },
|
|
1491
1491
|
defaultPage: {
|
|
1492
|
-
converter: NUMBER_CONVERTER$
|
|
1492
|
+
converter: NUMBER_CONVERTER$55,
|
|
1493
1493
|
attribute: "default-page"
|
|
1494
1494
|
},
|
|
1495
1495
|
slideCount: {
|
|
1496
|
-
converter: NUMBER_CONVERTER$
|
|
1496
|
+
converter: NUMBER_CONVERTER$55,
|
|
1497
1497
|
attribute: "slide-count"
|
|
1498
1498
|
},
|
|
1499
1499
|
slidesPerPage: {
|
|
1500
|
-
converter: NUMBER_CONVERTER$
|
|
1500
|
+
converter: NUMBER_CONVERTER$55,
|
|
1501
1501
|
attribute: "slides-per-page"
|
|
1502
1502
|
},
|
|
1503
1503
|
slidesPerMove: {
|
|
1504
|
-
converter: NUMBER_CONVERTER$
|
|
1504
|
+
converter: NUMBER_CONVERTER$55,
|
|
1505
1505
|
attribute: "slides-per-move"
|
|
1506
1506
|
},
|
|
1507
|
-
orientation: { converter: STRING_CONVERTER$
|
|
1507
|
+
orientation: { converter: STRING_CONVERTER$92 },
|
|
1508
1508
|
direction: {
|
|
1509
|
-
converter: STRING_CONVERTER$
|
|
1509
|
+
converter: STRING_CONVERTER$92,
|
|
1510
1510
|
attribute: "dir"
|
|
1511
1511
|
},
|
|
1512
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
1512
|
+
loop: { converter: BOOLEAN_CONVERTER$68 },
|
|
1513
1513
|
autoplay: { converter: AUTOPLAY_CONVERTER },
|
|
1514
1514
|
allowPointerDrag: {
|
|
1515
|
-
converter: BOOLEAN_CONVERTER$
|
|
1515
|
+
converter: BOOLEAN_CONVERTER$68,
|
|
1516
1516
|
attribute: "allow-pointer-drag"
|
|
1517
1517
|
},
|
|
1518
|
-
spacing: { converter: STRING_CONVERTER$
|
|
1518
|
+
spacing: { converter: STRING_CONVERTER$92 },
|
|
1519
1519
|
translations: { attribute: false }
|
|
1520
1520
|
};
|
|
1521
1521
|
notify = (details) => {
|
|
@@ -1682,9 +1682,9 @@ var ScrollbarsController = class {
|
|
|
1682
1682
|
};
|
|
1683
1683
|
//#endregion
|
|
1684
1684
|
//#region src/elements/cascader.ts
|
|
1685
|
-
const STRING_CONVERTER$
|
|
1686
|
-
const NUMBER_CONVERTER$
|
|
1687
|
-
const BOOLEAN_CONVERTER$
|
|
1685
|
+
const STRING_CONVERTER$91 = { fromAttribute: (v) => v ?? void 0 };
|
|
1686
|
+
const NUMBER_CONVERTER$54 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
1687
|
+
const BOOLEAN_CONVERTER$67 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
1688
1688
|
/** 条目一系的归属容器:文本与勾选标记向上找最近的那个条目。 */
|
|
1689
1689
|
const ITEM_SELECTOR$4 = "[data-xh-part=\"item\"]";
|
|
1690
1690
|
/**
|
|
@@ -1754,43 +1754,43 @@ var XhCascaderElement = class extends XhElement {
|
|
|
1754
1754
|
collection: { attribute: false },
|
|
1755
1755
|
value: { attribute: false },
|
|
1756
1756
|
defaultValue: { attribute: false },
|
|
1757
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
1757
|
+
open: { converter: BOOLEAN_CONVERTER$67 },
|
|
1758
1758
|
defaultOpen: {
|
|
1759
1759
|
type: Boolean,
|
|
1760
1760
|
attribute: "default-open"
|
|
1761
1761
|
},
|
|
1762
1762
|
expandTrigger: {
|
|
1763
|
-
converter: STRING_CONVERTER$
|
|
1763
|
+
converter: STRING_CONVERTER$91,
|
|
1764
1764
|
attribute: "expand-trigger"
|
|
1765
1765
|
},
|
|
1766
1766
|
changeOnSelect: {
|
|
1767
|
-
converter: BOOLEAN_CONVERTER$
|
|
1767
|
+
converter: BOOLEAN_CONVERTER$67,
|
|
1768
1768
|
attribute: "change-on-select"
|
|
1769
1769
|
},
|
|
1770
1770
|
multiple: { type: Boolean },
|
|
1771
1771
|
searchable: { type: Boolean },
|
|
1772
1772
|
cascade: { type: Boolean },
|
|
1773
1773
|
checkedStrategy: {
|
|
1774
|
-
converter: STRING_CONVERTER$
|
|
1774
|
+
converter: STRING_CONVERTER$91,
|
|
1775
1775
|
attribute: "checked-strategy"
|
|
1776
1776
|
},
|
|
1777
1777
|
disabled: { type: Boolean },
|
|
1778
1778
|
readOnly: {
|
|
1779
|
-
converter: BOOLEAN_CONVERTER$
|
|
1779
|
+
converter: BOOLEAN_CONVERTER$67,
|
|
1780
1780
|
attribute: "read-only"
|
|
1781
1781
|
},
|
|
1782
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
1783
|
-
variant: { converter: STRING_CONVERTER$
|
|
1784
|
-
tone: { converter: STRING_CONVERTER$
|
|
1785
|
-
size: { converter: STRING_CONVERTER$
|
|
1786
|
-
placeholder: { converter: STRING_CONVERTER$
|
|
1787
|
-
separator: { converter: STRING_CONVERTER$
|
|
1782
|
+
invalid: { converter: BOOLEAN_CONVERTER$67 },
|
|
1783
|
+
variant: { converter: STRING_CONVERTER$91 },
|
|
1784
|
+
tone: { converter: STRING_CONVERTER$91 },
|
|
1785
|
+
size: { converter: STRING_CONVERTER$91 },
|
|
1786
|
+
placeholder: { converter: STRING_CONVERTER$91 },
|
|
1787
|
+
separator: { converter: STRING_CONVERTER$91 },
|
|
1788
1788
|
translations: { attribute: false },
|
|
1789
|
-
placement: { converter: STRING_CONVERTER$
|
|
1790
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
1791
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
1789
|
+
placement: { converter: STRING_CONVERTER$91 },
|
|
1790
|
+
offset: { converter: NUMBER_CONVERTER$54 },
|
|
1791
|
+
loop: { converter: BOOLEAN_CONVERTER$67 },
|
|
1792
1792
|
direction: {
|
|
1793
|
-
converter: STRING_CONVERTER$
|
|
1793
|
+
converter: STRING_CONVERTER$91,
|
|
1794
1794
|
attribute: "dir"
|
|
1795
1795
|
}
|
|
1796
1796
|
};
|
|
@@ -2119,8 +2119,8 @@ function createDeclaredDisabled() {
|
|
|
2119
2119
|
}
|
|
2120
2120
|
//#endregion
|
|
2121
2121
|
//#region src/elements/checkbox-group.ts
|
|
2122
|
-
const STRING_CONVERTER$
|
|
2123
|
-
const BOOLEAN_CONVERTER$
|
|
2122
|
+
const STRING_CONVERTER$90 = { fromAttribute: (v) => v ?? void 0 };
|
|
2123
|
+
const BOOLEAN_CONVERTER$66 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
2124
2124
|
const LIST_CONVERTER = { fromAttribute: (v) => v === null ? void 0 : v.split(",").map((s) => s.trim()).filter(Boolean) };
|
|
2125
2125
|
/**
|
|
2126
2126
|
* `<xh-checkbox-group>` —— Light-DOM 行为宿主:作者写 root/label 与若干 item 角色节点,
|
|
@@ -2163,14 +2163,14 @@ var XhCheckboxGroupElement = class extends XhElement {
|
|
|
2163
2163
|
converter: LIST_CONVERTER,
|
|
2164
2164
|
attribute: "item-values"
|
|
2165
2165
|
},
|
|
2166
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
2166
|
+
disabled: { converter: BOOLEAN_CONVERTER$66 },
|
|
2167
2167
|
readOnly: {
|
|
2168
|
-
converter: BOOLEAN_CONVERTER$
|
|
2168
|
+
converter: BOOLEAN_CONVERTER$66,
|
|
2169
2169
|
attribute: "read-only"
|
|
2170
2170
|
},
|
|
2171
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
2172
|
-
orientation: { converter: STRING_CONVERTER$
|
|
2173
|
-
name: { converter: STRING_CONVERTER$
|
|
2171
|
+
invalid: { converter: BOOLEAN_CONVERTER$66 },
|
|
2172
|
+
orientation: { converter: STRING_CONVERTER$90 },
|
|
2173
|
+
name: { converter: STRING_CONVERTER$90 }
|
|
2174
2174
|
};
|
|
2175
2175
|
/** 条目自身 disabled 声明的快照,整组禁用期间 DOM 上的 aria-disabled 不可信。 */
|
|
2176
2176
|
declaredDisabled = /* @__PURE__ */ new WeakMap();
|
|
@@ -2258,8 +2258,8 @@ var XhCheckboxGroupElement = class extends XhElement {
|
|
|
2258
2258
|
};
|
|
2259
2259
|
//#endregion
|
|
2260
2260
|
//#region src/elements/clipboard.ts
|
|
2261
|
-
const STRING_CONVERTER$
|
|
2262
|
-
const NUMBER_CONVERTER$
|
|
2261
|
+
const STRING_CONVERTER$89 = { fromAttribute: (v) => v ?? void 0 };
|
|
2262
|
+
const NUMBER_CONVERTER$53 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
2263
2263
|
/**
|
|
2264
2264
|
* `<xh-clipboard>` —— Light-DOM 行为宿主,跑 clipboard 机器并把 connect 产出打到角色节点上。
|
|
2265
2265
|
*
|
|
@@ -2286,8 +2286,8 @@ var XhClipboardElement = class extends XhElement {
|
|
|
2286
2286
|
meta: clipboardMeta
|
|
2287
2287
|
};
|
|
2288
2288
|
static properties = {
|
|
2289
|
-
value: { converter: STRING_CONVERTER$
|
|
2290
|
-
timeout: { converter: NUMBER_CONVERTER$
|
|
2289
|
+
value: { converter: STRING_CONVERTER$89 },
|
|
2290
|
+
timeout: { converter: NUMBER_CONVERTER$53 }
|
|
2291
2291
|
};
|
|
2292
2292
|
notifyStatus = (details) => {
|
|
2293
2293
|
this.dispatchEvent(new CustomEvent("status-change", {
|
|
@@ -2334,8 +2334,8 @@ var XhClipboardElement = class extends XhElement {
|
|
|
2334
2334
|
//#region src/elements/code-block.ts
|
|
2335
2335
|
/** 默认着色实现全元素共用一份:它无状态,没必要每个块建一个。 */
|
|
2336
2336
|
const defaultHighlighter = createHighlighter();
|
|
2337
|
-
const STRING_CONVERTER$
|
|
2338
|
-
const BOOLEAN_CONVERTER$
|
|
2337
|
+
const STRING_CONVERTER$88 = { fromAttribute: (v) => v ?? void 0 };
|
|
2338
|
+
const BOOLEAN_CONVERTER$65 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
2339
2339
|
/**
|
|
2340
2340
|
* `<xh-code-block>` —— Light-DOM 行为宿主,无状态机:wire 时算出 connectCodeBlock 的产出,
|
|
2341
2341
|
* 打到四类角色节点上。显示的代码文本由作者写在 code 角色节点里,元素不改其子节点。
|
|
@@ -2358,15 +2358,15 @@ var XhCodeBlockElement = class extends XhElement {
|
|
|
2358
2358
|
meta: codeBlockMeta
|
|
2359
2359
|
};
|
|
2360
2360
|
static properties = {
|
|
2361
|
-
code: { converter: STRING_CONVERTER$
|
|
2361
|
+
code: { converter: STRING_CONVERTER$88 },
|
|
2362
2362
|
codeLang: {
|
|
2363
|
-
converter: STRING_CONVERTER$
|
|
2363
|
+
converter: STRING_CONVERTER$88,
|
|
2364
2364
|
attribute: "code-lang"
|
|
2365
2365
|
},
|
|
2366
2366
|
wrap: { type: Boolean },
|
|
2367
|
-
complete: { converter: BOOLEAN_CONVERTER$
|
|
2367
|
+
complete: { converter: BOOLEAN_CONVERTER$65 },
|
|
2368
2368
|
highlightWhileStreaming: {
|
|
2369
|
-
converter: BOOLEAN_CONVERTER$
|
|
2369
|
+
converter: BOOLEAN_CONVERTER$65,
|
|
2370
2370
|
attribute: "highlight-while-streaming"
|
|
2371
2371
|
}
|
|
2372
2372
|
};
|
|
@@ -2501,9 +2501,9 @@ var XhCollapsibleElement = class extends XhElement {
|
|
|
2501
2501
|
};
|
|
2502
2502
|
//#endregion
|
|
2503
2503
|
//#region src/elements/color-picker.ts
|
|
2504
|
-
const STRING_CONVERTER$
|
|
2505
|
-
const NUMBER_CONVERTER$
|
|
2506
|
-
const BOOLEAN_CONVERTER$
|
|
2504
|
+
const STRING_CONVERTER$87 = { fromAttribute: (v) => v ?? void 0 };
|
|
2505
|
+
const NUMBER_CONVERTER$52 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
2506
|
+
const BOOLEAN_CONVERTER$64 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
2507
2507
|
/** 预设色板写成逗号分隔(swatches="#ff0000,#00ff00"),空串当没写。 */
|
|
2508
2508
|
const STRING_LIST_CONVERTER = { fromAttribute: (v) => {
|
|
2509
2509
|
if (v == null || v.trim() === "") return void 0;
|
|
@@ -2564,32 +2564,32 @@ var XhColorPickerElement = class extends XhElement {
|
|
|
2564
2564
|
meta: colorPickerMeta
|
|
2565
2565
|
};
|
|
2566
2566
|
static properties = {
|
|
2567
|
-
value: { converter: STRING_CONVERTER$
|
|
2567
|
+
value: { converter: STRING_CONVERTER$87 },
|
|
2568
2568
|
defaultValue: {
|
|
2569
|
-
converter: STRING_CONVERTER$
|
|
2569
|
+
converter: STRING_CONVERTER$87,
|
|
2570
2570
|
attribute: "default-value"
|
|
2571
2571
|
},
|
|
2572
|
-
format: { converter: STRING_CONVERTER$
|
|
2573
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
2572
|
+
format: { converter: STRING_CONVERTER$87 },
|
|
2573
|
+
open: { converter: BOOLEAN_CONVERTER$64 },
|
|
2574
2574
|
defaultOpen: {
|
|
2575
2575
|
type: Boolean,
|
|
2576
2576
|
attribute: "default-open"
|
|
2577
2577
|
},
|
|
2578
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
2578
|
+
disabled: { converter: BOOLEAN_CONVERTER$64 },
|
|
2579
2579
|
readOnly: {
|
|
2580
|
-
converter: BOOLEAN_CONVERTER$
|
|
2580
|
+
converter: BOOLEAN_CONVERTER$64,
|
|
2581
2581
|
attribute: "read-only"
|
|
2582
2582
|
},
|
|
2583
|
-
alpha: { converter: BOOLEAN_CONVERTER$
|
|
2583
|
+
alpha: { converter: BOOLEAN_CONVERTER$64 },
|
|
2584
2584
|
swatches: { converter: STRING_LIST_CONVERTER },
|
|
2585
|
-
name: { converter: STRING_CONVERTER$
|
|
2586
|
-
size: { converter: STRING_CONVERTER$
|
|
2585
|
+
name: { converter: STRING_CONVERTER$87 },
|
|
2586
|
+
size: { converter: STRING_CONVERTER$87 },
|
|
2587
2587
|
direction: {
|
|
2588
|
-
converter: STRING_CONVERTER$
|
|
2588
|
+
converter: STRING_CONVERTER$87,
|
|
2589
2589
|
attribute: "dir"
|
|
2590
2590
|
},
|
|
2591
|
-
placement: { converter: STRING_CONVERTER$
|
|
2592
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
2591
|
+
placement: { converter: STRING_CONVERTER$87 },
|
|
2592
|
+
offset: { converter: NUMBER_CONVERTER$52 },
|
|
2593
2593
|
translations: { attribute: false }
|
|
2594
2594
|
};
|
|
2595
2595
|
idGen = createCounterIdGenerator();
|
|
@@ -2751,9 +2751,9 @@ var XhColorPickerElement = class extends XhElement {
|
|
|
2751
2751
|
};
|
|
2752
2752
|
//#endregion
|
|
2753
2753
|
//#region src/elements/combobox.ts
|
|
2754
|
-
const STRING_CONVERTER$
|
|
2755
|
-
const NUMBER_CONVERTER$
|
|
2756
|
-
const BOOLEAN_CONVERTER$
|
|
2754
|
+
const STRING_CONVERTER$86 = { fromAttribute: (v) => v ?? void 0 };
|
|
2755
|
+
const NUMBER_CONVERTER$51 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
2756
|
+
const BOOLEAN_CONVERTER$63 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
2757
2757
|
/**
|
|
2758
2758
|
* `<xh-combobox>` —— Light-DOM 行为宿主:作者写 root/label/control/input/trigger/positioner/content/item/...
|
|
2759
2759
|
* 角色节点,元素跑 combobox 机器并把 connect 产出打上去。浮层定位引擎在本元素里建好、经 refs 注入机器,
|
|
@@ -2813,21 +2813,21 @@ var XhComboboxElement = class extends XhElement {
|
|
|
2813
2813
|
static properties = {
|
|
2814
2814
|
collection: { attribute: false },
|
|
2815
2815
|
translations: { attribute: false },
|
|
2816
|
-
name: { converter: STRING_CONVERTER$
|
|
2817
|
-
value: { converter: STRING_CONVERTER$
|
|
2816
|
+
name: { converter: STRING_CONVERTER$86 },
|
|
2817
|
+
value: { converter: STRING_CONVERTER$86 },
|
|
2818
2818
|
defaultValue: {
|
|
2819
|
-
converter: STRING_CONVERTER$
|
|
2819
|
+
converter: STRING_CONVERTER$86,
|
|
2820
2820
|
attribute: "default-value"
|
|
2821
2821
|
},
|
|
2822
2822
|
inputValue: {
|
|
2823
|
-
converter: STRING_CONVERTER$
|
|
2823
|
+
converter: STRING_CONVERTER$86,
|
|
2824
2824
|
attribute: "input-value"
|
|
2825
2825
|
},
|
|
2826
2826
|
defaultInputValue: {
|
|
2827
|
-
converter: STRING_CONVERTER$
|
|
2827
|
+
converter: STRING_CONVERTER$86,
|
|
2828
2828
|
attribute: "default-input-value"
|
|
2829
2829
|
},
|
|
2830
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
2830
|
+
open: { converter: BOOLEAN_CONVERTER$63 },
|
|
2831
2831
|
defaultOpen: {
|
|
2832
2832
|
type: Boolean,
|
|
2833
2833
|
attribute: "default-open"
|
|
@@ -2835,12 +2835,12 @@ var XhComboboxElement = class extends XhElement {
|
|
|
2835
2835
|
multiple: { type: Boolean },
|
|
2836
2836
|
disabled: { type: Boolean },
|
|
2837
2837
|
readOnly: {
|
|
2838
|
-
converter: BOOLEAN_CONVERTER$
|
|
2838
|
+
converter: BOOLEAN_CONVERTER$63,
|
|
2839
2839
|
attribute: "read-only"
|
|
2840
2840
|
},
|
|
2841
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
2842
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
2843
|
-
placeholder: { converter: STRING_CONVERTER$
|
|
2841
|
+
invalid: { converter: BOOLEAN_CONVERTER$63 },
|
|
2842
|
+
loop: { converter: BOOLEAN_CONVERTER$63 },
|
|
2843
|
+
placeholder: { converter: STRING_CONVERTER$86 },
|
|
2844
2844
|
allowCustomValue: {
|
|
2845
2845
|
type: Boolean,
|
|
2846
2846
|
attribute: "allow-custom-value"
|
|
@@ -2850,14 +2850,14 @@ var XhComboboxElement = class extends XhElement {
|
|
|
2850
2850
|
attribute: "open-on-click"
|
|
2851
2851
|
},
|
|
2852
2852
|
inputBehavior: {
|
|
2853
|
-
converter: STRING_CONVERTER$
|
|
2853
|
+
converter: STRING_CONVERTER$86,
|
|
2854
2854
|
attribute: "input-behavior"
|
|
2855
2855
|
},
|
|
2856
|
-
placement: { converter: STRING_CONVERTER$
|
|
2857
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
2858
|
-
variant: { converter: STRING_CONVERTER$
|
|
2859
|
-
tone: { converter: STRING_CONVERTER$
|
|
2860
|
-
size: { converter: STRING_CONVERTER$
|
|
2856
|
+
placement: { converter: STRING_CONVERTER$86 },
|
|
2857
|
+
offset: { converter: NUMBER_CONVERTER$51 },
|
|
2858
|
+
variant: { converter: STRING_CONVERTER$86 },
|
|
2859
|
+
tone: { converter: STRING_CONVERTER$86 },
|
|
2860
|
+
size: { converter: STRING_CONVERTER$86 }
|
|
2861
2861
|
};
|
|
2862
2862
|
idGen = createCounterIdGenerator();
|
|
2863
2863
|
comboboxScope = createScope(null, this.idGen);
|
|
@@ -3020,8 +3020,8 @@ var XhComboboxElement = class extends XhElement {
|
|
|
3020
3020
|
};
|
|
3021
3021
|
//#endregion
|
|
3022
3022
|
//#region src/elements/composer.ts
|
|
3023
|
-
const STRING_CONVERTER$
|
|
3024
|
-
const BOOLEAN_CONVERTER$
|
|
3023
|
+
const STRING_CONVERTER$85 = { fromAttribute: (v) => v ?? void 0 };
|
|
3024
|
+
const BOOLEAN_CONVERTER$62 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
3025
3025
|
/**
|
|
3026
3026
|
* `<xh-composer>` —— Light-DOM 行为宿主:跑 composer 机器,把 connect 产出打到作者写的
|
|
3027
3027
|
* root/input/submit-trigger 三类角色节点上。input 须是原生 `<textarea>`,值经 property 写、
|
|
@@ -3047,18 +3047,18 @@ var XhComposerElement = class extends XhElement {
|
|
|
3047
3047
|
meta: composerMeta
|
|
3048
3048
|
};
|
|
3049
3049
|
static properties = {
|
|
3050
|
-
value: { converter: STRING_CONVERTER$
|
|
3050
|
+
value: { converter: STRING_CONVERTER$85 },
|
|
3051
3051
|
defaultValue: {
|
|
3052
|
-
converter: STRING_CONVERTER$
|
|
3052
|
+
converter: STRING_CONVERTER$85,
|
|
3053
3053
|
attribute: "default-value"
|
|
3054
3054
|
},
|
|
3055
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
3055
|
+
disabled: { converter: BOOLEAN_CONVERTER$62 },
|
|
3056
3056
|
runStatus: {
|
|
3057
|
-
converter: STRING_CONVERTER$
|
|
3057
|
+
converter: STRING_CONVERTER$85,
|
|
3058
3058
|
attribute: "run-status"
|
|
3059
3059
|
},
|
|
3060
3060
|
submitOnEnter: {
|
|
3061
|
-
converter: BOOLEAN_CONVERTER$
|
|
3061
|
+
converter: BOOLEAN_CONVERTER$62,
|
|
3062
3062
|
attribute: "submit-on-enter"
|
|
3063
3063
|
},
|
|
3064
3064
|
translations: { attribute: false }
|
|
@@ -3100,7 +3100,7 @@ var XhComposerElement = class extends XhElement {
|
|
|
3100
3100
|
};
|
|
3101
3101
|
//#endregion
|
|
3102
3102
|
//#region src/elements/config.ts
|
|
3103
|
-
const STRING_CONVERTER$
|
|
3103
|
+
const STRING_CONVERTER$84 = { fromAttribute: (v) => v ?? void 0 };
|
|
3104
3104
|
/**
|
|
3105
3105
|
* `<xh-config>` —— 配置作用域。包住一棵子树,里面的元素解析 locale / size / translations
|
|
3106
3106
|
* 时先看最近的这一层,再往外层与全局那份回落。
|
|
@@ -3123,9 +3123,9 @@ const STRING_CONVERTER$82 = { fromAttribute: (v) => v ?? void 0 };
|
|
|
3123
3123
|
*/
|
|
3124
3124
|
var XhConfigElement = class extends XhReactiveElement {
|
|
3125
3125
|
static properties = {
|
|
3126
|
-
locale: { converter: STRING_CONVERTER$
|
|
3127
|
-
size: { converter: STRING_CONVERTER$
|
|
3128
|
-
motion: { converter: STRING_CONVERTER$
|
|
3126
|
+
locale: { converter: STRING_CONVERTER$84 },
|
|
3127
|
+
size: { converter: STRING_CONVERTER$84 },
|
|
3128
|
+
motion: { converter: STRING_CONVERTER$84 },
|
|
3129
3129
|
translations: { attribute: false },
|
|
3130
3130
|
scrollRoot: { attribute: false }
|
|
3131
3131
|
};
|
|
@@ -3159,9 +3159,9 @@ var XhConfigElement = class extends XhReactiveElement {
|
|
|
3159
3159
|
};
|
|
3160
3160
|
//#endregion
|
|
3161
3161
|
//#region src/elements/context-menu.ts
|
|
3162
|
-
const STRING_CONVERTER$
|
|
3163
|
-
const NUMBER_CONVERTER$
|
|
3164
|
-
const BOOLEAN_CONVERTER$
|
|
3162
|
+
const STRING_CONVERTER$83 = { fromAttribute: (v) => v ?? void 0 };
|
|
3163
|
+
const NUMBER_CONVERTER$50 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
3164
|
+
const BOOLEAN_CONVERTER$61 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
3165
3165
|
/**
|
|
3166
3166
|
* `<xh-context-menu>` —— Light-DOM 行为宿主:作者写 root/trigger/positioner/content 与若干
|
|
3167
3167
|
* item / group / separator 角色节点,元素跑 context-menu 机器并把 connect 产出打上去。
|
|
@@ -3204,26 +3204,26 @@ var XhContextMenuElement = class extends XhElement {
|
|
|
3204
3204
|
};
|
|
3205
3205
|
static properties = {
|
|
3206
3206
|
collection: { attribute: false },
|
|
3207
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
3207
|
+
open: { converter: BOOLEAN_CONVERTER$61 },
|
|
3208
3208
|
defaultOpen: {
|
|
3209
3209
|
type: Boolean,
|
|
3210
3210
|
attribute: "default-open"
|
|
3211
3211
|
},
|
|
3212
|
-
placement: { converter: STRING_CONVERTER$
|
|
3213
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
3214
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
3215
|
-
typeahead: { converter: BOOLEAN_CONVERTER$
|
|
3212
|
+
placement: { converter: STRING_CONVERTER$83 },
|
|
3213
|
+
offset: { converter: NUMBER_CONVERTER$50 },
|
|
3214
|
+
loop: { converter: BOOLEAN_CONVERTER$61 },
|
|
3215
|
+
typeahead: { converter: BOOLEAN_CONVERTER$61 },
|
|
3216
3216
|
translations: { attribute: false },
|
|
3217
3217
|
direction: {
|
|
3218
|
-
converter: STRING_CONVERTER$
|
|
3218
|
+
converter: STRING_CONVERTER$83,
|
|
3219
3219
|
attribute: "dir"
|
|
3220
3220
|
},
|
|
3221
3221
|
longPressDelay: {
|
|
3222
|
-
converter: NUMBER_CONVERTER$
|
|
3222
|
+
converter: NUMBER_CONVERTER$50,
|
|
3223
3223
|
attribute: "long-press-delay"
|
|
3224
3224
|
},
|
|
3225
|
-
tone: { converter: STRING_CONVERTER$
|
|
3226
|
-
size: { converter: STRING_CONVERTER$
|
|
3225
|
+
tone: { converter: STRING_CONVERTER$83 },
|
|
3226
|
+
size: { converter: STRING_CONVERTER$83 }
|
|
3227
3227
|
};
|
|
3228
3228
|
idGen = createCounterIdGenerator();
|
|
3229
3229
|
menuScope = createScope(null, this.idGen);
|
|
@@ -3374,9 +3374,9 @@ var XhContextMenuElement = class extends XhElement {
|
|
|
3374
3374
|
};
|
|
3375
3375
|
//#endregion
|
|
3376
3376
|
//#region src/elements/countdown.ts
|
|
3377
|
-
const STRING_CONVERTER$
|
|
3378
|
-
const NUMBER_CONVERTER$
|
|
3379
|
-
const BOOLEAN_CONVERTER$
|
|
3377
|
+
const STRING_CONVERTER$82 = { fromAttribute: (v) => v ?? void 0 };
|
|
3378
|
+
const NUMBER_CONVERTER$49 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
3379
|
+
const BOOLEAN_CONVERTER$60 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
3380
3380
|
/**
|
|
3381
3381
|
* `<xh-countdown>` —— Light-DOM 行为宿主:作者写一个 root 角色节点,
|
|
3382
3382
|
* 元素跑 countdown 机器,逐帧把剩余毫秒按模板铺成时分秒写进那个节点。
|
|
@@ -3406,11 +3406,11 @@ var XhCountdownElement = class extends XhElement {
|
|
|
3406
3406
|
meta: countdownMeta
|
|
3407
3407
|
};
|
|
3408
3408
|
static properties = {
|
|
3409
|
-
value: { converter: NUMBER_CONVERTER$
|
|
3410
|
-
format: { converter: STRING_CONVERTER$
|
|
3411
|
-
active: { converter: BOOLEAN_CONVERTER$
|
|
3412
|
-
precision: { converter: NUMBER_CONVERTER$
|
|
3413
|
-
live: { converter: STRING_CONVERTER$
|
|
3409
|
+
value: { converter: NUMBER_CONVERTER$49 },
|
|
3410
|
+
format: { converter: STRING_CONVERTER$82 },
|
|
3411
|
+
active: { converter: BOOLEAN_CONVERTER$60 },
|
|
3412
|
+
precision: { converter: NUMBER_CONVERTER$49 },
|
|
3413
|
+
live: { converter: STRING_CONVERTER$82 }
|
|
3414
3414
|
};
|
|
3415
3415
|
notify = (details) => {
|
|
3416
3416
|
this.dispatchEvent(new CustomEvent("finish", {
|
|
@@ -3440,8 +3440,8 @@ var XhCountdownElement = class extends XhElement {
|
|
|
3440
3440
|
};
|
|
3441
3441
|
//#endregion
|
|
3442
3442
|
//#region src/elements/date-field.ts
|
|
3443
|
-
const STRING_CONVERTER$
|
|
3444
|
-
const BOOLEAN_CONVERTER$
|
|
3443
|
+
const STRING_CONVERTER$81 = { fromAttribute: (v) => v ?? void 0 };
|
|
3444
|
+
const BOOLEAN_CONVERTER$59 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
3445
3445
|
const SEGMENT_SET_CONVERTER = { fromAttribute: (v) => {
|
|
3446
3446
|
if (v === null) return void 0;
|
|
3447
3447
|
const list = v.split(",").map((part) => part.trim()).filter(Boolean);
|
|
@@ -3527,33 +3527,33 @@ var XhDateFieldElement = class extends XhElement {
|
|
|
3527
3527
|
meta: dateFieldMeta
|
|
3528
3528
|
};
|
|
3529
3529
|
static properties = {
|
|
3530
|
-
value: { converter: STRING_CONVERTER$
|
|
3530
|
+
value: { converter: STRING_CONVERTER$81 },
|
|
3531
3531
|
defaultValue: {
|
|
3532
|
-
converter: STRING_CONVERTER$
|
|
3532
|
+
converter: STRING_CONVERTER$81,
|
|
3533
3533
|
attribute: "default-value"
|
|
3534
3534
|
},
|
|
3535
|
-
min: { converter: STRING_CONVERTER$
|
|
3536
|
-
max: { converter: STRING_CONVERTER$
|
|
3537
|
-
locale: { converter: STRING_CONVERTER$
|
|
3535
|
+
min: { converter: STRING_CONVERTER$81 },
|
|
3536
|
+
max: { converter: STRING_CONVERTER$81 },
|
|
3537
|
+
locale: { converter: STRING_CONVERTER$81 },
|
|
3538
3538
|
timeZone: {
|
|
3539
|
-
converter: STRING_CONVERTER$
|
|
3539
|
+
converter: STRING_CONVERTER$81,
|
|
3540
3540
|
attribute: "time-zone"
|
|
3541
3541
|
},
|
|
3542
|
-
granularity: { converter: STRING_CONVERTER$
|
|
3542
|
+
granularity: { converter: STRING_CONVERTER$81 },
|
|
3543
3543
|
segments: { converter: SEGMENT_SET_CONVERTER },
|
|
3544
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
3544
|
+
disabled: { converter: BOOLEAN_CONVERTER$59 },
|
|
3545
3545
|
readOnly: {
|
|
3546
|
-
converter: BOOLEAN_CONVERTER$
|
|
3546
|
+
converter: BOOLEAN_CONVERTER$59,
|
|
3547
3547
|
attribute: "read-only"
|
|
3548
3548
|
},
|
|
3549
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
3550
|
-
required: { converter: BOOLEAN_CONVERTER$
|
|
3551
|
-
name: { converter: STRING_CONVERTER$
|
|
3549
|
+
invalid: { converter: BOOLEAN_CONVERTER$59 },
|
|
3550
|
+
required: { converter: BOOLEAN_CONVERTER$59 },
|
|
3551
|
+
name: { converter: STRING_CONVERTER$81 },
|
|
3552
3552
|
placeholder: { attribute: false },
|
|
3553
3553
|
translations: { attribute: false },
|
|
3554
|
-
variant: { converter: STRING_CONVERTER$
|
|
3555
|
-
tone: { converter: STRING_CONVERTER$
|
|
3556
|
-
size: { converter: STRING_CONVERTER$
|
|
3554
|
+
variant: { converter: STRING_CONVERTER$81 },
|
|
3555
|
+
tone: { converter: STRING_CONVERTER$81 },
|
|
3556
|
+
size: { converter: STRING_CONVERTER$81 }
|
|
3557
3557
|
};
|
|
3558
3558
|
notifyChange = (details) => {
|
|
3559
3559
|
this.dispatchEvent(new CustomEvent("value-change", {
|
|
@@ -3610,9 +3610,9 @@ var XhDateFieldElement = class extends XhElement {
|
|
|
3610
3610
|
};
|
|
3611
3611
|
//#endregion
|
|
3612
3612
|
//#region src/elements/date-picker.ts
|
|
3613
|
-
const STRING_CONVERTER$
|
|
3614
|
-
const NUMBER_CONVERTER$
|
|
3615
|
-
const BOOLEAN_CONVERTER$
|
|
3613
|
+
const STRING_CONVERTER$80 = { fromAttribute: (v) => v ?? void 0 };
|
|
3614
|
+
const NUMBER_CONVERTER$48 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
3615
|
+
const BOOLEAN_CONVERTER$58 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
3616
3616
|
/** 九块段位的名字,按段名声明时照它认。 */
|
|
3617
3617
|
const SEGMENT_TYPES$2 = [
|
|
3618
3618
|
"year",
|
|
@@ -3734,78 +3734,78 @@ var XhDatePickerElement = class extends XhElement {
|
|
|
3734
3734
|
delegates: [dateFieldAnatomy, calendarAnatomy]
|
|
3735
3735
|
};
|
|
3736
3736
|
static properties = {
|
|
3737
|
-
value: { converter: STRING_CONVERTER$
|
|
3737
|
+
value: { converter: STRING_CONVERTER$80 },
|
|
3738
3738
|
defaultValue: {
|
|
3739
|
-
converter: STRING_CONVERTER$
|
|
3739
|
+
converter: STRING_CONVERTER$80,
|
|
3740
3740
|
attribute: "default-value"
|
|
3741
3741
|
},
|
|
3742
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
3742
|
+
open: { converter: BOOLEAN_CONVERTER$58 },
|
|
3743
3743
|
defaultOpen: {
|
|
3744
3744
|
type: Boolean,
|
|
3745
3745
|
attribute: "default-open"
|
|
3746
3746
|
},
|
|
3747
|
-
min: { converter: STRING_CONVERTER$
|
|
3748
|
-
max: { converter: STRING_CONVERTER$
|
|
3749
|
-
locale: { converter: STRING_CONVERTER$
|
|
3747
|
+
min: { converter: STRING_CONVERTER$80 },
|
|
3748
|
+
max: { converter: STRING_CONVERTER$80 },
|
|
3749
|
+
locale: { converter: STRING_CONVERTER$80 },
|
|
3750
3750
|
timeZone: {
|
|
3751
|
-
converter: STRING_CONVERTER$
|
|
3751
|
+
converter: STRING_CONVERTER$80,
|
|
3752
3752
|
attribute: "time-zone"
|
|
3753
3753
|
},
|
|
3754
3754
|
selectionMode: {
|
|
3755
|
-
converter: STRING_CONVERTER$
|
|
3755
|
+
converter: STRING_CONVERTER$80,
|
|
3756
3756
|
attribute: "selection-mode"
|
|
3757
3757
|
},
|
|
3758
|
-
view: { converter: STRING_CONVERTER$
|
|
3758
|
+
view: { converter: STRING_CONVERTER$80 },
|
|
3759
3759
|
activeView: {
|
|
3760
|
-
converter: STRING_CONVERTER$
|
|
3760
|
+
converter: STRING_CONVERTER$80,
|
|
3761
3761
|
attribute: "active-view"
|
|
3762
3762
|
},
|
|
3763
3763
|
segments: { attribute: false },
|
|
3764
3764
|
weekSelection: {
|
|
3765
|
-
converter: BOOLEAN_CONVERTER$
|
|
3765
|
+
converter: BOOLEAN_CONVERTER$58,
|
|
3766
3766
|
attribute: "week-selection"
|
|
3767
3767
|
},
|
|
3768
3768
|
presets: { attribute: false },
|
|
3769
3769
|
visibleCount: {
|
|
3770
|
-
converter: NUMBER_CONVERTER$
|
|
3770
|
+
converter: NUMBER_CONVERTER$48,
|
|
3771
3771
|
attribute: "visible-count"
|
|
3772
3772
|
},
|
|
3773
3773
|
fixedWeeks: {
|
|
3774
|
-
converter: BOOLEAN_CONVERTER$
|
|
3774
|
+
converter: BOOLEAN_CONVERTER$58,
|
|
3775
3775
|
attribute: "fixed-weeks"
|
|
3776
3776
|
},
|
|
3777
3777
|
defaultFocusedValue: {
|
|
3778
|
-
converter: STRING_CONVERTER$
|
|
3778
|
+
converter: STRING_CONVERTER$80,
|
|
3779
3779
|
attribute: "default-focused-value"
|
|
3780
3780
|
},
|
|
3781
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
3781
|
+
disabled: { converter: BOOLEAN_CONVERTER$58 },
|
|
3782
3782
|
readOnly: {
|
|
3783
|
-
converter: BOOLEAN_CONVERTER$
|
|
3783
|
+
converter: BOOLEAN_CONVERTER$58,
|
|
3784
3784
|
attribute: "read-only"
|
|
3785
3785
|
},
|
|
3786
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
3787
|
-
required: { converter: BOOLEAN_CONVERTER$
|
|
3788
|
-
name: { converter: STRING_CONVERTER$
|
|
3786
|
+
invalid: { converter: BOOLEAN_CONVERTER$58 },
|
|
3787
|
+
required: { converter: BOOLEAN_CONVERTER$58 },
|
|
3788
|
+
name: { converter: STRING_CONVERTER$80 },
|
|
3789
3789
|
endName: {
|
|
3790
|
-
converter: STRING_CONVERTER$
|
|
3790
|
+
converter: STRING_CONVERTER$80,
|
|
3791
3791
|
attribute: "end-name"
|
|
3792
3792
|
},
|
|
3793
3793
|
translations: { attribute: false },
|
|
3794
|
-
variant: { converter: STRING_CONVERTER$
|
|
3795
|
-
tone: { converter: STRING_CONVERTER$
|
|
3796
|
-
size: { converter: STRING_CONVERTER$
|
|
3797
|
-
placement: { converter: STRING_CONVERTER$
|
|
3798
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
3794
|
+
variant: { converter: STRING_CONVERTER$80 },
|
|
3795
|
+
tone: { converter: STRING_CONVERTER$80 },
|
|
3796
|
+
size: { converter: STRING_CONVERTER$80 },
|
|
3797
|
+
placement: { converter: STRING_CONVERTER$80 },
|
|
3798
|
+
offset: { converter: NUMBER_CONVERTER$48 },
|
|
3799
3799
|
closeOnSelect: {
|
|
3800
|
-
converter: BOOLEAN_CONVERTER$
|
|
3800
|
+
converter: BOOLEAN_CONVERTER$58,
|
|
3801
3801
|
attribute: "close-on-select"
|
|
3802
3802
|
},
|
|
3803
3803
|
showTime: {
|
|
3804
|
-
converter: BOOLEAN_CONVERTER$
|
|
3804
|
+
converter: BOOLEAN_CONVERTER$58,
|
|
3805
3805
|
attribute: "show-time"
|
|
3806
3806
|
},
|
|
3807
3807
|
timeGranularity: {
|
|
3808
|
-
converter: STRING_CONVERTER$
|
|
3808
|
+
converter: STRING_CONVERTER$80,
|
|
3809
3809
|
attribute: "time-granularity"
|
|
3810
3810
|
},
|
|
3811
3811
|
isDateUnavailable: { attribute: false }
|
|
@@ -4085,7 +4085,7 @@ var XhDatePickerElement = class extends XhElement {
|
|
|
4085
4085
|
};
|
|
4086
4086
|
//#endregion
|
|
4087
4087
|
//#region src/elements/descriptions.ts
|
|
4088
|
-
const STRING_CONVERTER$
|
|
4088
|
+
const STRING_CONVERTER$79 = { fromAttribute: (v) => v ?? void 0 };
|
|
4089
4089
|
/**
|
|
4090
4090
|
* `<xh-descriptions>` —— Light-DOM 行为宿主,无状态机,把 connectDescriptions 产出打到各角色节点。
|
|
4091
4091
|
* 排版走 CSS Grid,columns 落成列数。
|
|
@@ -4111,8 +4111,8 @@ var XhDescriptionsElement = class extends XhElement {
|
|
|
4111
4111
|
static properties = {
|
|
4112
4112
|
columns: { type: Number },
|
|
4113
4113
|
bordered: { type: Boolean },
|
|
4114
|
-
placement: { converter: STRING_CONVERTER$
|
|
4115
|
-
size: { converter: STRING_CONVERTER$
|
|
4114
|
+
placement: { converter: STRING_CONVERTER$79 },
|
|
4115
|
+
size: { converter: STRING_CONVERTER$79 }
|
|
4116
4116
|
};
|
|
4117
4117
|
wire() {
|
|
4118
4118
|
const api = connectDescriptions(this.configured("descriptions", {
|
|
@@ -4133,8 +4133,8 @@ var XhDescriptionsElement = class extends XhElement {
|
|
|
4133
4133
|
};
|
|
4134
4134
|
//#endregion
|
|
4135
4135
|
//#region src/elements/dialog.ts
|
|
4136
|
-
const BOOLEAN_CONVERTER$
|
|
4137
|
-
const STRING_CONVERTER$
|
|
4136
|
+
const BOOLEAN_CONVERTER$57 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
4137
|
+
const STRING_CONVERTER$78 = { fromAttribute: (v) => v ?? void 0 };
|
|
4138
4138
|
/**
|
|
4139
4139
|
* `<xh-dialog>` —— Light-DOM 行为宿主,跑 dialog 机器并把 connect 产出打到角色节点上,
|
|
4140
4140
|
* 关闭时用内联 style.display 隐藏浮层子树。
|
|
@@ -4163,25 +4163,25 @@ var XhDialogElement = class extends XhElement {
|
|
|
4163
4163
|
meta: dialogMeta
|
|
4164
4164
|
};
|
|
4165
4165
|
static properties = {
|
|
4166
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
4166
|
+
open: { converter: BOOLEAN_CONVERTER$57 },
|
|
4167
4167
|
defaultOpen: {
|
|
4168
4168
|
type: Boolean,
|
|
4169
4169
|
attribute: "default-open"
|
|
4170
4170
|
},
|
|
4171
|
-
modal: { converter: BOOLEAN_CONVERTER$
|
|
4171
|
+
modal: { converter: BOOLEAN_CONVERTER$57 },
|
|
4172
4172
|
closeOnEscape: {
|
|
4173
|
-
converter: BOOLEAN_CONVERTER$
|
|
4173
|
+
converter: BOOLEAN_CONVERTER$57,
|
|
4174
4174
|
attribute: "close-on-escape"
|
|
4175
4175
|
},
|
|
4176
4176
|
restoreFocus: {
|
|
4177
|
-
converter: BOOLEAN_CONVERTER$
|
|
4177
|
+
converter: BOOLEAN_CONVERTER$57,
|
|
4178
4178
|
attribute: "restore-focus"
|
|
4179
4179
|
},
|
|
4180
4180
|
initialFocus: {
|
|
4181
|
-
converter: STRING_CONVERTER$
|
|
4181
|
+
converter: STRING_CONVERTER$78,
|
|
4182
4182
|
attribute: "initial-focus"
|
|
4183
4183
|
},
|
|
4184
|
-
size: { converter: STRING_CONVERTER$
|
|
4184
|
+
size: { converter: STRING_CONVERTER$78 }
|
|
4185
4185
|
};
|
|
4186
4186
|
idGen = createCounterIdGenerator();
|
|
4187
4187
|
dialogScope = createScope(null, this.idGen);
|
|
@@ -4287,8 +4287,8 @@ var XhDialogElement = class extends XhElement {
|
|
|
4287
4287
|
};
|
|
4288
4288
|
//#endregion
|
|
4289
4289
|
//#region src/elements/download-trigger.ts
|
|
4290
|
-
const STRING_CONVERTER$
|
|
4291
|
-
const BOOLEAN_CONVERTER$
|
|
4290
|
+
const STRING_CONVERTER$77 = { fromAttribute: (v) => v ?? void 0 };
|
|
4291
|
+
const BOOLEAN_CONVERTER$56 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
4292
4292
|
/**
|
|
4293
4293
|
* `<xh-download-trigger>` —— Light-DOM 行为宿主,跑 download-trigger 机器并把 connect 产出打到 root 角色节点。
|
|
4294
4294
|
*
|
|
@@ -4312,16 +4312,16 @@ var XhDownloadTriggerElement = class extends XhElement {
|
|
|
4312
4312
|
meta: downloadTriggerMeta
|
|
4313
4313
|
};
|
|
4314
4314
|
static properties = {
|
|
4315
|
-
data: { converter: STRING_CONVERTER$
|
|
4315
|
+
data: { converter: STRING_CONVERTER$77 },
|
|
4316
4316
|
fileName: {
|
|
4317
|
-
converter: STRING_CONVERTER$
|
|
4317
|
+
converter: STRING_CONVERTER$77,
|
|
4318
4318
|
attribute: "file-name"
|
|
4319
4319
|
},
|
|
4320
4320
|
mimeType: {
|
|
4321
|
-
converter: STRING_CONVERTER$
|
|
4321
|
+
converter: STRING_CONVERTER$77,
|
|
4322
4322
|
attribute: "mime-type"
|
|
4323
4323
|
},
|
|
4324
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
4324
|
+
disabled: { converter: BOOLEAN_CONVERTER$56 }
|
|
4325
4325
|
};
|
|
4326
4326
|
notifyComplete = (details) => {
|
|
4327
4327
|
this.dispatchEvent(new CustomEvent("download-complete", {
|
|
@@ -4356,8 +4356,8 @@ var XhDownloadTriggerElement = class extends XhElement {
|
|
|
4356
4356
|
};
|
|
4357
4357
|
//#endregion
|
|
4358
4358
|
//#region src/elements/drawer.ts
|
|
4359
|
-
const BOOLEAN_CONVERTER$
|
|
4360
|
-
const STRING_CONVERTER$
|
|
4359
|
+
const BOOLEAN_CONVERTER$55 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
4360
|
+
const STRING_CONVERTER$76 = { fromAttribute: (v) => v ?? void 0 };
|
|
4361
4361
|
/**
|
|
4362
4362
|
* `<xh-drawer>` —— Light-DOM 行为宿主,跑 drawer 机器并把 connect 产出打到角色节点上,
|
|
4363
4363
|
* 关闭时用内联 style.display 隐藏浮层子树。
|
|
@@ -4392,27 +4392,27 @@ var XhDrawerElement = class extends XhElement {
|
|
|
4392
4392
|
meta: drawerMeta
|
|
4393
4393
|
};
|
|
4394
4394
|
static properties = {
|
|
4395
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
4395
|
+
open: { converter: BOOLEAN_CONVERTER$55 },
|
|
4396
4396
|
defaultOpen: {
|
|
4397
4397
|
type: Boolean,
|
|
4398
4398
|
attribute: "default-open"
|
|
4399
4399
|
},
|
|
4400
|
-
modal: { converter: BOOLEAN_CONVERTER$
|
|
4401
|
-
contained: { converter: BOOLEAN_CONVERTER$
|
|
4402
|
-
side: { converter: STRING_CONVERTER$
|
|
4400
|
+
modal: { converter: BOOLEAN_CONVERTER$55 },
|
|
4401
|
+
contained: { converter: BOOLEAN_CONVERTER$55 },
|
|
4402
|
+
side: { converter: STRING_CONVERTER$76 },
|
|
4403
4403
|
closeOnEscape: {
|
|
4404
|
-
converter: BOOLEAN_CONVERTER$
|
|
4404
|
+
converter: BOOLEAN_CONVERTER$55,
|
|
4405
4405
|
attribute: "close-on-escape"
|
|
4406
4406
|
},
|
|
4407
4407
|
closeOnInteractOutside: {
|
|
4408
|
-
converter: BOOLEAN_CONVERTER$
|
|
4408
|
+
converter: BOOLEAN_CONVERTER$55,
|
|
4409
4409
|
attribute: "close-on-interact-outside"
|
|
4410
4410
|
},
|
|
4411
4411
|
restoreFocus: {
|
|
4412
|
-
converter: BOOLEAN_CONVERTER$
|
|
4412
|
+
converter: BOOLEAN_CONVERTER$55,
|
|
4413
4413
|
attribute: "restore-focus"
|
|
4414
4414
|
},
|
|
4415
|
-
size: { converter: STRING_CONVERTER$
|
|
4415
|
+
size: { converter: STRING_CONVERTER$76 },
|
|
4416
4416
|
translations: { attribute: false }
|
|
4417
4417
|
};
|
|
4418
4418
|
idGen = createCounterIdGenerator();
|
|
@@ -4523,8 +4523,8 @@ var XhDrawerElement = class extends XhElement {
|
|
|
4523
4523
|
};
|
|
4524
4524
|
//#endregion
|
|
4525
4525
|
//#region src/elements/dynamic-input.ts
|
|
4526
|
-
const NUMBER_CONVERTER$
|
|
4527
|
-
const BOOLEAN_CONVERTER$
|
|
4526
|
+
const NUMBER_CONVERTER$47 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
4527
|
+
const BOOLEAN_CONVERTER$54 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
4528
4528
|
/** 作者写在行上的下标。缺席或写坏了就退回文档序——把行按顺序排下来本身就是声明。 */
|
|
4529
4529
|
function declaredIndex$2(el, position) {
|
|
4530
4530
|
const raw = el.getAttribute("index");
|
|
@@ -4566,11 +4566,11 @@ var XhDynamicInputElement = class extends XhElement {
|
|
|
4566
4566
|
static properties = {
|
|
4567
4567
|
value: { attribute: false },
|
|
4568
4568
|
defaultValue: { attribute: false },
|
|
4569
|
-
min: { converter: NUMBER_CONVERTER$
|
|
4570
|
-
max: { converter: NUMBER_CONVERTER$
|
|
4569
|
+
min: { converter: NUMBER_CONVERTER$47 },
|
|
4570
|
+
max: { converter: NUMBER_CONVERTER$47 },
|
|
4571
4571
|
createItem: { attribute: false },
|
|
4572
|
-
movable: { converter: BOOLEAN_CONVERTER$
|
|
4573
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
4572
|
+
movable: { converter: BOOLEAN_CONVERTER$54 },
|
|
4573
|
+
disabled: { converter: BOOLEAN_CONVERTER$54 },
|
|
4574
4574
|
translations: { attribute: false }
|
|
4575
4575
|
};
|
|
4576
4576
|
notifyValue = (details) => {
|
|
@@ -4624,9 +4624,9 @@ var XhDynamicInputElement = class extends XhElement {
|
|
|
4624
4624
|
};
|
|
4625
4625
|
//#endregion
|
|
4626
4626
|
//#region src/elements/editable.ts
|
|
4627
|
-
const STRING_CONVERTER$
|
|
4628
|
-
const NUMBER_CONVERTER$
|
|
4629
|
-
const BOOLEAN_CONVERTER$
|
|
4627
|
+
const STRING_CONVERTER$75 = { fromAttribute: (v) => v ?? void 0 };
|
|
4628
|
+
const NUMBER_CONVERTER$46 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
4629
|
+
const BOOLEAN_CONVERTER$53 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
4630
4630
|
/**
|
|
4631
4631
|
* `<xh-editable>` —— Light-DOM 行为宿主:作者写 root/label/area/preview/input/control
|
|
4632
4632
|
* 与三颗按钮的角色节点,元素跑 editable 机器并把 connect 产出打上去。
|
|
@@ -4675,42 +4675,42 @@ var XhEditableElement = class extends XhElement {
|
|
|
4675
4675
|
meta: editableMeta
|
|
4676
4676
|
};
|
|
4677
4677
|
static properties = {
|
|
4678
|
-
value: { converter: STRING_CONVERTER$
|
|
4678
|
+
value: { converter: STRING_CONVERTER$75 },
|
|
4679
4679
|
defaultValue: {
|
|
4680
|
-
converter: STRING_CONVERTER$
|
|
4680
|
+
converter: STRING_CONVERTER$75,
|
|
4681
4681
|
attribute: "default-value"
|
|
4682
4682
|
},
|
|
4683
|
-
edit: { converter: BOOLEAN_CONVERTER$
|
|
4683
|
+
edit: { converter: BOOLEAN_CONVERTER$53 },
|
|
4684
4684
|
defaultEdit: {
|
|
4685
|
-
converter: BOOLEAN_CONVERTER$
|
|
4685
|
+
converter: BOOLEAN_CONVERTER$53,
|
|
4686
4686
|
attribute: "default-edit"
|
|
4687
4687
|
},
|
|
4688
|
-
placeholder: { converter: STRING_CONVERTER$
|
|
4689
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
4688
|
+
placeholder: { converter: STRING_CONVERTER$75 },
|
|
4689
|
+
disabled: { converter: BOOLEAN_CONVERTER$53 },
|
|
4690
4690
|
readOnly: {
|
|
4691
|
-
converter: BOOLEAN_CONVERTER$
|
|
4691
|
+
converter: BOOLEAN_CONVERTER$53,
|
|
4692
4692
|
attribute: "read-only"
|
|
4693
4693
|
},
|
|
4694
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
4694
|
+
invalid: { converter: BOOLEAN_CONVERTER$53 },
|
|
4695
4695
|
maxLength: {
|
|
4696
|
-
converter: NUMBER_CONVERTER$
|
|
4696
|
+
converter: NUMBER_CONVERTER$46,
|
|
4697
4697
|
attribute: "max-length"
|
|
4698
4698
|
},
|
|
4699
|
-
name: { converter: STRING_CONVERTER$
|
|
4699
|
+
name: { converter: STRING_CONVERTER$75 },
|
|
4700
4700
|
submitMode: {
|
|
4701
|
-
converter: STRING_CONVERTER$
|
|
4701
|
+
converter: STRING_CONVERTER$75,
|
|
4702
4702
|
attribute: "submit-mode"
|
|
4703
4703
|
},
|
|
4704
4704
|
activationMode: {
|
|
4705
|
-
converter: STRING_CONVERTER$
|
|
4705
|
+
converter: STRING_CONVERTER$75,
|
|
4706
4706
|
attribute: "activation-mode"
|
|
4707
4707
|
},
|
|
4708
4708
|
selectOnFocus: {
|
|
4709
|
-
converter: BOOLEAN_CONVERTER$
|
|
4709
|
+
converter: BOOLEAN_CONVERTER$53,
|
|
4710
4710
|
attribute: "select-on-focus"
|
|
4711
4711
|
},
|
|
4712
4712
|
autoResize: {
|
|
4713
|
-
converter: BOOLEAN_CONVERTER$
|
|
4713
|
+
converter: BOOLEAN_CONVERTER$53,
|
|
4714
4714
|
attribute: "auto-resize"
|
|
4715
4715
|
}
|
|
4716
4716
|
};
|
|
@@ -4819,7 +4819,7 @@ var XhEditableElement = class extends XhElement {
|
|
|
4819
4819
|
};
|
|
4820
4820
|
//#endregion
|
|
4821
4821
|
//#region src/elements/ellipsis.ts
|
|
4822
|
-
const NUMBER_CONVERTER$
|
|
4822
|
+
const NUMBER_CONVERTER$45 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
4823
4823
|
const TRISTATE_CONVERTER$1 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
4824
4824
|
/**
|
|
4825
4825
|
* `<xh-ellipsis>` —— 省略行为宿主:把一段文字夹在给定行数内,并如实报出它有没有被裁掉。
|
|
@@ -4847,7 +4847,7 @@ var XhEllipsisElement = class extends XhElement {
|
|
|
4847
4847
|
meta: ellipsisMeta
|
|
4848
4848
|
};
|
|
4849
4849
|
static properties = {
|
|
4850
|
-
lines: { converter: NUMBER_CONVERTER$
|
|
4850
|
+
lines: { converter: NUMBER_CONVERTER$45 },
|
|
4851
4851
|
expandable: { type: Boolean },
|
|
4852
4852
|
expanded: { converter: TRISTATE_CONVERTER$1 },
|
|
4853
4853
|
defaultExpanded: {
|
|
@@ -4893,7 +4893,7 @@ var XhEllipsisElement = class extends XhElement {
|
|
|
4893
4893
|
};
|
|
4894
4894
|
//#endregion
|
|
4895
4895
|
//#region src/elements/empty-state.ts
|
|
4896
|
-
const STRING_CONVERTER$
|
|
4896
|
+
const STRING_CONVERTER$74 = { fromAttribute: (v) => v ?? void 0 };
|
|
4897
4897
|
/**
|
|
4898
4898
|
* `<xh-empty-state>` —— 空状态行为宿主,无状态机,把 connectEmptyState 产出的属性打到角色节点上。
|
|
4899
4899
|
*
|
|
@@ -4915,8 +4915,8 @@ var XhEmptyStateElement = class extends XhElement {
|
|
|
4915
4915
|
meta: emptyStateMeta
|
|
4916
4916
|
};
|
|
4917
4917
|
static properties = {
|
|
4918
|
-
size: { converter: STRING_CONVERTER$
|
|
4919
|
-
live: { converter: STRING_CONVERTER$
|
|
4918
|
+
size: { converter: STRING_CONVERTER$74 },
|
|
4919
|
+
live: { converter: STRING_CONVERTER$74 }
|
|
4920
4920
|
};
|
|
4921
4921
|
wire() {
|
|
4922
4922
|
const props = {
|
|
@@ -4937,7 +4937,7 @@ var XhEmptyStateElement = class extends XhElement {
|
|
|
4937
4937
|
};
|
|
4938
4938
|
//#endregion
|
|
4939
4939
|
//#region src/elements/field.ts
|
|
4940
|
-
const STRING_CONVERTER$
|
|
4940
|
+
const STRING_CONVERTER$73 = { fromAttribute: (v) => v ?? void 0 };
|
|
4941
4941
|
/**
|
|
4942
4942
|
* `<xh-field>` —— Light-DOM 行为宿主,无状态机,把 connectField 产出的 id 与 aria-* 打到
|
|
4943
4943
|
* label/control/description/error-text 角色节点上,自动对齐 `for` 与描述链。控件本身由作者渲染。
|
|
@@ -4967,7 +4967,7 @@ var XhFieldElement = class extends XhElement {
|
|
|
4967
4967
|
required: { type: Boolean },
|
|
4968
4968
|
disabled: { type: Boolean },
|
|
4969
4969
|
controlId: {
|
|
4970
|
-
converter: STRING_CONVERTER$
|
|
4970
|
+
converter: STRING_CONVERTER$73,
|
|
4971
4971
|
attribute: "control-id"
|
|
4972
4972
|
}
|
|
4973
4973
|
};
|
|
@@ -4993,7 +4993,7 @@ var XhFieldElement = class extends XhElement {
|
|
|
4993
4993
|
};
|
|
4994
4994
|
//#endregion
|
|
4995
4995
|
//#region src/elements/fieldset.ts
|
|
4996
|
-
const BOOLEAN_CONVERTER$
|
|
4996
|
+
const BOOLEAN_CONVERTER$52 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
4997
4997
|
/**
|
|
4998
4998
|
* `<xh-fieldset>` —— Light-DOM 行为宿主,无状态机,把 connectFieldset 产出的属性打到
|
|
4999
4999
|
* root/legend/helper-text/error-text 角色节点上:说明与错误文案的 id 自动接进 root 的描述链。
|
|
@@ -5022,9 +5022,9 @@ var XhFieldsetElement = class extends XhElement {
|
|
|
5022
5022
|
}
|
|
5023
5023
|
};
|
|
5024
5024
|
static properties = {
|
|
5025
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
5026
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
5027
|
-
required: { converter: BOOLEAN_CONVERTER$
|
|
5025
|
+
disabled: { converter: BOOLEAN_CONVERTER$52 },
|
|
5026
|
+
invalid: { converter: BOOLEAN_CONVERTER$52 },
|
|
5027
|
+
required: { converter: BOOLEAN_CONVERTER$52 },
|
|
5028
5028
|
translations: { attribute: false }
|
|
5029
5029
|
};
|
|
5030
5030
|
fieldsetScope = createScope(null, createCounterIdGenerator());
|
|
@@ -5067,9 +5067,9 @@ var XhFieldsetElement = class extends XhElement {
|
|
|
5067
5067
|
};
|
|
5068
5068
|
//#endregion
|
|
5069
5069
|
//#region src/elements/file-upload.ts
|
|
5070
|
-
const STRING_CONVERTER$
|
|
5071
|
-
const NUMBER_CONVERTER$
|
|
5072
|
-
const BOOLEAN_CONVERTER$
|
|
5070
|
+
const STRING_CONVERTER$72 = { fromAttribute: (v) => v ?? void 0 };
|
|
5071
|
+
const NUMBER_CONVERTER$44 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
5072
|
+
const BOOLEAN_CONVERTER$51 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
5073
5073
|
/** 取作者写在条目上的 index,缺席或写坏了退回文档序。 */
|
|
5074
5074
|
function declaredIndex$1(el, position) {
|
|
5075
5075
|
const raw = el.getAttribute("index");
|
|
@@ -5133,31 +5133,31 @@ var XhFileUploadElement = class XhFileUploadElement extends XhElement {
|
|
|
5133
5133
|
defaultRemoteFiles: { attribute: false },
|
|
5134
5134
|
upload: { attribute: false },
|
|
5135
5135
|
autoUpload: {
|
|
5136
|
-
converter: BOOLEAN_CONVERTER$
|
|
5136
|
+
converter: BOOLEAN_CONVERTER$51,
|
|
5137
5137
|
attribute: "auto-upload"
|
|
5138
5138
|
},
|
|
5139
|
-
accept: { converter: STRING_CONVERTER$
|
|
5139
|
+
accept: { converter: STRING_CONVERTER$72 },
|
|
5140
5140
|
maxFiles: {
|
|
5141
|
-
converter: NUMBER_CONVERTER$
|
|
5141
|
+
converter: NUMBER_CONVERTER$44,
|
|
5142
5142
|
attribute: "max-files"
|
|
5143
5143
|
},
|
|
5144
5144
|
maxFileSize: {
|
|
5145
|
-
converter: NUMBER_CONVERTER$
|
|
5145
|
+
converter: NUMBER_CONVERTER$44,
|
|
5146
5146
|
attribute: "max-file-size"
|
|
5147
5147
|
},
|
|
5148
5148
|
minFileSize: {
|
|
5149
|
-
converter: NUMBER_CONVERTER$
|
|
5149
|
+
converter: NUMBER_CONVERTER$44,
|
|
5150
5150
|
attribute: "min-file-size"
|
|
5151
5151
|
},
|
|
5152
5152
|
disabled: { type: Boolean },
|
|
5153
5153
|
invalid: { type: Boolean },
|
|
5154
|
-
name: { converter: STRING_CONVERTER$
|
|
5154
|
+
name: { converter: STRING_CONVERTER$72 },
|
|
5155
5155
|
allowDrop: {
|
|
5156
|
-
converter: BOOLEAN_CONVERTER$
|
|
5156
|
+
converter: BOOLEAN_CONVERTER$51,
|
|
5157
5157
|
attribute: "allow-drop"
|
|
5158
5158
|
},
|
|
5159
5159
|
directory: { type: Boolean },
|
|
5160
|
-
capture: { converter: STRING_CONVERTER$
|
|
5160
|
+
capture: { converter: STRING_CONVERTER$72 },
|
|
5161
5161
|
translations: { attribute: false }
|
|
5162
5162
|
};
|
|
5163
5163
|
uploadScope = createScope(this, createCounterIdGenerator());
|
|
@@ -5375,8 +5375,8 @@ var XhFlexElement = class extends XhElement {
|
|
|
5375
5375
|
};
|
|
5376
5376
|
//#endregion
|
|
5377
5377
|
//#region src/elements/float-button.ts
|
|
5378
|
-
const STRING_CONVERTER$
|
|
5379
|
-
const NUMBER_CONVERTER$
|
|
5378
|
+
const STRING_CONVERTER$71 = { fromAttribute: (v) => v ?? void 0 };
|
|
5379
|
+
const NUMBER_CONVERTER$43 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
5380
5380
|
const TRISTATE_CONVERTER = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
5381
5381
|
/**
|
|
5382
5382
|
* `<xh-float-button>` —— 悬浮按钮行为宿主:一颗钉在视口一角的触发器,展开一组动作。
|
|
@@ -5414,11 +5414,11 @@ var XhFloatButtonElement = class extends XhElement {
|
|
|
5414
5414
|
attribute: "default-open"
|
|
5415
5415
|
},
|
|
5416
5416
|
disabled: { type: Boolean },
|
|
5417
|
-
placement: { converter: STRING_CONVERTER$
|
|
5418
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
5419
|
-
shape: { converter: STRING_CONVERTER$
|
|
5417
|
+
placement: { converter: STRING_CONVERTER$71 },
|
|
5418
|
+
offset: { converter: NUMBER_CONVERTER$43 },
|
|
5419
|
+
shape: { converter: STRING_CONVERTER$71 },
|
|
5420
5420
|
expandTrigger: {
|
|
5421
|
-
converter: STRING_CONVERTER$
|
|
5421
|
+
converter: STRING_CONVERTER$71,
|
|
5422
5422
|
attribute: "expand-trigger"
|
|
5423
5423
|
},
|
|
5424
5424
|
translations: { attribute: false }
|
|
@@ -5466,8 +5466,8 @@ var XhFloatButtonElement = class extends XhElement {
|
|
|
5466
5466
|
};
|
|
5467
5467
|
//#endregion
|
|
5468
5468
|
//#region src/elements/floating-panel.ts
|
|
5469
|
-
const STRING_CONVERTER$
|
|
5470
|
-
const BOOLEAN_CONVERTER$
|
|
5469
|
+
const STRING_CONVERTER$70 = { fromAttribute: (v) => v ?? void 0 };
|
|
5470
|
+
const BOOLEAN_CONVERTER$50 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
5471
5471
|
/** 一对数写成逗号分隔(position="24,24");读不出两个有限数就当没写。 */
|
|
5472
5472
|
function parsePair(v) {
|
|
5473
5473
|
if (v == null || v.trim() === "") return void 0;
|
|
@@ -5481,7 +5481,7 @@ const POSITION_CONVERTER = { fromAttribute: (v) => {
|
|
|
5481
5481
|
y: pair[1]
|
|
5482
5482
|
} : void 0;
|
|
5483
5483
|
} };
|
|
5484
|
-
const SIZE_CONVERTER = { fromAttribute: (v) => {
|
|
5484
|
+
const SIZE_CONVERTER$1 = { fromAttribute: (v) => {
|
|
5485
5485
|
const pair = parsePair(v);
|
|
5486
5486
|
return pair ? {
|
|
5487
5487
|
width: pair[0],
|
|
@@ -5552,9 +5552,9 @@ var XhFloatingPanelElement = class extends XhElement {
|
|
|
5552
5552
|
meta: floatingPanelMeta
|
|
5553
5553
|
};
|
|
5554
5554
|
static properties = {
|
|
5555
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
5555
|
+
open: { converter: BOOLEAN_CONVERTER$50 },
|
|
5556
5556
|
defaultOpen: {
|
|
5557
|
-
converter: BOOLEAN_CONVERTER$
|
|
5557
|
+
converter: BOOLEAN_CONVERTER$50,
|
|
5558
5558
|
attribute: "default-open"
|
|
5559
5559
|
},
|
|
5560
5560
|
position: { converter: POSITION_CONVERTER },
|
|
@@ -5562,30 +5562,30 @@ var XhFloatingPanelElement = class extends XhElement {
|
|
|
5562
5562
|
converter: POSITION_CONVERTER,
|
|
5563
5563
|
attribute: "default-position"
|
|
5564
5564
|
},
|
|
5565
|
-
size: { converter: SIZE_CONVERTER },
|
|
5565
|
+
size: { converter: SIZE_CONVERTER$1 },
|
|
5566
5566
|
defaultSize: {
|
|
5567
|
-
converter: SIZE_CONVERTER,
|
|
5567
|
+
converter: SIZE_CONVERTER$1,
|
|
5568
5568
|
attribute: "default-size"
|
|
5569
5569
|
},
|
|
5570
5570
|
minSize: {
|
|
5571
|
-
converter: SIZE_CONVERTER,
|
|
5571
|
+
converter: SIZE_CONVERTER$1,
|
|
5572
5572
|
attribute: "min-size"
|
|
5573
5573
|
},
|
|
5574
5574
|
maxSize: {
|
|
5575
|
-
converter: SIZE_CONVERTER,
|
|
5575
|
+
converter: SIZE_CONVERTER$1,
|
|
5576
5576
|
attribute: "max-size"
|
|
5577
5577
|
},
|
|
5578
|
-
stage: { converter: STRING_CONVERTER$
|
|
5578
|
+
stage: { converter: STRING_CONVERTER$70 },
|
|
5579
5579
|
defaultStage: {
|
|
5580
|
-
converter: STRING_CONVERTER$
|
|
5580
|
+
converter: STRING_CONVERTER$70,
|
|
5581
5581
|
attribute: "default-stage"
|
|
5582
5582
|
},
|
|
5583
5583
|
panelDraggable: {
|
|
5584
|
-
converter: BOOLEAN_CONVERTER$
|
|
5584
|
+
converter: BOOLEAN_CONVERTER$50,
|
|
5585
5585
|
attribute: "panel-draggable"
|
|
5586
5586
|
},
|
|
5587
|
-
resizable: { converter: BOOLEAN_CONVERTER$
|
|
5588
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
5587
|
+
resizable: { converter: BOOLEAN_CONVERTER$50 },
|
|
5588
|
+
disabled: { converter: BOOLEAN_CONVERTER$50 },
|
|
5589
5589
|
translations: { attribute: false }
|
|
5590
5590
|
};
|
|
5591
5591
|
idGen = createCounterIdGenerator();
|
|
@@ -5680,8 +5680,8 @@ var XhFloatingPanelElement = class extends XhElement {
|
|
|
5680
5680
|
};
|
|
5681
5681
|
//#endregion
|
|
5682
5682
|
//#region src/elements/form.ts
|
|
5683
|
-
const STRING_CONVERTER$
|
|
5684
|
-
const BOOLEAN_CONVERTER$
|
|
5683
|
+
const STRING_CONVERTER$69 = { fromAttribute: (v) => v ?? void 0 };
|
|
5684
|
+
const BOOLEAN_CONVERTER$49 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
5685
5685
|
/**
|
|
5686
5686
|
* 字段容器与摘要条目自报的字段名,取作者写的 `value` 属性。
|
|
5687
5687
|
*
|
|
@@ -5742,21 +5742,21 @@ var XhFormElement = class extends XhElement {
|
|
|
5742
5742
|
rules: { attribute: false },
|
|
5743
5743
|
validateMessages: { attribute: false },
|
|
5744
5744
|
validateOn: {
|
|
5745
|
-
converter: STRING_CONVERTER$
|
|
5745
|
+
converter: STRING_CONVERTER$69,
|
|
5746
5746
|
attribute: "validate-on"
|
|
5747
5747
|
},
|
|
5748
|
-
layout: { converter: STRING_CONVERTER$
|
|
5748
|
+
layout: { converter: STRING_CONVERTER$69 },
|
|
5749
5749
|
labelWidth: {
|
|
5750
|
-
converter: STRING_CONVERTER$
|
|
5750
|
+
converter: STRING_CONVERTER$69,
|
|
5751
5751
|
attribute: "label-width"
|
|
5752
5752
|
},
|
|
5753
5753
|
labelAlign: {
|
|
5754
|
-
converter: STRING_CONVERTER$
|
|
5754
|
+
converter: STRING_CONVERTER$69,
|
|
5755
5755
|
attribute: "label-align"
|
|
5756
5756
|
},
|
|
5757
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
5757
|
+
disabled: { converter: BOOLEAN_CONVERTER$49 },
|
|
5758
5758
|
readOnly: {
|
|
5759
|
-
converter: BOOLEAN_CONVERTER$
|
|
5759
|
+
converter: BOOLEAN_CONVERTER$49,
|
|
5760
5760
|
attribute: "read-only"
|
|
5761
5761
|
}
|
|
5762
5762
|
};
|
|
@@ -5891,7 +5891,7 @@ var XhFormElement = class extends XhElement {
|
|
|
5891
5891
|
};
|
|
5892
5892
|
//#endregion
|
|
5893
5893
|
//#region src/elements/gradient-text.ts
|
|
5894
|
-
const STRING_CONVERTER$
|
|
5894
|
+
const STRING_CONVERTER$68 = { fromAttribute: (v) => v ?? void 0 };
|
|
5895
5895
|
/**
|
|
5896
5896
|
* `<xh-gradient-text>` —— Light-DOM 行为宿主,无状态机,把 connectGradientText 产出打到 root 角色节点。
|
|
5897
5897
|
*
|
|
@@ -5912,9 +5912,9 @@ var XhGradientTextElement = class extends XhElement {
|
|
|
5912
5912
|
meta: gradientTextMeta
|
|
5913
5913
|
};
|
|
5914
5914
|
static properties = {
|
|
5915
|
-
from: { converter: STRING_CONVERTER$
|
|
5916
|
-
to: { converter: STRING_CONVERTER$
|
|
5917
|
-
direction: { converter: STRING_CONVERTER$
|
|
5915
|
+
from: { converter: STRING_CONVERTER$68 },
|
|
5916
|
+
to: { converter: STRING_CONVERTER$68 },
|
|
5917
|
+
direction: { converter: STRING_CONVERTER$68 }
|
|
5918
5918
|
};
|
|
5919
5919
|
wire() {
|
|
5920
5920
|
const api = connectGradientText({
|
|
@@ -5928,7 +5928,7 @@ var XhGradientTextElement = class extends XhElement {
|
|
|
5928
5928
|
};
|
|
5929
5929
|
//#endregion
|
|
5930
5930
|
//#region src/elements/grid.ts
|
|
5931
|
-
const STRING_CONVERTER$
|
|
5931
|
+
const STRING_CONVERTER$67 = { fromAttribute: (v) => v ?? void 0 };
|
|
5932
5932
|
/**
|
|
5933
5933
|
* 列数写整数就是各档同一个列数(`cols="3"`),写 JSON 对象就是逐档的列数
|
|
5934
5934
|
* (`cols='{"base":1,"md":3}'`)。解析不出对象时当没写:落一个半截对象进去,
|
|
@@ -5977,9 +5977,9 @@ var XhGridElement = class extends XhElement {
|
|
|
5977
5977
|
};
|
|
5978
5978
|
static properties = {
|
|
5979
5979
|
cols: { converter: COLS_CONVERTER },
|
|
5980
|
-
gap: { converter: STRING_CONVERTER$
|
|
5981
|
-
align: { converter: STRING_CONVERTER$
|
|
5982
|
-
justify: { converter: STRING_CONVERTER$
|
|
5980
|
+
gap: { converter: STRING_CONVERTER$67 },
|
|
5981
|
+
align: { converter: STRING_CONVERTER$67 },
|
|
5982
|
+
justify: { converter: STRING_CONVERTER$67 }
|
|
5983
5983
|
};
|
|
5984
5984
|
wire() {
|
|
5985
5985
|
const api = connectGrid({
|
|
@@ -6001,8 +6001,8 @@ var XhGridElement = class extends XhElement {
|
|
|
6001
6001
|
};
|
|
6002
6002
|
//#endregion
|
|
6003
6003
|
//#region src/elements/heatmap.ts
|
|
6004
|
-
const STRING_CONVERTER$
|
|
6005
|
-
const NUMBER_CONVERTER$
|
|
6004
|
+
const STRING_CONVERTER$66 = { fromAttribute: (v) => v ?? void 0 };
|
|
6005
|
+
const NUMBER_CONVERTER$42 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
6006
6006
|
/** 角色节点上作者写的 value,解不出数字即当没写。 */
|
|
6007
6007
|
function numberOf(el) {
|
|
6008
6008
|
const raw = el.getAttribute("value");
|
|
@@ -6075,28 +6075,28 @@ var XhHeatmapElement = class extends XhElement {
|
|
|
6075
6075
|
columns: { attribute: false },
|
|
6076
6076
|
thresholds: { attribute: false },
|
|
6077
6077
|
translations: { attribute: false },
|
|
6078
|
-
variant: { converter: STRING_CONVERTER$
|
|
6078
|
+
variant: { converter: STRING_CONVERTER$66 },
|
|
6079
6079
|
startDate: {
|
|
6080
|
-
converter: STRING_CONVERTER$
|
|
6080
|
+
converter: STRING_CONVERTER$66,
|
|
6081
6081
|
attribute: "start-date"
|
|
6082
6082
|
},
|
|
6083
6083
|
endDate: {
|
|
6084
|
-
converter: STRING_CONVERTER$
|
|
6084
|
+
converter: STRING_CONVERTER$66,
|
|
6085
6085
|
attribute: "end-date"
|
|
6086
6086
|
},
|
|
6087
|
-
levels: { converter: NUMBER_CONVERTER$
|
|
6087
|
+
levels: { converter: NUMBER_CONVERTER$42 },
|
|
6088
6088
|
firstDayOfWeek: {
|
|
6089
|
-
converter: NUMBER_CONVERTER$
|
|
6089
|
+
converter: NUMBER_CONVERTER$42,
|
|
6090
6090
|
attribute: "first-day-of-week"
|
|
6091
6091
|
},
|
|
6092
|
-
locale: { converter: STRING_CONVERTER$
|
|
6092
|
+
locale: { converter: STRING_CONVERTER$66 },
|
|
6093
6093
|
direction: {
|
|
6094
|
-
converter: STRING_CONVERTER$
|
|
6094
|
+
converter: STRING_CONVERTER$66,
|
|
6095
6095
|
attribute: "dir"
|
|
6096
6096
|
},
|
|
6097
|
-
tone: { converter: STRING_CONVERTER$
|
|
6098
|
-
palette: { converter: STRING_CONVERTER$
|
|
6099
|
-
size: { converter: STRING_CONVERTER$
|
|
6097
|
+
tone: { converter: STRING_CONVERTER$66 },
|
|
6098
|
+
palette: { converter: STRING_CONVERTER$66 },
|
|
6099
|
+
size: { converter: STRING_CONVERTER$66 }
|
|
6100
6100
|
};
|
|
6101
6101
|
notifyFocus = (details) => {
|
|
6102
6102
|
this.dispatchEvent(new CustomEvent("cell-focus", {
|
|
@@ -6192,7 +6192,7 @@ var XhHeatmapElement = class extends XhElement {
|
|
|
6192
6192
|
};
|
|
6193
6193
|
//#endregion
|
|
6194
6194
|
//#region src/elements/highlight.ts
|
|
6195
|
-
const STRING_CONVERTER$
|
|
6195
|
+
const STRING_CONVERTER$65 = { fromAttribute: (v) => v ?? void 0 };
|
|
6196
6196
|
/**
|
|
6197
6197
|
* `<xh-highlight>` —— Light-DOM 行为宿主,无状态机,把 text 按 keyword 切段铺进 root。
|
|
6198
6198
|
*
|
|
@@ -6218,8 +6218,8 @@ var XhHighlightElement = class extends XhElement {
|
|
|
6218
6218
|
meta: highlightMeta
|
|
6219
6219
|
};
|
|
6220
6220
|
static properties = {
|
|
6221
|
-
text: { converter: STRING_CONVERTER$
|
|
6222
|
-
keyword: { converter: STRING_CONVERTER$
|
|
6221
|
+
text: { converter: STRING_CONVERTER$65 },
|
|
6222
|
+
keyword: { converter: STRING_CONVERTER$65 },
|
|
6223
6223
|
caseSensitive: {
|
|
6224
6224
|
type: Boolean,
|
|
6225
6225
|
attribute: "case-sensitive"
|
|
@@ -6267,8 +6267,8 @@ var XhHighlightElement = class extends XhElement {
|
|
|
6267
6267
|
};
|
|
6268
6268
|
//#endregion
|
|
6269
6269
|
//#region src/elements/hotkeys.ts
|
|
6270
|
-
const STRING_CONVERTER$
|
|
6271
|
-
const BOOLEAN_CONVERTER$
|
|
6270
|
+
const STRING_CONVERTER$64 = { fromAttribute: (v) => v ?? void 0 };
|
|
6271
|
+
const BOOLEAN_CONVERTER$48 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
6272
6272
|
const ARRAY_CONVERTER$2 = { fromAttribute: (v) => v == null ? void 0 : v.split(",").map((s) => s.trim()).filter((s) => s !== "") };
|
|
6273
6273
|
/**
|
|
6274
6274
|
* `<xh-hotkeys>` —— Light-DOM 行为宿主:作者写一个空的行内容器当 root,
|
|
@@ -6302,14 +6302,14 @@ var XhHotkeysElement = class extends XhElement {
|
|
|
6302
6302
|
};
|
|
6303
6303
|
static properties = {
|
|
6304
6304
|
keys: { converter: ARRAY_CONVERTER$2 },
|
|
6305
|
-
platform: { converter: STRING_CONVERTER$
|
|
6306
|
-
target: { converter: STRING_CONVERTER$
|
|
6305
|
+
platform: { converter: STRING_CONVERTER$64 },
|
|
6306
|
+
target: { converter: STRING_CONVERTER$64 },
|
|
6307
6307
|
preventDefault: {
|
|
6308
|
-
converter: BOOLEAN_CONVERTER$
|
|
6308
|
+
converter: BOOLEAN_CONVERTER$48,
|
|
6309
6309
|
attribute: "prevent-default"
|
|
6310
6310
|
},
|
|
6311
|
-
enabled: { converter: BOOLEAN_CONVERTER$
|
|
6312
|
-
size: { converter: STRING_CONVERTER$
|
|
6311
|
+
enabled: { converter: BOOLEAN_CONVERTER$48 },
|
|
6312
|
+
size: { converter: STRING_CONVERTER$64 },
|
|
6313
6313
|
translations: { attribute: false }
|
|
6314
6314
|
};
|
|
6315
6315
|
/** 接进文档后测出来的平台;测出来之前是 auto,connect 按非 Mac 出。 */
|
|
@@ -6396,13 +6396,13 @@ var XhHotkeysElement = class extends XhElement {
|
|
|
6396
6396
|
};
|
|
6397
6397
|
//#endregion
|
|
6398
6398
|
//#region src/elements/hover-card.ts
|
|
6399
|
-
const STRING_CONVERTER$
|
|
6400
|
-
const NUMBER_CONVERTER$
|
|
6399
|
+
const STRING_CONVERTER$63 = { fromAttribute: (v) => v ?? void 0 };
|
|
6400
|
+
const NUMBER_CONVERTER$41 = { fromAttribute: (v) => {
|
|
6401
6401
|
if (v === null) return void 0;
|
|
6402
6402
|
const n = Number(v);
|
|
6403
6403
|
return Number.isFinite(n) ? n : void 0;
|
|
6404
6404
|
} };
|
|
6405
|
-
const BOOLEAN_CONVERTER$
|
|
6405
|
+
const BOOLEAN_CONVERTER$47 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
6406
6406
|
/**
|
|
6407
6407
|
* `<xh-hover-card>` —— Light-DOM 行为宿主:作者写 root/trigger/positioner/content/arrow 角色节点,
|
|
6408
6408
|
* 元素跑 hover-card 机器并把 connect 产出打上去。
|
|
@@ -6435,27 +6435,27 @@ var XhHoverCardElement = class extends XhElement {
|
|
|
6435
6435
|
meta: hoverCardMeta
|
|
6436
6436
|
};
|
|
6437
6437
|
static properties = {
|
|
6438
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
6438
|
+
open: { converter: BOOLEAN_CONVERTER$47 },
|
|
6439
6439
|
defaultOpen: {
|
|
6440
6440
|
type: Boolean,
|
|
6441
6441
|
attribute: "default-open"
|
|
6442
6442
|
},
|
|
6443
|
-
placement: { converter: STRING_CONVERTER$
|
|
6444
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
6443
|
+
placement: { converter: STRING_CONVERTER$63 },
|
|
6444
|
+
offset: { converter: NUMBER_CONVERTER$41 },
|
|
6445
6445
|
openDelay: {
|
|
6446
|
-
converter: NUMBER_CONVERTER$
|
|
6446
|
+
converter: NUMBER_CONVERTER$41,
|
|
6447
6447
|
attribute: "open-delay"
|
|
6448
6448
|
},
|
|
6449
6449
|
closeDelay: {
|
|
6450
|
-
converter: NUMBER_CONVERTER$
|
|
6450
|
+
converter: NUMBER_CONVERTER$41,
|
|
6451
6451
|
attribute: "close-delay"
|
|
6452
6452
|
},
|
|
6453
6453
|
direction: {
|
|
6454
|
-
converter: STRING_CONVERTER$
|
|
6454
|
+
converter: STRING_CONVERTER$63,
|
|
6455
6455
|
attribute: "dir"
|
|
6456
6456
|
},
|
|
6457
6457
|
disabled: { type: Boolean },
|
|
6458
|
-
size: { converter: STRING_CONVERTER$
|
|
6458
|
+
size: { converter: STRING_CONVERTER$63 }
|
|
6459
6459
|
};
|
|
6460
6460
|
idGen = createCounterIdGenerator();
|
|
6461
6461
|
hoverCardScope = createScope(null, this.idGen);
|
|
@@ -6562,7 +6562,7 @@ var XhHoverCardElement = class extends XhElement {
|
|
|
6562
6562
|
};
|
|
6563
6563
|
//#endregion
|
|
6564
6564
|
//#region src/elements/icon.ts
|
|
6565
|
-
const STRING_CONVERTER$
|
|
6565
|
+
const STRING_CONVERTER$62 = { fromAttribute: (v) => v ?? void 0 };
|
|
6566
6566
|
const SVG_NS$1 = "http://www.w3.org/2000/svg";
|
|
6567
6567
|
/** 自带可及名字的控件;图标落在它们里面时名字该写在控件上。 */
|
|
6568
6568
|
const NAMED_CONTROLS = "button, a[href], [role=\"button\"], [role=\"link\"], [role=\"menuitem\"], [role=\"tab\"], [role=\"option\"]";
|
|
@@ -6603,10 +6603,10 @@ var XhIconElement = class extends XhElement {
|
|
|
6603
6603
|
}
|
|
6604
6604
|
};
|
|
6605
6605
|
static properties = {
|
|
6606
|
-
label: { converter: STRING_CONVERTER$
|
|
6607
|
-
size: { converter: STRING_CONVERTER$
|
|
6608
|
-
weight: { converter: STRING_CONVERTER$
|
|
6609
|
-
tone: { converter: STRING_CONVERTER$
|
|
6606
|
+
label: { converter: STRING_CONVERTER$62 },
|
|
6607
|
+
size: { converter: STRING_CONVERTER$62 },
|
|
6608
|
+
weight: { converter: STRING_CONVERTER$62 },
|
|
6609
|
+
tone: { converter: STRING_CONVERTER$62 },
|
|
6610
6610
|
icon: { attribute: false }
|
|
6611
6611
|
};
|
|
6612
6612
|
/** 一个 glyph 节点归谁,首次见到时定死。 */
|
|
@@ -6730,8 +6730,8 @@ var XhIconWrapperElement = class extends XhElement {
|
|
|
6730
6730
|
};
|
|
6731
6731
|
//#endregion
|
|
6732
6732
|
//#region src/elements/image.ts
|
|
6733
|
-
const STRING_CONVERTER$
|
|
6734
|
-
const NUMBER_CONVERTER$
|
|
6733
|
+
const STRING_CONVERTER$61 = { fromAttribute: (v) => v ?? void 0 };
|
|
6734
|
+
const NUMBER_CONVERTER$40 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
6735
6735
|
/**
|
|
6736
6736
|
* `<xh-image>` —— Light-DOM 行为宿主:作者写 root/image/fallback 角色节点,
|
|
6737
6737
|
* 元素跑 image 机器并把 connect 产出打上去。图片来源由宿主的 src/alt 写进 image 节点,
|
|
@@ -6755,10 +6755,10 @@ var XhImageElement = class extends XhElement {
|
|
|
6755
6755
|
meta: imageMeta
|
|
6756
6756
|
};
|
|
6757
6757
|
static properties = {
|
|
6758
|
-
src: { converter: STRING_CONVERTER$
|
|
6759
|
-
alt: { converter: STRING_CONVERTER$
|
|
6758
|
+
src: { converter: STRING_CONVERTER$61 },
|
|
6759
|
+
alt: { converter: STRING_CONVERTER$61 },
|
|
6760
6760
|
fallbackDelay: {
|
|
6761
|
-
converter: NUMBER_CONVERTER$
|
|
6761
|
+
converter: NUMBER_CONVERTER$40,
|
|
6762
6762
|
attribute: "fallback-delay"
|
|
6763
6763
|
}
|
|
6764
6764
|
};
|
|
@@ -6814,9 +6814,9 @@ var XhImageElement = class extends XhElement {
|
|
|
6814
6814
|
};
|
|
6815
6815
|
//#endregion
|
|
6816
6816
|
//#region src/elements/image-cropper.ts
|
|
6817
|
-
const STRING_CONVERTER$
|
|
6818
|
-
const NUMBER_CONVERTER$
|
|
6819
|
-
const BOOLEAN_CONVERTER$
|
|
6817
|
+
const STRING_CONVERTER$60 = { fromAttribute: (v) => v ?? void 0 };
|
|
6818
|
+
const NUMBER_CONVERTER$39 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
6819
|
+
const BOOLEAN_CONVERTER$46 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
6820
6820
|
/**
|
|
6821
6821
|
* 裁切矩形写成逗号分隔的四个数:`x,y,width,height`。
|
|
6822
6822
|
* 读不出四个有限数就当没写:留下 NaN 会一路写进定位百分比与表单值。
|
|
@@ -6887,38 +6887,38 @@ var XhImageCropperElement = class extends XhElement {
|
|
|
6887
6887
|
meta: imageCropperMeta
|
|
6888
6888
|
};
|
|
6889
6889
|
static properties = {
|
|
6890
|
-
src: { converter: STRING_CONVERTER$
|
|
6891
|
-
alt: { converter: STRING_CONVERTER$
|
|
6890
|
+
src: { converter: STRING_CONVERTER$60 },
|
|
6891
|
+
alt: { converter: STRING_CONVERTER$60 },
|
|
6892
6892
|
value: { converter: RECT_CONVERTER },
|
|
6893
6893
|
defaultValue: {
|
|
6894
6894
|
converter: RECT_CONVERTER,
|
|
6895
6895
|
attribute: "default-value"
|
|
6896
6896
|
},
|
|
6897
6897
|
aspectRatio: {
|
|
6898
|
-
converter: NUMBER_CONVERTER$
|
|
6898
|
+
converter: NUMBER_CONVERTER$39,
|
|
6899
6899
|
attribute: "aspect-ratio"
|
|
6900
6900
|
},
|
|
6901
6901
|
minWidth: {
|
|
6902
|
-
converter: NUMBER_CONVERTER$
|
|
6902
|
+
converter: NUMBER_CONVERTER$39,
|
|
6903
6903
|
attribute: "min-width"
|
|
6904
6904
|
},
|
|
6905
6905
|
minHeight: {
|
|
6906
|
-
converter: NUMBER_CONVERTER$
|
|
6906
|
+
converter: NUMBER_CONVERTER$39,
|
|
6907
6907
|
attribute: "min-height"
|
|
6908
6908
|
},
|
|
6909
|
-
zoom: { converter: NUMBER_CONVERTER$
|
|
6909
|
+
zoom: { converter: NUMBER_CONVERTER$39 },
|
|
6910
6910
|
defaultZoom: {
|
|
6911
|
-
converter: NUMBER_CONVERTER$
|
|
6911
|
+
converter: NUMBER_CONVERTER$39,
|
|
6912
6912
|
attribute: "default-zoom"
|
|
6913
6913
|
},
|
|
6914
|
-
rotation: { converter: NUMBER_CONVERTER$
|
|
6915
|
-
shape: { converter: STRING_CONVERTER$
|
|
6916
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
6914
|
+
rotation: { converter: NUMBER_CONVERTER$39 },
|
|
6915
|
+
shape: { converter: STRING_CONVERTER$60 },
|
|
6916
|
+
disabled: { converter: BOOLEAN_CONVERTER$46 },
|
|
6917
6917
|
readOnly: {
|
|
6918
|
-
converter: BOOLEAN_CONVERTER$
|
|
6918
|
+
converter: BOOLEAN_CONVERTER$46,
|
|
6919
6919
|
attribute: "read-only"
|
|
6920
6920
|
},
|
|
6921
|
-
name: { converter: STRING_CONVERTER$
|
|
6921
|
+
name: { converter: STRING_CONVERTER$60 },
|
|
6922
6922
|
translations: { attribute: false }
|
|
6923
6923
|
};
|
|
6924
6924
|
notifyValue = (details) => {
|
|
@@ -7007,8 +7007,8 @@ var XhImageCropperElement = class extends XhElement {
|
|
|
7007
7007
|
};
|
|
7008
7008
|
//#endregion
|
|
7009
7009
|
//#region src/elements/image-viewer.ts
|
|
7010
|
-
const BOOLEAN_CONVERTER$
|
|
7011
|
-
const NUMBER_CONVERTER$
|
|
7010
|
+
const BOOLEAN_CONVERTER$45 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
7011
|
+
const NUMBER_CONVERTER$38 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
7012
7012
|
/**
|
|
7013
7013
|
* `<xh-image-viewer>` —— Light-DOM 行为宿主,跑 image-viewer 机器:
|
|
7014
7014
|
* 模态看片浮层,滚轮缩放、拖拽平移、旋转翻转与多图翻页。
|
|
@@ -7052,39 +7052,39 @@ var XhImageViewerElement = class extends XhElement {
|
|
|
7052
7052
|
meta: imageViewerMeta
|
|
7053
7053
|
};
|
|
7054
7054
|
static properties = {
|
|
7055
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
7055
|
+
open: { converter: BOOLEAN_CONVERTER$45 },
|
|
7056
7056
|
defaultOpen: {
|
|
7057
7057
|
type: Boolean,
|
|
7058
7058
|
attribute: "default-open"
|
|
7059
7059
|
},
|
|
7060
|
-
index: { converter: NUMBER_CONVERTER$
|
|
7060
|
+
index: { converter: NUMBER_CONVERTER$38 },
|
|
7061
7061
|
defaultIndex: {
|
|
7062
|
-
converter: NUMBER_CONVERTER$
|
|
7062
|
+
converter: NUMBER_CONVERTER$38,
|
|
7063
7063
|
attribute: "default-index"
|
|
7064
7064
|
},
|
|
7065
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
7065
|
+
loop: { converter: BOOLEAN_CONVERTER$45 },
|
|
7066
7066
|
zoomStep: {
|
|
7067
|
-
converter: NUMBER_CONVERTER$
|
|
7067
|
+
converter: NUMBER_CONVERTER$38,
|
|
7068
7068
|
attribute: "zoom-step"
|
|
7069
7069
|
},
|
|
7070
7070
|
minScale: {
|
|
7071
|
-
converter: NUMBER_CONVERTER$
|
|
7071
|
+
converter: NUMBER_CONVERTER$38,
|
|
7072
7072
|
attribute: "min-scale"
|
|
7073
7073
|
},
|
|
7074
7074
|
maxScale: {
|
|
7075
|
-
converter: NUMBER_CONVERTER$
|
|
7075
|
+
converter: NUMBER_CONVERTER$38,
|
|
7076
7076
|
attribute: "max-scale"
|
|
7077
7077
|
},
|
|
7078
7078
|
closeOnEscape: {
|
|
7079
|
-
converter: BOOLEAN_CONVERTER$
|
|
7079
|
+
converter: BOOLEAN_CONVERTER$45,
|
|
7080
7080
|
attribute: "close-on-escape"
|
|
7081
7081
|
},
|
|
7082
7082
|
closeOnInteractOutside: {
|
|
7083
|
-
converter: BOOLEAN_CONVERTER$
|
|
7083
|
+
converter: BOOLEAN_CONVERTER$45,
|
|
7084
7084
|
attribute: "close-on-interact-outside"
|
|
7085
7085
|
},
|
|
7086
7086
|
restoreFocus: {
|
|
7087
|
-
converter: BOOLEAN_CONVERTER$
|
|
7087
|
+
converter: BOOLEAN_CONVERTER$45,
|
|
7088
7088
|
attribute: "restore-focus"
|
|
7089
7089
|
},
|
|
7090
7090
|
items: { attribute: false },
|
|
@@ -7225,8 +7225,8 @@ var XhImageViewerElement = class extends XhElement {
|
|
|
7225
7225
|
};
|
|
7226
7226
|
//#endregion
|
|
7227
7227
|
//#region src/elements/infinite-scroll.ts
|
|
7228
|
-
const NUMBER_CONVERTER$
|
|
7229
|
-
const BOOLEAN_CONVERTER$
|
|
7228
|
+
const NUMBER_CONVERTER$37 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
7229
|
+
const BOOLEAN_CONVERTER$44 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
7230
7230
|
/**
|
|
7231
7231
|
* `<xh-infinite-scroll>` —— 无限滚动行为宿主:摆在列表末尾的哨兵一进可视区就报「该取下一页了」。
|
|
7232
7232
|
*
|
|
@@ -7249,9 +7249,9 @@ var XhInfiniteScrollElement = class extends XhElement {
|
|
|
7249
7249
|
meta: infiniteScrollMeta
|
|
7250
7250
|
};
|
|
7251
7251
|
static properties = {
|
|
7252
|
-
distance: { converter: NUMBER_CONVERTER$
|
|
7253
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
7254
|
-
loading: { converter: BOOLEAN_CONVERTER$
|
|
7252
|
+
distance: { converter: NUMBER_CONVERTER$37 },
|
|
7253
|
+
disabled: { converter: BOOLEAN_CONVERTER$44 },
|
|
7254
|
+
loading: { converter: BOOLEAN_CONVERTER$44 },
|
|
7255
7255
|
target: { attribute: false }
|
|
7256
7256
|
};
|
|
7257
7257
|
notify = () => {
|
|
@@ -7285,9 +7285,9 @@ var XhInfiniteScrollElement = class extends XhElement {
|
|
|
7285
7285
|
};
|
|
7286
7286
|
//#endregion
|
|
7287
7287
|
//#region src/elements/json-viewer.ts
|
|
7288
|
-
const STRING_CONVERTER$
|
|
7289
|
-
const NUMBER_CONVERTER$
|
|
7290
|
-
const BOOLEAN_CONVERTER$
|
|
7288
|
+
const STRING_CONVERTER$59 = { fromAttribute: (v) => v ?? void 0 };
|
|
7289
|
+
const NUMBER_CONVERTER$36 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
7290
|
+
const BOOLEAN_CONVERTER$43 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
7291
7291
|
const JSON_CONVERTER = { fromAttribute: (v) => {
|
|
7292
7292
|
if (v == null) return void 0;
|
|
7293
7293
|
try {
|
|
@@ -7375,28 +7375,28 @@ var XhJsonViewerElement = class extends XhElement {
|
|
|
7375
7375
|
expandedValue: { attribute: false },
|
|
7376
7376
|
defaultExpandedValue: { attribute: false },
|
|
7377
7377
|
defaultExpandedDepth: {
|
|
7378
|
-
converter: NUMBER_CONVERTER$
|
|
7378
|
+
converter: NUMBER_CONVERTER$36,
|
|
7379
7379
|
attribute: "default-expanded-depth"
|
|
7380
7380
|
},
|
|
7381
7381
|
maxStringLength: {
|
|
7382
|
-
converter: NUMBER_CONVERTER$
|
|
7382
|
+
converter: NUMBER_CONVERTER$36,
|
|
7383
7383
|
attribute: "max-string-length"
|
|
7384
7384
|
},
|
|
7385
7385
|
maxItems: {
|
|
7386
|
-
converter: NUMBER_CONVERTER$
|
|
7386
|
+
converter: NUMBER_CONVERTER$36,
|
|
7387
7387
|
attribute: "max-items"
|
|
7388
7388
|
},
|
|
7389
7389
|
sortKeys: {
|
|
7390
|
-
converter: BOOLEAN_CONVERTER$
|
|
7390
|
+
converter: BOOLEAN_CONVERTER$43,
|
|
7391
7391
|
attribute: "sort-keys"
|
|
7392
7392
|
},
|
|
7393
7393
|
view: { attribute: "view" },
|
|
7394
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
7394
|
+
loop: { converter: BOOLEAN_CONVERTER$43 },
|
|
7395
7395
|
direction: {
|
|
7396
|
-
converter: STRING_CONVERTER$
|
|
7396
|
+
converter: STRING_CONVERTER$59,
|
|
7397
7397
|
attribute: "dir"
|
|
7398
7398
|
},
|
|
7399
|
-
size: { converter: STRING_CONVERTER$
|
|
7399
|
+
size: { converter: STRING_CONVERTER$59 },
|
|
7400
7400
|
translations: { attribute: false }
|
|
7401
7401
|
};
|
|
7402
7402
|
notify = (details) => {
|
|
@@ -7584,7 +7584,7 @@ var XhJsonViewerElement = class extends XhElement {
|
|
|
7584
7584
|
};
|
|
7585
7585
|
//#endregion
|
|
7586
7586
|
//#region src/elements/layout.ts
|
|
7587
|
-
const STRING_CONVERTER$
|
|
7587
|
+
const STRING_CONVERTER$58 = { fromAttribute: (v) => v ?? void 0 };
|
|
7588
7588
|
/**
|
|
7589
7589
|
* `<xh-layout>` —— 页面骨架的 Light-DOM 行为宿主,跑 layout 机器并把 connect 产出打到
|
|
7590
7590
|
* root/header/sider/content/footer/sider-trigger 角色节点。
|
|
@@ -7630,15 +7630,15 @@ var XhLayoutElement = class extends XhElement {
|
|
|
7630
7630
|
},
|
|
7631
7631
|
siderWidth: {
|
|
7632
7632
|
attribute: "sider-width",
|
|
7633
|
-
converter: STRING_CONVERTER$
|
|
7633
|
+
converter: STRING_CONVERTER$58
|
|
7634
7634
|
},
|
|
7635
7635
|
siderCollapsedWidth: {
|
|
7636
7636
|
attribute: "sider-collapsed-width",
|
|
7637
|
-
converter: STRING_CONVERTER$
|
|
7637
|
+
converter: STRING_CONVERTER$58
|
|
7638
7638
|
},
|
|
7639
7639
|
siderPlacement: {
|
|
7640
7640
|
attribute: "sider-placement",
|
|
7641
|
-
converter: STRING_CONVERTER$
|
|
7641
|
+
converter: STRING_CONVERTER$58
|
|
7642
7642
|
},
|
|
7643
7643
|
headerFixed: {
|
|
7644
7644
|
type: Boolean,
|
|
@@ -7687,7 +7687,7 @@ var XhLayoutElement = class extends XhElement {
|
|
|
7687
7687
|
};
|
|
7688
7688
|
//#endregion
|
|
7689
7689
|
//#region src/elements/list.ts
|
|
7690
|
-
const STRING_CONVERTER$
|
|
7690
|
+
const STRING_CONVERTER$57 = { fromAttribute: (v) => v ?? void 0 };
|
|
7691
7691
|
/**
|
|
7692
7692
|
* `<xh-list>` —— Light-DOM 行为宿主,无状态机,把 connectList 产出打到各角色节点。
|
|
7693
7693
|
* 除 root 外的部件全部可缺省:空列表、只有一行标题的条目都是合法形态。
|
|
@@ -7717,7 +7717,7 @@ var XhListElement = class extends XhElement {
|
|
|
7717
7717
|
bordered: { type: Boolean },
|
|
7718
7718
|
hoverable: { type: Boolean },
|
|
7719
7719
|
split: { type: Boolean },
|
|
7720
|
-
size: { converter: STRING_CONVERTER$
|
|
7720
|
+
size: { converter: STRING_CONVERTER$57 }
|
|
7721
7721
|
};
|
|
7722
7722
|
wire() {
|
|
7723
7723
|
const api = connectList(this.configured("list", {
|
|
@@ -7741,8 +7741,8 @@ var XhListElement = class extends XhElement {
|
|
|
7741
7741
|
};
|
|
7742
7742
|
//#endregion
|
|
7743
7743
|
//#region src/elements/listbox.ts
|
|
7744
|
-
const STRING_CONVERTER$
|
|
7745
|
-
const BOOLEAN_CONVERTER$
|
|
7744
|
+
const STRING_CONVERTER$56 = { fromAttribute: (v) => v ?? void 0 };
|
|
7745
|
+
const BOOLEAN_CONVERTER$42 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
7746
7746
|
/**
|
|
7747
7747
|
* `<xh-listbox>` —— Light-DOM 行为宿主:作者写 root/label/content 与若干 item 角色节点,
|
|
7748
7748
|
* 元素跑 listbox 机器并把 connect 产出打上去。条目身份取自条目节点上的 value 属性,
|
|
@@ -7784,24 +7784,24 @@ var XhListboxElement = class extends XhElement {
|
|
|
7784
7784
|
};
|
|
7785
7785
|
static properties = {
|
|
7786
7786
|
collection: { attribute: false },
|
|
7787
|
-
value: { converter: STRING_CONVERTER$
|
|
7787
|
+
value: { converter: STRING_CONVERTER$56 },
|
|
7788
7788
|
defaultValue: {
|
|
7789
|
-
converter: STRING_CONVERTER$
|
|
7789
|
+
converter: STRING_CONVERTER$56,
|
|
7790
7790
|
attribute: "default-value"
|
|
7791
7791
|
},
|
|
7792
7792
|
multiple: { type: Boolean },
|
|
7793
7793
|
selectionMode: {
|
|
7794
|
-
converter: STRING_CONVERTER$
|
|
7794
|
+
converter: STRING_CONVERTER$56,
|
|
7795
7795
|
attribute: "selection-mode"
|
|
7796
7796
|
},
|
|
7797
7797
|
disabled: { type: Boolean },
|
|
7798
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
7798
|
+
loop: { converter: BOOLEAN_CONVERTER$42 },
|
|
7799
7799
|
direction: {
|
|
7800
|
-
converter: STRING_CONVERTER$
|
|
7800
|
+
converter: STRING_CONVERTER$56,
|
|
7801
7801
|
attribute: "dir"
|
|
7802
7802
|
},
|
|
7803
|
-
orientation: { converter: STRING_CONVERTER$
|
|
7804
|
-
typeahead: { converter: BOOLEAN_CONVERTER$
|
|
7803
|
+
orientation: { converter: STRING_CONVERTER$56 },
|
|
7804
|
+
typeahead: { converter: BOOLEAN_CONVERTER$42 }
|
|
7805
7805
|
};
|
|
7806
7806
|
declaredDisabled = /* @__PURE__ */ new WeakMap();
|
|
7807
7807
|
/** 上一帧是否整列禁用:解禁当帧 DOM 上还留着机器写回的 aria-disabled,读不得。 */
|
|
@@ -7899,9 +7899,9 @@ var XhListboxElement = class extends XhElement {
|
|
|
7899
7899
|
};
|
|
7900
7900
|
//#endregion
|
|
7901
7901
|
//#region src/elements/loading-bar.ts
|
|
7902
|
-
const STRING_CONVERTER$
|
|
7903
|
-
const NUMBER_CONVERTER$
|
|
7904
|
-
const BOOLEAN_CONVERTER$
|
|
7902
|
+
const STRING_CONVERTER$55 = { fromAttribute: (v) => v ?? void 0 };
|
|
7903
|
+
const NUMBER_CONVERTER$35 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
7904
|
+
const BOOLEAN_CONVERTER$41 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
7905
7905
|
const HEIGHT_CONVERTER = { fromAttribute: (v) => {
|
|
7906
7906
|
if (v == null || v === "") return void 0;
|
|
7907
7907
|
const px = Number(v);
|
|
@@ -7940,23 +7940,23 @@ var XhLoadingBarElement = class extends XhElement {
|
|
|
7940
7940
|
meta: loadingBarMeta
|
|
7941
7941
|
};
|
|
7942
7942
|
static properties = {
|
|
7943
|
-
value: { converter: NUMBER_CONVERTER$
|
|
7943
|
+
value: { converter: NUMBER_CONVERTER$35 },
|
|
7944
7944
|
defaultValue: {
|
|
7945
|
-
converter: NUMBER_CONVERTER$
|
|
7945
|
+
converter: NUMBER_CONVERTER$35,
|
|
7946
7946
|
attribute: "default-value"
|
|
7947
7947
|
},
|
|
7948
|
-
loading: { converter: BOOLEAN_CONVERTER$
|
|
7948
|
+
loading: { converter: BOOLEAN_CONVERTER$41 },
|
|
7949
7949
|
height: { converter: HEIGHT_CONVERTER },
|
|
7950
|
-
color: { converter: STRING_CONVERTER$
|
|
7951
|
-
tone: { converter: STRING_CONVERTER$
|
|
7952
|
-
trickle: { converter: BOOLEAN_CONVERTER$
|
|
7950
|
+
color: { converter: STRING_CONVERTER$55 },
|
|
7951
|
+
tone: { converter: STRING_CONVERTER$55 },
|
|
7952
|
+
trickle: { converter: BOOLEAN_CONVERTER$41 },
|
|
7953
7953
|
trickleSpeed: {
|
|
7954
|
-
converter: NUMBER_CONVERTER$
|
|
7954
|
+
converter: NUMBER_CONVERTER$35,
|
|
7955
7955
|
attribute: "trickle-speed"
|
|
7956
7956
|
},
|
|
7957
|
-
minimum: { converter: NUMBER_CONVERTER$
|
|
7957
|
+
minimum: { converter: NUMBER_CONVERTER$35 },
|
|
7958
7958
|
fadeDuration: {
|
|
7959
|
-
converter: NUMBER_CONVERTER$
|
|
7959
|
+
converter: NUMBER_CONVERTER$35,
|
|
7960
7960
|
attribute: "fade-duration"
|
|
7961
7961
|
},
|
|
7962
7962
|
translations: { attribute: false }
|
|
@@ -7999,7 +7999,7 @@ var XhLoadingBarElement = class extends XhElement {
|
|
|
7999
7999
|
};
|
|
8000
8000
|
//#endregion
|
|
8001
8001
|
//#region src/elements/log.ts
|
|
8002
|
-
const NUMBER_CONVERTER$
|
|
8002
|
+
const NUMBER_CONVERTER$34 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
8003
8003
|
/**
|
|
8004
8004
|
* `<xh-log>` —— Light-DOM 行为宿主:作者写 root/viewport/content/line 角色节点,
|
|
8005
8005
|
* 元素把 connectLog 的产出打上去。行长出来时跟随滚动到底部,用户上滚后解除粘附,
|
|
@@ -8024,7 +8024,7 @@ var XhLogElement = class extends XhElement {
|
|
|
8024
8024
|
meta: logMeta
|
|
8025
8025
|
};
|
|
8026
8026
|
static properties = {
|
|
8027
|
-
rows: { converter: NUMBER_CONVERTER$
|
|
8027
|
+
rows: { converter: NUMBER_CONVERTER$34 },
|
|
8028
8028
|
loading: { type: Boolean },
|
|
8029
8029
|
translations: { attribute: false }
|
|
8030
8030
|
};
|
|
@@ -8085,8 +8085,8 @@ var XhLogElement = class extends XhElement {
|
|
|
8085
8085
|
};
|
|
8086
8086
|
//#endregion
|
|
8087
8087
|
//#region src/elements/marquee.ts
|
|
8088
|
-
const STRING_CONVERTER$
|
|
8089
|
-
const NUMBER_CONVERTER$
|
|
8088
|
+
const STRING_CONVERTER$54 = { fromAttribute: (v) => v ?? void 0 };
|
|
8089
|
+
const NUMBER_CONVERTER$33 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
8090
8090
|
/**
|
|
8091
8091
|
* `<xh-marquee>` —— Light-DOM 行为宿主,无状态机,把 connectMarquee 产出打到 root 与 content 上。
|
|
8092
8092
|
*
|
|
@@ -8113,8 +8113,8 @@ var XhMarqueeElement = class extends XhElement {
|
|
|
8113
8113
|
meta: marqueeMeta
|
|
8114
8114
|
};
|
|
8115
8115
|
static properties = {
|
|
8116
|
-
direction: { converter: STRING_CONVERTER$
|
|
8117
|
-
speed: { converter: NUMBER_CONVERTER$
|
|
8116
|
+
direction: { converter: STRING_CONVERTER$54 },
|
|
8117
|
+
speed: { converter: NUMBER_CONVERTER$33 },
|
|
8118
8118
|
pauseOnHover: {
|
|
8119
8119
|
type: Boolean,
|
|
8120
8120
|
attribute: "pause-on-hover"
|
|
@@ -8141,8 +8141,8 @@ var XhMarqueeElement = class extends XhElement {
|
|
|
8141
8141
|
};
|
|
8142
8142
|
//#endregion
|
|
8143
8143
|
//#region src/elements/masonry.ts
|
|
8144
|
-
const STRING_CONVERTER$
|
|
8145
|
-
const BOOLEAN_CONVERTER$
|
|
8144
|
+
const STRING_CONVERTER$53 = { fromAttribute: (v) => v ?? void 0 };
|
|
8145
|
+
const BOOLEAN_CONVERTER$40 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
8146
8146
|
/**
|
|
8147
8147
|
* 列数写整数就是各档同一个列数(`columns="3"`),写 JSON 对象就是逐档的列数
|
|
8148
8148
|
* (`columns='{"base":1,"md":3}'`)。解析不出对象时当没写:落一个半截对象进去,
|
|
@@ -8186,8 +8186,8 @@ var XhMasonryElement = class extends XhElement {
|
|
|
8186
8186
|
};
|
|
8187
8187
|
static properties = {
|
|
8188
8188
|
columns: { converter: COLUMNS_CONVERTER },
|
|
8189
|
-
gap: { converter: STRING_CONVERTER$
|
|
8190
|
-
sequential: { converter: BOOLEAN_CONVERTER$
|
|
8189
|
+
gap: { converter: STRING_CONVERTER$53 },
|
|
8190
|
+
sequential: { converter: BOOLEAN_CONVERTER$40 }
|
|
8191
8191
|
};
|
|
8192
8192
|
/** 每一项首次被看到时的序号,重排后 DOM 序等于列序,原序只剩它认得出来。 */
|
|
8193
8193
|
seen = /* @__PURE__ */ new WeakMap();
|
|
@@ -8263,9 +8263,9 @@ var XhMasonryElement = class extends XhElement {
|
|
|
8263
8263
|
};
|
|
8264
8264
|
//#endregion
|
|
8265
8265
|
//#region src/elements/mention.ts
|
|
8266
|
-
const STRING_CONVERTER$
|
|
8267
|
-
const NUMBER_CONVERTER$
|
|
8268
|
-
const BOOLEAN_CONVERTER$
|
|
8266
|
+
const STRING_CONVERTER$52 = { fromAttribute: (v) => v ?? void 0 };
|
|
8267
|
+
const NUMBER_CONVERTER$32 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
8268
|
+
const BOOLEAN_CONVERTER$39 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
8269
8269
|
/**
|
|
8270
8270
|
* `<xh-mention>` —— Light-DOM 行为宿主:作者写 root/input/positioner/content/item 角色节点,
|
|
8271
8271
|
* 元素跑 mention 机器并把 connect 产出打上去。浮层定位引擎在本元素里建好、经 refs 注入机器,
|
|
@@ -8316,12 +8316,12 @@ var XhMentionElement = class extends XhElement {
|
|
|
8316
8316
|
collection: { attribute: false },
|
|
8317
8317
|
translations: { attribute: false },
|
|
8318
8318
|
triggerPrefix: {
|
|
8319
|
-
converter: STRING_CONVERTER$
|
|
8319
|
+
converter: STRING_CONVERTER$52,
|
|
8320
8320
|
attribute: "prefix"
|
|
8321
8321
|
},
|
|
8322
|
-
value: { converter: STRING_CONVERTER$
|
|
8322
|
+
value: { converter: STRING_CONVERTER$52 },
|
|
8323
8323
|
defaultValue: {
|
|
8324
|
-
converter: STRING_CONVERTER$
|
|
8324
|
+
converter: STRING_CONVERTER$52,
|
|
8325
8325
|
attribute: "default-value"
|
|
8326
8326
|
},
|
|
8327
8327
|
disabled: { type: Boolean },
|
|
@@ -8330,13 +8330,13 @@ var XhMentionElement = class extends XhElement {
|
|
|
8330
8330
|
attribute: "read-only"
|
|
8331
8331
|
},
|
|
8332
8332
|
invalid: { type: Boolean },
|
|
8333
|
-
placeholder: { converter: STRING_CONVERTER$
|
|
8334
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
8335
|
-
placement: { converter: STRING_CONVERTER$
|
|
8336
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
8337
|
-
variant: { converter: STRING_CONVERTER$
|
|
8338
|
-
tone: { converter: STRING_CONVERTER$
|
|
8339
|
-
size: { converter: STRING_CONVERTER$
|
|
8333
|
+
placeholder: { converter: STRING_CONVERTER$52 },
|
|
8334
|
+
loop: { converter: BOOLEAN_CONVERTER$39 },
|
|
8335
|
+
placement: { converter: STRING_CONVERTER$52 },
|
|
8336
|
+
offset: { converter: NUMBER_CONVERTER$32 },
|
|
8337
|
+
variant: { converter: STRING_CONVERTER$52 },
|
|
8338
|
+
tone: { converter: STRING_CONVERTER$52 },
|
|
8339
|
+
size: { converter: STRING_CONVERTER$52 }
|
|
8340
8340
|
};
|
|
8341
8341
|
idGen = createCounterIdGenerator();
|
|
8342
8342
|
mentionScope = createScope(null, this.idGen);
|
|
@@ -8485,9 +8485,9 @@ var XhMentionElement = class extends XhElement {
|
|
|
8485
8485
|
};
|
|
8486
8486
|
//#endregion
|
|
8487
8487
|
//#region src/elements/menu.ts
|
|
8488
|
-
const STRING_CONVERTER$
|
|
8489
|
-
const NUMBER_CONVERTER$
|
|
8490
|
-
const BOOLEAN_CONVERTER$
|
|
8488
|
+
const STRING_CONVERTER$51 = { fromAttribute: (v) => v ?? void 0 };
|
|
8489
|
+
const NUMBER_CONVERTER$31 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
8490
|
+
const BOOLEAN_CONVERTER$38 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
8491
8491
|
/**
|
|
8492
8492
|
* `<xh-menu>` —— Light-DOM 行为宿主:用户写 trigger/positioner/content/item/group/... 角色节点,
|
|
8493
8493
|
* 元素跑 menu 机器并把 connect 产出打上去。浮层定位引擎在本元素里建好、经 refs 注入机器,
|
|
@@ -8521,31 +8521,31 @@ var XhMenuElement = class extends XhElement {
|
|
|
8521
8521
|
};
|
|
8522
8522
|
static properties = {
|
|
8523
8523
|
collection: { attribute: false },
|
|
8524
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
8524
|
+
open: { converter: BOOLEAN_CONVERTER$38 },
|
|
8525
8525
|
defaultOpen: {
|
|
8526
8526
|
type: Boolean,
|
|
8527
8527
|
attribute: "default-open"
|
|
8528
8528
|
},
|
|
8529
|
-
placement: { converter: STRING_CONVERTER$
|
|
8530
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
8531
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
8529
|
+
placement: { converter: STRING_CONVERTER$51 },
|
|
8530
|
+
offset: { converter: NUMBER_CONVERTER$31 },
|
|
8531
|
+
loop: { converter: BOOLEAN_CONVERTER$38 },
|
|
8532
8532
|
direction: {
|
|
8533
|
-
converter: STRING_CONVERTER$
|
|
8533
|
+
converter: STRING_CONVERTER$51,
|
|
8534
8534
|
attribute: "dir"
|
|
8535
8535
|
},
|
|
8536
|
-
tone: { converter: STRING_CONVERTER$
|
|
8537
|
-
size: { converter: STRING_CONVERTER$
|
|
8538
|
-
submenu: { converter: BOOLEAN_CONVERTER$
|
|
8536
|
+
tone: { converter: STRING_CONVERTER$51 },
|
|
8537
|
+
size: { converter: STRING_CONVERTER$51 },
|
|
8538
|
+
submenu: { converter: BOOLEAN_CONVERTER$38 },
|
|
8539
8539
|
openOnHover: {
|
|
8540
|
-
converter: BOOLEAN_CONVERTER$
|
|
8540
|
+
converter: BOOLEAN_CONVERTER$38,
|
|
8541
8541
|
attribute: "open-on-hover"
|
|
8542
8542
|
},
|
|
8543
8543
|
hoverOpenDelay: {
|
|
8544
|
-
converter: NUMBER_CONVERTER$
|
|
8544
|
+
converter: NUMBER_CONVERTER$31,
|
|
8545
8545
|
attribute: "hover-open-delay"
|
|
8546
8546
|
},
|
|
8547
8547
|
hoverCloseDelay: {
|
|
8548
|
-
converter: NUMBER_CONVERTER$
|
|
8548
|
+
converter: NUMBER_CONVERTER$31,
|
|
8549
8549
|
attribute: "hover-close-delay"
|
|
8550
8550
|
}
|
|
8551
8551
|
};
|
|
@@ -8699,9 +8699,9 @@ var XhMenuElement = class extends XhElement {
|
|
|
8699
8699
|
};
|
|
8700
8700
|
//#endregion
|
|
8701
8701
|
//#region src/elements/menubar.ts
|
|
8702
|
-
const STRING_CONVERTER$
|
|
8703
|
-
const NUMBER_CONVERTER$
|
|
8704
|
-
const BOOLEAN_CONVERTER$
|
|
8702
|
+
const STRING_CONVERTER$50 = { fromAttribute: (v) => v ?? void 0 };
|
|
8703
|
+
const NUMBER_CONVERTER$30 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
8704
|
+
const BOOLEAN_CONVERTER$37 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
8705
8705
|
/** 读角色节点的禁用声明,并摘掉作者写的原生 disabled,禁用态归一到 aria-disabled。 */
|
|
8706
8706
|
function authorDisabled$1(el) {
|
|
8707
8707
|
const disabled = isItemDisabled(el);
|
|
@@ -8755,23 +8755,23 @@ var XhMenubarElement = class extends XhElement {
|
|
|
8755
8755
|
};
|
|
8756
8756
|
static properties = {
|
|
8757
8757
|
collection: { attribute: false },
|
|
8758
|
-
value: { converter: STRING_CONVERTER$
|
|
8758
|
+
value: { converter: STRING_CONVERTER$50 },
|
|
8759
8759
|
defaultValue: {
|
|
8760
|
-
converter: STRING_CONVERTER$
|
|
8760
|
+
converter: STRING_CONVERTER$50,
|
|
8761
8761
|
attribute: "default-value"
|
|
8762
8762
|
},
|
|
8763
|
-
orientation: { converter: STRING_CONVERTER$
|
|
8764
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
8763
|
+
orientation: { converter: STRING_CONVERTER$50 },
|
|
8764
|
+
loop: { converter: BOOLEAN_CONVERTER$37 },
|
|
8765
8765
|
direction: {
|
|
8766
|
-
converter: STRING_CONVERTER$
|
|
8766
|
+
converter: STRING_CONVERTER$50,
|
|
8767
8767
|
attribute: "dir"
|
|
8768
8768
|
},
|
|
8769
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
8770
|
-
typeahead: { converter: BOOLEAN_CONVERTER$
|
|
8771
|
-
placement: { converter: STRING_CONVERTER$
|
|
8772
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
8773
|
-
tone: { converter: STRING_CONVERTER$
|
|
8774
|
-
size: { converter: STRING_CONVERTER$
|
|
8769
|
+
disabled: { converter: BOOLEAN_CONVERTER$37 },
|
|
8770
|
+
typeahead: { converter: BOOLEAN_CONVERTER$37 },
|
|
8771
|
+
placement: { converter: STRING_CONVERTER$50 },
|
|
8772
|
+
offset: { converter: NUMBER_CONVERTER$30 },
|
|
8773
|
+
tone: { converter: STRING_CONVERTER$50 },
|
|
8774
|
+
size: { converter: STRING_CONVERTER$50 }
|
|
8775
8775
|
};
|
|
8776
8776
|
idGen = createCounterIdGenerator();
|
|
8777
8777
|
barScope = createScope(null, this.idGen);
|
|
@@ -8922,9 +8922,9 @@ var XhMenubarElement = class extends XhElement {
|
|
|
8922
8922
|
};
|
|
8923
8923
|
//#endregion
|
|
8924
8924
|
//#region src/elements/navigation-menu.ts
|
|
8925
|
-
const STRING_CONVERTER$
|
|
8926
|
-
const NUMBER_CONVERTER$
|
|
8927
|
-
const BOOLEAN_CONVERTER$
|
|
8925
|
+
const STRING_CONVERTER$49 = { fromAttribute: (v) => v ?? void 0 };
|
|
8926
|
+
const NUMBER_CONVERTER$29 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
8927
|
+
const BOOLEAN_CONVERTER$36 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
8928
8928
|
/**
|
|
8929
8929
|
* 作者写在角色节点上的布尔声明,三态读法:属性缺席 = false,="false" = false,其余 = true。
|
|
8930
8930
|
*/
|
|
@@ -8988,27 +8988,27 @@ var XhNavigationMenuElement = class extends XhElement {
|
|
|
8988
8988
|
};
|
|
8989
8989
|
static properties = {
|
|
8990
8990
|
collection: { attribute: false },
|
|
8991
|
-
value: { converter: STRING_CONVERTER$
|
|
8991
|
+
value: { converter: STRING_CONVERTER$49 },
|
|
8992
8992
|
defaultValue: {
|
|
8993
|
-
converter: STRING_CONVERTER$
|
|
8993
|
+
converter: STRING_CONVERTER$49,
|
|
8994
8994
|
attribute: "default-value"
|
|
8995
8995
|
},
|
|
8996
|
-
orientation: { converter: STRING_CONVERTER$
|
|
8996
|
+
orientation: { converter: STRING_CONVERTER$49 },
|
|
8997
8997
|
delayDuration: {
|
|
8998
|
-
converter: NUMBER_CONVERTER$
|
|
8998
|
+
converter: NUMBER_CONVERTER$29,
|
|
8999
8999
|
attribute: "delay-duration"
|
|
9000
9000
|
},
|
|
9001
9001
|
skipDelayDuration: {
|
|
9002
|
-
converter: NUMBER_CONVERTER$
|
|
9002
|
+
converter: NUMBER_CONVERTER$29,
|
|
9003
9003
|
attribute: "skip-delay-duration"
|
|
9004
9004
|
},
|
|
9005
9005
|
direction: {
|
|
9006
|
-
converter: STRING_CONVERTER$
|
|
9006
|
+
converter: STRING_CONVERTER$49,
|
|
9007
9007
|
attribute: "dir"
|
|
9008
9008
|
},
|
|
9009
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
9010
|
-
tone: { converter: STRING_CONVERTER$
|
|
9011
|
-
size: { converter: STRING_CONVERTER$
|
|
9009
|
+
loop: { converter: BOOLEAN_CONVERTER$36 },
|
|
9010
|
+
tone: { converter: STRING_CONVERTER$49 },
|
|
9011
|
+
size: { converter: STRING_CONVERTER$49 },
|
|
9012
9012
|
translations: { attribute: false }
|
|
9013
9013
|
};
|
|
9014
9014
|
idGen = createCounterIdGenerator();
|
|
@@ -9122,9 +9122,9 @@ var XhNavigationMenuElement = class extends XhElement {
|
|
|
9122
9122
|
};
|
|
9123
9123
|
//#endregion
|
|
9124
9124
|
//#region src/elements/notification.ts
|
|
9125
|
-
const STRING_CONVERTER$
|
|
9126
|
-
const NUMBER_CONVERTER$
|
|
9127
|
-
const BOOLEAN_CONVERTER$
|
|
9125
|
+
const STRING_CONVERTER$48 = { fromAttribute: (v) => v ?? void 0 };
|
|
9126
|
+
const NUMBER_CONVERTER$28 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
9127
|
+
const BOOLEAN_CONVERTER$35 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
9128
9128
|
/**
|
|
9129
9129
|
* 这一摞对应哪个位置。属性缺席就交 undefined,由 connect 回落到队列的 placement。
|
|
9130
9130
|
* 写坏了照原样交出去:它与九个位没有一个对得上,这摞就一直是空的——
|
|
@@ -9162,16 +9162,16 @@ var XhNotificationElement = class extends XhElement {
|
|
|
9162
9162
|
static properties = {
|
|
9163
9163
|
items: { attribute: false },
|
|
9164
9164
|
defaultItems: { attribute: false },
|
|
9165
|
-
placement: { converter: STRING_CONVERTER$
|
|
9166
|
-
max: { converter: NUMBER_CONVERTER$
|
|
9167
|
-
gap: { converter: NUMBER_CONVERTER$
|
|
9168
|
-
duration: { converter: NUMBER_CONVERTER$
|
|
9165
|
+
placement: { converter: STRING_CONVERTER$48 },
|
|
9166
|
+
max: { converter: NUMBER_CONVERTER$28 },
|
|
9167
|
+
gap: { converter: NUMBER_CONVERTER$28 },
|
|
9168
|
+
duration: { converter: NUMBER_CONVERTER$28 },
|
|
9169
9169
|
removeDelay: {
|
|
9170
|
-
converter: NUMBER_CONVERTER$
|
|
9170
|
+
converter: NUMBER_CONVERTER$28,
|
|
9171
9171
|
attribute: "remove-delay"
|
|
9172
9172
|
},
|
|
9173
9173
|
pauseOnPageIdle: {
|
|
9174
|
-
converter: BOOLEAN_CONVERTER$
|
|
9174
|
+
converter: BOOLEAN_CONVERTER$35,
|
|
9175
9175
|
attribute: "pause-on-page-idle"
|
|
9176
9176
|
},
|
|
9177
9177
|
translations: { attribute: false }
|
|
@@ -9305,23 +9305,23 @@ var XhNotificationItemElement = class extends XhElement {
|
|
|
9305
9305
|
static partContract = ITEM_CONTRACT;
|
|
9306
9306
|
static properties = {
|
|
9307
9307
|
itemId: {
|
|
9308
|
-
converter: STRING_CONVERTER$
|
|
9308
|
+
converter: STRING_CONVERTER$48,
|
|
9309
9309
|
attribute: "id"
|
|
9310
9310
|
},
|
|
9311
9311
|
titleText: {
|
|
9312
|
-
converter: STRING_CONVERTER$
|
|
9312
|
+
converter: STRING_CONVERTER$48,
|
|
9313
9313
|
attribute: "title"
|
|
9314
9314
|
},
|
|
9315
|
-
description: { converter: STRING_CONVERTER$
|
|
9316
|
-
type: { converter: STRING_CONVERTER$
|
|
9317
|
-
duration: { converter: NUMBER_CONVERTER$
|
|
9315
|
+
description: { converter: STRING_CONVERTER$48 },
|
|
9316
|
+
type: { converter: STRING_CONVERTER$48 },
|
|
9317
|
+
duration: { converter: NUMBER_CONVERTER$28 },
|
|
9318
9318
|
removeDelay: {
|
|
9319
|
-
converter: NUMBER_CONVERTER$
|
|
9319
|
+
converter: NUMBER_CONVERTER$28,
|
|
9320
9320
|
attribute: "remove-delay"
|
|
9321
9321
|
},
|
|
9322
|
-
closable: { converter: BOOLEAN_CONVERTER$
|
|
9322
|
+
closable: { converter: BOOLEAN_CONVERTER$35 },
|
|
9323
9323
|
pauseOnPageIdle: {
|
|
9324
|
-
converter: BOOLEAN_CONVERTER$
|
|
9324
|
+
converter: BOOLEAN_CONVERTER$35,
|
|
9325
9325
|
attribute: "pause-on-page-idle"
|
|
9326
9326
|
},
|
|
9327
9327
|
translations: { attribute: false }
|
|
@@ -9395,9 +9395,9 @@ var XhNotificationItemElement = class extends XhElement {
|
|
|
9395
9395
|
};
|
|
9396
9396
|
//#endregion
|
|
9397
9397
|
//#region src/elements/number-animation.ts
|
|
9398
|
-
const STRING_CONVERTER$
|
|
9399
|
-
const NUMBER_CONVERTER$
|
|
9400
|
-
const BOOLEAN_CONVERTER$
|
|
9398
|
+
const STRING_CONVERTER$47 = { fromAttribute: (v) => v ?? void 0 };
|
|
9399
|
+
const NUMBER_CONVERTER$27 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
9400
|
+
const BOOLEAN_CONVERTER$34 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
9401
9401
|
/**
|
|
9402
9402
|
* `<xh-number-animation>` —— Light-DOM 行为宿主:作者写一个 root 角色节点,
|
|
9403
9403
|
* 元素跑 number-animation 机器,逐帧把补间算出的数字格式化后写进那个节点。
|
|
@@ -9429,16 +9429,16 @@ var XhNumberAnimationElement = class extends XhElement {
|
|
|
9429
9429
|
meta: numberAnimationMeta
|
|
9430
9430
|
};
|
|
9431
9431
|
static properties = {
|
|
9432
|
-
from: { converter: NUMBER_CONVERTER$
|
|
9433
|
-
to: { converter: NUMBER_CONVERTER$
|
|
9434
|
-
duration: { converter: NUMBER_CONVERTER$
|
|
9435
|
-
easing: { converter: STRING_CONVERTER$
|
|
9436
|
-
precision: { converter: NUMBER_CONVERTER$
|
|
9437
|
-
separator: { converter: STRING_CONVERTER$
|
|
9438
|
-
active: { converter: BOOLEAN_CONVERTER$
|
|
9439
|
-
size: { converter: STRING_CONVERTER$
|
|
9440
|
-
tone: { converter: STRING_CONVERTER$
|
|
9441
|
-
live: { converter: STRING_CONVERTER$
|
|
9432
|
+
from: { converter: NUMBER_CONVERTER$27 },
|
|
9433
|
+
to: { converter: NUMBER_CONVERTER$27 },
|
|
9434
|
+
duration: { converter: NUMBER_CONVERTER$27 },
|
|
9435
|
+
easing: { converter: STRING_CONVERTER$47 },
|
|
9436
|
+
precision: { converter: NUMBER_CONVERTER$27 },
|
|
9437
|
+
separator: { converter: STRING_CONVERTER$47 },
|
|
9438
|
+
active: { converter: BOOLEAN_CONVERTER$34 },
|
|
9439
|
+
size: { converter: STRING_CONVERTER$47 },
|
|
9440
|
+
tone: { converter: STRING_CONVERTER$47 },
|
|
9441
|
+
live: { converter: STRING_CONVERTER$47 }
|
|
9442
9442
|
};
|
|
9443
9443
|
notify = (details) => {
|
|
9444
9444
|
this.dispatchEvent(new CustomEvent("finish", {
|
|
@@ -9473,8 +9473,8 @@ var XhNumberAnimationElement = class extends XhElement {
|
|
|
9473
9473
|
};
|
|
9474
9474
|
//#endregion
|
|
9475
9475
|
//#region src/elements/number-field.ts
|
|
9476
|
-
const STRING_CONVERTER$
|
|
9477
|
-
const NUMBER_CONVERTER$
|
|
9476
|
+
const STRING_CONVERTER$46 = { fromAttribute: (v) => v ?? void 0 };
|
|
9477
|
+
const NUMBER_CONVERTER$26 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
9478
9478
|
/**
|
|
9479
9479
|
* `<xh-number-field>` —— Light-DOM 行为宿主:作者写 root/label/input/加减按钮四类角色节点,
|
|
9480
9480
|
* 元素跑 number-field 机器并把 connect 产出打上去。
|
|
@@ -9515,16 +9515,16 @@ var XhNumberFieldElement = class extends XhElement {
|
|
|
9515
9515
|
meta: numberFieldMeta
|
|
9516
9516
|
};
|
|
9517
9517
|
static properties = {
|
|
9518
|
-
value: { converter: STRING_CONVERTER$
|
|
9518
|
+
value: { converter: STRING_CONVERTER$46 },
|
|
9519
9519
|
defaultValue: {
|
|
9520
|
-
converter: STRING_CONVERTER$
|
|
9520
|
+
converter: STRING_CONVERTER$46,
|
|
9521
9521
|
attribute: "default-value"
|
|
9522
9522
|
},
|
|
9523
|
-
min: { converter: NUMBER_CONVERTER$
|
|
9524
|
-
max: { converter: NUMBER_CONVERTER$
|
|
9525
|
-
step: { converter: NUMBER_CONVERTER$
|
|
9523
|
+
min: { converter: NUMBER_CONVERTER$26 },
|
|
9524
|
+
max: { converter: NUMBER_CONVERTER$26 },
|
|
9525
|
+
step: { converter: NUMBER_CONVERTER$26 },
|
|
9526
9526
|
largeStep: {
|
|
9527
|
-
converter: NUMBER_CONVERTER$
|
|
9527
|
+
converter: NUMBER_CONVERTER$26,
|
|
9528
9528
|
attribute: "large-step"
|
|
9529
9529
|
},
|
|
9530
9530
|
disabled: { type: Boolean },
|
|
@@ -9534,18 +9534,18 @@ var XhNumberFieldElement = class extends XhElement {
|
|
|
9534
9534
|
},
|
|
9535
9535
|
required: { type: Boolean },
|
|
9536
9536
|
invalid: { type: Boolean },
|
|
9537
|
-
name: { converter: STRING_CONVERTER$
|
|
9537
|
+
name: { converter: STRING_CONVERTER$46 },
|
|
9538
9538
|
changeDelay: {
|
|
9539
|
-
converter: NUMBER_CONVERTER$
|
|
9539
|
+
converter: NUMBER_CONVERTER$26,
|
|
9540
9540
|
attribute: "change-delay"
|
|
9541
9541
|
},
|
|
9542
9542
|
changeInterval: {
|
|
9543
|
-
converter: NUMBER_CONVERTER$
|
|
9543
|
+
converter: NUMBER_CONVERTER$26,
|
|
9544
9544
|
attribute: "change-interval"
|
|
9545
9545
|
},
|
|
9546
|
-
variant: { converter: STRING_CONVERTER$
|
|
9547
|
-
tone: { converter: STRING_CONVERTER$
|
|
9548
|
-
size: { converter: STRING_CONVERTER$
|
|
9546
|
+
variant: { converter: STRING_CONVERTER$46 },
|
|
9547
|
+
tone: { converter: STRING_CONVERTER$46 },
|
|
9548
|
+
size: { converter: STRING_CONVERTER$46 },
|
|
9549
9549
|
parse: { attribute: false },
|
|
9550
9550
|
format: { attribute: false }
|
|
9551
9551
|
};
|
|
@@ -9596,7 +9596,7 @@ var XhNumberFieldElement = class extends XhElement {
|
|
|
9596
9596
|
};
|
|
9597
9597
|
//#endregion
|
|
9598
9598
|
//#region src/elements/page-header.ts
|
|
9599
|
-
const STRING_CONVERTER$
|
|
9599
|
+
const STRING_CONVERTER$45 = { fromAttribute: (v) => v ?? void 0 };
|
|
9600
9600
|
/**
|
|
9601
9601
|
* `<xh-page-header>` —— Light-DOM 行为宿主,无状态机,把 connectPageHeader 产出打到各角色节点。
|
|
9602
9602
|
* 除 root 外的部件全部可缺省:返回位、标题、副标题、操作、页脚按需摆。
|
|
@@ -9620,7 +9620,7 @@ var XhPageHeaderElement = class extends XhElement {
|
|
|
9620
9620
|
meta: pageHeaderMeta
|
|
9621
9621
|
};
|
|
9622
9622
|
static properties = {
|
|
9623
|
-
size: { converter: STRING_CONVERTER$
|
|
9623
|
+
size: { converter: STRING_CONVERTER$45 },
|
|
9624
9624
|
bordered: { type: Boolean }
|
|
9625
9625
|
};
|
|
9626
9626
|
wire() {
|
|
@@ -9642,8 +9642,8 @@ var XhPageHeaderElement = class extends XhElement {
|
|
|
9642
9642
|
};
|
|
9643
9643
|
//#endregion
|
|
9644
9644
|
//#region src/elements/pagination.ts
|
|
9645
|
-
const NUMBER_CONVERTER$
|
|
9646
|
-
const STRING_CONVERTER$
|
|
9645
|
+
const NUMBER_CONVERTER$25 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
9646
|
+
const STRING_CONVERTER$44 = { fromAttribute: (v) => v ?? void 0 };
|
|
9647
9647
|
/** 页码按钮自报的页数;缺失或空串一律给 NaN(见 wire 里的说明)。 */
|
|
9648
9648
|
function itemPage(el) {
|
|
9649
9649
|
const raw = el.getAttribute("value");
|
|
@@ -9688,40 +9688,40 @@ var XhPaginationElement = class extends XhElement {
|
|
|
9688
9688
|
meta: paginationMeta
|
|
9689
9689
|
};
|
|
9690
9690
|
static properties = {
|
|
9691
|
-
count: { converter: NUMBER_CONVERTER$
|
|
9691
|
+
count: { converter: NUMBER_CONVERTER$25 },
|
|
9692
9692
|
pageSize: {
|
|
9693
|
-
converter: NUMBER_CONVERTER$
|
|
9693
|
+
converter: NUMBER_CONVERTER$25,
|
|
9694
9694
|
attribute: "page-size"
|
|
9695
9695
|
},
|
|
9696
9696
|
defaultPageSize: {
|
|
9697
|
-
converter: NUMBER_CONVERTER$
|
|
9697
|
+
converter: NUMBER_CONVERTER$25,
|
|
9698
9698
|
attribute: "default-page-size"
|
|
9699
9699
|
},
|
|
9700
9700
|
pageSizeOptions: { attribute: false },
|
|
9701
|
-
page: { converter: NUMBER_CONVERTER$
|
|
9701
|
+
page: { converter: NUMBER_CONVERTER$25 },
|
|
9702
9702
|
defaultPage: {
|
|
9703
|
-
converter: NUMBER_CONVERTER$
|
|
9703
|
+
converter: NUMBER_CONVERTER$25,
|
|
9704
9704
|
attribute: "default-page"
|
|
9705
9705
|
},
|
|
9706
9706
|
siblingCount: {
|
|
9707
|
-
converter: NUMBER_CONVERTER$
|
|
9707
|
+
converter: NUMBER_CONVERTER$25,
|
|
9708
9708
|
attribute: "sibling-count"
|
|
9709
9709
|
},
|
|
9710
9710
|
direction: {
|
|
9711
|
-
converter: STRING_CONVERTER$
|
|
9711
|
+
converter: STRING_CONVERTER$44,
|
|
9712
9712
|
attribute: "dir"
|
|
9713
9713
|
},
|
|
9714
|
-
tone: { converter: STRING_CONVERTER$
|
|
9715
|
-
size: { converter: STRING_CONVERTER$
|
|
9714
|
+
tone: { converter: STRING_CONVERTER$44 },
|
|
9715
|
+
size: { converter: STRING_CONVERTER$44 },
|
|
9716
9716
|
translations: { attribute: false },
|
|
9717
|
-
placement: { converter: STRING_CONVERTER$
|
|
9718
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
9717
|
+
placement: { converter: STRING_CONVERTER$44 },
|
|
9718
|
+
offset: { converter: NUMBER_CONVERTER$25 },
|
|
9719
9719
|
openDelay: {
|
|
9720
|
-
converter: NUMBER_CONVERTER$
|
|
9720
|
+
converter: NUMBER_CONVERTER$25,
|
|
9721
9721
|
attribute: "open-delay"
|
|
9722
9722
|
},
|
|
9723
9723
|
closeDelay: {
|
|
9724
|
-
converter: NUMBER_CONVERTER$
|
|
9724
|
+
converter: NUMBER_CONVERTER$25,
|
|
9725
9725
|
attribute: "close-delay"
|
|
9726
9726
|
}
|
|
9727
9727
|
};
|
|
@@ -9858,8 +9858,8 @@ var XhPaginationElement = class extends XhElement {
|
|
|
9858
9858
|
};
|
|
9859
9859
|
//#endregion
|
|
9860
9860
|
//#region src/elements/password-input.ts
|
|
9861
|
-
const STRING_CONVERTER$
|
|
9862
|
-
const BOOLEAN_CONVERTER$
|
|
9861
|
+
const STRING_CONVERTER$43 = { fromAttribute: (v) => v ?? void 0 };
|
|
9862
|
+
const BOOLEAN_CONVERTER$33 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
9863
9863
|
/**
|
|
9864
9864
|
* `<xh-password-input>` —— Light-DOM 行为宿主:作者写 root/label/control/input/
|
|
9865
9865
|
* visibility-trigger/caps-lock-indicator 六类角色节点,元素跑 password-input 机器并把 connect 产出打上去。
|
|
@@ -9904,32 +9904,32 @@ var XhPasswordInputElement = class extends XhElement {
|
|
|
9904
9904
|
meta: passwordInputMeta
|
|
9905
9905
|
};
|
|
9906
9906
|
static properties = {
|
|
9907
|
-
value: { converter: STRING_CONVERTER$
|
|
9907
|
+
value: { converter: STRING_CONVERTER$43 },
|
|
9908
9908
|
defaultValue: {
|
|
9909
|
-
converter: STRING_CONVERTER$
|
|
9909
|
+
converter: STRING_CONVERTER$43,
|
|
9910
9910
|
attribute: "default-value"
|
|
9911
9911
|
},
|
|
9912
|
-
visible: { converter: BOOLEAN_CONVERTER$
|
|
9912
|
+
visible: { converter: BOOLEAN_CONVERTER$33 },
|
|
9913
9913
|
defaultVisible: {
|
|
9914
|
-
converter: BOOLEAN_CONVERTER$
|
|
9914
|
+
converter: BOOLEAN_CONVERTER$33,
|
|
9915
9915
|
attribute: "default-visible"
|
|
9916
9916
|
},
|
|
9917
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
9917
|
+
disabled: { converter: BOOLEAN_CONVERTER$33 },
|
|
9918
9918
|
readOnly: {
|
|
9919
|
-
converter: BOOLEAN_CONVERTER$
|
|
9919
|
+
converter: BOOLEAN_CONVERTER$33,
|
|
9920
9920
|
attribute: "read-only"
|
|
9921
9921
|
},
|
|
9922
|
-
required: { converter: BOOLEAN_CONVERTER$
|
|
9923
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
9924
|
-
name: { converter: STRING_CONVERTER$
|
|
9925
|
-
placeholder: { converter: STRING_CONVERTER$
|
|
9922
|
+
required: { converter: BOOLEAN_CONVERTER$33 },
|
|
9923
|
+
invalid: { converter: BOOLEAN_CONVERTER$33 },
|
|
9924
|
+
name: { converter: STRING_CONVERTER$43 },
|
|
9925
|
+
placeholder: { converter: STRING_CONVERTER$43 },
|
|
9926
9926
|
autoComplete: {
|
|
9927
|
-
converter: STRING_CONVERTER$
|
|
9927
|
+
converter: STRING_CONVERTER$43,
|
|
9928
9928
|
attribute: "auto-complete"
|
|
9929
9929
|
},
|
|
9930
|
-
variant: { converter: STRING_CONVERTER$
|
|
9931
|
-
tone: { converter: STRING_CONVERTER$
|
|
9932
|
-
size: { converter: STRING_CONVERTER$
|
|
9930
|
+
variant: { converter: STRING_CONVERTER$43 },
|
|
9931
|
+
tone: { converter: STRING_CONVERTER$43 },
|
|
9932
|
+
size: { converter: STRING_CONVERTER$43 },
|
|
9933
9933
|
translations: { attribute: false }
|
|
9934
9934
|
};
|
|
9935
9935
|
notifyValue = (details) => {
|
|
@@ -9986,8 +9986,8 @@ var XhPasswordInputElement = class extends XhElement {
|
|
|
9986
9986
|
};
|
|
9987
9987
|
//#endregion
|
|
9988
9988
|
//#region src/elements/pin-input.ts
|
|
9989
|
-
const STRING_CONVERTER$
|
|
9990
|
-
const NUMBER_CONVERTER$
|
|
9989
|
+
const STRING_CONVERTER$42 = { fromAttribute: (v) => v ?? void 0 };
|
|
9990
|
+
const NUMBER_CONVERTER$24 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
9991
9991
|
const ARRAY_CONVERTER$1 = { fromAttribute: (v) => v == null ? void 0 : [...v] };
|
|
9992
9992
|
/** 作者写在格子上的下标。缺席或写坏了就退回文档序——手写 HTML 时把格子按顺序排下来本身就是声明。 */
|
|
9993
9993
|
function declaredIndex(el, position) {
|
|
@@ -10038,22 +10038,22 @@ var XhPinInputElement = class extends XhElement {
|
|
|
10038
10038
|
converter: ARRAY_CONVERTER$1,
|
|
10039
10039
|
attribute: "default-value"
|
|
10040
10040
|
},
|
|
10041
|
-
length: { converter: NUMBER_CONVERTER$
|
|
10042
|
-
type: { converter: STRING_CONVERTER$
|
|
10043
|
-
pattern: { converter: STRING_CONVERTER$
|
|
10041
|
+
length: { converter: NUMBER_CONVERTER$24 },
|
|
10042
|
+
type: { converter: STRING_CONVERTER$42 },
|
|
10043
|
+
pattern: { converter: STRING_CONVERTER$42 },
|
|
10044
10044
|
mask: { type: Boolean },
|
|
10045
10045
|
otp: { type: Boolean },
|
|
10046
|
-
placeholder: { converter: STRING_CONVERTER$
|
|
10046
|
+
placeholder: { converter: STRING_CONVERTER$42 },
|
|
10047
10047
|
disabled: { type: Boolean },
|
|
10048
10048
|
invalid: { type: Boolean },
|
|
10049
10049
|
blurOnComplete: {
|
|
10050
10050
|
type: Boolean,
|
|
10051
10051
|
attribute: "blur-on-complete"
|
|
10052
10052
|
},
|
|
10053
|
-
name: { converter: STRING_CONVERTER$
|
|
10054
|
-
variant: { converter: STRING_CONVERTER$
|
|
10055
|
-
tone: { converter: STRING_CONVERTER$
|
|
10056
|
-
size: { converter: STRING_CONVERTER$
|
|
10053
|
+
name: { converter: STRING_CONVERTER$42 },
|
|
10054
|
+
variant: { converter: STRING_CONVERTER$42 },
|
|
10055
|
+
tone: { converter: STRING_CONVERTER$42 },
|
|
10056
|
+
size: { converter: STRING_CONVERTER$42 },
|
|
10057
10057
|
translations: { attribute: false }
|
|
10058
10058
|
};
|
|
10059
10059
|
notifyChange = (details) => {
|
|
@@ -10110,9 +10110,9 @@ var XhPinInputElement = class extends XhElement {
|
|
|
10110
10110
|
};
|
|
10111
10111
|
//#endregion
|
|
10112
10112
|
//#region src/elements/popconfirm.ts
|
|
10113
|
-
const STRING_CONVERTER$
|
|
10114
|
-
const NUMBER_CONVERTER$
|
|
10115
|
-
const BOOLEAN_CONVERTER$
|
|
10113
|
+
const STRING_CONVERTER$41 = { fromAttribute: (v) => v ?? void 0 };
|
|
10114
|
+
const NUMBER_CONVERTER$23 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
10115
|
+
const BOOLEAN_CONVERTER$32 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
10116
10116
|
/**
|
|
10117
10117
|
* `<xh-popconfirm>` —— Light-DOM 行为宿主:用户写 root/trigger/positioner/content/... 角色节点,
|
|
10118
10118
|
* 元素跑 popover 机器(开合、定位、消解层、焦点域都在那里)并把 connectPopconfirm 产出打上去。
|
|
@@ -10149,22 +10149,22 @@ var XhPopconfirmElement = class extends XhElement {
|
|
|
10149
10149
|
meta: popconfirmMeta
|
|
10150
10150
|
};
|
|
10151
10151
|
static properties = {
|
|
10152
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
10152
|
+
open: { converter: BOOLEAN_CONVERTER$32 },
|
|
10153
10153
|
defaultOpen: {
|
|
10154
10154
|
type: Boolean,
|
|
10155
10155
|
attribute: "default-open"
|
|
10156
10156
|
},
|
|
10157
|
-
placement: { converter: STRING_CONVERTER$
|
|
10158
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
10157
|
+
placement: { converter: STRING_CONVERTER$41 },
|
|
10158
|
+
offset: { converter: NUMBER_CONVERTER$23 },
|
|
10159
10159
|
closeOnEscape: {
|
|
10160
|
-
converter: BOOLEAN_CONVERTER$
|
|
10160
|
+
converter: BOOLEAN_CONVERTER$32,
|
|
10161
10161
|
attribute: "close-on-escape"
|
|
10162
10162
|
},
|
|
10163
10163
|
closeOnInteractOutside: {
|
|
10164
|
-
converter: BOOLEAN_CONVERTER$
|
|
10164
|
+
converter: BOOLEAN_CONVERTER$32,
|
|
10165
10165
|
attribute: "close-on-interact-outside"
|
|
10166
10166
|
},
|
|
10167
|
-
size: { converter: STRING_CONVERTER$
|
|
10167
|
+
size: { converter: STRING_CONVERTER$41 }
|
|
10168
10168
|
};
|
|
10169
10169
|
idGen = createCounterIdGenerator();
|
|
10170
10170
|
popconfirmScope = createScope(null, this.idGen);
|
|
@@ -10290,9 +10290,9 @@ var XhPopconfirmElement = class extends XhElement {
|
|
|
10290
10290
|
};
|
|
10291
10291
|
//#endregion
|
|
10292
10292
|
//#region src/elements/popover.ts
|
|
10293
|
-
const STRING_CONVERTER$
|
|
10294
|
-
const NUMBER_CONVERTER$
|
|
10295
|
-
const BOOLEAN_CONVERTER$
|
|
10293
|
+
const STRING_CONVERTER$40 = { fromAttribute: (v) => v ?? void 0 };
|
|
10294
|
+
const NUMBER_CONVERTER$22 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
10295
|
+
const BOOLEAN_CONVERTER$31 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
10296
10296
|
/**
|
|
10297
10297
|
* `<xh-popover>` —— Light-DOM 行为宿主:用户写 trigger/positioner/content/... 角色节点,
|
|
10298
10298
|
* 元素跑 popover 机器并把 connect 产出打上去。浮层定位引擎在本元素里建好、经 refs 注入机器,
|
|
@@ -10322,23 +10322,23 @@ var XhPopoverElement = class extends XhElement {
|
|
|
10322
10322
|
meta: popoverMeta
|
|
10323
10323
|
};
|
|
10324
10324
|
static properties = {
|
|
10325
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
10325
|
+
open: { converter: BOOLEAN_CONVERTER$31 },
|
|
10326
10326
|
defaultOpen: {
|
|
10327
10327
|
type: Boolean,
|
|
10328
10328
|
attribute: "default-open"
|
|
10329
10329
|
},
|
|
10330
|
-
placement: { converter: STRING_CONVERTER$
|
|
10331
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
10332
|
-
modal: { converter: BOOLEAN_CONVERTER$
|
|
10330
|
+
placement: { converter: STRING_CONVERTER$40 },
|
|
10331
|
+
offset: { converter: NUMBER_CONVERTER$22 },
|
|
10332
|
+
modal: { converter: BOOLEAN_CONVERTER$31 },
|
|
10333
10333
|
closeOnEscape: {
|
|
10334
|
-
converter: BOOLEAN_CONVERTER$
|
|
10334
|
+
converter: BOOLEAN_CONVERTER$31,
|
|
10335
10335
|
attribute: "close-on-escape"
|
|
10336
10336
|
},
|
|
10337
10337
|
closeOnInteractOutside: {
|
|
10338
|
-
converter: BOOLEAN_CONVERTER$
|
|
10338
|
+
converter: BOOLEAN_CONVERTER$31,
|
|
10339
10339
|
attribute: "close-on-interact-outside"
|
|
10340
10340
|
},
|
|
10341
|
-
size: { converter: STRING_CONVERTER$
|
|
10341
|
+
size: { converter: STRING_CONVERTER$40 },
|
|
10342
10342
|
translations: { attribute: false }
|
|
10343
10343
|
};
|
|
10344
10344
|
idGen = createCounterIdGenerator();
|
|
@@ -10449,9 +10449,9 @@ var XhPopoverElement = class extends XhElement {
|
|
|
10449
10449
|
};
|
|
10450
10450
|
//#endregion
|
|
10451
10451
|
//#region src/elements/popselect.ts
|
|
10452
|
-
const STRING_CONVERTER$
|
|
10453
|
-
const NUMBER_CONVERTER$
|
|
10454
|
-
const BOOLEAN_CONVERTER$
|
|
10452
|
+
const STRING_CONVERTER$39 = { fromAttribute: (v) => v ?? void 0 };
|
|
10453
|
+
const NUMBER_CONVERTER$21 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
10454
|
+
const BOOLEAN_CONVERTER$30 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
10455
10455
|
/**
|
|
10456
10456
|
* `<xh-popselect>` —— Light-DOM 行为宿主:作者写 root/trigger/positioner/content/item 角色节点,
|
|
10457
10457
|
* 元素同时跑两台机器——浮层开合、定位、消解层与焦点域归 popover,选中集合与焦点锚点归 listbox——
|
|
@@ -10500,37 +10500,37 @@ var XhPopselectElement = class extends XhElement {
|
|
|
10500
10500
|
};
|
|
10501
10501
|
static properties = {
|
|
10502
10502
|
collection: { attribute: false },
|
|
10503
|
-
value: { converter: STRING_CONVERTER$
|
|
10503
|
+
value: { converter: STRING_CONVERTER$39 },
|
|
10504
10504
|
defaultValue: {
|
|
10505
|
-
converter: STRING_CONVERTER$
|
|
10505
|
+
converter: STRING_CONVERTER$39,
|
|
10506
10506
|
attribute: "default-value"
|
|
10507
10507
|
},
|
|
10508
10508
|
multiple: { type: Boolean },
|
|
10509
10509
|
disabled: { type: Boolean },
|
|
10510
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
10511
|
-
typeahead: { converter: BOOLEAN_CONVERTER$
|
|
10510
|
+
loop: { converter: BOOLEAN_CONVERTER$30 },
|
|
10511
|
+
typeahead: { converter: BOOLEAN_CONVERTER$30 },
|
|
10512
10512
|
direction: {
|
|
10513
|
-
converter: STRING_CONVERTER$
|
|
10513
|
+
converter: STRING_CONVERTER$39,
|
|
10514
10514
|
attribute: "dir"
|
|
10515
10515
|
},
|
|
10516
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
10516
|
+
open: { converter: BOOLEAN_CONVERTER$30 },
|
|
10517
10517
|
defaultOpen: {
|
|
10518
10518
|
type: Boolean,
|
|
10519
10519
|
attribute: "default-open"
|
|
10520
10520
|
},
|
|
10521
|
-
placement: { converter: STRING_CONVERTER$
|
|
10522
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
10521
|
+
placement: { converter: STRING_CONVERTER$39 },
|
|
10522
|
+
offset: { converter: NUMBER_CONVERTER$21 },
|
|
10523
10523
|
closeOnEscape: {
|
|
10524
|
-
converter: BOOLEAN_CONVERTER$
|
|
10524
|
+
converter: BOOLEAN_CONVERTER$30,
|
|
10525
10525
|
attribute: "close-on-escape"
|
|
10526
10526
|
},
|
|
10527
10527
|
closeOnInteractOutside: {
|
|
10528
|
-
converter: BOOLEAN_CONVERTER$
|
|
10528
|
+
converter: BOOLEAN_CONVERTER$30,
|
|
10529
10529
|
attribute: "close-on-interact-outside"
|
|
10530
10530
|
},
|
|
10531
|
-
variant: { converter: STRING_CONVERTER$
|
|
10532
|
-
tone: { converter: STRING_CONVERTER$
|
|
10533
|
-
size: { converter: STRING_CONVERTER$
|
|
10531
|
+
variant: { converter: STRING_CONVERTER$39 },
|
|
10532
|
+
tone: { converter: STRING_CONVERTER$39 },
|
|
10533
|
+
size: { converter: STRING_CONVERTER$39 },
|
|
10534
10534
|
translations: { attribute: false }
|
|
10535
10535
|
};
|
|
10536
10536
|
idGen = createCounterIdGenerator();
|
|
@@ -10779,7 +10779,7 @@ var XhProgressElement = class extends XhElement {
|
|
|
10779
10779
|
};
|
|
10780
10780
|
//#endregion
|
|
10781
10781
|
//#region src/elements/qr-code.ts
|
|
10782
|
-
const STRING_CONVERTER$
|
|
10782
|
+
const STRING_CONVERTER$38 = { fromAttribute: (v) => v ?? void 0 };
|
|
10783
10783
|
const SVG_NS = "http://www.w3.org/2000/svg";
|
|
10784
10784
|
/** 本元素生成的几何节点的标记:作者写的节点不带它,重画时只清掉自己生成的那几个。 */
|
|
10785
10785
|
const GEOM_ATTR = "data-xh-geom";
|
|
@@ -10824,20 +10824,20 @@ var XhQrCodeElement = class extends XhElement {
|
|
|
10824
10824
|
}
|
|
10825
10825
|
};
|
|
10826
10826
|
static properties = {
|
|
10827
|
-
value: { converter: STRING_CONVERTER$
|
|
10828
|
-
level: { converter: STRING_CONVERTER$
|
|
10829
|
-
label: { converter: STRING_CONVERTER$
|
|
10827
|
+
value: { converter: STRING_CONVERTER$38 },
|
|
10828
|
+
level: { converter: STRING_CONVERTER$38 },
|
|
10829
|
+
label: { converter: STRING_CONVERTER$38 },
|
|
10830
10830
|
pixelSize: {
|
|
10831
10831
|
type: Number,
|
|
10832
10832
|
attribute: "pixel-size"
|
|
10833
10833
|
},
|
|
10834
10834
|
margin: { type: Number },
|
|
10835
10835
|
moduleShape: {
|
|
10836
|
-
converter: STRING_CONVERTER$
|
|
10836
|
+
converter: STRING_CONVERTER$38,
|
|
10837
10837
|
attribute: "module-shape"
|
|
10838
10838
|
},
|
|
10839
10839
|
eyeShape: {
|
|
10840
|
-
converter: STRING_CONVERTER$
|
|
10840
|
+
converter: STRING_CONVERTER$38,
|
|
10841
10841
|
attribute: "eye-shape"
|
|
10842
10842
|
}
|
|
10843
10843
|
};
|
|
@@ -11050,9 +11050,9 @@ var XhRadioGroupElement = class extends XhElement {
|
|
|
11050
11050
|
};
|
|
11051
11051
|
//#endregion
|
|
11052
11052
|
//#region src/elements/rating.ts
|
|
11053
|
-
const STRING_CONVERTER$
|
|
11054
|
-
const NUMBER_CONVERTER$
|
|
11055
|
-
const BOOLEAN_CONVERTER$
|
|
11053
|
+
const STRING_CONVERTER$37 = { fromAttribute: (v) => v ?? void 0 };
|
|
11054
|
+
const NUMBER_CONVERTER$20 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
11055
|
+
const BOOLEAN_CONVERTER$29 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
11056
11056
|
/**
|
|
11057
11057
|
* `<xh-rating>` —— Light-DOM 行为宿主:作者写 root/label/control 与若干 item 角色节点
|
|
11058
11058
|
* (可选再写一个 hidden-input 参与表单提交),元素跑 rating 机器并把 connect 产出打上去。
|
|
@@ -11088,33 +11088,33 @@ var XhRatingElement = class extends XhElement {
|
|
|
11088
11088
|
meta: ratingMeta
|
|
11089
11089
|
};
|
|
11090
11090
|
static properties = {
|
|
11091
|
-
value: { converter: NUMBER_CONVERTER$
|
|
11091
|
+
value: { converter: NUMBER_CONVERTER$20 },
|
|
11092
11092
|
defaultValue: {
|
|
11093
|
-
converter: NUMBER_CONVERTER$
|
|
11093
|
+
converter: NUMBER_CONVERTER$20,
|
|
11094
11094
|
attribute: "default-value"
|
|
11095
11095
|
},
|
|
11096
|
-
count: { converter: NUMBER_CONVERTER$
|
|
11096
|
+
count: { converter: NUMBER_CONVERTER$20 },
|
|
11097
11097
|
allowHalf: {
|
|
11098
|
-
converter: BOOLEAN_CONVERTER$
|
|
11098
|
+
converter: BOOLEAN_CONVERTER$29,
|
|
11099
11099
|
attribute: "allow-half"
|
|
11100
11100
|
},
|
|
11101
11101
|
allowClear: {
|
|
11102
|
-
converter: BOOLEAN_CONVERTER$
|
|
11102
|
+
converter: BOOLEAN_CONVERTER$29,
|
|
11103
11103
|
attribute: "allow-clear"
|
|
11104
11104
|
},
|
|
11105
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
11105
|
+
disabled: { converter: BOOLEAN_CONVERTER$29 },
|
|
11106
11106
|
readOnly: {
|
|
11107
|
-
converter: BOOLEAN_CONVERTER$
|
|
11107
|
+
converter: BOOLEAN_CONVERTER$29,
|
|
11108
11108
|
attribute: "read-only"
|
|
11109
11109
|
},
|
|
11110
|
-
required: { converter: BOOLEAN_CONVERTER$
|
|
11111
|
-
name: { converter: STRING_CONVERTER$
|
|
11110
|
+
required: { converter: BOOLEAN_CONVERTER$29 },
|
|
11111
|
+
name: { converter: STRING_CONVERTER$37 },
|
|
11112
11112
|
direction: {
|
|
11113
|
-
converter: STRING_CONVERTER$
|
|
11113
|
+
converter: STRING_CONVERTER$37,
|
|
11114
11114
|
attribute: "dir"
|
|
11115
11115
|
},
|
|
11116
|
-
tone: { converter: STRING_CONVERTER$
|
|
11117
|
-
size: { converter: STRING_CONVERTER$
|
|
11116
|
+
tone: { converter: STRING_CONVERTER$37 },
|
|
11117
|
+
size: { converter: STRING_CONVERTER$37 }
|
|
11118
11118
|
};
|
|
11119
11119
|
notifyValue = (details) => {
|
|
11120
11120
|
this.dispatchEvent(new CustomEvent("value-change", {
|
|
@@ -11179,8 +11179,161 @@ var XhRatingElement = class extends XhElement {
|
|
|
11179
11179
|
}
|
|
11180
11180
|
};
|
|
11181
11181
|
//#endregion
|
|
11182
|
+
//#region src/elements/resizable.ts
|
|
11183
|
+
const STRING_CONVERTER$36 = { fromAttribute: (v) => v ?? void 0 };
|
|
11184
|
+
const NUMBER_CONVERTER$19 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
11185
|
+
const BOOLEAN_CONVERTER$28 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
11186
|
+
/** 尺寸写成 `宽x高`(如 `320x200`)。解析不出两个有限数就当没写。 */
|
|
11187
|
+
const SIZE_CONVERTER = { fromAttribute: (v) => {
|
|
11188
|
+
if (v == null || v.trim() === "") return void 0;
|
|
11189
|
+
const [w, h] = v.split(/[x,\s]+/).map(Number);
|
|
11190
|
+
return Number.isFinite(w) && Number.isFinite(h) ? {
|
|
11191
|
+
width: w,
|
|
11192
|
+
height: h
|
|
11193
|
+
} : void 0;
|
|
11194
|
+
} };
|
|
11195
|
+
/** 开放的边写成逗号分隔(如 `e,s,se`)。 */
|
|
11196
|
+
const EDGES_CONVERTER = { fromAttribute: (v) => {
|
|
11197
|
+
if (v == null || v.trim() === "") return void 0;
|
|
11198
|
+
const out = v.split(",").map((s) => s.trim()).filter(Boolean);
|
|
11199
|
+
return out.length ? out : void 0;
|
|
11200
|
+
} };
|
|
11201
|
+
/**
|
|
11202
|
+
* `<xh-resizable>` —— Light-DOM 行为宿主:作者写 root 与八向 handle 角色节点,
|
|
11203
|
+
* 元素跑 resizable 机器并把 connect 产出打上去。
|
|
11204
|
+
*
|
|
11205
|
+
* 每个 handle 用 `edge` 属性写明自己是哪条边(`n` / `ne` / `e` / `se` / `s` / `sw` / `w` / `nw`),
|
|
11206
|
+
* 与 Vue 侧的 `:edge` 是同一份声明。
|
|
11207
|
+
*
|
|
11208
|
+
* 尺寸由元素每帧写进 root 的内联 `inline-size` / `block-size`,作者的样式表不要再碰这两条轴。
|
|
11209
|
+
* **推西边与北边时容器的起点会动**,那段位移写成 root 的 `left` / `top`——皮肤已给
|
|
11210
|
+
* `position: relative`,开箱即对;把 root 改成 `static` 会让这两个方向只变尺寸不移位。
|
|
11211
|
+
*
|
|
11212
|
+
* 键盘全在把手上:方向键按屏幕方向推一步(推东边时右键变宽、推西边时右键变窄,与拖动同义),
|
|
11213
|
+
* 按住 Shift 走大步,Home / End 推到这条边能到的两端。
|
|
11214
|
+
*
|
|
11215
|
+
* @customElement xh-resizable
|
|
11216
|
+
* @attr {string} size - 受控尺寸,写成 `宽x高`(如 `320x200`);缺省该属性即非受控
|
|
11217
|
+
* @attr {string} default-size - 非受控初值,同样写成 `宽x高`
|
|
11218
|
+
* @attr {number} min-width - 宽度下限
|
|
11219
|
+
* @attr {number} min-height - 高度下限
|
|
11220
|
+
* @attr {number} max-width - 宽度上限;不给即不封顶
|
|
11221
|
+
* @attr {number} max-height - 高度上限;不给即不封顶
|
|
11222
|
+
* @attr {number} aspect-ratio - 宽高比(宽 ÷ 高)。给了就锁死,四个角以宽为准
|
|
11223
|
+
* @attr {number} step - 吸附步进:宽高各自落到最近的整数倍
|
|
11224
|
+
* @attr {number} keyboard-step - 方向键一次推多远(px),默认 8
|
|
11225
|
+
* @attr {number} keyboard-large-step - 按住 Shift 时的步长(px),默认 40
|
|
11226
|
+
* @attr {string} edges - 开放哪几条边,逗号分隔(如 `e,s,se`);默认八向全开
|
|
11227
|
+
* @attr {boolean} disabled - 禁用:把手退出 Tab 序列,按下也不进调整
|
|
11228
|
+
* @attr {'ltr'|'rtl'} dir - 文字方向,只对调水平位移与左右两键的正负,默认 ltr
|
|
11229
|
+
* @fires size-change - 尺寸变化(拖动途中会连发);detail 为 `{ size }`
|
|
11230
|
+
* @fires size-change-end - 一次调整收尾发一次;detail 为 `{ size, edge }`
|
|
11231
|
+
* @csspart root - 承载 data-resizing / data-edge / data-disabled 的容器,尺寸写在它的内联样式上
|
|
11232
|
+
* @csspart handle - role=separator 的把手,指针与键盘交互全在它身上
|
|
11233
|
+
*/
|
|
11234
|
+
var XhResizableElement = class extends XhElement {
|
|
11235
|
+
static partContract = {
|
|
11236
|
+
anatomy: resizableAnatomy,
|
|
11237
|
+
meta: resizableMeta
|
|
11238
|
+
};
|
|
11239
|
+
static properties = {
|
|
11240
|
+
size: { converter: SIZE_CONVERTER },
|
|
11241
|
+
defaultSize: {
|
|
11242
|
+
converter: SIZE_CONVERTER,
|
|
11243
|
+
attribute: "default-size"
|
|
11244
|
+
},
|
|
11245
|
+
minWidth: {
|
|
11246
|
+
converter: NUMBER_CONVERTER$19,
|
|
11247
|
+
attribute: "min-width"
|
|
11248
|
+
},
|
|
11249
|
+
minHeight: {
|
|
11250
|
+
converter: NUMBER_CONVERTER$19,
|
|
11251
|
+
attribute: "min-height"
|
|
11252
|
+
},
|
|
11253
|
+
maxWidth: {
|
|
11254
|
+
converter: NUMBER_CONVERTER$19,
|
|
11255
|
+
attribute: "max-width"
|
|
11256
|
+
},
|
|
11257
|
+
maxHeight: {
|
|
11258
|
+
converter: NUMBER_CONVERTER$19,
|
|
11259
|
+
attribute: "max-height"
|
|
11260
|
+
},
|
|
11261
|
+
aspectRatio: {
|
|
11262
|
+
converter: NUMBER_CONVERTER$19,
|
|
11263
|
+
attribute: "aspect-ratio"
|
|
11264
|
+
},
|
|
11265
|
+
step: { converter: NUMBER_CONVERTER$19 },
|
|
11266
|
+
keyboardStep: {
|
|
11267
|
+
converter: NUMBER_CONVERTER$19,
|
|
11268
|
+
attribute: "keyboard-step"
|
|
11269
|
+
},
|
|
11270
|
+
keyboardLargeStep: {
|
|
11271
|
+
converter: NUMBER_CONVERTER$19,
|
|
11272
|
+
attribute: "keyboard-large-step"
|
|
11273
|
+
},
|
|
11274
|
+
edges: { converter: EDGES_CONVERTER },
|
|
11275
|
+
disabled: { converter: BOOLEAN_CONVERTER$28 },
|
|
11276
|
+
direction: {
|
|
11277
|
+
converter: STRING_CONVERTER$36,
|
|
11278
|
+
attribute: "dir"
|
|
11279
|
+
}
|
|
11280
|
+
};
|
|
11281
|
+
idGen = createCounterIdGenerator();
|
|
11282
|
+
resizableScope = createScope(null, this.idGen);
|
|
11283
|
+
notifySize = (details) => {
|
|
11284
|
+
this.dispatchEvent(new CustomEvent("size-change", {
|
|
11285
|
+
detail: details,
|
|
11286
|
+
bubbles: true,
|
|
11287
|
+
composed: true
|
|
11288
|
+
}));
|
|
11289
|
+
};
|
|
11290
|
+
notifySizeEnd = (details) => {
|
|
11291
|
+
this.dispatchEvent(new CustomEvent("size-change-end", {
|
|
11292
|
+
detail: details,
|
|
11293
|
+
bubbles: true,
|
|
11294
|
+
composed: true
|
|
11295
|
+
}));
|
|
11296
|
+
};
|
|
11297
|
+
ctrl = new MachineController(this, resizableMachine, () => this.machineProps(), {
|
|
11298
|
+
scope: this.resizableScope,
|
|
11299
|
+
onBuilt: (svc) => this.injectRefs(svc)
|
|
11300
|
+
});
|
|
11301
|
+
machineProps() {
|
|
11302
|
+
return {
|
|
11303
|
+
size: this.size,
|
|
11304
|
+
defaultSize: this.defaultSize,
|
|
11305
|
+
minWidth: this.minWidth,
|
|
11306
|
+
minHeight: this.minHeight,
|
|
11307
|
+
maxWidth: this.maxWidth,
|
|
11308
|
+
maxHeight: this.maxHeight,
|
|
11309
|
+
aspectRatio: this.aspectRatio,
|
|
11310
|
+
step: this.step,
|
|
11311
|
+
keyboardStep: this.keyboardStep,
|
|
11312
|
+
keyboardLargeStep: this.keyboardLargeStep,
|
|
11313
|
+
edges: this.edges,
|
|
11314
|
+
disabled: this.disabled ?? false,
|
|
11315
|
+
dir: this.direction,
|
|
11316
|
+
onSizeChange: this.notifySize,
|
|
11317
|
+
onSizeChangeEnd: this.notifySizeEnd
|
|
11318
|
+
};
|
|
11319
|
+
}
|
|
11320
|
+
injectRefs(svc) {
|
|
11321
|
+
svc.refs.set("getRootEl", () => this.getPart("root"));
|
|
11322
|
+
}
|
|
11323
|
+
/** 把手自报的边。没写就落东南角——那是文档流里最常见的那个。 */
|
|
11324
|
+
edgeOf(el) {
|
|
11325
|
+
return el.getAttribute("edge") ?? "se";
|
|
11326
|
+
}
|
|
11327
|
+
wire() {
|
|
11328
|
+
const api = connectResizable(this.ctrl.service, wcNormalize);
|
|
11329
|
+
const root = this.getPart("root");
|
|
11330
|
+
if (root) this.spreader.spread(root, api.getRootProps());
|
|
11331
|
+
for (const el of this.getParts("handle")) this.spreader.spread(el, api.getHandleProps({ edge: this.edgeOf(el) }));
|
|
11332
|
+
}
|
|
11333
|
+
};
|
|
11334
|
+
//#endregion
|
|
11182
11335
|
//#region src/elements/result.ts
|
|
11183
|
-
const STRING_CONVERTER$
|
|
11336
|
+
const STRING_CONVERTER$35 = { fromAttribute: (v) => v ?? void 0 };
|
|
11184
11337
|
/**
|
|
11185
11338
|
* `<xh-result>` —— 结果页行为宿主,无状态机,把 connectResult 产出的属性打到角色节点上。
|
|
11186
11339
|
*
|
|
@@ -11204,8 +11357,8 @@ var XhResultElement = class extends XhElement {
|
|
|
11204
11357
|
meta: resultMeta
|
|
11205
11358
|
};
|
|
11206
11359
|
static properties = {
|
|
11207
|
-
status: { converter: STRING_CONVERTER$
|
|
11208
|
-
size: { converter: STRING_CONVERTER$
|
|
11360
|
+
status: { converter: STRING_CONVERTER$35 },
|
|
11361
|
+
size: { converter: STRING_CONVERTER$35 }
|
|
11209
11362
|
};
|
|
11210
11363
|
wire() {
|
|
11211
11364
|
const props = {
|
|
@@ -11226,9 +11379,9 @@ var XhResultElement = class extends XhElement {
|
|
|
11226
11379
|
};
|
|
11227
11380
|
//#endregion
|
|
11228
11381
|
//#region src/elements/scroll-area.ts
|
|
11229
|
-
const STRING_CONVERTER$
|
|
11230
|
-
const NUMBER_CONVERTER$
|
|
11231
|
-
const BOOLEAN_CONVERTER$
|
|
11382
|
+
const STRING_CONVERTER$34 = { fromAttribute: (v) => v ?? void 0 };
|
|
11383
|
+
const NUMBER_CONVERTER$18 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
11384
|
+
const BOOLEAN_CONVERTER$27 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
11232
11385
|
/**
|
|
11233
11386
|
* `<xh-scroll-area>` —— Light-DOM 行为宿主:作者写 root/viewport/content 与两条 scrollbar
|
|
11234
11387
|
* 角色节点,元素按轴各跑一台 scrollbar 机器并把 connect 产出打上去。
|
|
@@ -11266,19 +11419,19 @@ var XhScrollAreaElement = class extends XhElement {
|
|
|
11266
11419
|
delegates: [scrollbarAnatomy]
|
|
11267
11420
|
};
|
|
11268
11421
|
static properties = {
|
|
11269
|
-
type: { converter: STRING_CONVERTER$
|
|
11422
|
+
type: { converter: STRING_CONVERTER$34 },
|
|
11270
11423
|
hideDelay: {
|
|
11271
|
-
converter: NUMBER_CONVERTER$
|
|
11424
|
+
converter: NUMBER_CONVERTER$18,
|
|
11272
11425
|
attribute: "hide-delay"
|
|
11273
11426
|
},
|
|
11274
|
-
orientation: { converter: STRING_CONVERTER$
|
|
11275
|
-
size: { converter: STRING_CONVERTER$
|
|
11427
|
+
orientation: { converter: STRING_CONVERTER$34 },
|
|
11428
|
+
size: { converter: STRING_CONVERTER$34 },
|
|
11276
11429
|
direction: {
|
|
11277
|
-
converter: STRING_CONVERTER$
|
|
11430
|
+
converter: STRING_CONVERTER$34,
|
|
11278
11431
|
attribute: "dir"
|
|
11279
11432
|
},
|
|
11280
11433
|
forceVisible: {
|
|
11281
|
-
converter: BOOLEAN_CONVERTER$
|
|
11434
|
+
converter: BOOLEAN_CONVERTER$27,
|
|
11282
11435
|
attribute: "force-visible"
|
|
11283
11436
|
}
|
|
11284
11437
|
};
|
|
@@ -11343,9 +11496,9 @@ var XhScrollAreaElement = class extends XhElement {
|
|
|
11343
11496
|
};
|
|
11344
11497
|
//#endregion
|
|
11345
11498
|
//#region src/elements/scrollbar.ts
|
|
11346
|
-
const STRING_CONVERTER$
|
|
11347
|
-
const NUMBER_CONVERTER$
|
|
11348
|
-
const BOOLEAN_CONVERTER$
|
|
11499
|
+
const STRING_CONVERTER$33 = { fromAttribute: (v) => v ?? void 0 };
|
|
11500
|
+
const NUMBER_CONVERTER$17 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
11501
|
+
const BOOLEAN_CONVERTER$26 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
11349
11502
|
/**
|
|
11350
11503
|
* `<xh-scrollbar>` —— Light-DOM 行为宿主:作者写 root/track/thumb 三个角色节点,
|
|
11351
11504
|
* 元素跑 scrollbar 机器并把 connect 产出打上去。
|
|
@@ -11390,28 +11543,28 @@ var XhScrollbarElement = class extends XhElement {
|
|
|
11390
11543
|
meta: scrollbarMeta
|
|
11391
11544
|
};
|
|
11392
11545
|
static properties = {
|
|
11393
|
-
controls: { converter: STRING_CONVERTER$
|
|
11394
|
-
orientation: { converter: STRING_CONVERTER$
|
|
11395
|
-
type: { converter: STRING_CONVERTER$
|
|
11546
|
+
controls: { converter: STRING_CONVERTER$33 },
|
|
11547
|
+
orientation: { converter: STRING_CONVERTER$33 },
|
|
11548
|
+
type: { converter: STRING_CONVERTER$33 },
|
|
11396
11549
|
hideDelay: {
|
|
11397
|
-
converter: NUMBER_CONVERTER$
|
|
11550
|
+
converter: NUMBER_CONVERTER$17,
|
|
11398
11551
|
attribute: "hide-delay"
|
|
11399
11552
|
},
|
|
11400
11553
|
minThumbSize: {
|
|
11401
|
-
converter: NUMBER_CONVERTER$
|
|
11554
|
+
converter: NUMBER_CONVERTER$17,
|
|
11402
11555
|
attribute: "min-thumb-size"
|
|
11403
11556
|
},
|
|
11404
|
-
step: { converter: NUMBER_CONVERTER$
|
|
11405
|
-
size: { converter: STRING_CONVERTER$
|
|
11406
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
11407
|
-
focusable: { converter: BOOLEAN_CONVERTER$
|
|
11408
|
-
gutter: { converter: BOOLEAN_CONVERTER$
|
|
11557
|
+
step: { converter: NUMBER_CONVERTER$17 },
|
|
11558
|
+
size: { converter: STRING_CONVERTER$33 },
|
|
11559
|
+
disabled: { converter: BOOLEAN_CONVERTER$26 },
|
|
11560
|
+
focusable: { converter: BOOLEAN_CONVERTER$26 },
|
|
11561
|
+
gutter: { converter: BOOLEAN_CONVERTER$26 },
|
|
11409
11562
|
forceVisible: {
|
|
11410
|
-
converter: BOOLEAN_CONVERTER$
|
|
11563
|
+
converter: BOOLEAN_CONVERTER$26,
|
|
11411
11564
|
attribute: "force-visible"
|
|
11412
11565
|
},
|
|
11413
11566
|
direction: {
|
|
11414
|
-
converter: STRING_CONVERTER$
|
|
11567
|
+
converter: STRING_CONVERTER$33,
|
|
11415
11568
|
attribute: "dir"
|
|
11416
11569
|
},
|
|
11417
11570
|
scrollable: { attribute: false },
|
|
@@ -11476,8 +11629,8 @@ var XhScrollbarElement = class extends XhElement {
|
|
|
11476
11629
|
};
|
|
11477
11630
|
//#endregion
|
|
11478
11631
|
//#region src/elements/segmented.ts
|
|
11479
|
-
const STRING_CONVERTER$
|
|
11480
|
-
const BOOLEAN_CONVERTER$
|
|
11632
|
+
const STRING_CONVERTER$32 = { fromAttribute: (v) => v ?? void 0 };
|
|
11633
|
+
const BOOLEAN_CONVERTER$25 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
11481
11634
|
/**
|
|
11482
11635
|
* `<xh-segmented>` —— Light-DOM 行为宿主:作者写 root 与若干 item 角色节点,
|
|
11483
11636
|
* 元素跑 segmented 机器并把 connect 产出打上去。段须是原生 `<button>`
|
|
@@ -11515,28 +11668,28 @@ var XhSegmentedElement = class extends XhElement {
|
|
|
11515
11668
|
};
|
|
11516
11669
|
static properties = {
|
|
11517
11670
|
collection: { attribute: false },
|
|
11518
|
-
value: { converter: STRING_CONVERTER$
|
|
11671
|
+
value: { converter: STRING_CONVERTER$32 },
|
|
11519
11672
|
defaultValue: {
|
|
11520
|
-
converter: STRING_CONVERTER$
|
|
11673
|
+
converter: STRING_CONVERTER$32,
|
|
11521
11674
|
attribute: "default-value"
|
|
11522
11675
|
},
|
|
11523
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
11676
|
+
disabled: { converter: BOOLEAN_CONVERTER$25 },
|
|
11524
11677
|
readOnly: {
|
|
11525
|
-
converter: BOOLEAN_CONVERTER$
|
|
11678
|
+
converter: BOOLEAN_CONVERTER$25,
|
|
11526
11679
|
attribute: "read-only"
|
|
11527
11680
|
},
|
|
11528
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
11529
|
-
required: { converter: BOOLEAN_CONVERTER$
|
|
11530
|
-
name: { converter: STRING_CONVERTER$
|
|
11531
|
-
orientation: { converter: STRING_CONVERTER$
|
|
11681
|
+
invalid: { converter: BOOLEAN_CONVERTER$25 },
|
|
11682
|
+
required: { converter: BOOLEAN_CONVERTER$25 },
|
|
11683
|
+
name: { converter: STRING_CONVERTER$32 },
|
|
11684
|
+
orientation: { converter: STRING_CONVERTER$32 },
|
|
11532
11685
|
direction: {
|
|
11533
|
-
converter: STRING_CONVERTER$
|
|
11686
|
+
converter: STRING_CONVERTER$32,
|
|
11534
11687
|
attribute: "dir"
|
|
11535
11688
|
},
|
|
11536
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
11537
|
-
block: { converter: BOOLEAN_CONVERTER$
|
|
11538
|
-
tone: { converter: STRING_CONVERTER$
|
|
11539
|
-
size: { converter: STRING_CONVERTER$
|
|
11689
|
+
loop: { converter: BOOLEAN_CONVERTER$25 },
|
|
11690
|
+
block: { converter: BOOLEAN_CONVERTER$25 },
|
|
11691
|
+
tone: { converter: STRING_CONVERTER$32 },
|
|
11692
|
+
size: { converter: STRING_CONVERTER$32 }
|
|
11540
11693
|
};
|
|
11541
11694
|
declaredDisabled = /* @__PURE__ */ new WeakMap();
|
|
11542
11695
|
/** 上一帧是否整组禁用:解禁当帧 DOM 上还留着机器写回的 aria-disabled,读不得。 */
|
|
@@ -11639,9 +11792,9 @@ var XhSegmentedElement = class extends XhElement {
|
|
|
11639
11792
|
};
|
|
11640
11793
|
//#endregion
|
|
11641
11794
|
//#region src/elements/select.ts
|
|
11642
|
-
const STRING_CONVERTER$
|
|
11643
|
-
const NUMBER_CONVERTER$
|
|
11644
|
-
const BOOLEAN_CONVERTER$
|
|
11795
|
+
const STRING_CONVERTER$31 = { fromAttribute: (v) => v ?? void 0 };
|
|
11796
|
+
const NUMBER_CONVERTER$16 = { fromAttribute: (v) => v === null ? void 0 : Number(v) };
|
|
11797
|
+
const BOOLEAN_CONVERTER$24 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
11645
11798
|
/**
|
|
11646
11799
|
* `<xh-select>` —— Light-DOM 行为宿主:用户写 root/trigger/value-text/positioner/content/item/...
|
|
11647
11800
|
* 角色节点,元素跑 select 机器并把 connect 产出打上去。浮层定位引擎在本元素里建好、经 refs 注入机器,
|
|
@@ -11698,39 +11851,39 @@ var XhSelectElement = class extends XhElement {
|
|
|
11698
11851
|
};
|
|
11699
11852
|
static properties = {
|
|
11700
11853
|
collection: { attribute: false },
|
|
11701
|
-
value: { converter: STRING_CONVERTER$
|
|
11854
|
+
value: { converter: STRING_CONVERTER$31 },
|
|
11702
11855
|
defaultValue: {
|
|
11703
|
-
converter: STRING_CONVERTER$
|
|
11856
|
+
converter: STRING_CONVERTER$31,
|
|
11704
11857
|
attribute: "default-value"
|
|
11705
11858
|
},
|
|
11706
|
-
open: { converter: BOOLEAN_CONVERTER$
|
|
11859
|
+
open: { converter: BOOLEAN_CONVERTER$24 },
|
|
11707
11860
|
defaultOpen: {
|
|
11708
11861
|
type: Boolean,
|
|
11709
11862
|
attribute: "default-open"
|
|
11710
11863
|
},
|
|
11711
11864
|
disabled: { type: Boolean },
|
|
11712
11865
|
readOnly: {
|
|
11713
|
-
converter: BOOLEAN_CONVERTER$
|
|
11866
|
+
converter: BOOLEAN_CONVERTER$24,
|
|
11714
11867
|
attribute: "read-only"
|
|
11715
11868
|
},
|
|
11716
11869
|
invalid: { type: Boolean },
|
|
11717
11870
|
required: { type: Boolean },
|
|
11718
|
-
name: { converter: STRING_CONVERTER$
|
|
11719
|
-
placeholder: { converter: STRING_CONVERTER$
|
|
11720
|
-
placement: { converter: STRING_CONVERTER$
|
|
11721
|
-
offset: { converter: NUMBER_CONVERTER$
|
|
11722
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
11871
|
+
name: { converter: STRING_CONVERTER$31 },
|
|
11872
|
+
placeholder: { converter: STRING_CONVERTER$31 },
|
|
11873
|
+
placement: { converter: STRING_CONVERTER$31 },
|
|
11874
|
+
offset: { converter: NUMBER_CONVERTER$16 },
|
|
11875
|
+
loop: { converter: BOOLEAN_CONVERTER$24 },
|
|
11723
11876
|
multiple: { type: Boolean },
|
|
11724
11877
|
direction: {
|
|
11725
|
-
converter: STRING_CONVERTER$
|
|
11878
|
+
converter: STRING_CONVERTER$31,
|
|
11726
11879
|
attribute: "dir"
|
|
11727
11880
|
},
|
|
11728
|
-
variant: { converter: STRING_CONVERTER$
|
|
11729
|
-
tone: { converter: STRING_CONVERTER$
|
|
11730
|
-
size: { converter: STRING_CONVERTER$
|
|
11881
|
+
variant: { converter: STRING_CONVERTER$31 },
|
|
11882
|
+
tone: { converter: STRING_CONVERTER$31 },
|
|
11883
|
+
size: { converter: STRING_CONVERTER$31 },
|
|
11731
11884
|
translations: { attribute: false },
|
|
11732
11885
|
maxTagCount: {
|
|
11733
|
-
converter: NUMBER_CONVERTER$
|
|
11886
|
+
converter: NUMBER_CONVERTER$16,
|
|
11734
11887
|
attribute: "max-tag-count"
|
|
11735
11888
|
}
|
|
11736
11889
|
};
|
|
@@ -11967,8 +12120,8 @@ var XhSeparatorElement = class extends XhElement {
|
|
|
11967
12120
|
};
|
|
11968
12121
|
//#endregion
|
|
11969
12122
|
//#region src/elements/side-nav.ts
|
|
11970
|
-
const STRING_CONVERTER$
|
|
11971
|
-
const BOOLEAN_CONVERTER$
|
|
12123
|
+
const STRING_CONVERTER$30 = { fromAttribute: (v) => v ?? void 0 };
|
|
12124
|
+
const BOOLEAN_CONVERTER$23 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
11972
12125
|
/** 分支一系的归属容器;嵌套分支各认最近的那个。 */
|
|
11973
12126
|
const BRANCH_SELECTOR$2 = "[data-xh-part=\"branch\"]";
|
|
11974
12127
|
/** 分组一系的归属容器。 */
|
|
@@ -12009,21 +12162,21 @@ var XhSideNavElement = class extends XhElement {
|
|
|
12009
12162
|
meta: sideNavMeta
|
|
12010
12163
|
};
|
|
12011
12164
|
static properties = {
|
|
12012
|
-
value: { converter: STRING_CONVERTER$
|
|
12165
|
+
value: { converter: STRING_CONVERTER$30 },
|
|
12013
12166
|
defaultValue: {
|
|
12014
|
-
converter: STRING_CONVERTER$
|
|
12167
|
+
converter: STRING_CONVERTER$30,
|
|
12015
12168
|
attribute: "default-value"
|
|
12016
12169
|
},
|
|
12017
|
-
accordion: { converter: BOOLEAN_CONVERTER$
|
|
12018
|
-
collapsed: { converter: BOOLEAN_CONVERTER$
|
|
12170
|
+
accordion: { converter: BOOLEAN_CONVERTER$23 },
|
|
12171
|
+
collapsed: { converter: BOOLEAN_CONVERTER$23 },
|
|
12019
12172
|
collapsedPopout: {
|
|
12020
|
-
converter: BOOLEAN_CONVERTER$
|
|
12173
|
+
converter: BOOLEAN_CONVERTER$23,
|
|
12021
12174
|
attribute: "collapsed-popout"
|
|
12022
12175
|
},
|
|
12023
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
12024
|
-
loop: { converter: BOOLEAN_CONVERTER$
|
|
12176
|
+
disabled: { converter: BOOLEAN_CONVERTER$23 },
|
|
12177
|
+
loop: { converter: BOOLEAN_CONVERTER$23 },
|
|
12025
12178
|
direction: {
|
|
12026
|
-
converter: STRING_CONVERTER$
|
|
12179
|
+
converter: STRING_CONVERTER$30,
|
|
12027
12180
|
attribute: "dir"
|
|
12028
12181
|
},
|
|
12029
12182
|
collection: { attribute: false },
|
|
@@ -12174,8 +12327,8 @@ var XhSideNavElement = class extends XhElement {
|
|
|
12174
12327
|
};
|
|
12175
12328
|
//#endregion
|
|
12176
12329
|
//#region src/elements/signature-pad.ts
|
|
12177
|
-
const STRING_CONVERTER$
|
|
12178
|
-
const BOOLEAN_CONVERTER$
|
|
12330
|
+
const STRING_CONVERTER$29 = { fromAttribute: (v) => v ?? void 0 };
|
|
12331
|
+
const BOOLEAN_CONVERTER$22 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
12179
12332
|
/**
|
|
12180
12333
|
* `<xh-signature-pad>` —— Light-DOM 行为宿主:作者写 root / control / segment 三个必需角色节点
|
|
12181
12334
|
* (可再写 label、guide、clear-trigger 与 hidden-input),元素跑 signature-pad 机器并把 connect 产出打上去。
|
|
@@ -12212,14 +12365,14 @@ var XhSignaturePadElement = class extends XhElement {
|
|
|
12212
12365
|
meta: signaturePadMeta
|
|
12213
12366
|
};
|
|
12214
12367
|
static properties = {
|
|
12215
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
12368
|
+
disabled: { converter: BOOLEAN_CONVERTER$22 },
|
|
12216
12369
|
readOnly: {
|
|
12217
|
-
converter: BOOLEAN_CONVERTER$
|
|
12370
|
+
converter: BOOLEAN_CONVERTER$22,
|
|
12218
12371
|
attribute: "read-only"
|
|
12219
12372
|
},
|
|
12220
|
-
required: { converter: BOOLEAN_CONVERTER$
|
|
12221
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
12222
|
-
name: { converter: STRING_CONVERTER$
|
|
12373
|
+
required: { converter: BOOLEAN_CONVERTER$22 },
|
|
12374
|
+
invalid: { converter: BOOLEAN_CONVERTER$22 },
|
|
12375
|
+
name: { converter: STRING_CONVERTER$29 },
|
|
12223
12376
|
drawing: { attribute: false },
|
|
12224
12377
|
translations: { attribute: false }
|
|
12225
12378
|
};
|
|
@@ -12305,8 +12458,8 @@ var XhSignaturePadElement = class extends XhElement {
|
|
|
12305
12458
|
};
|
|
12306
12459
|
//#endregion
|
|
12307
12460
|
//#region src/elements/skeleton.ts
|
|
12308
|
-
const STRING_CONVERTER$
|
|
12309
|
-
const BOOLEAN_CONVERTER$
|
|
12461
|
+
const STRING_CONVERTER$28 = { fromAttribute: (v) => v ?? void 0 };
|
|
12462
|
+
const BOOLEAN_CONVERTER$21 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
12310
12463
|
/** 允许的形状名,作者写错时落回容器的默认值。 */
|
|
12311
12464
|
const VARIANTS = [
|
|
12312
12465
|
"text",
|
|
@@ -12336,8 +12489,8 @@ var XhSkeletonElement = class extends XhElement {
|
|
|
12336
12489
|
meta: skeletonMeta
|
|
12337
12490
|
};
|
|
12338
12491
|
static properties = {
|
|
12339
|
-
loading: { converter: BOOLEAN_CONVERTER$
|
|
12340
|
-
variant: { converter: STRING_CONVERTER$
|
|
12492
|
+
loading: { converter: BOOLEAN_CONVERTER$21 },
|
|
12493
|
+
variant: { converter: STRING_CONVERTER$28 }
|
|
12341
12494
|
};
|
|
12342
12495
|
wire() {
|
|
12343
12496
|
const api = connectSkeleton({
|
|
@@ -12351,9 +12504,9 @@ var XhSkeletonElement = class extends XhElement {
|
|
|
12351
12504
|
};
|
|
12352
12505
|
//#endregion
|
|
12353
12506
|
//#region src/elements/slider.ts
|
|
12354
|
-
const STRING_CONVERTER$
|
|
12355
|
-
const NUMBER_CONVERTER$
|
|
12356
|
-
const BOOLEAN_CONVERTER$
|
|
12507
|
+
const STRING_CONVERTER$27 = { fromAttribute: (v) => v ?? void 0 };
|
|
12508
|
+
const NUMBER_CONVERTER$15 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
12509
|
+
const BOOLEAN_CONVERTER$20 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
12357
12510
|
/**
|
|
12358
12511
|
* 值恒是数组,属性写成逗号分隔(单滑块 value="30",双滑块 value="20,80")。
|
|
12359
12512
|
* 解析不出任何有限数就当没写:留下 NaN 会一路写进 aria-valuenow 与定位百分比。
|
|
@@ -12415,36 +12568,36 @@ var XhSliderElement = class extends XhElement {
|
|
|
12415
12568
|
converter: NUMBER_LIST_CONVERTER$1,
|
|
12416
12569
|
attribute: "default-value"
|
|
12417
12570
|
},
|
|
12418
|
-
min: { converter: NUMBER_CONVERTER$
|
|
12419
|
-
max: { converter: NUMBER_CONVERTER$
|
|
12420
|
-
step: { converter: NUMBER_CONVERTER$
|
|
12571
|
+
min: { converter: NUMBER_CONVERTER$15 },
|
|
12572
|
+
max: { converter: NUMBER_CONVERTER$15 },
|
|
12573
|
+
step: { converter: NUMBER_CONVERTER$15 },
|
|
12421
12574
|
largeStep: {
|
|
12422
|
-
converter: NUMBER_CONVERTER$
|
|
12575
|
+
converter: NUMBER_CONVERTER$15,
|
|
12423
12576
|
attribute: "large-step"
|
|
12424
12577
|
},
|
|
12425
12578
|
minStepsBetweenThumbs: {
|
|
12426
|
-
converter: NUMBER_CONVERTER$
|
|
12579
|
+
converter: NUMBER_CONVERTER$15,
|
|
12427
12580
|
attribute: "min-steps-between-thumbs"
|
|
12428
12581
|
},
|
|
12429
12582
|
snapToMarks: {
|
|
12430
|
-
converter: BOOLEAN_CONVERTER$
|
|
12583
|
+
converter: BOOLEAN_CONVERTER$20,
|
|
12431
12584
|
attribute: "snap-to-marks"
|
|
12432
12585
|
},
|
|
12433
12586
|
marks: { attribute: false },
|
|
12434
|
-
orientation: { converter: STRING_CONVERTER$
|
|
12587
|
+
orientation: { converter: STRING_CONVERTER$27 },
|
|
12435
12588
|
direction: {
|
|
12436
|
-
converter: STRING_CONVERTER$
|
|
12589
|
+
converter: STRING_CONVERTER$27,
|
|
12437
12590
|
attribute: "dir"
|
|
12438
12591
|
},
|
|
12439
|
-
disabled: { converter: BOOLEAN_CONVERTER$
|
|
12592
|
+
disabled: { converter: BOOLEAN_CONVERTER$20 },
|
|
12440
12593
|
readOnly: {
|
|
12441
|
-
converter: BOOLEAN_CONVERTER$
|
|
12594
|
+
converter: BOOLEAN_CONVERTER$20,
|
|
12442
12595
|
attribute: "read-only"
|
|
12443
12596
|
},
|
|
12444
|
-
invalid: { converter: BOOLEAN_CONVERTER$
|
|
12445
|
-
tone: { converter: STRING_CONVERTER$
|
|
12446
|
-
size: { converter: STRING_CONVERTER$
|
|
12447
|
-
name: { converter: STRING_CONVERTER$
|
|
12597
|
+
invalid: { converter: BOOLEAN_CONVERTER$20 },
|
|
12598
|
+
tone: { converter: STRING_CONVERTER$27 },
|
|
12599
|
+
size: { converter: STRING_CONVERTER$27 },
|
|
12600
|
+
name: { converter: STRING_CONVERTER$27 },
|
|
12448
12601
|
getValueText: { attribute: false }
|
|
12449
12602
|
};
|
|
12450
12603
|
idGen = createCounterIdGenerator();
|
|
@@ -12527,6 +12680,145 @@ var XhSliderElement = class extends XhElement {
|
|
|
12527
12680
|
}
|
|
12528
12681
|
};
|
|
12529
12682
|
//#endregion
|
|
12683
|
+
//#region src/elements/sortable.ts
|
|
12684
|
+
const STRING_CONVERTER$26 = { fromAttribute: (v) => v ?? void 0 };
|
|
12685
|
+
const NUMBER_CONVERTER$14 = { fromAttribute: (v) => v == null || v === "" ? void 0 : Number(v) };
|
|
12686
|
+
const BOOLEAN_CONVERTER$19 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
12687
|
+
/** 顺序写成逗号分隔的标识串(ids="a,b,c")。空串当没写。 */
|
|
12688
|
+
const ID_LIST_CONVERTER = { fromAttribute: (v) => {
|
|
12689
|
+
if (v == null || v.trim() === "") return void 0;
|
|
12690
|
+
const out = v.split(",").map((s) => s.trim()).filter(Boolean);
|
|
12691
|
+
return out.length ? out : void 0;
|
|
12692
|
+
} };
|
|
12693
|
+
/**
|
|
12694
|
+
* `<xh-sortable>` —— Light-DOM 行为宿主:作者写 root/item/item-handle/live-region 角色节点,
|
|
12695
|
+
* 元素跑 sortable 机器并把 connect 产出打上去。
|
|
12696
|
+
*
|
|
12697
|
+
* 顺序的唯一真源是 `ids`,DOM 里项的先后必须与它一致——几何按 DOM 量,事件按 `ids` 算。
|
|
12698
|
+
* 每个 item 与它的 item-handle 都要用 `item-id` 属性写明自己是哪一项(与 Vue 侧的 `:item-id` 同一份声明)。
|
|
12699
|
+
* 单独禁掉某一项写 `item-disabled`。不给 item-handle 时整项可拖。
|
|
12700
|
+
*
|
|
12701
|
+
* 拖动落点走乐观投影:拖动过程中其余项实时让位,松手即定。让位与跟手的位移由元素每帧
|
|
12702
|
+
* 写进内联 transform,作者的样式表不要再碰这条属性。
|
|
12703
|
+
*
|
|
12704
|
+
* 键盘全在手柄上:空格或回车拾起、方向键挪一格、再按空格放下、Esc 取消。
|
|
12705
|
+
* 拖动中的 Tab 会被拦下——焦点一旦移走,这一场就没有出口了。
|
|
12706
|
+
*
|
|
12707
|
+
* @customElement xh-sortable
|
|
12708
|
+
* @attr {string} ids - 顺序真源,逗号分隔的项标识(如 "a,b,c")
|
|
12709
|
+
* @attr {'horizontal'|'vertical'|'both'} orientation - 排序轴,默认 vertical;换行网格用 both
|
|
12710
|
+
* @attr {'ltr'|'rtl'} dir - 文字方向,只对调水平排布下左右两键的语义,默认 ltr
|
|
12711
|
+
* @attr {boolean} disabled - 禁用:手柄退出 Tab 序列,按下也不进拖动
|
|
12712
|
+
* @attr {number} activation-distance - 按下之后走多远才算开始拖,默认 5;给 0 表示按下即拖
|
|
12713
|
+
* @attr {boolean} auto-scroll - 拖到容器边缘时自动滚动,默认开
|
|
12714
|
+
* @fires sort - 顺序变化;detail 为 `{ from, to, id, ids }`,其中 ids 已重排好
|
|
12715
|
+
* @fires drag-start - 拾起;detail 为 `{ id, from, mode }`
|
|
12716
|
+
* @fires drag-end - 收尾(含取消);detail 为 `{ id, from, to, mode, canceled }`
|
|
12717
|
+
* @csspart root - 承载 data-orientation / data-disabled / data-dragging 的容器
|
|
12718
|
+
* @csspart item - 一项;位移由内联 transform 给出,被拖的那项带 data-dragging
|
|
12719
|
+
* @csspart item-handle - role=button 的拖拽手柄,指针与键盘交互全在它身上
|
|
12720
|
+
* @csspart live-region - 视觉隐藏的播报区,拖动过程的读屏文案写在这里
|
|
12721
|
+
*/
|
|
12722
|
+
var XhSortableElement = class extends XhElement {
|
|
12723
|
+
static partContract = {
|
|
12724
|
+
anatomy: sortableAnatomy,
|
|
12725
|
+
meta: sortableMeta
|
|
12726
|
+
};
|
|
12727
|
+
static properties = {
|
|
12728
|
+
ids: { converter: ID_LIST_CONVERTER },
|
|
12729
|
+
orientation: { converter: STRING_CONVERTER$26 },
|
|
12730
|
+
direction: {
|
|
12731
|
+
converter: STRING_CONVERTER$26,
|
|
12732
|
+
attribute: "dir"
|
|
12733
|
+
},
|
|
12734
|
+
disabled: { converter: BOOLEAN_CONVERTER$19 },
|
|
12735
|
+
activationDistance: {
|
|
12736
|
+
converter: NUMBER_CONVERTER$14,
|
|
12737
|
+
attribute: "activation-distance"
|
|
12738
|
+
},
|
|
12739
|
+
autoScroll: {
|
|
12740
|
+
converter: BOOLEAN_CONVERTER$19,
|
|
12741
|
+
attribute: "auto-scroll"
|
|
12742
|
+
}
|
|
12743
|
+
};
|
|
12744
|
+
idGen = createCounterIdGenerator();
|
|
12745
|
+
sortableScope = createScope(null, this.idGen);
|
|
12746
|
+
notifySort = (details) => {
|
|
12747
|
+
this.dispatchEvent(new CustomEvent("sort", {
|
|
12748
|
+
detail: details,
|
|
12749
|
+
bubbles: true,
|
|
12750
|
+
composed: true
|
|
12751
|
+
}));
|
|
12752
|
+
};
|
|
12753
|
+
notifyDragStart = (details) => {
|
|
12754
|
+
this.dispatchEvent(new CustomEvent("drag-start", {
|
|
12755
|
+
detail: details,
|
|
12756
|
+
bubbles: true,
|
|
12757
|
+
composed: true
|
|
12758
|
+
}));
|
|
12759
|
+
};
|
|
12760
|
+
notifyDragEnd = (details) => {
|
|
12761
|
+
this.dispatchEvent(new CustomEvent("drag-end", {
|
|
12762
|
+
detail: details,
|
|
12763
|
+
bubbles: true,
|
|
12764
|
+
composed: true
|
|
12765
|
+
}));
|
|
12766
|
+
};
|
|
12767
|
+
ctrl = new MachineController(this, sortableMachine, () => this.machineProps(), {
|
|
12768
|
+
scope: this.sortableScope,
|
|
12769
|
+
onBuilt: (svc) => this.injectRefs(svc)
|
|
12770
|
+
});
|
|
12771
|
+
machineProps() {
|
|
12772
|
+
return {
|
|
12773
|
+
ids: this.ids ?? [],
|
|
12774
|
+
orientation: this.orientation,
|
|
12775
|
+
dir: this.direction,
|
|
12776
|
+
disabled: this.disabled ?? false,
|
|
12777
|
+
activationDistance: this.activationDistance,
|
|
12778
|
+
autoScroll: this.autoScroll,
|
|
12779
|
+
onSort: this.notifySort,
|
|
12780
|
+
onDragStart: this.notifyDragStart,
|
|
12781
|
+
onDragEnd: this.notifyDragEnd
|
|
12782
|
+
};
|
|
12783
|
+
}
|
|
12784
|
+
injectRefs(svc) {
|
|
12785
|
+
svc.refs.set("getRootEl", () => this.getPart("root"));
|
|
12786
|
+
}
|
|
12787
|
+
/**
|
|
12788
|
+
* 部件自报的项标识。作者在节点上写 item-id="a",与 Vue 侧的 `:id` 是同一份声明;
|
|
12789
|
+
* 没写就落空串——connect 那边找不到对应项,会当作不可拖的普通节点。
|
|
12790
|
+
*
|
|
12791
|
+
* 不用 `id`:那是 HTML 全局属性,写上去会留在 DOM 里(Vue 侧的同名 prop 不会),
|
|
12792
|
+
* 而且同一项的外壳与手柄同名时会造出两个相同的 DOM id。
|
|
12793
|
+
*/
|
|
12794
|
+
partId(el) {
|
|
12795
|
+
return el.getAttribute("item-id") ?? "";
|
|
12796
|
+
}
|
|
12797
|
+
/** 项级禁用。写 item-disabled 即禁掉这一项,与列表级的 disabled 各管各的。 */
|
|
12798
|
+
partDisabled(el) {
|
|
12799
|
+
const raw = el.getAttribute("item-disabled");
|
|
12800
|
+
return raw != null && raw !== "false";
|
|
12801
|
+
}
|
|
12802
|
+
wire() {
|
|
12803
|
+
const api = connectSortable(this.ctrl.service, wcNormalize);
|
|
12804
|
+
const root = this.getPart("root");
|
|
12805
|
+
if (root) this.spreader.spread(root, api.getRootProps());
|
|
12806
|
+
for (const el of this.getParts("item")) this.spreader.spread(el, api.getItemProps({
|
|
12807
|
+
id: this.partId(el),
|
|
12808
|
+
disabled: this.partDisabled(el)
|
|
12809
|
+
}));
|
|
12810
|
+
for (const el of this.getParts("item-handle")) this.spreader.spread(el, api.getItemHandleProps({
|
|
12811
|
+
id: this.partId(el),
|
|
12812
|
+
disabled: this.partDisabled(el)
|
|
12813
|
+
}));
|
|
12814
|
+
const live = this.getPart("live-region");
|
|
12815
|
+
if (live) {
|
|
12816
|
+
this.spreader.spread(live, api.getLiveRegionProps());
|
|
12817
|
+
live.textContent = this.ctrl.service.context.get("announcement");
|
|
12818
|
+
}
|
|
12819
|
+
}
|
|
12820
|
+
};
|
|
12821
|
+
//#endregion
|
|
12530
12822
|
//#region src/elements/space.ts
|
|
12531
12823
|
const STRING_CONVERTER$25 = { fromAttribute: (v) => v ?? void 0 };
|
|
12532
12824
|
const BOOLEAN_CONVERTER$18 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
@@ -13049,7 +13341,13 @@ const FOOTER_SELECTOR = "[data-xh-part=\"footer\"]";
|
|
|
13049
13341
|
* 同一个 row 部件写在 header / body / footer 里语义不同(表头行、数据行、脚注行),
|
|
13050
13342
|
* 元素按祖先链现查区段,作者无需换用别的部件名。
|
|
13051
13343
|
*
|
|
13052
|
-
* 两份定义与三个集合都是数组/对象,只走 property(`el.rows = [...]
|
|
13344
|
+
* 两份定义与三个集合都是数组/对象,只走 property(`el.rows = [...]`);
|
|
13345
|
+
* 落点校验 `allowRowDrop`(函数)同理。
|
|
13346
|
+
*
|
|
13347
|
+
* 打开 row-reorderable 后行可以拖着换位:整行都是拖动源。落点画在参照行上——
|
|
13348
|
+
* data-drop 为 before/after 是插在这一行前后;rows 带 parentId 的树形表另有 inside,
|
|
13349
|
+
* 是放进这一行底下,只有可展开或已经有孩子的行给这一档。触屏那一路走 row-drag-trigger 把手。
|
|
13350
|
+
* 键盘走 Alt + 方向键:上下在同层挪一位,左右在树形表下改缩进层级(rtl 下左右对调)。
|
|
13053
13351
|
*
|
|
13054
13352
|
* @customElement xh-table
|
|
13055
13353
|
* @attr {'none'|'single'|'multiple'} selection-mode - 选择模式,默认 none(不声明就没有选择这回事)
|
|
@@ -13060,6 +13358,7 @@ const FOOTER_SELECTOR = "[data-xh-part=\"footer\"]";
|
|
|
13060
13358
|
* @attr {boolean} borderless - 去掉外框,只留行间横线
|
|
13061
13359
|
* @attr {boolean} ruled - 列与列之间加竖分隔线
|
|
13062
13360
|
* @attr {boolean} footer - 表格带脚注行:行号空间的最后一行留给它,aria-rowcount 也算上
|
|
13361
|
+
* @attr {boolean} row-reorderable - 行可以拖着换位:整行都是拖动源;触屏那一路走 row-drag-trigger 把手
|
|
13063
13362
|
* @attr {boolean} loop - 上下键走到首尾回绕,默认关;写 loop="true" 打开
|
|
13064
13363
|
* @attr {'ltr'|'rtl'} dir - 文字方向,只对调左右方向键的展开/收起语义,默认 ltr
|
|
13065
13364
|
* @attr {'sm'|'md'|'lg'} size - 密度:只换单元格的纵向内边距与字号,列宽不受影响
|
|
@@ -13069,6 +13368,8 @@ const FOOTER_SELECTOR = "[data-xh-part=\"footer\"]";
|
|
|
13069
13368
|
* @prop {TableColumnKind[]} prefixColumns - 要哪几列前缀列,按给定顺序插在最前面
|
|
13070
13369
|
* @fires selection-change - 选中集合变化;detail 为 `{ value: string[] | 'all' }`
|
|
13071
13370
|
* @fires expanded-change - 展开集合变化;detail 为 `{ value: string[] }`
|
|
13371
|
+
* @fires row-move - 行换了位置;detail 为 `{ id, parent, index, ids }`,parent 为 null 即根层,index 是在那一层的落位(已算过先摘后插),ids 是重排好的整份行序
|
|
13372
|
+
* @prop {(move: TableRowMoveDetails) => boolean} allowRowDrop - 这一次搬家许不许,收到的是折算好的落点;不给即都许
|
|
13072
13373
|
* @csspart root - role=grid 容器(rows 里有可展开的行时为 treegrid),报行列总数与多选声明
|
|
13073
13374
|
* @csspart caption - 表格标题(aria-labelledby 目标)
|
|
13074
13375
|
* @csspart header - role=rowgroup 表头区
|
|
@@ -13080,6 +13381,10 @@ const FOOTER_SELECTOR = "[data-xh-part=\"footer\"]";
|
|
|
13080
13381
|
* @csspart select-all-trigger - 全选把手,三态(aria-checked 半选为 mixed),自占一个 Tab 位
|
|
13081
13382
|
* @csspart row-select-trigger - 行选择把手(aria-hidden 且不占 Tab 位,键盘那一路由 Space 承担)
|
|
13082
13383
|
* @csspart sort-trigger - 排序把手,自占一个 Tab 位;按住 Shift 点是追加到排序链
|
|
13384
|
+
* @csspart column-resize-trigger - 列宽把手,自占一个 Tab 位;方向键改一步、按住 Shift 是大步
|
|
13385
|
+
* @csspart column-drag-trigger - 列拖拽把手,自占一个 Tab 位;方向键移一位、Home/End 移到可拖区段首末
|
|
13386
|
+
* @csspart row-drag-trigger - 行拖拽把手,触屏那一路的入口(自带 touch-action: none,按下即拖);对读屏隐藏且不占 Tab 位,键盘那一路由表体上的 Alt + 方向键承担
|
|
13387
|
+
* @csspart live-region - 视觉隐藏的播报区,列拖拽过程的读屏文案写在这里;须写在 root 之外(root 是 role=grid,它的子节点只能是 row 与 rowgroup)
|
|
13083
13388
|
* @csspart expand-trigger - 展开把手(aria-hidden 且不占 Tab 位,键盘那一路由左右方向键承担)
|
|
13084
13389
|
* @csspart expanded-row - role=row 详情行,须自带 value 属性与它所属的数据行配对,内部须放一个 cell 承载详情;收起时 hidden
|
|
13085
13390
|
* @csspart empty - 空态节点,表体为空且不在加载时显形
|
|
@@ -13121,6 +13426,11 @@ var XhTableElement = class extends XhElement {
|
|
|
13121
13426
|
borderless: { type: Boolean },
|
|
13122
13427
|
ruled: { type: Boolean },
|
|
13123
13428
|
footer: { type: Boolean },
|
|
13429
|
+
rowReorderable: {
|
|
13430
|
+
type: Boolean,
|
|
13431
|
+
attribute: "row-reorderable"
|
|
13432
|
+
},
|
|
13433
|
+
allowRowDrop: { attribute: false },
|
|
13124
13434
|
loop: { converter: BOOLEAN_CONVERTER$15 },
|
|
13125
13435
|
direction: {
|
|
13126
13436
|
converter: STRING_CONVERTER$20,
|
|
@@ -13156,6 +13466,13 @@ var XhTableElement = class extends XhElement {
|
|
|
13156
13466
|
composed: true
|
|
13157
13467
|
}));
|
|
13158
13468
|
};
|
|
13469
|
+
notifyRowMove = (details) => {
|
|
13470
|
+
this.dispatchEvent(new CustomEvent("row-move", {
|
|
13471
|
+
detail: details,
|
|
13472
|
+
bubbles: true,
|
|
13473
|
+
composed: true
|
|
13474
|
+
}));
|
|
13475
|
+
};
|
|
13159
13476
|
ctrl = new MachineController(this, tableMachine, () => this.machineProps());
|
|
13160
13477
|
machineProps() {
|
|
13161
13478
|
return {
|
|
@@ -13181,12 +13498,15 @@ var XhTableElement = class extends XhElement {
|
|
|
13181
13498
|
borderless: this.borderless ?? false,
|
|
13182
13499
|
ruled: this.ruled ?? false,
|
|
13183
13500
|
footer: this.footer ?? false,
|
|
13501
|
+
rowReorderable: this.rowReorderable ?? false,
|
|
13502
|
+
allowRowDrop: this.allowRowDrop,
|
|
13184
13503
|
loop: this.loop,
|
|
13185
13504
|
dir: this.direction,
|
|
13186
13505
|
size: this.size,
|
|
13187
13506
|
onSortChange: this.notifySort,
|
|
13188
13507
|
onSelectionChange: this.notifySelection,
|
|
13189
|
-
onExpandedChange: this.notifyExpanded
|
|
13508
|
+
onExpandedChange: this.notifyExpanded,
|
|
13509
|
+
onRowMove: this.notifyRowMove
|
|
13190
13510
|
};
|
|
13191
13511
|
}
|
|
13192
13512
|
/** 承载焦点的行被移出 DOM 时上报 TABLE.BLUR,让机器重挑焦点锚点。 */
|
|
@@ -13211,6 +13531,18 @@ var XhTableElement = class extends XhElement {
|
|
|
13211
13531
|
columnOf(el) {
|
|
13212
13532
|
return { value: this.identityOf(el, COLUMN_HEADER_SELECTOR) };
|
|
13213
13533
|
}
|
|
13534
|
+
/**
|
|
13535
|
+
* 播报区节点。第一次用时建出来挂在元素末尾,之后一直复用——
|
|
13536
|
+
* 读屏不播报后插入的节点,等到拾起才建等于没有。
|
|
13537
|
+
*/
|
|
13538
|
+
ensureLiveRegion() {
|
|
13539
|
+
const existing = this.querySelector(`:scope > [data-xh-part="live-region"]`);
|
|
13540
|
+
if (existing) return existing;
|
|
13541
|
+
const el = this.ownerDocument.createElement("div");
|
|
13542
|
+
el.setAttribute("data-xh-part", "live-region");
|
|
13543
|
+
this.append(el);
|
|
13544
|
+
return el;
|
|
13545
|
+
}
|
|
13214
13546
|
/** 按祖先链现查行所在的区段。 */
|
|
13215
13547
|
sectionOf(el) {
|
|
13216
13548
|
const header = el.closest(HEADER_SELECTOR);
|
|
@@ -13257,8 +13589,14 @@ var XhTableElement = class extends XhElement {
|
|
|
13257
13589
|
putAll("select-all-trigger", () => api.getSelectAllTriggerProps());
|
|
13258
13590
|
putAll("row-select-trigger", (el) => api.getRowSelectTriggerProps(this.rowOf(el)));
|
|
13259
13591
|
putAll("sort-trigger", (el) => api.getSortTriggerProps(this.columnOf(el)));
|
|
13592
|
+
putAll("column-resize-trigger", (el) => api.getColumnResizeTriggerProps(this.columnOf(el)));
|
|
13593
|
+
putAll("column-drag-trigger", (el) => api.getColumnDragTriggerProps(this.columnOf(el)));
|
|
13594
|
+
putAll("row-drag-trigger", (el) => api.getRowDragTriggerProps(this.rowOf(el)));
|
|
13260
13595
|
putAll("expand-trigger", (el) => api.getExpandTriggerProps(this.rowOf(el)));
|
|
13261
13596
|
putAll("expanded-row", (el) => api.getExpandedRowProps({ value: el.getAttribute("value") ?? "" }));
|
|
13597
|
+
const live = this.ensureLiveRegion();
|
|
13598
|
+
this.spreader.spread(live, api.getLiveRegionProps());
|
|
13599
|
+
live.textContent = this.ctrl.service.context.get("announcement");
|
|
13262
13600
|
for (const el of this.getParts("row")) if (el.hasAttribute("disabled")) el.removeAttribute("disabled");
|
|
13263
13601
|
for (const el of this.getParts("expanded-row")) this.setPartHidden(el, !api.isExpanded(el.getAttribute("value") ?? ""));
|
|
13264
13602
|
this.setPartHidden(this.getPart("empty"), !!emptyProps.hidden);
|
|
@@ -13269,10 +13607,19 @@ var XhTableElement = class extends XhElement {
|
|
|
13269
13607
|
//#region src/elements/tabs.ts
|
|
13270
13608
|
const STRING_CONVERTER$19 = { fromAttribute: (v) => v ?? void 0 };
|
|
13271
13609
|
const BOOLEAN_CONVERTER$14 = { fromAttribute: (v) => v === null ? void 0 : v !== "false" };
|
|
13610
|
+
/** 标签一系的归属容器:标签内的把手向上找最近的那个 trigger。 */
|
|
13611
|
+
const TRIGGER_SELECTOR = "[data-xh-part=\"trigger\"]";
|
|
13272
13612
|
/**
|
|
13273
13613
|
* `<xh-tabs>` —— Light-DOM 行为宿主,跑 tabs 机器并把 connect 产出打到 root/list/trigger/content
|
|
13274
13614
|
* 角色节点上。条目身份取作者写在 trigger/content 上的 value 属性,trigger 的禁用由部件自报。
|
|
13275
13615
|
*
|
|
13616
|
+
* 读屏文案 `translations` 是对象,属性表达不了,只能走 property(`el.translations = {...}`)。
|
|
13617
|
+
*
|
|
13618
|
+
* 打开 reorderable 后标签可以拖着换位:整个标签都是拖动源。拖动中被拖的标签原地不动,
|
|
13619
|
+
* 只落 data-dragging;落点画在参照标签上,data-drop 为 before/after 即插在这个标签前后。触屏那一路走 tab-drag-trigger 把手。
|
|
13620
|
+
* 键盘走 Alt + 主轴方向键(横排是左右、竖排是上下,横排 rtl 下左右对调),一按就是一次完整提交。
|
|
13621
|
+
* 顺序不由元素保管:换位只发 tab-move,标签序由使用方写回自己的数据源。
|
|
13622
|
+
*
|
|
13276
13623
|
* @customElement xh-tabs
|
|
13277
13624
|
* @attr {string} value - 受控选中值;缺省该属性即非受控
|
|
13278
13625
|
* @attr {string} default-value - 非受控的初始选中值
|
|
@@ -13283,11 +13630,15 @@ const BOOLEAN_CONVERTER$14 = { fromAttribute: (v) => v === null ? void 0 : v !==
|
|
|
13283
13630
|
* @attr {'line'|'card'|'segment'} variant - 形态,默认 line
|
|
13284
13631
|
* @attr {'brand'|'neutral'|'success'|'warning'|'danger'|'info'} tone - 语气
|
|
13285
13632
|
* @attr {'sm'|'md'|'lg'} size - 尺寸
|
|
13633
|
+
* @attr {boolean} reorderable - 标签可以拖着换位,默认关
|
|
13286
13634
|
* @fires value-change - 选中值变化;detail 为 `{ value: string | null }`
|
|
13635
|
+
* @fires tab-move - 标签换了位;detail 为 `{ value, from, to, values }`,values 是重排好的整份标签序
|
|
13287
13636
|
* @csspart root - 组件根容器(承载 data-orientation)
|
|
13288
13637
|
* @csspart list - role=tablist 容器(方向键与 Tab 序列在此收口)
|
|
13638
|
+
* @csspart live-region - 视觉隐藏的播报区,拖动过程的读屏文案写在这里;写在 root 里、与 list 部件平级(root 自己不带角色,它落不进 role=tablist 的子节点集合)
|
|
13289
13639
|
* @csspart trigger - role=tab 的标签按钮,须自带 value 属性标识身份
|
|
13290
13640
|
* @csspart content - role=tabpanel 的面板,须自带 value 属性与 trigger 配对;未选中时 hidden
|
|
13641
|
+
* @csspart tab-drag-trigger - 标签拖拽把手,触屏那一路的入口(自带 touch-action: none,按下即拖);对读屏隐藏且不占 Tab 位,键盘那一路由标签带上的 Alt + 方向键承担
|
|
13291
13642
|
*/
|
|
13292
13643
|
var XhTabsElement = class extends XhElement {
|
|
13293
13644
|
static partContract = {
|
|
@@ -13313,7 +13664,9 @@ var XhTabsElement = class extends XhElement {
|
|
|
13313
13664
|
loop: { converter: BOOLEAN_CONVERTER$14 },
|
|
13314
13665
|
variant: { converter: STRING_CONVERTER$19 },
|
|
13315
13666
|
tone: { converter: STRING_CONVERTER$19 },
|
|
13316
|
-
size: { converter: STRING_CONVERTER$19 }
|
|
13667
|
+
size: { converter: STRING_CONVERTER$19 },
|
|
13668
|
+
reorderable: { type: Boolean },
|
|
13669
|
+
translations: { attribute: false }
|
|
13317
13670
|
};
|
|
13318
13671
|
notify = (details) => {
|
|
13319
13672
|
this.dispatchEvent(new CustomEvent("value-change", {
|
|
@@ -13322,6 +13675,13 @@ var XhTabsElement = class extends XhElement {
|
|
|
13322
13675
|
composed: true
|
|
13323
13676
|
}));
|
|
13324
13677
|
};
|
|
13678
|
+
notifyTabMove = (details) => {
|
|
13679
|
+
this.dispatchEvent(new CustomEvent("tab-move", {
|
|
13680
|
+
detail: details,
|
|
13681
|
+
bubbles: true,
|
|
13682
|
+
composed: true
|
|
13683
|
+
}));
|
|
13684
|
+
};
|
|
13325
13685
|
ctrl = new MachineController(this, tabsMachine, () => this.machineProps());
|
|
13326
13686
|
/** 作者声明的条目禁用,只认首见那一份;给了 collection 时用它,否则现读 */
|
|
13327
13687
|
declaredDisabled = createDeclaredDisabled();
|
|
@@ -13337,7 +13697,10 @@ var XhTabsElement = class extends XhElement {
|
|
|
13337
13697
|
variant: this.variant,
|
|
13338
13698
|
tone: this.tone,
|
|
13339
13699
|
size: this.size,
|
|
13340
|
-
|
|
13700
|
+
reorderable: this.reorderable ?? false,
|
|
13701
|
+
translations: this.translations,
|
|
13702
|
+
onValueChange: this.notify,
|
|
13703
|
+
onTabMove: this.notifyTabMove
|
|
13341
13704
|
};
|
|
13342
13705
|
}
|
|
13343
13706
|
/** 承载焦点的条目被移出 DOM 时浏览器不派 focusout,这里替 DOM 上报焦点离场。 */
|
|
@@ -13348,6 +13711,15 @@ var XhTabsElement = class extends XhElement {
|
|
|
13348
13711
|
if (focusedValue == null) return;
|
|
13349
13712
|
if (nodes.some((el) => el.getAttribute(ITEM_VALUE_ATTR) === focusedValue)) send({ type: "LIST.BLUR" });
|
|
13350
13713
|
}
|
|
13714
|
+
/**
|
|
13715
|
+
* 取把手所属标签的身份:向上找本宿主内最近的 trigger,没有包裹层时退回读节点自身。
|
|
13716
|
+
* 越出本宿主的 trigger 不算数——嵌套 xh-tabs 的内层把手不会认外层的标签。
|
|
13717
|
+
*/
|
|
13718
|
+
/** 把手所属的那个 trigger 节点;把手自己就写在 trigger 上时即它本身。 */
|
|
13719
|
+
triggerElOf(el) {
|
|
13720
|
+
const owner = el.closest(TRIGGER_SELECTOR);
|
|
13721
|
+
return owner && owner !== this && this.contains(owner) ? owner : el;
|
|
13722
|
+
}
|
|
13351
13723
|
wire() {
|
|
13352
13724
|
const api = connectTabs(this.ctrl.service, wcNormalize);
|
|
13353
13725
|
const put = (name, props) => {
|
|
@@ -13356,6 +13728,11 @@ var XhTabsElement = class extends XhElement {
|
|
|
13356
13728
|
};
|
|
13357
13729
|
put("root", api.getRootProps());
|
|
13358
13730
|
put("list", api.getListProps());
|
|
13731
|
+
const live = this.getPart("live-region");
|
|
13732
|
+
if (live) {
|
|
13733
|
+
this.spreader.spread(live, api.getLiveRegionProps());
|
|
13734
|
+
live.textContent = this.ctrl.service.context.get("announcement");
|
|
13735
|
+
}
|
|
13359
13736
|
for (const el of this.getParts("trigger")) {
|
|
13360
13737
|
const props = api.getTriggerProps({
|
|
13361
13738
|
value: el.getAttribute("value") ?? "",
|
|
@@ -13363,6 +13740,14 @@ var XhTabsElement = class extends XhElement {
|
|
|
13363
13740
|
});
|
|
13364
13741
|
this.spreader.spread(el, props);
|
|
13365
13742
|
}
|
|
13743
|
+
for (const el of this.getParts("tab-drag-trigger")) {
|
|
13744
|
+
const trigger = this.triggerElOf(el);
|
|
13745
|
+
const props = api.getTabDragTriggerProps({
|
|
13746
|
+
value: trigger.getAttribute("value") ?? "",
|
|
13747
|
+
disabled: this.collection ? this.declaredDisabled(trigger) : isItemDisabled(trigger)
|
|
13748
|
+
});
|
|
13749
|
+
this.spreader.spread(el, props);
|
|
13750
|
+
}
|
|
13366
13751
|
for (const el of this.getParts("content")) {
|
|
13367
13752
|
const props = api.getContentProps({ value: el.getAttribute("value") ?? "" });
|
|
13368
13753
|
this.spreader.spread(el, props);
|
|
@@ -15501,6 +15886,8 @@ const BOOLEAN_CONVERTER$2 = { fromAttribute: (v) => v === null ? void 0 : v !==
|
|
|
15501
15886
|
const ITEM_SELECTOR$1 = "[data-xh-part=\"item\"]";
|
|
15502
15887
|
/** 分支一系的归属容器;嵌套分支各认最近的那个。 */
|
|
15503
15888
|
const BRANCH_SELECTOR$1 = "[data-xh-part=\"branch\"]";
|
|
15889
|
+
/** 两类节点通吃的归属容器:拖动把手写在叶子里还是分支里都算,取最近的那一个。 */
|
|
15890
|
+
const NODE_SELECTOR = `${ITEM_SELECTOR$1}, ${BRANCH_SELECTOR$1}`;
|
|
15504
15891
|
/**
|
|
15505
15892
|
* `<xh-tree>` —— Light-DOM 行为宿主:作者写 root/label/tree 与若干 item / branch 角色节点,
|
|
15506
15893
|
* 元素跑 tree 机器并把 connect 产出打上去。节点身份取自节点上的 value 属性。
|
|
@@ -15509,7 +15896,13 @@ const BRANCH_SELECTOR$1 = "[data-xh-part=\"branch\"]";
|
|
|
15509
15896
|
* 这份树数据——它是元信息的唯一事实源,作者的标记只管长相,两个适配器也就不会各推各的。
|
|
15510
15897
|
* 因此 collection 必须与标记同源:标记里有、collection 里没有的节点报不出层级,也进不了导航。
|
|
15511
15898
|
*
|
|
15512
|
-
* 树数据与展开/选中集合都是数组,属性表达不了,只能走 property(`el.collection = [...]
|
|
15899
|
+
* 树数据与展开/选中集合都是数组,属性表达不了,只能走 property(`el.collection = [...]`);
|
|
15900
|
+
* 落点校验 `allowDrop`(函数)与读屏文案 `translations`(对象)同理。
|
|
15901
|
+
*
|
|
15902
|
+
* 打开 node-draggable 后节点可以拖着搬家:整个节点都是拖动源。拖动中被拖的节点原地不动,
|
|
15903
|
+
* 只落 data-dragging;落点画在参照节点上——data-drop 为 before/after 是插在这一行前后,
|
|
15904
|
+
* 为 inside 是放进这个分支。触屏那一路走 node-drag-trigger 把手。
|
|
15905
|
+
* 键盘走 Alt + 方向键:上下在同层兄弟间挪,左右改缩进层级(rtl 下左右对调),一按就是一次完整提交。
|
|
15513
15906
|
*
|
|
15514
15907
|
* @customElement xh-tree
|
|
15515
15908
|
* @attr {boolean} multiple - 复选,默认关闭
|
|
@@ -15522,10 +15915,13 @@ const BRANCH_SELECTOR$1 = "[data-xh-part=\"branch\"]";
|
|
|
15522
15915
|
* @attr {boolean} loop - 上下键走到首尾回绕,默认关;写 loop="true" 打开
|
|
15523
15916
|
* @attr {boolean} typeahead - 连打检索,默认开;写 typeahead="false" 关掉
|
|
15524
15917
|
* @attr {'ltr'|'rtl'} dir - 文字方向,只对调左右方向键的展开/收起语义,默认 ltr
|
|
15918
|
+
* @attr {boolean} node-draggable - 节点可以拖着搬家,默认关;不叫 draggable 是因为那是 HTML 全局属性,写在元素上浏览器会拿它接管原生拖放,指针就到不了这里
|
|
15525
15919
|
* @fires expanded-change - 展开集合变化;detail 为 `{ value: string[] }`
|
|
15526
15920
|
* @fires selection-change - 选中集合变化;detail 为 `{ value: string[] }`
|
|
15921
|
+
* @fires node-move - 节点搬了家;detail 为 `{ value, parent, index }`,parent 为 null 即根层,index 是在那一层的落位(已算过先摘后插)
|
|
15527
15922
|
* @csspart root - 组件根容器
|
|
15528
15923
|
* @csspart label - 树标题(aria-labelledby 目标)
|
|
15924
|
+
* @csspart live-region - 视觉隐藏的播报区,拖动过程的读屏文案写在这里;写在 root 里、与 tree 部件平级(root 自己不带角色,它落不进 role=tree 的子节点集合)
|
|
15529
15925
|
* @csspart tree - role=tree 容器,键盘在此收口,也是 roving tabindex 的兜底位
|
|
15530
15926
|
* @csspart item - role=treeitem 叶子,须自带 value 属性标识身份
|
|
15531
15927
|
* @csspart item-text - 叶子文本
|
|
@@ -15538,6 +15934,7 @@ const BRANCH_SELECTOR$1 = "[data-xh-part=\"branch\"]";
|
|
|
15538
15934
|
* @csspart branch-indicator - 展开方向指示符(aria-hidden)
|
|
15539
15935
|
* @csspart branch-text - 分支文本
|
|
15540
15936
|
* @csspart branch-content - role=group 子层容器,收起时隐藏
|
|
15937
|
+
* @csspart node-drag-trigger - 节点拖拽把手,触屏那一路的入口(自带 touch-action: none,按下即拖);对读屏隐藏且不占 Tab 位,键盘那一路由树上的 Alt + 方向键承担
|
|
15541
15938
|
*/
|
|
15542
15939
|
var XhTreeElement = class extends XhElement {
|
|
15543
15940
|
static partContract = {
|
|
@@ -15574,7 +15971,13 @@ var XhTreeElement = class extends XhElement {
|
|
|
15574
15971
|
direction: {
|
|
15575
15972
|
converter: STRING_CONVERTER$3,
|
|
15576
15973
|
attribute: "dir"
|
|
15577
|
-
}
|
|
15974
|
+
},
|
|
15975
|
+
nodeDraggable: {
|
|
15976
|
+
type: Boolean,
|
|
15977
|
+
attribute: "node-draggable"
|
|
15978
|
+
},
|
|
15979
|
+
allowDrop: { attribute: false },
|
|
15980
|
+
translations: { attribute: false }
|
|
15578
15981
|
};
|
|
15579
15982
|
notifyExpanded = (details) => {
|
|
15580
15983
|
this.dispatchEvent(new CustomEvent("expanded-change", {
|
|
@@ -15590,6 +15993,13 @@ var XhTreeElement = class extends XhElement {
|
|
|
15590
15993
|
composed: true
|
|
15591
15994
|
}));
|
|
15592
15995
|
};
|
|
15996
|
+
notifyNodeMove = (details) => {
|
|
15997
|
+
this.dispatchEvent(new CustomEvent("node-move", {
|
|
15998
|
+
detail: details,
|
|
15999
|
+
bubbles: true,
|
|
16000
|
+
composed: true
|
|
16001
|
+
}));
|
|
16002
|
+
};
|
|
15593
16003
|
ctrl = new MachineController(this, treeMachine, () => this.machineProps());
|
|
15594
16004
|
machineProps() {
|
|
15595
16005
|
return {
|
|
@@ -15608,8 +16018,12 @@ var XhTreeElement = class extends XhElement {
|
|
|
15608
16018
|
loop: this.loop,
|
|
15609
16019
|
typeahead: this.typeahead,
|
|
15610
16020
|
dir: this.direction,
|
|
16021
|
+
nodeDraggable: this.nodeDraggable ?? false,
|
|
16022
|
+
allowDrop: this.allowDrop,
|
|
16023
|
+
translations: this.translations,
|
|
15611
16024
|
onExpandedChange: this.notifyExpanded,
|
|
15612
|
-
onSelectionChange: this.notifySelection
|
|
16025
|
+
onSelectionChange: this.notifySelection,
|
|
16026
|
+
onNodeMove: this.notifyNodeMove
|
|
15613
16027
|
};
|
|
15614
16028
|
}
|
|
15615
16029
|
/**
|
|
@@ -15643,6 +16057,11 @@ var XhTreeElement = class extends XhElement {
|
|
|
15643
16057
|
put("root", api.getRootProps());
|
|
15644
16058
|
put("label", api.getLabelProps());
|
|
15645
16059
|
put("tree", api.getTreeProps());
|
|
16060
|
+
const live = this.getPart("live-region");
|
|
16061
|
+
if (live) {
|
|
16062
|
+
this.spreader.spread(live, api.getLiveRegionProps());
|
|
16063
|
+
live.textContent = this.ctrl.service.context.get("announcement");
|
|
16064
|
+
}
|
|
15646
16065
|
const putAll = (name, selector, get) => {
|
|
15647
16066
|
for (const el of this.getParts(name)) this.spreader.spread(el, get(this.nodeOf(el, selector)));
|
|
15648
16067
|
};
|
|
@@ -15657,6 +16076,7 @@ var XhTreeElement = class extends XhElement {
|
|
|
15657
16076
|
putAll("branch-indicator", BRANCH_SELECTOR$1, (node) => api.getBranchIndicatorProps(node));
|
|
15658
16077
|
putAll("branch-text", BRANCH_SELECTOR$1, (node) => api.getBranchTextProps(node));
|
|
15659
16078
|
putAll("branch-content", BRANCH_SELECTOR$1, (node) => api.getBranchContentProps(node));
|
|
16079
|
+
putAll("node-drag-trigger", NODE_SELECTOR, (node) => api.getNodeDragTriggerProps(node));
|
|
15660
16080
|
for (const el of this.getParts("branch-content")) this.setPartHidden(el, !api.isExpanded(this.nodeOf(el, BRANCH_SELECTOR$1).value));
|
|
15661
16081
|
}
|
|
15662
16082
|
};
|
|
@@ -16260,6 +16680,7 @@ function defineXhElements() {
|
|
|
16260
16680
|
defineElement("xh-popconfirm", XhPopconfirmElement, version);
|
|
16261
16681
|
defineElement("xh-popselect", XhPopselectElement, version);
|
|
16262
16682
|
defineElement("xh-qr-code", XhQrCodeElement, version);
|
|
16683
|
+
defineElement("xh-resizable", XhResizableElement, version);
|
|
16263
16684
|
defineElement("xh-result", XhResultElement, version);
|
|
16264
16685
|
defineElement("xh-segmented", XhSegmentedElement, version);
|
|
16265
16686
|
defineElement("xh-signature-pad", XhSignaturePadElement, version);
|
|
@@ -16318,6 +16739,7 @@ function defineXhElements() {
|
|
|
16318
16739
|
defineElement("xh-separator", XhSeparatorElement, version);
|
|
16319
16740
|
defineElement("xh-side-nav", XhSideNavElement, version);
|
|
16320
16741
|
defineElement("xh-slider", XhSliderElement, version);
|
|
16742
|
+
defineElement("xh-sortable", XhSortableElement, version);
|
|
16321
16743
|
defineElement("xh-splitter", XhSplitterElement, version);
|
|
16322
16744
|
defineElement("xh-statistic", XhStatisticElement, version);
|
|
16323
16745
|
defineElement("xh-steps", XhStepsElement, version);
|
|
@@ -16353,6 +16775,6 @@ function defineXhElements() {
|
|
|
16353
16775
|
}
|
|
16354
16776
|
}
|
|
16355
16777
|
//#endregion
|
|
16356
|
-
export { XhAccordionElement, XhAlertElement, XhAnchorElement, XhAvatarElement, XhBadgeElement, XhBreadcrumbElement, XhButtonElement, XhCalendarElement, XhCarouselElement, XhCascaderElement, XhCheckboxElement, XhCheckboxGroupElement, XhClipboardElement, XhCodeBlockElement, XhCollapsibleElement, XhColorPickerElement, XhComboboxElement, XhComposerElement, XhConfigElement, XhContextMenuElement, XhDateFieldElement, XhDatePickerElement, XhDialogElement, XhDownloadTriggerElement, XhDrawerElement, XhEditableElement, XhEmptyStateElement, XhFieldElement, XhFieldsetElement, XhFileUploadElement, XhFloatingPanelElement, XhFormElement, XhHeatmapElement, XhHotkeysElement, XhHoverCardElement, XhIconElement, XhImageCropperElement, XhImageElement, XhImageViewerElement, XhJsonViewerElement, XhListboxElement, XhLoadingBarElement, XhMasonryElement, XhMenuElement, XhMenubarElement, XhNavigationMenuElement, XhNotificationElement, XhNotificationItemElement, XhNumberFieldElement, XhPaginationElement, XhPasswordInputElement, XhPinInputElement, XhPopoverElement, XhProgressElement, XhRadioGroupElement, XhRatingElement, XhScrollAreaElement, XhScrollbarElement, XhSegmentedElement, XhSelectElement, XhSeparatorElement, XhSideNavElement, XhSignaturePadElement, XhSkeletonElement, XhSliderElement, XhSpaceElement, XhSpinnerElement, XhSplitterElement, XhStepsElement, XhSwitchElement, XhTableElement, XhTabsElement, XhTagElement, XhTagsInputElement, XhTextFieldElement, XhThreadElement, XhTimeFieldElement, XhTimePickerElement, XhTimerElement, XhToastElement, XhToggleElement, XhToggleGroupElement, XhToolbarElement, XhTooltipElement, XhTourElement, XhTransferElement, XhTreeElement, XhTreeSelectElement, XhVirtualizerElement, defineXhElements };
|
|
16778
|
+
export { XhAccordionElement, XhAlertElement, XhAnchorElement, XhAvatarElement, XhBadgeElement, XhBreadcrumbElement, XhButtonElement, XhCalendarElement, XhCarouselElement, XhCascaderElement, XhCheckboxElement, XhCheckboxGroupElement, XhClipboardElement, XhCodeBlockElement, XhCollapsibleElement, XhColorPickerElement, XhComboboxElement, XhComposerElement, XhConfigElement, XhContextMenuElement, XhDateFieldElement, XhDatePickerElement, XhDialogElement, XhDownloadTriggerElement, XhDrawerElement, XhEditableElement, XhEmptyStateElement, XhFieldElement, XhFieldsetElement, XhFileUploadElement, XhFloatingPanelElement, XhFormElement, XhHeatmapElement, XhHotkeysElement, XhHoverCardElement, XhIconElement, XhImageCropperElement, XhImageElement, XhImageViewerElement, XhJsonViewerElement, XhListboxElement, XhLoadingBarElement, XhMasonryElement, XhMenuElement, XhMenubarElement, XhNavigationMenuElement, XhNotificationElement, XhNotificationItemElement, XhNumberFieldElement, XhPaginationElement, XhPasswordInputElement, XhPinInputElement, XhPopoverElement, XhProgressElement, XhRadioGroupElement, XhRatingElement, XhResizableElement, XhScrollAreaElement, XhScrollbarElement, XhSegmentedElement, XhSelectElement, XhSeparatorElement, XhSideNavElement, XhSignaturePadElement, XhSkeletonElement, XhSliderElement, XhSortableElement, XhSpaceElement, XhSpinnerElement, XhSplitterElement, XhStepsElement, XhSwitchElement, XhTableElement, XhTabsElement, XhTagElement, XhTagsInputElement, XhTextFieldElement, XhThreadElement, XhTimeFieldElement, XhTimePickerElement, XhTimerElement, XhToastElement, XhToggleElement, XhToggleGroupElement, XhToolbarElement, XhTooltipElement, XhTourElement, XhTransferElement, XhTreeElement, XhTreeSelectElement, XhVirtualizerElement, defineXhElements };
|
|
16357
16779
|
|
|
16358
16780
|
//# sourceMappingURL=define.js.map
|