@vamos-ui/react 0.0.0-stage → 0.2.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 (665) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -2
  3. package/dist/blocks/block-heading.d.ts +29 -0
  4. package/dist/blocks/block-heading.js +39 -0
  5. package/dist/blocks/block-image.d.ts +52 -0
  6. package/dist/blocks/block-image.js +48 -0
  7. package/dist/blocks/block-link.d.ts +30 -0
  8. package/dist/blocks/block-link.js +36 -0
  9. package/dist/blocks/create-blocks.d.ts +54 -0
  10. package/dist/blocks/create-blocks.js +52 -0
  11. package/dist/blocks/index.d.ts +55 -0
  12. package/dist/blocks/index.js +59 -0
  13. package/dist/blocks/json-ld.d.ts +18 -0
  14. package/dist/blocks/json-ld.js +44 -0
  15. package/dist/blocks/labels.d.ts +20 -0
  16. package/dist/blocks/labels.js +43 -0
  17. package/dist/blocks/rich-text.d.ts +36 -0
  18. package/dist/blocks/rich-text.js +106 -0
  19. package/dist/blocks/schema/define-block.d.ts +151 -0
  20. package/dist/blocks/schema/define-block.js +120 -0
  21. package/dist/blocks/schema/emphasis.d.ts +17 -0
  22. package/dist/blocks/schema/emphasis.js +69 -0
  23. package/dist/blocks/schema/fields.d.ts +497 -0
  24. package/dist/blocks/schema/fields.js +240 -0
  25. package/dist/blocks/schema/icons.d.ts +2 -0
  26. package/dist/blocks/schema/icons.js +26 -0
  27. package/dist/blocks/schema/index.d.ts +18 -0
  28. package/dist/blocks/schema/index.js +21 -0
  29. package/dist/blocks/schema/lint-types.d.ts +16 -0
  30. package/dist/blocks/schema/lint-types.js +2 -0
  31. package/dist/blocks/schema/lint.d.ts +32 -0
  32. package/dist/blocks/schema/lint.js +164 -0
  33. package/dist/blocks/schema/localize.d.ts +20 -0
  34. package/dist/blocks/schema/localize.js +29 -0
  35. package/dist/blocks/schema/localized.d.ts +25 -0
  36. package/dist/blocks/schema/localized.js +53 -0
  37. package/dist/blocks/schema/migrate.d.ts +24 -0
  38. package/dist/blocks/schema/migrate.js +75 -0
  39. package/dist/blocks/schema/nodes.d.ts +196 -0
  40. package/dist/blocks/schema/nodes.js +78 -0
  41. package/dist/blocks/schema/rich-doc-schema.d.ts +32 -0
  42. package/dist/blocks/schema/rich-doc-schema.js +66 -0
  43. package/dist/blocks/schema/rich-doc.d.ts +90 -0
  44. package/dist/blocks/schema/rich-doc.js +62 -0
  45. package/dist/blocks/schema/safety.d.ts +20 -0
  46. package/dist/blocks/schema/safety.js +49 -0
  47. package/dist/blocks/schema/types.d.ts +172 -0
  48. package/dist/blocks/schema/types.js +3 -0
  49. package/dist/blocks/schema/validate.d.ts +17 -0
  50. package/dist/blocks/schema/validate.js +32 -0
  51. package/dist/blocks/schema/walk.d.ts +22 -0
  52. package/dist/blocks/schema/walk.js +60 -0
  53. package/dist/blocks/section-header.d.ts +38 -0
  54. package/dist/blocks/section-header.js +22 -0
  55. package/dist/blocks/section.d.ts +59 -0
  56. package/dist/blocks/section.js +66 -0
  57. package/dist/blocks/site/_kit-1.d.ts +100 -0
  58. package/dist/blocks/site/_kit-1.js +135 -0
  59. package/dist/blocks/site/_site-icon-1.d.ts +6 -0
  60. package/dist/blocks/site/_site-icon-1.js +15 -0
  61. package/dist/blocks/site/announcement-bar.d.ts +42 -0
  62. package/dist/blocks/site/announcement-bar.js +38 -0
  63. package/dist/blocks/site/announcement-dismiss.d.ts +18 -0
  64. package/dist/blocks/site/announcement-dismiss.js +28 -0
  65. package/dist/blocks/site/article-layout.d.ts +65 -0
  66. package/dist/blocks/site/article-layout.js +88 -0
  67. package/dist/blocks/site/blog-list.d.ts +79 -0
  68. package/dist/blocks/site/blog-list.js +78 -0
  69. package/dist/blocks/site/comparison-table.d.ts +54 -0
  70. package/dist/blocks/site/comparison-table.js +38 -0
  71. package/dist/blocks/site/consent-banner.d.ts +52 -0
  72. package/dist/blocks/site/consent-banner.js +33 -0
  73. package/dist/blocks/site/contact-dock.d.ts +52 -0
  74. package/dist/blocks/site/contact-dock.js +55 -0
  75. package/dist/blocks/site/contact-form.d.ts +60 -0
  76. package/dist/blocks/site/contact-form.js +45 -0
  77. package/dist/blocks/site/cta-booking.d.ts +43 -0
  78. package/dist/blocks/site/cta-booking.js +69 -0
  79. package/dist/blocks/site/cta.d.ts +74 -0
  80. package/dist/blocks/site/cta.js +112 -0
  81. package/dist/blocks/site/embed-facade.d.ts +20 -0
  82. package/dist/blocks/site/embed-facade.js +21 -0
  83. package/dist/blocks/site/faq.d.ts +48 -0
  84. package/dist/blocks/site/faq.js +51 -0
  85. package/dist/blocks/site/feature-grid.d.ts +46 -0
  86. package/dist/blocks/site/feature-grid.js +49 -0
  87. package/dist/blocks/site/feature-tabs.d.ts +22 -0
  88. package/dist/blocks/site/feature-tabs.js +11 -0
  89. package/dist/blocks/site/footer.d.ts +68 -0
  90. package/dist/blocks/site/footer.js +61 -0
  91. package/dist/blocks/site/gallery-section.d.ts +42 -0
  92. package/dist/blocks/site/gallery-section.js +47 -0
  93. package/dist/blocks/site/hero-video.d.ts +15 -0
  94. package/dist/blocks/site/hero-video.js +31 -0
  95. package/dist/blocks/site/hero.d.ts +64 -0
  96. package/dist/blocks/site/hero.js +67 -0
  97. package/dist/blocks/site/logo-strip.d.ts +42 -0
  98. package/dist/blocks/site/logo-strip.js +26 -0
  99. package/dist/blocks/site/map-hours.d.ts +83 -0
  100. package/dist/blocks/site/map-hours.js +125 -0
  101. package/dist/blocks/site/media-text.d.ts +45 -0
  102. package/dist/blocks/site/media-text.js +55 -0
  103. package/dist/blocks/site/menu-list.d.ts +74 -0
  104. package/dist/blocks/site/menu-list.js +84 -0
  105. package/dist/blocks/site/navbar-submenu.d.ts +18 -0
  106. package/dist/blocks/site/navbar-submenu.js +51 -0
  107. package/dist/blocks/site/navbar.d.ts +67 -0
  108. package/dist/blocks/site/navbar.js +64 -0
  109. package/dist/blocks/site/not-found.d.ts +40 -0
  110. package/dist/blocks/site/not-found.js +38 -0
  111. package/dist/blocks/site/page-intro.d.ts +46 -0
  112. package/dist/blocks/site/page-intro.js +44 -0
  113. package/dist/blocks/site/pricing-table.d.ts +67 -0
  114. package/dist/blocks/site/pricing-table.js +82 -0
  115. package/dist/blocks/site/process.d.ts +36 -0
  116. package/dist/blocks/site/process.js +41 -0
  117. package/dist/blocks/site/registry-1.d.ts +720 -0
  118. package/dist/blocks/site/registry-1.js +783 -0
  119. package/dist/blocks/site/registry-2.d.ts +914 -0
  120. package/dist/blocks/site/registry-2.js +563 -0
  121. package/dist/blocks/site/rich-text-section.d.ts +34 -0
  122. package/dist/blocks/site/rich-text-section.js +32 -0
  123. package/dist/blocks/site/shared/brand-icons.d.ts +21 -0
  124. package/dist/blocks/site/shared/brand-icons.js +56 -0
  125. package/dist/blocks/site/shared/consent-gate.d.ts +41 -0
  126. package/dist/blocks/site/shared/consent-gate.js +43 -0
  127. package/dist/blocks/site/shared/consent-island.d.ts +38 -0
  128. package/dist/blocks/site/shared/consent-island.js +63 -0
  129. package/dist/blocks/site/shared/consent.d.ts +49 -0
  130. package/dist/blocks/site/shared/consent.js +130 -0
  131. package/dist/blocks/site/shared/contact-form-island.d.ts +41 -0
  132. package/dist/blocks/site/shared/contact-form-island.js +100 -0
  133. package/dist/blocks/site/shared/copy-link.d.ts +10 -0
  134. package/dist/blocks/site/shared/copy-link.js +25 -0
  135. package/dist/blocks/site/shared/dock-avoid.d.ts +15 -0
  136. package/dist/blocks/site/shared/dock-avoid.js +107 -0
  137. package/dist/blocks/site/shared/dock-hours.d.ts +13 -0
  138. package/dist/blocks/site/shared/dock-hours.js +25 -0
  139. package/dist/blocks/site/shared/gallery-lightbox.d.ts +12 -0
  140. package/dist/blocks/site/shared/gallery-lightbox.js +10 -0
  141. package/dist/blocks/site/shared/island-keys.d.ts +10 -0
  142. package/dist/blocks/site/shared/island-keys.js +44 -0
  143. package/dist/blocks/site/shared/kit-2.d.ts +55 -0
  144. package/dist/blocks/site/shared/kit-2.js +84 -0
  145. package/dist/blocks/site/shared/labels-2.d.ts +209 -0
  146. package/dist/blocks/site/shared/labels-2.js +427 -0
  147. package/dist/blocks/site/shared/open-now.d.ts +22 -0
  148. package/dist/blocks/site/shared/open-now.js +27 -0
  149. package/dist/blocks/site/shared/opening-hours.d.ts +117 -0
  150. package/dist/blocks/site/shared/opening-hours.js +245 -0
  151. package/dist/blocks/site/shared/site-accent.d.ts +48 -0
  152. package/dist/blocks/site/shared/site-accent.js +249 -0
  153. package/dist/blocks/site/shared/site-form.d.ts +79 -0
  154. package/dist/blocks/site/shared/site-form.js +111 -0
  155. package/dist/blocks/site/shared/site-routing.d.ts +54 -0
  156. package/dist/blocks/site/shared/site-routing.js +86 -0
  157. package/dist/blocks/site/shared/testimonials-carousel.d.ts +17 -0
  158. package/dist/blocks/site/shared/testimonials-carousel.js +64 -0
  159. package/dist/blocks/site/site-shell.d.ts +97 -0
  160. package/dist/blocks/site/site-shell.js +227 -0
  161. package/dist/blocks/site/stats-band.d.ts +40 -0
  162. package/dist/blocks/site/stats-band.js +41 -0
  163. package/dist/blocks/site/team.d.ts +44 -0
  164. package/dist/blocks/site/team.js +48 -0
  165. package/dist/blocks/site/testimonials.d.ts +68 -0
  166. package/dist/blocks/site/testimonials.js +65 -0
  167. package/dist/blocks/types.d.ts +63 -0
  168. package/dist/blocks/types.js +2 -0
  169. package/dist/business/approval-flow.d.ts +152 -0
  170. package/dist/business/approval-flow.js +221 -0
  171. package/dist/business/export-core.d.ts +55 -0
  172. package/dist/business/export-core.js +101 -0
  173. package/dist/business/export.d.ts +148 -0
  174. package/dist/business/export.js +264 -0
  175. package/dist/business/import-core.d.ts +104 -0
  176. package/dist/business/import-core.js +281 -0
  177. package/dist/business/import-wizard.d.ts +186 -0
  178. package/dist/business/import-wizard.js +401 -0
  179. package/dist/business/index.d.ts +11 -0
  180. package/dist/business/index.js +20 -0
  181. package/dist/business/line-items-core.d.ts +129 -0
  182. package/dist/business/line-items-core.js +183 -0
  183. package/dist/business/line-items.d.ts +119 -0
  184. package/dist/business/line-items.js +299 -0
  185. package/dist/business/multi-step-form.d.ts +131 -0
  186. package/dist/business/multi-step-form.js +337 -0
  187. package/dist/business/permission-core.d.ts +59 -0
  188. package/dist/business/permission-core.js +99 -0
  189. package/dist/business/permission-matrix.d.ts +158 -0
  190. package/dist/business/permission-matrix.js +341 -0
  191. package/dist/business/setup-checklist.d.ts +80 -0
  192. package/dist/business/setup-checklist.js +92 -0
  193. package/dist/charts/area-chart.d.ts +35 -0
  194. package/dist/charts/area-chart.js +33 -0
  195. package/dist/charts/bar-chart.d.ts +27 -0
  196. package/dist/charts/bar-chart.js +42 -0
  197. package/dist/charts/bar-list.d.ts +47 -0
  198. package/dist/charts/bar-list.js +60 -0
  199. package/dist/charts/chart-shell.d.ts +173 -0
  200. package/dist/charts/chart-shell.js +205 -0
  201. package/dist/charts/chart.d.ts +73 -0
  202. package/dist/charts/chart.js +106 -0
  203. package/dist/charts/combo-chart.d.ts +29 -0
  204. package/dist/charts/combo-chart.js +47 -0
  205. package/dist/charts/donut-chart.d.ts +33 -0
  206. package/dist/charts/donut-chart.js +113 -0
  207. package/dist/charts/funnel.d.ts +51 -0
  208. package/dist/charts/funnel.js +69 -0
  209. package/dist/charts/gauge.d.ts +62 -0
  210. package/dist/charts/gauge.js +104 -0
  211. package/dist/charts/heatmap.d.ts +81 -0
  212. package/dist/charts/heatmap.js +338 -0
  213. package/dist/charts/index.d.ts +12 -0
  214. package/dist/charts/index.js +14 -0
  215. package/dist/charts/line-chart.d.ts +21 -0
  216. package/dist/charts/line-chart.js +36 -0
  217. package/dist/charts/test-utils.d.ts +2 -0
  218. package/dist/charts/test-utils.js +38 -0
  219. package/dist/charts/utils.d.ts +130 -0
  220. package/dist/charts/utils.js +262 -0
  221. package/dist/components/accordion.d.ts +47 -0
  222. package/dist/components/accordion.js +70 -0
  223. package/dist/components/activity-timeline.d.ts +149 -0
  224. package/dist/components/activity-timeline.js +122 -0
  225. package/dist/components/address-field.d.ts +116 -0
  226. package/dist/components/address-field.js +219 -0
  227. package/dist/components/alert-dialog.d.ts +99 -0
  228. package/dist/components/alert-dialog.js +192 -0
  229. package/dist/components/alert.d.ts +42 -0
  230. package/dist/components/alert.js +82 -0
  231. package/dist/components/app-shell.d.ts +159 -0
  232. package/dist/components/app-shell.js +289 -0
  233. package/dist/components/attachment-list.d.ts +96 -0
  234. package/dist/components/attachment-list.js +196 -0
  235. package/dist/components/audit-log.d.ts +150 -0
  236. package/dist/components/audit-log.js +205 -0
  237. package/dist/components/avatar.d.ts +87 -0
  238. package/dist/components/avatar.js +126 -0
  239. package/dist/components/badge.d.ts +41 -0
  240. package/dist/components/badge.js +68 -0
  241. package/dist/components/breadcrumb.d.ts +78 -0
  242. package/dist/components/breadcrumb.js +106 -0
  243. package/dist/components/button-group.d.ts +52 -0
  244. package/dist/components/button-group.js +77 -0
  245. package/dist/components/button.d.ts +58 -0
  246. package/dist/components/button.js +107 -0
  247. package/dist/components/calendar.d.ts +240 -0
  248. package/dist/components/calendar.js +483 -0
  249. package/dist/components/card.d.ts +66 -0
  250. package/dist/components/card.js +76 -0
  251. package/dist/components/carousel.d.ts +170 -0
  252. package/dist/components/carousel.js +348 -0
  253. package/dist/components/checkbox.d.ts +78 -0
  254. package/dist/components/checkbox.js +138 -0
  255. package/dist/components/color-picker.d.ts +112 -0
  256. package/dist/components/color-picker.js +235 -0
  257. package/dist/components/combobox.d.ts +136 -0
  258. package/dist/components/combobox.js +294 -0
  259. package/dist/components/command.d.ts +275 -0
  260. package/dist/components/command.js +493 -0
  261. package/dist/components/comment-thread.d.ts +252 -0
  262. package/dist/components/comment-thread.js +449 -0
  263. package/dist/components/context-menu.d.ts +77 -0
  264. package/dist/components/context-menu.js +82 -0
  265. package/dist/components/currency-input.d.ts +43 -0
  266. package/dist/components/currency-input.js +85 -0
  267. package/dist/components/date-picker.d.ts +141 -0
  268. package/dist/components/date-picker.js +241 -0
  269. package/dist/components/date-range-picker.d.ts +91 -0
  270. package/dist/components/date-range-picker.js +251 -0
  271. package/dist/components/description-list.d.ts +92 -0
  272. package/dist/components/description-list.js +42 -0
  273. package/dist/components/dialog.d.ts +139 -0
  274. package/dist/components/dialog.js +185 -0
  275. package/dist/components/dropdown-menu.d.ts +100 -0
  276. package/dist/components/dropdown-menu.js +102 -0
  277. package/dist/components/editor-layout.d.ts +166 -0
  278. package/dist/components/editor-layout.js +237 -0
  279. package/dist/components/empty-state.d.ts +49 -0
  280. package/dist/components/empty-state.js +68 -0
  281. package/dist/components/entity-card.d.ts +83 -0
  282. package/dist/components/entity-card.js +92 -0
  283. package/dist/components/file-upload.d.ts +256 -0
  284. package/dist/components/file-upload.js +490 -0
  285. package/dist/components/formatted-input.d.ts +177 -0
  286. package/dist/components/formatted-input.js +399 -0
  287. package/dist/components/hierarchy-chart.d.ts +190 -0
  288. package/dist/components/hierarchy-chart.js +890 -0
  289. package/dist/components/hover-card.d.ts +21 -0
  290. package/dist/components/hover-card.js +32 -0
  291. package/dist/components/iban-input.d.ts +38 -0
  292. package/dist/components/iban-input.js +112 -0
  293. package/dist/components/id-input.d.ts +65 -0
  294. package/dist/components/id-input.js +130 -0
  295. package/dist/components/image.d.ts +130 -0
  296. package/dist/components/image.js +168 -0
  297. package/dist/components/input-otp.d.ts +62 -0
  298. package/dist/components/input-otp.js +73 -0
  299. package/dist/components/input.d.ts +141 -0
  300. package/dist/components/input.js +187 -0
  301. package/dist/components/item.d.ts +96 -0
  302. package/dist/components/item.js +113 -0
  303. package/dist/components/kbd.d.ts +64 -0
  304. package/dist/components/kbd.js +119 -0
  305. package/dist/components/list-layout.d.ts +144 -0
  306. package/dist/components/list-layout.js +210 -0
  307. package/dist/components/native-select.d.ts +33 -0
  308. package/dist/components/native-select.js +48 -0
  309. package/dist/components/navigation-menu.d.ts +127 -0
  310. package/dist/components/navigation-menu.js +129 -0
  311. package/dist/components/notification-center.d.ts +164 -0
  312. package/dist/components/notification-center.js +399 -0
  313. package/dist/components/page-header.d.ts +60 -0
  314. package/dist/components/page-header.js +60 -0
  315. package/dist/components/pagination.d.ts +121 -0
  316. package/dist/components/pagination.js +174 -0
  317. package/dist/components/phone-input.d.ts +49 -0
  318. package/dist/components/phone-input.js +266 -0
  319. package/dist/components/popover.d.ts +38 -0
  320. package/dist/components/popover.js +69 -0
  321. package/dist/components/progress.d.ts +79 -0
  322. package/dist/components/progress.js +97 -0
  323. package/dist/components/radio-group.d.ts +43 -0
  324. package/dist/components/radio-group.js +81 -0
  325. package/dist/components/record-detail-layout.d.ts +167 -0
  326. package/dist/components/record-detail-layout.js +233 -0
  327. package/dist/components/record-picker.d.ts +199 -0
  328. package/dist/components/record-picker.js +650 -0
  329. package/dist/components/resizable.d.ts +50 -0
  330. package/dist/components/resizable.js +88 -0
  331. package/dist/components/scroll-area.d.ts +40 -0
  332. package/dist/components/scroll-area.js +56 -0
  333. package/dist/components/select.d.ts +126 -0
  334. package/dist/components/select.js +137 -0
  335. package/dist/components/separator.d.ts +31 -0
  336. package/dist/components/separator.js +41 -0
  337. package/dist/components/settings-layout.d.ts +134 -0
  338. package/dist/components/settings-layout.js +180 -0
  339. package/dist/components/sheet.d.ts +103 -0
  340. package/dist/components/sheet.js +165 -0
  341. package/dist/components/sidebar.d.ts +171 -0
  342. package/dist/components/sidebar.js +421 -0
  343. package/dist/components/signature-pad.d.ts +85 -0
  344. package/dist/components/signature-pad.js +283 -0
  345. package/dist/components/skeleton.d.ts +64 -0
  346. package/dist/components/skeleton.js +53 -0
  347. package/dist/components/slider.d.ts +57 -0
  348. package/dist/components/slider.js +133 -0
  349. package/dist/components/slug-input.d.ts +69 -0
  350. package/dist/components/slug-input.js +201 -0
  351. package/dist/components/sparkline.d.ts +54 -0
  352. package/dist/components/sparkline.js +122 -0
  353. package/dist/components/spinner.d.ts +34 -0
  354. package/dist/components/spinner.js +34 -0
  355. package/dist/components/stat.d.ts +135 -0
  356. package/dist/components/stat.js +130 -0
  357. package/dist/components/status-picker.d.ts +107 -0
  358. package/dist/components/status-picker.js +175 -0
  359. package/dist/components/stepper.d.ts +86 -0
  360. package/dist/components/stepper.js +103 -0
  361. package/dist/components/switch.d.ts +34 -0
  362. package/dist/components/switch.js +70 -0
  363. package/dist/components/table.d.ts +101 -0
  364. package/dist/components/table.js +72 -0
  365. package/dist/components/tabs.d.ts +103 -0
  366. package/dist/components/tabs.js +173 -0
  367. package/dist/components/tag-input.d.ts +77 -0
  368. package/dist/components/tag-input.js +305 -0
  369. package/dist/components/task-list.d.ts +89 -0
  370. package/dist/components/task-list.js +238 -0
  371. package/dist/components/time-picker.d.ts +119 -0
  372. package/dist/components/time-picker.js +399 -0
  373. package/dist/components/toast.d.ts +87 -0
  374. package/dist/components/toast.js +142 -0
  375. package/dist/components/toggle.d.ts +77 -0
  376. package/dist/components/toggle.js +109 -0
  377. package/dist/components/tooltip.d.ts +69 -0
  378. package/dist/components/tooltip.js +105 -0
  379. package/dist/components/top-bar.d.ts +87 -0
  380. package/dist/components/top-bar.js +99 -0
  381. package/dist/components/tree-select.d.ts +89 -0
  382. package/dist/components/tree-select.js +243 -0
  383. package/dist/components/tree-view.d.ts +109 -0
  384. package/dist/components/tree-view.js +170 -0
  385. package/dist/components/typography.d.ts +107 -0
  386. package/dist/components/typography.js +128 -0
  387. package/dist/components/user-picker.d.ts +89 -0
  388. package/dist/components/user-picker.js +162 -0
  389. package/dist/components/version-history.d.ts +191 -0
  390. package/dist/components/version-history.js +431 -0
  391. package/dist/data-table/csv.d.ts +27 -0
  392. package/dist/data-table/csv.js +68 -0
  393. package/dist/data-table/data-table.d.ts +423 -0
  394. package/dist/data-table/data-table.js +1259 -0
  395. package/dist/data-table/filter-bar.d.ts +146 -0
  396. package/dist/data-table/filter-bar.js +569 -0
  397. package/dist/data-table/filter-fns.d.ts +65 -0
  398. package/dist/data-table/filter-fns.js +382 -0
  399. package/dist/data-table/index.d.ts +8 -0
  400. package/dist/data-table/index.js +9 -0
  401. package/dist/data-table/saved-views.d.ts +100 -0
  402. package/dist/data-table/saved-views.js +251 -0
  403. package/dist/data-table/types.d.ts +168 -0
  404. package/dist/data-table/types.js +87 -0
  405. package/dist/data-table/url-state.d.ts +94 -0
  406. package/dist/data-table/url-state.js +303 -0
  407. package/dist/data-table/view-state.d.ts +16 -0
  408. package/dist/data-table/view-state.js +81 -0
  409. package/dist/editor/_test-setup.d.ts +1 -0
  410. package/dist/editor/_test-setup.js +33 -0
  411. package/dist/editor/block-editor.d.ts +137 -0
  412. package/dist/editor/block-editor.js +280 -0
  413. package/dist/editor/commands.d.ts +31 -0
  414. package/dist/editor/commands.js +150 -0
  415. package/dist/editor/context.d.ts +108 -0
  416. package/dist/editor/context.js +30 -0
  417. package/dist/editor/convert.d.ts +66 -0
  418. package/dist/editor/convert.js +567 -0
  419. package/dist/editor/drag-handle.d.ts +10 -0
  420. package/dist/editor/drag-handle.js +69 -0
  421. package/dist/editor/extensions.d.ts +34 -0
  422. package/dist/editor/extensions.js +239 -0
  423. package/dist/editor/index.d.ts +14 -0
  424. package/dist/editor/index.js +17 -0
  425. package/dist/editor/inserter.d.ts +12 -0
  426. package/dist/editor/inserter.js +88 -0
  427. package/dist/editor/inspector.d.ts +17 -0
  428. package/dist/editor/inspector.js +65 -0
  429. package/dist/editor/items.d.ts +62 -0
  430. package/dist/editor/items.js +195 -0
  431. package/dist/editor/labels.d.ts +119 -0
  432. package/dist/editor/labels.js +130 -0
  433. package/dist/editor/markdown.d.ts +14 -0
  434. package/dist/editor/markdown.js +209 -0
  435. package/dist/editor/menus.d.ts +20 -0
  436. package/dist/editor/menus.js +236 -0
  437. package/dist/editor/nodes.d.ts +14 -0
  438. package/dist/editor/nodes.js +201 -0
  439. package/dist/editor/outline.d.ts +11 -0
  440. package/dist/editor/outline.js +52 -0
  441. package/dist/editor/schema-form.d.ts +64 -0
  442. package/dist/editor/schema-form.js +290 -0
  443. package/dist/editor/slash-menu.d.ts +15 -0
  444. package/dist/editor/slash-menu.js +119 -0
  445. package/dist/fonts/catalog.d.ts +53 -0
  446. package/dist/fonts/catalog.js +121 -0
  447. package/dist/fonts/font-picker.d.ts +70 -0
  448. package/dist/fonts/font-picker.js +225 -0
  449. package/dist/fonts/index.d.ts +6 -0
  450. package/dist/fonts/index.js +7 -0
  451. package/dist/fonts/loader.d.ts +66 -0
  452. package/dist/fonts/loader.js +161 -0
  453. package/dist/fonts/pairing-picker.d.ts +31 -0
  454. package/dist/fonts/pairing-picker.js +81 -0
  455. package/dist/fonts/pairings.d.ts +84 -0
  456. package/dist/fonts/pairings.js +149 -0
  457. package/dist/fonts/provider.d.ts +34 -0
  458. package/dist/fonts/provider.js +51 -0
  459. package/dist/form/index.d.ts +1 -0
  460. package/dist/form/index.js +1 -0
  461. package/dist/format/core.d.ts +149 -0
  462. package/dist/format/core.js +357 -0
  463. package/dist/format/index.d.ts +4 -0
  464. package/dist/format/index.js +5 -0
  465. package/dist/format/use-format.d.ts +1 -0
  466. package/dist/format/use-format.js +3 -0
  467. package/dist/index.d.ts +86 -0
  468. package/dist/index.js +87 -0
  469. package/dist/lib/cn.d.ts +3 -0
  470. package/dist/lib/cn.js +16 -0
  471. package/dist/lib/color.d.ts +64 -0
  472. package/dist/lib/color.js +177 -0
  473. package/dist/lib/compose-refs.d.ts +24 -0
  474. package/dist/lib/compose-refs.js +45 -0
  475. package/dist/lib/data-islands.d.ts +194 -0
  476. package/dist/lib/data-islands.js +368 -0
  477. package/dist/lib/date.d.ts +129 -0
  478. package/dist/lib/date.js +386 -0
  479. package/dist/lib/field-context.d.ts +64 -0
  480. package/dist/lib/field-context.js +62 -0
  481. package/dist/lib/floating-arrow.d.ts +18 -0
  482. package/dist/lib/floating-arrow.js +15 -0
  483. package/dist/lib/islands.d.ts +38 -0
  484. package/dist/lib/islands.js +40 -0
  485. package/dist/lib/labels.d.ts +51 -0
  486. package/dist/lib/labels.js +56 -0
  487. package/dist/lib/layer.d.ts +36 -0
  488. package/dist/lib/layer.js +42 -0
  489. package/dist/lib/locale.d.ts +85 -0
  490. package/dist/lib/locale.js +105 -0
  491. package/dist/lib/menu.d.ts +58 -0
  492. package/dist/lib/menu.js +99 -0
  493. package/dist/lib/message-format.d.ts +20 -0
  494. package/dist/lib/message-format.js +116 -0
  495. package/dist/lib/nav.d.ts +132 -0
  496. package/dist/lib/nav.js +178 -0
  497. package/dist/lib/provider.d.ts +100 -0
  498. package/dist/lib/provider.js +105 -0
  499. package/dist/lib/public.d.ts +22 -0
  500. package/dist/lib/public.js +33 -0
  501. package/dist/lib/sr-name.d.ts +18 -0
  502. package/dist/lib/sr-name.js +17 -0
  503. package/dist/lib/text.d.ts +100 -0
  504. package/dist/lib/text.js +233 -0
  505. package/dist/lib/theme-scope.d.ts +58 -0
  506. package/dist/lib/theme-scope.js +59 -0
  507. package/dist/lib/use-async-list.d.ts +60 -0
  508. package/dist/lib/use-async-list.js +119 -0
  509. package/dist/lib/use-container-width.d.ts +19 -0
  510. package/dist/lib/use-container-width.js +39 -0
  511. package/dist/lib/use-controllable-state.d.ts +33 -0
  512. package/dist/lib/use-controllable-state.js +56 -0
  513. package/dist/lib/use-edge-fade.d.ts +13 -0
  514. package/dist/lib/use-edge-fade.js +43 -0
  515. package/dist/lib/use-formatted-input.d.ts +69 -0
  516. package/dist/lib/use-formatted-input.js +152 -0
  517. package/dist/lib/use-hotkeys.d.ts +80 -0
  518. package/dist/lib/use-hotkeys.js +221 -0
  519. package/dist/lib/use-hover-intent.d.ts +44 -0
  520. package/dist/lib/use-hover-intent.js +119 -0
  521. package/dist/lib/use-media-query.d.ts +21 -0
  522. package/dist/lib/use-media-query.js +28 -0
  523. package/dist/lib/use-reduced-motion.d.ts +8 -0
  524. package/dist/lib/use-reduced-motion.js +13 -0
  525. package/dist/lib/use-tree.d.ts +153 -0
  526. package/dist/lib/use-tree.js +534 -0
  527. package/dist/lib/value-format.d.ts +25 -0
  528. package/dist/lib/value-format.js +56 -0
  529. package/dist/lib/variants.d.ts +131 -0
  530. package/dist/lib/variants.js +109 -0
  531. package/dist/locale-data/core/date.d.ts +24 -0
  532. package/dist/locale-data/core/date.js +68 -0
  533. package/dist/locale-data/core/decimal.d.ts +19 -0
  534. package/dist/locale-data/core/decimal.js +79 -0
  535. package/dist/locale-data/core/holidays.d.ts +30 -0
  536. package/dist/locale-data/core/holidays.js +79 -0
  537. package/dist/locale-data/core/iban.d.ts +29 -0
  538. package/dist/locale-data/core/iban.js +74 -0
  539. package/dist/locale-data/core/index.d.ts +7 -0
  540. package/dist/locale-data/core/index.js +6 -0
  541. package/dist/locale-data/core/types.d.ts +173 -0
  542. package/dist/locale-data/core/types.js +6 -0
  543. package/dist/locale-data/core/week-info.d.ts +23 -0
  544. package/dist/locale-data/core/week-info.js +85 -0
  545. package/dist/locale-data/core/working-days.d.ts +27 -0
  546. package/dist/locale-data/core/working-days.js +133 -0
  547. package/dist/locale-data/index.d.ts +2 -0
  548. package/dist/locale-data/index.js +4 -0
  549. package/dist/locale-data/tr/address-tr.json +1 -0
  550. package/dist/locale-data/tr/address.d.ts +23 -0
  551. package/dist/locale-data/tr/address.js +52 -0
  552. package/dist/locale-data/tr/holidays.d.ts +31 -0
  553. package/dist/locale-data/tr/holidays.js +81 -0
  554. package/dist/locale-data/tr/iban.d.ts +21 -0
  555. package/dist/locale-data/tr/iban.js +45 -0
  556. package/dist/locale-data/tr/id.d.ts +36 -0
  557. package/dist/locale-data/tr/id.js +120 -0
  558. package/dist/locale-data/tr/index.d.ts +12 -0
  559. package/dist/locale-data/tr/index.js +33 -0
  560. package/dist/locale-data/tr/kdv.d.ts +91 -0
  561. package/dist/locale-data/tr/kdv.js +222 -0
  562. package/dist/locales/en.d.ts +2102 -0
  563. package/dist/locales/en.js +2088 -0
  564. package/dist/locales/tr.d.ts +2086 -0
  565. package/dist/locales/tr.js +2087 -0
  566. package/dist/media/focal-point.d.ts +42 -0
  567. package/dist/media/focal-point.js +96 -0
  568. package/dist/media/gallery-layout.d.ts +19 -0
  569. package/dist/media/gallery-layout.js +61 -0
  570. package/dist/media/gallery.d.ts +64 -0
  571. package/dist/media/gallery.js +138 -0
  572. package/dist/media/image-cropper.d.ts +86 -0
  573. package/dist/media/image-cropper.js +170 -0
  574. package/dist/media/image-field.d.ts +115 -0
  575. package/dist/media/image-field.js +212 -0
  576. package/dist/media/index.d.ts +19 -0
  577. package/dist/media/index.js +23 -0
  578. package/dist/media/lightbox.d.ts +82 -0
  579. package/dist/media/lightbox.js +171 -0
  580. package/dist/media/link-preview.d.ts +97 -0
  581. package/dist/media/link-preview.js +177 -0
  582. package/dist/media/media-library.d.ts +244 -0
  583. package/dist/media/media-library.js +776 -0
  584. package/dist/media/media-picker.d.ts +96 -0
  585. package/dist/media/media-picker.js +209 -0
  586. package/dist/media/media-provider.d.ts +23 -0
  587. package/dist/media/media-provider.js +44 -0
  588. package/dist/media/media-utils.d.ts +39 -0
  589. package/dist/media/media-utils.js +145 -0
  590. package/dist/media/memory-adapter.d.ts +22 -0
  591. package/dist/media/memory-adapter.js +162 -0
  592. package/dist/media/rest-adapter.d.ts +90 -0
  593. package/dist/media/rest-adapter.js +208 -0
  594. package/dist/media/serp.d.ts +62 -0
  595. package/dist/media/serp.js +108 -0
  596. package/dist/media/test-fixtures.d.ts +3 -0
  597. package/dist/media/test-fixtures.js +37 -0
  598. package/dist/media/types.d.ts +183 -0
  599. package/dist/media/types.js +3 -0
  600. package/dist/media/use-pan-zoom.d.ts +51 -0
  601. package/dist/media/use-pan-zoom.js +156 -0
  602. package/dist/media/use-upload-queue.d.ts +64 -0
  603. package/dist/media/use-upload-queue.js +115 -0
  604. package/dist/media/video-player.d.ts +135 -0
  605. package/dist/media/video-player.js +319 -0
  606. package/dist/next/index.d.ts +42 -0
  607. package/dist/next/index.js +36 -0
  608. package/dist/render/block-renderer.d.ts +56 -0
  609. package/dist/render/block-renderer.js +137 -0
  610. package/dist/render/index.d.ts +6 -0
  611. package/dist/render/index.js +7 -0
  612. package/dist/render/prepare.d.ts +61 -0
  613. package/dist/render/prepare.js +119 -0
  614. package/dist/scheduler/core/duration.d.ts +83 -0
  615. package/dist/scheduler/core/duration.js +174 -0
  616. package/dist/scheduler/core/gantt.d.ts +63 -0
  617. package/dist/scheduler/core/gantt.js +226 -0
  618. package/dist/scheduler/core/index.d.ts +6 -0
  619. package/dist/scheduler/core/index.js +7 -0
  620. package/dist/scheduler/core/layout.d.ts +97 -0
  621. package/dist/scheduler/core/layout.js +249 -0
  622. package/dist/scheduler/core/time-scale.d.ts +89 -0
  623. package/dist/scheduler/core/time-scale.js +173 -0
  624. package/dist/scheduler/gantt.d.ts +125 -0
  625. package/dist/scheduler/gantt.js +532 -0
  626. package/dist/scheduler/index.d.ts +6 -0
  627. package/dist/scheduler/index.js +7 -0
  628. package/dist/scheduler/resource-calendar.d.ts +218 -0
  629. package/dist/scheduler/resource-calendar.js +661 -0
  630. package/dist/scheduler/scheduler.d.ts +168 -0
  631. package/dist/scheduler/scheduler.js +768 -0
  632. package/dist/scheduler/shared.d.ts +63 -0
  633. package/dist/scheduler/shared.js +145 -0
  634. package/dist/scheduler/time-tracker.d.ts +138 -0
  635. package/dist/scheduler/time-tracker.js +403 -0
  636. package/dist/sortable/core.d.ts +67 -0
  637. package/dist/sortable/core.js +167 -0
  638. package/dist/sortable/index.d.ts +8 -0
  639. package/dist/sortable/index.js +10 -0
  640. package/dist/sortable/kanban-core.d.ts +70 -0
  641. package/dist/sortable/kanban-core.js +67 -0
  642. package/dist/sortable/kanban.d.ts +147 -0
  643. package/dist/sortable/kanban.js +472 -0
  644. package/dist/sortable/sortable-list.d.ts +71 -0
  645. package/dist/sortable/sortable-list.js +76 -0
  646. package/dist/sortable/sortable-tree.d.ts +101 -0
  647. package/dist/sortable/sortable-tree.js +450 -0
  648. package/dist/sortable/sortable.d.ts +188 -0
  649. package/dist/sortable/sortable.js +485 -0
  650. package/dist/sortable/use-pointer-drag.d.ts +75 -0
  651. package/dist/sortable/use-pointer-drag.js +173 -0
  652. package/dist/sortable/use-time-scale.d.ts +11 -0
  653. package/dist/sortable/use-time-scale.js +19 -0
  654. package/dist/styles/base.css +51 -0
  655. package/dist/styles/blocks.css +949 -0
  656. package/dist/styles/calendar.css +642 -0
  657. package/dist/styles/charts.css +264 -0
  658. package/dist/styles/data.css +474 -0
  659. package/dist/styles/editors.css +1022 -0
  660. package/dist/styles/forms.css +406 -0
  661. package/dist/styles/media.css +515 -0
  662. package/dist/styles/navigation.css +293 -0
  663. package/dist/styles/overlays.css +244 -0
  664. package/dist/styles.css +742 -0
  665. package/package.json +156 -4
@@ -0,0 +1,129 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { Dialog, NavigationMenu as RadixNav } from "radix-ui";
5
+ import { ChevronDown, Menu, X } from "lucide-react";
6
+ import { cva } from "class-variance-authority";
7
+ import { cn } from "../lib/cn.js";
8
+ import { useLabels } from "../lib/labels.js";
9
+ import { SmartLink, useNavigation } from "../lib/provider.js";
10
+ import { usePortalContainer } from "../lib/theme-scope.js";
11
+ import { Layer } from "../lib/layer.js";
12
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./accordion.js";
13
+ const navLabels = {
14
+ label: "Main",
15
+ open: "Open menu",
16
+ close: "Close menu",
17
+ title: "Menu",
18
+ };
19
+ /* ------------------------------------------------------------------ */
20
+ /* Root */
21
+ /* ------------------------------------------------------------------ */
22
+ const rootVariants = cva("relative z-(--z-nav) flex max-w-max flex-1 items-center justify-center", {
23
+ variants: {
24
+ variant: {
25
+ /** Sits in a site header. */
26
+ bar: "",
27
+ /** A floating glass pill — the site's one permanent blur. */
28
+ floating: "surface rounded-full p-1",
29
+ },
30
+ },
31
+ defaultVariants: { variant: "bar" },
32
+ });
33
+ /**
34
+ * A website's top navigation, including mega menus (Radix NavigationMenu: disclosure-based site
35
+ * navigation with hover intent, arrow keys and Escape). Admin panels use Sidebar instead.
36
+ *
37
+ * ```tsx
38
+ * <NavigationMenu items={nav} /> // data-driven
39
+ * <NavigationMenu>
40
+ * <NavigationMenuList>
41
+ * <NavigationMenuItem>
42
+ * <NavigationMenuTrigger>Products</NavigationMenuTrigger>
43
+ * <NavigationMenuContent layout="grid-2">
44
+ * <NavigationMenuLink href="/vtag" title="vTag" description="NFC business cards" />
45
+ * </NavigationMenuContent>
46
+ * </NavigationMenuItem>
47
+ * <NavigationMenuItem><NavigationMenuLink href="/pricing" variant="top">Pricing</NavigationMenuLink></NavigationMenuItem>
48
+ * </NavigationMenuList>
49
+ * </NavigationMenu>
50
+ * ```
51
+ */
52
+ export const NavigationMenu = React.forwardRef(function NavigationMenu({ variant = "bar", viewport = true, items, labels, className, children, "aria-label": ariaLabel, ...props }, ref) {
53
+ const t = useLabels("navigationMenu", navLabels, labels);
54
+ return (_jsxs(RadixNav.Root, { ref: ref, "data-slot": "navigation-menu", "data-variant": variant, "data-viewport": viewport || undefined, "aria-label": ariaLabel ?? t("label"), className: cn(rootVariants({ variant }), className), ...props, children: [items ? _jsx(NavigationMenuItems, { items: items, viewport: viewport }) : children, viewport ? _jsx(NavigationMenuViewport, {}) : null] }));
55
+ });
56
+ function NavigationMenuItems({ items, viewport }) {
57
+ return (_jsx(NavigationMenuList, { children: items.map((item, i) => (_jsx(NavigationMenuItem, { children: item.children?.length ? (_jsxs(_Fragment, { children: [_jsx(NavigationMenuTrigger, { children: item.label }), _jsxs(NavigationMenuContent, { layout: item.layout, inline: !viewport, children: [item.layout === "featured" && item.featured ? _jsx(NavigationMenuFeatured, { ...item.featured }) : null, _jsx(NavigationMenuGroup, { children: item.children.map((child, j) => (_jsx("li", { children: _jsx(NavigationMenuLink, { href: child.href ?? "#", title: child.label, description: child.description, icon: child.icon }) }, child.id ?? j))) })] })] })) : (_jsx(NavigationMenuLink, { href: item.href ?? "#", variant: "top", children: item.label })) }, item.id ?? i))) }));
58
+ }
59
+ /** The row of top-level items. */
60
+ export const NavigationMenuList = React.forwardRef(function NavigationMenuList({ className, ...props }, ref) {
61
+ return _jsx(RadixNav.List, { ref: ref, "data-slot": "navigation-menu-list", className: cn("flex flex-1 list-none items-center justify-center gap-0.5", className), ...props });
62
+ });
63
+ /** One top-level item (a trigger + content, or a plain link). */
64
+ export const NavigationMenuItem = React.forwardRef(function NavigationMenuItem({ className, ...props }, ref) {
65
+ return _jsx(RadixNav.Item, { ref: ref, "data-slot": "navigation-menu-item", className: cn("relative", className), ...props });
66
+ });
67
+ const topItemClass = cn("group/nav inline-flex h-9 select-none items-center justify-center gap-1 rounded-full px-3.5 text-sm font-medium text-fg-muted outline-none", "transition-colors duration-150 hover:bg-hover hover:text-fg focus-ring", "data-[state=open]:bg-hover data-[state=open]:text-fg data-active:text-fg aria-[current=page]:text-fg");
68
+ /** Opens a panel. Hover (with intent delay), click, Enter/Space or ↓. */
69
+ export const NavigationMenuTrigger = React.forwardRef(function NavigationMenuTrigger({ className, children, ...props }, ref) {
70
+ return (_jsxs(RadixNav.Trigger, { ref: ref, "data-slot": "navigation-menu-trigger", className: cn(topItemClass, className), ...props, children: [children, _jsx(ChevronDown, { "aria-hidden": true, className: "relative top-px size-3.5 text-fg-subtle transition-transform duration-200 motion-reduce:transition-none group-data-[state=open]/nav:rotate-180" })] }));
71
+ });
72
+ const contentLayouts = {
73
+ list: "w-[min(22rem,calc(100vw-2rem))]",
74
+ "grid-2": "w-[min(36rem,calc(100vw-2rem))] [&_[data-slot=navigation-menu-group]]:grid-cols-2",
75
+ featured: "grid w-[min(42rem,calc(100vw-2rem))] grid-cols-[minmax(0,15rem)_minmax(0,1fr)] gap-2",
76
+ };
77
+ /** The panel of an item. */
78
+ export const NavigationMenuContent = React.forwardRef(function NavigationMenuContent({ layout = "list", inline, className, ...props }, ref) {
79
+ return (_jsx(RadixNav.Content, { ref: ref, "data-slot": "navigation-menu-content", "data-layout": layout, className: cn("ui-nav-content p-2", inline ? "surface-popover ui-pop absolute start-0 top-full z-(--z-popover) mt-2 rounded-ui-lg" : "start-0 top-0 md:absolute", contentLayouts[layout], className), ...props }));
80
+ });
81
+ /** The shared, animated container all panels render into. Rendered by `NavigationMenu` unless `viewport={false}`. */
82
+ export const NavigationMenuViewport = React.forwardRef(function NavigationMenuViewport({ className, ...props }, ref) {
83
+ return (_jsx("div", { className: "absolute start-0 top-full z-(--z-popover) flex w-full justify-center pt-2", children: _jsx(Layer, { asChild: true, children: _jsx(RadixNav.Viewport, { ref: ref, "data-slot": "navigation-menu-viewport", className: cn("ui-pop ui-nav-viewport surface-popover relative shrink-0 origin-top overflow-hidden rounded-ui-lg", "h-(--radix-navigation-menu-viewport-height) w-full md:w-(--radix-navigation-menu-viewport-width)", className), ...props }) }) }));
84
+ });
85
+ /** A list of links inside a panel (`ul`). */
86
+ export const NavigationMenuGroup = React.forwardRef(function NavigationMenuGroup({ heading, className, children, ...props }, ref) {
87
+ return (_jsxs("div", { className: "min-w-0", children: [heading ? _jsx("p", { className: "px-3 pt-2 pb-1 text-[11px] font-medium tracking-[0.06em] text-fg-subtle", children: heading }) : null, _jsx("ul", { ref: ref, "data-slot": "navigation-menu-group", className: cn("grid list-none gap-0.5", className), ...props, children: children })] }));
88
+ });
89
+ /** A link — in the bar (`variant="top"`) or in a panel with icon and description. Uses the app's router `Link`. */
90
+ export const NavigationMenuLink = React.forwardRef(function NavigationMenuLink({ href, variant = "panel", title, description, icon, active, className, children, ...props }, ref) {
91
+ const { isActive } = useNavigation();
92
+ const current = active ?? isActive(href);
93
+ if (variant === "top") {
94
+ return (_jsx(RadixNav.Link, { asChild: true, active: current, ...props, children: _jsx(SmartLink, { ref: ref, href: href, "aria-current": current ? "page" : undefined, "data-slot": "navigation-menu-link", className: cn(topItemClass, className), children: children ?? title }) }));
95
+ }
96
+ return (_jsx(RadixNav.Link, { asChild: true, active: current, ...props, children: _jsxs(SmartLink, { ref: ref, href: href, "aria-current": current ? "page" : undefined, "data-slot": "navigation-menu-link", className: cn("group/link flex select-none gap-3 rounded-ui p-3 outline-none transition-colors duration-100 hover:bg-hover focus-visible:bg-hover focus-ring", "aria-[current=page]:bg-selected", className), children: [icon ? (_jsx("span", { "aria-hidden": true, className: "mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-ui-sm border border-line bg-surface-2 text-fg-muted transition-colors group-hover/link:text-fg [&_svg]:size-4", children: icon })) : null, _jsxs("span", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("span", { className: "text-sm font-medium text-fg", children: title ?? children }), description ? _jsx("span", { className: "line-clamp-2 text-[13px] leading-snug text-fg-muted", children: description }) : null] })] }) }));
97
+ });
98
+ /** The highlighted card of a `featured` panel. */
99
+ export function NavigationMenuFeatured({ title, description, href, eyebrow, className }) {
100
+ return (_jsx(RadixNav.Link, { asChild: true, children: _jsxs(SmartLink, { href: href, "data-slot": "navigation-menu-featured", className: cn("group/feat relative flex min-h-full flex-col justify-end overflow-hidden rounded-ui bg-fg p-5 text-scene outline-none focus-ring", className), children: [_jsx("span", { "aria-hidden": true, className: "absolute -end-10 -top-10 size-40 rounded-full border-[18px] border-accent opacity-90 transition-transform duration-300 group-hover/feat:scale-105 motion-reduce:transition-none" }), eyebrow ? _jsx("span", { className: "relative mb-auto text-[11px] font-medium tracking-[0.08em] opacity-70", children: eyebrow }) : null, _jsx("span", { className: "relative mt-10 font-display text-[1.375rem] leading-tight", children: title }), description ? _jsx("span", { className: "relative mt-1.5 text-[13px] leading-snug opacity-75", children: description }) : null] }) }));
101
+ }
102
+ /** Optional arrow under the open trigger. */
103
+ export const NavigationMenuIndicator = React.forwardRef(function NavigationMenuIndicator({ className, ...props }, ref) {
104
+ return (_jsx(RadixNav.Indicator, { ref: ref, "data-slot": "navigation-menu-indicator", className: cn("top-full z-[1] flex h-2 items-end justify-center overflow-hidden ui-fade", className), ...props, children: _jsx("span", { className: "relative top-[60%] size-2.5 rotate-45 rounded-tl-sm border-s border-t border-popover-border bg-popover" }) }));
105
+ });
106
+ /**
107
+ * The mobile counterpart of `NavigationMenu`: a menu button that opens a side sheet with the same
108
+ * items, groups as an accordion. Following a link closes the sheet.
109
+ *
110
+ * ```tsx
111
+ * <NavigationMenu items={nav} className="max-md:hidden" />
112
+ * <MobileNav items={nav} className="md:hidden" footer={<Button variant="primary" block>Book a demo</Button>} />
113
+ * ```
114
+ */
115
+ export function MobileNav({ items, footer, title, open, defaultOpen, onOpenChange, className, labels }) {
116
+ const t = useLabels("navigationMenu", navLabels, labels);
117
+ const container = usePortalContainer();
118
+ const [isOpen, setOpen] = React.useState(defaultOpen ?? false);
119
+ const controlled = open !== undefined;
120
+ const value = controlled ? open : isOpen;
121
+ const set = (v) => {
122
+ if (!controlled)
123
+ setOpen(v);
124
+ onOpenChange?.(v);
125
+ };
126
+ const { isActive } = useNavigation();
127
+ const leaf = (item, nested = false) => (_jsxs(SmartLink, { href: item.href ?? "#", "aria-current": item.href && isActive(item.href) ? "page" : undefined, onClick: () => set(false), className: cn("flex flex-col gap-0.5 rounded-ui-sm py-2.5 outline-none focus-ring aria-[current=page]:text-fg", nested ? "px-3 text-sm text-fg-muted hover:bg-hover hover:text-fg" : "text-[15px] font-medium text-fg"), children: [_jsx("span", { children: item.label }), nested && item.description ? _jsx("span", { className: "text-[13px] text-fg-subtle", children: item.description }) : null] }));
128
+ return (_jsxs(Dialog.Root, { open: value, onOpenChange: set, children: [_jsx(Dialog.Trigger, { "aria-label": t("open"), className: cn("inline-flex size-10 items-center justify-center rounded-full text-fg transition-colors hover:bg-hover focus-ring [&_svg]:size-5", className), children: _jsx(Menu, { "aria-hidden": true }) }), _jsxs(Dialog.Portal, { container: container, children: [_jsx(Dialog.Overlay, { className: "ui-fade fixed inset-0 z-(--z-overlay) bg-overlay backdrop-blur-(--overlay-blur)" }), _jsx(Layer, { asChild: true, children: _jsxs(Dialog.Content, { "data-slot": "mobile-nav", "aria-describedby": undefined, className: "ui-sheet-end surface-popover fixed inset-y-0 end-0 z-(--z-overlay) flex w-[min(24rem,calc(100vw-3rem))] flex-col rounded-none border-y-0 border-e-0 outline-none", children: [_jsxs("div", { className: "flex h-16 shrink-0 items-center justify-between gap-3 border-b border-line ps-5 pe-3", children: [_jsx(Dialog.Title, { className: "text-sm font-semibold text-fg", children: title ?? t("title") }), _jsx(Dialog.Close, { "aria-label": t("close"), className: "inline-flex size-9 items-center justify-center rounded-full text-fg-muted transition-colors hover:bg-hover hover:text-fg focus-ring [&_svg]:size-[18px]", children: _jsx(X, { "aria-hidden": true }) })] }), _jsx("nav", { "aria-label": t("label"), className: "min-h-0 flex-1 overflow-y-auto overscroll-contain px-5 py-2", children: _jsx(Accordion, { type: "multiple", headingLevel: 2, children: items.map((item, i) => item.children?.length ? (_jsxs(AccordionItem, { value: item.id ?? String(i), children: [_jsx(AccordionTrigger, { className: "text-[15px]", children: item.label }), _jsx(AccordionContent, { className: "-mx-3 flex flex-col gap-0.5", children: item.children.map((child, j) => (_jsx(React.Fragment, { children: leaf(child, true) }, child.id ?? j))) })] }, item.id ?? i)) : (_jsx("div", { className: "border-b border-line py-1 last:border-b-0", children: leaf(item) }, item.id ?? i))) }) }), footer ? _jsx("div", { className: "shrink-0 border-t border-line p-5", children: footer }) : null] }) })] })] }));
129
+ }
@@ -0,0 +1,164 @@
1
+ import * as React from "react";
2
+ declare const notificationLabels: {
3
+ label: string;
4
+ trigger: string;
5
+ triggerUnread: string;
6
+ unreadCount: string;
7
+ markAllRead: string;
8
+ markRead: string;
9
+ empty: string;
10
+ emptyDescription: string;
11
+ error: string;
12
+ retry: string;
13
+ loadMore: string;
14
+ settings: string;
15
+ today: string;
16
+ yesterday: string;
17
+ earlier: string;
18
+ all: string;
19
+ unread: string;
20
+ mentions: string;
21
+ filter: string;
22
+ newItem: string;
23
+ unreadDot: string;
24
+ };
25
+ export type NotificationLabels = typeof notificationLabels;
26
+ export type NotificationTone = "neutral" | "info" | "success" | "warning" | "danger";
27
+ export interface AppNotification {
28
+ id: string;
29
+ title: React.ReactNode;
30
+ body?: React.ReactNode;
31
+ /** ISO string or Date. */
32
+ createdAt: Date | string;
33
+ readAt?: Date | string | null;
34
+ actor?: {
35
+ name: string;
36
+ avatar?: string;
37
+ };
38
+ /** Shown when there is no actor. */
39
+ icon?: React.ReactNode;
40
+ tone?: NotificationTone;
41
+ /** Opens on click (marks it read, closes the panel). */
42
+ href?: string;
43
+ /** App badge in multi-app shells ("CRM"). */
44
+ app?: string;
45
+ /** For tab filters ("mention", "approval"). */
46
+ category?: string;
47
+ /** Inline actions ("Approve" / "Reject"); removed after `onAction` succeeds. */
48
+ actions?: {
49
+ id: string;
50
+ label: string;
51
+ variant?: "primary" | "secondary";
52
+ }[];
53
+ /** Turns the bell badge red while unread. */
54
+ important?: boolean;
55
+ }
56
+ /** The kit owns the UI; the app owns transport (REST, SSE, websockets). */
57
+ export interface NotificationAdapter {
58
+ list(options: {
59
+ cursor?: string;
60
+ filter?: string;
61
+ signal: AbortSignal;
62
+ }): Promise<{
63
+ items: AppNotification[];
64
+ nextCursor?: string;
65
+ }>;
66
+ unreadCount(): Promise<number>;
67
+ markRead(ids: string[] | "all"): Promise<void>;
68
+ onAction?(id: string, actionId: string): Promise<void>;
69
+ /** Live items. Return the unsubscribe function. */
70
+ subscribe?(callback: (n: AppNotification) => void): () => void;
71
+ }
72
+ export interface NotificationTab {
73
+ id: string;
74
+ label: string;
75
+ /** Passed to `adapter.list({ filter })`. Omit for "all". */
76
+ filter?: string;
77
+ }
78
+ export interface MemoryNotificationAdapter extends NotificationAdapter {
79
+ /** Simulate a live notification (calls subscribers). */
80
+ push(n: AppNotification): void;
81
+ }
82
+ /**
83
+ * An in-memory adapter: `filter` "unread" keeps unread items, any other value matches `category`
84
+ * or `app`. Pages of `pageSize` (default 20), with optional `latency` in ms.
85
+ */
86
+ export declare function createMemoryNotificationAdapter(initial: AppNotification[], options?: {
87
+ pageSize?: number;
88
+ latency?: number;
89
+ onAction?: (id: string, actionId: string) => Promise<void> | void;
90
+ }): MemoryNotificationAdapter;
91
+ export interface NotificationCenterProps {
92
+ adapter: NotificationAdapter;
93
+ /** Default: All · Unread · Mentions (`filter: "mention"`). */
94
+ tabs?: NotificationTab[];
95
+ /** Toast when a live item arrives (or a predicate). */
96
+ toastOnNew?: boolean | ((n: AppNotification) => boolean);
97
+ /** ms between unread-count refreshes when the adapter has no `subscribe`. */
98
+ pollInterval?: number;
99
+ /** Panel width: `md` 380px (default), `lg` 440px. */
100
+ size?: "md" | "lg";
101
+ /** "Notification settings" link in the footer. */
102
+ settingsHref?: string;
103
+ open?: boolean;
104
+ defaultOpen?: boolean;
105
+ onOpenChange?: (open: boolean) => void;
106
+ /** Custom composition; default trigger + panel (tabs, list, footer). */
107
+ children?: React.ReactNode;
108
+ labels?: Partial<NotificationLabels>;
109
+ }
110
+ /**
111
+ * An in-app inbox: the bell in the top bar, a panel (popover ≥768px, sheet below) with filter tabs,
112
+ * a grouped feed (Today / Yesterday / Earlier), read/unread, inline actions and "Mark all as read".
113
+ * Data comes through an adapter, so the app chooses REST, SSE or websockets.
114
+ *
115
+ * ```tsx
116
+ * <NotificationCenter adapter={inbox} settingsHref="/settings/notifications" toastOnNew />
117
+ * ```
118
+ */
119
+ export declare function NotificationCenter({ adapter, tabs: tabsProp, toastOnNew, pollInterval, size, settingsHref, open: openProp, defaultOpen, onOpenChange, children, labels, }: NotificationCenterProps): React.JSX.Element;
120
+ /** The bell with the unread badge (99+). `aria-label` includes the count. */
121
+ export declare const NotificationTrigger: React.ForwardRefExoticComponent<Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> & {
122
+ size?: "xs" | "sm" | "md";
123
+ } & React.RefAttributes<HTMLButtonElement>>;
124
+ /** Popover anchored to the bell on ≥768px, an end Sheet below. Titled "Notifications". */
125
+ export declare function NotificationPanel({ className, children }: {
126
+ className?: string;
127
+ children: React.ReactNode;
128
+ }): React.JSX.Element;
129
+ /** Filter tabs (All · Unread · Mentions by default). Toggle buttons with `aria-pressed`. */
130
+ export declare function NotificationTabs({ className }: {
131
+ className?: string;
132
+ }): React.JSX.Element | null;
133
+ /** Splits notifications into Today / Yesterday / Earlier in the provider's time zone. */
134
+ export declare function groupNotifications(items: AppNotification[], timeZone?: string, now?: Date): Array<{
135
+ id: "today" | "yesterday" | "earlier";
136
+ items: AppNotification[];
137
+ }>;
138
+ /** The grouped feed with loading, empty, error and "Load more" states. */
139
+ export declare function NotificationList({ className, grouped }: {
140
+ className?: string;
141
+ grouped?: boolean;
142
+ }): React.JSX.Element;
143
+ export interface NotificationItemProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
144
+ notification: AppNotification;
145
+ /** Clicked the item's link. */
146
+ onOpen?: () => void;
147
+ onMarkRead?: () => void;
148
+ onAction?: (actionId: string) => unknown;
149
+ /** Id of the action currently running (spinner on that button). */
150
+ pendingAction?: string;
151
+ /** Position in the feed (`aria-posinset` / `aria-setsize`). */
152
+ posinset?: number;
153
+ setsize?: number;
154
+ labels?: Partial<NotificationLabels>;
155
+ }
156
+ /** One notification. Usable on its own — e.g. a full "/notifications" page. */
157
+ export declare const NotificationItem: React.ForwardRefExoticComponent<NotificationItemProps & React.RefAttributes<HTMLElement>>;
158
+ /** Footer: "Mark all as read" and a settings link. */
159
+ export declare function NotificationFooter({ className }: {
160
+ className?: string;
161
+ }): React.JSX.Element;
162
+ /** Spinner row while paginating (for custom lists). */
163
+ export declare function NotificationLoadingRow(): React.JSX.Element;
164
+ export {};