foucui 2.2.2 → 2.3.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.
Files changed (104) hide show
  1. package/README.md +2 -1
  2. package/dist/components/FouBreadcrumb/types.d.ts +14 -0
  3. package/dist/components/FouCalendar/types.d.ts +5 -0
  4. package/dist/components/FouConfigProvider/types.d.ts +6 -0
  5. package/dist/components/FouFloatButton/context.d.ts +1 -0
  6. package/dist/components/FouForm/types.d.ts +2 -1
  7. package/dist/components/FouImagePreviewGroup/context.d.ts +6 -0
  8. package/dist/components/FouInfiniteScroll/index.d.ts +14 -0
  9. package/dist/components/FouSelect/types.d.ts +6 -4
  10. package/dist/components/FouSplitter/types.d.ts +19 -0
  11. package/dist/components/FouTabBar/types.d.ts +5 -0
  12. package/dist/components/FouTour/types.d.ts +18 -0
  13. package/dist/components/popupZIndex.d.ts +3 -0
  14. package/dist/components/useFormField.d.ts +14 -0
  15. package/dist/components/useVirtualList.d.ts +19 -0
  16. package/dist/foucui.css +1 -1
  17. package/dist/foucui.js +8355 -5786
  18. package/dist/foucui.umd.cjs +13 -13
  19. package/dist/index.d.ts +57 -5
  20. package/dist/src/bridge/@/store/modules/settings.d.ts +10 -3
  21. package/package.json +4 -2
  22. package/README.publish.md +0 -23
  23. package/dist/components/FouAnchorLink/index.vue.d.ts +0 -23
  24. package/dist/components/FouBadge/components/BadgeImagePickerDialog.vue.d.ts +0 -16
  25. package/dist/components/FouBadge/components/BadgeLibraryManagerDialog.vue.d.ts +0 -9
  26. package/dist/components/FouBadge/components/BadgeLibraryPanel.vue.d.ts +0 -5
  27. package/dist/components/FouBadge/shared/BadgeTemplateRenderer.vue.d.ts +0 -14
  28. package/dist/components/FouBadge/views/BadgeLibraryView.vue.d.ts +0 -2
  29. package/dist/components/FouBadge/views/BadgeManageView.vue.d.ts +0 -7
  30. package/dist/components/FouBadge/views/BadgeTemplateListView.vue.d.ts +0 -4
  31. package/dist/components/FouBadge/views/DeskLabelTemplateListView.vue.d.ts +0 -4
  32. package/dist/components/FouBadge/views/DeskLabelView.vue.d.ts +0 -4
  33. package/dist/components/FouBanner/index.vue.d.ts +0 -53
  34. package/dist/components/FouButton/index.vue.d.ts +0 -52
  35. package/dist/components/FouCanvasKit/FouCanvasEditor.vue.d.ts +0 -26
  36. package/dist/components/FouCanvasKit/FouCanvasRenderer.vue.d.ts +0 -13
  37. package/dist/components/FouCanvasKit/components/DataModulesPanel.vue.d.ts +0 -24
  38. package/dist/components/FouCarouselItem/index.vue.d.ts +0 -20
  39. package/dist/components/FouCheckbox/FouCheckboxGroup.vue.d.ts +0 -33
  40. package/dist/components/FouCheckbox/index.vue.d.ts +0 -38
  41. package/dist/components/FouCode/index.vue.d.ts +0 -15
  42. package/dist/components/FouCollapseItem/index.vue.d.ts +0 -30
  43. package/dist/components/FouColorField/index.vue.d.ts +0 -23
  44. package/dist/components/FouColorPicker/index.vue.d.ts +0 -21
  45. package/dist/components/FouCombobox/index.vue.d.ts +0 -54
  46. package/dist/components/FouContextMenu/index.vue.d.ts +0 -46
  47. package/dist/components/FouDescriptionsItem/index.vue.d.ts +0 -25
  48. package/dist/components/FouDigitalCard/index.vue.d.ts +0 -45
  49. package/dist/components/FouDropdown/FouDropdownItem.vue.d.ts +0 -30
  50. package/dist/components/FouDropdown/FouDropdownMenu.vue.d.ts +0 -17
  51. package/dist/components/FouDropdown/index.vue.d.ts +0 -47
  52. package/dist/components/FouHoverCard/index.vue.d.ts +0 -44
  53. package/dist/components/FouIcon/index.vue.d.ts +0 -18
  54. package/dist/components/FouInput/index.vue.d.ts +0 -71
  55. package/dist/components/FouInputNumber/index.vue.d.ts +0 -38
  56. package/dist/components/FouInputOtp/index.vue.d.ts +0 -28
  57. package/dist/components/FouKbd/index.vue.d.ts +0 -22
  58. package/dist/components/FouLayoutContainer/index.vue.d.ts +0 -29
  59. package/dist/components/FouLinkPreview/index.vue.d.ts +0 -43
  60. package/dist/components/FouLoading/spinner.vue.d.ts +0 -14
  61. package/dist/components/FouMention/index.vue.d.ts +0 -35
  62. package/dist/components/FouMenu/FouMenuRoot.vue.d.ts +0 -36
  63. package/dist/components/FouMenuNav/FouMenuNavItem.vue.d.ts +0 -26
  64. package/dist/components/FouMenuNav/FouMenuNavSub.vue.d.ts +0 -25
  65. package/dist/components/FouMenuNav/index.vue.d.ts +0 -35
  66. package/dist/components/FouMsg/FouMsgItem.vue.d.ts +0 -15
  67. package/dist/components/FouNotification/FouNotificationItem.vue.d.ts +0 -16
  68. package/dist/components/FouPageMain/index.vue.d.ts +0 -27
  69. package/dist/components/FouPagination/index.vue.d.ts +0 -44
  70. package/dist/components/FouPasswordStrength/index.vue.d.ts +0 -9
  71. package/dist/components/FouQrcode/index.vue.d.ts +0 -20
  72. package/dist/components/FouRadio/FouRadioGroup.vue.d.ts +0 -33
  73. package/dist/components/FouSearchBar/index.vue.d.ts +0 -38
  74. package/dist/components/FouSearchInput/index.vue.d.ts +0 -57
  75. package/dist/components/FouSelect/FouOption.vue.d.ts +0 -24
  76. package/dist/components/FouSelect/index.vue.d.ts +0 -52
  77. package/dist/components/FouSparkline/index.vue.d.ts +0 -18
  78. package/dist/components/FouStep/index.vue.d.ts +0 -31
  79. package/dist/components/FouSwitch/index.vue.d.ts +0 -25
  80. package/dist/components/FouTabBar/index.vue.d.ts +0 -32
  81. package/dist/components/FouTabPane/index.vue.d.ts +0 -25
  82. package/dist/components/FouTable/index.vue.d.ts +0 -322
  83. package/dist/components/FouTime/index.vue.d.ts +0 -43
  84. package/dist/components/FouTimeAgo/index.vue.d.ts +0 -35
  85. package/dist/components/FouTimelineItem/index.vue.d.ts +0 -35
  86. package/dist/components/FouTooltip/index.vue.d.ts +0 -38
  87. package/dist/components/FouTrend/index.vue.d.ts +0 -34
  88. package/dist/components/FouUpload/index.vue.d.ts +0 -86
  89. package/dist/components/FouUploadCrop/index.vue.d.ts +0 -136
  90. package/dist/src/bridge/@/api/media.d.ts +0 -7
  91. package/dist/src/bridge/@/api/notice.d.ts +0 -5
  92. package/dist/src/bridge/@/config/media.config.d.ts +0 -15
  93. package/dist/src/bridge/@/config/security.config.d.ts +0 -7
  94. package/dist/src/bridge/@/store/modules/bing.d.ts +0 -3
  95. package/dist/src/bridge/@/store/modules/errorLog.d.ts +0 -3
  96. package/dist/src/bridge/@/store/modules/media.d.ts +0 -4
  97. package/dist/src/bridge/@/store/modules/routes.d.ts +0 -3
  98. package/dist/src/bridge/@/store/modules/tabs.d.ts +0 -3
  99. package/dist/src/bridge/@/store/modules/user.d.ts +0 -3
  100. package/dist/src/bridge/@/utils/convertToCamelCase.d.ts +0 -2
  101. package/dist/src/bridge/@/utils/index.d.ts +0 -5
  102. package/dist/src/bridge/@/utils/pageTitle.d.ts +0 -1
  103. package/dist/src/bridge/@/utils/routes.d.ts +0 -11
  104. package/dist/src/bridge/@fou/plugins/shortcuts.d.ts +0 -2
package/README.md CHANGED
@@ -14,9 +14,10 @@ pnpm add foucui
14
14
  ```ts
15
15
  import { setupFoucui, setupFou } from 'foucui'
16
16
  import 'foucui/dist/foucui.css'
17
- import 'foucui/styles/fou.scss'
18
17
  ```
19
18
 
19
+ 主题变量已打进 `foucui.css`。按需引入示例:`import { FouDialog, FouForm, FouSelect } from 'foucui'`。消费端需安装 peer:`vue`、`vue-router`、`@vueuse/core`、`pinia`。
20
+
20
21
  `setupFoucui` / `setupQiuye` / `setupFou` 行为一致。
21
22
 
22
23
  ## 画布套件 FouCanvasKit
@@ -0,0 +1,14 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ import { RouteLocationRaw } from 'vue-router';
3
+ export interface FouBreadcrumbItemData {
4
+ label: string;
5
+ to?: RouteLocationRaw;
6
+ replace?: boolean;
7
+ disabled?: boolean;
8
+ icon?: string;
9
+ }
10
+ export interface FouBreadcrumbContext {
11
+ separator: Ref<string>;
12
+ separatorIcon: Ref<string>;
13
+ }
14
+ export declare const FOU_BREADCRUMB_KEY: InjectionKey<FouBreadcrumbContext>;
@@ -0,0 +1,5 @@
1
+ export interface FouCalendarMark {
2
+ date: Date | string;
3
+ type?: 'primary' | 'success' | 'warning' | 'danger' | 'info';
4
+ content?: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Ref } from 'vue';
2
+ export interface FouConfigProviderContext {
3
+ size: Ref<'large' | 'default' | 'small'>;
4
+ locale: Ref<Record<string, string> | undefined>;
5
+ zIndex: Ref<number>;
6
+ }
@@ -0,0 +1 @@
1
+ export declare const FOU_FLOAT_GROUP_KEY: unique symbol;
@@ -8,7 +8,7 @@ export type FouFormRule = {
8
8
  pattern?: RegExp;
9
9
  type?: string;
10
10
  trigger?: 'blur' | 'change' | Array<'blur' | 'change'>;
11
- validator?: (rule: FouFormRule, value: any, callback: (error?: string | Error) => void) => void;
11
+ validator?: (rule: FouFormRule, value: any, callback: (error?: string | Error) => void) => void | boolean | Promise<void | boolean | string | Error>;
12
12
  };
13
13
  export type FouFormRules = Record<string, FouFormRule | FouFormRule[]>;
14
14
  export interface FouFormItemContext {
@@ -25,6 +25,7 @@ export interface FouFormContext {
25
25
  labelPosition: import('vue').ComputedRef<'left' | 'right' | 'top'>;
26
26
  disabled: import('vue').ComputedRef<boolean>;
27
27
  hideRequiredAsterisk: import('vue').ComputedRef<boolean>;
28
+ requireAsteriskPosition: import('vue').ComputedRef<'left' | 'right'>;
28
29
  addField: (field: FouFormItemContext) => void;
29
30
  removeField: (field: FouFormItemContext) => void;
30
31
  emitValidate: (prop: string, isValid: boolean, message: string) => void;
@@ -0,0 +1,6 @@
1
+ export declare const FOU_IMAGE_GROUP_KEY: unique symbol;
2
+ export interface FouImageGroupContext {
3
+ register: (src: string) => void;
4
+ unregister: (src: string) => void;
5
+ open: (src: string) => void;
6
+ }
@@ -0,0 +1,14 @@
1
+ import { App, Directive } from 'vue';
2
+ export interface FouInfiniteScrollOptions {
3
+ handler?: () => void | Promise<void>;
4
+ disabled?: boolean;
5
+ delay?: number;
6
+ distance?: number;
7
+ immediate?: boolean;
8
+ }
9
+ type BindingValue = (() => void | Promise<void>) | FouInfiniteScrollOptions | undefined;
10
+ export declare const vFouInfiniteScroll: Directive<HTMLElement, BindingValue>;
11
+ declare const _default: {
12
+ install(app: App): void;
13
+ };
14
+ export default _default;
@@ -4,10 +4,12 @@ export interface FouSelectOption {
4
4
  label: string;
5
5
  disabled?: boolean;
6
6
  }
7
+ export type FouSelectValue = string | number | boolean;
7
8
  export interface FouSelectContext {
8
- modelValue: Ref<string | number | boolean | null | undefined>;
9
- selectOption: (value: string | number | boolean, label: string) => void;
10
- setHoverOption: (value: string | number | boolean) => void;
9
+ modelValue: Ref<FouSelectValue | FouSelectValue[] | null | undefined>;
10
+ multiple: Ref<boolean>;
11
+ selectOption: (value: FouSelectValue, label: string) => void;
12
+ setHoverOption: (value: FouSelectValue) => void;
11
13
  registerOption: (option: FouSelectOption) => void;
12
- unregisterOption: (value: string | number | boolean) => void;
14
+ unregisterOption: (value: FouSelectValue) => void;
13
15
  }
@@ -0,0 +1,19 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ export interface FouSplitterPanelItem {
3
+ uid: number;
4
+ size?: number | string;
5
+ min?: number | string;
6
+ max?: number | string;
7
+ resizable?: boolean;
8
+ }
9
+ export interface FouSplitterContext {
10
+ layout: Ref<'horizontal' | 'vertical'>;
11
+ panels: Ref<FouSplitterPanelItem[]>;
12
+ flexMap: Ref<Record<number, number>>;
13
+ draggingUid: Ref<number>;
14
+ register: (panel: FouSplitterPanelItem) => void;
15
+ unregister: (uid: number) => void;
16
+ update: (uid: number, partial: Partial<FouSplitterPanelItem>) => void;
17
+ startDrag: (uid: number, event: MouseEvent) => void;
18
+ }
19
+ export declare const FOU_SPLITTER_KEY: InjectionKey<FouSplitterContext>;
@@ -5,7 +5,11 @@ export interface FouTabPaneRegistration {
5
5
  label: string;
6
6
  lazy?: boolean;
7
7
  loaded?: boolean;
8
+ disabled?: boolean;
9
+ closable?: boolean;
10
+ icon?: string;
8
11
  render: () => VNode[];
12
+ renderLabel?: () => VNode[];
9
13
  }
10
14
  export interface FouTabBarContext {
11
15
  activeName: Ref<string | number | undefined>;
@@ -14,3 +18,4 @@ export interface FouTabBarContext {
14
18
  updatePane: (uid: number, partial: Partial<FouTabPaneRegistration>) => void;
15
19
  }
16
20
  export declare const FOU_TAB_BAR_KEY: InjectionKey<FouTabBarContext>;
21
+ export declare const FOU_TABS_KEY: InjectionKey<FouTabBarContext>;
@@ -0,0 +1,18 @@
1
+ import { InjectionKey } from 'vue';
2
+ export type FouTourPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
3
+ export interface FouTourStep {
4
+ target?: string | HTMLElement | (() => HTMLElement | null | undefined);
5
+ title?: string;
6
+ description?: string;
7
+ placement?: FouTourPlacement;
8
+ nextText?: string;
9
+ prevText?: string;
10
+ mask?: boolean;
11
+ }
12
+ export interface FouTourContext {
13
+ registerStep: (step: FouTourStep & {
14
+ uid: number;
15
+ }) => void;
16
+ unregisterStep: (uid: number) => void;
17
+ }
18
+ export declare const FOU_TOUR_KEY: InjectionKey<FouTourContext>;
@@ -0,0 +1,3 @@
1
+ /** 弹层递增 z-index:后打开的盖住先打开的(Dialog 内的 Select 也能盖住 Dialog) */
2
+ export declare function nextPopupZIndex(min?: number): number;
3
+ export declare function peekPopupZIndex(): number;
@@ -0,0 +1,14 @@
1
+ import { MaybeRefOrGetter } from 'vue';
2
+ export type FouFormItemTrigger = {
3
+ validate?: (trigger: string) => Promise<boolean>;
4
+ onFieldBlur?: () => void;
5
+ onFieldChange?: () => void;
6
+ prop?: {
7
+ value?: string;
8
+ };
9
+ };
10
+ export declare function useFormDisabled(disabled: MaybeRefOrGetter<boolean | undefined>): globalThis.ComputedRef<boolean>;
11
+ export declare function useFormItemTrigger(): {
12
+ triggerBlur: () => void;
13
+ triggerChange: () => void;
14
+ };
@@ -0,0 +1,19 @@
1
+ import { Ref } from 'vue';
2
+ /** 简单纵向虚拟列表:按固定行高切可视区 */
3
+ export declare function useVirtualList(opts: {
4
+ scrollRef: Ref<HTMLElement | null>;
5
+ total: () => number;
6
+ itemHeight?: number;
7
+ overscan?: number;
8
+ }): {
9
+ range: globalThis.ComputedRef<{
10
+ start: number;
11
+ end: number;
12
+ padTop: number;
13
+ padBottom: number;
14
+ height: number;
15
+ }>;
16
+ itemHeight: globalThis.ComputedRef<number>;
17
+ measure: () => void;
18
+ onScroll: () => void;
19
+ };