@feugene/granularity 0.11.0 → 0.13.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 (527) hide show
  1. package/dist/GrBadge.css +1 -1
  2. package/dist/GrFormFile.css +1 -1
  3. package/dist/GrToaster.css +1 -1
  4. package/dist/GrTree.css +1 -1
  5. package/dist/chunks/{config-ClhKPJvg.js → config-23WtUiAL.js} +1 -1
  6. package/dist/chunks/config-23WtUiAL.js.map +1 -0
  7. package/dist/chunks/config-8Pcutu1j.js.map +1 -0
  8. package/dist/chunks/{config-1uSYl98Y.js → config-B0i5r8kH.js} +1 -1
  9. package/dist/chunks/config-B0i5r8kH.js.map +1 -0
  10. package/dist/chunks/{config-BOlr7qw7.js → config-B5Rknzkd.js} +33 -39
  11. package/dist/chunks/config-B5Rknzkd.js.map +1 -0
  12. package/dist/chunks/config-B7W9VlZ7.js +5 -0
  13. package/dist/chunks/config-B7W9VlZ7.js.map +1 -0
  14. package/dist/chunks/config-BDSHekVC.js +84 -0
  15. package/dist/chunks/config-BDSHekVC.js.map +1 -0
  16. package/dist/chunks/config-BLHqZhy-.js.map +1 -0
  17. package/dist/chunks/{config-eYLZYOUS2.js → config-BMKNHFMD2.js} +15 -15
  18. package/dist/chunks/config-BMKNHFMD2.js.map +1 -0
  19. package/dist/chunks/config-BUHuGBik2.js.map +1 -0
  20. package/dist/chunks/config-BWiPnygb.js +5 -0
  21. package/dist/chunks/config-BWiPnygb.js.map +1 -0
  22. package/dist/chunks/config-BX1JTrkV.js.map +1 -0
  23. package/dist/chunks/config-BZFUM3Ky.js +75 -0
  24. package/dist/chunks/config-BZFUM3Ky.js.map +1 -0
  25. package/dist/chunks/{config-DUcu1D68.js → config-BmNT0Fmx.js} +2 -2
  26. package/dist/chunks/config-BmNT0Fmx.js.map +1 -0
  27. package/dist/chunks/{config-C49QUoJL.js → config-BvVq2gbd.js} +1 -1
  28. package/dist/chunks/{config-C49QUoJL.js.map → config-BvVq2gbd.js.map} +1 -1
  29. package/dist/chunks/{config-CrG1XiE7.js → config-C4hJxXDa.js} +5 -5
  30. package/dist/chunks/config-C4hJxXDa.js.map +1 -0
  31. package/dist/chunks/config-CB4RVt9M.js +66 -0
  32. package/dist/chunks/config-CB4RVt9M.js.map +1 -0
  33. package/dist/chunks/config-COE_vZ-l.js +52 -0
  34. package/dist/chunks/config-COE_vZ-l.js.map +1 -0
  35. package/dist/chunks/{config-CziwTDDL.js → config-CPdmr7tC.js} +1 -1
  36. package/dist/chunks/{config-CziwTDDL.js.map → config-CPdmr7tC.js.map} +1 -1
  37. package/dist/chunks/{config-BIRO0vDJ2.js → config-DPDFYzIa.js} +2 -2
  38. package/dist/chunks/config-DPDFYzIa.js.map +1 -0
  39. package/dist/chunks/{config-DnvPqu4g.js → config-DRKXJ9PW2.js} +1 -1
  40. package/dist/chunks/config-DRKXJ9PW2.js.map +1 -0
  41. package/dist/chunks/config-DToHb81g.js +45 -0
  42. package/dist/chunks/config-DToHb81g.js.map +1 -0
  43. package/dist/chunks/{config-jBp9wVv-.js → config-D_myOZbA.js} +1 -1
  44. package/dist/chunks/{config-jBp9wVv-.js.map → config-D_myOZbA.js.map} +1 -1
  45. package/dist/chunks/{config-D_R56_gT.js → config-Dg_6FTvJ.js} +1 -1
  46. package/dist/chunks/config-Dg_6FTvJ.js.map +1 -0
  47. package/dist/chunks/config-Dlm49Jp5.js +5 -0
  48. package/dist/chunks/config-Dlm49Jp5.js.map +1 -0
  49. package/dist/chunks/config-DpqOnJiz.js.map +1 -0
  50. package/dist/chunks/config-Dqy0rPPO2.js.map +1 -0
  51. package/dist/chunks/config-Droqn55j.js +8 -0
  52. package/dist/chunks/config-Droqn55j.js.map +1 -0
  53. package/dist/chunks/{config-C4snOIXg.js → config-KXuionN3.js} +1 -1
  54. package/dist/chunks/{config-C4snOIXg.js.map → config-KXuionN3.js.map} +1 -1
  55. package/dist/chunks/config-LGrZIdaZ.js.map +1 -0
  56. package/dist/chunks/{config-DezDih8_.js → config-LqDC_rvp.js} +2 -2
  57. package/dist/chunks/config-LqDC_rvp.js.map +1 -0
  58. package/dist/chunks/config-QaIc_gRa2.js.map +1 -0
  59. package/dist/chunks/config-U4m9PSql2.js.map +1 -0
  60. package/dist/chunks/{config-B7IIWGt_2.js → config-XmTv4pnI.js} +2 -2
  61. package/dist/chunks/config-XmTv4pnI.js.map +1 -0
  62. package/dist/chunks/config-eXB87DOi.js +9 -0
  63. package/dist/chunks/config-eXB87DOi.js.map +1 -0
  64. package/dist/chunks/{config-C7NpDrfO.js → config-gZWR75Bh2.js} +1 -1
  65. package/dist/chunks/config-gZWR75Bh2.js.map +1 -0
  66. package/dist/chunks/config-ipvU0lzP.js.map +1 -0
  67. package/dist/chunks/config-xR4XVmcy2.js.map +1 -0
  68. package/dist/chunks/context-Bfrgsluh.js +9 -0
  69. package/dist/chunks/context-Bfrgsluh.js.map +1 -0
  70. package/dist/chunks/context-DdNIxa1w.js +9 -0
  71. package/dist/chunks/context-DdNIxa1w.js.map +1 -0
  72. package/dist/chunks/context-DfWYCBB-.js +129 -0
  73. package/dist/chunks/context-DfWYCBB-.js.map +1 -0
  74. package/dist/chunks/{en-BdtiS2d3.js → en-Cr6EkG8c.js} +52 -4
  75. package/dist/chunks/en-Cr6EkG8c.js.map +1 -0
  76. package/dist/chunks/{es-DBhctWg-.js → es-DuYb1Qju.js} +3 -3
  77. package/dist/chunks/{es-DBhctWg-.js.map → es-DuYb1Qju.js.map} +1 -1
  78. package/dist/chunks/{es-BGRMZbe9.js → es-i08e9Sdo.js} +52 -4
  79. package/dist/chunks/es-i08e9Sdo.js.map +1 -0
  80. package/dist/chunks/{grBadgeStyles-DrycBuKT.js → grBadgeStyles-D3dFjr_N.js} +12 -12
  81. package/dist/chunks/grBadgeStyles-D3dFjr_N.js.map +1 -0
  82. package/dist/chunks/{grButtonStyles-C7Yga_Q1.js → grButtonStyles-DRBgDmOp.js} +28 -28
  83. package/dist/chunks/grButtonStyles-DRBgDmOp.js.map +1 -0
  84. package/dist/chunks/{grDropdownStyles-B_-DKytw.js → grDropdownStyles-HBPkghVr.js} +2 -2
  85. package/dist/chunks/{grDropdownStyles-B_-DKytw.js.map → grDropdownStyles-HBPkghVr.js.map} +1 -1
  86. package/dist/chunks/grModalEscStack-BXk-9mv7.js +43 -0
  87. package/dist/chunks/grModalEscStack-BXk-9mv7.js.map +1 -0
  88. package/dist/chunks/{grModalStyles-DWd3i05Q.js → grModalStyles-D8-shx9A.js} +1 -1
  89. package/dist/chunks/grModalStyles-D8-shx9A.js.map +1 -0
  90. package/dist/chunks/{grSelectStyles-CLK5hRd3.js → grSelectStyles-CwMUQrBZ.js} +12 -12
  91. package/dist/chunks/grSelectStyles-CwMUQrBZ.js.map +1 -0
  92. package/dist/chunks/{grStyle-Blc9otAx.js → grStyle-CdvxTXPH.js} +2 -2
  93. package/dist/chunks/grStyle-CdvxTXPH.js.map +1 -0
  94. package/dist/chunks/{granularityI18n-DoV7Ca2m.js → granularityI18n-SH0I--GW.js} +1 -1
  95. package/dist/chunks/{granularityI18n-DoV7Ca2m.js.map → granularityI18n-SH0I--GW.js.map} +1 -1
  96. package/dist/chunks/{ru-BFCnOiML.js → ru-B5XOOYZt.js} +52 -4
  97. package/dist/chunks/ru-B5XOOYZt.js.map +1 -0
  98. package/dist/chunks/{safelist-Do2RtzLB.js → safelist-BvO8HPnE.js} +1 -1
  99. package/dist/chunks/{safelist-Do2RtzLB.js.map → safelist-BvO8HPnE.js.map} +1 -1
  100. package/dist/chunks/shared-D-v9lit0.js +188 -0
  101. package/dist/chunks/shared-D-v9lit0.js.map +1 -0
  102. package/dist/chunks/{transition-TLFw4KBn.js → useScrollLock-K7kaP2Ud.js} +52 -1
  103. package/dist/chunks/useScrollLock-K7kaP2Ud.js.map +1 -0
  104. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js +251 -0
  105. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js.map +1 -0
  106. package/dist/components/GrAlert/index.js +2 -2
  107. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js +499 -0
  108. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js.map +1 -0
  109. package/dist/components/GrAutocomplete/index.js +3 -0
  110. package/dist/components/GrAvatar/chunks/{GrAvatar-96CpTCq5.js → GrAvatar-CTOUVBF7.js} +1 -1
  111. package/dist/components/GrAvatar/chunks/GrAvatar-CTOUVBF7.js.map +1 -0
  112. package/dist/components/GrAvatar/index.js +1 -1
  113. package/dist/components/GrBadge/chunks/{GrBadge-B77XlaqE.js → GrBadge-D1jefy4S.js} +12 -8
  114. package/dist/components/GrBadge/chunks/GrBadge-D1jefy4S.js.map +1 -0
  115. package/dist/components/GrBadge/index.js +2 -2
  116. package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-CcktMOdg.js → GrBadgeWrap-DWDxHdiQ.js} +1 -1
  117. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DWDxHdiQ.js.map +1 -0
  118. package/dist/components/GrBadgeWrap/index.js +1 -1
  119. package/dist/components/GrBottomNav/chunks/{GrBottomNav-usuMgG8_.js → GrBottomNav-vSE4LXmk.js} +2 -2
  120. package/dist/components/GrBottomNav/chunks/GrBottomNav-vSE4LXmk.js.map +1 -0
  121. package/dist/components/GrBottomNav/index.js +1 -1
  122. package/dist/components/GrButton/chunks/{GrButton-BlffdeJr.js → GrButton-DCi4CUpo.js} +18 -14
  123. package/dist/components/GrButton/chunks/GrButton-DCi4CUpo.js.map +1 -0
  124. package/dist/components/GrButton/index.js +4 -4
  125. package/dist/components/GrCard/chunks/{GrCard-DUNMkuHW.js → GrCard-CxCjyHMb.js} +1 -1
  126. package/dist/components/GrCard/chunks/GrCard-CxCjyHMb.js.map +1 -0
  127. package/dist/components/GrCard/index.js +1 -1
  128. package/dist/components/GrCheckbox/chunks/{GrCheckbox-DJhzZZdO.js → GrCheckbox-BbIDRXtl.js} +5 -5
  129. package/dist/components/GrCheckbox/chunks/GrCheckbox-BbIDRXtl.js.map +1 -0
  130. package/dist/components/GrCheckbox/index.js +1 -1
  131. package/dist/components/GrCollapse/chunks/{GrCollapse-CPPLh_xU.js → GrCollapse-DApXztn8.js} +6 -6
  132. package/dist/components/GrCollapse/chunks/GrCollapse-DApXztn8.js.map +1 -0
  133. package/dist/components/GrCollapse/index.js +2 -2
  134. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js +410 -0
  135. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js.map +1 -0
  136. package/dist/components/GrCommandPalette/index.js +3 -0
  137. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js +57 -0
  138. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js.map +1 -0
  139. package/dist/components/GrConfigProvider/index.js +4 -0
  140. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-BWYKCsHd.js → GrConfirmDialog-e4120mWw.js} +5 -5
  141. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js.map +1 -0
  142. package/dist/components/GrConfirmDialog/index.js +1 -1
  143. package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js +307 -0
  144. package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js.map +1 -0
  145. package/dist/components/GrDataTable/index.js +2 -2
  146. package/dist/components/GrDialog/chunks/{GrDialog-5DAS-1Lb.js → GrDialog-BPMvDHOz.js} +6 -6
  147. package/dist/components/GrDialog/chunks/GrDialog-BPMvDHOz.js.map +1 -0
  148. package/dist/components/GrDialog/index.js +1 -1
  149. package/dist/components/GrDialogService/chunks/{GrDialogService-DY_fmaMu.js → GrDialogService-CYXCTGm3.js} +36 -11
  150. package/dist/components/GrDialogService/chunks/GrDialogService-CYXCTGm3.js.map +1 -0
  151. package/dist/components/GrDialogService/index.js +2 -2
  152. package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js +54 -0
  153. package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js.map +1 -0
  154. package/dist/components/GrDivider/index.js +3 -0
  155. package/dist/components/GrDrawer/chunks/{GrDrawer-D1kzsjXN.js → GrDrawer-KevdZ5BB.js} +41 -17
  156. package/dist/components/GrDrawer/chunks/GrDrawer-KevdZ5BB.js.map +1 -0
  157. package/dist/components/GrDrawer/index.js +2 -2
  158. package/dist/components/GrDropdown/chunks/{GrDropdown-BXb5Cxxf.js → GrDropdown-BKoy8hm-.js} +91 -5
  159. package/dist/components/GrDropdown/chunks/GrDropdown-BKoy8hm-.js.map +1 -0
  160. package/dist/components/GrDropdown/index.js +2 -2
  161. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DFEJLPcV.js → GrDropdownMenu-zCatXzmt.js} +11 -11
  162. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-zCatXzmt.js.map +1 -0
  163. package/dist/components/GrDropdownMenu/index.js +1 -1
  164. package/dist/components/GrEmptyState/chunks/{GrEmptyState-CA3BiTV7.js → GrEmptyState-CNb0BzjG.js} +3 -3
  165. package/dist/components/GrEmptyState/chunks/GrEmptyState-CNb0BzjG.js.map +1 -0
  166. package/dist/components/GrEmptyState/index.js +1 -1
  167. package/dist/components/GrFileUpload/chunks/{GrFileUpload-DvWPpiJS.js → GrFileUpload-CnLgUGDF.js} +12 -12
  168. package/dist/components/GrFileUpload/chunks/GrFileUpload-CnLgUGDF.js.map +1 -0
  169. package/dist/components/GrFileUpload/index.js +1 -1
  170. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js +234 -0
  171. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js.map +1 -0
  172. package/dist/components/GrForm/index.js +4 -0
  173. package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js +100 -0
  174. package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js.map +1 -0
  175. package/dist/components/GrFormField/index.js +3 -2
  176. package/dist/components/GrFormFile/chunks/{GrFormFile-CXcqqdvV.js → GrFormFile-CqacSbUl.js} +9 -9
  177. package/dist/components/GrFormFile/chunks/GrFormFile-CqacSbUl.js.map +1 -0
  178. package/dist/components/GrFormFile/index.js +1 -1
  179. package/dist/components/GrFormSection/chunks/{GrFormSection-Ce21jcgo.js → GrFormSection-C3w9DQJf.js} +1 -1
  180. package/dist/components/GrFormSection/chunks/GrFormSection-C3w9DQJf.js.map +1 -0
  181. package/dist/components/GrFormSection/index.js +1 -1
  182. package/dist/components/GrImageViewer/chunks/{GrImageViewer-OCUIrNh2.js → GrImageViewer-DDLJkvIU.js} +312 -223
  183. package/dist/components/GrImageViewer/chunks/GrImageViewer-DDLJkvIU.js.map +1 -0
  184. package/dist/components/GrImageViewer/index.js +1 -1
  185. package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js +337 -0
  186. package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js.map +1 -0
  187. package/dist/components/GrInput/index.js +2 -2
  188. package/dist/components/GrInputTag/chunks/{GrInputTag-zMgFqp2g.js → GrInputTag-BMk9jm42.js} +6 -6
  189. package/dist/components/GrInputTag/chunks/GrInputTag-BMk9jm42.js.map +1 -0
  190. package/dist/components/GrInputTag/index.js +2 -2
  191. package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js +22 -0
  192. package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js.map +1 -0
  193. package/dist/components/GrKbd/index.js +3 -0
  194. package/dist/components/GrLink/chunks/{GrLink-CYUe-Q8k.js → GrLink-BP0YrnL9.js} +1 -1
  195. package/dist/components/GrLink/chunks/{GrLink-CYUe-Q8k.js.map → GrLink-BP0YrnL9.js.map} +1 -1
  196. package/dist/components/GrLink/index.js +2 -2
  197. package/dist/components/GrList/chunks/{GrList-Dx772Ns4.js → GrList-5RA-tZzE.js} +3 -3
  198. package/dist/components/GrList/chunks/GrList-5RA-tZzE.js.map +1 -0
  199. package/dist/components/GrList/index.js +1 -1
  200. package/dist/components/GrLoading/chunks/{GrLoading--X_7rdbb.js → GrLoading-fRDtVfi7.js} +3 -3
  201. package/dist/components/GrLoading/chunks/GrLoading-fRDtVfi7.js.map +1 -0
  202. package/dist/components/GrLoading/index.js +2 -2
  203. package/dist/components/GrModal/chunks/{GrModal-BkjW9jZS.js → GrModal-BTu1-5eY.js} +4 -57
  204. package/dist/components/GrModal/chunks/GrModal-BTu1-5eY.js.map +1 -0
  205. package/dist/components/GrModal/index.js +3 -3
  206. package/dist/components/GrNavbar/chunks/{GrNavbar-DW3MiIIf.js → GrNavbar-keKT_mIM.js} +3 -3
  207. package/dist/components/GrNavbar/chunks/GrNavbar-keKT_mIM.js.map +1 -0
  208. package/dist/components/GrNavbar/index.js +1 -1
  209. package/dist/components/GrNumberInput/chunks/{GrNumberInput-CldPIWQx.js → GrNumberInput-l9ZOHG9D.js} +112 -28
  210. package/dist/components/GrNumberInput/chunks/GrNumberInput-l9ZOHG9D.js.map +1 -0
  211. package/dist/components/GrNumberInput/index.js +2 -2
  212. package/dist/components/GrPagination/chunks/{GrPagination-Bu9wv6it.js → GrPagination-C5Y69CuK.js} +59 -16
  213. package/dist/components/GrPagination/chunks/GrPagination-C5Y69CuK.js.map +1 -0
  214. package/dist/components/GrPagination/index.js +1 -1
  215. package/dist/components/GrProgressBar/chunks/{GrProgressBar-CC3z-Zqp.js → GrProgressBar-Dqg4Fj9S.js} +2 -2
  216. package/dist/components/GrProgressBar/chunks/GrProgressBar-Dqg4Fj9S.js.map +1 -0
  217. package/dist/components/GrProgressBar/index.js +2 -2
  218. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-TmWXbpEP.js → GrPromptDialog-DNUjRVB9.js} +7 -7
  219. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js.map +1 -0
  220. package/dist/components/GrPromptDialog/index.js +2 -2
  221. package/dist/components/GrRadio/chunks/{GrRadio-CPTixXaY.js → GrRadio-DlhxPGqf.js} +5 -7
  222. package/dist/components/GrRadio/chunks/GrRadio-DlhxPGqf.js.map +1 -0
  223. package/dist/components/GrRadio/index.js +2 -2
  224. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-vKZCbkCp.js → GrRadioGroup-BXt9iw4q.js} +7 -5
  225. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BXt9iw4q.js.map +1 -0
  226. package/dist/components/GrRadioGroup/index.js +2 -2
  227. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js +241 -0
  228. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js.map +1 -0
  229. package/dist/components/GrRating/index.js +3 -0
  230. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BWJNe2gr.js → GrResponseErrorBanner-2CvM7Z08.js} +2 -2
  231. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BWJNe2gr.js.map → GrResponseErrorBanner-2CvM7Z08.js.map} +1 -1
  232. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-Cdu9ekK9.js → GrResponseErrorBanner-C8NGx8pE.js} +3 -3
  233. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-Cdu9ekK9.js.map → GrResponseErrorBanner-C8NGx8pE.js.map} +1 -1
  234. package/dist/components/GrResponseErrorBanner/index.js +2 -2
  235. package/dist/components/GrSegmented/chunks/{GrSegmented-C1y0UXpQ.js → GrSegmented-CTd3n4PA.js} +14 -11
  236. package/dist/components/GrSegmented/chunks/GrSegmented-CTd3n4PA.js.map +1 -0
  237. package/dist/components/GrSegmented/index.js +2 -2
  238. package/dist/components/GrSelect/chunks/{GrSelect-RShK21lK.js → GrSelect-Dn3FgJ3Z.js} +293 -87
  239. package/dist/components/GrSelect/chunks/GrSelect-Dn3FgJ3Z.js.map +1 -0
  240. package/dist/components/GrSelect/index.js +2 -2
  241. package/dist/components/GrSidebar/chunks/{GrSidebar-DkWozzwA.js → GrSidebar-cvnzBfj3.js} +7 -7
  242. package/dist/components/GrSidebar/chunks/GrSidebar-cvnzBfj3.js.map +1 -0
  243. package/dist/components/GrSidebar/index.js +1 -1
  244. package/dist/components/GrSkeleton/chunks/{GrSkeleton-DsN-_CDZ.js → GrSkeleton-BucA5F4J.js} +1 -1
  245. package/dist/components/GrSkeleton/chunks/GrSkeleton-BucA5F4J.js.map +1 -0
  246. package/dist/components/GrSkeleton/index.js +2 -2
  247. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js +286 -0
  248. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js.map +1 -0
  249. package/dist/components/GrSlider/index.js +3 -0
  250. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js +128 -0
  251. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js.map +1 -0
  252. package/dist/components/GrStatistic/index.js +3 -0
  253. package/dist/components/GrSwitch/chunks/{GrSwitch-DAioyccZ.js → GrSwitch-CJdRvS0s.js} +16 -7
  254. package/dist/components/GrSwitch/chunks/GrSwitch-CJdRvS0s.js.map +1 -0
  255. package/dist/components/GrSwitch/index.js +2 -2
  256. package/dist/components/GrTabPanels/chunks/GrTabPanels-DeEMgb_y.js +68 -0
  257. package/dist/components/GrTabPanels/chunks/GrTabPanels-DeEMgb_y.js.map +1 -0
  258. package/dist/components/GrTabPanels/index.js +3 -0
  259. package/dist/components/GrTable/chunks/{GrTable-Db3hRnKA.js → GrTable-sNvsA8wa.js} +24 -11
  260. package/dist/components/GrTable/chunks/GrTable-sNvsA8wa.js.map +1 -0
  261. package/dist/components/GrTable/index.js +2 -2
  262. package/dist/components/GrTabs/chunks/{GrTabs-Z-FDJUr_.js → GrTabs-BqTak0SR.js} +9 -4
  263. package/dist/components/GrTabs/chunks/GrTabs-BqTak0SR.js.map +1 -0
  264. package/dist/components/GrTabs/index.js +2 -2
  265. package/dist/components/GrTextarea/chunks/{GrTextarea-D56YxhKq.js → GrTextarea-DIYBAPpP.js} +16 -6
  266. package/dist/components/GrTextarea/chunks/GrTextarea-DIYBAPpP.js.map +1 -0
  267. package/dist/components/GrTextarea/index.js +2 -2
  268. package/dist/components/GrToaster/chunks/{GrToaster-eI8YvnIo.js → GrToaster-BVHjIHcM.js} +52 -11
  269. package/dist/components/GrToaster/chunks/GrToaster-BVHjIHcM.js.map +1 -0
  270. package/dist/components/GrToaster/index.js +2 -2
  271. package/dist/components/GrTooltip/chunks/{GrTooltip-BeyZ8ssR.js → GrTooltip-BMKH2lIx.js} +3 -3
  272. package/dist/components/GrTooltip/chunks/GrTooltip-BMKH2lIx.js.map +1 -0
  273. package/dist/components/GrTooltip/index.js +1 -1
  274. package/dist/components/GrTree/chunks/{GrTree-D3ODe2dB.js → GrTree-_12ChXRQ.js} +108 -9
  275. package/dist/components/GrTree/chunks/GrTree-_12ChXRQ.js.map +1 -0
  276. package/dist/components/GrTree/index.js +2 -2
  277. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-B2xBKs5Q.js → GrTreeSelect-CdaLG7Xq.js} +10 -10
  278. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CdaLG7Xq.js.map +1 -0
  279. package/dist/components/GrTreeSelect/index.js +2 -2
  280. package/dist/composables/useToast.js +3 -1
  281. package/dist/composables/useToast.js.map +1 -1
  282. package/dist/directives/loading.js +1 -1
  283. package/dist/granular-provider-node.js +6 -6
  284. package/dist/granular-provider-node.js.map +1 -1
  285. package/dist/granular-provider.js +1 -1
  286. package/dist/i18n/all.js +1 -1
  287. package/dist/i18n/index.js +1 -1
  288. package/dist/index.js +112 -87
  289. package/dist/index.js.map +1 -1
  290. package/dist/styles/base.css +30 -8
  291. package/dist/styles/index.css +6 -3
  292. package/dist/styles/preflight.css +8 -4
  293. package/dist/styles/themes/dark.css +52 -40
  294. package/dist/styles/themes/light.css +70 -45
  295. package/dist/styles/tokens.css +20 -20
  296. package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +26 -14
  297. package/dist/types/src/components/GrAlert/defaults.d.ts +17 -0
  298. package/dist/types/src/components/GrAlert/grAlertStyles.d.ts +55 -0
  299. package/dist/types/src/components/GrAlert/index.d.ts +4 -1
  300. package/dist/types/src/components/GrAutocomplete/GrAutocomplete.vue.d.ts +153 -0
  301. package/dist/types/src/components/GrAutocomplete/config.d.ts +1 -0
  302. package/dist/types/src/components/GrAutocomplete/defaults.d.ts +15 -0
  303. package/dist/types/src/components/GrAutocomplete/grAutocompleteStyles.d.ts +27 -0
  304. package/dist/types/src/components/GrAutocomplete/index.d.ts +6 -0
  305. package/dist/types/src/components/GrAutocomplete/safelist.d.ts +1 -0
  306. package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +1 -1
  307. package/dist/types/src/components/GrBadge/GrBadge.vue.d.ts +7 -7
  308. package/dist/types/src/components/GrBadge/defaults.d.ts +15 -0
  309. package/dist/types/src/components/GrBadge/index.d.ts +1 -0
  310. package/dist/types/src/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +1 -1
  311. package/dist/types/src/components/GrButton/GrButton.vue.d.ts +12 -12
  312. package/dist/types/src/components/GrButton/defaults.d.ts +25 -0
  313. package/dist/types/src/components/GrButton/grButtonStyles.d.ts +2 -2
  314. package/dist/types/src/components/GrButton/index.d.ts +1 -0
  315. package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +4 -4
  316. package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +2 -2
  317. package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +1 -1
  318. package/dist/types/src/components/GrCommandPalette/GrCommandPalette.vue.d.ts +128 -0
  319. package/dist/types/src/components/GrCommandPalette/config.d.ts +1 -0
  320. package/dist/types/src/components/GrCommandPalette/filtering.d.ts +35 -0
  321. package/dist/types/src/components/GrCommandPalette/grCommandPaletteStyles.d.ts +20 -0
  322. package/dist/types/src/components/GrCommandPalette/hotkey.d.ts +23 -0
  323. package/dist/types/src/components/GrCommandPalette/index.d.ts +6 -0
  324. package/dist/types/src/components/GrCommandPalette/safelist.d.ts +1 -0
  325. package/dist/types/src/components/GrConfigProvider/GrConfigProvider.vue.d.ts +59 -0
  326. package/dist/types/src/components/GrConfigProvider/config.d.ts +1 -0
  327. package/dist/types/src/components/GrConfigProvider/context.d.ts +131 -0
  328. package/dist/types/src/components/GrConfigProvider/index.d.ts +5 -0
  329. package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +2 -2
  330. package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +48 -4
  331. package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +1 -1
  332. package/dist/types/src/components/GrDialogService/store.d.ts +18 -0
  333. package/dist/types/src/components/GrDivider/GrDivider.vue.d.ts +58 -0
  334. package/dist/types/src/components/GrDivider/config.d.ts +1 -0
  335. package/dist/types/src/components/GrDivider/index.d.ts +4 -0
  336. package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +5 -5
  337. package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +8 -1
  338. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +7 -1
  339. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +1 -1
  340. package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +3 -3
  341. package/dist/types/src/components/GrForm/GrForm.vue.d.ts +93 -0
  342. package/dist/types/src/components/GrForm/config.d.ts +1 -0
  343. package/dist/types/src/components/GrForm/context.d.ts +27 -0
  344. package/dist/types/src/components/GrForm/index.d.ts +6 -0
  345. package/dist/types/src/components/GrForm/validation.d.ts +52 -0
  346. package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +25 -2
  347. package/dist/types/src/components/GrFormField/context.d.ts +20 -0
  348. package/dist/types/src/components/GrFormField/index.d.ts +1 -0
  349. package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +4 -4
  350. package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +7 -3
  351. package/dist/types/src/components/GrImageViewer/composables/useViewerKeyboard.d.ts +20 -0
  352. package/dist/types/src/components/GrImageViewer/composables/useWheelGesture.d.ts +16 -0
  353. package/dist/types/src/components/GrImageViewer/composables/useZoomPan.d.ts +50 -0
  354. package/dist/types/src/components/GrInput/GrInput.vue.d.ts +49 -10
  355. package/dist/types/src/components/GrInput/defaults.d.ts +18 -0
  356. package/dist/types/src/components/GrInput/grInputStyles.d.ts +1 -1
  357. package/dist/types/src/components/GrInput/index.d.ts +1 -0
  358. package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +3 -3
  359. package/dist/types/src/components/GrKbd/GrKbd.vue.d.ts +46 -0
  360. package/dist/types/src/components/GrKbd/config.d.ts +1 -0
  361. package/dist/types/src/components/GrKbd/index.d.ts +4 -0
  362. package/dist/types/src/components/GrLink/GrLink.vue.d.ts +3 -3
  363. package/dist/types/src/components/GrLink/grLinkStyles.d.ts +3 -3
  364. package/dist/types/src/components/GrModal/grModalStyles.d.ts +1 -1
  365. package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +25 -9
  366. package/dist/types/src/components/GrNumberInput/defaults.d.ts +14 -0
  367. package/dist/types/src/components/GrNumberInput/index.d.ts +1 -0
  368. package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +18 -0
  369. package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +4 -4
  370. package/dist/types/src/components/GrRadio/GrRadio.vue.d.ts +5 -5
  371. package/dist/types/src/components/GrRadio/defaults.d.ts +14 -0
  372. package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +3 -3
  373. package/dist/types/src/components/GrRadio/index.d.ts +1 -0
  374. package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +4 -4
  375. package/dist/types/src/components/GrRadioGroup/defaults.d.ts +14 -0
  376. package/dist/types/src/components/GrRadioGroup/index.d.ts +1 -0
  377. package/dist/types/src/components/GrRating/GrRating.vue.d.ts +124 -0
  378. package/dist/types/src/components/GrRating/config.d.ts +1 -0
  379. package/dist/types/src/components/GrRating/defaults.d.ts +14 -0
  380. package/dist/types/src/components/GrRating/grRatingStyles.d.ts +21 -0
  381. package/dist/types/src/components/GrRating/index.d.ts +6 -0
  382. package/dist/types/src/components/GrRating/safelist.d.ts +1 -0
  383. package/dist/types/src/components/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +1 -1
  384. package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +7 -7
  385. package/dist/types/src/components/GrSegmented/defaults.d.ts +15 -0
  386. package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +1 -1
  387. package/dist/types/src/components/GrSegmented/index.d.ts +1 -0
  388. package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +57 -17
  389. package/dist/types/src/components/GrSelect/defaults.d.ts +17 -0
  390. package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +3 -3
  391. package/dist/types/src/components/GrSelect/index.d.ts +1 -0
  392. package/dist/types/src/components/GrSidebar/GrSidebarItem.vue.d.ts +2 -2
  393. package/dist/types/src/components/GrSkeleton/GrSkeleton.vue.d.ts +1 -1
  394. package/dist/types/src/components/GrSlider/GrSlider.vue.d.ts +88 -0
  395. package/dist/types/src/components/GrSlider/config.d.ts +1 -0
  396. package/dist/types/src/components/GrSlider/defaults.d.ts +14 -0
  397. package/dist/types/src/components/GrSlider/grSliderStyles.d.ts +36 -0
  398. package/dist/types/src/components/GrSlider/index.d.ts +6 -0
  399. package/dist/types/src/components/GrSlider/safelist.d.ts +1 -0
  400. package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +116 -0
  401. package/dist/types/src/components/GrStatistic/config.d.ts +1 -0
  402. package/dist/types/src/components/GrStatistic/formatStatisticValue.d.ts +16 -0
  403. package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +24 -0
  404. package/dist/types/src/components/GrStatistic/index.d.ts +6 -0
  405. package/dist/types/src/components/GrStatistic/safelist.d.ts +1 -0
  406. package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +4 -4
  407. package/dist/types/src/components/GrSwitch/defaults.d.ts +14 -0
  408. package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +2 -2
  409. package/dist/types/src/components/GrSwitch/index.d.ts +1 -0
  410. package/dist/types/src/components/GrTabPanels/GrTabPanel.vue.d.ts +46 -0
  411. package/dist/types/src/components/GrTabPanels/GrTabPanels.vue.d.ts +51 -0
  412. package/dist/types/src/components/GrTabPanels/config.d.ts +5 -0
  413. package/dist/types/src/components/GrTabPanels/context.d.ts +9 -0
  414. package/dist/types/src/components/GrTabPanels/index.d.ts +6 -0
  415. package/dist/types/src/components/GrTable/GrTable.vue.d.ts +16 -0
  416. package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +6 -0
  417. package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +5 -5
  418. package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +19 -2
  419. package/dist/types/src/components/GrToaster/index.d.ts +1 -1
  420. package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +1 -1
  421. package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +2 -0
  422. package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +1 -1
  423. package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +1 -1
  424. package/dist/types/src/composables/internal/useScrollLock.d.ts +24 -0
  425. package/dist/types/src/composables/useToast.d.ts +24 -0
  426. package/dist/types/src/granular-provider/shared.d.ts +10 -0
  427. package/dist/types/src/i18n/messages/en.d.ts +84 -0
  428. package/dist/types/src/i18n/messages/es.d.ts +84 -0
  429. package/dist/types/src/i18n/messages/ru.d.ts +84 -0
  430. package/dist/types/src/index.d.ts +10 -0
  431. package/dist/web-types.json +1642 -356
  432. package/package.json +41 -1
  433. package/dist/chunks/config-1uSYl98Y.js.map +0 -1
  434. package/dist/chunks/config-8Pcutu1j2.js.map +0 -1
  435. package/dist/chunks/config-B7IIWGt_2.js.map +0 -1
  436. package/dist/chunks/config-BIRO0vDJ2.js.map +0 -1
  437. package/dist/chunks/config-BLHqZhy-2.js.map +0 -1
  438. package/dist/chunks/config-BOlr7qw7.js.map +0 -1
  439. package/dist/chunks/config-BUHuGBik.js.map +0 -1
  440. package/dist/chunks/config-BX1JTrkV2.js.map +0 -1
  441. package/dist/chunks/config-C7NpDrfO.js.map +0 -1
  442. package/dist/chunks/config-ClhKPJvg.js.map +0 -1
  443. package/dist/chunks/config-Cpi9Mh2J.js.map +0 -1
  444. package/dist/chunks/config-CrG1XiE7.js.map +0 -1
  445. package/dist/chunks/config-DUcu1D68.js.map +0 -1
  446. package/dist/chunks/config-D_R56_gT.js.map +0 -1
  447. package/dist/chunks/config-DezDih8_.js.map +0 -1
  448. package/dist/chunks/config-DnvPqu4g.js.map +0 -1
  449. package/dist/chunks/config-DpqOnJiz2.js.map +0 -1
  450. package/dist/chunks/config-LGrZIdaZ2.js.map +0 -1
  451. package/dist/chunks/config-QaIc_gRa.js.map +0 -1
  452. package/dist/chunks/config-U4m9PSql.js.map +0 -1
  453. package/dist/chunks/config-eYLZYOUS2.js.map +0 -1
  454. package/dist/chunks/config-ipvU0lzP2.js.map +0 -1
  455. package/dist/chunks/config-xR4XVmcy.js.map +0 -1
  456. package/dist/chunks/en-BdtiS2d3.js.map +0 -1
  457. package/dist/chunks/es-BGRMZbe9.js.map +0 -1
  458. package/dist/chunks/grBadgeStyles-DrycBuKT.js.map +0 -1
  459. package/dist/chunks/grButtonStyles-C7Yga_Q1.js.map +0 -1
  460. package/dist/chunks/grModalStyles-DWd3i05Q.js.map +0 -1
  461. package/dist/chunks/grSelectStyles-CLK5hRd3.js.map +0 -1
  462. package/dist/chunks/grStyle-Blc9otAx.js.map +0 -1
  463. package/dist/chunks/ru-BFCnOiML.js.map +0 -1
  464. package/dist/chunks/shared-ChvcQgDl.js +0 -168
  465. package/dist/chunks/shared-ChvcQgDl.js.map +0 -1
  466. package/dist/chunks/transition-TLFw4KBn.js.map +0 -1
  467. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js +0 -163
  468. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js.map +0 -1
  469. package/dist/components/GrAvatar/chunks/GrAvatar-96CpTCq5.js.map +0 -1
  470. package/dist/components/GrBadge/chunks/GrBadge-B77XlaqE.js.map +0 -1
  471. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CcktMOdg.js.map +0 -1
  472. package/dist/components/GrBottomNav/chunks/GrBottomNav-usuMgG8_.js.map +0 -1
  473. package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js.map +0 -1
  474. package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js.map +0 -1
  475. package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js.map +0 -1
  476. package/dist/components/GrCollapse/chunks/GrCollapse-CPPLh_xU.js.map +0 -1
  477. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-BWYKCsHd.js.map +0 -1
  478. package/dist/components/GrDataTable/chunks/GrDataTable-ptbARmJ3.js +0 -179
  479. package/dist/components/GrDataTable/chunks/GrDataTable-ptbARmJ3.js.map +0 -1
  480. package/dist/components/GrDialog/chunks/GrDialog-5DAS-1Lb.js.map +0 -1
  481. package/dist/components/GrDialogService/chunks/GrDialogService-DY_fmaMu.js.map +0 -1
  482. package/dist/components/GrDrawer/chunks/GrDrawer-D1kzsjXN.js.map +0 -1
  483. package/dist/components/GrDropdown/chunks/GrDropdown-BXb5Cxxf.js.map +0 -1
  484. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-DFEJLPcV.js.map +0 -1
  485. package/dist/components/GrEmptyState/chunks/GrEmptyState-CA3BiTV7.js.map +0 -1
  486. package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js.map +0 -1
  487. package/dist/components/GrFormField/chunks/GrFormField-BujNQrw8.js +0 -35
  488. package/dist/components/GrFormField/chunks/GrFormField-BujNQrw8.js.map +0 -1
  489. package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js.map +0 -1
  490. package/dist/components/GrFormSection/chunks/GrFormSection-Ce21jcgo.js.map +0 -1
  491. package/dist/components/GrImageViewer/chunks/GrImageViewer-OCUIrNh2.js.map +0 -1
  492. package/dist/components/GrInput/chunks/GrInput-C8pOJgCi.js +0 -188
  493. package/dist/components/GrInput/chunks/GrInput-C8pOJgCi.js.map +0 -1
  494. package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js.map +0 -1
  495. package/dist/components/GrList/chunks/GrList-Dx772Ns4.js.map +0 -1
  496. package/dist/components/GrLoading/chunks/GrLoading--X_7rdbb.js.map +0 -1
  497. package/dist/components/GrModal/chunks/GrModal-BkjW9jZS.js.map +0 -1
  498. package/dist/components/GrNavbar/chunks/GrNavbar-DW3MiIIf.js.map +0 -1
  499. package/dist/components/GrNumberInput/chunks/GrNumberInput-CldPIWQx.js.map +0 -1
  500. package/dist/components/GrPagination/chunks/GrPagination-Bu9wv6it.js.map +0 -1
  501. package/dist/components/GrProgressBar/chunks/GrProgressBar-CC3z-Zqp.js.map +0 -1
  502. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-TmWXbpEP.js.map +0 -1
  503. package/dist/components/GrRadio/chunks/GrRadio-CPTixXaY.js.map +0 -1
  504. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-vKZCbkCp.js.map +0 -1
  505. package/dist/components/GrSegmented/chunks/GrSegmented-C1y0UXpQ.js.map +0 -1
  506. package/dist/components/GrSelect/chunks/GrSelect-RShK21lK.js.map +0 -1
  507. package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js.map +0 -1
  508. package/dist/components/GrSkeleton/chunks/GrSkeleton-DsN-_CDZ.js.map +0 -1
  509. package/dist/components/GrSwitch/chunks/GrSwitch-DAioyccZ.js.map +0 -1
  510. package/dist/components/GrTable/chunks/GrTable-Db3hRnKA.js.map +0 -1
  511. package/dist/components/GrTabs/chunks/GrTabs-Z-FDJUr_.js.map +0 -1
  512. package/dist/components/GrTextarea/chunks/GrTextarea-D56YxhKq.js.map +0 -1
  513. package/dist/components/GrToaster/chunks/GrToaster-eI8YvnIo.js.map +0 -1
  514. package/dist/components/GrTooltip/chunks/GrTooltip-BeyZ8ssR.js.map +0 -1
  515. package/dist/components/GrTree/chunks/GrTree-D3ODe2dB.js.map +0 -1
  516. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-B2xBKs5Q.js.map +0 -1
  517. package/dist/chunks/{config-8Pcutu1j2.js → config-8Pcutu1j.js} +0 -0
  518. package/dist/chunks/{config-BLHqZhy-2.js → config-BLHqZhy-.js} +0 -0
  519. package/dist/chunks/{config-BUHuGBik.js → config-BUHuGBik2.js} +0 -0
  520. package/dist/chunks/{config-BX1JTrkV2.js → config-BX1JTrkV.js} +0 -0
  521. package/dist/chunks/{config-DpqOnJiz2.js → config-DpqOnJiz.js} +0 -0
  522. package/dist/chunks/{config-Cpi9Mh2J.js → config-Dqy0rPPO2.js} +1 -1
  523. /package/dist/chunks/{config-LGrZIdaZ2.js → config-LGrZIdaZ.js} +0 -0
  524. /package/dist/chunks/{config-QaIc_gRa.js → config-QaIc_gRa2.js} +0 -0
  525. /package/dist/chunks/{config-U4m9PSql.js → config-U4m9PSql2.js} +0 -0
  526. /package/dist/chunks/{config-ipvU0lzP2.js → config-ipvU0lzP.js} +0 -0
  527. /package/dist/chunks/{config-xR4XVmcy.js → config-xR4XVmcy2.js} +0 -0
package/dist/GrBadge.css CHANGED
@@ -1 +1 @@
1
- .gr-badge__label[data-v-c44afbc8]{align-items:center;min-height:1lh;display:flex}.gr-badge__text[data-v-c44afbc8]{text-box-trim:trim-both;text-box-edge:cap alphabetic;text-box:trim-both cap alphabetic;display:block}
1
+ .gr-badge__label[data-v-39b6bab2]{align-items:center;min-height:1lh;display:flex}.gr-badge__text[data-v-39b6bab2]{text-box-trim:trim-both;text-box-edge:cap alphabetic;text-box:trim-both cap alphabetic;display:block}
@@ -1 +1 @@
1
- [data-gr-form-file].gr-dropzone--over[data-v-ff219d2a]{outline:2px solid var(--ring);outline-offset:2px}
1
+ [data-gr-form-file].gr-dropzone--over[data-v-e96c4b59]{outline:2px solid var(--gr-ring);outline-offset:2px}
@@ -1 +1 @@
1
- .gr-toast-progress[data-v-2b201c4e]{animation-name:gr-toast-progress-2b201c4e;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes gr-toast-progress-2b201c4e{0%{transform:scaleX(1)}to{transform:scaleX(0)}}
1
+ .gr-toast-progress[data-v-9cb2a65b]{animation-name:gr-toast-progress-9cb2a65b;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes gr-toast-progress-9cb2a65b{0%{transform:scaleX(1)}to{transform:scaleX(0)}}
package/dist/GrTree.css CHANGED
@@ -1 +1 @@
1
- .gr-tree[data-v-e05489c9]{--gr-tree-gap:2px;--gr-tree-children-pl:10px;--gr-tree-row-min-height:28px;--gr-tree-row-radius:8px;--gr-tree-row-pr:8px;--gr-tree-row-color:var(--fg);--gr-tree-row-hover-bg:color-mix(in srgb, var(--primary,#000) 10%, transparent);--gr-tree-row-current-bg:color-mix(in srgb, var(--primary,#000) 5%, transparent);--gr-tree-row-current-hover-bg:color-mix(in srgb, var(--primary,#000) 16%, transparent);--gr-tree-drag-handle-size:24px;--gr-tree-drag-handle-mr:0;--gr-tree-drag-handle-radius:6px;--gr-tree-drag-handle-color:inherit;--gr-tree-drag-handle-opacity:.55;--gr-tree-drag-handle-hover-bg:color-mix(in srgb, var(--muted,#000) 22%, transparent);--gr-tree-drag-handle-hover-color:var(--gr-tree-drag-handle-color);--gr-tree-drag-handle-hover-opacity:.9;--gr-tree-drag-handle-disabled-opacity:.25;--gr-tree-toggle-size:24px;--gr-tree-toggle-mr:0;--gr-tree-toggle-radius:6px;--gr-tree-toggle-color:inherit;--gr-tree-toggle-hover-bg:color-mix(in srgb, var(--muted,#000) 25%, transparent);--gr-tree-toggle-hover-color:var(--gr-tree-toggle-color);--gr-tree-icon-size:16px;--gr-tree-content-gap:8px;--gr-tree-branch-line-default-color:var(--gr-tree-row-current-bg);--gr-tree-branch-line-width:2px;gap:var(--gr-tree-gap);flex-direction:column;display:flex}.gr-tree__children[data-v-e05489c9]{gap:var(--gr-tree-gap);flex-direction:column;display:flex}.gr-tree__children-wrap[data-v-e05489c9]{--gr-tree-branch-line-color:var(--gr-tree-branch-line-default-color);gap:var(--gr-tree-gap);padding-left:var(--gr-tree-children-pl,10px);border-left:var(--gr-tree-branch-line-width) solid transparent;flex-direction:column;display:flex}.gr-tree__children-wrap--with-branch[data-v-e05489c9]{border-left-color:var(--gr-tree-branch-line-color,var(--gr-tree-branch-line-default-color))}.gr-tree__row[data-v-e05489c9]{min-height:var(--gr-tree-row-min-height);border-radius:var(--gr-tree-row-radius);padding-right:var(--gr-tree-row-pr);cursor:default;user-select:none;color:var(--gr-tree-row-color);outline:none;align-items:center;display:flex;position:relative}.gr-tree__row[data-v-e05489c9]:hover{background:var(--gr-tree-row-hover-bg)}.gr-tree__row--current[data-v-e05489c9]{background:var(--gr-tree-row-current-bg)}.gr-tree__row--current[data-v-e05489c9]:hover{background:var(--gr-tree-row-current-hover-bg)}.gr-tree__row--matched .gr-tree__label[data-v-e05489c9]{font-weight:600}.gr-tree__drag-handle[data-v-e05489c9]{width:var(--gr-tree-drag-handle-size);height:var(--gr-tree-drag-handle-size);margin-right:var(--gr-tree-drag-handle-mr);border-radius:var(--gr-tree-drag-handle-radius);color:var(--gr-tree-drag-handle-color);cursor:grab;visibility:hidden;pointer-events:none;opacity:0;justify-content:center;align-items:center;display:inline-flex}.gr-tree__drag-handle--visible[data-v-e05489c9]{visibility:visible;pointer-events:auto;opacity:var(--gr-tree-drag-handle-opacity)}.gr-tree__drag-handle[data-v-e05489c9]:hover{background:var(--gr-tree-drag-handle-hover-bg);color:var(--gr-tree-drag-handle-hover-color);opacity:var(--gr-tree-drag-handle-hover-opacity)}.gr-tree__drag-handle[data-v-e05489c9]:active{cursor:grabbing}.gr-tree__drag-handle--disabled[data-v-e05489c9]{cursor:default;opacity:var(--gr-tree-drag-handle-disabled-opacity)}.gr-tree__drag-icon[data-v-e05489c9]{width:var(--gr-tree-icon-size);height:var(--gr-tree-icon-size)}.gr-tree__toggle[data-v-e05489c9]{width:var(--gr-tree-toggle-size);height:var(--gr-tree-toggle-size);margin-right:var(--gr-tree-toggle-mr);border-radius:var(--gr-tree-toggle-radius);color:var(--gr-tree-toggle-color);justify-content:center;align-items:center;display:inline-flex}.gr-tree__toggle[data-v-e05489c9]:hover{background:var(--gr-tree-toggle-hover-bg);color:var(--gr-tree-toggle-hover-color)}.gr-tree__toggle-icon[data-v-e05489c9]{width:var(--gr-tree-icon-size);height:var(--gr-tree-icon-size);transition:transform .12s}.gr-tree__toggle-icon--expanded[data-v-e05489c9]{transform:rotate(90deg)}.gr-tree__toggle-spacer[data-v-e05489c9]{width:var(--gr-tree-toggle-size);height:var(--gr-tree-toggle-size);margin-right:var(--gr-tree-toggle-mr);display:inline-block}.gr-tree__content[data-v-e05489c9]{align-items:center;gap:var(--gr-tree-content-gap);min-width:0;display:flex}.gr-tree__label[data-v-e05489c9]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gr-tree__row--drop-inner[data-v-e05489c9]{outline:2px solid color-mix(in srgb, var(--primary,#000) 40%, transparent)}.gr-tree__row--drop-prev[data-v-e05489c9]:before,.gr-tree__row--drop-next[data-v-e05489c9]:after{content:"";background:color-mix(in srgb, var(--primary,#000) 55%, transparent);height:2px;position:absolute;left:8px;right:8px}.gr-tree__row--drop-prev[data-v-e05489c9]:before{top:2px}.gr-tree__row--drop-next[data-v-e05489c9]:after{bottom:2px}
1
+ .gr-tree[data-v-f13e1d8d]{--gr-tree-gap:2px;--gr-tree-children-pl:10px;--gr-tree-row-min-height:28px;--gr-tree-row-radius:8px;--gr-tree-row-pr:8px;--gr-tree-row-color:var(--gr-fg);--gr-tree-row-hover-bg:color-mix(in srgb, var(--gr-primary,#000) 10%, transparent);--gr-tree-row-current-bg:color-mix(in srgb, var(--gr-primary,#000) 5%, transparent);--gr-tree-row-current-hover-bg:color-mix(in srgb, var(--gr-primary,#000) 16%, transparent);--gr-tree-drag-handle-size:24px;--gr-tree-drag-handle-mr:0;--gr-tree-drag-handle-radius:6px;--gr-tree-drag-handle-color:inherit;--gr-tree-drag-handle-opacity:.55;--gr-tree-drag-handle-hover-bg:color-mix(in srgb, var(--gr-muted,#000) 22%, transparent);--gr-tree-drag-handle-hover-color:var(--gr-tree-drag-handle-color);--gr-tree-drag-handle-hover-opacity:.9;--gr-tree-drag-handle-disabled-opacity:.25;--gr-tree-toggle-size:24px;--gr-tree-toggle-mr:0;--gr-tree-toggle-radius:6px;--gr-tree-toggle-color:inherit;--gr-tree-toggle-hover-bg:color-mix(in srgb, var(--gr-muted,#000) 25%, transparent);--gr-tree-toggle-hover-color:var(--gr-tree-toggle-color);--gr-tree-icon-size:16px;--gr-tree-content-gap:8px;--gr-tree-branch-line-default-color:var(--gr-tree-row-current-bg);--gr-tree-branch-line-width:2px;gap:var(--gr-tree-gap);flex-direction:column;display:flex}.gr-tree__children[data-v-f13e1d8d]{gap:var(--gr-tree-gap);flex-direction:column;display:flex}.gr-tree__children-wrap[data-v-f13e1d8d]{--gr-tree-branch-line-color:var(--gr-tree-branch-line-default-color);gap:var(--gr-tree-gap);padding-left:var(--gr-tree-children-pl,10px);border-left:var(--gr-tree-branch-line-width) solid transparent;flex-direction:column;display:flex}.gr-tree__children-wrap--with-branch[data-v-f13e1d8d]{border-left-color:var(--gr-tree-branch-line-color,var(--gr-tree-branch-line-default-color))}.gr-tree__row[data-v-f13e1d8d]{min-height:var(--gr-tree-row-min-height);border-radius:var(--gr-tree-row-radius);padding-right:var(--gr-tree-row-pr);cursor:default;user-select:none;color:var(--gr-tree-row-color);outline:none;align-items:center;display:flex;position:relative}.gr-tree__row[data-v-f13e1d8d]:hover{background:var(--gr-tree-row-hover-bg)}[data-gr-tree-node][data-v-f13e1d8d]{outline:none}[data-gr-tree-node]:focus-visible>.gr-tree__row[data-v-f13e1d8d]{outline:2px solid var(--gr-primary,#000);outline-offset:-2px}.gr-tree__row--current[data-v-f13e1d8d]{background:var(--gr-tree-row-current-bg)}.gr-tree__row--current[data-v-f13e1d8d]:hover{background:var(--gr-tree-row-current-hover-bg)}.gr-tree__row--matched .gr-tree__label[data-v-f13e1d8d]{font-weight:600}.gr-tree__drag-handle[data-v-f13e1d8d]{width:var(--gr-tree-drag-handle-size);height:var(--gr-tree-drag-handle-size);margin-right:var(--gr-tree-drag-handle-mr);border-radius:var(--gr-tree-drag-handle-radius);color:var(--gr-tree-drag-handle-color);cursor:grab;visibility:hidden;pointer-events:none;opacity:0;justify-content:center;align-items:center;display:inline-flex}.gr-tree__drag-handle--visible[data-v-f13e1d8d]{visibility:visible;pointer-events:auto;opacity:var(--gr-tree-drag-handle-opacity)}.gr-tree__drag-handle[data-v-f13e1d8d]:hover{background:var(--gr-tree-drag-handle-hover-bg);color:var(--gr-tree-drag-handle-hover-color);opacity:var(--gr-tree-drag-handle-hover-opacity)}.gr-tree__drag-handle[data-v-f13e1d8d]:active{cursor:grabbing}.gr-tree__drag-handle--disabled[data-v-f13e1d8d]{cursor:default;opacity:var(--gr-tree-drag-handle-disabled-opacity)}.gr-tree__drag-icon[data-v-f13e1d8d]{width:var(--gr-tree-icon-size);height:var(--gr-tree-icon-size)}.gr-tree__toggle[data-v-f13e1d8d]{width:var(--gr-tree-toggle-size);height:var(--gr-tree-toggle-size);margin-right:var(--gr-tree-toggle-mr);border-radius:var(--gr-tree-toggle-radius);color:var(--gr-tree-toggle-color);justify-content:center;align-items:center;display:inline-flex}.gr-tree__toggle[data-v-f13e1d8d]:hover{background:var(--gr-tree-toggle-hover-bg);color:var(--gr-tree-toggle-hover-color)}.gr-tree__toggle-icon[data-v-f13e1d8d]{width:var(--gr-tree-icon-size);height:var(--gr-tree-icon-size);transition:transform .12s}.gr-tree__toggle-icon--expanded[data-v-f13e1d8d]{transform:rotate(90deg)}.gr-tree__toggle-spacer[data-v-f13e1d8d]{width:var(--gr-tree-toggle-size);height:var(--gr-tree-toggle-size);margin-right:var(--gr-tree-toggle-mr);display:inline-block}.gr-tree__content[data-v-f13e1d8d]{align-items:center;gap:var(--gr-tree-content-gap);min-width:0;display:flex}.gr-tree__label[data-v-f13e1d8d]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gr-tree__row--drop-inner[data-v-f13e1d8d]{outline:2px solid color-mix(in srgb, var(--gr-primary,#000) 40%, transparent)}.gr-tree__row--drop-prev[data-v-f13e1d8d]:before,.gr-tree__row--drop-next[data-v-f13e1d8d]:after{content:"";background:color-mix(in srgb, var(--gr-primary,#000) 55%, transparent);height:2px;position:absolute;left:8px;right:8px}.gr-tree__row--drop-prev[data-v-f13e1d8d]:before{top:2px}.gr-tree__row--drop-next[data-v-f13e1d8d]:after{bottom:2px}
@@ -14,7 +14,7 @@ var inputSizeClassBySize = {
14
14
  lg: "text-[16px]"
15
15
  };
16
16
  var wrapperBorderClassByState = {
17
- default: "border-[var(--brd)]",
17
+ default: "border-[var(--gr-brd)]",
18
18
  success: "border-[var(--gr-success)] focus-within:ring-[var(--gr-success)]",
19
19
  warning: "border-[var(--gr-warning)] focus-within:ring-[var(--gr-warning)]",
20
20
  danger: "border-[var(--gr-danger)] focus-within:ring-[var(--gr-danger)]"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-23WtUiAL.js","names":[],"sources":["../../src/components/GrInputTag/grInputTagStyles.ts","../../src/components/GrInputTag/safelist.ts","../../src/components/GrInputTag/config.ts"],"sourcesContent":["import type { GrInputSize } from '../GrInput/GrInput.vue'\nexport type GrInputTagSize = GrInputSize\nexport type GrInputTagState = 'default' | 'success' | 'warning' | 'danger'\nexport const wrapperSizeClassBySize: Record<GrInputTagSize, string> = {\n xs: 'min-h-7 px-2.5 py-1 gap-1.5',\n sm: 'min-h-8 px-3 py-1 gap-1.5',\n md: 'min-h-10 px-3 py-1.5 gap-2',\n lg: 'min-h-11 px-4 py-2 gap-2',\n}\nexport const inputSizeClassBySize: Record<GrInputTagSize, string> = {\n xs: 'text-[12px]',\n sm: 'text-[13px]',\n md: 'text-[14px]',\n lg: 'text-[16px]',\n}\nexport const wrapperBorderClassByState: Record<GrInputTagState, string> = {\n default: 'border-[var(--gr-brd)]',\n success: 'border-[var(--gr-success)] focus-within:ring-[var(--gr-success)]',\n warning: 'border-[var(--gr-warning)] focus-within:ring-[var(--gr-warning)]',\n danger: 'border-[var(--gr-danger)] focus-within:ring-[var(--gr-danger)]',\n}\nexport function grInputTagWrapperClass(options: { size: GrInputTagSize, state: GrInputTagState, invalid: boolean, disabled: boolean }): string {\n return [\n wrapperSizeClassBySize[options.size],\n options.invalid ? wrapperBorderClassByState.danger : wrapperBorderClassByState[options.state],\n options.disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-text',\n ].join(' ')\n}\nexport function grInputTagInputClass(size: GrInputTagSize): string {\n return inputSizeClassBySize[size]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n inputSizeClassBySize,\n wrapperBorderClassByState,\n wrapperSizeClassBySize,\n} from './grInputTagStyles'\n\nexport const grInputTagSafelist = [...new Set([\n ...Object.values(wrapperSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(inputSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(wrapperBorderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens('opacity-50 cursor-not-allowed'),\n ...splitClassTokens('cursor-text'),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grInputTagSafelist } from './safelist'\n\nexport const grInputTagConfig = defineGranularComponent(import.meta.url, {\n name: 'GrInputTag',\n dependencies: ['GrBadge', 'GrIcon', 'GrInput'],\n safelist: grInputTagSafelist,\n})"],"mappings":";;;AAGA,IAAa,yBAAyD;CACpE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AACA,IAAa,uBAAuD;CAClE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AACA,IAAa,4BAA6D;CACxE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;AACV;AACA,SAAgB,uBAAuB,SAAwG;CAC7I,OAAO;EACL,uBAAuB,QAAQ;EAC/B,QAAQ,UAAU,0BAA0B,SAAS,0BAA0B,QAAQ;EACvF,QAAQ,WAAW,kCAAkC;CACvD,CAAC,CAAC,KAAK,GAAG;AACZ;AACA,SAAgB,qBAAqB,MAA8B;CACjE,OAAO,qBAAqB;AAC9B;;;ACvBA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI;CAC5C,GAAG,OAAO,OAAO,sBAAsB,CAAC,CAAC,QAAQ,gBAAgB;CACjE,GAAG,OAAO,OAAO,oBAAoB,CAAC,CAAC,QAAQ,gBAAgB;CAC/D,GAAG,OAAO,OAAO,yBAAyB,CAAC,CAAC,QAAQ,gBAAgB;CACpE,GAAG,iBAAiB,+BAA+B;CACnD,GAAG,iBAAiB,aAAa;AACnC,CAAC,CAAC;;;ACTF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,cAAc;EAAC;EAAW;EAAU;CAAS;CAC7C,UAAU;AACZ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-8Pcutu1j.js","names":[],"sources":["../../src/components/GrSkeleton/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grSkeletonConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSkeleton',\n})\n"],"mappings":";;AAEA,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK,EACvE,MAAM,aACR,CAAC"}
@@ -2,7 +2,7 @@ import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrTextarea/grTextareaStyles.ts
4
4
  var borderClassByState = {
5
- default: "border-[var(--brd)]",
5
+ default: "border-[var(--gr-brd)]",
6
6
  success: "border-[var(--gr-success)] focus-visible:ring-[var(--gr-success)]",
7
7
  warning: "border-[var(--gr-warning)] focus-visible:ring-[var(--gr-warning)]",
8
8
  danger: "border-[var(--gr-danger)] focus-visible:ring-[var(--gr-danger)]"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-B0i5r8kH.js","names":[],"sources":["../../src/components/GrTextarea/grTextareaStyles.ts","../../src/components/GrTextarea/safelist.ts","../../src/components/GrTextarea/config.ts"],"sourcesContent":["export type GrTextareaState = 'default' | 'success' | 'warning' | 'danger'\n\nexport const borderClassByState: Record<GrTextareaState, string> = {\n default: 'border-[var(--gr-brd)]',\n success: 'border-[var(--gr-success)] focus-visible:ring-[var(--gr-success)]',\n warning: 'border-[var(--gr-warning)] focus-visible:ring-[var(--gr-warning)]',\n danger: 'border-[var(--gr-danger)] focus-visible:ring-[var(--gr-danger)]',\n}\n\nexport function grTextareaClass(options: { state: GrTextareaState, invalid: boolean }): string {\n return options.invalid ? borderClassByState.danger : borderClassByState[options.state]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { borderClassByState } from './grTextareaStyles'\n\nexport const grTextareaSafelist = [...new Set([\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTextareaSafelist } from './safelist'\n\nexport const grTextareaConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTextarea',\n safelist: grTextareaSafelist,\n})"],"mappings":";;;AAEA,IAAa,qBAAsD;CACjE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;AACV;AAEA,SAAgB,gBAAgB,SAA+D;CAC7F,OAAO,QAAQ,UAAU,mBAAmB,SAAS,mBAAmB,QAAQ;AAClF;;;ACRA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI,CAC5C,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,QAAQ,gBAAgB,CAC/D,CAAC,CAAC;;;ACDF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -2,61 +2,55 @@ import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrLink/grLinkStyles.ts
4
4
  var baseRootClass = "inline-flex items-center gap-1 rounded-[6px] transition-colors duration-150";
5
- var focusRingClass = "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]";
5
+ var focusRingClass = "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
6
6
  var sizeClassBySize = {
7
7
  sm: "text-[13px]",
8
8
  md: "text-[14px]",
9
9
  lg: "text-[16px]"
10
10
  };
11
11
  var colorClass = "text-[var(--gr-link-color)] visited:text-[var(--gr-link-color)] hover:text-[var(--gr-link-color-hover)] active:text-[var(--gr-link-color-active)]";
12
+ /**
13
+ * Пары «цвет / hover / active» на каждый тон из ролей темы.
14
+ *
15
+ * Ссылка — это ТЕКСТ на фоне страницы, поэтому тона берутся из `-text`, а не
16
+ * из насыщенного `--gr-{tone}`: последний под текст не рассчитан
17
+ * (`--gr-success` на `--gr-bg` — 2.2:1). Готовых `-text-hover/-active` в
18
+ * системе нет, поэтому они выводятся тем же приёмом, что и `--gr-{tone}-hover`
19
+ * в `tokens.css` — подмесом `--gr-fg`. В светлой теме это делает ссылку темнее
20
+ * при наведении, в тёмной — светлее, то есть в обеих контраст растёт.
21
+ */
22
+ function toneTextColors(tone) {
23
+ const base = `var(--gr-${tone}-text)`;
24
+ return {
25
+ base,
26
+ hover: `color-mix(in srgb, ${base} 92%, var(--gr-fg))`,
27
+ active: `color-mix(in srgb, ${base} 84%, var(--gr-fg))`
28
+ };
29
+ }
12
30
  var linkToneColors = {
13
31
  primary: {
14
- base: "var(--primary)",
15
- hover: "var(--primary-hover)",
16
- active: "var(--primary-active)"
32
+ base: "var(--gr-primary)",
33
+ hover: "var(--gr-primary-hover)",
34
+ active: "var(--gr-primary-active)"
17
35
  },
18
36
  neutral: {
19
- base: "var(--fg)",
20
- hover: "var(--primary)",
21
- active: "var(--primary-active)"
22
- },
23
- success: {
24
- base: "var(--gr-success)",
25
- hover: "var(--gr-success-hover)",
26
- active: "var(--gr-success-active)"
27
- },
28
- warning: {
29
- base: "var(--gr-warning)",
30
- hover: "var(--gr-warning-hover)",
31
- active: "var(--gr-warning-active)"
32
- },
33
- danger: {
34
- base: "var(--gr-danger)",
35
- hover: "var(--gr-danger-hover)",
36
- active: "var(--gr-danger-active)"
37
- },
38
- info: {
39
- base: "var(--gr-info)",
40
- hover: "var(--gr-info-hover)",
41
- active: "var(--gr-info-active)"
42
- },
43
- slate: {
44
- base: "var(--gr-slate)",
45
- hover: "var(--gr-slate-hover)",
46
- active: "var(--gr-slate-active)"
37
+ base: "var(--gr-fg)",
38
+ hover: "var(--gr-primary)",
39
+ active: "var(--gr-primary-active)"
47
40
  },
48
- azure: {
49
- base: "var(--gr-azure)",
50
- hover: "var(--gr-azure-hover)",
51
- active: "var(--gr-azure-active)"
52
- }
41
+ success: toneTextColors("success"),
42
+ warning: toneTextColors("warning"),
43
+ danger: toneTextColors("danger"),
44
+ info: toneTextColors("info"),
45
+ slate: toneTextColors("slate"),
46
+ azure: toneTextColors("azure")
53
47
  };
54
48
  /** Инлайновые CSS-переменные цвета для текущей комбинации `tone` × `variant`. */
55
49
  function grLinkColorStyle(options) {
56
50
  if (options.disabled) return {};
57
51
  const colors = linkToneColors[options.tone] ?? linkToneColors.primary;
58
52
  if (options.variant === "muted") return {
59
- "--gr-link-color": "var(--muted-fg)",
53
+ "--gr-link-color": "var(--gr-muted-fg)",
60
54
  "--gr-link-color-hover": colors.base,
61
55
  "--gr-link-color-active": colors.active
62
56
  };
@@ -66,7 +60,7 @@ function grLinkColorStyle(options) {
66
60
  "--gr-link-color-active": colors.active
67
61
  };
68
62
  }
69
- var disabledStateClass = "cursor-not-allowed opacity-60 text-[var(--muted-fg)]";
63
+ var disabledStateClass = "cursor-not-allowed opacity-60 text-[var(--gr-muted-fg)]";
70
64
  var UNDERLINE_VALUES = [
71
65
  "auto",
72
66
  "always",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-B5Rknzkd.js","names":[],"sources":["../../src/components/GrLink/grLinkStyles.ts","../../src/components/GrLink/safelist.ts","../../src/components/GrLink/config.ts"],"sourcesContent":["import { GR_TONES, type GrTone } from '../shared/tones'\n\n/**\n * Архитектура цвета GrLink (согласована с остальной GR, ср. GrButton):\n *\n * - `tone` — семантический ЦВЕТ из общей палитры `GrTone`\n * (`primary | neutral | success | warning | danger | info | slate | azure`).\n * - `variant` — уровень акцента (СТРУКТУРА), независимый от цвета:\n * - `default` — текст окрашен в `tone` в покое, `tone-hover`/`tone-active` при\n * наведении/нажатии (обычная акцентная ссылка);\n * - `muted` — приглушённый текст (`--gr-muted-fg`) в покое, окрашивается в `tone`\n * при наведении (вторичные/inline-ссылки в плотных областях).\n *\n * Раньше `variant` смешивал цвет и акцент (`primary/default/muted/muted-primary/danger`).\n * Теперь это ортогональные оси: `tone` × `variant`.\n */\nexport type GrLinkTone = GrTone\nexport type GrLinkVariant = 'default' | 'muted'\nexport type GrLinkUnderline = 'auto' | 'always' | 'none'\nexport type GrLinkSize = 'sm' | 'md' | 'lg'\n\n// Базовые классы корневого элемента (`<a>`/`<span>`). Вынесены сюда,\n// чтобы быть единственным источником истины как для шаблона, так и для safelist.\nexport const baseRootClass = 'inline-flex items-center gap-1 rounded-[6px] transition-colors duration-150'\nexport const focusRingClass = 'focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\nexport const sizeClassBySize: Record<GrLinkSize, string> = {\n sm: 'text-[13px]',\n md: 'text-[14px]',\n lg: 'text-[16px]',\n}\n\n// Цвет управляется CSS-переменными (как трек в GrSwitch): один набор классов\n// вместо class-эксплозии 8 тонов × 3 состояния. Safelist остаётся крошечным.\nexport const colorClass = 'text-[var(--gr-link-color)] visited:text-[var(--gr-link-color)] hover:text-[var(--gr-link-color-hover)] active:text-[var(--gr-link-color-active)]'\n\ntype GrLinkToneColors = { base: string, hover: string, active: string }\n\n/**\n * Пары «цвет / hover / active» на каждый тон из ролей темы.\n *\n * Ссылка — это ТЕКСТ на фоне страницы, поэтому тона берутся из `-text`, а не\n * из насыщенного `--gr-{tone}`: последний под текст не рассчитан\n * (`--gr-success` на `--gr-bg` — 2.2:1). Готовых `-text-hover/-active` в\n * системе нет, поэтому они выводятся тем же приёмом, что и `--gr-{tone}-hover`\n * в `tokens.css` — подмесом `--gr-fg`. В светлой теме это делает ссылку темнее\n * при наведении, в тёмной — светлее, то есть в обеих контраст растёт.\n */\nfunction toneTextColors(tone: string): GrLinkToneColors {\n const base = `var(--gr-${tone}-text)`\n\n return {\n base,\n hover: `color-mix(in srgb, ${base} 92%, var(--gr-fg))`,\n active: `color-mix(in srgb, ${base} 84%, var(--gr-fg))`,\n }\n}\n\nexport const linkToneColors: Record<GrLinkTone, GrLinkToneColors> = {\n primary: { base: 'var(--gr-primary)', hover: 'var(--gr-primary-hover)', active: 'var(--gr-primary-active)' },\n // Нейтральная ссылка: читаемый `--gr-fg` в покое, акцент `--gr-primary` при наведении.\n neutral: { base: 'var(--gr-fg)', hover: 'var(--gr-primary)', active: 'var(--gr-primary-active)' },\n success: toneTextColors('success'),\n warning: toneTextColors('warning'),\n danger: toneTextColors('danger'),\n info: toneTextColors('info'),\n slate: toneTextColors('slate'),\n azure: toneTextColors('azure'),\n}\n\n/** Инлайновые CSS-переменные цвета для текущей комбинации `tone` × `variant`. */\nexport function grLinkColorStyle(options: { tone: GrLinkTone, variant: GrLinkVariant, disabled: boolean }): Record<string, string> {\n if (options.disabled) return {}\n\n const colors = linkToneColors[options.tone] ?? linkToneColors.primary\n\n if (options.variant === 'muted') {\n return {\n '--gr-link-color': 'var(--gr-muted-fg)',\n '--gr-link-color-hover': colors.base,\n '--gr-link-color-active': colors.active,\n }\n }\n\n return {\n '--gr-link-color': colors.base,\n '--gr-link-color-hover': colors.hover,\n '--gr-link-color-active': colors.active,\n }\n}\n\nexport const disabledStateClass = 'cursor-not-allowed opacity-60 text-[var(--gr-muted-fg)]'\n\nconst UNDERLINE_VALUES: readonly GrLinkUnderline[] = ['auto', 'always', 'none']\n\nfunction underlineClass(underline: GrLinkUnderline, disabled: boolean): string {\n if (disabled) return 'no-underline'\n if (underline === 'always') return 'underline underline-offset-4'\n if (underline === 'none') return 'no-underline'\n return 'no-underline hover:underline hover:underline-offset-4'\n}\n\n// Derived from `underlineClass` so that there is a single source of truth:\n// any change/extension of the underline logic is automatically reflected\n// in the safelist without manual updates.\nexport const underlineClasses: readonly string[] = [...new Set(\n UNDERLINE_VALUES.flatMap(u => [underlineClass(u, false), underlineClass(u, true)]),\n)]\n\nexport function grLinkClass(options: { size: GrLinkSize, underline: GrLinkUnderline, disabled: boolean }): string {\n return [\n sizeClassBySize[options.size],\n underlineClass(options.underline, options.disabled),\n options.disabled ? disabledStateClass : colorClass,\n ]\n .filter(Boolean)\n .join(' ')\n}\n\n// Реэкспорт палитры тонов для потребителей/демо.\nexport { GR_TONES }\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n baseRootClass,\n colorClass,\n disabledStateClass,\n focusRingClass,\n sizeClassBySize,\n underlineClasses,\n} from './grLinkStyles'\n\nexport const grLinkSafelist = [...new Set([\n ...splitClassTokens(baseRootClass),\n ...splitClassTokens(focusRingClass),\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...underlineClasses.flatMap(splitClassTokens),\n ...splitClassTokens(colorClass),\n ...splitClassTokens(disabledStateClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grLinkSafelist } from './safelist'\n\nexport const grLinkConfig = defineGranularComponent(import.meta.url, {\n name: 'GrLink',\n safelist: grLinkSafelist,\n})"],"mappings":";;;AAuBA,IAAa,gBAAgB;AAC7B,IAAa,iBAAiB;AAE9B,IAAa,kBAA8C;CACzD,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAIA,IAAa,aAAa;;;;;;;;;;;AAc1B,SAAS,eAAe,MAAgC;CACtD,MAAM,OAAO,YAAY,KAAK;CAE9B,OAAO;EACL;EACA,OAAO,sBAAsB,KAAK;EAClC,QAAQ,sBAAsB,KAAK;CACrC;AACF;AAEA,IAAa,iBAAuD;CAClE,SAAS;EAAE,MAAM;EAAqB,OAAO;EAA2B,QAAQ;CAA2B;CAE3G,SAAS;EAAE,MAAM;EAAgB,OAAO;EAAqB,QAAQ;CAA2B;CAChG,SAAS,eAAe,SAAS;CACjC,SAAS,eAAe,SAAS;CACjC,QAAQ,eAAe,QAAQ;CAC/B,MAAM,eAAe,MAAM;CAC3B,OAAO,eAAe,OAAO;CAC7B,OAAO,eAAe,OAAO;AAC/B;;AAGA,SAAgB,iBAAiB,SAAkG;CACjI,IAAI,QAAQ,UAAU,OAAO,CAAC;CAE9B,MAAM,SAAS,eAAe,QAAQ,SAAS,eAAe;CAE9D,IAAI,QAAQ,YAAY,SACtB,OAAO;EACL,mBAAmB;EACnB,yBAAyB,OAAO;EAChC,0BAA0B,OAAO;CACnC;CAGF,OAAO;EACL,mBAAmB,OAAO;EAC1B,yBAAyB,OAAO;EAChC,0BAA0B,OAAO;CACnC;AACF;AAEA,IAAa,qBAAqB;AAElC,IAAM,mBAA+C;CAAC;CAAQ;CAAU;AAAM;AAE9E,SAAS,eAAe,WAA4B,UAA2B;CAC7E,IAAI,UAAU,OAAO;CACrB,IAAI,cAAc,UAAU,OAAO;CACnC,IAAI,cAAc,QAAQ,OAAO;CACjC,OAAO;AACT;AAKA,IAAa,mBAAsC,CAAC,GAAG,IAAI,IACzD,iBAAiB,SAAQ,MAAK,CAAC,eAAe,GAAG,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC,CACnF,CAAC;AAED,SAAgB,YAAY,SAAsF;CAChH,OAAO;EACL,gBAAgB,QAAQ;EACxB,eAAe,QAAQ,WAAW,QAAQ,QAAQ;EAClD,QAAQ,WAAW,qBAAqB;CAC1C,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;;;AC3GA,IAAa,iBAAiB,CAAC,mBAAG,IAAI,IAAI;CACxC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,cAAc;CAClC,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,iBAAiB,QAAQ,gBAAgB;CAC5C,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,kBAAkB;AACxC,CAAC,CAAC;;;ACbF,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
2
+ //#region src/components/GrConfigProvider/config.ts
3
+ var grConfigProviderConfig = defineGranularComponent(import.meta.url, { name: "GrConfigProvider" });
4
+ //#endregion
5
+ export { grConfigProviderConfig as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-B7W9VlZ7.js","names":[],"sources":["../../src/components/GrConfigProvider/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grConfigProviderConfig = defineGranularComponent(import.meta.url, {\n name: 'GrConfigProvider',\n})\n"],"mappings":";;AAEA,IAAa,yBAAyB,wBAAwB,OAAO,KAAK,KAAK,EAC7E,MAAM,mBACR,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
+ import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
+ //#region src/components/GrStatistic/grStatisticStyles.ts
4
+ /**
5
+ * Кастомизация через CSS-переменные:
6
+ *
7
+ * - `--gr-statistic-value-color` — цвет значения (по умолчанию — из `tone`).
8
+ * - `--gr-statistic-title-color` — цвет подписи показателя.
9
+ */
10
+ var statisticTitleSizeBySize = {
11
+ sm: "text-[11px]",
12
+ md: "text-[12px]",
13
+ lg: "text-[13px]"
14
+ };
15
+ var statisticValueSizeBySize = {
16
+ sm: "text-[20px] leading-7",
17
+ md: "text-[28px] leading-9",
18
+ lg: "text-[36px] leading-tight"
19
+ };
20
+ var statisticAffixSizeBySize = {
21
+ sm: "text-[13px]",
22
+ md: "text-[16px]",
23
+ lg: "text-[20px]"
24
+ };
25
+ var statisticPlaceholderHeightBySize = {
26
+ sm: "28px",
27
+ md: "36px",
28
+ lg: "44px"
29
+ };
30
+ var statisticTrendSizeBySize = {
31
+ sm: "text-[11px]",
32
+ md: "text-[12px]",
33
+ lg: "text-[13px]"
34
+ };
35
+ var statisticValueClassByTone = {
36
+ neutral: "text-[var(--gr-statistic-value-color,var(--gr-fg))]",
37
+ primary: "text-[var(--gr-statistic-value-color,var(--gr-primary))]",
38
+ success: "text-[var(--gr-statistic-value-color,var(--gr-success-text))]",
39
+ warning: "text-[var(--gr-statistic-value-color,var(--gr-warning-text))]",
40
+ danger: "text-[var(--gr-statistic-value-color,var(--gr-danger-text))]",
41
+ info: "text-[var(--gr-statistic-value-color,var(--gr-info-text))]",
42
+ slate: "text-[var(--gr-statistic-value-color,var(--gr-slate-text))]",
43
+ azure: "text-[var(--gr-statistic-value-color,var(--gr-azure-text))]"
44
+ };
45
+ var statisticTrendClassByTrend = {
46
+ up: "text-[var(--gr-success-text)]",
47
+ down: "text-[var(--gr-danger-text)]",
48
+ flat: "text-[var(--gr-muted-fg)]"
49
+ };
50
+ var statisticTrendIconByTrend = {
51
+ up: "i-lucide-trending-up",
52
+ down: "i-lucide-trending-down",
53
+ flat: "i-lucide-minus"
54
+ };
55
+ var statisticTitleClass = "font-medium tracking-wide text-[var(--gr-statistic-title-color,var(--gr-muted-fg))]";
56
+ function statisticValueClass(options) {
57
+ return [
58
+ "font-semibold [font-variant-numeric:tabular-nums]",
59
+ statisticValueSizeBySize[options.size],
60
+ statisticValueClassByTone[options.tone]
61
+ ].join(" ");
62
+ }
63
+ //#endregion
64
+ //#region src/components/GrStatistic/safelist.ts
65
+ var grStatisticSafelist = [.../* @__PURE__ */ new Set([
66
+ ...Object.values(statisticTitleSizeBySize).flatMap(splitClassTokens),
67
+ ...Object.values(statisticValueSizeBySize).flatMap(splitClassTokens),
68
+ ...Object.values(statisticAffixSizeBySize).flatMap(splitClassTokens),
69
+ ...Object.values(statisticTrendSizeBySize).flatMap(splitClassTokens),
70
+ ...Object.values(statisticValueClassByTone).flatMap(splitClassTokens),
71
+ ...Object.values(statisticTrendClassByTrend).flatMap(splitClassTokens),
72
+ ...Object.values(statisticTrendIconByTrend).flatMap(splitClassTokens),
73
+ ...splitClassTokens(statisticTitleClass),
74
+ ...splitClassTokens("font-semibold [font-variant-numeric:tabular-nums]")
75
+ ])];
76
+ //#endregion
77
+ //#region src/components/GrStatistic/config.ts
78
+ var grStatisticConfig = defineGranularComponent(import.meta.url, {
79
+ name: "GrStatistic",
80
+ safelist: grStatisticSafelist,
81
+ dependencies: ["GrSkeleton"]
82
+ });
83
+ //#endregion
84
+ export { statisticTitleClass as a, statisticTrendIconByTrend as c, statisticPlaceholderHeightBySize as i, statisticTrendSizeBySize as l, grStatisticSafelist as n, statisticTitleSizeBySize as o, statisticAffixSizeBySize as r, statisticTrendClassByTrend as s, grStatisticConfig as t, statisticValueClass as u };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BDSHekVC.js","names":[],"sources":["../../src/components/GrStatistic/grStatisticStyles.ts","../../src/components/GrStatistic/safelist.ts","../../src/components/GrStatistic/config.ts"],"sourcesContent":["import type { GrTone } from '../shared/tones'\n\nexport type GrStatisticSize = 'sm' | 'md' | 'lg'\nexport type GrStatisticTone = GrTone\n/** Направление динамики показателя. */\nexport type GrStatisticTrend = 'up' | 'down' | 'flat'\n\n/**\n * Кастомизация через CSS-переменные:\n *\n * - `--gr-statistic-value-color` — цвет значения (по умолчанию — из `tone`).\n * - `--gr-statistic-title-color` — цвет подписи показателя.\n */\n\nexport const statisticTitleSizeBySize: Record<GrStatisticSize, string> = {\n sm: 'text-[11px]',\n md: 'text-[12px]',\n lg: 'text-[13px]',\n}\n\nexport const statisticValueSizeBySize: Record<GrStatisticSize, string> = {\n sm: 'text-[20px] leading-7',\n md: 'text-[28px] leading-9',\n lg: 'text-[36px] leading-tight',\n}\n\nexport const statisticAffixSizeBySize: Record<GrStatisticSize, string> = {\n sm: 'text-[13px]',\n md: 'text-[16px]',\n lg: 'text-[20px]',\n}\n\n// Высота плейсхолдера загрузки повторяет строку значения — блок не «прыгает».\n// Значение отдаётся в `GrSkeleton` пропом, поэтому это px, а не класс.\nexport const statisticPlaceholderHeightBySize: Record<GrStatisticSize, string> = {\n sm: '28px',\n md: '36px',\n lg: '44px',\n}\n\nexport const statisticTrendSizeBySize: Record<GrStatisticSize, string> = {\n sm: 'text-[11px]',\n md: 'text-[12px]',\n lg: 'text-[13px]',\n}\n\n// Цвет значения по тону. `neutral` наследует основной цвет текста.\n//\n// Тона берутся из `-text`, а не из насыщенного `--gr-{tone}`: значение — это\n// ТЕКСТ на фоне страницы, а насыщенный тон для этого не предназначен\n// (`--gr-success` на `--gr-bg` — 2.2:1, ниже даже послабления 3:1 для крупного\n// текста). `-text` — ровно роль «тон как текст».\nexport const statisticValueClassByTone: Record<GrStatisticTone, string> = {\n neutral: 'text-[var(--gr-statistic-value-color,var(--gr-fg))]',\n primary: 'text-[var(--gr-statistic-value-color,var(--gr-primary))]',\n success: 'text-[var(--gr-statistic-value-color,var(--gr-success-text))]',\n warning: 'text-[var(--gr-statistic-value-color,var(--gr-warning-text))]',\n danger: 'text-[var(--gr-statistic-value-color,var(--gr-danger-text))]',\n info: 'text-[var(--gr-statistic-value-color,var(--gr-info-text))]',\n slate: 'text-[var(--gr-statistic-value-color,var(--gr-slate-text))]',\n azure: 'text-[var(--gr-statistic-value-color,var(--gr-azure-text))]',\n}\n\n// Строка динамики: рост — успех, падение — опасность, без изменений — приглушённый.\nexport const statisticTrendClassByTrend: Record<GrStatisticTrend, string> = {\n up: 'text-[var(--gr-success-text)]',\n down: 'text-[var(--gr-danger-text)]',\n flat: 'text-[var(--gr-muted-fg)]',\n}\n\nexport const statisticTrendIconByTrend: Record<GrStatisticTrend, string> = {\n up: 'i-lucide-trending-up',\n down: 'i-lucide-trending-down',\n flat: 'i-lucide-minus',\n}\n\nexport const statisticTitleClass = 'font-medium tracking-wide text-[var(--gr-statistic-title-color,var(--gr-muted-fg))]'\n\nexport function statisticValueClass(options: { size: GrStatisticSize, tone: GrStatisticTone }): string {\n return [\n 'font-semibold [font-variant-numeric:tabular-nums]',\n statisticValueSizeBySize[options.size],\n statisticValueClassByTone[options.tone],\n ].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n statisticAffixSizeBySize,\n statisticTitleClass,\n statisticTitleSizeBySize,\n statisticTrendClassByTrend,\n statisticTrendIconByTrend,\n statisticTrendSizeBySize,\n statisticValueClassByTone,\n statisticValueSizeBySize,\n} from './grStatisticStyles'\n\n// Классы из вычисляемых мап (size/tone/trend) UnoCSS сканом не находит — только safelist.\nexport const grStatisticSafelist = [...new Set([\n ...Object.values(statisticTitleSizeBySize).flatMap(splitClassTokens),\n ...Object.values(statisticValueSizeBySize).flatMap(splitClassTokens),\n ...Object.values(statisticAffixSizeBySize).flatMap(splitClassTokens),\n ...Object.values(statisticTrendSizeBySize).flatMap(splitClassTokens),\n ...Object.values(statisticValueClassByTone).flatMap(splitClassTokens),\n ...Object.values(statisticTrendClassByTrend).flatMap(splitClassTokens),\n // Иконки динамики приходят из мапы — как классы-маски их тоже надо сгенерировать.\n ...Object.values(statisticTrendIconByTrend).flatMap(splitClassTokens),\n // Литералы из grStatisticStyles.ts (подпись + типографика значения).\n ...splitClassTokens(statisticTitleClass),\n ...splitClassTokens('font-semibold [font-variant-numeric:tabular-nums]'),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grStatisticSafelist } from './safelist'\n\nexport const grStatisticConfig = defineGranularComponent(import.meta.url, {\n name: 'GrStatistic',\n safelist: grStatisticSafelist,\n dependencies: ['GrSkeleton'],\n})\n"],"mappings":";;;;;;;;;AAcA,IAAa,2BAA4D;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,2BAA4D;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,2BAA4D;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAIA,IAAa,mCAAoE;CAC/E,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,2BAA4D;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAQA,IAAa,4BAA6D;CACxE,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;AACT;AAGA,IAAa,6BAA+D;CAC1E,IAAI;CACJ,MAAM;CACN,MAAM;AACR;AAEA,IAAa,4BAA8D;CACzE,IAAI;CACJ,MAAM;CACN,MAAM;AACR;AAEA,IAAa,sBAAsB;AAEnC,SAAgB,oBAAoB,SAAmE;CACrG,OAAO;EACL;EACA,yBAAyB,QAAQ;EACjC,0BAA0B,QAAQ;CACpC,CAAC,CAAC,KAAK,GAAG;AACZ;;;ACvEA,IAAa,sBAAsB,CAAC,mBAAG,IAAI,IAAI;CAC7C,GAAG,OAAO,OAAO,wBAAwB,CAAC,CAAC,QAAQ,gBAAgB;CACnE,GAAG,OAAO,OAAO,wBAAwB,CAAC,CAAC,QAAQ,gBAAgB;CACnE,GAAG,OAAO,OAAO,wBAAwB,CAAC,CAAC,QAAQ,gBAAgB;CACnE,GAAG,OAAO,OAAO,wBAAwB,CAAC,CAAC,QAAQ,gBAAgB;CACnE,GAAG,OAAO,OAAO,yBAAyB,CAAC,CAAC,QAAQ,gBAAgB;CACpE,GAAG,OAAO,OAAO,0BAA0B,CAAC,CAAC,QAAQ,gBAAgB;CAErE,GAAG,OAAO,OAAO,yBAAyB,CAAC,CAAC,QAAQ,gBAAgB;CAEpE,GAAG,iBAAiB,mBAAmB;CACvC,GAAG,iBAAiB,mDAAmD;AACzE,CAAC,CAAC;;;ACrBF,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACxE,MAAM;CACN,UAAU;CACV,cAAc,CAAC,YAAY;AAC7B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BLHqZhy-.js","names":[],"sources":["../../src/components/GrTabs/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grTabsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTabs',\n})\n"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK,EACjE,MAAM,SACV,CAAC"}
@@ -12,7 +12,7 @@ var indicatorVariantClassMap = {
12
12
  pills: "border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]",
13
13
  button: "border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]"
14
14
  };
15
- var itemBaseClass = "group/segmented-item relative z-[1] inline-flex min-h-[var(--gr-segmented-min-height)] min-w-0 items-center justify-center gap-2 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] px-[var(--gr-segmented-item-px)] py-[var(--gr-segmented-item-py)] text-[length:var(--gr-segmented-font-size)] leading-[var(--gr-segmented-line-height)] font-[var(--gr-segmented-font-weight)] text-[var(--gr-segmented-item-color)] transition-colors duration-150 select-none focus:outline-none focus-visible:shadow-[0_0_0_2px_var(--ring),0_0_0_4px_var(--bg)]";
15
+ var itemBaseClass = "group/segmented-item relative z-[1] inline-flex min-h-[var(--gr-segmented-min-height)] min-w-0 items-center justify-center gap-2 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] px-[var(--gr-segmented-item-px)] py-[var(--gr-segmented-item-py)] text-[length:var(--gr-segmented-font-size)] leading-[var(--gr-segmented-line-height)] font-[var(--gr-segmented-font-weight)] text-[var(--gr-segmented-item-color)] transition-colors duration-150 select-none focus:outline-none focus-visible:shadow-[0_0_0_2px_var(--gr-ring),0_0_0_4px_var(--gr-bg)]";
16
16
  var itemVariantClassMap = {
17
17
  pills: "",
18
18
  button: ""
@@ -67,26 +67,26 @@ var rootSizeStyles = {
67
67
  };
68
68
  var rootVariantStyles = {
69
69
  pills: {
70
- "--gr-segmented-track-bg": "var(--muted)",
71
- "--gr-segmented-track-brd": "var(--brd)",
70
+ "--gr-segmented-track-bg": "var(--gr-muted)",
71
+ "--gr-segmented-track-brd": "var(--gr-brd)",
72
72
  "--gr-segmented-track-shadow": "none",
73
- "--gr-segmented-indicator-bg": "var(--card)",
74
- "--gr-segmented-indicator-brd": "color-mix(in srgb, var(--card) 84%, var(--brd) 16%)",
73
+ "--gr-segmented-indicator-bg": "var(--gr-card)",
74
+ "--gr-segmented-indicator-brd": "color-mix(in srgb, var(--gr-card) 84%, var(--gr-brd) 16%)",
75
75
  "--gr-segmented-indicator-shadow": "var(--gr-shadow-1), var(--gr-segmented-indicator-highlight-shadow, 0 0 0 0 transparent)",
76
- "--gr-segmented-item-color": "var(--muted-fg)",
77
- "--gr-segmented-item-selected-color": "var(--fg)",
78
- "--gr-segmented-item-hover-color": "var(--fg)"
76
+ "--gr-segmented-item-color": "var(--gr-muted-fg)",
77
+ "--gr-segmented-item-selected-color": "var(--gr-fg)",
78
+ "--gr-segmented-item-hover-color": "var(--gr-fg)"
79
79
  },
80
80
  button: {
81
- "--gr-segmented-track-bg": "var(--card)",
82
- "--gr-segmented-track-brd": "var(--brd)",
81
+ "--gr-segmented-track-bg": "var(--gr-card)",
82
+ "--gr-segmented-track-brd": "var(--gr-brd)",
83
83
  "--gr-segmented-track-shadow": "var(--gr-shadow-1)",
84
- "--gr-segmented-indicator-bg": "var(--primary)",
85
- "--gr-segmented-indicator-brd": "color-mix(in srgb, var(--primary) 88%, var(--brd) 12%)",
84
+ "--gr-segmented-indicator-bg": "var(--gr-primary)",
85
+ "--gr-segmented-indicator-brd": "color-mix(in srgb, var(--gr-primary) 88%, var(--gr-brd) 12%)",
86
86
  "--gr-segmented-indicator-shadow": "var(--gr-shadow-2)",
87
- "--gr-segmented-item-color": "var(--muted-fg)",
88
- "--gr-segmented-item-selected-color": "var(--primary-fg)",
89
- "--gr-segmented-item-hover-color": "var(--fg)"
87
+ "--gr-segmented-item-color": "var(--gr-muted-fg)",
88
+ "--gr-segmented-item-selected-color": "var(--gr-primary-fg)",
89
+ "--gr-segmented-item-hover-color": "var(--gr-fg)"
90
90
  }
91
91
  };
92
92
  function grSegmentedRootClass(options) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BMKNHFMD2.js","names":[],"sources":["../../src/components/GrSegmented/grSegmentedStyles.ts","../../src/components/GrSegmented/safelist.ts","../../src/components/GrSegmented/config.ts"],"sourcesContent":["import type { Component } from 'vue'\nexport type GrSegmentedVariant = 'pills' | 'button'\nexport type GrSegmentedSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type GrSegmentedValue = string | number\nexport type GrSegmentedOption = {\n value: GrSegmentedValue\n label?: string\n icon?: Component\n disabled?: boolean\n}\nexport const rootBaseClass =\n 'relative inline-grid min-w-0 grid-flow-col items-stretch rounded-[var(--gr-segmented-radius)] p-[var(--gr-segmented-padding)] transition-colors duration-150'\nexport const rootVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--gr-segmented-track-brd)] bg-[var(--gr-segmented-track-bg)] text-[var(--gr-segmented-item-color)]',\n button: 'border border-[var(--gr-segmented-track-brd)] bg-[var(--gr-segmented-track-bg)] text-[var(--gr-segmented-item-color)] shadow-[var(--gr-segmented-track-shadow)]',\n}\nexport const rootBlockClass = 'w-full'\nexport const indicatorBaseClass =\n 'pointer-events-none absolute left-0 top-0 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] transition-[transform,width,height,opacity] ease-out'\nexport const indicatorVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]',\n button: 'border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]',\n}\nexport const itemBaseClass =\n 'group/segmented-item relative z-[1] inline-flex min-h-[var(--gr-segmented-min-height)] min-w-0 items-center justify-center gap-2 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] px-[var(--gr-segmented-item-px)] py-[var(--gr-segmented-item-py)] text-[length:var(--gr-segmented-font-size)] leading-[var(--gr-segmented-line-height)] font-[var(--gr-segmented-font-weight)] text-[var(--gr-segmented-item-color)] transition-colors duration-150 select-none focus:outline-none focus-visible:shadow-[0_0_0_2px_var(--gr-ring),0_0_0_4px_var(--gr-bg)]'\nexport const itemVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: '',\n button: '',\n}\nexport const itemSelectedClass = 'text-[var(--gr-segmented-item-selected-color)]'\nexport const itemDisabledClass = 'cursor-not-allowed opacity-50'\nexport const itemEnabledClass = 'cursor-pointer hover:text-[var(--gr-segmented-item-hover-color)]'\nexport const itemLabelClass = 'truncate'\nexport const itemIconClass = 'h-4 w-4 shrink-0'\nexport const iconOnlyClass = 'gap-0'\nconst rootSizeStyles: Record<GrSegmentedSize, Record<string, string>> = {\n xs: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '10px',\n '--gr-segmented-item-py': '4px',\n '--gr-segmented-font-size': '0.75rem',\n '--gr-segmented-line-height': '1rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '24px',\n },\n sm: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '12px',\n '--gr-segmented-item-py': '6px',\n '--gr-segmented-font-size': '0.75rem',\n '--gr-segmented-line-height': '1rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '28px',\n },\n md: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '14px',\n '--gr-segmented-item-py': '8px',\n '--gr-segmented-font-size': '0.875rem',\n '--gr-segmented-line-height': '1.25rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '40px',\n },\n lg: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '16px',\n '--gr-segmented-item-py': '10px',\n '--gr-segmented-font-size': '0.9375rem',\n '--gr-segmented-line-height': '1.25rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '46px',\n },\n}\nconst rootVariantStyles: Record<GrSegmentedVariant, Record<string, string>> = {\n pills: {\n '--gr-segmented-track-bg': 'var(--gr-muted)',\n '--gr-segmented-track-brd': 'var(--gr-brd)',\n '--gr-segmented-track-shadow': 'none',\n '--gr-segmented-indicator-bg': 'var(--gr-card)',\n '--gr-segmented-indicator-brd': 'color-mix(in srgb, var(--gr-card) 84%, var(--gr-brd) 16%)',\n '--gr-segmented-indicator-shadow': 'var(--gr-shadow-1), var(--gr-segmented-indicator-highlight-shadow, 0 0 0 0 transparent)',\n '--gr-segmented-item-color': 'var(--gr-muted-fg)',\n '--gr-segmented-item-selected-color': 'var(--gr-fg)',\n '--gr-segmented-item-hover-color': 'var(--gr-fg)',\n },\n button: {\n '--gr-segmented-track-bg': 'var(--gr-card)',\n '--gr-segmented-track-brd': 'var(--gr-brd)',\n '--gr-segmented-track-shadow': 'var(--gr-shadow-1)',\n '--gr-segmented-indicator-bg': 'var(--gr-primary)',\n '--gr-segmented-indicator-brd': 'color-mix(in srgb, var(--gr-primary) 88%, var(--gr-brd) 12%)',\n '--gr-segmented-indicator-shadow': 'var(--gr-shadow-2)',\n '--gr-segmented-item-color': 'var(--gr-muted-fg)',\n '--gr-segmented-item-selected-color': 'var(--gr-primary-fg)',\n '--gr-segmented-item-hover-color': 'var(--gr-fg)',\n },\n}\nexport function grSegmentedRootClass(options: { variant: GrSegmentedVariant, block: boolean, disabled: boolean }): string {\n return [\n rootBaseClass,\n rootVariantClassMap[options.variant],\n options.block ? rootBlockClass : '',\n options.disabled ? 'opacity-70' : '',\n ].filter(Boolean).join(' ')\n}\nexport function grSegmentedRootStyle(options: { variant: GrSegmentedVariant, size: GrSegmentedSize }): Record<string, string> {\n return {\n ...rootSizeStyles[options.size],\n ...rootVariantStyles[options.variant],\n }\n}\nexport function grSegmentedIndicatorClass(variant: GrSegmentedVariant): string {\n return [indicatorBaseClass, indicatorVariantClassMap[variant]].join(' ')\n}\nexport function grSegmentedItemClass(options: {\n variant: GrSegmentedVariant\n selected: boolean\n disabled: boolean\n iconOnly: boolean\n}): string {\n return [\n itemBaseClass,\n itemVariantClassMap[options.variant],\n options.selected ? itemSelectedClass : '',\n options.disabled ? itemDisabledClass : itemEnabledClass,\n options.iconOnly ? iconOnlyClass : '',\n ].filter(Boolean).join(' ')\n}\nexport const grSegmentedItemLabelClass = itemLabelClass\nexport const grSegmentedItemIconClass = itemIconClass\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n iconOnlyClass,\n indicatorBaseClass,\n indicatorVariantClassMap,\n itemBaseClass,\n itemDisabledClass,\n itemEnabledClass,\n itemIconClass,\n itemLabelClass,\n itemSelectedClass,\n itemVariantClassMap,\n rootBaseClass,\n rootBlockClass,\n rootVariantClassMap,\n} from './grSegmentedStyles'\n\nexport const grSegmentedClassTokens = {\n rootBaseClass: splitClassTokens(rootBaseClass),\n rootVariantClassMap: Object.values(rootVariantClassMap).flatMap(splitClassTokens),\n rootBlockClass: splitClassTokens(rootBlockClass),\n indicatorBaseClass: splitClassTokens(indicatorBaseClass),\n indicatorVariantClassMap: Object.values(indicatorVariantClassMap).flatMap(splitClassTokens),\n itemBaseClass: splitClassTokens(itemBaseClass),\n itemVariantClassMap: Object.values(itemVariantClassMap).flatMap(splitClassTokens),\n itemSelectedClass: splitClassTokens(itemSelectedClass),\n itemDisabledClass: splitClassTokens(itemDisabledClass),\n itemEnabledClass: splitClassTokens(itemEnabledClass),\n itemLabelClass: splitClassTokens(itemLabelClass),\n itemIconClass: splitClassTokens(itemIconClass),\n iconOnlyClass: splitClassTokens(iconOnlyClass),\n extra: splitClassTokens('opacity-70'),\n} as const\n\nexport const grSegmentedSafelist = [...new Set([\n ...grSegmentedClassTokens.rootBaseClass,\n ...grSegmentedClassTokens.rootVariantClassMap,\n ...grSegmentedClassTokens.rootBlockClass,\n ...grSegmentedClassTokens.indicatorBaseClass,\n ...grSegmentedClassTokens.indicatorVariantClassMap,\n ...grSegmentedClassTokens.itemBaseClass,\n ...grSegmentedClassTokens.itemVariantClassMap,\n ...grSegmentedClassTokens.itemSelectedClass,\n ...grSegmentedClassTokens.itemDisabledClass,\n ...grSegmentedClassTokens.itemEnabledClass,\n ...grSegmentedClassTokens.itemLabelClass,\n ...grSegmentedClassTokens.itemIconClass,\n ...grSegmentedClassTokens.iconOnlyClass,\n ...grSegmentedClassTokens.extra,\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport {grSegmentedSafelist} from './safelist'\n\nexport const grSegmentedConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSegmented',\n safelist: grSegmentedSafelist,\n tokenDefinitions: {\n light: {\n selector: ':root',\n tokens: {'gr-segmented-indicator-highlight-shadow': '0 0 0 0 transparent'}\n },\n dark: {\n selector: '.dark',\n tokens: {'gr-segmented-indicator-highlight-shadow': '0 0 0 1px rgba(248, 250, 252, 0.08)'}\n },\n }\n})"],"mappings":";;;AAUA,IAAa,gBACX;AACF,IAAa,sBAA0D;CACrE,OAAO;CACP,QAAQ;AACV;AACA,IAAa,iBAAiB;AAC9B,IAAa,qBACX;AACF,IAAa,2BAA+D;CAC1E,OAAQ;CACR,QAAQ;AACV;AACA,IAAa,gBACX;AACF,IAAa,sBAA0D;CACrE,OAAO;CACP,QAAQ;AACV;AACA,IAAa,oBAAoB;AACjC,IAAa,oBAAoB;AACjC,IAAa,mBAAmB;AAChC,IAAa,iBAAiB;AAC9B,IAAa,gBAAgB;AAC7B,IAAa,gBAAgB;AAC7B,IAAM,iBAAkE;CACtE,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;CAC/B;CACA,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;CAC/B;CACA,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;CAC/B;CACA,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;CAC/B;AACF;AACA,IAAM,oBAAwE;CAC5E,OAAO;EACL,2BAA2B;EAC3B,4BAA4B;EAC5B,+BAA+B;EAC/B,+BAA+B;EAC/B,gCAAgC;EAChC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,mCAAmC;CACrC;CACA,QAAQ;EACN,2BAA2B;EAC3B,4BAA4B;EAC5B,+BAA+B;EAC/B,+BAA+B;EAC/B,gCAAgC;EAChC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,mCAAmC;CACrC;AACF;AACA,SAAgB,qBAAqB,SAAqF;CACxH,OAAO;EACL;EACA,oBAAoB,QAAQ;EAC5B,QAAQ,QAAQ,iBAAiB;EACjC,QAAQ,WAAW,eAAe;CACpC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B;AACA,SAAgB,qBAAqB,SAAyF;CAC5H,OAAO;EACL,GAAG,eAAe,QAAQ;EAC1B,GAAG,kBAAkB,QAAQ;CAC/B;AACF;AACA,SAAgB,0BAA0B,SAAqC;CAC7E,OAAO,CAAC,oBAAoB,yBAAyB,QAAQ,CAAC,CAAC,KAAK,GAAG;AACzE;AACA,SAAgB,qBAAqB,SAK1B;CACT,OAAO;EACL;EACA,oBAAoB,QAAQ;EAC5B,QAAQ,WAAW,oBAAoB;EACvC,QAAQ,WAAW,oBAAoB;EACvC,QAAQ,WAAW,gBAAgB;CACrC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B;AACA,IAAa,4BAA4B;AACzC,IAAa,2BAA2B;;;ACpHxC,IAAa,yBAAyB;CACpC,eAAe,iBAAiB,aAAa;CAC7C,qBAAqB,OAAO,OAAO,mBAAmB,CAAC,CAAC,QAAQ,gBAAgB;CAChF,gBAAgB,iBAAiB,cAAc;CAC/C,oBAAoB,iBAAiB,kBAAkB;CACvD,0BAA0B,OAAO,OAAO,wBAAwB,CAAC,CAAC,QAAQ,gBAAgB;CAC1F,eAAe,iBAAiB,aAAa;CAC7C,qBAAqB,OAAO,OAAO,mBAAmB,CAAC,CAAC,QAAQ,gBAAgB;CAChF,mBAAmB,iBAAiB,iBAAiB;CACrD,mBAAmB,iBAAiB,iBAAiB;CACrD,kBAAkB,iBAAiB,gBAAgB;CACnD,gBAAgB,iBAAiB,cAAc;CAC/C,eAAe,iBAAiB,aAAa;CAC7C,eAAe,iBAAiB,aAAa;CAC7C,OAAO,iBAAiB,YAAY;AACtC;AAEA,IAAa,sBAAsB,CAAC,mBAAG,IAAI,IAAI;CAC7C,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;AAC5B,CAAC,CAAC;;;AC7CF,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;CACV,kBAAkB;EACd,OAAO;GACH,UAAU;GACV,QAAQ,EAAC,2CAA2C,sBAAqB;EAC7E;EACA,MAAM;GACF,UAAU;GACV,QAAQ,EAAC,2CAA2C,sCAAqC;EAC7F;CACJ;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BUHuGBik2.js","names":[],"sources":["../../src/components/GrPromptDialog/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grPromptDialogConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPromptDialog',\n dependencies: ['GrButton', 'GrDialog', 'GrFormField', 'GrInput'],\n})"],"mappings":";;AAEA,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc;EAAC;EAAY;EAAY;EAAe;CAAS;AACnE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
2
+ //#region src/components/GrDivider/config.ts
3
+ var grDividerConfig = defineGranularComponent(import.meta.url, { name: "GrDivider" });
4
+ //#endregion
5
+ export { grDividerConfig as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BWiPnygb.js","names":[],"sources":["../../src/components/GrDivider/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grDividerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDivider',\n})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK,EACtE,MAAM,YACR,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BX1JTrkV.js","names":[],"sources":["../../src/components/GrDialogService/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grDialogServiceConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDialogServiceHost',\n dependencies: ['GrButton', 'GrDialog', 'GrConfirmDialog', 'GrPromptDialog', 'GrResponseErrorBanner'],\n})\n"],"mappings":";;AAEA,IAAa,wBAAwB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,cAAc;EAAC;EAAY;EAAY;EAAmB;EAAkB;CAAuB;AACvG,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
+ import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
+ //#region src/components/GrSlider/grSliderStyles.ts
4
+ /**
5
+ * Кастомизация через CSS-переменные (можно задать на самом слайдере или любом
6
+ * предке — inline `style`, класс, тема). Значение по умолчанию — второй аргумент
7
+ * `var(--name, default)`, поэтому переопределять можно точечно:
8
+ *
9
+ * - `--gr-slider-rail` — цвет фона дорожки (неактивная часть).
10
+ * - `--gr-slider-fill` — цвет активной (заполненной) части.
11
+ * - `--gr-slider-thumb-bg` — заливка бегунка.
12
+ * - `--gr-slider-thumb-border` — цвет окантовки бегунка (по умолчанию = fill).
13
+ * - `--gr-slider-thumb-size` — диаметр бегунка (по умолчанию — из `size`).
14
+ * - `--gr-slider-track-height` — толщина дорожки (по умолчанию — из `size`).
15
+ */
16
+ var sliderTrackHeightBySize = {
17
+ sm: "h-[var(--gr-slider-track-height,0.25rem)]",
18
+ md: "h-[var(--gr-slider-track-height,0.375rem)]",
19
+ lg: "h-[var(--gr-slider-track-height,0.5rem)]"
20
+ };
21
+ var sliderThumbSizeBySize = {
22
+ sm: "h-[var(--gr-slider-thumb-size,0.875rem)] w-[var(--gr-slider-thumb-size,0.875rem)]",
23
+ md: "h-[var(--gr-slider-thumb-size,1rem)] w-[var(--gr-slider-thumb-size,1rem)]",
24
+ lg: "h-[var(--gr-slider-thumb-size,1.25rem)] w-[var(--gr-slider-thumb-size,1.25rem)]"
25
+ };
26
+ var sliderPaddingBySize = {
27
+ sm: "py-1.5",
28
+ md: "py-2",
29
+ lg: "py-2.5"
30
+ };
31
+ var sliderRailClass = "absolute inset-0 rounded-full bg-[var(--gr-slider-rail,color-mix(in_srgb,var(--gr-muted)_45%,transparent))]";
32
+ var sliderFillClass = "absolute top-0 bottom-0 rounded-full bg-[var(--gr-slider-fill,var(--gr-primary))]";
33
+ var sliderThumbBaseClass = "absolute top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-[var(--gr-slider-thumb-border,var(--gr-slider-fill,var(--gr-primary)))] bg-[var(--gr-slider-thumb-bg,var(--gr-bg))] ring-1 ring-[color-mix(in_srgb,var(--gr-fg)_22%,transparent)] shadow-[var(--gr-shadow-1)] transition-[box-shadow,transform] duration-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] focus-visible:ring-offset-1 focus-visible:ring-offset-[var(--gr-bg)]";
34
+ function sliderThumbClass(options) {
35
+ return [
36
+ sliderThumbBaseClass,
37
+ sliderThumbSizeBySize[options.size],
38
+ options.disabled ? "cursor-not-allowed" : "cursor-grab active:cursor-grabbing hover:scale-110"
39
+ ].join(" ");
40
+ }
41
+ var sliderTooltipClass = "pointer-events-none absolute bottom-full left-1/2 mb-2 -translate-x-1/2 whitespace-nowrap rounded-[6px] bg-[var(--gr-fg)] px-1.5 py-0.5 text-[11px] font-medium leading-tight text-[var(--gr-bg)] shadow-[var(--gr-shadow-2)]";
42
+ var sliderMarkTickClass = "absolute top-1/2 h-1.5 w-1.5 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[var(--gr-bg)] ring-1 ring-[var(--gr-brd)]";
43
+ var sliderMarkLabelClass = "absolute top-full mt-2.5 whitespace-nowrap text-[11px] leading-none text-[var(--gr-muted-fg)]";
44
+ function sliderMarkLabelClassFor(pct) {
45
+ return `${sliderMarkLabelClass} ${pct <= .5 ? "translate-x-0" : pct >= 99.5 ? "-translate-x-full" : "-translate-x-1/2"}`;
46
+ }
47
+ function sliderRootClass(options) {
48
+ return [
49
+ "relative w-full select-none",
50
+ sliderPaddingBySize[options.size],
51
+ options.hasMarks ? "mb-7" : "",
52
+ options.disabled ? "opacity-50" : ""
53
+ ].filter(Boolean).join(" ");
54
+ }
55
+ //#endregion
56
+ //#region src/components/GrSlider/safelist.ts
57
+ var grSliderSafelist = [.../* @__PURE__ */ new Set([
58
+ ...Object.values(sliderTrackHeightBySize).flatMap(splitClassTokens),
59
+ ...Object.values(sliderThumbSizeBySize).flatMap(splitClassTokens),
60
+ ...Object.values(sliderPaddingBySize).flatMap(splitClassTokens),
61
+ ...splitClassTokens("cursor-not-allowed cursor-grab active:cursor-grabbing hover:scale-110 opacity-50"),
62
+ ...splitClassTokens("ring-1 ring-[color-mix(in_srgb,var(--gr-fg)_22%,transparent)] mb-7 mt-2.5 whitespace-nowrap translate-x-0 -translate-x-1/2 -translate-x-full"),
63
+ ...splitClassTokens("bg-[var(--gr-slider-rail,color-mix(in_srgb,var(--gr-muted)_45%,transparent))]"),
64
+ ...splitClassTokens("bg-[var(--gr-slider-fill,var(--gr-primary))]"),
65
+ ...splitClassTokens("bg-[var(--gr-slider-thumb-bg,var(--gr-bg))]"),
66
+ ...splitClassTokens("border-[var(--gr-slider-thumb-border,var(--gr-slider-fill,var(--gr-primary)))]")
67
+ ])];
68
+ //#endregion
69
+ //#region src/components/GrSlider/config.ts
70
+ var grSliderConfig = defineGranularComponent(import.meta.url, {
71
+ name: "GrSlider",
72
+ safelist: grSliderSafelist
73
+ });
74
+ //#endregion
75
+ export { sliderMarkTickClass as a, sliderThumbClass as c, sliderMarkLabelClassFor as i, sliderTooltipClass as l, grSliderSafelist as n, sliderRailClass as o, sliderFillClass as r, sliderRootClass as s, grSliderConfig as t, sliderTrackHeightBySize as u };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BZFUM3Ky.js","names":[],"sources":["../../src/components/GrSlider/grSliderStyles.ts","../../src/components/GrSlider/safelist.ts","../../src/components/GrSlider/config.ts"],"sourcesContent":["export type GrSliderSize = 'sm' | 'md' | 'lg'\n/** Значение: число (single) или кортеж `[lo, hi]` (range при `range=true`). */\nexport type GrSliderModelValue = number | [number, number]\n/** Метка деления: словарь `value → label` или просто массив значений (label = значение). */\nexport type GrSliderMarks = Record<number, string> | number[]\n\n/**\n * Кастомизация через CSS-переменные (можно задать на самом слайдере или любом\n * предке — inline `style`, класс, тема). Значение по умолчанию — второй аргумент\n * `var(--name, default)`, поэтому переопределять можно точечно:\n *\n * - `--gr-slider-rail` — цвет фона дорожки (неактивная часть).\n * - `--gr-slider-fill` — цвет активной (заполненной) части.\n * - `--gr-slider-thumb-bg` — заливка бегунка.\n * - `--gr-slider-thumb-border` — цвет окантовки бегунка (по умолчанию = fill).\n * - `--gr-slider-thumb-size` — диаметр бегунка (по умолчанию — из `size`).\n * - `--gr-slider-track-height` — толщина дорожки (по умолчанию — из `size`).\n */\n\n// Высота дорожки (rail/fill) по размеру — дефолт для `--gr-slider-track-height`.\nexport const sliderTrackHeightBySize: Record<GrSliderSize, string> = {\n sm: 'h-[var(--gr-slider-track-height,0.25rem)]',\n md: 'h-[var(--gr-slider-track-height,0.375rem)]',\n lg: 'h-[var(--gr-slider-track-height,0.5rem)]',\n}\n\n// Размер «бегунка» (thumb) по размеру — дефолт для `--gr-slider-thumb-size`.\nexport const sliderThumbSizeBySize: Record<GrSliderSize, string> = {\n sm: 'h-[var(--gr-slider-thumb-size,0.875rem)] w-[var(--gr-slider-thumb-size,0.875rem)]',\n md: 'h-[var(--gr-slider-thumb-size,1rem)] w-[var(--gr-slider-thumb-size,1rem)]',\n lg: 'h-[var(--gr-slider-thumb-size,1.25rem)] w-[var(--gr-slider-thumb-size,1.25rem)]',\n}\n\n// Вертикальный отступ обёртки, чтобы thumb не обрезался краями дорожки.\nexport const sliderPaddingBySize: Record<GrSliderSize, string> = {\n sm: 'py-1.5',\n md: 'py-2',\n lg: 'py-2.5',\n}\n\nexport const sliderRailClass = 'absolute inset-0 rounded-full bg-[var(--gr-slider-rail,color-mix(in_srgb,var(--gr-muted)_45%,transparent))]'\nexport const sliderFillClass = 'absolute top-0 bottom-0 rounded-full bg-[var(--gr-slider-fill,var(--gr-primary))]'\n\n// Окантовка бегунка: цветной border (по умолчанию = fill) + тонкая контрастная\n// обводка (`ring`), чтобы бегунок не сливался ни с фоном страницы, ни с заливкой.\nexport const sliderThumbBaseClass = 'absolute top-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-[var(--gr-slider-thumb-border,var(--gr-slider-fill,var(--gr-primary)))] bg-[var(--gr-slider-thumb-bg,var(--gr-bg))] ring-1 ring-[color-mix(in_srgb,var(--gr-fg)_22%,transparent)] shadow-[var(--gr-shadow-1)] transition-[box-shadow,transform] duration-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] focus-visible:ring-offset-1 focus-visible:ring-offset-[var(--gr-bg)]'\n\nexport function sliderThumbClass(options: { size: GrSliderSize, disabled: boolean }): string {\n return [\n sliderThumbBaseClass,\n sliderThumbSizeBySize[options.size],\n options.disabled ? 'cursor-not-allowed' : 'cursor-grab active:cursor-grabbing hover:scale-110',\n ].join(' ')\n}\n\nexport const sliderTooltipClass = 'pointer-events-none absolute bottom-full left-1/2 mb-2 -translate-x-1/2 whitespace-nowrap rounded-[6px] bg-[var(--gr-fg)] px-1.5 py-0.5 text-[11px] font-medium leading-tight text-[var(--gr-bg)] shadow-[var(--gr-shadow-2)]'\n\nexport const sliderMarkTickClass = 'absolute top-1/2 h-1.5 w-1.5 -translate-x-1/2 -translate-y-1/2 rounded-full bg-[var(--gr-bg)] ring-1 ring-[var(--gr-brd)]'\n// Подписи меток уводим под дорожку (`top-full` + отступ, ниже бегунка) и запрещаем\n// перенос (`whitespace-nowrap`) — иначе крайняя подпись рвётся по буквам.\nexport const sliderMarkLabelClass = 'absolute top-full mt-2.5 whitespace-nowrap text-[11px] leading-none text-[var(--gr-muted-fg)]'\n\n// Выравнивание подписи по позиции: центр для внутренних меток, а крайние (0% и\n// 100%) прижимаем внутрь, чтобы они не вылезали за края дорожки и не обрезались.\nexport function sliderMarkLabelClassFor(pct: number): string {\n const align = pct <= 0.5 ? 'translate-x-0' : pct >= 99.5 ? '-translate-x-full' : '-translate-x-1/2'\n return `${sliderMarkLabelClass} ${align}`\n}\n\nexport function sliderRootClass(options: { size: GrSliderSize, disabled: boolean, hasMarks?: boolean }): string {\n return [\n 'relative w-full select-none',\n sliderPaddingBySize[options.size],\n // Резервируем место под подписи меток, чтобы они не наезжали на соседний контент.\n options.hasMarks ? 'mb-7' : '',\n options.disabled ? 'opacity-50' : '',\n ]\n .filter(Boolean)\n .join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n sliderPaddingBySize,\n sliderThumbSizeBySize,\n sliderTrackHeightBySize,\n} from './grSliderStyles'\n\n// Правило (как в GrSelect/GrAutocomplete): статические литералы из шаблона UnoCSS\n// находит сканом; в safelist кладём только классы из вычисляемых мап.\nexport const grSliderSafelist = [...new Set([\n ...Object.values(sliderTrackHeightBySize).flatMap(splitClassTokens),\n ...Object.values(sliderThumbSizeBySize).flatMap(splitClassTokens),\n ...Object.values(sliderPaddingBySize).flatMap(splitClassTokens),\n ...splitClassTokens('cursor-not-allowed cursor-grab active:cursor-grabbing hover:scale-110 opacity-50'),\n // Обводка бегунка + резерв места под подписи меток (whitespace-nowrap не даёт им рваться).\n // translate-* — выравнивание подписей: центр / прижать к левому / к правому краю.\n ...splitClassTokens('ring-1 ring-[color-mix(in_srgb,var(--gr-fg)_22%,transparent)] mb-7 mt-2.5 whitespace-nowrap translate-x-0 -translate-x-1/2 -translate-x-full'),\n // Кастомизируемые через CSS-переменные цвета: заливка, дорожка, заливка/окантовка бегунка.\n // Держим в safelist явно — статические литералы из grSliderStyles.ts попадают в общий\n // dist-chunk и ненадёжно сканируются granularContent.\n ...splitClassTokens('bg-[var(--gr-slider-rail,color-mix(in_srgb,var(--gr-muted)_45%,transparent))]'),\n ...splitClassTokens('bg-[var(--gr-slider-fill,var(--gr-primary))]'),\n ...splitClassTokens('bg-[var(--gr-slider-thumb-bg,var(--gr-bg))]'),\n ...splitClassTokens('border-[var(--gr-slider-thumb-border,var(--gr-slider-fill,var(--gr-primary)))]'),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSliderSafelist } from './safelist'\n\nexport const grSliderConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSlider',\n safelist: grSliderSafelist,\n})\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,IAAa,0BAAwD;CACnE,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAGA,IAAa,wBAAsD;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAGA,IAAa,sBAAoD;CAC/D,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,kBAAkB;AAC/B,IAAa,kBAAkB;AAI/B,IAAa,uBAAuB;AAEpC,SAAgB,iBAAiB,SAA4D;CAC3F,OAAO;EACL;EACA,sBAAsB,QAAQ;EAC9B,QAAQ,WAAW,uBAAuB;CAC5C,CAAC,CAAC,KAAK,GAAG;AACZ;AAEA,IAAa,qBAAqB;AAElC,IAAa,sBAAsB;AAGnC,IAAa,uBAAuB;AAIpC,SAAgB,wBAAwB,KAAqB;CAE3D,OAAO,GAAG,qBAAqB,GADjB,OAAO,KAAM,kBAAkB,OAAO,OAAO,sBAAsB;AAEnF;AAEA,SAAgB,gBAAgB,SAAgF;CAC9G,OAAO;EACL;EACA,oBAAoB,QAAQ;EAE5B,QAAQ,WAAW,SAAS;EAC5B,QAAQ,WAAW,eAAe;CACpC,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;;;ACtEA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CAC1C,GAAG,OAAO,OAAO,uBAAuB,CAAC,CAAC,QAAQ,gBAAgB;CAClE,GAAG,OAAO,OAAO,qBAAqB,CAAC,CAAC,QAAQ,gBAAgB;CAChE,GAAG,OAAO,OAAO,mBAAmB,CAAC,CAAC,QAAQ,gBAAgB;CAC9D,GAAG,iBAAiB,kFAAkF;CAGtG,GAAG,iBAAiB,8IAA8I;CAIlK,GAAG,iBAAiB,+EAA+E;CACnG,GAAG,iBAAiB,8CAA8C;CAClE,GAAG,iBAAiB,6CAA6C;CACjE,GAAG,iBAAiB,gFAAgF;AACtG,CAAC,CAAC;;;ACpBF,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -19,8 +19,8 @@ function grDrawerPanelClass(options) {
19
19
  return [
20
20
  panelSideClass[options.side],
21
21
  panelWidthBySize[options.size],
22
- "border-[var(--brd)]",
23
- "bg-[var(--card)] text-[var(--card-fg)]",
22
+ "border-[var(--gr-brd)]",
23
+ "bg-[var(--gr-card)] text-[var(--gr-card-fg)]",
24
24
  "shadow-[var(--gr-shadow-2)] outline-none"
25
25
  ].join(" ");
26
26
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BmNT0Fmx.js","names":[],"sources":["../../src/components/GrDrawer/grDrawerStyles.ts","../../src/components/GrDrawer/safelist.ts","../../src/components/GrDrawer/config.ts"],"sourcesContent":["export type GrDrawerSide = 'left' | 'right'\nexport type GrDrawerSize = 'sm' | 'md' | 'lg' | 'full'\n\nexport const panelWidthBySize: Record<GrDrawerSize, string> = {\n sm: 'w-[360px] max-w-[90vw]',\n md: 'w-[420px] max-w-[92vw]',\n lg: 'w-[560px] max-w-[94vw]',\n full: 'w-[100vw]',\n}\n\nexport const panelSideClass: Record<GrDrawerSide, string> = {\n left: 'left-0 border-r',\n right: 'right-0 border-l',\n}\n\nexport const panelTransitionClass: Record<GrDrawerSide, string> = {\n left: '-translate-x-full',\n right: 'translate-x-full',\n}\n\nexport function grDrawerPanelClass(options: { side: GrDrawerSide, size: GrDrawerSize }): string {\n return [\n panelSideClass[options.side],\n panelWidthBySize[options.size],\n 'border-[var(--gr-brd)]',\n 'bg-[var(--gr-card)] text-[var(--gr-card-fg)]',\n 'shadow-[var(--gr-shadow-2)] outline-none',\n ].join(' ')\n}\n\nexport function grDrawerPanelEnterFrom(side: GrDrawerSide): string {\n return panelTransitionClass[side]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n panelSideClass,\n panelTransitionClass,\n panelWidthBySize,\n} from './grDrawerStyles'\n\n// Safelist содержит только динамические токены, выбираемые в рантайме через\n// ключи (`side`/`size`). Литералы, прописанные статически в шаблоне и в функции\n// `grDrawerPanelClass`, UnoCSS находит сканом и здесь не дублируются.\nexport const grDrawerSafelist = [...new Set([\n ...Object.values(panelSideClass).flatMap(splitClassTokens),\n ...Object.values(panelWidthBySize).flatMap(splitClassTokens),\n ...Object.values(panelTransitionClass).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\nimport { grDrawerSafelist } from './safelist'\n\nexport const grDrawerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDrawer',\n dependencies: ['GrButton', 'GrIcon'],\n safelist: grDrawerSafelist,\n})\n"],"mappings":";;;AAGA,IAAa,mBAAiD;CAC5D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;AAEA,IAAa,iBAA+C;CAC1D,MAAM;CACN,OAAO;AACT;AAEA,IAAa,uBAAqD;CAChE,MAAM;CACN,OAAO;AACT;AAEA,SAAgB,mBAAmB,SAA6D;CAC9F,OAAO;EACL,eAAe,QAAQ;EACvB,iBAAiB,QAAQ;EACzB;EACA;EACA;CACF,CAAC,CAAC,KAAK,GAAG;AACZ;AAEA,SAAgB,uBAAuB,MAA4B;CACjE,OAAO,qBAAqB;AAC9B;;;ACtBA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CAC1C,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC,QAAQ,gBAAgB;CACzD,GAAG,OAAO,OAAO,gBAAgB,CAAC,CAAC,QAAQ,gBAAgB;CAC3D,GAAG,OAAO,OAAO,oBAAoB,CAAC,CAAC,QAAQ,gBAAgB;AACjE,CAAC,CAAC;;;ACXF,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,YAAY,QAAQ;CACnC,UAAU;AACZ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
- import { a as widthClassByWidth, i as originClassByPlacement } from "./grDropdownStyles-B_-DKytw.js";
2
+ import { a as widthClassByWidth, i as originClassByPlacement } from "./grDropdownStyles-HBPkghVr.js";
3
3
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
4
4
  //#region src/components/GrDropdown/safelist.ts
5
5
  var grDropdownSafelist = [.../* @__PURE__ */ new Set([...Object.values(widthClassByWidth).flatMap(splitClassTokens), ...Object.values(originClassByPlacement).flatMap((v) => splitClassTokens(v ?? ""))])];
@@ -1 +1 @@
1
- {"version":3,"file":"config-C49QUoJL.js","names":[],"sources":["../../src/components/GrDropdown/safelist.ts","../../src/components/GrDropdown/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n originClassByPlacement,\n widthClassByWidth,\n} from './grDropdownStyles'\n\n// В safelist кладём только динамические токены, выбираемые по ключам в рантайме\n// (`width`/`resolvedPlacement`). Литералы content-класса (`rounded-*`, `border`,\n// `bg-*` и пр.) прописаны статически в исходнике `grDropdownStyles.ts` и находятся\n// UnoCSS'ом сканом.\nexport const grDropdownSafelist = [...new Set([\n ...Object.values(widthClassByWidth).flatMap(splitClassTokens),\n ...Object.values(originClassByPlacement).flatMap(v => splitClassTokens(v ?? '')),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grDropdownSafelist } from './safelist'\n\nexport const grDropdownConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDropdown',\n safelist: grDropdownSafelist,\n})"],"mappings":";;;;AAUA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI,CAC5C,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB,GAC5D,GAAG,OAAO,OAAO,sBAAsB,CAAC,CAAC,SAAQ,MAAK,iBAAiB,KAAK,EAAE,CAAC,CACjF,CAAC,CAAC;;;ACTF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;AACZ,CAAC"}
1
+ {"version":3,"file":"config-BvVq2gbd.js","names":[],"sources":["../../src/components/GrDropdown/safelist.ts","../../src/components/GrDropdown/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n originClassByPlacement,\n widthClassByWidth,\n} from './grDropdownStyles'\n\n// В safelist кладём только динамические токены, выбираемые по ключам в рантайме\n// (`width`/`resolvedPlacement`). Литералы content-класса (`rounded-*`, `border`,\n// `bg-*` и пр.) прописаны статически в исходнике `grDropdownStyles.ts` и находятся\n// UnoCSS'ом сканом.\nexport const grDropdownSafelist = [...new Set([\n ...Object.values(widthClassByWidth).flatMap(splitClassTokens),\n ...Object.values(originClassByPlacement).flatMap(v => splitClassTokens(v ?? '')),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grDropdownSafelist } from './safelist'\n\nexport const grDropdownConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDropdown',\n safelist: grDropdownSafelist,\n})"],"mappings":";;;;AAUA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI,CAC5C,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB,GAC5D,GAAG,OAAO,OAAO,sBAAsB,CAAC,CAAC,SAAQ,MAAK,iBAAiB,KAAK,EAAE,CAAC,CACjF,CAAC,CAAC;;;ACTF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
- import { n as grButtonBaseClass, r as grButtonClass } from "./grButtonStyles-C7Yga_Q1.js";
3
- import { n as grButtonSafelist } from "./safelist-Do2RtzLB.js";
2
+ import { n as grButtonBaseClass, r as grButtonClass } from "./grButtonStyles-DRBgDmOp.js";
3
+ import { n as grButtonSafelist } from "./safelist-BvO8HPnE.js";
4
4
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
5
5
  //#region src/components/GrRadio/grRadioStyles.ts
6
6
  var grRadioDisabledClass = "opacity-50 cursor-not-allowed";
7
7
  var grRadioEnabledClass = "cursor-pointer";
8
8
  var grRadioRootDisabledClass = "cursor-not-allowed opacity-70";
9
9
  var grRadioRootEnabledClass = "cursor-pointer";
10
- var grRadioControlCheckedClass = "border-[var(--primary)] bg-[color-mix(in_srgb,var(--primary)_10%,var(--bg))]";
11
- var grRadioControlUncheckedClass = "border-[var(--brd)] bg-[var(--bg)]";
12
- var grRadioDotCheckedClass = "bg-[var(--primary)] opacity-100 scale-100";
10
+ var grRadioControlCheckedClass = "border-[var(--gr-primary)] bg-[color-mix(in_srgb,var(--gr-primary)_10%,var(--gr-bg))]";
11
+ var grRadioControlUncheckedClass = "border-[var(--gr-brd)] bg-[var(--gr-bg)]";
12
+ var grRadioDotCheckedClass = "bg-[var(--gr-primary)] opacity-100 scale-100";
13
13
  var grRadioDotUncheckedClass = "bg-transparent opacity-0 scale-75";
14
14
  var grRadioDotBaseClass = "h-[6px] w-[6px] rounded-full transition-[transform,opacity,background-color] duration-150";
15
15
  function grRadioButtonClass(options) {