@feugene/granularity 0.12.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 (496) 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-1uSYl98Y2.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-BX1JTrkV.js.map +1 -0
  21. package/dist/chunks/config-BXtAmU3s.js.map +1 -0
  22. package/dist/chunks/config-BZFUM3Ky.js +75 -0
  23. package/dist/chunks/config-BZFUM3Ky.js.map +1 -0
  24. package/dist/chunks/{config-DUcu1D682.js → config-BmNT0Fmx.js} +2 -2
  25. package/dist/chunks/config-BmNT0Fmx.js.map +1 -0
  26. package/dist/chunks/{config-C49QUoJL.js → config-BvVq2gbd.js} +1 -1
  27. package/dist/chunks/{config-C49QUoJL.js.map → config-BvVq2gbd.js.map} +1 -1
  28. package/dist/chunks/{config-CrG1XiE72.js → config-C4hJxXDa.js} +5 -5
  29. package/dist/chunks/config-C4hJxXDa.js.map +1 -0
  30. package/dist/chunks/config-CB4RVt9M.js +66 -0
  31. package/dist/chunks/config-CB4RVt9M.js.map +1 -0
  32. package/dist/chunks/config-CGHLoBlH2.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-BIRO0vDJ.js → config-DPDFYzIa.js} +2 -2
  38. package/dist/chunks/config-DPDFYzIa.js.map +1 -0
  39. package/dist/chunks/{config-DnvPqu4g2.js → config-DRKXJ9PW2.js} +1 -1
  40. package/dist/chunks/{config-DnvPqu4g2.js.map → config-DRKXJ9PW2.js.map} +1 -1
  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-Dqy0rPPO2.js.map +1 -0
  48. package/dist/chunks/config-Droqn55j.js +8 -0
  49. package/dist/chunks/config-Droqn55j.js.map +1 -0
  50. package/dist/chunks/config-JpHA4Xx0.js.map +1 -0
  51. package/dist/chunks/{config-C4snOIXg.js → config-KXuionN3.js} +1 -1
  52. package/dist/chunks/{config-C4snOIXg.js.map → config-KXuionN3.js.map} +1 -1
  53. package/dist/chunks/{config-DezDih8_.js → config-LqDC_rvp.js} +2 -2
  54. package/dist/chunks/config-LqDC_rvp.js.map +1 -0
  55. package/dist/chunks/config-QaIc_gRa2.js.map +1 -0
  56. package/dist/chunks/config-U4m9PSql2.js.map +1 -0
  57. package/dist/chunks/{config-B7IIWGt_2.js → config-XmTv4pnI.js} +2 -2
  58. package/dist/chunks/config-XmTv4pnI.js.map +1 -0
  59. package/dist/chunks/config-eXB87DOi.js.map +1 -0
  60. package/dist/chunks/{config-C7NpDrfO.js → config-gZWR75Bh2.js} +1 -1
  61. package/dist/chunks/config-gZWR75Bh2.js.map +1 -0
  62. package/dist/chunks/config-ipvU0lzP.js.map +1 -0
  63. package/dist/chunks/config-xR4XVmcy2.js.map +1 -0
  64. package/dist/chunks/context-Bfrgsluh.js +9 -0
  65. package/dist/chunks/context-Bfrgsluh.js.map +1 -0
  66. package/dist/chunks/context-DfWYCBB-.js +129 -0
  67. package/dist/chunks/context-DfWYCBB-.js.map +1 -0
  68. package/dist/chunks/{en-CfkDa4GX.js → en-Cr6EkG8c.js} +46 -4
  69. package/dist/chunks/en-Cr6EkG8c.js.map +1 -0
  70. package/dist/chunks/{es-CgaLnFYx.js → es-DuYb1Qju.js} +3 -3
  71. package/dist/chunks/{es-CgaLnFYx.js.map → es-DuYb1Qju.js.map} +1 -1
  72. package/dist/chunks/{es-FkgECuCm.js → es-i08e9Sdo.js} +46 -4
  73. package/dist/chunks/es-i08e9Sdo.js.map +1 -0
  74. package/dist/chunks/{grBadgeStyles-DrycBuKT.js → grBadgeStyles-D3dFjr_N.js} +12 -12
  75. package/dist/chunks/grBadgeStyles-D3dFjr_N.js.map +1 -0
  76. package/dist/chunks/{grButtonStyles-C7Yga_Q1.js → grButtonStyles-DRBgDmOp.js} +28 -28
  77. package/dist/chunks/grButtonStyles-DRBgDmOp.js.map +1 -0
  78. package/dist/chunks/{grDropdownStyles-B_-DKytw.js → grDropdownStyles-HBPkghVr.js} +2 -2
  79. package/dist/chunks/{grDropdownStyles-B_-DKytw.js.map → grDropdownStyles-HBPkghVr.js.map} +1 -1
  80. package/dist/chunks/{grModalStyles-DWd3i05Q.js → grModalStyles-D8-shx9A.js} +1 -1
  81. package/dist/chunks/grModalStyles-D8-shx9A.js.map +1 -0
  82. package/dist/chunks/{grSelectStyles-CLK5hRd3.js → grSelectStyles-CwMUQrBZ.js} +12 -12
  83. package/dist/chunks/grSelectStyles-CwMUQrBZ.js.map +1 -0
  84. package/dist/chunks/{grStyle-Blc9otAx.js → grStyle-CdvxTXPH.js} +2 -2
  85. package/dist/chunks/grStyle-CdvxTXPH.js.map +1 -0
  86. package/dist/chunks/{granularityI18n-DoV7Ca2m.js → granularityI18n-SH0I--GW.js} +1 -1
  87. package/dist/chunks/{granularityI18n-DoV7Ca2m.js.map → granularityI18n-SH0I--GW.js.map} +1 -1
  88. package/dist/chunks/{ru-Bl8CxpEa.js → ru-B5XOOYZt.js} +46 -4
  89. package/dist/chunks/ru-B5XOOYZt.js.map +1 -0
  90. package/dist/chunks/{safelist-Do2RtzLB.js → safelist-BvO8HPnE.js} +1 -1
  91. package/dist/chunks/{safelist-Do2RtzLB.js.map → safelist-BvO8HPnE.js.map} +1 -1
  92. package/dist/chunks/shared-D-v9lit0.js +188 -0
  93. package/dist/chunks/shared-D-v9lit0.js.map +1 -0
  94. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js +251 -0
  95. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js.map +1 -0
  96. package/dist/components/GrAlert/index.js +2 -2
  97. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js +499 -0
  98. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js.map +1 -0
  99. package/dist/components/GrAutocomplete/index.js +3 -0
  100. package/dist/components/GrAvatar/chunks/{GrAvatar-96CpTCq5.js → GrAvatar-CTOUVBF7.js} +1 -1
  101. package/dist/components/GrAvatar/chunks/GrAvatar-CTOUVBF7.js.map +1 -0
  102. package/dist/components/GrAvatar/index.js +1 -1
  103. package/dist/components/GrBadge/chunks/{GrBadge-B77XlaqE.js → GrBadge-D1jefy4S.js} +12 -8
  104. package/dist/components/GrBadge/chunks/GrBadge-D1jefy4S.js.map +1 -0
  105. package/dist/components/GrBadge/index.js +2 -2
  106. package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-CcktMOdg.js → GrBadgeWrap-DWDxHdiQ.js} +1 -1
  107. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DWDxHdiQ.js.map +1 -0
  108. package/dist/components/GrBadgeWrap/index.js +1 -1
  109. package/dist/components/GrBottomNav/chunks/{GrBottomNav-usuMgG8_.js → GrBottomNav-vSE4LXmk.js} +2 -2
  110. package/dist/components/GrBottomNav/chunks/GrBottomNav-vSE4LXmk.js.map +1 -0
  111. package/dist/components/GrBottomNav/index.js +1 -1
  112. package/dist/components/GrButton/chunks/{GrButton-BlffdeJr.js → GrButton-DCi4CUpo.js} +18 -14
  113. package/dist/components/GrButton/chunks/GrButton-DCi4CUpo.js.map +1 -0
  114. package/dist/components/GrButton/index.js +4 -4
  115. package/dist/components/GrCard/chunks/{GrCard-DUNMkuHW.js → GrCard-CxCjyHMb.js} +1 -1
  116. package/dist/components/GrCard/chunks/GrCard-CxCjyHMb.js.map +1 -0
  117. package/dist/components/GrCard/index.js +1 -1
  118. package/dist/components/GrCheckbox/chunks/{GrCheckbox-DJhzZZdO.js → GrCheckbox-BbIDRXtl.js} +5 -5
  119. package/dist/components/GrCheckbox/chunks/GrCheckbox-BbIDRXtl.js.map +1 -0
  120. package/dist/components/GrCheckbox/index.js +1 -1
  121. package/dist/components/GrCollapse/chunks/{GrCollapse-CPPLh_xU.js → GrCollapse-DApXztn8.js} +6 -6
  122. package/dist/components/GrCollapse/chunks/GrCollapse-DApXztn8.js.map +1 -0
  123. package/dist/components/GrCollapse/index.js +2 -2
  124. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js +410 -0
  125. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js.map +1 -0
  126. package/dist/components/GrCommandPalette/index.js +3 -0
  127. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js +57 -0
  128. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js.map +1 -0
  129. package/dist/components/GrConfigProvider/index.js +4 -0
  130. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-D8CkOtqv.js → GrConfirmDialog-e4120mWw.js} +5 -5
  131. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js.map +1 -0
  132. package/dist/components/GrConfirmDialog/index.js +2 -2
  133. package/dist/components/GrDataTable/chunks/{GrDataTable-Ds5OeGat.js → GrDataTable-C1CzxV0p.js} +127 -25
  134. package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js.map +1 -0
  135. package/dist/components/GrDataTable/index.js +2 -2
  136. package/dist/components/GrDialog/chunks/{GrDialog-Ctucxju9.js → GrDialog-BPMvDHOz.js} +5 -5
  137. package/dist/components/GrDialog/chunks/GrDialog-BPMvDHOz.js.map +1 -0
  138. package/dist/components/GrDialog/index.js +1 -1
  139. package/dist/components/GrDialogService/chunks/{GrDialogService-CU1Fbonc.js → GrDialogService-CYXCTGm3.js} +36 -11
  140. package/dist/components/GrDialogService/chunks/GrDialogService-CYXCTGm3.js.map +1 -0
  141. package/dist/components/GrDialogService/index.js +2 -2
  142. package/dist/components/GrDivider/chunks/{GrDivider-5bcE-BB4.js → GrDivider-BdENZ1w0.js} +5 -5
  143. package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js.map +1 -0
  144. package/dist/components/GrDivider/index.js +1 -1
  145. package/dist/components/GrDrawer/chunks/{GrDrawer-SLGKCY2A.js → GrDrawer-KevdZ5BB.js} +5 -5
  146. package/dist/components/GrDrawer/chunks/GrDrawer-KevdZ5BB.js.map +1 -0
  147. package/dist/components/GrDrawer/index.js +2 -2
  148. package/dist/components/GrDropdown/chunks/{GrDropdown-BnDMYP8v.js → GrDropdown-BKoy8hm-.js} +1 -1
  149. package/dist/components/GrDropdown/chunks/{GrDropdown-BnDMYP8v.js.map → GrDropdown-BKoy8hm-.js.map} +1 -1
  150. package/dist/components/GrDropdown/index.js +2 -2
  151. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu--g9Vofcq.js → GrDropdownMenu-zCatXzmt.js} +11 -11
  152. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-zCatXzmt.js.map +1 -0
  153. package/dist/components/GrDropdownMenu/index.js +1 -1
  154. package/dist/components/GrEmptyState/chunks/{GrEmptyState-CA3BiTV7.js → GrEmptyState-CNb0BzjG.js} +3 -3
  155. package/dist/components/GrEmptyState/chunks/GrEmptyState-CNb0BzjG.js.map +1 -0
  156. package/dist/components/GrEmptyState/index.js +1 -1
  157. package/dist/components/GrFileUpload/chunks/{GrFileUpload-DvWPpiJS.js → GrFileUpload-CnLgUGDF.js} +12 -12
  158. package/dist/components/GrFileUpload/chunks/GrFileUpload-CnLgUGDF.js.map +1 -0
  159. package/dist/components/GrFileUpload/index.js +1 -1
  160. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js +234 -0
  161. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js.map +1 -0
  162. package/dist/components/GrForm/index.js +4 -0
  163. package/dist/components/GrFormField/chunks/{GrFormField-DnfMHx_U.js → GrFormField-CXCDBd99.js} +41 -14
  164. package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js.map +1 -0
  165. package/dist/components/GrFormField/index.js +1 -1
  166. package/dist/components/GrFormFile/chunks/{GrFormFile-CXcqqdvV.js → GrFormFile-CqacSbUl.js} +9 -9
  167. package/dist/components/GrFormFile/chunks/GrFormFile-CqacSbUl.js.map +1 -0
  168. package/dist/components/GrFormFile/index.js +1 -1
  169. package/dist/components/GrFormSection/chunks/{GrFormSection-Ce21jcgo.js → GrFormSection-C3w9DQJf.js} +1 -1
  170. package/dist/components/GrFormSection/chunks/GrFormSection-C3w9DQJf.js.map +1 -0
  171. package/dist/components/GrFormSection/index.js +1 -1
  172. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dla9IBkd.js → GrImageViewer-DDLJkvIU.js} +1 -1
  173. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dla9IBkd.js.map → GrImageViewer-DDLJkvIU.js.map} +1 -1
  174. package/dist/components/GrImageViewer/index.js +1 -1
  175. package/dist/components/GrInput/chunks/{GrInput-B8dd3JaA.js → GrInput-C1VBL0dg.js} +18 -15
  176. package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js.map +1 -0
  177. package/dist/components/GrInput/index.js +2 -2
  178. package/dist/components/GrInputTag/chunks/{GrInputTag-zMgFqp2g.js → GrInputTag-BMk9jm42.js} +6 -6
  179. package/dist/components/GrInputTag/chunks/GrInputTag-BMk9jm42.js.map +1 -0
  180. package/dist/components/GrInputTag/index.js +2 -2
  181. package/dist/components/GrKbd/chunks/{GrKbd-BEoYxWhE.js → GrKbd-DTspwtoN.js} +1 -1
  182. package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js.map +1 -0
  183. package/dist/components/GrKbd/index.js +1 -1
  184. package/dist/components/GrLink/chunks/{GrLink-CYUe-Q8k.js → GrLink-BP0YrnL9.js} +1 -1
  185. package/dist/components/GrLink/chunks/{GrLink-CYUe-Q8k.js.map → GrLink-BP0YrnL9.js.map} +1 -1
  186. package/dist/components/GrLink/index.js +2 -2
  187. package/dist/components/GrList/chunks/{GrList-Dx772Ns4.js → GrList-5RA-tZzE.js} +3 -3
  188. package/dist/components/GrList/chunks/GrList-5RA-tZzE.js.map +1 -0
  189. package/dist/components/GrList/index.js +1 -1
  190. package/dist/components/GrLoading/chunks/{GrLoading--X_7rdbb.js → GrLoading-fRDtVfi7.js} +3 -3
  191. package/dist/components/GrLoading/chunks/GrLoading-fRDtVfi7.js.map +1 -0
  192. package/dist/components/GrLoading/index.js +2 -2
  193. package/dist/components/GrModal/chunks/{GrModal-C0GZrHN3.js → GrModal-BTu1-5eY.js} +1 -1
  194. package/dist/components/GrModal/chunks/{GrModal-C0GZrHN3.js.map → GrModal-BTu1-5eY.js.map} +1 -1
  195. package/dist/components/GrModal/index.js +3 -3
  196. package/dist/components/GrNavbar/chunks/{GrNavbar-DW3MiIIf.js → GrNavbar-keKT_mIM.js} +3 -3
  197. package/dist/components/GrNavbar/chunks/GrNavbar-keKT_mIM.js.map +1 -0
  198. package/dist/components/GrNavbar/index.js +1 -1
  199. package/dist/components/GrNumberInput/chunks/{GrNumberInput-DxCEvL7V.js → GrNumberInput-l9ZOHG9D.js} +19 -17
  200. package/dist/components/GrNumberInput/chunks/GrNumberInput-l9ZOHG9D.js.map +1 -0
  201. package/dist/components/GrNumberInput/index.js +2 -2
  202. package/dist/components/GrPagination/chunks/{GrPagination-mlyfLjQY.js → GrPagination-C5Y69CuK.js} +59 -16
  203. package/dist/components/GrPagination/chunks/GrPagination-C5Y69CuK.js.map +1 -0
  204. package/dist/components/GrPagination/index.js +2 -2
  205. package/dist/components/GrProgressBar/chunks/{GrProgressBar-CC3z-Zqp.js → GrProgressBar-Dqg4Fj9S.js} +2 -2
  206. package/dist/components/GrProgressBar/chunks/GrProgressBar-Dqg4Fj9S.js.map +1 -0
  207. package/dist/components/GrProgressBar/index.js +2 -2
  208. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-C-_BMNuY.js → GrPromptDialog-DNUjRVB9.js} +7 -7
  209. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js.map +1 -0
  210. package/dist/components/GrPromptDialog/index.js +2 -2
  211. package/dist/components/GrRadio/chunks/{GrRadio-Dr-pvs_9.js → GrRadio-DlhxPGqf.js} +5 -7
  212. package/dist/components/GrRadio/chunks/GrRadio-DlhxPGqf.js.map +1 -0
  213. package/dist/components/GrRadio/index.js +2 -2
  214. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-nOdvfV_g.js → GrRadioGroup-BXt9iw4q.js} +7 -5
  215. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BXt9iw4q.js.map +1 -0
  216. package/dist/components/GrRadioGroup/index.js +2 -2
  217. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js +241 -0
  218. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js.map +1 -0
  219. package/dist/components/GrRating/index.js +3 -0
  220. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BWJNe2gr.js → GrResponseErrorBanner-2CvM7Z08.js} +2 -2
  221. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BWJNe2gr.js.map → GrResponseErrorBanner-2CvM7Z08.js.map} +1 -1
  222. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-Cdu9ekK9.js → GrResponseErrorBanner-C8NGx8pE.js} +3 -3
  223. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-Cdu9ekK9.js.map → GrResponseErrorBanner-C8NGx8pE.js.map} +1 -1
  224. package/dist/components/GrResponseErrorBanner/index.js +2 -2
  225. package/dist/components/GrSegmented/chunks/{GrSegmented-C1y0UXpQ.js → GrSegmented-CTd3n4PA.js} +14 -11
  226. package/dist/components/GrSegmented/chunks/GrSegmented-CTd3n4PA.js.map +1 -0
  227. package/dist/components/GrSegmented/index.js +2 -2
  228. package/dist/components/GrSelect/chunks/{GrSelect-BVCmitqa.js → GrSelect-Dn3FgJ3Z.js} +161 -75
  229. package/dist/components/GrSelect/chunks/GrSelect-Dn3FgJ3Z.js.map +1 -0
  230. package/dist/components/GrSelect/index.js +2 -2
  231. package/dist/components/GrSidebar/chunks/{GrSidebar-DkWozzwA.js → GrSidebar-cvnzBfj3.js} +7 -7
  232. package/dist/components/GrSidebar/chunks/GrSidebar-cvnzBfj3.js.map +1 -0
  233. package/dist/components/GrSidebar/index.js +2 -2
  234. package/dist/components/GrSkeleton/chunks/{GrSkeleton-DsN-_CDZ.js → GrSkeleton-BucA5F4J.js} +1 -1
  235. package/dist/components/GrSkeleton/chunks/GrSkeleton-BucA5F4J.js.map +1 -0
  236. package/dist/components/GrSkeleton/index.js +2 -2
  237. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js +286 -0
  238. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js.map +1 -0
  239. package/dist/components/GrSlider/index.js +3 -0
  240. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js +128 -0
  241. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js.map +1 -0
  242. package/dist/components/GrStatistic/index.js +3 -0
  243. package/dist/components/GrSwitch/chunks/{GrSwitch-DAioyccZ.js → GrSwitch-CJdRvS0s.js} +16 -7
  244. package/dist/components/GrSwitch/chunks/GrSwitch-CJdRvS0s.js.map +1 -0
  245. package/dist/components/GrSwitch/index.js +2 -2
  246. package/dist/components/GrTabPanels/chunks/{GrTabPanels-DbKybwe-.js → GrTabPanels-DeEMgb_y.js} +1 -1
  247. package/dist/components/GrTabPanels/chunks/{GrTabPanels-DbKybwe-.js.map → GrTabPanels-DeEMgb_y.js.map} +1 -1
  248. package/dist/components/GrTabPanels/index.js +2 -2
  249. package/dist/components/GrTable/chunks/{GrTable-Db3hRnKA.js → GrTable-sNvsA8wa.js} +24 -11
  250. package/dist/components/GrTable/chunks/GrTable-sNvsA8wa.js.map +1 -0
  251. package/dist/components/GrTable/index.js +2 -2
  252. package/dist/components/GrTabs/chunks/{GrTabs-DsLwWoRz.js → GrTabs-BqTak0SR.js} +3 -3
  253. package/dist/components/GrTabs/chunks/GrTabs-BqTak0SR.js.map +1 -0
  254. package/dist/components/GrTabs/index.js +2 -2
  255. package/dist/components/GrTextarea/chunks/{GrTextarea-CKukGlNl.js → GrTextarea-DIYBAPpP.js} +2 -2
  256. package/dist/components/GrTextarea/chunks/GrTextarea-DIYBAPpP.js.map +1 -0
  257. package/dist/components/GrTextarea/index.js +2 -2
  258. package/dist/components/GrToaster/chunks/{GrToaster-L2cu6cSR.js → GrToaster-BVHjIHcM.js} +51 -10
  259. package/dist/components/GrToaster/chunks/GrToaster-BVHjIHcM.js.map +1 -0
  260. package/dist/components/GrToaster/index.js +1 -1
  261. package/dist/components/GrTooltip/chunks/{GrTooltip-BeyZ8ssR.js → GrTooltip-BMKH2lIx.js} +3 -3
  262. package/dist/components/GrTooltip/chunks/GrTooltip-BMKH2lIx.js.map +1 -0
  263. package/dist/components/GrTooltip/index.js +1 -1
  264. package/dist/components/GrTree/chunks/{GrTree-B2_yW6g1.js → GrTree-_12ChXRQ.js} +3 -3
  265. package/dist/components/GrTree/chunks/GrTree-_12ChXRQ.js.map +1 -0
  266. package/dist/components/GrTree/index.js +1 -1
  267. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-0aM62xyu.js → GrTreeSelect-CdaLG7Xq.js} +10 -10
  268. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CdaLG7Xq.js.map +1 -0
  269. package/dist/components/GrTreeSelect/index.js +2 -2
  270. package/dist/composables/useToast.js +3 -1
  271. package/dist/composables/useToast.js.map +1 -1
  272. package/dist/directives/loading.js +1 -1
  273. package/dist/granular-provider-node.js +6 -6
  274. package/dist/granular-provider-node.js.map +1 -1
  275. package/dist/granular-provider.js +1 -1
  276. package/dist/i18n/all.js +1 -1
  277. package/dist/i18n/index.js +1 -1
  278. package/dist/index.js +111 -93
  279. package/dist/index.js.map +1 -1
  280. package/dist/styles/base.css +2 -2
  281. package/dist/styles/index.css +6 -3
  282. package/dist/styles/preflight.css +3 -3
  283. package/dist/styles/themes/dark.css +52 -40
  284. package/dist/styles/themes/light.css +70 -45
  285. package/dist/styles/tokens.css +20 -20
  286. package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +26 -14
  287. package/dist/types/src/components/GrAlert/defaults.d.ts +17 -0
  288. package/dist/types/src/components/GrAlert/grAlertStyles.d.ts +55 -0
  289. package/dist/types/src/components/GrAlert/index.d.ts +4 -1
  290. package/dist/types/src/components/GrAutocomplete/GrAutocomplete.vue.d.ts +153 -0
  291. package/dist/types/src/components/GrAutocomplete/config.d.ts +1 -0
  292. package/dist/types/src/components/GrAutocomplete/defaults.d.ts +15 -0
  293. package/dist/types/src/components/GrAutocomplete/grAutocompleteStyles.d.ts +27 -0
  294. package/dist/types/src/components/GrAutocomplete/index.d.ts +6 -0
  295. package/dist/types/src/components/GrAutocomplete/safelist.d.ts +1 -0
  296. package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +1 -1
  297. package/dist/types/src/components/GrBadge/GrBadge.vue.d.ts +7 -7
  298. package/dist/types/src/components/GrBadge/defaults.d.ts +15 -0
  299. package/dist/types/src/components/GrBadge/index.d.ts +1 -0
  300. package/dist/types/src/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +1 -1
  301. package/dist/types/src/components/GrButton/GrButton.vue.d.ts +12 -12
  302. package/dist/types/src/components/GrButton/defaults.d.ts +25 -0
  303. package/dist/types/src/components/GrButton/grButtonStyles.d.ts +2 -2
  304. package/dist/types/src/components/GrButton/index.d.ts +1 -0
  305. package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +4 -4
  306. package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +2 -2
  307. package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +1 -1
  308. package/dist/types/src/components/GrCommandPalette/GrCommandPalette.vue.d.ts +128 -0
  309. package/dist/types/src/components/GrCommandPalette/config.d.ts +1 -0
  310. package/dist/types/src/components/GrCommandPalette/filtering.d.ts +35 -0
  311. package/dist/types/src/components/GrCommandPalette/grCommandPaletteStyles.d.ts +20 -0
  312. package/dist/types/src/components/GrCommandPalette/hotkey.d.ts +23 -0
  313. package/dist/types/src/components/GrCommandPalette/index.d.ts +6 -0
  314. package/dist/types/src/components/GrCommandPalette/safelist.d.ts +1 -0
  315. package/dist/types/src/components/GrConfigProvider/GrConfigProvider.vue.d.ts +59 -0
  316. package/dist/types/src/components/GrConfigProvider/config.d.ts +1 -0
  317. package/dist/types/src/components/GrConfigProvider/context.d.ts +131 -0
  318. package/dist/types/src/components/GrConfigProvider/index.d.ts +5 -0
  319. package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +2 -2
  320. package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +20 -0
  321. package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +1 -1
  322. package/dist/types/src/components/GrDialogService/store.d.ts +18 -0
  323. package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +1 -1
  324. package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +1 -1
  325. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +1 -1
  326. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +1 -1
  327. package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +3 -3
  328. package/dist/types/src/components/GrForm/GrForm.vue.d.ts +93 -0
  329. package/dist/types/src/components/GrForm/config.d.ts +1 -0
  330. package/dist/types/src/components/GrForm/context.d.ts +27 -0
  331. package/dist/types/src/components/GrForm/index.d.ts +6 -0
  332. package/dist/types/src/components/GrForm/validation.d.ts +52 -0
  333. package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +11 -1
  334. package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +4 -4
  335. package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +3 -3
  336. package/dist/types/src/components/GrInput/GrInput.vue.d.ts +12 -12
  337. package/dist/types/src/components/GrInput/defaults.d.ts +18 -0
  338. package/dist/types/src/components/GrInput/grInputStyles.d.ts +1 -1
  339. package/dist/types/src/components/GrInput/index.d.ts +1 -0
  340. package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +3 -3
  341. package/dist/types/src/components/GrLink/GrLink.vue.d.ts +3 -3
  342. package/dist/types/src/components/GrLink/grLinkStyles.d.ts +3 -3
  343. package/dist/types/src/components/GrModal/grModalStyles.d.ts +1 -1
  344. package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +10 -10
  345. package/dist/types/src/components/GrNumberInput/defaults.d.ts +14 -0
  346. package/dist/types/src/components/GrNumberInput/index.d.ts +1 -0
  347. package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +18 -0
  348. package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +4 -4
  349. package/dist/types/src/components/GrRadio/GrRadio.vue.d.ts +5 -5
  350. package/dist/types/src/components/GrRadio/defaults.d.ts +14 -0
  351. package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +3 -3
  352. package/dist/types/src/components/GrRadio/index.d.ts +1 -0
  353. package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +4 -4
  354. package/dist/types/src/components/GrRadioGroup/defaults.d.ts +14 -0
  355. package/dist/types/src/components/GrRadioGroup/index.d.ts +1 -0
  356. package/dist/types/src/components/GrRating/GrRating.vue.d.ts +124 -0
  357. package/dist/types/src/components/GrRating/config.d.ts +1 -0
  358. package/dist/types/src/components/GrRating/defaults.d.ts +14 -0
  359. package/dist/types/src/components/GrRating/grRatingStyles.d.ts +21 -0
  360. package/dist/types/src/components/GrRating/index.d.ts +6 -0
  361. package/dist/types/src/components/GrRating/safelist.d.ts +1 -0
  362. package/dist/types/src/components/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +1 -1
  363. package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +7 -7
  364. package/dist/types/src/components/GrSegmented/defaults.d.ts +15 -0
  365. package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +1 -1
  366. package/dist/types/src/components/GrSegmented/index.d.ts +1 -0
  367. package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +57 -17
  368. package/dist/types/src/components/GrSelect/defaults.d.ts +17 -0
  369. package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +3 -3
  370. package/dist/types/src/components/GrSelect/index.d.ts +1 -0
  371. package/dist/types/src/components/GrSidebar/GrSidebarItem.vue.d.ts +2 -2
  372. package/dist/types/src/components/GrSkeleton/GrSkeleton.vue.d.ts +1 -1
  373. package/dist/types/src/components/GrSlider/GrSlider.vue.d.ts +88 -0
  374. package/dist/types/src/components/GrSlider/config.d.ts +1 -0
  375. package/dist/types/src/components/GrSlider/defaults.d.ts +14 -0
  376. package/dist/types/src/components/GrSlider/grSliderStyles.d.ts +36 -0
  377. package/dist/types/src/components/GrSlider/index.d.ts +6 -0
  378. package/dist/types/src/components/GrSlider/safelist.d.ts +1 -0
  379. package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +116 -0
  380. package/dist/types/src/components/GrStatistic/config.d.ts +1 -0
  381. package/dist/types/src/components/GrStatistic/formatStatisticValue.d.ts +16 -0
  382. package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +24 -0
  383. package/dist/types/src/components/GrStatistic/index.d.ts +6 -0
  384. package/dist/types/src/components/GrStatistic/safelist.d.ts +1 -0
  385. package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +4 -4
  386. package/dist/types/src/components/GrSwitch/defaults.d.ts +14 -0
  387. package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +2 -2
  388. package/dist/types/src/components/GrSwitch/index.d.ts +1 -0
  389. package/dist/types/src/components/GrTable/GrTable.vue.d.ts +16 -0
  390. package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +5 -5
  391. package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +19 -2
  392. package/dist/types/src/components/GrToaster/index.d.ts +1 -1
  393. package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +1 -1
  394. package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +1 -1
  395. package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +1 -1
  396. package/dist/types/src/composables/useToast.d.ts +24 -0
  397. package/dist/types/src/granular-provider/shared.d.ts +7 -0
  398. package/dist/types/src/i18n/messages/en.d.ts +74 -0
  399. package/dist/types/src/i18n/messages/es.d.ts +74 -0
  400. package/dist/types/src/i18n/messages/ru.d.ts +74 -0
  401. package/dist/types/src/index.d.ts +7 -0
  402. package/dist/web-types.json +1308 -271
  403. package/package.json +29 -1
  404. package/dist/chunks/config-1uSYl98Y2.js.map +0 -1
  405. package/dist/chunks/config-8Pcutu1j2.js.map +0 -1
  406. package/dist/chunks/config-B7IIWGt_2.js.map +0 -1
  407. package/dist/chunks/config-BIRO0vDJ.js.map +0 -1
  408. package/dist/chunks/config-BLHqZhy-2.js.map +0 -1
  409. package/dist/chunks/config-BOlr7qw7.js.map +0 -1
  410. package/dist/chunks/config-BUHuGBik.js.map +0 -1
  411. package/dist/chunks/config-BX1JTrkV2.js.map +0 -1
  412. package/dist/chunks/config-BXtAmU3s2.js.map +0 -1
  413. package/dist/chunks/config-C7NpDrfO.js.map +0 -1
  414. package/dist/chunks/config-CGHLoBlH.js.map +0 -1
  415. package/dist/chunks/config-ClhKPJvg.js.map +0 -1
  416. package/dist/chunks/config-Cpi9Mh2J.js.map +0 -1
  417. package/dist/chunks/config-CrG1XiE72.js.map +0 -1
  418. package/dist/chunks/config-DUcu1D682.js.map +0 -1
  419. package/dist/chunks/config-D_R56_gT.js.map +0 -1
  420. package/dist/chunks/config-DezDih8_.js.map +0 -1
  421. package/dist/chunks/config-JpHA4Xx02.js.map +0 -1
  422. package/dist/chunks/config-QaIc_gRa.js.map +0 -1
  423. package/dist/chunks/config-U4m9PSql.js.map +0 -1
  424. package/dist/chunks/config-eXB87DOi2.js.map +0 -1
  425. package/dist/chunks/config-eYLZYOUS2.js.map +0 -1
  426. package/dist/chunks/config-ipvU0lzP2.js.map +0 -1
  427. package/dist/chunks/config-xR4XVmcy.js.map +0 -1
  428. package/dist/chunks/en-CfkDa4GX.js.map +0 -1
  429. package/dist/chunks/es-FkgECuCm.js.map +0 -1
  430. package/dist/chunks/grBadgeStyles-DrycBuKT.js.map +0 -1
  431. package/dist/chunks/grButtonStyles-C7Yga_Q1.js.map +0 -1
  432. package/dist/chunks/grModalStyles-DWd3i05Q.js.map +0 -1
  433. package/dist/chunks/grSelectStyles-CLK5hRd3.js.map +0 -1
  434. package/dist/chunks/grStyle-Blc9otAx.js.map +0 -1
  435. package/dist/chunks/ru-Bl8CxpEa.js.map +0 -1
  436. package/dist/chunks/shared-B6Ay2081.js +0 -174
  437. package/dist/chunks/shared-B6Ay2081.js.map +0 -1
  438. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js +0 -163
  439. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js.map +0 -1
  440. package/dist/components/GrAvatar/chunks/GrAvatar-96CpTCq5.js.map +0 -1
  441. package/dist/components/GrBadge/chunks/GrBadge-B77XlaqE.js.map +0 -1
  442. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CcktMOdg.js.map +0 -1
  443. package/dist/components/GrBottomNav/chunks/GrBottomNav-usuMgG8_.js.map +0 -1
  444. package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js.map +0 -1
  445. package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js.map +0 -1
  446. package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js.map +0 -1
  447. package/dist/components/GrCollapse/chunks/GrCollapse-CPPLh_xU.js.map +0 -1
  448. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-D8CkOtqv.js.map +0 -1
  449. package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js.map +0 -1
  450. package/dist/components/GrDialog/chunks/GrDialog-Ctucxju9.js.map +0 -1
  451. package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js.map +0 -1
  452. package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js.map +0 -1
  453. package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js.map +0 -1
  454. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu--g9Vofcq.js.map +0 -1
  455. package/dist/components/GrEmptyState/chunks/GrEmptyState-CA3BiTV7.js.map +0 -1
  456. package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js.map +0 -1
  457. package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js.map +0 -1
  458. package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js.map +0 -1
  459. package/dist/components/GrFormSection/chunks/GrFormSection-Ce21jcgo.js.map +0 -1
  460. package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js.map +0 -1
  461. package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js.map +0 -1
  462. package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js.map +0 -1
  463. package/dist/components/GrList/chunks/GrList-Dx772Ns4.js.map +0 -1
  464. package/dist/components/GrLoading/chunks/GrLoading--X_7rdbb.js.map +0 -1
  465. package/dist/components/GrNavbar/chunks/GrNavbar-DW3MiIIf.js.map +0 -1
  466. package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js.map +0 -1
  467. package/dist/components/GrPagination/chunks/GrPagination-mlyfLjQY.js.map +0 -1
  468. package/dist/components/GrProgressBar/chunks/GrProgressBar-CC3z-Zqp.js.map +0 -1
  469. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-C-_BMNuY.js.map +0 -1
  470. package/dist/components/GrRadio/chunks/GrRadio-Dr-pvs_9.js.map +0 -1
  471. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-nOdvfV_g.js.map +0 -1
  472. package/dist/components/GrSegmented/chunks/GrSegmented-C1y0UXpQ.js.map +0 -1
  473. package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js.map +0 -1
  474. package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js.map +0 -1
  475. package/dist/components/GrSkeleton/chunks/GrSkeleton-DsN-_CDZ.js.map +0 -1
  476. package/dist/components/GrSwitch/chunks/GrSwitch-DAioyccZ.js.map +0 -1
  477. package/dist/components/GrTable/chunks/GrTable-Db3hRnKA.js.map +0 -1
  478. package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js.map +0 -1
  479. package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js.map +0 -1
  480. package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js.map +0 -1
  481. package/dist/components/GrTooltip/chunks/GrTooltip-BeyZ8ssR.js.map +0 -1
  482. package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js.map +0 -1
  483. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-0aM62xyu.js.map +0 -1
  484. package/dist/chunks/{config-8Pcutu1j2.js → config-8Pcutu1j.js} +0 -0
  485. package/dist/chunks/{config-BLHqZhy-2.js → config-BLHqZhy-.js} +0 -0
  486. package/dist/chunks/{config-BUHuGBik.js → config-BUHuGBik2.js} +0 -0
  487. package/dist/chunks/{config-BX1JTrkV2.js → config-BX1JTrkV.js} +0 -0
  488. package/dist/chunks/{config-BXtAmU3s2.js → config-BXtAmU3s.js} +0 -0
  489. package/dist/chunks/{config-CGHLoBlH.js → config-CGHLoBlH2.js} +0 -0
  490. package/dist/chunks/{config-Cpi9Mh2J.js → config-Dqy0rPPO2.js} +1 -1
  491. /package/dist/chunks/{config-JpHA4Xx02.js → config-JpHA4Xx0.js} +0 -0
  492. /package/dist/chunks/{config-QaIc_gRa.js → config-QaIc_gRa2.js} +0 -0
  493. /package/dist/chunks/{config-U4m9PSql.js → config-U4m9PSql2.js} +0 -0
  494. /package/dist/chunks/{config-eXB87DOi2.js → config-eXB87DOi.js} +0 -0
  495. /package/dist/chunks/{config-ipvU0lzP2.js → config-ipvU0lzP.js} +0 -0
  496. /package/dist/chunks/{config-xR4XVmcy.js → config-xR4XVmcy2.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"grDropdownStyles-B_-DKytw.js","names":[],"sources":["../../src/components/GrDropdown/grDropdownStyles.ts"],"sourcesContent":["import type { Placement } from '@floating-ui/dom'\n\nexport type GrDropdownAlign = 'left' | 'right' | 'center'\nexport type GrDropdownWidth = 'auto' | '20' | '48' | '60' | '64' | '80'\n\nexport const widthClassByWidth: Record<GrDropdownWidth, string> = {\n auto: '',\n 20: 'w-20',\n 48: 'w-48',\n 60: 'w-60',\n 64: 'w-64',\n 80: 'w-80',\n}\n\n// `transform-origin` для scale-transition — координата x/y уже приходит от\n// `useFloating` (см. `floatingStyle`), здесь остаётся только направление\n// \"роста\" панели относительно триггера. Ключи — это `resolvedPlacement` ПОСЛЕ\n// применения `flip`, поэтому origin остаётся верным и когда панели не хватило\n// места снизу и её перевернуло вверх.\nexport const originClassByPlacement: Partial<Record<Placement, string>> = {\n 'bottom-start': 'origin-top-left',\n 'bottom-end': 'origin-top-right',\n 'bottom': 'origin-top',\n 'top-start': 'origin-bottom-left',\n 'top-end': 'origin-bottom-right',\n 'top': 'origin-bottom',\n}\n\nexport function grDropdownWidthClass(width: GrDropdownWidth): string {\n return widthClassByWidth[width]\n}\n\nexport function grDropdownOriginClass(placement: Placement): string {\n return originClassByPlacement[placement] ?? 'origin-top'\n}\n\nexport function grDropdownContentClass(contentClass?: string): string {\n return [\n 'rounded-[var(--gr-radius-xl)]',\n 'border border-[var(--brd)]',\n 'bg-[var(--card)] text-[var(--card-fg)]',\n 'shadow-[var(--gr-shadow-2)]',\n 'p-1',\n contentClass,\n ].filter(Boolean).join(' ')\n}\n"],"mappings":";AAKA,IAAa,oBAAqD;CAChE,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAOA,IAAa,yBAA6D;CACxE,gBAAgB;CAChB,cAAc;CACd,UAAU;CACV,aAAa;CACb,WAAW;CACX,OAAO;AACT;AAEA,SAAgB,qBAAqB,OAAgC;CACnE,OAAO,kBAAkB;AAC3B;AAEA,SAAgB,sBAAsB,WAA8B;CAClE,OAAO,uBAAuB,cAAc;AAC9C;AAEA,SAAgB,uBAAuB,cAA+B;CACpE,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B"}
1
+ {"version":3,"file":"grDropdownStyles-HBPkghVr.js","names":[],"sources":["../../src/components/GrDropdown/grDropdownStyles.ts"],"sourcesContent":["import type { Placement } from '@floating-ui/dom'\n\nexport type GrDropdownAlign = 'left' | 'right' | 'center'\nexport type GrDropdownWidth = 'auto' | '20' | '48' | '60' | '64' | '80'\n\nexport const widthClassByWidth: Record<GrDropdownWidth, string> = {\n auto: '',\n 20: 'w-20',\n 48: 'w-48',\n 60: 'w-60',\n 64: 'w-64',\n 80: 'w-80',\n}\n\n// `transform-origin` для scale-transition — координата x/y уже приходит от\n// `useFloating` (см. `floatingStyle`), здесь остаётся только направление\n// \"роста\" панели относительно триггера. Ключи — это `resolvedPlacement` ПОСЛЕ\n// применения `flip`, поэтому origin остаётся верным и когда панели не хватило\n// места снизу и её перевернуло вверх.\nexport const originClassByPlacement: Partial<Record<Placement, string>> = {\n 'bottom-start': 'origin-top-left',\n 'bottom-end': 'origin-top-right',\n 'bottom': 'origin-top',\n 'top-start': 'origin-bottom-left',\n 'top-end': 'origin-bottom-right',\n 'top': 'origin-bottom',\n}\n\nexport function grDropdownWidthClass(width: GrDropdownWidth): string {\n return widthClassByWidth[width]\n}\n\nexport function grDropdownOriginClass(placement: Placement): string {\n return originClassByPlacement[placement] ?? 'origin-top'\n}\n\nexport function grDropdownContentClass(contentClass?: string): string {\n return [\n 'rounded-[var(--gr-radius-xl)]',\n 'border border-[var(--gr-brd)]',\n 'bg-[var(--gr-card)] text-[var(--gr-card-fg)]',\n 'shadow-[var(--gr-shadow-2)]',\n 'p-1',\n contentClass,\n ].filter(Boolean).join(' ')\n}\n"],"mappings":";AAKA,IAAa,oBAAqD;CAChE,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAOA,IAAa,yBAA6D;CACxE,gBAAgB;CAChB,cAAc;CACd,UAAU;CACV,aAAa;CACb,WAAW;CACX,OAAO;AACT;AAEA,SAAgB,qBAAqB,OAAgC;CACnE,OAAO,kBAAkB;AAC3B;AAEA,SAAgB,sBAAsB,WAA8B;CAClE,OAAO,uBAAuB,cAAc;AAC9C;AAEA,SAAgB,uBAAuB,cAA+B;CACpE,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B"}
@@ -19,7 +19,7 @@ var panelTransition = {
19
19
  leaveFrom: "opacity-100 translate-y-0 sm:scale-100",
20
20
  leaveTo: "opacity-0 translate-y-2 sm:translate-y-0 sm:scale-95"
21
21
  };
22
- var panelBase = "w-full overflow-hidden relative z-10 border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--gr-shadow-2)] outline-none";
22
+ var panelBase = "w-full overflow-hidden relative z-10 border border-[var(--gr-brd)] bg-[var(--gr-card)] text-[var(--gr-card-fg)] shadow-[var(--gr-shadow-2)] outline-none";
23
23
  var panelWidthBySize = {
24
24
  sm: "max-w-[420px]",
25
25
  md: "max-w-[560px]",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grModalStyles-D8-shx9A.js","names":[],"sources":["../../src/components/GrModal/grModalStyles.ts"],"sourcesContent":["export type GrModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full'\n\n// Корневые утилитарные классы, используемые шаблоном `GrModal.vue`.\n// Они же являются единственным источником истины для safelist.\nexport const root = 'fixed inset-0 z-[var(--gr-z-modal)]'\nexport const shell = 'fixed inset-0 overflow-y-auto p-4 sm:p-6'\nexport const layout = 'min-h-full flex items-center justify-center'\nexport const overlay = 'fixed inset-0 z-0 bg-black/40'\n\n// Классы для `<TransitionChild :enter=\"...\" :enter-from=\"...\" ...>`.\n// Разбиты по фазам транзишна, чтобы не склеивать их в «мешок токенов».\nexport const overlayTransition = {\n enter: 'duration-200 ease-out',\n enterFrom: 'opacity-0',\n enterTo: 'opacity-100',\n leave: 'duration-150 ease-in',\n leaveFrom: 'opacity-100',\n leaveTo: 'opacity-0',\n} as const\n\nexport const panelTransition = {\n enter: 'duration-200 ease-out',\n enterFrom: 'opacity-0 translate-y-2 sm:translate-y-0 sm:scale-95',\n enterTo: 'opacity-100 translate-y-0 sm:scale-100',\n leave: 'duration-150 ease-in',\n leaveFrom: 'opacity-100 translate-y-0 sm:scale-100',\n leaveTo: 'opacity-0 translate-y-2 sm:translate-y-0 sm:scale-95',\n} as const\n\nexport const panelBase\n = 'w-full overflow-hidden relative z-10 border border-[var(--gr-brd)] bg-[var(--gr-card)] text-[var(--gr-card-fg)] shadow-[var(--gr-shadow-2)] outline-none'\n\nexport const panelWidthBySize: Record<GrModalSize, string> = {\n sm: 'max-w-[420px]',\n md: 'max-w-[560px]',\n lg: 'max-w-[720px]',\n xl: 'max-w-[920px]',\n full: 'max-w-none',\n}\n\nexport const panelRadiusBySize: Record<GrModalSize, string> = {\n sm: 'rounded-[var(--gr-radius-xl)]',\n md: 'rounded-[var(--gr-radius-xl)]',\n lg: 'rounded-[var(--gr-radius-xl)]',\n xl: 'rounded-[var(--gr-radius-xl)]',\n full: 'rounded-none sm:rounded-[var(--gr-radius-xl)]',\n}\n\n// Для большинства размеров высота не задаётся — `Partial` + фильтрация пустых\n// значений в `getGrModalPanelClass` избавляют от двойных пробелов.\nexport const panelHeightBySize: Partial<Record<GrModalSize, string>> = {\n full: 'h-[100svh] sm:h-auto',\n}\n\nexport function getGrModalPanelClass(size: GrModalSize): string {\n return [\n panelBase,\n panelWidthBySize[size],\n panelHeightBySize[size],\n panelRadiusBySize[size],\n ]\n .filter(Boolean)\n .join(' ')\n}\n"],"mappings":";AAIA,IAAa,OAAO;AACpB,IAAa,QAAQ;AACrB,IAAa,SAAS;AACtB,IAAa,UAAU;AAIvB,IAAa,oBAAoB;CAC/B,OAAO;CACP,WAAW;CACX,SAAS;CACT,OAAO;CACP,WAAW;CACX,SAAS;AACX;AAEA,IAAa,kBAAkB;CAC7B,OAAO;CACP,WAAW;CACX,SAAS;CACT,OAAO;CACP,WAAW;CACX,SAAS;AACX;AAEA,IAAa,YACT;AAEJ,IAAa,mBAAgD;CAC3D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;AAEA,IAAa,oBAAiD;CAC5D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;AAIA,IAAa,oBAA0D,EACrE,MAAM,uBACR;AAEA,SAAgB,qBAAqB,MAA2B;CAC9D,OAAO;EACL;EACA,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;CACpB,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb"}
@@ -1,6 +1,6 @@
1
1
  //#region src/components/GrSelect/grSelectStyles.ts
2
- var defaultBaseClass = "w-full rounded-md border border-[var(--brd)] bg-[var(--bg)] text-[var(--fg)] transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]";
3
- var linkBaseClass = "cursor-pointer inline-block w-auto align-baseline appearance-none bg-transparent border border-transparent px-0 py-0 rounded-[6px] transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]";
2
+ var defaultBaseClass = "w-full rounded-md border border-[var(--gr-brd)] bg-[var(--gr-bg)] text-[var(--gr-fg)] transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
3
+ var linkBaseClass = "cursor-pointer inline-block w-auto align-baseline appearance-none bg-transparent border border-transparent px-0 py-0 rounded-[6px] transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
4
4
  var selectSizeClassBySize = {
5
5
  xs: "h-7 px-2.5 text-[12px]",
6
6
  sm: "h-8 px-3 text-[13px]",
@@ -14,9 +14,9 @@ var selectLinkSizeClassBySize = {
14
14
  lg: "text-[16px]"
15
15
  };
16
16
  var selectLinkVariantClassByVariant = {
17
- primary: "text-[var(--primary)] hover:text-[var(--primary-hover)] active:text-[var(--primary-active)]",
18
- default: "text-[var(--fg)] hover:text-[var(--primary)] active:text-[var(--primary-active)]",
19
- muted: "text-[var(--muted-fg)] hover:text-[var(--fg)] active:text-[var(--fg)]",
17
+ primary: "text-[var(--gr-primary)] hover:text-[var(--gr-primary-hover)] active:text-[var(--gr-primary-active)]",
18
+ default: "text-[var(--gr-fg)] hover:text-[var(--gr-primary)] active:text-[var(--gr-primary-active)]",
19
+ muted: "text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] active:text-[var(--gr-fg)]",
20
20
  danger: "text-[var(--gr-danger)] hover:text-[var(--gr-danger-hover)] active:text-[var(--gr-danger-active)]"
21
21
  };
22
22
  /**
@@ -25,9 +25,9 @@ var selectLinkVariantClassByVariant = {
25
25
  * т.к. видимая метка имеет `pointer-events-none` и не получает hover напрямую.
26
26
  */
27
27
  var selectLinkNativeLabelVariantClassByVariant = {
28
- primary: "text-[var(--primary)] peer-hover:text-[var(--primary-hover)] peer-active:text-[var(--primary-active)]",
29
- default: "text-[var(--fg)] peer-hover:text-[var(--primary)] peer-active:text-[var(--primary-active)]",
30
- muted: "text-[var(--muted-fg)] peer-hover:text-[var(--fg)] peer-active:text-[var(--fg)]",
28
+ primary: "text-[var(--gr-primary)] peer-hover:text-[var(--gr-primary-hover)] peer-active:text-[var(--gr-primary-active)]",
29
+ default: "text-[var(--gr-fg)] peer-hover:text-[var(--gr-primary)] peer-active:text-[var(--gr-primary-active)]",
30
+ muted: "text-[var(--gr-muted-fg)] peer-hover:text-[var(--gr-fg)] peer-active:text-[var(--gr-fg)]",
31
31
  danger: "text-[var(--gr-danger)] peer-hover:text-[var(--gr-danger-hover)] peer-active:text-[var(--gr-danger-active)]"
32
32
  };
33
33
  function selectLinkUnderlineClass(options) {
@@ -68,8 +68,8 @@ function grSelectLinkNativeLabelClass(options) {
68
68
  disabled: options.disabled
69
69
  }),
70
70
  selectLinkNativeLabelVariantClassByVariant[options.variant],
71
- options.disabled ? "opacity-60 text-[var(--muted-fg)] no-underline" : "",
72
- "peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--ring)]"
71
+ options.disabled ? "opacity-60 text-[var(--gr-muted-fg)] no-underline" : "",
72
+ "peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--gr-ring)]"
73
73
  ].filter(Boolean).join(" ");
74
74
  }
75
75
  function grSelectClass(options) {
@@ -80,7 +80,7 @@ function grSelectClass(options) {
80
80
  disabled: options.disabled
81
81
  }),
82
82
  selectLinkVariantClassByVariant[options.variant],
83
- "disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--muted-fg)] disabled:no-underline"
83
+ "disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--gr-muted-fg)] disabled:no-underline"
84
84
  ].join(" ");
85
85
  return [selectSizeClassBySize[options.size], "disabled:opacity-50 disabled:cursor-not-allowed"].join(" ");
86
86
  }
@@ -92,6 +92,6 @@ function grSelectTriggerClass(options) {
92
92
  if (options.view === "link") return [grSelectClass(options), "inline-flex items-center gap-1 text-left"].join(" ");
93
93
  return [grSelectClass(options), "flex items-center justify-between text-left"].join(" ");
94
94
  }
95
- var grSelectPanelClasses = "rounded-[var(--gr-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--gr-shadow-2)] overflow-hidden";
95
+ var grSelectPanelClasses = "rounded-[var(--gr-radius-xl)] border border-[var(--gr-brd)] bg-[var(--gr-card)] text-[var(--gr-card-fg)] shadow-[var(--gr-shadow-2)] overflow-hidden";
96
96
  //#endregion
97
97
  export { grSelectPanelClasses as a, selectLinkNativeLabelVariantClassByVariant as c, selectSizeClassBySize as d, grSelectNativeClass as i, selectLinkSizeClassBySize as l, grSelectLinkNativeLabelClass as n, grSelectTriggerClass as o, grSelectLinkNativeOverlayClass as r, linkBaseClass as s, defaultBaseClass as t, selectLinkVariantClassByVariant as u };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grSelectStyles-CwMUQrBZ.js","names":[],"sources":["../../src/components/GrSelect/grSelectStyles.ts"],"sourcesContent":["export type GrSelectView = 'default' | 'link'\nexport type GrSelectSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type GrSelectVariant = 'primary' | 'default' | 'muted' | 'danger'\nexport type GrSelectUnderline = 'auto' | 'always' | 'none'\nexport type GrSelectOptionsView = 'native' | 'panel'\nexport type GrSelectOption = { value: string, label: string, disabled?: boolean }\n/** Группа опций: заголовок `label` + вложенные опции `options`. */\nexport type GrSelectOptionGroup = { label: string, options: GrSelectOption[] }\n/** Элемент списка опций: либо одиночная опция, либо группа опций. */\nexport type GrSelectOptionOrGroup = GrSelectOption | GrSelectOptionGroup\nexport type GrSelectModelValue = string | string[]\n\nexport const defaultBaseClass = 'w-full rounded-md border border-[var(--gr-brd)] bg-[var(--gr-bg)] text-[var(--gr-fg)] transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\nexport const linkBaseClass = 'cursor-pointer inline-block w-auto align-baseline appearance-none bg-transparent border border-transparent px-0 py-0 rounded-[6px] transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\n\nexport const selectSizeClassBySize: Record<GrSelectSize, string> = {\n xs: 'h-7 px-2.5 text-[12px]',\n sm: 'h-8 px-3 text-[13px]',\n md: 'h-10 px-3 text-[14px]',\n lg: 'h-11 px-4 text-[16px]',\n}\n\nexport const selectLinkSizeClassBySize: Record<GrSelectSize, string> = {\n xs: 'text-[12px]',\n sm: 'text-[13px]',\n md: 'text-[14px]',\n lg: 'text-[16px]',\n}\n\nexport const selectLinkVariantClassByVariant: Record<GrSelectVariant, string> = {\n primary: 'text-[var(--gr-primary)] hover:text-[var(--gr-primary-hover)] active:text-[var(--gr-primary-active)]',\n default: 'text-[var(--gr-fg)] hover:text-[var(--gr-primary)] active:text-[var(--gr-primary-active)]',\n muted: 'text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] active:text-[var(--gr-fg)]',\n danger: 'text-[var(--gr-danger)] hover:text-[var(--gr-danger-hover)] active:text-[var(--gr-danger-active)]',\n}\n\n/**\n * Variant-классы для видимой метки в `view=\"link\"` + `optionsView=\"native\"`.\n * Hover-цвет приходит через `peer-hover:` от прозрачного `<select>`-overlay,\n * т.к. видимая метка имеет `pointer-events-none` и не получает hover напрямую.\n */\nexport const selectLinkNativeLabelVariantClassByVariant: Record<GrSelectVariant, string> = {\n primary: 'text-[var(--gr-primary)] peer-hover:text-[var(--gr-primary-hover)] peer-active:text-[var(--gr-primary-active)]',\n default: 'text-[var(--gr-fg)] peer-hover:text-[var(--gr-primary)] peer-active:text-[var(--gr-primary-active)]',\n muted: 'text-[var(--gr-muted-fg)] peer-hover:text-[var(--gr-fg)] peer-active:text-[var(--gr-fg)]',\n danger: 'text-[var(--gr-danger)] peer-hover:text-[var(--gr-danger-hover)] peer-active:text-[var(--gr-danger-active)]',\n}\n\nfunction selectLinkUnderlineClass(options: { underline: GrSelectUnderline, disabled: boolean }): string {\n if (options.disabled) return 'no-underline'\n if (options.underline === 'always') return 'underline underline-offset-4'\n if (options.underline === 'none') return 'no-underline'\n return 'no-underline hover:underline hover:underline-offset-4'\n}\n\n/**\n * Underline-классы для видимой метки в `view=\"link\"` + `optionsView=\"native\"`.\n * Видимая метка имеет `pointer-events-none`, а hover получает прозрачный\n * `<select>`-overlay (peer), поэтому для `underline=\"auto\"` используем\n * `peer-hover:underline` вместо `hover:underline`.\n */\nfunction selectLinkNativeLabelUnderlineClass(options: { underline: GrSelectUnderline, disabled: boolean }): string {\n if (options.disabled) return 'no-underline'\n if (options.underline === 'always') return 'underline underline-offset-4'\n if (options.underline === 'none') return 'no-underline'\n return 'no-underline peer-hover:underline peer-hover:underline-offset-4'\n}\n\n/**\n * Классы прозрачного `<select>`-overlay для `view=\"link\"` + `optionsView=\"native\"`.\n * Нативный селект растягивается на всю обёртку, но визуально невидим — ширину обёртки\n * задаёт видимый `<span>` с выбранной меткой, благодаря чему компонент в закрытом\n * состоянии занимает столько места, сколько нужно текущей опции (а не самой длинной).\n */\nexport const grSelectLinkNativeOverlayClass = 'peer absolute inset-0 w-full h-full m-0 p-0 border-0 bg-transparent text-transparent appearance-none opacity-0 cursor-pointer disabled:cursor-not-allowed focus:outline-none'\n\n/**\n * Классы видимой метки для `view=\"link\"` + `optionsView=\"native\"` (поверх прозрачного `<select>`).\n * Получает все link-стили (size/variant/underline), а также focus-ring через `peer-focus-visible`.\n */\nexport function grSelectLinkNativeLabelClass(options: {\n size: GrSelectSize\n variant: GrSelectVariant\n underline: GrSelectUnderline\n disabled: boolean\n}): string {\n return [\n 'pointer-events-none inline-block whitespace-nowrap align-baseline rounded-[6px] transition-colors duration-150',\n selectLinkSizeClassBySize[options.size],\n selectLinkNativeLabelUnderlineClass({ underline: options.underline, disabled: options.disabled }),\n selectLinkNativeLabelVariantClassByVariant[options.variant],\n options.disabled ? 'opacity-60 text-[var(--gr-muted-fg)] no-underline' : '',\n 'peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--gr-ring)]',\n ]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grSelectClass(options: {\n view: GrSelectView\n size: GrSelectSize\n disabled: boolean\n variant: GrSelectVariant\n underline: GrSelectUnderline\n}): string {\n if (options.view === 'link') {\n return [\n selectLinkSizeClassBySize[options.size],\n selectLinkUnderlineClass({ underline: options.underline, disabled: options.disabled }),\n selectLinkVariantClassByVariant[options.variant],\n 'disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--gr-muted-fg)] disabled:no-underline',\n ].join(' ')\n }\n\n return [\n selectSizeClassBySize[options.size],\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n ].join(' ')\n}\n\nexport function grSelectNativeClass(options: {\n view: GrSelectView\n size: GrSelectSize\n disabled: boolean\n variant: GrSelectVariant\n underline: GrSelectUnderline\n showNativeChevron: boolean\n}): string {\n return [\n grSelectClass(options),\n options.showNativeChevron ? 'appearance-none pr-9' : '',\n ]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grSelectTriggerClass(options: {\n view: GrSelectView\n optionsView: GrSelectOptionsView\n size: GrSelectSize\n disabled: boolean\n variant: GrSelectVariant\n underline: GrSelectUnderline\n}): string {\n if (options.optionsView !== 'panel') {\n return grSelectClass(options)\n }\n\n if (options.view === 'link') {\n return [\n grSelectClass(options),\n 'inline-flex items-center gap-1 text-left',\n ].join(' ')\n }\n\n return [\n grSelectClass(options),\n 'flex items-center justify-between text-left',\n ].join(' ')\n}\n\nexport const grSelectPanelClasses = 'rounded-[var(--gr-radius-xl)] border border-[var(--gr-brd)] bg-[var(--gr-card)] text-[var(--gr-card-fg)] shadow-[var(--gr-shadow-2)] overflow-hidden'\n"],"mappings":";AAYA,IAAa,mBAAmB;AAChC,IAAa,gBAAgB;AAG7B,IAAa,wBAAsD;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,4BAA0D;CACrE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,kCAAmE;CAC9E,SAAS;CACT,SAAS;CACT,OAAO;CACP,QAAQ;AACV;;;;;;AAOA,IAAa,6CAA8E;CACzF,SAAS;CACT,SAAS;CACT,OAAO;CACP,QAAQ;AACV;AAEA,SAAS,yBAAyB,SAAsE;CACtG,IAAI,QAAQ,UAAU,OAAO;CAC7B,IAAI,QAAQ,cAAc,UAAU,OAAO;CAC3C,IAAI,QAAQ,cAAc,QAAQ,OAAO;CACzC,OAAO;AACT;;;;;;;AAQA,SAAS,oCAAoC,SAAsE;CACjH,IAAI,QAAQ,UAAU,OAAO;CAC7B,IAAI,QAAQ,cAAc,UAAU,OAAO;CAC3C,IAAI,QAAQ,cAAc,QAAQ,OAAO;CACzC,OAAO;AACT;;;;;;;AAQA,IAAa,iCAAiC;;;;;AAM9C,SAAgB,6BAA6B,SAKlC;CACT,OAAO;EACL;EACA,0BAA0B,QAAQ;EAClC,oCAAoC;GAAE,WAAW,QAAQ;GAAW,UAAU,QAAQ;EAAS,CAAC;EAChG,2CAA2C,QAAQ;EACnD,QAAQ,WAAW,sDAAsD;EACzE;CACF,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;AAEA,SAAgB,cAAc,SAMnB;CACT,IAAI,QAAQ,SAAS,QACnB,OAAO;EACL,0BAA0B,QAAQ;EAClC,yBAAyB;GAAE,WAAW,QAAQ;GAAW,UAAU,QAAQ;EAAS,CAAC;EACrF,gCAAgC,QAAQ;EACxC;CACF,CAAC,CAAC,KAAK,GAAG;CAGZ,OAAO,CACL,sBAAsB,QAAQ,OAC9B,iDACF,CAAC,CAAC,KAAK,GAAG;AACZ;AAEA,SAAgB,oBAAoB,SAOzB;CACT,OAAO,CACL,cAAc,OAAO,GACrB,QAAQ,oBAAoB,yBAAyB,EACvD,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;AAEA,SAAgB,qBAAqB,SAO1B;CACT,IAAI,QAAQ,gBAAgB,SAC1B,OAAO,cAAc,OAAO;CAG9B,IAAI,QAAQ,SAAS,QACnB,OAAO,CACL,cAAc,OAAO,GACrB,0CACF,CAAC,CAAC,KAAK,GAAG;CAGZ,OAAO,CACL,cAAc,OAAO,GACrB,6CACF,CAAC,CAAC,KAAK,GAAG;AACZ;AAEA,IAAa,uBAAuB"}
@@ -3,8 +3,8 @@ function withVar(token) {
3
3
  return `[${token}]`;
4
4
  }
5
5
  var toneVars = {
6
- primary: "var(--pb-bg,var(--primary))",
7
- neutral: "var(--pb-neutral-bg,var(--secondary))",
6
+ primary: "var(--pb-bg,var(--gr-primary))",
7
+ neutral: "var(--pb-neutral-bg,var(--gr-secondary))",
8
8
  success: "var(--pb-success-bg,var(--gr-success))",
9
9
  warning: "var(--pb-warning-bg,var(--gr-warning))",
10
10
  danger: "var(--pb-danger-bg,var(--gr-danger))",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grStyle-CdvxTXPH.js","names":[],"sources":["../../src/components/GrProgressBar/grStyle.ts"],"sourcesContent":["import type { GrTone } from '../shared/tones'\n\nexport type GrProgressBarTone = GrTone\n\nfunction withVar(token: string): string {\n return `[${token}]`\n}\n\nconst toneVars: Record<GrProgressBarTone, string> = {\n primary: 'var(--pb-bg,var(--gr-primary))',\n neutral: 'var(--pb-neutral-bg,var(--gr-secondary))',\n success: 'var(--pb-success-bg,var(--gr-success))',\n warning: 'var(--pb-warning-bg,var(--gr-warning))',\n danger: 'var(--pb-danger-bg,var(--gr-danger))',\n info: 'var(--pb-info-bg,var(--gr-info))',\n slate: 'var(--pb-slate-bg,var(--gr-slate))',\n azure: 'var(--pb-azure-bg,var(--gr-azure))',\n}\n\nexport function grProgressBarFillClass(tone: GrProgressBarTone): string {\n return `bg-${withVar(toneVars[tone])}`\n}\n"],"mappings":";AAIA,SAAS,QAAQ,OAAuB;CACtC,OAAO,IAAI,MAAM;AACnB;AAEA,IAAM,WAA8C;CAClD,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;AACT;AAEA,SAAgB,uBAAuB,MAAiC;CACtE,OAAO,MAAM,QAAQ,SAAS,KAAK;AACrC"}
@@ -58,4 +58,4 @@ function useGranularityTranslations(context) {
58
58
  };
59
59
  }
60
60
  //#endregion
61
- export { useGranularityTranslations as t };
61
+ export { useGranularityTranslations as n, resolveGranularityI18n as t };
@@ -1 +1 @@
1
- {"version":3,"file":"granularityI18n-DoV7Ca2m.js","names":[],"sources":["../../src/internal/granularityI18n.ts"],"sourcesContent":["import { getCurrentInstance, inject, type AppContext } from 'vue'\n\nimport { GRANULARITY_I18N_KEY, type GranularityI18nAdapter } from '../i18n/adapter'\n\nexport type GranularityI18nLike = GranularityI18nAdapter\n\n/**\n * Ключ provide/inject из `@feugene/fint-i18n` (`Symbol.for(\"FintI18n\")`).\n *\n * Дублируем константу здесь, чтобы не делать `@feugene/fint-i18n` обязательной\n * runtime-зависимостью пакета: достаточно, чтобы приложение само установило\n * fint-i18n через `installI18n(app, i18n)` — символ глобальный (Symbol.for),\n * поэтому ключи будут совпадать без прямого импорта.\n */\nconst FINT_I18N_KEY: symbol = Symbol.for('FintI18n')\n\nfunction isGranularityI18nLike(value: unknown): value is GranularityI18nLike {\n return typeof (value as GranularityI18nLike | null)?.t === 'function'\n}\n\nexport function resolveGranularityI18n(context?: AppContext | GranularityI18nLike | null): GranularityI18nLike | null {\n if (isGranularityI18nLike(context)) {\n return context\n }\n\n const provides = context?.provides\n\n if (provides) {\n const fromGranularity = provides[GRANULARITY_I18N_KEY as symbol] as GranularityI18nLike | null | undefined\n if (isGranularityI18nLike(fromGranularity)) {\n return fromGranularity\n }\n\n const fromFint = provides[FINT_I18N_KEY] as GranularityI18nLike | null | undefined\n if (isGranularityI18nLike(fromFint)) {\n return fromFint\n }\n\n return null\n }\n\n if (!getCurrentInstance()) {\n return null\n }\n\n const fromGranularity = inject<GranularityI18nLike | null>(GRANULARITY_I18N_KEY, null)\n if (isGranularityI18nLike(fromGranularity)) {\n return fromGranularity\n }\n\n const fromFint = inject<GranularityI18nLike | null>(FINT_I18N_KEY, null)\n if (isGranularityI18nLike(fromFint)) {\n return fromFint\n }\n\n return null\n}\n\n// Совпадает с синтаксисом плейсхолдеров `@feugene/fint-i18n` (`{name}`, экранирование\n// `{{`/`}}` — см. docs/en/api.md → \"Template Interpolation\"), чтобы fallback-текст вёл\n// себя идентично реальному переводу, когда параметры переданы.\nconst FALLBACK_PLACEHOLDER_RE = /\\{\\{|\\}\\}|\\{([a-zA-Z0-9_.-]+)\\}/g\n\n/**\n * Интерполирует `{name}`-плейсхолдеры во fallback-строке. Нужен, чтобы `t(key, fallback,\n * params)` корректно подставлял параметры и тогда, когда i18n не подключён (или ключ не\n * найден) — иначе вызывающий код получил бы сырой `'Add \"{value}\"'` вместо `'Add \"foo\"'`.\n */\nfunction interpolateFallback(template: string, params?: Record<string, any>): string {\n // `{{`/`}}`-экранирование обязано работать независимо от того, переданы ли `params`\n // (совпадает с fint-i18n: `t('literal')` без параметров тоже разэкранирует `{{name}}`).\n // Ранний выход по `!params` здесь недопустим.\n return template.replace(FALLBACK_PLACEHOLDER_RE, (match, name: string | undefined) => {\n if (match === '{{') return '{'\n if (match === '}}') return '}'\n if (name === undefined) return match\n\n const value = params?.[name]\n return value == null ? match : String(value)\n })\n}\n\nexport function useGranularityTranslations(context?: AppContext | GranularityI18nLike | null) {\n const i18n = resolveGranularityI18n(context)\n\n const t = (key: string, fallback: string, params?: Record<string, any>): string => {\n if (!i18n) {\n return interpolateFallback(fallback, params)\n }\n\n const result = i18n.t(key, params)\n return result === key ? interpolateFallback(fallback, params) : result\n }\n\n return {\n i18n,\n t,\n }\n}"],"mappings":";;;;;;;;;;;AAcA,IAAM,gBAAwB,OAAO,IAAI,UAAU;AAEnD,SAAS,sBAAsB,OAA8C;CAC3E,OAAO,OAAQ,OAAsC,MAAM;AAC7D;AAEA,SAAgB,uBAAuB,SAA+E;CACpH,IAAI,sBAAsB,OAAO,GAC/B,OAAO;CAGT,MAAM,WAAW,SAAS;CAE1B,IAAI,UAAU;EACZ,MAAM,kBAAkB,SAAS;EACjC,IAAI,sBAAsB,eAAe,GACvC,OAAO;EAGT,MAAM,WAAW,SAAS;EAC1B,IAAI,sBAAsB,QAAQ,GAChC,OAAO;EAGT,OAAO;CACT;CAEA,IAAI,CAAC,mBAAmB,GACtB,OAAO;CAGT,MAAM,kBAAkB,OAAmC,sBAAsB,IAAI;CACrF,IAAI,sBAAsB,eAAe,GACvC,OAAO;CAGT,MAAM,WAAW,OAAmC,eAAe,IAAI;CACvE,IAAI,sBAAsB,QAAQ,GAChC,OAAO;CAGT,OAAO;AACT;AAKA,IAAM,0BAA0B;;;;;;AAOhC,SAAS,oBAAoB,UAAkB,QAAsC;CAInF,OAAO,SAAS,QAAQ,0BAA0B,OAAO,SAA6B;EACpF,IAAI,UAAU,MAAM,OAAO;EAC3B,IAAI,UAAU,MAAM,OAAO;EAC3B,IAAI,SAAS,KAAA,GAAW,OAAO;EAE/B,MAAM,QAAQ,SAAS;EACvB,OAAO,SAAS,OAAO,QAAQ,OAAO,KAAK;CAC7C,CAAC;AACH;AAEA,SAAgB,2BAA2B,SAAmD;CAC5F,MAAM,OAAO,uBAAuB,OAAO;CAE3C,MAAM,KAAK,KAAa,UAAkB,WAAyC;EACjF,IAAI,CAAC,MACH,OAAO,oBAAoB,UAAU,MAAM;EAG7C,MAAM,SAAS,KAAK,EAAE,KAAK,MAAM;EACjC,OAAO,WAAW,MAAM,oBAAoB,UAAU,MAAM,IAAI;CAClE;CAEA,OAAO;EACL;EACA;CACF;AACF"}
1
+ {"version":3,"file":"granularityI18n-SH0I--GW.js","names":[],"sources":["../../src/internal/granularityI18n.ts"],"sourcesContent":["import { getCurrentInstance, inject, type AppContext } from 'vue'\n\nimport { GRANULARITY_I18N_KEY, type GranularityI18nAdapter } from '../i18n/adapter'\n\nexport type GranularityI18nLike = GranularityI18nAdapter\n\n/**\n * Ключ provide/inject из `@feugene/fint-i18n` (`Symbol.for(\"FintI18n\")`).\n *\n * Дублируем константу здесь, чтобы не делать `@feugene/fint-i18n` обязательной\n * runtime-зависимостью пакета: достаточно, чтобы приложение само установило\n * fint-i18n через `installI18n(app, i18n)` — символ глобальный (Symbol.for),\n * поэтому ключи будут совпадать без прямого импорта.\n */\nconst FINT_I18N_KEY: symbol = Symbol.for('FintI18n')\n\nfunction isGranularityI18nLike(value: unknown): value is GranularityI18nLike {\n return typeof (value as GranularityI18nLike | null)?.t === 'function'\n}\n\nexport function resolveGranularityI18n(context?: AppContext | GranularityI18nLike | null): GranularityI18nLike | null {\n if (isGranularityI18nLike(context)) {\n return context\n }\n\n const provides = context?.provides\n\n if (provides) {\n const fromGranularity = provides[GRANULARITY_I18N_KEY as symbol] as GranularityI18nLike | null | undefined\n if (isGranularityI18nLike(fromGranularity)) {\n return fromGranularity\n }\n\n const fromFint = provides[FINT_I18N_KEY] as GranularityI18nLike | null | undefined\n if (isGranularityI18nLike(fromFint)) {\n return fromFint\n }\n\n return null\n }\n\n if (!getCurrentInstance()) {\n return null\n }\n\n const fromGranularity = inject<GranularityI18nLike | null>(GRANULARITY_I18N_KEY, null)\n if (isGranularityI18nLike(fromGranularity)) {\n return fromGranularity\n }\n\n const fromFint = inject<GranularityI18nLike | null>(FINT_I18N_KEY, null)\n if (isGranularityI18nLike(fromFint)) {\n return fromFint\n }\n\n return null\n}\n\n// Совпадает с синтаксисом плейсхолдеров `@feugene/fint-i18n` (`{name}`, экранирование\n// `{{`/`}}` — см. docs/en/api.md → \"Template Interpolation\"), чтобы fallback-текст вёл\n// себя идентично реальному переводу, когда параметры переданы.\nconst FALLBACK_PLACEHOLDER_RE = /\\{\\{|\\}\\}|\\{([a-zA-Z0-9_.-]+)\\}/g\n\n/**\n * Интерполирует `{name}`-плейсхолдеры во fallback-строке. Нужен, чтобы `t(key, fallback,\n * params)` корректно подставлял параметры и тогда, когда i18n не подключён (или ключ не\n * найден) — иначе вызывающий код получил бы сырой `'Add \"{value}\"'` вместо `'Add \"foo\"'`.\n */\nfunction interpolateFallback(template: string, params?: Record<string, any>): string {\n // `{{`/`}}`-экранирование обязано работать независимо от того, переданы ли `params`\n // (совпадает с fint-i18n: `t('literal')` без параметров тоже разэкранирует `{{name}}`).\n // Ранний выход по `!params` здесь недопустим.\n return template.replace(FALLBACK_PLACEHOLDER_RE, (match, name: string | undefined) => {\n if (match === '{{') return '{'\n if (match === '}}') return '}'\n if (name === undefined) return match\n\n const value = params?.[name]\n return value == null ? match : String(value)\n })\n}\n\nexport function useGranularityTranslations(context?: AppContext | GranularityI18nLike | null) {\n const i18n = resolveGranularityI18n(context)\n\n const t = (key: string, fallback: string, params?: Record<string, any>): string => {\n if (!i18n) {\n return interpolateFallback(fallback, params)\n }\n\n const result = i18n.t(key, params)\n return result === key ? interpolateFallback(fallback, params) : result\n }\n\n return {\n i18n,\n t,\n }\n}"],"mappings":";;;;;;;;;;;AAcA,IAAM,gBAAwB,OAAO,IAAI,UAAU;AAEnD,SAAS,sBAAsB,OAA8C;CAC3E,OAAO,OAAQ,OAAsC,MAAM;AAC7D;AAEA,SAAgB,uBAAuB,SAA+E;CACpH,IAAI,sBAAsB,OAAO,GAC/B,OAAO;CAGT,MAAM,WAAW,SAAS;CAE1B,IAAI,UAAU;EACZ,MAAM,kBAAkB,SAAS;EACjC,IAAI,sBAAsB,eAAe,GACvC,OAAO;EAGT,MAAM,WAAW,SAAS;EAC1B,IAAI,sBAAsB,QAAQ,GAChC,OAAO;EAGT,OAAO;CACT;CAEA,IAAI,CAAC,mBAAmB,GACtB,OAAO;CAGT,MAAM,kBAAkB,OAAmC,sBAAsB,IAAI;CACrF,IAAI,sBAAsB,eAAe,GACvC,OAAO;CAGT,MAAM,WAAW,OAAmC,eAAe,IAAI;CACvE,IAAI,sBAAsB,QAAQ,GAChC,OAAO;CAGT,OAAO;AACT;AAKA,IAAM,0BAA0B;;;;;;AAOhC,SAAS,oBAAoB,UAAkB,QAAsC;CAInF,OAAO,SAAS,QAAQ,0BAA0B,OAAO,SAA6B;EACpF,IAAI,UAAU,MAAM,OAAO;EAC3B,IAAI,UAAU,MAAM,OAAO;EAC3B,IAAI,SAAS,KAAA,GAAW,OAAO;EAE/B,MAAM,QAAQ,SAAS;EACvB,OAAO,SAAS,OAAO,QAAQ,OAAO,KAAK;CAC7C,CAAC;AACH;AAEA,SAAgB,2BAA2B,SAAmD;CAC5F,MAAM,OAAO,uBAAuB,OAAO;CAE3C,MAAM,KAAK,KAAa,UAAkB,WAAyC;EACjF,IAAI,CAAC,MACH,OAAO,oBAAoB,UAAU,MAAM;EAG7C,MAAM,SAAS,KAAK,EAAE,KAAK,MAAM;EACjC,OAAO,WAAW,MAAM,oBAAoB,UAAU,MAAM,IAAI;CAClE;CAEA,OAAO;EACL;EACA;CACF;AACF"}
@@ -19,7 +19,33 @@ var tree = {
19
19
  var select = {
20
20
  "customValuePlaceholder": "Добавить значение…",
21
21
  "addOption": "Добавить «{value}»",
22
- "clearOption": "Не выбрано"
22
+ "clearOption": "Не выбрано",
23
+ "searchPlaceholder": "Поиск…",
24
+ "loading": "Загрузка…",
25
+ "noResults": "Ничего не найдено",
26
+ "removeTag": "Удалить {label}"
27
+ };
28
+ var dataTable = {
29
+ "loading": "Загрузка…",
30
+ "empty": "Нет данных",
31
+ "selectAll": "Выбрать все строки",
32
+ "selectRow": "Выбрать строку"
33
+ };
34
+ var autocomplete = {
35
+ "loading": "Загрузка…",
36
+ "noResults": "Ничего не найдено",
37
+ "addOption": "Добавить «{value}»",
38
+ "typeMore": "Введите минимум {n} символа(ов)"
39
+ };
40
+ var form = {
41
+ "required": "Обязательное поле",
42
+ "min": "Минимум {min}",
43
+ "max": "Максимум {max}",
44
+ "len": "Длина должна быть {len}",
45
+ "pattern": "Неверный формат",
46
+ "email": "Введите корректный e-mail",
47
+ "url": "Введите корректный URL",
48
+ "invalid": "Некорректное значение"
23
49
  };
24
50
  var dialog = {
25
51
  "confirm": { "title": "Подтверждение" },
@@ -36,7 +62,8 @@ var pagination = {
36
62
  "next": "Вперёд",
37
63
  "page": "Страница {n}",
38
64
  "first": "Первая страница",
39
- "last": "Последняя страница"
65
+ "last": "Последняя страница",
66
+ "jumpTo": "Перейти к"
40
67
  };
41
68
  var navbar = { "openMenu": "Открыть меню" };
42
69
  var responseError = {
@@ -118,12 +145,25 @@ var input = {
118
145
  "showPassword": "Показать пароль",
119
146
  "hidePassword": "Скрыть пароль"
120
147
  };
148
+ var rating = {
149
+ "label": "Оценка",
150
+ "valueText": "{value} из {max}"
151
+ };
152
+ var commandPalette = {
153
+ "label": "Палитра команд",
154
+ "placeholder": "Введите команду или запрос…",
155
+ "empty": "Ничего не найдено",
156
+ "loading": "Загрузка…"
157
+ };
121
158
  var ru_default = {
122
159
  common,
123
160
  loading,
124
161
  treeSelect,
125
162
  tree,
126
163
  select,
164
+ dataTable,
165
+ autocomplete,
166
+ form,
127
167
  dialog,
128
168
  pagination,
129
169
  navbar,
@@ -138,7 +178,9 @@ var ru_default = {
138
178
  imageViewer,
139
179
  formErrorBanner,
140
180
  uploadErrorBanner,
141
- input
181
+ input,
182
+ rating,
183
+ commandPalette
142
184
  };
143
185
  //#endregion
144
- export { colors, common, ru_default as default, dialog, drawer, fileUpload, formErrorBanner, formFile, imageViewer, input, inputTag, loading, navbar, numberInput, pagination, responseError, select, toaster, tree, treeSelect, uploadErrorBanner };
186
+ export { autocomplete, colors, commandPalette, common, dataTable, ru_default as default, dialog, drawer, fileUpload, form, formErrorBanner, formFile, imageViewer, input, inputTag, loading, navbar, numberInput, pagination, rating, responseError, select, toaster, tree, treeSelect, uploadErrorBanner };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ru-B5XOOYZt.js","names":[],"sources":["../../src/i18n/locales/ru.json"],"sourcesContent":["{\n \"common\": {\n \"confirm\": \"Подтвердить\",\n \"cancel\": \"Отмена\",\n \"add\": \"Добавить\",\n \"clear\": \"Очистить\",\n \"close\": \"Закрыть\"\n },\n \"loading\": {\n \"defaultText\": \"Загрузка...\"\n },\n \"treeSelect\": {\n \"filterPlaceholder\": \"Поиск…\",\n \"empty\": \"Нет данных\"\n },\n \"tree\": {\n \"drag\": \"Перетащить\",\n \"expand\": \"Развернуть\",\n \"collapse\": \"Свернуть\"\n },\n \"select\": {\n \"customValuePlaceholder\": \"Добавить значение…\",\n \"addOption\": \"Добавить «{value}»\",\n \"clearOption\": \"Не выбрано\",\n \"searchPlaceholder\": \"Поиск…\",\n \"loading\": \"Загрузка…\",\n \"noResults\": \"Ничего не найдено\",\n \"removeTag\": \"Удалить {label}\"\n },\n \"dataTable\": {\n \"loading\": \"Загрузка…\",\n \"empty\": \"Нет данных\",\n \"selectAll\": \"Выбрать все строки\",\n \"selectRow\": \"Выбрать строку\"\n },\n \"autocomplete\": {\n \"loading\": \"Загрузка…\",\n \"noResults\": \"Ничего не найдено\",\n \"addOption\": \"Добавить «{value}»\",\n \"typeMore\": \"Введите минимум {n} символа(ов)\"\n },\n \"form\": {\n \"required\": \"Обязательное поле\",\n \"min\": \"Минимум {min}\",\n \"max\": \"Максимум {max}\",\n \"len\": \"Длина должна быть {len}\",\n \"pattern\": \"Неверный формат\",\n \"email\": \"Введите корректный e-mail\",\n \"url\": \"Введите корректный URL\",\n \"invalid\": \"Некорректное значение\"\n },\n \"dialog\": {\n \"confirm\": {\n \"title\": \"Подтверждение\"\n },\n \"prompt\": {\n \"title\": \"Введите значение\",\n \"label\": \"Значение\",\n \"required\": \"Введите значение.\"\n }\n },\n \"pagination\": {\n \"label\": \"Пагинация\",\n \"pageSize\": \"Размер страницы\",\n \"prev\": \"Назад\",\n \"next\": \"Вперёд\",\n \"page\": \"Страница {n}\",\n \"first\": \"Первая страница\",\n \"last\": \"Последняя страница\",\n \"jumpTo\": \"Перейти к\"\n },\n \"navbar\": {\n \"openMenu\": \"Открыть меню\"\n },\n \"responseError\": {\n \"networkTitle\": \"Нет связи с сервером\",\n \"networkMessage\": \"Проверьте подключение к интернету и попробуйте ещё раз.\",\n \"abortedTitle\": \"Запрос отменён\",\n \"abortedMessage\": \"Запрос был отменён.\",\n \"validationTitle\": \"Проверьте данные\",\n \"validationMessage\": \"Сервер вернул ошибку валидации. Исправьте поля и попробуйте снова.\",\n \"clientTitle\": \"Ошибка запроса\",\n \"clientMessage\": \"Сервер отклонил запрос.\",\n \"serverTitle\": \"Ошибка сервера\",\n \"serverMessage\": \"Произошла ошибка на сервере. Попробуйте ещё раз.\",\n \"unknownTitle\": \"Что-то пошло не так\",\n \"unknownMessage\": \"Не удалось выполнить операцию. Попробуйте ещё раз.\",\n \"retryLabel\": \"Повторить\",\n \"dismissLabel\": \"Скрыть\"\n },\n \"colors\": {\n \"neutral\": \"Нейтральный\",\n \"success\": \"Успех\",\n \"warning\": \"Предупреждение\",\n \"danger\": \"Опасность\",\n \"info\": \"Инфо\",\n \"primary\": \"Primary\",\n \"slate\": \"Сланцевый\",\n \"azure\": \"Лазурный\"\n },\n \"drawer\": {\n \"title\": \"Панель\"\n },\n \"numberInput\": {\n \"increase\": \"Увеличить\",\n \"decrease\": \"Уменьшить\"\n },\n \"toaster\": {\n \"dismiss\": \"Закрыть\",\n \"region\": \"Уведомления\"\n },\n \"inputTag\": {\n \"removeTag\": \"Удалить тег\"\n },\n \"fileUpload\": {\n \"placeholder\": \"Перетащите файлы сюда или нажмите для выбора\",\n \"progress\": \"Прогресс загрузки\"\n },\n \"formFile\": {\n \"upload\": \"Загрузить файл\",\n \"change\": \"Заменить файл\",\n \"remove\": \"Удалить\",\n \"clearAll\": \"Очистить всё\",\n \"placeholder\": \"Файлы не выбраны\",\n \"validateError\": \"Не удалось проверить перетащенные файлы\"\n },\n \"imageViewer\": {\n \"close\": \"Закрыть просмотрщик\",\n \"prev\": \"Предыдущее изображение\",\n \"next\": \"Следующее изображение\",\n \"zoomIn\": \"Увеличить\",\n \"zoomOut\": \"Уменьшить\",\n \"resetZoom\": \"Сбросить масштаб\",\n \"rotateLeft\": \"Повернуть влево\",\n \"rotateRight\": \"Повернуть вправо\",\n \"empty\": \"Нет изображения\"\n },\n \"formErrorBanner\": {\n \"validationTitle\": \"Проверьте поля формы\",\n \"validationMessage\": \"Сервер отклонил данные. Исправьте выделенные поля и попробуйте снова.\",\n \"clientTitle\": \"Не удалось сохранить\",\n \"serverTitle\": \"Ошибка сохранения\",\n \"serverMessage\": \"Не удалось сохранить данные. Попробуйте позже.\"\n },\n \"uploadErrorBanner\": {\n \"networkTitle\": \"Не удалось загрузить файлы\",\n \"networkMessage\": \"Проверьте подключение и попробуйте снова.\",\n \"validationTitle\": \"Файлы не прошли проверку\",\n \"validationMessage\": \"Некоторые файлы не соответствуют требованиям.\",\n \"serverTitle\": \"Ошибка загрузки на сервере\",\n \"serverMessage\": \"Сервер не смог обработать загрузку. Попробуйте снова.\"\n },\n \"input\": {\n \"clear\": \"Очистить\",\n \"showPassword\": \"Показать пароль\",\n \"hidePassword\": \"Скрыть пароль\"\n },\n \"rating\": {\n \"label\": \"Оценка\",\n \"valueText\": \"{value} из {max}\"\n },\n \"commandPalette\": {\n \"label\": \"Палитра команд\",\n \"placeholder\": \"Введите команду или запрос…\",\n \"empty\": \"Ничего не найдено\",\n \"loading\": \"Загрузка…\"\n }\n}\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
- import { a as squareSizes, i as sizes, o as tones, s as variantClass, t as base } from "./grButtonStyles-C7Yga_Q1.js";
2
+ import { a as squareSizes, i as sizes, o as tones, s as variantClass, t as base } from "./grButtonStyles-DRBgDmOp.js";
3
3
  //#region src/components/GrButton/safelist.ts
4
4
  var variantTokens = Object.keys(tones).flatMap((tone) => [
5
5
  "primary",
@@ -1 +1 @@
1
- {"version":3,"file":"safelist-Do2RtzLB.js","names":[],"sources":["../../src/components/GrButton/safelist.ts"],"sourcesContent":["import {splitClassTokens} from '../shared/classTokens'\nimport {\n base,\n sizes,\n squareSizes,\n tones,\n variantClass,\n type GrButtonTone,\n type GrButtonVariant,\n} from './grButtonStyles'\n\nconst variantTokens = (Object.keys(tones) as GrButtonTone[]).flatMap(tone =>\n (['primary', 'secondary', 'outline', 'ghost', 'ghost-border'] as GrButtonVariant[])\n .flatMap(variant => splitClassTokens(variantClass(variant, tone))),\n)\n\nexport const grButtonClassTokens = {\n base: splitClassTokens(base),\n sizes: Object.values(sizes).flatMap(splitClassTokens),\n squareSizes: Object.values(squareSizes).flatMap(splitClassTokens),\n variants: variantTokens,\n} as const\n\nexport const grButtonSafelist = [...new Set([\n ...grButtonClassTokens.base,\n ...grButtonClassTokens.sizes,\n ...grButtonClassTokens.squareSizes,\n ...grButtonClassTokens.variants,\n])]\n"],"mappings":";;;AAWA,IAAM,gBAAiB,OAAO,KAAK,KAAK,CAAC,CAAoB,SAAQ,SAChE;CAAC;CAAW;CAAa;CAAW;CAAS;AAAc,CAAC,CACxD,SAAQ,YAAW,iBAAiB,aAAa,SAAS,IAAI,CAAC,CAAC,CACzE;AAEA,IAAa,sBAAsB;CAC/B,MAAM,iBAAiB,IAAI;CAC3B,OAAO,OAAO,OAAO,KAAK,CAAC,CAAC,QAAQ,gBAAgB;CACpD,aAAa,OAAO,OAAO,WAAW,CAAC,CAAC,QAAQ,gBAAgB;CAChE,UAAU;AACd;AAEA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CACxC,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;AAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"safelist-BvO8HPnE.js","names":[],"sources":["../../src/components/GrButton/safelist.ts"],"sourcesContent":["import {splitClassTokens} from '../shared/classTokens'\nimport {\n base,\n sizes,\n squareSizes,\n tones,\n variantClass,\n type GrButtonTone,\n type GrButtonVariant,\n} from './grButtonStyles'\n\nconst variantTokens = (Object.keys(tones) as GrButtonTone[]).flatMap(tone =>\n (['primary', 'secondary', 'outline', 'ghost', 'ghost-border'] as GrButtonVariant[])\n .flatMap(variant => splitClassTokens(variantClass(variant, tone))),\n)\n\nexport const grButtonClassTokens = {\n base: splitClassTokens(base),\n sizes: Object.values(sizes).flatMap(splitClassTokens),\n squareSizes: Object.values(squareSizes).flatMap(splitClassTokens),\n variants: variantTokens,\n} as const\n\nexport const grButtonSafelist = [...new Set([\n ...grButtonClassTokens.base,\n ...grButtonClassTokens.sizes,\n ...grButtonClassTokens.squareSizes,\n ...grButtonClassTokens.variants,\n])]\n"],"mappings":";;;AAWA,IAAM,gBAAiB,OAAO,KAAK,KAAK,CAAC,CAAoB,SAAQ,SAChE;CAAC;CAAW;CAAa;CAAW;CAAS;AAAc,CAAC,CACxD,SAAQ,YAAW,iBAAiB,aAAa,SAAS,IAAI,CAAC,CAAC,CACzE;AAEA,IAAa,sBAAsB;CAC/B,MAAM,iBAAiB,IAAI;CAC3B,OAAO,OAAO,OAAO,KAAK,CAAC,CAAC,QAAQ,gBAAgB;CACpD,aAAa,OAAO,OAAO,WAAW,CAAC,CAAC,QAAQ,gBAAgB;CAChE,UAAU;AACd;AAEA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CACxC,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;AAC3B,CAAC,CAAC"}
@@ -0,0 +1,188 @@
1
+ import { t as grAlertConfig } from "./config-BNu8lFQB.js";
2
+ import { t as grAutocompleteConfig } from "./config-DToHb81g.js";
3
+ import { t as grAvatarConfig } from "./config-QYGvEBu5.js";
4
+ import { t as grBadgeConfig } from "./config-D_myOZbA.js";
5
+ import { t as grBadgeWrapConfig } from "./config-Dxuwwepq.js";
6
+ import { t as grBottomNavConfig } from "./config-C9AcVDkv.js";
7
+ import { t as grButtonConfig } from "./config-KXuionN3.js";
8
+ import { t as grButtonGroupConfig } from "./config-DBmdgoVf.js";
9
+ import { t as grCardConfig } from "./config-CThzliFi.js";
10
+ import { t as grCheckboxConfig } from "./config-DICOd-2X.js";
11
+ import { t as grIconConfig } from "./config-BEegFP74.js";
12
+ import { t as grCollapseConfig } from "./config-xR4XVmcy2.js";
13
+ import { t as grCommandPaletteConfig } from "./config-COE_vZ-l.js";
14
+ import { t as grConfigProviderConfig } from "./config-B7W9VlZ7.js";
15
+ import { t as grConfirmDialogConfig } from "./config-BXtAmU3s.js";
16
+ import { t as grDataTableConfig } from "./config-U4m9PSql2.js";
17
+ import { t as grDialogSafelist } from "./safelist-CkF4v7DC.js";
18
+ import { t as grDialogServiceConfig } from "./config-BX1JTrkV.js";
19
+ import { t as grDividerConfig } from "./config-BWiPnygb.js";
20
+ import { t as grDrawerConfig } from "./config-BmNT0Fmx.js";
21
+ import { t as grDropdownConfig } from "./config-BvVq2gbd.js";
22
+ import { t as grDropdownMenuConfig } from "./config-Cb2PAlSD.js";
23
+ import { t as grEmptyStateConfig } from "./config-Bah4oHwL.js";
24
+ import { t as grFileUploadConfig } from "./config-BWGGp7uV.js";
25
+ import { t as grFormConfig } from "./config-Droqn55j.js";
26
+ import { t as grFormFieldConfig } from "./config-PFg39mYo.js";
27
+ import { t as grFormFileConfig } from "./config-D7GZO-Dx.js";
28
+ import { t as grFormSectionConfig } from "./config-B0qIpo8m.js";
29
+ import { t as grImageViewerConfig } from "./config-HZto2PVy.js";
30
+ import { t as grInputConfig } from "./config-Dg_6FTvJ.js";
31
+ import { t as grInputTagConfig } from "./config-23WtUiAL.js";
32
+ import { t as grKbdConfig } from "./config-Dlm49Jp5.js";
33
+ import { t as grLinkConfig } from "./config-B5Rknzkd.js";
34
+ import { t as grListConfig } from "./config-C86UzUYf.js";
35
+ import { t as grLoadingConfig } from "./config-Dqy0rPPO2.js";
36
+ import { t as grModalConfig } from "./config-CPdmr7tC.js";
37
+ import { t as grNavbarConfig } from "./config-ZiXWIRBX.js";
38
+ import { t as grNumberInputConfig } from "./config-gZWR75Bh2.js";
39
+ import { t as grPaginationConfig } from "./config-JpHA4Xx0.js";
40
+ import { t as grProgressBarConfig } from "./config-DRKXJ9PW2.js";
41
+ import { t as grPromptDialogConfig } from "./config-BUHuGBik2.js";
42
+ import { t as grRadioConfig } from "./config-C4hJxXDa.js";
43
+ import { t as grRadioGroupConfig } from "./config-QaIc_gRa2.js";
44
+ import { t as grRatingConfig } from "./config-CB4RVt9M.js";
45
+ import { t as grSegmentedConfig } from "./config-BMKNHFMD2.js";
46
+ import { t as grSelectConfig } from "./config-XmTv4pnI.js";
47
+ import { t as grSidebarConfig } from "./config-CGHLoBlH2.js";
48
+ import { t as grSkeletonConfig } from "./config-8Pcutu1j.js";
49
+ import { t as grSliderConfig } from "./config-BZFUM3Ky.js";
50
+ import { t as grStatisticConfig } from "./config-BDSHekVC.js";
51
+ import { t as grSwitchConfig } from "./config-LqDC_rvp.js";
52
+ import { t as grTableConfig } from "./config-ipvU0lzP.js";
53
+ import { t as grTabPanelsConfig } from "./config-eXB87DOi.js";
54
+ import { t as grTabsConfig } from "./config-BLHqZhy-.js";
55
+ import { t as grTextareaConfig } from "./config-B0i5r8kH.js";
56
+ import { t as grToasterConfig } from "./config-LGrZIdaZ.js";
57
+ import { t as grTooltipConfig } from "./config-JOtB4mzs.js";
58
+ import { t as grTreeConfig } from "./config-DpqOnJiz.js";
59
+ import { t as grTreeSelectConfig } from "./config-DPDFYzIa.js";
60
+ import { defineGranularComponent, defineGranularProvider } from "@feugene/unocss-preset-granular/contract";
61
+ //#region src/components/GrDialog/config.ts
62
+ var grDialogConfig = defineGranularComponent(import.meta.url, {
63
+ name: "GrDialog",
64
+ dependencies: ["GrButton", "GrModal"],
65
+ safelist: grDialogSafelist
66
+ });
67
+ //#endregion
68
+ //#region src/components/GrResponseErrorBanner/config.ts
69
+ var grResponseErrorBannerConfig = defineGranularComponent(import.meta.url, {
70
+ name: "GrResponseErrorBanner",
71
+ dependencies: ["GrAlert", "GrButton"]
72
+ });
73
+ //#endregion
74
+ //#region src/granular-provider/shared.ts
75
+ /** Идентификатор провайдера — совпадает с именем пакета. */
76
+ var GRANULARITY_PROVIDER_ID = "@feugene/granularity";
77
+ var packageBaseUrl = `${import.meta.url.slice(0, import.meta.url.lastIndexOf("/", import.meta.url.lastIndexOf("/") - 1) + 1)}`;
78
+ /** Встроенные темы пакета. Единственный источник правды о списке тем. */
79
+ var granularityThemeNames = ["light", "dark"];
80
+ /** Темы, активные по умолчанию, если окружение не переопределяет выбор. */
81
+ var granularityDefaultThemes = ["light"];
82
+ var theme = {
83
+ baseCssUrl: new URL("data:text/css;base64,LyoKICogR1It0LHQsNC30L7QstGL0Lkg0YHQu9C+0LkuCiAqCiAqINCT0LvQvtCx0LDQu9GM0L3Ri9C5INGB0LHRgNC+0YEg0YHRgtGA0LDQvdC40YbRiyAoYGJvZHlgLCBgYm94LXNpemluZ2ApINC/0YDQvtC00YPQsdC70LjRgNC+0LLQsNC9INC40LcKICogYHByZWZsaWdodC5jc3NgINCd0JDQn9Cg0K/QnNCj0K4gKNCwINC90LUg0YfQtdGA0LXQtyBgQGltcG9ydGApLiDQn9GA0LjRh9C40L3QsDogZ3JhbnVsYXItcHJvdmlkZXIKICog0LLRgdGC0YDQsNC40LLQsNC10YIg0YHQvtC00LXRgNC20LjQvNC+0LUgYGJhc2UuY3NzYCDQutCw0LogYmFzZTY0IGBkYXRhOmAtVVJMINC90LAg0Y3RgtCw0L/QtSDRgdCx0L7RgNC60Lgg0L/QsNC60LXRgtCwCiAqINC4INC+0YLQtNCw0ZHRgiDQtdCz0L4g0LIgVW5vQ1NTINC60LDQuiBwcmVmbGlnaHQt0YHRgtGA0L7QutGDLiDQktC70L7QttC10L3QvdGL0LkgYEBpbXBvcnRgINCyINGC0LDQutC+0Lkg0YHRgtGA0L7QutC1CiAqICjQsCkg0L3QtSDRgNC10LfQvtC70LLQuNGC0YHRjyAo0L7RgtC90L7RgdC40YLQtdC70YzQvdGL0Lkg0L/Rg9GC0Ywg0LLQvdGD0YLRgNC4IGRhdGEtVVJMKSDQuCAo0LEpINC+0LrQsNC30YvQstCw0LXRgtGB0Y8g0J3QlSDQsgogKiDQvdCw0YfQsNC70LUg0YTQuNC90LDQu9GM0L3QvtCz0L4gQ1NTIOKGkiBQb3N0Q1NTINC/0LDQtNCw0LXRgjogwqtAaW1wb3J0IG11c3QgcHJlY2VkZSBhbGwgb3RoZXIKICogc3RhdGVtZW50c8K7LiDQn9C+0Y3RgtC+0LzRgyByZXNldCDQuNC90LvQsNC50L3QuNGC0YHRjyDRgdGO0LTQsC4gYHByZWZsaWdodC5jc3NgINC+0YHRgtCw0ZHRgtGB0Y8g0L7RgtC00LXQu9GM0L3Ri9C8CiAqINC/0YPQsdC70LjRh9C90YvQvCDRhNCw0LnQu9C+0LwgKGAuL3N0eWxlcy9wcmVmbGlnaHQuY3NzYCkg0LTQu9GPIHN0YW5kYWxvbmUt0L/QvtGC0YDQtdCx0LjRgtC10LvQtdC5IOKAlAogKiDQtNC10YDQttC40YLQtSDQvtCx0LAg0LHQu9C+0LrQsCDRgdC40L3RhdGA0L7QvdC90YvQvNC4LgogKgogKiDQn9C+0YLRgNC10LHQuNGC0LXQu9GMLCDQutC+0YLQvtGA0L7QvNGDINCz0LvQvtCx0LDQu9GM0L3Ri9C1INGB0LDQudC0LdGN0YTRhNC10LrRgtGLINC90LUg0L3Rg9C20L3Riywg0LzQvtC20LXRgiDQv9C+0LTQutC70Y7Rh9C40YLRjAogKiBgdG9rZW5zLmNzc2AgKyDRgtC10LzRgyDQuCDQv9GA0L7Qv9GD0YHRgtC40YLRjCBgYmFzZS5jc3NgL2BwcmVmbGlnaHQuY3NzYC4KICoKICog0J3QuNC20LUsINC/0L7QvNC40LzQviByZXNldCwg4oCUINC90LjQt9C60L7RgdC/0LXRhtC40YTQuNGH0L3Ri9C1IChgOndoZXJlKClgKSDQtNC10YTQvtC70YLRiyDRgdCw0LzQvtC5IEdSLCDQutC+0YLQvtGA0YvQtQogKiDQsdC10LfQvtC/0LDRgdC90L4g0L3QsNC60LvQsNC00YvQstCw0Y7RgtGB0Y8g0L3QsCDQv9GA0LjQu9C+0LbQtdC90LjQtSDQuCDQu9C10LPQutC+INC/0LXRgNC10L7Qv9GA0LXQtNC10LvRj9GO0YLRgdGPLgogKi8KCi8qIC0tLSByZXNldCAo0YHQuNC90YXRgNC+0L3QuNC30LjRgNC+0LLQsNC90L4g0YEgcHJlZmxpZ2h0LmNzcykgLS0tICovCmh0bWwsCmJvZHkgewogICAgaGVpZ2h0OiAxMDAlOwp9Cgpib2R5IHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nci1mb250LXVpKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWdyLWJnKTsKICAgIGNvbG9yOiB2YXIoLS1nci1mZyk7Cn0KCiogewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoKLyoKICogVW5vQ1NTIHRhaWx3aW5kLWNvbXBhdCByZXNldCBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGZvcmNlIGBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGAgZm9yIGJ1dHRvbnMKICogKHRvIGF2b2lkIGJyZWFraW5nIGNvbXBvbmVudCBsaWJyYXJpZXMpLiBJbiBvdXIgR1Igd2Ugd2FudCBwbGFpbiBidXR0b25zL2xpbmtzIHRvIGJlIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHQuCiAqLwo6d2hlcmUoYSwgYnV0dG9uKSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoKOndoZXJlKGlucHV0W3R5cGU9J2J1dHRvbiddLCBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgaW5wdXRbdHlwZT0ncmVzZXQnXSkgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCmNvZGUsCnByZSwKa2JkIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1nci1mb250LW1vbm8pOwp9Cg==", "" + import.meta.url).href,
84
+ tokensCssUrl: new URL("data:text/css;base64,OnJvb3QgewogIC8qIEZvdW5kYXRpb25zOiBuZXV0cmFsIHBhbGV0dGUgKi8KICAtLWdyLXNsYXRlLTA6ICNmZmZmZmY7CiAgLS1nci1zbGF0ZS01MDogI2Y4ZmFmYzsKICAtLWdyLXNsYXRlLTEwMDogI2YxZjVmOTsKICAtLWdyLXNsYXRlLTIwMDogI2UyZThmMDsKICAtLWdyLXNsYXRlLTMwMDogI2NiZDVlMTsKICAtLWdyLXNsYXRlLTQwMDogIzk0YTNiODsKICAtLWdyLXNsYXRlLTUwMDogIzY0NzQ4YjsKICAtLWdyLXNsYXRlLTYwMDogIzQ3NTU2OTsKICAtLWdyLXNsYXRlLTcwMDogIzMzNDE1NTsKICAtLWdyLXNsYXRlLTgwMDogIzFlMjkzYjsKICAtLWdyLXNsYXRlLTkwMDogIzBmMTcyYTsKCiAgLyogVHlwb2dyYXBoeTogZm9udCBmYW1pbGllcyAqLwogIC0tZ3ItZm9udC11aTogSW50ZXIsIFJvYm90bywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgLS1nci1mb250LW1vbm86ICdKZXRCcmFpbnMgTW9ubycsIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlOwoKICAvKiBUeXBvZ3JhcGh5OiBmb250IHNpemVzICovCiAgLS1nci10ZXh0LXhzOiAxMnB4OwogIC0tZ3ItdGV4dC1zbTogMTRweDsKICAtLWdyLXRleHQtYmFzZTogMTZweDsKICAtLWdyLXRleHQtbGc6IDE4cHg7CiAgLS1nci10ZXh0LXhsOiAyMHB4OwogIC0tZ3ItdGV4dC0yeGw6IDI0cHg7CiAgLS1nci10ZXh0LTN4bDogMzBweDsKICAtLWdyLXRleHQtNHhsOiAzNnB4OwoKICAvKiBUeXBvZ3JhcGh5OiBsaW5lIGhlaWdodHMgKi8KICAtLWdyLWxlYWRpbmctdGlnaHQ6IDEuMjU7CiAgLS1nci1sZWFkaW5nLW5vcm1hbDogMS41OwogIC0tZ3ItbGVhZGluZy1yZWxheGVkOiAxLjYyNTsKCiAgLyogVHlwb2dyYXBoeTogZm9udCB3ZWlnaHRzICovCiAgLS1nci1mb250LXJlZ3VsYXI6IDQwMDsKICAtLWdyLWZvbnQtbWVkaXVtOiA1MDA7CiAgLS1nci1mb250LXNlbWlib2xkOiA2MDA7CiAgLS1nci1mb250LWJvbGQ6IDcwMDsKCiAgLyogTGF5b3V0OiBzcGFjaW5nIHNjYWxlICovCiAgLS1nci1zcGFjZS0wOiAwcHg7CiAgLS1nci1zcGFjZS0xOiA0cHg7CiAgLS1nci1zcGFjZS0yOiA4cHg7CiAgLS1nci1zcGFjZS0zOiAxMnB4OwogIC0tZ3Itc3BhY2UtNDogMTZweDsKICAtLWdyLXNwYWNlLTU6IDIwcHg7CiAgLS1nci1zcGFjZS02OiAyNHB4OwogIC0tZ3Itc3BhY2UtODogMzJweDsKICAtLWdyLXNwYWNlLTEwOiA0MHB4OwogIC0tZ3Itc3BhY2UtMTI6IDQ4cHg7CiAgLS1nci1zcGFjZS0xNjogNjRweDsKICAtLWdyLXNwYWNlLTIwOiA4MHB4OwogIC0tZ3Itc3BhY2UtMjQ6IDk2cHg7CiAgLS1nci1zcGFjZS0zMjogMTI4cHg7CiAgLS1nci1zcGFjZS00MDogMTYwcHg7CiAgLS1nci1zcGFjZS00ODogMTkycHg7CiAgLS1nci1zcGFjZS02NDogMjU2cHg7CgogIC8qIExheW91dDogY29udGFpbmVycyAqLwogIC0tZ3ItY29udGFpbmVyLW1heDogMTI4MHB4OwogIC0tZ3ItY29udGFpbmVyLW1heC0yeGw6IDE0NDBweDsKICAtLWdyLWNvbnRhaW5lci1wYWRkaW5nLW1vYmlsZTogMTZweDsKICAtLWdyLWNvbnRhaW5lci1wYWRkaW5nLXRhYmxldDogMjRweDsKICAtLWdyLWNvbnRhaW5lci1wYWRkaW5nLWRlc2t0b3A6IDMycHg7CgogIC8qIExheW91dDogYnJlYWtwb2ludHMgKi8KICAtLWdyLWJwLXNtOiA2NDBweDsKICAtLWdyLWJwLW1kOiA3NjhweDsKICAtLWdyLWJwLWxnOiAxMDI0cHg7CiAgLS1nci1icC14bDogMTI4MHB4OwogIC0tZ3ItYnAtMnhsOiAxNTM2cHg7CgogIC8qIFNoYXBlczogcmFkaWkgYW5kIGNvbXBhdGliaWxpdHkgYWxpYXNlcyAqLwogIC0tcmFkaXVzOiAwLjVyZW07CiAgLS1nci1yYWRpdXMtbm9uZTogMHB4OwogIC0tZ3ItcmFkaXVzLXNtOiA0cHg7CiAgLS1nci1yYWRpdXMtbWQ6IDhweDsKICAtLWdyLXJhZGl1cy1sZzogMTJweDsKICAtLWdyLXJhZGl1cy14bDogMTZweDsKICAtLWdyLXJhZGl1cy1mdWxsOiA5OTk5cHg7CgogIC8qIEVsZXZhdGlvbiAqLwogIC0tZ3Itc2hhZG93LTA6IG5vbmU7CiAgLS1nci1zaGFkb3ctMTogMCAxcHggMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7CiAgLS1nci1zaGFkb3ctMjogMCA4cHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTQpOwogIC0tZ3Itc2hhZG93LTM6IDAgMTZweCA0OHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4yMCk7CgogIC8qIE1vdGlvbiAqLwogIC0tZ3ItZHVyYXRpb24tZmFzdDogMTUwbXM7CiAgLS1nci1kdXJhdGlvbi1iYXNlOiAyMDBtczsKICAtLWdyLWR1cmF0aW9uLXNsb3c6IDMwMG1zOwogIC0tZ3ItZWFzZS1vdXQ6IGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpOwogIC0tZ3ItZWFzZS1pbjogY3ViaWMtYmV6aWVyKDAuNywgMCwgMC44NCwgMCk7CgogIC8qCiAgICogWi1pbmRleCBsYXllcmluZyBzY2FsZS4KICAgKgogICAqINCV0LTQuNC90YvQuSDQuNGB0YLQvtGH0L3QuNC6INC40YHRgtC40L3RiyDQtNC70Y8g0YHQu9C+0ZHQsiDQstGB0LXRhSDQutC+0LzQv9C+0L3QtdC90YLQvtCyLCDQuNGB0L/QvtC70YzQt9GD0Y7RidC40YUgYHBvc2l0aW9uOiBmaXhlZGAKICAgKiDQv9C+0LLQtdGA0YUg0L7RgdGC0LDQu9GM0L3QvtCz0L4g0LrQvtC90YLQtdC90YLQsC4g0J/RgNCw0LLQuNC70L46INGH0LXQvCDQstGL0YjQtSDQsiBVSS3RgdGC0LXQutC1INGB0LvQvtC5INC+0LHRj9C30LDQvSDQvtC60LDQt9Cw0YLRjNGB0Y8sCiAgICog0YLQtdC8INCx0L7Qu9GM0YjQtSDQt9C90LDRh9C10L3QuNC1LiBGbG9hdGluZy3Qv9Cw0L3QtdC70LggKGRyb3Bkb3duL3NlbGVjdC90cmVlLXNlbGVjdC90b29sdGlwKSDRgdGC0L7Rj9GCCiAgICog0L3QuNC20LUg0LzQvtC00LDQu9C+0LosINGH0YLQvtCx0Ysg0L/QvtC/0L7QstC10YAsINC+0YLQutGA0YvRgtGL0Lkg0JLQndCj0KLQoNCYINC80L7QtNCw0LvQutC4LCDQvdC1INC/0L7RgtC10YDRj9C70YHRjyDQv9C+0LQg0L3QtdC5LCDQvdC+CiAgICog0YHQsNC8INGN0YLQvtGCINC/0L7Qv9C+0LLQtdGAINC90LUg0L7QsdGP0LfQsNC9INC/0LXRgNC10LrRgNGL0LLQsNGC0Ywg0LzQvtC00LDQu9C60YMg0YHQvdCw0YDRg9C20Lgg4oCUINC30LAg0L/RgNC10LTQtdC70Ysg0YHQstC+0LXQs9C+INC00LXRgNC10LLQsAogICAqIGZsb2F0aW5nLdC60L7QvNC/0L7QvdC10L3RgtGLINC90LUg0LLRi9GF0L7QtNGP0YIg0L/QviDQv9C+0YHRgtGA0L7QtdC90LjRjiAodi1jbGljay1vdXRzaWRlL3BvcnRhbCDRgNGP0LTQvtC8INGBINGC0YDQuNCz0LPQtdGA0L7QvCkuCiAgICog0KLQvtGB0YLRiyDigJQg0LXQtNC40L3RgdGC0LLQtdC90L3Ri9C5INGB0LvQvtC5LCDQutC+0YLQvtGA0YvQuSDQvtCx0Y/Qt9Cw0L0g0LHRi9GC0Ywg0LLQuNC00LXQvSDQv9C+0LLQtdGA0YUg0LDQsdGB0L7Qu9GO0YLQvdC+INCy0YHQtdCz0L4sCiAgICog0LLQutC70Y7Rh9Cw0Y8g0L7RgtC60YDRi9GC0YvQtSDQvNC+0LTQsNC70LrQuCAo0Y3RgtC+INGD0LLQtdC00L7QvNC70LXQvdC40LUg0YPRgNC+0LLQvdGPINC/0YDQuNC70L7QttC10L3QuNGPKS4KICAgKi8KICAtLWdyLXotZHJvcGRvd246IDEwMDA7CiAgLS1nci16LXRvb2x0aXA6IDEwNTA7CiAgLS1nci16LW1vZGFsOiAxMTAwOwogIC0tZ3Itei10b2FzdDogMTIwMDsKCiAgLyogRGVyaXZlZCBpbnRlcmFjdGlvbiBmb3JtdWxhczogYWN0aW9uIHJvbGVzICovCiAgLS1nci1wcmltYXJ5LWhvdmVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZ3ItcHJpbWFyeSkgOTIlLCB2YXIoLS1nci1mZykpOwogIC0tZ3ItcHJpbWFyeS1hY3RpdmU6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1wcmltYXJ5KSA4NCUsIHZhcigtLWdyLWZnKSk7CiAgLS1nci1zZWNvbmRhcnktaG92ZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1zZWNvbmRhcnkpIDkyJSwgdmFyKC0tZ3ItZmcpKTsKICAtLWdyLXNlY29uZGFyeS1hY3RpdmU6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1zZWNvbmRhcnkpIDg0JSwgdmFyKC0tZ3ItZmcpKTsKICAtLWdyLWJyZC1ob3ZlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWdyLWJyZCkgNzAlLCB2YXIoLS1nci1mZykpOwogIC0tZ3ItYnJkLWFjdGl2ZTogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWdyLWJyZCkgNTUlLCB2YXIoLS1nci1mZykpOwogIC0tZ3ItZGVzdHJ1Y3RpdmUtaG92ZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1kZXN0cnVjdGl2ZSkgOTIlLCB2YXIoLS1nci1mZykpOwogIC0tZ3ItZGVzdHJ1Y3RpdmUtYWN0aXZlOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZ3ItZGVzdHJ1Y3RpdmUpIDg0JSwgdmFyKC0tZ3ItZmcpKTsKCiAgLyogRGVyaXZlZCBpbnRlcmFjdGlvbiBmb3JtdWxhczogc3RhdHVzIHJvbGVzICovCiAgLS1nci1zdWNjZXNzLWhvdmVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZ3Itc3VjY2VzcykgOTIlLCB2YXIoLS1nci1mZykpOwogIC0tZ3Itc3VjY2Vzcy1hY3RpdmU6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1zdWNjZXNzKSA4NCUsIHZhcigtLWdyLWZnKSk7CiAgLS1nci13YXJuaW5nLWhvdmVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZ3Itd2FybmluZykgOTIlLCB2YXIoLS1nci1mZykpOwogIC0tZ3Itd2FybmluZy1hY3RpdmU6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci13YXJuaW5nKSA4NCUsIHZhcigtLWdyLWZnKSk7CiAgLS1nci1kYW5nZXItaG92ZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1kYW5nZXIpIDkyJSwgdmFyKC0tZ3ItZmcpKTsKICAtLWdyLWRhbmdlci1hY3RpdmU6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1kYW5nZXIpIDg0JSwgdmFyKC0tZ3ItZmcpKTsKICAtLWdyLWluZm8taG92ZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1pbmZvKSA5MiUsIHZhcigtLWdyLWZnKSk7CiAgLS1nci1pbmZvLWFjdGl2ZTogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWdyLWluZm8pIDg0JSwgdmFyKC0tZ3ItZmcpKTsKICAtLWdyLXNsYXRlLWhvdmVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZ3Itc2xhdGUpIDkyJSwgdmFyKC0tZ3ItZmcpKTsKICAtLWdyLXNsYXRlLWFjdGl2ZTogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWdyLXNsYXRlKSA4NCUsIHZhcigtLWdyLWZnKSk7CiAgLS1nci1henVyZS1ob3ZlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWdyLWF6dXJlKSA5MiUsIHZhcigtLWdyLWZnKSk7CiAgLS1nci1henVyZS1hY3RpdmU6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1nci1henVyZSkgODQlLCB2YXIoLS1nci1mZykpOwp9Cg==", "" + import.meta.url).href,
85
+ themes: {
86
+ light: new URL("data:text/css;base64,OnJvb3QgewogIC8qIFN1cmZhY2Ugcm9sZXMgKi8KICAtLWdyLWJnOiAjZjhmYWZjOwogIC0tZ3ItZmc6ICMwZjE3MmE7CiAgLS1nci1jYXJkOiAjZmZmZmZmOwogIC0tZ3ItY2FyZC1mZzogIzBmMTcyYTsKICAtLWdyLXBvcG92ZXI6ICNmZmZmZmY7CiAgLS1nci1wb3BvdmVyLWZnOiAjMGYxNzJhOwogIC0tZ3ItbXV0ZWQ6ICNmMWY1Zjk7CiAgLyoKICAgKiDQktGC0L7RgNC40YfQvdGL0Lkg0YLQtdC60YHRgiDQvtCx0Y/Qt9Cw0L0g0L/RgNC+0YXQvtC00LjRgtGMIEFBINC90LAg0KHQkNCc0J7QnCDQotCB0JzQndCe0Jwg0LjQtyDRhNC+0L3QvtCyLCDQvdCwINC60L7RgtC+0YDRi9GFCiAgICog0L7QvSDQv9C+0Y/QstC70Y/QtdGC0YHRjywg0LAg0Y3RgtC+INC90LUg0YHRgtGA0LDQvdC40YbQsCwg0LAgYC0tZ3Itc2Vjb25kYXJ5YCAoI2UyZThmMCkuINCf0YDQtdC20L3QuNC5CiAgICogIzY0NzQ4YiDQtNC10YDQttCw0LvRgdGPINGC0L7Qu9GM0LrQviDQvdCwIGAtLWdyLWJnYCAoNC41NSkg0LggYC0tZ3ItY2FyZGAgKDQuNzYpLCDQvdC+CiAgICog0L/RgNC+0LLQsNC70LjQstCw0LvRgdGPINC90LAgYC0tZ3ItbXV0ZWRgICg0LjM0KSDQuCBgLS1nci1zZWNvbmRhcnlgICgzLjg2KSDigJQg0YLQviDQtdGB0YLRjAogICAqINGA0L7QstC90L4g0YLQsNC8LCDQs9C00LUg0LLRgtC+0YDQuNGH0L3Ri9C5INGC0LXQutGB0YIg0Lgg0LbQuNCy0ZHRgjog0YfQuNC/0YssINGC0LDQsdC70LjRhtGLLCDQv9C+0LTQv9C40YHQuCDQsiDQv9Cw0L3QtdC70Y/RhS4KICAgKiAjNTU2Mjc1INC00LDRkdGCINC80LjQvdC40LzRg9C8IDUuMDIg0L/QviDQstGB0LXQvCDRh9C10YLRi9GA0ZHQvCDRhNC+0L3QsNC8LgogICAqLwogIC0tZ3ItbXV0ZWQtZmc6ICM1NTYyNzU7CiAgLS1nci1zZWNvbmRhcnk6ICNlMmU4ZjA7CiAgLS1nci1zZWNvbmRhcnktZmc6ICMxZTI5M2I7CiAgLS1nci1icmQ6ICNlMmU4ZjA7CiAgLS1nci1pbnB1dDogI2UyZThmMDsKICAtLWdyLXJpbmc6ICM2MzY2ZjE7CgogIC8qIEFjdGlvbiByb2xlcyAqLwogIC0tZ3ItcHJpbWFyeTogIzRmNDZlNTsKICAtLWdyLXByaW1hcnktZmc6ICNmZmZmZmY7CiAgLS1nci1hY2NlbnQ6ICNlZWYyZmY7CiAgLS1nci1hY2NlbnQtZmc6ICMzNzMwYTM7CiAgLS1nci1kZXN0cnVjdGl2ZTogI2RjMjYyNjsKICAtLWdyLWRlc3RydWN0aXZlLWZnOiAjZmZmZmZmOwoKICAvKiBTdGF0dXMgcm9sZXMgKi8KICAvKgogICAqIGAtZmdgIOKAlCDRhtCy0LXRgiDRgtC10LrRgdGC0LAg0J3QkCDRgdC/0LvQvtGI0L3QvtC5INC30LDQu9C40LLQutC1INGC0L7QvdC+0LwuINCjINGB0LLQtdGC0LvRi9GFINC30LDQu9C40LLQvtC6INC+0L0g0L7QsdGP0LfQsNC9CiAgICog0LHRi9GC0Ywg0YLRkdC80L3Ri9C8OiDQsdC10LvRi9C5INC90LAgYC0tZ3Itc3VjY2Vzc2Ag0LTQsNGR0YIgMi41NDoxLCDQvdCwIGAtLWdyLXdhcm5pbmdgIDIuODA6MQogICAqINC/0YDQuCDQv9C+0YDQvtCz0LUgQUEgNC41IOKAlCDQsCDRjdGC0L4gc29saWQt0LrQvdC+0L/QutC4INC4INCx0LXQudC00LbQuCAoYGdyQnV0dG9uU3R5bGVzLnRzYCwKICAgKiBgZ3JCYWRnZVN0eWxlcy50c2ApLiDQoSBgLS1nci1mZ2Ag0L/QvtC70YPRh9Cw0LXQvCA3LjA0INC4IDYuMzcsINC4IGhvdmVyL2FjdGl2ZSwKICAgKiDQutC+0YLQvtGA0YvQtSDRg9Cy0L7QtNGP0YIg0LfQsNC70LjQstC60YMg0LIg0YLRkdC80L3Rg9GOINGB0YLQvtGA0L7QvdGDLCDQvtGB0YLQsNGO0YLRgdGPINCy0YvRiNC1INC/0L7RgNC+0LPQsCAoNS4zMCAvIDQuNzkpLgogICAqINCSIGBkYXJrLmNzc2Ag0Y3RgtC4INGC0L7QutC10L3RiyDRg9C20LUg0YLRkdC80L3Ri9C1IOKAlCDRgtCw0Lwg0LfQsNC70LjQstC60Lgg0YHQstC10YLQu9C10LUg0YTQvtC90LAuCiAgICovCiAgLS1nci1zdWNjZXNzOiAjMTBiOTgxOwogIC0tZ3Itc3VjY2Vzcy1saWdodDogI2QxZmFlNTsKICAtLWdyLXN1Y2Nlc3MtZmc6ICMwZjE3MmE7CiAgLS1nci1zdWNjZXNzLXRleHQ6ICMwNjVmNDY7CiAgLS1nci13YXJuaW5nOiAjZjk3MzE2OwogIC0tZ3Itd2FybmluZy1saWdodDogI2ZmZWRkNTsKICAtLWdyLXdhcm5pbmctZmc6ICMwZjE3MmE7CiAgLS1nci13YXJuaW5nLXRleHQ6ICM3YzJkMTI7CiAgLS1nci1kYW5nZXI6ICNkYzI2MjY7CiAgLS1nci1kYW5nZXItbGlnaHQ6ICNmZWUyZTI7CiAgLS1nci1kYW5nZXItZmc6ICNmZmZmZmY7CiAgLS1nci1kYW5nZXItdGV4dDogIzk5MWIxYjsKICAtLWdyLWluZm86ICM1ODUwZWM7CiAgLS1nci1pbmZvLWxpZ2h0OiAjZTBlN2ZmOwogIC0tZ3ItaW5mby1mZzogI2ZmZmZmZjsKICAtLWdyLWluZm8tdGV4dDogIzM3MzBhMzsKICAtLWdyLXNsYXRlOiAjNDc1NTY5OwogIC0tZ3Itc2xhdGUtbGlnaHQ6ICNlMmU4ZjA7CiAgLS1nci1zbGF0ZS1mZzogI2ZmZmZmZjsKICAtLWdyLXNsYXRlLXRleHQ6ICMzMzQxNTU7CiAgLyoKICAgKiBBenVyZSDigJQg0LXQtNC40L3RgdGC0LLQtdC90L3Ri9C5INGC0L7QvSwg0LrQvtGC0L7RgNGL0Lkg0L3QtSDRh9C40L3QuNGC0YHRjyDRgdC80LXQvdC+0LkgYC1mZ2AuINCi0ZHQvNC90YvQuSDRgtC10LrRgdGCCiAgICog0L/RgNC+0YXQvtC00LjRgiDQvdCwINCx0LDQt9C1ICg2LjQ0KSwg0L3QviBob3Zlci9hY3RpdmUg0YPQstC+0LTRj9GCINC30LDQu9C40LLQutGDINCy0L3QuNC3INC4INC70L7QvNCw0Y7RgiDQtdCz0L4KICAgKiAoNC4zNiAvIDMuMDEpOyDQsdC10LvRi9C5INC20LUg0L3QtSDQv9GA0L7RhdC+0LTQuNGCINC90LAg0LHQsNC30LUgKDIuNzcpLiDQktGL0YXQvtC0INC+0LTQuNC9IOKAlCDRgdCw0LzQsAogICAqINC30LDQu9C40LLQutCwOiBza3ktNTAwIGAjMGVhNWU5YCDRgdC70LjRiNC60L7QvCDRgdCy0LXRgtC70LDRjyDQtNC70Y8g0LHQtdC70L7Qs9C+INGC0LXQutGB0YLQsC4gYCMwMDc3YjZgIOKAlAogICAqINGB0LDQvNC+0LUg0YHQstC10YLQu9C+0LUg0LfQvdCw0YfQtdC90LjQtSwg0LTQsNGO0YnQtdC1INC30LDQv9Cw0YEg0L/QviDQstGB0LXQvCDRgtGA0ZHQvCDRgdC+0YHRgtC+0Y/QvdC40Y/QvAogICAqICg0Ljg3IC8gNS40NCAvIDYuMDIpINC4INC30LDQvtC00L3QviDQv9C+0LTQvdC40LzQsNGO0YnQtdC1IGF6dXJlLdC40LrQvtC90LrRgyDQvdCwIGAtbGlnaHRgCiAgICog0L/QvtC00LvQvtC20LrQtSDRgSAyLjQyINC00L4gNC4yNC4g0J7RgtGC0LXQvdC+0Log0L7RgdGC0LDRkdGC0YHRjyDQvtGC0LvQuNGH0LjQvNGL0Lwg0L7RgiBgLS1nci1pbmZvYC4KICAgKi8KICAtLWdyLWF6dXJlOiAjMDA3N2I2OwogIC0tZ3ItYXp1cmUtbGlnaHQ6ICNlMGYyZmU7CiAgLS1nci1henVyZS1mZzogI2ZmZmZmZjsKICAtLWdyLWF6dXJlLXRleHQ6ICMwNzU5ODU7CgogIC8qIERhdGEgdmlzdWFsaXphdGlvbiByb2xlcyAqLwogIC0tZ3ItY2hhcnQtMTogIzRmNDZlNTsKICAtLWdyLWNoYXJ0LTI6ICMxMGI5ODE7CiAgLS1nci1jaGFydC0zOiAjZjk3MzE2OwogIC0tZ3ItY2hhcnQtNDogIzYzNjZmMTsKICAtLWdyLWNoYXJ0LTU6ICM4YjVjZjY7CgogIC8qIE5hdmlnYXRpb24gcm9sZXMgKi8KICAtLWdyLXNpZGViYXI6ICNmZmZmZmY7CiAgLS1nci1zaWRlYmFyLWZnOiAjMGYxNzJhOwogIC0tZ3Itc2lkZWJhci1wcmltYXJ5OiAjNGY0NmU1OwogIC0tZ3Itc2lkZWJhci1wcmltYXJ5LWZnOiAjZmZmZmZmOwogIC0tZ3Itc2lkZWJhci1hY2NlbnQ6ICNmMWY1Zjk7CiAgLS1nci1zaWRlYmFyLWFjY2VudC1mZzogIzFlMjkzYjsKICAtLWdyLXNpZGViYXItYnJkOiAjZTJlOGYwOwogIC0tZ3Itc2lkZWJhci1yaW5nOiAjNjM2NmYxOwp9CgpAc3VwcG9ydHMgbm90IChjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMwMDAgNTAlLCAjZmZmKSkgewogIDpyb290IHsKICAgIC8qIEFjdGlvbiByb2xlIGZhbGxiYWNrcyAqLwogICAgLS1nci1wcmltYXJ5LWhvdmVyOiAjNGE0MmQ2OwogICAgLS1nci1wcmltYXJ5LWFjdGl2ZTogIzQ1M2VjNzsKICAgIC0tZ3Itc2Vjb25kYXJ5LWhvdmVyOiAjZDFkN2UwOwogICAgLS1nci1zZWNvbmRhcnktYWN0aXZlOiAjYzBjN2QwOwogICAgLS1nci1icmQtaG92ZXI6ICNhM2E5YjU7CiAgICAtLWdyLWJyZC1hY3RpdmU6ICM4MzhhOTc7CiAgICAtLWdyLWRlc3RydWN0aXZlLWhvdmVyOiAjY2MyNTI2OwogICAgLS1nci1kZXN0cnVjdGl2ZS1hY3RpdmU6ICNiYjI0Mjc7CgogICAgLyogU3RhdHVzIHJvbGUgZmFsbGJhY2tzICovCiAgICAtLWdyLXN1Y2Nlc3MtaG92ZXI6ICMxMGFjN2E7CiAgICAtLWdyLXN1Y2Nlc3MtYWN0aXZlOiAjMTA5ZjczOwogICAgLS1nci13YXJuaW5nLWhvdmVyOiAjZTY2YzE4OwogICAgLS1nci13YXJuaW5nLWFjdGl2ZTogI2Q0NjQxOTsKICAgIC0tZ3ItZGFuZ2VyLWhvdmVyOiAjY2MyNTI2OwogICAgLS1nci1kYW5nZXItYWN0aXZlOiAjYmIyNDI3OwogICAgLS1nci1pbmZvLWhvdmVyOiAjNWM2MGUxOwogICAgLS1nci1pbmZvLWFjdGl2ZTogIzU2NTlkMTsKICAgIC0tZ3Itc2xhdGUtaG92ZXI6ICM0MzUwNjI7CiAgICAtLWdyLXNsYXRlLWFjdGl2ZTogIzNkNGE1YjsKICAgIC0tZ3ItYXp1cmUtaG92ZXI6ICMwMTZmYWI7CiAgICAtLWdyLWF6dXJlLWFjdGl2ZTogIzAyNjhhMDsKCiAgICAvKiBDb21wb25lbnQgc2VtYW50aWMgZmFsbGJhY2tzICovCiAgICAvKi0tZ3ItY2F0ZWdvcnktdHJlZS1icmFuY2gtbGluZS1hY3RpdmUtY29sb3I6ICNjNGNkZjc7Ki8KICB9Cn0K", "" + import.meta.url).href,
87
+ dark: new URL("data:text/css;base64,LyoKICog0KLRkdC80L3QsNGPINGC0LXQvNCwLiDQmtCw0L3QvtC9IOKAlCDQsNGC0YDQuNCx0YPRgiBgW2RhdGEtdGhlbWU9J2RhcmsnXWAg0L3QsCBgPGh0bWw+YCAo0LXQs9C+INGB0YLQsNCy0LjRggogKiBgdXNlVGhlbWVgL2Bpbml0VGhlbWVFYXJseWApLiDQodC10LvQtdC60YLQvtGA0YsgYC50aGVtZS1kYXJrYCDQuCBgLmRhcmtgIOKAlCBERVBSRUNBVEVELdCw0LvQuNCw0YHRiwogKiDQtNC70Y8g0L7QsdGA0LDRgtC90L7QuSDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuDsg0LIg0L3QvtCy0L7QvCDQutC+0LTQtSDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IGBbZGF0YS10aGVtZV1gLgogKi8KW2RhdGEtdGhlbWU9J2RhcmsnXSwKLnRoZW1lLWRhcmssCi5kYXJrIHsKICAvKiBTdXJmYWNlIHJvbGVzICovCiAgLS1nci1iZzogIzBmMTcyYTsKICAtLWdyLWZnOiAjZjhmYWZjOwogIC0tZ3ItY2FyZDogIzFlMjkzYjsKICAtLWdyLWNhcmQtZmc6ICNmOGZhZmM7CiAgLS1nci1wb3BvdmVyOiAjMWUyOTNiOwogIC0tZ3ItcG9wb3Zlci1mZzogI2Y4ZmFmYzsKICAtLWdyLW11dGVkOiAjMzM0MTU1OwogIC8qINCh0LjQvNC80LXRgtGA0LjRh9C90L4gbGlnaHQ6INC80LjQvdC40LzRg9C8INC/0L4g0YTQvtC90YMgYC0tZ3ItbXV0ZWRgL2AtLWdyLXNlY29uZGFyeWAgKCMzMzQxNTUpLgogICAgINCf0YDQtdC20L3QuNC5ICM5NGEzYjgg0LTQsNCy0LDQuyDRgtCw0LwgNC4wNCwgI2FhYjZjNyDQtNCw0ZHRgiA1LjA0LiAqLwogIC0tZ3ItbXV0ZWQtZmc6ICNhYWI2Yzc7CiAgLS1nci1zZWNvbmRhcnk6ICMzMzQxNTU7CiAgLS1nci1zZWNvbmRhcnktZmc6ICNmMWY1Zjk7CiAgLS1nci1icmQ6ICMzMzQxNTU7CiAgLS1nci1pbnB1dDogIzMzNDE1NTsKICAtLWdyLXJpbmc6ICM4MThjZjg7CgogIC8qIEFjdGlvbiByb2xlcyAqLwogIC8qCiAgICogUHJpbWFyeSDQsdGL0Lsg0LXQtNC40L3RgdGC0LLQtdC90L3Ri9C8INGC0L7QvdC+0LwsINCy0YvQv9Cw0LTQsNCy0YjQuNC8INC40Lcg0LrQvtC90LLQtdC90YbQuNC4INGC0ZHQvNC90L7QuSDRgtC10LzRiwogICAqICjRgdCy0LXRgtC70LDRjyDQt9Cw0LvQuNCy0LrQsCArINGC0ZHQvNC90YvQuSDRgtC10LrRgdGCLCDQutCw0Log0YMgc3VjY2Vzcy93YXJuaW5nL2Rhbmdlci9pbmZvL2F6dXJlKToKICAgKiDQvtGB0YLQsNCy0LDQu9GB0Y8g0YHQstC10YLQu9C+LdGC0ZHQvNC90YvQvCDQuNC90LTQuNCz0L4gIzYzNjZmMSDRgSDQsdC10LvRi9C8INGC0LXQutGB0YLQvtC8INC4INC/0YDQvtCy0LDQu9C40LLQsNC7INGB0YDQsNC30YMKICAgKiDQstGB0LUg0YLRgNC4INGA0L7Qu9C4IOKAlCDRgtC10LrRgdGCINC90LAg0YTQvtC90LUgNC4wMCwg0YLQtdC60YHRgiDQvdCwINC60LDRgNGC0L7Rh9C60LUgMy4yNywg0LHQtdC70YvQuSDQvdCwCiAgICog0LfQsNC70LjQstC60LUgNC40Ny4g0KHQstC10YLQu9GL0Lkg0LjQvdC00LjQs9C+INGBINGC0ZHQvNC90YvQvCBgLWZnYCDQtNCw0ZHRgiA2LjM4IC8gNS4yMyAvIDYuMzguCiAgICog0J3QtSBpbmRpZ28tNDAwICgjODE4Y2Y4KTog0Y3RgtC+INGA0L7QstC90L4gYC0tZ3ItaW5mb2Ag0YLRkdC80L3QvtC5INGC0LXQvNGLLCDQuCBzb2xpZC3QsdC10LnQtNC20LgKICAgKiBQcmltYXJ5INC4IEluZm8g0YHRgtCw0LvQuCDQsdGLINC90LXQvtGC0LvQuNGH0LjQvNGLLgogICAqINCa0L3QvtC/0L7QuiDQvdC1INC60LDRgdCw0LXRgtGB0Y86IEdyQnV0dG9uINC30LDQtNCw0ZHRgiDRgdCy0L7QuSBgLS1nci1idXR0b24tcHJpbWFyeS1iZ2AuCiAgICovCiAgLS1nci1wcmltYXJ5OiAjOWQ4YmZhOwogIC0tZ3ItcHJpbWFyeS1mZzogIzBmMTcyYTsKICAtLWdyLWFjY2VudDogIzFlMWI0YjsKICAtLWdyLWFjY2VudC1mZzogI2M3ZDJmZTsKICAtLWdyLWRlc3RydWN0aXZlOiAjZWY0NDQ0OwogIC0tZ3ItZGVzdHJ1Y3RpdmUtZmc6ICNmZmZmZmY7CgogIC8qIFN0YXR1cyByb2xlcyAqLwogIC0tZ3Itc3VjY2VzczogIzM0ZDM5OTsKICAtLWdyLXN1Y2Nlc3MtbGlnaHQ6ICMwNjRlM2I7CiAgLS1nci1zdWNjZXNzLWZnOiAjMGYxNzJhOwogIC0tZ3Itc3VjY2Vzcy10ZXh0OiAjNmVlN2I3OwogIC0tZ3Itd2FybmluZzogI2ZiOTIzYzsKICAtLWdyLXdhcm5pbmctbGlnaHQ6ICM3YzJkMTI7CiAgLS1nci13YXJuaW5nLWZnOiAjMGYxNzJhOwogIC0tZ3Itd2FybmluZy10ZXh0OiAjZmRiYTc0OwogIC0tZ3ItZGFuZ2VyOiAjZjg3MTcxOwogIC0tZ3ItZGFuZ2VyLWxpZ2h0OiAjN2YxZDFkOwogIC0tZ3ItZGFuZ2VyLWZnOiAjMGYxNzJhOwogIC0tZ3ItZGFuZ2VyLXRleHQ6ICNmY2E1YTU7CiAgLS1nci1pbmZvOiAjODE4Y2Y4OwogIC0tZ3ItaW5mby1saWdodDogIzMxMmU4MTsKICAtLWdyLWluZm8tZmc6ICMwZjE3MmE7CiAgLS1nci1pbmZvLXRleHQ6ICNjN2QyZmU7CiAgLS1nci1zbGF0ZTogIzk0YTNiODsKICAtLWdyLXNsYXRlLWxpZ2h0OiAjMzM0MTU1OwogIC0tZ3Itc2xhdGUtZmc6ICMwZjE3MmE7CiAgLS1nci1zbGF0ZS10ZXh0OiAjY2JkNWUxOwogIC0tZ3ItYXp1cmU6ICMzOGJkZjg7CiAgLS1nci1henVyZS1saWdodDogIzBjNGE2ZTsKICAtLWdyLWF6dXJlLWZnOiAjMGYxNzJhOwogIC0tZ3ItYXp1cmUtdGV4dDogI2JhZTZmZDsKCiAgLyogRGF0YSB2aXN1YWxpemF0aW9uIHJvbGVzICovCiAgLS1nci1jaGFydC0xOiAjNjM2NmYxOwogIC0tZ3ItY2hhcnQtMjogIzM0ZDM5OTsKICAtLWdyLWNoYXJ0LTM6ICNmYjkyM2M7CiAgLS1nci1jaGFydC00OiAjODE4Y2Y4OwogIC0tZ3ItY2hhcnQtNTogI2E3OGJmYTsKCiAgLyogTmF2aWdhdGlvbiByb2xlcyAqLwogIC0tZ3Itc2lkZWJhcjogIzFlMjkzYjsKICAtLWdyLXNpZGViYXItZmc6ICNmOGZhZmM7CiAgLS1nci1zaWRlYmFyLXByaW1hcnk6ICM2MzY2ZjE7CiAgLS1nci1zaWRlYmFyLXByaW1hcnktZmc6ICNmZmZmZmY7CiAgLS1nci1zaWRlYmFyLWFjY2VudDogIzMzNDE1NTsKICAtLWdyLXNpZGViYXItYWNjZW50LWZnOiAjZjFmNWY5OwogIC0tZ3Itc2lkZWJhci1icmQ6ICMzMzQxNTU7CiAgLS1nci1zaWRlYmFyLXJpbmc6ICM4MThjZjg7Cn0KCkBzdXBwb3J0cyBub3QgKGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCA1MCUsICNmZmYpKSB7CiAgLnRoZW1lLWRhcmssCiAgLmRhcmssCiAgW2RhdGEtdGhlbWU9J2RhcmsnXSB7CiAgICAvKiBBY3Rpb24gcm9sZSBmYWxsYmFja3MgKi8KICAgIC0tZ3ItcHJpbWFyeS1ob3ZlcjogI2E0OTRmYTsKICAgIC0tZ3ItcHJpbWFyeS1hY3RpdmU6ICNhYzlkZmE7CiAgICAtLWdyLXNlY29uZGFyeS1ob3ZlcjogIzQzNTA2MjsKICAgIC0tZ3Itc2Vjb25kYXJ5LWFjdGl2ZTogIzUzNWY3MDsKICAgIC0tZ3ItYnJkLWhvdmVyOiAjNmU3OTg3OwogICAgLS1nci1icmQtYWN0aXZlOiAjOGM5NGEwOwogICAgLS1nci1kZXN0cnVjdGl2ZS1ob3ZlcjogI2YwNTM1MzsKICAgIC0tZ3ItZGVzdHJ1Y3RpdmUtYWN0aXZlOiAjZjA2MTYxOwoKICAgIC8qIFN0YXR1cyByb2xlIGZhbGxiYWNrcyAqLwogICAgLS1nci1zdWNjZXNzLWhvdmVyOiAjNDRkNmExOwogICAgLS1nci1zdWNjZXNzLWFjdGl2ZTogIzUzZDlhOTsKICAgIC0tZ3Itd2FybmluZy1ob3ZlcjogI2ZiOWE0YjsKICAgIC0tZ3Itd2FybmluZy1hY3RpdmU6ICNmYmEzNWI7CiAgICAtLWdyLWRhbmdlci1ob3ZlcjogI2Y4N2M3YzsKICAgIC0tZ3ItZGFuZ2VyLWFjdGl2ZTogI2Y4ODc4NzsKICAgIC0tZ3ItaW5mby1ob3ZlcjogIzhiOTVmODsKICAgIC0tZ3ItaW5mby1hY3RpdmU6ICM5NDllZjk7CiAgICAtLWdyLXNsYXRlLWhvdmVyOiAjOWZhZWMwOwogICAgLS1nci1zbGF0ZS1hY3RpdmU6ICNhYWI3Yzg7CiAgICAtLWdyLWF6dXJlLWhvdmVyOiAjNGJjM2Y5OwogICAgLS1nci1henVyZS1hY3RpdmU6ICM1ZGNiZjk7CgogICAgLyogQ29tcG9uZW50IHNlbWFudGljIGZhbGxiYWNrcyAqLwogICAgLyotLWdyLWNhdGVnb3J5LXRyZWUtYnJhbmNoLWxpbmUtYWN0aXZlLWNvbG9yOiAjNTA1YjhjOyovCiAgfQp9Cg==", "" + import.meta.url).href
88
+ },
89
+ defaultThemes: granularityDefaultThemes
90
+ };
91
+ /**
92
+ * Полный реестр публичных компонентов пакета `@feugene/granularity`.
93
+ *
94
+ * Ключи — имена компонентов (совпадают с публичным subpath‑экспортом
95
+ * `@feugene/granularity/components/<Name>`). Значения — browser‑safe
96
+ * `ds<Name>Config` из `./config.ts` рядом с SFC.
97
+ *
98
+ * Для компонентов, у которых есть node-only вариант конфига
99
+ * (например, `GrButton` с `tokenDefinitionsFromCssSync`), browser‑конфиг
100
+ * остаётся здесь, а node‑вариант подставляется снаружи через
101
+ * `createGranularityProvider(overrides)` — см. `./index.ts` (browser)
102
+ * и `./node.ts` (node).
103
+ */
104
+ var granularityComponentConfigs = {
105
+ GrAlert: grAlertConfig,
106
+ GrAutocomplete: grAutocompleteConfig,
107
+ GrAvatar: grAvatarConfig,
108
+ GrBadge: grBadgeConfig,
109
+ GrBadgeWrap: grBadgeWrapConfig,
110
+ GrBottomNav: grBottomNavConfig,
111
+ GrButton: grButtonConfig,
112
+ GrButtonGroup: grButtonGroupConfig,
113
+ GrCard: grCardConfig,
114
+ GrCheckbox: grCheckboxConfig,
115
+ GrCollapse: grCollapseConfig,
116
+ GrCommandPalette: grCommandPaletteConfig,
117
+ GrConfigProvider: grConfigProviderConfig,
118
+ GrConfirmDialog: grConfirmDialogConfig,
119
+ GrDataTable: grDataTableConfig,
120
+ GrDialog: grDialogConfig,
121
+ GrDialogService: grDialogServiceConfig,
122
+ GrDivider: grDividerConfig,
123
+ GrDrawer: grDrawerConfig,
124
+ GrDropdown: grDropdownConfig,
125
+ GrDropdownMenu: grDropdownMenuConfig,
126
+ GrEmptyState: grEmptyStateConfig,
127
+ GrFileUpload: grFileUploadConfig,
128
+ GrForm: grFormConfig,
129
+ GrFormField: grFormFieldConfig,
130
+ GrFormFile: grFormFileConfig,
131
+ GrFormSection: grFormSectionConfig,
132
+ GrIcon: grIconConfig,
133
+ GrImageViewer: grImageViewerConfig,
134
+ GrInput: grInputConfig,
135
+ GrInputTag: grInputTagConfig,
136
+ GrKbd: grKbdConfig,
137
+ GrLink: grLinkConfig,
138
+ GrList: grListConfig,
139
+ GrLoading: grLoadingConfig,
140
+ GrModal: grModalConfig,
141
+ GrNavbar: grNavbarConfig,
142
+ GrNumberInput: grNumberInputConfig,
143
+ GrPagination: grPaginationConfig,
144
+ GrProgressBar: grProgressBarConfig,
145
+ GrPromptDialog: grPromptDialogConfig,
146
+ GrRadio: grRadioConfig,
147
+ GrRadioGroup: grRadioGroupConfig,
148
+ GrRating: grRatingConfig,
149
+ GrResponseErrorBanner: grResponseErrorBannerConfig,
150
+ GrSegmented: grSegmentedConfig,
151
+ GrSelect: grSelectConfig,
152
+ GrSidebar: grSidebarConfig,
153
+ GrSkeleton: grSkeletonConfig,
154
+ GrSlider: grSliderConfig,
155
+ GrStatistic: grStatisticConfig,
156
+ GrSwitch: grSwitchConfig,
157
+ GrTable: grTableConfig,
158
+ GrTabPanels: grTabPanelsConfig,
159
+ GrTabs: grTabsConfig,
160
+ GrTextarea: grTextareaConfig,
161
+ GrToaster: grToasterConfig,
162
+ GrTooltip: grTooltipConfig,
163
+ GrTree: grTreeConfig,
164
+ GrTreeSelect: grTreeSelectConfig
165
+ };
166
+ /** Базовый (browser-safe) набор компонентов в порядке реестра. */
167
+ var baseComponents = Object.values(granularityComponentConfigs);
168
+ /**
169
+ * Собирает granular-provider пакета `@feugene/granularity`.
170
+ *
171
+ * Принимает массив `GranularComponentDescriptor`'ов — это компоненты,
172
+ * у которых есть node-only вариант конфига (например, `GrButton` с
173
+ * `tokenDefinitionsFromCssSync`). Дескрипторы с именем, которое уже
174
+ * присутствует в базовом наборе, переопределяют его (побеждает
175
+ * переданный снаружи), остальные — добавляются в конец списка.
176
+ */
177
+ function createGranularityProvider(overrides = []) {
178
+ const overrideByName = new Map(overrides.map((component) => [component.name, component]));
179
+ return defineGranularProvider({
180
+ id: GRANULARITY_PROVIDER_ID,
181
+ contractVersion: 1,
182
+ packageBaseUrl,
183
+ components: [...baseComponents.map((component) => overrideByName.get(component.name) ?? component), ...overrides.filter((component) => !baseComponents.some((base) => base.name === component.name))],
184
+ theme
185
+ });
186
+ }
187
+ //#endregion
188
+ export { granularityThemeNames as a, granularityDefaultThemes as i, createGranularityProvider as n, granularityComponentConfigs as r, GRANULARITY_PROVIDER_ID as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-D-v9lit0.js","names":[],"sources":["../../src/components/GrDialog/config.ts","../../src/components/GrResponseErrorBanner/config.ts","../../src/granular-provider/shared.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grDialogSafelist } from './safelist'\n\nexport const grDialogConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDialog',\n dependencies: ['GrButton', 'GrModal'],\n safelist: grDialogSafelist,\n})\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grResponseErrorBannerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrResponseErrorBanner',\n dependencies: ['GrAlert', 'GrButton'],\n})\n","// Общий код browser- и node-entry granular-provider'а.\n//\n// Оба entry (`./index.ts`, `./node.ts`) отличаются только списком\n// компонентов, у которых есть node-only вариант конфига (например,\n// `GrButton`, чей `config.node.ts` использует `tokenDefinitionsFromCssSync`\n// и тянет `node:fs`). Browser-вариант таких компонентов берёт облегчённый\n// `./config.ts`, node-вариант — `./config.node.ts`. Всё остальное — `id`,\n// `theme.*`, `packageBaseUrl` и полный список browser-safe компонентов —\n// живёт здесь.\n//\n// ВАЖНО: все `new URL('../styles/...', import.meta.url)` намеренно находятся\n// здесь — `shared.ts` лежит в той же директории, что и `index.ts` / `node.ts`,\n// поэтому относительные пути идентичны. Это ОК для браузера: бандлеры\n// транслируют такие конструкции в статические asset-URL и `node:*` в бандл\n// не утаскивают.\n//\n// `apps/showcase/scripts/generate-component-api.mjs` берёт список компонентов из\n// `Object.keys(granularityComponentConfigs)` (импорт модуля через vite SSR),\n// поэтому спецформат строк реестра больше не является API — можно свободно рефакторить.\nimport {\n defineGranularProvider,\n type GranularComponentDescriptor,\n type GranularProvider,\n} from '@feugene/unocss-preset-granular/contract'\nimport { grAlertConfig } from '../components/GrAlert/config'\nimport { grAutocompleteConfig } from '../components/GrAutocomplete/config'\nimport { grAvatarConfig } from '../components/GrAvatar/config'\nimport { grBadgeConfig } from '../components/GrBadge/config'\nimport { grBadgeWrapConfig } from '../components/GrBadgeWrap/config'\nimport { grBottomNavConfig } from '../components/GrBottomNav/config'\nimport { grButtonConfig } from '../components/GrButton/config'\nimport { grButtonGroupConfig } from '../components/GrButtonGroup/config'\nimport { grCardConfig } from '../components/GrCard/config'\nimport { grCheckboxConfig } from '../components/GrCheckbox/config'\nimport { grCollapseConfig } from '../components/GrCollapse/config'\nimport { grCommandPaletteConfig } from '../components/GrCommandPalette/config'\nimport { grConfigProviderConfig } from '../components/GrConfigProvider/config'\nimport { grConfirmDialogConfig } from '../components/GrConfirmDialog/config'\nimport { grDataTableConfig } from '../components/GrDataTable/config'\nimport { grDialogConfig } from '../components/GrDialog/config'\nimport { grDialogServiceConfig } from '../components/GrDialogService/config'\nimport { grDividerConfig } from '../components/GrDivider/config'\nimport { grDrawerConfig } from '../components/GrDrawer/config'\nimport { grDropdownConfig } from '../components/GrDropdown/config'\nimport { grDropdownMenuConfig } from '../components/GrDropdownMenu/config'\nimport { grEmptyStateConfig } from '../components/GrEmptyState/config'\nimport { grFileUploadConfig } from '../components/GrFileUpload/config'\nimport { grFormConfig } from '../components/GrForm/config'\nimport { grFormFieldConfig } from '../components/GrFormField/config'\nimport { grFormFileConfig } from '../components/GrFormFile/config'\nimport { grFormSectionConfig } from '../components/GrFormSection/config'\nimport { grIconConfig } from '../components/GrIcon/config'\nimport { grImageViewerConfig } from '../components/GrImageViewer/config'\nimport { grInputConfig } from '../components/GrInput/config'\nimport { grInputTagConfig } from '../components/GrInputTag/config'\nimport { grKbdConfig } from '../components/GrKbd/config'\nimport { grLinkConfig } from '../components/GrLink/config'\nimport { grListConfig } from '../components/GrList/config'\nimport { grLoadingConfig } from '../components/GrLoading/config'\nimport { grModalConfig } from '../components/GrModal/config'\nimport { grNavbarConfig } from '../components/GrNavbar/config'\nimport { grNumberInputConfig } from '../components/GrNumberInput/config'\nimport { grPaginationConfig } from '../components/GrPagination/config'\nimport { grProgressBarConfig } from '../components/GrProgressBar/config'\nimport { grPromptDialogConfig } from '../components/GrPromptDialog/config'\nimport { grRadioConfig } from '../components/GrRadio/config'\nimport { grRadioGroupConfig } from '../components/GrRadioGroup/config'\nimport { grRatingConfig } from '../components/GrRating/config'\nimport { grResponseErrorBannerConfig } from '../components/GrResponseErrorBanner/config'\nimport { grSegmentedConfig } from '../components/GrSegmented/config'\nimport { grSelectConfig } from '../components/GrSelect/config'\nimport { grSidebarConfig } from '../components/GrSidebar/config'\nimport { grSkeletonConfig } from '../components/GrSkeleton/config'\nimport { grSliderConfig } from '../components/GrSlider/config'\nimport { grStatisticConfig } from '../components/GrStatistic/config'\nimport { grSwitchConfig } from '../components/GrSwitch/config'\nimport { grTableConfig } from '../components/GrTable/config'\nimport { grTabPanelsConfig } from '../components/GrTabPanels/config'\nimport { grTabsConfig } from '../components/GrTabs/config'\nimport { grTextareaConfig } from '../components/GrTextarea/config'\nimport { grToasterConfig } from '../components/GrToaster/config'\nimport { grTooltipConfig } from '../components/GrTooltip/config'\nimport { grTreeConfig } from '../components/GrTree/config'\nimport { grTreeSelectConfig } from '../components/GrTreeSelect/config'\n\n/** Идентификатор провайдера — совпадает с именем пакета. */\nexport const GRANULARITY_PROVIDER_ID = '@feugene/granularity'\n\n// runtime-concat: литерал `new URL('..', import.meta.url)` rolldown заменяет\n// на `data:`-URL, поэтому собираем корень пакета из `import.meta.url` вручную\n// (отрезая два последних сегмента: имя файла и каталог `granular-provider/`).\nconst packageBaseUrl = `${import.meta.url.slice(\n 0,\n import.meta.url.lastIndexOf('/', import.meta.url.lastIndexOf('/') - 1) + 1,\n)}`\n\n/** Встроенные темы пакета. Единственный источник правды о списке тем. */\nexport const granularityThemeNames = ['light', 'dark'] as const\nexport type GranularityThemeName = (typeof granularityThemeNames)[number]\n\n/** Темы, активные по умолчанию, если окружение не переопределяет выбор. */\nexport const granularityDefaultThemes: readonly GranularityThemeName[] = ['light']\n\nconst theme = {\n baseCssUrl: new URL('../styles/base.css', import.meta.url).href,\n tokensCssUrl: new URL('../styles/tokens.css', import.meta.url).href,\n themes: {\n light: new URL('../styles/themes/light.css', import.meta.url).href,\n dark: new URL('../styles/themes/dark.css', import.meta.url).href,\n },\n defaultThemes: granularityDefaultThemes,\n} as const\n\n/**\n * Полный реестр публичных компонентов пакета `@feugene/granularity`.\n *\n * Ключи — имена компонентов (совпадают с публичным subpath‑экспортом\n * `@feugene/granularity/components/<Name>`). Значения — browser‑safe\n * `ds<Name>Config` из `./config.ts` рядом с SFC.\n *\n * Для компонентов, у которых есть node-only вариант конфига\n * (например, `GrButton` с `tokenDefinitionsFromCssSync`), browser‑конфиг\n * остаётся здесь, а node‑вариант подставляется снаружи через\n * `createGranularityProvider(overrides)` — см. `./index.ts` (browser)\n * и `./node.ts` (node).\n */\nexport const granularityComponentConfigs = {\n GrAlert: grAlertConfig,\n GrAutocomplete: grAutocompleteConfig,\n GrAvatar: grAvatarConfig,\n GrBadge: grBadgeConfig,\n GrBadgeWrap: grBadgeWrapConfig,\n GrBottomNav: grBottomNavConfig,\n GrButton: grButtonConfig,\n GrButtonGroup: grButtonGroupConfig,\n GrCard: grCardConfig,\n GrCheckbox: grCheckboxConfig,\n GrCollapse: grCollapseConfig,\n GrCommandPalette: grCommandPaletteConfig,\n GrConfigProvider: grConfigProviderConfig,\n GrConfirmDialog: grConfirmDialogConfig,\n GrDataTable: grDataTableConfig,\n GrDialog: grDialogConfig,\n GrDialogService: grDialogServiceConfig,\n GrDivider: grDividerConfig,\n GrDrawer: grDrawerConfig,\n GrDropdown: grDropdownConfig,\n GrDropdownMenu: grDropdownMenuConfig,\n GrEmptyState: grEmptyStateConfig,\n GrFileUpload: grFileUploadConfig,\n GrForm: grFormConfig,\n GrFormField: grFormFieldConfig,\n GrFormFile: grFormFileConfig,\n GrFormSection: grFormSectionConfig,\n GrIcon: grIconConfig,\n GrImageViewer: grImageViewerConfig,\n GrInput: grInputConfig,\n GrInputTag: grInputTagConfig,\n GrKbd: grKbdConfig,\n GrLink: grLinkConfig,\n GrList: grListConfig,\n GrLoading: grLoadingConfig,\n GrModal: grModalConfig,\n GrNavbar: grNavbarConfig,\n GrNumberInput: grNumberInputConfig,\n GrPagination: grPaginationConfig,\n GrProgressBar: grProgressBarConfig,\n GrPromptDialog: grPromptDialogConfig,\n GrRadio: grRadioConfig,\n GrRadioGroup: grRadioGroupConfig,\n GrRating: grRatingConfig,\n GrResponseErrorBanner: grResponseErrorBannerConfig,\n GrSegmented: grSegmentedConfig,\n GrSelect: grSelectConfig,\n GrSidebar: grSidebarConfig,\n GrSkeleton: grSkeletonConfig,\n GrSlider: grSliderConfig,\n GrStatistic: grStatisticConfig,\n GrSwitch: grSwitchConfig,\n GrTable: grTableConfig,\n GrTabPanels: grTabPanelsConfig,\n GrTabs: grTabsConfig,\n GrTextarea: grTextareaConfig,\n GrToaster: grToasterConfig,\n GrTooltip: grTooltipConfig,\n GrTree: grTreeConfig,\n GrTreeSelect: grTreeSelectConfig,\n}\n\nexport type GranularityComponentName = keyof typeof granularityComponentConfigs\n\n/** Базовый (browser-safe) набор компонентов в порядке реестра. */\nconst baseComponents: readonly GranularComponentDescriptor[] = Object.values(\n granularityComponentConfigs,\n)\n\n/**\n * Собирает granular-provider пакета `@feugene/granularity`.\n *\n * Принимает массив `GranularComponentDescriptor`'ов — это компоненты,\n * у которых есть node-only вариант конфига (например, `GrButton` с\n * `tokenDefinitionsFromCssSync`). Дескрипторы с именем, которое уже\n * присутствует в базовом наборе, переопределяют его (побеждает\n * переданный снаружи), остальные — добавляются в конец списка.\n */\nexport function createGranularityProvider(\n overrides: readonly GranularComponentDescriptor[] = [],\n): GranularProvider {\n const overrideByName = new Map(\n overrides.map(component => [component.name, component]),\n )\n const components: GranularComponentDescriptor[] = [\n ...baseComponents.map(component => overrideByName.get(component.name) ?? component),\n ...overrides.filter(component => !baseComponents.some(base => base.name === component.name)),\n ]\n\n return defineGranularProvider({\n id: GRANULARITY_PROVIDER_ID,\n contractVersion: 1,\n packageBaseUrl,\n components,\n theme,\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,YAAY,SAAS;CACpC,UAAU;AACZ,CAAC;;;ACND,IAAa,8BAA8B,wBAAwB,OAAO,KAAK,KAAK;CAClF,MAAM;CACN,cAAc,CAAC,WAAW,UAAU;AACtC,CAAC;;;;ACiFD,IAAa,0BAA0B;AAKvC,IAAM,iBAAiB,GAAG,OAAO,KAAK,IAAI,MACxC,GACA,OAAO,KAAK,IAAI,YAAY,KAAK,OAAO,KAAK,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAC3E;;AAGA,IAAa,wBAAwB,CAAC,SAAS,MAAM;;AAIrD,IAAa,2BAA4D,CAAC,OAAO;AAEjF,IAAM,QAAQ;CACZ,YAAY,IAAA,IAAA,q5FAAA,KAAA,OAAA,KAAA,GAAA,CAA8C,CAAC;CAC3D,cAAc,IAAA,IAAA,y/NAAA,KAAA,OAAA,KAAA,GAAA,CAAgD,CAAC;CAC/D,QAAQ;EACN,OAAO,IAAA,IAAA,iqMAAA,KAAA,OAAA,KAAA,GAAA,CAAsD,CAAC;EAC9D,MAAM,IAAA,IAAA,qvKAAA,KAAA,OAAA,KAAA,GAAA,CAAqD,CAAC;CAC9D;CACA,eAAe;AACjB;;;;;;;;;;;;;;AAeA,IAAa,8BAA8B;CACzC,SAAS;CACT,gBAAgB;CAChB,UAAU;CACV,SAAS;CACT,aAAa;CACb,aAAa;CACb,UAAU;CACV,eAAe;CACf,QAAQ;CACR,YAAY;CACZ,YAAY;CACZ,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,aAAa;CACb,UAAU;CACV,iBAAiB;CACjB,WAAW;CACX,UAAU;CACV,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,cAAc;CACd,QAAQ;CACR,aAAa;CACb,YAAY;CACZ,eAAe;CACf,QAAQ;CACR,eAAe;CACf,SAAS;CACT,YAAY;CACZ,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,WAAW;CACX,SAAS;CACT,UAAU;CACV,eAAe;CACf,cAAc;CACd,eAAe;CACf,gBAAgB;CAChB,SAAS;CACT,cAAc;CACd,UAAU;CACV,uBAAuB;CACvB,aAAa;CACb,UAAU;CACV,WAAW;CACX,YAAY;CACZ,UAAU;CACV,aAAa;CACb,UAAU;CACV,SAAS;CACT,aAAa;CACb,QAAQ;CACR,YAAY;CACZ,WAAW;CACX,WAAW;CACX,QAAQ;CACR,cAAc;AAChB;;AAKA,IAAM,iBAAyD,OAAO,OACpE,2BACF;;;;;;;;;;AAWA,SAAgB,0BACd,YAAoD,CAAC,GACnC;CAClB,MAAM,iBAAiB,IAAI,IACzB,UAAU,KAAI,cAAa,CAAC,UAAU,MAAM,SAAS,CAAC,CACxD;CAMA,OAAO,uBAAuB;EAC5B,IAAI;EACJ,iBAAiB;EACjB;EACA,aARA,GAAG,eAAe,KAAI,cAAa,eAAe,IAAI,UAAU,IAAI,KAAK,SAAS,GAClF,GAAG,UAAU,QAAO,cAAa,CAAC,eAAe,MAAK,SAAQ,KAAK,SAAS,UAAU,IAAI,CAAC,CAO3F;EACA;CACF,CAAC;AACH"}