@feugene/granularity 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/dist/GrBadge.css +1 -1
  2. package/dist/GrFormFile.css +1 -1
  3. package/dist/GrToaster.css +1 -1
  4. package/dist/GrTree.css +1 -1
  5. package/dist/chunks/{config-ClhKPJvg.js → config-23WtUiAL.js} +1 -1
  6. package/dist/chunks/config-23WtUiAL.js.map +1 -0
  7. package/dist/chunks/config-8Pcutu1j.js.map +1 -0
  8. package/dist/chunks/{config-1uSYl98Y2.js → config-B0i5r8kH.js} +1 -1
  9. package/dist/chunks/config-B0i5r8kH.js.map +1 -0
  10. package/dist/chunks/{config-BOlr7qw7.js → config-B5Rknzkd.js} +33 -39
  11. package/dist/chunks/config-B5Rknzkd.js.map +1 -0
  12. package/dist/chunks/config-B7W9VlZ7.js +5 -0
  13. package/dist/chunks/config-B7W9VlZ7.js.map +1 -0
  14. package/dist/chunks/config-BDSHekVC.js +84 -0
  15. package/dist/chunks/config-BDSHekVC.js.map +1 -0
  16. package/dist/chunks/config-BLHqZhy-.js.map +1 -0
  17. package/dist/chunks/{config-eYLZYOUS2.js → config-BMKNHFMD2.js} +15 -15
  18. package/dist/chunks/config-BMKNHFMD2.js.map +1 -0
  19. package/dist/chunks/config-BUHuGBik2.js.map +1 -0
  20. package/dist/chunks/config-BX1JTrkV.js.map +1 -0
  21. package/dist/chunks/config-BXtAmU3s.js.map +1 -0
  22. package/dist/chunks/config-BZFUM3Ky.js +75 -0
  23. package/dist/chunks/config-BZFUM3Ky.js.map +1 -0
  24. package/dist/chunks/{config-DUcu1D682.js → config-BmNT0Fmx.js} +2 -2
  25. package/dist/chunks/config-BmNT0Fmx.js.map +1 -0
  26. package/dist/chunks/{config-C49QUoJL.js → config-BvVq2gbd.js} +1 -1
  27. package/dist/chunks/{config-C49QUoJL.js.map → config-BvVq2gbd.js.map} +1 -1
  28. package/dist/chunks/{config-CrG1XiE72.js → config-C4hJxXDa.js} +5 -5
  29. package/dist/chunks/config-C4hJxXDa.js.map +1 -0
  30. package/dist/chunks/config-CB4RVt9M.js +66 -0
  31. package/dist/chunks/config-CB4RVt9M.js.map +1 -0
  32. package/dist/chunks/config-CGHLoBlH2.js.map +1 -0
  33. package/dist/chunks/config-COE_vZ-l.js +52 -0
  34. package/dist/chunks/config-COE_vZ-l.js.map +1 -0
  35. package/dist/chunks/{config-CziwTDDL.js → config-CPdmr7tC.js} +1 -1
  36. package/dist/chunks/{config-CziwTDDL.js.map → config-CPdmr7tC.js.map} +1 -1
  37. package/dist/chunks/{config-BIRO0vDJ.js → config-DPDFYzIa.js} +2 -2
  38. package/dist/chunks/config-DPDFYzIa.js.map +1 -0
  39. package/dist/chunks/{config-DnvPqu4g2.js → config-DRKXJ9PW2.js} +1 -1
  40. package/dist/chunks/{config-DnvPqu4g2.js.map → config-DRKXJ9PW2.js.map} +1 -1
  41. package/dist/chunks/config-DToHb81g.js +45 -0
  42. package/dist/chunks/config-DToHb81g.js.map +1 -0
  43. package/dist/chunks/{config-jBp9wVv-.js → config-D_myOZbA.js} +1 -1
  44. package/dist/chunks/{config-jBp9wVv-.js.map → config-D_myOZbA.js.map} +1 -1
  45. package/dist/chunks/{config-D_R56_gT.js → config-Dg_6FTvJ.js} +1 -1
  46. package/dist/chunks/config-Dg_6FTvJ.js.map +1 -0
  47. package/dist/chunks/config-Dqy0rPPO2.js.map +1 -0
  48. package/dist/chunks/config-Droqn55j.js +8 -0
  49. package/dist/chunks/config-Droqn55j.js.map +1 -0
  50. package/dist/chunks/config-JpHA4Xx0.js.map +1 -0
  51. package/dist/chunks/{config-C4snOIXg.js → config-KXuionN3.js} +1 -1
  52. package/dist/chunks/{config-C4snOIXg.js.map → config-KXuionN3.js.map} +1 -1
  53. package/dist/chunks/{config-DezDih8_.js → config-LqDC_rvp.js} +2 -2
  54. package/dist/chunks/config-LqDC_rvp.js.map +1 -0
  55. package/dist/chunks/config-QaIc_gRa2.js.map +1 -0
  56. package/dist/chunks/config-U4m9PSql2.js.map +1 -0
  57. package/dist/chunks/{config-B7IIWGt_2.js → config-XmTv4pnI.js} +2 -2
  58. package/dist/chunks/config-XmTv4pnI.js.map +1 -0
  59. package/dist/chunks/config-eXB87DOi.js.map +1 -0
  60. package/dist/chunks/{config-C7NpDrfO.js → config-gZWR75Bh2.js} +1 -1
  61. package/dist/chunks/config-gZWR75Bh2.js.map +1 -0
  62. package/dist/chunks/config-ipvU0lzP.js.map +1 -0
  63. package/dist/chunks/config-xR4XVmcy2.js.map +1 -0
  64. package/dist/chunks/context-Bfrgsluh.js +9 -0
  65. package/dist/chunks/context-Bfrgsluh.js.map +1 -0
  66. package/dist/chunks/context-DfWYCBB-.js +129 -0
  67. package/dist/chunks/context-DfWYCBB-.js.map +1 -0
  68. package/dist/chunks/{en-CfkDa4GX.js → en-Cr6EkG8c.js} +46 -4
  69. package/dist/chunks/en-Cr6EkG8c.js.map +1 -0
  70. package/dist/chunks/{es-CgaLnFYx.js → es-DuYb1Qju.js} +3 -3
  71. package/dist/chunks/{es-CgaLnFYx.js.map → es-DuYb1Qju.js.map} +1 -1
  72. package/dist/chunks/{es-FkgECuCm.js → es-i08e9Sdo.js} +46 -4
  73. package/dist/chunks/es-i08e9Sdo.js.map +1 -0
  74. package/dist/chunks/{grBadgeStyles-DrycBuKT.js → grBadgeStyles-D3dFjr_N.js} +12 -12
  75. package/dist/chunks/grBadgeStyles-D3dFjr_N.js.map +1 -0
  76. package/dist/chunks/{grButtonStyles-C7Yga_Q1.js → grButtonStyles-DRBgDmOp.js} +28 -28
  77. package/dist/chunks/grButtonStyles-DRBgDmOp.js.map +1 -0
  78. package/dist/chunks/{grDropdownStyles-B_-DKytw.js → grDropdownStyles-HBPkghVr.js} +2 -2
  79. package/dist/chunks/{grDropdownStyles-B_-DKytw.js.map → grDropdownStyles-HBPkghVr.js.map} +1 -1
  80. package/dist/chunks/{grModalStyles-DWd3i05Q.js → grModalStyles-D8-shx9A.js} +1 -1
  81. package/dist/chunks/grModalStyles-D8-shx9A.js.map +1 -0
  82. package/dist/chunks/{grSelectStyles-CLK5hRd3.js → grSelectStyles-CwMUQrBZ.js} +12 -12
  83. package/dist/chunks/grSelectStyles-CwMUQrBZ.js.map +1 -0
  84. package/dist/chunks/{grStyle-Blc9otAx.js → grStyle-CdvxTXPH.js} +2 -2
  85. package/dist/chunks/grStyle-CdvxTXPH.js.map +1 -0
  86. package/dist/chunks/{granularityI18n-DoV7Ca2m.js → granularityI18n-SH0I--GW.js} +1 -1
  87. package/dist/chunks/{granularityI18n-DoV7Ca2m.js.map → granularityI18n-SH0I--GW.js.map} +1 -1
  88. package/dist/chunks/{ru-Bl8CxpEa.js → ru-B5XOOYZt.js} +46 -4
  89. package/dist/chunks/ru-B5XOOYZt.js.map +1 -0
  90. package/dist/chunks/{safelist-Do2RtzLB.js → safelist-BvO8HPnE.js} +1 -1
  91. package/dist/chunks/{safelist-Do2RtzLB.js.map → safelist-BvO8HPnE.js.map} +1 -1
  92. package/dist/chunks/shared-D-v9lit0.js +188 -0
  93. package/dist/chunks/shared-D-v9lit0.js.map +1 -0
  94. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js +251 -0
  95. package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js.map +1 -0
  96. package/dist/components/GrAlert/index.js +2 -2
  97. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js +499 -0
  98. package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js.map +1 -0
  99. package/dist/components/GrAutocomplete/index.js +3 -0
  100. package/dist/components/GrAvatar/chunks/{GrAvatar-96CpTCq5.js → GrAvatar-CTOUVBF7.js} +1 -1
  101. package/dist/components/GrAvatar/chunks/GrAvatar-CTOUVBF7.js.map +1 -0
  102. package/dist/components/GrAvatar/index.js +1 -1
  103. package/dist/components/GrBadge/chunks/{GrBadge-B77XlaqE.js → GrBadge-D1jefy4S.js} +12 -8
  104. package/dist/components/GrBadge/chunks/GrBadge-D1jefy4S.js.map +1 -0
  105. package/dist/components/GrBadge/index.js +2 -2
  106. package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-CcktMOdg.js → GrBadgeWrap-DWDxHdiQ.js} +1 -1
  107. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DWDxHdiQ.js.map +1 -0
  108. package/dist/components/GrBadgeWrap/index.js +1 -1
  109. package/dist/components/GrBottomNav/chunks/{GrBottomNav-usuMgG8_.js → GrBottomNav-vSE4LXmk.js} +2 -2
  110. package/dist/components/GrBottomNav/chunks/GrBottomNav-vSE4LXmk.js.map +1 -0
  111. package/dist/components/GrBottomNav/index.js +1 -1
  112. package/dist/components/GrButton/chunks/{GrButton-BlffdeJr.js → GrButton-DCi4CUpo.js} +18 -14
  113. package/dist/components/GrButton/chunks/GrButton-DCi4CUpo.js.map +1 -0
  114. package/dist/components/GrButton/index.js +4 -4
  115. package/dist/components/GrCard/chunks/{GrCard-DUNMkuHW.js → GrCard-CxCjyHMb.js} +1 -1
  116. package/dist/components/GrCard/chunks/GrCard-CxCjyHMb.js.map +1 -0
  117. package/dist/components/GrCard/index.js +1 -1
  118. package/dist/components/GrCheckbox/chunks/{GrCheckbox-DJhzZZdO.js → GrCheckbox-BbIDRXtl.js} +5 -5
  119. package/dist/components/GrCheckbox/chunks/GrCheckbox-BbIDRXtl.js.map +1 -0
  120. package/dist/components/GrCheckbox/index.js +1 -1
  121. package/dist/components/GrCollapse/chunks/{GrCollapse-CPPLh_xU.js → GrCollapse-DApXztn8.js} +6 -6
  122. package/dist/components/GrCollapse/chunks/GrCollapse-DApXztn8.js.map +1 -0
  123. package/dist/components/GrCollapse/index.js +2 -2
  124. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js +410 -0
  125. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js.map +1 -0
  126. package/dist/components/GrCommandPalette/index.js +3 -0
  127. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js +57 -0
  128. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js.map +1 -0
  129. package/dist/components/GrConfigProvider/index.js +4 -0
  130. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-D8CkOtqv.js → GrConfirmDialog-e4120mWw.js} +5 -5
  131. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js.map +1 -0
  132. package/dist/components/GrConfirmDialog/index.js +2 -2
  133. package/dist/components/GrDataTable/chunks/{GrDataTable-Ds5OeGat.js → GrDataTable-C1CzxV0p.js} +127 -25
  134. package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js.map +1 -0
  135. package/dist/components/GrDataTable/index.js +2 -2
  136. package/dist/components/GrDialog/chunks/{GrDialog-Ctucxju9.js → GrDialog-BPMvDHOz.js} +5 -5
  137. package/dist/components/GrDialog/chunks/GrDialog-BPMvDHOz.js.map +1 -0
  138. package/dist/components/GrDialog/index.js +1 -1
  139. package/dist/components/GrDialogService/chunks/{GrDialogService-CU1Fbonc.js → GrDialogService-CYXCTGm3.js} +36 -11
  140. package/dist/components/GrDialogService/chunks/GrDialogService-CYXCTGm3.js.map +1 -0
  141. package/dist/components/GrDialogService/index.js +2 -2
  142. package/dist/components/GrDivider/chunks/{GrDivider-5bcE-BB4.js → GrDivider-BdENZ1w0.js} +5 -5
  143. package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js.map +1 -0
  144. package/dist/components/GrDivider/index.js +1 -1
  145. package/dist/components/GrDrawer/chunks/{GrDrawer-SLGKCY2A.js → GrDrawer-KevdZ5BB.js} +5 -5
  146. package/dist/components/GrDrawer/chunks/GrDrawer-KevdZ5BB.js.map +1 -0
  147. package/dist/components/GrDrawer/index.js +2 -2
  148. package/dist/components/GrDropdown/chunks/{GrDropdown-BnDMYP8v.js → GrDropdown-BKoy8hm-.js} +1 -1
  149. package/dist/components/GrDropdown/chunks/{GrDropdown-BnDMYP8v.js.map → GrDropdown-BKoy8hm-.js.map} +1 -1
  150. package/dist/components/GrDropdown/index.js +2 -2
  151. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu--g9Vofcq.js → GrDropdownMenu-zCatXzmt.js} +11 -11
  152. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-zCatXzmt.js.map +1 -0
  153. package/dist/components/GrDropdownMenu/index.js +1 -1
  154. package/dist/components/GrEmptyState/chunks/{GrEmptyState-CA3BiTV7.js → GrEmptyState-CNb0BzjG.js} +3 -3
  155. package/dist/components/GrEmptyState/chunks/GrEmptyState-CNb0BzjG.js.map +1 -0
  156. package/dist/components/GrEmptyState/index.js +1 -1
  157. package/dist/components/GrFileUpload/chunks/{GrFileUpload-DvWPpiJS.js → GrFileUpload-CnLgUGDF.js} +12 -12
  158. package/dist/components/GrFileUpload/chunks/GrFileUpload-CnLgUGDF.js.map +1 -0
  159. package/dist/components/GrFileUpload/index.js +1 -1
  160. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js +234 -0
  161. package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js.map +1 -0
  162. package/dist/components/GrForm/index.js +4 -0
  163. package/dist/components/GrFormField/chunks/{GrFormField-DnfMHx_U.js → GrFormField-CXCDBd99.js} +41 -14
  164. package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js.map +1 -0
  165. package/dist/components/GrFormField/index.js +1 -1
  166. package/dist/components/GrFormFile/chunks/{GrFormFile-CXcqqdvV.js → GrFormFile-CqacSbUl.js} +9 -9
  167. package/dist/components/GrFormFile/chunks/GrFormFile-CqacSbUl.js.map +1 -0
  168. package/dist/components/GrFormFile/index.js +1 -1
  169. package/dist/components/GrFormSection/chunks/{GrFormSection-Ce21jcgo.js → GrFormSection-C3w9DQJf.js} +1 -1
  170. package/dist/components/GrFormSection/chunks/GrFormSection-C3w9DQJf.js.map +1 -0
  171. package/dist/components/GrFormSection/index.js +1 -1
  172. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dla9IBkd.js → GrImageViewer-DDLJkvIU.js} +1 -1
  173. package/dist/components/GrImageViewer/chunks/{GrImageViewer-Dla9IBkd.js.map → GrImageViewer-DDLJkvIU.js.map} +1 -1
  174. package/dist/components/GrImageViewer/index.js +1 -1
  175. package/dist/components/GrInput/chunks/{GrInput-B8dd3JaA.js → GrInput-C1VBL0dg.js} +18 -15
  176. package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js.map +1 -0
  177. package/dist/components/GrInput/index.js +2 -2
  178. package/dist/components/GrInputTag/chunks/{GrInputTag-zMgFqp2g.js → GrInputTag-BMk9jm42.js} +6 -6
  179. package/dist/components/GrInputTag/chunks/GrInputTag-BMk9jm42.js.map +1 -0
  180. package/dist/components/GrInputTag/index.js +2 -2
  181. package/dist/components/GrKbd/chunks/{GrKbd-BEoYxWhE.js → GrKbd-DTspwtoN.js} +1 -1
  182. package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js.map +1 -0
  183. package/dist/components/GrKbd/index.js +1 -1
  184. package/dist/components/GrLink/chunks/{GrLink-CYUe-Q8k.js → GrLink-BP0YrnL9.js} +1 -1
  185. package/dist/components/GrLink/chunks/{GrLink-CYUe-Q8k.js.map → GrLink-BP0YrnL9.js.map} +1 -1
  186. package/dist/components/GrLink/index.js +2 -2
  187. package/dist/components/GrList/chunks/{GrList-Dx772Ns4.js → GrList-5RA-tZzE.js} +3 -3
  188. package/dist/components/GrList/chunks/GrList-5RA-tZzE.js.map +1 -0
  189. package/dist/components/GrList/index.js +1 -1
  190. package/dist/components/GrLoading/chunks/{GrLoading--X_7rdbb.js → GrLoading-fRDtVfi7.js} +3 -3
  191. package/dist/components/GrLoading/chunks/GrLoading-fRDtVfi7.js.map +1 -0
  192. package/dist/components/GrLoading/index.js +2 -2
  193. package/dist/components/GrModal/chunks/{GrModal-C0GZrHN3.js → GrModal-BTu1-5eY.js} +1 -1
  194. package/dist/components/GrModal/chunks/{GrModal-C0GZrHN3.js.map → GrModal-BTu1-5eY.js.map} +1 -1
  195. package/dist/components/GrModal/index.js +3 -3
  196. package/dist/components/GrNavbar/chunks/{GrNavbar-DW3MiIIf.js → GrNavbar-keKT_mIM.js} +3 -3
  197. package/dist/components/GrNavbar/chunks/GrNavbar-keKT_mIM.js.map +1 -0
  198. package/dist/components/GrNavbar/index.js +1 -1
  199. package/dist/components/GrNumberInput/chunks/{GrNumberInput-DxCEvL7V.js → GrNumberInput-l9ZOHG9D.js} +19 -17
  200. package/dist/components/GrNumberInput/chunks/GrNumberInput-l9ZOHG9D.js.map +1 -0
  201. package/dist/components/GrNumberInput/index.js +2 -2
  202. package/dist/components/GrPagination/chunks/{GrPagination-mlyfLjQY.js → GrPagination-C5Y69CuK.js} +59 -16
  203. package/dist/components/GrPagination/chunks/GrPagination-C5Y69CuK.js.map +1 -0
  204. package/dist/components/GrPagination/index.js +2 -2
  205. package/dist/components/GrProgressBar/chunks/{GrProgressBar-CC3z-Zqp.js → GrProgressBar-Dqg4Fj9S.js} +2 -2
  206. package/dist/components/GrProgressBar/chunks/GrProgressBar-Dqg4Fj9S.js.map +1 -0
  207. package/dist/components/GrProgressBar/index.js +2 -2
  208. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-C-_BMNuY.js → GrPromptDialog-DNUjRVB9.js} +7 -7
  209. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js.map +1 -0
  210. package/dist/components/GrPromptDialog/index.js +2 -2
  211. package/dist/components/GrRadio/chunks/{GrRadio-Dr-pvs_9.js → GrRadio-DlhxPGqf.js} +5 -7
  212. package/dist/components/GrRadio/chunks/GrRadio-DlhxPGqf.js.map +1 -0
  213. package/dist/components/GrRadio/index.js +2 -2
  214. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-nOdvfV_g.js → GrRadioGroup-BXt9iw4q.js} +7 -5
  215. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BXt9iw4q.js.map +1 -0
  216. package/dist/components/GrRadioGroup/index.js +2 -2
  217. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js +241 -0
  218. package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js.map +1 -0
  219. package/dist/components/GrRating/index.js +3 -0
  220. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BWJNe2gr.js → GrResponseErrorBanner-2CvM7Z08.js} +2 -2
  221. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BWJNe2gr.js.map → GrResponseErrorBanner-2CvM7Z08.js.map} +1 -1
  222. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-Cdu9ekK9.js → GrResponseErrorBanner-C8NGx8pE.js} +3 -3
  223. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-Cdu9ekK9.js.map → GrResponseErrorBanner-C8NGx8pE.js.map} +1 -1
  224. package/dist/components/GrResponseErrorBanner/index.js +2 -2
  225. package/dist/components/GrSegmented/chunks/{GrSegmented-C1y0UXpQ.js → GrSegmented-CTd3n4PA.js} +14 -11
  226. package/dist/components/GrSegmented/chunks/GrSegmented-CTd3n4PA.js.map +1 -0
  227. package/dist/components/GrSegmented/index.js +2 -2
  228. package/dist/components/GrSelect/chunks/{GrSelect-BVCmitqa.js → GrSelect-Dn3FgJ3Z.js} +161 -75
  229. package/dist/components/GrSelect/chunks/GrSelect-Dn3FgJ3Z.js.map +1 -0
  230. package/dist/components/GrSelect/index.js +2 -2
  231. package/dist/components/GrSidebar/chunks/{GrSidebar-DkWozzwA.js → GrSidebar-cvnzBfj3.js} +7 -7
  232. package/dist/components/GrSidebar/chunks/GrSidebar-cvnzBfj3.js.map +1 -0
  233. package/dist/components/GrSidebar/index.js +2 -2
  234. package/dist/components/GrSkeleton/chunks/{GrSkeleton-DsN-_CDZ.js → GrSkeleton-BucA5F4J.js} +1 -1
  235. package/dist/components/GrSkeleton/chunks/GrSkeleton-BucA5F4J.js.map +1 -0
  236. package/dist/components/GrSkeleton/index.js +2 -2
  237. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js +286 -0
  238. package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js.map +1 -0
  239. package/dist/components/GrSlider/index.js +3 -0
  240. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js +128 -0
  241. package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js.map +1 -0
  242. package/dist/components/GrStatistic/index.js +3 -0
  243. package/dist/components/GrSwitch/chunks/{GrSwitch-DAioyccZ.js → GrSwitch-CJdRvS0s.js} +16 -7
  244. package/dist/components/GrSwitch/chunks/GrSwitch-CJdRvS0s.js.map +1 -0
  245. package/dist/components/GrSwitch/index.js +2 -2
  246. package/dist/components/GrTabPanels/chunks/{GrTabPanels-DbKybwe-.js → GrTabPanels-DeEMgb_y.js} +1 -1
  247. package/dist/components/GrTabPanels/chunks/{GrTabPanels-DbKybwe-.js.map → GrTabPanels-DeEMgb_y.js.map} +1 -1
  248. package/dist/components/GrTabPanels/index.js +2 -2
  249. package/dist/components/GrTable/chunks/{GrTable-Db3hRnKA.js → GrTable-sNvsA8wa.js} +24 -11
  250. package/dist/components/GrTable/chunks/GrTable-sNvsA8wa.js.map +1 -0
  251. package/dist/components/GrTable/index.js +2 -2
  252. package/dist/components/GrTabs/chunks/{GrTabs-DsLwWoRz.js → GrTabs-BqTak0SR.js} +3 -3
  253. package/dist/components/GrTabs/chunks/GrTabs-BqTak0SR.js.map +1 -0
  254. package/dist/components/GrTabs/index.js +2 -2
  255. package/dist/components/GrTextarea/chunks/{GrTextarea-CKukGlNl.js → GrTextarea-DIYBAPpP.js} +2 -2
  256. package/dist/components/GrTextarea/chunks/GrTextarea-DIYBAPpP.js.map +1 -0
  257. package/dist/components/GrTextarea/index.js +2 -2
  258. package/dist/components/GrToaster/chunks/{GrToaster-L2cu6cSR.js → GrToaster-BVHjIHcM.js} +51 -10
  259. package/dist/components/GrToaster/chunks/GrToaster-BVHjIHcM.js.map +1 -0
  260. package/dist/components/GrToaster/index.js +1 -1
  261. package/dist/components/GrTooltip/chunks/{GrTooltip-BeyZ8ssR.js → GrTooltip-BMKH2lIx.js} +3 -3
  262. package/dist/components/GrTooltip/chunks/GrTooltip-BMKH2lIx.js.map +1 -0
  263. package/dist/components/GrTooltip/index.js +1 -1
  264. package/dist/components/GrTree/chunks/{GrTree-B2_yW6g1.js → GrTree-_12ChXRQ.js} +3 -3
  265. package/dist/components/GrTree/chunks/GrTree-_12ChXRQ.js.map +1 -0
  266. package/dist/components/GrTree/index.js +1 -1
  267. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-0aM62xyu.js → GrTreeSelect-CdaLG7Xq.js} +10 -10
  268. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CdaLG7Xq.js.map +1 -0
  269. package/dist/components/GrTreeSelect/index.js +2 -2
  270. package/dist/composables/useToast.js +3 -1
  271. package/dist/composables/useToast.js.map +1 -1
  272. package/dist/directives/loading.js +1 -1
  273. package/dist/granular-provider-node.js +6 -6
  274. package/dist/granular-provider-node.js.map +1 -1
  275. package/dist/granular-provider.js +1 -1
  276. package/dist/i18n/all.js +1 -1
  277. package/dist/i18n/index.js +1 -1
  278. package/dist/index.js +111 -93
  279. package/dist/index.js.map +1 -1
  280. package/dist/styles/base.css +2 -2
  281. package/dist/styles/index.css +6 -3
  282. package/dist/styles/preflight.css +3 -3
  283. package/dist/styles/themes/dark.css +52 -40
  284. package/dist/styles/themes/light.css +70 -45
  285. package/dist/styles/tokens.css +20 -20
  286. package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +26 -14
  287. package/dist/types/src/components/GrAlert/defaults.d.ts +17 -0
  288. package/dist/types/src/components/GrAlert/grAlertStyles.d.ts +55 -0
  289. package/dist/types/src/components/GrAlert/index.d.ts +4 -1
  290. package/dist/types/src/components/GrAutocomplete/GrAutocomplete.vue.d.ts +153 -0
  291. package/dist/types/src/components/GrAutocomplete/config.d.ts +1 -0
  292. package/dist/types/src/components/GrAutocomplete/defaults.d.ts +15 -0
  293. package/dist/types/src/components/GrAutocomplete/grAutocompleteStyles.d.ts +27 -0
  294. package/dist/types/src/components/GrAutocomplete/index.d.ts +6 -0
  295. package/dist/types/src/components/GrAutocomplete/safelist.d.ts +1 -0
  296. package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +1 -1
  297. package/dist/types/src/components/GrBadge/GrBadge.vue.d.ts +7 -7
  298. package/dist/types/src/components/GrBadge/defaults.d.ts +15 -0
  299. package/dist/types/src/components/GrBadge/index.d.ts +1 -0
  300. package/dist/types/src/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +1 -1
  301. package/dist/types/src/components/GrButton/GrButton.vue.d.ts +12 -12
  302. package/dist/types/src/components/GrButton/defaults.d.ts +25 -0
  303. package/dist/types/src/components/GrButton/grButtonStyles.d.ts +2 -2
  304. package/dist/types/src/components/GrButton/index.d.ts +1 -0
  305. package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +4 -4
  306. package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +2 -2
  307. package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +1 -1
  308. package/dist/types/src/components/GrCommandPalette/GrCommandPalette.vue.d.ts +128 -0
  309. package/dist/types/src/components/GrCommandPalette/config.d.ts +1 -0
  310. package/dist/types/src/components/GrCommandPalette/filtering.d.ts +35 -0
  311. package/dist/types/src/components/GrCommandPalette/grCommandPaletteStyles.d.ts +20 -0
  312. package/dist/types/src/components/GrCommandPalette/hotkey.d.ts +23 -0
  313. package/dist/types/src/components/GrCommandPalette/index.d.ts +6 -0
  314. package/dist/types/src/components/GrCommandPalette/safelist.d.ts +1 -0
  315. package/dist/types/src/components/GrConfigProvider/GrConfigProvider.vue.d.ts +59 -0
  316. package/dist/types/src/components/GrConfigProvider/config.d.ts +1 -0
  317. package/dist/types/src/components/GrConfigProvider/context.d.ts +131 -0
  318. package/dist/types/src/components/GrConfigProvider/index.d.ts +5 -0
  319. package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +2 -2
  320. package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +20 -0
  321. package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +1 -1
  322. package/dist/types/src/components/GrDialogService/store.d.ts +18 -0
  323. package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +1 -1
  324. package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +1 -1
  325. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +1 -1
  326. package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +1 -1
  327. package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +3 -3
  328. package/dist/types/src/components/GrForm/GrForm.vue.d.ts +93 -0
  329. package/dist/types/src/components/GrForm/config.d.ts +1 -0
  330. package/dist/types/src/components/GrForm/context.d.ts +27 -0
  331. package/dist/types/src/components/GrForm/index.d.ts +6 -0
  332. package/dist/types/src/components/GrForm/validation.d.ts +52 -0
  333. package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +11 -1
  334. package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +4 -4
  335. package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +3 -3
  336. package/dist/types/src/components/GrInput/GrInput.vue.d.ts +12 -12
  337. package/dist/types/src/components/GrInput/defaults.d.ts +18 -0
  338. package/dist/types/src/components/GrInput/grInputStyles.d.ts +1 -1
  339. package/dist/types/src/components/GrInput/index.d.ts +1 -0
  340. package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +3 -3
  341. package/dist/types/src/components/GrLink/GrLink.vue.d.ts +3 -3
  342. package/dist/types/src/components/GrLink/grLinkStyles.d.ts +3 -3
  343. package/dist/types/src/components/GrModal/grModalStyles.d.ts +1 -1
  344. package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +10 -10
  345. package/dist/types/src/components/GrNumberInput/defaults.d.ts +14 -0
  346. package/dist/types/src/components/GrNumberInput/index.d.ts +1 -0
  347. package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +18 -0
  348. package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +4 -4
  349. package/dist/types/src/components/GrRadio/GrRadio.vue.d.ts +5 -5
  350. package/dist/types/src/components/GrRadio/defaults.d.ts +14 -0
  351. package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +3 -3
  352. package/dist/types/src/components/GrRadio/index.d.ts +1 -0
  353. package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +4 -4
  354. package/dist/types/src/components/GrRadioGroup/defaults.d.ts +14 -0
  355. package/dist/types/src/components/GrRadioGroup/index.d.ts +1 -0
  356. package/dist/types/src/components/GrRating/GrRating.vue.d.ts +124 -0
  357. package/dist/types/src/components/GrRating/config.d.ts +1 -0
  358. package/dist/types/src/components/GrRating/defaults.d.ts +14 -0
  359. package/dist/types/src/components/GrRating/grRatingStyles.d.ts +21 -0
  360. package/dist/types/src/components/GrRating/index.d.ts +6 -0
  361. package/dist/types/src/components/GrRating/safelist.d.ts +1 -0
  362. package/dist/types/src/components/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +1 -1
  363. package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +7 -7
  364. package/dist/types/src/components/GrSegmented/defaults.d.ts +15 -0
  365. package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +1 -1
  366. package/dist/types/src/components/GrSegmented/index.d.ts +1 -0
  367. package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +57 -17
  368. package/dist/types/src/components/GrSelect/defaults.d.ts +17 -0
  369. package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +3 -3
  370. package/dist/types/src/components/GrSelect/index.d.ts +1 -0
  371. package/dist/types/src/components/GrSidebar/GrSidebarItem.vue.d.ts +2 -2
  372. package/dist/types/src/components/GrSkeleton/GrSkeleton.vue.d.ts +1 -1
  373. package/dist/types/src/components/GrSlider/GrSlider.vue.d.ts +88 -0
  374. package/dist/types/src/components/GrSlider/config.d.ts +1 -0
  375. package/dist/types/src/components/GrSlider/defaults.d.ts +14 -0
  376. package/dist/types/src/components/GrSlider/grSliderStyles.d.ts +36 -0
  377. package/dist/types/src/components/GrSlider/index.d.ts +6 -0
  378. package/dist/types/src/components/GrSlider/safelist.d.ts +1 -0
  379. package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +116 -0
  380. package/dist/types/src/components/GrStatistic/config.d.ts +1 -0
  381. package/dist/types/src/components/GrStatistic/formatStatisticValue.d.ts +16 -0
  382. package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +24 -0
  383. package/dist/types/src/components/GrStatistic/index.d.ts +6 -0
  384. package/dist/types/src/components/GrStatistic/safelist.d.ts +1 -0
  385. package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +4 -4
  386. package/dist/types/src/components/GrSwitch/defaults.d.ts +14 -0
  387. package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +2 -2
  388. package/dist/types/src/components/GrSwitch/index.d.ts +1 -0
  389. package/dist/types/src/components/GrTable/GrTable.vue.d.ts +16 -0
  390. package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +5 -5
  391. package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +19 -2
  392. package/dist/types/src/components/GrToaster/index.d.ts +1 -1
  393. package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +1 -1
  394. package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +1 -1
  395. package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +1 -1
  396. package/dist/types/src/composables/useToast.d.ts +24 -0
  397. package/dist/types/src/granular-provider/shared.d.ts +7 -0
  398. package/dist/types/src/i18n/messages/en.d.ts +74 -0
  399. package/dist/types/src/i18n/messages/es.d.ts +74 -0
  400. package/dist/types/src/i18n/messages/ru.d.ts +74 -0
  401. package/dist/types/src/index.d.ts +7 -0
  402. package/dist/web-types.json +1308 -271
  403. package/package.json +29 -1
  404. package/dist/chunks/config-1uSYl98Y2.js.map +0 -1
  405. package/dist/chunks/config-8Pcutu1j2.js.map +0 -1
  406. package/dist/chunks/config-B7IIWGt_2.js.map +0 -1
  407. package/dist/chunks/config-BIRO0vDJ.js.map +0 -1
  408. package/dist/chunks/config-BLHqZhy-2.js.map +0 -1
  409. package/dist/chunks/config-BOlr7qw7.js.map +0 -1
  410. package/dist/chunks/config-BUHuGBik.js.map +0 -1
  411. package/dist/chunks/config-BX1JTrkV2.js.map +0 -1
  412. package/dist/chunks/config-BXtAmU3s2.js.map +0 -1
  413. package/dist/chunks/config-C7NpDrfO.js.map +0 -1
  414. package/dist/chunks/config-CGHLoBlH.js.map +0 -1
  415. package/dist/chunks/config-ClhKPJvg.js.map +0 -1
  416. package/dist/chunks/config-Cpi9Mh2J.js.map +0 -1
  417. package/dist/chunks/config-CrG1XiE72.js.map +0 -1
  418. package/dist/chunks/config-DUcu1D682.js.map +0 -1
  419. package/dist/chunks/config-D_R56_gT.js.map +0 -1
  420. package/dist/chunks/config-DezDih8_.js.map +0 -1
  421. package/dist/chunks/config-JpHA4Xx02.js.map +0 -1
  422. package/dist/chunks/config-QaIc_gRa.js.map +0 -1
  423. package/dist/chunks/config-U4m9PSql.js.map +0 -1
  424. package/dist/chunks/config-eXB87DOi2.js.map +0 -1
  425. package/dist/chunks/config-eYLZYOUS2.js.map +0 -1
  426. package/dist/chunks/config-ipvU0lzP2.js.map +0 -1
  427. package/dist/chunks/config-xR4XVmcy.js.map +0 -1
  428. package/dist/chunks/en-CfkDa4GX.js.map +0 -1
  429. package/dist/chunks/es-FkgECuCm.js.map +0 -1
  430. package/dist/chunks/grBadgeStyles-DrycBuKT.js.map +0 -1
  431. package/dist/chunks/grButtonStyles-C7Yga_Q1.js.map +0 -1
  432. package/dist/chunks/grModalStyles-DWd3i05Q.js.map +0 -1
  433. package/dist/chunks/grSelectStyles-CLK5hRd3.js.map +0 -1
  434. package/dist/chunks/grStyle-Blc9otAx.js.map +0 -1
  435. package/dist/chunks/ru-Bl8CxpEa.js.map +0 -1
  436. package/dist/chunks/shared-B6Ay2081.js +0 -174
  437. package/dist/chunks/shared-B6Ay2081.js.map +0 -1
  438. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js +0 -163
  439. package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js.map +0 -1
  440. package/dist/components/GrAvatar/chunks/GrAvatar-96CpTCq5.js.map +0 -1
  441. package/dist/components/GrBadge/chunks/GrBadge-B77XlaqE.js.map +0 -1
  442. package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CcktMOdg.js.map +0 -1
  443. package/dist/components/GrBottomNav/chunks/GrBottomNav-usuMgG8_.js.map +0 -1
  444. package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js.map +0 -1
  445. package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js.map +0 -1
  446. package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js.map +0 -1
  447. package/dist/components/GrCollapse/chunks/GrCollapse-CPPLh_xU.js.map +0 -1
  448. package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-D8CkOtqv.js.map +0 -1
  449. package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js.map +0 -1
  450. package/dist/components/GrDialog/chunks/GrDialog-Ctucxju9.js.map +0 -1
  451. package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js.map +0 -1
  452. package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js.map +0 -1
  453. package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js.map +0 -1
  454. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu--g9Vofcq.js.map +0 -1
  455. package/dist/components/GrEmptyState/chunks/GrEmptyState-CA3BiTV7.js.map +0 -1
  456. package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js.map +0 -1
  457. package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js.map +0 -1
  458. package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js.map +0 -1
  459. package/dist/components/GrFormSection/chunks/GrFormSection-Ce21jcgo.js.map +0 -1
  460. package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js.map +0 -1
  461. package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js.map +0 -1
  462. package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js.map +0 -1
  463. package/dist/components/GrList/chunks/GrList-Dx772Ns4.js.map +0 -1
  464. package/dist/components/GrLoading/chunks/GrLoading--X_7rdbb.js.map +0 -1
  465. package/dist/components/GrNavbar/chunks/GrNavbar-DW3MiIIf.js.map +0 -1
  466. package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js.map +0 -1
  467. package/dist/components/GrPagination/chunks/GrPagination-mlyfLjQY.js.map +0 -1
  468. package/dist/components/GrProgressBar/chunks/GrProgressBar-CC3z-Zqp.js.map +0 -1
  469. package/dist/components/GrPromptDialog/chunks/GrPromptDialog-C-_BMNuY.js.map +0 -1
  470. package/dist/components/GrRadio/chunks/GrRadio-Dr-pvs_9.js.map +0 -1
  471. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-nOdvfV_g.js.map +0 -1
  472. package/dist/components/GrSegmented/chunks/GrSegmented-C1y0UXpQ.js.map +0 -1
  473. package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js.map +0 -1
  474. package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js.map +0 -1
  475. package/dist/components/GrSkeleton/chunks/GrSkeleton-DsN-_CDZ.js.map +0 -1
  476. package/dist/components/GrSwitch/chunks/GrSwitch-DAioyccZ.js.map +0 -1
  477. package/dist/components/GrTable/chunks/GrTable-Db3hRnKA.js.map +0 -1
  478. package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js.map +0 -1
  479. package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js.map +0 -1
  480. package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js.map +0 -1
  481. package/dist/components/GrTooltip/chunks/GrTooltip-BeyZ8ssR.js.map +0 -1
  482. package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js.map +0 -1
  483. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-0aM62xyu.js.map +0 -1
  484. package/dist/chunks/{config-8Pcutu1j2.js → config-8Pcutu1j.js} +0 -0
  485. package/dist/chunks/{config-BLHqZhy-2.js → config-BLHqZhy-.js} +0 -0
  486. package/dist/chunks/{config-BUHuGBik.js → config-BUHuGBik2.js} +0 -0
  487. package/dist/chunks/{config-BX1JTrkV2.js → config-BX1JTrkV.js} +0 -0
  488. package/dist/chunks/{config-BXtAmU3s2.js → config-BXtAmU3s.js} +0 -0
  489. package/dist/chunks/{config-CGHLoBlH.js → config-CGHLoBlH2.js} +0 -0
  490. package/dist/chunks/{config-Cpi9Mh2J.js → config-Dqy0rPPO2.js} +1 -1
  491. /package/dist/chunks/{config-JpHA4Xx02.js → config-JpHA4Xx0.js} +0 -0
  492. /package/dist/chunks/{config-QaIc_gRa.js → config-QaIc_gRa2.js} +0 -0
  493. /package/dist/chunks/{config-U4m9PSql.js → config-U4m9PSql2.js} +0 -0
  494. /package/dist/chunks/{config-eXB87DOi2.js → config-eXB87DOi.js} +0 -0
  495. /package/dist/chunks/{config-ipvU0lzP2.js → config-ipvU0lzP.js} +0 -0
  496. /package/dist/chunks/{config-xR4XVmcy.js → config-xR4XVmcy2.js} +0 -0
@@ -1,4 +1,5 @@
1
- import { a as grSegmentedItemIconClass, c as grSegmentedRootStyle, i as grSegmentedItemClass, o as grSegmentedItemLabelClass, r as grSegmentedIndicatorClass, s as grSegmentedRootClass } from "../../../chunks/config-eYLZYOUS2.js";
1
+ import { a as useGrComponentProp, o as useGrComponentSize } from "../../../chunks/context-DfWYCBB-.js";
2
+ import { a as grSegmentedItemIconClass, c as grSegmentedRootStyle, i as grSegmentedItemClass, o as grSegmentedItemLabelClass, r as grSegmentedIndicatorClass, s as grSegmentedRootClass } from "../../../chunks/config-BMKNHFMD2.js";
2
3
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, watch } from "vue";
3
4
  //#region src/components/GrSegmented/GrSegmented.vue?vue&type=script&setup=true&lang.ts
4
5
  var _hoisted_1 = [
@@ -28,8 +29,8 @@ var GrSegmented_default = /* @__PURE__ */ defineComponent({
28
29
  props: {
29
30
  modelValue: {},
30
31
  options: {},
31
- variant: { default: "pills" },
32
- size: { default: "md" },
32
+ variant: { default: void 0 },
33
+ size: { default: void 0 },
33
34
  indicatorDuration: { default: 300 },
34
35
  block: {
35
36
  type: Boolean,
@@ -52,6 +53,8 @@ var GrSegmented_default = /* @__PURE__ */ defineComponent({
52
53
  pointerEvents: "none"
53
54
  };
54
55
  const props = __props;
56
+ const resolvedSize = useGrComponentSize(() => props.size, { component: "GrSegmented" });
57
+ const resolvedVariant = useGrComponentProp("GrSegmented", "variant", () => props.variant, "pills");
55
58
  const emit = __emit;
56
59
  const fallbackName = `gr-segmented-${getCurrentInstance()?.uid ?? Math.random()}`;
57
60
  const rootRef = ref(null);
@@ -67,18 +70,18 @@ var GrSegmented_default = /* @__PURE__ */ defineComponent({
67
70
  const enabledOptions = computed(() => props.options.filter((option) => !resolveOptionDisabled(option)));
68
71
  const indicatorDuration = computed(() => Math.max(0, Math.round(props.indicatorDuration)));
69
72
  const rootClassName = computed(() => grSegmentedRootClass({
70
- variant: props.variant,
73
+ variant: resolvedVariant.value,
71
74
  block: props.block,
72
75
  disabled: props.disabled
73
76
  }));
74
77
  const rootStyle = computed(() => ({
75
78
  ...grSegmentedRootStyle({
76
- variant: props.variant,
77
- size: props.size
79
+ variant: resolvedVariant.value,
80
+ size: resolvedSize.value
78
81
  }),
79
82
  gridTemplateColumns: props.options.length > 0 ? props.options.map(() => props.block ? "minmax(0,1fr)" : "minmax(0,max-content)").join(" ") : "none"
80
83
  }));
81
- const indicatorClassName = computed(() => grSegmentedIndicatorClass(props.variant));
84
+ const indicatorClassName = computed(() => grSegmentedIndicatorClass(resolvedVariant.value));
82
85
  const resolvedName = computed(() => props.name ?? fallbackName);
83
86
  const hasIndicator = computed(() => selectedIndex.value !== -1 && indicatorGeometry.value !== null);
84
87
  const indicatorStyle = computed(() => {
@@ -247,8 +250,8 @@ var GrSegmented_default = /* @__PURE__ */ defineComponent({
247
250
  }
248
251
  watch(() => props.modelValue, () => scheduleMeasure());
249
252
  watch(() => props.options, () => scheduleMeasure(), { deep: true });
250
- watch(() => props.variant, () => scheduleMeasure());
251
- watch(() => props.size, () => scheduleMeasure());
253
+ watch(resolvedVariant, () => scheduleMeasure());
254
+ watch(resolvedSize, () => scheduleMeasure());
252
255
  watch(() => props.block, () => scheduleMeasure());
253
256
  onMounted(() => scheduleMeasure());
254
257
  onBeforeUnmount(() => {
@@ -261,7 +264,7 @@ var GrSegmented_default = /* @__PURE__ */ defineComponent({
261
264
  ref_key: "rootRef",
262
265
  ref: rootRef,
263
266
  "data-gr-segmented": "",
264
- "data-variant": __props.variant,
267
+ "data-variant": unref(resolvedVariant),
265
268
  role: "radiogroup",
266
269
  "aria-label": __props.ariaLabel,
267
270
  "aria-disabled": __props.disabled ? "true" : void 0,
@@ -287,7 +290,7 @@ var GrSegmented_default = /* @__PURE__ */ defineComponent({
287
290
  disabled: resolveOptionDisabled(option),
288
291
  tabindex: isFocusableOption(option, index) ? 0 : -1,
289
292
  class: normalizeClass(unref(grSegmentedItemClass)({
290
- variant: __props.variant,
293
+ variant: unref(resolvedVariant),
291
294
  selected: isOptionSelected(option),
292
295
  disabled: resolveOptionDisabled(option),
293
296
  iconOnly: isIconOnlyOption(option)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrSegmented-CTd3n4PA.js","names":[],"sources":["../../../../src/components/GrSegmented/GrSegmented.vue","../../../../src/components/GrSegmented/GrSegmented.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\nimport { useGrComponentProp, useGrComponentSize } from '../GrConfigProvider/context'\n\nimport type { ComponentPublicInstance } from 'vue'\n\nimport {\n grSegmentedIndicatorClass,\n grSegmentedItemClass,\n grSegmentedItemIconClass,\n grSegmentedItemLabelClass,\n grSegmentedRootClass,\n grSegmentedRootStyle,\n type GrSegmentedOption,\n type GrSegmentedSize,\n type GrSegmentedValue,\n type GrSegmentedVariant,\n} from './grSegmentedStyles'\n\nconst hiddenInputStyle = {\n position: 'absolute',\n opacity: '0',\n width: '0',\n height: '0',\n pointerEvents: 'none',\n} as const\n\ntype IndicatorGeometry = {\n width: number\n height: number\n x: number\n y: number\n}\n\n/**\n * Пропсы публичного GR-примитива «Segmented».\n */\nexport interface GrSegmentedProps {\n modelValue: GrSegmentedValue\n options: GrSegmentedOption[]\n variant?: GrSegmentedVariant\n size?: GrSegmentedSize\n /** Длительность анимации индикатора в мс. */\n indicatorDuration?: number\n /** Растягивать сегмент на всю ширину контейнера. */\n block?: boolean\n disabled?: boolean\n /** Имя скрытых radio-inputs для интеграции с нативной формой. */\n name?: string\n ariaLabel?: string\n}\n\nconst props = withDefaults(\n defineProps<GrSegmentedProps>(),\n {\n variant: undefined,\n size: undefined,\n indicatorDuration: 300,\n block: false,\n disabled: false,\n name: undefined,\n ariaLabel: undefined,\n },\n)\n\n// Эффективный размер: локальный проп → `GrConfigProvider` → дефолт компонента.\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrSegmented' })\nconst resolvedVariant = useGrComponentProp('GrSegmented', 'variant', () => props.variant, 'pills')\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: GrSegmentedValue): void\n (event: 'change', value: GrSegmentedValue, option: GrSegmentedOption): void\n}>()\n\nconst instance = getCurrentInstance()\nconst fallbackName = `gr-segmented-${instance?.uid ?? Math.random()}`\n\nconst rootRef = ref<HTMLElement | null>(null)\nconst itemRefs = ref(new Map<string, HTMLElement>())\nconst indicatorGeometry = ref<IndicatorGeometry | null>(null)\nconst indicatorReady = ref(false)\n\nlet resizeObserver: ResizeObserver | null = null\nlet observedRoot: HTMLElement | null = null\nlet observedItem: HTMLElement | null = null\nlet scheduled = false\n\nconst selectedIndex = computed(() => props.options.findIndex(option => option.value === props.modelValue))\nconst selectedOption = computed(() => props.options[selectedIndex.value] ?? null)\nconst enabledOptions = computed(() => props.options.filter(option => !resolveOptionDisabled(option)))\nconst indicatorDuration = computed(() => Math.max(0, Math.round(props.indicatorDuration)))\nconst rootClassName = computed(() => grSegmentedRootClass({\n variant: resolvedVariant.value,\n block: props.block,\n disabled: props.disabled,\n}))\nconst rootStyle = computed<Record<string, string>>(() => ({\n ...grSegmentedRootStyle({\n variant: resolvedVariant.value,\n size: resolvedSize.value,\n }),\n gridTemplateColumns: props.options.length > 0\n ? props.options.map(() => props.block ? 'minmax(0,1fr)' : 'minmax(0,max-content)').join(' ')\n : 'none',\n}))\nconst indicatorClassName = computed(() => grSegmentedIndicatorClass(resolvedVariant.value))\nconst resolvedName = computed(() => props.name ?? fallbackName)\nconst hasIndicator = computed(() => selectedIndex.value !== -1 && indicatorGeometry.value !== null)\n\nconst indicatorStyle = computed<Record<string, string>>(() => {\n const geometry = indicatorGeometry.value\n if (!geometry) {\n return {\n opacity: '0',\n width: '0px',\n height: '0px',\n transitionDuration: `${indicatorDuration.value}ms`,\n transform: 'translate3d(0px, 0px, 0px)',\n }\n }\n\n return {\n opacity: indicatorReady.value ? '1' : '0',\n width: `${geometry.width}px`,\n height: `${geometry.height}px`,\n transitionDuration: `${indicatorDuration.value}ms`,\n transform: `translate3d(${geometry.x}px, ${geometry.y}px, 0)`,\n }\n})\n\nfunction getOptionKey(value: GrSegmentedValue): string {\n return String(value)\n}\n\nfunction resolveOptionDisabled(option: GrSegmentedOption): boolean {\n return props.disabled || Boolean(option.disabled)\n}\n\nfunction isOptionSelected(option: GrSegmentedOption): boolean {\n return option.value === props.modelValue\n}\n\nfunction isIconOnlyOption(option: GrSegmentedOption): boolean {\n return Boolean(option.icon) && !option.label\n}\n\nfunction isFocusableOption(option: GrSegmentedOption, index: number): boolean {\n if (resolveOptionDisabled(option)) {\n return false\n }\n\n if (isOptionSelected(option)) {\n return true\n }\n\n if (selectedIndex.value !== -1) {\n return false\n }\n\n return enabledOptions.value[0]?.value === props.options[index]?.value\n}\n\nfunction setItemRef(value: GrSegmentedValue, element: Element | ComponentPublicInstance | null): void {\n const key = getOptionKey(value)\n\n if (!(element instanceof HTMLElement)) {\n itemRefs.value.delete(key)\n return\n }\n\n itemRefs.value.set(key, element)\n}\n\nfunction isSameGeometry(left: IndicatorGeometry | null, right: IndicatorGeometry | null): boolean {\n if (left === right) {\n return true\n }\n\n if (!left || !right) {\n return false\n }\n\n return left.width === right.width\n && left.height === right.height\n && left.x === right.x\n && left.y === right.y\n}\n\nfunction measureIndicator(): void {\n const root = rootRef.value\n const option = selectedOption.value\n if (!root || !option) {\n if (indicatorGeometry.value !== null)\n indicatorGeometry.value = null\n\n if (indicatorReady.value)\n indicatorReady.value = false\n\n return\n }\n\n const selectedItem = itemRefs.value.get(getOptionKey(option.value))\n if (!selectedItem) {\n return\n }\n\n const rootRect = root.getBoundingClientRect()\n const itemRect = selectedItem.getBoundingClientRect()\n\n const nextGeometry = {\n width: Math.max(Math.round(itemRect.width), 0),\n height: Math.max(Math.round(itemRect.height), 0),\n x: Math.round(itemRect.left - rootRect.left),\n y: Math.max(Math.round(itemRect.top - rootRect.top) - 1, 0),\n } satisfies IndicatorGeometry\n\n if (!isSameGeometry(indicatorGeometry.value, nextGeometry)) {\n indicatorGeometry.value = nextGeometry\n }\n\n const nextReady = nextGeometry.width > 0 && nextGeometry.height > 0\n if (indicatorReady.value !== nextReady) {\n indicatorReady.value = nextReady\n }\n}\n\nfunction refreshObserver(): void {\n if (typeof ResizeObserver === 'undefined') {\n return\n }\n\n const root = rootRef.value\n const option = selectedOption.value\n const selectedItem = option\n ? itemRefs.value.get(getOptionKey(option.value)) ?? null\n : null\n\n if (!resizeObserver) {\n resizeObserver = new ResizeObserver(() => scheduleMeasure())\n }\n\n if (!root) {\n resizeObserver.disconnect()\n observedRoot = null\n observedItem = null\n return\n }\n\n if (observedRoot === root && observedItem === selectedItem) {\n return\n }\n\n resizeObserver.disconnect()\n resizeObserver.observe(root)\n\n if (selectedItem) {\n resizeObserver.observe(selectedItem)\n }\n\n observedRoot = root\n observedItem = selectedItem\n}\n\nfunction scheduleMeasure(): void {\n if (scheduled) {\n return\n }\n\n scheduled = true\n void nextTick(() => {\n scheduled = false\n measureIndicator()\n refreshObserver()\n })\n}\n\nfunction emitValue(option: GrSegmentedOption): void {\n if (resolveOptionDisabled(option) || option.value === props.modelValue) {\n return\n }\n\n emit('update:modelValue', option.value)\n emit('change', option.value, option)\n}\n\nfunction getNextEnabledIndex(startIndex: number, direction: 1 | -1): number {\n if (props.options.length === 0) {\n return -1\n }\n\n let cursor = startIndex\n for (let step = 0; step < props.options.length; step += 1) {\n cursor = (cursor + direction + props.options.length) % props.options.length\n const option = props.options[cursor]\n if (option && !resolveOptionDisabled(option)) {\n return cursor\n }\n }\n\n return -1\n}\n\nfunction focusIndex(index: number): void {\n const option = props.options[index]\n if (!option) {\n return\n }\n\n itemRefs.value.get(getOptionKey(option.value))?.focus()\n}\n\nfunction onKeydown(event: KeyboardEvent, index: number): void {\n if (props.disabled) {\n return\n }\n\n if (event.key === 'ArrowRight' || event.key === 'ArrowDown') {\n event.preventDefault()\n const nextIndex = getNextEnabledIndex(index, 1)\n if (nextIndex === -1) {\n return\n }\n\n const option = props.options[nextIndex]\n if (option) {\n emitValue(option)\n focusIndex(nextIndex)\n }\n return\n }\n\n if (event.key === 'ArrowLeft' || event.key === 'ArrowUp') {\n event.preventDefault()\n const nextIndex = getNextEnabledIndex(index, -1)\n if (nextIndex === -1) {\n return\n }\n\n const option = props.options[nextIndex]\n if (option) {\n emitValue(option)\n focusIndex(nextIndex)\n }\n return\n }\n\n if (event.key === 'Home') {\n event.preventDefault()\n const firstOption = enabledOptions.value[0]\n if (!firstOption) {\n return\n }\n\n emitValue(firstOption)\n focusIndex(props.options.findIndex(option => option.value === firstOption.value))\n return\n }\n\n if (event.key === 'End') {\n event.preventDefault()\n const lastOption = enabledOptions.value.at(-1)\n if (!lastOption) {\n return\n }\n\n emitValue(lastOption)\n focusIndex(props.options.findIndex(option => option.value === lastOption.value))\n return\n }\n\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault()\n const option = props.options[index]\n if (option) {\n emitValue(option)\n }\n }\n}\n\nwatch(() => props.modelValue, () => scheduleMeasure())\nwatch(() => props.options, () => scheduleMeasure(), { deep: true })\nwatch(resolvedVariant, () => scheduleMeasure())\nwatch(resolvedSize, () => scheduleMeasure())\nwatch(() => props.block, () => scheduleMeasure())\n\nonMounted(() => scheduleMeasure())\nonBeforeUnmount(() => {\n resizeObserver?.disconnect()\n observedRoot = null\n observedItem = null\n})\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n data-gr-segmented\n :data-variant=\"resolvedVariant\"\n role=\"radiogroup\"\n :aria-label=\"ariaLabel\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :class=\"rootClassName\"\n :style=\"rootStyle\"\n >\n <span\n v-if=\"hasIndicator\"\n data-gr-segmented-indicator\n aria-hidden=\"true\"\n :class=\"indicatorClassName\"\n :style=\"indicatorStyle\"\n />\n\n <button\n v-for=\"(option, index) in options\"\n :key=\"option.value\"\n :ref=\"element => setItemRef(option.value, element)\"\n data-gr-segmented-item\n :data-value=\"String(option.value)\"\n type=\"button\"\n role=\"radio\"\n :aria-checked=\"isOptionSelected(option) ? 'true' : 'false'\"\n :aria-disabled=\"resolveOptionDisabled(option) ? 'true' : undefined\"\n :disabled=\"resolveOptionDisabled(option)\"\n :tabindex=\"isFocusableOption(option, index) ? 0 : -1\"\n :class=\"grSegmentedItemClass({\n variant: resolvedVariant,\n selected: isOptionSelected(option),\n disabled: resolveOptionDisabled(option),\n iconOnly: isIconOnlyOption(option),\n })\"\n @click=\"emitValue(option)\"\n @keydown=\"onKeydown($event, index)\"\n >\n <input\n type=\"radio\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n :name=\"resolvedName\"\n :value=\"option.value\"\n :checked=\"isOptionSelected(option)\"\n :disabled=\"resolveOptionDisabled(option)\"\n :style=\"hiddenInputStyle\"\n >\n\n <slot\n :option=\"option\"\n :selected=\"isOptionSelected(option)\"\n :disabled=\"resolveOptionDisabled(option)\"\n >\n <component\n :is=\"option.icon\"\n v-if=\"option.icon\"\n aria-hidden=\"true\"\n :class=\"grSegmentedItemIconClass\"\n />\n <span v-if=\"option.label\" :class=\"grSegmentedItemLabelClass\">\n {{ option.label }}\n </span>\n </slot>\n </button>\n </div>\n</template>","<script setup lang=\"ts\">\nimport { computed, getCurrentInstance, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\nimport { useGrComponentProp, useGrComponentSize } from '../GrConfigProvider/context'\n\nimport type { ComponentPublicInstance } from 'vue'\n\nimport {\n grSegmentedIndicatorClass,\n grSegmentedItemClass,\n grSegmentedItemIconClass,\n grSegmentedItemLabelClass,\n grSegmentedRootClass,\n grSegmentedRootStyle,\n type GrSegmentedOption,\n type GrSegmentedSize,\n type GrSegmentedValue,\n type GrSegmentedVariant,\n} from './grSegmentedStyles'\n\nconst hiddenInputStyle = {\n position: 'absolute',\n opacity: '0',\n width: '0',\n height: '0',\n pointerEvents: 'none',\n} as const\n\ntype IndicatorGeometry = {\n width: number\n height: number\n x: number\n y: number\n}\n\n/**\n * Пропсы публичного GR-примитива «Segmented».\n */\nexport interface GrSegmentedProps {\n modelValue: GrSegmentedValue\n options: GrSegmentedOption[]\n variant?: GrSegmentedVariant\n size?: GrSegmentedSize\n /** Длительность анимации индикатора в мс. */\n indicatorDuration?: number\n /** Растягивать сегмент на всю ширину контейнера. */\n block?: boolean\n disabled?: boolean\n /** Имя скрытых radio-inputs для интеграции с нативной формой. */\n name?: string\n ariaLabel?: string\n}\n\nconst props = withDefaults(\n defineProps<GrSegmentedProps>(),\n {\n variant: undefined,\n size: undefined,\n indicatorDuration: 300,\n block: false,\n disabled: false,\n name: undefined,\n ariaLabel: undefined,\n },\n)\n\n// Эффективный размер: локальный проп → `GrConfigProvider` → дефолт компонента.\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrSegmented' })\nconst resolvedVariant = useGrComponentProp('GrSegmented', 'variant', () => props.variant, 'pills')\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', value: GrSegmentedValue): void\n (event: 'change', value: GrSegmentedValue, option: GrSegmentedOption): void\n}>()\n\nconst instance = getCurrentInstance()\nconst fallbackName = `gr-segmented-${instance?.uid ?? Math.random()}`\n\nconst rootRef = ref<HTMLElement | null>(null)\nconst itemRefs = ref(new Map<string, HTMLElement>())\nconst indicatorGeometry = ref<IndicatorGeometry | null>(null)\nconst indicatorReady = ref(false)\n\nlet resizeObserver: ResizeObserver | null = null\nlet observedRoot: HTMLElement | null = null\nlet observedItem: HTMLElement | null = null\nlet scheduled = false\n\nconst selectedIndex = computed(() => props.options.findIndex(option => option.value === props.modelValue))\nconst selectedOption = computed(() => props.options[selectedIndex.value] ?? null)\nconst enabledOptions = computed(() => props.options.filter(option => !resolveOptionDisabled(option)))\nconst indicatorDuration = computed(() => Math.max(0, Math.round(props.indicatorDuration)))\nconst rootClassName = computed(() => grSegmentedRootClass({\n variant: resolvedVariant.value,\n block: props.block,\n disabled: props.disabled,\n}))\nconst rootStyle = computed<Record<string, string>>(() => ({\n ...grSegmentedRootStyle({\n variant: resolvedVariant.value,\n size: resolvedSize.value,\n }),\n gridTemplateColumns: props.options.length > 0\n ? props.options.map(() => props.block ? 'minmax(0,1fr)' : 'minmax(0,max-content)').join(' ')\n : 'none',\n}))\nconst indicatorClassName = computed(() => grSegmentedIndicatorClass(resolvedVariant.value))\nconst resolvedName = computed(() => props.name ?? fallbackName)\nconst hasIndicator = computed(() => selectedIndex.value !== -1 && indicatorGeometry.value !== null)\n\nconst indicatorStyle = computed<Record<string, string>>(() => {\n const geometry = indicatorGeometry.value\n if (!geometry) {\n return {\n opacity: '0',\n width: '0px',\n height: '0px',\n transitionDuration: `${indicatorDuration.value}ms`,\n transform: 'translate3d(0px, 0px, 0px)',\n }\n }\n\n return {\n opacity: indicatorReady.value ? '1' : '0',\n width: `${geometry.width}px`,\n height: `${geometry.height}px`,\n transitionDuration: `${indicatorDuration.value}ms`,\n transform: `translate3d(${geometry.x}px, ${geometry.y}px, 0)`,\n }\n})\n\nfunction getOptionKey(value: GrSegmentedValue): string {\n return String(value)\n}\n\nfunction resolveOptionDisabled(option: GrSegmentedOption): boolean {\n return props.disabled || Boolean(option.disabled)\n}\n\nfunction isOptionSelected(option: GrSegmentedOption): boolean {\n return option.value === props.modelValue\n}\n\nfunction isIconOnlyOption(option: GrSegmentedOption): boolean {\n return Boolean(option.icon) && !option.label\n}\n\nfunction isFocusableOption(option: GrSegmentedOption, index: number): boolean {\n if (resolveOptionDisabled(option)) {\n return false\n }\n\n if (isOptionSelected(option)) {\n return true\n }\n\n if (selectedIndex.value !== -1) {\n return false\n }\n\n return enabledOptions.value[0]?.value === props.options[index]?.value\n}\n\nfunction setItemRef(value: GrSegmentedValue, element: Element | ComponentPublicInstance | null): void {\n const key = getOptionKey(value)\n\n if (!(element instanceof HTMLElement)) {\n itemRefs.value.delete(key)\n return\n }\n\n itemRefs.value.set(key, element)\n}\n\nfunction isSameGeometry(left: IndicatorGeometry | null, right: IndicatorGeometry | null): boolean {\n if (left === right) {\n return true\n }\n\n if (!left || !right) {\n return false\n }\n\n return left.width === right.width\n && left.height === right.height\n && left.x === right.x\n && left.y === right.y\n}\n\nfunction measureIndicator(): void {\n const root = rootRef.value\n const option = selectedOption.value\n if (!root || !option) {\n if (indicatorGeometry.value !== null)\n indicatorGeometry.value = null\n\n if (indicatorReady.value)\n indicatorReady.value = false\n\n return\n }\n\n const selectedItem = itemRefs.value.get(getOptionKey(option.value))\n if (!selectedItem) {\n return\n }\n\n const rootRect = root.getBoundingClientRect()\n const itemRect = selectedItem.getBoundingClientRect()\n\n const nextGeometry = {\n width: Math.max(Math.round(itemRect.width), 0),\n height: Math.max(Math.round(itemRect.height), 0),\n x: Math.round(itemRect.left - rootRect.left),\n y: Math.max(Math.round(itemRect.top - rootRect.top) - 1, 0),\n } satisfies IndicatorGeometry\n\n if (!isSameGeometry(indicatorGeometry.value, nextGeometry)) {\n indicatorGeometry.value = nextGeometry\n }\n\n const nextReady = nextGeometry.width > 0 && nextGeometry.height > 0\n if (indicatorReady.value !== nextReady) {\n indicatorReady.value = nextReady\n }\n}\n\nfunction refreshObserver(): void {\n if (typeof ResizeObserver === 'undefined') {\n return\n }\n\n const root = rootRef.value\n const option = selectedOption.value\n const selectedItem = option\n ? itemRefs.value.get(getOptionKey(option.value)) ?? null\n : null\n\n if (!resizeObserver) {\n resizeObserver = new ResizeObserver(() => scheduleMeasure())\n }\n\n if (!root) {\n resizeObserver.disconnect()\n observedRoot = null\n observedItem = null\n return\n }\n\n if (observedRoot === root && observedItem === selectedItem) {\n return\n }\n\n resizeObserver.disconnect()\n resizeObserver.observe(root)\n\n if (selectedItem) {\n resizeObserver.observe(selectedItem)\n }\n\n observedRoot = root\n observedItem = selectedItem\n}\n\nfunction scheduleMeasure(): void {\n if (scheduled) {\n return\n }\n\n scheduled = true\n void nextTick(() => {\n scheduled = false\n measureIndicator()\n refreshObserver()\n })\n}\n\nfunction emitValue(option: GrSegmentedOption): void {\n if (resolveOptionDisabled(option) || option.value === props.modelValue) {\n return\n }\n\n emit('update:modelValue', option.value)\n emit('change', option.value, option)\n}\n\nfunction getNextEnabledIndex(startIndex: number, direction: 1 | -1): number {\n if (props.options.length === 0) {\n return -1\n }\n\n let cursor = startIndex\n for (let step = 0; step < props.options.length; step += 1) {\n cursor = (cursor + direction + props.options.length) % props.options.length\n const option = props.options[cursor]\n if (option && !resolveOptionDisabled(option)) {\n return cursor\n }\n }\n\n return -1\n}\n\nfunction focusIndex(index: number): void {\n const option = props.options[index]\n if (!option) {\n return\n }\n\n itemRefs.value.get(getOptionKey(option.value))?.focus()\n}\n\nfunction onKeydown(event: KeyboardEvent, index: number): void {\n if (props.disabled) {\n return\n }\n\n if (event.key === 'ArrowRight' || event.key === 'ArrowDown') {\n event.preventDefault()\n const nextIndex = getNextEnabledIndex(index, 1)\n if (nextIndex === -1) {\n return\n }\n\n const option = props.options[nextIndex]\n if (option) {\n emitValue(option)\n focusIndex(nextIndex)\n }\n return\n }\n\n if (event.key === 'ArrowLeft' || event.key === 'ArrowUp') {\n event.preventDefault()\n const nextIndex = getNextEnabledIndex(index, -1)\n if (nextIndex === -1) {\n return\n }\n\n const option = props.options[nextIndex]\n if (option) {\n emitValue(option)\n focusIndex(nextIndex)\n }\n return\n }\n\n if (event.key === 'Home') {\n event.preventDefault()\n const firstOption = enabledOptions.value[0]\n if (!firstOption) {\n return\n }\n\n emitValue(firstOption)\n focusIndex(props.options.findIndex(option => option.value === firstOption.value))\n return\n }\n\n if (event.key === 'End') {\n event.preventDefault()\n const lastOption = enabledOptions.value.at(-1)\n if (!lastOption) {\n return\n }\n\n emitValue(lastOption)\n focusIndex(props.options.findIndex(option => option.value === lastOption.value))\n return\n }\n\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault()\n const option = props.options[index]\n if (option) {\n emitValue(option)\n }\n }\n}\n\nwatch(() => props.modelValue, () => scheduleMeasure())\nwatch(() => props.options, () => scheduleMeasure(), { deep: true })\nwatch(resolvedVariant, () => scheduleMeasure())\nwatch(resolvedSize, () => scheduleMeasure())\nwatch(() => props.block, () => scheduleMeasure())\n\nonMounted(() => scheduleMeasure())\nonBeforeUnmount(() => {\n resizeObserver?.disconnect()\n observedRoot = null\n observedItem = null\n})\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n data-gr-segmented\n :data-variant=\"resolvedVariant\"\n role=\"radiogroup\"\n :aria-label=\"ariaLabel\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :class=\"rootClassName\"\n :style=\"rootStyle\"\n >\n <span\n v-if=\"hasIndicator\"\n data-gr-segmented-indicator\n aria-hidden=\"true\"\n :class=\"indicatorClassName\"\n :style=\"indicatorStyle\"\n />\n\n <button\n v-for=\"(option, index) in options\"\n :key=\"option.value\"\n :ref=\"element => setItemRef(option.value, element)\"\n data-gr-segmented-item\n :data-value=\"String(option.value)\"\n type=\"button\"\n role=\"radio\"\n :aria-checked=\"isOptionSelected(option) ? 'true' : 'false'\"\n :aria-disabled=\"resolveOptionDisabled(option) ? 'true' : undefined\"\n :disabled=\"resolveOptionDisabled(option)\"\n :tabindex=\"isFocusableOption(option, index) ? 0 : -1\"\n :class=\"grSegmentedItemClass({\n variant: resolvedVariant,\n selected: isOptionSelected(option),\n disabled: resolveOptionDisabled(option),\n iconOnly: isIconOnlyOption(option),\n })\"\n @click=\"emitValue(option)\"\n @keydown=\"onKeydown($event, index)\"\n >\n <input\n type=\"radio\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n :name=\"resolvedName\"\n :value=\"option.value\"\n :checked=\"isOptionSelected(option)\"\n :disabled=\"resolveOptionDisabled(option)\"\n :style=\"hiddenInputStyle\"\n >\n\n <slot\n :option=\"option\"\n :selected=\"isOptionSelected(option)\"\n :disabled=\"resolveOptionDisabled(option)\"\n >\n <component\n :is=\"option.icon\"\n v-if=\"option.icon\"\n aria-hidden=\"true\"\n :class=\"grSegmentedItemIconClass\"\n />\n <span v-if=\"option.label\" :class=\"grSegmentedItemLabelClass\">\n {{ option.label }}\n </span>\n </slot>\n </button>\n </div>\n</template>"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { n as grSegmentedSafelist, t as grSegmentedConfig } from "../../chunks/config-eYLZYOUS2.js";
2
- import { t as GrSegmented_default } from "./chunks/GrSegmented-C1y0UXpQ.js";
1
+ import { n as grSegmentedSafelist, t as grSegmentedConfig } from "../../chunks/config-BMKNHFMD2.js";
2
+ import { t as GrSegmented_default } from "./chunks/GrSegmented-CTd3n4PA.js";
3
3
  export { GrSegmented_default as GrSegmented, GrSegmented_default as default, grSegmentedConfig, grSegmentedSafelist };
@@ -1,10 +1,11 @@
1
- import { t as useGranularityTranslations } from "../../../chunks/granularityI18n-DoV7Ca2m.js";
2
- import { n as useGrFormFieldContext } from "../../../chunks/context-DdNIxa1w.js";
3
- import { t as GrInput_default } from "../../GrInput/chunks/GrInput-B8dd3JaA.js";
1
+ import { a as useGrComponentProp, o as useGrComponentSize } from "../../../chunks/context-DfWYCBB-.js";
2
+ import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-SH0I--GW.js";
4
3
  import { vClickOutside } from "../../../directives/clickOutside.js";
5
4
  import { t as useFloating } from "../../../chunks/useFloating-DtM6TyE4.js";
6
5
  import { t as useEscapeToClose } from "../../../chunks/useEscapeToClose-C2t_S1gh.js";
7
- import { a as grSelectPanelClasses, i as grSelectNativeClass, n as grSelectLinkNativeLabelClass, o as grSelectTriggerClass, r as grSelectLinkNativeOverlayClass, s as linkBaseClass, t as defaultBaseClass } from "../../../chunks/grSelectStyles-CLK5hRd3.js";
6
+ import { n as useGrFormFieldContext } from "../../../chunks/context-DdNIxa1w.js";
7
+ import { t as GrInput_default } from "../../GrInput/chunks/GrInput-C1VBL0dg.js";
8
+ import { a as grSelectPanelClasses, i as grSelectNativeClass, n as grSelectLinkNativeLabelClass, o as grSelectTriggerClass, r as grSelectLinkNativeOverlayClass, s as linkBaseClass, t as defaultBaseClass } from "../../../chunks/grSelectStyles-CwMUQrBZ.js";
8
9
  import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useId, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
9
10
  //#region src/components/GrSelect/GrSelect.vue?vue&type=script&setup=true&lang.ts
10
11
  var _hoisted_1 = [
@@ -32,7 +33,7 @@ var _hoisted_6 = [
32
33
  var _hoisted_7 = {
33
34
  key: 1,
34
35
  "data-testid": "gr-select-chevron",
35
- class: "absolute top-1/2 -translate-y-1/2 right-3 flex items-center text-[var(--muted-fg)] pointer-events-none"
36
+ class: "absolute top-1/2 -translate-y-1/2 right-3 flex items-center text-[var(--gr-muted-fg)] pointer-events-none"
36
37
  };
37
38
  var _hoisted_8 = [
38
39
  "id",
@@ -47,22 +48,35 @@ var _hoisted_8 = [
47
48
  ];
48
49
  var _hoisted_9 = { class: "min-w-0 flex-1" };
49
50
  var _hoisted_10 = {
51
+ key: 0,
52
+ "data-gr-select-tags": "",
53
+ class: "flex flex-wrap gap-1 py-0.5"
54
+ };
55
+ var _hoisted_11 = { class: "truncate" };
56
+ var _hoisted_12 = ["aria-label", "onClick"];
57
+ var _hoisted_13 = {
50
58
  key: 0,
51
59
  class: "shrink-0 h-4 w-4",
52
60
  "aria-hidden": "true"
53
61
  };
54
- var _hoisted_11 = {
62
+ var _hoisted_14 = {
55
63
  key: 1,
56
64
  "data-testid": "gr-select-chevron",
57
- class: "shrink-0 flex items-center text-[var(--muted-fg)] pointer-events-none"
65
+ class: "shrink-0 flex items-center text-[var(--gr-muted-fg)] pointer-events-none"
58
66
  };
59
- var _hoisted_12 = ["disabled", "aria-label"];
60
- var _hoisted_13 = {
67
+ var _hoisted_15 = ["disabled", "aria-label"];
68
+ var _hoisted_16 = {
61
69
  key: 0,
62
- class: "p-2 border-b border-[var(--brd)]"
70
+ class: "p-2 border-b border-[var(--gr-brd)]"
63
71
  };
64
- var _hoisted_14 = ["id", "aria-multiselectable"];
65
- var _hoisted_15 = [
72
+ var _hoisted_17 = {
73
+ key: 1,
74
+ "data-gr-select-loading": "",
75
+ class: "flex items-center justify-center gap-2 px-3 py-4 text-[13px] text-[var(--gr-muted-fg)]",
76
+ role: "status"
77
+ };
78
+ var _hoisted_18 = ["id", "aria-multiselectable"];
79
+ var _hoisted_19 = [
66
80
  "id",
67
81
  "disabled",
68
82
  "aria-selected",
@@ -70,8 +84,13 @@ var _hoisted_15 = [
70
84
  "onClick",
71
85
  "onMousemove"
72
86
  ];
73
- var _hoisted_16 = { class: "flex items-center gap-2 min-w-0" };
74
- var _hoisted_17 = { class: "truncate" };
87
+ var _hoisted_20 = { class: "flex items-center gap-2 min-w-0" };
88
+ var _hoisted_21 = { class: "truncate" };
89
+ var _hoisted_22 = {
90
+ key: 1,
91
+ "data-gr-select-empty": "",
92
+ class: "px-3 py-4 text-center text-[13px] text-[var(--gr-muted-fg)]"
93
+ };
75
94
  //#endregion
76
95
  //#region src/components/GrSelect/GrSelect.vue
77
96
  var GrSelect_default = /* @__PURE__ */ defineComponent({
@@ -85,7 +104,7 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
85
104
  },
86
105
  ariaLabel: { default: void 0 },
87
106
  view: { default: "default" },
88
- size: { default: "md" },
107
+ size: { default: void 0 },
89
108
  placeholder: { default: void 0 },
90
109
  multiple: {
91
110
  type: Boolean,
@@ -96,6 +115,21 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
96
115
  type: Boolean,
97
116
  default: false
98
117
  },
118
+ filterable: {
119
+ type: Boolean,
120
+ default: false
121
+ },
122
+ filterPlaceholder: { default: void 0 },
123
+ loading: {
124
+ type: Boolean,
125
+ default: false
126
+ },
127
+ loadingText: { default: void 0 },
128
+ noResultsText: { default: void 0 },
129
+ tags: {
130
+ type: Boolean,
131
+ default: false
132
+ },
99
133
  customValuePlaceholder: { default: void 0 },
100
134
  dropdownMaxHeight: { default: 280 },
101
135
  closeOnSelect: {
@@ -104,20 +138,28 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
104
138
  },
105
139
  clearable: {
106
140
  type: Boolean,
107
- default: false
141
+ default: void 0
108
142
  },
109
143
  clearLabel: { default: void 0 },
110
- variant: { default: "primary" },
111
- underline: { default: "auto" }
144
+ variant: { default: void 0 },
145
+ underline: { default: void 0 }
112
146
  },
113
147
  emits: ["update:modelValue"],
114
148
  setup(__props, { emit: __emit }) {
115
149
  const props = __props;
150
+ const resolvedSize = useGrComponentSize(() => props.size, { component: "GrSelect" });
151
+ const resolvedVariant = useGrComponentProp("GrSelect", "variant", () => props.variant, "primary");
152
+ const resolvedUnderline = useGrComponentProp("GrSelect", "underline", () => props.underline, "auto");
153
+ const resolvedClearable = useGrComponentProp("GrSelect", "clearable", () => props.clearable, false);
116
154
  const { t } = useGranularityTranslations();
117
155
  const resolvedCustomValuePlaceholder = computed(() => {
118
156
  return props.customValuePlaceholder ?? t("gr.select.customValuePlaceholder", "Add value…");
119
157
  });
120
158
  const resolvedClearLabel = computed(() => props.clearLabel ?? t("gr.common.clear", "Clear"));
159
+ const resolvedFilterPlaceholder = computed(() => props.filterPlaceholder ?? t("gr.select.searchPlaceholder", "Search…"));
160
+ const resolvedLoadingText = computed(() => props.loadingText ?? t("gr.select.loading", "Loading…"));
161
+ const resolvedNoResultsText = computed(() => props.noResultsText ?? t("gr.select.noResults", "No results"));
162
+ const resolvedSearchPlaceholder = computed(() => props.allowCustomValue ? resolvedCustomValuePlaceholder.value : resolvedFilterPlaceholder.value);
121
163
  const baseClassName = computed(() => props.view === "link" ? linkBaseClass : defaultBaseClass);
122
164
  const rootClass = computed(() => props.view === "link" ? "relative inline-block align-baseline" : "relative w-full");
123
165
  const emit = __emit;
@@ -174,8 +216,11 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
174
216
  });
175
217
  const effectiveOptionsView = computed(() => {
176
218
  if (props.view === "link" && props.multiple && props.optionsView === "native") return "panel";
219
+ if ((props.filterable || props.loading || props.tags) && props.optionsView === "native") return "panel";
177
220
  return props.optionsView;
178
221
  });
222
+ const showSearchInput = computed(() => (props.filterable || props.allowCustomValue) && effectiveOptionsView.value === "panel");
223
+ const showTags = computed(() => props.multiple && props.tags && effectiveOptionsView.value === "panel");
179
224
  const nativeCustomOptionVisible = computed(() => {
180
225
  if (!props.allowCustomValue) return false;
181
226
  if (effectiveOptionsView.value !== "native") return false;
@@ -218,7 +263,7 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
218
263
  * Группировка сохраняется, фильтрация по `customValue` скрывает пустые группы.
219
264
  */
220
265
  const panelItems = computed(() => {
221
- const q = props.allowCustomValue ? customValue.value.trim().toLowerCase() : "";
266
+ const q = props.allowCustomValue || props.filterable ? customValue.value.trim().toLowerCase() : "";
222
267
  const items = [];
223
268
  if (props.allowCustomValue && !props.multiple && modelSingle.value !== "" && !hasModelInOptions.value) {
224
269
  const custom = {
@@ -298,6 +343,14 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
298
343
  if (!v) return;
299
344
  toggleValue(v);
300
345
  }
346
+ function removeValue(value) {
347
+ if (props.disabled) return;
348
+ if (!props.multiple) return;
349
+ emitValue(selectedValues.value.filter((v) => v !== value));
350
+ }
351
+ function tagRemoveLabel(option) {
352
+ return t("gr.select.removeTag", "Remove {label}", { label: option.label });
353
+ }
301
354
  const listboxId = useId();
302
355
  const activeIndex = ref(-1);
303
356
  function optionDomId(value) {
@@ -381,7 +434,7 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
381
434
  case "Tab":
382
435
  closeDropdown();
383
436
  break;
384
- default: if (!props.allowCustomValue && event.key.length === 1 && !event.metaKey && !event.ctrlKey && !event.altKey) typeahead(event.key);
437
+ default: if (!showSearchInput.value && event.key.length === 1 && !event.metaKey && !event.ctrlKey && !event.altKey) typeahead(event.key);
385
438
  }
386
439
  }
387
440
  watch(open, async (isOpen) => {
@@ -391,7 +444,7 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
391
444
  return;
392
445
  }
393
446
  initActiveIndex();
394
- if (props.allowCustomValue) {
447
+ if (showSearchInput.value) {
395
448
  await nextTick();
396
449
  customInputRef.value?.focus();
397
450
  }
@@ -400,14 +453,14 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
400
453
  return effectiveOptionsView.value === "native" && props.view !== "link" && !props.multiple;
401
454
  });
402
455
  const nativeClearOptionVisible = computed(() => {
403
- if (!props.clearable) return false;
456
+ if (!resolvedClearable.value) return false;
404
457
  if (effectiveOptionsView.value !== "native") return false;
405
458
  if (props.multiple) return false;
406
459
  if (!props.options) return true;
407
460
  return !flatOptions.value.some((o) => o.value === "");
408
461
  });
409
462
  const panelClearVisible = computed(() => {
410
- if (!props.clearable) return false;
463
+ if (!resolvedClearable.value) return false;
411
464
  if (effectiveOptionsView.value !== "panel") return false;
412
465
  if (props.view === "link") return false;
413
466
  return hasSelection.value;
@@ -415,10 +468,10 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
415
468
  const nativeClassName = computed(() => {
416
469
  return grSelectNativeClass({
417
470
  view: props.view,
418
- size: props.size,
471
+ size: resolvedSize.value,
419
472
  disabled: props.disabled,
420
- variant: props.variant,
421
- underline: props.underline,
473
+ variant: resolvedVariant.value,
474
+ underline: resolvedUnderline.value,
422
475
  showNativeChevron: showNativeChevron.value
423
476
  });
424
477
  });
@@ -430,9 +483,9 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
430
483
  */
431
484
  const isLinkNative = computed(() => props.view === "link" && effectiveOptionsView.value === "native");
432
485
  const linkNativeLabelClassName = computed(() => grSelectLinkNativeLabelClass({
433
- size: props.size,
434
- variant: props.variant,
435
- underline: props.underline,
486
+ size: resolvedSize.value,
487
+ variant: resolvedVariant.value,
488
+ underline: resolvedUnderline.value,
436
489
  disabled: props.disabled
437
490
  }));
438
491
  const linkNativeDisplayText = computed(() => {
@@ -442,10 +495,10 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
442
495
  return grSelectTriggerClass({
443
496
  view: props.view,
444
497
  optionsView: effectiveOptionsView.value,
445
- size: props.size,
498
+ size: resolvedSize.value,
446
499
  disabled: props.disabled,
447
- variant: props.variant,
448
- underline: props.underline
500
+ variant: resolvedVariant.value,
501
+ underline: resolvedUnderline.value
449
502
  });
450
503
  });
451
504
  function onChange(e) {
@@ -536,7 +589,11 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
536
589
  "aria-controls": open.value ? unref(listboxId) : void 0,
537
590
  "aria-activedescendant": activeDescendantId.value,
538
591
  "aria-expanded": open.value ? "true" : "false",
539
- class: normalizeClass([baseClassName.value, triggerClassName.value]),
592
+ class: normalizeClass([
593
+ baseClassName.value,
594
+ triggerClassName.value,
595
+ showTags.value && hasSelection.value ? "!h-auto min-h-10 !py-1.5" : ""
596
+ ]),
540
597
  onClick: toggleDropdown,
541
598
  onKeydown: onComboKeydown
542
599
  }, [createElementVNode("span", _hoisted_9, [renderSlot(_ctx.$slots, "value", {
@@ -545,7 +602,27 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
545
602
  displayLabel: displayLabel.value,
546
603
  placeholder: __props.placeholder,
547
604
  hasSelection: hasSelection.value
548
- }, () => [createElementVNode("span", { class: normalizeClass(["block truncate", !hasSelection.value ? "text-[var(--muted-fg)]" : ""]) }, toDisplayString(displayText.value), 3)])]), panelClearVisible.value ? (openBlock(), createElementBlock("span", _hoisted_10)) : (openBlock(), createElementBlock("span", _hoisted_11, [..._cache[2] || (_cache[2] = [createElementVNode("span", {
605
+ }, () => [showTags.value && hasSelection.value ? (openBlock(), createElementBlock("span", _hoisted_10, [(openBlock(true), createElementBlock(Fragment, null, renderList(selectedOptions.value, (opt) => {
606
+ return openBlock(), createElementBlock("span", {
607
+ key: opt.value,
608
+ "data-gr-select-tag": "",
609
+ class: "inline-flex items-center gap-1 rounded-[6px] bg-[var(--gr-muted)] pl-2 pr-1 py-0.5 text-[12px] text-[var(--gr-fg)] max-w-full"
610
+ }, [createElementVNode("span", _hoisted_11, toDisplayString(opt.label), 1), !__props.disabled ? (openBlock(), createElementBlock("span", {
611
+ key: 0,
612
+ "data-gr-select-tag-remove": "",
613
+ role: "button",
614
+ tabindex: "-1",
615
+ "aria-label": tagRemoveLabel(opt),
616
+ class: "inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-[4px] text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:bg-[color-mix(in_srgb,var(--gr-fg)_12%,transparent)]",
617
+ onClick: withModifiers(($event) => removeValue(opt.value), ["stop"])
618
+ }, [..._cache[2] || (_cache[2] = [createElementVNode("span", {
619
+ class: "i-lucide-x block h-3 w-3",
620
+ "aria-hidden": "true"
621
+ }, null, -1)])], 8, _hoisted_12)) : createCommentVNode("", true)]);
622
+ }), 128))])) : (openBlock(), createElementBlock("span", {
623
+ key: 1,
624
+ class: normalizeClass(["block truncate", !hasSelection.value ? "text-[var(--gr-muted-fg)]" : ""])
625
+ }, toDisplayString(displayText.value), 3))])]), panelClearVisible.value ? (openBlock(), createElementBlock("span", _hoisted_13)) : (openBlock(), createElementBlock("span", _hoisted_14, [..._cache[3] || (_cache[3] = [createElementVNode("span", {
549
626
  class: "i-lucide-chevron-down block h-4 w-4",
550
627
  "aria-hidden": "true"
551
628
  }, null, -1)])]))], 42, _hoisted_8),
@@ -554,14 +631,14 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
554
631
  "data-testid": "gr-select-clear",
555
632
  "data-gr-select-clear": "",
556
633
  type: "button",
557
- class: "absolute top-1/2 -translate-y-1/2 right-3 h-6 w-6 inline-flex items-center justify-center rounded-md text-[var(--muted-fg)] hover:text-[var(--fg)] hover:bg-[color-mix(in_srgb,var(--muted)_25%,transparent)] disabled:opacity-50",
634
+ class: "absolute top-1/2 -translate-y-1/2 right-3 h-6 w-6 inline-flex items-center justify-center rounded-md text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:bg-[color-mix(in_srgb,var(--gr-muted)_25%,transparent)] disabled:opacity-50",
558
635
  disabled: __props.disabled,
559
636
  "aria-label": resolvedClearLabel.value,
560
637
  onClick: withModifiers(clearSelection, ["stop"])
561
- }, [..._cache[3] || (_cache[3] = [createElementVNode("span", {
638
+ }, [..._cache[4] || (_cache[4] = [createElementVNode("span", {
562
639
  class: "i-lucide-x inline-block h-4 w-4",
563
640
  "aria-hidden": "true"
564
- }, null, -1)])], 8, _hoisted_12)) : createCommentVNode("", true),
641
+ }, null, -1)])], 8, _hoisted_15)) : createCommentVNode("", true),
565
642
  (openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(Transition, {
566
643
  "enter-active-class": "transition ease-out duration-150",
567
644
  "enter-from-class": "transform opacity-0 scale-95",
@@ -576,60 +653,69 @@ var GrSelect_default = /* @__PURE__ */ defineComponent({
576
653
  "data-testid": "gr-select-panel",
577
654
  "data-gr-select-panel": "",
578
655
  style: normalizeStyle(unref(floatingStyle))
579
- }, [createElementVNode("div", { class: normalizeClass(panelClasses.value) }, [__props.allowCustomValue ? (openBlock(), createElementBlock("div", _hoisted_13, [createVNode(GrInput_default, {
656
+ }, [createElementVNode("div", { class: normalizeClass(panelClasses.value) }, [showSearchInput.value ? (openBlock(), createElementBlock("div", _hoisted_16, [createVNode(GrInput_default, {
580
657
  ref_key: "customInputRef",
581
658
  ref: customInputRef,
582
659
  modelValue: customValue.value,
583
660
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => customValue.value = $event),
584
661
  "data-testid": "gr-select-custom-input",
662
+ "data-gr-select-search": "",
585
663
  type: "text",
586
- placeholder: resolvedCustomValuePlaceholder.value,
664
+ placeholder: resolvedSearchPlaceholder.value,
587
665
  size: "sm",
588
666
  onKeydown: onComboKeydown
589
- }, null, 8, ["modelValue", "placeholder"])])) : createCommentVNode("", true), createElementVNode("div", {
667
+ }, null, 8, ["modelValue", "placeholder"])])) : createCommentVNode("", true), __props.loading ? (openBlock(), createElementBlock("div", _hoisted_17, [_cache[5] || (_cache[5] = createElementVNode("span", {
668
+ class: "i-lucide-loader-circle block h-4 w-4 animate-spin",
669
+ "aria-hidden": "true"
670
+ }, null, -1)), createElementVNode("span", null, toDisplayString(resolvedLoadingText.value), 1)])) : (openBlock(), createElementBlock("div", {
671
+ key: 2,
590
672
  id: unref(listboxId),
591
673
  "data-gr-select-listbox": "",
592
674
  class: "p-1 overflow-auto",
593
675
  style: normalizeStyle({ maxHeight: `${__props.dropdownMaxHeight}px` }),
594
676
  role: "listbox",
595
677
  "aria-multiselectable": __props.multiple ? "true" : void 0
596
- }, [canAddCustom.value ? (openBlock(), createElementBlock("button", {
597
- key: 0,
598
- "data-testid": "gr-select-add-option",
599
- "data-gr-select-add-option": "",
600
- type: "button",
601
- class: normalizeClass(["rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]", [__props.view === "link" ? "block min-w-full w-max whitespace-nowrap" : "w-full"]]),
602
- onClick: addCustom
603
- }, toDisplayString(unref(t)("gr.select.addOption", "Add \"{value}\"", { value: customValue.value.trim() })), 3)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(panelItems.value, (item) => {
604
- return openBlock(), createElementBlock(Fragment, { key: item.key }, [item.kind === "group" ? (openBlock(), createElementBlock("div", {
678
+ }, [
679
+ canAddCustom.value ? (openBlock(), createElementBlock("button", {
605
680
  key: 0,
606
- "data-gr-select-group-label": "",
607
- role: "presentation",
608
- class: normalizeClass(["px-3 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-fg)]", [__props.view === "link" ? "block min-w-full w-max whitespace-nowrap" : ""]])
609
- }, toDisplayString(item.label), 3)) : (openBlock(), createElementBlock("button", {
610
- key: 1,
611
- id: optionDomId(item.option.value),
612
- "data-gr-select-option": "",
681
+ "data-testid": "gr-select-add-option",
682
+ "data-gr-select-add-option": "",
613
683
  type: "button",
614
- role: "option",
615
- disabled: item.option.disabled,
616
- "aria-selected": isSelected(item.option.value) ? "true" : "false",
617
- "aria-disabled": item.option.disabled ? "true" : void 0,
618
- class: normalizeClass(["rounded-[10px] px-3 py-2 text-left text-[13px]", [
619
- __props.view === "link" ? "block min-w-full w-max whitespace-nowrap" : "w-full",
620
- item.option.disabled ? "cursor-not-allowed opacity-50" : "hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]",
621
- activeValue.value === item.option.value && !item.option.disabled ? "bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]" : ""
622
- ]]),
623
- onClick: ($event) => toggleValue(item.option.value),
624
- onMousemove: ($event) => activeIndex.value = navigableValues.value.indexOf(item.option.value)
625
- }, [renderSlot(_ctx.$slots, "option", {
626
- option: item.option,
627
- selected: isSelected(item.option.value)
628
- }, () => [createElementVNode("span", _hoisted_16, [createElementVNode("span", {
629
- class: normalizeClass(["inline-block h-4 w-4 shrink-0", isSelected(item.option.value) ? "i-lucide-check text-[var(--primary)]" : ""]),
630
- "aria-hidden": "true"
631
- }, null, 2), createElementVNode("span", _hoisted_17, toDisplayString(item.option.label), 1)])])], 42, _hoisted_15))], 64);
632
- }), 128))], 12, _hoisted_14)], 2)], 4), [[vShow, open.value]])]),
684
+ class: normalizeClass(["rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--gr-muted)_30%,transparent)]", [__props.view === "link" ? "block min-w-full w-max whitespace-nowrap" : "w-full"]]),
685
+ onClick: addCustom
686
+ }, toDisplayString(unref(t)("gr.select.addOption", "Add \"{value}\"", { value: customValue.value.trim() })), 3)) : createCommentVNode("", true),
687
+ (openBlock(true), createElementBlock(Fragment, null, renderList(panelItems.value, (item) => {
688
+ return openBlock(), createElementBlock(Fragment, { key: item.key }, [item.kind === "group" ? (openBlock(), createElementBlock("div", {
689
+ key: 0,
690
+ "data-gr-select-group-label": "",
691
+ role: "presentation",
692
+ class: normalizeClass(["px-3 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wide text-[var(--gr-muted-fg)]", [__props.view === "link" ? "block min-w-full w-max whitespace-nowrap" : ""]])
693
+ }, toDisplayString(item.label), 3)) : (openBlock(), createElementBlock("button", {
694
+ key: 1,
695
+ id: optionDomId(item.option.value),
696
+ "data-gr-select-option": "",
697
+ type: "button",
698
+ role: "option",
699
+ disabled: item.option.disabled,
700
+ "aria-selected": isSelected(item.option.value) ? "true" : "false",
701
+ "aria-disabled": item.option.disabled ? "true" : void 0,
702
+ class: normalizeClass(["rounded-[10px] px-3 py-2 text-left text-[13px]", [
703
+ __props.view === "link" ? "block min-w-full w-max whitespace-nowrap" : "w-full",
704
+ item.option.disabled ? "cursor-not-allowed opacity-50" : "hover:bg-[color-mix(in_srgb,var(--gr-muted)_30%,transparent)]",
705
+ activeValue.value === item.option.value && !item.option.disabled ? "bg-[color-mix(in_srgb,var(--gr-muted)_30%,transparent)]" : ""
706
+ ]]),
707
+ onClick: ($event) => toggleValue(item.option.value),
708
+ onMousemove: ($event) => activeIndex.value = navigableValues.value.indexOf(item.option.value)
709
+ }, [renderSlot(_ctx.$slots, "option", {
710
+ option: item.option,
711
+ selected: isSelected(item.option.value)
712
+ }, () => [createElementVNode("span", _hoisted_20, [createElementVNode("span", {
713
+ class: normalizeClass(["inline-block h-4 w-4 shrink-0", isSelected(item.option.value) ? "i-lucide-check text-[var(--gr-primary)]" : ""]),
714
+ "aria-hidden": "true"
715
+ }, null, 2), createElementVNode("span", _hoisted_21, toDisplayString(item.option.label), 1)])])], 42, _hoisted_19))], 64);
716
+ }), 128)),
717
+ !panelItems.value.length && !canAddCustom.value ? (openBlock(), createElementBlock("div", _hoisted_22, toDisplayString(resolvedNoResultsText.value), 1)) : createCommentVNode("", true)
718
+ ], 12, _hoisted_18))], 2)], 4), [[vShow, open.value]])]),
633
719
  _: 3
634
720
  })]))
635
721
  ], 2)), [[unref(vClickOutside), {