@feugene/granularity 0.4.1 → 0.4.3

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 (259) hide show
  1. package/dist/chunks/{adapter-C7fKeUa4.js → adapter-K6zZTzBi.js} +0 -2
  2. package/dist/chunks/{adapter-C7fKeUa4.js.map → adapter-K6zZTzBi.js.map} +1 -1
  3. package/dist/chunks/arrow-up-DNXrMoAI.js +0 -2
  4. package/dist/chunks/classTokens-BPeBXNzu.js +0 -2
  5. package/dist/chunks/{config-BUGfFjmC.js → config-1I95Zy4V.js} +0 -2
  6. package/dist/chunks/{config-BUGfFjmC.js.map → config-1I95Zy4V.js.map} +1 -1
  7. package/dist/chunks/config-2wgwWaAB.js +0 -2
  8. package/dist/chunks/{config-DBYCntwl.js → config-BA0BWYzs.js} +0 -2
  9. package/dist/chunks/{config-DBYCntwl.js.map → config-BA0BWYzs.js.map} +1 -1
  10. package/dist/chunks/{config-dD6Po-Cq.js → config-BCPyma1I.js} +0 -2
  11. package/dist/chunks/{config-dD6Po-Cq.js.map → config-BCPyma1I.js.map} +1 -1
  12. package/dist/chunks/{config-CYPU3ztl.js → config-BDlh6iNz.js} +1 -3
  13. package/dist/chunks/{config-CYPU3ztl.js.map → config-BDlh6iNz.js.map} +1 -1
  14. package/dist/chunks/config-BKRmlivc.js +0 -2
  15. package/dist/chunks/{config-CcmeMlic.js → config-BN-B2K4r.js} +1 -3
  16. package/dist/chunks/{config-CcmeMlic.js.map → config-BN-B2K4r.js.map} +1 -1
  17. package/dist/chunks/{config-C0b_3LJV.js → config-BNOf_qjD.js} +0 -2
  18. package/dist/chunks/{config-C0b_3LJV.js.map → config-BNOf_qjD.js.map} +1 -1
  19. package/dist/chunks/config-BaMO9dQh.js +0 -2
  20. package/dist/chunks/config-Bv2G0OU6.js +0 -2
  21. package/dist/chunks/{config-CxCAfXZ1.js → config-BvuQUBtZ.js} +0 -2
  22. package/dist/chunks/{config-CxCAfXZ1.js.map → config-BvuQUBtZ.js.map} +1 -1
  23. package/dist/chunks/config-BzZGpWsj.js +0 -2
  24. package/dist/chunks/{config-KGTIAFD92.js → config-C0j836dC.js} +0 -2
  25. package/dist/chunks/config-C0j836dC.js.map +1 -0
  26. package/dist/chunks/{config-D7iuXJbl.js → config-C2iI7_QX.js} +0 -2
  27. package/dist/chunks/{config-D7iuXJbl.js.map → config-C2iI7_QX.js.map} +1 -1
  28. package/dist/chunks/{config-BcFOkUhh.js → config-C4AlNm912.js} +1 -3
  29. package/dist/chunks/config-C4AlNm912.js.map +1 -0
  30. package/dist/chunks/{config-rFwazRKi.js → config-C5SJXHQ4.js} +0 -2
  31. package/dist/chunks/{config-rFwazRKi.js.map → config-C5SJXHQ4.js.map} +1 -1
  32. package/dist/chunks/config-C6SBJxcH.js +0 -2
  33. package/dist/chunks/{config-BzQ4S4Hb.js → config-CByfsV-z2.js} +0 -2
  34. package/dist/chunks/config-CByfsV-z2.js.map +1 -0
  35. package/dist/chunks/{config-rxFL-6yF2.js → config-CM7nbATU2.js} +0 -2
  36. package/dist/chunks/{config-rxFL-6yF2.js.map → config-CM7nbATU2.js.map} +1 -1
  37. package/dist/chunks/config-CMZE2fu0.js +0 -2
  38. package/dist/chunks/config-CU_CBd0k.js +0 -2
  39. package/dist/chunks/{config-BhvNm4Pp.js → config-CUgvsjZx.js} +0 -2
  40. package/dist/chunks/{config-BhvNm4Pp.js.map → config-CUgvsjZx.js.map} +1 -1
  41. package/dist/chunks/{config-DxqMXzNV2.js → config-CWvHiaqr2.js} +0 -2
  42. package/dist/chunks/{config-DxqMXzNV2.js.map → config-CWvHiaqr2.js.map} +1 -1
  43. package/dist/chunks/{config-CdAx6ify2.js → config-CgAY2WP9.js} +0 -2
  44. package/dist/chunks/config-CgAY2WP9.js.map +1 -0
  45. package/dist/chunks/{config-D1gSaT52.js → config-Cgc-D1K4.js} +0 -2
  46. package/dist/chunks/{config-D1gSaT52.js.map → config-Cgc-D1K4.js.map} +1 -1
  47. package/dist/chunks/{config-cn6knwud.js → config-D19pyP4D.js} +0 -2
  48. package/dist/chunks/{config-cn6knwud.js.map → config-D19pyP4D.js.map} +1 -1
  49. package/dist/chunks/{config-ug8O8epd.js → config-DCQO6H6h.js} +0 -2
  50. package/dist/chunks/{config-ug8O8epd.js.map → config-DCQO6H6h.js.map} +1 -1
  51. package/dist/chunks/{config-BXffa3ta.js → config-DEv4m-ZP.js} +0 -2
  52. package/dist/chunks/{config-BXffa3ta.js.map → config-DEv4m-ZP.js.map} +1 -1
  53. package/dist/chunks/config-DFRYOcrP.js +0 -2
  54. package/dist/chunks/{config-DlLE49_I.js → config-DTpwUHgF.js} +0 -2
  55. package/dist/chunks/{config-DlLE49_I.js.map → config-DTpwUHgF.js.map} +1 -1
  56. package/dist/chunks/{config-C2JKq8-2.js → config-DUtUkSzc.js} +1 -2
  57. package/dist/chunks/config-DUtUkSzc.js.map +1 -0
  58. package/dist/chunks/config-DW_RqmUp.js +0 -2
  59. package/dist/chunks/{config-CJeyaUTp.js → config-Da90XGsi.js} +0 -2
  60. package/dist/chunks/{config-CJeyaUTp.js.map → config-Da90XGsi.js.map} +1 -1
  61. package/dist/chunks/{config-CJbjLC5X.js → config-DgRJlF00.js} +0 -2
  62. package/dist/chunks/{config-CJbjLC5X.js.map → config-DgRJlF00.js.map} +1 -1
  63. package/dist/chunks/config-Dkq0HeLe.js +0 -2
  64. package/dist/chunks/{config-DwB5-qdP2.js → config-DmI1IQvI2.js} +0 -2
  65. package/dist/chunks/{config-DwB5-qdP2.js.map → config-DmI1IQvI2.js.map} +1 -1
  66. package/dist/chunks/{config-BRU5PR8_.js → config-Dnu4VuO0.js} +0 -2
  67. package/dist/chunks/{config-BRU5PR8_.js.map → config-Dnu4VuO0.js.map} +1 -1
  68. package/dist/chunks/config-DxqpV-KM.js +0 -2
  69. package/dist/chunks/config-TyzU6gLf.js +0 -2
  70. package/dist/chunks/{config-Bv5Dok4j.js → config-XwI6t8cn.js} +0 -2
  71. package/dist/chunks/{config-Bv5Dok4j.js.map → config-XwI6t8cn.js.map} +1 -1
  72. package/dist/chunks/{config-DvTUDLT1.js → config-bpQYM5O-.js} +0 -2
  73. package/dist/chunks/{config-DvTUDLT1.js.map → config-bpQYM5O-.js.map} +1 -1
  74. package/dist/chunks/{config-BbtK511H.js → config-etXh7Bsr2.js} +0 -2
  75. package/dist/chunks/config-etXh7Bsr2.js.map +1 -0
  76. package/dist/chunks/{config-BhubOeci.js → config-fCcRwjIB.js} +0 -2
  77. package/dist/chunks/{config-BhubOeci.js.map → config-fCcRwjIB.js.map} +1 -1
  78. package/dist/chunks/{config-D7tRu8u3.js → config-nfOMJXVs.js} +0 -2
  79. package/dist/chunks/{config-D7tRu8u3.js.map → config-nfOMJXVs.js.map} +1 -1
  80. package/dist/chunks/{config-BcpRsZTe.js → config-qJXIIY1E.js} +0 -2
  81. package/dist/chunks/{config-BcpRsZTe.js.map → config-qJXIIY1E.js.map} +1 -1
  82. package/dist/chunks/{config-Dzz9P-GV2.js → config-r6hzn2Bn2.js} +0 -2
  83. package/dist/chunks/{config-Dzz9P-GV2.js.map → config-r6hzn2Bn2.js.map} +1 -1
  84. package/dist/chunks/config-rQlbnEKn.js +0 -2
  85. package/dist/chunks/dialogShared-BtXUk6Zc.js +0 -2
  86. package/dist/chunks/{en-BMjJZttK.js → en-BeJa78lP.js} +0 -2
  87. package/dist/chunks/{en-BMjJZttK.js.map → en-BeJa78lP.js.map} +1 -1
  88. package/dist/chunks/{es-Cu_RlgIr.js → es-BPqm7rLm.js} +3 -5
  89. package/dist/chunks/{es-Cu_RlgIr.js.map → es-BPqm7rLm.js.map} +1 -1
  90. package/dist/chunks/{es-EYCf8G_1.js → es-axYOwwWD.js} +0 -2
  91. package/dist/chunks/{es-EYCf8G_1.js.map → es-axYOwwWD.js.map} +1 -1
  92. package/dist/chunks/{fileValidation-CgjTGoUx.js → fileValidation-CwJA8Vmn.js} +0 -2
  93. package/dist/chunks/{fileValidation-CgjTGoUx.js.map → fileValidation-CwJA8Vmn.js.map} +1 -1
  94. package/dist/chunks/grBadgeStyles-pqqbVgLk.js +0 -2
  95. package/dist/chunks/grButtonStyles-BxZW2x0-.js +0 -2
  96. package/dist/chunks/{grDropdownStyles-DQfLh-bp.js → grDropdownStyles-DMp7RrI9.js} +0 -2
  97. package/dist/chunks/{grDropdownStyles-DQfLh-bp.js.map → grDropdownStyles-DMp7RrI9.js.map} +1 -1
  98. package/dist/chunks/{grLoadingStyles-CERsxyk9.js → grLoadingStyles-CrxZHFL0.js} +0 -2
  99. package/dist/chunks/{grLoadingStyles-CERsxyk9.js.map → grLoadingStyles-CrxZHFL0.js.map} +1 -1
  100. package/dist/chunks/grModalStyles-Dv2NXBKi.js +0 -2
  101. package/dist/chunks/{grSelectStyles-C1zNEkV7.js → grSelectStyles-B7doeAQp.js} +0 -2
  102. package/dist/chunks/{grSelectStyles-C1zNEkV7.js.map → grSelectStyles-B7doeAQp.js.map} +1 -1
  103. package/dist/chunks/{granularityI18n-BEWP9aJs.js → granularityI18n-GCqUz_lo.js} +1 -3
  104. package/dist/chunks/{granularityI18n-BEWP9aJs.js.map → granularityI18n-GCqUz_lo.js.map} +1 -1
  105. package/dist/chunks/info-C0bHmdZq.js +0 -2
  106. package/dist/chunks/loader-circle-B2rWDk5u.js +0 -2
  107. package/dist/chunks/{ru-DKswMSdd.js → ru-Dqh-2C00.js} +0 -2
  108. package/dist/chunks/{ru-DKswMSdd.js.map → ru-Dqh-2C00.js.map} +1 -1
  109. package/dist/chunks/safelist-BF822K15.js +0 -2
  110. package/dist/chunks/safelist-BY7z8fOl.js +0 -2
  111. package/dist/chunks/{shared-Bvjkhhm2.js → shared-buYOkZSv.js} +33 -35
  112. package/dist/chunks/{shared-Bvjkhhm2.js.map → shared-buYOkZSv.js.map} +1 -1
  113. package/dist/chunks/transition-mJ3PZCHH.js +0 -2
  114. package/dist/chunks/x-Pa6C2hwi.js +0 -2
  115. package/dist/chunks/x-circle-DQSlBLmX.js +0 -2
  116. package/dist/components/GrAlert/chunks/GrAlert-BjerGcU8.js +0 -2
  117. package/dist/components/GrAvatar/chunks/GrAvatar-BjnPKNAL.js +0 -2
  118. package/dist/components/GrBadge/chunks/GrBadge-wuIb4_2K.js +0 -2
  119. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CxtamOZ-.js +0 -2
  120. package/dist/components/GrBottomNav/chunks/GrBottomNav-CsmQ7mTJ.js +0 -2
  121. package/dist/components/GrButton/chunks/GrButton-BmGdp8-4.js +0 -2
  122. package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CBj4tpms.js +0 -2
  123. package/dist/components/GrCard/chunks/GrCard-xtDcXBr7.js +0 -2
  124. package/dist/components/GrCheckbox/chunks/GrCheckbox-Bt3d7ckE.js +0 -2
  125. package/dist/components/GrCollapse/chunks/GrCollapse-HU20VTVn.js +0 -2
  126. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DjGOX9Hd.js +0 -2
  127. package/dist/components/GrDataTable/chunks/GrDataTable-QDOJWmdY.js +0 -2
  128. package/dist/components/GrDialog/chunks/GrDialog-gObmaVEl.js +0 -2
  129. package/dist/components/GrDrawer/chunks/GrDrawer-BJL_gTxI.js +0 -2
  130. package/dist/components/GrDropdown/chunks/{GrDropdown-DVTU32T_.js → GrDropdown-BkACCXdp.js} +2 -4
  131. package/dist/components/GrDropdown/chunks/{GrDropdown-DVTU32T_.js.map → GrDropdown-BkACCXdp.js.map} +1 -1
  132. package/dist/components/GrDropdown/index.js +2 -2
  133. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-fePQRcgh.js → GrDropdownMenu-BEenXrJw.js} +1 -3
  134. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-fePQRcgh.js.map → GrDropdownMenu-BEenXrJw.js.map} +1 -1
  135. package/dist/components/GrDropdownMenu/index.js +2 -2
  136. package/dist/components/GrEmptyState/chunks/{GrEmptyState-Bs8d3tgb.js → GrEmptyState-BLbMJFW-.js} +0 -2
  137. package/dist/components/GrEmptyState/chunks/{GrEmptyState-Bs8d3tgb.js.map → GrEmptyState-BLbMJFW-.js.map} +1 -1
  138. package/dist/components/GrEmptyState/index.js +2 -2
  139. package/dist/components/GrFileUpload/chunks/{GrFileUpload-DVv8yXpl.js → GrFileUpload-u01j9S0t.js} +1 -3
  140. package/dist/components/GrFileUpload/chunks/{GrFileUpload-DVv8yXpl.js.map → GrFileUpload-u01j9S0t.js.map} +1 -1
  141. package/dist/components/GrFileUpload/index.js +3 -3
  142. package/dist/components/GrFormField/chunks/{GrFormField-BzezYcS8.js → GrFormField-C6PfAs4u.js} +0 -2
  143. package/dist/components/GrFormField/chunks/{GrFormField-BzezYcS8.js.map → GrFormField-C6PfAs4u.js.map} +1 -1
  144. package/dist/components/GrFormField/index.js +2 -2
  145. package/dist/components/GrFormFile/chunks/{GrFormFile-DtZOypJW.js → GrFormFile-DdM8Bc2B.js} +2 -4
  146. package/dist/components/GrFormFile/chunks/{GrFormFile-DtZOypJW.js.map → GrFormFile-DdM8Bc2B.js.map} +1 -1
  147. package/dist/components/GrFormFile/index.js +2 -2
  148. package/dist/components/GrFormSection/chunks/{GrFormSection-BIPB1RIk.js → GrFormSection-5djEaQZQ.js} +0 -2
  149. package/dist/components/GrFormSection/chunks/{GrFormSection-BIPB1RIk.js.map → GrFormSection-5djEaQZQ.js.map} +1 -1
  150. package/dist/components/GrFormSection/index.js +2 -2
  151. package/dist/components/GrIcon/chunks/GrIcon-BV7RBU_0.js +0 -2
  152. package/dist/components/GrImageViewer/chunks/{GrImageViewer-fn8ilJTA.js → GrImageViewer-CjSnohW7.js} +0 -2
  153. package/dist/components/GrImageViewer/chunks/{GrImageViewer-fn8ilJTA.js.map → GrImageViewer-CjSnohW7.js.map} +1 -1
  154. package/dist/components/GrImageViewer/index.js +2 -2
  155. package/dist/components/GrInput/chunks/{GrInput-DLLRrH1A.js → GrInput-ghxaTf6d.js} +0 -2
  156. package/dist/components/GrInput/chunks/{GrInput-DLLRrH1A.js.map → GrInput-ghxaTf6d.js.map} +1 -1
  157. package/dist/components/GrInput/index.js +2 -2
  158. package/dist/components/GrInputTag/chunks/{GrInputTag-CzrrBxgU.js → GrInputTag-B0x4U0Yk.js} +1 -3
  159. package/dist/components/GrInputTag/chunks/{GrInputTag-CzrrBxgU.js.map → GrInputTag-B0x4U0Yk.js.map} +1 -1
  160. package/dist/components/GrInputTag/index.js +2 -2
  161. package/dist/components/GrLink/chunks/{GrLink-Dhkid3Mp.js → GrLink-BbN7R3iP.js} +1 -3
  162. package/dist/components/GrLink/chunks/{GrLink-Dhkid3Mp.js.map → GrLink-BbN7R3iP.js.map} +1 -1
  163. package/dist/components/GrLink/index.js +2 -2
  164. package/dist/components/GrList/chunks/{GrList-CjgeVjhY.js → GrList--Ib4zLNw.js} +0 -2
  165. package/dist/components/GrList/chunks/{GrList-CjgeVjhY.js.map → GrList--Ib4zLNw.js.map} +1 -1
  166. package/dist/components/GrList/index.js +2 -2
  167. package/dist/components/GrLoading/chunks/{GrLoading-DihGX3ol.js → GrLoading-C3QZKwE-.js} +1 -3
  168. package/dist/components/GrLoading/chunks/{GrLoading-DihGX3ol.js.map → GrLoading-C3QZKwE-.js.map} +1 -1
  169. package/dist/components/GrLoading/index.js +2 -2
  170. package/dist/components/GrModal/chunks/GrModal-gvfvlp7k.js +0 -2
  171. package/dist/components/GrModal/index.js +1 -1
  172. package/dist/components/GrNavbar/chunks/{GrNavbar-CQOAfO6y.js → GrNavbar-nIyuiVj1.js} +1 -3
  173. package/dist/components/GrNavbar/chunks/{GrNavbar-CQOAfO6y.js.map → GrNavbar-nIyuiVj1.js.map} +1 -1
  174. package/dist/components/GrNavbar/index.js +2 -2
  175. package/dist/components/GrNumberInput/chunks/{GrNumberInput-CyHgUotG.js → GrNumberInput-B0mPLjdv.js} +1 -3
  176. package/dist/components/GrNumberInput/chunks/{GrNumberInput-CyHgUotG.js.map → GrNumberInput-B0mPLjdv.js.map} +1 -1
  177. package/dist/components/GrNumberInput/index.js +2 -2
  178. package/dist/components/GrPagination/chunks/{GrPagination-C5cxRJsF.js → GrPagination-BSTO6flk.js} +2 -4
  179. package/dist/components/GrPagination/chunks/{GrPagination-C5cxRJsF.js.map → GrPagination-BSTO6flk.js.map} +1 -1
  180. package/dist/components/GrPagination/index.js +2 -2
  181. package/dist/components/GrProgressBar/chunks/{GrProgressBar-C9wAAFxR.js → GrProgressBar-MvMnzsJl.js} +1 -3
  182. package/dist/components/GrProgressBar/chunks/{GrProgressBar-C9wAAFxR.js.map → GrProgressBar-MvMnzsJl.js.map} +1 -1
  183. package/dist/components/GrProgressBar/index.js +2 -2
  184. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Cfq9bvL3.js → GrPromptDialog-DKhbN6ji.js} +2 -4
  185. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Cfq9bvL3.js.map → GrPromptDialog-DKhbN6ji.js.map} +1 -1
  186. package/dist/components/GrPromptDialog/index.js +2 -2
  187. package/dist/components/GrRadio/chunks/{GrRadio-B_t_ZNVl.js → GrRadio-BxBs3WHq.js} +1 -3
  188. package/dist/components/GrRadio/chunks/{GrRadio-B_t_ZNVl.js.map → GrRadio-BxBs3WHq.js.map} +1 -1
  189. package/dist/components/GrRadio/index.js +2 -2
  190. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-CVlgpUBr.js → GrRadioGroup-CEAfJQ6A.js} +1 -3
  191. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-CVlgpUBr.js.map → GrRadioGroup-CEAfJQ6A.js.map} +1 -1
  192. package/dist/components/GrRadioGroup/index.js +2 -2
  193. package/dist/components/GrSegmented/chunks/{GrSegmented-BPl1koHc.js → GrSegmented-Bwn2qOY4.js} +1 -3
  194. package/dist/components/GrSegmented/chunks/{GrSegmented-BPl1koHc.js.map → GrSegmented-Bwn2qOY4.js.map} +1 -1
  195. package/dist/components/GrSegmented/index.js +2 -2
  196. package/dist/components/GrSelect/chunks/{GrSelect-aVqUL-1F.js → GrSelect-9wRWAu2R.js} +3 -5
  197. package/dist/components/GrSelect/chunks/{GrSelect-aVqUL-1F.js.map → GrSelect-9wRWAu2R.js.map} +1 -1
  198. package/dist/components/GrSelect/index.js +2 -2
  199. package/dist/components/GrSidebar/chunks/{GrSidebar-DVucgcfV.js → GrSidebar-CSZ3RpFB.js} +0 -2
  200. package/dist/components/GrSidebar/chunks/{GrSidebar-DVucgcfV.js.map → GrSidebar-CSZ3RpFB.js.map} +1 -1
  201. package/dist/components/GrSidebar/index.js +2 -2
  202. package/dist/components/GrSkeleton/chunks/{GrSkeleton-CDTvCSoH.js → GrSkeleton-DKXkqWDa.js} +0 -2
  203. package/dist/components/GrSkeleton/chunks/{GrSkeleton-CDTvCSoH.js.map → GrSkeleton-DKXkqWDa.js.map} +1 -1
  204. package/dist/components/GrSkeleton/index.js +2 -2
  205. package/dist/components/GrSwitch/chunks/{GrSwitch-Bnamgqb2.js → GrSwitch-CdBxwV3k.js} +1 -3
  206. package/dist/components/GrSwitch/chunks/{GrSwitch-Bnamgqb2.js.map → GrSwitch-CdBxwV3k.js.map} +1 -1
  207. package/dist/components/GrSwitch/index.js +2 -2
  208. package/dist/components/GrTable/chunks/GrTable-CyQ9uw8A.js +0 -2
  209. package/dist/components/GrTable/index.js +1 -1
  210. package/dist/components/GrTabs/chunks/{GrTabs-CiGmcmvm.js → GrTabs-BpF8AAUz.js} +0 -2
  211. package/dist/components/GrTabs/chunks/{GrTabs-CiGmcmvm.js.map → GrTabs-BpF8AAUz.js.map} +1 -1
  212. package/dist/components/GrTabs/index.js +2 -2
  213. package/dist/components/GrTextarea/chunks/{GrTextarea-VBSc6A7D.js → GrTextarea-DFS9ZkrA.js} +1 -3
  214. package/dist/components/GrTextarea/chunks/{GrTextarea-VBSc6A7D.js.map → GrTextarea-DFS9ZkrA.js.map} +1 -1
  215. package/dist/components/GrTextarea/index.js +2 -2
  216. package/dist/components/GrToaster/chunks/{GrToaster-I1e-zCpf.js → GrToaster-3Mf0Moxt.js} +1 -3
  217. package/dist/components/GrToaster/chunks/{GrToaster-I1e-zCpf.js.map → GrToaster-3Mf0Moxt.js.map} +1 -1
  218. package/dist/components/GrToaster/index.js +2 -2
  219. package/dist/components/GrTooltip/chunks/{GrTooltip-CrV1gI_c.js → GrTooltip-BvmsukLW.js} +0 -2
  220. package/dist/components/GrTooltip/chunks/{GrTooltip-CrV1gI_c.js.map → GrTooltip-BvmsukLW.js.map} +1 -1
  221. package/dist/components/GrTooltip/index.js +2 -2
  222. package/dist/components/GrTree/chunks/{GrTree-Dlev9oBd.js → GrTree-C2kN-O4Q.js} +0 -2
  223. package/dist/components/GrTree/chunks/{GrTree-Dlev9oBd.js.map → GrTree-C2kN-O4Q.js.map} +1 -1
  224. package/dist/components/GrTree/index.js +2 -2
  225. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-DN6XFjOD.js → GrTreeSelect-Da-CpRqm.js} +5 -7
  226. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-DN6XFjOD.js.map → GrTreeSelect-Da-CpRqm.js.map} +1 -1
  227. package/dist/components/GrTreeSelect/index.js +2 -2
  228. package/dist/composables/useTheme.js +0 -2
  229. package/dist/composables/useToast.js +0 -2
  230. package/dist/directives/autofocus.js +55 -0
  231. package/dist/directives/autofocus.js.map +1 -0
  232. package/dist/directives/autosize.js +117 -0
  233. package/dist/directives/autosize.js.map +1 -0
  234. package/dist/directives/clickOutside.js +96 -0
  235. package/dist/directives/clickOutside.js.map +1 -0
  236. package/dist/directives/dropzone.js +164 -0
  237. package/dist/directives/dropzone.js.map +1 -0
  238. package/dist/directives/hotkey.js +138 -0
  239. package/dist/directives/hotkey.js.map +1 -0
  240. package/dist/directives/index.js +6 -1
  241. package/dist/directives/loading.js +163 -0
  242. package/dist/directives/loading.js.map +1 -0
  243. package/dist/fileValidation/index.js +1 -1
  244. package/dist/granular-provider-node.js +2 -4
  245. package/dist/granular-provider.js +1 -3
  246. package/dist/i18n/all.js +1 -3
  247. package/dist/i18n/index.js +2 -2
  248. package/dist/index.js +71 -66
  249. package/dist/types/src/components/GrLink/grLinkStyles.d.ts +1 -1
  250. package/dist/vue/index.js +0 -2
  251. package/package.json +25 -1
  252. package/dist/chunks/config-BbtK511H.js.map +0 -1
  253. package/dist/chunks/config-BcFOkUhh.js.map +0 -1
  254. package/dist/chunks/config-BzQ4S4Hb.js.map +0 -1
  255. package/dist/chunks/config-C2JKq8-2.js.map +0 -1
  256. package/dist/chunks/config-CdAx6ify2.js.map +0 -1
  257. package/dist/chunks/config-KGTIAFD92.js.map +0 -1
  258. package/dist/chunks/directives-Cuib0yOO.js +0 -728
  259. package/dist/chunks/directives-Cuib0yOO.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config-CJeyaUTp.js","names":[],"sources":["../../src/components/GrProgressBar/grStyle.ts","../../src/components/GrProgressBar/safelist.ts","../../src/components/GrProgressBar/config.ts"],"sourcesContent":["export type GrProgressBarTone = 'primary' | 'neutral' | 'success' | 'warning' | 'danger' | 'info' | 'slate' | 'azure'\n\nfunction withVar(token: string): string {\n return `[${token}]`\n}\n\nconst toneVars: Record<GrProgressBarTone, string> = {\n primary: 'var(--pb-bg,var(--primary))',\n neutral: 'var(--pb-neutral-bg,var(--secondary))',\n success: 'var(--pb-success-bg,var(--ds-success))',\n warning: 'var(--pb-warning-bg,var(--ds-warning))',\n danger: 'var(--pb-danger-bg,var(--ds-danger))',\n info: 'var(--pb-info-bg,var(--ds-info))',\n slate: 'var(--pb-slate-bg,var(--ds-slate))',\n azure: 'var(--pb-azure-bg,var(--ds-azure))',\n}\n\nexport function grProgressBarFillClass(tone: GrProgressBarTone): string {\n return `bg-${withVar(toneVars[tone])}`\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { grProgressBarFillClass, type GrProgressBarTone } from './grStyle'\n\nconst TONES: GrProgressBarTone[] = ['primary', 'neutral', 'success', 'warning', 'danger', 'info', 'slate', 'azure']\n\nconst fillTokens = TONES.flatMap(tone => splitClassTokens(grProgressBarFillClass(tone)))\n\nexport const grProgressBarClassTokens = {\n fill: fillTokens,\n} as const\n\nexport const grProgressBarSafelist = [...new Set([\n ...grProgressBarClassTokens.fill,\n])] as const\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grProgressBarSafelist } from './safelist'\n\nexport const grProgressBarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrProgressBar',\n safelist: grProgressBarSafelist,\n})"],"mappings":";;;AAEA,SAAS,QAAQ,OAAuB;AACtC,QAAO,IAAI,MAAM;;AAGnB,IAAM,WAA8C;CAClD,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;CACR;AAED,SAAgB,uBAAuB,MAAiC;AACtE,QAAO,MAAM,QAAQ,SAAS,MAAM;;ACXtC,IAAa,2BAA2B,EACtC,MALiC;CAAC;CAAW;CAAW;CAAW;CAAW;CAAU;CAAQ;CAAS;CAAQ,CAE1F,SAAQ,SAAQ,iBAAiB,uBAAuB,KAAK,CAAC,CAAC,EAIvF;AAED,IAAa,wBAAwB,CAAC,GAAG,IAAI,IAAI,CAC/C,GAAG,yBAAyB,KAC7B,CAAC,CAAC;;;ACTH,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-Da90XGsi.js","names":[],"sources":["../../src/components/GrProgressBar/grStyle.ts","../../src/components/GrProgressBar/safelist.ts","../../src/components/GrProgressBar/config.ts"],"sourcesContent":["export type GrProgressBarTone = 'primary' | 'neutral' | 'success' | 'warning' | 'danger' | 'info' | 'slate' | 'azure'\n\nfunction withVar(token: string): string {\n return `[${token}]`\n}\n\nconst toneVars: Record<GrProgressBarTone, string> = {\n primary: 'var(--pb-bg,var(--primary))',\n neutral: 'var(--pb-neutral-bg,var(--secondary))',\n success: 'var(--pb-success-bg,var(--ds-success))',\n warning: 'var(--pb-warning-bg,var(--ds-warning))',\n danger: 'var(--pb-danger-bg,var(--ds-danger))',\n info: 'var(--pb-info-bg,var(--ds-info))',\n slate: 'var(--pb-slate-bg,var(--ds-slate))',\n azure: 'var(--pb-azure-bg,var(--ds-azure))',\n}\n\nexport function grProgressBarFillClass(tone: GrProgressBarTone): string {\n return `bg-${withVar(toneVars[tone])}`\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { grProgressBarFillClass, type GrProgressBarTone } from './grStyle'\n\nconst TONES: GrProgressBarTone[] = ['primary', 'neutral', 'success', 'warning', 'danger', 'info', 'slate', 'azure']\n\nconst fillTokens = TONES.flatMap(tone => splitClassTokens(grProgressBarFillClass(tone)))\n\nexport const grProgressBarClassTokens = {\n fill: fillTokens,\n} as const\n\nexport const grProgressBarSafelist = [...new Set([\n ...grProgressBarClassTokens.fill,\n])] as const\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grProgressBarSafelist } from './safelist'\n\nexport const grProgressBarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrProgressBar',\n safelist: grProgressBarSafelist,\n})"],"mappings":";;;AAEA,SAAS,QAAQ,OAAuB;AACtC,QAAO,IAAI,MAAM;;AAGnB,IAAM,WAA8C;CAClD,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;CACR;AAED,SAAgB,uBAAuB,MAAiC;AACtE,QAAO,MAAM,QAAQ,SAAS,MAAM;;ACXtC,IAAa,2BAA2B,EACtC,MALiC;CAAC;CAAW;CAAW;CAAW;CAAW;CAAU;CAAQ;CAAS;CAAQ,CAE1F,SAAQ,SAAQ,iBAAiB,uBAAuB,KAAK,CAAC,CAAC,EAIvF;AAED,IAAa,wBAAwB,CAAC,GAAG,IAAI,IAAI,CAC/C,GAAG,yBAAyB,KAC7B,CAAC,CAAC;;;ACTH,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -51,5 +51,3 @@ var grInputTagConfig = defineGranularComponent(import.meta.url, {
51
51
  });
52
52
  //#endregion
53
53
  export { grInputTagWrapperClass as i, grInputTagSafelist as n, grInputTagInputClass as r, grInputTagConfig as t };
54
-
55
- //# sourceMappingURL=config-CJbjLC5X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-CJbjLC5X.js","names":[],"sources":["../../src/components/GrInputTag/grInputTagStyles.ts","../../src/components/GrInputTag/safelist.ts","../../src/components/GrInputTag/config.ts"],"sourcesContent":["import type { GrInputSize } from '../GrInput/GrInput.vue'\nexport type GrInputTagSize = GrInputSize\nexport type GrInputTagState = 'default' | 'success' | 'warning' | 'danger'\nexport const wrapperSizeClassBySize: Record<GrInputTagSize, string> = {\n xs: 'min-h-7 px-2.5 py-1 gap-1.5',\n sm: 'min-h-8 px-3 py-1 gap-1.5',\n md: 'min-h-10 px-3 py-1.5 gap-2',\n lg: 'min-h-11 px-4 py-2 gap-2',\n}\nexport const inputSizeClassBySize: Record<GrInputTagSize, string> = {\n xs: 'text-[12px]',\n sm: 'text-[13px]',\n md: 'text-[14px]',\n lg: 'text-[16px]',\n}\nexport const wrapperBorderClassByState: Record<GrInputTagState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-within:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-within:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-within:ring-[var(--ds-danger)]',\n}\nexport function grInputTagWrapperClass(options: { size: GrInputTagSize, state: GrInputTagState, invalid: boolean, disabled: boolean }): string {\n return [\n wrapperSizeClassBySize[options.size],\n options.invalid ? wrapperBorderClassByState.danger : wrapperBorderClassByState[options.state],\n options.disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-text',\n ].join(' ')\n}\nexport function grInputTagInputClass(size: GrInputTagSize): string {\n return inputSizeClassBySize[size]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n inputSizeClassBySize,\n wrapperBorderClassByState,\n wrapperSizeClassBySize,\n} from './grInputTagStyles'\n\nexport const grInputTagSafelist = [...new Set([\n ...Object.values(wrapperSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(inputSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(wrapperBorderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens('opacity-50 cursor-not-allowed'),\n ...splitClassTokens('cursor-text'),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grInputTagSafelist } from './safelist'\n\nexport const grInputTagConfig = defineGranularComponent(import.meta.url, {\n name: 'GrInputTag',\n dependencies: ['GrBadge', 'GrIcon', 'GrInput'],\n safelist: grInputTagSafelist,\n})"],"mappings":";;;AAGA,IAAa,yBAAyD;CACpE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AACD,IAAa,uBAAuD;CAClE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AACD,IAAa,4BAA6D;CACxE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;AACD,SAAgB,uBAAuB,SAAwG;AAC7I,QAAO;EACL,uBAAuB,QAAQ;EAC/B,QAAQ,UAAU,0BAA0B,SAAS,0BAA0B,QAAQ;EACvF,QAAQ,WAAW,kCAAkC;EACtD,CAAC,KAAK,IAAI;;AAEb,SAAgB,qBAAqB,MAA8B;AACjE,QAAO,qBAAqB;;;;ACtB9B,IAAa,qBAAqB,CAAC,GAAG,IAAI,IAAI;CAC5C,GAAG,OAAO,OAAO,uBAAuB,CAAC,QAAQ,iBAAiB;CAClE,GAAG,OAAO,OAAO,qBAAqB,CAAC,QAAQ,iBAAiB;CAChE,GAAG,OAAO,OAAO,0BAA0B,CAAC,QAAQ,iBAAiB;CACrE,GAAG,iBAAiB,gCAAgC;CACpD,GAAG,iBAAiB,cAAc;CACnC,CAAC,CAAC;;;ACTH,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,cAAc;EAAC;EAAW;EAAU;EAAU;CAC9C,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-DgRJlF00.js","names":[],"sources":["../../src/components/GrInputTag/grInputTagStyles.ts","../../src/components/GrInputTag/safelist.ts","../../src/components/GrInputTag/config.ts"],"sourcesContent":["import type { GrInputSize } from '../GrInput/GrInput.vue'\nexport type GrInputTagSize = GrInputSize\nexport type GrInputTagState = 'default' | 'success' | 'warning' | 'danger'\nexport const wrapperSizeClassBySize: Record<GrInputTagSize, string> = {\n xs: 'min-h-7 px-2.5 py-1 gap-1.5',\n sm: 'min-h-8 px-3 py-1 gap-1.5',\n md: 'min-h-10 px-3 py-1.5 gap-2',\n lg: 'min-h-11 px-4 py-2 gap-2',\n}\nexport const inputSizeClassBySize: Record<GrInputTagSize, string> = {\n xs: 'text-[12px]',\n sm: 'text-[13px]',\n md: 'text-[14px]',\n lg: 'text-[16px]',\n}\nexport const wrapperBorderClassByState: Record<GrInputTagState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-within:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-within:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-within:ring-[var(--ds-danger)]',\n}\nexport function grInputTagWrapperClass(options: { size: GrInputTagSize, state: GrInputTagState, invalid: boolean, disabled: boolean }): string {\n return [\n wrapperSizeClassBySize[options.size],\n options.invalid ? wrapperBorderClassByState.danger : wrapperBorderClassByState[options.state],\n options.disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-text',\n ].join(' ')\n}\nexport function grInputTagInputClass(size: GrInputTagSize): string {\n return inputSizeClassBySize[size]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n inputSizeClassBySize,\n wrapperBorderClassByState,\n wrapperSizeClassBySize,\n} from './grInputTagStyles'\n\nexport const grInputTagSafelist = [...new Set([\n ...Object.values(wrapperSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(inputSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(wrapperBorderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens('opacity-50 cursor-not-allowed'),\n ...splitClassTokens('cursor-text'),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grInputTagSafelist } from './safelist'\n\nexport const grInputTagConfig = defineGranularComponent(import.meta.url, {\n name: 'GrInputTag',\n dependencies: ['GrBadge', 'GrIcon', 'GrInput'],\n safelist: grInputTagSafelist,\n})"],"mappings":";;;AAGA,IAAa,yBAAyD;CACpE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AACD,IAAa,uBAAuD;CAClE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AACD,IAAa,4BAA6D;CACxE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;AACD,SAAgB,uBAAuB,SAAwG;AAC7I,QAAO;EACL,uBAAuB,QAAQ;EAC/B,QAAQ,UAAU,0BAA0B,SAAS,0BAA0B,QAAQ;EACvF,QAAQ,WAAW,kCAAkC;EACtD,CAAC,KAAK,IAAI;;AAEb,SAAgB,qBAAqB,MAA8B;AACjE,QAAO,qBAAqB;;;;ACtB9B,IAAa,qBAAqB,CAAC,GAAG,IAAI,IAAI;CAC5C,GAAG,OAAO,OAAO,uBAAuB,CAAC,QAAQ,iBAAiB;CAClE,GAAG,OAAO,OAAO,qBAAqB,CAAC,QAAQ,iBAAiB;CAChE,GAAG,OAAO,OAAO,0BAA0B,CAAC,QAAQ,iBAAiB;CACrE,GAAG,iBAAiB,gCAAgC;CACpD,GAAG,iBAAiB,cAAc;CACnC,CAAC,CAAC;;;ACTH,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,cAAc;EAAC;EAAW;EAAU;EAAU;CAC9C,UAAU;CACX,CAAA"}
@@ -7,5 +7,3 @@ var grButtonConfig = defineGranularComponent(import.meta.url, {
7
7
  });
8
8
  //#endregion
9
9
  export { grButtonConfig as t };
10
-
11
- //# sourceMappingURL=config-Dkq0HeLe.js.map
@@ -6,5 +6,3 @@ var grTabsConfig = defineGranularComponent(import.meta.url, {
6
6
  });
7
7
  //#endregion
8
8
  export { grTabsConfig as t };
9
-
10
- //# sourceMappingURL=config-DwB5-qdP2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-DwB5-qdP2.js","names":[],"sources":["../../src/components/GrTabs/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grTabsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTabs',\n safelist: []\n})\n"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACjE,MAAM;CACN,UAAU,EAAE;CACf,CAAC"}
1
+ {"version":3,"file":"config-DmI1IQvI2.js","names":[],"sources":["../../src/components/GrTabs/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grTabsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTabs',\n safelist: []\n})\n"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACjE,MAAM;CACN,UAAU,EAAE;CACf,CAAC"}
@@ -6,5 +6,3 @@ var grFormFieldConfig = defineGranularComponent(import.meta.url, {
6
6
  });
7
7
  //#endregion
8
8
  export { grFormFieldConfig as t };
9
-
10
- //# sourceMappingURL=config-BRU5PR8_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-BRU5PR8_.js","names":[],"sources":["../../src/components/GrFormField/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFormFieldConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormField',\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACxE,MAAM;CACN,UAAU,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"config-Dnu4VuO0.js","names":[],"sources":["../../src/components/GrFormField/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFormFieldConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormField',\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACxE,MAAM;CACN,UAAU,EAAE;CACb,CAAC"}
@@ -43,5 +43,3 @@ var grDrawerConfig = defineGranularComponent(import.meta.url, {
43
43
  });
44
44
  //#endregion
45
45
  export { grDrawerPanelEnterFrom as i, grDrawerSafelist as n, grDrawerPanelClass as r, grDrawerConfig as t };
46
-
47
- //# sourceMappingURL=config-DxqpV-KM.js.map
@@ -6,5 +6,3 @@ var grCheckboxConfig = defineGranularComponent(import.meta.url, {
6
6
  });
7
7
  //#endregion
8
8
  export { grCheckboxConfig as t };
9
-
10
- //# sourceMappingURL=config-TyzU6gLf.js.map
@@ -37,5 +37,3 @@ var grModalConfig = defineGranularComponent(import.meta.url, {
37
37
  });
38
38
  //#endregion
39
39
  export { grModalClassTokens as n, grModalSafelist as r, grModalConfig as t };
40
-
41
- //# sourceMappingURL=config-Bv5Dok4j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-Bv5Dok4j.js","names":[],"sources":["../../src/components/GrModal/safelist.ts","../../src/components/GrModal/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n layout,\n overlay,\n overlayTransition,\n panelBase,\n panelHeightBySize,\n panelRadiusBySize,\n panelTransition,\n panelWidthBySize,\n root,\n shell,\n} from './grModalStyles'\n\ntype GrModalClassTokens = {\n root: readonly string[]\n shell: readonly string[]\n layout: readonly string[]\n overlay: readonly string[]\n overlayTransition: readonly string[]\n panelBase: readonly string[]\n panelTransition: readonly string[]\n panelWidth: readonly string[]\n panelRadius: readonly string[]\n panelHeight: readonly string[]\n}\n\nfunction flattenTransition(stages: Record<string, string>): string[] {\n return Object.values(stages).flatMap(splitClassTokens)\n}\n\nexport const grModalClassTokens: GrModalClassTokens = {\n root: splitClassTokens(root),\n shell: splitClassTokens(shell),\n layout: splitClassTokens(layout),\n overlay: splitClassTokens(overlay),\n overlayTransition: flattenTransition(overlayTransition),\n panelBase: splitClassTokens(panelBase),\n panelTransition: flattenTransition(panelTransition),\n panelWidth: Object.values(panelWidthBySize).flatMap(splitClassTokens),\n panelRadius: Object.values(panelRadiusBySize).flatMap(splitClassTokens),\n panelHeight: Object.values(panelHeightBySize).flatMap(v => splitClassTokens(v ?? '')),\n}\n\nexport const grModalSafelist = [...new Set([\n ...grModalClassTokens.root,\n ...grModalClassTokens.shell,\n ...grModalClassTokens.layout,\n ...grModalClassTokens.overlay,\n ...grModalClassTokens.overlayTransition,\n ...grModalClassTokens.panelBase,\n ...grModalClassTokens.panelTransition,\n ...grModalClassTokens.panelWidth,\n ...grModalClassTokens.panelRadius,\n ...grModalClassTokens.panelHeight,\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grModalSafelist } from './safelist'\n\nexport const grModalConfig = defineGranularComponent(import.meta.url, {\n name: 'GrModal',\n safelist: grModalSafelist,\n})"],"mappings":";;;;AA2BA,SAAS,kBAAkB,QAA0C;AACnE,QAAO,OAAO,OAAO,OAAO,CAAC,QAAQ,iBAAiB;;AAGxD,IAAa,qBAAyC;CACpD,MAAM,iBAAiB,KAAK;CAC5B,OAAO,iBAAiB,MAAM;CAC9B,QAAQ,iBAAiB,OAAO;CAChC,SAAS,iBAAiB,QAAQ;CAClC,mBAAmB,kBAAkB,kBAAkB;CACvD,WAAW,iBAAiB,UAAU;CACtC,iBAAiB,kBAAkB,gBAAgB;CACnD,YAAY,OAAO,OAAO,iBAAiB,CAAC,QAAQ,iBAAiB;CACrE,aAAa,OAAO,OAAO,kBAAkB,CAAC,QAAQ,iBAAiB;CACvE,aAAa,OAAO,OAAO,kBAAkB,CAAC,SAAQ,MAAK,iBAAiB,KAAK,GAAG,CAAC;CACtF;AAED,IAAa,kBAAkB,CAAC,GAAG,IAAI,IAAI;CACzC,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACvB,CAAC,CAAC;;;ACnDH,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-XwI6t8cn.js","names":[],"sources":["../../src/components/GrModal/safelist.ts","../../src/components/GrModal/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n layout,\n overlay,\n overlayTransition,\n panelBase,\n panelHeightBySize,\n panelRadiusBySize,\n panelTransition,\n panelWidthBySize,\n root,\n shell,\n} from './grModalStyles'\n\ntype GrModalClassTokens = {\n root: readonly string[]\n shell: readonly string[]\n layout: readonly string[]\n overlay: readonly string[]\n overlayTransition: readonly string[]\n panelBase: readonly string[]\n panelTransition: readonly string[]\n panelWidth: readonly string[]\n panelRadius: readonly string[]\n panelHeight: readonly string[]\n}\n\nfunction flattenTransition(stages: Record<string, string>): string[] {\n return Object.values(stages).flatMap(splitClassTokens)\n}\n\nexport const grModalClassTokens: GrModalClassTokens = {\n root: splitClassTokens(root),\n shell: splitClassTokens(shell),\n layout: splitClassTokens(layout),\n overlay: splitClassTokens(overlay),\n overlayTransition: flattenTransition(overlayTransition),\n panelBase: splitClassTokens(panelBase),\n panelTransition: flattenTransition(panelTransition),\n panelWidth: Object.values(panelWidthBySize).flatMap(splitClassTokens),\n panelRadius: Object.values(panelRadiusBySize).flatMap(splitClassTokens),\n panelHeight: Object.values(panelHeightBySize).flatMap(v => splitClassTokens(v ?? '')),\n}\n\nexport const grModalSafelist = [...new Set([\n ...grModalClassTokens.root,\n ...grModalClassTokens.shell,\n ...grModalClassTokens.layout,\n ...grModalClassTokens.overlay,\n ...grModalClassTokens.overlayTransition,\n ...grModalClassTokens.panelBase,\n ...grModalClassTokens.panelTransition,\n ...grModalClassTokens.panelWidth,\n ...grModalClassTokens.panelRadius,\n ...grModalClassTokens.panelHeight,\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grModalSafelist } from './safelist'\n\nexport const grModalConfig = defineGranularComponent(import.meta.url, {\n name: 'GrModal',\n safelist: grModalSafelist,\n})"],"mappings":";;;;AA2BA,SAAS,kBAAkB,QAA0C;AACnE,QAAO,OAAO,OAAO,OAAO,CAAC,QAAQ,iBAAiB;;AAGxD,IAAa,qBAAyC;CACpD,MAAM,iBAAiB,KAAK;CAC5B,OAAO,iBAAiB,MAAM;CAC9B,QAAQ,iBAAiB,OAAO;CAChC,SAAS,iBAAiB,QAAQ;CAClC,mBAAmB,kBAAkB,kBAAkB;CACvD,WAAW,iBAAiB,UAAU;CACtC,iBAAiB,kBAAkB,gBAAgB;CACnD,YAAY,OAAO,OAAO,iBAAiB,CAAC,QAAQ,iBAAiB;CACrE,aAAa,OAAO,OAAO,kBAAkB,CAAC,QAAQ,iBAAiB;CACvE,aAAa,OAAO,OAAO,kBAAkB,CAAC,SAAQ,MAAK,iBAAiB,KAAK,GAAG,CAAC;CACtF;AAED,IAAa,kBAAkB,CAAC,GAAG,IAAI,IAAI;CACzC,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACtB,GAAG,mBAAmB;CACvB,CAAC,CAAC;;;ACnDH,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -42,5 +42,3 @@ var grNumberInputConfig = defineGranularComponent(import.meta.url, {
42
42
  });
43
43
  //#endregion
44
44
  export { grNumberInputShellClass as i, grNumberInputSafelist as n, grNumberInputInputClass as r, grNumberInputConfig as t };
45
-
46
- //# sourceMappingURL=config-DvTUDLT1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-DvTUDLT1.js","names":[],"sources":["../../src/components/GrNumberInput/grNumberInputStyles.ts","../../src/components/GrNumberInput/safelist.ts","../../src/components/GrNumberInput/config.ts"],"sourcesContent":["export type GrNumberInputState = 'default' | 'success' | 'warning' | 'danger'\nexport type GrNumberInputSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type GrNumberInputControlsDirection = 'vertical' | 'horizontal'\nexport type GrNumberInputTextAlign = 'left' | 'center' | 'right'\n\n// Backward-compatible type aliases.\nexport type NumberInputSize = GrNumberInputSize\nexport type NumberInputControlsDirection = GrNumberInputControlsDirection\n\nexport const sizeClassBySize: Record<GrNumberInputSize, 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 textAlignClassByAlign: Record<GrNumberInputTextAlign, string> = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n}\n\nexport const borderClassByState: Record<GrNumberInputState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-within:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-within:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-within:ring-[var(--ds-danger)]',\n}\n\n/** Динамические классы для disabled-состояния shell'а — выбираются в рантайме. */\nexport const disabledShellClass = 'opacity-50 cursor-not-allowed'\n\nexport function grNumberInputShellClass(options: { disabled: boolean, state: GrNumberInputState }): string {\n return [\n options.disabled ? disabledShellClass : '',\n borderClassByState[options.state],\n ]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grNumberInputInputClass(options: { size: GrNumberInputSize, textAlign: GrNumberInputTextAlign }): string {\n return [\n sizeClassBySize[options.size],\n textAlignClassByAlign[options.textAlign],\n ].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n borderClassByState,\n disabledShellClass,\n sizeClassBySize,\n textAlignClassByAlign,\n} from './grNumberInputStyles'\n\n// В safelist кладём только динамические токены, выбираемые по ключам в рантайме\n// (`size`/`textAlign`/`state`/`disabled`). Литералы shell/input/controls прописаны\n// статически в шаблоне — UnoCSS находит их сканом.\nexport const grNumberInputSafelist = [...new Set([\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(textAlignClassByAlign).flatMap(splitClassTokens),\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens(disabledShellClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grNumberInputSafelist } from './safelist'\n\nexport const grNumberInputConfig = defineGranularComponent(import.meta.url, {\n name: 'GrNumberInput',\n safelist: grNumberInputSafelist,\n})"],"mappings":";;;AASA,IAAa,kBAAqD;CAChE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,wBAAgE;CAC3E,MAAM;CACN,QAAQ;CACR,OAAO;CACR;AAED,IAAa,qBAAyD;CACpE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;;AAGD,IAAa,qBAAqB;AAElC,SAAgB,wBAAwB,SAAmE;AACzG,QAAO,CACL,QAAQ,WAAW,qBAAqB,IACxC,mBAAmB,QAAQ,OAC5B,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;AAGd,SAAgB,wBAAwB,SAAiF;AACvH,QAAO,CACL,gBAAgB,QAAQ,OACxB,sBAAsB,QAAQ,WAC/B,CAAC,KAAK,IAAI;;;;AClCb,IAAa,wBAAwB,CAAC,GAAG,IAAI,IAAI;CAC/C,GAAG,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB;CAC3D,GAAG,OAAO,OAAO,sBAAsB,CAAC,QAAQ,iBAAiB;CACjE,GAAG,OAAO,OAAO,mBAAmB,CAAC,QAAQ,iBAAiB;CAC9D,GAAG,iBAAiB,mBAAmB;CACxC,CAAC,CAAC;;;ACZH,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-bpQYM5O-.js","names":[],"sources":["../../src/components/GrNumberInput/grNumberInputStyles.ts","../../src/components/GrNumberInput/safelist.ts","../../src/components/GrNumberInput/config.ts"],"sourcesContent":["export type GrNumberInputState = 'default' | 'success' | 'warning' | 'danger'\nexport type GrNumberInputSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type GrNumberInputControlsDirection = 'vertical' | 'horizontal'\nexport type GrNumberInputTextAlign = 'left' | 'center' | 'right'\n\n// Backward-compatible type aliases.\nexport type NumberInputSize = GrNumberInputSize\nexport type NumberInputControlsDirection = GrNumberInputControlsDirection\n\nexport const sizeClassBySize: Record<GrNumberInputSize, 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 textAlignClassByAlign: Record<GrNumberInputTextAlign, string> = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n}\n\nexport const borderClassByState: Record<GrNumberInputState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-within:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-within:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-within:ring-[var(--ds-danger)]',\n}\n\n/** Динамические классы для disabled-состояния shell'а — выбираются в рантайме. */\nexport const disabledShellClass = 'opacity-50 cursor-not-allowed'\n\nexport function grNumberInputShellClass(options: { disabled: boolean, state: GrNumberInputState }): string {\n return [\n options.disabled ? disabledShellClass : '',\n borderClassByState[options.state],\n ]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grNumberInputInputClass(options: { size: GrNumberInputSize, textAlign: GrNumberInputTextAlign }): string {\n return [\n sizeClassBySize[options.size],\n textAlignClassByAlign[options.textAlign],\n ].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n borderClassByState,\n disabledShellClass,\n sizeClassBySize,\n textAlignClassByAlign,\n} from './grNumberInputStyles'\n\n// В safelist кладём только динамические токены, выбираемые по ключам в рантайме\n// (`size`/`textAlign`/`state`/`disabled`). Литералы shell/input/controls прописаны\n// статически в шаблоне — UnoCSS находит их сканом.\nexport const grNumberInputSafelist = [...new Set([\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(textAlignClassByAlign).flatMap(splitClassTokens),\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens(disabledShellClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grNumberInputSafelist } from './safelist'\n\nexport const grNumberInputConfig = defineGranularComponent(import.meta.url, {\n name: 'GrNumberInput',\n safelist: grNumberInputSafelist,\n})"],"mappings":";;;AASA,IAAa,kBAAqD;CAChE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,wBAAgE;CAC3E,MAAM;CACN,QAAQ;CACR,OAAO;CACR;AAED,IAAa,qBAAyD;CACpE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;;AAGD,IAAa,qBAAqB;AAElC,SAAgB,wBAAwB,SAAmE;AACzG,QAAO,CACL,QAAQ,WAAW,qBAAqB,IACxC,mBAAmB,QAAQ,OAC5B,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;AAGd,SAAgB,wBAAwB,SAAiF;AACvH,QAAO,CACL,gBAAgB,QAAQ,OACxB,sBAAsB,QAAQ,WAC/B,CAAC,KAAK,IAAI;;;;AClCb,IAAa,wBAAwB,CAAC,GAAG,IAAI,IAAI;CAC/C,GAAG,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB;CAC3D,GAAG,OAAO,OAAO,sBAAsB,CAAC,QAAQ,iBAAiB;CACjE,GAAG,OAAO,OAAO,mBAAmB,CAAC,QAAQ,iBAAiB;CAC9D,GAAG,iBAAiB,mBAAmB;CACxC,CAAC,CAAC;;;ACZH,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -7,5 +7,3 @@ var grDropdownMenuConfig = defineGranularComponent(import.meta.url, {
7
7
  });
8
8
  //#endregion
9
9
  export { grDropdownMenuConfig as t };
10
-
11
- //# sourceMappingURL=config-BbtK511H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-etXh7Bsr2.js","names":[],"sources":["../../src/components/GrDropdownMenu/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grDropdownMenuConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDropdownMenu',\n dependencies: ['GrDropdown'],\n // Все токены прописаны статически в шаблонах подкомпонентов — UnoCSS находит их сканом.\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CAC3E,MAAM;CACN,cAAc,CAAC,aAAa;CAE5B,UAAU,EAAE;CACb,CAAC"}
@@ -11,5 +11,3 @@ var grListConfig = defineGranularComponent(import.meta.url, {
11
11
  });
12
12
  //#endregion
13
13
  export { grListConfig as t };
14
-
15
- //# sourceMappingURL=config-BhubOeci.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-BhubOeci.js","names":[],"sources":["../../src/components/GrList/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grListConfig = defineGranularComponent(import.meta.url, {\n name: 'GrList',\n safelist: [\n // GrListItem density\n 'px-4',\n 'py-2',\n 'py-3',\n ],\n dependencies: ['GrCard'],\n})"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACjE,MAAM;CACN,UAAU;EAEN;EACA;EACA;EACH;CACD,cAAc,CAAC,SAAS;CAC3B,CAAA"}
1
+ {"version":3,"file":"config-fCcRwjIB.js","names":[],"sources":["../../src/components/GrList/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grListConfig = defineGranularComponent(import.meta.url, {\n name: 'GrList',\n safelist: [\n // GrListItem density\n 'px-4',\n 'py-2',\n 'py-3',\n ],\n dependencies: ['GrCard'],\n})"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACjE,MAAM;CACN,UAAU;EAEN;EACA;EACA;EACH;CACD,cAAc,CAAC,SAAS;CAC3B,CAAA"}
@@ -7,5 +7,3 @@ var grRadioGroupConfig = defineGranularComponent(import.meta.url, {
7
7
  });
8
8
  //#endregion
9
9
  export { grRadioGroupConfig as t };
10
-
11
- //# sourceMappingURL=config-D7tRu8u3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-D7tRu8u3.js","names":[],"sources":["../../src/components/GrRadioGroup/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grRadioGroupConfig = defineGranularComponent(import.meta.url, {\n name: 'GrRadioGroup',\n dependencies: ['GrButtonGroup', 'GrRadio'],\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,iBAAiB,UAAU;CAC1C,UAAU,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"config-nfOMJXVs.js","names":[],"sources":["../../src/components/GrRadioGroup/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grRadioGroupConfig = defineGranularComponent(import.meta.url, {\n name: 'GrRadioGroup',\n dependencies: ['GrButtonGroup', 'GrRadio'],\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,iBAAiB,UAAU;CAC1C,UAAU,EAAE;CACb,CAAC"}
@@ -6,5 +6,3 @@ var grSidebarConfig = defineGranularComponent(import.meta.url, {
6
6
  });
7
7
  //#endregion
8
8
  export { grSidebarConfig as t };
9
-
10
- //# sourceMappingURL=config-BcpRsZTe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-BcpRsZTe.js","names":[],"sources":["../../src/components/GrSidebar/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grSidebarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSidebar',\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"config-qJXIIY1E.js","names":[],"sources":["../../src/components/GrSidebar/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grSidebarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSidebar',\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU,EAAE;CACb,CAAC"}
@@ -7,5 +7,3 @@ var grTooltipConfig = defineGranularComponent(import.meta.url, {
7
7
  });
8
8
  //#endregion
9
9
  export { grTooltipConfig as t };
10
-
11
- //# sourceMappingURL=config-Dzz9P-GV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-Dzz9P-GV2.js","names":[],"sources":["../../src/components/GrTooltip/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grTooltipConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTooltip',\n dependencies: ['GrIcon'],\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,cAAc,CAAC,SAAS;CACxB,UAAU,EAAE;CACf,CAAC"}
1
+ {"version":3,"file":"config-r6hzn2Bn2.js","names":[],"sources":["../../src/components/GrTooltip/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grTooltipConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTooltip',\n dependencies: ['GrIcon'],\n safelist: [],\n})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,cAAc,CAAC,SAAS;CACxB,UAAU,EAAE;CACf,CAAC"}
@@ -6,5 +6,3 @@ var grCardConfig = defineGranularComponent(import.meta.url, {
6
6
  });
7
7
  //#endregion
8
8
  export { grCardConfig as t };
9
-
10
- //# sourceMappingURL=config-rQlbnEKn.js.map
@@ -30,5 +30,3 @@ function resolveGrDialogTitle(raw) {
30
30
  }
31
31
  //#endregion
32
32
  export { resolveGrDialogTitle as a, resolveGrDialogSectionConfig as i, DEFAULT_GR_DIALOG_FOOTER_CONFIG as n, DEFAULT_GR_DIALOG_HEADER_CONFIG as r, DEFAULT_GR_DIALOG_BODY_CONFIG as t };
33
-
34
- //# sourceMappingURL=dialogShared-BtXUk6Zc.js.map
@@ -46,5 +46,3 @@ var en_default = {
46
46
  };
47
47
  //#endregion
48
48
  export { colors, common, en_default as default, dialog, loading, navbar, pagination, treeSelect };
49
-
50
- //# sourceMappingURL=en-BMjJZttK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-BMjJZttK.js","names":[],"sources":["../../src/i18n/locales/en.json"],"sourcesContent":["{\n \"common\": {\n \"confirm\": \"Confirm\",\n \"cancel\": \"Cancel\",\n \"add\": \"Add\",\n \"clear\": \"Clear\",\n \"close\": \"Close\"\n },\n \"loading\": {\n \"defaultText\": \"Loading...\"\n },\n \"treeSelect\": {\n \"filterPlaceholder\": \"Search…\",\n \"empty\": \"No data\"\n },\n \"dialog\": {\n \"confirm\": {\n \"title\": \"Confirm\"\n },\n \"prompt\": {\n \"title\": \"Prompt\",\n \"label\": \"Value\",\n \"required\": \"Enter a value.\"\n }\n },\n \"pagination\": {\n \"pageSize\": \"Page size\",\n \"prev\": \"Prev\",\n \"next\": \"Next\"\n },\n \"navbar\": {\n \"openMenu\": \"Open menu\"\n },\n \"colors\": {\n \"neutral\": \"Neutral\",\n \"success\": \"Success\",\n \"warning\": \"Warning\",\n \"danger\": \"Danger\",\n \"info\": \"Info\",\n \"primary\": \"Primary\",\n \"slate\": \"Slate\",\n \"azure\": \"Azure\"\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"en-BeJa78lP.js","names":[],"sources":["../../src/i18n/locales/en.json"],"sourcesContent":["{\n \"common\": {\n \"confirm\": \"Confirm\",\n \"cancel\": \"Cancel\",\n \"add\": \"Add\",\n \"clear\": \"Clear\",\n \"close\": \"Close\"\n },\n \"loading\": {\n \"defaultText\": \"Loading...\"\n },\n \"treeSelect\": {\n \"filterPlaceholder\": \"Search…\",\n \"empty\": \"No data\"\n },\n \"dialog\": {\n \"confirm\": {\n \"title\": \"Confirm\"\n },\n \"prompt\": {\n \"title\": \"Prompt\",\n \"label\": \"Value\",\n \"required\": \"Enter a value.\"\n }\n },\n \"pagination\": {\n \"pageSize\": \"Page size\",\n \"prev\": \"Prev\",\n \"next\": \"Next\"\n },\n \"navbar\": {\n \"openMenu\": \"Open menu\"\n },\n \"colors\": {\n \"neutral\": \"Neutral\",\n \"success\": \"Success\",\n \"warning\": \"Warning\",\n \"danger\": \"Danger\",\n \"info\": \"Info\",\n \"primary\": \"Primary\",\n \"slate\": \"Slate\",\n \"azure\": \"Azure\"\n }\n}\n"],"mappings":""}
@@ -9,14 +9,12 @@ var GRANULARITY_I18N_BLOCK = "gr";
9
9
  * can import only the languages they actually need — see the
10
10
  * "Authoring localization packages" guide in the docs.
11
11
  */
12
- var en = { en: { ["gr"]: () => import("./en-BMjJZttK.js") } };
12
+ var en = { en: { ["gr"]: () => import("./en-BeJa78lP.js") } };
13
13
  //#endregion
14
14
  //#region src/i18n/messages/ru.ts
15
- var ru = { ru: { ["gr"]: () => import("./ru-DKswMSdd.js") } };
15
+ var ru = { ru: { ["gr"]: () => import("./ru-Dqh-2C00.js") } };
16
16
  //#endregion
17
17
  //#region src/i18n/messages/es.ts
18
- var es = { es: { ["gr"]: () => import("./es-EYCf8G_1.js") } };
18
+ var es = { es: { ["gr"]: () => import("./es-axYOwwWD.js") } };
19
19
  //#endregion
20
20
  export { GRANULARITY_I18N_BLOCK as i, ru as n, en as r, es as t };
21
-
22
- //# sourceMappingURL=es-Cu_RlgIr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"es-Cu_RlgIr.js","names":[],"sources":["../../src/i18n/messages/const.ts","../../src/i18n/messages/en.ts","../../src/i18n/messages/ru.ts","../../src/i18n/messages/es.ts"],"sourcesContent":["export const GRANULARITY_I18N_BLOCK = 'gr'","import type {LocaleLoaderCollection} from '@feugene/fint-i18n/core'\nimport {GRANULARITY_I18N_BLOCK} from \"./const\";\n\n/**\n * English locale loaders for the playground app.\n *\n * Exported separately from other locales so that consumers (and bundlers)\n * can import only the languages they actually need — see the\n * \"Authoring localization packages\" guide in the docs.\n */\nexport const en = {\n en: {\n [GRANULARITY_I18N_BLOCK]: () => import('../locales/en.json'),\n },\n} satisfies LocaleLoaderCollection\n\nexport default en\n","import type {LocaleLoaderCollection} from '@feugene/fint-i18n/core'\nimport {GRANULARITY_I18N_BLOCK} from \"./const\";\n\nexport const ru = {\n ru: {\n [GRANULARITY_I18N_BLOCK]: () => import('../locales/ru.json'),\n },\n} satisfies LocaleLoaderCollection\n\nexport default ru\n","import type {LocaleLoaderCollection} from '@feugene/fint-i18n/core'\nimport {GRANULARITY_I18N_BLOCK} from \"./const\";\n\nexport const es = {\n es: {\n [GRANULARITY_I18N_BLOCK]: () => import('../locales/es.json'),\n },\n} satisfies LocaleLoaderCollection\n\nexport default es\n"],"mappings":";AAAA,IAAa,yBAAyB;;;;;;;;;;ACUtC,IAAa,KAAK,EACd,IAAI,GAAA,aACgC,OAAO,qBAC1C,EACJ;;;ACXD,IAAa,KAAK,EACd,IAAI,GAAA,aACgC,OAAO,qBAC1C,EACJ;;;ACJD,IAAa,KAAK,EACd,IAAI,GAAA,aACgC,OAAO,qBAC1C,EACJ"}
1
+ {"version":3,"file":"es-BPqm7rLm.js","names":[],"sources":["../../src/i18n/messages/const.ts","../../src/i18n/messages/en.ts","../../src/i18n/messages/ru.ts","../../src/i18n/messages/es.ts"],"sourcesContent":["export const GRANULARITY_I18N_BLOCK = 'gr'","import type {LocaleLoaderCollection} from '@feugene/fint-i18n/core'\nimport {GRANULARITY_I18N_BLOCK} from \"./const\";\n\n/**\n * English locale loaders for the playground app.\n *\n * Exported separately from other locales so that consumers (and bundlers)\n * can import only the languages they actually need — see the\n * \"Authoring localization packages\" guide in the docs.\n */\nexport const en = {\n en: {\n [GRANULARITY_I18N_BLOCK]: () => import('../locales/en.json'),\n },\n} satisfies LocaleLoaderCollection\n\nexport default en\n","import type {LocaleLoaderCollection} from '@feugene/fint-i18n/core'\nimport {GRANULARITY_I18N_BLOCK} from \"./const\";\n\nexport const ru = {\n ru: {\n [GRANULARITY_I18N_BLOCK]: () => import('../locales/ru.json'),\n },\n} satisfies LocaleLoaderCollection\n\nexport default ru\n","import type {LocaleLoaderCollection} from '@feugene/fint-i18n/core'\nimport {GRANULARITY_I18N_BLOCK} from \"./const\";\n\nexport const es = {\n es: {\n [GRANULARITY_I18N_BLOCK]: () => import('../locales/es.json'),\n },\n} satisfies LocaleLoaderCollection\n\nexport default es\n"],"mappings":";AAAA,IAAa,yBAAyB;;;;;;;;;;ACUtC,IAAa,KAAK,EACd,IAAI,GAAA,aACgC,OAAO,qBAC1C,EACJ;;;ACXD,IAAa,KAAK,EACd,IAAI,GAAA,aACgC,OAAO,qBAC1C,EACJ;;;ACJD,IAAa,KAAK,EACd,IAAI,GAAA,aACgC,OAAO,qBAC1C,EACJ"}
@@ -46,5 +46,3 @@ var es_default = {
46
46
  };
47
47
  //#endregion
48
48
  export { colors, common, es_default as default, dialog, loading, navbar, pagination, treeSelect };
49
-
50
- //# sourceMappingURL=es-EYCf8G_1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"es-EYCf8G_1.js","names":[],"sources":["../../src/i18n/locales/es.json"],"sourcesContent":["{\n \"common\": {\n \"confirm\": \"Confirmar\",\n \"cancel\": \"Cancelar\",\n \"add\": \"Añadir\",\n \"clear\": \"Limpiar\",\n \"close\": \"Cerrar\"\n },\n \"loading\": {\n \"defaultText\": \"Cargando...\"\n },\n \"treeSelect\": {\n \"filterPlaceholder\": \"Buscar…\",\n \"empty\": \"Sin datos\"\n },\n \"dialog\": {\n \"confirm\": {\n \"title\": \"Confirmar\"\n },\n \"prompt\": {\n \"title\": \"Aviso\",\n \"label\": \"Valor\",\n \"required\": \"Introduzca un valor.\"\n }\n },\n \"pagination\": {\n \"pageSize\": \"Tamaño de página\",\n \"prev\": \"Anterior\",\n \"next\": \"Siguiente\"\n },\n \"navbar\": {\n \"openMenu\": \"Abrir menú\"\n },\n \"colors\": {\n \"neutral\": \"Neutral\",\n \"success\": \"Éxito\",\n \"warning\": \"Advertencia\",\n \"danger\": \"Peligro\",\n \"info\": \"Info\",\n \"primary\": \"Primario\",\n \"slate\": \"Pizarra\",\n \"azure\": \"Azul celeste\"\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"es-axYOwwWD.js","names":[],"sources":["../../src/i18n/locales/es.json"],"sourcesContent":["{\n \"common\": {\n \"confirm\": \"Confirmar\",\n \"cancel\": \"Cancelar\",\n \"add\": \"Añadir\",\n \"clear\": \"Limpiar\",\n \"close\": \"Cerrar\"\n },\n \"loading\": {\n \"defaultText\": \"Cargando...\"\n },\n \"treeSelect\": {\n \"filterPlaceholder\": \"Buscar…\",\n \"empty\": \"Sin datos\"\n },\n \"dialog\": {\n \"confirm\": {\n \"title\": \"Confirmar\"\n },\n \"prompt\": {\n \"title\": \"Aviso\",\n \"label\": \"Valor\",\n \"required\": \"Introduzca un valor.\"\n }\n },\n \"pagination\": {\n \"pageSize\": \"Tamaño de página\",\n \"prev\": \"Anterior\",\n \"next\": \"Siguiente\"\n },\n \"navbar\": {\n \"openMenu\": \"Abrir menú\"\n },\n \"colors\": {\n \"neutral\": \"Neutral\",\n \"success\": \"Éxito\",\n \"warning\": \"Advertencia\",\n \"danger\": \"Peligro\",\n \"info\": \"Info\",\n \"primary\": \"Primario\",\n \"slate\": \"Pizarra\",\n \"azure\": \"Azul celeste\"\n }\n}\n"],"mappings":""}
@@ -217,5 +217,3 @@ function maxTotalSizeBytesValidator(maxBytes) {
217
217
  }
218
218
  //#endregion
219
219
  export { allowedExtensionsValidator as a, normalizeFiles as c, allowedMimeTypesValidator as i, runFileValidators as l, maxSizeMbValidator as n, acceptValidator as o, maxFileSizeBytesValidator as r, matchAccept as s, maxTotalSizeBytesValidator as t, FileValidationError as u };
220
-
221
- //# sourceMappingURL=fileValidation-CgjTGoUx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileValidation-CgjTGoUx.js","names":[],"sources":["../../src/fileValidation/FileValidationError.ts","../../src/fileValidation/runFileValidators.ts","../../src/fileValidation/matchAccept.ts","../../src/fileValidation/acceptValidator.ts","../../src/fileValidation/allowedExtensionsValidator.ts","../../src/fileValidation/allowedMimeTypesValidator.ts","../../src/fileValidation/maxFileSizeBytesValidator.ts","../../src/fileValidation/maxSizeMbValidator.ts","../../src/fileValidation/maxTotalSizeBytesValidator.ts"],"sourcesContent":["import type { FileValidationIssue, FileValidationIssueCode } from './types'\n\nexport class FileValidationError extends Error {\n code: FileValidationIssueCode\n file?: File\n issues: FileValidationIssue[]\n\n constructor(issues: FileValidationIssue[], files?: File[], message?: string) {\n super(message ?? issues[0]?.message ?? 'File validation failed')\n this.name = 'FileValidationError'\n\n this.issues = issues\n this.code = issues[0]?.code ?? 'accept'\n\n const firstFileName = issues[0]?.fileName\n const byName = firstFileName && files ? files.find(f => f.name === firstFileName) : undefined\n // Fallback to the first file if the named one isn't present in `files`\n // (e.g. aggregate issue like `maxTotalSize` has no `fileName`, or names diverged).\n this.file = byName ?? files?.[0]\n }\n}","import type { FileValidationIssue, FileValidator, FileValidatorContext } from './types'\n\nexport function normalizeFiles(files: File[], multiple: boolean): File[] {\n const list = [...files]\n return multiple ? list : list.slice(0, 1)\n}\n\nfunction isPromiseLike<T>(value: unknown): value is PromiseLike<T> {\n return !!value && typeof (value as any).then === 'function'\n}\n\nexport type RunFileValidatorsResult = { files: File[]; issues: FileValidationIssue[] }\n\nexport function runFileValidators(\n files: File[],\n validators: FileValidator[] | undefined,\n context: FileValidatorContext,\n): RunFileValidatorsResult | Promise<RunFileValidatorsResult> {\n const picked = normalizeFiles(files, context.multiple)\n\n const issues: FileValidationIssue[] = []\n\n const list = validators ?? []\n for (let i = 0; i < list.length; i++) {\n const validator = list[i]\n if (!validator) continue\n\n const res = validator({ files: picked, context })\n\n if (isPromiseLike<FileValidationIssue[]>(res)) {\n return (async () => {\n const first = await res\n if (Array.isArray(first) && first.length > 0) issues.push(...first)\n\n for (let j = i + 1; j < list.length; j++) {\n const nextValidator = list[j]\n if (!nextValidator) continue\n\n const nextRes = nextValidator({ files: picked, context })\n const next = isPromiseLike<FileValidationIssue[]>(nextRes) ? await nextRes : nextRes\n if (Array.isArray(next) && next.length > 0) issues.push(...next)\n }\n\n return { files: picked, issues }\n })()\n }\n\n if (Array.isArray(res) && res.length > 0) issues.push(...res)\n }\n\n return { files: picked, issues }\n}","function parseAccept(accept: string | undefined): string[] {\n if (!accept) return []\n\n return accept\n .split(',')\n .map(s => s.trim())\n .filter(Boolean)\n}\n\nexport function matchAccept(file: File, accept: string | undefined): boolean {\n const tokens = parseAccept(accept)\n if (!tokens.length) return true\n\n const fileName = file.name.toLowerCase()\n const fileType = (file.type || '').toLowerCase()\n\n for (const rawToken of tokens) {\n const token = rawToken.toLowerCase()\n\n // Extension match, e.g. \".png\".\n if (token.startsWith('.')) {\n if (fileName.endsWith(token)) return true\n continue\n }\n\n // Mime group match, e.g. \"image/*\".\n if (token.endsWith('/*')) {\n if (!fileType) continue\n const prefix = token.slice(0, -1) // keep trailing '/'\n if (fileType.startsWith(prefix)) return true\n continue\n }\n\n // Exact mime match, e.g. \"image/png\".\n if (!fileType) continue\n if (fileType === token) return true\n }\n\n return false\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nimport { matchAccept } from './matchAccept'\n\nexport function acceptValidator(accept: string | undefined): FileValidator {\n if (!accept) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n if (matchAccept(file, accept)) continue\n\n issues.push({\n fileName: file.name,\n code: 'accept',\n message: `File \"${file.name}\" does not match accept=\"${accept}\"`,\n })\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nfunction normalizeExtensions(exts: string[] | undefined): string[] {\n return (exts ?? [])\n .map(s => s.trim().toLowerCase())\n .filter(Boolean)\n .map(s => (s.startsWith('.') ? s.slice(1) : s))\n}\n\nfunction fileExtensionLower(fileName: string): string {\n const i = fileName.lastIndexOf('.')\n if (i < 0) return ''\n return fileName.slice(i + 1).toLowerCase()\n}\n\nexport function allowedExtensionsValidator(exts: string[]): FileValidator {\n const allowedExt = normalizeExtensions(exts)\n if (allowedExt.length === 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n const ext = fileExtensionLower(file.name)\n if (!ext) continue\n\n if (!allowedExt.includes(ext)) {\n issues.push({\n fileName: file.name,\n code: 'extension',\n message: `File \"${file.name}\" has disallowed extension \".${ext}\"`,\n })\n }\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport type AllowedMimeTypesValidatorOptions = {\n /**\n * Если `true`, то для fallback-типа (`''`/`application/octet-stream`) валидация по MIME пропускается,\n * предполагая проверку расширения отдельным валидатором.\n */\n allowFallbackByExtension?: boolean\n}\n\nfunction isFallbackType(type: string): boolean {\n return type === '' || type === 'application/octet-stream'\n}\n\nexport function allowedMimeTypesValidator(\n allowed: string[],\n options: AllowedMimeTypesValidatorOptions = {},\n): FileValidator {\n const allowedMime = (allowed ?? []).map(s => s.trim().toLowerCase()).filter(Boolean)\n if (allowedMime.length === 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n const fileType = (file.type || '').toLowerCase()\n\n if (isFallbackType(fileType)) {\n // Legacy behavior in DS: fallback types are not rejected by MIME allow-list.\n // If consumer needs strictness, it can explicitly forbid fallback types.\n if (options.allowFallbackByExtension === false) {\n issues.push({\n fileName: file.name,\n code: 'mimeType',\n message: `File \"${file.name}\" has fallback mime type \"${fileType}\"`,\n })\n }\n\n continue\n }\n\n if (!allowedMime.includes(fileType)) {\n issues.push({\n fileName: file.name,\n code: 'mimeType',\n message: `File \"${file.name}\" has disallowed mime type \"${fileType}\"`,\n })\n }\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport function maxFileSizeBytesValidator(maxBytes: number | undefined): FileValidator {\n if (typeof maxBytes !== 'number' || !Number.isFinite(maxBytes) || maxBytes <= 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n if (file.size <= maxBytes) continue\n\n issues.push({\n fileName: file.name,\n code: 'maxFileSize',\n message: `File \"${file.name}\" is too large (${file.size} bytes), maxBytes=${maxBytes}`,\n meta: { maxBytes },\n })\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport function maxSizeMbValidator(maxSizeMb: number | undefined): FileValidator {\n if (typeof maxSizeMb !== 'number' || !Number.isFinite(maxSizeMb) || maxSizeMb <= 0) return () => []\n const maxBytes = maxSizeMb * 1024 * 1024\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n if (file.size <= maxBytes) continue\n\n issues.push({\n fileName: file.name,\n code: 'maxSize',\n message: `File \"${file.name}\" is too large (${file.size} bytes), maxBytes=${maxBytes}`,\n meta: { maxBytes, maxSizeMb },\n })\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport function maxTotalSizeBytesValidator(maxBytes: number | undefined): FileValidator {\n if (typeof maxBytes !== 'number' || !Number.isFinite(maxBytes) || maxBytes <= 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const total = files.reduce((acc, f) => acc + (Number(f.size) || 0), 0)\n if (total <= maxBytes) return []\n\n const issue: FileValidationIssue = {\n code: 'maxTotalSize',\n message: `Total files size is too large (${total} bytes), maxTotalSizeBytes=${maxBytes}`,\n meta: { total, maxBytes },\n }\n\n return [issue]\n }\n}"],"mappings":"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"}
1
+ {"version":3,"file":"fileValidation-CwJA8Vmn.js","names":[],"sources":["../../src/fileValidation/FileValidationError.ts","../../src/fileValidation/runFileValidators.ts","../../src/fileValidation/matchAccept.ts","../../src/fileValidation/acceptValidator.ts","../../src/fileValidation/allowedExtensionsValidator.ts","../../src/fileValidation/allowedMimeTypesValidator.ts","../../src/fileValidation/maxFileSizeBytesValidator.ts","../../src/fileValidation/maxSizeMbValidator.ts","../../src/fileValidation/maxTotalSizeBytesValidator.ts"],"sourcesContent":["import type { FileValidationIssue, FileValidationIssueCode } from './types'\n\nexport class FileValidationError extends Error {\n code: FileValidationIssueCode\n file?: File\n issues: FileValidationIssue[]\n\n constructor(issues: FileValidationIssue[], files?: File[], message?: string) {\n super(message ?? issues[0]?.message ?? 'File validation failed')\n this.name = 'FileValidationError'\n\n this.issues = issues\n this.code = issues[0]?.code ?? 'accept'\n\n const firstFileName = issues[0]?.fileName\n const byName = firstFileName && files ? files.find(f => f.name === firstFileName) : undefined\n // Fallback to the first file if the named one isn't present in `files`\n // (e.g. aggregate issue like `maxTotalSize` has no `fileName`, or names diverged).\n this.file = byName ?? files?.[0]\n }\n}","import type { FileValidationIssue, FileValidator, FileValidatorContext } from './types'\n\nexport function normalizeFiles(files: File[], multiple: boolean): File[] {\n const list = [...files]\n return multiple ? list : list.slice(0, 1)\n}\n\nfunction isPromiseLike<T>(value: unknown): value is PromiseLike<T> {\n return !!value && typeof (value as any).then === 'function'\n}\n\nexport type RunFileValidatorsResult = { files: File[]; issues: FileValidationIssue[] }\n\nexport function runFileValidators(\n files: File[],\n validators: FileValidator[] | undefined,\n context: FileValidatorContext,\n): RunFileValidatorsResult | Promise<RunFileValidatorsResult> {\n const picked = normalizeFiles(files, context.multiple)\n\n const issues: FileValidationIssue[] = []\n\n const list = validators ?? []\n for (let i = 0; i < list.length; i++) {\n const validator = list[i]\n if (!validator) continue\n\n const res = validator({ files: picked, context })\n\n if (isPromiseLike<FileValidationIssue[]>(res)) {\n return (async () => {\n const first = await res\n if (Array.isArray(first) && first.length > 0) issues.push(...first)\n\n for (let j = i + 1; j < list.length; j++) {\n const nextValidator = list[j]\n if (!nextValidator) continue\n\n const nextRes = nextValidator({ files: picked, context })\n const next = isPromiseLike<FileValidationIssue[]>(nextRes) ? await nextRes : nextRes\n if (Array.isArray(next) && next.length > 0) issues.push(...next)\n }\n\n return { files: picked, issues }\n })()\n }\n\n if (Array.isArray(res) && res.length > 0) issues.push(...res)\n }\n\n return { files: picked, issues }\n}","function parseAccept(accept: string | undefined): string[] {\n if (!accept) return []\n\n return accept\n .split(',')\n .map(s => s.trim())\n .filter(Boolean)\n}\n\nexport function matchAccept(file: File, accept: string | undefined): boolean {\n const tokens = parseAccept(accept)\n if (!tokens.length) return true\n\n const fileName = file.name.toLowerCase()\n const fileType = (file.type || '').toLowerCase()\n\n for (const rawToken of tokens) {\n const token = rawToken.toLowerCase()\n\n // Extension match, e.g. \".png\".\n if (token.startsWith('.')) {\n if (fileName.endsWith(token)) return true\n continue\n }\n\n // Mime group match, e.g. \"image/*\".\n if (token.endsWith('/*')) {\n if (!fileType) continue\n const prefix = token.slice(0, -1) // keep trailing '/'\n if (fileType.startsWith(prefix)) return true\n continue\n }\n\n // Exact mime match, e.g. \"image/png\".\n if (!fileType) continue\n if (fileType === token) return true\n }\n\n return false\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nimport { matchAccept } from './matchAccept'\n\nexport function acceptValidator(accept: string | undefined): FileValidator {\n if (!accept) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n if (matchAccept(file, accept)) continue\n\n issues.push({\n fileName: file.name,\n code: 'accept',\n message: `File \"${file.name}\" does not match accept=\"${accept}\"`,\n })\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nfunction normalizeExtensions(exts: string[] | undefined): string[] {\n return (exts ?? [])\n .map(s => s.trim().toLowerCase())\n .filter(Boolean)\n .map(s => (s.startsWith('.') ? s.slice(1) : s))\n}\n\nfunction fileExtensionLower(fileName: string): string {\n const i = fileName.lastIndexOf('.')\n if (i < 0) return ''\n return fileName.slice(i + 1).toLowerCase()\n}\n\nexport function allowedExtensionsValidator(exts: string[]): FileValidator {\n const allowedExt = normalizeExtensions(exts)\n if (allowedExt.length === 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n const ext = fileExtensionLower(file.name)\n if (!ext) continue\n\n if (!allowedExt.includes(ext)) {\n issues.push({\n fileName: file.name,\n code: 'extension',\n message: `File \"${file.name}\" has disallowed extension \".${ext}\"`,\n })\n }\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport type AllowedMimeTypesValidatorOptions = {\n /**\n * Если `true`, то для fallback-типа (`''`/`application/octet-stream`) валидация по MIME пропускается,\n * предполагая проверку расширения отдельным валидатором.\n */\n allowFallbackByExtension?: boolean\n}\n\nfunction isFallbackType(type: string): boolean {\n return type === '' || type === 'application/octet-stream'\n}\n\nexport function allowedMimeTypesValidator(\n allowed: string[],\n options: AllowedMimeTypesValidatorOptions = {},\n): FileValidator {\n const allowedMime = (allowed ?? []).map(s => s.trim().toLowerCase()).filter(Boolean)\n if (allowedMime.length === 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n const fileType = (file.type || '').toLowerCase()\n\n if (isFallbackType(fileType)) {\n // Legacy behavior in DS: fallback types are not rejected by MIME allow-list.\n // If consumer needs strictness, it can explicitly forbid fallback types.\n if (options.allowFallbackByExtension === false) {\n issues.push({\n fileName: file.name,\n code: 'mimeType',\n message: `File \"${file.name}\" has fallback mime type \"${fileType}\"`,\n })\n }\n\n continue\n }\n\n if (!allowedMime.includes(fileType)) {\n issues.push({\n fileName: file.name,\n code: 'mimeType',\n message: `File \"${file.name}\" has disallowed mime type \"${fileType}\"`,\n })\n }\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport function maxFileSizeBytesValidator(maxBytes: number | undefined): FileValidator {\n if (typeof maxBytes !== 'number' || !Number.isFinite(maxBytes) || maxBytes <= 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n if (file.size <= maxBytes) continue\n\n issues.push({\n fileName: file.name,\n code: 'maxFileSize',\n message: `File \"${file.name}\" is too large (${file.size} bytes), maxBytes=${maxBytes}`,\n meta: { maxBytes },\n })\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport function maxSizeMbValidator(maxSizeMb: number | undefined): FileValidator {\n if (typeof maxSizeMb !== 'number' || !Number.isFinite(maxSizeMb) || maxSizeMb <= 0) return () => []\n const maxBytes = maxSizeMb * 1024 * 1024\n\n return ({ files }): FileValidationIssue[] => {\n const issues: FileValidationIssue[] = []\n\n for (const file of files) {\n if (file.size <= maxBytes) continue\n\n issues.push({\n fileName: file.name,\n code: 'maxSize',\n message: `File \"${file.name}\" is too large (${file.size} bytes), maxBytes=${maxBytes}`,\n meta: { maxBytes, maxSizeMb },\n })\n }\n\n return issues\n }\n}","import type { FileValidationIssue, FileValidator } from './types'\n\nexport function maxTotalSizeBytesValidator(maxBytes: number | undefined): FileValidator {\n if (typeof maxBytes !== 'number' || !Number.isFinite(maxBytes) || maxBytes <= 0) return () => []\n\n return ({ files }): FileValidationIssue[] => {\n const total = files.reduce((acc, f) => acc + (Number(f.size) || 0), 0)\n if (total <= maxBytes) return []\n\n const issue: FileValidationIssue = {\n code: 'maxTotalSize',\n message: `Total files size is too large (${total} bytes), maxTotalSizeBytes=${maxBytes}`,\n meta: { total, maxBytes },\n }\n\n return [issue]\n }\n}"],"mappings":";AAEA,IAAa,sBAAb,cAAyC,MAAM;CAC7C;CACA;CACA;CAEA,YAAY,QAA+B,OAAgB,SAAkB;AAC3E,QAAM,WAAW,OAAO,IAAI,WAAW,yBAAyB;AAChE,OAAK,OAAO;AAEZ,OAAK,SAAS;AACd,OAAK,OAAO,OAAO,IAAI,QAAQ;EAE/B,MAAM,gBAAgB,OAAO,IAAI;AAIjC,OAAK,QAHU,iBAAiB,QAAQ,MAAM,MAAK,MAAK,EAAE,SAAS,cAAc,GAAG,KAAA,MAG9D,QAAQ;;;;;AChBlC,SAAgB,eAAe,OAAe,UAA2B;CACvE,MAAM,OAAO,CAAC,GAAG,MAAM;AACvB,QAAO,WAAW,OAAO,KAAK,MAAM,GAAG,EAAE;;AAG3C,SAAS,cAAiB,OAAyC;AACjE,QAAO,CAAC,CAAC,SAAS,OAAQ,MAAc,SAAS;;AAKnD,SAAgB,kBACd,OACA,YACA,SAC4D;CAC5D,MAAM,SAAS,eAAe,OAAO,QAAQ,SAAS;CAEtD,MAAM,SAAgC,EAAE;CAExC,MAAM,OAAO,cAAc,EAAE;AAC7B,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,YAAY,KAAK;AACvB,MAAI,CAAC,UAAW;EAEhB,MAAM,MAAM,UAAU;GAAE,OAAO;GAAQ;GAAS,CAAC;AAEjD,MAAI,cAAqC,IAAI,CAC3C,SAAQ,YAAY;GAClB,MAAM,QAAQ,MAAM;AACpB,OAAI,MAAM,QAAQ,MAAM,IAAI,MAAM,SAAS,EAAG,QAAO,KAAK,GAAG,MAAM;AAEnE,QAAK,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;IACxC,MAAM,gBAAgB,KAAK;AAC3B,QAAI,CAAC,cAAe;IAEpB,MAAM,UAAU,cAAc;KAAE,OAAO;KAAQ;KAAS,CAAC;IACzD,MAAM,OAAO,cAAqC,QAAQ,GAAG,MAAM,UAAU;AAC7E,QAAI,MAAM,QAAQ,KAAK,IAAI,KAAK,SAAS,EAAG,QAAO,KAAK,GAAG,KAAK;;AAGlE,UAAO;IAAE,OAAO;IAAQ;IAAQ;MAC9B;AAGN,MAAI,MAAM,QAAQ,IAAI,IAAI,IAAI,SAAS,EAAG,QAAO,KAAK,GAAG,IAAI;;AAG/D,QAAO;EAAE,OAAO;EAAQ;EAAQ;;;;AClDlC,SAAS,YAAY,QAAsC;AACzD,KAAI,CAAC,OAAQ,QAAO,EAAE;AAEtB,QAAO,OACJ,MAAM,IAAI,CACV,KAAI,MAAK,EAAE,MAAM,CAAC,CAClB,OAAO,QAAQ;;AAGpB,SAAgB,YAAY,MAAY,QAAqC;CAC3E,MAAM,SAAS,YAAY,OAAO;AAClC,KAAI,CAAC,OAAO,OAAQ,QAAO;CAE3B,MAAM,WAAW,KAAK,KAAK,aAAa;CACxC,MAAM,YAAY,KAAK,QAAQ,IAAI,aAAa;AAEhD,MAAK,MAAM,YAAY,QAAQ;EAC7B,MAAM,QAAQ,SAAS,aAAa;AAGpC,MAAI,MAAM,WAAW,IAAI,EAAE;AACzB,OAAI,SAAS,SAAS,MAAM,CAAE,QAAO;AACrC;;AAIF,MAAI,MAAM,SAAS,KAAK,EAAE;AACxB,OAAI,CAAC,SAAU;GACf,MAAM,SAAS,MAAM,MAAM,GAAG,GAAG;AACjC,OAAI,SAAS,WAAW,OAAO,CAAE,QAAO;AACxC;;AAIF,MAAI,CAAC,SAAU;AACf,MAAI,aAAa,MAAO,QAAO;;AAGjC,QAAO;;;;AClCT,SAAgB,gBAAgB,QAA2C;AACzE,KAAI,CAAC,OAAQ,cAAa,EAAE;AAE5B,SAAQ,EAAE,YAAmC;EAC3C,MAAM,SAAgC,EAAE;AAExC,OAAK,MAAM,QAAQ,OAAO;AACxB,OAAI,YAAY,MAAM,OAAO,CAAE;AAE/B,UAAO,KAAK;IACV,UAAU,KAAK;IACf,MAAM;IACN,SAAS,SAAS,KAAK,KAAK,2BAA2B,OAAO;IAC/D,CAAC;;AAGJ,SAAO;;;;;AClBX,SAAS,oBAAoB,MAAsC;AACjE,SAAQ,QAAQ,EAAE,EACf,KAAI,MAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAChC,OAAO,QAAQ,CACf,KAAI,MAAM,EAAE,WAAW,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAG;;AAGnD,SAAS,mBAAmB,UAA0B;CACpD,MAAM,IAAI,SAAS,YAAY,IAAI;AACnC,KAAI,IAAI,EAAG,QAAO;AAClB,QAAO,SAAS,MAAM,IAAI,EAAE,CAAC,aAAa;;AAG5C,SAAgB,2BAA2B,MAA+B;CACxE,MAAM,aAAa,oBAAoB,KAAK;AAC5C,KAAI,WAAW,WAAW,EAAG,cAAa,EAAE;AAE5C,SAAQ,EAAE,YAAmC;EAC3C,MAAM,SAAgC,EAAE;AAExC,OAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,MAAM,mBAAmB,KAAK,KAAK;AACzC,OAAI,CAAC,IAAK;AAEV,OAAI,CAAC,WAAW,SAAS,IAAI,CAC3B,QAAO,KAAK;IACV,UAAU,KAAK;IACf,MAAM;IACN,SAAS,SAAS,KAAK,KAAK,+BAA+B,IAAI;IAChE,CAAC;;AAIN,SAAO;;;;;ACzBX,SAAS,eAAe,MAAuB;AAC7C,QAAO,SAAS,MAAM,SAAS;;AAGjC,SAAgB,0BACd,SACA,UAA4C,EAAE,EAC/B;CACf,MAAM,eAAe,WAAW,EAAE,EAAE,KAAI,MAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,QAAQ;AACpF,KAAI,YAAY,WAAW,EAAG,cAAa,EAAE;AAE7C,SAAQ,EAAE,YAAmC;EAC3C,MAAM,SAAgC,EAAE;AAExC,OAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,YAAY,KAAK,QAAQ,IAAI,aAAa;AAEhD,OAAI,eAAe,SAAS,EAAE;AAG5B,QAAI,QAAQ,6BAA6B,MACvC,QAAO,KAAK;KACV,UAAU,KAAK;KACf,MAAM;KACN,SAAS,SAAS,KAAK,KAAK,4BAA4B,SAAS;KAClE,CAAC;AAGJ;;AAGF,OAAI,CAAC,YAAY,SAAS,SAAS,CACjC,QAAO,KAAK;IACV,UAAU,KAAK;IACf,MAAM;IACN,SAAS,SAAS,KAAK,KAAK,8BAA8B,SAAS;IACpE,CAAC;;AAIN,SAAO;;;;;AChDX,SAAgB,0BAA0B,UAA6C;AACrF,KAAI,OAAO,aAAa,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI,YAAY,EAAG,cAAa,EAAE;AAEhG,SAAQ,EAAE,YAAmC;EAC3C,MAAM,SAAgC,EAAE;AAExC,OAAK,MAAM,QAAQ,OAAO;AACxB,OAAI,KAAK,QAAQ,SAAU;AAE3B,UAAO,KAAK;IACV,UAAU,KAAK;IACf,MAAM;IACN,SAAS,SAAS,KAAK,KAAK,kBAAkB,KAAK,KAAK,oBAAoB;IAC5E,MAAM,EAAE,UAAU;IACnB,CAAC;;AAGJ,SAAO;;;;;ACjBX,SAAgB,mBAAmB,WAA8C;AAC/E,KAAI,OAAO,cAAc,YAAY,CAAC,OAAO,SAAS,UAAU,IAAI,aAAa,EAAG,cAAa,EAAE;CACnG,MAAM,WAAW,YAAY,OAAO;AAEpC,SAAQ,EAAE,YAAmC;EAC3C,MAAM,SAAgC,EAAE;AAExC,OAAK,MAAM,QAAQ,OAAO;AACxB,OAAI,KAAK,QAAQ,SAAU;AAE3B,UAAO,KAAK;IACV,UAAU,KAAK;IACf,MAAM;IACN,SAAS,SAAS,KAAK,KAAK,kBAAkB,KAAK,KAAK,oBAAoB;IAC5E,MAAM;KAAE;KAAU;KAAW;IAC9B,CAAC;;AAGJ,SAAO;;;;;AClBX,SAAgB,2BAA2B,UAA6C;AACtF,KAAI,OAAO,aAAa,YAAY,CAAC,OAAO,SAAS,SAAS,IAAI,YAAY,EAAG,cAAa,EAAE;AAEhG,SAAQ,EAAE,YAAmC;EAC3C,MAAM,QAAQ,MAAM,QAAQ,KAAK,MAAM,OAAO,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE;AACtE,MAAI,SAAS,SAAU,QAAO,EAAE;AAQhC,SAAO,CAN4B;GACjC,MAAM;GACN,SAAS,kCAAkC,MAAM,6BAA6B;GAC9E,MAAM;IAAE;IAAO;IAAU;GAC1B,CAEa"}
@@ -46,5 +46,3 @@ function grBadgeClass(options) {
46
46
  }
47
47
  //#endregion
48
48
  export { sizeClassBySize as a, semiRadiusClassBySize as i, grBadgeClass as n, lightToneClassByTone as r, darkToneClassByTone as t };
49
-
50
- //# sourceMappingURL=grBadgeStyles-pqqbVgLk.js.map
@@ -189,5 +189,3 @@ function grButtonClass(options) {
189
189
  }
190
190
  //#endregion
191
191
  export { squareSizes as a, sizes as i, grButtonBaseClass as n, tones as o, grButtonClass as r, variantClass as s, base as t };
192
-
193
- //# sourceMappingURL=grButtonStyles-BxZW2x0-.js.map
@@ -30,5 +30,3 @@ function grDropdownContentClass(contentClass) {
30
30
  }
31
31
  //#endregion
32
32
  export { widthClassByWidth as a, grDropdownWidthClass as i, grDropdownAlignmentClass as n, grDropdownContentClass as r, alignmentClassByAlign as t };
33
-
34
- //# sourceMappingURL=grDropdownStyles-DQfLh-bp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grDropdownStyles-DQfLh-bp.js","names":[],"sources":["../../src/components/GrDropdown/grDropdownStyles.ts"],"sourcesContent":["export 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\nexport const alignmentClassByAlign: Record<GrDropdownAlign, string> = {\n left: 'origin-top-left',\n right: 'origin-top-right -translate-x-full',\n center: 'origin-top -translate-x-1/2',\n}\n\nexport function grDropdownWidthClass(width: GrDropdownWidth): string {\n return widthClassByWidth[width]\n}\n\nexport function grDropdownAlignmentClass(align: GrDropdownAlign): string {\n return alignmentClassByAlign[align]\n}\n\nexport function grDropdownContentClass(contentClass?: string): string {\n return [\n 'rounded-[var(--ds-radius-xl)]',\n 'border border-[var(--brd)]',\n 'bg-[var(--card)] text-[var(--card-fg)]',\n 'shadow-[var(--ds-shadow-2)]',\n 'p-1',\n contentClass,\n ].filter(Boolean).join(' ')\n}\n"],"mappings":";AAGA,IAAa,oBAAqD;CAChE,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,wBAAyD;CACpE,MAAM;CACN,OAAO;CACP,QAAQ;CACT;AAED,SAAgB,qBAAqB,OAAgC;AACnE,QAAO,kBAAkB;;AAG3B,SAAgB,yBAAyB,OAAgC;AACvE,QAAO,sBAAsB;;AAG/B,SAAgB,uBAAuB,cAA+B;AACpE,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI"}
1
+ {"version":3,"file":"grDropdownStyles-DMp7RrI9.js","names":[],"sources":["../../src/components/GrDropdown/grDropdownStyles.ts"],"sourcesContent":["export 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\nexport const alignmentClassByAlign: Record<GrDropdownAlign, string> = {\n left: 'origin-top-left',\n right: 'origin-top-right -translate-x-full',\n center: 'origin-top -translate-x-1/2',\n}\n\nexport function grDropdownWidthClass(width: GrDropdownWidth): string {\n return widthClassByWidth[width]\n}\n\nexport function grDropdownAlignmentClass(align: GrDropdownAlign): string {\n return alignmentClassByAlign[align]\n}\n\nexport function grDropdownContentClass(contentClass?: string): string {\n return [\n 'rounded-[var(--ds-radius-xl)]',\n 'border border-[var(--brd)]',\n 'bg-[var(--card)] text-[var(--card-fg)]',\n 'shadow-[var(--ds-shadow-2)]',\n 'p-1',\n contentClass,\n ].filter(Boolean).join(' ')\n}\n"],"mappings":";AAGA,IAAa,oBAAqD;CAChE,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,wBAAyD;CACpE,MAAM;CACN,OAAO;CACP,QAAQ;CACT;AAED,SAAgB,qBAAqB,OAAgC;AACnE,QAAO,kBAAkB;;AAG3B,SAAgB,yBAAyB,OAAgC;AACvE,QAAO,sBAAsB;;AAG/B,SAAgB,uBAAuB,cAA+B;AACpE,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI"}
@@ -15,5 +15,3 @@ function grLoadingRootClass(options) {
15
15
  }
16
16
  //#endregion
17
17
  export { rootModeClass as i, rootBackdropBlurClass as n, rootBackgroundClass as r, grLoadingRootClass as t };
18
-
19
- //# sourceMappingURL=grLoadingStyles-CERsxyk9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grLoadingStyles-CERsxyk9.js","names":[],"sources":["../../src/components/GrLoading/grLoadingStyles.ts"],"sourcesContent":["export const rootModeClass = {\n fullscreen: 'fixed inset-0 z-50',\n inline: 'absolute inset-0 z-10',\n} as const\nexport const rootBackgroundClass = 'bg-black/25'\nexport const rootBackdropBlurClass = 'backdrop-blur-sm'\n\nexport function grLoadingRootClass(options: {\n fullscreen: boolean,\n hasBackground: boolean,\n customClass?: string\n}): string {\n return [\n options.fullscreen ? rootModeClass.fullscreen : rootModeClass.inline,\n !options.hasBackground ? rootBackgroundClass : '',\n rootBackdropBlurClass,\n options.customClass,\n ]\n .filter(Boolean)\n .join(' ')\n}\n"],"mappings":";AAAA,IAAa,gBAAgB;CACzB,YAAY;CACZ,QAAQ;CACX;AACD,IAAa,sBAAsB;AACnC,IAAa,wBAAwB;AAErC,SAAgB,mBAAmB,SAIxB;AACP,QAAO;EACH,QAAQ,aAAa,cAAc,aAAa,cAAc;EAC9D,CAAC,QAAQ,gBAAgB,sBAAsB;EAC/C;EACA,QAAQ;EACX,CACI,OAAO,QAAQ,CACf,KAAK,IAAI"}
1
+ {"version":3,"file":"grLoadingStyles-CrxZHFL0.js","names":[],"sources":["../../src/components/GrLoading/grLoadingStyles.ts"],"sourcesContent":["export const rootModeClass = {\n fullscreen: 'fixed inset-0 z-50',\n inline: 'absolute inset-0 z-10',\n} as const\nexport const rootBackgroundClass = 'bg-black/25'\nexport const rootBackdropBlurClass = 'backdrop-blur-sm'\n\nexport function grLoadingRootClass(options: {\n fullscreen: boolean,\n hasBackground: boolean,\n customClass?: string\n}): string {\n return [\n options.fullscreen ? rootModeClass.fullscreen : rootModeClass.inline,\n !options.hasBackground ? rootBackgroundClass : '',\n rootBackdropBlurClass,\n options.customClass,\n ]\n .filter(Boolean)\n .join(' ')\n}\n"],"mappings":";AAAA,IAAa,gBAAgB;CACzB,YAAY;CACZ,QAAQ;CACX;AACD,IAAa,sBAAsB;AACnC,IAAa,wBAAwB;AAErC,SAAgB,mBAAmB,SAIxB;AACP,QAAO;EACH,QAAQ,aAAa,cAAc,aAAa,cAAc;EAC9D,CAAC,QAAQ,gBAAgB,sBAAsB;EAC/C;EACA,QAAQ;EACX,CACI,OAAO,QAAQ,CACf,KAAK,IAAI"}
@@ -45,5 +45,3 @@ function getGrModalPanelClass(size) {
45
45
  }
46
46
  //#endregion
47
47
  export { panelBase as a, panelTransition as c, shell as d, overlayTransition as i, panelWidthBySize as l, layout as n, panelHeightBySize as o, overlay as r, panelRadiusBySize as s, getGrModalPanelClass as t, root as u };
48
-
49
- //# sourceMappingURL=grModalStyles-Dv2NXBKi.js.map
@@ -48,5 +48,3 @@ function grSelectTriggerClass(options) {
48
48
  var grSelectPanelClasses = "rounded-[var(--ds-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--ds-shadow-2)] overflow-hidden";
49
49
  //#endregion
50
50
  export { linkBaseClass as a, selectSizeClassBySize as c, grSelectTriggerClass as i, grSelectNativeClass as n, selectLinkSizeClassBySize as o, grSelectPanelClasses as r, selectLinkVariantClassByVariant as s, defaultBaseClass as t };
51
-
52
- //# sourceMappingURL=grSelectStyles-C1zNEkV7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grSelectStyles-C1zNEkV7.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 }\nexport type GrSelectModelValue = string | string[]\n\nexport const 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)]'\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(--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(--primary)] hover:text-[var(--primary-hover)] active:text-[var(--primary-active)]',\n default: 'text-[var(--fg)] hover:text-[var(--primary)] active:text-[var(--primary-active)]',\n muted: 'text-[var(--muted-fg)] hover:text-[var(--fg)] active:text-[var(--fg)]',\n danger: 'text-[var(--ds-danger)] hover:text-[var(--ds-danger-hover)] active:text-[var(--ds-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\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(--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(--ds-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--ds-shadow-2)] overflow-hidden'\n"],"mappings":";AAQA,IAAa,mBAAmB;AAChC,IAAa,gBAAgB;AAG7B,IAAa,wBAAsD;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,4BAA0D;CACrE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,kCAAmE;CAC9E,SAAS;CACT,SAAS;CACT,OAAO;CACP,QAAQ;CACT;AAED,SAAS,yBAAyB,SAAsE;AACtG,KAAI,QAAQ,SAAU,QAAO;AAC7B,KAAI,QAAQ,cAAc,SAAU,QAAO;AAC3C,KAAI,QAAQ,cAAc,OAAQ,QAAO;AACzC,QAAO;;AAGT,SAAgB,cAAc,SAMnB;AACT,KAAI,QAAQ,SAAS,OACnB,QAAO;EACL,0BAA0B,QAAQ;EAClC,yBAAyB;GAAE,WAAW,QAAQ;GAAW,UAAU,QAAQ;GAAU,CAAC;EACtF,gCAAgC,QAAQ;EACxC;EACD,CAAC,KAAK,IAAI;AAGb,QAAO,CACL,sBAAsB,QAAQ,OAC9B,kDACD,CAAC,KAAK,IAAI;;AAGb,SAAgB,oBAAoB,SAOzB;AACT,QAAO,CACL,cAAc,QAAQ,EACtB,QAAQ,oBAAoB,yBAAyB,GACtD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;AAGd,SAAgB,qBAAqB,SAO1B;AACT,KAAI,QAAQ,gBAAgB,QAC1B,QAAO,cAAc,QAAQ;AAG/B,KAAI,QAAQ,SAAS,OACnB,QAAO,CACL,cAAc,QAAQ,EACtB,2CACD,CAAC,KAAK,IAAI;AAGb,QAAO,CACL,cAAc,QAAQ,EACtB,8CACD,CAAC,KAAK,IAAI;;AAGb,IAAa,uBAAuB"}
1
+ {"version":3,"file":"grSelectStyles-B7doeAQp.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 }\nexport type GrSelectModelValue = string | string[]\n\nexport const 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)]'\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(--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(--primary)] hover:text-[var(--primary-hover)] active:text-[var(--primary-active)]',\n default: 'text-[var(--fg)] hover:text-[var(--primary)] active:text-[var(--primary-active)]',\n muted: 'text-[var(--muted-fg)] hover:text-[var(--fg)] active:text-[var(--fg)]',\n danger: 'text-[var(--ds-danger)] hover:text-[var(--ds-danger-hover)] active:text-[var(--ds-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\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(--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(--ds-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--ds-shadow-2)] overflow-hidden'\n"],"mappings":";AAQA,IAAa,mBAAmB;AAChC,IAAa,gBAAgB;AAG7B,IAAa,wBAAsD;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,4BAA0D;CACrE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,kCAAmE;CAC9E,SAAS;CACT,SAAS;CACT,OAAO;CACP,QAAQ;CACT;AAED,SAAS,yBAAyB,SAAsE;AACtG,KAAI,QAAQ,SAAU,QAAO;AAC7B,KAAI,QAAQ,cAAc,SAAU,QAAO;AAC3C,KAAI,QAAQ,cAAc,OAAQ,QAAO;AACzC,QAAO;;AAGT,SAAgB,cAAc,SAMnB;AACT,KAAI,QAAQ,SAAS,OACnB,QAAO;EACL,0BAA0B,QAAQ;EAClC,yBAAyB;GAAE,WAAW,QAAQ;GAAW,UAAU,QAAQ;GAAU,CAAC;EACtF,gCAAgC,QAAQ;EACxC;EACD,CAAC,KAAK,IAAI;AAGb,QAAO,CACL,sBAAsB,QAAQ,OAC9B,kDACD,CAAC,KAAK,IAAI;;AAGb,SAAgB,oBAAoB,SAOzB;AACT,QAAO,CACL,cAAc,QAAQ,EACtB,QAAQ,oBAAoB,yBAAyB,GACtD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;AAGd,SAAgB,qBAAqB,SAO1B;AACT,KAAI,QAAQ,gBAAgB,QAC1B,QAAO,cAAc,QAAQ;AAG/B,KAAI,QAAQ,SAAS,OACnB,QAAO,CACL,cAAc,QAAQ,EACtB,2CACD,CAAC,KAAK,IAAI;AAGb,QAAO,CACL,cAAc,QAAQ,EACtB,8CACD,CAAC,KAAK,IAAI;;AAGb,IAAa,uBAAuB"}
@@ -1,4 +1,4 @@
1
- import { t as GRANULARITY_I18N_KEY } from "./adapter-C7fKeUa4.js";
1
+ import { t as GRANULARITY_I18N_KEY } from "./adapter-K6zZTzBi.js";
2
2
  import { getCurrentInstance, inject } from "vue";
3
3
  //#region src/internal/granularityI18n.ts
4
4
  function isGranularityI18nLike(value) {
@@ -24,5 +24,3 @@ function useGranularityTranslations(context) {
24
24
  }
25
25
  //#endregion
26
26
  export { useGranularityTranslations as t };
27
-
28
- //# sourceMappingURL=granularityI18n-BEWP9aJs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"granularityI18n-BEWP9aJs.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\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 return provides[GRANULARITY_I18N_KEY as symbol] as GranularityI18nLike | null\n }\n\n return getCurrentInstance() ? inject(GRANULARITY_I18N_KEY, null) : null\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 fallback\n }\n\n const result = i18n.t(key, params)\n return result === key ? fallback : result\n }\n\n return {\n i18n,\n t,\n }\n}"],"mappings":";;;AAMA,SAAS,sBAAsB,OAA8C;AAC3E,QAAO,OAAQ,OAAsC,MAAM;;AAG7D,SAAgB,uBAAuB,SAA+E;AACpH,KAAI,sBAAsB,QAAQ,CAChC,QAAO;CAGT,MAAM,WAAW,SAAS;AAE1B,KAAI,SACF,QAAO,SAAS;AAGlB,QAAO,oBAAoB,GAAG,OAAO,sBAAsB,KAAK,GAAG;;AAGrE,SAAgB,2BAA2B,SAAmD;CAC5F,MAAM,OAAO,uBAAuB,QAAQ;CAE5C,MAAM,KAAK,KAAa,UAAkB,WAAyC;AACjF,MAAI,CAAC,KACH,QAAO;EAGT,MAAM,SAAS,KAAK,EAAE,KAAK,OAAO;AAClC,SAAO,WAAW,MAAM,WAAW;;AAGrC,QAAO;EACL;EACA;EACD"}
1
+ {"version":3,"file":"granularityI18n-GCqUz_lo.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\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 return provides[GRANULARITY_I18N_KEY as symbol] as GranularityI18nLike | null\n }\n\n return getCurrentInstance() ? inject(GRANULARITY_I18N_KEY, null) : null\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 fallback\n }\n\n const result = i18n.t(key, params)\n return result === key ? fallback : result\n }\n\n return {\n i18n,\n t,\n }\n}"],"mappings":";;;AAMA,SAAS,sBAAsB,OAA8C;AAC3E,QAAO,OAAQ,OAAsC,MAAM;;AAG7D,SAAgB,uBAAuB,SAA+E;AACpH,KAAI,sBAAsB,QAAQ,CAChC,QAAO;CAGT,MAAM,WAAW,SAAS;AAE1B,KAAI,SACF,QAAO,SAAS;AAGlB,QAAO,oBAAoB,GAAG,OAAO,sBAAsB,KAAK,GAAG;;AAGrE,SAAgB,2BAA2B,SAAmD;CAC5F,MAAM,OAAO,uBAAuB,QAAQ;CAE5C,MAAM,KAAK,KAAa,UAAkB,WAAyC;AACjF,MAAI,CAAC,KACH,QAAO;EAGT,MAAM,SAAS,KAAK,EAAE,KAAK,OAAO;AAClC,SAAO,WAAW,MAAM,WAAW;;AAGrC,QAAO;EACL;EACA;EACD"}
@@ -24,5 +24,3 @@ var info_default = markRaw({
24
24
  });
25
25
  //#endregion
26
26
  export { info_default as t };
27
-
28
- //# sourceMappingURL=info-C0bHmdZq.js.map
@@ -21,5 +21,3 @@ var loader_circle_default = markRaw({
21
21
  });
22
22
  //#endregion
23
23
  export { loader_circle_default as t };
24
-
25
- //# sourceMappingURL=loader-circle-B2rWDk5u.js.map
@@ -46,5 +46,3 @@ var ru_default = {
46
46
  };
47
47
  //#endregion
48
48
  export { colors, common, ru_default as default, dialog, loading, navbar, pagination, treeSelect };
49
-
50
- //# sourceMappingURL=ru-DKswMSdd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ru-DKswMSdd.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 \"dialog\": {\n \"confirm\": {\n \"title\": \"Подтверждение\"\n },\n \"prompt\": {\n \"title\": \"Введите значение\",\n \"label\": \"Значение\",\n \"required\": \"Введите значение.\"\n }\n },\n \"pagination\": {\n \"pageSize\": \"Размер страницы\",\n \"prev\": \"Назад\",\n \"next\": \"Вперёд\"\n },\n \"navbar\": {\n \"openMenu\": \"Открыть меню\"\n },\n \"colors\": {\n \"neutral\": \"Нейтральный\",\n \"success\": \"Успех\",\n \"warning\": \"Предупреждение\",\n \"danger\": \"Опасность\",\n \"info\": \"Инфо\",\n \"primary\": \"Primary\",\n \"slate\": \"Сланцевый\",\n \"azure\": \"Лазурный\"\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ru-Dqh-2C00.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 \"dialog\": {\n \"confirm\": {\n \"title\": \"Подтверждение\"\n },\n \"prompt\": {\n \"title\": \"Введите значение\",\n \"label\": \"Значение\",\n \"required\": \"Введите значение.\"\n }\n },\n \"pagination\": {\n \"pageSize\": \"Размер страницы\",\n \"prev\": \"Назад\",\n \"next\": \"Вперёд\"\n },\n \"navbar\": {\n \"openMenu\": \"Открыть меню\"\n },\n \"colors\": {\n \"neutral\": \"Нейтральный\",\n \"success\": \"Успех\",\n \"warning\": \"Предупреждение\",\n \"danger\": \"Опасность\",\n \"info\": \"Инфо\",\n \"primary\": \"Primary\",\n \"slate\": \"Сланцевый\",\n \"azure\": \"Лазурный\"\n }\n}\n"],"mappings":""}
@@ -11,5 +11,3 @@ var grDialogSafelist = [...new Set([
11
11
  ])];
12
12
  //#endregion
13
13
  export { grDialogSafelist as t };
14
-
15
- //# sourceMappingURL=safelist-BF822K15.js.map
@@ -22,5 +22,3 @@ var grButtonSafelist = [...new Set([
22
22
  ])];
23
23
  //#endregion
24
24
  export { grButtonSafelist as n, grButtonClassTokens as t };
25
-
26
- //# sourceMappingURL=safelist-BY7z8fOl.js.map