@feugene/granularity 0.19.0 → 0.20.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 (835) hide show
  1. package/README.md +8 -0
  2. package/dist/chunks/config-8Pcutu1j.js.map +1 -0
  3. package/dist/chunks/{config-06SQjBx0.js → config-B4w5gBD0.js} +1 -8
  4. package/dist/chunks/{config-06SQjBx0.js.map → config-B4w5gBD0.js.map} +1 -1
  5. package/dist/chunks/config-BE6n20np.js.map +1 -0
  6. package/dist/chunks/{config-B-iNaGdw.js → config-BEVBsvni.js} +1 -3
  7. package/dist/chunks/{config-B-iNaGdw.js.map → config-BEVBsvni.js.map} +1 -1
  8. package/dist/chunks/config-BKvX0q10.js.map +1 -0
  9. package/dist/chunks/config-BTCOJO5z.js +37 -0
  10. package/dist/chunks/config-BTCOJO5z.js.map +1 -0
  11. package/dist/chunks/{config-Rw9OyW702.js → config-BfsBepkH2.js} +1 -5
  12. package/dist/chunks/{config-Rw9OyW702.js.map → config-BfsBepkH2.js.map} +1 -1
  13. package/dist/chunks/{config-DP7eseR1.js → config-Bsh948nP.js} +1 -8
  14. package/dist/chunks/{config-DP7eseR1.js.map → config-Bsh948nP.js.map} +1 -1
  15. package/dist/chunks/config-CDat1wXf.js.map +1 -0
  16. package/dist/chunks/config-COpuWGr_2.js.map +1 -0
  17. package/dist/chunks/config-CY0_6cMi.js.map +1 -0
  18. package/dist/chunks/config-D94Z9po5.js.map +1 -0
  19. package/dist/chunks/config-DAX8Deh12.js.map +1 -0
  20. package/dist/chunks/{config-_qPUfb6-2.js → config-DWN4x6_e.js} +1 -7
  21. package/dist/chunks/config-DWN4x6_e.js.map +1 -0
  22. package/dist/chunks/{config-DhHbU3zO.js → config-Dgj1Q6JY.js} +1 -12
  23. package/dist/chunks/{config-DhHbU3zO.js.map → config-Dgj1Q6JY.js.map} +1 -1
  24. package/dist/chunks/{config-D3_g2KIn.js → config-Dguto_6o.js} +1 -13
  25. package/dist/chunks/{config-D3_g2KIn.js.map → config-Dguto_6o.js.map} +1 -1
  26. package/dist/chunks/config-WTNhdh6T.js.map +1 -0
  27. package/dist/chunks/config-eXB87DOi2.js.map +1 -0
  28. package/dist/chunks/{config-DvQIb4kb.js → config-vSji8w90.js} +1 -14
  29. package/dist/chunks/{config-DvQIb4kb.js.map → config-vSji8w90.js.map} +1 -1
  30. package/dist/chunks/{context-BSYR7RZs.js → context-CTbuwcYs.js} +1 -20
  31. package/dist/chunks/{context-BSYR7RZs.js.map → context-CTbuwcYs.js.map} +1 -1
  32. package/dist/chunks/{config-BqFjr3tN.js → grRadioStyles-BTjGNhtU.js} +1 -36
  33. package/dist/chunks/grRadioStyles-BTjGNhtU.js.map +1 -0
  34. package/dist/chunks/{granular-provider-C6uAujdJ.js → granular-provider-CZYm70Pm.js} +19 -19
  35. package/dist/chunks/{granular-provider-C6uAujdJ.js.map → granular-provider-CZYm70Pm.js.map} +1 -1
  36. package/dist/chunks/{useModalOverlay-DrQVYwwA.js → useModalOverlay-Cv5hF63W.js} +2 -2
  37. package/dist/chunks/{useModalOverlay-DrQVYwwA.js.map → useModalOverlay-Cv5hF63W.js.map} +1 -1
  38. package/dist/chunks/{usePortalTarget-Cn-Wiz5d.js → usePortalTarget-C0p-mhaM.js} +1 -1
  39. package/dist/chunks/{usePortalTarget-Cn-Wiz5d.js.map → usePortalTarget-C0p-mhaM.js.map} +1 -1
  40. package/dist/chunks/{validation-5HhpanPP.js → validation-DauXRIkL.js} +1 -1
  41. package/dist/chunks/{validation-5HhpanPP.js.map → validation-DauXRIkL.js.map} +1 -1
  42. package/dist/components/GrAlert/chunks/{GrAlert-BC1lplbY.js → GrAlert-B21QGele.js} +2 -16
  43. package/dist/components/GrAlert/chunks/{GrAlert-BC1lplbY.js.map → GrAlert-B21QGele.js.map} +1 -1
  44. package/dist/components/GrAlert/index.js +2 -2
  45. package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-gY4Xopza.js → GrAutocomplete-DsevPtiS.js} +3 -3
  46. package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-gY4Xopza.js.map → GrAutocomplete-DsevPtiS.js.map} +1 -1
  47. package/dist/components/GrAutocomplete/index.js +1 -1
  48. package/dist/components/GrAvatar/chunks/{GrAvatar-CVUujLmn.js → GrAvatar-BbdKRX8i.js} +3 -3
  49. package/dist/components/GrAvatar/chunks/{GrAvatar-CVUujLmn.js.map → GrAvatar-BbdKRX8i.js.map} +1 -1
  50. package/dist/components/GrAvatar/index.js +3 -3
  51. package/dist/components/GrBadge/chunks/{GrBadge-B1tgqfGQ.js → GrBadge-u2ZdS7CN.js} +1 -1
  52. package/dist/components/GrBadge/chunks/{GrBadge-B1tgqfGQ.js.map → GrBadge-u2ZdS7CN.js.map} +1 -1
  53. package/dist/components/GrBadge/index.js +1 -1
  54. package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-C-E9betg.js → GrBadgeWrap-DDoFQscR.js} +1 -1
  55. package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-C-E9betg.js.map → GrBadgeWrap-DDoFQscR.js.map} +1 -1
  56. package/dist/components/GrBadgeWrap/index.js +3 -3
  57. package/dist/components/GrBottomNav/chunks/{GrBottomNav-9GH7Dd9E.js → GrBottomNav-JUu4ylYv.js} +2 -2
  58. package/dist/components/GrBottomNav/chunks/{GrBottomNav-9GH7Dd9E.js.map → GrBottomNav-JUu4ylYv.js.map} +1 -1
  59. package/dist/components/GrBottomNav/index.js +3 -3
  60. package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-DS_-PBVt.js → GrBreadcrumbs-CQ44iU2o.js} +2 -2
  61. package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-DS_-PBVt.js.map → GrBreadcrumbs-CQ44iU2o.js.map} +1 -1
  62. package/dist/components/GrBreadcrumbs/index.js +1 -1
  63. package/dist/components/GrButton/chunks/{GrButton-D0m_z0XW.js → GrButton-Bw2AH4uX.js} +1 -1
  64. package/dist/components/GrButton/chunks/{GrButton-D0m_z0XW.js.map → GrButton-Bw2AH4uX.js.map} +1 -1
  65. package/dist/components/GrButton/index.js +2 -3
  66. package/dist/components/GrCard/chunks/{GrCard-DOrGHf2x.js → GrCard-DfIZOP5N.js} +1 -1
  67. package/dist/components/GrCard/chunks/{GrCard-DOrGHf2x.js.map → GrCard-DfIZOP5N.js.map} +1 -1
  68. package/dist/components/GrCard/index.js +1 -1
  69. package/dist/components/GrCheckbox/chunks/{GrCheckbox-BLOp8452.js → GrCheckbox-CEcHIsXM.js} +1 -1
  70. package/dist/components/GrCheckbox/chunks/{GrCheckbox-BLOp8452.js.map → GrCheckbox-CEcHIsXM.js.map} +1 -1
  71. package/dist/components/GrCheckbox/index.js +2 -2
  72. package/dist/components/GrCheckboxGroup/chunks/{GrCheckboxGroup-CXTx2Z5H.js → GrCheckboxGroup-BOwrVcFr.js} +2 -2
  73. package/dist/components/GrCheckboxGroup/chunks/{GrCheckboxGroup-CXTx2Z5H.js.map → GrCheckboxGroup-BOwrVcFr.js.map} +1 -1
  74. package/dist/components/GrCheckboxGroup/index.js +1 -1
  75. package/dist/components/GrCollapse/chunks/{GrCollapse-Kk0DE8tb.js → GrCollapse-KFcrji1L.js} +4 -18
  76. package/dist/components/GrCollapse/chunks/{GrCollapse-Kk0DE8tb.js.map → GrCollapse-KFcrji1L.js.map} +1 -1
  77. package/dist/components/GrCollapse/index.js +2 -2
  78. package/dist/components/GrColorPicker/chunks/{GrColorPicker-CkBTzkqn.js → GrColorPicker-qQdoEPHF.js} +5 -5
  79. package/dist/components/GrColorPicker/chunks/{GrColorPicker-CkBTzkqn.js.map → GrColorPicker-qQdoEPHF.js.map} +1 -1
  80. package/dist/components/GrColorPicker/index.js +2 -2
  81. package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BugTlGdj.js → GrCommandPalette-BFcMf4Pn.js} +4 -4
  82. package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BugTlGdj.js.map → GrCommandPalette-BFcMf4Pn.js.map} +1 -1
  83. package/dist/components/GrCommandPalette/index.js +2 -2
  84. package/dist/components/GrConfigProvider/chunks/{GrConfigProvider-BA6JO7V6.js → GrConfigProvider-UP-EaoAf.js} +1 -1
  85. package/dist/components/GrConfigProvider/chunks/{GrConfigProvider-BA6JO7V6.js.map → GrConfigProvider-UP-EaoAf.js.map} +1 -1
  86. package/dist/components/GrConfigProvider/index.js +3 -3
  87. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-Ds5T0GiR.js → GrConfirmDialog-rRtMScJX.js} +4 -4
  88. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-Ds5T0GiR.js.map → GrConfirmDialog-rRtMScJX.js.map} +1 -1
  89. package/dist/components/GrConfirmDialog/index.js +1 -1
  90. package/dist/components/GrDataTable/chunks/{GrDataTable-CYe2A2WA.js → GrDataTable-CNvZg2HZ.js} +5 -5
  91. package/dist/components/GrDataTable/chunks/{GrDataTable-CYe2A2WA.js.map → GrDataTable-CNvZg2HZ.js.map} +1 -1
  92. package/dist/components/GrDataTable/index.js +2 -2
  93. package/dist/components/GrDialog/chunks/{GrDialog-C3tYaA8v.js → GrDialog-D0U5iRqV.js} +3 -3
  94. package/dist/components/GrDialog/chunks/{GrDialog-C3tYaA8v.js.map → GrDialog-D0U5iRqV.js.map} +1 -1
  95. package/dist/components/GrDialog/index.js +2 -3
  96. package/dist/components/GrDialogService/chunks/{GrDialogService-CTBiiJDI.js → GrDialogService-CrwA4aJq.js} +6 -6
  97. package/dist/components/GrDialogService/chunks/GrDialogService-CrwA4aJq.js.map +1 -0
  98. package/dist/components/GrDialogService/index.js +2 -2
  99. package/dist/components/GrDivider/chunks/{GrDivider-xxq1_fIl.js → GrDivider-CAhm9jbE.js} +2 -2
  100. package/dist/components/GrDivider/chunks/{GrDivider-xxq1_fIl.js.map → GrDivider-CAhm9jbE.js.map} +1 -1
  101. package/dist/components/GrDivider/index.js +2 -2
  102. package/dist/components/GrDrawer/chunks/{GrDrawer-BSSuiNHU.js → GrDrawer-C3zAg2tG.js} +5 -5
  103. package/dist/components/GrDrawer/chunks/{GrDrawer-BSSuiNHU.js.map → GrDrawer-C3zAg2tG.js.map} +1 -1
  104. package/dist/components/GrDrawer/index.js +2 -2
  105. package/dist/components/GrDropdown/chunks/{GrDropdown-Bh6UK2M5.js → GrDropdown-BSfFOcDx.js} +2 -2
  106. package/dist/components/GrDropdown/chunks/{GrDropdown-Bh6UK2M5.js.map → GrDropdown-BSfFOcDx.js.map} +1 -1
  107. package/dist/components/GrDropdown/index.js +1 -1
  108. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-LyfEFUbg.js → GrDropdownMenu-LOaFSCyd.js} +3 -3
  109. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-LyfEFUbg.js.map → GrDropdownMenu-LOaFSCyd.js.map} +1 -1
  110. package/dist/components/GrDropdownMenu/index.js +3 -3
  111. package/dist/components/GrEmptyState/chunks/{GrEmptyState-W7Irx3vc.js → GrEmptyState-CS9do8eM.js} +3 -3
  112. package/dist/components/GrEmptyState/chunks/{GrEmptyState-W7Irx3vc.js.map → GrEmptyState-CS9do8eM.js.map} +1 -1
  113. package/dist/components/GrEmptyState/index.js +3 -3
  114. package/dist/components/GrFileUpload/chunks/{GrFileUpload-DuDzC43S.js → GrFileUpload-D3-vC-ap.js} +4 -4
  115. package/dist/components/GrFileUpload/chunks/{GrFileUpload-DuDzC43S.js.map → GrFileUpload-D3-vC-ap.js.map} +1 -1
  116. package/dist/components/GrFileUpload/index.js +3 -3
  117. package/dist/components/GrForm/chunks/{GrForm-BCHCfIMv.js → GrForm-DdJw23Pz.js} +1 -1
  118. package/dist/components/GrForm/chunks/{GrForm-BCHCfIMv.js.map → GrForm-DdJw23Pz.js.map} +1 -1
  119. package/dist/components/GrForm/index.js +4 -4
  120. package/dist/components/GrFormField/chunks/{GrFormField-CL5rcgj6.js → GrFormField-kqfVY30N.js} +1 -1
  121. package/dist/components/GrFormField/chunks/{GrFormField-CL5rcgj6.js.map → GrFormField-kqfVY30N.js.map} +1 -1
  122. package/dist/components/GrFormField/index.js +3 -3
  123. package/dist/components/GrFormFile/chunks/{GrFormFile-BikSD7bg.js → GrFormFile-D722xHn8.js} +3 -3
  124. package/dist/components/GrFormFile/chunks/{GrFormFile-BikSD7bg.js.map → GrFormFile-D722xHn8.js.map} +1 -1
  125. package/dist/components/GrFormFile/index.js +1 -1
  126. package/dist/components/GrFormSection/chunks/{GrFormSection-BEh5n4jF.js → GrFormSection-CdGWvzXO.js} +2 -2
  127. package/dist/components/GrFormSection/chunks/{GrFormSection-BEh5n4jF.js.map → GrFormSection-CdGWvzXO.js.map} +1 -1
  128. package/dist/components/GrFormSection/index.js +3 -3
  129. package/dist/components/GrIcon/chunks/{GrIcon-BvA2ZGXP.js → GrIcon-bQwtZtYT.js} +1 -1
  130. package/dist/components/GrIcon/chunks/{GrIcon-BvA2ZGXP.js.map → GrIcon-bQwtZtYT.js.map} +1 -1
  131. package/dist/components/GrIcon/index.js +1 -1
  132. package/dist/components/GrImageViewer/chunks/{GrImageViewer-DfD4euH5.js → GrImageViewer-CMO10TS7.js} +2 -2
  133. package/dist/components/GrImageViewer/chunks/{GrImageViewer-DfD4euH5.js.map → GrImageViewer-CMO10TS7.js.map} +1 -1
  134. package/dist/components/GrImageViewer/index.js +1 -1
  135. package/dist/components/GrInput/chunks/{GrInput-2wd7Crs0.js → GrInput-Bb_pxqpT.js} +1 -1
  136. package/dist/components/GrInput/chunks/{GrInput-2wd7Crs0.js.map → GrInput-Bb_pxqpT.js.map} +1 -1
  137. package/dist/components/GrInput/index.js +1 -1
  138. package/dist/components/GrInputTag/chunks/{GrInputTag-CyV2eY7Z.js → GrInputTag-Dghhg03-.js} +3 -3
  139. package/dist/components/GrInputTag/chunks/{GrInputTag-CyV2eY7Z.js.map → GrInputTag-Dghhg03-.js.map} +1 -1
  140. package/dist/components/GrInputTag/index.js +1 -1
  141. package/dist/components/GrKbd/chunks/{GrKbd-DU2lBkRV.js → GrKbd-BXbhsH0M.js} +1 -1
  142. package/dist/components/GrKbd/chunks/{GrKbd-DU2lBkRV.js.map → GrKbd-BXbhsH0M.js.map} +1 -1
  143. package/dist/components/GrKbd/index.js +1 -1
  144. package/dist/components/GrLink/chunks/{GrLink-D-cgUMXW.js → GrLink-BQb7U4so.js} +2 -2
  145. package/dist/components/GrLink/chunks/{GrLink-D-cgUMXW.js.map → GrLink-BQb7U4so.js.map} +1 -1
  146. package/dist/components/GrLink/index.js +1 -1
  147. package/dist/components/GrList/chunks/{GrList-4YU1NZtM.js → GrList-CHibO0xA.js} +2 -2
  148. package/dist/components/GrList/chunks/{GrList-4YU1NZtM.js.map → GrList-CHibO0xA.js.map} +1 -1
  149. package/dist/components/GrList/index.js +1 -1
  150. package/dist/components/GrLoading/chunks/{GrLoading-CH95CFzS.js → GrLoading-C3DZSSuh.js} +1 -1
  151. package/dist/components/GrLoading/chunks/{GrLoading-CH95CFzS.js.map → GrLoading-C3DZSSuh.js.map} +1 -1
  152. package/dist/components/GrLoading/index.js +1 -1
  153. package/dist/components/GrModal/chunks/{GrModal-CbMMr6W1.js → GrModal-CPz7SWD_.js} +2 -2
  154. package/dist/components/GrModal/chunks/{GrModal-CbMMr6W1.js.map → GrModal-CPz7SWD_.js.map} +1 -1
  155. package/dist/components/GrModal/index.js +1 -1
  156. package/dist/components/GrNavbar/chunks/{GrNavbar-CF0KbM_6.js → GrNavbar-DWaaoV7n.js} +2 -2
  157. package/dist/components/GrNavbar/chunks/{GrNavbar-CF0KbM_6.js.map → GrNavbar-DWaaoV7n.js.map} +1 -1
  158. package/dist/components/GrNavbar/index.js +1 -1
  159. package/dist/components/GrNumberInput/chunks/{GrNumberInput-B5CHZDBj.js → GrNumberInput-BotnzW77.js} +2 -2
  160. package/dist/components/GrNumberInput/chunks/{GrNumberInput-B5CHZDBj.js.map → GrNumberInput-BotnzW77.js.map} +1 -1
  161. package/dist/components/GrNumberInput/index.js +1 -1
  162. package/dist/components/GrPagination/chunks/{GrPagination-BM4FrD6Q.js → GrPagination-GtGtSMJG.js} +3 -3
  163. package/dist/components/GrPagination/chunks/{GrPagination-BM4FrD6Q.js.map → GrPagination-GtGtSMJG.js.map} +1 -1
  164. package/dist/components/GrPagination/index.js +1 -1
  165. package/dist/components/GrPopover/chunks/{GrPopover-DMH4Jjst.js → GrPopover-b70bIlQ9.js} +2 -2
  166. package/dist/components/GrPopover/chunks/{GrPopover-DMH4Jjst.js.map → GrPopover-b70bIlQ9.js.map} +1 -1
  167. package/dist/components/GrPopover/index.js +1 -1
  168. package/dist/components/GrProgressBar/chunks/{GrProgressBar-xwbNM9QB.js → GrProgressBar-hszUOC8f.js} +1 -1
  169. package/dist/components/GrProgressBar/chunks/{GrProgressBar-xwbNM9QB.js.map → GrProgressBar-hszUOC8f.js.map} +1 -1
  170. package/dist/components/GrProgressBar/index.js +1 -1
  171. package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-B8olXRo5.js → GrProgressCircle-BeUx1g1f.js} +3 -11
  172. package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-B8olXRo5.js.map → GrProgressCircle-BeUx1g1f.js.map} +1 -1
  173. package/dist/components/GrProgressCircle/index.js +2 -2
  174. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Pwr9NPxK.js → GrPromptDialog-CEI8bf-t.js} +8 -8
  175. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Pwr9NPxK.js.map → GrPromptDialog-CEI8bf-t.js.map} +1 -1
  176. package/dist/components/GrPromptDialog/index.js +1 -1
  177. package/dist/components/GrRadio/chunks/{GrRadio-DWiRaMzt.js → GrRadio-BdhknbO8.js} +2 -2
  178. package/dist/components/GrRadio/chunks/{GrRadio-DWiRaMzt.js.map → GrRadio-BdhknbO8.js.map} +1 -1
  179. package/dist/components/GrRadio/index.js +3 -3
  180. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-DIuBw0wk.js → GrRadioGroup-BVmjKXcv.js} +2 -2
  181. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BVmjKXcv.js.map +1 -0
  182. package/dist/components/GrRadioGroup/index.js +1 -1
  183. package/dist/components/GrRating/chunks/{GrRating-DVFH3lYu.js → GrRating-BSEtaibx.js} +1 -1
  184. package/dist/components/GrRating/chunks/{GrRating-DVFH3lYu.js.map → GrRating-BSEtaibx.js.map} +1 -1
  185. package/dist/components/GrRating/index.js +1 -1
  186. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-C7W9mgYN.js → GrResponseErrorBanner-CZONq8uT.js} +3 -3
  187. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-C7W9mgYN.js.map → GrResponseErrorBanner-CZONq8uT.js.map} +1 -1
  188. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-DhX4jjay.js → GrResponseErrorBanner-CgfAwlg3.js} +1 -1
  189. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-DhX4jjay.js.map → GrResponseErrorBanner-CgfAwlg3.js.map} +1 -1
  190. package/dist/components/GrResponseErrorBanner/index.js +3 -3
  191. package/dist/components/GrSegmented/chunks/{GrSegmented-CQw3ijqa.js → GrSegmented-DP9WMAbm.js} +2 -2
  192. package/dist/components/GrSegmented/chunks/{GrSegmented-CQw3ijqa.js.map → GrSegmented-DP9WMAbm.js.map} +1 -1
  193. package/dist/components/GrSegmented/index.js +3 -3
  194. package/dist/components/GrSelect/chunks/{GrSelect-B-Voni7D.js → GrSelect-CaGuyvtb.js} +5 -7
  195. package/dist/components/GrSelect/chunks/GrSelect-CaGuyvtb.js.map +1 -0
  196. package/dist/components/GrSelect/index.js +1 -1
  197. package/dist/components/GrSelect/styles.css +1 -1
  198. package/dist/components/GrSidebar/chunks/{GrSidebar-i7AxjhY_.js → GrSidebar-DG_t4aPE.js} +3 -3
  199. package/dist/components/GrSidebar/chunks/{GrSidebar-i7AxjhY_.js.map → GrSidebar-DG_t4aPE.js.map} +1 -1
  200. package/dist/components/GrSidebar/index.js +3 -3
  201. package/dist/components/GrSkeleton/chunks/{GrSkeleton-DEvNE3bC.js → GrSkeleton-CgfXxPQ2.js} +1 -7
  202. package/dist/components/GrSkeleton/chunks/{GrSkeleton-DEvNE3bC.js.map → GrSkeleton-CgfXxPQ2.js.map} +1 -1
  203. package/dist/components/GrSkeleton/index.js +3 -3
  204. package/dist/components/GrSlider/chunks/{GrSlider-CyhVsNKn.js → GrSlider-s99yAyz6.js} +1 -1
  205. package/dist/components/GrSlider/chunks/{GrSlider-CyhVsNKn.js.map → GrSlider-s99yAyz6.js.map} +1 -1
  206. package/dist/components/GrSlider/index.js +1 -1
  207. package/dist/components/GrSortableList/chunks/{GrSortableList-XB7mXM1W.js → GrSortableList-DJFPdUVv.js} +2 -2
  208. package/dist/components/GrSortableList/chunks/{GrSortableList-XB7mXM1W.js.map → GrSortableList-DJFPdUVv.js.map} +1 -1
  209. package/dist/components/GrSortableList/index.js +2 -2
  210. package/dist/components/GrSplitter/chunks/{GrSplitter-BzxVQwbY.js → GrSplitter-B9_JrT7q.js} +3 -12
  211. package/dist/components/GrSplitter/chunks/{GrSplitter-BzxVQwbY.js.map → GrSplitter-B9_JrT7q.js.map} +1 -1
  212. package/dist/components/GrSplitter/index.js +3 -3
  213. package/dist/components/GrStatistic/chunks/{GrStatistic-DOsM6s5V.js → GrStatistic-C3VpykHo.js} +2 -2
  214. package/dist/components/GrStatistic/chunks/{GrStatistic-DOsM6s5V.js.map → GrStatistic-C3VpykHo.js.map} +1 -1
  215. package/dist/components/GrStatistic/index.js +1 -1
  216. package/dist/components/GrSwitch/chunks/{GrSwitch-DpyvVrZG.js → GrSwitch-x_vQQ6ao.js} +1 -1
  217. package/dist/components/GrSwitch/chunks/{GrSwitch-DpyvVrZG.js.map → GrSwitch-x_vQQ6ao.js.map} +1 -1
  218. package/dist/components/GrSwitch/index.js +1 -1
  219. package/dist/components/GrTabPanels/chunks/{GrTabPanels-BVe1CZdJ.js → GrTabPanels-AJt1w1XC.js} +1 -1
  220. package/dist/components/GrTabPanels/chunks/{GrTabPanels-BVe1CZdJ.js.map → GrTabPanels-AJt1w1XC.js.map} +1 -1
  221. package/dist/components/GrTabPanels/index.js +3 -3
  222. package/dist/components/GrTable/chunks/{GrTable-BfqgwETQ.js → GrTable-f3qCWa99.js} +2 -2
  223. package/dist/components/GrTable/chunks/{GrTable-BfqgwETQ.js.map → GrTable-f3qCWa99.js.map} +1 -1
  224. package/dist/components/GrTable/index.js +2 -2
  225. package/dist/components/GrTabs/chunks/{GrTabs-f3-oQenu.js → GrTabs-CBHZkOFY.js} +2 -2
  226. package/dist/components/GrTabs/chunks/{GrTabs-f3-oQenu.js.map → GrTabs-CBHZkOFY.js.map} +1 -1
  227. package/dist/components/GrTabs/index.js +3 -3
  228. package/dist/components/GrTextarea/chunks/{GrTextarea-DSvd1nSy.js → GrTextarea-CNnkcIG1.js} +1 -1
  229. package/dist/components/GrTextarea/chunks/{GrTextarea-DSvd1nSy.js.map → GrTextarea-CNnkcIG1.js.map} +1 -1
  230. package/dist/components/GrTextarea/index.js +1 -1
  231. package/dist/components/GrTimeline/chunks/{GrTimeline-B-h2Yanw.js → GrTimeline-DlTraRn5.js} +4 -15
  232. package/dist/components/GrTimeline/chunks/{GrTimeline-B-h2Yanw.js.map → GrTimeline-DlTraRn5.js.map} +1 -1
  233. package/dist/components/GrTimeline/index.js +3 -3
  234. package/dist/components/GrToaster/chunks/{GrToaster-Dqja0Lf9.js → GrToaster-Db2NgrXu.js} +4 -4
  235. package/dist/components/GrToaster/chunks/{GrToaster-Dqja0Lf9.js.map → GrToaster-Db2NgrXu.js.map} +1 -1
  236. package/dist/components/GrToaster/index.js +1 -1
  237. package/dist/components/GrTooltip/chunks/{GrTooltip-Cn08heWz.js → GrTooltip-B6AwE_UX.js} +3 -3
  238. package/dist/components/GrTooltip/chunks/{GrTooltip-Cn08heWz.js.map → GrTooltip-B6AwE_UX.js.map} +1 -1
  239. package/dist/components/GrTooltip/index.js +1 -1
  240. package/dist/components/GrTree/chunks/{GrTree-BR9a2pay.js → GrTree-BvOeQ3xJ.js} +1 -1
  241. package/dist/components/GrTree/chunks/{GrTree-BR9a2pay.js.map → GrTree-BvOeQ3xJ.js.map} +1 -1
  242. package/dist/components/GrTree/index.js +2 -2
  243. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect--muUeB0v.js → GrTreeSelect-_LjTRR7X.js} +5 -9
  244. package/dist/components/GrTreeSelect/chunks/GrTreeSelect-_LjTRR7X.js.map +1 -0
  245. package/dist/components/GrTreeSelect/index.js +1 -1
  246. package/dist/composables/useGrComponentConfig.js +1 -1
  247. package/dist/composables/usePortalTarget.js +1 -1
  248. package/dist/directives/loading.js +1 -1
  249. package/dist/granular-provider-node.js +1 -1
  250. package/dist/granular-provider.js +1 -1
  251. package/dist/index.js +95 -96
  252. package/dist/testing.js +33 -2
  253. package/dist/testing.js.map +1 -1
  254. package/dist/types/{src/components → components}/GrAlert/index.d.ts +0 -1
  255. package/dist/types/{src/components → components}/GrAvatar/index.d.ts +0 -1
  256. package/dist/types/{src/components → components}/GrBadgeWrap/index.d.ts +1 -1
  257. package/dist/types/{src/components → components}/GrBottomNav/index.d.ts +0 -1
  258. package/dist/types/{src/components → components}/GrButton/index.d.ts +0 -1
  259. package/dist/types/{src/components → components}/GrCheckbox/index.d.ts +0 -1
  260. package/dist/types/{src/components → components}/GrCollapse/index.d.ts +0 -1
  261. package/dist/types/{src/components → components}/GrColorPicker/index.d.ts +1 -1
  262. package/dist/types/{src/components → components}/GrCommandPalette/index.d.ts +0 -1
  263. package/dist/types/{src/components → components}/GrConfigProvider/index.d.ts +1 -1
  264. package/dist/types/{src/components → components}/GrDataTable/index.d.ts +0 -1
  265. package/dist/types/{src/components → components}/GrDialog/index.d.ts +1 -1
  266. package/dist/types/{src/components → components}/GrDialogService/index.d.ts +1 -1
  267. package/dist/types/{src/components → components}/GrDropdownMenu/index.d.ts +0 -1
  268. package/dist/types/{src/components → components}/GrEmptyState/index.d.ts +0 -1
  269. package/dist/types/{src/components → components}/GrFileUpload/index.d.ts +2 -3
  270. package/dist/types/{src/components → components}/GrForm/index.d.ts +2 -2
  271. package/dist/types/{src/components → components}/GrFormField/index.d.ts +1 -1
  272. package/dist/types/{src/components → components}/GrFormSection/index.d.ts +0 -1
  273. package/dist/types/{src/components → components}/GrProgressCircle/index.d.ts +0 -1
  274. package/dist/types/{src/components → components}/GrRadio/index.d.ts +0 -1
  275. package/dist/types/{src/components → components}/GrResponseErrorBanner/index.d.ts +2 -3
  276. package/dist/types/{src/components → components}/GrSegmented/index.d.ts +1 -1
  277. package/dist/types/{src/components → components}/GrSelect/GrSelect.vue.d.ts +0 -6
  278. package/dist/types/{src/components → components}/GrSidebar/index.d.ts +0 -1
  279. package/dist/types/{src/components → components}/GrSkeleton/index.d.ts +1 -1
  280. package/dist/types/{src/components → components}/GrSplitter/index.d.ts +1 -1
  281. package/dist/types/{src/components → components}/GrTabPanels/index.d.ts +0 -1
  282. package/dist/types/{src/components → components}/GrTabs/index.d.ts +0 -1
  283. package/dist/types/{src/components → components}/GrTimeline/index.d.ts +0 -2
  284. package/dist/types/{src/components → components}/GrTreeSelect/GrTreeSelect.vue.d.ts +0 -6
  285. package/dist/types/{src/testing → testing}/index.d.ts +1 -0
  286. package/dist/types/testing/keyboard.d.ts +32 -0
  287. package/dist/web-types.json +1 -9
  288. package/package.json +109 -106
  289. package/dist/chunks/config-8Pcutu1j2.js.map +0 -1
  290. package/dist/chunks/config-BE6n20np2.js.map +0 -1
  291. package/dist/chunks/config-BKvX0q102.js.map +0 -1
  292. package/dist/chunks/config-BqFjr3tN.js.map +0 -1
  293. package/dist/chunks/config-CDat1wXf2.js.map +0 -1
  294. package/dist/chunks/config-COpuWGr_.js.map +0 -1
  295. package/dist/chunks/config-CY0_6cMi2.js.map +0 -1
  296. package/dist/chunks/config-D94Z9po52.js.map +0 -1
  297. package/dist/chunks/config-DAX8Deh1.js.map +0 -1
  298. package/dist/chunks/config-WTNhdh6T2.js.map +0 -1
  299. package/dist/chunks/config-_qPUfb6-2.js.map +0 -1
  300. package/dist/chunks/config-eXB87DOi.js.map +0 -1
  301. package/dist/components/GrDialogService/chunks/GrDialogService-CTBiiJDI.js.map +0 -1
  302. package/dist/components/GrRadioGroup/chunks/GrRadioGroup-DIuBw0wk.js.map +0 -1
  303. package/dist/components/GrSelect/chunks/GrSelect-B-Voni7D.js.map +0 -1
  304. package/dist/components/GrTreeSelect/chunks/GrTreeSelect--muUeB0v.js.map +0 -1
  305. /package/dist/chunks/{config-8Pcutu1j2.js → config-8Pcutu1j.js} +0 -0
  306. /package/dist/chunks/{config-BE6n20np2.js → config-BE6n20np.js} +0 -0
  307. /package/dist/chunks/{config-BKvX0q102.js → config-BKvX0q10.js} +0 -0
  308. /package/dist/chunks/{config-CDat1wXf2.js → config-CDat1wXf.js} +0 -0
  309. /package/dist/chunks/{config-COpuWGr_.js → config-COpuWGr_2.js} +0 -0
  310. /package/dist/chunks/{config-CY0_6cMi2.js → config-CY0_6cMi.js} +0 -0
  311. /package/dist/chunks/{config-D94Z9po52.js → config-D94Z9po5.js} +0 -0
  312. /package/dist/chunks/{config-DAX8Deh1.js → config-DAX8Deh12.js} +0 -0
  313. /package/dist/chunks/{config-WTNhdh6T2.js → config-WTNhdh6T.js} +0 -0
  314. /package/dist/chunks/{config-eXB87DOi.js → config-eXB87DOi2.js} +0 -0
  315. /package/dist/types/{src/components → components}/GrAlert/GrAlert.vue.d.ts +0 -0
  316. /package/dist/types/{src/components → components}/GrAlert/config.d.ts +0 -0
  317. /package/dist/types/{src/components → components}/GrAlert/defaults.d.ts +0 -0
  318. /package/dist/types/{src/components → components}/GrAlert/grAlertStyles.d.ts +0 -0
  319. /package/dist/types/{src/components → components}/GrAutocomplete/GrAutocomplete.vue.d.ts +0 -0
  320. /package/dist/types/{src/components → components}/GrAutocomplete/config.d.ts +0 -0
  321. /package/dist/types/{src/components → components}/GrAutocomplete/defaults.d.ts +0 -0
  322. /package/dist/types/{src/components → components}/GrAutocomplete/grAutocompleteStyles.d.ts +0 -0
  323. /package/dist/types/{src/components → components}/GrAutocomplete/index.d.ts +0 -0
  324. /package/dist/types/{src/components → components}/GrAutocomplete/safelist.d.ts +0 -0
  325. /package/dist/types/{src/components → components}/GrAvatar/GrAvatar.vue.d.ts +0 -0
  326. /package/dist/types/{src/components → components}/GrAvatar/GrAvatarGroup.vue.d.ts +0 -0
  327. /package/dist/types/{src/components → components}/GrAvatar/avatarContext.d.ts +0 -0
  328. /package/dist/types/{src/components → components}/GrAvatar/config.d.ts +0 -0
  329. /package/dist/types/{src/components → components}/GrAvatar/defaults.d.ts +0 -0
  330. /package/dist/types/{src/components → components}/GrAvatar/grAvatarStyles.d.ts +0 -0
  331. /package/dist/types/{src/components → components}/GrAvatar/safelist.d.ts +0 -0
  332. /package/dist/types/{src/components → components}/GrBadge/GrBadge.vue.d.ts +0 -0
  333. /package/dist/types/{src/components → components}/GrBadge/config.d.ts +0 -0
  334. /package/dist/types/{src/components → components}/GrBadge/defaults.d.ts +0 -0
  335. /package/dist/types/{src/components → components}/GrBadge/grBadgeStyles.d.ts +0 -0
  336. /package/dist/types/{src/components → components}/GrBadge/index.d.ts +0 -0
  337. /package/dist/types/{src/components → components}/GrBadge/safelist.d.ts +0 -0
  338. /package/dist/types/{src/components → components}/GrBadgeWrap/GrBadgeWrap.vue.d.ts +0 -0
  339. /package/dist/types/{src/components → components}/GrBadgeWrap/config.d.ts +0 -0
  340. /package/dist/types/{src/components → components}/GrBadgeWrap/grBadgeWrapStyles.d.ts +0 -0
  341. /package/dist/types/{src/components → components}/GrBadgeWrap/safelist.d.ts +0 -0
  342. /package/dist/types/{src/components → components}/GrBottomNav/GrBottomNav.vue.d.ts +0 -0
  343. /package/dist/types/{src/components → components}/GrBottomNav/config.d.ts +0 -0
  344. /package/dist/types/{src/components → components}/GrBottomNav/defaults.d.ts +0 -0
  345. /package/dist/types/{src/components → components}/GrBottomNav/grBottomNavStyles.d.ts +0 -0
  346. /package/dist/types/{src/components → components}/GrBottomNav/safelist.d.ts +0 -0
  347. /package/dist/types/{src/components → components}/GrBreadcrumbs/GrBreadcrumbs.vue.d.ts +0 -0
  348. /package/dist/types/{src/components → components}/GrBreadcrumbs/config.d.ts +0 -0
  349. /package/dist/types/{src/components → components}/GrBreadcrumbs/defaults.d.ts +0 -0
  350. /package/dist/types/{src/components → components}/GrBreadcrumbs/grBreadcrumbsStyles.d.ts +0 -0
  351. /package/dist/types/{src/components → components}/GrBreadcrumbs/index.d.ts +0 -0
  352. /package/dist/types/{src/components → components}/GrBreadcrumbs/safelist.d.ts +0 -0
  353. /package/dist/types/{src/components → components}/GrButton/GrButton.vue.d.ts +0 -0
  354. /package/dist/types/{src/components → components}/GrButton/config.d.ts +0 -0
  355. /package/dist/types/{src/components → components}/GrButton/defaults.d.ts +0 -0
  356. /package/dist/types/{src/components → components}/GrButton/grButtonStyles.d.ts +0 -0
  357. /package/dist/types/{src/components → components}/GrButton/safelist.d.ts +0 -0
  358. /package/dist/types/{src/components → components}/GrButtonGroup/GrButtonGroup.vue.d.ts +0 -0
  359. /package/dist/types/{src/components → components}/GrButtonGroup/config.d.ts +0 -0
  360. /package/dist/types/{src/components → components}/GrButtonGroup/context.d.ts +0 -0
  361. /package/dist/types/{src/components → components}/GrButtonGroup/index.d.ts +0 -0
  362. /package/dist/types/{src/components → components}/GrCard/GrCard.vue.d.ts +0 -0
  363. /package/dist/types/{src/components → components}/GrCard/config.d.ts +0 -0
  364. /package/dist/types/{src/components → components}/GrCard/defaults.d.ts +0 -0
  365. /package/dist/types/{src/components → components}/GrCard/grCardStyles.d.ts +0 -0
  366. /package/dist/types/{src/components → components}/GrCard/index.d.ts +0 -0
  367. /package/dist/types/{src/components → components}/GrCard/safelist.d.ts +0 -0
  368. /package/dist/types/{src/components → components}/GrCheckbox/GrCheckbox.vue.d.ts +0 -0
  369. /package/dist/types/{src/components → components}/GrCheckbox/config.d.ts +0 -0
  370. /package/dist/types/{src/components → components}/GrCheckbox/defaults.d.ts +0 -0
  371. /package/dist/types/{src/components → components}/GrCheckbox/grCheckboxGroupContext.d.ts +0 -0
  372. /package/dist/types/{src/components → components}/GrCheckbox/grCheckboxStyles.d.ts +0 -0
  373. /package/dist/types/{src/components → components}/GrCheckbox/safelist.d.ts +0 -0
  374. /package/dist/types/{src/components → components}/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +0 -0
  375. /package/dist/types/{src/components → components}/GrCheckboxGroup/config.d.ts +0 -0
  376. /package/dist/types/{src/components → components}/GrCheckboxGroup/defaults.d.ts +0 -0
  377. /package/dist/types/{src/components → components}/GrCheckboxGroup/index.d.ts +0 -0
  378. /package/dist/types/{src/components → components}/GrCollapse/GrCollapse.vue.d.ts +0 -0
  379. /package/dist/types/{src/components → components}/GrCollapse/GrCollapseItem.vue.d.ts +0 -0
  380. /package/dist/types/{src/components → components}/GrCollapse/config.d.ts +0 -0
  381. /package/dist/types/{src/components → components}/GrCollapse/defaults.d.ts +0 -0
  382. /package/dist/types/{src/components → components}/GrCollapse/grCollapseContext.d.ts +0 -0
  383. /package/dist/types/{src/components → components}/GrCollapse/grCollapseStyles.d.ts +0 -0
  384. /package/dist/types/{src/components → components}/GrCollapse/safelist.d.ts +0 -0
  385. /package/dist/types/{src/components → components}/GrColorPicker/GrColorPicker.vue.d.ts +0 -0
  386. /package/dist/types/{src/components → components}/GrColorPicker/color.d.ts +0 -0
  387. /package/dist/types/{src/components → components}/GrColorPicker/config.d.ts +0 -0
  388. /package/dist/types/{src/components → components}/GrColorPicker/defaults.d.ts +0 -0
  389. /package/dist/types/{src/components → components}/GrColorPicker/grColorPickerStyles.d.ts +0 -0
  390. /package/dist/types/{src/components → components}/GrColorPicker/safelist.d.ts +0 -0
  391. /package/dist/types/{src/components → components}/GrCommandPalette/GrCommandPalette.vue.d.ts +0 -0
  392. /package/dist/types/{src/components → components}/GrCommandPalette/config.d.ts +0 -0
  393. /package/dist/types/{src/components → components}/GrCommandPalette/defaults.d.ts +0 -0
  394. /package/dist/types/{src/components → components}/GrCommandPalette/filtering.d.ts +0 -0
  395. /package/dist/types/{src/components → components}/GrCommandPalette/grCommandPaletteStyles.d.ts +0 -0
  396. /package/dist/types/{src/components → components}/GrCommandPalette/safelist.d.ts +0 -0
  397. /package/dist/types/{src/components → components}/GrConfigProvider/GrConfigProvider.vue.d.ts +0 -0
  398. /package/dist/types/{src/components → components}/GrConfigProvider/config.d.ts +0 -0
  399. /package/dist/types/{src/components → components}/GrConfigProvider/context.d.ts +0 -0
  400. /package/dist/types/{src/components → components}/GrConfigProvider/zIndexScale.d.ts +0 -0
  401. /package/dist/types/{src/components → components}/GrConfirmDialog/GrConfirmDialog.vue.d.ts +0 -0
  402. /package/dist/types/{src/components → components}/GrConfirmDialog/config.d.ts +0 -0
  403. /package/dist/types/{src/components → components}/GrConfirmDialog/defaults.d.ts +0 -0
  404. /package/dist/types/{src/components → components}/GrConfirmDialog/index.d.ts +0 -0
  405. /package/dist/types/{src/components → components}/GrDataTable/GrDataTable.vue.d.ts +0 -0
  406. /package/dist/types/{src/components → components}/GrDataTable/config.d.ts +0 -0
  407. /package/dist/types/{src/components → components}/GrDataTable/defaults.d.ts +0 -0
  408. /package/dist/types/{src/components → components}/GrDataTable/grDataTableSort.d.ts +0 -0
  409. /package/dist/types/{src/components → components}/GrDataTable/grDataTableStyles.d.ts +0 -0
  410. /package/dist/types/{src/components → components}/GrDataTable/safelist.d.ts +0 -0
  411. /package/dist/types/{src/components → components}/GrDialog/GrDialog.vue.d.ts +0 -0
  412. /package/dist/types/{src/components → components}/GrDialog/GrDialogCloseButton.vue.d.ts +0 -0
  413. /package/dist/types/{src/components → components}/GrDialog/GrDialogFooter.vue.d.ts +0 -0
  414. /package/dist/types/{src/components → components}/GrDialog/GrDialogHeader.vue.d.ts +0 -0
  415. /package/dist/types/{src/components → components}/GrDialog/config.d.ts +0 -0
  416. /package/dist/types/{src/components → components}/GrDialog/defaults.d.ts +0 -0
  417. /package/dist/types/{src/components → components}/GrDialog/dialogShared.d.ts +0 -0
  418. /package/dist/types/{src/components → components}/GrDialog/safelist.d.ts +0 -0
  419. /package/dist/types/{src/components → components}/GrDialogService/GrDialogServiceHost.vue.d.ts +0 -0
  420. /package/dist/types/{src/components → components}/GrDialogService/GrDialogServiceItem.vue.d.ts +0 -0
  421. /package/dist/types/{src/components → components}/GrDialogService/config.d.ts +0 -0
  422. /package/dist/types/{src/components → components}/GrDialogService/store.d.ts +0 -0
  423. /package/dist/types/{src/components → components}/GrDialogService/types.d.ts +0 -0
  424. /package/dist/types/{src/components → components}/GrDialogService/useDialogService.d.ts +0 -0
  425. /package/dist/types/{src/components → components}/GrDivider/GrDivider.vue.d.ts +0 -0
  426. /package/dist/types/{src/components → components}/GrDivider/config.d.ts +0 -0
  427. /package/dist/types/{src/components → components}/GrDivider/defaults.d.ts +0 -0
  428. /package/dist/types/{src/components → components}/GrDivider/grDividerStyles.d.ts +0 -0
  429. /package/dist/types/{src/components → components}/GrDivider/index.d.ts +0 -0
  430. /package/dist/types/{src/components → components}/GrDivider/safelist.d.ts +0 -0
  431. /package/dist/types/{src/components → components}/GrDrawer/GrDrawer.vue.d.ts +0 -0
  432. /package/dist/types/{src/components → components}/GrDrawer/config.d.ts +0 -0
  433. /package/dist/types/{src/components → components}/GrDrawer/defaults.d.ts +0 -0
  434. /package/dist/types/{src/components → components}/GrDrawer/grDrawerStyles.d.ts +0 -0
  435. /package/dist/types/{src/components → components}/GrDrawer/index.d.ts +0 -0
  436. /package/dist/types/{src/components → components}/GrDrawer/safelist.d.ts +0 -0
  437. /package/dist/types/{src/components → components}/GrDropdown/GrDropdown.vue.d.ts +0 -0
  438. /package/dist/types/{src/components → components}/GrDropdown/config.d.ts +0 -0
  439. /package/dist/types/{src/components → components}/GrDropdown/grDropdownStyles.d.ts +0 -0
  440. /package/dist/types/{src/components → components}/GrDropdown/index.d.ts +0 -0
  441. /package/dist/types/{src/components → components}/GrDropdown/safelist.d.ts +0 -0
  442. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenu.vue.d.ts +0 -0
  443. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuColumn.vue.d.ts +0 -0
  444. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuColumns.vue.d.ts +0 -0
  445. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuDivider.vue.d.ts +0 -0
  446. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuGroup.vue.d.ts +0 -0
  447. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuHeader.vue.d.ts +0 -0
  448. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +0 -0
  449. /package/dist/types/{src/components → components}/GrDropdownMenu/GrDropdownMenuList.vue.d.ts +0 -0
  450. /package/dist/types/{src/components → components}/GrDropdownMenu/config.d.ts +0 -0
  451. /package/dist/types/{src/components → components}/GrDropdownMenu/grDropdownMenuStyles.d.ts +0 -0
  452. /package/dist/types/{src/components → components}/GrDropdownMenu/menuModel.d.ts +0 -0
  453. /package/dist/types/{src/components → components}/GrDropdownMenu/safelist.d.ts +0 -0
  454. /package/dist/types/{src/components → components}/GrEmptyState/GrEmptyState.vue.d.ts +0 -0
  455. /package/dist/types/{src/components → components}/GrEmptyState/config.d.ts +0 -0
  456. /package/dist/types/{src/components → components}/GrEmptyState/defaults.d.ts +0 -0
  457. /package/dist/types/{src/components → components}/GrEmptyState/grEmptyStateStyles.d.ts +0 -0
  458. /package/dist/types/{src/components → components}/GrEmptyState/safelist.d.ts +0 -0
  459. /package/dist/types/{src/components → components}/GrFileUpload/FileValidationError.d.ts +0 -0
  460. /package/dist/types/{src/components → components}/GrFileUpload/GrFileUpload.vue.d.ts +0 -0
  461. /package/dist/types/{src/components → components}/GrFileUpload/acceptValidator.d.ts +0 -0
  462. /package/dist/types/{src/components → components}/GrFileUpload/config.d.ts +0 -0
  463. /package/dist/types/{src/components → components}/GrFileUpload/defaults.d.ts +0 -0
  464. /package/dist/types/{src/components → components}/GrFileUpload/fileEntry.d.ts +0 -0
  465. /package/dist/types/{src/components → components}/GrFileUpload/grFileUploadStyles.d.ts +0 -0
  466. /package/dist/types/{src/components → components}/GrFileUpload/matchAccept.d.ts +0 -0
  467. /package/dist/types/{src/components → components}/GrFileUpload/maxFileSize.d.ts +0 -0
  468. /package/dist/types/{src/components → components}/GrFileUpload/runFileValidators.d.ts +0 -0
  469. /package/dist/types/{src/components → components}/GrFileUpload/safelist.d.ts +0 -0
  470. /package/dist/types/{src/components → components}/GrFileUpload/types.d.ts +0 -0
  471. /package/dist/types/{src/components → components}/GrFileUpload/uploadState.d.ts +0 -0
  472. /package/dist/types/{src/components → components}/GrFileUpload/uploadViaXhr.d.ts +0 -0
  473. /package/dist/types/{src/components → components}/GrFileUpload/useDropZone.d.ts +0 -0
  474. /package/dist/types/{src/components → components}/GrFileUpload/usePerFileUpload.d.ts +0 -0
  475. /package/dist/types/{src/components → components}/GrFileUpload/useUploadState.d.ts +0 -0
  476. /package/dist/types/{src/components → components}/GrForm/GrForm.vue.d.ts +0 -0
  477. /package/dist/types/{src/components → components}/GrForm/config.d.ts +0 -0
  478. /package/dist/types/{src/components → components}/GrForm/context.d.ts +0 -0
  479. /package/dist/types/{src/components → components}/GrForm/fileRule.d.ts +0 -0
  480. /package/dist/types/{src/components → components}/GrForm/modelSnapshot.d.ts +0 -0
  481. /package/dist/types/{src/components → components}/GrForm/validation.d.ts +0 -0
  482. /package/dist/types/{src/components → components}/GrFormField/GrFormField.vue.d.ts +0 -0
  483. /package/dist/types/{src/components → components}/GrFormField/config.d.ts +0 -0
  484. /package/dist/types/{src/components → components}/GrFormField/context.d.ts +0 -0
  485. /package/dist/types/{src/components → components}/GrFormField/defaults.d.ts +0 -0
  486. /package/dist/types/{src/components → components}/GrFormField/grFormFieldStyles.d.ts +0 -0
  487. /package/dist/types/{src/components → components}/GrFormField/safelist.d.ts +0 -0
  488. /package/dist/types/{src/components → components}/GrFormFile/GrFormFile.vue.d.ts +0 -0
  489. /package/dist/types/{src/components → components}/GrFormFile/config.d.ts +0 -0
  490. /package/dist/types/{src/components → components}/GrFormFile/defaults.d.ts +0 -0
  491. /package/dist/types/{src/components → components}/GrFormFile/grFormFileStyles.d.ts +0 -0
  492. /package/dist/types/{src/components → components}/GrFormFile/index.d.ts +0 -0
  493. /package/dist/types/{src/components → components}/GrFormFile/safelist.d.ts +0 -0
  494. /package/dist/types/{src/components → components}/GrFormSection/GrFormSection.vue.d.ts +0 -0
  495. /package/dist/types/{src/components → components}/GrFormSection/config.d.ts +0 -0
  496. /package/dist/types/{src/components → components}/GrFormSection/defaults.d.ts +0 -0
  497. /package/dist/types/{src/components → components}/GrFormSection/grFormSectionStyles.d.ts +0 -0
  498. /package/dist/types/{src/components → components}/GrFormSection/safelist.d.ts +0 -0
  499. /package/dist/types/{src/components → components}/GrIcon/GrIcon.vue.d.ts +0 -0
  500. /package/dist/types/{src/components → components}/GrIcon/config.d.ts +0 -0
  501. /package/dist/types/{src/components → components}/GrIcon/defaults.d.ts +0 -0
  502. /package/dist/types/{src/components → components}/GrIcon/grIconStyles.d.ts +0 -0
  503. /package/dist/types/{src/components → components}/GrIcon/index.d.ts +0 -0
  504. /package/dist/types/{src/components → components}/GrIcon/safelist.d.ts +0 -0
  505. /package/dist/types/{src/components → components}/GrImageViewer/GrImageViewer.vue.d.ts +0 -0
  506. /package/dist/types/{src/components → components}/GrImageViewer/composables/usePointerGestures.d.ts +0 -0
  507. /package/dist/types/{src/components → components}/GrImageViewer/composables/useViewerKeyboard.d.ts +0 -0
  508. /package/dist/types/{src/components → components}/GrImageViewer/composables/useWheelGesture.d.ts +0 -0
  509. /package/dist/types/{src/components → components}/GrImageViewer/composables/useZoomPan.d.ts +0 -0
  510. /package/dist/types/{src/components → components}/GrImageViewer/config.d.ts +0 -0
  511. /package/dist/types/{src/components → components}/GrImageViewer/grImageViewerStyles.d.ts +0 -0
  512. /package/dist/types/{src/components → components}/GrImageViewer/index.d.ts +0 -0
  513. /package/dist/types/{src/components → components}/GrImageViewer/safelist.d.ts +0 -0
  514. /package/dist/types/{src/components → components}/GrInput/GrInput.vue.d.ts +0 -0
  515. /package/dist/types/{src/components → components}/GrInput/config.d.ts +0 -0
  516. /package/dist/types/{src/components → components}/GrInput/defaults.d.ts +0 -0
  517. /package/dist/types/{src/components → components}/GrInput/grInputStyles.d.ts +0 -0
  518. /package/dist/types/{src/components → components}/GrInput/index.d.ts +0 -0
  519. /package/dist/types/{src/components → components}/GrInput/safelist.d.ts +0 -0
  520. /package/dist/types/{src/components → components}/GrInputTag/GrInputTag.vue.d.ts +0 -0
  521. /package/dist/types/{src/components → components}/GrInputTag/config.d.ts +0 -0
  522. /package/dist/types/{src/components → components}/GrInputTag/defaults.d.ts +0 -0
  523. /package/dist/types/{src/components → components}/GrInputTag/grInputTagStyles.d.ts +0 -0
  524. /package/dist/types/{src/components → components}/GrInputTag/index.d.ts +0 -0
  525. /package/dist/types/{src/components → components}/GrInputTag/safelist.d.ts +0 -0
  526. /package/dist/types/{src/components → components}/GrKbd/GrKbd.vue.d.ts +0 -0
  527. /package/dist/types/{src/components → components}/GrKbd/config.d.ts +0 -0
  528. /package/dist/types/{src/components → components}/GrKbd/defaults.d.ts +0 -0
  529. /package/dist/types/{src/components → components}/GrKbd/grKbdStyles.d.ts +0 -0
  530. /package/dist/types/{src/components → components}/GrKbd/index.d.ts +0 -0
  531. /package/dist/types/{src/components → components}/GrKbd/safelist.d.ts +0 -0
  532. /package/dist/types/{src/components → components}/GrLink/GrLink.vue.d.ts +0 -0
  533. /package/dist/types/{src/components → components}/GrLink/config.d.ts +0 -0
  534. /package/dist/types/{src/components → components}/GrLink/defaults.d.ts +0 -0
  535. /package/dist/types/{src/components → components}/GrLink/grLinkStyles.d.ts +0 -0
  536. /package/dist/types/{src/components → components}/GrLink/index.d.ts +0 -0
  537. /package/dist/types/{src/components → components}/GrLink/safelist.d.ts +0 -0
  538. /package/dist/types/{src/components → components}/GrList/GrList.vue.d.ts +0 -0
  539. /package/dist/types/{src/components → components}/GrList/GrListItem.vue.d.ts +0 -0
  540. /package/dist/types/{src/components → components}/GrList/config.d.ts +0 -0
  541. /package/dist/types/{src/components → components}/GrList/grListStyles.d.ts +0 -0
  542. /package/dist/types/{src/components → components}/GrList/index.d.ts +0 -0
  543. /package/dist/types/{src/components → components}/GrList/safelist.d.ts +0 -0
  544. /package/dist/types/{src/components → components}/GrLoading/GrLoading.vue.d.ts +0 -0
  545. /package/dist/types/{src/components → components}/GrLoading/config.d.ts +0 -0
  546. /package/dist/types/{src/components → components}/GrLoading/grLoadingStyles.d.ts +0 -0
  547. /package/dist/types/{src/components → components}/GrLoading/index.d.ts +0 -0
  548. /package/dist/types/{src/components → components}/GrLoading/safelist.d.ts +0 -0
  549. /package/dist/types/{src/components → components}/GrModal/GrModal.vue.d.ts +0 -0
  550. /package/dist/types/{src/components → components}/GrModal/config.d.ts +0 -0
  551. /package/dist/types/{src/components → components}/GrModal/context.d.ts +0 -0
  552. /package/dist/types/{src/components → components}/GrModal/defaults.d.ts +0 -0
  553. /package/dist/types/{src/components → components}/GrModal/grModalStyles.d.ts +0 -0
  554. /package/dist/types/{src/components → components}/GrModal/index.d.ts +0 -0
  555. /package/dist/types/{src/components → components}/GrModal/safelist.d.ts +0 -0
  556. /package/dist/types/{src/components → components}/GrNavbar/GrNavbar.vue.d.ts +0 -0
  557. /package/dist/types/{src/components → components}/GrNavbar/config.d.ts +0 -0
  558. /package/dist/types/{src/components → components}/GrNavbar/grNavbarStyles.d.ts +0 -0
  559. /package/dist/types/{src/components → components}/GrNavbar/index.d.ts +0 -0
  560. /package/dist/types/{src/components → components}/GrNavbar/safelist.d.ts +0 -0
  561. /package/dist/types/{src/components → components}/GrNumberInput/GrNumberInput.vue.d.ts +0 -0
  562. /package/dist/types/{src/components → components}/GrNumberInput/config.d.ts +0 -0
  563. /package/dist/types/{src/components → components}/GrNumberInput/defaults.d.ts +0 -0
  564. /package/dist/types/{src/components → components}/GrNumberInput/grNumberInputStyles.d.ts +0 -0
  565. /package/dist/types/{src/components → components}/GrNumberInput/index.d.ts +0 -0
  566. /package/dist/types/{src/components → components}/GrNumberInput/numberInputMath.d.ts +0 -0
  567. /package/dist/types/{src/components → components}/GrNumberInput/safelist.d.ts +0 -0
  568. /package/dist/types/{src/components → components}/GrPagination/GrPagination.vue.d.ts +0 -0
  569. /package/dist/types/{src/components → components}/GrPagination/config.d.ts +0 -0
  570. /package/dist/types/{src/components → components}/GrPagination/defaults.d.ts +0 -0
  571. /package/dist/types/{src/components → components}/GrPagination/grPaginationStyles.d.ts +0 -0
  572. /package/dist/types/{src/components → components}/GrPagination/index.d.ts +0 -0
  573. /package/dist/types/{src/components → components}/GrPagination/safelist.d.ts +0 -0
  574. /package/dist/types/{src/components → components}/GrPopover/GrPopover.vue.d.ts +0 -0
  575. /package/dist/types/{src/components → components}/GrPopover/config.d.ts +0 -0
  576. /package/dist/types/{src/components → components}/GrPopover/defaults.d.ts +0 -0
  577. /package/dist/types/{src/components → components}/GrPopover/grPopoverStyles.d.ts +0 -0
  578. /package/dist/types/{src/components → components}/GrPopover/index.d.ts +0 -0
  579. /package/dist/types/{src/components → components}/GrPopover/safelist.d.ts +0 -0
  580. /package/dist/types/{src/components → components}/GrProgressBar/GrProgressBar.vue.d.ts +0 -0
  581. /package/dist/types/{src/components → components}/GrProgressBar/config.d.ts +0 -0
  582. /package/dist/types/{src/components → components}/GrProgressBar/defaults.d.ts +0 -0
  583. /package/dist/types/{src/components → components}/GrProgressBar/grStyle.d.ts +0 -0
  584. /package/dist/types/{src/components → components}/GrProgressBar/index.d.ts +0 -0
  585. /package/dist/types/{src/components → components}/GrProgressBar/safelist.d.ts +0 -0
  586. /package/dist/types/{src/components → components}/GrProgressCircle/GrProgressCircle.vue.d.ts +0 -0
  587. /package/dist/types/{src/components → components}/GrProgressCircle/config.d.ts +0 -0
  588. /package/dist/types/{src/components → components}/GrProgressCircle/defaults.d.ts +0 -0
  589. /package/dist/types/{src/components → components}/GrProgressCircle/geometry.d.ts +0 -0
  590. /package/dist/types/{src/components → components}/GrProgressCircle/grProgressCircleStyles.d.ts +0 -0
  591. /package/dist/types/{src/components → components}/GrProgressCircle/safelist.d.ts +0 -0
  592. /package/dist/types/{src/components → components}/GrPromptDialog/GrPromptDialog.vue.d.ts +0 -0
  593. /package/dist/types/{src/components → components}/GrPromptDialog/config.d.ts +0 -0
  594. /package/dist/types/{src/components → components}/GrPromptDialog/defaults.d.ts +0 -0
  595. /package/dist/types/{src/components → components}/GrPromptDialog/index.d.ts +0 -0
  596. /package/dist/types/{src/components → components}/GrRadio/GrRadio.vue.d.ts +0 -0
  597. /package/dist/types/{src/components → components}/GrRadio/config.d.ts +0 -0
  598. /package/dist/types/{src/components → components}/GrRadio/defaults.d.ts +0 -0
  599. /package/dist/types/{src/components → components}/GrRadio/grRadioGroupContext.d.ts +0 -0
  600. /package/dist/types/{src/components → components}/GrRadio/grRadioStyles.d.ts +0 -0
  601. /package/dist/types/{src/components → components}/GrRadio/safelist.d.ts +0 -0
  602. /package/dist/types/{src/components → components}/GrRadioGroup/GrRadioGroup.vue.d.ts +0 -0
  603. /package/dist/types/{src/components → components}/GrRadioGroup/config.d.ts +0 -0
  604. /package/dist/types/{src/components → components}/GrRadioGroup/defaults.d.ts +0 -0
  605. /package/dist/types/{src/components → components}/GrRadioGroup/index.d.ts +0 -0
  606. /package/dist/types/{src/components → components}/GrRating/GrRating.vue.d.ts +0 -0
  607. /package/dist/types/{src/components → components}/GrRating/config.d.ts +0 -0
  608. /package/dist/types/{src/components → components}/GrRating/defaults.d.ts +0 -0
  609. /package/dist/types/{src/components → components}/GrRating/grRatingStyles.d.ts +0 -0
  610. /package/dist/types/{src/components → components}/GrRating/index.d.ts +0 -0
  611. /package/dist/types/{src/components → components}/GrRating/safelist.d.ts +0 -0
  612. /package/dist/types/{src/components → components}/GrResponseErrorBanner/GrFormErrorBanner.vue.d.ts +0 -0
  613. /package/dist/types/{src/components → components}/GrResponseErrorBanner/GrResponseErrorBanner.vue.d.ts +0 -0
  614. /package/dist/types/{src/components → components}/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +0 -0
  615. /package/dist/types/{src/components → components}/GrResponseErrorBanner/config.d.ts +0 -0
  616. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/abortErrorParser.d.ts +0 -0
  617. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/createResponseErrorClassifier.d.ts +0 -0
  618. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/fileValidationParser.d.ts +0 -0
  619. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/httpStatusParser.d.ts +0 -0
  620. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/index.d.ts +0 -0
  621. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/jsonApiErrorParser.d.ts +0 -0
  622. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/laravelValidationParser.d.ts +0 -0
  623. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/networkErrorParser.d.ts +0 -0
  624. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/normalizeError.d.ts +0 -0
  625. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/plainMessageParser.d.ts +0 -0
  626. /package/dist/types/{src/components → components}/GrResponseErrorBanner/parsers/problemDetailsParser.d.ts +0 -0
  627. /package/dist/types/{src/components → components}/GrResponseErrorBanner/responseError.defaults.d.ts +0 -0
  628. /package/dist/types/{src/components → components}/GrResponseErrorBanner/responseError.types.d.ts +0 -0
  629. /package/dist/types/{src/components → components}/GrResponseErrorBanner/useResponseError.d.ts +0 -0
  630. /package/dist/types/{src/components → components}/GrSegmented/GrSegmented.vue.d.ts +0 -0
  631. /package/dist/types/{src/components → components}/GrSegmented/config.d.ts +0 -0
  632. /package/dist/types/{src/components → components}/GrSegmented/defaults.d.ts +0 -0
  633. /package/dist/types/{src/components → components}/GrSegmented/grSegmentedStyles.d.ts +0 -0
  634. /package/dist/types/{src/components → components}/GrSegmented/safelist.d.ts +0 -0
  635. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectNavigation.d.ts +0 -0
  636. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectPanelItems.d.ts +0 -0
  637. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectValues.d.ts +0 -0
  638. /package/dist/types/{src/components → components}/GrSelect/composables/useSelectVirtualization.d.ts +0 -0
  639. /package/dist/types/{src/components → components}/GrSelect/config.d.ts +0 -0
  640. /package/dist/types/{src/components → components}/GrSelect/defaults.d.ts +0 -0
  641. /package/dist/types/{src/components → components}/GrSelect/grSelectStyles.d.ts +0 -0
  642. /package/dist/types/{src/components → components}/GrSelect/index.d.ts +0 -0
  643. /package/dist/types/{src/components → components}/GrSelect/safelist.d.ts +0 -0
  644. /package/dist/types/{src/components → components}/GrSelect/selectValue.d.ts +0 -0
  645. /package/dist/types/{src/components → components}/GrSidebar/GrSidebar.vue.d.ts +0 -0
  646. /package/dist/types/{src/components → components}/GrSidebar/GrSidebarGroup.vue.d.ts +0 -0
  647. /package/dist/types/{src/components → components}/GrSidebar/GrSidebarItem.vue.d.ts +0 -0
  648. /package/dist/types/{src/components → components}/GrSidebar/config.d.ts +0 -0
  649. /package/dist/types/{src/components → components}/GrSidebar/grSidebarStyles.d.ts +0 -0
  650. /package/dist/types/{src/components → components}/GrSidebar/safelist.d.ts +0 -0
  651. /package/dist/types/{src/components → components}/GrSidebar/sidebarContext.d.ts +0 -0
  652. /package/dist/types/{src/components → components}/GrSkeleton/GrSkeleton.vue.d.ts +0 -0
  653. /package/dist/types/{src/components → components}/GrSkeleton/config.d.ts +0 -0
  654. /package/dist/types/{src/components → components}/GrSkeleton/grSkeletonStyles.d.ts +0 -0
  655. /package/dist/types/{src/components → components}/GrSlider/GrSlider.vue.d.ts +0 -0
  656. /package/dist/types/{src/components → components}/GrSlider/config.d.ts +0 -0
  657. /package/dist/types/{src/components → components}/GrSlider/defaults.d.ts +0 -0
  658. /package/dist/types/{src/components → components}/GrSlider/grSliderStyles.d.ts +0 -0
  659. /package/dist/types/{src/components → components}/GrSlider/index.d.ts +0 -0
  660. /package/dist/types/{src/components → components}/GrSlider/safelist.d.ts +0 -0
  661. /package/dist/types/{src/components → components}/GrSortableList/GrSortableList.vue.d.ts +0 -0
  662. /package/dist/types/{src/components → components}/GrSortableList/config.d.ts +0 -0
  663. /package/dist/types/{src/components → components}/GrSortableList/grSortableListStyles.d.ts +0 -0
  664. /package/dist/types/{src/components → components}/GrSortableList/index.d.ts +0 -0
  665. /package/dist/types/{src/components → components}/GrSortableList/safelist.d.ts +0 -0
  666. /package/dist/types/{src/components → components}/GrSplitter/GrSplitter.vue.d.ts +0 -0
  667. /package/dist/types/{src/components → components}/GrSplitter/config.d.ts +0 -0
  668. /package/dist/types/{src/components → components}/GrSplitter/defaults.d.ts +0 -0
  669. /package/dist/types/{src/components → components}/GrSplitter/grSplitterStyles.d.ts +0 -0
  670. /package/dist/types/{src/components → components}/GrSplitter/safelist.d.ts +0 -0
  671. /package/dist/types/{src/components → components}/GrSplitter/splitterGeometry.d.ts +0 -0
  672. /package/dist/types/{src/components → components}/GrStatistic/GrStatistic.vue.d.ts +0 -0
  673. /package/dist/types/{src/components → components}/GrStatistic/config.d.ts +0 -0
  674. /package/dist/types/{src/components → components}/GrStatistic/countUp.d.ts +0 -0
  675. /package/dist/types/{src/components → components}/GrStatistic/defaults.d.ts +0 -0
  676. /package/dist/types/{src/components → components}/GrStatistic/formatStatisticValue.d.ts +0 -0
  677. /package/dist/types/{src/components → components}/GrStatistic/grStatisticStyles.d.ts +0 -0
  678. /package/dist/types/{src/components → components}/GrStatistic/index.d.ts +0 -0
  679. /package/dist/types/{src/components → components}/GrStatistic/safelist.d.ts +0 -0
  680. /package/dist/types/{src/components → components}/GrSwitch/GrSwitch.vue.d.ts +0 -0
  681. /package/dist/types/{src/components → components}/GrSwitch/config.d.ts +0 -0
  682. /package/dist/types/{src/components → components}/GrSwitch/defaults.d.ts +0 -0
  683. /package/dist/types/{src/components → components}/GrSwitch/grSwitchStyles.d.ts +0 -0
  684. /package/dist/types/{src/components → components}/GrSwitch/index.d.ts +0 -0
  685. /package/dist/types/{src/components → components}/GrSwitch/safelist.d.ts +0 -0
  686. /package/dist/types/{src/components → components}/GrTabPanels/GrTabPanel.vue.d.ts +0 -0
  687. /package/dist/types/{src/components → components}/GrTabPanels/GrTabPanels.vue.d.ts +0 -0
  688. /package/dist/types/{src/components → components}/GrTabPanels/config.d.ts +0 -0
  689. /package/dist/types/{src/components → components}/GrTabPanels/context.d.ts +0 -0
  690. /package/dist/types/{src/components → components}/GrTable/GrTable.vue.d.ts +0 -0
  691. /package/dist/types/{src/components → components}/GrTable/config.d.ts +0 -0
  692. /package/dist/types/{src/components → components}/GrTable/defaults.d.ts +0 -0
  693. /package/dist/types/{src/components → components}/GrTable/grTableStyles.d.ts +0 -0
  694. /package/dist/types/{src/components → components}/GrTable/index.d.ts +0 -0
  695. /package/dist/types/{src/components → components}/GrTable/safelist.d.ts +0 -0
  696. /package/dist/types/{src/components → components}/GrTabs/GrTabs.vue.d.ts +0 -0
  697. /package/dist/types/{src/components → components}/GrTabs/config.d.ts +0 -0
  698. /package/dist/types/{src/components → components}/GrTabs/defaults.d.ts +0 -0
  699. /package/dist/types/{src/components → components}/GrTabs/grTabsStyles.d.ts +0 -0
  700. /package/dist/types/{src/components → components}/GrTabs/safelist.d.ts +0 -0
  701. /package/dist/types/{src/components → components}/GrTextarea/GrTextarea.vue.d.ts +0 -0
  702. /package/dist/types/{src/components → components}/GrTextarea/config.d.ts +0 -0
  703. /package/dist/types/{src/components → components}/GrTextarea/defaults.d.ts +0 -0
  704. /package/dist/types/{src/components → components}/GrTextarea/grTextareaStyles.d.ts +0 -0
  705. /package/dist/types/{src/components → components}/GrTextarea/index.d.ts +0 -0
  706. /package/dist/types/{src/components → components}/GrTextarea/safelist.d.ts +0 -0
  707. /package/dist/types/{src/components → components}/GrTimeline/GrTimeline.vue.d.ts +0 -0
  708. /package/dist/types/{src/components → components}/GrTimeline/GrTimelineItem.vue.d.ts +0 -0
  709. /package/dist/types/{src/components → components}/GrTimeline/config.d.ts +0 -0
  710. /package/dist/types/{src/components → components}/GrTimeline/defaults.d.ts +0 -0
  711. /package/dist/types/{src/components → components}/GrTimeline/grTimelineContext.d.ts +0 -0
  712. /package/dist/types/{src/components → components}/GrTimeline/grTimelineStyles.d.ts +0 -0
  713. /package/dist/types/{src/components → components}/GrTimeline/safelist.d.ts +0 -0
  714. /package/dist/types/{src/components → components}/GrTimeline/timelineGroups.d.ts +0 -0
  715. /package/dist/types/{src/components → components}/GrToaster/GrToaster.vue.d.ts +0 -0
  716. /package/dist/types/{src/components → components}/GrToaster/config.d.ts +0 -0
  717. /package/dist/types/{src/components → components}/GrToaster/grToasterStyles.d.ts +0 -0
  718. /package/dist/types/{src/components → components}/GrToaster/index.d.ts +0 -0
  719. /package/dist/types/{src/components → components}/GrToaster/safelist.d.ts +0 -0
  720. /package/dist/types/{src/components → components}/GrTooltip/GrTooltip.vue.d.ts +0 -0
  721. /package/dist/types/{src/components → components}/GrTooltip/config.d.ts +0 -0
  722. /package/dist/types/{src/components → components}/GrTooltip/defaults.d.ts +0 -0
  723. /package/dist/types/{src/components → components}/GrTooltip/grTooltipStyles.d.ts +0 -0
  724. /package/dist/types/{src/components → components}/GrTooltip/index.d.ts +0 -0
  725. /package/dist/types/{src/components → components}/GrTooltip/safelist.d.ts +0 -0
  726. /package/dist/types/{src/components → components}/GrTree/GrTree.vue.d.ts +0 -0
  727. /package/dist/types/{src/components → components}/GrTree/config.d.ts +0 -0
  728. /package/dist/types/{src/components → components}/GrTree/defaults.d.ts +0 -0
  729. /package/dist/types/{src/components → components}/GrTree/grTreeChecking.d.ts +0 -0
  730. /package/dist/types/{src/components → components}/GrTree/grTreeDataAdapter.d.ts +0 -0
  731. /package/dist/types/{src/components → components}/GrTree/grTreeInteractionContext.d.ts +0 -0
  732. /package/dist/types/{src/components → components}/GrTree/grTreeProps.d.ts +0 -0
  733. /package/dist/types/{src/components → components}/GrTree/grTreeStore.d.ts +0 -0
  734. /package/dist/types/{src/components → components}/GrTree/grTreeStyles.d.ts +0 -0
  735. /package/dist/types/{src/components → components}/GrTree/grTreeTypes.d.ts +0 -0
  736. /package/dist/types/{src/components → components}/GrTree/index.d.ts +0 -0
  737. /package/dist/types/{src/components → components}/GrTree/safelist.d.ts +0 -0
  738. /package/dist/types/{src/components → components}/GrTreeSelect/config.d.ts +0 -0
  739. /package/dist/types/{src/components → components}/GrTreeSelect/defaults.d.ts +0 -0
  740. /package/dist/types/{src/components → components}/GrTreeSelect/grTreeSelectStyles.d.ts +0 -0
  741. /package/dist/types/{src/components → components}/GrTreeSelect/grTreeSelectTypes.d.ts +0 -0
  742. /package/dist/types/{src/components → components}/GrTreeSelect/index.d.ts +0 -0
  743. /package/dist/types/{src/components → components}/GrTreeSelect/safelist.d.ts +0 -0
  744. /package/dist/types/{src/components → components}/shared/classTokens.d.ts +0 -0
  745. /package/dist/types/{src/components → components}/shared/hotkey.d.ts +0 -0
  746. /package/dist/types/{src/components → components}/shared/hotkeyTokens.d.ts +0 -0
  747. /package/dist/types/{src/components → components}/shared/icon.d.ts +0 -0
  748. /package/dist/types/{src/components → components}/shared/instance.d.ts +0 -0
  749. /package/dist/types/{src/components → components}/shared/optionFilter.d.ts +0 -0
  750. /package/dist/types/{src/components → components}/shared/sizes.d.ts +0 -0
  751. /package/dist/types/{src/components → components}/shared/slotNodes.d.ts +0 -0
  752. /package/dist/types/{src/components → components}/shared/tones.d.ts +0 -0
  753. /package/dist/types/{src/composables → composables}/internal/dragSortGeometry.d.ts +0 -0
  754. /package/dist/types/{src/composables → composables}/internal/focusables.d.ts +0 -0
  755. /package/dist/types/{src/composables → composables}/internal/inert.d.ts +0 -0
  756. /package/dist/types/{src/composables → composables}/internal/overlayStack.d.ts +0 -0
  757. /package/dist/types/{src/composables → composables}/internal/portalRoot.d.ts +0 -0
  758. /package/dist/types/{src/composables → composables}/internal/useAddonMeasurement.d.ts +0 -0
  759. /package/dist/types/{src/composables → composables}/internal/useControlAddons.d.ts +0 -0
  760. /package/dist/types/{src/composables → composables}/internal/useControlledOpen.d.ts +0 -0
  761. /package/dist/types/{src/composables → composables}/internal/useFilePreviews.d.ts +0 -0
  762. /package/dist/types/{src/composables → composables}/internal/useFocusWithin.d.ts +0 -0
  763. /package/dist/types/{src/composables → composables}/internal/useInertOthers.d.ts +0 -0
  764. /package/dist/types/{src/composables → composables}/internal/useModalOverlay.d.ts +0 -0
  765. /package/dist/types/{src/composables → composables}/internal/useOverlayPresence.d.ts +0 -0
  766. /package/dist/types/{src/composables → composables}/internal/useScrollLock.d.ts +0 -0
  767. /package/dist/types/{src/composables → composables}/internal/useTeleportEnabled.d.ts +0 -0
  768. /package/dist/types/{src/composables → composables}/useAnnouncer.d.ts +0 -0
  769. /package/dist/types/{src/composables → composables}/useComboboxNavigation.d.ts +0 -0
  770. /package/dist/types/{src/composables → composables}/useDismissible.d.ts +0 -0
  771. /package/dist/types/{src/composables → composables}/useDragGesture.d.ts +0 -0
  772. /package/dist/types/{src/composables → composables}/useDragSort.d.ts +0 -0
  773. /package/dist/types/{src/composables → composables}/useFloating.d.ts +0 -0
  774. /package/dist/types/{src/composables → composables}/useFocusTrap.d.ts +0 -0
  775. /package/dist/types/{src/composables → composables}/useGrComponentConfig.d.ts +0 -0
  776. /package/dist/types/{src/composables → composables}/useGrFormControl.d.ts +0 -0
  777. /package/dist/types/{src/composables → composables}/useGranularityTranslations.d.ts +0 -0
  778. /package/dist/types/{src/composables → composables}/useOverlayLayer.d.ts +0 -0
  779. /package/dist/types/{src/composables → composables}/usePortalTarget.d.ts +0 -0
  780. /package/dist/types/{src/composables → composables}/useRovingFocus.d.ts +0 -0
  781. /package/dist/types/{src/composables → composables}/useTheme.d.ts +0 -0
  782. /package/dist/types/{src/composables → composables}/useToast.d.ts +0 -0
  783. /package/dist/types/{src/composables → composables}/useVirtualList.d.ts +0 -0
  784. /package/dist/types/{src/directives → directives}/autofocus.d.ts +0 -0
  785. /package/dist/types/{src/directives → directives}/autosize.d.ts +0 -0
  786. /package/dist/types/{src/directives → directives}/clickOutside.d.ts +0 -0
  787. /package/dist/types/{src/directives → directives}/dropzone.d.ts +0 -0
  788. /package/dist/types/{src/directives → directives}/globalDirectives.d.ts +0 -0
  789. /package/dist/types/{src/directives → directives}/hotkey.d.ts +0 -0
  790. /package/dist/types/{src/directives → directives}/index.d.ts +0 -0
  791. /package/dist/types/{src/directives → directives}/loading.d.ts +0 -0
  792. /package/dist/types/{src/fileValidation → fileValidation}/FileValidationError.d.ts +0 -0
  793. /package/dist/types/{src/fileValidation → fileValidation}/acceptValidator.d.ts +0 -0
  794. /package/dist/types/{src/fileValidation → fileValidation}/allowedExtensionsValidator.d.ts +0 -0
  795. /package/dist/types/{src/fileValidation → fileValidation}/allowedMimeTypesValidator.d.ts +0 -0
  796. /package/dist/types/{src/fileValidation → fileValidation}/i18n.d.ts +0 -0
  797. /package/dist/types/{src/fileValidation → fileValidation}/index.d.ts +0 -0
  798. /package/dist/types/{src/fileValidation → fileValidation}/matchAccept.d.ts +0 -0
  799. /package/dist/types/{src/fileValidation → fileValidation}/maxCountValidator.d.ts +0 -0
  800. /package/dist/types/{src/fileValidation → fileValidation}/maxFileSize.d.ts +0 -0
  801. /package/dist/types/{src/fileValidation → fileValidation}/maxTotalSizeBytesValidator.d.ts +0 -0
  802. /package/dist/types/{src/fileValidation → fileValidation}/runFileValidators.d.ts +0 -0
  803. /package/dist/types/{src/fileValidation → fileValidation}/types.d.ts +0 -0
  804. /package/dist/types/{src/granular-provider → granular-provider}/index.d.ts +0 -0
  805. /package/dist/types/{src/granular-provider → granular-provider}/node.d.ts +0 -0
  806. /package/dist/types/{src/granular-provider → granular-provider}/shared.d.ts +0 -0
  807. /package/dist/types/{src/i18n → i18n}/adapter.d.ts +0 -0
  808. /package/dist/types/{src/i18n → i18n}/all.d.ts +0 -0
  809. /package/dist/types/{src/i18n → i18n}/index.d.ts +0 -0
  810. /package/dist/types/{src/i18n → i18n}/messages/const.d.ts +0 -0
  811. /package/dist/types/{src/i18n → i18n}/messages/en.d.ts +0 -0
  812. /package/dist/types/{src/i18n → i18n}/messages/es.d.ts +0 -0
  813. /package/dist/types/{src/i18n → i18n}/messages/index.d.ts +0 -0
  814. /package/dist/types/{src/i18n → i18n}/messages/ru.d.ts +0 -0
  815. /package/dist/types/{src/index.d.ts → index.d.ts} +0 -0
  816. /package/dist/types/{src/internal → internal}/granularityFormat.d.ts +0 -0
  817. /package/dist/types/{src/internal → internal}/granularityI18n.d.ts +0 -0
  818. /package/dist/types/{src/internal → internal}/keyboard.d.ts +0 -0
  819. /package/dist/types/{src/testing → testing}/announcer.d.ts +0 -0
  820. /package/dist/types/{src/testing → testing}/context.d.ts +0 -0
  821. /package/dist/types/{src/testing → testing}/env.d.ts +0 -0
  822. /package/dist/types/{src/testing → testing}/geometry.d.ts +0 -0
  823. /package/dist/types/{src/testing → testing}/pointer.d.ts +0 -0
  824. /package/dist/types/{src/theme → theme}/apply.d.ts +0 -0
  825. /package/dist/types/{src/theme → theme}/color.d.ts +0 -0
  826. /package/dist/types/{src/theme → theme}/extendTheme.d.ts +0 -0
  827. /package/dist/types/{src/theme → theme}/index.d.ts +0 -0
  828. /package/dist/types/{src/theme → theme}/roles.d.ts +0 -0
  829. /package/dist/types/{src/theme → theme}/tone.d.ts +0 -0
  830. /package/dist/types/{src/theme → theme}/validate.d.ts +0 -0
  831. /package/dist/types/{src/tokens → tokens}/generated.d.ts +0 -0
  832. /package/dist/types/{src/tokens → tokens}/index.d.ts +0 -0
  833. /package/dist/types/{src/tokens → tokens}/types.d.ts +0 -0
  834. /package/dist/types/{src/vue → vue}/index.d.ts +0 -0
  835. /package/dist/types/{src/vue → vue}/plugin.d.ts +0 -0
@@ -1,3 +1,3 @@
1
- import { t as GrTree_default } from "./chunks/GrTree-BR9a2pay.js";
2
- import { n as grTreeSafelist, t as grTreeConfig } from "../../chunks/config-CDat1wXf2.js";
1
+ import { t as GrTree_default } from "./chunks/GrTree-BvOeQ3xJ.js";
2
+ import { n as grTreeSafelist, t as grTreeConfig } from "../../chunks/config-CDat1wXf.js";
3
3
  export { GrTree_default as GrTree, GrTree_default as default, grTreeConfig, grTreeSafelist };
@@ -1,7 +1,7 @@
1
1
  import { t as x_default } from "../../../chunks/x-2KXnqxiD.js";
2
- import { c as useGrThemeAttrs, o as useGrComponentSize } from "../../../chunks/context-BSYR7RZs.js";
2
+ import { a as useGrComponentSize, s as useGrThemeAttrs } from "../../../chunks/context-CTbuwcYs.js";
3
3
  import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
4
- import { t as usePortalTarget } from "../../../chunks/usePortalTarget-Cn-Wiz5d.js";
4
+ import { t as usePortalTarget } from "../../../chunks/usePortalTarget-C0p-mhaM.js";
5
5
  import { vClickOutside } from "../../../directives/clickOutside.js";
6
6
  import { t as loader_circle_default } from "../../../chunks/loader-circle-CfVLz7lb.js";
7
7
  import { useFloating } from "../../../composables/useFloating.js";
@@ -13,8 +13,8 @@ import { t as useControlledOpen } from "../../../chunks/useControlledOpen-DV3SqL
13
13
  import { t as useControlAddons } from "../../../chunks/useControlAddons-asUr10Pf.js";
14
14
  import { t as check_default } from "../../../chunks/check-BZI24Qs4.js";
15
15
  import { t as chevron_down_default } from "../../../chunks/chevron-down-CQS2OG_s.js";
16
- import { t as GrInput_default } from "../../GrInput/chunks/GrInput-2wd7Crs0.js";
17
- import { t as GrTree_default } from "../../GrTree/chunks/GrTree-BR9a2pay.js";
16
+ import { t as GrInput_default } from "../../GrInput/chunks/GrInput-Bb_pxqpT.js";
17
+ import { t as GrTree_default } from "../../GrTree/chunks/GrTree-BvOeQ3xJ.js";
18
18
  import { a as grTreeSelectStateClass, i as grTreeSelectPanelClass, o as paddingX, r as grTreeSelectClass, s as trailingZoneWidth } from "../../../chunks/config-DCFvmHEv.js";
19
19
  import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeClass, normalizeStyle, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useId, useSlots, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
20
20
  //#region src/components/GrTreeSelect/GrTreeSelect.vue?vue&type=script&setup=true&lang.ts
@@ -146,7 +146,6 @@ var GrTreeSelect_default = /* @__PURE__ */ defineComponent({
146
146
  "update:modelValue",
147
147
  "change",
148
148
  "update:open",
149
- "visibleChange",
150
149
  "clear",
151
150
  "nodeClick",
152
151
  "focus",
@@ -183,10 +182,7 @@ var GrTreeSelect_default = /* @__PURE__ */ defineComponent({
183
182
  });
184
183
  const clickOutsideExclude = [() => panelEl.value];
185
184
  let hadPointerDownOnTrigger = false;
186
- const { open, setOpen: setOpenState } = useControlledOpen(() => props.open, (next) => {
187
- emit("update:open", next);
188
- emit("visibleChange", next);
189
- });
185
+ const { open, setOpen: setOpenState } = useControlledOpen(() => props.open, (next) => emit("update:open", next));
190
186
  const filterValue = ref("");
191
187
  const { floatingStyle } = useFloating(rootEl, panelEl, open, {
192
188
  placement: "bottom-start",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrTreeSelect-_LjTRR7X.js","names":["$slots"],"sources":["../../../../src/components/GrTreeSelect/GrTreeSelect.vue","../../../../src/components/GrTreeSelect/GrTreeSelect.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> = any\">\nimport { computed, nextTick, ref, useId, useSlots, watch } from 'vue'\n\nimport { usePortalTarget } from '../../composables/usePortalTarget'\n\nimport { vClickOutside } from '../../directives'\nimport { useFloating } from '../../composables/useFloating'\nimport { useOverlayLayer } from '../../composables/useOverlayLayer'\nimport { useControlAddons } from '../../composables/internal/useControlAddons'\nimport { useControlledOpen } from '../../composables/internal/useControlledOpen'\nimport { useGrComponentSize, useGrThemeAttrs } from '../GrConfigProvider/context'\nimport { useGrFormControl } from '../../composables/useGrFormControl'\nimport { useFocusWithin } from '../../composables/internal/useFocusWithin'\nimport { useGrFormFieldContext } from '../GrFormField/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport GrInput from '../GrInput/GrInput.vue'\nimport GrTree, {\n type GrTreeInstance,\n type GrTreeKey,\n type GrTreeNode,\n} from '../GrTree'\nimport type { GrInputSize } from '../GrInput/GrInput.vue'\nimport type { GrTreeSelectModelValue, GrTreeSelectProps } from './grTreeSelectTypes'\nimport { grTreeSelectClass, grTreeSelectPanelClass, grTreeSelectStateClass, paddingX, trailingZoneWidth } from './grTreeSelectStyles'\n\nimport IconCheck from '~icons/lucide/check'\nimport IconChevronDown from '~icons/lucide/chevron-down'\nimport IconLoaderCircle from '~icons/lucide/loader-circle'\nimport IconX from '~icons/lucide/x'\n\nexport interface GrTreeSelectEmits<T extends Record<string, any> = any> {\n (e: 'update:modelValue', value: GrTreeSelectModelValue): void\n (e: 'change', value: GrTreeSelectModelValue): void\n /** Панель открылась/закрылась (`v-model:open`). */\n (e: 'update:open', value: boolean): void\n (e: 'clear'): void\n (e: 'nodeClick', data: T, node: GrTreeNode<T>): void\n (e: 'focus', event: FocusEvent): void\n (e: 'blur', event: FocusEvent): void\n}\n\nconst props = withDefaults(\n defineProps<GrTreeSelectProps<T>>(),\n {\n props: () => ({\n children: 'children',\n label: 'label',\n }),\n nodeKey: 'id' as any,\n defaultExpandedKeys: () => [],\n disabled: false,\n placeholder: undefined,\n size: undefined,\n loading: false,\n invalid: false,\n readonly: false,\n required: false,\n ariaLabel: undefined,\n state: 'default',\n multiple: false,\n showCheckbox: false,\n checkStrictly: false,\n clearable: false,\n open: undefined,\n name: undefined,\n valueDisplay: 'label',\n filterable: false,\n filterPlaceholder: undefined,\n filterInputmode: undefined,\n filterNodeMethod: undefined,\n closeOnSelect: undefined,\n dropdownMaxHeight: 320,\n virtual: false,\n prefixMinWidth: undefined,\n prefixMaxWidth: undefined,\n suffixMinWidth: undefined,\n suffixMaxWidth: undefined,\n prefixFixed: false,\n suffixFixed: false,\n },\n)\n\nconst { t } = useGranularityTranslations()\n\nconst emit = defineEmits<GrTreeSelectEmits<T>>()\n\ndefineSlots<{\n /** Рендер значения внутри триггера (вместо дефолтного текста). */\n value?: (props: { value: GrTreeSelectModelValue; labels: string[]; displayValue: string; pathLabels?: string[] }) => any\n /** Рендер строки дерева. */\n node?: (props: { node: GrTreeNode<T>; data: T; selected: boolean }) => any\n /** Содержимое пустого состояния (когда нет данных). */\n empty?: () => any\n /** Содержимое панели, пока данные едут. */\n loading?: () => any\n /** Аддон слева от значения: иконка, код валюты, метка. */\n prefix?: () => any\n /** Аддон справа от значения, перед крестиком и шевроном. */\n suffix?: () => any\n}>()\n\nconst rootEl = ref<HTMLElement | null>(null)\nconst triggerEl = ref<HTMLInputElement | null>(null)\nconst treeId = `gr-tree-select-tree-${useId()}`\n\n// Контекст `GrFormField` + общий контракт форм-контрола.\nconst field = useGrFormFieldContext()\nconst fieldId = computed(() => field?.id.value)\nconst describedBy = computed(() => field?.describedById.value)\nconst {\n disabled: isDisabled,\n invalid: isInvalid, required: isRequired, readonly: isReadonly } = useGrFormControl(() => props)\n\nfunction focus(): void {\n triggerEl.value?.focus()\n}\n\nfunction blur(): void {\n triggerEl.value?.blur()\n}\n\ndefineExpose({ focus, blur })\nconst filterInputRef = ref<InstanceType<typeof GrInput> | null>(null)\nconst treeRef = ref<GrTreeInstance | null>(null)\nconst panelEl = ref<HTMLElement | null>(null)\n\n// Панель телепортирована в `body`, то есть лежит вне корня, но для пользователя\n// она часть контрола: без неё уход фокуса в панель читался бы как `blur`.\nconst { onFocusIn, onFocusOut } = useFocusWithin(rootEl, {\n enter: event => emit('focus', event),\n leave: event => emit('blur', event),\n containers: () => [panelEl.value],\n})\n\nconst clickOutsideExclude = [() => panelEl.value]\n\nlet hadPointerDownOnTrigger = false\n\n// Имя `open` сохранено: читатели работают с computed-Ref.\nconst { open, setOpen: setOpenState } = useControlledOpen(\n () => props.open,\n next => emit('update:open', next),\n)\nconst filterValue = ref('')\n\nconst { floatingStyle } = useFloating(rootEl, panelEl, open, {\n placement: 'bottom-start',\n matchWidth: true,\n zIndexVar: '--gr-z-dropdown',\n})\n\nconst closeOnSelectResolved = computed(() => {\n return props.closeOnSelect ?? !props.multiple\n})\n\nfunction getChildrenKey() {\n return props.props.children ?? 'children'\n}\n\nfunction getLabelKey() {\n return props.props.label ?? 'label'\n}\n\nfunction nodeLabel(data: T): string {\n const key = getLabelKey() as keyof T\n const v = data[key]\n return v == null ? '' : String(v)\n}\n\nfunction nodeChildren(data: T): T[] {\n const key = getChildrenKey() as keyof T\n const v = data[key]\n return Array.isArray(v) ? (v as any) : []\n}\n\nfunction nodeKeyOf(data: T, index: number, parentKey: GrTreeKey | undefined): GrTreeKey {\n const keyName = props.nodeKey as keyof T\n const v = data[keyName]\n if (v != null)\n return v as GrTreeKey\n\n return parentKey == null ? index : `${String(parentKey)}:${index}`\n}\n\nconst labelByKey = computed(() => {\n const map = new Map<GrTreeKey, string>()\n\n const walk = (items: T[], parentKey: GrTreeKey | undefined) => {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = nodeKeyOf(item, i, parentKey)\n map.set(key, nodeLabel(item))\n walk(nodeChildren(item), key)\n }\n }\n\n walk(props.data ?? [], undefined)\n return map\n})\n\nconst pathLabelsByKey = computed(() => {\n const map = new Map<GrTreeKey, string[]>()\n\n const walk = (items: T[], parentKey: GrTreeKey | undefined, parentPath: string[]) => {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = nodeKeyOf(item, i, parentKey)\n const label = nodeLabel(item)\n const path = [...parentPath, label]\n map.set(key, path)\n walk(nodeChildren(item), key, path)\n }\n }\n\n walk(props.data ?? [], undefined, [])\n return map\n})\n\nconst selectedKeys = computed<GrTreeKey[]>(() => {\n if (props.multiple) {\n return Array.isArray(props.modelValue) ? props.modelValue : []\n }\n\n const v = props.modelValue\n if (v == null || Array.isArray(v))\n return []\n return [v]\n})\n\nconst selectedKeySet = computed(() => new Set(selectedKeys.value))\n\nconst selectedLabels = computed(() => {\n const map = labelByKey.value\n return selectedKeys.value.map((k) => map.get(k) ?? String(k))\n})\n\nconst selectedPathLabels = computed<string[] | undefined>(() => {\n if (props.multiple)\n return undefined\n\n const key = selectedKeys.value[0]\n if (key == null)\n return undefined\n\n const path = pathLabelsByKey.value.get(key)\n if (path?.length)\n return path\n\n const labels = selectedLabels.value\n return labels.length ? [labels[0]] : undefined\n})\n\nconst displayValue = computed(() => {\n const labels = selectedLabels.value\n if (labels.length === 0)\n return ''\n\n if (!props.multiple) {\n if (props.valueDisplay === 'path') {\n const path = selectedPathLabels.value\n if (path?.length)\n return path.join(' / ')\n }\n return labels[0]\n }\n\n if (labels.length === 1)\n return labels[0]\n return `${labels[0]} +${labels.length - 1}`\n})\n\nconst hasSelection = computed(() => selectedKeys.value.length > 0)\n\n/** Дерево рендерится только когда есть что показать — ссылаться иначе не на что. */\nconst hasTree = computed(() => !props.loading && (props.data?.length ?? 0) > 0)\n\nconst resolvedFilterPlaceholder = computed(() => {\n return props.filterPlaceholder ?? t('gr.treeSelect.filterPlaceholder', 'Search…')\n})\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrTreeSelect' })\n\nconst className = computed(() => {\n return grTreeSelectClass({\n size: resolvedSize.value,\n state: props.state,\n invalid: isInvalid.value,\n disabled: isDisabled.value,\n })\n})\n\nconst panelClasses = computed(() => {\n return grTreeSelectPanelClass\n})\n\nconst ADDON_MIN_WIDTH_BY_SIZE: Record<GrInputSize, string> = {\n xs: '2rem',\n sm: '2.25rem',\n md: '2.5rem',\n lg: '3rem',\n}\n\nconst slots = useSlots()\n\nconst {\n hasPrefix,\n hasSuffix,\n prefixEl,\n suffixEl,\n prefixStyle,\n suffixStyle,\n fieldPadding: triggerStyle,\n} = useControlAddons(() => props, {\n defaultMinWidth: () => ADDON_MIN_WIDTH_BY_SIZE[resolvedSize.value],\n paddingX: () => paddingX[resolvedSize.value],\n // Место под крестик и шеврон уже отдано классом `pr-9`, но инлайн-паддинг\n // перекрывает класс целиком — с суффиксом эту зону приходится вернуть числом.\n trailingReserve: () => (slots.suffix ? trailingZoneWidth : '0px'),\n})\n\n// Слот `value` рисуется поверх поля и обязан жить в тех же границах, что и\n// текст под ним. Без аддонов границы задаёт класс — стиль остаётся пустым.\nconst valueOverlayStyle = computed(() => ({\n left: hasPrefix.value ? triggerStyle.value.paddingLeft : undefined,\n right: hasSuffix.value ? triggerStyle.value.paddingRight : undefined,\n}))\n\nfunction setOpen(next: boolean) {\n if (isDisabled.value || isReadonly.value)\n return\n\n setOpenState(next)\n}\n\nfunction onClickOutside(): void {\n setOpen(false)\n}\n\nfunction openDropdown(): void {\n setOpen(true)\n}\n\n/**\n * Стек слоёв возвращает фокус на триггер сразу после закрытия, а у триггера\n * открытие висит на `focus`. Без флага `Escape` из дерева закрывал бы панель и\n * тем же движением открывал её заново.\n */\nlet suppressFocusOpen = false\n\nfunction closeDropdown(): void {\n suppressFocusOpen = true\n setOpen(false)\n setTimeout(() => {\n suppressFocusOpen = false\n }, 0)\n}\n\nfunction toggleDropdown(): void {\n setOpen(!open.value)\n}\n\n// Клик по триггеру сам переключает панель через `@click`; флаг гасит открытие\n// по приходящему следом `focus`, иначе один клик открыл бы и тут же закрыл.\nfunction onTriggerPointerDown(): void {\n hadPointerDownOnTrigger = true\n setTimeout(() => {\n hadPointerDownOnTrigger = false\n }, 0)\n}\n\nfunction onTriggerFocus(): void {\n if (hadPointerDownOnTrigger || suppressFocusOpen)\n return\n openDropdown()\n}\n\n// Возврат фокуса на триггер — из контракта слоя, а не руками через `nextTick`.\nuseOverlayLayer(open, closeDropdown, { root: panelEl })\n\nwatch(\n open,\n async (isOpen) => {\n if (!isOpen) {\n if (filterValue.value.trim().length > 0)\n filterValue.value = ''\n return\n }\n\n // Подсветка дерева идёт за значением: панель могли открыть после того, как\n // значение сменили снаружи.\n if (!props.multiple) {\n const v = props.modelValue\n if (v != null && !Array.isArray(v))\n treeRef.value?.setCurrentKey(v)\n }\n\n if (props.filterable) {\n await nextTick()\n filterInputRef.value?.focus()\n }\n },\n { immediate: true },\n)\n\nwatch(\n () => props.modelValue,\n (v) => {\n if (props.multiple)\n return\n if (v == null || Array.isArray(v)) {\n treeRef.value?.setCurrentKey(undefined)\n return\n }\n treeRef.value?.setCurrentKey(v)\n },\n)\n\nwatch(\n filterValue,\n (v) => {\n treeRef.value?.filter(v)\n },\n)\n\nfunction emitModel(next: GrTreeSelectModelValue) {\n emit('update:modelValue', next)\n emit('change', next)\n}\n\nfunction clear(): void {\n if (isDisabled.value || isReadonly.value)\n return\n\n const next: GrTreeSelectModelValue = props.multiple ? [] : null\n emitModel(next)\n emit('clear')\n if (!props.multiple)\n treeRef.value?.setCurrentKey(undefined)\n}\n\n/**\n * Отдаёт клавиатуру дереву. Панель под `v-show`, поэтому дерево уже в DOM, но\n * скрытый элемент сфокусировать нельзя — сначала открытие, потом кадр, потом\n * фокус. Дальше работают клавиши `GrTree`, а `Escape` возвращает фокус на\n * триггер силами общего стека слоёв.\n */\nasync function focusTree(): Promise<boolean> {\n if (!open.value)\n return false\n\n await nextTick()\n return treeRef.value?.focus() ?? false\n}\n\nfunction onTriggerKeydown(e: KeyboardEvent): void {\n if (isDisabled.value)\n return\n\n if (e.key === 'Escape') {\n e.preventDefault()\n closeDropdown()\n return\n }\n\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n openDropdown()\n\n // При `filterable` фокус уходит в поле поиска (см. watch на `open`), и\n // дальше в дерево ведёт стрелка уже оттуда.\n if (!props.filterable)\n void focusTree()\n }\n}\n\n/** Стрелка из поля поиска — единственный путь из фильтра в дерево. */\nfunction onFilterKeydown(e: KeyboardEvent): void {\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp')\n return\n\n e.preventDefault()\n void focusTree()\n}\n\n/** `Tab` уводит из панели — оставлять её открытой за спиной незачем. */\nfunction onPanelKeydown(e: KeyboardEvent): void {\n if (e.key === 'Tab')\n closeDropdown()\n}\n\n// Чекбоксы осмысленны только в множественном выборе: одиночный уже подсвечен\n// текущим узлом.\nconst checkboxMode = computed(() => props.multiple && props.showCheckbox)\n\n// В режиме чекбоксов каскад по родителям и детям считает `GrTree`, а не копия\n// его логики здесь: значение приходит обратно одним `update:checkedKeys`.\nfunction onCheckedKeys(keys: GrTreeKey[]): void {\n if (isDisabled.value || isReadonly.value)\n return\n\n emitModel([...keys])\n}\n\nfunction onNodeClick(data: T, node: GrTreeNode<T>): void {\n emit('nodeClick', data, node)\n\n if (isDisabled.value)\n return\n\n if (checkboxMode.value) {\n // Клик по строке — тот же переключатель отметки, что и сам чекбокс;\n // значение придёт через `update:checkedKeys`, поэтому здесь не эмитим.\n treeRef.value?.setChecked(node.key, !selectedKeySet.value.has(node.key))\n return\n }\n\n if (props.multiple) {\n const next = new Set(selectedKeySet.value)\n if (next.has(node.key))\n next.delete(node.key)\n else\n next.add(node.key)\n emitModel([...next])\n\n if (closeOnSelectResolved.value) {\n closeDropdown()\n }\n return\n }\n\n emitModel(node.key)\n if (closeOnSelectResolved.value) {\n closeDropdown()\n }\n}\n\n// Телепорт включается только ПОСЛЕ монтирования: иначе первый клиентский\n// рендер не совпадает с серверным и ломается гидрация (см. композабл).\nconst { target: portalTarget, enabled: teleportEnabled } = usePortalTarget()\n\n// Тема поддерева на телепортированную панель: в DOM она уезжает в `body`, то\n// есть вне обёртки провайдера, и `data-theme` с неё не наследуется. В дереве\n// компонентов панель остаётся внутри — `inject` доходит, и тему она ставит себе\n// сама.\nconst themeAttrs = useGrThemeAttrs()\n</script>\n\n<template>\n <div\n ref=\"rootEl\"\n v-click-outside=\"{ handler: onClickOutside, enabled: open, exclude: clickOutsideExclude }\"\n data-gr-tree-select\n class=\"relative\"\n @focusin=\"onFocusIn\"\n @focusout=\"onFocusOut\"\n >\n <!-- Нативная форма: hidden на каждый выбранный ключ. -->\n <template v-if=\"name\">\n <input\n v-for=\"key in selectedKeys\"\n :key=\"`hidden-${String(key)}`\"\n type=\"hidden\"\n :name=\"name\"\n :value=\"String(key)\"\n >\n </template>\n <div class=\"relative\">\n <div\n v-if=\"hasPrefix\"\n ref=\"prefixEl\"\n data-gr-tree-select-prefix\n class=\"absolute inset-y-px left-px flex items-center justify-center rounded-l-[var(--gr-radius-control)] border-r border-[var(--gr-brd)] px-2 text-[var(--gr-muted-fg)] pointer-events-none select-none truncate\"\n :style=\"prefixStyle\"\n aria-hidden=\"true\"\n >\n <slot name=\"prefix\" />\n </div>\n\n <input\n :id=\"fieldId\"\n ref=\"triggerEl\"\n data-testid=\"gr-tree-select-trigger\"\n data-gr-tree-select-trigger\n type=\"text\"\n :value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"isDisabled\"\n readonly\n role=\"combobox\"\n aria-readonly=\"true\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"open ? 'true' : 'false'\"\n :aria-controls=\"open && hasTree ? treeId : undefined\"\n :aria-invalid=\"isInvalid ? 'true' : undefined\"\n :aria-required=\"isRequired ? 'true' : undefined\"\n :aria-describedby=\"describedBy\"\n :aria-label=\"ariaLabel\"\n class=\"w-full rounded-[var(--gr-radius-control)] border placeholder:text-[var(--gr-muted-fg)] transition-colors duration-[var(--gr-duration-fast)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]\"\n :class=\"[className, $slots.value ? 'text-transparent placeholder:text-transparent' : '']\"\n :style=\"triggerStyle\"\n @pointerdown=\"onTriggerPointerDown\"\n @click=\"toggleDropdown\"\n @focus=\"onTriggerFocus\"\n @keydown=\"onTriggerKeydown\"\n >\n\n <button\n v-if=\"clearable && hasSelection && !disabled && !isReadonly\"\n data-testid=\"gr-tree-select-clear\"\n data-gr-tree-select-clear\n type=\"button\"\n class=\"absolute top-1/2 -translate-y-1/2 right-3 h-6 w-6 inline-flex items-center justify-center rounded-[var(--gr-radius-control)] text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:bg-[color-mix(in_srgb,var(--gr-muted)_25%,transparent)]\"\n :aria-label=\"t('gr.common.clear', 'Clear')\"\n @click.stop=\"clear\"\n >\n <IconX class=\"inline-block h-4 w-4\" aria-hidden=\"true\" />\n </button>\n\n <span\n v-else\n data-testid=\"gr-tree-select-chevron\"\n data-gr-tree-select-chevron\n class=\"absolute top-1/2 -translate-y-1/2 right-3 text-[var(--gr-muted-fg)] pointer-events-none\"\n >\n <IconChevronDown\n class=\"inline-block h-4 w-4 transition-transform duration-[var(--gr-duration-fast)]\"\n :class=\"open ? 'rotate-180' : ''\"\n aria-hidden=\"true\"\n />\n </span>\n\n <div\n v-if=\"hasSuffix\"\n ref=\"suffixEl\"\n data-gr-tree-select-suffix\n class=\"absolute inset-y-px right-9 flex items-center justify-center border-l border-[var(--gr-brd)] px-2 text-[var(--gr-muted-fg)] pointer-events-none select-none truncate\"\n :class=\"suffixFixed ? '[direction:rtl]' : ''\"\n :style=\"suffixStyle\"\n aria-hidden=\"true\"\n >\n <slot name=\"suffix\" />\n </div>\n\n <div\n v-if=\"$slots.value\"\n class=\"absolute inset-y-0 left-3 right-9 flex items-center pointer-events-none\"\n :style=\"valueOverlayStyle\"\n >\n <slot\n name=\"value\"\n :value=\"modelValue\"\n :labels=\"selectedLabels\"\n :display-value=\"displayValue\"\n :path-labels=\"selectedPathLabels\"\n />\n </div>\n </div>\n\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <transition\n enter-active-class=\"transition ease-[var(--gr-ease-out)] duration-[var(--gr-duration-fast)]\"\n enter-from-class=\"transform opacity-0 scale-95\"\n enter-to-class=\"transform opacity-100 scale-100\"\n leave-active-class=\"transition ease-[var(--gr-ease-in)] duration-[var(--gr-duration-fast)]\"\n leave-from-class=\"transform opacity-100 scale-100\"\n leave-to-class=\"transform opacity-0 scale-95\"\n >\n <div\n v-show=\"open\"\n ref=\"panelEl\"\n data-testid=\"gr-tree-select-panel\"\n v-bind=\"themeAttrs\"\n data-gr-tree-select-panel\n data-gr-overlay-root\n :style=\"floatingStyle\"\n @keydown=\"onPanelKeydown\"\n >\n <div :class=\"panelClasses\">\n <div v-if=\"filterable\" class=\"p-2 border-b border-[var(--gr-brd)]\">\n <GrInput\n ref=\"filterInputRef\"\n v-model=\"filterValue\"\n data-testid=\"gr-tree-select-filter\"\n data-gr-tree-select-filter\n type=\"search\"\n :inputmode=\"filterInputmode\"\n :placeholder=\"resolvedFilterPlaceholder\"\n size=\"sm\"\n @keydown=\"onFilterKeydown\"\n />\n </div>\n\n <!--\n Скроллер один. При виртуализации его берёт на себя дерево: своя\n высота нужна ему, чтобы посчитать окно, а вложенный скроллер поверх\n дал бы вторую полосу прокрутки на том же списке.\n -->\n <div\n class=\"p-1\"\n :class=\"virtual ? '' : 'overflow-auto'\"\n :style=\"virtual ? undefined : { maxHeight: `${dropdownMaxHeight}px` }\"\n >\n <div\n v-if=\"loading\"\n data-gr-tree-select-loading\n role=\"status\"\n :class=\"grTreeSelectStateClass\"\n >\n <slot name=\"loading\">\n <IconLoaderCircle class=\"block h-4 w-4 animate-spin\" aria-hidden=\"true\" />\n <span>{{ t('gr.treeSelect.loading', 'Loading…') }}</span>\n </slot>\n </div>\n\n <div v-else-if=\"(data?.length ?? 0) === 0\" :class=\"grTreeSelectStateClass\">\n <slot name=\"empty\">\n {{ t('gr.treeSelect.empty', 'No data') }}\n </slot>\n </div>\n\n <GrTree\n v-else\n :id=\"treeId\"\n ref=\"treeRef\"\n :size=\"resolvedSize\"\n :data=\"data\"\n :props=\"props.props\"\n :node-key=\"nodeKey as any\"\n :default-expanded-keys=\"defaultExpandedKeys\"\n :filter-node-method=\"filterNodeMethod\"\n :highlight-current=\"!multiple\"\n :virtual=\"virtual\"\n :max-height=\"dropdownMaxHeight\"\n :show-checkbox=\"checkboxMode\"\n :check-strictly=\"checkStrictly\"\n :checked-keys=\"selectedKeys\"\n @node-click=\"onNodeClick\"\n @update:checked-keys=\"onCheckedKeys\"\n >\n <template #default=\"{ node, data }\">\n <slot\n name=\"node\"\n :node=\"node\"\n :data=\"data\"\n :selected=\"selectedKeySet.has(node.key)\"\n >\n <div class=\"flex items-center gap-2 min-w-0\">\n <!-- Чекбокс дерева уже показывает отметку: вторая галочка\n рядом читалась бы как ошибка. -->\n <span\n v-if=\"!checkboxMode\"\n data-gr-tree-select-check\n class=\"inline-block h-4 w-4 shrink-0\"\n aria-hidden=\"true\"\n >\n <IconCheck v-if=\"selectedKeySet.has(node.key)\" class=\"block h-4 w-4 text-[var(--gr-primary)]\" />\n </span>\n <span class=\"truncate\">{{ node.label }}</span>\n </div>\n </slot>\n </template>\n </GrTree>\n </div>\n </div>\n </div>\n </transition>\n </teleport>\n </div>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> = any\">\nimport { computed, nextTick, ref, useId, useSlots, watch } from 'vue'\n\nimport { usePortalTarget } from '../../composables/usePortalTarget'\n\nimport { vClickOutside } from '../../directives'\nimport { useFloating } from '../../composables/useFloating'\nimport { useOverlayLayer } from '../../composables/useOverlayLayer'\nimport { useControlAddons } from '../../composables/internal/useControlAddons'\nimport { useControlledOpen } from '../../composables/internal/useControlledOpen'\nimport { useGrComponentSize, useGrThemeAttrs } from '../GrConfigProvider/context'\nimport { useGrFormControl } from '../../composables/useGrFormControl'\nimport { useFocusWithin } from '../../composables/internal/useFocusWithin'\nimport { useGrFormFieldContext } from '../GrFormField/context'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport GrInput from '../GrInput/GrInput.vue'\nimport GrTree, {\n type GrTreeInstance,\n type GrTreeKey,\n type GrTreeNode,\n} from '../GrTree'\nimport type { GrInputSize } from '../GrInput/GrInput.vue'\nimport type { GrTreeSelectModelValue, GrTreeSelectProps } from './grTreeSelectTypes'\nimport { grTreeSelectClass, grTreeSelectPanelClass, grTreeSelectStateClass, paddingX, trailingZoneWidth } from './grTreeSelectStyles'\n\nimport IconCheck from '~icons/lucide/check'\nimport IconChevronDown from '~icons/lucide/chevron-down'\nimport IconLoaderCircle from '~icons/lucide/loader-circle'\nimport IconX from '~icons/lucide/x'\n\nexport interface GrTreeSelectEmits<T extends Record<string, any> = any> {\n (e: 'update:modelValue', value: GrTreeSelectModelValue): void\n (e: 'change', value: GrTreeSelectModelValue): void\n /** Панель открылась/закрылась (`v-model:open`). */\n (e: 'update:open', value: boolean): void\n (e: 'clear'): void\n (e: 'nodeClick', data: T, node: GrTreeNode<T>): void\n (e: 'focus', event: FocusEvent): void\n (e: 'blur', event: FocusEvent): void\n}\n\nconst props = withDefaults(\n defineProps<GrTreeSelectProps<T>>(),\n {\n props: () => ({\n children: 'children',\n label: 'label',\n }),\n nodeKey: 'id' as any,\n defaultExpandedKeys: () => [],\n disabled: false,\n placeholder: undefined,\n size: undefined,\n loading: false,\n invalid: false,\n readonly: false,\n required: false,\n ariaLabel: undefined,\n state: 'default',\n multiple: false,\n showCheckbox: false,\n checkStrictly: false,\n clearable: false,\n open: undefined,\n name: undefined,\n valueDisplay: 'label',\n filterable: false,\n filterPlaceholder: undefined,\n filterInputmode: undefined,\n filterNodeMethod: undefined,\n closeOnSelect: undefined,\n dropdownMaxHeight: 320,\n virtual: false,\n prefixMinWidth: undefined,\n prefixMaxWidth: undefined,\n suffixMinWidth: undefined,\n suffixMaxWidth: undefined,\n prefixFixed: false,\n suffixFixed: false,\n },\n)\n\nconst { t } = useGranularityTranslations()\n\nconst emit = defineEmits<GrTreeSelectEmits<T>>()\n\ndefineSlots<{\n /** Рендер значения внутри триггера (вместо дефолтного текста). */\n value?: (props: { value: GrTreeSelectModelValue; labels: string[]; displayValue: string; pathLabels?: string[] }) => any\n /** Рендер строки дерева. */\n node?: (props: { node: GrTreeNode<T>; data: T; selected: boolean }) => any\n /** Содержимое пустого состояния (когда нет данных). */\n empty?: () => any\n /** Содержимое панели, пока данные едут. */\n loading?: () => any\n /** Аддон слева от значения: иконка, код валюты, метка. */\n prefix?: () => any\n /** Аддон справа от значения, перед крестиком и шевроном. */\n suffix?: () => any\n}>()\n\nconst rootEl = ref<HTMLElement | null>(null)\nconst triggerEl = ref<HTMLInputElement | null>(null)\nconst treeId = `gr-tree-select-tree-${useId()}`\n\n// Контекст `GrFormField` + общий контракт форм-контрола.\nconst field = useGrFormFieldContext()\nconst fieldId = computed(() => field?.id.value)\nconst describedBy = computed(() => field?.describedById.value)\nconst {\n disabled: isDisabled,\n invalid: isInvalid, required: isRequired, readonly: isReadonly } = useGrFormControl(() => props)\n\nfunction focus(): void {\n triggerEl.value?.focus()\n}\n\nfunction blur(): void {\n triggerEl.value?.blur()\n}\n\ndefineExpose({ focus, blur })\nconst filterInputRef = ref<InstanceType<typeof GrInput> | null>(null)\nconst treeRef = ref<GrTreeInstance | null>(null)\nconst panelEl = ref<HTMLElement | null>(null)\n\n// Панель телепортирована в `body`, то есть лежит вне корня, но для пользователя\n// она часть контрола: без неё уход фокуса в панель читался бы как `blur`.\nconst { onFocusIn, onFocusOut } = useFocusWithin(rootEl, {\n enter: event => emit('focus', event),\n leave: event => emit('blur', event),\n containers: () => [panelEl.value],\n})\n\nconst clickOutsideExclude = [() => panelEl.value]\n\nlet hadPointerDownOnTrigger = false\n\n// Имя `open` сохранено: читатели работают с computed-Ref.\nconst { open, setOpen: setOpenState } = useControlledOpen(\n () => props.open,\n next => emit('update:open', next),\n)\nconst filterValue = ref('')\n\nconst { floatingStyle } = useFloating(rootEl, panelEl, open, {\n placement: 'bottom-start',\n matchWidth: true,\n zIndexVar: '--gr-z-dropdown',\n})\n\nconst closeOnSelectResolved = computed(() => {\n return props.closeOnSelect ?? !props.multiple\n})\n\nfunction getChildrenKey() {\n return props.props.children ?? 'children'\n}\n\nfunction getLabelKey() {\n return props.props.label ?? 'label'\n}\n\nfunction nodeLabel(data: T): string {\n const key = getLabelKey() as keyof T\n const v = data[key]\n return v == null ? '' : String(v)\n}\n\nfunction nodeChildren(data: T): T[] {\n const key = getChildrenKey() as keyof T\n const v = data[key]\n return Array.isArray(v) ? (v as any) : []\n}\n\nfunction nodeKeyOf(data: T, index: number, parentKey: GrTreeKey | undefined): GrTreeKey {\n const keyName = props.nodeKey as keyof T\n const v = data[keyName]\n if (v != null)\n return v as GrTreeKey\n\n return parentKey == null ? index : `${String(parentKey)}:${index}`\n}\n\nconst labelByKey = computed(() => {\n const map = new Map<GrTreeKey, string>()\n\n const walk = (items: T[], parentKey: GrTreeKey | undefined) => {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = nodeKeyOf(item, i, parentKey)\n map.set(key, nodeLabel(item))\n walk(nodeChildren(item), key)\n }\n }\n\n walk(props.data ?? [], undefined)\n return map\n})\n\nconst pathLabelsByKey = computed(() => {\n const map = new Map<GrTreeKey, string[]>()\n\n const walk = (items: T[], parentKey: GrTreeKey | undefined, parentPath: string[]) => {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = nodeKeyOf(item, i, parentKey)\n const label = nodeLabel(item)\n const path = [...parentPath, label]\n map.set(key, path)\n walk(nodeChildren(item), key, path)\n }\n }\n\n walk(props.data ?? [], undefined, [])\n return map\n})\n\nconst selectedKeys = computed<GrTreeKey[]>(() => {\n if (props.multiple) {\n return Array.isArray(props.modelValue) ? props.modelValue : []\n }\n\n const v = props.modelValue\n if (v == null || Array.isArray(v))\n return []\n return [v]\n})\n\nconst selectedKeySet = computed(() => new Set(selectedKeys.value))\n\nconst selectedLabels = computed(() => {\n const map = labelByKey.value\n return selectedKeys.value.map((k) => map.get(k) ?? String(k))\n})\n\nconst selectedPathLabels = computed<string[] | undefined>(() => {\n if (props.multiple)\n return undefined\n\n const key = selectedKeys.value[0]\n if (key == null)\n return undefined\n\n const path = pathLabelsByKey.value.get(key)\n if (path?.length)\n return path\n\n const labels = selectedLabels.value\n return labels.length ? [labels[0]] : undefined\n})\n\nconst displayValue = computed(() => {\n const labels = selectedLabels.value\n if (labels.length === 0)\n return ''\n\n if (!props.multiple) {\n if (props.valueDisplay === 'path') {\n const path = selectedPathLabels.value\n if (path?.length)\n return path.join(' / ')\n }\n return labels[0]\n }\n\n if (labels.length === 1)\n return labels[0]\n return `${labels[0]} +${labels.length - 1}`\n})\n\nconst hasSelection = computed(() => selectedKeys.value.length > 0)\n\n/** Дерево рендерится только когда есть что показать — ссылаться иначе не на что. */\nconst hasTree = computed(() => !props.loading && (props.data?.length ?? 0) > 0)\n\nconst resolvedFilterPlaceholder = computed(() => {\n return props.filterPlaceholder ?? t('gr.treeSelect.filterPlaceholder', 'Search…')\n})\n\nconst resolvedSize = useGrComponentSize(() => props.size, { component: 'GrTreeSelect' })\n\nconst className = computed(() => {\n return grTreeSelectClass({\n size: resolvedSize.value,\n state: props.state,\n invalid: isInvalid.value,\n disabled: isDisabled.value,\n })\n})\n\nconst panelClasses = computed(() => {\n return grTreeSelectPanelClass\n})\n\nconst ADDON_MIN_WIDTH_BY_SIZE: Record<GrInputSize, string> = {\n xs: '2rem',\n sm: '2.25rem',\n md: '2.5rem',\n lg: '3rem',\n}\n\nconst slots = useSlots()\n\nconst {\n hasPrefix,\n hasSuffix,\n prefixEl,\n suffixEl,\n prefixStyle,\n suffixStyle,\n fieldPadding: triggerStyle,\n} = useControlAddons(() => props, {\n defaultMinWidth: () => ADDON_MIN_WIDTH_BY_SIZE[resolvedSize.value],\n paddingX: () => paddingX[resolvedSize.value],\n // Место под крестик и шеврон уже отдано классом `pr-9`, но инлайн-паддинг\n // перекрывает класс целиком — с суффиксом эту зону приходится вернуть числом.\n trailingReserve: () => (slots.suffix ? trailingZoneWidth : '0px'),\n})\n\n// Слот `value` рисуется поверх поля и обязан жить в тех же границах, что и\n// текст под ним. Без аддонов границы задаёт класс — стиль остаётся пустым.\nconst valueOverlayStyle = computed(() => ({\n left: hasPrefix.value ? triggerStyle.value.paddingLeft : undefined,\n right: hasSuffix.value ? triggerStyle.value.paddingRight : undefined,\n}))\n\nfunction setOpen(next: boolean) {\n if (isDisabled.value || isReadonly.value)\n return\n\n setOpenState(next)\n}\n\nfunction onClickOutside(): void {\n setOpen(false)\n}\n\nfunction openDropdown(): void {\n setOpen(true)\n}\n\n/**\n * Стек слоёв возвращает фокус на триггер сразу после закрытия, а у триггера\n * открытие висит на `focus`. Без флага `Escape` из дерева закрывал бы панель и\n * тем же движением открывал её заново.\n */\nlet suppressFocusOpen = false\n\nfunction closeDropdown(): void {\n suppressFocusOpen = true\n setOpen(false)\n setTimeout(() => {\n suppressFocusOpen = false\n }, 0)\n}\n\nfunction toggleDropdown(): void {\n setOpen(!open.value)\n}\n\n// Клик по триггеру сам переключает панель через `@click`; флаг гасит открытие\n// по приходящему следом `focus`, иначе один клик открыл бы и тут же закрыл.\nfunction onTriggerPointerDown(): void {\n hadPointerDownOnTrigger = true\n setTimeout(() => {\n hadPointerDownOnTrigger = false\n }, 0)\n}\n\nfunction onTriggerFocus(): void {\n if (hadPointerDownOnTrigger || suppressFocusOpen)\n return\n openDropdown()\n}\n\n// Возврат фокуса на триггер — из контракта слоя, а не руками через `nextTick`.\nuseOverlayLayer(open, closeDropdown, { root: panelEl })\n\nwatch(\n open,\n async (isOpen) => {\n if (!isOpen) {\n if (filterValue.value.trim().length > 0)\n filterValue.value = ''\n return\n }\n\n // Подсветка дерева идёт за значением: панель могли открыть после того, как\n // значение сменили снаружи.\n if (!props.multiple) {\n const v = props.modelValue\n if (v != null && !Array.isArray(v))\n treeRef.value?.setCurrentKey(v)\n }\n\n if (props.filterable) {\n await nextTick()\n filterInputRef.value?.focus()\n }\n },\n { immediate: true },\n)\n\nwatch(\n () => props.modelValue,\n (v) => {\n if (props.multiple)\n return\n if (v == null || Array.isArray(v)) {\n treeRef.value?.setCurrentKey(undefined)\n return\n }\n treeRef.value?.setCurrentKey(v)\n },\n)\n\nwatch(\n filterValue,\n (v) => {\n treeRef.value?.filter(v)\n },\n)\n\nfunction emitModel(next: GrTreeSelectModelValue) {\n emit('update:modelValue', next)\n emit('change', next)\n}\n\nfunction clear(): void {\n if (isDisabled.value || isReadonly.value)\n return\n\n const next: GrTreeSelectModelValue = props.multiple ? [] : null\n emitModel(next)\n emit('clear')\n if (!props.multiple)\n treeRef.value?.setCurrentKey(undefined)\n}\n\n/**\n * Отдаёт клавиатуру дереву. Панель под `v-show`, поэтому дерево уже в DOM, но\n * скрытый элемент сфокусировать нельзя — сначала открытие, потом кадр, потом\n * фокус. Дальше работают клавиши `GrTree`, а `Escape` возвращает фокус на\n * триггер силами общего стека слоёв.\n */\nasync function focusTree(): Promise<boolean> {\n if (!open.value)\n return false\n\n await nextTick()\n return treeRef.value?.focus() ?? false\n}\n\nfunction onTriggerKeydown(e: KeyboardEvent): void {\n if (isDisabled.value)\n return\n\n if (e.key === 'Escape') {\n e.preventDefault()\n closeDropdown()\n return\n }\n\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n openDropdown()\n\n // При `filterable` фокус уходит в поле поиска (см. watch на `open`), и\n // дальше в дерево ведёт стрелка уже оттуда.\n if (!props.filterable)\n void focusTree()\n }\n}\n\n/** Стрелка из поля поиска — единственный путь из фильтра в дерево. */\nfunction onFilterKeydown(e: KeyboardEvent): void {\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp')\n return\n\n e.preventDefault()\n void focusTree()\n}\n\n/** `Tab` уводит из панели — оставлять её открытой за спиной незачем. */\nfunction onPanelKeydown(e: KeyboardEvent): void {\n if (e.key === 'Tab')\n closeDropdown()\n}\n\n// Чекбоксы осмысленны только в множественном выборе: одиночный уже подсвечен\n// текущим узлом.\nconst checkboxMode = computed(() => props.multiple && props.showCheckbox)\n\n// В режиме чекбоксов каскад по родителям и детям считает `GrTree`, а не копия\n// его логики здесь: значение приходит обратно одним `update:checkedKeys`.\nfunction onCheckedKeys(keys: GrTreeKey[]): void {\n if (isDisabled.value || isReadonly.value)\n return\n\n emitModel([...keys])\n}\n\nfunction onNodeClick(data: T, node: GrTreeNode<T>): void {\n emit('nodeClick', data, node)\n\n if (isDisabled.value)\n return\n\n if (checkboxMode.value) {\n // Клик по строке — тот же переключатель отметки, что и сам чекбокс;\n // значение придёт через `update:checkedKeys`, поэтому здесь не эмитим.\n treeRef.value?.setChecked(node.key, !selectedKeySet.value.has(node.key))\n return\n }\n\n if (props.multiple) {\n const next = new Set(selectedKeySet.value)\n if (next.has(node.key))\n next.delete(node.key)\n else\n next.add(node.key)\n emitModel([...next])\n\n if (closeOnSelectResolved.value) {\n closeDropdown()\n }\n return\n }\n\n emitModel(node.key)\n if (closeOnSelectResolved.value) {\n closeDropdown()\n }\n}\n\n// Телепорт включается только ПОСЛЕ монтирования: иначе первый клиентский\n// рендер не совпадает с серверным и ломается гидрация (см. композабл).\nconst { target: portalTarget, enabled: teleportEnabled } = usePortalTarget()\n\n// Тема поддерева на телепортированную панель: в DOM она уезжает в `body`, то\n// есть вне обёртки провайдера, и `data-theme` с неё не наследуется. В дереве\n// компонентов панель остаётся внутри — `inject` доходит, и тему она ставит себе\n// сама.\nconst themeAttrs = useGrThemeAttrs()\n</script>\n\n<template>\n <div\n ref=\"rootEl\"\n v-click-outside=\"{ handler: onClickOutside, enabled: open, exclude: clickOutsideExclude }\"\n data-gr-tree-select\n class=\"relative\"\n @focusin=\"onFocusIn\"\n @focusout=\"onFocusOut\"\n >\n <!-- Нативная форма: hidden на каждый выбранный ключ. -->\n <template v-if=\"name\">\n <input\n v-for=\"key in selectedKeys\"\n :key=\"`hidden-${String(key)}`\"\n type=\"hidden\"\n :name=\"name\"\n :value=\"String(key)\"\n >\n </template>\n <div class=\"relative\">\n <div\n v-if=\"hasPrefix\"\n ref=\"prefixEl\"\n data-gr-tree-select-prefix\n class=\"absolute inset-y-px left-px flex items-center justify-center rounded-l-[var(--gr-radius-control)] border-r border-[var(--gr-brd)] px-2 text-[var(--gr-muted-fg)] pointer-events-none select-none truncate\"\n :style=\"prefixStyle\"\n aria-hidden=\"true\"\n >\n <slot name=\"prefix\" />\n </div>\n\n <input\n :id=\"fieldId\"\n ref=\"triggerEl\"\n data-testid=\"gr-tree-select-trigger\"\n data-gr-tree-select-trigger\n type=\"text\"\n :value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"isDisabled\"\n readonly\n role=\"combobox\"\n aria-readonly=\"true\"\n aria-haspopup=\"tree\"\n :aria-expanded=\"open ? 'true' : 'false'\"\n :aria-controls=\"open && hasTree ? treeId : undefined\"\n :aria-invalid=\"isInvalid ? 'true' : undefined\"\n :aria-required=\"isRequired ? 'true' : undefined\"\n :aria-describedby=\"describedBy\"\n :aria-label=\"ariaLabel\"\n class=\"w-full rounded-[var(--gr-radius-control)] border placeholder:text-[var(--gr-muted-fg)] transition-colors duration-[var(--gr-duration-fast)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]\"\n :class=\"[className, $slots.value ? 'text-transparent placeholder:text-transparent' : '']\"\n :style=\"triggerStyle\"\n @pointerdown=\"onTriggerPointerDown\"\n @click=\"toggleDropdown\"\n @focus=\"onTriggerFocus\"\n @keydown=\"onTriggerKeydown\"\n >\n\n <button\n v-if=\"clearable && hasSelection && !disabled && !isReadonly\"\n data-testid=\"gr-tree-select-clear\"\n data-gr-tree-select-clear\n type=\"button\"\n class=\"absolute top-1/2 -translate-y-1/2 right-3 h-6 w-6 inline-flex items-center justify-center rounded-[var(--gr-radius-control)] text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:bg-[color-mix(in_srgb,var(--gr-muted)_25%,transparent)]\"\n :aria-label=\"t('gr.common.clear', 'Clear')\"\n @click.stop=\"clear\"\n >\n <IconX class=\"inline-block h-4 w-4\" aria-hidden=\"true\" />\n </button>\n\n <span\n v-else\n data-testid=\"gr-tree-select-chevron\"\n data-gr-tree-select-chevron\n class=\"absolute top-1/2 -translate-y-1/2 right-3 text-[var(--gr-muted-fg)] pointer-events-none\"\n >\n <IconChevronDown\n class=\"inline-block h-4 w-4 transition-transform duration-[var(--gr-duration-fast)]\"\n :class=\"open ? 'rotate-180' : ''\"\n aria-hidden=\"true\"\n />\n </span>\n\n <div\n v-if=\"hasSuffix\"\n ref=\"suffixEl\"\n data-gr-tree-select-suffix\n class=\"absolute inset-y-px right-9 flex items-center justify-center border-l border-[var(--gr-brd)] px-2 text-[var(--gr-muted-fg)] pointer-events-none select-none truncate\"\n :class=\"suffixFixed ? '[direction:rtl]' : ''\"\n :style=\"suffixStyle\"\n aria-hidden=\"true\"\n >\n <slot name=\"suffix\" />\n </div>\n\n <div\n v-if=\"$slots.value\"\n class=\"absolute inset-y-0 left-3 right-9 flex items-center pointer-events-none\"\n :style=\"valueOverlayStyle\"\n >\n <slot\n name=\"value\"\n :value=\"modelValue\"\n :labels=\"selectedLabels\"\n :display-value=\"displayValue\"\n :path-labels=\"selectedPathLabels\"\n />\n </div>\n </div>\n\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <transition\n enter-active-class=\"transition ease-[var(--gr-ease-out)] duration-[var(--gr-duration-fast)]\"\n enter-from-class=\"transform opacity-0 scale-95\"\n enter-to-class=\"transform opacity-100 scale-100\"\n leave-active-class=\"transition ease-[var(--gr-ease-in)] duration-[var(--gr-duration-fast)]\"\n leave-from-class=\"transform opacity-100 scale-100\"\n leave-to-class=\"transform opacity-0 scale-95\"\n >\n <div\n v-show=\"open\"\n ref=\"panelEl\"\n data-testid=\"gr-tree-select-panel\"\n v-bind=\"themeAttrs\"\n data-gr-tree-select-panel\n data-gr-overlay-root\n :style=\"floatingStyle\"\n @keydown=\"onPanelKeydown\"\n >\n <div :class=\"panelClasses\">\n <div v-if=\"filterable\" class=\"p-2 border-b border-[var(--gr-brd)]\">\n <GrInput\n ref=\"filterInputRef\"\n v-model=\"filterValue\"\n data-testid=\"gr-tree-select-filter\"\n data-gr-tree-select-filter\n type=\"search\"\n :inputmode=\"filterInputmode\"\n :placeholder=\"resolvedFilterPlaceholder\"\n size=\"sm\"\n @keydown=\"onFilterKeydown\"\n />\n </div>\n\n <!--\n Скроллер один. При виртуализации его берёт на себя дерево: своя\n высота нужна ему, чтобы посчитать окно, а вложенный скроллер поверх\n дал бы вторую полосу прокрутки на том же списке.\n -->\n <div\n class=\"p-1\"\n :class=\"virtual ? '' : 'overflow-auto'\"\n :style=\"virtual ? undefined : { maxHeight: `${dropdownMaxHeight}px` }\"\n >\n <div\n v-if=\"loading\"\n data-gr-tree-select-loading\n role=\"status\"\n :class=\"grTreeSelectStateClass\"\n >\n <slot name=\"loading\">\n <IconLoaderCircle class=\"block h-4 w-4 animate-spin\" aria-hidden=\"true\" />\n <span>{{ t('gr.treeSelect.loading', 'Loading…') }}</span>\n </slot>\n </div>\n\n <div v-else-if=\"(data?.length ?? 0) === 0\" :class=\"grTreeSelectStateClass\">\n <slot name=\"empty\">\n {{ t('gr.treeSelect.empty', 'No data') }}\n </slot>\n </div>\n\n <GrTree\n v-else\n :id=\"treeId\"\n ref=\"treeRef\"\n :size=\"resolvedSize\"\n :data=\"data\"\n :props=\"props.props\"\n :node-key=\"nodeKey as any\"\n :default-expanded-keys=\"defaultExpandedKeys\"\n :filter-node-method=\"filterNodeMethod\"\n :highlight-current=\"!multiple\"\n :virtual=\"virtual\"\n :max-height=\"dropdownMaxHeight\"\n :show-checkbox=\"checkboxMode\"\n :check-strictly=\"checkStrictly\"\n :checked-keys=\"selectedKeys\"\n @node-click=\"onNodeClick\"\n @update:checked-keys=\"onCheckedKeys\"\n >\n <template #default=\"{ node, data }\">\n <slot\n name=\"node\"\n :node=\"node\"\n :data=\"data\"\n :selected=\"selectedKeySet.has(node.key)\"\n >\n <div class=\"flex items-center gap-2 min-w-0\">\n <!-- Чекбокс дерева уже показывает отметку: вторая галочка\n рядом читалась бы как ошибка. -->\n <span\n v-if=\"!checkboxMode\"\n data-gr-tree-select-check\n class=\"inline-block h-4 w-4 shrink-0\"\n aria-hidden=\"true\"\n >\n <IconCheck v-if=\"selectedKeySet.has(node.key)\" class=\"block h-4 w-4 text-[var(--gr-primary)]\" />\n </span>\n <span class=\"truncate\">{{ node.label }}</span>\n </div>\n </slot>\n </template>\n </GrTree>\n </div>\n </div>\n </div>\n </transition>\n </teleport>\n </div>\n</template>\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { n as grTreeSelectSafelist, t as grTreeSelectConfig } from "../../chunks/config-DCFvmHEv.js";
2
- import { t as GrTreeSelect_default } from "./chunks/GrTreeSelect--muUeB0v.js";
2
+ import { t as GrTreeSelect_default } from "./chunks/GrTreeSelect-_LjTRR7X.js";
3
3
  export { GrTreeSelect_default as GrTreeSelect, GrTreeSelect_default as default, grTreeSelectConfig, grTreeSelectSafelist };
@@ -1,2 +1,2 @@
1
- import { a as useGrComponentProp, c as useGrThemeAttrs, i as useGrComponentDefaults, o as useGrComponentSize, r as resolveGrConfig, s as useGrConfig } from "../chunks/context-BSYR7RZs.js";
1
+ import { a as useGrComponentSize, i as useGrComponentProp, n as resolveGrConfig, o as useGrConfig, r as useGrComponentDefaults, s as useGrThemeAttrs } from "../chunks/context-CTbuwcYs.js";
2
2
  export { resolveGrConfig, useGrComponentDefaults, useGrComponentProp, useGrComponentSize, useGrConfig, useGrThemeAttrs };
@@ -1,2 +1,2 @@
1
- import { t as usePortalTarget } from "../chunks/usePortalTarget-Cn-Wiz5d.js";
1
+ import { t as usePortalTarget } from "../chunks/usePortalTarget-C0p-mhaM.js";
2
2
  export { usePortalTarget };
@@ -1,6 +1,6 @@
1
1
  import { t as ensurePortalRoot } from "../chunks/portalRoot-CVhCgdG6.js";
2
2
  import { n as markInert, t as inertableOutside } from "../chunks/inert-DIHCCn_1.js";
3
- import { t as GrLoading_default } from "../components/GrLoading/chunks/GrLoading-CH95CFzS.js";
3
+ import { t as GrLoading_default } from "../components/GrLoading/chunks/GrLoading-C3DZSSuh.js";
4
4
  import { createVNode, render } from "vue";
5
5
  //#region src/directives/loading.ts
6
6
  function isHTMLElement(value) {
@@ -1,2 +1,2 @@
1
- import { a as granularityDefaultThemes, i as granularityComponentConfigs, n as GRANULARITY_PROVIDER_ID, o as granularityThemeNames, r as createGranularityProvider, t as granularityProvider } from "./chunks/granular-provider-C6uAujdJ.js";
1
+ import { a as granularityDefaultThemes, i as granularityComponentConfigs, n as GRANULARITY_PROVIDER_ID, o as granularityThemeNames, r as createGranularityProvider, t as granularityProvider } from "./chunks/granular-provider-CZYm70Pm.js";
2
2
  export { GRANULARITY_PROVIDER_ID, createGranularityProvider, granularityProvider as default, granularityProvider, granularityComponentConfigs, granularityDefaultThemes, granularityThemeNames };
@@ -1,2 +1,2 @@
1
- import { a as granularityDefaultThemes, i as granularityComponentConfigs, n as GRANULARITY_PROVIDER_ID, o as granularityThemeNames, r as createGranularityProvider, t as granularityProvider } from "./chunks/granular-provider-C6uAujdJ.js";
1
+ import { a as granularityDefaultThemes, i as granularityComponentConfigs, n as GRANULARITY_PROVIDER_ID, o as granularityThemeNames, r as createGranularityProvider, t as granularityProvider } from "./chunks/granular-provider-CZYm70Pm.js";
2
2
  export { GRANULARITY_PROVIDER_ID, createGranularityProvider, granularityProvider as default, granularityProvider, granularityComponentConfigs, granularityDefaultThemes, granularityThemeNames };