@vamos-ui/react 0.0.0-stage → 0.3.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 (704) 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 +101 -0
  58. package/dist/blocks/site/_kit-1.js +137 -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 +113 -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 +52 -0
  85. package/dist/blocks/site/feature-grid.d.ts +46 -0
  86. package/dist/blocks/site/feature-grid.js +50 -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 +48 -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 +73 -0
  97. package/dist/blocks/site/logo-strip.d.ts +44 -0
  98. package/dist/blocks/site/logo-strip.js +27 -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 +56 -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 +83 -0
  115. package/dist/blocks/site/process.d.ts +36 -0
  116. package/dist/blocks/site/process.js +42 -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 +108 -0
  160. package/dist/blocks/site/site-shell.js +254 -0
  161. package/dist/blocks/site/stats-band.d.ts +42 -0
  162. package/dist/blocks/site/stats-band.js +45 -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 +66 -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 +12 -0
  180. package/dist/business/index.js +22 -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/business/signer-status.d.ts +53 -0
  194. package/dist/business/signer-status.js +76 -0
  195. package/dist/charts/area-chart.d.ts +35 -0
  196. package/dist/charts/area-chart.js +33 -0
  197. package/dist/charts/bar-chart.d.ts +27 -0
  198. package/dist/charts/bar-chart.js +46 -0
  199. package/dist/charts/bar-list.d.ts +47 -0
  200. package/dist/charts/bar-list.js +60 -0
  201. package/dist/charts/chart-shell.d.ts +173 -0
  202. package/dist/charts/chart-shell.js +205 -0
  203. package/dist/charts/chart.d.ts +73 -0
  204. package/dist/charts/chart.js +106 -0
  205. package/dist/charts/combo-chart.d.ts +29 -0
  206. package/dist/charts/combo-chart.js +47 -0
  207. package/dist/charts/donut-chart.d.ts +33 -0
  208. package/dist/charts/donut-chart.js +113 -0
  209. package/dist/charts/funnel.d.ts +51 -0
  210. package/dist/charts/funnel.js +69 -0
  211. package/dist/charts/gauge.d.ts +62 -0
  212. package/dist/charts/gauge.js +104 -0
  213. package/dist/charts/heatmap.d.ts +81 -0
  214. package/dist/charts/heatmap.js +338 -0
  215. package/dist/charts/index.d.ts +12 -0
  216. package/dist/charts/index.js +14 -0
  217. package/dist/charts/line-chart.d.ts +21 -0
  218. package/dist/charts/line-chart.js +36 -0
  219. package/dist/charts/test-utils.d.ts +2 -0
  220. package/dist/charts/test-utils.js +38 -0
  221. package/dist/charts/utils.d.ts +130 -0
  222. package/dist/charts/utils.js +262 -0
  223. package/dist/components/_qr-core.d.ts +26 -0
  224. package/dist/components/_qr-core.js +376 -0
  225. package/dist/components/accordion.d.ts +47 -0
  226. package/dist/components/accordion.js +70 -0
  227. package/dist/components/activity-timeline.d.ts +149 -0
  228. package/dist/components/activity-timeline.js +122 -0
  229. package/dist/components/address-field.d.ts +116 -0
  230. package/dist/components/address-field.js +219 -0
  231. package/dist/components/alert-dialog.d.ts +99 -0
  232. package/dist/components/alert-dialog.js +192 -0
  233. package/dist/components/alert.d.ts +42 -0
  234. package/dist/components/alert.js +82 -0
  235. package/dist/components/app-shell.d.ts +159 -0
  236. package/dist/components/app-shell.js +289 -0
  237. package/dist/components/attachment-list.d.ts +96 -0
  238. package/dist/components/attachment-list.js +196 -0
  239. package/dist/components/audit-log.d.ts +150 -0
  240. package/dist/components/audit-log.js +205 -0
  241. package/dist/components/avatar.d.ts +87 -0
  242. package/dist/components/avatar.js +126 -0
  243. package/dist/components/backup-codes.d.ts +42 -0
  244. package/dist/components/backup-codes.js +67 -0
  245. package/dist/components/badge.d.ts +41 -0
  246. package/dist/components/badge.js +68 -0
  247. package/dist/components/breadcrumb.d.ts +78 -0
  248. package/dist/components/breadcrumb.js +106 -0
  249. package/dist/components/button-group.d.ts +52 -0
  250. package/dist/components/button-group.js +77 -0
  251. package/dist/components/button.d.ts +58 -0
  252. package/dist/components/button.js +107 -0
  253. package/dist/components/calendar.d.ts +240 -0
  254. package/dist/components/calendar.js +483 -0
  255. package/dist/components/card.d.ts +66 -0
  256. package/dist/components/card.js +76 -0
  257. package/dist/components/carousel.d.ts +170 -0
  258. package/dist/components/carousel.js +348 -0
  259. package/dist/components/checkbox.d.ts +78 -0
  260. package/dist/components/checkbox.js +138 -0
  261. package/dist/components/color-picker.d.ts +112 -0
  262. package/dist/components/color-picker.js +235 -0
  263. package/dist/components/combobox.d.ts +136 -0
  264. package/dist/components/combobox.js +294 -0
  265. package/dist/components/command.d.ts +281 -0
  266. package/dist/components/command.js +498 -0
  267. package/dist/components/comment-thread.d.ts +252 -0
  268. package/dist/components/comment-thread.js +449 -0
  269. package/dist/components/context-menu.d.ts +77 -0
  270. package/dist/components/context-menu.js +82 -0
  271. package/dist/components/currency-input.d.ts +43 -0
  272. package/dist/components/currency-input.js +85 -0
  273. package/dist/components/date-picker.d.ts +141 -0
  274. package/dist/components/date-picker.js +241 -0
  275. package/dist/components/date-range-picker.d.ts +91 -0
  276. package/dist/components/date-range-picker.js +251 -0
  277. package/dist/components/description-list.d.ts +92 -0
  278. package/dist/components/description-list.js +42 -0
  279. package/dist/components/dialog.d.ts +139 -0
  280. package/dist/components/dialog.js +185 -0
  281. package/dist/components/dropdown-menu.d.ts +100 -0
  282. package/dist/components/dropdown-menu.js +102 -0
  283. package/dist/components/editor-layout.d.ts +166 -0
  284. package/dist/components/editor-layout.js +237 -0
  285. package/dist/components/empty-state.d.ts +49 -0
  286. package/dist/components/empty-state.js +68 -0
  287. package/dist/components/entity-card.d.ts +83 -0
  288. package/dist/components/entity-card.js +92 -0
  289. package/dist/components/file-upload.d.ts +256 -0
  290. package/dist/components/file-upload.js +490 -0
  291. package/dist/components/formatted-input.d.ts +177 -0
  292. package/dist/components/formatted-input.js +399 -0
  293. package/dist/components/hierarchy-chart.d.ts +190 -0
  294. package/dist/components/hierarchy-chart.js +890 -0
  295. package/dist/components/hover-card.d.ts +21 -0
  296. package/dist/components/hover-card.js +32 -0
  297. package/dist/components/iban-input.d.ts +38 -0
  298. package/dist/components/iban-input.js +112 -0
  299. package/dist/components/id-input.d.ts +65 -0
  300. package/dist/components/id-input.js +130 -0
  301. package/dist/components/image.d.ts +130 -0
  302. package/dist/components/image.js +168 -0
  303. package/dist/components/input-otp.d.ts +62 -0
  304. package/dist/components/input-otp.js +73 -0
  305. package/dist/components/input.d.ts +141 -0
  306. package/dist/components/input.js +187 -0
  307. package/dist/components/item.d.ts +96 -0
  308. package/dist/components/item.js +113 -0
  309. package/dist/components/kbd.d.ts +64 -0
  310. package/dist/components/kbd.js +119 -0
  311. package/dist/components/list-layout.d.ts +144 -0
  312. package/dist/components/list-layout.js +210 -0
  313. package/dist/components/native-select.d.ts +33 -0
  314. package/dist/components/native-select.js +48 -0
  315. package/dist/components/navigation-menu.d.ts +127 -0
  316. package/dist/components/navigation-menu.js +129 -0
  317. package/dist/components/notification-center.d.ts +164 -0
  318. package/dist/components/notification-center.js +399 -0
  319. package/dist/components/page-header.d.ts +60 -0
  320. package/dist/components/page-header.js +60 -0
  321. package/dist/components/pagination.d.ts +121 -0
  322. package/dist/components/pagination.js +174 -0
  323. package/dist/components/phone-input.d.ts +49 -0
  324. package/dist/components/phone-input.js +266 -0
  325. package/dist/components/pin-map.d.ts +58 -0
  326. package/dist/components/pin-map.js +167 -0
  327. package/dist/components/popover.d.ts +38 -0
  328. package/dist/components/popover.js +69 -0
  329. package/dist/components/progress.d.ts +79 -0
  330. package/dist/components/progress.js +97 -0
  331. package/dist/components/qr-code.d.ts +36 -0
  332. package/dist/components/qr-code.js +27 -0
  333. package/dist/components/radio-group.d.ts +43 -0
  334. package/dist/components/radio-group.js +81 -0
  335. package/dist/components/record-detail-layout.d.ts +167 -0
  336. package/dist/components/record-detail-layout.js +233 -0
  337. package/dist/components/record-picker.d.ts +199 -0
  338. package/dist/components/record-picker.js +650 -0
  339. package/dist/components/resizable.d.ts +50 -0
  340. package/dist/components/resizable.js +88 -0
  341. package/dist/components/scroll-area.d.ts +40 -0
  342. package/dist/components/scroll-area.js +56 -0
  343. package/dist/components/select.d.ts +126 -0
  344. package/dist/components/select.js +137 -0
  345. package/dist/components/separator.d.ts +31 -0
  346. package/dist/components/separator.js +41 -0
  347. package/dist/components/settings-layout.d.ts +134 -0
  348. package/dist/components/settings-layout.js +180 -0
  349. package/dist/components/sheet.d.ts +103 -0
  350. package/dist/components/sheet.js +165 -0
  351. package/dist/components/sidebar.d.ts +171 -0
  352. package/dist/components/sidebar.js +421 -0
  353. package/dist/components/signature-pad.d.ts +85 -0
  354. package/dist/components/signature-pad.js +283 -0
  355. package/dist/components/skeleton.d.ts +64 -0
  356. package/dist/components/skeleton.js +53 -0
  357. package/dist/components/sla-timer.d.ts +75 -0
  358. package/dist/components/sla-timer.js +142 -0
  359. package/dist/components/slider.d.ts +57 -0
  360. package/dist/components/slider.js +133 -0
  361. package/dist/components/slug-input.d.ts +69 -0
  362. package/dist/components/slug-input.js +201 -0
  363. package/dist/components/sparkline.d.ts +54 -0
  364. package/dist/components/sparkline.js +122 -0
  365. package/dist/components/spinner.d.ts +34 -0
  366. package/dist/components/spinner.js +34 -0
  367. package/dist/components/stat.d.ts +135 -0
  368. package/dist/components/stat.js +130 -0
  369. package/dist/components/status-picker.d.ts +107 -0
  370. package/dist/components/status-picker.js +175 -0
  371. package/dist/components/stepper.d.ts +86 -0
  372. package/dist/components/stepper.js +103 -0
  373. package/dist/components/switch.d.ts +34 -0
  374. package/dist/components/switch.js +70 -0
  375. package/dist/components/table.d.ts +101 -0
  376. package/dist/components/table.js +72 -0
  377. package/dist/components/tabs.d.ts +103 -0
  378. package/dist/components/tabs.js +173 -0
  379. package/dist/components/tag-input.d.ts +77 -0
  380. package/dist/components/tag-input.js +305 -0
  381. package/dist/components/task-list.d.ts +89 -0
  382. package/dist/components/task-list.js +238 -0
  383. package/dist/components/time-picker.d.ts +119 -0
  384. package/dist/components/time-picker.js +399 -0
  385. package/dist/components/toast.d.ts +87 -0
  386. package/dist/components/toast.js +142 -0
  387. package/dist/components/toggle.d.ts +77 -0
  388. package/dist/components/toggle.js +109 -0
  389. package/dist/components/tooltip.d.ts +69 -0
  390. package/dist/components/tooltip.js +105 -0
  391. package/dist/components/top-bar.d.ts +87 -0
  392. package/dist/components/top-bar.js +99 -0
  393. package/dist/components/tour.d.ts +60 -0
  394. package/dist/components/tour.js +139 -0
  395. package/dist/components/tree-select.d.ts +89 -0
  396. package/dist/components/tree-select.js +243 -0
  397. package/dist/components/tree-view.d.ts +109 -0
  398. package/dist/components/tree-view.js +170 -0
  399. package/dist/components/typography.d.ts +107 -0
  400. package/dist/components/typography.js +128 -0
  401. package/dist/components/user-picker.d.ts +89 -0
  402. package/dist/components/user-picker.js +162 -0
  403. package/dist/components/version-history.d.ts +191 -0
  404. package/dist/components/version-history.js +431 -0
  405. package/dist/data-table/csv.d.ts +27 -0
  406. package/dist/data-table/csv.js +68 -0
  407. package/dist/data-table/data-table.d.ts +423 -0
  408. package/dist/data-table/data-table.js +1259 -0
  409. package/dist/data-table/filter-bar.d.ts +146 -0
  410. package/dist/data-table/filter-bar.js +569 -0
  411. package/dist/data-table/filter-fns.d.ts +65 -0
  412. package/dist/data-table/filter-fns.js +382 -0
  413. package/dist/data-table/index.d.ts +8 -0
  414. package/dist/data-table/index.js +9 -0
  415. package/dist/data-table/saved-views.d.ts +100 -0
  416. package/dist/data-table/saved-views.js +251 -0
  417. package/dist/data-table/types.d.ts +168 -0
  418. package/dist/data-table/types.js +87 -0
  419. package/dist/data-table/url-state.d.ts +94 -0
  420. package/dist/data-table/url-state.js +303 -0
  421. package/dist/data-table/view-state.d.ts +16 -0
  422. package/dist/data-table/view-state.js +81 -0
  423. package/dist/editor/_test-setup.d.ts +1 -0
  424. package/dist/editor/_test-setup.js +33 -0
  425. package/dist/editor/block-editor.d.ts +137 -0
  426. package/dist/editor/block-editor.js +280 -0
  427. package/dist/editor/commands.d.ts +31 -0
  428. package/dist/editor/commands.js +150 -0
  429. package/dist/editor/context.d.ts +108 -0
  430. package/dist/editor/context.js +30 -0
  431. package/dist/editor/convert.d.ts +66 -0
  432. package/dist/editor/convert.js +567 -0
  433. package/dist/editor/drag-handle.d.ts +10 -0
  434. package/dist/editor/drag-handle.js +69 -0
  435. package/dist/editor/extensions.d.ts +34 -0
  436. package/dist/editor/extensions.js +239 -0
  437. package/dist/editor/index.d.ts +14 -0
  438. package/dist/editor/index.js +17 -0
  439. package/dist/editor/inserter.d.ts +12 -0
  440. package/dist/editor/inserter.js +88 -0
  441. package/dist/editor/inspector.d.ts +17 -0
  442. package/dist/editor/inspector.js +65 -0
  443. package/dist/editor/items.d.ts +62 -0
  444. package/dist/editor/items.js +195 -0
  445. package/dist/editor/labels.d.ts +119 -0
  446. package/dist/editor/labels.js +130 -0
  447. package/dist/editor/markdown.d.ts +14 -0
  448. package/dist/editor/markdown.js +209 -0
  449. package/dist/editor/menus.d.ts +20 -0
  450. package/dist/editor/menus.js +236 -0
  451. package/dist/editor/nodes.d.ts +14 -0
  452. package/dist/editor/nodes.js +201 -0
  453. package/dist/editor/outline.d.ts +11 -0
  454. package/dist/editor/outline.js +52 -0
  455. package/dist/editor/schema-form.d.ts +64 -0
  456. package/dist/editor/schema-form.js +290 -0
  457. package/dist/editor/slash-menu.d.ts +15 -0
  458. package/dist/editor/slash-menu.js +119 -0
  459. package/dist/fonts/catalog.d.ts +53 -0
  460. package/dist/fonts/catalog.js +121 -0
  461. package/dist/fonts/font-picker.d.ts +70 -0
  462. package/dist/fonts/font-picker.js +225 -0
  463. package/dist/fonts/index.d.ts +6 -0
  464. package/dist/fonts/index.js +7 -0
  465. package/dist/fonts/loader.d.ts +66 -0
  466. package/dist/fonts/loader.js +161 -0
  467. package/dist/fonts/pairing-picker.d.ts +31 -0
  468. package/dist/fonts/pairing-picker.js +81 -0
  469. package/dist/fonts/pairings.d.ts +84 -0
  470. package/dist/fonts/pairings.js +149 -0
  471. package/dist/fonts/provider.d.ts +34 -0
  472. package/dist/fonts/provider.js +51 -0
  473. package/dist/form/index.d.ts +1 -0
  474. package/dist/form/index.js +1 -0
  475. package/dist/format/core.d.ts +149 -0
  476. package/dist/format/core.js +357 -0
  477. package/dist/format/index.d.ts +4 -0
  478. package/dist/format/index.js +5 -0
  479. package/dist/format/use-format.d.ts +1 -0
  480. package/dist/format/use-format.js +3 -0
  481. package/dist/index.d.ts +91 -0
  482. package/dist/index.js +92 -0
  483. package/dist/lib/cn.d.ts +3 -0
  484. package/dist/lib/cn.js +16 -0
  485. package/dist/lib/color.d.ts +64 -0
  486. package/dist/lib/color.js +177 -0
  487. package/dist/lib/compose-refs.d.ts +24 -0
  488. package/dist/lib/compose-refs.js +45 -0
  489. package/dist/lib/data-islands.d.ts +194 -0
  490. package/dist/lib/data-islands.js +368 -0
  491. package/dist/lib/date.d.ts +129 -0
  492. package/dist/lib/date.js +386 -0
  493. package/dist/lib/field-context.d.ts +64 -0
  494. package/dist/lib/field-context.js +62 -0
  495. package/dist/lib/floating-arrow.d.ts +18 -0
  496. package/dist/lib/floating-arrow.js +15 -0
  497. package/dist/lib/islands.d.ts +38 -0
  498. package/dist/lib/islands.js +40 -0
  499. package/dist/lib/labels.d.ts +51 -0
  500. package/dist/lib/labels.js +56 -0
  501. package/dist/lib/layer.d.ts +36 -0
  502. package/dist/lib/layer.js +42 -0
  503. package/dist/lib/locale.d.ts +85 -0
  504. package/dist/lib/locale.js +105 -0
  505. package/dist/lib/menu.d.ts +58 -0
  506. package/dist/lib/menu.js +99 -0
  507. package/dist/lib/message-format.d.ts +20 -0
  508. package/dist/lib/message-format.js +116 -0
  509. package/dist/lib/nav.d.ts +132 -0
  510. package/dist/lib/nav.js +178 -0
  511. package/dist/lib/provider.d.ts +100 -0
  512. package/dist/lib/provider.js +105 -0
  513. package/dist/lib/public.d.ts +23 -0
  514. package/dist/lib/public.js +34 -0
  515. package/dist/lib/sr-name.d.ts +18 -0
  516. package/dist/lib/sr-name.js +17 -0
  517. package/dist/lib/text.d.ts +100 -0
  518. package/dist/lib/text.js +233 -0
  519. package/dist/lib/theme-scope.d.ts +58 -0
  520. package/dist/lib/theme-scope.js +59 -0
  521. package/dist/lib/use-async-list.d.ts +60 -0
  522. package/dist/lib/use-async-list.js +119 -0
  523. package/dist/lib/use-container-width.d.ts +19 -0
  524. package/dist/lib/use-container-width.js +39 -0
  525. package/dist/lib/use-controllable-state.d.ts +33 -0
  526. package/dist/lib/use-controllable-state.js +56 -0
  527. package/dist/lib/use-edge-fade.d.ts +13 -0
  528. package/dist/lib/use-edge-fade.js +43 -0
  529. package/dist/lib/use-formatted-input.d.ts +69 -0
  530. package/dist/lib/use-formatted-input.js +152 -0
  531. package/dist/lib/use-hotkeys.d.ts +80 -0
  532. package/dist/lib/use-hotkeys.js +221 -0
  533. package/dist/lib/use-hover-intent.d.ts +44 -0
  534. package/dist/lib/use-hover-intent.js +119 -0
  535. package/dist/lib/use-media-query.d.ts +21 -0
  536. package/dist/lib/use-media-query.js +28 -0
  537. package/dist/lib/use-reduced-motion.d.ts +8 -0
  538. package/dist/lib/use-reduced-motion.js +13 -0
  539. package/dist/lib/use-tree.d.ts +153 -0
  540. package/dist/lib/use-tree.js +534 -0
  541. package/dist/lib/value-format.d.ts +25 -0
  542. package/dist/lib/value-format.js +56 -0
  543. package/dist/lib/variants.d.ts +131 -0
  544. package/dist/lib/variants.js +109 -0
  545. package/dist/locale-data/core/date.d.ts +24 -0
  546. package/dist/locale-data/core/date.js +68 -0
  547. package/dist/locale-data/core/decimal.d.ts +19 -0
  548. package/dist/locale-data/core/decimal.js +79 -0
  549. package/dist/locale-data/core/holidays.d.ts +30 -0
  550. package/dist/locale-data/core/holidays.js +79 -0
  551. package/dist/locale-data/core/iban.d.ts +29 -0
  552. package/dist/locale-data/core/iban.js +74 -0
  553. package/dist/locale-data/core/index.d.ts +7 -0
  554. package/dist/locale-data/core/index.js +6 -0
  555. package/dist/locale-data/core/types.d.ts +173 -0
  556. package/dist/locale-data/core/types.js +6 -0
  557. package/dist/locale-data/core/week-info.d.ts +23 -0
  558. package/dist/locale-data/core/week-info.js +85 -0
  559. package/dist/locale-data/core/working-days.d.ts +27 -0
  560. package/dist/locale-data/core/working-days.js +133 -0
  561. package/dist/locale-data/index.d.ts +2 -0
  562. package/dist/locale-data/index.js +4 -0
  563. package/dist/locale-data/tr/address-tr.json +1 -0
  564. package/dist/locale-data/tr/address.d.ts +23 -0
  565. package/dist/locale-data/tr/address.js +52 -0
  566. package/dist/locale-data/tr/holidays.d.ts +31 -0
  567. package/dist/locale-data/tr/holidays.js +81 -0
  568. package/dist/locale-data/tr/iban.d.ts +21 -0
  569. package/dist/locale-data/tr/iban.js +45 -0
  570. package/dist/locale-data/tr/id.d.ts +36 -0
  571. package/dist/locale-data/tr/id.js +120 -0
  572. package/dist/locale-data/tr/index.d.ts +12 -0
  573. package/dist/locale-data/tr/index.js +33 -0
  574. package/dist/locale-data/tr/kdv.d.ts +91 -0
  575. package/dist/locale-data/tr/kdv.js +222 -0
  576. package/dist/locales/en.d.ts +2102 -0
  577. package/dist/locales/en.js +2088 -0
  578. package/dist/locales/tr.d.ts +2086 -0
  579. package/dist/locales/tr.js +2087 -0
  580. package/dist/media/focal-point.d.ts +42 -0
  581. package/dist/media/focal-point.js +96 -0
  582. package/dist/media/gallery-layout.d.ts +19 -0
  583. package/dist/media/gallery-layout.js +61 -0
  584. package/dist/media/gallery.d.ts +64 -0
  585. package/dist/media/gallery.js +140 -0
  586. package/dist/media/image-cropper.d.ts +86 -0
  587. package/dist/media/image-cropper.js +170 -0
  588. package/dist/media/image-field.d.ts +115 -0
  589. package/dist/media/image-field.js +212 -0
  590. package/dist/media/index.d.ts +19 -0
  591. package/dist/media/index.js +23 -0
  592. package/dist/media/lightbox.d.ts +82 -0
  593. package/dist/media/lightbox.js +171 -0
  594. package/dist/media/link-preview.d.ts +97 -0
  595. package/dist/media/link-preview.js +177 -0
  596. package/dist/media/media-library.d.ts +244 -0
  597. package/dist/media/media-library.js +776 -0
  598. package/dist/media/media-picker.d.ts +96 -0
  599. package/dist/media/media-picker.js +209 -0
  600. package/dist/media/media-provider.d.ts +23 -0
  601. package/dist/media/media-provider.js +44 -0
  602. package/dist/media/media-utils.d.ts +39 -0
  603. package/dist/media/media-utils.js +145 -0
  604. package/dist/media/memory-adapter.d.ts +22 -0
  605. package/dist/media/memory-adapter.js +162 -0
  606. package/dist/media/rest-adapter.d.ts +90 -0
  607. package/dist/media/rest-adapter.js +208 -0
  608. package/dist/media/serp.d.ts +62 -0
  609. package/dist/media/serp.js +108 -0
  610. package/dist/media/test-fixtures.d.ts +3 -0
  611. package/dist/media/test-fixtures.js +37 -0
  612. package/dist/media/types.d.ts +183 -0
  613. package/dist/media/types.js +3 -0
  614. package/dist/media/use-pan-zoom.d.ts +51 -0
  615. package/dist/media/use-pan-zoom.js +156 -0
  616. package/dist/media/use-upload-queue.d.ts +64 -0
  617. package/dist/media/use-upload-queue.js +115 -0
  618. package/dist/media/video-player.d.ts +135 -0
  619. package/dist/media/video-player.js +319 -0
  620. package/dist/motion/core.d.ts +32 -0
  621. package/dist/motion/core.js +77 -0
  622. package/dist/motion/count-up.d.ts +29 -0
  623. package/dist/motion/count-up.js +92 -0
  624. package/dist/motion/index.d.ts +11 -0
  625. package/dist/motion/index.js +13 -0
  626. package/dist/motion/motion-scope.d.ts +17 -0
  627. package/dist/motion/motion-scope.js +16 -0
  628. package/dist/motion/page-transition.d.ts +33 -0
  629. package/dist/motion/page-transition.js +61 -0
  630. package/dist/motion/parallax.d.ts +37 -0
  631. package/dist/motion/parallax.js +90 -0
  632. package/dist/motion/pointer.d.ts +38 -0
  633. package/dist/motion/pointer.js +117 -0
  634. package/dist/motion/reveal.d.ts +72 -0
  635. package/dist/motion/reveal.js +133 -0
  636. package/dist/motion/scroll-shrink.d.ts +18 -0
  637. package/dist/motion/scroll-shrink.js +47 -0
  638. package/dist/motion/skeleton-swap.d.ts +17 -0
  639. package/dist/motion/skeleton-swap.js +43 -0
  640. package/dist/motion/text-reveal.d.ts +30 -0
  641. package/dist/motion/text-reveal.js +29 -0
  642. package/dist/motion/ticker.d.ts +35 -0
  643. package/dist/motion/ticker.js +16 -0
  644. package/dist/next/index.d.ts +42 -0
  645. package/dist/next/index.js +36 -0
  646. package/dist/render/block-renderer.d.ts +56 -0
  647. package/dist/render/block-renderer.js +137 -0
  648. package/dist/render/index.d.ts +6 -0
  649. package/dist/render/index.js +7 -0
  650. package/dist/render/prepare.d.ts +61 -0
  651. package/dist/render/prepare.js +119 -0
  652. package/dist/scheduler/core/duration.d.ts +83 -0
  653. package/dist/scheduler/core/duration.js +174 -0
  654. package/dist/scheduler/core/gantt.d.ts +63 -0
  655. package/dist/scheduler/core/gantt.js +226 -0
  656. package/dist/scheduler/core/index.d.ts +6 -0
  657. package/dist/scheduler/core/index.js +7 -0
  658. package/dist/scheduler/core/layout.d.ts +97 -0
  659. package/dist/scheduler/core/layout.js +249 -0
  660. package/dist/scheduler/core/time-scale.d.ts +89 -0
  661. package/dist/scheduler/core/time-scale.js +173 -0
  662. package/dist/scheduler/gantt.d.ts +125 -0
  663. package/dist/scheduler/gantt.js +532 -0
  664. package/dist/scheduler/index.d.ts +6 -0
  665. package/dist/scheduler/index.js +7 -0
  666. package/dist/scheduler/resource-calendar.d.ts +218 -0
  667. package/dist/scheduler/resource-calendar.js +661 -0
  668. package/dist/scheduler/scheduler.d.ts +168 -0
  669. package/dist/scheduler/scheduler.js +768 -0
  670. package/dist/scheduler/shared.d.ts +63 -0
  671. package/dist/scheduler/shared.js +145 -0
  672. package/dist/scheduler/time-tracker.d.ts +138 -0
  673. package/dist/scheduler/time-tracker.js +403 -0
  674. package/dist/sortable/core.d.ts +67 -0
  675. package/dist/sortable/core.js +167 -0
  676. package/dist/sortable/index.d.ts +8 -0
  677. package/dist/sortable/index.js +10 -0
  678. package/dist/sortable/kanban-core.d.ts +70 -0
  679. package/dist/sortable/kanban-core.js +67 -0
  680. package/dist/sortable/kanban.d.ts +147 -0
  681. package/dist/sortable/kanban.js +472 -0
  682. package/dist/sortable/sortable-list.d.ts +71 -0
  683. package/dist/sortable/sortable-list.js +76 -0
  684. package/dist/sortable/sortable-tree.d.ts +105 -0
  685. package/dist/sortable/sortable-tree.js +462 -0
  686. package/dist/sortable/sortable.d.ts +188 -0
  687. package/dist/sortable/sortable.js +485 -0
  688. package/dist/sortable/use-pointer-drag.d.ts +75 -0
  689. package/dist/sortable/use-pointer-drag.js +173 -0
  690. package/dist/sortable/use-time-scale.d.ts +11 -0
  691. package/dist/sortable/use-time-scale.js +19 -0
  692. package/dist/styles/base.css +51 -0
  693. package/dist/styles/blocks.css +949 -0
  694. package/dist/styles/calendar.css +642 -0
  695. package/dist/styles/charts.css +264 -0
  696. package/dist/styles/data.css +474 -0
  697. package/dist/styles/editors.css +1022 -0
  698. package/dist/styles/forms.css +406 -0
  699. package/dist/styles/media.css +515 -0
  700. package/dist/styles/motion.css +389 -0
  701. package/dist/styles/navigation.css +293 -0
  702. package/dist/styles/overlays.css +244 -0
  703. package/dist/styles.css +743 -0
  704. package/package.json +160 -4
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ /**
3
+ * What the dock must never cover: explicit `[data-dock-avoid]` regions (a sticky booking bar,
4
+ * a checkout summary) plus the kit's own conversion parts — the booking form, the hero's aside
5
+ * card and every CTA row. `data-dock-avoid="items"` (CTA rows) tests each link/button inside
6
+ * instead of the full-width row.
7
+ */
8
+ export declare const DOCK_AVOID_SELECTOR = "[data-dock-avoid], .vb-booking, .vb-hero-aside";
9
+ /**
10
+ * Keeps the Contact dock off CTAs (~0.6 KB island). A fixed or sticky region pinned to the
11
+ * bottom of the viewport lifts the fab above it (and hides the mobile bar, two bottom bars
12
+ * never stack); an in-flow CTA passing under the fab hides the fab until it has scrolled by.
13
+ * The fab never hides while it has focus.
14
+ */
15
+ export declare function DockAvoid(): React.JSX.Element;
@@ -0,0 +1,107 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ /**
5
+ * What the dock must never cover: explicit `[data-dock-avoid]` regions (a sticky booking bar,
6
+ * a checkout summary) plus the kit's own conversion parts — the booking form, the hero's aside
7
+ * card and every CTA row. `data-dock-avoid="items"` (CTA rows) tests each link/button inside
8
+ * instead of the full-width row.
9
+ */
10
+ export const DOCK_AVOID_SELECTOR = "[data-dock-avoid], .vb-booking, .vb-hero-aside";
11
+ const CONTROLS = "a[href], button, input, select, textarea";
12
+ const isShown = (el) => !!el && (typeof el.checkVisibility === "function" ? el.checkVisibility() : getComputedStyle(el).display !== "none");
13
+ const overlaps = (a, b) => a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top;
14
+ let pinnedCache = new WeakMap();
15
+ function isPinned(el) {
16
+ const cached = pinnedCache.get(el);
17
+ if (cached !== undefined)
18
+ return cached;
19
+ const pinned = isPinnedUncached(el);
20
+ pinnedCache.set(el, pinned);
21
+ return pinned;
22
+ }
23
+ function isPinnedUncached(el) {
24
+ for (let n = el; n && n !== document.body; n = n.parentElement) {
25
+ const pos = getComputedStyle(n).position;
26
+ if (pos === "fixed" || pos === "sticky")
27
+ return true;
28
+ }
29
+ return false;
30
+ }
31
+ /**
32
+ * Keeps the Contact dock off CTAs (~0.6 KB island). A fixed or sticky region pinned to the
33
+ * bottom of the viewport lifts the fab above it (and hides the mobile bar, two bottom bars
34
+ * never stack); an in-flow CTA passing under the fab hides the fab until it has scrolled by.
35
+ * The fab never hides while it has focus.
36
+ */
37
+ export function DockAvoid() {
38
+ const ref = React.useRef(null);
39
+ React.useEffect(() => {
40
+ const dock = ref.current?.closest("[data-contact-dock]");
41
+ if (!dock || typeof window === "undefined")
42
+ return;
43
+ let frame = 0;
44
+ const measure = () => {
45
+ frame = 0;
46
+ const vh = window.innerHeight;
47
+ const fab = dock.querySelector(".vb-dock-fab");
48
+ const bar = dock.querySelector(".vb-dock-bar");
49
+ const fabVisible = isShown(fab);
50
+ const barVisible = isShown(bar);
51
+ const currentLift = parseFloat(dock.style.getPropertyValue("--vb-dock-lift")) || 0;
52
+ // Where the fab sits without any lift.
53
+ const fr = fabVisible ? fab.getBoundingClientRect() : null;
54
+ const fabBox = fr ? { top: fr.top + currentLift, bottom: fr.bottom + currentLift, left: fr.left, right: fr.right } : null;
55
+ let lift = 0;
56
+ let hideFab = false;
57
+ let hideBar = false;
58
+ for (const region of document.querySelectorAll(DOCK_AVOID_SELECTOR)) {
59
+ if (dock.contains(region) || region.closest("[hidden], [inert]"))
60
+ continue;
61
+ const r = region.getBoundingClientRect();
62
+ if (!r.width || !r.height || r.bottom <= 0 || r.top >= vh)
63
+ continue;
64
+ if (isPinned(region) && r.bottom >= vh - 2) {
65
+ // A bar pinned to the bottom edge: step above it.
66
+ lift = Math.max(lift, vh - r.top);
67
+ if (barVisible)
68
+ hideBar = true;
69
+ continue;
70
+ }
71
+ if (!fabBox || hideFab)
72
+ continue;
73
+ const boxes = region.dataset.dockAvoid === "items" ? Array.from(region.querySelectorAll(CONTROLS), (c) => c.getBoundingClientRect()) : [r];
74
+ if (boxes.some((b) => b.width && overlaps(fabBox, b)))
75
+ hideFab = true;
76
+ }
77
+ if (fab?.contains(document.activeElement))
78
+ hideFab = false;
79
+ dock.style.setProperty("--vb-dock-lift", `${Math.round(lift)}px`);
80
+ dock.toggleAttribute("data-avoiding", hideFab);
81
+ dock.toggleAttribute("data-bar-avoiding", hideBar);
82
+ };
83
+ const schedule = () => {
84
+ if (!frame)
85
+ frame = window.requestAnimationFrame(measure);
86
+ };
87
+ schedule();
88
+ window.addEventListener("scroll", schedule, { passive: true, capture: true });
89
+ const onResize = () => {
90
+ pinnedCache = new WeakMap();
91
+ schedule();
92
+ };
93
+ window.addEventListener("resize", onResize);
94
+ dock.addEventListener("focusin", schedule);
95
+ const ro = typeof ResizeObserver !== "undefined" ? new ResizeObserver(schedule) : null;
96
+ ro?.observe(document.body);
97
+ return () => {
98
+ if (frame)
99
+ window.cancelAnimationFrame(frame);
100
+ window.removeEventListener("scroll", schedule, { capture: true });
101
+ window.removeEventListener("resize", onResize);
102
+ dock.removeEventListener("focusin", schedule);
103
+ ro?.disconnect();
104
+ };
105
+ }, []);
106
+ return _jsx("span", { ref: ref, hidden: true, "data-dock-avoid-island": "" });
107
+ }
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { type OpeningHours } from "./opening-hours.js";
3
+ export interface DockHoursProps {
4
+ hours: OpeningHours;
5
+ /** label: show `text` while closed. hide: hide the whole dock while closed. */
6
+ mode: "label" | "hide";
7
+ text: string;
8
+ /** Fixed "now" for previews. */
9
+ now?: string;
10
+ className?: string;
11
+ }
12
+ /** Off-hours behaviour of the Contact dock, computed on the client in the business's zone (~0.4 KB). */
13
+ export declare function DockHours({ hours, mode, text, now, className }: DockHoursProps): React.JSX.Element;
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { isOpenAt } from "./opening-hours.js";
5
+ /** Off-hours behaviour of the Contact dock, computed on the client in the business's zone (~0.4 KB). */
6
+ export function DockHours({ hours, mode, text, now, className }) {
7
+ const ref = React.useRef(null);
8
+ const [closed, setClosed] = React.useState(false);
9
+ React.useEffect(() => {
10
+ const check = () => setClosed(!isOpenAt(hours, now ?? Date.now()));
11
+ check();
12
+ if (now)
13
+ return;
14
+ const id = window.setInterval(check, 60_000);
15
+ return () => window.clearInterval(id);
16
+ }, [hours, now]);
17
+ React.useEffect(() => {
18
+ if (mode !== "hide")
19
+ return;
20
+ const dock = ref.current?.closest("[data-contact-dock]");
21
+ if (dock)
22
+ dock.hidden = closed;
23
+ }, [closed, mode]);
24
+ return (_jsx("span", { ref: ref, className: className, "data-off-hours": closed ? "" : undefined, children: mode === "label" && closed ? text : null }));
25
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import type { MediaSource } from "../../../media/types.js";
3
+ export interface GalleryLightboxProps {
4
+ items: MediaSource[];
5
+ /** Grid with `LightboxTrigger`s (server-rendered). */
6
+ children: React.ReactNode;
7
+ }
8
+ /**
9
+ * Lightbox island for the Gallery section: native dialog semantics via the Media group's
10
+ * Lightbox (focus trap, Esc, ←/→, "Image 3 of 12"). The grid itself stays server-rendered.
11
+ */
12
+ export declare function GalleryLightbox({ items, children }: GalleryLightboxProps): React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Lightbox } from "../../../media/lightbox.js";
4
+ /**
5
+ * Lightbox island for the Gallery section: native dialog semantics via the Media group's
6
+ * Lightbox (focus trap, Esc, ←/→, "Image 3 of 12"). The grid itself stays server-rendered.
7
+ */
8
+ export function GalleryLightbox({ items, children }) {
9
+ return (_jsx(Lightbox, { items: items, zoom: true, backdrop: "solid", children: children }));
10
+ }
@@ -0,0 +1,10 @@
1
+ export declare const carouselLabelKeys: readonly ["previous", "next", "slideCounter", "slideLabel", "carousel", "slide"];
2
+ export type CarouselLabels = Record<(typeof carouselLabelKeys)[number], string>;
3
+ export declare const openNowLabelKeys: readonly ["openNow", "closesAt", "closingSoon", "closed", "closedToday", "opensAt", "opensTodayAt", "open24h", "today"];
4
+ export type OpenNowLabels = Record<(typeof openNowLabelKeys)[number], string>;
5
+ export declare const contactIslandLabelKeys: readonly ["send", "sending", "sent", "optional", "errorSummary", "errorServer", "errorServerCall", "privacyRead", "privacyLink", "privacyRequired", "marketingConsent", "honeypot", "choose", "errorRequired", "errorEmail", "errorPhone", "errorTooLong"];
6
+ export type ContactIslandLabels = Record<(typeof contactIslandLabelKeys)[number], string>;
7
+ export declare const consentLabelKeys: readonly ["cookies", "cookieConsent", "acceptAll", "rejectAll", "preferences", "savePreferences", "cookiePreferences", "cookiePreferencesLead", "cookiePolicy", "catNecessary", "catNecessaryHint", "catFunctional", "catFunctionalHint", "catAnalytics", "catAnalyticsHint", "catMarketing", "catMarketingHint", "alwaysOn"];
8
+ export type ConsentLabels = Record<(typeof consentLabelKeys)[number], string>;
9
+ export declare const shareLabelKeys: readonly ["copyLink", "linkCopied"];
10
+ export type ShareLabels = Record<(typeof shareLabelKeys)[number], string>;
@@ -0,0 +1,44 @@
1
+ // Label keys each client island needs. Kept out of the "use client" files: a server component
2
+ // importing a plain value from a client module would receive a client reference, not the array.
3
+ export const carouselLabelKeys = ["previous", "next", "slideCounter", "slideLabel", "carousel", "slide"];
4
+ export const openNowLabelKeys = ["openNow", "closesAt", "closingSoon", "closed", "closedToday", "opensAt", "opensTodayAt", "open24h", "today"];
5
+ export const contactIslandLabelKeys = [
6
+ "send",
7
+ "sending",
8
+ "sent",
9
+ "optional",
10
+ "errorSummary",
11
+ "errorServer",
12
+ "errorServerCall",
13
+ "privacyRead",
14
+ "privacyLink",
15
+ "privacyRequired",
16
+ "marketingConsent",
17
+ "honeypot",
18
+ "choose",
19
+ "errorRequired",
20
+ "errorEmail",
21
+ "errorPhone",
22
+ "errorTooLong",
23
+ ];
24
+ export const consentLabelKeys = [
25
+ "cookies",
26
+ "cookieConsent",
27
+ "acceptAll",
28
+ "rejectAll",
29
+ "preferences",
30
+ "savePreferences",
31
+ "cookiePreferences",
32
+ "cookiePreferencesLead",
33
+ "cookiePolicy",
34
+ "catNecessary",
35
+ "catNecessaryHint",
36
+ "catFunctional",
37
+ "catFunctionalHint",
38
+ "catAnalytics",
39
+ "catAnalyticsHint",
40
+ "catMarketing",
41
+ "catMarketingHint",
42
+ "alwaysOn",
43
+ ];
44
+ export const shareLabelKeys = ["copyLink", "linkCopied"];
@@ -0,0 +1,55 @@
1
+ import * as React from "react";
2
+ import { type ClassValue } from "clsx";
3
+ import type { MoneyValue, ImageRef, LinkRef } from "../../schema/types.js";
4
+ /** Stable ids for a block: `base` (anchor-safe) and the heading id. */
5
+ export declare function useBlockIds2(id: string | undefined, prefix: string): {
6
+ base: string;
7
+ headingId: string;
8
+ };
9
+ /** `data-field` attribute for edit mode. */
10
+ export declare const fieldAttr: (editMode: boolean | undefined, path: string) => {
11
+ "data-field": string;
12
+ } | undefined;
13
+ /** Two-digit mono index ("01"). */
14
+ export declare const index2: (i: number) => string;
15
+ /** Plain image as layer-1 blocks receive it (after `localize()`: `alt` is a string). */
16
+ export type SiteImage2 = Omit<ImageRef, "alt" | "width" | "height"> & {
17
+ alt?: string;
18
+ width?: number;
19
+ height?: number;
20
+ };
21
+ /** Plain link as layer-1 blocks receive it. */
22
+ export interface SiteLink2 {
23
+ href: string;
24
+ label: React.ReactNode;
25
+ newTab?: boolean;
26
+ kind?: LinkRef["kind"];
27
+ }
28
+ /** Money → "$4,500" / "₺4.500". Whole amounts drop the decimals. */
29
+ export declare function formatMoney(value: MoneyValue, locale?: string, display?: Intl.NumberFormatOptions["currencyDisplay"]): string;
30
+ /** Money with the full currency name, for screen readers ("4,500 US dollars"). */
31
+ export declare const formatMoneyLong: (value: MoneyValue, locale?: string) => string;
32
+ /** A date-only or ISO value → "November 14, 2026" / "14 Kasım 2026". Stays on the calendar day. */
33
+ export declare function formatDate2(value: string, locale?: string, preset?: "short" | "medium" | "long"): string;
34
+ /** `YYYY-MM-DD` for `time[datetime]` from a date-only or ISO value. */
35
+ export declare const isoDay: (value: string) => string;
36
+ /** The string inside a ReactNode, when there is one. */
37
+ export declare const textOf: (n: React.ReactNode) => string;
38
+ /** Visually hidden text. */
39
+ export declare function SrOnly({ children }: {
40
+ children: React.ReactNode;
41
+ }): React.JSX.Element;
42
+ /** Digits of a phone number for `tel:` (keeps the leading +). */
43
+ export declare const telHref: (phone: string) => string;
44
+ /** "+902160000000" → "+90 216 000 00 00" for TR numbers; other numbers are grouped loosely. */
45
+ export declare function prettyPhone(e164: string): string;
46
+ /**
47
+ * Address lines in a locale-neutral order: street · district · postcode + city · region.
48
+ * The country is omitted for a domestic audience unless `withCountry`.
49
+ */
50
+ export declare function addressLines(a: import("../../schema/types.js").AddressValue, opts?: {
51
+ withCountry?: boolean;
52
+ locale?: string;
53
+ }): string[];
54
+ /** Class merge for site blocks (last wins; type-scale aware). */
55
+ export declare function cn2(...inputs: ClassValue[]): string;
@@ -0,0 +1,84 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // Small shared helpers for the registry-2 site blocks. Server-safe: only useId, no context, no zod.
3
+ import * as React from "react";
4
+ import { clsx } from "clsx";
5
+ import { extendTailwindMerge } from "tailwind-merge";
6
+ import { createFormatter } from "../../../format/core.js";
7
+ /** Stable ids for a block: `base` (anchor-safe) and the heading id. */
8
+ export function useBlockIds2(id, prefix) {
9
+ const auto = React.useId();
10
+ const base = id ?? `${prefix}-${auto.replace(/[^a-zA-Z0-9_-]/g, "")}`;
11
+ return { base, headingId: `${base}-title` };
12
+ }
13
+ /** `data-field` attribute for edit mode. */
14
+ export const fieldAttr = (editMode, path) => (editMode ? { "data-field": `props.${path}` } : undefined);
15
+ /** Two-digit mono index ("01"). */
16
+ export const index2 = (i) => String(i + 1).padStart(2, "0");
17
+ /** Money → "$4,500" / "₺4.500". Whole amounts drop the decimals. */
18
+ export function formatMoney(value, locale = "en-US", display = "narrowSymbol") {
19
+ const whole = /^-?\d+(\.0+)?$/.test(value.amount);
20
+ return createFormatter(locale).currency(value.amount, {
21
+ currency: value.currency,
22
+ display,
23
+ minimumFractionDigits: whole ? 0 : undefined,
24
+ maximumFractionDigits: whole ? 0 : undefined,
25
+ });
26
+ }
27
+ /** Money with the full currency name, for screen readers ("4,500 US dollars"). */
28
+ export const formatMoneyLong = (value, locale = "en-US") => formatMoney(value, locale, "name");
29
+ /** A date-only or ISO value → "November 14, 2026" / "14 Kasım 2026". Stays on the calendar day. */
30
+ export function formatDate2(value, locale = "en-US", preset = "long") {
31
+ return createFormatter(locale).date(value, preset);
32
+ }
33
+ /** `YYYY-MM-DD` for `time[datetime]` from a date-only or ISO value. */
34
+ export const isoDay = (value) => value.slice(0, 10);
35
+ /** The string inside a ReactNode, when there is one. */
36
+ export const textOf = (n) => (typeof n === "string" || typeof n === "number" ? String(n) : "");
37
+ /** Visually hidden text. */
38
+ export function SrOnly({ children }) {
39
+ return _jsx("span", { className: "sr-only", children: children });
40
+ }
41
+ /** Digits of a phone number for `tel:` (keeps the leading +). */
42
+ export const telHref = (phone) => `tel:${phone.replace(/[^\d+]/g, "")}`;
43
+ /** "+902160000000" → "+90 216 000 00 00" for TR numbers; other numbers are grouped loosely. */
44
+ export function prettyPhone(e164) {
45
+ const d = e164.replace(/[^\d+]/g, "");
46
+ const tr = /^\+90(\d{3})(\d{3})(\d{2})(\d{2})$/.exec(d);
47
+ if (tr)
48
+ return `+90 ${tr[1]} ${tr[2]} ${tr[3]} ${tr[4]}`;
49
+ const us = /^\+1(\d{3})(\d{3})(\d{4})$/.exec(d);
50
+ if (us)
51
+ return `+1 ${us[1]} ${us[2]} ${us[3]}`;
52
+ return d.replace(/^(\+\d{2})(\d{3})(\d{3})(\d+)$/, "$1 $2 $3 $4");
53
+ }
54
+ /**
55
+ * Address lines in a locale-neutral order: street · district · postcode + city · region.
56
+ * The country is omitted for a domestic audience unless `withCountry`.
57
+ */
58
+ export function addressLines(a, opts = {}) {
59
+ const cityLine = [a.postalCode, a.district && a.country === "TR" ? `${a.district}/${a.city}` : a.city].filter(Boolean).join(" ");
60
+ const lines = [a.line, a.district && a.country !== "TR" ? a.district : undefined, cityLine, a.region && a.region !== a.city ? a.region : undefined];
61
+ if (opts.withCountry) {
62
+ try {
63
+ lines.push(new Intl.DisplayNames([opts.locale ?? "en-US"], { type: "region" }).of(a.country));
64
+ }
65
+ catch {
66
+ lines.push(a.country);
67
+ }
68
+ }
69
+ return lines.filter((l) => !!l);
70
+ }
71
+ // `cn` with the site type scale registered as font sizes. The shared `lib/cn` doesn't know
72
+ // text-h3 / text-lead / text-display-* yet and drops them next to a colour (text-fg) — see requests.
73
+ const twMergeSite = extendTailwindMerge({
74
+ extend: {
75
+ classGroups: {
76
+ "font-size": [{ text: ["2xs", "h3", "lead", "body", "small", "eyebrow", "display-2xl", "display-xl", "display-l", "display-m"] }],
77
+ rounded: [{ rounded: ["ui", "ui-sm", "ui-lg"] }],
78
+ },
79
+ },
80
+ });
81
+ /** Class merge for site blocks (last wins; type-scale aware). */
82
+ export function cn2(...inputs) {
83
+ return twMergeSite(clsx(inputs));
84
+ }
@@ -0,0 +1,209 @@
1
+ import { type BlockLabels } from "../../labels.js";
2
+ /** English defaults. */
3
+ export declare const site2Labels: {
4
+ billingPeriod: string;
5
+ monthly: string;
6
+ yearly: string;
7
+ perMonth: string;
8
+ perYear: string;
9
+ oneOff: string;
10
+ priceFrom: string;
11
+ priceFree: string;
12
+ included: string;
13
+ notIncluded: string;
14
+ yes: string;
15
+ no: string;
16
+ comparePlans: string;
17
+ showPlan: string;
18
+ feature: string;
19
+ quoteOpen: string;
20
+ quoteClose: string;
21
+ ratingOutOf: string;
22
+ ratingSummary: string;
23
+ ratingSummaryDirect: string;
24
+ reviewCount: string;
25
+ readAllReviews: string;
26
+ previous: string;
27
+ next: string;
28
+ slideCounter: string;
29
+ slideLabel: string;
30
+ carousel: string;
31
+ slide: string;
32
+ profileOf: string;
33
+ minRead: string;
34
+ noPosts: string;
35
+ noPostsHint: string;
36
+ categories: string;
37
+ allPosts: string;
38
+ pagination: string;
39
+ previousPage: string;
40
+ nextPage: string;
41
+ pageOf: string;
42
+ by: string;
43
+ onThisPage: string;
44
+ breadcrumb: string;
45
+ tags: string;
46
+ share: string;
47
+ copyLink: string;
48
+ linkCopied: string;
49
+ shareOn: string;
50
+ shareByEmail: string;
51
+ updated: string;
52
+ published: string;
53
+ preview: string;
54
+ previewNotice: string;
55
+ writtenBy: string;
56
+ relatedPosts: string;
57
+ fieldName: string;
58
+ fieldEmail: string;
59
+ fieldPhone: string;
60
+ fieldCompany: string;
61
+ fieldSubject: string;
62
+ fieldBudget: string;
63
+ fieldMessage: string;
64
+ fieldDate: string;
65
+ choose: string;
66
+ send: string;
67
+ sending: string;
68
+ sent: string;
69
+ required: string;
70
+ optional: string;
71
+ errorRequired: string;
72
+ errorEmail: string;
73
+ errorPhone: string;
74
+ errorTooLong: string;
75
+ errorSummary: string;
76
+ errorServer: string;
77
+ errorServerCall: string;
78
+ privacyRead: string;
79
+ privacyLink: string;
80
+ privacyRequired: string;
81
+ marketingConsent: string;
82
+ honeypot: string;
83
+ contactDetails: string;
84
+ address: string;
85
+ phone: string;
86
+ email: string;
87
+ hours: string;
88
+ openNow: string;
89
+ closesAt: string;
90
+ closingSoon: string;
91
+ closed: string;
92
+ closedToday: string;
93
+ opensAt: string;
94
+ opensTodayAt: string;
95
+ open24h: string;
96
+ openingHours: string;
97
+ openingHoursOf: string;
98
+ today: string;
99
+ closedDay: string;
100
+ loadMap: string;
101
+ mapOf: string;
102
+ mapNotice: string;
103
+ rememberChoice: string;
104
+ directions: string;
105
+ directionsVia: string;
106
+ branches: string;
107
+ chooseBranch: string;
108
+ call: string;
109
+ callNumber: string;
110
+ menuCategories: string;
111
+ unavailable: string;
112
+ marketPrice: string;
113
+ allergens: string;
114
+ book: string;
115
+ bookService: string;
116
+ tagVegetarian: string;
117
+ tagVegan: string;
118
+ tagGlutenFree: string;
119
+ tagSpicy: string;
120
+ tagNew: string;
121
+ tagChefPick: string;
122
+ allergen_gluten: string;
123
+ allergen_crustaceans: string;
124
+ allergen_eggs: string;
125
+ allergen_fish: string;
126
+ allergen_peanuts: string;
127
+ allergen_soybeans: string;
128
+ allergen_milk: string;
129
+ allergen_nuts: string;
130
+ allergen_celery: string;
131
+ allergen_mustard: string;
132
+ allergen_sesame: string;
133
+ allergen_sulphites: string;
134
+ allergen_lupin: string;
135
+ allergen_molluscs: string;
136
+ openImage: string;
137
+ imageCounter: string;
138
+ galleryImages: string;
139
+ cookies: string;
140
+ cookieConsent: string;
141
+ acceptAll: string;
142
+ rejectAll: string;
143
+ preferences: string;
144
+ savePreferences: string;
145
+ cookiePreferences: string;
146
+ cookiePreferencesLead: string;
147
+ cookiePolicy: string;
148
+ catNecessary: string;
149
+ catNecessaryHint: string;
150
+ catFunctional: string;
151
+ catFunctionalHint: string;
152
+ catAnalytics: string;
153
+ catAnalyticsHint: string;
154
+ catMarketing: string;
155
+ catMarketingHint: string;
156
+ alwaysOn: string;
157
+ cookieText: string;
158
+ cookieSettings: string;
159
+ loadContent: string;
160
+ contentNotice: string;
161
+ messageUs: string;
162
+ messageUsOn: string;
163
+ contactActions: string;
164
+ directionsShort: string;
165
+ booking: string;
166
+ emailShort: string;
167
+ offHours: string;
168
+ footer: string;
169
+ footerNav: string;
170
+ social: string;
171
+ legal: string;
172
+ copyright: string;
173
+ madeBy: string;
174
+ newsletter: string;
175
+ newsletterHint: string;
176
+ emailAddress: string;
177
+ subscribe: string;
178
+ subscribed: string;
179
+ notFoundCode: string;
180
+ notFoundTitle: string;
181
+ notFoundText: string;
182
+ serverErrorCode: string;
183
+ serverErrorTitle: string;
184
+ serverErrorText: string;
185
+ maintenanceCode: string;
186
+ maintenanceTitle: string;
187
+ maintenanceText: string;
188
+ backHome: string;
189
+ tryAgain: string;
190
+ search: string;
191
+ searchSite: string;
192
+ searchPlaceholder: string;
193
+ popularPages: string;
194
+ stillStuck: string;
195
+ };
196
+ export type Site2Labels = typeof site2Labels;
197
+ /** Turkish dictionary. Legal-flavoured texts are neutral templates — review with counsel. */
198
+ export declare const site2LabelsTr: Site2Labels;
199
+ /** Labels accepted by every registry-2 block: infrastructure + these keys. */
200
+ export type Site2BlockLabels = Partial<BlockLabels & Site2Labels>;
201
+ export type Site2Key = keyof (BlockLabels & Site2Labels);
202
+ export type Site2Text = (key: Site2Key, vars?: Record<string, unknown>) => string;
203
+ /** Label lookup for server components: `labels` prop → English. */
204
+ export declare function site2Text(labels: Site2BlockLabels | Record<string, unknown> | undefined, locale?: string): Site2Text;
205
+ /**
206
+ * The raw (unformatted) templates for some keys, with overrides applied — plain strings that can
207
+ * cross the RSC boundary into a client island, which formats them with `formatMessage`.
208
+ */
209
+ export declare function labelTemplates<K extends Site2Key>(labels: Site2BlockLabels | Record<string, unknown> | undefined, keys: readonly K[]): Record<K, string>;