@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,21 @@
1
+ import * as React from "react";
2
+ import { HoverCard as HoverCardPrimitive } from "radix-ui";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ export interface HoverCardProps extends React.ComponentProps<typeof HoverCardPrimitive.Root> {
5
+ }
6
+ /**
7
+ * Root. Opens after 500 ms of hover and closes 150 ms after the pointer leaves.
8
+ * Hover cards are *extra* information for pointer users: they don't open from the keyboard or on
9
+ * touch, so the same details must be reachable on the link target.
10
+ */
11
+ export declare function HoverCard({ openDelay, closeDelay, ...props }: HoverCardProps): React.JSX.Element;
12
+ export declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
13
+ export declare const hoverCardContentVariants: (props?: ({
14
+ size?: "sm" | "md" | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
+ export interface HoverCardContentProps extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>, VariantProps<typeof hoverCardContentVariants> {
17
+ /** Show the pointer arrow. Default `false`. */
18
+ arrow?: boolean;
19
+ }
20
+ /** The preview panel. Portals into the nearest `ThemeScope` and follows the layer-depth glass rules. */
21
+ export declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { HoverCard as HoverCardPrimitive } from "radix-ui";
5
+ import { cva } from "class-variance-authority";
6
+ import { cn } from "../lib/cn.js";
7
+ import { usePortalContainer } from "../lib/theme-scope.js";
8
+ import { Layer } from "../lib/layer.js";
9
+ import { FloatingArrow } from "../lib/floating-arrow.js";
10
+ /**
11
+ * Root. Opens after 500 ms of hover and closes 150 ms after the pointer leaves.
12
+ * Hover cards are *extra* information for pointer users: they don't open from the keyboard or on
13
+ * touch, so the same details must be reachable on the link target.
14
+ */
15
+ export function HoverCard({ openDelay = 500, closeDelay = 150, ...props }) {
16
+ return _jsx(HoverCardPrimitive.Root, { openDelay: openDelay, closeDelay: closeDelay, ...props });
17
+ }
18
+ export const HoverCardTrigger = HoverCardPrimitive.Trigger;
19
+ export const hoverCardContentVariants = cva("surface-popover ui-pop z-(--z-popover) rounded-ui-lg p-[calc(var(--gap)*0.85)] outline-none max-w-[calc(100vw-1.5rem)]", {
20
+ variants: {
21
+ size: {
22
+ sm: "w-64",
23
+ md: "w-80",
24
+ },
25
+ },
26
+ defaultVariants: { size: "md" },
27
+ });
28
+ /** The preview panel. Portals into the nearest `ThemeScope` and follows the layer-depth glass rules. */
29
+ export const HoverCardContent = React.forwardRef(function HoverCardContent({ className, size, arrow = false, sideOffset = 8, collisionPadding = 12, children, ...props }, ref) {
30
+ const container = usePortalContainer();
31
+ return (_jsx(HoverCardPrimitive.Portal, { container: container, children: _jsx(Layer, { asChild: true, children: _jsxs(HoverCardPrimitive.Content, { ref: ref, "data-slot": "hover-card-content", sideOffset: sideOffset, collisionPadding: collisionPadding, className: cn(hoverCardContentVariants({ size }), className), ...props, children: [children, arrow ? (_jsx(HoverCardPrimitive.Arrow, { asChild: true, width: 14, height: 7, children: _jsx(FloatingArrow, {}) })) : null] }) }) }));
32
+ });
@@ -0,0 +1,38 @@
1
+ import * as React from "react";
2
+ import type { IbanCountryRule } from "../locale-data/core/types.js";
3
+ import { type BaseFormattedProps } from "./formatted-input.js";
4
+ declare const ibanInputLabels: {
5
+ length: string;
6
+ lengthGeneric: string;
7
+ chars: string;
8
+ checksum: string;
9
+ pattern: string;
10
+ country: string;
11
+ bank: string;
12
+ };
13
+ export type IbanInputLabels = typeof ibanInputLabels;
14
+ export interface IbanInputProps extends BaseFormattedProps<string | null> {
15
+ /** Allowed country codes (`["TR"]`). Default: any. */
16
+ countries?: string[];
17
+ /** Per-country rules with BBAN patterns and bank lookups (locale packs). Default: the `tr` rule. */
18
+ rules?: IbanCountryRule[];
19
+ /**
20
+ * Bank name next to the number once the bank code is typed. `true` (default) uses the rules'
21
+ * `bankName`; pass a function for your own lookup, or `false` to hide it.
22
+ */
23
+ showBank?: boolean | ((iban: string) => string | undefined);
24
+ labels?: Partial<IbanInputLabels>;
25
+ }
26
+ /**
27
+ * IBAN entry: typed in groups of four (`TR33 0006 1005 1978 6457 8413 26`) with the caret kept in
28
+ * place, checked against the country length, BBAN pattern and ISO 13616 mod-97 checksum. The value
29
+ * is the electronic format (no spaces, uppercase). Turkish IBANs show the bank name.
30
+ *
31
+ * ```tsx
32
+ * <Field label="IBAN" error={error}>
33
+ * <IbanInput countries={["TR"]} onValidate={(r) => setError(r.message)} />
34
+ * </Field>
35
+ * ```
36
+ */
37
+ export declare const IbanInput: React.ForwardRefExoticComponent<IbanInputProps & React.RefAttributes<HTMLInputElement>>;
38
+ export {};
@@ -0,0 +1,112 @@
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 { Landmark } from "lucide-react";
5
+ import { cn } from "../lib/cn.js";
6
+ import { mergeIds, useComposedRefs } from "../lib/compose-refs.js";
7
+ import { useLabels } from "../lib/labels.js";
8
+ import { useLocale } from "../lib/locale.js";
9
+ import { useFormattedInput } from "../lib/use-formatted-input.js";
10
+ import { IBAN_LENGTHS, formatIban, normalizeIban, validateIban } from "../locale-data/core/iban.js";
11
+ import { trIbanRule } from "../locale-data/tr/iban.js";
12
+ import { Input } from "./input.js";
13
+ import { WithoutFieldName, useFormattedValidity, useSubmitName } from "./formatted-input.js";
14
+ const ibanInputLabels = {
15
+ length: "An IBAN from {country} has {length} characters",
16
+ lengthGeneric: "An IBAN has 15 to 34 characters",
17
+ chars: "An IBAN starts with a two-letter country code and two check digits",
18
+ checksum: "Invalid IBAN checksum. Check it for typos.",
19
+ pattern: "This isn't a valid IBAN for {country}",
20
+ country: "IBANs from {country} aren't accepted here",
21
+ bank: "Bank: {bank}",
22
+ };
23
+ function regionName(locale, code) {
24
+ try {
25
+ return new Intl.DisplayNames([locale], { type: "region" }).of(code) ?? code;
26
+ }
27
+ catch {
28
+ return code;
29
+ }
30
+ }
31
+ const accept = (ch) => /^[0-9A-Za-z]$/.test(ch);
32
+ /**
33
+ * IBAN entry: typed in groups of four (`TR33 0006 1005 1978 6457 8413 26`) with the caret kept in
34
+ * place, checked against the country length, BBAN pattern and ISO 13616 mod-97 checksum. The value
35
+ * is the electronic format (no spaces, uppercase). Turkish IBANs show the bank name.
36
+ *
37
+ * ```tsx
38
+ * <Field label="IBAN" error={error}>
39
+ * <IbanInput countries={["TR"]} onValidate={(r) => setError(r.message)} />
40
+ * </Field>
41
+ * ```
42
+ */
43
+ export const IbanInput = React.forwardRef(function IbanInput({ countries, rules = [trIbanRule], showBank = true, value, defaultValue, onValueChange, validateOn = "blur", onValidate, mono = true, labels, name, invalid, trailing, inputClassName, onBlur, onKeyDown, disabled, placeholder, ...rest }, forwardedRef) {
44
+ const { locale } = useLocale();
45
+ const t = useLabels("ibanInput", ibanInputLabels, labels);
46
+ const v = useFormattedValidity(validateOn, onValidate);
47
+ const bankId = React.useId();
48
+ const maxFor = (compact) => {
49
+ const cc = compact.slice(0, 2).toUpperCase();
50
+ return rules.find((r) => r.country === cc)?.length ?? IBAN_LENGTHS[cc] ?? 34;
51
+ };
52
+ const format = (typed) => {
53
+ const compact = [...typed].filter(accept).join("").toUpperCase();
54
+ return formatIban(compact.slice(0, maxFor(compact)));
55
+ };
56
+ const check = (raw) => {
57
+ if (!raw)
58
+ return { valid: true };
59
+ const cc = raw.slice(0, 2);
60
+ const country = /^[A-Z]{2}$/.test(cc) ? regionName(locale, cc) : cc;
61
+ if (countries && /^[A-Z]{2}$/.test(cc) && !countries.includes(cc))
62
+ return { valid: false, reason: "country", message: t("country", { country }) };
63
+ const r = validateIban(raw, rules);
64
+ if (r.valid)
65
+ return { valid: true, kind: r.kind };
66
+ const length = rules.find((x) => x.country === cc)?.length ?? IBAN_LENGTHS[cc];
67
+ const message = r.reason === "length"
68
+ ? length
69
+ ? t("length", { country, length })
70
+ : t("lengthGeneric")
71
+ : r.reason === "chars"
72
+ ? t("chars")
73
+ : r.reason === "pattern"
74
+ ? t("pattern", { country })
75
+ : t("checksum");
76
+ return { valid: false, reason: r.reason, message, kind: r.kind };
77
+ };
78
+ const engine = useFormattedInput({
79
+ value,
80
+ defaultValue,
81
+ accept,
82
+ format,
83
+ parse: (d) => normalizeIban(d) || null,
84
+ toDisplay: (raw) => (raw ? format(raw) : ""),
85
+ onValueChange: (raw, formatted) => {
86
+ const c = check(raw);
87
+ v.report({ valid: c.valid, reason: c.reason, message: c.message }, "change");
88
+ onValueChange?.(raw, { valid: c.valid, reason: c.reason, kind: c.kind, formatted });
89
+ },
90
+ });
91
+ const ref = useComposedRefs(forwardedRef, engine.ref);
92
+ const submitName = useSubmitName(name);
93
+ const raw = engine.raw ?? "";
94
+ let bank;
95
+ if (showBank && raw.length >= 9) {
96
+ if (typeof showBank === "function")
97
+ bank = showBank(raw);
98
+ else
99
+ bank = rules.find((r) => r.country === raw.slice(0, 2))?.bankName?.(raw.slice(4, 9));
100
+ }
101
+ const firstCountry = countries?.[0] ?? "TR";
102
+ const sample = firstCountry === "TR" ? "TR00 0000 0000 0000 0000 0000 00" : `${firstCountry}00 0000 0000 0000 0000`;
103
+ return (_jsxs(_Fragment, { children: [_jsx(WithoutFieldName, { children: _jsx(Input, { ref: ref, ...rest, ...engine.inputProps, disabled: disabled, autoComplete: "off", autoCapitalize: "characters", spellCheck: false, dir: "ltr", placeholder: placeholder ?? sample, invalid: invalid || v.invalid, "aria-describedby": mergeIds(bank ? bankId : undefined, rest["aria-describedby"]), inputClassName: cn(mono && "font-mono tabular tracking-[0.02em]", inputClassName), "data-slot": "iban-input", trailing: bank || trailing ? (_jsxs(_Fragment, { children: [bank ? (_jsxs("span", { id: bankId, "data-slot": "iban-input-bank", className: "ui-fade me-1.5 flex max-w-[11rem] items-center gap-1.5 truncate text-xs font-medium text-fg-muted", children: [_jsx(Landmark, { "aria-hidden": true, className: "size-3.5 shrink-0 text-fg-subtle" }), _jsx("span", { className: "sr-only", children: t("bank", { bank }) }), _jsx("span", { "aria-hidden": true, className: "truncate", children: bank })] })) : null, trailing] })) : undefined, onKeyDown: (e) => {
104
+ onKeyDown?.(e);
105
+ engine.inputProps.onKeyDown(e);
106
+ }, onBlur: (e) => {
107
+ engine.inputProps.onBlur(e);
108
+ const c = check(normalizeIban(e.currentTarget.value) || null);
109
+ v.report({ valid: c.valid, reason: c.reason, message: c.message }, "blur");
110
+ onBlur?.(e);
111
+ } }) }), submitName ? _jsx("input", { type: "hidden", name: submitName, value: raw, disabled: disabled }) : null] }));
112
+ });
@@ -0,0 +1,65 @@
1
+ import * as React from "react";
2
+ import type { IdRule } from "../locale-data/core/types.js";
3
+ import { type BaseFormattedProps } from "./formatted-input.js";
4
+ /** An ID rule as the input uses it: a locale-data `IdRule` plus how it is typed. */
5
+ export interface IdInputRule extends IdRule {
6
+ /** Characters a user can type. Default `"digits"`. */
7
+ charset?: "digits" | "alphanumeric";
8
+ }
9
+ /** Built-in kinds (the `tr` pack) plus anything registered with `registerIdRule`. */
10
+ export type IdKind = "tr-tckn" | "tr-vkn" | "tr-tax-id" | (string & {});
11
+ /**
12
+ * Adds (or replaces) an ID rule. Locale packs call this with their `idRules`; apps can add
13
+ * their own (employee numbers, membership codes).
14
+ *
15
+ * ```ts
16
+ * import { trPack } from "@vamos-ui/react/locale-data";
17
+ * trPack.idRules?.forEach(registerIdRule);
18
+ * registerIdRule({ id: "de-steuer-id", label: "German tax ID", lengths: [11], normalize, validate });
19
+ * ```
20
+ */
21
+ export declare function registerIdRule(rule: IdInputRule): void;
22
+ /** A registered rule, or `undefined`. */
23
+ export declare function getIdRule(kind: IdKind): IdInputRule | undefined;
24
+ /** Every registered kind. */
25
+ export declare function listIdRules(): IdInputRule[];
26
+ declare const idInputLabels: {
27
+ length: string;
28
+ lengthChars: string;
29
+ chars: string;
30
+ checksum: string;
31
+ pattern: string;
32
+ or: string;
33
+ };
34
+ export type IdInputLabels = typeof idInputLabels;
35
+ export interface IdInputProps extends BaseFormattedProps<string | null> {
36
+ /** A registered rule id (`"tr-tckn"`, `"tr-vkn"`, `"tr-tax-id"`) or a rule object. */
37
+ kind: IdKind | IdInputRule;
38
+ /**
39
+ * Privacy mask (KVKK / GDPR): when the field is not focused, a valid value shows as
40
+ * `123******01`. Focus reveals it. Default false.
41
+ */
42
+ masked?: boolean;
43
+ labels?: Partial<IdInputLabels>;
44
+ }
45
+ /**
46
+ * National and tax ID entry with checksum validation from pluggable rules: TCKN (and foreign
47
+ * resident YKN, reported as `kind: "tr-ykn"`), VKN, and the combined invoice tax id. The value is
48
+ * the normalized number.
49
+ *
50
+ * ```tsx
51
+ * <Field label="Turkish ID number" error={error}>
52
+ * <IdInput kind="tr-tckn" onValidate={(r) => setError(r.message)} />
53
+ * </Field>
54
+ * ```
55
+ */
56
+ export declare const IdInput: React.ForwardRefExoticComponent<IdInputProps & React.RefAttributes<HTMLInputElement>>;
57
+ export interface NationalIdInputProps extends Omit<IdInputProps, "kind"> {
58
+ /** Default `"tr-tckn"` (accepts YKN too). */
59
+ kind?: IdKind | IdInputRule;
60
+ }
61
+ /** `IdInput` preset for personal IDs. Default kind `tr-tckn`. */
62
+ export declare const NationalIdInput: React.ForwardRefExoticComponent<NationalIdInputProps & React.RefAttributes<HTMLInputElement>>;
63
+ /** `IdInput` preset for tax numbers. Default kind `tr-tax-id` (VKN or a sole proprietor's TCKN). */
64
+ export declare const TaxIdInput: React.ForwardRefExoticComponent<NationalIdInputProps & React.RefAttributes<HTMLInputElement>>;
65
+ export {};
@@ -0,0 +1,130 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "../lib/cn.js";
5
+ import { useComposedRefs } from "../lib/compose-refs.js";
6
+ import { useLabels } from "../lib/labels.js";
7
+ import { useFormattedInput } from "../lib/use-formatted-input.js";
8
+ import { trTaxIdRule, trTcknRule, trVknRule } from "../locale-data/tr/id.js";
9
+ import { Input } from "./input.js";
10
+ import { WithoutFieldName, useFormattedValidity, useSubmitName } from "./formatted-input.js";
11
+ const registry = new Map([
12
+ [trTcknRule.id, trTcknRule],
13
+ [trVknRule.id, trVknRule],
14
+ [trTaxIdRule.id, trTaxIdRule],
15
+ ]);
16
+ /**
17
+ * Adds (or replaces) an ID rule. Locale packs call this with their `idRules`; apps can add
18
+ * their own (employee numbers, membership codes).
19
+ *
20
+ * ```ts
21
+ * import { trPack } from "@vamos-ui/react/locale-data";
22
+ * trPack.idRules?.forEach(registerIdRule);
23
+ * registerIdRule({ id: "de-steuer-id", label: "German tax ID", lengths: [11], normalize, validate });
24
+ * ```
25
+ */
26
+ export function registerIdRule(rule) {
27
+ registry.set(rule.id, rule);
28
+ }
29
+ /** A registered rule, or `undefined`. */
30
+ export function getIdRule(kind) {
31
+ return registry.get(kind);
32
+ }
33
+ /** Every registered kind. */
34
+ export function listIdRules() {
35
+ return [...registry.values()];
36
+ }
37
+ /* ------------------------------------------------------------------ */
38
+ /* IdInput */
39
+ /* ------------------------------------------------------------------ */
40
+ const idInputLabels = {
41
+ length: "Must be {lengths} digits",
42
+ lengthChars: "Must be {lengths} characters",
43
+ chars: "Only digits are allowed",
44
+ checksum: "This number isn't valid. Check it for typos.",
45
+ pattern: "This number isn't valid. Check it for typos.",
46
+ or: "{a} or {b}",
47
+ };
48
+ /**
49
+ * National and tax ID entry with checksum validation from pluggable rules: TCKN (and foreign
50
+ * resident YKN, reported as `kind: "tr-ykn"`), VKN, and the combined invoice tax id. The value is
51
+ * the normalized number.
52
+ *
53
+ * ```tsx
54
+ * <Field label="Turkish ID number" error={error}>
55
+ * <IdInput kind="tr-tckn" onValidate={(r) => setError(r.message)} />
56
+ * </Field>
57
+ * ```
58
+ */
59
+ export const IdInput = React.forwardRef(function IdInput({ kind, masked = false, value, defaultValue, onValueChange, validateOn = "blur", onValidate, mono = true, labels, name, invalid, inputClassName, onBlur, onFocus, onKeyDown, disabled, placeholder, ...rest }, forwardedRef) {
60
+ const rule = typeof kind === "string" ? registry.get(kind) : kind;
61
+ if (!rule && process.env.NODE_ENV !== "production")
62
+ console.warn(`IdInput: no rule registered for "${String(kind)}".`);
63
+ const t = useLabels("idInput", idInputLabels, labels);
64
+ const digits = (rule?.charset ?? "digits") === "digits";
65
+ const maxLength = rule ? Math.max(...rule.lengths) : 64;
66
+ const accept = React.useCallback((ch) => (digits ? ch >= "0" && ch <= "9" : /^[0-9A-Za-z]$/.test(ch)), [digits]);
67
+ const v = useFormattedValidity(validateOn, onValidate);
68
+ const [focused, setFocused] = React.useState(false);
69
+ const normalize = (s) => {
70
+ const out = [...s].filter(accept).join("").slice(0, maxLength);
71
+ return digits ? out : out.toUpperCase();
72
+ };
73
+ const display = (s) => {
74
+ const n = normalize(s);
75
+ return n && rule?.format && rule.lengths.includes(n.length) ? rule.format(n) : n;
76
+ };
77
+ const lengthText = () => {
78
+ const ls = rule?.lengths ?? [];
79
+ const joined = ls.length > 1 ? t("or", { a: ls.slice(0, -1).join(", "), b: ls[ls.length - 1] }) : String(ls[0] ?? "");
80
+ return t(digits ? "length" : "lengthChars", { lengths: joined });
81
+ };
82
+ const check = (raw) => {
83
+ if (!raw || !rule)
84
+ return { valid: true };
85
+ const r = rule.validate(raw);
86
+ if (r.valid)
87
+ return { valid: true, kind: r.kind };
88
+ const reason = r.reason ?? "checksum";
89
+ const message = reason === "length" ? lengthText() : reason === "chars" ? t("chars") : t(reason === "pattern" ? "pattern" : "checksum");
90
+ return { valid: false, reason, message, kind: r.kind };
91
+ };
92
+ const engine = useFormattedInput({
93
+ value,
94
+ defaultValue,
95
+ accept,
96
+ format: display,
97
+ parse: (d) => normalize(d) || null,
98
+ toDisplay: (raw) => (raw ? display(raw) : ""),
99
+ onValueChange: (raw, formatted) => {
100
+ const c = check(raw);
101
+ v.report({ valid: c.valid, reason: c.reason, message: c.message }, "change");
102
+ onValueChange?.(raw, { valid: c.valid, reason: c.reason, kind: c.kind, formatted });
103
+ },
104
+ });
105
+ const ref = useComposedRefs(forwardedRef, engine.ref);
106
+ const submitName = useSubmitName(name);
107
+ const showMask = masked && !focused && engine.raw && rule?.mask && check(engine.raw).valid;
108
+ const shown = showMask ? rule.mask(engine.raw) : engine.display;
109
+ return (_jsxs(_Fragment, { children: [_jsx(WithoutFieldName, { children: _jsx(Input, { ref: ref, ...rest, ...engine.inputProps, value: shown, disabled: disabled, inputMode: digits ? "numeric" : "text", autoComplete: "off", spellCheck: false, dir: "ltr", placeholder: placeholder, invalid: invalid || v.invalid, inputClassName: cn(mono && "font-mono tabular tracking-[0.02em]", inputClassName), "data-slot": "id-input", "data-kind": rule?.id, "data-masked": showMask ? "" : undefined, onFocus: (e) => {
110
+ setFocused(true);
111
+ onFocus?.(e);
112
+ }, onKeyDown: (e) => {
113
+ onKeyDown?.(e);
114
+ engine.inputProps.onKeyDown(e);
115
+ }, onBlur: (e) => {
116
+ setFocused(false);
117
+ engine.inputProps.onBlur(e);
118
+ const c = check(normalize(e.currentTarget.value) || null);
119
+ v.report({ valid: c.valid, reason: c.reason, message: c.message }, "blur");
120
+ onBlur?.(e);
121
+ } }) }), submitName ? _jsx("input", { type: "hidden", name: submitName, value: engine.raw ?? "", disabled: disabled }) : null] }));
122
+ });
123
+ /** `IdInput` preset for personal IDs. Default kind `tr-tckn`. */
124
+ export const NationalIdInput = React.forwardRef(function NationalIdInput({ kind = "tr-tckn", ...props }, ref) {
125
+ return _jsx(IdInput, { ref: ref, kind: kind, ...props });
126
+ });
127
+ /** `IdInput` preset for tax numbers. Default kind `tr-tax-id` (VKN or a sole proprietor's TCKN). */
128
+ export const TaxIdInput = React.forwardRef(function TaxIdInput({ kind = "tr-tax-id", ...props }, ref) {
129
+ return _jsx(IdInput, { ref: ref, kind: kind, ...props });
130
+ });
@@ -0,0 +1,130 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import type { CropRect, ImageLoader, MediaAsset } from "../media/types.js";
4
+ export type ImageAspect = "auto" | "1/1" | "4/3" | "3/2" | "16/9" | "21/9" | "4/5" | "1.91/1" | number;
5
+ /** Default `srcset` steps. */
6
+ export declare const IMAGE_WIDTHS: number[];
7
+ /** `"16/9"` → 1.777…, `1.5` → 1.5, `"auto"` → the intrinsic ratio (or `undefined`). */
8
+ export declare function aspectRatioOf(aspect: ImageAspect | undefined, width?: number, height?: number): number | undefined;
9
+ /** Focal point (0..1) → CSS `object-position`. Image space: never mirrored in RTL. */
10
+ export declare function focalToObjectPosition(focal?: {
11
+ x: number;
12
+ y: number;
13
+ } | null): string | undefined;
14
+ export interface ImageSourcesOptions {
15
+ /** `sizes` attribute, e.g. `"(min-width: 1024px) 50vw, 100vw"`. */
16
+ sizes?: string;
17
+ widths?: number[];
18
+ loader?: ImageLoader;
19
+ quality?: number;
20
+ focal?: {
21
+ x: number;
22
+ y: number;
23
+ };
24
+ crop?: string | CropRect;
25
+ format?: "auto" | "webp" | "avif";
26
+ }
27
+ export interface ImageSources {
28
+ src: string;
29
+ srcSet?: string;
30
+ sizes?: string;
31
+ }
32
+ /** Builds `src` / `srcSet` / `sizes` for an asset or URL (pure; usable on the server). */
33
+ export declare function getImageSources(source: string | MediaAsset, options?: ImageSourcesOptions): ImageSources;
34
+ /**
35
+ * Sets the image loader for every kit `Image` below (CDN URL builder). Same signature as the
36
+ * Next.js loader. The media adapter's `loader` is used when no provider sets one.
37
+ *
38
+ * ```tsx
39
+ * <ImageLoaderProvider loader={({ src, width, quality }) => `https://cdn.example.com/cdn-cgi/image/width=${width},quality=${quality ?? 75},format=auto/${src}`}>
40
+ * ```
41
+ */
42
+ export declare function ImageLoaderProvider({ loader, children }: {
43
+ loader: ImageLoader | undefined;
44
+ children: React.ReactNode;
45
+ }): React.JSX.Element;
46
+ /** The active loader: `ImageLoaderProvider` → media adapter `loader` → none. */
47
+ export declare function useImageLoader(): ImageLoader | undefined;
48
+ /** `getImageSources` with the provider's loader. */
49
+ export declare function useImageSources(source: string | MediaAsset, options?: ImageSourcesOptions): ImageSources;
50
+ export declare const imageVariants: (props?: ({
51
+ rounded?: "ui" | "ui-lg" | "full" | "none" | null | undefined;
52
+ fit?: "contain" | "cover" | null | undefined;
53
+ frame?: "none" | "surface" | null | undefined;
54
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
55
+ declare const imageLabels: {
56
+ processing: string;
57
+ error: string;
58
+ };
59
+ export type ImageLabels = typeof imageLabels;
60
+ export type ImagePlaceholder = "blur" | "color" | "skeleton" | "none";
61
+ export interface ImageBaseProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src" | "placeholder" | "width" | "height" | "alt">, Omit<VariantProps<typeof imageVariants>, "fit"> {
62
+ width?: number;
63
+ height?: number;
64
+ /** Box ratio. `"auto"` (default) uses the intrinsic width/height. */
65
+ aspect?: ImageAspect;
66
+ fit?: "cover" | "contain";
67
+ /** 0..1 → `object-position`. Defaults to the asset's `focalPoint`. */
68
+ focal?: {
69
+ x: number;
70
+ y: number;
71
+ };
72
+ /** Named crop from `asset.crops`, or a rect. Applied by the loader. */
73
+ crop?: string | CropRect;
74
+ sizes?: string;
75
+ /** `srcset` steps (with a loader). */
76
+ widths?: number[];
77
+ quality?: number;
78
+ /** Above the fold: eager loading + `fetchpriority="high"`. */
79
+ priority?: boolean;
80
+ /** While loading. Default: `blur` with a blur source, `color` with a dominant colour, else `skeleton`. */
81
+ placeholder?: ImagePlaceholder;
82
+ /** Tiny blurred preview (LQIP data URL or a small URL). Defaults to `asset.placeholder`. */
83
+ blurDataURL?: string;
84
+ /** Placeholder colour. Defaults to `asset.dominantColor`. */
85
+ color?: string;
86
+ /** Overrides the provider loader. */
87
+ loader?: ImageLoader;
88
+ /** Rendered instead of the broken-image icon. */
89
+ fallback?: React.ReactNode;
90
+ /** Show the "Processing" badge (defaults to `asset.status === "processing"`). */
91
+ processing?: boolean;
92
+ /** Class of the wrapper; `className` goes to the wrapper too, `imgClassName` to the `<img>`. */
93
+ imgClassName?: string;
94
+ labels?: Partial<ImageLabels>;
95
+ }
96
+ /**
97
+ * `src` is a URL (then `alt` is required; `""` marks the image decorative) or a `MediaAsset`
98
+ * (supplies alt, size, focal point, placeholder and variants; `alt` overrides per use).
99
+ */
100
+ export type ImageProps = ImageBaseProps & ({
101
+ src: string | MediaAsset;
102
+ alt: string;
103
+ } | {
104
+ src: MediaAsset;
105
+ alt?: string;
106
+ });
107
+ /**
108
+ * The image primitive: no layout shift (width/height + `aspect-ratio`), focal point →
109
+ * `object-position`, LQIP / colour / skeleton placeholder that cross-fades out, `srcset` from the
110
+ * loader or asset variants. Framework-agnostic: a plain `<img>`, or the app's `Image` from
111
+ * `VamosProvider` (e.g. `next/image`).
112
+ *
113
+ * ```tsx
114
+ * <Image src={asset} alt="Lobby of the Kadıköy office" aspect="16/9" sizes="(min-width: 1024px) 50vw, 100vw" rounded="ui" />
115
+ * ```
116
+ */
117
+ export declare const Image: React.ForwardRefExoticComponent<ImageProps & React.RefAttributes<HTMLImageElement>>;
118
+ export interface FigureProps extends React.HTMLAttributes<HTMLElement> {
119
+ /** Spacing between media and caption. */
120
+ gap?: "sm" | "md";
121
+ }
122
+ /** `<figure>` for a captioned image (blocks, galleries, articles). */
123
+ export declare const Figure: React.ForwardRefExoticComponent<FigureProps & React.RefAttributes<HTMLElement>>;
124
+ export interface FigureCaptionProps extends React.HTMLAttributes<HTMLElement> {
125
+ /** Small print line, e.g. photo credit. */
126
+ credit?: React.ReactNode;
127
+ }
128
+ /** `<figcaption>`: caption text plus an optional credit. */
129
+ export declare const FigureCaption: React.ForwardRefExoticComponent<FigureCaptionProps & React.RefAttributes<HTMLElement>>;
130
+ export {};