@vadem/ui 0.0.0-stage → 0.0.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 (289) hide show
  1. package/LICENSE-lucide.txt +43 -0
  2. package/README.md +19 -2
  3. package/fesm2022/vadem-ui-accordion.mjs +139 -0
  4. package/fesm2022/vadem-ui-accordion.mjs.map +1 -0
  5. package/fesm2022/vadem-ui-active-filters.mjs +355 -0
  6. package/fesm2022/vadem-ui-active-filters.mjs.map +1 -0
  7. package/fesm2022/vadem-ui-alert-dialog.mjs +433 -0
  8. package/fesm2022/vadem-ui-alert-dialog.mjs.map +1 -0
  9. package/fesm2022/vadem-ui-alert.mjs +266 -0
  10. package/fesm2022/vadem-ui-alert.mjs.map +1 -0
  11. package/fesm2022/vadem-ui-autocomplete.mjs +715 -0
  12. package/fesm2022/vadem-ui-autocomplete.mjs.map +1 -0
  13. package/fesm2022/vadem-ui-avatar.mjs +219 -0
  14. package/fesm2022/vadem-ui-avatar.mjs.map +1 -0
  15. package/fesm2022/vadem-ui-badge.mjs +86 -0
  16. package/fesm2022/vadem-ui-badge.mjs.map +1 -0
  17. package/fesm2022/vadem-ui-breadcrumbs.mjs +61 -0
  18. package/fesm2022/vadem-ui-breadcrumbs.mjs.map +1 -0
  19. package/fesm2022/vadem-ui-button.mjs +220 -0
  20. package/fesm2022/vadem-ui-button.mjs.map +1 -0
  21. package/fesm2022/vadem-ui-calendar.mjs +1314 -0
  22. package/fesm2022/vadem-ui-calendar.mjs.map +1 -0
  23. package/fesm2022/vadem-ui-card.mjs +271 -0
  24. package/fesm2022/vadem-ui-card.mjs.map +1 -0
  25. package/fesm2022/vadem-ui-character-count.mjs +269 -0
  26. package/fesm2022/vadem-ui-character-count.mjs.map +1 -0
  27. package/fesm2022/vadem-ui-chart.mjs +1984 -0
  28. package/fesm2022/vadem-ui-chart.mjs.map +1 -0
  29. package/fesm2022/vadem-ui-checkbox.mjs +67 -0
  30. package/fesm2022/vadem-ui-checkbox.mjs.map +1 -0
  31. package/fesm2022/vadem-ui-color-picker.mjs +815 -0
  32. package/fesm2022/vadem-ui-color-picker.mjs.map +1 -0
  33. package/fesm2022/vadem-ui-command.mjs +735 -0
  34. package/fesm2022/vadem-ui-command.mjs.map +1 -0
  35. package/fesm2022/vadem-ui-copy-button.mjs +375 -0
  36. package/fesm2022/vadem-ui-copy-button.mjs.map +1 -0
  37. package/fesm2022/vadem-ui-date-range-picker.mjs +1011 -0
  38. package/fesm2022/vadem-ui-date-range-picker.mjs.map +1 -0
  39. package/fesm2022/vadem-ui-description-list.mjs +59 -0
  40. package/fesm2022/vadem-ui-description-list.mjs.map +1 -0
  41. package/fesm2022/vadem-ui-dialog.mjs +587 -0
  42. package/fesm2022/vadem-ui-dialog.mjs.map +1 -0
  43. package/fesm2022/vadem-ui-dropzone.mjs +176 -0
  44. package/fesm2022/vadem-ui-dropzone.mjs.map +1 -0
  45. package/fesm2022/vadem-ui-editable-text.mjs +641 -0
  46. package/fesm2022/vadem-ui-editable-text.mjs.map +1 -0
  47. package/fesm2022/vadem-ui-empty-state.mjs +175 -0
  48. package/fesm2022/vadem-ui-empty-state.mjs.map +1 -0
  49. package/fesm2022/vadem-ui-expandable-text.mjs +244 -0
  50. package/fesm2022/vadem-ui-expandable-text.mjs.map +1 -0
  51. package/fesm2022/vadem-ui-field.mjs +583 -0
  52. package/fesm2022/vadem-ui-field.mjs.map +1 -0
  53. package/fesm2022/vadem-ui-file-preview.mjs +532 -0
  54. package/fesm2022/vadem-ui-file-preview.mjs.map +1 -0
  55. package/fesm2022/vadem-ui-file-size.mjs +83 -0
  56. package/fesm2022/vadem-ui-file-size.mjs.map +1 -0
  57. package/fesm2022/vadem-ui-form-error-summary.mjs +201 -0
  58. package/fesm2022/vadem-ui-form-error-summary.mjs.map +1 -0
  59. package/fesm2022/vadem-ui-icon.mjs +303 -0
  60. package/fesm2022/vadem-ui-icon.mjs.map +1 -0
  61. package/fesm2022/vadem-ui-input.mjs +120 -0
  62. package/fesm2022/vadem-ui-input.mjs.map +1 -0
  63. package/fesm2022/vadem-ui-kbd.mjs +286 -0
  64. package/fesm2022/vadem-ui-kbd.mjs.map +1 -0
  65. package/fesm2022/vadem-ui-keyboard.mjs +105 -0
  66. package/fesm2022/vadem-ui-keyboard.mjs.map +1 -0
  67. package/fesm2022/vadem-ui-locale.mjs +443 -0
  68. package/fesm2022/vadem-ui-locale.mjs.map +1 -0
  69. package/fesm2022/vadem-ui-menu.mjs +637 -0
  70. package/fesm2022/vadem-ui-menu.mjs.map +1 -0
  71. package/fesm2022/vadem-ui-navigation-list.mjs +130 -0
  72. package/fesm2022/vadem-ui-navigation-list.mjs.map +1 -0
  73. package/fesm2022/vadem-ui-number-input.mjs +264 -0
  74. package/fesm2022/vadem-ui-number-input.mjs.map +1 -0
  75. package/fesm2022/vadem-ui-otp-input.mjs +86 -0
  76. package/fesm2022/vadem-ui-otp-input.mjs.map +1 -0
  77. package/fesm2022/vadem-ui-pagination.mjs +353 -0
  78. package/fesm2022/vadem-ui-pagination.mjs.map +1 -0
  79. package/fesm2022/vadem-ui-password-input.mjs +213 -0
  80. package/fesm2022/vadem-ui-password-input.mjs.map +1 -0
  81. package/fesm2022/vadem-ui-popover.mjs +178 -0
  82. package/fesm2022/vadem-ui-popover.mjs.map +1 -0
  83. package/fesm2022/vadem-ui-progress.mjs +331 -0
  84. package/fesm2022/vadem-ui-progress.mjs.map +1 -0
  85. package/fesm2022/vadem-ui-radio.mjs +39 -0
  86. package/fesm2022/vadem-ui-radio.mjs.map +1 -0
  87. package/fesm2022/vadem-ui-range-slider.mjs +561 -0
  88. package/fesm2022/vadem-ui-range-slider.mjs.map +1 -0
  89. package/fesm2022/vadem-ui-rating.mjs +404 -0
  90. package/fesm2022/vadem-ui-rating.mjs.map +1 -0
  91. package/fesm2022/vadem-ui-relative-time.mjs +217 -0
  92. package/fesm2022/vadem-ui-relative-time.mjs.map +1 -0
  93. package/fesm2022/vadem-ui-reorder-list.mjs +601 -0
  94. package/fesm2022/vadem-ui-reorder-list.mjs.map +1 -0
  95. package/fesm2022/vadem-ui-scroll-area.mjs +65 -0
  96. package/fesm2022/vadem-ui-scroll-area.mjs.map +1 -0
  97. package/fesm2022/vadem-ui-search-input.mjs +307 -0
  98. package/fesm2022/vadem-ui-search-input.mjs.map +1 -0
  99. package/fesm2022/vadem-ui-segmented.mjs +297 -0
  100. package/fesm2022/vadem-ui-segmented.mjs.map +1 -0
  101. package/fesm2022/vadem-ui-select.mjs +1462 -0
  102. package/fesm2022/vadem-ui-select.mjs.map +1 -0
  103. package/fesm2022/vadem-ui-sidebar.mjs +493 -0
  104. package/fesm2022/vadem-ui-sidebar.mjs.map +1 -0
  105. package/fesm2022/vadem-ui-skeleton.mjs +106 -0
  106. package/fesm2022/vadem-ui-skeleton.mjs.map +1 -0
  107. package/fesm2022/vadem-ui-slider.mjs +60 -0
  108. package/fesm2022/vadem-ui-slider.mjs.map +1 -0
  109. package/fesm2022/vadem-ui-splitter.mjs +438 -0
  110. package/fesm2022/vadem-ui-splitter.mjs.map +1 -0
  111. package/fesm2022/vadem-ui-stat.mjs +369 -0
  112. package/fesm2022/vadem-ui-stat.mjs.map +1 -0
  113. package/fesm2022/vadem-ui-stepper.mjs +483 -0
  114. package/fesm2022/vadem-ui-stepper.mjs.map +1 -0
  115. package/fesm2022/vadem-ui-switch.mjs +45 -0
  116. package/fesm2022/vadem-ui-switch.mjs.map +1 -0
  117. package/fesm2022/vadem-ui-table.mjs +593 -0
  118. package/fesm2022/vadem-ui-table.mjs.map +1 -0
  119. package/fesm2022/vadem-ui-tabs.mjs +405 -0
  120. package/fesm2022/vadem-ui-tabs.mjs.map +1 -0
  121. package/fesm2022/vadem-ui-tag-input.mjs +685 -0
  122. package/fesm2022/vadem-ui-tag-input.mjs.map +1 -0
  123. package/fesm2022/vadem-ui-text-highlight.mjs +126 -0
  124. package/fesm2022/vadem-ui-text-highlight.mjs.map +1 -0
  125. package/fesm2022/vadem-ui-time-input.mjs +430 -0
  126. package/fesm2022/vadem-ui-time-input.mjs.map +1 -0
  127. package/fesm2022/vadem-ui-timeline.mjs +313 -0
  128. package/fesm2022/vadem-ui-timeline.mjs.map +1 -0
  129. package/fesm2022/vadem-ui-toast.mjs +397 -0
  130. package/fesm2022/vadem-ui-toast.mjs.map +1 -0
  131. package/fesm2022/vadem-ui-toolbar.mjs +396 -0
  132. package/fesm2022/vadem-ui-toolbar.mjs.map +1 -0
  133. package/fesm2022/vadem-ui-tooltip.mjs +218 -0
  134. package/fesm2022/vadem-ui-tooltip.mjs.map +1 -0
  135. package/fesm2022/vadem-ui-tree.mjs +551 -0
  136. package/fesm2022/vadem-ui-tree.mjs.map +1 -0
  137. package/fesm2022/vadem-ui-upload-list.mjs +408 -0
  138. package/fesm2022/vadem-ui-upload-list.mjs.map +1 -0
  139. package/fesm2022/vadem-ui.mjs +4 -0
  140. package/fesm2022/vadem-ui.mjs.map +1 -0
  141. package/fonts/jetbrains-mono/OFL.txt +93 -0
  142. package/fonts/jetbrains-mono/jetbrains-mono-cyrillic.woff2 +0 -0
  143. package/fonts/jetbrains-mono/jetbrains-mono-latin.woff2 +0 -0
  144. package/fonts/manrope/OFL.txt +93 -0
  145. package/fonts/manrope/manrope-cyrillic.woff2 +0 -0
  146. package/fonts/manrope/manrope-latin.woff2 +0 -0
  147. package/package.json +306 -3
  148. package/styles/base.css +160 -0
  149. package/styles/components/accordion.css +130 -0
  150. package/styles/components/active-filters.css +42 -0
  151. package/styles/components/alert-dialog.css +34 -0
  152. package/styles/components/alert.css +159 -0
  153. package/styles/components/autocomplete.css +97 -0
  154. package/styles/components/avatar.css +90 -0
  155. package/styles/components/badge.css +91 -0
  156. package/styles/components/breadcrumbs.css +94 -0
  157. package/styles/components/button.css +174 -0
  158. package/styles/components/calendar.css +186 -0
  159. package/styles/components/card.css +206 -0
  160. package/styles/components/character-count.css +41 -0
  161. package/styles/components/chart.css +308 -0
  162. package/styles/components/checkbox.css +115 -0
  163. package/styles/components/color-picker.css +158 -0
  164. package/styles/components/command.css +175 -0
  165. package/styles/components/copy-button.css +58 -0
  166. package/styles/components/date-range-picker.css +153 -0
  167. package/styles/components/description-list.css +69 -0
  168. package/styles/components/dialog.css +334 -0
  169. package/styles/components/dropzone.css +89 -0
  170. package/styles/components/editable-text.css +58 -0
  171. package/styles/components/empty-state.css +72 -0
  172. package/styles/components/expandable-text.css +24 -0
  173. package/styles/components/field.css +148 -0
  174. package/styles/components/file-preview.css +65 -0
  175. package/styles/components/form-error-summary.css +71 -0
  176. package/styles/components/icon.css +38 -0
  177. package/styles/components/index.css +80 -0
  178. package/styles/components/input.css +171 -0
  179. package/styles/components/kbd.css +42 -0
  180. package/styles/components/menu.css +168 -0
  181. package/styles/components/multi-select.css +156 -0
  182. package/styles/components/navigation-list.css +147 -0
  183. package/styles/components/number-input.css +33 -0
  184. package/styles/components/otp-input.css +26 -0
  185. package/styles/components/pagination.css +127 -0
  186. package/styles/components/password-input.css +20 -0
  187. package/styles/components/popover.css +93 -0
  188. package/styles/components/progress-ring.css +112 -0
  189. package/styles/components/progress.css +162 -0
  190. package/styles/components/radio.css +117 -0
  191. package/styles/components/range-slider.css +158 -0
  192. package/styles/components/rating.css +100 -0
  193. package/styles/components/reorder-list.css +143 -0
  194. package/styles/components/scroll-area.css +39 -0
  195. package/styles/components/search-input.css +25 -0
  196. package/styles/components/segmented.css +136 -0
  197. package/styles/components/select.css +257 -0
  198. package/styles/components/sidebar.css +105 -0
  199. package/styles/components/skeleton.css +83 -0
  200. package/styles/components/slider.css +132 -0
  201. package/styles/components/splitter.css +83 -0
  202. package/styles/components/stat.css +62 -0
  203. package/styles/components/stepper.css +236 -0
  204. package/styles/components/switch.css +107 -0
  205. package/styles/components/table.css +195 -0
  206. package/styles/components/tabs.css +198 -0
  207. package/styles/components/tag-input.css +138 -0
  208. package/styles/components/text-highlight.css +22 -0
  209. package/styles/components/time-input.css +96 -0
  210. package/styles/components/timeline.css +182 -0
  211. package/styles/components/toast.css +146 -0
  212. package/styles/components/toolbar.css +72 -0
  213. package/styles/components/tooltip.css +93 -0
  214. package/styles/components/tree.css +88 -0
  215. package/styles/components/upload-list.css +113 -0
  216. package/styles/fonts.css +67 -0
  217. package/styles/index.css +14 -0
  218. package/styles/reset.css +57 -0
  219. package/styles/tokens/primitives.css +364 -0
  220. package/styles/tokens/semantic.css +233 -0
  221. package/types/vadem-ui-accordion.d.ts +43 -0
  222. package/types/vadem-ui-active-filters.d.ts +73 -0
  223. package/types/vadem-ui-alert-dialog.d.ts +87 -0
  224. package/types/vadem-ui-alert.d.ts +64 -0
  225. package/types/vadem-ui-autocomplete.d.ts +156 -0
  226. package/types/vadem-ui-avatar.d.ts +59 -0
  227. package/types/vadem-ui-badge.d.ts +25 -0
  228. package/types/vadem-ui-breadcrumbs.d.ts +22 -0
  229. package/types/vadem-ui-button.d.ts +52 -0
  230. package/types/vadem-ui-calendar.d.ts +327 -0
  231. package/types/vadem-ui-card.d.ts +58 -0
  232. package/types/vadem-ui-character-count.d.ts +71 -0
  233. package/types/vadem-ui-chart.d.ts +452 -0
  234. package/types/vadem-ui-checkbox.d.ts +20 -0
  235. package/types/vadem-ui-color-picker.d.ts +171 -0
  236. package/types/vadem-ui-command.d.ts +145 -0
  237. package/types/vadem-ui-copy-button.d.ts +90 -0
  238. package/types/vadem-ui-date-range-picker.d.ts +216 -0
  239. package/types/vadem-ui-description-list.d.ts +15 -0
  240. package/types/vadem-ui-dialog.d.ts +174 -0
  241. package/types/vadem-ui-dropzone.d.ts +73 -0
  242. package/types/vadem-ui-editable-text.d.ts +141 -0
  243. package/types/vadem-ui-empty-state.d.ts +34 -0
  244. package/types/vadem-ui-expandable-text.d.ts +52 -0
  245. package/types/vadem-ui-field.d.ts +180 -0
  246. package/types/vadem-ui-file-preview.d.ts +108 -0
  247. package/types/vadem-ui-file-size.d.ts +18 -0
  248. package/types/vadem-ui-form-error-summary.d.ts +46 -0
  249. package/types/vadem-ui-icon.d.ts +152 -0
  250. package/types/vadem-ui-input.d.ts +31 -0
  251. package/types/vadem-ui-kbd.d.ts +66 -0
  252. package/types/vadem-ui-keyboard.d.ts +61 -0
  253. package/types/vadem-ui-locale.d.ts +241 -0
  254. package/types/vadem-ui-menu.d.ts +132 -0
  255. package/types/vadem-ui-navigation-list.d.ts +28 -0
  256. package/types/vadem-ui-number-input.d.ts +39 -0
  257. package/types/vadem-ui-otp-input.d.ts +15 -0
  258. package/types/vadem-ui-pagination.d.ts +96 -0
  259. package/types/vadem-ui-password-input.d.ts +36 -0
  260. package/types/vadem-ui-popover.d.ts +48 -0
  261. package/types/vadem-ui-progress.d.ts +95 -0
  262. package/types/vadem-ui-radio.d.ts +11 -0
  263. package/types/vadem-ui-range-slider.d.ts +136 -0
  264. package/types/vadem-ui-rating.d.ts +95 -0
  265. package/types/vadem-ui-relative-time.d.ts +58 -0
  266. package/types/vadem-ui-reorder-list.d.ts +120 -0
  267. package/types/vadem-ui-scroll-area.d.ts +13 -0
  268. package/types/vadem-ui-search-input.d.ts +58 -0
  269. package/types/vadem-ui-segmented.d.ts +76 -0
  270. package/types/vadem-ui-select.d.ts +303 -0
  271. package/types/vadem-ui-sidebar.d.ts +70 -0
  272. package/types/vadem-ui-skeleton.d.ts +28 -0
  273. package/types/vadem-ui-slider.d.ts +17 -0
  274. package/types/vadem-ui-splitter.d.ts +99 -0
  275. package/types/vadem-ui-stat.d.ts +101 -0
  276. package/types/vadem-ui-stepper.d.ts +108 -0
  277. package/types/vadem-ui-switch.d.ts +10 -0
  278. package/types/vadem-ui-table.d.ts +172 -0
  279. package/types/vadem-ui-tabs.d.ts +101 -0
  280. package/types/vadem-ui-tag-input.d.ts +170 -0
  281. package/types/vadem-ui-text-highlight.d.ts +27 -0
  282. package/types/vadem-ui-time-input.d.ts +47 -0
  283. package/types/vadem-ui-timeline.d.ts +54 -0
  284. package/types/vadem-ui-toast.d.ts +104 -0
  285. package/types/vadem-ui-toolbar.d.ts +80 -0
  286. package/types/vadem-ui-tooltip.d.ts +71 -0
  287. package/types/vadem-ui-tree.d.ts +123 -0
  288. package/types/vadem-ui-upload-list.d.ts +70 -0
  289. package/types/vadem-ui.d.ts +1 -0
@@ -0,0 +1,145 @@
1
+ import * as i0 from "@angular/core";
2
+ import { OnInit } from "@angular/core";
3
+ /** Searchable actions; modal ownership and shortcut bindings stay with consumers. */
4
+ export declare class VdCommand {
5
+ readonly query: import("@angular/core").ModelSignal<string>;
6
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
7
+ readonly placeholder: import("@angular/core").InputSignal<string | undefined>;
8
+ readonly emptyText: import("@angular/core").InputSignal<string | undefined>;
9
+ readonly loadingText: import("@angular/core").InputSignal<string | undefined>;
10
+ /** Text inputs resolved against the active VD_LOCALE. */
11
+ protected readonly t: import("@angular/core").Signal<Pick<{
12
+ label: string;
13
+ placeholder: string;
14
+ emptyText: string;
15
+ loadingText: string;
16
+ }, "label" | "placeholder" | "emptyText" | "loadingText">>;
17
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
18
+ readonly loading: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
19
+ readonly autofocus: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20
+ readonly selected: import("@angular/core").OutputEmitterRef<string>;
21
+ readonly dismissed: import("@angular/core").OutputEmitterRef<void>;
22
+ protected readonly expanded: import("@angular/core").WritableSignal<boolean>;
23
+ protected readonly focused: import("@angular/core").WritableSignal<boolean>;
24
+ protected readonly listId: string;
25
+ private readonly items;
26
+ private readonly initialized;
27
+ private readonly activeId;
28
+ private readonly search;
29
+ private readonly list;
30
+ private readonly records;
31
+ protected readonly visibleItems: import("@angular/core").Signal<{
32
+ id: string;
33
+ label: string;
34
+ keywords: readonly string[];
35
+ disabled: boolean;
36
+ item: VdCommandItem;
37
+ }[]>;
38
+ readonly activeItem: import("@angular/core").Signal<VdCommandItem | null>;
39
+ constructor();
40
+ focus(): void;
41
+ /** Only inspect required inputs after item initialization; queries preserve DOM order. */
42
+ register(item: VdCommandItem): () => void;
43
+ isVisible(item: VdCommandItem): boolean;
44
+ choose(item: VdCommandItem): void;
45
+ hover(item: VdCommandItem, event: PointerEvent): void;
46
+ protected onFocus(): void;
47
+ protected onInput(event: Event): void;
48
+ protected onKeydown(event: KeyboardEvent): void;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdCommand, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<VdCommand, "vd-command", never, {
51
+ "query": {
52
+ "alias": "query";
53
+ "required": false;
54
+ "isSignal": true;
55
+ };
56
+ "label": {
57
+ "alias": "label";
58
+ "required": false;
59
+ "isSignal": true;
60
+ };
61
+ "placeholder": {
62
+ "alias": "placeholder";
63
+ "required": false;
64
+ "isSignal": true;
65
+ };
66
+ "emptyText": {
67
+ "alias": "emptyText";
68
+ "required": false;
69
+ "isSignal": true;
70
+ };
71
+ "loadingText": {
72
+ "alias": "loadingText";
73
+ "required": false;
74
+ "isSignal": true;
75
+ };
76
+ "disabled": {
77
+ "alias": "disabled";
78
+ "required": false;
79
+ "isSignal": true;
80
+ };
81
+ "loading": {
82
+ "alias": "loading";
83
+ "required": false;
84
+ "isSignal": true;
85
+ };
86
+ "autofocus": {
87
+ "alias": "autofocus";
88
+ "required": false;
89
+ "isSignal": true;
90
+ };
91
+ }, {
92
+ "query": "queryChange";
93
+ "selected": "selected";
94
+ "dismissed": "dismissed";
95
+ }, ["items"], ["*"], true, never>;
96
+ }
97
+ export declare class VdCommandDescription {
98
+ readonly id: string;
99
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdCommandDescription, never>;
100
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdCommandDescription, "[vdCommandDescription]", never, {}, {}, never, never, true, never>;
101
+ }
102
+ /** Display hint only; the consumer owns the shortcut binding. */
103
+ export declare class VdCommandShortcut {
104
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdCommandShortcut, never>;
105
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdCommandShortcut, "[vdCommandShortcut]", never, {}, {}, never, never, true, never>;
106
+ }
107
+ export declare class VdCommandItem implements OnInit {
108
+ readonly value: import("@angular/core").InputSignal<string>;
109
+ readonly label: import("@angular/core").InputSignal<string>;
110
+ readonly keywords: import("@angular/core").InputSignal<readonly string[]>;
111
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
112
+ readonly selected: import("@angular/core").OutputEmitterRef<void>;
113
+ readonly id: string;
114
+ readonly el: HTMLElement;
115
+ protected readonly command: VdCommand;
116
+ protected readonly description: import("@angular/core").Signal<VdCommandDescription | undefined>;
117
+ private readonly destroyRef;
118
+ ngOnInit(): void;
119
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdCommandItem, never>;
120
+ static ɵcmp: i0.ɵɵComponentDeclaration<VdCommandItem, "vd-command-item", never, {
121
+ "value": {
122
+ "alias": "value";
123
+ "required": true;
124
+ "isSignal": true;
125
+ };
126
+ "label": {
127
+ "alias": "label";
128
+ "required": true;
129
+ "isSignal": true;
130
+ };
131
+ "keywords": {
132
+ "alias": "keywords";
133
+ "required": false;
134
+ "isSignal": true;
135
+ };
136
+ "disabled": {
137
+ "alias": "disabled";
138
+ "required": false;
139
+ "isSignal": true;
140
+ };
141
+ }, {
142
+ "selected": "selected";
143
+ }, ["description"], ["[slot=start]", "[vdCommandDescription]", "[vdCommandShortcut]"], true, never>;
144
+ }
145
+ export declare const VD_COMMAND: readonly [typeof VdCommand, typeof VdCommandItem, typeof VdCommandDescription, typeof VdCommandShortcut];
@@ -0,0 +1,90 @@
1
+ import { VdButtonSize, VdButtonVariant } from "@vadem/ui/button";
2
+ import * as i0 from "@angular/core";
3
+ export declare class VdCopyButton {
4
+ readonly value: import("@angular/core").InputSignal<string>;
5
+ readonly variant: import("@angular/core").InputSignal<VdButtonVariant>;
6
+ readonly size: import("@angular/core").InputSignal<VdButtonSize>;
7
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
8
+ readonly iconOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
10
+ readonly copyingLabel: import("@angular/core").InputSignal<string | undefined>;
11
+ readonly copiedLabel: import("@angular/core").InputSignal<string | undefined>;
12
+ readonly errorLabel: import("@angular/core").InputSignal<string | undefined>;
13
+ readonly errorMessage: import("@angular/core").InputSignal<string | undefined>;
14
+ /** Text inputs resolved against the active VD_LOCALE. */
15
+ protected readonly t: import("@angular/core").Signal<Pick<{
16
+ label: string;
17
+ copyingLabel: string;
18
+ copiedLabel: string;
19
+ errorLabel: string;
20
+ errorMessage: string;
21
+ }, "label" | "copyingLabel" | "copiedLabel" | "errorLabel" | "errorMessage">>;
22
+ readonly copied: import("@angular/core").OutputEmitterRef<void>;
23
+ readonly copyFailed: import("@angular/core").OutputEmitterRef<void>;
24
+ protected readonly state: import("@angular/core").WritableSignal<"idle" | "copying" | "copied" | "error">;
25
+ protected readonly busy: import("@angular/core").WritableSignal<boolean>;
26
+ protected readonly announcement: import("@angular/core").Signal<string>;
27
+ protected readonly accessibleLabel: import("@angular/core").Signal<string>;
28
+ protected readonly title: import("@angular/core").Signal<string>;
29
+ private readonly document;
30
+ private readonly destroyRef;
31
+ private revision;
32
+ constructor();
33
+ protected copy(): Promise<void>;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdCopyButton, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<VdCopyButton, "vd-copy-button", never, {
36
+ "value": {
37
+ "alias": "value";
38
+ "required": true;
39
+ "isSignal": true;
40
+ };
41
+ "variant": {
42
+ "alias": "variant";
43
+ "required": false;
44
+ "isSignal": true;
45
+ };
46
+ "size": {
47
+ "alias": "size";
48
+ "required": false;
49
+ "isSignal": true;
50
+ };
51
+ "disabled": {
52
+ "alias": "disabled";
53
+ "required": false;
54
+ "isSignal": true;
55
+ };
56
+ "iconOnly": {
57
+ "alias": "iconOnly";
58
+ "required": false;
59
+ "isSignal": true;
60
+ };
61
+ "label": {
62
+ "alias": "label";
63
+ "required": false;
64
+ "isSignal": true;
65
+ };
66
+ "copyingLabel": {
67
+ "alias": "copyingLabel";
68
+ "required": false;
69
+ "isSignal": true;
70
+ };
71
+ "copiedLabel": {
72
+ "alias": "copiedLabel";
73
+ "required": false;
74
+ "isSignal": true;
75
+ };
76
+ "errorLabel": {
77
+ "alias": "errorLabel";
78
+ "required": false;
79
+ "isSignal": true;
80
+ };
81
+ "errorMessage": {
82
+ "alias": "errorMessage";
83
+ "required": false;
84
+ "isSignal": true;
85
+ };
86
+ }, {
87
+ "copied": "copied";
88
+ "copyFailed": "copyFailed";
89
+ }, never, never, true, never>;
90
+ }
@@ -0,0 +1,216 @@
1
+ import * as i0 from "@angular/core";
2
+ import { OnInit, Signal } from "@angular/core";
3
+ import { FormValueControl } from "@angular/forms/signals";
4
+ import { VdIsoDate } from "@vadem/ui/calendar";
5
+ interface VdDateRange {
6
+ readonly start: VdIsoDate;
7
+ readonly end: VdIsoDate;
8
+ }
9
+ declare function vdValidRange(value: unknown): VdDateRange | null;
10
+ declare function vdRangeAllowed(range: VdDateRange, min: string | null, max: string | null): boolean;
11
+ declare function vdRangeBetween(a: VdIsoDate, b: VdIsoDate): VdDateRange;
12
+ /** Normalize Arabic decimal digits before the shared locale date parser. */
13
+ declare function vdParseRangeDate(text: string, locale: string): VdIsoDate | null;
14
+ type VdDateRangePickerSize = 'sm' | 'md' | 'lg';
15
+ export declare class VdDateRangePicker implements FormValueControl<VdDateRange | null>, OnInit {
16
+ readonly value: import("@angular/core").ModelSignal<VdDateRange | null>;
17
+ readonly minDate: import("@angular/core").InputSignal<string | null>;
18
+ readonly maxDate: import("@angular/core").InputSignal<string | null>;
19
+ readonly locale: import("@angular/core").InputSignal<string>;
20
+ readonly firstDayOfWeek: import("@angular/core").InputSignal<number | undefined>;
21
+ readonly size: import("@angular/core").InputSignal<VdDateRangePickerSize>;
22
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
23
+ readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
24
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
25
+ readonly touched: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
26
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
27
+ readonly groupLabel: import("@angular/core").InputSignal<string | undefined>;
28
+ readonly startLabel: import("@angular/core").InputSignal<string | undefined>;
29
+ readonly endLabel: import("@angular/core").InputSignal<string | undefined>;
30
+ readonly openLabel: import("@angular/core").InputSignal<string | undefined>;
31
+ readonly pickerLabel: import("@angular/core").InputSignal<string | undefined>;
32
+ readonly previousLabel: import("@angular/core").InputSignal<string | undefined>;
33
+ readonly nextLabel: import("@angular/core").InputSignal<string | undefined>;
34
+ readonly startInstruction: import("@angular/core").InputSignal<string | undefined>;
35
+ readonly endInstruction: import("@angular/core").InputSignal<string | undefined>;
36
+ readonly errorLabel: import("@angular/core").InputSignal<string | undefined>;
37
+ /** Text inputs resolved against the active VD_LOCALE. */
38
+ protected readonly t: Signal<Pick<{
39
+ groupLabel: string;
40
+ startLabel: string;
41
+ endLabel: string;
42
+ openLabel: string;
43
+ pickerLabel: string;
44
+ previousLabel: string;
45
+ nextLabel: string;
46
+ startInstruction: string;
47
+ endInstruction: string;
48
+ errorLabel: string;
49
+ }, "groupLabel" | "startLabel" | "endLabel" | "openLabel" | "pickerLabel" | "previousLabel" | "nextLabel" | "startInstruction" | "endInstruction" | "errorLabel">>;
50
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
51
+ readonly controlId: string;
52
+ protected readonly endId: string;
53
+ protected readonly errorId: string;
54
+ protected readonly safeMin: Signal<string | null>;
55
+ protected readonly safeMax: Signal<string | null>;
56
+ private readonly range;
57
+ private readonly raw;
58
+ protected readonly startText: Signal<string>;
59
+ protected readonly endText: Signal<string>;
60
+ protected readonly placeholder: Signal<string>;
61
+ private readonly feedback;
62
+ protected readonly parseError: Signal<boolean>;
63
+ protected readonly draftStart: import("@angular/core").WritableSignal<string | null>;
64
+ protected readonly draftEnd: import("@angular/core").WritableSignal<string | null>;
65
+ protected readonly selectingEnd: import("@angular/core").WritableSignal<boolean>;
66
+ protected readonly open: import("@angular/core").WritableSignal<boolean>;
67
+ protected readonly field: import("@vadem/ui/field").VdFieldContext | null;
68
+ private readonly host;
69
+ private readonly popup;
70
+ private readonly trigger;
71
+ private readonly startInput;
72
+ focus(options?: FocusOptions): void;
73
+ private readonly calendar;
74
+ private readonly injector;
75
+ private readonly destroyRef;
76
+ private readonly formBound;
77
+ private readonly ngSource;
78
+ private readonly ngState;
79
+ protected readonly isDisabled: Signal<boolean>;
80
+ protected readonly locked: Signal<boolean>;
81
+ protected readonly isRequired: Signal<boolean>;
82
+ private readonly boundsError;
83
+ protected readonly showInvalid: Signal<boolean>;
84
+ protected readonly describedBy: Signal<string | null>;
85
+ protected readonly unavailable: () => boolean;
86
+ private wasOpen;
87
+ private lastValue;
88
+ private lastMin;
89
+ private lastMax;
90
+ private editedValue;
91
+ constructor();
92
+ ngOnInit(): void;
93
+ protected format(date: string | null): string;
94
+ protected edit(event: Event, part: 'start' | 'end'): void;
95
+ protected commitText(incomplete?: boolean): void;
96
+ private setRange;
97
+ protected inputKey(event: KeyboardEvent): void;
98
+ protected rememberState(): void;
99
+ protected toggle(): void;
100
+ protected onToggle(event: Event): void;
101
+ protected pick(date: string): void;
102
+ protected leavePopup(event: FocusEvent): void;
103
+ protected leaveControl(event: FocusEvent): void;
104
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDateRangePicker, never>;
105
+ static ɵcmp: i0.ɵɵComponentDeclaration<VdDateRangePicker, "vd-date-range-picker", never, {
106
+ "value": {
107
+ "alias": "value";
108
+ "required": false;
109
+ "isSignal": true;
110
+ };
111
+ "minDate": {
112
+ "alias": "minDate";
113
+ "required": false;
114
+ "isSignal": true;
115
+ };
116
+ "maxDate": {
117
+ "alias": "maxDate";
118
+ "required": false;
119
+ "isSignal": true;
120
+ };
121
+ "locale": {
122
+ "alias": "locale";
123
+ "required": false;
124
+ "isSignal": true;
125
+ };
126
+ "firstDayOfWeek": {
127
+ "alias": "firstDayOfWeek";
128
+ "required": false;
129
+ "isSignal": true;
130
+ };
131
+ "size": {
132
+ "alias": "size";
133
+ "required": false;
134
+ "isSignal": true;
135
+ };
136
+ "disabled": {
137
+ "alias": "disabled";
138
+ "required": false;
139
+ "isSignal": true;
140
+ };
141
+ "readonly": {
142
+ "alias": "readonly";
143
+ "required": false;
144
+ "isSignal": true;
145
+ };
146
+ "invalid": {
147
+ "alias": "invalid";
148
+ "required": false;
149
+ "isSignal": true;
150
+ };
151
+ "touched": {
152
+ "alias": "touched";
153
+ "required": false;
154
+ "isSignal": true;
155
+ };
156
+ "required": {
157
+ "alias": "required";
158
+ "required": false;
159
+ "isSignal": true;
160
+ };
161
+ "groupLabel": {
162
+ "alias": "groupLabel";
163
+ "required": false;
164
+ "isSignal": true;
165
+ };
166
+ "startLabel": {
167
+ "alias": "startLabel";
168
+ "required": false;
169
+ "isSignal": true;
170
+ };
171
+ "endLabel": {
172
+ "alias": "endLabel";
173
+ "required": false;
174
+ "isSignal": true;
175
+ };
176
+ "openLabel": {
177
+ "alias": "openLabel";
178
+ "required": false;
179
+ "isSignal": true;
180
+ };
181
+ "pickerLabel": {
182
+ "alias": "pickerLabel";
183
+ "required": false;
184
+ "isSignal": true;
185
+ };
186
+ "previousLabel": {
187
+ "alias": "previousLabel";
188
+ "required": false;
189
+ "isSignal": true;
190
+ };
191
+ "nextLabel": {
192
+ "alias": "nextLabel";
193
+ "required": false;
194
+ "isSignal": true;
195
+ };
196
+ "startInstruction": {
197
+ "alias": "startInstruction";
198
+ "required": false;
199
+ "isSignal": true;
200
+ };
201
+ "endInstruction": {
202
+ "alias": "endInstruction";
203
+ "required": false;
204
+ "isSignal": true;
205
+ };
206
+ "errorLabel": {
207
+ "alias": "errorLabel";
208
+ "required": false;
209
+ "isSignal": true;
210
+ };
211
+ }, {
212
+ "value": "valueChange";
213
+ "touch": "touch";
214
+ }, never, never, true, never>;
215
+ }
216
+ export type { VdDateRange, VdDateRangePickerSize };
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ type VdDescriptionListLayout = 'horizontal' | 'vertical';
3
+ /** Native term/value groups; consumers own content, actions and missing-value copy. */
4
+ export declare class VdDescriptionList {
5
+ readonly layout: import("@angular/core").InputSignal<VdDescriptionListLayout>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDescriptionList, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDescriptionList, "dl[vdDescriptionList]", never, {
8
+ "layout": {
9
+ "alias": "layout";
10
+ "required": false;
11
+ "isSignal": true;
12
+ };
13
+ }, {}, never, never, true, never>;
14
+ }
15
+ export type { VdDescriptionListLayout };
@@ -0,0 +1,174 @@
1
+ import * as i0 from "@angular/core";
2
+ type VdDialogSize = 'sm' | 'md' | 'lg';
3
+ /** `center`: modal dialog. `start` / `end`: drawer attached to that inline edge. */
4
+ type VdDialogPlacement = 'center' | 'start' | 'end';
5
+ /**
6
+ * Modal dialog on the native `<dialog>` element (top layer, focus trap, inert page and focus
7
+ * restore come from the platform). Spec: specs/dialog.md
8
+ */
9
+ export declare class VdDialog {
10
+ /** Two-way open state. Also controllable with `show()` / `close()`. */
11
+ readonly open: import("@angular/core").ModelSignal<boolean>;
12
+ readonly size: import("@angular/core").InputSignal<VdDialogSize>;
13
+ /** Drawers slide in from an inline edge; below the sheet breakpoint every dialog is a sheet. */
14
+ readonly placement: import("@angular/core").InputSignal<VdDialogPlacement>;
15
+ /** Escape and backdrop click close the dialog. Turn off for flows that need an explicit choice. */
16
+ readonly dismissible: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
17
+ /** Emits the dialog's `returnValue` ('' when dismissed) after it closes. */
18
+ readonly closed: import("@angular/core").OutputEmitterRef<string>;
19
+ readonly titleId: import("@angular/core").WritableSignal<string | null>;
20
+ readonly descriptionId: import("@angular/core").WritableSignal<string | null>;
21
+ private readonly el;
22
+ private controller?;
23
+ private sheetDrag?;
24
+ constructor();
25
+ show(): void;
26
+ close(returnValue?: string): void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDialog, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDialog, "dialog[vdDialog]", ["vdDialog"], {
29
+ "open": {
30
+ "alias": "open";
31
+ "required": false;
32
+ "isSignal": true;
33
+ };
34
+ "size": {
35
+ "alias": "size";
36
+ "required": false;
37
+ "isSignal": true;
38
+ };
39
+ "placement": {
40
+ "alias": "placement";
41
+ "required": false;
42
+ "isSignal": true;
43
+ };
44
+ "dismissible": {
45
+ "alias": "dismissible";
46
+ "required": false;
47
+ "isSignal": true;
48
+ };
49
+ }, {
50
+ "open": "openChange";
51
+ "closed": "closed";
52
+ }, never, never, true, never>;
53
+ }
54
+ export declare class VdDialogHeader {
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDialogHeader, never>;
56
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDialogHeader, "[vdDialogHeader]", never, {}, {}, never, never, true, never>;
57
+ }
58
+ /** Dialog heading; becomes the dialog's accessible name. */
59
+ export declare class VdDialogTitle {
60
+ readonly id: string;
61
+ constructor();
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDialogTitle, never>;
63
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDialogTitle, "[vdDialogTitle]", never, {}, {}, never, never, true, never>;
64
+ }
65
+ /** Short description; becomes the dialog's accessible description. */
66
+ export declare class VdDialogDescription {
67
+ readonly id: string;
68
+ constructor();
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDialogDescription, never>;
70
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDialogDescription, "[vdDialogDescription]", never, {}, {}, never, never, true, never>;
71
+ }
72
+ export declare class VdDialogBody {
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDialogBody, never>;
74
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDialogBody, "[vdDialogBody]", never, {}, {}, never, never, true, never>;
75
+ }
76
+ export declare class VdDialogFooter {
77
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDialogFooter, never>;
78
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDialogFooter, "[vdDialogFooter]", never, {}, {}, never, never, true, never>;
79
+ }
80
+ /** Closes the surrounding dialog with an optional return value. */
81
+ export declare class VdDialogClose {
82
+ readonly vdDialogClose: import("@angular/core").InputSignal<string | undefined>;
83
+ protected readonly dialog: VdDialog;
84
+ static ɵfac: i0.ɵɵFactoryDeclaration<VdDialogClose, never>;
85
+ static ɵdir: i0.ɵɵDirectiveDeclaration<VdDialogClose, "button[vdDialogClose]", never, {
86
+ "vdDialogClose": {
87
+ "alias": "vdDialogClose";
88
+ "required": false;
89
+ "isSignal": true;
90
+ };
91
+ }, {}, never, never, true, never>;
92
+ }
93
+ export declare const VD_DIALOG: readonly [typeof VdDialog, typeof VdDialogHeader, typeof VdDialogTitle, typeof VdDialogDescription, typeof VdDialogBody, typeof VdDialogFooter, typeof VdDialogClose];
94
+ /**
95
+ * Framework-agnostic controller for a native modal `<dialog>`: opening/closing, Escape and
96
+ * light-dismiss policy, and close notification. The platform handles focus trapping, inert
97
+ * background, top layer and focus restoration.
98
+ */
99
+ interface VdDialogControllerOptions {
100
+ /** Called after the dialog closed (any reason) with its `returnValue`. */
101
+ onClose(returnValue: string): void;
102
+ /** Whether Escape and backdrop clicks may close the dialog. Read on every attempt. */
103
+ dismissible(): boolean;
104
+ }
105
+ /** True when the point lies outside the rectangle (i.e. on the ::backdrop). */
106
+ export declare function vdIsOutside(rect: DOMRectReadOnly, x: number, y: number): boolean;
107
+ /**
108
+ * Width of the root scrollbar gutter on each physical side. Fixed boxes (and top-layer
109
+ * dialogs) stop at the gutter that `scrollbar-gutter: stable` keeps reserved; which side it is
110
+ * on depends on the engine and direction, so it is measured with a fixed probe.
111
+ */
112
+ export declare function vdViewportGutters(doc: Document): {
113
+ left: number;
114
+ right: number;
115
+ };
116
+ export declare class VdDialogController {
117
+ private readonly dialog;
118
+ private readonly options;
119
+ private pressStartedOnBackdrop;
120
+ constructor(dialog: HTMLDialogElement, options: VdDialogControllerOptions);
121
+ get isOpen(): boolean;
122
+ open(): void;
123
+ close(returnValue?: string): void;
124
+ destroy(): void;
125
+ private readonly onClose;
126
+ /** Escape. Prevented for non-dismissible dialogs. */
127
+ private readonly onCancel;
128
+ private readonly onPointerDown;
129
+ private readonly onClick;
130
+ private isBackdropEvent;
131
+ }
132
+ /**
133
+ * Framework-agnostic swipe-to-dismiss for a dialog laid out as a bottom sheet.
134
+ * The element follows the pointer through two custom properties that CSS consumes:
135
+ * --vd-sheet-offset (px, translate down)
136
+ * --vd-sheet-progress (0..1, for fading the backdrop)
137
+ * and gets `data-dragging` while a drag is active (CSS disables transitions then).
138
+ */
139
+ interface VdSheetDragOptions {
140
+ /** True while the element is currently laid out as a sheet (read on every gesture). */
141
+ isSheet(): boolean;
142
+ dismissible(): boolean;
143
+ /** Element(s) a drag may start from, e.g. the header that carries the handle. */
144
+ handleSelector: string;
145
+ onDismiss(): void;
146
+ }
147
+ /** Pointer travel before a press becomes a drag, so taps and clicks still work. */
148
+ export declare const VD_SHEET_DRAG_THRESHOLD = 6;
149
+ /** Fraction of the sheet height that dismisses on release. */
150
+ export declare const VD_SHEET_DISMISS_DISTANCE = 0.25;
151
+ /** Downward flick speed (px/ms) that dismisses regardless of distance. */
152
+ export declare const VD_SHEET_DISMISS_VELOCITY = 0.5;
153
+ /** Decides what a release does. Pure: exported for tests and other adapters. */
154
+ export declare function vdSheetShouldDismiss(offset: number, height: number, velocity: number): boolean;
155
+ export declare class VdSheetDrag {
156
+ private readonly el;
157
+ private readonly options;
158
+ private pointerId;
159
+ private start;
160
+ private samples;
161
+ private dragging;
162
+ private offset;
163
+ private height;
164
+ constructor(el: HTMLElement, options: VdSheetDragOptions);
165
+ destroy(): void;
166
+ private readonly onDown;
167
+ private readonly onMove;
168
+ private readonly onUp;
169
+ private readonly onCancel;
170
+ /** Downward speed over the most recent samples, px/ms. */
171
+ private velocity;
172
+ private reset;
173
+ }
174
+ export type { VdDialogControllerOptions, VdDialogPlacement, VdDialogSize, VdSheetDragOptions };