@devalok/shilp-sutra 0.53.0 → 0.55.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 (429) hide show
  1. package/AGENTS.md +7 -1
  2. package/BREAKING.json +29 -0
  3. package/MIGRATION.md +83 -0
  4. package/dist/_chunks/badge-group.js +1 -1
  5. package/dist/_chunks/popover.js +38 -37
  6. package/dist/_chunks/popover.js.map +1 -1
  7. package/dist/_chunks/primitives/react-accordion.js +270 -0
  8. package/dist/_chunks/primitives/react-accordion.js.map +1 -0
  9. package/dist/_chunks/primitives/react-alert-dialog.js +857 -0
  10. package/dist/_chunks/primitives/react-alert-dialog.js.map +1 -0
  11. package/dist/_chunks/primitives/react-aspect-ratio.js +32 -0
  12. package/dist/_chunks/primitives/react-aspect-ratio.js.map +1 -0
  13. package/dist/_chunks/primitives/react-avatar.js +69 -0
  14. package/dist/_chunks/primitives/react-avatar.js.map +1 -0
  15. package/dist/_chunks/primitives/react-checkbox.js +151 -0
  16. package/dist/_chunks/primitives/react-checkbox.js.map +1 -0
  17. package/dist/_chunks/primitives/react-context-menu.js +905 -0
  18. package/dist/_chunks/primitives/react-context-menu.js.map +1 -0
  19. package/dist/_chunks/primitives/react-dropdown-menu.js +220 -0
  20. package/dist/_chunks/primitives/react-dropdown-menu.js.map +1 -0
  21. package/dist/_chunks/primitives/react-hover-card.js +153 -0
  22. package/dist/_chunks/primitives/react-hover-card.js.map +1 -0
  23. package/dist/_chunks/primitives/react-label.js +16 -0
  24. package/dist/_chunks/primitives/react-label.js.map +1 -0
  25. package/dist/_chunks/primitives/react-menubar.js +304 -0
  26. package/dist/_chunks/primitives/react-menubar.js.map +1 -0
  27. package/dist/_chunks/primitives/react-navigation-menu.js +560 -0
  28. package/dist/_chunks/primitives/react-navigation-menu.js.map +1 -0
  29. package/dist/_chunks/primitives/react-popover.js +186 -0
  30. package/dist/_chunks/primitives/react-popover.js.map +1 -0
  31. package/dist/_chunks/primitives/react-progress.js +70 -0
  32. package/dist/_chunks/primitives/react-progress.js.map +1 -0
  33. package/dist/_chunks/primitives/react-radio-group.js +170 -0
  34. package/dist/_chunks/primitives/react-radio-group.js.map +1 -0
  35. package/dist/_chunks/primitives/react-select.js +671 -0
  36. package/dist/_chunks/primitives/react-select.js.map +1 -0
  37. package/dist/_chunks/primitives/react-separator.js +24 -0
  38. package/dist/_chunks/primitives/react-separator.js.map +1 -0
  39. package/dist/_chunks/primitives/react-slider.js +349 -0
  40. package/dist/_chunks/primitives/react-slider.js.map +1 -0
  41. package/dist/_chunks/primitives/react-switch.js +92 -0
  42. package/dist/_chunks/primitives/react-switch.js.map +1 -0
  43. package/dist/_chunks/primitives/react-tabs.js +114 -0
  44. package/dist/_chunks/primitives/react-tabs.js.map +1 -0
  45. package/dist/_chunks/primitives/react-toggle-group.js +122 -0
  46. package/dist/_chunks/primitives/react-toggle-group.js.map +1 -0
  47. package/dist/_chunks/primitives/react-toggle.js +28 -0
  48. package/dist/_chunks/primitives/react-toggle.js.map +1 -0
  49. package/dist/_chunks/primitives/react-tooltip.js +341 -0
  50. package/dist/_chunks/primitives/react-tooltip.js.map +1 -0
  51. package/dist/_chunks/primitives-internal.js +2071 -0
  52. package/dist/_chunks/primitives-internal.js.map +1 -0
  53. package/dist/_chunks/shared.js +32 -32
  54. package/dist/_chunks/tiptap.js +1 -1
  55. package/dist/ai/ai-command-provider.d.ts +2 -3
  56. package/dist/ai/block-renderer.d.ts +1 -2
  57. package/dist/ai/blocks/block-shell.d.ts +0 -1
  58. package/dist/ai/blocks/block-table.d.ts +1 -2
  59. package/dist/ai/blocks/confirm.d.ts +1 -2
  60. package/dist/ai/blocks/divider.d.ts +1 -2
  61. package/dist/ai/blocks/error.d.ts +1 -2
  62. package/dist/ai/blocks/index.d.ts +7 -8
  63. package/dist/ai/blocks/info.d.ts +1 -2
  64. package/dist/ai/blocks/loading.d.ts +1 -2
  65. package/dist/ai/blocks/stat-row.d.ts +1 -2
  66. package/dist/ai/blocks/success.d.ts +1 -2
  67. package/dist/ai/blocks/text.d.ts +1 -2
  68. package/dist/ai/command-bar.d.ts +1 -2
  69. package/dist/ai/conversation.d.ts +2 -3
  70. package/dist/ai/devadoot-icon.d.ts +0 -1
  71. package/dist/ai/index.d.ts +16 -17
  72. package/dist/ai/types.js +1 -0
  73. package/dist/composed/activity-feed.d.ts +1 -2
  74. package/dist/composed/avatar-group.d.ts +11 -10
  75. package/dist/composed/avatar-group.d.ts.map +1 -1
  76. package/dist/composed/avatar-group.js +108 -140
  77. package/dist/composed/avatar-group.js.map +1 -1
  78. package/dist/composed/bulk-action-bar.d.ts +20 -13
  79. package/dist/composed/bulk-action-bar.d.ts.map +1 -1
  80. package/dist/composed/bulk-action-bar.js +81 -110
  81. package/dist/composed/bulk-action-bar.js.map +1 -1
  82. package/dist/composed/command-palette.d.ts +1 -2
  83. package/dist/composed/confirm-dialog.d.ts +0 -1
  84. package/dist/composed/date-picker/calendar-grid.d.ts +0 -1
  85. package/dist/composed/date-picker/date-picker.d.ts +0 -1
  86. package/dist/composed/date-picker/date-range-picker.d.ts +1 -2
  87. package/dist/composed/date-picker/date-time-picker.d.ts +0 -1
  88. package/dist/composed/date-picker/index.d.ts +17 -18
  89. package/dist/composed/date-picker/month-picker.d.ts +0 -1
  90. package/dist/composed/date-picker/presets.d.ts +0 -1
  91. package/dist/composed/date-picker/time-picker.d.ts +0 -1
  92. package/dist/composed/date-picker/use-calendar.d.ts +0 -1
  93. package/dist/composed/date-picker/year-picker.d.ts +0 -1
  94. package/dist/composed/deadline-indicator.d.ts +0 -1
  95. package/dist/composed/diff.d.ts +0 -1
  96. package/dist/composed/emoji-picker.d.ts +0 -1
  97. package/dist/composed/empty-state.d.ts +1 -2
  98. package/dist/composed/error-boundary.d.ts +15 -4
  99. package/dist/composed/error-boundary.d.ts.map +1 -1
  100. package/dist/composed/error-boundary.js +43 -26
  101. package/dist/composed/error-boundary.js.map +1 -1
  102. package/dist/composed/extensions/emoji-data.d.ts +0 -1
  103. package/dist/composed/extensions/emoji-node.d.ts +0 -1
  104. package/dist/composed/extensions/emoji-suggestion.d.ts +1 -2
  105. package/dist/composed/extensions/file-attachment.d.ts +0 -1
  106. package/dist/composed/extensions/mention-suggestion.d.ts +1 -2
  107. package/dist/composed/extensions/slash-command.d.ts +0 -1
  108. package/dist/composed/file-preview/audio-preview.d.ts +0 -1
  109. package/dist/composed/file-preview/document-preview.d.ts +0 -1
  110. package/dist/composed/file-preview/embed-preview.d.ts +0 -1
  111. package/dist/composed/file-preview/image-preview.d.ts +0 -1
  112. package/dist/composed/file-preview/shared.d.ts +0 -1
  113. package/dist/composed/file-preview/video-preview.d.ts +0 -1
  114. package/dist/composed/file-preview.d.ts +0 -1
  115. package/dist/composed/filter-bar.d.ts +0 -1
  116. package/dist/composed/form-section.d.ts +0 -1
  117. package/dist/composed/global-loading.d.ts +0 -1
  118. package/dist/composed/index.d.ts +49 -50
  119. package/dist/composed/inline-edit.d.ts +0 -1
  120. package/dist/composed/loading-skeleton.d.ts +2 -0
  121. package/dist/composed/loading-skeleton.d.ts.map +1 -1
  122. package/dist/composed/loading-skeleton.js +79 -56
  123. package/dist/composed/loading-skeleton.js.map +1 -1
  124. package/dist/composed/markdown-viewer.d.ts +0 -1
  125. package/dist/composed/master-detail.d.ts +21 -9
  126. package/dist/composed/master-detail.d.ts.map +1 -1
  127. package/dist/composed/master-detail.js +91 -77
  128. package/dist/composed/master-detail.js.map +1 -1
  129. package/dist/composed/member-picker.d.ts +0 -1
  130. package/dist/composed/multi-select-popover.d.ts +0 -1
  131. package/dist/composed/page-skeletons.d.ts +6 -0
  132. package/dist/composed/page-skeletons.d.ts.map +1 -1
  133. package/dist/composed/page-skeletons.js +93 -71
  134. package/dist/composed/page-skeletons.js.map +1 -1
  135. package/dist/composed/priority-indicator.d.ts +0 -1
  136. package/dist/composed/responsive-modal.d.ts +1 -2
  137. package/dist/composed/responsive-modal.js +47 -47
  138. package/dist/composed/rich-chat-input/attachment-strip.d.ts +0 -1
  139. package/dist/composed/rich-chat-input/audio-player.d.ts +0 -1
  140. package/dist/composed/rich-chat-input/audio-waveform.d.ts +0 -1
  141. package/dist/composed/rich-chat-input/chat-toolbar.d.ts +0 -1
  142. package/dist/composed/rich-chat-input/recording-overlay.d.ts +0 -1
  143. package/dist/composed/rich-chat-input/reply-banner.d.ts +0 -1
  144. package/dist/composed/rich-chat-input/schedule-send.d.ts +0 -1
  145. package/dist/composed/rich-chat-input/use-voice-recorder.d.ts +0 -1
  146. package/dist/composed/rich-chat-input.d.ts +9 -10
  147. package/dist/composed/rich-chat-input.js +1 -1
  148. package/dist/composed/rich-text-editor.d.ts +1 -2
  149. package/dist/composed/schedule-view.d.ts +0 -1
  150. package/dist/composed/simple-tooltip.d.ts +0 -1
  151. package/dist/composed/status-badge.d.ts +1 -2
  152. package/dist/hooks/index.d.ts +6 -7
  153. package/dist/hooks/use-color-mode.d.ts +0 -1
  154. package/dist/hooks/use-mobile.d.ts +0 -1
  155. package/dist/hooks/use-touch-device.d.ts +0 -1
  156. package/dist/hooks/use-viewport-height.d.ts +0 -1
  157. package/dist/motion/check-motion-provider.d.ts +0 -1
  158. package/dist/motion/index.d.ts +2 -3
  159. package/dist/motion/motion-provider.d.ts +1 -2
  160. package/dist/motion/primitives-index.d.ts +1 -2
  161. package/dist/motion/primitives.d.ts +1 -2
  162. package/dist/primitives/_internal/react-arrow.d.ts +1 -1
  163. package/dist/primitives/_internal/react-collection.d.ts +2 -2
  164. package/dist/primitives/_internal/react-dismissable-layer.d.ts +1 -1
  165. package/dist/primitives/_internal/react-focus-scope.d.ts +1 -1
  166. package/dist/primitives/_internal/react-popper.d.ts +4 -4
  167. package/dist/primitives/_internal/react-portal.d.ts +1 -1
  168. package/dist/primitives/_internal/react-use-rect.d.ts +1 -1
  169. package/dist/primitives/react-accordion.d.ts +3 -3
  170. package/dist/primitives/react-alert-dialog.d.ts +2 -2
  171. package/dist/primitives/react-aspect-ratio.d.ts +1 -1
  172. package/dist/primitives/react-avatar.d.ts +2 -2
  173. package/dist/primitives/react-checkbox.d.ts +3 -3
  174. package/dist/primitives/react-collapsible.d.ts +2 -2
  175. package/dist/primitives/react-context-menu.d.ts +3 -3
  176. package/dist/primitives/react-dialog.d.ts +5 -5
  177. package/dist/primitives/react-dropdown-menu.d.ts +3 -3
  178. package/dist/primitives/react-hover-card.d.ts +5 -5
  179. package/dist/primitives/react-label.d.ts +1 -1
  180. package/dist/primitives/react-menu.d.ts +7 -7
  181. package/dist/primitives/react-menubar.d.ts +5 -5
  182. package/dist/primitives/react-navigation-menu.d.ts +5 -5
  183. package/dist/primitives/react-popover.d.ts +6 -6
  184. package/dist/primitives/react-progress.d.ts +2 -2
  185. package/dist/primitives/react-radio-group.d.ts +3 -3
  186. package/dist/primitives/react-roving-focus.d.ts +2 -2
  187. package/dist/primitives/react-select.d.ts +6 -6
  188. package/dist/primitives/react-separator.d.ts +1 -1
  189. package/dist/primitives/react-slider.d.ts +2 -2
  190. package/dist/primitives/react-switch.d.ts +2 -2
  191. package/dist/primitives/react-tabs.d.ts +3 -3
  192. package/dist/primitives/react-toast.d.ts +3 -3
  193. package/dist/primitives/react-toggle-group.d.ts +4 -4
  194. package/dist/primitives/react-toggle.d.ts +1 -1
  195. package/dist/primitives/react-tooltip.d.ts +5 -5
  196. package/dist/primitives/react-visually-hidden.d.ts +1 -1
  197. package/dist/shell/app-command-palette.d.ts +2 -3
  198. package/dist/shell/bottom-navbar.d.ts +1 -2
  199. package/dist/shell/command-registry.d.ts +1 -2
  200. package/dist/shell/index.d.ts +12 -11
  201. package/dist/shell/index.d.ts.map +1 -1
  202. package/dist/shell/index.js +2 -3
  203. package/dist/shell/link-context.d.ts +2 -3
  204. package/dist/shell/notification-center.d.ts +0 -1
  205. package/dist/shell/notification-preferences.d.ts +0 -1
  206. package/dist/shell/notification-preferences.d.ts.map +1 -1
  207. package/dist/shell/notification-preferences.js +2 -0
  208. package/dist/shell/notification-preferences.js.map +1 -1
  209. package/dist/shell/top-bar.d.ts +1 -2
  210. package/dist/test-utils/conformance.d.ts +0 -1
  211. package/dist/ui/accordion.d.ts +1 -2
  212. package/dist/ui/accordion.js +1 -1
  213. package/dist/ui/alert-dialog.d.ts +1 -2
  214. package/dist/ui/alert-dialog.js +52 -52
  215. package/dist/ui/alert.d.ts +0 -1
  216. package/dist/ui/aspect-ratio.d.ts +1 -2
  217. package/dist/ui/aspect-ratio.js +4 -4
  218. package/dist/ui/autocomplete.d.ts +1 -2
  219. package/dist/ui/autocomplete.js +1 -1
  220. package/dist/ui/avatar.d.ts +1 -2
  221. package/dist/ui/avatar.js +33 -33
  222. package/dist/ui/badge-group.d.ts +1 -2
  223. package/dist/ui/badge-indicator.d.ts +0 -1
  224. package/dist/ui/badge.d.ts +3 -4
  225. package/dist/ui/banner.d.ts +0 -1
  226. package/dist/ui/breadcrumb.js +1 -1
  227. package/dist/ui/button-group.d.ts +1 -2
  228. package/dist/ui/button-processing.d.ts +0 -1
  229. package/dist/ui/button.d.ts +1 -2
  230. package/dist/ui/button.js +1 -1
  231. package/dist/ui/card.d.ts +0 -1
  232. package/dist/ui/charts/_internal/animation.d.ts +0 -1
  233. package/dist/ui/charts/_internal/axes.d.ts +0 -1
  234. package/dist/ui/charts/_internal/colors.d.ts +1 -2
  235. package/dist/ui/charts/_internal/grid-lines.d.ts +0 -1
  236. package/dist/ui/charts/_internal/legend.d.ts +0 -1
  237. package/dist/ui/charts/_internal/scales.d.ts +0 -1
  238. package/dist/ui/charts/_internal/tooltip.d.ts +0 -1
  239. package/dist/ui/charts/_internal/types.d.ts +0 -1
  240. package/dist/ui/charts/area-chart.d.ts +1 -2
  241. package/dist/ui/charts/bar-chart.d.ts +1 -2
  242. package/dist/ui/charts/chart-container.d.ts +1 -2
  243. package/dist/ui/charts/gauge-chart.d.ts +0 -1
  244. package/dist/ui/charts/index.d.ts +9 -10
  245. package/dist/ui/charts/line-chart.d.ts +1 -2
  246. package/dist/ui/charts/pie-chart.d.ts +0 -1
  247. package/dist/ui/charts/radar-chart.d.ts +0 -1
  248. package/dist/ui/charts/sparkline.d.ts +0 -1
  249. package/dist/ui/chat/date-separator.d.ts +0 -1
  250. package/dist/ui/chat/index.d.ts +7 -8
  251. package/dist/ui/chat/message-input.d.ts +0 -1
  252. package/dist/ui/chat/message-list.d.ts +0 -1
  253. package/dist/ui/chat/message.d.ts +1 -2
  254. package/dist/ui/chat/system-message.d.ts +1 -2
  255. package/dist/ui/chat/typing-indicator.d.ts +0 -1
  256. package/dist/ui/chat/unread-separator.d.ts +0 -1
  257. package/dist/ui/checkbox.d.ts +2 -3
  258. package/dist/ui/checkbox.js +13 -13
  259. package/dist/ui/collapsible.d.ts +1 -2
  260. package/dist/ui/collapsible.js +1 -1
  261. package/dist/ui/color-input.d.ts +0 -1
  262. package/dist/ui/color-swatch.d.ts +0 -1
  263. package/dist/ui/combobox.d.ts +3 -4
  264. package/dist/ui/combobox.d.ts.map +1 -1
  265. package/dist/ui/combobox.js +146 -141
  266. package/dist/ui/combobox.js.map +1 -1
  267. package/dist/ui/context-menu.d.ts +1 -2
  268. package/dist/ui/context-menu.js +58 -58
  269. package/dist/ui/data-table-body.d.ts +0 -1
  270. package/dist/ui/data-table-bulk-actions.d.ts +0 -1
  271. package/dist/ui/data-table-card.d.ts +0 -1
  272. package/dist/ui/data-table-context.d.ts +0 -1
  273. package/dist/ui/data-table-header.d.ts +0 -1
  274. package/dist/ui/data-table-pagination.d.ts +0 -1
  275. package/dist/ui/data-table-toolbar.d.ts +0 -1
  276. package/dist/ui/data-table.d.ts +3 -4
  277. package/dist/ui/devalok-grain.d.ts +0 -1
  278. package/dist/ui/dialog.d.ts +1 -2
  279. package/dist/ui/dialog.js +43 -43
  280. package/dist/ui/dot.d.ts +0 -1
  281. package/dist/ui/dropdown-menu.d.ts +1 -2
  282. package/dist/ui/dropdown-menu.js +69 -69
  283. package/dist/ui/file-upload.d.ts +0 -1
  284. package/dist/ui/file-upload.d.ts.map +1 -1
  285. package/dist/ui/file-upload.js +124 -138
  286. package/dist/ui/file-upload.js.map +1 -1
  287. package/dist/ui/form.d.ts +7 -1
  288. package/dist/ui/form.d.ts.map +1 -1
  289. package/dist/ui/form.js +4 -2
  290. package/dist/ui/form.js.map +1 -1
  291. package/dist/ui/hover-card.d.ts +1 -2
  292. package/dist/ui/hover-card.js +16 -16
  293. package/dist/ui/icon-button.d.ts +4 -4
  294. package/dist/ui/icon-button.d.ts.map +1 -1
  295. package/dist/ui/icon-button.js +1 -1
  296. package/dist/ui/icon-button.js.map +1 -1
  297. package/dist/ui/icon-context.d.ts +0 -1
  298. package/dist/ui/icon-group.d.ts +1 -2
  299. package/dist/ui/icon.d.ts +1 -2
  300. package/dist/ui/index.d.ts +78 -79
  301. package/dist/ui/index.d.ts.map +1 -1
  302. package/dist/ui/index.js.map +1 -1
  303. package/dist/ui/input-otp.d.ts +0 -1
  304. package/dist/ui/input.d.ts +1 -2
  305. package/dist/ui/label.d.ts +1 -2
  306. package/dist/ui/label.d.ts.map +1 -1
  307. package/dist/ui/label.js +13 -12
  308. package/dist/ui/label.js.map +1 -1
  309. package/dist/ui/lib/bottom-sheet.d.ts +0 -1
  310. package/dist/ui/lib/check-tokens.d.ts +0 -1
  311. package/dist/ui/lib/field-state.d.ts +0 -1
  312. package/dist/ui/lib/icon-input.d.ts +0 -1
  313. package/dist/ui/lib/index.d.ts +6 -7
  314. package/dist/ui/lib/keybinding.d.ts +0 -1
  315. package/dist/ui/lib/link-context.d.ts +0 -1
  316. package/dist/ui/lib/mention.d.ts +0 -1
  317. package/dist/ui/lib/normalize-icon.d.ts +2 -2
  318. package/dist/ui/lib/slot.d.ts +2 -3
  319. package/dist/ui/lib/use-controllable-open.d.ts +0 -1
  320. package/dist/ui/link.d.ts +0 -1
  321. package/dist/ui/link.js +1 -1
  322. package/dist/ui/menubar.d.ts +1 -2
  323. package/dist/ui/menubar.js +64 -64
  324. package/dist/ui/navigation-menu.d.ts +1 -2
  325. package/dist/ui/navigation-menu.js +67 -67
  326. package/dist/ui/number-input.d.ts +1 -2
  327. package/dist/ui/oauth-button/index.d.ts +1 -2
  328. package/dist/ui/oauth-button/oauth-button.d.ts +2 -3
  329. package/dist/ui/pagination.d.ts +0 -1
  330. package/dist/ui/pagination.js +1 -1
  331. package/dist/ui/popover.d.ts +1 -2
  332. package/dist/ui/progress-ring.d.ts +0 -1
  333. package/dist/ui/progress.d.ts +1 -2
  334. package/dist/ui/progress.js +30 -30
  335. package/dist/ui/radio.d.ts +2 -3
  336. package/dist/ui/radio.js +18 -18
  337. package/dist/ui/search-input.d.ts +0 -1
  338. package/dist/ui/segmented-control.d.ts +1 -2
  339. package/dist/ui/select.d.ts +1 -2
  340. package/dist/ui/select.js +55 -55
  341. package/dist/ui/separator.d.ts +1 -2
  342. package/dist/ui/separator.js +5 -5
  343. package/dist/ui/sheet.d.ts +1 -2
  344. package/dist/ui/sheet.js +45 -45
  345. package/dist/ui/sidebar.d.ts +4 -5
  346. package/dist/ui/sidebar.js +1 -1
  347. package/dist/ui/slider.d.ts +1 -2
  348. package/dist/ui/slider.js +14 -14
  349. package/dist/ui/spinner.d.ts +0 -1
  350. package/dist/ui/spinner.d.ts.map +1 -1
  351. package/dist/ui/spinner.js +50 -44
  352. package/dist/ui/spinner.js.map +1 -1
  353. package/dist/ui/split-button.d.ts +14 -4
  354. package/dist/ui/split-button.d.ts.map +1 -1
  355. package/dist/ui/split-button.js.map +1 -1
  356. package/dist/ui/stat-card.d.ts +3 -4
  357. package/dist/ui/stat-flash.d.ts +1 -2
  358. package/dist/ui/stepper.d.ts +1 -2
  359. package/dist/ui/surface.js +1 -1
  360. package/dist/ui/switch.d.ts +2 -3
  361. package/dist/ui/switch.d.ts.map +1 -1
  362. package/dist/ui/switch.js +31 -31
  363. package/dist/ui/switch.js.map +1 -1
  364. package/dist/ui/table-row-link.d.ts +0 -1
  365. package/dist/ui/table.js +1 -1
  366. package/dist/ui/table.js.map +1 -1
  367. package/dist/ui/tabs.d.ts +1 -2
  368. package/dist/ui/tabs.js +35 -35
  369. package/dist/ui/textarea.d.ts +1 -2
  370. package/dist/ui/toast-registry.d.ts +0 -1
  371. package/dist/ui/toast-types.js +1 -0
  372. package/dist/ui/toast.d.ts +2 -3
  373. package/dist/ui/toaster.d.ts +0 -1
  374. package/dist/ui/toggle-group.d.ts +2 -3
  375. package/dist/ui/toggle-group.js +14 -14
  376. package/dist/ui/toggle.d.ts +1 -2
  377. package/dist/ui/toggle.js +12 -12
  378. package/dist/ui/tooltip.d.ts +1 -2
  379. package/dist/ui/tooltip.js +21 -21
  380. package/dist/ui/tree-view/index.d.ts +3 -4
  381. package/dist/ui/tree-view/tree-item.d.ts +1 -2
  382. package/dist/ui/tree-view/tree-view.d.ts +1 -2
  383. package/dist/ui/tree-view/use-tree.d.ts +1 -2
  384. package/dist/ui/truncated-text.d.ts +0 -1
  385. package/docs/components/composed/bulk-action-bar.md +9 -3
  386. package/docs/components/composed/error-boundary.md +18 -2
  387. package/docs/components/composed/master-detail.md +12 -2
  388. package/docs/components/composed/page-skeletons.md +2 -2
  389. package/docs/components/composed/rich-chat-input.md +18 -6
  390. package/docs/components/composed/simple-tooltip.md +1 -1
  391. package/docs/components/shell/app-command-palette.md +2 -1
  392. package/docs/components/shell/bottom-navbar.md +4 -4
  393. package/docs/components/shell/command-registry.md +2 -2
  394. package/docs/components/shell/link-context.md +2 -2
  395. package/docs/components/shell/top-bar.md +1 -1
  396. package/docs/components/ui/search-input.md +2 -2
  397. package/docs/components/ui/slider.md +2 -2
  398. package/docs/components/ui/split-button.md +3 -3
  399. package/docs/recipes/install-astro.md +2 -0
  400. package/docs/recipes/install-next-app-router.md +2 -0
  401. package/docs/recipes/install-remix.md +2 -0
  402. package/docs/recipes/install-tanstack-start.md +2 -0
  403. package/docs/recipes/install-vite.md +2 -0
  404. package/docs/recipes/troubleshoot.md +80 -0
  405. package/llms.txt +2 -2
  406. package/make-kit/Guidelines.md +1 -1
  407. package/make-kit/components/overview.md +2 -2
  408. package/make-kit/foundations/surfaces.md +1 -1
  409. package/mcp-manifest.json +411 -147
  410. package/package.json +30 -10
  411. package/skill/SKILL.md +1 -1
  412. package/skill/chat-skill/README.md +18 -0
  413. package/skill/chat-skill/SKILL.md +78 -0
  414. package/skill/chat-skill/chatgpt-instructions.md +26 -0
  415. package/skill/chat-skill/gemini-instructions.md +25 -0
  416. package/skill/references/components.md +2 -2
  417. package/skill/references/setup-astro.md +2 -0
  418. package/skill/references/setup-next-app-router.md +2 -0
  419. package/skill/references/setup-remix.md +2 -0
  420. package/skill/references/setup-tanstack-start.md +2 -0
  421. package/skill/references/setup-vite.md +2 -0
  422. package/skill/references/troubleshoot.md +80 -0
  423. package/dist/_chunks/primitives.js +0 -7596
  424. package/dist/_chunks/primitives.js.map +0 -1
  425. package/dist/shell/sidebar.d.ts +0 -113
  426. package/dist/shell/sidebar.d.ts.map +0 -1
  427. package/dist/shell/sidebar.js +0 -293
  428. package/dist/shell/sidebar.js.map +0 -1
  429. package/docs/components/shell/sidebar.md +0 -103
@@ -0,0 +1,341 @@
1
+ "use client";
2
+ import { Anchor as e, Arrow as t, Content as n, DismissableLayer as r, Portal as i, Presence as a, Primitive as o, Root as s, composeEventHandlers as c, createContextScope as l, createPopperScope as u, createSlottable as d, useComposedRefs as f, useControllableState as p, useId as m } from "../primitives-internal.js";
3
+ import { Root as h } from "./react-navigation-menu.js";
4
+ import * as g from "react";
5
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
6
+ //#region src/primitives/react-tooltip.js
7
+ var [y, b] = l("Tooltip", [u]), x = u(), S = "TooltipProvider", C = 700, w = "tooltip.open", [T, E] = y(S), D = (e) => {
8
+ let { __scopeTooltip: t, delayDuration: n = C, skipDelayDuration: r = 300, disableHoverableContent: i = !1, children: a } = e, o = g.useRef(!0), s = g.useRef(!1), c = g.useRef(0);
9
+ return g.useEffect(() => {
10
+ let e = c.current;
11
+ return () => window.clearTimeout(e);
12
+ }, []), /* @__PURE__ */ _(T, {
13
+ scope: t,
14
+ isOpenDelayedRef: o,
15
+ delayDuration: n,
16
+ onOpen: g.useCallback(() => {
17
+ window.clearTimeout(c.current), o.current = !1;
18
+ }, []),
19
+ onClose: g.useCallback(() => {
20
+ window.clearTimeout(c.current), c.current = window.setTimeout(() => o.current = !0, r);
21
+ }, [r]),
22
+ isPointerInTransitRef: s,
23
+ onPointerInTransitChange: g.useCallback((e) => {
24
+ s.current = e;
25
+ }, []),
26
+ disableHoverableContent: i,
27
+ children: a
28
+ });
29
+ };
30
+ D.displayName = S;
31
+ var O = "Tooltip", [k, A] = y(O), j = (e) => {
32
+ let { __scopeTooltip: t, children: n, open: r, defaultOpen: i, onOpenChange: a, disableHoverableContent: o, delayDuration: c } = e, l = E(O, e.__scopeTooltip), u = x(t), [d, f] = g.useState(null), h = m(), v = g.useRef(0), y = o ?? l.disableHoverableContent, b = c ?? l.delayDuration, S = g.useRef(!1), [C, T] = p({
33
+ prop: r,
34
+ defaultProp: i ?? !1,
35
+ onChange: (e) => {
36
+ e ? (l.onOpen(), document.dispatchEvent(new CustomEvent(w))) : l.onClose(), a?.(e);
37
+ },
38
+ caller: O
39
+ }), D = g.useMemo(() => C ? S.current ? "delayed-open" : "instant-open" : "closed", [C]), A = g.useCallback(() => {
40
+ window.clearTimeout(v.current), v.current = 0, S.current = !1, T(!0);
41
+ }, [T]), j = g.useCallback(() => {
42
+ window.clearTimeout(v.current), v.current = 0, T(!1);
43
+ }, [T]), M = g.useCallback(() => {
44
+ window.clearTimeout(v.current), v.current = window.setTimeout(() => {
45
+ S.current = !0, T(!0), v.current = 0;
46
+ }, b);
47
+ }, [b, T]);
48
+ return g.useEffect(() => () => {
49
+ v.current &&= (window.clearTimeout(v.current), 0);
50
+ }, []), /* @__PURE__ */ _(s, {
51
+ ...u,
52
+ children: /* @__PURE__ */ _(k, {
53
+ scope: t,
54
+ contentId: h,
55
+ open: C,
56
+ stateAttribute: D,
57
+ trigger: d,
58
+ onTriggerChange: f,
59
+ onTriggerEnter: g.useCallback(() => {
60
+ l.isOpenDelayedRef.current ? M() : A();
61
+ }, [
62
+ l.isOpenDelayedRef,
63
+ M,
64
+ A
65
+ ]),
66
+ onTriggerLeave: g.useCallback(() => {
67
+ y ? j() : (window.clearTimeout(v.current), v.current = 0);
68
+ }, [j, y]),
69
+ onOpen: A,
70
+ onClose: j,
71
+ disableHoverableContent: y,
72
+ children: n
73
+ })
74
+ });
75
+ };
76
+ j.displayName = O;
77
+ var M = "TooltipTrigger", N = g.forwardRef((t, n) => {
78
+ let { __scopeTooltip: r, ...i } = t, a = A(M, r), s = E(M, r), l = x(r), u = f(n, g.useRef(null), a.onTriggerChange), d = g.useRef(!1), p = g.useRef(!1), m = g.useCallback(() => d.current = !1, []);
79
+ return g.useEffect(() => () => document.removeEventListener("pointerup", m), [m]), /* @__PURE__ */ _(e, {
80
+ asChild: !0,
81
+ ...l,
82
+ children: /* @__PURE__ */ _(o.button, {
83
+ "aria-describedby": a.open ? a.contentId : void 0,
84
+ "data-state": a.stateAttribute,
85
+ ...i,
86
+ ref: u,
87
+ onPointerMove: c(t.onPointerMove, (e) => {
88
+ e.pointerType !== "touch" && !p.current && !s.isPointerInTransitRef.current && (a.onTriggerEnter(), p.current = !0);
89
+ }),
90
+ onPointerLeave: c(t.onPointerLeave, () => {
91
+ a.onTriggerLeave(), p.current = !1;
92
+ }),
93
+ onPointerDown: c(t.onPointerDown, () => {
94
+ a.open && a.onClose(), d.current = !0, document.addEventListener("pointerup", m, { once: !0 });
95
+ }),
96
+ onFocus: c(t.onFocus, () => {
97
+ d.current || a.onOpen();
98
+ }),
99
+ onBlur: c(t.onBlur, a.onClose),
100
+ onClick: c(t.onClick, a.onClose)
101
+ })
102
+ });
103
+ });
104
+ N.displayName = M;
105
+ var P = "TooltipPortal", [F, I] = y(P, { forceMount: void 0 }), L = (e) => {
106
+ let { __scopeTooltip: t, forceMount: n, children: r, container: o } = e, s = A(P, t);
107
+ return /* @__PURE__ */ _(F, {
108
+ scope: t,
109
+ forceMount: n,
110
+ children: /* @__PURE__ */ _(a, {
111
+ present: n || s.open,
112
+ children: /* @__PURE__ */ _(i, {
113
+ asChild: !0,
114
+ container: o,
115
+ children: r
116
+ })
117
+ })
118
+ });
119
+ };
120
+ L.displayName = P;
121
+ var R = "TooltipContent", z = g.forwardRef((e, t) => {
122
+ let n = I(R, e.__scopeTooltip), { forceMount: r = n.forceMount, side: i = "top", ...o } = e, s = A(R, e.__scopeTooltip);
123
+ return /* @__PURE__ */ _(a, {
124
+ present: r || s.open,
125
+ children: s.disableHoverableContent ? /* @__PURE__ */ _(W, {
126
+ side: i,
127
+ ...o,
128
+ ref: t
129
+ }) : /* @__PURE__ */ _(B, {
130
+ side: i,
131
+ ...o,
132
+ ref: t
133
+ })
134
+ });
135
+ }), B = g.forwardRef((e, t) => {
136
+ let n = A(R, e.__scopeTooltip), r = E(R, e.__scopeTooltip), i = g.useRef(null), a = f(t, i), [o, s] = g.useState(null), { trigger: c, onClose: l } = n, u = i.current, { onPointerInTransitChange: d } = r, p = g.useCallback(() => {
137
+ s(null), d(!1);
138
+ }, [d]), m = g.useCallback((e, t) => {
139
+ let n = e.currentTarget, r = {
140
+ x: e.clientX,
141
+ y: e.clientY
142
+ }, i = J(r, q(r, n.getBoundingClientRect())), a = Y(t.getBoundingClientRect()), o = Z([...i, ...a]);
143
+ s(o), d(!0);
144
+ }, [d]);
145
+ return g.useEffect(() => () => p(), [p]), g.useEffect(() => {
146
+ if (c && u) {
147
+ let e = (e) => m(e, u), t = (e) => m(e, c);
148
+ return c.addEventListener("pointerleave", e), u.addEventListener("pointerleave", t), () => {
149
+ c.removeEventListener("pointerleave", e), u.removeEventListener("pointerleave", t);
150
+ };
151
+ }
152
+ }, [
153
+ c,
154
+ u,
155
+ m,
156
+ p
157
+ ]), g.useEffect(() => {
158
+ if (o) {
159
+ let e = (e) => {
160
+ let t = e.target, n = {
161
+ x: e.clientX,
162
+ y: e.clientY
163
+ }, r = c?.contains(t) || u?.contains(t), i = !X(n, o);
164
+ r ? p() : i && (p(), l());
165
+ };
166
+ return document.addEventListener("pointermove", e), () => document.removeEventListener("pointermove", e);
167
+ }
168
+ }, [
169
+ c,
170
+ u,
171
+ o,
172
+ l,
173
+ p
174
+ ]), /* @__PURE__ */ _(W, {
175
+ ...e,
176
+ ref: a
177
+ });
178
+ }), [V, H] = y(O, { isInside: !1 }), U = /* @__PURE__ */ d("TooltipContent"), W = g.forwardRef((e, t) => {
179
+ let { __scopeTooltip: i, children: a, "aria-label": o, onEscapeKeyDown: s, onPointerDownOutside: c, ...l } = e, u = A(R, i), d = x(i), { onClose: f } = u;
180
+ return g.useEffect(() => (document.addEventListener(w, f), () => document.removeEventListener(w, f)), [f]), g.useEffect(() => {
181
+ if (u.trigger) {
182
+ let e = (e) => {
183
+ e.target?.contains(u.trigger) && f();
184
+ };
185
+ return window.addEventListener("scroll", e, { capture: !0 }), () => window.removeEventListener("scroll", e, { capture: !0 });
186
+ }
187
+ }, [u.trigger, f]), /* @__PURE__ */ _(r, {
188
+ asChild: !0,
189
+ disableOutsidePointerEvents: !1,
190
+ onEscapeKeyDown: s,
191
+ onPointerDownOutside: c,
192
+ onFocusOutside: (e) => e.preventDefault(),
193
+ onDismiss: f,
194
+ children: /* @__PURE__ */ v(n, {
195
+ "data-state": u.stateAttribute,
196
+ ...d,
197
+ ...l,
198
+ ref: t,
199
+ style: {
200
+ ...l.style,
201
+ "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
202
+ "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
203
+ "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
204
+ "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
205
+ "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
206
+ },
207
+ children: [/* @__PURE__ */ _(U, { children: a }), /* @__PURE__ */ _(V, {
208
+ scope: i,
209
+ isInside: !0,
210
+ children: /* @__PURE__ */ _(h, {
211
+ id: u.contentId,
212
+ role: "tooltip",
213
+ children: o || a
214
+ })
215
+ })]
216
+ })
217
+ });
218
+ });
219
+ z.displayName = R;
220
+ var G = "TooltipArrow", K = g.forwardRef((e, n) => {
221
+ let { __scopeTooltip: r, ...i } = e, a = x(r);
222
+ return H(G, r).isInside ? null : /* @__PURE__ */ _(t, {
223
+ ...a,
224
+ ...i,
225
+ ref: n
226
+ });
227
+ });
228
+ K.displayName = G;
229
+ function q(e, t) {
230
+ let n = Math.abs(t.top - e.y), r = Math.abs(t.bottom - e.y), i = Math.abs(t.right - e.x), a = Math.abs(t.left - e.x);
231
+ switch (Math.min(n, r, i, a)) {
232
+ case a: return "left";
233
+ case i: return "right";
234
+ case n: return "top";
235
+ case r: return "bottom";
236
+ default: throw Error("unreachable");
237
+ }
238
+ }
239
+ function J(e, t, n = 5) {
240
+ let r = [];
241
+ switch (t) {
242
+ case "top":
243
+ r.push({
244
+ x: e.x - n,
245
+ y: e.y + n
246
+ }, {
247
+ x: e.x + n,
248
+ y: e.y + n
249
+ });
250
+ break;
251
+ case "bottom":
252
+ r.push({
253
+ x: e.x - n,
254
+ y: e.y - n
255
+ }, {
256
+ x: e.x + n,
257
+ y: e.y - n
258
+ });
259
+ break;
260
+ case "left":
261
+ r.push({
262
+ x: e.x + n,
263
+ y: e.y - n
264
+ }, {
265
+ x: e.x + n,
266
+ y: e.y + n
267
+ });
268
+ break;
269
+ case "right":
270
+ r.push({
271
+ x: e.x - n,
272
+ y: e.y - n
273
+ }, {
274
+ x: e.x - n,
275
+ y: e.y + n
276
+ });
277
+ break;
278
+ }
279
+ return r;
280
+ }
281
+ function Y(e) {
282
+ let { top: t, right: n, bottom: r, left: i } = e;
283
+ return [
284
+ {
285
+ x: i,
286
+ y: t
287
+ },
288
+ {
289
+ x: n,
290
+ y: t
291
+ },
292
+ {
293
+ x: n,
294
+ y: r
295
+ },
296
+ {
297
+ x: i,
298
+ y: r
299
+ }
300
+ ];
301
+ }
302
+ function X(e, t) {
303
+ let { x: n, y: r } = e, i = !1;
304
+ for (let e = 0, a = t.length - 1; e < t.length; a = e++) {
305
+ let o = t[e], s = t[a], c = o.x, l = o.y, u = s.x, d = s.y;
306
+ l > r != d > r && n < (u - c) * (r - l) / (d - l) + c && (i = !i);
307
+ }
308
+ return i;
309
+ }
310
+ function Z(e) {
311
+ let t = e.slice();
312
+ return t.sort((e, t) => e.x < t.x ? -1 : e.x > t.x ? 1 : e.y < t.y ? -1 : +(e.y > t.y)), Q(t);
313
+ }
314
+ function Q(e) {
315
+ if (e.length <= 1) return e.slice();
316
+ let t = [];
317
+ for (let n = 0; n < e.length; n++) {
318
+ let r = e[n];
319
+ for (; t.length >= 2;) {
320
+ let e = t[t.length - 1], n = t[t.length - 2];
321
+ if ((e.x - n.x) * (r.y - n.y) >= (e.y - n.y) * (r.x - n.x)) t.pop();
322
+ else break;
323
+ }
324
+ t.push(r);
325
+ }
326
+ t.pop();
327
+ let n = [];
328
+ for (let t = e.length - 1; t >= 0; t--) {
329
+ let r = e[t];
330
+ for (; n.length >= 2;) {
331
+ let e = n[n.length - 1], t = n[n.length - 2];
332
+ if ((e.x - t.x) * (r.y - t.y) >= (e.y - t.y) * (r.x - t.x)) n.pop();
333
+ else break;
334
+ }
335
+ n.push(r);
336
+ }
337
+ return n.pop(), t.length === 1 && n.length === 1 && t[0].x === n[0].x && t[0].y === n[0].y ? t : t.concat(n);
338
+ }
339
+ var $ = D, ee = j, te = N, ne = L, re = z;
340
+ //#endregion
341
+ export { re as Content2, ne as Portal, $ as Provider, ee as Root3, te as Trigger };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-tooltip.js","names":[],"sources":["../../../src/primitives/react-tooltip.js"],"sourcesContent":["// @ts-nocheck\n/**\n * Vendored from @radix-ui/react-tooltip (compiled ESM)\n * @see ./LICENSE\n */\n\n\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"./_internal/primitive\";\nimport { useComposedRefs } from \"./_internal/react-compose-refs\";\nimport { createContextScope } from \"./_internal/react-context\";\nimport { DismissableLayer } from \"./_internal/react-dismissable-layer\";\nimport { useId } from \"./_internal/react-id\";\nimport * as PopperPrimitive from \"./_internal/react-popper\";\nimport { createPopperScope } from \"./_internal/react-popper\";\nimport { Portal as PortalPrimitive } from \"./_internal/react-portal\";\nimport { Presence } from \"./_internal/react-presence\";\nimport { Primitive } from \"./_internal/react-primitive\";\nimport { createSlottable } from \"./react-slot\";\nimport { useControllableState } from \"./_internal/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"./react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n"],"mappings":"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"}