@feugene/granularity 0.19.0 → 0.21.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 (1152) hide show
  1. package/README.md +8 -0
  2. package/dist/chunks/config-8Pcutu1j.js.map +1 -0
  3. package/dist/chunks/config-B4w5gBD0.js +89 -0
  4. package/dist/chunks/config-B4w5gBD0.js.map +1 -0
  5. package/dist/chunks/config-BC8d_smz.js +156 -0
  6. package/dist/chunks/config-BC8d_smz.js.map +1 -0
  7. package/dist/chunks/config-BDfTXHo1.js.map +1 -0
  8. package/dist/chunks/config-BE6n20np.js.map +1 -0
  9. package/dist/chunks/config-BEVBsvni2.js +197 -0
  10. package/dist/chunks/config-BEVBsvni2.js.map +1 -0
  11. package/dist/chunks/config-BKvX0q10.js.map +1 -0
  12. package/dist/chunks/config-BTCOJO5z.js +37 -0
  13. package/dist/chunks/config-BTCOJO5z.js.map +1 -0
  14. package/dist/chunks/config-B_qi4Fma2.js +92 -0
  15. package/dist/chunks/config-B_qi4Fma2.js.map +1 -0
  16. package/dist/chunks/config-Baj7Wvx-2.js.map +1 -0
  17. package/dist/chunks/config-BfsBepkH2.js +83 -0
  18. package/dist/chunks/config-BfsBepkH2.js.map +1 -0
  19. package/dist/chunks/config-Bm_Sovla.js +59 -0
  20. package/dist/chunks/config-Bm_Sovla.js.map +1 -0
  21. package/dist/chunks/config-Bsh948nP.js +85 -0
  22. package/dist/chunks/config-Bsh948nP.js.map +1 -0
  23. package/dist/chunks/config-CDat1wXf.js.map +1 -0
  24. package/dist/chunks/config-CY0_6cMi.js.map +1 -0
  25. package/dist/chunks/config-D94Z9po5.js.map +1 -0
  26. package/dist/chunks/config-DAX8Deh12.js.map +1 -0
  27. package/dist/chunks/config-DBQQT-WP.js +66 -0
  28. package/dist/chunks/config-DBQQT-WP.js.map +1 -0
  29. package/dist/chunks/config-DU2DNSRx.js.map +1 -0
  30. package/dist/chunks/config-DWN4x6_e.js +159 -0
  31. package/dist/chunks/config-DWN4x6_e.js.map +1 -0
  32. package/dist/chunks/config-Dgj1Q6JY.js +26 -0
  33. package/dist/chunks/config-Dgj1Q6JY.js.map +1 -0
  34. package/dist/chunks/config-Dguto_6o.js +108 -0
  35. package/dist/chunks/config-Dguto_6o.js.map +1 -0
  36. package/dist/chunks/config-QJ54_fcM.js +61 -0
  37. package/dist/chunks/config-QJ54_fcM.js.map +1 -0
  38. package/dist/chunks/config-QaIc_gRa2.js.map +1 -0
  39. package/dist/chunks/config-ScuvHw6k.js.map +1 -0
  40. package/dist/chunks/config-WTNhdh6T.js.map +1 -0
  41. package/dist/chunks/config-eXB87DOi2.js.map +1 -0
  42. package/dist/chunks/config-jyZq8XKL.js +58 -0
  43. package/dist/chunks/config-jyZq8XKL.js.map +1 -0
  44. package/dist/chunks/config-vSji8w90.js +85 -0
  45. package/dist/chunks/config-vSji8w90.js.map +1 -0
  46. package/dist/chunks/context-CTbuwcYs.js +133 -0
  47. package/dist/chunks/context-CTbuwcYs.js.map +1 -0
  48. package/dist/chunks/en-CwAr3C_x.js +358 -0
  49. package/dist/chunks/en-CwAr3C_x.js.map +1 -0
  50. package/dist/chunks/es-Do1q9_SF.js +20 -0
  51. package/dist/chunks/es-Do1q9_SF.js.map +1 -0
  52. package/dist/chunks/es-TR4g2I4A.js +360 -0
  53. package/dist/chunks/es-TR4g2I4A.js.map +1 -0
  54. package/dist/chunks/generated-Do60Aq2I.js +3368 -0
  55. package/dist/chunks/generated-Do60Aq2I.js.map +1 -0
  56. package/dist/chunks/grRadioStyles-BTjGNhtU.js +96 -0
  57. package/dist/chunks/grRadioStyles-BTjGNhtU.js.map +1 -0
  58. package/dist/chunks/granular-provider-BW2uopTG.js +203 -0
  59. package/dist/chunks/granular-provider-BW2uopTG.js.map +1 -0
  60. package/dist/chunks/ru-Bm-zWJ3F.js +362 -0
  61. package/dist/chunks/ru-Bm-zWJ3F.js.map +1 -0
  62. package/dist/chunks/trending-up-Bf9AQmoq.js +42 -0
  63. package/dist/chunks/trending-up-Bf9AQmoq.js.map +1 -0
  64. package/dist/chunks/useModalOverlay-Cv5hF63W.js +212 -0
  65. package/dist/chunks/useModalOverlay-Cv5hF63W.js.map +1 -0
  66. package/dist/chunks/usePortalTarget-C0p-mhaM.js +77 -0
  67. package/dist/chunks/usePortalTarget-C0p-mhaM.js.map +1 -0
  68. package/dist/chunks/validation-DauXRIkL.js +178 -0
  69. package/dist/chunks/validation-DauXRIkL.js.map +1 -0
  70. package/dist/components/GrAlert/chunks/GrAlert-B21QGele.js +258 -0
  71. package/dist/components/GrAlert/chunks/GrAlert-B21QGele.js.map +1 -0
  72. package/dist/components/GrAlert/index.js +2 -2
  73. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-DsevPtiS.js +860 -0
  74. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-DsevPtiS.js.map +1 -0
  75. package/dist/components/GrAutocomplete/index.js +1 -1
  76. package/dist/components/GrAvatar/chunks/GrAvatar-BbdKRX8i.js +222 -0
  77. package/dist/components/GrAvatar/chunks/GrAvatar-BbdKRX8i.js.map +1 -0
  78. package/dist/components/GrAvatar/index.js +3 -3
  79. package/dist/components/GrBadge/chunks/GrBadge-u2ZdS7CN.js +40 -0
  80. package/dist/components/GrBadge/chunks/GrBadge-u2ZdS7CN.js.map +1 -0
  81. package/dist/components/GrBadge/index.js +1 -1
  82. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DDoFQscR.js +97 -0
  83. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DDoFQscR.js.map +1 -0
  84. package/dist/components/GrBadgeWrap/index.js +3 -3
  85. package/dist/components/GrBottomNav/chunks/GrBottomNav-JUu4ylYv.js +117 -0
  86. package/dist/components/GrBottomNav/chunks/GrBottomNav-JUu4ylYv.js.map +1 -0
  87. package/dist/components/GrBottomNav/index.js +3 -3
  88. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-CQ44iU2o.js +267 -0
  89. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-CQ44iU2o.js.map +1 -0
  90. package/dist/components/GrBreadcrumbs/index.js +1 -1
  91. package/dist/components/GrButton/chunks/GrButton-Bw2AH4uX.js +153 -0
  92. package/dist/components/GrButton/chunks/GrButton-Bw2AH4uX.js.map +1 -0
  93. package/dist/components/GrButton/index.js +2 -3
  94. package/dist/components/GrCard/chunks/GrCard-Bc7nRfbe.js +144 -0
  95. package/dist/components/GrCard/chunks/GrCard-Bc7nRfbe.js.map +1 -0
  96. package/dist/components/GrCard/index.js +2 -2
  97. package/dist/components/GrCheckbox/chunks/GrCheckbox-CEcHIsXM.js +262 -0
  98. package/dist/components/GrCheckbox/chunks/GrCheckbox-CEcHIsXM.js.map +1 -0
  99. package/dist/components/GrCheckbox/index.js +2 -2
  100. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-BOwrVcFr.js +140 -0
  101. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-BOwrVcFr.js.map +1 -0
  102. package/dist/components/GrCheckboxGroup/index.js +1 -1
  103. package/dist/components/GrCodeBlock/chunks/GrCodeBlock-CW3zY1ee.js +341 -0
  104. package/dist/components/GrCodeBlock/chunks/GrCodeBlock-CW3zY1ee.js.map +1 -0
  105. package/dist/components/GrCodeBlock/index.js +3 -0
  106. package/dist/components/GrCodeBlock/styles.css +1 -0
  107. package/dist/components/GrCollapse/chunks/GrCollapse-C1rCfbc0.js +294 -0
  108. package/dist/components/GrCollapse/chunks/GrCollapse-C1rCfbc0.js.map +1 -0
  109. package/dist/components/GrCollapse/index.js +3 -3
  110. package/dist/components/GrColorPicker/chunks/GrColorPicker-qQdoEPHF.js +584 -0
  111. package/dist/components/GrColorPicker/chunks/GrColorPicker-qQdoEPHF.js.map +1 -0
  112. package/dist/components/GrColorPicker/index.js +2 -2
  113. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BFcMf4Pn.js +591 -0
  114. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BFcMf4Pn.js.map +1 -0
  115. package/dist/components/GrCommandPalette/index.js +2 -2
  116. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-UP-EaoAf.js +144 -0
  117. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-UP-EaoAf.js.map +1 -0
  118. package/dist/components/GrConfigProvider/index.js +3 -3
  119. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-rRtMScJX.js +200 -0
  120. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-rRtMScJX.js.map +1 -0
  121. package/dist/components/GrConfirmDialog/index.js +1 -1
  122. package/dist/components/GrDataTable/chunks/GrDataTable-B5MmZFUg.js +1117 -0
  123. package/dist/components/GrDataTable/chunks/GrDataTable-B5MmZFUg.js.map +1 -0
  124. package/dist/components/GrDataTable/index.js +3 -3
  125. package/dist/components/GrDelta/chunks/GrDelta-BMmpYz8K.js +0 -0
  126. package/dist/components/GrDelta/chunks/GrDelta-BMmpYz8K.js.map +1 -0
  127. package/dist/components/GrDelta/index.js +3 -0
  128. package/dist/components/GrDescriptionList/chunks/GrDescriptionList-pXh1LZEe.js +103 -0
  129. package/dist/components/GrDescriptionList/chunks/GrDescriptionList-pXh1LZEe.js.map +1 -0
  130. package/dist/components/GrDescriptionList/index.js +3 -0
  131. package/dist/components/GrDialog/chunks/GrDialog-D0U5iRqV.js +255 -0
  132. package/dist/components/GrDialog/chunks/GrDialog-D0U5iRqV.js.map +1 -0
  133. package/dist/components/GrDialog/index.js +2 -3
  134. package/dist/components/GrDialogService/chunks/GrDialogService-CrwA4aJq.js +656 -0
  135. package/dist/components/GrDialogService/chunks/GrDialogService-CrwA4aJq.js.map +1 -0
  136. package/dist/components/GrDialogService/index.js +2 -2
  137. package/dist/components/GrDivider/chunks/GrDivider-CAhm9jbE.js +109 -0
  138. package/dist/components/GrDivider/chunks/GrDivider-CAhm9jbE.js.map +1 -0
  139. package/dist/components/GrDivider/index.js +2 -2
  140. package/dist/components/GrDrawer/chunks/GrDrawer-C3zAg2tG.js +251 -0
  141. package/dist/components/GrDrawer/chunks/GrDrawer-C3zAg2tG.js.map +1 -0
  142. package/dist/components/GrDrawer/index.js +2 -2
  143. package/dist/components/GrDropdown/chunks/GrDropdown-BSfFOcDx.js +300 -0
  144. package/dist/components/GrDropdown/chunks/GrDropdown-BSfFOcDx.js.map +1 -0
  145. package/dist/components/GrDropdown/index.js +1 -1
  146. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-LOaFSCyd.js +421 -0
  147. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-LOaFSCyd.js.map +1 -0
  148. package/dist/components/GrDropdownMenu/index.js +3 -3
  149. package/dist/components/GrEmptyState/chunks/GrEmptyState-CS9do8eM.js +86 -0
  150. package/dist/components/GrEmptyState/chunks/GrEmptyState-CS9do8eM.js.map +1 -0
  151. package/dist/components/GrEmptyState/index.js +3 -3
  152. package/dist/components/GrFilePreview/chunks/GrFilePreview-rbE3zL9w.js +315 -0
  153. package/dist/components/GrFilePreview/chunks/GrFilePreview-rbE3zL9w.js.map +1 -0
  154. package/dist/components/GrFilePreview/index.js +3 -0
  155. package/dist/components/GrFileUpload/chunks/GrFileUpload-D3-vC-ap.js +1080 -0
  156. package/dist/components/GrFileUpload/chunks/GrFileUpload-D3-vC-ap.js.map +1 -0
  157. package/dist/components/GrFileUpload/index.js +3 -3
  158. package/dist/components/GrForm/chunks/GrForm-B_Qq_13k.js +333 -0
  159. package/dist/components/GrForm/chunks/GrForm-B_Qq_13k.js.map +1 -0
  160. package/dist/components/GrForm/index.js +4 -4
  161. package/dist/components/GrFormField/chunks/GrFormField-kqfVY30N.js +190 -0
  162. package/dist/components/GrFormField/chunks/GrFormField-kqfVY30N.js.map +1 -0
  163. package/dist/components/GrFormField/index.js +3 -3
  164. package/dist/components/GrFormFile/chunks/GrFormFile-D722xHn8.js +452 -0
  165. package/dist/components/GrFormFile/chunks/GrFormFile-D722xHn8.js.map +1 -0
  166. package/dist/components/GrFormFile/index.js +1 -1
  167. package/dist/components/GrFormSection/chunks/GrFormSection-CdGWvzXO.js +63 -0
  168. package/dist/components/GrFormSection/chunks/GrFormSection-CdGWvzXO.js.map +1 -0
  169. package/dist/components/GrFormSection/index.js +3 -3
  170. package/dist/components/GrIcon/chunks/GrIcon-bQwtZtYT.js +57 -0
  171. package/dist/components/GrIcon/chunks/GrIcon-bQwtZtYT.js.map +1 -0
  172. package/dist/components/GrIcon/index.js +1 -1
  173. package/dist/components/GrImageViewer/chunks/GrImageViewer-ng7el4wn.js +1128 -0
  174. package/dist/components/GrImageViewer/chunks/GrImageViewer-ng7el4wn.js.map +1 -0
  175. package/dist/components/GrImageViewer/index.js +1 -1
  176. package/dist/components/GrInput/chunks/GrInput-Bb_pxqpT.js +348 -0
  177. package/dist/components/GrInput/chunks/GrInput-Bb_pxqpT.js.map +1 -0
  178. package/dist/components/GrInput/index.js +1 -1
  179. package/dist/components/GrInputTag/chunks/GrInputTag-C7QVPijj.js +512 -0
  180. package/dist/components/GrInputTag/chunks/GrInputTag-C7QVPijj.js.map +1 -0
  181. package/dist/components/GrInputTag/index.js +1 -1
  182. package/dist/components/GrKbd/chunks/GrKbd-BXbhsH0M.js +358 -0
  183. package/dist/components/GrKbd/chunks/GrKbd-BXbhsH0M.js.map +1 -0
  184. package/dist/components/GrKbd/index.js +1 -1
  185. package/dist/components/GrLink/chunks/GrLink-BQb7U4so.js +163 -0
  186. package/dist/components/GrLink/chunks/GrLink-BQb7U4so.js.map +1 -0
  187. package/dist/components/GrLink/index.js +1 -1
  188. package/dist/components/GrList/chunks/GrList-BUzFRa8-.js +277 -0
  189. package/dist/components/GrList/chunks/GrList-BUzFRa8-.js.map +1 -0
  190. package/dist/components/GrList/index.js +1 -1
  191. package/dist/components/GrLoading/chunks/GrLoading-C3DZSSuh.js +101 -0
  192. package/dist/components/GrLoading/chunks/GrLoading-C3DZSSuh.js.map +1 -0
  193. package/dist/components/GrLoading/index.js +1 -1
  194. package/dist/components/GrModal/chunks/GrModal-CPz7SWD_.js +313 -0
  195. package/dist/components/GrModal/chunks/GrModal-CPz7SWD_.js.map +1 -0
  196. package/dist/components/GrModal/index.js +1 -1
  197. package/dist/components/GrNavbar/chunks/GrNavbar-DWaaoV7n.js +104 -0
  198. package/dist/components/GrNavbar/chunks/GrNavbar-DWaaoV7n.js.map +1 -0
  199. package/dist/components/GrNavbar/index.js +1 -1
  200. package/dist/components/GrNumberInput/chunks/GrNumberInput-BotnzW77.js +659 -0
  201. package/dist/components/GrNumberInput/chunks/GrNumberInput-BotnzW77.js.map +1 -0
  202. package/dist/components/GrNumberInput/index.js +1 -1
  203. package/dist/components/GrPagination/chunks/GrPagination-GtGtSMJG.js +283 -0
  204. package/dist/components/GrPagination/chunks/GrPagination-GtGtSMJG.js.map +1 -0
  205. package/dist/components/GrPagination/index.js +1 -1
  206. package/dist/components/GrPopover/chunks/GrPopover-b70bIlQ9.js +216 -0
  207. package/dist/components/GrPopover/chunks/GrPopover-b70bIlQ9.js.map +1 -0
  208. package/dist/components/GrPopover/index.js +1 -1
  209. package/dist/components/GrProgressBar/chunks/GrProgressBar-hszUOC8f.js +90 -0
  210. package/dist/components/GrProgressBar/chunks/GrProgressBar-hszUOC8f.js.map +1 -0
  211. package/dist/components/GrProgressBar/index.js +1 -1
  212. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-BeUx1g1f.js +202 -0
  213. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-BeUx1g1f.js.map +1 -0
  214. package/dist/components/GrProgressCircle/index.js +2 -2
  215. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-CEI8bf-t.js +348 -0
  216. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-CEI8bf-t.js.map +1 -0
  217. package/dist/components/GrPromptDialog/index.js +1 -1
  218. package/dist/components/GrRadio/chunks/GrRadio-BdhknbO8.js +253 -0
  219. package/dist/components/GrRadio/chunks/GrRadio-BdhknbO8.js.map +1 -0
  220. package/dist/components/GrRadio/index.js +3 -3
  221. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BVmjKXcv.js +196 -0
  222. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BVmjKXcv.js.map +1 -0
  223. package/dist/components/GrRadioGroup/index.js +2 -2
  224. package/dist/components/GrRating/chunks/GrRating-BiAVT9H7.js +316 -0
  225. package/dist/components/GrRating/chunks/GrRating-BiAVT9H7.js.map +1 -0
  226. package/dist/components/GrRating/index.js +2 -2
  227. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-CZONq8uT.js +777 -0
  228. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-CZONq8uT.js.map +1 -0
  229. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-CgfAwlg3.js +224 -0
  230. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-CgfAwlg3.js.map +1 -0
  231. package/dist/components/GrResponseErrorBanner/index.js +3 -3
  232. package/dist/components/GrSegmented/chunks/GrSegmented-D1mjxF_O.js +388 -0
  233. package/dist/components/GrSegmented/chunks/GrSegmented-D1mjxF_O.js.map +1 -0
  234. package/dist/components/GrSegmented/index.js +3 -3
  235. package/dist/components/GrSelect/chunks/GrSelect-CaGuyvtb.js +1384 -0
  236. package/dist/components/GrSelect/chunks/GrSelect-CaGuyvtb.js.map +1 -0
  237. package/dist/components/GrSelect/index.js +1 -1
  238. package/dist/components/GrSelect/styles.css +1 -1
  239. package/dist/components/GrSidebar/chunks/GrSidebar-D7WxRtIu.js +264 -0
  240. package/dist/components/GrSidebar/chunks/GrSidebar-D7WxRtIu.js.map +1 -0
  241. package/dist/components/GrSidebar/index.js +3 -3
  242. package/dist/components/GrSkeleton/chunks/GrSkeleton-CgfXxPQ2.js +78 -0
  243. package/dist/components/GrSkeleton/chunks/GrSkeleton-CgfXxPQ2.js.map +1 -0
  244. package/dist/components/GrSkeleton/index.js +3 -3
  245. package/dist/components/GrSlider/chunks/GrSlider-s99yAyz6.js +379 -0
  246. package/dist/components/GrSlider/chunks/GrSlider-s99yAyz6.js.map +1 -0
  247. package/dist/components/GrSlider/index.js +1 -1
  248. package/dist/components/GrSortableList/chunks/GrSortableList-DPjxilmN.js +277 -0
  249. package/dist/components/GrSortableList/chunks/GrSortableList-DPjxilmN.js.map +1 -0
  250. package/dist/components/GrSortableList/index.js +2 -2
  251. package/dist/components/GrSplitter/chunks/GrSplitter-B9_JrT7q.js +259 -0
  252. package/dist/components/GrSplitter/chunks/GrSplitter-B9_JrT7q.js.map +1 -0
  253. package/dist/components/GrSplitter/index.js +3 -3
  254. package/dist/components/GrStatistic/chunks/GrStatistic-DkzWUAw1.js +333 -0
  255. package/dist/components/GrStatistic/chunks/GrStatistic-DkzWUAw1.js.map +1 -0
  256. package/dist/components/GrStatistic/index.js +1 -1
  257. package/dist/components/GrSwitch/chunks/GrSwitch-x_vQQ6ao.js +183 -0
  258. package/dist/components/GrSwitch/chunks/GrSwitch-x_vQQ6ao.js.map +1 -0
  259. package/dist/components/GrSwitch/index.js +1 -1
  260. package/dist/components/GrTabPanels/chunks/GrTabPanels-AJt1w1XC.js +81 -0
  261. package/dist/components/GrTabPanels/chunks/GrTabPanels-AJt1w1XC.js.map +1 -0
  262. package/dist/components/GrTabPanels/index.js +3 -3
  263. package/dist/components/GrTable/chunks/GrTable-f3qCWa99.js +169 -0
  264. package/dist/components/GrTable/chunks/GrTable-f3qCWa99.js.map +1 -0
  265. package/dist/components/GrTable/index.js +2 -2
  266. package/dist/components/GrTabs/chunks/GrTabs-CBHZkOFY.js +262 -0
  267. package/dist/components/GrTabs/chunks/GrTabs-CBHZkOFY.js.map +1 -0
  268. package/dist/components/GrTabs/index.js +3 -3
  269. package/dist/components/GrTextarea/chunks/GrTextarea-CNnkcIG1.js +241 -0
  270. package/dist/components/GrTextarea/chunks/GrTextarea-CNnkcIG1.js.map +1 -0
  271. package/dist/components/GrTextarea/index.js +2 -2
  272. package/dist/components/GrTimeline/chunks/GrTimeline-Ch9sHzwL.js +274 -0
  273. package/dist/components/GrTimeline/chunks/GrTimeline-Ch9sHzwL.js.map +1 -0
  274. package/dist/components/GrTimeline/index.js +2 -2
  275. package/dist/components/GrTimeline/styles.css +1 -1
  276. package/dist/components/GrToaster/chunks/GrToaster-DJUzx3sR.js +373 -0
  277. package/dist/components/GrToaster/chunks/GrToaster-DJUzx3sR.js.map +1 -0
  278. package/dist/components/GrToaster/index.js +2 -2
  279. package/dist/components/GrTooltip/chunks/GrTooltip-B6AwE_UX.js +185 -0
  280. package/dist/components/GrTooltip/chunks/GrTooltip-B6AwE_UX.js.map +1 -0
  281. package/dist/components/GrTooltip/index.js +1 -1
  282. package/dist/components/GrTree/chunks/GrTree-BvOeQ3xJ.js +1376 -0
  283. package/dist/components/GrTree/chunks/GrTree-BvOeQ3xJ.js.map +1 -0
  284. package/dist/components/GrTree/index.js +2 -2
  285. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-_LjTRR7X.js +633 -0
  286. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-_LjTRR7X.js.map +1 -0
  287. package/dist/components/GrTreeSelect/index.js +1 -1
  288. package/dist/composables/useGrComponentConfig.js +1 -1
  289. package/dist/composables/usePortalTarget.js +1 -1
  290. package/dist/composables/useToast.js +14 -2
  291. package/dist/composables/useToast.js.map +1 -1
  292. package/dist/directives/loading.js +1 -1
  293. package/dist/granular-provider-node.js +1 -1
  294. package/dist/granular-provider.js +1 -1
  295. package/dist/i18n/all.js +1 -1
  296. package/dist/i18n/index.js +1 -1
  297. package/dist/index.js +110 -103
  298. package/dist/testing.js +33 -2
  299. package/dist/testing.js.map +1 -1
  300. package/dist/theme.js +1 -1
  301. package/dist/tokens.js +1 -1
  302. package/dist/types/components/GrAlert/index.d.ts +7 -0
  303. package/dist/types/components/GrAvatar/index.d.ts +9 -0
  304. package/dist/types/components/GrBadgeWrap/index.d.ts +7 -0
  305. package/dist/types/components/GrBottomNav/index.d.ts +8 -0
  306. package/dist/types/components/GrButton/GrButton.vue.d.ts +117 -0
  307. package/dist/types/components/GrButton/index.d.ts +10 -0
  308. package/dist/types/components/GrCard/GrCard.vue.d.ts +109 -0
  309. package/dist/types/components/GrCard/defaults.d.ts +16 -0
  310. package/dist/types/components/GrCard/grCardStyles.d.ts +32 -0
  311. package/dist/types/components/GrCard/index.d.ts +8 -0
  312. package/dist/types/components/GrCheckbox/index.d.ts +12 -0
  313. package/dist/types/components/GrCodeBlock/GrCodeBlock.vue.d.ts +79 -0
  314. package/dist/types/components/GrCodeBlock/config.d.ts +1 -0
  315. package/dist/types/components/GrCodeBlock/defaults.d.ts +21 -0
  316. package/dist/types/components/GrCodeBlock/grCodeBlockStyles.d.ts +53 -0
  317. package/dist/types/components/GrCodeBlock/index.d.ts +6 -0
  318. package/dist/types/components/GrCodeBlock/safelist.d.ts +1 -0
  319. package/dist/types/components/GrCodeBlock/serializeCode.d.ts +19 -0
  320. package/dist/types/components/GrCodeBlock/tokenizeJson.d.ts +24 -0
  321. package/dist/types/components/GrCollapse/GrCollapse.vue.d.ts +115 -0
  322. package/dist/types/components/GrCollapse/index.d.ts +8 -0
  323. package/dist/types/components/GrColorPicker/index.d.ts +11 -0
  324. package/dist/types/components/GrCommandPalette/GrCommandPalette.vue.d.ts +163 -0
  325. package/dist/types/components/GrCommandPalette/index.d.ts +9 -0
  326. package/dist/types/components/GrConfigProvider/index.d.ts +6 -0
  327. package/dist/types/components/GrDataTable/GrDataTable.vue.d.ts +250 -0
  328. package/dist/types/components/GrDataTable/grDataTableStyles.d.ts +74 -0
  329. package/dist/types/components/GrDataTable/index.d.ts +12 -0
  330. package/dist/types/components/GrDelta/GrDelta.vue.d.ts +84 -0
  331. package/dist/types/components/GrDelta/config.d.ts +1 -0
  332. package/dist/types/components/GrDelta/defaults.d.ts +22 -0
  333. package/dist/types/components/GrDelta/deltaTone.d.ts +24 -0
  334. package/dist/types/components/GrDelta/grDeltaStyles.d.ts +38 -0
  335. package/dist/types/components/GrDelta/index.d.ts +6 -0
  336. package/dist/types/components/GrDelta/safelist.d.ts +1 -0
  337. package/dist/types/components/GrDescriptionList/GrDescriptionList.vue.d.ts +107 -0
  338. package/dist/types/components/GrDescriptionList/config.d.ts +1 -0
  339. package/dist/types/components/GrDescriptionList/defaults.d.ts +21 -0
  340. package/dist/types/components/GrDescriptionList/grDescriptionListStyles.d.ts +25 -0
  341. package/dist/types/components/GrDescriptionList/index.d.ts +6 -0
  342. package/dist/types/components/GrDescriptionList/safelist.d.ts +1 -0
  343. package/dist/types/components/GrDialog/index.d.ts +12 -0
  344. package/dist/types/components/GrDialogService/index.d.ts +6 -0
  345. package/dist/types/components/GrDropdownMenu/index.d.ts +21 -0
  346. package/dist/types/components/GrEmptyState/index.d.ts +7 -0
  347. package/dist/types/components/GrFilePreview/GrFilePreview.vue.d.ts +100 -0
  348. package/dist/types/components/GrFilePreview/config.d.ts +1 -0
  349. package/dist/types/components/GrFilePreview/defaults.d.ts +20 -0
  350. package/dist/types/components/GrFilePreview/fileKindOf.d.ts +14 -0
  351. package/dist/types/components/GrFilePreview/grFilePreviewStyles.d.ts +37 -0
  352. package/dist/types/components/GrFilePreview/index.d.ts +6 -0
  353. package/dist/types/components/GrFilePreview/safelist.d.ts +1 -0
  354. package/dist/types/components/GrFileUpload/index.d.ts +17 -0
  355. package/dist/types/components/GrForm/GrForm.vue.d.ts +90 -0
  356. package/dist/types/components/GrForm/index.d.ts +10 -0
  357. package/dist/types/components/GrFormField/GrFormField.vue.d.ts +122 -0
  358. package/dist/types/components/GrFormField/index.d.ts +8 -0
  359. package/dist/types/components/GrFormSection/index.d.ts +7 -0
  360. package/dist/types/components/GrImageViewer/GrImageViewer.vue.d.ts +271 -0
  361. package/dist/types/components/GrInput/GrInput.vue.d.ts +207 -0
  362. package/dist/types/components/GrInputTag/GrInputTag.vue.d.ts +216 -0
  363. package/dist/types/components/GrNumberInput/GrNumberInput.vue.d.ts +223 -0
  364. package/dist/types/components/GrProgressCircle/index.d.ts +10 -0
  365. package/dist/types/components/GrRadio/index.d.ts +8 -0
  366. package/dist/types/components/GrRating/GrRating.vue.d.ts +178 -0
  367. package/dist/types/components/GrResponseErrorBanner/index.d.ts +15 -0
  368. package/dist/types/components/GrSegmented/GrSegmented.vue.d.ts +122 -0
  369. package/dist/types/components/GrSegmented/index.d.ts +11 -0
  370. package/dist/types/components/GrSelect/GrSelect.vue.d.ts +199 -0
  371. package/dist/types/components/GrSidebar/index.d.ts +9 -0
  372. package/dist/types/components/GrSkeleton/index.d.ts +4 -0
  373. package/dist/types/components/GrSplitter/index.d.ts +11 -0
  374. package/dist/types/components/GrStatistic/GrStatistic.vue.d.ts +168 -0
  375. package/dist/types/components/GrSwitch/GrSwitch.vue.d.ts +130 -0
  376. package/dist/types/components/GrTabPanels/index.d.ts +7 -0
  377. package/dist/types/components/GrTable/GrTable.vue.d.ts +177 -0
  378. package/dist/types/components/GrTabs/GrTabs.vue.d.ts +121 -0
  379. package/dist/types/components/GrTabs/index.d.ts +8 -0
  380. package/dist/types/components/GrTimeline/GrTimelineItem.vue.d.ts +84 -0
  381. package/dist/types/components/GrTimeline/index.d.ts +10 -0
  382. package/dist/types/components/GrTreeSelect/GrTreeSelect.vue.d.ts +63 -0
  383. package/dist/types/components/shared/sizes.d.ts +34 -0
  384. package/dist/types/composables/useToast.d.ts +100 -0
  385. package/dist/types/granular-provider/shared.d.ts +94 -0
  386. package/dist/types/i18n/messages/en.d.ts +690 -0
  387. package/dist/types/i18n/messages/es.d.ts +687 -0
  388. package/dist/types/i18n/messages/ru.d.ts +691 -0
  389. package/dist/types/index.d.ts +107 -0
  390. package/dist/types/testing/index.d.ts +13 -0
  391. package/dist/types/testing/keyboard.d.ts +32 -0
  392. package/dist/web-types.json +556 -147
  393. package/package.json +126 -106
  394. package/dist/chunks/config-06SQjBx0.js +0 -96
  395. package/dist/chunks/config-06SQjBx0.js.map +0 -1
  396. package/dist/chunks/config-8Pcutu1j2.js.map +0 -1
  397. package/dist/chunks/config-B-iNaGdw.js +0 -199
  398. package/dist/chunks/config-B-iNaGdw.js.map +0 -1
  399. package/dist/chunks/config-BDfTXHo12.js.map +0 -1
  400. package/dist/chunks/config-BE6n20np2.js.map +0 -1
  401. package/dist/chunks/config-BJ7Bv_G2.js +0 -148
  402. package/dist/chunks/config-BJ7Bv_G2.js.map +0 -1
  403. package/dist/chunks/config-BKvX0q102.js.map +0 -1
  404. package/dist/chunks/config-Baj7Wvx-.js.map +0 -1
  405. package/dist/chunks/config-BqFjr3tN.js +0 -131
  406. package/dist/chunks/config-BqFjr3tN.js.map +0 -1
  407. package/dist/chunks/config-CDat1wXf2.js.map +0 -1
  408. package/dist/chunks/config-CY0_6cMi2.js.map +0 -1
  409. package/dist/chunks/config-D3_g2KIn.js +0 -120
  410. package/dist/chunks/config-D3_g2KIn.js.map +0 -1
  411. package/dist/chunks/config-D94Z9po52.js.map +0 -1
  412. package/dist/chunks/config-DAX8Deh1.js.map +0 -1
  413. package/dist/chunks/config-DP7eseR1.js +0 -92
  414. package/dist/chunks/config-DP7eseR1.js.map +0 -1
  415. package/dist/chunks/config-DU2DNSRx2.js.map +0 -1
  416. package/dist/chunks/config-DhHbU3zO.js +0 -37
  417. package/dist/chunks/config-DhHbU3zO.js.map +0 -1
  418. package/dist/chunks/config-DvQIb4kb.js +0 -98
  419. package/dist/chunks/config-DvQIb4kb.js.map +0 -1
  420. package/dist/chunks/config-QaIc_gRa.js.map +0 -1
  421. package/dist/chunks/config-Rw9OyW702.js +0 -87
  422. package/dist/chunks/config-Rw9OyW702.js.map +0 -1
  423. package/dist/chunks/config-ScuvHw6k2.js.map +0 -1
  424. package/dist/chunks/config-WTNhdh6T2.js.map +0 -1
  425. package/dist/chunks/config-_qPUfb6-2.js +0 -165
  426. package/dist/chunks/config-_qPUfb6-2.js.map +0 -1
  427. package/dist/chunks/config-eXB87DOi.js.map +0 -1
  428. package/dist/chunks/config-gwro_7yn.js +0 -55
  429. package/dist/chunks/config-gwro_7yn.js.map +0 -1
  430. package/dist/chunks/context-BSYR7RZs.js +0 -152
  431. package/dist/chunks/context-BSYR7RZs.js.map +0 -1
  432. package/dist/chunks/en-COdzxgAX.js +0 -352
  433. package/dist/chunks/en-COdzxgAX.js.map +0 -1
  434. package/dist/chunks/es-ClqJ-4hr.js +0 -354
  435. package/dist/chunks/es-ClqJ-4hr.js.map +0 -1
  436. package/dist/chunks/es-DGMHwknJ.js +0 -20
  437. package/dist/chunks/es-DGMHwknJ.js.map +0 -1
  438. package/dist/chunks/generated-BRkbhyxk.js +0 -3270
  439. package/dist/chunks/generated-BRkbhyxk.js.map +0 -1
  440. package/dist/chunks/granular-provider-C6uAujdJ.js +0 -195
  441. package/dist/chunks/granular-provider-C6uAujdJ.js.map +0 -1
  442. package/dist/chunks/ru-9z8ix45c.js +0 -356
  443. package/dist/chunks/ru-9z8ix45c.js.map +0 -1
  444. package/dist/chunks/useModalOverlay-DrQVYwwA.js +0 -212
  445. package/dist/chunks/useModalOverlay-DrQVYwwA.js.map +0 -1
  446. package/dist/chunks/usePortalTarget-Cn-Wiz5d.js +0 -77
  447. package/dist/chunks/usePortalTarget-Cn-Wiz5d.js.map +0 -1
  448. package/dist/chunks/validation-5HhpanPP.js +0 -178
  449. package/dist/chunks/validation-5HhpanPP.js.map +0 -1
  450. package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js +0 -272
  451. package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js.map +0 -1
  452. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-gY4Xopza.js +0 -860
  453. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-gY4Xopza.js.map +0 -1
  454. package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js +0 -222
  455. package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js.map +0 -1
  456. package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js +0 -40
  457. package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js.map +0 -1
  458. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js +0 -97
  459. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js.map +0 -1
  460. package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js +0 -117
  461. package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js.map +0 -1
  462. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-DS_-PBVt.js +0 -267
  463. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-DS_-PBVt.js.map +0 -1
  464. package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js +0 -153
  465. package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js.map +0 -1
  466. package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js +0 -89
  467. package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js.map +0 -1
  468. package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js +0 -262
  469. package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js.map +0 -1
  470. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js +0 -140
  471. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js.map +0 -1
  472. package/dist/components/GrCollapse/chunks/GrCollapse-Kk0DE8tb.js +0 -308
  473. package/dist/components/GrCollapse/chunks/GrCollapse-Kk0DE8tb.js.map +0 -1
  474. package/dist/components/GrColorPicker/chunks/GrColorPicker-CkBTzkqn.js +0 -584
  475. package/dist/components/GrColorPicker/chunks/GrColorPicker-CkBTzkqn.js.map +0 -1
  476. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BugTlGdj.js +0 -591
  477. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BugTlGdj.js.map +0 -1
  478. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js +0 -144
  479. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js.map +0 -1
  480. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-Ds5T0GiR.js +0 -200
  481. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-Ds5T0GiR.js.map +0 -1
  482. package/dist/components/GrDataTable/chunks/GrDataTable-CYe2A2WA.js +0 -1055
  483. package/dist/components/GrDataTable/chunks/GrDataTable-CYe2A2WA.js.map +0 -1
  484. package/dist/components/GrDialog/chunks/GrDialog-C3tYaA8v.js +0 -255
  485. package/dist/components/GrDialog/chunks/GrDialog-C3tYaA8v.js.map +0 -1
  486. package/dist/components/GrDialogService/chunks/GrDialogService-CTBiiJDI.js +0 -656
  487. package/dist/components/GrDialogService/chunks/GrDialogService-CTBiiJDI.js.map +0 -1
  488. package/dist/components/GrDivider/chunks/GrDivider-xxq1_fIl.js +0 -109
  489. package/dist/components/GrDivider/chunks/GrDivider-xxq1_fIl.js.map +0 -1
  490. package/dist/components/GrDrawer/chunks/GrDrawer-BSSuiNHU.js +0 -251
  491. package/dist/components/GrDrawer/chunks/GrDrawer-BSSuiNHU.js.map +0 -1
  492. package/dist/components/GrDropdown/chunks/GrDropdown-Bh6UK2M5.js +0 -300
  493. package/dist/components/GrDropdown/chunks/GrDropdown-Bh6UK2M5.js.map +0 -1
  494. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-LyfEFUbg.js +0 -421
  495. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-LyfEFUbg.js.map +0 -1
  496. package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js +0 -86
  497. package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js.map +0 -1
  498. package/dist/components/GrFileUpload/chunks/GrFileUpload-DuDzC43S.js +0 -1080
  499. package/dist/components/GrFileUpload/chunks/GrFileUpload-DuDzC43S.js.map +0 -1
  500. package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js +0 -326
  501. package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js.map +0 -1
  502. package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js +0 -190
  503. package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js.map +0 -1
  504. package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js +0 -452
  505. package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js.map +0 -1
  506. package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js +0 -63
  507. package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js.map +0 -1
  508. package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js +0 -57
  509. package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js.map +0 -1
  510. package/dist/components/GrImageViewer/chunks/GrImageViewer-DfD4euH5.js +0 -1128
  511. package/dist/components/GrImageViewer/chunks/GrImageViewer-DfD4euH5.js.map +0 -1
  512. package/dist/components/GrInput/chunks/GrInput-2wd7Crs0.js +0 -348
  513. package/dist/components/GrInput/chunks/GrInput-2wd7Crs0.js.map +0 -1
  514. package/dist/components/GrInputTag/chunks/GrInputTag-CyV2eY7Z.js +0 -512
  515. package/dist/components/GrInputTag/chunks/GrInputTag-CyV2eY7Z.js.map +0 -1
  516. package/dist/components/GrKbd/chunks/GrKbd-DU2lBkRV.js +0 -358
  517. package/dist/components/GrKbd/chunks/GrKbd-DU2lBkRV.js.map +0 -1
  518. package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js +0 -163
  519. package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js.map +0 -1
  520. package/dist/components/GrList/chunks/GrList-4YU1NZtM.js +0 -277
  521. package/dist/components/GrList/chunks/GrList-4YU1NZtM.js.map +0 -1
  522. package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js +0 -101
  523. package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js.map +0 -1
  524. package/dist/components/GrModal/chunks/GrModal-CbMMr6W1.js +0 -313
  525. package/dist/components/GrModal/chunks/GrModal-CbMMr6W1.js.map +0 -1
  526. package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js +0 -104
  527. package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js.map +0 -1
  528. package/dist/components/GrNumberInput/chunks/GrNumberInput-B5CHZDBj.js +0 -659
  529. package/dist/components/GrNumberInput/chunks/GrNumberInput-B5CHZDBj.js.map +0 -1
  530. package/dist/components/GrPagination/chunks/GrPagination-BM4FrD6Q.js +0 -283
  531. package/dist/components/GrPagination/chunks/GrPagination-BM4FrD6Q.js.map +0 -1
  532. package/dist/components/GrPopover/chunks/GrPopover-DMH4Jjst.js +0 -216
  533. package/dist/components/GrPopover/chunks/GrPopover-DMH4Jjst.js.map +0 -1
  534. package/dist/components/GrProgressBar/chunks/GrProgressBar-xwbNM9QB.js +0 -90
  535. package/dist/components/GrProgressBar/chunks/GrProgressBar-xwbNM9QB.js.map +0 -1
  536. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-B8olXRo5.js +0 -210
  537. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-B8olXRo5.js.map +0 -1
  538. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Pwr9NPxK.js +0 -348
  539. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Pwr9NPxK.js.map +0 -1
  540. package/dist/components/GrRadio/chunks/GrRadio-DWiRaMzt.js +0 -253
  541. package/dist/components/GrRadio/chunks/GrRadio-DWiRaMzt.js.map +0 -1
  542. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-DIuBw0wk.js +0 -196
  543. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-DIuBw0wk.js.map +0 -1
  544. package/dist/components/GrRating/chunks/GrRating-DVFH3lYu.js +0 -316
  545. package/dist/components/GrRating/chunks/GrRating-DVFH3lYu.js.map +0 -1
  546. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js +0 -777
  547. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js.map +0 -1
  548. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js +0 -224
  549. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js.map +0 -1
  550. package/dist/components/GrSegmented/chunks/GrSegmented-CQw3ijqa.js +0 -388
  551. package/dist/components/GrSegmented/chunks/GrSegmented-CQw3ijqa.js.map +0 -1
  552. package/dist/components/GrSelect/chunks/GrSelect-B-Voni7D.js +0 -1386
  553. package/dist/components/GrSelect/chunks/GrSelect-B-Voni7D.js.map +0 -1
  554. package/dist/components/GrSidebar/chunks/GrSidebar-i7AxjhY_.js +0 -258
  555. package/dist/components/GrSidebar/chunks/GrSidebar-i7AxjhY_.js.map +0 -1
  556. package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js +0 -84
  557. package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js.map +0 -1
  558. package/dist/components/GrSlider/chunks/GrSlider-CyhVsNKn.js +0 -379
  559. package/dist/components/GrSlider/chunks/GrSlider-CyhVsNKn.js.map +0 -1
  560. package/dist/components/GrSortableList/chunks/GrSortableList-XB7mXM1W.js +0 -277
  561. package/dist/components/GrSortableList/chunks/GrSortableList-XB7mXM1W.js.map +0 -1
  562. package/dist/components/GrSplitter/chunks/GrSplitter-BzxVQwbY.js +0 -268
  563. package/dist/components/GrSplitter/chunks/GrSplitter-BzxVQwbY.js.map +0 -1
  564. package/dist/components/GrStatistic/chunks/GrStatistic-DOsM6s5V.js +0 -366
  565. package/dist/components/GrStatistic/chunks/GrStatistic-DOsM6s5V.js.map +0 -1
  566. package/dist/components/GrSwitch/chunks/GrSwitch-DpyvVrZG.js +0 -183
  567. package/dist/components/GrSwitch/chunks/GrSwitch-DpyvVrZG.js.map +0 -1
  568. package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js +0 -81
  569. package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js.map +0 -1
  570. package/dist/components/GrTable/chunks/GrTable-BfqgwETQ.js +0 -169
  571. package/dist/components/GrTable/chunks/GrTable-BfqgwETQ.js.map +0 -1
  572. package/dist/components/GrTabs/chunks/GrTabs-f3-oQenu.js +0 -262
  573. package/dist/components/GrTabs/chunks/GrTabs-f3-oQenu.js.map +0 -1
  574. package/dist/components/GrTextarea/chunks/GrTextarea-DSvd1nSy.js +0 -241
  575. package/dist/components/GrTextarea/chunks/GrTextarea-DSvd1nSy.js.map +0 -1
  576. package/dist/components/GrTimeline/chunks/GrTimeline-B-h2Yanw.js +0 -285
  577. package/dist/components/GrTimeline/chunks/GrTimeline-B-h2Yanw.js.map +0 -1
  578. package/dist/components/GrToaster/chunks/GrToaster-Dqja0Lf9.js +0 -373
  579. package/dist/components/GrToaster/chunks/GrToaster-Dqja0Lf9.js.map +0 -1
  580. package/dist/components/GrTooltip/chunks/GrTooltip-Cn08heWz.js +0 -185
  581. package/dist/components/GrTooltip/chunks/GrTooltip-Cn08heWz.js.map +0 -1
  582. package/dist/components/GrTree/chunks/GrTree-BR9a2pay.js +0 -1376
  583. package/dist/components/GrTree/chunks/GrTree-BR9a2pay.js.map +0 -1
  584. package/dist/components/GrTreeSelect/chunks/GrTreeSelect--muUeB0v.js +0 -637
  585. package/dist/components/GrTreeSelect/chunks/GrTreeSelect--muUeB0v.js.map +0 -1
  586. package/dist/types/src/components/GrAlert/index.d.ts +0 -8
  587. package/dist/types/src/components/GrAvatar/index.d.ts +0 -10
  588. package/dist/types/src/components/GrBadgeWrap/index.d.ts +0 -7
  589. package/dist/types/src/components/GrBottomNav/index.d.ts +0 -9
  590. package/dist/types/src/components/GrButton/GrButton.vue.d.ts +0 -117
  591. package/dist/types/src/components/GrButton/index.d.ts +0 -11
  592. package/dist/types/src/components/GrCard/GrCard.vue.d.ts +0 -90
  593. package/dist/types/src/components/GrCard/defaults.d.ts +0 -15
  594. package/dist/types/src/components/GrCard/grCardStyles.d.ts +0 -24
  595. package/dist/types/src/components/GrCard/index.d.ts +0 -8
  596. package/dist/types/src/components/GrCheckbox/index.d.ts +0 -13
  597. package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +0 -115
  598. package/dist/types/src/components/GrCollapse/index.d.ts +0 -9
  599. package/dist/types/src/components/GrColorPicker/index.d.ts +0 -11
  600. package/dist/types/src/components/GrCommandPalette/GrCommandPalette.vue.d.ts +0 -163
  601. package/dist/types/src/components/GrCommandPalette/index.d.ts +0 -10
  602. package/dist/types/src/components/GrConfigProvider/index.d.ts +0 -6
  603. package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +0 -213
  604. package/dist/types/src/components/GrDataTable/grDataTableStyles.d.ts +0 -67
  605. package/dist/types/src/components/GrDataTable/index.d.ts +0 -13
  606. package/dist/types/src/components/GrDialog/index.d.ts +0 -12
  607. package/dist/types/src/components/GrDialogService/index.d.ts +0 -6
  608. package/dist/types/src/components/GrDropdownMenu/index.d.ts +0 -22
  609. package/dist/types/src/components/GrEmptyState/index.d.ts +0 -8
  610. package/dist/types/src/components/GrFileUpload/index.d.ts +0 -18
  611. package/dist/types/src/components/GrForm/GrForm.vue.d.ts +0 -129
  612. package/dist/types/src/components/GrForm/index.d.ts +0 -10
  613. package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +0 -122
  614. package/dist/types/src/components/GrFormField/index.d.ts +0 -8
  615. package/dist/types/src/components/GrFormSection/index.d.ts +0 -8
  616. package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +0 -271
  617. package/dist/types/src/components/GrInput/GrInput.vue.d.ts +0 -207
  618. package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +0 -216
  619. package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +0 -223
  620. package/dist/types/src/components/GrProgressCircle/index.d.ts +0 -11
  621. package/dist/types/src/components/GrRadio/index.d.ts +0 -9
  622. package/dist/types/src/components/GrRating/GrRating.vue.d.ts +0 -178
  623. package/dist/types/src/components/GrResponseErrorBanner/index.d.ts +0 -16
  624. package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +0 -122
  625. package/dist/types/src/components/GrSegmented/index.d.ts +0 -11
  626. package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +0 -205
  627. package/dist/types/src/components/GrSidebar/index.d.ts +0 -10
  628. package/dist/types/src/components/GrSkeleton/index.d.ts +0 -4
  629. package/dist/types/src/components/GrSplitter/index.d.ts +0 -11
  630. package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +0 -168
  631. package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +0 -130
  632. package/dist/types/src/components/GrTabPanels/index.d.ts +0 -8
  633. package/dist/types/src/components/GrTable/GrTable.vue.d.ts +0 -177
  634. package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +0 -121
  635. package/dist/types/src/components/GrTabs/index.d.ts +0 -9
  636. package/dist/types/src/components/GrTimeline/GrTimelineItem.vue.d.ts +0 -84
  637. package/dist/types/src/components/GrTimeline/index.d.ts +0 -12
  638. package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +0 -69
  639. package/dist/types/src/components/shared/sizes.d.ts +0 -30
  640. package/dist/types/src/composables/useToast.d.ts +0 -89
  641. package/dist/types/src/granular-provider/shared.d.ts +0 -90
  642. package/dist/types/src/i18n/messages/en.d.ts +0 -680
  643. package/dist/types/src/i18n/messages/es.d.ts +0 -677
  644. package/dist/types/src/i18n/messages/ru.d.ts +0 -681
  645. package/dist/types/src/index.d.ts +0 -103
  646. package/dist/types/src/testing/index.d.ts +0 -12
  647. /package/dist/chunks/{config-8Pcutu1j2.js → config-8Pcutu1j.js} +0 -0
  648. /package/dist/chunks/{config-BDfTXHo12.js → config-BDfTXHo1.js} +0 -0
  649. /package/dist/chunks/{config-BE6n20np2.js → config-BE6n20np.js} +0 -0
  650. /package/dist/chunks/{config-BKvX0q102.js → config-BKvX0q10.js} +0 -0
  651. /package/dist/chunks/{config-Baj7Wvx-.js → config-Baj7Wvx-2.js} +0 -0
  652. /package/dist/chunks/{config-CDat1wXf2.js → config-CDat1wXf.js} +0 -0
  653. /package/dist/chunks/{config-CY0_6cMi2.js → config-CY0_6cMi.js} +0 -0
  654. /package/dist/chunks/{config-D94Z9po52.js → config-D94Z9po5.js} +0 -0
  655. /package/dist/chunks/{config-DAX8Deh1.js → config-DAX8Deh12.js} +0 -0
  656. /package/dist/chunks/{config-DU2DNSRx2.js → config-DU2DNSRx.js} +0 -0
  657. /package/dist/chunks/{config-QaIc_gRa.js → config-QaIc_gRa2.js} +0 -0
  658. /package/dist/chunks/{config-ScuvHw6k2.js → config-ScuvHw6k.js} +0 -0
  659. /package/dist/chunks/{config-WTNhdh6T2.js → config-WTNhdh6T.js} +0 -0
  660. /package/dist/chunks/{config-eXB87DOi.js → config-eXB87DOi2.js} +0 -0
  661. /package/dist/types/{src/components → components}/GrAlert/GrAlert.vue.d.ts +0 -0
  662. /package/dist/types/{src/components → components}/GrAlert/config.d.ts +0 -0
  663. /package/dist/types/{src/components → components}/GrAlert/defaults.d.ts +0 -0
  664. /package/dist/types/{src/components → components}/GrAlert/grAlertStyles.d.ts +0 -0
  665. /package/dist/types/{src/components → components}/GrAutocomplete/GrAutocomplete.vue.d.ts +0 -0
  666. /package/dist/types/{src/components → components}/GrAutocomplete/config.d.ts +0 -0
  667. /package/dist/types/{src/components → components}/GrAutocomplete/defaults.d.ts +0 -0
  668. /package/dist/types/{src/components → components}/GrAutocomplete/grAutocompleteStyles.d.ts +0 -0
  669. /package/dist/types/{src/components → components}/GrAutocomplete/index.d.ts +0 -0
  670. /package/dist/types/{src/components → components}/GrAutocomplete/safelist.d.ts +0 -0
  671. /package/dist/types/{src/components → components}/GrAvatar/GrAvatar.vue.d.ts +0 -0
  672. /package/dist/types/{src/components → components}/GrAvatar/GrAvatarGroup.vue.d.ts +0 -0
  673. /package/dist/types/{src/components → components}/GrAvatar/avatarContext.d.ts +0 -0
  674. /package/dist/types/{src/components → components}/GrAvatar/config.d.ts +0 -0
  675. /package/dist/types/{src/components → components}/GrAvatar/defaults.d.ts +0 -0
  676. /package/dist/types/{src/components → components}/GrAvatar/grAvatarStyles.d.ts +0 -0
  677. /package/dist/types/{src/components → components}/GrAvatar/safelist.d.ts +0 -0
  678. /package/dist/types/{src/components → components}/GrBadge/GrBadge.vue.d.ts +0 -0
  679. /package/dist/types/{src/components → components}/GrBadge/config.d.ts +0 -0
  680. /package/dist/types/{src/components → components}/GrBadge/defaults.d.ts +0 -0
  681. /package/dist/types/{src/components → components}/GrBadge/grBadgeStyles.d.ts +0 -0
  682. /package/dist/types/{src/components → components}/GrBadge/index.d.ts +0 -0
  683. /package/dist/types/{src/components → components}/GrBadge/safelist.d.ts +0 -0
  684. /package/dist/types/{src/components → components}/GrBadgeWrap/GrBadgeWrap.vue.d.ts +0 -0
  685. /package/dist/types/{src/components → components}/GrBadgeWrap/config.d.ts +0 -0
  686. /package/dist/types/{src/components → components}/GrBadgeWrap/grBadgeWrapStyles.d.ts +0 -0
  687. /package/dist/types/{src/components → components}/GrBadgeWrap/safelist.d.ts +0 -0
  688. /package/dist/types/{src/components → components}/GrBottomNav/GrBottomNav.vue.d.ts +0 -0
  689. /package/dist/types/{src/components → components}/GrBottomNav/config.d.ts +0 -0
  690. /package/dist/types/{src/components → components}/GrBottomNav/defaults.d.ts +0 -0
  691. /package/dist/types/{src/components → components}/GrBottomNav/grBottomNavStyles.d.ts +0 -0
  692. /package/dist/types/{src/components → components}/GrBottomNav/safelist.d.ts +0 -0
  693. /package/dist/types/{src/components → components}/GrBreadcrumbs/GrBreadcrumbs.vue.d.ts +0 -0
  694. /package/dist/types/{src/components → components}/GrBreadcrumbs/config.d.ts +0 -0
  695. /package/dist/types/{src/components → components}/GrBreadcrumbs/defaults.d.ts +0 -0
  696. /package/dist/types/{src/components → components}/GrBreadcrumbs/grBreadcrumbsStyles.d.ts +0 -0
  697. /package/dist/types/{src/components → components}/GrBreadcrumbs/index.d.ts +0 -0
  698. /package/dist/types/{src/components → components}/GrBreadcrumbs/safelist.d.ts +0 -0
  699. /package/dist/types/{src/components → components}/GrButton/config.d.ts +0 -0
  700. /package/dist/types/{src/components → components}/GrButton/defaults.d.ts +0 -0
  701. /package/dist/types/{src/components → components}/GrButton/grButtonStyles.d.ts +0 -0
  702. /package/dist/types/{src/components → components}/GrButton/safelist.d.ts +0 -0
  703. /package/dist/types/{src/components → components}/GrButtonGroup/GrButtonGroup.vue.d.ts +0 -0
  704. /package/dist/types/{src/components → components}/GrButtonGroup/config.d.ts +0 -0
  705. /package/dist/types/{src/components → components}/GrButtonGroup/context.d.ts +0 -0
  706. /package/dist/types/{src/components → components}/GrButtonGroup/index.d.ts +0 -0
  707. /package/dist/types/{src/components → components}/GrCard/config.d.ts +0 -0
  708. /package/dist/types/{src/components → components}/GrCard/safelist.d.ts +0 -0
  709. /package/dist/types/{src/components → components}/GrCheckbox/GrCheckbox.vue.d.ts +0 -0
  710. /package/dist/types/{src/components → components}/GrCheckbox/config.d.ts +0 -0
  711. /package/dist/types/{src/components → components}/GrCheckbox/defaults.d.ts +0 -0
  712. /package/dist/types/{src/components → components}/GrCheckbox/grCheckboxGroupContext.d.ts +0 -0
  713. /package/dist/types/{src/components → components}/GrCheckbox/grCheckboxStyles.d.ts +0 -0
  714. /package/dist/types/{src/components → components}/GrCheckbox/safelist.d.ts +0 -0
  715. /package/dist/types/{src/components → components}/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +0 -0
  716. /package/dist/types/{src/components → components}/GrCheckboxGroup/config.d.ts +0 -0
  717. /package/dist/types/{src/components → components}/GrCheckboxGroup/defaults.d.ts +0 -0
  718. /package/dist/types/{src/components → components}/GrCheckboxGroup/index.d.ts +0 -0
  719. /package/dist/types/{src/components → components}/GrCollapse/GrCollapseItem.vue.d.ts +0 -0
  720. /package/dist/types/{src/components → components}/GrCollapse/config.d.ts +0 -0
  721. /package/dist/types/{src/components → components}/GrCollapse/defaults.d.ts +0 -0
  722. /package/dist/types/{src/components → components}/GrCollapse/grCollapseContext.d.ts +0 -0
  723. /package/dist/types/{src/components → components}/GrCollapse/grCollapseStyles.d.ts +0 -0
  724. /package/dist/types/{src/components → components}/GrCollapse/safelist.d.ts +0 -0
  725. /package/dist/types/{src/components → components}/GrColorPicker/GrColorPicker.vue.d.ts +0 -0
  726. /package/dist/types/{src/components → components}/GrColorPicker/color.d.ts +0 -0
  727. /package/dist/types/{src/components → components}/GrColorPicker/config.d.ts +0 -0
  728. /package/dist/types/{src/components → components}/GrColorPicker/defaults.d.ts +0 -0
  729. /package/dist/types/{src/components → components}/GrColorPicker/grColorPickerStyles.d.ts +0 -0
  730. /package/dist/types/{src/components → components}/GrColorPicker/safelist.d.ts +0 -0
  731. /package/dist/types/{src/components → components}/GrCommandPalette/config.d.ts +0 -0
  732. /package/dist/types/{src/components → components}/GrCommandPalette/defaults.d.ts +0 -0
  733. /package/dist/types/{src/components → components}/GrCommandPalette/filtering.d.ts +0 -0
  734. /package/dist/types/{src/components → components}/GrCommandPalette/grCommandPaletteStyles.d.ts +0 -0
  735. /package/dist/types/{src/components → components}/GrCommandPalette/safelist.d.ts +0 -0
  736. /package/dist/types/{src/components → components}/GrConfigProvider/GrConfigProvider.vue.d.ts +0 -0
  737. /package/dist/types/{src/components → components}/GrConfigProvider/config.d.ts +0 -0
  738. /package/dist/types/{src/components → components}/GrConfigProvider/context.d.ts +0 -0
  739. /package/dist/types/{src/components → components}/GrConfigProvider/zIndexScale.d.ts +0 -0
  740. /package/dist/types/{src/components → components}/GrConfirmDialog/GrConfirmDialog.vue.d.ts +0 -0
  741. /package/dist/types/{src/components → components}/GrConfirmDialog/config.d.ts +0 -0
  742. /package/dist/types/{src/components → components}/GrConfirmDialog/defaults.d.ts +0 -0
  743. /package/dist/types/{src/components → components}/GrConfirmDialog/index.d.ts +0 -0
  744. /package/dist/types/{src/components → components}/GrDataTable/config.d.ts +0 -0
  745. /package/dist/types/{src/components → components}/GrDataTable/defaults.d.ts +0 -0
  746. /package/dist/types/{src/components → components}/GrDataTable/grDataTableSort.d.ts +0 -0
  747. /package/dist/types/{src/components → components}/GrDataTable/safelist.d.ts +0 -0
  748. /package/dist/types/{src/components → components}/GrDialog/GrDialog.vue.d.ts +0 -0
  749. /package/dist/types/{src/components → components}/GrDialog/GrDialogCloseButton.vue.d.ts +0 -0
  750. /package/dist/types/{src/components → components}/GrDialog/GrDialogFooter.vue.d.ts +0 -0
  751. /package/dist/types/{src/components → components}/GrDialog/GrDialogHeader.vue.d.ts +0 -0
  752. /package/dist/types/{src/components → components}/GrDialog/config.d.ts +0 -0
  753. /package/dist/types/{src/components → components}/GrDialog/defaults.d.ts +0 -0
  754. /package/dist/types/{src/components → components}/GrDialog/dialogShared.d.ts +0 -0
  755. /package/dist/types/{src/components → components}/GrDialog/safelist.d.ts +0 -0
  756. /package/dist/types/{src/components → components}/GrDialogService/GrDialogServiceHost.vue.d.ts +0 -0
  757. /package/dist/types/{src/components → components}/GrDialogService/GrDialogServiceItem.vue.d.ts +0 -0
  758. /package/dist/types/{src/components → components}/GrDialogService/config.d.ts +0 -0
  759. /package/dist/types/{src/components → components}/GrDialogService/store.d.ts +0 -0
  760. /package/dist/types/{src/components → components}/GrDialogService/types.d.ts +0 -0
  761. /package/dist/types/{src/components → components}/GrDialogService/useDialogService.d.ts +0 -0
  762. /package/dist/types/{src/components → components}/GrDivider/GrDivider.vue.d.ts +0 -0
  763. /package/dist/types/{src/components → components}/GrDivider/config.d.ts +0 -0
  764. /package/dist/types/{src/components → components}/GrDivider/defaults.d.ts +0 -0
  765. /package/dist/types/{src/components → components}/GrDivider/grDividerStyles.d.ts +0 -0
  766. /package/dist/types/{src/components → components}/GrDivider/index.d.ts +0 -0
  767. /package/dist/types/{src/components → components}/GrDivider/safelist.d.ts +0 -0
  768. /package/dist/types/{src/components → components}/GrDrawer/GrDrawer.vue.d.ts +0 -0
  769. /package/dist/types/{src/components → components}/GrDrawer/config.d.ts +0 -0
  770. /package/dist/types/{src/components → components}/GrDrawer/defaults.d.ts +0 -0
  771. /package/dist/types/{src/components → components}/GrDrawer/grDrawerStyles.d.ts +0 -0
  772. /package/dist/types/{src/components → components}/GrDrawer/index.d.ts +0 -0
  773. /package/dist/types/{src/components → components}/GrDrawer/safelist.d.ts +0 -0
  774. /package/dist/types/{src/components → components}/GrDropdown/GrDropdown.vue.d.ts +0 -0
  775. /package/dist/types/{src/components → components}/GrDropdown/config.d.ts +0 -0
  776. /package/dist/types/{src/components → components}/GrDropdown/grDropdownStyles.d.ts +0 -0
  777. /package/dist/types/{src/components → components}/GrDropdown/index.d.ts +0 -0
  778. /package/dist/types/{src/components → components}/GrDropdown/safelist.d.ts +0 -0
  779. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenu.vue.d.ts +0 -0
  780. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuColumn.vue.d.ts +0 -0
  781. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuColumns.vue.d.ts +0 -0
  782. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuDivider.vue.d.ts +0 -0
  783. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuGroup.vue.d.ts +0 -0
  784. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuHeader.vue.d.ts +0 -0
  785. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +0 -0
  786. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuList.vue.d.ts +0 -0
  787. /package/dist/types/{src/components → components}/GrDropdownMenu/config.d.ts +0 -0
  788. /package/dist/types/{src/components → components}/GrDropdownMenu/grDropdownMenuStyles.d.ts +0 -0
  789. /package/dist/types/{src/components → components}/GrDropdownMenu/menuModel.d.ts +0 -0
  790. /package/dist/types/{src/components → components}/GrDropdownMenu/safelist.d.ts +0 -0
  791. /package/dist/types/{src/components → components}/GrEmptyState/GrEmptyState.vue.d.ts +0 -0
  792. /package/dist/types/{src/components → components}/GrEmptyState/config.d.ts +0 -0
  793. /package/dist/types/{src/components → components}/GrEmptyState/defaults.d.ts +0 -0
  794. /package/dist/types/{src/components → components}/GrEmptyState/grEmptyStateStyles.d.ts +0 -0
  795. /package/dist/types/{src/components → components}/GrEmptyState/safelist.d.ts +0 -0
  796. /package/dist/types/{src/components → components}/GrFileUpload/FileValidationError.d.ts +0 -0
  797. /package/dist/types/{src/components → components}/GrFileUpload/GrFileUpload.vue.d.ts +0 -0
  798. /package/dist/types/{src/components → components}/GrFileUpload/acceptValidator.d.ts +0 -0
  799. /package/dist/types/{src/components → components}/GrFileUpload/config.d.ts +0 -0
  800. /package/dist/types/{src/components → components}/GrFileUpload/defaults.d.ts +0 -0
  801. /package/dist/types/{src/components → components}/GrFileUpload/fileEntry.d.ts +0 -0
  802. /package/dist/types/{src/components → components}/GrFileUpload/grFileUploadStyles.d.ts +0 -0
  803. /package/dist/types/{src/components → components}/GrFileUpload/matchAccept.d.ts +0 -0
  804. /package/dist/types/{src/components → components}/GrFileUpload/maxFileSize.d.ts +0 -0
  805. /package/dist/types/{src/components → components}/GrFileUpload/runFileValidators.d.ts +0 -0
  806. /package/dist/types/{src/components → components}/GrFileUpload/safelist.d.ts +0 -0
  807. /package/dist/types/{src/components → components}/GrFileUpload/types.d.ts +0 -0
  808. /package/dist/types/{src/components → components}/GrFileUpload/uploadState.d.ts +0 -0
  809. /package/dist/types/{src/components → components}/GrFileUpload/uploadViaXhr.d.ts +0 -0
  810. /package/dist/types/{src/components → components}/GrFileUpload/useDropZone.d.ts +0 -0
  811. /package/dist/types/{src/components → components}/GrFileUpload/usePerFileUpload.d.ts +0 -0
  812. /package/dist/types/{src/components → components}/GrFileUpload/useUploadState.d.ts +0 -0
  813. /package/dist/types/{src/components → components}/GrForm/config.d.ts +0 -0
  814. /package/dist/types/{src/components → components}/GrForm/context.d.ts +0 -0
  815. /package/dist/types/{src/components → components}/GrForm/fileRule.d.ts +0 -0
  816. /package/dist/types/{src/components → components}/GrForm/modelSnapshot.d.ts +0 -0
  817. /package/dist/types/{src/components → components}/GrForm/validation.d.ts +0 -0
  818. /package/dist/types/{src/components → components}/GrFormField/config.d.ts +0 -0
  819. /package/dist/types/{src/components → components}/GrFormField/context.d.ts +0 -0
  820. /package/dist/types/{src/components → components}/GrFormField/defaults.d.ts +0 -0
  821. /package/dist/types/{src/components → components}/GrFormField/grFormFieldStyles.d.ts +0 -0
  822. /package/dist/types/{src/components → components}/GrFormField/safelist.d.ts +0 -0
  823. /package/dist/types/{src/components → components}/GrFormFile/GrFormFile.vue.d.ts +0 -0
  824. /package/dist/types/{src/components → components}/GrFormFile/config.d.ts +0 -0
  825. /package/dist/types/{src/components → components}/GrFormFile/defaults.d.ts +0 -0
  826. /package/dist/types/{src/components → components}/GrFormFile/grFormFileStyles.d.ts +0 -0
  827. /package/dist/types/{src/components → components}/GrFormFile/index.d.ts +0 -0
  828. /package/dist/types/{src/components → components}/GrFormFile/safelist.d.ts +0 -0
  829. /package/dist/types/{src/components → components}/GrFormSection/GrFormSection.vue.d.ts +0 -0
  830. /package/dist/types/{src/components → components}/GrFormSection/config.d.ts +0 -0
  831. /package/dist/types/{src/components → components}/GrFormSection/defaults.d.ts +0 -0
  832. /package/dist/types/{src/components → components}/GrFormSection/grFormSectionStyles.d.ts +0 -0
  833. /package/dist/types/{src/components → components}/GrFormSection/safelist.d.ts +0 -0
  834. /package/dist/types/{src/components → components}/GrIcon/GrIcon.vue.d.ts +0 -0
  835. /package/dist/types/{src/components → components}/GrIcon/config.d.ts +0 -0
  836. /package/dist/types/{src/components → components}/GrIcon/defaults.d.ts +0 -0
  837. /package/dist/types/{src/components → components}/GrIcon/grIconStyles.d.ts +0 -0
  838. /package/dist/types/{src/components → components}/GrIcon/index.d.ts +0 -0
  839. /package/dist/types/{src/components → components}/GrIcon/safelist.d.ts +0 -0
  840. /package/dist/types/{src/components → components}/GrImageViewer/composables/usePointerGestures.d.ts +0 -0
  841. /package/dist/types/{src/components → components}/GrImageViewer/composables/useViewerKeyboard.d.ts +0 -0
  842. /package/dist/types/{src/components → components}/GrImageViewer/composables/useWheelGesture.d.ts +0 -0
  843. /package/dist/types/{src/components → components}/GrImageViewer/composables/useZoomPan.d.ts +0 -0
  844. /package/dist/types/{src/components → components}/GrImageViewer/config.d.ts +0 -0
  845. /package/dist/types/{src/components → components}/GrImageViewer/grImageViewerStyles.d.ts +0 -0
  846. /package/dist/types/{src/components → components}/GrImageViewer/index.d.ts +0 -0
  847. /package/dist/types/{src/components → components}/GrImageViewer/safelist.d.ts +0 -0
  848. /package/dist/types/{src/components → components}/GrInput/config.d.ts +0 -0
  849. /package/dist/types/{src/components → components}/GrInput/defaults.d.ts +0 -0
  850. /package/dist/types/{src/components → components}/GrInput/grInputStyles.d.ts +0 -0
  851. /package/dist/types/{src/components → components}/GrInput/index.d.ts +0 -0
  852. /package/dist/types/{src/components → components}/GrInput/safelist.d.ts +0 -0
  853. /package/dist/types/{src/components → components}/GrInputTag/config.d.ts +0 -0
  854. /package/dist/types/{src/components → components}/GrInputTag/defaults.d.ts +0 -0
  855. /package/dist/types/{src/components → components}/GrInputTag/grInputTagStyles.d.ts +0 -0
  856. /package/dist/types/{src/components → components}/GrInputTag/index.d.ts +0 -0
  857. /package/dist/types/{src/components → components}/GrInputTag/safelist.d.ts +0 -0
  858. /package/dist/types/{src/components → components}/GrKbd/GrKbd.vue.d.ts +0 -0
  859. /package/dist/types/{src/components → components}/GrKbd/config.d.ts +0 -0
  860. /package/dist/types/{src/components → components}/GrKbd/defaults.d.ts +0 -0
  861. /package/dist/types/{src/components → components}/GrKbd/grKbdStyles.d.ts +0 -0
  862. /package/dist/types/{src/components → components}/GrKbd/index.d.ts +0 -0
  863. /package/dist/types/{src/components → components}/GrKbd/safelist.d.ts +0 -0
  864. /package/dist/types/{src/components → components}/GrLink/GrLink.vue.d.ts +0 -0
  865. /package/dist/types/{src/components → components}/GrLink/config.d.ts +0 -0
  866. /package/dist/types/{src/components → components}/GrLink/defaults.d.ts +0 -0
  867. /package/dist/types/{src/components → components}/GrLink/grLinkStyles.d.ts +0 -0
  868. /package/dist/types/{src/components → components}/GrLink/index.d.ts +0 -0
  869. /package/dist/types/{src/components → components}/GrLink/safelist.d.ts +0 -0
  870. /package/dist/types/{src/components → components}/GrList/GrList.vue.d.ts +0 -0
  871. /package/dist/types/{src/components → components}/GrList/GrListItem.vue.d.ts +0 -0
  872. /package/dist/types/{src/components → components}/GrList/config.d.ts +0 -0
  873. /package/dist/types/{src/components → components}/GrList/grListStyles.d.ts +0 -0
  874. /package/dist/types/{src/components → components}/GrList/index.d.ts +0 -0
  875. /package/dist/types/{src/components → components}/GrList/safelist.d.ts +0 -0
  876. /package/dist/types/{src/components → components}/GrLoading/GrLoading.vue.d.ts +0 -0
  877. /package/dist/types/{src/components → components}/GrLoading/config.d.ts +0 -0
  878. /package/dist/types/{src/components → components}/GrLoading/grLoadingStyles.d.ts +0 -0
  879. /package/dist/types/{src/components → components}/GrLoading/index.d.ts +0 -0
  880. /package/dist/types/{src/components → components}/GrLoading/safelist.d.ts +0 -0
  881. /package/dist/types/{src/components → components}/GrModal/GrModal.vue.d.ts +0 -0
  882. /package/dist/types/{src/components → components}/GrModal/config.d.ts +0 -0
  883. /package/dist/types/{src/components → components}/GrModal/context.d.ts +0 -0
  884. /package/dist/types/{src/components → components}/GrModal/defaults.d.ts +0 -0
  885. /package/dist/types/{src/components → components}/GrModal/grModalStyles.d.ts +0 -0
  886. /package/dist/types/{src/components → components}/GrModal/index.d.ts +0 -0
  887. /package/dist/types/{src/components → components}/GrModal/safelist.d.ts +0 -0
  888. /package/dist/types/{src/components → components}/GrNavbar/GrNavbar.vue.d.ts +0 -0
  889. /package/dist/types/{src/components → components}/GrNavbar/config.d.ts +0 -0
  890. /package/dist/types/{src/components → components}/GrNavbar/grNavbarStyles.d.ts +0 -0
  891. /package/dist/types/{src/components → components}/GrNavbar/index.d.ts +0 -0
  892. /package/dist/types/{src/components → components}/GrNavbar/safelist.d.ts +0 -0
  893. /package/dist/types/{src/components → components}/GrNumberInput/config.d.ts +0 -0
  894. /package/dist/types/{src/components → components}/GrNumberInput/defaults.d.ts +0 -0
  895. /package/dist/types/{src/components → components}/GrNumberInput/grNumberInputStyles.d.ts +0 -0
  896. /package/dist/types/{src/components → components}/GrNumberInput/index.d.ts +0 -0
  897. /package/dist/types/{src/components → components}/GrNumberInput/numberInputMath.d.ts +0 -0
  898. /package/dist/types/{src/components → components}/GrNumberInput/safelist.d.ts +0 -0
  899. /package/dist/types/{src/components → components}/GrPagination/GrPagination.vue.d.ts +0 -0
  900. /package/dist/types/{src/components → components}/GrPagination/config.d.ts +0 -0
  901. /package/dist/types/{src/components → components}/GrPagination/defaults.d.ts +0 -0
  902. /package/dist/types/{src/components → components}/GrPagination/grPaginationStyles.d.ts +0 -0
  903. /package/dist/types/{src/components → components}/GrPagination/index.d.ts +0 -0
  904. /package/dist/types/{src/components → components}/GrPagination/safelist.d.ts +0 -0
  905. /package/dist/types/{src/components → components}/GrPopover/GrPopover.vue.d.ts +0 -0
  906. /package/dist/types/{src/components → components}/GrPopover/config.d.ts +0 -0
  907. /package/dist/types/{src/components → components}/GrPopover/defaults.d.ts +0 -0
  908. /package/dist/types/{src/components → components}/GrPopover/grPopoverStyles.d.ts +0 -0
  909. /package/dist/types/{src/components → components}/GrPopover/index.d.ts +0 -0
  910. /package/dist/types/{src/components → components}/GrPopover/safelist.d.ts +0 -0
  911. /package/dist/types/{src/components → components}/GrProgressBar/GrProgressBar.vue.d.ts +0 -0
  912. /package/dist/types/{src/components → components}/GrProgressBar/config.d.ts +0 -0
  913. /package/dist/types/{src/components → components}/GrProgressBar/defaults.d.ts +0 -0
  914. /package/dist/types/{src/components → components}/GrProgressBar/grStyle.d.ts +0 -0
  915. /package/dist/types/{src/components → components}/GrProgressBar/index.d.ts +0 -0
  916. /package/dist/types/{src/components → components}/GrProgressBar/safelist.d.ts +0 -0
  917. /package/dist/types/{src/components → components}/GrProgressCircle/GrProgressCircle.vue.d.ts +0 -0
  918. /package/dist/types/{src/components → components}/GrProgressCircle/config.d.ts +0 -0
  919. /package/dist/types/{src/components → components}/GrProgressCircle/defaults.d.ts +0 -0
  920. /package/dist/types/{src/components → components}/GrProgressCircle/geometry.d.ts +0 -0
  921. /package/dist/types/{src/components → components}/GrProgressCircle/grProgressCircleStyles.d.ts +0 -0
  922. /package/dist/types/{src/components → components}/GrProgressCircle/safelist.d.ts +0 -0
  923. /package/dist/types/{src/components → components}/GrPromptDialog/GrPromptDialog.vue.d.ts +0 -0
  924. /package/dist/types/{src/components → components}/GrPromptDialog/config.d.ts +0 -0
  925. /package/dist/types/{src/components → components}/GrPromptDialog/defaults.d.ts +0 -0
  926. /package/dist/types/{src/components → components}/GrPromptDialog/index.d.ts +0 -0
  927. /package/dist/types/{src/components → components}/GrRadio/GrRadio.vue.d.ts +0 -0
  928. /package/dist/types/{src/components → components}/GrRadio/config.d.ts +0 -0
  929. /package/dist/types/{src/components → components}/GrRadio/defaults.d.ts +0 -0
  930. /package/dist/types/{src/components → components}/GrRadio/grRadioGroupContext.d.ts +0 -0
  931. /package/dist/types/{src/components → components}/GrRadio/grRadioStyles.d.ts +0 -0
  932. /package/dist/types/{src/components → components}/GrRadio/safelist.d.ts +0 -0
  933. /package/dist/types/{src/components → components}/GrRadioGroup/GrRadioGroup.vue.d.ts +0 -0
  934. /package/dist/types/{src/components → components}/GrRadioGroup/config.d.ts +0 -0
  935. /package/dist/types/{src/components → components}/GrRadioGroup/defaults.d.ts +0 -0
  936. /package/dist/types/{src/components → components}/GrRadioGroup/index.d.ts +0 -0
  937. /package/dist/types/{src/components → components}/GrRating/config.d.ts +0 -0
  938. /package/dist/types/{src/components → components}/GrRating/defaults.d.ts +0 -0
  939. /package/dist/types/{src/components → components}/GrRating/grRatingStyles.d.ts +0 -0
  940. /package/dist/types/{src/components → components}/GrRating/index.d.ts +0 -0
  941. /package/dist/types/{src/components → components}/GrRating/safelist.d.ts +0 -0
  942. /package/dist/types/{src/components → components}/GrResponseErrorBanner/GrFormErrorBanner.vue.d.ts +0 -0
  943. /package/dist/types/{src/components → components}/GrResponseErrorBanner/GrResponseErrorBanner.vue.d.ts +0 -0
  944. /package/dist/types/{src/components → components}/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +0 -0
  945. /package/dist/types/{src/components → components}/GrResponseErrorBanner/config.d.ts +0 -0
  946. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/abortErrorParser.d.ts +0 -0
  947. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/createResponseErrorClassifier.d.ts +0 -0
  948. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/fileValidationParser.d.ts +0 -0
  949. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/httpStatusParser.d.ts +0 -0
  950. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/index.d.ts +0 -0
  951. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/jsonApiErrorParser.d.ts +0 -0
  952. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/laravelValidationParser.d.ts +0 -0
  953. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/networkErrorParser.d.ts +0 -0
  954. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/normalizeError.d.ts +0 -0
  955. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/plainMessageParser.d.ts +0 -0
  956. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/problemDetailsParser.d.ts +0 -0
  957. /package/dist/types/{src/components → components}/GrResponseErrorBanner/responseError.defaults.d.ts +0 -0
  958. /package/dist/types/{src/components → components}/GrResponseErrorBanner/responseError.types.d.ts +0 -0
  959. /package/dist/types/{src/components → components}/GrResponseErrorBanner/useResponseError.d.ts +0 -0
  960. /package/dist/types/{src/components → components}/GrSegmented/config.d.ts +0 -0
  961. /package/dist/types/{src/components → components}/GrSegmented/defaults.d.ts +0 -0
  962. /package/dist/types/{src/components → components}/GrSegmented/grSegmentedStyles.d.ts +0 -0
  963. /package/dist/types/{src/components → components}/GrSegmented/safelist.d.ts +0 -0
  964. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectNavigation.d.ts +0 -0
  965. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectPanelItems.d.ts +0 -0
  966. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectValues.d.ts +0 -0
  967. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectVirtualization.d.ts +0 -0
  968. /package/dist/types/{src/components → components}/GrSelect/config.d.ts +0 -0
  969. /package/dist/types/{src/components → components}/GrSelect/defaults.d.ts +0 -0
  970. /package/dist/types/{src/components → components}/GrSelect/grSelectStyles.d.ts +0 -0
  971. /package/dist/types/{src/components → components}/GrSelect/index.d.ts +0 -0
  972. /package/dist/types/{src/components → components}/GrSelect/safelist.d.ts +0 -0
  973. /package/dist/types/{src/components → components}/GrSelect/selectValue.d.ts +0 -0
  974. /package/dist/types/{src/components → components}/GrSidebar/GrSidebar.vue.d.ts +0 -0
  975. /package/dist/types/{src/components → components}/GrSidebar/GrSidebarGroup.vue.d.ts +0 -0
  976. /package/dist/types/{src/components → components}/GrSidebar/GrSidebarItem.vue.d.ts +0 -0
  977. /package/dist/types/{src/components → components}/GrSidebar/config.d.ts +0 -0
  978. /package/dist/types/{src/components → components}/GrSidebar/grSidebarStyles.d.ts +0 -0
  979. /package/dist/types/{src/components → components}/GrSidebar/safelist.d.ts +0 -0
  980. /package/dist/types/{src/components → components}/GrSidebar/sidebarContext.d.ts +0 -0
  981. /package/dist/types/{src/components → components}/GrSkeleton/GrSkeleton.vue.d.ts +0 -0
  982. /package/dist/types/{src/components → components}/GrSkeleton/config.d.ts +0 -0
  983. /package/dist/types/{src/components → components}/GrSkeleton/grSkeletonStyles.d.ts +0 -0
  984. /package/dist/types/{src/components → components}/GrSlider/GrSlider.vue.d.ts +0 -0
  985. /package/dist/types/{src/components → components}/GrSlider/config.d.ts +0 -0
  986. /package/dist/types/{src/components → components}/GrSlider/defaults.d.ts +0 -0
  987. /package/dist/types/{src/components → components}/GrSlider/grSliderStyles.d.ts +0 -0
  988. /package/dist/types/{src/components → components}/GrSlider/index.d.ts +0 -0
  989. /package/dist/types/{src/components → components}/GrSlider/safelist.d.ts +0 -0
  990. /package/dist/types/{src/components → components}/GrSortableList/GrSortableList.vue.d.ts +0 -0
  991. /package/dist/types/{src/components → components}/GrSortableList/config.d.ts +0 -0
  992. /package/dist/types/{src/components → components}/GrSortableList/grSortableListStyles.d.ts +0 -0
  993. /package/dist/types/{src/components → components}/GrSortableList/index.d.ts +0 -0
  994. /package/dist/types/{src/components → components}/GrSortableList/safelist.d.ts +0 -0
  995. /package/dist/types/{src/components → components}/GrSplitter/GrSplitter.vue.d.ts +0 -0
  996. /package/dist/types/{src/components → components}/GrSplitter/config.d.ts +0 -0
  997. /package/dist/types/{src/components → components}/GrSplitter/defaults.d.ts +0 -0
  998. /package/dist/types/{src/components → components}/GrSplitter/grSplitterStyles.d.ts +0 -0
  999. /package/dist/types/{src/components → components}/GrSplitter/safelist.d.ts +0 -0
  1000. /package/dist/types/{src/components → components}/GrSplitter/splitterGeometry.d.ts +0 -0
  1001. /package/dist/types/{src/components → components}/GrStatistic/config.d.ts +0 -0
  1002. /package/dist/types/{src/components → components}/GrStatistic/countUp.d.ts +0 -0
  1003. /package/dist/types/{src/components → components}/GrStatistic/defaults.d.ts +0 -0
  1004. /package/dist/types/{src/components → components}/GrStatistic/formatStatisticValue.d.ts +0 -0
  1005. /package/dist/types/{src/components → components}/GrStatistic/grStatisticStyles.d.ts +0 -0
  1006. /package/dist/types/{src/components → components}/GrStatistic/index.d.ts +0 -0
  1007. /package/dist/types/{src/components → components}/GrStatistic/safelist.d.ts +0 -0
  1008. /package/dist/types/{src/components → components}/GrSwitch/config.d.ts +0 -0
  1009. /package/dist/types/{src/components → components}/GrSwitch/defaults.d.ts +0 -0
  1010. /package/dist/types/{src/components → components}/GrSwitch/grSwitchStyles.d.ts +0 -0
  1011. /package/dist/types/{src/components → components}/GrSwitch/index.d.ts +0 -0
  1012. /package/dist/types/{src/components → components}/GrSwitch/safelist.d.ts +0 -0
  1013. /package/dist/types/{src/components → components}/GrTabPanels/GrTabPanel.vue.d.ts +0 -0
  1014. /package/dist/types/{src/components → components}/GrTabPanels/GrTabPanels.vue.d.ts +0 -0
  1015. /package/dist/types/{src/components → components}/GrTabPanels/config.d.ts +0 -0
  1016. /package/dist/types/{src/components → components}/GrTabPanels/context.d.ts +0 -0
  1017. /package/dist/types/{src/components → components}/GrTable/config.d.ts +0 -0
  1018. /package/dist/types/{src/components → components}/GrTable/defaults.d.ts +0 -0
  1019. /package/dist/types/{src/components → components}/GrTable/grTableStyles.d.ts +0 -0
  1020. /package/dist/types/{src/components → components}/GrTable/index.d.ts +0 -0
  1021. /package/dist/types/{src/components → components}/GrTable/safelist.d.ts +0 -0
  1022. /package/dist/types/{src/components → components}/GrTabs/config.d.ts +0 -0
  1023. /package/dist/types/{src/components → components}/GrTabs/defaults.d.ts +0 -0
  1024. /package/dist/types/{src/components → components}/GrTabs/grTabsStyles.d.ts +0 -0
  1025. /package/dist/types/{src/components → components}/GrTabs/safelist.d.ts +0 -0
  1026. /package/dist/types/{src/components → components}/GrTextarea/GrTextarea.vue.d.ts +0 -0
  1027. /package/dist/types/{src/components → components}/GrTextarea/config.d.ts +0 -0
  1028. /package/dist/types/{src/components → components}/GrTextarea/defaults.d.ts +0 -0
  1029. /package/dist/types/{src/components → components}/GrTextarea/grTextareaStyles.d.ts +0 -0
  1030. /package/dist/types/{src/components → components}/GrTextarea/index.d.ts +0 -0
  1031. /package/dist/types/{src/components → components}/GrTextarea/safelist.d.ts +0 -0
  1032. /package/dist/types/{src/components → components}/GrTimeline/GrTimeline.vue.d.ts +0 -0
  1033. /package/dist/types/{src/components → components}/GrTimeline/config.d.ts +0 -0
  1034. /package/dist/types/{src/components → components}/GrTimeline/defaults.d.ts +0 -0
  1035. /package/dist/types/{src/components → components}/GrTimeline/grTimelineContext.d.ts +0 -0
  1036. /package/dist/types/{src/components → components}/GrTimeline/grTimelineStyles.d.ts +0 -0
  1037. /package/dist/types/{src/components → components}/GrTimeline/safelist.d.ts +0 -0
  1038. /package/dist/types/{src/components → components}/GrTimeline/timelineGroups.d.ts +0 -0
  1039. /package/dist/types/{src/components → components}/GrToaster/GrToaster.vue.d.ts +0 -0
  1040. /package/dist/types/{src/components → components}/GrToaster/config.d.ts +0 -0
  1041. /package/dist/types/{src/components → components}/GrToaster/grToasterStyles.d.ts +0 -0
  1042. /package/dist/types/{src/components → components}/GrToaster/index.d.ts +0 -0
  1043. /package/dist/types/{src/components → components}/GrToaster/safelist.d.ts +0 -0
  1044. /package/dist/types/{src/components → components}/GrTooltip/GrTooltip.vue.d.ts +0 -0
  1045. /package/dist/types/{src/components → components}/GrTooltip/config.d.ts +0 -0
  1046. /package/dist/types/{src/components → components}/GrTooltip/defaults.d.ts +0 -0
  1047. /package/dist/types/{src/components → components}/GrTooltip/grTooltipStyles.d.ts +0 -0
  1048. /package/dist/types/{src/components → components}/GrTooltip/index.d.ts +0 -0
  1049. /package/dist/types/{src/components → components}/GrTooltip/safelist.d.ts +0 -0
  1050. /package/dist/types/{src/components → components}/GrTree/GrTree.vue.d.ts +0 -0
  1051. /package/dist/types/{src/components → components}/GrTree/config.d.ts +0 -0
  1052. /package/dist/types/{src/components → components}/GrTree/defaults.d.ts +0 -0
  1053. /package/dist/types/{src/components → components}/GrTree/grTreeChecking.d.ts +0 -0
  1054. /package/dist/types/{src/components → components}/GrTree/grTreeDataAdapter.d.ts +0 -0
  1055. /package/dist/types/{src/components → components}/GrTree/grTreeInteractionContext.d.ts +0 -0
  1056. /package/dist/types/{src/components → components}/GrTree/grTreeProps.d.ts +0 -0
  1057. /package/dist/types/{src/components → components}/GrTree/grTreeStore.d.ts +0 -0
  1058. /package/dist/types/{src/components → components}/GrTree/grTreeStyles.d.ts +0 -0
  1059. /package/dist/types/{src/components → components}/GrTree/grTreeTypes.d.ts +0 -0
  1060. /package/dist/types/{src/components → components}/GrTree/index.d.ts +0 -0
  1061. /package/dist/types/{src/components → components}/GrTree/safelist.d.ts +0 -0
  1062. /package/dist/types/{src/components → components}/GrTreeSelect/config.d.ts +0 -0
  1063. /package/dist/types/{src/components → components}/GrTreeSelect/defaults.d.ts +0 -0
  1064. /package/dist/types/{src/components → components}/GrTreeSelect/grTreeSelectStyles.d.ts +0 -0
  1065. /package/dist/types/{src/components → components}/GrTreeSelect/grTreeSelectTypes.d.ts +0 -0
  1066. /package/dist/types/{src/components → components}/GrTreeSelect/index.d.ts +0 -0
  1067. /package/dist/types/{src/components → components}/GrTreeSelect/safelist.d.ts +0 -0
  1068. /package/dist/types/{src/components → components}/shared/classTokens.d.ts +0 -0
  1069. /package/dist/types/{src/components → components}/shared/hotkey.d.ts +0 -0
  1070. /package/dist/types/{src/components → components}/shared/hotkeyTokens.d.ts +0 -0
  1071. /package/dist/types/{src/components → components}/shared/icon.d.ts +0 -0
  1072. /package/dist/types/{src/components → components}/shared/instance.d.ts +0 -0
  1073. /package/dist/types/{src/components → components}/shared/optionFilter.d.ts +0 -0
  1074. /package/dist/types/{src/components → components}/shared/slotNodes.d.ts +0 -0
  1075. /package/dist/types/{src/components → components}/shared/tones.d.ts +0 -0
  1076. /package/dist/types/{src/composables → composables}/internal/dragSortGeometry.d.ts +0 -0
  1077. /package/dist/types/{src/composables → composables}/internal/focusables.d.ts +0 -0
  1078. /package/dist/types/{src/composables → composables}/internal/inert.d.ts +0 -0
  1079. /package/dist/types/{src/composables → composables}/internal/overlayStack.d.ts +0 -0
  1080. /package/dist/types/{src/composables → composables}/internal/portalRoot.d.ts +0 -0
  1081. /package/dist/types/{src/composables → composables}/internal/useAddonMeasurement.d.ts +0 -0
  1082. /package/dist/types/{src/composables → composables}/internal/useControlAddons.d.ts +0 -0
  1083. /package/dist/types/{src/composables → composables}/internal/useControlledOpen.d.ts +0 -0
  1084. /package/dist/types/{src/composables → composables}/internal/useFilePreviews.d.ts +0 -0
  1085. /package/dist/types/{src/composables → composables}/internal/useFocusWithin.d.ts +0 -0
  1086. /package/dist/types/{src/composables → composables}/internal/useInertOthers.d.ts +0 -0
  1087. /package/dist/types/{src/composables → composables}/internal/useModalOverlay.d.ts +0 -0
  1088. /package/dist/types/{src/composables → composables}/internal/useOverlayPresence.d.ts +0 -0
  1089. /package/dist/types/{src/composables → composables}/internal/useScrollLock.d.ts +0 -0
  1090. /package/dist/types/{src/composables → composables}/internal/useTeleportEnabled.d.ts +0 -0
  1091. /package/dist/types/{src/composables → composables}/useAnnouncer.d.ts +0 -0
  1092. /package/dist/types/{src/composables → composables}/useComboboxNavigation.d.ts +0 -0
  1093. /package/dist/types/{src/composables → composables}/useDismissible.d.ts +0 -0
  1094. /package/dist/types/{src/composables → composables}/useDragGesture.d.ts +0 -0
  1095. /package/dist/types/{src/composables → composables}/useDragSort.d.ts +0 -0
  1096. /package/dist/types/{src/composables → composables}/useFloating.d.ts +0 -0
  1097. /package/dist/types/{src/composables → composables}/useFocusTrap.d.ts +0 -0
  1098. /package/dist/types/{src/composables → composables}/useGrComponentConfig.d.ts +0 -0
  1099. /package/dist/types/{src/composables → composables}/useGrFormControl.d.ts +0 -0
  1100. /package/dist/types/{src/composables → composables}/useGranularityTranslations.d.ts +0 -0
  1101. /package/dist/types/{src/composables → composables}/useOverlayLayer.d.ts +0 -0
  1102. /package/dist/types/{src/composables → composables}/usePortalTarget.d.ts +0 -0
  1103. /package/dist/types/{src/composables → composables}/useRovingFocus.d.ts +0 -0
  1104. /package/dist/types/{src/composables → composables}/useTheme.d.ts +0 -0
  1105. /package/dist/types/{src/composables → composables}/useVirtualList.d.ts +0 -0
  1106. /package/dist/types/{src/directives → directives}/autofocus.d.ts +0 -0
  1107. /package/dist/types/{src/directives → directives}/autosize.d.ts +0 -0
  1108. /package/dist/types/{src/directives → directives}/clickOutside.d.ts +0 -0
  1109. /package/dist/types/{src/directives → directives}/dropzone.d.ts +0 -0
  1110. /package/dist/types/{src/directives → directives}/globalDirectives.d.ts +0 -0
  1111. /package/dist/types/{src/directives → directives}/hotkey.d.ts +0 -0
  1112. /package/dist/types/{src/directives → directives}/index.d.ts +0 -0
  1113. /package/dist/types/{src/directives → directives}/loading.d.ts +0 -0
  1114. /package/dist/types/{src/fileValidation → fileValidation}/FileValidationError.d.ts +0 -0
  1115. /package/dist/types/{src/fileValidation → fileValidation}/acceptValidator.d.ts +0 -0
  1116. /package/dist/types/{src/fileValidation → fileValidation}/allowedExtensionsValidator.d.ts +0 -0
  1117. /package/dist/types/{src/fileValidation → fileValidation}/allowedMimeTypesValidator.d.ts +0 -0
  1118. /package/dist/types/{src/fileValidation → fileValidation}/i18n.d.ts +0 -0
  1119. /package/dist/types/{src/fileValidation → fileValidation}/index.d.ts +0 -0
  1120. /package/dist/types/{src/fileValidation → fileValidation}/matchAccept.d.ts +0 -0
  1121. /package/dist/types/{src/fileValidation → fileValidation}/maxCountValidator.d.ts +0 -0
  1122. /package/dist/types/{src/fileValidation → fileValidation}/maxFileSize.d.ts +0 -0
  1123. /package/dist/types/{src/fileValidation → fileValidation}/maxTotalSizeBytesValidator.d.ts +0 -0
  1124. /package/dist/types/{src/fileValidation → fileValidation}/runFileValidators.d.ts +0 -0
  1125. /package/dist/types/{src/fileValidation → fileValidation}/types.d.ts +0 -0
  1126. /package/dist/types/{src/granular-provider → granular-provider}/index.d.ts +0 -0
  1127. /package/dist/types/{src/granular-provider → granular-provider}/node.d.ts +0 -0
  1128. /package/dist/types/{src/i18n → i18n}/adapter.d.ts +0 -0
  1129. /package/dist/types/{src/i18n → i18n}/all.d.ts +0 -0
  1130. /package/dist/types/{src/i18n → i18n}/index.d.ts +0 -0
  1131. /package/dist/types/{src/i18n → i18n}/messages/const.d.ts +0 -0
  1132. /package/dist/types/{src/i18n → i18n}/messages/index.d.ts +0 -0
  1133. /package/dist/types/{src/internal → internal}/granularityFormat.d.ts +0 -0
  1134. /package/dist/types/{src/internal → internal}/granularityI18n.d.ts +0 -0
  1135. /package/dist/types/{src/internal → internal}/keyboard.d.ts +0 -0
  1136. /package/dist/types/{src/testing → testing}/announcer.d.ts +0 -0
  1137. /package/dist/types/{src/testing → testing}/context.d.ts +0 -0
  1138. /package/dist/types/{src/testing → testing}/env.d.ts +0 -0
  1139. /package/dist/types/{src/testing → testing}/geometry.d.ts +0 -0
  1140. /package/dist/types/{src/testing → testing}/pointer.d.ts +0 -0
  1141. /package/dist/types/{src/theme → theme}/apply.d.ts +0 -0
  1142. /package/dist/types/{src/theme → theme}/color.d.ts +0 -0
  1143. /package/dist/types/{src/theme → theme}/extendTheme.d.ts +0 -0
  1144. /package/dist/types/{src/theme → theme}/index.d.ts +0 -0
  1145. /package/dist/types/{src/theme → theme}/roles.d.ts +0 -0
  1146. /package/dist/types/{src/theme → theme}/tone.d.ts +0 -0
  1147. /package/dist/types/{src/theme → theme}/validate.d.ts +0 -0
  1148. /package/dist/types/{src/tokens → tokens}/generated.d.ts +0 -0
  1149. /package/dist/types/{src/tokens → tokens}/index.d.ts +0 -0
  1150. /package/dist/types/{src/tokens → tokens}/types.d.ts +0 -0
  1151. /package/dist/types/{src/vue → vue}/index.d.ts +0 -0
  1152. /package/dist/types/{src/vue → vue}/plugin.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrSplitter-B9_JrT7q.js","names":[],"sources":["../../../../src/components/GrSplitter/splitterGeometry.ts","../../../../src/components/GrSplitter/GrSplitter.vue","../../../../src/components/GrSplitter/GrSplitter.vue"],"sourcesContent":["/**\n * Арифметика раздвижных панелей. Без Vue — проверяется без монтирования.\n *\n * Всё считается в процентах ширины (или высоты) контейнера: клавиатура,\n * границы и сворачивание работают без единого замера DOM, а серверный рендер\n * совпадает с клиентским. Замер нужен ровно в одном месте — перевод координаты\n * указателя в проценты.\n */\n\nexport const GR_SPLITTER_ORIENTATIONS = ['horizontal', 'vertical'] as const\n\nexport type GrSplitterOrientation = typeof GR_SPLITTER_ORIENTATIONS[number]\n\nexport interface GrSplitterBounds {\n /** Минимум первой панели. */\n min: number\n /** Максимум первой панели. */\n max: number\n /** Минимум второй панели: без него её можно задавить в ноль. */\n minEnd: number\n}\n\nfunction toFinite(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback\n}\n\n/**\n * Приводит долю первой панели к допустимой.\n *\n * При конфликте `min` и `minEnd` побеждает `min`: первая панель не должна\n * уезжать под свой минимум, даже если вторая при этом окажется уже своего.\n * Обратный порядок дал бы панель, которую пользователь не может вернуть.\n */\nexport function clampSize(value: number, bounds: GrSplitterBounds): number {\n const min = Math.min(100, Math.max(0, toFinite(bounds.min, 0)))\n const max = Math.min(100, Math.max(min, toFinite(bounds.max, 100)))\n const minEnd = Math.min(100, Math.max(0, toFinite(bounds.minEnd, 0)))\n\n const upper = Math.max(min, Math.min(max, 100 - minEnd))\n\n return Math.min(upper, Math.max(min, toFinite(value, min)))\n}\n\n/** Доля, соответствующая позиции указателя. Вне контейнера — его края. */\nexport function sizeFromPointer(\n rect: { left: number, top: number, width: number, height: number },\n clientX: number,\n clientY: number,\n orientation: GrSplitterOrientation,\n): number {\n const total = orientation === 'horizontal' ? rect.width : rect.height\n // Схлопнутый контейнер (ещё не в раскладке, `display: none`) — делить не на что.\n if (!(total > 0)) return 0\n\n const offset = orientation === 'horizontal' ? clientX - rect.left : clientY - rect.top\n\n return Math.min(100, Math.max(0, (offset / total) * 100))\n}\n\n/**\n * Тянуть панель ниже половины её минимума пользователь может только с одним\n * намерением — убрать её совсем. Это единственный способ свернуть панель\n * мышью: двойной клик занят сбросом к дефолту, `Enter` — клавиатурой.\n */\nexport function shouldCollapse(value: number, bounds: GrSplitterBounds): boolean {\n const min = Math.min(100, Math.max(0, toFinite(bounds.min, 0)))\n if (min <= 0) return false\n\n return toFinite(value, min) < min / 2\n}\n","<script setup lang=\"ts\">\nimport { computed, ref, useId, watch } from 'vue'\n\nimport { useGrComponentProp } from '../GrConfigProvider/context'\nimport { useDragGesture } from '../../composables/useDragGesture'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\nimport { paneClass, rootClass, separatorClass } from './grSplitterStyles'\nimport {\n clampSize,\n shouldCollapse,\n sizeFromPointer,\n type GrSplitterBounds,\n type GrSplitterOrientation,\n} from './splitterGeometry'\n\nexport type { GrSplitterOrientation } from './splitterGeometry'\n\n/**\n * Пропы {@link GrSplitter}.\n *\n * Две панели и разделитель между ними. Размер первой панели — доля контейнера\n * в процентах: она переживает смену ширины окна и рендерится на сервере без\n * замеров.\n */\nexport interface GrSplitterProps {\n /** Доля первой панели в процентах. Поддерживает `v-model`; без него компонент помнит размер сам. */\n modelValue?: number\n /** Стартовая доля и точка возврата по двойному клику. */\n defaultSize?: number\n /** `horizontal` — панели рядом, `vertical` — одна над другой. */\n orientation?: GrSplitterOrientation\n /** Минимум первой панели в процентах. */\n min?: number\n /** Максимум первой панели в процентах. */\n max?: number\n /** Минимум второй панели: без него её можно задавить в ноль. */\n minEnd?: number\n /** Шаг стрелок. */\n step?: number\n /** Шаг стрелок с `Shift`. */\n bigStep?: number\n /** Разрешить сворачивание первой панели. */\n collapsible?: boolean\n /** Первая панель свёрнута. Поддерживает `v-model:collapsed`. */\n collapsed?: boolean\n /** Разделитель не тянется, не фокусируется и не отвечает на клавиши. */\n disabled?: boolean\n /** Имя разделителя для скринридера. Не задано — из локали. */\n ariaLabel?: string\n}\n\nexport interface GrSplitterEmits {\n (e: 'update:modelValue', value: number): void\n (e: 'update:collapsed', value: boolean): void\n /** Конец жеста и каждый шаг с клавиатуры: сюда вешают сохранение раскладки. */\n (e: 'change', value: number): void\n}\n\nconst props = withDefaults(defineProps<GrSplitterProps>(), {\n modelValue: undefined,\n defaultSize: 50,\n min: 10,\n max: 90,\n minEnd: 10,\n step: 1,\n bigStep: 10,\n collapsed: false,\n disabled: false,\n ariaLabel: undefined,\n // `undefined`, а не готовые значения: иначе `componentDefaults` до них не дошли бы.\n orientation: undefined,\n collapsible: undefined,\n})\n\nconst emit = defineEmits<GrSplitterEmits>()\n\ndefineSlots<{\n /** Первая панель — та, чей размер задаёт модель. */\n start?: () => any\n /** Вторая панель: занимает остаток. */\n end?: () => any\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst orientation = useGrComponentProp('GrSplitter', 'orientation', () => props.orientation, 'horizontal')\nconst collapsible = useGrComponentProp('GrSplitter', 'collapsible', () => props.collapsible, false)\n\nconst startId = useId()\nconst rootEl = ref<HTMLElement | null>(null)\n\nconst bounds = computed<GrSplitterBounds>(() => ({\n min: props.min,\n max: props.max,\n minEnd: props.minEnd,\n}))\n\n/**\n * Локальное состояние с синхронизацией из пропа — поддерживает и controlled\n * (`v-model`), и uncontrolled (сплиттер помнит размер сам), как `collapsed`\n * у `GrSidebar`.\n */\nconst sizeState = ref(clampSize(props.modelValue ?? props.defaultSize, bounds.value))\nwatch(() => props.modelValue, (value) => {\n if (value !== undefined) sizeState.value = clampSize(value, bounds.value)\n})\n\nconst collapsedState = ref(props.collapsed)\nwatch(() => props.collapsed, value => (collapsedState.value = value))\n\n/** Размер, к которому возвращает `Enter`: свёрнутость не должна его терять. */\nconst restoreSize = ref(sizeState.value)\n\n/** Значение до начала жеста: `pointercancel` откатывает к нему. */\nlet sizeBeforeDrag = sizeState.value\nlet collapsedBeforeDrag = false\n\nconst isCollapsed = computed(() => collapsible.value && collapsedState.value)\n\n/** Что видно на экране: свёрнутая панель — это ноль в треке, но не ноль в модели. */\nconst renderedSize = computed(() => (isCollapsed.value ? 0 : clampSize(sizeState.value, bounds.value)))\n\nconst gridStyle = computed(() => {\n const track = `${renderedSize.value}% var(--gr-splitter-size, 6px) 1fr`\n\n return orientation.value === 'horizontal'\n ? { gridTemplateColumns: track }\n : { gridTemplateRows: track }\n})\n\n/**\n * `aria-orientation` описывает **сам разделитель**, а не раскладку: панели,\n * стоящие рядом, разделяет вертикальная полоса.\n */\nconst separatorOrientation = computed(() => (orientation.value === 'horizontal' ? 'vertical' : 'horizontal'))\n\nconst label = computed(() => props.ariaLabel ?? t('gr.splitter.label', 'Resize panels'))\n\nfunction setSize(next: number, commit: boolean): void {\n const value = clampSize(next, bounds.value)\n const changed = value !== sizeState.value\n\n sizeState.value = value\n if (changed) emit('update:modelValue', value)\n if (commit) emit('change', value)\n}\n\nfunction setCollapsed(value: boolean): void {\n if (collapsedState.value === value) return\n\n collapsedState.value = value\n emit('update:collapsed', value)\n}\n\n/**\n * Шаг размера. Свёрнутая панель на первое нажатие возвращается — двигать\n * то, чего не видно, значит менять раскладку вслепую.\n */\nfunction moveBy(delta: number): void {\n if (isCollapsed.value) {\n setCollapsed(false)\n setSize(restoreSize.value, true)\n return\n }\n\n restoreSize.value = clampSize(sizeState.value + delta, bounds.value)\n setSize(sizeState.value + delta, true)\n}\n\nfunction toggleCollapsed(): void {\n if (!collapsible.value) return\n\n if (isCollapsed.value) {\n setCollapsed(false)\n setSize(restoreSize.value, true)\n return\n }\n\n restoreSize.value = sizeState.value\n setCollapsed(true)\n emit('change', 0)\n}\n\nfunction reset(): void {\n setCollapsed(false)\n restoreSize.value = clampSize(props.defaultSize, bounds.value)\n setSize(props.defaultSize, true)\n}\n\n// ————— Указатель.\nfunction onPointerMove(event: PointerEvent): void {\n const rect = rootEl.value?.getBoundingClientRect()\n if (!rect) return\n\n // Против выделения текста под курсором во время жеста.\n event.preventDefault()\n\n const raw = sizeFromPointer(rect, event.clientX, event.clientY, orientation.value)\n\n if (collapsible.value && shouldCollapse(raw, bounds.value)) {\n if (!collapsedState.value) restoreSize.value = sizeState.value\n setCollapsed(true)\n return\n }\n\n setCollapsed(false)\n restoreSize.value = clampSize(raw, bounds.value)\n setSize(raw, false)\n}\n\nconst { isDragging, start: onPointerDown } = useDragGesture({\n disabled: () => props.disabled,\n onStart: () => {\n sizeBeforeDrag = sizeState.value\n collapsedBeforeDrag = collapsedState.value\n },\n onMove: onPointerMove,\n onEnd: () => emit('change', renderedSize.value),\n // Оборванный жест (браузер забрал указатель) не коммитит ничего: раскладка\n // возвращается к той, что была до нажатия.\n onCancel: () => {\n setCollapsed(collapsedBeforeDrag)\n setSize(sizeBeforeDrag, false)\n },\n})\n\n// ————— Клавиатура.\nconst decreaseKey = computed(() => (orientation.value === 'horizontal' ? 'ArrowLeft' : 'ArrowUp'))\nconst increaseKey = computed(() => (orientation.value === 'horizontal' ? 'ArrowRight' : 'ArrowDown'))\n\nfunction onKeydown(event: KeyboardEvent): void {\n if (props.disabled) return\n\n const step = event.shiftKey ? props.bigStep : props.step\n\n if (event.key === decreaseKey.value) moveBy(-step)\n else if (event.key === increaseKey.value) moveBy(step)\n else if (event.key === 'Home') moveBy(-100)\n else if (event.key === 'End') moveBy(100)\n else if (event.key === 'Enter') toggleCollapsed()\n else return\n\n // Дошли сюда — клавиша наша: страница не должна ещё и прокрутиться.\n event.preventDefault()\n}\n\nfunction onDoubleClick(): void {\n if (props.disabled) return\n\n reset()\n}\n</script>\n\n<template>\n <div\n ref=\"rootEl\"\n data-gr-splitter\n :data-orientation=\"orientation\"\n :data-dragging=\"isDragging ? '' : undefined\"\n :data-collapsed=\"isCollapsed ? '' : undefined\"\n :class=\"rootClass\"\n :style=\"gridStyle\"\n >\n <div\n :id=\"startId\"\n data-gr-splitter-pane=\"start\"\n :class=\"paneClass\"\n >\n <slot name=\"start\" />\n </div>\n\n <div\n data-gr-splitter-separator\n role=\"separator\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-orientation=\"separatorOrientation\"\n :aria-label=\"label\"\n :aria-controls=\"startId\"\n :aria-valuenow=\"Math.round(renderedSize)\"\n :aria-valuemin=\"Math.round(min)\"\n :aria-valuemax=\"Math.round(max)\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :class=\"separatorClass\"\n @pointerdown=\"onPointerDown\"\n @keydown=\"onKeydown\"\n @dblclick=\"onDoubleClick\"\n />\n\n <div\n data-gr-splitter-pane=\"end\"\n :class=\"paneClass\"\n >\n <slot name=\"end\" />\n </div>\n </div>\n</template>\n\n<style>\n[data-gr-splitter-separator] {\n background-color: var(--gr-splitter-color, var(--gr-brd));\n}\n\n/*\n * Зона захвата шире видимой полосы: шесть пикселей мышью не берутся, а делать\n * ради этого полосу толще — значит красить раскладку под удобство мыши.\n */\n[data-gr-splitter-separator]::before {\n content: '';\n position: absolute;\n inset: calc(-1 * var(--gr-splitter-hit, 4px));\n}\n\n/* Насечка: короткая полоса посередине — единственный видимый намёк, что это ручка. */\n[data-gr-splitter-separator]::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: var(--gr-radius-full);\n background-color: var(--gr-splitter-hover-color, var(--gr-muted-fg));\n opacity: 0;\n transform: translate(-50%, -50%);\n transition: opacity var(--gr-duration-fast) var(--gr-ease-out);\n}\n\n[data-gr-splitter][data-orientation='horizontal'] [data-gr-splitter-separator] {\n cursor: col-resize;\n}\n\n[data-gr-splitter][data-orientation='horizontal'] [data-gr-splitter-separator]::after {\n width: 2px;\n height: var(--gr-splitter-grip, 24px);\n}\n\n[data-gr-splitter][data-orientation='vertical'] [data-gr-splitter-separator] {\n cursor: row-resize;\n}\n\n[data-gr-splitter][data-orientation='vertical'] [data-gr-splitter-separator]::after {\n width: var(--gr-splitter-grip, 24px);\n height: 2px;\n}\n\n[data-gr-splitter-separator]:hover {\n background-color: var(--gr-splitter-hover-color, var(--gr-muted-fg));\n}\n\n[data-gr-splitter-separator]:hover::after,\n[data-gr-splitter-separator]:focus-visible::after {\n opacity: 1;\n}\n\n/* На залитой полосе насечка читается только вырезом — цветом страницы. */\n[data-gr-splitter-separator]:hover::after,\n[data-gr-splitter][data-dragging] [data-gr-splitter-separator]::after {\n background-color: var(--gr-bg);\n}\n\n/* Во время жеста полоса подсвечена, даже если курсор ушёл с неё. */\n[data-gr-splitter][data-dragging] [data-gr-splitter-separator] {\n background-color: var(--gr-splitter-active-color, var(--gr-primary));\n}\n\n[data-gr-splitter][data-dragging] [data-gr-splitter-separator]::after {\n opacity: 1;\n}\n\n/* Жест не должен попутно выделять текст в панелях. */\n[data-gr-splitter][data-dragging] {\n user-select: none;\n}\n\n[data-gr-splitter-separator][aria-disabled='true'] {\n cursor: default;\n}\n\n[data-gr-splitter-separator][aria-disabled='true']::after {\n display: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref, useId, watch } from 'vue'\n\nimport { useGrComponentProp } from '../GrConfigProvider/context'\nimport { useDragGesture } from '../../composables/useDragGesture'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\nimport { paneClass, rootClass, separatorClass } from './grSplitterStyles'\nimport {\n clampSize,\n shouldCollapse,\n sizeFromPointer,\n type GrSplitterBounds,\n type GrSplitterOrientation,\n} from './splitterGeometry'\n\nexport type { GrSplitterOrientation } from './splitterGeometry'\n\n/**\n * Пропы {@link GrSplitter}.\n *\n * Две панели и разделитель между ними. Размер первой панели — доля контейнера\n * в процентах: она переживает смену ширины окна и рендерится на сервере без\n * замеров.\n */\nexport interface GrSplitterProps {\n /** Доля первой панели в процентах. Поддерживает `v-model`; без него компонент помнит размер сам. */\n modelValue?: number\n /** Стартовая доля и точка возврата по двойному клику. */\n defaultSize?: number\n /** `horizontal` — панели рядом, `vertical` — одна над другой. */\n orientation?: GrSplitterOrientation\n /** Минимум первой панели в процентах. */\n min?: number\n /** Максимум первой панели в процентах. */\n max?: number\n /** Минимум второй панели: без него её можно задавить в ноль. */\n minEnd?: number\n /** Шаг стрелок. */\n step?: number\n /** Шаг стрелок с `Shift`. */\n bigStep?: number\n /** Разрешить сворачивание первой панели. */\n collapsible?: boolean\n /** Первая панель свёрнута. Поддерживает `v-model:collapsed`. */\n collapsed?: boolean\n /** Разделитель не тянется, не фокусируется и не отвечает на клавиши. */\n disabled?: boolean\n /** Имя разделителя для скринридера. Не задано — из локали. */\n ariaLabel?: string\n}\n\nexport interface GrSplitterEmits {\n (e: 'update:modelValue', value: number): void\n (e: 'update:collapsed', value: boolean): void\n /** Конец жеста и каждый шаг с клавиатуры: сюда вешают сохранение раскладки. */\n (e: 'change', value: number): void\n}\n\nconst props = withDefaults(defineProps<GrSplitterProps>(), {\n modelValue: undefined,\n defaultSize: 50,\n min: 10,\n max: 90,\n minEnd: 10,\n step: 1,\n bigStep: 10,\n collapsed: false,\n disabled: false,\n ariaLabel: undefined,\n // `undefined`, а не готовые значения: иначе `componentDefaults` до них не дошли бы.\n orientation: undefined,\n collapsible: undefined,\n})\n\nconst emit = defineEmits<GrSplitterEmits>()\n\ndefineSlots<{\n /** Первая панель — та, чей размер задаёт модель. */\n start?: () => any\n /** Вторая панель: занимает остаток. */\n end?: () => any\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst orientation = useGrComponentProp('GrSplitter', 'orientation', () => props.orientation, 'horizontal')\nconst collapsible = useGrComponentProp('GrSplitter', 'collapsible', () => props.collapsible, false)\n\nconst startId = useId()\nconst rootEl = ref<HTMLElement | null>(null)\n\nconst bounds = computed<GrSplitterBounds>(() => ({\n min: props.min,\n max: props.max,\n minEnd: props.minEnd,\n}))\n\n/**\n * Локальное состояние с синхронизацией из пропа — поддерживает и controlled\n * (`v-model`), и uncontrolled (сплиттер помнит размер сам), как `collapsed`\n * у `GrSidebar`.\n */\nconst sizeState = ref(clampSize(props.modelValue ?? props.defaultSize, bounds.value))\nwatch(() => props.modelValue, (value) => {\n if (value !== undefined) sizeState.value = clampSize(value, bounds.value)\n})\n\nconst collapsedState = ref(props.collapsed)\nwatch(() => props.collapsed, value => (collapsedState.value = value))\n\n/** Размер, к которому возвращает `Enter`: свёрнутость не должна его терять. */\nconst restoreSize = ref(sizeState.value)\n\n/** Значение до начала жеста: `pointercancel` откатывает к нему. */\nlet sizeBeforeDrag = sizeState.value\nlet collapsedBeforeDrag = false\n\nconst isCollapsed = computed(() => collapsible.value && collapsedState.value)\n\n/** Что видно на экране: свёрнутая панель — это ноль в треке, но не ноль в модели. */\nconst renderedSize = computed(() => (isCollapsed.value ? 0 : clampSize(sizeState.value, bounds.value)))\n\nconst gridStyle = computed(() => {\n const track = `${renderedSize.value}% var(--gr-splitter-size, 6px) 1fr`\n\n return orientation.value === 'horizontal'\n ? { gridTemplateColumns: track }\n : { gridTemplateRows: track }\n})\n\n/**\n * `aria-orientation` описывает **сам разделитель**, а не раскладку: панели,\n * стоящие рядом, разделяет вертикальная полоса.\n */\nconst separatorOrientation = computed(() => (orientation.value === 'horizontal' ? 'vertical' : 'horizontal'))\n\nconst label = computed(() => props.ariaLabel ?? t('gr.splitter.label', 'Resize panels'))\n\nfunction setSize(next: number, commit: boolean): void {\n const value = clampSize(next, bounds.value)\n const changed = value !== sizeState.value\n\n sizeState.value = value\n if (changed) emit('update:modelValue', value)\n if (commit) emit('change', value)\n}\n\nfunction setCollapsed(value: boolean): void {\n if (collapsedState.value === value) return\n\n collapsedState.value = value\n emit('update:collapsed', value)\n}\n\n/**\n * Шаг размера. Свёрнутая панель на первое нажатие возвращается — двигать\n * то, чего не видно, значит менять раскладку вслепую.\n */\nfunction moveBy(delta: number): void {\n if (isCollapsed.value) {\n setCollapsed(false)\n setSize(restoreSize.value, true)\n return\n }\n\n restoreSize.value = clampSize(sizeState.value + delta, bounds.value)\n setSize(sizeState.value + delta, true)\n}\n\nfunction toggleCollapsed(): void {\n if (!collapsible.value) return\n\n if (isCollapsed.value) {\n setCollapsed(false)\n setSize(restoreSize.value, true)\n return\n }\n\n restoreSize.value = sizeState.value\n setCollapsed(true)\n emit('change', 0)\n}\n\nfunction reset(): void {\n setCollapsed(false)\n restoreSize.value = clampSize(props.defaultSize, bounds.value)\n setSize(props.defaultSize, true)\n}\n\n// ————— Указатель.\nfunction onPointerMove(event: PointerEvent): void {\n const rect = rootEl.value?.getBoundingClientRect()\n if (!rect) return\n\n // Против выделения текста под курсором во время жеста.\n event.preventDefault()\n\n const raw = sizeFromPointer(rect, event.clientX, event.clientY, orientation.value)\n\n if (collapsible.value && shouldCollapse(raw, bounds.value)) {\n if (!collapsedState.value) restoreSize.value = sizeState.value\n setCollapsed(true)\n return\n }\n\n setCollapsed(false)\n restoreSize.value = clampSize(raw, bounds.value)\n setSize(raw, false)\n}\n\nconst { isDragging, start: onPointerDown } = useDragGesture({\n disabled: () => props.disabled,\n onStart: () => {\n sizeBeforeDrag = sizeState.value\n collapsedBeforeDrag = collapsedState.value\n },\n onMove: onPointerMove,\n onEnd: () => emit('change', renderedSize.value),\n // Оборванный жест (браузер забрал указатель) не коммитит ничего: раскладка\n // возвращается к той, что была до нажатия.\n onCancel: () => {\n setCollapsed(collapsedBeforeDrag)\n setSize(sizeBeforeDrag, false)\n },\n})\n\n// ————— Клавиатура.\nconst decreaseKey = computed(() => (orientation.value === 'horizontal' ? 'ArrowLeft' : 'ArrowUp'))\nconst increaseKey = computed(() => (orientation.value === 'horizontal' ? 'ArrowRight' : 'ArrowDown'))\n\nfunction onKeydown(event: KeyboardEvent): void {\n if (props.disabled) return\n\n const step = event.shiftKey ? props.bigStep : props.step\n\n if (event.key === decreaseKey.value) moveBy(-step)\n else if (event.key === increaseKey.value) moveBy(step)\n else if (event.key === 'Home') moveBy(-100)\n else if (event.key === 'End') moveBy(100)\n else if (event.key === 'Enter') toggleCollapsed()\n else return\n\n // Дошли сюда — клавиша наша: страница не должна ещё и прокрутиться.\n event.preventDefault()\n}\n\nfunction onDoubleClick(): void {\n if (props.disabled) return\n\n reset()\n}\n</script>\n\n<template>\n <div\n ref=\"rootEl\"\n data-gr-splitter\n :data-orientation=\"orientation\"\n :data-dragging=\"isDragging ? '' : undefined\"\n :data-collapsed=\"isCollapsed ? '' : undefined\"\n :class=\"rootClass\"\n :style=\"gridStyle\"\n >\n <div\n :id=\"startId\"\n data-gr-splitter-pane=\"start\"\n :class=\"paneClass\"\n >\n <slot name=\"start\" />\n </div>\n\n <div\n data-gr-splitter-separator\n role=\"separator\"\n :tabindex=\"disabled ? undefined : 0\"\n :aria-orientation=\"separatorOrientation\"\n :aria-label=\"label\"\n :aria-controls=\"startId\"\n :aria-valuenow=\"Math.round(renderedSize)\"\n :aria-valuemin=\"Math.round(min)\"\n :aria-valuemax=\"Math.round(max)\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :class=\"separatorClass\"\n @pointerdown=\"onPointerDown\"\n @keydown=\"onKeydown\"\n @dblclick=\"onDoubleClick\"\n />\n\n <div\n data-gr-splitter-pane=\"end\"\n :class=\"paneClass\"\n >\n <slot name=\"end\" />\n </div>\n </div>\n</template>\n\n<style>\n[data-gr-splitter-separator] {\n background-color: var(--gr-splitter-color, var(--gr-brd));\n}\n\n/*\n * Зона захвата шире видимой полосы: шесть пикселей мышью не берутся, а делать\n * ради этого полосу толще — значит красить раскладку под удобство мыши.\n */\n[data-gr-splitter-separator]::before {\n content: '';\n position: absolute;\n inset: calc(-1 * var(--gr-splitter-hit, 4px));\n}\n\n/* Насечка: короткая полоса посередине — единственный видимый намёк, что это ручка. */\n[data-gr-splitter-separator]::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n border-radius: var(--gr-radius-full);\n background-color: var(--gr-splitter-hover-color, var(--gr-muted-fg));\n opacity: 0;\n transform: translate(-50%, -50%);\n transition: opacity var(--gr-duration-fast) var(--gr-ease-out);\n}\n\n[data-gr-splitter][data-orientation='horizontal'] [data-gr-splitter-separator] {\n cursor: col-resize;\n}\n\n[data-gr-splitter][data-orientation='horizontal'] [data-gr-splitter-separator]::after {\n width: 2px;\n height: var(--gr-splitter-grip, 24px);\n}\n\n[data-gr-splitter][data-orientation='vertical'] [data-gr-splitter-separator] {\n cursor: row-resize;\n}\n\n[data-gr-splitter][data-orientation='vertical'] [data-gr-splitter-separator]::after {\n width: var(--gr-splitter-grip, 24px);\n height: 2px;\n}\n\n[data-gr-splitter-separator]:hover {\n background-color: var(--gr-splitter-hover-color, var(--gr-muted-fg));\n}\n\n[data-gr-splitter-separator]:hover::after,\n[data-gr-splitter-separator]:focus-visible::after {\n opacity: 1;\n}\n\n/* На залитой полосе насечка читается только вырезом — цветом страницы. */\n[data-gr-splitter-separator]:hover::after,\n[data-gr-splitter][data-dragging] [data-gr-splitter-separator]::after {\n background-color: var(--gr-bg);\n}\n\n/* Во время жеста полоса подсвечена, даже если курсор ушёл с неё. */\n[data-gr-splitter][data-dragging] [data-gr-splitter-separator] {\n background-color: var(--gr-splitter-active-color, var(--gr-primary));\n}\n\n[data-gr-splitter][data-dragging] [data-gr-splitter-separator]::after {\n opacity: 1;\n}\n\n/* Жест не должен попутно выделять текст в панелях. */\n[data-gr-splitter][data-dragging] {\n user-select: none;\n}\n\n[data-gr-splitter-separator][aria-disabled='true'] {\n cursor: default;\n}\n\n[data-gr-splitter-separator][aria-disabled='true']::after {\n display: none;\n}\n</style>\n"],"mappings":";;;;;;AAsBA,SAAS,SAAS,OAAe,UAA0B;CACzD,OAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAC1C;;;;;;;;AASA,SAAgB,UAAU,OAAe,QAAkC;CACzE,MAAM,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,SAAS,OAAO,KAAK,CAAC,CAAC,CAAC;CAC9D,MAAM,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,SAAS,OAAO,KAAK,GAAG,CAAC,CAAC;CAClE,MAAM,SAAS,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,SAAS,OAAO,QAAQ,CAAC,CAAC,CAAC;CAEpE,MAAM,QAAQ,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,MAAM,CAAC;CAEvD,OAAO,KAAK,IAAI,OAAO,KAAK,IAAI,KAAK,SAAS,OAAO,GAAG,CAAC,CAAC;AAC5D;;AAGA,SAAgB,gBACd,MACA,SACA,SACA,aACQ;CACR,MAAM,QAAQ,gBAAgB,eAAe,KAAK,QAAQ,KAAK;CAE/D,IAAI,EAAE,QAAQ,IAAI,OAAO;CAEzB,MAAM,SAAS,gBAAgB,eAAe,UAAU,KAAK,OAAO,UAAU,KAAK;CAEnF,OAAO,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI,SAAS,QAAS,GAAG,CAAC;AAC1D;;;;;;AAOA,SAAgB,eAAe,OAAe,QAAmC;CAC/E,MAAM,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,SAAS,OAAO,KAAK,CAAC,CAAC,CAAC;CAC9D,IAAI,OAAO,GAAG,OAAO;CAErB,OAAO,SAAS,OAAO,GAAG,IAAI,MAAM;AACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECVA,MAAM,QAAQ;EAgBd,MAAM,OAAO;EASb,MAAM,EAAE,MAAM,2BAA2B;EAEzC,MAAM,cAAc,mBAAmB,cAAc,qBAAqB,MAAM,aAAa,YAAY;EACzG,MAAM,cAAc,mBAAmB,cAAc,qBAAqB,MAAM,aAAa,KAAK;EAElG,MAAM,UAAU,MAAM;EACtB,MAAM,SAAS,IAAwB,IAAI;EAE3C,MAAM,SAAS,gBAAkC;GAC/C,KAAK,MAAM;GACX,KAAK,MAAM;GACX,QAAQ,MAAM;EAChB,EAAE;;;;;;EAOF,MAAM,YAAY,IAAI,UAAU,MAAM,cAAc,MAAM,aAAa,OAAO,KAAK,CAAC;EACpF,YAAY,MAAM,aAAa,UAAU;GACvC,IAAI,UAAU,KAAA,GAAW,UAAU,QAAQ,UAAU,OAAO,OAAO,KAAK;EAC1E,CAAC;EAED,MAAM,iBAAiB,IAAI,MAAM,SAAS;EAC1C,YAAY,MAAM,YAAW,UAAU,eAAe,QAAQ,KAAM;;EAGpE,MAAM,cAAc,IAAI,UAAU,KAAK;;EAGvC,IAAI,iBAAiB,UAAU;EAC/B,IAAI,sBAAsB;EAE1B,MAAM,cAAc,eAAe,YAAY,SAAS,eAAe,KAAK;;EAG5E,MAAM,eAAe,eAAgB,YAAY,QAAQ,IAAI,UAAU,UAAU,OAAO,OAAO,KAAK,CAAE;EAEtG,MAAM,YAAY,eAAe;GAC/B,MAAM,QAAQ,GAAG,aAAa,MAAM;GAEpC,OAAO,YAAY,UAAU,eACzB,EAAE,qBAAqB,MAAM,IAC7B,EAAE,kBAAkB,MAAM;EAChC,CAAC;;;;;EAMD,MAAM,uBAAuB,eAAgB,YAAY,UAAU,eAAe,aAAa,YAAa;EAE5G,MAAM,QAAQ,eAAe,MAAM,aAAa,EAAE,qBAAqB,eAAe,CAAC;EAEvF,SAAS,QAAQ,MAAc,QAAuB;GACpD,MAAM,QAAQ,UAAU,MAAM,OAAO,KAAK;GAC1C,MAAM,UAAU,UAAU,UAAU;GAEpC,UAAU,QAAQ;GAClB,IAAI,SAAS,KAAK,qBAAqB,KAAK;GAC5C,IAAI,QAAQ,KAAK,UAAU,KAAK;EAClC;EAEA,SAAS,aAAa,OAAsB;GAC1C,IAAI,eAAe,UAAU,OAAO;GAEpC,eAAe,QAAQ;GACvB,KAAK,oBAAoB,KAAK;EAChC;;;;;EAMA,SAAS,OAAO,OAAqB;GACnC,IAAI,YAAY,OAAO;IACrB,aAAa,KAAK;IAClB,QAAQ,YAAY,OAAO,IAAI;IAC/B;GACF;GAEA,YAAY,QAAQ,UAAU,UAAU,QAAQ,OAAO,OAAO,KAAK;GACnE,QAAQ,UAAU,QAAQ,OAAO,IAAI;EACvC;EAEA,SAAS,kBAAwB;GAC/B,IAAI,CAAC,YAAY,OAAO;GAExB,IAAI,YAAY,OAAO;IACrB,aAAa,KAAK;IAClB,QAAQ,YAAY,OAAO,IAAI;IAC/B;GACF;GAEA,YAAY,QAAQ,UAAU;GAC9B,aAAa,IAAI;GACjB,KAAK,UAAU,CAAC;EAClB;EAEA,SAAS,QAAc;GACrB,aAAa,KAAK;GAClB,YAAY,QAAQ,UAAU,MAAM,aAAa,OAAO,KAAK;GAC7D,QAAQ,MAAM,aAAa,IAAI;EACjC;EAGA,SAAS,cAAc,OAA2B;GAChD,MAAM,OAAO,OAAO,OAAO,sBAAsB;GACjD,IAAI,CAAC,MAAM;GAGX,MAAM,eAAe;GAErB,MAAM,MAAM,gBAAgB,MAAM,MAAM,SAAS,MAAM,SAAS,YAAY,KAAK;GAEjF,IAAI,YAAY,SAAS,eAAe,KAAK,OAAO,KAAK,GAAG;IAC1D,IAAI,CAAC,eAAe,OAAO,YAAY,QAAQ,UAAU;IACzD,aAAa,IAAI;IACjB;GACF;GAEA,aAAa,KAAK;GAClB,YAAY,QAAQ,UAAU,KAAK,OAAO,KAAK;GAC/C,QAAQ,KAAK,KAAK;EACpB;EAEA,MAAM,EAAE,YAAY,OAAO,kBAAkB,eAAe;GAC1D,gBAAgB,MAAM;GACtB,eAAe;IACb,iBAAiB,UAAU;IAC3B,sBAAsB,eAAe;GACvC;GACA,QAAQ;GACR,aAAa,KAAK,UAAU,aAAa,KAAK;GAG9C,gBAAgB;IACd,aAAa,mBAAmB;IAChC,QAAQ,gBAAgB,KAAK;GAC/B;EACF,CAAC;EAGD,MAAM,cAAc,eAAgB,YAAY,UAAU,eAAe,cAAc,SAAU;EACjG,MAAM,cAAc,eAAgB,YAAY,UAAU,eAAe,eAAe,WAAY;EAEpG,SAAS,UAAU,OAA4B;GAC7C,IAAI,MAAM,UAAU;GAEpB,MAAM,OAAO,MAAM,WAAW,MAAM,UAAU,MAAM;GAEpD,IAAI,MAAM,QAAQ,YAAY,OAAO,OAAO,CAAC,IAAI;QAC5C,IAAI,MAAM,QAAQ,YAAY,OAAO,OAAO,IAAI;QAChD,IAAI,MAAM,QAAQ,QAAQ,OAAO,IAAI;QACrC,IAAI,MAAM,QAAQ,OAAO,OAAO,GAAG;QACnC,IAAI,MAAM,QAAQ,SAAS,gBAAgB;QAC3C;GAGL,MAAM,eAAe;EACvB;EAEA,SAAS,gBAAsB;GAC7B,IAAI,MAAM,UAAU;GAEpB,MAAM;EACR;;uBAIE,mBAwCM,OAAA;aAvCA;IAAJ,KAAI;IACJ,oBAAA;IACC,oBAAkB,MAAA,WAAA;IAClB,iBAAe,MAAA,UAAA,IAAU,KAAQ,KAAA;IACjC,kBAAgB,YAAA,QAAW,KAAQ,KAAA;IACnC,OAAK,eAAE,MAAA,SAAA,CAAS;IAChB,OAAK,eAAE,UAAA,KAAS;;IAEjB,mBAMM,OAAA;KALH,IAAI,MAAA,OAAA;KACL,yBAAsB;KACrB,OAAK,eAAE,MAAA,SAAA,CAAS;QAEjB,WAAqB,KAAA,QAAA,OAAA,CAAA,GAAA,IAAA,UAAA;IAGvB,mBAeE,OAAA;KAdA,8BAAA;KACA,MAAK;KACJ,UAAU,QAAA,WAAW,KAAA,IAAS;KAC9B,oBAAkB,qBAAA;KAClB,cAAY,MAAA;KACZ,iBAAe,MAAA,OAAA;KACf,iBAAe,KAAK,MAAM,aAAA,KAAY;KACtC,iBAAe,KAAK,MAAM,QAAA,GAAG;KAC7B,iBAAe,KAAK,MAAM,QAAA,GAAG;KAC7B,iBAAe,QAAA,WAAQ,SAAY,KAAA;KACnC,OAAK,eAAE,MAAA,cAAA,CAAc;KACrB,eAAW,OAAA,OAAA,OAAA,MAAA,GAAA,SAAE,MAAA,aAAA,KAAA,MAAA,aAAA,CAAA,CAAA,GAAA,IAAA;KACJ;KACT,YAAU;;IAGb,mBAKM,OAAA;KAJJ,yBAAsB;KACrB,OAAK,eAAE,MAAA,SAAA,CAAS;QAEjB,WAAmB,KAAA,QAAA,KAAA,CAAA,GAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- import { n as grSplitterSafelist, t as grSplitterConfig } from "../../chunks/config-BE6n20np2.js";
2
- import { a as sizeFromPointer, i as shouldCollapse, n as GR_SPLITTER_ORIENTATIONS, r as clampSize, t as GrSplitter_default } from "./chunks/GrSplitter-BzxVQwbY.js";
3
- export { GR_SPLITTER_ORIENTATIONS, GrSplitter_default as GrSplitter, GrSplitter_default as default, clampSize, grSplitterConfig, grSplitterSafelist, shouldCollapse, sizeFromPointer };
1
+ import { n as grSplitterSafelist, t as grSplitterConfig } from "../../chunks/config-BE6n20np.js";
2
+ import { n as sizeFromPointer, t as GrSplitter_default } from "./chunks/GrSplitter-B9_JrT7q.js";
3
+ export { GrSplitter_default as GrSplitter, GrSplitter_default as default, grSplitterConfig, grSplitterSafelist, sizeFromPointer };
@@ -0,0 +1,333 @@
1
+ import { a as useGrComponentSize } from "../../../chunks/context-CTbuwcYs.js";
2
+ import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
3
+ import { t as GrSkeleton_default } from "../../GrSkeleton/chunks/GrSkeleton-CgfXxPQ2.js";
4
+ import { n as iconTag, t as iconClass } from "../../../chunks/icon-Dag2tIMs.js";
5
+ import { t as minus_default } from "../../../chunks/minus-oxdbHF33.js";
6
+ import { n as trending_down_default, t as trending_up_default } from "../../../chunks/trending-up-Bf9AQmoq.js";
7
+ import { a as statisticRootClass, c as statisticTrendClassByTrend, i as statisticPlaceholderHeightBySize, l as statisticTrendSizeBySize, o as statisticTitleClass, r as statisticAffixSizeBySize, s as statisticTitleSizeBySize, u as statisticValueClass } from "../../../chunks/config-Be9k9bOf.js";
8
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, markRaw, normalizeClass, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, watch, withCtx } from "vue";
9
+ //#region src/components/GrStatistic/countUp.ts
10
+ /**
11
+ * Перебор чисел для `GrStatistic`: чистая арифметика кадра без Vue и таймеров.
12
+ *
13
+ * Вынесено отдельным модулем по той же причине, что и `formatStatisticValue`:
14
+ * кривая и округление проверяются напрямую, без монтирования и подмены `rAF`.
15
+ */
16
+ /** Быстрый старт, мягкая остановка — та же форма, что у `--gr-ease-out`. */
17
+ function easeOutCubic(t) {
18
+ return 1 - (1 - Math.min(Math.max(t, 0), 1)) ** 3;
19
+ }
20
+ /**
21
+ * Значение кадра на `elapsed` миллисекунде перехода `from → to`.
22
+ *
23
+ * Округление до `precision` обязательно: без него кадры показывали бы
24
+ * `1283.6666666666667` там, где показатель целый, и ширина строки прыгала бы
25
+ * даже при `tabular-nums`. Последний кадр возвращает ровно `to` — приближение
26
+ * не должно оставлять показатель в 1283.9999.
27
+ */
28
+ function countUpFrame(from, to, elapsed, duration, precision) {
29
+ if (!(duration > 0) || elapsed >= duration) return to;
30
+ const digits = Math.min(Math.max(precision ?? 0, 0), 20);
31
+ const value = from + (to - from) * easeOutCubic(elapsed / duration);
32
+ return Number(value.toFixed(digits));
33
+ }
34
+ //#endregion
35
+ //#region src/components/GrStatistic/formatStatisticValue.ts
36
+ var DEFAULT_GROUP_SEPARATOR = " ";
37
+ var DEFAULT_DECIMAL_SEPARATOR = ".";
38
+ /**
39
+ * Форматирует значение показателя: фиксирует точность и расставляет разделители.
40
+ *
41
+ * Нечисловые значения возвращаются без изменений — это позволяет показывать в
42
+ * `GrStatistic` уже готовые строки («2 ч 15 мин», «—») без обходных пропов.
43
+ * Вынесено из SFC отдельным модулем, чтобы тестировалось без монтирования.
44
+ *
45
+ * Порядок разрешения разделителей: явный проп → локаль → встроенный дефолт.
46
+ */
47
+ function formatStatisticValue(value, options = {}) {
48
+ const { precision, groupSeparator, decimalSeparator, locale } = options;
49
+ const numeric = typeof value === "number" ? value : Number(value);
50
+ if (typeof value === "string" && (value.trim() === "" || !Number.isFinite(numeric))) return value;
51
+ if (!Number.isFinite(numeric)) return String(value);
52
+ if (locale) return formatByLocale(numeric, locale, {
53
+ precision,
54
+ groupSeparator,
55
+ decimalSeparator
56
+ });
57
+ const fixed = precision === void 0 ? String(numeric) : numeric.toFixed(precision);
58
+ if (fixed.includes("e") || fixed.includes("E")) return fixed;
59
+ const negative = fixed.startsWith("-");
60
+ const [intPart, fracPart] = (negative ? fixed.slice(1) : fixed).split(".");
61
+ const separator = groupSeparator ?? DEFAULT_GROUP_SEPARATOR;
62
+ const grouped = separator ? intPart.replace(/\B(?=(\d{3})+(?!\d))/g, separator) : intPart;
63
+ return [
64
+ negative ? "-" : "",
65
+ grouped,
66
+ fracPart ? `${decimalSeparator ?? DEFAULT_DECIMAL_SEPARATOR}${fracPart}` : ""
67
+ ].join("");
68
+ }
69
+ /**
70
+ * `formatToParts` вместо `format`: даёт заменить отдельные разделители, оставив
71
+ * остальные правила локали (индийская группировка, знак минуса, порядок частей).
72
+ */
73
+ function formatByLocale(value, locale, options) {
74
+ const { precision, groupSeparator, decimalSeparator } = options;
75
+ const digits = precision === void 0 ? void 0 : Math.min(Math.max(precision, 0), 20);
76
+ return new Intl.NumberFormat(locale, {
77
+ useGrouping: true,
78
+ minimumFractionDigits: digits,
79
+ maximumFractionDigits: digits ?? 20
80
+ }).formatToParts(value).map((part) => {
81
+ if (part.type === "group" && groupSeparator !== void 0) return groupSeparator;
82
+ if (part.type === "decimal" && decimalSeparator !== void 0) return decimalSeparator;
83
+ return part.value;
84
+ }).join("");
85
+ }
86
+ //#endregion
87
+ //#region src/components/GrStatistic/GrStatistic.vue?vue&type=script&setup=true&lang.ts
88
+ var _hoisted_1 = {
89
+ key: 0,
90
+ "data-gr-statistic-icon": "",
91
+ class: "mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--gr-radius-lg)] bg-[var(--gr-muted)] text-[var(--gr-muted-fg)]"
92
+ };
93
+ var _hoisted_2 = { class: "min-w-0" };
94
+ var _hoisted_3 = { class: "sr-only" };
95
+ var _hoisted_4 = ["aria-hidden"];
96
+ var _hoisted_5 = {
97
+ key: 1,
98
+ "data-gr-statistic-final": "",
99
+ class: "sr-only"
100
+ };
101
+ var _hoisted_6 = {
102
+ key: 0,
103
+ "data-gr-statistic-trend-label": "",
104
+ class: "sr-only"
105
+ };
106
+ //#endregion
107
+ //#region src/components/GrStatistic/GrStatistic.vue
108
+ var GrStatistic_default = /* @__PURE__ */ defineComponent({
109
+ __name: "GrStatistic",
110
+ props: {
111
+ value: {},
112
+ title: { default: void 0 },
113
+ precision: { default: void 0 },
114
+ groupSeparator: { default: void 0 },
115
+ decimalSeparator: { default: void 0 },
116
+ locale: { default: void 0 },
117
+ prefix: { default: void 0 },
118
+ suffix: { default: void 0 },
119
+ icon: { default: void 0 },
120
+ size: { default: void 0 },
121
+ tone: { default: "neutral" },
122
+ trend: { default: void 0 },
123
+ trendText: { default: void 0 },
124
+ loading: {
125
+ type: Boolean,
126
+ default: false
127
+ },
128
+ animate: {
129
+ type: Boolean,
130
+ default: false
131
+ },
132
+ animateDuration: { default: 600 },
133
+ as: { default: void 0 },
134
+ href: { default: void 0 },
135
+ clickable: {
136
+ type: Boolean,
137
+ default: false
138
+ }
139
+ },
140
+ emits: ["click"],
141
+ setup(__props, { emit: __emit }) {
142
+ const props = __props;
143
+ const emit = __emit;
144
+ const slots = useSlots();
145
+ const { t, locale } = useGranularityTranslations();
146
+ const resolvedLocale = computed(() => props.locale ?? locale.value);
147
+ /**
148
+ * Число текущего кадра перебора. `null` — перебора нет, показываем сам проп:
149
+ * так значение остаётся конечным и на сервере, и до первого твина.
150
+ */
151
+ const frameValue = ref(null);
152
+ const formatted = computed(() => formatStatisticValue(frameValue.value ?? props.value, {
153
+ precision: props.precision,
154
+ groupSeparator: props.groupSeparator,
155
+ decimalSeparator: props.decimalSeparator,
156
+ locale: resolvedLocale.value
157
+ }));
158
+ /** Конечное значение — то, что читает диктор, пока на экране идёт перебор. */
159
+ const finalFormatted = computed(() => formatStatisticValue(props.value, {
160
+ precision: props.precision,
161
+ groupSeparator: props.groupSeparator,
162
+ decimalSeparator: props.decimalSeparator,
163
+ locale: resolvedLocale.value
164
+ }));
165
+ const isCounting = computed(() => frameValue.value !== null);
166
+ const hasTitle = computed(() => Boolean(props.title || slots.title));
167
+ const isInteractive = computed(() => Boolean(props.as || props.href || props.clickable));
168
+ const rootTag = computed(() => {
169
+ if (props.as) return typeof props.as === "string" ? props.as : markRaw(props.as);
170
+ if (props.href) return "a";
171
+ return props.clickable ? "button" : "div";
172
+ });
173
+ /**
174
+ * Компонент-ссылка (`Link` от Inertia, `RouterLink`) рендерит `<a>` сам, и без
175
+ * `href` он ведёт в никуда. Строковый тег, кроме `a`, атрибут не понимает —
176
+ * там он и гасится.
177
+ */
178
+ const rootHref = computed(() => typeof rootTag.value === "string" && rootTag.value !== "a" ? void 0 : props.href);
179
+ const rootClass = computed(() => statisticRootClass({ interactive: isInteractive.value }));
180
+ function toNumber(value) {
181
+ const numeric = typeof value === "number" ? value : Number(value);
182
+ return Number.isFinite(numeric) ? numeric : null;
183
+ }
184
+ let frameHandle = null;
185
+ function stopCounting() {
186
+ if (frameHandle !== null) cancelAnimationFrame(frameHandle);
187
+ frameHandle = null;
188
+ }
189
+ /**
190
+ * Перебор чисел ведёт JS, а глобальный кламп в `base.css` гасит только CSS —
191
+ * значит уважать «уменьшить движение» обязан сам компонент (`docs/motion.md`).
192
+ * Читается в момент старта, а не в теле `setup`: `matchMedia` на сервере нет, и
193
+ * первый клиентский рендер разошёлся бы с серверным.
194
+ */
195
+ function prefersReducedMotion() {
196
+ return typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches === true;
197
+ }
198
+ function runCountUp(from, to) {
199
+ stopCounting();
200
+ const duration = props.animateDuration;
201
+ if (!(duration > 0) || from === to || prefersReducedMotion()) {
202
+ frameValue.value = null;
203
+ return;
204
+ }
205
+ const started = performance.now();
206
+ frameValue.value = from;
207
+ const step = (now) => {
208
+ const elapsed = now - started;
209
+ const value = countUpFrame(from, to, elapsed, duration, props.precision);
210
+ if (elapsed >= duration) {
211
+ frameValue.value = null;
212
+ frameHandle = null;
213
+ return;
214
+ }
215
+ frameValue.value = value;
216
+ frameHandle = requestAnimationFrame(step);
217
+ };
218
+ frameHandle = requestAnimationFrame(step);
219
+ }
220
+ /** Перебирать можно только числа: «2 ч 15 мин» и «—» ставятся сразу. */
221
+ function startIfNumeric(from, to) {
222
+ if (!props.animate || props.loading) {
223
+ stopCounting();
224
+ frameValue.value = null;
225
+ return;
226
+ }
227
+ const target = toNumber(to);
228
+ const source = toNumber(from);
229
+ if (target === null || source === null) {
230
+ stopCounting();
231
+ frameValue.value = null;
232
+ return;
233
+ }
234
+ runCountUp(source, target);
235
+ }
236
+ onMounted(() => startIfNumeric(0, props.value));
237
+ watch(() => props.value, (next, prev) => startIfNumeric(prev, next));
238
+ onBeforeUnmount(stopCounting);
239
+ const resolvedSize = useGrComponentSize(() => props.size, { component: "GrStatistic" });
240
+ const trendIconByTrend = {
241
+ up: trending_up_default,
242
+ down: trending_down_default,
243
+ flat: minus_default
244
+ };
245
+ const trendLabel = computed(() => {
246
+ if (!props.trend) return void 0;
247
+ return {
248
+ up: () => t("gr.statistic.trendUp", "Increase"),
249
+ down: () => t("gr.statistic.trendDown", "Decrease"),
250
+ flat: () => t("gr.statistic.trendFlat", "No change")
251
+ }[props.trend]();
252
+ });
253
+ return (_ctx, _cache) => {
254
+ return openBlock(), createBlock(resolveDynamicComponent(rootTag.value), {
255
+ "data-gr-statistic": "",
256
+ type: rootTag.value === "button" ? "button" : void 0,
257
+ href: rootHref.value,
258
+ class: normalizeClass(rootClass.value),
259
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event))
260
+ }, {
261
+ default: withCtx(() => [__props.icon || _ctx.$slots.icon ? (openBlock(), createElementBlock("span", _hoisted_1, [renderSlot(_ctx.$slots, "icon", {}, () => [(openBlock(), createBlock(resolveDynamicComponent(unref(iconTag)(__props.icon)), {
262
+ class: normalizeClass(["block h-4 w-4", unref(iconClass)(__props.icon)]),
263
+ "aria-hidden": "true"
264
+ }, null, 8, ["class"]))])])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2, [(openBlock(), createBlock(resolveDynamicComponent(hasTitle.value ? "dl" : "div"), { class: "m-0" }, {
265
+ default: withCtx(() => [hasTitle.value ? (openBlock(), createElementBlock("dt", {
266
+ key: 0,
267
+ "data-gr-statistic-title": "",
268
+ class: normalizeClass([unref(statisticTitleClass), unref(statisticTitleSizeBySize)[unref(resolvedSize)]])
269
+ }, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 2)) : createCommentVNode("", true), __props.loading ? (openBlock(), createBlock(resolveDynamicComponent(hasTitle.value ? "dd" : "div"), {
270
+ key: 1,
271
+ "data-gr-statistic-placeholder": "",
272
+ "data-testid": "gr-statistic-placeholder",
273
+ class: "m-0 mt-1",
274
+ role: "status",
275
+ "aria-busy": "true"
276
+ }, {
277
+ default: withCtx(() => [createVNode(GrSkeleton_default, {
278
+ width: "6rem",
279
+ height: unref(statisticPlaceholderHeightBySize)[unref(resolvedSize)],
280
+ rounded: "var(--gr-radius-md)"
281
+ }, null, 8, ["height"]), createElementVNode("span", _hoisted_3, toDisplayString(unref(t)("gr.loading.defaultText", "Loading...")), 1)]),
282
+ _: 1
283
+ })) : (openBlock(), createBlock(resolveDynamicComponent(hasTitle.value ? "dd" : "div"), {
284
+ key: 2,
285
+ "data-gr-statistic-value": "",
286
+ "data-testid": "gr-statistic-value",
287
+ class: "m-0 mt-0.5 flex items-baseline gap-1"
288
+ }, {
289
+ default: withCtx(() => [
290
+ __props.prefix || _ctx.$slots.prefix ? (openBlock(), createElementBlock("span", {
291
+ key: 0,
292
+ "data-gr-statistic-prefix": "",
293
+ class: normalizeClass(["text-[var(--gr-muted-fg)]", unref(statisticAffixSizeBySize)[unref(resolvedSize)]])
294
+ }, [renderSlot(_ctx.$slots, "prefix", {}, () => [createTextVNode(toDisplayString(__props.prefix), 1)])], 2)) : createCommentVNode("", true),
295
+ createElementVNode("span", {
296
+ "data-gr-statistic-number": "",
297
+ class: normalizeClass(unref(statisticValueClass)({
298
+ size: unref(resolvedSize),
299
+ tone: __props.tone
300
+ })),
301
+ "aria-hidden": isCounting.value ? "true" : void 0
302
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(formatted.value), 1)])], 10, _hoisted_4),
303
+ isCounting.value ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(finalFormatted.value), 1)) : createCommentVNode("", true),
304
+ __props.suffix || _ctx.$slots.suffix ? (openBlock(), createElementBlock("span", {
305
+ key: 2,
306
+ "data-gr-statistic-suffix": "",
307
+ class: normalizeClass(["text-[var(--gr-muted-fg)]", unref(statisticAffixSizeBySize)[unref(resolvedSize)]])
308
+ }, [renderSlot(_ctx.$slots, "suffix", {}, () => [createTextVNode(toDisplayString(__props.suffix), 1)])], 2)) : createCommentVNode("", true)
309
+ ]),
310
+ _: 3
311
+ }))]),
312
+ _: 3
313
+ })), __props.trend || __props.trendText || _ctx.$slots.trend ? (openBlock(), createElementBlock("div", {
314
+ key: 0,
315
+ "data-gr-statistic-trend": "",
316
+ "data-testid": "gr-statistic-trend",
317
+ class: normalizeClass(["mt-1 inline-flex items-center gap-1", [unref(statisticTrendSizeBySize)[unref(resolvedSize)], unref(statisticTrendClassByTrend)[__props.trend ?? "flat"]]])
318
+ }, [trendLabel.value ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString(trendLabel.value), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "trend", {}, () => [__props.trend ? (openBlock(), createBlock(resolveDynamicComponent(trendIconByTrend[__props.trend]), {
319
+ key: 0,
320
+ class: "block h-3.5 w-3.5",
321
+ "aria-hidden": "true"
322
+ })) : createCommentVNode("", true), createElementVNode("span", null, toDisplayString(__props.trendText), 1)])], 2)) : createCommentVNode("", true)])]),
323
+ _: 3
324
+ }, 8, [
325
+ "type",
326
+ "href",
327
+ "class"
328
+ ]);
329
+ };
330
+ }
331
+ });
332
+ //#endregion
333
+ export { formatStatisticValue as n, GrStatistic_default as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrStatistic-DkzWUAw1.js","names":["$slots"],"sources":["../../../../src/components/GrStatistic/countUp.ts","../../../../src/components/GrStatistic/formatStatisticValue.ts","../../../../src/components/GrStatistic/GrStatistic.vue","../../../../src/components/GrStatistic/GrStatistic.vue"],"sourcesContent":["/**\n * Перебор чисел для `GrStatistic`: чистая арифметика кадра без Vue и таймеров.\n *\n * Вынесено отдельным модулем по той же причине, что и `formatStatisticValue`:\n * кривая и округление проверяются напрямую, без монтирования и подмены `rAF`.\n */\n\n/** Быстрый старт, мягкая остановка — та же форма, что у `--gr-ease-out`. */\nexport function easeOutCubic(t: number): number {\n const clamped = Math.min(Math.max(t, 0), 1)\n return 1 - (1 - clamped) ** 3\n}\n\n/**\n * Значение кадра на `elapsed` миллисекунде перехода `from → to`.\n *\n * Округление до `precision` обязательно: без него кадры показывали бы\n * `1283.6666666666667` там, где показатель целый, и ширина строки прыгала бы\n * даже при `tabular-nums`. Последний кадр возвращает ровно `to` — приближение\n * не должно оставлять показатель в 1283.9999.\n */\nexport function countUpFrame(\n from: number,\n to: number,\n elapsed: number,\n duration: number,\n precision?: number,\n): number {\n if (!(duration > 0) || elapsed >= duration) return to\n\n const digits = Math.min(Math.max(precision ?? 0, 0), 20)\n const value = from + (to - from) * easeOutCubic(elapsed / duration)\n\n return Number(value.toFixed(digits))\n}\n","export type GrStatisticFormatOptions = {\n /** Число знаков после запятой. `undefined` — оставить как есть. */\n precision?: number\n /** Разделитель групп разрядов. Сильнее локали. */\n groupSeparator?: string\n /** Десятичный разделитель. Сильнее локали. */\n decimalSeparator?: string\n /** BCP-47 локаль: разделители берутся из `Intl.NumberFormat`. */\n locale?: string\n}\n\nconst DEFAULT_GROUP_SEPARATOR = ' '\nconst DEFAULT_DECIMAL_SEPARATOR = '.'\n\n/**\n * Форматирует значение показателя: фиксирует точность и расставляет разделители.\n *\n * Нечисловые значения возвращаются без изменений — это позволяет показывать в\n * `GrStatistic` уже готовые строки («2 ч 15 мин», «—») без обходных пропов.\n * Вынесено из SFC отдельным модулем, чтобы тестировалось без монтирования.\n *\n * Порядок разрешения разделителей: явный проп → локаль → встроенный дефолт.\n */\nexport function formatStatisticValue(\n value: number | string,\n options: GrStatisticFormatOptions = {},\n): string {\n const { precision, groupSeparator, decimalSeparator, locale } = options\n\n const numeric = typeof value === 'number' ? value : Number(value)\n if (typeof value === 'string' && (value.trim() === '' || !Number.isFinite(numeric))) {\n return value\n }\n if (!Number.isFinite(numeric)) return String(value)\n\n if (locale) {\n return formatByLocale(numeric, locale, { precision, groupSeparator, decimalSeparator })\n }\n\n const fixed = precision === undefined ? String(numeric) : numeric.toFixed(precision)\n // `toFixed` не даёт экспоненциальной записи, а `String(число)` — может (1e21+).\n // В таком случае группировать нечего: возвращаем как есть.\n if (fixed.includes('e') || fixed.includes('E')) return fixed\n\n const negative = fixed.startsWith('-')\n const [intPart, fracPart] = (negative ? fixed.slice(1) : fixed).split('.')\n\n const separator = groupSeparator ?? DEFAULT_GROUP_SEPARATOR\n const grouped = separator\n ? intPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator)\n : intPart\n\n return [\n negative ? '-' : '',\n grouped,\n fracPart ? `${decimalSeparator ?? DEFAULT_DECIMAL_SEPARATOR}${fracPart}` : '',\n ].join('')\n}\n\n/**\n * `formatToParts` вместо `format`: даёт заменить отдельные разделители, оставив\n * остальные правила локали (индийская группировка, знак минуса, порядок частей).\n */\nfunction formatByLocale(\n value: number,\n locale: string,\n options: Pick<GrStatisticFormatOptions, 'precision' | 'groupSeparator' | 'decimalSeparator'>,\n): string {\n const { precision, groupSeparator, decimalSeparator } = options\n // `Intl` принимает не больше 20 знаков и падает `RangeError` на большем,\n // тогда как ручная ветка через `toFixed` пережила бы до 100.\n const digits = precision === undefined ? undefined : Math.min(Math.max(precision, 0), 20)\n\n return new Intl.NumberFormat(locale, {\n useGrouping: true,\n minimumFractionDigits: digits,\n maximumFractionDigits: digits ?? 20,\n })\n .formatToParts(value)\n .map((part) => {\n if (part.type === 'group' && groupSeparator !== undefined) return groupSeparator\n if (part.type === 'decimal' && decimalSeparator !== undefined) return decimalSeparator\n return part.value\n })\n .join('')\n}\n","<script setup lang=\"ts\">\nimport { useGrComponentSize } from '../GrConfigProvider/context'\nimport { computed, markRaw, onBeforeUnmount, onMounted, ref, useSlots, watch, type Component } from 'vue'\n\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { iconClass, iconTag } from '../shared/icon'\nimport GrSkeleton from '../GrSkeleton/GrSkeleton.vue'\n\nimport IconMinus from '~icons/lucide/minus'\nimport IconTrendingDown from '~icons/lucide/trending-down'\nimport IconTrendingUp from '~icons/lucide/trending-up'\n\nimport { countUpFrame } from './countUp'\nimport { formatStatisticValue } from './formatStatisticValue'\n\nimport {\n statisticAffixSizeBySize,\n statisticPlaceholderHeightBySize,\n statisticRootClass,\n statisticTitleClass,\n statisticTitleSizeBySize,\n statisticTrendClassByTrend,\n statisticTrendSizeBySize,\n statisticValueClass,\n type GrStatisticSize,\n type GrStatisticTone,\n type GrStatisticTrend,\n} from './grStatisticStyles'\n\nexport type {\n GrStatisticSize,\n GrStatisticTone,\n GrStatisticTrend,\n} from './grStatisticStyles'\nexport type { GrStatisticFormatOptions } from './formatStatisticValue'\n\n/**\n * Публичный GR-примитив «Statistic» — крупный числовой показатель с подписью,\n * префиксом/суффиксом и строкой динамики.\n *\n * Компонент презентационный: не грузит данные и не считает дельту, только\n * форматирует и подаёт. Форматирование — чистая функция `formatStatisticValue`.\n */\nexport interface GrStatisticProps {\n /** Значение показателя. Нечисловая строка выводится как есть. */\n value: number | string\n /** Подпись над значением. */\n title?: string\n /** Число знаков после запятой. */\n precision?: number\n /** Разделитель разрядов. Сильнее локали; без него и без локали — узкий пробел. */\n groupSeparator?: string\n /** Десятичный разделитель. Сильнее локали; без него и без локали — точка. */\n decimalSeparator?: string\n /**\n * BCP-47 локаль форматирования. Не задана — берётся из i18n-адаптера; нет и\n * адаптера — работают ручные разделители.\n */\n locale?: string\n /** Приписка перед значением (валюта, знак). */\n prefix?: string\n /** Приписка после значения (единица измерения, `%`). */\n suffix?: string\n /**\n * Иконка слева от блока: Vue-компонент либо класс иконки вашей UnoCSS-сборки\n * (`'i-lucide-users'` — тогда нужен ваш `presetIcons`, см. `docs/installation.md`).\n */\n icon?: string | Component\n size?: GrStatisticSize\n /** Тон значения; точечно перекрывается `--gr-statistic-value-color`. */\n tone?: GrStatisticTone\n /** Направление динамики — задаёт цвет и иконку строки под значением. */\n trend?: GrStatisticTrend\n /** Текст динамики (например `+12,5% к прошлой неделе`). */\n trendText?: string\n /** Состояние загрузки: вместо значения — плейсхолдер. */\n loading?: boolean\n /**\n * Перебирать числа при появлении и при смене значения. Нечисловое значение\n * ставится сразу, под `prefers-reduced-motion: reduce` — тоже.\n */\n animate?: boolean\n /**\n * Длительность перебора в миллисекундах. Не токеном: шкала `--gr-duration-*`\n * заканчивается на 300 мс и описывает смену состояния, а перебор чисел —\n * другой жанр, и его число живёт там же, где твин.\n */\n animateDuration?: number\n /** Свой корневой тег (`RouterLink`, `Link` от Inertia). Сильнее `href`. */\n as?: string | Component\n /** Показатель-ссылка: переход к деталям. */\n href?: string\n /** Показатель-кнопка: интерактивна вся плитка. */\n clickable?: boolean\n}\n\nexport interface GrStatisticEmits {\n (e: 'click', event: MouseEvent): void\n}\n\nconst props = withDefaults(\n defineProps<GrStatisticProps>(),\n {\n title: undefined,\n precision: undefined,\n // Дефолты живут в `formatStatisticValue`: иначе «пользователь задал пробел»\n // было бы неотличимо от «сработал дефолт», и локаль не смогла бы победить.\n groupSeparator: undefined,\n decimalSeparator: undefined,\n locale: undefined,\n prefix: undefined,\n suffix: undefined,\n icon: undefined,\n size: undefined,\n tone: 'neutral',\n trend: undefined,\n trendText: undefined,\n loading: false,\n animate: false,\n animateDuration: 600,\n as: undefined,\n href: undefined,\n clickable: false,\n },\n)\n\nconst emit = defineEmits<GrStatisticEmits>()\n\nconst slots = useSlots()\n\nconst { t, locale } = useGranularityTranslations()\n\nconst resolvedLocale = computed(() => props.locale ?? locale.value)\n\n/**\n * Число текущего кадра перебора. `null` — перебора нет, показываем сам проп:\n * так значение остаётся конечным и на сервере, и до первого твина.\n */\nconst frameValue = ref<number | null>(null)\n\nconst formatted = computed(() => formatStatisticValue(frameValue.value ?? props.value, {\n precision: props.precision,\n groupSeparator: props.groupSeparator,\n decimalSeparator: props.decimalSeparator,\n locale: resolvedLocale.value,\n}))\n\n/** Конечное значение — то, что читает диктор, пока на экране идёт перебор. */\nconst finalFormatted = computed(() => formatStatisticValue(props.value, {\n precision: props.precision,\n groupSeparator: props.groupSeparator,\n decimalSeparator: props.decimalSeparator,\n locale: resolvedLocale.value,\n}))\n\nconst isCounting = computed(() => frameValue.value !== null)\n\nconst hasTitle = computed(() => Boolean(props.title || slots.title))\n\nconst isInteractive = computed(() => Boolean(props.as || props.href || props.clickable))\n\nconst rootTag = computed<string | Component>(() => {\n if (props.as)\n return typeof props.as === 'string' ? props.as : markRaw(props.as)\n\n if (props.href)\n return 'a'\n\n return props.clickable ? 'button' : 'div'\n})\n\n/**\n * Компонент-ссылка (`Link` от Inertia, `RouterLink`) рендерит `<a>` сам, и без\n * `href` он ведёт в никуда. Строковый тег, кроме `a`, атрибут не понимает —\n * там он и гасится.\n */\nconst rootHref = computed(() => (\n typeof rootTag.value === 'string' && rootTag.value !== 'a' ? undefined : props.href\n))\n\nconst rootClass = computed(() => statisticRootClass({ interactive: isInteractive.value }))\n\nfunction toNumber(value: number | string): number | null {\n const numeric = typeof value === 'number' ? value : Number(value)\n return Number.isFinite(numeric) ? numeric : null\n}\n\nlet frameHandle: number | null = null\n\nfunction stopCounting(): void {\n if (frameHandle !== null) cancelAnimationFrame(frameHandle)\n frameHandle = null\n}\n\n/**\n * Перебор чисел ведёт JS, а глобальный кламп в `base.css` гасит только CSS —\n * значит уважать «уменьшить движение» обязан сам компонент (`docs/motion.md`).\n * Читается в момент старта, а не в теле `setup`: `matchMedia` на сервере нет, и\n * первый клиентский рендер разошёлся бы с серверным.\n */\nfunction prefersReducedMotion(): boolean {\n return typeof window !== 'undefined'\n && window.matchMedia?.('(prefers-reduced-motion: reduce)')?.matches === true\n}\n\nfunction runCountUp(from: number, to: number): void {\n stopCounting()\n\n const duration = props.animateDuration\n if (!(duration > 0) || from === to || prefersReducedMotion()) {\n frameValue.value = null\n return\n }\n\n const started = performance.now()\n frameValue.value = from\n\n const step = (now: number): void => {\n const elapsed = now - started\n const value = countUpFrame(from, to, elapsed, duration, props.precision)\n\n if (elapsed >= duration) {\n // Конец перебора снимает и подмену значения, и подмену для диктора.\n frameValue.value = null\n frameHandle = null\n return\n }\n\n frameValue.value = value\n frameHandle = requestAnimationFrame(step)\n }\n\n frameHandle = requestAnimationFrame(step)\n}\n\n/** Перебирать можно только числа: «2 ч 15 мин» и «—» ставятся сразу. */\nfunction startIfNumeric(from: number | string, to: number | string): void {\n if (!props.animate || props.loading) {\n stopCounting()\n frameValue.value = null\n return\n }\n\n const target = toNumber(to)\n const source = toNumber(from)\n\n if (target === null || source === null) {\n stopCounting()\n frameValue.value = null\n return\n }\n\n runCountUp(source, target)\n}\n\n// Появление плитки считается переходом от нуля: ради этого эффекта проп и нужен.\nonMounted(() => startIfNumeric(0, props.value))\n\nwatch(() => props.value, (next, prev) => startIfNumeric(prev, next))\n\nonBeforeUnmount(stopCounting)\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrStatistic' })\n\nconst trendIconByTrend: Record<GrStatisticTrend, Component> = {\n up: IconTrendingUp,\n down: IconTrendingDown,\n flat: IconMinus,\n}\n\n// Иконка направления `aria-hidden`, а «+12,5 %» само по себе рост от падения не\n// отличает: направление доносит скрытая подпись.\nconst trendLabel = computed(() => {\n if (!props.trend) return undefined\n\n const labels = {\n up: () => t('gr.statistic.trendUp', 'Increase'),\n down: () => t('gr.statistic.trendDown', 'Decrease'),\n flat: () => t('gr.statistic.trendFlat', 'No change'),\n }\n\n return labels[props.trend]()\n})\n</script>\n\n<template>\n <component\n :is=\"rootTag\"\n data-gr-statistic\n :type=\"rootTag === 'button' ? 'button' : undefined\"\n :href=\"rootHref\"\n :class=\"rootClass\"\n @click=\"emit('click', $event)\"\n >\n <span\n v-if=\"icon || $slots.icon\"\n data-gr-statistic-icon\n class=\"mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--gr-radius-lg)] bg-[var(--gr-muted)] text-[var(--gr-muted-fg)]\"\n >\n <slot name=\"icon\">\n <component :is=\"iconTag(icon)\" class=\"block h-4 w-4\" :class=\"iconClass(icon)\" aria-hidden=\"true\" />\n </slot>\n </span>\n\n <div class=\"min-w-0\">\n <!--\n Подпись и значение — пара «термин — значение», а не два соседних блока.\n `<dl>` появляется только вместе с подписью: список определений без `<dt>`\n — та же бессвязность, только с претензией на семантику. Поля обнуляются\n руками: preflight пакета сбрасывает их лишь у `body`.\n -->\n <component :is=\"hasTitle ? 'dl' : 'div'\" class=\"m-0\">\n <dt\n v-if=\"hasTitle\"\n data-gr-statistic-title\n :class=\"[statisticTitleClass, statisticTitleSizeBySize[resolvedSize]]\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n </dt>\n\n <!-- Плейсхолдер загрузки повторяет высоту строки значения, чтобы блок не прыгал. -->\n <component\n :is=\"hasTitle ? 'dd' : 'div'\"\n v-if=\"loading\"\n data-gr-statistic-placeholder\n data-testid=\"gr-statistic-placeholder\"\n class=\"m-0 mt-1\"\n role=\"status\"\n aria-busy=\"true\"\n >\n <GrSkeleton\n width=\"6rem\"\n :height=\"statisticPlaceholderHeightBySize[resolvedSize]\"\n rounded=\"var(--gr-radius-md)\"\n />\n <span class=\"sr-only\">{{ t('gr.loading.defaultText', 'Loading...') }}</span>\n </component>\n\n <component\n :is=\"hasTitle ? 'dd' : 'div'\"\n v-else\n data-gr-statistic-value\n data-testid=\"gr-statistic-value\"\n class=\"m-0 mt-0.5 flex items-baseline gap-1\"\n >\n <span\n v-if=\"prefix || $slots.prefix\"\n data-gr-statistic-prefix\n class=\"text-[var(--gr-muted-fg)]\"\n :class=\"statisticAffixSizeBySize[resolvedSize]\"\n >\n <slot name=\"prefix\">{{ prefix }}</slot>\n </span>\n\n <span\n data-gr-statistic-number\n :class=\"statisticValueClass({ size: resolvedSize, tone })\"\n :aria-hidden=\"isCounting ? 'true' : undefined\"\n >\n <slot>{{ formatted }}</slot>\n </span>\n\n <!--\n Пока идёт перебор, на экране промежуточное число. Диктору отдаётся\n конечное: «1 284» глазами и «743» в ушах — не шум, а неверные данные.\n -->\n <span v-if=\"isCounting\" data-gr-statistic-final class=\"sr-only\">{{ finalFormatted }}</span>\n\n <span\n v-if=\"suffix || $slots.suffix\"\n data-gr-statistic-suffix\n class=\"text-[var(--gr-muted-fg)]\"\n :class=\"statisticAffixSizeBySize[resolvedSize]\"\n >\n <slot name=\"suffix\">{{ suffix }}</slot>\n </span>\n </component>\n </component>\n\n <div\n v-if=\"trend || trendText || $slots.trend\"\n data-gr-statistic-trend\n data-testid=\"gr-statistic-trend\"\n class=\"mt-1 inline-flex items-center gap-1\"\n :class=\"[statisticTrendSizeBySize[resolvedSize], statisticTrendClassByTrend[trend ?? 'flat']]\"\n >\n <span v-if=\"trendLabel\" data-gr-statistic-trend-label class=\"sr-only\">{{ trendLabel }}</span>\n\n <slot name=\"trend\">\n <component\n :is=\"trendIconByTrend[trend]\"\n v-if=\"trend\"\n class=\"block h-3.5 w-3.5\"\n aria-hidden=\"true\"\n />\n <span>{{ trendText }}</span>\n </slot>\n </div>\n </div>\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { useGrComponentSize } from '../GrConfigProvider/context'\nimport { computed, markRaw, onBeforeUnmount, onMounted, ref, useSlots, watch, type Component } from 'vue'\n\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { iconClass, iconTag } from '../shared/icon'\nimport GrSkeleton from '../GrSkeleton/GrSkeleton.vue'\n\nimport IconMinus from '~icons/lucide/minus'\nimport IconTrendingDown from '~icons/lucide/trending-down'\nimport IconTrendingUp from '~icons/lucide/trending-up'\n\nimport { countUpFrame } from './countUp'\nimport { formatStatisticValue } from './formatStatisticValue'\n\nimport {\n statisticAffixSizeBySize,\n statisticPlaceholderHeightBySize,\n statisticRootClass,\n statisticTitleClass,\n statisticTitleSizeBySize,\n statisticTrendClassByTrend,\n statisticTrendSizeBySize,\n statisticValueClass,\n type GrStatisticSize,\n type GrStatisticTone,\n type GrStatisticTrend,\n} from './grStatisticStyles'\n\nexport type {\n GrStatisticSize,\n GrStatisticTone,\n GrStatisticTrend,\n} from './grStatisticStyles'\nexport type { GrStatisticFormatOptions } from './formatStatisticValue'\n\n/**\n * Публичный GR-примитив «Statistic» — крупный числовой показатель с подписью,\n * префиксом/суффиксом и строкой динамики.\n *\n * Компонент презентационный: не грузит данные и не считает дельту, только\n * форматирует и подаёт. Форматирование — чистая функция `formatStatisticValue`.\n */\nexport interface GrStatisticProps {\n /** Значение показателя. Нечисловая строка выводится как есть. */\n value: number | string\n /** Подпись над значением. */\n title?: string\n /** Число знаков после запятой. */\n precision?: number\n /** Разделитель разрядов. Сильнее локали; без него и без локали — узкий пробел. */\n groupSeparator?: string\n /** Десятичный разделитель. Сильнее локали; без него и без локали — точка. */\n decimalSeparator?: string\n /**\n * BCP-47 локаль форматирования. Не задана — берётся из i18n-адаптера; нет и\n * адаптера — работают ручные разделители.\n */\n locale?: string\n /** Приписка перед значением (валюта, знак). */\n prefix?: string\n /** Приписка после значения (единица измерения, `%`). */\n suffix?: string\n /**\n * Иконка слева от блока: Vue-компонент либо класс иконки вашей UnoCSS-сборки\n * (`'i-lucide-users'` — тогда нужен ваш `presetIcons`, см. `docs/installation.md`).\n */\n icon?: string | Component\n size?: GrStatisticSize\n /** Тон значения; точечно перекрывается `--gr-statistic-value-color`. */\n tone?: GrStatisticTone\n /** Направление динамики — задаёт цвет и иконку строки под значением. */\n trend?: GrStatisticTrend\n /** Текст динамики (например `+12,5% к прошлой неделе`). */\n trendText?: string\n /** Состояние загрузки: вместо значения — плейсхолдер. */\n loading?: boolean\n /**\n * Перебирать числа при появлении и при смене значения. Нечисловое значение\n * ставится сразу, под `prefers-reduced-motion: reduce` — тоже.\n */\n animate?: boolean\n /**\n * Длительность перебора в миллисекундах. Не токеном: шкала `--gr-duration-*`\n * заканчивается на 300 мс и описывает смену состояния, а перебор чисел —\n * другой жанр, и его число живёт там же, где твин.\n */\n animateDuration?: number\n /** Свой корневой тег (`RouterLink`, `Link` от Inertia). Сильнее `href`. */\n as?: string | Component\n /** Показатель-ссылка: переход к деталям. */\n href?: string\n /** Показатель-кнопка: интерактивна вся плитка. */\n clickable?: boolean\n}\n\nexport interface GrStatisticEmits {\n (e: 'click', event: MouseEvent): void\n}\n\nconst props = withDefaults(\n defineProps<GrStatisticProps>(),\n {\n title: undefined,\n precision: undefined,\n // Дефолты живут в `formatStatisticValue`: иначе «пользователь задал пробел»\n // было бы неотличимо от «сработал дефолт», и локаль не смогла бы победить.\n groupSeparator: undefined,\n decimalSeparator: undefined,\n locale: undefined,\n prefix: undefined,\n suffix: undefined,\n icon: undefined,\n size: undefined,\n tone: 'neutral',\n trend: undefined,\n trendText: undefined,\n loading: false,\n animate: false,\n animateDuration: 600,\n as: undefined,\n href: undefined,\n clickable: false,\n },\n)\n\nconst emit = defineEmits<GrStatisticEmits>()\n\nconst slots = useSlots()\n\nconst { t, locale } = useGranularityTranslations()\n\nconst resolvedLocale = computed(() => props.locale ?? locale.value)\n\n/**\n * Число текущего кадра перебора. `null` — перебора нет, показываем сам проп:\n * так значение остаётся конечным и на сервере, и до первого твина.\n */\nconst frameValue = ref<number | null>(null)\n\nconst formatted = computed(() => formatStatisticValue(frameValue.value ?? props.value, {\n precision: props.precision,\n groupSeparator: props.groupSeparator,\n decimalSeparator: props.decimalSeparator,\n locale: resolvedLocale.value,\n}))\n\n/** Конечное значение — то, что читает диктор, пока на экране идёт перебор. */\nconst finalFormatted = computed(() => formatStatisticValue(props.value, {\n precision: props.precision,\n groupSeparator: props.groupSeparator,\n decimalSeparator: props.decimalSeparator,\n locale: resolvedLocale.value,\n}))\n\nconst isCounting = computed(() => frameValue.value !== null)\n\nconst hasTitle = computed(() => Boolean(props.title || slots.title))\n\nconst isInteractive = computed(() => Boolean(props.as || props.href || props.clickable))\n\nconst rootTag = computed<string | Component>(() => {\n if (props.as)\n return typeof props.as === 'string' ? props.as : markRaw(props.as)\n\n if (props.href)\n return 'a'\n\n return props.clickable ? 'button' : 'div'\n})\n\n/**\n * Компонент-ссылка (`Link` от Inertia, `RouterLink`) рендерит `<a>` сам, и без\n * `href` он ведёт в никуда. Строковый тег, кроме `a`, атрибут не понимает —\n * там он и гасится.\n */\nconst rootHref = computed(() => (\n typeof rootTag.value === 'string' && rootTag.value !== 'a' ? undefined : props.href\n))\n\nconst rootClass = computed(() => statisticRootClass({ interactive: isInteractive.value }))\n\nfunction toNumber(value: number | string): number | null {\n const numeric = typeof value === 'number' ? value : Number(value)\n return Number.isFinite(numeric) ? numeric : null\n}\n\nlet frameHandle: number | null = null\n\nfunction stopCounting(): void {\n if (frameHandle !== null) cancelAnimationFrame(frameHandle)\n frameHandle = null\n}\n\n/**\n * Перебор чисел ведёт JS, а глобальный кламп в `base.css` гасит только CSS —\n * значит уважать «уменьшить движение» обязан сам компонент (`docs/motion.md`).\n * Читается в момент старта, а не в теле `setup`: `matchMedia` на сервере нет, и\n * первый клиентский рендер разошёлся бы с серверным.\n */\nfunction prefersReducedMotion(): boolean {\n return typeof window !== 'undefined'\n && window.matchMedia?.('(prefers-reduced-motion: reduce)')?.matches === true\n}\n\nfunction runCountUp(from: number, to: number): void {\n stopCounting()\n\n const duration = props.animateDuration\n if (!(duration > 0) || from === to || prefersReducedMotion()) {\n frameValue.value = null\n return\n }\n\n const started = performance.now()\n frameValue.value = from\n\n const step = (now: number): void => {\n const elapsed = now - started\n const value = countUpFrame(from, to, elapsed, duration, props.precision)\n\n if (elapsed >= duration) {\n // Конец перебора снимает и подмену значения, и подмену для диктора.\n frameValue.value = null\n frameHandle = null\n return\n }\n\n frameValue.value = value\n frameHandle = requestAnimationFrame(step)\n }\n\n frameHandle = requestAnimationFrame(step)\n}\n\n/** Перебирать можно только числа: «2 ч 15 мин» и «—» ставятся сразу. */\nfunction startIfNumeric(from: number | string, to: number | string): void {\n if (!props.animate || props.loading) {\n stopCounting()\n frameValue.value = null\n return\n }\n\n const target = toNumber(to)\n const source = toNumber(from)\n\n if (target === null || source === null) {\n stopCounting()\n frameValue.value = null\n return\n }\n\n runCountUp(source, target)\n}\n\n// Появление плитки считается переходом от нуля: ради этого эффекта проп и нужен.\nonMounted(() => startIfNumeric(0, props.value))\n\nwatch(() => props.value, (next, prev) => startIfNumeric(prev, next))\n\nonBeforeUnmount(stopCounting)\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrStatistic' })\n\nconst trendIconByTrend: Record<GrStatisticTrend, Component> = {\n up: IconTrendingUp,\n down: IconTrendingDown,\n flat: IconMinus,\n}\n\n// Иконка направления `aria-hidden`, а «+12,5 %» само по себе рост от падения не\n// отличает: направление доносит скрытая подпись.\nconst trendLabel = computed(() => {\n if (!props.trend) return undefined\n\n const labels = {\n up: () => t('gr.statistic.trendUp', 'Increase'),\n down: () => t('gr.statistic.trendDown', 'Decrease'),\n flat: () => t('gr.statistic.trendFlat', 'No change'),\n }\n\n return labels[props.trend]()\n})\n</script>\n\n<template>\n <component\n :is=\"rootTag\"\n data-gr-statistic\n :type=\"rootTag === 'button' ? 'button' : undefined\"\n :href=\"rootHref\"\n :class=\"rootClass\"\n @click=\"emit('click', $event)\"\n >\n <span\n v-if=\"icon || $slots.icon\"\n data-gr-statistic-icon\n class=\"mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--gr-radius-lg)] bg-[var(--gr-muted)] text-[var(--gr-muted-fg)]\"\n >\n <slot name=\"icon\">\n <component :is=\"iconTag(icon)\" class=\"block h-4 w-4\" :class=\"iconClass(icon)\" aria-hidden=\"true\" />\n </slot>\n </span>\n\n <div class=\"min-w-0\">\n <!--\n Подпись и значение — пара «термин — значение», а не два соседних блока.\n `<dl>` появляется только вместе с подписью: список определений без `<dt>`\n — та же бессвязность, только с претензией на семантику. Поля обнуляются\n руками: preflight пакета сбрасывает их лишь у `body`.\n -->\n <component :is=\"hasTitle ? 'dl' : 'div'\" class=\"m-0\">\n <dt\n v-if=\"hasTitle\"\n data-gr-statistic-title\n :class=\"[statisticTitleClass, statisticTitleSizeBySize[resolvedSize]]\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n </dt>\n\n <!-- Плейсхолдер загрузки повторяет высоту строки значения, чтобы блок не прыгал. -->\n <component\n :is=\"hasTitle ? 'dd' : 'div'\"\n v-if=\"loading\"\n data-gr-statistic-placeholder\n data-testid=\"gr-statistic-placeholder\"\n class=\"m-0 mt-1\"\n role=\"status\"\n aria-busy=\"true\"\n >\n <GrSkeleton\n width=\"6rem\"\n :height=\"statisticPlaceholderHeightBySize[resolvedSize]\"\n rounded=\"var(--gr-radius-md)\"\n />\n <span class=\"sr-only\">{{ t('gr.loading.defaultText', 'Loading...') }}</span>\n </component>\n\n <component\n :is=\"hasTitle ? 'dd' : 'div'\"\n v-else\n data-gr-statistic-value\n data-testid=\"gr-statistic-value\"\n class=\"m-0 mt-0.5 flex items-baseline gap-1\"\n >\n <span\n v-if=\"prefix || $slots.prefix\"\n data-gr-statistic-prefix\n class=\"text-[var(--gr-muted-fg)]\"\n :class=\"statisticAffixSizeBySize[resolvedSize]\"\n >\n <slot name=\"prefix\">{{ prefix }}</slot>\n </span>\n\n <span\n data-gr-statistic-number\n :class=\"statisticValueClass({ size: resolvedSize, tone })\"\n :aria-hidden=\"isCounting ? 'true' : undefined\"\n >\n <slot>{{ formatted }}</slot>\n </span>\n\n <!--\n Пока идёт перебор, на экране промежуточное число. Диктору отдаётся\n конечное: «1 284» глазами и «743» в ушах — не шум, а неверные данные.\n -->\n <span v-if=\"isCounting\" data-gr-statistic-final class=\"sr-only\">{{ finalFormatted }}</span>\n\n <span\n v-if=\"suffix || $slots.suffix\"\n data-gr-statistic-suffix\n class=\"text-[var(--gr-muted-fg)]\"\n :class=\"statisticAffixSizeBySize[resolvedSize]\"\n >\n <slot name=\"suffix\">{{ suffix }}</slot>\n </span>\n </component>\n </component>\n\n <div\n v-if=\"trend || trendText || $slots.trend\"\n data-gr-statistic-trend\n data-testid=\"gr-statistic-trend\"\n class=\"mt-1 inline-flex items-center gap-1\"\n :class=\"[statisticTrendSizeBySize[resolvedSize], statisticTrendClassByTrend[trend ?? 'flat']]\"\n >\n <span v-if=\"trendLabel\" data-gr-statistic-trend-label class=\"sr-only\">{{ trendLabel }}</span>\n\n <slot name=\"trend\">\n <component\n :is=\"trendIconByTrend[trend]\"\n v-if=\"trend\"\n class=\"block h-3.5 w-3.5\"\n aria-hidden=\"true\"\n />\n <span>{{ trendText }}</span>\n </slot>\n </div>\n </div>\n </component>\n</template>\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { n as formatStatisticValue, t as GrStatistic_default } from "./chunks/GrStatistic-DOsM6s5V.js";
1
+ import { n as formatStatisticValue, t as GrStatistic_default } from "./chunks/GrStatistic-DkzWUAw1.js";
2
2
  import { n as grStatisticSafelist, t as grStatisticConfig } from "../../chunks/config-Be9k9bOf.js";
3
3
  export { GrStatistic_default as GrStatistic, GrStatistic_default as default, formatStatisticValue, grStatisticConfig, grStatisticSafelist };