payload-better-editor 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/global.js +6 -7
  2. package/dist/global.js.map +1 -1
  3. package/dist/i18n/cs.d.ts +2 -0
  4. package/dist/i18n/cs.js +136 -0
  5. package/dist/i18n/cs.js.map +1 -0
  6. package/dist/i18n/da.d.ts +2 -0
  7. package/dist/i18n/da.js +136 -0
  8. package/dist/i18n/da.js.map +1 -0
  9. package/dist/i18n/es.d.ts +2 -0
  10. package/dist/i18n/es.js +136 -0
  11. package/dist/i18n/es.js.map +1 -0
  12. package/dist/i18n/fr.d.ts +2 -0
  13. package/dist/i18n/fr.js +136 -0
  14. package/dist/i18n/fr.js.map +1 -0
  15. package/dist/i18n/index.d.ts +2 -0
  16. package/dist/i18n/index.js +34 -0
  17. package/dist/i18n/index.js.map +1 -0
  18. package/dist/i18n/it.d.ts +2 -0
  19. package/dist/i18n/it.js +136 -0
  20. package/dist/i18n/it.js.map +1 -0
  21. package/dist/i18n/nb.d.ts +2 -0
  22. package/dist/i18n/nb.js +136 -0
  23. package/dist/i18n/nb.js.map +1 -0
  24. package/dist/i18n/nl.d.ts +2 -0
  25. package/dist/i18n/nl.js +136 -0
  26. package/dist/i18n/nl.js.map +1 -0
  27. package/dist/i18n/pl.d.ts +2 -0
  28. package/dist/i18n/pl.js +136 -0
  29. package/dist/i18n/pl.js.map +1 -0
  30. package/dist/i18n/pt.d.ts +2 -0
  31. package/dist/i18n/pt.js +136 -0
  32. package/dist/i18n/pt.js.map +1 -0
  33. package/dist/i18n/ro.d.ts +2 -0
  34. package/dist/i18n/ro.js +136 -0
  35. package/dist/i18n/ro.js.map +1 -0
  36. package/dist/i18n/sv.d.ts +2 -0
  37. package/dist/i18n/sv.js +136 -0
  38. package/dist/i18n/sv.js.map +1 -0
  39. package/dist/i18n/tr.d.ts +2 -0
  40. package/dist/i18n/tr.js +136 -0
  41. package/dist/i18n/tr.js.map +1 -0
  42. package/dist/i18n/uk.d.ts +2 -0
  43. package/dist/i18n/uk.js +136 -0
  44. package/dist/i18n/uk.js.map +1 -0
  45. package/dist/index.js +8 -10
  46. package/dist/index.js.map +1 -1
  47. package/dist/version.d.ts +1 -1
  48. package/dist/version.js +1 -1
  49. package/dist/version.js.map +1 -1
  50. package/package.json +1 -1
@@ -0,0 +1,136 @@
1
+ // Machine-translated (not reviewed by a native speaker) — may contain errors.
2
+ export const sv = {
3
+ toggle: {
4
+ open: 'Öppna Better Editor',
5
+ close: 'Stäng Better Editor'
6
+ },
7
+ overlay: {
8
+ dialogLabel: 'Better Editor',
9
+ resizeSidebar: 'Ändra storlek på sidofältet (använd ← / → piltangenterna)'
10
+ },
11
+ toolbar: {
12
+ undo: 'Ångra',
13
+ undoTitle: 'Ångra (Cmd/Ctrl+Z)',
14
+ redo: 'Gör om',
15
+ redoTitle: 'Gör om (Cmd/Ctrl+Shift+Z)',
16
+ enterFullscreen: 'Öppna helskärm',
17
+ exitFullscreen: 'Avsluta helskärm',
18
+ switchToEdit: 'Växla till redigeringsläge',
19
+ switchToInteract: 'Växla till interaktionsläge (använd formulär, dragspel, länkar)',
20
+ switchToInteractShort: 'Växla till interaktionsläge',
21
+ showSidebar: 'Visa sidofält',
22
+ hideSidebar: 'Dölj sidofält'
23
+ },
24
+ viewport: {
25
+ groupLabel: 'Förhandsvisning',
26
+ desktop: 'Dator',
27
+ tablet: 'Surfplatta',
28
+ mobile: 'Mobil',
29
+ responsive: 'Responsiv (dra för att ändra storlek)'
30
+ },
31
+ sidebar: {
32
+ tabs: {
33
+ page: 'Sida',
34
+ block: 'Block',
35
+ settings: 'Inställningar'
36
+ },
37
+ blockSelected: 'Valt block: ',
38
+ noBlockSelected: 'Inget block valt',
39
+ validationLabel: 'Valideringsfel',
40
+ validationSingular: '1 fält behöver åtgärdas',
41
+ validationPlural: ' fält behöver åtgärdas'
42
+ },
43
+ blocks: {
44
+ kicker: 'Block',
45
+ emptyPrompt: 'Välj ett block i förhandsvisningen för att redigera dess inställningar.',
46
+ addBlock: 'Lägg till block',
47
+ blockName: 'Blocknamn',
48
+ blockNamePlaceholder: 'Valfri etikett för det här blocket',
49
+ schemaError: 'Det gick inte att hitta blockschemat för den här sökvägen.',
50
+ drawerSingular: 'Block',
51
+ drawerPlural: 'Block',
52
+ deselect: 'Avmarkera',
53
+ actions: {
54
+ toolbar: 'Blockåtgärder',
55
+ moveUp: 'Flytta upp',
56
+ moveUpLabel: 'Flytta blocket uppåt',
57
+ moveDown: 'Flytta ner',
58
+ moveDownLabel: 'Flytta blocket nedåt',
59
+ duplicate: 'Duplicera',
60
+ duplicateLabel: 'Duplicera blocket',
61
+ addBelow: 'Lägg till block nedanför',
62
+ addBelowLabel: 'Lägg till block nedanför',
63
+ delete: 'Ta bort',
64
+ deleteLabel: 'Ta bort blocket'
65
+ }
66
+ },
67
+ documentFields: {
68
+ noFields: 'Inga fält på dokumentnivå hittades.',
69
+ noSettings: 'Inga dokumentinställningar.'
70
+ },
71
+ preview: {
72
+ title: 'Förhandsvisning av Better Editor',
73
+ loading: 'Läser in förhandsvisning',
74
+ resizeLeft: 'Ändra storlek på förhandsvisningen från vänster',
75
+ resizeRight: 'Ändra storlek på förhandsvisningen från höger'
76
+ },
77
+ error: {
78
+ heading: 'Better Editor kraschade',
79
+ unknown: 'Okänt fel.',
80
+ tryAgain: 'Försök igen',
81
+ closeEditor: 'Stäng editorn'
82
+ },
83
+ banner: {
84
+ builtBy: 'Om du tycker att det här tillägget är användbart, ge det gärna en stjärna ⭐',
85
+ star: 'Star',
86
+ github: 'GitHub',
87
+ reportBug: 'Rapportera ett fel'
88
+ },
89
+ settings: {
90
+ globalLabel: 'Inställningar',
91
+ globalDescription: 'Övergripande inställningar för Better Editor-overlayen.',
92
+ sidebar: {
93
+ tabLabel: 'Sidofält',
94
+ tabDescription: 'Var sidofältet placeras och hur dess fält staplas.',
95
+ position: 'Position',
96
+ positionRight: 'Höger',
97
+ positionLeft: 'Vänster',
98
+ forceFullWidth: 'Stapla fält i full bredd',
99
+ forceFullWidthDesc: 'Åsidosätt admin.width på sidofältets fält så att de alltid spänner över hela raden.'
100
+ },
101
+ viewport: {
102
+ tabLabel: 'Förhandsvisning',
103
+ tabDescription: 'Pixelbredder för förhandsvisningslägena Surfplatta och Mobil.',
104
+ tabletWidth: 'Surfplatta (px)',
105
+ mobileWidth: 'Mobil (px)'
106
+ },
107
+ outline: {
108
+ tabLabel: 'Kontur',
109
+ tabDescription: 'Kontur + toning som visas på det block du för muspekaren över eller väljer.',
110
+ topLevelColor: 'Färg på toppnivå',
111
+ topLevelColorDesc: 'Hexfärg (t.ex. `#3b82f6`).',
112
+ nestedColor: 'Färg för nästlade',
113
+ nestedColorDesc: 'Hexfärg för block som är nästlade inuti ett annat block.',
114
+ outlineWidth: 'Konturbredd (px)',
115
+ outlineWidthDesc: 'Konturens tjocklek i pixlar (1–5).'
116
+ },
117
+ toolbar: {
118
+ tabLabel: 'Verktygsfält',
119
+ tabDescription: 'Flytande verktygsfält för Flytta / Duplicera / Ta bort som visas på det valda blocket.',
120
+ enabled: 'Aktiverat',
121
+ anchorCorner: 'Förankringshörn',
122
+ topRight: 'Uppe till höger',
123
+ topLeft: 'Uppe till vänster',
124
+ bottomRight: 'Nere till höger',
125
+ bottomLeft: 'Nere till vänster'
126
+ },
127
+ validation: {
128
+ colorRequired: 'Färg krävs',
129
+ colorInvalid: 'Måste vara en hexfärg (t.ex. #3b82f6) eller rgb()/rgba()',
130
+ mustBeNumber: 'Måste vara ett tal',
131
+ outlineRange: 'Måste vara mellan 1 och 5'
132
+ }
133
+ }
134
+ };
135
+
136
+ //# sourceMappingURL=sv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/i18n/sv.ts"],"sourcesContent":["// Machine-translated (not reviewed by a native speaker) — may contain errors.\nimport type { BetterEditorTranslations } from './types'\n\nexport const sv: BetterEditorTranslations = {\n toggle: {\n open: 'Öppna Better Editor',\n close: 'Stäng Better Editor',\n },\n overlay: {\n dialogLabel: 'Better Editor',\n resizeSidebar: 'Ändra storlek på sidofältet (använd ← / → piltangenterna)',\n },\n toolbar: {\n undo: 'Ångra',\n undoTitle: 'Ångra (Cmd/Ctrl+Z)',\n redo: 'Gör om',\n redoTitle: 'Gör om (Cmd/Ctrl+Shift+Z)',\n enterFullscreen: 'Öppna helskärm',\n exitFullscreen: 'Avsluta helskärm',\n switchToEdit: 'Växla till redigeringsläge',\n switchToInteract: 'Växla till interaktionsläge (använd formulär, dragspel, länkar)',\n switchToInteractShort: 'Växla till interaktionsläge',\n showSidebar: 'Visa sidofält',\n hideSidebar: 'Dölj sidofält',\n },\n viewport: {\n groupLabel: 'Förhandsvisning',\n desktop: 'Dator',\n tablet: 'Surfplatta',\n mobile: 'Mobil',\n responsive: 'Responsiv (dra för att ändra storlek)',\n },\n sidebar: {\n tabs: {\n page: 'Sida',\n block: 'Block',\n settings: 'Inställningar',\n },\n blockSelected: 'Valt block: ',\n noBlockSelected: 'Inget block valt',\n validationLabel: 'Valideringsfel',\n validationSingular: '1 fält behöver åtgärdas',\n validationPlural: ' fält behöver åtgärdas',\n },\n blocks: {\n kicker: 'Block',\n emptyPrompt: 'Välj ett block i förhandsvisningen för att redigera dess inställningar.',\n addBlock: 'Lägg till block',\n blockName: 'Blocknamn',\n blockNamePlaceholder: 'Valfri etikett för det här blocket',\n schemaError: 'Det gick inte att hitta blockschemat för den här sökvägen.',\n drawerSingular: 'Block',\n drawerPlural: 'Block',\n deselect: 'Avmarkera',\n actions: {\n toolbar: 'Blockåtgärder',\n moveUp: 'Flytta upp',\n moveUpLabel: 'Flytta blocket uppåt',\n moveDown: 'Flytta ner',\n moveDownLabel: 'Flytta blocket nedåt',\n duplicate: 'Duplicera',\n duplicateLabel: 'Duplicera blocket',\n addBelow: 'Lägg till block nedanför',\n addBelowLabel: 'Lägg till block nedanför',\n delete: 'Ta bort',\n deleteLabel: 'Ta bort blocket',\n },\n },\n documentFields: {\n noFields: 'Inga fält på dokumentnivå hittades.',\n noSettings: 'Inga dokumentinställningar.',\n },\n preview: {\n title: 'Förhandsvisning av Better Editor',\n loading: 'Läser in förhandsvisning',\n resizeLeft: 'Ändra storlek på förhandsvisningen från vänster',\n resizeRight: 'Ändra storlek på förhandsvisningen från höger',\n },\n error: {\n heading: 'Better Editor kraschade',\n unknown: 'Okänt fel.',\n tryAgain: 'Försök igen',\n closeEditor: 'Stäng editorn',\n },\n banner: {\n builtBy: 'Om du tycker att det här tillägget är användbart, ge det gärna en stjärna ⭐',\n star: 'Star',\n github: 'GitHub',\n reportBug: 'Rapportera ett fel',\n },\n settings: {\n globalLabel: 'Inställningar',\n globalDescription: 'Övergripande inställningar för Better Editor-overlayen.',\n sidebar: {\n tabLabel: 'Sidofält',\n tabDescription: 'Var sidofältet placeras och hur dess fält staplas.',\n position: 'Position',\n positionRight: 'Höger',\n positionLeft: 'Vänster',\n forceFullWidth: 'Stapla fält i full bredd',\n forceFullWidthDesc:\n 'Åsidosätt admin.width på sidofältets fält så att de alltid spänner över hela raden.',\n },\n viewport: {\n tabLabel: 'Förhandsvisning',\n tabDescription: 'Pixelbredder för förhandsvisningslägena Surfplatta och Mobil.',\n tabletWidth: 'Surfplatta (px)',\n mobileWidth: 'Mobil (px)',\n },\n outline: {\n tabLabel: 'Kontur',\n tabDescription: 'Kontur + toning som visas på det block du för muspekaren över eller väljer.',\n topLevelColor: 'Färg på toppnivå',\n topLevelColorDesc: 'Hexfärg (t.ex. `#3b82f6`).',\n nestedColor: 'Färg för nästlade',\n nestedColorDesc: 'Hexfärg för block som är nästlade inuti ett annat block.',\n outlineWidth: 'Konturbredd (px)',\n outlineWidthDesc: 'Konturens tjocklek i pixlar (1–5).',\n },\n toolbar: {\n tabLabel: 'Verktygsfält',\n tabDescription:\n 'Flytande verktygsfält för Flytta / Duplicera / Ta bort som visas på det valda blocket.',\n enabled: 'Aktiverat',\n anchorCorner: 'Förankringshörn',\n topRight: 'Uppe till höger',\n topLeft: 'Uppe till vänster',\n bottomRight: 'Nere till höger',\n bottomLeft: 'Nere till vänster',\n },\n validation: {\n colorRequired: 'Färg krävs',\n colorInvalid: 'Måste vara en hexfärg (t.ex. #3b82f6) eller rgb()/rgba()',\n mustBeNumber: 'Måste vara ett tal',\n outlineRange: 'Måste vara mellan 1 och 5',\n },\n },\n}\n"],"names":["sv","toggle","open","close","overlay","dialogLabel","resizeSidebar","toolbar","undo","undoTitle","redo","redoTitle","enterFullscreen","exitFullscreen","switchToEdit","switchToInteract","switchToInteractShort","showSidebar","hideSidebar","viewport","groupLabel","desktop","tablet","mobile","responsive","sidebar","tabs","page","block","settings","blockSelected","noBlockSelected","validationLabel","validationSingular","validationPlural","blocks","kicker","emptyPrompt","addBlock","blockName","blockNamePlaceholder","schemaError","drawerSingular","drawerPlural","deselect","actions","moveUp","moveUpLabel","moveDown","moveDownLabel","duplicate","duplicateLabel","addBelow","addBelowLabel","delete","deleteLabel","documentFields","noFields","noSettings","preview","title","loading","resizeLeft","resizeRight","error","heading","unknown","tryAgain","closeEditor","banner","builtBy","star","github","reportBug","globalLabel","globalDescription","tabLabel","tabDescription","position","positionRight","positionLeft","forceFullWidth","forceFullWidthDesc","tabletWidth","mobileWidth","outline","topLevelColor","topLevelColorDesc","nestedColor","nestedColorDesc","outlineWidth","outlineWidthDesc","enabled","anchorCorner","topRight","topLeft","bottomRight","bottomLeft","validation","colorRequired","colorInvalid","mustBeNumber","outlineRange"],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,MAAMA,KAA+B;IAC1CC,QAAQ;QACNC,MAAM;QACNC,OAAO;IACT;IACAC,SAAS;QACPC,aAAa;QACbC,eAAe;IACjB;IACAC,SAAS;QACPC,MAAM;QACNC,WAAW;QACXC,MAAM;QACNC,WAAW;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,cAAc;QACdC,kBAAkB;QAClBC,uBAAuB;QACvBC,aAAa;QACbC,aAAa;IACf;IACAC,UAAU;QACRC,YAAY;QACZC,SAAS;QACTC,QAAQ;QACRC,QAAQ;QACRC,YAAY;IACd;IACAC,SAAS;QACPC,MAAM;YACJC,MAAM;YACNC,OAAO;YACPC,UAAU;QACZ;QACAC,eAAe;QACfC,iBAAiB;QACjBC,iBAAiB;QACjBC,oBAAoB;QACpBC,kBAAkB;IACpB;IACAC,QAAQ;QACNC,QAAQ;QACRC,aAAa;QACbC,UAAU;QACVC,WAAW;QACXC,sBAAsB;QACtBC,aAAa;QACbC,gBAAgB;QAChBC,cAAc;QACdC,UAAU;QACVC,SAAS;YACPtC,SAAS;YACTuC,QAAQ;YACRC,aAAa;YACbC,UAAU;YACVC,eAAe;YACfC,WAAW;YACXC,gBAAgB;YAChBC,UAAU;YACVC,eAAe;YACfC,QAAQ;YACRC,aAAa;QACf;IACF;IACAC,gBAAgB;QACdC,UAAU;QACVC,YAAY;IACd;IACAC,SAAS;QACPC,OAAO;QACPC,SAAS;QACTC,YAAY;QACZC,aAAa;IACf;IACAC,OAAO;QACLC,SAAS;QACTC,SAAS;QACTC,UAAU;QACVC,aAAa;IACf;IACAC,QAAQ;QACNC,SAAS;QACTC,MAAM;QACNC,QAAQ;QACRC,WAAW;IACb;IACA5C,UAAU;QACR6C,aAAa;QACbC,mBAAmB;QACnBlD,SAAS;YACPmD,UAAU;YACVC,gBAAgB;YAChBC,UAAU;YACVC,eAAe;YACfC,cAAc;YACdC,gBAAgB;YAChBC,oBACE;QACJ;QACA/D,UAAU;YACRyD,UAAU;YACVC,gBAAgB;YAChBM,aAAa;YACbC,aAAa;QACf;QACAC,SAAS;YACPT,UAAU;YACVC,gBAAgB;YAChBS,eAAe;YACfC,mBAAmB;YACnBC,aAAa;YACbC,iBAAiB;YACjBC,cAAc;YACdC,kBAAkB;QACpB;QACApF,SAAS;YACPqE,UAAU;YACVC,gBACE;YACFe,SAAS;YACTC,cAAc;YACdC,UAAU;YACVC,SAAS;YACTC,aAAa;YACbC,YAAY;QACd;QACAC,YAAY;YACVC,eAAe;YACfC,cAAc;YACdC,cAAc;YACdC,cAAc;QAChB;IACF;AACF,EAAC"}
@@ -0,0 +1,2 @@
1
+ import type { BetterEditorTranslations } from './types';
2
+ export declare const tr: BetterEditorTranslations;
@@ -0,0 +1,136 @@
1
+ // Machine-translated (not reviewed by a native speaker) — may contain errors.
2
+ export const tr = {
3
+ toggle: {
4
+ open: 'Better Editor’ı aç',
5
+ close: 'Better Editor’ı kapat'
6
+ },
7
+ overlay: {
8
+ dialogLabel: 'Better Editor',
9
+ resizeSidebar: 'Kenar çubuğunu yeniden boyutlandır (← / → ok tuşlarını kullanın)'
10
+ },
11
+ toolbar: {
12
+ undo: 'Geri al',
13
+ undoTitle: 'Geri al (Cmd/Ctrl+Z)',
14
+ redo: 'Yinele',
15
+ redoTitle: 'Yinele (Cmd/Ctrl+Shift+Z)',
16
+ enterFullscreen: 'Tam ekrana geç',
17
+ exitFullscreen: 'Tam ekrandan çık',
18
+ switchToEdit: 'Düzenleme moduna geç',
19
+ switchToInteract: 'Etkileşim moduna geç (formlar, akordeonlar, bağlantılar)',
20
+ switchToInteractShort: 'Etkileşim moduna geç',
21
+ showSidebar: 'Kenar çubuğunu göster',
22
+ hideSidebar: 'Kenar çubuğunu gizle'
23
+ },
24
+ viewport: {
25
+ groupLabel: 'Önizleme görünümü',
26
+ desktop: 'Masaüstü',
27
+ tablet: 'Tablet',
28
+ mobile: 'Mobil',
29
+ responsive: 'Duyarlı (boyutlandırmak için sürükleyin)'
30
+ },
31
+ sidebar: {
32
+ tabs: {
33
+ page: 'Sayfa',
34
+ block: 'Bloklar',
35
+ settings: 'Ayarlar'
36
+ },
37
+ blockSelected: 'Seçili blok: ',
38
+ noBlockSelected: 'Seçili blok yok',
39
+ validationLabel: 'Doğrulama hataları',
40
+ validationSingular: '1 alan dikkat gerektiriyor',
41
+ validationPlural: ' alan dikkat gerektiriyor'
42
+ },
43
+ blocks: {
44
+ kicker: 'Blok',
45
+ emptyPrompt: 'Ayarlarını düzenlemek için önizlemede bir blok seçin.',
46
+ addBlock: 'Blok ekle',
47
+ blockName: 'Blok adı',
48
+ blockNamePlaceholder: 'Bu blok için isteğe bağlı etiket',
49
+ schemaError: 'Bu yol için blok şeması çözümlenemedi.',
50
+ drawerSingular: 'Blok',
51
+ drawerPlural: 'Bloklar',
52
+ deselect: 'Seçimi kaldır',
53
+ actions: {
54
+ toolbar: 'Blok işlemleri',
55
+ moveUp: 'Yukarı taşı',
56
+ moveUpLabel: 'Bloğu yukarı taşı',
57
+ moveDown: 'Aşağı taşı',
58
+ moveDownLabel: 'Bloğu aşağı taşı',
59
+ duplicate: 'Çoğalt',
60
+ duplicateLabel: 'Bloğu çoğalt',
61
+ addBelow: 'Altına blok ekle',
62
+ addBelowLabel: 'Altına blok ekle',
63
+ delete: 'Sil',
64
+ deleteLabel: 'Bloğu sil'
65
+ }
66
+ },
67
+ documentFields: {
68
+ noFields: 'Belge düzeyinde alan bulunamadı.',
69
+ noSettings: 'Belge ayarı yok.'
70
+ },
71
+ preview: {
72
+ title: 'Better Editor önizlemesi',
73
+ loading: 'Önizleme yükleniyor',
74
+ resizeLeft: 'Önizlemeyi soldan yeniden boyutlandır',
75
+ resizeRight: 'Önizlemeyi sağdan yeniden boyutlandır'
76
+ },
77
+ error: {
78
+ heading: 'Better Editor çöktü',
79
+ unknown: 'Bilinmeyen hata.',
80
+ tryAgain: 'Tekrar dene',
81
+ closeEditor: 'Düzenleyiciyi kapat'
82
+ },
83
+ banner: {
84
+ builtBy: 'Bu eklentiyi faydalı bulduysanız lütfen bir yıldız bırakın ⭐',
85
+ star: 'Star',
86
+ github: 'GitHub',
87
+ reportBug: 'Hata bildir'
88
+ },
89
+ settings: {
90
+ globalLabel: 'Ayarlar',
91
+ globalDescription: 'Better Editor katmanı için editör geneli tercihler.',
92
+ sidebar: {
93
+ tabLabel: 'Kenar çubuğu',
94
+ tabDescription: 'Kenar çubuğunun nerede durduğu ve alanlarının nasıl dizildiği.',
95
+ position: 'Konum',
96
+ positionRight: 'Sağ',
97
+ positionLeft: 'Sol',
98
+ forceFullWidth: 'Alanları tam genişlikte diz',
99
+ forceFullWidthDesc: 'Kenar çubuğu alanlarında admin.width değerini geçersiz kılarak her zaman satırın tamamını kaplamalarını sağla.'
100
+ },
101
+ viewport: {
102
+ tabLabel: 'Görünüm',
103
+ tabDescription: 'Tablet ve Mobil önizleme modları için piksel genişlikleri.',
104
+ tabletWidth: 'Tablet (px)',
105
+ mobileWidth: 'Mobil (px)'
106
+ },
107
+ outline: {
108
+ tabLabel: 'Çerçeve',
109
+ tabDescription: 'Üzerine gelinen veya seçilen blokta gösterilen çerçeve + renk tonu.',
110
+ topLevelColor: 'Üst düzey renk',
111
+ topLevelColorDesc: 'Onaltılık renk (ör. `#3b82f6`).',
112
+ nestedColor: 'İç içe renk',
113
+ nestedColorDesc: 'Başka bir bloğun içine yerleştirilmiş bloklar için onaltılık renk.',
114
+ outlineWidth: 'Çerçeve kalınlığı (px)',
115
+ outlineWidthDesc: 'Piksel cinsinden çerçeve kalınlığı (1–5).'
116
+ },
117
+ toolbar: {
118
+ tabLabel: 'Araç çubuğu',
119
+ tabDescription: 'Seçili blokta görünen kayan Taşı / Çoğalt / Sil araç çubuğu.',
120
+ enabled: 'Etkin',
121
+ anchorCorner: 'Sabitleme köşesi',
122
+ topRight: 'Sağ üst',
123
+ topLeft: 'Sol üst',
124
+ bottomRight: 'Sağ alt',
125
+ bottomLeft: 'Sol alt'
126
+ },
127
+ validation: {
128
+ colorRequired: 'Renk gereklidir',
129
+ colorInvalid: 'Onaltılık bir renk (ör. #3b82f6) veya rgb()/rgba() olmalıdır',
130
+ mustBeNumber: 'Bir sayı olmalıdır',
131
+ outlineRange: '1 ile 5 arasında olmalıdır'
132
+ }
133
+ }
134
+ };
135
+
136
+ //# sourceMappingURL=tr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/i18n/tr.ts"],"sourcesContent":["// Machine-translated (not reviewed by a native speaker) — may contain errors.\nimport type { BetterEditorTranslations } from './types'\n\nexport const tr: BetterEditorTranslations = {\n toggle: {\n open: 'Better Editor’ı aç',\n close: 'Better Editor’ı kapat',\n },\n overlay: {\n dialogLabel: 'Better Editor',\n resizeSidebar: 'Kenar çubuğunu yeniden boyutlandır (← / → ok tuşlarını kullanın)',\n },\n toolbar: {\n undo: 'Geri al',\n undoTitle: 'Geri al (Cmd/Ctrl+Z)',\n redo: 'Yinele',\n redoTitle: 'Yinele (Cmd/Ctrl+Shift+Z)',\n enterFullscreen: 'Tam ekrana geç',\n exitFullscreen: 'Tam ekrandan çık',\n switchToEdit: 'Düzenleme moduna geç',\n switchToInteract: 'Etkileşim moduna geç (formlar, akordeonlar, bağlantılar)',\n switchToInteractShort: 'Etkileşim moduna geç',\n showSidebar: 'Kenar çubuğunu göster',\n hideSidebar: 'Kenar çubuğunu gizle',\n },\n viewport: {\n groupLabel: 'Önizleme görünümü',\n desktop: 'Masaüstü',\n tablet: 'Tablet',\n mobile: 'Mobil',\n responsive: 'Duyarlı (boyutlandırmak için sürükleyin)',\n },\n sidebar: {\n tabs: {\n page: 'Sayfa',\n block: 'Bloklar',\n settings: 'Ayarlar',\n },\n blockSelected: 'Seçili blok: ',\n noBlockSelected: 'Seçili blok yok',\n validationLabel: 'Doğrulama hataları',\n validationSingular: '1 alan dikkat gerektiriyor',\n validationPlural: ' alan dikkat gerektiriyor',\n },\n blocks: {\n kicker: 'Blok',\n emptyPrompt: 'Ayarlarını düzenlemek için önizlemede bir blok seçin.',\n addBlock: 'Blok ekle',\n blockName: 'Blok adı',\n blockNamePlaceholder: 'Bu blok için isteğe bağlı etiket',\n schemaError: 'Bu yol için blok şeması çözümlenemedi.',\n drawerSingular: 'Blok',\n drawerPlural: 'Bloklar',\n deselect: 'Seçimi kaldır',\n actions: {\n toolbar: 'Blok işlemleri',\n moveUp: 'Yukarı taşı',\n moveUpLabel: 'Bloğu yukarı taşı',\n moveDown: 'Aşağı taşı',\n moveDownLabel: 'Bloğu aşağı taşı',\n duplicate: 'Çoğalt',\n duplicateLabel: 'Bloğu çoğalt',\n addBelow: 'Altına blok ekle',\n addBelowLabel: 'Altına blok ekle',\n delete: 'Sil',\n deleteLabel: 'Bloğu sil',\n },\n },\n documentFields: {\n noFields: 'Belge düzeyinde alan bulunamadı.',\n noSettings: 'Belge ayarı yok.',\n },\n preview: {\n title: 'Better Editor önizlemesi',\n loading: 'Önizleme yükleniyor',\n resizeLeft: 'Önizlemeyi soldan yeniden boyutlandır',\n resizeRight: 'Önizlemeyi sağdan yeniden boyutlandır',\n },\n error: {\n heading: 'Better Editor çöktü',\n unknown: 'Bilinmeyen hata.',\n tryAgain: 'Tekrar dene',\n closeEditor: 'Düzenleyiciyi kapat',\n },\n banner: {\n builtBy: 'Bu eklentiyi faydalı bulduysanız lütfen bir yıldız bırakın ⭐',\n star: 'Star',\n github: 'GitHub',\n reportBug: 'Hata bildir',\n },\n settings: {\n globalLabel: 'Ayarlar',\n globalDescription: 'Better Editor katmanı için editör geneli tercihler.',\n sidebar: {\n tabLabel: 'Kenar çubuğu',\n tabDescription: 'Kenar çubuğunun nerede durduğu ve alanlarının nasıl dizildiği.',\n position: 'Konum',\n positionRight: 'Sağ',\n positionLeft: 'Sol',\n forceFullWidth: 'Alanları tam genişlikte diz',\n forceFullWidthDesc:\n 'Kenar çubuğu alanlarında admin.width değerini geçersiz kılarak her zaman satırın tamamını kaplamalarını sağla.',\n },\n viewport: {\n tabLabel: 'Görünüm',\n tabDescription: 'Tablet ve Mobil önizleme modları için piksel genişlikleri.',\n tabletWidth: 'Tablet (px)',\n mobileWidth: 'Mobil (px)',\n },\n outline: {\n tabLabel: 'Çerçeve',\n tabDescription: 'Üzerine gelinen veya seçilen blokta gösterilen çerçeve + renk tonu.',\n topLevelColor: 'Üst düzey renk',\n topLevelColorDesc: 'Onaltılık renk (ör. `#3b82f6`).',\n nestedColor: 'İç içe renk',\n nestedColorDesc: 'Başka bir bloğun içine yerleştirilmiş bloklar için onaltılık renk.',\n outlineWidth: 'Çerçeve kalınlığı (px)',\n outlineWidthDesc: 'Piksel cinsinden çerçeve kalınlığı (1–5).',\n },\n toolbar: {\n tabLabel: 'Araç çubuğu',\n tabDescription:\n 'Seçili blokta görünen kayan Taşı / Çoğalt / Sil araç çubuğu.',\n enabled: 'Etkin',\n anchorCorner: 'Sabitleme köşesi',\n topRight: 'Sağ üst',\n topLeft: 'Sol üst',\n bottomRight: 'Sağ alt',\n bottomLeft: 'Sol alt',\n },\n validation: {\n colorRequired: 'Renk gereklidir',\n colorInvalid: 'Onaltılık bir renk (ör. #3b82f6) veya rgb()/rgba() olmalıdır',\n mustBeNumber: 'Bir sayı olmalıdır',\n outlineRange: '1 ile 5 arasında olmalıdır',\n },\n },\n}\n"],"names":["tr","toggle","open","close","overlay","dialogLabel","resizeSidebar","toolbar","undo","undoTitle","redo","redoTitle","enterFullscreen","exitFullscreen","switchToEdit","switchToInteract","switchToInteractShort","showSidebar","hideSidebar","viewport","groupLabel","desktop","tablet","mobile","responsive","sidebar","tabs","page","block","settings","blockSelected","noBlockSelected","validationLabel","validationSingular","validationPlural","blocks","kicker","emptyPrompt","addBlock","blockName","blockNamePlaceholder","schemaError","drawerSingular","drawerPlural","deselect","actions","moveUp","moveUpLabel","moveDown","moveDownLabel","duplicate","duplicateLabel","addBelow","addBelowLabel","delete","deleteLabel","documentFields","noFields","noSettings","preview","title","loading","resizeLeft","resizeRight","error","heading","unknown","tryAgain","closeEditor","banner","builtBy","star","github","reportBug","globalLabel","globalDescription","tabLabel","tabDescription","position","positionRight","positionLeft","forceFullWidth","forceFullWidthDesc","tabletWidth","mobileWidth","outline","topLevelColor","topLevelColorDesc","nestedColor","nestedColorDesc","outlineWidth","outlineWidthDesc","enabled","anchorCorner","topRight","topLeft","bottomRight","bottomLeft","validation","colorRequired","colorInvalid","mustBeNumber","outlineRange"],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,MAAMA,KAA+B;IAC1CC,QAAQ;QACNC,MAAM;QACNC,OAAO;IACT;IACAC,SAAS;QACPC,aAAa;QACbC,eAAe;IACjB;IACAC,SAAS;QACPC,MAAM;QACNC,WAAW;QACXC,MAAM;QACNC,WAAW;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,cAAc;QACdC,kBAAkB;QAClBC,uBAAuB;QACvBC,aAAa;QACbC,aAAa;IACf;IACAC,UAAU;QACRC,YAAY;QACZC,SAAS;QACTC,QAAQ;QACRC,QAAQ;QACRC,YAAY;IACd;IACAC,SAAS;QACPC,MAAM;YACJC,MAAM;YACNC,OAAO;YACPC,UAAU;QACZ;QACAC,eAAe;QACfC,iBAAiB;QACjBC,iBAAiB;QACjBC,oBAAoB;QACpBC,kBAAkB;IACpB;IACAC,QAAQ;QACNC,QAAQ;QACRC,aAAa;QACbC,UAAU;QACVC,WAAW;QACXC,sBAAsB;QACtBC,aAAa;QACbC,gBAAgB;QAChBC,cAAc;QACdC,UAAU;QACVC,SAAS;YACPtC,SAAS;YACTuC,QAAQ;YACRC,aAAa;YACbC,UAAU;YACVC,eAAe;YACfC,WAAW;YACXC,gBAAgB;YAChBC,UAAU;YACVC,eAAe;YACfC,QAAQ;YACRC,aAAa;QACf;IACF;IACAC,gBAAgB;QACdC,UAAU;QACVC,YAAY;IACd;IACAC,SAAS;QACPC,OAAO;QACPC,SAAS;QACTC,YAAY;QACZC,aAAa;IACf;IACAC,OAAO;QACLC,SAAS;QACTC,SAAS;QACTC,UAAU;QACVC,aAAa;IACf;IACAC,QAAQ;QACNC,SAAS;QACTC,MAAM;QACNC,QAAQ;QACRC,WAAW;IACb;IACA5C,UAAU;QACR6C,aAAa;QACbC,mBAAmB;QACnBlD,SAAS;YACPmD,UAAU;YACVC,gBAAgB;YAChBC,UAAU;YACVC,eAAe;YACfC,cAAc;YACdC,gBAAgB;YAChBC,oBACE;QACJ;QACA/D,UAAU;YACRyD,UAAU;YACVC,gBAAgB;YAChBM,aAAa;YACbC,aAAa;QACf;QACAC,SAAS;YACPT,UAAU;YACVC,gBAAgB;YAChBS,eAAe;YACfC,mBAAmB;YACnBC,aAAa;YACbC,iBAAiB;YACjBC,cAAc;YACdC,kBAAkB;QACpB;QACApF,SAAS;YACPqE,UAAU;YACVC,gBACE;YACFe,SAAS;YACTC,cAAc;YACdC,UAAU;YACVC,SAAS;YACTC,aAAa;YACbC,YAAY;QACd;QACAC,YAAY;YACVC,eAAe;YACfC,cAAc;YACdC,cAAc;YACdC,cAAc;QAChB;IACF;AACF,EAAC"}
@@ -0,0 +1,2 @@
1
+ import type { BetterEditorTranslations } from './types';
2
+ export declare const uk: BetterEditorTranslations;
@@ -0,0 +1,136 @@
1
+ // Machine-translated (not reviewed by a native speaker) — may contain errors.
2
+ export const uk = {
3
+ toggle: {
4
+ open: 'Відкрити Better Editor',
5
+ close: 'Закрити Better Editor'
6
+ },
7
+ overlay: {
8
+ dialogLabel: 'Better Editor',
9
+ resizeSidebar: 'Змінити розмір бічної панелі (використовуйте стрілки ← / →)'
10
+ },
11
+ toolbar: {
12
+ undo: 'Скасувати',
13
+ undoTitle: 'Скасувати (Cmd/Ctrl+Z)',
14
+ redo: 'Повторити',
15
+ redoTitle: 'Повторити (Cmd/Ctrl+Shift+Z)',
16
+ enterFullscreen: 'Увімкнути повноекранний режим',
17
+ exitFullscreen: 'Вийти з повноекранного режиму',
18
+ switchToEdit: 'Перейти в режим редагування',
19
+ switchToInteract: 'Перейти в режим взаємодії (форми, акордеони, посилання)',
20
+ switchToInteractShort: 'Перейти в режим взаємодії',
21
+ showSidebar: 'Показати бічну панель',
22
+ hideSidebar: 'Приховати бічну панель'
23
+ },
24
+ viewport: {
25
+ groupLabel: 'Область попереднього перегляду',
26
+ desktop: 'Комп’ютер',
27
+ tablet: 'Планшет',
28
+ mobile: 'Смартфон',
29
+ responsive: 'Адаптивний (перетягніть, щоб змінити розмір)'
30
+ },
31
+ sidebar: {
32
+ tabs: {
33
+ page: 'Сторінка',
34
+ block: 'Блоки',
35
+ settings: 'Налаштування'
36
+ },
37
+ blockSelected: 'Вибрано блок: ',
38
+ noBlockSelected: 'Блок не вибрано',
39
+ validationLabel: 'Помилки перевірки',
40
+ validationSingular: '1 поле потребує уваги',
41
+ validationPlural: ' полів потребує уваги'
42
+ },
43
+ blocks: {
44
+ kicker: 'Блок',
45
+ emptyPrompt: 'Виберіть блок у попередньому перегляді, щоб редагувати його налаштування.',
46
+ addBlock: 'Додати блок',
47
+ blockName: 'Назва блоку',
48
+ blockNamePlaceholder: 'Необов’язкова мітка для цього блоку',
49
+ schemaError: 'Не вдалося визначити схему блоку для цього шляху.',
50
+ drawerSingular: 'Блок',
51
+ drawerPlural: 'Блоки',
52
+ deselect: 'Скасувати вибір',
53
+ actions: {
54
+ toolbar: 'Дії з блоком',
55
+ moveUp: 'Перемістити вгору',
56
+ moveUpLabel: 'Перемістити блок вгору',
57
+ moveDown: 'Перемістити вниз',
58
+ moveDownLabel: 'Перемістити блок вниз',
59
+ duplicate: 'Дублювати',
60
+ duplicateLabel: 'Дублювати блок',
61
+ addBelow: 'Додати блок нижче',
62
+ addBelowLabel: 'Додати блок нижче',
63
+ delete: 'Видалити',
64
+ deleteLabel: 'Видалити блок'
65
+ }
66
+ },
67
+ documentFields: {
68
+ noFields: 'Полів рівня документа не знайдено.',
69
+ noSettings: 'Немає налаштувань документа.'
70
+ },
71
+ preview: {
72
+ title: 'Попередній перегляд Better Editor',
73
+ loading: 'Завантаження попереднього перегляду',
74
+ resizeLeft: 'Змінити розмір попереднього перегляду зліва',
75
+ resizeRight: 'Змінити розмір попереднього перегляду справа'
76
+ },
77
+ error: {
78
+ heading: 'Better Editor аварійно завершив роботу',
79
+ unknown: 'Невідома помилка.',
80
+ tryAgain: 'Спробувати ще раз',
81
+ closeEditor: 'Закрити редактор'
82
+ },
83
+ banner: {
84
+ builtBy: 'Якщо цей плагін вам корисний, будь ласка, поставте зірку ⭐',
85
+ star: 'Star',
86
+ github: 'GitHub',
87
+ reportBug: 'Повідомити про помилку'
88
+ },
89
+ settings: {
90
+ globalLabel: 'Налаштування',
91
+ globalDescription: 'Загальні налаштування накладки Better Editor.',
92
+ sidebar: {
93
+ tabLabel: 'Бічна панель',
94
+ tabDescription: 'Де розташована бічна панель і як складаються її поля.',
95
+ position: 'Розташування',
96
+ positionRight: 'Праворуч',
97
+ positionLeft: 'Ліворуч',
98
+ forceFullWidth: 'Складати поля на всю ширину',
99
+ forceFullWidthDesc: 'Перевизначити admin.width для полів бічної панелі, щоб вони завжди займали весь рядок.'
100
+ },
101
+ viewport: {
102
+ tabLabel: 'Область перегляду',
103
+ tabDescription: 'Ширина в пікселях для режимів попереднього перегляду «Планшет» і «Смартфон».',
104
+ tabletWidth: 'Планшет (px)',
105
+ mobileWidth: 'Смартфон (px)'
106
+ },
107
+ outline: {
108
+ tabLabel: 'Контур',
109
+ tabDescription: 'Контур + відтінок, що показується на наведеному або вибраному блоці.',
110
+ topLevelColor: 'Колір верхнього рівня',
111
+ topLevelColorDesc: 'Шістнадцятковий колір (напр. `#3b82f6`).',
112
+ nestedColor: 'Колір вкладених блоків',
113
+ nestedColorDesc: 'Шістнадцятковий колір для блоків, вкладених в інший блок.',
114
+ outlineWidth: 'Товщина контуру (px)',
115
+ outlineWidthDesc: 'Товщина контуру в пікселях (1–5).'
116
+ },
117
+ toolbar: {
118
+ tabLabel: 'Панель інструментів',
119
+ tabDescription: 'Плаваюча панель «Перемістити / Дублювати / Видалити», що з’являється на вибраному блоці.',
120
+ enabled: 'Увімкнено',
121
+ anchorCorner: 'Кут прив’язки',
122
+ topRight: 'Праворуч угорі',
123
+ topLeft: 'Ліворуч угорі',
124
+ bottomRight: 'Праворуч унизу',
125
+ bottomLeft: 'Ліворуч унизу'
126
+ },
127
+ validation: {
128
+ colorRequired: 'Колір обов’язковий',
129
+ colorInvalid: 'Має бути шістнадцятковий колір (напр. #3b82f6) або rgb()/rgba()',
130
+ mustBeNumber: 'Має бути числом',
131
+ outlineRange: 'Має бути від 1 до 5'
132
+ }
133
+ }
134
+ };
135
+
136
+ //# sourceMappingURL=uk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/i18n/uk.ts"],"sourcesContent":["// Machine-translated (not reviewed by a native speaker) — may contain errors.\nimport type { BetterEditorTranslations } from './types'\n\nexport const uk: BetterEditorTranslations = {\n toggle: {\n open: 'Відкрити Better Editor',\n close: 'Закрити Better Editor',\n },\n overlay: {\n dialogLabel: 'Better Editor',\n resizeSidebar: 'Змінити розмір бічної панелі (використовуйте стрілки ← / →)',\n },\n toolbar: {\n undo: 'Скасувати',\n undoTitle: 'Скасувати (Cmd/Ctrl+Z)',\n redo: 'Повторити',\n redoTitle: 'Повторити (Cmd/Ctrl+Shift+Z)',\n enterFullscreen: 'Увімкнути повноекранний режим',\n exitFullscreen: 'Вийти з повноекранного режиму',\n switchToEdit: 'Перейти в режим редагування',\n switchToInteract: 'Перейти в режим взаємодії (форми, акордеони, посилання)',\n switchToInteractShort: 'Перейти в режим взаємодії',\n showSidebar: 'Показати бічну панель',\n hideSidebar: 'Приховати бічну панель',\n },\n viewport: {\n groupLabel: 'Область попереднього перегляду',\n desktop: 'Комп’ютер',\n tablet: 'Планшет',\n mobile: 'Смартфон',\n responsive: 'Адаптивний (перетягніть, щоб змінити розмір)',\n },\n sidebar: {\n tabs: {\n page: 'Сторінка',\n block: 'Блоки',\n settings: 'Налаштування',\n },\n blockSelected: 'Вибрано блок: ',\n noBlockSelected: 'Блок не вибрано',\n validationLabel: 'Помилки перевірки',\n validationSingular: '1 поле потребує уваги',\n validationPlural: ' полів потребує уваги',\n },\n blocks: {\n kicker: 'Блок',\n emptyPrompt: 'Виберіть блок у попередньому перегляді, щоб редагувати його налаштування.',\n addBlock: 'Додати блок',\n blockName: 'Назва блоку',\n blockNamePlaceholder: 'Необов’язкова мітка для цього блоку',\n schemaError: 'Не вдалося визначити схему блоку для цього шляху.',\n drawerSingular: 'Блок',\n drawerPlural: 'Блоки',\n deselect: 'Скасувати вибір',\n actions: {\n toolbar: 'Дії з блоком',\n moveUp: 'Перемістити вгору',\n moveUpLabel: 'Перемістити блок вгору',\n moveDown: 'Перемістити вниз',\n moveDownLabel: 'Перемістити блок вниз',\n duplicate: 'Дублювати',\n duplicateLabel: 'Дублювати блок',\n addBelow: 'Додати блок нижче',\n addBelowLabel: 'Додати блок нижче',\n delete: 'Видалити',\n deleteLabel: 'Видалити блок',\n },\n },\n documentFields: {\n noFields: 'Полів рівня документа не знайдено.',\n noSettings: 'Немає налаштувань документа.',\n },\n preview: {\n title: 'Попередній перегляд Better Editor',\n loading: 'Завантаження попереднього перегляду',\n resizeLeft: 'Змінити розмір попереднього перегляду зліва',\n resizeRight: 'Змінити розмір попереднього перегляду справа',\n },\n error: {\n heading: 'Better Editor аварійно завершив роботу',\n unknown: 'Невідома помилка.',\n tryAgain: 'Спробувати ще раз',\n closeEditor: 'Закрити редактор',\n },\n banner: {\n builtBy: 'Якщо цей плагін вам корисний, будь ласка, поставте зірку ⭐',\n star: 'Star',\n github: 'GitHub',\n reportBug: 'Повідомити про помилку',\n },\n settings: {\n globalLabel: 'Налаштування',\n globalDescription: 'Загальні налаштування накладки Better Editor.',\n sidebar: {\n tabLabel: 'Бічна панель',\n tabDescription: 'Де розташована бічна панель і як складаються її поля.',\n position: 'Розташування',\n positionRight: 'Праворуч',\n positionLeft: 'Ліворуч',\n forceFullWidth: 'Складати поля на всю ширину',\n forceFullWidthDesc:\n 'Перевизначити admin.width для полів бічної панелі, щоб вони завжди займали весь рядок.',\n },\n viewport: {\n tabLabel: 'Область перегляду',\n tabDescription: 'Ширина в пікселях для режимів попереднього перегляду «Планшет» і «Смартфон».',\n tabletWidth: 'Планшет (px)',\n mobileWidth: 'Смартфон (px)',\n },\n outline: {\n tabLabel: 'Контур',\n tabDescription: 'Контур + відтінок, що показується на наведеному або вибраному блоці.',\n topLevelColor: 'Колір верхнього рівня',\n topLevelColorDesc: 'Шістнадцятковий колір (напр. `#3b82f6`).',\n nestedColor: 'Колір вкладених блоків',\n nestedColorDesc: 'Шістнадцятковий колір для блоків, вкладених в інший блок.',\n outlineWidth: 'Товщина контуру (px)',\n outlineWidthDesc: 'Товщина контуру в пікселях (1–5).',\n },\n toolbar: {\n tabLabel: 'Панель інструментів',\n tabDescription:\n 'Плаваюча панель «Перемістити / Дублювати / Видалити», що з’являється на вибраному блоці.',\n enabled: 'Увімкнено',\n anchorCorner: 'Кут прив’язки',\n topRight: 'Праворуч угорі',\n topLeft: 'Ліворуч угорі',\n bottomRight: 'Праворуч унизу',\n bottomLeft: 'Ліворуч унизу',\n },\n validation: {\n colorRequired: 'Колір обов’язковий',\n colorInvalid: 'Має бути шістнадцятковий колір (напр. #3b82f6) або rgb()/rgba()',\n mustBeNumber: 'Має бути числом',\n outlineRange: 'Має бути від 1 до 5',\n },\n },\n}\n"],"names":["uk","toggle","open","close","overlay","dialogLabel","resizeSidebar","toolbar","undo","undoTitle","redo","redoTitle","enterFullscreen","exitFullscreen","switchToEdit","switchToInteract","switchToInteractShort","showSidebar","hideSidebar","viewport","groupLabel","desktop","tablet","mobile","responsive","sidebar","tabs","page","block","settings","blockSelected","noBlockSelected","validationLabel","validationSingular","validationPlural","blocks","kicker","emptyPrompt","addBlock","blockName","blockNamePlaceholder","schemaError","drawerSingular","drawerPlural","deselect","actions","moveUp","moveUpLabel","moveDown","moveDownLabel","duplicate","duplicateLabel","addBelow","addBelowLabel","delete","deleteLabel","documentFields","noFields","noSettings","preview","title","loading","resizeLeft","resizeRight","error","heading","unknown","tryAgain","closeEditor","banner","builtBy","star","github","reportBug","globalLabel","globalDescription","tabLabel","tabDescription","position","positionRight","positionLeft","forceFullWidth","forceFullWidthDesc","tabletWidth","mobileWidth","outline","topLevelColor","topLevelColorDesc","nestedColor","nestedColorDesc","outlineWidth","outlineWidthDesc","enabled","anchorCorner","topRight","topLeft","bottomRight","bottomLeft","validation","colorRequired","colorInvalid","mustBeNumber","outlineRange"],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,MAAMA,KAA+B;IAC1CC,QAAQ;QACNC,MAAM;QACNC,OAAO;IACT;IACAC,SAAS;QACPC,aAAa;QACbC,eAAe;IACjB;IACAC,SAAS;QACPC,MAAM;QACNC,WAAW;QACXC,MAAM;QACNC,WAAW;QACXC,iBAAiB;QACjBC,gBAAgB;QAChBC,cAAc;QACdC,kBAAkB;QAClBC,uBAAuB;QACvBC,aAAa;QACbC,aAAa;IACf;IACAC,UAAU;QACRC,YAAY;QACZC,SAAS;QACTC,QAAQ;QACRC,QAAQ;QACRC,YAAY;IACd;IACAC,SAAS;QACPC,MAAM;YACJC,MAAM;YACNC,OAAO;YACPC,UAAU;QACZ;QACAC,eAAe;QACfC,iBAAiB;QACjBC,iBAAiB;QACjBC,oBAAoB;QACpBC,kBAAkB;IACpB;IACAC,QAAQ;QACNC,QAAQ;QACRC,aAAa;QACbC,UAAU;QACVC,WAAW;QACXC,sBAAsB;QACtBC,aAAa;QACbC,gBAAgB;QAChBC,cAAc;QACdC,UAAU;QACVC,SAAS;YACPtC,SAAS;YACTuC,QAAQ;YACRC,aAAa;YACbC,UAAU;YACVC,eAAe;YACfC,WAAW;YACXC,gBAAgB;YAChBC,UAAU;YACVC,eAAe;YACfC,QAAQ;YACRC,aAAa;QACf;IACF;IACAC,gBAAgB;QACdC,UAAU;QACVC,YAAY;IACd;IACAC,SAAS;QACPC,OAAO;QACPC,SAAS;QACTC,YAAY;QACZC,aAAa;IACf;IACAC,OAAO;QACLC,SAAS;QACTC,SAAS;QACTC,UAAU;QACVC,aAAa;IACf;IACAC,QAAQ;QACNC,SAAS;QACTC,MAAM;QACNC,QAAQ;QACRC,WAAW;IACb;IACA5C,UAAU;QACR6C,aAAa;QACbC,mBAAmB;QACnBlD,SAAS;YACPmD,UAAU;YACVC,gBAAgB;YAChBC,UAAU;YACVC,eAAe;YACfC,cAAc;YACdC,gBAAgB;YAChBC,oBACE;QACJ;QACA/D,UAAU;YACRyD,UAAU;YACVC,gBAAgB;YAChBM,aAAa;YACbC,aAAa;QACf;QACAC,SAAS;YACPT,UAAU;YACVC,gBAAgB;YAChBS,eAAe;YACfC,mBAAmB;YACnBC,aAAa;YACbC,iBAAiB;YACjBC,cAAc;YACdC,kBAAkB;QACpB;QACApF,SAAS;YACPqE,UAAU;YACVC,gBACE;YACFe,SAAS;YACTC,cAAc;YACdC,UAAU;YACVC,SAAS;YACTC,aAAa;YACbC,YAAY;QACd;QACAC,YAAY;YACVC,eAAe;YACfC,cAAc;YACdC,cAAc;YACdC,cAAc;QAChB;IACF;AACF,EAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { BETTER_EDITOR_SETTINGS_BANNER_FIELD, betterEditorSettingsGlobal } from './global';
2
2
  import { normalizeEntities } from './internal/entities';
3
- import { en } from './i18n/en';
4
- import { de } from './i18n/de';
3
+ import { translations as builtinTranslations } from './i18n';
5
4
  import { mergeTranslations } from './i18n/merge';
6
5
  export { BETTER_EDITOR_SETTINGS_SLUG, betterEditorSettingsGlobal } from './global';
7
6
  export { VERSION } from './version';
@@ -101,14 +100,13 @@ const warnMissingBlocksField = (kind, slug, blocksField)=>{
101
100
  ...config.i18n,
102
101
  translations: {
103
102
  ...existingTranslations,
104
- en: {
105
- ...existingTranslations.en ?? {},
106
- betterEditor: mergeTranslations(en, existingTranslations.en)
107
- },
108
- de: {
109
- ...existingTranslations.de ?? {},
110
- betterEditor: mergeTranslations(de, existingTranslations.de)
111
- }
103
+ ...Object.fromEntries(Object.entries(builtinTranslations).map(([locale, builtin])=>[
104
+ locale,
105
+ {
106
+ ...existingTranslations[locale] ?? {},
107
+ betterEditor: mergeTranslations(builtin, existingTranslations[locale])
108
+ }
109
+ ]))
112
110
  }
113
111
  };
114
112
  if (collectionMap.size === 0 && globalMap.size === 0) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { CollectionConfig, Config, Field, GlobalConfig } from 'payload'\nimport type { BetterEditorConfig } from './types'\nimport { BETTER_EDITOR_SETTINGS_BANNER_FIELD, betterEditorSettingsGlobal } from './global'\nimport { normalizeEntities } from './internal/entities'\nimport { en } from './i18n/en'\nimport { de } from './i18n/de'\nimport { mergeTranslations } from './i18n/merge'\n\nexport type { BetterEditorConfig }\nexport type { BetterEditorSettings, HoverToolbarPosition } from './state/useBetterEditorSettings'\nexport type { SidebarPosition } from './internal/constants'\nexport type { BetterEditorTranslations } from './i18n/types'\nexport { BETTER_EDITOR_SETTINGS_SLUG, betterEditorSettingsGlobal } from './global'\n\n/** Plugin signature — handy for typing plugin lists in consumer code. */\nexport type BetterEditorPlugin = (config: Config) => Config\n\nexport { VERSION } from './version'\n\nconst DEFAULT_BLOCKS_FIELD = 'layout'\nconst TOGGLE_COMPONENT_PATH = 'payload-better-editor/client#LiveEditorToggle'\nconst isDev = process.env.NODE_ENV !== 'production'\n\n/**\n * Checks whether a field with the given `name` exists at the document's\n * top-level data path. Recurses into presentational containers that do\n * not introduce a path segment (`tabs` without a name, `row`, `collapsible`)\n * but stops at `group` and named tabs, since those namespace their children.\n */\nconst hasBlocksField = (fields: Field[] | undefined, name: string): boolean => {\n if (!Array.isArray(fields)) return false\n return fields.some((field) => {\n if ('name' in field && field.name === name) return true\n if (field.type === 'row' || field.type === 'collapsible') {\n return hasBlocksField(field.fields, name)\n }\n if (field.type === 'tabs') {\n return field.tabs.some((tab) =>\n 'name' in tab && tab.name ? false : hasBlocksField(tab.fields, name),\n )\n }\n return false\n })\n}\n\ntype ToggleSlot = 'edit' | 'elements'\n\ntype ToggleClientProps = {\n blocksField: string\n adminPortalSelector?: string\n storageNamespace?: string\n hideToggleLabel?: boolean\n}\n\nconst withToggleInjected = <T extends CollectionConfig | GlobalConfig>(\n entity: T,\n slot: ToggleSlot,\n clientProps: ToggleClientProps,\n): T => {\n const admin = { ...(entity.admin ?? {}) } as NonNullable<T['admin']>\n const components = { ...(admin.components ?? {}) } as Record<string, unknown>\n const target = { ...((components[slot] as Record<string, unknown>) ?? {}) }\n const before = (target.beforeDocumentControls as unknown[]) ?? []\n return {\n ...entity,\n admin: {\n ...admin,\n components: {\n ...components,\n [slot]: {\n ...target,\n beforeDocumentControls: [\n ...before,\n { path: TOGGLE_COMPONENT_PATH, clientProps },\n ],\n },\n },\n },\n }\n}\n\nconst warnMissingBlocksField = (kind: 'collection' | 'global', slug: string, blocksField: string) => {\n\n console.warn(\n `[better-editor] ${kind} \"${slug}\" has no top-level field named \"${blocksField}\" — the sidebar Blocks tab will be empty. Set \\`blocksField\\` to the actual blocks field name.`,\n )\n}\n\n/**\n * Payload CMS plugin factory for the Better Editor overlay. Adds an\n * \"Open Better Editor\" toggle to the configured collections / globals\n * and registers a `BetterEditorSettings` global with editor-wide options.\n *\n * @example\n * import { betterEditor } from 'payload-better-editor'\n *\n * export default buildConfig({\n * plugins: [betterEditor({ collections: ['pages'] })],\n * // ...\n * })\n *\n * @see {@link BetterEditorConfig} for all options.\n */\nexport const betterEditor =\n (pluginOptions?: BetterEditorConfig): BetterEditorPlugin =>\n (config: Config): Config => {\n if (pluginOptions?.disabled) return config\n\n const defaultBlocksField = pluginOptions?.blocksField || DEFAULT_BLOCKS_FIELD\n const collectionMap = normalizeEntities(pluginOptions?.collections, defaultBlocksField)\n const globalMap = normalizeEntities(pluginOptions?.globals, defaultBlocksField)\n const toggleClientProps = (blocksField: string): ToggleClientProps => ({\n blocksField,\n adminPortalSelector: pluginOptions?.adminPortalSelector,\n storageNamespace: pluginOptions?.storageNamespace,\n hideToggleLabel: pluginOptions?.hideToggleLabel,\n })\n\n const showBanner = pluginOptions?.showSettingsBanner !== false\n const settingsGlobal: GlobalConfig = showBanner\n ? betterEditorSettingsGlobal\n : {\n ...betterEditorSettingsGlobal,\n fields: betterEditorSettingsGlobal.fields.filter(\n (f) => !('name' in f && f.name === BETTER_EDITOR_SETTINGS_BANNER_FIELD),\n ),\n }\n\n const existingGlobals = config.globals ?? []\n const hasSettingsGlobal = existingGlobals.some((g) => g.slug === settingsGlobal.slug)\n config.globals = hasSettingsGlobal\n ? existingGlobals\n : [...existingGlobals, settingsGlobal]\n\n const existingTranslations = config.i18n?.translations ?? {}\n config.i18n = {\n ...config.i18n,\n translations: {\n ...existingTranslations,\n en: {\n ...(existingTranslations.en as object ?? {}),\n betterEditor: mergeTranslations(en, existingTranslations.en),\n },\n de: {\n ...(existingTranslations.de as object ?? {}),\n betterEditor: mergeTranslations(de, existingTranslations.de),\n },\n },\n }\n\n if (collectionMap.size === 0 && globalMap.size === 0) {\n if (isDev) {\n\n console.warn(\n '[better-editor] plugin loaded with empty `collections` and `globals` — toggle button will not appear anywhere. Pass `collections: [\"pages\"]` (or similar) to BetterEditorConfig.',\n )\n }\n return config\n }\n\n if (collectionMap.size > 0 && config.collections) {\n config.collections = config.collections.map((collection) => {\n const blocksField = collectionMap.get(collection.slug)\n if (blocksField === undefined) return collection\n if (isDev && !hasBlocksField(collection.fields, blocksField)) {\n warnMissingBlocksField('collection', collection.slug, blocksField)\n }\n return withToggleInjected(collection, 'edit', toggleClientProps(blocksField))\n })\n }\n\n if (globalMap.size > 0) {\n config.globals = (config.globals ?? []).map((global) => {\n const blocksField = globalMap.get(global.slug)\n if (blocksField === undefined) return global\n if (isDev && !hasBlocksField(global.fields, blocksField)) {\n warnMissingBlocksField('global', global.slug, blocksField)\n }\n return withToggleInjected(global, 'elements', toggleClientProps(blocksField))\n })\n }\n\n return config\n }\n"],"names":["BETTER_EDITOR_SETTINGS_BANNER_FIELD","betterEditorSettingsGlobal","normalizeEntities","en","de","mergeTranslations","BETTER_EDITOR_SETTINGS_SLUG","VERSION","DEFAULT_BLOCKS_FIELD","TOGGLE_COMPONENT_PATH","isDev","process","env","NODE_ENV","hasBlocksField","fields","name","Array","isArray","some","field","type","tabs","tab","withToggleInjected","entity","slot","clientProps","admin","components","target","before","beforeDocumentControls","path","warnMissingBlocksField","kind","slug","blocksField","console","warn","betterEditor","pluginOptions","config","disabled","defaultBlocksField","collectionMap","collections","globalMap","globals","toggleClientProps","adminPortalSelector","storageNamespace","hideToggleLabel","showBanner","showSettingsBanner","settingsGlobal","filter","f","existingGlobals","hasSettingsGlobal","g","existingTranslations","i18n","translations","size","map","collection","get","undefined","global"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { CollectionConfig, Config, Field, GlobalConfig } from 'payload'\nimport type { BetterEditorConfig } from './types'\nimport { BETTER_EDITOR_SETTINGS_BANNER_FIELD, betterEditorSettingsGlobal } from './global'\nimport { normalizeEntities } from './internal/entities'\nimport { translations as builtinTranslations } from './i18n'\nimport { mergeTranslations } from './i18n/merge'\n\nexport type { BetterEditorConfig }\nexport type { BetterEditorSettings, HoverToolbarPosition } from './state/useBetterEditorSettings'\nexport type { SidebarPosition } from './internal/constants'\nexport type { BetterEditorTranslations } from './i18n/types'\nexport { BETTER_EDITOR_SETTINGS_SLUG, betterEditorSettingsGlobal } from './global'\n\n/** Plugin signature — handy for typing plugin lists in consumer code. */\nexport type BetterEditorPlugin = (config: Config) => Config\n\nexport { VERSION } from './version'\n\nconst DEFAULT_BLOCKS_FIELD = 'layout'\nconst TOGGLE_COMPONENT_PATH = 'payload-better-editor/client#LiveEditorToggle'\nconst isDev = process.env.NODE_ENV !== 'production'\n\n/**\n * Checks whether a field with the given `name` exists at the document's\n * top-level data path. Recurses into presentational containers that do\n * not introduce a path segment (`tabs` without a name, `row`, `collapsible`)\n * but stops at `group` and named tabs, since those namespace their children.\n */\nconst hasBlocksField = (fields: Field[] | undefined, name: string): boolean => {\n if (!Array.isArray(fields)) return false\n return fields.some((field) => {\n if ('name' in field && field.name === name) return true\n if (field.type === 'row' || field.type === 'collapsible') {\n return hasBlocksField(field.fields, name)\n }\n if (field.type === 'tabs') {\n return field.tabs.some((tab) =>\n 'name' in tab && tab.name ? false : hasBlocksField(tab.fields, name),\n )\n }\n return false\n })\n}\n\ntype ToggleSlot = 'edit' | 'elements'\n\ntype ToggleClientProps = {\n blocksField: string\n adminPortalSelector?: string\n storageNamespace?: string\n hideToggleLabel?: boolean\n}\n\nconst withToggleInjected = <T extends CollectionConfig | GlobalConfig>(\n entity: T,\n slot: ToggleSlot,\n clientProps: ToggleClientProps,\n): T => {\n const admin = { ...(entity.admin ?? {}) } as NonNullable<T['admin']>\n const components = { ...(admin.components ?? {}) } as Record<string, unknown>\n const target = { ...((components[slot] as Record<string, unknown>) ?? {}) }\n const before = (target.beforeDocumentControls as unknown[]) ?? []\n return {\n ...entity,\n admin: {\n ...admin,\n components: {\n ...components,\n [slot]: {\n ...target,\n beforeDocumentControls: [\n ...before,\n { path: TOGGLE_COMPONENT_PATH, clientProps },\n ],\n },\n },\n },\n }\n}\n\nconst warnMissingBlocksField = (kind: 'collection' | 'global', slug: string, blocksField: string) => {\n\n console.warn(\n `[better-editor] ${kind} \"${slug}\" has no top-level field named \"${blocksField}\" — the sidebar Blocks tab will be empty. Set \\`blocksField\\` to the actual blocks field name.`,\n )\n}\n\n/**\n * Payload CMS plugin factory for the Better Editor overlay. Adds an\n * \"Open Better Editor\" toggle to the configured collections / globals\n * and registers a `BetterEditorSettings` global with editor-wide options.\n *\n * @example\n * import { betterEditor } from 'payload-better-editor'\n *\n * export default buildConfig({\n * plugins: [betterEditor({ collections: ['pages'] })],\n * // ...\n * })\n *\n * @see {@link BetterEditorConfig} for all options.\n */\nexport const betterEditor =\n (pluginOptions?: BetterEditorConfig): BetterEditorPlugin =>\n (config: Config): Config => {\n if (pluginOptions?.disabled) return config\n\n const defaultBlocksField = pluginOptions?.blocksField || DEFAULT_BLOCKS_FIELD\n const collectionMap = normalizeEntities(pluginOptions?.collections, defaultBlocksField)\n const globalMap = normalizeEntities(pluginOptions?.globals, defaultBlocksField)\n const toggleClientProps = (blocksField: string): ToggleClientProps => ({\n blocksField,\n adminPortalSelector: pluginOptions?.adminPortalSelector,\n storageNamespace: pluginOptions?.storageNamespace,\n hideToggleLabel: pluginOptions?.hideToggleLabel,\n })\n\n const showBanner = pluginOptions?.showSettingsBanner !== false\n const settingsGlobal: GlobalConfig = showBanner\n ? betterEditorSettingsGlobal\n : {\n ...betterEditorSettingsGlobal,\n fields: betterEditorSettingsGlobal.fields.filter(\n (f) => !('name' in f && f.name === BETTER_EDITOR_SETTINGS_BANNER_FIELD),\n ),\n }\n\n const existingGlobals = config.globals ?? []\n const hasSettingsGlobal = existingGlobals.some((g) => g.slug === settingsGlobal.slug)\n config.globals = hasSettingsGlobal\n ? existingGlobals\n : [...existingGlobals, settingsGlobal]\n\n const existingTranslations = (config.i18n?.translations ?? {}) as Record<\n string,\n Record<string, unknown> | undefined\n >\n config.i18n = {\n ...config.i18n,\n translations: {\n ...existingTranslations,\n ...Object.fromEntries(\n Object.entries(builtinTranslations).map(([locale, builtin]) => [\n locale,\n {\n ...(existingTranslations[locale] ?? {}),\n betterEditor: mergeTranslations(builtin, existingTranslations[locale]),\n },\n ]),\n ),\n },\n }\n\n if (collectionMap.size === 0 && globalMap.size === 0) {\n if (isDev) {\n\n console.warn(\n '[better-editor] plugin loaded with empty `collections` and `globals` — toggle button will not appear anywhere. Pass `collections: [\"pages\"]` (or similar) to BetterEditorConfig.',\n )\n }\n return config\n }\n\n if (collectionMap.size > 0 && config.collections) {\n config.collections = config.collections.map((collection) => {\n const blocksField = collectionMap.get(collection.slug)\n if (blocksField === undefined) return collection\n if (isDev && !hasBlocksField(collection.fields, blocksField)) {\n warnMissingBlocksField('collection', collection.slug, blocksField)\n }\n return withToggleInjected(collection, 'edit', toggleClientProps(blocksField))\n })\n }\n\n if (globalMap.size > 0) {\n config.globals = (config.globals ?? []).map((global) => {\n const blocksField = globalMap.get(global.slug)\n if (blocksField === undefined) return global\n if (isDev && !hasBlocksField(global.fields, blocksField)) {\n warnMissingBlocksField('global', global.slug, blocksField)\n }\n return withToggleInjected(global, 'elements', toggleClientProps(blocksField))\n })\n }\n\n return config\n }\n"],"names":["BETTER_EDITOR_SETTINGS_BANNER_FIELD","betterEditorSettingsGlobal","normalizeEntities","translations","builtinTranslations","mergeTranslations","BETTER_EDITOR_SETTINGS_SLUG","VERSION","DEFAULT_BLOCKS_FIELD","TOGGLE_COMPONENT_PATH","isDev","process","env","NODE_ENV","hasBlocksField","fields","name","Array","isArray","some","field","type","tabs","tab","withToggleInjected","entity","slot","clientProps","admin","components","target","before","beforeDocumentControls","path","warnMissingBlocksField","kind","slug","blocksField","console","warn","betterEditor","pluginOptions","config","disabled","defaultBlocksField","collectionMap","collections","globalMap","globals","toggleClientProps","adminPortalSelector","storageNamespace","hideToggleLabel","showBanner","showSettingsBanner","settingsGlobal","filter","f","existingGlobals","hasSettingsGlobal","g","existingTranslations","i18n","Object","fromEntries","entries","map","locale","builtin","size","collection","get","undefined","global"],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "1.3.0";
1
+ export declare const VERSION = "1.4.0";
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Package version, re-exported as VERSION; read by the settings banner without
2
2
  // pulling the server entry into the client bundle.
3
- export const VERSION = '1.3.0';
3
+ export const VERSION = '1.4.0';
4
4
 
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// Package version, re-exported as VERSION; read by the settings banner without\n// pulling the server entry into the client bundle.\nexport const VERSION = '1.3.0'\n"],"names":["VERSION"],"mappings":"AAAA,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,MAAMA,UAAU,QAAO"}
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// Package version, re-exported as VERSION; read by the settings banner without\n// pulling the server entry into the client bundle.\nexport const VERSION = '1.4.0'\n"],"names":["VERSION"],"mappings":"AAAA,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,MAAMA,UAAU,QAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload-better-editor",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Block editor plugin for Payload CMS that adds a side-by-side live-preview iframe and sidebar to the edit view.",
5
5
  "license": "MIT",
6
6
  "author": "scorpio-99",