@jackuait/blok 0.11.1 → 0.12.1

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 (1235) hide show
  1. package/LICENSE +13 -1
  2. package/NOTICE +10 -0
  3. package/README.md +7 -1
  4. package/codemod/migrate-editorjs-to-blok.js +51 -1
  5. package/codemod/test.js +95 -0
  6. package/dist/blok.cjs +1 -1
  7. package/dist/blok.iife.js +31 -30
  8. package/dist/blok.mjs +2 -2
  9. package/dist/chunks/_basePickBy-CLCgPLk_.cjs +1 -0
  10. package/dist/chunks/_basePickBy-cIM18c5w.mjs +166 -0
  11. package/dist/chunks/_baseUniq-C3lUNj_l.mjs +682 -0
  12. package/dist/chunks/_baseUniq-Cm3XBb1f.cjs +1 -0
  13. package/dist/chunks/arc-BSr2jl4o.mjs +80 -0
  14. package/dist/chunks/arc-C-l7V0ww.cjs +1 -0
  15. package/dist/chunks/architecture-YZFGNWBL-C5uKTSqd.mjs +3 -0
  16. package/dist/chunks/architecture-YZFGNWBL-DopZbt9d.cjs +1 -0
  17. package/dist/chunks/architectureDiagram-Q4EWVU46-B3EkmUoA.cjs +36 -0
  18. package/dist/chunks/architectureDiagram-Q4EWVU46-DL5lPOq_.mjs +4066 -0
  19. package/dist/chunks/blockDiagram-DXYQGD6D-ChnytJiO.cjs +132 -0
  20. package/dist/chunks/blockDiagram-DXYQGD6D-DjFfRgP_.mjs +3074 -0
  21. package/dist/chunks/blok-B4ebnd6l.mjs +13853 -0
  22. package/dist/chunks/blok-k8Yo4v2F.cjs +17 -0
  23. package/dist/chunks/c4Diagram-AHTNJAMY-D9cwQ5dP.cjs +10 -0
  24. package/dist/chunks/c4Diagram-AHTNJAMY-DDydXzN1.mjs +2956 -0
  25. package/dist/chunks/channel-1VaVTmSI.mjs +5 -0
  26. package/dist/chunks/channel-DTKWBt5v.cjs +1 -0
  27. package/dist/chunks/chunk-2KRD3SAO-Dcv71dz8.cjs +1 -0
  28. package/dist/chunks/chunk-2KRD3SAO-DslQvmzC.mjs +20 -0
  29. package/dist/chunks/chunk-336JU56O-CUNPhOYK.mjs +49 -0
  30. package/dist/chunks/chunk-336JU56O-DsJvvQpB.cjs +1 -0
  31. package/dist/chunks/chunk-426QAEUC-Ciny2-Rz.mjs +13 -0
  32. package/dist/chunks/chunk-426QAEUC-DEYJ0OiL.cjs +1 -0
  33. package/dist/chunks/chunk-4BX2VUAB-D1dKBLiS.cjs +1 -0
  34. package/dist/chunks/chunk-4BX2VUAB-ljY9_i7D.mjs +19 -0
  35. package/dist/chunks/chunk-4TB4RGXK-C-eXrWWX.cjs +206 -0
  36. package/dist/chunks/chunk-4TB4RGXK-orLiGd4g.mjs +3250 -0
  37. package/dist/chunks/chunk-55IACEB6-BOy3ofgp.cjs +1 -0
  38. package/dist/chunks/chunk-55IACEB6-BPnDY27B.mjs +8 -0
  39. package/dist/chunks/chunk-5FUZZQ4R-D3UGwLBL.cjs +62 -0
  40. package/dist/chunks/chunk-5FUZZQ4R-D5gG1Dk4.mjs +3786 -0
  41. package/dist/chunks/chunk-5PVQY5BW-BCwqe25T.cjs +2 -0
  42. package/dist/chunks/chunk-5PVQY5BW-DVKx7m4a.mjs +1122 -0
  43. package/dist/chunks/chunk-67CJDMHE-BU_rrdV4.mjs +20 -0
  44. package/dist/chunks/chunk-67CJDMHE-VKwQfp25.cjs +1 -0
  45. package/dist/chunks/chunk-7N4EOEYR-BpM-QbmS.cjs +1 -0
  46. package/dist/chunks/chunk-7N4EOEYR-Cx6N1y9w.mjs +29 -0
  47. package/dist/chunks/chunk-AA7GKIK3-DCAy6uIg.mjs +24 -0
  48. package/dist/chunks/chunk-AA7GKIK3-RcaBhHiZ.cjs +1 -0
  49. package/dist/chunks/chunk-BSJP7CBP-BHijZ5f8.mjs +83 -0
  50. package/dist/chunks/chunk-BSJP7CBP-wiZ2ll8-.cjs +1 -0
  51. package/dist/chunks/chunk-CIAEETIT-0sn8TZoo.cjs +1 -0
  52. package/dist/chunks/chunk-CIAEETIT-BWpztfre.mjs +20 -0
  53. package/dist/chunks/chunk-EDXVE4YY-BJAhHZ3a.mjs +26 -0
  54. package/dist/chunks/chunk-EDXVE4YY-CXhcVSEI.cjs +1 -0
  55. package/dist/chunks/chunk-ENJZ2VHE-BgpbBBSF.cjs +10 -0
  56. package/dist/chunks/chunk-ENJZ2VHE-COIAdqL4.mjs +566 -0
  57. package/dist/chunks/chunk-FMBD7UC4-CUTvay8e.mjs +5 -0
  58. package/dist/chunks/chunk-FMBD7UC4-DCJ-fphu.cjs +15 -0
  59. package/dist/chunks/chunk-FOC6F5B3-3FOtyf3P.mjs +20 -0
  60. package/dist/chunks/chunk-FOC6F5B3-C2-FyqYn.cjs +1 -0
  61. package/dist/chunks/chunk-ICPOFSXX-BUWZvUuu.cjs +122 -0
  62. package/dist/chunks/chunk-ICPOFSXX-Dn5WbEeN.mjs +3290 -0
  63. package/dist/chunks/chunk-K5T4RW27-CX5gsk1T.cjs +94 -0
  64. package/dist/chunks/chunk-K5T4RW27-De7GqZCP.mjs +16372 -0
  65. package/dist/chunks/chunk-KGLVRYIC-Cwvjry7S.cjs +1 -0
  66. package/dist/chunks/chunk-KGLVRYIC-sDQUxLS7.mjs +20 -0
  67. package/dist/chunks/chunk-LIHQZDEY-BC8om0l2.cjs +1 -0
  68. package/dist/chunks/chunk-LIHQZDEY-BoY9X2Wj.mjs +55 -0
  69. package/dist/chunks/chunk-ORNJ4GCN-CYLjqcXc.mjs +25 -0
  70. package/dist/chunks/chunk-ORNJ4GCN-CoC7A1vn.cjs +1 -0
  71. package/dist/chunks/chunk-OYMX7WX6-Bbwq_g2w.mjs +2038 -0
  72. package/dist/chunks/chunk-OYMX7WX6-D3csU8-J.cjs +231 -0
  73. package/dist/chunks/chunk-QZHKN3VN-Bs3XaH0U.mjs +12 -0
  74. package/dist/chunks/chunk-QZHKN3VN-Db_x7kn8.cjs +1 -0
  75. package/dist/chunks/chunk-U2HBQHQK-CEwYxA8R.cjs +70 -0
  76. package/dist/chunks/chunk-U2HBQHQK-DLyzqElq.mjs +1875 -0
  77. package/dist/chunks/chunk-X2U36JSP-BY9JBwLQ.cjs +1 -0
  78. package/dist/chunks/chunk-X2U36JSP-UKGkP2m1.mjs +68 -0
  79. package/dist/chunks/chunk-XPW4576I-2i_ZgZLs.mjs +1146 -0
  80. package/dist/chunks/chunk-XPW4576I-Ym5mFsxv.cjs +32 -0
  81. package/dist/chunks/chunk-YZCP3GAM-C2GbOoUx.mjs +60 -0
  82. package/dist/chunks/chunk-YZCP3GAM-WMeXt5aH.cjs +1 -0
  83. package/dist/chunks/chunk-ZZ45TVLE-CeD1lNAB.cjs +1 -0
  84. package/dist/chunks/chunk-ZZ45TVLE-DyYus02Y.mjs +33 -0
  85. package/dist/chunks/classDiagram-6PBFFD2Q-DNHZ3qE5.mjs +30 -0
  86. package/dist/chunks/classDiagram-6PBFFD2Q-DWcC9USb.cjs +1 -0
  87. package/dist/chunks/classDiagram-v2-HSJHXN6E-BXKTiJNh.cjs +1 -0
  88. package/dist/chunks/classDiagram-v2-HSJHXN6E-GgfA5-jG.mjs +30 -0
  89. package/dist/chunks/clone-DeEumpiC.mjs +8 -0
  90. package/dist/chunks/clone-gX2HWen_.cjs +1 -0
  91. package/dist/chunks/constants-BsyOzSoJ.mjs +3432 -0
  92. package/dist/chunks/constants-DGaNl2M0.cjs +457 -0
  93. package/dist/chunks/cose-bilkent-S5V4N54A-BuQ-Gx1y.mjs +2246 -0
  94. package/dist/chunks/cose-bilkent-S5V4N54A-CdxjlgEx.cjs +1 -0
  95. package/dist/chunks/dagre-BVQ5RQE_.mjs +1483 -0
  96. package/dist/chunks/dagre-D9QEFKwC.cjs +1 -0
  97. package/dist/chunks/dagre-KV5264BT-BxQkkVxZ.mjs +298 -0
  98. package/dist/chunks/dagre-KV5264BT-Dz_FEBZU.cjs +4 -0
  99. package/dist/chunks/diagram-5BDNPKRD-Cf9AymAx.cjs +10 -0
  100. package/dist/chunks/diagram-5BDNPKRD-joiZwmh1.mjs +112 -0
  101. package/dist/chunks/diagram-G4DWMVQ6-3CAnipxw.cjs +24 -0
  102. package/dist/chunks/diagram-G4DWMVQ6-DrvbpYBX.mjs +546 -0
  103. package/dist/chunks/diagram-MMDJMWI5-B3CwY62T.mjs +234 -0
  104. package/dist/chunks/diagram-MMDJMWI5-DMrk0xwH.cjs +43 -0
  105. package/dist/chunks/diagram-TYMM5635-B3g66i1E.mjs +144 -0
  106. package/dist/chunks/diagram-TYMM5635-BAuYHtjV.cjs +24 -0
  107. package/dist/chunks/erDiagram-SMLLAGMA-4Ks-44BH.cjs +85 -0
  108. package/dist/chunks/erDiagram-SMLLAGMA-Bw6U_hHz.mjs +1712 -0
  109. package/dist/chunks/flowDiagram-DWJPFMVM-D2yMfIFs.mjs +4175 -0
  110. package/dist/chunks/flowDiagram-DWJPFMVM-O6dDtont.cjs +162 -0
  111. package/dist/chunks/ganttDiagram-T4ZO3ILL-D-ymktbJ.cjs +292 -0
  112. package/dist/chunks/ganttDiagram-T4ZO3ILL-SEs0Ez0p.mjs +3083 -0
  113. package/dist/chunks/gitGraph-7Q5UKJZL-BLhgGqhG.cjs +1 -0
  114. package/dist/chunks/gitGraph-7Q5UKJZL-DbRxS8Lo.mjs +3 -0
  115. package/dist/chunks/gitGraphDiagram-UUTBAWPF-BSuqMw-A.cjs +106 -0
  116. package/dist/chunks/gitGraphDiagram-UUTBAWPF-BpVIPN2N.mjs +792 -0
  117. package/dist/chunks/graphlib-C2L_nEcM.cjs +1 -0
  118. package/dist/chunks/graphlib-Cpp6Todw.mjs +225 -0
  119. package/dist/chunks/i18next-loader-BJAXtkt3.cjs +1 -0
  120. package/dist/chunks/i18next-loader-dnJtS6Nb.mjs +35 -0
  121. package/dist/chunks/info-OMHHGYJF-BRxQdcvB.mjs +3 -0
  122. package/dist/chunks/info-OMHHGYJF-Cb4wPKNP.cjs +1 -0
  123. package/dist/chunks/infoDiagram-42DDH7IO-BNAE_Dp2.cjs +2 -0
  124. package/dist/chunks/infoDiagram-42DDH7IO-JYmpv-Gn.mjs +29 -0
  125. package/dist/chunks/isEmpty-BYDpYNyM.cjs +1 -0
  126. package/dist/chunks/isEmpty-Bgy1eL0m.mjs +35 -0
  127. package/dist/chunks/ishikawaDiagram-UXIWVN3A-Ca_1igMn.cjs +70 -0
  128. package/dist/chunks/ishikawaDiagram-UXIWVN3A-ClkZz1Tc.mjs +719 -0
  129. package/dist/chunks/journeyDiagram-VCZTEJTY-BTzeo896.mjs +885 -0
  130. package/dist/chunks/journeyDiagram-VCZTEJTY-D69nfb5v.cjs +139 -0
  131. package/dist/chunks/kanban-definition-6JOO6SKY-BTSuFyjj.cjs +89 -0
  132. package/dist/chunks/kanban-definition-6JOO6SKY-C2Jk5rDA.mjs +980 -0
  133. package/dist/chunks/lightweight-i18n-T_Nc45AF.cjs +1 -0
  134. package/dist/chunks/lightweight-i18n-qpzXlOVm.mjs +344 -0
  135. package/dist/chunks/line-CjJKN63i.cjs +1 -0
  136. package/dist/chunks/line-zarcRAiW.mjs +34 -0
  137. package/dist/chunks/linear-CDUWrVHa.cjs +1 -0
  138. package/dist/chunks/linear-CXe29GGg.mjs +289 -0
  139. package/dist/chunks/mdast-util-math-BfFBcnFx.cjs +5 -0
  140. package/dist/chunks/mdast-util-math-CqPx3t0S.mjs +151 -0
  141. package/dist/chunks/mermaid-parser.core-BXANIhlc.mjs +57 -0
  142. package/dist/chunks/mermaid-parser.core-DMmP6uoD.cjs +3 -0
  143. package/dist/chunks/mermaid.core-A4e6ZJqs.mjs +977 -0
  144. package/dist/chunks/mermaid.core-C66G0J-z.cjs +10 -0
  145. package/dist/chunks/messages--BWLKiOP2.mjs +319 -0
  146. package/dist/chunks/messages--LI6Qp0h.mjs +319 -0
  147. package/dist/chunks/messages-4TiLLTpr2.cjs +1 -0
  148. package/dist/chunks/messages-7ul_s8GB2.mjs +319 -0
  149. package/dist/chunks/messages-8BZGqPD1.cjs +1 -0
  150. package/dist/chunks/messages-96ztlozp.cjs +1 -0
  151. package/dist/chunks/messages-B-_ZQLp5.mjs +319 -0
  152. package/dist/chunks/messages-B1YSYW3Y.cjs +1 -0
  153. package/dist/chunks/messages-B3E33lPt2.mjs +319 -0
  154. package/dist/chunks/messages-BABN8cuN.mjs +319 -0
  155. package/dist/chunks/messages-BDAXqxYw.cjs +1 -0
  156. package/dist/chunks/messages-BE0YZo6f.cjs +1 -0
  157. package/dist/chunks/messages-BIg9D7T52.cjs +1 -0
  158. package/dist/chunks/messages-BKtPvquH2.mjs +319 -0
  159. package/dist/chunks/messages-BMKq6Ps12.cjs +1 -0
  160. package/dist/chunks/messages-BMqvMau_2.mjs +319 -0
  161. package/dist/chunks/messages-BNmaVDtf.mjs +319 -0
  162. package/dist/chunks/messages-BRRMkfZY2.cjs +1 -0
  163. package/dist/chunks/messages-BUg0EGM6.cjs +1 -0
  164. package/dist/chunks/messages-BV88VXs-2.mjs +319 -0
  165. package/dist/chunks/messages-BVAjj_W_2.mjs +319 -0
  166. package/dist/chunks/messages-BWd6mmTm.mjs +319 -0
  167. package/dist/chunks/messages-BXce9Dbm.mjs +319 -0
  168. package/dist/chunks/messages-B_OU8dr_.mjs +319 -0
  169. package/dist/chunks/messages-B_VpqVFy.mjs +319 -0
  170. package/dist/chunks/messages-B_t9669l.mjs +319 -0
  171. package/dist/chunks/messages-Begh-7SQ.cjs +1 -0
  172. package/dist/chunks/messages-BfTeMiOT.cjs +1 -0
  173. package/dist/chunks/messages-BguYUD04.cjs +1 -0
  174. package/dist/chunks/messages-Bi5NKhkL.cjs +1 -0
  175. package/dist/chunks/messages-BliJJjNK2.cjs +1 -0
  176. package/dist/chunks/messages-BmSnovX9.cjs +1 -0
  177. package/dist/chunks/messages-BoZAdwRU2.mjs +319 -0
  178. package/dist/chunks/messages-Bp-PMdAJ.mjs +319 -0
  179. package/dist/chunks/messages-BphoNqXl2.mjs +319 -0
  180. package/dist/chunks/messages-Bs5HM4rw2.cjs +1 -0
  181. package/dist/chunks/messages-BtZSlvVR.cjs +1 -0
  182. package/dist/chunks/messages-Btg_N5Nj2.cjs +1 -0
  183. package/dist/chunks/messages-C67MLHmh.cjs +1 -0
  184. package/dist/chunks/messages-C6RXCX1D2.mjs +319 -0
  185. package/dist/chunks/messages-C6Zo4thu.mjs +319 -0
  186. package/dist/chunks/messages-C7QEUxQf2.cjs +1 -0
  187. package/dist/chunks/messages-CB-RDoMj2.cjs +1 -0
  188. package/dist/chunks/messages-CBOtPEE5.cjs +1 -0
  189. package/dist/chunks/messages-CBoKI_4k2.mjs +319 -0
  190. package/dist/chunks/messages-CCMMPgcH.mjs +319 -0
  191. package/dist/chunks/messages-CFvaU-9Q2.mjs +319 -0
  192. package/dist/chunks/messages-CHDxRwD8.mjs +319 -0
  193. package/dist/chunks/messages-CJWSRA8r.cjs +1 -0
  194. package/dist/chunks/messages-CJaj0WrV.mjs +319 -0
  195. package/dist/chunks/messages-CLnZAk7s.mjs +319 -0
  196. package/dist/chunks/messages-CNWWk9zU.cjs +1 -0
  197. package/dist/chunks/messages-CO4IPaU22.mjs +319 -0
  198. package/dist/chunks/messages-CQii-Hly.mjs +319 -0
  199. package/dist/chunks/messages-CSPoZeJd.cjs +1 -0
  200. package/dist/chunks/messages-CThWJOaj2.cjs +1 -0
  201. package/dist/chunks/messages-CWbag2W1.mjs +319 -0
  202. package/dist/chunks/messages-CWfPtitC.mjs +319 -0
  203. package/dist/chunks/messages-CYh8BT-U2.cjs +1 -0
  204. package/dist/chunks/messages-CZAwmrBN2.mjs +319 -0
  205. package/dist/chunks/messages-CcmzbJED2.mjs +319 -0
  206. package/dist/chunks/messages-Cdp2ao16.cjs +1 -0
  207. package/dist/chunks/messages-CeSGFPaX.mjs +319 -0
  208. package/dist/chunks/messages-CfmN_C_V2.cjs +1 -0
  209. package/dist/chunks/messages-CgTWiYXl.mjs +319 -0
  210. package/dist/chunks/messages-CiqFmj282.mjs +319 -0
  211. package/dist/chunks/messages-Cj1I1bdS.mjs +319 -0
  212. package/dist/chunks/messages-CktwPONk2.cjs +1 -0
  213. package/dist/chunks/messages-ClMbt_082.cjs +1 -0
  214. package/dist/chunks/messages-ClfpoVLB.cjs +1 -0
  215. package/dist/chunks/messages-CmcpUpmY2.cjs +1 -0
  216. package/dist/chunks/messages-CnNUiCOF2.cjs +1 -0
  217. package/dist/chunks/messages-Cq-tyBQ7.cjs +1 -0
  218. package/dist/chunks/messages-Cqs6tnMT.mjs +319 -0
  219. package/dist/chunks/messages-CrPQatEP.cjs +1 -0
  220. package/dist/chunks/messages-CtNhn2A72.cjs +1 -0
  221. package/dist/chunks/messages-Cw-JQsbB.cjs +1 -0
  222. package/dist/chunks/messages-CxLZNPP22.mjs +319 -0
  223. package/dist/chunks/messages-D2to7PFh.mjs +319 -0
  224. package/dist/chunks/messages-D7GNxw46.cjs +1 -0
  225. package/dist/chunks/messages-DDqbUQPS2.cjs +1 -0
  226. package/dist/chunks/messages-DIsfRggy.mjs +319 -0
  227. package/dist/chunks/messages-DLvqdeVe.mjs +319 -0
  228. package/dist/chunks/messages-DMukq8ei2.cjs +1 -0
  229. package/dist/chunks/messages-DOJ7TGKc.mjs +319 -0
  230. package/dist/chunks/messages-DPpKBEMV.mjs +319 -0
  231. package/dist/chunks/messages-DWDt4hEW.mjs +319 -0
  232. package/dist/chunks/messages-DYPc3t5L.cjs +1 -0
  233. package/dist/chunks/messages-DYRRi1JW.mjs +319 -0
  234. package/dist/chunks/messages-DYbP7_iL.cjs +1 -0
  235. package/dist/chunks/messages-D_gbD8W22.mjs +319 -0
  236. package/dist/chunks/messages-DaQ1XgNk.mjs +319 -0
  237. package/dist/chunks/messages-DjW1_-Ba2.mjs +319 -0
  238. package/dist/chunks/messages-Dop11yxi.mjs +319 -0
  239. package/dist/chunks/messages-DoyFY1Ye.mjs +319 -0
  240. package/dist/chunks/messages-DpjZ6YjX.cjs +1 -0
  241. package/dist/chunks/messages-DprfonW1.mjs +319 -0
  242. package/dist/chunks/messages-Dq8w46wu.cjs +1 -0
  243. package/dist/chunks/messages-DqbBTg1F2.mjs +319 -0
  244. package/dist/chunks/messages-DsGOj3A62.cjs +1 -0
  245. package/dist/chunks/messages-Dt6sbdaY.mjs +319 -0
  246. package/dist/chunks/messages-Dv3xqn-c.mjs +319 -0
  247. package/dist/chunks/messages-DwZCK3WR2.cjs +1 -0
  248. package/dist/chunks/messages-G-grLA6L2.cjs +1 -0
  249. package/dist/chunks/messages-HmyGBKiy2.cjs +1 -0
  250. package/dist/chunks/messages-IsKrH6md2.mjs +319 -0
  251. package/dist/chunks/messages-L1H9KlM8.cjs +1 -0
  252. package/dist/chunks/messages-OwCNaUA2.cjs +1 -0
  253. package/dist/chunks/messages-Q1fgq2tw.cjs +1 -0
  254. package/dist/chunks/messages-RLMDvD9N.mjs +319 -0
  255. package/dist/chunks/messages-SGrUP3jU2.mjs +319 -0
  256. package/dist/chunks/messages-TET2HqbJ.mjs +319 -0
  257. package/dist/chunks/messages-UR9AknuE.cjs +1 -0
  258. package/dist/chunks/messages-UXbrSqP4.mjs +319 -0
  259. package/dist/chunks/messages-UlQUIo4t.cjs +1 -0
  260. package/dist/chunks/messages-VO5bBaDw2.cjs +1 -0
  261. package/dist/chunks/messages-Vz-ouTEN.mjs +319 -0
  262. package/dist/chunks/messages-Z5hg0_Dz2.mjs +319 -0
  263. package/dist/chunks/messages-bBZDrpto2.mjs +319 -0
  264. package/dist/chunks/messages-ipwQdTtE.cjs +1 -0
  265. package/dist/chunks/messages-jXbN1DEs.mjs +319 -0
  266. package/dist/chunks/messages-kon7ablY2.cjs +1 -0
  267. package/dist/chunks/messages-oeTrLt0-.cjs +1 -0
  268. package/dist/chunks/messages-qga5_rrO.cjs +1 -0
  269. package/dist/chunks/messages-sEnNaZIo.cjs +1 -0
  270. package/dist/chunks/messages-szOBKu5g.cjs +1 -0
  271. package/dist/chunks/messages-tZ7nZ7qL.cjs +1 -0
  272. package/dist/chunks/messages-u_dR89Qy.mjs +319 -0
  273. package/dist/chunks/messages-wDo4f3f9.cjs +1 -0
  274. package/dist/chunks/messages-wxVdFEgz2.mjs +319 -0
  275. package/dist/chunks/messages-x3ljzuuQ2.cjs +1 -0
  276. package/dist/chunks/messages-x6wDbfws2.mjs +319 -0
  277. package/dist/chunks/messages-ygmjC_Dc.cjs +1 -0
  278. package/dist/chunks/messages-zPVJyoxM.cjs +1 -0
  279. package/dist/chunks/micromark-extension-math-Cm8w3ABm.cjs +1 -0
  280. package/dist/chunks/micromark-extension-math-cDSPzUWY.mjs +169 -0
  281. package/dist/chunks/mindmap-definition-QFDTVHPH-DLO594eM.cjs +96 -0
  282. package/dist/chunks/mindmap-definition-QFDTVHPH-QxqvL96A.mjs +1013 -0
  283. package/dist/chunks/notifier-CfO3Icvp.cjs +1 -0
  284. package/dist/chunks/notifier-DMdYq9FS.mjs +73 -0
  285. package/dist/chunks/ordinal-DgAmiD5I.mjs +65 -0
  286. package/dist/chunks/ordinal-mgpK7IL3.cjs +1 -0
  287. package/dist/chunks/packet-4T2RLAQJ-BQYK4Pey.cjs +1 -0
  288. package/dist/chunks/packet-4T2RLAQJ-BwgNXqij.mjs +3 -0
  289. package/dist/chunks/pie-ZZUOXDRM-BLh1-ocA.cjs +1 -0
  290. package/dist/chunks/pie-ZZUOXDRM-CrDtyZu4.mjs +3 -0
  291. package/dist/chunks/pieDiagram-DEJITSTG-CGduyUgA.mjs +179 -0
  292. package/dist/chunks/pieDiagram-DEJITSTG-Do5jGsL7.cjs +30 -0
  293. package/dist/chunks/prism-bash-OGjZLOVe.cjs +1 -0
  294. package/dist/chunks/prism-bash-oISNNULp.mjs +175 -0
  295. package/dist/chunks/prism-c-1g9CdJOp.cjs +1 -0
  296. package/dist/chunks/prism-c-MtM8JocP.mjs +54 -0
  297. package/dist/chunks/prism-cpp-CORR584T.cjs +1 -0
  298. package/dist/chunks/prism-cpp-DswQJFJz.mjs +63 -0
  299. package/dist/chunks/prism-csharp-BqZp_TTb.cjs +1 -0
  300. package/dist/chunks/prism-csharp-GIfQrsqe.mjs +236 -0
  301. package/dist/chunks/prism-css-BLyqeHZR.mjs +55 -0
  302. package/dist/chunks/prism-css-DmF38Kcs.cjs +1 -0
  303. package/dist/chunks/prism-dart-CFseeodJ.cjs +1 -0
  304. package/dist/chunks/prism-dart-DbCi1QVI.mjs +52 -0
  305. package/dist/chunks/prism-docker-BOsXo4aW.cjs +1 -0
  306. package/dist/chunks/prism-docker-CUCbqggk.mjs +75 -0
  307. package/dist/chunks/prism-go-DVHXGmKb.mjs +20 -0
  308. package/dist/chunks/prism-go-DsEyoP6D.cjs +1 -0
  309. package/dist/chunks/prism-graphql-DGEYZFbw.mjs +114 -0
  310. package/dist/chunks/prism-graphql-DqXh7GRP.cjs +1 -0
  311. package/dist/chunks/prism-java-CzQtfd6W.mjs +99 -0
  312. package/dist/chunks/prism-java-DQn4zrh0.cjs +1 -0
  313. package/dist/chunks/prism-javascript-CAkVOGaq.mjs +101 -0
  314. package/dist/chunks/prism-javascript-UQPp4ffL.cjs +1 -0
  315. package/dist/chunks/prism-json-B-63BF6R.cjs +1 -0
  316. package/dist/chunks/prism-json-BSGjg8pt.mjs +25 -0
  317. package/dist/chunks/prism-kotlin-D9r_epW6.mjs +64 -0
  318. package/dist/chunks/prism-kotlin-DmCIViWe.cjs +1 -0
  319. package/dist/chunks/prism-latex-Bcpg2uQr.cjs +1 -0
  320. package/dist/chunks/prism-latex-o70KNu9w.mjs +43 -0
  321. package/dist/chunks/prism-lua-7od8jpGg.mjs +17 -0
  322. package/dist/chunks/prism-lua-DyMxrgA_.cjs +1 -0
  323. package/dist/chunks/prism-markdown-BY8dZr_8.cjs +1 -0
  324. package/dist/chunks/prism-markdown-CI62y6qt.mjs +251 -0
  325. package/dist/chunks/prism-markup-DFqZi51m.mjs +116 -0
  326. package/dist/chunks/prism-markup-OdaHxDBn.cjs +1 -0
  327. package/dist/chunks/prism-markup-templating-Cnde-rJf.cjs +1 -0
  328. package/dist/chunks/prism-markup-templating-DTIDwO2f.mjs +39 -0
  329. package/dist/chunks/prism-php-BFUaOiLc.mjs +277 -0
  330. package/dist/chunks/prism-php-D8NgAYtH.cjs +1 -0
  331. package/dist/chunks/prism-python-CTRSlrPP.mjs +59 -0
  332. package/dist/chunks/prism-python-vAqxHcox.cjs +1 -0
  333. package/dist/chunks/prism-r-AA_ZuQPX.mjs +19 -0
  334. package/dist/chunks/prism-r-BsUW1w_m.cjs +1 -0
  335. package/dist/chunks/prism-ruby-BttDevO3.mjs +156 -0
  336. package/dist/chunks/prism-ruby-D7wGSPCx.cjs +1 -0
  337. package/dist/chunks/prism-rust-1wrW82hd.mjs +92 -0
  338. package/dist/chunks/prism-rust-C65Pn3Oc.cjs +1 -0
  339. package/dist/chunks/prism-scala-C26iL30s.mjs +43 -0
  340. package/dist/chunks/prism-scala-DuAsLUh6.cjs +1 -0
  341. package/dist/chunks/prism-sql-CSv-2hNx.mjs +29 -0
  342. package/dist/chunks/prism-sql-DHhl_Wd1.cjs +1 -0
  343. package/dist/chunks/prism-swift-2HH6IALG.cjs +1 -0
  344. package/dist/chunks/prism-swift-ik83oO-E.mjs +94 -0
  345. package/dist/chunks/prism-typescript-ChaS5gh3.mjs +38 -0
  346. package/dist/chunks/prism-typescript-Cuqi9QKv.cjs +1 -0
  347. package/dist/chunks/prism-yaml-BT2oArqa.cjs +1 -0
  348. package/dist/chunks/prism-yaml-YI3VZVAw.mjs +68 -0
  349. package/dist/chunks/quadrantDiagram-34T5L4WZ-BdwmsqYk.cjs +7 -0
  350. package/dist/chunks/quadrantDiagram-34T5L4WZ-BiqiWPbj.mjs +1960 -0
  351. package/dist/chunks/radar-PYXPWWZC-CYtB39az.mjs +3 -0
  352. package/dist/chunks/radar-PYXPWWZC-Drac9aGm.cjs +1 -0
  353. package/dist/chunks/requirementDiagram-MS252O5E-Cko4AhA2.mjs +2224 -0
  354. package/dist/chunks/requirementDiagram-MS252O5E-DBRLVWVl.cjs +84 -0
  355. package/dist/chunks/sankeyDiagram-XADWPNL6-BFWIr9AZ.mjs +909 -0
  356. package/dist/chunks/sankeyDiagram-XADWPNL6-Dq3Fi6gG.cjs +10 -0
  357. package/dist/chunks/sequenceDiagram-FGHM5R23-BKKZAG9O.cjs +157 -0
  358. package/dist/chunks/sequenceDiagram-FGHM5R23-DHFzzYeT.mjs +4181 -0
  359. package/dist/chunks/stateDiagram-FHFEXIEX-B1vJTyiJ.mjs +218 -0
  360. package/dist/chunks/stateDiagram-FHFEXIEX-DsHbgVAE.cjs +1 -0
  361. package/dist/chunks/stateDiagram-v2-QKLJ7IA2-DC206QSk.mjs +28 -0
  362. package/dist/chunks/stateDiagram-v2-QKLJ7IA2-DzkxV3pL.cjs +1 -0
  363. package/dist/chunks/timeline-definition-GMOUNBTQ-BlXvHIKp.mjs +1084 -0
  364. package/dist/chunks/timeline-definition-GMOUNBTQ-durCMWAX.cjs +120 -0
  365. package/dist/chunks/tools-CPzDYrWa.cjs +115 -0
  366. package/dist/chunks/tools-JNr7LO1_.mjs +13853 -0
  367. package/dist/chunks/treeView-SZITEDCU-BpLDxB8w.cjs +1 -0
  368. package/dist/chunks/treeView-SZITEDCU-DIbHFtMw.mjs +3 -0
  369. package/dist/chunks/treemap-W4RFUUIX-4t60SvLo.mjs +3 -0
  370. package/dist/chunks/treemap-W4RFUUIX-jpjSZokO.cjs +1 -0
  371. package/dist/chunks/vennDiagram-DHZGUBPP-BVxAvXiG.mjs +1876 -0
  372. package/dist/chunks/vennDiagram-DHZGUBPP-Dtpe6giP.cjs +34 -0
  373. package/dist/chunks/wardley-RL74JXVD-CBBTKC3H.cjs +1 -0
  374. package/dist/chunks/wardley-RL74JXVD-g5DNBeQ1.mjs +3 -0
  375. package/dist/chunks/wardleyDiagram-NUSXRM2D-BGORQqtQ.mjs +594 -0
  376. package/dist/chunks/wardleyDiagram-NUSXRM2D-ClsU-9PV.cjs +20 -0
  377. package/dist/chunks/xychartDiagram-5P7HB3ND-DplTzQI6.mjs +2017 -0
  378. package/dist/chunks/xychartDiagram-5P7HB3ND-EO18s7Fo.cjs +7 -0
  379. package/dist/full.cjs +1 -1
  380. package/dist/full.mjs +9 -9
  381. package/dist/locales.mjs +175 -68
  382. package/dist/markdown.cjs +2 -2
  383. package/dist/markdown.mjs +392 -384
  384. package/dist/messages-28LGzsNB.mjs +319 -0
  385. package/dist/messages-35X8GsGw2.mjs +319 -0
  386. package/dist/messages-5ygX-4B92.mjs +319 -0
  387. package/dist/messages-83AcZNii.mjs +319 -0
  388. package/dist/messages-B-OvX3Vz2.mjs +319 -0
  389. package/dist/messages-B56oJj_X2.mjs +319 -0
  390. package/dist/messages-B7peBJXJ2.mjs +319 -0
  391. package/dist/messages-BGwTNk0S2.mjs +319 -0
  392. package/dist/messages-BH-SS-wY.mjs +319 -0
  393. package/dist/messages-BPX8V6tu.mjs +319 -0
  394. package/dist/messages-BUp8P-0d.mjs +319 -0
  395. package/dist/messages-BX3WM02N2.mjs +319 -0
  396. package/dist/messages-BZrMZvRb2.mjs +319 -0
  397. package/dist/messages-B_0akf3T.mjs +319 -0
  398. package/dist/messages-BaE65Wtr.mjs +319 -0
  399. package/dist/messages-BdSGtvzM.mjs +319 -0
  400. package/dist/messages-BerXSWcD.mjs +319 -0
  401. package/dist/messages-BqKaz7yB2.mjs +319 -0
  402. package/dist/messages-BrqBJ6W_2.mjs +319 -0
  403. package/dist/messages-BvgGIpxE2.mjs +319 -0
  404. package/dist/messages-BxSe3rKx.mjs +319 -0
  405. package/dist/messages-ByD9AIJL2.mjs +319 -0
  406. package/dist/messages-CDJS_Tu2.mjs +319 -0
  407. package/dist/messages-CF9R29jb.mjs +319 -0
  408. package/dist/messages-CIbK29nM.mjs +319 -0
  409. package/dist/messages-CMD0tgb2.mjs +319 -0
  410. package/dist/messages-CMW0tO_d2.mjs +319 -0
  411. package/dist/messages-CMrYQJ5x2.mjs +319 -0
  412. package/dist/messages-CQZJnkss2.mjs +319 -0
  413. package/dist/messages-CRnolvNg.mjs +319 -0
  414. package/dist/messages-CS74u2hS2.mjs +319 -0
  415. package/dist/messages-CTxao0S32.mjs +319 -0
  416. package/dist/messages-CZl83L7T.mjs +319 -0
  417. package/dist/messages-C_kloJSr.mjs +319 -0
  418. package/dist/messages-Cfe_CPBW.mjs +319 -0
  419. package/dist/messages-Ch0oiQp5.mjs +319 -0
  420. package/dist/messages-Cigiz7tI.mjs +319 -0
  421. package/dist/messages-Cjac781Z.mjs +319 -0
  422. package/dist/messages-CqVFa1ZA.mjs +319 -0
  423. package/dist/messages-CwDgZL5-.mjs +319 -0
  424. package/dist/messages-Czd64cAx.mjs +319 -0
  425. package/dist/messages-CzxMz1wI.mjs +319 -0
  426. package/dist/messages-D2SkVxgV.mjs +319 -0
  427. package/dist/messages-D4ZsN52E2.mjs +319 -0
  428. package/dist/messages-DG0aBs1m2.mjs +319 -0
  429. package/dist/messages-DIkQAMxZ2.mjs +319 -0
  430. package/dist/messages-DJBc5_b_2.mjs +319 -0
  431. package/dist/messages-DN8oOcrS.mjs +319 -0
  432. package/dist/messages-DV5yhL0q.mjs +319 -0
  433. package/dist/messages-DVI1iDTn2.mjs +319 -0
  434. package/dist/messages-DVzrCNrY.mjs +319 -0
  435. package/dist/messages-DXwJOr-H2.mjs +319 -0
  436. package/dist/messages-D_edVQrv.mjs +319 -0
  437. package/dist/messages-DbODRieP.mjs +319 -0
  438. package/dist/messages-KMQrhAva.mjs +319 -0
  439. package/dist/messages-L4NsHX-g.mjs +319 -0
  440. package/dist/messages-PPuF4CRy.mjs +319 -0
  441. package/dist/messages-UTJEPSiL.mjs +319 -0
  442. package/dist/messages-Wa5EXypv2.mjs +319 -0
  443. package/dist/messages-Wfxn9jZh.mjs +319 -0
  444. package/dist/messages-XieI4326.mjs +319 -0
  445. package/dist/messages-ZASZzduy.mjs +319 -0
  446. package/dist/messages-Z_3X1FJJ2.mjs +319 -0
  447. package/dist/messages-huyV3ICu.mjs +319 -0
  448. package/dist/messages-rd6zBwaX2.mjs +319 -0
  449. package/dist/messages-sBpTj74Q.mjs +319 -0
  450. package/dist/messages-twD0eDdc.mjs +319 -0
  451. package/dist/react.cjs +1 -1
  452. package/dist/react.mjs +25 -26
  453. package/dist/tools.cjs +1 -1
  454. package/dist/tools.mjs +3 -3
  455. package/dist/vendor.LICENSE.txt +141 -899
  456. package/package.json +11 -5
  457. package/src/components/block-tunes/block-tune-copy-link.ts +2 -2
  458. package/src/components/constants/data-attributes.ts +2 -0
  459. package/src/components/dom.ts +4 -2
  460. package/src/components/i18n/locales/am/messages.json +109 -1
  461. package/src/components/i18n/locales/ar/messages.json +109 -1
  462. package/src/components/i18n/locales/az/messages.json +109 -1
  463. package/src/components/i18n/locales/bg/messages.json +109 -1
  464. package/src/components/i18n/locales/bn/messages.json +109 -1
  465. package/src/components/i18n/locales/bs/messages.json +109 -1
  466. package/src/components/i18n/locales/cs/messages.json +109 -1
  467. package/src/components/i18n/locales/da/messages.json +109 -1
  468. package/src/components/i18n/locales/de/messages.json +110 -2
  469. package/src/components/i18n/locales/dv/messages.json +109 -1
  470. package/src/components/i18n/locales/el/messages.json +109 -1
  471. package/src/components/i18n/locales/en/messages.json +108 -1
  472. package/src/components/i18n/locales/es/messages.json +109 -1
  473. package/src/components/i18n/locales/et/messages.json +109 -1
  474. package/src/components/i18n/locales/fa/messages.json +109 -1
  475. package/src/components/i18n/locales/fi/messages.json +109 -1
  476. package/src/components/i18n/locales/fil/messages.json +109 -1
  477. package/src/components/i18n/locales/fr/messages.json +110 -2
  478. package/src/components/i18n/locales/gu/messages.json +109 -1
  479. package/src/components/i18n/locales/he/messages.json +109 -1
  480. package/src/components/i18n/locales/hi/messages.json +109 -1
  481. package/src/components/i18n/locales/hr/messages.json +109 -1
  482. package/src/components/i18n/locales/hu/messages.json +109 -1
  483. package/src/components/i18n/locales/hy/messages.json +109 -1
  484. package/src/components/i18n/locales/id/messages.json +109 -1
  485. package/src/components/i18n/locales/it/messages.json +109 -1
  486. package/src/components/i18n/locales/ja/messages.json +109 -1
  487. package/src/components/i18n/locales/ka/messages.json +109 -1
  488. package/src/components/i18n/locales/km/messages.json +109 -1
  489. package/src/components/i18n/locales/kn/messages.json +109 -1
  490. package/src/components/i18n/locales/ko/messages.json +109 -1
  491. package/src/components/i18n/locales/ku/messages.json +109 -1
  492. package/src/components/i18n/locales/lo/messages.json +109 -1
  493. package/src/components/i18n/locales/lt/messages.json +109 -1
  494. package/src/components/i18n/locales/lv/messages.json +109 -1
  495. package/src/components/i18n/locales/mk/messages.json +109 -1
  496. package/src/components/i18n/locales/ml/messages.json +109 -1
  497. package/src/components/i18n/locales/mn/messages.json +109 -1
  498. package/src/components/i18n/locales/mr/messages.json +109 -1
  499. package/src/components/i18n/locales/ms/messages.json +109 -1
  500. package/src/components/i18n/locales/my/messages.json +109 -1
  501. package/src/components/i18n/locales/ne/messages.json +109 -1
  502. package/src/components/i18n/locales/nl/messages.json +110 -2
  503. package/src/components/i18n/locales/no/messages.json +109 -1
  504. package/src/components/i18n/locales/pa/messages.json +109 -1
  505. package/src/components/i18n/locales/pl/messages.json +109 -1
  506. package/src/components/i18n/locales/ps/messages.json +109 -1
  507. package/src/components/i18n/locales/pt/messages.json +109 -1
  508. package/src/components/i18n/locales/ro/messages.json +109 -1
  509. package/src/components/i18n/locales/ru/messages.json +109 -1
  510. package/src/components/i18n/locales/sd/messages.json +109 -1
  511. package/src/components/i18n/locales/si/messages.json +109 -1
  512. package/src/components/i18n/locales/sk/messages.json +109 -1
  513. package/src/components/i18n/locales/sl/messages.json +109 -1
  514. package/src/components/i18n/locales/sq/messages.json +109 -1
  515. package/src/components/i18n/locales/sr/messages.json +109 -1
  516. package/src/components/i18n/locales/sv/messages.json +109 -1
  517. package/src/components/i18n/locales/sw/messages.json +109 -1
  518. package/src/components/i18n/locales/ta/messages.json +109 -1
  519. package/src/components/i18n/locales/te/messages.json +109 -1
  520. package/src/components/i18n/locales/th/messages.json +109 -1
  521. package/src/components/i18n/locales/tr/messages.json +109 -1
  522. package/src/components/i18n/locales/ug/messages.json +109 -1
  523. package/src/components/i18n/locales/uk/messages.json +109 -1
  524. package/src/components/i18n/locales/ur/messages.json +109 -1
  525. package/src/components/i18n/locales/vi/messages.json +109 -1
  526. package/src/components/i18n/locales/yi/messages.json +109 -1
  527. package/src/components/i18n/locales/zh/messages.json +109 -1
  528. package/src/components/icons/index.ts +59 -0
  529. package/src/components/inline-tools/inline-tool-code.ts +1 -1
  530. package/src/components/modules/api/toolbar.ts +6 -4
  531. package/src/components/modules/blockEvents/index.ts +9 -0
  532. package/src/components/modules/blockManager/operations.ts +14 -1
  533. package/src/components/modules/drag/DragController.ts +24 -3
  534. package/src/components/modules/paste/handlers/files-handler.ts +41 -4
  535. package/src/components/modules/paste/index.ts +159 -3
  536. package/src/components/modules/paste/tool-registry.ts +22 -12
  537. package/src/components/modules/toolbar/blockSettings.ts +14 -2
  538. package/src/components/modules/toolbar/index.ts +49 -16
  539. package/src/components/modules/toolbar/inline/selection-validator.ts +17 -0
  540. package/src/components/modules/toolbar/plus-button.ts +4 -2
  541. package/src/components/modules/toolbar/positioning.ts +27 -0
  542. package/src/components/modules/toolbar/settings-toggler.ts +16 -5
  543. package/src/components/modules/toolbar/tooltip.ts +59 -15
  544. package/src/components/modules/ui.ts +23 -8
  545. package/src/components/ui/toolbox.ts +92 -7
  546. package/src/components/utils/data-model-transform.ts +71 -1
  547. package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.const.ts +5 -4
  548. package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.ts +1 -0
  549. package/src/components/utils/popover/components/popover-item/popover-item-separator/popover-item-separator.const.ts +1 -1
  550. package/src/components/utils/popover/components/search-input/search-input.const.ts +3 -3
  551. package/src/components/utils/popover/popover-abstract.ts +137 -2
  552. package/src/components/utils/popover/popover-desktop.ts +260 -14
  553. package/src/components/utils/popover/popover-inline.ts +3 -2
  554. package/src/components/utils/popover/popover-nested-position.ts +132 -0
  555. package/src/components/utils/popover/popover-position.ts +46 -5
  556. package/src/components/utils/popover/popover.const.ts +6 -3
  557. package/src/components/utils/tooltip.ts +52 -8
  558. package/src/components/utils/top-layer.ts +137 -0
  559. package/src/playground/block-states-gallery.ts +123 -0
  560. package/src/playground/icon-gallery.ts +346 -0
  561. package/src/styles/checklist.css +70 -0
  562. package/src/styles/colors.css +723 -0
  563. package/src/styles/database.css +1176 -0
  564. package/src/styles/emoji-picker.css +58 -0
  565. package/src/styles/fonts.css +33 -0
  566. package/src/styles/image.css +1021 -0
  567. package/src/styles/isolation.css +204 -0
  568. package/src/styles/keyframes.css +62 -0
  569. package/src/styles/main.css +144 -2540
  570. package/src/styles/popover-animation.css +34 -0
  571. package/src/styles/preflight.css +283 -0
  572. package/src/styles/slash-search.css +52 -0
  573. package/src/styles/tables.css +154 -0
  574. package/src/styles/tokens.css +127 -0
  575. package/src/tools/callout/emoji-picker/index.ts +4 -2
  576. package/src/tools/callout/index.ts +0 -1
  577. package/src/tools/code/code-keyboard.ts +70 -8
  578. package/src/tools/code/constants.ts +3 -9
  579. package/src/tools/code/dom-builder.ts +5 -1
  580. package/src/tools/code/index.ts +202 -25
  581. package/src/tools/code/language-detector.ts +47 -52
  582. package/src/tools/code/prism-applier.ts +183 -0
  583. package/src/tools/code/prism-loader.ts +197 -0
  584. package/src/tools/database/database-board-view.ts +4 -2
  585. package/src/tools/database/database-card-drawer.ts +3 -2
  586. package/src/tools/database/database-list-view.ts +1 -1
  587. package/src/tools/database/database-model.ts +15 -3
  588. package/src/tools/database/database-property-type-popover.ts +14 -10
  589. package/src/tools/database/database-tab-bar.ts +9 -3
  590. package/src/tools/database/database-view-popover.ts +15 -7
  591. package/src/tools/database/index.ts +0 -2
  592. package/src/tools/header/index.ts +6 -6
  593. package/src/tools/image/alt-popover.css +42 -0
  594. package/src/tools/image/alt-popover.ts +104 -0
  595. package/src/tools/image/constants.ts +25 -0
  596. package/src/tools/image/crop-editor.css +513 -0
  597. package/src/tools/image/crop-editor.ts +331 -0
  598. package/src/tools/image/crop-math.ts +117 -0
  599. package/src/tools/image/crop-modal.css +105 -0
  600. package/src/tools/image/crop-modal.ts +92 -0
  601. package/src/tools/image/empty-state.ts +407 -0
  602. package/src/tools/image/error-state.ts +69 -0
  603. package/src/tools/image/errors.ts +18 -0
  604. package/src/tools/image/i18n.ts +8 -0
  605. package/src/tools/image/index.ts +754 -0
  606. package/src/tools/image/resizer.ts +119 -0
  607. package/src/tools/image/spring.ts +16 -0
  608. package/src/tools/image/ui.ts +926 -0
  609. package/src/tools/image/uploader.ts +61 -0
  610. package/src/tools/image/uploading-state.ts +117 -0
  611. package/src/tools/index.ts +2 -0
  612. package/src/tools/list/style-config.ts +0 -3
  613. package/src/tools/paragraph/index.ts +0 -1
  614. package/src/tools/quote/index.ts +0 -1
  615. package/src/tools/table/index.ts +0 -1
  616. package/src/tools/toggle/constants.ts +3 -1
  617. package/src/tools/toggle/index.ts +0 -1
  618. package/src/types-internal/prismjs-components.d.ts +9 -0
  619. package/types/api/toolbar.d.ts +14 -1
  620. package/types/configs/blok-config.d.ts +24 -0
  621. package/types/tools/image.d.ts +72 -0
  622. package/types/utils/popover/popover.d.ts +27 -0
  623. package/dist/chunks/_basePickBy-6gOwWeg0.mjs +0 -166
  624. package/dist/chunks/_basePickBy-mUHvTE6c.cjs +0 -1
  625. package/dist/chunks/_baseUniq-BP5sM8qF.cjs +0 -1
  626. package/dist/chunks/_baseUniq-BcOWmEX6.mjs +0 -682
  627. package/dist/chunks/arc-kVpio4JL.mjs +0 -80
  628. package/dist/chunks/arc-lSzOinJz.cjs +0 -1
  629. package/dist/chunks/architecture-YZFGNWBL-BFcrDSEW.mjs +0 -3
  630. package/dist/chunks/architecture-YZFGNWBL-D91d5pcl.cjs +0 -1
  631. package/dist/chunks/architectureDiagram-Q4EWVU46-CN6p4Aji.mjs +0 -4066
  632. package/dist/chunks/architectureDiagram-Q4EWVU46-CyW5N5Ic.cjs +0 -36
  633. package/dist/chunks/blockDiagram-DXYQGD6D-BvZWa5Rv.mjs +0 -3074
  634. package/dist/chunks/blockDiagram-DXYQGD6D-DmhBCLgd.cjs +0 -132
  635. package/dist/chunks/blok-CNEP3LpI.cjs +0 -16
  636. package/dist/chunks/blok-DNvzyOYn.mjs +0 -13679
  637. package/dist/chunks/c-CQrSye6K.mjs +0 -5
  638. package/dist/chunks/c-DNJHkQXQ.cjs +0 -1
  639. package/dist/chunks/c4Diagram-AHTNJAMY-Cmc2PsEs.mjs +0 -2956
  640. package/dist/chunks/c4Diagram-AHTNJAMY-DU2IYTXY.cjs +0 -10
  641. package/dist/chunks/ccount-B7is2MU0.mjs +0 -10
  642. package/dist/chunks/ccount-DtzbJUOh.cjs +0 -1
  643. package/dist/chunks/channel-BTWFNzkv.mjs +0 -5
  644. package/dist/chunks/channel-BqhnS5zl.cjs +0 -1
  645. package/dist/chunks/chunk-2KRD3SAO-COfwt0om.cjs +0 -1
  646. package/dist/chunks/chunk-2KRD3SAO-DWLzBIZw.mjs +0 -20
  647. package/dist/chunks/chunk-336JU56O-CqWDeAp1.cjs +0 -1
  648. package/dist/chunks/chunk-336JU56O-DbaX7hyp.mjs +0 -49
  649. package/dist/chunks/chunk-426QAEUC-MjtXwzdI.cjs +0 -1
  650. package/dist/chunks/chunk-426QAEUC-pmH9mm_X.mjs +0 -13
  651. package/dist/chunks/chunk-4BX2VUAB-B1LZI9QZ.mjs +0 -19
  652. package/dist/chunks/chunk-4BX2VUAB-Zs4zJRk9.cjs +0 -1
  653. package/dist/chunks/chunk-4TB4RGXK-BC8qRYSD.mjs +0 -3250
  654. package/dist/chunks/chunk-4TB4RGXK-Bq0teBqe.cjs +0 -206
  655. package/dist/chunks/chunk-55IACEB6-CaLO8kWA.mjs +0 -8
  656. package/dist/chunks/chunk-55IACEB6-DyTTYuc2.cjs +0 -1
  657. package/dist/chunks/chunk-5FUZZQ4R-6rlcIGG-.cjs +0 -62
  658. package/dist/chunks/chunk-5FUZZQ4R-DAWdfx4J.mjs +0 -3786
  659. package/dist/chunks/chunk-5PVQY5BW-7Voh8aPS.mjs +0 -1122
  660. package/dist/chunks/chunk-5PVQY5BW-DmATt7Fz.cjs +0 -2
  661. package/dist/chunks/chunk-67CJDMHE-DSEGOn_f.mjs +0 -20
  662. package/dist/chunks/chunk-67CJDMHE-zWcmgvwZ.cjs +0 -1
  663. package/dist/chunks/chunk-7N4EOEYR-CAuNhdG9.cjs +0 -1
  664. package/dist/chunks/chunk-7N4EOEYR-CnSg1Hfu.mjs +0 -29
  665. package/dist/chunks/chunk-AA7GKIK3-BmatWFnp.mjs +0 -24
  666. package/dist/chunks/chunk-AA7GKIK3-YMbh5HEs.cjs +0 -1
  667. package/dist/chunks/chunk-BSJP7CBP-BtFfqv7R.mjs +0 -83
  668. package/dist/chunks/chunk-BSJP7CBP-CjkEoJDh.cjs +0 -1
  669. package/dist/chunks/chunk-CIAEETIT-BP9BiKe5.cjs +0 -1
  670. package/dist/chunks/chunk-CIAEETIT-nVgPUEW1.mjs +0 -20
  671. package/dist/chunks/chunk-EDXVE4YY-Bw1v2mUF.cjs +0 -1
  672. package/dist/chunks/chunk-EDXVE4YY-e7599cf4.mjs +0 -26
  673. package/dist/chunks/chunk-ENJZ2VHE-9fAN50L-.cjs +0 -10
  674. package/dist/chunks/chunk-ENJZ2VHE-DaMNdqfV.mjs +0 -566
  675. package/dist/chunks/chunk-FMBD7UC4-CH_SSwhS.cjs +0 -15
  676. package/dist/chunks/chunk-FMBD7UC4-xT5c0WSd.mjs +0 -5
  677. package/dist/chunks/chunk-FOC6F5B3-AxSG6qaj.mjs +0 -20
  678. package/dist/chunks/chunk-FOC6F5B3-ScFIigAO.cjs +0 -1
  679. package/dist/chunks/chunk-ICPOFSXX-DQ4NxQTM.cjs +0 -122
  680. package/dist/chunks/chunk-ICPOFSXX-DbL0YBQf.mjs +0 -3290
  681. package/dist/chunks/chunk-K5T4RW27-BdGvq1o8.cjs +0 -94
  682. package/dist/chunks/chunk-K5T4RW27-CYdwJMQV.mjs +0 -16372
  683. package/dist/chunks/chunk-KGLVRYIC-BwOmLwqF.mjs +0 -20
  684. package/dist/chunks/chunk-KGLVRYIC-uzPiXgAg.cjs +0 -1
  685. package/dist/chunks/chunk-LIHQZDEY-ChgbfPTz.cjs +0 -1
  686. package/dist/chunks/chunk-LIHQZDEY-Csx8-523.mjs +0 -55
  687. package/dist/chunks/chunk-ORNJ4GCN-CCDHRflI.mjs +0 -25
  688. package/dist/chunks/chunk-ORNJ4GCN-HF28XIop.cjs +0 -1
  689. package/dist/chunks/chunk-OYMX7WX6-BAoDgMPF.mjs +0 -2038
  690. package/dist/chunks/chunk-OYMX7WX6-CGUpemDb.cjs +0 -231
  691. package/dist/chunks/chunk-QZHKN3VN-D1myzhE_.mjs +0 -12
  692. package/dist/chunks/chunk-QZHKN3VN-d_ESXyai.cjs +0 -1
  693. package/dist/chunks/chunk-U2HBQHQK-BXyrI_xP.mjs +0 -1875
  694. package/dist/chunks/chunk-U2HBQHQK-D62A_XCV.cjs +0 -70
  695. package/dist/chunks/chunk-X2U36JSP-BEHpYlmW.cjs +0 -1
  696. package/dist/chunks/chunk-X2U36JSP-CXhWYelJ.mjs +0 -68
  697. package/dist/chunks/chunk-XPW4576I-BidQL50C.cjs +0 -32
  698. package/dist/chunks/chunk-XPW4576I-DOztVf6t.mjs +0 -1146
  699. package/dist/chunks/chunk-YZCP3GAM-DrkjtME-.mjs +0 -60
  700. package/dist/chunks/chunk-YZCP3GAM-DuLQPyT4.cjs +0 -1
  701. package/dist/chunks/chunk-ZZ45TVLE-CSFFLvxb.mjs +0 -33
  702. package/dist/chunks/chunk-ZZ45TVLE-CZOUDLGO.cjs +0 -1
  703. package/dist/chunks/classDiagram-6PBFFD2Q-Ci3S9iu3.mjs +0 -30
  704. package/dist/chunks/classDiagram-6PBFFD2Q-GDkPRBlp.cjs +0 -1
  705. package/dist/chunks/classDiagram-v2-HSJHXN6E-B4vt694Q.cjs +0 -1
  706. package/dist/chunks/classDiagram-v2-HSJHXN6E-BkaFKbgJ.mjs +0 -30
  707. package/dist/chunks/clone-WSLD7bVs.mjs +0 -8
  708. package/dist/chunks/clone-_XTzxdN3.cjs +0 -1
  709. package/dist/chunks/constants-DJjFgioo.cjs +0 -451
  710. package/dist/chunks/constants-DMsOCPcF.mjs +0 -3268
  711. package/dist/chunks/core-C8BHLAAO.cjs +0 -12
  712. package/dist/chunks/core-D2KrVz4a.mjs +0 -4501
  713. package/dist/chunks/cose-bilkent-S5V4N54A-BXBidSxC.mjs +0 -2246
  714. package/dist/chunks/cose-bilkent-S5V4N54A-RkR02HV4.cjs +0 -1
  715. package/dist/chunks/cpp-DVBevX-J.cjs +0 -1
  716. package/dist/chunks/cpp-DnMQuZPn.mjs +0 -16
  717. package/dist/chunks/csharp-ByiKf6DR.mjs +0 -3
  718. package/dist/chunks/csharp-CHUT4JOq.cjs +0 -1
  719. package/dist/chunks/css-BqsWMbBt.mjs +0 -3
  720. package/dist/chunks/css-QEheyxtB.cjs +0 -1
  721. package/dist/chunks/dagre-C7z2UZ4M.mjs +0 -1483
  722. package/dist/chunks/dagre-KV5264BT-B5pZgbkN.cjs +0 -4
  723. package/dist/chunks/dagre-KV5264BT-Ct6qUqKI.mjs +0 -298
  724. package/dist/chunks/dagre-VHP8Ngkv.cjs +0 -1
  725. package/dist/chunks/dart-aYsezAEv.mjs +0 -3
  726. package/dist/chunks/dart-jPH5d8ma.cjs +0 -1
  727. package/dist/chunks/diagram-5BDNPKRD-B9hNG7ht.mjs +0 -112
  728. package/dist/chunks/diagram-5BDNPKRD-C1llOHQP.cjs +0 -10
  729. package/dist/chunks/diagram-G4DWMVQ6-9_YOaVXe.mjs +0 -546
  730. package/dist/chunks/diagram-G4DWMVQ6-CLdEGHkn.cjs +0 -24
  731. package/dist/chunks/diagram-MMDJMWI5-CnbiCUM3.cjs +0 -43
  732. package/dist/chunks/diagram-MMDJMWI5-DmStUoNk.mjs +0 -234
  733. package/dist/chunks/diagram-TYMM5635-BtMB4AKf.cjs +0 -24
  734. package/dist/chunks/diagram-TYMM5635-DmrkkW85.mjs +0 -144
  735. package/dist/chunks/dockerfile-1GBIWF66.mjs +0 -3
  736. package/dist/chunks/dockerfile-B2jMQOes.cjs +0 -1
  737. package/dist/chunks/engine-javascript-CYa8VRAu.mjs +0 -2373
  738. package/dist/chunks/engine-javascript-HHRWd9yA.cjs +0 -141
  739. package/dist/chunks/erDiagram-SMLLAGMA-5vkZ5DwJ.mjs +0 -1712
  740. package/dist/chunks/erDiagram-SMLLAGMA-luvZB3lF.cjs +0 -85
  741. package/dist/chunks/flowDiagram-DWJPFMVM-BpYbAeYP.cjs +0 -162
  742. package/dist/chunks/flowDiagram-DWJPFMVM-CGTiQBd7.mjs +0 -4175
  743. package/dist/chunks/ganttDiagram-T4ZO3ILL-BNtXyM0I.mjs +0 -3083
  744. package/dist/chunks/ganttDiagram-T4ZO3ILL-BaWZufgI.cjs +0 -292
  745. package/dist/chunks/gitGraph-7Q5UKJZL-Ds_Z9h4o.cjs +0 -1
  746. package/dist/chunks/gitGraph-7Q5UKJZL-DxMmuJIv.mjs +0 -3
  747. package/dist/chunks/gitGraphDiagram-UUTBAWPF-CmQR-xZp.mjs +0 -792
  748. package/dist/chunks/gitGraphDiagram-UUTBAWPF-DjMU1Vyg.cjs +0 -106
  749. package/dist/chunks/go-4mRqLTld.mjs +0 -3
  750. package/dist/chunks/go-BX-cNLGO.cjs +0 -1
  751. package/dist/chunks/graphlib-BfwqhpXp.mjs +0 -225
  752. package/dist/chunks/graphlib-CYv_-0LK.cjs +0 -1
  753. package/dist/chunks/graphql-4Htarzhp.mjs +0 -11
  754. package/dist/chunks/graphql-BnxAS09v.cjs +0 -1
  755. package/dist/chunks/html-CAN0GHkJ.cjs +0 -1
  756. package/dist/chunks/html-DW39yhuS.mjs +0 -10
  757. package/dist/chunks/i18next-loader-CyDs2NKf.mjs +0 -35
  758. package/dist/chunks/i18next-loader-cGwOOjK3.cjs +0 -1
  759. package/dist/chunks/info-OMHHGYJF-ChWZqC0a.mjs +0 -3
  760. package/dist/chunks/info-OMHHGYJF-u0RRQ9Uo.cjs +0 -1
  761. package/dist/chunks/infoDiagram-42DDH7IO-BbV_tozh.mjs +0 -29
  762. package/dist/chunks/infoDiagram-42DDH7IO-DOYkYMWg.cjs +0 -2
  763. package/dist/chunks/isEmpty-BHdznGlG.cjs +0 -1
  764. package/dist/chunks/isEmpty-jlCmuYeg.mjs +0 -35
  765. package/dist/chunks/ishikawaDiagram-UXIWVN3A-CbqoivFu.cjs +0 -70
  766. package/dist/chunks/ishikawaDiagram-UXIWVN3A-DJBG3b-A.mjs +0 -719
  767. package/dist/chunks/java-DD_iwrM-.mjs +0 -5
  768. package/dist/chunks/java-O-rzZ2Bn.cjs +0 -1
  769. package/dist/chunks/javascript-CJBlE5PB.mjs +0 -3
  770. package/dist/chunks/javascript-z9G2vOAZ.cjs +0 -1
  771. package/dist/chunks/journeyDiagram-VCZTEJTY-B5Peb7wS.cjs +0 -139
  772. package/dist/chunks/journeyDiagram-VCZTEJTY-BdMsFn3r.mjs +0 -885
  773. package/dist/chunks/json-C_epQRuA.cjs +0 -1
  774. package/dist/chunks/json-yRGZVu2_.mjs +0 -3
  775. package/dist/chunks/kanban-definition-6JOO6SKY-CwmSo6Ve.cjs +0 -89
  776. package/dist/chunks/kanban-definition-6JOO6SKY-ncNaxcxH.mjs +0 -980
  777. package/dist/chunks/kotlin-BmkhKZGf.mjs +0 -3
  778. package/dist/chunks/kotlin-Dj7KFgV1.cjs +0 -1
  779. package/dist/chunks/latex-BeVX0E4Z.mjs +0 -5
  780. package/dist/chunks/latex-u7qVP95p.cjs +0 -1
  781. package/dist/chunks/lightweight-i18n-Bb_VS9v5.mjs +0 -237
  782. package/dist/chunks/lightweight-i18n-CGBjC2TJ.cjs +0 -1
  783. package/dist/chunks/line-B7XG48Uf.cjs +0 -1
  784. package/dist/chunks/line-CWJNfvdn.mjs +0 -34
  785. package/dist/chunks/linear-BU4OjSPS.mjs +0 -289
  786. package/dist/chunks/linear-D5j5Vgij.cjs +0 -1
  787. package/dist/chunks/lua-6ceNckPi.cjs +0 -1
  788. package/dist/chunks/lua-CPnWrc7C.mjs +0 -5
  789. package/dist/chunks/markdown-DSiOSAsn.mjs +0 -3
  790. package/dist/chunks/markdown-Vce1p-mO.cjs +0 -1
  791. package/dist/chunks/mdast-util-math-B9OHoBuN.cjs +0 -5
  792. package/dist/chunks/mdast-util-math-D42zbZda.mjs +0 -151
  793. package/dist/chunks/mermaid-C2y_3PIg.mjs +0 -3
  794. package/dist/chunks/mermaid-Cu5vPKfS.cjs +0 -1
  795. package/dist/chunks/mermaid-parser.core-BrZQFEht.cjs +0 -3
  796. package/dist/chunks/mermaid-parser.core-DBhkcRo7.mjs +0 -57
  797. package/dist/chunks/mermaid.core-GiTRPJLF.cjs +0 -10
  798. package/dist/chunks/mermaid.core-uSzF9nF1.mjs +0 -977
  799. package/dist/chunks/messages--CbdZY2w.cjs +0 -1
  800. package/dist/chunks/messages--c74ihtM.mjs +0 -212
  801. package/dist/chunks/messages-041mNyU42.mjs +0 -212
  802. package/dist/chunks/messages-1hpCmcb5.cjs +0 -1
  803. package/dist/chunks/messages-44SP7ajI.mjs +0 -212
  804. package/dist/chunks/messages-4_3WFJMy2.cjs +0 -1
  805. package/dist/chunks/messages-7NvouWKA2.mjs +0 -212
  806. package/dist/chunks/messages-ADxG1iWK2.cjs +0 -1
  807. package/dist/chunks/messages-AnuHiDPc2.mjs +0 -212
  808. package/dist/chunks/messages-B1V7UT9I.mjs +0 -212
  809. package/dist/chunks/messages-B2Q9NH4D.mjs +0 -212
  810. package/dist/chunks/messages-B3MONaxw2.cjs +0 -1
  811. package/dist/chunks/messages-B3tNgyxG2.cjs +0 -1
  812. package/dist/chunks/messages-B6j77WNV2.mjs +0 -212
  813. package/dist/chunks/messages-B91FdwB0.cjs +0 -1
  814. package/dist/chunks/messages-B9igXgiw.cjs +0 -1
  815. package/dist/chunks/messages-BB1xM_oB.cjs +0 -1
  816. package/dist/chunks/messages-BEV0lzGv2.mjs +0 -212
  817. package/dist/chunks/messages-BG749_88.mjs +0 -212
  818. package/dist/chunks/messages-BGZLiYrQ.cjs +0 -1
  819. package/dist/chunks/messages-BGpGj8nJ2.mjs +0 -212
  820. package/dist/chunks/messages-BK6gK3wu.cjs +0 -1
  821. package/dist/chunks/messages-BKmAFG9Z.cjs +0 -1
  822. package/dist/chunks/messages-BMVJq-1T.cjs +0 -1
  823. package/dist/chunks/messages-BMsqJNz0.cjs +0 -1
  824. package/dist/chunks/messages-BNYDShPm2.mjs +0 -212
  825. package/dist/chunks/messages-BSVhckNg.cjs +0 -1
  826. package/dist/chunks/messages-BUaHDggs.cjs +0 -1
  827. package/dist/chunks/messages-BUaJv5qS.cjs +0 -1
  828. package/dist/chunks/messages-BW--wNis.mjs +0 -212
  829. package/dist/chunks/messages-BXcSH14N.cjs +0 -1
  830. package/dist/chunks/messages-BYOYrUOu.cjs +0 -1
  831. package/dist/chunks/messages-BYSE1Iq2.cjs +0 -1
  832. package/dist/chunks/messages-B_Mqw9Dl2.mjs +0 -212
  833. package/dist/chunks/messages-Bb225KE6.cjs +0 -1
  834. package/dist/chunks/messages-BbYwT3FH2.mjs +0 -212
  835. package/dist/chunks/messages-Bda8jwos2.mjs +0 -212
  836. package/dist/chunks/messages-BdpFAZGZ.mjs +0 -212
  837. package/dist/chunks/messages-BiDR95AW.cjs +0 -1
  838. package/dist/chunks/messages-BkAoxm6t.cjs +0 -1
  839. package/dist/chunks/messages-BmNLNUz_.mjs +0 -212
  840. package/dist/chunks/messages-BnGtg6t4.mjs +0 -212
  841. package/dist/chunks/messages-BnXkEkD_.mjs +0 -212
  842. package/dist/chunks/messages-BpUasRQ3.cjs +0 -1
  843. package/dist/chunks/messages-BwtU06Ax.mjs +0 -212
  844. package/dist/chunks/messages-BxV8K7y42.cjs +0 -1
  845. package/dist/chunks/messages-Bxhns4Ui.cjs +0 -1
  846. package/dist/chunks/messages-ByRcwLIO.mjs +0 -212
  847. package/dist/chunks/messages-C0sxGmLV2.cjs +0 -1
  848. package/dist/chunks/messages-C5nqE8O42.cjs +0 -1
  849. package/dist/chunks/messages-C7il6l-S.cjs +0 -1
  850. package/dist/chunks/messages-CFyGEGXM2.cjs +0 -1
  851. package/dist/chunks/messages-CHBH3EQG.mjs +0 -212
  852. package/dist/chunks/messages-CIYU5iEj.mjs +0 -212
  853. package/dist/chunks/messages-CJGOmFxi.mjs +0 -212
  854. package/dist/chunks/messages-CN2yjHzW.cjs +0 -1
  855. package/dist/chunks/messages-CP7Ncgaf.mjs +0 -212
  856. package/dist/chunks/messages-CP8YKa4F.mjs +0 -212
  857. package/dist/chunks/messages-CTy_3-mw2.cjs +0 -1
  858. package/dist/chunks/messages-CUxaqK8t2.mjs +0 -212
  859. package/dist/chunks/messages-CXDk_Rlr2.mjs +0 -212
  860. package/dist/chunks/messages-CYZxR91M.mjs +0 -212
  861. package/dist/chunks/messages-C_ogasse2.cjs +0 -1
  862. package/dist/chunks/messages-CbFuceEb.cjs +0 -1
  863. package/dist/chunks/messages-CbbYb7cc.cjs +0 -1
  864. package/dist/chunks/messages-CfO5kKI72.cjs +0 -1
  865. package/dist/chunks/messages-Cgv5DuNV.cjs +0 -1
  866. package/dist/chunks/messages-Cjm7Nj1C.mjs +0 -212
  867. package/dist/chunks/messages-CjzZ6nxv.mjs +0 -212
  868. package/dist/chunks/messages-CkBrRFY02.cjs +0 -1
  869. package/dist/chunks/messages-CpVtcYqo.mjs +0 -212
  870. package/dist/chunks/messages-CpppvIiu.cjs +0 -1
  871. package/dist/chunks/messages-CumomgDd2.mjs +0 -212
  872. package/dist/chunks/messages-CvCb4dCy.mjs +0 -212
  873. package/dist/chunks/messages-D3DNj1jh.mjs +0 -212
  874. package/dist/chunks/messages-D7d2U-tx.mjs +0 -212
  875. package/dist/chunks/messages-D8-vyZ2V.cjs +0 -1
  876. package/dist/chunks/messages-DFWhnXF12.mjs +0 -212
  877. package/dist/chunks/messages-DIpVfyX-2.cjs +0 -1
  878. package/dist/chunks/messages-DJBeEI7G.cjs +0 -1
  879. package/dist/chunks/messages-DJr1x1i2.mjs +0 -212
  880. package/dist/chunks/messages-DN7PU5Un2.mjs +0 -212
  881. package/dist/chunks/messages-DR8nFHdw2.cjs +0 -1
  882. package/dist/chunks/messages-DT5Ux3el.cjs +0 -1
  883. package/dist/chunks/messages-DVh_Bwwq.mjs +0 -212
  884. package/dist/chunks/messages-DVwHxslb.mjs +0 -212
  885. package/dist/chunks/messages-DZ1Pfnl0.mjs +0 -212
  886. package/dist/chunks/messages-Da2SYMf52.cjs +0 -1
  887. package/dist/chunks/messages-DaaqkvOz2.cjs +0 -1
  888. package/dist/chunks/messages-DdiqfVCc.cjs +0 -1
  889. package/dist/chunks/messages-DfZe7SKZ.cjs +0 -1
  890. package/dist/chunks/messages-DkJ0bcqu.cjs +0 -1
  891. package/dist/chunks/messages-DkmG49t8.cjs +0 -1
  892. package/dist/chunks/messages-Do3QV7QW.mjs +0 -212
  893. package/dist/chunks/messages-Do4o9ckW.cjs +0 -1
  894. package/dist/chunks/messages-DrbTe09r.cjs +0 -1
  895. package/dist/chunks/messages-Drxwphbg2.mjs +0 -212
  896. package/dist/chunks/messages-DtgIZDlN.cjs +0 -1
  897. package/dist/chunks/messages-DtloGH1v2.mjs +0 -212
  898. package/dist/chunks/messages-Du0zg7UM.mjs +0 -212
  899. package/dist/chunks/messages-DuA_D23n.mjs +0 -212
  900. package/dist/chunks/messages-DwKRw3jP2.mjs +0 -212
  901. package/dist/chunks/messages-DxCaGN-Q2.cjs +0 -1
  902. package/dist/chunks/messages-DxpBJ5ZY.cjs +0 -1
  903. package/dist/chunks/messages-DyWu9_0D.cjs +0 -1
  904. package/dist/chunks/messages-DzAYvMm72.mjs +0 -212
  905. package/dist/chunks/messages-Dzmge-lj.mjs +0 -212
  906. package/dist/chunks/messages-ETNAE7WV.mjs +0 -212
  907. package/dist/chunks/messages-F4r6ruTX2.mjs +0 -212
  908. package/dist/chunks/messages-FNQdT9Da.mjs +0 -212
  909. package/dist/chunks/messages-FYGyC6zk2.mjs +0 -212
  910. package/dist/chunks/messages-Hg0BECWK.cjs +0 -1
  911. package/dist/chunks/messages-JlduXweH2.cjs +0 -1
  912. package/dist/chunks/messages-Km2PU_o7.cjs +0 -1
  913. package/dist/chunks/messages-MgJnGL9X2.cjs +0 -1
  914. package/dist/chunks/messages-PIoKW4js2.cjs +0 -1
  915. package/dist/chunks/messages-VEm9mp5H.cjs +0 -1
  916. package/dist/chunks/messages-WgwkG5PL2.cjs +0 -1
  917. package/dist/chunks/messages-X46KAUoI.cjs +0 -1
  918. package/dist/chunks/messages-ZS1Ro8ZB.mjs +0 -212
  919. package/dist/chunks/messages-ZZd1ckSO2.cjs +0 -1
  920. package/dist/chunks/messages-dyhHlgE9.mjs +0 -212
  921. package/dist/chunks/messages-fAEKtYXO.mjs +0 -212
  922. package/dist/chunks/messages-hhptyJO3.mjs +0 -212
  923. package/dist/chunks/messages-hk4dinYI.mjs +0 -212
  924. package/dist/chunks/messages-knSLxvI6.mjs +0 -212
  925. package/dist/chunks/messages-lORohDgW2.mjs +0 -212
  926. package/dist/chunks/messages-mvnz8DvU.mjs +0 -212
  927. package/dist/chunks/messages-pHWKsrcZ.mjs +0 -212
  928. package/dist/chunks/messages-q2McAyOz.mjs +0 -212
  929. package/dist/chunks/messages-r62SI44r.mjs +0 -212
  930. package/dist/chunks/messages-uFdMhLbJ.mjs +0 -212
  931. package/dist/chunks/messages-vRqPeNM_.cjs +0 -1
  932. package/dist/chunks/messages-vhq442qv.cjs +0 -1
  933. package/dist/chunks/micromark-extension-math-BXJknrtf.cjs +0 -1
  934. package/dist/chunks/micromark-extension-math-x3wvkKaN.mjs +0 -169
  935. package/dist/chunks/mindmap-definition-QFDTVHPH-6O8s-b35.cjs +0 -96
  936. package/dist/chunks/mindmap-definition-QFDTVHPH-BfOyKFtC.mjs +0 -1013
  937. package/dist/chunks/notifier-B-wErJJB.mjs +0 -73
  938. package/dist/chunks/notifier-CwnFVNdD.cjs +0 -1
  939. package/dist/chunks/objectWithoutProperties-BbzyiphF.cjs +0 -1
  940. package/dist/chunks/objectWithoutProperties-Dci1-l7D.mjs +0 -23
  941. package/dist/chunks/one-light-D2mpnHEP.cjs +0 -1
  942. package/dist/chunks/one-light-bqnXiA0I.mjs +0 -4
  943. package/dist/chunks/ordinal-CN3SDQau.mjs +0 -65
  944. package/dist/chunks/ordinal-DFFZs5-y.cjs +0 -1
  945. package/dist/chunks/packet-4T2RLAQJ-7DW35MGl.mjs +0 -3
  946. package/dist/chunks/packet-4T2RLAQJ-B5XvZd2W.cjs +0 -1
  947. package/dist/chunks/php-BMavm1CR.cjs +0 -1
  948. package/dist/chunks/php-Dejkjxb5.mjs +0 -18
  949. package/dist/chunks/pie-ZZUOXDRM-Dtuq0w2k.mjs +0 -3
  950. package/dist/chunks/pie-ZZUOXDRM-SOG0aDPa.cjs +0 -1
  951. package/dist/chunks/pieDiagram-DEJITSTG-B1sjciNi.mjs +0 -179
  952. package/dist/chunks/pieDiagram-DEJITSTG-BkEwYBz9.cjs +0 -30
  953. package/dist/chunks/python-Dcoit5Q5.cjs +0 -1
  954. package/dist/chunks/python-tdu-oDWx.mjs +0 -3
  955. package/dist/chunks/quadrantDiagram-34T5L4WZ-CV838wf-.mjs +0 -1960
  956. package/dist/chunks/quadrantDiagram-34T5L4WZ-RJme4lkz.cjs +0 -7
  957. package/dist/chunks/r-BdDCwgEs.cjs +0 -1
  958. package/dist/chunks/r-D8fCyoTl.mjs +0 -5
  959. package/dist/chunks/radar-PYXPWWZC-Bz4lwSbg.mjs +0 -3
  960. package/dist/chunks/radar-PYXPWWZC-Doch8Lt3.cjs +0 -1
  961. package/dist/chunks/requirementDiagram-MS252O5E-CA3LUAVZ.mjs +0 -2224
  962. package/dist/chunks/requirementDiagram-MS252O5E-CMqFsK_K.cjs +0 -84
  963. package/dist/chunks/ruby-DHm8_lqY.cjs +0 -1
  964. package/dist/chunks/ruby-Z7wCYjey.mjs +0 -33
  965. package/dist/chunks/rust-Cdm0j4IC.cjs +0 -1
  966. package/dist/chunks/rust-D5IQAarB.mjs +0 -3
  967. package/dist/chunks/sankeyDiagram-XADWPNL6-BPaUkDQv.cjs +0 -10
  968. package/dist/chunks/sankeyDiagram-XADWPNL6-Cw8wB2YO.mjs +0 -909
  969. package/dist/chunks/scala-CbcMYkuq.mjs +0 -3
  970. package/dist/chunks/scala-Tb1u_9W3.cjs +0 -1
  971. package/dist/chunks/sequenceDiagram-FGHM5R23-DbM-gyMR.cjs +0 -157
  972. package/dist/chunks/sequenceDiagram-FGHM5R23-pm0MaeXC.mjs +0 -4181
  973. package/dist/chunks/shellscript-CZefq5l_.mjs +0 -3
  974. package/dist/chunks/shellscript-D6KsENaG.cjs +0 -1
  975. package/dist/chunks/sql-BlpbD7FB.cjs +0 -1
  976. package/dist/chunks/sql-C4ibVEDs.mjs +0 -3
  977. package/dist/chunks/stateDiagram-FHFEXIEX-CEcLtV9Z.cjs +0 -1
  978. package/dist/chunks/stateDiagram-FHFEXIEX-CMcsvm0M.mjs +0 -218
  979. package/dist/chunks/stateDiagram-v2-QKLJ7IA2-C4nZGNBm.mjs +0 -28
  980. package/dist/chunks/stateDiagram-v2-QKLJ7IA2-aa692V81.cjs +0 -1
  981. package/dist/chunks/swift-Drpgj9J0.mjs +0 -3
  982. package/dist/chunks/swift-DubrdZus.cjs +0 -1
  983. package/dist/chunks/timeline-definition-GMOUNBTQ-DwHKPj3j.mjs +0 -1084
  984. package/dist/chunks/timeline-definition-GMOUNBTQ-ceXDJGg_.cjs +0 -120
  985. package/dist/chunks/tools-DPov06L-.mjs +0 -11458
  986. package/dist/chunks/tools-NAqHj-Cy.cjs +0 -9
  987. package/dist/chunks/treeView-SZITEDCU-BUuSm_Hn.cjs +0 -1
  988. package/dist/chunks/treeView-SZITEDCU-DPG9FJ6Q.mjs +0 -3
  989. package/dist/chunks/treemap-W4RFUUIX-BerKlw0i.cjs +0 -1
  990. package/dist/chunks/treemap-W4RFUUIX-N4tZJR1-.mjs +0 -3
  991. package/dist/chunks/typescript-BKtlqLze.cjs +0 -1
  992. package/dist/chunks/typescript-Bnpf4OG6.mjs +0 -5
  993. package/dist/chunks/vennDiagram-DHZGUBPP-BzOeMJe8.cjs +0 -34
  994. package/dist/chunks/vennDiagram-DHZGUBPP-Gfy0QWtB.mjs +0 -1876
  995. package/dist/chunks/vitesse-dark-BSL-cCXL.cjs +0 -1
  996. package/dist/chunks/vitesse-dark-dflHsflb.mjs +0 -4
  997. package/dist/chunks/wardley-RL74JXVD-BzKtPJ3g.cjs +0 -1
  998. package/dist/chunks/wardley-RL74JXVD-C7Hzc5y2.mjs +0 -3
  999. package/dist/chunks/wardleyDiagram-NUSXRM2D-ChZiL3a0.mjs +0 -594
  1000. package/dist/chunks/wardleyDiagram-NUSXRM2D-qo6LFohO.cjs +0 -20
  1001. package/dist/chunks/xml-C1PUeKuL.mjs +0 -5
  1002. package/dist/chunks/xml-CwiH0x4E.cjs +0 -1
  1003. package/dist/chunks/xychartDiagram-5P7HB3ND-CH1Z2Cbf.cjs +0 -7
  1004. package/dist/chunks/xychartDiagram-5P7HB3ND-t_dhLiOA.mjs +0 -2017
  1005. package/dist/chunks/yaml-CecI9urB.mjs +0 -3
  1006. package/dist/chunks/yaml-CkVxfQ4c.cjs +0 -1
  1007. package/dist/messages--zgIPYtb.mjs +0 -212
  1008. package/dist/messages-4jULpVvw.mjs +0 -212
  1009. package/dist/messages-AbwSlRf_.mjs +0 -212
  1010. package/dist/messages-B-dl7Pwb2.mjs +0 -212
  1011. package/dist/messages-B3rCRhb1.mjs +0 -212
  1012. package/dist/messages-B73L8nKc2.mjs +0 -212
  1013. package/dist/messages-BAjsD2Vm2.mjs +0 -212
  1014. package/dist/messages-BBodSb5B2.mjs +0 -212
  1015. package/dist/messages-BTpn6H9x2.mjs +0 -212
  1016. package/dist/messages-BWb0GjTj2.mjs +0 -212
  1017. package/dist/messages-BbCgnri12.mjs +0 -212
  1018. package/dist/messages-Bfon_Y3q.mjs +0 -212
  1019. package/dist/messages-BhOtow9J2.mjs +0 -212
  1020. package/dist/messages-BoB7m0uu2.mjs +0 -212
  1021. package/dist/messages-BsOZPjeg.mjs +0 -212
  1022. package/dist/messages-BuzKUYPV.mjs +0 -212
  1023. package/dist/messages-BzOKMdMQ.mjs +0 -212
  1024. package/dist/messages-C2H3PeQW2.mjs +0 -212
  1025. package/dist/messages-C5KNzSTk.mjs +0 -212
  1026. package/dist/messages-CIDYjE6l.mjs +0 -212
  1027. package/dist/messages-CJmyF5ye.mjs +0 -212
  1028. package/dist/messages-CTwiYb2a2.mjs +0 -212
  1029. package/dist/messages-CUHoJaDO.mjs +0 -212
  1030. package/dist/messages-CVeuqUjQ2.mjs +0 -212
  1031. package/dist/messages-CW75b4sz.mjs +0 -212
  1032. package/dist/messages-CXd7YeWV.mjs +0 -212
  1033. package/dist/messages-CjlYkunD.mjs +0 -212
  1034. package/dist/messages-CrGx64yd.mjs +0 -212
  1035. package/dist/messages-Ct0jbgHd.mjs +0 -212
  1036. package/dist/messages-CtKrCYD1.mjs +0 -212
  1037. package/dist/messages-Cu2eLjfJ.mjs +0 -212
  1038. package/dist/messages-CvwQ-fK_2.mjs +0 -212
  1039. package/dist/messages-Cy6UYN9b.mjs +0 -212
  1040. package/dist/messages-D01vnfA9.mjs +0 -212
  1041. package/dist/messages-D0BAV45W.mjs +0 -212
  1042. package/dist/messages-D5LGpdga.mjs +0 -212
  1043. package/dist/messages-DATK4ftv.mjs +0 -212
  1044. package/dist/messages-DEl77Urv2.mjs +0 -212
  1045. package/dist/messages-DHNjM2nv2.mjs +0 -212
  1046. package/dist/messages-DMW8b_sO.mjs +0 -212
  1047. package/dist/messages-DNmgANKr.mjs +0 -212
  1048. package/dist/messages-DQaa3cEM.mjs +0 -212
  1049. package/dist/messages-DSlD4bV9.mjs +0 -212
  1050. package/dist/messages-DTzbkXFt.mjs +0 -212
  1051. package/dist/messages-DbZihxtV.mjs +0 -212
  1052. package/dist/messages-DeE8fyKQ.mjs +0 -212
  1053. package/dist/messages-Dg-TpO2S2.mjs +0 -212
  1054. package/dist/messages-DgP82LzF.mjs +0 -212
  1055. package/dist/messages-Dh3Vt7WC.mjs +0 -212
  1056. package/dist/messages-DiVVyZD22.mjs +0 -212
  1057. package/dist/messages-DpRnGjoe.mjs +0 -212
  1058. package/dist/messages-DqZmrFaa2.mjs +0 -212
  1059. package/dist/messages-Dra9Fz5Q.mjs +0 -212
  1060. package/dist/messages-DuPBRgEF2.mjs +0 -212
  1061. package/dist/messages-DuxEyAY-2.mjs +0 -212
  1062. package/dist/messages-FmJD6lHR2.mjs +0 -212
  1063. package/dist/messages-ONielGl92.mjs +0 -212
  1064. package/dist/messages-RzgUqCGb2.mjs +0 -212
  1065. package/dist/messages-U22AKGKs.mjs +0 -212
  1066. package/dist/messages-XufeeRfO.mjs +0 -212
  1067. package/dist/messages-fprUm7SO2.mjs +0 -212
  1068. package/dist/messages-gFNdz3Tn2.mjs +0 -212
  1069. package/dist/messages-h_n5GBm6.mjs +0 -212
  1070. package/dist/messages-oOogIpsL2.mjs +0 -212
  1071. package/dist/messages-otwg3KcK.mjs +0 -212
  1072. package/dist/messages-rDDoBMWb.mjs +0 -212
  1073. package/dist/messages-trQPxZIu.mjs +0 -212
  1074. package/src/tools/code/highlight-applier.ts +0 -229
  1075. package/src/tools/code/shiki-loader.ts +0 -135
  1076. /package/dist/chunks/{am-CyXvGFRE.cjs → am-CGgVs8Sg.cjs} +0 -0
  1077. /package/dist/chunks/{am-JTszxMum.mjs → am-TVbhxPdQ.mjs} +0 -0
  1078. /package/dist/chunks/{ar-CME8m7Ug.mjs → ar-ClSvzRAM.mjs} +0 -0
  1079. /package/dist/chunks/{ar-BbusVfTp.cjs → ar-nFMIw80i.cjs} +0 -0
  1080. /package/dist/chunks/{array-BMXfsgb2.cjs → array-B193TMZz.cjs} +0 -0
  1081. /package/dist/chunks/{array-B4E6ednJ.mjs → array-ChMzkF5S.mjs} +0 -0
  1082. /package/dist/chunks/{az-D7MMnw6r.cjs → az-Cb6l6ydx.cjs} +0 -0
  1083. /package/dist/chunks/{az-CU1BXEnK.mjs → az-Df0rChHp.mjs} +0 -0
  1084. /package/dist/chunks/{bg-C3H2Qh_2.cjs → bg-BdZUTRFn.cjs} +0 -0
  1085. /package/dist/chunks/{bg-C1QKbOOv.mjs → bg-DLJ0oZ8E.mjs} +0 -0
  1086. /package/dist/chunks/{bn-BGOycYTM.cjs → bn-CneGelWq.cjs} +0 -0
  1087. /package/dist/chunks/{bn-DbDE4DPn.mjs → bn-rM6ek4mO.mjs} +0 -0
  1088. /package/dist/chunks/{bs-5jPxlF97.mjs → bs-16ZwjsQl.mjs} +0 -0
  1089. /package/dist/chunks/{bs-C7amuK1D.cjs → bs-XAmTKQeJ.cjs} +0 -0
  1090. /package/dist/chunks/{cs-BEZB2qcc.mjs → cs-C-zvdtZ-.mjs} +0 -0
  1091. /package/dist/chunks/{cs-BUD3Muxp.cjs → cs-DKYguxBC.cjs} +0 -0
  1092. /package/dist/chunks/{cytoscape.esm-CWkCAUzT.mjs → cytoscape.esm-BsvVxiuI.mjs} +0 -0
  1093. /package/dist/chunks/{cytoscape.esm-CjWrb5SM.cjs → cytoscape.esm-gv01QJ5y.cjs} +0 -0
  1094. /package/dist/chunks/{da-DXZ2uOgL.mjs → da-D1HzIKpF.mjs} +0 -0
  1095. /package/dist/chunks/{da-CO2FYbLa.cjs → da-DiLbdYqu.cjs} +0 -0
  1096. /package/dist/chunks/{de-B8nkOjfD.cjs → de-ClyUjm_W.cjs} +0 -0
  1097. /package/dist/chunks/{de-D4FxC1Yq.mjs → de-Dpmwqjaw.mjs} +0 -0
  1098. /package/dist/chunks/{default-DPWNu2LM.mjs → default-D5Eal3bU.mjs} +0 -0
  1099. /package/dist/chunks/{default-DP8dtTxC.cjs → default-D9azvkQ_.cjs} +0 -0
  1100. /package/dist/chunks/{defaultLocale-BxWls4I1.cjs → defaultLocale-CSsowJXG.cjs} +0 -0
  1101. /package/dist/chunks/{defaultLocale-BYV2aVaI.mjs → defaultLocale-DiiR34KB.mjs} +0 -0
  1102. /package/dist/chunks/{dist-CKM-fjTE.mjs → dist-BFuUZzlT.mjs} +0 -0
  1103. /package/dist/chunks/{dist-CxdzFxpy.cjs → dist-DS4hv48u.cjs} +0 -0
  1104. /package/dist/chunks/{el-D2ILhp1-.cjs → el-CFVhJTIb.cjs} +0 -0
  1105. /package/dist/chunks/{el-DwIVDdku.mjs → el-DQ-dU1wp.mjs} +0 -0
  1106. /package/dist/chunks/{es-DXxnOS9P.cjs → es-BlajxX2r.cjs} +0 -0
  1107. /package/dist/chunks/{es-DlO4MePt.mjs → es-Dhzgzei6.mjs} +0 -0
  1108. /package/dist/chunks/{et-BBSbb8pL.mjs → et-CnhEwclb.mjs} +0 -0
  1109. /package/dist/chunks/{et-mT4xnDc7.cjs → et-ggACA1d9.cjs} +0 -0
  1110. /package/dist/chunks/{fa-DsJou-pw.mjs → fa-B4zSY96K.mjs} +0 -0
  1111. /package/dist/chunks/{fa-D9CUFSHX.cjs → fa-DuYd0CQw.cjs} +0 -0
  1112. /package/dist/chunks/{fi-CsMgo7Wk.mjs → fi-B525ro09.mjs} +0 -0
  1113. /package/dist/chunks/{fi-DpCqdl_1.cjs → fi-D3-4SL4-.cjs} +0 -0
  1114. /package/dist/chunks/{fil-BjeZREJI.cjs → fil-Cs84dmNe.cjs} +0 -0
  1115. /package/dist/chunks/{fil-Dlw8sEta.mjs → fil-DPB6Byn0.mjs} +0 -0
  1116. /package/dist/chunks/{fr-DYmwW1y1.cjs → fr-C8Z2PE7u.cjs} +0 -0
  1117. /package/dist/chunks/{fr-DeapG5NH.mjs → fr-CbMgtPHe.mjs} +0 -0
  1118. /package/dist/chunks/{gu-klAnA_ns.mjs → gu-BDs1p7Uo.mjs} +0 -0
  1119. /package/dist/chunks/{gu-4g6NA9h8.cjs → gu-CPQY3Iyq.cjs} +0 -0
  1120. /package/dist/chunks/{he-2H5DcbO0.cjs → he-BkMGwSM7.cjs} +0 -0
  1121. /package/dist/chunks/{he-9TdyXc1J.mjs → he-DWa_-C46.mjs} +0 -0
  1122. /package/dist/chunks/{hi-DVOss_Zp.mjs → hi-Buu8Rua9.mjs} +0 -0
  1123. /package/dist/chunks/{hi-Dvb4O5oj.cjs → hi-ClQSrRZz.cjs} +0 -0
  1124. /package/dist/chunks/{hr-CXo-QFLf.mjs → hr-WosECnFF.mjs} +0 -0
  1125. /package/dist/chunks/{hr-B4Y5vULZ.cjs → hr-wrh48ogh.cjs} +0 -0
  1126. /package/dist/chunks/{hu-D3Pi7CJx.cjs → hu-BSVMkfs2.cjs} +0 -0
  1127. /package/dist/chunks/{hu-B6uKq-NU.mjs → hu-CeBjtxCd.mjs} +0 -0
  1128. /package/dist/chunks/{hy-DZ74SDlC.cjs → hy-CwF59lJj.cjs} +0 -0
  1129. /package/dist/chunks/{hy-B7CWqbUW.mjs → hy-DwfBE3Yt.mjs} +0 -0
  1130. /package/dist/chunks/{i18next-CkovSPO7.cjs → i18next-C14J6E5L.cjs} +0 -0
  1131. /package/dist/chunks/{i18next-BFvS_Rnh.mjs → i18next-DjO-l2Ee.mjs} +0 -0
  1132. /package/dist/chunks/{id-C5d2QGEQ.mjs → id-CBV5ivYd.mjs} +0 -0
  1133. /package/dist/chunks/{id-WfjZeYKN.cjs → id-DN2KcAmG.cjs} +0 -0
  1134. /package/dist/chunks/{init-C3Dyaaly.mjs → init-C2Iht9jH.mjs} +0 -0
  1135. /package/dist/chunks/{init-BvlcnoG2.cjs → init-DMaknHdL.cjs} +0 -0
  1136. /package/dist/chunks/{isArrayLikeObject-CnaR8YJm.cjs → isArrayLikeObject-Bk7ImDHR.cjs} +0 -0
  1137. /package/dist/chunks/{isArrayLikeObject-B-1mfvNK.mjs → isArrayLikeObject-CyB7POJY.mjs} +0 -0
  1138. /package/dist/chunks/{it-hqsqt6f7.cjs → it-CSt1S7SQ.cjs} +0 -0
  1139. /package/dist/chunks/{it-BgPXC2_F.mjs → it-CU5gg8BZ.mjs} +0 -0
  1140. /package/dist/chunks/{ja-BwLgKsdH.cjs → ja-BbwATm6F.cjs} +0 -0
  1141. /package/dist/chunks/{ja-CQ7ujOz3.mjs → ja-khPKQhMG.mjs} +0 -0
  1142. /package/dist/chunks/{ka-xoKako16.cjs → ka-Cqnq4zZT.cjs} +0 -0
  1143. /package/dist/chunks/{ka-DAPmSm_-.mjs → ka-DN17rDOq.mjs} +0 -0
  1144. /package/dist/chunks/{katex-_C7fvrbX.cjs → katex-D_RH6O9V.cjs} +0 -0
  1145. /package/dist/chunks/{katex-Bbz34ZLq.mjs → katex-thO7aa9b.mjs} +0 -0
  1146. /package/dist/chunks/{km-BJ9H-RbD.mjs → km-BbS9HEwx.mjs} +0 -0
  1147. /package/dist/chunks/{km-D7Fl8wAA.cjs → km-COh3mhzp.cjs} +0 -0
  1148. /package/dist/chunks/{kn-CthdB8vH.mjs → kn-7TPoJJQt.mjs} +0 -0
  1149. /package/dist/chunks/{kn-Ckju1oeq.cjs → kn-CX062fVg.cjs} +0 -0
  1150. /package/dist/chunks/{ko-DbEA41LU.mjs → ko-CDI2MnWL.mjs} +0 -0
  1151. /package/dist/chunks/{ko-Dt1tQEjC.cjs → ko-gSw_U9kC.cjs} +0 -0
  1152. /package/dist/chunks/{ku-B_j9qSrv.mjs → ku-DONc_aap.mjs} +0 -0
  1153. /package/dist/chunks/{ku-_i2C5XD5.cjs → ku-DnvmAkID.cjs} +0 -0
  1154. /package/dist/chunks/{lo-DfEpgG9m.cjs → lo-BrwlEjmE.cjs} +0 -0
  1155. /package/dist/chunks/{lo-DSklR1Zs.mjs → lo-PtNU87QX.mjs} +0 -0
  1156. /package/dist/chunks/{lt-BwLILIED.cjs → lt-Bw969G31.cjs} +0 -0
  1157. /package/dist/chunks/{lt-C9aVbfRt.mjs → lt-CV9PgETS.mjs} +0 -0
  1158. /package/dist/chunks/{lv-DLwMSEc0.mjs → lv-CFPT5CoC.mjs} +0 -0
  1159. /package/dist/chunks/{lv-DdrYab3x.cjs → lv-DhwZOfiA.cjs} +0 -0
  1160. /package/dist/chunks/{micromark-factory-space-BnsBDplI.cjs → micromark-factory-space-CsUhZvC1.cjs} +0 -0
  1161. /package/dist/chunks/{micromark-factory-space-C6wz33de.mjs → micromark-factory-space-y4SDWQKm.mjs} +0 -0
  1162. /package/dist/chunks/{mk-D96bSjMK.mjs → mk-5waYEn6e.mjs} +0 -0
  1163. /package/dist/chunks/{mk-CsPHE4cO.cjs → mk-vuwbN_RA.cjs} +0 -0
  1164. /package/dist/chunks/{ml-CAsiw8BP.cjs → ml-DQZZm6v3.cjs} +0 -0
  1165. /package/dist/chunks/{ml-D1Ek94RG.mjs → ml-iK4LpGaW.mjs} +0 -0
  1166. /package/dist/chunks/{mn-Db6DwHPv.cjs → mn-Dz3r2r3T.cjs} +0 -0
  1167. /package/dist/chunks/{mn-CyNCFOYP.mjs → mn-nfQCBqsj.mjs} +0 -0
  1168. /package/dist/chunks/{mr-CaA3xXVf.mjs → mr-8ddBHqrW.mjs} +0 -0
  1169. /package/dist/chunks/{mr-BBAuoEIQ.cjs → mr-BDjve7Md.cjs} +0 -0
  1170. /package/dist/chunks/{ms-Cfv7BOEG.cjs → ms-2boGmWFn.cjs} +0 -0
  1171. /package/dist/chunks/{ms-IZU-A3Qk.mjs → ms-BRxHmUVO.mjs} +0 -0
  1172. /package/dist/chunks/{my-C-AQLGIp.mjs → my-Bq-MP3br.mjs} +0 -0
  1173. /package/dist/chunks/{my-DOLHceI8.cjs → my-BtRZdE5q.cjs} +0 -0
  1174. /package/dist/chunks/{native-DbFHGXp1.cjs → native-Bok_u8yD.cjs} +0 -0
  1175. /package/dist/chunks/{native-CarRLbbJ.mjs → native-DIGOFhyn.mjs} +0 -0
  1176. /package/dist/chunks/{ne-LaymXAjm.mjs → ne-B6JfM08W.mjs} +0 -0
  1177. /package/dist/chunks/{ne-B2gHspK_.cjs → ne-C9oc_I3v.cjs} +0 -0
  1178. /package/dist/chunks/{nl-C5ezxTkA.cjs → nl-CkIGPyM6.cjs} +0 -0
  1179. /package/dist/chunks/{nl-Dm1eVwTA.mjs → nl-NuO8CW66.mjs} +0 -0
  1180. /package/dist/chunks/{no-B2WicGhz.mjs → no-BtwrqS-b.mjs} +0 -0
  1181. /package/dist/chunks/{no-D4hjenPs.cjs → no-De7tM2WX.cjs} +0 -0
  1182. /package/dist/chunks/{pa-CemLebw7.cjs → pa-Bm15OLTz.cjs} +0 -0
  1183. /package/dist/chunks/{pa-ry61xHq9.mjs → pa-ClSxjHFF.mjs} +0 -0
  1184. /package/dist/chunks/{path-CLcQoP7n.cjs → path-CFQyJ4S5.cjs} +0 -0
  1185. /package/dist/chunks/{path-Crax6eds.mjs → path-iPyWZTLQ.mjs} +0 -0
  1186. /package/dist/chunks/{pl-DzCnx7eR.mjs → pl-C-aTCeRd.mjs} +0 -0
  1187. /package/dist/chunks/{pl-D_sFAkCs.cjs → pl-D80QrSlq.cjs} +0 -0
  1188. /package/dist/chunks/{ps-DKXG6JHY.mjs → ps-B8wPRrcC.mjs} +0 -0
  1189. /package/dist/chunks/{ps-ygHHO68A.cjs → ps-ySfeV5NE.cjs} +0 -0
  1190. /package/dist/chunks/{pt-e09B0rEd.mjs → pt-8tijWt3B.mjs} +0 -0
  1191. /package/dist/chunks/{pt-x_mmaTtD.cjs → pt-Bigoi5oj.cjs} +0 -0
  1192. /package/dist/chunks/{ro-HNnYR5pB.mjs → ro-BiUSkkwp.mjs} +0 -0
  1193. /package/dist/chunks/{ro-CLGSgHzJ.cjs → ro-Dvtjmd-W.cjs} +0 -0
  1194. /package/dist/chunks/{rough.esm-BaIXPgTh.cjs → rough.esm-DC-UFdM0.cjs} +0 -0
  1195. /package/dist/chunks/{rough.esm-CChKUjNP.mjs → rough.esm-buj-m5wB.mjs} +0 -0
  1196. /package/dist/chunks/{ru-LpaLXWmO.cjs → ru-dq73Ra3e.cjs} +0 -0
  1197. /package/dist/chunks/{ru-D_jTWgK8.mjs → ru-qkCthz2J.mjs} +0 -0
  1198. /package/dist/chunks/{sd-B5PS8K1I.cjs → sd-BhtQCaFq.cjs} +0 -0
  1199. /package/dist/chunks/{sd-B7bgXBin.mjs → sd-DfoXSEBK.mjs} +0 -0
  1200. /package/dist/chunks/{si-BjMoO5xu.cjs → si-CWG8h4tD.cjs} +0 -0
  1201. /package/dist/chunks/{si-aQCsTBIp.mjs → si-RPCp-GrG.mjs} +0 -0
  1202. /package/dist/chunks/{sk-pQPYnDDU.cjs → sk-Bkag9oKD.cjs} +0 -0
  1203. /package/dist/chunks/{sk-Bjrct9rr.mjs → sk-CVRHQjYN.mjs} +0 -0
  1204. /package/dist/chunks/{sl-B_yalM3h.cjs → sl-BhupPCcO.cjs} +0 -0
  1205. /package/dist/chunks/{sl-DvS57kCB.mjs → sl-Clf3YXji.mjs} +0 -0
  1206. /package/dist/chunks/{sq-gzZkHXFJ.cjs → sq-Bosym4Xb.cjs} +0 -0
  1207. /package/dist/chunks/{sq-BexoWiW2.mjs → sq-C-nwTgWs.mjs} +0 -0
  1208. /package/dist/chunks/{sr-CXir4bLq.mjs → sr-BiElo1CU.mjs} +0 -0
  1209. /package/dist/chunks/{sr-O4v1KJY1.cjs → sr-DFPGZJ0s.cjs} +0 -0
  1210. /package/dist/chunks/{src-d9yswOqA.cjs → src-al3Kn9PA.cjs} +0 -0
  1211. /package/dist/chunks/{src-yreeH1hr.mjs → src-gZQLeVvM.mjs} +0 -0
  1212. /package/dist/chunks/{sv-D0tEFwN7.cjs → sv-CiYmSxqX.cjs} +0 -0
  1213. /package/dist/chunks/{sv-B_Owhjrs.mjs → sv-DVztafBI.mjs} +0 -0
  1214. /package/dist/chunks/{sw-DE8oPVEt.cjs → sw-CMbHoINv.cjs} +0 -0
  1215. /package/dist/chunks/{sw-B4p84FCO.mjs → sw-CgJk20G2.mjs} +0 -0
  1216. /package/dist/chunks/{ta-BCVLtFMU.cjs → ta-BrC1o95Z.cjs} +0 -0
  1217. /package/dist/chunks/{ta-BU_-jQ33.mjs → ta-rqChn3y2.mjs} +0 -0
  1218. /package/dist/chunks/{te-BISdOeGS.cjs → te-DAKpWpi8.cjs} +0 -0
  1219. /package/dist/chunks/{te-5FGke4TK.mjs → te-LIsqeDyD.mjs} +0 -0
  1220. /package/dist/chunks/{th-DFyekAQ3.mjs → th-Bm6lDr_S.mjs} +0 -0
  1221. /package/dist/chunks/{th-CJXhSA-L.cjs → th-D0CG2M2k.cjs} +0 -0
  1222. /package/dist/chunks/{tr-BjTvmhJt.cjs → tr-Bw_nVU1b.cjs} +0 -0
  1223. /package/dist/chunks/{tr-C7Zj3lX4.mjs → tr-g8oLvvcP.mjs} +0 -0
  1224. /package/dist/chunks/{types-BNvlbr9u.mjs → types-DrdCPGbk.mjs} +0 -0
  1225. /package/dist/chunks/{types-BQX8SD8Q.cjs → types-GPfn5gE2.cjs} +0 -0
  1226. /package/dist/chunks/{ug-DsQjxbOa.cjs → ug-DvC-UnxD.cjs} +0 -0
  1227. /package/dist/chunks/{ug-DJwD0iui.mjs → ug-zVaKVoWE.mjs} +0 -0
  1228. /package/dist/chunks/{uk-BPzbNIjw.cjs → uk-Cx32rUi7.cjs} +0 -0
  1229. /package/dist/chunks/{uk-hkOj8kWN.mjs → uk-DGVBUwum.mjs} +0 -0
  1230. /package/dist/chunks/{ur-Cy5A8nFG.mjs → ur-7wbChoVl.mjs} +0 -0
  1231. /package/dist/chunks/{ur-Do8k1hR-.cjs → ur-BMh2seDu.cjs} +0 -0
  1232. /package/dist/chunks/{vi-CCTEx9XR.cjs → vi-4TUS0GSi.cjs} +0 -0
  1233. /package/dist/chunks/{vi-CEt0cTzQ.mjs → vi-CLg1e4-a.mjs} +0 -0
  1234. /package/dist/chunks/{zh-Ive4on8E.cjs → zh-DZtmJNDR.cjs} +0 -0
  1235. /package/dist/chunks/{zh-BwQjLCGO.mjs → zh-LvpOPMNT.mjs} +0 -0
@@ -1,3 +1,11 @@
1
+ /* Bundled font faces — generated by scripts/generate-fonts.mjs */
2
+ @import './fonts.css';
3
+ @import './popover-animation.css';
4
+ @import './keyframes.css';
5
+ @import '../tools/image/crop-editor.css';
6
+ @import '../tools/image/crop-modal.css';
7
+ @import '../tools/image/alt-popover.css';
8
+
1
9
  /*
2
10
  Import Tailwind CSS sub-modules individually (without native @layer wrappers).
3
11
  The default `@import 'tailwindcss'` wraps all output in @layer declarations,
@@ -9,445 +17,29 @@
9
17
  @import 'tailwindcss/theme.css';
10
18
  @import 'tailwindcss/utilities.css';
11
19
 
12
- /*
13
- Style isolation: prevent host-page styles from cascading into Blok's UI,
14
- and prevent Blok's preflight from affecting the host page.
15
-
16
- [data-blok-interface] — the editor wrapper element
17
- [data-blok-popover] — popover elements mounted directly to <body>
18
-
19
- `all: revert` rolls every CSS property back to the browser's UA stylesheet
20
- baseline, blocking ambient host-page styles from cascading in. Blok's own
21
- utility classes (applied to the same elements or descendants) override this
22
- because they appear later in the cascade.
23
-
24
- The scoped preflight below replaces `@import 'tailwindcss/preflight.css'`.
25
- It applies the same resets as Tailwind's preflight, but only inside Blok's
26
- isolation roots — not to the entire host page.
27
-
28
- All selectors use :where() (zero specificity) so user-authored CSS that
29
- explicitly targets Blok elements wins without needing !important.
30
- */
31
-
32
- /* --- Isolation boundaries --- */
33
- /*
34
- Top-level isolation roots each use a different reset strategy:
35
-
36
- [data-blok-interface=blok]
37
- `all: initial !important` — main editor wrapper (outermost boundary).
38
- Resets every property to its CSS initial value with !important priority,
39
- blocking even `!important` host-page styles from cascading in.
40
- However, `!important` declarations always beat normal declarations
41
- regardless of specificity or source order, so Tailwind utility classes
42
- applied to the wrapper element itself (e.g. `relative`, `z-1`) are
43
- overridden. Properties that the wrapper needs must be explicitly
44
- re-applied with `!important` below (same pattern as font-family/color).
45
-
46
- [data-blok-popover]:not([data-blok-popover-inline])
47
- Inherited-properties-only reset — toolbox/settings popovers, appended
48
- to <body>. Unlike `[data-blok-interface=blok]`, the popover root receives
49
- JS-applied inline styles (position, top, left, CSS variables) that must
50
- NOT be overridden. Since only INHERITED CSS properties can flow in from
51
- host page styles, we reset only inherited properties with `!important`
52
- rather than using `all: initial !important` (which would override the
53
- inline-normal layout styles set by JavaScript).
54
-
55
- [data-blok-interface=tooltip]
56
- Inherited-properties-only reset — tooltip element, appended directly to
57
- <body>. Uses the same strategy as [data-blok-popover]: reset only inherited
58
- CSS properties, not layout properties. The tooltip sets position, top, left,
59
- z-index, and opacity via Tailwind utility classes and JS inline styles; using
60
- `all: initial !important` here would reset `position` to `static`, which
61
- removes the wrapper as a containing block. Without a positioned wrapper, the
62
- `::before` pseudo-element (position:absolute; inset:0) would expand to fill
63
- the entire viewport, darkening the page on hover of inline toolbar buttons.
64
-
65
- [data-blok-interface=inline-toolbar] is intentionally excluded: it is a
66
- positioned descendant inside the editor wrapper, not a top-level body
67
- element. Applying `all: initial` there would undo Tailwind utilities
68
- (e.g. `position: absolute`, `z-index`) that the inline toolbar relies on.
69
-
70
- [data-blok-popover-inline] is also excluded: inline popovers (used by the
71
- inline toolbar) live inside the editor wrapper and are already protected by
72
- its isolation boundary. They must NOT be reset here — doing so breaks their
73
- display/position/visibility. Only body-level popovers need isolation.
74
- */
75
- [data-blok-interface=blok] {
76
- all: initial !important;
77
-
78
- /*
79
- Re-apply layout properties that `all: initial` resets.
80
- The wrapper must be a positioned containing block so that
81
- absolutely-positioned children (inline toolbar, main toolbar)
82
- resolve against it rather than the document root. Without this,
83
- the inline toolbar renders off-screen when the page is scrolled.
84
- */
85
- position: relative !important;
86
- box-sizing: border-box !important;
87
- display: block !important;
88
- z-index: 1 !important;
89
- }
90
-
91
- /*
92
- RTL direction is set conditionally via JS (ui.ts) using the
93
- data-blok-rtl attribute. `all: initial` resets direction to `ltr`,
94
- so we must re-apply it with !important when the attribute is present.
95
- */
96
- [data-blok-interface=blok][data-blok-rtl=true] {
97
- direction: rtl !important;
98
- }
99
-
100
- /* Font family — user-configurable via config.style.fontFamily */
101
- [data-blok-interface=blok],
102
- [data-blok-interface=tooltip] {
103
- font-family: var(--blok-font-family, ui-sans-serif, system-ui, sans-serif) !important;
104
- color: var(--blok-text-primary) !important;
105
- }
106
-
107
- /*
108
- Reset Tailwind CSS custom properties that host-page styles may override on :root.
109
- `all: initial` does NOT reset CSS custom properties (per spec), so we must
110
- explicitly restore each --radius-* token to Tailwind v4's built-in defaults.
111
- Without these resets, a host page that sets e.g. `--radius-lg: 20px` on :root
112
- will cause Blok's `rounded-lg` utility to resolve to 20px instead of 8px.
113
- */
114
- [data-blok-interface=blok],
115
- [data-blok-interface=tooltip],
116
- [data-blok-popover] {
117
- --radius: 0.25rem;
118
- --radius-xs: 0.125rem;
119
- --radius-sm: 0.25rem;
120
- --radius-md: 0.375rem;
121
- --radius-lg: 0.5rem;
122
- --radius-xl: 0.75rem;
123
- --radius-2xl: 1rem;
124
- --radius-3xl: 1.5rem;
125
- --radius-4xl: 2rem;
126
- }
127
-
128
- /*
129
- Reset inherited CSS properties on body-level popover and tooltip roots.
130
- Only inherited properties can cascade in from host-page styles;
131
- non-inherited properties (position, top, left, display, width, etc.)
132
- cannot cascade and must NOT be reset here because JavaScript and Tailwind
133
- utility classes set them as normal author/inline styles, which would be
134
- overridden by author-!important.
135
- */
136
- [data-blok-popover]:not([data-blok-popover-inline]),
137
- [data-blok-interface=tooltip] {
138
- color: initial !important;
139
- font-family: var(--blok-font-family, ui-sans-serif, system-ui, sans-serif) !important;
140
- font-size: initial !important;
141
- font-weight: initial !important;
142
- font-style: initial !important;
143
- font-variant: initial !important;
144
- font-stretch: initial !important;
145
- line-height: initial !important;
146
- letter-spacing: initial !important;
147
- word-spacing: initial !important;
148
- text-align: initial !important;
149
- text-indent: initial !important;
150
- text-transform: initial !important;
151
- text-decoration: initial !important;
152
- text-shadow: initial !important;
153
- white-space: initial !important;
154
- word-break: initial !important;
155
- overflow-wrap: initial !important;
156
- cursor: initial !important;
157
- pointer-events: initial !important;
158
- user-select: initial !important;
159
- direction: initial !important;
160
- list-style: initial !important;
161
- quotes: initial !important;
162
- border-collapse: initial !important;
163
- border-spacing: initial !important;
164
- empty-cells: initial !important;
165
- caption-side: initial !important;
166
- scrollbar-width: initial !important;
167
- scrollbar-color: initial !important;
168
- }
169
-
170
- /* --- Scoped preflight (replaces tailwindcss/preflight.css) --- */
20
+ @import './isolation.css';
21
+ @import './preflight.css';
171
22
 
172
23
  /*
173
- 1. Prevent padding and border from affecting element width.
174
- 2. Remove default margins and padding.
175
- 3. Reset all borders.
24
+ Top-Layer reset duplicated from isolation.css so that audits reading
25
+ main.css directly (test/unit/components/utils/tooltip.test.ts) find the
26
+ rule without walking @imports. Keys off the `data-blok-top-layer` marker
27
+ that src/components/utils/top-layer.ts sets on every promoted element,
28
+ so one rule covers every current and future popover/tooltip caller. The
29
+ isolation.css copy still paints in isolation-import order; this one is
30
+ cascade-equivalent because both target the same selector with the same
31
+ declarations.
176
32
  */
177
- :where([data-blok-interface], [data-blok-popover]) *,
178
- :where([data-blok-interface], [data-blok-popover]) ::after,
179
- :where([data-blok-interface], [data-blok-popover]) ::before,
180
- :where([data-blok-interface], [data-blok-popover]) ::backdrop,
181
- :where([data-blok-interface], [data-blok-popover]) ::file-selector-button {
182
- box-sizing: border-box; /* 1 */
183
- margin: 0; /* 2 */
184
- padding: 0; /* 2 */
185
- border: 0 solid; /* 3 */
186
- }
187
-
188
- /*
189
- NOTE: The `html` rule from Tailwind preflight (line-height, font-family,
190
- tap-highlight, etc.) is intentionally omitted. It cannot be scoped to a
191
- sub-element, and it was the primary source of host-page <html> mutations.
192
- Blok sets its own font-family and line-height via utility classes on the
193
- wrapper and its descendants.
194
- */
195
-
196
- /* Correct the inheritance of border color in Firefox. */
197
- :where([data-blok-interface], [data-blok-popover]) hr {
198
- height: 0;
199
- color: inherit;
200
- border-top-width: 1px;
201
- }
202
-
203
- /* Add the correct text decoration in Chrome, Edge, and Safari. */
204
- :where([data-blok-interface], [data-blok-popover]) abbr:where([title]) {
205
- -webkit-text-decoration: underline dotted;
206
- text-decoration: underline dotted;
207
- }
208
-
209
- /*
210
- Reset font-family and letter-spacing for headings so host-page heading rules
211
- (e.g. `h1 { font-family: 'Times New Roman'; letter-spacing: 0.5em; }`) cannot
212
- override Blok's styling — even when the host uses `!important`.
213
- Specificity raised from (0,0,1) to (0,1,1) to beat host element-selector rules.
214
- font-size and font-weight are intentionally omitted from this rule so that the
215
- Header tool's own Tailwind utility classes (text-3xl, font-bold, etc.) remain
216
- effective in the normal cascade. The all:initial !important on the root boundary
217
- already neutralizes the UA stylesheet's default heading sizes inside the editor.
218
- */
219
- [data-blok-interface] :is(h1, h2, h3, h4, h5, h6),
220
- [data-blok-popover] :is(h1, h2, h3, h4, h5, h6) {
221
- font-family: inherit !important;
222
- letter-spacing: inherit !important;
223
- }
224
-
225
- /* Reset links to optimize for opt-in styling instead of opt-out. */
226
- :where([data-blok-interface], [data-blok-popover]) a {
227
- color: inherit;
228
- -webkit-text-decoration: inherit;
229
- text-decoration: inherit;
230
- }
231
-
232
- /* Add the correct font weight in Edge and Safari. */
233
- :where([data-blok-interface], [data-blok-popover]) :is(b, strong) {
234
- font-weight: bolder;
235
- }
236
-
237
- /* Override the browser UA color: MarkText on <mark> elements so that marks
238
- without an explicit inline color inherit the parent's text color instead
239
- of defaulting to black in dark mode. */
240
- :where([data-blok-interface], [data-blok-popover]) mark {
241
- color: inherit;
242
- }
243
-
244
- /* Correct the odd em font sizing in all browsers for code elements. */
245
- :where([data-blok-interface], [data-blok-popover]) :is(code, kbd, samp, pre) {
246
- font-family: --theme(
247
- --default-mono-font-family,
248
- ui-monospace,
249
- SFMono-Regular,
250
- Menlo,
251
- Monaco,
252
- Consolas,
253
- 'Liberation Mono',
254
- 'Courier New',
255
- monospace
256
- );
257
- font-feature-settings: --theme(--default-mono-font-feature-settings, normal);
258
- font-variation-settings: --theme(--default-mono-font-variation-settings, normal);
259
- font-size: 1em;
260
- }
261
-
262
- /* Add the correct font size in all browsers. */
263
- :where([data-blok-interface], [data-blok-popover]) small {
264
- font-size: 80%;
265
- }
266
-
267
- /* Prevent sub and sup elements from affecting line height. */
268
- :where([data-blok-interface], [data-blok-popover]) :is(sub, sup) {
269
- font-size: 75%;
270
- line-height: 0;
271
- position: relative;
272
- vertical-align: baseline;
273
- }
274
- :where([data-blok-interface], [data-blok-popover]) sub { bottom: -0.25em; }
275
- :where([data-blok-interface], [data-blok-popover]) sup { top: -0.5em; }
276
-
277
- /* Remove text indentation from table contents and fix border color inheritance. */
278
- :where([data-blok-interface], [data-blok-popover]) table {
279
- text-indent: 0;
280
- border-color: inherit;
281
- border-collapse: collapse;
282
- }
283
-
284
- /* Use the modern Firefox focus style for all focusable elements. */
285
- :where([data-blok-interface], [data-blok-popover]) :-moz-focusring {
286
- outline: auto;
287
- }
288
-
289
- /* Add the correct vertical alignment in Chrome and Firefox. */
290
- :where([data-blok-interface], [data-blok-popover]) progress {
291
- vertical-align: baseline;
292
- }
293
-
294
- /* Add the correct display in Chrome and Safari. */
295
- :where([data-blok-interface], [data-blok-popover]) summary {
296
- display: list-item;
297
- }
298
-
299
- /* Make lists unstyled by default. */
300
- :where([data-blok-interface], [data-blok-popover]) :is(ol, ul, menu) {
301
- list-style: none;
302
- }
303
-
304
- /* Make replaced elements display: block by default. */
305
- :where([data-blok-interface], [data-blok-popover]) :is(img, svg, video, canvas, audio, iframe, embed, object) {
306
- display: block;
307
- vertical-align: middle;
308
- }
309
-
310
- /* Constrain images and videos to the parent width. */
311
- :where([data-blok-interface], [data-blok-popover]) :is(img, video) {
312
- max-width: 100%;
313
- height: auto;
314
- }
315
-
316
- /* Inherit font styles in all browsers for form elements. */
317
- :where([data-blok-interface], [data-blok-popover]) :is(button, input, select, optgroup, textarea, ::file-selector-button) {
318
- font: inherit;
319
- font-feature-settings: inherit;
320
- font-variation-settings: inherit;
321
- letter-spacing: inherit;
322
- color: inherit;
323
- background-color: transparent;
324
- opacity: 1;
325
- }
326
-
327
- /* Restore default font weight for optgroup. */
328
- :where([data-blok-interface], [data-blok-popover]) :where(select:is([multiple], [size])) optgroup {
329
- font-weight: bolder;
330
- }
331
-
332
- /* Restore indentation for optgroup options. */
333
- :where([data-blok-interface], [data-blok-popover]) :where(select:is([multiple], [size])) optgroup option {
334
- padding-inline-start: 20px;
335
- }
336
-
337
- /* Restore space after file selector button. */
338
- :where([data-blok-interface], [data-blok-popover]) ::file-selector-button {
339
- margin-inline-end: 4px;
340
- }
341
-
342
- /* Reset placeholder opacity in Firefox. */
343
- :where([data-blok-interface], [data-blok-popover]) ::placeholder {
344
- opacity: 1;
345
- }
346
-
347
- /* Set placeholder color to semi-transparent version of current text color. */
348
- @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
349
- :where([data-blok-interface], [data-blok-popover]) ::placeholder {
350
- color: color-mix(in oklab, currentcolor 50%, transparent);
351
- }
352
- }
353
-
354
- /* Prevent resizing textareas horizontally by default. */
355
- :where([data-blok-interface], [data-blok-popover]) textarea {
356
- resize: vertical;
357
- }
358
-
359
- /* Remove inner padding and native cancel button in Chrome and Safari on macOS. */
360
- :where([data-blok-interface], [data-blok-popover]) ::-webkit-search-decoration,
361
- :where([data-blok-interface], [data-blok-popover]) ::-webkit-search-cancel-button {
362
- -webkit-appearance: none;
363
- }
364
-
365
- /* Ensure date/time inputs have consistent height in iOS Safari. */
366
- :where([data-blok-interface], [data-blok-popover]) ::-webkit-date-and-time-value {
367
- min-height: 1lh;
368
- text-align: inherit;
369
- }
370
-
371
- /* Prevent height from changing on date/time inputs in macOS Safari. */
372
- :where([data-blok-interface], [data-blok-popover]) ::-webkit-datetime-edit {
373
- display: inline-flex;
374
- }
375
-
376
- /* Remove excess padding from pseudo-elements in date/time inputs. */
377
- :where([data-blok-interface], [data-blok-popover]) ::-webkit-datetime-edit-fields-wrapper {
33
+ [data-blok-top-layer][popover] {
34
+ inset: auto;
35
+ margin: 0;
36
+ border: 0;
378
37
  padding: 0;
379
- }
380
-
381
- :where([data-blok-interface], [data-blok-popover]) :is(
382
- ::-webkit-datetime-edit,
383
- ::-webkit-datetime-edit-year-field,
384
- ::-webkit-datetime-edit-month-field,
385
- ::-webkit-datetime-edit-day-field,
386
- ::-webkit-datetime-edit-hour-field,
387
- ::-webkit-datetime-edit-minute-field,
388
- ::-webkit-datetime-edit-second-field,
389
- ::-webkit-datetime-edit-millisecond-field,
390
- ::-webkit-datetime-edit-meridiem-field
391
- ) {
392
- padding-block: 0;
393
- }
394
-
395
- /* Center dropdown marker on inputs with paired datalists. */
396
- :where([data-blok-interface], [data-blok-popover]) ::-webkit-calendar-picker-indicator {
397
- line-height: 1;
398
- }
399
-
400
- /* Remove additional :invalid styles in Firefox. */
401
- :where([data-blok-interface], [data-blok-popover]) :-moz-ui-invalid {
402
- box-shadow: none;
403
- }
404
-
405
- /* Correct the inability to style border-radius in iOS Safari. */
406
- :where([data-blok-interface], [data-blok-popover]) :is(button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button) {
407
- appearance: button;
408
- }
409
-
410
- /* Correct the cursor style of increment/decrement buttons in Safari. */
411
- :where([data-blok-interface], [data-blok-popover]) :is(::-webkit-inner-spin-button, ::-webkit-outer-spin-button) {
38
+ width: auto;
412
39
  height: auto;
413
- }
414
-
415
- /* Keep hidden elements hidden. */
416
- :where([data-blok-interface], [data-blok-popover]) [hidden]:where(:not([hidden='until-found'])) {
417
- display: none !important;
418
- }
419
-
420
- /* Suppress focus outline on mouse/pointer clicks inside Blok boundaries.
421
- :focus-visible below will re-enable it for keyboard navigation only. */
422
- [data-blok-interface] :focus:not(:focus-visible),
423
- [data-blok-popover] :focus:not(:focus-visible) {
424
- outline: none;
425
- }
426
-
427
- /* Never show a focus outline on text-entry elements — the text cursor
428
- is sufficient affordance regardless of how focus was triggered.
429
- Browsers always match :focus-visible on these elements even on mouse
430
- click (per CSS Selectors L4), so the :focus-visible restore rule below
431
- would otherwise override element-level outline-hidden utilities. */
432
- [data-blok-interface] :is([contenteditable], input, textarea):focus-visible,
433
- [data-blok-popover] :is([contenteditable], input, textarea):focus-visible {
434
- outline: none;
435
- }
436
-
437
- /* Restore browser-default :focus-visible styles inside Blok boundaries,
438
- preventing host-page outline/border-radius overrides. */
439
- [data-blok-interface] :focus-visible,
440
- [data-blok-popover] :focus-visible {
441
- outline: revert;
442
- outline-offset: revert;
443
- border-radius: revert;
444
- }
445
-
446
- /* Restore browser-default ::selection styles inside Blok boundaries. */
447
- [data-blok-interface] ::selection,
448
- [data-blok-popover] ::selection {
449
- background-color: revert;
450
- color: revert;
40
+ max-width: none;
41
+ max-height: none;
42
+ overflow: visible;
451
43
  }
452
44
 
453
45
  /* Restore browser-default scrollbar appearance inside Blok boundaries
@@ -484,650 +76,10 @@
484
76
  */
485
77
  @custom-variant theme-dark (&:where([data-theme="dark"], [data-theme="dark"] *));
486
78
 
487
- /* Non-overridable tokens — compiled statically */
488
- @theme {
489
- /* Z-index */
490
- --z-index-overlay: 999;
79
+ @import './tokens.css';
80
+ @import './colors.css';
491
81
 
492
- /* Spacing (also powers w-*, h-*, min-w-*, min-h-*, size-*) */
493
- --spacing-content-width: 650px;
494
-
495
- --spacing-toolbox-btn: 26px;
496
- --spacing-toolbox-btn-mobile: 36px;
497
- --spacing-icon: 20px;
498
- --spacing-icon-mobile: 28px;
499
- --spacing-block-padding-vertical: 0.4em;
500
-
501
- /* Max-width */
502
- --max-width-content: 720px;
503
-
504
- /* Font family */
505
- --font-mono: 'PT Mono', 'Menlo', 'Monaco', 'Consolas', 'Courier New', monospace;
506
-
507
- /* Box shadows */
508
- --shadow-overlay-pane: 0 3px 15px -3px rgba(13, 20, 33, 0.13);
509
- --shadow-tool-icon: 0 0 0 1px #eff0f1;
510
- --shadow-tooltip: 0 8px 12px 0 rgba(29, 32, 43, 0.17), 0 4px 5px -3px rgba(5, 6, 12, 0.49);
511
- --shadow-notify: 0 11px 17px 0 rgba(23, 32, 61, 0.13);
512
- --shadow-button-focused: inset 0 0 0 1px rgba(7, 161, 227, 0.08);
513
- --shadow-input: inset 0 1px 2px 0 rgba(35, 44, 72, 0.06);
514
- --shadow-button-base: 0 2px 2px 0 rgba(18, 30, 57, 0.04);
515
- --shadow-button-base-hover: 0 1px 3px 0 rgba(18, 30, 57, 0.08);
516
- --shadow-demo-btn: 0 22px 18px -4px rgba(137, 207, 255, 0.77);
517
- --shadow-demo-btn-hover: 0 20px 15px -4px rgba(137, 207, 255, 0.77);
518
- --shadow-demo-btn-primary: 0 7px 8px -4px rgba(137, 207, 255, 0.77);
519
- --shadow-demo-dark-btn: 0 24px 18px -14px rgba(4, 154, 255, 0.24);
520
-
521
- /* Animations */
522
- --animate-fade-in: fade-in 300ms ease forwards;
523
- --animate-bounce-in: bounceIn 0.75s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
524
- --animate-selection-bounce: selectionBounce 0.75s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
525
- --animate-button-clicked: buttonClicked 0.75s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
526
- --animate-wobble: wobble 400ms;
527
- --animate-rotation: rotation 1.2s infinite linear;
528
- --animate-notify-bounce-in: notifyBounceIn 600ms 1;
529
- --animate-notify-slide-in: notifySlideIn 400ms cubic-bezier(0.16, 1, 0.3, 1) both;
530
- --animate-notify-slide-out: notifySlideOut 250ms cubic-bezier(0.4, 0, 1, 1) both;
531
- --animate-notify-slide-in-top: notifySlideInTop 400ms cubic-bezier(0.16, 1, 0.3, 1) both;
532
- --animate-notify-slide-out-top: notifySlideOutTop 250ms cubic-bezier(0.4, 0, 1, 1) both;
533
- --animate-notify-swap-out: notifySwapOut 140ms cubic-bezier(0.4, 0, 1, 1) both;
534
- --animate-notify-progress: notifyProgress linear forwards;
535
-
536
- /* Keyframes */
537
- @keyframes fade-in {
538
- from { opacity: 0; }
539
- to { opacity: 1; }
540
- }
541
-
542
- @keyframes bounceIn {
543
- 0% { transform: scale3d(0.9, 0.9, 0.9); }
544
- 20% { transform: scale3d(1.03, 1.03, 1.03); }
545
- 60%, 100% { transform: scale3d(1, 1, 1); }
546
- }
547
-
548
- @keyframes selectionBounce {
549
- 0%, 100% { transform: scale3d(1, 1, 1); }
550
- 50% { transform: scale3d(1.01, 1.01, 1.01); }
551
- 70% { transform: scale3d(1, 1, 1); }
552
- }
553
-
554
- @keyframes buttonClicked {
555
- 0% { transform: scale3d(0.95, 0.95, 0.95); }
556
- 60% { transform: scale3d(1.02, 1.02, 1.02); }
557
- 80%, 100% { transform: scale3d(1, 1, 1); }
558
- }
559
-
560
- @keyframes wobble {
561
- from { transform: translate3d(0, 0, 0); }
562
- 15% { transform: translate3d(-9%, 0, 0); }
563
- 30% { transform: translate3d(9%, 0, 0); }
564
- 45% { transform: translate3d(-4%, 0, 0); }
565
- 60% { transform: translate3d(4%, 0, 0); }
566
- 75% { transform: translate3d(-1%, 0, 0); }
567
- to { transform: translate3d(0, 0, 0); }
568
- }
569
-
570
- @keyframes rotation {
571
- 0% { transform: rotate(0deg); }
572
- 100% { transform: rotate(360deg); }
573
- }
574
-
575
- @keyframes notifyBounceIn {
576
- 0% { opacity: 0; transform: scale(0.3); }
577
- 50% { opacity: 1; transform: scale(1.05); }
578
- 70% { transform: scale(0.9); }
579
- 100% { transform: scale(1); }
580
- }
581
-
582
- @keyframes notifySlideIn {
583
- 0% { opacity: 0; transform: translateY(16px); }
584
- 70% { opacity: 1; transform: translateY(-2px); }
585
- 100% { opacity: 1; transform: translateY(0); }
586
- }
587
-
588
- @keyframes notifySlideOut {
589
- 0% { opacity: 1; transform: translateY(0); }
590
- 100% { opacity: 0; transform: translateY(8px); }
591
- }
592
-
593
- @keyframes notifySlideInTop {
594
- 0% { opacity: 0; transform: translateY(-16px); }
595
- 70% { opacity: 1; transform: translateY(2px); }
596
- 100% { opacity: 1; transform: translateY(0); }
597
- }
598
-
599
- @keyframes notifySlideOutTop {
600
- 0% { opacity: 1; transform: translateY(0); }
601
- 100% { opacity: 0; transform: translateY(-8px); }
602
- }
603
-
604
- @keyframes notifySwapOut {
605
- 0% { opacity: 1; transform: scale(1); }
606
- 100% { opacity: 0; transform: scale(0.94); }
607
- }
608
-
609
- @keyframes notifyProgress {
610
- 0% { width: 100%; }
611
- 100% { width: 0%; }
612
- }
613
- }
614
-
615
- /* Color tokens — resolved at runtime via CSS variables */
616
- @theme inline {
617
- --color-selection: var(--blok-selection);
618
- --color-selection-inline: var(--blok-selection-inline);
619
- --color-selection-highlight: var(--blok-selection-highlight);
620
- --color-bg-light: var(--blok-bg-light);
621
- --color-gray-text: var(--blok-gray-text);
622
- --color-dark: var(--blok-dark);
623
- --color-active-icon: var(--blok-active-icon);
624
- --color-link: var(--blok-link);
625
- --color-line-gray: var(--blok-line-gray);
626
- --color-tooltip-bg: var(--blok-tooltip-bg);
627
- --color-tooltip-font: var(--blok-tooltip-font);
628
- --color-icon-active-bg: var(--blok-icon-active-bg);
629
- --color-icon-active-text: var(--blok-icon-active-text);
630
- --color-text-primary: var(--blok-text-primary);
631
- --color-text-secondary: var(--blok-text-secondary);
632
- --color-popover-border: var(--blok-popover-border);
633
- --color-popover-shadow: var(--blok-popover-shadow);
634
- --color-popover-bg: var(--blok-popover-bg);
635
- --color-popover-border-icon: var(--blok-popover-border-icon);
636
- --color-popover-border-icon-disabled: var(--blok-popover-border-icon-disabled);
637
- --color-item-focus-bg: var(--blok-item-focus-bg);
638
- --color-item-focus-shadow: var(--blok-item-focus-shadow);
639
- --color-item-hover-bg: var(--blok-item-hover-bg);
640
- --color-icon-bg: var(--blok-icon-bg);
641
- --color-item-confirm-bg: var(--blok-item-confirm-bg);
642
- --color-item-confirm-hover-bg: var(--blok-item-confirm-hover-bg);
643
- --color-item-destructive-text: var(--blok-item-destructive-text);
644
- --color-item-destructive-hover-bg: var(--blok-item-destructive-hover-bg);
645
- --color-notify-success-bg: var(--blok-notify-success-bg);
646
- --color-notify-success-bar: var(--blok-notify-success-bar);
647
- --color-notify-error-bg: var(--blok-notify-error-bg);
648
- --color-notify-error-bar: var(--blok-notify-error-bar);
649
- --color-notify-btn-cancel-bg: var(--blok-notify-btn-cancel-bg);
650
- --color-notify-btn-cancel-text: var(--blok-notify-btn-cancel-text);
651
- --color-notify-btn-confirm-bg: var(--blok-notify-btn-confirm-bg);
652
-
653
- /* New tokens for hardcoded TS colors */
654
- --color-mobile-border: var(--blok-mobile-border);
655
- --color-search-input-bg: var(--blok-search-input-bg);
656
- --color-search-input-border: var(--blok-search-input-border);
657
- --color-search-input-focus-border: var(--blok-search-input-focus-border);
658
- --color-link-input-border: var(--blok-link-input-border);
659
- --color-popover-icon-bg: var(--blok-popover-icon-bg);
660
- --color-popover-icon-active-bg: var(--blok-popover-icon-active-bg);
661
-
662
- /* Color picker swatch ring */
663
- --color-swatch-ring-hover: var(--blok-swatch-ring-hover);
664
- --color-swatch-ring-active: var(--blok-swatch-ring-active);
665
-
666
- /* Surface tokens (code blocks, secondary containers) */
667
- --color-bg-secondary: var(--blok-bg-secondary);
668
- --color-border-secondary: var(--blok-border-secondary);
669
-
670
- }
671
-
672
- @layer utilities {
673
- .max-w-blok-content {
674
- max-width: var(--max-width-content);
675
- }
676
- }
677
-
678
- /* ─── Light theme (default) ─────────────────────────── */
679
- [data-blok-interface],
680
- [data-blok-popover] {
681
- --blok-selection: #e1f2ff;
682
- --blok-selection-inline: #d4ecff;
683
- --blok-selection-highlight: rgba(46, 170, 220, 0.2);
684
- --blok-bg-light: #eff2f5;
685
- --blok-gray-text: #707684;
686
- --blok-dark: #1d202b;
687
- --blok-active-icon: #2383e2;
688
- --blok-link: #2383e2;
689
- --blok-line-gray: #eff0f1;
690
- --blok-tooltip-bg: #1d202b;
691
- --blok-tooltip-font: #cdd1e0;
692
- --blok-icon-active-bg: rgba(35, 131, 226, 0.14);
693
- --blok-icon-active-text: #2383e2;
694
- --blok-text-primary: black;
695
- --blok-text-secondary: #707684;
696
- --blok-popover-border: rgba(55, 53, 47, 0.09);
697
- --blok-popover-shadow: rgba(13, 20, 33, 0.1);
698
- --blok-popover-bg: #ffffff;
699
- --blok-popover-box-shadow: 0 0 0 1px rgba(55, 53, 47, 0.09), 0 4px 16px rgba(0, 0, 0, 0.1), 0 16px 40px -8px rgba(0, 0, 0, 0.08);
700
- --blok-popover-border-icon: rgb(201 201 204 / 48%);
701
- --blok-popover-border-icon-disabled: #eff0f1;
702
- --blok-item-focus-bg: rgba(35, 131, 226, 0.14);
703
- --blok-item-focus-shadow: rgba(35, 131, 226, 0.14);
704
- --blok-item-hover-bg: rgba(55, 53, 47, 0.08);
705
- --blok-icon-bg: rgba(0, 0, 0, 0.04);
706
- --blok-item-confirm-bg: #e24a4a;
707
- --blok-item-confirm-hover-bg: #ce4343;
708
- --blok-item-destructive-text: #e24a4a;
709
- --blok-item-destructive-hover-bg: rgba(226, 74, 74, 0.08);
710
- --blok-notify-success-bg: #fafffe;
711
- --blok-notify-success-bar: #41ffb1;
712
- --blok-notify-error-bg: #fffbfb;
713
- --blok-notify-error-bar: #fb5d5d;
714
- --blok-notify-btn-cancel-bg: #f2f5f7;
715
- --blok-notify-btn-cancel-text: #656b7c;
716
- --blok-notify-btn-confirm-bg: #34c992;
717
-
718
- /* Tokens extracted from TS files */
719
- --blok-mobile-border: #e8e8eb;
720
- --blok-search-input-bg: #f8f8f8;
721
- --blok-search-input-border: rgba(226, 226, 229, 0.20);
722
- --blok-search-input-focus-border: rgba(35, 131, 226, 0.5);
723
- --blok-link-input-border: rgba(226, 226, 229, 0.2);
724
-
725
- /* Popover icon container */
726
- --blok-popover-icon-bg: rgba(55, 53, 47, 0.06);
727
- --blok-popover-icon-active-bg: rgba(35, 131, 226, 0.1);
728
-
729
- /* Table */
730
- --blok-table-border: #d1d5db;
731
- --blok-table-heading-bg: #f9fafb;
732
- --blok-table-grip-outline: transparent;
733
- --blok-table-drag-source-bg: #f3f4f6;
734
-
735
- /* Database / Kanban */
736
- --blok-database-card-bg: #fff;
737
- --blok-database-card-bg-hover: #f7f7f5;
738
- --blok-database-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
739
- --blok-database-card-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.12);
740
- --blok-database-card-border: rgba(0, 0, 0, 0.06);
741
- --blok-database-card-border-active: rgba(35, 131, 226, 0.57);
742
- --blok-database-card-placeholder: rgba(55, 53, 47, 0.4);
743
- --blok-database-card-colored-overlay: var(--blok-database-card-bg);
744
- --blok-database-card-colored-overlay-hover: var(--blok-database-card-bg-hover);
745
- --blok-database-card-colored-border: var(--blok-database-card-border);
746
- --blok-database-column-bg: rgba(0, 0, 0, 0.04);
747
- --blok-database-add-text: rgba(55, 53, 47, 0.5);
748
- --blok-database-add-border: rgba(55, 53, 47, 0.25);
749
- --blok-database-add-hover-bg: rgba(55, 53, 47, 0.06);
750
- --blok-database-delete-text: rgba(55, 53, 47, 0.35);
751
- --blok-database-delete-hover-text: rgba(55, 53, 47, 0.65);
752
- --blok-database-drawer-border: #e8e8eb;
753
- --blok-database-tab-bg: transparent;
754
- --blok-database-tab-bg-active: rgba(0, 0, 0, 0.06);
755
- --blok-database-tab-bg-hover: rgba(0, 0, 0, 0.04);
756
- --blok-database-tab-text: rgba(55, 53, 47, 0.5);
757
- --blok-database-tab-text-active: #37352f;
758
- --blok-database-popover-bg: #fff;
759
- --blok-database-popover-shadow: 0 4px 24px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.04);
760
- --blok-database-popover-hover: rgba(0, 0, 0, 0.04);
761
-
762
- /* Toggle switch */
763
- --blok-toggle-off-bg: #d4d4d8;
764
- --blok-toggle-on-bg: #2383e2;
765
- --blok-toggle-thumb-on-bg: #ffffff;
766
-
767
- /* Checklist */
768
- --blok-checklist-border: rgba(0, 0, 0, 0.28);
769
- --blok-checklist-shadow: rgba(0, 0, 0, 0.08);
770
- --blok-checklist-hover-ring: rgba(35, 131, 226, 0.14);
771
- --blok-checklist-readonly-fill: #94a3b8;
772
-
773
- /* Color picker swatch */
774
- --blok-swatch-neutral-bg: #f7f7f5;
775
- --blok-swatch-ring-hover: rgba(0, 0, 0, 0.10);
776
- --blok-swatch-ring-active: rgba(0, 0, 0, 0.30);
777
-
778
- /* Surface tokens (code blocks, secondary containers) */
779
- --blok-bg-secondary: #f7f8fa;
780
- --blok-border-secondary: rgba(55, 53, 47, 0.09);
781
-
782
- /* Marker colors — light theme */
783
- --blok-color-gray-text: #787774;
784
- --blok-color-gray-bg: #f1f1ef;
785
- --blok-color-brown-text: #9f6b53;
786
- --blok-color-brown-bg: #f4eeee;
787
- --blok-color-orange-text: #d9730d;
788
- --blok-color-orange-bg: #fbecdd;
789
- --blok-color-yellow-text: #cb9b00;
790
- --blok-color-yellow-bg: #fbf3db;
791
- --blok-color-green-text: #448361;
792
- --blok-color-green-bg: #edf3ec;
793
- --blok-color-teal-text: #2b9a8f;
794
- --blok-color-teal-bg: #e4f5f3;
795
- --blok-color-blue-text: #337ea9;
796
- --blok-color-blue-bg: #e7f3f8;
797
- --blok-color-purple-text: #9065b0;
798
- --blok-color-purple-bg: #f6f3f9;
799
- --blok-color-pink-text: #c14c8a;
800
- --blok-color-pink-bg: #f9f0f5;
801
- --blok-color-red-text: #d44c47;
802
- --blok-color-red-bg: #fdebec;
803
- }
804
-
805
- /* ─── Dark theme — system preference ────────────────── */
806
- @media (prefers-color-scheme: dark) {
807
- :root:not([data-blok-theme="light"]) [data-blok-interface],
808
- :root:not([data-blok-theme="light"]) [data-blok-popover] {
809
- --blok-selection: rgba(35, 131, 226, 0.2);
810
- --blok-selection-inline: rgba(35, 131, 226, 0.3);
811
- --blok-selection-highlight: rgba(35, 131, 226, 0.25);
812
- --blok-bg-light: rgba(255, 255, 255, 0.08);
813
- --blok-gray-text: #a39e98;
814
- --blok-dark: #191918;
815
- --blok-active-icon: #529cca;
816
- --blok-link: #529cca;
817
- --blok-line-gray: #37352f;
818
- --blok-tooltip-bg: #191918;
819
- --blok-tooltip-font: #e8e6e3;
820
- --blok-icon-active-bg: rgba(35, 131, 226, 0.2);
821
- --blok-icon-active-text: #529cca;
822
- --blok-text-primary: #e2e0dc;
823
- --blok-text-secondary: #a39e98;
824
- --blok-popover-border: rgba(255, 255, 255, 0.14);
825
- --blok-popover-shadow: rgba(0, 0, 0, 0.6);
826
- --blok-popover-bg: #252525;
827
- --blok-popover-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14), 0 4px 24px rgba(0, 0, 0, 0.5), 0 16px 40px -8px rgba(0, 0, 0, 0.4);
828
- --blok-popover-border-icon: #37352f;
829
- --blok-popover-border-icon-disabled: #2f2d29;
830
- --blok-item-focus-bg: rgba(35, 131, 226, 0.2);
831
- --blok-item-focus-shadow: rgba(35, 131, 226, 0.2);
832
- --blok-item-hover-bg: rgba(255, 255, 255, 0.055);
833
- --blok-icon-bg: rgba(255, 255, 255, 0.07);
834
- --blok-item-confirm-bg: #3d1f1f;
835
- --blok-item-confirm-hover-bg: #4a2020;
836
- --blok-item-destructive-text: #fb5d5d;
837
- --blok-item-destructive-hover-bg: rgba(251, 93, 93, 0.1);
838
- --blok-notify-success-bg: #1a2e22;
839
- --blok-notify-success-bar: #41ffb1;
840
- --blok-notify-error-bg: #2e1a1a;
841
- --blok-notify-error-bar: #fb5d5d;
842
- --blok-notify-btn-cancel-bg: #2f2d29;
843
- --blok-notify-btn-cancel-text: #a39e98;
844
- --blok-notify-btn-confirm-bg: #34c992;
845
- --blok-mobile-border: rgba(255, 255, 255, 0.07);
846
- --blok-search-input-bg: #363636;
847
- --blok-search-input-border: rgba(255, 255, 255, 0.20);
848
- --blok-search-input-focus-border: rgba(35, 131, 226, 0.5);
849
- --blok-link-input-border: #37352f;
850
- --blok-popover-icon-bg: rgba(255, 255, 255, 0.08);
851
- --blok-popover-icon-active-bg: rgba(35, 131, 226, 0.15);
852
-
853
- /* Table */
854
- --blok-table-border: #3e3e3d;
855
- --blok-table-heading-bg: #272725;
856
- --blok-table-grip-outline: rgba(255, 255, 255, 0.12);
857
- --blok-table-drag-source-bg: rgba(255, 255, 255, 0.07);
858
-
859
- /* Database / Kanban */
860
- --blok-database-card-bg: #2d2d2c;
861
- --blok-database-card-bg-hover: #353534;
862
- --blok-database-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
863
- --blok-database-card-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.45);
864
- --blok-database-card-border: rgba(255, 255, 255, 0.06);
865
- --blok-database-card-border-active: rgba(35, 131, 226, 0.7);
866
- --blok-database-card-placeholder: rgba(255, 255, 255, 0.3);
867
- --blok-database-card-colored-overlay: rgba(255, 255, 255, 0.06);
868
- --blok-database-card-colored-overlay-hover: rgba(255, 255, 255, 0.11);
869
- --blok-database-card-colored-border: rgba(255, 255, 255, 0.07);
870
- --blok-database-column-bg: rgba(255, 255, 255, 0.05);
871
- --blok-database-add-text: rgba(255, 255, 255, 0.4);
872
- --blok-database-add-border: rgba(255, 255, 255, 0.2);
873
- --blok-database-add-hover-bg: rgba(255, 255, 255, 0.06);
874
- --blok-database-delete-text: rgba(255, 255, 255, 0.3);
875
- --blok-database-delete-hover-text: rgba(255, 255, 255, 0.55);
876
- --blok-database-drawer-border: rgba(255, 255, 255, 0.1);
877
- --blok-database-tab-bg: transparent;
878
- --blok-database-tab-bg-active: rgba(255, 255, 255, 0.08);
879
- --blok-database-tab-bg-hover: rgba(255, 255, 255, 0.04);
880
- --blok-database-tab-text: rgba(255, 255, 255, 0.45);
881
- --blok-database-tab-text-active: rgba(255, 255, 255, 0.9);
882
- --blok-database-popover-bg: #2d2d2c;
883
- --blok-database-popover-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08);
884
- --blok-database-popover-hover: rgba(255, 255, 255, 0.06);
885
-
886
- /* Toggle switch */
887
- --blok-toggle-off-bg: #3f3f46;
888
- --blok-toggle-on-bg: #529cca;
889
- --blok-toggle-thumb-on-bg: #ffffff;
890
-
891
- /* Checklist */
892
- --blok-checklist-border: rgba(255, 255, 255, 0.22);
893
- --blok-checklist-shadow: rgba(0, 0, 0, 0.3);
894
- --blok-checklist-hover-ring: rgba(82, 156, 202, 0.2);
895
- --blok-checklist-readonly-fill: #475569;
896
-
897
- /* Color picker swatch */
898
- --blok-swatch-neutral-bg: #3a3a38;
899
- --blok-swatch-ring-hover: rgba(255, 255, 255, 0.15);
900
- --blok-swatch-ring-active: rgba(255, 255, 255, 0.35);
901
-
902
- /* Surface tokens (code blocks, secondary containers) */
903
- --blok-bg-secondary: rgba(255, 255, 255, 0.04);
904
- --blok-border-secondary: rgba(255, 255, 255, 0.08);
905
-
906
- /* Marker colors — dark theme */
907
- --blok-color-gray-text: #9b9b9b;
908
- --blok-color-gray-bg: #2f2f2f;
909
- --blok-color-brown-text: #c59177;
910
- --blok-color-brown-bg: #452a1c;
911
- --blok-color-orange-text: #dc8c47;
912
- --blok-color-orange-bg: #4d2f14;
913
- --blok-color-yellow-text: #d4ab49;
914
- --blok-color-yellow-bg: #544012;
915
- --blok-color-green-text: #5db184;
916
- --blok-color-green-bg: #1e432f;
917
- --blok-color-teal-text: #5cbcb3;
918
- --blok-color-teal-bg: #1b4642;
919
- --blok-color-blue-text: #5c9fcc;
920
- --blok-color-blue-bg: #123a54;
921
- --blok-color-purple-text: #a67dca;
922
- --blok-color-purple-bg: #341d49;
923
- --blok-color-pink-text: #d45e99;
924
- --blok-color-pink-bg: #4b1b33;
925
- --blok-color-red-text: #dd5e5a;
926
- --blok-color-red-bg: #4e1a18;
927
- }
928
- }
929
-
930
- /* ─── Dark theme — explicit override ────────────────── */
931
- [data-blok-theme="dark"] [data-blok-interface],
932
- [data-blok-theme="dark"] [data-blok-popover] {
933
- --blok-selection: rgba(35, 131, 226, 0.2);
934
- --blok-selection-inline: rgba(35, 131, 226, 0.3);
935
- --blok-selection-highlight: rgba(35, 131, 226, 0.25);
936
- --blok-bg-light: rgba(255, 255, 255, 0.08);
937
- --blok-gray-text: #a39e98;
938
- --blok-dark: #191918;
939
- --blok-active-icon: #529cca;
940
- --blok-link: #529cca;
941
- --blok-line-gray: #37352f;
942
- --blok-tooltip-bg: #191918;
943
- --blok-tooltip-font: #e8e6e3;
944
- --blok-icon-active-bg: rgba(35, 131, 226, 0.2);
945
- --blok-icon-active-text: #529cca;
946
- --blok-text-primary: #e2e0dc;
947
- --blok-text-secondary: #a39e98;
948
- --blok-popover-border: rgba(255, 255, 255, 0.14);
949
- --blok-popover-shadow: rgba(0, 0, 0, 0.6);
950
- --blok-popover-bg: #252525;
951
- --blok-popover-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14), 0 4px 24px rgba(0, 0, 0, 0.5), 0 16px 40px -8px rgba(0, 0, 0, 0.4);
952
- --blok-popover-border-icon: #37352f;
953
- --blok-popover-border-icon-disabled: #2f2d29;
954
- --blok-item-focus-bg: rgba(35, 131, 226, 0.2);
955
- --blok-item-focus-shadow: rgba(35, 131, 226, 0.2);
956
- --blok-item-hover-bg: rgba(255, 255, 255, 0.055);
957
- --blok-icon-bg: rgba(255, 255, 255, 0.07);
958
- --blok-item-confirm-bg: #3d1f1f;
959
- --blok-item-confirm-hover-bg: #4a2020;
960
- --blok-item-destructive-text: #fb5d5d;
961
- --blok-item-destructive-hover-bg: rgba(251, 93, 93, 0.1);
962
- --blok-notify-success-bg: #1a2e22;
963
- --blok-notify-success-bar: #41ffb1;
964
- --blok-notify-error-bg: #2e1a1a;
965
- --blok-notify-error-bar: #fb5d5d;
966
- --blok-notify-btn-cancel-bg: #2f2d29;
967
- --blok-notify-btn-cancel-text: #a39e98;
968
- --blok-notify-btn-confirm-bg: #34c992;
969
- --blok-mobile-border: rgba(255, 255, 255, 0.07);
970
- --blok-search-input-bg: #363636;
971
- --blok-search-input-border: rgba(255, 255, 255, 0.20);
972
- --blok-search-input-focus-border: rgba(35, 131, 226, 0.5);
973
- --blok-link-input-border: #37352f;
974
- --blok-popover-icon-bg: rgba(255, 255, 255, 0.08);
975
- --blok-popover-icon-active-bg: rgba(35, 131, 226, 0.15);
976
-
977
- /* Table */
978
- --blok-table-border: #3e3e3d;
979
- --blok-table-heading-bg: #272725;
980
- --blok-table-grip-outline: rgba(255, 255, 255, 0.12);
981
- --blok-table-drag-source-bg: rgba(255, 255, 255, 0.07);
982
-
983
- /* Database / Kanban */
984
- --blok-database-card-bg: #2d2d2c;
985
- --blok-database-card-bg-hover: #353534;
986
- --blok-database-card-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
987
- --blok-database-card-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.45);
988
- --blok-database-card-border: rgba(255, 255, 255, 0.06);
989
- --blok-database-card-border-active: rgba(35, 131, 226, 0.7);
990
- --blok-database-card-placeholder: rgba(255, 255, 255, 0.3);
991
- --blok-database-card-colored-overlay: rgba(255, 255, 255, 0.06);
992
- --blok-database-card-colored-overlay-hover: rgba(255, 255, 255, 0.11);
993
- --blok-database-card-colored-border: rgba(255, 255, 255, 0.07);
994
- --blok-database-column-bg: rgba(255, 255, 255, 0.03);
995
- --blok-database-add-text: rgba(255, 255, 255, 0.4);
996
- --blok-database-add-border: rgba(255, 255, 255, 0.2);
997
- --blok-database-add-hover-bg: rgba(255, 255, 255, 0.06);
998
- --blok-database-delete-text: rgba(255, 255, 255, 0.3);
999
- --blok-database-delete-hover-text: rgba(255, 255, 255, 0.55);
1000
- --blok-database-drawer-border: rgba(255, 255, 255, 0.1);
1001
- --blok-database-tab-bg: transparent;
1002
- --blok-database-tab-bg-active: rgba(255, 255, 255, 0.08);
1003
- --blok-database-tab-bg-hover: rgba(255, 255, 255, 0.04);
1004
- --blok-database-tab-text: rgba(255, 255, 255, 0.45);
1005
- --blok-database-tab-text-active: rgba(255, 255, 255, 0.9);
1006
- --blok-database-popover-bg: #2d2d2c;
1007
- --blok-database-popover-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08);
1008
- --blok-database-popover-hover: rgba(255, 255, 255, 0.06);
1009
-
1010
- /* Toggle switch */
1011
- --blok-toggle-off-bg: #3f3f46;
1012
- --blok-toggle-on-bg: #e4e4e7;
1013
- --blok-toggle-thumb-on-bg: #252525;
1014
-
1015
- /* Checklist */
1016
- --blok-checklist-border: rgba(255, 255, 255, 0.22);
1017
- --blok-checklist-shadow: rgba(0, 0, 0, 0.3);
1018
- --blok-checklist-hover-ring: rgba(82, 156, 202, 0.2);
1019
- --blok-checklist-readonly-fill: #475569;
1020
-
1021
- /* Color picker swatch */
1022
- --blok-swatch-neutral-bg: #3a3a38;
1023
- --blok-swatch-ring-hover: rgba(255, 255, 255, 0.15);
1024
- --blok-swatch-ring-active: rgba(255, 255, 255, 0.35);
1025
-
1026
- /* Surface tokens (code blocks, secondary containers) */
1027
- --blok-bg-secondary: rgba(255, 255, 255, 0.04);
1028
- --blok-border-secondary: rgba(255, 255, 255, 0.08);
1029
-
1030
- /* Marker colors — dark theme */
1031
- --blok-color-gray-text: #9b9b9b;
1032
- --blok-color-gray-bg: #2f2f2f;
1033
- --blok-color-brown-text: #c59177;
1034
- --blok-color-brown-bg: #452a1c;
1035
- --blok-color-orange-text: #dc8c47;
1036
- --blok-color-orange-bg: #4d2f14;
1037
- --blok-color-yellow-text: #d4ab49;
1038
- --blok-color-yellow-bg: #544012;
1039
- --blok-color-green-text: #5db184;
1040
- --blok-color-green-bg: #1e432f;
1041
- --blok-color-teal-text: #5cbcb3;
1042
- --blok-color-teal-bg: #1b4642;
1043
- --blok-color-blue-text: #5c9fcc;
1044
- --blok-color-blue-bg: #123a54;
1045
- --blok-color-purple-text: #a67dca;
1046
- --blok-color-purple-bg: #341d49;
1047
- --blok-color-pink-text: #d45e99;
1048
- --blok-color-pink-bg: #4b1b33;
1049
- --blok-color-red-text: #dd5e5a;
1050
- --blok-color-red-bg: #4e1a18;
1051
- }
1052
-
1053
- /* ─── Checklist checkbox — custom styled ────────────────── */
1054
- /*
1055
- appearance: none removes native browser rendering entirely, eliminating the
1056
- bright-white native checkbox that causes harsh contrast in dark mode.
1057
- We rebuild the full visual state in CSS for consistent cross-browser rendering.
1058
- */
1059
-
1060
- @keyframes blok-checkbox-pop {
1061
- 0% { transform: scale(1); }
1062
- 35% { transform: scale(1.18); }
1063
- 65% { transform: scale(0.9); }
1064
- 82% { transform: scale(1.07); }
1065
- 100% { transform: scale(1); }
1066
- }
1067
-
1068
- [data-blok-interface] [data-list-style="checklist"] input[type="checkbox"] {
1069
- appearance: none;
1070
- -webkit-appearance: none;
1071
- flex-shrink: 0;
1072
- border-radius: 5px;
1073
- border: 2px solid var(--blok-checklist-border);
1074
- background-color: transparent;
1075
- box-shadow: inset 0 1px 2px var(--blok-checklist-shadow);
1076
- transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
1077
- }
1078
-
1079
- [data-blok-interface] [data-list-style="checklist"] input[type="checkbox"]:checked {
1080
- background-color: var(--blok-active-icon);
1081
- border-color: var(--blok-active-icon);
1082
- box-shadow: none;
1083
- animation: blok-checkbox-pop 280ms linear;
1084
- /* SVG checkmark — white path on accent-blue background */
1085
- background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 5L4 7.5L8.5 2.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
1086
- background-size: 10px 10px;
1087
- background-position: center;
1088
- background-repeat: no-repeat;
1089
- }
1090
-
1091
- [data-blok-interface] [data-list-style="checklist"] input[type="checkbox"]:not(:disabled):not(:checked):hover {
1092
- border-color: var(--blok-active-icon);
1093
- transform: scale(1.06);
1094
- box-shadow: 0 0 0 3px var(--blok-checklist-hover-ring), inset 0 1px 2px var(--blok-checklist-shadow);
1095
- }
1096
-
1097
- [data-blok-interface] [data-list-style="checklist"] input[type="checkbox"]:not(:disabled):checked:hover {
1098
- box-shadow: 0 0 0 3px var(--blok-checklist-hover-ring);
1099
- }
1100
-
1101
- [data-blok-interface] [data-list-style="checklist"] input[type="checkbox"]:disabled:not(:checked) {
1102
- opacity: 0.5;
1103
- }
1104
-
1105
- [data-blok-interface] [data-list-style="checklist"] input[type="checkbox"]:disabled:checked {
1106
- background-color: var(--blok-checklist-readonly-fill);
1107
- border-color: var(--blok-checklist-readonly-fill);
1108
- box-shadow: none;
1109
- animation: none;
1110
- }
1111
-
1112
- /*
1113
- The global input:focus-visible rule above suppresses all input focus rings.
1114
- Checkboxes need a visible focus ring for keyboard accessibility — restore it.
1115
- */
1116
- [data-blok-interface] [data-list-style="checklist"] input[type="checkbox"]:focus-visible {
1117
- outline: 2px solid var(--blok-active-icon);
1118
- outline-offset: 2px;
1119
- }
1120
-
1121
- /* Dark mode: more muted checked text so completed items feel visually "done" */
1122
- @media (prefers-color-scheme: dark) {
1123
- :root:not([data-blok-theme="light"]) [data-blok-interface] [data-list-style="checklist"] [data-checked="true"] {
1124
- opacity: 0.45;
1125
- }
1126
- }
1127
-
1128
- [data-blok-theme="dark"] [data-blok-interface] [data-list-style="checklist"] [data-checked="true"] {
1129
- opacity: 0.45;
1130
- }
82
+ @import './checklist.css';
1131
83
 
1132
84
  /*
1133
85
  The default border color has changed to `currentcolor` in Tailwind CSS v4,
@@ -1171,7 +123,11 @@
1171
123
  }
1172
124
  @utility blok-button {
1173
125
  /* Button styles */
1174
- @apply p-[13px] rounded-[3px] border border-line-gray text-[14.9px] bg-white text-center cursor-pointer text-gray-text shadow-button-base hover:bg-[#fbfcfe] hover:shadow-button-base-hover [&_svg]:h-5 [&_svg]:mr-[0.2em] [&_svg]:-mt-0.5;
126
+ @apply p-[13px] rounded-[3px] border border-line-gray text-[14.9px] bg-white text-center cursor-pointer text-gray-text shadow-button-base hover:shadow-button-base-hover [&_svg]:h-5 [&_svg]:mr-[0.2em] [&_svg]:-mt-0.5;
127
+
128
+ &:hover {
129
+ background-color: var(--blok-button-focus-bg-hover);
130
+ }
1175
131
  }
1176
132
  @utility blok-settings-button {
1177
133
  /* Settings button styles */
@@ -1215,31 +171,26 @@
1215
171
  }
1216
172
 
1217
173
  [data-drop-indicator]::before {
1218
- @apply content-[''] absolute w-full max-w-content h-1.5 rounded-xs bg-[#d4e3fc] pointer-events-none z-10;
1219
- left: 50%;
1220
- margin-left: calc(var(--drop-indicator-depth, 0) * 12px);
1221
- max-width: calc(650px - var(--drop-indicator-depth, 0) * 24px);
174
+ @apply content-[''] absolute h-1.5 rounded-xs pointer-events-none z-10;
175
+ background-color: var(--blok-dnd-drop-indicator-bg);
176
+ left: calc(var(--drop-indicator-depth, 0) * var(--blok-space-3));
177
+ right: 0;
1222
178
  }
1223
179
 
1224
180
  [data-drop-indicator="bottom"]::before {
1225
181
  @apply bottom-0;
1226
- transform: translateX(-50%) translateY(50%);
182
+ transform: translateY(50%);
1227
183
  }
1228
184
 
1229
185
  [data-drop-indicator="top"]::before {
1230
186
  @apply top-0;
1231
- transform: translateX(-50%) translateY(-50%);
187
+ transform: translateY(-50%);
1232
188
  }
1233
189
 
1234
190
  /* Spring-loaded: flash selection highlight on toggle after it auto-expands */
1235
- @keyframes spring-loaded-flash {
1236
- 0% { background-color: var(--blok-selection); }
1237
- 100% { background-color: transparent; }
1238
- }
1239
-
1240
191
  [data-blok-spring-loaded] [data-blok-element-content] {
1241
192
  animation: spring-loaded-flash 700ms ease-out forwards;
1242
- border-radius: 4px;
193
+ border-radius: var(--blok-space-1);
1243
194
  }
1244
195
 
1245
196
  /**
@@ -1309,1479 +260,132 @@
1309
260
  margin-top: 4.6px;
1310
261
  }
1311
262
  [data-blok-component="callout"] button:has(+ [data-blok-toggle-children] > :first-child h3) {
1312
- margin-top: 2px;
263
+ margin-top: var(--blok-space-0-5);
1313
264
  }
1314
265
 
1315
266
  /**
1316
- * Table cell block wrapper overrides
1317
- * Strip all nested spacing so only the cell's own padding (py-1 px-2) provides spacing.
1318
- * Targets: block wrapper (py/my), .blok-block (py/px), and tool elements (mt/mb).
267
+ * Table cell block minimum height.
268
+ * Keeps .blok-block inside table cells above 1.6em so empty non-contenteditable
269
+ * paragraphs in readonly mode match edit-mode height (leading-[1.6em] parity).
270
+ * Kept inline in main.css because the unit test reads main.css directly via
271
+ * readFileSync (test/unit/tools/table/table-core.test.ts).
1319
272
  */
1320
- [data-blok-table-cell-blocks] > [data-blok-element] {
1321
- @apply py-0 my-0;
1322
- }
1323
-
1324
273
  [data-blok-table-cell-blocks] .blok-block {
1325
274
  @apply p-0 m-0 min-h-[1.6em];
1326
275
  }
1327
276
 
1328
- /* List items inside table cells use tight 2px top/bottom spacing */
1329
- [data-blok-table-cell-blocks] [data-blok-tool="list"] {
1330
- @apply py-0 mt-[2px] mb-[2px];
1331
- }
1332
-
1333
- /* ─── Cell content placement ──────────────────────────────────── */
1334
-
1335
- [data-blok-cell-placement="top-center"] {
1336
- align-items: center;
1337
- }
1338
-
1339
- [data-blok-cell-placement="top-right"] {
1340
- align-items: flex-end;
1341
- }
277
+ @import './tables.css';
278
+ @import './slash-search.css';
279
+ @import './emoji-picker.css';
280
+ @import './database.css';
281
+ @import './image.css';
1342
282
 
1343
- [data-blok-cell-placement="middle-left"] {
1344
- justify-content: center;
283
+ /*
284
+ Image tool — selectors audited by unit tests (no backdrop-filter regression,
285
+ lightbox bar/btn sizing, pan cursor + transform spring). Kept inline in
286
+ main.css (not image.css) so the suite's direct readFileSync of main.css
287
+ can grep authored rules without walking @imports. See test helper at
288
+ test/unit/styles/helpers/read-main-css.ts for the general pattern; these
289
+ specific rules must stay here to satisfy tests that read main.css directly.
290
+ */
291
+ [data-blok-tool="image"] .blok-image-toolbar {
292
+ position: absolute;
293
+ top: 10px; right: 10px;
294
+ display: inline-flex;
295
+ background: var(--blok-overlay-dark-strong);
296
+ border-radius: var(--blok-space-2);
297
+ padding: var(--blok-space-1);
298
+ opacity: 0;
299
+ transform: translateY(-4px);
300
+ transition: opacity 120ms ease, transform 120ms ease;
301
+ pointer-events: none;
302
+ box-shadow:
303
+ inset 0 0 0 1px var(--blok-overlay-ring),
304
+ var(--blok-image-shadow-toolbar);
305
+ z-index: 2;
1345
306
  }
1346
-
1347
- [data-blok-cell-placement="middle-center"] {
307
+ [data-blok-tool="image"] .blok-image-toolbar__align-popover {
308
+ position: absolute;
309
+ top: calc(100% + var(--blok-space-1));
310
+ left: 50%;
311
+ transform: translateX(-50%);
312
+ display: inline-flex;
313
+ gap: var(--blok-space-0-5);
314
+ padding: var(--blok-space-1);
315
+ background: var(--blok-overlay-dark-strong);
316
+ border-radius: var(--blok-space-2);
317
+ box-shadow:
318
+ inset 0 0 0 1px var(--blok-overlay-ring),
319
+ var(--blok-image-shadow-toolbar);
320
+ z-index: 3;
321
+ }
322
+ .blok-image-lightbox {
323
+ --blok-space-0-5: 2px;
324
+ --blok-space-1: 4px;
325
+ --blok-space-1-5: 6px;
326
+ --blok-space-2: 8px;
327
+ --blok-space-3: 12px;
328
+ --blok-space-4: 16px;
329
+ position: fixed;
330
+ inset: 0;
331
+ display: flex;
1348
332
  align-items: center;
1349
333
  justify-content: center;
334
+ background: transparent;
335
+ z-index: 9999;
336
+ cursor: grab;
337
+ touch-action: none;
338
+ user-select: none;
1350
339
  }
1351
-
1352
- [data-blok-cell-placement="middle-right"] {
1353
- align-items: flex-end;
1354
- justify-content: center;
1355
- }
1356
-
1357
- [data-blok-cell-placement="bottom-left"] {
1358
- justify-content: flex-end;
1359
- }
1360
-
1361
- [data-blok-cell-placement="bottom-center"] {
1362
- align-items: center;
1363
- justify-content: flex-end;
1364
- }
1365
-
1366
- [data-blok-cell-placement="bottom-right"] {
1367
- align-items: flex-end;
1368
- justify-content: flex-end;
1369
- }
1370
-
1371
- /**
1372
- * Exclude bare 'color' from transition-property inside table cells.
1373
- * StyleManager applies transition-colors (which includes 'color') for smooth
1374
- * selection-state changes, but inside table cells inherited text-color changes
1375
- * trigger a 150ms flash from black → target. Keep all other transition
1376
- * properties so background-color selection highlighting still animates.
1377
- */
1378
- [data-blok-table-cell] [data-blok-element-content] {
1379
- transition-property: background-color, border-color, outline-color,
1380
- text-decoration-color, fill, stroke, --tw-gradient-from,
1381
- --tw-gradient-via, --tw-gradient-to;
1382
- }
1383
-
1384
- /**
1385
- * Table heading styles
1386
- * Applied to first row (heading row) and first column (heading column) cells
1387
- */
1388
- [data-blok-table-heading] [data-blok-table-cell],
1389
- [data-blok-table-heading-col] {
1390
- @apply font-semibold;
1391
- background-color: var(--blok-table-heading-bg);
1392
- }
1393
-
1394
- /**
1395
- * Table scroll haze overlays
1396
- * Gradient indicators that show horizontal scroll availability
1397
- */
1398
- [data-blok-table-haze][data-blok-table-haze-visible] {
1399
- @apply opacity-100;
1400
- }
1401
-
1402
- /**
1403
- * Dark theme overrides for table UI chrome.
1404
- * Grip handles, add-row/col pills, and scroll haze all use hardcoded
1405
- * Tailwind light-gray/white classes that are too bright on dark backgrounds.
1406
- * Rules are written for both dark entry points (media query + explicit attr).
1407
- */
1408
- @media (prefers-color-scheme: dark) {
1409
- /* Grip pills — collapsed/idle state */
1410
- :root:not([data-blok-theme="light"]) [data-blok-interface] [data-blok-table-grip]:not(.bg-gray-200):not(.bg-blue-500) {
1411
- background-color: #4a4a4a;
1412
- }
1413
- /* Grip pills — hover-expanded state */
1414
- :root:not([data-blok-theme="light"]) [data-blok-interface] [data-blok-table-grip].bg-gray-200 {
1415
- background-color: #555554;
1416
- }
1417
- /* Grip dot SVG (exclude active/blue state — text-white must win there) */
1418
- :root:not([data-blok-theme="light"]) [data-blok-interface] [data-blok-table-grip]:not(.bg-blue-500) svg {
1419
- color: white;
1420
- }
1421
- /* Add row/col pill: border + subtle rest-state fill */
1422
- :root:not([data-blok-theme="light"]) [data-blok-interface] :is([data-blok-table-add-row], [data-blok-table-add-col]) .border-gray-300 {
1423
- border-color: rgba(255, 255, 255, 0.17);
1424
- background-color: #2c2c2b;
1425
- }
1426
- /* Add row/col pill hover background */
1427
- :root:not([data-blok-theme="light"]) [data-blok-interface] :is([data-blok-table-add-row], [data-blok-table-add-col]):hover .border-gray-300 {
1428
- background-color: #2e2e2d;
1429
- }
1430
- /* Add row/col icon color */
1431
- :root:not([data-blok-theme="light"]) [data-blok-interface] :is([data-blok-table-add-row], [data-blok-table-add-col]) .border-gray-300 svg {
1432
- color: #9e9e9d;
1433
- }
1434
- /* Scroll haze: dark background gradient instead of white */
1435
- :root:not([data-blok-theme="light"]) [data-blok-interface] [data-blok-table-haze="left"] {
1436
- background-image: linear-gradient(to right, var(--blok-dark), transparent);
1437
- }
1438
- :root:not([data-blok-theme="light"]) [data-blok-interface] [data-blok-table-haze="right"] {
1439
- background-image: linear-gradient(to left, var(--blok-dark), transparent);
1440
- }
1441
- }
1442
-
1443
- /* Explicit dark theme attribute — same overrides */
1444
- [data-blok-theme="dark"] [data-blok-interface] [data-blok-table-grip]:not(.bg-gray-200):not(.bg-blue-500) {
1445
- background-color: #4a4a4a;
1446
- }
1447
- [data-blok-theme="dark"] [data-blok-interface] [data-blok-table-grip].bg-gray-200 {
1448
- background-color: #555554;
1449
- }
1450
- [data-blok-theme="dark"] [data-blok-interface] [data-blok-table-grip]:not(.bg-blue-500) svg {
1451
- color: white;
1452
- }
1453
- [data-blok-theme="dark"] [data-blok-interface] :is([data-blok-table-add-row], [data-blok-table-add-col]) .border-gray-300 {
1454
- border-color: rgba(255, 255, 255, 0.17);
1455
- background-color: #2c2c2b;
1456
- }
1457
- [data-blok-theme="dark"] [data-blok-interface] :is([data-blok-table-add-row], [data-blok-table-add-col]):hover .border-gray-300 {
1458
- background-color: #2e2e2d;
1459
- }
1460
- [data-blok-theme="dark"] [data-blok-interface] :is([data-blok-table-add-row], [data-blok-table-add-col]) .border-gray-300 svg {
1461
- color: #9e9e9d;
1462
- }
1463
- [data-blok-theme="dark"] [data-blok-interface] [data-blok-table-haze="left"] {
1464
- background-image: linear-gradient(to right, var(--blok-dark), transparent);
1465
- }
1466
- [data-blok-theme="dark"] [data-blok-interface] [data-blok-table-haze="right"] {
1467
- background-image: linear-gradient(to left, var(--blok-dark), transparent);
1468
- }
1469
-
1470
- /**
1471
- * Slash search input appearance
1472
- * When the user types "/" to open the toolbox, the contenteditable
1473
- * transforms to look like a search input with a placeholder.
1474
- */
1475
- [data-blok-slash-search],
1476
- [data-blok-slash-search]:focus-visible {
1477
- @apply bg-search-input-bg rounded-[10px] transition-colors duration-150 w-fit max-w-[240px] px-2;
1478
- }
1479
-
1480
- [data-blok-table-cell] [data-blok-slash-search],
1481
- [data-blok-table-cell] [data-blok-slash-search]:focus-visible {
1482
- @apply rounded-[6px];
1483
- }
1484
-
1485
- [data-blok-slash-search]::after {
1486
- content: attr(data-blok-slash-search);
1487
- @apply text-gray-text font-medium text-base pointer-events-none;
1488
- }
1489
-
1490
- [data-blok-slash-search]::before {
1491
- content: none !important;
1492
- }
1493
-
1494
- /**
1495
- * Custom scrollbar for popover items
1496
- */
1497
- [data-blok-popover-items] {
1498
- scrollbar-width: thin;
1499
- scrollbar-color: var(--blok-popover-border) transparent;
1500
- }
1501
- [data-blok-popover-items]::-webkit-scrollbar {
1502
- width: 4px;
1503
- }
1504
- [data-blok-popover-items]::-webkit-scrollbar-track {
1505
- background: transparent;
1506
- }
1507
- [data-blok-popover-items]::-webkit-scrollbar-thumb {
1508
- background: var(--blok-popover-border);
1509
- border-radius: 4px;
1510
- }
1511
- [data-blok-popover-items]::-webkit-scrollbar-thumb:hover {
1512
- background: var(--blok-gray-text);
1513
- }
1514
-
1515
- /**
1516
- * Emoji picker — element resets.
1517
- * The picker lives outside [data-blok-popover] scope so it does not
1518
- * inherit the scoped preflight. :where() keeps specificity at zero
1519
- * so Tailwind utility classes override freely.
1520
- */
1521
- :where([data-blok-emoji-picker]) :where(button, input) {
1522
- appearance: none;
1523
- background: transparent;
1524
- border: none;
1525
- color: inherit;
1526
- font: inherit;
1527
- padding: 0;
1528
- margin: 0;
1529
- }
1530
-
1531
- /* The picker sits outside [data-blok-popover] so the scoped preflight's
1532
- [hidden] { display: none !important } rule does not apply. Without this,
1533
- Tailwind's `flex` class overrides the UA `display: none` for [hidden]. */
1534
- :where([data-blok-emoji-picker][hidden]),
1535
- :where([data-blok-emoji-picker]) :where([hidden]) {
1536
- display: none !important;
1537
- }
1538
-
1539
- /**
1540
- * Emoji picker — opening animation
1541
- */
1542
- [data-blok-emoji-picker] {
1543
- animation: blok-emoji-picker-in 180ms cubic-bezier(0.16, 1, 0.3, 1);
1544
- transform-origin: top left;
1545
- }
1546
-
1547
- @keyframes blok-emoji-picker-in {
1548
- from {
1549
- opacity: 0;
1550
- transform: translateY(4px) scale(0.96);
1551
- }
1552
- to {
1553
- opacity: 1;
1554
- transform: translateY(0) scale(1);
1555
- }
1556
- }
1557
-
1558
- /**
1559
- * Emoji picker — empty-state fade
1560
- */
1561
- @keyframes blok-emoji-empty-in {
1562
- from {
1563
- opacity: 0;
1564
- transform: translateY(6px);
1565
- }
1566
- to {
1567
- opacity: 1;
1568
- transform: translateY(0);
1569
- }
1570
- }
1571
-
1572
- /**
1573
- * Emoji picker — thin scrollbar (only visible on hover)
1574
- */
1575
- [data-emoji-picker-body] {
1576
- scrollbar-width: thin;
1577
- scrollbar-color: transparent transparent;
1578
- }
1579
- [data-emoji-picker-body]:hover {
1580
- scrollbar-color: color-mix(in srgb, currentColor 12%, transparent) transparent;
1581
- }
1582
- [data-emoji-picker-body]::-webkit-scrollbar {
1583
- width: 6px;
1584
- }
1585
- [data-emoji-picker-body]::-webkit-scrollbar-track {
1586
- background: transparent;
1587
- }
1588
- [data-emoji-picker-body]::-webkit-scrollbar-thumb {
1589
- background: transparent;
1590
- border-radius: 3px;
1591
- }
1592
- [data-emoji-picker-body]:hover::-webkit-scrollbar-thumb {
1593
- background: color-mix(in srgb, currentColor 12%, transparent);
1594
- }
1595
- [data-emoji-picker-body]::-webkit-scrollbar-thumb:hover {
1596
- background: color-mix(in srgb, currentColor 22%, transparent);
1597
- }
1598
-
1599
- /* ═══════════════════════════════════════════════════════
1600
- Database / Kanban board
1601
- ═══════════════════════════════════════════════════════ */
1602
-
1603
- /**
1604
- * Board area — scrollable padding on both sides so columns can be
1605
- * scrolled all the way to either edge of the editor. The initial
1606
- * scrollLeft (set in DatabaseTool.rendered()) positions the first
1607
- * column at the content-area left edge.
1608
- */
1609
- [data-blok-database-board] {
1610
- padding-left: max(0px, calc((100% - var(--max-width-content)) / 2));
1611
- padding-right: max(0px, calc((100% - var(--max-width-content)) / 2));
1612
-
1613
- /* macOS-style scrollbar — thin, rounded, visible on hover/scroll */
1614
- scrollbar-width: thin;
1615
- scrollbar-color: transparent transparent;
1616
- }
1617
- [data-blok-database-board]:hover {
1618
- scrollbar-color: color-mix(in srgb, currentColor 15%, transparent) transparent;
1619
- }
1620
- [data-blok-database-board]::-webkit-scrollbar {
1621
- height: 8px;
1622
- }
1623
- [data-blok-database-board]::-webkit-scrollbar-track {
1624
- background: transparent;
1625
- }
1626
- [data-blok-database-board]::-webkit-scrollbar-thumb {
1627
- background: transparent;
1628
- border-radius: 4px;
1629
- }
1630
- [data-blok-database-board]:hover::-webkit-scrollbar-thumb {
1631
- background: color-mix(in srgb, currentColor 15%, transparent);
1632
- }
1633
- [data-blok-database-board]::-webkit-scrollbar-thumb:hover {
1634
- background: color-mix(in srgb, currentColor 25%, transparent);
1635
- }
1636
-
1637
- /**
1638
- * Column background tint — a subtle fill so columns read as lanes.
1639
- */
1640
- [data-blok-database-column] {
1641
- background-color: var(--blok-database-column-bg);
1642
- border-radius: 10px;
1643
- padding: 8px;
1644
- }
1645
-
1646
- /**
1647
- * Column header — grab cursor to indicate draggable area.
1648
- */
1649
- [data-blok-database-column-header] {
1650
- cursor: grab;
1651
- }
1652
-
1653
- /**
1654
- * Cards — elevated surface with subtle border and shadow.
1655
- */
1656
- [data-blok-database-card] {
1657
- background-color: var(--blok-database-card-bg);
1658
- box-shadow: var(--blok-database-card-shadow);
1659
- border: 1px solid var(--blok-database-card-border);
1660
- border-radius: 8px;
1661
- transition: background-color 150ms ease, box-shadow 150ms ease, border-color 150ms ease, outline-color 150ms ease;
1662
- }
1663
-
1664
- [data-blok-database-card]:hover {
1665
- background-color: var(--blok-database-card-bg-hover);
1666
- }
1667
-
1668
- [data-blok-database-card-active] {
1669
- background-color: var(--blok-database-card-bg-hover);
1670
- outline: 2px solid var(--blok-database-card-border-active);
1671
- outline-offset: -1px;
1672
- }
1673
-
1674
- /**
1675
- * Colored columns — cards use a transparent overlay so the column
1676
- * background color shows through, matching the "New page" button.
1677
- */
1678
- [data-blok-database-column][data-color] [data-blok-database-card] {
1679
- background-color: var(--blok-database-card-colored-overlay);
1680
- box-shadow: none;
1681
- border-color: var(--blok-database-card-colored-border);
1682
- }
1683
-
1684
- [data-blok-database-column][data-color] [data-blok-database-card]:hover {
1685
- background-color: var(--blok-database-card-colored-overlay-hover);
1686
- }
1687
-
1688
- /**
1689
- * During drag — smooth card displacement transitions.
1690
- */
1691
- [data-blok-database-dragging] [data-blok-database-card] {
1692
- transition: box-shadow 150ms ease, border-color 150ms ease, margin-top 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
1693
- }
1694
-
1695
- [data-blok-database-dragging] [data-blok-database-cards] {
1696
- transition: padding-bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
1697
- }
1698
-
1699
- /**
1700
- * During column reorder — smooth gap displacement and grab cursor.
1701
- */
1702
- [data-blok-database-column-reordering] {
1703
- cursor: grabbing;
1704
- }
1705
-
1706
- [data-blok-database-column-reordering] [data-blok-database-column] {
1707
- transition: margin-left 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
1708
- }
1709
-
1710
- [data-blok-database-column-reordering] [data-blok-database-board] {
1711
- transition: padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1);
1712
- }
1713
-
1714
- /**
1715
- * Card action group — edit + menu buttons revealed on hover.
1716
- */
1717
- [data-blok-database-card-actions] {
1718
- position: absolute;
1719
- top: 8px;
1720
- right: 8px;
1721
- display: flex;
1722
- gap: 2px;
1723
- opacity: 0;
1724
- pointer-events: none;
1725
- transition: opacity 120ms ease;
1726
- background: var(--blok-database-card-actions-bg, #1e2533);
1727
- border-radius: 8px;
1728
- padding: 2px;
1729
- }
1730
-
1731
- [data-blok-database-card]:hover [data-blok-database-card-actions],
1732
- [data-blok-database-card][data-popover-open] [data-blok-database-card-actions],
1733
- [data-blok-database-card-actions]:focus-within {
1734
- opacity: 1;
1735
- pointer-events: auto;
1736
- }
1737
-
1738
- [data-blok-database-edit-card],
1739
- [data-blok-database-card-menu] {
1740
- background: none;
1741
- border: none;
1742
- cursor: pointer;
1743
- color: var(--blok-database-card-actions-icon, rgba(255,255,255,0.75));
1744
- width: 28px;
1745
- height: 28px;
1746
- border-radius: 6px;
1747
- display: flex;
1748
- align-items: center;
1749
- justify-content: center;
1750
- transition: background-color 120ms ease, color 120ms ease;
1751
- padding: 0;
1752
- flex-shrink: 0;
1753
- }
1754
-
1755
- [data-blok-database-edit-card]:hover,
1756
- [data-blok-database-card-menu]:hover {
1757
- background: rgba(255, 255, 255, 0.12);
1758
- color: #fff;
1759
- }
1760
-
1761
- /**
1762
- * Inline title edit input inside a card.
1763
- */
1764
- [data-blok-database-card-title-input] {
1765
- font-size: 14px;
1766
- font-weight: 500;
1767
- line-height: 1.45;
1768
- background: none;
1769
- border: none;
1770
- border-bottom: 1px solid var(--blok-database-card-actions-icon, rgba(255,255,255,0.4));
1771
- color: inherit;
1772
- outline: none;
1773
- width: 100%;
1774
- box-sizing: border-box;
1775
- padding: 0;
1776
- }
1777
-
1778
- /**
1779
- * Add card / Add column buttons — muted text with hover fill.
1780
- */
1781
- [data-blok-database-add-card],
1782
- [data-blok-database-add-column] {
1783
- background: none;
1784
- border: 1px solid var(--blok-database-add-border);
1785
- cursor: pointer;
1786
- color: var(--blok-database-add-text);
1787
- font-size: 14px;
1788
- padding: 6px 8px;
1789
- border-radius: 8px;
1790
- text-align: left;
1791
- width: 100%;
1792
- display: flex;
1793
- align-items: center;
1794
- gap: 6px;
1795
- transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
1796
- }
1797
-
1798
- [data-blok-database-add-card]:hover,
1799
- [data-blok-database-add-column]:hover {
1800
- background-color: var(--blok-database-add-hover-bg);
1801
- color: var(--blok-text-primary, inherit);
1802
- }
1803
-
1804
- /* In colored columns, add-card keeps the accent color on hover too */
1805
- [data-blok-database-column][data-color] [data-blok-database-add-card]:hover {
1806
- background-color: color-mix(in srgb, currentColor 8%, transparent);
1807
- }
1808
-
1809
- [data-blok-database-add-column] {
1810
- white-space: nowrap;
1811
- align-self: flex-start;
1812
- flex-shrink: 0;
1813
- padding: 10px 12px;
1814
- border-radius: 8px;
1815
- }
1816
-
1817
- /**
1818
- * Column header delete button — hidden until column header hover.
1819
- */
1820
- [data-blok-database-delete-column] {
1821
- opacity: 0;
1822
- background: none;
1823
- border: none;
1824
- cursor: pointer;
1825
- color: var(--blok-database-delete-text);
1826
- font-size: 14px;
1827
- line-height: 1;
1828
- padding: 2px 4px;
1829
- border-radius: 3px;
1830
- flex-shrink: 0;
1831
- transition: opacity 120ms ease, color 120ms ease;
1832
- }
1833
-
1834
- [data-blok-database-column-header]:hover [data-blok-database-delete-column] {
1835
- opacity: 1;
1836
- }
1837
-
1838
- [data-blok-database-delete-column]:hover {
1839
- color: var(--blok-database-delete-hover-text);
1840
- }
1841
-
1842
- /**
1843
- * Column header pill — rounded badge containing dot + title.
1844
- * When the column has a color, the pill gets a colored background (set inline via JS).
1845
- * Sized to content only — never stretches to fill available space.
1846
- */
1847
- [data-blok-database-column-pill] {
1848
- display: inline-flex;
1849
- align-items: center;
1850
- gap: 5px;
1851
- padding: 2px 7px 2px 5px;
1852
- border-radius: 20px;
1853
- flex: 0 0 auto;
1854
- min-width: 0;
1855
- width: fit-content;
1856
- }
1857
-
1858
- /**
1859
- * In dark theme, colored pills use white text for legibility over the
1860
- * saturated background (overrides the inline color set by JS).
1861
- */
1862
- @media (prefers-color-scheme: dark) {
1863
- :root:not([data-blok-theme="light"]) [data-blok-database-column][data-color] [data-blok-database-column-pill] {
1864
- color: rgba(255, 255, 255, 0.9) !important;
1865
- }
1866
- }
1867
-
1868
- [data-blok-theme="dark"] [data-blok-database-column][data-color] [data-blok-database-column-pill] {
1869
- color: rgba(255, 255, 255, 0.9) !important;
1870
- }
1871
-
1872
- /**
1873
- * Column status dot — solid circle using the accent text color.
1874
- */
1875
- [data-blok-database-column-dot] {
1876
- width: 8px;
1877
- height: 8px;
1878
- border-radius: 50%;
1879
- flex-shrink: 0;
1880
- }
1881
-
1882
- /**
1883
- * Column title text — uppercase status-label style, never truncate.
1884
- */
1885
- [data-blok-database-column-title],
1886
- [data-blok-database-column-title-input] {
1887
- white-space: nowrap;
1888
- font-size: 14px;
1889
- font-weight: 400;
1890
- text-transform: capitalize;
1891
- letter-spacing: 0.04em;
1892
- }
1893
-
1894
- [data-blok-database-column-title-input] {
1895
- border: none;
1896
- outline: none;
1897
- padding: 0;
1898
- min-width: 0;
1899
- field-sizing: content;
1900
- }
1901
-
1902
- /**
1903
- * Card title text — clamp to two lines.
1904
- */
1905
- [data-blok-database-card-title] {
1906
- font-size: 14px;
1907
- font-weight: 500;
1908
- line-height: 1.45;
1909
- word-break: break-word;
1910
- }
1911
-
1912
- [data-blok-database-card-title][data-placeholder] {
1913
- color: var(--blok-database-card-placeholder);
1914
- font-style: normal;
1915
- }
1916
-
1917
- [data-blok-database-card][data-empty] {
1918
- background-color: transparent !important;
1919
- box-shadow: none !important;
1920
- }
1921
-
1922
- /**
1923
- * Drawer — base layout (fixed right panel) with slide-in animation.
1924
- */
1925
- [data-blok-database-drawer] {
1926
- position: fixed;
1927
- top: 0;
1928
- right: 0;
1929
- height: 100%;
1930
- width: 0;
1931
- z-index: 1000;
1932
- overflow: hidden;
1933
- display: flex;
1934
- flex-direction: column;
1935
- border-left: 1px solid var(--blok-popover-border, #e8e8eb);
1936
- background-color: var(--blok-popover-bg, #fff);
1937
- box-shadow: -4px 0 12px rgba(0, 0, 0, 0.08);
1938
- transition: width 200ms ease;
1939
- }
1940
-
1941
- /**
1942
- * Drawer toolbar — thin top bar with close button.
1943
- */
1944
- [data-blok-database-drawer-toolbar] {
1945
- display: flex;
1946
- align-items: center;
1947
- padding: 8px 12px;
1948
- flex-shrink: 0;
1949
- border-bottom: 1px solid var(--blok-database-drawer-border);
1950
- }
1951
-
1952
- /**
1953
- * Drawer close button — double-chevron icon.
1954
- */
1955
- [data-blok-database-drawer-close] {
1956
- display: inline-flex;
1957
- align-items: center;
1958
- background: none;
1959
- border: none;
1960
- cursor: pointer;
1961
- padding: 4px;
1962
- border-radius: 4px;
1963
- color: var(--blok-database-add-text);
1964
- gap: -4px;
1965
- }
1966
-
1967
- [data-blok-database-drawer-close]:hover {
1968
- background-color: var(--blok-database-drawer-border);
1969
- }
1970
-
1971
- [data-blok-database-drawer-close] svg {
1972
- width: 14px;
1973
- height: 14px;
1974
- margin-left: -6px;
1975
- }
1976
-
1977
- [data-blok-database-drawer-close] svg:first-child {
1978
- margin-left: 0;
1979
- }
1980
-
1981
- /**
1982
- * Drawer scrollable content area.
1983
- */
1984
- [data-blok-database-drawer-content] {
1985
- flex: 1;
1986
- overflow-y: auto;
1987
- padding: 40px 60px 20px;
1988
- }
1989
-
1990
- /**
1991
- * Drawer title — large, Notion-style textarea that auto-resizes.
1992
- */
1993
- [data-blok-database-drawer-title] {
1994
- display: block;
1995
- width: 100%;
1996
- font-size: 32px;
1997
- font-weight: 700;
1998
- border: none;
1999
- outline: none;
2000
- background-color: transparent;
2001
- color: inherit;
2002
- padding: 0;
2003
- margin-bottom: 12px;
2004
- line-height: 1.2;
2005
- resize: none;
2006
- overflow: hidden;
2007
- font-family: inherit;
2008
- }
2009
-
2010
- [data-blok-database-drawer-title]::placeholder {
2011
- color: var(--blok-database-add-text);
2012
- }
2013
-
2014
- /**
2015
- * Drawer properties section.
2016
- */
2017
- [data-blok-database-drawer-props] {
2018
- display: flex;
2019
- flex-direction: column;
2020
- gap: 4px;
2021
- margin-bottom: 16px;
2022
- }
2023
-
2024
- /**
2025
- * Drawer property row — label + value pair.
2026
- */
2027
- [data-blok-database-drawer-prop-row] {
2028
- display: flex;
2029
- align-items: center;
2030
- gap: 8px;
2031
- min-height: 32px;
2032
- font-size: 14px;
2033
- }
2034
-
2035
- /**
2036
- * Drawer property label — muted left column.
2037
- */
2038
- [data-blok-database-drawer-prop-label] {
2039
- color: var(--blok-database-add-text);
2040
- min-width: 100px;
2041
- flex-shrink: 0;
2042
- font-size: 14px;
2043
- }
2044
-
2045
- /**
2046
- * Drawer status pill badge — colored chip.
2047
- */
2048
- [data-blok-database-drawer-status-pill] {
2049
- display: inline-flex;
2050
- align-items: center;
2051
- gap: 6px;
2052
- padding: 2px 8px;
2053
- border-radius: 4px;
2054
- font-size: 14px;
2055
- font-weight: 500;
2056
- line-height: 1.4;
2057
- }
2058
-
2059
- /**
2060
- * Drawer status dot — small circle inside pill.
2061
- */
2062
- [data-blok-database-drawer-status-dot] {
2063
- width: 8px;
2064
- height: 8px;
2065
- border-radius: 50%;
2066
- flex-shrink: 0;
2067
- }
2068
-
2069
- /**
2070
- * Drawer divider.
2071
- */
2072
- [data-blok-database-drawer] hr {
2073
- border: none;
2074
- border-top: 1px solid var(--blok-database-drawer-border);
2075
- margin: 0 0 4px;
2076
- }
2077
-
2078
- /**
2079
- * Drawer editor holder.
2080
- */
2081
- [data-blok-database-drawer-editor] {
2082
- flex: 1;
2083
- min-height: 200px;
2084
- margin-left: -53px;
2085
- }
2086
-
2087
- /**
2088
- * Add card — match card height and visual rhythm.
2089
- */
2090
- [data-blok-database-add-card] {
2091
- margin-top: 6px;
2092
- padding: 10px 12px;
2093
- border-radius: 12px;
2094
- }
2095
-
2096
- [data-blok-database-add-card-icon] {
2097
- display: flex;
2098
- align-items: center;
2099
- flex-shrink: 0;
2100
- }
2101
-
2102
- [data-blok-database-add-card-icon] svg {
2103
- width: 18px;
2104
- height: 18px;
2105
- }
2106
-
2107
- /**
2108
- * Card count badge — muted counter after column title.
2109
- */
2110
- [data-blok-database-column-count] {
2111
- color: var(--blok-database-add-text);
2112
- font-size: 13px;
2113
- font-weight: 400;
2114
- margin-left: 2px;
2115
- flex-shrink: 0;
2116
- }
2117
-
2118
- /**
2119
- * Empty column placeholder — centered muted text.
2120
- */
2121
- [data-blok-database-empty-placeholder] {
2122
- color: var(--blok-database-add-text);
2123
- font-size: 13px;
2124
- text-align: center;
2125
- padding: 12px 0;
2126
- }
2127
-
2128
- /**
2129
- * Drawer — ensure editor tools toolbar doesn't overflow.
2130
- */
2131
- [data-blok-database-drawer-editor] .ce-toolbar {
2132
- left: 0;
2133
- right: 0;
2134
- }
2135
-
2136
- /* Database Title */
2137
- [data-blok-database-title] {
2138
- padding-left: max(0px, calc((100% - var(--max-width-content)) / 2));
2139
- padding-right: max(0px, calc((100% - var(--max-width-content)) / 2));
2140
- }
2141
-
2142
- /* Database Tab Bar */
2143
- [data-blok-database-tab-bar] {
2144
- display: flex;
2145
- align-items: center;
2146
- gap: 2px;
2147
- padding: 4px 0 8px;
2148
- padding-left: max(0px, calc((100% - var(--max-width-content)) / 2));
2149
- }
2150
-
2151
- [data-blok-database-title-row] {
2152
- display: flex;
2153
- align-items: center;
2154
- margin-bottom: 4px;
2155
- }
2156
-
2157
- /* Single-view mode: move centering offset to the row, strip it from the title
2158
- so the + button sits exactly 4px after the title text */
2159
- [data-blok-database-title-row][data-single-view] {
2160
- padding-left: max(0px, calc((100% - var(--max-width-content)) / 2));
2161
- }
2162
-
2163
- [data-blok-database-title-row][data-single-view] [data-blok-database-title] {
2164
- flex: 0 1 auto;
2165
- min-width: 0;
2166
- padding-left: 0;
2167
- padding-right: 0;
2168
- }
2169
-
2170
- [data-blok-database-title-row][data-single-view] [data-blok-database-add-view] {
2171
- margin-left: 4px;
2172
- }
2173
-
2174
- /* When + button is inside the title row, show it on row hover */
2175
- [data-blok-database-title-row]:hover [data-blok-database-add-view],
2176
- [data-blok-database-title-row] [data-blok-database-add-view][data-popover-open] {
2177
- opacity: 1;
2178
- }
2179
-
2180
- [data-blok-database-tab] {
2181
- display: flex;
2182
- align-items: center;
2183
- gap: 6px;
2184
- padding: 8px 16px;
2185
- border-radius: 10px;
2186
- cursor: grab;
2187
- font-size: 14px;
2188
- font-weight: 400;
2189
- color: var(--blok-database-tab-text);
2190
- user-select: none;
2191
- white-space: nowrap;
2192
- transition: background-color 120ms ease;
2193
- }
2194
-
2195
- [data-blok-database-tab-bar][data-dragging] [data-blok-database-tab] {
340
+ .blok-image-lightbox.is-dragging {
2196
341
  cursor: grabbing;
2197
342
  }
2198
-
2199
- [data-blok-database-tab] svg {
2200
- width: 16px;
2201
- height: 16px;
2202
- flex-shrink: 0;
2203
- }
2204
-
2205
- [data-blok-database-tab]:hover {
2206
- background-color: var(--blok-database-tab-bg-hover);
2207
- }
2208
-
2209
- [data-blok-database-tab][data-active] {
2210
- background-color: var(--blok-database-tab-bg-active);
2211
- color: var(--blok-database-tab-text-active);
2212
- }
2213
-
2214
- [data-blok-database-add-view] {
2215
- display: flex;
2216
- align-items: center;
2217
- justify-content: center;
2218
- width: 32px;
2219
- height: 32px;
2220
- border: none;
2221
- background: none;
2222
- border-radius: 8px;
2223
- cursor: pointer;
2224
- color: var(--blok-database-tab-text);
2225
- margin-left: 2px;
2226
- transition: background-color 120ms ease, opacity 120ms ease;
2227
- opacity: 0;
2228
- }
2229
-
2230
- [data-blok-database-add-view] svg {
2231
- width: 20px;
2232
- height: 20px;
2233
- flex-shrink: 0;
2234
- }
2235
-
2236
- [data-blok-database-tab-bar]:hover [data-blok-database-add-view],
2237
- [data-blok-database-tab-bar][data-popover-open] [data-blok-database-add-view],
2238
- [data-blok-database-add-view][data-popover-open] {
2239
- opacity: 1;
2240
- }
2241
-
2242
- [data-blok-database-add-view]:hover,
2243
- [data-blok-database-add-view][data-popover-open] {
2244
- background-color: var(--blok-database-tab-bg-hover);
2245
- }
2246
-
2247
- [data-blok-database-tab-more] {
2248
- padding: 4px 10px;
2249
- border-radius: 6px;
2250
- font-size: 13px;
2251
- color: var(--blok-database-tab-text);
2252
- cursor: pointer;
2253
- white-space: nowrap;
2254
- transition: background-color 120ms ease;
2255
- }
2256
-
2257
- [data-blok-database-tab-more]:hover {
2258
- background-color: var(--blok-database-tab-bg-hover);
2259
- }
2260
-
2261
- /* Overflow dropdown */
2262
- [data-blok-database-tab-overflow-dropdown] {
2263
- background: var(--blok-database-popover-bg);
2264
- border-radius: 10px;
2265
- box-shadow: var(--blok-database-popover-shadow);
2266
- padding: 6px;
2267
- }
2268
-
2269
- /* View option items (rendered as Html items inside PopoverDesktop) */
2270
- [data-blok-database-view-popover-heading] {
2271
- padding: 6px 8px 4px;
2272
- font-size: 11px;
2273
- font-weight: 600;
2274
- letter-spacing: 0.05em;
2275
- text-transform: uppercase;
2276
- color: var(--blok-database-tab-text);
2277
- }
2278
-
2279
- [data-blok-database-view-option] {
2280
- display: flex;
2281
- flex-direction: row;
2282
- align-items: flex-start;
2283
- gap: 10px;
2284
- padding: 7px 8px;
2285
- border-radius: 6px;
2286
- cursor: pointer;
2287
- transition: background-color 120ms ease;
2288
- }
2289
-
2290
- [data-blok-database-view-option]:hover {
2291
- background-color: var(--blok-database-popover-hover);
2292
- }
2293
-
2294
- [data-blok-database-view-option-icon] {
2295
- display: flex;
2296
- align-items: center;
2297
- justify-content: center;
2298
- width: 30px;
2299
- height: 30px;
2300
- border-radius: 7px;
2301
- background: var(--blok-database-popover-hover);
2302
- color: var(--blok-database-tab-text-active);
2303
- flex-shrink: 0;
2304
- }
2305
-
2306
- [data-blok-database-view-option-icon] svg {
2307
- width: 16px;
2308
- height: 16px;
2309
- }
2310
-
2311
- [data-blok-database-view-option-text] {
2312
- display: flex;
2313
- flex-direction: column;
2314
- gap: 1px;
2315
- min-width: 0;
2316
- }
2317
-
2318
- [data-blok-database-view-option-label] {
2319
- font-size: 13px;
2320
- font-weight: 500;
2321
- color: var(--blok-database-tab-text-active);
2322
- line-height: 1.3;
2323
- }
2324
-
2325
- [data-blok-database-view-option-desc] {
2326
- font-size: 11px;
2327
- color: var(--blok-database-tab-text);
2328
- line-height: 1.3;
2329
- }
2330
-
2331
- /* Overflow dropdown items */
2332
- [data-blok-database-tab-overflow-item] {
2333
- display: flex;
2334
- align-items: center;
2335
- gap: 10px;
2336
- padding: 7px 10px;
2337
- border-radius: 6px;
2338
- cursor: pointer;
2339
- font-size: 14px;
2340
- font-weight: 400;
2341
- transition: background-color 120ms ease;
2342
- }
2343
-
2344
- [data-blok-database-tab-overflow-item]:hover {
2345
- background-color: var(--blok-database-popover-hover);
2346
- }
2347
-
2348
- [data-blok-database-tab-overflow-item][data-active] {
2349
- background-color: var(--blok-database-tab-bg-active);
2350
- }
2351
-
2352
- [data-blok-database-tab-overflow-new] {
2353
- padding: 7px 10px;
2354
- font-size: 14px;
2355
- color: var(--blok-database-tab-text);
2356
- cursor: pointer;
2357
- border-radius: 6px;
2358
- transition: background-color 120ms ease;
2359
- }
2360
-
2361
- [data-blok-database-tab-overflow-new]:hover {
2362
- background-color: var(--blok-database-popover-hover);
2363
- }
2364
-
2365
- [data-blok-database-tab-overflow-separator] {
2366
- height: 1px;
2367
- margin: 4px 10px;
2368
- background-color: var(--blok-database-drawer-border);
2369
- }
2370
-
2371
- /* Tab rename input */
2372
- [data-blok-database-tab-rename-input] {
2373
- border: 1px solid var(--blok-database-drawer-border);
2374
- border-radius: 4px;
2375
- padding: 2px 6px;
2376
- font-size: 14px;
2377
- font-family: inherit;
2378
- background: var(--blok-database-popover-bg);
2379
- color: var(--blok-database-tab-text-active);
2380
- outline: none;
2381
- width: 80px;
2382
- }
2383
-
2384
- /* Tab ghost during drag */
2385
- [data-blok-database-tab-ghost] {
2386
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
2387
- border-radius: 6px;
2388
- background: var(--blok-database-tab-bg-active);
2389
- }
2390
-
2391
- /* Board container for slide transitions */
2392
- [data-blok-database-board-container] {
2393
- position: relative;
2394
- overflow: hidden;
2395
- }
2396
-
2397
- /* ─── List View ──────────────────────────────────────── */
2398
-
2399
- /**
2400
- * List wrapper — constrained to content width, centered like the editor body.
2401
- * Uses the same padding trick as the tab bar and board view.
2402
- */
2403
- [data-blok-database-list] {
2404
- display: flex;
2405
- flex-direction: column;
2406
- padding-left: max(0px, calc((100% - var(--max-width-content)) / 2));
2407
- padding-right: max(0px, calc((100% - var(--max-width-content)) / 2));
2408
- }
2409
-
2410
- /**
2411
- * List row — horizontal flex item. Hover reveals the delete button and
2412
- * highlights the row with a subtle background fill, matching Notion style.
2413
- */
2414
- [data-blok-database-list-row] {
2415
- display: flex;
2416
- align-items: center;
2417
- gap: 8px;
2418
- padding: 5px 8px;
2419
- border-radius: 4px;
2420
- cursor: pointer;
343
+ .blok-image-lightbox__image {
344
+ max-width: 95vw;
345
+ max-height: 95vh;
346
+ object-fit: contain;
347
+ transform: scale(1);
348
+ transform-origin: center center;
349
+ transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
350
+ pointer-events: none;
2421
351
  position: relative;
2422
- font-size: 14px;
2423
- transition: background-color 80ms ease;
2424
- /* Thin rule between rows */
2425
- border-bottom: 1px solid transparent;
2426
- }
2427
-
2428
- [data-blok-database-list-row]:not(:last-child) {
2429
- border-bottom-color: color-mix(in srgb, currentColor 5%, transparent);
2430
- }
2431
-
2432
- [data-blok-database-list-row]:hover {
2433
- background-color: var(--blok-database-add-hover-bg);
2434
- }
2435
-
2436
- /**
2437
- * Row title — fills available space, truncates overflow.
2438
- */
2439
- [data-blok-database-list-row-title] {
2440
- flex: 1;
2441
- overflow: hidden;
2442
- text-overflow: ellipsis;
2443
- white-space: nowrap;
2444
- line-height: 1.5;
2445
- min-width: 0;
2446
- }
2447
-
2448
- [data-blok-database-list-row-title][data-placeholder] {
2449
- color: var(--blok-database-add-text);
2450
- font-style: italic;
352
+ z-index: 1;
353
+ will-change: transform;
2451
354
  }
2452
-
2453
- /**
2454
- * Properties area — flex row of badges + open button, right-aligned.
2455
- */
2456
- [data-blok-database-list-row-properties] {
2457
- display: flex;
2458
- align-items: center;
2459
- gap: 6px;
2460
- flex-shrink: 0;
355
+ .blok-image-lightbox.is-dragging .blok-image-lightbox__image {
356
+ transition: none;
2461
357
  }
2462
-
2463
- /**
2464
- * Property badge — compact colored pill.
2465
- */
2466
- [data-blok-database-list-row-property] {
358
+ .blok-image-lightbox__bar {
359
+ position: absolute;
360
+ bottom: 24px;
361
+ left: 50%;
362
+ transform: translateX(-50%);
2467
363
  display: inline-flex;
2468
364
  align-items: center;
2469
- font-size: 12px;
2470
- font-weight: 500;
2471
- line-height: 1;
2472
- padding: 2px 7px;
2473
- border-radius: 4px;
2474
- white-space: nowrap;
2475
- background: var(--blok-database-add-hover-bg);
2476
- color: var(--blok-database-tab-text-active);
2477
- }
2478
-
2479
- /**
2480
- * Open-row button — muted arrow, visible on hover.
2481
- */
2482
- [data-blok-database-list-row-open] {
365
+ gap: var(--blok-space-0-5);
366
+ padding: var(--blok-space-1-5);
367
+ background: var(--blok-image-lightbox-toolbar-bg);
368
+ color: var(--blok-image-lightbox-toolbar-fg);
369
+ border-radius: var(--blok-space-3);
370
+ box-shadow:
371
+ 0 0 0 1px var(--blok-image-lightbox-toolbar-ring),
372
+ 0 4px 24px var(--blok-image-lightbox-toolbar-shadow-main),
373
+ 0 16px 40px -8px var(--blok-image-lightbox-toolbar-shadow-ambient);
374
+ cursor: default;
375
+ z-index: 1;
376
+ }
377
+ .blok-image-lightbox__btn {
2483
378
  display: inline-flex;
2484
379
  align-items: center;
2485
380
  justify-content: center;
2486
- width: 22px;
2487
- height: 22px;
2488
- opacity: 0;
2489
- background: none;
2490
- border: none;
2491
- cursor: pointer;
2492
- border-radius: 4px;
2493
- color: var(--blok-database-add-text);
2494
- flex-shrink: 0;
2495
- transition: opacity 80ms ease, background-color 80ms ease, color 80ms ease;
2496
- }
2497
-
2498
- [data-blok-database-list-row-open]::after {
2499
- content: '';
2500
- display: block;
2501
- width: 7px;
2502
- height: 7px;
2503
- border-right: 2px solid currentColor;
2504
- border-top: 2px solid currentColor;
2505
- transform: rotate(45deg);
2506
- border-radius: 1px;
2507
- flex-shrink: 0;
2508
- }
2509
-
2510
- [data-blok-database-list-row]:hover [data-blok-database-list-row-open] {
2511
- opacity: 1;
2512
- }
2513
-
2514
- [data-blok-database-list-row-open]:hover {
2515
- background-color: var(--blok-database-add-hover-bg);
2516
- color: var(--blok-database-tab-text-active);
2517
- }
2518
-
2519
- /**
2520
- * Delete row button — hidden until hover, inline after the open button.
2521
- */
2522
- [data-blok-database-list-row-properties] [data-blok-database-delete-row] {
2523
- display: flex;
2524
- align-items: center;
2525
- justify-content: center;
2526
- width: 18px;
2527
- height: 18px;
2528
- opacity: 0;
2529
- background: none;
2530
- border: none;
2531
- cursor: pointer;
2532
- border-radius: 3px;
2533
- color: var(--blok-database-delete-text);
2534
- font-size: 15px;
2535
- line-height: 1;
381
+ width: 32px;
382
+ height: 32px;
2536
383
  padding: 0;
2537
- flex-shrink: 0;
2538
- transition: opacity 80ms ease, color 80ms ease, background-color 80ms ease;
2539
- }
2540
-
2541
- [data-blok-database-list-row]:hover [data-blok-database-delete-row] {
2542
- opacity: 1;
2543
- }
2544
-
2545
- [data-blok-database-list-row-properties] [data-blok-database-delete-row]:hover {
2546
- color: var(--blok-database-delete-hover-text);
2547
- background-color: color-mix(in srgb, currentColor 8%, transparent);
2548
- }
2549
-
2550
- /**
2551
- * Add-row button — muted "+ New row" at bottom of list.
2552
- */
2553
- [data-blok-database-list] > [data-blok-database-add-row],
2554
- [data-blok-database-list-rows] ~ [data-blok-database-add-row] {
2555
- display: flex;
2556
- align-items: center;
2557
- gap: 6px;
2558
- width: 100%;
2559
- padding: 6px 8px;
2560
- background: none;
2561
- border: none;
2562
- border-radius: 8px;
2563
- cursor: pointer;
2564
- font-size: 13px;
2565
- color: var(--blok-database-add-text);
2566
- text-align: left;
2567
- transition: background-color 80ms ease, color 80ms ease;
2568
- margin-top: 2px;
2569
- }
2570
-
2571
- [data-blok-database-list] > [data-blok-database-add-row]:hover,
2572
- [data-blok-database-list-rows] ~ [data-blok-database-add-row]:hover {
2573
- background-color: var(--blok-database-add-hover-bg);
2574
- color: var(--blok-text-primary, inherit);
2575
- }
2576
-
2577
- /**
2578
- * Group container — stacked sections when grouped by a select property.
2579
- */
2580
- [data-blok-database-list-group] {
2581
- display: flex;
2582
- flex-direction: column;
2583
- margin-bottom: 4px;
2584
- }
2585
-
2586
- /**
2587
- * Group header — clickable row containing toggle chevron, dot, title, count.
2588
- */
2589
- [data-blok-database-list-group-header] {
2590
- display: flex;
2591
- align-items: center;
2592
- gap: 6px;
2593
- padding: 6px 8px 4px;
2594
- cursor: pointer;
2595
- border-radius: 4px;
2596
- user-select: none;
2597
- transition: background-color 80ms ease;
2598
- }
2599
-
2600
- [data-blok-database-list-group-header]:hover {
2601
- background-color: var(--blok-database-add-hover-bg);
2602
- }
2603
-
2604
- /**
2605
- * Collapse toggle — small chevron, rotates when expanded/collapsed.
2606
- */
2607
- [data-blok-database-list-group-toggle] {
2608
- font-size: 10px;
2609
- color: var(--blok-database-add-text);
2610
- line-height: 1;
2611
- flex-shrink: 0;
2612
- width: 12px;
2613
- text-align: center;
2614
- transition: color 80ms ease;
2615
- }
2616
-
2617
- [data-blok-database-list-group-header]:hover [data-blok-database-list-group-toggle] {
2618
- color: var(--blok-database-tab-text-active);
2619
- }
2620
-
2621
- /**
2622
- * Status dot — small colored circle before the group title.
2623
- */
2624
- [data-blok-database-list-group-dot] {
2625
- width: 8px;
2626
- height: 8px;
2627
- border-radius: 50%;
2628
- flex-shrink: 0;
2629
- }
2630
-
2631
- /**
2632
- * Group title text.
2633
- */
2634
- [data-blok-database-list-group-title] {
2635
- font-size: 13px;
2636
- font-weight: 600;
2637
- color: var(--blok-database-tab-text-active);
2638
- letter-spacing: 0.01em;
2639
- }
2640
-
2641
- /**
2642
- * Row count badge — muted number after the group title.
2643
- */
2644
- [data-blok-database-list-group-count] {
2645
- font-size: 12px;
2646
- color: var(--blok-database-add-text);
2647
- font-weight: 400;
2648
- margin-left: 2px;
2649
- }
2650
-
2651
- /**
2652
- * Rows container within a group — indented slightly, role=list.
2653
- */
2654
- [data-blok-database-list-rows] {
2655
- display: flex;
2656
- flex-direction: column;
2657
- padding-left: 8px;
2658
- }
2659
-
2660
- /* ─── "Add a property" button ────────────────────────────────────────────── */
2661
-
2662
- /**
2663
- * Ghost dashed button that reveals itself on hover.
2664
- * Full-width, sits below the last property row.
2665
- */
2666
- [data-blok-database-drawer-add-prop] {
2667
- display: flex;
2668
- align-items: center;
2669
- gap: 7px;
2670
- width: 100%;
2671
- padding: 6px 8px;
2672
- margin-top: 4px;
2673
- background: none;
2674
- border: 1.5px dashed transparent;
2675
- border-radius: 6px;
2676
- cursor: pointer;
2677
- font-size: 13px;
2678
- font-weight: 500;
2679
- color: var(--blok-database-add-text);
2680
- text-align: left;
2681
- transition:
2682
- background-color 130ms ease,
2683
- border-color 130ms ease,
2684
- color 130ms ease;
2685
- }
2686
-
2687
- [data-blok-database-drawer-add-prop]:hover {
2688
- background-color: var(--blok-database-add-hover-bg);
2689
- border-color: var(--blok-database-add-border);
2690
- color: var(--blok-database-tab-text-active);
2691
- }
2692
-
2693
- [data-blok-database-drawer-add-prop]:active {
2694
- background-color: var(--blok-item-hover-bg);
2695
- }
2696
-
2697
- /* ─── Property type popover ──────────────────────────────────────────────── */
2698
-
2699
- /**
2700
- * Entrance keyframe — subtle pop-in from slightly above.
2701
- */
2702
- @keyframes blok-prop-popover-in {
2703
- from {
2704
- opacity: 0;
2705
- transform: scale(0.96) translateY(-4px);
2706
- }
2707
- to {
2708
- opacity: 1;
2709
- transform: scale(1) translateY(0);
2710
- }
2711
- }
2712
-
2713
- /**
2714
- * Popover container — vertical list, clean card.
2715
- */
2716
- [data-blok-database-property-type-popover] {
2717
- min-width: 210px;
2718
- background: var(--blok-database-popover-bg);
2719
- border-radius: 10px;
2720
- box-shadow: var(--blok-database-popover-shadow);
2721
- padding: 6px;
2722
- animation: blok-prop-popover-in 120ms cubic-bezier(0.16, 1, 0.3, 1) both;
2723
- transform-origin: top left;
2724
- }
2725
-
2726
- /**
2727
- * Section heading — "Property type" label above the list.
2728
- */
2729
- [data-blok-database-property-type-heading] {
2730
- padding: 6px 8px 4px;
2731
- font-size: 11px;
2732
- font-weight: 600;
2733
- letter-spacing: 0.06em;
2734
- text-transform: uppercase;
2735
- color: var(--blok-database-add-text);
2736
- user-select: none;
2737
- }
2738
-
2739
- /**
2740
- * Each property type item — icon chip + label row.
2741
- */
2742
- [data-blok-database-property-type-option] {
2743
- display: flex;
2744
- align-items: center;
2745
- gap: 10px;
2746
- padding: 6px 8px;
2747
- border-radius: 6px;
384
+ background: transparent;
385
+ border: 0;
386
+ border-radius: var(--blok-space-2);
387
+ color: inherit;
2748
388
  cursor: pointer;
2749
- font-size: 13.5px;
2750
- color: var(--blok-database-tab-text-active);
2751
- transition: background-color 100ms ease;
2752
- user-select: none;
2753
- }
2754
-
2755
- [data-blok-database-property-type-option]:hover {
2756
- background-color: var(--blok-database-popover-hover);
2757
- }
2758
-
2759
- [data-blok-database-property-type-option]:active {
2760
- background-color: var(--blok-item-hover-bg);
2761
- }
2762
-
2763
- /**
2764
- * Icon chip — small tinted square to the left of the label.
2765
- */
2766
- [data-blok-database-property-type-option-icon] {
2767
- display: flex;
2768
- align-items: center;
2769
- justify-content: center;
2770
- width: 26px;
2771
- height: 26px;
2772
- border-radius: 5px;
2773
- background: var(--blok-popover-icon-bg);
2774
- color: var(--blok-database-tab-text-active);
2775
- flex-shrink: 0;
2776
- transition: background-color 100ms ease;
2777
- }
2778
-
2779
- [data-blok-database-property-type-option]:hover [data-blok-database-property-type-option-icon] {
2780
- background: var(--blok-popover-icon-active-bg);
2781
- color: var(--blok-active-icon);
2782
- }
2783
-
2784
- [data-blok-database-property-type-option-icon] svg {
2785
- width: 14px;
2786
- height: 14px;
389
+ font: inherit;
390
+ transition: background 80ms ease, color 80ms ease;
2787
391
  }