@jackuait/blok 0.4.1-beta.1 → 0.4.1-beta.12

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 (403) hide show
  1. package/README.md +138 -17
  2. package/codemod/README.md +45 -7
  3. package/codemod/migrate-editorjs-to-blok.js +960 -92
  4. package/codemod/test.js +780 -77
  5. package/dist/blok.mjs +5 -2
  6. package/dist/chunks/blok-BU6NwVkN.mjs +13239 -0
  7. package/dist/chunks/i18next-CugVlwWp.mjs +1292 -0
  8. package/dist/chunks/i18next-loader-D8GzSwio.mjs +43 -0
  9. package/dist/{index-CEXLTV6f.mjs → chunks/index-C5e_WLFg.mjs} +2 -2
  10. package/dist/chunks/inline-tool-convert-CLUxkCe_.mjs +1990 -0
  11. package/dist/chunks/messages-0tDXLuyH.mjs +48 -0
  12. package/dist/chunks/messages-2_xedlYw.mjs +48 -0
  13. package/dist/chunks/messages-AHESHJm_.mjs +48 -0
  14. package/dist/chunks/messages-B5hdXZwA.mjs +48 -0
  15. package/dist/chunks/messages-B5jGUnOy.mjs +48 -0
  16. package/dist/chunks/messages-B5puUm7R.mjs +48 -0
  17. package/dist/chunks/messages-B66ZSDCJ.mjs +48 -0
  18. package/dist/chunks/messages-B9Oba7sq.mjs +48 -0
  19. package/dist/chunks/messages-BA0rcTCY.mjs +48 -0
  20. package/dist/chunks/messages-BBJgd5jG.mjs +48 -0
  21. package/dist/chunks/messages-BPqWKx5Z.mjs +48 -0
  22. package/dist/chunks/messages-Bdv-IkfG.mjs +48 -0
  23. package/dist/chunks/messages-BeUhMpsr.mjs +48 -0
  24. package/dist/chunks/messages-Bf6Y3_GI.mjs +48 -0
  25. package/dist/chunks/messages-BiExzWJv.mjs +48 -0
  26. package/dist/chunks/messages-BlpqL8vG.mjs +48 -0
  27. package/dist/chunks/messages-BmKCChWZ.mjs +48 -0
  28. package/dist/chunks/messages-Bn253WWC.mjs +48 -0
  29. package/dist/chunks/messages-BrJHUxQL.mjs +48 -0
  30. package/dist/chunks/messages-C5b7hr_E.mjs +48 -0
  31. package/dist/chunks/messages-C7I_AVH2.mjs +48 -0
  32. package/dist/chunks/messages-CJoBtXU6.mjs +48 -0
  33. package/dist/chunks/messages-CQj2JU2j.mjs +48 -0
  34. package/dist/chunks/messages-CUZ1x1QD.mjs +48 -0
  35. package/dist/chunks/messages-CUy1vn-b.mjs +48 -0
  36. package/dist/chunks/messages-CVeWVKsV.mjs +48 -0
  37. package/dist/chunks/messages-CXHd9SUK.mjs +48 -0
  38. package/dist/chunks/messages-CbMyJSzS.mjs +48 -0
  39. package/dist/chunks/messages-CbhuIWRJ.mjs +48 -0
  40. package/dist/chunks/messages-CeCjVKMW.mjs +48 -0
  41. package/dist/chunks/messages-Cj-t1bdy.mjs +48 -0
  42. package/dist/chunks/messages-CkFT2gle.mjs +48 -0
  43. package/dist/chunks/messages-Cm9aLHeX.mjs +48 -0
  44. package/dist/chunks/messages-CnvW8Slp.mjs +48 -0
  45. package/dist/chunks/messages-Cr-RJ7YB.mjs +48 -0
  46. package/dist/chunks/messages-CrsJ1TEJ.mjs +48 -0
  47. package/dist/chunks/messages-Cu08aLS3.mjs +48 -0
  48. package/dist/chunks/messages-CvaqJFN-.mjs +48 -0
  49. package/dist/chunks/messages-CyDU5lz9.mjs +48 -0
  50. package/dist/chunks/messages-CySyfkMU.mjs +48 -0
  51. package/dist/chunks/messages-Cyi2AMmz.mjs +48 -0
  52. package/dist/chunks/messages-D00OjS2n.mjs +48 -0
  53. package/dist/chunks/messages-DDLgIPDF.mjs +48 -0
  54. package/dist/chunks/messages-DMQIHGRj.mjs +48 -0
  55. package/dist/chunks/messages-DOlC_Tty.mjs +48 -0
  56. package/dist/chunks/messages-DV6shA9b.mjs +48 -0
  57. package/dist/chunks/messages-DY94ykcE.mjs +48 -0
  58. package/dist/chunks/messages-DbVquYKN.mjs +48 -0
  59. package/dist/chunks/messages-DcKOuncK.mjs +48 -0
  60. package/dist/chunks/messages-Dg92dXZ5.mjs +48 -0
  61. package/dist/chunks/messages-DnbbyJT3.mjs +48 -0
  62. package/dist/chunks/messages-DteYq0rv.mjs +48 -0
  63. package/dist/chunks/messages-GC2PhgV3.mjs +48 -0
  64. package/dist/chunks/messages-JGsXAReJ.mjs +48 -0
  65. package/dist/chunks/messages-JZUhXTuV.mjs +48 -0
  66. package/dist/chunks/messages-LvFKBBPa.mjs +48 -0
  67. package/dist/chunks/messages-NP1myMGI.mjs +48 -0
  68. package/dist/chunks/messages-Q4kc_ZtL.mjs +48 -0
  69. package/dist/chunks/messages-RvMHb2Ht.mjs +48 -0
  70. package/dist/chunks/messages-ftMcCEuO.mjs +48 -0
  71. package/dist/chunks/messages-o24dK6CU.mjs +48 -0
  72. package/dist/chunks/messages-pA5TvcAj.mjs +48 -0
  73. package/dist/chunks/messages-rRSHQDCX.mjs +48 -0
  74. package/dist/chunks/messages-srxrv8Yh.mjs +48 -0
  75. package/dist/chunks/messages-wdqp4610.mjs +48 -0
  76. package/dist/chunks/messages-zS1AXZ0y.mjs +48 -0
  77. package/dist/chunks/messages-zSzDzXej.mjs +48 -0
  78. package/dist/full.mjs +50 -0
  79. package/dist/locales.mjs +228 -0
  80. package/dist/messages-0tDXLuyH.mjs +48 -0
  81. package/dist/messages-2_xedlYw.mjs +48 -0
  82. package/dist/messages-AHESHJm_.mjs +48 -0
  83. package/dist/messages-B5hdXZwA.mjs +48 -0
  84. package/dist/messages-B5jGUnOy.mjs +48 -0
  85. package/dist/messages-B5puUm7R.mjs +48 -0
  86. package/dist/messages-B66ZSDCJ.mjs +48 -0
  87. package/dist/messages-B9Oba7sq.mjs +48 -0
  88. package/dist/messages-BA0rcTCY.mjs +48 -0
  89. package/dist/messages-BBJgd5jG.mjs +48 -0
  90. package/dist/messages-BPqWKx5Z.mjs +48 -0
  91. package/dist/messages-Bdv-IkfG.mjs +48 -0
  92. package/dist/messages-BeUhMpsr.mjs +48 -0
  93. package/dist/messages-Bf6Y3_GI.mjs +48 -0
  94. package/dist/messages-BiExzWJv.mjs +48 -0
  95. package/dist/messages-BlpqL8vG.mjs +48 -0
  96. package/dist/messages-BmKCChWZ.mjs +48 -0
  97. package/dist/messages-Bn253WWC.mjs +48 -0
  98. package/dist/messages-BrJHUxQL.mjs +48 -0
  99. package/dist/messages-C5b7hr_E.mjs +48 -0
  100. package/dist/messages-C7I_AVH2.mjs +48 -0
  101. package/dist/messages-CJoBtXU6.mjs +48 -0
  102. package/dist/messages-CQj2JU2j.mjs +48 -0
  103. package/dist/messages-CUZ1x1QD.mjs +48 -0
  104. package/dist/messages-CUy1vn-b.mjs +48 -0
  105. package/dist/messages-CVeWVKsV.mjs +48 -0
  106. package/dist/messages-CXHd9SUK.mjs +48 -0
  107. package/dist/messages-CbMyJSzS.mjs +48 -0
  108. package/dist/messages-CbhuIWRJ.mjs +48 -0
  109. package/dist/messages-CeCjVKMW.mjs +48 -0
  110. package/dist/messages-Cj-t1bdy.mjs +48 -0
  111. package/dist/messages-CkFT2gle.mjs +48 -0
  112. package/dist/messages-Cm9aLHeX.mjs +48 -0
  113. package/dist/messages-CnvW8Slp.mjs +48 -0
  114. package/dist/messages-Cr-RJ7YB.mjs +48 -0
  115. package/dist/messages-CrsJ1TEJ.mjs +48 -0
  116. package/dist/messages-Cu08aLS3.mjs +48 -0
  117. package/dist/messages-CvaqJFN-.mjs +48 -0
  118. package/dist/messages-CyDU5lz9.mjs +48 -0
  119. package/dist/messages-CySyfkMU.mjs +48 -0
  120. package/dist/messages-Cyi2AMmz.mjs +48 -0
  121. package/dist/messages-D00OjS2n.mjs +48 -0
  122. package/dist/messages-DDLgIPDF.mjs +48 -0
  123. package/dist/messages-DMQIHGRj.mjs +48 -0
  124. package/dist/messages-DOlC_Tty.mjs +48 -0
  125. package/dist/messages-DV6shA9b.mjs +48 -0
  126. package/dist/messages-DY94ykcE.mjs +48 -0
  127. package/dist/messages-DbVquYKN.mjs +48 -0
  128. package/dist/messages-DcKOuncK.mjs +48 -0
  129. package/dist/messages-Dg92dXZ5.mjs +48 -0
  130. package/dist/messages-DnbbyJT3.mjs +48 -0
  131. package/dist/messages-DteYq0rv.mjs +48 -0
  132. package/dist/messages-GC2PhgV3.mjs +48 -0
  133. package/dist/messages-JGsXAReJ.mjs +48 -0
  134. package/dist/messages-JZUhXTuV.mjs +48 -0
  135. package/dist/messages-LvFKBBPa.mjs +48 -0
  136. package/dist/messages-NP1myMGI.mjs +48 -0
  137. package/dist/messages-Q4kc_ZtL.mjs +48 -0
  138. package/dist/messages-RvMHb2Ht.mjs +48 -0
  139. package/dist/messages-ftMcCEuO.mjs +48 -0
  140. package/dist/messages-o24dK6CU.mjs +48 -0
  141. package/dist/messages-pA5TvcAj.mjs +48 -0
  142. package/dist/messages-rRSHQDCX.mjs +48 -0
  143. package/dist/messages-srxrv8Yh.mjs +48 -0
  144. package/dist/messages-wdqp4610.mjs +48 -0
  145. package/dist/messages-zS1AXZ0y.mjs +48 -0
  146. package/dist/messages-zSzDzXej.mjs +48 -0
  147. package/dist/tools.mjs +3126 -0
  148. package/dist/vendor.LICENSE.txt +26 -225
  149. package/package.json +63 -24
  150. package/src/blok.ts +267 -0
  151. package/src/components/__module.ts +139 -0
  152. package/src/components/block/api.ts +155 -0
  153. package/src/components/block/index.ts +1428 -0
  154. package/src/components/block-tunes/block-tune-delete.ts +51 -0
  155. package/src/components/blocks.ts +352 -0
  156. package/src/components/constants/data-attributes.ts +344 -0
  157. package/src/components/constants.ts +76 -0
  158. package/src/components/core.ts +392 -0
  159. package/src/components/dom.ts +773 -0
  160. package/src/components/domIterator.ts +189 -0
  161. package/src/components/errors/critical.ts +5 -0
  162. package/src/components/events/BlockChanged.ts +16 -0
  163. package/src/components/events/BlockHovered.ts +21 -0
  164. package/src/components/events/BlockSettingsClosed.ts +12 -0
  165. package/src/components/events/BlockSettingsOpened.ts +12 -0
  166. package/src/components/events/BlokMobileLayoutToggled.ts +15 -0
  167. package/src/components/events/FakeCursorAboutToBeToggled.ts +17 -0
  168. package/src/components/events/FakeCursorHaveBeenSet.ts +17 -0
  169. package/src/components/events/HistoryStateChanged.ts +19 -0
  170. package/src/components/events/RedactorDomChanged.ts +14 -0
  171. package/src/components/events/index.ts +46 -0
  172. package/src/components/flipper.ts +497 -0
  173. package/src/components/i18n/i18next-loader.ts +84 -0
  174. package/src/components/i18n/lightweight-i18n.ts +86 -0
  175. package/src/components/i18n/locales/TRANSLATION_GUIDELINES.md +113 -0
  176. package/src/components/i18n/locales/am/messages.json +45 -0
  177. package/src/components/i18n/locales/ar/messages.json +45 -0
  178. package/src/components/i18n/locales/az/messages.json +45 -0
  179. package/src/components/i18n/locales/bg/messages.json +45 -0
  180. package/src/components/i18n/locales/bn/messages.json +45 -0
  181. package/src/components/i18n/locales/bs/messages.json +45 -0
  182. package/src/components/i18n/locales/cs/messages.json +45 -0
  183. package/src/components/i18n/locales/da/messages.json +45 -0
  184. package/src/components/i18n/locales/de/messages.json +45 -0
  185. package/src/components/i18n/locales/dv/messages.json +45 -0
  186. package/src/components/i18n/locales/el/messages.json +45 -0
  187. package/src/components/i18n/locales/en/messages.json +45 -0
  188. package/src/components/i18n/locales/es/messages.json +45 -0
  189. package/src/components/i18n/locales/et/messages.json +45 -0
  190. package/src/components/i18n/locales/fa/messages.json +45 -0
  191. package/src/components/i18n/locales/fi/messages.json +45 -0
  192. package/src/components/i18n/locales/fil/messages.json +45 -0
  193. package/src/components/i18n/locales/fr/messages.json +45 -0
  194. package/src/components/i18n/locales/gu/messages.json +45 -0
  195. package/src/components/i18n/locales/he/messages.json +45 -0
  196. package/src/components/i18n/locales/hi/messages.json +45 -0
  197. package/src/components/i18n/locales/hr/messages.json +45 -0
  198. package/src/components/i18n/locales/hu/messages.json +45 -0
  199. package/src/components/i18n/locales/hy/messages.json +45 -0
  200. package/src/components/i18n/locales/id/messages.json +45 -0
  201. package/src/components/i18n/locales/index.ts +231 -0
  202. package/src/components/i18n/locales/it/messages.json +45 -0
  203. package/src/components/i18n/locales/ja/messages.json +45 -0
  204. package/src/components/i18n/locales/ka/messages.json +45 -0
  205. package/src/components/i18n/locales/km/messages.json +45 -0
  206. package/src/components/i18n/locales/kn/messages.json +45 -0
  207. package/src/components/i18n/locales/ko/messages.json +45 -0
  208. package/src/components/i18n/locales/ku/messages.json +45 -0
  209. package/src/components/i18n/locales/lo/messages.json +45 -0
  210. package/src/components/i18n/locales/lt/messages.json +45 -0
  211. package/src/components/i18n/locales/lv/messages.json +45 -0
  212. package/src/components/i18n/locales/mk/messages.json +45 -0
  213. package/src/components/i18n/locales/ml/messages.json +45 -0
  214. package/src/components/i18n/locales/mn/messages.json +45 -0
  215. package/src/components/i18n/locales/mr/messages.json +45 -0
  216. package/src/components/i18n/locales/ms/messages.json +45 -0
  217. package/src/components/i18n/locales/my/messages.json +45 -0
  218. package/src/components/i18n/locales/ne/messages.json +45 -0
  219. package/src/components/i18n/locales/nl/messages.json +45 -0
  220. package/src/components/i18n/locales/no/messages.json +45 -0
  221. package/src/components/i18n/locales/pa/messages.json +45 -0
  222. package/src/components/i18n/locales/pl/messages.json +45 -0
  223. package/src/components/i18n/locales/ps/messages.json +45 -0
  224. package/src/components/i18n/locales/pt/messages.json +45 -0
  225. package/src/components/i18n/locales/ro/messages.json +45 -0
  226. package/src/components/i18n/locales/ru/messages.json +45 -0
  227. package/src/components/i18n/locales/sd/messages.json +45 -0
  228. package/src/components/i18n/locales/si/messages.json +45 -0
  229. package/src/components/i18n/locales/sk/messages.json +45 -0
  230. package/src/components/i18n/locales/sl/messages.json +45 -0
  231. package/src/components/i18n/locales/sq/messages.json +45 -0
  232. package/src/components/i18n/locales/sr/messages.json +45 -0
  233. package/src/components/i18n/locales/sv/messages.json +45 -0
  234. package/src/components/i18n/locales/sw/messages.json +45 -0
  235. package/src/components/i18n/locales/ta/messages.json +45 -0
  236. package/src/components/i18n/locales/te/messages.json +45 -0
  237. package/src/components/i18n/locales/th/messages.json +45 -0
  238. package/src/components/i18n/locales/tr/messages.json +45 -0
  239. package/src/components/i18n/locales/ug/messages.json +45 -0
  240. package/src/components/i18n/locales/uk/messages.json +45 -0
  241. package/src/components/i18n/locales/ur/messages.json +45 -0
  242. package/src/components/i18n/locales/vi/messages.json +45 -0
  243. package/src/components/i18n/locales/yi/messages.json +45 -0
  244. package/src/components/i18n/locales/zh/messages.json +45 -0
  245. package/src/components/icons/index.ts +242 -0
  246. package/src/components/inline-tools/inline-tool-bold.ts +2213 -0
  247. package/src/components/inline-tools/inline-tool-convert.ts +142 -0
  248. package/src/components/inline-tools/inline-tool-italic.ts +500 -0
  249. package/src/components/inline-tools/inline-tool-link.ts +540 -0
  250. package/src/components/modules/api/blocks.ts +377 -0
  251. package/src/components/modules/api/caret.ts +125 -0
  252. package/src/components/modules/api/events.ts +51 -0
  253. package/src/components/modules/api/history.ts +73 -0
  254. package/src/components/modules/api/i18n.ts +35 -0
  255. package/src/components/modules/api/index.ts +39 -0
  256. package/src/components/modules/api/inlineToolbar.ts +33 -0
  257. package/src/components/modules/api/listeners.ts +56 -0
  258. package/src/components/modules/api/notifier.ts +46 -0
  259. package/src/components/modules/api/readonly.ts +39 -0
  260. package/src/components/modules/api/sanitizer.ts +30 -0
  261. package/src/components/modules/api/saver.ts +52 -0
  262. package/src/components/modules/api/selection.ts +48 -0
  263. package/src/components/modules/api/styles.ts +72 -0
  264. package/src/components/modules/api/toolbar.ts +79 -0
  265. package/src/components/modules/api/tools.ts +16 -0
  266. package/src/components/modules/api/tooltip.ts +67 -0
  267. package/src/components/modules/api/ui.ts +36 -0
  268. package/src/components/modules/blockEvents.ts +1591 -0
  269. package/src/components/modules/blockManager.ts +1356 -0
  270. package/src/components/modules/blockSelection.ts +708 -0
  271. package/src/components/modules/caret.ts +853 -0
  272. package/src/components/modules/crossBlockSelection.ts +329 -0
  273. package/src/components/modules/dragManager.ts +1204 -0
  274. package/src/components/modules/history.ts +1098 -0
  275. package/src/components/modules/i18n.ts +332 -0
  276. package/src/components/modules/index.ts +139 -0
  277. package/src/components/modules/modificationsObserver.ts +147 -0
  278. package/src/components/modules/paste.ts +1092 -0
  279. package/src/components/modules/readonly.ts +136 -0
  280. package/src/components/modules/rectangleSelection.ts +711 -0
  281. package/src/components/modules/renderer.ts +155 -0
  282. package/src/components/modules/saver.ts +283 -0
  283. package/src/components/modules/toolbar/blockSettings.ts +782 -0
  284. package/src/components/modules/toolbar/index.ts +1296 -0
  285. package/src/components/modules/toolbar/inline.ts +956 -0
  286. package/src/components/modules/tools.ts +625 -0
  287. package/src/components/modules/ui.ts +1283 -0
  288. package/src/components/polyfills.ts +113 -0
  289. package/src/components/selection.ts +1179 -0
  290. package/src/components/tools/base.ts +301 -0
  291. package/src/components/tools/block.ts +339 -0
  292. package/src/components/tools/collection.ts +67 -0
  293. package/src/components/tools/factory.ts +138 -0
  294. package/src/components/tools/inline.ts +71 -0
  295. package/src/components/tools/tune.ts +33 -0
  296. package/src/components/ui/toolbox.ts +610 -0
  297. package/src/components/utils/announcer.ts +205 -0
  298. package/src/components/utils/api.ts +20 -0
  299. package/src/components/utils/bem.ts +26 -0
  300. package/src/components/utils/blocks.ts +284 -0
  301. package/src/components/utils/caret.ts +1067 -0
  302. package/src/components/utils/data-model-transform.ts +382 -0
  303. package/src/components/utils/events.ts +117 -0
  304. package/src/components/utils/keyboard.ts +60 -0
  305. package/src/components/utils/listeners.ts +296 -0
  306. package/src/components/utils/mutations.ts +39 -0
  307. package/src/components/utils/notifier/draw.ts +190 -0
  308. package/src/components/utils/notifier/index.ts +66 -0
  309. package/src/components/utils/notifier/types.ts +1 -0
  310. package/src/components/utils/notifier.ts +77 -0
  311. package/src/components/utils/placeholder.ts +140 -0
  312. package/src/components/utils/popover/components/hint/hint.const.ts +10 -0
  313. package/src/components/utils/popover/components/hint/hint.ts +46 -0
  314. package/src/components/utils/popover/components/hint/index.ts +6 -0
  315. package/src/components/utils/popover/components/popover-header/index.ts +2 -0
  316. package/src/components/utils/popover/components/popover-header/popover-header.const.ts +8 -0
  317. package/src/components/utils/popover/components/popover-header/popover-header.ts +80 -0
  318. package/src/components/utils/popover/components/popover-header/popover-header.types.ts +14 -0
  319. package/src/components/utils/popover/components/popover-item/index.ts +13 -0
  320. package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.const.ts +50 -0
  321. package/src/components/utils/popover/components/popover-item/popover-item-default/popover-item-default.ts +680 -0
  322. package/src/components/utils/popover/components/popover-item/popover-item-html/popover-item-html.const.ts +14 -0
  323. package/src/components/utils/popover/components/popover-item/popover-item-html/popover-item-html.ts +136 -0
  324. package/src/components/utils/popover/components/popover-item/popover-item-separator/popover-item-separator.const.ts +20 -0
  325. package/src/components/utils/popover/components/popover-item/popover-item-separator/popover-item-separator.ts +117 -0
  326. package/src/components/utils/popover/components/popover-item/popover-item.ts +197 -0
  327. package/src/components/utils/popover/components/search-input/index.ts +2 -0
  328. package/src/components/utils/popover/components/search-input/search-input.const.ts +8 -0
  329. package/src/components/utils/popover/components/search-input/search-input.ts +178 -0
  330. package/src/components/utils/popover/components/search-input/search-input.types.ts +59 -0
  331. package/src/components/utils/popover/index.ts +13 -0
  332. package/src/components/utils/popover/popover-abstract.ts +457 -0
  333. package/src/components/utils/popover/popover-desktop.ts +682 -0
  334. package/src/components/utils/popover/popover-inline.ts +338 -0
  335. package/src/components/utils/popover/popover-mobile.ts +201 -0
  336. package/src/components/utils/popover/popover.const.ts +81 -0
  337. package/src/components/utils/popover/utils/popover-states-history.ts +72 -0
  338. package/src/components/utils/promise-queue.ts +43 -0
  339. package/src/components/utils/sanitizer.ts +537 -0
  340. package/src/components/utils/scroll-locker.ts +87 -0
  341. package/src/components/utils/shortcut.ts +231 -0
  342. package/src/components/utils/shortcuts.ts +113 -0
  343. package/src/components/utils/tools.ts +110 -0
  344. package/src/components/utils/tooltip.ts +591 -0
  345. package/src/components/utils/tw.ts +241 -0
  346. package/src/components/utils.ts +1081 -0
  347. package/src/env.d.ts +13 -0
  348. package/src/full.ts +69 -0
  349. package/src/locales.ts +51 -0
  350. package/src/stories/Block.stories.ts +498 -0
  351. package/src/stories/EditorModes.stories.ts +505 -0
  352. package/src/stories/Header.stories.ts +137 -0
  353. package/src/stories/InlineToolbar.stories.ts +498 -0
  354. package/src/stories/List.stories.ts +259 -0
  355. package/src/stories/Notifier.stories.ts +340 -0
  356. package/src/stories/Paragraph.stories.ts +112 -0
  357. package/src/stories/Placeholder.stories.ts +319 -0
  358. package/src/stories/Popover.stories.ts +759 -0
  359. package/src/stories/Selection.stories.ts +250 -0
  360. package/src/stories/StubBlock.stories.ts +156 -0
  361. package/src/stories/Toolbar.stories.ts +223 -0
  362. package/src/stories/Toolbox.stories.ts +166 -0
  363. package/src/stories/Tooltip.stories.ts +198 -0
  364. package/src/stories/helpers.ts +463 -0
  365. package/src/styles/main.css +126 -0
  366. package/src/tools/header/index.ts +647 -0
  367. package/src/tools/index.ts +45 -0
  368. package/src/tools/list/index.ts +1826 -0
  369. package/src/tools/paragraph/index.ts +412 -0
  370. package/src/tools/stub/index.ts +107 -0
  371. package/src/types-internal/blok-modules.d.ts +87 -0
  372. package/src/types-internal/html-janitor.d.ts +28 -0
  373. package/src/types-internal/module-config.d.ts +11 -0
  374. package/src/variants/all-locales.ts +155 -0
  375. package/src/variants/blok-maximum.ts +20 -0
  376. package/src/variants/blok-minimum.ts +243 -0
  377. package/types/api/blocks.d.ts +9 -1
  378. package/types/api/history.d.ts +7 -0
  379. package/types/api/i18n.d.ts +22 -3
  380. package/types/api/selection.d.ts +6 -0
  381. package/types/api/styles.d.ts +23 -10
  382. package/types/configs/blok-config.d.ts +29 -0
  383. package/types/configs/i18n-config.d.ts +52 -2
  384. package/types/configs/i18n-dictionary.d.ts +16 -90
  385. package/types/configs/sanitizer-config.d.ts +25 -1
  386. package/types/data-attributes.d.ts +170 -0
  387. package/types/data-formats/output-data.d.ts +15 -0
  388. package/types/full.d.ts +80 -0
  389. package/types/index.d.ts +30 -13
  390. package/types/locales.d.ts +59 -0
  391. package/types/tools/adapters/inline-tool-adapter.d.ts +10 -0
  392. package/types/tools/block-tool.d.ts +11 -2
  393. package/types/tools/header.d.ts +18 -0
  394. package/types/tools/index.d.ts +1 -0
  395. package/types/tools/list.d.ts +91 -0
  396. package/types/tools/paragraph.d.ts +71 -0
  397. package/types/tools/tool-settings.d.ts +99 -6
  398. package/types/tools/tool.d.ts +6 -0
  399. package/types/tools-entry.d.ts +49 -0
  400. package/types/utils/popover/popover-item.d.ts +24 -5
  401. package/types/utils/popover/popover.d.ts +13 -0
  402. package/dist/blok-C8XbyLHh.mjs +0 -25795
  403. package/dist/blok.umd.js +0 -181
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "Seret untuk memindahkan",
3
+ "blockSettings.clickToOpenMenu": "Klik untuk membuka menu",
4
+ "toolbox.addBelow": "Tambahkan blok",
5
+ "toolbox.optionAddAbove": "⌥ Tambah di atas",
6
+ "toolbox.ctrlAddAbove": "Ctrl Tambah di atas",
7
+ "popover.search": "Cari",
8
+ "popover.nothingFound": "Tidak ditemukan",
9
+ "popover.convertTo": "Ubah ke",
10
+ "toolNames.text": "Teks",
11
+ "toolNames.heading": "Judul",
12
+ "toolNames.link": "Tautan",
13
+ "toolNames.bold": "Tebal",
14
+ "toolNames.italic": "Miring",
15
+ "toolNames.bulletedList": "Daftar poin",
16
+ "toolNames.numberedList": "Daftar bernomor",
17
+ "toolNames.todoList": "Daftar tugas",
18
+ "tools.link.addLink": "Tambahkan tautan",
19
+ "tools.link.invalidLink": "Tautan tidak valid",
20
+ "tools.stub.error": "Kesalahan",
21
+ "tools.stub.blockCannotBeDisplayed": "Blok ini tidak dapat ditampilkan",
22
+ "tools.header.heading1": "Judul 1",
23
+ "tools.header.heading2": "Judul 2",
24
+ "tools.header.heading3": "Judul 3",
25
+ "tools.header.heading4": "Judul 4",
26
+ "tools.header.heading5": "Judul 5",
27
+ "tools.header.heading6": "Judul 6",
28
+ "tools.list.placeholder": "Daftar",
29
+ "blockSettings.delete": "Hapus",
30
+ "a11y.dragHandle": "Seret untuk memindahkan blok atau klik untuk menu",
31
+ "a11y.dragHandleRole": "pegangan seret",
32
+ "a11y.dragStarted": "Menyeret blok",
33
+ "a11y.dragStartedMultiple": "Menyeret {count} blok",
34
+ "a11y.dropPosition": "Akan diletakkan di posisi {position} dari {total}",
35
+ "a11y.dropCancelled": "Penyeretan dibatalkan",
36
+ "a11y.blockMoved": "Blok dipindahkan ke posisi {position} dari {total}",
37
+ "a11y.blocksMoved": "{count} blok dipindahkan ke posisi {position}",
38
+ "a11y.blockDuplicated": "Blok diduplikasi di posisi {position} dari {total}",
39
+ "a11y.blocksDuplicated": "{count} blok diduplikasi mulai dari posisi {position}",
40
+ "a11y.movedUp": "Blok dipindahkan ke atas, posisi {position} dari {total}",
41
+ "a11y.movedDown": "Blok dipindahkan ke bawah, posisi {position} dari {total}",
42
+ "a11y.atTop": "Blok sudah di paling atas, tidak bisa dipindahkan ke atas",
43
+ "a11y.atBottom": "Blok sudah di paling bawah, tidak bisa dipindahkan ke bawah",
44
+ "tools.paragraph.placeholder": "Tulis sesuatu atau tekan / untuk memilih"
45
+ }
@@ -0,0 +1,231 @@
1
+ import type { LocaleConfig, LocaleRegistry, SupportedLocale } from '../../../../types/configs/i18n-config';
2
+ import type { I18nDictionary } from '../../../../types/configs/i18n-dictionary';
3
+
4
+ // Only English is statically imported - it's the default/fallback
5
+ import enMessages from './en/messages.json';
6
+
7
+ /**
8
+ * RTL (right-to-left) locale codes.
9
+ * Single source of truth for text direction.
10
+ * @internal
11
+ */
12
+ const RTL_LOCALES: ReadonlySet<SupportedLocale> = new Set([
13
+ 'ar', 'dv', 'fa', 'he', 'ku', 'ps', 'sd', 'ug', 'ur', 'yi',
14
+ ]);
15
+
16
+ /**
17
+ * Get direction for a locale code.
18
+ */
19
+ export const getDirection = (code: SupportedLocale): 'ltr' | 'rtl' =>
20
+ RTL_LOCALES.has(code) ? 'rtl' : 'ltr';
21
+
22
+ /**
23
+ * Build a locale config from a dictionary.
24
+ * Direction is determined automatically from RTL_LOCALES.
25
+ * @internal
26
+ */
27
+ const buildConfig = (code: SupportedLocale, dictionary: I18nDictionary): LocaleConfig => ({
28
+ dictionary,
29
+ direction: getDirection(code),
30
+ });
31
+
32
+ /**
33
+ * All supported locale codes (68 languages).
34
+ *
35
+ * All locales are available for lazy loading by default - no preset restrictions.
36
+ *
37
+ * IMPORTANT: This array must match the SupportedLocale type in types/configs/i18n-config.d.ts.
38
+ * The localeImporters object below will fail to compile if they don't match since it's typed
39
+ * as Record<SupportedLocale, ...>.
40
+ */
41
+ export const ALL_LOCALE_CODES: readonly SupportedLocale[] = [
42
+ 'am', 'ar', 'az', 'bg', 'bn', 'bs', 'cs', 'da', 'de', 'dv', 'el', 'en', 'es', 'et',
43
+ 'fa', 'fi', 'fil', 'fr', 'gu', 'he', 'hi', 'hr', 'hu', 'hy', 'id', 'it', 'ja', 'ka',
44
+ 'km', 'kn', 'ko', 'ku', 'lo', 'lt', 'lv', 'mk', 'ml', 'mn', 'mr', 'ms', 'my', 'ne',
45
+ 'nl', 'no', 'pa', 'pl', 'ps', 'pt', 'ro', 'ru', 'sd', 'si', 'sk', 'sl', 'sq', 'sr',
46
+ 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'ug', 'uk', 'ur', 'vi', 'yi', 'zh',
47
+ ] as const;
48
+
49
+ /**
50
+ * Default locale to use when detection fails or locale is not supported
51
+ */
52
+ export const DEFAULT_LOCALE: SupportedLocale = 'en';
53
+
54
+ /**
55
+ * English locale config - always available (statically imported).
56
+ */
57
+ export const enLocale: LocaleConfig = buildConfig('en', enMessages);
58
+
59
+ /**
60
+ * Cache for loaded locales.
61
+ *
62
+ * Note: This is intentionally a module-level cache shared across all Blok instances.
63
+ * Locale dictionaries are immutable and expensive to load, so sharing is beneficial.
64
+ * Use clearLocaleCache() in tests to reset state between test runs.
65
+ */
66
+ const localeCache = new Map<SupportedLocale, LocaleConfig>();
67
+ localeCache.set('en', enLocale);
68
+
69
+ /**
70
+ * Clear the locale cache.
71
+ *
72
+ * This is primarily useful for testing to ensure test isolation.
73
+ * In production, the cache should persist for the lifetime of the application.
74
+ *
75
+ * @internal
76
+ */
77
+ export const clearLocaleCache = (): void => {
78
+ localeCache.clear();
79
+ // Always keep English available since it's statically imported
80
+ localeCache.set('en', enLocale);
81
+ };
82
+
83
+ /**
84
+ * Dynamic import map for locale dictionaries.
85
+ * Vite/Rollup will code-split these into separate chunks.
86
+ */
87
+ const localeImporters: Record<SupportedLocale, () => Promise<{ default: I18nDictionary }>> = {
88
+ am: () => import('./am/messages.json'),
89
+ ar: () => import('./ar/messages.json'),
90
+ az: () => import('./az/messages.json'),
91
+ bg: () => import('./bg/messages.json'),
92
+ bn: () => import('./bn/messages.json'),
93
+ bs: () => import('./bs/messages.json'),
94
+ cs: () => import('./cs/messages.json'),
95
+ da: () => import('./da/messages.json'),
96
+ de: () => import('./de/messages.json'),
97
+ dv: () => import('./dv/messages.json'),
98
+ el: () => import('./el/messages.json'),
99
+ en: () => Promise.resolve({ default: enMessages }),
100
+ es: () => import('./es/messages.json'),
101
+ et: () => import('./et/messages.json'),
102
+ fa: () => import('./fa/messages.json'),
103
+ fi: () => import('./fi/messages.json'),
104
+ fil: () => import('./fil/messages.json'),
105
+ fr: () => import('./fr/messages.json'),
106
+ gu: () => import('./gu/messages.json'),
107
+ he: () => import('./he/messages.json'),
108
+ hi: () => import('./hi/messages.json'),
109
+ hr: () => import('./hr/messages.json'),
110
+ hu: () => import('./hu/messages.json'),
111
+ hy: () => import('./hy/messages.json'),
112
+ id: () => import('./id/messages.json'),
113
+ it: () => import('./it/messages.json'),
114
+ ja: () => import('./ja/messages.json'),
115
+ ka: () => import('./ka/messages.json'),
116
+ km: () => import('./km/messages.json'),
117
+ kn: () => import('./kn/messages.json'),
118
+ ko: () => import('./ko/messages.json'),
119
+ ku: () => import('./ku/messages.json'),
120
+ lo: () => import('./lo/messages.json'),
121
+ lt: () => import('./lt/messages.json'),
122
+ lv: () => import('./lv/messages.json'),
123
+ mk: () => import('./mk/messages.json'),
124
+ ml: () => import('./ml/messages.json'),
125
+ mn: () => import('./mn/messages.json'),
126
+ mr: () => import('./mr/messages.json'),
127
+ ms: () => import('./ms/messages.json'),
128
+ my: () => import('./my/messages.json'),
129
+ ne: () => import('./ne/messages.json'),
130
+ nl: () => import('./nl/messages.json'),
131
+ no: () => import('./no/messages.json'),
132
+ pa: () => import('./pa/messages.json'),
133
+ pl: () => import('./pl/messages.json'),
134
+ ps: () => import('./ps/messages.json'),
135
+ pt: () => import('./pt/messages.json'),
136
+ ro: () => import('./ro/messages.json'),
137
+ ru: () => import('./ru/messages.json'),
138
+ sd: () => import('./sd/messages.json'),
139
+ si: () => import('./si/messages.json'),
140
+ sk: () => import('./sk/messages.json'),
141
+ sl: () => import('./sl/messages.json'),
142
+ sq: () => import('./sq/messages.json'),
143
+ sr: () => import('./sr/messages.json'),
144
+ sv: () => import('./sv/messages.json'),
145
+ sw: () => import('./sw/messages.json'),
146
+ ta: () => import('./ta/messages.json'),
147
+ te: () => import('./te/messages.json'),
148
+ th: () => import('./th/messages.json'),
149
+ tr: () => import('./tr/messages.json'),
150
+ ug: () => import('./ug/messages.json'),
151
+ uk: () => import('./uk/messages.json'),
152
+ ur: () => import('./ur/messages.json'),
153
+ vi: () => import('./vi/messages.json'),
154
+ yi: () => import('./yi/messages.json'),
155
+ zh: () => import('./zh/messages.json'),
156
+ };
157
+
158
+ /**
159
+ * Load a locale configuration asynchronously.
160
+ * Returns cached config if already loaded.
161
+ *
162
+ * @param code - Locale code to load
163
+ * @returns Promise resolving to the locale config
164
+ */
165
+ export const loadLocale = async (code: SupportedLocale): Promise<LocaleConfig> => {
166
+ // Return cached if available
167
+ const cached = localeCache.get(code);
168
+
169
+ if (cached !== undefined) {
170
+ return cached;
171
+ }
172
+
173
+ // Load and cache
174
+ const importer = localeImporters[code];
175
+ const module = await importer();
176
+ const config = buildConfig(code, module.default);
177
+
178
+ localeCache.set(code, config);
179
+
180
+ return config;
181
+ };
182
+
183
+ /**
184
+ * Get a locale configuration synchronously.
185
+ * Returns undefined if not yet loaded. Use loadLocale() to load first.
186
+ *
187
+ * @param code - Locale code
188
+ * @returns Locale config or undefined if not loaded
189
+ */
190
+ export const getLocaleSync = (code: SupportedLocale): LocaleConfig | undefined =>
191
+ localeCache.get(code);
192
+
193
+ /**
194
+ * Preload multiple locales.
195
+ * Useful for preloading a preset's locales.
196
+ *
197
+ * @param codes - Array of locale codes to preload
198
+ * @returns Promise that resolves when all locales are loaded
199
+ */
200
+ export const preloadLocales = async (codes: readonly SupportedLocale[]): Promise<void> => {
201
+ await Promise.all(codes.map(loadLocale));
202
+ };
203
+
204
+ /**
205
+ * Load and build a locale registry asynchronously.
206
+ *
207
+ * @param codes - Array of locale codes
208
+ * @returns Promise resolving to the registry
209
+ */
210
+ export const buildRegistry = async (codes: readonly SupportedLocale[]): Promise<LocaleRegistry> => {
211
+ await preloadLocales(codes);
212
+
213
+ const registry: LocaleRegistry = {};
214
+
215
+ for (const code of codes) {
216
+ const config = localeCache.get(code);
217
+
218
+ if (config !== undefined) {
219
+ registry[code] = config;
220
+ }
221
+ }
222
+
223
+ return registry;
224
+ };
225
+
226
+ /**
227
+ * English messages dictionary - always available for fallback search.
228
+ * @internal
229
+ */
230
+ export { enMessages };
231
+
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "Trascina per spostare",
3
+ "blockSettings.clickToOpenMenu": "Clicca per aprire il menu",
4
+ "toolbox.addBelow": "Aggiungi blocco",
5
+ "toolbox.optionAddAbove": "⌥ — aggiungi sopra",
6
+ "toolbox.ctrlAddAbove": "Ctrl — aggiungi sopra",
7
+ "popover.search": "Cerca",
8
+ "popover.nothingFound": "Nessun risultato",
9
+ "popover.convertTo": "Converti in",
10
+ "toolNames.text": "Testo",
11
+ "toolNames.heading": "Titolo",
12
+ "toolNames.link": "Link",
13
+ "toolNames.bold": "Grassetto",
14
+ "toolNames.italic": "Corsivo",
15
+ "toolNames.bulletedList": "Elenco puntato",
16
+ "toolNames.numberedList": "Elenco numerato",
17
+ "toolNames.todoList": "Lista attività",
18
+ "tools.link.addLink": "Aggiungi link",
19
+ "tools.link.invalidLink": "Link non valido",
20
+ "tools.stub.error": "Errore",
21
+ "tools.stub.blockCannotBeDisplayed": "Impossibile visualizzare questo blocco",
22
+ "tools.header.heading1": "Titolo 1",
23
+ "tools.header.heading2": "Titolo 2",
24
+ "tools.header.heading3": "Titolo 3",
25
+ "tools.header.heading4": "Titolo 4",
26
+ "tools.header.heading5": "Titolo 5",
27
+ "tools.header.heading6": "Titolo 6",
28
+ "tools.list.placeholder": "Elenco",
29
+ "tools.paragraph.placeholder": "Scrivi qualcosa o premi / per selezionare",
30
+ "blockSettings.delete": "Elimina",
31
+ "a11y.dragHandle": "Trascina per spostare o clicca per il menu",
32
+ "a11y.dragHandleRole": "maniglia di trascinamento",
33
+ "a11y.dragStarted": "Trascinamento blocco",
34
+ "a11y.dragStartedMultiple": "Trascinamento di {count} blocchi",
35
+ "a11y.dropPosition": "Verrà posizionato alla posizione {position} di {total}",
36
+ "a11y.dropCancelled": "Trascinamento annullato",
37
+ "a11y.blockMoved": "Blocco spostato alla posizione {position} di {total}",
38
+ "a11y.blocksMoved": "{count} blocchi spostati alla posizione {position}",
39
+ "a11y.blockDuplicated": "Blocco duplicato alla posizione {position} di {total}",
40
+ "a11y.blocksDuplicated": "{count} blocchi duplicati a partire dalla posizione {position}",
41
+ "a11y.movedUp": "Blocco spostato in alto, posizione {position} di {total}",
42
+ "a11y.movedDown": "Blocco spostato in basso, posizione {position} di {total}",
43
+ "a11y.atTop": "Non è possibile salire oltre",
44
+ "a11y.atBottom": "Non è possibile scendere oltre"
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "ドラッグして移動",
3
+ "blockSettings.clickToOpenMenu": "クリックでメニューを開く",
4
+ "toolbox.addBelow": "ブロックを追加",
5
+ "toolbox.optionAddAbove": "⌥ 上に追加",
6
+ "toolbox.ctrlAddAbove": "Ctrl 上に追加",
7
+ "popover.search": "検索",
8
+ "popover.nothingFound": "見つかりません",
9
+ "popover.convertTo": "変換",
10
+ "toolNames.text": "テキスト",
11
+ "toolNames.heading": "見出し",
12
+ "toolNames.link": "リンク",
13
+ "toolNames.bold": "太字",
14
+ "toolNames.italic": "斜体",
15
+ "toolNames.bulletedList": "箇条書き",
16
+ "toolNames.numberedList": "番号付きリスト",
17
+ "toolNames.todoList": "やることリスト",
18
+ "tools.link.addLink": "リンクを追加",
19
+ "tools.link.invalidLink": "無効なリンク",
20
+ "tools.stub.error": "エラー",
21
+ "tools.stub.blockCannotBeDisplayed": "このブロックは表示できません",
22
+ "tools.header.heading1": "見出し 1",
23
+ "tools.header.heading2": "見出し 2",
24
+ "tools.header.heading3": "見出し 3",
25
+ "tools.header.heading4": "見出し 4",
26
+ "tools.header.heading5": "見出し 5",
27
+ "tools.header.heading6": "見出し 6",
28
+ "tools.list.placeholder": "リスト",
29
+ "tools.paragraph.placeholder": "入力するか / を押してツールを選択",
30
+ "blockSettings.delete": "削除",
31
+ "a11y.dragHandle": "ドラッグで移動、クリックでメニュー",
32
+ "a11y.dragHandleRole": "ドラッグハンドル",
33
+ "a11y.dragStarted": "ブロックをドラッグ中",
34
+ "a11y.dragStartedMultiple": "{count}個のブロックをドラッグ中",
35
+ "a11y.dropPosition": "{total}個中{position}番目に移動",
36
+ "a11y.dropCancelled": "ドラッグをキャンセルしました",
37
+ "a11y.blockMoved": "ブロックを{total}個中{position}番目に移動しました",
38
+ "a11y.blocksMoved": "{count}個のブロックを{position}番目に移動しました",
39
+ "a11y.blockDuplicated": "ブロックを{total}個中{position}番目に複製しました",
40
+ "a11y.blocksDuplicated": "{count}個のブロックを{position}番目から複製しました",
41
+ "a11y.movedUp": "ブロックを上に移動しました({total}個中{position}番目)",
42
+ "a11y.movedDown": "ブロックを下に移動しました({total}個中{position}番目)",
43
+ "a11y.atTop": "一番上のため、上に移動できません",
44
+ "a11y.atBottom": "一番下のため、下に移動できません"
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "გადაიტანეთ გადასატანად",
3
+ "blockSettings.clickToOpenMenu": "დააწკაპუნეთ მენიუს გასახსნელად",
4
+ "toolbox.addBelow": "დააწკაპუნეთ ქვემოთ დასამატებლად",
5
+ "toolbox.optionAddAbove": "Option-დაწკაპუნება ზემოთ დასამატებლად",
6
+ "toolbox.ctrlAddAbove": "Ctrl-დაწკაპუნება ზემოთ დასამატებლად",
7
+ "popover.search": "ძიება",
8
+ "popover.nothingFound": "ვერაფერი მოიძებნა",
9
+ "popover.convertTo": "გარდაქმნა",
10
+ "toolNames.text": "ტექსტი",
11
+ "toolNames.heading": "სათაური",
12
+ "toolNames.link": "ბმული",
13
+ "toolNames.bold": "მუქი",
14
+ "toolNames.italic": "დახრილი",
15
+ "toolNames.bulletedList": "მარკირებული სია",
16
+ "toolNames.numberedList": "დანომრილი სია",
17
+ "toolNames.todoList": "საქმეების სია",
18
+ "tools.link.addLink": "ბმულის დამატება",
19
+ "tools.link.invalidLink": "არასწორი ბმული",
20
+ "tools.stub.error": "შეცდომა",
21
+ "tools.stub.blockCannotBeDisplayed": "ეს ბლოკი ვერ გამოჩნდება",
22
+ "tools.header.heading1": "სათაური 1",
23
+ "tools.header.heading2": "სათაური 2",
24
+ "tools.header.heading3": "სათაური 3",
25
+ "tools.header.heading4": "სათაური 4",
26
+ "tools.header.heading5": "სათაური 5",
27
+ "tools.header.heading6": "სათაური 6",
28
+ "tools.list.placeholder": "სია",
29
+ "blockSettings.delete": "წაშლა",
30
+ "a11y.dragHandle": "გადაიტანეთ ბლოკის გადასატანად ან დააწკაპუნეთ მენიუსთვის",
31
+ "a11y.dragHandleRole": "გადატანის სახელური",
32
+ "a11y.dragStarted": "ბლოკის გადატანა",
33
+ "a11y.dragStartedMultiple": "{count} ბლოკის გადატანა",
34
+ "a11y.dropPosition": "ჩაიდება პოზიციაზე {position} {total}-დან",
35
+ "a11y.dropCancelled": "გადატანა გაუქმდა",
36
+ "a11y.blockMoved": "ბლოკი გადატანილია პოზიციაზე {position} {total}-დან",
37
+ "a11y.blocksMoved": "{count} ბლოკი გადატანილია პოზიციაზე {position}",
38
+ "a11y.blockDuplicated": "ბლოკი დუბლირებულია პოზიციაზე {position} {total}-დან",
39
+ "a11y.blocksDuplicated": "{count} ბლოკი დუბლირებულია პოზიციიდან {position}",
40
+ "a11y.movedUp": "ბლოკი გადატანილია ზემოთ პოზიციაზე {position} {total}-დან",
41
+ "a11y.movedDown": "ბლოკი გადატანილია ქვემოთ პოზიციაზე {position} {total}-დან",
42
+ "a11y.atTop": "ბლოკი ზედა პოზიციაზეა, ზემოთ გადატანა შეუძლებელია",
43
+ "a11y.atBottom": "ბლოკი ქვედა პოზიციაზეა, ქვემოთ გადატანა შეუძლებელია",
44
+ "tools.paragraph.placeholder": "დაწერეთ რამე ან დააჭირეთ / ასარჩევად"
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "អូសដើម្បីផ្លាស់ទី",
3
+ "blockSettings.clickToOpenMenu": "ចុចដើម្បីបើកម៉ឺនុយ",
4
+ "toolbox.addBelow": "ចុចដើម្បីបន្ថែមខាងក្រោម",
5
+ "toolbox.optionAddAbove": "Option-ចុចដើម្បីបន្ថែមខាងលើ",
6
+ "toolbox.ctrlAddAbove": "Ctrl-ចុចដើម្បីបន្ថែមខាងលើ",
7
+ "popover.search": "ស្វែងរក",
8
+ "popover.nothingFound": "រកមិនឃើញអ្វីទេ",
9
+ "popover.convertTo": "បំលែងទៅ",
10
+ "toolNames.text": "អត្ថបទ",
11
+ "toolNames.heading": "ចំណងជើង",
12
+ "toolNames.link": "តំណ",
13
+ "toolNames.bold": "ដិត",
14
+ "toolNames.italic": "ទ្រេត",
15
+ "toolNames.bulletedList": "បញ្ជីចំណុច",
16
+ "toolNames.numberedList": "បញ្ជីលេខ",
17
+ "toolNames.todoList": "បញ្ជីកិច្ចការ",
18
+ "tools.link.addLink": "បន្ថែមតំណ",
19
+ "tools.link.invalidLink": "តំណមិនត្រឹមត្រូវ",
20
+ "tools.stub.error": "កំហុស",
21
+ "tools.stub.blockCannotBeDisplayed": "ប្លុកនេះមិនអាចបង្ហាញបានទេ",
22
+ "tools.header.heading1": "ចំណងជើង ១",
23
+ "tools.header.heading2": "ចំណងជើង ២",
24
+ "tools.header.heading3": "ចំណងជើង ៣",
25
+ "tools.header.heading4": "ចំណងជើង ៤",
26
+ "tools.header.heading5": "ចំណងជើង ៥",
27
+ "tools.header.heading6": "ចំណងជើង ៦",
28
+ "tools.list.placeholder": "បញ្ជី",
29
+ "blockSettings.delete": "លុប",
30
+ "a11y.dragHandle": "អូសដើម្បីផ្លាស់ទីប្លុក ឬចុចសម្រាប់ម៉ឺនុយ",
31
+ "a11y.dragHandleRole": "ចំណុចទាញ",
32
+ "a11y.dragStarted": "កំពុងអូសប្លុក",
33
+ "a11y.dragStartedMultiple": "កំពុងអូសប្លុក {count}",
34
+ "a11y.dropPosition": "នឹងដាក់នៅទីតាំង {position} នៃ {total}",
35
+ "a11y.dropCancelled": "បានបោះបង់ការអូស",
36
+ "a11y.blockMoved": "ប្លុកបានផ្លាស់ទីទៅទីតាំង {position} នៃ {total}",
37
+ "a11y.blocksMoved": "ប្លុក {count} បានផ្លាស់ទីទៅទីតាំង {position}",
38
+ "a11y.blockDuplicated": "ប្លុកបានចម្លងនៅទីតាំង {position} នៃ {total}",
39
+ "a11y.blocksDuplicated": "ប្លុក {count} បានចម្លងចាប់ពីទីតាំង {position}",
40
+ "a11y.movedUp": "ប្លុកបានផ្លាស់ទីឡើងលើទៅទីតាំង {position} នៃ {total}",
41
+ "a11y.movedDown": "ប្លុកបានផ្លាស់ទីចុះក្រោមទៅទីតាំង {position} នៃ {total}",
42
+ "a11y.atTop": "ប្លុកនៅផ្នែកខាងលើ មិនអាចផ្លាស់ទីឡើងលើបានទេ",
43
+ "a11y.atBottom": "ប្លុកនៅផ្នែកខាងក្រោម មិនអាចផ្លាស់ទីចុះក្រោមបានទេ",
44
+ "tools.paragraph.placeholder": "សរសេរអ្វីមួយ ឬចុច / ដើម្បីជ្រើសរើស"
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "ಸರಿಸಲು ಎಳೆಯಿರಿ",
3
+ "blockSettings.clickToOpenMenu": "ಮೆನು ತೆರೆಯಲು ಕ್ಲಿಕ್ ಮಾಡಿ",
4
+ "toolbox.addBelow": "ಕೆಳಗೆ ಸೇರಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ",
5
+ "toolbox.optionAddAbove": "ಮೇಲೆ ಸೇರಿಸಲು Option-ಕ್ಲಿಕ್ ಮಾಡಿ",
6
+ "toolbox.ctrlAddAbove": "ಮೇಲೆ ಸೇರಿಸಲು Ctrl-ಕ್ಲಿಕ್ ಮಾಡಿ",
7
+ "popover.search": "ಹುಡುಕಿ",
8
+ "popover.nothingFound": "ಏನೂ ಕಂಡುಬಂದಿಲ್ಲ",
9
+ "popover.convertTo": "ಇದಕ್ಕೆ ಪರಿವರ್ತಿಸಿ",
10
+ "toolNames.text": "ಪಠ್ಯ",
11
+ "toolNames.heading": "ಶೀರ್ಷಿಕೆ",
12
+ "toolNames.link": "ಲಿಂಕ್",
13
+ "toolNames.bold": "ಬೋಲ್ಡ್",
14
+ "toolNames.italic": "ಇಟಾಲಿಕ್",
15
+ "toolNames.bulletedList": "ಬುಲೆಟ್ ಪಟ್ಟಿ",
16
+ "toolNames.numberedList": "ಸಂಖ್ಯಾಂಕಿತ ಪಟ್ಟಿ",
17
+ "toolNames.todoList": "ಕಾರ್ಯ ಪಟ್ಟಿ",
18
+ "tools.link.addLink": "ಲಿಂಕ್ ಸೇರಿಸಿ",
19
+ "tools.link.invalidLink": "ಅಮಾನ್ಯ ಲಿಂಕ್",
20
+ "tools.stub.error": "ದೋಷ",
21
+ "tools.stub.blockCannotBeDisplayed": "ಈ ಬ್ಲಾಕ್ ಅನ್ನು ತೋರಿಸಲಾಗುವುದಿಲ್ಲ",
22
+ "tools.header.heading1": "ಶೀರ್ಷಿಕೆ 1",
23
+ "tools.header.heading2": "ಶೀರ್ಷಿಕೆ 2",
24
+ "tools.header.heading3": "ಶೀರ್ಷಿಕೆ 3",
25
+ "tools.header.heading4": "ಶೀರ್ಷಿಕೆ 4",
26
+ "tools.header.heading5": "ಶೀರ್ಷಿಕೆ 5",
27
+ "tools.header.heading6": "ಶೀರ್ಷಿಕೆ 6",
28
+ "tools.list.placeholder": "ಪಟ್ಟಿ",
29
+ "blockSettings.delete": "ಅಳಿಸಿ",
30
+ "a11y.dragHandle": "ಬ್ಲಾಕ್ ಸರಿಸಲು ಎಳೆಯಿರಿ ಅಥವಾ ಮೆನುಗಾಗಿ ಕ್ಲಿಕ್ ಮಾಡಿ",
31
+ "a11y.dragHandleRole": "ಎಳೆಯುವ ಹಿಡಿಕೆ",
32
+ "a11y.dragStarted": "ಬ್ಲಾಕ್ ಎಳೆಯಲಾಗುತ್ತಿದೆ",
33
+ "a11y.dragStartedMultiple": "{count} ಬ್ಲಾಕ್‌ಗಳನ್ನು ಎಳೆಯಲಾಗುತ್ತಿದೆ",
34
+ "a11y.dropPosition": "{total} ರಲ್ಲಿ {position} ಸ್ಥಾನದಲ್ಲಿ ಬಿಡಲಾಗುವುದು",
35
+ "a11y.dropCancelled": "ಎಳೆಯುವಿಕೆ ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ",
36
+ "a11y.blockMoved": "ಬ್ಲಾಕ್ {total} ರಲ್ಲಿ {position} ಸ್ಥಾನಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ",
37
+ "a11y.blocksMoved": "{count} ಬ್ಲಾಕ್‌ಗಳನ್ನು {position} ಸ್ಥಾನಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ",
38
+ "a11y.blockDuplicated": "ಬ್ಲಾಕ್ {total} ರಲ್ಲಿ {position} ಸ್ಥಾನದಲ್ಲಿ ನಕಲು ಮಾಡಲಾಗಿದೆ",
39
+ "a11y.blocksDuplicated": "{count} ಬ್ಲಾಕ್‌ಗಳನ್ನು {position} ಸ್ಥಾನದಿಂದ ನಕಲು ಮಾಡಲಾಗಿದೆ",
40
+ "a11y.movedUp": "ಬ್ಲಾಕ್ {total} ರಲ್ಲಿ {position} ಸ್ಥಾನಕ್ಕೆ ಮೇಲೆ ಸರಿಸಲಾಗಿದೆ",
41
+ "a11y.movedDown": "ಬ್ಲಾಕ್ {total} ರಲ್ಲಿ {position} ಸ್ಥಾನಕ್ಕೆ ಕೆಳಗೆ ಸರಿಸಲಾಗಿದೆ",
42
+ "a11y.atTop": "ಬ್ಲಾಕ್ ಮೇಲ್ಭಾಗದಲ್ಲಿದೆ, ಮೇಲೆ ಸರಿಸಲಾಗುವುದಿಲ್ಲ",
43
+ "a11y.atBottom": "ಬ್ಲಾಕ್ ಕೆಳಭಾಗದಲ್ಲಿದೆ, ಕೆಳಗೆ ಸರಿಸಲಾಗುವುದಿಲ್ಲ",
44
+ "tools.paragraph.placeholder": "ಏನಾದರೂ ಬರೆಯಿರಿ ಅಥವಾ ಆಯ್ಕೆ ಮಾಡಲು / ಒತ್ತಿ"
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "드래그하여 이동",
3
+ "blockSettings.clickToOpenMenu": "클릭하여 메뉴 열기",
4
+ "toolbox.addBelow": "블록 추가",
5
+ "toolbox.optionAddAbove": "⌥ 위에 추가",
6
+ "toolbox.ctrlAddAbove": "Ctrl 위에 추가",
7
+ "popover.search": "검색",
8
+ "popover.nothingFound": "검색 결과 없음",
9
+ "popover.convertTo": "변환",
10
+ "toolNames.text": "텍스트",
11
+ "toolNames.heading": "제목",
12
+ "toolNames.link": "링크",
13
+ "toolNames.bold": "굵게",
14
+ "toolNames.italic": "기울임",
15
+ "toolNames.bulletedList": "글머리 기호 목록",
16
+ "toolNames.numberedList": "번호 매기기 목록",
17
+ "toolNames.todoList": "할 일 목록",
18
+ "tools.link.addLink": "링크 추가",
19
+ "tools.link.invalidLink": "잘못된 링크",
20
+ "tools.stub.error": "오류",
21
+ "tools.stub.blockCannotBeDisplayed": "이 블록을 표시할 수 없습니다",
22
+ "tools.header.heading1": "제목 1",
23
+ "tools.header.heading2": "제목 2",
24
+ "tools.header.heading3": "제목 3",
25
+ "tools.header.heading4": "제목 4",
26
+ "tools.header.heading5": "제목 5",
27
+ "tools.header.heading6": "제목 6",
28
+ "tools.list.placeholder": "목록",
29
+ "tools.paragraph.placeholder": "내용을 입력하거나 /를 눌러 도구 선택",
30
+ "blockSettings.delete": "삭제",
31
+ "a11y.dragHandle": "드래그하여 이동하거나 클릭하여 메뉴 열기",
32
+ "a11y.dragHandleRole": "드래그 핸들",
33
+ "a11y.dragStarted": "블록 드래그 중",
34
+ "a11y.dragStartedMultiple": "{count}개 블록 드래그 중",
35
+ "a11y.dropPosition": "{total}개 중 {position}번째로 이동",
36
+ "a11y.dropCancelled": "드래그 취소됨",
37
+ "a11y.blockMoved": "블록을 {total}개 중 {position}번째로 이동함",
38
+ "a11y.blocksMoved": "{count}개 블록을 {position}번째로 이동함",
39
+ "a11y.blockDuplicated": "블록을 {total}개 중 {position}번째에 복제함",
40
+ "a11y.blocksDuplicated": "{count}개 블록을 {position}번째부터 복제함",
41
+ "a11y.movedUp": "블록을 위로 이동함 ({total}개 중 {position}번째)",
42
+ "a11y.movedDown": "블록을 아래로 이동함 ({total}개 중 {position}번째)",
43
+ "a11y.atTop": "맨 위에 있어 위로 이동할 수 없음",
44
+ "a11y.atBottom": "맨 아래에 있어 아래로 이동할 수 없음"
45
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "blockSettings.dragToMove": "ڕاکێشە بۆ گواستنەوە",
3
+ "blockSettings.clickToOpenMenu": "کلیک بکە بۆ کردنەوەی مێنیو",
4
+ "toolbox.addBelow": "کلیک بکە بۆ زیادکردن لە خوارەوە",
5
+ "toolbox.optionAddAbove": "Option-کلیک بۆ زیادکردن لە سەرەوە",
6
+ "toolbox.ctrlAddAbove": "Ctrl-کلیک بۆ زیادکردن لە سەرەوە",
7
+ "popover.search": "گەڕان",
8
+ "popover.nothingFound": "هیچ نەدۆزرایەوە",
9
+ "popover.convertTo": "گۆڕین بە",
10
+ "toolNames.text": "دەق",
11
+ "toolNames.heading": "سەردێڕ",
12
+ "toolNames.link": "لینک",
13
+ "toolNames.bold": "تۆخ",
14
+ "toolNames.italic": "لار",
15
+ "toolNames.bulletedList": "لیستی خاڵدار",
16
+ "toolNames.numberedList": "لیستی ژمارەیی",
17
+ "toolNames.todoList": "لیستی کارەکان",
18
+ "tools.link.addLink": "لینک زیاد بکە",
19
+ "tools.link.invalidLink": "لینکی نادروست",
20
+ "tools.stub.error": "هەڵە",
21
+ "tools.stub.blockCannotBeDisplayed": "ئەم بلۆکە ناتوانرێت پیشان بدرێت",
22
+ "tools.header.heading1": "سەردێڕ ١",
23
+ "tools.header.heading2": "سەردێڕ ٢",
24
+ "tools.header.heading3": "سەردێڕ ٣",
25
+ "tools.header.heading4": "سەردێڕ ٤",
26
+ "tools.header.heading5": "سەردێڕ ٥",
27
+ "tools.header.heading6": "سەردێڕ ٦",
28
+ "tools.list.placeholder": "لیست",
29
+ "blockSettings.delete": "سڕینەوە",
30
+ "a11y.dragHandle": "ڕاکێشە بۆ گواستنەوەی بلۆک یان کلیک بکە بۆ مێنیو",
31
+ "a11y.dragHandleRole": "دەستگیرەی ڕاکێشان",
32
+ "a11y.dragStarted": "بلۆک دەکێشرێت",
33
+ "a11y.dragStartedMultiple": "{count} بلۆک دەکێشرێن",
34
+ "a11y.dropPosition": "دەخرێتە شوێن {position} لە {total}",
35
+ "a11y.dropCancelled": "ڕاکێشان هەڵوەشایەوە",
36
+ "a11y.blockMoved": "بلۆک گوازرایەوە بۆ شوێن {position} لە {total}",
37
+ "a11y.blocksMoved": "{count} بلۆک گوازرانەوە بۆ شوێن {position}",
38
+ "a11y.blockDuplicated": "بلۆک کۆپی کرا لە شوێن {position} لە {total}",
39
+ "a11y.blocksDuplicated": "{count} بلۆک کۆپی کران لە شوێن {position}",
40
+ "a11y.movedUp": "بلۆک چووە سەرەوە بۆ شوێن {position} لە {total}",
41
+ "a11y.movedDown": "بلۆک چووە خوارەوە بۆ شوێن {position} لە {total}",
42
+ "a11y.atTop": "بلۆک لە سەرەوەیە، ناتوانێت بچێتە سەرەوە",
43
+ "a11y.atBottom": "بلۆک لە خوارەوەیە، ناتوانێت بچێتە خوارەوە",
44
+ "tools.paragraph.placeholder": "شتیک بنووسه یان / داگرے بو هەلبژاردن"
45
+ }