@talex-touch/tuffex 0.3.3 → 0.3.4
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 +49 -221
- package/dist/es/agents/index.js +1 -1
- package/dist/es/alert/index.d.ts +104 -1
- package/dist/es/alert/index.js +6 -0
- package/dist/es/alert/src/TxAlert.vue.d.ts +1 -0
- package/dist/es/alert/src/TxAlert.vue.js +2 -2
- package/dist/es/alert/src/TxAlert.vue2.js +6 -2
- package/dist/es/auto-sizer/index.js +1 -1
- package/dist/es/auto-sizer/src/TxAutoSizer.vue.js +2 -2
- package/dist/es/avatar/index.js +1 -1
- package/dist/es/avatar/src/TxAvatar.vue.js +1 -1
- package/dist/es/avatar/src/TxAvatar.vue2.js +47 -6
- package/dist/es/avatar/src/TxAvatarGroup.vue.js +1 -1
- package/dist/es/avatar/src/TxAvatarGroup.vue2.js +1 -1
- package/dist/es/avatar/src/types.d.ts +2 -1
- package/dist/es/badge/index.d.ts +78 -1
- package/dist/es/badge/index.js +6 -0
- package/dist/es/badge/src/TxBadge.vue.js +2 -2
- package/dist/es/base-anchor/index.d.ts +464 -0
- package/dist/es/base-anchor/index.js +6 -0
- package/dist/es/base-anchor/src/TxBaseAnchor.vue.d.ts +124 -0
- package/dist/es/base-anchor/src/TxBaseAnchor.vue.js +7 -0
- package/dist/es/base-anchor/src/TxBaseAnchor.vue2.js +798 -0
- package/dist/es/base-anchor/src/types.d.ts +36 -0
- package/dist/es/base-surface/index.d.ts +561 -0
- package/dist/es/base-surface/index.js +7 -0
- package/dist/es/base-surface/src/TxBaseSurface.vue.d.ts +123 -0
- package/dist/es/base-surface/src/TxBaseSurface.vue.js +1012 -0
- package/dist/es/base-surface/src/TxBaseSurface.vue2.js +6 -0
- package/dist/es/base-surface/src/style/index.css +105 -0
- package/dist/es/base-surface/src/types.d.ts +87 -0
- package/dist/es/blank-slate/index.d.ts +9 -9
- package/dist/es/blank-slate/index.js +1 -1
- package/dist/es/button/index.d.ts +45 -15
- package/dist/es/button/index.js +2 -1
- package/dist/es/button/src/button.vue.d.ts +7 -1
- package/dist/es/button/src/button.vue.js +50 -20
- package/dist/es/button/src/split-button.vue.js +31 -5
- package/dist/es/button/src/style/index.css +72 -15
- package/dist/es/button/src/types.d.ts +4 -0
- package/dist/es/card/index.d.ts +236 -56
- package/dist/es/card/index.js +1 -1
- package/dist/es/card/src/TxCard.vue.d.ts +40 -4
- package/dist/es/card/src/TxCard.vue.js +1 -1
- package/dist/es/card/src/TxCard.vue2.js +288 -57
- package/dist/es/card/src/types.d.ts +14 -1
- package/dist/es/card-item/index.d.ts +7 -7
- package/dist/es/card-item/index.js +1 -1
- package/dist/es/cascader/index.d.ts +15 -15
- package/dist/es/cascader/index.js +1 -1
- package/dist/es/cascader/src/TxCascader.vue.d.ts +1 -1
- package/dist/es/cascader/src/TxCascader.vue.js +1 -1
- package/dist/es/cascader/src/TxCascader.vue2.js +1 -3
- package/dist/es/chat/index.d.ts +18 -18
- package/dist/es/chat/index.js +1 -1
- package/dist/es/chat/src/TxChatComposer.vue.js +1 -1
- package/dist/es/chat/src/TxChatComposer.vue2.js +1 -0
- package/dist/es/chat/src/TxTypingIndicator.vue.d.ts +1 -1
- package/dist/es/code-editor/index.d.ts +387 -0
- package/dist/es/code-editor/index.js +8 -0
- package/dist/es/code-editor/src/TxCodeEditor.vue.d.ts +117 -0
- package/dist/es/code-editor/src/TxCodeEditor.vue.js +7 -0
- package/dist/es/code-editor/src/TxCodeEditor.vue2.js +658 -0
- package/dist/es/code-editor/src/TxCodeEditorToolbar.vue.d.ts +40 -0
- package/dist/es/code-editor/src/TxCodeEditorToolbar.vue.js +7 -0
- package/dist/es/code-editor/src/TxCodeEditorToolbar.vue2.js +89 -0
- package/dist/es/code-editor/src/types.d.ts +47 -0
- package/dist/es/command-palette/index.js +1 -1
- package/dist/es/command-palette/src/TxCommandPalette.vue.js +1 -1
- package/dist/es/command-palette/src/TxCommandPalette.vue2.js +128 -21
- package/dist/es/components.css +4253 -3117
- package/dist/es/components.d.ts +15 -2
- package/dist/es/components.js +44 -7
- package/dist/es/container/src/TxCol.vue.d.ts +1 -1
- package/dist/es/container/src/TxCol.vue2.js +1 -1
- package/dist/es/container/src/TxContainer.vue.d.ts +1 -1
- package/dist/es/container/src/TxRow.vue.d.ts +2 -2
- package/dist/es/container/src/TxRow.vue2.js +1 -1
- package/dist/es/context-menu/index.js +1 -1
- package/dist/es/context-menu/src/TxContextMenu.vue.js +1 -1
- package/dist/es/context-menu/src/TxContextMenu.vue2.js +4 -1
- package/dist/es/corner-overlay/index.js +1 -1
- package/dist/es/data-table/index.d.ts +15 -15
- package/dist/es/data-table/index.js +1 -1
- package/dist/es/data-table/src/TxDataTable.vue.d.ts +1 -1
- package/dist/es/date-picker/index.js +1 -1
- package/dist/es/dialog/index.js +1 -1
- package/dist/es/dialog/src/TxBlowDialog.vue.js +6 -2
- package/dist/es/dialog/src/TxBottomDialog.vue.js +1 -1
- package/dist/es/dialog/src/TxBottomDialog.vue2.js +6 -2
- package/dist/es/dialog/src/TxPopperDialog.vue.js +6 -2
- package/dist/es/dialog/src/TxTouchTip.vue.js +1 -1
- package/dist/es/dialog/src/TxTouchTip.vue2.js +25 -22
- package/dist/es/dialog/src/types.d.ts +1 -1
- package/dist/es/drawer/index.d.ts +24 -30
- package/dist/es/drawer/index.js +1 -1
- package/dist/es/drawer/src/TxDrawer.vue.d.ts +1 -4
- package/dist/es/drawer/src/TxDrawer.vue.js +8 -2
- package/dist/es/dropdown-menu/index.d.ts +81 -18
- package/dist/es/dropdown-menu/index.js +1 -1
- package/dist/es/dropdown-menu/src/TxDropdownMenu.vue.d.ts +11 -2
- package/dist/es/dropdown-menu/src/TxDropdownMenu.vue.js +1 -1
- package/dist/es/dropdown-menu/src/TxDropdownMenu.vue2.js +13 -3
- package/dist/es/dropdown-menu/src/types.d.ts +8 -1
- package/dist/es/edge-fade-mask/index.d.ts +120 -0
- package/dist/es/edge-fade-mask/index.js +6 -0
- package/dist/es/edge-fade-mask/src/TxEdgeFadeMask.vue.d.ts +51 -0
- package/dist/es/edge-fade-mask/src/TxEdgeFadeMask.vue.js +7 -0
- package/dist/es/edge-fade-mask/src/TxEdgeFadeMask.vue2.js +154 -0
- package/dist/es/edge-fade-mask/src/types.d.ts +9 -0
- package/dist/es/empty/index.js +1 -1
- package/dist/es/empty-state/index.d.ts +9 -9
- package/dist/es/empty-state/index.js +1 -1
- package/dist/es/empty-state/src/TxEmptyState.vue.js +1 -1
- package/dist/es/empty-state/src/TxEmptyState.vue2.js +25 -17
- package/dist/es/error-state/index.d.ts +131 -0
- package/dist/es/error-state/index.js +6 -0
- package/dist/es/error-state/src/TxErrorState.vue.d.ts +13 -0
- package/dist/es/error-state/src/TxErrorState.vue.js +35 -0
- package/dist/es/error-state/src/TxErrorState.vue2.js +5 -0
- package/dist/es/error-state/src/types.d.ts +3 -0
- package/dist/es/file-uploader/index.js +1 -1
- package/dist/es/flat-radio/index.d.ts +201 -0
- package/dist/es/flat-radio/index.js +8 -0
- package/dist/es/flat-radio/src/TxFlatRadio.vue.d.ts +51 -0
- package/dist/es/flat-radio/src/TxFlatRadio.vue.js +7 -0
- package/dist/es/flat-radio/src/TxFlatRadio.vue2.js +237 -0
- package/dist/es/flat-radio/src/TxFlatRadioItem.vue.d.ts +43 -0
- package/dist/es/flat-radio/src/TxFlatRadioItem.vue.js +7 -0
- package/dist/es/flat-radio/src/TxFlatRadioItem.vue2.js +87 -0
- package/dist/es/flat-radio/src/types.d.ts +28 -0
- package/dist/es/flat-radio/src/types.js +3 -0
- package/dist/es/flat-select/index.d.ts +159 -0
- package/dist/es/flat-select/index.js +8 -0
- package/dist/es/flat-select/src/TxFlatSelect.vue.d.ts +56 -0
- package/dist/es/flat-select/src/TxFlatSelect.vue.js +7 -0
- package/dist/es/flat-select/src/TxFlatSelect.vue2.js +208 -0
- package/dist/es/flat-select/src/TxFlatSelectItem.vue.d.ts +47 -0
- package/dist/es/flat-select/src/TxFlatSelectItem.vue.js +7 -0
- package/dist/es/flat-select/src/TxFlatSelectItem.vue2.js +71 -0
- package/dist/es/flat-select/src/types.d.ts +21 -0
- package/dist/es/flat-select/src/types.js +3 -0
- package/dist/es/flex/index.d.ts +33 -33
- package/dist/es/flex/index.js +1 -1
- package/dist/es/flex/src/TxFlex.vue.d.ts +3 -3
- package/dist/es/flip-overlay/index.d.ts +579 -0
- package/dist/es/flip-overlay/index.js +7 -0
- package/dist/es/flip-overlay/src/TxFlipOverlay.vue.d.ts +175 -0
- package/dist/es/flip-overlay/src/TxFlipOverlay.vue.js +982 -0
- package/dist/es/flip-overlay/src/TxFlipOverlay.vue3.js +6 -0
- package/dist/es/flip-overlay/src/types.d.ts +53 -0
- package/dist/es/floating/index.d.ts +145 -0
- package/dist/es/floating/index.js +8 -0
- package/dist/es/floating/src/TxFloating.vue.d.ts +45 -0
- package/dist/es/floating/src/TxFloating.vue.js +7 -0
- package/dist/es/floating/src/TxFloating.vue2.js +118 -0
- package/dist/es/floating/src/TxFloatingElement.vue.d.ts +39 -0
- package/dist/es/floating/src/TxFloatingElement.vue.js +7 -0
- package/dist/es/floating/src/TxFloatingElement.vue2.js +43 -0
- package/dist/es/floating/src/context.d.ts +7 -0
- package/dist/es/floating/src/context.js +3 -0
- package/dist/es/floating/src/types.d.ts +10 -0
- package/dist/es/form/index.d.ts +9 -9
- package/dist/es/form/index.js +1 -1
- package/dist/es/fusion/index.d.ts +15 -15
- package/dist/es/fusion/index.js +1 -1
- package/dist/es/fusion/src/TxFusion.vue.d.ts +1 -1
- package/dist/es/glass-surface/index.d.ts +30 -30
- package/dist/es/glass-surface/index.js +1 -1
- package/dist/es/glass-surface/src/TxGlassSurface.vue.d.ts +2 -2
- package/dist/es/glass-surface/src/TxGlassSurface.vue.js +16 -38
- package/dist/es/glow-text/index.d.ts +24 -6
- package/dist/es/glow-text/index.js +1 -1
- package/dist/es/glow-text/src/TxGlowText.vue.d.ts +3 -3
- package/dist/es/glow-text/src/TxGlowText.vue.js +1 -1
- package/dist/es/glow-text/src/TxGlowText.vue2.js +93 -10
- package/dist/es/glow-text/src/types.d.ts +2 -0
- package/dist/es/gradient-border/index.js +1 -1
- package/dist/es/gradual-blur/index.d.ts +42 -42
- package/dist/es/gradual-blur/index.js +1 -1
- package/dist/es/gradual-blur/src/TxGradualBlur.vue.d.ts +3 -3
- package/dist/es/gradual-blur/src/TxGradualBlur.vue.js +1 -1
- package/dist/es/grid/src/TxGrid.vue.d.ts +2 -2
- package/dist/es/grid/src/TxGrid.vue2.js +1 -1
- package/dist/es/grid-layout/index.js +1 -1
- package/dist/es/group-block/index.d.ts +321 -4
- package/dist/es/group-block/index.js +8 -2
- package/dist/es/group-block/src/TxBlockInput.vue.d.ts +90 -0
- package/dist/es/group-block/src/TxBlockInput.vue.js +94 -0
- package/dist/es/group-block/src/TxBlockInput.vue3.js +6 -0
- package/dist/es/group-block/src/TxBlockSelect.vue.d.ts +73 -0
- package/dist/es/group-block/src/TxBlockSelect.vue.js +76 -0
- package/dist/es/group-block/src/TxBlockSelect.vue3.js +6 -0
- package/dist/es/group-block/src/TxGroupBlock.vue.js +1 -1
- package/dist/es/group-block/src/types.d.ts +138 -0
- package/dist/es/guide-state/index.d.ts +131 -0
- package/dist/es/guide-state/index.js +6 -0
- package/dist/es/guide-state/src/TxGuideState.vue.d.ts +13 -0
- package/dist/es/guide-state/src/TxGuideState.vue.js +35 -0
- package/dist/es/guide-state/src/TxGuideState.vue2.js +5 -0
- package/dist/es/guide-state/src/types.d.ts +3 -0
- package/dist/es/icon/index.js +1 -1
- package/dist/es/icon/src/TxIcon.vue.js +1 -1
- package/dist/es/icon/src/TxIcon.vue2.js +10 -4
- package/dist/es/image-gallery/index.js +1 -1
- package/dist/es/image-uploader/index.js +1 -1
- package/dist/es/index.js +53 -13
- package/dist/es/input/index.d.ts +211 -1
- package/dist/es/input/index.js +2 -1
- package/dist/es/input/src/TxInput.vue.d.ts +21 -11
- package/dist/es/input/src/TxInput.vue.js +1 -1
- package/dist/es/input/src/TxInput.vue2.js +80 -23
- package/dist/es/keyframe-stroke-text/index.d.ts +146 -0
- package/dist/es/keyframe-stroke-text/index.js +6 -0
- package/dist/es/keyframe-stroke-text/src/TxKeyframeStrokeText.vue.d.ts +48 -0
- package/dist/es/keyframe-stroke-text/src/TxKeyframeStrokeText.vue.js +7 -0
- package/dist/es/keyframe-stroke-text/src/TxKeyframeStrokeText.vue2.js +102 -0
- package/dist/es/keyframe-stroke-text/src/types.d.ts +10 -0
- package/dist/es/layout-skeleton/index.js +1 -1
- package/dist/es/loading-overlay/index.d.ts +15 -15
- package/dist/es/loading-overlay/index.js +1 -1
- package/dist/es/loading-overlay/src/TxLoadingOverlay.vue.d.ts +1 -1
- package/dist/es/loading-overlay/src/TxLoadingOverlay.vue.js +12 -2
- package/dist/es/loading-state/index.d.ts +9 -9
- package/dist/es/loading-state/index.js +1 -1
- package/dist/es/markdown-view/index.d.ts +3 -3
- package/dist/es/markdown-view/index.js +1 -1
- package/dist/es/markdown-view/src/TxMarkdownView.vue.js +3 -2
- package/dist/es/modal/index.js +1 -1
- package/dist/es/modal/src/TxModal.vue.js +1 -1
- package/dist/es/modal/src/TxModal.vue2.js +26 -4
- package/dist/es/nav-bar/index.js +1 -1
- package/dist/es/no-data/index.d.ts +9 -9
- package/dist/es/no-data/index.js +1 -1
- package/dist/es/no-selection/index.d.ts +9 -9
- package/dist/es/no-selection/index.js +1 -1
- package/dist/es/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/properties.js +62 -0
- package/dist/es/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/toml.js +76 -0
- package/dist/es/node_modules/.pnpm/@lezer_common@1.5.0/node_modules/@lezer/common/dist/index.js +252 -0
- package/dist/es/node_modules/.pnpm/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.js +682 -0
- package/dist/es/offline-state/index.d.ts +9 -9
- package/dist/es/offline-state/index.js +1 -1
- package/dist/es/outline-border/index.d.ts +18 -18
- package/dist/es/outline-border/index.js +1 -1
- package/dist/es/outline-border/src/TxOutlineBorder.vue.d.ts +1 -1
- package/dist/es/{utils → packages/tuffex/packages/utils}/toast.js +4 -1
- package/dist/es/packages/tuffex/packages/utils/z-index-manager.js +114 -0
- package/dist/es/packages/utils/env/index.js +8 -0
- package/dist/es/permission-state/index.d.ts +9 -9
- package/dist/es/permission-state/index.js +1 -1
- package/dist/es/picker/index.js +1 -1
- package/dist/es/picker/src/TxPicker.vue.js +1 -1
- package/dist/es/picker/src/TxPicker.vue2.js +6 -1
- package/dist/es/popover/index.d.ts +195 -82
- package/dist/es/popover/index.js +1 -1
- package/dist/es/popover/src/TxPopover.vue.d.ts +33 -16
- package/dist/es/popover/src/TxPopover.vue.js +1 -1
- package/dist/es/popover/src/TxPopover.vue2.js +147 -317
- package/dist/es/popover/src/types.d.ts +14 -3
- package/dist/es/progress-bar/index.d.ts +21 -21
- package/dist/es/progress-bar/index.js +1 -1
- package/dist/es/progress-bar/src/TxProgressBar.vue.d.ts +1 -1
- package/dist/es/radio/index.js +1 -1
- package/dist/es/radio/src/TxRadioGroup.vue2.js +1 -1
- package/dist/es/scroll/index.d.ts +42 -12
- package/dist/es/scroll/index.js +1 -1
- package/dist/es/scroll/src/TxScroll.vue.d.ts +11 -1
- package/dist/es/scroll/src/TxScroll.vue.js +1 -1
- package/dist/es/scroll/src/TxScroll.vue2.js +25 -13
- package/dist/es/scroll/src/runtime-capabilities.d.ts +2 -0
- package/dist/es/scroll/src/runtime-capabilities.js +67 -0
- package/dist/es/search-empty/index.d.ts +9 -9
- package/dist/es/search-empty/index.js +1 -1
- package/dist/es/search-input/index.js +1 -1
- package/dist/es/search-select/index.d.ts +9 -9
- package/dist/es/search-select/index.js +1 -1
- package/dist/es/search-select/src/TxSearchSelect.vue.d.ts +1 -1
- package/dist/es/search-select/src/TxSearchSelect.vue.js +1 -1
- package/dist/es/search-select/src/TxSearchSelect.vue2.js +105 -178
- package/dist/es/search-select/src/types.d.ts +1 -1
- package/dist/es/segmented-slider/index.js +1 -1
- package/dist/es/segmented-slider/src/TxSegmentedSlider.vue.js +1 -0
- package/dist/es/select/index.d.ts +366 -4
- package/dist/es/select/index.js +6 -9
- package/dist/es/select/src/TxSelect.vue.d.ts +23 -23
- package/dist/es/select/src/TxSelect.vue.js +2 -2
- package/dist/es/select/src/TxSelect.vue2.js +203 -152
- package/dist/es/select/src/TxSelectItem.vue.js +2 -2
- package/dist/es/select/src/TxSelectItem.vue2.js +44 -7
- package/dist/es/select/src/types.d.ts +34 -0
- package/dist/es/select/src/types.js +3 -0
- package/dist/es/skeleton/index.d.ts +7 -7
- package/dist/es/skeleton/index.js +1 -1
- package/dist/es/slider/index.d.ts +4 -4
- package/dist/es/slider/index.js +1 -1
- package/dist/es/sortable-list/index.js +1 -1
- package/dist/es/sortable-list/src/TxSortableList.vue.js +1 -1
- package/dist/es/sortable-list/src/TxSortableList.vue2.js +1 -1
- package/dist/es/spinner/index.d.ts +1 -1
- package/dist/es/spinner/index.js +1 -1
- package/dist/es/splitter/index.d.ts +15 -15
- package/dist/es/splitter/index.js +1 -1
- package/dist/es/splitter/src/TxSplitter.vue.d.ts +1 -1
- package/dist/es/stack/index.d.ts +33 -33
- package/dist/es/stack/index.js +1 -1
- package/dist/es/stack/src/TxStack.vue.d.ts +3 -3
- package/dist/es/stagger/index.d.ts +15 -15
- package/dist/es/stagger/index.js +1 -1
- package/dist/es/stagger/src/TxStagger.vue.d.ts +1 -1
- package/dist/es/stat-card/index.d.ts +46 -3
- package/dist/es/stat-card/index.js +1 -1
- package/dist/es/stat-card/src/TxStatCard.vue.d.ts +5 -1
- package/dist/es/stat-card/src/TxStatCard.vue.js +1 -1
- package/dist/es/stat-card/src/TxStatCard.vue2.js +247 -19
- package/dist/es/stat-card/src/types.d.ts +15 -0
- package/dist/es/status-badge/index.js +1 -1
- package/dist/es/switch/index.js +1 -0
- package/dist/es/tab-bar/index.d.ts +15 -15
- package/dist/es/tab-bar/index.js +1 -1
- package/dist/es/tab-bar/src/TxTabBar.vue.d.ts +1 -1
- package/dist/es/tabs/index.d.ts +18 -3
- package/dist/es/tabs/index.js +1 -1
- package/dist/es/tabs/src/TxTabs.vue.d.ts +10 -1
- package/dist/es/tabs/src/TxTabs.vue.js +1 -1
- package/dist/es/tabs/src/TxTabs.vue2.js +3 -1
- package/dist/es/tabs/src/types.d.ts +1 -0
- package/dist/es/tag/index.js +1 -1
- package/dist/es/tag-input/index.js +1 -1
- package/dist/es/text-transformer/index.d.ts +1 -1
- package/dist/es/text-transformer/index.js +1 -1
- package/dist/es/toast/index.js +1 -1
- package/dist/es/toast/src/TxToastHost.vue.js +18 -17
- package/dist/es/tooltip/index.d.ts +75 -178
- package/dist/es/tooltip/index.js +1 -1
- package/dist/es/tooltip/src/TxTooltip.vue.d.ts +21 -40
- package/dist/es/tooltip/src/TxTooltip.vue.js +1 -1
- package/dist/es/tooltip/src/TxTooltip.vue2.js +102 -350
- package/dist/es/tooltip/src/types.d.ts +8 -13
- package/dist/es/transfer/index.d.ts +131 -0
- package/dist/es/transfer/index.js +6 -0
- package/dist/es/transfer/src/TxTransfer.vue.d.ts +48 -0
- package/dist/es/transfer/src/TxTransfer.vue.js +7 -0
- package/dist/es/transfer/src/TxTransfer.vue2.js +217 -0
- package/dist/es/transfer/src/types.d.ts +17 -0
- package/dist/es/transition/index.d.ts +30 -30
- package/dist/es/transition/index.js +1 -1
- package/dist/es/transition/src/TxTransition.vue.d.ts +1 -1
- package/dist/es/transition/src/TxTransitionSmoothSize.vue.d.ts +1 -1
- package/dist/es/tree/index.d.ts +15 -15
- package/dist/es/tree/index.js +1 -1
- package/dist/es/tree/src/TxTree.vue.d.ts +1 -1
- package/dist/es/tree/src/TxTree.vue.js +1 -1
- package/dist/es/tree/src/TxTree.vue2.js +3 -2
- package/dist/es/tree/src/types.d.ts +1 -0
- package/dist/es/tree-select/index.d.ts +9 -9
- package/dist/es/tree-select/index.js +1 -1
- package/dist/es/tree-select/src/TxTreeSelect.vue.d.ts +1 -1
- package/dist/es/tree-select/src/TxTreeSelect.vue.js +1 -1
- package/dist/es/tree-select/src/TxTreeSelect.vue2.js +0 -2
- package/dist/es/tuff-logo-stroke/index.d.ts +146 -0
- package/dist/es/tuff-logo-stroke/index.js +6 -0
- package/dist/es/tuff-logo-stroke/src/TxTuffLogoStroke.vue.d.ts +48 -0
- package/dist/es/tuff-logo-stroke/src/TxTuffLogoStroke.vue.js +7 -0
- package/dist/es/tuff-logo-stroke/src/TxTuffLogoStroke.vue2.js +147 -0
- package/dist/es/tuff-logo-stroke/src/types.d.ts +10 -0
- package/dist/es/virtual-list/index.js +1 -1
- package/dist/lib/agents/index.js +1 -1
- package/dist/lib/alert/index.js +11 -0
- package/dist/lib/alert/src/TxAlert.vue.js +2 -2
- package/dist/lib/alert/src/TxAlert.vue2.js +5 -1
- package/dist/lib/auto-sizer/index.js +1 -1
- package/dist/lib/auto-sizer/src/TxAutoSizer.vue.js +2 -2
- package/dist/lib/avatar/index.js +1 -1
- package/dist/lib/avatar/src/TxAvatar.vue.js +1 -1
- package/dist/lib/avatar/src/TxAvatar.vue2.js +47 -6
- package/dist/lib/avatar/src/TxAvatarGroup.vue.js +1 -1
- package/dist/lib/avatar/src/TxAvatarGroup.vue2.js +1 -1
- package/dist/lib/badge/index.js +11 -0
- package/dist/lib/badge/src/TxBadge.vue.js +2 -2
- package/dist/lib/base-anchor/index.js +12 -0
- package/dist/lib/base-anchor/src/TxBaseAnchor.vue.js +11 -0
- package/dist/lib/base-anchor/src/TxBaseAnchor.vue2.js +802 -0
- package/dist/lib/base-surface/index.js +13 -0
- package/dist/lib/base-surface/src/TxBaseSurface.vue.js +1016 -0
- package/dist/lib/base-surface/src/TxBaseSurface.vue2.js +10 -0
- package/dist/lib/base-surface/src/style/index.css +105 -0
- package/dist/lib/blank-slate/index.js +1 -1
- package/dist/lib/button/index.js +2 -1
- package/dist/lib/button/src/button.vue.js +49 -19
- package/dist/lib/button/src/split-button.vue.js +30 -4
- package/dist/lib/button/src/style/index.css +72 -15
- package/dist/lib/card/index.js +1 -1
- package/dist/lib/card/src/TxCard.vue.js +1 -1
- package/dist/lib/card/src/TxCard.vue2.js +285 -54
- package/dist/lib/card-item/index.js +1 -1
- package/dist/lib/cascader/index.js +1 -1
- package/dist/lib/cascader/src/TxCascader.vue.js +1 -1
- package/dist/lib/cascader/src/TxCascader.vue2.js +1 -3
- package/dist/lib/chat/index.js +1 -1
- package/dist/lib/chat/src/TxChatComposer.vue.js +1 -1
- package/dist/lib/chat/src/TxChatComposer.vue2.js +1 -0
- package/dist/lib/code-editor/index.js +16 -0
- package/dist/lib/code-editor/src/TxCodeEditor.vue.js +11 -0
- package/dist/lib/code-editor/src/TxCodeEditor.vue2.js +662 -0
- package/dist/lib/code-editor/src/TxCodeEditorToolbar.vue.js +11 -0
- package/dist/lib/code-editor/src/TxCodeEditorToolbar.vue2.js +93 -0
- package/dist/lib/command-palette/index.js +1 -1
- package/dist/lib/command-palette/src/TxCommandPalette.vue.js +1 -1
- package/dist/lib/command-palette/src/TxCommandPalette.vue2.js +127 -20
- package/dist/lib/components.css +4253 -3117
- package/dist/lib/components.js +255 -178
- package/dist/lib/container/src/TxCol.vue2.js +1 -1
- package/dist/lib/container/src/TxRow.vue2.js +1 -1
- package/dist/lib/context-menu/index.js +1 -1
- package/dist/lib/context-menu/src/TxContextMenu.vue.js +1 -1
- package/dist/lib/context-menu/src/TxContextMenu.vue2.js +4 -1
- package/dist/lib/corner-overlay/index.js +1 -1
- package/dist/lib/data-table/index.js +1 -1
- package/dist/lib/date-picker/index.js +1 -1
- package/dist/lib/dialog/index.js +1 -1
- package/dist/lib/dialog/src/TxBlowDialog.vue.js +5 -1
- package/dist/lib/dialog/src/TxBottomDialog.vue.js +1 -1
- package/dist/lib/dialog/src/TxBottomDialog.vue2.js +5 -1
- package/dist/lib/dialog/src/TxPopperDialog.vue.js +5 -1
- package/dist/lib/dialog/src/TxTouchTip.vue.js +1 -1
- package/dist/lib/dialog/src/TxTouchTip.vue2.js +24 -21
- package/dist/lib/drawer/index.js +1 -1
- package/dist/lib/drawer/src/TxDrawer.vue.js +8 -2
- package/dist/lib/dropdown-menu/index.js +1 -1
- package/dist/lib/dropdown-menu/src/TxDropdownMenu.vue.js +1 -1
- package/dist/lib/dropdown-menu/src/TxDropdownMenu.vue2.js +13 -3
- package/dist/lib/edge-fade-mask/index.js +12 -0
- package/dist/lib/edge-fade-mask/src/TxEdgeFadeMask.vue.js +11 -0
- package/dist/lib/edge-fade-mask/src/TxEdgeFadeMask.vue2.js +158 -0
- package/dist/lib/empty/index.js +1 -1
- package/dist/lib/empty-state/index.js +1 -1
- package/dist/lib/empty-state/src/TxEmptyState.vue.js +1 -1
- package/dist/lib/empty-state/src/TxEmptyState.vue2.js +25 -17
- package/dist/lib/error-state/index.js +11 -0
- package/dist/lib/error-state/src/TxErrorState.vue.js +39 -0
- package/dist/lib/error-state/src/TxErrorState.vue2.js +9 -0
- package/dist/lib/file-uploader/index.js +1 -1
- package/dist/lib/flat-radio/index.js +16 -0
- package/dist/lib/flat-radio/src/TxFlatRadio.vue.js +11 -0
- package/dist/lib/flat-radio/src/TxFlatRadio.vue2.js +241 -0
- package/dist/lib/flat-radio/src/TxFlatRadioItem.vue.js +11 -0
- package/dist/lib/flat-radio/src/TxFlatRadioItem.vue2.js +91 -0
- package/dist/lib/flat-radio/src/types.js +7 -0
- package/dist/lib/flat-select/index.js +16 -0
- package/dist/lib/flat-select/src/TxFlatSelect.vue.js +11 -0
- package/dist/lib/flat-select/src/TxFlatSelect.vue2.js +212 -0
- package/dist/lib/flat-select/src/TxFlatSelectItem.vue.js +11 -0
- package/dist/lib/flat-select/src/TxFlatSelectItem.vue2.js +75 -0
- package/dist/lib/flat-select/src/types.js +7 -0
- package/dist/lib/flex/index.js +1 -1
- package/dist/lib/flip-overlay/index.js +13 -0
- package/dist/lib/flip-overlay/src/TxFlipOverlay.vue.js +986 -0
- package/dist/lib/flip-overlay/src/TxFlipOverlay.vue3.js +10 -0
- package/dist/lib/floating/index.js +16 -0
- package/dist/lib/floating/src/TxFloating.vue.js +11 -0
- package/dist/lib/floating/src/TxFloating.vue2.js +122 -0
- package/dist/lib/floating/src/TxFloatingElement.vue.js +11 -0
- package/dist/lib/floating/src/TxFloatingElement.vue2.js +47 -0
- package/dist/lib/floating/src/context.js +7 -0
- package/dist/lib/form/index.js +1 -1
- package/dist/lib/fusion/index.js +1 -1
- package/dist/lib/glass-surface/index.js +1 -1
- package/dist/lib/glass-surface/src/TxGlassSurface.vue.js +15 -37
- package/dist/lib/glow-text/index.js +1 -1
- package/dist/lib/glow-text/src/TxGlowText.vue.js +1 -1
- package/dist/lib/glow-text/src/TxGlowText.vue2.js +92 -9
- package/dist/lib/gradient-border/index.js +1 -1
- package/dist/lib/gradual-blur/index.js +1 -1
- package/dist/lib/gradual-blur/src/TxGradualBlur.vue.js +1 -1
- package/dist/lib/grid/src/TxGrid.vue2.js +1 -1
- package/dist/lib/grid-layout/index.js +1 -1
- package/dist/lib/group-block/index.js +11 -1
- package/dist/lib/group-block/src/TxBlockInput.vue.js +98 -0
- package/dist/lib/group-block/src/TxBlockInput.vue3.js +10 -0
- package/dist/lib/group-block/src/TxBlockSelect.vue.js +80 -0
- package/dist/lib/group-block/src/TxBlockSelect.vue3.js +10 -0
- package/dist/lib/group-block/src/TxGroupBlock.vue.js +1 -1
- package/dist/lib/guide-state/index.js +11 -0
- package/dist/lib/guide-state/src/TxGuideState.vue.js +39 -0
- package/dist/lib/guide-state/src/TxGuideState.vue2.js +9 -0
- package/dist/lib/icon/index.js +1 -1
- package/dist/lib/icon/src/TxIcon.vue.js +1 -1
- package/dist/lib/icon/src/TxIcon.vue2.js +9 -3
- package/dist/lib/image-gallery/index.js +1 -1
- package/dist/lib/image-uploader/index.js +1 -1
- package/dist/lib/index.js +269 -182
- package/dist/lib/input/index.js +7 -5
- package/dist/lib/input/src/TxInput.vue.js +1 -1
- package/dist/lib/input/src/TxInput.vue2.js +79 -22
- package/dist/lib/keyframe-stroke-text/index.js +12 -0
- package/dist/lib/keyframe-stroke-text/src/TxKeyframeStrokeText.vue.js +11 -0
- package/dist/lib/keyframe-stroke-text/src/TxKeyframeStrokeText.vue2.js +106 -0
- package/dist/lib/layout-skeleton/index.js +1 -1
- package/dist/lib/loading-overlay/index.js +1 -1
- package/dist/lib/loading-overlay/src/TxLoadingOverlay.vue.js +11 -1
- package/dist/lib/loading-state/index.js +1 -1
- package/dist/lib/markdown-view/index.js +1 -1
- package/dist/lib/markdown-view/src/TxMarkdownView.vue.js +3 -2
- package/dist/lib/modal/index.js +1 -1
- package/dist/lib/modal/src/TxModal.vue.js +1 -1
- package/dist/lib/modal/src/TxModal.vue2.js +25 -3
- package/dist/lib/nav-bar/index.js +1 -1
- package/dist/lib/no-data/index.js +1 -1
- package/dist/lib/no-selection/index.js +1 -1
- package/dist/lib/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/properties.js +66 -0
- package/dist/lib/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/toml.js +80 -0
- package/dist/lib/node_modules/.pnpm/@lezer_common@1.5.0/node_modules/@lezer/common/dist/index.js +257 -0
- package/dist/lib/node_modules/.pnpm/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.js +688 -0
- package/dist/lib/offline-state/index.js +1 -1
- package/dist/lib/outline-border/index.js +1 -1
- package/dist/lib/{utils → packages/tuffex/packages/utils}/toast.js +4 -1
- package/dist/lib/packages/tuffex/packages/utils/z-index-manager.js +124 -0
- package/dist/lib/packages/utils/env/index.js +13 -0
- package/dist/lib/permission-state/index.js +1 -1
- package/dist/lib/picker/index.js +1 -1
- package/dist/lib/picker/src/TxPicker.vue.js +1 -1
- package/dist/lib/picker/src/TxPicker.vue2.js +6 -1
- package/dist/lib/popover/index.js +1 -1
- package/dist/lib/popover/src/TxPopover.vue.js +1 -1
- package/dist/lib/popover/src/TxPopover.vue2.js +146 -316
- package/dist/lib/progress-bar/index.js +1 -1
- package/dist/lib/radio/index.js +1 -1
- package/dist/lib/radio/src/TxRadioGroup.vue2.js +1 -1
- package/dist/lib/scroll/index.js +1 -1
- package/dist/lib/scroll/src/TxScroll.vue.js +1 -1
- package/dist/lib/scroll/src/TxScroll.vue2.js +25 -13
- package/dist/lib/scroll/src/runtime-capabilities.js +72 -0
- package/dist/lib/search-empty/index.js +1 -1
- package/dist/lib/search-input/index.js +1 -1
- package/dist/lib/search-select/index.js +1 -1
- package/dist/lib/search-select/src/TxSearchSelect.vue.js +1 -1
- package/dist/lib/search-select/src/TxSearchSelect.vue2.js +104 -177
- package/dist/lib/segmented-slider/index.js +1 -1
- package/dist/lib/segmented-slider/src/TxSegmentedSlider.vue.js +1 -0
- package/dist/lib/select/index.js +6 -9
- package/dist/lib/select/src/TxSelect.vue.js +2 -2
- package/dist/lib/select/src/TxSelect.vue2.js +202 -151
- package/dist/lib/select/src/TxSelectItem.vue.js +2 -2
- package/dist/lib/select/src/TxSelectItem.vue2.js +43 -6
- package/dist/lib/select/src/types.js +7 -0
- package/dist/lib/skeleton/index.js +1 -1
- package/dist/lib/slider/index.js +1 -1
- package/dist/lib/sortable-list/index.js +1 -1
- package/dist/lib/sortable-list/src/TxSortableList.vue.js +1 -1
- package/dist/lib/sortable-list/src/TxSortableList.vue2.js +1 -1
- package/dist/lib/spinner/index.js +1 -1
- package/dist/lib/splitter/index.js +1 -1
- package/dist/lib/stack/index.js +1 -1
- package/dist/lib/stagger/index.js +1 -1
- package/dist/lib/stat-card/index.js +1 -1
- package/dist/lib/stat-card/src/TxStatCard.vue.js +1 -1
- package/dist/lib/stat-card/src/TxStatCard.vue2.js +246 -18
- package/dist/lib/status-badge/index.js +1 -1
- package/dist/lib/switch/index.js +1 -0
- package/dist/lib/tab-bar/index.js +1 -1
- package/dist/lib/tabs/index.js +1 -1
- package/dist/lib/tabs/src/TxTabs.vue.js +1 -1
- package/dist/lib/tabs/src/TxTabs.vue2.js +3 -1
- package/dist/lib/tag/index.js +1 -1
- package/dist/lib/tag-input/index.js +1 -1
- package/dist/lib/text-transformer/index.js +1 -1
- package/dist/lib/toast/index.js +1 -1
- package/dist/lib/toast/src/TxToastHost.vue.js +17 -16
- package/dist/lib/tooltip/index.js +1 -1
- package/dist/lib/tooltip/src/TxTooltip.vue.js +1 -1
- package/dist/lib/tooltip/src/TxTooltip.vue2.js +101 -349
- package/dist/lib/transfer/index.js +12 -0
- package/dist/lib/transfer/src/TxTransfer.vue.js +11 -0
- package/dist/lib/transfer/src/TxTransfer.vue2.js +221 -0
- package/dist/lib/transition/index.js +1 -1
- package/dist/lib/tree/index.js +1 -1
- package/dist/lib/tree/src/TxTree.vue.js +1 -1
- package/dist/lib/tree/src/TxTree.vue2.js +3 -2
- package/dist/lib/tree-select/index.js +1 -1
- package/dist/lib/tree-select/src/TxTreeSelect.vue.js +1 -1
- package/dist/lib/tree-select/src/TxTreeSelect.vue2.js +0 -2
- package/dist/lib/tuff-logo-stroke/index.js +12 -0
- package/dist/lib/tuff-logo-stroke/src/TxTuffLogoStroke.vue.js +11 -0
- package/dist/lib/tuff-logo-stroke/src/TxTuffLogoStroke.vue2.js +151 -0
- package/dist/lib/virtual-list/index.js +1 -1
- package/package.json +37 -25
- package/dist/es/button/__tests__/button.test.d.ts +0 -1
- package/dist/es/button/__tests__/split-button.test.d.ts +0 -1
- package/dist/es/cascader/__tests__/cascader.test.d.ts +0 -1
- package/dist/es/command-palette/__tests__/command-palette.test.d.ts +0 -1
- package/dist/es/data-table/__tests__/data-table.test.d.ts +0 -1
- package/dist/es/file-uploader/__tests__/file-uploader.test.d.ts +0 -1
- package/dist/es/form/__tests__/form.test.d.ts +0 -1
- package/dist/es/search-select/__tests__/search-select.test.d.ts +0 -1
- package/dist/es/tag-input/__tests__/tag-input.test.d.ts +0 -1
- package/dist/es/tree/__tests__/tree.test.d.ts +0 -1
- package/dist/es/tree-select/__tests__/tree-select.test.d.ts +0 -1
- package/dist/es/virtual-list/__tests__/virtual-list.test.d.ts +0 -1
- /package/dist/es/{utils → packages/tuffex/packages/utils}/animation/auto-resize.js +0 -0
- /package/dist/es/{utils → packages/tuffex/packages/utils}/animation/flip.js +0 -0
- /package/dist/es/{utils → packages/tuffex/packages/utils}/dialog-manager.js +0 -0
- /package/dist/es/{utils → packages/tuffex/packages/utils}/env.js +0 -0
- /package/dist/es/{utils → packages/tuffex/packages/utils}/vibrate.js +0 -0
- /package/dist/es/{utils → packages/tuffex/packages/utils}/withInstall.js +0 -0
- /package/dist/lib/{utils → packages/tuffex/packages/utils}/animation/auto-resize.js +0 -0
- /package/dist/lib/{utils → packages/tuffex/packages/utils}/animation/flip.js +0 -0
- /package/dist/lib/{utils → packages/tuffex/packages/utils}/dialog-manager.js +0 -0
- /package/dist/lib/{utils → packages/tuffex/packages/utils}/env.js +0 -0
- /package/dist/lib/{utils → packages/tuffex/packages/utils}/vibrate.js +0 -0
- /package/dist/lib/{utils → packages/tuffex/packages/utils}/withInstall.js +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
.tx-base-surface {
|
|
2
|
+
position: relative;
|
|
3
|
+
border-radius: var(--tx-surface-radius, inherit);
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
}
|
|
6
|
+
.tx-base-surface--pure {
|
|
7
|
+
background: var(--tx-surface-color, var(--tx-fill-color-lighter, #fafafa));
|
|
8
|
+
}
|
|
9
|
+
.tx-base-surface .tx-base-surface__layer {
|
|
10
|
+
position: absolute;
|
|
11
|
+
inset: 0;
|
|
12
|
+
border-radius: inherit;
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
transition: opacity var(--tx-surface-transition, 299ms) ease, background var(--tx-surface-transition, 299ms) ease, backdrop-filter var(--tx-surface-transition, 299ms) ease;
|
|
15
|
+
}
|
|
16
|
+
.tx-base-surface .tx-base-surface__layer--glass {
|
|
17
|
+
z-index: 0;
|
|
18
|
+
}
|
|
19
|
+
.tx-base-surface .tx-base-surface__layer--glass .tx-glass-surface {
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 100%;
|
|
22
|
+
border-radius: inherit;
|
|
23
|
+
}
|
|
24
|
+
.tx-base-surface .tx-base-surface__layer--filter {
|
|
25
|
+
z-index: 1;
|
|
26
|
+
background: color-mix(in srgb, var(--tx-bg-color-overlay, #fff) 10%, transparent);
|
|
27
|
+
backdrop-filter: blur(var(--tx-surface-filter-blur, 10px)) saturate(var(--tx-surface-filter-saturation, 1.5)) contrast(var(--tx-surface-filter-contrast, 1)) brightness(var(--tx-surface-filter-brightness, 1));
|
|
28
|
+
-webkit-backdrop-filter: blur(var(--tx-surface-filter-blur, 10px)) saturate(var(--tx-surface-filter-saturation, 1.5)) contrast(var(--tx-surface-filter-contrast, 1)) brightness(var(--tx-surface-filter-brightness, 1));
|
|
29
|
+
will-change: backdrop-filter;
|
|
30
|
+
}
|
|
31
|
+
.tx-base-surface .tx-base-surface__layer--mask {
|
|
32
|
+
z-index: 3;
|
|
33
|
+
background: var(--tx-surface-color, var(--tx-fill-color-lighter, #fafafa));
|
|
34
|
+
opacity: var(--tx-surface-mask-opacity, 0.75);
|
|
35
|
+
}
|
|
36
|
+
.tx-base-surface .tx-base-surface__layer--refraction-edge {
|
|
37
|
+
z-index: 4;
|
|
38
|
+
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) calc(var(--tx-surface-refraction-edge-opacity, 0.08) * 100%), transparent);
|
|
39
|
+
}
|
|
40
|
+
.tx-base-surface .tx-base-surface__layer--motion-cover {
|
|
41
|
+
z-index: 2;
|
|
42
|
+
background: color-mix(in srgb, var(--tx-surface-refraction-mask-color, var(--tx-bg-color-overlay, #fff)) 100%, transparent);
|
|
43
|
+
opacity: var(--tx-surface-motion-cover-opacity, 0);
|
|
44
|
+
}
|
|
45
|
+
.tx-base-surface .tx-base-surface__content {
|
|
46
|
+
position: relative;
|
|
47
|
+
z-index: 5;
|
|
48
|
+
border-radius: inherit;
|
|
49
|
+
min-height: inherit;
|
|
50
|
+
}
|
|
51
|
+
.tx-base-surface--preset-card.tx-base-surface--blur .tx-base-surface__layer--filter {
|
|
52
|
+
background: color-mix(in srgb, var(--tx-bg-color-overlay, #fff) 22%, transparent);
|
|
53
|
+
backdrop-filter: blur(var(--tx-surface-filter-blur, 30px)) saturate(calc(var(--tx-surface-filter-saturation, 1.5) * 1.2)) contrast(calc(var(--tx-surface-filter-contrast, 1) * 1.06)) brightness(var(--tx-surface-filter-brightness, 1));
|
|
54
|
+
-webkit-backdrop-filter: blur(var(--tx-surface-filter-blur, 30px)) saturate(calc(var(--tx-surface-filter-saturation, 1.5) * 1.2)) contrast(calc(var(--tx-surface-filter-contrast, 1) * 1.06)) brightness(var(--tx-surface-filter-brightness, 1));
|
|
55
|
+
}
|
|
56
|
+
.tx-base-surface--preset-card.tx-base-surface--refraction .tx-base-surface__layer--filter {
|
|
57
|
+
background: radial-gradient(120% 88% at var(--tx-surface-refraction-light-x, 24%) var(--tx-surface-refraction-light-y, 20%), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-filter-primary-weight, 32%), transparent), transparent 58%), radial-gradient(105% 82% at calc(100% - var(--tx-surface-refraction-light-x, 24%)) calc(100% - var(--tx-surface-refraction-light-y, 20%)), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-filter-secondary-weight, 20%), transparent), transparent 64%), radial-gradient(140% 100% at var(--tx-surface-refraction-light-x, 24%) var(--tx-surface-refraction-light-y, 20%), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-filter-veil-weight, 16%), transparent), transparent 62%), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-filter-base-weight, 6%), transparent);
|
|
58
|
+
backdrop-filter: blur(var(--tx-surface-filter-blur, 24px)) saturate(calc(var(--tx-surface-filter-saturation, 1.5) * var(--tx-surface-refraction-filter-saturation-boost, 1.36))) contrast(calc(var(--tx-surface-filter-contrast, 1) * (var(--tx-surface-refraction-filter-contrast-base, 1.06) + var(--tx-surface-refraction-strength, 0.6) * var(--tx-surface-refraction-filter-contrast-gain, 0.1)))) brightness(calc(var(--tx-surface-filter-brightness, 1) * var(--tx-surface-refraction-filter-brightness-boost, 1.04)));
|
|
59
|
+
-webkit-backdrop-filter: blur(var(--tx-surface-filter-blur, 24px)) saturate(calc(var(--tx-surface-filter-saturation, 1.5) * var(--tx-surface-refraction-filter-saturation-boost, 1.36))) contrast(calc(var(--tx-surface-filter-contrast, 1) * (var(--tx-surface-refraction-filter-contrast-base, 1.06) + var(--tx-surface-refraction-strength, 0.6) * var(--tx-surface-refraction-filter-contrast-gain, 0.1)))) brightness(calc(var(--tx-surface-filter-brightness, 1) * var(--tx-surface-refraction-filter-brightness-boost, 1.04)));
|
|
60
|
+
}
|
|
61
|
+
.tx-base-surface--preset-card.tx-base-surface--glass .tx-base-surface__layer--mask {
|
|
62
|
+
background: radial-gradient(700px 220px at 0% 0%, rgba(255, 255, 255, 0.55), transparent 55%), radial-gradient(600px 260px at 100% 0%, rgba(255, 255, 255, 0.22), transparent 58%), linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.02) 45%, rgba(255, 255, 255, 0) 68%);
|
|
63
|
+
opacity: var(--tx-surface-mask-opacity, 0.22);
|
|
64
|
+
}
|
|
65
|
+
.tx-base-surface--preset-card.tx-base-surface--refraction .tx-base-surface__layer--mask {
|
|
66
|
+
background: radial-gradient(620px 260px at var(--tx-surface-refraction-light-x, 24%) var(--tx-surface-refraction-light-y, 20%), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) calc(var(--tx-surface-refraction-halo-opacity, 0.32) * var(--tx-surface-refraction-halo-opacity-gain, 1) * 100%), transparent), transparent 60%), radial-gradient(760px 360px at calc(100% - var(--tx-surface-refraction-light-x, 24%)) calc(100% - var(--tx-surface-refraction-light-y, 20%)), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-mask-primary-weight, 30%), transparent), transparent 64%), radial-gradient(740px 340px at var(--tx-surface-refraction-light-x, 24%) calc(100% - var(--tx-surface-refraction-light-y, 20%)), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-mask-secondary-weight, 24%), transparent), transparent 64%), linear-gradient(var(--tx-surface-refraction-streak-angle, 128deg), color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-streak-weight, 22%), transparent) 0%, color-mix(in srgb, var(--tx-surface-refraction-mask-color, #fff) var(--tx-surface-refraction-mask-veil-weight, 10%), transparent) 36%, transparent 70%);
|
|
67
|
+
opacity: var(--tx-surface-refraction-mask-effective-opacity, clamp(0.08, var(--tx-surface-mask-opacity, 0.16) + var(--tx-surface-refraction-strength, 0.56) * var(--tx-surface-refraction-mask-strength-gain, 0.05), 0.5));
|
|
68
|
+
mask-image: radial-gradient(120% 90% at var(--tx-surface-refraction-light-x, 24%) var(--tx-surface-refraction-light-y, 20%), #000 46%, transparent 95%);
|
|
69
|
+
-webkit-mask-image: radial-gradient(120% 90% at var(--tx-surface-refraction-light-x, 24%) var(--tx-surface-refraction-light-y, 20%), #000 46%, transparent 95%);
|
|
70
|
+
}
|
|
71
|
+
.tx-base-surface--fake .tx-base-surface__content {
|
|
72
|
+
position: relative;
|
|
73
|
+
z-index: 1;
|
|
74
|
+
}
|
|
75
|
+
.tx-base-surface--fake::before {
|
|
76
|
+
content: "";
|
|
77
|
+
position: absolute;
|
|
78
|
+
inset: 0;
|
|
79
|
+
border-radius: var(--tx-surface-radius, inherit);
|
|
80
|
+
background: var(--tx-surface-fake-bg);
|
|
81
|
+
opacity: var(--tx-surface-fake-opacity, 0.75);
|
|
82
|
+
z-index: var(--tx-surface-fake-index, 0);
|
|
83
|
+
pointer-events: none;
|
|
84
|
+
transition: background var(--tx-surface-transition, 299ms) ease-out, opacity var(--tx-surface-transition, 299ms) ease-out;
|
|
85
|
+
}
|
|
86
|
+
.tx-base-surface--settling {
|
|
87
|
+
transition: backdrop-filter var(--tx-surface-transition, 299ms) ease-out, background var(--tx-surface-transition, 299ms) ease-out;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.tx-surface-layer-fade-enter-active,
|
|
91
|
+
.tx-surface-layer-fade-leave-active {
|
|
92
|
+
transition: opacity var(--tx-surface-transition, 299ms) ease;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.tx-surface-layer-fade-enter-from,
|
|
96
|
+
.tx-surface-layer-fade-leave-to {
|
|
97
|
+
opacity: 0;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
[data-theme=dark] .tx-base-surface--preset-card.tx-base-surface--blur .tx-base-surface__layer--filter,
|
|
101
|
+
.dark .tx-base-surface--preset-card.tx-base-surface--blur .tx-base-surface__layer--filter {
|
|
102
|
+
background: color-mix(in srgb, #fff 14%, transparent);
|
|
103
|
+
backdrop-filter: blur(var(--tx-surface-filter-blur, 30px)) saturate(calc(var(--tx-surface-filter-saturation, 1.5) * 1.1)) contrast(var(--tx-surface-filter-contrast, 1)) brightness(calc(var(--tx-surface-filter-brightness, 1) * 1.1));
|
|
104
|
+
-webkit-backdrop-filter: blur(var(--tx-surface-filter-blur, 30px)) saturate(calc(var(--tx-surface-filter-saturation, 1.5) * 1.1)) contrast(var(--tx-surface-filter-contrast, 1)) brightness(calc(var(--tx-surface-filter-brightness, 1) * 1.1));
|
|
105
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { GlassSurfaceProps } from '../../glass-surface';
|
|
2
|
+
|
|
3
|
+
export type BaseSurfaceMode = 'pure' | 'mask' | 'blur' | 'glass' | 'refraction';
|
|
4
|
+
export type BaseSurfacePreset = 'default' | 'card';
|
|
5
|
+
export type BaseSurfaceRefractionRenderer = 'svg' | 'css';
|
|
6
|
+
export type BaseSurfaceRefractionProfile = 'soft' | 'filmic' | 'cinematic';
|
|
7
|
+
export type BaseSurfaceRefractionTone = 'mist' | 'balanced' | 'vivid';
|
|
8
|
+
export interface BaseSurfaceProps {
|
|
9
|
+
/** 背景模式 */
|
|
10
|
+
mode?: BaseSurfaceMode;
|
|
11
|
+
/** 自定义圆角,不传则 inherit 父元素 */
|
|
12
|
+
radius?: string | number;
|
|
13
|
+
/** 纯色/遮罩的背景色,默认使用 CSS 变量 */
|
|
14
|
+
color?: string;
|
|
15
|
+
/** mask 模式下的透明度 (0-1) */
|
|
16
|
+
opacity?: number;
|
|
17
|
+
/** 运动降级到 mask 时的透明度覆盖(0-1) */
|
|
18
|
+
fallbackMaskOpacity?: number;
|
|
19
|
+
/** blur(即 filter 层)模式下的模糊强度 (px) */
|
|
20
|
+
blur?: number;
|
|
21
|
+
/** filter 层饱和度(用于 blur/refraction 模式) */
|
|
22
|
+
filterSaturation?: number;
|
|
23
|
+
/** filter 层对比度(用于 blur/refraction 模式) */
|
|
24
|
+
filterContrast?: number;
|
|
25
|
+
/** filter 层亮度(用于 blur/refraction 模式) */
|
|
26
|
+
filterBrightness?: number;
|
|
27
|
+
/** glass/refraction 模式下的饱和度 */
|
|
28
|
+
saturation?: number;
|
|
29
|
+
/** glass/refraction 模式下的亮度(推荐 0-100;<=3 会按倍率自动转为百分比) */
|
|
30
|
+
brightness?: number;
|
|
31
|
+
/** glass 模式下的背景透明度 */
|
|
32
|
+
backgroundOpacity?: number;
|
|
33
|
+
/** glass 模式下的边框宽度系数 */
|
|
34
|
+
borderWidth?: number;
|
|
35
|
+
/** refraction 模式下的位移强度 */
|
|
36
|
+
displace?: number;
|
|
37
|
+
/** refraction 模式下的扭曲缩放 */
|
|
38
|
+
distortionScale?: number;
|
|
39
|
+
/** refraction 强度(0-100),用于统一控制色散/扭曲/高光层力度 */
|
|
40
|
+
refractionStrength?: number;
|
|
41
|
+
/** refraction 质感预设(soft/filmic/cinematic) */
|
|
42
|
+
refractionProfile?: BaseSurfaceRefractionProfile;
|
|
43
|
+
/** refraction 色调预设(mist/balanced/vivid) */
|
|
44
|
+
refractionTone?: BaseSurfaceRefractionTone;
|
|
45
|
+
/** refraction 偏移角度(度),用于控制色散主方向 */
|
|
46
|
+
refractionAngle?: number;
|
|
47
|
+
/** refraction 高光锚点 X(0-1),用于光源跟随 */
|
|
48
|
+
refractionLightX?: number;
|
|
49
|
+
/** refraction 高光锚点 Y(0-1),用于光源跟随 */
|
|
50
|
+
refractionLightY?: number;
|
|
51
|
+
/** refraction 高光 halo 透明度(0-1),不传时使用内置 filmic 模型计算 */
|
|
52
|
+
refractionHaloOpacity?: number;
|
|
53
|
+
/** refraction 模式下的 R 通道偏移 */
|
|
54
|
+
redOffset?: number;
|
|
55
|
+
/** refraction 模式下的 G 通道偏移 */
|
|
56
|
+
greenOffset?: number;
|
|
57
|
+
/** refraction 模式下的 B 通道偏移 */
|
|
58
|
+
blueOffset?: number;
|
|
59
|
+
/** refraction 模式下的 X 通道选择 */
|
|
60
|
+
xChannel?: 'R' | 'G' | 'B';
|
|
61
|
+
/** refraction 模式下的 Y 通道选择 */
|
|
62
|
+
yChannel?: 'R' | 'G' | 'B';
|
|
63
|
+
/** refraction 模式下的混合模式 */
|
|
64
|
+
mixBlendMode?: GlassSurfaceProps['mixBlendMode'];
|
|
65
|
+
/** 是否正在运动(手动控制降级) */
|
|
66
|
+
moving?: boolean;
|
|
67
|
+
/** 运动降级的目标模式,默认 'mask' */
|
|
68
|
+
fallbackMode?: 'pure' | 'mask';
|
|
69
|
+
/** 运动结束后恢复到目标模式的延迟 (ms),默认 150 */
|
|
70
|
+
settleDelay?: number;
|
|
71
|
+
/** 是否启用自动 transform 检测降级,默认 false */
|
|
72
|
+
autoDetect?: boolean;
|
|
73
|
+
/** 过渡时长 (ms),默认 260 */
|
|
74
|
+
transitionDuration?: number;
|
|
75
|
+
/** 是否使用 fake-background 伪元素模式渲染 */
|
|
76
|
+
fake?: boolean;
|
|
77
|
+
/** fake 模式下的 z-index,默认 0 */
|
|
78
|
+
fakeIndex?: number;
|
|
79
|
+
/** 视觉预设,default 保持通用,card 用于卡片风格 */
|
|
80
|
+
preset?: BaseSurfacePreset;
|
|
81
|
+
/** refraction 模式渲染器:svg 或 css */
|
|
82
|
+
refractionRenderer?: BaseSurfaceRefractionRenderer;
|
|
83
|
+
/** 非 mask 模式下的可选 mask 层透明度(用于 1+3、2+3、1+2+3) */
|
|
84
|
+
overlayOpacity?: number;
|
|
85
|
+
/** 标签名,默认 'div' */
|
|
86
|
+
tag?: string;
|
|
87
|
+
}
|
|
@@ -19,13 +19,13 @@ declare const TxBlankSlate: {
|
|
|
19
19
|
type: import('vue').PropType<import('..').EmptyStateSize>;
|
|
20
20
|
default: string;
|
|
21
21
|
};
|
|
22
|
-
iconSize: {
|
|
23
|
-
type: import('vue').PropType<number>;
|
|
24
|
-
};
|
|
25
22
|
layout: {
|
|
26
23
|
type: import('vue').PropType<import('..').EmptyStateLayout>;
|
|
27
24
|
default: string;
|
|
28
25
|
};
|
|
26
|
+
iconSize: {
|
|
27
|
+
type: import('vue').PropType<number>;
|
|
28
|
+
};
|
|
29
29
|
align: {
|
|
30
30
|
type: import('vue').PropType<import('..').EmptyStateAlign>;
|
|
31
31
|
};
|
|
@@ -70,13 +70,13 @@ declare const TxBlankSlate: {
|
|
|
70
70
|
type: import('vue').PropType<import('..').EmptyStateSize>;
|
|
71
71
|
default: string;
|
|
72
72
|
};
|
|
73
|
-
iconSize: {
|
|
74
|
-
type: import('vue').PropType<number>;
|
|
75
|
-
};
|
|
76
73
|
layout: {
|
|
77
74
|
type: import('vue').PropType<import('..').EmptyStateLayout>;
|
|
78
75
|
default: string;
|
|
79
76
|
};
|
|
77
|
+
iconSize: {
|
|
78
|
+
type: import('vue').PropType<number>;
|
|
79
|
+
};
|
|
80
80
|
align: {
|
|
81
81
|
type: import('vue').PropType<import('..').EmptyStateAlign>;
|
|
82
82
|
};
|
|
@@ -118,13 +118,13 @@ declare const TxBlankSlate: {
|
|
|
118
118
|
type: import('vue').PropType<import('..').EmptyStateSize>;
|
|
119
119
|
default: string;
|
|
120
120
|
};
|
|
121
|
-
iconSize: {
|
|
122
|
-
type: import('vue').PropType<number>;
|
|
123
|
-
};
|
|
124
121
|
layout: {
|
|
125
122
|
type: import('vue').PropType<import('..').EmptyStateLayout>;
|
|
126
123
|
default: string;
|
|
127
124
|
};
|
|
125
|
+
iconSize: {
|
|
126
|
+
type: import('vue').PropType<number>;
|
|
127
|
+
};
|
|
128
128
|
align: {
|
|
129
129
|
type: import('vue').PropType<import('..').EmptyStateAlign>;
|
|
130
130
|
};
|
|
@@ -37,16 +37,24 @@ declare const TxButton: {
|
|
|
37
37
|
type: import('vue').PropType<"flat" | "info" | "success" | "warning" | "primary" | "secondary" | "ghost" | "danger" | "bare">;
|
|
38
38
|
default: undefined;
|
|
39
39
|
};
|
|
40
|
-
|
|
40
|
+
dashed: {
|
|
41
41
|
type: import('vue').PropType<boolean>;
|
|
42
|
-
default: boolean;
|
|
43
42
|
};
|
|
44
43
|
plain: {
|
|
45
44
|
type: import('vue').PropType<boolean>;
|
|
46
45
|
default: boolean;
|
|
47
46
|
};
|
|
48
|
-
|
|
47
|
+
border: {
|
|
48
|
+
type: import('vue').PropType<boolean>;
|
|
49
|
+
default: boolean;
|
|
50
|
+
};
|
|
51
|
+
block: {
|
|
49
52
|
type: import('vue').PropType<boolean>;
|
|
53
|
+
default: boolean;
|
|
54
|
+
};
|
|
55
|
+
loadingVariant: {
|
|
56
|
+
type: import('vue').PropType<"bar" | "spinner">;
|
|
57
|
+
default: string;
|
|
50
58
|
};
|
|
51
59
|
autofocus: {
|
|
52
60
|
type: import('vue').PropType<boolean>;
|
|
@@ -77,8 +85,10 @@ declare const TxButton: {
|
|
|
77
85
|
size: "sm" | "md" | "lg" | "large" | "small" | "mini";
|
|
78
86
|
round: boolean;
|
|
79
87
|
variant: "primary" | "secondary" | "ghost" | "danger" | "success" | "warning" | "info" | "flat" | "bare";
|
|
80
|
-
block: boolean;
|
|
81
88
|
plain: boolean;
|
|
89
|
+
border: boolean;
|
|
90
|
+
block: boolean;
|
|
91
|
+
loadingVariant: "spinner" | "bar";
|
|
82
92
|
autofocus: boolean;
|
|
83
93
|
nativeType: "button" | "submit" | "reset";
|
|
84
94
|
vibrate: boolean;
|
|
@@ -123,16 +133,24 @@ declare const TxButton: {
|
|
|
123
133
|
type: import('vue').PropType<"flat" | "info" | "success" | "warning" | "primary" | "secondary" | "ghost" | "danger" | "bare">;
|
|
124
134
|
default: undefined;
|
|
125
135
|
};
|
|
126
|
-
|
|
136
|
+
dashed: {
|
|
127
137
|
type: import('vue').PropType<boolean>;
|
|
128
|
-
default: boolean;
|
|
129
138
|
};
|
|
130
139
|
plain: {
|
|
131
140
|
type: import('vue').PropType<boolean>;
|
|
132
141
|
default: boolean;
|
|
133
142
|
};
|
|
134
|
-
|
|
143
|
+
border: {
|
|
135
144
|
type: import('vue').PropType<boolean>;
|
|
145
|
+
default: boolean;
|
|
146
|
+
};
|
|
147
|
+
block: {
|
|
148
|
+
type: import('vue').PropType<boolean>;
|
|
149
|
+
default: boolean;
|
|
150
|
+
};
|
|
151
|
+
loadingVariant: {
|
|
152
|
+
type: import('vue').PropType<"bar" | "spinner">;
|
|
153
|
+
default: string;
|
|
136
154
|
};
|
|
137
155
|
autofocus: {
|
|
138
156
|
type: import('vue').PropType<boolean>;
|
|
@@ -161,8 +179,10 @@ declare const TxButton: {
|
|
|
161
179
|
size: "sm" | "md" | "lg" | "large" | "small" | "mini";
|
|
162
180
|
round: boolean;
|
|
163
181
|
variant: "primary" | "secondary" | "ghost" | "danger" | "success" | "warning" | "info" | "flat" | "bare";
|
|
164
|
-
block: boolean;
|
|
165
182
|
plain: boolean;
|
|
183
|
+
border: boolean;
|
|
184
|
+
block: boolean;
|
|
185
|
+
loadingVariant: "spinner" | "bar";
|
|
166
186
|
autofocus: boolean;
|
|
167
187
|
nativeType: "button" | "submit" | "reset";
|
|
168
188
|
vibrate: boolean;
|
|
@@ -204,16 +224,24 @@ declare const TxButton: {
|
|
|
204
224
|
type: import('vue').PropType<"flat" | "info" | "success" | "warning" | "primary" | "secondary" | "ghost" | "danger" | "bare">;
|
|
205
225
|
default: undefined;
|
|
206
226
|
};
|
|
207
|
-
|
|
227
|
+
dashed: {
|
|
208
228
|
type: import('vue').PropType<boolean>;
|
|
209
|
-
default: boolean;
|
|
210
229
|
};
|
|
211
230
|
plain: {
|
|
212
231
|
type: import('vue').PropType<boolean>;
|
|
213
232
|
default: boolean;
|
|
214
233
|
};
|
|
215
|
-
|
|
234
|
+
border: {
|
|
216
235
|
type: import('vue').PropType<boolean>;
|
|
236
|
+
default: boolean;
|
|
237
|
+
};
|
|
238
|
+
block: {
|
|
239
|
+
type: import('vue').PropType<boolean>;
|
|
240
|
+
default: boolean;
|
|
241
|
+
};
|
|
242
|
+
loadingVariant: {
|
|
243
|
+
type: import('vue').PropType<"bar" | "spinner">;
|
|
244
|
+
default: string;
|
|
217
245
|
};
|
|
218
246
|
autofocus: {
|
|
219
247
|
type: import('vue').PropType<boolean>;
|
|
@@ -244,8 +272,10 @@ declare const TxButton: {
|
|
|
244
272
|
size: "sm" | "md" | "lg" | "large" | "small" | "mini";
|
|
245
273
|
round: boolean;
|
|
246
274
|
variant: "primary" | "secondary" | "ghost" | "danger" | "success" | "warning" | "info" | "flat" | "bare";
|
|
247
|
-
block: boolean;
|
|
248
275
|
plain: boolean;
|
|
276
|
+
border: boolean;
|
|
277
|
+
block: boolean;
|
|
278
|
+
loadingVariant: "spinner" | "bar";
|
|
249
279
|
autofocus: boolean;
|
|
250
280
|
nativeType: "button" | "submit" | "reset";
|
|
251
281
|
vibrate: boolean;
|
|
@@ -290,7 +320,7 @@ declare const TxSplitButton: {
|
|
|
290
320
|
default: number;
|
|
291
321
|
};
|
|
292
322
|
menuPlacement: {
|
|
293
|
-
type: import('vue').PropType<"top-start" | "top-end" | "bottom-start" | "bottom-end" | "
|
|
323
|
+
type: import('vue').PropType<"top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
|
|
294
324
|
default: string;
|
|
295
325
|
};
|
|
296
326
|
menuOffset: {
|
|
@@ -355,7 +385,7 @@ declare const TxSplitButton: {
|
|
|
355
385
|
default: number;
|
|
356
386
|
};
|
|
357
387
|
menuPlacement: {
|
|
358
|
-
type: import('vue').PropType<"top-start" | "top-end" | "bottom-start" | "bottom-end" | "
|
|
388
|
+
type: import('vue').PropType<"top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
|
|
359
389
|
default: string;
|
|
360
390
|
};
|
|
361
391
|
menuOffset: {
|
|
@@ -414,7 +444,7 @@ declare const TxSplitButton: {
|
|
|
414
444
|
default: number;
|
|
415
445
|
};
|
|
416
446
|
menuPlacement: {
|
|
417
|
-
type: import('vue').PropType<"top-start" | "top-end" | "bottom-start" | "bottom-end" | "
|
|
447
|
+
type: import('vue').PropType<"top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
|
|
418
448
|
default: string;
|
|
419
449
|
};
|
|
420
450
|
menuOffset: {
|
package/dist/es/button/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { withInstall } from '../utils/withInstall.js';
|
|
1
|
+
import { withInstall } from '../packages/tuffex/packages/utils/withInstall.js';
|
|
2
2
|
import _sfc_main from './src/button.vue.js';
|
|
3
3
|
import _sfc_main$1 from './src/split-button.vue.js';
|
|
4
|
+
/* empty css */
|
|
4
5
|
|
|
5
6
|
const TxButton = withInstall(_sfc_main);
|
|
6
7
|
const TxSplitButton = withInstall(_sfc_main$1);
|
|
@@ -12,7 +12,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
12
12
|
round: boolean;
|
|
13
13
|
circle: boolean;
|
|
14
14
|
loading: boolean;
|
|
15
|
+
loadingVariant: string;
|
|
15
16
|
disabled: boolean;
|
|
17
|
+
border: boolean;
|
|
16
18
|
icon: undefined;
|
|
17
19
|
autofocus: boolean;
|
|
18
20
|
nativeType: string;
|
|
@@ -29,7 +31,9 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
29
31
|
round: boolean;
|
|
30
32
|
circle: boolean;
|
|
31
33
|
loading: boolean;
|
|
34
|
+
loadingVariant: string;
|
|
32
35
|
disabled: boolean;
|
|
36
|
+
border: boolean;
|
|
33
37
|
icon: undefined;
|
|
34
38
|
autofocus: boolean;
|
|
35
39
|
nativeType: string;
|
|
@@ -46,8 +50,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
46
50
|
size: "sm" | "md" | "lg" | "large" | "small" | "mini";
|
|
47
51
|
round: boolean;
|
|
48
52
|
variant: "primary" | "secondary" | "ghost" | "danger" | "success" | "warning" | "info" | "flat" | "bare";
|
|
49
|
-
block: boolean;
|
|
50
53
|
plain: boolean;
|
|
54
|
+
border: boolean;
|
|
55
|
+
block: boolean;
|
|
56
|
+
loadingVariant: "spinner" | "bar";
|
|
51
57
|
autofocus: boolean;
|
|
52
58
|
nativeType: "button" | "submit" | "reset";
|
|
53
59
|
vibrate: boolean;
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
import { defineComponent, ref, useSlots, computed, watch, nextTick, withDirectives, createElementBlock, openBlock, normalizeClass, createElementVNode, normalizeStyle,
|
|
1
|
+
import { defineComponent, ref, useAttrs, useSlots, computed, watch, nextTick, withDirectives, createElementBlock, openBlock, normalizeClass, createCommentVNode, createElementVNode, normalizeStyle, renderSlot, Fragment, createBlock, unref, createVNode } from 'vue';
|
|
2
2
|
import VWave from 'v-wave';
|
|
3
|
-
import { useFlip } from '../../utils/animation/flip.js';
|
|
4
|
-
import { useVibrate } from '../../utils/vibrate.js';
|
|
3
|
+
import { useFlip } from '../../packages/tuffex/packages/utils/animation/flip.js';
|
|
4
|
+
import { useVibrate } from '../../packages/tuffex/packages/utils/vibrate.js';
|
|
5
5
|
import { Spinner } from '../../spinner/index.js';
|
|
6
6
|
|
|
7
7
|
const _hoisted_1 = ["type", "disabled"];
|
|
8
|
+
const _hoisted_2 = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "tx-button__loading-layer",
|
|
11
|
+
"aria-hidden": "true"
|
|
12
|
+
};
|
|
13
|
+
const _hoisted_3 = {
|
|
14
|
+
key: 0,
|
|
15
|
+
class: "tx-button__spinner-slot is-visible"
|
|
16
|
+
};
|
|
8
17
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
9
18
|
...{
|
|
10
19
|
name: "TxButton"
|
|
@@ -20,7 +29,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
20
29
|
round: { type: Boolean, default: false },
|
|
21
30
|
circle: { type: Boolean, default: false },
|
|
22
31
|
loading: { type: Boolean, default: false },
|
|
32
|
+
loadingVariant: { default: "spinner" },
|
|
23
33
|
disabled: { type: Boolean, default: false },
|
|
34
|
+
border: { type: Boolean, default: true },
|
|
24
35
|
icon: { default: void 0 },
|
|
25
36
|
autofocus: { type: Boolean, default: false },
|
|
26
37
|
nativeType: { default: "button" },
|
|
@@ -34,6 +45,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
34
45
|
const { vWave } = VWave.createLocalWaveDirective();
|
|
35
46
|
const buttonRef = ref(null);
|
|
36
47
|
const innerRef = ref(null);
|
|
48
|
+
void innerRef.value;
|
|
49
|
+
const attrs = useAttrs();
|
|
37
50
|
const slots = useSlots();
|
|
38
51
|
const autoWidthEnabled = computed(() => {
|
|
39
52
|
return !props.block && !props.circle;
|
|
@@ -100,6 +113,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
100
113
|
"--tx-button-spinner-size": `${spinnerSize.value}px`
|
|
101
114
|
};
|
|
102
115
|
});
|
|
116
|
+
const resolvedLoadingVariant = computed(() => {
|
|
117
|
+
if (props.loadingVariant)
|
|
118
|
+
return props.loadingVariant;
|
|
119
|
+
const raw = attrs["loading-variant"] ?? attrs.loadingVariant;
|
|
120
|
+
return typeof raw === "string" ? raw : void 0;
|
|
121
|
+
});
|
|
122
|
+
const showLoadingBar = computed(() => {
|
|
123
|
+
return props.loading && props.block && resolvedLoadingVariant.value === "bar";
|
|
124
|
+
});
|
|
103
125
|
function hasDefaultContent() {
|
|
104
126
|
const vnodes = slots.default?.();
|
|
105
127
|
if (!vnodes || !vnodes.length)
|
|
@@ -113,6 +135,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
113
135
|
});
|
|
114
136
|
}
|
|
115
137
|
const isIconOnly = computed(() => {
|
|
138
|
+
if (props.block && props.circle)
|
|
139
|
+
return false;
|
|
116
140
|
const slotHasContent = hasDefaultContent();
|
|
117
141
|
return props.circle || props.icon && !slotHasContent;
|
|
118
142
|
});
|
|
@@ -129,11 +153,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
129
153
|
{
|
|
130
154
|
"block": props.block,
|
|
131
155
|
"loading": props.loading,
|
|
156
|
+
"loading-bar": showLoadingBar.value,
|
|
132
157
|
"disabled": props.disabled,
|
|
133
158
|
"plain": props.plain,
|
|
134
159
|
"dashed": props.dashed,
|
|
135
160
|
"round": props.round,
|
|
136
161
|
"circle": props.circle,
|
|
162
|
+
"borderless": props.border === false,
|
|
137
163
|
"auto-width": autoWidthEnabled.value
|
|
138
164
|
}
|
|
139
165
|
];
|
|
@@ -174,34 +200,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
174
200
|
return withDirectives((openBlock(), createElementBlock("button", {
|
|
175
201
|
ref_key: "buttonRef",
|
|
176
202
|
ref: buttonRef,
|
|
177
|
-
class: normalizeClass(["tx-button fake-background transition-cubic", classList.value]),
|
|
203
|
+
class: normalizeClass(["tx-button fake-background isolate transition-cubic", classList.value]),
|
|
178
204
|
type: __props.nativeType,
|
|
179
205
|
disabled: __props.disabled || __props.loading,
|
|
180
206
|
onClick: handleClick
|
|
181
207
|
}, [
|
|
208
|
+
showLoadingBar.value ? (openBlock(), createElementBlock("span", _hoisted_2)) : createCommentVNode("", true),
|
|
182
209
|
createElementVNode("span", {
|
|
183
210
|
ref_key: "innerRef",
|
|
184
211
|
ref: innerRef,
|
|
185
212
|
class: "tx-button__inner",
|
|
186
213
|
style: normalizeStyle(innerStyle.value)
|
|
187
214
|
}, [
|
|
188
|
-
|
|
189
|
-
key: 0,
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
215
|
+
!showLoadingBar.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
216
|
+
isIconOnly.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
217
|
+
__props.loading ? (openBlock(), createBlock(unref(Spinner), {
|
|
218
|
+
key: 0,
|
|
219
|
+
class: "tx-button__spinner is-overlay",
|
|
220
|
+
visible: __props.loading,
|
|
221
|
+
size: spinnerSize.value
|
|
222
|
+
}, null, 8, ["visible", "size"])) : createCommentVNode("", true)
|
|
223
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
224
|
+
__props.loading ? (openBlock(), createElementBlock("span", _hoisted_3, [
|
|
225
|
+
createVNode(unref(Spinner), {
|
|
226
|
+
class: "tx-button__spinner",
|
|
227
|
+
visible: __props.loading,
|
|
228
|
+
size: spinnerSize.value
|
|
229
|
+
}, null, 8, ["visible", "size"])
|
|
230
|
+
])) : createCommentVNode("", true)
|
|
231
|
+
], 64))
|
|
232
|
+
], 64)) : createCommentVNode("", true),
|
|
203
233
|
__props.icon ? (openBlock(), createElementBlock("i", {
|
|
204
|
-
key:
|
|
234
|
+
key: 1,
|
|
205
235
|
class: normalizeClass(["tx-button__icon", __props.icon])
|
|
206
236
|
}, null, 2)) : createCommentVNode("", true),
|
|
207
237
|
renderSlot(_ctx.$slots, "default")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, useSlots, watch, computed, createElementBlock, openBlock, normalizeClass, createElementVNode, createBlock, createCommentVNode, createVNode, unref, renderSlot, withCtx } from 'vue';
|
|
1
|
+
import { defineComponent, ref, useSlots, watch, computed, createElementBlock, openBlock, normalizeClass, createElementVNode, createBlock, createCommentVNode, createVNode, unref, renderSlot, withCtx, withKeys, withModifiers } from 'vue';
|
|
2
2
|
import TxPopover from '../../popover/src/TxPopover.vue.js';
|
|
3
3
|
import { Spinner } from '../../spinner/index.js';
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ const _hoisted_1 = ["aria-disabled", "aria-busy"];
|
|
|
6
6
|
const _hoisted_2 = ["disabled"];
|
|
7
7
|
const _hoisted_3 = { class: "tx-split-button__inner" };
|
|
8
8
|
const _hoisted_4 = { class: "tx-split-button__label" };
|
|
9
|
-
const _hoisted_5 = ["disabled", "aria-expanded"];
|
|
9
|
+
const _hoisted_5 = ["disabled", "aria-expanded", "onKeydown"];
|
|
10
10
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
11
|
...{ name: "TxSplitButton" },
|
|
12
12
|
__name: "split-button",
|
|
@@ -51,11 +51,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
51
51
|
});
|
|
52
52
|
const interactiveDisabled = computed(() => props.disabled || props.loading);
|
|
53
53
|
const menuDisabled = computed(() => interactiveDisabled.value || props.menuDisabled);
|
|
54
|
+
const ignoreNextMenuClick = ref(false);
|
|
54
55
|
function handlePrimaryClick(event) {
|
|
55
56
|
if (interactiveDisabled.value)
|
|
56
57
|
return;
|
|
57
58
|
emit("click", event);
|
|
58
59
|
}
|
|
60
|
+
function toggleMenu() {
|
|
61
|
+
if (menuDisabled.value)
|
|
62
|
+
return;
|
|
63
|
+
open.value = !open.value;
|
|
64
|
+
}
|
|
65
|
+
function handleMenuPointerDown() {
|
|
66
|
+
if (menuDisabled.value)
|
|
67
|
+
return;
|
|
68
|
+
ignoreNextMenuClick.value = true;
|
|
69
|
+
toggleMenu();
|
|
70
|
+
}
|
|
71
|
+
function handleMenuClick() {
|
|
72
|
+
if (ignoreNextMenuClick.value) {
|
|
73
|
+
ignoreNextMenuClick.value = false;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
toggleMenu();
|
|
77
|
+
}
|
|
59
78
|
function closeMenu() {
|
|
60
79
|
open.value = false;
|
|
61
80
|
}
|
|
@@ -97,7 +116,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
97
116
|
disabled: menuDisabled.value,
|
|
98
117
|
placement: __props.menuPlacement,
|
|
99
118
|
offset: __props.menuOffset,
|
|
100
|
-
width: __props.menuWidth
|
|
119
|
+
width: __props.menuWidth,
|
|
120
|
+
"toggle-on-reference-click": false
|
|
101
121
|
}, {
|
|
102
122
|
reference: withCtx(() => [
|
|
103
123
|
createElementVNode("button", {
|
|
@@ -105,14 +125,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
105
125
|
disabled: menuDisabled.value,
|
|
106
126
|
type: "button",
|
|
107
127
|
"aria-haspopup": "menu",
|
|
108
|
-
"aria-expanded": open.value || void 0
|
|
128
|
+
"aria-expanded": open.value || void 0,
|
|
129
|
+
onPointerdown: handleMenuPointerDown,
|
|
130
|
+
onClick: handleMenuClick,
|
|
131
|
+
onKeydown: [
|
|
132
|
+
withKeys(withModifiers(handleMenuClick, ["prevent"]), ["enter"]),
|
|
133
|
+
withKeys(withModifiers(handleMenuClick, ["prevent"]), ["space"])
|
|
134
|
+
]
|
|
109
135
|
}, [
|
|
110
136
|
renderSlot(_ctx.$slots, "menu-icon", {}, () => [
|
|
111
137
|
createElementVNode("i", {
|
|
112
138
|
class: normalizeClass(["tx-split-button__menu-icon", __props.menuIcon])
|
|
113
139
|
}, null, 2)
|
|
114
140
|
])
|
|
115
|
-
],
|
|
141
|
+
], 40, _hoisted_5)
|
|
116
142
|
]),
|
|
117
143
|
default: withCtx(() => [
|
|
118
144
|
renderSlot(_ctx.$slots, "menu", { close: closeMenu })
|