@mieweb/ui 0.10.0-dev.4 → 0.10.0-dev.40

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 (811) hide show
  1. package/README.md +4 -4
  2. package/agent/mieweb-ui.instructions.md +90 -1
  3. package/dist/CsvBlock-CFXSDPBI.js +9 -0
  4. package/dist/{CsvBlock-UWPMTLE2.js.map → CsvBlock-CFXSDPBI.js.map} +1 -1
  5. package/dist/CsvBlock-RGO7JXHJ.cjs +18 -0
  6. package/dist/{CsvBlock-ROJCKJDP.cjs.map → CsvBlock-RGO7JXHJ.cjs.map} +1 -1
  7. package/dist/HtmlPreviewBlock-VBYXCXVT.cjs +18 -0
  8. package/dist/{HtmlPreviewBlock-DWFN6EUB.cjs.map → HtmlPreviewBlock-VBYXCXVT.cjs.map} +1 -1
  9. package/dist/HtmlPreviewBlock-Z2GCK325.js +9 -0
  10. package/dist/{HtmlPreviewBlock-ME5U3XNS.js.map → HtmlPreviewBlock-Z2GCK325.js.map} +1 -1
  11. package/dist/MermaidBlock-I2R2BQOX.cjs +18 -0
  12. package/dist/{MermaidBlock-D2UC5M55.cjs.map → MermaidBlock-I2R2BQOX.cjs.map} +1 -1
  13. package/dist/MermaidBlock-XCAK7IA5.js +9 -0
  14. package/dist/{MermaidBlock-2B6CPD6Y.js.map → MermaidBlock-XCAK7IA5.js.map} +1 -1
  15. package/dist/SurveyBlock-KI5JOWCL.js +9 -0
  16. package/dist/{SurveyBlock-4DO62RBT.js.map → SurveyBlock-KI5JOWCL.js.map} +1 -1
  17. package/dist/SurveyBlock-UKSGISRT.cjs +18 -0
  18. package/dist/{SurveyBlock-4CD4AYMJ.cjs.map → SurveyBlock-UKSGISRT.cjs.map} +1 -1
  19. package/dist/ag-grid.d.cts +142 -1
  20. package/dist/ag-grid.d.ts +142 -1
  21. package/dist/brands/bluehive.cjs +3 -3
  22. package/dist/brands/bluehive.css +3 -0
  23. package/dist/brands/bluehive.js +1 -1
  24. package/dist/brands/index.cjs +14 -14
  25. package/dist/brands/index.js +4 -4
  26. package/dist/{chunk-3M7TAXNR.js → chunk-24AFHH4J.js} +3 -3
  27. package/dist/{chunk-3M7TAXNR.js.map → chunk-24AFHH4J.js.map} +1 -1
  28. package/dist/{chunk-JYZW2PZS.cjs → chunk-254QK722.cjs} +7 -7
  29. package/dist/chunk-254QK722.cjs.map +1 -0
  30. package/dist/{chunk-VPIYTQCV.cjs → chunk-2I4IRQQG.cjs} +12 -5
  31. package/dist/chunk-2I4IRQQG.cjs.map +1 -0
  32. package/dist/chunk-2X54ZLT6.js +874 -0
  33. package/dist/chunk-2X54ZLT6.js.map +1 -0
  34. package/dist/{chunk-5MCBWTIF.cjs → chunk-32ZCJOSR.cjs} +4 -4
  35. package/dist/{chunk-5MCBWTIF.cjs.map → chunk-32ZCJOSR.cjs.map} +1 -1
  36. package/dist/chunk-3YBS4WUQ.js +52 -0
  37. package/dist/chunk-3YBS4WUQ.js.map +1 -0
  38. package/dist/{chunk-WNJRS7Y7.cjs → chunk-3ZWCIPFT.cjs} +4 -2
  39. package/dist/chunk-3ZWCIPFT.cjs.map +1 -0
  40. package/dist/chunk-434L5RYF.js +314 -0
  41. package/dist/chunk-434L5RYF.js.map +1 -0
  42. package/dist/{chunk-TPWKM7JH.js → chunk-43K7OQ3E.js} +3 -3
  43. package/dist/{chunk-TPWKM7JH.js.map → chunk-43K7OQ3E.js.map} +1 -1
  44. package/dist/chunk-47P5QLX4.cjs +42 -0
  45. package/dist/chunk-47P5QLX4.cjs.map +1 -0
  46. package/dist/chunk-4IS3QCOQ.cjs +453 -0
  47. package/dist/chunk-4IS3QCOQ.cjs.map +1 -0
  48. package/dist/chunk-4NCDU5IG.cjs +56 -0
  49. package/dist/chunk-4NCDU5IG.cjs.map +1 -0
  50. package/dist/chunk-4ZB7RSMY.cjs +306 -0
  51. package/dist/chunk-4ZB7RSMY.cjs.map +1 -0
  52. package/dist/chunk-522WJIVI.js +99 -0
  53. package/dist/chunk-522WJIVI.js.map +1 -0
  54. package/dist/chunk-56VTM4OX.js +261 -0
  55. package/dist/chunk-56VTM4OX.js.map +1 -0
  56. package/dist/chunk-5HKZR6UG.js +248 -0
  57. package/dist/chunk-5HKZR6UG.js.map +1 -0
  58. package/dist/chunk-6BNZLN4B.cjs +548 -0
  59. package/dist/chunk-6BNZLN4B.cjs.map +1 -0
  60. package/dist/chunk-6N7NMOSV.js +233 -0
  61. package/dist/chunk-6N7NMOSV.js.map +1 -0
  62. package/dist/chunk-6TTCZY3P.cjs +4 -0
  63. package/dist/chunk-6TTCZY3P.cjs.map +1 -0
  64. package/dist/{chunk-YQDA366U.js → chunk-753ENNB6.js} +2 -2
  65. package/dist/{chunk-YQDA366U.js.map → chunk-753ENNB6.js.map} +1 -1
  66. package/dist/{chunk-N6IY47YA.cjs → chunk-7C5W744U.cjs} +8 -8
  67. package/dist/{chunk-N6IY47YA.cjs.map → chunk-7C5W744U.cjs.map} +1 -1
  68. package/dist/chunk-7E46YDOT.cjs +122 -0
  69. package/dist/chunk-7E46YDOT.cjs.map +1 -0
  70. package/dist/chunk-7HUTR6RX.js +178 -0
  71. package/dist/chunk-7HUTR6RX.js.map +1 -0
  72. package/dist/chunk-7IRTD4JT.cjs +61 -0
  73. package/dist/chunk-7IRTD4JT.cjs.map +1 -0
  74. package/dist/{chunk-KZFBQ7GY.js → chunk-7QW6TU4X.js} +3 -3
  75. package/dist/{chunk-KZFBQ7GY.js.map → chunk-7QW6TU4X.js.map} +1 -1
  76. package/dist/{chunk-MWVW4APN.cjs → chunk-7UTBDFFL.cjs} +4 -4
  77. package/dist/{chunk-MWVW4APN.cjs.map → chunk-7UTBDFFL.cjs.map} +1 -1
  78. package/dist/chunk-7WJ6MBF5.cjs +47 -0
  79. package/dist/chunk-7WJ6MBF5.cjs.map +1 -0
  80. package/dist/{chunk-FJ7YPVKV.js → chunk-7X6R3JIA.js} +3 -3
  81. package/dist/{chunk-FJ7YPVKV.js.map → chunk-7X6R3JIA.js.map} +1 -1
  82. package/dist/chunk-A4W5CSK7.cjs +216 -0
  83. package/dist/chunk-A4W5CSK7.cjs.map +1 -0
  84. package/dist/{chunk-2G75X6TS.cjs → chunk-AHHFFXJR.cjs} +3 -3
  85. package/dist/{chunk-2G75X6TS.cjs.map → chunk-AHHFFXJR.cjs.map} +1 -1
  86. package/dist/chunk-AJPFQF3H.cjs +896 -0
  87. package/dist/chunk-AJPFQF3H.cjs.map +1 -0
  88. package/dist/chunk-AMYFRY7K.js +3 -0
  89. package/dist/chunk-AMYFRY7K.js.map +1 -0
  90. package/dist/{chunk-VNYW4C4J.cjs → chunk-ANMX7YDL.cjs} +4 -84
  91. package/dist/chunk-ANMX7YDL.cjs.map +1 -0
  92. package/dist/chunk-ARIJ5OHW.cjs +139 -0
  93. package/dist/chunk-ARIJ5OHW.cjs.map +1 -0
  94. package/dist/{chunk-DVOQ3JNO.js → chunk-B4CKCNWD.js} +16 -8
  95. package/dist/chunk-B4CKCNWD.js.map +1 -0
  96. package/dist/chunk-BJ6ABRSQ.cjs +256 -0
  97. package/dist/chunk-BJ6ABRSQ.cjs.map +1 -0
  98. package/dist/chunk-BM35CACB.js +148 -0
  99. package/dist/chunk-BM35CACB.js.map +1 -0
  100. package/dist/{chunk-G3JX3UAU.cjs → chunk-BWSZ2BHJ.cjs} +6 -6
  101. package/dist/{chunk-G3JX3UAU.cjs.map → chunk-BWSZ2BHJ.cjs.map} +1 -1
  102. package/dist/chunk-BXRQ6HEP.cjs +4 -0
  103. package/dist/chunk-BXRQ6HEP.cjs.map +1 -0
  104. package/dist/{chunk-SGFYA22I.cjs → chunk-C77FAR3F.cjs} +8 -8
  105. package/dist/{chunk-SGFYA22I.cjs.map → chunk-C77FAR3F.cjs.map} +1 -1
  106. package/dist/chunk-CBBKWRLG.js +213 -0
  107. package/dist/chunk-CBBKWRLG.js.map +1 -0
  108. package/dist/{chunk-UAMXCMST.cjs → chunk-CFI3TQMA.cjs} +3 -3
  109. package/dist/{chunk-UAMXCMST.cjs.map → chunk-CFI3TQMA.cjs.map} +1 -1
  110. package/dist/chunk-CLQW724U.cjs +271 -0
  111. package/dist/chunk-CLQW724U.cjs.map +1 -0
  112. package/dist/chunk-CPDNX3LS.cjs +47 -0
  113. package/dist/chunk-CPDNX3LS.cjs.map +1 -0
  114. package/dist/chunk-CVNPNZMX.js +44 -0
  115. package/dist/chunk-CVNPNZMX.js.map +1 -0
  116. package/dist/{chunk-2YCERQWC.js → chunk-CVXESGXJ.js} +10 -9
  117. package/dist/chunk-CVXESGXJ.js.map +1 -0
  118. package/dist/chunk-DGHS5IVD.js +305 -0
  119. package/dist/chunk-DGHS5IVD.js.map +1 -0
  120. package/dist/chunk-DHGCLPFZ.js +91 -0
  121. package/dist/chunk-DHGCLPFZ.js.map +1 -0
  122. package/dist/{chunk-GD7EBGC4.cjs → chunk-DHU3FFC3.cjs} +49 -19
  123. package/dist/chunk-DHU3FFC3.cjs.map +1 -0
  124. package/dist/chunk-DO2YN46R.cjs +201 -0
  125. package/dist/chunk-DO2YN46R.cjs.map +1 -0
  126. package/dist/chunk-DVDT7TX7.js +151 -0
  127. package/dist/chunk-DVDT7TX7.js.map +1 -0
  128. package/dist/chunk-DXEPYK3I.cjs +92 -0
  129. package/dist/chunk-DXEPYK3I.cjs.map +1 -0
  130. package/dist/{chunk-X4XPNTCZ.cjs → chunk-DZ3JTMKM.cjs} +136 -58
  131. package/dist/chunk-DZ3JTMKM.cjs.map +1 -0
  132. package/dist/chunk-EACNRR3C.cjs +4 -0
  133. package/dist/chunk-EACNRR3C.cjs.map +1 -0
  134. package/dist/{chunk-ZGRCSNPK.js → chunk-EEOGIGIA.js} +4 -4
  135. package/dist/{chunk-ZGRCSNPK.js.map → chunk-EEOGIGIA.js.map} +1 -1
  136. package/dist/chunk-EPCUPHEO.js +193 -0
  137. package/dist/chunk-EPCUPHEO.js.map +1 -0
  138. package/dist/{chunk-7ZXAQTV4.cjs → chunk-ERACGSDY.cjs} +8 -8
  139. package/dist/{chunk-7ZXAQTV4.cjs.map → chunk-ERACGSDY.cjs.map} +1 -1
  140. package/dist/{chunk-OD47TTAW.cjs → chunk-F2FOG4EG.cjs} +9 -9
  141. package/dist/{chunk-OD47TTAW.cjs.map → chunk-F2FOG4EG.cjs.map} +1 -1
  142. package/dist/chunk-F3EWRDIT.js +312 -0
  143. package/dist/chunk-F3EWRDIT.js.map +1 -0
  144. package/dist/{chunk-XCP454Q6.js → chunk-F4N67NAF.js} +12 -3
  145. package/dist/chunk-F4N67NAF.js.map +1 -0
  146. package/dist/{chunk-WGPLUCBD.js → chunk-F6W62K4J.js} +4 -4
  147. package/dist/{chunk-WGPLUCBD.js.map → chunk-F6W62K4J.js.map} +1 -1
  148. package/dist/chunk-FBCDYTWM.js +385 -0
  149. package/dist/chunk-FBCDYTWM.js.map +1 -0
  150. package/dist/{chunk-V7D3YGUV.js → chunk-FGLIP6YR.js} +4 -4
  151. package/dist/{chunk-V7D3YGUV.js.map → chunk-FGLIP6YR.js.map} +1 -1
  152. package/dist/{chunk-VU6UTJRM.js → chunk-FIKO4WR6.js} +3 -3
  153. package/dist/{chunk-VU6UTJRM.js.map → chunk-FIKO4WR6.js.map} +1 -1
  154. package/dist/chunk-FSGJXCBG.cjs +318 -0
  155. package/dist/chunk-FSGJXCBG.cjs.map +1 -0
  156. package/dist/chunk-FSWHZY3T.cjs +328 -0
  157. package/dist/chunk-FSWHZY3T.cjs.map +1 -0
  158. package/dist/chunk-FTEZNCRI.js +29 -0
  159. package/dist/chunk-FTEZNCRI.js.map +1 -0
  160. package/dist/{chunk-YVPC65ZJ.cjs → chunk-GF2BE4FB.cjs} +91 -32
  161. package/dist/chunk-GF2BE4FB.cjs.map +1 -0
  162. package/dist/{chunk-JEIW7BSV.cjs → chunk-GKDHMNUA.cjs} +2 -52
  163. package/dist/chunk-GKDHMNUA.cjs.map +1 -0
  164. package/dist/chunk-GM32IDVL.cjs +356 -0
  165. package/dist/chunk-GM32IDVL.cjs.map +1 -0
  166. package/dist/chunk-GVM6DTR5.js +90 -0
  167. package/dist/chunk-GVM6DTR5.js.map +1 -0
  168. package/dist/{chunk-SQHMGT4W.js → chunk-GW4RFJZ5.js} +7 -7
  169. package/dist/chunk-GW4RFJZ5.js.map +1 -0
  170. package/dist/chunk-GY5SP4ST.js +3 -0
  171. package/dist/chunk-GY5SP4ST.js.map +1 -0
  172. package/dist/chunk-H2Y7HZV5.js +3 -0
  173. package/dist/chunk-H2Y7HZV5.js.map +1 -0
  174. package/dist/chunk-H3P7POFC.cjs +337 -0
  175. package/dist/chunk-H3P7POFC.cjs.map +1 -0
  176. package/dist/{chunk-JID7AZTO.cjs → chunk-H3ROMJYI.cjs} +4 -4
  177. package/dist/{chunk-JID7AZTO.cjs.map → chunk-H3ROMJYI.cjs.map} +1 -1
  178. package/dist/{chunk-462XSCP3.cjs → chunk-HCIXGFWR.cjs} +4 -4
  179. package/dist/{chunk-462XSCP3.cjs.map → chunk-HCIXGFWR.cjs.map} +1 -1
  180. package/dist/{chunk-H4ZXMQQW.js → chunk-HDY7YQFX.js} +3 -3
  181. package/dist/{chunk-H4ZXMQQW.js.map → chunk-HDY7YQFX.js.map} +1 -1
  182. package/dist/chunk-HNFFFFYH.cjs +114 -0
  183. package/dist/chunk-HNFFFFYH.cjs.map +1 -0
  184. package/dist/chunk-HNXLLDPN.js +25 -0
  185. package/dist/chunk-HNXLLDPN.js.map +1 -0
  186. package/dist/{chunk-NV2CWBI2.cjs → chunk-IEY3ZJIT.cjs} +12 -3
  187. package/dist/chunk-IEY3ZJIT.cjs.map +1 -0
  188. package/dist/{chunk-3QEVGSFG.cjs → chunk-IGDO62KR.cjs} +5 -5
  189. package/dist/{chunk-3QEVGSFG.cjs.map → chunk-IGDO62KR.cjs.map} +1 -1
  190. package/dist/chunk-IT775BYG.js +179 -0
  191. package/dist/chunk-IT775BYG.js.map +1 -0
  192. package/dist/{chunk-N5O47VGS.cjs → chunk-IVGI353O.cjs} +2 -2
  193. package/dist/{chunk-N5O47VGS.cjs.map → chunk-IVGI353O.cjs.map} +1 -1
  194. package/dist/chunk-IWRBJHO3.cjs +51 -0
  195. package/dist/chunk-IWRBJHO3.cjs.map +1 -0
  196. package/dist/{chunk-VILW53UZ.js → chunk-JMAZ2GKT.js} +3 -3
  197. package/dist/{chunk-VILW53UZ.js.map → chunk-JMAZ2GKT.js.map} +1 -1
  198. package/dist/{chunk-WWJIW2IH.cjs → chunk-JSXIB6EJ.cjs} +4 -4
  199. package/dist/{chunk-WWJIW2IH.cjs.map → chunk-JSXIB6EJ.cjs.map} +1 -1
  200. package/dist/{chunk-KRU6IGV7.js → chunk-JUJGWUAN.js} +28 -6
  201. package/dist/chunk-JUJGWUAN.js.map +1 -0
  202. package/dist/{chunk-FXO5ARBB.cjs → chunk-KDW6BD4O.cjs} +4 -4
  203. package/dist/{chunk-FXO5ARBB.cjs.map → chunk-KDW6BD4O.cjs.map} +1 -1
  204. package/dist/{chunk-Z5V7SAZ4.js → chunk-KFEN2SRZ.js} +3 -3
  205. package/dist/{chunk-Z5V7SAZ4.js.map → chunk-KFEN2SRZ.js.map} +1 -1
  206. package/dist/{chunk-XEAT7XJG.cjs → chunk-KQ6GLYFZ.cjs} +29 -13
  207. package/dist/chunk-KQ6GLYFZ.cjs.map +1 -0
  208. package/dist/chunk-L6K4PRZK.cjs +4 -0
  209. package/dist/chunk-L6K4PRZK.cjs.map +1 -0
  210. package/dist/{chunk-7ZDPD5ZX.cjs → chunk-LC3JL2HB.cjs} +11 -7
  211. package/dist/chunk-LC3JL2HB.cjs.map +1 -0
  212. package/dist/{chunk-P7UMS4E6.cjs → chunk-LC7PVBXH.cjs} +16 -8
  213. package/dist/chunk-LC7PVBXH.cjs.map +1 -0
  214. package/dist/{chunk-Y5HFM7LO.js → chunk-LDBNUJB7.js} +5 -5
  215. package/dist/{chunk-Y5HFM7LO.js.map → chunk-LDBNUJB7.js.map} +1 -1
  216. package/dist/chunk-LRAAJRE7.cjs +2707 -0
  217. package/dist/chunk-LRAAJRE7.cjs.map +1 -0
  218. package/dist/chunk-LUPRGPKP.js +2540 -0
  219. package/dist/chunk-LUPRGPKP.js.map +1 -0
  220. package/dist/chunk-M3VPGJMV.js +283 -0
  221. package/dist/chunk-M3VPGJMV.js.map +1 -0
  222. package/dist/{chunk-VKELAMAZ.js → chunk-N54FYWG6.js} +27 -11
  223. package/dist/chunk-N54FYWG6.js.map +1 -0
  224. package/dist/chunk-N5JDL4VE.js +3 -0
  225. package/dist/chunk-N5JDL4VE.js.map +1 -0
  226. package/dist/{chunk-2QKBTPUC.cjs → chunk-NAH65KPK.cjs} +8 -8
  227. package/dist/{chunk-2QKBTPUC.cjs.map → chunk-NAH65KPK.cjs.map} +1 -1
  228. package/dist/{chunk-PYJDVWXM.js → chunk-NUB5HRKS.js} +3 -3
  229. package/dist/{chunk-PYJDVWXM.js.map → chunk-NUB5HRKS.js.map} +1 -1
  230. package/dist/{chunk-WNZAYBVB.cjs → chunk-O6BJMVGT.cjs} +48 -48
  231. package/dist/{chunk-WNZAYBVB.cjs.map → chunk-O6BJMVGT.cjs.map} +1 -1
  232. package/dist/{chunk-SVSHA7XV.js → chunk-O6XDA3SI.js} +31 -33
  233. package/dist/chunk-O6XDA3SI.js.map +1 -0
  234. package/dist/chunk-OIF34LEN.cjs +425 -0
  235. package/dist/chunk-OIF34LEN.cjs.map +1 -0
  236. package/dist/chunk-OIMXMPH2.cjs +218 -0
  237. package/dist/chunk-OIMXMPH2.cjs.map +1 -0
  238. package/dist/{chunk-J5CSLNCN.cjs → chunk-OODVC2UD.cjs} +2 -2
  239. package/dist/{chunk-J5CSLNCN.cjs.map → chunk-OODVC2UD.cjs.map} +1 -1
  240. package/dist/{chunk-ACCAXVOG.js → chunk-OSTSZDQC.js} +134 -56
  241. package/dist/chunk-OSTSZDQC.js.map +1 -0
  242. package/dist/{chunk-LL6IWKI3.js → chunk-OW3SQJ7P.js} +3 -3
  243. package/dist/{chunk-LL6IWKI3.js.map → chunk-OW3SQJ7P.js.map} +1 -1
  244. package/dist/chunk-P22YCUVM.cjs +4 -0
  245. package/dist/chunk-P22YCUVM.cjs.map +1 -0
  246. package/dist/{chunk-CEQJGUAS.js → chunk-P4E3K3ND.js} +12 -5
  247. package/dist/chunk-P4E3K3ND.js.map +1 -0
  248. package/dist/{chunk-5GUOOLPR.cjs → chunk-P5CMZZRZ.cjs} +5 -5
  249. package/dist/{chunk-5GUOOLPR.cjs.map → chunk-P5CMZZRZ.cjs.map} +1 -1
  250. package/dist/{chunk-TMMVIUUN.js → chunk-P7D7BYFE.js} +4 -4
  251. package/dist/{chunk-TMMVIUUN.js.map → chunk-P7D7BYFE.js.map} +1 -1
  252. package/dist/{chunk-3T7QGLNB.js → chunk-PJEL5ZZV.js} +4 -2
  253. package/dist/chunk-PJEL5ZZV.js.map +1 -0
  254. package/dist/chunk-PYI2IWNX.cjs +281 -0
  255. package/dist/chunk-PYI2IWNX.cjs.map +1 -0
  256. package/dist/chunk-Q3YVLO52.cjs +174 -0
  257. package/dist/chunk-Q3YVLO52.cjs.map +1 -0
  258. package/dist/{chunk-WNM7IZJ7.js → chunk-QJ2L5RU6.js} +7 -7
  259. package/dist/{chunk-WNM7IZJ7.js.map → chunk-QJ2L5RU6.js.map} +1 -1
  260. package/dist/{chunk-X4LBUPJO.cjs → chunk-QX6AAVDE.cjs} +31 -33
  261. package/dist/chunk-QX6AAVDE.cjs.map +1 -0
  262. package/dist/{chunk-UV2FVNWT.cjs → chunk-RIUQP2QS.cjs} +5 -5
  263. package/dist/{chunk-UV2FVNWT.cjs.map → chunk-RIUQP2QS.cjs.map} +1 -1
  264. package/dist/chunk-RLVYWUXG.js +115 -0
  265. package/dist/chunk-RLVYWUXG.js.map +1 -0
  266. package/dist/{chunk-22CYDCXA.js → chunk-RM2HPQIC.js} +105 -14
  267. package/dist/chunk-RM2HPQIC.js.map +1 -0
  268. package/dist/{chunk-DEDN5HAG.js → chunk-RSJGTWLM.js} +3 -3
  269. package/dist/{chunk-DEDN5HAG.js.map → chunk-RSJGTWLM.js.map} +1 -1
  270. package/dist/{chunk-6EN3IQQI.cjs → chunk-RV45J2ZT.cjs} +8 -8
  271. package/dist/{chunk-6EN3IQQI.cjs.map → chunk-RV45J2ZT.cjs.map} +1 -1
  272. package/dist/chunk-RZSSQ7AT.js +333 -0
  273. package/dist/chunk-RZSSQ7AT.js.map +1 -0
  274. package/dist/{chunk-ENKFJJZX.js → chunk-S2JZL4JC.js} +6 -6
  275. package/dist/{chunk-ENKFJJZX.js.map → chunk-S2JZL4JC.js.map} +1 -1
  276. package/dist/{chunk-ELPW32ZI.cjs → chunk-S4XCPDEO.cjs} +60 -59
  277. package/dist/chunk-S4XCPDEO.cjs.map +1 -0
  278. package/dist/{chunk-OE5CKRUC.js → chunk-SACHTD7B.js} +34 -4
  279. package/dist/chunk-SACHTD7B.js.map +1 -0
  280. package/dist/{chunk-U42F3HLE.cjs → chunk-SAGJHL2Z.cjs} +275 -5
  281. package/dist/chunk-SAGJHL2Z.cjs.map +1 -0
  282. package/dist/{chunk-VROIMIHB.cjs → chunk-SHBCUXFS.cjs} +28 -6
  283. package/dist/chunk-SHBCUXFS.cjs.map +1 -0
  284. package/dist/{chunk-RJ6NTJHC.js → chunk-SRMTRD7F.js} +3 -3
  285. package/dist/{chunk-RJ6NTJHC.js.map → chunk-SRMTRD7F.js.map} +1 -1
  286. package/dist/{chunk-IX6KFB3K.cjs → chunk-SW2E7XKY.cjs} +9 -9
  287. package/dist/{chunk-IX6KFB3K.cjs.map → chunk-SW2E7XKY.cjs.map} +1 -1
  288. package/dist/chunk-SZSRGUVO.js +402 -0
  289. package/dist/chunk-SZSRGUVO.js.map +1 -0
  290. package/dist/{chunk-NJ6MY6V5.js → chunk-T5BBZQ66.js} +3 -3
  291. package/dist/{chunk-NJ6MY6V5.js.map → chunk-T5BBZQ66.js.map} +1 -1
  292. package/dist/{chunk-JI244Y7C.js → chunk-T5NOFXOL.js} +275 -5
  293. package/dist/chunk-T5NOFXOL.js.map +1 -0
  294. package/dist/{chunk-2IZLKPUW.js → chunk-THLIL6PY.js} +3 -3
  295. package/dist/{chunk-2IZLKPUW.js.map → chunk-THLIL6PY.js.map} +1 -1
  296. package/dist/{chunk-HZ4MBUC3.js → chunk-TI3TQQ7F.js} +4 -53
  297. package/dist/chunk-TI3TQQ7F.js.map +1 -0
  298. package/dist/chunk-TVU4KB27.cjs +353 -0
  299. package/dist/chunk-TVU4KB27.cjs.map +1 -0
  300. package/dist/{chunk-5JJ2DAE4.js → chunk-TWQSMUE6.js} +7 -3
  301. package/dist/chunk-TWQSMUE6.js.map +1 -0
  302. package/dist/{chunk-TAXD5ADA.cjs → chunk-UEDTZYGI.cjs} +3 -3
  303. package/dist/{chunk-TAXD5ADA.cjs.map → chunk-UEDTZYGI.cjs.map} +1 -1
  304. package/dist/{chunk-3QGS6CXD.js → chunk-UJDWFDKE.js} +3 -3
  305. package/dist/{chunk-3QGS6CXD.js.map → chunk-UJDWFDKE.js.map} +1 -1
  306. package/dist/chunk-UNFDIBKJ.js +258 -0
  307. package/dist/chunk-UNFDIBKJ.js.map +1 -0
  308. package/dist/{chunk-UQ3VVR6A.cjs → chunk-UPWIJC6I.cjs} +3 -3
  309. package/dist/{chunk-UQ3VVR6A.cjs.map → chunk-UPWIJC6I.cjs.map} +1 -1
  310. package/dist/chunk-UTIPENPW.cjs +286 -0
  311. package/dist/chunk-UTIPENPW.cjs.map +1 -0
  312. package/dist/{chunk-S7WCHDBO.js → chunk-VCI2Y7ST.js} +3 -3
  313. package/dist/{chunk-S7WCHDBO.js.map → chunk-VCI2Y7ST.js.map} +1 -1
  314. package/dist/chunk-VEE46VTX.js +166 -0
  315. package/dist/chunk-VEE46VTX.js.map +1 -0
  316. package/dist/chunk-VFFV7EMT.cjs +188 -0
  317. package/dist/chunk-VFFV7EMT.cjs.map +1 -0
  318. package/dist/chunk-VINZZQBD.cjs +323 -0
  319. package/dist/chunk-VINZZQBD.cjs.map +1 -0
  320. package/dist/chunk-VPTASZ2O.cjs +171 -0
  321. package/dist/chunk-VPTASZ2O.cjs.map +1 -0
  322. package/dist/{chunk-P2CA3XGI.js → chunk-VSRO4PAI.js} +23 -5
  323. package/dist/chunk-VSRO4PAI.js.map +1 -0
  324. package/dist/{chunk-L6MDULYB.js → chunk-VU3ZMJBN.js} +2 -2
  325. package/dist/{chunk-L6MDULYB.js.map → chunk-VU3ZMJBN.js.map} +1 -1
  326. package/dist/{chunk-XI34EGK5.cjs → chunk-VV2U36T6.cjs} +9 -9
  327. package/dist/{chunk-XI34EGK5.cjs.map → chunk-VV2U36T6.cjs.map} +1 -1
  328. package/dist/{chunk-VPWJCJCX.cjs → chunk-VXW7D5LR.cjs} +26 -8
  329. package/dist/chunk-VXW7D5LR.cjs.map +1 -0
  330. package/dist/chunk-W3HXHIDO.cjs +2573 -0
  331. package/dist/chunk-W3HXHIDO.cjs.map +1 -0
  332. package/dist/{chunk-GOALNQZ2.js → chunk-WFBUBT54.js} +4 -83
  333. package/dist/chunk-WFBUBT54.js.map +1 -0
  334. package/dist/chunk-WFL4N5PC.js +283 -0
  335. package/dist/chunk-WFL4N5PC.js.map +1 -0
  336. package/dist/chunk-WQHBMZSC.js +295 -0
  337. package/dist/chunk-WQHBMZSC.js.map +1 -0
  338. package/dist/chunk-X3RSNAMX.js +195 -0
  339. package/dist/chunk-X3RSNAMX.js.map +1 -0
  340. package/dist/chunk-X5JOEZVR.js +525 -0
  341. package/dist/chunk-X5JOEZVR.js.map +1 -0
  342. package/dist/chunk-XBAAHOCP.js +3 -0
  343. package/dist/chunk-XBAAHOCP.js.map +1 -0
  344. package/dist/chunk-XDIMTPZU.cjs +202 -0
  345. package/dist/chunk-XDIMTPZU.cjs.map +1 -0
  346. package/dist/chunk-XDU65GLW.js +21 -0
  347. package/dist/chunk-XDU65GLW.js.map +1 -0
  348. package/dist/chunk-XI74P5F2.cjs +424 -0
  349. package/dist/chunk-XI74P5F2.cjs.map +1 -0
  350. package/dist/chunk-XNPDZANN.cjs +238 -0
  351. package/dist/chunk-XNPDZANN.cjs.map +1 -0
  352. package/dist/{chunk-WIAQQNFU.cjs → chunk-XRVMYT5G.cjs} +106 -13
  353. package/dist/chunk-XRVMYT5G.cjs.map +1 -0
  354. package/dist/chunk-XVW5DPPP.js +429 -0
  355. package/dist/chunk-XVW5DPPP.js.map +1 -0
  356. package/dist/chunk-XXA4NZUC.js +3 -0
  357. package/dist/chunk-XXA4NZUC.js.map +1 -0
  358. package/dist/chunk-Y424YL55.js +59 -0
  359. package/dist/chunk-Y424YL55.js.map +1 -0
  360. package/dist/chunk-Y4QNLW7W.js +300 -0
  361. package/dist/chunk-Y4QNLW7W.js.map +1 -0
  362. package/dist/chunk-Y7ZJZLJY.js +2657 -0
  363. package/dist/chunk-Y7ZJZLJY.js.map +1 -0
  364. package/dist/chunk-YGS2TRMP.js +38 -0
  365. package/dist/chunk-YGS2TRMP.js.map +1 -0
  366. package/dist/chunk-YUMOM3KE.js +167 -0
  367. package/dist/chunk-YUMOM3KE.js.map +1 -0
  368. package/dist/chunk-YW2AKBLS.cjs +23 -0
  369. package/dist/chunk-YW2AKBLS.cjs.map +1 -0
  370. package/dist/chunk-ZNUMOJOI.cjs +4 -0
  371. package/dist/chunk-ZNUMOJOI.cjs.map +1 -0
  372. package/dist/chunk-ZSNFL736.cjs +306 -0
  373. package/dist/chunk-ZSNFL736.cjs.map +1 -0
  374. package/dist/components/Accordion/index.cjs +2 -2
  375. package/dist/components/Accordion/index.d.cts +6 -0
  376. package/dist/components/Accordion/index.d.ts +6 -0
  377. package/dist/components/Accordion/index.js +1 -1
  378. package/dist/components/ActionPlan/index.cjs +34 -0
  379. package/dist/components/ActionPlan/index.cjs.map +1 -0
  380. package/dist/components/ActionPlan/index.d.cts +65 -0
  381. package/dist/components/ActionPlan/index.d.ts +65 -0
  382. package/dist/components/ActionPlan/index.js +21 -0
  383. package/dist/components/ActionPlan/index.js.map +1 -0
  384. package/dist/components/ActivityFeed/index.cjs +31 -0
  385. package/dist/components/ActivityFeed/index.cjs.map +1 -0
  386. package/dist/components/ActivityFeed/index.d.cts +99 -0
  387. package/dist/components/ActivityFeed/index.d.ts +99 -0
  388. package/dist/components/ActivityFeed/index.js +18 -0
  389. package/dist/components/ActivityFeed/index.js.map +1 -0
  390. package/dist/components/Alert/index.d.cts +1 -1
  391. package/dist/components/Alert/index.d.ts +1 -1
  392. package/dist/components/AlertDialog/index.cjs +19 -5
  393. package/dist/components/AlertDialog/index.d.cts +94 -16
  394. package/dist/components/AlertDialog/index.d.ts +94 -16
  395. package/dist/components/AlertDialog/index.js +6 -4
  396. package/dist/components/AssociationList/index.cjs +29 -0
  397. package/dist/components/AssociationList/index.cjs.map +1 -0
  398. package/dist/components/AssociationList/index.d.cts +50 -0
  399. package/dist/components/AssociationList/index.d.ts +50 -0
  400. package/dist/components/AssociationList/index.js +16 -0
  401. package/dist/components/AssociationList/index.js.map +1 -0
  402. package/dist/components/AudioRecorder/index.d.cts +2 -2
  403. package/dist/components/AudioRecorder/index.d.ts +2 -2
  404. package/dist/components/Autocomplete/index.d.cts +8 -2
  405. package/dist/components/Autocomplete/index.d.ts +8 -2
  406. package/dist/components/Avatar/index.cjs +9 -7
  407. package/dist/components/Avatar/index.d.cts +46 -15
  408. package/dist/components/Avatar/index.d.ts +46 -15
  409. package/dist/components/Avatar/index.js +3 -1
  410. package/dist/components/AvatarGroup/index.cjs +20 -0
  411. package/dist/components/AvatarGroup/index.cjs.map +1 -0
  412. package/dist/components/AvatarGroup/index.d.cts +57 -0
  413. package/dist/components/AvatarGroup/index.d.ts +57 -0
  414. package/dist/components/AvatarGroup/index.js +7 -0
  415. package/dist/components/AvatarGroup/index.js.map +1 -0
  416. package/dist/components/Badge/index.cjs +3 -3
  417. package/dist/components/Badge/index.d.cts +16 -2
  418. package/dist/components/Badge/index.d.ts +16 -2
  419. package/dist/components/Badge/index.js +1 -1
  420. package/dist/components/BoardView/index.cjs +24 -0
  421. package/dist/components/BoardView/index.cjs.map +1 -0
  422. package/dist/components/BoardView/index.d.cts +41 -0
  423. package/dist/components/BoardView/index.d.ts +41 -0
  424. package/dist/components/BoardView/index.js +7 -0
  425. package/dist/components/BoardView/index.js.map +1 -0
  426. package/dist/components/Button/index.cjs +5 -3
  427. package/dist/components/Button/index.d.cts +2 -1
  428. package/dist/components/Button/index.d.ts +2 -1
  429. package/dist/components/Button/index.js +3 -1
  430. package/dist/components/CalendarHeatmap/index.cjs +18 -0
  431. package/dist/components/CalendarHeatmap/index.cjs.map +1 -0
  432. package/dist/components/CalendarHeatmap/index.d.cts +47 -0
  433. package/dist/components/CalendarHeatmap/index.d.ts +47 -0
  434. package/dist/components/CalendarHeatmap/index.js +5 -0
  435. package/dist/components/CalendarHeatmap/index.js.map +1 -0
  436. package/dist/components/CalendarView/index.cjs +24 -0
  437. package/dist/components/CalendarView/index.cjs.map +1 -0
  438. package/dist/components/CalendarView/index.d.cts +39 -0
  439. package/dist/components/CalendarView/index.d.ts +39 -0
  440. package/dist/components/CalendarView/index.js +11 -0
  441. package/dist/components/CalendarView/index.js.map +1 -0
  442. package/dist/components/Card/index.d.cts +3 -3
  443. package/dist/components/Card/index.d.ts +3 -3
  444. package/dist/components/ClampedText/index.cjs +3 -2
  445. package/dist/components/ClampedText/index.js +2 -1
  446. package/dist/components/CollabStatus/index.cjs +6 -4
  447. package/dist/components/CollabStatus/index.d.cts +11 -0
  448. package/dist/components/CollabStatus/index.d.ts +11 -0
  449. package/dist/components/CollabStatus/index.js +3 -1
  450. package/dist/components/Collapsible/index.cjs +6 -6
  451. package/dist/components/Collapsible/index.d.cts +6 -0
  452. package/dist/components/Collapsible/index.d.ts +6 -0
  453. package/dist/components/Collapsible/index.js +3 -3
  454. package/dist/components/CompletenessMeter/index.cjs +23 -0
  455. package/dist/components/CompletenessMeter/index.cjs.map +1 -0
  456. package/dist/components/CompletenessMeter/index.d.cts +52 -0
  457. package/dist/components/CompletenessMeter/index.d.ts +52 -0
  458. package/dist/components/CompletenessMeter/index.js +6 -0
  459. package/dist/components/CompletenessMeter/index.js.map +1 -0
  460. package/dist/components/CountryCodeDropdown/index.cjs +5 -5
  461. package/dist/components/CountryCodeDropdown/index.js +2 -2
  462. package/dist/components/CustomizableDashboard/index.cjs +12 -10
  463. package/dist/components/CustomizableDashboard/index.js +5 -3
  464. package/dist/components/DateInput/index.d.cts +36 -4
  465. package/dist/components/DateInput/index.d.ts +36 -4
  466. package/dist/components/Dropdown/index.cjs +11 -10
  467. package/dist/components/Dropdown/index.d.cts +2 -1
  468. package/dist/components/Dropdown/index.d.ts +2 -1
  469. package/dist/components/Dropdown/index.js +4 -3
  470. package/dist/components/EmailEditor/index.cjs +67 -0
  471. package/dist/components/EmailEditor/index.cjs.map +1 -0
  472. package/dist/components/EmailEditor/index.d.cts +347 -0
  473. package/dist/components/EmailEditor/index.d.ts +347 -0
  474. package/dist/components/EmailEditor/index.js +26 -0
  475. package/dist/components/EmailEditor/index.js.map +1 -0
  476. package/dist/components/FieldHistory/index.cjs +34 -0
  477. package/dist/components/FieldHistory/index.cjs.map +1 -0
  478. package/dist/components/FieldHistory/index.d.cts +66 -0
  479. package/dist/components/FieldHistory/index.d.ts +66 -0
  480. package/dist/components/FieldHistory/index.js +21 -0
  481. package/dist/components/FieldHistory/index.js.map +1 -0
  482. package/dist/components/FloatingWindow/index.cjs +6 -4
  483. package/dist/components/FloatingWindow/index.js +4 -2
  484. package/dist/components/GanttView/index.cjs +20 -0
  485. package/dist/components/GanttView/index.cjs.map +1 -0
  486. package/dist/components/GanttView/index.d.cts +36 -0
  487. package/dist/components/GanttView/index.d.ts +36 -0
  488. package/dist/components/GanttView/index.js +7 -0
  489. package/dist/components/GanttView/index.js.map +1 -0
  490. package/dist/components/GlossaryTooltip/index.cjs +3 -3
  491. package/dist/components/GlossaryTooltip/index.js +2 -2
  492. package/dist/components/InlineEdit/index.cjs +20 -0
  493. package/dist/components/InlineEdit/index.cjs.map +1 -0
  494. package/dist/components/InlineEdit/index.d.cts +56 -0
  495. package/dist/components/InlineEdit/index.d.ts +56 -0
  496. package/dist/components/InlineEdit/index.js +7 -0
  497. package/dist/components/InlineEdit/index.js.map +1 -0
  498. package/dist/components/KeyboardShortcutsOverlay/index.cjs +5 -5
  499. package/dist/components/KeyboardShortcutsOverlay/index.js +3 -3
  500. package/dist/components/ListView/index.cjs +24 -0
  501. package/dist/components/ListView/index.cjs.map +1 -0
  502. package/dist/components/ListView/index.d.cts +124 -0
  503. package/dist/components/ListView/index.d.ts +124 -0
  504. package/dist/components/ListView/index.js +11 -0
  505. package/dist/components/ListView/index.js.map +1 -0
  506. package/dist/components/LogoUploader/index.cjs +18 -0
  507. package/dist/components/LogoUploader/index.cjs.map +1 -0
  508. package/dist/components/LogoUploader/index.d.cts +49 -0
  509. package/dist/components/LogoUploader/index.d.ts +49 -0
  510. package/dist/components/LogoUploader/index.js +5 -0
  511. package/dist/components/LogoUploader/index.js.map +1 -0
  512. package/dist/components/Markdown/index.cjs +21 -19
  513. package/dist/components/Markdown/index.js +9 -7
  514. package/dist/components/MediaEditor/index.cjs +16 -14
  515. package/dist/components/MediaEditor/index.d.cts +91 -2
  516. package/dist/components/MediaEditor/index.d.ts +91 -2
  517. package/dist/components/MediaEditor/index.js +11 -9
  518. package/dist/components/MediaFeed/index.cjs +29 -0
  519. package/dist/components/MediaFeed/index.cjs.map +1 -0
  520. package/dist/components/MediaFeed/index.d.cts +104 -0
  521. package/dist/components/MediaFeed/index.d.ts +104 -0
  522. package/dist/components/MediaFeed/index.js +20 -0
  523. package/dist/components/MediaFeed/index.js.map +1 -0
  524. package/dist/components/MediaPlayer/index.cjs +8 -6
  525. package/dist/components/MediaPlayer/index.d.cts +19 -1
  526. package/dist/components/MediaPlayer/index.d.ts +19 -1
  527. package/dist/components/MediaPlayer/index.js +5 -3
  528. package/dist/components/MegaMenu/index.cjs +7 -5
  529. package/dist/components/MegaMenu/index.js +4 -2
  530. package/dist/components/Modal/index.cjs +10 -10
  531. package/dist/components/Modal/index.js +2 -2
  532. package/dist/components/Pagination/index.d.cts +1 -1
  533. package/dist/components/Pagination/index.d.ts +1 -1
  534. package/dist/components/PhiMask/index.cjs +18 -0
  535. package/dist/components/PhiMask/index.cjs.map +1 -0
  536. package/dist/components/PhiMask/index.d.cts +45 -0
  537. package/dist/components/PhiMask/index.d.ts +45 -0
  538. package/dist/components/PhiMask/index.js +5 -0
  539. package/dist/components/PhiMask/index.js.map +1 -0
  540. package/dist/components/Progress/index.cjs +6 -6
  541. package/dist/components/Progress/index.d.cts +8 -2
  542. package/dist/components/Progress/index.d.ts +8 -2
  543. package/dist/components/Progress/index.js +1 -1
  544. package/dist/components/PropertyList/index.cjs +25 -0
  545. package/dist/components/PropertyList/index.cjs.map +1 -0
  546. package/dist/components/PropertyList/index.d.cts +87 -0
  547. package/dist/components/PropertyList/index.d.ts +87 -0
  548. package/dist/components/PropertyList/index.js +12 -0
  549. package/dist/components/PropertyList/index.js.map +1 -0
  550. package/dist/components/Q/index.d.cts +2 -2
  551. package/dist/components/Q/index.d.ts +2 -2
  552. package/dist/components/QuickAction/index.d.cts +1 -1
  553. package/dist/components/QuickAction/index.d.ts +1 -1
  554. package/dist/components/RadialExplorer/index.cjs +7 -5
  555. package/dist/components/RadialExplorer/index.js +6 -4
  556. package/dist/components/Rating/index.cjs +28 -0
  557. package/dist/components/Rating/index.cjs.map +1 -0
  558. package/dist/components/Rating/index.d.cts +85 -0
  559. package/dist/components/Rating/index.d.ts +85 -0
  560. package/dist/components/Rating/index.js +7 -0
  561. package/dist/components/Rating/index.js.map +1 -0
  562. package/dist/components/RecordButton/index.d.cts +1 -1
  563. package/dist/components/RecordButton/index.d.ts +1 -1
  564. package/dist/components/RecordHeader/index.cjs +29 -0
  565. package/dist/components/RecordHeader/index.cjs.map +1 -0
  566. package/dist/components/RecordHeader/index.d.cts +96 -0
  567. package/dist/components/RecordHeader/index.d.ts +96 -0
  568. package/dist/components/RecordHeader/index.js +16 -0
  569. package/dist/components/RecordHeader/index.js.map +1 -0
  570. package/dist/components/RecordLayout/index.cjs +21 -0
  571. package/dist/components/RecordLayout/index.cjs.map +1 -0
  572. package/dist/components/RecordLayout/index.d.cts +40 -0
  573. package/dist/components/RecordLayout/index.d.ts +40 -0
  574. package/dist/components/RecordLayout/index.js +8 -0
  575. package/dist/components/RecordLayout/index.js.map +1 -0
  576. package/dist/components/RichTextEditor/index.cjs +11 -8
  577. package/dist/components/RichTextEditor/index.d.cts +12 -2
  578. package/dist/components/RichTextEditor/index.d.ts +12 -2
  579. package/dist/components/RichTextEditor/index.js +8 -5
  580. package/dist/components/ScrollArea/index.d.cts +1 -1
  581. package/dist/components/ScrollArea/index.d.ts +1 -1
  582. package/dist/components/SectionSpyNav/index.cjs +5 -3
  583. package/dist/components/SectionSpyNav/index.js +4 -2
  584. package/dist/components/Select/index.cjs +4 -4
  585. package/dist/components/Select/index.d.cts +2 -2
  586. package/dist/components/Select/index.d.ts +2 -2
  587. package/dist/components/Select/index.js +2 -2
  588. package/dist/components/Skeleton/index.d.cts +1 -1
  589. package/dist/components/Skeleton/index.d.ts +1 -1
  590. package/dist/components/Slider/index.d.cts +2 -2
  591. package/dist/components/Slider/index.d.ts +2 -2
  592. package/dist/components/SliderCalculator/index.cjs +4 -4
  593. package/dist/components/SliderCalculator/index.js +2 -2
  594. package/dist/components/SourceTip/index.cjs +3 -3
  595. package/dist/components/SourceTip/index.js +2 -2
  596. package/dist/components/Spinner/index.d.cts +2 -2
  597. package/dist/components/Spinner/index.d.ts +2 -2
  598. package/dist/components/SuperChat/index.cjs +1300 -713
  599. package/dist/components/SuperChat/index.cjs.map +1 -1
  600. package/dist/components/SuperChat/index.d.cts +126 -8
  601. package/dist/components/SuperChat/index.d.ts +126 -8
  602. package/dist/components/SuperChat/index.js +1404 -817
  603. package/dist/components/SuperChat/index.js.map +1 -1
  604. package/dist/components/SuperChat/plugins/index.cjs +7 -6
  605. package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
  606. package/dist/components/SuperChat/plugins/index.d.cts +2 -3
  607. package/dist/components/SuperChat/plugins/index.d.ts +2 -3
  608. package/dist/components/SuperChat/plugins/index.js +6 -5
  609. package/dist/components/SuperChat/plugins/index.js.map +1 -1
  610. package/dist/components/Tabs/index.cjs +9 -7
  611. package/dist/components/Tabs/index.d.cts +12 -1
  612. package/dist/components/Tabs/index.d.ts +12 -1
  613. package/dist/components/Tabs/index.js +3 -1
  614. package/dist/components/TagEditor/index.cjs +22 -0
  615. package/dist/components/TagEditor/index.cjs.map +1 -0
  616. package/dist/components/TagEditor/index.d.cts +46 -0
  617. package/dist/components/TagEditor/index.d.ts +46 -0
  618. package/dist/components/TagEditor/index.js +9 -0
  619. package/dist/components/TagEditor/index.js.map +1 -0
  620. package/dist/components/Text/index.d.cts +3 -3
  621. package/dist/components/Text/index.d.ts +3 -3
  622. package/dist/components/Textarea/index.d.cts +2 -2
  623. package/dist/components/Textarea/index.d.ts +2 -2
  624. package/dist/components/ThemeProvider/index.cjs +9 -9
  625. package/dist/components/ThemeProvider/index.d.cts +3 -1
  626. package/dist/components/ThemeProvider/index.d.ts +3 -1
  627. package/dist/components/ThemeProvider/index.js +3 -3
  628. package/dist/components/Tooltip/index.cjs +3 -3
  629. package/dist/components/Tooltip/index.js +2 -2
  630. package/dist/components/TranscriptView/index.d.cts +85 -4
  631. package/dist/components/TranscriptView/index.d.ts +85 -4
  632. package/dist/components/UserPicker/index.cjs +24 -0
  633. package/dist/components/UserPicker/index.cjs.map +1 -0
  634. package/dist/components/UserPicker/index.d.cts +60 -0
  635. package/dist/components/UserPicker/index.d.ts +60 -0
  636. package/dist/components/UserPicker/index.js +11 -0
  637. package/dist/components/UserPicker/index.js.map +1 -0
  638. package/dist/components/VideoCard/index.cjs +4 -4
  639. package/dist/components/VideoCard/index.js +2 -2
  640. package/dist/components/ViewSet/index.cjs +25 -0
  641. package/dist/components/ViewSet/index.cjs.map +1 -0
  642. package/dist/components/ViewSet/index.d.cts +201 -0
  643. package/dist/components/ViewSet/index.d.ts +201 -0
  644. package/dist/components/ViewSet/index.js +16 -0
  645. package/dist/components/ViewSet/index.js.map +1 -0
  646. package/dist/components/ViewSwitcher/index.cjs +20 -0
  647. package/dist/components/ViewSwitcher/index.cjs.map +1 -0
  648. package/dist/components/ViewSwitcher/index.d.cts +39 -0
  649. package/dist/components/ViewSwitcher/index.d.ts +39 -0
  650. package/dist/components/ViewSwitcher/index.js +7 -0
  651. package/dist/components/ViewSwitcher/index.js.map +1 -0
  652. package/dist/datavis.cjs +6 -4
  653. package/dist/datavis.cjs.map +1 -1
  654. package/dist/datavis.d.cts +167 -13
  655. package/dist/datavis.d.ts +167 -13
  656. package/dist/datavis.js +4 -2
  657. package/dist/datavis.js.map +1 -1
  658. package/dist/deck.cjs +3360 -0
  659. package/dist/deck.cjs.map +1 -0
  660. package/dist/deck.d.cts +712 -0
  661. package/dist/deck.d.ts +712 -0
  662. package/dist/deck.js +3316 -0
  663. package/dist/deck.js.map +1 -0
  664. package/dist/esheet.cjs +19 -16
  665. package/dist/esheet.cjs.map +1 -1
  666. package/dist/esheet.d.cts +183 -1
  667. package/dist/esheet.d.ts +183 -1
  668. package/dist/esheet.js +16 -13
  669. package/dist/esheet.js.map +1 -1
  670. package/dist/globe.cjs +2 -2
  671. package/dist/globe.js +1 -1
  672. package/dist/hooks/index.cjs +94 -35
  673. package/dist/hooks/index.d.cts +680 -36
  674. package/dist/hooks/index.d.ts +680 -36
  675. package/dist/hooks/index.js +10 -7
  676. package/dist/icons-wBacj6BW.d.cts +142 -0
  677. package/dist/icons-wBacj6BW.d.ts +142 -0
  678. package/dist/index.cjs +2152 -1276
  679. package/dist/index.cjs.map +1 -1
  680. package/dist/index.d.cts +10375 -626
  681. package/dist/index.d.ts +10375 -626
  682. package/dist/index.js +740 -313
  683. package/dist/index.js.map +1 -1
  684. package/dist/kerebron.cjs +58 -19
  685. package/dist/kerebron.cjs.map +1 -1
  686. package/dist/kerebron.css +115 -0
  687. package/dist/kerebron.d.cts +37 -0
  688. package/dist/kerebron.d.ts +37 -0
  689. package/dist/kerebron.js +58 -19
  690. package/dist/kerebron.js.map +1 -1
  691. package/dist/maps.cjs +160 -0
  692. package/dist/maps.cjs.map +1 -0
  693. package/dist/maps.d.cts +42 -0
  694. package/dist/maps.d.ts +42 -0
  695. package/dist/maps.js +138 -0
  696. package/dist/maps.js.map +1 -0
  697. package/dist/motion.cjs +7 -7
  698. package/dist/motion.d.cts +186 -2
  699. package/dist/motion.d.ts +186 -2
  700. package/dist/motion.js +2 -2
  701. package/dist/org-chart.cjs +1302 -0
  702. package/dist/org-chart.cjs.map +1 -0
  703. package/dist/org-chart.d.cts +164 -0
  704. package/dist/org-chart.d.ts +164 -0
  705. package/dist/org-chart.js +1277 -0
  706. package/dist/org-chart.js.map +1 -0
  707. package/dist/q.d.cts +25 -3
  708. package/dist/q.d.ts +25 -3
  709. package/dist/styles/effects.css +133 -0
  710. package/dist/styles/init.css +22 -3
  711. package/dist/styles.css +1 -1
  712. package/dist/tailwind-preset.cjs +4 -4
  713. package/dist/tailwind-preset.js +1 -1
  714. package/dist/templates.cjs +156 -0
  715. package/dist/templates.cjs.map +1 -0
  716. package/dist/templates.d.cts +734 -0
  717. package/dist/templates.d.ts +734 -0
  718. package/dist/templates.js +11 -0
  719. package/dist/templates.js.map +1 -0
  720. package/dist/types-CDeBNZiE.d.cts +92 -0
  721. package/dist/types-CDeBNZiE.d.ts +92 -0
  722. package/dist/types-Cx1FHLq2.d.cts +548 -0
  723. package/dist/types-Cx1FHLq2.d.ts +548 -0
  724. package/dist/types-DsdZvEI1.d.cts +92 -0
  725. package/dist/types-DsdZvEI1.d.ts +92 -0
  726. package/dist/utils/index.cjs +9 -9
  727. package/dist/utils/index.d.cts +13 -2
  728. package/dist/utils/index.d.ts +13 -2
  729. package/dist/utils/index.js +1 -1
  730. package/package.json +82 -13
  731. package/dist/Animated-XmH6k8pZ.d.cts +0 -188
  732. package/dist/Animated-XmH6k8pZ.d.ts +0 -188
  733. package/dist/CsvBlock-ROJCKJDP.cjs +0 -16
  734. package/dist/CsvBlock-UWPMTLE2.js +0 -7
  735. package/dist/HtmlPreviewBlock-DWFN6EUB.cjs +0 -16
  736. package/dist/HtmlPreviewBlock-ME5U3XNS.js +0 -7
  737. package/dist/MedicationEditor-Bp4NLy7y.d.cts +0 -352
  738. package/dist/MedicationEditor-Bp4NLy7y.d.ts +0 -352
  739. package/dist/MermaidBlock-2B6CPD6Y.js +0 -7
  740. package/dist/MermaidBlock-D2UC5M55.cjs +0 -16
  741. package/dist/SurveyBlock-4CD4AYMJ.cjs +0 -16
  742. package/dist/SurveyBlock-4DO62RBT.js +0 -7
  743. package/dist/chunk-22CYDCXA.js.map +0 -1
  744. package/dist/chunk-2YCERQWC.js.map +0 -1
  745. package/dist/chunk-3T7QGLNB.js.map +0 -1
  746. package/dist/chunk-5JJ2DAE4.js.map +0 -1
  747. package/dist/chunk-6HFFWEM3.cjs +0 -22
  748. package/dist/chunk-6HFFWEM3.cjs.map +0 -1
  749. package/dist/chunk-7ZDPD5ZX.cjs.map +0 -1
  750. package/dist/chunk-7ZVTLTJF.js +0 -109
  751. package/dist/chunk-7ZVTLTJF.js.map +0 -1
  752. package/dist/chunk-ACCAXVOG.js.map +0 -1
  753. package/dist/chunk-BMSG4NBH.js +0 -56
  754. package/dist/chunk-BMSG4NBH.js.map +0 -1
  755. package/dist/chunk-CEQJGUAS.js.map +0 -1
  756. package/dist/chunk-DVOQ3JNO.js.map +0 -1
  757. package/dist/chunk-E4IBHYJ7.cjs +0 -80
  758. package/dist/chunk-E4IBHYJ7.cjs.map +0 -1
  759. package/dist/chunk-ELPW32ZI.cjs.map +0 -1
  760. package/dist/chunk-GD7EBGC4.cjs.map +0 -1
  761. package/dist/chunk-GOALNQZ2.js.map +0 -1
  762. package/dist/chunk-HB7C7NB5.js +0 -20
  763. package/dist/chunk-HB7C7NB5.js.map +0 -1
  764. package/dist/chunk-HZ4MBUC3.js.map +0 -1
  765. package/dist/chunk-JEIW7BSV.cjs.map +0 -1
  766. package/dist/chunk-JHULS3EC.js +0 -130
  767. package/dist/chunk-JHULS3EC.js.map +0 -1
  768. package/dist/chunk-JI244Y7C.js.map +0 -1
  769. package/dist/chunk-JYZW2PZS.cjs.map +0 -1
  770. package/dist/chunk-KRU6IGV7.js.map +0 -1
  771. package/dist/chunk-NV2CWBI2.cjs.map +0 -1
  772. package/dist/chunk-OE5CKRUC.js.map +0 -1
  773. package/dist/chunk-P2CA3XGI.js.map +0 -1
  774. package/dist/chunk-P7UMS4E6.cjs.map +0 -1
  775. package/dist/chunk-SQHMGT4W.js.map +0 -1
  776. package/dist/chunk-SVSHA7XV.js.map +0 -1
  777. package/dist/chunk-U42F3HLE.cjs.map +0 -1
  778. package/dist/chunk-VKELAMAZ.js.map +0 -1
  779. package/dist/chunk-VNYW4C4J.cjs.map +0 -1
  780. package/dist/chunk-VOKVG3ER.js +0 -78
  781. package/dist/chunk-VOKVG3ER.js.map +0 -1
  782. package/dist/chunk-VPIYTQCV.cjs.map +0 -1
  783. package/dist/chunk-VPWJCJCX.cjs.map +0 -1
  784. package/dist/chunk-VROIMIHB.cjs.map +0 -1
  785. package/dist/chunk-WIAQQNFU.cjs.map +0 -1
  786. package/dist/chunk-WNAA6CLE.cjs +0 -143
  787. package/dist/chunk-WNAA6CLE.cjs.map +0 -1
  788. package/dist/chunk-WNJRS7Y7.cjs.map +0 -1
  789. package/dist/chunk-X4LBUPJO.cjs.map +0 -1
  790. package/dist/chunk-X4XPNTCZ.cjs.map +0 -1
  791. package/dist/chunk-XCP454Q6.js.map +0 -1
  792. package/dist/chunk-XEAT7XJG.cjs.map +0 -1
  793. package/dist/chunk-YVL3XATO.cjs +0 -79
  794. package/dist/chunk-YVL3XATO.cjs.map +0 -1
  795. package/dist/chunk-YVPC65ZJ.cjs.map +0 -1
  796. package/dist/html-MdxqSzjD.d.cts +0 -13
  797. package/dist/html-MdxqSzjD.d.ts +0 -13
  798. package/dist/orderRows-BUJYgSc7.d.cts +0 -221
  799. package/dist/orderRows-BUJYgSc7.d.ts +0 -221
  800. package/dist/transcript-Cg7uSW-C.d.cts +0 -84
  801. package/dist/transcript-Cg7uSW-C.d.ts +0 -84
  802. package/dist/types-B97JNRNQ.d.cts +0 -251
  803. package/dist/types-CnPEwzlp.d.cts +0 -254
  804. package/dist/types-CnPEwzlp.d.ts +0 -254
  805. package/dist/types-gZXrfLj6.d.ts +0 -251
  806. package/dist/useAnchoredPosition-CKwLSQW8.d.cts +0 -76
  807. package/dist/useAnchoredPosition-CKwLSQW8.d.ts +0 -76
  808. package/dist/useTheme-B9SWu6ui.d.cts +0 -24
  809. package/dist/useTheme-B9SWu6ui.d.ts +0 -24
  810. package/dist/useTranscriptEdits-CGzlemHT.d.cts +0 -182
  811. package/dist/useTranscriptEdits-D32bLs0l.d.ts +0 -182
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ComparisonSection/ComparisonSection.tsx","../src/components/CtaSection/CtaSection.tsx","../src/components/FaqSection/FaqSection.tsx","../src/components/FeatureGridSection/FeatureGridSection.tsx","../src/components/HeroSection/HeroSection.tsx","../src/components/LeadFormSection/LeadFormSection.tsx","../src/components/LogoCloudSection/LogoCloudSection.tsx","../src/components/PricingSection/PricingSection.tsx","../src/components/ProcessStepsSection/ProcessStepsSection.tsx","../src/components/ResourceCardsSection/ResourceCardsSection.tsx","../src/components/SplitContentSection/SplitContentSection.tsx","../src/components/StatsSection/StatsSection.tsx","../src/components/TestimonialSection/TestimonialSection.tsx","../src/components/VideoSection/VideoSection.tsx","../src/components/BenchmarkTableSection/BenchmarkTableSection.tsx","../src/components/LinkGroupsSection/LinkGroupsSection.tsx","../src/components/MetricListSection/MetricListSection.tsx","../src/components/PdfEmbedSection/PdfEmbedSection.tsx","../src/components/RankedListSection/RankedListSection.tsx","../src/components/ReportByline/ReportByline.tsx","../src/components/ReportLegend/ReportLegend.tsx","../src/components/ReportMethodology/ReportMethodology.tsx","../src/components/TileCartogramSection/tiles.ts","../src/components/TileCartogramSection/TileCartogramSection.tsx","../src/components/LandingPage/LandingPage.tsx","../src/components/LandingPage/presets.ts"],"names":["React","React2","jsxs","Fragment","jsx","React3","React4","React6","CircleCheck","React7","columnClass","React8","Check","React9","React10","ArrowRight","React11","React12","React13","React14","React15","React16","React17","React18","React19","React20","React21","React22","React23","React24"],"mappings":"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","file":"chunk-Y7ZJZLJY.js","sourcesContent":["import * as React from 'react';\nimport { Check, X } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n cardClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\n\nexport interface ComparisonRow {\n feature: string;\n /** One value per column: `true`/`false` render as included/not included, strings render as text. */\n values: (boolean | string)[];\n}\n\nexport interface ComparisonSectionLabels {\n /** Header of the first column. */\n feature?: string;\n /** Screen-reader text for a `true` cell. */\n included?: string;\n /** Screen-reader text for a `false` cell. */\n notIncluded?: string;\n}\n\nexport interface ComparisonSectionProps extends SectionBaseProps {\n /** Value column headers, e.g. `[\"Without BlueHive\", \"With BlueHive\"]`. */\n columns: string[];\n rows: ComparisonRow[];\n /** Index into `columns` to emphasise — usually your product. */\n highlightColumn?: number;\n labels?: ComparisonSectionLabels;\n}\n\nconst cellClass = 'px-3 py-3 sm:px-5 sm:py-4';\n\nexport const ComparisonSection = React.forwardRef<\n HTMLElement,\n ComparisonSectionProps\n>(\n (\n {\n columns,\n rows,\n highlightColumn,\n labels,\n title,\n tone = 'default',\n align = 'center',\n ...rest\n },\n ref\n ) => {\n const renderValue = (value: boolean | string) =>\n typeof value === 'string' ? (\n value\n ) : value ? (\n <>\n <Check\n aria-hidden=\"true\"\n className=\"text-success mx-auto size-5\"\n strokeWidth={2.5}\n />\n <span className=\"sr-only\">{labels?.included ?? 'Included'}</span>\n </>\n ) : (\n <>\n <X\n aria-hidden=\"true\"\n className={cn('mx-auto size-5', mutedTextClass(tone))}\n />\n <span className=\"sr-only\">\n {labels?.notIncluded ?? 'Not included'}\n </span>\n </>\n );\n return (\n <SectionShell\n ref={ref}\n data-slot=\"comparison-section\"\n title={title}\n tone={tone}\n align={align}\n {...rest}\n >\n <div\n className={cn('mt-12 overflow-x-auto rounded-2xl', cardClass(tone))}\n >\n <table\n className={cn(\n 'w-full border-collapse text-start',\n // Two value columns fit a phone; more scroll sideways.\n columns.length > 2 && 'min-w-[36rem]'\n )}\n >\n {title && <caption className=\"sr-only\">{title}</caption>}\n <thead>\n <tr>\n <th\n scope=\"col\"\n className={cn(cellClass, 'text-start text-sm font-semibold')}\n >\n {labels?.feature ?? 'Feature'}\n </th>\n {columns.map((column, i) => (\n <th\n key={column}\n scope=\"col\"\n className={cn(\n cellClass,\n 'text-center text-sm font-semibold',\n i === highlightColumn && 'bg-primary-800 text-white'\n )}\n >\n {column}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map((row) => (\n <tr\n key={row.feature}\n className={cn(\n 'border-t',\n tone === 'brand' ? 'border-white/15' : 'border-border'\n )}\n >\n <th\n scope=\"row\"\n className={cn(cellClass, 'text-start font-medium')}\n >\n {row.feature}\n </th>\n {/* One cell per column, so a short or long `values` array can't skew the table. */}\n {columns.map((column, i) => (\n <td\n key={column}\n className={cn(\n cellClass,\n 'text-center text-sm',\n i === highlightColumn &&\n 'bg-primary-500/10 font-semibold'\n )}\n >\n {renderValue(row.values[i] ?? '')}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </SectionShell>\n );\n }\n);\nComparisonSection.displayName = 'ComparisonSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n CtaLinks,\n SectionHeading,\n containerClass,\n mutedTextClass,\n toneClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps, TemplateLink } from '../../templates/types';\n\nexport interface CtaSectionProps extends SectionBaseProps {\n title: string;\n primaryCta?: TemplateLink;\n secondaryCta?: TemplateLink;\n /** Small print under the buttons (\"Setup takes about 10 minutes\"). */\n note?: string;\n /** `band` fills the section with `tone`; `panel` floats a rounded card of `tone` on the page background. */\n layout?: 'band' | 'panel';\n}\n\nexport const CtaSection = React.forwardRef<HTMLElement, CtaSectionProps>(\n (\n {\n eyebrow,\n title,\n description,\n primaryCta,\n secondaryCta,\n note,\n tone = 'brand',\n align = 'center',\n layout = 'band',\n components,\n className,\n ...rest\n },\n ref\n ) => {\n const titleId = React.useId();\n const body = (\n <>\n <SectionHeading\n eyebrow={eyebrow}\n title={title}\n description={description}\n align={align}\n tone={tone}\n titleId={titleId}\n />\n <CtaLinks\n primary={primaryCta}\n secondary={secondaryCta}\n tone={tone}\n align={align}\n components={components}\n className=\"mt-8\"\n />\n {note && (\n <p\n className={cn(\n 'mt-4 text-sm',\n mutedTextClass(tone),\n align === 'center' && 'text-center'\n )}\n >\n {note}\n </p>\n )}\n </>\n );\n return (\n <section\n ref={ref}\n data-slot=\"cta-section\"\n data-tone={tone}\n aria-labelledby={titleId}\n className={cn(\n 'py-16 sm:py-24',\n layout === 'band' ? toneClass(tone) : 'bg-background',\n className\n )}\n {...rest}\n >\n <div className={containerClass()}>\n {layout === 'panel' ? (\n <div\n className={cn(\n 'rounded-3xl px-6 py-12 sm:px-12 sm:py-16',\n toneClass(tone),\n tone !== 'brand' && 'border-border border'\n )}\n >\n {body}\n </div>\n ) : (\n body\n )}\n </div>\n </section>\n );\n }\n);\nCtaSection.displayName = 'CtaSection';\n","import * as React from 'react';\nimport { ChevronDown } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n cardClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\n\nexport interface FaqItem {\n question: string;\n /** Plain text; line breaks are preserved. */\n answer: string;\n /** Anchor id so a link can open straight to this answer. */\n id?: string;\n}\n\nexport interface FaqSectionProps extends SectionBaseProps {\n items: FaqItem[];\n}\n\nexport const FaqSection = React.forwardRef<HTMLElement, FaqSectionProps>(\n ({ items, tone = 'default', align = 'center', ...rest }, ref) => (\n <SectionShell\n ref={ref}\n data-slot=\"faq-section\"\n tone={tone}\n align={align}\n width=\"narrow\"\n {...rest}\n >\n <div className=\"mt-10 space-y-3\">\n {items.map((item) => (\n <details\n key={item.id ?? item.question}\n id={item.id}\n className={cn('group rounded-xl', cardClass(tone))}\n >\n <summary\n className={cn(\n 'flex cursor-pointer list-none items-center justify-between gap-4 rounded-xl px-5 py-4 text-start font-semibold',\n 'focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none',\n '[&::-webkit-details-marker]:hidden'\n )}\n >\n {item.question}\n <ChevronDown\n aria-hidden=\"true\"\n className=\"size-5 shrink-0 transition-transform group-open:rotate-180 motion-reduce:transition-none\"\n />\n </summary>\n <div\n className={cn(\n 'px-5 pb-5 whitespace-pre-line',\n mutedTextClass(tone)\n )}\n >\n {item.answer}\n </div>\n </details>\n ))}\n </div>\n </SectionShell>\n )\n);\nFaqSection.displayName = 'FaqSection';\n","import * as React from 'react';\nimport { ArrowRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n IconTile,\n SectionShell,\n TemplateAnchor,\n accentTextClass,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { TemplateIconRegistry } from '../../templates/icons';\nimport type { SectionBaseProps, TemplateLink } from '../../templates/types';\n\nexport interface FeatureItem {\n title: string;\n description: string;\n /** Icon token (see `templateIcons`) or a lettermark such as `\"EHR\"`. */\n icon?: string;\n /** Small label above the title. */\n tag?: string;\n link?: TemplateLink;\n}\n\nexport interface FeatureGridSectionProps extends SectionBaseProps {\n features: FeatureItem[];\n columns?: 2 | 3 | 4;\n /** `cards` frames each item; `plain` sets them straight on the section. */\n variant?: 'cards' | 'plain';\n icons?: TemplateIconRegistry;\n}\n\nconst columnClass = {\n 2: 'lg:grid-cols-2',\n 3: 'lg:grid-cols-3',\n 4: 'lg:grid-cols-4',\n} as const;\n\nexport const FeatureGridSection = React.forwardRef<\n HTMLElement,\n FeatureGridSectionProps\n>(\n (\n {\n features,\n columns = 3,\n variant = 'cards',\n icons,\n tone = 'default',\n align = 'start',\n components,\n ...rest\n },\n ref\n ) => (\n <SectionShell\n ref={ref}\n data-slot=\"feature-grid-section\"\n tone={tone}\n align={align}\n {...rest}\n >\n <ul\n className={cn('mt-12 grid gap-6 sm:grid-cols-2', columnClass[columns])}\n >\n {features.map((feature) => (\n <li\n key={feature.title}\n className={cn(\n 'flex flex-col gap-3',\n variant === 'cards' && cn('rounded-2xl p-6', cardClass(tone))\n )}\n >\n {feature.icon && (\n <IconTile name={feature.icon} icons={icons} tone={tone} />\n )}\n {feature.tag && (\n <p\n className={cn(\n 'text-xs font-semibold tracking-wider uppercase',\n accentTextClass(tone)\n )}\n >\n {feature.tag}\n </p>\n )}\n <h3 className={cn('text-lg font-semibold', headingTextClass(tone))}>\n {feature.title}\n </h3>\n <p className={mutedTextClass(tone)}>{feature.description}</p>\n {feature.link && (\n <TemplateAnchor\n href={feature.link.href}\n trackingId={feature.link.trackingId}\n components={components}\n className={cn(\n 'mt-auto inline-flex items-center gap-1 font-semibold hover:underline',\n accentTextClass(tone)\n )}\n >\n {feature.link.label}\n <ArrowRight\n aria-hidden=\"true\"\n className=\"size-4 rtl:-scale-x-100\"\n />\n </TemplateAnchor>\n )}\n </li>\n ))}\n </ul>\n </SectionShell>\n )\n);\nFeatureGridSection.displayName = 'FeatureGridSection';\n","import * as React from 'react';\nimport { ChevronRight, CircleCheck } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n CtaLinks,\n SectionHeading,\n TemplateAnchor,\n TemplateImg,\n accentTextClass,\n containerClass,\n mutedTextClass,\n toneClass,\n} from '../../templates/Section';\nimport type {\n SectionBaseProps,\n TemplateImage,\n TemplateLink,\n} from '../../templates/types';\n\nexport interface HeroSectionLabels {\n /** Accessible name of the breadcrumb `<nav>`. */\n breadcrumb?: string;\n}\n\nexport interface HeroSectionProps extends Omit<SectionBaseProps, 'align'> {\n title: string;\n /** `split` puts copy beside `image`; `centered` stacks everything. */\n variant?: 'centered' | 'split';\n primaryCta?: TemplateLink;\n secondaryCta?: TemplateLink;\n /** Reassurance line under the calls to action (\"No credit card required\"). */\n ctaNote?: string;\n /** Short trust points rendered as a checked list. */\n highlights?: string[];\n /** Dateline items under the heading, e.g. `['Benchmark report', '2027 edition']`. */\n meta?: string[];\n /** Brand mark above the heading. */\n logo?: TemplateImage;\n image?: TemplateImage;\n /** Trail ending in the current page, which renders unlinked. */\n breadcrumbs?: TemplateLink[];\n /** A page has one `h1`; set `h2` when the page already renders its own. */\n headingLevel?: 'h1' | 'h2';\n labels?: HeroSectionLabels;\n}\n\nexport const HeroSection = React.forwardRef<HTMLElement, HeroSectionProps>(\n (\n {\n eyebrow,\n title,\n description,\n variant = 'centered',\n tone = 'default',\n primaryCta,\n secondaryCta,\n ctaNote,\n highlights,\n meta,\n logo,\n image,\n breadcrumbs,\n headingLevel = 'h1',\n labels,\n components,\n className,\n ...rest\n },\n ref\n ) => {\n const titleId = React.useId();\n const split = variant === 'split' && !!image;\n const align = split ? 'start' : 'center';\n return (\n <section\n ref={ref}\n data-slot=\"hero-section\"\n data-tone={tone}\n aria-labelledby={titleId}\n className={cn('py-16 sm:py-24 lg:py-28', toneClass(tone), className)}\n {...rest}\n >\n <div\n className={cn(\n containerClass(),\n split && 'grid items-center gap-12 lg:grid-cols-2'\n )}\n >\n <div className={cn(!split && 'flex flex-col items-center')}>\n {breadcrumbs && breadcrumbs.length > 0 && (\n <nav\n aria-label={labels?.breadcrumb ?? 'Breadcrumb'}\n className=\"mb-6\"\n >\n <ol\n className={cn(\n 'flex flex-wrap items-center gap-1 text-sm',\n mutedTextClass(tone),\n !split && 'justify-center'\n )}\n >\n {breadcrumbs.map((crumb, i) => {\n const last = i === breadcrumbs.length - 1;\n return (\n <li key={crumb.href} className=\"flex items-center gap-1\">\n {last ? (\n <span aria-current=\"page\">{crumb.label}</span>\n ) : (\n <>\n <TemplateAnchor\n href={crumb.href}\n trackingId={crumb.trackingId}\n components={components}\n className=\"hover:underline focus-visible:underline\"\n >\n {crumb.label}\n </TemplateAnchor>\n <ChevronRight\n aria-hidden=\"true\"\n className=\"size-4 rtl:-scale-x-100\"\n />\n </>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n )}\n {logo && (\n <TemplateImg\n {...logo}\n components={components}\n className=\"mb-6 h-12 w-auto\"\n />\n )}\n <SectionHeading\n as={headingLevel}\n size=\"hero\"\n eyebrow={eyebrow}\n title={title}\n description={description}\n align={align}\n tone={tone}\n titleId={titleId}\n />\n {meta && meta.length > 0 && (\n <p\n data-slot=\"hero-meta\"\n className={cn(\n 'mt-6 flex flex-wrap gap-x-2 gap-y-1 text-sm font-medium',\n mutedTextClass(tone),\n !split && 'justify-center'\n )}\n >\n {meta.map((item, i) => (\n <React.Fragment key={item}>\n {i > 0 && <span aria-hidden=\"true\">·</span>}\n <span>{item}</span>\n </React.Fragment>\n ))}\n </p>\n )}\n <CtaLinks\n primary={primaryCta}\n secondary={secondaryCta}\n tone={tone}\n align={align}\n components={components}\n className=\"mt-8\"\n />\n {ctaNote && (\n <p className={cn('mt-4 text-sm', mutedTextClass(tone))}>\n {ctaNote}\n </p>\n )}\n {highlights && highlights.length > 0 && (\n <ul\n className={cn(\n 'mt-8 flex flex-wrap gap-x-6 gap-y-2 text-sm font-medium',\n !split && 'justify-center'\n )}\n >\n {highlights.map((item) => (\n <li key={item} className=\"flex items-center gap-2\">\n <CircleCheck\n aria-hidden=\"true\"\n className={cn('size-4 shrink-0', accentTextClass(tone))}\n />\n {item}\n </li>\n ))}\n </ul>\n )}\n </div>\n {image && (\n <TemplateImg\n {...image}\n priority\n components={components}\n className={cn(\n 'h-auto w-full rounded-2xl object-cover shadow-xl',\n !split && 'mx-auto mt-12 max-w-5xl'\n )}\n />\n )}\n </div>\n </section>\n );\n }\n);\nHeroSection.displayName = 'HeroSection';\n","import * as React from 'react';\nimport { CircleCheck } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { buttonVariants } from '../Button/button-variants';\nimport { RequiredMark, inputVariants } from '../Input';\nimport {\n SectionHeading,\n accentTextClass,\n cardClass,\n containerClass,\n mutedTextClass,\n safeHref,\n toneClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\n\nexport interface LeadFormField {\n name: string;\n label: string;\n type?: 'text' | 'email' | 'tel' | 'textarea' | 'select';\n required?: boolean;\n autoComplete?: string;\n placeholder?: string;\n /** Choices for `type: 'select'`. */\n options?: string[];\n /** `half` pairs two fields on one row from the `sm` breakpoint. */\n width?: 'full' | 'half';\n}\n\nexport interface LeadFormSectionProps extends Omit<\n SectionBaseProps,\n 'align' | 'onSubmit'\n> {\n title: string;\n /**\n * A URL, or a React form action such as a Next.js Server Action. A URL is\n * page data: if its scheme is not http(s), mailto or tel the section\n * renders nothing, so an executable action never reaches the form.\n */\n action: string | ((formData: FormData) => void | Promise<void>);\n /** Only used with a URL `action`. */\n method?: 'post' | 'get';\n fields?: LeadFormField[];\n /** Posted with the form, e.g. `{ source: 'industry-construction' }`. */\n hiddenFields?: Record<string, string>;\n submitLabel?: string;\n /** Privacy or consent line under the button. */\n note?: string;\n /** Rendered as `data-track` on the submit button. */\n submitTrackingId?: string;\n /** `split` puts the heading beside the form; `stacked` centres it above. */\n layout?: 'split' | 'stacked';\n /** What the visitor gets, as a checked list under the heading — e.g. a gated report's contents. */\n highlights?: string[];\n}\n\nexport const defaultLeadFormFields: LeadFormField[] = [\n {\n name: 'firstName',\n label: 'First name',\n required: true,\n autoComplete: 'given-name',\n width: 'half',\n },\n {\n name: 'lastName',\n label: 'Last name',\n required: true,\n autoComplete: 'family-name',\n width: 'half',\n },\n {\n name: 'email',\n label: 'Work email',\n type: 'email',\n required: true,\n autoComplete: 'email',\n },\n {\n name: 'company',\n label: 'Company',\n required: true,\n autoComplete: 'organization',\n },\n];\n\nconst controlClass = cn(\n // Input's field styling (single source of truth for form controls); h-auto\n // and py-2.5 because this one class also sizes <textarea> and <select>.\n inputVariants({ size: 'md' }),\n 'block h-auto py-2.5'\n);\n\nexport const LeadFormSection = React.forwardRef<\n HTMLElement,\n LeadFormSectionProps\n>(\n (\n {\n eyebrow,\n title,\n description,\n action,\n method = 'post',\n fields = defaultLeadFormFields,\n hiddenFields,\n submitLabel = 'Submit',\n note,\n layout = 'split',\n highlights,\n tone = 'muted',\n submitTrackingId,\n components,\n className,\n ...rest\n },\n ref\n ) => {\n void components; // the form renders no links or images\n const baseId = React.useId();\n const titleId = `${baseId}-title`;\n const split = layout === 'split';\n // Same trust boundary as TemplateAnchor hrefs — and after the hooks, so\n // the hook count stays stable if `action` changes.\n const resolvedAction =\n typeof action === 'string' ? safeHref(action) : action;\n if (resolvedAction == null) return null;\n return (\n <section\n ref={ref}\n data-slot=\"lead-form-section\"\n data-tone={tone}\n aria-labelledby={titleId}\n className={cn('py-16 sm:py-24', toneClass(tone), className)}\n {...rest}\n >\n <div\n className={cn(\n containerClass(split ? 'wide' : 'narrow'),\n split && 'grid items-start gap-12 lg:grid-cols-2'\n )}\n >\n <div>\n <SectionHeading\n eyebrow={eyebrow}\n title={title}\n description={description}\n align={split ? 'start' : 'center'}\n tone={tone}\n titleId={titleId}\n />\n {highlights && highlights.length > 0 && (\n <ul\n className={cn(\n 'mt-6 space-y-2',\n !split && 'mx-auto w-fit',\n mutedTextClass(tone)\n )}\n >\n {highlights.map((item) => (\n <li key={item} className=\"flex items-start gap-2\">\n <CircleCheck\n aria-hidden=\"true\"\n className={cn(\n 'mt-0.5 size-4 shrink-0',\n accentTextClass(tone)\n )}\n />\n {item}\n </li>\n ))}\n </ul>\n )}\n </div>\n <form\n action={resolvedAction}\n method={typeof resolvedAction === 'string' ? method : undefined}\n aria-labelledby={titleId}\n className={cn(\n 'grid gap-5 rounded-2xl p-6 sm:grid-cols-2 sm:p-8',\n // The form card always uses the theme surface so inputs stay legible on a brand band.\n cardClass('default'),\n !split && 'mt-10'\n )}\n >\n {hiddenFields &&\n Object.entries(hiddenFields).map(([name, value]) => (\n <input key={name} type=\"hidden\" name={name} value={value} />\n ))}\n {fields.map((field) => {\n const id = `${baseId}-${field.name}`;\n const common = {\n id,\n name: field.name,\n required: field.required,\n autoComplete: field.autoComplete,\n className: controlClass,\n };\n return (\n <div\n key={field.name}\n className={cn(field.width !== 'half' && 'sm:col-span-2')}\n >\n <label\n htmlFor={id}\n className=\"mb-1.5 block text-sm font-medium\"\n >\n {field.label}\n {field.required && <RequiredMark />}\n </label>\n {field.type === 'textarea' ? (\n <textarea\n {...common}\n rows={4}\n placeholder={field.placeholder}\n />\n ) : field.type === 'select' ? (\n <select {...common} defaultValue=\"\">\n <option value=\"\" disabled>\n {field.placeholder ?? ''}\n </option>\n {field.options?.map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n ) : (\n <input\n {...common}\n type={field.type ?? 'text'}\n placeholder={field.placeholder}\n />\n )}\n </div>\n );\n })}\n <div className=\"sm:col-span-2\">\n <button\n type=\"submit\"\n data-track={submitTrackingId}\n className={cn(\n buttonVariants({\n variant: 'primary',\n size: 'lg',\n fullWidth: true,\n }),\n 'h-auto min-h-12 py-3 whitespace-normal'\n )}\n >\n {submitLabel}\n </button>\n {note && (\n <p className={cn('mt-3 text-xs', mutedTextClass('default'))}>\n {note}\n </p>\n )}\n </div>\n </form>\n </div>\n </section>\n );\n }\n);\nLeadFormSection.displayName = 'LeadFormSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n TemplateAnchor,\n mutedTextClass,\n} from '../../templates/Section';\nimport type {\n SectionBaseProps,\n TemplateComponents,\n} from '../../templates/types';\n\nexport interface LogoItem {\n name: string;\n /** Logo image; without it the name renders as a wordmark. */\n src?: string;\n href?: string;\n trackingId?: string;\n}\n\nexport interface LogoCloudSectionProps extends SectionBaseProps {\n logos: LogoItem[];\n /** `marquee` loops the row horizontally; it holds still under reduced motion. */\n variant?: 'grid' | 'marquee';\n speed?: 'slow' | 'normal' | 'fast';\n}\n\nconst duration = { slow: '60s', normal: '40s', fast: '25s' } as const;\n\nfunction Logo({\n logo,\n tone,\n hidden,\n components,\n}: {\n logo: LogoItem;\n tone: LogoCloudSectionProps['tone'];\n hidden?: boolean;\n components?: TemplateComponents;\n}) {\n // Plain <img>: logos have no intrinsic size to hand an image optimizer.\n const mark = logo.src ? (\n <img\n src={logo.src}\n alt={hidden ? '' : logo.name}\n loading=\"lazy\"\n decoding=\"async\"\n className={cn(\n 'h-8 w-auto max-w-[9rem] object-contain opacity-70 grayscale transition hover:opacity-100 hover:grayscale-0',\n // Logos are drawn white on dark surfaces so dark wordmarks stay visible.\n tone === 'brand'\n ? 'brightness-0 invert'\n : 'dark:brightness-0 dark:invert'\n )}\n />\n ) : (\n <span\n className={cn(\n 'text-lg font-semibold whitespace-nowrap',\n mutedTextClass(tone ?? 'default')\n )}\n >\n {logo.name}\n </span>\n );\n return logo.href ? (\n <TemplateAnchor\n href={logo.href}\n trackingId={logo.trackingId}\n components={components}\n tabIndex={hidden ? -1 : undefined}\n className=\"focus-visible:ring-ring inline-flex rounded focus-visible:ring-2 focus-visible:outline-none\"\n >\n {mark}\n </TemplateAnchor>\n ) : (\n mark\n );\n}\n\nexport const LogoCloudSection = React.forwardRef<\n HTMLElement,\n LogoCloudSectionProps\n>(\n (\n {\n logos,\n variant = 'grid',\n speed = 'normal',\n tone = 'default',\n align = 'center',\n components,\n ...rest\n },\n ref\n ) => (\n <SectionShell\n ref={ref}\n data-slot=\"logo-cloud-section\"\n tone={tone}\n align={align}\n spacing=\"compact\"\n {...rest}\n >\n {variant === 'marquee' ? (\n <div\n className=\"mie-marquee-host mt-8 overflow-hidden [mask-image:linear-gradient(90deg,transparent,black_10%,black_90%,transparent)]\"\n style={\n { '--mie-marquee-duration': duration[speed] } as React.CSSProperties\n }\n >\n <ul className=\"mie-marquee flex w-max items-center\">\n {logos.map((logo) => (\n <li key={logo.name} className=\"shrink-0 pe-12\">\n <Logo logo={logo} tone={tone} components={components} />\n </li>\n ))}\n {/* Second copy completes the loop; hidden from assistive tech. */}\n {logos.map((logo) => (\n <li\n key={`${logo.name}-copy`}\n data-duplicate=\"\"\n aria-hidden=\"true\"\n className=\"shrink-0 pe-12\"\n >\n <Logo logo={logo} tone={tone} components={components} hidden />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <ul className=\"mt-8 flex flex-wrap items-center justify-center gap-x-12 gap-y-8\">\n {logos.map((logo) => (\n <li key={logo.name}>\n <Logo logo={logo} tone={tone} components={components} />\n </li>\n ))}\n </ul>\n )}\n </SectionShell>\n )\n);\nLogoCloudSection.displayName = 'LogoCloudSection';\n","import * as React from 'react';\nimport { Check } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Badge } from '../Badge';\nimport {\n SectionShell,\n TemplateAnchor,\n accentTextClass,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport { buttonVariants } from '../Button/button-variants';\nimport type { SectionBaseProps, TemplateLink } from '../../templates/types';\n\nexport interface PricingPlan {\n name: string;\n /** Display price as written, e.g. \"$49\", \"Custom\" or \"Free\". */\n price: string;\n /** Billing unit after the price, e.g. \"per employee / month\". */\n period?: string;\n description?: string;\n features: string[];\n cta?: TemplateLink;\n /** Emphasise this plan and show `badge`. */\n highlighted?: boolean;\n badge?: string;\n}\n\nexport interface PricingSectionProps extends SectionBaseProps {\n plans: PricingPlan[];\n /** Small print under the plans (taxes, contract terms). */\n note?: string;\n}\n\nconst columnClass = [\n '',\n 'lg:grid-cols-1',\n 'lg:grid-cols-2',\n 'lg:grid-cols-3',\n 'lg:grid-cols-4',\n] as const;\n\nexport const PricingSection = React.forwardRef<\n HTMLElement,\n PricingSectionProps\n>(\n (\n { plans, note, tone = 'default', align = 'center', components, ...rest },\n ref\n ) => (\n <SectionShell\n ref={ref}\n data-slot=\"pricing-section\"\n tone={tone}\n align={align}\n {...rest}\n >\n <ul\n className={cn(\n 'mt-12 grid items-stretch gap-6 md:grid-cols-2',\n columnClass[Math.min(plans.length, 4)],\n plans.length === 1 && 'mx-auto max-w-md'\n )}\n >\n {plans.map((plan) => (\n <li\n key={plan.name}\n className={cn(\n 'relative flex flex-col rounded-2xl p-6 sm:p-8',\n cardClass(tone),\n plan.highlighted &&\n 'ring-primary-600 dark:ring-primary-400 ring-2'\n )}\n >\n {plan.highlighted && plan.badge && (\n <Badge className=\"bg-primary-800 dark:bg-primary-800 absolute start-6 -top-3 px-3 py-1 text-xs font-semibold text-white dark:text-white\">\n {plan.badge}\n </Badge>\n )}\n <h3 className={cn('text-lg font-semibold', headingTextClass(tone))}>\n {plan.name}\n </h3>\n {plan.description && (\n <p className={cn('mt-2 text-sm', mutedTextClass(tone))}>\n {plan.description}\n </p>\n )}\n <p className=\"mt-6 flex flex-wrap items-baseline gap-x-2\">\n <span\n className={cn(\n 'text-4xl font-bold tracking-tight',\n headingTextClass(tone)\n )}\n >\n {plan.price}\n </span>\n {plan.period && (\n <span className={cn('text-sm', mutedTextClass(tone))}>\n {plan.period}\n </span>\n )}\n </p>\n <ul className=\"mt-6 flex-1 space-y-3 text-sm\">\n {plan.features.map((feature) => (\n <li key={feature} className=\"flex gap-3\">\n <Check\n aria-hidden=\"true\"\n className={cn(\n 'mt-0.5 size-4 shrink-0',\n accentTextClass(tone)\n )}\n />\n {feature}\n </li>\n ))}\n </ul>\n {plan.cta && (\n <TemplateAnchor\n href={plan.cta.href}\n trackingId={plan.cta.trackingId}\n components={components}\n className={cn(\n buttonVariants({\n variant: plan.highlighted ? 'primary' : 'outline',\n size: 'lg',\n fullWidth: true,\n }),\n 'mt-8 h-auto min-h-12 py-3 whitespace-normal',\n tone === 'brand' &&\n (plan.highlighted\n ? 'text-primary-900 hover:bg-primary-50 bg-white'\n : 'border-white/70 text-white hover:bg-white/10 hover:text-white dark:border-white/70 dark:text-white')\n )}\n >\n {plan.cta.label}\n </TemplateAnchor>\n )}\n </li>\n ))}\n </ul>\n {note && (\n <p\n className={cn(\n 'mt-8 text-sm',\n mutedTextClass(tone),\n align === 'center' && 'text-center'\n )}\n >\n {note}\n </p>\n )}\n </SectionShell>\n )\n);\nPricingSection.displayName = 'PricingSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport { TemplateIcon, type TemplateIconRegistry } from '../../templates/icons';\nimport type { SectionBaseProps } from '../../templates/types';\n\nexport interface ProcessStep {\n title: string;\n description: string;\n /** Icon token shown in the step marker instead of its number. */\n icon?: string;\n}\n\nexport interface ProcessStepsSectionProps extends SectionBaseProps {\n steps: ProcessStep[];\n icons?: TemplateIconRegistry;\n}\n\nconst columnClass = [\n '',\n '',\n 'lg:grid-cols-2',\n 'lg:grid-cols-3',\n 'lg:grid-cols-4',\n] as const;\n\n// Runs from the first marker's centre to the last: half a column in from each edge.\nconst connectorInset = [\n '',\n '',\n 'inset-x-[25%]',\n 'inset-x-[16.667%]',\n 'inset-x-[12.5%]',\n] as const;\n\nexport const ProcessStepsSection = React.forwardRef<\n HTMLElement,\n ProcessStepsSectionProps\n>(({ steps, icons, tone = 'default', align = 'center', ...rest }, ref) => {\n const columns = Math.min(steps.length, 4);\n return (\n <SectionShell\n ref={ref}\n data-slot=\"process-steps-section\"\n tone={tone}\n align={align}\n {...rest}\n >\n <div className=\"relative mt-12\">\n {steps.length > 1 && steps.length <= 4 && (\n <div\n aria-hidden=\"true\"\n className={cn(\n 'absolute top-6 hidden h-px lg:block',\n connectorInset[columns],\n tone === 'brand' ? 'bg-white/25' : 'bg-border'\n )}\n />\n )}\n <ol className={cn('relative grid gap-10', columnClass[columns])}>\n {steps.map((step, i) => (\n <li\n key={step.title}\n className=\"flex flex-col items-center text-center\"\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n 'flex size-12 items-center justify-center rounded-full text-lg font-bold',\n tone === 'brand'\n ? 'text-primary-900 bg-white'\n : 'bg-primary-800 text-white'\n )}\n >\n {step.icon ? (\n <TemplateIcon name={step.icon} icons={icons} />\n ) : (\n i + 1\n )}\n </span>\n <h3\n className={cn(\n 'mt-5 text-lg font-semibold',\n headingTextClass(tone)\n )}\n >\n {step.title}\n </h3>\n <p className={cn('mt-2 max-w-xs', mutedTextClass(tone))}>\n {step.description}\n </p>\n </li>\n ))}\n </ol>\n </div>\n </SectionShell>\n );\n});\nProcessStepsSection.displayName = 'ProcessStepsSection';\n","import * as React from 'react';\nimport { ArrowRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n TemplateAnchor,\n TemplateImg,\n accentTextClass,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type {\n SectionBaseProps,\n TemplateImage,\n TemplateLink,\n} from '../../templates/types';\n\nexport interface ResourceItem {\n title: string;\n href: string;\n excerpt?: string;\n image?: TemplateImage;\n /** Content type label, e.g. \"Guide\" or \"Case study\". */\n kind?: string;\n /** Free-text detail line the caller formats, e.g. \"8 min read\". */\n meta?: string;\n trackingId?: string;\n}\n\nexport interface ResourceCardsSectionProps extends SectionBaseProps {\n items: ResourceItem[];\n columns?: 2 | 3 | 4;\n /** Link to the full index, shown under the cards. */\n viewAll?: TemplateLink;\n}\n\nconst columnClass = {\n 2: 'lg:grid-cols-2',\n 3: 'lg:grid-cols-3',\n 4: 'lg:grid-cols-4',\n} as const;\n\nexport const ResourceCardsSection = React.forwardRef<\n HTMLElement,\n ResourceCardsSectionProps\n>(\n (\n {\n items,\n columns = 3,\n viewAll,\n tone = 'default',\n align = 'start',\n components,\n ...rest\n },\n ref\n ) => (\n <SectionShell\n ref={ref}\n data-slot=\"resource-cards-section\"\n tone={tone}\n align={align}\n {...rest}\n >\n <ul\n className={cn('mt-12 grid gap-6 sm:grid-cols-2', columnClass[columns])}\n >\n {items.map((item) => (\n <li\n key={item.href}\n className={cn(\n 'group relative flex flex-col overflow-hidden rounded-2xl',\n 'focus-within:ring-ring focus-within:ring-2',\n cardClass(tone)\n )}\n >\n {item.image && (\n <TemplateImg\n {...item.image}\n components={components}\n className=\"aspect-video w-full object-cover\"\n />\n )}\n <div className=\"flex flex-1 flex-col gap-2 p-6\">\n {item.kind && (\n <p\n className={cn(\n 'text-xs font-semibold tracking-wider uppercase',\n accentTextClass(tone)\n )}\n >\n {item.kind}\n </p>\n )}\n <h3\n className={cn('text-lg font-semibold', headingTextClass(tone))}\n >\n {/* The ::after stretches the link over the whole card. */}\n <TemplateAnchor\n href={item.href}\n trackingId={item.trackingId}\n components={components}\n className=\"group-hover:underline after:absolute after:inset-0 focus-visible:outline-none\"\n >\n {item.title}\n </TemplateAnchor>\n </h3>\n {item.excerpt && (\n <p className={cn('line-clamp-3', mutedTextClass(tone))}>\n {item.excerpt}\n </p>\n )}\n {item.meta && (\n <p className={cn('mt-auto pt-2 text-sm', mutedTextClass(tone))}>\n {item.meta}\n </p>\n )}\n </div>\n </li>\n ))}\n </ul>\n {viewAll && (\n <p className={cn('mt-10', align === 'center' && 'text-center')}>\n <TemplateAnchor\n href={viewAll.href}\n trackingId={viewAll.trackingId}\n components={components}\n className={cn(\n 'inline-flex items-center gap-1 font-semibold hover:underline',\n accentTextClass(tone)\n )}\n >\n {viewAll.label}\n <ArrowRight\n aria-hidden=\"true\"\n className=\"size-4 rtl:-scale-x-100\"\n />\n </TemplateAnchor>\n </p>\n )}\n </SectionShell>\n )\n);\nResourceCardsSection.displayName = 'ResourceCardsSection';\n","import * as React from 'react';\nimport { CircleCheck } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n CtaLinks,\n SectionHeading,\n TemplateImg,\n accentTextClass,\n containerClass,\n mutedTextClass,\n toneClass,\n} from '../../templates/Section';\nimport type {\n SectionBaseProps,\n TemplateImage,\n TemplateLink,\n} from '../../templates/types';\n\nexport interface SplitContentSectionProps extends Omit<\n SectionBaseProps,\n 'align'\n> {\n title: string;\n image: TemplateImage;\n /** Caption under the image. */\n caption?: string;\n /** Proof points rendered as a checked list under the description. */\n bullets?: string[];\n primaryCta?: TemplateLink;\n secondaryCta?: TemplateLink;\n /** Which side the image sits on at desktop widths (follows reading direction). */\n mediaPosition?: 'start' | 'end';\n}\n\nexport const SplitContentSection = React.forwardRef<\n HTMLElement,\n SplitContentSectionProps\n>(\n (\n {\n eyebrow,\n title,\n description,\n image,\n caption,\n bullets,\n primaryCta,\n secondaryCta,\n mediaPosition = 'end',\n tone = 'default',\n components,\n className,\n ...rest\n },\n ref\n ) => {\n const titleId = React.useId();\n return (\n <section\n ref={ref}\n data-slot=\"split-content-section\"\n data-tone={tone}\n aria-labelledby={titleId}\n className={cn('py-16 sm:py-24', toneClass(tone), className)}\n {...rest}\n >\n <div\n className={cn(\n containerClass(),\n 'grid items-center gap-12 lg:grid-cols-2'\n )}\n >\n <div>\n <SectionHeading\n eyebrow={eyebrow}\n title={title}\n description={description}\n tone={tone}\n titleId={titleId}\n />\n {bullets && bullets.length > 0 && (\n <ul className=\"mt-6 space-y-3\">\n {bullets.map((item) => (\n <li key={item} className=\"flex gap-3\">\n <CircleCheck\n aria-hidden=\"true\"\n className={cn(\n 'mt-0.5 size-5 shrink-0',\n accentTextClass(tone)\n )}\n />\n <span className={mutedTextClass(tone)}>{item}</span>\n </li>\n ))}\n </ul>\n )}\n <CtaLinks\n primary={primaryCta}\n secondary={secondaryCta}\n tone={tone}\n components={components}\n className=\"mt-8\"\n />\n </div>\n <figure className={cn(mediaPosition === 'start' && 'lg:order-first')}>\n <TemplateImg\n {...image}\n components={components}\n className=\"h-auto w-full rounded-2xl object-cover shadow-lg\"\n />\n {caption && (\n <figcaption className={cn('mt-3 text-sm', mutedTextClass(tone))}>\n {caption}\n </figcaption>\n )}\n </figure>\n </div>\n </section>\n );\n }\n);\nSplitContentSection.displayName = 'SplitContentSection';\n","import * as React from 'react';\nimport { TrendingDown, TrendingUp } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n cardClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\nimport type {\n MetricStatus,\n MetricStatusLabels,\n} from '../MetricStatusBadge/MetricStatusBadge';\n\nexport interface StatItem {\n /** Numbers are locale-formatted; strings render as written. */\n value: number | string;\n prefix?: string;\n suffix?: string;\n label: string;\n description?: string;\n /** Decorative arrow. Say the direction in `label` too — the arrow is hidden from screen readers. */\n trend?: 'up' | 'down';\n}\n\nexport interface StatsSectionProps extends SectionBaseProps {\n stats: StatItem[];\n /** `ruled` sets an accent rule beside each figure — a report's key-findings band. */\n variant?: 'plain' | 'cards' | 'ruled';\n /** BCP 47 locale for number formatting. */\n locale?: string;\n /** Provenance badge under the heading. */\n status?: MetricStatus;\n /** Translated text for the `status` badge. */\n statusLabels?: MetricStatusLabels;\n}\n\nconst columnClass = [\n '',\n '',\n 'lg:grid-cols-2',\n 'lg:grid-cols-3',\n 'lg:grid-cols-4',\n] as const;\n\nexport const StatsSection = React.forwardRef<HTMLElement, StatsSectionProps>(\n (\n {\n stats,\n variant = 'plain',\n locale,\n tone = 'default',\n align = 'center',\n ...rest\n },\n ref\n ) => {\n const format = new Intl.NumberFormat(locale);\n return (\n <SectionShell\n ref={ref}\n data-slot=\"stats-section\"\n tone={tone}\n align={align}\n {...rest}\n >\n <dl\n className={cn(\n 'mt-12 grid gap-6 sm:grid-cols-2',\n columnClass[Math.min(stats.length, 4)]\n )}\n >\n {stats.map((stat) => {\n const Trend = stat.trend === 'down' ? TrendingDown : TrendingUp;\n const ruled = variant === 'ruled';\n const shown =\n typeof stat.value === 'number'\n ? format.format(stat.value)\n : stat.value;\n const long =\n `${stat.prefix ?? ''}${shown}${stat.suffix ?? ''}`.length > 6;\n return (\n <div\n key={stat.label}\n className={cn(\n 'flex flex-col-reverse gap-2',\n align === 'center' && !ruled && 'items-center text-center',\n variant === 'cards' && cn('rounded-2xl p-6', cardClass(tone)),\n ruled && 'border-accent/70 border-s-2 ps-5'\n )}\n >\n <dt>\n <span className=\"font-semibold\">{stat.label}</span>\n {stat.description && (\n <span\n className={cn('mt-1 block text-sm', mutedTextClass(tone))}\n >\n {stat.description}\n </span>\n )}\n </dt>\n <dd\n className={cn(\n 'flex items-center gap-2 font-bold tracking-tight tabular-nums',\n ruled && long\n ? 'text-2xl sm:text-3xl'\n : 'text-4xl sm:text-5xl',\n tone === 'brand'\n ? 'text-white'\n : 'text-primary-800 dark:text-primary-300'\n )}\n >\n {stat.trend && (\n <Trend aria-hidden=\"true\" className=\"size-7 shrink-0\" />\n )}\n {stat.prefix}\n {shown}\n {stat.suffix}\n </dd>\n </div>\n );\n })}\n </dl>\n </SectionShell>\n );\n }\n);\nStatsSection.displayName = 'StatsSection';\n","import * as React from 'react';\nimport { Star } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n TemplateImg,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\n\nexport interface TestimonialItem {\n quote: string;\n author: string;\n role?: string;\n company?: string;\n /** Headshot URL; decorative, since the author is named beside it. */\n avatar?: string;\n /** Whole stars out of five. */\n rating?: 1 | 2 | 3 | 4 | 5;\n}\n\nexport interface TestimonialSectionLabels {\n /** Screen-reader rating text; `{rating}` is replaced with the number. */\n rating?: string;\n}\n\nexport interface TestimonialSectionProps extends SectionBaseProps {\n testimonials: TestimonialItem[];\n /** `featured` gives the first testimonial the whole section; `cards` lays them out in a grid. */\n variant?: 'cards' | 'featured';\n labels?: TestimonialSectionLabels;\n}\n\nexport const TestimonialSection = React.forwardRef<\n HTMLElement,\n TestimonialSectionProps\n>(\n (\n {\n testimonials,\n variant = 'cards',\n labels,\n tone = 'default',\n align = 'center',\n components,\n ...rest\n },\n ref\n ) => {\n const featured = variant === 'featured';\n const items = featured ? testimonials.slice(0, 1) : testimonials;\n return (\n <SectionShell\n ref={ref}\n data-slot=\"testimonial-section\"\n tone={tone}\n align={align}\n width={featured ? 'narrow' : 'wide'}\n {...rest}\n >\n <ul\n className={cn(\n 'mt-12 grid gap-6',\n !featured && 'md:grid-cols-2 lg:grid-cols-3'\n )}\n >\n {items.map(({ rating, ...t }) => (\n <li key={`${t.author}-${t.quote.slice(0, 24)}`}>\n <figure\n className={cn(\n 'flex h-full flex-col gap-6',\n featured\n ? 'items-center text-center'\n : cn('rounded-2xl p-6', cardClass(tone))\n )}\n >\n {rating && (\n <p className=\"text-warning flex gap-0.5\">\n {Array.from({ length: 5 }, (_, i) => (\n <Star\n key={i}\n aria-hidden=\"true\"\n className={cn(\n 'size-4',\n i < rating ? 'fill-current' : 'opacity-30'\n )}\n />\n ))}\n <span className=\"sr-only\">\n {(labels?.rating ?? 'Rated {rating} out of 5').replace(\n '{rating}',\n String(rating)\n )}\n </span>\n </p>\n )}\n <blockquote\n className={cn(\n 'text-pretty',\n featured\n ? cn(\n 'text-2xl font-medium sm:text-3xl',\n headingTextClass(tone)\n )\n : 'text-base'\n )}\n >\n <p>{t.quote}</p>\n </blockquote>\n <figcaption className=\"mt-auto flex items-center gap-3\">\n {t.avatar && (\n <TemplateImg\n src={t.avatar}\n alt=\"\"\n width={44}\n height={44}\n components={components}\n className=\"size-11 rounded-full object-cover\"\n />\n )}\n <span className={cn(!featured && 'text-start')}>\n <span className=\"block font-semibold\">{t.author}</span>\n {(t.role || t.company) && (\n <span\n className={cn('block text-sm', mutedTextClass(tone))}\n >\n {[t.role, t.company].filter(Boolean).join(', ')}\n </span>\n )}\n </span>\n </figcaption>\n </figure>\n </li>\n ))}\n </ul>\n </SectionShell>\n );\n }\n);\nTestimonialSection.displayName = 'TestimonialSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport { SectionShell, mutedTextClass } from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\n\ninterface VideoBase {\n /** Accessible name of the player, e.g. \"Product tour (3 min)\". */\n title: string;\n}\n\nexport type VideoSource =\n | (VideoBase & {\n /** Embeds `youtube-nocookie.com`, which sets no cookies until playback. Captions come from YouTube. */\n youtubeId: string;\n })\n | (VideoBase & {\n /** A self-hosted file, played with the native `<video>` element. */\n src: string;\n /** Still frame shown before playback. */\n poster?: string;\n /** WebVTT captions — required, because prerecorded speech needs captions (WCAG 1.2.2). */\n captions: { src: string; srcLang: string; label: string };\n });\n\nexport interface VideoSectionProps extends SectionBaseProps {\n video: VideoSource;\n /** Caption under the player. */\n caption?: string;\n}\n\nexport const VideoSection = React.forwardRef<HTMLElement, VideoSectionProps>(\n ({ video, caption, tone = 'default', align = 'center', ...rest }, ref) => (\n <SectionShell\n ref={ref}\n data-slot=\"video-section\"\n tone={tone}\n align={align}\n {...rest}\n >\n <figure className=\"mx-auto mt-12 max-w-5xl\">\n <div className=\"aspect-video overflow-hidden rounded-2xl bg-neutral-900 shadow-xl\">\n {'youtubeId' in video ? (\n <iframe\n src={`https://www.youtube-nocookie.com/embed/${encodeURIComponent(video.youtubeId)}`}\n title={video.title}\n loading=\"lazy\"\n allow=\"accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n allowFullScreen\n referrerPolicy=\"strict-origin-when-cross-origin\"\n className=\"size-full border-0\"\n />\n ) : (\n <video\n src={video.src}\n poster={video.poster}\n title={video.title}\n aria-label={video.title}\n controls\n preload=\"none\"\n className=\"size-full object-cover\"\n >\n <track\n kind=\"captions\"\n src={video.captions.src}\n srcLang={video.captions.srcLang}\n label={video.captions.label}\n default\n />\n </video>\n )}\n </div>\n {caption && (\n <figcaption\n className={cn(\n 'mt-3 text-sm',\n mutedTextClass(tone),\n align === 'center' && 'text-center'\n )}\n >\n {caption}\n </figcaption>\n )}\n </figure>\n </SectionShell>\n )\n);\nVideoSection.displayName = 'VideoSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n TemplateAnchor,\n accentTextClass,\n cardClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\nimport type {\n MetricStatus,\n MetricStatusLabels,\n} from '../MetricStatusBadge/MetricStatusBadge';\n\nexport type BenchmarkValue = number | string | null;\n\nexport interface BenchmarkColumn {\n /** Key into each row's `values`. */\n key: string;\n label: string;\n /** Number formatting, e.g. `{ style: 'currency', currency: 'USD', maximumFractionDigits: 0 }`. */\n format?: Intl.NumberFormatOptions;\n /** Draw a bar scaled to the column's largest value beside the number. */\n bar?: boolean;\n /** Tint the column \\u2014 the figure readers should compare first. */\n emphasis?: boolean;\n}\n\nexport interface BenchmarkRow {\n label: string;\n /** Second line under the label, e.g. a category. */\n sublabel?: string;\n href?: string;\n /** Numbers are formatted by the column; strings render as written; `null` shows a dash. */\n values: Record<string, BenchmarkValue>;\n}\n\nexport interface BenchmarkTableSectionProps extends Omit<\n SectionBaseProps,\n 'align'\n> {\n columns: BenchmarkColumn[];\n rows: BenchmarkRow[];\n /** Header of the row-label column. */\n rowHeader: string;\n /** Visually hidden table caption; defaults to `title`. */\n caption?: string;\n /** Method note under the table. */\n footnote?: string;\n status?: MetricStatus;\n /** Translated text for the `status` badge. */\n statusLabels?: MetricStatusLabels;\n /** BCP 47 locale for number formatting. */\n locale?: string;\n}\n\n/**\n * A benchmark table: labelled rows, formatted numeric columns, optional inline\n * bars, and a sticky label column so wide tables scroll sideways on phones.\n */\nexport const BenchmarkTableSection = React.forwardRef<\n HTMLElement,\n BenchmarkTableSectionProps\n>(\n (\n {\n columns,\n rows,\n rowHeader,\n caption,\n footnote,\n locale,\n tone = 'default',\n components,\n title,\n ...rest\n },\n ref\n ) => {\n const formatters = columns.map(\n (col) => new Intl.NumberFormat(locale, col.format)\n );\n const maxima = columns.map((col) =>\n col.bar\n ? Math.max(\n 1,\n ...rows.map((r) => {\n const v = r.values[col.key];\n return typeof v === 'number' ? v : 0;\n })\n )\n : 1\n );\n const cellBase = 'px-4 py-3 tabular-nums';\n const stickyBg = tone === 'brand' ? 'bg-primary-900' : 'bg-card';\n return (\n <SectionShell\n ref={ref}\n data-slot=\"benchmark-table-section\"\n tone={tone}\n title={title}\n components={components}\n {...rest}\n >\n <div\n className={cn('mt-10 overflow-x-auto rounded-2xl', cardClass(tone))}\n >\n <table className=\"divide-border min-w-full divide-y text-sm\">\n {(caption ?? title) && (\n <caption className=\"sr-only\">{caption ?? title}</caption>\n )}\n <thead>\n <tr>\n <th\n scope=\"col\"\n className={cn(\n 'sticky start-0 z-10 px-4 py-3 text-start font-semibold',\n stickyBg\n )}\n >\n {rowHeader}\n </th>\n {columns.map((col) => (\n <th\n key={col.key}\n scope=\"col\"\n className={cn(\n 'px-4 py-3 font-semibold whitespace-nowrap',\n col.bar ? 'text-start' : 'text-end',\n col.emphasis && 'bg-primary-500/10'\n )}\n >\n {col.label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"divide-border divide-y\">\n {rows.map((row) => (\n <tr key={row.label}>\n <th\n scope=\"row\"\n className={cn(\n 'sticky start-0 z-10 px-4 py-3 text-start font-medium',\n stickyBg\n )}\n >\n {row.href ? (\n <TemplateAnchor\n href={row.href}\n components={components}\n className={cn(\n 'underline-offset-2 hover:underline',\n accentTextClass(tone)\n )}\n >\n {row.label}\n </TemplateAnchor>\n ) : (\n row.label\n )}\n {row.sublabel && (\n <span\n className={cn(\n 'block text-xs font-normal',\n mutedTextClass(tone)\n )}\n >\n {row.sublabel}\n </span>\n )}\n </th>\n {columns.map((col, c) => {\n const v = row.values[col.key];\n const shown =\n v == null\n ? '\\u2014'\n : typeof v === 'number'\n ? formatters[c].format(v)\n : v;\n return (\n <td\n key={col.key}\n className={cn(\n cellBase,\n col.bar ? 'text-start' : 'text-end whitespace-nowrap',\n col.emphasis &&\n cn(\n 'bg-primary-500/10 font-semibold',\n accentTextClass(tone)\n )\n )}\n >\n {col.bar && typeof v === 'number' ? (\n <span className=\"flex items-center gap-3\">\n <span\n aria-hidden=\"true\"\n className=\"bg-muted h-2 w-32 max-w-full flex-none overflow-hidden rounded-full\"\n >\n <span\n className=\"bg-primary-600 block h-full rounded-full\"\n style={{\n width: `${Math.round((v / maxima[c]) * 100)}%`,\n }}\n />\n </span>\n {shown}\n </span>\n ) : (\n shown\n )}\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n {footnote && (\n <p className={cn('mt-4 max-w-3xl text-sm', mutedTextClass(tone))}>\n {footnote}\n </p>\n )}\n </SectionShell>\n );\n }\n);\nBenchmarkTableSection.displayName = 'BenchmarkTableSection';\n","import * as React from 'react';\nimport { ArrowRight } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n TemplateAnchor,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps, TemplateLink } from '../../templates/types';\n\nexport interface LinkGroup {\n title: string;\n description?: string;\n links: TemplateLink[];\n}\n\nexport interface LinkGroupsSectionProps extends SectionBaseProps {\n groups: LinkGroup[];\n columns?: 2 | 3;\n}\n\n/** Grouped lists of internal links — \"explore the pages behind these numbers\". */\nexport const LinkGroupsSection = React.forwardRef<\n HTMLElement,\n LinkGroupsSectionProps\n>(({ groups, columns = 3, tone = 'muted', components, ...rest }, ref) => (\n <SectionShell\n ref={ref}\n data-slot=\"link-groups-section\"\n tone={tone}\n components={components}\n {...rest}\n >\n <div\n className={cn(\n 'mt-10 grid gap-6',\n columns === 3 ? 'lg:grid-cols-3' : 'md:grid-cols-2'\n )}\n >\n {groups.map((group) => (\n <div\n key={group.title}\n className={cn('rounded-2xl p-6', cardClass(tone))}\n >\n <h3 className={cn('text-lg font-semibold', headingTextClass(tone))}>\n {group.title}\n </h3>\n {group.description && (\n <p className={cn('mt-1 text-sm', mutedTextClass(tone))}>\n {group.description}\n </p>\n )}\n <ul className=\"mt-4 space-y-1\">\n {group.links.map((link) => (\n <li key={link.href}>\n <TemplateAnchor\n href={link.href}\n trackingId={link.trackingId}\n components={components}\n className={cn(\n 'group flex items-center justify-between gap-2 rounded-lg px-3 py-2 text-sm font-medium transition-colors',\n tone === 'brand'\n ? 'hover:bg-white/10'\n : 'hover:bg-primary-500/10 hover:text-primary-800 dark:hover:text-primary-300'\n )}\n >\n <span>{link.label}</span>\n <ArrowRight\n aria-hidden=\"true\"\n className=\"size-4 flex-none opacity-50 group-hover:opacity-100 rtl:-scale-x-100\"\n />\n </TemplateAnchor>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </SectionShell>\n));\nLinkGroupsSection.displayName = 'LinkGroupsSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\nimport type { MetricStatusLabels } from '../MetricStatusBadge/MetricStatusBadge';\n\nexport interface MetricDefinition {\n label: string;\n /** Unit chip, e.g. `hours` or `%`. */\n unit?: string;\n /** How the figure is (or will be) measured. */\n description: string;\n /** Leave unset until the figure is measured; the section then reads as a roadmap preview. */\n value?: string;\n}\n\nexport interface MetricListSectionLabels {\n preview?: string;\n}\n\nexport interface MetricListSectionProps extends Omit<\n SectionBaseProps,\n 'align'\n> {\n metrics: MetricDefinition[];\n /** Plain-language headline for the result. */\n takeaway?: string;\n /** Mark measured values as good news with a success rule. */\n positive?: boolean;\n /** Translated text for the derived live / maturing badge. */\n statusLabels?: MetricStatusLabels;\n labels?: MetricListSectionLabels;\n}\n\n/**\n * Metric definitions with or without values. Publishing the definitions before\n * the data lands is honest about what isn't measured yet; values drop in later\n * with no layout change, and the badge flips from \"maturing\" to \"live\".\n */\nexport const MetricListSection = React.forwardRef<\n HTMLElement,\n MetricListSectionProps\n>(\n (\n {\n metrics,\n takeaway,\n positive,\n labels,\n tone = 'default',\n components,\n ...rest\n },\n ref\n ) => {\n const measured = metrics.some((m) => m.value);\n return (\n <SectionShell\n ref={ref}\n data-slot=\"metric-list-section\"\n data-measured={measured || undefined}\n tone={tone}\n spacing=\"compact\"\n status={measured ? 'live' : 'maturing'}\n components={components}\n {...rest}\n >\n {!measured && (\n <p className={cn('mt-3 text-xs font-medium', mutedTextClass(tone))}>\n {labels?.preview ?? 'Roadmap preview'}\n </p>\n )}\n {takeaway && (\n <p\n className={cn(\n 'mt-6 max-w-3xl rounded-xl border p-4 text-sm leading-relaxed font-medium',\n tone === 'brand'\n ? 'border-white/20 bg-white/5'\n : 'border-success/30 bg-success/10 text-foreground'\n )}\n >\n {takeaway}\n </p>\n )}\n <ul\n className={cn(\n 'mt-8 grid gap-4 sm:grid-cols-2 lg:grid-cols-3',\n !measured && 'border-border rounded-3xl border border-dashed p-4'\n )}\n >\n {metrics.map((metric) => (\n <li\n key={metric.label}\n className={cn(\n 'rounded-xl p-5',\n cardClass(tone),\n positive && metric.value && 'border-s-success border-s-4'\n )}\n >\n <div className=\"flex items-start justify-between gap-3\">\n <h3\n className={cn(\n 'min-w-0 text-sm font-semibold',\n headingTextClass(tone)\n )}\n >\n {metric.label}\n </h3>\n {metric.unit && (\n <span className=\"bg-primary-500/10 flex-none rounded-full px-2 py-0.5 text-xs font-medium\">\n {metric.unit}\n </span>\n )}\n </div>\n {metric.value && (\n <p\n className={cn(\n 'mt-3 text-3xl font-bold tracking-tight tabular-nums',\n headingTextClass(tone)\n )}\n >\n {metric.value}\n </p>\n )}\n <p\n className={cn(\n 'mt-2 text-sm leading-relaxed',\n mutedTextClass(tone)\n )}\n >\n {metric.description}\n </p>\n </li>\n ))}\n </ul>\n </SectionShell>\n );\n }\n);\nMetricListSection.displayName = 'MetricListSection';\n","import * as React from 'react';\nimport { Download, ExternalLink, Info } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { buttonVariants } from '../Button/button-variants';\nimport {\n SectionShell,\n mutedTextClass,\n safeHref,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\n\nexport interface PdfEmbedSectionLabels {\n download?: string;\n open?: string;\n /** Shown where the browser can't display PDFs inline. */\n fallback?: string;\n}\n\nexport interface PdfEmbedSectionProps extends SectionBaseProps {\n title: string;\n /** Root-relative or absolute URL of the PDF. */\n src: string;\n /** Suggested filename for the download link. */\n downloadAs?: string;\n /** Viewer height ÷ width. US Letter portrait is ~1.29; 16:9 slides are 0.5625. */\n aspectRatio?: number;\n /** Callout above the viewer, e.g. \"embedded videos only play in Acrobat\". */\n notice?: string;\n labels?: PdfEmbedSectionLabels;\n}\n\n/**\n * An inline PDF viewer with download and open-in-new-tab links. Uses\n * `<object>`, whose fallback content (a link) shows where inline PDF isn't\n * supported, so it needs no client JavaScript.\n */\nexport const PdfEmbedSection = React.forwardRef<\n HTMLElement,\n PdfEmbedSectionProps\n>(\n (\n {\n title,\n src,\n downloadAs,\n aspectRatio = 0.5625,\n notice,\n labels,\n tone = 'muted',\n align = 'center',\n components,\n ...rest\n },\n ref\n ) => {\n // `src` is page data; an executable scheme inerts the viewer and links.\n const pdfSrc = safeHref(src);\n const viewerSrc =\n pdfSrc && (pdfSrc.includes('#') ? pdfSrc : `${pdfSrc}#view=FitH`);\n const onBrand = tone === 'brand';\n return (\n <SectionShell\n ref={ref}\n data-slot=\"pdf-embed-section\"\n title={title}\n tone={tone}\n align={align}\n components={components}\n {...rest}\n >\n {notice && (\n <p className=\"border-primary-500/30 bg-primary-500/10 mx-auto mt-8 flex max-w-3xl items-start gap-3 rounded-xl border px-4 py-3 text-start text-sm\">\n <Info aria-hidden=\"true\" className=\"mt-0.5 size-5 flex-none\" />\n {notice}\n </p>\n )}\n {pdfSrc && (\n <>\n <div\n className=\"border-border bg-card relative mt-10 overflow-hidden rounded-2xl border shadow-lg\"\n style={{ paddingTop: `${(aspectRatio * 100).toFixed(4)}%` }}\n >\n <object\n data={viewerSrc}\n type=\"application/pdf\"\n aria-label={title}\n className=\"absolute inset-0 size-full\"\n >\n <p\n className={cn(\n 'flex size-full items-center justify-center p-6 text-center text-sm',\n mutedTextClass('default')\n )}\n >\n <a href={pdfSrc} className=\"underline underline-offset-2\">\n {labels?.fallback ?? 'Open the PDF'}\n </a>\n </p>\n </object>\n </div>\n <div\n className={cn(\n 'mt-6 flex flex-wrap gap-3',\n align === 'center' && 'justify-center'\n )}\n >\n <a\n href={pdfSrc}\n download={downloadAs ?? true}\n className={cn(\n buttonVariants({ variant: 'primary' }),\n onBrand && 'text-primary-900 hover:bg-primary-50 bg-white'\n )}\n >\n <Download aria-hidden=\"true\" className=\"size-4\" />\n {labels?.download ?? 'Download PDF'}\n </a>\n <a\n href={pdfSrc}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n buttonVariants({ variant: 'outline' }),\n onBrand && 'border-white/70 text-white hover:bg-white/10'\n )}\n >\n <ExternalLink aria-hidden=\"true\" className=\"size-4\" />\n {labels?.open ?? 'Open in new tab'}\n </a>\n </div>\n </>\n )}\n </SectionShell>\n );\n }\n);\nPdfEmbedSection.displayName = 'PdfEmbedSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n TemplateAnchor,\n accentTextClass,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\nimport type {\n MetricStatus,\n MetricStatusLabels,\n} from '../MetricStatusBadge/MetricStatusBadge';\n\nexport interface RankedItem {\n label: string;\n /** Sets the bar length, relative to the list's largest value. */\n value: number;\n /** Text shown for the value; defaults to the locale-formatted number. */\n display?: string;\n href?: string;\n /** Small context to the side, e.g. `12 industries`. */\n note?: string;\n}\n\nexport interface RankedList {\n title?: string;\n items: RankedItem[];\n}\n\nexport interface RankedListSectionProps extends Omit<\n SectionBaseProps,\n 'align'\n> {\n /** One list, or several side by side (e.g. best- and worst-served). */\n lists: RankedList[];\n /** Prefix each item with its rank. */\n numbered?: boolean;\n /** `stacked` gives each item a card with the bar underneath; `inline` puts label, bar and value on one row. */\n layout?: 'stacked' | 'inline';\n bar?: 'primary' | 'accent' | 'success';\n status?: MetricStatus;\n /** Translated text for the `status` badge. */\n statusLabels?: MetricStatusLabels;\n /** BCP 47 locale for number formatting. */\n locale?: string;\n}\n\nconst barClass = {\n primary: 'bg-primary-600',\n accent: 'bg-accent',\n success: 'bg-success',\n} as const;\n\n/** Ranked horizontal bars \\u2014 top services, most-searched terms, best- and worst-served regions. */\nexport const RankedListSection = React.forwardRef<\n HTMLElement,\n RankedListSectionProps\n>(\n (\n {\n lists,\n numbered,\n layout = 'stacked',\n bar = 'primary',\n locale,\n tone = 'default',\n components,\n ...rest\n },\n ref\n ) => {\n const format = new Intl.NumberFormat(locale);\n return (\n <SectionShell\n ref={ref}\n data-slot=\"ranked-list-section\"\n tone={tone}\n components={components}\n {...rest}\n >\n <div\n className={cn(\n 'mt-10 grid gap-6',\n lists.length > 1 && 'lg:grid-cols-2'\n )}\n >\n {lists.map((list, l) => {\n const max = Math.max(1, ...list.items.map((i) => i.value));\n return (\n <div\n key={list.title ?? l}\n className={cn(\n layout === 'inline' && cn('rounded-2xl p-6', cardClass(tone))\n )}\n >\n {list.title && (\n <h3\n className={cn(\n 'mb-4 text-lg font-semibold',\n headingTextClass(tone)\n )}\n >\n {list.title}\n </h3>\n )}\n <ol className=\"space-y-3\">\n {list.items.map((item, i) => {\n const label = item.href ? (\n <TemplateAnchor\n href={item.href}\n components={components}\n className={cn(\n 'font-medium underline-offset-2 hover:underline',\n accentTextClass(tone)\n )}\n >\n {item.label}\n </TemplateAnchor>\n ) : (\n <span\n className={cn('font-medium', headingTextClass(tone))}\n >\n {item.label}\n </span>\n );\n const track = (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'block h-2 overflow-hidden rounded-full',\n tone === 'brand' ? 'bg-white/10' : 'bg-muted'\n )}\n >\n <span\n className={cn(\n 'block h-full rounded-full',\n barClass[bar]\n )}\n style={{\n width: `${Math.round((item.value / max) * 100)}%`,\n }}\n />\n </span>\n );\n const rank = numbered && (\n <span\n className={cn(\n 'text-sm font-semibold tabular-nums',\n mutedTextClass(tone)\n )}\n >\n {String(i + 1).padStart(2, '0')}\n </span>\n );\n const value = item.display ?? format.format(item.value);\n return layout === 'inline' ? (\n <li\n key={item.label}\n className=\"flex items-center gap-3 text-sm\"\n >\n {rank}\n <span className=\"w-28 flex-none truncate sm:w-36\">\n {label}\n </span>\n <span className=\"flex-1\">{track}</span>\n <span className=\"w-20 flex-none text-end font-semibold tabular-nums\">\n {value}\n </span>\n </li>\n ) : (\n <li\n key={item.label}\n className={cn('rounded-xl p-4', cardClass(tone))}\n >\n <div className=\"flex items-center justify-between gap-4\">\n <span className=\"flex items-center gap-3\">\n {rank}\n {label}\n </span>\n <span className={cn('text-xs', mutedTextClass(tone))}>\n {item.note ?? value}\n {item.note && (\n <span className=\"sr-only\">: {value}</span>\n )}\n </span>\n </div>\n <span className=\"mt-2 block\">{track}</span>\n </li>\n );\n })}\n </ol>\n </div>\n );\n })}\n </div>\n </SectionShell>\n );\n }\n);\nRankedListSection.displayName = 'RankedListSection';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n TemplateAnchor,\n TemplateImg,\n containerClass,\n headingTextClass,\n mutedTextClass,\n safeHref,\n toneClass,\n} from '../../templates/Section';\nimport type {\n SectionBaseProps,\n TemplateImage,\n TemplateLink,\n} from '../../templates/types';\n\nexport interface ReportAuthor {\n name: string;\n /** Job title or credentials. */\n role?: string;\n /** Author page; the name links here. */\n href?: string;\n avatar?: TemplateImage;\n /** External profiles, e.g. `{ label: 'LinkedIn', href }`. */\n profiles?: TemplateLink[];\n}\n\nexport interface ReportBylineLabels {\n /** Visually hidden section heading. */\n heading?: string;\n by?: string;\n published?: string;\n updated?: string;\n}\n\nexport interface ReportBylineProps extends Omit<\n SectionBaseProps,\n 'title' | 'eyebrow' | 'description' | 'align'\n> {\n authors: ReportAuthor[];\n /** Display date, formatted by the site. */\n published?: string;\n updated?: string;\n labels?: ReportBylineLabels;\n}\n\n/** Who wrote a report and when, with links to author pages and profiles. */\nexport const ReportByline = React.forwardRef<HTMLElement, ReportBylineProps>(\n (\n {\n authors,\n published,\n updated,\n labels,\n tone = 'default',\n components,\n className,\n ...rest\n },\n ref\n ) => {\n const headingId = React.useId();\n return (\n <section\n ref={ref}\n data-slot=\"report-byline\"\n data-tone={tone}\n aria-labelledby={headingId}\n className={cn(\n 'border-border border-t py-8',\n toneClass(tone),\n className\n )}\n {...rest}\n >\n <div className={containerClass()}>\n <h2 id={headingId} className=\"sr-only\">\n {labels?.heading ?? 'About the author'}\n </h2>\n <ul className=\"flex flex-col gap-6\">\n {authors.map((author) => (\n <li\n key={author.name}\n className=\"flex flex-wrap items-center gap-4\"\n >\n {author.avatar && (\n <TemplateImg\n {...author.avatar}\n width={author.avatar.width ?? 48}\n height={author.avatar.height ?? 48}\n components={components}\n className=\"ring-border size-12 flex-none rounded-full object-cover ring-1\"\n />\n )}\n <div className=\"min-w-0\">\n <p className={cn('text-sm', mutedTextClass(tone))}>\n {labels?.by ?? 'By'}{' '}\n {author.href ? (\n <TemplateAnchor\n href={author.href}\n components={components}\n className={cn(\n 'font-semibold underline-offset-2 hover:underline',\n headingTextClass(tone)\n )}\n >\n {author.name}\n </TemplateAnchor>\n ) : (\n <span\n className={cn('font-semibold', headingTextClass(tone))}\n >\n {author.name}\n </span>\n )}\n {author.role && <span> · {author.role}</span>}\n </p>\n {(published || updated) && (\n <p className={cn('text-sm', mutedTextClass(tone))}>\n {published &&\n `${labels?.published ?? 'Published'} ${published}`}\n {published && updated && ' · '}\n {updated && `${labels?.updated ?? 'Updated'} ${updated}`}\n </p>\n )}\n </div>\n {author.profiles && author.profiles.length > 0 && (\n <div className=\"ms-auto flex flex-wrap gap-2\">\n {author.profiles.map((profile) => {\n // Profile URLs are page data; executable schemes are dropped.\n const href = safeHref(profile.href);\n if (!href) return null;\n return (\n <a\n key={profile.href}\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n data-track={profile.trackingId}\n className=\"border-border hover:border-primary-600 hover:text-primary-800 dark:hover:text-primary-300 inline-flex items-center rounded-full border px-3 py-1.5 text-sm font-medium\"\n >\n <span className=\"sr-only\">{author.name} on </span>\n {profile.label}\n </a>\n );\n })}\n </div>\n )}\n </li>\n ))}\n </ul>\n </div>\n </section>\n );\n }\n);\nReportByline.displayName = 'ReportByline';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n cardClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\nimport {\n MetricStatusBadge,\n type MetricStatus,\n} from '../MetricStatusBadge/MetricStatusBadge';\n\nexport interface ReportLegendEntry {\n status: MetricStatus;\n /** What this label means in this report. */\n description: string;\n /** Override the badge text, e.g. for translation. */\n label?: string;\n}\n\nexport interface ReportLegendProps extends SectionBaseProps {\n entries: ReportLegendEntry[];\n}\n\n/** The key to a report's provenance badges, set near the top so readers know how to weigh every figure. */\nexport const ReportLegend = React.forwardRef<HTMLElement, ReportLegendProps>(\n (\n {\n entries,\n title = 'How to read the data',\n tone = 'muted',\n components,\n ...rest\n },\n ref\n ) => (\n <SectionShell\n ref={ref}\n data-slot=\"report-legend\"\n title={title}\n tone={tone}\n spacing=\"compact\"\n components={components}\n {...rest}\n >\n <dl className=\"mt-6 grid gap-3 sm:grid-cols-2 lg:grid-cols-3\">\n {entries.map((entry) => (\n <div\n key={entry.status}\n className={cn(\n 'flex flex-col gap-2 rounded-xl p-4',\n cardClass(tone)\n )}\n >\n <dt>\n <MetricStatusBadge\n status={entry.status}\n label={entry.label}\n onDark={tone === 'brand'}\n />\n </dt>\n <dd className={cn('text-sm leading-snug', mutedTextClass(tone))}>\n {entry.description}\n </dd>\n </div>\n ))}\n </dl>\n </SectionShell>\n )\n);\nReportLegend.displayName = 'ReportLegend';\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n TemplateAnchor,\n accentTextClass,\n cardClass,\n headingTextClass,\n mutedTextClass,\n safeHref,\n} from '../../templates/Section';\nimport type { SectionBaseProps, TemplateLink } from '../../templates/types';\n\nexport interface MethodologySource {\n label: string;\n description: string;\n /** Link to the dataset or document itself. */\n href?: string;\n}\n\nexport interface MethodologyNote {\n title: string;\n body: string;\n}\n\nexport interface ReportMethodologyLabels {\n citation?: string;\n sourceLink?: string;\n}\n\nexport interface ReportMethodologyProps extends SectionBaseProps {\n sources: MethodologySource[];\n /** Suggested citation, shown selectable in a monospace block. */\n citation?: string;\n /** Short notes such as the publishing cadence or known limitations. */\n notes?: MethodologyNote[];\n /** A closing panel of links, e.g. the API or dataset downloads. */\n resources?: { title: string; description?: string; links: TemplateLink[] };\n labels?: ReportMethodologyLabels;\n}\n\n/** Sources, how to cite, and caveats — the section that makes a report's figures checkable. */\nexport const ReportMethodology = React.forwardRef<\n HTMLElement,\n ReportMethodologyProps\n>(\n (\n {\n sources,\n citation,\n notes,\n resources,\n labels,\n tone = 'muted',\n components,\n ...rest\n },\n ref\n ) => {\n const card = cn('rounded-2xl p-6', cardClass(tone));\n const subheading = cn(\n 'text-sm font-semibold tracking-wide uppercase',\n mutedTextClass(tone)\n );\n return (\n <SectionShell\n ref={ref}\n data-slot=\"report-methodology\"\n tone={tone}\n components={components}\n {...rest}\n >\n <dl className=\"mt-10 grid gap-6 sm:grid-cols-2\">\n {sources.map((source) => (\n <div key={source.label} className={card}>\n <dt className={cn('font-semibold', headingTextClass(tone))}>\n {source.label}\n </dt>\n <dd className={cn('mt-2 text-sm', mutedTextClass(tone))}>\n {source.description}\n {/* Source URLs are page data; executable schemes drop the link. */}\n {safeHref(source.href) && (\n <>\n {' '}\n <a\n href={safeHref(source.href)}\n rel=\"noopener noreferrer\"\n className={cn(\n 'font-medium underline underline-offset-2',\n accentTextClass(tone)\n )}\n >\n {labels?.sourceLink ?? 'Source'}\n <span className=\"sr-only\">: {source.label}</span>\n </a>\n </>\n )}\n </dd>\n </div>\n ))}\n </dl>\n {citation && (\n <div className={cn(card, 'mt-10 border-dashed')}>\n <h3 className={subheading}>\n {labels?.citation ?? 'How to cite this report'}\n </h3>\n <p className=\"mt-3 font-mono text-sm break-words select-all\">\n {citation}\n </p>\n </div>\n )}\n {notes?.map((note) => (\n <div key={note.title} className={cn(card, 'mt-6')}>\n <h3 className={subheading}>{note.title}</h3>\n <p className={cn('mt-3 max-w-3xl text-sm', mutedTextClass(tone))}>\n {note.body}\n </p>\n </div>\n ))}\n {resources && (\n <div className={cn(card, 'mt-6')}>\n <h3 className={subheading}>{resources.title}</h3>\n {resources.description && (\n <p className={cn('mt-3 max-w-3xl text-sm', mutedTextClass(tone))}>\n {resources.description}\n </p>\n )}\n <div className=\"mt-4 flex flex-wrap gap-3\">\n {resources.links.map((link) => (\n <TemplateAnchor\n key={link.href}\n href={link.href}\n trackingId={link.trackingId}\n components={components}\n className={cn(\n 'border-border hover:border-primary-600 inline-flex items-center rounded-full border px-4 py-2 text-sm font-medium',\n accentTextClass(tone)\n )}\n >\n {link.label}\n </TemplateAnchor>\n ))}\n </div>\n </div>\n )}\n </SectionShell>\n );\n }\n);\nReportMethodology.displayName = 'ReportMethodology';\n","export interface TilePosition {\n code: string;\n name: string;\n /** Zero-based grid row. */\n row: number;\n /** Zero-based grid column. */\n col: number;\n}\n\n// The widely used 11 × 8 US tile-grid layout (50 states + DC).\nconst grid: Array<[string, string, number, number]> = [\n ['AK', 'Alaska', 0, 0],\n ['ME', 'Maine', 0, 10],\n ['VT', 'Vermont', 1, 9],\n ['NH', 'New Hampshire', 1, 10],\n ['WA', 'Washington', 2, 0],\n ['ID', 'Idaho', 2, 1],\n ['MT', 'Montana', 2, 2],\n ['ND', 'North Dakota', 2, 3],\n ['MN', 'Minnesota', 2, 4],\n ['IL', 'Illinois', 2, 5],\n ['WI', 'Wisconsin', 2, 6],\n ['MI', 'Michigan', 2, 8],\n ['NY', 'New York', 2, 9],\n ['MA', 'Massachusetts', 2, 10],\n ['OR', 'Oregon', 3, 0],\n ['NV', 'Nevada', 3, 1],\n ['WY', 'Wyoming', 3, 2],\n ['SD', 'South Dakota', 3, 3],\n ['IA', 'Iowa', 3, 4],\n ['IN', 'Indiana', 3, 5],\n ['OH', 'Ohio', 3, 6],\n ['PA', 'Pennsylvania', 3, 7],\n ['NJ', 'New Jersey', 3, 8],\n ['CT', 'Connecticut', 3, 9],\n ['RI', 'Rhode Island', 3, 10],\n ['CA', 'California', 4, 0],\n ['UT', 'Utah', 4, 1],\n ['CO', 'Colorado', 4, 2],\n ['NE', 'Nebraska', 4, 3],\n ['MO', 'Missouri', 4, 4],\n ['KY', 'Kentucky', 4, 5],\n ['WV', 'West Virginia', 4, 6],\n ['VA', 'Virginia', 4, 7],\n ['MD', 'Maryland', 4, 8],\n ['DE', 'Delaware', 4, 9],\n ['AZ', 'Arizona', 5, 1],\n ['NM', 'New Mexico', 5, 2],\n ['KS', 'Kansas', 5, 3],\n ['AR', 'Arkansas', 5, 4],\n ['TN', 'Tennessee', 5, 5],\n ['NC', 'North Carolina', 5, 6],\n ['SC', 'South Carolina', 5, 7],\n ['DC', 'District of Columbia', 5, 8],\n ['OK', 'Oklahoma', 6, 3],\n ['LA', 'Louisiana', 6, 4],\n ['MS', 'Mississippi', 6, 5],\n ['AL', 'Alabama', 6, 6],\n ['GA', 'Georgia', 6, 7],\n ['HI', 'Hawaii', 7, 0],\n ['TX', 'Texas', 7, 3],\n ['FL', 'Florida', 7, 7],\n];\n\n/** US states and DC on an 11-column tile grid, every state the same size. */\nexport const usStateTiles: TilePosition[] = grid.map(\n ([code, name, row, col]) => ({ code, name, row, col })\n);\n\nexport type TileBucket = 0 | 1 | 2 | 3 | 4;\n\n/**\n * Quartile buckets for a set of values: 1 (lowest) to 4 (highest), and 0 for\n * a missing value. Run it in the data layer; pass the result to `TileCartogramSection`.\n */\nexport function quartileBuckets(\n values: Record<string, number | null | undefined>\n): Record<string, TileBucket> {\n const sorted = Object.values(values)\n .filter((v): v is number => typeof v === 'number')\n .sort((a, b) => a - b);\n const q = (p: number) => sorted[Math.floor((sorted.length - 1) * p)];\n const out: Record<string, TileBucket> = {};\n for (const [code, v] of Object.entries(values)) {\n out[code] =\n typeof v !== 'number' || sorted.length === 0\n ? 0\n : v <= q(0.25)\n ? 1\n : v <= q(0.5)\n ? 2\n : v <= q(0.75)\n ? 3\n : 4;\n }\n return out;\n}\n","import * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport {\n SectionShell,\n cardClass,\n headingTextClass,\n mutedTextClass,\n} from '../../templates/Section';\nimport type { SectionBaseProps } from '../../templates/types';\nimport type {\n MetricStatus,\n MetricStatusLabels,\n} from '../MetricStatusBadge/MetricStatusBadge';\nimport { usStateTiles, type TileBucket, type TilePosition } from './tiles';\n\nexport interface TileValue {\n bucket: TileBucket;\n /** Read out with the tile's name, e.g. `12.4 providers per 100k`. */\n detail?: string;\n}\n\nexport interface TileLegendEntry {\n bucket: TileBucket;\n label: string;\n}\n\nexport interface TileCartogramSectionProps extends Omit<\n SectionBaseProps,\n 'align'\n> {\n /** Values keyed by tile code. Tiles with no entry render as bucket 0. */\n values: Record<string, TileValue>;\n legend: TileLegendEntry[];\n /** Tile positions; defaults to `usStateTiles`. */\n layout?: TilePosition[];\n /** Heading of the map card. */\n mapTitle?: string;\n mapDescription?: string;\n status?: MetricStatus;\n /** Translated text for the `status` badge. */\n statusLabels?: MetricStatusLabels;\n}\n\n// 0 is \"no data\"; 1–4 step up the primary scale.\nconst bucketClass: Record<TileBucket, string> = {\n 0: 'bg-muted text-muted-foreground',\n 1: 'bg-primary-600/20 text-foreground',\n 2: 'bg-primary-600/40 text-foreground',\n 3: 'bg-primary-800 text-white',\n 4: 'bg-primary-950 text-white',\n};\n\n/**\n * A tile-grid map: every region the same size, shaded by bucket, so small\n * states are as visible as large ones. Each tile is a list item that reads its\n * full name and detail to screen readers.\n */\nexport const TileCartogramSection = React.forwardRef<\n HTMLElement,\n TileCartogramSectionProps\n>(\n (\n {\n values,\n legend,\n layout = usStateTiles,\n mapTitle,\n mapDescription,\n tone = 'default',\n components,\n ...rest\n },\n ref\n ) => {\n const columns = Math.max(...layout.map((t) => t.col)) + 1;\n return (\n <SectionShell\n ref={ref}\n data-slot=\"tile-cartogram-section\"\n tone={tone}\n components={components}\n {...rest}\n >\n <div className={cn('mt-10 rounded-2xl p-6', cardClass(tone))}>\n {mapTitle && (\n <h3 className={cn('text-lg font-semibold', headingTextClass(tone))}>\n {mapTitle}\n </h3>\n )}\n {mapDescription && (\n <p className={cn('mt-1 text-sm', mutedTextClass(tone))}>\n {mapDescription}\n </p>\n )}\n <ul\n className=\"mx-auto mt-6 grid w-full max-w-xl gap-1\"\n style={{\n gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`,\n }}\n >\n {layout.map((tile) => {\n const value = values[tile.code];\n const bucket = value?.bucket ?? 0;\n return (\n <li\n key={tile.code}\n title={\n value?.detail ? `${tile.name}: ${value.detail}` : tile.name\n }\n style={{\n gridColumnStart: tile.col + 1,\n gridRowStart: tile.row + 1,\n }}\n className={cn(\n 'flex aspect-square items-center justify-center rounded-md text-[9px] font-semibold sm:text-[11px]',\n bucketClass[bucket]\n )}\n >\n <span aria-hidden=\"true\">{tile.code}</span>\n <span className=\"sr-only\">\n {tile.name}\n {value?.detail ? `: ${value.detail}` : ''}\n </span>\n </li>\n );\n })}\n </ul>\n <ul className=\"mt-6 flex flex-wrap items-center justify-center gap-x-4 gap-y-2 text-xs\">\n {legend.map((entry) => (\n <li\n key={entry.bucket}\n className=\"inline-flex items-center gap-1.5\"\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n 'ring-border size-3 rounded ring-1',\n bucketClass[entry.bucket]\n )}\n />\n {entry.label}\n </li>\n ))}\n </ul>\n </div>\n </SectionShell>\n );\n }\n);\nTileCartogramSection.displayName = 'TileCartogramSection';\n","import * as React from 'react';\nimport {\n ComparisonSection,\n type ComparisonSectionProps,\n} from '../ComparisonSection';\nimport { CtaSection, type CtaSectionProps } from '../CtaSection';\nimport { FaqSection, type FaqSectionProps } from '../FaqSection';\nimport {\n FeatureGridSection,\n type FeatureGridSectionProps,\n} from '../FeatureGridSection';\nimport { HeroSection, type HeroSectionProps } from '../HeroSection';\nimport { LeadFormSection, type LeadFormSectionProps } from '../LeadFormSection';\nimport {\n LogoCloudSection,\n type LogoCloudSectionProps,\n} from '../LogoCloudSection';\nimport { PricingSection, type PricingSectionProps } from '../PricingSection';\nimport {\n ProcessStepsSection,\n type ProcessStepsSectionProps,\n} from '../ProcessStepsSection';\nimport {\n ResourceCardsSection,\n type ResourceCardsSectionProps,\n} from '../ResourceCardsSection';\nimport {\n SplitContentSection,\n type SplitContentSectionProps,\n} from '../SplitContentSection';\nimport { StatsSection, type StatsSectionProps } from '../StatsSection';\nimport {\n TestimonialSection,\n type TestimonialSectionProps,\n} from '../TestimonialSection';\nimport { VideoSection, type VideoSectionProps } from '../VideoSection';\nimport {\n BenchmarkTableSection,\n type BenchmarkTableSectionProps,\n} from '../BenchmarkTableSection';\nimport {\n LinkGroupsSection,\n type LinkGroupsSectionProps,\n} from '../LinkGroupsSection';\nimport {\n MetricListSection,\n type MetricListSectionProps,\n} from '../MetricListSection';\nimport { PdfEmbedSection, type PdfEmbedSectionProps } from '../PdfEmbedSection';\nimport {\n RankedListSection,\n type RankedListSectionProps,\n} from '../RankedListSection';\nimport { ReportByline, type ReportBylineProps } from '../ReportByline';\nimport { ReportLegend, type ReportLegendProps } from '../ReportLegend';\nimport {\n ReportMethodology,\n type ReportMethodologyProps,\n} from '../ReportMethodology';\nimport {\n TileCartogramSection,\n type TileCartogramSectionProps,\n} from '../TileCartogramSection';\nimport type { TemplateIconRegistry } from '../../templates/icons';\nimport { safeHref } from '../../templates/Section';\nimport type { TemplateComponents } from '../../templates/types';\nimport { ownProperty } from '../../utils/own';\n\n/** A section the site renders itself, looked up by name in `LandingPage`'s `custom` map. */\nexport interface CustomBlock {\n type: 'custom';\n component: string;\n props?: Record<string, unknown>;\n id?: string;\n}\n\n/** Section props as page data: no event handlers, children or components, so a block survives JSON. */\ntype BlockData<P> = Omit<\n P,\n keyof React.DOMAttributes<HTMLElement> | 'components' | 'icons'\n>;\n\n/** One entry of a page's `blocks` array: a section's props tagged with its `type`. */\nexport type LandingBlock =\n | ({ type: 'hero' } & BlockData<HeroSectionProps>)\n | ({ type: 'logos' } & BlockData<LogoCloudSectionProps>)\n | ({ type: 'features' } & BlockData<FeatureGridSectionProps>)\n | ({ type: 'split' } & BlockData<SplitContentSectionProps>)\n | ({ type: 'process' } & BlockData<ProcessStepsSectionProps>)\n | ({ type: 'stats' } & BlockData<StatsSectionProps>)\n | ({ type: 'comparison' } & BlockData<ComparisonSectionProps>)\n | ({ type: 'pricing' } & BlockData<PricingSectionProps>)\n | ({ type: 'video' } & BlockData<VideoSectionProps>)\n | ({ type: 'testimonials' } & BlockData<TestimonialSectionProps>)\n | ({ type: 'resources' } & BlockData<ResourceCardsSectionProps>)\n | ({ type: 'faq' } & BlockData<FaqSectionProps>)\n | ({ type: 'lead-form' } & Omit<BlockData<LeadFormSectionProps>, 'action'> & {\n /** A URL, or the name of a function in `LandingPage`'s `actions` map. */\n action: string;\n })\n | ({ type: 'cta' } & BlockData<CtaSectionProps>)\n | ({ type: 'report-legend' } & BlockData<ReportLegendProps>)\n | ({ type: 'benchmark-table' } & BlockData<BenchmarkTableSectionProps>)\n | ({ type: 'ranked-list' } & BlockData<RankedListSectionProps>)\n | ({ type: 'tile-cartogram' } & BlockData<TileCartogramSectionProps>)\n | ({ type: 'metric-list' } & BlockData<MetricListSectionProps>)\n | ({ type: 'methodology' } & BlockData<ReportMethodologyProps>)\n | ({ type: 'byline' } & BlockData<ReportBylineProps>)\n | ({ type: 'link-groups' } & BlockData<LinkGroupsSectionProps>)\n | ({ type: 'pdf-embed' } & BlockData<PdfEmbedSectionProps>)\n | CustomBlock;\n\nexport type LandingBlockType = LandingBlock['type'];\n\nconst sections = {\n hero: HeroSection,\n logos: LogoCloudSection,\n features: FeatureGridSection,\n split: SplitContentSection,\n process: ProcessStepsSection,\n stats: StatsSection,\n comparison: ComparisonSection,\n pricing: PricingSection,\n video: VideoSection,\n testimonials: TestimonialSection,\n resources: ResourceCardsSection,\n faq: FaqSection,\n 'lead-form': LeadFormSection,\n cta: CtaSection,\n 'report-legend': ReportLegend,\n 'benchmark-table': BenchmarkTableSection,\n 'ranked-list': RankedListSection,\n 'tile-cartogram': TileCartogramSection,\n 'metric-list': MetricListSection,\n methodology: ReportMethodology,\n byline: ReportByline,\n 'link-groups': LinkGroupsSection,\n 'pdf-embed': PdfEmbedSection,\n} satisfies Record<Exclude<LandingBlockType, 'custom'>, unknown>;\n\n/** Every block type the renderer knows — `validateLandingPage` checks runtime data against it. */\nexport const landingBlockTypes = [\n ...Object.keys(sections),\n 'custom',\n] as LandingBlockType[];\n\n/** Block types whose section resolves icon tokens. */\nconst takesIcons = new Set<LandingBlockType>(['features', 'process']);\n\nexport interface LandingPageProps extends React.HTMLAttributes<HTMLDivElement> {\n /** The page, top to bottom. Plain data — import it from a content file or a CMS. */\n blocks: LandingBlock[];\n /** Site icon tokens, passed to every section that renders icons. */\n icons?: TemplateIconRegistry;\n /** Site image and link components (e.g. `next/image`, `next/link`), passed to every section. */\n components?: TemplateComponents;\n /** Site-owned sections for `{ type: 'custom', component }` blocks. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- each custom section owns its props\n custom?: Record<string, React.ComponentType<any>>;\n /** Form actions (e.g. Server Actions, React 19) that `lead-form` blocks name in `action`. */\n actions?: Record<string, (formData: FormData) => void | Promise<void>>;\n}\n\nexport const LandingPage = React.forwardRef<HTMLDivElement, LandingPageProps>(\n ({ blocks, icons, components, custom, actions, ...rest }, ref) => (\n <div ref={ref} data-slot=\"landing-page\" {...rest}>\n {blocks.map((block, i) => {\n const key = block.id ?? `${block.type}-${i}`;\n // Own-property lookups throughout: block data is runtime JSON, so\n // `\"toString\"` must mean \"unknown\", not `Object.prototype.toString`.\n if (block.type === 'custom') {\n const Custom = ownProperty(custom, block.component);\n return Custom ? (\n <Custom key={key} id={block.id} {...block.props} />\n ) : null;\n }\n const { type, ...props } = block;\n // `type` narrowed `props` to this section's props; TS can't correlate the lookup.\n const Section = ownProperty(\n sections as Record<string, unknown>,\n type\n ) as React.ComponentType<Record<string, unknown>> | undefined;\n // Runtime page data bypasses `BlockData`, so guard what TypeScript\n // cannot: skip unknown types the way unknown `custom` components are\n // skipped (`validateLandingPage` reports them), drop the props JSON\n // must not control, and inject the framework-owned props after the\n // spread so a block cannot override the site's adapters.\n if (!Section) return null;\n // A non-named lead-form action is a form URL — same trust boundary as\n // hrefs. No safe action means no form: an action-less form would\n // submit the lead to the current document URL instead of going inert.\n const action =\n block.type === 'lead-form'\n ? (ownProperty(actions, block.action) ?? safeHref(block.action))\n : undefined;\n if (block.type === 'lead-form' && action == null) return null;\n const data = { ...props } as Record<string, unknown>;\n delete data.children;\n delete data.dangerouslySetInnerHTML;\n return (\n <Section\n key={key}\n {...data}\n components={components}\n {...(takesIcons.has(type) ? { icons } : {})}\n {...(block.type === 'lead-form' ? { action } : {})}\n />\n );\n })}\n </div>\n )\n);\nLandingPage.displayName = 'LandingPage';\n","import { safeHref } from '../../templates/Section';\nimport {\n landingBlockTypes,\n type LandingBlock,\n type LandingBlockType,\n} from './LandingPage';\n\nexport interface LandingPreset {\n label: string;\n description: string;\n /** Recommended order, top to bottom. Blocks not listed may sit anywhere. */\n sequence: LandingBlockType[];\n /** Blocks the page is incomplete without. */\n required: LandingBlockType[];\n}\n\n/** Page archetypes shared by the BlueHive and Enterprise Health marketing sites. */\nexport const landingPresets = {\n 'vertical-hub': {\n label: 'Industry / vertical hub',\n description:\n 'One page per industry served: the sector problem, what the product does for it, proof, and a way in.',\n sequence: [\n 'hero',\n 'logos',\n 'features',\n 'split',\n 'stats',\n 'process',\n 'testimonials',\n 'resources',\n 'faq',\n 'cta',\n ],\n required: ['hero', 'features', 'faq', 'cta'],\n },\n 'service-detail': {\n label: 'Service / product detail',\n description:\n 'One offering explained: what it is, how it works, how it compares, and how to start.',\n sequence: [\n 'hero',\n 'features',\n 'video',\n 'process',\n 'comparison',\n 'pricing',\n 'stats',\n 'testimonials',\n 'faq',\n 'cta',\n ],\n required: ['hero', 'features', 'cta'],\n },\n campaign: {\n label: 'Campaign / ABM landing',\n description:\n 'A focused page for a campaign or named account that converts on the page itself.',\n sequence: [\n 'hero',\n 'logos',\n 'features',\n 'stats',\n 'testimonials',\n 'lead-form',\n 'faq',\n ],\n required: ['hero', 'lead-form'],\n },\n comparison: {\n label: 'Comparison',\n description:\n 'Your product against an alternative or the status quo, row by row.',\n sequence: ['hero', 'comparison', 'features', 'testimonials', 'faq', 'cta'],\n required: ['hero', 'comparison', 'cta'],\n },\n resource: {\n label: 'Resource / lead magnet',\n description:\n 'A guide, report or tool offered in exchange for contact details.',\n sequence: ['hero', 'split', 'lead-form', 'resources', 'faq'],\n required: ['hero', 'lead-form'],\n },\n pricing: {\n label: 'Pricing',\n description:\n 'Plans and what each includes, the proof that they are worth it, and the questions buyers ask before they pay.',\n sequence: [\n 'hero',\n 'pricing',\n 'comparison',\n 'stats',\n 'testimonials',\n 'faq',\n 'cta',\n ],\n required: ['hero', 'pricing', 'faq'],\n },\n 'benchmark-report': {\n label: 'Benchmark report',\n description:\n 'A published data report: headline findings, the figures with their provenance, how they were built, and who wrote it.',\n sequence: [\n 'hero',\n 'stats',\n 'report-legend',\n 'features',\n 'benchmark-table',\n 'tile-cartogram',\n 'ranked-list',\n 'metric-list',\n 'methodology',\n 'byline',\n 'link-groups',\n 'pdf-embed',\n 'lead-form',\n 'cta',\n ],\n required: ['hero', 'methodology'],\n },\n} satisfies Record<string, LandingPreset>;\n\nexport type LandingPresetId = keyof typeof landingPresets;\n\n/** Block types whose items render `h3` titles under the section's `h2`. */\nconst headedItems = new Set<LandingBlockType>([\n 'features',\n 'process',\n 'pricing',\n 'resources',\n 'metric-list',\n 'link-groups',\n]);\n\n/** Whether a block renders `h3`s only in some configurations. */\nconst rendersH3 = (b: LandingBlock) =>\n headedItems.has(b.type) ||\n (b.type === 'ranked-list' && b.lists.some((l) => l.title)) ||\n (b.type === 'tile-cartogram' && !!b.mapTitle) ||\n (b.type === 'methodology' &&\n !!(b.citation || b.notes?.length || b.resources));\n\nexport interface LandingPageIssue {\n severity: 'error' | 'warning';\n message: string;\n /** Index into `blocks`, when the issue belongs to one block. */\n index?: number;\n}\n\n/**\n * Checks a page against the heading contract (exactly one `h1` hero, first)\n * and, when given, a preset's required blocks and order. Run it in a build\n * step or test; `LandingPage` itself renders whatever it is given.\n */\nexport function validateLandingPage(\n blocks: LandingBlock[],\n preset?: LandingPresetId | LandingPreset\n): LandingPageIssue[] {\n const issues: LandingPageIssue[] = [];\n const types = blocks.map((b) => b.type);\n\n const knownTypes = new Set<string>(landingBlockTypes);\n blocks.forEach((b, index) => {\n if (!knownTypes.has(b.type))\n issues.push({\n severity: 'error',\n index,\n message: `Unknown block type \"${b.type}\": the renderer skips this block.`,\n });\n // A named action resolves like a relative URL; unsafe schemes never do.\n if (b.type === 'lead-form' && safeHref(b.action) == null)\n issues.push({\n severity: 'error',\n index,\n message: `Unsafe lead-form action \"${b.action}\": the renderer skips this block.`,\n });\n });\n\n const h1Heroes = blocks.flatMap((b, i) =>\n b.type === 'hero' && (b.headingLevel ?? 'h1') === 'h1' ? [i] : []\n );\n if (h1Heroes.length > 1)\n h1Heroes.slice(1).forEach((index) =>\n issues.push({\n severity: 'error',\n index,\n message:\n 'A second h1 hero: a page has one h1. Set headingLevel: \"h2\" or remove it.',\n })\n );\n if (h1Heroes.length === 0)\n issues.push({\n severity: 'warning',\n message:\n 'No h1 hero. The page must render its own h1 outside the blocks.',\n });\n const firstHero = types.indexOf('hero');\n if (firstHero > 0)\n issues.push({\n severity: 'warning',\n index: firstHero,\n message: 'The hero is not the first block.',\n });\n if (h1Heroes.length > 0 && h1Heroes[0] !== firstHero)\n issues.push({\n severity: 'warning',\n index: h1Heroes[0],\n message:\n 'The h1 hero is not the first hero: an h2 hero precedes the page h1.',\n });\n\n const seen = new Map<string, number>();\n blocks.forEach((b, index) => {\n // FAQ item ids become DOM ids too, so they share the page-wide namespace.\n const ids = [\n ...(b.id ? [b.id] : []),\n ...(b.type === 'faq'\n ? b.items.flatMap((item) => (item.id ? [item.id] : []))\n : []),\n ];\n ids.forEach((id) => {\n if (seen.has(id))\n issues.push({\n severity: 'error',\n index,\n message: `Duplicate id \"${id}\" (also block ${seen.get(id)}).`,\n });\n else seen.set(id, index);\n });\n });\n\n blocks.forEach((b, index) => {\n // Item titles are h3; without the section's h2 the outline skips a level.\n if (rendersH3(b) && !('title' in b && b.title))\n issues.push({\n severity: 'warning',\n index,\n message: `\"${b.type}\" has no title, so its h3 item titles skip the h2 level.`,\n });\n if (b.type === 'benchmark-table') {\n const keys = new Set(b.columns.map((c) => c.key));\n b.rows.forEach((row) => {\n const unknown = Object.keys(row.values).filter((k) => !keys.has(k));\n if (unknown.length)\n issues.push({\n severity: 'warning',\n index,\n message: `Benchmark row \"${row.label}\" has values for unknown columns: ${unknown.join(', ')}.`,\n });\n });\n }\n if (b.type !== 'comparison') return;\n b.rows.forEach((row, r) => {\n if (row.values.length !== b.columns.length)\n issues.push({\n severity: 'error',\n index,\n message: `Comparison row ${r} (\"${row.feature}\") has ${row.values.length} values for ${b.columns.length} columns.`,\n });\n });\n if (\n b.highlightColumn !== undefined &&\n (b.highlightColumn < 0 || b.highlightColumn >= b.columns.length)\n )\n issues.push({\n severity: 'warning',\n index,\n message: `highlightColumn ${b.highlightColumn} is outside the ${b.columns.length} comparison columns.`,\n });\n });\n\n if (!preset) return issues;\n const spec: LandingPreset =\n typeof preset === 'string' ? landingPresets[preset] : preset;\n\n for (const type of spec.required)\n if (!types.includes(type))\n issues.push({\n severity: 'error',\n message: `Missing required \"${type}\" block for the ${spec.label} preset.`,\n });\n\n let last = -1;\n const placed = new Set<LandingBlockType>();\n blocks.forEach((b, index) => {\n const rank = spec.sequence.indexOf(b.type);\n // Only a type's first block is placed; repeats (e.g. a summary and an outlook grid) may recur.\n if (rank === -1 || placed.has(b.type)) return;\n placed.add(b.type);\n if (rank < last)\n issues.push({\n severity: 'warning',\n index,\n message: `\"${b.type}\" is out of the ${spec.label} preset's recommended order.`,\n });\n else last = rank;\n });\n\n return issues;\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import { toDateTime } from './chunk-3YBS4WUQ.js';
2
+ import { DateTime } from 'luxon';
3
+
4
+ function withLocale(dt, locale) {
5
+ return locale ? dt.setLocale(locale) : dt;
6
+ }
7
+ var millis = (dt) => dt ? dt.toMillis() : Number.NEGATIVE_INFINITY;
8
+ function groupByDay(items, getDate, zone) {
9
+ const dated = items.map((item) => ({ item, dt: toDateTime(getDate(item), zone) })).sort((a, b) => millis(b.dt) - millis(a.dt) || 0);
10
+ const groups = [];
11
+ for (const { item, dt } of dated) {
12
+ const key = dt?.toISODate() ?? "";
13
+ const last = groups[groups.length - 1];
14
+ if (last?.key === key) last.items.push(item);
15
+ else groups.push({ key, items: [item] });
16
+ }
17
+ return groups;
18
+ }
19
+ function formatDayLabel(key, options) {
20
+ if (!key) return options.undated;
21
+ const day = withLocale(
22
+ DateTime.fromISO(key, { zone: options.zone }),
23
+ options.locale
24
+ );
25
+ const today = DateTime.fromJSDate(options.now, { zone: options.zone });
26
+ if (day.hasSame(today, "day")) return options.today;
27
+ if (day.hasSame(today.minus({ days: 1 }), "day")) return options.yesterday;
28
+ return day.toLocaleString({
29
+ weekday: "long",
30
+ month: "long",
31
+ day: "numeric",
32
+ ...day.year !== today.year && { year: "numeric" }
33
+ });
34
+ }
35
+
36
+ export { formatDayLabel, groupByDay, withLocale };
37
+ //# sourceMappingURL=chunk-YGS2TRMP.js.map
38
+ //# sourceMappingURL=chunk-YGS2TRMP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ActivityFeed/dayGroups.ts"],"names":[],"mappings":";;;AAkBO,SAAS,UAAA,CAAW,IAAc,MAAA,EAA2B;AAClE,EAAA,OAAO,MAAA,GAAS,EAAA,CAAG,SAAA,CAAU,MAAM,CAAA,GAAI,EAAA;AACzC;AAEA,IAAM,SAAS,CAAC,EAAA,KACd,KAAK,EAAA,CAAG,QAAA,KAAa,MAAA,CAAO,iBAAA;AAGvB,SAAS,UAAA,CACd,KAAA,EACA,OAAA,EACA,IAAA,EACe;AACf,EAAA,MAAM,KAAA,GAAQ,KAAA,CACX,GAAA,CAAI,CAAC,IAAA,MAAU,EAAE,IAAA,EAAM,EAAA,EAAI,UAAA,CAAW,OAAA,CAAQ,IAAI,CAAA,EAAG,IAAI,CAAA,EAAE,CAAE,CAAA,CAC7D,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,MAAA,CAAO,CAAA,CAAE,EAAE,CAAA,GAAI,MAAA,CAAO,CAAA,CAAE,EAAE,CAAA,IAAK,CAAC,CAAA;AAElD,EAAA,MAAM,SAAwB,EAAC;AAC/B,EAAA,KAAA,MAAW,EAAE,IAAA,EAAM,EAAA,EAAG,IAAK,KAAA,EAAO;AAChC,IAAA,MAAM,GAAA,GAAM,EAAA,EAAI,SAAA,EAAU,IAAK,EAAA;AAC/B,IAAA,MAAM,IAAA,GAAO,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AACrC,IAAA,IAAI,MAAM,GAAA,KAAQ,GAAA,EAAK,IAAA,CAAK,KAAA,CAAM,KAAK,IAAI,CAAA;AAAA,SACtC,MAAA,CAAO,KAAK,EAAE,GAAA,EAAK,OAAO,CAAC,IAAI,GAAG,CAAA;AAAA,EACzC;AACA,EAAA,OAAO,MAAA;AACT;AAEO,SAAS,cAAA,CAAe,KAAa,OAAA,EAAkC;AAC5E,EAAA,IAAI,CAAC,GAAA,EAAK,OAAO,OAAA,CAAQ,OAAA;AACzB,EAAA,MAAM,GAAA,GAAM,UAAA;AAAA,IACV,SAAS,OAAA,CAAQ,GAAA,EAAK,EAAE,IAAA,EAAM,OAAA,CAAQ,MAAM,CAAA;AAAA,IAC5C,OAAA,CAAQ;AAAA,GACV;AACA,EAAA,MAAM,KAAA,GAAQ,SAAS,UAAA,CAAW,OAAA,CAAQ,KAAK,EAAE,IAAA,EAAM,OAAA,CAAQ,IAAA,EAAM,CAAA;AACrE,EAAA,IAAI,IAAI,OAAA,CAAQ,KAAA,EAAO,KAAK,CAAA,SAAU,OAAA,CAAQ,KAAA;AAC9C,EAAA,IAAI,GAAA,CAAI,OAAA,CAAQ,KAAA,CAAM,KAAA,CAAM,EAAE,IAAA,EAAM,CAAA,EAAG,CAAA,EAAG,KAAK,CAAA,EAAG,OAAO,OAAA,CAAQ,SAAA;AACjE,EAAA,OAAO,IAAI,cAAA,CAAe;AAAA,IACxB,OAAA,EAAS,MAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,GAAA,EAAK,SAAA;AAAA,IACL,GAAI,GAAA,CAAI,IAAA,KAAS,MAAM,IAAA,IAAQ,EAAE,MAAM,SAAA;AAAU,GAClD,CAAA;AACH","file":"chunk-YGS2TRMP.js","sourcesContent":["import { DateTime } from 'luxon';\nimport { toDateTime } from '../../views/types';\n\nexport interface DayGroup<T> {\n /** ISO date (`yyyy-MM-dd`) in the display zone; `''` for undated items. */\n key: string;\n items: T[];\n}\n\nexport interface DayLabelOptions {\n now: Date;\n zone: string;\n locale?: string;\n today: string;\n yesterday: string;\n undated: string;\n}\n\nexport function withLocale(dt: DateTime, locale?: string): DateTime {\n return locale ? dt.setLocale(locale) : dt;\n}\n\nconst millis = (dt: DateTime | null) =>\n dt ? dt.toMillis() : Number.NEGATIVE_INFINITY;\n\n/** Buckets items by calendar day in `zone`, newest first; undated items last. */\nexport function groupByDay<T>(\n items: readonly T[],\n getDate: (item: T) => Date | string | null | undefined,\n zone: string\n): DayGroup<T>[] {\n const dated = items\n .map((item) => ({ item, dt: toDateTime(getDate(item), zone) }))\n .sort((a, b) => millis(b.dt) - millis(a.dt) || 0);\n\n const groups: DayGroup<T>[] = [];\n for (const { item, dt } of dated) {\n const key = dt?.toISODate() ?? '';\n const last = groups[groups.length - 1];\n if (last?.key === key) last.items.push(item);\n else groups.push({ key, items: [item] });\n }\n return groups;\n}\n\nexport function formatDayLabel(key: string, options: DayLabelOptions): string {\n if (!key) return options.undated;\n const day = withLocale(\n DateTime.fromISO(key, { zone: options.zone }),\n options.locale\n );\n const today = DateTime.fromJSDate(options.now, { zone: options.zone });\n if (day.hasSame(today, 'day')) return options.today;\n if (day.hasSame(today.minus({ days: 1 }), 'day')) return options.yesterday;\n return day.toLocaleString({\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n ...(day.year !== today.year && { year: 'numeric' }),\n });\n}\n"]}