@kine-design/core 0.0.1-beta.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 (181) hide show
  1. package/dist/components/base/affix/api.d.ts +3 -0
  2. package/dist/components/base/affix/index.d.ts +5 -0
  3. package/dist/components/base/affix/useAffix.d.ts +7 -0
  4. package/dist/components/base/alert/api.d.ts +3 -0
  5. package/dist/components/base/alert/index.d.ts +4 -0
  6. package/dist/components/base/anchor/api.d.ts +4 -0
  7. package/dist/components/base/anchor/index.d.ts +6 -0
  8. package/dist/components/base/anchor/useAnchor.d.ts +7 -0
  9. package/dist/components/base/autoComplete/api.d.ts +3 -0
  10. package/dist/components/base/autoComplete/index.d.ts +6 -0
  11. package/dist/components/base/autoComplete/useAutoComplete.d.ts +13 -0
  12. package/dist/components/base/avatar/api.d.ts +3 -0
  13. package/dist/components/base/avatar/index.d.ts +3 -0
  14. package/dist/components/base/backTop/api.d.ts +3 -0
  15. package/dist/components/base/backTop/index.d.ts +5 -0
  16. package/dist/components/base/backTop/useBackTop.d.ts +5 -0
  17. package/dist/components/base/badge/api.d.ts +3 -0
  18. package/dist/components/base/badge/index.d.ts +4 -0
  19. package/dist/components/base/button/api.d.ts +3 -0
  20. package/dist/components/base/button/index.d.ts +24 -0
  21. package/dist/components/base/button/useButton.d.ts +22 -0
  22. package/dist/components/base/card/api.d.ts +3 -0
  23. package/dist/components/base/card/index.d.ts +4 -0
  24. package/dist/components/base/carousel/api.d.ts +3 -0
  25. package/dist/components/base/carousel/index.d.ts +6 -0
  26. package/dist/components/base/carousel/useCarousel.d.ts +10 -0
  27. package/dist/components/base/cascader/api.d.ts +3 -0
  28. package/dist/components/base/cascader/index.d.ts +7 -0
  29. package/dist/components/base/cascader/useCascader.d.ts +31 -0
  30. package/dist/components/base/checkbox/api.d.ts +4 -0
  31. package/dist/components/base/checkbox/index.d.ts +5 -0
  32. package/dist/components/base/checkbox/useCheckbox.d.ts +9 -0
  33. package/dist/components/base/collapse/api.d.ts +4 -0
  34. package/dist/components/base/collapse/index.d.ts +6 -0
  35. package/dist/components/base/collapse/useCollapse.d.ts +16 -0
  36. package/dist/components/base/datePicker/api.d.ts +3 -0
  37. package/dist/components/base/datePicker/index.d.ts +8 -0
  38. package/dist/components/base/datePicker/useDatePicker.d.ts +52 -0
  39. package/dist/components/base/divider/api.d.ts +3 -0
  40. package/dist/components/base/divider/index.d.ts +4 -0
  41. package/dist/components/base/dropdown/api.d.ts +4 -0
  42. package/dist/components/base/dropdown/index.d.ts +6 -0
  43. package/dist/components/base/dropdown/useDropdown.d.ts +22 -0
  44. package/dist/components/base/empty/api.d.ts +3 -0
  45. package/dist/components/base/empty/index.d.ts +4 -0
  46. package/dist/components/base/image/api.d.ts +3 -0
  47. package/dist/components/base/image/index.d.ts +7 -0
  48. package/dist/components/base/image/useImage.d.ts +19 -0
  49. package/dist/components/base/input/api.d.ts +3 -0
  50. package/dist/components/base/input/index.d.ts +5 -0
  51. package/dist/components/base/input/useInput.d.ts +22 -0
  52. package/dist/components/base/inputNumber/api.d.ts +3 -0
  53. package/dist/components/base/inputNumber/index.d.ts +5 -0
  54. package/dist/components/base/inputNumber/useInputNumber.d.ts +12 -0
  55. package/dist/components/base/li/api.d.ts +3 -0
  56. package/dist/components/base/li/index.d.ts +3 -0
  57. package/dist/components/base/list/api.d.ts +3 -0
  58. package/dist/components/base/list/index.d.ts +5 -0
  59. package/dist/components/base/list/useList.d.ts +12 -0
  60. package/dist/components/base/loading/api.d.ts +3 -0
  61. package/dist/components/base/loading/index.d.ts +4 -0
  62. package/dist/components/base/popover/api.d.ts +3 -0
  63. package/dist/components/base/popover/index.d.ts +5 -0
  64. package/dist/components/base/popover/usePopover.d.ts +45 -0
  65. package/dist/components/base/progress/api.d.ts +3 -0
  66. package/dist/components/base/progress/index.d.ts +5 -0
  67. package/dist/components/base/progress/useProgress.d.ts +4 -0
  68. package/dist/components/base/radio/api.d.ts +3 -0
  69. package/dist/components/base/radio/index.d.ts +14 -0
  70. package/dist/components/base/radio/useRadio.d.ts +10 -0
  71. package/dist/components/base/rate/api.d.ts +3 -0
  72. package/dist/components/base/rate/index.d.ts +5 -0
  73. package/dist/components/base/rate/useRate.d.ts +9 -0
  74. package/dist/components/base/result/api.d.ts +3 -0
  75. package/dist/components/base/result/index.d.ts +4 -0
  76. package/dist/components/base/select/api.d.ts +3 -0
  77. package/dist/components/base/select/index.d.ts +7 -0
  78. package/dist/components/base/select/useSelect.d.ts +31 -0
  79. package/dist/components/base/select/useSelectTools.d.ts +8 -0
  80. package/dist/components/base/skeleton/api.d.ts +3 -0
  81. package/dist/components/base/skeleton/index.d.ts +4 -0
  82. package/dist/components/base/slider/api.d.ts +3 -0
  83. package/dist/components/base/slider/index.d.ts +5 -0
  84. package/dist/components/base/slider/useSlider.d.ts +6 -0
  85. package/dist/components/base/space/api.d.ts +3 -0
  86. package/dist/components/base/space/index.d.ts +4 -0
  87. package/dist/components/base/steps/api.d.ts +10 -0
  88. package/dist/components/base/steps/index.d.ts +11 -0
  89. package/dist/components/base/steps/useSteps.d.ts +44 -0
  90. package/dist/components/base/switch/api.d.ts +3 -0
  91. package/dist/components/base/switch/index.d.ts +7 -0
  92. package/dist/components/base/switch/useSwitch.d.ts +9 -0
  93. package/dist/components/base/tabs/api.d.ts +4 -0
  94. package/dist/components/base/tabs/index.d.ts +7 -0
  95. package/dist/components/base/tabs/useTabs.d.ts +9 -0
  96. package/dist/components/base/tag/api.d.ts +3 -0
  97. package/dist/components/base/tag/index.d.ts +3 -0
  98. package/dist/components/base/timePicker/api.d.ts +3 -0
  99. package/dist/components/base/timePicker/index.d.ts +7 -0
  100. package/dist/components/base/timePicker/useTimePicker.d.ts +21 -0
  101. package/dist/components/base/timeline/api.d.ts +4 -0
  102. package/dist/components/base/timeline/index.d.ts +5 -0
  103. package/dist/components/base/tooltip/api.d.ts +3 -0
  104. package/dist/components/base/tooltip/index.d.ts +6 -0
  105. package/dist/components/base/tooltip/useTooltip.d.ts +15 -0
  106. package/dist/components/base/transfer/api.d.ts +3 -0
  107. package/dist/components/base/transfer/index.d.ts +6 -0
  108. package/dist/components/base/transfer/useTransfer.d.ts +23 -0
  109. package/dist/components/base/tree/api.d.ts +8 -0
  110. package/dist/components/base/tree/index.d.ts +15 -0
  111. package/dist/components/base/tree/tree.d.ts +46 -0
  112. package/dist/components/base/tree/useTree.d.ts +32 -0
  113. package/dist/components/message/confirm/api.d.ts +3 -0
  114. package/dist/components/message/confirm/index.d.ts +4 -0
  115. package/dist/components/message/dialog/api.d.ts +3 -0
  116. package/dist/components/message/dialog/index.d.ts +4 -0
  117. package/dist/components/message/drawer/api.d.ts +3 -0
  118. package/dist/components/message/drawer/index.d.ts +4 -0
  119. package/dist/components/message/message/api.d.ts +10 -0
  120. package/dist/components/message/message/index.d.ts +9 -0
  121. package/dist/components/message/message/useMessage.d.ts +23 -0
  122. package/dist/components/message/notification/api.d.ts +6 -0
  123. package/dist/components/message/notification/index.d.ts +8 -0
  124. package/dist/components/message/notification/useNotification.d.ts +33 -0
  125. package/dist/components/message/popover/MPopover.d.ts +2 -0
  126. package/dist/components/message/popover/api.d.ts +3 -0
  127. package/dist/components/message/popover/index.d.ts +6 -0
  128. package/dist/components/message/popover/usePopover.d.ts +56 -0
  129. package/dist/components/other/darkMode/api.d.ts +3 -0
  130. package/dist/components/other/darkMode/index.d.ts +6 -0
  131. package/dist/components/other/darkMode/useDarkMode.d.ts +11 -0
  132. package/dist/components/template/border/api.d.ts +3 -0
  133. package/dist/components/template/border/index.d.ts +4 -0
  134. package/dist/components/template/breadcrumb/api.d.ts +3 -0
  135. package/dist/components/template/breadcrumb/index.d.ts +4 -0
  136. package/dist/components/template/descriptions/api.d.ts +4 -0
  137. package/dist/components/template/descriptions/index.d.ts +5 -0
  138. package/dist/components/template/form/api.d.ts +4 -0
  139. package/dist/components/template/form/index.d.ts +9 -0
  140. package/dist/components/template/grid/api.d.ts +3 -0
  141. package/dist/components/template/grid/index.d.ts +4 -0
  142. package/dist/components/template/menu/api.d.ts +8 -0
  143. package/dist/components/template/menu/index.d.ts +9 -0
  144. package/dist/components/template/menu/useMenu.d.ts +12 -0
  145. package/dist/components/template/pagination/api.d.ts +3 -0
  146. package/dist/components/template/pagination/index.d.ts +7 -0
  147. package/dist/components/template/pagination/usePagination.d.ts +27 -0
  148. package/dist/components/template/table/api.d.ts +3 -0
  149. package/dist/components/template/table/index.d.ts +7 -0
  150. package/dist/components/template/table/useTable.d.ts +51 -0
  151. package/dist/components/template/tableColumn/api.d.ts +3 -0
  152. package/dist/components/template/tableColumn/index.d.ts +4 -0
  153. package/dist/components/template/virtualList/api.d.ts +3 -0
  154. package/dist/components/template/virtualList/index.d.ts +7 -0
  155. package/dist/components/template/virtualList/useVirtualList.d.ts +15 -0
  156. package/dist/compositions/common/defineCore.d.ts +25 -0
  157. package/dist/compositions/common/useDebounceFn.d.ts +12 -0
  158. package/dist/compositions/common/useDrag.d.ts +28 -0
  159. package/dist/compositions/common/useElementSize.d.ts +5 -0
  160. package/dist/compositions/common/useEventListener.d.ts +19 -0
  161. package/dist/compositions/common/usePopover.d.ts +9 -0
  162. package/dist/compositions/common/useResizeObserver.d.ts +4 -0
  163. package/dist/compositions/common/useTeleport.d.ts +7 -0
  164. package/dist/compositions/input/useBooleanInput.d.ts +9 -0
  165. package/dist/compositions/modal/useModal.d.ts +14 -0
  166. package/dist/compositions/popper/useClickAway.d.ts +9 -0
  167. package/dist/compositions/popper/usePopper.d.ts +19 -0
  168. package/dist/compositions/utils/filters.d.ts +41 -0
  169. package/dist/compositions/virtualList/enums.d.ts +49 -0
  170. package/dist/compositions/virtualList/useContainerObserver.d.ts +9 -0
  171. package/dist/compositions/virtualList/useEntries.d.ts +29 -0
  172. package/dist/compositions/virtualList/useHeightCache.d.ts +26 -0
  173. package/dist/compositions/virtualList/useSentinelObserver.d.ts +14 -0
  174. package/dist/core.js +4270 -0
  175. package/dist/index.d.ts +65 -0
  176. package/dist/runtime/defineHook.d.ts +3 -0
  177. package/dist/tools/empty.d.ts +18 -0
  178. package/dist/tools/index.d.ts +10 -0
  179. package/dist/tools/types.d.ts +9 -0
  180. package/dist/vite.config.build.d.ts +2 -0
  181. package/package.json +32 -0
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @description event filter(防抖、节流)
3
+ * @author youus
4
+ * @date 2022/8/20 00:17
5
+ * @version v1.0.0
6
+ *
7
+ * Hello, humor
8
+ */
9
+ export type FunctionArgs<Args extends any[] = any[], Return = void> = (...args: Args) => Return;
10
+ export interface FunctionWrapperOptions<Args extends any[] = any[], This = any> {
11
+ fn: FunctionArgs<Args, This>;
12
+ args: Args;
13
+ thisArg: This;
14
+ }
15
+ export type EventFilter<Args extends any[] = any[], This = any> = (invoke: () => void, options: FunctionWrapperOptions<Args, This>) => void;
16
+ export interface DebounceFilterOptions {
17
+ /**
18
+ * The maximum time allowed to be delayed before it's invoked.
19
+ * In milliseconds.
20
+ */
21
+ maxWait?: number;
22
+ }
23
+ /**
24
+ * @internal
25
+ */
26
+ export declare function createFilterWrapper<T extends FunctionArgs>(filter: EventFilter, fn: T): T;
27
+ /**
28
+ * Create an EventFilter that debounce the events
29
+ *
30
+ * @param ms
31
+ * @param options
32
+ */
33
+ export declare function debounceFilter(ms: number, options?: DebounceFilterOptions): EventFilter<any[], any>;
34
+ /**
35
+ * Create an EventFilter that throttle the events
36
+ *
37
+ * @param ms
38
+ * @param [trailing=true]
39
+ * @param [leading=true]
40
+ */
41
+ export declare function throttleFilter(ms: number, trailing?: boolean, leading?: boolean): EventFilter<any[], any>;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @description 虚拟列表 action 枚举
3
+ * @author 阿怪
4
+ * @date 2026/2/25 13:30
5
+ * @version v1.0.0
6
+ *
7
+ * 江湖的业务千篇一律,复杂的代码好几百行。
8
+ */
9
+ /** 元素可见性变化的动作类型 */
10
+ export declare enum ACTION {
11
+ /** 从顶部进入可视区域(开始露出) */
12
+ ENTER_TOP_START = 0,
13
+ /** 从顶部完全进入可视区域 */
14
+ ENTER_TOP_END = 1,
15
+ /** 从底部进入可视区域(开始露出) */
16
+ ENTER_BOTTOM_START = 2,
17
+ /** 从底部完全进入可视区域 */
18
+ ENTER_BOTTOM_END = 3,
19
+ /** 从顶部开始离开可视区域 */
20
+ LEAVE_TOP_START = 4,
21
+ /** 从顶部完全离开可视区域 */
22
+ LEAVE_TOP_END = 5,
23
+ /** 从底部开始离开可视区域 */
24
+ LEAVE_BOTTOM_START = 6,
25
+ /** 从底部完全离开可视区域 */
26
+ LEAVE_BOTTOM_END = 7,
27
+ /** 未知状态 */
28
+ UNKNOWN = 8
29
+ }
30
+ /** 元素相对于容器的位置类型 */
31
+ export declare enum POSITION_TYPE {
32
+ /** 完全在可视区域上方 */
33
+ TOP = 0,
34
+ /** 部分在可视区域上方(上半部分露出) */
35
+ TOP_VISIBLE = 1,
36
+ /** 完全在可视区域内 */
37
+ VISIBLE = 2,
38
+ /** 部分在可视区域下方(下半部分露出) */
39
+ BOTTOM_VISIBLE = 3,
40
+ /** 完全在可视区域下方 */
41
+ BOTTOM = 4
42
+ }
43
+ /** 元素信息记录 */
44
+ export type EntryInfo = {
45
+ ratio: number;
46
+ position: POSITION_TYPE;
47
+ realIndex: number;
48
+ translateY: number;
49
+ };
@@ -0,0 +1,9 @@
1
+ import { Ref } from 'vue';
2
+ export default function useContainerObserver(options: {
3
+ containerRef: Ref<HTMLElement | null>;
4
+ threshold?: number | number[];
5
+ getTarget: () => ArrayLike<Element>;
6
+ callback: (entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void;
7
+ }): {
8
+ reObserve: (target: ArrayLike<Element>) => void;
9
+ };
@@ -0,0 +1,29 @@
1
+ import { Ref } from 'vue';
2
+ export interface UseEntriesOptions {
3
+ /** 获取列表子元素 */
4
+ getChildren: () => ArrayLike<Element>;
5
+ /** 获取当前可见数量 */
6
+ getVisibleCount: () => number;
7
+ /** 从指定位置重新渲染列表 */
8
+ getList: (from: number) => void;
9
+ /** 获取当前渲染边界信息 */
10
+ getInfo: () => {
11
+ renderFrom: number;
12
+ realFrom: number;
13
+ realEnd: number;
14
+ renderEnd: number;
15
+ };
16
+ /** 设置可见数量 */
17
+ setVisibleCount: (count: number) => void;
18
+ /** 获取总数 */
19
+ getTotal: () => number;
20
+ /** 触底回调 */
21
+ reachBottom: () => void;
22
+ /** translateY 样式 ref */
23
+ styleRef: Ref<{
24
+ transform: string;
25
+ }>;
26
+ }
27
+ export default function useEntries(options: UseEntriesOptions): {
28
+ cb: (entries: IntersectionObserverEntry[], _observer: IntersectionObserver) => void;
29
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @description 虚拟列表高度缓存
3
+ * @author 阿怪
4
+ * @date 2026/2/25 14:00
5
+ * @version v1.0.0
6
+ *
7
+ * 江湖的业务千篇一律,复杂的代码好几百行。
8
+ *
9
+ * 管理每个列表项的高度缓存,支持预估高度和实际高度
10
+ * 提供基于 scrollTop 的二分查找定位
11
+ */
12
+ export interface HeightCache {
13
+ /** 更新指定索引的实际高度 */
14
+ update: (index: number, height: number) => void;
15
+ /** 获取指定索引的高度(实际或预估) */
16
+ getHeight: (index: number) => number;
17
+ /** 获取 [0, index) 的累计高度(即第 index 项的顶部偏移) */
18
+ getOffset: (index: number) => number;
19
+ /** 获取所有项的总高度 */
20
+ getTotalHeight: () => number;
21
+ /** 根据 scrollTop 二分查找对应的起始索引 */
22
+ findIndex: (scrollTop: number) => number;
23
+ /** 重置缓存(列表数据变化时) */
24
+ reset: (total: number) => void;
25
+ }
26
+ export declare function createHeightCache(total: number, estimatedHeight: number): HeightCache;
@@ -0,0 +1,14 @@
1
+ import { Ref } from 'vue';
2
+ export interface SentinelObserverOptions {
3
+ containerRef: Ref<HTMLElement | null>;
4
+ topSentinelRef: Ref<HTMLElement | null>;
5
+ bottomSentinelRef: Ref<HTMLElement | null>;
6
+ /** 需要更新可视列表时调用 */
7
+ onUpdate: () => void;
8
+ /** 底部哨兵完全进入可视区(触底) */
9
+ onReachBottom?: () => void;
10
+ }
11
+ export declare function useSentinelObserver(options: SentinelObserverOptions): {
12
+ reobserve: () => void;
13
+ cleanup: () => void;
14
+ };