@feugene/granularity 0.12.0 → 0.16.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 (1215) hide show
  1. package/README.md +14 -1
  2. package/dist/chunks/adapter-CAOxmn2G.js.map +1 -1
  3. package/dist/chunks/check-BZI24Qs4.js +23 -0
  4. package/dist/chunks/check-BZI24Qs4.js.map +1 -0
  5. package/dist/chunks/chevron-down-CQS2OG_s.js +23 -0
  6. package/dist/chunks/chevron-down-CQS2OG_s.js.map +1 -0
  7. package/dist/chunks/chevron-right-BfqMVpbB.js +44 -0
  8. package/dist/chunks/chevron-right-BfqMVpbB.js.map +1 -0
  9. package/dist/chunks/config-06SQjBx0.js +96 -0
  10. package/dist/chunks/config-06SQjBx0.js.map +1 -0
  11. package/dist/chunks/config-8Pcutu1j.js.map +1 -0
  12. package/dist/chunks/config-A-bBiotF.js +12 -0
  13. package/dist/chunks/config-A-bBiotF.js.map +1 -0
  14. package/dist/chunks/config-B-g6lT19.js +19 -0
  15. package/dist/chunks/config-B-g6lT19.js.map +1 -0
  16. package/dist/chunks/config-B-iNaGdw.js +199 -0
  17. package/dist/chunks/config-B-iNaGdw.js.map +1 -0
  18. package/dist/chunks/config-B7W9VlZ7.js +5 -0
  19. package/dist/chunks/config-B7W9VlZ7.js.map +1 -0
  20. package/dist/chunks/config-B84z1aos.js +19 -0
  21. package/dist/chunks/config-B84z1aos.js.map +1 -0
  22. package/dist/chunks/config-BE6n20np.js +27 -0
  23. package/dist/chunks/config-BE6n20np.js.map +1 -0
  24. package/dist/chunks/config-BKvX0q10.js +89 -0
  25. package/dist/chunks/config-BKvX0q10.js.map +1 -0
  26. package/dist/chunks/config-BN4sXYXn.js +77 -0
  27. package/dist/chunks/config-BN4sXYXn.js.map +1 -0
  28. package/dist/chunks/config-BNfQwyL4.js +97 -0
  29. package/dist/chunks/config-BNfQwyL4.js.map +1 -0
  30. package/dist/chunks/config-BNu8lFQB.js.map +1 -1
  31. package/dist/chunks/config-BSyiFlbi.js +17 -0
  32. package/dist/chunks/config-BSyiFlbi.js.map +1 -0
  33. package/dist/chunks/config-BViooYNv.js +13 -0
  34. package/dist/chunks/config-BViooYNv.js.map +1 -0
  35. package/dist/chunks/config-BbY2SKGE.js +90 -0
  36. package/dist/chunks/config-BbY2SKGE.js.map +1 -0
  37. package/dist/chunks/config-BeZRuonp.js +54 -0
  38. package/dist/chunks/config-BeZRuonp.js.map +1 -0
  39. package/dist/chunks/config-BoNR7_PD.js +140 -0
  40. package/dist/chunks/config-BoNR7_PD.js.map +1 -0
  41. package/dist/chunks/config-Bpt9Xbxm.js +49 -0
  42. package/dist/chunks/config-Bpt9Xbxm.js.map +1 -0
  43. package/dist/chunks/config-BqFjr3tN.js +131 -0
  44. package/dist/chunks/config-BqFjr3tN.js.map +1 -0
  45. package/dist/chunks/config-BsuDM3Hb.js +55 -0
  46. package/dist/chunks/config-BsuDM3Hb.js.map +1 -0
  47. package/dist/chunks/config-BtXRpAtq.js +48 -0
  48. package/dist/chunks/config-BtXRpAtq.js.map +1 -0
  49. package/dist/chunks/config-BuGlNPE9.js +8 -0
  50. package/dist/chunks/config-BuGlNPE9.js.map +1 -0
  51. package/dist/chunks/config-C0Ea9ePP.js +15 -0
  52. package/dist/chunks/config-C0Ea9ePP.js.map +1 -0
  53. package/dist/chunks/config-CN2ULSQL2.js +36 -0
  54. package/dist/chunks/config-CN2ULSQL2.js.map +1 -0
  55. package/dist/chunks/config-CN970ZcJ.js +113 -0
  56. package/dist/chunks/config-CN970ZcJ.js.map +1 -0
  57. package/dist/chunks/config-COvrUfhR.js +83 -0
  58. package/dist/chunks/config-COvrUfhR.js.map +1 -0
  59. package/dist/chunks/config-CQzGyi1C.js +54 -0
  60. package/dist/chunks/config-CQzGyi1C.js.map +1 -0
  61. package/dist/chunks/config-CY0_6cMi.js +51 -0
  62. package/dist/chunks/config-CY0_6cMi.js.map +1 -0
  63. package/dist/chunks/config-CjXjhphs.js +12 -0
  64. package/dist/chunks/config-CjXjhphs.js.map +1 -0
  65. package/dist/chunks/config-CjnbevbD.js +13 -0
  66. package/dist/chunks/config-CjnbevbD.js.map +1 -0
  67. package/dist/chunks/config-Cl4ST6Qd.js +21 -0
  68. package/dist/chunks/config-Cl4ST6Qd.js.map +1 -0
  69. package/dist/chunks/config-Cp0DE0GH.js +12 -0
  70. package/dist/chunks/config-Cp0DE0GH.js.map +1 -0
  71. package/dist/chunks/config-CpwwkFBO.js +72 -0
  72. package/dist/chunks/config-CpwwkFBO.js.map +1 -0
  73. package/dist/chunks/config-CvC0sX8p.js +81 -0
  74. package/dist/chunks/config-CvC0sX8p.js.map +1 -0
  75. package/dist/chunks/config-Cw6TDzWv2.js +72 -0
  76. package/dist/chunks/config-Cw6TDzWv2.js.map +1 -0
  77. package/dist/chunks/config-Cwd3yjRw.js +41 -0
  78. package/dist/chunks/config-Cwd3yjRw.js.map +1 -0
  79. package/dist/chunks/config-D3_g2KIn.js +120 -0
  80. package/dist/chunks/config-D3_g2KIn.js.map +1 -0
  81. package/dist/chunks/config-D6W1rnlp.js +26 -0
  82. package/dist/chunks/config-D6W1rnlp.js.map +1 -0
  83. package/dist/chunks/config-D8tSR2uS.js +103 -0
  84. package/dist/chunks/config-D8tSR2uS.js.map +1 -0
  85. package/dist/chunks/config-D94Z9po52.js +126 -0
  86. package/dist/chunks/config-D94Z9po52.js.map +1 -0
  87. package/dist/chunks/config-DBmdgoVf.js.map +1 -1
  88. package/dist/chunks/config-DCFvmHEv.js +76 -0
  89. package/dist/chunks/config-DCFvmHEv.js.map +1 -0
  90. package/dist/chunks/config-DKdlqXiY.js +109 -0
  91. package/dist/chunks/config-DKdlqXiY.js.map +1 -0
  92. package/dist/chunks/config-DP7eseR1.js +92 -0
  93. package/dist/chunks/config-DP7eseR1.js.map +1 -0
  94. package/dist/chunks/config-DSJY6aEl.js +80 -0
  95. package/dist/chunks/config-DSJY6aEl.js.map +1 -0
  96. package/dist/chunks/config-DU2DNSRx2.js +116 -0
  97. package/dist/chunks/config-DU2DNSRx2.js.map +1 -0
  98. package/dist/chunks/config-DhHbU3zO.js +37 -0
  99. package/dist/chunks/config-DhHbU3zO.js.map +1 -0
  100. package/dist/chunks/config-DpeQchsV.js +21 -0
  101. package/dist/chunks/config-DpeQchsV.js.map +1 -0
  102. package/dist/chunks/config-DpqOnJiz2.js.map +1 -0
  103. package/dist/chunks/config-Droqn55j.js +8 -0
  104. package/dist/chunks/config-Droqn55j.js.map +1 -0
  105. package/dist/chunks/config-DvQIb4kb.js +98 -0
  106. package/dist/chunks/config-DvQIb4kb.js.map +1 -0
  107. package/dist/chunks/config-DxCTVBfx.js +97 -0
  108. package/dist/chunks/config-DxCTVBfx.js.map +1 -0
  109. package/dist/chunks/config-K0C2tcLB.js +84 -0
  110. package/dist/chunks/config-K0C2tcLB.js.map +1 -0
  111. package/dist/chunks/config-Rw9OyW70.js +87 -0
  112. package/dist/chunks/config-Rw9OyW70.js.map +1 -0
  113. package/dist/chunks/config-T3qdQBgU.js +40 -0
  114. package/dist/chunks/config-T3qdQBgU.js.map +1 -0
  115. package/dist/chunks/config-WTNhdh6T2.js +20 -0
  116. package/dist/chunks/config-WTNhdh6T2.js.map +1 -0
  117. package/dist/chunks/config-Zc_bUvZY2.js +23 -0
  118. package/dist/chunks/config-Zc_bUvZY2.js.map +1 -0
  119. package/dist/chunks/config-_qPUfb6-2.js +165 -0
  120. package/dist/chunks/config-_qPUfb6-2.js.map +1 -0
  121. package/dist/chunks/config-esdviAPL.js +41 -0
  122. package/dist/chunks/config-esdviAPL.js.map +1 -0
  123. package/dist/chunks/config-gwro_7yn.js +55 -0
  124. package/dist/chunks/config-gwro_7yn.js.map +1 -0
  125. package/dist/chunks/config-qVg3Zz_A.js +30 -0
  126. package/dist/chunks/config-qVg3Zz_A.js.map +1 -0
  127. package/dist/chunks/config-zjeAJ4ho.js +64 -0
  128. package/dist/chunks/config-zjeAJ4ho.js.map +1 -0
  129. package/dist/chunks/context-BSYR7RZs.js +152 -0
  130. package/dist/chunks/context-BSYR7RZs.js.map +1 -0
  131. package/dist/chunks/context-BfIQv7m1.js +18 -0
  132. package/dist/chunks/context-BfIQv7m1.js.map +1 -0
  133. package/dist/chunks/context-Bfrgsluh.js +9 -0
  134. package/dist/chunks/context-Bfrgsluh.js.map +1 -0
  135. package/dist/chunks/context-DdNIxa1w.js.map +1 -1
  136. package/dist/chunks/dialogShared-CxW62PQE.js.map +1 -1
  137. package/dist/chunks/en-B3xMeswz.js +327 -0
  138. package/dist/chunks/en-B3xMeswz.js.map +1 -0
  139. package/dist/chunks/es-Bv8vvqdT.js +20 -0
  140. package/dist/chunks/es-Bv8vvqdT.js.map +1 -0
  141. package/dist/chunks/es-CA-mkU--.js +329 -0
  142. package/dist/chunks/es-CA-mkU--.js.map +1 -0
  143. package/dist/chunks/fileValidation-D5TFBhbv.js +296 -0
  144. package/dist/chunks/fileValidation-D5TFBhbv.js.map +1 -0
  145. package/dist/chunks/focusables-BkzK42SQ.js +87 -0
  146. package/dist/chunks/focusables-BkzK42SQ.js.map +1 -0
  147. package/dist/chunks/grBadgeStyles-C2wLlkjF.js +61 -0
  148. package/dist/chunks/grBadgeStyles-C2wLlkjF.js.map +1 -0
  149. package/dist/chunks/grButtonStyles-B_-YRE__.js +221 -0
  150. package/dist/chunks/grButtonStyles-B_-YRE__.js.map +1 -0
  151. package/dist/chunks/grCheckboxStyles-hOAgURZG.js +82 -0
  152. package/dist/chunks/grCheckboxStyles-hOAgURZG.js.map +1 -0
  153. package/dist/chunks/grDropdownStyles-V7TRiCXn.js +24 -0
  154. package/dist/chunks/grDropdownStyles-V7TRiCXn.js.map +1 -0
  155. package/dist/chunks/grFormFieldStyles-BkeZHIw0.js +32 -0
  156. package/dist/chunks/grFormFieldStyles-BkeZHIw0.js.map +1 -0
  157. package/dist/chunks/grIconStyles-BwJrml2L.js +44 -0
  158. package/dist/chunks/grIconStyles-BwJrml2L.js.map +1 -0
  159. package/dist/chunks/grInputStyles-CJeMhUe5.js +66 -0
  160. package/dist/chunks/grInputStyles-CJeMhUe5.js.map +1 -0
  161. package/dist/chunks/grKbdStyles-DAoxiytu.js +31 -0
  162. package/dist/chunks/grKbdStyles-DAoxiytu.js.map +1 -0
  163. package/dist/chunks/grLinkStyles-BoL8QYcV.js +84 -0
  164. package/dist/chunks/grLinkStyles-BoL8QYcV.js.map +1 -0
  165. package/dist/chunks/grLoadingStyles-DEmji2wv.js +30 -0
  166. package/dist/chunks/grLoadingStyles-DEmji2wv.js.map +1 -0
  167. package/dist/chunks/grModalStyles-EZfuEiw_.js +77 -0
  168. package/dist/chunks/grModalStyles-EZfuEiw_.js.map +1 -0
  169. package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js +46 -0
  170. package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js.map +1 -0
  171. package/dist/chunks/grSelectStyles-eTz4uPMP.js +147 -0
  172. package/dist/chunks/grSelectStyles-eTz4uPMP.js.map +1 -0
  173. package/dist/chunks/grSliderStyles-B5uNxNJq.js +133 -0
  174. package/dist/chunks/grSliderStyles-B5uNxNJq.js.map +1 -0
  175. package/dist/chunks/grStyle-CrgLQKKf.js +46 -0
  176. package/dist/chunks/grStyle-CrgLQKKf.js.map +1 -0
  177. package/dist/chunks/grTableStyles-C-iaqQUN.js +26 -0
  178. package/dist/chunks/grTableStyles-C-iaqQUN.js.map +1 -0
  179. package/dist/chunks/grTextareaStyles-CWI2SqC8.js +50 -0
  180. package/dist/chunks/grTextareaStyles-CWI2SqC8.js.map +1 -0
  181. package/dist/chunks/granular-provider-CtrXGa7c.js +193 -0
  182. package/dist/chunks/granular-provider-CtrXGa7c.js.map +1 -0
  183. package/dist/chunks/granularityI18n-BC5zsj_d.js +68 -0
  184. package/dist/chunks/granularityI18n-BC5zsj_d.js.map +1 -0
  185. package/dist/chunks/inert-DIHCCn_1.js +78 -0
  186. package/dist/chunks/inert-DIHCCn_1.js.map +1 -0
  187. package/dist/chunks/keyboard-zYvvyHd4.js +61 -0
  188. package/dist/chunks/keyboard-zYvvyHd4.js.map +1 -0
  189. package/dist/chunks/loader-2-B1fdsdWW.js +23 -0
  190. package/dist/chunks/loader-2-B1fdsdWW.js.map +1 -0
  191. package/dist/chunks/minus-oxdbHF33.js +23 -0
  192. package/dist/chunks/minus-oxdbHF33.js.map +1 -0
  193. package/dist/chunks/optionFilter-BVY988pC.js +149 -0
  194. package/dist/chunks/optionFilter-BVY988pC.js.map +1 -0
  195. package/dist/chunks/portalRoot-CWD4zHBm.js +35 -0
  196. package/dist/chunks/portalRoot-CWD4zHBm.js.map +1 -0
  197. package/dist/chunks/ru-COWxgh2A.js +331 -0
  198. package/dist/chunks/ru-COWxgh2A.js.map +1 -0
  199. package/dist/chunks/safelist-CudBLyAD.js +26 -0
  200. package/dist/chunks/safelist-CudBLyAD.js.map +1 -0
  201. package/dist/chunks/slotNodes-DxNXpC7v.js +39 -0
  202. package/dist/chunks/slotNodes-DxNXpC7v.js.map +1 -0
  203. package/dist/chunks/useControlAddons-asUr10Pf.js +128 -0
  204. package/dist/chunks/useControlAddons-asUr10Pf.js.map +1 -0
  205. package/dist/chunks/useControlledOpen-DV3SqLTP.js +27 -0
  206. package/dist/chunks/useControlledOpen-DV3SqLTP.js.map +1 -0
  207. package/dist/chunks/useFilePreviews-DnwgdyBs.js +53 -0
  208. package/dist/chunks/useFilePreviews-DnwgdyBs.js.map +1 -0
  209. package/dist/chunks/useFocusWithin-BwHE0rzm.js +33 -0
  210. package/dist/chunks/useFocusWithin-BwHE0rzm.js.map +1 -0
  211. package/dist/chunks/useModalOverlay-DCM4d3yA.js +212 -0
  212. package/dist/chunks/useModalOverlay-DCM4d3yA.js.map +1 -0
  213. package/dist/chunks/useOverlayLayer-BupuP_hs.js +149 -0
  214. package/dist/chunks/useOverlayLayer-BupuP_hs.js.map +1 -0
  215. package/dist/chunks/usePortalTarget-RyzEgNTb.js +77 -0
  216. package/dist/chunks/usePortalTarget-RyzEgNTb.js.map +1 -0
  217. package/dist/chunks/validation-5HhpanPP.js +178 -0
  218. package/dist/chunks/validation-5HhpanPP.js.map +1 -0
  219. package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js +272 -0
  220. package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js.map +1 -0
  221. package/dist/components/GrAlert/index.js +2 -2
  222. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CQ9T7Lly.js +851 -0
  223. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CQ9T7Lly.js.map +1 -0
  224. package/dist/components/GrAutocomplete/index.js +3 -0
  225. package/dist/components/GrAutocomplete/styles.css +1 -0
  226. package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js +222 -0
  227. package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js.map +1 -0
  228. package/dist/components/GrAvatar/index.js +3 -3
  229. package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js +40 -0
  230. package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js.map +1 -0
  231. package/dist/components/GrBadge/index.js +2 -2
  232. package/dist/components/GrBadge/styles.css +1 -0
  233. package/dist/components/GrBadge/themes/dark.css +19 -0
  234. package/dist/components/GrBadge/themes/light.css +18 -0
  235. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js +97 -0
  236. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js.map +1 -0
  237. package/dist/components/GrBadgeWrap/index.js +3 -3
  238. package/dist/components/GrBadgeWrap/styles.css +1 -0
  239. package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js +117 -0
  240. package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js.map +1 -0
  241. package/dist/components/GrBottomNav/index.js +3 -3
  242. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-BCNGDS6k.js +266 -0
  243. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-BCNGDS6k.js.map +1 -0
  244. package/dist/components/GrBreadcrumbs/index.js +3 -0
  245. package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js +153 -0
  246. package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js.map +1 -0
  247. package/dist/components/GrButton/index.js +5 -5
  248. package/dist/components/GrButton/themes/dark.css +46 -0
  249. package/dist/components/GrButton/themes/light.css +82 -0
  250. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js +44 -0
  251. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js.map +1 -0
  252. package/dist/components/GrButtonGroup/index.js +3 -2
  253. package/dist/components/GrButtonGroup/styles.css +1 -0
  254. package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js +89 -0
  255. package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js.map +1 -0
  256. package/dist/components/GrCard/index.js +3 -3
  257. package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js +262 -0
  258. package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js.map +1 -0
  259. package/dist/components/GrCheckbox/index.js +3 -3
  260. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js +140 -0
  261. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js.map +1 -0
  262. package/dist/components/GrCheckboxGroup/index.js +3 -0
  263. package/dist/components/GrCollapse/chunks/GrCollapse-B2Fc6A9r.js +308 -0
  264. package/dist/components/GrCollapse/chunks/GrCollapse-B2Fc6A9r.js.map +1 -0
  265. package/dist/components/GrCollapse/index.js +3 -3
  266. package/dist/components/GrColorPicker/chunks/GrColorPicker-bnYBRGk8.js +584 -0
  267. package/dist/components/GrColorPicker/chunks/GrColorPicker-bnYBRGk8.js.map +1 -0
  268. package/dist/components/GrColorPicker/index.js +3 -0
  269. package/dist/components/GrColorPicker/styles.css +1 -0
  270. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-MWDYDPNC.js +566 -0
  271. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-MWDYDPNC.js.map +1 -0
  272. package/dist/components/GrCommandPalette/index.js +3 -0
  273. package/dist/components/GrCommandPalette/styles.css +1 -0
  274. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js +144 -0
  275. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js.map +1 -0
  276. package/dist/components/GrConfigProvider/index.js +4 -0
  277. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DaQmlp1_.js +200 -0
  278. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DaQmlp1_.js.map +1 -0
  279. package/dist/components/GrConfirmDialog/index.js +2 -2
  280. package/dist/components/GrDataTable/chunks/GrDataTable-DVFho9Cj.js +605 -0
  281. package/dist/components/GrDataTable/chunks/GrDataTable-DVFho9Cj.js.map +1 -0
  282. package/dist/components/GrDataTable/index.js +3 -3
  283. package/dist/components/GrDialog/chunks/GrDialog-AE1gIZuz.js +255 -0
  284. package/dist/components/GrDialog/chunks/GrDialog-AE1gIZuz.js.map +1 -0
  285. package/dist/components/GrDialog/index.js +1 -1
  286. package/dist/components/GrDialogService/chunks/GrDialogService-B4DYWDkA.js +656 -0
  287. package/dist/components/GrDialogService/chunks/GrDialogService-B4DYWDkA.js.map +1 -0
  288. package/dist/components/GrDialogService/index.js +3 -3
  289. package/dist/components/GrDivider/chunks/GrDivider-B2Xwc_QO.js +109 -0
  290. package/dist/components/GrDivider/chunks/GrDivider-B2Xwc_QO.js.map +1 -0
  291. package/dist/components/GrDivider/index.js +3 -3
  292. package/dist/components/GrDrawer/chunks/GrDrawer-DQwi6aRw.js +251 -0
  293. package/dist/components/GrDrawer/chunks/GrDrawer-DQwi6aRw.js.map +1 -0
  294. package/dist/components/GrDrawer/index.js +2 -2
  295. package/dist/components/GrDropdown/chunks/GrDropdown-BLng6V1m.js +300 -0
  296. package/dist/components/GrDropdown/chunks/GrDropdown-BLng6V1m.js.map +1 -0
  297. package/dist/components/GrDropdown/index.js +2 -2
  298. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-BImk2Vs7.js +421 -0
  299. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-BImk2Vs7.js.map +1 -0
  300. package/dist/components/GrDropdownMenu/index.js +3 -3
  301. package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js +86 -0
  302. package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js.map +1 -0
  303. package/dist/components/GrEmptyState/index.js +3 -3
  304. package/dist/components/GrFileUpload/chunks/GrFileUpload-D0B-BEsd.js +1080 -0
  305. package/dist/components/GrFileUpload/chunks/GrFileUpload-D0B-BEsd.js.map +1 -0
  306. package/dist/components/GrFileUpload/index.js +4 -4
  307. package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js +326 -0
  308. package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js.map +1 -0
  309. package/dist/components/GrForm/index.js +5 -0
  310. package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js +190 -0
  311. package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js.map +1 -0
  312. package/dist/components/GrFormField/index.js +3 -3
  313. package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js +452 -0
  314. package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js.map +1 -0
  315. package/dist/components/GrFormFile/index.js +3 -3
  316. package/dist/components/GrFormFile/styles.css +1 -0
  317. package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js +63 -0
  318. package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js.map +1 -0
  319. package/dist/components/GrFormSection/index.js +3 -3
  320. package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js +57 -0
  321. package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js.map +1 -0
  322. package/dist/components/GrIcon/index.js +3 -3
  323. package/dist/components/GrIcon/styles.css +1 -0
  324. package/dist/components/GrImageViewer/chunks/GrImageViewer-BeCnE8XQ.js +1103 -0
  325. package/dist/components/GrImageViewer/chunks/GrImageViewer-BeCnE8XQ.js.map +1 -0
  326. package/dist/components/GrImageViewer/index.js +3 -3
  327. package/dist/components/GrImageViewer/themes/dark.css +17 -0
  328. package/dist/components/GrImageViewer/themes/light.css +16 -0
  329. package/dist/components/GrInput/chunks/GrInput-DD2gYdqS.js +348 -0
  330. package/dist/components/GrInput/chunks/GrInput-DD2gYdqS.js.map +1 -0
  331. package/dist/components/GrInput/index.js +2 -2
  332. package/dist/components/GrInputTag/chunks/GrInputTag-DmNunixz.js +525 -0
  333. package/dist/components/GrInputTag/chunks/GrInputTag-DmNunixz.js.map +1 -0
  334. package/dist/components/GrInputTag/index.js +2 -2
  335. package/dist/components/GrKbd/chunks/GrKbd-DRFPvW3G.js +192 -0
  336. package/dist/components/GrKbd/chunks/GrKbd-DRFPvW3G.js.map +1 -0
  337. package/dist/components/GrKbd/index.js +3 -3
  338. package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js +163 -0
  339. package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js.map +1 -0
  340. package/dist/components/GrLink/index.js +2 -2
  341. package/dist/components/GrList/chunks/GrList-4YU1NZtM.js +277 -0
  342. package/dist/components/GrList/chunks/GrList-4YU1NZtM.js.map +1 -0
  343. package/dist/components/GrList/index.js +3 -3
  344. package/dist/components/GrList/styles.css +1 -0
  345. package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js +101 -0
  346. package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js.map +1 -0
  347. package/dist/components/GrLoading/index.js +2 -2
  348. package/dist/components/GrModal/chunks/GrModal-B8I78T0N.js +313 -0
  349. package/dist/components/GrModal/chunks/GrModal-B8I78T0N.js.map +1 -0
  350. package/dist/components/GrModal/index.js +3 -4
  351. package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js +104 -0
  352. package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js.map +1 -0
  353. package/dist/components/GrNavbar/index.js +3 -3
  354. package/dist/components/GrNumberInput/chunks/GrNumberInput-CZOyPz4J.js +658 -0
  355. package/dist/components/GrNumberInput/chunks/GrNumberInput-CZOyPz4J.js.map +1 -0
  356. package/dist/components/GrNumberInput/index.js +2 -2
  357. package/dist/components/GrPagination/chunks/GrPagination-B6N0QZBf.js +283 -0
  358. package/dist/components/GrPagination/chunks/GrPagination-B6N0QZBf.js.map +1 -0
  359. package/dist/components/GrPagination/index.js +3 -3
  360. package/dist/components/GrPopover/chunks/GrPopover-B1eRCOoO.js +216 -0
  361. package/dist/components/GrPopover/chunks/GrPopover-B1eRCOoO.js.map +1 -0
  362. package/dist/components/GrPopover/index.js +3 -0
  363. package/dist/components/GrProgressBar/chunks/GrProgressBar-BiHnaitu.js +90 -0
  364. package/dist/components/GrProgressBar/chunks/GrProgressBar-BiHnaitu.js.map +1 -0
  365. package/dist/components/GrProgressBar/index.js +2 -2
  366. package/dist/components/GrProgressBar/styles.css +1 -0
  367. package/dist/components/GrProgressBar/themes/dark.css +13 -0
  368. package/dist/components/GrProgressBar/themes/light.css +12 -0
  369. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-CTogjcHz.js +210 -0
  370. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-CTogjcHz.js.map +1 -0
  371. package/dist/components/GrProgressCircle/index.js +3 -0
  372. package/dist/components/GrProgressCircle/styles.css +1 -0
  373. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Ct174NVD.js +348 -0
  374. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Ct174NVD.js.map +1 -0
  375. package/dist/components/GrPromptDialog/index.js +2 -2
  376. package/dist/components/GrRadio/chunks/GrRadio-DksDro_U.js +277 -0
  377. package/dist/components/GrRadio/chunks/GrRadio-DksDro_U.js.map +1 -0
  378. package/dist/components/GrRadio/index.js +2 -2
  379. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BOIhejE6.js +189 -0
  380. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BOIhejE6.js.map +1 -0
  381. package/dist/components/GrRadioGroup/index.js +1 -1
  382. package/dist/components/GrRating/chunks/GrRating-JrHXz0Rv.js +315 -0
  383. package/dist/components/GrRating/chunks/GrRating-JrHXz0Rv.js.map +1 -0
  384. package/dist/components/GrRating/index.js +3 -0
  385. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js +777 -0
  386. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js.map +1 -0
  387. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js +224 -0
  388. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js.map +1 -0
  389. package/dist/components/GrResponseErrorBanner/index.js +2 -2
  390. package/dist/components/GrSegmented/chunks/GrSegmented-BQIlH5KI.js +406 -0
  391. package/dist/components/GrSegmented/chunks/GrSegmented-BQIlH5KI.js.map +1 -0
  392. package/dist/components/GrSegmented/index.js +3 -3
  393. package/dist/components/GrSelect/chunks/GrSelect-aqkPCqjd.js +1372 -0
  394. package/dist/components/GrSelect/chunks/GrSelect-aqkPCqjd.js.map +1 -0
  395. package/dist/components/GrSelect/index.js +2 -2
  396. package/dist/components/GrSelect/styles.css +1 -0
  397. package/dist/components/GrSidebar/chunks/GrSidebar-DRGnnViw.js +257 -0
  398. package/dist/components/GrSidebar/chunks/GrSidebar-DRGnnViw.js.map +1 -0
  399. package/dist/components/GrSidebar/index.js +3 -3
  400. package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js +84 -0
  401. package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js.map +1 -0
  402. package/dist/components/GrSkeleton/index.js +3 -3
  403. package/dist/components/GrSlider/chunks/GrSlider-DkU9IQSX.js +392 -0
  404. package/dist/components/GrSlider/chunks/GrSlider-DkU9IQSX.js.map +1 -0
  405. package/dist/components/GrSlider/index.js +3 -0
  406. package/dist/components/GrSplitter/chunks/GrSplitter-7To8jbJ8.js +288 -0
  407. package/dist/components/GrSplitter/chunks/GrSplitter-7To8jbJ8.js.map +1 -0
  408. package/dist/components/GrSplitter/index.js +3 -0
  409. package/dist/components/GrSplitter/styles.css +1 -0
  410. package/dist/components/GrStatistic/chunks/GrStatistic-CttyoYPT.js +319 -0
  411. package/dist/components/GrStatistic/chunks/GrStatistic-CttyoYPT.js.map +1 -0
  412. package/dist/components/GrStatistic/index.js +3 -0
  413. package/dist/components/GrSwitch/chunks/GrSwitch-B9TYbiih.js +183 -0
  414. package/dist/components/GrSwitch/chunks/GrSwitch-B9TYbiih.js.map +1 -0
  415. package/dist/components/GrSwitch/index.js +2 -2
  416. package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js +81 -0
  417. package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js.map +1 -0
  418. package/dist/components/GrTabPanels/index.js +1 -1
  419. package/dist/components/GrTable/chunks/GrTable-BB-mI_NM.js +163 -0
  420. package/dist/components/GrTable/chunks/GrTable-BB-mI_NM.js.map +1 -0
  421. package/dist/components/GrTable/index.js +3 -3
  422. package/dist/components/GrTabs/chunks/GrTabs-B8CDq2D9.js +272 -0
  423. package/dist/components/GrTabs/chunks/GrTabs-B8CDq2D9.js.map +1 -0
  424. package/dist/components/GrTabs/index.js +3 -3
  425. package/dist/components/GrTextarea/chunks/GrTextarea-DUh5Tlo4.js +241 -0
  426. package/dist/components/GrTextarea/chunks/GrTextarea-DUh5Tlo4.js.map +1 -0
  427. package/dist/components/GrTextarea/index.js +2 -2
  428. package/dist/components/GrTimeline/chunks/GrTimeline-CE9b3s18.js +285 -0
  429. package/dist/components/GrTimeline/chunks/GrTimeline-CE9b3s18.js.map +1 -0
  430. package/dist/components/GrTimeline/index.js +3 -0
  431. package/dist/components/GrTimeline/styles.css +1 -0
  432. package/dist/components/GrToaster/chunks/GrToaster-BKQy3Srm.js +272 -0
  433. package/dist/components/GrToaster/chunks/GrToaster-BKQy3Srm.js.map +1 -0
  434. package/dist/components/GrToaster/index.js +1 -1
  435. package/dist/components/GrToaster/styles.css +1 -0
  436. package/dist/components/GrTooltip/chunks/GrTooltip-DEbejfhA.js +185 -0
  437. package/dist/components/GrTooltip/chunks/GrTooltip-DEbejfhA.js.map +1 -0
  438. package/dist/components/GrTooltip/index.js +3 -3
  439. package/dist/components/GrTree/chunks/GrTree-wfdbvygw.js +1339 -0
  440. package/dist/components/GrTree/chunks/GrTree-wfdbvygw.js.map +1 -0
  441. package/dist/components/GrTree/index.js +2 -2
  442. package/dist/components/GrTree/styles.css +1 -0
  443. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-lLWmAMtI.js +623 -0
  444. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-lLWmAMtI.js.map +1 -0
  445. package/dist/components/GrTreeSelect/index.js +2 -2
  446. package/dist/composables/useAnnouncer.js +114 -0
  447. package/dist/composables/useAnnouncer.js.map +1 -0
  448. package/dist/composables/useDismissible.js +31 -0
  449. package/dist/composables/useDismissible.js.map +1 -0
  450. package/dist/composables/useFloating.js +112 -0
  451. package/dist/composables/useFloating.js.map +1 -0
  452. package/dist/composables/useFocusTrap.js +124 -0
  453. package/dist/composables/useFocusTrap.js.map +1 -0
  454. package/dist/composables/useGrFormControl.js +24 -0
  455. package/dist/composables/useGrFormControl.js.map +1 -0
  456. package/dist/composables/useOverlayLayer.js +2 -0
  457. package/dist/composables/usePortalTarget.js +2 -0
  458. package/dist/composables/useTheme.js +106 -36
  459. package/dist/composables/useTheme.js.map +1 -1
  460. package/dist/composables/useToast.js +126 -8
  461. package/dist/composables/useToast.js.map +1 -1
  462. package/dist/composables/useVirtualList.js +244 -0
  463. package/dist/composables/useVirtualList.js.map +1 -0
  464. package/dist/directives/dropzone.js +1 -1
  465. package/dist/directives/hotkey.js +9 -15
  466. package/dist/directives/hotkey.js.map +1 -1
  467. package/dist/directives/loading.js +43 -7
  468. package/dist/directives/loading.js.map +1 -1
  469. package/dist/fileValidation/index.js +2 -2
  470. package/dist/granular-provider-node.js +1 -31
  471. package/dist/granular-provider.js +1 -4
  472. package/dist/i18n/all.js +1 -1
  473. package/dist/i18n/index.js +1 -1
  474. package/dist/index.js +159 -133
  475. package/dist/styles/base.css +34 -2
  476. package/dist/styles/index.css +6 -3
  477. package/dist/styles/preflight.css +36 -3
  478. package/dist/styles/themes/dark.css +125 -58
  479. package/dist/styles/themes/light.css +151 -55
  480. package/dist/styles/tokens.css +81 -22
  481. package/dist/tokens.js +3132 -0
  482. package/dist/tokens.js.map +1 -0
  483. package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +59 -15
  484. package/dist/types/src/components/GrAlert/config.d.ts +1 -1
  485. package/dist/types/src/components/GrAlert/defaults.d.ts +23 -0
  486. package/dist/types/src/components/GrAlert/grAlertStyles.d.ts +48 -0
  487. package/dist/types/src/components/GrAlert/index.d.ts +5 -1
  488. package/dist/types/src/components/GrAutocomplete/GrAutocomplete.vue.d.ts +166 -0
  489. package/dist/types/src/components/GrAutocomplete/config.d.ts +1 -0
  490. package/dist/types/src/components/GrAutocomplete/defaults.d.ts +15 -0
  491. package/dist/types/src/components/GrAutocomplete/grAutocompleteStyles.d.ts +63 -0
  492. package/dist/types/src/components/GrAutocomplete/index.d.ts +10 -0
  493. package/dist/types/src/components/GrAutocomplete/safelist.d.ts +1 -0
  494. package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +41 -18
  495. package/dist/types/src/components/GrAvatar/GrAvatarGroup.vue.d.ts +70 -0
  496. package/dist/types/src/components/GrAvatar/avatarContext.d.ts +12 -0
  497. package/dist/types/src/components/GrAvatar/config.d.ts +1 -1
  498. package/dist/types/src/components/GrAvatar/defaults.d.ts +16 -0
  499. package/dist/types/src/components/GrAvatar/grAvatarStyles.d.ts +38 -0
  500. package/dist/types/src/components/GrAvatar/index.d.ts +5 -0
  501. package/dist/types/src/components/GrAvatar/safelist.d.ts +4 -0
  502. package/dist/types/src/components/GrBadge/GrBadge.vue.d.ts +11 -11
  503. package/dist/types/src/components/GrBadge/config.d.ts +1 -1
  504. package/dist/types/src/components/GrBadge/defaults.d.ts +15 -0
  505. package/dist/types/src/components/GrBadge/grBadgeStyles.d.ts +13 -1
  506. package/dist/types/src/components/GrBadge/index.d.ts +2 -0
  507. package/dist/types/src/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +41 -4
  508. package/dist/types/src/components/GrBadgeWrap/config.d.ts +1 -1
  509. package/dist/types/src/components/GrBadgeWrap/grBadgeWrapStyles.d.ts +46 -0
  510. package/dist/types/src/components/GrBadgeWrap/index.d.ts +4 -0
  511. package/dist/types/src/components/GrBadgeWrap/safelist.d.ts +1 -0
  512. package/dist/types/src/components/GrBottomNav/GrBottomNav.vue.d.ts +91 -4
  513. package/dist/types/src/components/GrBottomNav/config.d.ts +1 -1
  514. package/dist/types/src/components/GrBottomNav/defaults.d.ts +16 -0
  515. package/dist/types/src/components/GrBottomNav/grBottomNavStyles.d.ts +56 -0
  516. package/dist/types/src/components/GrBottomNav/index.d.ts +6 -1
  517. package/dist/types/src/components/GrBottomNav/safelist.d.ts +1 -0
  518. package/dist/types/src/components/GrBreadcrumbs/GrBreadcrumbs.vue.d.ts +117 -0
  519. package/dist/types/src/components/GrBreadcrumbs/config.d.ts +1 -0
  520. package/dist/types/src/components/GrBreadcrumbs/defaults.d.ts +15 -0
  521. package/dist/types/src/components/GrBreadcrumbs/grBreadcrumbsStyles.d.ts +86 -0
  522. package/dist/types/src/components/GrBreadcrumbs/index.d.ts +8 -0
  523. package/dist/types/src/components/GrBreadcrumbs/safelist.d.ts +1 -0
  524. package/dist/types/src/components/GrButton/GrButton.vue.d.ts +43 -19
  525. package/dist/types/src/components/GrButton/config.d.ts +1 -1
  526. package/dist/types/src/components/GrButton/defaults.d.ts +25 -0
  527. package/dist/types/src/components/GrButton/grButtonStyles.d.ts +27 -3
  528. package/dist/types/src/components/GrButton/index.d.ts +6 -1
  529. package/dist/types/src/components/GrButton/safelist.d.ts +1 -0
  530. package/dist/types/src/components/GrButtonGroup/GrButtonGroup.vue.d.ts +32 -4
  531. package/dist/types/src/components/GrButtonGroup/config.d.ts +1 -1
  532. package/dist/types/src/components/GrButtonGroup/context.d.ts +20 -0
  533. package/dist/types/src/components/GrButtonGroup/index.d.ts +3 -0
  534. package/dist/types/src/components/GrCard/GrCard.vue.d.ts +80 -3
  535. package/dist/types/src/components/GrCard/config.d.ts +1 -1
  536. package/dist/types/src/components/GrCard/defaults.d.ts +15 -0
  537. package/dist/types/src/components/GrCard/grCardStyles.d.ts +24 -0
  538. package/dist/types/src/components/GrCard/index.d.ts +5 -0
  539. package/dist/types/src/components/GrCard/safelist.d.ts +1 -0
  540. package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +58 -12
  541. package/dist/types/src/components/GrCheckbox/config.d.ts +1 -1
  542. package/dist/types/src/components/GrCheckbox/defaults.d.ts +14 -0
  543. package/dist/types/src/components/GrCheckbox/grCheckboxGroupContext.d.ts +19 -0
  544. package/dist/types/src/components/GrCheckbox/grCheckboxStyles.d.ts +44 -0
  545. package/dist/types/src/components/GrCheckbox/index.d.ts +9 -0
  546. package/dist/types/src/components/GrCheckbox/safelist.d.ts +13 -0
  547. package/dist/types/src/components/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +105 -0
  548. package/dist/types/src/components/GrCheckboxGroup/config.d.ts +1 -0
  549. package/dist/types/src/components/GrCheckboxGroup/defaults.d.ts +14 -0
  550. package/dist/types/src/components/GrCheckboxGroup/index.d.ts +9 -0
  551. package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +57 -9
  552. package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +14 -4
  553. package/dist/types/src/components/GrCollapse/config.d.ts +1 -1
  554. package/dist/types/src/components/GrCollapse/defaults.d.ts +19 -0
  555. package/dist/types/src/components/GrCollapse/grCollapseContext.d.ts +20 -0
  556. package/dist/types/src/components/GrCollapse/grCollapseStyles.d.ts +42 -0
  557. package/dist/types/src/components/GrCollapse/index.d.ts +3 -0
  558. package/dist/types/src/components/GrCollapse/safelist.d.ts +15 -0
  559. package/dist/types/src/components/GrColorPicker/GrColorPicker.vue.d.ts +104 -0
  560. package/dist/types/src/components/GrColorPicker/color.d.ts +38 -0
  561. package/dist/types/src/components/GrColorPicker/config.d.ts +1 -0
  562. package/dist/types/src/components/GrColorPicker/defaults.d.ts +15 -0
  563. package/dist/types/src/components/GrColorPicker/grColorPickerStyles.d.ts +39 -0
  564. package/dist/types/src/components/GrColorPicker/index.d.ts +11 -0
  565. package/dist/types/src/components/GrColorPicker/safelist.d.ts +1 -0
  566. package/dist/types/src/components/GrCommandPalette/GrCommandPalette.vue.d.ts +163 -0
  567. package/dist/types/src/components/GrCommandPalette/config.d.ts +1 -0
  568. package/dist/types/src/components/GrCommandPalette/defaults.d.ts +14 -0
  569. package/dist/types/src/components/GrCommandPalette/filtering.d.ts +59 -0
  570. package/dist/types/src/components/GrCommandPalette/grCommandPaletteStyles.d.ts +45 -0
  571. package/dist/types/src/components/GrCommandPalette/index.d.ts +10 -0
  572. package/dist/types/src/components/GrCommandPalette/safelist.d.ts +1 -0
  573. package/dist/types/src/components/GrConfigProvider/GrConfigProvider.vue.d.ts +93 -0
  574. package/dist/types/src/components/GrConfigProvider/config.d.ts +1 -0
  575. package/dist/types/src/components/GrConfigProvider/context.d.ts +158 -0
  576. package/dist/types/src/components/GrConfigProvider/index.d.ts +6 -0
  577. package/dist/types/src/components/GrConfigProvider/zIndexScale.d.ts +23 -0
  578. package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +35 -6
  579. package/dist/types/src/components/GrConfirmDialog/config.d.ts +1 -1
  580. package/dist/types/src/components/GrConfirmDialog/defaults.d.ts +14 -0
  581. package/dist/types/src/components/GrConfirmDialog/index.d.ts +2 -1
  582. package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +111 -26
  583. package/dist/types/src/components/GrDataTable/config.d.ts +1 -1
  584. package/dist/types/src/components/GrDataTable/defaults.d.ts +10 -0
  585. package/dist/types/src/components/GrDataTable/grDataTableSort.d.ts +25 -0
  586. package/dist/types/src/components/GrDataTable/grDataTableStyles.d.ts +29 -0
  587. package/dist/types/src/components/GrDataTable/index.d.ts +10 -1
  588. package/dist/types/src/components/GrDataTable/safelist.d.ts +1 -0
  589. package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +52 -5
  590. package/dist/types/src/components/GrDialog/GrDialogCloseButton.vue.d.ts +3 -0
  591. package/dist/types/src/components/GrDialog/GrDialogHeader.vue.d.ts +3 -0
  592. package/dist/types/src/components/GrDialog/config.d.ts +1 -1
  593. package/dist/types/src/components/GrDialog/defaults.d.ts +14 -0
  594. package/dist/types/src/components/GrDialog/dialogShared.d.ts +2 -1
  595. package/dist/types/src/components/GrDialog/index.d.ts +5 -0
  596. package/dist/types/src/components/GrDialogService/GrDialogServiceHost.vue.d.ts +18 -1
  597. package/dist/types/src/components/GrDialogService/GrDialogServiceItem.vue.d.ts +15 -0
  598. package/dist/types/src/components/GrDialogService/config.d.ts +1 -1
  599. package/dist/types/src/components/GrDialogService/index.d.ts +3 -1
  600. package/dist/types/src/components/GrDialogService/store.d.ts +94 -5
  601. package/dist/types/src/components/GrDialogService/types.d.ts +22 -1
  602. package/dist/types/src/components/GrDialogService/useDialogService.d.ts +31 -1
  603. package/dist/types/src/components/GrDivider/GrDivider.vue.d.ts +44 -9
  604. package/dist/types/src/components/GrDivider/config.d.ts +1 -1
  605. package/dist/types/src/components/GrDivider/defaults.d.ts +15 -0
  606. package/dist/types/src/components/GrDivider/grDividerStyles.d.ts +19 -0
  607. package/dist/types/src/components/GrDivider/index.d.ts +4 -1
  608. package/dist/types/src/components/GrDivider/safelist.d.ts +1 -0
  609. package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +94 -18
  610. package/dist/types/src/components/GrDrawer/config.d.ts +1 -1
  611. package/dist/types/src/components/GrDrawer/defaults.d.ts +19 -0
  612. package/dist/types/src/components/GrDrawer/grDrawerStyles.d.ts +48 -2
  613. package/dist/types/src/components/GrDrawer/index.d.ts +6 -1
  614. package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +66 -13
  615. package/dist/types/src/components/GrDropdown/config.d.ts +1 -1
  616. package/dist/types/src/components/GrDropdown/grDropdownStyles.d.ts +4 -5
  617. package/dist/types/src/components/GrDropdown/index.d.ts +5 -2
  618. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +79 -16
  619. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumn.vue.d.ts +2 -1
  620. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumns.vue.d.ts +3 -2
  621. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuGroup.vue.d.ts +2 -2
  622. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuHeader.vue.d.ts +3 -2
  623. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +50 -4
  624. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuList.vue.d.ts +5 -0
  625. package/dist/types/src/components/GrDropdownMenu/config.d.ts +1 -1
  626. package/dist/types/src/components/GrDropdownMenu/grDropdownMenuStyles.d.ts +33 -0
  627. package/dist/types/src/components/GrDropdownMenu/index.d.ts +6 -2
  628. package/dist/types/src/components/GrDropdownMenu/menuModel.d.ts +42 -0
  629. package/dist/types/src/components/GrDropdownMenu/safelist.d.ts +7 -0
  630. package/dist/types/src/components/GrEmptyState/GrEmptyState.vue.d.ts +33 -10
  631. package/dist/types/src/components/GrEmptyState/config.d.ts +1 -1
  632. package/dist/types/src/components/GrEmptyState/defaults.d.ts +16 -0
  633. package/dist/types/src/components/GrEmptyState/grEmptyStateStyles.d.ts +32 -0
  634. package/dist/types/src/components/GrEmptyState/index.d.ts +4 -0
  635. package/dist/types/src/components/GrEmptyState/safelist.d.ts +1 -0
  636. package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +158 -148
  637. package/dist/types/src/components/GrFileUpload/config.d.ts +1 -1
  638. package/dist/types/src/components/GrFileUpload/defaults.d.ts +10 -0
  639. package/dist/types/src/components/GrFileUpload/fileEntry.d.ts +26 -0
  640. package/dist/types/src/components/GrFileUpload/grFileUploadStyles.d.ts +45 -0
  641. package/dist/types/src/components/GrFileUpload/index.d.ts +10 -1
  642. package/dist/types/src/components/GrFileUpload/maxFileSize.d.ts +2 -0
  643. package/dist/types/src/components/GrFileUpload/safelist.d.ts +1 -0
  644. package/dist/types/src/components/GrFileUpload/useDropZone.d.ts +24 -0
  645. package/dist/types/src/components/GrFileUpload/usePerFileUpload.d.ts +38 -0
  646. package/dist/types/src/components/GrFileUpload/useUploadState.d.ts +30 -0
  647. package/dist/types/src/components/GrForm/GrForm.vue.d.ts +129 -0
  648. package/dist/types/src/components/GrForm/config.d.ts +1 -0
  649. package/dist/types/src/components/GrForm/context.d.ts +46 -0
  650. package/dist/types/src/components/GrForm/fileRule.d.ts +43 -0
  651. package/dist/types/src/components/GrForm/index.d.ts +10 -0
  652. package/dist/types/src/components/GrForm/modelSnapshot.d.ts +17 -0
  653. package/dist/types/src/components/GrForm/validation.d.ts +67 -0
  654. package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +65 -9
  655. package/dist/types/src/components/GrFormField/config.d.ts +1 -1
  656. package/dist/types/src/components/GrFormField/context.d.ts +19 -0
  657. package/dist/types/src/components/GrFormField/defaults.d.ts +15 -0
  658. package/dist/types/src/components/GrFormField/grFormFieldStyles.d.ts +19 -0
  659. package/dist/types/src/components/GrFormField/index.d.ts +5 -1
  660. package/dist/types/src/components/GrFormField/safelist.d.ts +1 -0
  661. package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +73 -19
  662. package/dist/types/src/components/GrFormFile/config.d.ts +1 -1
  663. package/dist/types/src/components/GrFormFile/defaults.d.ts +10 -0
  664. package/dist/types/src/components/GrFormFile/grFormFileStyles.d.ts +22 -0
  665. package/dist/types/src/components/GrFormFile/index.d.ts +7 -0
  666. package/dist/types/src/components/GrFormFile/safelist.d.ts +1 -0
  667. package/dist/types/src/components/GrFormSection/GrFormSection.vue.d.ts +34 -7
  668. package/dist/types/src/components/GrFormSection/config.d.ts +1 -1
  669. package/dist/types/src/components/GrFormSection/defaults.d.ts +14 -0
  670. package/dist/types/src/components/GrFormSection/grFormSectionStyles.d.ts +12 -0
  671. package/dist/types/src/components/GrFormSection/index.d.ts +4 -0
  672. package/dist/types/src/components/GrFormSection/safelist.d.ts +1 -0
  673. package/dist/types/src/components/GrIcon/GrIcon.vue.d.ts +40 -4
  674. package/dist/types/src/components/GrIcon/config.d.ts +1 -1
  675. package/dist/types/src/components/GrIcon/defaults.d.ts +14 -0
  676. package/dist/types/src/components/GrIcon/grIconStyles.d.ts +25 -0
  677. package/dist/types/src/components/GrIcon/index.d.ts +4 -0
  678. package/dist/types/src/components/GrIcon/safelist.d.ts +1 -0
  679. package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +89 -18
  680. package/dist/types/src/components/GrImageViewer/composables/usePointerGestures.d.ts +36 -0
  681. package/dist/types/src/components/GrImageViewer/composables/useViewerKeyboard.d.ts +7 -4
  682. package/dist/types/src/components/GrImageViewer/composables/useWheelGesture.d.ts +3 -2
  683. package/dist/types/src/components/GrImageViewer/composables/useZoomPan.d.ts +17 -3
  684. package/dist/types/src/components/GrImageViewer/config.d.ts +1 -1
  685. package/dist/types/src/components/GrImageViewer/grImageViewerStyles.d.ts +21 -0
  686. package/dist/types/src/components/GrImageViewer/index.d.ts +7 -0
  687. package/dist/types/src/components/GrImageViewer/safelist.d.ts +1 -0
  688. package/dist/types/src/components/GrInput/GrInput.vue.d.ts +75 -30
  689. package/dist/types/src/components/GrInput/config.d.ts +1 -1
  690. package/dist/types/src/components/GrInput/defaults.d.ts +18 -0
  691. package/dist/types/src/components/GrInput/grInputStyles.d.ts +54 -8
  692. package/dist/types/src/components/GrInput/index.d.ts +6 -0
  693. package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +100 -17
  694. package/dist/types/src/components/GrInputTag/config.d.ts +1 -1
  695. package/dist/types/src/components/GrInputTag/defaults.d.ts +17 -0
  696. package/dist/types/src/components/GrInputTag/grInputTagStyles.d.ts +24 -1
  697. package/dist/types/src/components/GrInputTag/index.d.ts +5 -0
  698. package/dist/types/src/components/GrKbd/GrKbd.vue.d.ts +31 -10
  699. package/dist/types/src/components/GrKbd/config.d.ts +1 -1
  700. package/dist/types/src/components/GrKbd/defaults.d.ts +14 -0
  701. package/dist/types/src/components/GrKbd/grKbdStyles.d.ts +15 -0
  702. package/dist/types/src/components/GrKbd/index.d.ts +4 -1
  703. package/dist/types/src/components/GrKbd/safelist.d.ts +1 -0
  704. package/dist/types/src/components/GrLink/GrLink.vue.d.ts +26 -13
  705. package/dist/types/src/components/GrLink/config.d.ts +1 -1
  706. package/dist/types/src/components/GrLink/defaults.d.ts +14 -0
  707. package/dist/types/src/components/GrLink/grLinkStyles.d.ts +13 -15
  708. package/dist/types/src/components/GrLink/index.d.ts +2 -0
  709. package/dist/types/src/components/GrList/GrList.vue.d.ts +57 -32
  710. package/dist/types/src/components/GrList/GrListItem.vue.d.ts +42 -9
  711. package/dist/types/src/components/GrList/config.d.ts +1 -1
  712. package/dist/types/src/components/GrList/grListStyles.d.ts +25 -0
  713. package/dist/types/src/components/GrList/index.d.ts +5 -0
  714. package/dist/types/src/components/GrList/safelist.d.ts +1 -0
  715. package/dist/types/src/components/GrLoading/GrLoading.vue.d.ts +59 -19
  716. package/dist/types/src/components/GrLoading/config.d.ts +1 -1
  717. package/dist/types/src/components/GrLoading/grLoadingStyles.d.ts +10 -2
  718. package/dist/types/src/components/GrLoading/index.d.ts +1 -0
  719. package/dist/types/src/components/GrModal/GrModal.vue.d.ts +58 -12
  720. package/dist/types/src/components/GrModal/config.d.ts +1 -1
  721. package/dist/types/src/components/GrModal/context.d.ts +37 -0
  722. package/dist/types/src/components/GrModal/defaults.d.ts +14 -0
  723. package/dist/types/src/components/GrModal/grModalStyles.d.ts +25 -10
  724. package/dist/types/src/components/GrModal/index.d.ts +6 -3
  725. package/dist/types/src/components/GrNavbar/GrNavbar.vue.d.ts +28 -9
  726. package/dist/types/src/components/GrNavbar/config.d.ts +1 -1
  727. package/dist/types/src/components/GrNavbar/grNavbarStyles.d.ts +23 -0
  728. package/dist/types/src/components/GrNavbar/index.d.ts +2 -0
  729. package/dist/types/src/components/GrNavbar/safelist.d.ts +1 -0
  730. package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +70 -23
  731. package/dist/types/src/components/GrNumberInput/config.d.ts +1 -1
  732. package/dist/types/src/components/GrNumberInput/defaults.d.ts +15 -0
  733. package/dist/types/src/components/GrNumberInput/grNumberInputStyles.d.ts +20 -4
  734. package/dist/types/src/components/GrNumberInput/index.d.ts +5 -0
  735. package/dist/types/src/components/GrNumberInput/numberInputMath.d.ts +17 -0
  736. package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +65 -1
  737. package/dist/types/src/components/GrPagination/config.d.ts +1 -1
  738. package/dist/types/src/components/GrPagination/defaults.d.ts +10 -0
  739. package/dist/types/src/components/GrPagination/grPaginationStyles.d.ts +19 -0
  740. package/dist/types/src/components/GrPagination/index.d.ts +4 -0
  741. package/dist/types/src/components/GrPagination/safelist.d.ts +1 -0
  742. package/dist/types/src/components/GrPopover/GrPopover.vue.d.ts +161 -0
  743. package/dist/types/src/components/GrPopover/config.d.ts +1 -0
  744. package/dist/types/src/components/GrPopover/defaults.d.ts +15 -0
  745. package/dist/types/src/components/GrPopover/grPopoverStyles.d.ts +28 -0
  746. package/dist/types/src/components/GrPopover/index.d.ts +11 -0
  747. package/dist/types/src/components/GrPopover/safelist.d.ts +1 -0
  748. package/dist/types/src/components/GrProgressBar/GrProgressBar.vue.d.ts +37 -5
  749. package/dist/types/src/components/GrProgressBar/config.d.ts +1 -1
  750. package/dist/types/src/components/GrProgressBar/defaults.d.ts +11 -0
  751. package/dist/types/src/components/GrProgressBar/grStyle.d.ts +14 -0
  752. package/dist/types/src/components/GrProgressBar/index.d.ts +2 -1
  753. package/dist/types/src/components/GrProgressBar/safelist.d.ts +4 -0
  754. package/dist/types/src/components/GrProgressCircle/GrProgressCircle.vue.d.ts +103 -0
  755. package/dist/types/src/components/GrProgressCircle/config.d.ts +1 -0
  756. package/dist/types/src/components/GrProgressCircle/defaults.d.ts +18 -0
  757. package/dist/types/src/components/GrProgressCircle/geometry.d.ts +29 -0
  758. package/dist/types/src/components/GrProgressCircle/grProgressCircleStyles.d.ts +34 -0
  759. package/dist/types/src/components/GrProgressCircle/index.d.ts +11 -0
  760. package/dist/types/src/components/GrProgressCircle/safelist.d.ts +1 -0
  761. package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +81 -13
  762. package/dist/types/src/components/GrPromptDialog/config.d.ts +1 -1
  763. package/dist/types/src/components/GrPromptDialog/defaults.d.ts +14 -0
  764. package/dist/types/src/components/GrPromptDialog/index.d.ts +1 -0
  765. package/dist/types/src/components/GrRadio/GrRadio.vue.d.ts +30 -11
  766. package/dist/types/src/components/GrRadio/config.d.ts +1 -1
  767. package/dist/types/src/components/GrRadio/defaults.d.ts +14 -0
  768. package/dist/types/src/components/GrRadio/grRadioGroupContext.d.ts +37 -2
  769. package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +52 -9
  770. package/dist/types/src/components/GrRadio/index.d.ts +2 -0
  771. package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +58 -14
  772. package/dist/types/src/components/GrRadioGroup/config.d.ts +1 -1
  773. package/dist/types/src/components/GrRadioGroup/defaults.d.ts +14 -0
  774. package/dist/types/src/components/GrRadioGroup/index.d.ts +5 -0
  775. package/dist/types/src/components/GrRating/GrRating.vue.d.ts +173 -0
  776. package/dist/types/src/components/GrRating/config.d.ts +1 -0
  777. package/dist/types/src/components/GrRating/defaults.d.ts +14 -0
  778. package/dist/types/src/components/GrRating/grRatingStyles.d.ts +24 -0
  779. package/dist/types/src/components/GrRating/index.d.ts +10 -0
  780. package/dist/types/src/components/GrRating/safelist.d.ts +1 -0
  781. package/dist/types/src/components/GrResponseErrorBanner/GrFormErrorBanner.vue.d.ts +8 -4
  782. package/dist/types/src/components/GrResponseErrorBanner/GrResponseErrorBanner.vue.d.ts +8 -4
  783. package/dist/types/src/components/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +12 -5
  784. package/dist/types/src/components/GrResponseErrorBanner/config.d.ts +1 -1
  785. package/dist/types/src/components/GrResponseErrorBanner/index.d.ts +6 -0
  786. package/dist/types/src/components/GrResponseErrorBanner/parsers/httpStatusParser.d.ts +3 -1
  787. package/dist/types/src/components/GrResponseErrorBanner/parsers/plainMessageParser.d.ts +4 -1
  788. package/dist/types/src/components/GrResponseErrorBanner/responseError.types.d.ts +12 -2
  789. package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +55 -16
  790. package/dist/types/src/components/GrSegmented/config.d.ts +1 -1
  791. package/dist/types/src/components/GrSegmented/defaults.d.ts +15 -0
  792. package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +31 -5
  793. package/dist/types/src/components/GrSegmented/index.d.ts +6 -1
  794. package/dist/types/src/components/GrSegmented/safelist.d.ts +3 -1
  795. package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +160 -96
  796. package/dist/types/src/components/GrSelect/composables/useSelectNavigation.d.ts +52 -0
  797. package/dist/types/src/components/GrSelect/composables/useSelectPanelItems.d.ts +67 -0
  798. package/dist/types/src/components/GrSelect/composables/useSelectValues.d.ts +37 -0
  799. package/dist/types/src/components/GrSelect/composables/useSelectVirtualization.d.ts +27 -0
  800. package/dist/types/src/components/GrSelect/config.d.ts +1 -1
  801. package/dist/types/src/components/GrSelect/defaults.d.ts +17 -0
  802. package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +65 -10
  803. package/dist/types/src/components/GrSelect/index.d.ts +6 -1
  804. package/dist/types/src/components/GrSelect/selectValue.d.ts +20 -0
  805. package/dist/types/src/components/GrSidebar/GrSidebar.vue.d.ts +30 -5
  806. package/dist/types/src/components/GrSidebar/GrSidebarGroup.vue.d.ts +43 -0
  807. package/dist/types/src/components/GrSidebar/GrSidebarItem.vue.d.ts +6 -6
  808. package/dist/types/src/components/GrSidebar/config.d.ts +1 -1
  809. package/dist/types/src/components/GrSidebar/grSidebarStyles.d.ts +48 -0
  810. package/dist/types/src/components/GrSidebar/index.d.ts +6 -0
  811. package/dist/types/src/components/GrSidebar/safelist.d.ts +1 -0
  812. package/dist/types/src/components/GrSkeleton/GrSkeleton.vue.d.ts +23 -7
  813. package/dist/types/src/components/GrSkeleton/config.d.ts +1 -1
  814. package/dist/types/src/components/GrSkeleton/grSkeletonStyles.d.ts +9 -0
  815. package/dist/types/src/components/GrSkeleton/index.d.ts +1 -0
  816. package/dist/types/src/components/GrSlider/GrSlider.vue.d.ts +138 -0
  817. package/dist/types/src/components/GrSlider/config.d.ts +1 -0
  818. package/dist/types/src/components/GrSlider/defaults.d.ts +14 -0
  819. package/dist/types/src/components/GrSlider/grSliderStyles.d.ts +75 -0
  820. package/dist/types/src/components/GrSlider/index.d.ts +10 -0
  821. package/dist/types/src/components/GrSlider/safelist.d.ts +1 -0
  822. package/dist/types/src/components/GrSplitter/GrSplitter.vue.d.ts +121 -0
  823. package/dist/types/src/components/GrSplitter/config.d.ts +1 -0
  824. package/dist/types/src/components/GrSplitter/defaults.d.ts +16 -0
  825. package/dist/types/src/components/GrSplitter/grSplitterStyles.d.ts +9 -0
  826. package/dist/types/src/components/GrSplitter/index.d.ts +11 -0
  827. package/dist/types/src/components/GrSplitter/safelist.d.ts +1 -0
  828. package/dist/types/src/components/GrSplitter/splitterGeometry.d.ts +39 -0
  829. package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +165 -0
  830. package/dist/types/src/components/GrStatistic/config.d.ts +1 -0
  831. package/dist/types/src/components/GrStatistic/countUp.d.ts +17 -0
  832. package/dist/types/src/components/GrStatistic/defaults.d.ts +14 -0
  833. package/dist/types/src/components/GrStatistic/formatStatisticValue.d.ts +20 -0
  834. package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +37 -0
  835. package/dist/types/src/components/GrStatistic/index.d.ts +7 -0
  836. package/dist/types/src/components/GrStatistic/safelist.d.ts +1 -0
  837. package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +72 -10
  838. package/dist/types/src/components/GrSwitch/config.d.ts +1 -1
  839. package/dist/types/src/components/GrSwitch/defaults.d.ts +14 -0
  840. package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +46 -5
  841. package/dist/types/src/components/GrSwitch/index.d.ts +6 -1
  842. package/dist/types/src/components/GrSwitch/safelist.d.ts +4 -1
  843. package/dist/types/src/components/GrTabPanels/GrTabPanel.vue.d.ts +12 -9
  844. package/dist/types/src/components/GrTabPanels/GrTabPanels.vue.d.ts +4 -14
  845. package/dist/types/src/components/GrTabPanels/config.d.ts +1 -1
  846. package/dist/types/src/components/GrTabPanels/context.d.ts +1 -1
  847. package/dist/types/src/components/GrTabPanels/index.d.ts +2 -0
  848. package/dist/types/src/components/GrTable/GrTable.vue.d.ts +101 -15
  849. package/dist/types/src/components/GrTable/config.d.ts +1 -1
  850. package/dist/types/src/components/GrTable/defaults.d.ts +10 -0
  851. package/dist/types/src/components/GrTable/grTableStyles.d.ts +20 -0
  852. package/dist/types/src/components/GrTable/index.d.ts +7 -1
  853. package/dist/types/src/components/GrTable/safelist.d.ts +1 -0
  854. package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +92 -6
  855. package/dist/types/src/components/GrTabs/config.d.ts +1 -1
  856. package/dist/types/src/components/GrTabs/defaults.d.ts +12 -0
  857. package/dist/types/src/components/GrTabs/grTabsStyles.d.ts +71 -0
  858. package/dist/types/src/components/GrTabs/index.d.ts +5 -0
  859. package/dist/types/src/components/GrTabs/safelist.d.ts +1 -0
  860. package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +90 -25
  861. package/dist/types/src/components/GrTextarea/config.d.ts +1 -1
  862. package/dist/types/src/components/GrTextarea/defaults.d.ts +18 -0
  863. package/dist/types/src/components/GrTextarea/grTextareaStyles.d.ts +33 -1
  864. package/dist/types/src/components/GrTextarea/index.d.ts +6 -1
  865. package/dist/types/src/components/GrTimeline/GrTimeline.vue.d.ts +70 -0
  866. package/dist/types/src/components/GrTimeline/GrTimelineItem.vue.d.ts +84 -0
  867. package/dist/types/src/components/GrTimeline/config.d.ts +1 -0
  868. package/dist/types/src/components/GrTimeline/defaults.d.ts +19 -0
  869. package/dist/types/src/components/GrTimeline/grTimelineContext.d.ts +18 -0
  870. package/dist/types/src/components/GrTimeline/grTimelineStyles.d.ts +37 -0
  871. package/dist/types/src/components/GrTimeline/index.d.ts +12 -0
  872. package/dist/types/src/components/GrTimeline/safelist.d.ts +1 -0
  873. package/dist/types/src/components/GrTimeline/timelineGroups.d.ts +23 -0
  874. package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +44 -3
  875. package/dist/types/src/components/GrToaster/config.d.ts +1 -1
  876. package/dist/types/src/components/GrToaster/index.d.ts +4 -1
  877. package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +58 -7
  878. package/dist/types/src/components/GrTooltip/config.d.ts +1 -1
  879. package/dist/types/src/components/GrTooltip/defaults.d.ts +10 -0
  880. package/dist/types/src/components/GrTooltip/grTooltipStyles.d.ts +8 -0
  881. package/dist/types/src/components/GrTooltip/index.d.ts +5 -1
  882. package/dist/types/src/components/GrTooltip/safelist.d.ts +1 -0
  883. package/dist/types/src/components/GrTree/GrTree.vue.d.ts +20 -7
  884. package/dist/types/src/components/GrTree/config.d.ts +1 -1
  885. package/dist/types/src/components/GrTree/defaults.d.ts +10 -0
  886. package/dist/types/src/components/GrTree/grTreeChecking.d.ts +31 -0
  887. package/dist/types/src/components/GrTree/grTreeDataAdapter.d.ts +2 -0
  888. package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +9 -0
  889. package/dist/types/src/components/GrTree/grTreeProps.d.ts +60 -11
  890. package/dist/types/src/components/GrTree/grTreeStore.d.ts +27 -1
  891. package/dist/types/src/components/GrTree/grTreeStyles.d.ts +22 -0
  892. package/dist/types/src/components/GrTree/grTreeTypes.d.ts +15 -0
  893. package/dist/types/src/components/GrTree/index.d.ts +5 -1
  894. package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +31 -10
  895. package/dist/types/src/components/GrTreeSelect/config.d.ts +1 -1
  896. package/dist/types/src/components/GrTreeSelect/defaults.d.ts +10 -0
  897. package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +30 -2
  898. package/dist/types/src/components/GrTreeSelect/grTreeSelectTypes.d.ts +43 -0
  899. package/dist/types/src/components/GrTreeSelect/index.d.ts +5 -0
  900. package/dist/types/src/components/shared/hotkey.d.ts +46 -0
  901. package/dist/types/src/components/shared/instance.d.ts +15 -0
  902. package/dist/types/src/components/shared/optionFilter.d.ts +61 -0
  903. package/dist/types/src/components/shared/sizes.d.ts +30 -0
  904. package/dist/types/src/components/shared/slotNodes.d.ts +19 -0
  905. package/dist/types/src/composables/internal/focusables.d.ts +30 -0
  906. package/dist/types/src/composables/internal/inert.d.ts +35 -0
  907. package/dist/types/src/composables/internal/overlayStack.d.ts +60 -0
  908. package/dist/types/src/composables/internal/portalRoot.d.ts +27 -0
  909. package/dist/types/src/composables/internal/useAddonMeasurement.d.ts +1 -1
  910. package/dist/types/src/composables/internal/useComboboxNavigation.d.ts +51 -0
  911. package/dist/types/src/composables/internal/useControlAddons.d.ts +61 -0
  912. package/dist/types/src/composables/internal/useControlledOpen.d.ts +14 -0
  913. package/dist/types/src/composables/internal/useFilePreviews.d.ts +26 -0
  914. package/dist/types/src/composables/internal/useFocusWithin.d.ts +32 -0
  915. package/dist/types/src/composables/internal/useInertOthers.d.ts +9 -0
  916. package/dist/types/src/composables/internal/useModalOverlay.d.ts +95 -0
  917. package/dist/types/src/composables/internal/useOverlayPresence.d.ts +24 -0
  918. package/dist/types/src/composables/internal/useScrollLock.d.ts +10 -5
  919. package/dist/types/src/composables/internal/useTeleportEnabled.d.ts +35 -0
  920. package/dist/types/src/composables/useAnnouncer.d.ts +44 -0
  921. package/dist/types/src/composables/useDismissible.d.ts +32 -0
  922. package/dist/types/src/composables/useFocusTrap.d.ts +50 -0
  923. package/dist/types/src/composables/useGrFormControl.d.ts +52 -0
  924. package/dist/types/src/composables/useOverlayLayer.d.ts +67 -0
  925. package/dist/types/src/composables/usePortalTarget.d.ts +28 -0
  926. package/dist/types/src/composables/useTheme.d.ts +48 -2
  927. package/dist/types/src/composables/useToast.d.ts +44 -11
  928. package/dist/types/src/composables/useVirtualList.d.ts +119 -0
  929. package/dist/types/src/directives/loading.d.ts +7 -1
  930. package/dist/types/src/fileValidation/i18n.d.ts +24 -0
  931. package/dist/types/src/fileValidation/index.d.ts +4 -2
  932. package/dist/types/src/fileValidation/maxCountValidator.d.ts +9 -0
  933. package/dist/types/src/fileValidation/maxFileSize.d.ts +16 -0
  934. package/dist/types/src/fileValidation/types.d.ts +8 -2
  935. package/dist/types/src/granular-provider/index.d.ts +1 -1
  936. package/dist/types/src/granular-provider/node.d.ts +2 -3
  937. package/dist/types/src/granular-provider/shared.d.ts +20 -18
  938. package/dist/types/src/i18n/adapter.d.ts +24 -0
  939. package/dist/types/src/i18n/messages/en.d.ts +358 -0
  940. package/dist/types/src/i18n/messages/es.d.ts +362 -0
  941. package/dist/types/src/i18n/messages/ru.d.ts +366 -0
  942. package/dist/types/src/index.d.ts +33 -3
  943. package/dist/types/src/internal/granularityFormat.d.ts +19 -0
  944. package/dist/types/src/internal/granularityI18n.d.ts +6 -0
  945. package/dist/types/src/internal/keyboard.d.ts +46 -0
  946. package/dist/types/src/tokens/generated.d.ts +6 -0
  947. package/dist/types/src/tokens/index.d.ts +13 -0
  948. package/dist/types/src/tokens/types.d.ts +54 -0
  949. package/dist/vue/index.js.map +1 -1
  950. package/dist/web-types.json +7038 -1716
  951. package/package.json +118 -17
  952. package/tokens/derived.json +142 -0
  953. package/tokens/foundation.json +558 -0
  954. package/tokens/themes/dark.json +499 -0
  955. package/tokens/themes/light.json +499 -0
  956. package/dist/GrBadge.css +0 -1
  957. package/dist/GrButtonGroup.css +0 -1
  958. package/dist/GrFormFile.css +0 -1
  959. package/dist/GrIcon.css +0 -1
  960. package/dist/GrLoading.css +0 -1
  961. package/dist/GrToaster.css +0 -1
  962. package/dist/GrTree.css +0 -1
  963. package/dist/chunks/config-1uSYl98Y2.js +0 -23
  964. package/dist/chunks/config-1uSYl98Y2.js.map +0 -1
  965. package/dist/chunks/config-8Pcutu1j2.js.map +0 -1
  966. package/dist/chunks/config-B0qIpo8m.js +0 -5
  967. package/dist/chunks/config-B0qIpo8m.js.map +0 -1
  968. package/dist/chunks/config-B7IIWGt_2.js +0 -26
  969. package/dist/chunks/config-B7IIWGt_2.js.map +0 -1
  970. package/dist/chunks/config-BEegFP74.js +0 -5
  971. package/dist/chunks/config-BEegFP74.js.map +0 -1
  972. package/dist/chunks/config-BIRO0vDJ.js +0 -40
  973. package/dist/chunks/config-BIRO0vDJ.js.map +0 -1
  974. package/dist/chunks/config-BLHqZhy-2.js +0 -5
  975. package/dist/chunks/config-BLHqZhy-2.js.map +0 -1
  976. package/dist/chunks/config-BOlr7qw7.js +0 -106
  977. package/dist/chunks/config-BOlr7qw7.js.map +0 -1
  978. package/dist/chunks/config-BUHuGBik.js +0 -13
  979. package/dist/chunks/config-BUHuGBik.js.map +0 -1
  980. package/dist/chunks/config-BWGGp7uV.js +0 -8
  981. package/dist/chunks/config-BWGGp7uV.js.map +0 -1
  982. package/dist/chunks/config-BWiPnygb.js +0 -5
  983. package/dist/chunks/config-BWiPnygb.js.map +0 -1
  984. package/dist/chunks/config-BX1JTrkV2.js +0 -14
  985. package/dist/chunks/config-BX1JTrkV2.js.map +0 -1
  986. package/dist/chunks/config-BXtAmU3s2.js +0 -8
  987. package/dist/chunks/config-BXtAmU3s2.js.map +0 -1
  988. package/dist/chunks/config-Bah4oHwL.js +0 -8
  989. package/dist/chunks/config-Bah4oHwL.js.map +0 -1
  990. package/dist/chunks/config-C49QUoJL.js +0 -13
  991. package/dist/chunks/config-C49QUoJL.js.map +0 -1
  992. package/dist/chunks/config-C4snOIXg.js +0 -9
  993. package/dist/chunks/config-C4snOIXg.js.map +0 -1
  994. package/dist/chunks/config-C7NpDrfO.js +0 -44
  995. package/dist/chunks/config-C7NpDrfO.js.map +0 -1
  996. package/dist/chunks/config-C86UzUYf.js +0 -13
  997. package/dist/chunks/config-C86UzUYf.js.map +0 -1
  998. package/dist/chunks/config-C9AcVDkv.js +0 -5
  999. package/dist/chunks/config-C9AcVDkv.js.map +0 -1
  1000. package/dist/chunks/config-CGHLoBlH.js +0 -5
  1001. package/dist/chunks/config-CGHLoBlH.js.map +0 -1
  1002. package/dist/chunks/config-CThzliFi.js +0 -5
  1003. package/dist/chunks/config-CThzliFi.js.map +0 -1
  1004. package/dist/chunks/config-Cb2PAlSD.js +0 -8
  1005. package/dist/chunks/config-Cb2PAlSD.js.map +0 -1
  1006. package/dist/chunks/config-ClhKPJvg.js +0 -53
  1007. package/dist/chunks/config-ClhKPJvg.js.map +0 -1
  1008. package/dist/chunks/config-Cpi9Mh2J.js +0 -17
  1009. package/dist/chunks/config-Cpi9Mh2J.js.map +0 -1
  1010. package/dist/chunks/config-CrG1XiE72.js +0 -58
  1011. package/dist/chunks/config-CrG1XiE72.js.map +0 -1
  1012. package/dist/chunks/config-CziwTDDL.js +0 -39
  1013. package/dist/chunks/config-CziwTDDL.js.map +0 -1
  1014. package/dist/chunks/config-D7GZO-Dx.js +0 -8
  1015. package/dist/chunks/config-D7GZO-Dx.js.map +0 -1
  1016. package/dist/chunks/config-DICOd-2X.js +0 -5
  1017. package/dist/chunks/config-DICOd-2X.js.map +0 -1
  1018. package/dist/chunks/config-DUcu1D682.js +0 -45
  1019. package/dist/chunks/config-DUcu1D682.js.map +0 -1
  1020. package/dist/chunks/config-D_R56_gT.js +0 -35
  1021. package/dist/chunks/config-D_R56_gT.js.map +0 -1
  1022. package/dist/chunks/config-DezDih8_.js +0 -78
  1023. package/dist/chunks/config-DezDih8_.js.map +0 -1
  1024. package/dist/chunks/config-Dlm49Jp5.js +0 -5
  1025. package/dist/chunks/config-Dlm49Jp5.js.map +0 -1
  1026. package/dist/chunks/config-DnvPqu4g2.js +0 -22
  1027. package/dist/chunks/config-DnvPqu4g2.js.map +0 -1
  1028. package/dist/chunks/config-DpqOnJiz.js.map +0 -1
  1029. package/dist/chunks/config-Dxuwwepq.js +0 -5
  1030. package/dist/chunks/config-Dxuwwepq.js.map +0 -1
  1031. package/dist/chunks/config-HZto2PVy.js +0 -5
  1032. package/dist/chunks/config-HZto2PVy.js.map +0 -1
  1033. package/dist/chunks/config-JOtB4mzs.js +0 -8
  1034. package/dist/chunks/config-JOtB4mzs.js.map +0 -1
  1035. package/dist/chunks/config-JpHA4Xx02.js +0 -8
  1036. package/dist/chunks/config-JpHA4Xx02.js.map +0 -1
  1037. package/dist/chunks/config-PFg39mYo.js +0 -5
  1038. package/dist/chunks/config-PFg39mYo.js.map +0 -1
  1039. package/dist/chunks/config-QYGvEBu5.js +0 -22
  1040. package/dist/chunks/config-QYGvEBu5.js.map +0 -1
  1041. package/dist/chunks/config-U4m9PSql.js +0 -8
  1042. package/dist/chunks/config-U4m9PSql.js.map +0 -1
  1043. package/dist/chunks/config-ZiXWIRBX.js +0 -8
  1044. package/dist/chunks/config-ZiXWIRBX.js.map +0 -1
  1045. package/dist/chunks/config-eYLZYOUS2.js +0 -171
  1046. package/dist/chunks/config-eYLZYOUS2.js.map +0 -1
  1047. package/dist/chunks/config-ipvU0lzP2.js +0 -5
  1048. package/dist/chunks/config-ipvU0lzP2.js.map +0 -1
  1049. package/dist/chunks/config-jBp9wVv-.js +0 -20
  1050. package/dist/chunks/config-jBp9wVv-.js.map +0 -1
  1051. package/dist/chunks/config-xR4XVmcy.js +0 -8
  1052. package/dist/chunks/config-xR4XVmcy.js.map +0 -1
  1053. package/dist/chunks/en-CfkDa4GX.js +0 -144
  1054. package/dist/chunks/en-CfkDa4GX.js.map +0 -1
  1055. package/dist/chunks/es-CgaLnFYx.js +0 -20
  1056. package/dist/chunks/es-CgaLnFYx.js.map +0 -1
  1057. package/dist/chunks/es-FkgECuCm.js +0 -144
  1058. package/dist/chunks/es-FkgECuCm.js.map +0 -1
  1059. package/dist/chunks/fileValidation-C3WFaWU2.js +0 -220
  1060. package/dist/chunks/fileValidation-C3WFaWU2.js.map +0 -1
  1061. package/dist/chunks/grBadgeStyles-DrycBuKT.js +0 -50
  1062. package/dist/chunks/grBadgeStyles-DrycBuKT.js.map +0 -1
  1063. package/dist/chunks/grButtonStyles-C7Yga_Q1.js +0 -191
  1064. package/dist/chunks/grButtonStyles-C7Yga_Q1.js.map +0 -1
  1065. package/dist/chunks/grDropdownStyles-B_-DKytw.js +0 -35
  1066. package/dist/chunks/grDropdownStyles-B_-DKytw.js.map +0 -1
  1067. package/dist/chunks/grLoadingStyles-R5sreH__.js +0 -17
  1068. package/dist/chunks/grLoadingStyles-R5sreH__.js.map +0 -1
  1069. package/dist/chunks/grModalEscStack-BXk-9mv7.js +0 -43
  1070. package/dist/chunks/grModalEscStack-BXk-9mv7.js.map +0 -1
  1071. package/dist/chunks/grModalStyles-DWd3i05Q.js +0 -47
  1072. package/dist/chunks/grModalStyles-DWd3i05Q.js.map +0 -1
  1073. package/dist/chunks/grSelectStyles-CLK5hRd3.js +0 -97
  1074. package/dist/chunks/grSelectStyles-CLK5hRd3.js.map +0 -1
  1075. package/dist/chunks/grStyle-Blc9otAx.js +0 -19
  1076. package/dist/chunks/grStyle-Blc9otAx.js.map +0 -1
  1077. package/dist/chunks/granularityI18n-DoV7Ca2m.js +0 -61
  1078. package/dist/chunks/granularityI18n-DoV7Ca2m.js.map +0 -1
  1079. package/dist/chunks/ru-Bl8CxpEa.js +0 -144
  1080. package/dist/chunks/ru-Bl8CxpEa.js.map +0 -1
  1081. package/dist/chunks/safelist-Do2RtzLB.js +0 -24
  1082. package/dist/chunks/safelist-Do2RtzLB.js.map +0 -1
  1083. package/dist/chunks/shared-B6Ay2081.js +0 -174
  1084. package/dist/chunks/shared-B6Ay2081.js.map +0 -1
  1085. package/dist/chunks/useAddonMeasurement-DM0akF4C.js +0 -65
  1086. package/dist/chunks/useAddonMeasurement-DM0akF4C.js.map +0 -1
  1087. package/dist/chunks/useEscapeToClose-C2t_S1gh.js +0 -27
  1088. package/dist/chunks/useEscapeToClose-C2t_S1gh.js.map +0 -1
  1089. package/dist/chunks/useFloating-DtM6TyE4.js +0 -1249
  1090. package/dist/chunks/useFloating-DtM6TyE4.js.map +0 -1
  1091. package/dist/chunks/useScrollLock-K7kaP2Ud.js +0 -1757
  1092. package/dist/chunks/useScrollLock-K7kaP2Ud.js.map +0 -1
  1093. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js +0 -163
  1094. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js.map +0 -1
  1095. package/dist/components/GrAvatar/chunks/GrAvatar-96CpTCq5.js +0 -41
  1096. package/dist/components/GrAvatar/chunks/GrAvatar-96CpTCq5.js.map +0 -1
  1097. package/dist/components/GrBadge/chunks/GrBadge-B77XlaqE.js +0 -36
  1098. package/dist/components/GrBadge/chunks/GrBadge-B77XlaqE.js.map +0 -1
  1099. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CcktMOdg.js +0 -33
  1100. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CcktMOdg.js.map +0 -1
  1101. package/dist/components/GrBottomNav/chunks/GrBottomNav-usuMgG8_.js +0 -31
  1102. package/dist/components/GrBottomNav/chunks/GrBottomNav-usuMgG8_.js.map +0 -1
  1103. package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js +0 -124
  1104. package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js.map +0 -1
  1105. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-Bs9dEKfA.js +0 -21
  1106. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-Bs9dEKfA.js.map +0 -1
  1107. package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js +0 -11
  1108. package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js.map +0 -1
  1109. package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js +0 -182
  1110. package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js.map +0 -1
  1111. package/dist/components/GrCollapse/chunks/GrCollapse-CPPLh_xU.js +0 -205
  1112. package/dist/components/GrCollapse/chunks/GrCollapse-CPPLh_xU.js.map +0 -1
  1113. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-D8CkOtqv.js +0 -160
  1114. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-D8CkOtqv.js.map +0 -1
  1115. package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js +0 -205
  1116. package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js.map +0 -1
  1117. package/dist/components/GrDialog/chunks/GrDialog-Ctucxju9.js +0 -223
  1118. package/dist/components/GrDialog/chunks/GrDialog-Ctucxju9.js.map +0 -1
  1119. package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js +0 -425
  1120. package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js.map +0 -1
  1121. package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js +0 -54
  1122. package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js.map +0 -1
  1123. package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js +0 -184
  1124. package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js.map +0 -1
  1125. package/dist/components/GrDropdown/chunks/GrDropdown-BnDMYP8v.js +0 -181
  1126. package/dist/components/GrDropdown/chunks/GrDropdown-BnDMYP8v.js.map +0 -1
  1127. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu--g9Vofcq.js +0 -309
  1128. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu--g9Vofcq.js.map +0 -1
  1129. package/dist/components/GrEmptyState/chunks/GrEmptyState-CA3BiTV7.js +0 -62
  1130. package/dist/components/GrEmptyState/chunks/GrEmptyState-CA3BiTV7.js.map +0 -1
  1131. package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js +0 -592
  1132. package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js.map +0 -1
  1133. package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js +0 -73
  1134. package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js.map +0 -1
  1135. package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js +0 -320
  1136. package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js.map +0 -1
  1137. package/dist/components/GrFormSection/chunks/GrFormSection-Ce21jcgo.js +0 -35
  1138. package/dist/components/GrFormSection/chunks/GrFormSection-Ce21jcgo.js.map +0 -1
  1139. package/dist/components/GrIcon/chunks/GrIcon-D9AWQLk2.js +0 -32
  1140. package/dist/components/GrIcon/chunks/GrIcon-D9AWQLk2.js.map +0 -1
  1141. package/dist/components/GrImageViewer/chunks/GrImageViewer-Dla9IBkd.js +0 -650
  1142. package/dist/components/GrImageViewer/chunks/GrImageViewer-Dla9IBkd.js.map +0 -1
  1143. package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js +0 -334
  1144. package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js.map +0 -1
  1145. package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js +0 -260
  1146. package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js.map +0 -1
  1147. package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js +0 -22
  1148. package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js.map +0 -1
  1149. package/dist/components/GrLink/chunks/GrLink-CYUe-Q8k.js +0 -100
  1150. package/dist/components/GrLink/chunks/GrLink-CYUe-Q8k.js.map +0 -1
  1151. package/dist/components/GrList/chunks/GrList-Dx772Ns4.js +0 -77
  1152. package/dist/components/GrList/chunks/GrList-Dx772Ns4.js.map +0 -1
  1153. package/dist/components/GrLoading/chunks/GrLoading--X_7rdbb.js +0 -69
  1154. package/dist/components/GrLoading/chunks/GrLoading--X_7rdbb.js.map +0 -1
  1155. package/dist/components/GrModal/chunks/GrModal-C0GZrHN3.js +0 -233
  1156. package/dist/components/GrModal/chunks/GrModal-C0GZrHN3.js.map +0 -1
  1157. package/dist/components/GrNavbar/chunks/GrNavbar-DW3MiIIf.js +0 -75
  1158. package/dist/components/GrNavbar/chunks/GrNavbar-DW3MiIIf.js.map +0 -1
  1159. package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js +0 -469
  1160. package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js.map +0 -1
  1161. package/dist/components/GrPagination/chunks/GrPagination-mlyfLjQY.js +0 -165
  1162. package/dist/components/GrPagination/chunks/GrPagination-mlyfLjQY.js.map +0 -1
  1163. package/dist/components/GrProgressBar/chunks/GrProgressBar-CC3z-Zqp.js +0 -39
  1164. package/dist/components/GrProgressBar/chunks/GrProgressBar-CC3z-Zqp.js.map +0 -1
  1165. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-C-_BMNuY.js +0 -224
  1166. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-C-_BMNuY.js.map +0 -1
  1167. package/dist/components/GrRadio/chunks/GrRadio-Dr-pvs_9.js +0 -184
  1168. package/dist/components/GrRadio/chunks/GrRadio-Dr-pvs_9.js.map +0 -1
  1169. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-nOdvfV_g.js +0 -80
  1170. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-nOdvfV_g.js.map +0 -1
  1171. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-BWJNe2gr.js +0 -224
  1172. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-BWJNe2gr.js.map +0 -1
  1173. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-Cdu9ekK9.js +0 -782
  1174. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-Cdu9ekK9.js.map +0 -1
  1175. package/dist/components/GrSegmented/chunks/GrSegmented-C1y0UXpQ.js +0 -323
  1176. package/dist/components/GrSegmented/chunks/GrSegmented-C1y0UXpQ.js.map +0 -1
  1177. package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js +0 -644
  1178. package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js.map +0 -1
  1179. package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js +0 -238
  1180. package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js.map +0 -1
  1181. package/dist/components/GrSkeleton/chunks/GrSkeleton-DsN-_CDZ.js +0 -33
  1182. package/dist/components/GrSkeleton/chunks/GrSkeleton-DsN-_CDZ.js.map +0 -1
  1183. package/dist/components/GrSwitch/chunks/GrSwitch-DAioyccZ.js +0 -79
  1184. package/dist/components/GrSwitch/chunks/GrSwitch-DAioyccZ.js.map +0 -1
  1185. package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js +0 -68
  1186. package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js.map +0 -1
  1187. package/dist/components/GrTable/chunks/GrTable-Db3hRnKA.js +0 -57
  1188. package/dist/components/GrTable/chunks/GrTable-Db3hRnKA.js.map +0 -1
  1189. package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js +0 -123
  1190. package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js.map +0 -1
  1191. package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js +0 -81
  1192. package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js.map +0 -1
  1193. package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js +0 -189
  1194. package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js.map +0 -1
  1195. package/dist/components/GrTooltip/chunks/GrTooltip-BeyZ8ssR.js +0 -109
  1196. package/dist/components/GrTooltip/chunks/GrTooltip-BeyZ8ssR.js.map +0 -1
  1197. package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js +0 -838
  1198. package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js.map +0 -1
  1199. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-0aM62xyu.js +0 -426
  1200. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-0aM62xyu.js.map +0 -1
  1201. package/dist/granular-provider-node.js.map +0 -1
  1202. package/dist/granular-provider.js.map +0 -1
  1203. package/dist/index.js.map +0 -1
  1204. package/dist/types/src/components/GrButton/config.node.d.ts +0 -1
  1205. package/dist/types/src/components/GrFileUpload/maxSizeMbValidator.d.ts +0 -1
  1206. package/dist/types/src/components/GrModal/grModalEscStack.d.ts +0 -30
  1207. package/dist/types/src/components/GrModal/grModalTopStack.d.ts +0 -31
  1208. package/dist/types/src/components/GrProgressBar/config.node.d.ts +0 -1
  1209. package/dist/types/src/composables/internal/useEscapeToClose.d.ts +0 -11
  1210. package/dist/types/src/fileValidation/maxFileSizeBytesValidator.d.ts +0 -2
  1211. package/dist/types/src/fileValidation/maxSizeMbValidator.d.ts +0 -2
  1212. /package/dist/chunks/{config-8Pcutu1j2.js → config-8Pcutu1j.js} +0 -0
  1213. /package/dist/chunks/{config-DpqOnJiz.js → config-DpqOnJiz2.js} +0 -0
  1214. /package/dist/{GrSkeleton.css → components/GrSkeleton/styles.css} +0 -0
  1215. /package/dist/types/src/composables/{internal/useFloating.d.ts → useFloating.d.ts} +0 -0
@@ -0,0 +1,277 @@
1
+ import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
2
+ import { useVirtualList } from "../../../composables/useVirtualList.js";
3
+ import { t as _plugin_vue_export_helper_default } from "../../../chunks/_plugin-vue_export-helper-BOaGB7Aw.js";
4
+ import { t as GrSkeleton_default } from "../../GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js";
5
+ import { t as GrCard_default } from "../../GrCard/chunks/GrCard-DOrGHf2x.js";
6
+ import { n as hasMeaningfulSlotContent } from "../../../chunks/slotNodes-DxNXpC7v.js";
7
+ import { a as grListItemPaddingClass, c as itemHoverClass, d as itemTitleClass, f as loadingRowClass, i as emptyClass, l as itemInteractiveClass, o as itemDescriptionClass, r as dividedClass, s as itemDisabledClass, u as itemLayoutClass } from "../../../chunks/config-BsuDM3Hb.js";
8
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, markRaw, normalizeClass, normalizeStyle, onMounted, onUpdated, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, withCtx } from "vue";
9
+ import '../styles.css';//#region src/components/GrList/GrList.vue?vue&type=script&setup=true&lang.ts
10
+ var _hoisted_1$1 = [
11
+ "tabindex",
12
+ "data-gr-virtual",
13
+ "aria-busy"
14
+ ];
15
+ //#endregion
16
+ //#region src/components/GrList/GrList.vue
17
+ var GrList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
18
+ __name: "GrList",
19
+ props: {
20
+ variant: { default: void 0 },
21
+ divided: {
22
+ type: Boolean,
23
+ default: true
24
+ },
25
+ loading: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ loadingRows: { default: 3 },
30
+ empty: {
31
+ type: Boolean,
32
+ default: void 0
33
+ },
34
+ emptyText: { default: void 0 },
35
+ items: { default: void 0 },
36
+ itemKey: {
37
+ type: [String, Function],
38
+ default: void 0
39
+ },
40
+ maxHeight: { default: void 0 },
41
+ virtual: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ estimatedItemSize: { default: 56 }
46
+ },
47
+ setup(__props, { expose: __expose }) {
48
+ const props = __props;
49
+ const slots = useSlots();
50
+ const { t } = useGranularityTranslations();
51
+ const listEl = ref(null);
52
+ const resolvedEmptyText = computed(() => props.emptyText ?? t("gr.list.empty", "Nothing here yet"));
53
+ const dataMode = computed(() => props.items !== void 0);
54
+ const isEmpty = computed(() => {
55
+ if (props.empty !== void 0) return props.empty;
56
+ if (dataMode.value) return props.items.length === 0;
57
+ return !hasMeaningfulSlotContent(slots.default?.() ?? []);
58
+ });
59
+ const showItems = computed(() => !props.loading && !isEmpty.value);
60
+ const listClass = computed(() => props.divided && showItems.value ? dividedClass : void 0);
61
+ const loadingRowCount = computed(() => Math.max(1, Math.trunc(props.loadingRows)));
62
+ const virtualEnabled = computed(() => props.virtual && dataMode.value && props.maxHeight !== void 0);
63
+ const virtualizer = useVirtualList({
64
+ container: listEl,
65
+ count: () => virtualEnabled.value && showItems.value ? props.items.length : 0,
66
+ source: () => props.items,
67
+ itemSize: () => props.estimatedItemSize,
68
+ viewportSize: () => typeof props.maxHeight === "number" ? props.maxHeight : void 0
69
+ });
70
+ /** Окно к отрисовке: при выключенной виртуализации — весь набор. */
71
+ const renderedItems = computed(() => {
72
+ const items = props.items ?? [];
73
+ if (!virtualEnabled.value) return items.map((item, index) => ({
74
+ item,
75
+ index
76
+ }));
77
+ const { start, end } = virtualizer.range.value;
78
+ return items.slice(start, end).map((item, offset) => ({
79
+ item,
80
+ index: start + offset
81
+ }));
82
+ });
83
+ function keyOf(item, index) {
84
+ const key = props.itemKey;
85
+ if (typeof key === "function") return key(item, index);
86
+ if (typeof key === "string") return item[key];
87
+ return index;
88
+ }
89
+ /**
90
+ * ARIA-набор для пункта.
91
+ *
92
+ * Только в виртуальном режиме: в DOM тогда неполный набор, и без этих атрибутов
93
+ * диктор объявил бы «7 из 20» на списке в пять тысяч. Когда набор в DOM целиком,
94
+ * его размер и позицию браузер считает сам, а руками проставленные атрибуты
95
+ * начинают расходиться с разметкой при любой фильтрации.
96
+ */
97
+ function ariaOf(index) {
98
+ if (!virtualEnabled.value) return {};
99
+ return {
100
+ "aria-setsize": props.items.length,
101
+ "aria-posinset": index + 1
102
+ };
103
+ }
104
+ const maxHeightStyle = computed(() => {
105
+ const value = props.maxHeight;
106
+ if (value == null) return void 0;
107
+ return typeof value === "number" ? `${value}px` : value;
108
+ });
109
+ const listStyle = computed(() => {
110
+ if (props.maxHeight === void 0) return void 0;
111
+ const scroller = {
112
+ overflowY: "auto",
113
+ maxHeight: maxHeightStyle.value
114
+ };
115
+ if (!virtualEnabled.value) return scroller;
116
+ return {
117
+ ...scroller,
118
+ ...virtualizer.spacerStyle.value
119
+ };
120
+ });
121
+ /**
122
+ * Замер отрисованных пунктов.
123
+ *
124
+ * Идёт по детям контейнера, а не по `ref` на элементе: пункт рисует слот
125
+ * потребителя, привязать к нему `ref` неоткуда. В виртуальном режиме прямые
126
+ * дети контейнера — ровно окно (распорки живут псевдоэлементами и детьми не
127
+ * считаются), поэтому сопоставление по позиции однозначно.
128
+ */
129
+ function measureRendered() {
130
+ if (!virtualEnabled.value) return;
131
+ if (!showItems.value) return;
132
+ const container = listEl.value;
133
+ if (!container) return;
134
+ const { start } = virtualizer.range.value;
135
+ const children = container.children;
136
+ for (let offset = 0; offset < children.length; offset++) virtualizer.measure(start + offset, children[offset]);
137
+ }
138
+ onMounted(measureRendered);
139
+ onUpdated(measureRendered);
140
+ function scrollToIndex(index, align) {
141
+ virtualizer.scrollToIndex(index, align);
142
+ }
143
+ __expose({ scrollToIndex });
144
+ return (_ctx, _cache) => {
145
+ return openBlock(), createBlock(unref(GrCard_default), { variant: __props.variant }, {
146
+ default: withCtx(() => [createElementVNode("div", {
147
+ ref_key: "listEl",
148
+ ref: listEl,
149
+ "data-gr-list": "",
150
+ role: "list",
151
+ class: normalizeClass(listClass.value),
152
+ style: normalizeStyle(listStyle.value),
153
+ tabindex: __props.maxHeight === void 0 ? void 0 : 0,
154
+ "data-gr-virtual": virtualEnabled.value ? "" : void 0,
155
+ "aria-busy": __props.loading ? "true" : void 0
156
+ }, [__props.loading ? renderSlot(_ctx.$slots, "loading", {}, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(loadingRowCount.value, (row) => {
157
+ return openBlock(), createElementBlock("div", {
158
+ key: row,
159
+ "data-gr-list-loading-row": "",
160
+ class: normalizeClass(unref(loadingRowClass))
161
+ }, [createVNode(GrSkeleton_default)], 2);
162
+ }), 128))], true, 0) : isEmpty.value ? (openBlock(), createElementBlock("div", {
163
+ key: 1,
164
+ "data-gr-list-empty": "",
165
+ class: normalizeClass(unref(emptyClass))
166
+ }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(resolvedEmptyText.value), 1)], true)], 2)) : dataMode.value ? (openBlock(true), createElementBlock(Fragment, { key: 2 }, renderList(renderedItems.value, (entry) => {
167
+ return renderSlot(_ctx.$slots, "item", {
168
+ item: entry.item,
169
+ index: entry.index,
170
+ aria: ariaOf(entry.index)
171
+ }, void 0, true, keyOf(entry.item, entry.index));
172
+ }), 128)) : renderSlot(_ctx.$slots, "default", {}, void 0, true, 3)], 14, _hoisted_1$1)]),
173
+ _: 3
174
+ }, 8, ["variant"]);
175
+ };
176
+ }
177
+ }), [["__scopeId", "data-v-0bdb3b8b"]]);
178
+ //#endregion
179
+ //#region src/components/GrList/GrListItem.vue?vue&type=script&setup=true&lang.ts
180
+ var _hoisted_1 = ["aria-disabled"];
181
+ var _hoisted_2 = {
182
+ key: 0,
183
+ class: "shrink-0"
184
+ };
185
+ var _hoisted_3 = { class: "min-w-0 flex-1" };
186
+ var _hoisted_4 = {
187
+ key: 1,
188
+ class: "shrink-0"
189
+ };
190
+ //#endregion
191
+ //#region src/components/GrList/GrListItem.vue
192
+ var GrListItem_default = /* @__PURE__ */ defineComponent({
193
+ __name: "GrListItem",
194
+ props: {
195
+ title: { default: void 0 },
196
+ description: { default: void 0 },
197
+ density: { default: "regular" },
198
+ href: { default: void 0 },
199
+ as: { default: void 0 },
200
+ clickable: {
201
+ type: Boolean,
202
+ default: false
203
+ },
204
+ hoverable: {
205
+ type: Boolean,
206
+ default: false
207
+ },
208
+ disabled: {
209
+ type: Boolean,
210
+ default: false
211
+ }
212
+ },
213
+ emits: ["click"],
214
+ setup(__props, { emit: __emit }) {
215
+ const props = __props;
216
+ const emit = __emit;
217
+ const slots = useSlots();
218
+ const hasTitle = computed(() => !!slots.title || !!props.title);
219
+ const hasDescription = computed(() => !!slots.description || !!props.description);
220
+ const isInteractive = computed(() => !props.disabled && (!!props.as || !!props.href || props.clickable));
221
+ /**
222
+ * `role="listitem"` остаётся на обёртке, а строка целиком — вложенный элемент:
223
+ * `<a role="listitem">` потерял бы роль ссылки, а интерактив снаружи разорвал бы
224
+ * связку `list` → `listitem`. Обычная строка идёт по той же схеме, чтобы
225
+ * разметка содержимого была написана один раз, а не по копии на ветку.
226
+ */
227
+ const rowTag = computed(() => {
228
+ if (!isInteractive.value) return "div";
229
+ if (props.as) return typeof props.as === "string" ? props.as : markRaw(props.as);
230
+ return props.href ? "a" : "button";
231
+ });
232
+ const rowClass = computed(() => [
233
+ itemLayoutClass,
234
+ grListItemPaddingClass(props.density),
235
+ isInteractive.value ? `${itemInteractiveClass} ${itemHoverClass}` : "",
236
+ !isInteractive.value && props.hoverable && !props.disabled ? itemHoverClass : "",
237
+ props.disabled ? itemDisabledClass : ""
238
+ ].filter(Boolean).join(" "));
239
+ function onClick(event) {
240
+ if (!isInteractive.value) return;
241
+ emit("click", event);
242
+ }
243
+ return (_ctx, _cache) => {
244
+ return openBlock(), createElementBlock("div", {
245
+ "data-gr-list-item": "",
246
+ role: "listitem",
247
+ "aria-disabled": __props.disabled ? "true" : void 0
248
+ }, [(openBlock(), createBlock(resolveDynamicComponent(rowTag.value), {
249
+ "data-gr-list-item-action": isInteractive.value ? "" : void 0,
250
+ type: rowTag.value === "button" ? "button" : void 0,
251
+ href: isInteractive.value ? __props.href : void 0,
252
+ class: normalizeClass(rowClass.value),
253
+ onClick
254
+ }, {
255
+ default: withCtx(() => [
256
+ _ctx.$slots.prefix ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "prefix")])) : createCommentVNode("", true),
257
+ createElementVNode("div", _hoisted_3, [hasTitle.value ? (openBlock(), createElementBlock("div", {
258
+ key: 0,
259
+ class: normalizeClass(unref(itemTitleClass))
260
+ }, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 2)) : createCommentVNode("", true), hasDescription.value ? (openBlock(), createElementBlock("div", {
261
+ key: 1,
262
+ class: normalizeClass(unref(itemDescriptionClass))
263
+ }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(__props.description), 1)])], 2)) : createCommentVNode("", true)]),
264
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("", true)
265
+ ]),
266
+ _: 3
267
+ }, 8, [
268
+ "data-gr-list-item-action",
269
+ "type",
270
+ "href",
271
+ "class"
272
+ ]))], 8, _hoisted_1);
273
+ };
274
+ }
275
+ });
276
+ //#endregion
277
+ export { GrList_default as n, GrListItem_default as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrList-4YU1NZtM.js","names":["$slots"],"sources":["../../../../src/components/GrList/GrList.vue","../../../../src/components/GrList/GrList.vue","../../../../src/components/GrList/GrListItem.vue","../../../../src/components/GrList/GrListItem.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T = unknown\">\nimport { computed, onMounted, onUpdated, ref, useSlots, watch } from 'vue'\n\nimport GrCard from '../GrCard'\nimport type { GrCardVariant } from '../GrCard/grCardStyles'\nimport GrSkeleton from '../GrSkeleton/GrSkeleton.vue'\nimport { hasMeaningfulSlotContent } from '../shared/slotNodes'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { useVirtualList, type GrVirtualAlign } from '../../composables/useVirtualList'\n\nimport { dividedClass, emptyClass, loadingRowClass } from './grListStyles'\n\nexport interface GrListProps<TItem = unknown> {\n /**\n * Поверхность списка — вариант карточки под ним. `ghost` убирает рамку и\n * тень: список внутри уже существующей карточки не должен давать вторую.\n */\n variant?: GrCardVariant\n /** Показывать ли горизонтальные разделители между элементами (по умолчанию — да). */\n divided?: boolean\n /** Идёт загрузка: вместо пунктов — строки-скелетоны, контейнер помечен `aria-busy`. */\n loading?: boolean\n /** Сколько строк-заглушек показать при `loading`. */\n loadingRows?: number\n /**\n * Список пуст. По умолчанию определяется сам — по содержимому слота; проп\n * нужен там, где потребитель знает лучше (например, слот заполнен\n * заголовками групп, а данных в них нет).\n */\n empty?: boolean\n /** Текст пустого состояния. Слот `#empty` сильнее. */\n emptyText?: string\n /**\n * Данные списка. С ними пункты рисует слот `#item`, а не слот по умолчанию, —\n * и только так список знает размер набора, то есть может его виртуализировать.\n */\n items?: TItem[]\n /** Ключ пункта для `v-for`: имя поля или функция. Без него — индекс. */\n itemKey?: string | ((item: TItem, index: number) => string | number)\n /** Высота видимой части: контейнер становится скроллером. Число — пиксели. */\n maxHeight?: number | string\n /** Держать в DOM только окно вокруг вьюпорта. Требует `items` и `maxHeight`. */\n virtual?: boolean\n /** Оценка высоты пункта до замера. Уточняется по факту при первом рендере. */\n estimatedItemSize?: number\n}\n\nconst props = withDefaults(defineProps<GrListProps<T>>(), {\n // Дефолт живёт в `GrCard` (и его резолвере `GrConfigProvider`), поэтому здесь\n // остаётся `undefined` — иначе список перебивал бы настройку карточки.\n variant: undefined,\n divided: true,\n loading: false,\n loadingRows: 3,\n empty: undefined,\n emptyText: undefined,\n items: undefined,\n itemKey: undefined,\n maxHeight: undefined,\n virtual: false,\n // Строка обычной плотности с заголовком и описанием.\n estimatedItemSize: 56,\n})\n\nconst slots = useSlots()\nconst { t } = useGranularityTranslations()\n\nconst listEl = ref<HTMLElement | null>(null)\n\nconst resolvedEmptyText = computed(() => props.emptyText ?? t('gr.list.empty', 'Nothing here yet'))\n\nconst dataMode = computed(() => props.items !== undefined)\n\n// Пустоту видно по слоту: `v-for` по пустому массиву оставляет фрагмент без\n// узлов, `v-if` — комментарий, и ни то ни другое пунктом списка не является.\nconst isEmpty = computed(() => {\n if (props.empty !== undefined)\n return props.empty\n\n if (dataMode.value)\n return props.items!.length === 0\n\n return !hasMeaningfulSlotContent(slots.default?.() ?? [])\n})\n\nconst showItems = computed(() => !props.loading && !isEmpty.value)\n\n// Разделители нужны только между пунктами: в пустой и загрузочной ветках они\n// оставили бы висящую линию.\nconst listClass = computed(() => (props.divided && showItems.value ? dividedClass : undefined))\n\nconst loadingRowCount = computed(() => Math.max(1, Math.trunc(props.loadingRows)))\n\nconst virtualEnabled = computed(() => props.virtual && dataMode.value && props.maxHeight !== undefined)\n\nconst virtualizer = useVirtualList({\n container: listEl,\n count: () => (virtualEnabled.value && showItems.value ? props.items!.length : 0),\n // Замена массива сбрасывает замеры; append в тот же массив их сохраняет.\n source: () => props.items,\n itemSize: () => props.estimatedItemSize,\n // Первый рендер обязан совпасть с серверным: контейнера ещё нет, и окно\n // считается от объявленной высоты, а не от измеренной.\n viewportSize: () => (typeof props.maxHeight === 'number' ? props.maxHeight : undefined),\n})\n\n/** Окно к отрисовке: при выключенной виртуализации — весь набор. */\nconst renderedItems = computed(() => {\n const items = props.items ?? []\n if (!virtualEnabled.value) return items.map((item, index) => ({ item, index }))\n\n const { start, end } = virtualizer.range.value\n return items.slice(start, end).map((item, offset) => ({ item, index: start + offset }))\n})\n\nfunction keyOf(item: T, index: number): string | number {\n const key = props.itemKey\n if (typeof key === 'function') return key(item, index)\n if (typeof key === 'string') return (item as Record<string, unknown>)[key] as string | number\n\n return index\n}\n\n/**\n * ARIA-набор для пункта.\n *\n * Только в виртуальном режиме: в DOM тогда неполный набор, и без этих атрибутов\n * диктор объявил бы «7 из 20» на списке в пять тысяч. Когда набор в DOM целиком,\n * его размер и позицию браузер считает сам, а руками проставленные атрибуты\n * начинают расходиться с разметкой при любой фильтрации.\n */\nfunction ariaOf(index: number): Record<string, number> {\n if (!virtualEnabled.value) return {}\n\n return { 'aria-setsize': props.items!.length, 'aria-posinset': index + 1 }\n}\n\nconst maxHeightStyle = computed(() => {\n const value = props.maxHeight\n if (value == null) return undefined\n return typeof value === 'number' ? `${value}px` : value\n})\n\nconst listStyle = computed(() => {\n if (props.maxHeight === undefined) return undefined\n\n const scroller = { overflowY: 'auto' as const, maxHeight: maxHeightStyle.value }\n if (!virtualEnabled.value) return scroller\n\n return { ...scroller, ...virtualizer.spacerStyle.value }\n})\n\n/**\n * Замер отрисованных пунктов.\n *\n * Идёт по детям контейнера, а не по `ref` на элементе: пункт рисует слот\n * потребителя, привязать к нему `ref` неоткуда. В виртуальном режиме прямые\n * дети контейнера — ровно окно (распорки живут псевдоэлементами и детьми не\n * считаются), поэтому сопоставление по позиции однозначно.\n */\nfunction measureRendered(): void {\n if (!virtualEnabled.value) return\n // В состояниях loading/empty дети контейнера — скелетоны и заглушки: их\n // высоты записались бы в замеры под индексами будущих строк данных.\n if (!showItems.value) return\n\n const container = listEl.value\n if (!container) return\n\n const { start } = virtualizer.range.value\n const children = container.children\n for (let offset = 0; offset < children.length; offset++) {\n virtualizer.measure(start + offset, children[offset])\n }\n}\n\nonMounted(measureRendered)\nonUpdated(measureRendered)\n\nfunction scrollToIndex(index: number, align?: GrVirtualAlign): void {\n virtualizer.scrollToIndex(index, align)\n}\n\ndefineExpose({ scrollToIndex })\n\nif (import.meta.env?.DEV) {\n watch(\n () => [props.virtual, dataMode.value, props.maxHeight] as const,\n ([virtual, hasItems, maxHeight]) => {\n if (!virtual) return\n\n if (!hasItems) {\n console.warn(\n '[granularity] GrList: `virtual` требует `items` — пункты из слота по умолчанию '\n + 'список не считает и резать окно ему не из чего.',\n )\n }\n else if (maxHeight === undefined) {\n console.warn(\n '[granularity] GrList: `virtual` требует `maxHeight` — без ограничения высоты '\n + 'вьюпорта нет, и в окно попадает весь набор.',\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n () => [dataMode.value, Boolean(slots.item)] as const,\n ([hasItems, hasSlot]) => {\n if (hasItems && !hasSlot) {\n console.warn(\n '[granularity] GrList: с `items` пункты рисует слот `#item` — без него список пуст.',\n )\n }\n },\n { immediate: true },\n )\n\n onMounted(() => {\n if (!virtualEnabled.value) return\n\n const first = listEl.value?.firstElementChild\n if (first && !first.hasAttribute('aria-posinset')) {\n console.warn(\n '[granularity] GrList: при `virtual` пункты обязаны нести `aria-setsize`/`aria-posinset` — '\n + 'пробросьте `aria` из слота `#item`: <GrListItem v-bind=\"aria\" … />. Иначе диктор '\n + 'посчитает набор по отрисованному окну.',\n )\n }\n })\n}\n</script>\n\n<template>\n <GrCard :variant=\"variant\">\n <div\n ref=\"listEl\"\n data-gr-list\n role=\"list\"\n :class=\"listClass\"\n :style=\"listStyle\"\n :tabindex=\"maxHeight === undefined ? undefined : 0\"\n :data-gr-virtual=\"virtualEnabled ? '' : undefined\"\n :aria-busy=\"loading ? 'true' : undefined\"\n >\n <template v-if=\"loading\">\n <slot name=\"loading\">\n <div\n v-for=\"row in loadingRowCount\"\n :key=\"row\"\n data-gr-list-loading-row\n :class=\"loadingRowClass\"\n >\n <GrSkeleton />\n </div>\n </slot>\n </template>\n\n <div\n v-else-if=\"isEmpty\"\n data-gr-list-empty\n :class=\"emptyClass\"\n >\n <slot name=\"empty\">\n {{ resolvedEmptyText }}\n </slot>\n </div>\n\n <template v-else-if=\"dataMode\">\n <template\n v-for=\"entry in renderedItems\"\n :key=\"keyOf(entry.item, entry.index)\"\n >\n <slot\n name=\"item\"\n :item=\"entry.item\"\n :index=\"entry.index\"\n :aria=\"ariaOf(entry.index)\"\n />\n </template>\n </template>\n\n <slot v-else />\n </div>\n </GrCard>\n</template>\n\n<style scoped>\n/* Срезанное сверху и снизу держат псевдоэлементы контейнера: их не за что\n размонтировать, в дереве доступности их нет, а высота приезжает переменными\n в том же патче, что и пункты. Почему не отступы контейнера и не поля крайних\n пунктов — `docs/virtual-list.md`. */\n[data-gr-virtual]::before,\n[data-gr-virtual]::after {\n content: '';\n display: block;\n flex: none;\n}\n\n[data-gr-virtual]::before {\n height: var(--gr-virtual-before, 0px);\n}\n\n[data-gr-virtual]::after {\n height: var(--gr-virtual-after, 0px);\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T = unknown\">\nimport { computed, onMounted, onUpdated, ref, useSlots, watch } from 'vue'\n\nimport GrCard from '../GrCard'\nimport type { GrCardVariant } from '../GrCard/grCardStyles'\nimport GrSkeleton from '../GrSkeleton/GrSkeleton.vue'\nimport { hasMeaningfulSlotContent } from '../shared/slotNodes'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { useVirtualList, type GrVirtualAlign } from '../../composables/useVirtualList'\n\nimport { dividedClass, emptyClass, loadingRowClass } from './grListStyles'\n\nexport interface GrListProps<TItem = unknown> {\n /**\n * Поверхность списка — вариант карточки под ним. `ghost` убирает рамку и\n * тень: список внутри уже существующей карточки не должен давать вторую.\n */\n variant?: GrCardVariant\n /** Показывать ли горизонтальные разделители между элементами (по умолчанию — да). */\n divided?: boolean\n /** Идёт загрузка: вместо пунктов — строки-скелетоны, контейнер помечен `aria-busy`. */\n loading?: boolean\n /** Сколько строк-заглушек показать при `loading`. */\n loadingRows?: number\n /**\n * Список пуст. По умолчанию определяется сам — по содержимому слота; проп\n * нужен там, где потребитель знает лучше (например, слот заполнен\n * заголовками групп, а данных в них нет).\n */\n empty?: boolean\n /** Текст пустого состояния. Слот `#empty` сильнее. */\n emptyText?: string\n /**\n * Данные списка. С ними пункты рисует слот `#item`, а не слот по умолчанию, —\n * и только так список знает размер набора, то есть может его виртуализировать.\n */\n items?: TItem[]\n /** Ключ пункта для `v-for`: имя поля или функция. Без него — индекс. */\n itemKey?: string | ((item: TItem, index: number) => string | number)\n /** Высота видимой части: контейнер становится скроллером. Число — пиксели. */\n maxHeight?: number | string\n /** Держать в DOM только окно вокруг вьюпорта. Требует `items` и `maxHeight`. */\n virtual?: boolean\n /** Оценка высоты пункта до замера. Уточняется по факту при первом рендере. */\n estimatedItemSize?: number\n}\n\nconst props = withDefaults(defineProps<GrListProps<T>>(), {\n // Дефолт живёт в `GrCard` (и его резолвере `GrConfigProvider`), поэтому здесь\n // остаётся `undefined` — иначе список перебивал бы настройку карточки.\n variant: undefined,\n divided: true,\n loading: false,\n loadingRows: 3,\n empty: undefined,\n emptyText: undefined,\n items: undefined,\n itemKey: undefined,\n maxHeight: undefined,\n virtual: false,\n // Строка обычной плотности с заголовком и описанием.\n estimatedItemSize: 56,\n})\n\nconst slots = useSlots()\nconst { t } = useGranularityTranslations()\n\nconst listEl = ref<HTMLElement | null>(null)\n\nconst resolvedEmptyText = computed(() => props.emptyText ?? t('gr.list.empty', 'Nothing here yet'))\n\nconst dataMode = computed(() => props.items !== undefined)\n\n// Пустоту видно по слоту: `v-for` по пустому массиву оставляет фрагмент без\n// узлов, `v-if` — комментарий, и ни то ни другое пунктом списка не является.\nconst isEmpty = computed(() => {\n if (props.empty !== undefined)\n return props.empty\n\n if (dataMode.value)\n return props.items!.length === 0\n\n return !hasMeaningfulSlotContent(slots.default?.() ?? [])\n})\n\nconst showItems = computed(() => !props.loading && !isEmpty.value)\n\n// Разделители нужны только между пунктами: в пустой и загрузочной ветках они\n// оставили бы висящую линию.\nconst listClass = computed(() => (props.divided && showItems.value ? dividedClass : undefined))\n\nconst loadingRowCount = computed(() => Math.max(1, Math.trunc(props.loadingRows)))\n\nconst virtualEnabled = computed(() => props.virtual && dataMode.value && props.maxHeight !== undefined)\n\nconst virtualizer = useVirtualList({\n container: listEl,\n count: () => (virtualEnabled.value && showItems.value ? props.items!.length : 0),\n // Замена массива сбрасывает замеры; append в тот же массив их сохраняет.\n source: () => props.items,\n itemSize: () => props.estimatedItemSize,\n // Первый рендер обязан совпасть с серверным: контейнера ещё нет, и окно\n // считается от объявленной высоты, а не от измеренной.\n viewportSize: () => (typeof props.maxHeight === 'number' ? props.maxHeight : undefined),\n})\n\n/** Окно к отрисовке: при выключенной виртуализации — весь набор. */\nconst renderedItems = computed(() => {\n const items = props.items ?? []\n if (!virtualEnabled.value) return items.map((item, index) => ({ item, index }))\n\n const { start, end } = virtualizer.range.value\n return items.slice(start, end).map((item, offset) => ({ item, index: start + offset }))\n})\n\nfunction keyOf(item: T, index: number): string | number {\n const key = props.itemKey\n if (typeof key === 'function') return key(item, index)\n if (typeof key === 'string') return (item as Record<string, unknown>)[key] as string | number\n\n return index\n}\n\n/**\n * ARIA-набор для пункта.\n *\n * Только в виртуальном режиме: в DOM тогда неполный набор, и без этих атрибутов\n * диктор объявил бы «7 из 20» на списке в пять тысяч. Когда набор в DOM целиком,\n * его размер и позицию браузер считает сам, а руками проставленные атрибуты\n * начинают расходиться с разметкой при любой фильтрации.\n */\nfunction ariaOf(index: number): Record<string, number> {\n if (!virtualEnabled.value) return {}\n\n return { 'aria-setsize': props.items!.length, 'aria-posinset': index + 1 }\n}\n\nconst maxHeightStyle = computed(() => {\n const value = props.maxHeight\n if (value == null) return undefined\n return typeof value === 'number' ? `${value}px` : value\n})\n\nconst listStyle = computed(() => {\n if (props.maxHeight === undefined) return undefined\n\n const scroller = { overflowY: 'auto' as const, maxHeight: maxHeightStyle.value }\n if (!virtualEnabled.value) return scroller\n\n return { ...scroller, ...virtualizer.spacerStyle.value }\n})\n\n/**\n * Замер отрисованных пунктов.\n *\n * Идёт по детям контейнера, а не по `ref` на элементе: пункт рисует слот\n * потребителя, привязать к нему `ref` неоткуда. В виртуальном режиме прямые\n * дети контейнера — ровно окно (распорки живут псевдоэлементами и детьми не\n * считаются), поэтому сопоставление по позиции однозначно.\n */\nfunction measureRendered(): void {\n if (!virtualEnabled.value) return\n // В состояниях loading/empty дети контейнера — скелетоны и заглушки: их\n // высоты записались бы в замеры под индексами будущих строк данных.\n if (!showItems.value) return\n\n const container = listEl.value\n if (!container) return\n\n const { start } = virtualizer.range.value\n const children = container.children\n for (let offset = 0; offset < children.length; offset++) {\n virtualizer.measure(start + offset, children[offset])\n }\n}\n\nonMounted(measureRendered)\nonUpdated(measureRendered)\n\nfunction scrollToIndex(index: number, align?: GrVirtualAlign): void {\n virtualizer.scrollToIndex(index, align)\n}\n\ndefineExpose({ scrollToIndex })\n\nif (import.meta.env?.DEV) {\n watch(\n () => [props.virtual, dataMode.value, props.maxHeight] as const,\n ([virtual, hasItems, maxHeight]) => {\n if (!virtual) return\n\n if (!hasItems) {\n console.warn(\n '[granularity] GrList: `virtual` требует `items` — пункты из слота по умолчанию '\n + 'список не считает и резать окно ему не из чего.',\n )\n }\n else if (maxHeight === undefined) {\n console.warn(\n '[granularity] GrList: `virtual` требует `maxHeight` — без ограничения высоты '\n + 'вьюпорта нет, и в окно попадает весь набор.',\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n () => [dataMode.value, Boolean(slots.item)] as const,\n ([hasItems, hasSlot]) => {\n if (hasItems && !hasSlot) {\n console.warn(\n '[granularity] GrList: с `items` пункты рисует слот `#item` — без него список пуст.',\n )\n }\n },\n { immediate: true },\n )\n\n onMounted(() => {\n if (!virtualEnabled.value) return\n\n const first = listEl.value?.firstElementChild\n if (first && !first.hasAttribute('aria-posinset')) {\n console.warn(\n '[granularity] GrList: при `virtual` пункты обязаны нести `aria-setsize`/`aria-posinset` — '\n + 'пробросьте `aria` из слота `#item`: <GrListItem v-bind=\"aria\" … />. Иначе диктор '\n + 'посчитает набор по отрисованному окну.',\n )\n }\n })\n}\n</script>\n\n<template>\n <GrCard :variant=\"variant\">\n <div\n ref=\"listEl\"\n data-gr-list\n role=\"list\"\n :class=\"listClass\"\n :style=\"listStyle\"\n :tabindex=\"maxHeight === undefined ? undefined : 0\"\n :data-gr-virtual=\"virtualEnabled ? '' : undefined\"\n :aria-busy=\"loading ? 'true' : undefined\"\n >\n <template v-if=\"loading\">\n <slot name=\"loading\">\n <div\n v-for=\"row in loadingRowCount\"\n :key=\"row\"\n data-gr-list-loading-row\n :class=\"loadingRowClass\"\n >\n <GrSkeleton />\n </div>\n </slot>\n </template>\n\n <div\n v-else-if=\"isEmpty\"\n data-gr-list-empty\n :class=\"emptyClass\"\n >\n <slot name=\"empty\">\n {{ resolvedEmptyText }}\n </slot>\n </div>\n\n <template v-else-if=\"dataMode\">\n <template\n v-for=\"entry in renderedItems\"\n :key=\"keyOf(entry.item, entry.index)\"\n >\n <slot\n name=\"item\"\n :item=\"entry.item\"\n :index=\"entry.index\"\n :aria=\"ariaOf(entry.index)\"\n />\n </template>\n </template>\n\n <slot v-else />\n </div>\n </GrCard>\n</template>\n\n<style scoped>\n/* Срезанное сверху и снизу держат псевдоэлементы контейнера: их не за что\n размонтировать, в дереве доступности их нет, а высота приезжает переменными\n в том же патче, что и пункты. Почему не отступы контейнера и не поля крайних\n пунктов — `docs/virtual-list.md`. */\n[data-gr-virtual]::before,\n[data-gr-virtual]::after {\n content: '';\n display: block;\n flex: none;\n}\n\n[data-gr-virtual]::before {\n height: var(--gr-virtual-before, 0px);\n}\n\n[data-gr-virtual]::after {\n height: var(--gr-virtual-after, 0px);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, markRaw, useSlots, watch, type Component } from 'vue'\n\nimport {\n grListItemPaddingClass,\n itemDescriptionClass,\n itemDisabledClass,\n itemHoverClass,\n itemInteractiveClass,\n itemLayoutClass,\n itemTitleClass,\n type GrListItemDensity,\n} from './grListStyles'\n\nexport type { GrListItemDensity } from './grListStyles'\n\nexport interface GrListItemProps {\n /** Заголовок строки. Если передан слот `#title`, проп игнорируется. */\n title?: string\n /** Описание под заголовком. Если передан слот `#description`, проп игнорируется. */\n description?: string\n /** Плотность вертикальных отступов: `regular` — 12px, `compact` — 8px. */\n density?: GrListItemDensity\n /** Ссылка: строка становится `<a>`. */\n href?: string\n /** Свой корневой тег строки (`RouterLink`, `Link` от Inertia). Сильнее `href`. */\n as?: string | Component\n /** Кликабельная строка без ссылки — `<button>` с событием `click`. */\n clickable?: boolean\n /** Подсветка при наведении без интерактивности. */\n hoverable?: boolean\n disabled?: boolean\n}\n\nexport interface GrListItemEmits {\n (e: 'click', event: MouseEvent): void\n}\n\nconst props = withDefaults(defineProps<GrListItemProps>(), {\n title: undefined,\n description: undefined,\n density: 'regular',\n href: undefined,\n as: undefined,\n clickable: false,\n hoverable: false,\n disabled: false,\n})\n\nconst emit = defineEmits<GrListItemEmits>()\n\nconst slots = useSlots()\n\nconst hasTitle = computed(() => !!slots.title || !!props.title)\nconst hasDescription = computed(() => !!slots.description || !!props.description)\n\nconst isInteractive = computed(() => !props.disabled && (!!props.as || !!props.href || props.clickable))\n\n/**\n * `role=\"listitem\"` остаётся на обёртке, а строка целиком — вложенный элемент:\n * `<a role=\"listitem\">` потерял бы роль ссылки, а интерактив снаружи разорвал бы\n * связку `list` → `listitem`. Обычная строка идёт по той же схеме, чтобы\n * разметка содержимого была написана один раз, а не по копии на ветку.\n */\nconst rowTag = computed<string | Component>(() => {\n if (!isInteractive.value)\n return 'div'\n\n if (props.as)\n return typeof props.as === 'string' ? props.as : markRaw(props.as)\n\n return props.href ? 'a' : 'button'\n})\n\nconst rowClass = computed(() => [\n itemLayoutClass,\n grListItemPaddingClass(props.density),\n isInteractive.value ? `${itemInteractiveClass} ${itemHoverClass}` : '',\n !isInteractive.value && props.hoverable && !props.disabled ? itemHoverClass : '',\n props.disabled ? itemDisabledClass : '',\n].filter(Boolean).join(' '))\n\nfunction onClick(event: MouseEvent): void {\n // `disabled` сюда попадает вместе с обычной строкой: и то и другое —\n // не-интерактив, а кликов не эмитит ни один.\n if (!isInteractive.value)\n return\n\n emit('click', event)\n}\n\n/** Теги, попадающие в таб-порядок сами. `<a>` — только со ссылкой. */\nfunction isFocusableTag(tag: string): boolean {\n return tag === 'button' || (tag === 'a' && !!props.href)\n}\n\nif (import.meta.env?.DEV) {\n watch(\n () => [isInteractive.value, props.as] as const,\n ([interactive, as]) => {\n // Компонент из `as` (`RouterLink`, Inertia `Link`) рендерит `<a>`, но узнать\n // это до рендера нельзя — предупреждаем только по явно названному тегу.\n if (!interactive || typeof as !== 'string' || isFocusableTag(as)) return\n\n console.warn(\n `[granularity] GrListItem: as=\"${as}\" не попадает в таб-порядок — строка кликается `\n + 'мышью, но не с клавиатуры. Возьмите тег, умеющий фокус (`button`, `a` со ссылкой), '\n + 'или компонент роутера.',\n )\n },\n { immediate: true },\n )\n}\n</script>\n\n<template>\n <div\n data-gr-list-item\n role=\"listitem\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n >\n <component\n :is=\"rowTag\"\n :data-gr-list-item-action=\"isInteractive ? '' : undefined\"\n :type=\"rowTag === 'button' ? 'button' : undefined\"\n :href=\"isInteractive ? href : undefined\"\n :class=\"rowClass\"\n @click=\"onClick\"\n >\n <div v-if=\"$slots.prefix\" class=\"shrink-0\">\n <slot name=\"prefix\" />\n </div>\n <div class=\"min-w-0 flex-1\">\n <div v-if=\"hasTitle\" :class=\"itemTitleClass\">\n <slot name=\"title\">\n{{ title }}\n</slot>\n </div>\n <div\n v-if=\"hasDescription\"\n :class=\"itemDescriptionClass\"\n >\n <slot name=\"description\">\n{{ description }}\n</slot>\n </div>\n </div>\n <div v-if=\"$slots.default\" class=\"shrink-0\">\n <slot />\n </div>\n </component>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, markRaw, useSlots, watch, type Component } from 'vue'\n\nimport {\n grListItemPaddingClass,\n itemDescriptionClass,\n itemDisabledClass,\n itemHoverClass,\n itemInteractiveClass,\n itemLayoutClass,\n itemTitleClass,\n type GrListItemDensity,\n} from './grListStyles'\n\nexport type { GrListItemDensity } from './grListStyles'\n\nexport interface GrListItemProps {\n /** Заголовок строки. Если передан слот `#title`, проп игнорируется. */\n title?: string\n /** Описание под заголовком. Если передан слот `#description`, проп игнорируется. */\n description?: string\n /** Плотность вертикальных отступов: `regular` — 12px, `compact` — 8px. */\n density?: GrListItemDensity\n /** Ссылка: строка становится `<a>`. */\n href?: string\n /** Свой корневой тег строки (`RouterLink`, `Link` от Inertia). Сильнее `href`. */\n as?: string | Component\n /** Кликабельная строка без ссылки — `<button>` с событием `click`. */\n clickable?: boolean\n /** Подсветка при наведении без интерактивности. */\n hoverable?: boolean\n disabled?: boolean\n}\n\nexport interface GrListItemEmits {\n (e: 'click', event: MouseEvent): void\n}\n\nconst props = withDefaults(defineProps<GrListItemProps>(), {\n title: undefined,\n description: undefined,\n density: 'regular',\n href: undefined,\n as: undefined,\n clickable: false,\n hoverable: false,\n disabled: false,\n})\n\nconst emit = defineEmits<GrListItemEmits>()\n\nconst slots = useSlots()\n\nconst hasTitle = computed(() => !!slots.title || !!props.title)\nconst hasDescription = computed(() => !!slots.description || !!props.description)\n\nconst isInteractive = computed(() => !props.disabled && (!!props.as || !!props.href || props.clickable))\n\n/**\n * `role=\"listitem\"` остаётся на обёртке, а строка целиком — вложенный элемент:\n * `<a role=\"listitem\">` потерял бы роль ссылки, а интерактив снаружи разорвал бы\n * связку `list` → `listitem`. Обычная строка идёт по той же схеме, чтобы\n * разметка содержимого была написана один раз, а не по копии на ветку.\n */\nconst rowTag = computed<string | Component>(() => {\n if (!isInteractive.value)\n return 'div'\n\n if (props.as)\n return typeof props.as === 'string' ? props.as : markRaw(props.as)\n\n return props.href ? 'a' : 'button'\n})\n\nconst rowClass = computed(() => [\n itemLayoutClass,\n grListItemPaddingClass(props.density),\n isInteractive.value ? `${itemInteractiveClass} ${itemHoverClass}` : '',\n !isInteractive.value && props.hoverable && !props.disabled ? itemHoverClass : '',\n props.disabled ? itemDisabledClass : '',\n].filter(Boolean).join(' '))\n\nfunction onClick(event: MouseEvent): void {\n // `disabled` сюда попадает вместе с обычной строкой: и то и другое —\n // не-интерактив, а кликов не эмитит ни один.\n if (!isInteractive.value)\n return\n\n emit('click', event)\n}\n\n/** Теги, попадающие в таб-порядок сами. `<a>` — только со ссылкой. */\nfunction isFocusableTag(tag: string): boolean {\n return tag === 'button' || (tag === 'a' && !!props.href)\n}\n\nif (import.meta.env?.DEV) {\n watch(\n () => [isInteractive.value, props.as] as const,\n ([interactive, as]) => {\n // Компонент из `as` (`RouterLink`, Inertia `Link`) рендерит `<a>`, но узнать\n // это до рендера нельзя — предупреждаем только по явно названному тегу.\n if (!interactive || typeof as !== 'string' || isFocusableTag(as)) return\n\n console.warn(\n `[granularity] GrListItem: as=\"${as}\" не попадает в таб-порядок — строка кликается `\n + 'мышью, но не с клавиатуры. Возьмите тег, умеющий фокус (`button`, `a` со ссылкой), '\n + 'или компонент роутера.',\n )\n },\n { immediate: true },\n )\n}\n</script>\n\n<template>\n <div\n data-gr-list-item\n role=\"listitem\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n >\n <component\n :is=\"rowTag\"\n :data-gr-list-item-action=\"isInteractive ? '' : undefined\"\n :type=\"rowTag === 'button' ? 'button' : undefined\"\n :href=\"isInteractive ? href : undefined\"\n :class=\"rowClass\"\n @click=\"onClick\"\n >\n <div v-if=\"$slots.prefix\" class=\"shrink-0\">\n <slot name=\"prefix\" />\n </div>\n <div class=\"min-w-0 flex-1\">\n <div v-if=\"hasTitle\" :class=\"itemTitleClass\">\n <slot name=\"title\">\n{{ title }}\n</slot>\n </div>\n <div\n v-if=\"hasDescription\"\n :class=\"itemDescriptionClass\"\n >\n <slot name=\"description\">\n{{ description }}\n</slot>\n </div>\n </div>\n <div v-if=\"$slots.default\" class=\"shrink-0\">\n <slot />\n </div>\n </component>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CA,MAAM,QAAQ;EAiBd,MAAM,QAAQ,SAAS;EACvB,MAAM,EAAE,MAAM,2BAA2B;EAEzC,MAAM,SAAS,IAAwB,IAAI;EAE3C,MAAM,oBAAoB,eAAe,MAAM,aAAa,EAAE,iBAAiB,kBAAkB,CAAC;EAElG,MAAM,WAAW,eAAe,MAAM,UAAU,KAAA,CAAS;EAIzD,MAAM,UAAU,eAAe;GAC7B,IAAI,MAAM,UAAU,KAAA,GAClB,OAAO,MAAM;GAEf,IAAI,SAAS,OACX,OAAO,MAAM,MAAO,WAAW;GAEjC,OAAO,CAAC,yBAAyB,MAAM,UAAU,KAAK,CAAC,CAAC;EAC1D,CAAC;EAED,MAAM,YAAY,eAAe,CAAC,MAAM,WAAW,CAAC,QAAQ,KAAK;EAIjE,MAAM,YAAY,eAAgB,MAAM,WAAW,UAAU,QAAQ,eAAe,KAAA,CAAU;EAE9F,MAAM,kBAAkB,eAAe,KAAK,IAAI,GAAG,KAAK,MAAM,MAAM,WAAW,CAAC,CAAC;EAEjF,MAAM,iBAAiB,eAAe,MAAM,WAAW,SAAS,SAAS,MAAM,cAAc,KAAA,CAAS;EAEtG,MAAM,cAAc,eAAe;GACjC,WAAW;GACX,aAAc,eAAe,SAAS,UAAU,QAAQ,MAAM,MAAO,SAAS;GAE9E,cAAc,MAAM;GACpB,gBAAgB,MAAM;GAGtB,oBAAqB,OAAO,MAAM,cAAc,WAAW,MAAM,YAAY,KAAA;EAC/E,CAAC;;EAGD,MAAM,gBAAgB,eAAe;GACnC,MAAM,QAAQ,MAAM,SAAS,CAAC;GAC9B,IAAI,CAAC,eAAe,OAAO,OAAO,MAAM,KAAK,MAAM,WAAW;IAAE;IAAM;GAAM,EAAE;GAE9E,MAAM,EAAE,OAAO,QAAQ,YAAY,MAAM;GACzC,OAAO,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,MAAM,YAAY;IAAE;IAAM,OAAO,QAAQ;GAAO,EAAE;EACxF,CAAC;EAED,SAAS,MAAM,MAAS,OAAgC;GACtD,MAAM,MAAM,MAAM;GAClB,IAAI,OAAO,QAAQ,YAAY,OAAO,IAAI,MAAM,KAAK;GACrD,IAAI,OAAO,QAAQ,UAAU,OAAQ,KAAiC;GAEtE,OAAO;EACT;;;;;;;;;EAUA,SAAS,OAAO,OAAuC;GACrD,IAAI,CAAC,eAAe,OAAO,OAAO,CAAC;GAEnC,OAAO;IAAE,gBAAgB,MAAM,MAAO;IAAQ,iBAAiB,QAAQ;GAAE;EAC3E;EAEA,MAAM,iBAAiB,eAAe;GACpC,MAAM,QAAQ,MAAM;GACpB,IAAI,SAAS,MAAM,OAAO,KAAA;GAC1B,OAAO,OAAO,UAAU,WAAW,GAAG,MAAM,MAAM;EACpD,CAAC;EAED,MAAM,YAAY,eAAe;GAC/B,IAAI,MAAM,cAAc,KAAA,GAAW,OAAO,KAAA;GAE1C,MAAM,WAAW;IAAE,WAAW;IAAiB,WAAW,eAAe;GAAM;GAC/E,IAAI,CAAC,eAAe,OAAO,OAAO;GAElC,OAAO;IAAE,GAAG;IAAU,GAAG,YAAY,YAAY;GAAM;EACzD,CAAC;;;;;;;;;EAUD,SAAS,kBAAwB;GAC/B,IAAI,CAAC,eAAe,OAAO;GAG3B,IAAI,CAAC,UAAU,OAAO;GAEtB,MAAM,YAAY,OAAO;GACzB,IAAI,CAAC,WAAW;GAEhB,MAAM,EAAE,UAAU,YAAY,MAAM;GACpC,MAAM,WAAW,UAAU;GAC3B,KAAK,IAAI,SAAS,GAAG,SAAS,SAAS,QAAQ,UAC7C,YAAY,QAAQ,QAAQ,QAAQ,SAAS,OAAO;EAExD;EAEA,UAAU,eAAe;EACzB,UAAU,eAAe;EAEzB,SAAS,cAAc,OAAe,OAA8B;GAClE,YAAY,cAAc,OAAO,KAAK;EACxC;EAEA,SAAa,EAAE,cAAc,CAAC;;uBAoD5B,YAkDS,MAAA,cAAA,GAAA,EAlDA,SAAS,QAAA,QAAO,GAAA;2BAiDjB,CAhDN,mBAgDM,OAAA;cA/CA;KAAJ,KAAI;KACJ,gBAAA;KACA,MAAK;KACJ,OAAK,eAAE,UAAA,KAAS;KAChB,OAAK,eAAE,UAAA,KAAS;KAChB,UAAU,QAAA,cAAc,KAAA,IAAY,KAAA,IAAS;KAC7C,mBAAiB,eAAA,QAAc,KAAQ,KAAA;KACvC,aAAW,QAAA,UAAO,SAAY,KAAA;QAEf,QAAA,UACd,WASO,KAAA,QAAA,WAAA,CAAA,SAAA,EAAA,UAAA,IAAA,GARL,mBAOM,UAAA,MAAA,WANU,gBAAA,QAAP,QAAG;yBADZ,mBAOM,OAAA;MALH,KAAK;MACN,4BAAA;MACC,OAAK,eAAE,MAAA,eAAA,CAAe;SAEvB,YAAc,kBAAA,CAAA,GAAA,CAAA;2BAMP,QAAA,SAAA,UAAA,GADb,mBAQM,OAAA;;KANJ,sBAAA;KACC,OAAK,eAAE,MAAA,UAAA,CAAU;QAElB,WAEO,KAAA,QAAA,SAAA,CAAA,SAAA,CAAA,gBAAA,gBADF,kBAAA,KAAiB,GAAA,CAAA,CAAA,GAAA,IAAA,CAAA,GAAA,CAAA,KAIH,SAAA,SAAA,UAAA,IAAA,GACnB,mBAUW,UAAA,EAAA,KAAA,EAAA,GAAA,WATO,cAAA,QAAT,UAAK;YAGZ,WAKE,KAAA,QAAA,QAAA;MAHC,MAAM,MAAM;MACZ,OAAO,MAAM;MACb,MAAM,OAAO,MAAM,KAAK;sBANrB,MAAM,MAAM,MAAM,MAAM,KAAK,CAAA;gBAWvC,WAAe,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,MAAA,CAAA,CAAA,GAAA,IAAA,YAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EErPrB,MAAM,QAAQ;EAWd,MAAM,OAAO;EAEb,MAAM,QAAQ,SAAS;EAEvB,MAAM,WAAW,eAAe,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,MAAM,KAAK;EAC9D,MAAM,iBAAiB,eAAe,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,MAAM,WAAW;EAEhF,MAAM,gBAAgB,eAAe,CAAC,MAAM,aAAa,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,QAAQ,MAAM,UAAU;;;;;;;EAQvG,MAAM,SAAS,eAAmC;GAChD,IAAI,CAAC,cAAc,OACjB,OAAO;GAET,IAAI,MAAM,IACR,OAAO,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK,QAAQ,MAAM,EAAE;GAEnE,OAAO,MAAM,OAAO,MAAM;EAC5B,CAAC;EAED,MAAM,WAAW,eAAe;GAC9B;GACA,uBAAuB,MAAM,OAAO;GACpC,cAAc,QAAQ,GAAG,qBAAqB,GAAG,mBAAmB;GACpE,CAAC,cAAc,SAAS,MAAM,aAAa,CAAC,MAAM,WAAW,iBAAiB;GAC9E,MAAM,WAAW,oBAAoB;EACvC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC;EAE3B,SAAS,QAAQ,OAAyB;GAGxC,IAAI,CAAC,cAAc,OACjB;GAEF,KAAK,SAAS,KAAK;EACrB;;uBA2BE,mBAmCM,OAAA;IAlCJ,qBAAA;IACA,MAAK;IACJ,iBAAe,QAAA,WAAQ,SAAY,KAAA;qBAEpC,YA6BY,wBA5BL,OAAA,KAAM,GAAA;IACV,4BAA0B,cAAA,QAAa,KAAQ,KAAA;IAC/C,MAAM,OAAA,UAAM,WAAA,WAA2B,KAAA;IACvC,MAAM,cAAA,QAAgB,QAAA,OAAO,KAAA;IAC7B,OAAK,eAAE,SAAA,KAAQ;IACR;;2BAIF;KAFKA,KAAAA,OAAO,UAAA,UAAA,GAAlB,mBAEM,OAFN,YAEM,CADJ,WAAsB,KAAA,QAAA,QAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;KAExB,mBAcM,OAdN,YAcM,CAbO,SAAA,SAAA,UAAA,GAAX,mBAIM,OAAA;;MAJgB,OAAK,eAAE,MAAA,cAAA,CAAc;SACzC,WAEH,KAAA,QAAA,SAAA,CAAA,SAAA,CAAA,gBAAA,gBADJ,QAAA,KAAK,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,GAIQ,eAAA,SAAA,UAAA,GADR,mBAOM,OAAA;;MALH,OAAK,eAAE,MAAA,oBAAA,CAAoB;SAE5B,WAEH,KAAA,QAAA,eAAA,CAAA,SAAA,CAAA,gBAAA,gBADJ,QAAA,WAAW,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA;KAIGA,KAAAA,OAAO,WAAA,UAAA,GAAlB,mBAEM,OAFN,YAEM,CADJ,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
@@ -1,3 +1,3 @@
1
- import { n as GrList_default, t as GrListItem_default } from "./chunks/GrList-Dx772Ns4.js";
2
- import { t as grListConfig } from "../../chunks/config-C86UzUYf.js";
3
- export { GrList_default as GrList, GrList_default as default, GrListItem_default as GrListItem, grListConfig };
1
+ import { n as grListSafelist, t as grListConfig } from "../../chunks/config-BsuDM3Hb.js";
2
+ import { n as GrList_default, t as GrListItem_default } from "./chunks/GrList-4YU1NZtM.js";
3
+ export { GrList_default as GrList, GrList_default as default, GrListItem_default as GrListItem, grListConfig, grListSafelist };
@@ -0,0 +1 @@
1
+ [data-gr-virtual][data-v-0bdb3b8b]:before,[data-gr-virtual][data-v-0bdb3b8b]:after{content:"";flex:none;display:block}[data-gr-virtual][data-v-0bdb3b8b]:before{height:var(--gr-virtual-before,0px)}[data-gr-virtual][data-v-0bdb3b8b]:after{height:var(--gr-virtual-after,0px)}
@@ -0,0 +1,101 @@
1
+ import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
2
+ import { t as loader_circle_default } from "../../../chunks/loader-circle-CfVLz7lb.js";
3
+ import { t as GrIcon_default } from "../../GrIcon/chunks/GrIcon-BvA2ZGXP.js";
4
+ import { n as grLoadingRootClass } from "../../../chunks/grLoadingStyles-DEmji2wv.js";
5
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, resolveDynamicComponent, toDisplayString, withCtx } from "vue";
6
+ //#region src/components/GrLoading/GrLoading.vue?vue&type=script&setup=true&lang.ts
7
+ var _hoisted_1 = {
8
+ "data-gr-loading-panel": "",
9
+ class: "flex flex-col items-center justify-center gap-2 text-center rounded-[var(--gr-radius-md)] bg-[var(--gr-bg)]/55 px-5 py-4 shadow-lg"
10
+ };
11
+ var _hoisted_2 = {
12
+ key: 0,
13
+ "data-gr-loading-text": "",
14
+ class: "text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)] text-[var(--gr-muted-fg)]"
15
+ };
16
+ //#endregion
17
+ //#region src/components/GrLoading/GrLoading.vue
18
+ var GrLoading_default = /* @__PURE__ */ defineComponent({
19
+ __name: "GrLoading",
20
+ props: {
21
+ text: { default: void 0 },
22
+ spinner: { default: void 0 },
23
+ spinnerClass: { default: void 0 },
24
+ spinnerSize: { default: 28 },
25
+ spinnerTone: { default: "neutral" },
26
+ animated: {
27
+ type: Boolean,
28
+ default: true
29
+ },
30
+ background: { default: void 0 },
31
+ fullscreen: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ zIndexVar: { default: void 0 },
36
+ delay: { default: 0 },
37
+ customClass: { default: void 0 }
38
+ },
39
+ emits: ["show"],
40
+ setup(__props, { emit: __emit }) {
41
+ const props = __props;
42
+ const emit = __emit;
43
+ const { t } = useGranularityTranslations();
44
+ const Spinner = computed(() => props.spinner ?? loader_circle_default);
45
+ const displayText = computed(() => props.text ?? t("gr.loading.defaultText", "Loading..."));
46
+ const rootClass = computed(() => {
47
+ return grLoadingRootClass({
48
+ fullscreen: props.fullscreen,
49
+ hasBackground: props.background !== void 0,
50
+ customClass: props.customClass
51
+ });
52
+ });
53
+ const rootStyle = computed(() => {
54
+ return {
55
+ backgroundColor: props.background,
56
+ zIndex: props.zIndexVar ? `var(${props.zIndexVar})` : void 0
57
+ };
58
+ });
59
+ const visible = ref(props.delay <= 0);
60
+ let delayTimer;
61
+ onMounted(() => {
62
+ if (visible.value) {
63
+ emit("show");
64
+ return;
65
+ }
66
+ delayTimer = setTimeout(() => {
67
+ visible.value = true;
68
+ emit("show");
69
+ }, props.delay);
70
+ });
71
+ onBeforeUnmount(() => {
72
+ clearTimeout(delayTimer);
73
+ });
74
+ return (_ctx, _cache) => {
75
+ return visible.value ? (openBlock(), createElementBlock("div", {
76
+ key: 0,
77
+ "data-gr-loading": "",
78
+ class: normalizeClass(["flex items-center justify-center cursor-wait select-none pointer-events-auto", rootClass.value]),
79
+ style: normalizeStyle(rootStyle.value),
80
+ role: "status",
81
+ "aria-live": "polite"
82
+ }, [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "default", {}, () => [createVNode(GrIcon_default, {
83
+ "data-gr-loading-spinner": "",
84
+ size: __props.spinnerSize,
85
+ tone: __props.spinnerTone,
86
+ spin: __props.animated,
87
+ class: normalizeClass(__props.spinnerClass)
88
+ }, {
89
+ default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(Spinner.value)))]),
90
+ _: 1
91
+ }, 8, [
92
+ "size",
93
+ "tone",
94
+ "spin",
95
+ "class"
96
+ ]), displayText.value ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(displayText.value), 1)) : createCommentVNode("", true)])])], 6)) : createCommentVNode("", true);
97
+ };
98
+ }
99
+ });
100
+ //#endregion
101
+ export { GrLoading_default as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrLoading-CH95CFzS.js","names":[],"sources":["../../../../src/components/GrLoading/GrLoading.vue","../../../../src/components/GrLoading/GrLoading.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, type Component } from 'vue'\n\nimport IconLoader from '~icons/lucide/loader-circle'\n\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport type { GrIconSize, GrIconTone } from '../GrIcon/grIconStyles'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { grLoadingRootClass } from './grLoadingStyles'\n\n/**\n * Пропы {@link GrLoading}.\n *\n * Оверлей загрузки: спиннер с подписью поверх соседнего контента. `fullscreen`\n * накрывает весь экран, иначе оверлей ложится на ближайшего позиционированного\n * предка.\n */\nexport interface GrLoadingProps {\n /** Подпись под спиннером. Пустая строка убирает её совсем. По умолчанию — из локали. */\n text?: string\n /** Свой компонент спиннера вместо иконки по умолчанию. */\n spinner?: Component\n /** Дополнительные классы обёртки спиннера. */\n spinnerClass?: string\n /** Размер спиннера: шкала пакета либо произвольный в пикселях. */\n spinnerSize?: GrIconSize | number\n /** Тон спиннера из палитры. */\n spinnerTone?: GrIconTone\n /** Вращение спиннера. По умолчанию включено. */\n animated?: boolean\n /** Свой `background-color`. Задан — дефолтный скрим `--gr-overlay-bg` снимается. */\n background?: string\n /** Накрыть весь экран (`position: fixed`) вместо ближайшего позиционированного предка. */\n fullscreen?: boolean\n /** Имя CSS-переменной слоя — escape-hatch мимо `--gr-z-loading`. */\n zIndexVar?: string\n /** Задержка показа в миллисекундах: короткая загрузка не мигает оверлеем. */\n delay?: number\n /** Дополнительные классы корня оверлея. */\n customClass?: string\n}\n\nexport interface GrLoadingEmits {\n /**\n * Оверлей появился на экране — сразу или по истечении `delay`. По этому\n * событию директива блокирует контент под оверлеем: до показа блокировать\n * нечего, иначе быстрый запрос молча «замораживал» бы форму.\n */\n (e: 'show'): void\n}\n\nconst props = withDefaults(\n defineProps<GrLoadingProps>(),\n {\n text: undefined,\n spinner: undefined,\n spinnerClass: undefined,\n // 28px не входит в шкалу иконок (14–20): спиннер загрузки — самостоятельный\n // акцент панели, а не иконка рядом с текстом.\n spinnerSize: 28,\n spinnerTone: 'neutral',\n animated: true,\n background: undefined,\n fullscreen: false,\n zIndexVar: undefined,\n delay: 0,\n customClass: undefined,\n },\n)\n\nconst emit = defineEmits<GrLoadingEmits>()\n\ndefineSlots<{\n /** Содержимое панели целиком вместо спиннера с подписью. */\n default?: () => any\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst Spinner = computed(() => props.spinner ?? IconLoader)\n\nconst displayText = computed(() => props.text ?? t('gr.loading.defaultText', 'Loading...'))\n\nconst rootClass = computed(() => {\n return grLoadingRootClass({\n fullscreen: props.fullscreen,\n hasBackground: props.background !== undefined,\n customClass: props.customClass,\n })\n})\n\nconst rootStyle = computed(() => {\n return {\n backgroundColor: props.background,\n zIndex: props.zIndexVar ? `var(${props.zIndexVar})` : undefined,\n } as Record<string, string | undefined>\n})\n\n// Оверлей на быстром запросе успевает мигнуть и раздражает сильнее, чем его\n// отсутствие. Отсчёт начинается с монтирования: компонент создаётся ровно в\n// момент старта загрузки — и в `v-if`, и в директиве.\nconst visible = ref(props.delay <= 0)\nlet delayTimer: ReturnType<typeof setTimeout> | undefined\n\nonMounted(() => {\n if (visible.value) {\n emit('show')\n return\n }\n\n delayTimer = setTimeout(() => {\n visible.value = true\n emit('show')\n }, props.delay)\n})\n\nonBeforeUnmount(() => {\n clearTimeout(delayTimer)\n})\n</script>\n\n<template>\n <div\n v-if=\"visible\"\n data-gr-loading\n class=\"flex items-center justify-center cursor-wait select-none pointer-events-auto\"\n :class=\"rootClass\"\n :style=\"rootStyle\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <div\n data-gr-loading-panel\n class=\"flex flex-col items-center justify-center gap-2 text-center rounded-[var(--gr-radius-md)] bg-[var(--gr-bg)]/55 px-5 py-4 shadow-lg\"\n >\n <slot>\n <GrIcon\n data-gr-loading-spinner\n :size=\"spinnerSize\"\n :tone=\"spinnerTone\"\n :spin=\"animated\"\n :class=\"spinnerClass\"\n >\n <component :is=\"Spinner\" />\n </GrIcon>\n <div v-if=\"displayText\" data-gr-loading-text class=\"text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)] text-[var(--gr-muted-fg)]\">\n {{ displayText }}\n </div>\n </slot>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, type Component } from 'vue'\n\nimport IconLoader from '~icons/lucide/loader-circle'\n\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport type { GrIconSize, GrIconTone } from '../GrIcon/grIconStyles'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { grLoadingRootClass } from './grLoadingStyles'\n\n/**\n * Пропы {@link GrLoading}.\n *\n * Оверлей загрузки: спиннер с подписью поверх соседнего контента. `fullscreen`\n * накрывает весь экран, иначе оверлей ложится на ближайшего позиционированного\n * предка.\n */\nexport interface GrLoadingProps {\n /** Подпись под спиннером. Пустая строка убирает её совсем. По умолчанию — из локали. */\n text?: string\n /** Свой компонент спиннера вместо иконки по умолчанию. */\n spinner?: Component\n /** Дополнительные классы обёртки спиннера. */\n spinnerClass?: string\n /** Размер спиннера: шкала пакета либо произвольный в пикселях. */\n spinnerSize?: GrIconSize | number\n /** Тон спиннера из палитры. */\n spinnerTone?: GrIconTone\n /** Вращение спиннера. По умолчанию включено. */\n animated?: boolean\n /** Свой `background-color`. Задан — дефолтный скрим `--gr-overlay-bg` снимается. */\n background?: string\n /** Накрыть весь экран (`position: fixed`) вместо ближайшего позиционированного предка. */\n fullscreen?: boolean\n /** Имя CSS-переменной слоя — escape-hatch мимо `--gr-z-loading`. */\n zIndexVar?: string\n /** Задержка показа в миллисекундах: короткая загрузка не мигает оверлеем. */\n delay?: number\n /** Дополнительные классы корня оверлея. */\n customClass?: string\n}\n\nexport interface GrLoadingEmits {\n /**\n * Оверлей появился на экране — сразу или по истечении `delay`. По этому\n * событию директива блокирует контент под оверлеем: до показа блокировать\n * нечего, иначе быстрый запрос молча «замораживал» бы форму.\n */\n (e: 'show'): void\n}\n\nconst props = withDefaults(\n defineProps<GrLoadingProps>(),\n {\n text: undefined,\n spinner: undefined,\n spinnerClass: undefined,\n // 28px не входит в шкалу иконок (14–20): спиннер загрузки — самостоятельный\n // акцент панели, а не иконка рядом с текстом.\n spinnerSize: 28,\n spinnerTone: 'neutral',\n animated: true,\n background: undefined,\n fullscreen: false,\n zIndexVar: undefined,\n delay: 0,\n customClass: undefined,\n },\n)\n\nconst emit = defineEmits<GrLoadingEmits>()\n\ndefineSlots<{\n /** Содержимое панели целиком вместо спиннера с подписью. */\n default?: () => any\n}>()\n\nconst { t } = useGranularityTranslations()\n\nconst Spinner = computed(() => props.spinner ?? IconLoader)\n\nconst displayText = computed(() => props.text ?? t('gr.loading.defaultText', 'Loading...'))\n\nconst rootClass = computed(() => {\n return grLoadingRootClass({\n fullscreen: props.fullscreen,\n hasBackground: props.background !== undefined,\n customClass: props.customClass,\n })\n})\n\nconst rootStyle = computed(() => {\n return {\n backgroundColor: props.background,\n zIndex: props.zIndexVar ? `var(${props.zIndexVar})` : undefined,\n } as Record<string, string | undefined>\n})\n\n// Оверлей на быстром запросе успевает мигнуть и раздражает сильнее, чем его\n// отсутствие. Отсчёт начинается с монтирования: компонент создаётся ровно в\n// момент старта загрузки — и в `v-if`, и в директиве.\nconst visible = ref(props.delay <= 0)\nlet delayTimer: ReturnType<typeof setTimeout> | undefined\n\nonMounted(() => {\n if (visible.value) {\n emit('show')\n return\n }\n\n delayTimer = setTimeout(() => {\n visible.value = true\n emit('show')\n }, props.delay)\n})\n\nonBeforeUnmount(() => {\n clearTimeout(delayTimer)\n})\n</script>\n\n<template>\n <div\n v-if=\"visible\"\n data-gr-loading\n class=\"flex items-center justify-center cursor-wait select-none pointer-events-auto\"\n :class=\"rootClass\"\n :style=\"rootStyle\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <div\n data-gr-loading-panel\n class=\"flex flex-col items-center justify-center gap-2 text-center rounded-[var(--gr-radius-md)] bg-[var(--gr-bg)]/55 px-5 py-4 shadow-lg\"\n >\n <slot>\n <GrIcon\n data-gr-loading-spinner\n :size=\"spinnerSize\"\n :tone=\"spinnerTone\"\n :spin=\"animated\"\n :class=\"spinnerClass\"\n >\n <component :is=\"Spinner\" />\n </GrIcon>\n <div v-if=\"displayText\" data-gr-loading-text class=\"text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)] text-[var(--gr-muted-fg)]\">\n {{ displayText }}\n </div>\n </slot>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDA,MAAM,QAAQ;EAmBd,MAAM,OAAO;EAOb,MAAM,EAAE,MAAM,2BAA2B;EAEzC,MAAM,UAAU,eAAe,MAAM,WAAW,qBAAU;EAE1D,MAAM,cAAc,eAAe,MAAM,QAAQ,EAAE,0BAA0B,YAAY,CAAC;EAE1F,MAAM,YAAY,eAAe;GAC/B,OAAO,mBAAmB;IACxB,YAAY,MAAM;IAClB,eAAe,MAAM,eAAe,KAAA;IACpC,aAAa,MAAM;GACrB,CAAC;EACH,CAAC;EAED,MAAM,YAAY,eAAe;GAC/B,OAAO;IACL,iBAAiB,MAAM;IACvB,QAAQ,MAAM,YAAY,OAAO,MAAM,UAAU,KAAK,KAAA;GACxD;EACF,CAAC;EAKD,MAAM,UAAU,IAAI,MAAM,SAAS,CAAC;EACpC,IAAI;EAEJ,gBAAgB;GACd,IAAI,QAAQ,OAAO;IACjB,KAAK,MAAM;IACX;GACF;GAEA,aAAa,iBAAiB;IAC5B,QAAQ,QAAQ;IAChB,KAAK,MAAM;GACb,GAAG,MAAM,KAAK;EAChB,CAAC;EAED,sBAAsB;GACpB,aAAa,UAAU;EACzB,CAAC;;UAKS,QAAA,SAAA,UAAA,GADR,mBA4BM,OAAA;;IA1BJ,mBAAA;IACA,OAAK,eAAA,CAAC,gFACE,UAAA,KAAS,CAAA;IAChB,OAAK,eAAE,UAAA,KAAS;IACjB,MAAK;IACL,aAAU;OAEV,mBAkBM,OAlBN,YAkBM,CAdJ,WAaO,KAAA,QAAA,WAAA,CAAA,SAAA,CAZL,YAQS,gBAAA;IAPP,2BAAA;IACC,MAAM,QAAA;IACN,MAAM,QAAA;IACN,MAAM,QAAA;IACN,OAAK,eAAE,QAAA,YAAY;;2BAEO,EAAA,UAAA,GAA3B,YAA2B,wBAAX,QAAA,KAAO,CAAA,EAAA,CAAA;;;;;;;OAEd,YAAA,SAAA,UAAA,GAAX,mBAEM,OAFN,YAEM,gBADD,YAAA,KAAW,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
@@ -1,3 +1,3 @@
1
- import { t as GrLoading_default } from "./chunks/GrLoading--X_7rdbb.js";
2
- import { n as grLoadingSafelist, t as grLoadingConfig } from "../../chunks/config-Cpi9Mh2J.js";
1
+ import { t as GrLoading_default } from "./chunks/GrLoading-CH95CFzS.js";
2
+ import { n as grLoadingSafelist, t as grLoadingConfig } from "../../chunks/config-CjnbevbD.js";
3
3
  export { GrLoading_default as GrLoading, GrLoading_default as default, grLoadingConfig, grLoadingSafelist };