@feugene/granularity 0.23.0 → 0.25.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 (333) hide show
  1. package/dist/chunks/config-BFJIxE8b.js +62 -0
  2. package/dist/chunks/config-BFJIxE8b.js.map +1 -0
  3. package/dist/chunks/{config-DBQQT-WP.js → config-BIa3ilQm.js} +18 -3
  4. package/dist/chunks/config-BIa3ilQm.js.map +1 -0
  5. package/dist/chunks/config-BfsBepkH.js.map +1 -0
  6. package/dist/chunks/config-BoNR7_PD.js.map +1 -0
  7. package/dist/chunks/config-BuGlNPE92.js.map +1 -0
  8. package/dist/chunks/{config-Be9k9bOf.js → config-C8tVRv8i.js} +16 -2
  9. package/dist/chunks/config-C8tVRv8i.js.map +1 -0
  10. package/dist/chunks/config-CPSxM7XE.js +8 -0
  11. package/dist/chunks/config-CPSxM7XE.js.map +1 -0
  12. package/dist/chunks/config-D7zgE_Gr.js +107 -0
  13. package/dist/chunks/config-D7zgE_Gr.js.map +1 -0
  14. package/dist/chunks/config-DAX8Deh1.js.map +1 -0
  15. package/dist/chunks/config-DGCMHPCR.js +19 -0
  16. package/dist/chunks/config-DGCMHPCR.js.map +1 -0
  17. package/dist/chunks/config-DGWFal5h.js +128 -0
  18. package/dist/chunks/config-DGWFal5h.js.map +1 -0
  19. package/dist/chunks/config-DKISz9gR.js +39 -0
  20. package/dist/chunks/config-DKISz9gR.js.map +1 -0
  21. package/dist/chunks/{config-Bm_Sovla.js → config-DYgfMrIF.js} +14 -2
  22. package/dist/chunks/config-DYgfMrIF.js.map +1 -0
  23. package/dist/chunks/{config-BSyiFlbi.js → config-DtgYuGUn2.js} +2 -1
  24. package/dist/chunks/config-DtgYuGUn2.js.map +1 -0
  25. package/dist/chunks/config-Iu684VNI.js +21 -0
  26. package/dist/chunks/config-Iu684VNI.js.map +1 -0
  27. package/dist/chunks/config-T3qdQBgU.js.map +1 -0
  28. package/dist/chunks/{config-DCwQBMmJ.js → config-rkcKArZQ.js} +27 -8
  29. package/dist/chunks/config-rkcKArZQ.js.map +1 -0
  30. package/dist/chunks/config-zjeAJ4ho2.js.map +1 -0
  31. package/dist/chunks/context-BfIQv7m12.js.map +1 -0
  32. package/dist/chunks/context-CTbuwcYs.js.map +1 -1
  33. package/dist/chunks/{en-DCCFP4qu.js → en-NpP9e7lC.js} +16 -2
  34. package/dist/chunks/en-NpP9e7lC.js.map +1 -0
  35. package/dist/chunks/{es-CT34HBVM.js → es-DaeA2Ql-.js} +16 -2
  36. package/dist/chunks/es-DaeA2Ql-.js.map +1 -0
  37. package/dist/chunks/{es-DdJsxlUr.js → es-Do2CNrC2.js} +3 -3
  38. package/dist/chunks/{es-DdJsxlUr.js.map → es-Do2CNrC2.js.map} +1 -1
  39. package/dist/chunks/{generated-CiCrGDQO.js → generated-CJe6hdiE.js} +138 -6
  40. package/dist/chunks/{generated-CiCrGDQO.js.map → generated-CJe6hdiE.js.map} +1 -1
  41. package/dist/chunks/{grBadgeStyles-C2wLlkjF.js → grBadgeStyles-C1S56Alo.js} +6 -1
  42. package/dist/chunks/{grBadgeStyles-C2wLlkjF.js.map → grBadgeStyles-C1S56Alo.js.map} +1 -1
  43. package/dist/chunks/grChipGroupContext-DZXkACap.js +4 -0
  44. package/dist/chunks/grChipGroupContext-DZXkACap.js.map +1 -0
  45. package/dist/chunks/{config-C5mO5DYZ.js → grDropdownMenuStyles-D1LOkdVj.js} +1 -38
  46. package/dist/chunks/grDropdownMenuStyles-D1LOkdVj.js.map +1 -0
  47. package/dist/chunks/{grPopoverStyles-Rz_Z5nLW.js → grPopoverStyles-Cke_BZsM.js} +16 -3
  48. package/dist/chunks/grPopoverStyles-Cke_BZsM.js.map +1 -0
  49. package/dist/chunks/{granular-provider-CQKhl5C_.js → granular-provider-BaHkLjFX.js} +26 -16
  50. package/dist/chunks/granular-provider-BaHkLjFX.js.map +1 -0
  51. package/dist/chunks/{ru-CLiAMwrx.js → ru-Bg9-DPmg.js} +16 -2
  52. package/dist/chunks/ru-Bg9-DPmg.js.map +1 -0
  53. package/dist/chunks/{config-qVg3Zz_A.js → safelist-DOfCQR5O.js} +2 -19
  54. package/dist/chunks/safelist-DOfCQR5O.js.map +1 -0
  55. package/dist/chunks/useMenuItemsFocus-OyOnIAlr.js +117 -0
  56. package/dist/chunks/useMenuItemsFocus-OyOnIAlr.js.map +1 -0
  57. package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-DsevPtiS.js → GrAutocomplete-D9c9BNFg.js} +1 -1
  58. package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-DsevPtiS.js.map → GrAutocomplete-D9c9BNFg.js.map} +1 -1
  59. package/dist/components/GrAutocomplete/index.js +1 -1
  60. package/dist/components/GrBadge/chunks/{GrBadge-u2ZdS7CN.js → GrBadge-_9rCHuE1.js} +1 -1
  61. package/dist/components/GrBadge/chunks/{GrBadge-u2ZdS7CN.js.map → GrBadge-_9rCHuE1.js.map} +1 -1
  62. package/dist/components/GrBadge/index.js +3 -2
  63. package/dist/components/GrButton/chunks/{GrButton-Bw2AH4uX.js → GrButton-DCz-Wn-V.js} +1 -1
  64. package/dist/components/GrButton/chunks/{GrButton-Bw2AH4uX.js.map → GrButton-DCz-Wn-V.js.map} +1 -1
  65. package/dist/components/GrButton/index.js +1 -1
  66. package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CKyiAV8K.js → GrButtonGroup-BQo5VQ_c.js} +1 -1
  67. package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CKyiAV8K.js.map → GrButtonGroup-BQo5VQ_c.js.map} +1 -1
  68. package/dist/components/GrButtonGroup/index.js +2 -2
  69. package/dist/components/GrCard/chunks/{GrCard-Bc7nRfbe.js → GrCard-aQIjk6I9.js} +9 -3
  70. package/dist/components/GrCard/chunks/GrCard-aQIjk6I9.js.map +1 -0
  71. package/dist/components/GrCard/index.js +2 -2
  72. package/dist/components/GrCheckboxGroup/index.js +1 -1
  73. package/dist/components/GrChip/chunks/GrChip-BnL2FedO.js +222 -0
  74. package/dist/components/GrChip/chunks/GrChip-BnL2FedO.js.map +1 -0
  75. package/dist/components/GrChip/index.js +3 -0
  76. package/dist/components/GrChipGroup/chunks/GrChipGroup-DefmSdY9.js +209 -0
  77. package/dist/components/GrChipGroup/chunks/GrChipGroup-DefmSdY9.js.map +1 -0
  78. package/dist/components/GrChipGroup/index.js +3 -0
  79. package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-BmXCLgLS.js → GrCodeBlock-CyptiEo4.js} +1 -1
  80. package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-BmXCLgLS.js.map → GrCodeBlock-CyptiEo4.js.map} +1 -1
  81. package/dist/components/GrCodeBlock/index.js +1 -1
  82. package/dist/components/GrCollapse/chunks/{GrCollapse-C1rCfbc0.js → GrCollapse-DUROgAgc.js} +1 -1
  83. package/dist/components/GrCollapse/chunks/{GrCollapse-C1rCfbc0.js.map → GrCollapse-DUROgAgc.js.map} +1 -1
  84. package/dist/components/GrCollapse/index.js +1 -1
  85. package/dist/components/GrColorPicker/chunks/{GrColorPicker-qQdoEPHF.js → GrColorPicker-CDaJRVIM.js} +1 -1
  86. package/dist/components/GrColorPicker/chunks/{GrColorPicker-qQdoEPHF.js.map → GrColorPicker-CDaJRVIM.js.map} +1 -1
  87. package/dist/components/GrColorPicker/index.js +1 -1
  88. package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BFcMf4Pn.js → GrCommandPalette-BPsVN_XU.js} +3 -3
  89. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BPsVN_XU.js.map +1 -0
  90. package/dist/components/GrCommandPalette/index.js +1 -1
  91. package/dist/components/GrCommandPalette/styles.css +1 -1
  92. package/dist/components/GrConfigProvider/chunks/{GrConfigProvider-UP-EaoAf.js → GrConfigProvider-BF7R3hgg.js} +1 -1
  93. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BF7R3hgg.js.map +1 -0
  94. package/dist/components/GrConfigProvider/index.js +1 -1
  95. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-rRtMScJX.js → GrConfirmDialog-CwXNLyzk.js} +3 -3
  96. package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-rRtMScJX.js.map → GrConfirmDialog-CwXNLyzk.js.map} +1 -1
  97. package/dist/components/GrConfirmDialog/index.js +1 -1
  98. package/dist/components/GrContextMenu/chunks/GrContextMenu-BbAJholy.js +331 -0
  99. package/dist/components/GrContextMenu/chunks/GrContextMenu-BbAJholy.js.map +1 -0
  100. package/dist/components/GrContextMenu/index.js +3 -0
  101. package/dist/components/GrDataTable/chunks/{GrDataTable-B5MmZFUg.js → GrDataTable-NRbrXpdx.js} +2 -2
  102. package/dist/components/GrDataTable/chunks/GrDataTable-NRbrXpdx.js.map +1 -0
  103. package/dist/components/GrDataTable/index.js +1 -1
  104. package/dist/components/GrDelta/chunks/{GrDelta-DFvxNpmN.js → GrDelta-NE5HhXoo.js} +0 -0
  105. package/dist/components/GrDelta/chunks/GrDelta-NE5HhXoo.js.map +1 -0
  106. package/dist/components/GrDelta/index.js +2 -2
  107. package/dist/components/GrDescriptionList/chunks/{GrDescriptionList-2zFXzX83.js → GrDescriptionList-1mICfrqX.js} +8 -4
  108. package/dist/components/GrDescriptionList/chunks/GrDescriptionList-1mICfrqX.js.map +1 -0
  109. package/dist/components/GrDescriptionList/index.js +2 -2
  110. package/dist/components/GrDialog/chunks/{GrDialog-D0U5iRqV.js → GrDialog-5Y5K87ss.js} +2 -2
  111. package/dist/components/GrDialog/chunks/{GrDialog-D0U5iRqV.js.map → GrDialog-5Y5K87ss.js.map} +1 -1
  112. package/dist/components/GrDialog/index.js +1 -1
  113. package/dist/components/GrDialogService/chunks/{GrDialogService-CrwA4aJq.js → GrDialogService-CHhzGRWy.js} +6 -6
  114. package/dist/components/GrDialogService/chunks/GrDialogService-CHhzGRWy.js.map +1 -0
  115. package/dist/components/GrDialogService/index.js +1 -1
  116. package/dist/components/GrDrawer/chunks/{GrDrawer-C3zAg2tG.js → GrDrawer-CXy3-SVd.js} +2 -2
  117. package/dist/components/GrDrawer/chunks/GrDrawer-CXy3-SVd.js.map +1 -0
  118. package/dist/components/GrDrawer/index.js +1 -1
  119. package/dist/components/GrDropdown/chunks/{GrDropdown-BSfFOcDx.js → GrDropdown-BfTmdPyh.js} +10 -79
  120. package/dist/components/GrDropdown/chunks/GrDropdown-BfTmdPyh.js.map +1 -0
  121. package/dist/components/GrDropdown/index.js +1 -1
  122. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-l5HEqzjr.js +130 -0
  123. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-l5HEqzjr.js.map +1 -0
  124. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DyS6dWDp.js → GrDropdownMenuList-BGA_xNVo.js} +57 -159
  125. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenuList-BGA_xNVo.js.map +1 -0
  126. package/dist/components/GrDropdownMenu/index.js +3 -2
  127. package/dist/components/GrFileUpload/chunks/{GrFileUpload-D3-vC-ap.js → GrFileUpload-wNXzHb5N.js} +1 -1
  128. package/dist/components/GrFileUpload/chunks/GrFileUpload-wNXzHb5N.js.map +1 -0
  129. package/dist/components/GrFileUpload/index.js +1 -1
  130. package/dist/components/GrFormField/chunks/{GrFormField-kqfVY30N.js → GrFormField-DSylU7IU.js} +1 -1
  131. package/dist/components/GrFormField/chunks/GrFormField-DSylU7IU.js.map +1 -0
  132. package/dist/components/GrFormField/index.js +1 -1
  133. package/dist/components/GrFormFile/chunks/{GrFormFile-D722xHn8.js → GrFormFile-DhVkB2gm.js} +1 -1
  134. package/dist/components/GrFormFile/chunks/{GrFormFile-D722xHn8.js.map → GrFormFile-DhVkB2gm.js.map} +1 -1
  135. package/dist/components/GrFormFile/index.js +1 -1
  136. package/dist/components/GrInputTag/chunks/{GrInputTag-C7QVPijj.js → GrInputTag-UI8kIB_F.js} +2 -2
  137. package/dist/components/GrInputTag/chunks/{GrInputTag-C7QVPijj.js.map → GrInputTag-UI8kIB_F.js.map} +1 -1
  138. package/dist/components/GrInputTag/index.js +1 -1
  139. package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-DFUppRNb.js → GrJsonViewer-jk3ylOTc.js} +2 -2
  140. package/dist/components/GrJsonViewer/chunks/GrJsonViewer-jk3ylOTc.js.map +1 -0
  141. package/dist/components/GrJsonViewer/index.js +1 -1
  142. package/dist/components/GrList/chunks/{GrList-BRYhpqIe.js → GrList-B5bclmHV.js} +30 -3
  143. package/dist/components/GrList/chunks/GrList-B5bclmHV.js.map +1 -0
  144. package/dist/components/GrList/index.js +1 -1
  145. package/dist/components/GrList/styles.css +1 -1
  146. package/dist/components/GrLoading/chunks/{GrLoading-C3DZSSuh.js → GrLoading-DeBFTvFX.js} +1 -1
  147. package/dist/components/GrLoading/chunks/GrLoading-DeBFTvFX.js.map +1 -0
  148. package/dist/components/GrLoading/index.js +1 -1
  149. package/dist/components/GrModal/chunks/{GrModal-CPz7SWD_.js → GrModal-CCoWZuIl.js} +2 -2
  150. package/dist/components/GrModal/chunks/GrModal-CCoWZuIl.js.map +1 -0
  151. package/dist/components/GrModal/index.js +1 -1
  152. package/dist/components/GrNavbar/chunks/{GrNavbar-DWaaoV7n.js → GrNavbar-DPj30sHX.js} +1 -1
  153. package/dist/components/GrNavbar/chunks/{GrNavbar-DWaaoV7n.js.map → GrNavbar-DPj30sHX.js.map} +1 -1
  154. package/dist/components/GrNavbar/index.js +1 -1
  155. package/dist/components/GrNumberInput/chunks/{GrNumberInput-BotnzW77.js → GrNumberInput-V2mZvDDC.js} +1 -1
  156. package/dist/components/GrNumberInput/chunks/{GrNumberInput-BotnzW77.js.map → GrNumberInput-V2mZvDDC.js.map} +1 -1
  157. package/dist/components/GrNumberInput/index.js +2 -2
  158. package/dist/components/GrPagination/chunks/{GrPagination-GtGtSMJG.js → GrPagination-DG7kp6VL.js} +2 -2
  159. package/dist/components/GrPagination/chunks/{GrPagination-GtGtSMJG.js.map → GrPagination-DG7kp6VL.js.map} +1 -1
  160. package/dist/components/GrPagination/index.js +1 -1
  161. package/dist/components/GrPopover/chunks/{GrPopover-b70bIlQ9.js → GrPopover-DDChM1jD.js} +28 -10
  162. package/dist/components/GrPopover/chunks/GrPopover-DDChM1jD.js.map +1 -0
  163. package/dist/components/GrPopover/index.js +2 -2
  164. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-CEI8bf-t.js → GrPromptDialog-DjF-5oD9.js} +4 -4
  165. package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-CEI8bf-t.js.map → GrPromptDialog-DjF-5oD9.js.map} +1 -1
  166. package/dist/components/GrPromptDialog/index.js +1 -1
  167. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-BVmjKXcv.js → GrRadioGroup-7w4bXIg_.js} +1 -1
  168. package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-BVmjKXcv.js.map → GrRadioGroup-7w4bXIg_.js.map} +1 -1
  169. package/dist/components/GrRadioGroup/index.js +1 -1
  170. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CZONq8uT.js → GrResponseErrorBanner-BhP-xw2P.js} +1 -1
  171. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CZONq8uT.js.map → GrResponseErrorBanner-BhP-xw2P.js.map} +1 -1
  172. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CgfAwlg3.js → GrResponseErrorBanner-DA4q90Zt.js} +1 -1
  173. package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CgfAwlg3.js.map → GrResponseErrorBanner-DA4q90Zt.js.map} +1 -1
  174. package/dist/components/GrResponseErrorBanner/index.js +2 -2
  175. package/dist/components/GrSegmented/chunks/{GrSegmented-D1mjxF_O.js → GrSegmented-DKpo3cnC.js} +30 -5
  176. package/dist/components/GrSegmented/chunks/GrSegmented-DKpo3cnC.js.map +1 -0
  177. package/dist/components/GrSegmented/index.js +1 -1
  178. package/dist/components/GrSelect/chunks/{GrSelect-CaGuyvtb.js → GrSelect-BA1wfX3c.js} +19 -3
  179. package/dist/components/GrSelect/chunks/GrSelect-BA1wfX3c.js.map +1 -0
  180. package/dist/components/GrSelect/index.js +1 -1
  181. package/dist/components/GrSelect/styles.css +1 -1
  182. package/dist/components/GrSidebar/chunks/{GrSidebar-D7WxRtIu.js → GrSidebar-DY-LgIbS.js} +2 -2
  183. package/dist/components/GrSidebar/chunks/{GrSidebar-D7WxRtIu.js.map → GrSidebar-DY-LgIbS.js.map} +1 -1
  184. package/dist/components/GrSidebar/index.js +2 -2
  185. package/dist/components/GrSlider/index.js +1 -1
  186. package/dist/components/GrSortableList/chunks/{GrSortableList-DPjxilmN.js → GrSortableList-BMXyxmRc.js} +3 -3
  187. package/dist/components/GrSortableList/chunks/{GrSortableList-DPjxilmN.js.map → GrSortableList-BMXyxmRc.js.map} +1 -1
  188. package/dist/components/GrSortableList/index.js +2 -2
  189. package/dist/components/GrStatistic/chunks/{GrStatistic-C7wQECeS.js → GrStatistic-BJQv5aOS.js} +41 -26
  190. package/dist/components/GrStatistic/chunks/GrStatistic-BJQv5aOS.js.map +1 -0
  191. package/dist/components/GrStatistic/index.js +2 -2
  192. package/dist/components/GrSteps/chunks/GrSteps-Cce4rfr3.js +282 -0
  193. package/dist/components/GrSteps/chunks/GrSteps-Cce4rfr3.js.map +1 -0
  194. package/dist/components/GrSteps/index.js +3 -0
  195. package/dist/components/GrSwitch/chunks/{GrSwitch-x_vQQ6ao.js → GrSwitch-CHiIj9GT.js} +1 -1
  196. package/dist/components/GrSwitch/chunks/{GrSwitch-x_vQQ6ao.js.map → GrSwitch-CHiIj9GT.js.map} +1 -1
  197. package/dist/components/GrSwitch/index.js +2 -2
  198. package/dist/components/GrTabPanels/chunks/{GrTabPanels-AJt1w1XC.js → GrTabPanels-BZQS8-JM.js} +12 -1
  199. package/dist/components/GrTabPanels/chunks/{GrTabPanels-AJt1w1XC.js.map → GrTabPanels-BZQS8-JM.js.map} +1 -1
  200. package/dist/components/GrTabPanels/index.js +1 -1
  201. package/dist/components/GrTimeline/chunks/{GrTimeline-Ch9sHzwL.js → GrTimeline-DIDdkTn7.js} +12 -1
  202. package/dist/components/GrTimeline/chunks/GrTimeline-DIDdkTn7.js.map +1 -0
  203. package/dist/components/GrTimeline/index.js +1 -1
  204. package/dist/components/GrToaster/chunks/{GrToaster-DJUzx3sR.js → GrToaster-CC49q3a4.js} +1 -1
  205. package/dist/components/GrToaster/chunks/{GrToaster-DJUzx3sR.js.map → GrToaster-CC49q3a4.js.map} +1 -1
  206. package/dist/components/GrToaster/index.js +1 -1
  207. package/dist/components/GrTree/chunks/{GrTree-BvOeQ3xJ.js.map → GrTree-J5q8aCya.js.map} +1 -1
  208. package/dist/components/GrTree/index.js +1 -1
  209. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-_LjTRR7X.js → GrTreeSelect-DEfxWAc3.js} +1 -1
  210. package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-_LjTRR7X.js.map → GrTreeSelect-DEfxWAc3.js.map} +1 -1
  211. package/dist/components/GrTreeSelect/index.js +1 -1
  212. package/dist/components/GrValue/chunks/GrValue-CZsuZ4x-.js +38 -0
  213. package/dist/components/GrValue/chunks/GrValue-CZsuZ4x-.js.map +1 -0
  214. package/dist/components/GrValue/index.js +3 -0
  215. package/dist/composables/useFloating.js +47 -7
  216. package/dist/composables/useFloating.js.map +1 -1
  217. package/dist/composables/useTheme.js.map +1 -1
  218. package/dist/composables/useToast.js.map +1 -1
  219. package/dist/directives/loading.js +1 -1
  220. package/dist/granular-provider-node.js +1 -1
  221. package/dist/granular-provider.js +1 -1
  222. package/dist/i18n/all.js +1 -1
  223. package/dist/i18n/index.js +1 -1
  224. package/dist/index.js +74 -62
  225. package/dist/styles/themes/dark.css +11 -6
  226. package/dist/styles/themes/light.css +5 -0
  227. package/dist/theme.js +1 -1
  228. package/dist/tokens.js +1 -1
  229. package/dist/types/components/GrBadge/grBadgeStyles.d.ts +7 -0
  230. package/dist/types/components/GrCard/GrCard.vue.d.ts +1 -1
  231. package/dist/types/components/GrCard/grCardStyles.d.ts +11 -0
  232. package/dist/types/components/GrChip/GrChip.vue.d.ts +118 -0
  233. package/dist/types/components/GrChip/config.d.ts +1 -0
  234. package/dist/types/components/GrChip/defaults.d.ts +16 -0
  235. package/dist/types/components/GrChip/grChipGroupContext.d.ts +52 -0
  236. package/dist/types/components/GrChip/grChipStyles.d.ts +64 -0
  237. package/dist/types/components/GrChip/index.d.ts +11 -0
  238. package/dist/types/components/GrChip/safelist.d.ts +7 -0
  239. package/dist/types/components/GrChipGroup/GrChipGroup.vue.d.ts +128 -0
  240. package/dist/types/components/GrChipGroup/config.d.ts +1 -0
  241. package/dist/types/components/GrChipGroup/defaults.d.ts +13 -0
  242. package/dist/types/components/GrChipGroup/grChipGroupStyles.d.ts +7 -0
  243. package/dist/types/components/GrChipGroup/index.d.ts +9 -0
  244. package/dist/types/components/GrChipGroup/safelist.d.ts +1 -0
  245. package/dist/types/components/GrContextMenu/GrContextMenu.vue.d.ts +157 -0
  246. package/dist/types/components/GrContextMenu/config.d.ts +1 -0
  247. package/dist/types/components/GrContextMenu/contextMenuAnchor.d.ts +29 -0
  248. package/dist/types/components/GrContextMenu/index.d.ts +7 -0
  249. package/dist/types/components/GrDataTable/GrDataTable.vue.d.ts +1 -1
  250. package/dist/types/components/GrDelta/grDeltaStyles.d.ts +13 -1
  251. package/dist/types/components/GrDescriptionList/grDescriptionListStyles.d.ts +29 -1
  252. package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +3 -3
  253. package/dist/types/components/GrDropdownMenu/GrDropdownMenuEntries.vue.d.ts +22 -0
  254. package/dist/types/components/GrFilePreview/GrFilePreview.vue.d.ts +1 -1
  255. package/dist/types/components/GrList/GrListItem.vue.d.ts +1 -1
  256. package/dist/types/components/GrPopover/GrPopover.vue.d.ts +21 -2
  257. package/dist/types/components/GrPopover/grPopoverStyles.d.ts +11 -1
  258. package/dist/types/components/GrPopover/index.d.ts +1 -1
  259. package/dist/types/components/GrStatistic/GrStatistic.vue.d.ts +6 -6
  260. package/dist/types/components/GrStatistic/grStatisticStyles.d.ts +9 -0
  261. package/dist/types/components/GrSteps/GrSteps.vue.d.ts +118 -0
  262. package/dist/types/components/GrSteps/config.d.ts +1 -0
  263. package/dist/types/components/GrSteps/defaults.d.ts +18 -0
  264. package/dist/types/components/GrSteps/grStepsStyles.d.ts +63 -0
  265. package/dist/types/components/GrSteps/index.d.ts +11 -0
  266. package/dist/types/components/GrSteps/safelist.d.ts +1 -0
  267. package/dist/types/components/GrSteps/stepsModel.d.ts +57 -0
  268. package/dist/types/components/GrValue/GrValue.vue.d.ts +51 -0
  269. package/dist/types/components/GrValue/config.d.ts +1 -0
  270. package/dist/types/components/GrValue/grValueStyles.d.ts +34 -0
  271. package/dist/types/components/GrValue/index.d.ts +5 -0
  272. package/dist/types/components/GrValue/safelist.d.ts +1 -0
  273. package/dist/types/components/shared/truncationTitle.d.ts +16 -0
  274. package/dist/types/composables/internal/useMenuItemsFocus.d.ts +24 -0
  275. package/dist/types/composables/internal/useTypeahead.d.ts +30 -0
  276. package/dist/types/composables/useFloating.d.ts +33 -2
  277. package/dist/types/granular-provider/shared.d.ts +5 -0
  278. package/dist/types/i18n/messages/en.d.ts +26 -0
  279. package/dist/types/i18n/messages/es.d.ts +26 -0
  280. package/dist/types/i18n/messages/ru.d.ts +26 -0
  281. package/dist/types/index.d.ts +6 -0
  282. package/dist/web-types.json +799 -195
  283. package/package.json +22 -2
  284. package/tokens/themes/dark.json +26 -6
  285. package/tokens/themes/light.json +20 -0
  286. package/dist/chunks/config-BSyiFlbi.js.map +0 -1
  287. package/dist/chunks/config-Be9k9bOf.js.map +0 -1
  288. package/dist/chunks/config-BfsBepkH2.js.map +0 -1
  289. package/dist/chunks/config-Bm_Sovla.js.map +0 -1
  290. package/dist/chunks/config-BoNR7_PD2.js.map +0 -1
  291. package/dist/chunks/config-BuGlNPE9.js.map +0 -1
  292. package/dist/chunks/config-C5mO5DYZ.js.map +0 -1
  293. package/dist/chunks/config-DAX8Deh12.js.map +0 -1
  294. package/dist/chunks/config-DBQQT-WP.js.map +0 -1
  295. package/dist/chunks/config-DCwQBMmJ.js.map +0 -1
  296. package/dist/chunks/config-T3qdQBgU2.js.map +0 -1
  297. package/dist/chunks/config-qVg3Zz_A.js.map +0 -1
  298. package/dist/chunks/config-zjeAJ4ho.js.map +0 -1
  299. package/dist/chunks/context-BfIQv7m1.js.map +0 -1
  300. package/dist/chunks/en-DCCFP4qu.js.map +0 -1
  301. package/dist/chunks/es-CT34HBVM.js.map +0 -1
  302. package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js.map +0 -1
  303. package/dist/chunks/granular-provider-CQKhl5C_.js.map +0 -1
  304. package/dist/chunks/ru-CLiAMwrx.js.map +0 -1
  305. package/dist/components/GrCard/chunks/GrCard-Bc7nRfbe.js.map +0 -1
  306. package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BFcMf4Pn.js.map +0 -1
  307. package/dist/components/GrConfigProvider/chunks/GrConfigProvider-UP-EaoAf.js.map +0 -1
  308. package/dist/components/GrDataTable/chunks/GrDataTable-B5MmZFUg.js.map +0 -1
  309. package/dist/components/GrDelta/chunks/GrDelta-DFvxNpmN.js.map +0 -1
  310. package/dist/components/GrDescriptionList/chunks/GrDescriptionList-2zFXzX83.js.map +0 -1
  311. package/dist/components/GrDialogService/chunks/GrDialogService-CrwA4aJq.js.map +0 -1
  312. package/dist/components/GrDrawer/chunks/GrDrawer-C3zAg2tG.js.map +0 -1
  313. package/dist/components/GrDropdown/chunks/GrDropdown-BSfFOcDx.js.map +0 -1
  314. package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-DyS6dWDp.js.map +0 -1
  315. package/dist/components/GrFileUpload/chunks/GrFileUpload-D3-vC-ap.js.map +0 -1
  316. package/dist/components/GrFormField/chunks/GrFormField-kqfVY30N.js.map +0 -1
  317. package/dist/components/GrJsonViewer/chunks/GrJsonViewer-DFUppRNb.js.map +0 -1
  318. package/dist/components/GrList/chunks/GrList-BRYhpqIe.js.map +0 -1
  319. package/dist/components/GrLoading/chunks/GrLoading-C3DZSSuh.js.map +0 -1
  320. package/dist/components/GrModal/chunks/GrModal-CPz7SWD_.js.map +0 -1
  321. package/dist/components/GrPopover/chunks/GrPopover-b70bIlQ9.js.map +0 -1
  322. package/dist/components/GrSegmented/chunks/GrSegmented-D1mjxF_O.js.map +0 -1
  323. package/dist/components/GrSelect/chunks/GrSelect-CaGuyvtb.js.map +0 -1
  324. package/dist/components/GrStatistic/chunks/GrStatistic-C7wQECeS.js.map +0 -1
  325. package/dist/components/GrTimeline/chunks/GrTimeline-Ch9sHzwL.js.map +0 -1
  326. package/dist/chunks/{config-BfsBepkH2.js → config-BfsBepkH.js} +0 -0
  327. package/dist/chunks/{config-BoNR7_PD2.js → config-BoNR7_PD.js} +0 -0
  328. package/dist/chunks/{config-BuGlNPE9.js → config-BuGlNPE92.js} +0 -0
  329. package/dist/chunks/{config-DAX8Deh12.js → config-DAX8Deh1.js} +0 -0
  330. package/dist/chunks/{config-T3qdQBgU2.js → config-T3qdQBgU.js} +0 -0
  331. package/dist/chunks/{config-zjeAJ4ho.js → config-zjeAJ4ho2.js} +0 -0
  332. package/dist/chunks/{context-BfIQv7m1.js → context-BfIQv7m12.js} +0 -0
  333. package/dist/components/GrTree/chunks/{GrTree-BvOeQ3xJ.js → GrTree-J5q8aCya.js} +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@feugene/granularity",
4
- "version": "0.23.0",
4
+ "version": "0.25.0",
5
5
  "framework": "vue",
6
6
  "js-types-syntax": "typescript",
7
7
  "description-markup": "markdown",
@@ -1489,6 +1489,280 @@
1489
1489
  ]
1490
1490
  }
1491
1491
  },
1492
+ {
1493
+ "name": "GrChip",
1494
+ "source": {
1495
+ "module": "@feugene/granularity/components/GrChip",
1496
+ "symbol": "GrChip"
1497
+ },
1498
+ "props": [
1499
+ {
1500
+ "name": "tone",
1501
+ "default": "undefined",
1502
+ "value": {
1503
+ "kind": "expression",
1504
+ "type": "\"primary\" | \"neutral\" | \"success\" | \"warning\" | \"danger\" | \"info\" | \"slate\" | \"azure\" | undefined"
1505
+ }
1506
+ },
1507
+ {
1508
+ "name": "closable",
1509
+ "description": "Крестик. Внутри виджета он не кнопка — см. блок про роли ниже.",
1510
+ "default": "false",
1511
+ "value": {
1512
+ "kind": "expression",
1513
+ "type": "boolean | undefined"
1514
+ }
1515
+ },
1516
+ {
1517
+ "name": "disabled",
1518
+ "default": "false",
1519
+ "value": {
1520
+ "kind": "expression",
1521
+ "type": "boolean | undefined"
1522
+ }
1523
+ },
1524
+ {
1525
+ "name": "size",
1526
+ "default": "undefined",
1527
+ "value": {
1528
+ "kind": "expression",
1529
+ "type": "\"xs\" | \"sm\" | \"md\" | \"lg\" | undefined"
1530
+ }
1531
+ },
1532
+ {
1533
+ "name": "ariaLabel",
1534
+ "description": "Доступное имя, когда подпись не объясняет назначения.",
1535
+ "default": "undefined",
1536
+ "value": {
1537
+ "kind": "expression",
1538
+ "type": "string | undefined"
1539
+ }
1540
+ },
1541
+ {
1542
+ "name": "dark",
1543
+ "default": "undefined",
1544
+ "value": {
1545
+ "kind": "expression",
1546
+ "type": "boolean | undefined"
1547
+ }
1548
+ },
1549
+ {
1550
+ "name": "radius",
1551
+ "default": "undefined",
1552
+ "value": {
1553
+ "kind": "expression",
1554
+ "type": "GrBadgeRadius | undefined"
1555
+ }
1556
+ },
1557
+ {
1558
+ "name": "value",
1559
+ "description": "Значение чипа в группе. Вне `GrChipGroup` не используется.",
1560
+ "default": "undefined",
1561
+ "value": {
1562
+ "kind": "expression",
1563
+ "type": "GrChipValue | undefined"
1564
+ }
1565
+ },
1566
+ {
1567
+ "name": "label",
1568
+ "description": "Подпись. Нужна отдельно от слота: из неё собирается имя кнопки снятия — «Убрать» на двадцати кнопках подряд не даёт выбрать нужную.",
1569
+ "default": "undefined",
1570
+ "value": {
1571
+ "kind": "expression",
1572
+ "type": "string | undefined"
1573
+ }
1574
+ },
1575
+ {
1576
+ "name": "selectable",
1577
+ "description": "Чип становится переключателем: `aria-pressed`, `Enter`/`Space`.",
1578
+ "default": "false",
1579
+ "value": {
1580
+ "kind": "expression",
1581
+ "type": "boolean | undefined"
1582
+ }
1583
+ },
1584
+ {
1585
+ "name": "selected",
1586
+ "description": "Состояние переключателя вне группы. Внутри группы значение ведёт группа.",
1587
+ "default": "false",
1588
+ "value": {
1589
+ "kind": "expression",
1590
+ "type": "boolean | undefined"
1591
+ }
1592
+ },
1593
+ {
1594
+ "name": "removeLabel",
1595
+ "description": "Имя кнопки снятия целиком. Перебивает собранное из `label`.",
1596
+ "default": "undefined",
1597
+ "value": {
1598
+ "kind": "expression",
1599
+ "type": "string | undefined"
1600
+ }
1601
+ }
1602
+ ],
1603
+ "slots": [
1604
+ {
1605
+ "name": "default",
1606
+ "description": "Подпись чипа. Внутри выбираемого чипа — только фразовое содержимое."
1607
+ },
1608
+ {
1609
+ "name": "icon",
1610
+ "description": "Иконка перед подписью."
1611
+ }
1612
+ ],
1613
+ "js": {
1614
+ "events": [
1615
+ {
1616
+ "name": "remove"
1617
+ },
1618
+ {
1619
+ "name": "update:selected"
1620
+ }
1621
+ ]
1622
+ }
1623
+ },
1624
+ {
1625
+ "name": "GrChipGroup",
1626
+ "source": {
1627
+ "module": "@feugene/granularity/components/GrChipGroup",
1628
+ "symbol": "GrChipGroup"
1629
+ },
1630
+ "props": [
1631
+ {
1632
+ "name": "tone",
1633
+ "default": "undefined",
1634
+ "value": {
1635
+ "kind": "expression",
1636
+ "type": "\"primary\" | \"neutral\" | \"success\" | \"warning\" | \"danger\" | \"info\" | \"slate\" | \"azure\" | undefined"
1637
+ }
1638
+ },
1639
+ {
1640
+ "name": "closable",
1641
+ "description": "Крестик у всех чипов набора. Точечно перебивается пропом самого чипа.",
1642
+ "default": "false",
1643
+ "value": {
1644
+ "kind": "expression",
1645
+ "type": "boolean | undefined"
1646
+ }
1647
+ },
1648
+ {
1649
+ "name": "modelValue",
1650
+ "description": "Одиночный выбор — значение, множественный — массив.",
1651
+ "default": "undefined",
1652
+ "value": {
1653
+ "kind": "expression",
1654
+ "type": "GrChipValue | GrChipValue[] | null | undefined"
1655
+ }
1656
+ },
1657
+ {
1658
+ "name": "disabled",
1659
+ "default": "false",
1660
+ "value": {
1661
+ "kind": "expression",
1662
+ "type": "boolean | undefined"
1663
+ }
1664
+ },
1665
+ {
1666
+ "name": "readonly",
1667
+ "description": "Выбор видно, но он не меняется.",
1668
+ "default": "false",
1669
+ "value": {
1670
+ "kind": "expression",
1671
+ "type": "boolean | undefined"
1672
+ }
1673
+ },
1674
+ {
1675
+ "name": "invalid",
1676
+ "default": "false",
1677
+ "value": {
1678
+ "kind": "expression",
1679
+ "type": "boolean | undefined"
1680
+ }
1681
+ },
1682
+ {
1683
+ "name": "required",
1684
+ "default": "false",
1685
+ "value": {
1686
+ "kind": "expression",
1687
+ "type": "boolean | undefined"
1688
+ }
1689
+ },
1690
+ {
1691
+ "name": "size",
1692
+ "default": "undefined",
1693
+ "value": {
1694
+ "kind": "expression",
1695
+ "type": "\"xs\" | \"sm\" | \"md\" | \"lg\" | undefined"
1696
+ }
1697
+ },
1698
+ {
1699
+ "name": "ariaLabel",
1700
+ "default": "undefined",
1701
+ "value": {
1702
+ "kind": "expression",
1703
+ "type": "string | undefined"
1704
+ }
1705
+ },
1706
+ {
1707
+ "name": "name",
1708
+ "description": "Имя для нативной формы. Множественный выбор отдаёт по полю на значение.",
1709
+ "default": "undefined",
1710
+ "value": {
1711
+ "kind": "expression",
1712
+ "type": "string | undefined"
1713
+ }
1714
+ },
1715
+ {
1716
+ "name": "dark",
1717
+ "default": "undefined",
1718
+ "value": {
1719
+ "kind": "expression",
1720
+ "type": "boolean | undefined"
1721
+ }
1722
+ },
1723
+ {
1724
+ "name": "radius",
1725
+ "default": "undefined",
1726
+ "value": {
1727
+ "kind": "expression",
1728
+ "type": "GrBadgeRadius | undefined"
1729
+ }
1730
+ },
1731
+ {
1732
+ "name": "selection",
1733
+ "default": "\"multiple\"",
1734
+ "value": {
1735
+ "kind": "expression",
1736
+ "type": "GrChipSelection | undefined"
1737
+ }
1738
+ }
1739
+ ],
1740
+ "slots": [
1741
+ {
1742
+ "name": "default",
1743
+ "description": "Чипы набора."
1744
+ }
1745
+ ],
1746
+ "js": {
1747
+ "events": [
1748
+ {
1749
+ "name": "update:modelValue"
1750
+ },
1751
+ {
1752
+ "name": "change"
1753
+ },
1754
+ {
1755
+ "name": "focus"
1756
+ },
1757
+ {
1758
+ "name": "blur"
1759
+ },
1760
+ {
1761
+ "name": "remove"
1762
+ }
1763
+ ]
1764
+ }
1765
+ },
1492
1766
  {
1493
1767
  "name": "GrCodeBlock",
1494
1768
  "source": {
@@ -2178,101 +2452,260 @@
2178
2452
  "default": "undefined",
2179
2453
  "value": {
2180
2454
  "kind": "expression",
2181
- "type": "\"xs\" | \"sm\" | \"md\" | \"lg\" | undefined"
2455
+ "type": "\"xs\" | \"sm\" | \"md\" | \"lg\" | undefined"
2456
+ }
2457
+ },
2458
+ {
2459
+ "name": "confirmText",
2460
+ "default": "undefined",
2461
+ "value": {
2462
+ "kind": "expression",
2463
+ "type": "string | undefined"
2464
+ }
2465
+ },
2466
+ {
2467
+ "name": "cancelText",
2468
+ "default": "undefined",
2469
+ "value": {
2470
+ "kind": "expression",
2471
+ "type": "string | undefined"
2472
+ }
2473
+ },
2474
+ {
2475
+ "name": "confirmVariant",
2476
+ "default": "\"primary\"",
2477
+ "value": {
2478
+ "kind": "expression",
2479
+ "type": "GrButtonVariant | undefined"
2480
+ }
2481
+ },
2482
+ {
2483
+ "name": "confirmTone",
2484
+ "default": "\"primary\"",
2485
+ "value": {
2486
+ "kind": "expression",
2487
+ "type": "\"primary\" | \"neutral\" | \"success\" | \"warning\" | \"danger\" | \"info\" | \"slate\" | \"azure\" | undefined"
2488
+ }
2489
+ },
2490
+ {
2491
+ "name": "error",
2492
+ "description": "Структура ошибки ответа сервера для показа в теле диалога (через `GrResponseErrorBanner`). Используется императивным `useDialogService` для async-`onConfirm`. `null` — блок скрыт.",
2493
+ "default": "null",
2494
+ "value": {
2495
+ "kind": "expression",
2496
+ "type": "ResponseErrorInfo | null | undefined"
2497
+ }
2498
+ },
2499
+ {
2500
+ "name": "confirmLoading",
2501
+ "description": "Состояние загрузки кнопки Confirm (async-`onConfirm` in-flight).",
2502
+ "default": "false",
2503
+ "value": {
2504
+ "kind": "expression",
2505
+ "type": "boolean | undefined"
2506
+ }
2507
+ },
2508
+ {
2509
+ "name": "confirmDisabled",
2510
+ "description": "Принудительно дизейблит кнопку Confirm.",
2511
+ "default": "false",
2512
+ "value": {
2513
+ "kind": "expression",
2514
+ "type": "boolean | undefined"
2515
+ }
2516
+ },
2517
+ {
2518
+ "name": "closeOnConfirm",
2519
+ "description": "Закрывать ли диалог автоматически по клику Confirm. По умолчанию `true` (историческое поведение). `false` — отдаёт управление закрытием наружу (нужно `useDialogService`, который ждёт результат async-`onConfirm`).",
2520
+ "default": "true",
2521
+ "value": {
2522
+ "kind": "expression",
2523
+ "type": "boolean | undefined"
2524
+ }
2525
+ },
2526
+ {
2527
+ "name": "focusAction",
2528
+ "description": "Какое действие получает фокус при открытии. По умолчанию «Отмена»: подтверждение бывает деструктивным, и `Enter` сразу после открытия не должен его запускать. `none` оставляет фокус на панели окна. Имя не `initialFocus` намеренно: у `GrModal`/`GrDrawer` так называется проп с элементом, а здесь выбирается действие.",
2529
+ "default": "\"cancel\"",
2530
+ "value": {
2531
+ "kind": "expression",
2532
+ "type": "GrConfirmDialogFocusAction | undefined"
2533
+ }
2534
+ },
2535
+ {
2536
+ "name": "persistent",
2537
+ "description": "Запрет закрытия «мягкими» способами (Esc, клик по бэкдропу), пока идёт подтверждение (`confirmLoading`). Кнопка закрытия и «Отмена» остаются: окно без единого выхода — ловушка.",
2538
+ "default": "false",
2539
+ "value": {
2540
+ "kind": "expression",
2541
+ "type": "boolean | undefined"
2542
+ }
2543
+ },
2544
+ {
2545
+ "name": "modelValue",
2546
+ "required": true,
2547
+ "value": {
2548
+ "kind": "expression",
2549
+ "type": "boolean"
2550
+ }
2551
+ }
2552
+ ],
2553
+ "slots": [
2554
+ {
2555
+ "name": "default"
2556
+ },
2557
+ {
2558
+ "name": "error"
2559
+ },
2560
+ {
2561
+ "name": "footer"
2562
+ }
2563
+ ],
2564
+ "js": {
2565
+ "events": [
2566
+ {
2567
+ "name": "update:modelValue"
2568
+ },
2569
+ {
2570
+ "name": "confirm"
2571
+ },
2572
+ {
2573
+ "name": "cancel"
2574
+ }
2575
+ ]
2576
+ }
2577
+ },
2578
+ {
2579
+ "name": "GrContextMenu",
2580
+ "source": {
2581
+ "module": "@feugene/granularity/components/GrContextMenu",
2582
+ "symbol": "GrContextMenu"
2583
+ },
2584
+ "props": [
2585
+ {
2586
+ "name": "open",
2587
+ "description": "Открыто ли меню. Без пропа компонент ведёт состояние сам.",
2588
+ "default": "undefined",
2589
+ "value": {
2590
+ "kind": "expression",
2591
+ "type": "boolean | undefined"
2592
+ }
2593
+ },
2594
+ {
2595
+ "name": "disabled",
2596
+ "default": "false",
2597
+ "value": {
2598
+ "kind": "expression",
2599
+ "type": "boolean | undefined"
2600
+ }
2601
+ },
2602
+ {
2603
+ "name": "ariaLabel",
2604
+ "default": "undefined",
2605
+ "value": {
2606
+ "kind": "expression",
2607
+ "type": "string | undefined"
2608
+ }
2609
+ },
2610
+ {
2611
+ "name": "placement",
2612
+ "default": "\"bottom-start\"",
2613
+ "value": {
2614
+ "kind": "expression",
2615
+ "type": "Placement | undefined"
2182
2616
  }
2183
2617
  },
2184
2618
  {
2185
- "name": "confirmText",
2619
+ "name": "items",
2620
+ "description": "Декларативное меню. Слот `#content` сильнее.",
2186
2621
  "default": "undefined",
2187
2622
  "value": {
2188
2623
  "kind": "expression",
2189
- "type": "string | undefined"
2624
+ "type": "GrDropdownMenuEntry[] | undefined"
2190
2625
  }
2191
2626
  },
2192
2627
  {
2193
- "name": "cancelText",
2194
- "default": "undefined",
2628
+ "name": "trigger",
2629
+ "default": "\"contextmenu\"",
2195
2630
  "value": {
2196
2631
  "kind": "expression",
2197
- "type": "string | undefined"
2632
+ "type": "GrContextMenuTrigger | undefined"
2198
2633
  }
2199
2634
  },
2200
2635
  {
2201
- "name": "confirmVariant",
2202
- "default": "\"primary\"",
2636
+ "name": "offsetPx",
2637
+ "description": "Зазор от якоря. Ноль по умолчанию: меню липнет к курсору.",
2638
+ "default": "0",
2203
2639
  "value": {
2204
2640
  "kind": "expression",
2205
- "type": "GrButtonVariant | undefined"
2641
+ "type": "number | undefined"
2206
2642
  }
2207
2643
  },
2208
2644
  {
2209
- "name": "confirmTone",
2210
- "default": "\"primary\"",
2645
+ "name": "minWidth",
2646
+ "description": "Меню из коротких слов не должно быть шириной в слово.",
2647
+ "default": "\"11rem\"",
2211
2648
  "value": {
2212
2649
  "kind": "expression",
2213
- "type": "\"primary\" | \"neutral\" | \"success\" | \"warning\" | \"danger\" | \"info\" | \"slate\" | \"azure\" | undefined"
2650
+ "type": "string | number | undefined"
2214
2651
  }
2215
2652
  },
2216
2653
  {
2217
- "name": "error",
2218
- "description": "Структура ошибки ответа сервера для показа в теле диалога (через `GrResponseErrorBanner`). Используется императивным `useDialogService` для async-`onConfirm`. `null` — блок скрыт.",
2219
- "default": "null",
2654
+ "name": "labelledBy",
2655
+ "default": "undefined",
2220
2656
  "value": {
2221
2657
  "kind": "expression",
2222
- "type": "ResponseErrorInfo | null | undefined"
2658
+ "type": "string | undefined"
2223
2659
  }
2224
2660
  },
2225
2661
  {
2226
- "name": "confirmLoading",
2227
- "description": "Состояние загрузки кнопки Confirm (async-`onConfirm` in-flight).",
2228
- "default": "false",
2662
+ "name": "teleportTo",
2663
+ "default": "undefined",
2229
2664
  "value": {
2230
2665
  "kind": "expression",
2231
- "type": "boolean | undefined"
2666
+ "type": "string | HTMLElement | undefined"
2232
2667
  }
2233
2668
  },
2234
2669
  {
2235
- "name": "confirmDisabled",
2236
- "description": "Принудительно дизейблит кнопку Confirm.",
2237
- "default": "false",
2670
+ "name": "contentClass",
2671
+ "default": "undefined",
2238
2672
  "value": {
2239
2673
  "kind": "expression",
2240
- "type": "boolean | undefined"
2674
+ "type": "string | undefined"
2241
2675
  }
2242
2676
  },
2243
2677
  {
2244
- "name": "closeOnConfirm",
2245
- "description": "Закрывать ли диалог автоматически по клику Confirm. По умолчанию `true` (историческое поведение). `false` — отдаёт управление закрытием наружу (нужно `useDialogService`, который ждёт результат async-`onConfirm`).",
2246
- "default": "true",
2678
+ "name": "listClass",
2679
+ "default": "undefined",
2247
2680
  "value": {
2248
2681
  "kind": "expression",
2249
- "type": "boolean | undefined"
2682
+ "type": "string | undefined"
2250
2683
  }
2251
2684
  },
2252
2685
  {
2253
- "name": "focusAction",
2254
- "description": "Какое действие получает фокус при открытии. По умолчанию «Отмена»: подтверждение бывает деструктивным, и `Enter` сразу после открытия не должен его запускать. `none` оставляет фокус на панели окна. Имя не `initialFocus` намеренно: у `GrModal`/`GrDrawer` так называется проп с элементом, а здесь выбирается действие.",
2255
- "default": "\"cancel\"",
2686
+ "name": "dividers",
2687
+ "default": "false",
2256
2688
  "value": {
2257
2689
  "kind": "expression",
2258
- "type": "GrConfirmDialogFocusAction | undefined"
2690
+ "type": "boolean | undefined"
2259
2691
  }
2260
2692
  },
2261
2693
  {
2262
- "name": "persistent",
2263
- "description": "Запрет закрытия «мягкими» способами (Esc, клик по бэкдропу), пока идёт подтверждение (`confirmLoading`). Кнопка закрытия и «Отмена» остаются: окно без единого выхода ловушка.",
2264
- "default": "false",
2694
+ "name": "closeOnScroll",
2695
+ "description": "Закрывать при прокрутке страницы. Якорь точка вьюпорта, и панель осталась бы висеть на экране, пока контент под ней уезжает. Так же ведут себя нативные меню.",
2696
+ "default": "true",
2265
2697
  "value": {
2266
2698
  "kind": "expression",
2267
2699
  "type": "boolean | undefined"
2268
2700
  }
2269
2701
  },
2270
2702
  {
2271
- "name": "modelValue",
2272
- "required": true,
2703
+ "name": "allowNativeMenu",
2704
+ "description": "Пропускать `Shift`+правый клик к браузеру.",
2705
+ "default": "true",
2273
2706
  "value": {
2274
2707
  "kind": "expression",
2275
- "type": "boolean"
2708
+ "type": "boolean | undefined"
2276
2709
  }
2277
2710
  }
2278
2711
  ],
@@ -2281,22 +2714,19 @@
2281
2714
  "name": "default"
2282
2715
  },
2283
2716
  {
2284
- "name": "error"
2285
- },
2286
- {
2287
- "name": "footer"
2717
+ "name": "content"
2288
2718
  }
2289
2719
  ],
2290
2720
  "js": {
2291
2721
  "events": [
2292
2722
  {
2293
- "name": "update:modelValue"
2723
+ "name": "update:open"
2294
2724
  },
2295
2725
  {
2296
- "name": "confirm"
2726
+ "name": "select"
2297
2727
  },
2298
2728
  {
2299
- "name": "cancel"
2729
+ "name": "beforeOpen"
2300
2730
  }
2301
2731
  ]
2302
2732
  }
@@ -3146,48 +3576,48 @@
3146
3576
  }
3147
3577
  },
3148
3578
  {
3149
- "name": "initialFocus",
3150
- "description": "Элемент, получающий фокус при открытии. По умолчанию сама панель.",
3151
- "default": "null",
3579
+ "name": "width",
3580
+ "description": "Произвольная ширина боковой панели. Число трактуется как пиксели; сильнее `size`.",
3581
+ "default": "undefined",
3152
3582
  "value": {
3153
3583
  "kind": "expression",
3154
- "type": "HTMLElement | null | undefined"
3584
+ "type": "string | number | undefined"
3155
3585
  }
3156
3586
  },
3157
3587
  {
3158
- "name": "modal",
3159
- "description": "Модальная панель: подложка, блокировка скролла, `inert` остальной странице и ловушка фокуса. `false` — панель живёт рядом со страницей: с ней работают, не закрывая, а Tab уходит наружу.",
3160
- "default": "true",
3588
+ "name": "height",
3589
+ "description": "Произвольная высота верхней или нижней панели. Число трактуется как пиксели.",
3590
+ "default": "undefined",
3161
3591
  "value": {
3162
3592
  "kind": "expression",
3163
- "type": "boolean | undefined"
3593
+ "type": "string | number | undefined"
3164
3594
  }
3165
3595
  },
3166
3596
  {
3167
- "name": "side",
3168
- "description": "Сторона, с которой выезжает панель.",
3169
- "default": "undefined",
3597
+ "name": "modal",
3598
+ "description": "Модальная панель: подложка, блокировка скролла, `inert` остальной странице и ловушка фокуса. `false` — панель живёт рядом со страницей: с ней работают, не закрывая, а Tab уходит наружу.",
3599
+ "default": "true",
3170
3600
  "value": {
3171
3601
  "kind": "expression",
3172
- "type": "GrDrawerSide | undefined"
3602
+ "type": "boolean | undefined"
3173
3603
  }
3174
3604
  },
3175
3605
  {
3176
- "name": "width",
3177
- "description": "Произвольная ширина боковой панели. Число трактуется как пиксели; сильнее `size`.",
3178
- "default": "undefined",
3606
+ "name": "initialFocus",
3607
+ "description": "Элемент, получающий фокус при открытии. По умолчанию сама панель.",
3608
+ "default": "null",
3179
3609
  "value": {
3180
3610
  "kind": "expression",
3181
- "type": "string | number | undefined"
3611
+ "type": "HTMLElement | null | undefined"
3182
3612
  }
3183
3613
  },
3184
3614
  {
3185
- "name": "height",
3186
- "description": "Произвольная высота верхней или нижней панели. Число трактуется как пиксели.",
3615
+ "name": "side",
3616
+ "description": "Сторона, с которой выезжает панель.",
3187
3617
  "default": "undefined",
3188
3618
  "value": {
3189
3619
  "kind": "expression",
3190
- "type": "string | number | undefined"
3620
+ "type": "GrDrawerSide | undefined"
3191
3621
  }
3192
3622
  },
3193
3623
  {
@@ -3264,75 +3694,75 @@
3264
3694
  }
3265
3695
  },
3266
3696
  {
3267
- "name": "width",
3268
- "description": "Ширина панели: число пиксели, строка CSS-длина, `auto` — по контенту.",
3269
- "default": "\"12rem\"",
3697
+ "name": "trigger",
3698
+ "description": "Чем открывается панель. В любом режиме работают клик и клавиатура.",
3699
+ "default": "\"click\"",
3270
3700
  "value": {
3271
3701
  "kind": "expression",
3272
- "type": "GrDropdownWidth | undefined"
3702
+ "type": "GrDropdownTrigger | undefined"
3273
3703
  }
3274
3704
  },
3275
3705
  {
3276
- "name": "offset",
3277
- "description": "Зазор между триггером и панелью, px.",
3278
- "default": "8",
3706
+ "name": "teleportTo",
3707
+ "description": "Точечное переопределение точки монтирования. По умолчанию — общий портал оверлеев (`#gr-portal` либо `portalTarget` из `GrConfigProvider`).",
3708
+ "default": "undefined",
3279
3709
  "value": {
3280
3710
  "kind": "expression",
3281
- "type": "number | undefined"
3711
+ "type": "string | HTMLElement | undefined"
3282
3712
  }
3283
3713
  },
3284
3714
  {
3285
- "name": "trigger",
3286
- "description": "Чем открывается панель. В любом режиме работают клик и клавиатура.",
3287
- "default": "\"click\"",
3715
+ "name": "contentClass",
3716
+ "description": "Дополнительные классы контейнера content.",
3717
+ "default": "\"\"",
3288
3718
  "value": {
3289
3719
  "kind": "expression",
3290
- "type": "GrDropdownTrigger | undefined"
3720
+ "type": "string | undefined"
3291
3721
  }
3292
3722
  },
3293
3723
  {
3294
- "name": "openDelay",
3295
- "description": "Задержка открытия по наведению, мс.",
3296
- "default": "120",
3724
+ "name": "width",
3725
+ "description": "Ширина панели: число — пиксели, строка — CSS-длина, `auto` — по контенту.",
3726
+ "default": "\"12rem\"",
3297
3727
  "value": {
3298
3728
  "kind": "expression",
3299
- "type": "number | undefined"
3729
+ "type": "GrDropdownWidth | undefined"
3300
3730
  }
3301
3731
  },
3302
3732
  {
3303
- "name": "closeDelay",
3304
- "description": "Задержка закрытия после ухода курсора, мс.",
3305
- "default": "160",
3733
+ "name": "closeOnContentClick",
3734
+ "description": "Закрывать панель по клику внутри content.",
3735
+ "default": "true",
3306
3736
  "value": {
3307
3737
  "kind": "expression",
3308
- "type": "number | undefined"
3738
+ "type": "boolean | undefined"
3309
3739
  }
3310
3740
  },
3311
3741
  {
3312
- "name": "closeOnContentClick",
3313
- "description": "Закрывать панель по клику внутри content.",
3314
- "default": "true",
3742
+ "name": "offset",
3743
+ "description": "Зазор между триггером и панелью, px.",
3744
+ "default": "8",
3315
3745
  "value": {
3316
3746
  "kind": "expression",
3317
- "type": "boolean | undefined"
3747
+ "type": "number | undefined"
3318
3748
  }
3319
3749
  },
3320
3750
  {
3321
- "name": "contentClass",
3322
- "description": "Дополнительные классы контейнера content.",
3323
- "default": "\"\"",
3751
+ "name": "openDelay",
3752
+ "description": "Задержка открытия по наведению, мс.",
3753
+ "default": "120",
3324
3754
  "value": {
3325
3755
  "kind": "expression",
3326
- "type": "string | undefined"
3756
+ "type": "number | undefined"
3327
3757
  }
3328
3758
  },
3329
3759
  {
3330
- "name": "teleportTo",
3331
- "description": "Точечное переопределение точки монтирования. По умолчанию — общий портал оверлеев (`#gr-portal` либо `portalTarget` из `GrConfigProvider`).",
3332
- "default": "undefined",
3760
+ "name": "closeDelay",
3761
+ "description": "Задержка закрытия после ухода курсора, мс.",
3762
+ "default": "160",
3333
3763
  "value": {
3334
3764
  "kind": "expression",
3335
- "type": "string | HTMLElement | undefined"
3765
+ "type": "number | undefined"
3336
3766
  }
3337
3767
  }
3338
3768
  ],
@@ -3396,98 +3826,98 @@
3396
3826
  }
3397
3827
  },
3398
3828
  {
3399
- "name": "width",
3400
- "description": "Ширина панели: число пиксели, строка CSS-длина, `auto` — по контенту.",
3401
- "default": "\"12rem\"",
3829
+ "name": "trigger",
3830
+ "description": "Чем открывается панель. В любом режиме работают клик и клавиатура.",
3831
+ "default": "\"click\"",
3402
3832
  "value": {
3403
3833
  "kind": "expression",
3404
- "type": "GrDropdownWidth | undefined"
3834
+ "type": "GrDropdownTrigger | undefined"
3405
3835
  }
3406
3836
  },
3407
3837
  {
3408
- "name": "offset",
3409
- "description": "Зазор между триггером и панелью, px.",
3410
- "default": "8",
3838
+ "name": "teleportTo",
3839
+ "description": "Точечное переопределение точки монтирования; по умолчанию — общий портал.",
3840
+ "default": "undefined",
3411
3841
  "value": {
3412
3842
  "kind": "expression",
3413
- "type": "number | undefined"
3843
+ "type": "string | HTMLElement | undefined"
3414
3844
  }
3415
3845
  },
3416
3846
  {
3417
- "name": "trigger",
3418
- "description": "Чем открывается панель. В любом режиме работают клик и клавиатура.",
3419
- "default": "\"click\"",
3847
+ "name": "contentClass",
3848
+ "description": "Дополнительные классы content-контейнера.",
3849
+ "default": "\"\"",
3420
3850
  "value": {
3421
3851
  "kind": "expression",
3422
- "type": "GrDropdownTrigger | undefined"
3852
+ "type": "string | undefined"
3423
3853
  }
3424
3854
  },
3425
3855
  {
3426
- "name": "openDelay",
3427
- "description": "Задержка открытия по наведению, мс.",
3428
- "default": "120",
3856
+ "name": "listClass",
3857
+ "description": "Дополнительные классы для wrapper'а списка.",
3858
+ "default": "\"\"",
3429
3859
  "value": {
3430
3860
  "kind": "expression",
3431
- "type": "number | undefined"
3861
+ "type": "string | undefined"
3432
3862
  }
3433
3863
  },
3434
3864
  {
3435
- "name": "closeDelay",
3436
- "description": "Задержка закрытия после ухода курсора, мс.",
3437
- "default": "160",
3865
+ "name": "dividers",
3866
+ "description": "Разделители между пунктами.",
3867
+ "default": "false",
3438
3868
  "value": {
3439
3869
  "kind": "expression",
3440
- "type": "number | undefined"
3870
+ "type": "boolean | undefined"
3441
3871
  }
3442
3872
  },
3443
3873
  {
3444
- "name": "closeOnContentClick",
3445
- "description": "Закрывать по клику внутри content.",
3446
- "default": "true",
3874
+ "name": "width",
3875
+ "description": "Ширина панели: число пиксели, строка — CSS-длина, `auto` — по контенту.",
3876
+ "default": "\"12rem\"",
3447
3877
  "value": {
3448
3878
  "kind": "expression",
3449
- "type": "boolean | undefined"
3879
+ "type": "GrDropdownWidth | undefined"
3450
3880
  }
3451
3881
  },
3452
3882
  {
3453
- "name": "contentClass",
3454
- "description": "Дополнительные классы content-контейнера.",
3455
- "default": "\"\"",
3883
+ "name": "closeOnContentClick",
3884
+ "description": "Закрывать по клику внутри content.",
3885
+ "default": "true",
3456
3886
  "value": {
3457
3887
  "kind": "expression",
3458
- "type": "string | undefined"
3888
+ "type": "boolean | undefined"
3459
3889
  }
3460
3890
  },
3461
3891
  {
3462
- "name": "teleportTo",
3463
- "description": "Точечное переопределение точки монтирования; по умолчанию — общий портал.",
3464
- "default": "undefined",
3892
+ "name": "offset",
3893
+ "description": "Зазор между триггером и панелью, px.",
3894
+ "default": "8",
3465
3895
  "value": {
3466
3896
  "kind": "expression",
3467
- "type": "string | HTMLElement | undefined"
3897
+ "type": "number | undefined"
3468
3898
  }
3469
3899
  },
3470
3900
  {
3471
- "name": "borderBottom",
3472
- "description": "Нижний бордер контейнера списка.",
3473
- "default": "false",
3901
+ "name": "openDelay",
3902
+ "description": "Задержка открытия по наведению, мс.",
3903
+ "default": "120",
3474
3904
  "value": {
3475
3905
  "kind": "expression",
3476
- "type": "boolean | undefined"
3906
+ "type": "number | undefined"
3477
3907
  }
3478
3908
  },
3479
3909
  {
3480
- "name": "borderTop",
3481
- "description": "Верхний бордер контейнера списка.",
3482
- "default": "false",
3910
+ "name": "closeDelay",
3911
+ "description": "Задержка закрытия после ухода курсора, мс.",
3912
+ "default": "160",
3483
3913
  "value": {
3484
3914
  "kind": "expression",
3485
- "type": "boolean | undefined"
3915
+ "type": "number | undefined"
3486
3916
  }
3487
3917
  },
3488
3918
  {
3489
- "name": "dividers",
3490
- "description": "Разделители между пунктами.",
3919
+ "name": "borderBottom",
3920
+ "description": "Нижний бордер контейнера списка.",
3491
3921
  "default": "false",
3492
3922
  "value": {
3493
3923
  "kind": "expression",
@@ -3495,12 +3925,12 @@
3495
3925
  }
3496
3926
  },
3497
3927
  {
3498
- "name": "listClass",
3499
- "description": "Дополнительные классы для wrapper'а списка.",
3500
- "default": "\"\"",
3928
+ "name": "borderTop",
3929
+ "description": "Верхний бордер контейнера списка.",
3930
+ "default": "false",
3501
3931
  "value": {
3502
3932
  "kind": "expression",
3503
- "type": "string | undefined"
3933
+ "type": "boolean | undefined"
3504
3934
  }
3505
3935
  }
3506
3936
  ],
@@ -4159,6 +4589,14 @@
4159
4589
  "type": "\"start\" | \"top\" | undefined"
4160
4590
  }
4161
4591
  },
4592
+ {
4593
+ "name": "label",
4594
+ "default": "undefined",
4595
+ "value": {
4596
+ "kind": "expression",
4597
+ "type": "string | undefined"
4598
+ }
4599
+ },
4162
4600
  {
4163
4601
  "name": "error",
4164
4602
  "description": "Явная ошибка (или несколько). Перекрывает ошибку из `GrForm` — ручной режим без формы тоже здесь. Массив нужен там, где источник ошибок один, а претензий несколько: ответ сервера, валидация файла.",
@@ -4185,14 +4623,6 @@
4185
4623
  "type": "LabelClass | undefined"
4186
4624
  }
4187
4625
  },
4188
- {
4189
- "name": "label",
4190
- "default": "undefined",
4191
- "value": {
4192
- "kind": "expression",
4193
- "type": "string | undefined"
4194
- }
4195
- },
4196
4626
  {
4197
4627
  "name": "forId",
4198
4628
  "description": "Явный id контрола. Если не задан — генерируется автоматически.",
@@ -5390,10 +5820,10 @@
5390
5820
  "name": "add"
5391
5821
  },
5392
5822
  {
5393
- "name": "reject"
5823
+ "name": "remove"
5394
5824
  },
5395
5825
  {
5396
- "name": "remove"
5826
+ "name": "reject"
5397
5827
  }
5398
5828
  ]
5399
5829
  }
@@ -6621,17 +7051,26 @@
6621
7051
  }
6622
7052
  },
6623
7053
  {
6624
- "name": "closeOnEsc",
6625
- "default": "true",
7054
+ "name": "padding",
7055
+ "description": "Поле панели. `none` — содержимое рисует своё (меню, список опций).",
7056
+ "default": "\"default\"",
6626
7057
  "value": {
6627
7058
  "kind": "expression",
6628
- "type": "boolean | undefined"
7059
+ "type": "GrPopoverPadding | undefined"
6629
7060
  }
6630
7061
  },
6631
7062
  {
6632
- "name": "modal",
6633
- "description": "Модальный режим: фон уходит в `inert`, Tab ходит по кругу внутри панели, скролл страницы блокируется, а слой встаёт в стек модальным — как окно. Нужен поповеру с формой или подтверждением внутри: без изоляции фона пользователь уводит фокус на страницу, к которой поповер и относится. В этом режиме фокус переносится в панель независимо от `autoFocus`: фон недоступен, и слой без фокуса внутри стал бы клавиатурной ловушкой.",
6634
- "default": "false",
7063
+ "name": "anchor",
7064
+ "description": "Якорь-прямоугольник в координатах вьюпорта вместо обёртки слота `#trigger`: панель встаёт у точки курсора или у строки списка. Нужен контекстному меню, у которого триггера-элемента нет вовсе. `triggerProps` в этом режиме некому потребить, и своих ARIA-атрибутов поповер никуда не вешает: `aria-haspopup` невалиден вне интерактивного элемента, а `aria-expanded` без хозяина шум. Связь с содержимым страницы объявляет тот, кто открывает.",
7065
+ "default": "undefined",
7066
+ "value": {
7067
+ "kind": "expression",
7068
+ "type": "GrFloatingAnchorRect | null | undefined"
7069
+ }
7070
+ },
7071
+ {
7072
+ "name": "closeOnEsc",
7073
+ "default": "true",
6635
7074
  "value": {
6636
7075
  "kind": "expression",
6637
7076
  "type": "boolean | undefined"
@@ -6647,16 +7086,17 @@
6647
7086
  }
6648
7087
  },
6649
7088
  {
6650
- "name": "closeOnContentClick",
6651
- "description": "Закрывать по клику внутри панели — удобно для меню, вредно для формы.",
6652
- "default": "false",
7089
+ "name": "offsetPx",
7090
+ "description": "Зазор между триггером и панелью, px.",
7091
+ "default": "8",
6653
7092
  "value": {
6654
7093
  "kind": "expression",
6655
- "type": "boolean | undefined"
7094
+ "type": "number | undefined"
6656
7095
  }
6657
7096
  },
6658
7097
  {
6659
- "name": "contentClass",
7098
+ "name": "labelledBy",
7099
+ "description": "`id` видимого заголовка внутри панели — альтернатива `ariaLabel`.",
6660
7100
  "default": "undefined",
6661
7101
  "value": {
6662
7102
  "kind": "expression",
@@ -6673,12 +7113,11 @@
6673
7113
  }
6674
7114
  },
6675
7115
  {
6676
- "name": "offsetPx",
6677
- "description": "Зазор между триггером и панелью, px.",
6678
- "default": "8",
7116
+ "name": "contentClass",
7117
+ "default": "undefined",
6679
7118
  "value": {
6680
7119
  "kind": "expression",
6681
- "type": "number | undefined"
7120
+ "type": "string | undefined"
6682
7121
  }
6683
7122
  },
6684
7123
  {
@@ -6691,12 +7130,12 @@
6691
7130
  }
6692
7131
  },
6693
7132
  {
6694
- "name": "labelledBy",
6695
- "description": "`id` видимого заголовка внутри панелиальтернатива `ariaLabel`.",
6696
- "default": "undefined",
7133
+ "name": "modal",
7134
+ "description": "Модальный режим: фон уходит в `inert`, Tab ходит по кругу внутри панели, скролл страницы блокируется, а слой встаёт в стек модальным как окно. Нужен поповеру с формой или подтверждением внутри: без изоляции фона пользователь уводит фокус на страницу, к которой поповер и относится. В этом режиме фокус переносится в панель независимо от `autoFocus`: фон недоступен, и слой без фокуса внутри стал бы клавиатурной ловушкой.",
7135
+ "default": "false",
6697
7136
  "value": {
6698
7137
  "kind": "expression",
6699
- "type": "string | undefined"
7138
+ "type": "boolean | undefined"
6700
7139
  }
6701
7140
  },
6702
7141
  {
@@ -6707,6 +7146,15 @@
6707
7146
  "type": "boolean | undefined"
6708
7147
  }
6709
7148
  },
7149
+ {
7150
+ "name": "closeOnContentClick",
7151
+ "description": "Закрывать по клику внутри панели — удобно для меню, вредно для формы.",
7152
+ "default": "false",
7153
+ "value": {
7154
+ "kind": "expression",
7155
+ "type": "boolean | undefined"
7156
+ }
7157
+ },
6710
7158
  {
6711
7159
  "name": "autoFocus",
6712
7160
  "description": "Переносить фокус на панель при открытии. Именно на панель, а не на первый контрол внутри: сфокусировать поле ввода за пользователя — решение содержимого, а не оболочки.",
@@ -6984,6 +7432,14 @@
6984
7432
  "type": "string | undefined"
6985
7433
  }
6986
7434
  },
7435
+ {
7436
+ "name": "label",
7437
+ "default": "undefined",
7438
+ "value": {
7439
+ "kind": "expression",
7440
+ "type": "string | undefined"
7441
+ }
7442
+ },
6987
7443
  {
6988
7444
  "name": "closeOnBackdrop",
6989
7445
  "default": "true",
@@ -7143,14 +7599,6 @@
7143
7599
  "type": "number | undefined"
7144
7600
  }
7145
7601
  },
7146
- {
7147
- "name": "label",
7148
- "default": "undefined",
7149
- "value": {
7150
- "kind": "expression",
7151
- "type": "string | undefined"
7152
- }
7153
- },
7154
7602
  {
7155
7603
  "name": "rules",
7156
7604
  "description": "Правила проверки значения — те же, что у `GrForm` (`required`, `type`, `min`/`max`/`len`, `pattern`, свой в т.ч. асинхронный `validator`). Прогоняются на blur (после первого касания) и на подтверждении.",
@@ -8489,7 +8937,7 @@
8489
8937
  "default": "\"left\"",
8490
8938
  "value": {
8491
8939
  "kind": "expression",
8492
- "type": "\"left\" | \"right\" | undefined"
8940
+ "type": "\"right\" | \"left\" | undefined"
8493
8941
  }
8494
8942
  },
8495
8943
  {
@@ -9276,6 +9724,107 @@
9276
9724
  ]
9277
9725
  }
9278
9726
  },
9727
+ {
9728
+ "name": "GrSteps",
9729
+ "source": {
9730
+ "module": "@feugene/granularity/components/GrSteps",
9731
+ "symbol": "GrSteps"
9732
+ },
9733
+ "props": [
9734
+ {
9735
+ "name": "variant",
9736
+ "description": "Компактный вид для узкой колонки: подпись текущего шага и полоса прогресса.",
9737
+ "default": "undefined",
9738
+ "value": {
9739
+ "kind": "expression",
9740
+ "type": "GrStepsVariant | undefined"
9741
+ }
9742
+ },
9743
+ {
9744
+ "name": "size",
9745
+ "default": "undefined",
9746
+ "value": {
9747
+ "kind": "expression",
9748
+ "type": "\"xs\" | \"sm\" | \"md\" | \"lg\" | undefined"
9749
+ }
9750
+ },
9751
+ {
9752
+ "name": "ariaLabel",
9753
+ "default": "undefined",
9754
+ "value": {
9755
+ "kind": "expression",
9756
+ "type": "string | undefined"
9757
+ }
9758
+ },
9759
+ {
9760
+ "name": "orientation",
9761
+ "default": "undefined",
9762
+ "value": {
9763
+ "kind": "expression",
9764
+ "type": "GrStepsOrientation | undefined"
9765
+ }
9766
+ },
9767
+ {
9768
+ "name": "clickable",
9769
+ "description": "Переход кликом по шагу. Выключен — лента становится только индикатором.",
9770
+ "default": "undefined",
9771
+ "value": {
9772
+ "kind": "expression",
9773
+ "type": "boolean | undefined"
9774
+ }
9775
+ },
9776
+ {
9777
+ "name": "linear",
9778
+ "description": "Вперёд — не дальше первого непройденного. Назад свободно всегда: вернуться и поправить заполненное — обычный сценарий, а не обход правила.",
9779
+ "default": "undefined",
9780
+ "value": {
9781
+ "kind": "expression",
9782
+ "type": "boolean | undefined"
9783
+ }
9784
+ },
9785
+ {
9786
+ "name": "beforeLeave",
9787
+ "description": "Гейт перехода. Вернул `false` — перехода нет. Сюда потребитель кладёт валидацию шага: `GrSteps` про `GrForm` ничего не знает и знать не должен, а форма уже отдаёт `validate()`/`validateField()`.",
9788
+ "default": "undefined",
9789
+ "value": {
9790
+ "kind": "expression",
9791
+ "type": "((from: string, to: string) => boolean | Promise<boolean>) | undefined"
9792
+ }
9793
+ },
9794
+ {
9795
+ "name": "modelValue",
9796
+ "required": true,
9797
+ "value": {
9798
+ "kind": "expression",
9799
+ "type": "string"
9800
+ }
9801
+ },
9802
+ {
9803
+ "name": "steps",
9804
+ "required": true,
9805
+ "value": {
9806
+ "kind": "expression",
9807
+ "type": "GrStep[]"
9808
+ }
9809
+ }
9810
+ ],
9811
+ "slots": [
9812
+ {
9813
+ "name": "step",
9814
+ "description": "Своя разметка пункта. Корневой тег, `aria-current` и клик остаются за компонентом — иначе доступность шага пришлось бы собирать заново."
9815
+ }
9816
+ ],
9817
+ "js": {
9818
+ "events": [
9819
+ {
9820
+ "name": "update:modelValue"
9821
+ },
9822
+ {
9823
+ "name": "change"
9824
+ }
9825
+ ]
9826
+ }
9827
+ },
9279
9828
  {
9280
9829
  "name": "GrSwitch",
9281
9830
  "source": {
@@ -10109,21 +10658,21 @@
10109
10658
  }
10110
10659
  },
10111
10660
  {
10112
- "name": "regionLabel",
10113
- "description": "A11y-лейбл контейнера-региона (i18n).",
10661
+ "name": "width",
10662
+ "description": "Ширина стека. Число — пиксели, строка — любая CSS-длина. Уезжает в `--gr-toaster-width`, поэтому то же самое можно задать и темой.",
10114
10663
  "default": "undefined",
10115
10664
  "value": {
10116
10665
  "kind": "expression",
10117
- "type": "string | undefined"
10666
+ "type": "string | number | undefined"
10118
10667
  }
10119
10668
  },
10120
10669
  {
10121
- "name": "width",
10122
- "description": "Ширина стека. Число — пиксели, строка — любая CSS-длина. Уезжает в `--gr-toaster-width`, поэтому то же самое можно задать и темой.",
10670
+ "name": "regionLabel",
10671
+ "description": "A11y-лейбл контейнера-региона (i18n).",
10123
10672
  "default": "undefined",
10124
10673
  "value": {
10125
10674
  "kind": "expression",
10126
- "type": "string | number | undefined"
10675
+ "type": "string | undefined"
10127
10676
  }
10128
10677
  },
10129
10678
  {
@@ -10222,17 +10771,17 @@
10222
10771
  }
10223
10772
  },
10224
10773
  {
10225
- "name": "openDelay",
10226
- "description": "Задержка перед показом, мс. Спасает от мигания при проведении курсором по панели кнопок.",
10227
- "default": "0",
10774
+ "name": "offsetPx",
10775
+ "description": "Зазор между триггером и панелью, px.",
10776
+ "default": "undefined",
10228
10777
  "value": {
10229
10778
  "kind": "expression",
10230
10779
  "type": "number | undefined"
10231
10780
  }
10232
10781
  },
10233
10782
  {
10234
- "name": "closeDelay",
10235
- "description": "Задержка перед скрытием, мс.",
10783
+ "name": "openDelay",
10784
+ "description": "Задержка перед показом, мс. Спасает от мигания при проведении курсором по панели кнопок.",
10236
10785
  "default": "0",
10237
10786
  "value": {
10238
10787
  "kind": "expression",
@@ -10240,9 +10789,9 @@
10240
10789
  }
10241
10790
  },
10242
10791
  {
10243
- "name": "offsetPx",
10244
- "description": "Зазор между триггером и панелью, px.",
10245
- "default": "undefined",
10792
+ "name": "closeDelay",
10793
+ "description": "Задержка перед скрытием, мс.",
10794
+ "default": "0",
10246
10795
  "value": {
10247
10796
  "kind": "expression",
10248
10797
  "type": "number | undefined"
@@ -10977,6 +11526,61 @@
10977
11526
  }
10978
11527
  ]
10979
11528
  }
11529
+ },
11530
+ {
11531
+ "name": "GrValue",
11532
+ "source": {
11533
+ "module": "@feugene/granularity/components/GrValue",
11534
+ "symbol": "GrValue"
11535
+ },
11536
+ "props": [
11537
+ {
11538
+ "name": "value",
11539
+ "description": "Готовое к показу значение. Не форматируется: «2 ч 15 мин» и «—» тоже величины.",
11540
+ "value": {
11541
+ "kind": "expression",
11542
+ "type": "string | number | null | undefined"
11543
+ }
11544
+ },
11545
+ {
11546
+ "name": "prefix",
11547
+ "description": "Приписка перед значением: валюта, знак приближения.",
11548
+ "value": {
11549
+ "kind": "expression",
11550
+ "type": "string | undefined"
11551
+ }
11552
+ },
11553
+ {
11554
+ "name": "suffix",
11555
+ "description": "Приписка после значения: единица измерения, валюта справа.",
11556
+ "value": {
11557
+ "kind": "expression",
11558
+ "type": "string | undefined"
11559
+ }
11560
+ }
11561
+ ],
11562
+ "slots": [
11563
+ {
11564
+ "name": "default",
11565
+ "description": "Значение вместо пропа."
11566
+ },
11567
+ {
11568
+ "name": "prefix",
11569
+ "description": "Приписка перед значением."
11570
+ },
11571
+ {
11572
+ "name": "suffix",
11573
+ "description": "Приписка после значения."
11574
+ },
11575
+ {
11576
+ "name": "lead",
11577
+ "description": "Перед префиксом: знак величины у `GrDelta`, стрелка направления. Слотом, а не пропом, — разметка там принадлежит потребителю."
11578
+ },
11579
+ {
11580
+ "name": "trail",
11581
+ "description": "После значения: скрытый узел для диктора у `GrStatistic`."
11582
+ }
11583
+ ]
10980
11584
  }
10981
11585
  ]
10982
11586
  }