@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
package/README.md CHANGED
@@ -43,6 +43,14 @@ strategies.
43
43
  - `@feugene/granularity/uno` — browser-safe preset;
44
44
  - `@feugene/granularity/uno-node` — node-oriented preset with CSS/preflight helpers.
45
45
 
46
+ ## Limitations
47
+
48
+ **RTL is not supported.** Components lay themselves out with physical directions (`pl-`/`pr-`,
49
+ `ml-`/`mr-`, `left-`/`right-`), and `dir="rtl"` is not read anywhere: a right-to-left document will
50
+ render mirrored padding, offsets and floating panels. This is a deliberate decision for the `1.x`
51
+ line — moving to logical properties changes how every component looks, which is a visual breaking
52
+ change and belongs in a major release, not a patch. See [`docs/styling.md`](./docs/styling.md).
53
+
46
54
  ## Quick start
47
55
 
48
56
  ```bash
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-8Pcutu1j.js","names":[],"sources":["../../src/components/GrSkeleton/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grSkeletonConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSkeleton',\n})\n"],"mappings":";;AAEA,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK,EACvE,MAAM,aACR,CAAC"}
@@ -1,13 +1,6 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrBadgeWrap/grBadgeWrapStyles.ts
4
- /** Угол, в котором висит бейдж. */
5
- var GR_BADGE_WRAP_PLACEMENTS = [
6
- "top-right",
7
- "top-left",
8
- "bottom-right",
9
- "bottom-left"
10
- ];
11
4
  var rootClass = "relative inline-flex";
12
5
  /**
13
6
  * Смещение бейджа — точки кастомизации: подвинуть его можно темой или инлайном,
@@ -93,4 +86,4 @@ var grBadgeWrapConfig = defineGranularComponent(import.meta.url, {
93
86
  safelist: grBadgeWrapSafelist
94
87
  });
95
88
  //#endregion
96
- export { dotBaseClass as a, isBadgeWrapPulse as c, toneClass as d, countBaseClass as i, placementClass as l, grBadgeWrapSafelist as n, dotPlacementClass as o, GR_BADGE_WRAP_PLACEMENTS as r, formatBadgeValue as s, grBadgeWrapConfig as t, rootClass as u };
89
+ export { dotPlacementClass as a, placementClass as c, dotBaseClass as i, rootClass as l, grBadgeWrapSafelist as n, formatBadgeValue as o, countBaseClass as r, isBadgeWrapPulse as s, grBadgeWrapConfig as t, toneClass as u };
@@ -1 +1 @@
1
- {"version":3,"file":"config-06SQjBx0.js","names":[],"sources":["../../src/components/GrBadgeWrap/grBadgeWrapStyles.ts","../../src/components/GrBadgeWrap/safelist.ts","../../src/components/GrBadgeWrap/config.ts"],"sourcesContent":["import type { GrTone } from '../shared/tones'\n\nexport type GrBadgeWrapTone = GrTone\n\n/** Угол, в котором висит бейдж. */\nexport const GR_BADGE_WRAP_PLACEMENTS = ['top-right', 'top-left', 'bottom-right', 'bottom-left'] as const\nexport type GrBadgeWrapPlacement = typeof GR_BADGE_WRAP_PLACEMENTS[number]\n\nexport const rootClass = 'relative inline-flex'\n\n/**\n * Смещение бейджа — точки кастомизации: подвинуть его можно темой или инлайном,\n * не переопределяя классы снаружи. Дефолты повторяют прежние `-top-2 -right-2`.\n */\nexport const placementClass: Record<GrBadgeWrapPlacement, string> = {\n 'top-right': 'top-[var(--gr-badge-wrap-offset-y,-0.5rem)] right-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n 'top-left': 'top-[var(--gr-badge-wrap-offset-y,-0.5rem)] left-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n 'bottom-right': 'bottom-[var(--gr-badge-wrap-offset-y,-0.5rem)] right-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n 'bottom-left': 'bottom-[var(--gr-badge-wrap-offset-y,-0.5rem)] left-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n}\n\n/** У точки смещение меньше: она вдвое мельче счётчика. */\nexport const dotPlacementClass: Record<GrBadgeWrapPlacement, string> = {\n 'top-right': 'top-[var(--gr-badge-wrap-offset-y,-0.25rem)] right-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n 'top-left': 'top-[var(--gr-badge-wrap-offset-y,-0.25rem)] left-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n 'bottom-right': 'bottom-[var(--gr-badge-wrap-offset-y,-0.25rem)] right-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n 'bottom-left': 'bottom-[var(--gr-badge-wrap-offset-y,-0.25rem)] left-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n}\n\nexport const dotBaseClass = 'absolute h-2 w-2 rounded-[var(--gr-radius-full)]'\n\nexport const countBaseClass = 'absolute min-w-5 h-5 px-1 rounded-[var(--gr-radius-full)] text-[length:var(--gr-text-2xs)] font-700 inline-flex items-center justify-center'\n\n/**\n * Заливка — насыщенная роль тона, текст из `-fg`, а не из белого литерала: тот не\n * переживает смену темы.\n *\n * Вес намеренно не такой, как у filled-`GrBadge` (тот в светлой теме уехал на\n * `-solid`): точка и счётчик лежат **поверх чужого элемента**, и порог у них свой\n * — 3:1 к фону страницы, чтобы метку было видно на аватаре и на иконке. Заливка\n * кнопочного веса читалась бы там как вторая кнопка.\n *\n * Карта своя, а не импорт из `GrBadge`: чужая карта означала бы зависимость от\n * компонента и его CSS ради двух классов.\n */\nexport const toneClass: Record<GrBadgeWrapTone, string> = {\n neutral: 'bg-[var(--gr-fg)] text-[var(--gr-bg)]',\n primary: 'bg-[var(--gr-primary)] text-[var(--gr-primary-fg)]',\n success: 'bg-[var(--gr-success)] text-[var(--gr-success-fg)]',\n warning: 'bg-[var(--gr-warning)] text-[var(--gr-warning-fg)]',\n danger: 'bg-[var(--gr-danger)] text-[var(--gr-danger-fg)]',\n info: 'bg-[var(--gr-info)] text-[var(--gr-info-fg)]',\n slate: 'bg-[var(--gr-slate)] text-[var(--gr-slate-fg)]',\n azure: 'bg-[var(--gr-azure)] text-[var(--gr-azure-fg)]',\n}\n\n/**\n * Видимый текст счётчика: число больше порога сворачивается в «{max}+», иначе\n * бейдж расползается и ломает соседей. Озвучивается при этом настоящее\n * значение — «99 плюс» пользователю ничего не говорит.\n */\nexport function formatBadgeValue(value: string | number, max?: number): string {\n if (max === undefined || typeof value !== 'number') return String(value)\n return value > max ? `${max}+` : String(value)\n}\n\n/**\n * Стоит ли отмечать анимацией переход счётчика из `prev` в `next`.\n * `undefined` означает «счётчика на экране нет».\n *\n * Отмечается только прибавление: появление счётчика и рост числа — события,\n * о которых пользователь ещё не знает. Убыль — наоборот, след его собственного\n * действия («прочитал»), и подсвечивать её значит мигать бейджем на каждом\n * прочитанном письме.\n *\n * У строкового значения порядка нет, поэтому любая его смена считается событием.\n */\nexport function isBadgeWrapPulse(\n prev: string | number | undefined,\n next: string | number | undefined,\n): boolean {\n if (next === undefined) return false\n if (prev === undefined) return true\n if (typeof prev === 'number' && typeof next === 'number') return next > prev\n return prev !== next\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n countBaseClass,\n dotBaseClass,\n dotPlacementClass,\n placementClass,\n rootClass,\n toneClass,\n} from './grBadgeWrapStyles'\n\nexport const grBadgeWrapSafelist = [...new Set([\n ...splitClassTokens(rootClass),\n ...splitClassTokens(dotBaseClass),\n ...splitClassTokens(countBaseClass),\n ...Object.values(placementClass).flatMap(splitClassTokens),\n ...Object.values(dotPlacementClass).flatMap(splitClassTokens),\n ...Object.values(toneClass).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grBadgeWrapSafelist } from './safelist'\n\nexport const grBadgeWrapConfig = defineGranularComponent(import.meta.url, {\n name: 'GrBadgeWrap',\n safelist: grBadgeWrapSafelist,\n})\n"],"mappings":";;;;AAKA,IAAa,2BAA2B;CAAC;CAAa;CAAY;CAAgB;AAAa;AAG/F,IAAa,YAAY;;;;;AAMzB,IAAa,iBAAuD;CAClE,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,eAAe;AACjB;;AAGA,IAAa,oBAA0D;CACrE,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,eAAe;AACjB;AAEA,IAAa,eAAe;AAE5B,IAAa,iBAAiB;;;;;;;;;;;;;AAc9B,IAAa,YAA6C;CACxD,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;AACT;;;;;;AAOA,SAAgB,iBAAiB,OAAwB,KAAsB;CAC7E,IAAI,QAAQ,KAAA,KAAa,OAAO,UAAU,UAAU,OAAO,OAAO,KAAK;CACvE,OAAO,QAAQ,MAAM,GAAG,IAAI,KAAK,OAAO,KAAK;AAC/C;;;;;;;;;;;;AAaA,SAAgB,iBACd,MACA,MACS;CACT,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,IAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAAU,OAAO,OAAO;CACxE,OAAO,SAAS;AAClB;;;AC3EA,IAAa,sBAAsB,CAAC,mBAAG,IAAI,IAAI;CAC7C,GAAG,iBAAiB,SAAS;CAC7B,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,cAAc;CAClC,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC,QAAQ,gBAAgB;CACzD,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,gBAAgB;AACtD,CAAC,CAAC;;;ACbF,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACxE,MAAM;CACN,UAAU;AACZ,CAAC"}
1
+ {"version":3,"file":"config-B4w5gBD0.js","names":[],"sources":["../../src/components/GrBadgeWrap/grBadgeWrapStyles.ts","../../src/components/GrBadgeWrap/safelist.ts","../../src/components/GrBadgeWrap/config.ts"],"sourcesContent":["import type { GrTone } from '../shared/tones'\n\nexport type GrBadgeWrapTone = GrTone\n\n/** Угол, в котором висит бейдж. */\nexport const GR_BADGE_WRAP_PLACEMENTS = ['top-right', 'top-left', 'bottom-right', 'bottom-left'] as const\nexport type GrBadgeWrapPlacement = typeof GR_BADGE_WRAP_PLACEMENTS[number]\n\nexport const rootClass = 'relative inline-flex'\n\n/**\n * Смещение бейджа — точки кастомизации: подвинуть его можно темой или инлайном,\n * не переопределяя классы снаружи. Дефолты повторяют прежние `-top-2 -right-2`.\n */\nexport const placementClass: Record<GrBadgeWrapPlacement, string> = {\n 'top-right': 'top-[var(--gr-badge-wrap-offset-y,-0.5rem)] right-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n 'top-left': 'top-[var(--gr-badge-wrap-offset-y,-0.5rem)] left-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n 'bottom-right': 'bottom-[var(--gr-badge-wrap-offset-y,-0.5rem)] right-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n 'bottom-left': 'bottom-[var(--gr-badge-wrap-offset-y,-0.5rem)] left-[var(--gr-badge-wrap-offset-x,-0.5rem)]',\n}\n\n/** У точки смещение меньше: она вдвое мельче счётчика. */\nexport const dotPlacementClass: Record<GrBadgeWrapPlacement, string> = {\n 'top-right': 'top-[var(--gr-badge-wrap-offset-y,-0.25rem)] right-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n 'top-left': 'top-[var(--gr-badge-wrap-offset-y,-0.25rem)] left-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n 'bottom-right': 'bottom-[var(--gr-badge-wrap-offset-y,-0.25rem)] right-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n 'bottom-left': 'bottom-[var(--gr-badge-wrap-offset-y,-0.25rem)] left-[var(--gr-badge-wrap-offset-x,-0.25rem)]',\n}\n\nexport const dotBaseClass = 'absolute h-2 w-2 rounded-[var(--gr-radius-full)]'\n\nexport const countBaseClass = 'absolute min-w-5 h-5 px-1 rounded-[var(--gr-radius-full)] text-[length:var(--gr-text-2xs)] font-700 inline-flex items-center justify-center'\n\n/**\n * Заливка — насыщенная роль тона, текст из `-fg`, а не из белого литерала: тот не\n * переживает смену темы.\n *\n * Вес намеренно не такой, как у filled-`GrBadge` (тот в светлой теме уехал на\n * `-solid`): точка и счётчик лежат **поверх чужого элемента**, и порог у них свой\n * — 3:1 к фону страницы, чтобы метку было видно на аватаре и на иконке. Заливка\n * кнопочного веса читалась бы там как вторая кнопка.\n *\n * Карта своя, а не импорт из `GrBadge`: чужая карта означала бы зависимость от\n * компонента и его CSS ради двух классов.\n */\nexport const toneClass: Record<GrBadgeWrapTone, string> = {\n neutral: 'bg-[var(--gr-fg)] text-[var(--gr-bg)]',\n primary: 'bg-[var(--gr-primary)] text-[var(--gr-primary-fg)]',\n success: 'bg-[var(--gr-success)] text-[var(--gr-success-fg)]',\n warning: 'bg-[var(--gr-warning)] text-[var(--gr-warning-fg)]',\n danger: 'bg-[var(--gr-danger)] text-[var(--gr-danger-fg)]',\n info: 'bg-[var(--gr-info)] text-[var(--gr-info-fg)]',\n slate: 'bg-[var(--gr-slate)] text-[var(--gr-slate-fg)]',\n azure: 'bg-[var(--gr-azure)] text-[var(--gr-azure-fg)]',\n}\n\n/**\n * Видимый текст счётчика: число больше порога сворачивается в «{max}+», иначе\n * бейдж расползается и ломает соседей. Озвучивается при этом настоящее\n * значение — «99 плюс» пользователю ничего не говорит.\n */\nexport function formatBadgeValue(value: string | number, max?: number): string {\n if (max === undefined || typeof value !== 'number') return String(value)\n return value > max ? `${max}+` : String(value)\n}\n\n/**\n * Стоит ли отмечать анимацией переход счётчика из `prev` в `next`.\n * `undefined` означает «счётчика на экране нет».\n *\n * Отмечается только прибавление: появление счётчика и рост числа — события,\n * о которых пользователь ещё не знает. Убыль — наоборот, след его собственного\n * действия («прочитал»), и подсвечивать её значит мигать бейджем на каждом\n * прочитанном письме.\n *\n * У строкового значения порядка нет, поэтому любая его смена считается событием.\n */\nexport function isBadgeWrapPulse(\n prev: string | number | undefined,\n next: string | number | undefined,\n): boolean {\n if (next === undefined) return false\n if (prev === undefined) return true\n if (typeof prev === 'number' && typeof next === 'number') return next > prev\n return prev !== next\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n countBaseClass,\n dotBaseClass,\n dotPlacementClass,\n placementClass,\n rootClass,\n toneClass,\n} from './grBadgeWrapStyles'\n\nexport const grBadgeWrapSafelist = [...new Set([\n ...splitClassTokens(rootClass),\n ...splitClassTokens(dotBaseClass),\n ...splitClassTokens(countBaseClass),\n ...Object.values(placementClass).flatMap(splitClassTokens),\n ...Object.values(dotPlacementClass).flatMap(splitClassTokens),\n ...Object.values(toneClass).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grBadgeWrapSafelist } from './safelist'\n\nexport const grBadgeWrapConfig = defineGranularComponent(import.meta.url, {\n name: 'GrBadgeWrap',\n safelist: grBadgeWrapSafelist,\n})\n"],"mappings":";;;AAQA,IAAa,YAAY;;;;;AAMzB,IAAa,iBAAuD;CAClE,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,eAAe;AACjB;;AAGA,IAAa,oBAA0D;CACrE,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,eAAe;AACjB;AAEA,IAAa,eAAe;AAE5B,IAAa,iBAAiB;;;;;;;;;;;;;AAc9B,IAAa,YAA6C;CACxD,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;AACT;;;;;;AAOA,SAAgB,iBAAiB,OAAwB,KAAsB;CAC7E,IAAI,QAAQ,KAAA,KAAa,OAAO,UAAU,UAAU,OAAO,OAAO,KAAK;CACvE,OAAO,QAAQ,MAAM,GAAG,IAAI,KAAK,OAAO,KAAK;AAC/C;;;;;;;;;;;;AAaA,SAAgB,iBACd,MACA,MACS;CACT,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,IAAI,SAAS,KAAA,GAAW,OAAO;CAC/B,IAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAAU,OAAO,OAAO;CACxE,OAAO,SAAS;AAClB;;;AC3EA,IAAa,sBAAsB,CAAC,mBAAG,IAAI,IAAI;CAC7C,GAAG,iBAAiB,SAAS;CAC7B,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,cAAc;CAClC,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC,QAAQ,gBAAgB;CACzD,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,gBAAgB;AACtD,CAAC,CAAC;;;ACbF,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACxE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BE6n20np.js","names":[],"sources":["../../src/components/GrSplitter/grSplitterStyles.ts","../../src/components/GrSplitter/safelist.ts","../../src/components/GrSplitter/config.ts"],"sourcesContent":["/**\n * Классы `GrSplitter`. Геометрия (толщина полосы, зона захвата, курсоры)\n * зависит от ориентации и от состояния жеста, поэтому живёт в собственном\n * `<style>` компонента, а не в утилитах.\n */\n\nexport const rootClass = 'grid h-full w-full'\n\n/** Без `min-*: 0` содержимое панели распирает грид-трек и ломает раскладку. */\nexport const paneClass = 'min-h-0 min-w-0'\n\n// `touch-none` в связке presetMini + presetGranular CSS не даёт — только произвольное свойство.\nexport const separatorClass = 'relative [touch-action:none] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] focus-visible:ring-inset'\n","import { splitClassTokens } from '../shared/classTokens'\nimport { paneClass, rootClass, separatorClass } from './grSplitterStyles'\n\nexport const grSplitterSafelist = [...new Set([\n ...splitClassTokens(rootClass),\n ...splitClassTokens(paneClass),\n ...splitClassTokens(separatorClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSplitterSafelist } from './safelist'\n\nexport const grSplitterConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSplitter',\n safelist: grSplitterSafelist,\n})\n"],"mappings":";;;;;;;;AAMA,IAAa,YAAY;;AAGzB,IAAa,YAAY;AAGzB,IAAa,iBAAiB;;;ACT9B,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI;CAC5C,GAAG,iBAAiB,SAAS;CAC7B,GAAG,iBAAiB,SAAS;CAC7B,GAAG,iBAAiB,cAAc;AACpC,CAAC,CAAC;;;ACHF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrSegmented/grSegmentedStyles.ts
4
- /** Направление ряда сегментов. Вертикаль — боковые фильтры. */
5
- var GR_SEGMENTED_ORIENTATIONS = ["horizontal", "vertical"];
6
4
  var rootBaseClass = "relative inline-grid min-w-0 items-stretch rounded-[var(--gr-segmented-radius)] p-[var(--gr-segmented-padding)] transition-colors duration-[var(--gr-duration-fast)]";
7
5
  /** Направление потока: остальную раскладку задают `gridTemplate*` в стиле корня. */
8
6
  var rootOrientationClassMap = {
@@ -196,4 +194,4 @@ var grSegmentedConfig = defineGranularComponent(import.meta.url, {
196
194
  }
197
195
  });
198
196
  //#endregion
199
- export { grSegmentedItemClass as a, grSegmentedItemSpinnerClass as c, grSegmentedIndicatorClass as i, grSegmentedRootClass as l, grSegmentedSafelist as n, grSegmentedItemIconClass as o, GR_SEGMENTED_ORIENTATIONS as r, grSegmentedItemLabelClass as s, grSegmentedConfig as t, grSegmentedRootStyle as u };
197
+ export { grSegmentedItemIconClass as a, grSegmentedRootClass as c, grSegmentedItemClass as i, grSegmentedRootStyle as l, grSegmentedSafelist as n, grSegmentedItemLabelClass as o, grSegmentedIndicatorClass as r, grSegmentedItemSpinnerClass as s, grSegmentedConfig as t };
@@ -1 +1 @@
1
- {"version":3,"file":"config-B-iNaGdw.js","names":[],"sources":["../../src/components/GrSegmented/grSegmentedStyles.ts","../../src/components/GrSegmented/safelist.ts","../../src/components/GrSegmented/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\nimport type { Component } from 'vue'\nexport type GrSegmentedVariant = 'pills' | 'button'\nexport type GrSegmentedSize = GrComponentSize\n\n/** Направление ряда сегментов. Вертикаль — боковые фильтры. */\nexport const GR_SEGMENTED_ORIENTATIONS = ['horizontal', 'vertical'] as const\nexport type GrSegmentedOrientation = typeof GR_SEGMENTED_ORIENTATIONS[number]\nexport type GrSegmentedValue = string | number\nexport type GrSegmentedOption = {\n value: GrSegmentedValue\n label?: string\n icon?: Component\n disabled?: boolean\n /**\n * Сегмент занят: вместо иконки крутится спиннер, выбор не принимается.\n * От `disabled` отличается смыслом — сегмент доступен, но сейчас работает.\n */\n loading?: boolean\n /**\n * Доступное имя сегмента. Обязательно для icon-only опций: иконка декоративна\n * (`aria-hidden`), и без этого у сегмента нет имени вовсе — скринридер объявит\n * пустую кнопку. Когда есть `label`, имя берётся из него, и поле не нужно.\n */\n ariaLabel?: string\n}\nexport const rootBaseClass =\n 'relative inline-grid min-w-0 items-stretch rounded-[var(--gr-segmented-radius)] p-[var(--gr-segmented-padding)] transition-colors duration-[var(--gr-duration-fast)]'\n\n/** Направление потока: остальную раскладку задают `gridTemplate*` в стиле корня. */\nexport const rootOrientationClassMap: Record<GrSegmentedOrientation, string> = {\n horizontal: 'grid-flow-col',\n vertical: 'grid-flow-row',\n}\nexport const rootVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--gr-segmented-track-brd)] bg-[var(--gr-segmented-track-bg)] text-[var(--gr-segmented-item-color)]',\n button: 'border border-[var(--gr-segmented-track-brd)] bg-[var(--gr-segmented-track-bg)] text-[var(--gr-segmented-item-color)] shadow-[var(--gr-segmented-track-shadow)]',\n}\nexport const rootBlockClass = 'w-full'\nexport const rootDisabledClass = 'text-[var(--gr-disabled-fg)]'\nexport const indicatorBaseClass =\n 'pointer-events-none absolute left-0 top-0 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] transition-[transform,width,height,opacity] ease-[var(--gr-ease-out)]'\nexport const indicatorVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]',\n button: 'border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]',\n}\nexport const itemBaseClass =\n 'group/segmented-item relative z-[1] inline-flex min-h-[var(--gr-segmented-min-height)] min-w-0 items-center justify-center gap-2 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] px-[var(--gr-segmented-item-px)] py-[var(--gr-segmented-item-py)] text-[length:var(--gr-segmented-font-size)] leading-[var(--gr-segmented-line-height)] font-[var(--gr-segmented-font-weight)] text-[var(--gr-segmented-item-color)] transition-colors duration-[var(--gr-duration-fast)] select-none focus:outline-none focus-visible:shadow-[0_0_0_2px_var(--gr-ring),0_0_0_4px_var(--gr-bg)]'\nexport const itemVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: '',\n button: '',\n}\nexport const itemSelectedClass = 'text-[var(--gr-segmented-item-selected-color)]'\n/**\n * Недоступный сегмент гасится токеном, а не `opacity`: прозрачность разбавляет\n * выверенные на AA токены текста и роняет контраст подписи.\n */\nexport const itemDisabledClass = 'cursor-not-allowed text-[var(--gr-disabled-fg)]'\nexport const itemEnabledClass = 'cursor-pointer hover:text-[var(--gr-segmented-item-hover-color)]'\nexport const itemLabelClass = 'truncate'\nexport const itemIconClass = 'h-4 w-4 shrink-0'\nexport const itemSpinnerClass = 'h-4 w-4 shrink-0 animate-spin'\nexport const iconOnlyClass = 'gap-0'\nconst rootSizeStyles: Record<GrSegmentedSize, Record<string, string>> = {\n xs: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '10px',\n '--gr-segmented-item-py': '4px',\n '--gr-segmented-font-size': '0.75rem',\n '--gr-segmented-line-height': '1rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '24px',\n },\n sm: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '12px',\n '--gr-segmented-item-py': '6px',\n '--gr-segmented-font-size': '0.75rem',\n '--gr-segmented-line-height': '1rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '28px',\n },\n md: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '14px',\n '--gr-segmented-item-py': '8px',\n '--gr-segmented-font-size': '0.875rem',\n '--gr-segmented-line-height': '1.25rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '40px',\n },\n lg: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '16px',\n '--gr-segmented-item-py': '10px',\n '--gr-segmented-font-size': '0.9375rem',\n '--gr-segmented-line-height': '1.25rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '46px',\n },\n}\nconst rootVariantStyles: Record<GrSegmentedVariant, Record<string, string>> = {\n pills: {\n '--gr-segmented-track-bg': 'var(--gr-muted)',\n '--gr-segmented-track-brd': 'var(--gr-brd)',\n '--gr-segmented-track-shadow': 'none',\n '--gr-segmented-indicator-bg': 'var(--gr-card)',\n '--gr-segmented-indicator-brd': 'color-mix(in srgb, var(--gr-card) 84%, var(--gr-brd) 16%)',\n '--gr-segmented-indicator-shadow': 'var(--gr-shadow-1), var(--gr-segmented-indicator-highlight-shadow, 0 0 0 0 transparent)',\n '--gr-segmented-item-color': 'var(--gr-muted-fg)',\n '--gr-segmented-item-selected-color': 'var(--gr-fg)',\n '--gr-segmented-item-hover-color': 'var(--gr-fg)',\n },\n button: {\n '--gr-segmented-track-bg': 'var(--gr-card)',\n '--gr-segmented-track-brd': 'var(--gr-brd)',\n '--gr-segmented-track-shadow': 'var(--gr-shadow-1)',\n '--gr-segmented-indicator-bg': 'var(--gr-primary)',\n '--gr-segmented-indicator-brd': 'color-mix(in srgb, var(--gr-primary) 88%, var(--gr-brd) 12%)',\n '--gr-segmented-indicator-shadow': 'var(--gr-shadow-2)',\n '--gr-segmented-item-color': 'var(--gr-muted-fg)',\n '--gr-segmented-item-selected-color': 'var(--gr-primary-fg)',\n '--gr-segmented-item-hover-color': 'var(--gr-fg)',\n },\n}\nexport function grSegmentedRootClass(options: {\n variant: GrSegmentedVariant\n orientation: GrSegmentedOrientation\n block: boolean\n disabled: boolean\n}): string {\n return [\n rootBaseClass,\n rootOrientationClassMap[options.orientation],\n rootVariantClassMap[options.variant],\n options.block ? rootBlockClass : '',\n options.disabled ? rootDisabledClass : '',\n ].filter(Boolean).join(' ')\n}\n/**\n * Радиус дорожки в вертикали — пилюля **одной строки**, а не всей колонки.\n * `9999px` выверен под короткий горизонтальный ряд; на высокой колонке он\n * превращает дорожку в эллипс. Формула повторяет высоту сегмента, поэтому\n * скругление у колонки ровно такое же, как у ряда, и сегменты внутри остаются\n * пилюлями: они считают свой радиус от этого же значения.\n */\nconst verticalRadiusStyle = {\n '--gr-segmented-radius': 'calc(var(--gr-segmented-min-height) / 2 + var(--gr-segmented-padding))',\n}\n\nexport function grSegmentedRootStyle(options: {\n variant: GrSegmentedVariant\n size: GrSegmentedSize\n orientation: GrSegmentedOrientation\n}): Record<string, string> {\n return {\n ...rootSizeStyles[options.size],\n ...rootVariantStyles[options.variant],\n ...(options.orientation === 'vertical' ? verticalRadiusStyle : {}),\n }\n}\nexport function grSegmentedIndicatorClass(variant: GrSegmentedVariant): string {\n return [indicatorBaseClass, indicatorVariantClassMap[variant]].join(' ')\n}\nexport function grSegmentedItemClass(options: {\n variant: GrSegmentedVariant\n selected: boolean\n disabled: boolean\n iconOnly: boolean\n}): string {\n return [\n itemBaseClass,\n itemVariantClassMap[options.variant],\n options.selected ? itemSelectedClass : '',\n options.disabled ? itemDisabledClass : itemEnabledClass,\n options.iconOnly ? iconOnlyClass : '',\n ].filter(Boolean).join(' ')\n}\nexport const grSegmentedItemLabelClass = itemLabelClass\nexport const grSegmentedItemIconClass = itemIconClass\nexport const grSegmentedItemSpinnerClass = itemSpinnerClass\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n iconOnlyClass,\n indicatorBaseClass,\n indicatorVariantClassMap,\n itemBaseClass,\n itemDisabledClass,\n itemEnabledClass,\n itemIconClass,\n itemLabelClass,\n itemSpinnerClass,\n itemSelectedClass,\n itemVariantClassMap,\n rootBaseClass,\n rootBlockClass,\n rootDisabledClass,\n rootOrientationClassMap,\n rootVariantClassMap,\n} from './grSegmentedStyles'\n\nexport const grSegmentedClassTokens = {\n rootBaseClass: splitClassTokens(rootBaseClass),\n rootOrientationClassMap: Object.values(rootOrientationClassMap).flatMap(splitClassTokens),\n rootVariantClassMap: Object.values(rootVariantClassMap).flatMap(splitClassTokens),\n rootBlockClass: splitClassTokens(rootBlockClass),\n rootDisabledClass: splitClassTokens(rootDisabledClass),\n indicatorBaseClass: splitClassTokens(indicatorBaseClass),\n indicatorVariantClassMap: Object.values(indicatorVariantClassMap).flatMap(splitClassTokens),\n itemBaseClass: splitClassTokens(itemBaseClass),\n itemVariantClassMap: Object.values(itemVariantClassMap).flatMap(splitClassTokens),\n itemSelectedClass: splitClassTokens(itemSelectedClass),\n itemDisabledClass: splitClassTokens(itemDisabledClass),\n itemEnabledClass: splitClassTokens(itemEnabledClass),\n itemLabelClass: splitClassTokens(itemLabelClass),\n itemIconClass: splitClassTokens(itemIconClass),\n itemSpinnerClass: splitClassTokens(itemSpinnerClass),\n iconOnlyClass: splitClassTokens(iconOnlyClass),\n} as const\n\nexport const grSegmentedSafelist = [...new Set([\n ...grSegmentedClassTokens.rootBaseClass,\n ...grSegmentedClassTokens.rootOrientationClassMap,\n ...grSegmentedClassTokens.rootVariantClassMap,\n ...grSegmentedClassTokens.rootBlockClass,\n ...grSegmentedClassTokens.rootDisabledClass,\n ...grSegmentedClassTokens.indicatorBaseClass,\n ...grSegmentedClassTokens.indicatorVariantClassMap,\n ...grSegmentedClassTokens.itemBaseClass,\n ...grSegmentedClassTokens.itemVariantClassMap,\n ...grSegmentedClassTokens.itemSelectedClass,\n ...grSegmentedClassTokens.itemDisabledClass,\n ...grSegmentedClassTokens.itemEnabledClass,\n ...grSegmentedClassTokens.itemLabelClass,\n ...grSegmentedClassTokens.itemIconClass,\n ...grSegmentedClassTokens.itemSpinnerClass,\n ...grSegmentedClassTokens.iconOnlyClass,\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSegmentedSafelist } from './safelist'\n\nexport const grSegmentedConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSegmented',\n safelist: grSegmentedSafelist,\n tokenDefinitions: {\n light: {\n selector: ':root',\n tokens: {'gr-segmented-indicator-highlight-shadow': '0 0 0 0 transparent'}\n },\n dark: {\n selector: '.dark',\n tokens: {'gr-segmented-indicator-highlight-shadow': '0 0 0 1px rgba(248, 250, 252, 0.08)'}\n },\n }\n})"],"mappings":"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"}
1
+ {"version":3,"file":"config-BEVBsvni.js","names":[],"sources":["../../src/components/GrSegmented/grSegmentedStyles.ts","../../src/components/GrSegmented/safelist.ts","../../src/components/GrSegmented/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\nimport type { Component } from 'vue'\nexport type GrSegmentedVariant = 'pills' | 'button'\nexport type GrSegmentedSize = GrComponentSize\n\n/** Направление ряда сегментов. Вертикаль — боковые фильтры. */\nexport const GR_SEGMENTED_ORIENTATIONS = ['horizontal', 'vertical'] as const\nexport type GrSegmentedOrientation = typeof GR_SEGMENTED_ORIENTATIONS[number]\nexport type GrSegmentedValue = string | number\nexport type GrSegmentedOption = {\n value: GrSegmentedValue\n label?: string\n icon?: Component\n disabled?: boolean\n /**\n * Сегмент занят: вместо иконки крутится спиннер, выбор не принимается.\n * От `disabled` отличается смыслом — сегмент доступен, но сейчас работает.\n */\n loading?: boolean\n /**\n * Доступное имя сегмента. Обязательно для icon-only опций: иконка декоративна\n * (`aria-hidden`), и без этого у сегмента нет имени вовсе — скринридер объявит\n * пустую кнопку. Когда есть `label`, имя берётся из него, и поле не нужно.\n */\n ariaLabel?: string\n}\nexport const rootBaseClass =\n 'relative inline-grid min-w-0 items-stretch rounded-[var(--gr-segmented-radius)] p-[var(--gr-segmented-padding)] transition-colors duration-[var(--gr-duration-fast)]'\n\n/** Направление потока: остальную раскладку задают `gridTemplate*` в стиле корня. */\nexport const rootOrientationClassMap: Record<GrSegmentedOrientation, string> = {\n horizontal: 'grid-flow-col',\n vertical: 'grid-flow-row',\n}\nexport const rootVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--gr-segmented-track-brd)] bg-[var(--gr-segmented-track-bg)] text-[var(--gr-segmented-item-color)]',\n button: 'border border-[var(--gr-segmented-track-brd)] bg-[var(--gr-segmented-track-bg)] text-[var(--gr-segmented-item-color)] shadow-[var(--gr-segmented-track-shadow)]',\n}\nexport const rootBlockClass = 'w-full'\nexport const rootDisabledClass = 'text-[var(--gr-disabled-fg)]'\nexport const indicatorBaseClass =\n 'pointer-events-none absolute left-0 top-0 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] transition-[transform,width,height,opacity] ease-[var(--gr-ease-out)]'\nexport const indicatorVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: 'border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]',\n button: 'border border-[var(--gr-segmented-indicator-brd)] bg-[var(--gr-segmented-indicator-bg)] shadow-[var(--gr-segmented-indicator-shadow)]',\n}\nexport const itemBaseClass =\n 'group/segmented-item relative z-[1] inline-flex min-h-[var(--gr-segmented-min-height)] min-w-0 items-center justify-center gap-2 rounded-[calc(var(--gr-segmented-radius)-var(--gr-segmented-padding))] px-[var(--gr-segmented-item-px)] py-[var(--gr-segmented-item-py)] text-[length:var(--gr-segmented-font-size)] leading-[var(--gr-segmented-line-height)] font-[var(--gr-segmented-font-weight)] text-[var(--gr-segmented-item-color)] transition-colors duration-[var(--gr-duration-fast)] select-none focus:outline-none focus-visible:shadow-[0_0_0_2px_var(--gr-ring),0_0_0_4px_var(--gr-bg)]'\nexport const itemVariantClassMap: Record<GrSegmentedVariant, string> = {\n pills: '',\n button: '',\n}\nexport const itemSelectedClass = 'text-[var(--gr-segmented-item-selected-color)]'\n/**\n * Недоступный сегмент гасится токеном, а не `opacity`: прозрачность разбавляет\n * выверенные на AA токены текста и роняет контраст подписи.\n */\nexport const itemDisabledClass = 'cursor-not-allowed text-[var(--gr-disabled-fg)]'\nexport const itemEnabledClass = 'cursor-pointer hover:text-[var(--gr-segmented-item-hover-color)]'\nexport const itemLabelClass = 'truncate'\nexport const itemIconClass = 'h-4 w-4 shrink-0'\nexport const itemSpinnerClass = 'h-4 w-4 shrink-0 animate-spin'\nexport const iconOnlyClass = 'gap-0'\nconst rootSizeStyles: Record<GrSegmentedSize, Record<string, string>> = {\n xs: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '10px',\n '--gr-segmented-item-py': '4px',\n '--gr-segmented-font-size': '0.75rem',\n '--gr-segmented-line-height': '1rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '24px',\n },\n sm: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '12px',\n '--gr-segmented-item-py': '6px',\n '--gr-segmented-font-size': '0.75rem',\n '--gr-segmented-line-height': '1rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '28px',\n },\n md: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '14px',\n '--gr-segmented-item-py': '8px',\n '--gr-segmented-font-size': '0.875rem',\n '--gr-segmented-line-height': '1.25rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '40px',\n },\n lg: {\n '--gr-segmented-radius': '9999px',\n '--gr-segmented-padding': '4px',\n '--gr-segmented-item-px': '16px',\n '--gr-segmented-item-py': '10px',\n '--gr-segmented-font-size': '0.9375rem',\n '--gr-segmented-line-height': '1.25rem',\n '--gr-segmented-font-weight': '600',\n '--gr-segmented-min-height': '46px',\n },\n}\nconst rootVariantStyles: Record<GrSegmentedVariant, Record<string, string>> = {\n pills: {\n '--gr-segmented-track-bg': 'var(--gr-muted)',\n '--gr-segmented-track-brd': 'var(--gr-brd)',\n '--gr-segmented-track-shadow': 'none',\n '--gr-segmented-indicator-bg': 'var(--gr-card)',\n '--gr-segmented-indicator-brd': 'color-mix(in srgb, var(--gr-card) 84%, var(--gr-brd) 16%)',\n '--gr-segmented-indicator-shadow': 'var(--gr-shadow-1), var(--gr-segmented-indicator-highlight-shadow, 0 0 0 0 transparent)',\n '--gr-segmented-item-color': 'var(--gr-muted-fg)',\n '--gr-segmented-item-selected-color': 'var(--gr-fg)',\n '--gr-segmented-item-hover-color': 'var(--gr-fg)',\n },\n button: {\n '--gr-segmented-track-bg': 'var(--gr-card)',\n '--gr-segmented-track-brd': 'var(--gr-brd)',\n '--gr-segmented-track-shadow': 'var(--gr-shadow-1)',\n '--gr-segmented-indicator-bg': 'var(--gr-primary)',\n '--gr-segmented-indicator-brd': 'color-mix(in srgb, var(--gr-primary) 88%, var(--gr-brd) 12%)',\n '--gr-segmented-indicator-shadow': 'var(--gr-shadow-2)',\n '--gr-segmented-item-color': 'var(--gr-muted-fg)',\n '--gr-segmented-item-selected-color': 'var(--gr-primary-fg)',\n '--gr-segmented-item-hover-color': 'var(--gr-fg)',\n },\n}\nexport function grSegmentedRootClass(options: {\n variant: GrSegmentedVariant\n orientation: GrSegmentedOrientation\n block: boolean\n disabled: boolean\n}): string {\n return [\n rootBaseClass,\n rootOrientationClassMap[options.orientation],\n rootVariantClassMap[options.variant],\n options.block ? rootBlockClass : '',\n options.disabled ? rootDisabledClass : '',\n ].filter(Boolean).join(' ')\n}\n/**\n * Радиус дорожки в вертикали — пилюля **одной строки**, а не всей колонки.\n * `9999px` выверен под короткий горизонтальный ряд; на высокой колонке он\n * превращает дорожку в эллипс. Формула повторяет высоту сегмента, поэтому\n * скругление у колонки ровно такое же, как у ряда, и сегменты внутри остаются\n * пилюлями: они считают свой радиус от этого же значения.\n */\nconst verticalRadiusStyle = {\n '--gr-segmented-radius': 'calc(var(--gr-segmented-min-height) / 2 + var(--gr-segmented-padding))',\n}\n\nexport function grSegmentedRootStyle(options: {\n variant: GrSegmentedVariant\n size: GrSegmentedSize\n orientation: GrSegmentedOrientation\n}): Record<string, string> {\n return {\n ...rootSizeStyles[options.size],\n ...rootVariantStyles[options.variant],\n ...(options.orientation === 'vertical' ? verticalRadiusStyle : {}),\n }\n}\nexport function grSegmentedIndicatorClass(variant: GrSegmentedVariant): string {\n return [indicatorBaseClass, indicatorVariantClassMap[variant]].join(' ')\n}\nexport function grSegmentedItemClass(options: {\n variant: GrSegmentedVariant\n selected: boolean\n disabled: boolean\n iconOnly: boolean\n}): string {\n return [\n itemBaseClass,\n itemVariantClassMap[options.variant],\n options.selected ? itemSelectedClass : '',\n options.disabled ? itemDisabledClass : itemEnabledClass,\n options.iconOnly ? iconOnlyClass : '',\n ].filter(Boolean).join(' ')\n}\nexport const grSegmentedItemLabelClass = itemLabelClass\nexport const grSegmentedItemIconClass = itemIconClass\nexport const grSegmentedItemSpinnerClass = itemSpinnerClass\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n iconOnlyClass,\n indicatorBaseClass,\n indicatorVariantClassMap,\n itemBaseClass,\n itemDisabledClass,\n itemEnabledClass,\n itemIconClass,\n itemLabelClass,\n itemSpinnerClass,\n itemSelectedClass,\n itemVariantClassMap,\n rootBaseClass,\n rootBlockClass,\n rootDisabledClass,\n rootOrientationClassMap,\n rootVariantClassMap,\n} from './grSegmentedStyles'\n\nexport const grSegmentedClassTokens = {\n rootBaseClass: splitClassTokens(rootBaseClass),\n rootOrientationClassMap: Object.values(rootOrientationClassMap).flatMap(splitClassTokens),\n rootVariantClassMap: Object.values(rootVariantClassMap).flatMap(splitClassTokens),\n rootBlockClass: splitClassTokens(rootBlockClass),\n rootDisabledClass: splitClassTokens(rootDisabledClass),\n indicatorBaseClass: splitClassTokens(indicatorBaseClass),\n indicatorVariantClassMap: Object.values(indicatorVariantClassMap).flatMap(splitClassTokens),\n itemBaseClass: splitClassTokens(itemBaseClass),\n itemVariantClassMap: Object.values(itemVariantClassMap).flatMap(splitClassTokens),\n itemSelectedClass: splitClassTokens(itemSelectedClass),\n itemDisabledClass: splitClassTokens(itemDisabledClass),\n itemEnabledClass: splitClassTokens(itemEnabledClass),\n itemLabelClass: splitClassTokens(itemLabelClass),\n itemIconClass: splitClassTokens(itemIconClass),\n itemSpinnerClass: splitClassTokens(itemSpinnerClass),\n iconOnlyClass: splitClassTokens(iconOnlyClass),\n} as const\n\nexport const grSegmentedSafelist = [...new Set([\n ...grSegmentedClassTokens.rootBaseClass,\n ...grSegmentedClassTokens.rootOrientationClassMap,\n ...grSegmentedClassTokens.rootVariantClassMap,\n ...grSegmentedClassTokens.rootBlockClass,\n ...grSegmentedClassTokens.rootDisabledClass,\n ...grSegmentedClassTokens.indicatorBaseClass,\n ...grSegmentedClassTokens.indicatorVariantClassMap,\n ...grSegmentedClassTokens.itemBaseClass,\n ...grSegmentedClassTokens.itemVariantClassMap,\n ...grSegmentedClassTokens.itemSelectedClass,\n ...grSegmentedClassTokens.itemDisabledClass,\n ...grSegmentedClassTokens.itemEnabledClass,\n ...grSegmentedClassTokens.itemLabelClass,\n ...grSegmentedClassTokens.itemIconClass,\n ...grSegmentedClassTokens.itemSpinnerClass,\n ...grSegmentedClassTokens.iconOnlyClass,\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSegmentedSafelist } from './safelist'\n\nexport const grSegmentedConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSegmented',\n safelist: grSegmentedSafelist,\n tokenDefinitions: {\n light: {\n selector: ':root',\n tokens: {'gr-segmented-indicator-highlight-shadow': '0 0 0 0 transparent'}\n },\n dark: {\n selector: '.dark',\n tokens: {'gr-segmented-indicator-highlight-shadow': '0 0 0 1px rgba(248, 250, 252, 0.08)'}\n },\n }\n})"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BKvX0q10.js","names":[],"sources":["../../src/components/GrDropdownMenu/grDropdownMenuStyles.ts","../../src/components/GrDropdownMenu/safelist.ts","../../src/components/GrDropdownMenu/config.ts"],"sourcesContent":["export type GrDropdownMenuItemAlign = 'left' | 'center' | 'right'\nexport type GrDropdownMenuItemVariant = 'default' | 'danger'\nexport type GrDropdownMenuHeaderAlign = GrDropdownMenuItemAlign\nexport type GrDropdownMenuColumnAlign = GrDropdownMenuItemAlign\nexport type GrDropdownMenuColumnsCount = 2 | 3 | 4\n\nexport const alignClass: Record<GrDropdownMenuItemAlign, string> = {\n left: 'justify-start text-left',\n center: 'justify-center text-center',\n right: 'justify-end text-right',\n}\n\nexport const textAlignClass: Record<GrDropdownMenuHeaderAlign, string> = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n}\n\nexport const colsClass: Record<GrDropdownMenuColumnsCount, string> = {\n 2: 'grid-cols-2',\n 3: 'grid-cols-3',\n 4: 'grid-cols-4',\n}\n\nexport const itemBaseClass = 'w-full min-h-10 px-4 py-2.5 flex items-center gap-2 text-[length:var(--gr-text-sm)] transition-colors duration-[var(--gr-duration-fast)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\n// Насыщенный тон как цвет текста запрещён — для текста есть `-text`-роль.\nexport const itemVariantClass: Record<GrDropdownMenuItemVariant, string> = {\n default: 'text-[var(--gr-fg)]',\n danger: 'text-[var(--gr-danger-text)]',\n}\n\nexport const itemInteractiveClass = 'cursor-pointer hover:bg-[var(--gr-accent)] hover:text-[var(--gr-accent-fg)]'\n\n// Disabled гасится фоном, а не `opacity`: прозрачность разбавляет выверенные на\n// AA токены текста. `pointer-events-none` оставлен — он же гасит hover.\nexport const itemDisabledClass = 'cursor-not-allowed pointer-events-none bg-[var(--gr-muted)] text-[var(--gr-muted-fg)]'\n\nexport const itemIndicatorClass = 'h-3.5 w-3.5 shrink-0'\nexport const itemShortcutClass = 'ml-auto pl-4 text-[length:var(--gr-text-xs)] text-[var(--gr-muted-fg)]'\n\nexport const headerClass = 'px-4 py-2 text-[length:var(--gr-text-xs)] tracking-wide text-[var(--gr-muted-fg)]'\n\nexport const listBaseClass = 'w-full'\nexport const dividersClass = 'divide-y divide-[var(--gr-brd)]'\nexport const borderTopClass = 'border-t border-[var(--gr-brd)]'\nexport const borderBottomClass = 'border-b border-[var(--gr-brd)]'\n\nexport const columnsBaseClass = 'w-full grid divide-x divide-[var(--gr-brd)]'\nexport const columnBaseClass = 'px-3 py-2 flex items-center'\n\nexport const dividerClass = 'border-t border-[var(--gr-brd)]'\nexport const dividerInsetClass = 'mx-2'\n\nexport function grDropdownMenuItemClass(options: {\n align: GrDropdownMenuItemAlign\n variant: GrDropdownMenuItemVariant\n disabled: boolean\n}): string {\n return [\n itemBaseClass,\n alignClass[options.align],\n options.disabled ? itemDisabledClass : itemVariantClass[options.variant],\n options.disabled ? '' : itemInteractiveClass,\n ].filter(Boolean).join(' ')\n}\n\nexport function grDropdownMenuListClass(options: {\n dividers: boolean\n borderTop: boolean\n borderBottom: boolean\n}): string {\n return [\n listBaseClass,\n options.dividers ? dividersClass : '',\n options.borderTop ? borderTopClass : '',\n options.borderBottom ? borderBottomClass : '',\n ].filter(Boolean).join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\n\nimport {\n alignClass,\n borderBottomClass,\n borderTopClass,\n colsClass,\n columnBaseClass,\n columnsBaseClass,\n dividerClass,\n dividerInsetClass,\n dividersClass,\n headerClass,\n itemBaseClass,\n itemDisabledClass,\n itemIndicatorClass,\n itemInteractiveClass,\n itemShortcutClass,\n itemVariantClass,\n listBaseClass,\n textAlignClass,\n} from './grDropdownMenuStyles'\n\n/**\n * Классы каталога живут в `.ts`-хелпере, а его бандлер волен вынести в общий\n * `dist/chunks/` — вне области скана компонента. Симптом промаха тут особенно\n * незаметный: размеры пунктов на месте, а выравнивание, колонки и цвета\n * пропали. Гейт — `src/__tests__/safelist.test.ts`.\n */\nexport const grDropdownMenuSafelist = [...new Set([\n ...Object.values(alignClass).flatMap(splitClassTokens),\n ...Object.values(textAlignClass).flatMap(splitClassTokens),\n ...Object.values(colsClass).flatMap(splitClassTokens),\n ...Object.values(itemVariantClass).flatMap(splitClassTokens),\n ...splitClassTokens(itemBaseClass),\n ...splitClassTokens(itemInteractiveClass),\n ...splitClassTokens(itemDisabledClass),\n ...splitClassTokens(itemIndicatorClass),\n ...splitClassTokens(itemShortcutClass),\n ...splitClassTokens(headerClass),\n ...splitClassTokens(listBaseClass),\n ...splitClassTokens(dividersClass),\n ...splitClassTokens(borderTopClass),\n ...splitClassTokens(borderBottomClass),\n ...splitClassTokens(columnsBaseClass),\n ...splitClassTokens(columnBaseClass),\n ...splitClassTokens(dividerClass),\n ...splitClassTokens(dividerInsetClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grDropdownMenuSafelist } from './safelist'\n\nexport const grDropdownMenuConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDropdownMenu',\n dependencies: ['GrDropdown'],\n safelist: grDropdownMenuSafelist,\n})\n"],"mappings":";;;AAMA,IAAa,aAAsD;CACjE,MAAM;CACN,QAAQ;CACR,OAAO;AACT;AAEA,IAAa,iBAA4D;CACvE,MAAM;CACN,QAAQ;CACR,OAAO;AACT;AAEA,IAAa,YAAwD;CACnE,GAAG;CACH,GAAG;CACH,GAAG;AACL;AAEA,IAAa,gBAAgB;AAG7B,IAAa,mBAA8D;CACzE,SAAS;CACT,QAAQ;AACV;AAEA,IAAa,uBAAuB;AAIpC,IAAa,oBAAoB;AAEjC,IAAa,qBAAqB;AAClC,IAAa,oBAAoB;AAEjC,IAAa,cAAc;AAE3B,IAAa,gBAAgB;AAC7B,IAAa,gBAAgB;AAC7B,IAAa,iBAAiB;AAC9B,IAAa,oBAAoB;AAEjC,IAAa,mBAAmB;AAChC,IAAa,kBAAkB;AAE/B,IAAa,eAAe;AAC5B,IAAa,oBAAoB;AAEjC,SAAgB,wBAAwB,SAI7B;CACT,OAAO;EACL;EACA,WAAW,QAAQ;EACnB,QAAQ,WAAW,oBAAoB,iBAAiB,QAAQ;EAChE,QAAQ,WAAW,KAAK;CAC1B,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B;AAEA,SAAgB,wBAAwB,SAI7B;CACT,OAAO;EACL;EACA,QAAQ,WAAW,gBAAgB;EACnC,QAAQ,YAAY,iBAAiB;EACrC,QAAQ,eAAe,oBAAoB;CAC7C,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B;;;;;;;;;ACjDA,IAAa,yBAAyB,CAAC,mBAAG,IAAI,IAAI;CAC9C,GAAG,OAAO,OAAO,UAAU,CAAC,CAAC,QAAQ,gBAAgB;CACrD,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC,QAAQ,gBAAgB;CACzD,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,gBAAgB;CACpD,GAAG,OAAO,OAAO,gBAAgB,CAAC,CAAC,QAAQ,gBAAgB;CAC3D,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,WAAW;CAC/B,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,iBAAiB;AACzC,CAAC,CAAC;;;AC5CF,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CAC3E,MAAM;CACN,cAAc,CAAC,YAAY;CAC3B,UAAU;AACZ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
+ import { t as grButtonSafelist } from "./safelist-CudBLyAD.js";
3
+ import { C as grRadioRootDisabledClass, T as grRadioRootReadonlyClass, _ as grRadioEnabledClass, b as grRadioLabelColorClass, c as grRadioControlSizes, d as grRadioDotBaseClass, f as grRadioDotCheckedClass, g as grRadioDotUncheckedClass, h as grRadioDotSizes, i as grRadioControlCheckedClass, l as grRadioControlUncheckedClass, m as grRadioDotDisabledClass, n as grRadioButtonDisabledCheckedClass, o as grRadioControlDisabledClass, r as grRadioButtonDisabledClass, s as grRadioControlInvalidClass, u as grRadioDescriptionSizes, v as grRadioLabelCheckedColorClass, w as grRadioRootEnabledClass, x as grRadioLabelSizes } from "./grRadioStyles-BTjGNhtU.js";
4
+ import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
5
+ //#region src/components/GrRadio/safelist.ts
6
+ var grRadioSafelist = [.../* @__PURE__ */ new Set([
7
+ ...grButtonSafelist,
8
+ ...splitClassTokens(grRadioEnabledClass),
9
+ ...splitClassTokens(grRadioButtonDisabledClass),
10
+ ...splitClassTokens(grRadioButtonDisabledCheckedClass),
11
+ ...splitClassTokens(grRadioRootDisabledClass),
12
+ ...splitClassTokens(grRadioRootEnabledClass),
13
+ ...splitClassTokens(grRadioRootReadonlyClass),
14
+ ...splitClassTokens(grRadioControlCheckedClass),
15
+ ...splitClassTokens(grRadioControlUncheckedClass),
16
+ ...splitClassTokens(grRadioControlDisabledClass),
17
+ ...splitClassTokens(grRadioControlInvalidClass),
18
+ ...splitClassTokens(grRadioDotCheckedClass),
19
+ ...splitClassTokens(grRadioDotUncheckedClass),
20
+ ...splitClassTokens(grRadioDotDisabledClass),
21
+ ...splitClassTokens(grRadioDotBaseClass),
22
+ ...Object.values(grRadioControlSizes).flatMap(splitClassTokens),
23
+ ...Object.values(grRadioDotSizes).flatMap(splitClassTokens),
24
+ ...Object.values(grRadioLabelSizes).flatMap(splitClassTokens),
25
+ ...Object.values(grRadioDescriptionSizes).flatMap(splitClassTokens),
26
+ ...splitClassTokens(grRadioLabelColorClass),
27
+ ...splitClassTokens(grRadioLabelCheckedColorClass)
28
+ ])];
29
+ //#endregion
30
+ //#region src/components/GrRadio/config.ts
31
+ var grRadioConfig = defineGranularComponent(import.meta.url, {
32
+ name: "GrRadio",
33
+ dependencies: ["GrButton"],
34
+ safelist: grRadioSafelist
35
+ });
36
+ //#endregion
37
+ export { grRadioSafelist as n, grRadioConfig as t };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-BTCOJO5z.js","names":[],"sources":["../../src/components/GrRadio/safelist.ts","../../src/components/GrRadio/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport { grButtonSafelist } from '../GrButton/safelist'\nimport {\n grRadioButtonDisabledCheckedClass,\n grRadioButtonDisabledClass,\n grRadioControlCheckedClass,\n grRadioControlDisabledClass,\n grRadioControlInvalidClass,\n grRadioControlUncheckedClass,\n grRadioControlSizes,\n grRadioDescriptionSizes,\n grRadioDotBaseClass,\n grRadioDotSizes,\n grRadioDotCheckedClass,\n grRadioDotDisabledClass,\n grRadioDotUncheckedClass,\n grRadioEnabledClass,\n grRadioLabelCheckedColorClass,\n grRadioLabelColorClass,\n grRadioLabelSizes,\n grRadioRootDisabledClass,\n grRadioRootReadonlyClass,\n grRadioRootEnabledClass,\n} from './grRadioStyles'\n\nexport const grRadioSafelist = [...new Set([\n ...grButtonSafelist,\n ...splitClassTokens(grRadioEnabledClass),\n ...splitClassTokens(grRadioButtonDisabledClass),\n ...splitClassTokens(grRadioButtonDisabledCheckedClass),\n ...splitClassTokens(grRadioRootDisabledClass),\n ...splitClassTokens(grRadioRootEnabledClass),\n ...splitClassTokens(grRadioRootReadonlyClass),\n ...splitClassTokens(grRadioControlCheckedClass),\n ...splitClassTokens(grRadioControlUncheckedClass),\n ...splitClassTokens(grRadioControlDisabledClass),\n ...splitClassTokens(grRadioControlInvalidClass),\n ...splitClassTokens(grRadioDotCheckedClass),\n ...splitClassTokens(grRadioDotUncheckedClass),\n ...splitClassTokens(grRadioDotDisabledClass),\n ...splitClassTokens(grRadioDotBaseClass),\n ...Object.values(grRadioControlSizes).flatMap(splitClassTokens),\n ...Object.values(grRadioDotSizes).flatMap(splitClassTokens),\n ...Object.values(grRadioLabelSizes).flatMap(splitClassTokens),\n ...Object.values(grRadioDescriptionSizes).flatMap(splitClassTokens),\n ...splitClassTokens(grRadioLabelColorClass),\n ...splitClassTokens(grRadioLabelCheckedColorClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grRadioSafelist } from './safelist'\n\nexport const grRadioConfig = defineGranularComponent(import.meta.url, {\n name: 'GrRadio',\n dependencies: ['GrButton'],\n safelist: grRadioSafelist,\n})"],"mappings":";;;;;AAyBA,IAAa,kBAAkB,CAAC,mBAAG,IAAI,IAAI;CACzC,GAAG;CACH,GAAG,iBAAiB,mBAAmB;CACvC,GAAG,iBAAiB,0BAA0B;CAC9C,GAAG,iBAAiB,iCAAiC;CACrD,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,0BAA0B;CAC9C,GAAG,iBAAiB,4BAA4B;CAChD,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,0BAA0B;CAC9C,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,mBAAmB;CACvC,GAAG,OAAO,OAAO,mBAAmB,CAAC,CAAC,QAAQ,gBAAgB;CAC9D,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,uBAAuB,CAAC,CAAC,QAAQ,gBAAgB;CAClE,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,6BAA6B;AACnD,CAAC,CAAC;;;AC3CF,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK;CACpE,MAAM;CACN,cAAc,CAAC,UAAU;CACzB,UAAU;AACZ,CAAC"}
@@ -1,10 +1,6 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrSidebar/grSidebarStyles.ts
4
- /** Сторона экрана, к которой прижата панель. */
5
- var GR_SIDEBAR_POSITIONS = ["left", "right"];
6
- /** Лендмарк корня: навигация или дополняющий блок (фильтры, справка). */
7
- var GR_SIDEBAR_LANDMARKS = ["complementary", "navigation"];
8
4
  var rootBase = "flex flex-col bg-[var(--gr-sidebar)] text-[var(--gr-sidebar-fg)] transition-[width] duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]";
9
5
  /** Граница отделяет панель от контента, поэтому уезжает на внутреннюю сторону. */
10
6
  var rootPositions = {
@@ -84,4 +80,4 @@ var grSidebarConfig = defineGranularComponent(import.meta.url, {
84
80
  safelist: grSidebarSafelist
85
81
  });
86
82
  //#endregion
87
- export { contentBase as a, grSidebarRootClass as c, headerBase as d, itemBadgeClass as f, titleClass as h, GR_SIDEBAR_POSITIONS as i, groupCollapsedClass as l, subtitleClass as m, grSidebarSafelist as n, grSidebarCollapseDirection as o, itemLetterClass as p, GR_SIDEBAR_LANDMARKS as r, grSidebarItemClass as s, grSidebarConfig as t, groupLabelClass as u };
83
+ export { grSidebarItemClass as a, groupLabelClass as c, itemLetterClass as d, subtitleClass as f, grSidebarCollapseDirection as i, headerBase as l, grSidebarSafelist as n, grSidebarRootClass as o, titleClass as p, contentBase as r, groupCollapsedClass as s, grSidebarConfig as t, itemBadgeClass as u };
@@ -1 +1 @@
1
- {"version":3,"file":"config-Rw9OyW702.js","names":[],"sources":["../../src/components/GrSidebar/grSidebarStyles.ts","../../src/components/GrSidebar/safelist.ts","../../src/components/GrSidebar/config.ts"],"sourcesContent":["/** Сторона экрана, к которой прижата панель. */\nexport const GR_SIDEBAR_POSITIONS = ['left', 'right'] as const\nexport type GrSidebarPosition = typeof GR_SIDEBAR_POSITIONS[number]\n\n/** Лендмарк корня: навигация или дополняющий блок (фильтры, справка). */\nexport const GR_SIDEBAR_LANDMARKS = ['complementary', 'navigation'] as const\nexport type GrSidebarLandmark = typeof GR_SIDEBAR_LANDMARKS[number]\n\nexport const rootBase = 'flex flex-col bg-[var(--gr-sidebar)] text-[var(--gr-sidebar-fg)] transition-[width] duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]'\n\n/** Граница отделяет панель от контента, поэтому уезжает на внутреннюю сторону. */\nexport const rootPositions: Record<GrSidebarPosition, string> = {\n left: 'border-r border-[var(--gr-sidebar-brd)]',\n right: 'border-l border-[var(--gr-sidebar-brd)]',\n}\n\nexport const headerBase = 'flex items-center gap-2 border-b border-[var(--gr-sidebar-brd)] px-3 py-4'\n\nexport const titleClass = 'truncate text-[length:var(--gr-text-lg)] font-700'\nexport const subtitleClass = 'truncate text-[length:var(--gr-text-sm)] text-[var(--gr-muted-fg)]'\n\n/**\n * Скроллящийся блок обязан быть достижим с клавиатуры, поэтому он остановка\n * `Tab` с видимым кольцом: без него панель с текстовым содержимым не\n * проскроллить вовсе.\n */\nexport const contentBase = 'flex-1 overflow-y-auto focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--gr-ring)]'\n\nexport const itemBase = 'relative flex w-full items-center rounded-[var(--gr-radius-md)] text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)] transition-colors duration-[var(--gr-duration-fast)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\nexport const itemCollapsedClass = 'justify-center px-0 py-2'\nexport const itemExpandedClass = 'gap-3 px-3 py-2'\n\n/**\n * Недоступный пункт гасится токеном, а не `opacity`: прозрачность разбавляет\n * выверенные на AA токены текста.\n */\nexport const itemDisabledClass = 'cursor-not-allowed text-[var(--gr-disabled-fg)]'\nexport const itemActiveClass = 'bg-[var(--gr-muted)] font-600 text-[var(--gr-fg)]'\nexport const itemIdleClass = 'text-[var(--gr-sidebar-fg)] hover:bg-[color-mix(in_srgb,var(--gr-sidebar-fg)_8%,transparent)]'\n\nexport const itemLetterClass = 'text-[length:var(--gr-text-xs)] font-700 leading-none'\nexport const itemBadgeClass = 'shrink-0 rounded-[var(--gr-radius-full)] bg-[color-mix(in_srgb,var(--gr-sidebar-fg)_12%,transparent)] px-1.5 py-0.5 text-[length:var(--gr-text-2xs)] font-600'\n\nexport const groupLabelClass = 'px-3 pb-1 pt-3 text-[length:var(--gr-text-2xs)] font-700 [text-transform:uppercase] tracking-wide text-[var(--gr-muted-fg)]'\n\n/**\n * В свёрнутой панели заголовка секции нет — иначе он не помещается. Границы\n * между группами берёт на себя линия: без неё иконки соседних секций сливаются\n * в один столбец.\n */\nexport const groupCollapsedClass = 'mt-2 border-t border-[var(--gr-sidebar-brd)] pt-2'\n\nexport function grSidebarRootClass(position: GrSidebarPosition): string {\n return [rootBase, rootPositions[position]].join(' ')\n}\n\n/**\n * Куда указывает шеврон кнопки тогла: всегда в ту сторону, куда уедет панель.\n * У правой панели «свернуть» — это стрелка вправо.\n */\nexport function grSidebarCollapseDirection(\n position: GrSidebarPosition,\n collapsed: boolean,\n): GrSidebarPosition {\n const toRight = (position === 'right') !== collapsed\n return toRight ? 'right' : 'left'\n}\n\nexport function grSidebarItemClass(options: {\n collapsed: boolean\n disabled: boolean\n active: boolean\n}): string {\n return [\n itemBase,\n options.collapsed ? itemCollapsedClass : itemExpandedClass,\n options.disabled ? itemDisabledClass : options.active ? itemActiveClass : itemIdleClass,\n ].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n contentBase,\n groupCollapsedClass,\n groupLabelClass,\n headerBase,\n itemActiveClass,\n itemBadgeClass,\n itemBase,\n itemCollapsedClass,\n itemDisabledClass,\n itemExpandedClass,\n itemIdleClass,\n itemLetterClass,\n rootBase,\n rootPositions,\n subtitleClass,\n titleClass,\n} from './grSidebarStyles'\n\nexport const grSidebarSafelist = [...new Set([\n ...splitClassTokens(rootBase),\n ...Object.values(rootPositions).flatMap(splitClassTokens),\n ...splitClassTokens(headerBase),\n ...splitClassTokens(titleClass),\n ...splitClassTokens(subtitleClass),\n ...splitClassTokens(contentBase),\n ...splitClassTokens(itemBase),\n ...splitClassTokens(itemCollapsedClass),\n ...splitClassTokens(itemExpandedClass),\n ...splitClassTokens(itemDisabledClass),\n ...splitClassTokens(itemActiveClass),\n ...splitClassTokens(itemIdleClass),\n ...splitClassTokens(itemLetterClass),\n ...splitClassTokens(itemBadgeClass),\n ...splitClassTokens(groupLabelClass),\n ...splitClassTokens(groupCollapsedClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSidebarSafelist } from './safelist'\n\nexport const grSidebarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSidebar',\n dependencies: ['GrButton', 'GrIcon'],\n safelist: grSidebarSafelist,\n})\n"],"mappings":";;;;AACA,IAAa,uBAAuB,CAAC,QAAQ,OAAO;;AAIpD,IAAa,uBAAuB,CAAC,iBAAiB,YAAY;AAGlE,IAAa,WAAW;;AAGxB,IAAa,gBAAmD;CAC9D,MAAM;CACN,OAAO;AACT;AAEA,IAAa,aAAa;AAE1B,IAAa,aAAa;AAC1B,IAAa,gBAAgB;;;;;;AAO7B,IAAa,cAAc;AAE3B,IAAa,WAAW;AAExB,IAAa,qBAAqB;AAClC,IAAa,oBAAoB;;;;;AAMjC,IAAa,oBAAoB;AACjC,IAAa,kBAAkB;AAC/B,IAAa,gBAAgB;AAE7B,IAAa,kBAAkB;AAC/B,IAAa,iBAAiB;AAE9B,IAAa,kBAAkB;;;;;;AAO/B,IAAa,sBAAsB;AAEnC,SAAgB,mBAAmB,UAAqC;CACtE,OAAO,CAAC,UAAU,cAAc,SAAS,CAAC,CAAC,KAAK,GAAG;AACrD;;;;;AAMA,SAAgB,2BACd,UACA,WACmB;CAEnB,OADiB,aAAa,YAAa,YAC1B,UAAU;AAC7B;AAEA,SAAgB,mBAAmB,SAIxB;CACT,OAAO;EACL;EACA,QAAQ,YAAY,qBAAqB;EACzC,QAAQ,WAAW,oBAAoB,QAAQ,SAAS,kBAAkB;CAC5E,CAAC,CAAC,KAAK,GAAG;AACZ;;;AC3DA,IAAa,oBAAoB,CAAC,mBAAG,IAAI,IAAI;CAC3C,GAAG,iBAAiB,QAAQ;CAC5B,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,WAAW;CAC/B,GAAG,iBAAiB,QAAQ;CAC5B,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,mBAAmB;AACzC,CAAC,CAAC;;;ACjCF,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,cAAc,CAAC,YAAY,QAAQ;CACnC,UAAU;AACZ,CAAC"}
1
+ {"version":3,"file":"config-BfsBepkH2.js","names":[],"sources":["../../src/components/GrSidebar/grSidebarStyles.ts","../../src/components/GrSidebar/safelist.ts","../../src/components/GrSidebar/config.ts"],"sourcesContent":["/** Сторона экрана, к которой прижата панель. */\nexport const GR_SIDEBAR_POSITIONS = ['left', 'right'] as const\nexport type GrSidebarPosition = typeof GR_SIDEBAR_POSITIONS[number]\n\n/** Лендмарк корня: навигация или дополняющий блок (фильтры, справка). */\nexport const GR_SIDEBAR_LANDMARKS = ['complementary', 'navigation'] as const\nexport type GrSidebarLandmark = typeof GR_SIDEBAR_LANDMARKS[number]\n\nexport const rootBase = 'flex flex-col bg-[var(--gr-sidebar)] text-[var(--gr-sidebar-fg)] transition-[width] duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]'\n\n/** Граница отделяет панель от контента, поэтому уезжает на внутреннюю сторону. */\nexport const rootPositions: Record<GrSidebarPosition, string> = {\n left: 'border-r border-[var(--gr-sidebar-brd)]',\n right: 'border-l border-[var(--gr-sidebar-brd)]',\n}\n\nexport const headerBase = 'flex items-center gap-2 border-b border-[var(--gr-sidebar-brd)] px-3 py-4'\n\nexport const titleClass = 'truncate text-[length:var(--gr-text-lg)] font-700'\nexport const subtitleClass = 'truncate text-[length:var(--gr-text-sm)] text-[var(--gr-muted-fg)]'\n\n/**\n * Скроллящийся блок обязан быть достижим с клавиатуры, поэтому он остановка\n * `Tab` с видимым кольцом: без него панель с текстовым содержимым не\n * проскроллить вовсе.\n */\nexport const contentBase = 'flex-1 overflow-y-auto focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--gr-ring)]'\n\nexport const itemBase = 'relative flex w-full items-center rounded-[var(--gr-radius-md)] text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-sm)] transition-colors duration-[var(--gr-duration-fast)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\nexport const itemCollapsedClass = 'justify-center px-0 py-2'\nexport const itemExpandedClass = 'gap-3 px-3 py-2'\n\n/**\n * Недоступный пункт гасится токеном, а не `opacity`: прозрачность разбавляет\n * выверенные на AA токены текста.\n */\nexport const itemDisabledClass = 'cursor-not-allowed text-[var(--gr-disabled-fg)]'\nexport const itemActiveClass = 'bg-[var(--gr-muted)] font-600 text-[var(--gr-fg)]'\nexport const itemIdleClass = 'text-[var(--gr-sidebar-fg)] hover:bg-[color-mix(in_srgb,var(--gr-sidebar-fg)_8%,transparent)]'\n\nexport const itemLetterClass = 'text-[length:var(--gr-text-xs)] font-700 leading-none'\nexport const itemBadgeClass = 'shrink-0 rounded-[var(--gr-radius-full)] bg-[color-mix(in_srgb,var(--gr-sidebar-fg)_12%,transparent)] px-1.5 py-0.5 text-[length:var(--gr-text-2xs)] font-600'\n\nexport const groupLabelClass = 'px-3 pb-1 pt-3 text-[length:var(--gr-text-2xs)] font-700 [text-transform:uppercase] tracking-wide text-[var(--gr-muted-fg)]'\n\n/**\n * В свёрнутой панели заголовка секции нет — иначе он не помещается. Границы\n * между группами берёт на себя линия: без неё иконки соседних секций сливаются\n * в один столбец.\n */\nexport const groupCollapsedClass = 'mt-2 border-t border-[var(--gr-sidebar-brd)] pt-2'\n\nexport function grSidebarRootClass(position: GrSidebarPosition): string {\n return [rootBase, rootPositions[position]].join(' ')\n}\n\n/**\n * Куда указывает шеврон кнопки тогла: всегда в ту сторону, куда уедет панель.\n * У правой панели «свернуть» — это стрелка вправо.\n */\nexport function grSidebarCollapseDirection(\n position: GrSidebarPosition,\n collapsed: boolean,\n): GrSidebarPosition {\n const toRight = (position === 'right') !== collapsed\n return toRight ? 'right' : 'left'\n}\n\nexport function grSidebarItemClass(options: {\n collapsed: boolean\n disabled: boolean\n active: boolean\n}): string {\n return [\n itemBase,\n options.collapsed ? itemCollapsedClass : itemExpandedClass,\n options.disabled ? itemDisabledClass : options.active ? itemActiveClass : itemIdleClass,\n ].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n contentBase,\n groupCollapsedClass,\n groupLabelClass,\n headerBase,\n itemActiveClass,\n itemBadgeClass,\n itemBase,\n itemCollapsedClass,\n itemDisabledClass,\n itemExpandedClass,\n itemIdleClass,\n itemLetterClass,\n rootBase,\n rootPositions,\n subtitleClass,\n titleClass,\n} from './grSidebarStyles'\n\nexport const grSidebarSafelist = [...new Set([\n ...splitClassTokens(rootBase),\n ...Object.values(rootPositions).flatMap(splitClassTokens),\n ...splitClassTokens(headerBase),\n ...splitClassTokens(titleClass),\n ...splitClassTokens(subtitleClass),\n ...splitClassTokens(contentBase),\n ...splitClassTokens(itemBase),\n ...splitClassTokens(itemCollapsedClass),\n ...splitClassTokens(itemExpandedClass),\n ...splitClassTokens(itemDisabledClass),\n ...splitClassTokens(itemActiveClass),\n ...splitClassTokens(itemIdleClass),\n ...splitClassTokens(itemLetterClass),\n ...splitClassTokens(itemBadgeClass),\n ...splitClassTokens(groupLabelClass),\n ...splitClassTokens(groupCollapsedClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSidebarSafelist } from './safelist'\n\nexport const grSidebarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSidebar',\n dependencies: ['GrButton', 'GrIcon'],\n safelist: grSidebarSafelist,\n})\n"],"mappings":";;;AAQA,IAAa,WAAW;;AAGxB,IAAa,gBAAmD;CAC9D,MAAM;CACN,OAAO;AACT;AAEA,IAAa,aAAa;AAE1B,IAAa,aAAa;AAC1B,IAAa,gBAAgB;;;;;;AAO7B,IAAa,cAAc;AAE3B,IAAa,WAAW;AAExB,IAAa,qBAAqB;AAClC,IAAa,oBAAoB;;;;;AAMjC,IAAa,oBAAoB;AACjC,IAAa,kBAAkB;AAC/B,IAAa,gBAAgB;AAE7B,IAAa,kBAAkB;AAC/B,IAAa,iBAAiB;AAE9B,IAAa,kBAAkB;;;;;;AAO/B,IAAa,sBAAsB;AAEnC,SAAgB,mBAAmB,UAAqC;CACtE,OAAO,CAAC,UAAU,cAAc,SAAS,CAAC,CAAC,KAAK,GAAG;AACrD;;;;;AAMA,SAAgB,2BACd,UACA,WACmB;CAEnB,OADiB,aAAa,YAAa,YAC1B,UAAU;AAC7B;AAEA,SAAgB,mBAAmB,SAIxB;CACT,OAAO;EACL;EACA,QAAQ,YAAY,qBAAqB;EACzC,QAAQ,WAAW,oBAAoB,QAAQ,SAAS,kBAAkB;CAC5E,CAAC,CAAC,KAAK,GAAG;AACZ;;;AC3DA,IAAa,oBAAoB,CAAC,mBAAG,IAAI,IAAI;CAC3C,GAAG,iBAAiB,QAAQ;CAC5B,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,WAAW;CAC/B,GAAG,iBAAiB,QAAQ;CAC5B,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,mBAAmB;AACzC,CAAC,CAAC;;;ACjCF,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,cAAc,CAAC,YAAY,QAAQ;CACnC,UAAU;AACZ,CAAC"}
@@ -1,13 +1,6 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrAvatar/grAvatarStyles.ts
4
- /** Статус участника. Точка декоративна — смысл несёт скрытая подпись. */
5
- var GR_AVATAR_STATUSES = [
6
- "online",
7
- "offline",
8
- "busy",
9
- "away"
10
- ];
11
4
  var shapes = {
12
5
  circle: "rounded-[var(--gr-radius-full)]",
13
6
  square: "rounded-[var(--gr-avatar-square-radius,10px)]"
@@ -89,4 +82,4 @@ var grAvatarConfig = defineGranularComponent(import.meta.url, {
89
82
  safelist: grAvatarSafelist
90
83
  });
91
84
  //#endregion
92
- export { grAvatarClass as a, groupOverflowClass as c, mediaClipClass as d, rootBaseClass as f, statusToneClass as h, avatarFontSizePx as i, initialsFrom as l, statusDotClass as m, grAvatarSafelist as n, groupBaseClass as o, rootStatusClass as p, GR_AVATAR_STATUSES as r, groupItemClass as s, grAvatarConfig as t, mediaClass as u };
85
+ export { groupBaseClass as a, initialsFrom as c, rootBaseClass as d, rootStatusClass as f, grAvatarClass as i, mediaClass as l, statusToneClass as m, grAvatarSafelist as n, groupItemClass as o, statusDotClass as p, avatarFontSizePx as r, groupOverflowClass as s, grAvatarConfig as t, mediaClipClass as u };
@@ -1 +1 @@
1
- {"version":3,"file":"config-DP7eseR1.js","names":[],"sources":["../../src/components/GrAvatar/grAvatarStyles.ts","../../src/components/GrAvatar/safelist.ts","../../src/components/GrAvatar/config.ts"],"sourcesContent":["export type GrAvatarShape = 'circle' | 'square'\n\n/** Статус участника. Точка декоративна — смысл несёт скрытая подпись. */\nexport const GR_AVATAR_STATUSES = ['online', 'offline', 'busy', 'away'] as const\nexport type GrAvatarStatus = typeof GR_AVATAR_STATUSES[number]\n\nexport const shapes: Record<GrAvatarShape, string> = {\n circle: 'rounded-[var(--gr-radius-full)]',\n square: 'rounded-[var(--gr-avatar-square-radius,10px)]',\n}\n\nexport const rootBaseClass = 'relative inline-flex shrink-0 items-center justify-center overflow-hidden border border-[var(--gr-brd)] bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] font-700'\n\n/** Индикатор статуса: кольцо цветом фона отделяет точку от самого аватара. */\nexport const statusDotClass = 'absolute bottom-0 right-0 block h-1/4 w-1/4 min-h-2 min-w-2 rounded-[var(--gr-radius-full)] ring-2 ring-[var(--gr-bg)]'\n\nexport const statusToneClass: Record<GrAvatarStatus, string> = {\n online: 'bg-[var(--gr-success)]',\n offline: 'bg-[var(--gr-muted-fg)]',\n busy: 'bg-[var(--gr-danger)]',\n away: 'bg-[var(--gr-warning)]',\n}\n\n/**\n * Статус рисуется поверх картинки, поэтому у корня со статусом не может быть\n * `overflow-hidden` — точка обрезалась бы кругом. Скругление вместо этого\n * держит внутренняя обёртка изображения.\n */\nexport const rootStatusClass = 'overflow-visible'\n\n/**\n * Обёртка растянута на весь аватар, поэтому корневой `justify-center`\n * центрирует её саму, а не содержимое: центрирование обязано быть здесь.\n */\nexport const mediaClass = 'flex h-full w-full items-center justify-center'\n\n/**\n * Со статусом корень уходит в `overflow-visible`, чтобы не срезать точку, и\n * резать по форме становится некому — тогда это берёт на себя обёртка.\n */\nexport const mediaClipClass = 'overflow-hidden'\n\n/**\n * Размер бывает произвольным числом пикселей, поэтому кегль считается, а не\n * берётся картой по ступеням. Пол в 10px: у аватара 24px пропорциональные 8px\n * не читаются.\n */\nexport function avatarFontSizePx(sizePx: number): number {\n return Math.max(10, Math.round(sizePx / 3))\n}\n\nexport const groupBaseClass = 'inline-flex items-center'\n\n/** Перекрытие соседей: кольцо цветом фона отделяет аватары друг от друга. */\nexport const groupItemClass = '-ml-2 first:ml-0 ring-2 ring-[var(--gr-bg)]'\n\nexport const groupOverflowClass = 'inline-flex items-center justify-center bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] font-700'\n\nexport function grAvatarClass(shape: GrAvatarShape): string {\n return [shapes[shape]].join(' ')\n}\n\n/**\n * Инициалы из имени: первые буквы двух первых слов. Вынесено чистой функцией —\n * тестируется без монтирования.\n */\nexport function initialsFrom(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean)\n if (words.length === 0) return ''\n\n return words\n .slice(0, 2)\n .map(word => [...word][0]?.toUpperCase() ?? '')\n .join('')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n groupBaseClass,\n groupItemClass,\n groupOverflowClass,\n mediaClass,\n mediaClipClass,\n rootBaseClass,\n rootStatusClass,\n shapes,\n statusDotClass,\n statusToneClass,\n} from './grAvatarStyles'\n\nexport const grAvatarClassTokens = {\n shapes: Object.values(shapes).flatMap(splitClassTokens),\n root: [...splitClassTokens(rootBaseClass), ...splitClassTokens(rootStatusClass)],\n media: [...splitClassTokens(mediaClass), ...splitClassTokens(mediaClipClass)],\n status: [\n ...splitClassTokens(statusDotClass),\n ...Object.values(statusToneClass).flatMap(splitClassTokens),\n ],\n group: [\n ...splitClassTokens(groupBaseClass),\n ...splitClassTokens(groupItemClass),\n ...splitClassTokens(groupOverflowClass),\n ],\n} as const\n\nexport const grAvatarSafelist = [...new Set([\n ...grAvatarClassTokens.shapes,\n ...grAvatarClassTokens.root,\n ...grAvatarClassTokens.media,\n ...grAvatarClassTokens.status,\n ...grAvatarClassTokens.group,\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grAvatarSafelist } from './safelist'\n\nexport const grAvatarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrAvatar',\n dependencies: ['GrSkeleton'],\n safelist: grAvatarSafelist,\n})"],"mappings":";;;;AAGA,IAAa,qBAAqB;CAAC;CAAU;CAAW;CAAQ;AAAM;AAGtE,IAAa,SAAwC;CACjD,QAAQ;CACR,QAAQ;AACZ;AAEA,IAAa,gBAAgB;;AAG7B,IAAa,iBAAiB;AAE9B,IAAa,kBAAkD;CAC3D,QAAQ;CACR,SAAS;CACT,MAAM;CACN,MAAM;AACV;;;;;;AAOA,IAAa,kBAAkB;;;;;AAM/B,IAAa,aAAa;;;;;AAM1B,IAAa,iBAAiB;;;;;;AAO9B,SAAgB,iBAAiB,QAAwB;CACrD,OAAO,KAAK,IAAI,IAAI,KAAK,MAAM,SAAS,CAAC,CAAC;AAC9C;AAEA,IAAa,iBAAiB;;AAG9B,IAAa,iBAAiB;AAE9B,IAAa,qBAAqB;AAElC,SAAgB,cAAc,OAA8B;CACxD,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,KAAK,GAAG;AACnC;;;;;AAMA,SAAgB,aAAa,MAAsB;CAC/C,MAAM,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO;CACrD,IAAI,MAAM,WAAW,GAAG,OAAO;CAE/B,OAAO,MACF,MAAM,GAAG,CAAC,CAAC,CACX,KAAI,SAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,YAAY,KAAK,EAAE,CAAC,CAC9C,KAAK,EAAE;AAChB;;;AC5DA,IAAa,sBAAsB;CACjC,QAAQ,OAAO,OAAO,MAAM,CAAC,CAAC,QAAQ,gBAAgB;CACtD,MAAM,CAAC,GAAG,iBAAiB,aAAa,GAAG,GAAG,iBAAiB,eAAe,CAAC;CAC/E,OAAO,CAAC,GAAG,iBAAiB,UAAU,GAAG,GAAG,iBAAiB,cAAc,CAAC;CAC5E,QAAQ,CACN,GAAG,iBAAiB,cAAc,GAClC,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB,CAC5D;CACA,OAAO;EACL,GAAG,iBAAiB,cAAc;EAClC,GAAG,iBAAiB,cAAc;EAClC,GAAG,iBAAiB,kBAAkB;CACxC;AACF;AAEA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CAC1C,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;AACzB,CAAC,CAAC;;;AC/BF,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,YAAY;CAC3B,UAAU;AACZ,CAAC"}
1
+ {"version":3,"file":"config-Bsh948nP.js","names":[],"sources":["../../src/components/GrAvatar/grAvatarStyles.ts","../../src/components/GrAvatar/safelist.ts","../../src/components/GrAvatar/config.ts"],"sourcesContent":["export type GrAvatarShape = 'circle' | 'square'\n\n/** Статус участника. Точка декоративна — смысл несёт скрытая подпись. */\nexport const GR_AVATAR_STATUSES = ['online', 'offline', 'busy', 'away'] as const\nexport type GrAvatarStatus = typeof GR_AVATAR_STATUSES[number]\n\nexport const shapes: Record<GrAvatarShape, string> = {\n circle: 'rounded-[var(--gr-radius-full)]',\n square: 'rounded-[var(--gr-avatar-square-radius,10px)]',\n}\n\nexport const rootBaseClass = 'relative inline-flex shrink-0 items-center justify-center overflow-hidden border border-[var(--gr-brd)] bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] font-700'\n\n/** Индикатор статуса: кольцо цветом фона отделяет точку от самого аватара. */\nexport const statusDotClass = 'absolute bottom-0 right-0 block h-1/4 w-1/4 min-h-2 min-w-2 rounded-[var(--gr-radius-full)] ring-2 ring-[var(--gr-bg)]'\n\nexport const statusToneClass: Record<GrAvatarStatus, string> = {\n online: 'bg-[var(--gr-success)]',\n offline: 'bg-[var(--gr-muted-fg)]',\n busy: 'bg-[var(--gr-danger)]',\n away: 'bg-[var(--gr-warning)]',\n}\n\n/**\n * Статус рисуется поверх картинки, поэтому у корня со статусом не может быть\n * `overflow-hidden` — точка обрезалась бы кругом. Скругление вместо этого\n * держит внутренняя обёртка изображения.\n */\nexport const rootStatusClass = 'overflow-visible'\n\n/**\n * Обёртка растянута на весь аватар, поэтому корневой `justify-center`\n * центрирует её саму, а не содержимое: центрирование обязано быть здесь.\n */\nexport const mediaClass = 'flex h-full w-full items-center justify-center'\n\n/**\n * Со статусом корень уходит в `overflow-visible`, чтобы не срезать точку, и\n * резать по форме становится некому — тогда это берёт на себя обёртка.\n */\nexport const mediaClipClass = 'overflow-hidden'\n\n/**\n * Размер бывает произвольным числом пикселей, поэтому кегль считается, а не\n * берётся картой по ступеням. Пол в 10px: у аватара 24px пропорциональные 8px\n * не читаются.\n */\nexport function avatarFontSizePx(sizePx: number): number {\n return Math.max(10, Math.round(sizePx / 3))\n}\n\nexport const groupBaseClass = 'inline-flex items-center'\n\n/** Перекрытие соседей: кольцо цветом фона отделяет аватары друг от друга. */\nexport const groupItemClass = '-ml-2 first:ml-0 ring-2 ring-[var(--gr-bg)]'\n\nexport const groupOverflowClass = 'inline-flex items-center justify-center bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] font-700'\n\nexport function grAvatarClass(shape: GrAvatarShape): string {\n return [shapes[shape]].join(' ')\n}\n\n/**\n * Инициалы из имени: первые буквы двух первых слов. Вынесено чистой функцией —\n * тестируется без монтирования.\n */\nexport function initialsFrom(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean)\n if (words.length === 0) return ''\n\n return words\n .slice(0, 2)\n .map(word => [...word][0]?.toUpperCase() ?? '')\n .join('')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n groupBaseClass,\n groupItemClass,\n groupOverflowClass,\n mediaClass,\n mediaClipClass,\n rootBaseClass,\n rootStatusClass,\n shapes,\n statusDotClass,\n statusToneClass,\n} from './grAvatarStyles'\n\nexport const grAvatarClassTokens = {\n shapes: Object.values(shapes).flatMap(splitClassTokens),\n root: [...splitClassTokens(rootBaseClass), ...splitClassTokens(rootStatusClass)],\n media: [...splitClassTokens(mediaClass), ...splitClassTokens(mediaClipClass)],\n status: [\n ...splitClassTokens(statusDotClass),\n ...Object.values(statusToneClass).flatMap(splitClassTokens),\n ],\n group: [\n ...splitClassTokens(groupBaseClass),\n ...splitClassTokens(groupItemClass),\n ...splitClassTokens(groupOverflowClass),\n ],\n} as const\n\nexport const grAvatarSafelist = [...new Set([\n ...grAvatarClassTokens.shapes,\n ...grAvatarClassTokens.root,\n ...grAvatarClassTokens.media,\n ...grAvatarClassTokens.status,\n ...grAvatarClassTokens.group,\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grAvatarSafelist } from './safelist'\n\nexport const grAvatarConfig = defineGranularComponent(import.meta.url, {\n name: 'GrAvatar',\n dependencies: ['GrSkeleton'],\n safelist: grAvatarSafelist,\n})"],"mappings":";;;AAMA,IAAa,SAAwC;CACjD,QAAQ;CACR,QAAQ;AACZ;AAEA,IAAa,gBAAgB;;AAG7B,IAAa,iBAAiB;AAE9B,IAAa,kBAAkD;CAC3D,QAAQ;CACR,SAAS;CACT,MAAM;CACN,MAAM;AACV;;;;;;AAOA,IAAa,kBAAkB;;;;;AAM/B,IAAa,aAAa;;;;;AAM1B,IAAa,iBAAiB;;;;;;AAO9B,SAAgB,iBAAiB,QAAwB;CACrD,OAAO,KAAK,IAAI,IAAI,KAAK,MAAM,SAAS,CAAC,CAAC;AAC9C;AAEA,IAAa,iBAAiB;;AAG9B,IAAa,iBAAiB;AAE9B,IAAa,qBAAqB;AAElC,SAAgB,cAAc,OAA8B;CACxD,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,KAAK,GAAG;AACnC;;;;;AAMA,SAAgB,aAAa,MAAsB;CAC/C,MAAM,QAAQ,KAAK,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO;CACrD,IAAI,MAAM,WAAW,GAAG,OAAO;CAE/B,OAAO,MACF,MAAM,GAAG,CAAC,CAAC,CACX,KAAI,SAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,YAAY,KAAK,EAAE,CAAC,CAC9C,KAAK,EAAE;AAChB;;;AC5DA,IAAa,sBAAsB;CACjC,QAAQ,OAAO,OAAO,MAAM,CAAC,CAAC,QAAQ,gBAAgB;CACtD,MAAM,CAAC,GAAG,iBAAiB,aAAa,GAAG,GAAG,iBAAiB,eAAe,CAAC;CAC/E,OAAO,CAAC,GAAG,iBAAiB,UAAU,GAAG,GAAG,iBAAiB,cAAc,CAAC;CAC5E,QAAQ,CACN,GAAG,iBAAiB,cAAc,GAClC,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB,CAC5D;CACA,OAAO;EACL,GAAG,iBAAiB,cAAc;EAClC,GAAG,iBAAiB,cAAc;EAClC,GAAG,iBAAiB,kBAAkB;CACxC;AACF;AAEA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CAC1C,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;CACvB,GAAG,oBAAoB;AACzB,CAAC,CAAC;;;AC/BF,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,YAAY;CAC3B,UAAU;AACZ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-CDat1wXf.js","names":[],"sources":["../../src/components/GrTree/safelist.ts","../../src/components/GrTree/config.ts"],"sourcesContent":["// Иконки-пропы (`expandIcon`/`collapseIcon`/`dragHandleIcon`) приходят от\n// потребителя: их классы генерирует его сборка, а не наша. Встроенные иконки\n// компилируются в `dist` и CSS не требуют.\n// Литералы шаблона (`py-2`, `px-2`, `ml-6`, ...) не дублируем — UnoCSS находит их сканом.\nexport const grTreeSafelist = [] as const\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grTreeSafelist } from './safelist'\n\nexport const grTreeConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTree',\n safelist: grTreeSafelist,\n})"],"mappings":";;AAIA,IAAa,iBAAiB,CAAC;;;ACA/B,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-COpuWGr_2.js","names":[],"sources":["../../src/components/GrTimeline/grTimelineStyles.ts","../../src/components/GrTimeline/safelist.ts","../../src/components/GrTimeline/config.ts"],"sourcesContent":["import type { GrTone } from '../shared/tones'\n\nexport type GrTimelineTone = GrTone\n\n/** Плотность вертикальных отступов пункта — та же ось, что `density` у `GrListItem`. */\nexport const GR_TIMELINE_DENSITIES = ['regular', 'compact'] as const\nexport type GrTimelineDensity = typeof GR_TIMELINE_DENSITIES[number]\n\n/**\n * `stacked` — одна ось слева; `time` — метка времени отдельной колонкой слева от\n * оси; `alternate` — пункты попеременно по обе стороны центральной оси.\n */\nexport const GR_TIMELINE_LAYOUTS = ['stacked', 'time', 'alternate'] as const\nexport type GrTimelineLayout = typeof GR_TIMELINE_LAYOUTS[number]\n\nexport const GR_TIMELINE_ORIENTATIONS = ['vertical', 'horizontal'] as const\nexport type GrTimelineOrientation = typeof GR_TIMELINE_ORIENTATIONS[number]\n\n/** Заполненная точка — событие случилось; полая — запланировано. */\nexport const GR_TIMELINE_MARKER_VARIANTS = ['filled', 'outlined'] as const\nexport type GrTimelineMarkerVariant = typeof GR_TIMELINE_MARKER_VARIANTS[number]\n\n/**\n * Отступ **под** пунктом, а не `gap` контейнера: отрезок оси растёт до низа\n * пункта, и промежуток, которого пункт не занимает, разорвал бы линию.\n */\nexport const densityPadding: Record<GrTimelineDensity, string> = {\n regular: 'pb-5',\n compact: 'pb-3',\n}\n\n/**\n * Заливка маркера. У тона `neutral` одноимённой роли в палитре нет — его вес\n * это приглушённый текст, поэтому точка красится `--gr-muted-fg`.\n */\nexport const markerFilledToneClass: Record<GrTimelineTone, string> = {\n neutral: 'bg-[var(--gr-muted-fg)]',\n primary: 'bg-[var(--gr-primary)]',\n success: 'bg-[var(--gr-success)]',\n warning: 'bg-[var(--gr-warning)]',\n danger: 'bg-[var(--gr-danger)]',\n info: 'bg-[var(--gr-info)]',\n slate: 'bg-[var(--gr-slate)]',\n azure: 'bg-[var(--gr-azure)]',\n}\n\n/** Полая точка: обводка тоном, середина — фон страницы, чтобы ось не просвечивала. */\nexport const markerOutlinedToneClass: Record<GrTimelineTone, string> = {\n neutral: 'bg-[var(--gr-bg)] border-[var(--gr-muted-fg)]',\n primary: 'bg-[var(--gr-bg)] border-[var(--gr-primary)]',\n success: 'bg-[var(--gr-bg)] border-[var(--gr-success)]',\n warning: 'bg-[var(--gr-bg)] border-[var(--gr-warning)]',\n danger: 'bg-[var(--gr-bg)] border-[var(--gr-danger)]',\n info: 'bg-[var(--gr-bg)] border-[var(--gr-info)]',\n slate: 'bg-[var(--gr-bg)] border-[var(--gr-slate)]',\n azure: 'bg-[var(--gr-bg)] border-[var(--gr-azure)]',\n}\n\nexport const markerBaseClass = 'block shrink-0 rounded-[var(--gr-radius-full)]'\n\nexport const timeClass = 'text-[length:var(--gr-text-xs)] leading-[var(--gr-leading-normal)] text-[var(--gr-muted-fg)] tabular-nums'\n\nexport const titleClass = 'text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-normal)] font-600 text-[var(--gr-fg)]'\n\nexport const descriptionClass = 'mt-0.5 text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-normal)] text-[var(--gr-muted-fg)]'\n\nexport const groupTitleClass = 'text-[length:var(--gr-text-xs)] leading-[var(--gr-leading-normal)] font-600 uppercase tracking-wide text-[var(--gr-muted-fg)]'\n\nexport const emptyClass = 'py-6 text-center text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-normal)] text-[var(--gr-muted-fg)]'\n\nexport const loadingRowClass = 'flex items-center gap-3 pb-5'\n\nexport function grTimelineDensityClass(density: GrTimelineDensity): string {\n return densityPadding[density]\n}\n\nexport function grTimelineMarkerClass(\n tone: GrTimelineTone,\n variant: GrTimelineMarkerVariant,\n): string {\n const toneClass = variant === 'filled'\n ? markerFilledToneClass[tone]\n : markerOutlinedToneClass[tone]\n\n return `${markerBaseClass} ${toneClass}`\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n densityPadding,\n descriptionClass,\n emptyClass,\n groupTitleClass,\n loadingRowClass,\n markerBaseClass,\n markerFilledToneClass,\n markerOutlinedToneClass,\n timeClass,\n titleClass,\n} from './grTimelineStyles'\n\nexport const grTimelineSafelist = [...new Set([\n ...Object.values(densityPadding).flatMap(splitClassTokens),\n ...Object.values(markerFilledToneClass).flatMap(splitClassTokens),\n ...Object.values(markerOutlinedToneClass).flatMap(splitClassTokens),\n ...splitClassTokens(markerBaseClass),\n ...splitClassTokens(timeClass),\n ...splitClassTokens(titleClass),\n ...splitClassTokens(descriptionClass),\n ...splitClassTokens(groupTitleClass),\n ...splitClassTokens(emptyClass),\n ...splitClassTokens(loadingRowClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grTimelineSafelist } from './safelist'\n\nexport const grTimelineConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTimeline',\n safelist: grTimelineSafelist,\n dependencies: ['GrSkeleton'],\n})\n"],"mappings":";;;;;;;AA0BA,IAAa,iBAAoD;CAC/D,SAAS;CACT,SAAS;AACX;;;;;AAMA,IAAa,wBAAwD;CACnE,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;AACT;;AAGA,IAAa,0BAA0D;CACrE,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;AACT;AAEA,IAAa,kBAAkB;AAE/B,IAAa,YAAY;AAEzB,IAAa,aAAa;AAE1B,IAAa,mBAAmB;AAEhC,IAAa,kBAAkB;AAE/B,IAAa,aAAa;AAE1B,IAAa,kBAAkB;AAE/B,SAAgB,uBAAuB,SAAoC;CACzE,OAAO,eAAe;AACxB;AAEA,SAAgB,sBACd,MACA,SACQ;CAKR,OAAO,GAAG,gBAAgB,GAJR,YAAY,WAC1B,sBAAsB,QACtB,wBAAwB;AAG9B;;;ACvEA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI;CAC5C,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC,QAAQ,gBAAgB;CACzD,GAAG,OAAO,OAAO,qBAAqB,CAAC,CAAC,QAAQ,gBAAgB;CAChE,GAAG,OAAO,OAAO,uBAAuB,CAAC,CAAC,QAAQ,gBAAgB;CAClE,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,SAAS;CAC7B,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,eAAe;AACrC,CAAC,CAAC;;;ACrBF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;CACV,cAAc,CAAC,YAAY;AAC7B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-CY0_6cMi.js","names":[],"sources":["../../src/components/GrDivider/grDividerStyles.ts","../../src/components/GrDivider/safelist.ts","../../src/components/GrDivider/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\nexport type GrDividerOrientation = 'horizontal' | 'vertical'\nexport type GrDividerAlign = 'start' | 'center' | 'end'\nexport type GrDividerVariant = 'solid' | 'dashed' | 'dotted'\n/** Отступы вокруг разделителя. `none` — вплотную, как было до появления пропа. */\nexport type GrDividerSpacing = 'none' | GrComponentSize\n\n/**\n * Линия рисуется бордюром, а не фоном: `dashed` и `dotted` фоном не выразить,\n * а два разных механизма на три варианта одного и того же — путь к расхождению.\n * Толщину задаёт `--gr-divider-thickness`, поэтому классы про неё не знают.\n */\nexport const lineVariantClass: Record<GrDividerVariant, string> = {\n solid: 'border-solid',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n}\n\nexport const horizontalLineClass\n = 'border-0 border-t-[length:var(--gr-divider-thickness,1px)] border-[var(--gr-brd)]'\n\nexport const verticalLineClass\n = 'border-0 border-l-[length:var(--gr-divider-thickness,1px)] border-[var(--gr-brd)]'\n\nexport const horizontalSpacingClass: Record<GrDividerSpacing, string> = {\n none: '',\n xs: 'my-1',\n sm: 'my-2',\n md: 'my-3',\n lg: 'my-4',\n}\n\nexport const verticalSpacingClass: Record<GrDividerSpacing, string> = {\n none: '',\n xs: 'mx-1',\n sm: 'mx-2',\n md: 'mx-3',\n lg: 'mx-4',\n}\n\nexport const labelRootClass = 'flex w-full items-center gap-3 text-[length:var(--gr-text-xs)] leading-[var(--gr-leading-xs)] text-[var(--gr-muted-fg)]'\n\n/** Отрезок линии рядом с подписью: тянется по остатку ширины. */\nexport const labelLineClass = 'flex-1'\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n horizontalLineClass,\n horizontalSpacingClass,\n labelLineClass,\n labelRootClass,\n lineVariantClass,\n verticalLineClass,\n verticalSpacingClass,\n} from './grDividerStyles'\n\n// Литералы живут в `.ts`-хелпере, а он на сборке уезжает в общий чанк — скан\n// шаблонов их не увидит. Отсюда и safelist: без него `dashed`-разделитель\n// оказался бы разделителем без линии.\nexport const grDividerSafelist = [...new Set([\n ...splitClassTokens(horizontalLineClass),\n ...splitClassTokens(verticalLineClass),\n ...splitClassTokens(labelRootClass),\n ...splitClassTokens(labelLineClass),\n ...Object.values(lineVariantClass).flatMap(splitClassTokens),\n ...Object.values(horizontalSpacingClass).flatMap(splitClassTokens),\n ...Object.values(verticalSpacingClass).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grDividerSafelist } from './safelist'\n\nexport const grDividerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDivider',\n safelist: grDividerSafelist,\n})\n"],"mappings":";;;;;;;;AAaA,IAAa,mBAAqD;CAChE,OAAO;CACP,QAAQ;CACR,QAAQ;AACV;AAEA,IAAa,sBACT;AAEJ,IAAa,oBACT;AAEJ,IAAa,yBAA2D;CACtE,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,uBAAyD;CACpE,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,iBAAiB;;AAG9B,IAAa,iBAAiB;;;AC9B9B,IAAa,oBAAoB,CAAC,mBAAG,IAAI,IAAI;CAC3C,GAAG,iBAAiB,mBAAmB;CACvC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,cAAc;CAClC,GAAG,OAAO,OAAO,gBAAgB,CAAC,CAAC,QAAQ,gBAAgB;CAC3D,GAAG,OAAO,OAAO,sBAAsB,CAAC,CAAC,QAAQ,gBAAgB;CACjE,GAAG,OAAO,OAAO,oBAAoB,CAAC,CAAC,QAAQ,gBAAgB;AACjE,CAAC,CAAC;;;AClBF,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-D94Z9po5.js","names":[],"sources":["../../src/components/GrDrawer/grDrawerStyles.ts","../../src/components/GrDrawer/safelist.ts","../../src/components/GrDrawer/config.ts"],"sourcesContent":["import type { GrOverlaySize } from '../shared/sizes'\n\nexport type GrDrawerSide = 'left' | 'right' | 'top' | 'bottom'\nexport type GrDrawerSize = GrOverlaySize\n\n/** Ось, по которой панель выезжает и по которой считается её размер. */\nexport type GrDrawerAxis = 'horizontal' | 'vertical'\n\nexport function grDrawerAxis(side: GrDrawerSide): GrDrawerAxis {\n return side === 'left' || side === 'right' ? 'horizontal' : 'vertical'\n}\n\n/**\n * Настройка паддингов и рамки секции. Структурно совпадает с\n * `GrDialogSectionConfig` намеренно: потребитель не должен переучиваться при\n * переходе между двумя оверлеями библиотеки. Свой тип, а не импорт из\n * `GrDialog`, — чтобы не тянуть чужой чанк ради двух полей.\n */\nexport interface GrDrawerSectionConfig {\n paddingX?: string\n paddingY?: string\n bordered?: boolean\n}\n\nexport const DEFAULT_GR_DRAWER_HEADER_CONFIG: Required<GrDrawerSectionConfig> = {\n paddingX: 'px-5',\n paddingY: 'py-4',\n bordered: true,\n}\n\nexport const DEFAULT_GR_DRAWER_BODY_CONFIG: Required<GrDrawerSectionConfig> = {\n paddingX: 'px-5',\n paddingY: 'py-5',\n bordered: false,\n}\n\nexport const DEFAULT_GR_DRAWER_FOOTER_CONFIG: Required<GrDrawerSectionConfig> = {\n paddingX: 'px-5',\n paddingY: 'py-4',\n bordered: true,\n}\n\nexport function resolveGrDrawerSectionConfig(\n config: GrDrawerSectionConfig | undefined,\n defaults: Required<GrDrawerSectionConfig>,\n): Required<GrDrawerSectionConfig> {\n return {\n paddingX: config?.paddingX ?? defaults.paddingX,\n paddingY: config?.paddingY ?? defaults.paddingY,\n bordered: config?.bordered ?? defaults.bordered,\n }\n}\n\n/** Слой модального класса — тот же, что у `GrModal`: бэкдроп, фокус, scroll-lock. */\nexport const rootClass = 'fixed inset-0 z-[var(--gr-z-modal)]'\n\n/**\n * Немодальная панель обязана пропускать клики мимо себя: корень растянут на весь\n * экран ради позиционирования, и без этого «немодальный» режим гасил бы всю\n * страницу — ровно то, чего он должен избегать. Панель кликабельность себе\n * возвращает.\n */\nexport const rootPassThroughClass = 'pointer-events-none'\nexport const panelInteractiveClass = 'pointer-events-auto'\n\nexport const overlayClass = 'fixed inset-0 bg-[var(--gr-overlay-bg)]'\n\n/** Ширина панели для боковых сторон. */\nexport const panelWidthBySize: Record<GrDrawerSize, string> = {\n sm: 'w-[360px] max-w-[90vw]',\n md: 'w-[420px] max-w-[92vw]',\n lg: 'w-[560px] max-w-[94vw]',\n xl: 'w-[720px] max-w-[96vw]',\n full: 'w-[100vw]',\n}\n\n/** Высота панели для верхней и нижней сторон — та же шкала, но по своей оси. */\nexport const panelHeightBySize: Record<GrDrawerSize, string> = {\n sm: 'h-[280px] max-h-[90vh]',\n md: 'h-[360px] max-h-[92vh]',\n lg: 'h-[480px] max-h-[94vh]',\n xl: 'h-[640px] max-h-[96vh]',\n full: 'h-[100vh]',\n}\n\nexport const panelSizeByAxis: Record<GrDrawerAxis, Record<GrDrawerSize, string>> = {\n horizontal: panelWidthBySize,\n vertical: panelHeightBySize,\n}\n\n/**\n * Позиция панели. Растяжка по поперечной оси живёт здесь же: у боковой панели\n * это `inset-y-0`, у верхней и нижней — `inset-x-0`, и держать их в разметке\n * значило бы иметь в шаблоне половину стороны.\n */\nexport const panelSideClass: Record<GrDrawerSide, string> = {\n left: 'inset-y-0 left-0 border-r',\n right: 'inset-y-0 right-0 border-l',\n top: 'inset-x-0 top-0 border-b',\n bottom: 'inset-x-0 bottom-0 border-t',\n}\n\nexport const panelTransitionClass: Record<GrDrawerSide, string> = {\n left: '-translate-x-full',\n right: 'translate-x-full',\n top: '-translate-y-full',\n bottom: 'translate-y-full',\n}\n\nexport const panelBaseClass = 'fixed flex flex-col border-[var(--gr-brd)] bg-[var(--gr-card)] text-[var(--gr-card-fg)] shadow-[var(--gr-shadow-2)] outline-none'\n\nexport const headerBorderClass = 'border-b border-[var(--gr-brd)]'\nexport const footerBorderClass = 'border-t border-[var(--gr-brd)]'\nexport const titleClass = 'text-[length:var(--gr-text-sm)] font-700 min-w-0 truncate'\n\n/** Скрытый заголовок: имя слоя есть даже там, где шапки на экране нет. */\nexport const srOnlyTitleClass = 'sr-only'\n\n// Произвольный размер отменяет размерный класс: иначе `w-[420px]` из шкалы\n// спорил бы с инлайновым стилем панели.\nexport function grDrawerPanelClass(options: {\n side: GrDrawerSide\n size: GrDrawerSize\n hasCustomLength: boolean\n}): string {\n const axis = grDrawerAxis(options.side)\n\n return [\n panelBaseClass,\n panelInteractiveClass,\n panelSideClass[options.side],\n options.hasCustomLength ? '' : panelSizeByAxis[axis][options.size],\n ].filter(Boolean).join(' ')\n}\n\nexport function grDrawerPanelEnterFrom(side: GrDrawerSide): string {\n return panelTransitionClass[side]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n DEFAULT_GR_DRAWER_BODY_CONFIG,\n DEFAULT_GR_DRAWER_FOOTER_CONFIG,\n DEFAULT_GR_DRAWER_HEADER_CONFIG,\n footerBorderClass,\n headerBorderClass,\n overlayClass,\n panelBaseClass,\n panelHeightBySize,\n panelInteractiveClass,\n panelSideClass,\n panelTransitionClass,\n panelWidthBySize,\n rootClass,\n rootPassThroughClass,\n srOnlyTitleClass,\n titleClass,\n} from './grDrawerStyles'\n\n// И динамические токены (`side`/`size`), и литералы отделки панели: `grDrawerStyles.ts`\n// бандлер волен вынести в общий `dist/chunks/`, вне области скана компонента —\n// гейт `src/__tests__/safelist.test.ts`.\nconst sectionDefaults = [\n DEFAULT_GR_DRAWER_HEADER_CONFIG,\n DEFAULT_GR_DRAWER_BODY_CONFIG,\n DEFAULT_GR_DRAWER_FOOTER_CONFIG,\n].flatMap(config => [config.paddingX, config.paddingY])\n\nexport const grDrawerSafelist = [...new Set([\n ...Object.values(panelSideClass).flatMap(splitClassTokens),\n ...Object.values(panelWidthBySize).flatMap(splitClassTokens),\n ...Object.values(panelHeightBySize).flatMap(splitClassTokens),\n ...Object.values(panelTransitionClass).flatMap(splitClassTokens),\n ...splitClassTokens(panelBaseClass),\n ...splitClassTokens(panelInteractiveClass),\n ...splitClassTokens(rootClass),\n ...splitClassTokens(rootPassThroughClass),\n ...splitClassTokens(overlayClass),\n ...splitClassTokens(headerBorderClass),\n ...splitClassTokens(footerBorderClass),\n ...splitClassTokens(titleClass),\n ...splitClassTokens(srOnlyTitleClass),\n ...sectionDefaults.flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\nimport { grDrawerSafelist } from './safelist'\n\nexport const grDrawerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDrawer',\n dependencies: ['GrButton', 'GrIcon'],\n safelist: grDrawerSafelist,\n})\n"],"mappings":";;;AAQA,SAAgB,aAAa,MAAkC;CAC7D,OAAO,SAAS,UAAU,SAAS,UAAU,eAAe;AAC9D;AAcA,IAAa,kCAAmE;CAC9E,UAAU;CACV,UAAU;CACV,UAAU;AACZ;AAEA,IAAa,gCAAiE;CAC5E,UAAU;CACV,UAAU;CACV,UAAU;AACZ;AAEA,IAAa,kCAAmE;CAC9E,UAAU;CACV,UAAU;CACV,UAAU;AACZ;AAEA,SAAgB,6BACd,QACA,UACiC;CACjC,OAAO;EACL,UAAU,QAAQ,YAAY,SAAS;EACvC,UAAU,QAAQ,YAAY,SAAS;EACvC,UAAU,QAAQ,YAAY,SAAS;CACzC;AACF;;AAGA,IAAa,YAAY;;;;;;;AAQzB,IAAa,uBAAuB;AACpC,IAAa,wBAAwB;AAErC,IAAa,eAAe;;AAG5B,IAAa,mBAAiD;CAC5D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;;AAGA,IAAa,oBAAkD;CAC7D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;AAEA,IAAa,kBAAsE;CACjF,YAAY;CACZ,UAAU;AACZ;;;;;;AAOA,IAAa,iBAA+C;CAC1D,MAAM;CACN,OAAO;CACP,KAAK;CACL,QAAQ;AACV;AAEA,IAAa,uBAAqD;CAChE,MAAM;CACN,OAAO;CACP,KAAK;CACL,QAAQ;AACV;AAEA,IAAa,iBAAiB;AAE9B,IAAa,oBAAoB;AACjC,IAAa,oBAAoB;AACjC,IAAa,aAAa;;AAG1B,IAAa,mBAAmB;AAIhC,SAAgB,mBAAmB,SAIxB;CACT,MAAM,OAAO,aAAa,QAAQ,IAAI;CAEtC,OAAO;EACL;EACA;EACA,eAAe,QAAQ;EACvB,QAAQ,kBAAkB,KAAK,gBAAgB,KAAK,CAAC,QAAQ;CAC/D,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B;AAEA,SAAgB,uBAAuB,MAA4B;CACjE,OAAO,qBAAqB;AAC9B;;;AClHA,IAAM,kBAAkB;CACtB;CACA;CACA;AACF,CAAC,CAAC,SAAQ,WAAU,CAAC,OAAO,UAAU,OAAO,QAAQ,CAAC;AAEtD,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CAC1C,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC,QAAQ,gBAAgB;CACzD,GAAG,OAAO,OAAO,gBAAgB,CAAC,CAAC,QAAQ,gBAAgB;CAC3D,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,oBAAoB,CAAC,CAAC,QAAQ,gBAAgB;CAC/D,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,SAAS;CAC7B,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,gBAAgB,QAAQ,gBAAgB;AAC7C,CAAC,CAAC;;;ACzCF,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,YAAY,QAAQ;CACnC,UAAU;AACZ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-DAX8Deh12.js","names":[],"sources":["../../src/components/GrSortableList/grSortableListStyles.ts","../../src/components/GrSortableList/safelist.ts","../../src/components/GrSortableList/config.ts"],"sourcesContent":["export type GrSortableOrientation = 'horizontal' | 'vertical'\n\n/**\n * Классы `GrSortableList`. Единственный источник правды для шаблона и\n * `safelist.ts`: литерал, живущий только здесь, до скана UnoCSS не доходит —\n * хелпер уезжает в общий чанк `dist/chunks/`.\n */\n\nexport const listClass: Record<GrSortableOrientation, string> = {\n vertical: 'flex flex-col',\n horizontal: 'flex flex-row flex-wrap',\n}\n\nexport const rowLayoutClass = 'relative flex items-center gap-2 px-4 py-3 transition-colors duration-[var(--gr-duration-fast)]'\n\n/**\n * Строка — остановка роверного фокуса, поэтому кольцо на ней, а не на ручке:\n * с клавиатуры берут строку целиком, ручка остаётся affordance для мыши.\n */\nexport const rowFocusClass = 'focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] focus-visible:ring-inset'\n\nexport const rowDraggingClass = 'bg-[var(--gr-sortable-row-bg-active,var(--gr-muted))]'\n\n/** Взятая с клавиатуры строка обязана отличаться от просто сфокусированной. */\nexport const rowGrabbedClass = 'bg-[var(--gr-sortable-row-bg-active,var(--gr-muted))] ring-2 ring-[var(--gr-ring)] ring-inset'\n\nexport const rowDisabledClass = 'cursor-not-allowed bg-[var(--gr-muted)] text-[var(--gr-muted-fg)]'\n\nexport const dividedClass = 'divide-y divide-[var(--gr-brd)]'\n\nexport const emptyClass = 'px-4 py-6 text-center text-[length:var(--gr-text-sm)] text-[var(--gr-muted-fg)]'\n\n/**\n * Ручка не табируется: внутри роверного композита свой таб-стоп сломал бы\n * правило «один Tab на список» — тот же приём, что у ручки `GrTree`.\n */\n/**\n * `[touch-action:none]` вместо `touch-none`: утилиты нет ни в `presetMini`, ни\n * в extra-rules, класс молча не превратился бы в CSS — и вертикальный свайп по\n * ручке ушёл бы в прокрутку страницы. Тот же приём у дорожки `GrSlider`.\n */\nexport const handleClass = 'flex shrink-0 items-center justify-center rounded-[var(--gr-radius-sm)] text-[var(--gr-sortable-handle-color,var(--gr-muted-fg))] size-[var(--gr-sortable-handle-size,1.5rem)] cursor-grab [touch-action:none] focus:outline-none'\n\nexport const handleDisabledClass = 'cursor-not-allowed text-[var(--gr-muted-fg)]'\n\n\nexport const contentClass = 'min-w-0 flex-1 text-[length:var(--gr-text-sm)]'\n\n/**\n * Куда встанет строка — псевдоэлемент самой строки, а не отдельный узел:\n * лишний узел между строками ломает и `divide-y`, и подсчёт позиций.\n */\nexport const indicatorBeforeClass = 'before:absolute before:inset-x-0 before:top-0 before:h-[var(--gr-sortable-indicator-width,2px)] before:bg-[var(--gr-sortable-indicator,var(--gr-primary))] before:content-empty'\n\nexport const indicatorAfterClass = 'after:absolute after:inset-x-0 after:bottom-0 after:h-[var(--gr-sortable-indicator-width,2px)] after:bg-[var(--gr-sortable-indicator,var(--gr-primary))] after:content-empty'\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n contentClass,\n dividedClass,\n emptyClass,\n handleClass,\n handleDisabledClass,\n indicatorAfterClass,\n indicatorBeforeClass,\n listClass,\n rowDisabledClass,\n rowDraggingClass,\n rowFocusClass,\n rowGrabbedClass,\n rowLayoutClass,\n} from './grSortableListStyles'\n\nexport const grSortableListSafelist = [...new Set([\n ...Object.values(listClass).flatMap(splitClassTokens),\n ...splitClassTokens(rowLayoutClass),\n ...splitClassTokens(rowFocusClass),\n ...splitClassTokens(rowDraggingClass),\n ...splitClassTokens(rowGrabbedClass),\n ...splitClassTokens(rowDisabledClass),\n ...splitClassTokens(dividedClass),\n ...splitClassTokens(emptyClass),\n ...splitClassTokens(handleClass),\n ...splitClassTokens(handleDisabledClass),\n ...splitClassTokens(contentClass),\n ...splitClassTokens(indicatorBeforeClass),\n ...splitClassTokens(indicatorAfterClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grSortableListSafelist } from './safelist'\n\nexport const grSortableListConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSortableList',\n safelist: grSortableListSafelist,\n dependencies: ['GrCard'],\n})\n"],"mappings":";;;;;;;;AAQA,IAAa,YAAmD;CAC9D,UAAU;CACV,YAAY;AACd;AAEA,IAAa,iBAAiB;;;;;AAM9B,IAAa,gBAAgB;AAE7B,IAAa,mBAAmB;;AAGhC,IAAa,kBAAkB;AAE/B,IAAa,mBAAmB;AAEhC,IAAa,eAAe;AAE5B,IAAa,aAAa;;;;;;;;;;AAW1B,IAAa,cAAc;AAE3B,IAAa,sBAAsB;AAGnC,IAAa,eAAe;;;;;AAM5B,IAAa,uBAAuB;AAEpC,IAAa,sBAAsB;;;ACrCnC,IAAa,yBAAyB,CAAC,mBAAG,IAAI,IAAI;CAChD,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,gBAAgB;CACpD,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,WAAW;CAC/B,GAAG,iBAAiB,mBAAmB;CACvC,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,mBAAmB;AACzC,CAAC,CAAC;;;AC3BF,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CAC3E,MAAM;CACN,UAAU;CACV,cAAc,CAAC,QAAQ;AACzB,CAAC"}
@@ -1,12 +1,6 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrTabs/grTabsStyles.ts
4
- /**
5
- * `pills` — вкладки-таблетки в общей обойме, `line` — классический ряд с
6
- * подчёркиванием активной. Имя `pills` общее с `GrSegmented`: у компонентов
7
- * одна роль, и вид с таким названием у них совпадает.
8
- */
9
- var GR_TABS_VARIANTS = ["pills", "line"];
10
4
  /** Высота вкладки повторяет шкалу `GrButton`: вкладки часто стоят с ним в один ряд. */
11
5
  var tabSizes = {
12
6
  xs: "h-7 px-2 text-[length:var(--gr-text-xs)]",
@@ -162,4 +156,4 @@ var grTabsConfig = defineGranularComponent(import.meta.url, {
162
156
  safelist: grTabsSafelist
163
157
  });
164
158
  //#endregion
165
- export { grTabsCloseClass as a, grTabsTabClass as c, tabIconClass as d, grTabsBadgeClass as i, tabCloseIconSizes as l, grTabsSafelist as n, grTabsEmptyClass as o, GR_TABS_VARIANTS as r, grTabsListClass as s, grTabsConfig as t, tabContentClass as u };
159
+ export { grTabsEmptyClass as a, tabCloseIconSizes as c, grTabsCloseClass as i, tabContentClass as l, grTabsSafelist as n, grTabsListClass as o, grTabsBadgeClass as r, grTabsTabClass as s, grTabsConfig as t, tabIconClass as u };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-DWN4x6_e.js","names":[],"sources":["../../src/components/GrTabs/grTabsStyles.ts","../../src/components/GrTabs/safelist.ts","../../src/components/GrTabs/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\nexport type GrTabsSize = GrComponentSize\n\n/**\n * `pills` — вкладки-таблетки в общей обойме, `line` — классический ряд с\n * подчёркиванием активной. Имя `pills` общее с `GrSegmented`: у компонентов\n * одна роль, и вид с таким названием у них совпадает.\n */\nexport const GR_TABS_VARIANTS = ['pills', 'line'] as const\nexport type GrTabsVariant = typeof GR_TABS_VARIANTS[number]\n\nexport type GrTabsOrientation = 'horizontal' | 'vertical'\n\n/** Высота вкладки повторяет шкалу `GrButton`: вкладки часто стоят с ним в один ряд. */\nexport const tabSizes: Record<GrTabsSize, string> = {\n xs: 'h-7 px-2 text-[length:var(--gr-text-xs)]',\n sm: 'h-8 px-2.5 text-[length:var(--gr-text-xs)]',\n md: 'h-9 px-3 text-[length:var(--gr-text-sm)]',\n lg: 'h-10 px-4 text-[length:var(--gr-text-base)]',\n}\n\n/** Счётчик у вкладки: на ступень мельче подписи. */\nexport const tabBadgeSizes: Record<GrTabsSize, string> = {\n xs: 'text-[length:var(--gr-text-2xs)] px-1 py-0.5',\n sm: 'text-[length:var(--gr-text-2xs)] px-1.5 py-0.5',\n md: 'text-[length:var(--gr-text-2xs)] px-1.5 py-0.5',\n lg: 'text-[length:var(--gr-text-xs)] px-2 py-0.5',\n}\n\n/** Обойма вокруг вкладок: на мелких ступенях рамка съедала бы высоту. */\nexport const tablistSizes: Record<GrTabsSize, string> = {\n xs: 'gap-0.5 p-0.5',\n sm: 'gap-1 p-1',\n md: 'gap-1 p-1',\n lg: 'gap-1 p-1.5',\n}\n\n/** `line` живёт без обоймы, поэтому и без внутренних отступов. */\nexport const tablistLineSizes: Record<GrTabsSize, string> = {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-2',\n lg: 'gap-3',\n}\n\nexport const tablistBase = 'inline-flex max-w-full'\n\nexport const tablistVariants: Record<GrTabsVariant, string> = {\n pills: 'rounded-[var(--gr-radius-lg)] border border-[var(--gr-brd)] bg-[var(--gr-muted)]',\n line: 'border-b border-[var(--gr-brd)]',\n}\n\n/**\n * Вертикальный `line` подчёркивает вкладку сбоку, а не снизу: линия должна идти\n * вдоль списка, иначе она отделяет вкладки друг от друга вместо ряда целиком.\n */\nexport const tablistVerticalVariants: Record<GrTabsVariant, string> = {\n pills: '',\n line: 'border-b-0 border-r border-[var(--gr-brd)]',\n}\n\n/**\n * Переполнение прокручивается, а не переносится строкой: перенос ломает ряд и\n * уводит вкладки под панель. Полоса прокрутки скрыта — ряд ведёт клавиатура и\n * автоскролл к активной вкладке.\n */\nexport const tablistScrollClass = 'overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden'\n\n/** Вертикальный ряд — колонка; прокрутки ему не нужно: он растёт вниз. */\nexport const tablistColumnClass = 'flex-col'\n\nexport const tabBase = 'shrink-0 font-600 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\n// Цвет подчёркивания задаёт только состояние: `border-transparent` в базе имеет\n// ту же специфичность, что и цвет активной вкладки, и побеждал бы через раз —\n// по порядку правил в сгенерированном CSS, а не по порядку классов в атрибуте.\nexport const tabVariantBase: Record<GrTabsVariant, string> = {\n pills: 'rounded-[var(--gr-radius-md)]',\n line: 'rounded-[var(--gr-radius-md)] rounded-b-[var(--gr-radius-none)] border-b-2 -mb-px',\n}\n\nexport const tabStateClasses: Record<GrTabsVariant, { active: string, idle: string, disabled: string }> = {\n pills: {\n active: 'bg-[var(--gr-card)] text-[var(--gr-fg)] border border-[var(--gr-brd)]',\n idle: 'text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:bg-[color-mix(in_srgb,var(--gr-card)_70%,transparent)]',\n disabled: 'cursor-not-allowed text-[var(--gr-disabled-fg)]',\n },\n line: {\n active: 'border-[var(--gr-primary)] text-[var(--gr-fg)]',\n idle: 'border-transparent text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:border-[var(--gr-brd)]',\n disabled: 'border-transparent cursor-not-allowed text-[var(--gr-disabled-fg)]',\n },\n}\n\nexport const tabIconClass = 'h-4 w-4 shrink-0'\n\nexport const tabContentClass = 'inline-flex items-center gap-2'\n\n/**\n * Крестик закрытия. Кнопкой он быть не может: `role=\"tab\"` объявляет потомков\n * презентационными, и вложенный интерактив теряется у скринридера (axe:\n * `nested-interactive`). Поэтому это `<span>`, а клик по нему разбирает\n * обработчик самой вкладки.\n *\n * Своего фокус-кольца у него нет по той же причине — в таб-порядке он не стоит,\n * с клавиатуры закрытие идёт по `Delete`/`Backspace`.\n */\nexport const tabCloseBase = 'inline-flex items-center justify-center shrink-0 rounded-[var(--gr-radius-sm)] text-[var(--gr-muted-fg)] transition-colors hover:bg-[var(--gr-muted)] hover:text-[var(--gr-fg)]'\n\nexport const tabCloseSizes: Record<GrTabsSize, string> = {\n xs: 'h-4 w-4',\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-5 w-5',\n}\n\nexport const tabCloseIconSizes: Record<GrTabsSize, string> = {\n xs: 'h-3 w-3',\n sm: 'h-3 w-3',\n md: 'h-4 w-4',\n lg: 'h-4 w-4',\n}\n\n/** Пустой ряд держит высоту вкладки: иначе соседние блоки прыгают при закрытии последней. */\nexport const tabsEmptyBase = 'inline-flex items-center text-[var(--gr-muted-fg)]'\n\nexport const tabBadgeBase = 'rounded-[var(--gr-radius-full)] bg-[var(--gr-secondary)] text-[var(--gr-secondary-fg)]'\n\nexport function grTabsListClass(options: {\n variant: GrTabsVariant\n size: GrTabsSize\n orientation: GrTabsOrientation\n}): string {\n const vertical = options.orientation === 'vertical'\n\n return [\n tablistBase,\n tablistVariants[options.variant],\n vertical ? tablistVerticalVariants[options.variant] : '',\n options.variant === 'pills' ? tablistSizes[options.size] : tablistLineSizes[options.size],\n vertical ? tablistColumnClass : tablistScrollClass,\n ].filter(Boolean).join(' ')\n}\n\nexport function grTabsTabClass(options: {\n variant: GrTabsVariant\n size: GrTabsSize\n active: boolean\n disabled: boolean\n}): string {\n const state = tabStateClasses[options.variant]\n\n return [\n tabBase,\n tabVariantBase[options.variant],\n tabSizes[options.size],\n options.disabled ? state.disabled : options.active ? state.active : state.idle,\n ].join(' ')\n}\n\nexport function grTabsBadgeClass(size: GrTabsSize): string {\n return [tabBadgeBase, tabBadgeSizes[size]].join(' ')\n}\n\nexport function grTabsCloseClass(size: GrTabsSize): string {\n return [tabCloseBase, tabCloseSizes[size]].join(' ')\n}\n\nexport function grTabsEmptyClass(size: GrTabsSize): string {\n return [tabsEmptyBase, tabSizes[size]].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n tabBadgeBase,\n tabBadgeSizes,\n tabBase,\n tabCloseBase,\n tabCloseIconSizes,\n tabCloseSizes,\n tabContentClass,\n tabIconClass,\n tablistBase,\n tablistColumnClass,\n tablistLineSizes,\n tablistScrollClass,\n tablistSizes,\n tablistVariants,\n tablistVerticalVariants,\n tabsEmptyBase,\n tabSizes,\n tabStateClasses,\n tabVariantBase,\n} from './grTabsStyles'\n\nexport const grTabsSafelist = [...new Set([\n ...Object.values(tabSizes).flatMap(splitClassTokens),\n ...Object.values(tabBadgeSizes).flatMap(splitClassTokens),\n ...Object.values(tabCloseSizes).flatMap(splitClassTokens),\n ...Object.values(tabCloseIconSizes).flatMap(splitClassTokens),\n ...Object.values(tablistSizes).flatMap(splitClassTokens),\n ...Object.values(tablistLineSizes).flatMap(splitClassTokens),\n ...Object.values(tablistVariants).flatMap(splitClassTokens),\n ...Object.values(tablistVerticalVariants).flatMap(splitClassTokens),\n ...Object.values(tabVariantBase).flatMap(splitClassTokens),\n ...Object.values(tabStateClasses).flatMap(state => [\n ...splitClassTokens(state.active),\n ...splitClassTokens(state.idle),\n ...splitClassTokens(state.disabled),\n ]),\n ...splitClassTokens(tablistBase),\n ...splitClassTokens(tablistScrollClass),\n ...splitClassTokens(tablistColumnClass),\n ...splitClassTokens(tabBase),\n ...splitClassTokens(tabBadgeBase),\n ...splitClassTokens(tabContentClass),\n ...splitClassTokens(tabIconClass),\n ...splitClassTokens(tabCloseBase),\n ...splitClassTokens(tabsEmptyBase),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grTabsSafelist } from './safelist'\n\nexport const grTabsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTabs',\n safelist: grTabsSafelist,\n})\n"],"mappings":"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"}
@@ -1,17 +1,6 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrFormSection/grFormSectionStyles.ts
4
- /**
5
- * Уровень заголовка секции. `h1` намеренно нет: страница задаёт его сама, а
6
- * секция формы — это подраздел внутри уже существующей структуры.
7
- */
8
- var GR_FORM_SECTION_HEADING_LEVELS = [
9
- 2,
10
- 3,
11
- 4,
12
- 5,
13
- 6
14
- ];
15
4
  var formSectionRootClass = "grid gap-4";
16
5
  /** Шапка: заголовок с описанием слева, действия справа. */
17
6
  var formSectionHeaderClass = "flex flex-wrap items-start justify-between gap-3";
@@ -34,4 +23,4 @@ var grFormSectionConfig = defineGranularComponent(import.meta.url, {
34
23
  safelist: grFormSectionSafelist
35
24
  });
36
25
  //#endregion
37
- export { formSectionDescriptionClass as a, formSectionTitleClass as c, formSectionActionsClass as i, grFormSectionSafelist as n, formSectionHeaderClass as o, GR_FORM_SECTION_HEADING_LEVELS as r, formSectionRootClass as s, grFormSectionConfig as t };
26
+ export { formSectionHeaderClass as a, formSectionDescriptionClass as i, grFormSectionSafelist as n, formSectionRootClass as o, formSectionActionsClass as r, formSectionTitleClass as s, grFormSectionConfig as t };
@@ -1 +1 @@
1
- {"version":3,"file":"config-DhHbU3zO.js","names":[],"sources":["../../src/components/GrFormSection/grFormSectionStyles.ts","../../src/components/GrFormSection/safelist.ts","../../src/components/GrFormSection/config.ts"],"sourcesContent":["/**\n * Уровень заголовка секции. `h1` намеренно нет: страница задаёт его сама, а\n * секция формы — это подраздел внутри уже существующей структуры.\n */\nexport const GR_FORM_SECTION_HEADING_LEVELS = [2, 3, 4, 5, 6] as const\n\nexport type GrFormSectionHeadingLevel = typeof GR_FORM_SECTION_HEADING_LEVELS[number]\n\nexport const formSectionRootClass = 'grid gap-4'\n\n/** Шапка: заголовок с описанием слева, действия справа. */\nexport const formSectionHeaderClass = 'flex flex-wrap items-start justify-between gap-3'\n\n// `m-0` — у нативного заголовка есть браузерные отступы, и без сброса секция\n// разъезжается по вертикали.\nexport const formSectionTitleClass = 'm-0 text-[length:var(--gr-text-sm)] font-700'\n\nexport const formSectionDescriptionClass = 'mt-1 text-[length:var(--gr-text-sm)] text-[var(--gr-muted-fg)]'\n\nexport const formSectionActionsClass = 'flex shrink-0 items-center gap-2'\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n formSectionActionsClass,\n formSectionDescriptionClass,\n formSectionHeaderClass,\n formSectionRootClass,\n formSectionTitleClass,\n} from './grFormSectionStyles'\n\n// Классы живут в `.ts`-хелпере, а он уезжает в общий `dist/chunks/` — вне\n// области скана компонента. Гейт — `src/__tests__/safelist.test.ts`.\nexport const grFormSectionSafelist = [...new Set([\n ...splitClassTokens(formSectionRootClass),\n ...splitClassTokens(formSectionHeaderClass),\n ...splitClassTokens(formSectionTitleClass),\n ...splitClassTokens(formSectionDescriptionClass),\n ...splitClassTokens(formSectionActionsClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grFormSectionSafelist } from './safelist'\n\nexport const grFormSectionConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormSection',\n safelist: grFormSectionSafelist,\n})\n"],"mappings":";;;;;;;AAIA,IAAa,iCAAiC;CAAC;CAAG;CAAG;CAAG;CAAG;AAAC;AAI5D,IAAa,uBAAuB;;AAGpC,IAAa,yBAAyB;AAItC,IAAa,wBAAwB;AAErC,IAAa,8BAA8B;AAE3C,IAAa,0BAA0B;;;ACRvC,IAAa,wBAAwB,CAAC,mBAAG,IAAI,IAAI;CAC/C,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,uBAAuB;AAC7C,CAAC,CAAC;;;ACbF,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;AACZ,CAAC"}
1
+ {"version":3,"file":"config-Dgj1Q6JY.js","names":[],"sources":["../../src/components/GrFormSection/grFormSectionStyles.ts","../../src/components/GrFormSection/safelist.ts","../../src/components/GrFormSection/config.ts"],"sourcesContent":["/**\n * Уровень заголовка секции. `h1` намеренно нет: страница задаёт его сама, а\n * секция формы — это подраздел внутри уже существующей структуры.\n */\nexport const GR_FORM_SECTION_HEADING_LEVELS = [2, 3, 4, 5, 6] as const\n\nexport type GrFormSectionHeadingLevel = typeof GR_FORM_SECTION_HEADING_LEVELS[number]\n\nexport const formSectionRootClass = 'grid gap-4'\n\n/** Шапка: заголовок с описанием слева, действия справа. */\nexport const formSectionHeaderClass = 'flex flex-wrap items-start justify-between gap-3'\n\n// `m-0` — у нативного заголовка есть браузерные отступы, и без сброса секция\n// разъезжается по вертикали.\nexport const formSectionTitleClass = 'm-0 text-[length:var(--gr-text-sm)] font-700'\n\nexport const formSectionDescriptionClass = 'mt-1 text-[length:var(--gr-text-sm)] text-[var(--gr-muted-fg)]'\n\nexport const formSectionActionsClass = 'flex shrink-0 items-center gap-2'\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n formSectionActionsClass,\n formSectionDescriptionClass,\n formSectionHeaderClass,\n formSectionRootClass,\n formSectionTitleClass,\n} from './grFormSectionStyles'\n\n// Классы живут в `.ts`-хелпере, а он уезжает в общий `dist/chunks/` — вне\n// области скана компонента. Гейт — `src/__tests__/safelist.test.ts`.\nexport const grFormSectionSafelist = [...new Set([\n ...splitClassTokens(formSectionRootClass),\n ...splitClassTokens(formSectionHeaderClass),\n ...splitClassTokens(formSectionTitleClass),\n ...splitClassTokens(formSectionDescriptionClass),\n ...splitClassTokens(formSectionActionsClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grFormSectionSafelist } from './safelist'\n\nexport const grFormSectionConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormSection',\n safelist: grFormSectionSafelist,\n})\n"],"mappings":";;;AAQA,IAAa,uBAAuB;;AAGpC,IAAa,yBAAyB;AAItC,IAAa,wBAAwB;AAErC,IAAa,8BAA8B;AAE3C,IAAa,0BAA0B;;;ACRvC,IAAa,wBAAwB,CAAC,mBAAG,IAAI,IAAI;CAC/C,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,uBAAuB;AAC7C,CAAC,CAAC;;;ACbF,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;AACZ,CAAC"}
@@ -1,18 +1,6 @@
1
1
  import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
2
2
  import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
3
3
  //#region src/components/GrBottomNav/grBottomNavStyles.ts
4
- /**
5
- * Брейкпоинт, начиная с которого панель скрывается. `none` — видна всегда:
6
- * киоск и PWA нижнюю навигацию не прячут.
7
- */
8
- var GR_BOTTOM_NAV_HIDE_ABOVE = [
9
- "sm",
10
- "md",
11
- "lg",
12
- "none"
13
- ];
14
- /** Прижата к нижней кромке экрана или лежит обычным блоком в потоке. */
15
- var GR_BOTTOM_NAV_POSITIONS = ["fixed", "static"];
16
4
  var rootBase = "border-t border-[var(--gr-brd)] bg-[var(--gr-bg)] px-2 pb-[env(safe-area-inset-bottom)]";
17
5
  var rootPositionClass = {
18
6
  fixed: "fixed bottom-0 left-0 right-0 z-[var(--gr-z-bottom-nav)]",
@@ -117,4 +105,4 @@ var grBottomNavConfig = defineGranularComponent(import.meta.url, {
117
105
  safelist: grBottomNavSafelist
118
106
  });
119
107
  //#endregion
120
- export { grBottomNavIconClass as a, grBottomNavRootClass as c, GR_BOTTOM_NAV_POSITIONS as i, itemBadgeClass as l, grBottomNavSafelist as n, grBottomNavItemClass as o, GR_BOTTOM_NAV_HIDE_ABOVE as r, grBottomNavListClass as s, grBottomNavConfig as t, itemLabelClass as u };
108
+ export { grBottomNavListClass as a, itemLabelClass as c, grBottomNavItemClass as i, grBottomNavSafelist as n, grBottomNavRootClass as o, grBottomNavIconClass as r, itemBadgeClass as s, grBottomNavConfig as t };