straw-ui-vue 0.1.21 → 0.1.22

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 (135) hide show
  1. package/dist/components/st-cascade/index.d.ts +3 -11
  2. package/dist/components/st-cascade/st-cascade-panel.d.ts +2 -5
  3. package/dist/components/st-cascade/st-cascade.d.ts +2 -7
  4. package/dist/components/st-cascade/types.d.ts +10 -0
  5. package/dist/components/st-checkbox/useCheckboxGroupState.d.ts +2 -0
  6. package/dist/components/st-color-picker/index.d.ts +94 -12
  7. package/dist/components/st-color-picker/st-color-picker-panel.d.ts +9 -2
  8. package/dist/components/st-color-picker/st-color-picker.d.ts +9 -2
  9. package/dist/components/st-color-picker/types.d.ts +16 -0
  10. package/dist/components/st-date-picker/index.d.ts +85 -19
  11. package/dist/components/st-date-picker/st-date-picker-panel.d.ts +9 -4
  12. package/dist/components/st-date-picker/st-date-picker.d.ts +2 -5
  13. package/dist/components/st-date-picker/types.d.ts +18 -4
  14. package/dist/components/st-datetime-picker/index.d.ts +89 -19
  15. package/dist/components/st-datetime-picker/st-datetime-picker-panel.d.ts +9 -4
  16. package/dist/components/st-datetime-picker/st-datetime-picker.d.ts +2 -5
  17. package/dist/components/st-datetime-picker/types.d.ts +18 -4
  18. package/dist/components/st-dialog/useDialogState.d.ts +2 -0
  19. package/dist/components/st-divider/useDividerState.d.ts +2 -0
  20. package/dist/components/st-drawer/useDrawerState.d.ts +2 -0
  21. package/dist/components/st-empty/types.d.ts +5 -0
  22. package/dist/components/st-form-control/types.d.ts +6 -8
  23. package/dist/components/st-form-description/index.d.ts +1 -3
  24. package/dist/components/st-form-description/st-form-description.d.ts +2 -5
  25. package/dist/components/st-form-description/types.d.ts +5 -0
  26. package/dist/components/st-form-field/index.d.ts +1 -11
  27. package/dist/components/st-form-field/st-form-field.d.ts +2 -9
  28. package/dist/components/st-form-field/types.d.ts +5 -6
  29. package/dist/components/st-form-item/index.d.ts +1 -3
  30. package/dist/components/st-form-item/st-form-item.d.ts +2 -5
  31. package/dist/components/st-form-item/types.d.ts +6 -8
  32. package/dist/components/st-form-label/index.d.ts +1 -3
  33. package/dist/components/st-form-label/st-form-label.d.ts +2 -5
  34. package/dist/components/st-form-label/types.d.ts +5 -0
  35. package/dist/components/st-form-message/index.d.ts +1 -3
  36. package/dist/components/st-form-message/st-form-message.d.ts +2 -5
  37. package/dist/components/st-form-message/types.d.ts +5 -0
  38. package/dist/components/st-input/index.d.ts +1863 -607
  39. package/dist/components/st-input/st-input-group-input.d.ts +9 -2
  40. package/dist/components/st-input/st-input-group-textarea.d.ts +9 -2
  41. package/dist/components/st-input/st-input-number.d.ts +10 -3
  42. package/dist/components/st-input/st-input.d.ts +165 -57
  43. package/dist/components/st-input/st-textarea.d.ts +167 -57
  44. package/dist/components/st-input/types.d.ts +50 -0
  45. package/dist/components/st-label/index.d.ts +1 -3
  46. package/dist/components/st-label/st-label.d.ts +2 -5
  47. package/dist/components/st-label/types.d.ts +5 -0
  48. package/dist/components/st-menu/index.d.ts +14 -82
  49. package/dist/components/st-menu/st-menu-content.d.ts +1 -6
  50. package/dist/components/st-menu/st-menu-divider.d.ts +1 -4
  51. package/dist/components/st-menu/st-menu-group.d.ts +0 -4
  52. package/dist/components/st-menu/st-menu-item.d.ts +0 -4
  53. package/dist/components/st-menu/st-menu-trigger.d.ts +1 -6
  54. package/dist/components/st-menu/types.d.ts +54 -0
  55. package/dist/components/st-menu/useMenuState.d.ts +60 -0
  56. package/dist/components/st-pagination/index.d.ts +1 -7
  57. package/dist/components/st-pagination/st-pagination.d.ts +2 -9
  58. package/dist/components/st-popover/index.d.ts +17 -47
  59. package/dist/components/st-popover/st-popover-arrow.d.ts +1 -8
  60. package/dist/components/st-popover/st-popover-content.d.ts +0 -6
  61. package/dist/components/st-popover/st-popover-trigger.d.ts +0 -6
  62. package/dist/components/st-popover/st-popover.d.ts +11 -12
  63. package/dist/components/st-popover/types.d.ts +45 -14
  64. package/dist/components/st-popover/usePopoverState.d.ts +62 -0
  65. package/dist/components/st-progress/index.d.ts +1 -5
  66. package/dist/components/st-progress/st-progress.d.ts +2 -7
  67. package/dist/components/st-progress/types.d.ts +5 -0
  68. package/dist/components/st-radio/useRadioGroupState.d.ts +2 -0
  69. package/dist/components/st-scrollbar/index.d.ts +1 -3
  70. package/dist/components/st-scrollbar/st-scrollbar.d.ts +2 -5
  71. package/dist/components/st-scrollbar/types.d.ts +0 -6
  72. package/dist/components/st-segmented/index.d.ts +43 -8
  73. package/dist/components/st-segmented/st-segmented.d.ts +9 -2
  74. package/dist/components/st-select/index.d.ts +19 -93
  75. package/dist/components/st-select/st-select-content.d.ts +1 -8
  76. package/dist/components/st-select/st-select-empty.d.ts +1 -8
  77. package/dist/components/st-select/st-select-group.d.ts +1 -8
  78. package/dist/components/st-select/st-select-item.d.ts +0 -6
  79. package/dist/components/st-select/st-select-trigger.d.ts +6 -12
  80. package/dist/components/st-select/st-select.d.ts +2 -7
  81. package/dist/components/st-select/types.d.ts +68 -0
  82. package/dist/components/st-select/useSelectState.d.ts +55 -0
  83. package/dist/components/st-sidebar/index.d.ts +13 -3
  84. package/dist/components/st-sidebar/st-sidebar.d.ts +5 -1
  85. package/dist/components/st-sidebar/useSidebarState.d.ts +2 -0
  86. package/dist/components/st-sidebar-item/index.d.ts +13 -3
  87. package/dist/components/st-sidebar-item/st-sidebar-item.d.ts +5 -1
  88. package/dist/components/st-skeleton/index.d.ts +3 -11
  89. package/dist/components/st-skeleton/st-skeleton-item.d.ts +2 -5
  90. package/dist/components/st-skeleton/st-skeleton.d.ts +2 -7
  91. package/dist/components/st-skeleton/types.d.ts +10 -6
  92. package/dist/components/st-slider/index.d.ts +1 -17
  93. package/dist/components/st-slider/st-slider.d.ts +2 -19
  94. package/dist/components/st-slider/types.d.ts +8 -0
  95. package/dist/components/st-splitter/index.d.ts +14 -6
  96. package/dist/components/st-splitter/st-splitter.d.ts +7 -6
  97. package/dist/components/st-splitter/useSplitter.d.ts +0 -8
  98. package/dist/components/st-splitter/useSplitterState.d.ts +2 -0
  99. package/dist/components/st-splitter-panel/index.d.ts +6 -3
  100. package/dist/components/st-splitter-panel/st-splitter-panel.d.ts +4 -5
  101. package/dist/components/st-tabs/index.d.ts +26 -6
  102. package/dist/components/st-tabs/st-tabs-pane.d.ts +5 -1
  103. package/dist/components/st-tabs/useTabsState.d.ts +12 -0
  104. package/dist/components/st-tag/index.d.ts +1 -20
  105. package/dist/components/st-tag/st-tag.d.ts +3 -13
  106. package/dist/components/st-tag/types.d.ts +40 -51
  107. package/dist/components/st-time-picker/index.d.ts +102 -14
  108. package/dist/components/st-time-picker/st-time-picker-panel.d.ts +9 -2
  109. package/dist/components/st-time-picker/st-time-picker.d.ts +9 -2
  110. package/dist/components/st-time-picker/types.d.ts +18 -6
  111. package/dist/components/st-toggle/index.d.ts +15 -13
  112. package/dist/components/st-toggle/st-toggle.d.ts +11 -10
  113. package/dist/components/st-tooltip/index.d.ts +27 -352
  114. package/dist/components/st-tooltip/st-tooltip.d.ts +14 -10
  115. package/dist/components/st-tooltip/types.d.ts +10 -97
  116. package/dist/components/st-tree/index.d.ts +48 -73
  117. package/dist/components/st-tree/st-tree-node.d.ts +9 -2
  118. package/dist/components/st-tree/st-tree.d.ts +15 -69
  119. package/dist/components/st-tree/types.d.ts +6 -1
  120. package/dist/components/st-tree/useTreeStyleState.d.ts +2 -0
  121. package/dist/directive/v-intersection.d.ts +3 -15
  122. package/dist/directive/v-resize.d.ts +3 -15
  123. package/dist/dist--ubF9h1Q.js +335 -0
  124. package/dist/global.d.ts +0 -3
  125. package/dist/index.d.ts +2 -8
  126. package/dist/straw-ui.js +3767 -4269
  127. package/dist/useDialogState-Cs1mp3-Y.js +5 -0
  128. package/dist/utils/device.d.ts +20 -21
  129. package/dist/utils/z-index.d.ts +9 -39
  130. package/package.json +5 -5
  131. package/dist/components/st-tooltip/st-tooltip-container.d.ts +0 -44
  132. package/dist/components/st-tooltip/st-tooltip-content.d.ts +0 -30
  133. package/dist/components/st-tooltip/st-tooltip-trigger.d.ts +0 -23
  134. package/dist/context-B_FwxbY6.js +0 -4
  135. package/dist/utils/id.d.ts +0 -4
@@ -0,0 +1,5 @@
1
+ import { s as e } from "./dist--ubF9h1Q.js";
2
+ //#region src/components/st-dialog/useDialogState.ts
3
+ var [t, n] = e((e) => e);
4
+ //#endregion
5
+ export { t as n, n as t };
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * 设备类型枚举
3
- * 用于标识当前运行环境的设备类型
4
3
  */
5
4
  export declare enum DeviceType {
6
5
  /** 桌面电脑 */
@@ -16,7 +15,7 @@ export declare enum DeviceType {
16
15
  export interface DeviceInfo {
17
16
  /** 设备类型 */
18
17
  deviceType: DeviceType;
19
- /** 是否为移动设备 */
18
+ /** 是否为移动设备(手机或平板) */
20
19
  isMobile: boolean;
21
20
  /** 是否为触摸设备 */
22
21
  isTouch: boolean;
@@ -30,40 +29,40 @@ export interface DeviceInfo {
30
29
  userAgent: string;
31
30
  }
32
31
  /**
33
- * 是否为移动设备(手机或平板)
34
- * @returns 移动设备返回 true,桌面设备返回 false
32
+ * 基于 CSS 媒体查询的设备检测 composable
33
+ * 相比传统 UA 解析更可靠,且响应式更新
34
+ */
35
+ export declare const useDevice: () => {
36
+ /** 当前设备类型 */
37
+ deviceType: import('vue').ComputedRef<DeviceType>;
38
+ /** 是否为移动设备 */
39
+ isMobile: import('vue').ComputedRef<boolean>;
40
+ /** 是否为桌面端 */
41
+ isDesktop: import('vue').ComputedRef<boolean>;
42
+ /** 是否为触摸设备 */
43
+ isTouch: import('vue').ComputedRef<boolean>;
44
+ };
45
+ /**
46
+ * 是否为移动设备(UA 兜底检测)
35
47
  */
36
48
  export declare function isMobile(): boolean;
37
49
  /**
38
- * 是否为平板设备
39
- * @returns 平板设备返回 true
50
+ * 是否为平板设备(UA 兜底检测)
40
51
  */
41
52
  export declare function isTablet(): boolean;
42
53
  /**
43
- * 是否为手机设备
44
- * @returns 手机设备返回 true
54
+ * 是否为手机设备(UA 兜底检测)
45
55
  */
46
56
  export declare function isPhone(): boolean;
47
57
  /**
48
- * 是否为桌面设备
49
- * @returns 桌面设备返回 true
58
+ * 是否为桌面设备(非移动且非平板)
50
59
  */
51
60
  export declare function isDesktop(): boolean;
52
61
  /**
53
- * 获取当前设备类型
54
- *
55
- * 检测策略(按优先级):
56
- * 1. 通过 User Agent 匹配已知平板特征(iPad、Android Tablet、Kindle、PlayBook 等)
57
- * 2. 通过 User Agent 匹配已知手机特征(iPhone、Android Phone、Windows Phone 等)
58
- * 3. iPadOS 13+ 桌面级 UA 兜底:检测 maxTouchPoints > 1 结合屏幕尺寸
59
- * 4. 普通触摸设备:通过屏幕尺寸辅助区分平板(>= 768px)与手机
60
- * 5. 以上均不匹配 → 桌面
61
- *
62
- * @returns 设备类型枚举值
62
+ * 获取当前设备类型(UA 兜底检测)
63
63
  */
64
64
  export declare function getDeviceType(): DeviceType;
65
65
  /**
66
66
  * 获取完整的设备详细信息
67
- * @returns 设备详细信息对象
68
67
  */
69
68
  export declare function getDeviceInfo(): DeviceInfo;
@@ -1,40 +1,10 @@
1
1
  /**
2
- * 全局 ZIndex 管理器
3
- *
4
- * 为弹出类组件(弹窗、抽屉、气泡等)提供统一且递增的 z-index 值,
5
- * 确保后打开的弹窗层级始终高于先打开的弹窗,支持嵌套场景。
6
- *
7
- * 使用方式:
8
- * ```ts
9
- * import { nextZIndex, setZIndexBase, getCurrentZIndex } from '@/utils/z-index'
10
- *
11
- * // 打开弹窗时获取 z-index
12
- * const zIndex = nextZIndex() // 首次调用返回 1001(基于默认起始值 1000 + 1)
13
- *
14
- * // 自定义起始值(应用初始化时配置)
15
- * setZIndexBase(2000)
16
- * ```
17
- *
18
- * 设计要点:
19
- * - 基于函数闭包实现,内部计数器不可被外部修改(防修改保护)
20
- * - 每次调用 nextZIndex() 返回递增后的值,确保唯一性和递增性
21
- * - 返回原始数值(primitive),不存在引用共享问题
22
- * - 不提供递减机制,zIndex 只增不减
23
- */
24
- /**
25
- * 设置 z-index 起始值
26
- * 用于让使用者自定义初始值,应在应用初始化阶段调用
27
- * @param base 新的起始值
28
- */
29
- export declare function setZIndexBase(base: number): void;
30
- /**
31
- * 获取下一个可用的 z-index 值
32
- * 每次调用将当前值 +1 后返回,确保每次获取的值都是唯一的且递增的
33
- * @returns 递增后的 z-index 值
34
- */
35
- export declare function nextZIndex(): number;
36
- /**
37
- * 获取当前 z-index 值(仅读取,不递增)
38
- * @returns 当前 z-index 值
39
- */
40
- export declare function getCurrentZIndex(): number;
2
+ * 全局 ZIndex 状态
3
+ * createGlobalState 确保所有组件共享同一个计数器实例,
4
+ * useCounter 提供递增/递减/重置能力,内部计数器不可被外部直接修改。
5
+ */
6
+ export declare const useZIndex: () => {
7
+ nextZIndex: () => number;
8
+ setZIndexBase: (base: number) => void;
9
+ getCurrentZIndex: () => number;
10
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "straw-ui-vue",
3
- "version": "0.1.21",
3
+ "version": "0.1.22",
4
4
  "type": "module",
5
5
  "main": "./dist/straw-ui.js",
6
6
  "module": "./dist/straw-ui.js",
@@ -22,10 +22,7 @@
22
22
  "dist"
23
23
  ],
24
24
  "scripts": {
25
- "dev": "vite serve examples --config examples/vite.config.ts",
26
- "build": "run-p type-check \"build-only {@}\" --",
27
25
  "build:lib": "vite build",
28
- "build-only": "vite build",
29
26
  "type-check": "vue-tsc --build",
30
27
  "preview": "vite preview",
31
28
  "format": "prettier --write --experimental-cli src/",
@@ -46,17 +43,20 @@
46
43
  }
47
44
  },
48
45
  "dependencies": {
46
+ "@vueuse/core": "14.3.0",
47
+ "@vueuse/math": "14.3.0",
49
48
  "clsx": "2.1.1",
50
49
  "tailwind-merge": "3.6.0"
51
50
  },
52
51
  "devDependencies": {
53
- "@iconify-json/lucide": "1.2.115",
52
+ "@iconify-json/lucide": "1.2.116",
54
53
  "@prettier/sync": "0.6.1",
55
54
  "@tsconfig/node24": "24.0.4",
56
55
  "@types/node": "26.1.0",
57
56
  "@vitejs/plugin-vue": "6.0.7",
58
57
  "@vitejs/plugin-vue-jsx": "5.1.6",
59
58
  "@vue/tsconfig": "0.9.1",
59
+ "highlight.js": "^11.11.1",
60
60
  "less": "4.6.7",
61
61
  "markdown-it-container": "4.0.0",
62
62
  "npm-run-all2": "9.0.2",
@@ -1,44 +0,0 @@
1
- import { StTooltipPlacement } from './types.d.ts';
2
- type __VLS_Props = {
3
- /** 受控模式下的显示状态 */
4
- open?: boolean;
5
- /** 非受控模式下的默认显示状态 */
6
- defaultOpen?: boolean;
7
- /** 显示延迟时间(毫秒) */
8
- openDelay?: number;
9
- /** 隐藏延迟时间(毫秒) */
10
- closeDelay?: number;
11
- /** 弹出方向 */
12
- placement?: StTooltipPlacement;
13
- /** 触发方式 */
14
- trigger?: 'hover' | 'click' | 'focus' | 'contextmenu' | 'manual';
15
- };
16
- declare var __VLS_1: {};
17
- type __VLS_Slots = {} & {
18
- default?: (props: typeof __VLS_1) => any;
19
- };
20
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
21
- show: () => void;
22
- hide: () => void;
23
- toggle: () => void;
24
- visible: import('vue').WritableComputedRef<boolean, boolean>;
25
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
- "update:open": (value: boolean) => any;
27
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
28
- "onUpdate:open"?: (value: boolean) => any;
29
- }>, {
30
- open: boolean;
31
- defaultOpen: boolean;
32
- openDelay: number;
33
- closeDelay: number;
34
- placement: StTooltipPlacement;
35
- trigger: "hover" | "click" | "focus" | "contextmenu" | "manual";
36
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
37
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
- declare const _default: typeof __VLS_export;
39
- export default _default;
40
- type __VLS_WithSlots<T, S> = T & {
41
- new (): {
42
- $slots: S;
43
- };
44
- };
@@ -1,30 +0,0 @@
1
- type __VLS_Props = {
2
- /** 自定义类名 */
3
- class?: any;
4
- /** 自定义样式 */
5
- style?: any;
6
- /** 是否显示箭头 */
7
- showArrow?: boolean;
8
- /** 箭头自定义类名 */
9
- arrowClass?: any;
10
- /** 箭头自定义样式 */
11
- arrowStyle?: any;
12
- };
13
- declare var __VLS_15: {};
14
- type __VLS_Slots = {} & {
15
- default?: (props: typeof __VLS_15) => any;
16
- };
17
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
18
- contentRef: import('vue').Ref<HTMLElement, HTMLElement>;
19
- calculatePosition: () => Promise<void>;
20
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
21
- showArrow: boolean;
22
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
23
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
- declare const _default: typeof __VLS_export;
25
- export default _default;
26
- type __VLS_WithSlots<T, S> = T & {
27
- new (): {
28
- $slots: S;
29
- };
30
- };
@@ -1,23 +0,0 @@
1
- type __VLS_Props = {
2
- /** 自定义类名 */
3
- class?: any;
4
- /** 自定义样式 */
5
- style?: any;
6
- /** 是否作为子元素渲染(不添加额外包装元素) */
7
- asChild?: boolean;
8
- };
9
- declare var __VLS_14: {};
10
- type __VLS_Slots = {} & {
11
- default?: (props: typeof __VLS_14) => any;
12
- };
13
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
14
- triggerRef: import('vue').Ref<HTMLElement, HTMLElement>;
15
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
16
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
- declare const _default: typeof __VLS_export;
18
- export default _default;
19
- type __VLS_WithSlots<T, S> = T & {
20
- new (): {
21
- $slots: S;
22
- };
23
- };
@@ -1,4 +0,0 @@
1
- //#region src/components/st-dialog/context.ts
2
- var e = Symbol("StDialogGroupContext");
3
- //#endregion
4
- export { e as t };
@@ -1,4 +0,0 @@
1
- /**
2
- * 生成一个全局唯一的 UUID
3
- * */
4
- export declare function generateId(): string;