@feugene/granularity 0.24.1 → 0.26.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 (296) hide show
  1. package/dist/chunks/config-BViooYNv.js.map +1 -0
  2. package/dist/chunks/config-BfsBepkH.js.map +1 -0
  3. package/dist/chunks/config-BuGlNPE92.js.map +1 -0
  4. package/dist/chunks/config-CPSxM7XE.js +8 -0
  5. package/dist/chunks/config-CPSxM7XE.js.map +1 -0
  6. package/dist/chunks/config-D7zgE_Gr.js +107 -0
  7. package/dist/chunks/config-D7zgE_Gr.js.map +1 -0
  8. package/dist/chunks/config-DAX8Deh1.js.map +1 -0
  9. package/dist/chunks/config-DGCMHPCR.js +19 -0
  10. package/dist/chunks/config-DGCMHPCR.js.map +1 -0
  11. package/dist/chunks/config-DGWFal5h.js +128 -0
  12. package/dist/chunks/config-DGWFal5h.js.map +1 -0
  13. package/dist/chunks/config-DKISz9gR.js +39 -0
  14. package/dist/chunks/config-DKISz9gR.js.map +1 -0
  15. package/dist/chunks/{config-BSyiFlbi2.js → config-DtgYuGUn2.js} +2 -1
  16. package/dist/chunks/config-DtgYuGUn2.js.map +1 -0
  17. package/dist/chunks/config-Iu684VNI.js +21 -0
  18. package/dist/chunks/config-Iu684VNI.js.map +1 -0
  19. package/dist/chunks/config-T3qdQBgU.js.map +1 -0
  20. package/dist/chunks/config-rkcKArZQ.js.map +1 -0
  21. package/dist/chunks/config-vSji8w90.js.map +1 -0
  22. package/dist/chunks/config-zjeAJ4ho2.js.map +1 -0
  23. package/dist/chunks/context-BfIQv7m12.js.map +1 -0
  24. package/dist/chunks/context-CTbuwcYs.js.map +1 -1
  25. package/dist/chunks/{en-DCCFP4qu.js → en-NpP9e7lC.js} +16 -2
  26. package/dist/chunks/en-NpP9e7lC.js.map +1 -0
  27. package/dist/chunks/{es-CT34HBVM.js → es-DaeA2Ql-.js} +16 -2
  28. package/dist/chunks/es-DaeA2Ql-.js.map +1 -0
  29. package/dist/chunks/{es-DdJsxlUr.js → es-Do2CNrC2.js} +3 -3
  30. package/dist/chunks/{es-DdJsxlUr.js.map → es-Do2CNrC2.js.map} +1 -1
  31. package/dist/chunks/{generated-1WEi10KK.js → generated-CJe6hdiE.js} +49 -0
  32. package/dist/chunks/{generated-1WEi10KK.js.map → generated-CJe6hdiE.js.map} +1 -1
  33. package/dist/chunks/{grBadgeStyles-C2wLlkjF.js → grBadgeStyles-C1S56Alo.js} +6 -1
  34. package/dist/chunks/{grBadgeStyles-C2wLlkjF.js.map → grBadgeStyles-C1S56Alo.js.map} +1 -1
  35. package/dist/chunks/grChipGroupContext-DZXkACap.js +4 -0
  36. package/dist/chunks/grChipGroupContext-DZXkACap.js.map +1 -0
  37. package/dist/chunks/{config-C5mO5DYZ.js → grDropdownMenuStyles-D1LOkdVj.js} +1 -38
  38. package/dist/chunks/grDropdownMenuStyles-D1LOkdVj.js.map +1 -0
  39. package/dist/chunks/{grPopoverStyles-Rz_Z5nLW.js → grPopoverStyles-Cke_BZsM.js} +16 -3
  40. package/dist/chunks/grPopoverStyles-Cke_BZsM.js.map +1 -0
  41. package/dist/chunks/{granular-provider-Dr2PKgl1.js → granular-provider-BaHkLjFX.js} +19 -11
  42. package/dist/chunks/granular-provider-BaHkLjFX.js.map +1 -0
  43. package/dist/chunks/{ru-CLiAMwrx.js → ru-Bg9-DPmg.js} +16 -2
  44. package/dist/chunks/ru-Bg9-DPmg.js.map +1 -0
  45. package/dist/chunks/{config-qVg3Zz_A.js → safelist-DOfCQR5O.js} +2 -19
  46. package/dist/chunks/safelist-DOfCQR5O.js.map +1 -0
  47. package/dist/chunks/useMenuItemsFocus-OyOnIAlr.js +117 -0
  48. package/dist/chunks/useMenuItemsFocus-OyOnIAlr.js.map +1 -0
  49. package/dist/chunks/{validation-DauXRIkL.js → validation-5HhpanPP.js} +1 -1
  50. package/dist/chunks/{validation-DauXRIkL.js.map → validation-5HhpanPP.js.map} +1 -1
  51. package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-DsevPtiS.js → GrAutocomplete-D9c9BNFg.js} +1 -1
  52. package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-DsevPtiS.js.map → GrAutocomplete-D9c9BNFg.js.map} +1 -1
  53. package/dist/components/GrAutocomplete/index.js +1 -1
  54. package/dist/components/GrBadge/chunks/{GrBadge-u2ZdS7CN.js → GrBadge-_9rCHuE1.js} +1 -1
  55. package/dist/components/GrBadge/chunks/{GrBadge-u2ZdS7CN.js.map → GrBadge-_9rCHuE1.js.map} +1 -1
  56. package/dist/components/GrBadge/index.js +3 -2
  57. package/dist/components/GrButton/chunks/{GrButton-Bw2AH4uX.js → GrButton-DCz-Wn-V.js} +1 -1
  58. package/dist/components/GrButton/chunks/{GrButton-Bw2AH4uX.js.map → GrButton-DCz-Wn-V.js.map} +1 -1
  59. package/dist/components/GrButton/index.js +1 -1
  60. package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CKyiAV8K.js → GrButtonGroup-BQo5VQ_c.js} +1 -1
  61. package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CKyiAV8K.js.map → GrButtonGroup-BQo5VQ_c.js.map} +1 -1
  62. package/dist/components/GrButtonGroup/index.js +2 -2
  63. package/dist/components/GrCard/chunks/{GrCard-gI2wA8ZZ.js → GrCard-aQIjk6I9.js} +1 -1
  64. package/dist/components/GrCard/chunks/GrCard-aQIjk6I9.js.map +1 -0
  65. package/dist/components/GrCard/index.js +1 -1
  66. package/dist/components/GrCheckboxGroup/index.js +1 -1
  67. package/dist/components/GrChip/chunks/GrChip-BnL2FedO.js +222 -0
  68. package/dist/components/GrChip/chunks/GrChip-BnL2FedO.js.map +1 -0
  69. package/dist/components/GrChip/index.js +3 -0
  70. package/dist/components/GrChipGroup/chunks/GrChipGroup-DefmSdY9.js +209 -0
  71. package/dist/components/GrChipGroup/chunks/GrChipGroup-DefmSdY9.js.map +1 -0
  72. package/dist/components/GrChipGroup/index.js +3 -0
  73. package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-BmXCLgLS.js → GrCodeBlock-CyptiEo4.js} +1 -1
  74. package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-BmXCLgLS.js.map → GrCodeBlock-CyptiEo4.js.map} +1 -1
  75. package/dist/components/GrCodeBlock/index.js +1 -1
  76. package/dist/components/GrCollapse/chunks/{GrCollapse-DIHEiTju.js → GrCollapse-DUROgAgc.js} +1 -1
  77. package/dist/components/GrCollapse/chunks/{GrCollapse-DIHEiTju.js.map → GrCollapse-DUROgAgc.js.map} +1 -1
  78. package/dist/components/GrCollapse/index.js +1 -1
  79. package/dist/components/GrColorPicker/chunks/{GrColorPicker-qQdoEPHF.js → GrColorPicker-CDaJRVIM.js} +1 -1
  80. package/dist/components/GrColorPicker/chunks/{GrColorPicker-qQdoEPHF.js.map → GrColorPicker-CDaJRVIM.js.map} +1 -1
  81. package/dist/components/GrColorPicker/index.js +1 -1
  82. package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BFcMf4Pn.js → GrCommandPalette-BPsVN_XU.js} +3 -3
  83. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BPsVN_XU.js.map +1 -0
  84. package/dist/components/GrCommandPalette/index.js +1 -1
  85. package/dist/components/GrCommandPalette/styles.css +1 -1
  86. package/dist/components/GrConfigProvider/chunks/{GrConfigProvider-UP-EaoAf.js → GrConfigProvider-BF7R3hgg.js} +1 -1
  87. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BF7R3hgg.js.map +1 -0
  88. package/dist/components/GrConfigProvider/index.js +1 -1
  89. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-rRtMScJX.js → GrConfirmDialog-CwXNLyzk.js} +3 -3
  90. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-rRtMScJX.js.map → GrConfirmDialog-CwXNLyzk.js.map} +1 -1
  91. package/dist/components/GrConfirmDialog/index.js +1 -1
  92. package/dist/components/GrContextMenu/chunks/GrContextMenu-BbAJholy.js +331 -0
  93. package/dist/components/GrContextMenu/chunks/GrContextMenu-BbAJholy.js.map +1 -0
  94. package/dist/components/GrContextMenu/index.js +3 -0
  95. package/dist/components/GrDataTable/chunks/{GrDataTable-B5MmZFUg.js → GrDataTable-NRbrXpdx.js} +2 -2
  96. package/dist/components/GrDataTable/chunks/GrDataTable-NRbrXpdx.js.map +1 -0
  97. package/dist/components/GrDataTable/index.js +1 -1
  98. package/dist/components/GrDescriptionList/chunks/{GrDescriptionList-C6Pxjjbh.js → GrDescriptionList-1mICfrqX.js} +1 -1
  99. package/dist/components/GrDescriptionList/chunks/{GrDescriptionList-C6Pxjjbh.js.map → GrDescriptionList-1mICfrqX.js.map} +1 -1
  100. package/dist/components/GrDescriptionList/index.js +2 -2
  101. package/dist/components/GrDialog/chunks/{GrDialog-D0U5iRqV.js → GrDialog-5Y5K87ss.js} +2 -2
  102. package/dist/components/GrDialog/chunks/{GrDialog-D0U5iRqV.js.map → GrDialog-5Y5K87ss.js.map} +1 -1
  103. package/dist/components/GrDialog/index.js +1 -1
  104. package/dist/components/GrDialogService/chunks/{GrDialogService-CrwA4aJq.js → GrDialogService-CHVR4sOk.js} +6 -6
  105. package/dist/components/GrDialogService/chunks/GrDialogService-CHVR4sOk.js.map +1 -0
  106. package/dist/components/GrDialogService/index.js +1 -1
  107. package/dist/components/GrDrawer/chunks/{GrDrawer-C3zAg2tG.js → GrDrawer-CXy3-SVd.js} +2 -2
  108. package/dist/components/GrDrawer/chunks/GrDrawer-CXy3-SVd.js.map +1 -0
  109. package/dist/components/GrDrawer/index.js +1 -1
  110. package/dist/components/GrDropdown/chunks/{GrDropdown-BSfFOcDx.js → GrDropdown-BfTmdPyh.js} +10 -79
  111. package/dist/components/GrDropdown/chunks/GrDropdown-BfTmdPyh.js.map +1 -0
  112. package/dist/components/GrDropdown/index.js +2 -2
  113. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-l5HEqzjr.js +130 -0
  114. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-l5HEqzjr.js.map +1 -0
  115. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DyS6dWDp.js → GrDropdownMenuList-BGA_xNVo.js} +57 -159
  116. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenuList-BGA_xNVo.js.map +1 -0
  117. package/dist/components/GrDropdownMenu/index.js +3 -2
  118. package/dist/components/GrEmptyState/chunks/{GrEmptyState-BGUX8O0U.js → GrEmptyState-CS9do8eM.js} +1 -1
  119. package/dist/components/GrEmptyState/chunks/{GrEmptyState-BGUX8O0U.js.map → GrEmptyState-CS9do8eM.js.map} +1 -1
  120. package/dist/components/GrEmptyState/index.js +2 -2
  121. package/dist/components/GrFileUpload/chunks/{GrFileUpload-D3-vC-ap.js → GrFileUpload-wNXzHb5N.js} +1 -1
  122. package/dist/components/GrFileUpload/chunks/GrFileUpload-wNXzHb5N.js.map +1 -0
  123. package/dist/components/GrFileUpload/index.js +1 -1
  124. package/dist/components/GrForm/chunks/{GrForm-B_Qq_13k.js → GrForm-CAlJg-wb.js} +1 -1
  125. package/dist/components/GrForm/chunks/{GrForm-B_Qq_13k.js.map → GrForm-CAlJg-wb.js.map} +1 -1
  126. package/dist/components/GrForm/index.js +3 -3
  127. package/dist/components/GrFormField/chunks/{GrFormField-kqfVY30N.js → GrFormField-DSylU7IU.js} +1 -1
  128. package/dist/components/GrFormField/chunks/GrFormField-DSylU7IU.js.map +1 -0
  129. package/dist/components/GrFormField/index.js +1 -1
  130. package/dist/components/GrFormFile/chunks/{GrFormFile-D722xHn8.js → GrFormFile-DhVkB2gm.js} +1 -1
  131. package/dist/components/GrFormFile/chunks/{GrFormFile-D722xHn8.js.map → GrFormFile-DhVkB2gm.js.map} +1 -1
  132. package/dist/components/GrFormFile/index.js +1 -1
  133. package/dist/components/GrInputTag/chunks/{GrInputTag-C7QVPijj.js → GrInputTag-UI8kIB_F.js} +2 -2
  134. package/dist/components/GrInputTag/chunks/{GrInputTag-C7QVPijj.js.map → GrInputTag-UI8kIB_F.js.map} +1 -1
  135. package/dist/components/GrInputTag/index.js +1 -1
  136. package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-DFUppRNb.js → GrJsonViewer-jk3ylOTc.js} +2 -2
  137. package/dist/components/GrJsonViewer/chunks/GrJsonViewer-jk3ylOTc.js.map +1 -0
  138. package/dist/components/GrJsonViewer/index.js +1 -1
  139. package/dist/components/GrList/chunks/{GrList-DAtzVIHh.js → GrList-B5bclmHV.js} +30 -3
  140. package/dist/components/GrList/chunks/GrList-B5bclmHV.js.map +1 -0
  141. package/dist/components/GrList/index.js +1 -1
  142. package/dist/components/GrList/styles.css +1 -1
  143. package/dist/components/GrModal/chunks/{GrModal-CPz7SWD_.js → GrModal-CCoWZuIl.js} +2 -2
  144. package/dist/components/GrModal/chunks/GrModal-CCoWZuIl.js.map +1 -0
  145. package/dist/components/GrModal/index.js +1 -1
  146. package/dist/components/GrNavbar/chunks/{GrNavbar-DWaaoV7n.js → GrNavbar-DPj30sHX.js} +1 -1
  147. package/dist/components/GrNavbar/chunks/{GrNavbar-DWaaoV7n.js.map → GrNavbar-DPj30sHX.js.map} +1 -1
  148. package/dist/components/GrNavbar/index.js +1 -1
  149. package/dist/components/GrNumberInput/chunks/{GrNumberInput-BotnzW77.js → GrNumberInput-V2mZvDDC.js} +1 -1
  150. package/dist/components/GrNumberInput/chunks/{GrNumberInput-BotnzW77.js.map → GrNumberInput-V2mZvDDC.js.map} +1 -1
  151. package/dist/components/GrNumberInput/index.js +2 -2
  152. package/dist/components/GrPagination/chunks/{GrPagination-GtGtSMJG.js → GrPagination-DG7kp6VL.js} +2 -2
  153. package/dist/components/GrPagination/chunks/{GrPagination-GtGtSMJG.js.map → GrPagination-DG7kp6VL.js.map} +1 -1
  154. package/dist/components/GrPagination/index.js +1 -1
  155. package/dist/components/GrPopover/chunks/{GrPopover-b70bIlQ9.js → GrPopover-DDChM1jD.js} +28 -10
  156. package/dist/components/GrPopover/chunks/GrPopover-DDChM1jD.js.map +1 -0
  157. package/dist/components/GrPopover/index.js +2 -2
  158. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-CEI8bf-t.js → GrPromptDialog-BGuMUzlv.js} +5 -5
  159. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-CEI8bf-t.js.map → GrPromptDialog-BGuMUzlv.js.map} +1 -1
  160. package/dist/components/GrPromptDialog/index.js +1 -1
  161. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-BVmjKXcv.js → GrRadioGroup-7w4bXIg_.js} +1 -1
  162. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-BVmjKXcv.js.map → GrRadioGroup-7w4bXIg_.js.map} +1 -1
  163. package/dist/components/GrRadioGroup/index.js +1 -1
  164. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CZONq8uT.js → GrResponseErrorBanner-BhP-xw2P.js} +1 -1
  165. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CZONq8uT.js.map → GrResponseErrorBanner-BhP-xw2P.js.map} +1 -1
  166. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CgfAwlg3.js → GrResponseErrorBanner-DA4q90Zt.js} +1 -1
  167. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CgfAwlg3.js.map → GrResponseErrorBanner-DA4q90Zt.js.map} +1 -1
  168. package/dist/components/GrResponseErrorBanner/index.js +2 -2
  169. package/dist/components/GrSelect/chunks/{GrSelect-CaGuyvtb.js → GrSelect-BA1wfX3c.js} +19 -3
  170. package/dist/components/GrSelect/chunks/GrSelect-BA1wfX3c.js.map +1 -0
  171. package/dist/components/GrSelect/index.js +1 -1
  172. package/dist/components/GrSelect/styles.css +1 -1
  173. package/dist/components/GrSidebar/chunks/{GrSidebar-D7WxRtIu.js → GrSidebar-DY-LgIbS.js} +2 -2
  174. package/dist/components/GrSidebar/chunks/{GrSidebar-D7WxRtIu.js.map → GrSidebar-DY-LgIbS.js.map} +1 -1
  175. package/dist/components/GrSidebar/index.js +2 -2
  176. package/dist/components/GrSlider/index.js +1 -1
  177. package/dist/components/GrSortableList/chunks/{GrSortableList-BmcUVAMb.js → GrSortableList-BMXyxmRc.js} +3 -3
  178. package/dist/components/GrSortableList/chunks/{GrSortableList-BmcUVAMb.js.map → GrSortableList-BMXyxmRc.js.map} +1 -1
  179. package/dist/components/GrSortableList/index.js +2 -2
  180. package/dist/components/GrSteps/chunks/GrSteps-Cce4rfr3.js +282 -0
  181. package/dist/components/GrSteps/chunks/GrSteps-Cce4rfr3.js.map +1 -0
  182. package/dist/components/GrSteps/index.js +3 -0
  183. package/dist/components/GrTabPanels/chunks/{GrTabPanels-AJt1w1XC.js → GrTabPanels-BZQS8-JM.js} +12 -1
  184. package/dist/components/GrTabPanels/chunks/{GrTabPanels-AJt1w1XC.js.map → GrTabPanels-BZQS8-JM.js.map} +1 -1
  185. package/dist/components/GrTabPanels/index.js +1 -1
  186. package/dist/components/GrTimeline/chunks/{GrTimeline-Ch9sHzwL.js → GrTimeline-DIDdkTn7.js} +12 -1
  187. package/dist/components/GrTimeline/chunks/GrTimeline-DIDdkTn7.js.map +1 -0
  188. package/dist/components/GrTimeline/index.js +1 -1
  189. package/dist/components/GrToaster/chunks/{GrToaster-DJUzx3sR.js → GrToaster-CC49q3a4.js} +1 -1
  190. package/dist/components/GrToaster/chunks/{GrToaster-DJUzx3sR.js.map → GrToaster-CC49q3a4.js.map} +1 -1
  191. package/dist/components/GrToaster/index.js +1 -1
  192. package/dist/components/GrTree/chunks/{GrTree-BvOeQ3xJ.js.map → GrTree-J5q8aCya.js.map} +1 -1
  193. package/dist/components/GrTree/index.js +1 -1
  194. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-_LjTRR7X.js → GrTreeSelect-DEfxWAc3.js} +1 -1
  195. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-_LjTRR7X.js.map → GrTreeSelect-DEfxWAc3.js.map} +1 -1
  196. package/dist/components/GrTreeSelect/index.js +1 -1
  197. package/dist/composables/useFloating.js +47 -7
  198. package/dist/composables/useFloating.js.map +1 -1
  199. package/dist/composables/useTheme.js.map +1 -1
  200. package/dist/composables/useToast.js.map +1 -1
  201. package/dist/granular-provider-node.js +1 -1
  202. package/dist/granular-provider.js +1 -1
  203. package/dist/i18n/all.js +1 -1
  204. package/dist/i18n/index.js +1 -1
  205. package/dist/index.js +68 -58
  206. package/dist/theme.js +1 -1
  207. package/dist/tokens.js +1 -1
  208. package/dist/types/components/GrBadge/grBadgeStyles.d.ts +7 -0
  209. package/dist/types/components/GrCard/GrCard.vue.d.ts +1 -1
  210. package/dist/types/components/GrChip/GrChip.vue.d.ts +118 -0
  211. package/dist/types/components/GrChip/config.d.ts +1 -0
  212. package/dist/types/components/GrChip/defaults.d.ts +16 -0
  213. package/dist/types/components/GrChip/grChipGroupContext.d.ts +52 -0
  214. package/dist/types/components/GrChip/grChipStyles.d.ts +64 -0
  215. package/dist/types/components/GrChip/index.d.ts +11 -0
  216. package/dist/types/components/GrChip/safelist.d.ts +7 -0
  217. package/dist/types/components/GrChipGroup/GrChipGroup.vue.d.ts +128 -0
  218. package/dist/types/components/GrChipGroup/config.d.ts +1 -0
  219. package/dist/types/components/GrChipGroup/defaults.d.ts +13 -0
  220. package/dist/types/components/GrChipGroup/grChipGroupStyles.d.ts +7 -0
  221. package/dist/types/components/GrChipGroup/index.d.ts +9 -0
  222. package/dist/types/components/GrChipGroup/safelist.d.ts +1 -0
  223. package/dist/types/components/GrContextMenu/GrContextMenu.vue.d.ts +157 -0
  224. package/dist/types/components/GrContextMenu/config.d.ts +1 -0
  225. package/dist/types/components/GrContextMenu/contextMenuAnchor.d.ts +29 -0
  226. package/dist/types/components/GrContextMenu/index.d.ts +7 -0
  227. package/dist/types/components/GrDataTable/GrDataTable.vue.d.ts +1 -1
  228. package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +3 -3
  229. package/dist/types/components/GrDropdownMenu/GrDropdownMenuEntries.vue.d.ts +22 -0
  230. package/dist/types/components/GrFilePreview/GrFilePreview.vue.d.ts +1 -1
  231. package/dist/types/components/GrForm/index.d.ts +1 -1
  232. package/dist/types/components/GrList/GrListItem.vue.d.ts +1 -1
  233. package/dist/types/components/GrPopover/GrPopover.vue.d.ts +21 -2
  234. package/dist/types/components/GrPopover/grPopoverStyles.d.ts +11 -1
  235. package/dist/types/components/GrPopover/index.d.ts +1 -1
  236. package/dist/types/components/GrStatistic/GrStatistic.vue.d.ts +1 -1
  237. package/dist/types/components/GrSteps/GrSteps.vue.d.ts +118 -0
  238. package/dist/types/components/GrSteps/config.d.ts +1 -0
  239. package/dist/types/components/GrSteps/defaults.d.ts +18 -0
  240. package/dist/types/components/GrSteps/grStepsStyles.d.ts +63 -0
  241. package/dist/types/components/GrSteps/index.d.ts +11 -0
  242. package/dist/types/components/GrSteps/safelist.d.ts +1 -0
  243. package/dist/types/components/GrSteps/stepsModel.d.ts +57 -0
  244. package/dist/types/composables/internal/useMenuItemsFocus.d.ts +24 -0
  245. package/dist/types/composables/internal/useTypeahead.d.ts +30 -0
  246. package/dist/types/composables/useFloating.d.ts +33 -2
  247. package/dist/types/granular-provider/shared.d.ts +4 -0
  248. package/dist/types/i18n/messages/en.d.ts +26 -0
  249. package/dist/types/i18n/messages/es.d.ts +26 -0
  250. package/dist/types/i18n/messages/ru.d.ts +26 -0
  251. package/dist/types/index.d.ts +4 -0
  252. package/dist/web-types.json +790 -241
  253. package/package.json +18 -2
  254. package/dist/chunks/config-BSyiFlbi2.js.map +0 -1
  255. package/dist/chunks/config-BViooYNv2.js.map +0 -1
  256. package/dist/chunks/config-BfsBepkH2.js.map +0 -1
  257. package/dist/chunks/config-BuGlNPE9.js.map +0 -1
  258. package/dist/chunks/config-C5mO5DYZ.js.map +0 -1
  259. package/dist/chunks/config-DAX8Deh12.js.map +0 -1
  260. package/dist/chunks/config-T3qdQBgU2.js.map +0 -1
  261. package/dist/chunks/config-qVg3Zz_A.js.map +0 -1
  262. package/dist/chunks/config-rkcKArZQ2.js.map +0 -1
  263. package/dist/chunks/config-vSji8w902.js.map +0 -1
  264. package/dist/chunks/config-zjeAJ4ho.js.map +0 -1
  265. package/dist/chunks/context-BfIQv7m1.js.map +0 -1
  266. package/dist/chunks/en-DCCFP4qu.js.map +0 -1
  267. package/dist/chunks/es-CT34HBVM.js.map +0 -1
  268. package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js.map +0 -1
  269. package/dist/chunks/granular-provider-Dr2PKgl1.js.map +0 -1
  270. package/dist/chunks/ru-CLiAMwrx.js.map +0 -1
  271. package/dist/components/GrCard/chunks/GrCard-gI2wA8ZZ.js.map +0 -1
  272. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BFcMf4Pn.js.map +0 -1
  273. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-UP-EaoAf.js.map +0 -1
  274. package/dist/components/GrDataTable/chunks/GrDataTable-B5MmZFUg.js.map +0 -1
  275. package/dist/components/GrDialogService/chunks/GrDialogService-CrwA4aJq.js.map +0 -1
  276. package/dist/components/GrDrawer/chunks/GrDrawer-C3zAg2tG.js.map +0 -1
  277. package/dist/components/GrDropdown/chunks/GrDropdown-BSfFOcDx.js.map +0 -1
  278. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-DyS6dWDp.js.map +0 -1
  279. package/dist/components/GrFileUpload/chunks/GrFileUpload-D3-vC-ap.js.map +0 -1
  280. package/dist/components/GrFormField/chunks/GrFormField-kqfVY30N.js.map +0 -1
  281. package/dist/components/GrJsonViewer/chunks/GrJsonViewer-DFUppRNb.js.map +0 -1
  282. package/dist/components/GrList/chunks/GrList-DAtzVIHh.js.map +0 -1
  283. package/dist/components/GrModal/chunks/GrModal-CPz7SWD_.js.map +0 -1
  284. package/dist/components/GrPopover/chunks/GrPopover-b70bIlQ9.js.map +0 -1
  285. package/dist/components/GrSelect/chunks/GrSelect-CaGuyvtb.js.map +0 -1
  286. package/dist/components/GrTimeline/chunks/GrTimeline-Ch9sHzwL.js.map +0 -1
  287. package/dist/chunks/{config-BViooYNv2.js → config-BViooYNv.js} +0 -0
  288. package/dist/chunks/{config-BfsBepkH2.js → config-BfsBepkH.js} +0 -0
  289. package/dist/chunks/{config-BuGlNPE9.js → config-BuGlNPE92.js} +0 -0
  290. package/dist/chunks/{config-DAX8Deh12.js → config-DAX8Deh1.js} +0 -0
  291. package/dist/chunks/{config-T3qdQBgU2.js → config-T3qdQBgU.js} +0 -0
  292. package/dist/chunks/{config-rkcKArZQ2.js → config-rkcKArZQ.js} +0 -0
  293. package/dist/chunks/{config-vSji8w902.js → config-vSji8w90.js} +0 -0
  294. package/dist/chunks/{config-zjeAJ4ho.js → config-zjeAJ4ho2.js} +0 -0
  295. package/dist/chunks/{context-BfIQv7m1.js → context-BfIQv7m12.js} +0 -0
  296. package/dist/components/GrTree/chunks/{GrTree-BvOeQ3xJ.js → GrTree-J5q8aCya.js} +1 -1
@@ -0,0 +1,118 @@
1
+ import type { GrChipValue } from './grChipGroupContext';
2
+ import type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
3
+ /**
4
+ * Интерактивный тег: снимаемый, выбираемый, с иконкой.
5
+ *
6
+ * От `GrBadge` отличается не видом, а природой: бейдж — метка, чип — виджет.
7
+ * Поэтому цвета и радиусы взяты у бейджа как есть (в одном ряду они обязаны
8
+ * совпадать), а роль, клавиатура и размеры — свои.
9
+ */
10
+ export interface GrChipProps {
11
+ /** Значение чипа в группе. Вне `GrChipGroup` не используется. */
12
+ value?: GrChipValue;
13
+ /**
14
+ * Подпись. Нужна отдельно от слота: из неё собирается имя кнопки снятия —
15
+ * «Убрать» на двадцати кнопках подряд не даёт выбрать нужную.
16
+ */
17
+ label?: string;
18
+ tone?: GrChipTone;
19
+ dark?: boolean;
20
+ size?: GrChipSize;
21
+ radius?: GrChipRadius;
22
+ /** Чип становится переключателем: `aria-pressed`, `Enter`/`Space`. */
23
+ selectable?: boolean;
24
+ /** Состояние переключателя вне группы. Внутри группы значение ведёт группа. */
25
+ selected?: boolean;
26
+ /** Крестик. Внутри виджета он не кнопка — см. блок про роли ниже. */
27
+ closable?: boolean;
28
+ disabled?: boolean;
29
+ /** Доступное имя, когда подпись не объясняет назначения. */
30
+ ariaLabel?: string;
31
+ /** Имя кнопки снятия целиком. Перебивает собранное из `label`. */
32
+ removeLabel?: string;
33
+ }
34
+ export interface GrChipEmits {
35
+ (e: 'update:selected', value: boolean): void;
36
+ (e: 'remove'): void;
37
+ }
38
+ type __VLS_Slots = {
39
+ /** Подпись чипа. Внутри выбираемого чипа — только фразовое содержимое. */
40
+ default?: () => unknown;
41
+ /** Иконка перед подписью. */
42
+ icon?: () => unknown;
43
+ };
44
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipProps>, {
45
+ value: undefined;
46
+ label: undefined;
47
+ tone: undefined;
48
+ dark: undefined;
49
+ size: undefined;
50
+ radius: undefined;
51
+ selectable: boolean;
52
+ selected: boolean;
53
+ closable: boolean;
54
+ disabled: boolean;
55
+ ariaLabel: undefined;
56
+ removeLabel: undefined;
57
+ }>>, {
58
+ focus: () => void | undefined;
59
+ blur: () => void | undefined;
60
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
61
+ "update:selected": (value: boolean) => void;
62
+ remove: () => void;
63
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipProps>, {
64
+ value: undefined;
65
+ label: undefined;
66
+ tone: undefined;
67
+ dark: undefined;
68
+ size: undefined;
69
+ radius: undefined;
70
+ selectable: boolean;
71
+ selected: boolean;
72
+ closable: boolean;
73
+ disabled: boolean;
74
+ ariaLabel: undefined;
75
+ removeLabel: undefined;
76
+ }>>> & Readonly<{
77
+ "onUpdate:selected"?: ((value: boolean) => any) | undefined;
78
+ onRemove?: (() => any) | undefined;
79
+ }>, {
80
+ tone: GrChipTone;
81
+ closable: boolean;
82
+ size: GrChipSize;
83
+ radius: GrChipRadius;
84
+ dark: boolean;
85
+ value: GrChipValue;
86
+ label: string;
87
+ disabled: boolean;
88
+ ariaLabel: string;
89
+ selectable: boolean;
90
+ selected: boolean;
91
+ removeLabel: string;
92
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
93
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
94
+ declare const _default: typeof __VLS_export;
95
+ export default _default;
96
+ type __VLS_TypePropsToOption<T> = {
97
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
98
+ type: import('vue').PropType<Required<T>[K]>;
99
+ } : {
100
+ type: import('vue').PropType<T[K]>;
101
+ required: true;
102
+ };
103
+ };
104
+ type __VLS_WithDefaults<P, D> = {
105
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
106
+ default: D[K];
107
+ }> : P[K];
108
+ };
109
+ type __VLS_WithSlots<T, S> = T & {
110
+ new (): {
111
+ $slots: S;
112
+ };
113
+ };
114
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
115
+ [K in keyof T]: T[K];
116
+ } : {
117
+ [K in keyof T as K]: T[K];
118
+ }) & {};
@@ -0,0 +1 @@
1
+ export declare const grChipConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrChip">;
@@ -0,0 +1,16 @@
1
+ import type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
2
+ /**
3
+ * Пропы `GrChip`, настраиваемые глобально через `componentDefaults`.
4
+ * Только оформление: выбор и снятие относятся к экземпляру.
5
+ */
6
+ export interface GrChipConfigurableProps {
7
+ tone: GrChipTone;
8
+ size: GrChipSize;
9
+ radius: GrChipRadius;
10
+ dark: boolean;
11
+ }
12
+ declare module '../../composables/useGrComponentConfig' {
13
+ interface GrComponentDefaultsRegistry {
14
+ GrChip: GrChipConfigurableProps;
15
+ }
16
+ }
@@ -0,0 +1,52 @@
1
+ import type { ComputedRef, InjectionKey } from 'vue';
2
+ import type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
3
+ /**
4
+ * Значение чипа в группе.
5
+ *
6
+ * Не только строка: набор фильтров чаще всего адресуется id. Объекты сюда
7
+ * намеренно не входят — значение уходит в `data-value` и в скрытое поле
8
+ * нативной формы, а значит обязано иметь однозначное строковое представление.
9
+ */
10
+ export type GrChipValue = string | number | boolean;
11
+ /** Как группа обращается со множественностью выбора. */
12
+ export type GrChipSelection = 'single' | 'multiple';
13
+ export type GrChipEntry = {
14
+ value: () => GrChipValue;
15
+ disabled: () => boolean;
16
+ /**
17
+ * Корневой узел чипа. Геттер, а не значение: регистрация идёт в `setup`,
18
+ * когда элемента ещё нет. Благодаря ему группа переносит фокус, не обходя
19
+ * DOM селекторами.
20
+ */
21
+ el: () => HTMLElement | null;
22
+ };
23
+ export type GrChipGroupContext = {
24
+ selection: ComputedRef<GrChipSelection>;
25
+ isSelected: (value: GrChipValue) => boolean;
26
+ toggle: (value: GrChipValue) => void;
27
+ /** Снятие чипа группа не выполняет — состав рисует потребитель; она ретранслирует. */
28
+ requestRemove: (value: GrChipValue) => void;
29
+ disabled: ComputedRef<boolean>;
30
+ /** Выбор видно, но он не меняется. Группа объявляет это `aria-readonly` на себе. */
31
+ readonly: ComputedRef<boolean>;
32
+ invalid: ComputedRef<boolean>;
33
+ closable: ComputedRef<boolean>;
34
+ size: ComputedRef<GrChipSize>;
35
+ tone: ComputedRef<GrChipTone | undefined>;
36
+ radius: ComputedRef<GrChipRadius | undefined>;
37
+ dark: ComputedRef<boolean | undefined>;
38
+ /**
39
+ * Регистрация чипа в группе. Порядок регистрации совпадает с порядком в
40
+ * документе (setup детей идёт сверху вниз), поэтому состав известен и на
41
+ * сервере — без обхода DOM.
42
+ */
43
+ register: (entry: GrChipEntry) => () => void;
44
+ /**
45
+ * Значение чипа, который держит `tabindex="0"`. Roving tabindex: группа —
46
+ * одна остановка Tab, внутрь попадают стрелками.
47
+ */
48
+ rovingValue: ComputedRef<GrChipValue | undefined>;
49
+ /** Стрелки, `Home`, `End`. Вернул `true` — клавиша обработана. */
50
+ handleNavigationKeys: (event: KeyboardEvent) => boolean;
51
+ };
52
+ export declare const GR_CHIP_GROUP_CONTEXT: InjectionKey<GrChipGroupContext>;
@@ -0,0 +1,64 @@
1
+ import type { GrBadgeRadius, GrBadgeTone } from '../GrBadge/grBadgeStyles';
2
+ import type { GrComponentSize } from '../shared/sizes';
3
+ export type GrChipTone = GrBadgeTone;
4
+ export type GrChipSize = GrComponentSize;
5
+ export type GrChipRadius = GrBadgeRadius;
6
+ /**
7
+ * Размеры у чипа свои, а не бейджевые.
8
+ *
9
+ * Шкал кегля в пакете две: контрольная `xs…lg` (12/13/14/16) у полей и мельче
10
+ * `3xs…md` (10/11/12/14) у метки — `GrBadge`, `GrTooltip`. Чип берёт
11
+ * контрольную: по нему кликают, и цель нажатия обязана совпадать с соседним
12
+ * контролом, а не с подписью. Отсюда же явная высота — у метки её нет вовсе,
13
+ * а у цели нажатия она и есть главное.
14
+ *
15
+ * Тона и радиусы при этом переиспользуются у `GrBadge` без изменений: чип
16
+ * должен стоять с бейджем в одном ряду и не расходиться с ним по цвету.
17
+ */
18
+ export declare const chipSizeClassBySize: Record<GrChipSize, string>;
19
+ /** Крестик и иконка не растут вместе с кеглем один в один — плитка бы разъехалась. */
20
+ export declare const chipIconSizeClassBySize: Record<GrChipSize, string>;
21
+ /**
22
+ * `leading-none` осознанно: у контрольной шкалы парных ступеней межстрочного
23
+ * нет, и без явного значения плитка поехала бы за `line-height` приложения.
24
+ * Тот же приём у `GrBadge` и `GrKbd`.
25
+ */
26
+ export declare const chipRootClass = "inline-flex max-w-full items-center border align-middle leading-none whitespace-nowrap";
27
+ /** Подпись жмётся, а не ломает ряд: чип с длинным тегом не должен рвать раскладку. */
28
+ export declare const chipLabelClass = "min-w-0 truncate";
29
+ export declare const chipInteractiveClass = "cursor-pointer transition-colors duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-out)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] focus-visible:ring-offset-1 focus-visible:ring-offset-[var(--gr-bg)]";
30
+ /**
31
+ * Disabled гасится токеном фона, а не `opacity`: прозрачность разбавляет
32
+ * выверенные на AA токены текста и роняет контраст (`library-conventions.md`).
33
+ */
34
+ export declare const chipDisabledClass = "cursor-not-allowed bg-[var(--gr-chip-disabled-bg,var(--gr-muted))] text-[var(--gr-chip-disabled-fg,var(--gr-disabled-fg))] border-[var(--gr-chip-disabled-brd,var(--gr-brd))]";
35
+ /**
36
+ * Выбранный чип берёт **плотный** вариант своего тона, а не оттенок соседнего.
37
+ *
38
+ * Тон остаётся тем же — иначе набор фильтров превратился бы в радугу, — но
39
+ * меняется вес заливки: светлая подложка сменяется насыщенной, как у
40
+ * filled-бейджа. Это перепад светлоты, а не оттенка, поэтому различие
41
+ * переживает и монохром, и дальтонизм.
42
+ *
43
+ * Одной заливки всё же мало: **`font-600` остаётся вторым, нецветовым
44
+ * каналом** (WCAG 1.4.1). Он же вытягивает случай, когда потребитель поставил
45
+ * `dark` всему набору и заливка у выбранного и невыбранного совпадает.
46
+ */
47
+ export declare const chipSelectedClass = "font-600";
48
+ /** Крестик наследует цвет тона: своей роли у него нет, он часть плитки. */
49
+ export declare const chipCloseClass = "shrink-0 inline-flex items-center justify-center rounded-[var(--gr-radius-full)] text-current transition-colors duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-out)] hover:bg-[color-mix(in_srgb,currentColor_18%,transparent)]";
50
+ /**
51
+ * Крестик-кнопка стоит в таб-порядке и обязана показывать фокус сама: она
52
+ * появляется только там, где чип не виджет, то есть кольца на корне нет.
53
+ */
54
+ export declare const chipCloseButtonClass = "shrink-0 inline-flex items-center justify-center rounded-[var(--gr-radius-full)] text-current transition-colors duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-out)] hover:bg-[color-mix(in_srgb,currentColor_18%,transparent)] cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
55
+ export declare const chipIconClass = "shrink-0";
56
+ export declare function grChipClass(options: {
57
+ tone: GrChipTone;
58
+ dark: boolean;
59
+ size: GrChipSize;
60
+ radius: GrChipRadius;
61
+ interactive: boolean;
62
+ selected: boolean;
63
+ disabled: boolean;
64
+ }): string;
@@ -0,0 +1,11 @@
1
+ import type { ComponentExposed } from '../shared/instance';
2
+ import type GrChipComponent from './GrChip.vue';
3
+ export { default } from './GrChip.vue';
4
+ export { default as GrChip } from './GrChip.vue';
5
+ export { grChipConfig } from './config';
6
+ export type { GrChipConfigurableProps } from './defaults';
7
+ export type { GrChipGroupContext, GrChipSelection, GrChipValue } from './grChipGroupContext';
8
+ export type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
9
+ export { grChipSafelist } from './safelist';
10
+ export type { GrChipEmits, GrChipProps } from './GrChip.vue';
11
+ export type GrChipInstance = ComponentExposed<typeof GrChipComponent>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Тона и радиусы приходят из `grBadgeStyles.ts`, поэтому их safelist берётся
3
+ * ссылкой, а не копией: копия разошлась бы с оригиналом молча. Ребро
4
+ * `GrChip → GrBadge` объявлено в `config.ts` — без него пресет не подмешает
5
+ * стили бейджа при гранулярной селекции, и чип придёт бесцветным.
6
+ */
7
+ export declare const grChipSafelist: string[];
@@ -0,0 +1,128 @@
1
+ import type { GrChipSelection, GrChipValue } from '../GrChip/grChipGroupContext';
2
+ import type { GrChipRadius, GrChipSize, GrChipTone } from '../GrChip/grChipStyles';
3
+ /**
4
+ * GrChipGroup — набор выбираемых чипов: фильтры, теги записи, быстрый выбор.
5
+ *
6
+ * Составной виджет: одна остановка `Tab`, внутрь попадают стрелками
7
+ * (roving tabindex). Роль зависит от множественности выбора — `radiogroup`
8
+ * в одиночном, `listbox` с `aria-multiselectable` во множественном; чипы
9
+ * получают парную роль через контекст и сами её не выбирают.
10
+ *
11
+ * Состав группа не рисует: чипы приходят слотом, потому что у каждого своя
12
+ * подпись и иконка. Отсюда же и `remove` — группа его ретранслирует, а снимает
13
+ * чип потребитель, у которого лежит массив.
14
+ */
15
+ export interface GrChipGroupProps {
16
+ /** Одиночный выбор — значение, множественный — массив. */
17
+ modelValue?: GrChipValue | GrChipValue[] | null;
18
+ selection?: GrChipSelection;
19
+ /** Имя для нативной формы. Множественный выбор отдаёт по полю на значение. */
20
+ name?: string;
21
+ disabled?: boolean;
22
+ /** Выбор видно, но он не меняется. */
23
+ readonly?: boolean;
24
+ invalid?: boolean;
25
+ required?: boolean;
26
+ /** Крестик у всех чипов набора. Точечно перебивается пропом самого чипа. */
27
+ closable?: boolean;
28
+ size?: GrChipSize;
29
+ tone?: GrChipTone;
30
+ radius?: GrChipRadius;
31
+ dark?: boolean;
32
+ ariaLabel?: string;
33
+ }
34
+ export interface GrChipGroupEmits {
35
+ (e: 'update:modelValue', value: GrChipValue | GrChipValue[] | null): void;
36
+ (e: 'change', value: GrChipValue | GrChipValue[] | null): void;
37
+ (e: 'remove', value: GrChipValue): void;
38
+ (e: 'focus', event: FocusEvent): void;
39
+ (e: 'blur', event: FocusEvent): void;
40
+ }
41
+ type __VLS_Slots = {
42
+ /** Чипы набора. */
43
+ default?: () => unknown;
44
+ };
45
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipGroupProps>, {
46
+ modelValue: undefined;
47
+ selection: string;
48
+ name: undefined;
49
+ disabled: boolean;
50
+ readonly: boolean;
51
+ invalid: boolean;
52
+ required: boolean;
53
+ closable: boolean;
54
+ size: undefined;
55
+ tone: undefined;
56
+ radius: undefined;
57
+ dark: undefined;
58
+ ariaLabel: undefined;
59
+ }>>, {
60
+ focus: () => void | undefined;
61
+ blur: () => void | undefined;
62
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
63
+ "update:modelValue": (value: GrChipValue | GrChipValue[] | null) => void;
64
+ change: (value: GrChipValue | GrChipValue[] | null) => void;
65
+ remove: (value: GrChipValue) => void;
66
+ focus: (event: FocusEvent) => void;
67
+ blur: (event: FocusEvent) => void;
68
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipGroupProps>, {
69
+ modelValue: undefined;
70
+ selection: string;
71
+ name: undefined;
72
+ disabled: boolean;
73
+ readonly: boolean;
74
+ invalid: boolean;
75
+ required: boolean;
76
+ closable: boolean;
77
+ size: undefined;
78
+ tone: undefined;
79
+ radius: undefined;
80
+ dark: undefined;
81
+ ariaLabel: undefined;
82
+ }>>> & Readonly<{
83
+ onBlur?: ((event: FocusEvent) => any) | undefined;
84
+ onChange?: ((value: GrChipValue | GrChipValue[] | null) => any) | undefined;
85
+ onFocus?: ((event: FocusEvent) => any) | undefined;
86
+ "onUpdate:modelValue"?: ((value: GrChipValue | GrChipValue[] | null) => any) | undefined;
87
+ onRemove?: ((value: GrChipValue) => any) | undefined;
88
+ }>, {
89
+ tone: GrChipTone;
90
+ closable: boolean;
91
+ size: GrChipSize;
92
+ radius: GrChipRadius;
93
+ dark: boolean;
94
+ readonly: boolean;
95
+ name: string;
96
+ invalid: boolean;
97
+ disabled: boolean;
98
+ modelValue: GrChipValue | GrChipValue[] | null;
99
+ required: boolean;
100
+ ariaLabel: string;
101
+ selection: GrChipSelection;
102
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
103
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
104
+ declare const _default: typeof __VLS_export;
105
+ export default _default;
106
+ type __VLS_TypePropsToOption<T> = {
107
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
108
+ type: import('vue').PropType<Required<T>[K]>;
109
+ } : {
110
+ type: import('vue').PropType<T[K]>;
111
+ required: true;
112
+ };
113
+ };
114
+ type __VLS_WithDefaults<P, D> = {
115
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
116
+ default: D[K];
117
+ }> : P[K];
118
+ };
119
+ type __VLS_WithSlots<T, S> = T & {
120
+ new (): {
121
+ $slots: S;
122
+ };
123
+ };
124
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
125
+ [K in keyof T]: T[K];
126
+ } : {
127
+ [K in keyof T as K]: T[K];
128
+ }) & {};
@@ -0,0 +1 @@
1
+ export declare const grChipGroupConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrChipGroup">;
@@ -0,0 +1,13 @@
1
+ import type { GrChipSize } from '../GrChip/grChipStyles';
2
+ /**
3
+ * Пропы `GrChipGroup`, настраиваемые глобально через `componentDefaults`.
4
+ * Размер группы доезжает до чипов контекстом — задавать его на каждом не нужно.
5
+ */
6
+ export interface GrChipGroupConfigurableProps {
7
+ size: GrChipSize;
8
+ }
9
+ declare module '../../composables/useGrComponentConfig' {
10
+ interface GrComponentDefaultsRegistry {
11
+ GrChipGroup: GrChipGroupConfigurableProps;
12
+ }
13
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * У группы своих вариантов нет: она раскладывает чипы и ничего не красит.
3
+ * Класс вынесен сюда, а не оставлен литералом в шаблоне, только ради safelist —
4
+ * из `.vue` литералы попадают в скан сами, но тогда список классов группы жил
5
+ * бы в двух местах.
6
+ */
7
+ export declare const chipGroupRootClass = "flex flex-wrap items-center gap-2";
@@ -0,0 +1,9 @@
1
+ import type { ComponentExposed } from '../shared/instance';
2
+ import type GrChipGroupComponent from './GrChipGroup.vue';
3
+ export { default } from './GrChipGroup.vue';
4
+ export { default as GrChipGroup } from './GrChipGroup.vue';
5
+ export { grChipGroupConfig } from './config';
6
+ export type { GrChipGroupConfigurableProps } from './defaults';
7
+ export { grChipGroupSafelist } from './safelist';
8
+ export type { GrChipGroupEmits, GrChipGroupProps } from './GrChipGroup.vue';
9
+ export type GrChipGroupInstance = ComponentExposed<typeof GrChipGroupComponent>;
@@ -0,0 +1 @@
1
+ export declare const grChipGroupSafelist: string[];
@@ -0,0 +1,157 @@
1
+ import type { GrDropdownMenuAction, GrDropdownMenuEntry } from '../GrDropdownMenu/menuModel';
2
+ import type { GrFloatingAnchorRect, UseFloatingPlacement } from '../../composables/useFloating';
3
+ /** Чем открывается меню. `manual` — только императивно, из кода потребителя. */
4
+ export type GrContextMenuTrigger = 'contextmenu' | 'manual';
5
+ /** Откуда пришло открытие: указатель, клавиатура или вызов из кода. */
6
+ export type GrContextMenuSource = 'pointer' | 'keyboard' | 'api';
7
+ export interface GrContextMenuOpenContext {
8
+ source: GrContextMenuSource;
9
+ /** По чему кликнули или что было в фокусе — отсюда потребитель берёт строку. */
10
+ target: HTMLElement | null;
11
+ anchor: GrFloatingAnchorRect;
12
+ event: MouseEvent | KeyboardEvent | null;
13
+ }
14
+ export interface GrContextMenuProps {
15
+ /** Декларативное меню. Слот `#content` сильнее. */
16
+ items?: GrDropdownMenuEntry[];
17
+ /** Открыто ли меню. Без пропа компонент ведёт состояние сам. */
18
+ open?: boolean;
19
+ trigger?: GrContextMenuTrigger;
20
+ disabled?: boolean;
21
+ placement?: UseFloatingPlacement;
22
+ /** Зазор от якоря. Ноль по умолчанию: меню липнет к курсору. */
23
+ offsetPx?: number;
24
+ /** Меню из коротких слов не должно быть шириной в слово. */
25
+ minWidth?: number | string;
26
+ ariaLabel?: string;
27
+ labelledBy?: string;
28
+ teleportTo?: string | HTMLElement;
29
+ contentClass?: string;
30
+ listClass?: string;
31
+ dividers?: boolean;
32
+ /**
33
+ * Закрывать при прокрутке страницы. Якорь — точка вьюпорта, и панель осталась
34
+ * бы висеть на экране, пока контент под ней уезжает. Так же ведут себя
35
+ * нативные меню.
36
+ */
37
+ closeOnScroll?: boolean;
38
+ /** Пропускать `Shift`+правый клик к браузеру. */
39
+ allowNativeMenu?: boolean;
40
+ }
41
+ export interface GrContextMenuEmits {
42
+ (e: 'update:open', value: boolean): void;
43
+ /**
44
+ * Меню собирается открыться у этой цели. Приходит **до** открытия, чтобы
45
+ * потребитель успел пересобрать `items` под неё: пункты для папки и для файла
46
+ * разные, а узнать цель иначе неоткуда. Пустая модель после этого просто не
47
+ * откроется — отдельный способ отменить открытие не нужен.
48
+ */
49
+ (e: 'beforeOpen', context: GrContextMenuOpenContext): void;
50
+ (e: 'select', item: GrDropdownMenuAction): void;
51
+ }
52
+ /** Открыть у точки курсора или у произвольного прямоугольника вьюпорта. */
53
+ declare function openAt(at: MouseEvent | GrFloatingAnchorRect): void;
54
+ /** Открыть у прямоугольника элемента — клавиатурный путь для внешних композитов. */
55
+ declare function openAtElement(element: Element): void;
56
+ declare function open(): void;
57
+ declare function close(): void;
58
+ declare function toggle(): void;
59
+ declare var __VLS_1: {
60
+ open: boolean;
61
+ }, __VLS_22: {
62
+ close: () => void;
63
+ };
64
+ type __VLS_Slots = {} & {
65
+ default?: (props: typeof __VLS_1) => any;
66
+ } & {
67
+ content?: (props: typeof __VLS_22) => any;
68
+ };
69
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrContextMenuProps>, {
70
+ items: undefined;
71
+ open: undefined;
72
+ trigger: string;
73
+ disabled: boolean;
74
+ placement: string;
75
+ offsetPx: number;
76
+ minWidth: string;
77
+ ariaLabel: undefined;
78
+ labelledBy: undefined;
79
+ teleportTo: undefined;
80
+ contentClass: undefined;
81
+ listClass: undefined;
82
+ dividers: boolean;
83
+ closeOnScroll: boolean;
84
+ allowNativeMenu: boolean;
85
+ }>>, {
86
+ openAt: typeof openAt;
87
+ openAtElement: typeof openAtElement;
88
+ open: typeof open;
89
+ close: typeof close;
90
+ toggle: typeof toggle;
91
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
92
+ "update:open": (value: boolean) => void;
93
+ beforeOpen: (context: GrContextMenuOpenContext) => void;
94
+ select: (item: GrDropdownMenuAction) => void;
95
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrContextMenuProps>, {
96
+ items: undefined;
97
+ open: undefined;
98
+ trigger: string;
99
+ disabled: boolean;
100
+ placement: string;
101
+ offsetPx: number;
102
+ minWidth: string;
103
+ ariaLabel: undefined;
104
+ labelledBy: undefined;
105
+ teleportTo: undefined;
106
+ contentClass: undefined;
107
+ listClass: undefined;
108
+ dividers: boolean;
109
+ closeOnScroll: boolean;
110
+ allowNativeMenu: boolean;
111
+ }>>> & Readonly<{
112
+ onSelect?: ((item: GrDropdownMenuAction) => any) | undefined;
113
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
114
+ onBeforeOpen?: ((context: GrContextMenuOpenContext) => any) | undefined;
115
+ }>, {
116
+ minWidth: number | string;
117
+ placement: UseFloatingPlacement;
118
+ open: boolean;
119
+ disabled: boolean;
120
+ ariaLabel: string;
121
+ items: GrDropdownMenuEntry[];
122
+ labelledBy: string;
123
+ offsetPx: number;
124
+ trigger: GrContextMenuTrigger;
125
+ teleportTo: string | HTMLElement;
126
+ contentClass: string;
127
+ dividers: boolean;
128
+ listClass: string;
129
+ closeOnScroll: boolean;
130
+ allowNativeMenu: boolean;
131
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
132
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
133
+ declare const _default: typeof __VLS_export;
134
+ export default _default;
135
+ type __VLS_TypePropsToOption<T> = {
136
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
137
+ type: import('vue').PropType<Required<T>[K]>;
138
+ } : {
139
+ type: import('vue').PropType<T[K]>;
140
+ required: true;
141
+ };
142
+ };
143
+ type __VLS_WithDefaults<P, D> = {
144
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
145
+ default: D[K];
146
+ }> : P[K];
147
+ };
148
+ type __VLS_WithSlots<T, S> = T & {
149
+ new (): {
150
+ $slots: S;
151
+ };
152
+ };
153
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
154
+ [K in keyof T]: T[K];
155
+ } : {
156
+ [K in keyof T as K]: T[K];
157
+ }) & {};
@@ -0,0 +1 @@
1
+ export declare const grContextMenuConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrContextMenu">;
@@ -0,0 +1,29 @@
1
+ import type { GrFloatingAnchorRect } from '../../composables/useFloating';
2
+ /** Точка курсора — якорь нулевого размера. */
3
+ export declare function anchorFromPointer(event: MouseEvent): GrFloatingAnchorRect;
4
+ /**
5
+ * Прямоугольник элемента — якорь клавиатурного вызова.
6
+ *
7
+ * Не угол и не точка: меню, вызванное с клавиатуры, принадлежит **строке**, и
8
+ * при нехватке места снизу обязано перевернуться относительно неё целиком.
9
+ */
10
+ export declare function anchorFromElement(element: Element): GrFloatingAnchorRect;
11
+ /**
12
+ * `contextmenu` пришёл с клавиатуры, а не от мыши.
13
+ *
14
+ * Браузеры порождают это событие и для `Shift+F10`, но координаты в нём
15
+ * бесполезны: то угол элемента, то нули. Признаков два сразу, потому что по
16
+ * отдельности каждый ошибается — правый клик всегда `button === 2`, а
17
+ * клавиатурный вызов всегда без «числа кликов».
18
+ */
19
+ export declare function isKeyboardContextMenu(event: MouseEvent): boolean;
20
+ /**
21
+ * Пользователь просит нативное меню браузера.
22
+ *
23
+ * `Shift`+правый клик — де-факто escape-hatch, в Firefox задокументированный.
24
+ * `ctrlKey` сюда не входит намеренно: на macOS Ctrl+клик **и есть** правый
25
+ * клик, и меню перестало бы открываться у части пользователей.
26
+ */
27
+ export declare function wantsNativeMenu(event: MouseEvent): boolean;
28
+ /** Клавиатурный запрос контекстного меню: `Shift+F10` или клавиша `ContextMenu`. */
29
+ export declare function isContextMenuKey(event: KeyboardEvent): boolean;
@@ -0,0 +1,7 @@
1
+ import type { ComponentExposed } from '../shared/instance';
2
+ import type GrContextMenuComponent from './GrContextMenu.vue';
3
+ export { default } from './GrContextMenu.vue';
4
+ export { default as GrContextMenu } from './GrContextMenu.vue';
5
+ export type { GrContextMenuEmits, GrContextMenuOpenContext, GrContextMenuProps, GrContextMenuSource, GrContextMenuTrigger, } from './GrContextMenu.vue';
6
+ export { grContextMenuConfig } from './config';
7
+ export type GrContextMenuInstance = ComponentExposed<typeof GrContextMenuComponent>;