@feugene/granularity 0.42.0 → 0.43.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 (177) hide show
  1. package/README.md +3 -3
  2. package/dist/chunks/config-BXRmsn3t.js +172 -0
  3. package/dist/chunks/config-BXRmsn3t.js.map +1 -0
  4. package/dist/chunks/config-Dg0bSoGw.js +81 -0
  5. package/dist/chunks/config-Dg0bSoGw.js.map +1 -0
  6. package/dist/chunks/config-DmED6aJV.js +237 -0
  7. package/dist/chunks/config-DmED6aJV.js.map +1 -0
  8. package/dist/chunks/{config-DWL81-aM.js → config-hnoZvcIM.js} +2 -20
  9. package/dist/chunks/config-hnoZvcIM.js.map +1 -0
  10. package/dist/chunks/dragSortGeometry-CY-llfrQ.js +87 -0
  11. package/dist/chunks/dragSortGeometry-CY-llfrQ.js.map +1 -0
  12. package/dist/chunks/{en-B9E3jO6m.js → en-C_QkUTRL.js} +32 -1
  13. package/dist/chunks/en-C_QkUTRL.js.map +1 -0
  14. package/dist/chunks/{es-DCkqHTlU.js → es-B4t_3Wnh.js} +3 -3
  15. package/dist/chunks/{es-DCkqHTlU.js.map → es-B4t_3Wnh.js.map} +1 -1
  16. package/dist/chunks/{es-QpzdIEut.js → es-DemSEhZE.js} +32 -1
  17. package/dist/chunks/es-DemSEhZE.js.map +1 -0
  18. package/dist/chunks/{generated-B95IBXs6.js → generated-VcxJTo_q.js} +210 -0
  19. package/dist/chunks/generated-VcxJTo_q.js.map +1 -0
  20. package/dist/chunks/{granular-provider-BG_2XqkS.js → granular-provider-BohXQcNt.js} +7 -1
  21. package/dist/chunks/granular-provider-BohXQcNt.js.map +1 -0
  22. package/dist/chunks/{ru-D_1Ya489.js → ru-CLUErjhY.js} +32 -1
  23. package/dist/chunks/ru-CLUErjhY.js.map +1 -0
  24. package/dist/chunks/scrollOverflow-B_kEdcol.js +31 -0
  25. package/dist/chunks/scrollOverflow-B_kEdcol.js.map +1 -0
  26. package/dist/chunks/tones-CRJAaYyg.js +21 -0
  27. package/dist/chunks/tones-CRJAaYyg.js.map +1 -0
  28. package/dist/components/GrAffix/chunks/GrAffix-CWtC7yi8.js +272 -0
  29. package/dist/components/GrAffix/chunks/GrAffix-CWtC7yi8.js.map +1 -0
  30. package/dist/components/GrAffix/index.js +3 -0
  31. package/dist/components/GrCarousel/chunks/GrCarousel-ByuughtI.js +761 -0
  32. package/dist/components/GrCarousel/chunks/GrCarousel-ByuughtI.js.map +1 -0
  33. package/dist/components/GrCarousel/index.js +3 -0
  34. package/dist/components/GrCarousel/styles.css +1 -0
  35. package/dist/components/GrColorPicker/chunks/{GrColorPicker-BwzRLs-i.js → GrColorPicker-9mTR-YZ_.js} +1 -1
  36. package/dist/components/GrColorPicker/chunks/{GrColorPicker-BwzRLs-i.js.map → GrColorPicker-9mTR-YZ_.js.map} +1 -1
  37. package/dist/components/GrColorPicker/index.js +1 -1
  38. package/dist/components/GrDataTable/chunks/{GrDataTable-BBe7-uUe.js → GrDataTable-xNSmO_I-.js} +4 -3
  39. package/dist/components/GrDataTable/chunks/{GrDataTable-BBe7-uUe.js.map → GrDataTable-xNSmO_I-.js.map} +1 -1
  40. package/dist/components/GrDataTable/index.js +1 -1
  41. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dd2gJ-j_.js.map → GrImageViewer-DK-iVHHC.js.map} +1 -1
  42. package/dist/components/GrImageViewer/index.js +1 -1
  43. package/dist/components/GrInputTag/chunks/{GrInputTag-BKzm1PKw.js.map → GrInputTag-Ci8AO1ze.js.map} +1 -1
  44. package/dist/components/GrInputTag/index.js +1 -1
  45. package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-BLCEWlwg.js → GrJsonViewer-CwCBMh4h.js} +2 -2
  46. package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-BLCEWlwg.js.map → GrJsonViewer-CwCBMh4h.js.map} +1 -1
  47. package/dist/components/GrJsonViewer/index.js +1 -1
  48. package/dist/components/GrNumberInput/chunks/{GrNumberInput-Bm-V59TG.js.map → GrNumberInput-CL5QhOmx.js.map} +1 -1
  49. package/dist/components/GrNumberInput/index.js +1 -1
  50. package/dist/components/GrProgressBar/index.js +1 -1
  51. package/dist/components/GrSlider/chunks/{GrSlider-Db-jACXz.js.map → GrSlider-CO8N9SF6.js.map} +1 -1
  52. package/dist/components/GrSlider/index.js +1 -1
  53. package/dist/components/GrSortableList/chunks/{GrSortableList-ce1psLL0.js → GrSortableList-NKriuGm_.js} +2 -1
  54. package/dist/components/GrSortableList/chunks/{GrSortableList-ce1psLL0.js.map → GrSortableList-NKriuGm_.js.map} +1 -1
  55. package/dist/components/GrSortableList/index.js +1 -1
  56. package/dist/components/GrTabs/chunks/{GrTabs-BArefUFv.js → GrTabs-s9RzC1WX.js} +2 -31
  57. package/dist/components/GrTabs/chunks/GrTabs-s9RzC1WX.js.map +1 -0
  58. package/dist/components/GrTabs/index.js +1 -1
  59. package/dist/components/GrTransfer/chunks/GrTransfer-8FA78ny6.js +1368 -0
  60. package/dist/components/GrTransfer/chunks/GrTransfer-8FA78ny6.js.map +1 -0
  61. package/dist/components/GrTransfer/index.js +3 -0
  62. package/dist/components/GrTransfer/styles.css +1 -0
  63. package/dist/components/GrTree/chunks/{GrTree-BFWFc0Bm.js → GrTree-CkHzgYg1.js} +3 -3
  64. package/dist/components/GrTree/chunks/{GrTree-BFWFc0Bm.js.map → GrTree-CkHzgYg1.js.map} +1 -1
  65. package/dist/components/GrTree/index.js +1 -1
  66. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-DJa2lYGe.js → GrTreeSelect-DUsv3_mF.js} +1 -1
  67. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-DJa2lYGe.js.map → GrTreeSelect-DUsv3_mF.js.map} +1 -1
  68. package/dist/components/GrTreeSelect/index.js +1 -1
  69. package/dist/composables/useDragSort.js +179 -1
  70. package/dist/composables/useDragSort.js.map +1 -0
  71. package/dist/granular-provider-node.js +1 -1
  72. package/dist/granular-provider.js +1 -1
  73. package/dist/i18n/all.js +1 -1
  74. package/dist/i18n/index.js +1 -1
  75. package/dist/index.js +23 -19
  76. package/dist/theme.js +1 -1
  77. package/dist/tokens.js +1 -1
  78. package/dist/types/components/GrAffix/GrAffix.vue.d.ts +91 -0
  79. package/dist/types/components/GrAffix/affixState.d.ts +81 -0
  80. package/dist/types/components/GrAffix/config.d.ts +1 -0
  81. package/dist/types/components/GrAffix/grAffixStyles.d.ts +46 -0
  82. package/dist/types/components/GrAffix/index.d.ts +9 -0
  83. package/dist/types/components/GrAffix/safelist.d.ts +1 -0
  84. package/dist/types/components/GrAlert/GrAlert.vue.d.ts +1 -1
  85. package/dist/types/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +2 -2
  86. package/dist/types/components/GrButton/GrButton.vue.d.ts +2 -2
  87. package/dist/types/components/GrCard/GrCard.vue.d.ts +1 -1
  88. package/dist/types/components/GrCarousel/GrCarousel.vue.d.ts +151 -0
  89. package/dist/types/components/GrCarousel/GrCarouselSlide.vue.d.ts +53 -0
  90. package/dist/types/components/GrCarousel/carouselNavigation.d.ts +57 -0
  91. package/dist/types/components/GrCarousel/composables/useCarouselAutoplay.d.ts +33 -0
  92. package/dist/types/components/GrCarousel/composables/useCarouselSwipe.d.ts +20 -0
  93. package/dist/types/components/GrCarousel/config.d.ts +7 -0
  94. package/dist/types/components/GrCarousel/defaults.d.ts +13 -0
  95. package/dist/types/components/GrCarousel/grCarouselContext.d.ts +46 -0
  96. package/dist/types/components/GrCarousel/grCarouselStyles.d.ts +80 -0
  97. package/dist/types/components/GrCarousel/index.d.ts +12 -0
  98. package/dist/types/components/GrCarousel/safelist.d.ts +1 -0
  99. package/dist/types/components/GrCheckbox/GrCheckbox.vue.d.ts +3 -3
  100. package/dist/types/components/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +2 -2
  101. package/dist/types/components/GrChip/GrChip.vue.d.ts +2 -2
  102. package/dist/types/components/GrChipGroup/GrChipGroup.vue.d.ts +2 -2
  103. package/dist/types/components/GrCollapse/GrCollapse.vue.d.ts +1 -1
  104. package/dist/types/components/GrCollapse/GrCollapseItem.vue.d.ts +1 -1
  105. package/dist/types/components/GrColorPicker/GrColorPicker.vue.d.ts +3 -3
  106. package/dist/types/components/GrCommandPalette/GrCommandPalette.vue.d.ts +1 -1
  107. package/dist/types/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +1 -1
  108. package/dist/types/components/GrContextMenu/GrContextMenu.vue.d.ts +2 -2
  109. package/dist/types/components/GrDialog/GrDialog.vue.d.ts +1 -1
  110. package/dist/types/components/GrDivider/GrDivider.vue.d.ts +2 -2
  111. package/dist/types/components/GrDrawer/GrDrawer.vue.d.ts +1 -1
  112. package/dist/types/components/GrDropdown/GrDropdown.vue.d.ts +3 -3
  113. package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +3 -3
  114. package/dist/types/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +1 -1
  115. package/dist/types/components/GrEmptyState/GrEmptyState.vue.d.ts +1 -1
  116. package/dist/types/components/GrFileUpload/GrFileUpload.vue.d.ts +1 -1
  117. package/dist/types/components/GrFormField/GrFormField.vue.d.ts +3 -3
  118. package/dist/types/components/GrFormFile/GrFormFile.vue.d.ts +2 -2
  119. package/dist/types/components/GrFormSection/GrFormSection.vue.d.ts +1 -1
  120. package/dist/types/components/GrIcon/GrIcon.vue.d.ts +1 -1
  121. package/dist/types/components/GrImageViewer/GrImageViewer.vue.d.ts +3 -3
  122. package/dist/types/components/GrInput/GrInput.vue.d.ts +4 -4
  123. package/dist/types/components/GrInputTag/GrInputTag.vue.d.ts +3 -3
  124. package/dist/types/components/GrKbd/GrKbd.vue.d.ts +1 -1
  125. package/dist/types/components/GrLink/GrLink.vue.d.ts +1 -1
  126. package/dist/types/components/GrList/GrListItem.vue.d.ts +2 -2
  127. package/dist/types/components/GrNavbar/GrNavbar.vue.d.ts +2 -2
  128. package/dist/types/components/GrNumberInput/GrNumberInput.vue.d.ts +3 -3
  129. package/dist/types/components/GrPagination/GrPagination.vue.d.ts +1 -1
  130. package/dist/types/components/GrPopover/GrPopover.vue.d.ts +3 -3
  131. package/dist/types/components/GrPromptDialog/GrPromptDialog.vue.d.ts +3 -3
  132. package/dist/types/components/GrRadio/GrRadio.vue.d.ts +2 -2
  133. package/dist/types/components/GrRadioGroup/GrRadioGroup.vue.d.ts +2 -2
  134. package/dist/types/components/GrRating/GrRating.vue.d.ts +2 -2
  135. package/dist/types/components/GrSegmented/GrSegmented.vue.d.ts +2 -2
  136. package/dist/types/components/GrSidebar/GrSidebarItem.vue.d.ts +1 -1
  137. package/dist/types/components/GrSkeleton/GrSkeleton.vue.d.ts +1 -1
  138. package/dist/types/components/GrSlider/GrSlider.vue.d.ts +3 -3
  139. package/dist/types/components/GrSplitter/GrSplitter.vue.d.ts +1 -1
  140. package/dist/types/components/GrStatistic/GrStatistic.vue.d.ts +2 -2
  141. package/dist/types/components/GrSwitch/GrSwitch.vue.d.ts +3 -3
  142. package/dist/types/components/GrTable/GrTable.vue.d.ts +1 -1
  143. package/dist/types/components/GrTabs/GrTabs.vue.d.ts +1 -1
  144. package/dist/types/components/GrTextarea/GrTextarea.vue.d.ts +2 -2
  145. package/dist/types/components/GrTimeline/GrTimelineItem.vue.d.ts +2 -2
  146. package/dist/types/components/GrToaster/GrToaster.vue.d.ts +1 -1
  147. package/dist/types/components/GrTooltip/GrTooltip.vue.d.ts +3 -3
  148. package/dist/types/components/GrTransfer/GrTransfer.vue.d.ts +103 -0
  149. package/dist/types/components/GrTransfer/config.d.ts +1 -0
  150. package/dist/types/components/GrTransfer/defaults.d.ts +15 -0
  151. package/dist/types/components/GrTransfer/grTransferStyles.d.ts +127 -0
  152. package/dist/types/components/GrTransfer/index.d.ts +11 -0
  153. package/dist/types/components/GrTransfer/safelist.d.ts +1 -0
  154. package/dist/types/components/GrTransfer/transferGeometry.d.ts +44 -0
  155. package/dist/types/components/GrTransfer/transferModel.d.ts +68 -0
  156. package/dist/types/components/GrTransfer/transferSelection.d.ts +36 -0
  157. package/dist/types/components/GrTransfer/useTransferDrag.d.ts +48 -0
  158. package/dist/types/granular-provider/shared.d.ts +3 -0
  159. package/dist/types/i18n/messages/en.d.ts +58 -0
  160. package/dist/types/i18n/messages/es.d.ts +58 -0
  161. package/dist/types/i18n/messages/ru.d.ts +58 -0
  162. package/dist/types/index.d.ts +3 -0
  163. package/dist/web-types.json +718 -288
  164. package/package.json +17 -1
  165. package/dist/chunks/config-DWL81-aM.js.map +0 -1
  166. package/dist/chunks/en-B9E3jO6m.js.map +0 -1
  167. package/dist/chunks/es-QpzdIEut.js.map +0 -1
  168. package/dist/chunks/generated-B95IBXs6.js.map +0 -1
  169. package/dist/chunks/granular-provider-BG_2XqkS.js.map +0 -1
  170. package/dist/chunks/ru-D_1Ya489.js.map +0 -1
  171. package/dist/chunks/useDragSort-0l47h4yb.js +0 -265
  172. package/dist/chunks/useDragSort-0l47h4yb.js.map +0 -1
  173. package/dist/components/GrTabs/chunks/GrTabs-BArefUFv.js.map +0 -1
  174. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dd2gJ-j_.js → GrImageViewer-DK-iVHHC.js} +3 -3
  175. package/dist/components/GrInputTag/chunks/{GrInputTag-BKzm1PKw.js → GrInputTag-Ci8AO1ze.js} +1 -1
  176. package/dist/components/GrNumberInput/chunks/{GrNumberInput-Bm-V59TG.js → GrNumberInput-CL5QhOmx.js} +1 -1
  177. package/dist/components/GrSlider/chunks/{GrSlider-Db-jACXz.js → GrSlider-CO8N9SF6.js} +1 -1
@@ -0,0 +1,53 @@
1
+ export interface GrCarouselSlideProps {
2
+ /** Имя слайда: подпись его переключателя и доступное имя самого кадра. */
3
+ label?: string;
4
+ /** URL миниатюры для `indicators="thumbnails"`. Слот `#thumbnail` сильнее. */
5
+ thumbnail?: string;
6
+ }
7
+ type __VLS_Slots = {
8
+ /** Содержимое кадра. */
9
+ default?: () => unknown;
10
+ /**
11
+ * Своя разметка миниатюры. Рендерит её полоса переключателей `GrCarousel`,
12
+ * поэтому `<slot name="thumbnail">` здесь не стоит: узел уезжает наверх при
13
+ * регистрации. Появится он тут — понадобится запись в `DOMAIN_SLOTS` гейта
14
+ * `slotContract.test.ts`.
15
+ */
16
+ thumbnail?: () => unknown;
17
+ };
18
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrCarouselSlideProps>, {
19
+ label: undefined;
20
+ thumbnail: undefined;
21
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrCarouselSlideProps>, {
22
+ label: undefined;
23
+ thumbnail: undefined;
24
+ }>>> & Readonly<{}>, {
25
+ label: string;
26
+ thumbnail: string;
27
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
28
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
+ declare const _default: typeof __VLS_export;
30
+ export default _default;
31
+ type __VLS_TypePropsToOption<T> = {
32
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
33
+ type: import('vue').PropType<Required<T>[K]>;
34
+ } : {
35
+ type: import('vue').PropType<T[K]>;
36
+ required: true;
37
+ };
38
+ };
39
+ type __VLS_WithDefaults<P, D> = {
40
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
41
+ default: D[K];
42
+ }> : P[K];
43
+ };
44
+ type __VLS_WithSlots<T, S> = T & {
45
+ new (): {
46
+ $slots: S;
47
+ };
48
+ };
49
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
50
+ [K in keyof T]: T[K];
51
+ } : {
52
+ [K in keyof T as K]: T[K];
53
+ }) & {};
@@ -0,0 +1,57 @@
1
+ /** Сколько пикселей должен пройти указатель, чтобы это считалось листанием. */
2
+ export declare const SWIPE_THRESHOLD_PX = 60;
3
+ /**
4
+ * Во сколько раз горизонталь обязана превысить вертикаль. Ниже этого жест
5
+ * считается вертикальной прокруткой страницы и ленту не двигает: палец редко
6
+ * идёт строго по оси, и без фильтра карусель перехватывала бы скролл.
7
+ */
8
+ export declare const SWIPE_AXIS_RATIO = 1.5;
9
+ /**
10
+ * Доля ширины вьюпорта, начиная с которой жест засчитывается. Работает вместе
11
+ * с {@link SWIPE_THRESHOLD_PX} по максимуму: 60px на герое шириной 1200px —
12
+ * это нервно, а на узкой карточке доля выродилась бы в пару пикселей.
13
+ */
14
+ export declare const SWIPE_THRESHOLD_RATIO = 0.15;
15
+ /** Во сколько раз вязче идёт лента, когда листать в эту сторону уже некуда. */
16
+ export declare const SWIPE_RESISTANCE = 4;
17
+ /**
18
+ * Логическое направление жеста: `1` — вперёд, `-1` — назад, `0` — не свайп.
19
+ *
20
+ * `dx` физический, в пикселях экрана; разворот под RTL — забота вызывающего,
21
+ * модуль про направление письма не знает. Палец, ушедший влево, листает вперёд:
22
+ * содержимое едет за пальцем, как в нативной прокрутке.
23
+ *
24
+ * Отдельным модулем, потому что в jsdom раскладки нет и через смонтированный
25
+ * компонент ни одна ветка не проверяется — тот же довод, что у
26
+ * {@link resolveScrollOverflow}.
27
+ */
28
+ export declare function resolveSwipeDirection(dx: number, dy: number, threshold?: number): -1 | 0 | 1;
29
+ /**
30
+ * Порог жеста для ленты шириной `width`. При нулевой ширине — а в jsdom она
31
+ * всегда нулевая — вырождается в пиксельный минимум, и жест остаётся
32
+ * проверяемым.
33
+ */
34
+ export declare function swipeThresholdFor(width: number): number;
35
+ /** Смещение ленты за пальцем: за краем — вязкое, иначе один в один. */
36
+ export declare function resistOffset(delta: number, atEdge: boolean): number;
37
+ /**
38
+ * Индекс, зажатый в границы ленты. Пустая лента даёт `0`: слайда с таким
39
+ * номером нет, но отрицательный индекс уехал бы в CSS-переменную трека.
40
+ */
41
+ export declare function clampIndex(index: number, count: number): number;
42
+ /**
43
+ * Шаг по ленте. Без `loop` на краю возвращает тот же индекс — вызывающий по
44
+ * этому признаку и гасит стрелку, отдельного предиката не нужно.
45
+ */
46
+ export declare function stepIndex(index: number, delta: number, count: number, loop: boolean): number;
47
+ /**
48
+ * Насколько прокрутить полосу переключателей, чтобы кадр был виден.
49
+ *
50
+ * Считается своей арифметикой, а не `scrollIntoView`: тот прокручивает **всех**
51
+ * предков, включая документ, — и карусель, уехавшая под сгиб, на каждом шаге
52
+ * автопрокрутки утаскивала бы страницу обратно к себе. Здесь двигается только
53
+ * сама полоса.
54
+ *
55
+ * Движение минимальное: элемент уже виден — `scrollLeft` не меняется вовсе.
56
+ */
57
+ export declare function stripScrollLeft(scrollLeft: number, viewport: number, itemStart: number, itemEnd: number, padding?: number): number;
@@ -0,0 +1,33 @@
1
+ import type { ComputedRef } from 'vue';
2
+ export interface UseCarouselAutoplayOptions {
3
+ /** Пауза между слайдами, мс. */
4
+ interval: () => number;
5
+ /** Показ включён: проп задан и его никто не остановил. */
6
+ enabled: () => boolean;
7
+ /**
8
+ * Отсчёт приостановлен — курсор над лентой, идёт жест, вкладка в фоне.
9
+ * Это **не** остановка: остаток сохраняется, и по снятию паузы лента
10
+ * досчитывает его, а не начинает интервал заново.
11
+ */
12
+ paused: () => boolean;
13
+ /** Шаг ленты. */
14
+ advance: () => void;
15
+ }
16
+ export interface UseCarouselAutoplayReturn {
17
+ /** Заведён ли отсчёт прямо сейчас. Пауза его снимает, намерение показа — нет. */
18
+ running: ComputedRef<boolean>;
19
+ /** Забыть остаток и отсчитать интервал заново — после смены слайда извне. */
20
+ restart: () => void;
21
+ }
22
+ /**
23
+ * Таймер автопрокрутки с паузой по остатку.
24
+ *
25
+ * Модель взята у `useToast` (`{ handle, remaining, startedAt }`), и `setInterval`
26
+ * здесь не годится принципиально: паузу, сохраняющую остаток, на нём не
27
+ * выразить — курсор, снятый за полсекунды до шага, откладывал бы шаг на полный
28
+ * интервал.
29
+ *
30
+ * Композабл локальный: публичный потребовал бы записей в трёх реестрах пакета,
31
+ * а переиспользовать его сегодня некому.
32
+ */
33
+ export declare function useCarouselAutoplay(options: UseCarouselAutoplayOptions): UseCarouselAutoplayReturn;
@@ -0,0 +1,20 @@
1
+ import type { Ref } from 'vue';
2
+ export interface UseCarouselSwipeOptions {
3
+ disabled: () => boolean;
4
+ /** Вьюпорт: у него спрашиваются ширина и направление письма. */
5
+ viewport: () => HTMLElement | null;
6
+ /** Порог пройден. Направление логическое: `1` — вперёд, `-1` — назад. */
7
+ onSwipe: (direction: 1 | -1) => void;
8
+ /** Листать в эту сторону некуда — жест идёт вязко. */
9
+ atEdge: (direction: 1 | -1) => boolean;
10
+ /** Жест начался: показ пора ставить на паузу. */
11
+ onStart?: () => void;
12
+ }
13
+ export interface UseCarouselSwipeReturn {
14
+ isDragging: Ref<boolean>;
15
+ /** Смещение ленты за указателем, px. Физическое: зеркалит его CSS, не JS. */
16
+ offset: Ref<number>;
17
+ /** Вешается на `@pointerdown` вьюпорта. */
18
+ start: (event: PointerEvent) => void;
19
+ }
20
+ export declare function useCarouselSwipe(options: UseCarouselSwipeOptions): UseCarouselSwipeReturn;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * `dependencies` пуст намеренно: стрелки и тумблер — обычные `<button>`, а не
3
+ * `GrButton`. Тот связывает `disabled` с нативным атрибутом, а стрелка на краю
4
+ * без `loop` обязана остаться фокусируемой (`aria-disabled`), иначе фокус
5
+ * падает в `<body>` ровно в момент, когда пользователь долистал до конца.
6
+ */
7
+ export declare const grCarouselConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrCarousel">;
@@ -0,0 +1,13 @@
1
+ import type { GrTone } from '../shared/tones';
2
+ import type { GrCarouselActivationMode, GrCarouselIndicators } from './grCarouselStyles';
3
+ /** Пропы `GrCarousel`, настраиваемые глобально через `componentDefaults`. */
4
+ export interface GrCarouselConfigurableProps {
5
+ indicators: GrCarouselIndicators;
6
+ activationMode: GrCarouselActivationMode;
7
+ tone: GrTone;
8
+ }
9
+ declare module '../../composables/useGrComponentConfig' {
10
+ interface GrComponentDefaultsRegistry {
11
+ GrCarousel: GrCarouselConfigurableProps;
12
+ }
13
+ }
@@ -0,0 +1,46 @@
1
+ import type { ComputedRef, InjectionKey } from 'vue';
2
+ /** Что слайд сообщает о себе ленте при регистрации. */
3
+ export interface GrCarouselSlideEntry {
4
+ /** `useId()` слайда. Он же его DOM-id и ключ реестра. */
5
+ id: string;
6
+ /** Имя слайда: подпись его переключателя и `aria-label` самого слайда. */
7
+ label: () => string | undefined;
8
+ /** URL миниатюры. */
9
+ thumbnailSrc: () => string | undefined;
10
+ /**
11
+ * Дал ли слайд свою разметку миниатюры. Геттер, а не снимок: слот, появившийся
12
+ * позже, снимком в `setup` не увиделся бы.
13
+ */
14
+ hasThumbnail: () => boolean;
15
+ /**
16
+ * Своя разметка миниатюры. Рендерит её **полоса переключателей**, а не слайд:
17
+ * узел уезжает наверх ссылкой. Ссылка стабильна — иначе `:is` перемонтировал
18
+ * бы миниатюру на каждый рендер.
19
+ */
20
+ thumbnail: () => unknown;
21
+ /**
22
+ * Корневой узел. Геттер, а не значение: регистрация идёт в `setup`, когда
23
+ * элемента ещё нет. По нему же восстанавливается порядок слайдов в документе.
24
+ */
25
+ el: () => HTMLElement | null;
26
+ }
27
+ export interface GrCarouselContext {
28
+ /** Регистрация слайда. Возвращает отписку. */
29
+ register: (entry: GrCarouselSlideEntry) => () => void;
30
+ /** Позиция слайда в ленте; `-1`, пока он не зарегистрирован. */
31
+ indexOf: (id: string) => number;
32
+ isCurrent: (id: string) => boolean;
33
+ total: ComputedRef<number>;
34
+ /**
35
+ * `tabpanel`, когда есть полоса переключателей, иначе `group`. Роль слайда
36
+ * зависит от наличия переключателя, а не от его вида: `tab` требует парного
37
+ * `tabpanel`, и без полосы привязать его было бы не к чему.
38
+ */
39
+ slideRole: ComputedRef<'tabpanel' | 'group'>;
40
+ slideRoledescription: ComputedRef<string>;
41
+ /** id переключателя для `aria-labelledby` слайда; `undefined` без полосы. */
42
+ tabIdFor: (id: string) => string | undefined;
43
+ /** «N из M» — имя слайда, когда своего `label` у него нет. */
44
+ positionLabel: (id: string) => string;
45
+ }
46
+ export declare const GR_CAROUSEL_CONTEXT: InjectionKey<GrCarouselContext>;
@@ -0,0 +1,80 @@
1
+ import type { GrTone } from '../shared/tones';
2
+ /**
3
+ * Вид переключателя слайдов. `none` меняет не только внешность, но и роль самих
4
+ * слайдов: без переключателя `tabpanel` не к чему привязать — см. `GrCarousel.vue`.
5
+ */
6
+ export declare const GR_CAROUSEL_INDICATORS: readonly ["dots", "thumbnails", "none"];
7
+ export type GrCarouselIndicators = typeof GR_CAROUSEL_INDICATORS[number];
8
+ /**
9
+ * Текущая точка: заливка **и** обвод вокруг неё.
10
+ *
11
+ * Одной заливки мало: при диаметре в 8 пикселей текущая точка отличалась от
12
+ * соседних только оттенком, а на приглушённом тоне разница почти пропадала.
13
+ * Обвод добавляет второй признак — форму, — и работает там, где цвет не
14
+ * различают.
15
+ *
16
+ * `outline`, а не `ring`: он рисуется вне потока и не требует цвета подложки под
17
+ * зазор, тогда как `ring-offset` пришлось бы красить в фон страницы, которого
18
+ * компонент не знает.
19
+ */
20
+ export declare function grCarouselDotActiveClass(tone: GrTone): string;
21
+ export declare function grCarouselThumbActiveClass(tone: GrTone): string;
22
+ /** `automatic` — стрелка по индикаторам сразу листает; `manual` — только двигает фокус. */
23
+ export declare const GR_CAROUSEL_ACTIVATION_MODES: readonly ["automatic", "manual"];
24
+ export type GrCarouselActivationMode = typeof GR_CAROUSEL_ACTIVATION_MODES[number];
25
+ export declare const carouselRootBase = "relative w-full";
26
+ export declare const carouselViewportBase = "relative w-full overflow-hidden";
27
+ /**
28
+ * Вертикальная прокрутка страницы остаётся браузеру, горизонталь забирает лента.
29
+ * `select-none` — против выделения текста слайда протяжкой.
30
+ */
31
+ export declare const carouselViewportSwipeClass = "[touch-action:pan-y] select-none";
32
+ export declare const carouselTrackBase = "flex w-full will-change-transform transition-transform duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]";
33
+ export declare const carouselSlideBase = "w-full min-w-0 shrink-0 grow-0 basis-full";
34
+ /**
35
+ * Стрелки лежат поверх произвольного содержимого, поэтому несут собственную
36
+ * подложку: на светлом кадре иконка без неё пропадает. `z-10` — порядок внутри
37
+ * собственного stacking-контекста компонента, а не слой страницы.
38
+ */
39
+ export declare const carouselControlBase = "absolute top-1/2 z-10 inline-flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-[var(--gr-radius-full)] border border-[var(--gr-brd)] bg-[var(--gr-carousel-control-bg,var(--gr-bg))] text-[var(--gr-carousel-control-fg,var(--gr-fg))] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
40
+ export declare const carouselControlPositions: {
41
+ readonly prev: "start-2";
42
+ readonly next: "end-2";
43
+ };
44
+ /**
45
+ * Стрелка на краю без `loop` гасится фоном, а не `opacity`: прозрачность
46
+ * разбавляет выверенные на AA токены текста и роняет контраст.
47
+ */
48
+ export declare const carouselControlStates: {
49
+ readonly idle: "hover:bg-[var(--gr-carousel-control-bg-hover,var(--gr-muted))]";
50
+ readonly disabled: "cursor-not-allowed bg-[var(--gr-muted)] text-[var(--gr-disabled-fg)]";
51
+ };
52
+ /** Тумблер автопрокрутки: тот же хром, что у стрелок, но в углу ленты. */
53
+ export declare const carouselToggleClass = "absolute end-2 top-2 z-10 inline-flex h-8 w-8 items-center justify-center rounded-[var(--gr-radius-full)] border border-[var(--gr-brd)] bg-[var(--gr-carousel-control-bg,var(--gr-bg))] text-[var(--gr-carousel-control-fg,var(--gr-fg))] transition-colors hover:bg-[var(--gr-carousel-control-bg-hover,var(--gr-muted))] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
54
+ export declare const carouselIconClass = "h-4 w-4 shrink-0";
55
+ /**
56
+ * Полоса переключателей прокручивается, а не переносится: перенос увёл бы
57
+ * миниатюры под соседний блок. Своей остановки `Tab` у неё нет — её дети
58
+ * фокусируемы, и вторая остановка была бы лишней (приём `GrTabs`).
59
+ */
60
+ export declare const carouselIndicatorsBase = "flex max-w-full items-center overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden";
61
+ export declare const carouselIndicatorsVariants: {
62
+ readonly dots: "justify-center gap-[var(--gr-carousel-gap,0.5rem)] px-1 pt-3.5 pb-1.5";
63
+ readonly thumbnails: "gap-[var(--gr-carousel-gap,0.5rem)] pt-3";
64
+ readonly none: "";
65
+ };
66
+ export declare const carouselIndicatorBase = "shrink-0 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
67
+ export declare const carouselDotBase = "rounded-[var(--gr-radius-full)] h-[var(--gr-carousel-dot-size,0.5rem)] w-[var(--gr-carousel-dot-size,0.5rem)]";
68
+ export declare const carouselDotStates: {
69
+ readonly idle: "bg-[var(--gr-carousel-dot,var(--gr-brd))] hover:bg-[var(--gr-muted-fg)]";
70
+ };
71
+ export declare const carouselThumbBase = "overflow-hidden rounded-[var(--gr-radius-md)] border-2 w-[var(--gr-carousel-thumb-width,4rem)] h-[var(--gr-carousel-thumb-height,2.5rem)]";
72
+ export declare const carouselThumbStates: {
73
+ readonly idle: "border-[var(--gr-brd)] hover:border-[var(--gr-muted-fg)]";
74
+ };
75
+ export declare const carouselThumbImageClass = "h-full w-full object-cover";
76
+ /** Миниатюры не дали — плитка держит ритм полосы номером слайда. */
77
+ export declare const carouselThumbFallbackClass = "flex h-full w-full items-center justify-center bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] text-[length:var(--gr-control-text-xs)] leading-[var(--gr-control-leading-xs)]";
78
+ export declare function grCarouselControlClass(direction: 'prev' | 'next', disabled: boolean): string;
79
+ export declare function grCarouselIndicatorsClass(variant: GrCarouselIndicators): string;
80
+ export declare function grCarouselIndicatorClass(variant: GrCarouselIndicators, active: boolean, tone?: GrTone): string;
@@ -0,0 +1,12 @@
1
+ import type { ComponentExposed } from '../shared/instance';
2
+ import type GrCarouselComponent from './GrCarousel.vue';
3
+ export { default } from './GrCarousel.vue';
4
+ export { default as GrCarousel } from './GrCarousel.vue';
5
+ export { default as GrCarouselSlide } from './GrCarouselSlide.vue';
6
+ export { grCarouselConfig } from './config';
7
+ export type { GrCarouselConfigurableProps } from './defaults';
8
+ export type { GrCarouselEmits, GrCarouselProps } from './GrCarousel.vue';
9
+ export type { GrCarouselSlideProps } from './GrCarouselSlide.vue';
10
+ export type { GrCarouselActivationMode, GrCarouselIndicators } from './grCarouselStyles';
11
+ export { grCarouselSafelist } from './safelist';
12
+ export type GrCarouselInstance = ComponentExposed<typeof GrCarouselComponent>;
@@ -0,0 +1 @@
1
+ export declare const grCarouselSafelist: string[];
@@ -78,15 +78,15 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
78
78
  onFocus?: ((event: FocusEvent) => any) | undefined;
79
79
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
80
80
  }>, {
81
+ disabled: boolean;
82
+ readonly: boolean;
83
+ form: string;
81
84
  size: GrCheckboxSize;
82
85
  labelPosition: GrCheckboxLabelPosition;
83
86
  value: string;
84
- readonly: boolean;
85
- form: string;
86
87
  name: string;
87
88
  invalid: boolean;
88
89
  id: string;
89
- disabled: boolean;
90
90
  ariaLabel: string;
91
91
  modelValue: boolean;
92
92
  required: boolean;
@@ -67,13 +67,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
67
67
  onFocus?: ((event: FocusEvent) => any) | undefined;
68
68
  "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
69
69
  }>, {
70
- size: GrCheckboxSize;
70
+ disabled: boolean;
71
71
  readonly: boolean;
72
+ size: GrCheckboxSize;
72
73
  name: string;
73
74
  invalid: boolean;
74
75
  direction: GrCheckboxGroupDirection;
75
76
  options: GrCheckboxGroupOption[];
76
- disabled: boolean;
77
77
  ariaLabel: string;
78
78
  required: boolean;
79
79
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -94,14 +94,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
94
94
  "onUpdate:selected"?: ((value: boolean) => any) | undefined;
95
95
  onRemove?: (() => any) | undefined;
96
96
  }>, {
97
+ label: string;
98
+ disabled: boolean;
97
99
  tone: GrChipTone;
98
100
  closable: boolean;
99
101
  size: GrChipSize;
100
102
  radius: GrChipRadius;
101
103
  dark: boolean;
102
104
  value: GrChipValue;
103
- label: string;
104
- disabled: boolean;
105
105
  selectable: boolean;
106
106
  selected: boolean;
107
107
  ariaLabel: string;
@@ -86,15 +86,15 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
86
86
  onRemove?: ((value: GrChipValue) => any) | undefined;
87
87
  "onUpdate:modelValue"?: ((value: GrChipValue | GrChipValue[] | null) => any) | undefined;
88
88
  }>, {
89
+ disabled: boolean;
90
+ readonly: boolean;
89
91
  tone: GrChipTone;
90
92
  closable: boolean;
91
93
  size: GrChipSize;
92
94
  radius: GrChipRadius;
93
95
  dark: boolean;
94
- readonly: boolean;
95
96
  name: string;
96
97
  invalid: boolean;
97
- disabled: boolean;
98
98
  ariaLabel: string;
99
99
  modelValue: GrChipValue | GrChipValue[] | null;
100
100
  required: boolean;
@@ -75,13 +75,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
75
75
  onChange?: ((value: GrCollapseModelValue) => any) | undefined;
76
76
  "onUpdate:modelValue"?: ((value: GrCollapseModelValue) => any) | undefined;
77
77
  }>, {
78
+ disabled: boolean;
78
79
  size: GrComponentSize;
79
80
  headingLevel: GrCollapseHeadingLevel;
80
81
  divided: boolean;
81
82
  borderless: boolean;
82
83
  expandIconPosition: GrCollapseIconPosition;
83
84
  emptyText: string;
84
- disabled: boolean;
85
85
  modelValue: GrCollapseValue | GrCollapseValue[];
86
86
  empty: boolean;
87
87
  accordion: boolean;
@@ -34,9 +34,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
34
34
  title: undefined;
35
35
  disabled: boolean;
36
36
  }>>> & Readonly<{}>, {
37
+ disabled: boolean;
37
38
  title: string;
38
39
  name: GrCollapseValue;
39
- disabled: boolean;
40
40
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
41
41
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
42
42
  declare const _default: typeof __VLS_export;
@@ -70,14 +70,14 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
70
70
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
71
71
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
72
72
  }>, {
73
- size: GrColorPickerSize;
73
+ placement: "bottom-start" | "bottom-end" | "top-start" | "top-end";
74
+ disabled: boolean;
74
75
  readonly: boolean;
76
+ size: GrColorPickerSize;
75
77
  name: string;
76
78
  invalid: boolean;
77
- placement: "bottom-start" | "bottom-end" | "top-start" | "top-end";
78
79
  alpha: boolean;
79
80
  open: boolean;
80
- disabled: boolean;
81
81
  ariaLabel: string;
82
82
  required: boolean;
83
83
  presets: string[];
@@ -120,10 +120,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
120
120
  onSelect?: ((item: GrCommandItem) => any) | undefined;
121
121
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
122
122
  }>, {
123
+ filter: GrCommandFilter;
123
124
  size: GrCommandPaletteSize;
124
125
  emptyText: string;
125
126
  loading: boolean;
126
- filter: GrCommandFilter;
127
127
  maxHeight: number;
128
128
  ariaLabel: string;
129
129
  placeholder: string;
@@ -125,8 +125,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
125
125
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
126
126
  onConfirm?: (() => any) | undefined;
127
127
  }>, {
128
- size: GrDialogSize;
129
128
  title: string;
129
+ size: GrDialogSize;
130
130
  description: string;
131
131
  error: ResponseErrorInfo | null;
132
132
  closeOnEsc: boolean;
@@ -113,10 +113,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
113
113
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
114
114
  onBeforeOpen?: ((context: GrContextMenuOpenContext) => any) | undefined;
115
115
  }>, {
116
- minWidth: number | string;
117
116
  placement: UseFloatingPlacement;
118
- open: boolean;
119
117
  disabled: boolean;
118
+ minWidth: number | string;
119
+ open: boolean;
120
120
  ariaLabel: string;
121
121
  items: GrDropdownMenuEntry[];
122
122
  labelledBy: string;
@@ -91,8 +91,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
91
91
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
92
92
  onOpened?: (() => any) | undefined;
93
93
  }>, {
94
- size: GrDialogSize;
95
94
  title: string;
95
+ size: GrDialogSize;
96
96
  scrollBehavior: GrModalScrollBehavior;
97
97
  ariaLabel: string;
98
98
  initialFocus: HTMLElement | null;
@@ -56,11 +56,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
56
56
  length: undefined;
57
57
  ariaLabel: undefined;
58
58
  }>>> & Readonly<{}>, {
59
+ label: string;
60
+ length: number | string;
59
61
  variant: GrDividerVariant;
60
62
  spacing: GrDividerSpacing;
61
63
  orientation: GrDividerOrientation;
62
- length: number | string;
63
- label: string;
64
64
  ariaLabel: string;
65
65
  align: GrDividerAlign;
66
66
  thickness: number | string;
@@ -108,9 +108,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
108
108
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
109
109
  onOpened?: (() => any) | undefined;
110
110
  }>, {
111
+ title: string;
111
112
  size: GrDrawerSize;
112
113
  side: GrDrawerSide;
113
- title: string;
114
114
  height: string | number;
115
115
  width: string | number;
116
116
  modal: boolean;
@@ -88,11 +88,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
88
88
  }>>> & Readonly<{
89
89
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
90
90
  }>, {
91
- width: GrDropdownWidth;
92
- offset: number;
93
91
  placement: UseFloatingPlacement;
94
- open: boolean;
92
+ offset: number;
95
93
  disabled: boolean;
94
+ width: GrDropdownWidth;
95
+ open: boolean;
96
96
  trigger: GrDropdownTrigger;
97
97
  openDelay: number;
98
98
  closeDelay: number;
@@ -107,13 +107,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
107
107
  onSelect?: ((item: GrDropdownMenuAction) => any) | undefined;
108
108
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
109
109
  }>, {
110
- width: GrDropdownWidth;
110
+ placement: UseFloatingPlacement;
111
111
  offset: number;
112
+ disabled: boolean;
113
+ width: GrDropdownWidth;
112
114
  borderBottom: boolean;
113
115
  borderTop: boolean;
114
- placement: UseFloatingPlacement;
115
116
  open: boolean;
116
- disabled: boolean;
117
117
  items: GrDropdownMenuEntry[];
118
118
  trigger: GrDropdownTrigger;
119
119
  openDelay: number;
@@ -60,12 +60,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
60
60
  icon: undefined;
61
61
  shortcut: undefined;
62
62
  }>>> & Readonly<{}>, {
63
+ disabled: boolean;
63
64
  variant: GrDropdownMenuItemVariant;
64
65
  icon: Component;
65
66
  role: GrDropdownMenuItemRole;
66
67
  target: string;
67
68
  href: string;
68
- disabled: boolean;
69
69
  as: string | Component;
70
70
  external: boolean;
71
71
  rel: string;
@@ -39,10 +39,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
39
39
  variant: undefined;
40
40
  headingLevel: undefined;
41
41
  }>>> & Readonly<{}>, {
42
+ title: string;
42
43
  variant: GrEmptyStateVariant;
43
44
  size: GrEmptyStateSize;
44
45
  headingLevel: GrEmptyStateHeadingLevel;
45
- title: string;
46
46
  description: string;
47
47
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
48
48
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -115,8 +115,8 @@ export interface GrFileUploadEmits<TResponse = unknown> {
115
115
  }
116
116
  declare const __VLS_export: <TResponse = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
117
117
  props: import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & __VLS_PrettifyLocal<GrFileUploadProps<TResponse> & {
118
- onSuccess?: ((payload: TResponse, file?: File | undefined) => any) | undefined;
119
118
  onProgress?: ((percent: number, info?: GrUploadProgressInfo | undefined, file?: File | undefined) => any) | undefined;
119
+ onSuccess?: ((payload: TResponse, file?: File | undefined) => any) | undefined;
120
120
  onBlur?: ((event: FocusEvent) => any) | undefined;
121
121
  onChange?: ((files: File[]) => any) | undefined;
122
122
  onError?: ((error: unknown, file?: File | undefined) => any) | undefined;
@@ -80,14 +80,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
80
80
  labelWidth: undefined;
81
81
  labelClass: undefined;
82
82
  }>>> & Readonly<{}>, {
83
+ label: string;
84
+ disabled: boolean;
85
+ readonly: boolean;
83
86
  size: GrFormFieldSize;
84
87
  labelWidth: string | number;
85
88
  labelPosition: GrFormFieldLabelPosition;
86
- readonly: boolean;
87
- label: string;
88
89
  name: string;
89
90
  error: string | string[];
90
- disabled: boolean;
91
91
  required: boolean;
92
92
  labelClass: LabelClass;
93
93
  forId: string;