foucui 1.0.1
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/README.md +43 -0
- package/components/QiuAffix/index.vue +186 -0
- package/components/QiuAlert/index.vue +208 -0
- package/components/QiuAnchor/context.ts +18 -0
- package/components/QiuAnchor/index.vue +180 -0
- package/components/QiuAnchorLink/index.vue +67 -0
- package/components/QiuApp/index.vue +9 -0
- package/components/QiuAutocomplete/index.vue +408 -0
- package/components/QiuAvatar/index.vue +140 -0
- package/components/QiuBacktop/index.vue +121 -0
- package/components/QiuBadge/api/index.ts +389 -0
- package/components/QiuBadge/components/BadgeImagePickerDialog.vue +243 -0
- package/components/QiuBadge/components/BadgeLibraryManagerDialog.vue +30 -0
- package/components/QiuBadge/components/BadgeLibraryPanel.vue +182 -0
- package/components/QiuBadge/composables/useTableHostHeight.ts +53 -0
- package/components/QiuBadge/index.ts +18 -0
- package/components/QiuBadge/shared/BadgeTemplateRenderer.vue +32 -0
- package/components/QiuBadge/shared/assetUrl.ts +26 -0
- package/components/QiuBadge/shared/badgeTemplate.ts +309 -0
- package/components/QiuBadge/utils/chinaAreaData.ts +44 -0
- package/components/QiuBadge/utils/hostRegion.ts +22 -0
- package/components/QiuBadge/utils/pca-code.json +1 -0
- package/components/QiuBadge/utils/pdfFromElement.ts +348 -0
- package/components/QiuBadge/views/BadgeLibraryView.vue +32 -0
- package/components/QiuBadge/views/BadgeManageView.vue +1364 -0
- package/components/QiuBadge/views/BadgeTemplateEditorView.vue +10 -0
- package/components/QiuBadge/views/BadgeTemplateListView.vue +229 -0
- package/components/QiuBadge/views/DeskLabelTemplateListView.vue +227 -0
- package/components/QiuBadge/views/DeskLabelView.vue +683 -0
- package/components/QiuBadgeDot/index.vue +87 -0
- package/components/QiuButton/index.vue +247 -0
- package/components/QiuButtonGroup/index.vue +63 -0
- package/components/QiuCanvasKit/QiuCanvasEditor.vue +5503 -0
- package/components/QiuCanvasKit/QiuCanvasRenderer.vue +348 -0
- package/components/QiuCanvasKit/assetUrl.ts +11 -0
- package/components/QiuCanvasKit/components/DataModulesPanel.vue +352 -0
- package/components/QiuCanvasKit/export/html.ts +132 -0
- package/components/QiuCanvasKit/export/pdf.ts +48 -0
- package/components/QiuCanvasKit/export/png.ts +50 -0
- package/components/QiuCanvasKit/index.ts +20 -0
- package/components/QiuCanvasKit/modules/badgeCompat.ts +84 -0
- package/components/QiuCanvasKit/modules/dataRegistry.ts +207 -0
- package/components/QiuCanvasKit/modules/merge.ts +71 -0
- package/components/QiuCanvasKit/presets/badge.ts +67 -0
- package/components/QiuCanvasKit/presets/banner.ts +79 -0
- package/components/QiuCanvasKit/types.ts +138 -0
- package/components/QiuCard/index.vue +104 -0
- package/components/QiuCarousel/context.ts +16 -0
- package/components/QiuCarousel/index.vue +343 -0
- package/components/QiuCarouselItem/index.vue +47 -0
- package/components/QiuCascader/index.vue +879 -0
- package/components/QiuCascader/types.ts +48 -0
- package/components/QiuCheckbox/QiuCheckboxGroup.vue +78 -0
- package/components/QiuCheckbox/index.vue +231 -0
- package/components/QiuCheckbox/types.ts +8 -0
- package/components/QiuCode/index.vue +64 -0
- package/components/QiuCol/col.scss +55 -0
- package/components/QiuCol/index.vue +64 -0
- package/components/QiuCollapse/context.ts +10 -0
- package/components/QiuCollapse/index.vue +70 -0
- package/components/QiuCollapseItem/index.vue +167 -0
- package/components/QiuColorField/index.vue +296 -0
- package/components/QiuColorPicker/README.md +118 -0
- package/components/QiuColorPicker/index.vue +60 -0
- package/components/QiuColorfulCard/index.vue +101 -0
- package/components/QiuCombobox/index.vue +277 -0
- package/components/QiuConfigProvider/index.vue +31 -0
- package/components/QiuContextMenu/index.vue +209 -0
- package/components/QiuDate/index.vue +1134 -0
- package/components/QiuDescriptions/context.ts +20 -0
- package/components/QiuDescriptions/index.vue +115 -0
- package/components/QiuDescriptionsItem/index.vue +103 -0
- package/components/QiuDialog/index.vue +828 -0
- package/components/QiuDigitalCard/index.vue +159 -0
- package/components/QiuDivider/index.vue +185 -0
- package/components/QiuDot/index.vue +83 -0
- package/components/QiuDrawer/index.vue +350 -0
- package/components/QiuDropdown/QiuDropdownItem.vue +74 -0
- package/components/QiuDropdown/QiuDropdownMenu.vue +22 -0
- package/components/QiuDropdown/context.ts +9 -0
- package/components/QiuDropdown/index.vue +189 -0
- package/components/QiuEmpty/index.vue +73 -0
- package/components/QiuForm/index.vue +172 -0
- package/components/QiuForm/types.ts +39 -0
- package/components/QiuFormItem/index.vue +276 -0
- package/components/QiuFullscreen/index.vue +11 -0
- package/components/QiuGrid/index.vue +408 -0
- package/components/QiuHoverCard/index.vue +192 -0
- package/components/QiuIcon/index.vue +117 -0
- package/components/QiuIconPicker/iconify.libraries.ts +182 -0
- package/components/QiuIconPicker/icons.catalog.ts +3072 -0
- package/components/QiuIconPicker/index.vue +488 -0
- package/components/QiuImage/index.vue +177 -0
- package/components/QiuInput/index.vue +328 -0
- package/components/QiuInputNumber/index.vue +295 -0
- package/components/QiuInputOtp/index.vue +190 -0
- package/components/QiuKbd/index.vue +57 -0
- package/components/QiuLayoutContainer/index.vue +50 -0
- package/components/QiuLinkPreview/index.vue +224 -0
- package/components/QiuLoading/index.ts +176 -0
- package/components/QiuLoading/spinner.vue +820 -0
- package/components/QiuLoading/types.ts +44 -0
- package/components/QiuMention/index.vue +299 -0
- package/components/QiuMenu/QiuMenuRoot.vue +241 -0
- package/components/QiuMenu/components/QiuMenuItem.vue +340 -0
- package/components/QiuMenu/components/QiuSubMenu.vue +504 -0
- package/components/QiuMenu/context.ts +21 -0
- package/components/QiuMenu/index.vue +43 -0
- package/components/QiuMenuNav/QiuMenuNavItem.vue +100 -0
- package/components/QiuMenuNav/QiuMenuNavSub.vue +120 -0
- package/components/QiuMenuNav/context.ts +14 -0
- package/components/QiuMenuNav/index.vue +148 -0
- package/components/QiuMsg/QiuMsgItem.vue +180 -0
- package/components/QiuMsg/index.ts +158 -0
- package/components/QiuMsg/types.ts +23 -0
- package/components/QiuMsgBox/index.ts +147 -0
- package/components/QiuNotification/QiuNotificationItem.vue +168 -0
- package/components/QiuNotification/index.ts +155 -0
- package/components/QiuNotification/types.ts +14 -0
- package/components/QiuPage/index.vue +12 -0
- package/components/QiuPageHeader/index.vue +115 -0
- package/components/QiuPageMain/index.vue +78 -0
- package/components/QiuPagination/index.vue +421 -0
- package/components/QiuPasswordStrength/index.vue +101 -0
- package/components/QiuPopconfirm/index.vue +196 -0
- package/components/QiuPopover/index.vue +277 -0
- package/components/QiuProgress/index.vue +235 -0
- package/components/QiuQrcode/index.vue +302 -0
- package/components/QiuQueryForm/components/QiuQueryFormBottomPanel.vue +13 -0
- package/components/QiuQueryForm/components/QiuQueryFormLeftPanel.vue +37 -0
- package/components/QiuQueryForm/components/QiuQueryFormRightPanel.vue +37 -0
- package/components/QiuQueryForm/components/QiuQueryFormTopPanel.vue +13 -0
- package/components/QiuQueryForm/index.vue +117 -0
- package/components/QiuRadio/QiuRadioGroup.vue +75 -0
- package/components/QiuRadio/index.vue +191 -0
- package/components/QiuRadio/types.ts +9 -0
- package/components/QiuRate/index.vue +184 -0
- package/components/QiuRefresh/index.vue +32 -0
- package/components/QiuResult/index.vue +103 -0
- package/components/QiuRow/index.vue +60 -0
- package/components/QiuRow/types.ts +5 -0
- package/components/QiuScrollbar/index.vue +107 -0
- package/components/QiuSearchBar/index.vue +154 -0
- package/components/QiuSegmented/index.vue +120 -0
- package/components/QiuSelect/QiuOption.vue +93 -0
- package/components/QiuSelect/index.vue +452 -0
- package/components/QiuSelect/types.ts +15 -0
- package/components/QiuSkeleton/index.vue +78 -0
- package/components/QiuSlider/index.vue +266 -0
- package/components/QiuSpace/index.vue +95 -0
- package/components/QiuSparkline/index.vue +92 -0
- package/components/QiuStatistic/index.vue +4 -0
- package/components/QiuStatistics/index.vue +123 -0
- package/components/QiuStep/index.vue +220 -0
- package/components/QiuSteps/context.ts +25 -0
- package/components/QiuSteps/index.vue +84 -0
- package/components/QiuSwitch/index.vue +145 -0
- package/components/QiuTabBar/index.vue +218 -0
- package/components/QiuTabBar/types.ts +19 -0
- package/components/QiuTabPane/index.vue +82 -0
- package/components/QiuTable/columns.ts +16 -0
- package/components/QiuTable/export.ts +102 -0
- package/components/QiuTable/index.ts +24 -0
- package/components/QiuTable/index.vue +3503 -0
- package/components/QiuTable/registry.ts +75 -0
- package/components/QiuTable/styles/table.scss +1230 -0
- package/components/QiuTable/types.ts +413 -0
- package/components/QiuTable/useArea.ts +202 -0
- package/components/QiuTable/useColumns.ts +325 -0
- package/components/QiuTable/useEdit.ts +136 -0
- package/components/QiuTable/useExtras.ts +115 -0
- package/components/QiuTable/useHistory.ts +77 -0
- package/components/QiuTable/useMerge.ts +105 -0
- package/components/QiuTable/useResize.ts +86 -0
- package/components/QiuTable/useScrollSync.ts +152 -0
- package/components/QiuTable/useVirtual.ts +97 -0
- package/components/QiuTable/utils.ts +165 -0
- package/components/QiuTableColumn/index.vue +101 -0
- package/components/QiuTag/index.vue +143 -0
- package/components/QiuText/index.vue +99 -0
- package/components/QiuTime/index.vue +548 -0
- package/components/QiuTimeAgo/index.vue +103 -0
- package/components/QiuTimeline/index.vue +54 -0
- package/components/QiuTimelineItem/index.vue +140 -0
- package/components/QiuTips/index.vue +323 -0
- package/components/QiuTooltip/index.vue +237 -0
- package/components/QiuTransfer/index.vue +277 -0
- package/components/QiuTree/QiuTreeNode.vue +146 -0
- package/components/QiuTree/index.vue +143 -0
- package/components/QiuTree/types.ts +30 -0
- package/components/QiuTreeSelect/index.vue +259 -0
- package/components/QiuTrend/index.vue +92 -0
- package/components/QiuUpload/index.vue +628 -0
- package/components/QiuUploadCrop/index.vue +1267 -0
- package/components/QiuWatermark/index.vue +121 -0
- package/components/useBodyScrollLock.ts +28 -0
- package/dist/components/QiuAnchor/context.d.ts +15 -0
- package/dist/components/QiuAnchorLink/index.vue.d.ts +23 -0
- package/dist/components/QiuBadge/api/index.d.ts +110 -0
- package/dist/components/QiuBadge/components/BadgeImagePickerDialog.vue.d.ts +16 -0
- package/dist/components/QiuBadge/components/BadgeLibraryManagerDialog.vue.d.ts +9 -0
- package/dist/components/QiuBadge/components/BadgeLibraryPanel.vue.d.ts +5 -0
- package/dist/components/QiuBadge/composables/useTableHostHeight.d.ts +7 -0
- package/dist/components/QiuBadge/index.d.ts +18 -0
- package/dist/components/QiuBadge/shared/BadgeTemplateRenderer.vue.d.ts +14 -0
- package/dist/components/QiuBadge/shared/assetUrl.d.ts +1 -0
- package/dist/components/QiuBadge/shared/badgeTemplate.d.ts +132 -0
- package/dist/components/QiuBadge/utils/chinaAreaData.d.ts +9 -0
- package/dist/components/QiuBadge/utils/hostRegion.d.ts +3 -0
- package/dist/components/QiuBadge/utils/pca-code.json.d.ts +3 -0
- package/dist/components/QiuBadge/utils/pdfFromElement.d.ts +14 -0
- package/dist/components/QiuBadge/views/BadgeLibraryView.vue.d.ts +2 -0
- package/dist/components/QiuBadge/views/BadgeManageView.vue.d.ts +7 -0
- package/dist/components/QiuBadge/views/BadgeTemplateListView.vue.d.ts +4 -0
- package/dist/components/QiuBadge/views/DeskLabelTemplateListView.vue.d.ts +4 -0
- package/dist/components/QiuBadge/views/DeskLabelView.vue.d.ts +4 -0
- package/dist/components/QiuButton/index.vue.d.ts +52 -0
- package/dist/components/QiuCanvasKit/QiuCanvasEditor.vue.d.ts +24 -0
- package/dist/components/QiuCanvasKit/QiuCanvasRenderer.vue.d.ts +13 -0
- package/dist/components/QiuCanvasKit/assetUrl.d.ts +7 -0
- package/dist/components/QiuCanvasKit/components/DataModulesPanel.vue.d.ts +23 -0
- package/dist/components/QiuCanvasKit/export/html.d.ts +12 -0
- package/dist/components/QiuCanvasKit/export/pdf.d.ts +9 -0
- package/dist/components/QiuCanvasKit/export/png.d.ts +8 -0
- package/dist/components/QiuCanvasKit/index.d.ts +19 -0
- package/dist/components/QiuCanvasKit/modules/badgeCompat.d.ts +8 -0
- package/dist/components/QiuCanvasKit/modules/dataRegistry.d.ts +23 -0
- package/dist/components/QiuCanvasKit/modules/merge.d.ts +12 -0
- package/dist/components/QiuCanvasKit/presets/badge.d.ts +12 -0
- package/dist/components/QiuCanvasKit/presets/banner.d.ts +4 -0
- package/dist/components/QiuCanvasKit/types.d.ts +119 -0
- package/dist/components/QiuCarousel/context.d.ts +13 -0
- package/dist/components/QiuCarouselItem/index.vue.d.ts +20 -0
- package/dist/components/QiuCascader/types.d.ts +25 -0
- package/dist/components/QiuCheckbox/QiuCheckboxGroup.vue.d.ts +33 -0
- package/dist/components/QiuCheckbox/index.vue.d.ts +38 -0
- package/dist/components/QiuCheckbox/types.d.ts +7 -0
- package/dist/components/QiuCode/index.vue.d.ts +15 -0
- package/dist/components/QiuCollapse/context.d.ts +8 -0
- package/dist/components/QiuCollapseItem/index.vue.d.ts +30 -0
- package/dist/components/QiuColorField/index.vue.d.ts +23 -0
- package/dist/components/QiuColorPicker/index.vue.d.ts +21 -0
- package/dist/components/QiuCombobox/index.vue.d.ts +54 -0
- package/dist/components/QiuContextMenu/index.vue.d.ts +46 -0
- package/dist/components/QiuDescriptions/context.d.ts +16 -0
- package/dist/components/QiuDescriptionsItem/index.vue.d.ts +25 -0
- package/dist/components/QiuDigitalCard/index.vue.d.ts +45 -0
- package/dist/components/QiuDropdown/QiuDropdownItem.vue.d.ts +30 -0
- package/dist/components/QiuDropdown/QiuDropdownMenu.vue.d.ts +17 -0
- package/dist/components/QiuDropdown/context.d.ts +7 -0
- package/dist/components/QiuDropdown/index.vue.d.ts +46 -0
- package/dist/components/QiuForm/types.d.ts +31 -0
- package/dist/components/QiuHoverCard/index.vue.d.ts +44 -0
- package/dist/components/QiuIcon/index.vue.d.ts +18 -0
- package/dist/components/QiuIconPicker/iconify.libraries.d.ts +18 -0
- package/dist/components/QiuIconPicker/icons.catalog.d.ts +12 -0
- package/dist/components/QiuInput/index.vue.d.ts +71 -0
- package/dist/components/QiuInputNumber/index.vue.d.ts +38 -0
- package/dist/components/QiuInputOtp/index.vue.d.ts +28 -0
- package/dist/components/QiuKbd/index.vue.d.ts +22 -0
- package/dist/components/QiuLayoutContainer/index.vue.d.ts +29 -0
- package/dist/components/QiuLinkPreview/index.vue.d.ts +43 -0
- package/dist/components/QiuLoading/index.d.ts +26 -0
- package/dist/components/QiuLoading/spinner.vue.d.ts +14 -0
- package/dist/components/QiuLoading/types.d.ts +2 -0
- package/dist/components/QiuMention/index.vue.d.ts +35 -0
- package/dist/components/QiuMenu/QiuMenuRoot.vue.d.ts +36 -0
- package/dist/components/QiuMenu/context.d.ts +19 -0
- package/dist/components/QiuMenuNav/QiuMenuNavItem.vue.d.ts +26 -0
- package/dist/components/QiuMenuNav/QiuMenuNavSub.vue.d.ts +25 -0
- package/dist/components/QiuMenuNav/context.d.ts +12 -0
- package/dist/components/QiuMenuNav/index.vue.d.ts +35 -0
- package/dist/components/QiuMsg/QiuMsgItem.vue.d.ts +15 -0
- package/dist/components/QiuMsg/index.d.ts +30 -0
- package/dist/components/QiuMsg/types.d.ts +12 -0
- package/dist/components/QiuMsgBox/index.d.ts +14 -0
- package/dist/components/QiuNotification/QiuNotificationItem.vue.d.ts +16 -0
- package/dist/components/QiuNotification/index.d.ts +30 -0
- package/dist/components/QiuNotification/types.d.ts +12 -0
- package/dist/components/QiuPageMain/index.vue.d.ts +27 -0
- package/dist/components/QiuPagination/index.vue.d.ts +44 -0
- package/dist/components/QiuPasswordStrength/index.vue.d.ts +9 -0
- package/dist/components/QiuQrcode/index.vue.d.ts +20 -0
- package/dist/components/QiuRadio/QiuRadioGroup.vue.d.ts +33 -0
- package/dist/components/QiuRadio/types.d.ts +8 -0
- package/dist/components/QiuRow/types.d.ts +4 -0
- package/dist/components/QiuSearchBar/index.vue.d.ts +38 -0
- package/dist/components/QiuSelect/QiuOption.vue.d.ts +24 -0
- package/dist/components/QiuSelect/index.vue.d.ts +52 -0
- package/dist/components/QiuSelect/types.d.ts +13 -0
- package/dist/components/QiuSparkline/index.vue.d.ts +18 -0
- package/dist/components/QiuStep/index.vue.d.ts +31 -0
- package/dist/components/QiuSteps/context.d.ts +21 -0
- package/dist/components/QiuSwitch/index.vue.d.ts +25 -0
- package/dist/components/QiuTabBar/index.vue.d.ts +32 -0
- package/dist/components/QiuTabBar/types.d.ts +16 -0
- package/dist/components/QiuTabPane/index.vue.d.ts +25 -0
- package/dist/components/QiuTable/columns.d.ts +1 -0
- package/dist/components/QiuTable/export.d.ts +18 -0
- package/dist/components/QiuTable/index.d.ts +3 -0
- package/dist/components/QiuTable/index.vue.d.ts +322 -0
- package/dist/components/QiuTable/registry.d.ts +39 -0
- package/dist/components/QiuTable/types.d.ts +353 -0
- package/dist/components/QiuTable/useArea.d.ts +51 -0
- package/dist/components/QiuTable/useColumns.d.ts +67 -0
- package/dist/components/QiuTable/useEdit.d.ts +36 -0
- package/dist/components/QiuTable/useExtras.d.ts +38 -0
- package/dist/components/QiuTable/useHistory.d.ts +44 -0
- package/dist/components/QiuTable/useMerge.d.ts +28 -0
- package/dist/components/QiuTable/useResize.d.ts +19 -0
- package/dist/components/QiuTable/useScrollSync.d.ts +25 -0
- package/dist/components/QiuTable/useVirtual.d.ts +30 -0
- package/dist/components/QiuTable/utils.d.ts +54 -0
- package/dist/components/QiuTime/index.vue.d.ts +43 -0
- package/dist/components/QiuTimeAgo/index.vue.d.ts +35 -0
- package/dist/components/QiuTimelineItem/index.vue.d.ts +35 -0
- package/dist/components/QiuTooltip/index.vue.d.ts +38 -0
- package/dist/components/QiuTree/types.d.ts +13 -0
- package/dist/components/QiuTrend/index.vue.d.ts +34 -0
- package/dist/components/QiuUpload/index.vue.d.ts +86 -0
- package/dist/components/QiuUploadCrop/index.vue.d.ts +136 -0
- package/dist/components/useBodyScrollLock.d.ts +4 -0
- package/dist/foucui.css +1 -0
- package/dist/foucui.js +26509 -0
- package/dist/foucui.umd.cjs +125 -0
- package/dist/index.d.ts +46 -0
- package/dist/src/bridge/@/api/media.d.ts +7 -0
- package/dist/src/bridge/@/api/notice.d.ts +5 -0
- package/dist/src/bridge/@/config/index.d.ts +29 -0
- package/dist/src/bridge/@/config/media.config.d.ts +15 -0
- package/dist/src/bridge/@/config/security.config.d.ts +7 -0
- package/dist/src/bridge/@/i18n/index.d.ts +7 -0
- package/dist/src/bridge/@/store/modules/bing.d.ts +3 -0
- package/dist/src/bridge/@/store/modules/errorLog.d.ts +3 -0
- package/dist/src/bridge/@/store/modules/media.d.ts +4 -0
- package/dist/src/bridge/@/store/modules/routes.d.ts +3 -0
- package/dist/src/bridge/@/store/modules/settings.d.ts +3 -0
- package/dist/src/bridge/@/store/modules/tabs.d.ts +3 -0
- package/dist/src/bridge/@/store/modules/user.d.ts +3 -0
- package/dist/src/bridge/@/utils/convertToCamelCase.d.ts +2 -0
- package/dist/src/bridge/@/utils/index.d.ts +5 -0
- package/dist/src/bridge/@/utils/pageTitle.d.ts +1 -0
- package/dist/src/bridge/@/utils/routes.d.ts +11 -0
- package/dist/src/bridge/@/utils/validate.d.ts +13 -0
- package/dist/src/bridge/@qiu/plugins/shortcuts.d.ts +2 -0
- package/dist/src/i18n.d.ts +2 -0
- package/package.json +83 -0
- package/plugins/qiu.ts +83 -0
- package/plugins/shortcuts.ts +69 -0
- package/src/bridge/@/api/media.ts +8 -0
- package/src/bridge/@/api/notice.ts +5 -0
- package/src/bridge/@/config/index.ts +38 -0
- package/src/bridge/@/config/media.config.ts +37 -0
- package/src/bridge/@/config/security.config.ts +8 -0
- package/src/bridge/@/i18n/index.ts +6 -0
- package/src/bridge/@/store/modules/bing.ts +9 -0
- package/src/bridge/@/store/modules/errorLog.ts +9 -0
- package/src/bridge/@/store/modules/media.ts +10 -0
- package/src/bridge/@/store/modules/routes.ts +10 -0
- package/src/bridge/@/store/modules/settings.ts +9 -0
- package/src/bridge/@/store/modules/tabs.ts +9 -0
- package/src/bridge/@/store/modules/user.ts +9 -0
- package/src/bridge/@/utils/convertToCamelCase.ts +11 -0
- package/src/bridge/@/utils/index.ts +9 -0
- package/src/bridge/@/utils/pageTitle.ts +4 -0
- package/src/bridge/@/utils/routes.ts +14 -0
- package/src/bridge/@/utils/validate.ts +17 -0
- package/src/bridge/@qiu/plugins/shortcuts.ts +3 -0
- package/src/i18n.ts +8 -0
- package/src/icons/qiu-logo.svg +1 -0
- package/styles/dark.scss +194 -0
- package/styles/normalize.css +349 -0
- package/styles/plain.scss +423 -0
- package/styles/qiu-tokens.scss +40 -0
- package/styles/qiu.scss +1149 -0
- package/styles/technology.scss +452 -0
- package/styles/var.scss +382 -0
- package/styles/variables.scss +77 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type PaperKind = 'a4' | 'a3' | 'custom';
|
|
2
|
+
export type PaperOrientation = 'portrait' | 'landscape';
|
|
3
|
+
export interface PaperSpec {
|
|
4
|
+
size: PaperKind;
|
|
5
|
+
orientation?: PaperOrientation;
|
|
6
|
+
widthMm?: number;
|
|
7
|
+
heightMm?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 将 DOM 区域导出为多页 PDF(按纸张高度纵向切片),供证件/桌面贴整版预览下载。
|
|
11
|
+
*/
|
|
12
|
+
export declare function downloadPdfFromHtmlElement(element: HTMLElement, filename: string, paper: PaperKind | PaperSpec): Promise<void>;
|
|
13
|
+
export declare function downloadPdfPagesFromElements(pages: HTMLElement[], filename: string, paper: PaperKind | PaperSpec): Promise<void>;
|
|
14
|
+
export declare function printPdfPagesFromElements(pages: HTMLElement[], title: string, paper: PaperKind | PaperSpec): Promise<void>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
2
|
+
treeRef: unknown;
|
|
3
|
+
tplHostRef: HTMLDivElement;
|
|
4
|
+
taskHostRef: HTMLDivElement;
|
|
5
|
+
pdfExportRoot: HTMLDivElement;
|
|
6
|
+
}, HTMLDivElement>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
2
|
+
hostRef: HTMLDivElement;
|
|
3
|
+
}, HTMLDivElement>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
2
|
+
hostRef: HTMLDivElement;
|
|
3
|
+
}, HTMLDivElement>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
2
|
+
pdfExportRoot: HTMLDivElement;
|
|
3
|
+
}, HTMLDivElement>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
declare const QIU_BUTTON_COLORS: Record<string, string>;
|
|
2
|
+
type QiuButtonType = 'default' | keyof typeof QIU_BUTTON_COLORS | string;
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
type?: QiuButtonType;
|
|
5
|
+
color?: string;
|
|
6
|
+
size?: 'large' | 'default' | 'small';
|
|
7
|
+
plain?: boolean;
|
|
8
|
+
text?: boolean;
|
|
9
|
+
link?: boolean;
|
|
10
|
+
round?: boolean;
|
|
11
|
+
circle?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
nativeType?: 'button' | 'submit' | 'reset';
|
|
15
|
+
tag?: string;
|
|
16
|
+
icon?: string;
|
|
17
|
+
iconRight?: string;
|
|
18
|
+
};
|
|
19
|
+
declare function __VLS_template(): {
|
|
20
|
+
attrs: Partial<{}>;
|
|
21
|
+
slots: {
|
|
22
|
+
icon?(_: {}): any;
|
|
23
|
+
default?(_: {}): any;
|
|
24
|
+
iconRight?(_: {}): any;
|
|
25
|
+
};
|
|
26
|
+
refs: {};
|
|
27
|
+
rootEl: any;
|
|
28
|
+
};
|
|
29
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
30
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
31
|
+
click: (e: MouseEvent) => any;
|
|
32
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
33
|
+
onClick?: (e: MouseEvent) => any;
|
|
34
|
+
}>, {
|
|
35
|
+
link: boolean;
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
type: QiuButtonType;
|
|
38
|
+
circle: boolean;
|
|
39
|
+
text: boolean;
|
|
40
|
+
round: boolean;
|
|
41
|
+
loading: boolean;
|
|
42
|
+
tag: string;
|
|
43
|
+
plain: boolean;
|
|
44
|
+
nativeType: "button" | "submit" | "reset";
|
|
45
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
46
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
47
|
+
export default _default;
|
|
48
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
49
|
+
new (): {
|
|
50
|
+
$slots: S;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BadgeTemplateDoc } from '../QiuBadge/shared/badgeTemplate';
|
|
2
|
+
import { CanvasKitMode } from './types';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
mode?: CanvasKitMode;
|
|
5
|
+
embedded?: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
"update:modelValue": (doc: BadgeTemplateDoc) => any;
|
|
9
|
+
save: (doc: BadgeTemplateDoc) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
"onUpdate:modelValue"?: (doc: BadgeTemplateDoc) => any;
|
|
12
|
+
onSave?: (doc: BadgeTemplateDoc) => any;
|
|
13
|
+
}>, {
|
|
14
|
+
mode: CanvasKitMode;
|
|
15
|
+
embedded: boolean;
|
|
16
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
17
|
+
editorRootRef: HTMLDivElement;
|
|
18
|
+
layoutRef: HTMLDivElement;
|
|
19
|
+
viewportRef: HTMLDivElement;
|
|
20
|
+
hostRef: HTMLDivElement;
|
|
21
|
+
canvasClipRef: HTMLDivElement;
|
|
22
|
+
canvasInnerRef: HTMLDivElement;
|
|
23
|
+
}, HTMLDivElement>;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CanvasKitDoc, MergeContext } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
doc: CanvasKitDoc | null;
|
|
4
|
+
mergeData?: MergeContext | Record<string, string>;
|
|
5
|
+
screenScale?: number;
|
|
6
|
+
enableLinks?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
9
|
+
mergeData: MergeContext | Record<string, string>;
|
|
10
|
+
screenScale: number;
|
|
11
|
+
enableLinks: boolean;
|
|
12
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DataModuleDef } from '../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
modelValue: DataModuleDef[];
|
|
4
|
+
extraModules?: DataModuleDef[];
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
"update:modelValue": (args_0: DataModuleDef[]) => any;
|
|
8
|
+
insert: (token: string, meta: {
|
|
9
|
+
moduleId: string;
|
|
10
|
+
key: string;
|
|
11
|
+
label: string;
|
|
12
|
+
}) => any;
|
|
13
|
+
"preview-context": (ctx: Record<string, string | Record<string, string>>) => any;
|
|
14
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
+
"onUpdate:modelValue"?: (args_0: DataModuleDef[]) => any;
|
|
16
|
+
onInsert?: (token: string, meta: {
|
|
17
|
+
moduleId: string;
|
|
18
|
+
key: string;
|
|
19
|
+
label: string;
|
|
20
|
+
}) => any;
|
|
21
|
+
"onPreview-context"?: (ctx: Record<string, string | Record<string, string>>) => any;
|
|
22
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
23
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CanvasKitDoc, MergeContext } from '../types';
|
|
2
|
+
export type ExportHtmlOptions = {
|
|
3
|
+
fileName?: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
/** 合并后再写死 URL / 文本 */
|
|
6
|
+
context?: MergeContext | Record<string, string>;
|
|
7
|
+
/** 导出单位:优先 canvas.unit */
|
|
8
|
+
forceUnit?: 'mm' | 'px';
|
|
9
|
+
};
|
|
10
|
+
/** 生成自包含 HTML 字符串(Banner 投放用) */
|
|
11
|
+
export declare function buildCanvasHtml(doc: CanvasKitDoc, options?: ExportHtmlOptions): string;
|
|
12
|
+
export declare function downloadCanvasHtml(doc: CanvasKitDoc, options?: ExportHtmlOptions): Blob;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type ExportPdfOptions = {
|
|
2
|
+
fileName?: string;
|
|
3
|
+
/** mm */
|
|
4
|
+
widthMm?: number;
|
|
5
|
+
heightMm?: number;
|
|
6
|
+
scale?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function exportElementToPdf(el: HTMLElement, options?: ExportPdfOptions): Promise<Blob>;
|
|
9
|
+
export declare function downloadElementPdf(el: HTMLElement, options?: ExportPdfOptions): Promise<Blob>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type ExportPngOptions = {
|
|
2
|
+
fileName?: string;
|
|
3
|
+
scale?: number;
|
|
4
|
+
backgroundColor?: string | null;
|
|
5
|
+
};
|
|
6
|
+
export declare function exportElementToPng(el: HTMLElement, options?: ExportPngOptions): Promise<Blob>;
|
|
7
|
+
export declare function downloadBlob(blob: Blob, fileName: string): void;
|
|
8
|
+
export declare function downloadElementPng(el: HTMLElement, options?: ExportPngOptions): Promise<Blob>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QiuCanvasKit — 统一证件 / 桌签 / Banner 画布套件
|
|
3
|
+
* @author qiuye
|
|
4
|
+
* @email yjk150@qq.com
|
|
5
|
+
* @date 2026-08-16
|
|
6
|
+
*/
|
|
7
|
+
export { default as QiuCanvasEditor } from './QiuCanvasEditor.vue';
|
|
8
|
+
export { default as QiuCanvasRenderer } from './QiuCanvasRenderer.vue';
|
|
9
|
+
export { default as QiuCanvasDataModulesPanel } from './components/DataModulesPanel.vue';
|
|
10
|
+
export * from './types';
|
|
11
|
+
export * from './modules/dataRegistry';
|
|
12
|
+
export * from './modules/merge';
|
|
13
|
+
export * from './modules/badgeCompat';
|
|
14
|
+
export * from './presets/badge';
|
|
15
|
+
export * from './presets/banner';
|
|
16
|
+
export * from './export/png';
|
|
17
|
+
export * from './export/pdf';
|
|
18
|
+
export * from './export/html';
|
|
19
|
+
export { resolveAssetUrl } from './assetUrl';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MergeContext } from '../types';
|
|
2
|
+
declare function deriveSchoolShortName(schoolName: string): string;
|
|
3
|
+
/** 将接口返回的一条证件记录转为占位符合并表(扁平,兼容旧模板) */
|
|
4
|
+
export declare function flattenBadgeForMerge(b: Record<string, unknown>, competitionNameFallback?: string): Record<string, string>;
|
|
5
|
+
export declare function flattenDeskLabelForMerge(row: Record<string, unknown>, competitionNameFallback?: string): Record<string, string>;
|
|
6
|
+
/** 扁平行 → 嵌套 context(推荐套打入口) */
|
|
7
|
+
export declare function mapRowToContext(row: Record<string, unknown>, competitionNameFallback?: string): MergeContext;
|
|
8
|
+
export { deriveSchoolShortName };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DataModuleDef, MergeContext } from '../types';
|
|
2
|
+
/** 旧扁平 key → module.field(兼容期) */
|
|
3
|
+
export declare const LEGACY_FLAT_KEY_MAP: Record<string, string>;
|
|
4
|
+
export declare const BUILTIN_DATA_MODULES: DataModuleDef[];
|
|
5
|
+
export declare function cloneBuiltinModules(): DataModuleDef[];
|
|
6
|
+
/** 合并内置 + 模板/业务传入模块 */
|
|
7
|
+
export declare function resolveDataModules(override?: DataModuleDef[] | null, docModules?: DataModuleDef[] | null): DataModuleDef[];
|
|
8
|
+
export declare function placeholderToken(moduleId: string, fieldKey: string): string;
|
|
9
|
+
export declare function listInsertableFields(modules: DataModuleDef[]): {
|
|
10
|
+
moduleId: string;
|
|
11
|
+
moduleLabel: string;
|
|
12
|
+
key: string;
|
|
13
|
+
label: string;
|
|
14
|
+
token: string;
|
|
15
|
+
}[];
|
|
16
|
+
/** 用模块 sample 拼预览上下文 */
|
|
17
|
+
export declare function sampleContextFromModules(modules: DataModuleDef[]): MergeContext;
|
|
18
|
+
/**
|
|
19
|
+
* 旧扁平行 → 嵌套 context(套打时)
|
|
20
|
+
* 同时保留扁平 key,便于兼容旧模板。
|
|
21
|
+
*/
|
|
22
|
+
export declare function mapFlatRowToContext(row: Record<string, unknown>, competitionNameFallback?: string): MergeContext;
|
|
23
|
+
export declare function createCustomModule(label: string, fields?: DataModuleDef['fields']): DataModuleDef;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MergeContext } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* 合并模板文本。
|
|
4
|
+
* context 可为嵌套模块对象,也可混入扁平 string 字段。
|
|
5
|
+
*/
|
|
6
|
+
export declare function mergeTemplateText(text: string, context: MergeContext | Record<string, string>): string;
|
|
7
|
+
/** @deprecated 使用 mergeTemplateText;保留旧名兼容 */
|
|
8
|
+
export declare function mergeBadgeText(text: string, data: Record<string, string>): string;
|
|
9
|
+
export declare function sortCanvasElements<T extends {
|
|
10
|
+
zIndex?: number;
|
|
11
|
+
}>(els: T[]): T[];
|
|
12
|
+
export { sortCanvasElements as sortBadgeElements };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 证件场景默认占位符列表(旧扁平 key,兼容)
|
|
3
|
+
* @author qiuye
|
|
4
|
+
* @email yjk150@qq.com
|
|
5
|
+
* @date 2026-08-16
|
|
6
|
+
*/
|
|
7
|
+
export declare const BADGE_PLACEHOLDER_KEYS: readonly ["competition_name", "student_name", "competition_no", "school_name", "school_short_name", "age_group", "competition_room", "seat_no", "floor", "teacher_name", "date", "session", "enroll_teacher_name", "teacher_phone", "signup_teacher_name", "signup_teacher_phone", "signup_teacher_department", "signup_teacher_position", "signup_teacher_id_card", "signup_teacher_email", "signup_teacher_username", "venue_name", "venue_address", "competition_daily_start", "competition_daily_end"];
|
|
8
|
+
export type BadgePlaceholderKey = (typeof BADGE_PLACEHOLDER_KEYS)[number];
|
|
9
|
+
export declare const BADGE_PLACEHOLDER_LABELS: Record<string, string>;
|
|
10
|
+
export declare const DESK_LABEL_PLACEHOLDER_KEYS: readonly ["competition_name", "student_name", "competition_no", "school_name", "school_short_name", "age_group", "competition_room", "seat_no", "floor", "teacher_name", "date", "session", "enroll_teacher_name", "teacher_phone", "signup_teacher_name", "signup_teacher_phone", "signup_teacher_department", "signup_teacher_position", "signup_teacher_id_card", "signup_teacher_email", "signup_teacher_username", "venue_name", "venue_address", "competition_daily_start", "competition_daily_end"];
|
|
11
|
+
export type DeskLabelPlaceholderKey = BadgePlaceholderKey;
|
|
12
|
+
export declare const DESK_LABEL_PLACEHOLDER_LABELS: Record<string, string>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CanvasKitDoc, DataModuleDef } from '../types';
|
|
2
|
+
export declare const BANNER_DEFAULT_MODULES: DataModuleDef[];
|
|
3
|
+
export declare function createBannerDoc(partial?: Partial<CanvasKitDoc>): CanvasKitDoc;
|
|
4
|
+
export declare function createBadgeDoc(partial?: Partial<CanvasKitDoc>): CanvasKitDoc;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QiuCanvasKit 类型:统一证件 / 桌签 / Banner 画布文档
|
|
3
|
+
* @author qiuye
|
|
4
|
+
* @email yjk150@qq.com
|
|
5
|
+
* @date 2026-08-16
|
|
6
|
+
*/
|
|
7
|
+
export type CanvasKitMode = 'badge' | 'desk' | 'banner';
|
|
8
|
+
export type DataFieldType = 'string' | 'number' | 'image' | 'url';
|
|
9
|
+
export type DataFieldDef = {
|
|
10
|
+
key: string;
|
|
11
|
+
label: string;
|
|
12
|
+
type?: DataFieldType;
|
|
13
|
+
};
|
|
14
|
+
export type DataModuleDef = {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
fields: DataFieldDef[];
|
|
18
|
+
sample?: Record<string, string>;
|
|
19
|
+
/** 内置模块不可删;自定义可删 */
|
|
20
|
+
builtin?: boolean;
|
|
21
|
+
enabled?: boolean;
|
|
22
|
+
};
|
|
23
|
+
/** 嵌套合并上下文:{ student: { name }, classroom: { name } } */
|
|
24
|
+
export type MergeContext = Record<string, Record<string, string> | string>;
|
|
25
|
+
export type ElementLink = {
|
|
26
|
+
href: string;
|
|
27
|
+
target?: '_blank' | '_self';
|
|
28
|
+
};
|
|
29
|
+
export interface CanvasKitCanvas {
|
|
30
|
+
widthMm: number;
|
|
31
|
+
heightMm: number;
|
|
32
|
+
/** Banner 可用 px;与 widthMm 二选一优先 px */
|
|
33
|
+
widthPx?: number;
|
|
34
|
+
heightPx?: number;
|
|
35
|
+
background?: string;
|
|
36
|
+
backgroundImage?: string;
|
|
37
|
+
showBorder?: boolean;
|
|
38
|
+
borderColor?: string;
|
|
39
|
+
borderWidthMm?: number;
|
|
40
|
+
unit?: 'mm' | 'px';
|
|
41
|
+
}
|
|
42
|
+
export interface CanvasKitRegion {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
xMm: number;
|
|
46
|
+
yMm: number;
|
|
47
|
+
wMm: number;
|
|
48
|
+
hMm: number;
|
|
49
|
+
background?: string;
|
|
50
|
+
backgroundImage?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface CanvasKitElementBase {
|
|
53
|
+
id: string;
|
|
54
|
+
zIndex: number;
|
|
55
|
+
xMm: number;
|
|
56
|
+
yMm: number;
|
|
57
|
+
wMm: number;
|
|
58
|
+
hMm: number;
|
|
59
|
+
rotation?: number;
|
|
60
|
+
flipX?: boolean;
|
|
61
|
+
flipY?: boolean;
|
|
62
|
+
groupId?: string;
|
|
63
|
+
regionId?: string;
|
|
64
|
+
align?: string;
|
|
65
|
+
link?: ElementLink;
|
|
66
|
+
}
|
|
67
|
+
export interface CanvasKitTextElement extends CanvasKitElementBase {
|
|
68
|
+
type: 'text';
|
|
69
|
+
text: string;
|
|
70
|
+
fontSize: number;
|
|
71
|
+
fontFamily: string;
|
|
72
|
+
color: string;
|
|
73
|
+
textDirection?: 'horizontal' | 'vertical';
|
|
74
|
+
}
|
|
75
|
+
export interface CanvasKitImageElement extends CanvasKitElementBase {
|
|
76
|
+
type: 'image' | 'seal';
|
|
77
|
+
src: string;
|
|
78
|
+
clipboardSource?: 'clipboard';
|
|
79
|
+
clipboardUploadState?: 'pending' | 'uploaded';
|
|
80
|
+
clipboardUploadKey?: string;
|
|
81
|
+
clipboardImageId?: number;
|
|
82
|
+
clipboardOrigName?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface CanvasKitShapeElement extends CanvasKitElementBase {
|
|
85
|
+
type: 'shape';
|
|
86
|
+
shape: 'rect' | 'circle' | 'triangle' | 'line' | 'polygon' | 'trapezoid';
|
|
87
|
+
background?: string;
|
|
88
|
+
lockAspectRatio?: boolean;
|
|
89
|
+
showStroke?: boolean;
|
|
90
|
+
strokeColor?: string;
|
|
91
|
+
strokeWidthMm?: number;
|
|
92
|
+
opacity?: number;
|
|
93
|
+
polygonSides?: number;
|
|
94
|
+
}
|
|
95
|
+
export type CanvasKitElement = CanvasKitTextElement | CanvasKitImageElement | CanvasKitShapeElement;
|
|
96
|
+
export interface CanvasKitGuideLine {
|
|
97
|
+
id: string;
|
|
98
|
+
axis: 'horizontal' | 'vertical';
|
|
99
|
+
offsetMm: number;
|
|
100
|
+
}
|
|
101
|
+
export interface CanvasKitDoc {
|
|
102
|
+
version: number;
|
|
103
|
+
mode?: CanvasKitMode;
|
|
104
|
+
canvas: CanvasKitCanvas;
|
|
105
|
+
elements: CanvasKitElement[];
|
|
106
|
+
guides?: CanvasKitGuideLine[];
|
|
107
|
+
regions?: CanvasKitRegion[];
|
|
108
|
+
/** 模板级数据模块(启用/自定义) */
|
|
109
|
+
dataModules?: DataModuleDef[];
|
|
110
|
+
}
|
|
111
|
+
/** 兼容旧证件模板类型别名 */
|
|
112
|
+
export type BadgeTemplateDoc = CanvasKitDoc;
|
|
113
|
+
export type BadgeElement = CanvasKitElement;
|
|
114
|
+
export type BadgeTextElement = CanvasKitTextElement;
|
|
115
|
+
export type BadgeImageElement = CanvasKitImageElement;
|
|
116
|
+
export type BadgeShapeElement = CanvasKitShapeElement;
|
|
117
|
+
export type BadgeTemplateCanvas = CanvasKitCanvas;
|
|
118
|
+
export type BadgeCanvasRegion = CanvasKitRegion;
|
|
119
|
+
export type BadgeGuideLine = CanvasKitGuideLine;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InjectionKey, Ref } from 'vue';
|
|
2
|
+
export interface QiuCarouselItemRegistration {
|
|
3
|
+
uid: number;
|
|
4
|
+
name?: string | number;
|
|
5
|
+
}
|
|
6
|
+
export interface QiuCarouselContext {
|
|
7
|
+
activeIndex: Ref<number>;
|
|
8
|
+
itemCount: Ref<number>;
|
|
9
|
+
registerItem: (item: QiuCarouselItemRegistration) => number;
|
|
10
|
+
unregisterItem: (uid: number) => void;
|
|
11
|
+
loop: Ref<boolean>;
|
|
12
|
+
}
|
|
13
|
+
export declare const QIU_CAROUSEL_KEY: InjectionKey<QiuCarouselContext>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
name?: string | number;
|
|
3
|
+
};
|
|
4
|
+
declare function __VLS_template(): {
|
|
5
|
+
attrs: Partial<{}>;
|
|
6
|
+
slots: {
|
|
7
|
+
default?(_: {}): any;
|
|
8
|
+
};
|
|
9
|
+
refs: {};
|
|
10
|
+
rootEl: HTMLDivElement;
|
|
11
|
+
};
|
|
12
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
13
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
14
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
15
|
+
export default _default;
|
|
16
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
17
|
+
new (): {
|
|
18
|
+
$slots: S;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** 级联选项(字段名可由 props 配置) */
|
|
2
|
+
export type QiuCascaderOption = Record<string, any>;
|
|
3
|
+
export interface QiuCascaderPropsConfig {
|
|
4
|
+
/** 选项值字段,默认 value */
|
|
5
|
+
value?: string;
|
|
6
|
+
/** 选项文案字段,默认 label */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** 子级字段,默认 children */
|
|
9
|
+
children?: string;
|
|
10
|
+
/** 禁用字段,默认 disabled */
|
|
11
|
+
disabled?: string;
|
|
12
|
+
/** 是否多选 */
|
|
13
|
+
multiple?: boolean;
|
|
14
|
+
/** 是否允许选择任意一级(非仅叶子) */
|
|
15
|
+
checkStrictly?: boolean;
|
|
16
|
+
/** 是否返回完整路径;false 时只返回末级 value */
|
|
17
|
+
emitPath?: boolean;
|
|
18
|
+
/** 展开方式 */
|
|
19
|
+
expandTrigger?: 'click' | 'hover';
|
|
20
|
+
}
|
|
21
|
+
export type QiuCascaderValue = string | number | Array<string | number> | Array<Array<string | number>> | null;
|
|
22
|
+
export declare function getOptValue(opt: QiuCascaderOption, cfg: QiuCascaderPropsConfig): string | number;
|
|
23
|
+
export declare function getOptLabel(opt: QiuCascaderOption, cfg: QiuCascaderPropsConfig): string;
|
|
24
|
+
export declare function getOptChildren(opt: QiuCascaderOption, cfg: QiuCascaderPropsConfig): QiuCascaderOption[] | undefined;
|
|
25
|
+
export declare function isOptDisabled(opt: QiuCascaderOption, cfg: QiuCascaderPropsConfig): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue?: (string | number)[];
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
/** default | button */
|
|
5
|
+
type?: 'default' | 'button';
|
|
6
|
+
};
|
|
7
|
+
declare function __VLS_template(): {
|
|
8
|
+
attrs: Partial<{}>;
|
|
9
|
+
slots: {
|
|
10
|
+
default?(_: {}): any;
|
|
11
|
+
};
|
|
12
|
+
refs: {};
|
|
13
|
+
rootEl: HTMLDivElement;
|
|
14
|
+
};
|
|
15
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
16
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
17
|
+
"update:modelValue": (args_0: (string | number)[]) => any;
|
|
18
|
+
change: (args_0: (string | number)[]) => any;
|
|
19
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
20
|
+
"onUpdate:modelValue"?: (args_0: (string | number)[]) => any;
|
|
21
|
+
onChange?: (args_0: (string | number)[]) => any;
|
|
22
|
+
}>, {
|
|
23
|
+
modelValue: (string | number)[];
|
|
24
|
+
disabled: boolean;
|
|
25
|
+
type: "default" | "button";
|
|
26
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
27
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
28
|
+
export default _default;
|
|
29
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
30
|
+
new (): {
|
|
31
|
+
$slots: S;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue?: boolean | string | number;
|
|
3
|
+
/** 选项值(用于 CheckboxGroup);勿用 boolean,否则 Vue 会把未传当成 false 并显示成文字 */
|
|
4
|
+
label?: string | number;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
indeterminate?: boolean;
|
|
7
|
+
trueLabel?: string | number;
|
|
8
|
+
falseLabel?: string | number;
|
|
9
|
+
border?: boolean;
|
|
10
|
+
};
|
|
11
|
+
declare function __VLS_template(): {
|
|
12
|
+
attrs: Partial<{}>;
|
|
13
|
+
slots: {
|
|
14
|
+
default?(_: {}): any;
|
|
15
|
+
};
|
|
16
|
+
refs: {};
|
|
17
|
+
rootEl: HTMLLabelElement;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
20
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
21
|
+
"update:modelValue": (args_0: string | number | boolean) => any;
|
|
22
|
+
change: (args_0: string | number | boolean) => any;
|
|
23
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
24
|
+
"onUpdate:modelValue"?: (args_0: string | number | boolean) => any;
|
|
25
|
+
onChange?: (args_0: string | number | boolean) => any;
|
|
26
|
+
}>, {
|
|
27
|
+
modelValue: boolean | string | number;
|
|
28
|
+
disabled: boolean;
|
|
29
|
+
border: boolean;
|
|
30
|
+
indeterminate: boolean;
|
|
31
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLLabelElement>;
|
|
32
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
33
|
+
export default _default;
|
|
34
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
35
|
+
new (): {
|
|
36
|
+
$slots: S;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
code?: string;
|
|
3
|
+
/** 语言标识,仅做展示用途 */
|
|
4
|
+
language?: string;
|
|
5
|
+
/** 是否自动换行 */
|
|
6
|
+
wrap?: boolean;
|
|
7
|
+
theme?: 'light' | 'dark';
|
|
8
|
+
};
|
|
9
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
10
|
+
code: string;
|
|
11
|
+
language: string;
|
|
12
|
+
wrap: boolean;
|
|
13
|
+
theme: "light" | "dark";
|
|
14
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLPreElement>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionKey, Ref } from 'vue';
|
|
2
|
+
export interface QiuCollapseContext {
|
|
3
|
+
activeNames: Ref<(string | number)[]>;
|
|
4
|
+
accordion: Ref<boolean>;
|
|
5
|
+
toggleItem: (name: string | number) => void;
|
|
6
|
+
isActive: (name: string | number) => boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const QIU_COLLAPSE_KEY: InjectionKey<QiuCollapseContext>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
name: string | number;
|
|
3
|
+
title?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare function __VLS_template(): {
|
|
7
|
+
attrs: Partial<{}>;
|
|
8
|
+
slots: {
|
|
9
|
+
title?(_: {}): any;
|
|
10
|
+
default?(_: {}): any;
|
|
11
|
+
};
|
|
12
|
+
refs: {
|
|
13
|
+
contentRef: HTMLDivElement;
|
|
14
|
+
};
|
|
15
|
+
rootEl: HTMLDivElement;
|
|
16
|
+
};
|
|
17
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
title: string;
|
|
21
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
22
|
+
contentRef: HTMLDivElement;
|
|
23
|
+
}, HTMLDivElement>;
|
|
24
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
presets?: string[];
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
clearable?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
+
"update:modelValue": (args_0: string) => any;
|
|
10
|
+
change: (args_0: string) => any;
|
|
11
|
+
clear: () => any;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
"onUpdate:modelValue"?: (args_0: string) => any;
|
|
14
|
+
onChange?: (args_0: string) => any;
|
|
15
|
+
onClear?: () => any;
|
|
16
|
+
}>, {
|
|
17
|
+
modelValue: string;
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
placeholder: string;
|
|
20
|
+
presets: string[];
|
|
21
|
+
clearable: boolean;
|
|
22
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
23
|
+
export default _default;
|