@jackuait/blok 0.10.0-beta.3 → 0.10.0-beta.5
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.
- package/dist/blok.mjs +2 -2
- package/dist/chunks/{blok-CrfCy6RQ.mjs → blok-DH-WEcA8.mjs} +2213 -2200
- package/dist/chunks/{constants-BzBmIAnT.mjs → constants-Ccno9NZS.mjs} +86 -64
- package/dist/chunks/{i18next-Ch0gVA3V.mjs → i18next-G6FKbZqA.mjs} +1 -1
- package/dist/chunks/{i18next-loader-BOlOKRt8.mjs → i18next-loader-CwNimni3.mjs} +2 -2
- package/dist/chunks/{lightweight-i18n-D1n0OClP.mjs → lightweight-i18n-DWCdzAw0.mjs} +17 -1
- package/dist/{messages-D7Wofcg3.mjs → chunks/messages-1Raf1IK82.mjs} +16 -0
- package/dist/chunks/{messages-Du6j7HqD2.mjs → messages-6mikOS4D2.mjs} +16 -0
- package/dist/{messages-CyQQ8g9w2.mjs → chunks/messages-B0ffBqzr.mjs} +16 -0
- package/dist/{messages-CfaiAQHW2.mjs → chunks/messages-B2pW6jO_.mjs} +16 -0
- package/dist/{messages-4kMr3vfK2.mjs → chunks/messages-B3s2vra72.mjs} +16 -0
- package/dist/{messages-CBWUNVHy.mjs → chunks/messages-B7MIRzCa2.mjs} +16 -0
- package/dist/chunks/{messages-0Nh_GHU02.mjs → messages-BPog17132.mjs} +16 -0
- package/dist/chunks/{messages-CbXL5f99.mjs → messages-BS1nOvZ-.mjs} +16 -0
- package/dist/{messages-BCIuVjwb.mjs → chunks/messages-BW_7lfqG2.mjs} +16 -0
- package/dist/chunks/{messages-naWwXCx3.mjs → messages-BaPZuLjN.mjs} +16 -0
- package/dist/chunks/{messages-DcrkPXXn.mjs → messages-BbdNugdi.mjs} +16 -0
- package/dist/{messages-CeyO7HXV.mjs → chunks/messages-BdnSVKOw.mjs} +16 -0
- package/dist/chunks/{messages-BORQKKT9.mjs → messages-BgVEGd4c.mjs} +16 -0
- package/dist/chunks/{messages-C1pm6RWX.mjs → messages-BgsPQXfP.mjs} +16 -0
- package/dist/chunks/{messages-CYZgPXFK.mjs → messages-BkCjgGxc.mjs} +16 -0
- package/dist/{messages-DB1-0FXB.mjs → chunks/messages-BnznaKEP2.mjs} +16 -0
- package/dist/{messages-CIpXgMRr2.mjs → chunks/messages-Bpda_3PM2.mjs} +16 -0
- package/dist/{messages-D2GHT83V2.mjs → chunks/messages-BrFl5773.mjs} +16 -0
- package/dist/chunks/{messages-BLD1DC722.mjs → messages-C-b6tPad2.mjs} +16 -0
- package/dist/chunks/{messages-LiSIeruD2.mjs → messages-C11byid72.mjs} +16 -0
- package/dist/chunks/{messages-IKrYzwFq.mjs → messages-C1OqT_nL.mjs} +16 -0
- package/dist/chunks/{messages-fitmpwb3.mjs → messages-Cdx4QMR1.mjs} +16 -0
- package/dist/{messages-CLB0caVL.mjs → chunks/messages-CgRvtOEY.mjs} +16 -0
- package/dist/{messages-BxcqzUx0.mjs → chunks/messages-ClRHDxzh.mjs} +16 -0
- package/dist/{messages-DwroI9YW.mjs → chunks/messages-CljStrYi.mjs} +16 -0
- package/dist/chunks/{messages-CR48wvl32.mjs → messages-CmXADeab2.mjs} +16 -0
- package/dist/{messages-BkZDaKu6.mjs → chunks/messages-CmrMwBv3.mjs} +16 -0
- package/dist/chunks/{messages-B7Vlzmgw.mjs → messages-CpzO7KRA.mjs} +16 -0
- package/dist/{messages-DwTwecgF2.mjs → chunks/messages-Cqc-6rfh2.mjs} +16 -0
- package/dist/chunks/{messages-BN_zp4oj.mjs → messages-CrMfiGu5.mjs} +16 -0
- package/dist/{messages-BRlbE8SE.mjs → chunks/messages-Cs9XBt4T.mjs} +16 -0
- package/dist/chunks/{messages-DDM4t-j8.mjs → messages-Csvm4mtA.mjs} +16 -0
- package/dist/chunks/{messages-CuHxfDvL2.mjs → messages-Ct7AMBS82.mjs} +16 -0
- package/dist/{messages-BjEY7_jw.mjs → chunks/messages-CvfKofOP.mjs} +16 -0
- package/dist/{messages-Du0fWeyE.mjs → chunks/messages-CyNsByCY.mjs} +16 -0
- package/dist/{messages-6Cq_jyNk2.mjs → chunks/messages-Czny5pPT2.mjs} +16 -0
- package/dist/{messages-CGqRnKaM.mjs → chunks/messages-D5IgUbBD2.mjs} +16 -0
- package/dist/{messages-uP6wmMOs.mjs → chunks/messages-DA7Zk-Cy.mjs} +16 -0
- package/dist/chunks/{messages-DJ9yyqUO2.mjs → messages-DAVsuDWh2.mjs} +16 -0
- package/dist/chunks/{messages-i9ThpxZk2.mjs → messages-DBpXyvRe2.mjs} +16 -0
- package/dist/chunks/{messages-CogKhvJL.mjs → messages-DC7TX-YT.mjs} +16 -0
- package/dist/{messages-C-KPP7bC.mjs → chunks/messages-DD7BI6BK.mjs} +16 -0
- package/dist/{messages-ZMa-zmIc.mjs → chunks/messages-DHCVA7XQ.mjs} +16 -0
- package/dist/chunks/{messages-BPQA3B862.mjs → messages-DJA6fb_P2.mjs} +16 -0
- package/dist/chunks/{messages-D9SfB6MI.mjs → messages-DJkIeapn.mjs} +16 -0
- package/dist/{messages-CZkwcbV12.mjs → chunks/messages-DPykxECP2.mjs} +16 -0
- package/dist/chunks/{messages-BQvBhQem.mjs → messages-DQ5AyNCU.mjs} +16 -0
- package/dist/chunks/{messages-rxlf-Ule.mjs → messages-DR09nkcZ.mjs} +16 -0
- package/dist/chunks/{messages-B1uFbxNg.mjs → messages-DSjXen8E.mjs} +16 -0
- package/dist/chunks/{messages-OFFQT8Fg.mjs → messages-DT7fRpCy.mjs} +16 -0
- package/dist/{messages-DnNNd3RW2.mjs → chunks/messages-DUDgFEEe2.mjs} +16 -0
- package/dist/chunks/{messages-7PIvzufT.mjs → messages-Df87zXXG.mjs} +16 -0
- package/dist/chunks/{messages-CvA7Fbqf.mjs → messages-Dfpi8pDY.mjs} +16 -0
- package/dist/{messages-CXlAjnEQ.mjs → chunks/messages-Dm4YVlrm.mjs} +16 -0
- package/dist/chunks/{messages-CuJLHCj5.mjs → messages-Dplnp19q.mjs} +16 -0
- package/dist/{messages-DEfeDBuV2.mjs → chunks/messages-FHrCEJmY2.mjs} +16 -0
- package/dist/chunks/{messages-nZP1GShd.mjs → messages-ID1PHnMv.mjs} +16 -0
- package/dist/{messages-BiK5fMYF2.mjs → chunks/messages-IDEUsFhQ2.mjs} +16 -0
- package/dist/{messages-C672uqt-.mjs → chunks/messages-JQKFJo7C.mjs} +16 -0
- package/dist/{messages-DVHWIOfr2.mjs → chunks/messages-LxumrNue2.mjs} +16 -0
- package/dist/chunks/{messages-By-gACFM2.mjs → messages-R2W_rGOo2.mjs} +16 -0
- package/dist/chunks/{messages-FEjIF48t.mjs → messages-ZJ0b1C3a.mjs} +16 -0
- package/dist/{messages-nosa-xnx2.mjs → chunks/messages-d0Ky6QjR.mjs} +16 -0
- package/dist/{messages-CHaVGY89.mjs → chunks/messages-p4byLfvR.mjs} +16 -0
- package/dist/{messages-D-bnq2qy.mjs → chunks/messages-u2yxkNTE2.mjs} +16 -0
- package/dist/{messages-axsznSTn2.mjs → chunks/messages-wLSVQbsA2.mjs} +16 -0
- package/dist/chunks/{messages-DiaQNuPV.mjs → messages-xfjdrZmx.mjs} +16 -0
- package/dist/chunks/{objectSpread2-CyPxu8-u.mjs → objectSpread2-BY4mgzrQ.mjs} +1 -1
- package/dist/chunks/{tools-B6tibTzs.mjs → tools-C2_IVsQY.mjs} +2868 -1082
- package/dist/full.mjs +11 -11
- package/dist/locales.mjs +83 -67
- package/dist/{messages-BfbYJ8Wk2.mjs → messages--S8_taOd2.mjs} +16 -0
- package/dist/{chunks/messages-CkWidbwX2.mjs → messages-B-4fku2H2.mjs} +16 -0
- package/dist/{chunks/messages-Dn1ZDZUy.mjs → messages-BAcH6PtT2.mjs} +16 -0
- package/dist/{chunks/messages-2nj1xBDo.mjs → messages-BBq0M604.mjs} +16 -0
- package/dist/{messages-Dzqb5lg6.mjs → messages-BBvDbp62.mjs} +16 -0
- package/dist/{messages-kuLrhtV2.mjs → messages-BCG_evLg.mjs} +16 -0
- package/dist/{messages-DEKkIgU6.mjs → messages-BCuTVHBV.mjs} +16 -0
- package/dist/{chunks/messages-CYZL_rhV2.mjs → messages-BGsDZTQp2.mjs} +16 -0
- package/dist/{chunks/messages-cMwiuDZM.mjs → messages-BJ7BuFZi.mjs} +16 -0
- package/dist/{chunks/messages-Dl16RBg1.mjs → messages-BKjqW08U.mjs} +16 -0
- package/dist/{messages-Daza4lOM.mjs → messages-BSe3QDnQ.mjs} +16 -0
- package/dist/{chunks/messages-CDV8VcSZ2.mjs → messages-BVKZK-3t.mjs} +16 -0
- package/dist/{messages-CcPrYMHE.mjs → messages-BXI3qIos.mjs} +16 -0
- package/dist/{messages-B_6S7hBj2.mjs → messages-BcFQFcJ92.mjs} +16 -0
- package/dist/{chunks/messages-CmSsyItg.mjs → messages-Bio7KYsr2.mjs} +16 -0
- package/dist/{chunks/messages-CqdYWY192.mjs → messages-Bk984gRE2.mjs} +16 -0
- package/dist/{chunks/messages-CQgP-Fo22.mjs → messages-BmNaAyKS.mjs} +16 -0
- package/dist/{messages-DbPt9d2U.mjs → messages-Bo_FUvVH.mjs} +16 -0
- package/dist/{chunks/messages-x6GyZWWT.mjs → messages-BokEflKa.mjs} +16 -0
- package/dist/{chunks/messages-C9qPNbrJ2.mjs → messages-BtxaN-xx.mjs} +16 -0
- package/dist/{messages-6edZhK922.mjs → messages-BvgTQLf72.mjs} +16 -0
- package/dist/{chunks/messages-BVl-X2wo2.mjs → messages-BvgXeMSL2.mjs} +16 -0
- package/dist/{messages-BBauvpFc.mjs → messages-BywbKcPC.mjs} +16 -0
- package/dist/{chunks/messages-D06U2QNl2.mjs → messages-C30Vz-UZ2.mjs} +16 -0
- package/dist/{messages-BwyQiBdm2.mjs → messages-C5XPUD9T2.mjs} +16 -0
- package/dist/{chunks/messages-BivhofAQ2.mjs → messages-C6OJvnJg2.mjs} +16 -0
- package/dist/{chunks/messages-D6ZvH6hX.mjs → messages-C6Y4Jv2N.mjs} +16 -0
- package/dist/{messages-DaFDdCrr.mjs → messages-CBdQ3XP9.mjs} +16 -0
- package/dist/{chunks/messages-KihEeXdr.mjs → messages-CBzd_x7H.mjs} +16 -0
- package/dist/{messages-CsVZUVra.mjs → messages-CHJ5SOZI.mjs} +16 -0
- package/dist/{messages-us2JotS-2.mjs → messages-CM5fsPo02.mjs} +16 -0
- package/dist/{chunks/messages-DjhgPQtb.mjs → messages-CVcQD-9u.mjs} +16 -0
- package/dist/{messages-BQi_l2vs.mjs → messages-CYX48nfg.mjs} +16 -0
- package/dist/{chunks/messages-BF8c-lMm.mjs → messages-Ccd587Yn.mjs} +16 -0
- package/dist/{chunks/messages-5WyxUYVR2.mjs → messages-CdlsTFB1.mjs} +16 -0
- package/dist/{messages-ke15helG2.mjs → messages-CgzbJ8_l2.mjs} +16 -0
- package/dist/{messages-D1-_eTfM.mjs → messages-CjmSrt1D.mjs} +16 -0
- package/dist/{chunks/messages-C7YpgZ9m.mjs → messages-CqkRG9mH.mjs} +16 -0
- package/dist/{messages-Dtw27ih4.mjs → messages-D3cAcyzj.mjs} +16 -0
- package/dist/{messages-CLN3oL77.mjs → messages-DA-o8X3A.mjs} +16 -0
- package/dist/{chunks/messages-BtZ8oQXS.mjs → messages-DD5pW0zJ.mjs} +16 -0
- package/dist/{chunks/messages-A3Z4jxwt2.mjs → messages-DIRha_gg2.mjs} +16 -0
- package/dist/{chunks/messages-rnd6qiJ12.mjs → messages-DJKLtW7u.mjs} +16 -0
- package/dist/{messages-h_VN1Kyo2.mjs → messages-DJT4Bt_02.mjs} +16 -0
- package/dist/{chunks/messages-D3hNTep_.mjs → messages-DOTJ2NvJ.mjs} +16 -0
- package/dist/{chunks/messages-B18MZnaY.mjs → messages-DUBHHfEt.mjs} +16 -0
- package/dist/{chunks/messages-92ma9RJD2.mjs → messages-DV9e1DW7.mjs} +16 -0
- package/dist/{chunks/messages-DQUUtL5v.mjs → messages-DVQNjdPk.mjs} +16 -0
- package/dist/{messages-DflAKRLd.mjs → messages-DZEcrbmH.mjs} +16 -0
- package/dist/{messages-BLjz6V7y2.mjs → messages-DbxbxUiK2.mjs} +16 -0
- package/dist/{messages-QkGAxuVC2.mjs → messages-Dcyrzdxa2.mjs} +16 -0
- package/dist/{chunks/messages-DBZ-uuAV.mjs → messages-Dddxv8-f2.mjs} +16 -0
- package/dist/{messages-DVILiJw52.mjs → messages-DjJQoYvP2.mjs} +16 -0
- package/dist/{messages-B-lXqB1z2.mjs → messages-Dkg99bfr2.mjs} +16 -0
- package/dist/{messages-CCBgCmyq.mjs → messages-DnatBKPm.mjs} +16 -0
- package/dist/{messages-Dn-khi3a.mjs → messages-DqyqEw1_.mjs} +16 -0
- package/dist/{chunks/messages-D4QXMtW52.mjs → messages-DtrSrdfE2.mjs} +16 -0
- package/dist/{messages-BHIdzfAS2.mjs → messages-JhoVMjfX2.mjs} +16 -0
- package/dist/{messages-YlWV9cSl.mjs → messages-eTourT12.mjs} +16 -0
- package/dist/{messages-DzlmoWqQ.mjs → messages-fLi0P2dP.mjs} +16 -0
- package/dist/{messages-C-v50b4r.mjs → messages-hTpeKUaW.mjs} +16 -0
- package/dist/{chunks/messages-16UmLAWZ2.mjs → messages-i4S6q64n2.mjs} +16 -0
- package/dist/{messages-DP9PhNTo.mjs → messages-pgPcitDH.mjs} +16 -0
- package/dist/{chunks/messages-D5iRrf9M.mjs → messages-tK67CBqn.mjs} +16 -0
- package/dist/{chunks/messages-BTyEo5Kb.mjs → messages-tsHpMdDT2.mjs} +16 -0
- package/dist/{chunks/messages-Ct_H_5cB2.mjs → messages-upqrRZQH2.mjs} +16 -0
- package/dist/{messages-CyZZ10br.mjs → messages-xEI8gEDK.mjs} +16 -0
- package/dist/react.mjs +3 -3
- package/dist/tools.mjs +3 -3
- package/dist/vendor.LICENSE.txt +136 -1
- package/package.json +2 -1
- package/src/components/block/style-manager.ts +1 -1
- package/src/components/i18n/locales/am/messages.json +16 -0
- package/src/components/i18n/locales/ar/messages.json +16 -0
- package/src/components/i18n/locales/az/messages.json +16 -0
- package/src/components/i18n/locales/bg/messages.json +16 -0
- package/src/components/i18n/locales/bn/messages.json +16 -0
- package/src/components/i18n/locales/bs/messages.json +16 -0
- package/src/components/i18n/locales/cs/messages.json +16 -0
- package/src/components/i18n/locales/da/messages.json +16 -0
- package/src/components/i18n/locales/de/messages.json +16 -0
- package/src/components/i18n/locales/dv/messages.json +16 -0
- package/src/components/i18n/locales/el/messages.json +16 -0
- package/src/components/i18n/locales/en/messages.json +16 -0
- package/src/components/i18n/locales/es/messages.json +16 -0
- package/src/components/i18n/locales/et/messages.json +16 -0
- package/src/components/i18n/locales/fa/messages.json +16 -0
- package/src/components/i18n/locales/fi/messages.json +16 -0
- package/src/components/i18n/locales/fil/messages.json +16 -0
- package/src/components/i18n/locales/fr/messages.json +16 -0
- package/src/components/i18n/locales/gu/messages.json +16 -0
- package/src/components/i18n/locales/he/messages.json +16 -0
- package/src/components/i18n/locales/hi/messages.json +16 -0
- package/src/components/i18n/locales/hr/messages.json +16 -0
- package/src/components/i18n/locales/hu/messages.json +16 -0
- package/src/components/i18n/locales/hy/messages.json +16 -0
- package/src/components/i18n/locales/id/messages.json +16 -0
- package/src/components/i18n/locales/it/messages.json +16 -0
- package/src/components/i18n/locales/ja/messages.json +16 -0
- package/src/components/i18n/locales/ka/messages.json +16 -0
- package/src/components/i18n/locales/km/messages.json +16 -0
- package/src/components/i18n/locales/kn/messages.json +16 -0
- package/src/components/i18n/locales/ko/messages.json +16 -0
- package/src/components/i18n/locales/ku/messages.json +16 -0
- package/src/components/i18n/locales/lo/messages.json +16 -0
- package/src/components/i18n/locales/lt/messages.json +16 -0
- package/src/components/i18n/locales/lv/messages.json +16 -0
- package/src/components/i18n/locales/mk/messages.json +16 -0
- package/src/components/i18n/locales/ml/messages.json +16 -0
- package/src/components/i18n/locales/mn/messages.json +16 -0
- package/src/components/i18n/locales/mr/messages.json +16 -0
- package/src/components/i18n/locales/ms/messages.json +16 -0
- package/src/components/i18n/locales/my/messages.json +16 -0
- package/src/components/i18n/locales/ne/messages.json +16 -0
- package/src/components/i18n/locales/nl/messages.json +16 -0
- package/src/components/i18n/locales/no/messages.json +16 -0
- package/src/components/i18n/locales/pa/messages.json +16 -0
- package/src/components/i18n/locales/pl/messages.json +16 -0
- package/src/components/i18n/locales/ps/messages.json +16 -0
- package/src/components/i18n/locales/pt/messages.json +16 -0
- package/src/components/i18n/locales/ro/messages.json +16 -0
- package/src/components/i18n/locales/ru/messages.json +16 -0
- package/src/components/i18n/locales/sd/messages.json +16 -0
- package/src/components/i18n/locales/si/messages.json +16 -0
- package/src/components/i18n/locales/sk/messages.json +16 -0
- package/src/components/i18n/locales/sl/messages.json +16 -0
- package/src/components/i18n/locales/sq/messages.json +16 -0
- package/src/components/i18n/locales/sr/messages.json +16 -0
- package/src/components/i18n/locales/sv/messages.json +16 -0
- package/src/components/i18n/locales/sw/messages.json +16 -0
- package/src/components/i18n/locales/ta/messages.json +16 -0
- package/src/components/i18n/locales/te/messages.json +16 -0
- package/src/components/i18n/locales/th/messages.json +16 -0
- package/src/components/i18n/locales/tr/messages.json +16 -0
- package/src/components/i18n/locales/ug/messages.json +16 -0
- package/src/components/i18n/locales/uk/messages.json +16 -0
- package/src/components/i18n/locales/ur/messages.json +16 -0
- package/src/components/i18n/locales/vi/messages.json +16 -0
- package/src/components/i18n/locales/yi/messages.json +16 -0
- package/src/components/i18n/locales/zh/messages.json +16 -0
- package/src/components/icons/index.ts +56 -0
- package/src/components/modules/api/tools.ts +19 -0
- package/src/components/modules/blockEvents/composers/keyboardNavigation.ts +5 -5
- package/src/components/modules/blockManager/blockManager.ts +11 -0
- package/src/components/modules/blockManager/event-binder.ts +12 -1
- package/src/components/modules/themeManager.ts +3 -1
- package/src/components/modules/toolbar/blockSettings.ts +0 -1
- package/src/components/modules/toolbar/inline/index.ts +0 -3
- package/src/components/modules/uiControllers/controllers/keyboard.ts +29 -0
- package/src/components/modules/uiControllers/controllers/selection.ts +14 -2
- package/src/components/ui/toolbox.ts +0 -1
- package/src/components/utils/popover/popover-position.ts +4 -2
- package/src/styles/main.css +1139 -0
- package/src/tools/callout/constants.ts +2 -1
- package/src/tools/database/database-backend-sync.ts +101 -0
- package/src/tools/database/database-board-view.ts +301 -0
- package/src/tools/database/database-card-drag.ts +306 -0
- package/src/tools/database/database-card-drawer.ts +546 -0
- package/src/tools/database/database-column-controls.ts +46 -0
- package/src/tools/database/database-column-drag.ts +262 -0
- package/src/tools/database/database-keyboard.ts +35 -0
- package/src/tools/database/database-list-row-drag.ts +245 -0
- package/src/tools/database/database-list-view.ts +333 -0
- package/src/tools/database/database-model.ts +246 -0
- package/src/tools/database/database-property-type-popover.ts +108 -0
- package/src/tools/database/database-tab-bar.ts +532 -0
- package/src/tools/database/database-view-popover.ts +109 -0
- package/src/tools/database/database-view-renderer.ts +25 -0
- package/src/tools/database/index.ts +948 -0
- package/src/tools/database/types.ts +144 -0
- package/src/tools/index.ts +2 -0
- package/types/api/tools.d.ts +18 -0
- package/types/index.d.ts +16 -0
- package/types/tools/database.d.ts +145 -0
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "รายการแบบตัวเลข",
|
|
19
19
|
"toolNames.todoList": "รายการสิ่งที่ต้องทำ",
|
|
20
20
|
"toolNames.toggleList": "รายการพับได้",
|
|
21
|
+
"toolNames.board": "บอร์ด",
|
|
22
|
+
"toolNames.database": "ฐานข้อมูล",
|
|
21
23
|
"tools.link.addLink": "เพิ่มลิงก์",
|
|
22
24
|
"tools.link.invalidLink": "ลิงก์ไม่ถูกต้อง",
|
|
23
25
|
"tools.marker.textColor": "ข้อความ",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "วัตถุ",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "สัญลักษณ์",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "ธง",
|
|
146
|
+
"tools.database.addCard": "เพิ่มการ์ด",
|
|
147
|
+
"tools.database.newPage": "หน้าใหม่",
|
|
148
|
+
"tools.database.addColumn": "เพิ่มคอลัมน์",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "หน้าเปล่า",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "คอลัมน์",
|
|
151
|
+
"tools.database.deleteCard": "ลบการ์ด",
|
|
152
|
+
"tools.database.deleteColumn": "ลบคอลัมน์",
|
|
153
|
+
"tools.database.emptyColumn": "ไม่มีการ์ด",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "หน้าเปล่า",
|
|
155
|
+
"tools.database.addRow": "เพิ่มแถว",
|
|
156
|
+
"tools.database.newRow": "แถวใหม่",
|
|
157
|
+
"tools.database.openRow": "เปิดแถว",
|
|
158
|
+
"tools.database.deleteRow": "ลบแถว",
|
|
159
|
+
"tools.database.renameColumn": "เปลี่ยนชื่อคอลัมน์",
|
|
144
160
|
"tools.callout.color": "สี",
|
|
145
161
|
"tools.callout.colorDefault": "ค่าเริ่มต้น",
|
|
146
162
|
"tools.callout.colorGray": "สีเทา",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "Numaralı liste",
|
|
19
19
|
"toolNames.todoList": "Yapılacaklar listesi",
|
|
20
20
|
"toolNames.toggleList": "Açılır liste",
|
|
21
|
+
"toolNames.board": "Pano",
|
|
22
|
+
"toolNames.database": "Veritabanı",
|
|
21
23
|
"tools.link.addLink": "Bağlantı ekle",
|
|
22
24
|
"tools.link.invalidLink": "Geçersiz bağlantı",
|
|
23
25
|
"tools.marker.textColor": "Metin",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "Nesneler",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "Semboller",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "Bayraklar",
|
|
146
|
+
"tools.database.addCard": "Kart ekle",
|
|
147
|
+
"tools.database.newPage": "Yeni sayfa",
|
|
148
|
+
"tools.database.addColumn": "Sütun ekle",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "Boş sayfa",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "Sütun",
|
|
151
|
+
"tools.database.deleteCard": "Kartı sil",
|
|
152
|
+
"tools.database.deleteColumn": "Sütunu sil",
|
|
153
|
+
"tools.database.emptyColumn": "Kart yok",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "Boş sayfa",
|
|
155
|
+
"tools.database.addRow": "Satır ekle",
|
|
156
|
+
"tools.database.newRow": "Yeni satır",
|
|
157
|
+
"tools.database.openRow": "Satırı aç",
|
|
158
|
+
"tools.database.deleteRow": "Satırı sil",
|
|
159
|
+
"tools.database.renameColumn": "Sütunu yeniden adlandır",
|
|
144
160
|
"tools.callout.color": "Renk",
|
|
145
161
|
"tools.callout.colorDefault": "Varsayılan",
|
|
146
162
|
"tools.callout.colorGray": "Gri",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "نومۇرلۇق تىزىملىك",
|
|
19
19
|
"toolNames.todoList": "ۋەزىپە تىزىملىكى",
|
|
20
20
|
"toolNames.toggleList": "يىغىلما تىزىملىك",
|
|
21
|
+
"toolNames.board": "تاختا",
|
|
22
|
+
"toolNames.database": "سانداق",
|
|
21
23
|
"tools.link.addLink": "ئۇلانما قوشۇش",
|
|
22
24
|
"tools.link.invalidLink": "ئىناۋەتسىز ئۇلانما",
|
|
23
25
|
"tools.marker.textColor": "تېكىست",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "نەرسىلەر",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "بەلگىلەر",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "بايراقلار",
|
|
146
|
+
"tools.database.addCard": "كارتا قوشۇش",
|
|
147
|
+
"tools.database.newPage": "يېڭى بەت",
|
|
148
|
+
"tools.database.addColumn": "ئىستون قوشۇش",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "بوش بەت",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "ئىستون",
|
|
151
|
+
"tools.database.deleteCard": "كارتىنى ئۆچۈرۈش",
|
|
152
|
+
"tools.database.deleteColumn": "ئىستوننى ئۆچۈرۈش",
|
|
153
|
+
"tools.database.emptyColumn": "كارتا يوق",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "بوش بەت",
|
|
155
|
+
"tools.database.addRow": "قۇر قوشۇش",
|
|
156
|
+
"tools.database.newRow": "يېڭى قۇر",
|
|
157
|
+
"tools.database.openRow": "قۇرنى ئېچىش",
|
|
158
|
+
"tools.database.deleteRow": "قۇرنى ئۆچۈرۈش",
|
|
159
|
+
"tools.database.renameColumn": "ئىستون نامىنى ئۆزگەرتىش",
|
|
144
160
|
"tools.callout.color": "رەڭ",
|
|
145
161
|
"tools.callout.colorDefault": "سۈكۈتتىكى",
|
|
146
162
|
"tools.callout.colorGray": "كۈلرەڭ",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "Нумерований список",
|
|
19
19
|
"toolNames.todoList": "Список справ",
|
|
20
20
|
"toolNames.toggleList": "Згортний список",
|
|
21
|
+
"toolNames.board": "Дошка",
|
|
22
|
+
"toolNames.database": "База даних",
|
|
21
23
|
"tools.link.addLink": "Додати посилання",
|
|
22
24
|
"tools.link.invalidLink": "Недійсне посилання",
|
|
23
25
|
"tools.marker.textColor": "Текст",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "Об'єкти",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "Символи",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "Прапори",
|
|
146
|
+
"tools.database.addCard": "Додати картку",
|
|
147
|
+
"tools.database.newPage": "Нова сторінка",
|
|
148
|
+
"tools.database.addColumn": "Додати стовпець",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "Порожня сторінка",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "Стовпець",
|
|
151
|
+
"tools.database.deleteCard": "Видалити картку",
|
|
152
|
+
"tools.database.deleteColumn": "Видалити стовпець",
|
|
153
|
+
"tools.database.emptyColumn": "Немає карток",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "Порожня сторінка",
|
|
155
|
+
"tools.database.addRow": "Додати рядок",
|
|
156
|
+
"tools.database.newRow": "Новий рядок",
|
|
157
|
+
"tools.database.openRow": "Відкрити рядок",
|
|
158
|
+
"tools.database.deleteRow": "Видалити рядок",
|
|
159
|
+
"tools.database.renameColumn": "Перейменувати стовпець",
|
|
144
160
|
"tools.callout.color": "Колір",
|
|
145
161
|
"tools.callout.colorDefault": "за замовчуванням",
|
|
146
162
|
"tools.callout.colorGray": "Сірий",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "نمبر فہرست",
|
|
19
19
|
"toolNames.todoList": "کام کی فہرست",
|
|
20
20
|
"toolNames.toggleList": "ٹوگل فہرست",
|
|
21
|
+
"toolNames.board": "بورڈ",
|
|
22
|
+
"toolNames.database": "ڈیٹابیس",
|
|
21
23
|
"tools.link.addLink": "لنک شامل کریں",
|
|
22
24
|
"tools.link.invalidLink": "غلط لنک",
|
|
23
25
|
"tools.marker.textColor": "متن",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "اشیاء",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "علامات",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "جھنڈے",
|
|
146
|
+
"tools.database.addCard": "کارڈ شامل کریں",
|
|
147
|
+
"tools.database.newPage": "نیا صفحہ",
|
|
148
|
+
"tools.database.addColumn": "کالم شامل کریں",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "خالی صفحہ",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "کالم",
|
|
151
|
+
"tools.database.deleteCard": "کارڈ حذف کریں",
|
|
152
|
+
"tools.database.deleteColumn": "کالم حذف کریں",
|
|
153
|
+
"tools.database.emptyColumn": "کوئی کارڈ نہیں",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "خالی صفحہ",
|
|
155
|
+
"tools.database.addRow": "قطار شامل کریں",
|
|
156
|
+
"tools.database.newRow": "نئی قطار",
|
|
157
|
+
"tools.database.openRow": "قطار کھولیں",
|
|
158
|
+
"tools.database.deleteRow": "قطار حذف کریں",
|
|
159
|
+
"tools.database.renameColumn": "کالم کا نام بدلیں",
|
|
144
160
|
"tools.callout.color": "رنگ",
|
|
145
161
|
"tools.callout.colorDefault": "طے شدہ",
|
|
146
162
|
"tools.callout.colorGray": "سرمئی",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "Danh sách đánh số",
|
|
19
19
|
"toolNames.todoList": "Danh sách việc cần làm",
|
|
20
20
|
"toolNames.toggleList": "Danh sách thu gọn",
|
|
21
|
+
"toolNames.board": "Bảng",
|
|
22
|
+
"toolNames.database": "Cơ sở dữ liệu",
|
|
21
23
|
"tools.link.addLink": "Thêm liên kết",
|
|
22
24
|
"tools.link.invalidLink": "Liên kết không hợp lệ",
|
|
23
25
|
"tools.marker.textColor": "Chữ",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "Đồ vật",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "Biểu tượng",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "Cờ",
|
|
146
|
+
"tools.database.addCard": "Thêm thẻ",
|
|
147
|
+
"tools.database.newPage": "Trang mới",
|
|
148
|
+
"tools.database.addColumn": "Thêm cột",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "Trang trống",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "Cột",
|
|
151
|
+
"tools.database.deleteCard": "Xóa thẻ",
|
|
152
|
+
"tools.database.deleteColumn": "Xóa cột",
|
|
153
|
+
"tools.database.emptyColumn": "Không có thẻ",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "Trang trống",
|
|
155
|
+
"tools.database.addRow": "Thêm hàng",
|
|
156
|
+
"tools.database.newRow": "Hàng mới",
|
|
157
|
+
"tools.database.openRow": "Mở hàng",
|
|
158
|
+
"tools.database.deleteRow": "Xóa hàng",
|
|
159
|
+
"tools.database.renameColumn": "Đổi tên cột",
|
|
144
160
|
"tools.callout.color": "Màu",
|
|
145
161
|
"tools.callout.colorDefault": "Mặc định",
|
|
146
162
|
"tools.callout.colorGray": "Xám",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "נומעריקע ליסטע",
|
|
19
19
|
"toolNames.todoList": "צו-טאָן ליסטע",
|
|
20
20
|
"toolNames.toggleList": "אויפֿקלאַפּ ליסטע",
|
|
21
|
+
"toolNames.board": "טאָוול",
|
|
22
|
+
"toolNames.database": "דאַטאַבאַנק",
|
|
21
23
|
"tools.link.addLink": "צולייגן לינק",
|
|
22
24
|
"tools.link.invalidLink": "אומגילטיקער לינק",
|
|
23
25
|
"tools.marker.textColor": "טעקסט",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "זאַכן",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "סימבאָלן",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "פֿאָנען",
|
|
146
|
+
"tools.database.addCard": "צוגעבן קאַרטל",
|
|
147
|
+
"tools.database.newPage": "נייע בלאט",
|
|
148
|
+
"tools.database.addColumn": "צוגעבן שפּאַלט",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "ליידיק בלאַט",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "שפּאַלט",
|
|
151
|
+
"tools.database.deleteCard": "אויסמעקן קאַרטל",
|
|
152
|
+
"tools.database.deleteColumn": "אויסמעקן שפּאַלט",
|
|
153
|
+
"tools.database.emptyColumn": "קיין קארטן",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "ליידיק בלאַט",
|
|
155
|
+
"tools.database.addRow": "צוגעבן שורה",
|
|
156
|
+
"tools.database.newRow": "נייע שורה",
|
|
157
|
+
"tools.database.openRow": "עפֿענען שורה",
|
|
158
|
+
"tools.database.deleteRow": "אויסמעקן שורה",
|
|
159
|
+
"tools.database.renameColumn": "באַנענען שפּאַלט",
|
|
144
160
|
"tools.callout.color": "קאָליר",
|
|
145
161
|
"tools.callout.colorDefault": "שטאַנדאַרד",
|
|
146
162
|
"tools.callout.colorGray": "גרוי",
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"toolNames.numberedList": "有序列表",
|
|
19
19
|
"toolNames.todoList": "清单",
|
|
20
20
|
"toolNames.toggleList": "折叠列表",
|
|
21
|
+
"toolNames.board": "看板",
|
|
22
|
+
"toolNames.database": "数据库",
|
|
21
23
|
"tools.link.addLink": "添加链接",
|
|
22
24
|
"tools.link.invalidLink": "链接无效",
|
|
23
25
|
"tools.marker.textColor": "文字",
|
|
@@ -141,6 +143,20 @@
|
|
|
141
143
|
"tools.callout.emojiCategoryObjects": "物品",
|
|
142
144
|
"tools.callout.emojiCategorySymbols": "符号",
|
|
143
145
|
"tools.callout.emojiCategoryFlags": "旗帜",
|
|
146
|
+
"tools.database.addCard": "添加卡片",
|
|
147
|
+
"tools.database.newPage": "新页面",
|
|
148
|
+
"tools.database.addColumn": "添加列",
|
|
149
|
+
"tools.database.cardTitlePlaceholder": "空白页面",
|
|
150
|
+
"tools.database.columnTitlePlaceholder": "列",
|
|
151
|
+
"tools.database.deleteCard": "删除卡片",
|
|
152
|
+
"tools.database.deleteColumn": "删除列",
|
|
153
|
+
"tools.database.emptyColumn": "没有卡片",
|
|
154
|
+
"tools.database.rowTitlePlaceholder": "空白页面",
|
|
155
|
+
"tools.database.addRow": "添加行",
|
|
156
|
+
"tools.database.newRow": "新行",
|
|
157
|
+
"tools.database.openRow": "打开行",
|
|
158
|
+
"tools.database.deleteRow": "删除行",
|
|
159
|
+
"tools.database.renameColumn": "重命名列",
|
|
144
160
|
"tools.callout.color": "颜色",
|
|
145
161
|
"tools.callout.colorDefault": "默认",
|
|
146
162
|
"tools.callout.colorGray": "灰色",
|
|
@@ -370,6 +370,13 @@ export const IconCopy = `
|
|
|
370
370
|
</svg>
|
|
371
371
|
`;
|
|
372
372
|
|
|
373
|
+
// Pencil/Rename icon
|
|
374
|
+
export const IconPencil = `
|
|
375
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
376
|
+
<path d="M12.5 5.5l2 2M4.5 13.5l8-8 2 2-8 8H4.5v-2z" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
|
|
377
|
+
</svg>
|
|
378
|
+
`;
|
|
379
|
+
|
|
373
380
|
// Trash/Delete icon
|
|
374
381
|
export const IconTrash = `
|
|
375
382
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -547,3 +554,52 @@ export const IconEmojiFlag = `
|
|
|
547
554
|
<path d="M5 3c2 0 3 1.5 5 1.5S14 3 16 3v8c-2 0-3 1.5-5 1.5S7 11 5 11" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
|
|
548
555
|
</svg>
|
|
549
556
|
`;
|
|
557
|
+
|
|
558
|
+
export const IconDatabase = `
|
|
559
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
560
|
+
<ellipse cx="10" cy="5.5" rx="6" ry="2.5" stroke="currentColor" stroke-width="1.25"/>
|
|
561
|
+
<path d="M4 5.5v4c0 1.38 2.69 2.5 6 2.5s6-1.12 6-2.5v-4" stroke="currentColor" stroke-width="1.25"/>
|
|
562
|
+
<path d="M4 9.5v4c0 1.38 2.69 2.5 6 2.5s6-1.12 6-2.5v-4" stroke="currentColor" stroke-width="1.25"/>
|
|
563
|
+
</svg>
|
|
564
|
+
`;
|
|
565
|
+
|
|
566
|
+
export const IconBoard = `
|
|
567
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
568
|
+
<rect x="3" y="4" width="14" height="12" rx="1.5" stroke="currentColor" stroke-width="1.25"/>
|
|
569
|
+
<path d="M7.5 4v12M12.5 4v12" stroke="currentColor" stroke-width="1.25"/>
|
|
570
|
+
<rect x="4.5" y="6" width="1.5" height="2" rx="0.5" fill="currentColor"/>
|
|
571
|
+
<rect x="4.5" y="9" width="1.5" height="2" rx="0.5" fill="currentColor"/>
|
|
572
|
+
<rect x="9" y="6" width="1.5" height="2" rx="0.5" fill="currentColor"/>
|
|
573
|
+
<rect x="14" y="6" width="1.5" height="2" rx="0.5" fill="currentColor"/>
|
|
574
|
+
</svg>
|
|
575
|
+
`;
|
|
576
|
+
|
|
577
|
+
export const IconGallery = `
|
|
578
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
579
|
+
<rect x="3" y="4" width="6" height="5" rx="1" stroke="currentColor" stroke-width="1.25"/>
|
|
580
|
+
<rect x="11" y="4" width="6" height="5" rx="1" stroke="currentColor" stroke-width="1.25"/>
|
|
581
|
+
<rect x="3" y="11" width="6" height="5" rx="1" stroke="currentColor" stroke-width="1.25"/>
|
|
582
|
+
<rect x="11" y="11" width="6" height="5" rx="1" stroke="currentColor" stroke-width="1.25"/>
|
|
583
|
+
</svg>
|
|
584
|
+
`;
|
|
585
|
+
|
|
586
|
+
export const IconList = `
|
|
587
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
588
|
+
<circle cx="4.5" cy="6.5" r="1" fill="currentColor"/>
|
|
589
|
+
<circle cx="4.5" cy="10" r="1" fill="currentColor"/>
|
|
590
|
+
<circle cx="4.5" cy="13.5" r="1" fill="currentColor"/>
|
|
591
|
+
<path d="M7.5 6.5h9M7.5 10h9M7.5 13.5h9" stroke="currentColor" stroke-width="1.25" stroke-linecap="round"/>
|
|
592
|
+
</svg>
|
|
593
|
+
`;
|
|
594
|
+
|
|
595
|
+
// Calendar icon (date property type)
|
|
596
|
+
export const IconCalendar = `
|
|
597
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
598
|
+
<rect x="3" y="4.5" width="14" height="12" rx="1.5" stroke="currentColor" stroke-width="1.25"/>
|
|
599
|
+
<path d="M3 8.5h14" stroke="currentColor" stroke-width="1.25" stroke-linecap="round"/>
|
|
600
|
+
<path d="M7 3v3M13 3v3" stroke="currentColor" stroke-width="1.25" stroke-linecap="round"/>
|
|
601
|
+
<circle cx="7" cy="12" r="1" fill="currentColor"/>
|
|
602
|
+
<circle cx="10" cy="12" r="1" fill="currentColor"/>
|
|
603
|
+
<circle cx="13" cy="12" r="1" fill="currentColor"/>
|
|
604
|
+
</svg>
|
|
605
|
+
`;
|
|
@@ -11,6 +11,25 @@ export class ToolsAPI extends Module {
|
|
|
11
11
|
public get methods(): ToolsAPIInterface {
|
|
12
12
|
return {
|
|
13
13
|
getBlockTools: () => Array.from(this.Blok.Tools.blockTools.values()),
|
|
14
|
+
getToolsConfig: () => {
|
|
15
|
+
const result: ReturnType<ToolsAPIInterface['getToolsConfig']> = {
|
|
16
|
+
tools: this.config.tools,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
if (this.config.inlineToolbar !== undefined) {
|
|
20
|
+
result.inlineToolbar = this.config.inlineToolbar;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (this.config.tunes !== undefined) {
|
|
24
|
+
result.tunes = this.config.tunes;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (this.config.theme !== undefined) {
|
|
28
|
+
result.theme = this.config.theme;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return result;
|
|
32
|
+
},
|
|
14
33
|
};
|
|
15
34
|
}
|
|
16
35
|
}
|
|
@@ -91,14 +91,14 @@ export class KeyboardNavigation extends BlockEventComposer {
|
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
event.shiftKey ? Caret.navigatePrevious(true) : Caret.navigateNext(true);
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
97
|
+
* Always prevent default Tab behaviour to keep focus inside the editor.
|
|
98
|
+
* Without this, pressing Tab on the last block of a nested editor (e.g. a
|
|
99
|
+
* database card drawer) lets the browser move focus out of the editor entirely.
|
|
98
100
|
*/
|
|
99
|
-
|
|
100
|
-
event.preventDefault();
|
|
101
|
-
}
|
|
101
|
+
event.preventDefault();
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
/**
|
|
@@ -300,6 +300,17 @@ export class BlockManager extends Module {
|
|
|
300
300
|
eventsDispatcher: this.eventsDispatcher,
|
|
301
301
|
getBlockIndex: (block) => this.repository.getBlockIndex(block),
|
|
302
302
|
onBlockMutated: this.blockDidMutated.bind(this),
|
|
303
|
+
shouldHandleEvent: (event: Event) => {
|
|
304
|
+
const target = event.target;
|
|
305
|
+
|
|
306
|
+
if (target instanceof Element) {
|
|
307
|
+
const closestEditor = target.closest('[data-blok-testid="blok-editor"]');
|
|
308
|
+
|
|
309
|
+
return closestEditor === null || closestEditor === this.Blok.UI.nodes.wrapper;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
return true;
|
|
313
|
+
},
|
|
303
314
|
});
|
|
304
315
|
|
|
305
316
|
// Initialize factory
|
|
@@ -51,6 +51,8 @@ export interface BlockEventBinderDependencies {
|
|
|
51
51
|
getBlockIndex: (block: Block) => number;
|
|
52
52
|
/** Callback when block is mutated */
|
|
53
53
|
onBlockMutated: BlockMutationCallback;
|
|
54
|
+
/** Check if an event should be handled by this editor instance */
|
|
55
|
+
shouldHandleEvent?: (event: Event) => boolean;
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
/**
|
|
@@ -76,22 +78,31 @@ export class BlockEventBinder {
|
|
|
76
78
|
* @param block - Block to bind events to
|
|
77
79
|
*/
|
|
78
80
|
public bindBlockEvents(block: Block): void {
|
|
79
|
-
const { blockEvents, listeners, onBlockMutated, getBlockIndex } = this.dependencies;
|
|
81
|
+
const { blockEvents, listeners, onBlockMutated, getBlockIndex, shouldHandleEvent } = this.dependencies;
|
|
80
82
|
|
|
81
83
|
listeners.on(block.holder, 'keydown', (event: Event) => {
|
|
82
84
|
if (event instanceof KeyboardEvent) {
|
|
85
|
+
if (shouldHandleEvent && !shouldHandleEvent(event)) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
83
88
|
blockEvents.keydown(event);
|
|
84
89
|
}
|
|
85
90
|
});
|
|
86
91
|
|
|
87
92
|
listeners.on(block.holder, 'keyup', (event: Event) => {
|
|
88
93
|
if (event instanceof KeyboardEvent) {
|
|
94
|
+
if (shouldHandleEvent && !shouldHandleEvent(event)) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
89
97
|
blockEvents.keyup(event);
|
|
90
98
|
}
|
|
91
99
|
});
|
|
92
100
|
|
|
93
101
|
listeners.on(block.holder, 'input', (event: Event) => {
|
|
94
102
|
if (event instanceof InputEvent) {
|
|
103
|
+
if (shouldHandleEvent && !shouldHandleEvent(event)) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
95
106
|
blockEvents.input(event);
|
|
96
107
|
}
|
|
97
108
|
});
|
|
@@ -108,7 +108,9 @@ export class ThemeManager extends Module {
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
if (this.mode === 'auto') {
|
|
111
|
-
|
|
111
|
+
if (state.activeInstances <= 1) {
|
|
112
|
+
this.removeAttribute();
|
|
113
|
+
}
|
|
112
114
|
} else {
|
|
113
115
|
document.documentElement.setAttribute(ATTR, this.mode);
|
|
114
116
|
}
|
|
@@ -191,7 +191,6 @@ export class BlockSettings extends Module<BlockSettingsNodes> {
|
|
|
191
191
|
searchable: true,
|
|
192
192
|
trigger: trigger || this.nodes.wrapper,
|
|
193
193
|
items: await this.getTunesItems(block, commonTunes, toolTunes),
|
|
194
|
-
scopeElement: this.Blok.API.methods.ui.nodes.redactor,
|
|
195
194
|
messages: {
|
|
196
195
|
nothingFound: this.Blok.I18n.t('popover.nothingFound'),
|
|
197
196
|
search: this.Blok.I18n.t('popover.search'),
|
|
@@ -330,11 +330,8 @@ export class InlineToolbar extends Module<InlineToolbarNodes> {
|
|
|
330
330
|
const popoverItems = await this.buildPopoverItems();
|
|
331
331
|
|
|
332
332
|
// Create popover
|
|
333
|
-
const scopeElement = this.Blok.API?.methods?.ui?.nodes?.redactor ?? this.Blok.UI.nodes.redactor;
|
|
334
|
-
|
|
335
333
|
this.popover = new PopoverInline({
|
|
336
334
|
items: popoverItems,
|
|
337
|
-
scopeElement,
|
|
338
335
|
messages: {
|
|
339
336
|
nothingFound: this.Blok.I18n.t('popover.nothingFound'),
|
|
340
337
|
search: this.Blok.I18n.t('popover.search'),
|
|
@@ -78,6 +78,21 @@ export class KeyboardController extends Controller {
|
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
const target = event.target;
|
|
82
|
+
|
|
83
|
+
if (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Skip events from nested editors
|
|
88
|
+
if (target instanceof Element) {
|
|
89
|
+
const closestEditor = target.closest('[data-blok-testid="blok-editor"]');
|
|
90
|
+
|
|
91
|
+
if (closestEditor !== null && closestEditor !== this.Blok.UI.nodes.wrapper) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
81
96
|
if (KEYS_REQUIRING_CARET_CAPTURE.has(event.key)) {
|
|
82
97
|
this.Blok.YjsManager.markCaretBeforeChange();
|
|
83
98
|
}
|
|
@@ -89,6 +104,20 @@ export class KeyboardController extends Controller {
|
|
|
89
104
|
* @param event - keyboard event
|
|
90
105
|
*/
|
|
91
106
|
private handleKeydown(event: KeyboardEvent): void {
|
|
107
|
+
const target = event.target;
|
|
108
|
+
|
|
109
|
+
if (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (target instanceof Element) {
|
|
114
|
+
const closestEditor = target.closest('[data-blok-testid="blok-editor"]');
|
|
115
|
+
|
|
116
|
+
if (closestEditor !== null && closestEditor !== this.Blok.UI.nodes.wrapper) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
92
121
|
const key = event.key ?? '';
|
|
93
122
|
|
|
94
123
|
switch (key) {
|
|
@@ -167,10 +167,22 @@ export class SelectionController extends Controller {
|
|
|
167
167
|
* @returns true if current block should be updated
|
|
168
168
|
*/
|
|
169
169
|
private shouldUpdateCurrentBlock(): boolean {
|
|
170
|
+
const focusedElement = Selection.anchorElement;
|
|
171
|
+
|
|
172
|
+
if (!focusedElement || !this.wrapperElement) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
|
|
170
176
|
/**
|
|
171
|
-
*
|
|
172
|
-
*
|
|
177
|
+
* Skip updating current block when focus is inside a nested editor instance.
|
|
178
|
+
* The closest editor wrapper must match this instance's wrapper.
|
|
173
179
|
*/
|
|
180
|
+
const closestEditor = focusedElement.closest('[data-blok-testid="blok-editor"]');
|
|
181
|
+
|
|
182
|
+
if (closestEditor !== null && closestEditor !== this.wrapperElement) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
|
|
174
186
|
return true;
|
|
175
187
|
}
|
|
176
188
|
}
|
|
@@ -411,7 +411,6 @@ export class Toolbox extends EventsDispatcher<ToolboxEventMap> {
|
|
|
411
411
|
const PopoverClass = isMobileScreen() ? PopoverMobile : PopoverDesktop;
|
|
412
412
|
|
|
413
413
|
this.popover = new PopoverClass({
|
|
414
|
-
scopeElement: this.api.ui.nodes.redactor,
|
|
415
414
|
trigger: this.triggerElement || this.nodes.toolbox,
|
|
416
415
|
leftAlignElement: this.leftAlignElement,
|
|
417
416
|
messages: {
|
|
@@ -32,7 +32,9 @@ export interface ResolvedPosition {
|
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Determines whether the popover should flip to the alternate side.
|
|
35
|
-
* Returns true when the popover
|
|
35
|
+
* Returns true only when the popover fits on the alternate side but not the preferred side.
|
|
36
|
+
* When neither side fits, stays on the preferred side so the popover remains adjacent
|
|
37
|
+
* to the anchor instead of getting clamped to a distant boundary edge.
|
|
36
38
|
*/
|
|
37
39
|
function shouldFlip(popoverDimension: number, spaceOnPreferred: number, spaceOnAlternate: number): boolean {
|
|
38
40
|
if (popoverDimension <= spaceOnPreferred) {
|
|
@@ -43,7 +45,7 @@ function shouldFlip(popoverDimension: number, spaceOnPreferred: number, spaceOnA
|
|
|
43
45
|
return true;
|
|
44
46
|
}
|
|
45
47
|
|
|
46
|
-
return
|
|
48
|
+
return false;
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
/**
|