@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,149 @@
1
+ import { n as isComposingEvent } from "./keyboard-zYvvyHd4.js";
2
+ import { nextTick, onUnmounted, watch } from "vue";
3
+ //#region src/composables/internal/overlayStack.ts
4
+ /**
5
+ * Единый стек слоёв оверлеев: модалки, drawer'ы, просмотрщик, панели селектов,
6
+ * дропдауны, подсказки — всё, что открывается поверх страницы.
7
+ *
8
+ * Список один, и порядок регистрации совпадает с порядком открытия, но из него
9
+ * выводятся **две разные вершины**:
10
+ *
11
+ * - **Esc** → последний слой любого рода. Дропдаун, открытый внутри модалки,
12
+ * обязан закрыться первым — пользователь видит верхним именно его.
13
+ * - **`inert`** → ставится на модальные слои ниже последнего **модального**.
14
+ * Немодальный слой сверху модалку не понижает: иначе окно ушло бы в `inert`
15
+ * вместе со своим же открытым дропдауном и перестало отвечать.
16
+ *
17
+ * Вести эти две вершины в двух независимых реестрах нельзя: реестры описывают
18
+ * один и тот же порядок и расходятся молча — достаточно оверлея, который
19
+ * зарегистрировался в одном и забыл про другой.
20
+ *
21
+ * Ловушку фокуса стек не реализует сам, но питает её (`useFocusTrap`): он
22
+ * видит слои из **разных деревьев рендера** (диалоги `useDialogService`
23
+ * монтируются отдельным `render()` в `body`) и знает их корни.
24
+ */
25
+ var stack = [];
26
+ var listening = false;
27
+ var nextId = 1;
28
+ /** Пересчитывает верхний **модальный** слой и уведомляет все модальные. */
29
+ function syncTopmost() {
30
+ const modals = stack.filter((layer) => layer.modal);
31
+ const top = modals[modals.length - 1];
32
+ for (const layer of modals) layer.setTopmost?.(layer === top);
33
+ }
34
+ function handleKeydown(event) {
35
+ if (event.key !== "Escape") return;
36
+ if (isComposingEvent(event)) return;
37
+ if (stack.length === 0) return;
38
+ const top = stack[stack.length - 1];
39
+ event.preventDefault();
40
+ event.stopPropagation();
41
+ if (typeof event.stopImmediatePropagation === "function") event.stopImmediatePropagation();
42
+ if (top.shouldClose()) top.close();
43
+ }
44
+ function startListening() {
45
+ if (listening) return;
46
+ if (typeof window === "undefined") return;
47
+ window.addEventListener("keydown", handleKeydown, true);
48
+ listening = true;
49
+ }
50
+ function stopListening() {
51
+ if (!listening) return;
52
+ if (typeof window === "undefined") return;
53
+ window.removeEventListener("keydown", handleKeydown, true);
54
+ listening = false;
55
+ }
56
+ /** Регистрирует слой как верхний и возвращает его id. */
57
+ function pushOverlayLayer(layer) {
58
+ const id = nextId++;
59
+ stack.push({
60
+ ...layer,
61
+ id
62
+ });
63
+ startListening();
64
+ syncTopmost();
65
+ return id;
66
+ }
67
+ /** Снимает слой со стека (при закрытии или размонтировании). */
68
+ function removeOverlayLayer(id) {
69
+ const index = stack.findIndex((item) => item.id === id);
70
+ if (index >= 0) stack.splice(index, 1);
71
+ if (stack.length === 0) stopListening();
72
+ syncTopmost();
73
+ }
74
+ /**
75
+ * Корни слоёв, открытых **поверх** данного.
76
+ *
77
+ * Ими ловушка фокуса дополняет свой контейнер: всё, что открыто изнутри слоя
78
+ * (панель селекта, меню, подсказка), лежит в `body` отдельным поддеревом, и
79
+ * без этого списка ловушка утаскивала бы из него фокус обратно в окно.
80
+ */
81
+ function layerRootsAbove(id) {
82
+ const index = stack.findIndex((layer) => layer.id === id);
83
+ if (index < 0) return [];
84
+ return stack.slice(index + 1).map((layer) => layer.root?.() ?? null).filter((root) => root !== null);
85
+ }
86
+ //#endregion
87
+ //#region src/composables/useOverlayLayer.ts
88
+ /**
89
+ * Регистрирует оверлей в общем стеке слоёв, пока `open` истинно.
90
+ *
91
+ * Один контракт на порядок Esc, `inert` и возврат фокуса — три механизма,
92
+ * которые обязаны видеть один и тот же порядок слоёв. Что берёт на себя:
93
+ *
94
+ * - **Esc** — верхнему слою, вниз не проваливается;
95
+ * - **`inert`** — через `onTopmostChange` у модальных слоёв;
96
+ * - **возврат фокуса** — по единому правилу (см. ниже).
97
+ *
98
+ * Чего **не** делает: фокус-ловушку — это `useFocusTrap`, отдельный примитив.
99
+ * Поповеру ловушка и не нужна: Tab обязан уводить фокус наружу и закрывать его,
100
+ * поэтому связка «слой + ловушка» собирается в компоненте, а не тут.
101
+ *
102
+ * Правило возврата фокуса: восстанавливаем, **только если на момент закрытия
103
+ * фокус всё ещё внутри слоя**. Если пользователь кликнул в другое поле, фокус
104
+ * уже там — забирать его обратно нельзя. Эвристика «возвращать, если открыли с
105
+ * клавиатуры» промахивается в обе стороны: мышью открытый слой фокус не вернёт,
106
+ * а клавиатурный отберёт его у того, куда пользователь ушёл сам.
107
+ */
108
+ function useOverlayLayer(open, onDismiss, options = {}) {
109
+ let layerId = null;
110
+ let previouslyFocused = null;
111
+ function register() {
112
+ if (layerId !== null) return;
113
+ if (typeof window === "undefined") return;
114
+ if (options.restoreFocus !== false && typeof document !== "undefined") previouslyFocused = document.activeElement ?? null;
115
+ layerId = pushOverlayLayer({
116
+ modal: typeof options.modal === "function" ? options.modal() : options.modal ?? false,
117
+ shouldClose: () => options.closeOnEscape?.() ?? true,
118
+ close: onDismiss,
119
+ setTopmost: options.onTopmostChange,
120
+ root: () => options.root?.value ?? null
121
+ });
122
+ }
123
+ function unregister() {
124
+ if (layerId === null) return;
125
+ removeOverlayLayer(layerId);
126
+ layerId = null;
127
+ restoreFocus();
128
+ }
129
+ function restoreFocus() {
130
+ const target = previouslyFocused;
131
+ previouslyFocused = null;
132
+ if (options.restoreFocus === false || !target) return;
133
+ if (typeof document === "undefined") return;
134
+ const active = document.activeElement;
135
+ const root = options.root?.value;
136
+ if (root && active && active !== document.body && !root.contains(active)) return;
137
+ nextTick(() => {
138
+ if (target.isConnected) target.focus?.();
139
+ });
140
+ }
141
+ watch(open, (isOpen) => {
142
+ if (isOpen) register();
143
+ else unregister();
144
+ }, { immediate: true });
145
+ onUnmounted(unregister);
146
+ return { rootsAbove: () => layerId === null ? [] : layerRootsAbove(layerId) };
147
+ }
148
+ //#endregion
149
+ export { useOverlayLayer as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOverlayLayer-BupuP_hs.js","names":[],"sources":["../../src/composables/internal/overlayStack.ts","../../src/composables/useOverlayLayer.ts"],"sourcesContent":["/**\n * Единый стек слоёв оверлеев: модалки, drawer'ы, просмотрщик, панели селектов,\n * дропдауны, подсказки — всё, что открывается поверх страницы.\n *\n * Список один, и порядок регистрации совпадает с порядком открытия, но из него\n * выводятся **две разные вершины**:\n *\n * - **Esc** → последний слой любого рода. Дропдаун, открытый внутри модалки,\n * обязан закрыться первым — пользователь видит верхним именно его.\n * - **`inert`** → ставится на модальные слои ниже последнего **модального**.\n * Немодальный слой сверху модалку не понижает: иначе окно ушло бы в `inert`\n * вместе со своим же открытым дропдауном и перестало отвечать.\n *\n * Вести эти две вершины в двух независимых реестрах нельзя: реестры описывают\n * один и тот же порядок и расходятся молча — достаточно оверлея, который\n * зарегистрировался в одном и забыл про другой.\n *\n * Ловушку фокуса стек не реализует сам, но питает её (`useFocusTrap`): он\n * видит слои из **разных деревьев рендера** (диалоги `useDialogService`\n * монтируются отдельным `render()` в `body`) и знает их корни.\n */\n\nimport { isComposingEvent } from '../../internal/keyboard'\n\nexport interface OverlayLayer {\n /** Уникальный id зарегистрированного слоя. */\n id: number\n /**\n * Модальный слой: блокирует страницу и участвует в вычислении `inert`.\n * Немодальные (поповеры, меню, подсказки) — только в очереди Esc.\n */\n modal: boolean\n /** Закрывать ли слой по Esc (реактивный геттер: `closeOnEsc` и подобные). */\n shouldClose: () => boolean\n /** Закрыть слой. */\n close: () => void\n /** Уведомление «этот модальный слой сейчас верхний». Только для `modal`. */\n setTopmost?: (isTopmost: boolean) => void\n /**\n * Корень слоя. Ловушка фокуса нижнего слоя обязана считать его своим:\n * панель селекта, открытого внутри модалки, телепортирована в `body` и лежит\n * вне DOM-поддерева окна, но для пользователя это тот же слой.\n */\n root?: () => HTMLElement | null\n}\n\nconst stack: OverlayLayer[] = []\nlet listening = false\nlet nextId = 1\n\n/** Пересчитывает верхний **модальный** слой и уведомляет все модальные. */\nfunction syncTopmost(): void {\n const modals = stack.filter(layer => layer.modal)\n const top = modals[modals.length - 1]\n for (const layer of modals) layer.setTopmost?.(layer === top)\n}\n\nfunction handleKeydown(event: KeyboardEvent): void {\n if (event.key !== 'Escape') return\n // Esc во время IME-композиции отменяет её, а не закрывает слой.\n if (isComposingEvent(event)) return\n if (stack.length === 0) return\n\n const top = stack[stack.length - 1]\n\n // Гасим всегда, даже если верхний слой не закрывается по Esc: иначе нажатие\n // «провалится» на слой ниже и закроет не то, что видит пользователь.\n event.preventDefault()\n event.stopPropagation()\n if (typeof event.stopImmediatePropagation === 'function')\n event.stopImmediatePropagation()\n\n if (top.shouldClose()) top.close()\n}\n\nfunction startListening(): void {\n if (listening) return\n if (typeof window === 'undefined') return\n // Capture-фаза опережает любые локальные обработчики: Esc обязан достаться\n // верхнему слою, а не тому, кто первым подписался.\n window.addEventListener('keydown', handleKeydown, true)\n listening = true\n}\n\nfunction stopListening(): void {\n if (!listening) return\n if (typeof window === 'undefined') return\n window.removeEventListener('keydown', handleKeydown, true)\n listening = false\n}\n\n/** Регистрирует слой как верхний и возвращает его id. */\nexport function pushOverlayLayer(layer: Omit<OverlayLayer, 'id'>): number {\n const id = nextId++\n stack.push({ ...layer, id })\n startListening()\n syncTopmost()\n return id\n}\n\n/** Снимает слой со стека (при закрытии или размонтировании). */\nexport function removeOverlayLayer(id: number): void {\n const index = stack.findIndex(item => item.id === id)\n if (index >= 0) stack.splice(index, 1)\n if (stack.length === 0) stopListening()\n syncTopmost()\n}\n\n/**\n * Корни слоёв, открытых **поверх** данного.\n *\n * Ими ловушка фокуса дополняет свой контейнер: всё, что открыто изнутри слоя\n * (панель селекта, меню, подсказка), лежит в `body` отдельным поддеревом, и\n * без этого списка ловушка утаскивала бы из него фокус обратно в окно.\n */\nexport function layerRootsAbove(id: number): HTMLElement[] {\n const index = stack.findIndex(layer => layer.id === id)\n if (index < 0) return []\n\n return stack\n .slice(index + 1)\n .map(layer => layer.root?.() ?? null)\n .filter((root): root is HTMLElement => root !== null)\n}\n\n/** Корни всех зарегистрированных слоёв. */\nexport function allLayerRoots(): HTMLElement[] {\n return stack\n .map(layer => layer.root?.() ?? null)\n .filter((root): root is HTMLElement => root !== null)\n}\n\n/** Сколько слоёв открыто. Для тестов и диагностики. */\nexport function overlayStackSize(): number {\n return stack.length\n}\n\n/** Тестовая/служебная очистка стека. */\nexport function resetOverlayStack(): void {\n stack.splice(0, stack.length)\n stopListening()\n}\n","import type { Ref } from 'vue'\nimport { nextTick, onUnmounted, watch } from 'vue'\n\nimport { layerRootsAbove, pushOverlayLayer, removeOverlayLayer } from './internal/overlayStack'\n\nexport interface UseOverlayLayerOptions {\n /**\n * Модальный слой: блокирует страницу, и модалки под ним получают `inert`.\n * Немодальные (поповеры, меню, подсказки) участвуют только в очереди Esc.\n * По умолчанию `false`.\n *\n * Геттером — там, где модальность включается пропом (`GrDrawer`): значение\n * читается в момент регистрации, то есть при каждом открытии.\n */\n modal?: boolean | (() => boolean)\n /**\n * Закрывать ли слой по Esc. Геттер, а не значение, — чтобы читать реактивный\n * проп (`closeOnEsc`). По умолчанию закрывается всегда.\n *\n * Если геттер вернёт `false`, нажатие всё равно не пройдёт на слой ниже:\n * пользователь видит верхним этот слой, и Esc адресован ему.\n */\n closeOnEscape?: () => boolean\n /**\n * Уведомление «этот модальный слой сейчас верхний». Компонент вешает по нему\n * `inert` на свой корень, когда перестал быть верхним.\n */\n onTopmostChange?: (isTopmost: boolean) => void\n /**\n * Возвращать фокус элементу, который был активен до открытия. По умолчанию —\n * да. Отключать имеет смысл там, где фокус с триггера и не уходил: `GrSelect`\n * ведёт список через `aria-activedescendant`.\n */\n restoreFocus?: boolean\n /**\n * Корень слоя. Нужен дважды: для правила возврата фокуса (если на момент\n * закрытия фокус уже вне слоя, пользователь ушёл сам — забирать нельзя) и\n * для ловушки фокуса слоя под ним, которая обязана считать этот корень\n * своим (панель селекта внутри модалки телепортирована в `body`).\n */\n root?: Ref<HTMLElement | null>\n}\n\nexport interface OverlayLayerHandle {\n /**\n * Корни слоёв, открытых поверх этого. Передаётся в `useFocusTrap` как\n * `containers`: пока панель, открытая изнутри окна, жива, фокус в ней\n * законен.\n */\n rootsAbove: () => HTMLElement[]\n}\n\n/**\n * Регистрирует оверлей в общем стеке слоёв, пока `open` истинно.\n *\n * Один контракт на порядок Esc, `inert` и возврат фокуса — три механизма,\n * которые обязаны видеть один и тот же порядок слоёв. Что берёт на себя:\n *\n * - **Esc** — верхнему слою, вниз не проваливается;\n * - **`inert`** — через `onTopmostChange` у модальных слоёв;\n * - **возврат фокуса** — по единому правилу (см. ниже).\n *\n * Чего **не** делает: фокус-ловушку — это `useFocusTrap`, отдельный примитив.\n * Поповеру ловушка и не нужна: Tab обязан уводить фокус наружу и закрывать его,\n * поэтому связка «слой + ловушка» собирается в компоненте, а не тут.\n *\n * Правило возврата фокуса: восстанавливаем, **только если на момент закрытия\n * фокус всё ещё внутри слоя**. Если пользователь кликнул в другое поле, фокус\n * уже там — забирать его обратно нельзя. Эвристика «возвращать, если открыли с\n * клавиатуры» промахивается в обе стороны: мышью открытый слой фокус не вернёт,\n * а клавиатурный отберёт его у того, куда пользователь ушёл сам.\n */\nexport function useOverlayLayer(\n open: Ref<boolean>,\n onDismiss: () => void,\n options: UseOverlayLayerOptions = {},\n): OverlayLayerHandle {\n let layerId: number | null = null\n let previouslyFocused: HTMLElement | null = null\n\n function register(): void {\n if (layerId !== null) return\n\n // Стек — браузерное понятие: Esc, `inert` и возврат фокуса на сервере\n // бессмысленны. Регистрируйся слой и там — он остался бы в модульном массиве\n // навсегда, потому что `onUnmounted` при `renderToString` не вызывается, и\n // каждый серверный рендер открытого оверлея копил бы замыкание со ссылками\n // на свои компоненты.\n if (typeof window === 'undefined') return\n\n if (options.restoreFocus !== false && typeof document !== 'undefined')\n previouslyFocused = (document.activeElement as HTMLElement) ?? null\n\n layerId = pushOverlayLayer({\n modal: typeof options.modal === 'function' ? options.modal() : options.modal ?? false,\n shouldClose: () => options.closeOnEscape?.() ?? true,\n close: onDismiss,\n setTopmost: options.onTopmostChange,\n root: () => options.root?.value ?? null,\n })\n }\n\n function unregister(): void {\n if (layerId === null) return\n removeOverlayLayer(layerId)\n layerId = null\n\n restoreFocus()\n }\n\n function restoreFocus(): void {\n const target = previouslyFocused\n previouslyFocused = null\n\n if (options.restoreFocus === false || !target) return\n if (typeof document === 'undefined') return\n\n // Фокус уже вне слоя — пользователь ушёл сам, отбирать нельзя. Решение\n // принимаем сейчас, пока слой ещё в DOM, а применяем следующим тиком.\n const active = document.activeElement\n const root = options.root?.value\n if (root && active && active !== document.body && !root.contains(active)) return\n\n // Возврат откладывается намеренно: ловушка фокуса того же слоя снимает свои\n // слушатели в этом же флаше, и сфокусируй мы триггер сразу — она затащила бы\n // фокус обратно в закрывающийся слой.\n void nextTick(() => {\n if (target.isConnected) target.focus?.()\n })\n }\n\n watch(\n open,\n (isOpen) => {\n if (isOpen) register()\n else unregister()\n },\n { immediate: true },\n )\n\n onUnmounted(unregister)\n\n return {\n rootsAbove: () => (layerId === null ? [] : layerRootsAbove(layerId)),\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { s as useGrConfig } from "./context-BSYR7RZs.js";
2
+ import { t as ensurePortalRoot } from "./portalRoot-CWD4zHBm.js";
3
+ import { computed, onMounted, readonly, ref } from "vue";
4
+ //#region src/composables/internal/useTeleportEnabled.ts
5
+ /**
6
+ * Можно ли телепортировать содержимое прямо сейчас.
7
+ *
8
+ * Возвращает `false` на сервере И на первом клиентском рендере, `true` — сразу
9
+ * после монтирования. Использовать так:
10
+ *
11
+ * ```vue
12
+ * <teleport to="body" :disabled="!teleportEnabled">…</teleport>
13
+ * ```
14
+ *
15
+ * ## Зачем, если есть `typeof window !== 'undefined'`
16
+ *
17
+ * Проверка окружения выглядит достаточной, но именно она и ломала гидрацию.
18
+ * `isClient` вычисляется в `setup`, поэтому получалось так:
19
+ *
20
+ * - сервер: `window` нет → телепорт выключен → содержимое остаётся НА МЕСТЕ
21
+ * (`:disabled` означает «рендерить на месте», а не «не рендерить»);
22
+ * - клиент, первый рендер: `window` есть → телепорт включён → содержимое сразу
23
+ * уезжает в `body`.
24
+ *
25
+ * Структуры не совпадают, Vue сообщает `Hydration node mismatch`. В лучшем
26
+ * случае это лишний варнинг и осиротевшая копия панели в DOM; в худшем —
27
+ * панель «прилипает» к контейнеру приложения и пишет в него свои стили
28
+ * (`position: fixed` + `display: none` у закрытой панели), после чего страница
29
+ * исчезает целиком.
30
+ *
31
+ * Флаг, поднимаемый в `onMounted`, снимает проблему по построению: **первый**
32
+ * клиентский рендер повторяет серверный, а телепорт включается уже после
33
+ * гидрации. Для компонентов без SSR это ничего не меняет: панели закрыты
34
+ * (`v-show`/`v-if`), а `onMounted` срабатывает в том же тике.
35
+ *
36
+ * Стенд, на котором это воспроизводится и проверяется, — `apps/playground-ssr`.
37
+ */
38
+ function useTeleportEnabled() {
39
+ const enabled = ref(false);
40
+ onMounted(() => {
41
+ enabled.value = true;
42
+ });
43
+ return readonly(enabled);
44
+ }
45
+ //#endregion
46
+ //#region src/composables/usePortalTarget.ts
47
+ /**
48
+ * Куда монтируются оверлеи пакета.
49
+ *
50
+ * Приоритет: локальное переопределение компонента (`teleportTo`) →
51
+ * `portalTarget` из `GrConfigProvider` → общий корень `#gr-portal`, который
52
+ * создаётся при первом обращении.
53
+ *
54
+ * ```vue
55
+ * const { target, enabled } = usePortalTarget(() => props.teleportTo)
56
+ *
57
+ * <teleport :to="target" :disabled="!enabled">…</teleport>
58
+ * ```
59
+ *
60
+ * Композабл публичный: свой оверлей потребителя должен уезжать туда же, куда и
61
+ * оверлеи библиотеки, — иначе он окажется вне ветки портала и будет помечен
62
+ * `inert` вместе со страницей, как только откроется модалка.
63
+ */
64
+ function usePortalTarget(local) {
65
+ const config = useGrConfig();
66
+ const teleportEnabled = useTeleportEnabled();
67
+ return {
68
+ target: computed(() => {
69
+ const explicit = local?.() ?? config.portalTarget?.value;
70
+ if (explicit) return explicit;
71
+ return ensurePortalRoot() ?? "body";
72
+ }),
73
+ enabled: computed(() => teleportEnabled.value)
74
+ };
75
+ }
76
+ //#endregion
77
+ export { usePortalTarget as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePortalTarget-RyzEgNTb.js","names":[],"sources":["../../src/composables/internal/useTeleportEnabled.ts","../../src/composables/usePortalTarget.ts"],"sourcesContent":["import { onMounted, readonly, ref, type Ref } from 'vue'\n\n/**\n * Можно ли телепортировать содержимое прямо сейчас.\n *\n * Возвращает `false` на сервере И на первом клиентском рендере, `true` — сразу\n * после монтирования. Использовать так:\n *\n * ```vue\n * <teleport to=\"body\" :disabled=\"!teleportEnabled\">…</teleport>\n * ```\n *\n * ## Зачем, если есть `typeof window !== 'undefined'`\n *\n * Проверка окружения выглядит достаточной, но именно она и ломала гидрацию.\n * `isClient` вычисляется в `setup`, поэтому получалось так:\n *\n * - сервер: `window` нет → телепорт выключен → содержимое остаётся НА МЕСТЕ\n * (`:disabled` означает «рендерить на месте», а не «не рендерить»);\n * - клиент, первый рендер: `window` есть → телепорт включён → содержимое сразу\n * уезжает в `body`.\n *\n * Структуры не совпадают, Vue сообщает `Hydration node mismatch`. В лучшем\n * случае это лишний варнинг и осиротевшая копия панели в DOM; в худшем —\n * панель «прилипает» к контейнеру приложения и пишет в него свои стили\n * (`position: fixed` + `display: none` у закрытой панели), после чего страница\n * исчезает целиком.\n *\n * Флаг, поднимаемый в `onMounted`, снимает проблему по построению: **первый**\n * клиентский рендер повторяет серверный, а телепорт включается уже после\n * гидрации. Для компонентов без SSR это ничего не меняет: панели закрыты\n * (`v-show`/`v-if`), а `onMounted` срабатывает в том же тике.\n *\n * Стенд, на котором это воспроизводится и проверяется, — `apps/playground-ssr`.\n */\nexport function useTeleportEnabled(): Readonly<Ref<boolean>> {\n const enabled = ref(false)\n\n onMounted(() => {\n enabled.value = true\n })\n\n return readonly(enabled)\n}\n","import type { ComputedRef } from 'vue'\nimport { computed } from 'vue'\n\nimport { useGrConfig } from '../components/GrConfigProvider/context'\nimport { ensurePortalRoot } from './internal/portalRoot'\nimport { useTeleportEnabled } from './internal/useTeleportEnabled'\n\nexport interface PortalTarget {\n /** Куда телепортировать: элемент портала либо селектор из конфига. */\n target: ComputedRef<string | HTMLElement>\n /**\n * Можно ли телепортировать прямо сейчас. `false` на сервере и на первом\n * клиентском рендере — иначе разметка разъедется на гидрации.\n */\n enabled: ComputedRef<boolean>\n}\n\n/**\n * Куда монтируются оверлеи пакета.\n *\n * Приоритет: локальное переопределение компонента (`teleportTo`) →\n * `portalTarget` из `GrConfigProvider` → общий корень `#gr-portal`, который\n * создаётся при первом обращении.\n *\n * ```vue\n * const { target, enabled } = usePortalTarget(() => props.teleportTo)\n *\n * <teleport :to=\"target\" :disabled=\"!enabled\">…</teleport>\n * ```\n *\n * Композабл публичный: свой оверлей потребителя должен уезжать туда же, куда и\n * оверлеи библиотеки, — иначе он окажется вне ветки портала и будет помечен\n * `inert` вместе со страницей, как только откроется модалка.\n */\nexport function usePortalTarget(local?: () => string | HTMLElement | undefined): PortalTarget {\n const config = useGrConfig()\n const teleportEnabled = useTeleportEnabled()\n\n const target = computed<string | HTMLElement>(() => {\n const explicit = local?.() ?? config.portalTarget?.value\n if (explicit) return explicit\n\n // Корень создаётся лениво и только на клиенте; до монтирования телепорт\n // выключен, поэтому `body` здесь — недостижимый запасной вариант, а не\n // рабочая ветка.\n return ensurePortalRoot() ?? 'body'\n })\n\n return { target, enabled: computed(() => teleportEnabled.value) }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,SAAgB,qBAA6C;CAC3D,MAAM,UAAU,IAAI,KAAK;CAEzB,gBAAgB;EACd,QAAQ,QAAQ;CAClB,CAAC;CAED,OAAO,SAAS,OAAO;AACzB;;;;;;;;;;;;;;;;;;;;ACTA,SAAgB,gBAAgB,OAA8D;CAC5F,MAAM,SAAS,YAAY;CAC3B,MAAM,kBAAkB,mBAAmB;CAY3C,OAAO;EAAE,QAVM,eAAqC;GAClD,MAAM,WAAW,QAAQ,KAAK,OAAO,cAAc;GACnD,IAAI,UAAU,OAAO;GAKrB,OAAO,iBAAiB,KAAK;EAC/B,CAES;EAAQ,SAAS,eAAe,gBAAgB,KAAK;CAAE;AAClE"}
@@ -0,0 +1,178 @@
1
+ import { a as allowedExtensionsValidator, f as runFileValidators, i as allowedMimeTypesValidator, l as resolveFileValidationMessage, n as maxFileSize, o as acceptValidator, r as maxCountValidator, t as maxTotalSizeBytesValidator } from "./fileValidation-D5TFBhbv.js";
2
+ //#region src/components/GrForm/fileRule.ts
3
+ /**
4
+ * Файловое правило `GrForm` — мост между декларативными `rules` и валидаторами
5
+ * из `src/fileValidation`.
6
+ *
7
+ * Своих проверок здесь нет ни одной: правило собирает те же валидаторы, которые
8
+ * `GrFormFile` и `v-dropzone` запускают на выборе и на drop. Поэтому ограничение,
9
+ * переехавшее из пропов поля в правило формы, не меняет ни поведения, ни текста
10
+ * ошибки — меняется только момент проверки и то, кто о ней сообщает.
11
+ *
12
+ * Модуль чистый (без Vue): его гоняют юнит-тесты без монтирования.
13
+ */
14
+ var BYTES_IN_MB = 1024 * 1024;
15
+ function mbToBytes(mb) {
16
+ return typeof mb === "number" && Number.isFinite(mb) ? mb * BYTES_IN_MB : void 0;
17
+ }
18
+ function isFile(value) {
19
+ return typeof File !== "undefined" && value instanceof File;
20
+ }
21
+ /**
22
+ * Значение поля как набор файлов. Всё, что файлами не является, даёт пустой
23
+ * набор: правило молчит, а пустоту разбирает `required` движка.
24
+ */
25
+ function fileRuleFiles(value) {
26
+ if (isFile(value)) return [value];
27
+ if (Array.isArray(value)) return value.filter(isFile);
28
+ return [];
29
+ }
30
+ /** Порядок повторяет `GrFormFile`: встроенные проверки, затем валидаторы потребителя. */
31
+ function fileRuleValidators(rule) {
32
+ return [
33
+ acceptValidator(rule.accept),
34
+ ...rule.extensions ? [allowedExtensionsValidator(rule.extensions)] : [],
35
+ ...rule.mimeTypes ? [allowedMimeTypesValidator(rule.mimeTypes)] : [],
36
+ maxFileSize({
37
+ bytes: rule.maxSizeBytes,
38
+ mb: rule.maxSizeMb
39
+ }),
40
+ maxCountValidator(rule.maxCount),
41
+ maxTotalSizeBytesValidator(mbToBytes(rule.maxTotalSizeMb)),
42
+ ...rule.validators ?? []
43
+ ];
44
+ }
45
+ /**
46
+ * Первая проблема набора или `undefined`. Первая, а не все: у поля формы одна
47
+ * строка ошибки, и файлы тут не исключение — подробный разбор по каждому файлу
48
+ * остаётся за `GrFormFile`.
49
+ */
50
+ async function runFileRule(value, rule) {
51
+ const files = fileRuleFiles(value);
52
+ if (!files.length) return void 0;
53
+ const { issues } = await runFileValidators(files, fileRuleValidators(rule), {
54
+ source: "form",
55
+ multiple: Array.isArray(value),
56
+ accept: rule.accept
57
+ });
58
+ return issues[0];
59
+ }
60
+ //#endregion
61
+ //#region src/components/GrForm/validation.ts
62
+ /**
63
+ * Движок валидации `GrForm` — чистый (без Vue/i18n), тестируется изолированно.
64
+ *
65
+ * Правило описывает набор проверок значения поля; `runFieldRules` прогоняет их по
66
+ * порядку и возвращает первое сообщение об ошибке (или `undefined`, если валидно).
67
+ * Сообщения резолвит потребитель (компонент) через `resolveMessage` — так i18n и
68
+ * дефолтные тексты остаются в компоненте, а движок ничего о них не знает.
69
+ */
70
+ var DEFAULT_MESSAGES = {
71
+ required: "This field is required",
72
+ min: "Minimum is {min}",
73
+ max: "Maximum is {max}",
74
+ len: "Length must be {len}",
75
+ pattern: "Invalid format",
76
+ email: "Enter a valid email",
77
+ url: "Enter a valid URL",
78
+ file: "Invalid file",
79
+ invalid: "Invalid value"
80
+ };
81
+ /**
82
+ * Дефолтный резолвер сообщений: `rule.message` сильнее всего, иначе ключ
83
+ * `gr.form.<kind>` из локали, иначе английский фолбэк.
84
+ *
85
+ * Вынесен из `GrForm.vue` и экспортируется наружу не «на всякий случай»:
86
+ * `runFieldRules` публичен, но без резолвера бесполезен — любой, кто хочет
87
+ * прогнать те же правила вне формы, обязан был написать свой.
88
+ */
89
+ function createGrFormMessageResolver(t) {
90
+ return (kind, rule, params) => {
91
+ if (rule.message) return rule.message;
92
+ const issue = params.issue;
93
+ if (kind === "file" && issue) return resolveFileValidationMessage(issue, t);
94
+ return t(`gr.form.${kind}`, DEFAULT_MESSAGES[kind], params);
95
+ };
96
+ }
97
+ var EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
98
+ function isUrl(value) {
99
+ return URL.canParse(value);
100
+ }
101
+ /** Пустое значение: `null`/`undefined`/пустая (или пробельная) строка/пустой массив. */
102
+ function isEmpty(value) {
103
+ if (value == null) return true;
104
+ if (typeof value === "string") return value.trim() === "";
105
+ if (Array.isArray(value)) return value.length === 0;
106
+ return false;
107
+ }
108
+ /** Мера значения для min/max/len: число → само значение, строка/массив → длина. */
109
+ function measure(value) {
110
+ if (typeof value === "number") return value;
111
+ if (typeof value === "string") return value.length;
112
+ if (Array.isArray(value)) return value.length;
113
+ return Number(value);
114
+ }
115
+ /** Достаёт значение из объекта по dot-path (`address.city`). */
116
+ function getByPath(obj, path) {
117
+ if (!path.includes(".")) return obj[path];
118
+ return path.split(".").reduce((acc, key) => {
119
+ if (acc && typeof acc === "object") return acc[key];
120
+ }, obj);
121
+ }
122
+ /** Записывает значение в объект по dot-path (создаёт промежуточные объекты). */
123
+ function setByPath(obj, path, value) {
124
+ const keys = path.split(".");
125
+ const last = keys.pop();
126
+ let target = obj;
127
+ for (const key of keys) {
128
+ if (!target[key] || typeof target[key] !== "object") target[key] = {};
129
+ target = target[key];
130
+ }
131
+ target[last] = value;
132
+ }
133
+ /** Нормализует правило(а) поля в массив. */
134
+ function toRuleArray(rules) {
135
+ if (!rules) return [];
136
+ return Array.isArray(rules) ? rules : [rules];
137
+ }
138
+ function ruleMatchesTrigger(rule, trigger) {
139
+ if (!trigger) return true;
140
+ if (!rule.trigger) return true;
141
+ return (Array.isArray(rule.trigger) ? rule.trigger : [rule.trigger]).includes(trigger);
142
+ }
143
+ /** Правила поля, применимые для данного триггера (undefined = все). */
144
+ function rulesForTrigger(rules, trigger) {
145
+ return rules.filter((rule) => ruleMatchesTrigger(rule, trigger));
146
+ }
147
+ /** Есть ли среди правил `required` (для маркера обязательности в поле). */
148
+ function rulesRequired(rules) {
149
+ return rules.some((rule) => rule.required === true);
150
+ }
151
+ /**
152
+ * Прогоняет правила по порядку, возвращает первое сообщение об ошибке или `undefined`.
153
+ * Пустое необязательное значение проходит все проверки (кроме `required`).
154
+ */
155
+ async function runFieldRules(value, rules, model, resolveMessage) {
156
+ for (const rule of rules) {
157
+ const empty = isEmpty(value);
158
+ if (rule.required && empty) return resolveMessage("required", rule, {});
159
+ if (empty) continue;
160
+ if (rule.type === "email" && !EMAIL_RE.test(String(value))) return resolveMessage("email", rule, {});
161
+ if (rule.type === "url" && !isUrl(String(value))) return resolveMessage("url", rule, {});
162
+ if (rule.len != null && measure(value) !== rule.len) return resolveMessage("len", rule, { len: rule.len });
163
+ if (rule.min != null && measure(value) < rule.min) return resolveMessage("min", rule, { min: rule.min });
164
+ if (rule.max != null && measure(value) > rule.max) return resolveMessage("max", rule, { max: rule.max });
165
+ if (rule.pattern && !rule.pattern.test(String(value))) return resolveMessage("pattern", rule, {});
166
+ if (rule.file) {
167
+ const issue = await runFileRule(value, rule.file);
168
+ if (issue) return resolveMessage("file", rule, { issue });
169
+ }
170
+ if (rule.validator) {
171
+ const result = await rule.validator(value, model);
172
+ if (result === false) return rule.message ?? resolveMessage("invalid", rule, {});
173
+ if (typeof result === "string") return result;
174
+ }
175
+ }
176
+ }
177
+ //#endregion
178
+ export { rulesRequired as a, toRuleArray as c, rulesForTrigger as i, getByPath as n, runFieldRules as o, isEmpty as r, setByPath as s, createGrFormMessageResolver as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-5HhpanPP.js","names":[],"sources":["../../src/components/GrForm/fileRule.ts","../../src/components/GrForm/validation.ts"],"sourcesContent":["/**\n * Файловое правило `GrForm` — мост между декларативными `rules` и валидаторами\n * из `src/fileValidation`.\n *\n * Своих проверок здесь нет ни одной: правило собирает те же валидаторы, которые\n * `GrFormFile` и `v-dropzone` запускают на выборе и на drop. Поэтому ограничение,\n * переехавшее из пропов поля в правило формы, не меняет ни поведения, ни текста\n * ошибки — меняется только момент проверки и то, кто о ней сообщает.\n *\n * Модуль чистый (без Vue): его гоняют юнит-тесты без монтирования.\n */\n\nimport {\n acceptValidator,\n allowedExtensionsValidator,\n allowedMimeTypesValidator,\n maxCountValidator,\n maxFileSize,\n maxTotalSizeBytesValidator,\n runFileValidators,\n type FileValidationIssue,\n type FileValidator,\n} from '../../fileValidation'\n\nexport interface GrFormFileRule {\n /** W3C `accept`: `'image/*,.pdf'`. */\n accept?: string\n /** Белый список расширений (с точкой или без). */\n extensions?: string[]\n /** Белый список MIME-типов. */\n mimeTypes?: string[]\n /** Предел размера одного файла в мегабайтах. */\n maxSizeMb?: number\n /** Предел размера одного файла в байтах. Задан вместе с `maxSizeMb` — берётся меньший. */\n maxSizeBytes?: number\n /** Максимум файлов в наборе. */\n maxCount?: number\n /** Суммарный размер набора в мегабайтах. */\n maxTotalSizeMb?: number\n /** Свои валидаторы — тот же тип, что у `GrFormFile` и `v-dropzone`. Идут после встроенных. */\n validators?: FileValidator[]\n}\n\nconst BYTES_IN_MB = 1024 * 1024\n\nfunction mbToBytes(mb: number | undefined): number | undefined {\n return typeof mb === 'number' && Number.isFinite(mb) ? mb * BYTES_IN_MB : undefined\n}\n\nfunction isFile(value: unknown): value is File {\n return typeof File !== 'undefined' && value instanceof File\n}\n\n/**\n * Значение поля как набор файлов. Всё, что файлами не является, даёт пустой\n * набор: правило молчит, а пустоту разбирает `required` движка.\n */\nexport function fileRuleFiles(value: unknown): File[] {\n if (isFile(value)) return [value]\n if (Array.isArray(value)) return value.filter(isFile)\n return []\n}\n\n/** Порядок повторяет `GrFormFile`: встроенные проверки, затем валидаторы потребителя. */\nexport function fileRuleValidators(rule: GrFormFileRule): FileValidator[] {\n return [\n acceptValidator(rule.accept),\n ...(rule.extensions ? [allowedExtensionsValidator(rule.extensions)] : []),\n ...(rule.mimeTypes ? [allowedMimeTypesValidator(rule.mimeTypes)] : []),\n maxFileSize({ bytes: rule.maxSizeBytes, mb: rule.maxSizeMb }),\n maxCountValidator(rule.maxCount),\n maxTotalSizeBytesValidator(mbToBytes(rule.maxTotalSizeMb)),\n ...(rule.validators ?? []),\n ]\n}\n\n/**\n * Первая проблема набора или `undefined`. Первая, а не все: у поля формы одна\n * строка ошибки, и файлы тут не исключение — подробный разбор по каждому файлу\n * остаётся за `GrFormFile`.\n */\nexport async function runFileRule(\n value: unknown,\n rule: GrFormFileRule,\n): Promise<FileValidationIssue | undefined> {\n const files = fileRuleFiles(value)\n if (!files.length) return undefined\n\n const { issues } = await runFileValidators(files, fileRuleValidators(rule), {\n source: 'form',\n multiple: Array.isArray(value),\n accept: rule.accept,\n })\n\n return issues[0]\n}\n","/**\n * Движок валидации `GrForm` — чистый (без Vue/i18n), тестируется изолированно.\n *\n * Правило описывает набор проверок значения поля; `runFieldRules` прогоняет их по\n * порядку и возвращает первое сообщение об ошибке (или `undefined`, если валидно).\n * Сообщения резолвит потребитель (компонент) через `resolveMessage` — так i18n и\n * дефолтные тексты остаются в компоненте, а движок ничего о них не знает.\n */\n\nimport { resolveFileValidationMessage, type FileValidationIssue } from '../../fileValidation'\nimport { runFileRule, type GrFormFileRule } from './fileRule'\n\nexport type { GrFormFileRule } from './fileRule'\n\nexport type GrFormTrigger = 'blur' | 'change' | 'submit'\n\n/** Результат кастомного валидатора: `true`/void — ок; `false` — ошибка (дефолт-текст); строка — текст ошибки. */\nexport type GrFormValidatorResult = boolean | string | void\n\nexport interface GrFormRule {\n /** Значение обязательно (не пустое). */\n required?: boolean\n /** Готовый текст ошибки — перекрывает дефолтное сообщение любой проверки этого правила. */\n message?: string\n /** Минимум: длина для строки/массива, значение для числа. */\n min?: number\n /** Максимум: длина для строки/массива, значение для числа. */\n max?: number\n /** Точная длина/значение. */\n len?: number\n /** Регулярное выражение (проверяется по `String(value)`). */\n pattern?: RegExp\n /** Встроенный тип-валидатор. */\n type?: 'email' | 'url'\n /** Ограничения для значения `File | File[]`: тип, размер, количество. */\n file?: GrFormFileRule\n /** Кастомный (в т.ч. async) валидатор. Второй аргумент — весь `model`. */\n validator?: (value: unknown, model: Record<string, unknown>) => GrFormValidatorResult | Promise<GrFormValidatorResult>\n /** Когда правило срабатывает. По умолчанию — на любом триггере (blur/change/submit). */\n trigger?: GrFormTrigger | GrFormTrigger[]\n}\n\nexport type GrFormRules = Record<string, GrFormRule | GrFormRule[]>\n\n/** Вид сработавшей проверки — ключ для дефолтного i18n-сообщения. */\nexport type GrFormRuleFailure = 'required' | 'min' | 'max' | 'len' | 'pattern' | 'email' | 'url' | 'file' | 'invalid'\n\nexport type GrFormMessageResolver = (\n kind: GrFormRuleFailure,\n rule: GrFormRule,\n params: Record<string, unknown>,\n) => string\n\n/** Подпись `t()` из `useGranularityTranslations()`: ключ, фолбэк, параметры. */\nexport type GrFormMessageTranslate = (\n key: string,\n fallback: string,\n params?: Record<string, unknown>,\n) => string\n\nconst DEFAULT_MESSAGES: Record<GrFormRuleFailure, string> = {\n required: 'This field is required',\n min: 'Minimum is {min}',\n max: 'Maximum is {max}',\n len: 'Length must be {len}',\n pattern: 'Invalid format',\n email: 'Enter a valid email',\n url: 'Enter a valid URL',\n file: 'Invalid file',\n invalid: 'Invalid value',\n}\n\n/**\n * Дефолтный резолвер сообщений: `rule.message` сильнее всего, иначе ключ\n * `gr.form.<kind>` из локали, иначе английский фолбэк.\n *\n * Вынесен из `GrForm.vue` и экспортируется наружу не «на всякий случай»:\n * `runFieldRules` публичен, но без резолвера бесполезен — любой, кто хочет\n * прогнать те же правила вне формы, обязан был написать свой.\n */\nexport function createGrFormMessageResolver(t: GrFormMessageTranslate): GrFormMessageResolver {\n return (kind, rule, params) => {\n if (rule.message) return rule.message\n\n // Текст файловой ошибки приходит от самого валидатора и локализуется его же\n // ключом (`gr.fileValidation.*`): иначе одно и то же «файл не того типа»\n // звучало бы по-разному в поле и в форме. `gr.form.file` — фолбэк на случай\n // вида `file` без issue: сюда движок не приходит, но резолвер публичный.\n const issue = params.issue as FileValidationIssue | undefined\n if (kind === 'file' && issue) return resolveFileValidationMessage(issue, t)\n\n return t(`gr.form.${kind}`, DEFAULT_MESSAGES[kind], params)\n }\n}\n\nconst EMAIL_RE = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\n\nfunction isUrl(value: string): boolean {\n return URL.canParse(value)\n}\n\n/** Пустое значение: `null`/`undefined`/пустая (или пробельная) строка/пустой массив. */\nexport function isEmpty(value: unknown): boolean {\n if (value == null) return true\n if (typeof value === 'string') return value.trim() === ''\n if (Array.isArray(value)) return value.length === 0\n return false\n}\n\n/** Мера значения для min/max/len: число → само значение, строка/массив → длина. */\nfunction measure(value: unknown): number {\n if (typeof value === 'number') return value\n if (typeof value === 'string') return value.length\n if (Array.isArray(value)) return value.length\n return Number(value)\n}\n\n/** Достаёт значение из объекта по dot-path (`address.city`). */\nexport function getByPath(obj: Record<string, unknown>, path: string): unknown {\n if (!path.includes('.')) return obj[path]\n return path.split('.').reduce<unknown>((acc, key) => {\n if (acc && typeof acc === 'object') return (acc as Record<string, unknown>)[key]\n return undefined\n }, obj)\n}\n\n/** Записывает значение в объект по dot-path (создаёт промежуточные объекты). */\nexport function setByPath(obj: Record<string, unknown>, path: string, value: unknown): void {\n const keys = path.split('.')\n const last = keys.pop() as string\n let target = obj\n for (const key of keys) {\n if (!target[key] || typeof target[key] !== 'object') target[key] = {}\n target = target[key] as Record<string, unknown>\n }\n target[last] = value\n}\n\n/** Нормализует правило(а) поля в массив. */\nexport function toRuleArray(rules: GrFormRule | GrFormRule[] | undefined): GrFormRule[] {\n if (!rules) return []\n return Array.isArray(rules) ? rules : [rules]\n}\n\nfunction ruleMatchesTrigger(rule: GrFormRule, trigger?: GrFormTrigger): boolean {\n if (!trigger) return true // полная валидация (validate()) — все правила\n if (!rule.trigger) return true // правило без триггера срабатывает на любом\n const triggers = Array.isArray(rule.trigger) ? rule.trigger : [rule.trigger]\n return triggers.includes(trigger)\n}\n\n/** Правила поля, применимые для данного триггера (undefined = все). */\nexport function rulesForTrigger(rules: GrFormRule[], trigger?: GrFormTrigger): GrFormRule[] {\n return rules.filter(rule => ruleMatchesTrigger(rule, trigger))\n}\n\n/** Есть ли среди правил `required` (для маркера обязательности в поле). */\nexport function rulesRequired(rules: GrFormRule[]): boolean {\n return rules.some(rule => rule.required === true)\n}\n\n/**\n * Прогоняет правила по порядку, возвращает первое сообщение об ошибке или `undefined`.\n * Пустое необязательное значение проходит все проверки (кроме `required`).\n */\nexport async function runFieldRules(\n value: unknown,\n rules: GrFormRule[],\n model: Record<string, unknown>,\n resolveMessage: GrFormMessageResolver,\n): Promise<string | undefined> {\n for (const rule of rules) {\n const empty = isEmpty(value)\n\n if (rule.required && empty) return resolveMessage('required', rule, {})\n // Необязательное пустое значение — остальные проверки этого правила пропускаем.\n if (empty) continue\n\n if (rule.type === 'email' && !EMAIL_RE.test(String(value))) return resolveMessage('email', rule, {})\n if (rule.type === 'url' && !isUrl(String(value))) return resolveMessage('url', rule, {})\n\n if (rule.len != null && measure(value) !== rule.len) return resolveMessage('len', rule, { len: rule.len })\n if (rule.min != null && measure(value) < rule.min) return resolveMessage('min', rule, { min: rule.min })\n if (rule.max != null && measure(value) > rule.max) return resolveMessage('max', rule, { max: rule.max })\n\n if (rule.pattern && !rule.pattern.test(String(value))) return resolveMessage('pattern', rule, {})\n\n if (rule.file) {\n const issue = await runFileRule(value, rule.file)\n if (issue) return resolveMessage('file', rule, { issue })\n }\n\n if (rule.validator) {\n const result = await rule.validator(value, model)\n if (result === false) return rule.message ?? resolveMessage('invalid', rule, {})\n if (typeof result === 'string') return result\n }\n }\n\n return undefined\n}\n"],"mappings":"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"}