@vobs/ui 0.3.0 → 1.1.0

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 (212) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +60 -0
  3. package/package.json +52 -110
  4. package/src/activity-rail.ts +125 -0
  5. package/src/alert.ts +65 -0
  6. package/src/assets/icons/alert-circle.svg +1 -0
  7. package/src/assets/icons/alert-triangle.svg +1 -0
  8. package/src/assets/icons/alert.d27e24.svg +1 -0
  9. package/src/assets/icons/alert.svg +1 -0
  10. package/src/assets/icons/apple.svg +1 -0
  11. package/src/assets/icons/arrow-down.svg +1 -0
  12. package/src/assets/icons/arrow-expand.svg +1 -0
  13. package/src/assets/icons/arrow-left.svg +1 -0
  14. package/src/assets/icons/arrow-minimize.svg +1 -0
  15. package/src/assets/icons/arrow-right-to-line.svg +1 -0
  16. package/src/assets/icons/arrow-right.svg +1 -0
  17. package/src/assets/icons/arrow-up-right.svg +1 -0
  18. package/src/assets/icons/arrow-up.0c0c0d.svg +1 -0
  19. package/src/assets/icons/arrow-up.svg +1 -0
  20. package/src/assets/icons/at.svg +1 -0
  21. package/src/assets/icons/atom.0c0c0d.svg +1 -0
  22. package/src/assets/icons/atom.svg +1 -0
  23. package/src/assets/icons/bar.svg +1 -0
  24. package/src/assets/icons/bell.svg +1 -0
  25. package/src/assets/icons/box.svg +1 -0
  26. package/src/assets/icons/bug.svg +1 -0
  27. package/src/assets/icons/calendar.svg +1 -0
  28. package/src/assets/icons/check-circle.33c192.svg +1 -0
  29. package/src/assets/icons/check-circle.svg +1 -0
  30. package/src/assets/icons/check.d1d3db.svg +1 -0
  31. package/src/assets/icons/check.svg +1 -0
  32. package/src/assets/icons/chevron-down.svg +1 -0
  33. package/src/assets/icons/chevron-right.svg +1 -0
  34. package/src/assets/icons/chevron-up.svg +1 -0
  35. package/src/assets/icons/circle.svg +1 -0
  36. package/src/assets/icons/clock.svg +1 -0
  37. package/src/assets/icons/cmd.svg +1 -0
  38. package/src/assets/icons/code.svg +1 -0
  39. package/src/assets/icons/columns.svg +1 -0
  40. package/src/assets/icons/copy.svg +1 -0
  41. package/src/assets/icons/cpu.svg +1 -0
  42. package/src/assets/icons/dashboard.0c0c0d.svg +1 -0
  43. package/src/assets/icons/dashboard.svg +1 -0
  44. package/src/assets/icons/dollar.svg +1 -0
  45. package/src/assets/icons/download.svg +1 -0
  46. package/src/assets/icons/edit.svg +1 -0
  47. package/src/assets/icons/extensions.svg +1 -0
  48. package/src/assets/icons/external.svg +1 -0
  49. package/src/assets/icons/eye.svg +1 -0
  50. package/src/assets/icons/file-text.svg +1 -0
  51. package/src/assets/icons/file.svg +1 -0
  52. package/src/assets/icons/files.svg +1 -0
  53. package/src/assets/icons/filter.svg +1 -0
  54. package/src/assets/icons/folder.svg +1 -0
  55. package/src/assets/icons/gear.svg +1 -0
  56. package/src/assets/icons/git.svg +1 -0
  57. package/src/assets/icons/github.svg +1 -0
  58. package/src/assets/icons/globe.svg +1 -0
  59. package/src/assets/icons/grid-2x2.svg +1 -0
  60. package/src/assets/icons/hash.svg +1 -0
  61. package/src/assets/icons/heart.svg +1 -0
  62. package/src/assets/icons/help.svg +1 -0
  63. package/src/assets/icons/home.svg +1 -0
  64. package/src/assets/icons/image.svg +1 -0
  65. package/src/assets/icons/info-circle.svg +1 -0
  66. package/src/assets/icons/info-square.svg +1 -0
  67. package/src/assets/icons/info.387bff.svg +1 -0
  68. package/src/assets/icons/info.svg +1 -0
  69. package/src/assets/icons/key.svg +1 -0
  70. package/src/assets/icons/layers.svg +1 -0
  71. package/src/assets/icons/layout.svg +1 -0
  72. package/src/assets/icons/link.svg +1 -0
  73. package/src/assets/icons/list.svg +1 -0
  74. package/src/assets/icons/lock.svg +1 -0
  75. package/src/assets/icons/log-out.svg +1 -0
  76. package/src/assets/icons/logo.svg +1 -0
  77. package/src/assets/icons/mail.svg +1 -0
  78. package/src/assets/icons/menu.svg +1 -0
  79. package/src/assets/icons/message-circle.svg +1 -0
  80. package/src/assets/icons/message-plus.svg +1 -0
  81. package/src/assets/icons/message-square.svg +1 -0
  82. package/src/assets/icons/mic.svg +1 -0
  83. package/src/assets/icons/minus.svg +1 -0
  84. package/src/assets/icons/moon.svg +1 -0
  85. package/src/assets/icons/more-h.svg +1 -0
  86. package/src/assets/icons/mouse.svg +1 -0
  87. package/src/assets/icons/palette.svg +1 -0
  88. package/src/assets/icons/panel-bottom.svg +1 -0
  89. package/src/assets/icons/pause.svg +1 -0
  90. package/src/assets/icons/play.svg +1 -0
  91. package/src/assets/icons/plug.svg +1 -0
  92. package/src/assets/icons/plus.0c0c0d.svg +1 -0
  93. package/src/assets/icons/plus.svg +1 -0
  94. package/src/assets/icons/refresh.svg +1 -0
  95. package/src/assets/icons/ruler.svg +1 -0
  96. package/src/assets/icons/scroll-text.svg +1 -0
  97. package/src/assets/icons/search-menu.svg +1 -0
  98. package/src/assets/icons/search.svg +1 -0
  99. package/src/assets/icons/send.0c0c0d.svg +1 -0
  100. package/src/assets/icons/send.svg +1 -0
  101. package/src/assets/icons/settings.0c0c0d.svg +1 -0
  102. package/src/assets/icons/settings.svg +1 -0
  103. package/src/assets/icons/shield.svg +1 -0
  104. package/src/assets/icons/sidebar-left.svg +1 -0
  105. package/src/assets/icons/sidebar-right.svg +1 -0
  106. package/src/assets/icons/sliders.svg +1 -0
  107. package/src/assets/icons/sparkles.32f08c.svg +1 -0
  108. package/src/assets/icons/sparkles.svg +1 -0
  109. package/src/assets/icons/square.svg +1 -0
  110. package/src/assets/icons/star.svg +1 -0
  111. package/src/assets/icons/sun.svg +1 -0
  112. package/src/assets/icons/terminal.svg +1 -0
  113. package/src/assets/icons/trash.svg +1 -0
  114. package/src/assets/icons/trending-down.svg +1 -0
  115. package/src/assets/icons/trending-up.svg +1 -0
  116. package/src/assets/icons/type.svg +1 -0
  117. package/src/assets/icons/upload.svg +1 -0
  118. package/src/assets/icons/user-circle.svg +1 -0
  119. package/src/assets/icons/user.svg +1 -0
  120. package/src/assets/icons/users.svg +1 -0
  121. package/src/assets/icons/wrench.svg +1 -0
  122. package/src/assets/icons/x-circle.svg +1 -0
  123. package/src/assets/icons/x.svg +1 -0
  124. package/src/assets/icons/zap.0c0c0d.svg +1 -0
  125. package/src/assets/icons/zap.svg +1 -0
  126. package/src/avatar.ts +64 -0
  127. package/src/button.ts +88 -0
  128. package/src/card.ts +59 -0
  129. package/src/chat-composer.ts +156 -0
  130. package/src/dialog.ts +127 -0
  131. package/src/drawer.ts +131 -0
  132. package/src/editor-tabs.ts +184 -0
  133. package/src/file-tree.ts +214 -0
  134. package/src/forms.ts +270 -0
  135. package/src/icon.ts +118 -0
  136. package/src/icons.js +165 -0
  137. package/src/index.test.ts +213 -0
  138. package/src/index.ts +94 -0
  139. package/src/kbd.ts +72 -0
  140. package/src/menu.ts +119 -0
  141. package/src/nav-list.ts +157 -0
  142. package/src/overlay.test.ts +66 -0
  143. package/src/overlay.ts +205 -0
  144. package/src/page-header.ts +97 -0
  145. package/src/pagination.ts +163 -0
  146. package/src/second-batch.test.ts +205 -0
  147. package/src/stat-card.ts +92 -0
  148. package/src/status-bar.ts +108 -0
  149. package/src/styles/base.css +240 -0
  150. package/src/styles/components.css +1234 -0
  151. package/{dist → src/styles}/styles.css +2 -0
  152. package/src/styles/toast.css +57 -0
  153. package/src/styles/tokens.css +438 -0
  154. package/src/styles/vui.css +47 -0
  155. package/src/table.ts +191 -0
  156. package/src/tabs.ts +100 -0
  157. package/src/tag.ts +33 -0
  158. package/src/third-batch.test.ts +137 -0
  159. package/src/toast.test.ts +55 -0
  160. package/src/toast.ts +79 -0
  161. package/src/types.ts +25 -0
  162. package/src/utils.ts +221 -0
  163. package/src/workbench-titlebar.ts +137 -0
  164. package/dist/app-shell-dom.d.ts +0 -30
  165. package/dist/app-shell-dom.js +0 -913
  166. package/dist/app-shell.d.ts +0 -235
  167. package/dist/app-shell.js +0 -415
  168. package/dist/base.css +0 -51
  169. package/dist/calendar-picker.d.ts +0 -45
  170. package/dist/calendar-picker.js +0 -217
  171. package/dist/calendar.d.ts +0 -95
  172. package/dist/calendar.js +0 -194
  173. package/dist/complex-inputs.d.ts +0 -300
  174. package/dist/complex-inputs.js +0 -866
  175. package/dist/components.css +0 -4756
  176. package/dist/data-display.d.ts +0 -1094
  177. package/dist/data-display.js +0 -2341
  178. package/dist/dialog.d.ts +0 -26
  179. package/dist/dialog.js +0 -94
  180. package/dist/feedback.d.ts +0 -88
  181. package/dist/feedback.js +0 -281
  182. package/dist/forms.d.ts +0 -378
  183. package/dist/forms.js +0 -1019
  184. package/dist/icons-config.d.ts +0 -25
  185. package/dist/icons-config.js +0 -14
  186. package/dist/icons.d.ts +0 -41
  187. package/dist/icons.js +0 -185
  188. package/dist/index.d.ts +0 -31
  189. package/dist/index.js +0 -40
  190. package/dist/locale/en-US.d.ts +0 -31
  191. package/dist/locale/en-US.js +0 -20
  192. package/dist/locale/zh-CN.d.ts +0 -31
  193. package/dist/locale/zh-CN.js +0 -20
  194. package/dist/navigation.d.ts +0 -609
  195. package/dist/navigation.js +0 -1707
  196. package/dist/overlay.d.ts +0 -308
  197. package/dist/overlay.js +0 -974
  198. package/dist/page-state.d.ts +0 -23
  199. package/dist/page-state.js +0 -96
  200. package/dist/primitives.d.ts +0 -268
  201. package/dist/primitives.js +0 -764
  202. package/dist/theme-data.d.ts +0 -394
  203. package/dist/theme-data.js +0 -417
  204. package/dist/theme.d.ts +0 -97
  205. package/dist/theme.js +0 -301
  206. package/dist/tokens.css +0 -570
  207. package/dist/tree.d.ts +0 -144
  208. package/dist/tree.js +0 -475
  209. package/dist/virtual-list.d.ts +0 -190
  210. package/dist/virtual-list.js +0 -538
  211. package/dist/workbench.d.ts +0 -136
  212. package/dist/workbench.js +0 -156
@@ -1,190 +0,0 @@
1
- /** @license MIT
2
- * Copyright (c) 2026 vobsjs
3
- * @vobs/ui
4
- */
5
- import { type UiAttributes, type UiDomPlan } from './primitives.js';
6
- export type VirtualListKey = number | string;
7
- export type VirtualListLayout = 'grid' | 'horizontal';
8
- export type VirtualListAnchorMode = 'append' | 'prepend' | 'preserve';
9
- export interface FixedVirtualListOptions<T> {
10
- readonly items: readonly T[];
11
- readonly itemHeight: number;
12
- readonly viewportHeight: number;
13
- readonly overscan?: number;
14
- readonly scrollOffset?: number;
15
- readonly ssrFallbackCount?: number;
16
- readonly getKey?: (item: T, index: number) => VirtualListKey;
17
- }
18
- export interface FixedVirtualListDomOptions<T> extends FixedVirtualListOptions<T> {
19
- readonly id?: string;
20
- readonly ariaLabel?: string;
21
- readonly className?: string;
22
- readonly attrs?: UiAttributes;
23
- }
24
- export interface FixedVirtualListControllerOptions<T> extends Omit<FixedVirtualListDomOptions<T>, 'scrollOffset' | 'viewportHeight'> {
25
- readonly getScrollElement: () => HTMLElement | null;
26
- readonly initialOffset?: number;
27
- readonly viewportHeight?: number;
28
- readonly onChange?: (state: FixedVirtualListState<T>, sync: boolean) => void;
29
- }
30
- export interface DynamicVirtualListOptions<T> {
31
- readonly items: readonly T[];
32
- readonly estimatedItemHeight: number;
33
- readonly viewportHeight: number;
34
- readonly overscan?: number;
35
- readonly scrollOffset?: number;
36
- readonly ssrFallbackCount?: number;
37
- readonly getKey?: (item: T, index: number) => VirtualListKey;
38
- readonly getItemHeight?: (item: T, index: number) => number | undefined;
39
- }
40
- export interface DynamicVirtualListDomOptions<T> extends DynamicVirtualListOptions<T> {
41
- readonly id?: string;
42
- readonly ariaLabel?: string;
43
- readonly className?: string;
44
- readonly attrs?: UiAttributes;
45
- }
46
- export interface VirtualListLayoutOptions<T> {
47
- readonly items: readonly T[];
48
- readonly layout: VirtualListLayout;
49
- readonly itemWidth: number;
50
- readonly itemHeight: number;
51
- readonly viewportWidth: number;
52
- readonly viewportHeight: number;
53
- readonly columnCount?: number;
54
- readonly overscan?: number;
55
- readonly scrollLeft?: number;
56
- readonly scrollTop?: number;
57
- readonly ssrFallbackCount?: number;
58
- readonly getKey?: (item: T, index: number) => VirtualListKey;
59
- }
60
- export interface VirtualListLayoutDomOptions<T> extends VirtualListLayoutOptions<T> {
61
- readonly id?: string;
62
- readonly ariaLabel?: string;
63
- readonly className?: string;
64
- readonly attrs?: UiAttributes;
65
- }
66
- export interface VirtualListResizeMeasurementContractOptions<T> extends Omit<DynamicVirtualListDomOptions<T>, 'getItemHeight'> {
67
- readonly getMeasuredItemHeight?: (item: T, index: number) => number | undefined;
68
- readonly measuringIds?: readonly VirtualListKey[];
69
- }
70
- export interface VirtualListAnchorStateContractOptions<T> {
71
- readonly previousItems: readonly T[];
72
- readonly nextItems: readonly T[];
73
- readonly anchorKey: VirtualListKey;
74
- readonly itemHeight: number;
75
- readonly anchorOffset?: number;
76
- readonly viewportHeight?: number;
77
- readonly mode?: VirtualListAnchorMode;
78
- readonly stickToEnd?: boolean;
79
- readonly getKey?: (item: T, index: number) => VirtualListKey;
80
- }
81
- export interface FixedVirtualListItem<T> {
82
- readonly key: VirtualListKey;
83
- readonly index: number;
84
- readonly item: T;
85
- readonly start: number;
86
- readonly size: number;
87
- readonly end: number;
88
- readonly plan: UiDomPlan<'div'>;
89
- }
90
- export interface DynamicVirtualListItem<T> {
91
- readonly key: VirtualListKey;
92
- readonly index: number;
93
- readonly item: T;
94
- readonly start: number;
95
- readonly size: number;
96
- readonly measured: boolean;
97
- readonly end: number;
98
- readonly plan: UiDomPlan<'div'>;
99
- }
100
- export interface VirtualListLayoutItem<T> {
101
- readonly key: VirtualListKey;
102
- readonly index: number;
103
- readonly item: T;
104
- readonly rowIndex: number;
105
- readonly columnIndex: number;
106
- readonly x: number;
107
- readonly y: number;
108
- readonly width: number;
109
- readonly height: number;
110
- readonly plan: UiDomPlan<'div'>;
111
- }
112
- export interface FixedVirtualListState<T> {
113
- readonly totalSize: number;
114
- readonly scrollOffset: number;
115
- readonly visibleStartIndex: number;
116
- readonly visibleEndIndex: number;
117
- readonly items: readonly FixedVirtualListItem<T>[];
118
- }
119
- export interface DynamicVirtualListState<T> {
120
- readonly totalSize: number;
121
- readonly scrollOffset: number;
122
- readonly visibleStartIndex: number;
123
- readonly visibleEndIndex: number;
124
- readonly measuredCount: number;
125
- readonly items: readonly DynamicVirtualListItem<T>[];
126
- }
127
- export interface VirtualListLayoutState<T> {
128
- readonly layout: VirtualListLayout;
129
- readonly rowCount: number;
130
- readonly columnCount: number;
131
- readonly totalWidth: number;
132
- readonly totalHeight: number;
133
- readonly scrollLeft: number;
134
- readonly scrollTop: number;
135
- readonly visibleRowStart: number;
136
- readonly visibleRowEnd: number;
137
- readonly visibleColumnStart: number;
138
- readonly visibleColumnEnd: number;
139
- readonly visibleStartIndex: number;
140
- readonly visibleEndIndex: number;
141
- readonly items: readonly VirtualListLayoutItem<T>[];
142
- }
143
- export interface FixedVirtualListPlans<T> extends FixedVirtualListState<T> {
144
- readonly root: UiDomPlan<'div'>;
145
- readonly spacer: UiDomPlan<'div'>;
146
- }
147
- export interface DynamicVirtualListPlans<T> extends DynamicVirtualListState<T> {
148
- readonly root: UiDomPlan<'div'>;
149
- readonly spacer: UiDomPlan<'div'>;
150
- }
151
- export interface VirtualListLayoutPlans<T> extends VirtualListLayoutState<T> {
152
- readonly root: UiDomPlan<'div'>;
153
- readonly spacer: UiDomPlan<'div'>;
154
- }
155
- export interface VirtualListResizeMeasurementContract<T> {
156
- readonly plans: DynamicVirtualListPlans<T>;
157
- readonly attrs: UiAttributes;
158
- readonly measuredKeys: readonly VirtualListKey[];
159
- readonly measuringKeys: readonly VirtualListKey[];
160
- readonly estimatedKeys: readonly VirtualListKey[];
161
- }
162
- export interface VirtualListAnchorStateContract {
163
- readonly scrollOffset: number;
164
- readonly previousAnchorIndex: number;
165
- readonly nextAnchorIndex: number;
166
- readonly insertedBeforeCount: number;
167
- readonly attrs: UiAttributes;
168
- }
169
- export interface FixedVirtualListScrollState {
170
- readonly scrollOffset: number;
171
- readonly visibleStartIndex: number;
172
- readonly visibleEndIndex: number;
173
- }
174
- export interface FixedVirtualListController<T> {
175
- read(): FixedVirtualListPlans<T>;
176
- update(options: Partial<Omit<FixedVirtualListControllerOptions<T>, 'getScrollElement'>>): void;
177
- scrollToOffset(offset: number): void;
178
- scrollToIndex(index: number): void;
179
- takeScrollState(): FixedVirtualListScrollState;
180
- destroy(): void;
181
- }
182
- export declare function createFixedVirtualListPlans<T>(options: FixedVirtualListDomOptions<T>): FixedVirtualListPlans<T>;
183
- export declare function createDynamicVirtualListPlans<T>(options: DynamicVirtualListDomOptions<T>): DynamicVirtualListPlans<T>;
184
- export declare function createVirtualListLayoutPlans<T>(options: VirtualListLayoutDomOptions<T>): VirtualListLayoutPlans<T>;
185
- export declare function calculateVirtualListLayoutState<T>(options: VirtualListLayoutOptions<T>): VirtualListLayoutState<T>;
186
- export declare function createVirtualListResizeMeasurementContract<T>(options: VirtualListResizeMeasurementContractOptions<T>): VirtualListResizeMeasurementContract<T>;
187
- export declare function createVirtualListAnchorStateContract<T>(options: VirtualListAnchorStateContractOptions<T>): VirtualListAnchorStateContract;
188
- export declare function calculateFixedVirtualListState<T>(options: FixedVirtualListOptions<T>): FixedVirtualListState<T>;
189
- export declare function calculateDynamicVirtualListState<T>(options: DynamicVirtualListOptions<T>): DynamicVirtualListState<T>;
190
- export declare function createFixedVirtualListController<T>(options: FixedVirtualListControllerOptions<T>): FixedVirtualListController<T>;