@feugene/granularity 0.42.0 → 0.44.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 (193) hide show
  1. package/README.md +2 -2
  2. package/dist/chunks/config-BXRmsn3t.js +172 -0
  3. package/dist/chunks/config-BXRmsn3t.js.map +1 -0
  4. package/dist/chunks/config-BkQ2jvXv.js +49 -0
  5. package/dist/chunks/config-BkQ2jvXv.js.map +1 -0
  6. package/dist/chunks/config-Dg0bSoGw.js +81 -0
  7. package/dist/chunks/config-Dg0bSoGw.js.map +1 -0
  8. package/dist/chunks/config-DmED6aJV.js +237 -0
  9. package/dist/chunks/config-DmED6aJV.js.map +1 -0
  10. package/dist/chunks/{config-DWL81-aM.js → config-hnoZvcIM.js} +2 -20
  11. package/dist/chunks/config-hnoZvcIM.js.map +1 -0
  12. package/dist/chunks/dragSortGeometry-CY-llfrQ.js +87 -0
  13. package/dist/chunks/dragSortGeometry-CY-llfrQ.js.map +1 -0
  14. package/dist/chunks/{en-B9E3jO6m.js → en-DiHzFact.js} +34 -1
  15. package/dist/chunks/en-DiHzFact.js.map +1 -0
  16. package/dist/chunks/{es-QpzdIEut.js → es-1ZL6NtkB.js} +34 -1
  17. package/dist/chunks/es-1ZL6NtkB.js.map +1 -0
  18. package/dist/chunks/{es-DCkqHTlU.js → es-CeKkMxZ_.js} +3 -3
  19. package/dist/chunks/{es-DCkqHTlU.js.map → es-CeKkMxZ_.js.map} +1 -1
  20. package/dist/chunks/{generated-B95IBXs6.js → generated-Hxu_sWPs.js} +238 -0
  21. package/dist/chunks/generated-Hxu_sWPs.js.map +1 -0
  22. package/dist/chunks/{granular-provider-BG_2XqkS.js → granular-provider-CCNbQa5U.js} +9 -1
  23. package/dist/chunks/granular-provider-CCNbQa5U.js.map +1 -0
  24. package/dist/chunks/{ru-D_1Ya489.js → ru-Dr2RYn0P.js} +34 -1
  25. package/dist/chunks/ru-Dr2RYn0P.js.map +1 -0
  26. package/dist/chunks/scrollOverflow-B_kEdcol.js +31 -0
  27. package/dist/chunks/scrollOverflow-B_kEdcol.js.map +1 -0
  28. package/dist/chunks/tones-CRJAaYyg.js +21 -0
  29. package/dist/chunks/tones-CRJAaYyg.js.map +1 -0
  30. package/dist/chunks/useScrollSpy-CIJpw0RI.js +360 -0
  31. package/dist/chunks/useScrollSpy-CIJpw0RI.js.map +1 -0
  32. package/dist/components/GrAffix/chunks/GrAffix-CWtC7yi8.js +272 -0
  33. package/dist/components/GrAffix/chunks/GrAffix-CWtC7yi8.js.map +1 -0
  34. package/dist/components/GrAffix/index.js +3 -0
  35. package/dist/components/GrCarousel/chunks/GrCarousel-ByuughtI.js +761 -0
  36. package/dist/components/GrCarousel/chunks/GrCarousel-ByuughtI.js.map +1 -0
  37. package/dist/components/GrCarousel/index.js +3 -0
  38. package/dist/components/GrCarousel/styles.css +1 -0
  39. package/dist/components/GrColorPicker/chunks/{GrColorPicker-BwzRLs-i.js → GrColorPicker-9mTR-YZ_.js} +1 -1
  40. package/dist/components/GrColorPicker/chunks/{GrColorPicker-BwzRLs-i.js.map → GrColorPicker-9mTR-YZ_.js.map} +1 -1
  41. package/dist/components/GrColorPicker/index.js +1 -1
  42. package/dist/components/GrDataTable/chunks/{GrDataTable-BBe7-uUe.js → GrDataTable-xNSmO_I-.js} +4 -3
  43. package/dist/components/GrDataTable/chunks/{GrDataTable-BBe7-uUe.js.map → GrDataTable-xNSmO_I-.js.map} +1 -1
  44. package/dist/components/GrDataTable/index.js +1 -1
  45. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dd2gJ-j_.js.map → GrImageViewer-DK-iVHHC.js.map} +1 -1
  46. package/dist/components/GrImageViewer/index.js +1 -1
  47. package/dist/components/GrInputTag/chunks/{GrInputTag-BKzm1PKw.js.map → GrInputTag-Ci8AO1ze.js.map} +1 -1
  48. package/dist/components/GrInputTag/index.js +1 -1
  49. package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-BLCEWlwg.js → GrJsonViewer-CwCBMh4h.js} +2 -2
  50. package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-BLCEWlwg.js.map → GrJsonViewer-CwCBMh4h.js.map} +1 -1
  51. package/dist/components/GrJsonViewer/index.js +1 -1
  52. package/dist/components/GrNumberInput/chunks/{GrNumberInput-Bm-V59TG.js.map → GrNumberInput-CL5QhOmx.js.map} +1 -1
  53. package/dist/components/GrNumberInput/index.js +1 -1
  54. package/dist/components/GrProgressBar/index.js +1 -1
  55. package/dist/components/GrScrollSpy/chunks/GrScrollSpy-CQCH3zLC.js +207 -0
  56. package/dist/components/GrScrollSpy/chunks/GrScrollSpy-CQCH3zLC.js.map +1 -0
  57. package/dist/components/GrScrollSpy/index.js +3 -0
  58. package/dist/components/GrSlider/chunks/{GrSlider-Db-jACXz.js.map → GrSlider-CO8N9SF6.js.map} +1 -1
  59. package/dist/components/GrSlider/index.js +1 -1
  60. package/dist/components/GrSortableList/chunks/{GrSortableList-ce1psLL0.js → GrSortableList-NKriuGm_.js} +2 -1
  61. package/dist/components/GrSortableList/chunks/{GrSortableList-ce1psLL0.js.map → GrSortableList-NKriuGm_.js.map} +1 -1
  62. package/dist/components/GrSortableList/index.js +1 -1
  63. package/dist/components/GrTabs/chunks/{GrTabs-BArefUFv.js → GrTabs-s9RzC1WX.js} +2 -31
  64. package/dist/components/GrTabs/chunks/GrTabs-s9RzC1WX.js.map +1 -0
  65. package/dist/components/GrTabs/index.js +1 -1
  66. package/dist/components/GrTransfer/chunks/GrTransfer-8FA78ny6.js +1368 -0
  67. package/dist/components/GrTransfer/chunks/GrTransfer-8FA78ny6.js.map +1 -0
  68. package/dist/components/GrTransfer/index.js +3 -0
  69. package/dist/components/GrTransfer/styles.css +1 -0
  70. package/dist/components/GrTree/chunks/{GrTree-BFWFc0Bm.js → GrTree-CkHzgYg1.js} +3 -3
  71. package/dist/components/GrTree/chunks/{GrTree-BFWFc0Bm.js.map → GrTree-CkHzgYg1.js.map} +1 -1
  72. package/dist/components/GrTree/index.js +1 -1
  73. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-DJa2lYGe.js → GrTreeSelect-DUsv3_mF.js} +1 -1
  74. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-DJa2lYGe.js.map → GrTreeSelect-DUsv3_mF.js.map} +1 -1
  75. package/dist/components/GrTreeSelect/index.js +1 -1
  76. package/dist/composables/useDragSort.js +179 -1
  77. package/dist/composables/useDragSort.js.map +1 -0
  78. package/dist/composables/useScrollSpy.js +2 -0
  79. package/dist/granular-provider-node.js +1 -1
  80. package/dist/granular-provider.js +1 -1
  81. package/dist/i18n/all.js +1 -1
  82. package/dist/i18n/index.js +1 -1
  83. package/dist/index.js +26 -19
  84. package/dist/theme.js +1 -1
  85. package/dist/tokens.js +1 -1
  86. package/dist/types/components/GrAffix/GrAffix.vue.d.ts +91 -0
  87. package/dist/types/components/GrAffix/affixState.d.ts +81 -0
  88. package/dist/types/components/GrAffix/config.d.ts +1 -0
  89. package/dist/types/components/GrAffix/grAffixStyles.d.ts +46 -0
  90. package/dist/types/components/GrAffix/index.d.ts +9 -0
  91. package/dist/types/components/GrAffix/safelist.d.ts +1 -0
  92. package/dist/types/components/GrAlert/GrAlert.vue.d.ts +1 -1
  93. package/dist/types/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +2 -2
  94. package/dist/types/components/GrButton/GrButton.vue.d.ts +2 -2
  95. package/dist/types/components/GrCard/GrCard.vue.d.ts +1 -1
  96. package/dist/types/components/GrCarousel/GrCarousel.vue.d.ts +151 -0
  97. package/dist/types/components/GrCarousel/GrCarouselSlide.vue.d.ts +53 -0
  98. package/dist/types/components/GrCarousel/carouselNavigation.d.ts +57 -0
  99. package/dist/types/components/GrCarousel/composables/useCarouselAutoplay.d.ts +33 -0
  100. package/dist/types/components/GrCarousel/composables/useCarouselSwipe.d.ts +20 -0
  101. package/dist/types/components/GrCarousel/config.d.ts +7 -0
  102. package/dist/types/components/GrCarousel/defaults.d.ts +13 -0
  103. package/dist/types/components/GrCarousel/grCarouselContext.d.ts +46 -0
  104. package/dist/types/components/GrCarousel/grCarouselStyles.d.ts +80 -0
  105. package/dist/types/components/GrCarousel/index.d.ts +12 -0
  106. package/dist/types/components/GrCarousel/safelist.d.ts +1 -0
  107. package/dist/types/components/GrCheckbox/GrCheckbox.vue.d.ts +3 -3
  108. package/dist/types/components/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +2 -2
  109. package/dist/types/components/GrChip/GrChip.vue.d.ts +2 -2
  110. package/dist/types/components/GrChipGroup/GrChipGroup.vue.d.ts +2 -2
  111. package/dist/types/components/GrCollapse/GrCollapse.vue.d.ts +1 -1
  112. package/dist/types/components/GrCollapse/GrCollapseItem.vue.d.ts +1 -1
  113. package/dist/types/components/GrColorPicker/GrColorPicker.vue.d.ts +3 -3
  114. package/dist/types/components/GrCommandPalette/GrCommandPalette.vue.d.ts +1 -1
  115. package/dist/types/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +1 -1
  116. package/dist/types/components/GrContextMenu/GrContextMenu.vue.d.ts +2 -2
  117. package/dist/types/components/GrDialog/GrDialog.vue.d.ts +1 -1
  118. package/dist/types/components/GrDivider/GrDivider.vue.d.ts +2 -2
  119. package/dist/types/components/GrDrawer/GrDrawer.vue.d.ts +1 -1
  120. package/dist/types/components/GrDropdown/GrDropdown.vue.d.ts +3 -3
  121. package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +3 -3
  122. package/dist/types/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +1 -1
  123. package/dist/types/components/GrEmptyState/GrEmptyState.vue.d.ts +1 -1
  124. package/dist/types/components/GrFileUpload/GrFileUpload.vue.d.ts +1 -1
  125. package/dist/types/components/GrFormField/GrFormField.vue.d.ts +3 -3
  126. package/dist/types/components/GrFormFile/GrFormFile.vue.d.ts +2 -2
  127. package/dist/types/components/GrFormSection/GrFormSection.vue.d.ts +1 -1
  128. package/dist/types/components/GrIcon/GrIcon.vue.d.ts +1 -1
  129. package/dist/types/components/GrImageViewer/GrImageViewer.vue.d.ts +3 -3
  130. package/dist/types/components/GrInput/GrInput.vue.d.ts +4 -4
  131. package/dist/types/components/GrInputTag/GrInputTag.vue.d.ts +3 -3
  132. package/dist/types/components/GrKbd/GrKbd.vue.d.ts +1 -1
  133. package/dist/types/components/GrLink/GrLink.vue.d.ts +1 -1
  134. package/dist/types/components/GrList/GrListItem.vue.d.ts +2 -2
  135. package/dist/types/components/GrNavbar/GrNavbar.vue.d.ts +2 -2
  136. package/dist/types/components/GrNumberInput/GrNumberInput.vue.d.ts +3 -3
  137. package/dist/types/components/GrPagination/GrPagination.vue.d.ts +1 -1
  138. package/dist/types/components/GrPopover/GrPopover.vue.d.ts +3 -3
  139. package/dist/types/components/GrPromptDialog/GrPromptDialog.vue.d.ts +3 -3
  140. package/dist/types/components/GrRadio/GrRadio.vue.d.ts +2 -2
  141. package/dist/types/components/GrRadioGroup/GrRadioGroup.vue.d.ts +2 -2
  142. package/dist/types/components/GrRating/GrRating.vue.d.ts +2 -2
  143. package/dist/types/components/GrScrollSpy/GrScrollSpy.vue.d.ts +105 -0
  144. package/dist/types/components/GrScrollSpy/config.d.ts +1 -0
  145. package/dist/types/components/GrScrollSpy/grScrollSpyStyles.d.ts +26 -0
  146. package/dist/types/components/GrScrollSpy/index.d.ts +9 -0
  147. package/dist/types/components/GrScrollSpy/safelist.d.ts +1 -0
  148. package/dist/types/components/GrScrollSpy/scrollSpyItems.d.ts +44 -0
  149. package/dist/types/components/GrSegmented/GrSegmented.vue.d.ts +2 -2
  150. package/dist/types/components/GrSidebar/GrSidebarItem.vue.d.ts +1 -1
  151. package/dist/types/components/GrSkeleton/GrSkeleton.vue.d.ts +1 -1
  152. package/dist/types/components/GrSlider/GrSlider.vue.d.ts +3 -3
  153. package/dist/types/components/GrSplitter/GrSplitter.vue.d.ts +1 -1
  154. package/dist/types/components/GrStatistic/GrStatistic.vue.d.ts +2 -2
  155. package/dist/types/components/GrSwitch/GrSwitch.vue.d.ts +3 -3
  156. package/dist/types/components/GrTable/GrTable.vue.d.ts +1 -1
  157. package/dist/types/components/GrTabs/GrTabs.vue.d.ts +1 -1
  158. package/dist/types/components/GrTextarea/GrTextarea.vue.d.ts +2 -2
  159. package/dist/types/components/GrTimeline/GrTimelineItem.vue.d.ts +2 -2
  160. package/dist/types/components/GrToaster/GrToaster.vue.d.ts +1 -1
  161. package/dist/types/components/GrTooltip/GrTooltip.vue.d.ts +3 -3
  162. package/dist/types/components/GrTransfer/GrTransfer.vue.d.ts +103 -0
  163. package/dist/types/components/GrTransfer/config.d.ts +1 -0
  164. package/dist/types/components/GrTransfer/defaults.d.ts +15 -0
  165. package/dist/types/components/GrTransfer/grTransferStyles.d.ts +127 -0
  166. package/dist/types/components/GrTransfer/index.d.ts +11 -0
  167. package/dist/types/components/GrTransfer/safelist.d.ts +1 -0
  168. package/dist/types/components/GrTransfer/transferGeometry.d.ts +44 -0
  169. package/dist/types/components/GrTransfer/transferModel.d.ts +68 -0
  170. package/dist/types/components/GrTransfer/transferSelection.d.ts +36 -0
  171. package/dist/types/components/GrTransfer/useTransferDrag.d.ts +48 -0
  172. package/dist/types/composables/internal/scrollSpyGeometry.d.ts +67 -0
  173. package/dist/types/composables/useScrollSpy.d.ts +59 -0
  174. package/dist/types/granular-provider/shared.d.ts +4 -0
  175. package/dist/types/i18n/messages/en.d.ts +64 -0
  176. package/dist/types/i18n/messages/es.d.ts +64 -0
  177. package/dist/types/i18n/messages/ru.d.ts +64 -0
  178. package/dist/types/index.d.ts +6 -0
  179. package/dist/web-types.json +809 -284
  180. package/package.json +25 -1
  181. package/dist/chunks/config-DWL81-aM.js.map +0 -1
  182. package/dist/chunks/en-B9E3jO6m.js.map +0 -1
  183. package/dist/chunks/es-QpzdIEut.js.map +0 -1
  184. package/dist/chunks/generated-B95IBXs6.js.map +0 -1
  185. package/dist/chunks/granular-provider-BG_2XqkS.js.map +0 -1
  186. package/dist/chunks/ru-D_1Ya489.js.map +0 -1
  187. package/dist/chunks/useDragSort-0l47h4yb.js +0 -265
  188. package/dist/chunks/useDragSort-0l47h4yb.js.map +0 -1
  189. package/dist/components/GrTabs/chunks/GrTabs-BArefUFv.js.map +0 -1
  190. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dd2gJ-j_.js → GrImageViewer-DK-iVHHC.js} +3 -3
  191. package/dist/components/GrInputTag/chunks/{GrInputTag-BKzm1PKw.js → GrInputTag-Ci8AO1ze.js} +1 -1
  192. package/dist/components/GrNumberInput/chunks/{GrNumberInput-Bm-V59TG.js → GrNumberInput-CL5QhOmx.js} +1 -1
  193. package/dist/components/GrSlider/chunks/{GrSlider-Db-jACXz.js → GrSlider-CO8N9SF6.js} +1 -1
@@ -115,12 +115,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
115
115
  "onUpdate:modelValue"?: ((value: File | File[] | null) => any) | undefined;
116
116
  "onUpdate:errors"?: ((errors: FileValidationIssue[]) => any) | undefined;
117
117
  }>, {
118
- size: GrFormFileSize;
118
+ disabled: boolean;
119
119
  readonly: boolean;
120
+ size: GrFormFileSize;
120
121
  invalid: boolean;
121
122
  accept: string;
122
123
  multiple: boolean;
123
- disabled: boolean;
124
124
  ariaLabel: string;
125
125
  required: boolean;
126
126
  placeholder: string;
@@ -41,8 +41,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
41
41
  headingLevel: undefined;
42
42
  landmark: boolean;
43
43
  }>>> & Readonly<{}>, {
44
- headingLevel: GrFormSectionHeadingLevel;
45
44
  title: string;
45
+ headingLevel: GrFormSectionHeadingLevel;
46
46
  description: string;
47
47
  landmark: boolean;
48
48
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -28,9 +28,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
28
28
  tone: string;
29
29
  spin: boolean;
30
30
  }>>> & Readonly<{}>, {
31
+ label: string;
31
32
  tone: GrIconTone;
32
33
  size: GrIconSize | number;
33
- label: string;
34
34
  spin: boolean;
35
35
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
36
36
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -200,8 +200,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
200
200
  }) => any) | undefined;
201
201
  }>, {
202
202
  emptyText: string;
203
+ draggable: boolean;
203
204
  zIndexVar: string;
204
205
  ariaLabel: string;
206
+ prevLabel: string;
207
+ nextLabel: string;
205
208
  closeLabel: string;
206
209
  showProgress: boolean;
207
210
  initialIndex: number;
@@ -212,9 +215,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
212
215
  closeOnPressEscape: boolean;
213
216
  showZoomValue: boolean;
214
217
  wheelZoom: boolean;
215
- draggable: boolean;
216
- prevLabel: string;
217
- nextLabel: string;
218
218
  zoomInLabel: string;
219
219
  zoomOutLabel: string;
220
220
  resetZoomLabel: string;
@@ -172,16 +172,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
172
172
  onFocus?: ((event: FocusEvent) => any) | undefined;
173
173
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
174
174
  }>, {
175
+ disabled: boolean;
176
+ readonly: boolean;
177
+ type: "text" | "email" | "password" | "number" | "search" | "tel" | "url";
175
178
  size: GrInputSize;
176
179
  clearable: boolean;
177
180
  loading: boolean;
178
- readonly: boolean;
179
- type: "text" | "email" | "password" | "number" | "search" | "tel" | "url";
180
181
  name: string;
181
182
  invalid: boolean;
182
183
  id: string;
183
184
  textAlign: GrInputTextAlign;
184
- disabled: boolean;
185
185
  ariaLabel: string;
186
186
  modelValue: string;
187
187
  required: boolean;
@@ -195,7 +195,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
195
195
  suffixFixed: boolean;
196
196
  autocomplete: string;
197
197
  showCount: boolean;
198
- inputmode: "none" | "search" | "text" | "email" | "tel" | "url" | "numeric" | "decimal";
198
+ inputmode: "search" | "text" | "none" | "email" | "tel" | "url" | "numeric" | "decimal";
199
199
  state: "default" | "success" | "warning" | "danger";
200
200
  maxlength: number;
201
201
  passwordToggle: boolean;
@@ -162,15 +162,15 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
162
162
  "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
163
163
  onReject?: ((value: string) => any) | undefined;
164
164
  }>, {
165
+ disabled: boolean;
166
+ trim: boolean;
167
+ readonly: boolean;
165
168
  size: GrInputTagSize;
166
169
  clearable: boolean;
167
170
  loading: boolean;
168
- trim: boolean;
169
- readonly: boolean;
170
171
  name: string;
171
172
  invalid: boolean;
172
173
  max: number;
173
- disabled: boolean;
174
174
  ariaLabel: string;
175
175
  tagTone: GrBadgeTone;
176
176
  tagDark: boolean;
@@ -48,10 +48,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
48
48
  separator: undefined;
49
49
  platform: string;
50
50
  }>>> & Readonly<{}>, {
51
+ keys: string | string[];
51
52
  variant: GrKbdVariant;
52
53
  size: GrKbdSize;
53
54
  separator: string;
54
- keys: string | string[];
55
55
  platform: GrKbdPlatform;
56
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
57
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -77,13 +77,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
77
77
  externalIcon: undefined;
78
78
  newTabLabel: undefined;
79
79
  }>>> & Readonly<{}>, {
80
+ disabled: boolean;
80
81
  tone: GrLinkTone;
81
82
  variant: GrLinkVariant;
82
83
  size: GrLinkSize;
83
84
  underline: GrLinkUnderline;
84
85
  target: string;
85
86
  href: string;
86
- disabled: boolean;
87
87
  ariaLabel: string;
88
88
  as: string | Component;
89
89
  external: boolean;
@@ -54,12 +54,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
54
54
  }>>> & Readonly<{
55
55
  onClick?: ((event: MouseEvent) => any) | undefined;
56
56
  }>, {
57
+ disabled: boolean;
58
+ title: string;
57
59
  density: GrListItemDensity;
58
60
  clickable: boolean;
59
- title: string;
60
61
  description: string;
61
62
  href: string;
62
- disabled: boolean;
63
63
  as: string | Component;
64
64
  hoverable: boolean;
65
65
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -59,9 +59,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
59
59
  }>>> & Readonly<{
60
60
  onMenu?: (() => any) | undefined;
61
61
  }>, {
62
- size: GrComponentSize;
63
- title: string;
64
62
  sticky: boolean;
63
+ title: string;
64
+ size: GrComponentSize;
65
65
  showMenuButton: boolean;
66
66
  menuButtonClass: string;
67
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -162,16 +162,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
162
162
  onFocus?: ((event: FocusEvent) => any) | undefined;
163
163
  "onUpdate:modelValue"?: ((value: number | null) => any) | undefined;
164
164
  }>, {
165
+ disabled: boolean;
166
+ readonly: boolean;
165
167
  size: GrNumberInputSize;
166
168
  clearable: boolean;
167
- readonly: boolean;
168
169
  name: string;
169
170
  invalid: boolean;
170
171
  id: string;
171
172
  max: number;
172
173
  min: number;
173
174
  textAlign: GrNumberInputTextAlign;
174
- disabled: boolean;
175
175
  ariaLabel: string;
176
176
  required: boolean;
177
177
  placeholder: string;
@@ -184,7 +184,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
184
184
  suffixFixed: boolean;
185
185
  autocomplete: string;
186
186
  step: number;
187
- inputmode: "none" | "search" | "text" | "email" | "tel" | "url" | "numeric" | "decimal";
187
+ inputmode: "search" | "text" | "none" | "email" | "tel" | "url" | "numeric" | "decimal";
188
188
  state: GrNumberInputState;
189
189
  locale: string;
190
190
  precision: number;
@@ -81,9 +81,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
81
81
  "onUpdate:page"?: ((value: number) => any) | undefined;
82
82
  "onUpdate:pageSize"?: ((value: number) => any) | undefined;
83
83
  }>, {
84
+ disabled: boolean;
84
85
  size: GrPaginationSize;
85
86
  compact: boolean;
86
- disabled: boolean;
87
87
  ariaLabel: string;
88
88
  pageSizes: number[];
89
89
  siblingCount: number;
@@ -178,15 +178,15 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
178
178
  }>>> & Readonly<{
179
179
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
180
180
  }>, {
181
+ placement: UseFloatingPlacement;
182
+ disabled: boolean;
183
+ anchor: GrFloatingAnchorRect | null;
181
184
  size: GrPopoverSize;
182
185
  padding: GrPopoverPadding;
183
- anchor: GrFloatingAnchorRect | null;
184
186
  role: GrPopoverRole;
185
187
  modal: boolean;
186
- placement: UseFloatingPlacement;
187
188
  block: boolean;
188
189
  open: boolean;
189
- disabled: boolean;
190
190
  ariaLabel: string;
191
191
  matchWidth: boolean | "min";
192
192
  labelledBy: string;
@@ -178,16 +178,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
178
178
  onConfirm?: ((value: string) => any) | undefined;
179
179
  "onUpdate:value"?: ((value: string) => any) | undefined;
180
180
  }>, {
181
- size: GrDialogSize;
182
- title: string;
183
181
  label: string;
182
+ title: string;
183
+ size: GrDialogSize;
184
184
  description: string;
185
185
  multiline: boolean;
186
186
  error: ResponseErrorInfo | null;
187
187
  required: boolean;
188
188
  placeholder: string;
189
189
  showCount: boolean;
190
- inputmode: "none" | "search" | "text" | "email" | "tel" | "url" | "numeric" | "decimal";
190
+ inputmode: "search" | "text" | "none" | "email" | "tel" | "url" | "numeric" | "decimal";
191
191
  maxlength: number;
192
192
  closeOnEsc: boolean;
193
193
  closeOnBackdrop: boolean;
@@ -80,13 +80,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
80
80
  }>>> & Readonly<{
81
81
  "onUpdate:modelValue"?: ((value: GrRadioValue) => any) | undefined;
82
82
  }>, {
83
+ disabled: boolean;
84
+ form: string;
83
85
  variant: GrRadioVariant;
84
86
  size: GrButtonSize;
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: GrRadioValue;
92
92
  required: boolean;
@@ -84,14 +84,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
84
84
  onFocus?: ((event: FocusEvent) => any) | undefined;
85
85
  "onUpdate:modelValue"?: ((value: GrRadioValue) => any) | undefined;
86
86
  }>, {
87
+ disabled: boolean;
88
+ readonly: boolean;
87
89
  variant: GrRadioGroupVariant;
88
90
  size: GrButtonSize;
89
91
  orientation: GrRadioGroupOrientation;
90
- readonly: boolean;
91
92
  name: string;
92
93
  invalid: boolean;
93
94
  options: GrRadioGroupOption[];
94
- disabled: boolean;
95
95
  ariaLabel: string;
96
96
  required: boolean;
97
97
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -133,16 +133,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
133
133
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
134
134
  onHoverChange?: ((value: number | null) => any) | undefined;
135
135
  }>, {
136
+ disabled: boolean;
137
+ readonly: boolean;
136
138
  tone: GrRatingTone;
137
139
  size: GrRatingSize;
138
140
  clearable: boolean;
139
141
  compact: boolean;
140
142
  icon: string | Component;
141
- readonly: boolean;
142
143
  name: string;
143
144
  invalid: boolean;
144
145
  max: number;
145
- disabled: boolean;
146
146
  ariaLabel: string;
147
147
  required: boolean;
148
148
  texts: string[];
@@ -0,0 +1,105 @@
1
+ import type { GrScrollSpySection } from './scrollSpyItems';
2
+ /**
3
+ * GrScrollSpy — оглавление длинной страницы, которое знает, до какого раздела
4
+ * дочитали: активный пункт подсвечивается по прокрутке, клик по пункту ведёт к
5
+ * разделу.
6
+ *
7
+ * Логика положения живёт в композабле `useScrollSpy` и доступна отдельно — этот
8
+ * компонент добавляет к ней разметку, `aria-current` и всё, что следует из того,
9
+ * что пункт является ссылкой.
10
+ */
11
+ export interface GrScrollSpyProps {
12
+ /** Разделы в порядке их следования на странице. */
13
+ sections: GrScrollSpySection[];
14
+ /**
15
+ * Отступ линии активации от верха скроллпорта. Число — пиксели, строка — как
16
+ * есть. Почти всегда равен отступу липкой шапки (`--gr-affix-offset`).
17
+ */
18
+ offset?: number | string;
19
+ /** Скроллпорт: элемент или селектор. Не задан — ищется от первого раздела. */
20
+ scroller?: HTMLElement | string | null;
21
+ ariaLabel?: string;
22
+ /** Обновлять `#hash` адреса при переходе. */
23
+ updateHash?: boolean;
24
+ /** Плавность прокрутки. Под `prefers-reduced-motion` всегда мгновенная. */
25
+ behavior?: ScrollBehavior;
26
+ /** Переносить фокус на раздел, как это делает переход по якорю. */
27
+ focusTarget?: boolean;
28
+ disabled?: boolean;
29
+ }
30
+ export interface GrScrollSpyEmits {
31
+ (e: 'activeChange', id: string | null): void;
32
+ (e: 'select', id: string, event: MouseEvent): void;
33
+ }
34
+ type __VLS_Slots = {
35
+ /** Пункт целиком. `activate` повторяет клик по нему. */
36
+ item?: (props: {
37
+ section: GrScrollSpySection;
38
+ active: boolean;
39
+ ancestor: boolean;
40
+ activate: () => void;
41
+ }) => unknown;
42
+ };
43
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrScrollSpyProps>, {
44
+ offset: undefined;
45
+ scroller: undefined;
46
+ ariaLabel: undefined;
47
+ updateHash: boolean;
48
+ behavior: undefined;
49
+ focusTarget: boolean;
50
+ disabled: boolean;
51
+ }>>, {
52
+ active: Readonly<import("vue").Ref<string | null, string | null>>;
53
+ scrollTo: (id: string, options?: {
54
+ behavior?: ScrollBehavior;
55
+ }) => void;
56
+ refresh: () => void;
57
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
58
+ activeChange: (id: string | null) => void;
59
+ select: (id: string, event: MouseEvent) => void;
60
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrScrollSpyProps>, {
61
+ offset: undefined;
62
+ scroller: undefined;
63
+ ariaLabel: undefined;
64
+ updateHash: boolean;
65
+ behavior: undefined;
66
+ focusTarget: boolean;
67
+ disabled: boolean;
68
+ }>>> & Readonly<{
69
+ onSelect?: ((id: string, event: MouseEvent) => any) | undefined;
70
+ onActiveChange?: ((id: string | null) => any) | undefined;
71
+ }>, {
72
+ offset: number | string;
73
+ disabled: boolean;
74
+ ariaLabel: string;
75
+ behavior: ScrollBehavior;
76
+ scroller: HTMLElement | string | null;
77
+ updateHash: boolean;
78
+ focusTarget: boolean;
79
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
80
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
81
+ declare const _default: typeof __VLS_export;
82
+ export default _default;
83
+ type __VLS_TypePropsToOption<T> = {
84
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
85
+ type: import('vue').PropType<Required<T>[K]>;
86
+ } : {
87
+ type: import('vue').PropType<T[K]>;
88
+ required: true;
89
+ };
90
+ };
91
+ type __VLS_WithDefaults<P, D> = {
92
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
93
+ default: D[K];
94
+ }> : P[K];
95
+ };
96
+ type __VLS_WithSlots<T, S> = T & {
97
+ new (): {
98
+ $slots: S;
99
+ };
100
+ };
101
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
102
+ [K in keyof T]: T[K];
103
+ } : {
104
+ [K in keyof T as K]: T[K];
105
+ }) & {};
@@ -0,0 +1 @@
1
+ export declare const grScrollSpyConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrScrollSpy">;
@@ -0,0 +1,26 @@
1
+ export declare const scrollSpyRootClass = "text-[length:var(--gr-control-text-sm)] leading-[var(--gr-leading-sm)] [scroll-margin-top:var(--gr-scroll-spy-offset,0px)]";
2
+ export declare const scrollSpyListClass = "flex flex-col [list-style:none]";
3
+ /**
4
+ * Пункт — ссылка, поэтому `no-underline` и своё фокус-кольцо: `focus:outline-none`
5
+ * снимает системное, `focus-visible:ring-*` возвращает кольцо пакета.
6
+ *
7
+ * `ease-*` обязателен рядом с `duration-*`: без него кривую подставит `presetMini`,
8
+ * то есть движение задавал бы пресет, а не дизайн-система.
9
+ */
10
+ export declare const scrollSpyItemBaseClass = "block truncate no-underline border-s-2 ps-2 pe-2 py-1 rounded-e-[var(--gr-radius-control)] transition-colors duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-out)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
11
+ /**
12
+ * Активный пункт отличается **тремя** признаками — цветом рельса, весом и
13
+ * цветом текста. Одного цвета мало: он не виден при монохромном зрении и не
14
+ * существует для диктора, которому состояние приходит через `aria-current`.
15
+ *
16
+ * Приглушение неактивных — токеном текста, а не `opacity`: прозрачность
17
+ * разбавляет выверенные на AA цвета и роняет контраст.
18
+ */
19
+ export declare const scrollSpyItemIdleClass = "border-s-[var(--gr-scroll-spy-rail,var(--gr-brd))] text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)]";
20
+ /**
21
+ * Предок активного пункта. Без него оглавление с двумя уровнями читается как
22
+ * сломанное: активен подраздел, а его раздел выглядит выключенным.
23
+ */
24
+ export declare const scrollSpyItemAncestorClass = "border-s-[var(--gr-scroll-spy-rail,var(--gr-brd))] text-[var(--gr-fg)]";
25
+ export declare const scrollSpyItemActiveClass = "border-s-[var(--gr-scroll-spy-marker,var(--gr-primary))] font-600 text-[var(--gr-primary-text)]";
26
+ export declare function grScrollSpyItemClass(state: 'active' | 'ancestor' | 'idle'): string;
@@ -0,0 +1,9 @@
1
+ import type { ComponentExposed } from '../shared/instance';
2
+ import type GrScrollSpyComponent from './GrScrollSpy.vue';
3
+ export { default } from './GrScrollSpy.vue';
4
+ export { default as GrScrollSpy } from './GrScrollSpy.vue';
5
+ export type { GrScrollSpyEmits, GrScrollSpyProps } from './GrScrollSpy.vue';
6
+ export type { GrScrollSpySection } from './scrollSpyItems';
7
+ export { grScrollSpyConfig } from './config';
8
+ export { grScrollSpySafelist } from './safelist';
9
+ export type GrScrollSpyInstance = ComponentExposed<typeof GrScrollSpyComponent>;
@@ -0,0 +1 @@
1
+ export declare const grScrollSpySafelist: string[];
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Арифметика пунктов оглавления: всё, что следует из того, что пункт —
3
+ * **ссылка**, а не из положения прокрутки. Положение живёт в
4
+ * `composables/internal/scrollSpyGeometry.ts`.
5
+ */
6
+ /** Раздел в оглавлении. */
7
+ export interface GrScrollSpySection {
8
+ id: string;
9
+ label: string;
10
+ /** Уровень вложенности, 1 — верхний. Влияет на отступ и цепочку предков. */
11
+ level?: number;
12
+ }
13
+ /**
14
+ * Значение пропа `offset` в CSS-длину для инлайновой переменной.
15
+ *
16
+ * Строка уходит как есть и намеренно не валидируется: `4rem`,
17
+ * `var(--gr-navbar-height)`, `calc(…)` обязаны работать — иначе проп проигрывает
18
+ * голому `style`. Отрицательное зажимается в ноль: линия активации выше верха
19
+ * скроллпорта смысла не имеет.
20
+ */
21
+ export declare function scrollSpyOffsetLength(value: number | string | undefined): string | undefined;
22
+ /**
23
+ * Наш ли это клик.
24
+ *
25
+ * Пункт остаётся `<a href="#id">` ровно ради того, что браузер умеет с ссылкой
26
+ * сам: `Cmd`-клик открывает в новой вкладке, средняя кнопка — тоже. Перехватив
27
+ * их, компонент отнял бы у пользователя работающее поведение и ничего не дал
28
+ * взамен.
29
+ */
30
+ export declare function anchorClickHandled(event: {
31
+ button: number;
32
+ metaKey: boolean;
33
+ ctrlKey: boolean;
34
+ shiftKey: boolean;
35
+ altKey: boolean;
36
+ defaultPrevented: boolean;
37
+ }): boolean;
38
+ /**
39
+ * Предки активного пункта — те разделы выше по списку, чей уровень мельче.
40
+ *
41
+ * Считается по документному порядку массива, а не по дереву: дерево позволило
42
+ * бы объявить вложенность, противоречащую порядку разделов на странице.
43
+ */
44
+ export declare function ancestorSectionIds(sections: readonly GrScrollSpySection[], activeId: string | null): Set<string>;
@@ -82,14 +82,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
82
82
  onFocus?: ((event: FocusEvent) => any) | undefined;
83
83
  "onUpdate:modelValue"?: ((value: GrSegmentedValue) => any) | undefined;
84
84
  }>, {
85
+ disabled: boolean;
86
+ readonly: boolean;
85
87
  variant: GrSegmentedVariant;
86
88
  size: GrSegmentedSize;
87
89
  orientation: GrSegmentedOrientation;
88
- readonly: boolean;
89
90
  name: string;
90
91
  invalid: boolean;
91
92
  block: boolean;
92
- disabled: boolean;
93
93
  ariaLabel: string;
94
94
  required: boolean;
95
95
  indicatorDuration: number;
@@ -35,10 +35,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
35
35
  disabled: boolean;
36
36
  badge: undefined;
37
37
  }>>> & Readonly<{}>, {
38
+ disabled: boolean;
38
39
  icon: string | Component;
39
40
  href: string;
40
41
  active: boolean;
41
- disabled: boolean;
42
42
  as: string | Component;
43
43
  badge: string | number;
44
44
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -33,9 +33,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
33
33
  count: number;
34
34
  }>>> & Readonly<{}>, {
35
35
  variant: GrSkeletonVariant;
36
+ count: number;
36
37
  height: string;
37
38
  width: string;
38
- count: number;
39
39
  rounded: string;
40
40
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
41
41
  declare const _default: typeof __VLS_export;
@@ -99,22 +99,22 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
99
99
  onFocus?: ((event: FocusEvent) => any) | undefined;
100
100
  "onUpdate:modelValue"?: ((value: GrSliderModelValue) => any) | undefined;
101
101
  }>, {
102
+ disabled: boolean;
103
+ readonly: boolean;
102
104
  size: GrSliderSize;
103
105
  orientation: GrSliderOrientation;
104
- readonly: boolean;
105
106
  name: string;
106
107
  invalid: boolean;
107
108
  max: number;
108
109
  min: number;
109
110
  range: boolean;
110
- disabled: boolean;
111
111
  ariaLabel: string;
112
112
  required: boolean;
113
113
  step: number;
114
+ lazy: boolean;
114
115
  marks: GrSliderMarks;
115
116
  showTooltip: boolean | "always" | "hover";
116
117
  formatTooltip: (value: number) => string;
117
- lazy: boolean;
118
118
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
119
119
  declare const _default: typeof __VLS_export;
120
120
  export default _default;
@@ -80,11 +80,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
80
80
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
81
81
  "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
82
82
  }>, {
83
+ disabled: boolean;
83
84
  orientation: GrSplitterOrientation;
84
85
  collapsible: boolean;
85
86
  max: number;
86
87
  min: number;
87
- disabled: boolean;
88
88
  ariaLabel: string;
89
89
  modelValue: number;
90
90
  step: number;
@@ -130,14 +130,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
130
130
  }>>> & Readonly<{
131
131
  onClick?: ((event: MouseEvent) => any) | undefined;
132
132
  }>, {
133
+ title: string;
134
+ animate: boolean;
133
135
  tone: GrStatisticTone;
134
136
  size: GrStatisticSize;
135
137
  polarity: GrDeltaPolarity;
136
138
  loading: boolean;
137
139
  clickable: boolean;
138
- title: string;
139
140
  icon: string | Component;
140
- animate: boolean;
141
141
  href: string;
142
142
  prefix: string;
143
143
  suffix: string;
@@ -94,15 +94,15 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
94
94
  onFocus?: ((event: FocusEvent) => any) | undefined;
95
95
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
96
96
  }>, {
97
+ disabled: boolean;
98
+ readonly: boolean;
99
+ form: string;
97
100
  size: GrSwitchSize;
98
101
  labelPosition: GrSwitchLabelPosition;
99
102
  loading: boolean;
100
103
  value: string;
101
- readonly: boolean;
102
- form: string;
103
104
  name: string;
104
105
  invalid: boolean;
105
- disabled: boolean;
106
106
  ariaLabel: string;
107
107
  modelValue: boolean;
108
108
  required: boolean;
@@ -131,10 +131,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
131
131
  fixedLayout: boolean;
132
132
  tableMinWidth: undefined;
133
133
  }>>> & Readonly<{}>, {
134
+ caption: string;
134
135
  size: GrTableSize;
135
136
  emptyText: string;
136
137
  loading: boolean;
137
- caption: string;
138
138
  columnCount: number;
139
139
  maxHeight: string | number;
140
140
  ariaLabel: string;
@@ -88,10 +88,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
88
88
  variant: GrTabsVariant;
89
89
  closable: boolean;
90
90
  size: GrTabsSize;
91
+ activationMode: GrTabsActivationMode;
91
92
  emptyText: string;
92
93
  orientation: GrTabsOrientation;
93
94
  idBase: string;
94
- activationMode: GrTabsActivationMode;
95
95
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
96
96
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
97
97
  declare const _default: typeof __VLS_export;