@feugene/granularity 0.5.1 → 0.6.2

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 (187) hide show
  1. package/dist/chunks/{adapter-K6zZTzBi.js.map → adapter-CRyH4YC8.js.map} +1 -1
  2. package/dist/chunks/{config-Cgk5ti-b.js.map → config-3SftO0uG.js.map} +1 -1
  3. package/dist/chunks/{config-BN-B2K4r.js.map → config-B44QVIge.js.map} +1 -1
  4. package/dist/chunks/{config-C-GVBa19.js.map → config-B8rC_K97.js.map} +1 -1
  5. package/dist/chunks/{config-DEv4m-ZP.js.map → config-BXffa3ta.js.map} +1 -1
  6. package/dist/chunks/{config-CUgvsjZx.js.map → config-BhvNm4Pp.js.map} +1 -1
  7. package/dist/chunks/{config-BNOf_qjD.js.map → config-C0b_3LJV.js.map} +1 -1
  8. package/dist/chunks/config-C0rHS1-l.js.map +1 -0
  9. package/dist/chunks/{config-fCcRwjIB.js.map → config-C4qAA0Sb.js.map} +1 -1
  10. package/dist/chunks/{config-XwI6t8cn.js.map → config-C5TN9J2Z.js.map} +1 -1
  11. package/dist/chunks/config-CVnluhKO.js.map +1 -0
  12. package/dist/chunks/{config-DUtUkSzc.js.map → config-CjEplP6D.js.map} +1 -1
  13. package/dist/chunks/{config-D19pyP4D.js.map → config-CtomKf-k.js.map} +1 -1
  14. package/dist/chunks/{config-BvuQUBtZ.js.map → config-CxCAfXZ1.js.map} +1 -1
  15. package/dist/chunks/{config-BDiLiqSk.js.map → config-D1DI3roo.js.map} +1 -1
  16. package/dist/chunks/{config-CgjOJ3aF.js.map → config-D27BL0H9.js.map} +1 -1
  17. package/dist/chunks/config-D32znLtV2.js.map +1 -0
  18. package/dist/chunks/{config-YSOeh6cy.js.map → config-D6Af6WZw.js.map} +1 -1
  19. package/dist/chunks/{config-BulF0Bf-.js.map → config-D98m8iyz.js.map} +1 -1
  20. package/dist/chunks/config-DDLoUczC.js.map +1 -0
  21. package/dist/chunks/{config-CFcv0hjb.js.map → config-DQOSlWvp.js.map} +1 -1
  22. package/dist/chunks/{config-ndXqsz5A.js.map → config-DbqFk-IW.js.map} +1 -1
  23. package/dist/chunks/{config-CdHY0Z7L.js.map → config-DnsISjD8.js.map} +1 -1
  24. package/dist/chunks/{config-BFZN9-vt.js.map → config-DudL02ag.js.map} +1 -1
  25. package/dist/chunks/{config-DgRJlF00.js.map → config-Dusr9jcE.js.map} +1 -1
  26. package/dist/chunks/{config-CWvHiaqr2.js.map → config-DxqMXzNV2.js.map} +1 -1
  27. package/dist/chunks/config-Mp9DJ9Mq2.js.map +1 -0
  28. package/dist/chunks/{config-R0jaXatX.js → config-XoANT5mU.js} +1 -1
  29. package/dist/chunks/{config-R0jaXatX.js.map → config-XoANT5mU.js.map} +1 -1
  30. package/dist/chunks/config-ZJVOVgqR.js +22 -0
  31. package/dist/chunks/config-ZJVOVgqR.js.map +1 -0
  32. package/dist/chunks/{config-CM7nbATU2.js.map → config-rxFL-6yF2.js.map} +1 -1
  33. package/dist/chunks/{config-bpQYM5O-.js.map → config-wo-ncgTH.js.map} +1 -1
  34. package/dist/chunks/{en-BeJa78lP.js.map → en-BMjJZttK.js.map} +1 -1
  35. package/dist/chunks/{es-BPqm7rLm.js → es-Cu_RlgIr.js} +3 -3
  36. package/dist/chunks/{es-BPqm7rLm.js.map → es-Cu_RlgIr.js.map} +1 -1
  37. package/dist/chunks/{es-axYOwwWD.js.map → es-EYCf8G_1.js.map} +1 -1
  38. package/dist/chunks/{grSelectStyles-daEeDlBn.js.map → grSelectStyles-DTAYNzxn.js.map} +1 -1
  39. package/dist/chunks/grStyle-5EMYYctb.js +19 -0
  40. package/dist/chunks/grStyle-5EMYYctb.js.map +1 -0
  41. package/dist/chunks/{granularityI18n-GCqUz_lo.js → granularityI18n-Dm4DuCS9.js} +1 -1
  42. package/dist/chunks/{granularityI18n-GCqUz_lo.js.map → granularityI18n-Dm4DuCS9.js.map} +1 -1
  43. package/dist/chunks/{ru-Dqh-2C00.js.map → ru-DKswMSdd.js.map} +1 -1
  44. package/dist/chunks/{shared-CyCPkimZ.js → shared-DO3Sr5FJ.js} +30 -30
  45. package/dist/chunks/{shared-CyCPkimZ.js.map → shared-DO3Sr5FJ.js.map} +1 -1
  46. package/dist/components/GrFileUpload/chunks/{GrFileUpload-u01j9S0t.js → GrFileUpload-DYRERhI2.js} +258 -37
  47. package/dist/components/GrFileUpload/chunks/GrFileUpload-DYRERhI2.js.map +1 -0
  48. package/dist/components/GrFileUpload/index.js +3 -3
  49. package/dist/components/GrFormField/chunks/{GrFormField-C6PfAs4u.js.map → GrFormField-C1oWTT_0.js.map} +1 -1
  50. package/dist/components/GrFormField/index.js +2 -2
  51. package/dist/components/GrFormFile/chunks/{GrFormFile-DdM8Bc2B.js.map → GrFormFile-deDPicM2.js.map} +1 -1
  52. package/dist/components/GrFormFile/index.js +2 -2
  53. package/dist/components/GrFormSection/chunks/{GrFormSection-5djEaQZQ.js.map → GrFormSection-CWBk2EUm.js.map} +1 -1
  54. package/dist/components/GrFormSection/index.js +2 -2
  55. package/dist/components/GrImageViewer/chunks/{GrImageViewer-CjSnohW7.js.map → GrImageViewer-Cpj5zyZQ.js.map} +1 -1
  56. package/dist/components/GrImageViewer/index.js +2 -2
  57. package/dist/components/GrInput/chunks/{GrInput-ghxaTf6d.js.map → GrInput-CfO2RsM-.js.map} +1 -1
  58. package/dist/components/GrInput/index.js +2 -2
  59. package/dist/components/GrInputTag/chunks/{GrInputTag-B0x4U0Yk.js → GrInputTag-G_VYJPF9.js} +1 -1
  60. package/dist/components/GrInputTag/chunks/{GrInputTag-B0x4U0Yk.js.map → GrInputTag-G_VYJPF9.js.map} +1 -1
  61. package/dist/components/GrInputTag/index.js +2 -2
  62. package/dist/components/GrLink/chunks/{GrLink-DvvNkP0M.js → GrLink-BLPigqij.js} +1 -1
  63. package/dist/components/GrLink/chunks/{GrLink-DvvNkP0M.js.map → GrLink-BLPigqij.js.map} +1 -1
  64. package/dist/components/GrLink/index.js +2 -2
  65. package/dist/components/GrList/chunks/{GrList--Ib4zLNw.js.map → GrList-BPjQf-72.js.map} +1 -1
  66. package/dist/components/GrList/index.js +2 -2
  67. package/dist/components/GrLoading/index.js +1 -1
  68. package/dist/components/GrModal/index.js +1 -1
  69. package/dist/components/GrNavbar/chunks/{GrNavbar-nIyuiVj1.js → GrNavbar-BDIKAYfN.js} +1 -1
  70. package/dist/components/GrNavbar/chunks/{GrNavbar-nIyuiVj1.js.map → GrNavbar-BDIKAYfN.js.map} +1 -1
  71. package/dist/components/GrNavbar/index.js +2 -2
  72. package/dist/components/GrNumberInput/chunks/{GrNumberInput-B0mPLjdv.js → GrNumberInput-ECtFCIKV.js} +1 -1
  73. package/dist/components/GrNumberInput/chunks/{GrNumberInput-B0mPLjdv.js.map → GrNumberInput-ECtFCIKV.js.map} +1 -1
  74. package/dist/components/GrNumberInput/index.js +2 -2
  75. package/dist/components/GrPagination/chunks/{GrPagination-C_rxGwfY.js → GrPagination-BZlH-uEd.js} +2 -2
  76. package/dist/components/GrPagination/chunks/{GrPagination-C_rxGwfY.js.map → GrPagination-BZlH-uEd.js.map} +1 -1
  77. package/dist/components/GrPagination/index.js +2 -2
  78. package/dist/components/GrProgressBar/chunks/{GrProgressBar-MvMnzsJl.js → GrProgressBar-hQQK8cYh.js} +1 -1
  79. package/dist/components/GrProgressBar/chunks/{GrProgressBar-MvMnzsJl.js.map → GrProgressBar-hQQK8cYh.js.map} +1 -1
  80. package/dist/components/GrProgressBar/index.js +2 -2
  81. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-DKhbN6ji.js → GrPromptDialog-CUMW6_58.js} +2 -2
  82. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-DKhbN6ji.js.map → GrPromptDialog-CUMW6_58.js.map} +1 -1
  83. package/dist/components/GrPromptDialog/index.js +2 -2
  84. package/dist/components/GrRadio/chunks/{GrRadio-BxBs3WHq.js → GrRadio-B_t_ZNVl.js} +1 -1
  85. package/dist/components/GrRadio/chunks/{GrRadio-BxBs3WHq.js.map → GrRadio-B_t_ZNVl.js.map} +1 -1
  86. package/dist/components/GrRadio/index.js +2 -2
  87. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-CEAfJQ6A.js → GrRadioGroup-CVlgpUBr.js} +1 -1
  88. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-CEAfJQ6A.js.map → GrRadioGroup-CVlgpUBr.js.map} +1 -1
  89. package/dist/components/GrRadioGroup/index.js +2 -2
  90. package/dist/components/GrSegmented/chunks/{GrSegmented-Bwn2qOY4.js → GrSegmented-BPl1koHc.js} +1 -1
  91. package/dist/components/GrSegmented/chunks/{GrSegmented-Bwn2qOY4.js.map → GrSegmented-BPl1koHc.js.map} +1 -1
  92. package/dist/components/GrSegmented/index.js +2 -2
  93. package/dist/components/GrSelect/chunks/{GrSelect-BMMT5MrT.js → GrSelect-C3NAfTqL.js} +2 -2
  94. package/dist/components/GrSelect/chunks/{GrSelect-BMMT5MrT.js.map → GrSelect-C3NAfTqL.js.map} +1 -1
  95. package/dist/components/GrSelect/index.js +2 -2
  96. package/dist/components/GrSidebar/chunks/{GrSidebar-CSZ3RpFB.js.map → GrSidebar-DVucgcfV.js.map} +1 -1
  97. package/dist/components/GrSidebar/index.js +2 -2
  98. package/dist/components/GrSkeleton/chunks/{GrSkeleton-DKXkqWDa.js.map → GrSkeleton-CDTvCSoH.js.map} +1 -1
  99. package/dist/components/GrSkeleton/index.js +2 -2
  100. package/dist/components/GrSwitch/chunks/{GrSwitch-CdBxwV3k.js → GrSwitch-Bnamgqb2.js} +1 -1
  101. package/dist/components/GrSwitch/chunks/{GrSwitch-CdBxwV3k.js.map → GrSwitch-Bnamgqb2.js.map} +1 -1
  102. package/dist/components/GrSwitch/index.js +2 -2
  103. package/dist/components/GrTable/index.js +1 -1
  104. package/dist/components/GrTabs/chunks/{GrTabs-BpF8AAUz.js.map → GrTabs-CiGmcmvm.js.map} +1 -1
  105. package/dist/components/GrTabs/index.js +2 -2
  106. package/dist/components/GrTextarea/chunks/{GrTextarea-DFS9ZkrA.js → GrTextarea-VBSc6A7D.js} +1 -1
  107. package/dist/components/GrTextarea/chunks/{GrTextarea-DFS9ZkrA.js.map → GrTextarea-VBSc6A7D.js.map} +1 -1
  108. package/dist/components/GrTextarea/index.js +2 -2
  109. package/dist/components/GrToaster/chunks/{GrToaster-3Mf0Moxt.js → GrToaster-I1e-zCpf.js} +1 -1
  110. package/dist/components/GrToaster/chunks/{GrToaster-3Mf0Moxt.js.map → GrToaster-I1e-zCpf.js.map} +1 -1
  111. package/dist/components/GrToaster/index.js +2 -2
  112. package/dist/components/GrTooltip/chunks/{GrTooltip-BvmsukLW.js.map → GrTooltip-CrV1gI_c.js.map} +1 -1
  113. package/dist/components/GrTooltip/index.js +2 -2
  114. package/dist/components/GrTree/chunks/{GrTree-C2kN-O4Q.js.map → GrTree-Dlev9oBd.js.map} +1 -1
  115. package/dist/components/GrTree/index.js +2 -2
  116. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-N-oPAOFj.js → GrTreeSelect-n0CZT4Ic.js} +4 -4
  117. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-N-oPAOFj.js.map → GrTreeSelect-n0CZT4Ic.js.map} +1 -1
  118. package/dist/components/GrTreeSelect/index.js +2 -2
  119. package/dist/directives/loading.js +15 -0
  120. package/dist/directives/loading.js.map +1 -1
  121. package/dist/granular-provider-node.js +2 -2
  122. package/dist/granular-provider.js +1 -1
  123. package/dist/i18n/all.js +1 -1
  124. package/dist/i18n/index.js +2 -2
  125. package/dist/index.js +59 -58
  126. package/dist/index.js.map +1 -1
  127. package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +58 -5
  128. package/dist/types/src/components/GrFileUpload/index.d.ts +4 -0
  129. package/dist/types/src/components/GrFileUpload/uploadState.d.ts +38 -0
  130. package/dist/types/src/components/GrFileUpload/uploadViaXhr.d.ts +33 -0
  131. package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +1 -1
  132. package/dist/types/src/components/GrInput/GrInput.vue.d.ts +1 -1
  133. package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +1 -1
  134. package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +1 -1
  135. package/package.json +1 -1
  136. package/dist/chunks/config-BGmiXpR82.js.map +0 -1
  137. package/dist/chunks/config-CA9XwYnZ2.js.map +0 -1
  138. package/dist/chunks/config-CsMIhZfM.js.map +0 -1
  139. package/dist/chunks/config-CwLoozAz2.js.map +0 -1
  140. package/dist/chunks/config-DCQO6H6h.js.map +0 -1
  141. package/dist/chunks/config-Da90XGsi.js +0 -38
  142. package/dist/chunks/config-Da90XGsi.js.map +0 -1
  143. package/dist/components/GrFileUpload/chunks/GrFileUpload-u01j9S0t.js.map +0 -1
  144. /package/dist/chunks/{adapter-K6zZTzBi.js → adapter-CRyH4YC8.js} +0 -0
  145. /package/dist/chunks/{config-Cgk5ti-b.js → config-3SftO0uG.js} +0 -0
  146. /package/dist/chunks/{config-BN-B2K4r.js → config-B44QVIge.js} +0 -0
  147. /package/dist/chunks/{config-C-GVBa19.js → config-B8rC_K97.js} +0 -0
  148. /package/dist/chunks/{config-DEv4m-ZP.js → config-BXffa3ta.js} +0 -0
  149. /package/dist/chunks/{config-CUgvsjZx.js → config-BhvNm4Pp.js} +0 -0
  150. /package/dist/chunks/{config-BNOf_qjD.js → config-C0b_3LJV.js} +0 -0
  151. /package/dist/chunks/{config-CA9XwYnZ2.js → config-C0rHS1-l.js} +0 -0
  152. /package/dist/chunks/{config-fCcRwjIB.js → config-C4qAA0Sb.js} +0 -0
  153. /package/dist/chunks/{config-XwI6t8cn.js → config-C5TN9J2Z.js} +0 -0
  154. /package/dist/chunks/{config-BGmiXpR82.js → config-CVnluhKO.js} +0 -0
  155. /package/dist/chunks/{config-DUtUkSzc.js → config-CjEplP6D.js} +0 -0
  156. /package/dist/chunks/{config-D19pyP4D.js → config-CtomKf-k.js} +0 -0
  157. /package/dist/chunks/{config-BvuQUBtZ.js → config-CxCAfXZ1.js} +0 -0
  158. /package/dist/chunks/{config-BDiLiqSk.js → config-D1DI3roo.js} +0 -0
  159. /package/dist/chunks/{config-CgjOJ3aF.js → config-D27BL0H9.js} +0 -0
  160. /package/dist/chunks/{config-DCQO6H6h.js → config-D32znLtV2.js} +0 -0
  161. /package/dist/chunks/{config-YSOeh6cy.js → config-D6Af6WZw.js} +0 -0
  162. /package/dist/chunks/{config-BulF0Bf-.js → config-D98m8iyz.js} +0 -0
  163. /package/dist/chunks/{config-CwLoozAz2.js → config-DDLoUczC.js} +0 -0
  164. /package/dist/chunks/{config-CFcv0hjb.js → config-DQOSlWvp.js} +0 -0
  165. /package/dist/chunks/{config-ndXqsz5A.js → config-DbqFk-IW.js} +0 -0
  166. /package/dist/chunks/{config-CdHY0Z7L.js → config-DnsISjD8.js} +0 -0
  167. /package/dist/chunks/{config-BFZN9-vt.js → config-DudL02ag.js} +0 -0
  168. /package/dist/chunks/{config-DgRJlF00.js → config-Dusr9jcE.js} +0 -0
  169. /package/dist/chunks/{config-CWvHiaqr2.js → config-DxqMXzNV2.js} +0 -0
  170. /package/dist/chunks/{config-CsMIhZfM.js → config-Mp9DJ9Mq2.js} +0 -0
  171. /package/dist/chunks/{config-CM7nbATU2.js → config-rxFL-6yF2.js} +0 -0
  172. /package/dist/chunks/{config-bpQYM5O-.js → config-wo-ncgTH.js} +0 -0
  173. /package/dist/chunks/{en-BeJa78lP.js → en-BMjJZttK.js} +0 -0
  174. /package/dist/chunks/{es-axYOwwWD.js → es-EYCf8G_1.js} +0 -0
  175. /package/dist/chunks/{grSelectStyles-daEeDlBn.js → grSelectStyles-DTAYNzxn.js} +0 -0
  176. /package/dist/chunks/{ru-Dqh-2C00.js → ru-DKswMSdd.js} +0 -0
  177. /package/dist/components/GrFormField/chunks/{GrFormField-C6PfAs4u.js → GrFormField-C1oWTT_0.js} +0 -0
  178. /package/dist/components/GrFormFile/chunks/{GrFormFile-DdM8Bc2B.js → GrFormFile-deDPicM2.js} +0 -0
  179. /package/dist/components/GrFormSection/chunks/{GrFormSection-5djEaQZQ.js → GrFormSection-CWBk2EUm.js} +0 -0
  180. /package/dist/components/GrImageViewer/chunks/{GrImageViewer-CjSnohW7.js → GrImageViewer-Cpj5zyZQ.js} +0 -0
  181. /package/dist/components/GrInput/chunks/{GrInput-ghxaTf6d.js → GrInput-CfO2RsM-.js} +0 -0
  182. /package/dist/components/GrList/chunks/{GrList--Ib4zLNw.js → GrList-BPjQf-72.js} +0 -0
  183. /package/dist/components/GrSidebar/chunks/{GrSidebar-CSZ3RpFB.js → GrSidebar-DVucgcfV.js} +0 -0
  184. /package/dist/components/GrSkeleton/chunks/{GrSkeleton-DKXkqWDa.js → GrSkeleton-CDTvCSoH.js} +0 -0
  185. /package/dist/components/GrTabs/chunks/{GrTabs-BpF8AAUz.js → GrTabs-CiGmcmvm.js} +0 -0
  186. /package/dist/components/GrTooltip/chunks/{GrTooltip-BvmsukLW.js → GrTooltip-CrV1gI_c.js} +0 -0
  187. /package/dist/components/GrTree/chunks/{GrTree-C2kN-O4Q.js → GrTree-Dlev9oBd.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-K6zZTzBi.js","names":[],"sources":["../../src/i18n/adapter.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\n\nexport type GranularityI18nParams = Record<string, unknown>\n\nexport type GranularityI18nAdapter = {\n t: (key: string, params?: GranularityI18nParams) => string\n locale?: Readonly<Ref<string>>\n syncLocale?: (locale: string) => void | Promise<void>\n}\n\nexport const GRANULARITY_I18N_KEY: InjectionKey<GranularityI18nAdapter | null> = Symbol.for(\"@feugene/granularity\")"],"mappings":";AAUA,IAAa,uBAAoE,OAAO,IAAI,uBAAA"}
1
+ {"version":3,"file":"adapter-CRyH4YC8.js","names":[],"sources":["../../src/i18n/adapter.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\n\nexport type GranularityI18nParams = Record<string, unknown>\n\nexport type GranularityI18nAdapter = {\n t: (key: string, params?: GranularityI18nParams) => string\n locale?: Readonly<Ref<string>>\n syncLocale?: (locale: string) => void | Promise<void>\n}\n\nexport const GRANULARITY_I18N_KEY: InjectionKey<GranularityI18nAdapter | null> = Symbol.for(\"@feugene/granularity\")"],"mappings":";AAUA,IAAa,uBAAoE,OAAO,IAAI,uBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-Cgk5ti-b.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})\n"],"mappings":";;AAEA,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK,EACxE,MAAM,eACP,CAAC"}
1
+ {"version":3,"file":"config-3SftO0uG.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})\n"],"mappings":";;AAEA,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK,EACxE,MAAM,eACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-BN-B2K4r.js","names":[],"sources":["../../src/components/GrLoading/safelist.ts","../../src/components/GrLoading/config.ts"],"sourcesContent":["import {splitClassTokens} from '../shared/classTokens'\nimport {rootBackdropBlurClass, rootBackgroundClass, rootModeClass} from './grLoadingStyles'\n\nexport const grLoadingSafelist = [...new Set([\n ...Object.values(rootModeClass).flatMap(splitClassTokens),\n ...splitClassTokens(rootBackgroundClass),\n ...splitClassTokens(rootBackdropBlurClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grLoadingSafelist } from './safelist'\n\nexport const grLoadingConfig = defineGranularComponent(import.meta.url, {\n name: 'GrLoading',\n safelist: grLoadingSafelist,\n})"],"mappings":";;;;AAGA,IAAa,oBAAoB,CAAC,GAAG,IAAI,IAAI;CACzC,GAAG,OAAO,OAAO,cAAc,CAAC,QAAQ,iBAAiB;CACzD,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,sBAAsB;CAC7C,CAAC,CAAC;;;ACHH,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-B44QVIge.js","names":[],"sources":["../../src/components/GrLoading/safelist.ts","../../src/components/GrLoading/config.ts"],"sourcesContent":["import {splitClassTokens} from '../shared/classTokens'\nimport {rootBackdropBlurClass, rootBackgroundClass, rootModeClass} from './grLoadingStyles'\n\nexport const grLoadingSafelist = [...new Set([\n ...Object.values(rootModeClass).flatMap(splitClassTokens),\n ...splitClassTokens(rootBackgroundClass),\n ...splitClassTokens(rootBackdropBlurClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grLoadingSafelist } from './safelist'\n\nexport const grLoadingConfig = defineGranularComponent(import.meta.url, {\n name: 'GrLoading',\n safelist: grLoadingSafelist,\n})"],"mappings":";;;;AAGA,IAAa,oBAAoB,CAAC,GAAG,IAAI,IAAI;CACzC,GAAG,OAAO,OAAO,cAAc,CAAC,QAAQ,iBAAiB;CACzD,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,sBAAsB;CAC7C,CAAC,CAAC;;;ACHH,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-C-GVBa19.js","names":[],"sources":["../../src/components/GrPromptDialog/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grPromptDialogConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPromptDialog',\n dependencies: ['GrButton', 'GrDialog', 'GrFormField', 'GrInput'],\n})"],"mappings":";;AAEA,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc;EAAC;EAAY;EAAY;EAAe;EAAU;CACnE,CAAA"}
1
+ {"version":3,"file":"config-B8rC_K97.js","names":[],"sources":["../../src/components/GrPromptDialog/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grPromptDialogConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPromptDialog',\n dependencies: ['GrButton', 'GrDialog', 'GrFormField', 'GrInput'],\n})"],"mappings":";;AAEA,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc;EAAC;EAAY;EAAY;EAAe;EAAU;CACnE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-DEv4m-ZP.js","names":[],"sources":["../../src/components/GrRadio/grRadioStyles.ts","../../src/components/GrRadio/safelist.ts","../../src/components/GrRadio/config.ts"],"sourcesContent":["import {\n grButtonBaseClass,\n grButtonClass,\n type GrButtonSize,\n type GrButtonTone,\n type GrButtonVariant,\n} from '../GrButton/grButtonStyles'\n\nexport type GrRadioVariant = 'radiobox' | 'button'\n\nexport const grRadioDisabledClass = 'opacity-50 cursor-not-allowed'\nexport const grRadioEnabledClass = 'cursor-pointer'\nexport const grRadioRootDisabledClass = 'cursor-not-allowed opacity-70'\nexport const grRadioRootEnabledClass = 'cursor-pointer'\nexport const grRadioControlCheckedClass = 'border-[var(--primary)] bg-[color-mix(in_srgb,var(--primary)_10%,var(--bg))]'\nexport const grRadioControlUncheckedClass = 'border-[var(--brd)] bg-[var(--bg)]'\nexport const grRadioDotCheckedClass = 'bg-[var(--primary)] opacity-100 scale-100'\nexport const grRadioDotUncheckedClass = 'bg-transparent opacity-0 scale-75'\n// Базовые классы «точки» внутри radiobox — нестандартные (`h-[6px]`, `w-[6px]`, произвольный transition).\n// Вынесены сюда, чтобы `safelist` мог гарантировать их присутствие в сборке даже при tree-shaking шаблона.\nexport const grRadioDotBaseClass = 'h-[6px] w-[6px] rounded-full transition-[transform,opacity,background-color] duration-150'\n\nexport function grRadioButtonClass(options: {\n checked: boolean\n disabled: boolean\n size: GrButtonSize\n buttonVariant: GrButtonVariant\n buttonTone: GrButtonTone\n selectedButtonVariant: GrButtonVariant\n selectedButtonTone: GrButtonTone\n}): string {\n const variant = options.checked ? options.selectedButtonVariant : options.buttonVariant\n const tone = options.checked ? options.selectedButtonTone : options.buttonTone\n\n return [\n grButtonBaseClass,\n grButtonClass({\n variant,\n tone,\n size: options.size,\n square: false,\n }),\n options.disabled ? grRadioDisabledClass : grRadioEnabledClass,\n ].join(' ')\n}\n\nexport function grRadioRootClass(disabled: boolean): string {\n return disabled ? grRadioRootDisabledClass : grRadioRootEnabledClass\n}\n\nexport function grRadioControlClass(checked: boolean): string {\n return checked ? grRadioControlCheckedClass : grRadioControlUncheckedClass\n}\n\nexport function grRadioDotClass(checked: boolean): string {\n return checked ? grRadioDotCheckedClass : grRadioDotUncheckedClass\n}\n","import {splitClassTokens} from '../shared/classTokens'\nimport {grButtonSafelist} from '../GrButton/safelist'\nimport {\n grRadioControlCheckedClass,\n grRadioControlUncheckedClass,\n grRadioDisabledClass,\n grRadioDotBaseClass,\n grRadioDotCheckedClass,\n grRadioDotUncheckedClass,\n grRadioEnabledClass,\n grRadioRootDisabledClass,\n grRadioRootEnabledClass,\n} from './grRadioStyles'\nexport const grRadioSafelist = [...new Set([\n ...grButtonSafelist,\n ...splitClassTokens(grRadioDisabledClass),\n ...splitClassTokens(grRadioEnabledClass),\n ...splitClassTokens(grRadioRootDisabledClass),\n ...splitClassTokens(grRadioRootEnabledClass),\n ...splitClassTokens(grRadioControlCheckedClass),\n ...splitClassTokens(grRadioControlUncheckedClass),\n ...splitClassTokens(grRadioDotCheckedClass),\n ...splitClassTokens(grRadioDotUncheckedClass),\n ...splitClassTokens(grRadioDotBaseClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grRadioSafelist } from './safelist'\n\nexport const grRadioConfig = defineGranularComponent(import.meta.url, {\n name: 'GrRadio',\n dependencies: ['GrButton'],\n safelist: grRadioSafelist,\n})"],"mappings":";;;;;AAUA,IAAa,uBAAuB;AACpC,IAAa,sBAAsB;AACnC,IAAa,2BAA2B;AACxC,IAAa,0BAA0B;AACvC,IAAa,6BAA6B;AAC1C,IAAa,+BAA+B;AAC5C,IAAa,yBAAyB;AACtC,IAAa,2BAA2B;AAGxC,IAAa,sBAAsB;AAEnC,SAAgB,mBAAmB,SAQxB;AAIP,QAAO;EACH;EACA,cAAc;GACV,SANQ,QAAQ,UAAU,QAAQ,wBAAwB,QAAQ;GAOlE,MANK,QAAQ,UAAU,QAAQ,qBAAqB,QAAQ;GAO5D,MAAM,QAAQ;GACd,QAAQ;GACX,CAAC;EACF,QAAQ,WAAW,uBAAuB;EAC7C,CAAC,KAAK,IAAI;;AAGf,SAAgB,iBAAiB,UAA2B;AACxD,QAAO,WAAW,2BAA2B;;AAGjD,SAAgB,oBAAoB,SAA0B;AAC1D,QAAO,UAAU,6BAA6B;;AAGlD,SAAgB,gBAAgB,SAA0B;AACtD,QAAO,UAAU,yBAAyB;;;;AC1C9C,IAAa,kBAAkB,CAAC,GAAG,IAAI,IAAI;CACvC,GAAG;CACH,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,yBAAyB;CAC7C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,6BAA6B;CACjD,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,yBAAyB;CAC7C,GAAG,iBAAiB,oBAAoB;CAC3C,CAAC,CAAC;;;ACpBH,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,cAAc,CAAC,WAAW;CAC1B,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-BXffa3ta.js","names":[],"sources":["../../src/components/GrRadio/grRadioStyles.ts","../../src/components/GrRadio/safelist.ts","../../src/components/GrRadio/config.ts"],"sourcesContent":["import {\n grButtonBaseClass,\n grButtonClass,\n type GrButtonSize,\n type GrButtonTone,\n type GrButtonVariant,\n} from '../GrButton/grButtonStyles'\n\nexport type GrRadioVariant = 'radiobox' | 'button'\n\nexport const grRadioDisabledClass = 'opacity-50 cursor-not-allowed'\nexport const grRadioEnabledClass = 'cursor-pointer'\nexport const grRadioRootDisabledClass = 'cursor-not-allowed opacity-70'\nexport const grRadioRootEnabledClass = 'cursor-pointer'\nexport const grRadioControlCheckedClass = 'border-[var(--primary)] bg-[color-mix(in_srgb,var(--primary)_10%,var(--bg))]'\nexport const grRadioControlUncheckedClass = 'border-[var(--brd)] bg-[var(--bg)]'\nexport const grRadioDotCheckedClass = 'bg-[var(--primary)] opacity-100 scale-100'\nexport const grRadioDotUncheckedClass = 'bg-transparent opacity-0 scale-75'\n// Базовые классы «точки» внутри radiobox — нестандартные (`h-[6px]`, `w-[6px]`, произвольный transition).\n// Вынесены сюда, чтобы `safelist` мог гарантировать их присутствие в сборке даже при tree-shaking шаблона.\nexport const grRadioDotBaseClass = 'h-[6px] w-[6px] rounded-full transition-[transform,opacity,background-color] duration-150'\n\nexport function grRadioButtonClass(options: {\n checked: boolean\n disabled: boolean\n size: GrButtonSize\n buttonVariant: GrButtonVariant\n buttonTone: GrButtonTone\n selectedButtonVariant: GrButtonVariant\n selectedButtonTone: GrButtonTone\n}): string {\n const variant = options.checked ? options.selectedButtonVariant : options.buttonVariant\n const tone = options.checked ? options.selectedButtonTone : options.buttonTone\n\n return [\n grButtonBaseClass,\n grButtonClass({\n variant,\n tone,\n size: options.size,\n square: false,\n }),\n options.disabled ? grRadioDisabledClass : grRadioEnabledClass,\n ].join(' ')\n}\n\nexport function grRadioRootClass(disabled: boolean): string {\n return disabled ? grRadioRootDisabledClass : grRadioRootEnabledClass\n}\n\nexport function grRadioControlClass(checked: boolean): string {\n return checked ? grRadioControlCheckedClass : grRadioControlUncheckedClass\n}\n\nexport function grRadioDotClass(checked: boolean): string {\n return checked ? grRadioDotCheckedClass : grRadioDotUncheckedClass\n}\n","import {splitClassTokens} from '../shared/classTokens'\nimport {grButtonSafelist} from '../GrButton/safelist'\nimport {\n grRadioControlCheckedClass,\n grRadioControlUncheckedClass,\n grRadioDisabledClass,\n grRadioDotBaseClass,\n grRadioDotCheckedClass,\n grRadioDotUncheckedClass,\n grRadioEnabledClass,\n grRadioRootDisabledClass,\n grRadioRootEnabledClass,\n} from './grRadioStyles'\nexport const grRadioSafelist = [...new Set([\n ...grButtonSafelist,\n ...splitClassTokens(grRadioDisabledClass),\n ...splitClassTokens(grRadioEnabledClass),\n ...splitClassTokens(grRadioRootDisabledClass),\n ...splitClassTokens(grRadioRootEnabledClass),\n ...splitClassTokens(grRadioControlCheckedClass),\n ...splitClassTokens(grRadioControlUncheckedClass),\n ...splitClassTokens(grRadioDotCheckedClass),\n ...splitClassTokens(grRadioDotUncheckedClass),\n ...splitClassTokens(grRadioDotBaseClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grRadioSafelist } from './safelist'\n\nexport const grRadioConfig = defineGranularComponent(import.meta.url, {\n name: 'GrRadio',\n dependencies: ['GrButton'],\n safelist: grRadioSafelist,\n})"],"mappings":";;;;;AAUA,IAAa,uBAAuB;AACpC,IAAa,sBAAsB;AACnC,IAAa,2BAA2B;AACxC,IAAa,0BAA0B;AACvC,IAAa,6BAA6B;AAC1C,IAAa,+BAA+B;AAC5C,IAAa,yBAAyB;AACtC,IAAa,2BAA2B;AAGxC,IAAa,sBAAsB;AAEnC,SAAgB,mBAAmB,SAQxB;AAIP,QAAO;EACH;EACA,cAAc;GACV,SANQ,QAAQ,UAAU,QAAQ,wBAAwB,QAAQ;GAOlE,MANK,QAAQ,UAAU,QAAQ,qBAAqB,QAAQ;GAO5D,MAAM,QAAQ;GACd,QAAQ;GACX,CAAC;EACF,QAAQ,WAAW,uBAAuB;EAC7C,CAAC,KAAK,IAAI;;AAGf,SAAgB,iBAAiB,UAA2B;AACxD,QAAO,WAAW,2BAA2B;;AAGjD,SAAgB,oBAAoB,SAA0B;AAC1D,QAAO,UAAU,6BAA6B;;AAGlD,SAAgB,gBAAgB,SAA0B;AACtD,QAAO,UAAU,yBAAyB;;;;AC1C9C,IAAa,kBAAkB,CAAC,GAAG,IAAI,IAAI;CACvC,GAAG;CACH,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,yBAAyB;CAC7C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,6BAA6B;CACjD,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,yBAAyB;CAC7C,GAAG,iBAAiB,oBAAoB;CAC3C,CAAC,CAAC;;;ACpBH,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,cAAc,CAAC,WAAW;CAC1B,UAAU;CACX,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-CUgvsjZx.js","names":[],"sources":["../../src/components/GrSegmented/grSegmentedStyles.ts","../../src/components/GrSegmented/safelist.ts","../../src/components/GrSegmented/config.ts"],"sourcesContent":["import type { Component } from 'vue'\nexport type GrSegmentedVariant = 'pills' | 'button'\nexport type GrSegmentedSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type GrSegmentedValue = string | number\nexport type GrSegmentedOption = {\n value: GrSegmentedValue\n label?: string\n icon?: Component\n disabled?: boolean\n}\nexport const rootBaseClass =\n 'relative inline-grid min-w-0 grid-flow-col items-stretch rounded-[var(--ds-segmented-radius)] p-[var(--ds-segmented-padding)] transition-colors duration-150'\nexport const rootVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--ds-segmented-track-brd)] bg-[var(--ds-segmented-track-bg)] text-[var(--ds-segmented-item-color)]',\n button: 'border border-[var(--ds-segmented-track-brd)] bg-[var(--ds-segmented-track-bg)] text-[var(--ds-segmented-item-color)] shadow-[var(--ds-segmented-track-shadow)]',\n}\nexport const rootBlockClass = 'w-full'\nexport const indicatorBaseClass =\n 'pointer-events-none absolute left-0 top-0 rounded-[calc(var(--ds-segmented-radius)-var(--ds-segmented-padding))] transition-[transform,width,height,opacity] ease-out'\nexport const indicatorVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--ds-segmented-indicator-brd)] bg-[var(--ds-segmented-indicator-bg)] shadow-[var(--ds-segmented-indicator-shadow)]',\n button: 'border border-[var(--ds-segmented-indicator-brd)] bg-[var(--ds-segmented-indicator-bg)] shadow-[var(--ds-segmented-indicator-shadow)]',\n}\nexport const itemBaseClass =\n 'group/segmented-item relative z-[1] inline-flex min-h-[var(--ds-segmented-min-height)] min-w-0 items-center justify-center gap-2 rounded-[calc(var(--ds-segmented-radius)-var(--ds-segmented-padding))] px-[var(--ds-segmented-item-px)] py-[var(--ds-segmented-item-py)] text-[length:var(--ds-segmented-font-size)] leading-[var(--ds-segmented-line-height)] font-[var(--ds-segmented-font-weight)] text-[var(--ds-segmented-item-color)] transition-colors duration-150 select-none focus:outline-none focus-visible:shadow-[0_0_0_2px_var(--ring),0_0_0_4px_var(--bg)]'\nexport const itemVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: '',\n button: '',\n}\nexport const itemSelectedClass = 'text-[var(--ds-segmented-item-selected-color)]'\nexport const itemDisabledClass = 'cursor-not-allowed opacity-50'\nexport const itemEnabledClass = 'cursor-pointer hover:text-[var(--ds-segmented-item-hover-color)]'\nexport const itemLabelClass = 'truncate'\nexport const itemIconClass = 'h-4 w-4 shrink-0'\nexport const iconOnlyClass = 'gap-0'\nconst rootSizeStyles: Record<GrSegmentedSize, Record<string, string>> = {\n xs: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '10px',\n '--ds-segmented-item-py': '4px',\n '--ds-segmented-font-size': '0.75rem',\n '--ds-segmented-line-height': '1rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '24px',\n },\n sm: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '12px',\n '--ds-segmented-item-py': '6px',\n '--ds-segmented-font-size': '0.75rem',\n '--ds-segmented-line-height': '1rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '28px',\n },\n md: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '14px',\n '--ds-segmented-item-py': '8px',\n '--ds-segmented-font-size': '0.875rem',\n '--ds-segmented-line-height': '1.25rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '40px',\n },\n lg: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '16px',\n '--ds-segmented-item-py': '10px',\n '--ds-segmented-font-size': '0.9375rem',\n '--ds-segmented-line-height': '1.25rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '46px',\n },\n}\nconst rootVariantStyles: Record<GrSegmentedVariant, Record<string, string>> = {\n pills: {\n '--ds-segmented-track-bg': 'var(--muted)',\n '--ds-segmented-track-brd': 'var(--brd)',\n '--ds-segmented-track-shadow': 'none',\n '--ds-segmented-indicator-bg': 'var(--card)',\n '--ds-segmented-indicator-brd': 'color-mix(in srgb, var(--card) 84%, var(--brd) 16%)',\n '--ds-segmented-indicator-shadow': 'var(--ds-shadow-1), var(--ds-segmented-indicator-highlight-shadow, 0 0 0 0 transparent)',\n '--ds-segmented-item-color': 'var(--muted-fg)',\n '--ds-segmented-item-selected-color': 'var(--fg)',\n '--ds-segmented-item-hover-color': 'var(--fg)',\n },\n button: {\n '--ds-segmented-track-bg': 'var(--card)',\n '--ds-segmented-track-brd': 'var(--brd)',\n '--ds-segmented-track-shadow': 'var(--ds-shadow-1)',\n '--ds-segmented-indicator-bg': 'var(--primary)',\n '--ds-segmented-indicator-brd': 'color-mix(in srgb, var(--primary) 88%, var(--brd) 12%)',\n '--ds-segmented-indicator-shadow': 'var(--ds-shadow-2)',\n '--ds-segmented-item-color': 'var(--muted-fg)',\n '--ds-segmented-item-selected-color': 'var(--primary-fg)',\n '--ds-segmented-item-hover-color': 'var(--fg)',\n },\n}\nexport function grSegmentedRootClass(options: { variant: GrSegmentedVariant, block: boolean, disabled: boolean }): string {\n return [\n rootBaseClass,\n rootVariantClassMap[options.variant],\n options.block ? rootBlockClass : '',\n options.disabled ? 'opacity-70' : '',\n ].filter(Boolean).join(' ')\n}\nexport function grSegmentedRootStyle(options: { variant: GrSegmentedVariant, size: GrSegmentedSize }): Record<string, string> {\n return {\n ...rootSizeStyles[options.size],\n ...rootVariantStyles[options.variant],\n }\n}\nexport function grSegmentedIndicatorClass(variant: GrSegmentedVariant): string {\n return [indicatorBaseClass, indicatorVariantClassMap[variant]].join(' ')\n}\nexport function grSegmentedItemClass(options: {\n variant: GrSegmentedVariant\n selected: boolean\n disabled: boolean\n iconOnly: boolean\n}): string {\n return [\n itemBaseClass,\n itemVariantClassMap[options.variant],\n options.selected ? itemSelectedClass : '',\n options.disabled ? itemDisabledClass : itemEnabledClass,\n options.iconOnly ? iconOnlyClass : '',\n ].filter(Boolean).join(' ')\n}\nexport const grSegmentedItemLabelClass = itemLabelClass\nexport const grSegmentedItemIconClass = itemIconClass\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n iconOnlyClass,\n indicatorBaseClass,\n indicatorVariantClassMap,\n itemBaseClass,\n itemDisabledClass,\n itemEnabledClass,\n itemIconClass,\n itemLabelClass,\n itemSelectedClass,\n itemVariantClassMap,\n rootBaseClass,\n rootBlockClass,\n rootVariantClassMap,\n} from './grSegmentedStyles'\n\nexport const grSegmentedClassTokens = {\n rootBaseClass: splitClassTokens(rootBaseClass),\n rootVariantClassMap: Object.values(rootVariantClassMap).flatMap(splitClassTokens),\n rootBlockClass: splitClassTokens(rootBlockClass),\n indicatorBaseClass: splitClassTokens(indicatorBaseClass),\n indicatorVariantClassMap: Object.values(indicatorVariantClassMap).flatMap(splitClassTokens),\n itemBaseClass: splitClassTokens(itemBaseClass),\n itemVariantClassMap: Object.values(itemVariantClassMap).flatMap(splitClassTokens),\n itemSelectedClass: splitClassTokens(itemSelectedClass),\n itemDisabledClass: splitClassTokens(itemDisabledClass),\n itemEnabledClass: splitClassTokens(itemEnabledClass),\n itemLabelClass: splitClassTokens(itemLabelClass),\n itemIconClass: splitClassTokens(itemIconClass),\n iconOnlyClass: splitClassTokens(iconOnlyClass),\n extra: splitClassTokens('opacity-70'),\n} as const\n\nexport const grSegmentedSafelist = [...new Set([\n ...grSegmentedClassTokens.rootBaseClass,\n ...grSegmentedClassTokens.rootVariantClassMap,\n ...grSegmentedClassTokens.rootBlockClass,\n ...grSegmentedClassTokens.indicatorBaseClass,\n ...grSegmentedClassTokens.indicatorVariantClassMap,\n ...grSegmentedClassTokens.itemBaseClass,\n ...grSegmentedClassTokens.itemVariantClassMap,\n ...grSegmentedClassTokens.itemSelectedClass,\n ...grSegmentedClassTokens.itemDisabledClass,\n ...grSegmentedClassTokens.itemEnabledClass,\n ...grSegmentedClassTokens.itemLabelClass,\n ...grSegmentedClassTokens.itemIconClass,\n ...grSegmentedClassTokens.iconOnlyClass,\n ...grSegmentedClassTokens.extra,\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport {grSegmentedSafelist} from './safelist'\n\nexport const grSegmentedConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSegmented',\n safelist: grSegmentedSafelist,\n tokenDefinitions: {\n light: {\n selector: ':root',\n tokens: {'ds-segmented-indicator-highlight-shadow': '0 0 0 0 transparent'}\n },\n dark: {\n selector: '.dark',\n tokens: {'ds-segmented-indicator-highlight-shadow': '0 0 0 1px rgba(248, 250, 252, 0.08)'}\n },\n }\n})"],"mappings":";;;AAUA,IAAa,gBACX;AACF,IAAa,sBAA0D;CACrE,OAAO;CACP,QAAQ;CACT;AACD,IAAa,iBAAiB;AAC9B,IAAa,qBACX;AACF,IAAa,2BAA+D;CAC1E,OAAQ;CACR,QAAQ;CACT;AACD,IAAa,gBACX;AACF,IAAa,sBAA0D;CACrE,OAAO;CACP,QAAQ;CACT;AACD,IAAa,oBAAoB;AACjC,IAAa,oBAAoB;AACjC,IAAa,mBAAmB;AAChC,IAAa,iBAAiB;AAC9B,IAAa,gBAAgB;AAC7B,IAAa,gBAAgB;AAC7B,IAAM,iBAAkE;CACtE,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACD,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACD,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACD,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACF;AACD,IAAM,oBAAwE;CAC5E,OAAO;EACL,2BAA2B;EAC3B,4BAA4B;EAC5B,+BAA+B;EAC/B,+BAA+B;EAC/B,gCAAgC;EAChC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,mCAAmC;EACpC;CACD,QAAQ;EACN,2BAA2B;EAC3B,4BAA4B;EAC5B,+BAA+B;EAC/B,+BAA+B;EAC/B,gCAAgC;EAChC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,mCAAmC;EACpC;CACF;AACD,SAAgB,qBAAqB,SAAqF;AACxH,QAAO;EACL;EACA,oBAAoB,QAAQ;EAC5B,QAAQ,QAAQ,iBAAiB;EACjC,QAAQ,WAAW,eAAe;EACnC,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;;AAE7B,SAAgB,qBAAqB,SAAyF;AAC5H,QAAO;EACL,GAAG,eAAe,QAAQ;EAC1B,GAAG,kBAAkB,QAAQ;EAC9B;;AAEH,SAAgB,0BAA0B,SAAqC;AAC7E,QAAO,CAAC,oBAAoB,yBAAyB,SAAS,CAAC,KAAK,IAAI;;AAE1E,SAAgB,qBAAqB,SAK1B;AACT,QAAO;EACL;EACA,oBAAoB,QAAQ;EAC5B,QAAQ,WAAW,oBAAoB;EACvC,QAAQ,WAAW,oBAAoB;EACvC,QAAQ,WAAW,gBAAgB;EACpC,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;;AAE7B,IAAa,4BAA4B;AACzC,IAAa,2BAA2B;;;ACpHxC,IAAa,yBAAyB;CACpC,eAAe,iBAAiB,cAAc;CAC9C,qBAAqB,OAAO,OAAO,oBAAoB,CAAC,QAAQ,iBAAiB;CACjF,gBAAgB,iBAAiB,eAAe;CAChD,oBAAoB,iBAAiB,mBAAmB;CACxD,0BAA0B,OAAO,OAAO,yBAAyB,CAAC,QAAQ,iBAAiB;CAC3F,eAAe,iBAAiB,cAAc;CAC9C,qBAAqB,OAAO,OAAO,oBAAoB,CAAC,QAAQ,iBAAiB;CACjF,mBAAmB,iBAAiB,kBAAkB;CACtD,mBAAmB,iBAAiB,kBAAkB;CACtD,kBAAkB,iBAAiB,iBAAiB;CACpD,gBAAgB,iBAAiB,eAAe;CAChD,eAAe,iBAAiB,cAAc;CAC9C,eAAe,iBAAiB,cAAc;CAC9C,OAAO,iBAAiB,aAAa;CACtC;AAED,IAAa,sBAAsB,CAAC,GAAG,IAAI,IAAI;CAC7C,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC3B,CAAC,CAAC;;;AC7CH,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;CACV,kBAAkB;EACd,OAAO;GACH,UAAU;GACV,QAAQ,EAAC,2CAA2C,uBAAsB;GAC7E;EACD,MAAM;GACF,UAAU;GACV,QAAQ,EAAC,2CAA2C,uCAAsC;GAC7F;EACJ;CACJ,CAAA"}
1
+ {"version":3,"file":"config-BhvNm4Pp.js","names":[],"sources":["../../src/components/GrSegmented/grSegmentedStyles.ts","../../src/components/GrSegmented/safelist.ts","../../src/components/GrSegmented/config.ts"],"sourcesContent":["import type { Component } from 'vue'\nexport type GrSegmentedVariant = 'pills' | 'button'\nexport type GrSegmentedSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type GrSegmentedValue = string | number\nexport type GrSegmentedOption = {\n value: GrSegmentedValue\n label?: string\n icon?: Component\n disabled?: boolean\n}\nexport const rootBaseClass =\n 'relative inline-grid min-w-0 grid-flow-col items-stretch rounded-[var(--ds-segmented-radius)] p-[var(--ds-segmented-padding)] transition-colors duration-150'\nexport const rootVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--ds-segmented-track-brd)] bg-[var(--ds-segmented-track-bg)] text-[var(--ds-segmented-item-color)]',\n button: 'border border-[var(--ds-segmented-track-brd)] bg-[var(--ds-segmented-track-bg)] text-[var(--ds-segmented-item-color)] shadow-[var(--ds-segmented-track-shadow)]',\n}\nexport const rootBlockClass = 'w-full'\nexport const indicatorBaseClass =\n 'pointer-events-none absolute left-0 top-0 rounded-[calc(var(--ds-segmented-radius)-var(--ds-segmented-padding))] transition-[transform,width,height,opacity] ease-out'\nexport const indicatorVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--ds-segmented-indicator-brd)] bg-[var(--ds-segmented-indicator-bg)] shadow-[var(--ds-segmented-indicator-shadow)]',\n button: 'border border-[var(--ds-segmented-indicator-brd)] bg-[var(--ds-segmented-indicator-bg)] shadow-[var(--ds-segmented-indicator-shadow)]',\n}\nexport const itemBaseClass =\n 'group/segmented-item relative z-[1] inline-flex min-h-[var(--ds-segmented-min-height)] min-w-0 items-center justify-center gap-2 rounded-[calc(var(--ds-segmented-radius)-var(--ds-segmented-padding))] px-[var(--ds-segmented-item-px)] py-[var(--ds-segmented-item-py)] text-[length:var(--ds-segmented-font-size)] leading-[var(--ds-segmented-line-height)] font-[var(--ds-segmented-font-weight)] text-[var(--ds-segmented-item-color)] transition-colors duration-150 select-none focus:outline-none focus-visible:shadow-[0_0_0_2px_var(--ring),0_0_0_4px_var(--bg)]'\nexport const itemVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: '',\n button: '',\n}\nexport const itemSelectedClass = 'text-[var(--ds-segmented-item-selected-color)]'\nexport const itemDisabledClass = 'cursor-not-allowed opacity-50'\nexport const itemEnabledClass = 'cursor-pointer hover:text-[var(--ds-segmented-item-hover-color)]'\nexport const itemLabelClass = 'truncate'\nexport const itemIconClass = 'h-4 w-4 shrink-0'\nexport const iconOnlyClass = 'gap-0'\nconst rootSizeStyles: Record<GrSegmentedSize, Record<string, string>> = {\n xs: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '10px',\n '--ds-segmented-item-py': '4px',\n '--ds-segmented-font-size': '0.75rem',\n '--ds-segmented-line-height': '1rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '24px',\n },\n sm: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '12px',\n '--ds-segmented-item-py': '6px',\n '--ds-segmented-font-size': '0.75rem',\n '--ds-segmented-line-height': '1rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '28px',\n },\n md: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '14px',\n '--ds-segmented-item-py': '8px',\n '--ds-segmented-font-size': '0.875rem',\n '--ds-segmented-line-height': '1.25rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '40px',\n },\n lg: {\n '--ds-segmented-radius': '9999px',\n '--ds-segmented-padding': '4px',\n '--ds-segmented-item-px': '16px',\n '--ds-segmented-item-py': '10px',\n '--ds-segmented-font-size': '0.9375rem',\n '--ds-segmented-line-height': '1.25rem',\n '--ds-segmented-font-weight': '600',\n '--ds-segmented-min-height': '46px',\n },\n}\nconst rootVariantStyles: Record<GrSegmentedVariant, Record<string, string>> = {\n pills: {\n '--ds-segmented-track-bg': 'var(--muted)',\n '--ds-segmented-track-brd': 'var(--brd)',\n '--ds-segmented-track-shadow': 'none',\n '--ds-segmented-indicator-bg': 'var(--card)',\n '--ds-segmented-indicator-brd': 'color-mix(in srgb, var(--card) 84%, var(--brd) 16%)',\n '--ds-segmented-indicator-shadow': 'var(--ds-shadow-1), var(--ds-segmented-indicator-highlight-shadow, 0 0 0 0 transparent)',\n '--ds-segmented-item-color': 'var(--muted-fg)',\n '--ds-segmented-item-selected-color': 'var(--fg)',\n '--ds-segmented-item-hover-color': 'var(--fg)',\n },\n button: {\n '--ds-segmented-track-bg': 'var(--card)',\n '--ds-segmented-track-brd': 'var(--brd)',\n '--ds-segmented-track-shadow': 'var(--ds-shadow-1)',\n '--ds-segmented-indicator-bg': 'var(--primary)',\n '--ds-segmented-indicator-brd': 'color-mix(in srgb, var(--primary) 88%, var(--brd) 12%)',\n '--ds-segmented-indicator-shadow': 'var(--ds-shadow-2)',\n '--ds-segmented-item-color': 'var(--muted-fg)',\n '--ds-segmented-item-selected-color': 'var(--primary-fg)',\n '--ds-segmented-item-hover-color': 'var(--fg)',\n },\n}\nexport function grSegmentedRootClass(options: { variant: GrSegmentedVariant, block: boolean, disabled: boolean }): string {\n return [\n rootBaseClass,\n rootVariantClassMap[options.variant],\n options.block ? rootBlockClass : '',\n options.disabled ? 'opacity-70' : '',\n ].filter(Boolean).join(' ')\n}\nexport function grSegmentedRootStyle(options: { variant: GrSegmentedVariant, size: GrSegmentedSize }): Record<string, string> {\n return {\n ...rootSizeStyles[options.size],\n ...rootVariantStyles[options.variant],\n }\n}\nexport function grSegmentedIndicatorClass(variant: GrSegmentedVariant): string {\n return [indicatorBaseClass, indicatorVariantClassMap[variant]].join(' ')\n}\nexport function grSegmentedItemClass(options: {\n variant: GrSegmentedVariant\n selected: boolean\n disabled: boolean\n iconOnly: boolean\n}): string {\n return [\n itemBaseClass,\n itemVariantClassMap[options.variant],\n options.selected ? itemSelectedClass : '',\n options.disabled ? itemDisabledClass : itemEnabledClass,\n options.iconOnly ? iconOnlyClass : '',\n ].filter(Boolean).join(' ')\n}\nexport const grSegmentedItemLabelClass = itemLabelClass\nexport const grSegmentedItemIconClass = itemIconClass\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n iconOnlyClass,\n indicatorBaseClass,\n indicatorVariantClassMap,\n itemBaseClass,\n itemDisabledClass,\n itemEnabledClass,\n itemIconClass,\n itemLabelClass,\n itemSelectedClass,\n itemVariantClassMap,\n rootBaseClass,\n rootBlockClass,\n rootVariantClassMap,\n} from './grSegmentedStyles'\n\nexport const grSegmentedClassTokens = {\n rootBaseClass: splitClassTokens(rootBaseClass),\n rootVariantClassMap: Object.values(rootVariantClassMap).flatMap(splitClassTokens),\n rootBlockClass: splitClassTokens(rootBlockClass),\n indicatorBaseClass: splitClassTokens(indicatorBaseClass),\n indicatorVariantClassMap: Object.values(indicatorVariantClassMap).flatMap(splitClassTokens),\n itemBaseClass: splitClassTokens(itemBaseClass),\n itemVariantClassMap: Object.values(itemVariantClassMap).flatMap(splitClassTokens),\n itemSelectedClass: splitClassTokens(itemSelectedClass),\n itemDisabledClass: splitClassTokens(itemDisabledClass),\n itemEnabledClass: splitClassTokens(itemEnabledClass),\n itemLabelClass: splitClassTokens(itemLabelClass),\n itemIconClass: splitClassTokens(itemIconClass),\n iconOnlyClass: splitClassTokens(iconOnlyClass),\n extra: splitClassTokens('opacity-70'),\n} as const\n\nexport const grSegmentedSafelist = [...new Set([\n ...grSegmentedClassTokens.rootBaseClass,\n ...grSegmentedClassTokens.rootVariantClassMap,\n ...grSegmentedClassTokens.rootBlockClass,\n ...grSegmentedClassTokens.indicatorBaseClass,\n ...grSegmentedClassTokens.indicatorVariantClassMap,\n ...grSegmentedClassTokens.itemBaseClass,\n ...grSegmentedClassTokens.itemVariantClassMap,\n ...grSegmentedClassTokens.itemSelectedClass,\n ...grSegmentedClassTokens.itemDisabledClass,\n ...grSegmentedClassTokens.itemEnabledClass,\n ...grSegmentedClassTokens.itemLabelClass,\n ...grSegmentedClassTokens.itemIconClass,\n ...grSegmentedClassTokens.iconOnlyClass,\n ...grSegmentedClassTokens.extra,\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport {grSegmentedSafelist} from './safelist'\n\nexport const grSegmentedConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSegmented',\n safelist: grSegmentedSafelist,\n tokenDefinitions: {\n light: {\n selector: ':root',\n tokens: {'ds-segmented-indicator-highlight-shadow': '0 0 0 0 transparent'}\n },\n dark: {\n selector: '.dark',\n tokens: {'ds-segmented-indicator-highlight-shadow': '0 0 0 1px rgba(248, 250, 252, 0.08)'}\n },\n }\n})"],"mappings":";;;AAUA,IAAa,gBACX;AACF,IAAa,sBAA0D;CACrE,OAAO;CACP,QAAQ;CACT;AACD,IAAa,iBAAiB;AAC9B,IAAa,qBACX;AACF,IAAa,2BAA+D;CAC1E,OAAQ;CACR,QAAQ;CACT;AACD,IAAa,gBACX;AACF,IAAa,sBAA0D;CACrE,OAAO;CACP,QAAQ;CACT;AACD,IAAa,oBAAoB;AACjC,IAAa,oBAAoB;AACjC,IAAa,mBAAmB;AAChC,IAAa,iBAAiB;AAC9B,IAAa,gBAAgB;AAC7B,IAAa,gBAAgB;AAC7B,IAAM,iBAAkE;CACtE,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACD,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACD,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACD,IAAI;EACF,yBAAyB;EACzB,0BAA0B;EAC1B,0BAA0B;EAC1B,0BAA0B;EAC1B,4BAA4B;EAC5B,8BAA8B;EAC9B,8BAA8B;EAC9B,6BAA6B;EAC9B;CACF;AACD,IAAM,oBAAwE;CAC5E,OAAO;EACL,2BAA2B;EAC3B,4BAA4B;EAC5B,+BAA+B;EAC/B,+BAA+B;EAC/B,gCAAgC;EAChC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,mCAAmC;EACpC;CACD,QAAQ;EACN,2BAA2B;EAC3B,4BAA4B;EAC5B,+BAA+B;EAC/B,+BAA+B;EAC/B,gCAAgC;EAChC,mCAAmC;EACnC,6BAA6B;EAC7B,sCAAsC;EACtC,mCAAmC;EACpC;CACF;AACD,SAAgB,qBAAqB,SAAqF;AACxH,QAAO;EACL;EACA,oBAAoB,QAAQ;EAC5B,QAAQ,QAAQ,iBAAiB;EACjC,QAAQ,WAAW,eAAe;EACnC,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;;AAE7B,SAAgB,qBAAqB,SAAyF;AAC5H,QAAO;EACL,GAAG,eAAe,QAAQ;EAC1B,GAAG,kBAAkB,QAAQ;EAC9B;;AAEH,SAAgB,0BAA0B,SAAqC;AAC7E,QAAO,CAAC,oBAAoB,yBAAyB,SAAS,CAAC,KAAK,IAAI;;AAE1E,SAAgB,qBAAqB,SAK1B;AACT,QAAO;EACL;EACA,oBAAoB,QAAQ;EAC5B,QAAQ,WAAW,oBAAoB;EACvC,QAAQ,WAAW,oBAAoB;EACvC,QAAQ,WAAW,gBAAgB;EACpC,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;;AAE7B,IAAa,4BAA4B;AACzC,IAAa,2BAA2B;;;ACpHxC,IAAa,yBAAyB;CACpC,eAAe,iBAAiB,cAAc;CAC9C,qBAAqB,OAAO,OAAO,oBAAoB,CAAC,QAAQ,iBAAiB;CACjF,gBAAgB,iBAAiB,eAAe;CAChD,oBAAoB,iBAAiB,mBAAmB;CACxD,0BAA0B,OAAO,OAAO,yBAAyB,CAAC,QAAQ,iBAAiB;CAC3F,eAAe,iBAAiB,cAAc;CAC9C,qBAAqB,OAAO,OAAO,oBAAoB,CAAC,QAAQ,iBAAiB;CACjF,mBAAmB,iBAAiB,kBAAkB;CACtD,mBAAmB,iBAAiB,kBAAkB;CACtD,kBAAkB,iBAAiB,iBAAiB;CACpD,gBAAgB,iBAAiB,eAAe;CAChD,eAAe,iBAAiB,cAAc;CAC9C,eAAe,iBAAiB,cAAc;CAC9C,OAAO,iBAAiB,aAAa;CACtC;AAED,IAAa,sBAAsB,CAAC,GAAG,IAAI,IAAI;CAC7C,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC1B,GAAG,uBAAuB;CAC3B,CAAC,CAAC;;;AC7CH,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;CACV,kBAAkB;EACd,OAAO;GACH,UAAU;GACV,QAAQ,EAAC,2CAA2C,uBAAsB;GAC7E;EACD,MAAM;GACF,UAAU;GACV,QAAQ,EAAC,2CAA2C,uCAAsC;GAC7F;EACJ;CACJ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-BNOf_qjD.js","names":[],"sources":["../../src/components/GrTreeSelect/grTreeSelectStyles.ts","../../src/components/GrTreeSelect/safelist.ts","../../src/components/GrTreeSelect/config.ts"],"sourcesContent":["import type { GrInputSize } from '../GrInput'\n\nexport type GrTreeSelectState = 'default' | 'success' | 'warning' | 'danger'\n\nexport const sizeClassBySize: Record<GrInputSize, 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 borderClassByState: Record<GrTreeSelectState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-visible:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-visible:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-visible:ring-[var(--ds-danger)]',\n}\n\nexport function grTreeSelectClass(options: { size: GrInputSize, state: GrTreeSelectState, invalid: boolean }): string {\n return [\n sizeClassBySize[options.size],\n 'pr-9',\n options.invalid ? borderClassByState.danger : borderClassByState[options.state],\n ].join(' ')\n}\n\nexport const grTreeSelectPanelClass = 'rounded-[var(--ds-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--ds-shadow-2)] overflow-hidden'\n","import { splitClassTokens } from '../shared/classTokens'\nimport { borderClassByState, grTreeSelectPanelClass, sizeClassBySize } from './grTreeSelectStyles'\n\nexport const grTreeSelectSafelist = [...new Set([\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n 'pr-9',\n ...splitClassTokens(grTreeSelectPanelClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTreeSelectSafelist } from './safelist'\n\nexport const grTreeSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTreeSelect',\n safelist: grTreeSelectSafelist,\n dependencies: ['GrInput', 'GrTree'],\n})"],"mappings":";;;AAIA,IAAa,kBAA+C;CAC1D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,qBAAwD;CACnE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;AAED,SAAgB,kBAAkB,SAAoF;AACpH,QAAO;EACL,gBAAgB,QAAQ;EACxB;EACA,QAAQ,UAAU,mBAAmB,SAAS,mBAAmB,QAAQ;EAC1E,CAAC,KAAK,IAAI;;AAGb,IAAa,yBAAyB;;;ACvBtC,IAAa,uBAAuB,CAAC,GAAG,IAAI,IAAI;CAC9C,GAAG,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB;CAC3D,GAAG,OAAO,OAAO,mBAAmB,CAAC,QAAQ,iBAAiB;CAC9D;CACA,GAAG,iBAAiB,uBAAuB;CAC5C,CAAC,CAAC;;;ACJH,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,UAAU;CACV,cAAc,CAAC,WAAW,SAAS;CACpC,CAAA"}
1
+ {"version":3,"file":"config-C0b_3LJV.js","names":[],"sources":["../../src/components/GrTreeSelect/grTreeSelectStyles.ts","../../src/components/GrTreeSelect/safelist.ts","../../src/components/GrTreeSelect/config.ts"],"sourcesContent":["import type { GrInputSize } from '../GrInput'\n\nexport type GrTreeSelectState = 'default' | 'success' | 'warning' | 'danger'\n\nexport const sizeClassBySize: Record<GrInputSize, 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 borderClassByState: Record<GrTreeSelectState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-visible:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-visible:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-visible:ring-[var(--ds-danger)]',\n}\n\nexport function grTreeSelectClass(options: { size: GrInputSize, state: GrTreeSelectState, invalid: boolean }): string {\n return [\n sizeClassBySize[options.size],\n 'pr-9',\n options.invalid ? borderClassByState.danger : borderClassByState[options.state],\n ].join(' ')\n}\n\nexport const grTreeSelectPanelClass = 'rounded-[var(--ds-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--ds-shadow-2)] overflow-hidden'\n","import { splitClassTokens } from '../shared/classTokens'\nimport { borderClassByState, grTreeSelectPanelClass, sizeClassBySize } from './grTreeSelectStyles'\n\nexport const grTreeSelectSafelist = [...new Set([\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n 'pr-9',\n ...splitClassTokens(grTreeSelectPanelClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTreeSelectSafelist } from './safelist'\n\nexport const grTreeSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTreeSelect',\n safelist: grTreeSelectSafelist,\n dependencies: ['GrInput', 'GrTree'],\n})"],"mappings":";;;AAIA,IAAa,kBAA+C;CAC1D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,qBAAwD;CACnE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;AAED,SAAgB,kBAAkB,SAAoF;AACpH,QAAO;EACL,gBAAgB,QAAQ;EACxB;EACA,QAAQ,UAAU,mBAAmB,SAAS,mBAAmB,QAAQ;EAC1E,CAAC,KAAK,IAAI;;AAGb,IAAa,yBAAyB;;;ACvBtC,IAAa,uBAAuB,CAAC,GAAG,IAAI,IAAI;CAC9C,GAAG,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB;CAC3D,GAAG,OAAO,OAAO,mBAAmB,CAAC,QAAQ,iBAAiB;CAC9D;CACA,GAAG,iBAAiB,uBAAuB;CAC5C,CAAC,CAAC;;;ACJH,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,UAAU;CACV,cAAc,CAAC,WAAW,SAAS;CACpC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-C0rHS1-l.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})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,cAAc,CAAC,SAAS;CAC3B,CAAC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"config-C4qAA0Sb.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 +1 @@
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"}
1
+ {"version":3,"file":"config-C5TN9J2Z.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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-CVnluhKO.js","names":[],"sources":["../../src/components/GrFileUpload/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFileUploadConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFileUpload',\n dependencies: ['GrIcon'],\n})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,SAAS;CACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-DUtUkSzc.js","names":[],"sources":["../../src/components/GrLink/grLinkStyles.ts","../../src/components/GrLink/safelist.ts","../../src/components/GrLink/config.ts"],"sourcesContent":["export type GrLinkVariant = 'primary' | 'default' | 'muted' | 'muted-primary' |'danger'\nexport type GrLinkUnderline = 'auto' | 'always' | 'none'\nexport type GrLinkSize = 'sm' | 'md' | 'lg'\n\n// Базовые классы корневого элемента (`<a>`/`<span>`). Вынесены сюда,\n// чтобы быть единственным источником истины как для шаблона, так и для safelist.\nexport const baseRootClass = 'inline-flex items-center gap-1 rounded-[6px] transition-colors duration-150'\nexport const focusRingClass = 'focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]'\n\nexport const sizeClassBySize: Record<GrLinkSize, string> = {\n sm: 'text-sm',\n md: 'text-[14px]',\n lg: 'text-base',\n}\n\nexport const variantClassByVariant: Record<GrLinkVariant, string> = {\n primary:\n 'text-[var(--primary)] visited: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 'muted-primary': 'text-[var(--muted-fg)] hover:text-[var(--primary-hover)] active:text-[var(--primary-hover)]',\n danger: 'text-[var(--ds-danger)] hover:text-[var(--ds-danger-hover)] active:text-[var(--ds-danger-active)]',\n}\n\nexport const disabledStateClass = 'cursor-not-allowed opacity-60 text-[var(--muted-fg)]'\n\nconst UNDERLINE_VALUES: readonly GrLinkUnderline[] = ['auto', 'always', 'none']\n\nfunction underlineClass(underline: GrLinkUnderline, disabled: boolean): string {\n if (disabled) return 'no-underline'\n if (underline === 'always') return 'underline underline-offset-4'\n if (underline === 'none') return 'no-underline'\n return 'no-underline hover:underline hover:underline-offset-4'\n}\n\n// Derived from `underlineClass` so that there is a single source of truth:\n// any change/extension of the underline logic is automatically reflected\n// in the safelist without manual updates.\nexport const underlineClasses: readonly string[] = [...new Set(\n UNDERLINE_VALUES.flatMap(u => [underlineClass(u, false), underlineClass(u, true)]),\n)]\n\nfunction disabledClass(disabled: boolean): string {\n return disabled ? disabledStateClass : ''\n}\n\nexport function grLinkClass(options: { size: GrLinkSize, underline: GrLinkUnderline, variant: GrLinkVariant, disabled: boolean }): string {\n return [\n sizeClassBySize[options.size],\n underlineClass(options.underline, options.disabled),\n variantClassByVariant[options.variant],\n disabledClass(options.disabled),\n ]\n .filter(Boolean)\n .join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n baseRootClass,\n disabledStateClass,\n focusRingClass,\n sizeClassBySize,\n underlineClasses,\n variantClassByVariant,\n} from './grLinkStyles'\n\nexport const grLinkSafelist = [...new Set([\n ...splitClassTokens(baseRootClass),\n ...splitClassTokens(focusRingClass),\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...underlineClasses.flatMap(splitClassTokens),\n ...Object.values(variantClassByVariant).flatMap(splitClassTokens),\n ...splitClassTokens(disabledStateClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grLinkSafelist } from './safelist'\n\nexport const grLinkConfig = defineGranularComponent(import.meta.url, {\n name: 'GrLink',\n safelist: grLinkSafelist,\n})"],"mappings":";;;AAMA,IAAa,gBAAgB;AAC7B,IAAa,iBAAiB;AAE9B,IAAa,kBAA8C;CACzD,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,wBAAuD;CAClE,SACE;CACF,SAAS;CACT,OAAO;CACP,iBAAiB;CACjB,QAAQ;CACT;AAED,IAAa,qBAAqB;AAElC,IAAM,mBAA+C;CAAC;CAAQ;CAAU;CAAO;AAE/E,SAAS,eAAe,WAA4B,UAA2B;AAC7E,KAAI,SAAU,QAAO;AACrB,KAAI,cAAc,SAAU,QAAO;AACnC,KAAI,cAAc,OAAQ,QAAO;AACjC,QAAO;;AAMT,IAAa,mBAAsC,CAAC,GAAG,IAAI,IACzD,iBAAiB,SAAQ,MAAK,CAAC,eAAe,GAAG,MAAM,EAAE,eAAe,GAAG,KAAK,CAAC,CAAC,CACnF,CAAC;AAEF,SAAS,cAAc,UAA2B;AAChD,QAAO,WAAW,qBAAqB;;AAGzC,SAAgB,YAAY,SAA8G;AACxI,QAAO;EACL,gBAAgB,QAAQ;EACxB,eAAe,QAAQ,WAAW,QAAQ,SAAS;EACnD,sBAAsB,QAAQ;EAC9B,cAAc,QAAQ,SAAS;EAChC,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;;;AC5Cd,IAAa,iBAAiB,CAAC,GAAG,IAAI,IAAI;CACxC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,eAAe;CACnC,GAAG,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB;CAC3D,GAAG,iBAAiB,QAAQ,iBAAiB;CAC7C,GAAG,OAAO,OAAO,sBAAsB,CAAC,QAAQ,iBAAiB;CACjE,GAAG,iBAAiB,mBAAmB;CACxC,CAAC,CAAC;;;ACbH,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CACN,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-CjEplP6D.js","names":[],"sources":["../../src/components/GrLink/grLinkStyles.ts","../../src/components/GrLink/safelist.ts","../../src/components/GrLink/config.ts"],"sourcesContent":["export type GrLinkVariant = 'primary' | 'default' | 'muted' | 'muted-primary' |'danger'\nexport type GrLinkUnderline = 'auto' | 'always' | 'none'\nexport type GrLinkSize = 'sm' | 'md' | 'lg'\n\n// Базовые классы корневого элемента (`<a>`/`<span>`). Вынесены сюда,\n// чтобы быть единственным источником истины как для шаблона, так и для safelist.\nexport const baseRootClass = 'inline-flex items-center gap-1 rounded-[6px] transition-colors duration-150'\nexport const focusRingClass = 'focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]'\n\nexport const sizeClassBySize: Record<GrLinkSize, string> = {\n sm: 'text-sm',\n md: 'text-[14px]',\n lg: 'text-base',\n}\n\nexport const variantClassByVariant: Record<GrLinkVariant, string> = {\n primary:\n 'text-[var(--primary)] visited: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 'muted-primary': 'text-[var(--muted-fg)] hover:text-[var(--primary-hover)] active:text-[var(--primary-hover)]',\n danger: 'text-[var(--ds-danger)] hover:text-[var(--ds-danger-hover)] active:text-[var(--ds-danger-active)]',\n}\n\nexport const disabledStateClass = 'cursor-not-allowed opacity-60 text-[var(--muted-fg)]'\n\nconst UNDERLINE_VALUES: readonly GrLinkUnderline[] = ['auto', 'always', 'none']\n\nfunction underlineClass(underline: GrLinkUnderline, disabled: boolean): string {\n if (disabled) return 'no-underline'\n if (underline === 'always') return 'underline underline-offset-4'\n if (underline === 'none') return 'no-underline'\n return 'no-underline hover:underline hover:underline-offset-4'\n}\n\n// Derived from `underlineClass` so that there is a single source of truth:\n// any change/extension of the underline logic is automatically reflected\n// in the safelist without manual updates.\nexport const underlineClasses: readonly string[] = [...new Set(\n UNDERLINE_VALUES.flatMap(u => [underlineClass(u, false), underlineClass(u, true)]),\n)]\n\nfunction disabledClass(disabled: boolean): string {\n return disabled ? disabledStateClass : ''\n}\n\nexport function grLinkClass(options: { size: GrLinkSize, underline: GrLinkUnderline, variant: GrLinkVariant, disabled: boolean }): string {\n return [\n sizeClassBySize[options.size],\n underlineClass(options.underline, options.disabled),\n variantClassByVariant[options.variant],\n disabledClass(options.disabled),\n ]\n .filter(Boolean)\n .join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n baseRootClass,\n disabledStateClass,\n focusRingClass,\n sizeClassBySize,\n underlineClasses,\n variantClassByVariant,\n} from './grLinkStyles'\n\nexport const grLinkSafelist = [...new Set([\n ...splitClassTokens(baseRootClass),\n ...splitClassTokens(focusRingClass),\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...underlineClasses.flatMap(splitClassTokens),\n ...Object.values(variantClassByVariant).flatMap(splitClassTokens),\n ...splitClassTokens(disabledStateClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grLinkSafelist } from './safelist'\n\nexport const grLinkConfig = defineGranularComponent(import.meta.url, {\n name: 'GrLink',\n safelist: grLinkSafelist,\n})"],"mappings":";;;AAMA,IAAa,gBAAgB;AAC7B,IAAa,iBAAiB;AAE9B,IAAa,kBAA8C;CACzD,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,IAAa,wBAAuD;CAClE,SACE;CACF,SAAS;CACT,OAAO;CACP,iBAAiB;CACjB,QAAQ;CACT;AAED,IAAa,qBAAqB;AAElC,IAAM,mBAA+C;CAAC;CAAQ;CAAU;CAAO;AAE/E,SAAS,eAAe,WAA4B,UAA2B;AAC7E,KAAI,SAAU,QAAO;AACrB,KAAI,cAAc,SAAU,QAAO;AACnC,KAAI,cAAc,OAAQ,QAAO;AACjC,QAAO;;AAMT,IAAa,mBAAsC,CAAC,GAAG,IAAI,IACzD,iBAAiB,SAAQ,MAAK,CAAC,eAAe,GAAG,MAAM,EAAE,eAAe,GAAG,KAAK,CAAC,CAAC,CACnF,CAAC;AAEF,SAAS,cAAc,UAA2B;AAChD,QAAO,WAAW,qBAAqB;;AAGzC,SAAgB,YAAY,SAA8G;AACxI,QAAO;EACL,gBAAgB,QAAQ;EACxB,eAAe,QAAQ,WAAW,QAAQ,SAAS;EACnD,sBAAsB,QAAQ;EAC9B,cAAc,QAAQ,SAAS;EAChC,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;;;AC5Cd,IAAa,iBAAiB,CAAC,GAAG,IAAI,IAAI;CACxC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,eAAe;CACnC,GAAG,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB;CAC3D,GAAG,iBAAiB,QAAQ,iBAAiB;CAC7C,GAAG,OAAO,OAAO,sBAAsB,CAAC,QAAQ,iBAAiB;CACjE,GAAG,iBAAiB,mBAAmB;CACxC,CAAC,CAAC;;;ACbH,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-D19pyP4D.js","names":[],"sources":["../../src/components/GrInput/grInputStyles.ts","../../src/components/GrInput/safelist.ts","../../src/components/GrInput/config.ts"],"sourcesContent":["export const sizes = {\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} as const\n\nexport const textAlign = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n} as const\n\nexport const states = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-visible:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-visible:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-visible:ring-[var(--ds-danger)]',\n} as const","import { splitClassTokens } from '../shared/classTokens'\nimport { sizes, states, textAlign } from './grInputStyles'\n\nexport const grInputSafelist = [...new Set([\n ...Object.values(sizes).flatMap(splitClassTokens),\n ...Object.values(textAlign).flatMap(splitClassTokens),\n ...Object.values(states).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\nimport { grInputSafelist } from './safelist'\n\nexport const grInputConfig = defineGranularComponent(import.meta.url, {\n name: 'GrInput',\n safelist: grInputSafelist,\n})\n"],"mappings":";;;AAAA,IAAa,QAAQ;CACjB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,IAAa,YAAY;CACrB,MAAM;CACN,QAAQ;CACR,OAAO;CACV;AAED,IAAa,SAAS;CAClB,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACX;;;ACfD,IAAa,kBAAkB,CAAC,GAAG,IAAI,IAAI;CACzC,GAAG,OAAO,OAAO,MAAM,CAAC,QAAQ,iBAAiB;CACjD,GAAG,OAAO,OAAO,UAAU,CAAC,QAAQ,iBAAiB;CACrD,GAAG,OAAO,OAAO,OAAO,CAAC,QAAQ,iBAAiB;CACnD,CAAC,CAAC;;;ACJH,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,UAAU;CACX,CAAC"}
1
+ {"version":3,"file":"config-CtomKf-k.js","names":[],"sources":["../../src/components/GrInput/grInputStyles.ts","../../src/components/GrInput/safelist.ts","../../src/components/GrInput/config.ts"],"sourcesContent":["export const sizes = {\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} as const\n\nexport const textAlign = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n} as const\n\nexport const states = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-visible:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-visible:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-visible:ring-[var(--ds-danger)]',\n} as const","import { splitClassTokens } from '../shared/classTokens'\nimport { sizes, states, textAlign } from './grInputStyles'\n\nexport const grInputSafelist = [...new Set([\n ...Object.values(sizes).flatMap(splitClassTokens),\n ...Object.values(textAlign).flatMap(splitClassTokens),\n ...Object.values(states).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\nimport { grInputSafelist } from './safelist'\n\nexport const grInputConfig = defineGranularComponent(import.meta.url, {\n name: 'GrInput',\n safelist: grInputSafelist,\n})\n"],"mappings":";;;AAAA,IAAa,QAAQ;CACjB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,IAAa,YAAY;CACrB,MAAM;CACN,QAAQ;CACR,OAAO;CACV;AAED,IAAa,SAAS;CAClB,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACX;;;ACfD,IAAa,kBAAkB,CAAC,GAAG,IAAI,IAAI;CACzC,GAAG,OAAO,OAAO,MAAM,CAAC,QAAQ,iBAAiB;CACjD,GAAG,OAAO,OAAO,UAAU,CAAC,QAAQ,iBAAiB;CACrD,GAAG,OAAO,OAAO,OAAO,CAAC,QAAQ,iBAAiB;CACnD,CAAC,CAAC;;;ACJH,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,UAAU;CACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-BvuQUBtZ.js","names":[],"sources":["../../src/components/GrToaster/grToasterStyles.ts","../../src/components/GrToaster/safelist.ts","../../src/components/GrToaster/config.ts"],"sourcesContent":["export type GrToasterPlacement = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'\n\n// Классы позиционирования контейнера по углам экрана.\n// Вынесены в отдельный модуль, чтобы быть единственным источником истины\n// для шаблона `GrToaster.vue` и для safelist.\nexport const PLACEMENT_CLASS: Record<GrToasterPlacement, string> = {\n 'top-right': 'right-4 top-4',\n 'top-left': 'left-4 top-4',\n 'bottom-right': 'right-4 bottom-4',\n 'bottom-left': 'left-4 bottom-4',\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { PLACEMENT_CLASS } from './grToasterStyles'\n\n// В safelist попадают только те классы, которые приходят в шаблон динамически\n// (через `:class`/`PLACEMENT_CLASS`). Литералы из шаблона (`class=\"...\"`)\n// UnoCSS находит статическим сканом и дублировать их здесь не нужно.\nexport const grToasterSafelist = [...new Set(\n Object.values(PLACEMENT_CLASS).flatMap(splitClassTokens),\n)]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grToasterSafelist } from './safelist'\n\nexport const grToasterConfig = defineGranularComponent(import.meta.url, {\n name: 'GrToaster',\n dependencies: ['GrButton', 'GrIcon'],\n safelist: grToasterSafelist,\n})\n"],"mappings":";;;AAKA,IAAa,kBAAsD;CACjE,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,eAAe;CAChB;;;ACJD,IAAa,oBAAoB,CAAC,GAAG,IAAI,IACvC,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB,CACzD,CAAC;;;ACJF,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,cAAc,CAAC,YAAY,SAAS;CACpC,UAAU;CACX,CAAC"}
1
+ {"version":3,"file":"config-CxCAfXZ1.js","names":[],"sources":["../../src/components/GrToaster/grToasterStyles.ts","../../src/components/GrToaster/safelist.ts","../../src/components/GrToaster/config.ts"],"sourcesContent":["export type GrToasterPlacement = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'\n\n// Классы позиционирования контейнера по углам экрана.\n// Вынесены в отдельный модуль, чтобы быть единственным источником истины\n// для шаблона `GrToaster.vue` и для safelist.\nexport const PLACEMENT_CLASS: Record<GrToasterPlacement, string> = {\n 'top-right': 'right-4 top-4',\n 'top-left': 'left-4 top-4',\n 'bottom-right': 'right-4 bottom-4',\n 'bottom-left': 'left-4 bottom-4',\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { PLACEMENT_CLASS } from './grToasterStyles'\n\n// В safelist попадают только те классы, которые приходят в шаблон динамически\n// (через `:class`/`PLACEMENT_CLASS`). Литералы из шаблона (`class=\"...\"`)\n// UnoCSS находит статическим сканом и дублировать их здесь не нужно.\nexport const grToasterSafelist = [...new Set(\n Object.values(PLACEMENT_CLASS).flatMap(splitClassTokens),\n)]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grToasterSafelist } from './safelist'\n\nexport const grToasterConfig = defineGranularComponent(import.meta.url, {\n name: 'GrToaster',\n dependencies: ['GrButton', 'GrIcon'],\n safelist: grToasterSafelist,\n})\n"],"mappings":";;;AAKA,IAAa,kBAAsD;CACjE,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,eAAe;CAChB;;;ACJD,IAAa,oBAAoB,CAAC,GAAG,IAAI,IACvC,OAAO,OAAO,gBAAgB,CAAC,QAAQ,iBAAiB,CACzD,CAAC;;;ACJF,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,cAAc,CAAC,YAAY,SAAS;CACpC,UAAU;CACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-BDiLiqSk.js","names":[],"sources":["../../src/components/GrNavbar/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grNavbarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrNavbar',\n dependencies: ['GrButton', 'GrIcon'],\n})\n"],"mappings":";;AAEA,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,YAAY,SAAS;CACrC,CAAC"}
1
+ {"version":3,"file":"config-D1DI3roo.js","names":[],"sources":["../../src/components/GrNavbar/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grNavbarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrNavbar',\n dependencies: ['GrButton', 'GrIcon'],\n})\n"],"mappings":";;AAEA,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,YAAY,SAAS;CACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-CgjOJ3aF.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})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,iBAAiB,UAAU;CAC3C,CAAC"}
1
+ {"version":3,"file":"config-D27BL0H9.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})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,iBAAiB,UAAU;CAC3C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-D32znLtV2.js","names":[],"sources":["../../src/components/GrTree/safelist.ts","../../src/components/GrTree/config.ts"],"sourcesContent":["// Только динамические значения иконок-пропов (`expandIcon`/`collapseIcon`/`dragHandleIcon`).\n// Литералы шаблона (`py-2`, `px-2`, `ml-6`, ...) не дублируем — UnoCSS находит их сканом.\nexport const grTreeSafelist = [\n 'i-lucide-chevron-right',\n 'i-lucide-grip-vertical',\n] as const","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTreeSafelist } from './safelist'\n\nexport const grTreeConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTree',\n safelist: grTreeSafelist,\n})"],"mappings":";;AAEA,IAAa,iBAAiB,CAC5B,0BACA,yBACD;;;ACDD,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-YSOeh6cy.js","names":[],"sources":["../../src/components/GrFormSection/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFormSectionConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormSection',\n})\n"],"mappings":";;AAEA,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK,EAC1E,MAAM,iBACP,CAAC"}
1
+ {"version":3,"file":"config-D6Af6WZw.js","names":[],"sources":["../../src/components/GrFormSection/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFormSectionConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormSection',\n})\n"],"mappings":";;AAEA,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK,EAC1E,MAAM,iBACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-BulF0Bf-.js","names":[],"sources":["../../src/components/GrImageViewer/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grImageViewerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrImageViewer',\n})\n"],"mappings":";;AAEA,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK,EAC1E,MAAM,iBACP,CAAC"}
1
+ {"version":3,"file":"config-D98m8iyz.js","names":[],"sources":["../../src/components/GrImageViewer/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grImageViewerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrImageViewer',\n})\n"],"mappings":";;AAEA,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK,EAC1E,MAAM,iBACP,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-DDLoUczC.js","names":[],"sources":["../../src/components/GrTabs/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grTabsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTabs',\n})\n"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK,EACjE,MAAM,UACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-CFcv0hjb.js","names":[],"sources":["../../src/components/GrTable/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\n// Все классы GrTable — статические литералы в шаблоне, UnoCSS найдёт их сканом.\nexport const grTableConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTable',\n})\n"],"mappings":";;AAGA,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK,EACpE,MAAM,WACP,CAAC"}
1
+ {"version":3,"file":"config-DQOSlWvp.js","names":[],"sources":["../../src/components/GrTable/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\n// Все классы GrTable — статические литералы в шаблоне, UnoCSS найдёт их сканом.\nexport const grTableConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTable',\n})\n"],"mappings":";;AAGA,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK,EACpE,MAAM,WACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-ndXqsz5A.js","names":[],"sources":["../../src/components/GrFormFile/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFormFileConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormFile',\n dependencies: ['GrButton', 'GrIcon'],\n})\n"],"mappings":";;AAEA,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,cAAc,CAAC,YAAY,SAAS;CACrC,CAAC"}
1
+ {"version":3,"file":"config-DbqFk-IW.js","names":[],"sources":["../../src/components/GrFormFile/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFormFileConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormFile',\n dependencies: ['GrButton', 'GrIcon'],\n})\n"],"mappings":";;AAEA,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,cAAc,CAAC,YAAY,SAAS;CACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-CdHY0Z7L.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})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK,EACtE,MAAM,aACP,CAAC"}
1
+ {"version":3,"file":"config-DnsISjD8.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})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK,EACtE,MAAM,aACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-BFZN9-vt.js","names":[],"sources":["../../src/components/GrPagination/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grPaginationConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPagination',\n dependencies: ['GrButton', 'GrSelect'],\n})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,YAAY,WAAW;CACvC,CAAC"}
1
+ {"version":3,"file":"config-DudL02ag.js","names":[],"sources":["../../src/components/GrPagination/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grPaginationConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPagination',\n dependencies: ['GrButton', 'GrSelect'],\n})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,YAAY,WAAW;CACvC,CAAC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"config-Dusr9jcE.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 +1 @@
1
- {"version":3,"file":"config-CWvHiaqr2.js","names":[],"sources":["../../src/components/GrTextarea/grTextareaStyles.ts","../../src/components/GrTextarea/safelist.ts","../../src/components/GrTextarea/config.ts"],"sourcesContent":["export type GrTextareaState = 'default' | 'success' | 'warning' | 'danger'\n\nexport const borderClassByState: Record<GrTextareaState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-visible:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-visible:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-visible:ring-[var(--ds-danger)]',\n}\n\nexport function grTextareaClass(options: { state: GrTextareaState, invalid: boolean }): string {\n return options.invalid ? borderClassByState.danger : borderClassByState[options.state]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { borderClassByState } from './grTextareaStyles'\n\nexport const grTextareaSafelist = [...new Set([\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTextareaSafelist } from './safelist'\n\nexport const grTextareaConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTextarea',\n safelist: grTextareaSafelist,\n})"],"mappings":";;;AAEA,IAAa,qBAAsD;CACjE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;AAED,SAAgB,gBAAgB,SAA+D;AAC7F,QAAO,QAAQ,UAAU,mBAAmB,SAAS,mBAAmB,QAAQ;;;;ACPlF,IAAa,qBAAqB,CAAC,GAAG,IAAI,IAAI,CAC5C,GAAG,OAAO,OAAO,mBAAmB,CAAC,QAAQ,iBAAiB,CAC/D,CAAC,CAAC;;;ACDH,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-DxqMXzNV2.js","names":[],"sources":["../../src/components/GrTextarea/grTextareaStyles.ts","../../src/components/GrTextarea/safelist.ts","../../src/components/GrTextarea/config.ts"],"sourcesContent":["export type GrTextareaState = 'default' | 'success' | 'warning' | 'danger'\n\nexport const borderClassByState: Record<GrTextareaState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--ds-success)] focus-visible:ring-[var(--ds-success)]',\n warning: 'border-[var(--ds-warning)] focus-visible:ring-[var(--ds-warning)]',\n danger: 'border-[var(--ds-danger)] focus-visible:ring-[var(--ds-danger)]',\n}\n\nexport function grTextareaClass(options: { state: GrTextareaState, invalid: boolean }): string {\n return options.invalid ? borderClassByState.danger : borderClassByState[options.state]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { borderClassByState } from './grTextareaStyles'\n\nexport const grTextareaSafelist = [...new Set([\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTextareaSafelist } from './safelist'\n\nexport const grTextareaConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTextarea',\n safelist: grTextareaSafelist,\n})"],"mappings":";;;AAEA,IAAa,qBAAsD;CACjE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACT;AAED,SAAgB,gBAAgB,SAA+D;AAC7F,QAAO,QAAQ,UAAU,mBAAmB,SAAS,mBAAmB,QAAQ;;;;ACPlF,IAAa,qBAAqB,CAAC,GAAG,IAAI,IAAI,CAC5C,GAAG,OAAO,OAAO,mBAAmB,CAAC,QAAQ,iBAAiB,CAC/D,CAAC,CAAC;;;ACDH,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-Mp9DJ9Mq2.js","names":[],"sources":["../../src/components/GrSkeleton/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grSkeletonConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSkeleton',\n})\n"],"mappings":";;AAEA,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK,EACvE,MAAM,cACP,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BPeBXNzu.js";
2
- import { c as selectLinkNativeLabelVariantClassByVariant, d as selectSizeClassBySize, l as selectLinkSizeClassBySize, u as selectLinkVariantClassByVariant } from "./grSelectStyles-daEeDlBn.js";
2
+ import { c as selectLinkNativeLabelVariantClassByVariant, d as selectSizeClassBySize, l as selectLinkSizeClassBySize, u as selectLinkVariantClassByVariant } from "./grSelectStyles-DTAYNzxn.js";
3
3
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
4
4
  //#region src/components/GrSelect/safelist.ts
5
5
  var grSelectSafelist = [...new Set([
@@ -1 +1 @@
1
- {"version":3,"file":"config-R0jaXatX.js","names":[],"sources":["../../src/components/GrSelect/safelist.ts","../../src/components/GrSelect/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n selectLinkNativeLabelVariantClassByVariant,\n selectLinkSizeClassBySize,\n selectLinkVariantClassByVariant,\n selectSizeClassBySize,\n} from './grSelectStyles'\n\n// Правило: литералы из шаблонов (`defaultBaseClass`/`linkBaseClass`/`grSelectPanelClasses`\n// и прочие статические строки) в safelist не дублируем — UnoCSS находит их сканом.\nexport const grSelectSafelist = [...new Set([\n ...Object.values(selectSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(selectLinkSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(selectLinkVariantClassByVariant).flatMap(splitClassTokens),\n ...Object.values(selectLinkNativeLabelVariantClassByVariant).flatMap(splitClassTokens),\n ...splitClassTokens('no-underline underline underline-offset-4 hover:underline hover:underline-offset-4 peer-hover:underline peer-hover:underline-offset-4'),\n ...splitClassTokens('disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--muted-fg)] disabled:no-underline'),\n ...splitClassTokens('disabled:opacity-50 disabled:cursor-not-allowed'),\n ...splitClassTokens('appearance-none pr-9'),\n ...splitClassTokens('inline-flex items-center gap-1 text-left'),\n ...splitClassTokens('flex items-center justify-between text-left'),\n ...splitClassTokens('block min-w-full w-max whitespace-nowrap'),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grSelectSafelist } from './safelist'\n\nexport const grSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSelect',\n dependencies: ['GrInput'],\n safelist: grSelectSafelist,\n})"],"mappings":";;;;AAUA,IAAa,mBAAmB,CAAC,GAAG,IAAI,IAAI;CAC1C,GAAG,OAAO,OAAO,sBAAsB,CAAC,QAAQ,iBAAiB;CACjE,GAAG,OAAO,OAAO,0BAA0B,CAAC,QAAQ,iBAAiB;CACrE,GAAG,OAAO,OAAO,gCAAgC,CAAC,QAAQ,iBAAiB;CAC3E,GAAG,OAAO,OAAO,2CAA2C,CAAC,QAAQ,iBAAiB;CACtF,GAAG,iBAAiB,wIAAwI;CAC5J,GAAG,iBAAiB,wGAAwG;CAC5H,GAAG,iBAAiB,kDAAkD;CACtE,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,2CAA2C;CAC/D,GAAG,iBAAiB,8CAA8C;CAClE,GAAG,iBAAiB,2CAA2C;CAChE,CAAC,CAAC;;;AClBH,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,UAAU;CACzB,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-XoANT5mU.js","names":[],"sources":["../../src/components/GrSelect/safelist.ts","../../src/components/GrSelect/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n selectLinkNativeLabelVariantClassByVariant,\n selectLinkSizeClassBySize,\n selectLinkVariantClassByVariant,\n selectSizeClassBySize,\n} from './grSelectStyles'\n\n// Правило: литералы из шаблонов (`defaultBaseClass`/`linkBaseClass`/`grSelectPanelClasses`\n// и прочие статические строки) в safelist не дублируем — UnoCSS находит их сканом.\nexport const grSelectSafelist = [...new Set([\n ...Object.values(selectSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(selectLinkSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(selectLinkVariantClassByVariant).flatMap(splitClassTokens),\n ...Object.values(selectLinkNativeLabelVariantClassByVariant).flatMap(splitClassTokens),\n ...splitClassTokens('no-underline underline underline-offset-4 hover:underline hover:underline-offset-4 peer-hover:underline peer-hover:underline-offset-4'),\n ...splitClassTokens('disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--muted-fg)] disabled:no-underline'),\n ...splitClassTokens('disabled:opacity-50 disabled:cursor-not-allowed'),\n ...splitClassTokens('appearance-none pr-9'),\n ...splitClassTokens('inline-flex items-center gap-1 text-left'),\n ...splitClassTokens('flex items-center justify-between text-left'),\n ...splitClassTokens('block min-w-full w-max whitespace-nowrap'),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grSelectSafelist } from './safelist'\n\nexport const grSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSelect',\n dependencies: ['GrInput'],\n safelist: grSelectSafelist,\n})"],"mappings":";;;;AAUA,IAAa,mBAAmB,CAAC,GAAG,IAAI,IAAI;CAC1C,GAAG,OAAO,OAAO,sBAAsB,CAAC,QAAQ,iBAAiB;CACjE,GAAG,OAAO,OAAO,0BAA0B,CAAC,QAAQ,iBAAiB;CACrE,GAAG,OAAO,OAAO,gCAAgC,CAAC,QAAQ,iBAAiB;CAC3E,GAAG,OAAO,OAAO,2CAA2C,CAAC,QAAQ,iBAAiB;CACtF,GAAG,iBAAiB,wIAAwI;CAC5J,GAAG,iBAAiB,wGAAwG;CAC5H,GAAG,iBAAiB,kDAAkD;CACtE,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,2CAA2C;CAC/D,GAAG,iBAAiB,8CAA8C;CAClE,GAAG,iBAAiB,2CAA2C;CAChE,CAAC,CAAC;;;AClBH,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,UAAU;CACzB,UAAU;CACX,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { t as splitClassTokens } from "./classTokens-BPeBXNzu.js";
2
+ import { t as grProgressBarFillClass } from "./grStyle-5EMYYctb.js";
3
+ import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
4
+ var grProgressBarClassTokens = { fill: [
5
+ "primary",
6
+ "neutral",
7
+ "success",
8
+ "warning",
9
+ "danger",
10
+ "info",
11
+ "slate",
12
+ "azure"
13
+ ].flatMap((tone) => splitClassTokens(grProgressBarFillClass(tone))) };
14
+ var grProgressBarSafelist = [...new Set([...grProgressBarClassTokens.fill])];
15
+ //#endregion
16
+ //#region src/components/GrProgressBar/config.ts
17
+ var grProgressBarConfig = defineGranularComponent(import.meta.url, {
18
+ name: "GrProgressBar",
19
+ safelist: grProgressBarSafelist
20
+ });
21
+ //#endregion
22
+ export { grProgressBarSafelist as n, grProgressBarConfig as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-ZJVOVgqR.js","names":[],"sources":["../../src/components/GrProgressBar/safelist.ts","../../src/components/GrProgressBar/config.ts"],"sourcesContent":["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":";;;AAOA,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 +1 @@
1
- {"version":3,"file":"config-CM7nbATU2.js","names":[],"sources":["../../src/components/GrSwitch/grSwitchStyles.ts","../../src/components/GrSwitch/safelist.ts","../../src/components/GrSwitch/config.ts"],"sourcesContent":["export type GrSwitchSize = 'sm' | 'md' | 'lg'\n\ntype GrSwitchThumbClassOptions = {\n checked: boolean\n size: GrSwitchSize\n}\n\nexport const trackBase =\n 'relative inline-flex items-center rounded-full border border-[var(--ds-switch-track-brd)] transition-colors duration-150'\n\nexport const trackSizes: Record<GrSwitchSize, string> = {\n sm: 'h-5 w-9',\n md: 'h-6 w-11',\n lg: 'h-7 w-14',\n}\n\nexport const thumbBase =\n 'inline-block rounded-full bg-[var(--card)] shadow-[var(--ds-shadow-1)] transition-transform duration-150'\n\nexport const thumbSizes: Record<GrSwitchSize, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n}\n\nexport const thumbTranslations: Record<GrSwitchSize, { checked: string, unchecked: string }> = {\n sm: {\n checked: 'translate-x-[17px]',\n unchecked: 'translate-x-[2px]',\n },\n md: {\n checked: 'translate-x-5',\n unchecked: 'translate-x-[2px]',\n },\n lg: {\n checked: 'translate-x-[28px]',\n unchecked: 'translate-x-[3px]',\n },\n}\n\nexport const labelBase = 'text-[var(--muted-fg)]'\n\nexport const labelSizes: Record<GrSwitchSize, string> = {\n sm: 'text-sm',\n md: 'text-sm',\n lg: 'text-base',\n}\n\nexport function grSwitchTrackClass(size: GrSwitchSize): string {\n return [trackBase, trackSizes[size]].join(' ')\n}\n\nexport function grSwitchThumbClass(options: GrSwitchThumbClassOptions): string {\n return [\n thumbBase,\n thumbSizes[options.size],\n thumbTranslations[options.size][options.checked ? 'checked' : 'unchecked'],\n ].join(' ')\n}\n\nexport function grSwitchLabelClass(size: GrSwitchSize): string {\n return [labelBase, labelSizes[size]].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n labelBase,\n labelSizes,\n thumbBase,\n thumbSizes,\n thumbTranslations,\n trackBase,\n trackSizes,\n} from './grSwitchStyles'\n\nexport const grSwitchClassTokens = {\n trackBase: splitClassTokens(trackBase),\n trackSizes: Object.values(trackSizes).flatMap(splitClassTokens),\n thumbBase: splitClassTokens(thumbBase),\n thumbSizes: Object.values(thumbSizes).flatMap(splitClassTokens),\n thumbTranslations: Object.values(thumbTranslations).flatMap(({checked, unchecked}) => {\n return [...splitClassTokens(checked), ...splitClassTokens(unchecked)]\n }),\n labelBase: splitClassTokens(labelBase),\n labelSizes: Object.values(labelSizes).flatMap(splitClassTokens),\n} as const\n\nexport const grSwitchSafelist = [...new Set([\n ...grSwitchClassTokens.trackBase,\n ...grSwitchClassTokens.trackSizes,\n ...grSwitchClassTokens.thumbBase,\n ...grSwitchClassTokens.thumbSizes,\n ...grSwitchClassTokens.thumbTranslations,\n ...grSwitchClassTokens.labelBase,\n ...grSwitchClassTokens.labelSizes,\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grSwitchSafelist } from './safelist'\n\nexport const grSwitchConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSwitch',\n safelist: grSwitchSafelist,\n})"],"mappings":";;;AAOA,IAAa,YACT;AAEJ,IAAa,aAA2C;CACpD,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,IAAa,YACT;AAEJ,IAAa,aAA2C;CACpD,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,IAAa,oBAAkF;CAC3F,IAAI;EACA,SAAS;EACT,WAAW;EACd;CACD,IAAI;EACA,SAAS;EACT,WAAW;EACd;CACD,IAAI;EACA,SAAS;EACT,WAAW;EACd;CACJ;AAED,IAAa,YAAY;AAEzB,IAAa,aAA2C;CACpD,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,SAAgB,mBAAmB,MAA4B;AAC3D,QAAO,CAAC,WAAW,WAAW,MAAM,CAAC,KAAK,IAAI;;AAGlD,SAAgB,mBAAmB,SAA4C;AAC3E,QAAO;EACH;EACA,WAAW,QAAQ;EACnB,kBAAkB,QAAQ,MAAM,QAAQ,UAAU,YAAY;EACjE,CAAC,KAAK,IAAI;;AAGf,SAAgB,mBAAmB,MAA4B;AAC3D,QAAO,CAAC,WAAW,WAAW,MAAM,CAAC,KAAK,IAAI;;;;AClDlD,IAAa,sBAAsB;CAC/B,WAAW,iBAAiB,UAAU;CACtC,YAAY,OAAO,OAAO,WAAW,CAAC,QAAQ,iBAAiB;CAC/D,WAAW,iBAAiB,UAAU;CACtC,YAAY,OAAO,OAAO,WAAW,CAAC,QAAQ,iBAAiB;CAC/D,mBAAmB,OAAO,OAAO,kBAAkB,CAAC,SAAS,EAAC,SAAS,gBAAe;AAClF,SAAO,CAAC,GAAG,iBAAiB,QAAQ,EAAE,GAAG,iBAAiB,UAAU,CAAC;GACvE;CACF,WAAW,iBAAiB,UAAU;CACtC,YAAY,OAAO,OAAO,WAAW,CAAC,QAAQ,iBAAiB;CAClE;AAED,IAAa,mBAAmB,CAAC,GAAG,IAAI,IAAI;CACxC,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CAC1B,CAAC,CAAC;;;AC3BH,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"config-rxFL-6yF2.js","names":[],"sources":["../../src/components/GrSwitch/grSwitchStyles.ts","../../src/components/GrSwitch/safelist.ts","../../src/components/GrSwitch/config.ts"],"sourcesContent":["export type GrSwitchSize = 'sm' | 'md' | 'lg'\n\ntype GrSwitchThumbClassOptions = {\n checked: boolean\n size: GrSwitchSize\n}\n\nexport const trackBase =\n 'relative inline-flex items-center rounded-full border border-[var(--ds-switch-track-brd)] transition-colors duration-150'\n\nexport const trackSizes: Record<GrSwitchSize, string> = {\n sm: 'h-5 w-9',\n md: 'h-6 w-11',\n lg: 'h-7 w-14',\n}\n\nexport const thumbBase =\n 'inline-block rounded-full bg-[var(--card)] shadow-[var(--ds-shadow-1)] transition-transform duration-150'\n\nexport const thumbSizes: Record<GrSwitchSize, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n}\n\nexport const thumbTranslations: Record<GrSwitchSize, { checked: string, unchecked: string }> = {\n sm: {\n checked: 'translate-x-[17px]',\n unchecked: 'translate-x-[2px]',\n },\n md: {\n checked: 'translate-x-5',\n unchecked: 'translate-x-[2px]',\n },\n lg: {\n checked: 'translate-x-[28px]',\n unchecked: 'translate-x-[3px]',\n },\n}\n\nexport const labelBase = 'text-[var(--muted-fg)]'\n\nexport const labelSizes: Record<GrSwitchSize, string> = {\n sm: 'text-sm',\n md: 'text-sm',\n lg: 'text-base',\n}\n\nexport function grSwitchTrackClass(size: GrSwitchSize): string {\n return [trackBase, trackSizes[size]].join(' ')\n}\n\nexport function grSwitchThumbClass(options: GrSwitchThumbClassOptions): string {\n return [\n thumbBase,\n thumbSizes[options.size],\n thumbTranslations[options.size][options.checked ? 'checked' : 'unchecked'],\n ].join(' ')\n}\n\nexport function grSwitchLabelClass(size: GrSwitchSize): string {\n return [labelBase, labelSizes[size]].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n labelBase,\n labelSizes,\n thumbBase,\n thumbSizes,\n thumbTranslations,\n trackBase,\n trackSizes,\n} from './grSwitchStyles'\n\nexport const grSwitchClassTokens = {\n trackBase: splitClassTokens(trackBase),\n trackSizes: Object.values(trackSizes).flatMap(splitClassTokens),\n thumbBase: splitClassTokens(thumbBase),\n thumbSizes: Object.values(thumbSizes).flatMap(splitClassTokens),\n thumbTranslations: Object.values(thumbTranslations).flatMap(({checked, unchecked}) => {\n return [...splitClassTokens(checked), ...splitClassTokens(unchecked)]\n }),\n labelBase: splitClassTokens(labelBase),\n labelSizes: Object.values(labelSizes).flatMap(splitClassTokens),\n} as const\n\nexport const grSwitchSafelist = [...new Set([\n ...grSwitchClassTokens.trackBase,\n ...grSwitchClassTokens.trackSizes,\n ...grSwitchClassTokens.thumbBase,\n ...grSwitchClassTokens.thumbSizes,\n ...grSwitchClassTokens.thumbTranslations,\n ...grSwitchClassTokens.labelBase,\n ...grSwitchClassTokens.labelSizes,\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grSwitchSafelist } from './safelist'\n\nexport const grSwitchConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSwitch',\n safelist: grSwitchSafelist,\n})"],"mappings":";;;AAOA,IAAa,YACT;AAEJ,IAAa,aAA2C;CACpD,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,IAAa,YACT;AAEJ,IAAa,aAA2C;CACpD,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,IAAa,oBAAkF;CAC3F,IAAI;EACA,SAAS;EACT,WAAW;EACd;CACD,IAAI;EACA,SAAS;EACT,WAAW;EACd;CACD,IAAI;EACA,SAAS;EACT,WAAW;EACd;CACJ;AAED,IAAa,YAAY;AAEzB,IAAa,aAA2C;CACpD,IAAI;CACJ,IAAI;CACJ,IAAI;CACP;AAED,SAAgB,mBAAmB,MAA4B;AAC3D,QAAO,CAAC,WAAW,WAAW,MAAM,CAAC,KAAK,IAAI;;AAGlD,SAAgB,mBAAmB,SAA4C;AAC3E,QAAO;EACH;EACA,WAAW,QAAQ;EACnB,kBAAkB,QAAQ,MAAM,QAAQ,UAAU,YAAY;EACjE,CAAC,KAAK,IAAI;;AAGf,SAAgB,mBAAmB,MAA4B;AAC3D,QAAO,CAAC,WAAW,WAAW,MAAM,CAAC,KAAK,IAAI;;;;AClDlD,IAAa,sBAAsB;CAC/B,WAAW,iBAAiB,UAAU;CACtC,YAAY,OAAO,OAAO,WAAW,CAAC,QAAQ,iBAAiB;CAC/D,WAAW,iBAAiB,UAAU;CACtC,YAAY,OAAO,OAAO,WAAW,CAAC,QAAQ,iBAAiB;CAC/D,mBAAmB,OAAO,OAAO,kBAAkB,CAAC,SAAS,EAAC,SAAS,gBAAe;AAClF,SAAO,CAAC,GAAG,iBAAiB,QAAQ,EAAE,GAAG,iBAAiB,UAAU,CAAC;GACvE;CACF,WAAW,iBAAiB,UAAU;CACtC,YAAY,OAAO,OAAO,WAAW,CAAC,QAAQ,iBAAiB;CAClE;AAED,IAAa,mBAAmB,CAAC,GAAG,IAAI,IAAI;CACxC,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CAC1B,CAAC,CAAC;;;AC3BH,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,UAAU;CACX,CAAA"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"config-wo-ncgTH.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 +1 @@
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":""}
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":""}
@@ -9,12 +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-BeJa78lP.js") } };
12
+ var en = { en: { ["gr"]: () => import("./en-BMjJZttK.js") } };
13
13
  //#endregion
14
14
  //#region src/i18n/messages/ru.ts
15
- var ru = { ru: { ["gr"]: () => import("./ru-Dqh-2C00.js") } };
15
+ var ru = { ru: { ["gr"]: () => import("./ru-DKswMSdd.js") } };
16
16
  //#endregion
17
17
  //#region src/i18n/messages/es.ts
18
- var es = { es: { ["gr"]: () => import("./es-axYOwwWD.js") } };
18
+ var es = { es: { ["gr"]: () => import("./es-EYCf8G_1.js") } };
19
19
  //#endregion
20
20
  export { GRANULARITY_I18N_BLOCK as i, ru as n, en as r, es as t };
@@ -1 +1 @@
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"}
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 +1 @@
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":""}
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 +1 @@
1
- {"version":3,"file":"grSelectStyles-daEeDlBn.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\n/**\n * Variant-классы для видимой метки в `view=\"link\"` + `optionsView=\"native\"`.\n * Hover-цвет приходит через `peer-hover:` от прозрачного `<select>`-overlay,\n * т.к. видимая метка имеет `pointer-events-none` и не получает hover напрямую.\n */\nexport const selectLinkNativeLabelVariantClassByVariant: Record<GrSelectVariant, string> = {\n primary: 'text-[var(--primary)] peer-hover:text-[var(--primary-hover)] peer-active:text-[var(--primary-active)]',\n default: 'text-[var(--fg)] peer-hover:text-[var(--primary)] peer-active:text-[var(--primary-active)]',\n muted: 'text-[var(--muted-fg)] peer-hover:text-[var(--fg)] peer-active:text-[var(--fg)]',\n danger: 'text-[var(--ds-danger)] peer-hover:text-[var(--ds-danger-hover)] peer-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\n/**\n * Underline-классы для видимой метки в `view=\"link\"` + `optionsView=\"native\"`.\n * Видимая метка имеет `pointer-events-none`, а hover получает прозрачный\n * `<select>`-overlay (peer), поэтому для `underline=\"auto\"` используем\n * `peer-hover:underline` вместо `hover:underline`.\n */\nfunction selectLinkNativeLabelUnderlineClass(options: { underline: GrSelectUnderline, disabled: boolean }): string {\n if (options.disabled) return 'no-underline'\n if (options.underline === 'always') return 'underline underline-offset-4'\n if (options.underline === 'none') return 'no-underline'\n return 'no-underline peer-hover:underline peer-hover:underline-offset-4'\n}\n\n/**\n * Классы прозрачного `<select>`-overlay для `view=\"link\"` + `optionsView=\"native\"`.\n * Нативный селект растягивается на всю обёртку, но визуально невидим — ширину обёртки\n * задаёт видимый `<span>` с выбранной меткой, благодаря чему компонент в закрытом\n * состоянии занимает столько места, сколько нужно текущей опции (а не самой длинной).\n */\nexport const grSelectLinkNativeOverlayClass = 'peer absolute inset-0 w-full h-full m-0 p-0 border-0 bg-transparent text-transparent appearance-none opacity-0 cursor-pointer disabled:cursor-not-allowed focus:outline-none'\n\n/**\n * Классы видимой метки для `view=\"link\"` + `optionsView=\"native\"` (поверх прозрачного `<select>`).\n * Получает все link-стили (size/variant/underline), а также focus-ring через `peer-focus-visible`.\n */\nexport function grSelectLinkNativeLabelClass(options: {\n size: GrSelectSize\n variant: GrSelectVariant\n underline: GrSelectUnderline\n disabled: boolean\n}): string {\n return [\n 'pointer-events-none inline-block whitespace-nowrap align-baseline rounded-[6px] transition-colors duration-150',\n selectLinkSizeClassBySize[options.size],\n selectLinkNativeLabelUnderlineClass({ underline: options.underline, disabled: options.disabled }),\n selectLinkNativeLabelVariantClassByVariant[options.variant],\n options.disabled ? 'opacity-60 text-[var(--muted-fg)] no-underline' : '',\n 'peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--ring)]',\n ]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grSelectClass(options: {\n view: GrSelectView\n size: GrSelectSize\n disabled: boolean\n variant: GrSelectVariant\n underline: GrSelectUnderline\n}): string {\n if (options.view === 'link') {\n return [\n selectLinkSizeClassBySize[options.size],\n selectLinkUnderlineClass({ underline: options.underline, disabled: options.disabled }),\n selectLinkVariantClassByVariant[options.variant],\n 'disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--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;;;;;;AAOD,IAAa,6CAA8E;CACzF,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;;;;;;;;AAST,SAAS,oCAAoC,SAAsE;AACjH,KAAI,QAAQ,SAAU,QAAO;AAC7B,KAAI,QAAQ,cAAc,SAAU,QAAO;AAC3C,KAAI,QAAQ,cAAc,OAAQ,QAAO;AACzC,QAAO;;;;;;;;AAST,IAAa,iCAAiC;;;;;AAM9C,SAAgB,6BAA6B,SAKlC;AACT,QAAO;EACL;EACA,0BAA0B,QAAQ;EAClC,oCAAoC;GAAE,WAAW,QAAQ;GAAW,UAAU,QAAQ;GAAU,CAAC;EACjG,2CAA2C,QAAQ;EACnD,QAAQ,WAAW,mDAAmD;EACtE;EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;AAGd,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-DTAYNzxn.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\n/**\n * Variant-классы для видимой метки в `view=\"link\"` + `optionsView=\"native\"`.\n * Hover-цвет приходит через `peer-hover:` от прозрачного `<select>`-overlay,\n * т.к. видимая метка имеет `pointer-events-none` и не получает hover напрямую.\n */\nexport const selectLinkNativeLabelVariantClassByVariant: Record<GrSelectVariant, string> = {\n primary: 'text-[var(--primary)] peer-hover:text-[var(--primary-hover)] peer-active:text-[var(--primary-active)]',\n default: 'text-[var(--fg)] peer-hover:text-[var(--primary)] peer-active:text-[var(--primary-active)]',\n muted: 'text-[var(--muted-fg)] peer-hover:text-[var(--fg)] peer-active:text-[var(--fg)]',\n danger: 'text-[var(--ds-danger)] peer-hover:text-[var(--ds-danger-hover)] peer-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\n/**\n * Underline-классы для видимой метки в `view=\"link\"` + `optionsView=\"native\"`.\n * Видимая метка имеет `pointer-events-none`, а hover получает прозрачный\n * `<select>`-overlay (peer), поэтому для `underline=\"auto\"` используем\n * `peer-hover:underline` вместо `hover:underline`.\n */\nfunction selectLinkNativeLabelUnderlineClass(options: { underline: GrSelectUnderline, disabled: boolean }): string {\n if (options.disabled) return 'no-underline'\n if (options.underline === 'always') return 'underline underline-offset-4'\n if (options.underline === 'none') return 'no-underline'\n return 'no-underline peer-hover:underline peer-hover:underline-offset-4'\n}\n\n/**\n * Классы прозрачного `<select>`-overlay для `view=\"link\"` + `optionsView=\"native\"`.\n * Нативный селект растягивается на всю обёртку, но визуально невидим — ширину обёртки\n * задаёт видимый `<span>` с выбранной меткой, благодаря чему компонент в закрытом\n * состоянии занимает столько места, сколько нужно текущей опции (а не самой длинной).\n */\nexport const grSelectLinkNativeOverlayClass = 'peer absolute inset-0 w-full h-full m-0 p-0 border-0 bg-transparent text-transparent appearance-none opacity-0 cursor-pointer disabled:cursor-not-allowed focus:outline-none'\n\n/**\n * Классы видимой метки для `view=\"link\"` + `optionsView=\"native\"` (поверх прозрачного `<select>`).\n * Получает все link-стили (size/variant/underline), а также focus-ring через `peer-focus-visible`.\n */\nexport function grSelectLinkNativeLabelClass(options: {\n size: GrSelectSize\n variant: GrSelectVariant\n underline: GrSelectUnderline\n disabled: boolean\n}): string {\n return [\n 'pointer-events-none inline-block whitespace-nowrap align-baseline rounded-[6px] transition-colors duration-150',\n selectLinkSizeClassBySize[options.size],\n selectLinkNativeLabelUnderlineClass({ underline: options.underline, disabled: options.disabled }),\n selectLinkNativeLabelVariantClassByVariant[options.variant],\n options.disabled ? 'opacity-60 text-[var(--muted-fg)] no-underline' : '',\n 'peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--ring)]',\n ]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grSelectClass(options: {\n view: GrSelectView\n size: GrSelectSize\n disabled: boolean\n variant: GrSelectVariant\n underline: GrSelectUnderline\n}): string {\n if (options.view === 'link') {\n return [\n selectLinkSizeClassBySize[options.size],\n selectLinkUnderlineClass({ underline: options.underline, disabled: options.disabled }),\n selectLinkVariantClassByVariant[options.variant],\n 'disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--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;;;;;;AAOD,IAAa,6CAA8E;CACzF,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;;;;;;;;AAST,SAAS,oCAAoC,SAAsE;AACjH,KAAI,QAAQ,SAAU,QAAO;AAC7B,KAAI,QAAQ,cAAc,SAAU,QAAO;AAC3C,KAAI,QAAQ,cAAc,OAAQ,QAAO;AACzC,QAAO;;;;;;;;AAST,IAAa,iCAAiC;;;;;AAM9C,SAAgB,6BAA6B,SAKlC;AACT,QAAO;EACL;EACA,0BAA0B,QAAQ;EAClC,oCAAoC;GAAE,WAAW,QAAQ;GAAW,UAAU,QAAQ;GAAU,CAAC;EACjG,2CAA2C,QAAQ;EACnD,QAAQ,WAAW,mDAAmD;EACtE;EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;;AAGd,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"}
@@ -0,0 +1,19 @@
1
+ //#region src/components/GrProgressBar/grStyle.ts
2
+ function withVar(token) {
3
+ return `[${token}]`;
4
+ }
5
+ var toneVars = {
6
+ primary: "var(--pb-bg,var(--primary))",
7
+ neutral: "var(--pb-neutral-bg,var(--secondary))",
8
+ success: "var(--pb-success-bg,var(--ds-success))",
9
+ warning: "var(--pb-warning-bg,var(--ds-warning))",
10
+ danger: "var(--pb-danger-bg,var(--ds-danger))",
11
+ info: "var(--pb-info-bg,var(--ds-info))",
12
+ slate: "var(--pb-slate-bg,var(--ds-slate))",
13
+ azure: "var(--pb-azure-bg,var(--ds-azure))"
14
+ };
15
+ function grProgressBarFillClass(tone) {
16
+ return `bg-${withVar(toneVars[tone])}`;
17
+ }
18
+ //#endregion
19
+ export { grProgressBarFillClass as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grStyle-5EMYYctb.js","names":[],"sources":["../../src/components/GrProgressBar/grStyle.ts"],"sourcesContent":["import type { GrTone } from '../shared/tones'\n\nexport type GrProgressBarTone = GrTone\n\nfunction withVar(token: string): string {\n return `[${token}]`\n}\n\nconst toneVars: Record<GrProgressBarTone, string> = {\n primary: 'var(--pb-bg,var(--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"],"mappings":";AAIA,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"}
@@ -1,4 +1,4 @@
1
- import { t as GRANULARITY_I18N_KEY } from "./adapter-K6zZTzBi.js";
1
+ import { t as GRANULARITY_I18N_KEY } from "./adapter-CRyH4YC8.js";
2
2
  import { getCurrentInstance, inject } from "vue";
3
3
  //#region src/internal/granularityI18n.ts
4
4
  function isGranularityI18nLike(value) {