@feugene/granularity 0.13.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 (1223) 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-A-bBiotF.js +12 -0
  12. package/dist/chunks/config-A-bBiotF.js.map +1 -0
  13. package/dist/chunks/config-B-g6lT19.js +19 -0
  14. package/dist/chunks/config-B-g6lT19.js.map +1 -0
  15. package/dist/chunks/config-B-iNaGdw.js +199 -0
  16. package/dist/chunks/config-B-iNaGdw.js.map +1 -0
  17. package/dist/chunks/config-B84z1aos.js +19 -0
  18. package/dist/chunks/config-B84z1aos.js.map +1 -0
  19. package/dist/chunks/config-BE6n20np.js +27 -0
  20. package/dist/chunks/config-BE6n20np.js.map +1 -0
  21. package/dist/chunks/config-BKvX0q10.js +89 -0
  22. package/dist/chunks/config-BKvX0q10.js.map +1 -0
  23. package/dist/chunks/config-BN4sXYXn.js +77 -0
  24. package/dist/chunks/config-BN4sXYXn.js.map +1 -0
  25. package/dist/chunks/config-BNfQwyL4.js +97 -0
  26. package/dist/chunks/config-BNfQwyL4.js.map +1 -0
  27. package/dist/chunks/config-BNu8lFQB.js.map +1 -1
  28. package/dist/chunks/config-BSyiFlbi.js +17 -0
  29. package/dist/chunks/config-BSyiFlbi.js.map +1 -0
  30. package/dist/chunks/config-BViooYNv.js +13 -0
  31. package/dist/chunks/config-BViooYNv.js.map +1 -0
  32. package/dist/chunks/config-BbY2SKGE.js +90 -0
  33. package/dist/chunks/config-BbY2SKGE.js.map +1 -0
  34. package/dist/chunks/config-BeZRuonp.js +54 -0
  35. package/dist/chunks/config-BeZRuonp.js.map +1 -0
  36. package/dist/chunks/config-BoNR7_PD.js +140 -0
  37. package/dist/chunks/config-BoNR7_PD.js.map +1 -0
  38. package/dist/chunks/config-Bpt9Xbxm.js +49 -0
  39. package/dist/chunks/config-Bpt9Xbxm.js.map +1 -0
  40. package/dist/chunks/config-BqFjr3tN.js +131 -0
  41. package/dist/chunks/config-BqFjr3tN.js.map +1 -0
  42. package/dist/chunks/config-BsuDM3Hb.js +55 -0
  43. package/dist/chunks/config-BsuDM3Hb.js.map +1 -0
  44. package/dist/chunks/config-BtXRpAtq.js +48 -0
  45. package/dist/chunks/config-BtXRpAtq.js.map +1 -0
  46. package/dist/chunks/config-BuGlNPE9.js +8 -0
  47. package/dist/chunks/config-BuGlNPE9.js.map +1 -0
  48. package/dist/chunks/config-C0Ea9ePP.js +15 -0
  49. package/dist/chunks/config-C0Ea9ePP.js.map +1 -0
  50. package/dist/chunks/config-CN2ULSQL2.js +36 -0
  51. package/dist/chunks/config-CN2ULSQL2.js.map +1 -0
  52. package/dist/chunks/config-CN970ZcJ.js +113 -0
  53. package/dist/chunks/config-CN970ZcJ.js.map +1 -0
  54. package/dist/chunks/config-COvrUfhR.js +83 -0
  55. package/dist/chunks/config-COvrUfhR.js.map +1 -0
  56. package/dist/chunks/config-CQzGyi1C.js +54 -0
  57. package/dist/chunks/config-CQzGyi1C.js.map +1 -0
  58. package/dist/chunks/config-CY0_6cMi.js +51 -0
  59. package/dist/chunks/config-CY0_6cMi.js.map +1 -0
  60. package/dist/chunks/config-CjXjhphs.js +12 -0
  61. package/dist/chunks/config-CjXjhphs.js.map +1 -0
  62. package/dist/chunks/config-CjnbevbD.js +13 -0
  63. package/dist/chunks/config-CjnbevbD.js.map +1 -0
  64. package/dist/chunks/config-Cl4ST6Qd.js +21 -0
  65. package/dist/chunks/config-Cl4ST6Qd.js.map +1 -0
  66. package/dist/chunks/config-Cp0DE0GH.js +12 -0
  67. package/dist/chunks/config-Cp0DE0GH.js.map +1 -0
  68. package/dist/chunks/config-CpwwkFBO.js +72 -0
  69. package/dist/chunks/config-CpwwkFBO.js.map +1 -0
  70. package/dist/chunks/config-CvC0sX8p.js +81 -0
  71. package/dist/chunks/config-CvC0sX8p.js.map +1 -0
  72. package/dist/chunks/config-Cw6TDzWv2.js +72 -0
  73. package/dist/chunks/config-Cw6TDzWv2.js.map +1 -0
  74. package/dist/chunks/config-Cwd3yjRw.js +41 -0
  75. package/dist/chunks/config-Cwd3yjRw.js.map +1 -0
  76. package/dist/chunks/config-D3_g2KIn.js +120 -0
  77. package/dist/chunks/config-D3_g2KIn.js.map +1 -0
  78. package/dist/chunks/config-D6W1rnlp.js +26 -0
  79. package/dist/chunks/config-D6W1rnlp.js.map +1 -0
  80. package/dist/chunks/config-D8tSR2uS.js +103 -0
  81. package/dist/chunks/config-D8tSR2uS.js.map +1 -0
  82. package/dist/chunks/config-D94Z9po52.js +126 -0
  83. package/dist/chunks/config-D94Z9po52.js.map +1 -0
  84. package/dist/chunks/config-DBmdgoVf.js.map +1 -1
  85. package/dist/chunks/config-DCFvmHEv.js +76 -0
  86. package/dist/chunks/config-DCFvmHEv.js.map +1 -0
  87. package/dist/chunks/config-DKdlqXiY.js +109 -0
  88. package/dist/chunks/config-DKdlqXiY.js.map +1 -0
  89. package/dist/chunks/config-DP7eseR1.js +92 -0
  90. package/dist/chunks/config-DP7eseR1.js.map +1 -0
  91. package/dist/chunks/config-DSJY6aEl.js +80 -0
  92. package/dist/chunks/config-DSJY6aEl.js.map +1 -0
  93. package/dist/chunks/config-DU2DNSRx2.js +116 -0
  94. package/dist/chunks/config-DU2DNSRx2.js.map +1 -0
  95. package/dist/chunks/config-DhHbU3zO.js +37 -0
  96. package/dist/chunks/config-DhHbU3zO.js.map +1 -0
  97. package/dist/chunks/config-DpeQchsV.js +21 -0
  98. package/dist/chunks/config-DpeQchsV.js.map +1 -0
  99. package/dist/chunks/config-DpqOnJiz2.js.map +1 -0
  100. package/dist/chunks/config-DvQIb4kb.js +98 -0
  101. package/dist/chunks/config-DvQIb4kb.js.map +1 -0
  102. package/dist/chunks/config-DxCTVBfx.js +97 -0
  103. package/dist/chunks/config-DxCTVBfx.js.map +1 -0
  104. package/dist/chunks/config-K0C2tcLB.js +84 -0
  105. package/dist/chunks/config-K0C2tcLB.js.map +1 -0
  106. package/dist/chunks/config-QaIc_gRa.js.map +1 -0
  107. package/dist/chunks/config-Rw9OyW70.js +87 -0
  108. package/dist/chunks/config-Rw9OyW70.js.map +1 -0
  109. package/dist/chunks/config-T3qdQBgU.js +40 -0
  110. package/dist/chunks/config-T3qdQBgU.js.map +1 -0
  111. package/dist/chunks/config-WTNhdh6T2.js +20 -0
  112. package/dist/chunks/config-WTNhdh6T2.js.map +1 -0
  113. package/dist/chunks/config-Zc_bUvZY2.js +23 -0
  114. package/dist/chunks/config-Zc_bUvZY2.js.map +1 -0
  115. package/dist/chunks/config-_qPUfb6-2.js +165 -0
  116. package/dist/chunks/config-_qPUfb6-2.js.map +1 -0
  117. package/dist/chunks/config-eXB87DOi2.js.map +1 -0
  118. package/dist/chunks/config-esdviAPL.js +41 -0
  119. package/dist/chunks/config-esdviAPL.js.map +1 -0
  120. package/dist/chunks/config-gwro_7yn.js +55 -0
  121. package/dist/chunks/config-gwro_7yn.js.map +1 -0
  122. package/dist/chunks/config-qVg3Zz_A.js +30 -0
  123. package/dist/chunks/config-qVg3Zz_A.js.map +1 -0
  124. package/dist/chunks/config-zjeAJ4ho.js +64 -0
  125. package/dist/chunks/config-zjeAJ4ho.js.map +1 -0
  126. package/dist/chunks/context-BSYR7RZs.js +152 -0
  127. package/dist/chunks/context-BSYR7RZs.js.map +1 -0
  128. package/dist/chunks/context-BfIQv7m1.js +18 -0
  129. package/dist/chunks/context-BfIQv7m1.js.map +1 -0
  130. package/dist/chunks/context-Bfrgsluh.js.map +1 -1
  131. package/dist/chunks/context-DdNIxa1w.js.map +1 -1
  132. package/dist/chunks/dialogShared-CxW62PQE.js.map +1 -1
  133. package/dist/chunks/en-B3xMeswz.js +327 -0
  134. package/dist/chunks/en-B3xMeswz.js.map +1 -0
  135. package/dist/chunks/es-Bv8vvqdT.js +20 -0
  136. package/dist/chunks/es-Bv8vvqdT.js.map +1 -0
  137. package/dist/chunks/es-CA-mkU--.js +329 -0
  138. package/dist/chunks/es-CA-mkU--.js.map +1 -0
  139. package/dist/chunks/fileValidation-D5TFBhbv.js +296 -0
  140. package/dist/chunks/fileValidation-D5TFBhbv.js.map +1 -0
  141. package/dist/chunks/focusables-BkzK42SQ.js +87 -0
  142. package/dist/chunks/focusables-BkzK42SQ.js.map +1 -0
  143. package/dist/chunks/grBadgeStyles-C2wLlkjF.js +61 -0
  144. package/dist/chunks/grBadgeStyles-C2wLlkjF.js.map +1 -0
  145. package/dist/chunks/grButtonStyles-B_-YRE__.js +221 -0
  146. package/dist/chunks/grButtonStyles-B_-YRE__.js.map +1 -0
  147. package/dist/chunks/grCheckboxStyles-hOAgURZG.js +82 -0
  148. package/dist/chunks/grCheckboxStyles-hOAgURZG.js.map +1 -0
  149. package/dist/chunks/grDropdownStyles-V7TRiCXn.js +24 -0
  150. package/dist/chunks/grDropdownStyles-V7TRiCXn.js.map +1 -0
  151. package/dist/chunks/grFormFieldStyles-BkeZHIw0.js +32 -0
  152. package/dist/chunks/grFormFieldStyles-BkeZHIw0.js.map +1 -0
  153. package/dist/chunks/grIconStyles-BwJrml2L.js +44 -0
  154. package/dist/chunks/grIconStyles-BwJrml2L.js.map +1 -0
  155. package/dist/chunks/grInputStyles-CJeMhUe5.js +66 -0
  156. package/dist/chunks/grInputStyles-CJeMhUe5.js.map +1 -0
  157. package/dist/chunks/grKbdStyles-DAoxiytu.js +31 -0
  158. package/dist/chunks/grKbdStyles-DAoxiytu.js.map +1 -0
  159. package/dist/chunks/grLinkStyles-BoL8QYcV.js +84 -0
  160. package/dist/chunks/grLinkStyles-BoL8QYcV.js.map +1 -0
  161. package/dist/chunks/grLoadingStyles-DEmji2wv.js +30 -0
  162. package/dist/chunks/grLoadingStyles-DEmji2wv.js.map +1 -0
  163. package/dist/chunks/grModalStyles-EZfuEiw_.js +77 -0
  164. package/dist/chunks/grModalStyles-EZfuEiw_.js.map +1 -0
  165. package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js +46 -0
  166. package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js.map +1 -0
  167. package/dist/chunks/grSelectStyles-eTz4uPMP.js +147 -0
  168. package/dist/chunks/grSelectStyles-eTz4uPMP.js.map +1 -0
  169. package/dist/chunks/grSliderStyles-B5uNxNJq.js +133 -0
  170. package/dist/chunks/grSliderStyles-B5uNxNJq.js.map +1 -0
  171. package/dist/chunks/grStyle-CrgLQKKf.js +46 -0
  172. package/dist/chunks/grStyle-CrgLQKKf.js.map +1 -0
  173. package/dist/chunks/grTableStyles-C-iaqQUN.js +26 -0
  174. package/dist/chunks/grTableStyles-C-iaqQUN.js.map +1 -0
  175. package/dist/chunks/grTextareaStyles-CWI2SqC8.js +50 -0
  176. package/dist/chunks/grTextareaStyles-CWI2SqC8.js.map +1 -0
  177. package/dist/chunks/granular-provider-CtrXGa7c.js +193 -0
  178. package/dist/chunks/granular-provider-CtrXGa7c.js.map +1 -0
  179. package/dist/chunks/granularityI18n-BC5zsj_d.js +68 -0
  180. package/dist/chunks/granularityI18n-BC5zsj_d.js.map +1 -0
  181. package/dist/chunks/inert-DIHCCn_1.js +78 -0
  182. package/dist/chunks/inert-DIHCCn_1.js.map +1 -0
  183. package/dist/chunks/keyboard-zYvvyHd4.js +61 -0
  184. package/dist/chunks/keyboard-zYvvyHd4.js.map +1 -0
  185. package/dist/chunks/loader-2-B1fdsdWW.js +23 -0
  186. package/dist/chunks/loader-2-B1fdsdWW.js.map +1 -0
  187. package/dist/chunks/minus-oxdbHF33.js +23 -0
  188. package/dist/chunks/minus-oxdbHF33.js.map +1 -0
  189. package/dist/chunks/optionFilter-BVY988pC.js +149 -0
  190. package/dist/chunks/optionFilter-BVY988pC.js.map +1 -0
  191. package/dist/chunks/portalRoot-CWD4zHBm.js +35 -0
  192. package/dist/chunks/portalRoot-CWD4zHBm.js.map +1 -0
  193. package/dist/chunks/ru-COWxgh2A.js +331 -0
  194. package/dist/chunks/ru-COWxgh2A.js.map +1 -0
  195. package/dist/chunks/safelist-CudBLyAD.js +26 -0
  196. package/dist/chunks/safelist-CudBLyAD.js.map +1 -0
  197. package/dist/chunks/slotNodes-DxNXpC7v.js +39 -0
  198. package/dist/chunks/slotNodes-DxNXpC7v.js.map +1 -0
  199. package/dist/chunks/useControlAddons-asUr10Pf.js +128 -0
  200. package/dist/chunks/useControlAddons-asUr10Pf.js.map +1 -0
  201. package/dist/chunks/useControlledOpen-DV3SqLTP.js +27 -0
  202. package/dist/chunks/useControlledOpen-DV3SqLTP.js.map +1 -0
  203. package/dist/chunks/useFilePreviews-DnwgdyBs.js +53 -0
  204. package/dist/chunks/useFilePreviews-DnwgdyBs.js.map +1 -0
  205. package/dist/chunks/useFocusWithin-BwHE0rzm.js +33 -0
  206. package/dist/chunks/useFocusWithin-BwHE0rzm.js.map +1 -0
  207. package/dist/chunks/useModalOverlay-DCM4d3yA.js +212 -0
  208. package/dist/chunks/useModalOverlay-DCM4d3yA.js.map +1 -0
  209. package/dist/chunks/useOverlayLayer-BupuP_hs.js +149 -0
  210. package/dist/chunks/useOverlayLayer-BupuP_hs.js.map +1 -0
  211. package/dist/chunks/usePortalTarget-RyzEgNTb.js +77 -0
  212. package/dist/chunks/usePortalTarget-RyzEgNTb.js.map +1 -0
  213. package/dist/chunks/validation-5HhpanPP.js +178 -0
  214. package/dist/chunks/validation-5HhpanPP.js.map +1 -0
  215. package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js +272 -0
  216. package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js.map +1 -0
  217. package/dist/components/GrAlert/index.js +2 -2
  218. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CQ9T7Lly.js +851 -0
  219. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CQ9T7Lly.js.map +1 -0
  220. package/dist/components/GrAutocomplete/index.js +2 -2
  221. package/dist/components/GrAutocomplete/styles.css +1 -0
  222. package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js +222 -0
  223. package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js.map +1 -0
  224. package/dist/components/GrAvatar/index.js +3 -3
  225. package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js +40 -0
  226. package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js.map +1 -0
  227. package/dist/components/GrBadge/index.js +2 -2
  228. package/dist/components/GrBadge/styles.css +1 -0
  229. package/dist/components/GrBadge/themes/dark.css +19 -0
  230. package/dist/components/GrBadge/themes/light.css +18 -0
  231. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js +97 -0
  232. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js.map +1 -0
  233. package/dist/components/GrBadgeWrap/index.js +3 -3
  234. package/dist/components/GrBadgeWrap/styles.css +1 -0
  235. package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js +117 -0
  236. package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js.map +1 -0
  237. package/dist/components/GrBottomNav/index.js +3 -3
  238. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-BCNGDS6k.js +266 -0
  239. package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-BCNGDS6k.js.map +1 -0
  240. package/dist/components/GrBreadcrumbs/index.js +3 -0
  241. package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js +153 -0
  242. package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js.map +1 -0
  243. package/dist/components/GrButton/index.js +5 -5
  244. package/dist/components/GrButton/themes/dark.css +46 -0
  245. package/dist/components/GrButton/themes/light.css +82 -0
  246. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js +44 -0
  247. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js.map +1 -0
  248. package/dist/components/GrButtonGroup/index.js +3 -2
  249. package/dist/components/GrButtonGroup/styles.css +1 -0
  250. package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js +89 -0
  251. package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js.map +1 -0
  252. package/dist/components/GrCard/index.js +3 -3
  253. package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js +262 -0
  254. package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js.map +1 -0
  255. package/dist/components/GrCheckbox/index.js +3 -3
  256. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js +140 -0
  257. package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js.map +1 -0
  258. package/dist/components/GrCheckboxGroup/index.js +3 -0
  259. package/dist/components/GrCollapse/chunks/GrCollapse-B2Fc6A9r.js +308 -0
  260. package/dist/components/GrCollapse/chunks/GrCollapse-B2Fc6A9r.js.map +1 -0
  261. package/dist/components/GrCollapse/index.js +3 -3
  262. package/dist/components/GrColorPicker/chunks/GrColorPicker-bnYBRGk8.js +584 -0
  263. package/dist/components/GrColorPicker/chunks/GrColorPicker-bnYBRGk8.js.map +1 -0
  264. package/dist/components/GrColorPicker/index.js +3 -0
  265. package/dist/components/GrColorPicker/styles.css +1 -0
  266. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-MWDYDPNC.js +566 -0
  267. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-MWDYDPNC.js.map +1 -0
  268. package/dist/components/GrCommandPalette/index.js +2 -2
  269. package/dist/components/GrCommandPalette/styles.css +1 -0
  270. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js +144 -0
  271. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js.map +1 -0
  272. package/dist/components/GrConfigProvider/index.js +2 -2
  273. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DaQmlp1_.js +200 -0
  274. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DaQmlp1_.js.map +1 -0
  275. package/dist/components/GrConfirmDialog/index.js +2 -2
  276. package/dist/components/GrDataTable/chunks/GrDataTable-DVFho9Cj.js +605 -0
  277. package/dist/components/GrDataTable/chunks/GrDataTable-DVFho9Cj.js.map +1 -0
  278. package/dist/components/GrDataTable/index.js +3 -3
  279. package/dist/components/GrDialog/chunks/GrDialog-AE1gIZuz.js +255 -0
  280. package/dist/components/GrDialog/chunks/GrDialog-AE1gIZuz.js.map +1 -0
  281. package/dist/components/GrDialog/index.js +1 -1
  282. package/dist/components/GrDialogService/chunks/GrDialogService-B4DYWDkA.js +656 -0
  283. package/dist/components/GrDialogService/chunks/GrDialogService-B4DYWDkA.js.map +1 -0
  284. package/dist/components/GrDialogService/index.js +3 -3
  285. package/dist/components/GrDivider/chunks/GrDivider-B2Xwc_QO.js +109 -0
  286. package/dist/components/GrDivider/chunks/GrDivider-B2Xwc_QO.js.map +1 -0
  287. package/dist/components/GrDivider/index.js +3 -3
  288. package/dist/components/GrDrawer/chunks/GrDrawer-DQwi6aRw.js +251 -0
  289. package/dist/components/GrDrawer/chunks/GrDrawer-DQwi6aRw.js.map +1 -0
  290. package/dist/components/GrDrawer/index.js +2 -2
  291. package/dist/components/GrDropdown/chunks/GrDropdown-BLng6V1m.js +300 -0
  292. package/dist/components/GrDropdown/chunks/GrDropdown-BLng6V1m.js.map +1 -0
  293. package/dist/components/GrDropdown/index.js +2 -2
  294. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-BImk2Vs7.js +421 -0
  295. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-BImk2Vs7.js.map +1 -0
  296. package/dist/components/GrDropdownMenu/index.js +3 -3
  297. package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js +86 -0
  298. package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js.map +1 -0
  299. package/dist/components/GrEmptyState/index.js +3 -3
  300. package/dist/components/GrFileUpload/chunks/GrFileUpload-D0B-BEsd.js +1080 -0
  301. package/dist/components/GrFileUpload/chunks/GrFileUpload-D0B-BEsd.js.map +1 -0
  302. package/dist/components/GrFileUpload/index.js +4 -4
  303. package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js +326 -0
  304. package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js.map +1 -0
  305. package/dist/components/GrForm/index.js +3 -2
  306. package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js +190 -0
  307. package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js.map +1 -0
  308. package/dist/components/GrFormField/index.js +3 -3
  309. package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js +452 -0
  310. package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js.map +1 -0
  311. package/dist/components/GrFormFile/index.js +3 -3
  312. package/dist/components/GrFormFile/styles.css +1 -0
  313. package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js +63 -0
  314. package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js.map +1 -0
  315. package/dist/components/GrFormSection/index.js +3 -3
  316. package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js +57 -0
  317. package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js.map +1 -0
  318. package/dist/components/GrIcon/index.js +3 -3
  319. package/dist/components/GrIcon/styles.css +1 -0
  320. package/dist/components/GrImageViewer/chunks/GrImageViewer-BeCnE8XQ.js +1103 -0
  321. package/dist/components/GrImageViewer/chunks/GrImageViewer-BeCnE8XQ.js.map +1 -0
  322. package/dist/components/GrImageViewer/index.js +3 -3
  323. package/dist/components/GrImageViewer/themes/dark.css +17 -0
  324. package/dist/components/GrImageViewer/themes/light.css +16 -0
  325. package/dist/components/GrInput/chunks/GrInput-DD2gYdqS.js +348 -0
  326. package/dist/components/GrInput/chunks/GrInput-DD2gYdqS.js.map +1 -0
  327. package/dist/components/GrInput/index.js +2 -2
  328. package/dist/components/GrInputTag/chunks/GrInputTag-DmNunixz.js +525 -0
  329. package/dist/components/GrInputTag/chunks/GrInputTag-DmNunixz.js.map +1 -0
  330. package/dist/components/GrInputTag/index.js +2 -2
  331. package/dist/components/GrKbd/chunks/GrKbd-DRFPvW3G.js +192 -0
  332. package/dist/components/GrKbd/chunks/GrKbd-DRFPvW3G.js.map +1 -0
  333. package/dist/components/GrKbd/index.js +3 -3
  334. package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js +163 -0
  335. package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js.map +1 -0
  336. package/dist/components/GrLink/index.js +2 -2
  337. package/dist/components/GrList/chunks/GrList-4YU1NZtM.js +277 -0
  338. package/dist/components/GrList/chunks/GrList-4YU1NZtM.js.map +1 -0
  339. package/dist/components/GrList/index.js +3 -3
  340. package/dist/components/GrList/styles.css +1 -0
  341. package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js +101 -0
  342. package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js.map +1 -0
  343. package/dist/components/GrLoading/index.js +2 -2
  344. package/dist/components/GrModal/chunks/GrModal-B8I78T0N.js +313 -0
  345. package/dist/components/GrModal/chunks/GrModal-B8I78T0N.js.map +1 -0
  346. package/dist/components/GrModal/index.js +3 -4
  347. package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js +104 -0
  348. package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js.map +1 -0
  349. package/dist/components/GrNavbar/index.js +3 -3
  350. package/dist/components/GrNumberInput/chunks/GrNumberInput-CZOyPz4J.js +658 -0
  351. package/dist/components/GrNumberInput/chunks/GrNumberInput-CZOyPz4J.js.map +1 -0
  352. package/dist/components/GrNumberInput/index.js +2 -2
  353. package/dist/components/GrPagination/chunks/GrPagination-B6N0QZBf.js +283 -0
  354. package/dist/components/GrPagination/chunks/GrPagination-B6N0QZBf.js.map +1 -0
  355. package/dist/components/GrPagination/index.js +3 -3
  356. package/dist/components/GrPopover/chunks/GrPopover-B1eRCOoO.js +216 -0
  357. package/dist/components/GrPopover/chunks/GrPopover-B1eRCOoO.js.map +1 -0
  358. package/dist/components/GrPopover/index.js +3 -0
  359. package/dist/components/GrProgressBar/chunks/GrProgressBar-BiHnaitu.js +90 -0
  360. package/dist/components/GrProgressBar/chunks/GrProgressBar-BiHnaitu.js.map +1 -0
  361. package/dist/components/GrProgressBar/index.js +2 -2
  362. package/dist/components/GrProgressBar/styles.css +1 -0
  363. package/dist/components/GrProgressBar/themes/dark.css +13 -0
  364. package/dist/components/GrProgressBar/themes/light.css +12 -0
  365. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-CTogjcHz.js +210 -0
  366. package/dist/components/GrProgressCircle/chunks/GrProgressCircle-CTogjcHz.js.map +1 -0
  367. package/dist/components/GrProgressCircle/index.js +3 -0
  368. package/dist/components/GrProgressCircle/styles.css +1 -0
  369. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Ct174NVD.js +348 -0
  370. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Ct174NVD.js.map +1 -0
  371. package/dist/components/GrPromptDialog/index.js +2 -2
  372. package/dist/components/GrRadio/chunks/GrRadio-DksDro_U.js +277 -0
  373. package/dist/components/GrRadio/chunks/GrRadio-DksDro_U.js.map +1 -0
  374. package/dist/components/GrRadio/index.js +2 -2
  375. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BOIhejE6.js +189 -0
  376. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BOIhejE6.js.map +1 -0
  377. package/dist/components/GrRadioGroup/index.js +2 -2
  378. package/dist/components/GrRating/chunks/GrRating-JrHXz0Rv.js +315 -0
  379. package/dist/components/GrRating/chunks/GrRating-JrHXz0Rv.js.map +1 -0
  380. package/dist/components/GrRating/index.js +2 -2
  381. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js +777 -0
  382. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js.map +1 -0
  383. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js +224 -0
  384. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js.map +1 -0
  385. package/dist/components/GrResponseErrorBanner/index.js +2 -2
  386. package/dist/components/GrSegmented/chunks/GrSegmented-BQIlH5KI.js +406 -0
  387. package/dist/components/GrSegmented/chunks/GrSegmented-BQIlH5KI.js.map +1 -0
  388. package/dist/components/GrSegmented/index.js +3 -3
  389. package/dist/components/GrSelect/chunks/GrSelect-aqkPCqjd.js +1372 -0
  390. package/dist/components/GrSelect/chunks/GrSelect-aqkPCqjd.js.map +1 -0
  391. package/dist/components/GrSelect/index.js +2 -2
  392. package/dist/components/GrSelect/styles.css +1 -0
  393. package/dist/components/GrSidebar/chunks/GrSidebar-DRGnnViw.js +257 -0
  394. package/dist/components/GrSidebar/chunks/GrSidebar-DRGnnViw.js.map +1 -0
  395. package/dist/components/GrSidebar/index.js +3 -3
  396. package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js +84 -0
  397. package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js.map +1 -0
  398. package/dist/components/GrSkeleton/index.js +2 -2
  399. package/dist/components/GrSlider/chunks/GrSlider-DkU9IQSX.js +392 -0
  400. package/dist/components/GrSlider/chunks/GrSlider-DkU9IQSX.js.map +1 -0
  401. package/dist/components/GrSlider/index.js +2 -2
  402. package/dist/components/GrSplitter/chunks/GrSplitter-7To8jbJ8.js +288 -0
  403. package/dist/components/GrSplitter/chunks/GrSplitter-7To8jbJ8.js.map +1 -0
  404. package/dist/components/GrSplitter/index.js +3 -0
  405. package/dist/components/GrSplitter/styles.css +1 -0
  406. package/dist/components/GrStatistic/chunks/GrStatistic-CttyoYPT.js +319 -0
  407. package/dist/components/GrStatistic/chunks/GrStatistic-CttyoYPT.js.map +1 -0
  408. package/dist/components/GrStatistic/index.js +2 -2
  409. package/dist/components/GrSwitch/chunks/GrSwitch-B9TYbiih.js +183 -0
  410. package/dist/components/GrSwitch/chunks/GrSwitch-B9TYbiih.js.map +1 -0
  411. package/dist/components/GrSwitch/index.js +2 -2
  412. package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js +81 -0
  413. package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js.map +1 -0
  414. package/dist/components/GrTabPanels/index.js +2 -2
  415. package/dist/components/GrTable/chunks/GrTable-BB-mI_NM.js +163 -0
  416. package/dist/components/GrTable/chunks/GrTable-BB-mI_NM.js.map +1 -0
  417. package/dist/components/GrTable/index.js +3 -3
  418. package/dist/components/GrTabs/chunks/GrTabs-B8CDq2D9.js +272 -0
  419. package/dist/components/GrTabs/chunks/GrTabs-B8CDq2D9.js.map +1 -0
  420. package/dist/components/GrTabs/index.js +3 -3
  421. package/dist/components/GrTextarea/chunks/GrTextarea-DUh5Tlo4.js +241 -0
  422. package/dist/components/GrTextarea/chunks/GrTextarea-DUh5Tlo4.js.map +1 -0
  423. package/dist/components/GrTextarea/index.js +2 -2
  424. package/dist/components/GrTimeline/chunks/GrTimeline-CE9b3s18.js +285 -0
  425. package/dist/components/GrTimeline/chunks/GrTimeline-CE9b3s18.js.map +1 -0
  426. package/dist/components/GrTimeline/index.js +3 -0
  427. package/dist/components/GrTimeline/styles.css +1 -0
  428. package/dist/components/GrToaster/chunks/GrToaster-BKQy3Srm.js +272 -0
  429. package/dist/components/GrToaster/chunks/GrToaster-BKQy3Srm.js.map +1 -0
  430. package/dist/components/GrToaster/index.js +1 -1
  431. package/dist/components/GrToaster/styles.css +1 -0
  432. package/dist/components/GrTooltip/chunks/GrTooltip-DEbejfhA.js +185 -0
  433. package/dist/components/GrTooltip/chunks/GrTooltip-DEbejfhA.js.map +1 -0
  434. package/dist/components/GrTooltip/index.js +3 -3
  435. package/dist/components/GrTree/chunks/GrTree-wfdbvygw.js +1339 -0
  436. package/dist/components/GrTree/chunks/GrTree-wfdbvygw.js.map +1 -0
  437. package/dist/components/GrTree/index.js +2 -2
  438. package/dist/components/GrTree/styles.css +1 -0
  439. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-lLWmAMtI.js +623 -0
  440. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-lLWmAMtI.js.map +1 -0
  441. package/dist/components/GrTreeSelect/index.js +2 -2
  442. package/dist/composables/useAnnouncer.js +114 -0
  443. package/dist/composables/useAnnouncer.js.map +1 -0
  444. package/dist/composables/useDismissible.js +31 -0
  445. package/dist/composables/useDismissible.js.map +1 -0
  446. package/dist/composables/useFloating.js +112 -0
  447. package/dist/composables/useFloating.js.map +1 -0
  448. package/dist/composables/useFocusTrap.js +124 -0
  449. package/dist/composables/useFocusTrap.js.map +1 -0
  450. package/dist/composables/useGrFormControl.js +24 -0
  451. package/dist/composables/useGrFormControl.js.map +1 -0
  452. package/dist/composables/useOverlayLayer.js +2 -0
  453. package/dist/composables/usePortalTarget.js +2 -0
  454. package/dist/composables/useTheme.js +106 -36
  455. package/dist/composables/useTheme.js.map +1 -1
  456. package/dist/composables/useToast.js +123 -7
  457. package/dist/composables/useToast.js.map +1 -1
  458. package/dist/composables/useVirtualList.js +244 -0
  459. package/dist/composables/useVirtualList.js.map +1 -0
  460. package/dist/directives/dropzone.js +1 -1
  461. package/dist/directives/hotkey.js +9 -15
  462. package/dist/directives/hotkey.js.map +1 -1
  463. package/dist/directives/loading.js +43 -7
  464. package/dist/directives/loading.js.map +1 -1
  465. package/dist/fileValidation/index.js +2 -2
  466. package/dist/granular-provider-node.js +1 -31
  467. package/dist/granular-provider.js +1 -4
  468. package/dist/i18n/all.js +1 -1
  469. package/dist/i18n/index.js +1 -1
  470. package/dist/index.js +148 -140
  471. package/dist/styles/base.css +32 -0
  472. package/dist/styles/preflight.css +33 -0
  473. package/dist/styles/themes/dark.css +81 -26
  474. package/dist/styles/themes/light.css +86 -15
  475. package/dist/styles/tokens.css +63 -4
  476. package/dist/tokens.js +3132 -0
  477. package/dist/tokens.js.map +1 -0
  478. package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +42 -10
  479. package/dist/types/src/components/GrAlert/config.d.ts +1 -1
  480. package/dist/types/src/components/GrAlert/defaults.d.ts +9 -3
  481. package/dist/types/src/components/GrAlert/grAlertStyles.d.ts +0 -7
  482. package/dist/types/src/components/GrAlert/index.d.ts +3 -2
  483. package/dist/types/src/components/GrAutocomplete/GrAutocomplete.vue.d.ts +112 -99
  484. package/dist/types/src/components/GrAutocomplete/config.d.ts +1 -1
  485. package/dist/types/src/components/GrAutocomplete/grAutocompleteStyles.d.ts +43 -7
  486. package/dist/types/src/components/GrAutocomplete/index.d.ts +4 -0
  487. package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +40 -17
  488. package/dist/types/src/components/GrAvatar/GrAvatarGroup.vue.d.ts +70 -0
  489. package/dist/types/src/components/GrAvatar/avatarContext.d.ts +12 -0
  490. package/dist/types/src/components/GrAvatar/config.d.ts +1 -1
  491. package/dist/types/src/components/GrAvatar/defaults.d.ts +16 -0
  492. package/dist/types/src/components/GrAvatar/grAvatarStyles.d.ts +38 -0
  493. package/dist/types/src/components/GrAvatar/index.d.ts +5 -0
  494. package/dist/types/src/components/GrAvatar/safelist.d.ts +4 -0
  495. package/dist/types/src/components/GrBadge/GrBadge.vue.d.ts +4 -4
  496. package/dist/types/src/components/GrBadge/config.d.ts +1 -1
  497. package/dist/types/src/components/GrBadge/grBadgeStyles.d.ts +13 -1
  498. package/dist/types/src/components/GrBadge/index.d.ts +1 -0
  499. package/dist/types/src/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +42 -5
  500. package/dist/types/src/components/GrBadgeWrap/config.d.ts +1 -1
  501. package/dist/types/src/components/GrBadgeWrap/grBadgeWrapStyles.d.ts +46 -0
  502. package/dist/types/src/components/GrBadgeWrap/index.d.ts +4 -0
  503. package/dist/types/src/components/GrBadgeWrap/safelist.d.ts +1 -0
  504. package/dist/types/src/components/GrBottomNav/GrBottomNav.vue.d.ts +91 -4
  505. package/dist/types/src/components/GrBottomNav/config.d.ts +1 -1
  506. package/dist/types/src/components/GrBottomNav/defaults.d.ts +16 -0
  507. package/dist/types/src/components/GrBottomNav/grBottomNavStyles.d.ts +56 -0
  508. package/dist/types/src/components/GrBottomNav/index.d.ts +6 -1
  509. package/dist/types/src/components/GrBottomNav/safelist.d.ts +1 -0
  510. package/dist/types/src/components/GrBreadcrumbs/GrBreadcrumbs.vue.d.ts +117 -0
  511. package/dist/types/src/components/GrBreadcrumbs/config.d.ts +1 -0
  512. package/dist/types/src/components/GrBreadcrumbs/defaults.d.ts +15 -0
  513. package/dist/types/src/components/GrBreadcrumbs/grBreadcrumbsStyles.d.ts +86 -0
  514. package/dist/types/src/components/GrBreadcrumbs/index.d.ts +8 -0
  515. package/dist/types/src/components/GrBreadcrumbs/safelist.d.ts +1 -0
  516. package/dist/types/src/components/GrButton/GrButton.vue.d.ts +31 -7
  517. package/dist/types/src/components/GrButton/config.d.ts +1 -1
  518. package/dist/types/src/components/GrButton/grButtonStyles.d.ts +27 -3
  519. package/dist/types/src/components/GrButton/index.d.ts +5 -1
  520. package/dist/types/src/components/GrButton/safelist.d.ts +1 -0
  521. package/dist/types/src/components/GrButtonGroup/GrButtonGroup.vue.d.ts +32 -4
  522. package/dist/types/src/components/GrButtonGroup/config.d.ts +1 -1
  523. package/dist/types/src/components/GrButtonGroup/context.d.ts +20 -0
  524. package/dist/types/src/components/GrButtonGroup/index.d.ts +3 -0
  525. package/dist/types/src/components/GrCard/GrCard.vue.d.ts +80 -3
  526. package/dist/types/src/components/GrCard/config.d.ts +1 -1
  527. package/dist/types/src/components/GrCard/defaults.d.ts +15 -0
  528. package/dist/types/src/components/GrCard/grCardStyles.d.ts +24 -0
  529. package/dist/types/src/components/GrCard/index.d.ts +5 -0
  530. package/dist/types/src/components/GrCard/safelist.d.ts +1 -0
  531. package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +56 -10
  532. package/dist/types/src/components/GrCheckbox/config.d.ts +1 -1
  533. package/dist/types/src/components/GrCheckbox/defaults.d.ts +14 -0
  534. package/dist/types/src/components/GrCheckbox/grCheckboxGroupContext.d.ts +19 -0
  535. package/dist/types/src/components/GrCheckbox/grCheckboxStyles.d.ts +44 -0
  536. package/dist/types/src/components/GrCheckbox/index.d.ts +9 -0
  537. package/dist/types/src/components/GrCheckbox/safelist.d.ts +13 -0
  538. package/dist/types/src/components/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +105 -0
  539. package/dist/types/src/components/GrCheckboxGroup/config.d.ts +1 -0
  540. package/dist/types/src/components/GrCheckboxGroup/defaults.d.ts +14 -0
  541. package/dist/types/src/components/GrCheckboxGroup/index.d.ts +9 -0
  542. package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +55 -7
  543. package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +13 -3
  544. package/dist/types/src/components/GrCollapse/config.d.ts +1 -1
  545. package/dist/types/src/components/GrCollapse/defaults.d.ts +19 -0
  546. package/dist/types/src/components/GrCollapse/grCollapseContext.d.ts +20 -0
  547. package/dist/types/src/components/GrCollapse/grCollapseStyles.d.ts +42 -0
  548. package/dist/types/src/components/GrCollapse/index.d.ts +3 -0
  549. package/dist/types/src/components/GrCollapse/safelist.d.ts +15 -0
  550. package/dist/types/src/components/GrColorPicker/GrColorPicker.vue.d.ts +104 -0
  551. package/dist/types/src/components/GrColorPicker/color.d.ts +38 -0
  552. package/dist/types/src/components/GrColorPicker/config.d.ts +1 -0
  553. package/dist/types/src/components/GrColorPicker/defaults.d.ts +15 -0
  554. package/dist/types/src/components/GrColorPicker/grColorPickerStyles.d.ts +39 -0
  555. package/dist/types/src/components/GrColorPicker/index.d.ts +11 -0
  556. package/dist/types/src/components/GrColorPicker/safelist.d.ts +1 -0
  557. package/dist/types/src/components/GrCommandPalette/GrCommandPalette.vue.d.ts +45 -10
  558. package/dist/types/src/components/GrCommandPalette/config.d.ts +1 -1
  559. package/dist/types/src/components/GrCommandPalette/defaults.d.ts +14 -0
  560. package/dist/types/src/components/GrCommandPalette/filtering.d.ts +24 -0
  561. package/dist/types/src/components/GrCommandPalette/grCommandPaletteStyles.d.ts +33 -8
  562. package/dist/types/src/components/GrCommandPalette/index.d.ts +4 -0
  563. package/dist/types/src/components/GrConfigProvider/GrConfigProvider.vue.d.ts +38 -4
  564. package/dist/types/src/components/GrConfigProvider/config.d.ts +1 -1
  565. package/dist/types/src/components/GrConfigProvider/context.d.ts +27 -0
  566. package/dist/types/src/components/GrConfigProvider/index.d.ts +1 -0
  567. package/dist/types/src/components/GrConfigProvider/zIndexScale.d.ts +23 -0
  568. package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +33 -4
  569. package/dist/types/src/components/GrConfirmDialog/config.d.ts +1 -1
  570. package/dist/types/src/components/GrConfirmDialog/defaults.d.ts +14 -0
  571. package/dist/types/src/components/GrConfirmDialog/index.d.ts +2 -1
  572. package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +92 -27
  573. package/dist/types/src/components/GrDataTable/config.d.ts +1 -1
  574. package/dist/types/src/components/GrDataTable/defaults.d.ts +10 -0
  575. package/dist/types/src/components/GrDataTable/grDataTableSort.d.ts +25 -0
  576. package/dist/types/src/components/GrDataTable/grDataTableStyles.d.ts +29 -0
  577. package/dist/types/src/components/GrDataTable/index.d.ts +10 -1
  578. package/dist/types/src/components/GrDataTable/safelist.d.ts +1 -0
  579. package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +51 -4
  580. package/dist/types/src/components/GrDialog/GrDialogCloseButton.vue.d.ts +3 -0
  581. package/dist/types/src/components/GrDialog/GrDialogHeader.vue.d.ts +3 -0
  582. package/dist/types/src/components/GrDialog/config.d.ts +1 -1
  583. package/dist/types/src/components/GrDialog/defaults.d.ts +14 -0
  584. package/dist/types/src/components/GrDialog/dialogShared.d.ts +2 -1
  585. package/dist/types/src/components/GrDialog/index.d.ts +5 -0
  586. package/dist/types/src/components/GrDialogService/GrDialogServiceHost.vue.d.ts +18 -1
  587. package/dist/types/src/components/GrDialogService/GrDialogServiceItem.vue.d.ts +15 -0
  588. package/dist/types/src/components/GrDialogService/config.d.ts +1 -1
  589. package/dist/types/src/components/GrDialogService/index.d.ts +3 -1
  590. package/dist/types/src/components/GrDialogService/store.d.ts +78 -7
  591. package/dist/types/src/components/GrDialogService/types.d.ts +22 -1
  592. package/dist/types/src/components/GrDialogService/useDialogService.d.ts +31 -1
  593. package/dist/types/src/components/GrDivider/GrDivider.vue.d.ts +44 -9
  594. package/dist/types/src/components/GrDivider/config.d.ts +1 -1
  595. package/dist/types/src/components/GrDivider/defaults.d.ts +15 -0
  596. package/dist/types/src/components/GrDivider/grDividerStyles.d.ts +19 -0
  597. package/dist/types/src/components/GrDivider/index.d.ts +4 -1
  598. package/dist/types/src/components/GrDivider/safelist.d.ts +1 -0
  599. package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +93 -17
  600. package/dist/types/src/components/GrDrawer/config.d.ts +1 -1
  601. package/dist/types/src/components/GrDrawer/defaults.d.ts +19 -0
  602. package/dist/types/src/components/GrDrawer/grDrawerStyles.d.ts +48 -2
  603. package/dist/types/src/components/GrDrawer/index.d.ts +6 -1
  604. package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +66 -13
  605. package/dist/types/src/components/GrDropdown/config.d.ts +1 -1
  606. package/dist/types/src/components/GrDropdown/grDropdownStyles.d.ts +4 -5
  607. package/dist/types/src/components/GrDropdown/index.d.ts +5 -2
  608. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +79 -16
  609. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumn.vue.d.ts +2 -1
  610. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumns.vue.d.ts +3 -2
  611. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuGroup.vue.d.ts +2 -2
  612. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuHeader.vue.d.ts +3 -2
  613. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +51 -5
  614. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuList.vue.d.ts +5 -0
  615. package/dist/types/src/components/GrDropdownMenu/config.d.ts +1 -1
  616. package/dist/types/src/components/GrDropdownMenu/grDropdownMenuStyles.d.ts +33 -0
  617. package/dist/types/src/components/GrDropdownMenu/index.d.ts +6 -2
  618. package/dist/types/src/components/GrDropdownMenu/menuModel.d.ts +42 -0
  619. package/dist/types/src/components/GrDropdownMenu/safelist.d.ts +7 -0
  620. package/dist/types/src/components/GrEmptyState/GrEmptyState.vue.d.ts +33 -10
  621. package/dist/types/src/components/GrEmptyState/config.d.ts +1 -1
  622. package/dist/types/src/components/GrEmptyState/defaults.d.ts +16 -0
  623. package/dist/types/src/components/GrEmptyState/grEmptyStateStyles.d.ts +32 -0
  624. package/dist/types/src/components/GrEmptyState/index.d.ts +4 -0
  625. package/dist/types/src/components/GrEmptyState/safelist.d.ts +1 -0
  626. package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +158 -148
  627. package/dist/types/src/components/GrFileUpload/config.d.ts +1 -1
  628. package/dist/types/src/components/GrFileUpload/defaults.d.ts +10 -0
  629. package/dist/types/src/components/GrFileUpload/fileEntry.d.ts +26 -0
  630. package/dist/types/src/components/GrFileUpload/grFileUploadStyles.d.ts +45 -0
  631. package/dist/types/src/components/GrFileUpload/index.d.ts +10 -1
  632. package/dist/types/src/components/GrFileUpload/maxFileSize.d.ts +2 -0
  633. package/dist/types/src/components/GrFileUpload/safelist.d.ts +1 -0
  634. package/dist/types/src/components/GrFileUpload/useDropZone.d.ts +24 -0
  635. package/dist/types/src/components/GrFileUpload/usePerFileUpload.d.ts +38 -0
  636. package/dist/types/src/components/GrFileUpload/useUploadState.d.ts +30 -0
  637. package/dist/types/src/components/GrForm/GrForm.vue.d.ts +38 -2
  638. package/dist/types/src/components/GrForm/config.d.ts +1 -1
  639. package/dist/types/src/components/GrForm/context.d.ts +22 -3
  640. package/dist/types/src/components/GrForm/fileRule.d.ts +43 -0
  641. package/dist/types/src/components/GrForm/index.d.ts +6 -2
  642. package/dist/types/src/components/GrForm/modelSnapshot.d.ts +17 -0
  643. package/dist/types/src/components/GrForm/validation.d.ts +16 -1
  644. package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +56 -10
  645. package/dist/types/src/components/GrFormField/config.d.ts +1 -1
  646. package/dist/types/src/components/GrFormField/context.d.ts +19 -0
  647. package/dist/types/src/components/GrFormField/defaults.d.ts +15 -0
  648. package/dist/types/src/components/GrFormField/grFormFieldStyles.d.ts +19 -0
  649. package/dist/types/src/components/GrFormField/index.d.ts +5 -1
  650. package/dist/types/src/components/GrFormField/safelist.d.ts +1 -0
  651. package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +70 -16
  652. package/dist/types/src/components/GrFormFile/config.d.ts +1 -1
  653. package/dist/types/src/components/GrFormFile/defaults.d.ts +10 -0
  654. package/dist/types/src/components/GrFormFile/grFormFileStyles.d.ts +22 -0
  655. package/dist/types/src/components/GrFormFile/index.d.ts +7 -0
  656. package/dist/types/src/components/GrFormFile/safelist.d.ts +1 -0
  657. package/dist/types/src/components/GrFormSection/GrFormSection.vue.d.ts +34 -7
  658. package/dist/types/src/components/GrFormSection/config.d.ts +1 -1
  659. package/dist/types/src/components/GrFormSection/defaults.d.ts +14 -0
  660. package/dist/types/src/components/GrFormSection/grFormSectionStyles.d.ts +12 -0
  661. package/dist/types/src/components/GrFormSection/index.d.ts +4 -0
  662. package/dist/types/src/components/GrFormSection/safelist.d.ts +1 -0
  663. package/dist/types/src/components/GrIcon/GrIcon.vue.d.ts +40 -4
  664. package/dist/types/src/components/GrIcon/config.d.ts +1 -1
  665. package/dist/types/src/components/GrIcon/defaults.d.ts +14 -0
  666. package/dist/types/src/components/GrIcon/grIconStyles.d.ts +25 -0
  667. package/dist/types/src/components/GrIcon/index.d.ts +4 -0
  668. package/dist/types/src/components/GrIcon/safelist.d.ts +1 -0
  669. package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +87 -16
  670. package/dist/types/src/components/GrImageViewer/composables/usePointerGestures.d.ts +36 -0
  671. package/dist/types/src/components/GrImageViewer/composables/useViewerKeyboard.d.ts +7 -4
  672. package/dist/types/src/components/GrImageViewer/composables/useWheelGesture.d.ts +3 -2
  673. package/dist/types/src/components/GrImageViewer/composables/useZoomPan.d.ts +17 -3
  674. package/dist/types/src/components/GrImageViewer/config.d.ts +1 -1
  675. package/dist/types/src/components/GrImageViewer/grImageViewerStyles.d.ts +21 -0
  676. package/dist/types/src/components/GrImageViewer/index.d.ts +7 -0
  677. package/dist/types/src/components/GrImageViewer/safelist.d.ts +1 -0
  678. package/dist/types/src/components/GrInput/GrInput.vue.d.ts +66 -21
  679. package/dist/types/src/components/GrInput/config.d.ts +1 -1
  680. package/dist/types/src/components/GrInput/grInputStyles.d.ts +53 -7
  681. package/dist/types/src/components/GrInput/index.d.ts +5 -0
  682. package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +97 -14
  683. package/dist/types/src/components/GrInputTag/config.d.ts +1 -1
  684. package/dist/types/src/components/GrInputTag/defaults.d.ts +17 -0
  685. package/dist/types/src/components/GrInputTag/grInputTagStyles.d.ts +24 -1
  686. package/dist/types/src/components/GrInputTag/index.d.ts +5 -0
  687. package/dist/types/src/components/GrKbd/GrKbd.vue.d.ts +31 -10
  688. package/dist/types/src/components/GrKbd/config.d.ts +1 -1
  689. package/dist/types/src/components/GrKbd/defaults.d.ts +14 -0
  690. package/dist/types/src/components/GrKbd/grKbdStyles.d.ts +15 -0
  691. package/dist/types/src/components/GrKbd/index.d.ts +4 -1
  692. package/dist/types/src/components/GrKbd/safelist.d.ts +1 -0
  693. package/dist/types/src/components/GrLink/GrLink.vue.d.ts +23 -10
  694. package/dist/types/src/components/GrLink/config.d.ts +1 -1
  695. package/dist/types/src/components/GrLink/defaults.d.ts +14 -0
  696. package/dist/types/src/components/GrLink/grLinkStyles.d.ts +11 -13
  697. package/dist/types/src/components/GrLink/index.d.ts +2 -0
  698. package/dist/types/src/components/GrList/GrList.vue.d.ts +57 -32
  699. package/dist/types/src/components/GrList/GrListItem.vue.d.ts +42 -9
  700. package/dist/types/src/components/GrList/config.d.ts +1 -1
  701. package/dist/types/src/components/GrList/grListStyles.d.ts +25 -0
  702. package/dist/types/src/components/GrList/index.d.ts +5 -0
  703. package/dist/types/src/components/GrList/safelist.d.ts +1 -0
  704. package/dist/types/src/components/GrLoading/GrLoading.vue.d.ts +59 -19
  705. package/dist/types/src/components/GrLoading/config.d.ts +1 -1
  706. package/dist/types/src/components/GrLoading/grLoadingStyles.d.ts +10 -2
  707. package/dist/types/src/components/GrLoading/index.d.ts +1 -0
  708. package/dist/types/src/components/GrModal/GrModal.vue.d.ts +58 -12
  709. package/dist/types/src/components/GrModal/config.d.ts +1 -1
  710. package/dist/types/src/components/GrModal/context.d.ts +37 -0
  711. package/dist/types/src/components/GrModal/defaults.d.ts +14 -0
  712. package/dist/types/src/components/GrModal/grModalStyles.d.ts +25 -10
  713. package/dist/types/src/components/GrModal/index.d.ts +6 -3
  714. package/dist/types/src/components/GrNavbar/GrNavbar.vue.d.ts +28 -9
  715. package/dist/types/src/components/GrNavbar/config.d.ts +1 -1
  716. package/dist/types/src/components/GrNavbar/grNavbarStyles.d.ts +23 -0
  717. package/dist/types/src/components/GrNavbar/index.d.ts +2 -0
  718. package/dist/types/src/components/GrNavbar/safelist.d.ts +1 -0
  719. package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +64 -17
  720. package/dist/types/src/components/GrNumberInput/config.d.ts +1 -1
  721. package/dist/types/src/components/GrNumberInput/defaults.d.ts +1 -0
  722. package/dist/types/src/components/GrNumberInput/grNumberInputStyles.d.ts +20 -4
  723. package/dist/types/src/components/GrNumberInput/index.d.ts +4 -0
  724. package/dist/types/src/components/GrNumberInput/numberInputMath.d.ts +17 -0
  725. package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +47 -1
  726. package/dist/types/src/components/GrPagination/config.d.ts +1 -1
  727. package/dist/types/src/components/GrPagination/defaults.d.ts +10 -0
  728. package/dist/types/src/components/GrPagination/grPaginationStyles.d.ts +19 -0
  729. package/dist/types/src/components/GrPagination/index.d.ts +4 -0
  730. package/dist/types/src/components/GrPagination/safelist.d.ts +1 -0
  731. package/dist/types/src/components/GrPopover/GrPopover.vue.d.ts +161 -0
  732. package/dist/types/src/components/GrPopover/config.d.ts +1 -0
  733. package/dist/types/src/components/GrPopover/defaults.d.ts +15 -0
  734. package/dist/types/src/components/GrPopover/grPopoverStyles.d.ts +28 -0
  735. package/dist/types/src/components/GrPopover/index.d.ts +11 -0
  736. package/dist/types/src/components/GrPopover/safelist.d.ts +1 -0
  737. package/dist/types/src/components/GrProgressBar/GrProgressBar.vue.d.ts +37 -5
  738. package/dist/types/src/components/GrProgressBar/config.d.ts +1 -1
  739. package/dist/types/src/components/GrProgressBar/defaults.d.ts +11 -0
  740. package/dist/types/src/components/GrProgressBar/grStyle.d.ts +14 -0
  741. package/dist/types/src/components/GrProgressBar/index.d.ts +2 -1
  742. package/dist/types/src/components/GrProgressBar/safelist.d.ts +4 -0
  743. package/dist/types/src/components/GrProgressCircle/GrProgressCircle.vue.d.ts +103 -0
  744. package/dist/types/src/components/GrProgressCircle/config.d.ts +1 -0
  745. package/dist/types/src/components/GrProgressCircle/defaults.d.ts +18 -0
  746. package/dist/types/src/components/GrProgressCircle/geometry.d.ts +29 -0
  747. package/dist/types/src/components/GrProgressCircle/grProgressCircleStyles.d.ts +34 -0
  748. package/dist/types/src/components/GrProgressCircle/index.d.ts +11 -0
  749. package/dist/types/src/components/GrProgressCircle/safelist.d.ts +1 -0
  750. package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +78 -10
  751. package/dist/types/src/components/GrPromptDialog/config.d.ts +1 -1
  752. package/dist/types/src/components/GrPromptDialog/defaults.d.ts +14 -0
  753. package/dist/types/src/components/GrPromptDialog/index.d.ts +1 -0
  754. package/dist/types/src/components/GrRadio/GrRadio.vue.d.ts +28 -9
  755. package/dist/types/src/components/GrRadio/config.d.ts +1 -1
  756. package/dist/types/src/components/GrRadio/grRadioGroupContext.d.ts +37 -2
  757. package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +49 -6
  758. package/dist/types/src/components/GrRadio/index.d.ts +1 -0
  759. package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +54 -10
  760. package/dist/types/src/components/GrRadioGroup/config.d.ts +1 -1
  761. package/dist/types/src/components/GrRadioGroup/index.d.ts +4 -0
  762. package/dist/types/src/components/GrRating/GrRating.vue.d.ts +66 -17
  763. package/dist/types/src/components/GrRating/config.d.ts +1 -1
  764. package/dist/types/src/components/GrRating/grRatingStyles.d.ts +4 -1
  765. package/dist/types/src/components/GrRating/index.d.ts +4 -0
  766. package/dist/types/src/components/GrResponseErrorBanner/GrFormErrorBanner.vue.d.ts +8 -4
  767. package/dist/types/src/components/GrResponseErrorBanner/GrResponseErrorBanner.vue.d.ts +8 -4
  768. package/dist/types/src/components/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +11 -4
  769. package/dist/types/src/components/GrResponseErrorBanner/config.d.ts +1 -1
  770. package/dist/types/src/components/GrResponseErrorBanner/index.d.ts +6 -0
  771. package/dist/types/src/components/GrResponseErrorBanner/parsers/httpStatusParser.d.ts +3 -1
  772. package/dist/types/src/components/GrResponseErrorBanner/parsers/plainMessageParser.d.ts +4 -1
  773. package/dist/types/src/components/GrResponseErrorBanner/responseError.types.d.ts +12 -2
  774. package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +48 -9
  775. package/dist/types/src/components/GrSegmented/config.d.ts +1 -1
  776. package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +31 -5
  777. package/dist/types/src/components/GrSegmented/index.d.ts +5 -1
  778. package/dist/types/src/components/GrSegmented/safelist.d.ts +3 -1
  779. package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +138 -114
  780. package/dist/types/src/components/GrSelect/composables/useSelectNavigation.d.ts +52 -0
  781. package/dist/types/src/components/GrSelect/composables/useSelectPanelItems.d.ts +67 -0
  782. package/dist/types/src/components/GrSelect/composables/useSelectValues.d.ts +37 -0
  783. package/dist/types/src/components/GrSelect/composables/useSelectVirtualization.d.ts +27 -0
  784. package/dist/types/src/components/GrSelect/config.d.ts +1 -1
  785. package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +64 -9
  786. package/dist/types/src/components/GrSelect/index.d.ts +5 -1
  787. package/dist/types/src/components/GrSelect/selectValue.d.ts +20 -0
  788. package/dist/types/src/components/GrSidebar/GrSidebar.vue.d.ts +30 -5
  789. package/dist/types/src/components/GrSidebar/GrSidebarGroup.vue.d.ts +43 -0
  790. package/dist/types/src/components/GrSidebar/GrSidebarItem.vue.d.ts +4 -4
  791. package/dist/types/src/components/GrSidebar/config.d.ts +1 -1
  792. package/dist/types/src/components/GrSidebar/grSidebarStyles.d.ts +48 -0
  793. package/dist/types/src/components/GrSidebar/index.d.ts +6 -0
  794. package/dist/types/src/components/GrSidebar/safelist.d.ts +1 -0
  795. package/dist/types/src/components/GrSkeleton/GrSkeleton.vue.d.ts +22 -6
  796. package/dist/types/src/components/GrSkeleton/config.d.ts +1 -1
  797. package/dist/types/src/components/GrSkeleton/grSkeletonStyles.d.ts +9 -0
  798. package/dist/types/src/components/GrSkeleton/index.d.ts +1 -0
  799. package/dist/types/src/components/GrSlider/GrSlider.vue.d.ts +54 -4
  800. package/dist/types/src/components/GrSlider/config.d.ts +1 -1
  801. package/dist/types/src/components/GrSlider/grSliderStyles.d.ts +47 -8
  802. package/dist/types/src/components/GrSlider/index.d.ts +4 -0
  803. package/dist/types/src/components/GrSplitter/GrSplitter.vue.d.ts +121 -0
  804. package/dist/types/src/components/GrSplitter/config.d.ts +1 -0
  805. package/dist/types/src/components/GrSplitter/defaults.d.ts +16 -0
  806. package/dist/types/src/components/GrSplitter/grSplitterStyles.d.ts +9 -0
  807. package/dist/types/src/components/GrSplitter/index.d.ts +11 -0
  808. package/dist/types/src/components/GrSplitter/safelist.d.ts +1 -0
  809. package/dist/types/src/components/GrSplitter/splitterGeometry.d.ts +39 -0
  810. package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +65 -16
  811. package/dist/types/src/components/GrStatistic/config.d.ts +1 -1
  812. package/dist/types/src/components/GrStatistic/countUp.d.ts +17 -0
  813. package/dist/types/src/components/GrStatistic/defaults.d.ts +14 -0
  814. package/dist/types/src/components/GrStatistic/formatStatisticValue.d.ts +6 -2
  815. package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +14 -1
  816. package/dist/types/src/components/GrStatistic/index.d.ts +2 -1
  817. package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +68 -6
  818. package/dist/types/src/components/GrSwitch/config.d.ts +1 -1
  819. package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +45 -4
  820. package/dist/types/src/components/GrSwitch/index.d.ts +5 -1
  821. package/dist/types/src/components/GrSwitch/safelist.d.ts +4 -1
  822. package/dist/types/src/components/GrTabPanels/GrTabPanel.vue.d.ts +12 -9
  823. package/dist/types/src/components/GrTabPanels/GrTabPanels.vue.d.ts +4 -14
  824. package/dist/types/src/components/GrTabPanels/config.d.ts +1 -1
  825. package/dist/types/src/components/GrTabPanels/context.d.ts +1 -1
  826. package/dist/types/src/components/GrTabPanels/index.d.ts +2 -0
  827. package/dist/types/src/components/GrTable/GrTable.vue.d.ts +85 -15
  828. package/dist/types/src/components/GrTable/config.d.ts +1 -1
  829. package/dist/types/src/components/GrTable/defaults.d.ts +10 -0
  830. package/dist/types/src/components/GrTable/grTableStyles.d.ts +20 -0
  831. package/dist/types/src/components/GrTable/index.d.ts +7 -1
  832. package/dist/types/src/components/GrTable/safelist.d.ts +1 -0
  833. package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +92 -6
  834. package/dist/types/src/components/GrTabs/config.d.ts +1 -1
  835. package/dist/types/src/components/GrTabs/defaults.d.ts +12 -0
  836. package/dist/types/src/components/GrTabs/grTabsStyles.d.ts +71 -0
  837. package/dist/types/src/components/GrTabs/index.d.ts +5 -0
  838. package/dist/types/src/components/GrTabs/safelist.d.ts +1 -0
  839. package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +89 -24
  840. package/dist/types/src/components/GrTextarea/config.d.ts +1 -1
  841. package/dist/types/src/components/GrTextarea/defaults.d.ts +18 -0
  842. package/dist/types/src/components/GrTextarea/grTextareaStyles.d.ts +33 -1
  843. package/dist/types/src/components/GrTextarea/index.d.ts +6 -1
  844. package/dist/types/src/components/GrTimeline/GrTimeline.vue.d.ts +70 -0
  845. package/dist/types/src/components/GrTimeline/GrTimelineItem.vue.d.ts +84 -0
  846. package/dist/types/src/components/GrTimeline/config.d.ts +1 -0
  847. package/dist/types/src/components/GrTimeline/defaults.d.ts +19 -0
  848. package/dist/types/src/components/GrTimeline/grTimelineContext.d.ts +18 -0
  849. package/dist/types/src/components/GrTimeline/grTimelineStyles.d.ts +37 -0
  850. package/dist/types/src/components/GrTimeline/index.d.ts +12 -0
  851. package/dist/types/src/components/GrTimeline/safelist.d.ts +1 -0
  852. package/dist/types/src/components/GrTimeline/timelineGroups.d.ts +23 -0
  853. package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +25 -1
  854. package/dist/types/src/components/GrToaster/config.d.ts +1 -1
  855. package/dist/types/src/components/GrToaster/index.d.ts +3 -0
  856. package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +57 -6
  857. package/dist/types/src/components/GrTooltip/config.d.ts +1 -1
  858. package/dist/types/src/components/GrTooltip/defaults.d.ts +10 -0
  859. package/dist/types/src/components/GrTooltip/grTooltipStyles.d.ts +8 -0
  860. package/dist/types/src/components/GrTooltip/index.d.ts +5 -1
  861. package/dist/types/src/components/GrTooltip/safelist.d.ts +1 -0
  862. package/dist/types/src/components/GrTree/GrTree.vue.d.ts +20 -7
  863. package/dist/types/src/components/GrTree/config.d.ts +1 -1
  864. package/dist/types/src/components/GrTree/defaults.d.ts +10 -0
  865. package/dist/types/src/components/GrTree/grTreeChecking.d.ts +31 -0
  866. package/dist/types/src/components/GrTree/grTreeDataAdapter.d.ts +2 -0
  867. package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +9 -0
  868. package/dist/types/src/components/GrTree/grTreeProps.d.ts +60 -11
  869. package/dist/types/src/components/GrTree/grTreeStore.d.ts +27 -1
  870. package/dist/types/src/components/GrTree/grTreeStyles.d.ts +22 -0
  871. package/dist/types/src/components/GrTree/grTreeTypes.d.ts +15 -0
  872. package/dist/types/src/components/GrTree/index.d.ts +5 -1
  873. package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +30 -9
  874. package/dist/types/src/components/GrTreeSelect/config.d.ts +1 -1
  875. package/dist/types/src/components/GrTreeSelect/defaults.d.ts +10 -0
  876. package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +29 -1
  877. package/dist/types/src/components/GrTreeSelect/grTreeSelectTypes.d.ts +43 -0
  878. package/dist/types/src/components/GrTreeSelect/index.d.ts +5 -0
  879. package/dist/types/src/components/shared/hotkey.d.ts +46 -0
  880. package/dist/types/src/components/shared/instance.d.ts +15 -0
  881. package/dist/types/src/components/shared/optionFilter.d.ts +61 -0
  882. package/dist/types/src/components/shared/sizes.d.ts +30 -0
  883. package/dist/types/src/components/shared/slotNodes.d.ts +19 -0
  884. package/dist/types/src/composables/internal/focusables.d.ts +30 -0
  885. package/dist/types/src/composables/internal/inert.d.ts +35 -0
  886. package/dist/types/src/composables/internal/overlayStack.d.ts +60 -0
  887. package/dist/types/src/composables/internal/portalRoot.d.ts +27 -0
  888. package/dist/types/src/composables/internal/useAddonMeasurement.d.ts +1 -1
  889. package/dist/types/src/composables/internal/useComboboxNavigation.d.ts +51 -0
  890. package/dist/types/src/composables/internal/useControlAddons.d.ts +61 -0
  891. package/dist/types/src/composables/internal/useControlledOpen.d.ts +14 -0
  892. package/dist/types/src/composables/internal/useFilePreviews.d.ts +26 -0
  893. package/dist/types/src/composables/internal/useFocusWithin.d.ts +32 -0
  894. package/dist/types/src/composables/internal/useInertOthers.d.ts +9 -0
  895. package/dist/types/src/composables/internal/useModalOverlay.d.ts +95 -0
  896. package/dist/types/src/composables/internal/useOverlayPresence.d.ts +24 -0
  897. package/dist/types/src/composables/internal/useScrollLock.d.ts +10 -5
  898. package/dist/types/src/composables/internal/useTeleportEnabled.d.ts +35 -0
  899. package/dist/types/src/composables/useAnnouncer.d.ts +44 -0
  900. package/dist/types/src/composables/useDismissible.d.ts +32 -0
  901. package/dist/types/src/composables/useFocusTrap.d.ts +50 -0
  902. package/dist/types/src/composables/useGrFormControl.d.ts +52 -0
  903. package/dist/types/src/composables/useOverlayLayer.d.ts +67 -0
  904. package/dist/types/src/composables/usePortalTarget.d.ts +28 -0
  905. package/dist/types/src/composables/useTheme.d.ts +48 -2
  906. package/dist/types/src/composables/useToast.d.ts +20 -11
  907. package/dist/types/src/composables/useVirtualList.d.ts +119 -0
  908. package/dist/types/src/directives/loading.d.ts +7 -1
  909. package/dist/types/src/fileValidation/i18n.d.ts +24 -0
  910. package/dist/types/src/fileValidation/index.d.ts +4 -2
  911. package/dist/types/src/fileValidation/maxCountValidator.d.ts +9 -0
  912. package/dist/types/src/fileValidation/maxFileSize.d.ts +16 -0
  913. package/dist/types/src/fileValidation/types.d.ts +8 -2
  914. package/dist/types/src/granular-provider/index.d.ts +1 -1
  915. package/dist/types/src/granular-provider/node.d.ts +2 -3
  916. package/dist/types/src/granular-provider/shared.d.ts +13 -18
  917. package/dist/types/src/i18n/adapter.d.ts +24 -0
  918. package/dist/types/src/i18n/messages/en.d.ts +286 -2
  919. package/dist/types/src/i18n/messages/es.d.ts +290 -2
  920. package/dist/types/src/i18n/messages/ru.d.ts +294 -2
  921. package/dist/types/src/index.d.ts +26 -3
  922. package/dist/types/src/internal/granularityFormat.d.ts +19 -0
  923. package/dist/types/src/internal/granularityI18n.d.ts +6 -0
  924. package/dist/types/src/internal/keyboard.d.ts +46 -0
  925. package/dist/types/src/tokens/generated.d.ts +6 -0
  926. package/dist/types/src/tokens/index.d.ts +13 -0
  927. package/dist/types/src/tokens/types.d.ts +54 -0
  928. package/dist/vue/index.js.map +1 -1
  929. package/dist/web-types.json +6309 -2024
  930. package/package.json +90 -17
  931. package/tokens/derived.json +142 -0
  932. package/tokens/foundation.json +558 -0
  933. package/tokens/themes/dark.json +499 -0
  934. package/tokens/themes/light.json +499 -0
  935. package/dist/GrBadge.css +0 -1
  936. package/dist/GrButtonGroup.css +0 -1
  937. package/dist/GrFormFile.css +0 -1
  938. package/dist/GrIcon.css +0 -1
  939. package/dist/GrLoading.css +0 -1
  940. package/dist/GrToaster.css +0 -1
  941. package/dist/GrTree.css +0 -1
  942. package/dist/chunks/config-23WtUiAL.js +0 -53
  943. package/dist/chunks/config-23WtUiAL.js.map +0 -1
  944. package/dist/chunks/config-B0i5r8kH.js +0 -23
  945. package/dist/chunks/config-B0i5r8kH.js.map +0 -1
  946. package/dist/chunks/config-B0qIpo8m.js +0 -5
  947. package/dist/chunks/config-B0qIpo8m.js.map +0 -1
  948. package/dist/chunks/config-B5Rknzkd.js +0 -100
  949. package/dist/chunks/config-B5Rknzkd.js.map +0 -1
  950. package/dist/chunks/config-BDSHekVC.js +0 -84
  951. package/dist/chunks/config-BDSHekVC.js.map +0 -1
  952. package/dist/chunks/config-BEegFP74.js +0 -5
  953. package/dist/chunks/config-BEegFP74.js.map +0 -1
  954. package/dist/chunks/config-BLHqZhy-.js +0 -5
  955. package/dist/chunks/config-BLHqZhy-.js.map +0 -1
  956. package/dist/chunks/config-BMKNHFMD2.js +0 -171
  957. package/dist/chunks/config-BMKNHFMD2.js.map +0 -1
  958. package/dist/chunks/config-BUHuGBik2.js +0 -13
  959. package/dist/chunks/config-BUHuGBik2.js.map +0 -1
  960. package/dist/chunks/config-BWGGp7uV.js +0 -8
  961. package/dist/chunks/config-BWGGp7uV.js.map +0 -1
  962. package/dist/chunks/config-BWiPnygb.js +0 -5
  963. package/dist/chunks/config-BWiPnygb.js.map +0 -1
  964. package/dist/chunks/config-BX1JTrkV.js +0 -14
  965. package/dist/chunks/config-BX1JTrkV.js.map +0 -1
  966. package/dist/chunks/config-BXtAmU3s.js +0 -8
  967. package/dist/chunks/config-BXtAmU3s.js.map +0 -1
  968. package/dist/chunks/config-BZFUM3Ky.js +0 -75
  969. package/dist/chunks/config-BZFUM3Ky.js.map +0 -1
  970. package/dist/chunks/config-Bah4oHwL.js +0 -8
  971. package/dist/chunks/config-Bah4oHwL.js.map +0 -1
  972. package/dist/chunks/config-BmNT0Fmx.js +0 -45
  973. package/dist/chunks/config-BmNT0Fmx.js.map +0 -1
  974. package/dist/chunks/config-BvVq2gbd.js +0 -13
  975. package/dist/chunks/config-BvVq2gbd.js.map +0 -1
  976. package/dist/chunks/config-C4hJxXDa.js +0 -58
  977. package/dist/chunks/config-C4hJxXDa.js.map +0 -1
  978. package/dist/chunks/config-C86UzUYf.js +0 -13
  979. package/dist/chunks/config-C86UzUYf.js.map +0 -1
  980. package/dist/chunks/config-C9AcVDkv.js +0 -5
  981. package/dist/chunks/config-C9AcVDkv.js.map +0 -1
  982. package/dist/chunks/config-CB4RVt9M.js +0 -66
  983. package/dist/chunks/config-CB4RVt9M.js.map +0 -1
  984. package/dist/chunks/config-CGHLoBlH2.js +0 -5
  985. package/dist/chunks/config-CGHLoBlH2.js.map +0 -1
  986. package/dist/chunks/config-COE_vZ-l.js +0 -52
  987. package/dist/chunks/config-COE_vZ-l.js.map +0 -1
  988. package/dist/chunks/config-CPdmr7tC.js +0 -39
  989. package/dist/chunks/config-CPdmr7tC.js.map +0 -1
  990. package/dist/chunks/config-CThzliFi.js +0 -5
  991. package/dist/chunks/config-CThzliFi.js.map +0 -1
  992. package/dist/chunks/config-Cb2PAlSD.js +0 -8
  993. package/dist/chunks/config-Cb2PAlSD.js.map +0 -1
  994. package/dist/chunks/config-D7GZO-Dx.js +0 -8
  995. package/dist/chunks/config-D7GZO-Dx.js.map +0 -1
  996. package/dist/chunks/config-DICOd-2X.js +0 -5
  997. package/dist/chunks/config-DICOd-2X.js.map +0 -1
  998. package/dist/chunks/config-DPDFYzIa.js +0 -40
  999. package/dist/chunks/config-DPDFYzIa.js.map +0 -1
  1000. package/dist/chunks/config-DRKXJ9PW2.js +0 -22
  1001. package/dist/chunks/config-DRKXJ9PW2.js.map +0 -1
  1002. package/dist/chunks/config-DToHb81g.js +0 -45
  1003. package/dist/chunks/config-DToHb81g.js.map +0 -1
  1004. package/dist/chunks/config-D_myOZbA.js +0 -20
  1005. package/dist/chunks/config-D_myOZbA.js.map +0 -1
  1006. package/dist/chunks/config-Dg_6FTvJ.js +0 -35
  1007. package/dist/chunks/config-Dg_6FTvJ.js.map +0 -1
  1008. package/dist/chunks/config-Dlm49Jp5.js +0 -5
  1009. package/dist/chunks/config-Dlm49Jp5.js.map +0 -1
  1010. package/dist/chunks/config-DpqOnJiz.js.map +0 -1
  1011. package/dist/chunks/config-Dqy0rPPO2.js +0 -17
  1012. package/dist/chunks/config-Dqy0rPPO2.js.map +0 -1
  1013. package/dist/chunks/config-Dxuwwepq.js +0 -5
  1014. package/dist/chunks/config-Dxuwwepq.js.map +0 -1
  1015. package/dist/chunks/config-HZto2PVy.js +0 -5
  1016. package/dist/chunks/config-HZto2PVy.js.map +0 -1
  1017. package/dist/chunks/config-JOtB4mzs.js +0 -8
  1018. package/dist/chunks/config-JOtB4mzs.js.map +0 -1
  1019. package/dist/chunks/config-JpHA4Xx0.js +0 -8
  1020. package/dist/chunks/config-JpHA4Xx0.js.map +0 -1
  1021. package/dist/chunks/config-KXuionN3.js +0 -9
  1022. package/dist/chunks/config-KXuionN3.js.map +0 -1
  1023. package/dist/chunks/config-LqDC_rvp.js +0 -78
  1024. package/dist/chunks/config-LqDC_rvp.js.map +0 -1
  1025. package/dist/chunks/config-PFg39mYo.js +0 -5
  1026. package/dist/chunks/config-PFg39mYo.js.map +0 -1
  1027. package/dist/chunks/config-QYGvEBu5.js +0 -22
  1028. package/dist/chunks/config-QYGvEBu5.js.map +0 -1
  1029. package/dist/chunks/config-QaIc_gRa2.js.map +0 -1
  1030. package/dist/chunks/config-U4m9PSql2.js +0 -8
  1031. package/dist/chunks/config-U4m9PSql2.js.map +0 -1
  1032. package/dist/chunks/config-XmTv4pnI.js +0 -26
  1033. package/dist/chunks/config-XmTv4pnI.js.map +0 -1
  1034. package/dist/chunks/config-ZiXWIRBX.js +0 -8
  1035. package/dist/chunks/config-ZiXWIRBX.js.map +0 -1
  1036. package/dist/chunks/config-eXB87DOi.js.map +0 -1
  1037. package/dist/chunks/config-gZWR75Bh2.js +0 -44
  1038. package/dist/chunks/config-gZWR75Bh2.js.map +0 -1
  1039. package/dist/chunks/config-ipvU0lzP.js +0 -5
  1040. package/dist/chunks/config-ipvU0lzP.js.map +0 -1
  1041. package/dist/chunks/config-xR4XVmcy2.js +0 -8
  1042. package/dist/chunks/config-xR4XVmcy2.js.map +0 -1
  1043. package/dist/chunks/context-DfWYCBB-.js +0 -129
  1044. package/dist/chunks/context-DfWYCBB-.js.map +0 -1
  1045. package/dist/chunks/en-Cr6EkG8c.js +0 -186
  1046. package/dist/chunks/en-Cr6EkG8c.js.map +0 -1
  1047. package/dist/chunks/es-DuYb1Qju.js +0 -20
  1048. package/dist/chunks/es-DuYb1Qju.js.map +0 -1
  1049. package/dist/chunks/es-i08e9Sdo.js +0 -186
  1050. package/dist/chunks/es-i08e9Sdo.js.map +0 -1
  1051. package/dist/chunks/fileValidation-C3WFaWU2.js +0 -220
  1052. package/dist/chunks/fileValidation-C3WFaWU2.js.map +0 -1
  1053. package/dist/chunks/grBadgeStyles-D3dFjr_N.js +0 -50
  1054. package/dist/chunks/grBadgeStyles-D3dFjr_N.js.map +0 -1
  1055. package/dist/chunks/grButtonStyles-DRBgDmOp.js +0 -191
  1056. package/dist/chunks/grButtonStyles-DRBgDmOp.js.map +0 -1
  1057. package/dist/chunks/grDropdownStyles-HBPkghVr.js +0 -35
  1058. package/dist/chunks/grDropdownStyles-HBPkghVr.js.map +0 -1
  1059. package/dist/chunks/grLoadingStyles-R5sreH__.js +0 -17
  1060. package/dist/chunks/grLoadingStyles-R5sreH__.js.map +0 -1
  1061. package/dist/chunks/grModalEscStack-BXk-9mv7.js +0 -43
  1062. package/dist/chunks/grModalEscStack-BXk-9mv7.js.map +0 -1
  1063. package/dist/chunks/grModalStyles-D8-shx9A.js +0 -47
  1064. package/dist/chunks/grModalStyles-D8-shx9A.js.map +0 -1
  1065. package/dist/chunks/grSelectStyles-CwMUQrBZ.js +0 -97
  1066. package/dist/chunks/grSelectStyles-CwMUQrBZ.js.map +0 -1
  1067. package/dist/chunks/grStyle-CdvxTXPH.js +0 -19
  1068. package/dist/chunks/grStyle-CdvxTXPH.js.map +0 -1
  1069. package/dist/chunks/granularityI18n-SH0I--GW.js +0 -61
  1070. package/dist/chunks/granularityI18n-SH0I--GW.js.map +0 -1
  1071. package/dist/chunks/ru-B5XOOYZt.js +0 -186
  1072. package/dist/chunks/ru-B5XOOYZt.js.map +0 -1
  1073. package/dist/chunks/safelist-BvO8HPnE.js +0 -24
  1074. package/dist/chunks/safelist-BvO8HPnE.js.map +0 -1
  1075. package/dist/chunks/shared-D-v9lit0.js +0 -188
  1076. package/dist/chunks/shared-D-v9lit0.js.map +0 -1
  1077. package/dist/chunks/useAddonMeasurement-DM0akF4C.js +0 -65
  1078. package/dist/chunks/useAddonMeasurement-DM0akF4C.js.map +0 -1
  1079. package/dist/chunks/useEscapeToClose-C2t_S1gh.js +0 -27
  1080. package/dist/chunks/useEscapeToClose-C2t_S1gh.js.map +0 -1
  1081. package/dist/chunks/useFloating-DtM6TyE4.js +0 -1249
  1082. package/dist/chunks/useFloating-DtM6TyE4.js.map +0 -1
  1083. package/dist/chunks/useScrollLock-K7kaP2Ud.js +0 -1757
  1084. package/dist/chunks/useScrollLock-K7kaP2Ud.js.map +0 -1
  1085. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js +0 -251
  1086. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js.map +0 -1
  1087. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js +0 -499
  1088. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js.map +0 -1
  1089. package/dist/components/GrAvatar/chunks/GrAvatar-CTOUVBF7.js +0 -41
  1090. package/dist/components/GrAvatar/chunks/GrAvatar-CTOUVBF7.js.map +0 -1
  1091. package/dist/components/GrBadge/chunks/GrBadge-D1jefy4S.js +0 -40
  1092. package/dist/components/GrBadge/chunks/GrBadge-D1jefy4S.js.map +0 -1
  1093. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DWDxHdiQ.js +0 -33
  1094. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DWDxHdiQ.js.map +0 -1
  1095. package/dist/components/GrBottomNav/chunks/GrBottomNav-vSE4LXmk.js +0 -31
  1096. package/dist/components/GrBottomNav/chunks/GrBottomNav-vSE4LXmk.js.map +0 -1
  1097. package/dist/components/GrButton/chunks/GrButton-DCi4CUpo.js +0 -128
  1098. package/dist/components/GrButton/chunks/GrButton-DCi4CUpo.js.map +0 -1
  1099. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-Bs9dEKfA.js +0 -21
  1100. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-Bs9dEKfA.js.map +0 -1
  1101. package/dist/components/GrCard/chunks/GrCard-CxCjyHMb.js +0 -11
  1102. package/dist/components/GrCard/chunks/GrCard-CxCjyHMb.js.map +0 -1
  1103. package/dist/components/GrCheckbox/chunks/GrCheckbox-BbIDRXtl.js +0 -182
  1104. package/dist/components/GrCheckbox/chunks/GrCheckbox-BbIDRXtl.js.map +0 -1
  1105. package/dist/components/GrCollapse/chunks/GrCollapse-DApXztn8.js +0 -205
  1106. package/dist/components/GrCollapse/chunks/GrCollapse-DApXztn8.js.map +0 -1
  1107. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js +0 -410
  1108. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js.map +0 -1
  1109. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js +0 -57
  1110. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js.map +0 -1
  1111. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js +0 -160
  1112. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js.map +0 -1
  1113. package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js +0 -307
  1114. package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js.map +0 -1
  1115. package/dist/components/GrDialog/chunks/GrDialog-BPMvDHOz.js +0 -223
  1116. package/dist/components/GrDialog/chunks/GrDialog-BPMvDHOz.js.map +0 -1
  1117. package/dist/components/GrDialogService/chunks/GrDialogService-CYXCTGm3.js +0 -450
  1118. package/dist/components/GrDialogService/chunks/GrDialogService-CYXCTGm3.js.map +0 -1
  1119. package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js +0 -54
  1120. package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js.map +0 -1
  1121. package/dist/components/GrDrawer/chunks/GrDrawer-KevdZ5BB.js +0 -184
  1122. package/dist/components/GrDrawer/chunks/GrDrawer-KevdZ5BB.js.map +0 -1
  1123. package/dist/components/GrDropdown/chunks/GrDropdown-BKoy8hm-.js +0 -181
  1124. package/dist/components/GrDropdown/chunks/GrDropdown-BKoy8hm-.js.map +0 -1
  1125. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-zCatXzmt.js +0 -309
  1126. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-zCatXzmt.js.map +0 -1
  1127. package/dist/components/GrEmptyState/chunks/GrEmptyState-CNb0BzjG.js +0 -62
  1128. package/dist/components/GrEmptyState/chunks/GrEmptyState-CNb0BzjG.js.map +0 -1
  1129. package/dist/components/GrFileUpload/chunks/GrFileUpload-CnLgUGDF.js +0 -592
  1130. package/dist/components/GrFileUpload/chunks/GrFileUpload-CnLgUGDF.js.map +0 -1
  1131. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js +0 -234
  1132. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js.map +0 -1
  1133. package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js +0 -100
  1134. package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js.map +0 -1
  1135. package/dist/components/GrFormFile/chunks/GrFormFile-CqacSbUl.js +0 -320
  1136. package/dist/components/GrFormFile/chunks/GrFormFile-CqacSbUl.js.map +0 -1
  1137. package/dist/components/GrFormSection/chunks/GrFormSection-C3w9DQJf.js +0 -35
  1138. package/dist/components/GrFormSection/chunks/GrFormSection-C3w9DQJf.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-DDLJkvIU.js +0 -650
  1142. package/dist/components/GrImageViewer/chunks/GrImageViewer-DDLJkvIU.js.map +0 -1
  1143. package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js +0 -337
  1144. package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js.map +0 -1
  1145. package/dist/components/GrInputTag/chunks/GrInputTag-BMk9jm42.js +0 -260
  1146. package/dist/components/GrInputTag/chunks/GrInputTag-BMk9jm42.js.map +0 -1
  1147. package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js +0 -22
  1148. package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js.map +0 -1
  1149. package/dist/components/GrLink/chunks/GrLink-BP0YrnL9.js +0 -100
  1150. package/dist/components/GrLink/chunks/GrLink-BP0YrnL9.js.map +0 -1
  1151. package/dist/components/GrList/chunks/GrList-5RA-tZzE.js +0 -77
  1152. package/dist/components/GrList/chunks/GrList-5RA-tZzE.js.map +0 -1
  1153. package/dist/components/GrLoading/chunks/GrLoading-fRDtVfi7.js +0 -69
  1154. package/dist/components/GrLoading/chunks/GrLoading-fRDtVfi7.js.map +0 -1
  1155. package/dist/components/GrModal/chunks/GrModal-BTu1-5eY.js +0 -233
  1156. package/dist/components/GrModal/chunks/GrModal-BTu1-5eY.js.map +0 -1
  1157. package/dist/components/GrNavbar/chunks/GrNavbar-keKT_mIM.js +0 -75
  1158. package/dist/components/GrNavbar/chunks/GrNavbar-keKT_mIM.js.map +0 -1
  1159. package/dist/components/GrNumberInput/chunks/GrNumberInput-l9ZOHG9D.js +0 -471
  1160. package/dist/components/GrNumberInput/chunks/GrNumberInput-l9ZOHG9D.js.map +0 -1
  1161. package/dist/components/GrPagination/chunks/GrPagination-C5Y69CuK.js +0 -208
  1162. package/dist/components/GrPagination/chunks/GrPagination-C5Y69CuK.js.map +0 -1
  1163. package/dist/components/GrProgressBar/chunks/GrProgressBar-Dqg4Fj9S.js +0 -39
  1164. package/dist/components/GrProgressBar/chunks/GrProgressBar-Dqg4Fj9S.js.map +0 -1
  1165. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js +0 -224
  1166. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js.map +0 -1
  1167. package/dist/components/GrRadio/chunks/GrRadio-DlhxPGqf.js +0 -182
  1168. package/dist/components/GrRadio/chunks/GrRadio-DlhxPGqf.js.map +0 -1
  1169. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BXt9iw4q.js +0 -82
  1170. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BXt9iw4q.js.map +0 -1
  1171. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js +0 -241
  1172. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js.map +0 -1
  1173. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-2CvM7Z08.js +0 -224
  1174. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-2CvM7Z08.js.map +0 -1
  1175. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C8NGx8pE.js +0 -782
  1176. package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C8NGx8pE.js.map +0 -1
  1177. package/dist/components/GrSegmented/chunks/GrSegmented-CTd3n4PA.js +0 -326
  1178. package/dist/components/GrSegmented/chunks/GrSegmented-CTd3n4PA.js.map +0 -1
  1179. package/dist/components/GrSelect/chunks/GrSelect-Dn3FgJ3Z.js +0 -730
  1180. package/dist/components/GrSelect/chunks/GrSelect-Dn3FgJ3Z.js.map +0 -1
  1181. package/dist/components/GrSidebar/chunks/GrSidebar-cvnzBfj3.js +0 -238
  1182. package/dist/components/GrSidebar/chunks/GrSidebar-cvnzBfj3.js.map +0 -1
  1183. package/dist/components/GrSkeleton/chunks/GrSkeleton-BucA5F4J.js +0 -33
  1184. package/dist/components/GrSkeleton/chunks/GrSkeleton-BucA5F4J.js.map +0 -1
  1185. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js +0 -286
  1186. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js.map +0 -1
  1187. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js +0 -128
  1188. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js.map +0 -1
  1189. package/dist/components/GrSwitch/chunks/GrSwitch-CJdRvS0s.js +0 -88
  1190. package/dist/components/GrSwitch/chunks/GrSwitch-CJdRvS0s.js.map +0 -1
  1191. package/dist/components/GrTabPanels/chunks/GrTabPanels-DeEMgb_y.js +0 -68
  1192. package/dist/components/GrTabPanels/chunks/GrTabPanels-DeEMgb_y.js.map +0 -1
  1193. package/dist/components/GrTable/chunks/GrTable-sNvsA8wa.js +0 -70
  1194. package/dist/components/GrTable/chunks/GrTable-sNvsA8wa.js.map +0 -1
  1195. package/dist/components/GrTabs/chunks/GrTabs-BqTak0SR.js +0 -123
  1196. package/dist/components/GrTabs/chunks/GrTabs-BqTak0SR.js.map +0 -1
  1197. package/dist/components/GrTextarea/chunks/GrTextarea-DIYBAPpP.js +0 -81
  1198. package/dist/components/GrTextarea/chunks/GrTextarea-DIYBAPpP.js.map +0 -1
  1199. package/dist/components/GrToaster/chunks/GrToaster-BVHjIHcM.js +0 -230
  1200. package/dist/components/GrToaster/chunks/GrToaster-BVHjIHcM.js.map +0 -1
  1201. package/dist/components/GrTooltip/chunks/GrTooltip-BMKH2lIx.js +0 -109
  1202. package/dist/components/GrTooltip/chunks/GrTooltip-BMKH2lIx.js.map +0 -1
  1203. package/dist/components/GrTree/chunks/GrTree-_12ChXRQ.js +0 -838
  1204. package/dist/components/GrTree/chunks/GrTree-_12ChXRQ.js.map +0 -1
  1205. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CdaLG7Xq.js +0 -426
  1206. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CdaLG7Xq.js.map +0 -1
  1207. package/dist/granular-provider-node.js.map +0 -1
  1208. package/dist/granular-provider.js.map +0 -1
  1209. package/dist/index.js.map +0 -1
  1210. package/dist/types/src/components/GrButton/config.node.d.ts +0 -1
  1211. package/dist/types/src/components/GrCommandPalette/hotkey.d.ts +0 -23
  1212. package/dist/types/src/components/GrFileUpload/maxSizeMbValidator.d.ts +0 -1
  1213. package/dist/types/src/components/GrModal/grModalEscStack.d.ts +0 -30
  1214. package/dist/types/src/components/GrModal/grModalTopStack.d.ts +0 -31
  1215. package/dist/types/src/components/GrProgressBar/config.node.d.ts +0 -1
  1216. package/dist/types/src/composables/internal/useEscapeToClose.d.ts +0 -11
  1217. package/dist/types/src/fileValidation/maxFileSizeBytesValidator.d.ts +0 -2
  1218. package/dist/types/src/fileValidation/maxSizeMbValidator.d.ts +0 -2
  1219. /package/dist/chunks/{config-DpqOnJiz.js → config-DpqOnJiz2.js} +0 -0
  1220. /package/dist/chunks/{config-QaIc_gRa2.js → config-QaIc_gRa.js} +0 -0
  1221. /package/dist/chunks/{config-eXB87DOi.js → config-eXB87DOi2.js} +0 -0
  1222. /package/dist/{GrSkeleton.css → components/GrSkeleton/styles.css} +0 -0
  1223. /package/dist/types/src/composables/{internal/useFloating.d.ts → useFloating.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrDrawer-DQwi6aRw.js","names":["$slots"],"sources":["../../../../src/components/GrDrawer/GrDrawer.vue","../../../../src/components/GrDrawer/GrDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, useId, watch } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { useGrComponentProp } from '../GrConfigProvider/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n// Модальный слой целиком: стек (Esc верхнему, `inert` нижним модалкам), ловушка\n// фокуса, скролл-лок, портал. Немодальная панель регистрируется в стеке как\n// обычный dismissible-слой и страницу под собой не трогает.\nimport { useModalOverlay } from '../../composables/internal/useModalOverlay'\nimport {\n DEFAULT_GR_DRAWER_BODY_CONFIG,\n DEFAULT_GR_DRAWER_FOOTER_CONFIG,\n DEFAULT_GR_DRAWER_HEADER_CONFIG,\n footerBorderClass,\n grDrawerAxis,\n grDrawerPanelClass,\n grDrawerPanelEnterFrom,\n headerBorderClass,\n overlayClass,\n resolveGrDrawerSectionConfig,\n rootClass,\n rootPassThroughClass,\n srOnlyTitleClass,\n titleClass,\n type GrDrawerSectionConfig,\n type GrDrawerSide,\n type GrDrawerSize,\n} from './grDrawerStyles'\n\nimport IconClose from '~icons/lucide/x'\n\nimport './defaults'\n\nexport interface GrDrawerProps {\n /** Контроль открытия через v-model. */\n modelValue: boolean\n /** Заголовок; если передан — покажется в хедере. Можно переопределить слотом `#title`. */\n title?: string\n /**\n * Модальная панель: подложка, блокировка скролла, `inert` остальной странице\n * и ловушка фокуса. `false` — панель живёт рядом со страницей: с ней работают,\n * не закрывая, а Tab уходит наружу.\n */\n modal?: boolean\n /** Закрывать при клике по бэкдропу. В немодальном режиме подложки нет. */\n closeOnBackdrop?: boolean\n /** Закрывать по Esc. */\n closeOnEsc?: boolean\n /**\n * Запрет закрытия «мягкими» способами (бэкдроп, Esc) — на время операции,\n * которую нельзя бросить на полпути. Кнопка закрытия при этом остаётся:\n * панель без единого выхода — ловушка.\n */\n persistent?: boolean\n /** Сторона, с которой выезжает панель. */\n side?: GrDrawerSide\n /** Размер панели по её оси: ширина у боковых, высота у верхней и нижней. */\n size?: GrDrawerSize\n /** Произвольная ширина боковой панели. Число трактуется как пиксели; сильнее `size`. */\n width?: string | number\n /** Произвольная высота верхней или нижней панели. Число трактуется как пиксели. */\n height?: string | number\n /** Рендерить ли хедер (заголовок + кнопка закрытия). */\n showHeader?: boolean\n /** Рендерить ли кнопку закрытия в хедере. */\n showCloseButton?: boolean\n /** Паддинги и рамка секций — как у `GrDialog`. */\n headerConfig?: GrDrawerSectionConfig\n bodyConfig?: GrDrawerSectionConfig\n footerConfig?: GrDrawerSectionConfig\n /** Элемент, получающий фокус при открытии. По умолчанию — сама панель. */\n initialFocus?: HTMLElement | null\n /** i18n-friendly aria-label для кнопки закрытия. */\n closeLabel?: string\n}\n\nexport interface GrDrawerEmits {\n (e: 'update:modelValue', value: boolean): void\n /** Панель выехала и анимация закончилась. */\n (e: 'opened'): void\n /** Панель уехала и анимация закончилась. */\n (e: 'closed'): void\n}\n\n// Дефолты оформления намеренно `undefined`: «настоящий» дефолт живёт в\n// `useGrComponentProp`, иначе `GrConfigProvider` не отличит заданный\n// пользователем проп от подставленного Vue.\nconst props = withDefaults(defineProps<GrDrawerProps>(), {\n title: undefined,\n modal: true,\n closeOnBackdrop: true,\n closeOnEsc: true,\n persistent: false,\n side: undefined,\n size: undefined,\n width: undefined,\n height: undefined,\n showHeader: true,\n showCloseButton: true,\n headerConfig: undefined,\n bodyConfig: undefined,\n footerConfig: undefined,\n initialFocus: null,\n closeLabel: undefined,\n})\n\nconst { t } = useGranularityTranslations()\nconst resolvedCloseLabel = computed(() => props.closeLabel ?? t('gr.common.close', 'Close'))\n\nconst emit = defineEmits<GrDrawerEmits>()\n\nconst slots = defineSlots<{\n default?: () => any\n title?: () => any\n /** Своя шапка целиком: заголовок, кнопка закрытия и всё, что нужно рядом. */\n header?: (props: { title?: string, close: () => void }) => any\n footer?: () => any\n}>()\n\nconst titleId = useId()\n\nconst size = useGrComponentProp('GrDrawer', 'size', () => props.size, 'md')\nconst side = useGrComponentProp('GrDrawer', 'side', () => props.side, 'right')\n\nconst axis = computed(() => grDrawerAxis(side.value))\n\n// Пустой/пробельный заголовок считается отсутствующим — иначе хедер занимал бы\n// место ради строки-заглушки.\nconst resolvedTitle = computed(() => props.title?.trim() || undefined)\nconst hasTitle = computed(() => Boolean(resolvedTitle.value) || Boolean(slots.title))\nconst hasCustomHeader = computed(() => Boolean(slots.header))\nconst hasHeader = computed(() =>\n props.showHeader && (hasCustomHeader.value || hasTitle.value || props.showCloseButton),\n)\n\n/**\n * Видимый заголовок рисуется только в стандартной шапке. Со своей шапкой и без\n * шапки вовсе заголовок всё равно нужен — но скрытым: имя слоя обязано остаться\n * осмысленным, а не свалиться на обобщённое «Drawer» из локали.\n */\nconst showVisibleTitle = computed(() =>\n props.showHeader && !hasCustomHeader.value && hasTitle.value,\n)\nconst showSrOnlyTitle = computed(() => hasTitle.value && !showVisibleTitle.value)\n\n// Имя модального слоя обязательно: без него axe роняет `aria-dialog-name`.\n// Есть заголовок — связываем `aria-labelledby`, иначе даём `aria-label` из i18n.\nconst labelledBy = computed(() => (hasTitle.value ? titleId : undefined))\nconst ariaLabel = computed(() => (labelledBy.value ? undefined : t('gr.drawer.title', 'Drawer')))\n\nconst panelEl = ref<HTMLElement | null>(null)\n\n/** Произвольный размер — только по оси панели: у боковой ширина, у нижней высота. */\nconst customLength = computed(() => (axis.value === 'horizontal' ? props.width : props.height))\n\nconst panelClass = computed(() => grDrawerPanelClass({\n side: side.value,\n size: size.value,\n hasCustomLength: customLength.value !== undefined,\n}))\n\nconst panelStyle = computed(() => {\n const length = customLength.value\n if (length === undefined) return undefined\n\n const value = typeof length === 'number' ? `${length}px` : length\n return axis.value === 'horizontal' ? { width: value } : { height: value }\n})\n\n// Проп не своей оси молча не работал бы — а выглядит это как баг компонента.\nif (process.env.NODE_ENV !== 'production') {\n watch(\n [axis, () => props.width, () => props.height],\n ([currentAxis, width, height]) => {\n const ignored = currentAxis === 'horizontal' ? 'height' : 'width'\n const value = currentAxis === 'horizontal' ? height : width\n if (value === undefined) return\n\n console.warn(\n `[GrDrawer] Проп \\`${ignored}\\` не применяется к стороне \"${side.value}\": `\n + `панель по этой оси растянута. Задайте \\`${ignored === 'height' ? 'width' : 'height'}\\`.`,\n )\n },\n { immediate: true },\n )\n}\n\nconst panelEnterFrom = computed(() => grDrawerPanelEnterFrom(side.value))\n\nconst headerSection = computed(() => resolveGrDrawerSectionConfig(props.headerConfig, DEFAULT_GR_DRAWER_HEADER_CONFIG))\nconst bodySection = computed(() => resolveGrDrawerSectionConfig(props.bodyConfig, DEFAULT_GR_DRAWER_BODY_CONFIG))\nconst footerSection = computed(() => resolveGrDrawerSectionConfig(props.footerConfig, DEFAULT_GR_DRAWER_FOOTER_CONFIG))\n\nfunction sectionClass(\n section: { paddingX: string, paddingY: string, bordered: boolean },\n borderClass: string,\n): string[] {\n return [section.paddingX, section.paddingY, section.bordered ? borderClass : '']\n}\n\nfunction close(): void {\n emit('update:modelValue', false)\n}\n\n/** Закрытие «мягким» способом: бэкдроп или Esc. `persistent` их и запрещает. */\nfunction closeSoftly(): void {\n if (props.persistent)\n return\n\n close()\n}\n\nconst rootClasses = computed(() => [rootClass, props.modal ? '' : rootPassThroughClass].filter(Boolean))\n\n// Немодальная панель остаётся в очереди Esc, но модалки под собой в `inert` не\n// отправляет и скролл не блокирует: она существует ровно ради работы со\n// страницей под ней, и Tab обязан уводить фокус туда.\nconst {\n rootEl,\n isMounted,\n isVisible,\n inertAttr,\n portalTarget,\n teleportEnabled,\n themeAttrs,\n onPanelAfterLeave: releasePresence,\n backdrop,\n} = useModalOverlay(computed(() => props.modelValue), closeSoftly, {\n panel: panelEl,\n modal: () => props.modal,\n closeOnEscape: () => props.closeOnEsc && !props.persistent,\n closeOnBackdrop: () => props.closeOnBackdrop,\n initialFocus: () => props.initialFocus ?? panelEl.value,\n})\n\nfunction onPanelAfterLeave(): void {\n releasePresence()\n emit('closed')\n}\n\ndefineExpose({\n /** Закрыть панель (эквивалент `v-model = false`), минуя `persistent`. */\n close,\n /** Вернуть фокус на панель — например после операции, уведшей его наружу. */\n focus: () => panelEl.value?.focus(),\n})\n</script>\n\n<template>\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <div\n v-if=\"teleportEnabled && isMounted\"\n ref=\"rootEl\"\n data-gr-drawer\n data-gr-overlay-root\n role=\"dialog\"\n :aria-modal=\"modal ? 'true' : undefined\"\n :class=\"rootClasses\"\n :inert=\"inertAttr\"\n :aria-labelledby=\"labelledBy\"\n :aria-label=\"ariaLabel\"\n >\n <Transition\n appear\n enter-active-class=\"duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]\"\n enter-from-class=\"opacity-0\"\n leave-active-class=\"duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-in)]\"\n leave-to-class=\"opacity-0\"\n >\n <div\n v-if=\"isVisible && modal\"\n data-gr-drawer-overlay\n :class=\"overlayClass\"\n aria-hidden=\"true\"\n v-on=\"backdrop\"\n />\n </Transition>\n\n <Transition\n appear\n enter-active-class=\"duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]\"\n :enter-from-class=\"panelEnterFrom\"\n leave-active-class=\"duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-in)]\"\n :leave-to-class=\"panelEnterFrom\"\n @after-enter=\"emit('opened')\"\n @after-leave=\"onPanelAfterLeave\"\n >\n <div\n v-if=\"isVisible\"\n ref=\"panelEl\"\n v-bind=\"themeAttrs\"\n data-gr-drawer-panel\n tabindex=\"-1\"\n :class=\"panelClass\"\n :style=\"panelStyle\"\n >\n <!-- Заголовок без видимой шапки: имя слоя обязано остаться своим. -->\n <div\n v-if=\"showSrOnlyTitle\"\n :id=\"titleId\"\n data-gr-drawer-title\n :class=\"srOnlyTitleClass\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </div>\n\n <div\n v-if=\"hasHeader\"\n data-gr-drawer-header\n :class=\"[hasCustomHeader ? '' : 'flex items-center justify-between gap-4', sectionClass(headerSection, headerBorderClass)]\"\n >\n <slot name=\"header\" :title=\"resolvedTitle\" :close=\"close\">\n <div\n v-if=\"showVisibleTitle\"\n :id=\"titleId\"\n data-gr-drawer-title\n :class=\"titleClass\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </div>\n <div v-else class=\"min-w-0 flex-1\" />\n\n <GrButton\n v-if=\"showCloseButton\"\n variant=\"ghost\"\n size=\"sm\"\n square\n data-gr-drawer-close\n :aria-label=\"resolvedCloseLabel\"\n @click=\"close\"\n >\n <GrIcon size=\"sm\">\n <IconClose />\n </GrIcon>\n </GrButton>\n </slot>\n </div>\n\n <!-- Тело скроллится, поэтому обязано попадать в таб-порядок: длинный\n текст без единого фокусируемого элемента иначе не прокрутить с\n клавиатуры (axe: `scrollable-region-focusable`). -->\n <div\n data-gr-drawer-body\n tabindex=\"0\"\n class=\"min-h-0 flex-1 overflow-y-auto\"\n >\n <div :class=\"sectionClass(bodySection, '')\">\n <slot />\n </div>\n </div>\n\n <div\n v-if=\"$slots.footer\"\n data-gr-drawer-footer\n :class=\"sectionClass(footerSection, footerBorderClass)\"\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </Transition>\n </div>\n </teleport>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, ref, useId, watch } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { useGrComponentProp } from '../GrConfigProvider/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n// Модальный слой целиком: стек (Esc верхнему, `inert` нижним модалкам), ловушка\n// фокуса, скролл-лок, портал. Немодальная панель регистрируется в стеке как\n// обычный dismissible-слой и страницу под собой не трогает.\nimport { useModalOverlay } from '../../composables/internal/useModalOverlay'\nimport {\n DEFAULT_GR_DRAWER_BODY_CONFIG,\n DEFAULT_GR_DRAWER_FOOTER_CONFIG,\n DEFAULT_GR_DRAWER_HEADER_CONFIG,\n footerBorderClass,\n grDrawerAxis,\n grDrawerPanelClass,\n grDrawerPanelEnterFrom,\n headerBorderClass,\n overlayClass,\n resolveGrDrawerSectionConfig,\n rootClass,\n rootPassThroughClass,\n srOnlyTitleClass,\n titleClass,\n type GrDrawerSectionConfig,\n type GrDrawerSide,\n type GrDrawerSize,\n} from './grDrawerStyles'\n\nimport IconClose from '~icons/lucide/x'\n\nimport './defaults'\n\nexport interface GrDrawerProps {\n /** Контроль открытия через v-model. */\n modelValue: boolean\n /** Заголовок; если передан — покажется в хедере. Можно переопределить слотом `#title`. */\n title?: string\n /**\n * Модальная панель: подложка, блокировка скролла, `inert` остальной странице\n * и ловушка фокуса. `false` — панель живёт рядом со страницей: с ней работают,\n * не закрывая, а Tab уходит наружу.\n */\n modal?: boolean\n /** Закрывать при клике по бэкдропу. В немодальном режиме подложки нет. */\n closeOnBackdrop?: boolean\n /** Закрывать по Esc. */\n closeOnEsc?: boolean\n /**\n * Запрет закрытия «мягкими» способами (бэкдроп, Esc) — на время операции,\n * которую нельзя бросить на полпути. Кнопка закрытия при этом остаётся:\n * панель без единого выхода — ловушка.\n */\n persistent?: boolean\n /** Сторона, с которой выезжает панель. */\n side?: GrDrawerSide\n /** Размер панели по её оси: ширина у боковых, высота у верхней и нижней. */\n size?: GrDrawerSize\n /** Произвольная ширина боковой панели. Число трактуется как пиксели; сильнее `size`. */\n width?: string | number\n /** Произвольная высота верхней или нижней панели. Число трактуется как пиксели. */\n height?: string | number\n /** Рендерить ли хедер (заголовок + кнопка закрытия). */\n showHeader?: boolean\n /** Рендерить ли кнопку закрытия в хедере. */\n showCloseButton?: boolean\n /** Паддинги и рамка секций — как у `GrDialog`. */\n headerConfig?: GrDrawerSectionConfig\n bodyConfig?: GrDrawerSectionConfig\n footerConfig?: GrDrawerSectionConfig\n /** Элемент, получающий фокус при открытии. По умолчанию — сама панель. */\n initialFocus?: HTMLElement | null\n /** i18n-friendly aria-label для кнопки закрытия. */\n closeLabel?: string\n}\n\nexport interface GrDrawerEmits {\n (e: 'update:modelValue', value: boolean): void\n /** Панель выехала и анимация закончилась. */\n (e: 'opened'): void\n /** Панель уехала и анимация закончилась. */\n (e: 'closed'): void\n}\n\n// Дефолты оформления намеренно `undefined`: «настоящий» дефолт живёт в\n// `useGrComponentProp`, иначе `GrConfigProvider` не отличит заданный\n// пользователем проп от подставленного Vue.\nconst props = withDefaults(defineProps<GrDrawerProps>(), {\n title: undefined,\n modal: true,\n closeOnBackdrop: true,\n closeOnEsc: true,\n persistent: false,\n side: undefined,\n size: undefined,\n width: undefined,\n height: undefined,\n showHeader: true,\n showCloseButton: true,\n headerConfig: undefined,\n bodyConfig: undefined,\n footerConfig: undefined,\n initialFocus: null,\n closeLabel: undefined,\n})\n\nconst { t } = useGranularityTranslations()\nconst resolvedCloseLabel = computed(() => props.closeLabel ?? t('gr.common.close', 'Close'))\n\nconst emit = defineEmits<GrDrawerEmits>()\n\nconst slots = defineSlots<{\n default?: () => any\n title?: () => any\n /** Своя шапка целиком: заголовок, кнопка закрытия и всё, что нужно рядом. */\n header?: (props: { title?: string, close: () => void }) => any\n footer?: () => any\n}>()\n\nconst titleId = useId()\n\nconst size = useGrComponentProp('GrDrawer', 'size', () => props.size, 'md')\nconst side = useGrComponentProp('GrDrawer', 'side', () => props.side, 'right')\n\nconst axis = computed(() => grDrawerAxis(side.value))\n\n// Пустой/пробельный заголовок считается отсутствующим — иначе хедер занимал бы\n// место ради строки-заглушки.\nconst resolvedTitle = computed(() => props.title?.trim() || undefined)\nconst hasTitle = computed(() => Boolean(resolvedTitle.value) || Boolean(slots.title))\nconst hasCustomHeader = computed(() => Boolean(slots.header))\nconst hasHeader = computed(() =>\n props.showHeader && (hasCustomHeader.value || hasTitle.value || props.showCloseButton),\n)\n\n/**\n * Видимый заголовок рисуется только в стандартной шапке. Со своей шапкой и без\n * шапки вовсе заголовок всё равно нужен — но скрытым: имя слоя обязано остаться\n * осмысленным, а не свалиться на обобщённое «Drawer» из локали.\n */\nconst showVisibleTitle = computed(() =>\n props.showHeader && !hasCustomHeader.value && hasTitle.value,\n)\nconst showSrOnlyTitle = computed(() => hasTitle.value && !showVisibleTitle.value)\n\n// Имя модального слоя обязательно: без него axe роняет `aria-dialog-name`.\n// Есть заголовок — связываем `aria-labelledby`, иначе даём `aria-label` из i18n.\nconst labelledBy = computed(() => (hasTitle.value ? titleId : undefined))\nconst ariaLabel = computed(() => (labelledBy.value ? undefined : t('gr.drawer.title', 'Drawer')))\n\nconst panelEl = ref<HTMLElement | null>(null)\n\n/** Произвольный размер — только по оси панели: у боковой ширина, у нижней высота. */\nconst customLength = computed(() => (axis.value === 'horizontal' ? props.width : props.height))\n\nconst panelClass = computed(() => grDrawerPanelClass({\n side: side.value,\n size: size.value,\n hasCustomLength: customLength.value !== undefined,\n}))\n\nconst panelStyle = computed(() => {\n const length = customLength.value\n if (length === undefined) return undefined\n\n const value = typeof length === 'number' ? `${length}px` : length\n return axis.value === 'horizontal' ? { width: value } : { height: value }\n})\n\n// Проп не своей оси молча не работал бы — а выглядит это как баг компонента.\nif (process.env.NODE_ENV !== 'production') {\n watch(\n [axis, () => props.width, () => props.height],\n ([currentAxis, width, height]) => {\n const ignored = currentAxis === 'horizontal' ? 'height' : 'width'\n const value = currentAxis === 'horizontal' ? height : width\n if (value === undefined) return\n\n console.warn(\n `[GrDrawer] Проп \\`${ignored}\\` не применяется к стороне \"${side.value}\": `\n + `панель по этой оси растянута. Задайте \\`${ignored === 'height' ? 'width' : 'height'}\\`.`,\n )\n },\n { immediate: true },\n )\n}\n\nconst panelEnterFrom = computed(() => grDrawerPanelEnterFrom(side.value))\n\nconst headerSection = computed(() => resolveGrDrawerSectionConfig(props.headerConfig, DEFAULT_GR_DRAWER_HEADER_CONFIG))\nconst bodySection = computed(() => resolveGrDrawerSectionConfig(props.bodyConfig, DEFAULT_GR_DRAWER_BODY_CONFIG))\nconst footerSection = computed(() => resolveGrDrawerSectionConfig(props.footerConfig, DEFAULT_GR_DRAWER_FOOTER_CONFIG))\n\nfunction sectionClass(\n section: { paddingX: string, paddingY: string, bordered: boolean },\n borderClass: string,\n): string[] {\n return [section.paddingX, section.paddingY, section.bordered ? borderClass : '']\n}\n\nfunction close(): void {\n emit('update:modelValue', false)\n}\n\n/** Закрытие «мягким» способом: бэкдроп или Esc. `persistent` их и запрещает. */\nfunction closeSoftly(): void {\n if (props.persistent)\n return\n\n close()\n}\n\nconst rootClasses = computed(() => [rootClass, props.modal ? '' : rootPassThroughClass].filter(Boolean))\n\n// Немодальная панель остаётся в очереди Esc, но модалки под собой в `inert` не\n// отправляет и скролл не блокирует: она существует ровно ради работы со\n// страницей под ней, и Tab обязан уводить фокус туда.\nconst {\n rootEl,\n isMounted,\n isVisible,\n inertAttr,\n portalTarget,\n teleportEnabled,\n themeAttrs,\n onPanelAfterLeave: releasePresence,\n backdrop,\n} = useModalOverlay(computed(() => props.modelValue), closeSoftly, {\n panel: panelEl,\n modal: () => props.modal,\n closeOnEscape: () => props.closeOnEsc && !props.persistent,\n closeOnBackdrop: () => props.closeOnBackdrop,\n initialFocus: () => props.initialFocus ?? panelEl.value,\n})\n\nfunction onPanelAfterLeave(): void {\n releasePresence()\n emit('closed')\n}\n\ndefineExpose({\n /** Закрыть панель (эквивалент `v-model = false`), минуя `persistent`. */\n close,\n /** Вернуть фокус на панель — например после операции, уведшей его наружу. */\n focus: () => panelEl.value?.focus(),\n})\n</script>\n\n<template>\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <div\n v-if=\"teleportEnabled && isMounted\"\n ref=\"rootEl\"\n data-gr-drawer\n data-gr-overlay-root\n role=\"dialog\"\n :aria-modal=\"modal ? 'true' : undefined\"\n :class=\"rootClasses\"\n :inert=\"inertAttr\"\n :aria-labelledby=\"labelledBy\"\n :aria-label=\"ariaLabel\"\n >\n <Transition\n appear\n enter-active-class=\"duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]\"\n enter-from-class=\"opacity-0\"\n leave-active-class=\"duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-in)]\"\n leave-to-class=\"opacity-0\"\n >\n <div\n v-if=\"isVisible && modal\"\n data-gr-drawer-overlay\n :class=\"overlayClass\"\n aria-hidden=\"true\"\n v-on=\"backdrop\"\n />\n </Transition>\n\n <Transition\n appear\n enter-active-class=\"duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]\"\n :enter-from-class=\"panelEnterFrom\"\n leave-active-class=\"duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-in)]\"\n :leave-to-class=\"panelEnterFrom\"\n @after-enter=\"emit('opened')\"\n @after-leave=\"onPanelAfterLeave\"\n >\n <div\n v-if=\"isVisible\"\n ref=\"panelEl\"\n v-bind=\"themeAttrs\"\n data-gr-drawer-panel\n tabindex=\"-1\"\n :class=\"panelClass\"\n :style=\"panelStyle\"\n >\n <!-- Заголовок без видимой шапки: имя слоя обязано остаться своим. -->\n <div\n v-if=\"showSrOnlyTitle\"\n :id=\"titleId\"\n data-gr-drawer-title\n :class=\"srOnlyTitleClass\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </div>\n\n <div\n v-if=\"hasHeader\"\n data-gr-drawer-header\n :class=\"[hasCustomHeader ? '' : 'flex items-center justify-between gap-4', sectionClass(headerSection, headerBorderClass)]\"\n >\n <slot name=\"header\" :title=\"resolvedTitle\" :close=\"close\">\n <div\n v-if=\"showVisibleTitle\"\n :id=\"titleId\"\n data-gr-drawer-title\n :class=\"titleClass\"\n >\n <slot name=\"title\">\n {{ resolvedTitle }}\n </slot>\n </div>\n <div v-else class=\"min-w-0 flex-1\" />\n\n <GrButton\n v-if=\"showCloseButton\"\n variant=\"ghost\"\n size=\"sm\"\n square\n data-gr-drawer-close\n :aria-label=\"resolvedCloseLabel\"\n @click=\"close\"\n >\n <GrIcon size=\"sm\">\n <IconClose />\n </GrIcon>\n </GrButton>\n </slot>\n </div>\n\n <!-- Тело скроллится, поэтому обязано попадать в таб-порядок: длинный\n текст без единого фокусируемого элемента иначе не прокрутить с\n клавиатуры (axe: `scrollable-region-focusable`). -->\n <div\n data-gr-drawer-body\n tabindex=\"0\"\n class=\"min-h-0 flex-1 overflow-y-auto\"\n >\n <div :class=\"sectionClass(bodySection, '')\">\n <slot />\n </div>\n </div>\n\n <div\n v-if=\"$slots.footer\"\n data-gr-drawer-footer\n :class=\"sectionClass(footerSection, footerBorderClass)\"\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </Transition>\n </div>\n </teleport>\n</template>\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { n as grDrawerSafelist, t as grDrawerConfig } from "../../chunks/config-BmNT0Fmx.js";
2
- import { t as GrDrawer_default } from "./chunks/GrDrawer-KevdZ5BB.js";
1
+ import { n as grDrawerSafelist, t as grDrawerConfig } from "../../chunks/config-D94Z9po52.js";
2
+ import { t as GrDrawer_default } from "./chunks/GrDrawer-DQwi6aRw.js";
3
3
  export { GrDrawer_default as GrDrawer, GrDrawer_default as default, grDrawerConfig, grDrawerSafelist };
@@ -0,0 +1,300 @@
1
+ import { c as useGrThemeAttrs } from "../../../chunks/context-BSYR7RZs.js";
2
+ import { t as usePortalTarget } from "../../../chunks/usePortalTarget-RyzEgNTb.js";
3
+ import { vClickOutside } from "../../../directives/clickOutside.js";
4
+ import { r as isEditableTarget } from "../../../chunks/keyboard-zYvvyHd4.js";
5
+ import { useFloating } from "../../../composables/useFloating.js";
6
+ import { t as useOverlayLayer } from "../../../chunks/useOverlayLayer-BupuP_hs.js";
7
+ import { t as useControlledOpen } from "../../../chunks/useControlledOpen-DV3SqLTP.js";
8
+ import { t as getFocusableElements } from "../../../chunks/focusables-BkzK42SQ.js";
9
+ import { n as grDropdownContentClass, r as grDropdownOriginClass } from "../../../chunks/grDropdownStyles-V7TRiCXn.js";
10
+ import { Teleport, Transition, computed, createBlock, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeClass, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, unref, useId, vShow, watch, withCtx, withDirectives } from "vue";
11
+ //#region src/components/GrDropdown/GrDropdown.vue?vue&type=script&setup=true&lang.ts
12
+ var _hoisted_1 = { "data-gr-dropdown": "" };
13
+ var _hoisted_2 = ["id"];
14
+ var TYPEAHEAD_RESET_MS = 600;
15
+ //#endregion
16
+ //#region src/components/GrDropdown/GrDropdown.vue
17
+ var GrDropdown_default = /* @__PURE__ */ defineComponent({
18
+ __name: "GrDropdown",
19
+ props: {
20
+ placement: { default: "bottom-end" },
21
+ offset: { default: 8 },
22
+ width: { default: "12rem" },
23
+ trigger: { default: "click" },
24
+ openDelay: { default: 120 },
25
+ closeDelay: { default: 160 },
26
+ disabled: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ closeOnContentClick: {
31
+ type: Boolean,
32
+ default: true
33
+ },
34
+ contentClass: { default: "" },
35
+ teleportTo: { default: void 0 },
36
+ open: {
37
+ type: Boolean,
38
+ default: void 0
39
+ }
40
+ },
41
+ emits: ["update:open"],
42
+ setup(__props, { expose: __expose, emit: __emit }) {
43
+ const props = __props;
44
+ const emit = __emit;
45
+ const { open: isOpen, setOpen } = useControlledOpen(() => props.open, (next) => emit("update:open", next));
46
+ const rootEl = ref(null);
47
+ const panelEl = ref(null);
48
+ const clickOutsideExclude = [() => panelEl.value];
49
+ const panelId = useId();
50
+ /**
51
+ * Кольцо roving-фокуса.
52
+ *
53
+ * `tabbableOnly: false` — не оплошность: пункты меню намеренно `tabindex="-1"`
54
+ * (см. `GrDropdownMenuItem`), и список участников таб-порядка был бы пуст.
55
+ */
56
+ function panelItems() {
57
+ return getFocusableElements(panelEl.value, { tabbableOnly: false });
58
+ }
59
+ function focusItemAt(index) {
60
+ const items = panelItems();
61
+ if (items.length === 0) return;
62
+ items[(index + items.length) % items.length]?.focus();
63
+ }
64
+ async function openWithFocus(first) {
65
+ if (props.disabled) return;
66
+ setOpen(true);
67
+ await nextTick();
68
+ focusItemAt(first ? 0 : -1);
69
+ }
70
+ /**
71
+ * Пропсы для реального фокусируемого триггера (кнопки). Консьюмер биндит их на
72
+ * элемент внутри слота `#trigger`: `<GrButton v-bind="triggerProps">`. Даёт
73
+ * `aria-haspopup`/`aria-expanded`/`aria-controls`, клавиатуру и **клик**.
74
+ *
75
+ * Клик живёт здесь, а не на обёртке слота: обёртка ловила бы и клики по
76
+ * вложенным кнопкам и ссылкам, переключая панель мимо намерения пользователя.
77
+ */
78
+ const triggerProps = computed(() => ({
79
+ "aria-haspopup": "menu",
80
+ "aria-expanded": isOpen.value,
81
+ "aria-controls": isOpen.value ? panelId : void 0,
82
+ "aria-disabled": props.disabled ? true : void 0,
83
+ "onClick": toggle,
84
+ "onKeydown": onTriggerKeydown
85
+ }));
86
+ function onTriggerKeydown(event) {
87
+ if (props.disabled) return;
88
+ switch (event.key) {
89
+ case "Enter":
90
+ case " ":
91
+ case "ArrowDown":
92
+ event.preventDefault();
93
+ openWithFocus(true);
94
+ break;
95
+ case "ArrowUp":
96
+ event.preventDefault();
97
+ openWithFocus(false);
98
+ break;
99
+ case "Escape":
100
+ if (isOpen.value) {
101
+ event.preventDefault();
102
+ close();
103
+ }
104
+ break;
105
+ }
106
+ }
107
+ /**
108
+ * Typeahead паттерна menu: печатные символы копятся в буфер и переводят фокус
109
+ * на первый подходящий пункт, начиная со следующего за текущим.
110
+ */
111
+ let typeaheadBuffer = "";
112
+ let typeaheadTimer;
113
+ function onTypeahead(char) {
114
+ clearTimeout(typeaheadTimer);
115
+ typeaheadTimer = setTimeout(() => {
116
+ typeaheadBuffer = "";
117
+ }, TYPEAHEAD_RESET_MS);
118
+ typeaheadBuffer = typeaheadBuffer.length === 1 && typeaheadBuffer === char ? char : typeaheadBuffer + char;
119
+ const query = typeaheadBuffer.toLowerCase();
120
+ const items = panelItems();
121
+ if (items.length === 0) return;
122
+ const currentIndex = items.indexOf(document.activeElement);
123
+ for (let step = 1; step <= items.length; step += 1) {
124
+ const item = items[(currentIndex + step + items.length) % items.length];
125
+ if ((item.textContent ?? "").trim().toLowerCase().startsWith(query)) {
126
+ item.focus();
127
+ return;
128
+ }
129
+ }
130
+ }
131
+ function onPanelKeydown(event) {
132
+ const currentIndex = panelItems().indexOf(document.activeElement);
133
+ const editable = isEditableTarget(event.target);
134
+ switch (event.key) {
135
+ case "ArrowDown":
136
+ event.preventDefault();
137
+ focusItemAt(currentIndex + 1);
138
+ return;
139
+ case "ArrowUp":
140
+ event.preventDefault();
141
+ focusItemAt(currentIndex - 1);
142
+ return;
143
+ case "Home":
144
+ if (editable) return;
145
+ event.preventDefault();
146
+ focusItemAt(0);
147
+ return;
148
+ case "End":
149
+ if (editable) return;
150
+ event.preventDefault();
151
+ focusItemAt(-1);
152
+ return;
153
+ case "Tab":
154
+ close();
155
+ return;
156
+ }
157
+ if (editable) return;
158
+ if (event.key === " " && typeaheadBuffer === "") return;
159
+ if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
160
+ event.preventDefault();
161
+ onTypeahead(event.key);
162
+ }
163
+ }
164
+ const { floatingStyle, resolvedPlacement, update: updateFloatingPosition } = useFloating(rootEl, panelEl, isOpen, {
165
+ placement: () => props.placement,
166
+ get offsetPx() {
167
+ return props.offset;
168
+ },
169
+ zIndexVar: "--gr-z-dropdown"
170
+ });
171
+ let hoverTimer;
172
+ function open() {
173
+ if (props.disabled) return;
174
+ clearTimeout(hoverTimer);
175
+ setOpen(true);
176
+ }
177
+ function toggle() {
178
+ if (props.disabled) return;
179
+ clearTimeout(hoverTimer);
180
+ setOpen(!isOpen.value);
181
+ }
182
+ function close() {
183
+ clearTimeout(hoverTimer);
184
+ setOpen(false);
185
+ }
186
+ function scheduleHover(next, delayMs) {
187
+ clearTimeout(hoverTimer);
188
+ if (delayMs <= 0) {
189
+ setOpen(next);
190
+ return;
191
+ }
192
+ hoverTimer = setTimeout(setOpen, delayMs, next);
193
+ }
194
+ function onHoverEnter() {
195
+ if (props.disabled || props.trigger !== "hover") return;
196
+ scheduleHover(true, props.openDelay);
197
+ }
198
+ function onHoverLeave() {
199
+ if (props.trigger !== "hover") return;
200
+ scheduleHover(false, props.closeDelay);
201
+ }
202
+ useOverlayLayer(isOpen, close, { root: panelEl });
203
+ watch(() => [props.placement, props.offset], () => {
204
+ if (isOpen.value) updateFloatingPosition();
205
+ });
206
+ watch(() => props.disabled, (value) => {
207
+ if (value) close();
208
+ });
209
+ function toCssLength(value) {
210
+ if (value === "auto") return void 0;
211
+ if (typeof value === "number") return `${value}px`;
212
+ const bare = value.trim();
213
+ if (/^\d+$/.test(bare)) {
214
+ if (process.env.NODE_ENV !== "production") console.warn(`[GrDropdown] width="${value}" трактуется как ${bare}px. Шкалы tailwind-токенов (w-48) у пропа больше нет — укажите единицы: width="${bare}px" или :width="${bare}".`);
215
+ return `${bare}px`;
216
+ }
217
+ return value;
218
+ }
219
+ const panelStyle = computed(() => {
220
+ const width = toCssLength(props.width);
221
+ return width ? {
222
+ ...floatingStyle.value,
223
+ width
224
+ } : floatingStyle.value;
225
+ });
226
+ const contentClasses = computed(() => grDropdownContentClass(props.contentClass));
227
+ const panelClasses = computed(() => grDropdownOriginClass(resolvedPlacement.value));
228
+ function onContentClick() {
229
+ if (props.closeOnContentClick) close();
230
+ }
231
+ onMounted(() => {
232
+ if (process.env.NODE_ENV === "production") return;
233
+ if (rootEl.value?.querySelector("[aria-haspopup]")) return;
234
+ console.warn("[GrDropdown] триггер не привязан: добавьте `v-bind=\"triggerProps\"` на элемент внутри слота #trigger — <template #trigger=\"{ triggerProps }\"><GrButton v-bind=\"triggerProps\">…</GrButton></template>. Без этого у триггера нет ни клика, ни клавиатуры, ни aria-haspopup/aria-expanded.");
235
+ });
236
+ onBeforeUnmount(() => {
237
+ clearTimeout(typeaheadTimer);
238
+ clearTimeout(hoverTimer);
239
+ });
240
+ const { target: portalTarget, enabled: teleportEnabled } = usePortalTarget(() => props.teleportTo);
241
+ const themeAttrs = useGrThemeAttrs();
242
+ __expose({
243
+ open,
244
+ close,
245
+ toggle
246
+ });
247
+ return (_ctx, _cache) => {
248
+ return openBlock(), createElementBlock("div", _hoisted_1, [withDirectives((openBlock(), createElementBlock("div", {
249
+ ref_key: "rootEl",
250
+ ref: rootEl,
251
+ "data-gr-dropdown-trigger": "",
252
+ class: "inline-block max-w-full",
253
+ onMouseenter: onHoverEnter,
254
+ onMouseleave: onHoverLeave
255
+ }, [renderSlot(_ctx.$slots, "trigger", {
256
+ open: unref(isOpen),
257
+ toggle,
258
+ close,
259
+ triggerProps: triggerProps.value
260
+ })], 32)), [[unref(vClickOutside), {
261
+ handler: close,
262
+ enabled: unref(isOpen),
263
+ exclude: clickOutsideExclude
264
+ }]]), (openBlock(), createBlock(Teleport, {
265
+ to: unref(portalTarget),
266
+ disabled: !unref(teleportEnabled)
267
+ }, [createVNode(Transition, {
268
+ "enter-active-class": "transition ease-[var(--gr-ease-out)] duration-[var(--gr-duration-fast)]",
269
+ "enter-from-class": "transform opacity-0 scale-95",
270
+ "enter-to-class": "transform opacity-100 scale-100",
271
+ "leave-active-class": "transition ease-[var(--gr-ease-in)] duration-[var(--gr-duration-fast)]",
272
+ "leave-from-class": "transform opacity-100 scale-100",
273
+ "leave-to-class": "transform opacity-0 scale-95"
274
+ }, {
275
+ default: withCtx(() => [withDirectives(createElementVNode("div", mergeProps({
276
+ id: unref(panelId),
277
+ ref_key: "panelEl",
278
+ ref: panelEl
279
+ }, unref(themeAttrs), {
280
+ "data-gr-dropdown-panel": "",
281
+ "data-gr-overlay-root": "",
282
+ role: "menu",
283
+ tabindex: "-1",
284
+ class: panelClasses.value,
285
+ style: panelStyle.value,
286
+ onClick: onContentClick,
287
+ onKeydown: onPanelKeydown,
288
+ onMouseenter: onHoverEnter,
289
+ onMouseleave: onHoverLeave
290
+ }), [createElementVNode("div", {
291
+ "data-gr-dropdown-content": "",
292
+ class: normalizeClass(contentClasses.value)
293
+ }, [renderSlot(_ctx.$slots, "content", { close })], 2)], 16, _hoisted_2), [[vShow, unref(isOpen)]])]),
294
+ _: 3
295
+ })], 8, ["to", "disabled"]))]);
296
+ };
297
+ }
298
+ });
299
+ //#endregion
300
+ export { GrDropdown_default as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrDropdown-BLng6V1m.js","names":[],"sources":["../../../../src/components/GrDropdown/GrDropdown.vue","../../../../src/components/GrDropdown/GrDropdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, useId, watch } from 'vue'\n\nimport { usePortalTarget } from '../../composables/usePortalTarget'\n\nimport { vClickOutside } from '../../directives'\nimport { useFloating, type UseFloatingPlacement } from '../../composables/useFloating'\nimport { useOverlayLayer } from '../../composables/useOverlayLayer'\nimport { useControlledOpen } from '../../composables/internal/useControlledOpen'\nimport { getFocusableElements } from '../../composables/internal/focusables'\nimport { isEditableTarget } from '../../internal/keyboard'\nimport {\n grDropdownContentClass,\n grDropdownOriginClass,\n type GrDropdownWidth,\n} from './grDropdownStyles'\n\nexport type GrDropdownTrigger = 'click' | 'hover'\n\nexport interface GrDropdownProps {\n /** Размещение панели относительно триггера; `flip` при нехватке места остаётся. */\n placement?: UseFloatingPlacement\n /** Зазор между триггером и панелью, px. */\n offset?: number\n /** Ширина панели: число — пиксели, строка — CSS-длина, `auto` — по контенту. */\n width?: GrDropdownWidth\n /** Чем открывается панель. В любом режиме работают клик и клавиатура. */\n trigger?: GrDropdownTrigger\n /** Задержка открытия по наведению, мс. */\n openDelay?: number\n /** Задержка закрытия после ухода курсора, мс. */\n closeDelay?: number\n /** Панель не открывается ничем; триггер остаётся фокусируемым. */\n disabled?: boolean\n /** Закрывать панель по клику внутри content. */\n closeOnContentClick?: boolean\n /** Дополнительные классы контейнера content. */\n contentClass?: string\n /**\n * Точечное переопределение точки монтирования. По умолчанию — общий портал\n * оверлеев (`#gr-portal` либо `portalTarget` из `GrConfigProvider`).\n */\n teleportTo?: string | HTMLElement\n /**\n * Контролируемое состояние панели (`v-model:open`). Без пропа панель ведёт\n * себя сама (uncontrolled), с ним — слушайте `update:open` и меняйте проп.\n */\n open?: boolean\n}\n\nexport interface GrDropdownEmits {\n /** Панель открылась/закрылась (`v-model:open`). */\n (e: 'update:open', value: boolean): void\n}\n\nimport { useGrThemeAttrs } from '../GrConfigProvider/context'\n\nconst props = withDefaults(defineProps<GrDropdownProps>(), {\n placement: 'bottom-end',\n offset: 8,\n width: '12rem',\n trigger: 'click',\n openDelay: 120,\n closeDelay: 160,\n disabled: false,\n closeOnContentClick: true,\n contentClass: '',\n teleportTo: undefined,\n open: undefined,\n})\n\nconst emit = defineEmits<GrDropdownEmits>()\n\n// Имя `isOpen` сохранено: читатели работают с computed-Ref.\nconst { open: isOpen, setOpen } = useControlledOpen(\n () => props.open,\n next => emit('update:open', next),\n)\n\nconst rootEl = ref<HTMLElement | null>(null)\nconst panelEl = ref<HTMLElement | null>(null)\nconst clickOutsideExclude = [() => panelEl.value]\n\nconst panelId = useId()\n\n/**\n * Кольцо roving-фокуса.\n *\n * `tabbableOnly: false` — не оплошность: пункты меню намеренно `tabindex=\"-1\"`\n * (см. `GrDropdownMenuItem`), и список участников таб-порядка был бы пуст.\n */\nfunction panelItems(): HTMLElement[] {\n return getFocusableElements(panelEl.value, { tabbableOnly: false })\n}\n\nfunction focusItemAt(index: number): void {\n const items = panelItems()\n if (items.length === 0)\n return\n const clamped = (index + items.length) % items.length\n items[clamped]?.focus()\n}\n\nasync function openWithFocus(first: boolean): Promise<void> {\n if (props.disabled)\n return\n\n setOpen(true)\n await nextTick()\n focusItemAt(first ? 0 : -1)\n}\n\n/**\n * Пропсы для реального фокусируемого триггера (кнопки). Консьюмер биндит их на\n * элемент внутри слота `#trigger`: `<GrButton v-bind=\"triggerProps\">`. Даёт\n * `aria-haspopup`/`aria-expanded`/`aria-controls`, клавиатуру и **клик**.\n *\n * Клик живёт здесь, а не на обёртке слота: обёртка ловила бы и клики по\n * вложенным кнопкам и ссылкам, переключая панель мимо намерения пользователя.\n */\nconst triggerProps = computed(() => ({\n 'aria-haspopup': 'menu' as const,\n 'aria-expanded': isOpen.value,\n 'aria-controls': isOpen.value ? panelId : undefined,\n 'aria-disabled': props.disabled ? true : undefined,\n 'onClick': toggle,\n 'onKeydown': onTriggerKeydown,\n}))\n\nfunction onTriggerKeydown(event: KeyboardEvent): void {\n if (props.disabled)\n return\n\n switch (event.key) {\n case 'Enter':\n case ' ':\n case 'ArrowDown':\n event.preventDefault()\n void openWithFocus(true)\n break\n case 'ArrowUp':\n event.preventDefault()\n void openWithFocus(false)\n break\n case 'Escape':\n if (isOpen.value) {\n event.preventDefault()\n close()\n }\n break\n }\n}\n\n/**\n * Typeahead паттерна menu: печатные символы копятся в буфер и переводят фокус\n * на первый подходящий пункт, начиная со следующего за текущим.\n */\nconst TYPEAHEAD_RESET_MS = 600\nlet typeaheadBuffer = ''\nlet typeaheadTimer: ReturnType<typeof setTimeout> | undefined\n\nfunction onTypeahead(char: string): void {\n clearTimeout(typeaheadTimer)\n typeaheadTimer = setTimeout(() => { typeaheadBuffer = '' }, TYPEAHEAD_RESET_MS)\n\n // Повтор одной буквы — это «следующий на ту же букву», а не поиск «аа».\n const repeat = typeaheadBuffer.length === 1 && typeaheadBuffer === char\n typeaheadBuffer = repeat ? char : typeaheadBuffer + char\n\n const query = typeaheadBuffer.toLowerCase()\n const items = panelItems()\n if (items.length === 0)\n return\n\n const currentIndex = items.indexOf(document.activeElement as HTMLElement)\n\n for (let step = 1; step <= items.length; step += 1) {\n const item = items[(currentIndex + step + items.length) % items.length]\n if ((item.textContent ?? '').trim().toLowerCase().startsWith(query)) {\n item.focus()\n return\n }\n }\n}\n\nfunction onPanelKeydown(event: KeyboardEvent): void {\n const items = panelItems()\n const currentIndex = items.indexOf(document.activeElement as HTMLElement)\n\n // Панель бывает не только меню из кнопок: с `closeOnContentClick={false}` в\n // ней живут поля и чекбоксы. Клавиши, которые сфокусированный контрол умеет\n // сам, остаются ему — иначе в поле не напечатать, а чекбокс не переключить.\n const editable = isEditableTarget(event.target)\n\n switch (event.key) {\n // Стрелки — исключение: они за меню даже в поле. `Tab` панель закрывает, и\n // без них из поля внутри панели не было бы выхода вовсе.\n case 'ArrowDown':\n event.preventDefault()\n focusItemAt(currentIndex + 1)\n return\n case 'ArrowUp':\n event.preventDefault()\n focusItemAt(currentIndex - 1)\n return\n case 'Home':\n if (editable)\n return\n event.preventDefault()\n focusItemAt(0)\n return\n case 'End':\n if (editable)\n return\n event.preventDefault()\n focusItemAt(-1)\n return\n case 'Tab':\n close()\n return\n }\n\n if (editable)\n return\n\n // Пробел при пустом буфере — активация сфокусированного пункта, а не поиск:\n // пункты меню это кнопки, и пробел для них родная клавиша. В буфер он входит,\n // только когда поиск уже идёт (правило typeahead из WAI-ARIA APG).\n if (event.key === ' ' && typeaheadBuffer === '')\n return\n\n // Печатный символ без модификаторов — поиск по пунктам, а не команда.\n if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {\n event.preventDefault()\n onTypeahead(event.key)\n }\n}\n\nconst { floatingStyle, resolvedPlacement, update: updateFloatingPosition } = useFloating(\n rootEl,\n panelEl,\n isOpen,\n {\n placement: () => props.placement,\n // Геттер, а не значение: иначе проп замрёт на моменте `setup`.\n get offsetPx() { return props.offset },\n zIndexVar: '--gr-z-dropdown',\n },\n)\n\n// ————— Открытие по наведению. Задержки нужны обе: без `openDelay` панель\n// выпрыгивает на любое пересечение курсором, без `closeDelay` её не удержать\n// при переходе с триггера на панель — между ними зазор `offset`.\nlet hoverTimer: ReturnType<typeof setTimeout> | undefined\n\nfunction open(): void {\n if (props.disabled)\n return\n\n clearTimeout(hoverTimer)\n setOpen(true)\n}\n\nfunction toggle(): void {\n if (props.disabled)\n return\n\n clearTimeout(hoverTimer)\n setOpen(!isOpen.value)\n}\n\nfunction close(): void {\n clearTimeout(hoverTimer)\n setOpen(false)\n}\n\nfunction scheduleHover(next: boolean, delayMs: number): void {\n clearTimeout(hoverTimer)\n\n if (delayMs <= 0) {\n setOpen(next)\n return\n }\n\n hoverTimer = setTimeout(setOpen, delayMs, next)\n}\n\nfunction onHoverEnter(): void {\n if (props.disabled || props.trigger !== 'hover')\n return\n scheduleHover(true, props.openDelay)\n}\n\nfunction onHoverLeave(): void {\n if (props.trigger !== 'hover')\n return\n scheduleHover(false, props.closeDelay)\n}\n\n// Возврат фокуса — из контракта слоя: он запоминает активный элемент при\n// открытии и возвращает фокус, только если на момент закрытия тот всё ещё\n// внутри панели. Прежняя эвристика «возвращать, если открыли с клавиатуры»\n// промахивалась в обе стороны.\nuseOverlayLayer(isOpen, close, { root: panelEl })\n\nwatch(\n () => [props.placement, props.offset],\n () => {\n if (isOpen.value) updateFloatingPosition()\n },\n)\n\nwatch(\n () => props.disabled,\n (value) => {\n if (value) close()\n },\n)\n\nfunction toCssLength(value: GrDropdownWidth): string | undefined {\n if (value === 'auto')\n return undefined\n if (typeof value === 'number')\n return `${value}px`\n\n // Строка без единиц браузер просто отбросит, поэтому трактуем её как пиксели\n // — и предупреждаем: `width=\"48\"` легко прочесть как токен шкалы `w-48`.\n const bare = value.trim()\n if (/^\\d+$/.test(bare)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[GrDropdown] width=\"${value}\" трактуется как ${bare}px. `\n + 'Шкалы tailwind-токенов (w-48) у пропа больше нет — укажите единицы: '\n + `width=\"${bare}px\" или :width=\"${bare}\".`,\n )\n }\n return `${bare}px`\n }\n\n return value\n}\n\nconst panelStyle = computed(() => {\n const width = toCssLength(props.width)\n return width ? { ...floatingStyle.value, width } : floatingStyle.value\n})\n\nconst contentClasses = computed(() => grDropdownContentClass(props.contentClass))\n\nconst panelClasses = computed(() => grDropdownOriginClass(resolvedPlacement.value))\n\nfunction onContentClick(): void {\n if (props.closeOnContentClick) {\n close()\n }\n}\n\n// Триггер без `v-bind=\"triggerProps\"` — это триггер без клика, без клавиатуры и\n// без ARIA. Молчать об этом нельзя: панель просто не открывалась бы, и искать\n// причину пришлось бы в чужом коде.\nonMounted(() => {\n if (process.env.NODE_ENV === 'production')\n return\n if (rootEl.value?.querySelector('[aria-haspopup]'))\n return\n\n console.warn(\n '[GrDropdown] триггер не привязан: добавьте `v-bind=\"triggerProps\"` на элемент '\n + 'внутри слота #trigger — <template #trigger=\"{ triggerProps }\">'\n + '<GrButton v-bind=\"triggerProps\">…</GrButton></template>. '\n + 'Без этого у триггера нет ни клика, ни клавиатуры, ни aria-haspopup/aria-expanded.',\n )\n})\n\nonBeforeUnmount(() => {\n clearTimeout(typeaheadTimer)\n clearTimeout(hoverTimer)\n})\n\n// Телепорт включается только ПОСЛЕ монтирования: иначе первый клиентский\n// рендер не совпадает с серверным и ломается гидрация (см. композабл).\nconst { target: portalTarget, enabled: teleportEnabled } = usePortalTarget(() => props.teleportTo)\n\n// Тема поддерева на телепортированную панель: в DOM она уезжает в `body`, то\n// есть вне обёртки провайдера, и `data-theme` с неё не наследуется. В дереве\n// компонентов панель остаётся внутри — `inject` доходит, и тему она ставит себе\n// сама.\nconst themeAttrs = useGrThemeAttrs()\n\ndefineExpose({ open, close, toggle })\n</script>\n\n<template>\n <div data-gr-dropdown>\n <div\n ref=\"rootEl\"\n v-click-outside=\"{ handler: close, enabled: isOpen, exclude: clickOutsideExclude }\"\n data-gr-dropdown-trigger\n class=\"inline-block max-w-full\"\n @mouseenter=\"onHoverEnter\"\n @mouseleave=\"onHoverLeave\"\n >\n <slot name=\"trigger\" :open=\"isOpen\" :toggle=\"toggle\" :close=\"close\" :trigger-props=\"triggerProps\" />\n </div>\n\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <transition\n enter-active-class=\"transition ease-[var(--gr-ease-out)] duration-[var(--gr-duration-fast)]\"\n enter-from-class=\"transform opacity-0 scale-95\"\n enter-to-class=\"transform opacity-100 scale-100\"\n leave-active-class=\"transition ease-[var(--gr-ease-in)] duration-[var(--gr-duration-fast)]\"\n leave-from-class=\"transform opacity-100 scale-100\"\n leave-to-class=\"transform opacity-0 scale-95\"\n >\n <div\n v-show=\"isOpen\"\n :id=\"panelId\"\n ref=\"panelEl\"\n v-bind=\"themeAttrs\"\n data-gr-dropdown-panel\n data-gr-overlay-root\n role=\"menu\"\n tabindex=\"-1\"\n :class=\"panelClasses\"\n :style=\"panelStyle\"\n @click=\"onContentClick\"\n @keydown=\"onPanelKeydown\"\n @mouseenter=\"onHoverEnter\"\n @mouseleave=\"onHoverLeave\"\n >\n <div data-gr-dropdown-content :class=\"contentClasses\">\n <slot name=\"content\" :close=\"close\" />\n </div>\n </div>\n </transition>\n </teleport>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, useId, watch } from 'vue'\n\nimport { usePortalTarget } from '../../composables/usePortalTarget'\n\nimport { vClickOutside } from '../../directives'\nimport { useFloating, type UseFloatingPlacement } from '../../composables/useFloating'\nimport { useOverlayLayer } from '../../composables/useOverlayLayer'\nimport { useControlledOpen } from '../../composables/internal/useControlledOpen'\nimport { getFocusableElements } from '../../composables/internal/focusables'\nimport { isEditableTarget } from '../../internal/keyboard'\nimport {\n grDropdownContentClass,\n grDropdownOriginClass,\n type GrDropdownWidth,\n} from './grDropdownStyles'\n\nexport type GrDropdownTrigger = 'click' | 'hover'\n\nexport interface GrDropdownProps {\n /** Размещение панели относительно триггера; `flip` при нехватке места остаётся. */\n placement?: UseFloatingPlacement\n /** Зазор между триггером и панелью, px. */\n offset?: number\n /** Ширина панели: число — пиксели, строка — CSS-длина, `auto` — по контенту. */\n width?: GrDropdownWidth\n /** Чем открывается панель. В любом режиме работают клик и клавиатура. */\n trigger?: GrDropdownTrigger\n /** Задержка открытия по наведению, мс. */\n openDelay?: number\n /** Задержка закрытия после ухода курсора, мс. */\n closeDelay?: number\n /** Панель не открывается ничем; триггер остаётся фокусируемым. */\n disabled?: boolean\n /** Закрывать панель по клику внутри content. */\n closeOnContentClick?: boolean\n /** Дополнительные классы контейнера content. */\n contentClass?: string\n /**\n * Точечное переопределение точки монтирования. По умолчанию — общий портал\n * оверлеев (`#gr-portal` либо `portalTarget` из `GrConfigProvider`).\n */\n teleportTo?: string | HTMLElement\n /**\n * Контролируемое состояние панели (`v-model:open`). Без пропа панель ведёт\n * себя сама (uncontrolled), с ним — слушайте `update:open` и меняйте проп.\n */\n open?: boolean\n}\n\nexport interface GrDropdownEmits {\n /** Панель открылась/закрылась (`v-model:open`). */\n (e: 'update:open', value: boolean): void\n}\n\nimport { useGrThemeAttrs } from '../GrConfigProvider/context'\n\nconst props = withDefaults(defineProps<GrDropdownProps>(), {\n placement: 'bottom-end',\n offset: 8,\n width: '12rem',\n trigger: 'click',\n openDelay: 120,\n closeDelay: 160,\n disabled: false,\n closeOnContentClick: true,\n contentClass: '',\n teleportTo: undefined,\n open: undefined,\n})\n\nconst emit = defineEmits<GrDropdownEmits>()\n\n// Имя `isOpen` сохранено: читатели работают с computed-Ref.\nconst { open: isOpen, setOpen } = useControlledOpen(\n () => props.open,\n next => emit('update:open', next),\n)\n\nconst rootEl = ref<HTMLElement | null>(null)\nconst panelEl = ref<HTMLElement | null>(null)\nconst clickOutsideExclude = [() => panelEl.value]\n\nconst panelId = useId()\n\n/**\n * Кольцо roving-фокуса.\n *\n * `tabbableOnly: false` — не оплошность: пункты меню намеренно `tabindex=\"-1\"`\n * (см. `GrDropdownMenuItem`), и список участников таб-порядка был бы пуст.\n */\nfunction panelItems(): HTMLElement[] {\n return getFocusableElements(panelEl.value, { tabbableOnly: false })\n}\n\nfunction focusItemAt(index: number): void {\n const items = panelItems()\n if (items.length === 0)\n return\n const clamped = (index + items.length) % items.length\n items[clamped]?.focus()\n}\n\nasync function openWithFocus(first: boolean): Promise<void> {\n if (props.disabled)\n return\n\n setOpen(true)\n await nextTick()\n focusItemAt(first ? 0 : -1)\n}\n\n/**\n * Пропсы для реального фокусируемого триггера (кнопки). Консьюмер биндит их на\n * элемент внутри слота `#trigger`: `<GrButton v-bind=\"triggerProps\">`. Даёт\n * `aria-haspopup`/`aria-expanded`/`aria-controls`, клавиатуру и **клик**.\n *\n * Клик живёт здесь, а не на обёртке слота: обёртка ловила бы и клики по\n * вложенным кнопкам и ссылкам, переключая панель мимо намерения пользователя.\n */\nconst triggerProps = computed(() => ({\n 'aria-haspopup': 'menu' as const,\n 'aria-expanded': isOpen.value,\n 'aria-controls': isOpen.value ? panelId : undefined,\n 'aria-disabled': props.disabled ? true : undefined,\n 'onClick': toggle,\n 'onKeydown': onTriggerKeydown,\n}))\n\nfunction onTriggerKeydown(event: KeyboardEvent): void {\n if (props.disabled)\n return\n\n switch (event.key) {\n case 'Enter':\n case ' ':\n case 'ArrowDown':\n event.preventDefault()\n void openWithFocus(true)\n break\n case 'ArrowUp':\n event.preventDefault()\n void openWithFocus(false)\n break\n case 'Escape':\n if (isOpen.value) {\n event.preventDefault()\n close()\n }\n break\n }\n}\n\n/**\n * Typeahead паттерна menu: печатные символы копятся в буфер и переводят фокус\n * на первый подходящий пункт, начиная со следующего за текущим.\n */\nconst TYPEAHEAD_RESET_MS = 600\nlet typeaheadBuffer = ''\nlet typeaheadTimer: ReturnType<typeof setTimeout> | undefined\n\nfunction onTypeahead(char: string): void {\n clearTimeout(typeaheadTimer)\n typeaheadTimer = setTimeout(() => { typeaheadBuffer = '' }, TYPEAHEAD_RESET_MS)\n\n // Повтор одной буквы — это «следующий на ту же букву», а не поиск «аа».\n const repeat = typeaheadBuffer.length === 1 && typeaheadBuffer === char\n typeaheadBuffer = repeat ? char : typeaheadBuffer + char\n\n const query = typeaheadBuffer.toLowerCase()\n const items = panelItems()\n if (items.length === 0)\n return\n\n const currentIndex = items.indexOf(document.activeElement as HTMLElement)\n\n for (let step = 1; step <= items.length; step += 1) {\n const item = items[(currentIndex + step + items.length) % items.length]\n if ((item.textContent ?? '').trim().toLowerCase().startsWith(query)) {\n item.focus()\n return\n }\n }\n}\n\nfunction onPanelKeydown(event: KeyboardEvent): void {\n const items = panelItems()\n const currentIndex = items.indexOf(document.activeElement as HTMLElement)\n\n // Панель бывает не только меню из кнопок: с `closeOnContentClick={false}` в\n // ней живут поля и чекбоксы. Клавиши, которые сфокусированный контрол умеет\n // сам, остаются ему — иначе в поле не напечатать, а чекбокс не переключить.\n const editable = isEditableTarget(event.target)\n\n switch (event.key) {\n // Стрелки — исключение: они за меню даже в поле. `Tab` панель закрывает, и\n // без них из поля внутри панели не было бы выхода вовсе.\n case 'ArrowDown':\n event.preventDefault()\n focusItemAt(currentIndex + 1)\n return\n case 'ArrowUp':\n event.preventDefault()\n focusItemAt(currentIndex - 1)\n return\n case 'Home':\n if (editable)\n return\n event.preventDefault()\n focusItemAt(0)\n return\n case 'End':\n if (editable)\n return\n event.preventDefault()\n focusItemAt(-1)\n return\n case 'Tab':\n close()\n return\n }\n\n if (editable)\n return\n\n // Пробел при пустом буфере — активация сфокусированного пункта, а не поиск:\n // пункты меню это кнопки, и пробел для них родная клавиша. В буфер он входит,\n // только когда поиск уже идёт (правило typeahead из WAI-ARIA APG).\n if (event.key === ' ' && typeaheadBuffer === '')\n return\n\n // Печатный символ без модификаторов — поиск по пунктам, а не команда.\n if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {\n event.preventDefault()\n onTypeahead(event.key)\n }\n}\n\nconst { floatingStyle, resolvedPlacement, update: updateFloatingPosition } = useFloating(\n rootEl,\n panelEl,\n isOpen,\n {\n placement: () => props.placement,\n // Геттер, а не значение: иначе проп замрёт на моменте `setup`.\n get offsetPx() { return props.offset },\n zIndexVar: '--gr-z-dropdown',\n },\n)\n\n// ————— Открытие по наведению. Задержки нужны обе: без `openDelay` панель\n// выпрыгивает на любое пересечение курсором, без `closeDelay` её не удержать\n// при переходе с триггера на панель — между ними зазор `offset`.\nlet hoverTimer: ReturnType<typeof setTimeout> | undefined\n\nfunction open(): void {\n if (props.disabled)\n return\n\n clearTimeout(hoverTimer)\n setOpen(true)\n}\n\nfunction toggle(): void {\n if (props.disabled)\n return\n\n clearTimeout(hoverTimer)\n setOpen(!isOpen.value)\n}\n\nfunction close(): void {\n clearTimeout(hoverTimer)\n setOpen(false)\n}\n\nfunction scheduleHover(next: boolean, delayMs: number): void {\n clearTimeout(hoverTimer)\n\n if (delayMs <= 0) {\n setOpen(next)\n return\n }\n\n hoverTimer = setTimeout(setOpen, delayMs, next)\n}\n\nfunction onHoverEnter(): void {\n if (props.disabled || props.trigger !== 'hover')\n return\n scheduleHover(true, props.openDelay)\n}\n\nfunction onHoverLeave(): void {\n if (props.trigger !== 'hover')\n return\n scheduleHover(false, props.closeDelay)\n}\n\n// Возврат фокуса — из контракта слоя: он запоминает активный элемент при\n// открытии и возвращает фокус, только если на момент закрытия тот всё ещё\n// внутри панели. Прежняя эвристика «возвращать, если открыли с клавиатуры»\n// промахивалась в обе стороны.\nuseOverlayLayer(isOpen, close, { root: panelEl })\n\nwatch(\n () => [props.placement, props.offset],\n () => {\n if (isOpen.value) updateFloatingPosition()\n },\n)\n\nwatch(\n () => props.disabled,\n (value) => {\n if (value) close()\n },\n)\n\nfunction toCssLength(value: GrDropdownWidth): string | undefined {\n if (value === 'auto')\n return undefined\n if (typeof value === 'number')\n return `${value}px`\n\n // Строка без единиц браузер просто отбросит, поэтому трактуем её как пиксели\n // — и предупреждаем: `width=\"48\"` легко прочесть как токен шкалы `w-48`.\n const bare = value.trim()\n if (/^\\d+$/.test(bare)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[GrDropdown] width=\"${value}\" трактуется как ${bare}px. `\n + 'Шкалы tailwind-токенов (w-48) у пропа больше нет — укажите единицы: '\n + `width=\"${bare}px\" или :width=\"${bare}\".`,\n )\n }\n return `${bare}px`\n }\n\n return value\n}\n\nconst panelStyle = computed(() => {\n const width = toCssLength(props.width)\n return width ? { ...floatingStyle.value, width } : floatingStyle.value\n})\n\nconst contentClasses = computed(() => grDropdownContentClass(props.contentClass))\n\nconst panelClasses = computed(() => grDropdownOriginClass(resolvedPlacement.value))\n\nfunction onContentClick(): void {\n if (props.closeOnContentClick) {\n close()\n }\n}\n\n// Триггер без `v-bind=\"triggerProps\"` — это триггер без клика, без клавиатуры и\n// без ARIA. Молчать об этом нельзя: панель просто не открывалась бы, и искать\n// причину пришлось бы в чужом коде.\nonMounted(() => {\n if (process.env.NODE_ENV === 'production')\n return\n if (rootEl.value?.querySelector('[aria-haspopup]'))\n return\n\n console.warn(\n '[GrDropdown] триггер не привязан: добавьте `v-bind=\"triggerProps\"` на элемент '\n + 'внутри слота #trigger — <template #trigger=\"{ triggerProps }\">'\n + '<GrButton v-bind=\"triggerProps\">…</GrButton></template>. '\n + 'Без этого у триггера нет ни клика, ни клавиатуры, ни aria-haspopup/aria-expanded.',\n )\n})\n\nonBeforeUnmount(() => {\n clearTimeout(typeaheadTimer)\n clearTimeout(hoverTimer)\n})\n\n// Телепорт включается только ПОСЛЕ монтирования: иначе первый клиентский\n// рендер не совпадает с серверным и ломается гидрация (см. композабл).\nconst { target: portalTarget, enabled: teleportEnabled } = usePortalTarget(() => props.teleportTo)\n\n// Тема поддерева на телепортированную панель: в DOM она уезжает в `body`, то\n// есть вне обёртки провайдера, и `data-theme` с неё не наследуется. В дереве\n// компонентов панель остаётся внутри — `inject` доходит, и тему она ставит себе\n// сама.\nconst themeAttrs = useGrThemeAttrs()\n\ndefineExpose({ open, close, toggle })\n</script>\n\n<template>\n <div data-gr-dropdown>\n <div\n ref=\"rootEl\"\n v-click-outside=\"{ handler: close, enabled: isOpen, exclude: clickOutsideExclude }\"\n data-gr-dropdown-trigger\n class=\"inline-block max-w-full\"\n @mouseenter=\"onHoverEnter\"\n @mouseleave=\"onHoverLeave\"\n >\n <slot name=\"trigger\" :open=\"isOpen\" :toggle=\"toggle\" :close=\"close\" :trigger-props=\"triggerProps\" />\n </div>\n\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <transition\n enter-active-class=\"transition ease-[var(--gr-ease-out)] duration-[var(--gr-duration-fast)]\"\n enter-from-class=\"transform opacity-0 scale-95\"\n enter-to-class=\"transform opacity-100 scale-100\"\n leave-active-class=\"transition ease-[var(--gr-ease-in)] duration-[var(--gr-duration-fast)]\"\n leave-from-class=\"transform opacity-100 scale-100\"\n leave-to-class=\"transform opacity-0 scale-95\"\n >\n <div\n v-show=\"isOpen\"\n :id=\"panelId\"\n ref=\"panelEl\"\n v-bind=\"themeAttrs\"\n data-gr-dropdown-panel\n data-gr-overlay-root\n role=\"menu\"\n tabindex=\"-1\"\n :class=\"panelClasses\"\n :style=\"panelStyle\"\n @click=\"onContentClick\"\n @keydown=\"onPanelKeydown\"\n @mouseenter=\"onHoverEnter\"\n @mouseleave=\"onHoverLeave\"\n >\n <div data-gr-dropdown-content :class=\"contentClasses\">\n <slot name=\"content\" :close=\"close\" />\n </div>\n </div>\n </transition>\n </teleport>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { t as GrDropdown_default } from "./chunks/GrDropdown-BKoy8hm-.js";
2
- import { n as grDropdownSafelist, t as grDropdownConfig } from "../../chunks/config-BvVq2gbd.js";
1
+ import { t as GrDropdown_default } from "./chunks/GrDropdown-BLng6V1m.js";
2
+ import { n as grDropdownSafelist, t as grDropdownConfig } from "../../chunks/config-BViooYNv.js";
3
3
  export { GrDropdown_default as GrDropdown, GrDropdown_default as default, grDropdownConfig, grDropdownSafelist };