create-nextjs-cms 0.5.23 → 0.5.25
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/index.js +11 -0
- package/package.json +6 -8
- package/templates/default/components/NewPage.tsx +2 -2
- package/templates/default/components/ProgressBar.tsx +46 -22
- package/templates/default/components/form/DateRangeFormInput.tsx +8 -6
- package/templates/default/components/form/helpers/_section-hot-reload.js +1 -1
- package/templates/default/components/form/inputs/DateFormInput.tsx +82 -34
- package/templates/default/components/form/inputs/MultipleSelectFormInput.tsx +40 -107
- package/templates/default/components/form/inputs/RichTextFormInput.tsx +2 -0
- package/templates/default/components/form/inputs/TagsFormInput.tsx +115 -26
- package/templates/default/components/form/inputs/TextFormInput.tsx +1 -1
- package/templates/default/components/multi-select.tsx +1144 -0
- package/templates/default/components/ui/badge.tsx +16 -12
- package/templates/default/components/ui/button.tsx +35 -30
- package/templates/default/components/ui/calendar.tsx +145 -47
- package/templates/default/components/ui/command.tsx +184 -0
- package/templates/default/components/ui/dialog.tsx +143 -0
- package/templates/default/components/ui/popover.tsx +39 -22
- package/templates/default/components/ui/progress.tsx +31 -0
- package/templates/default/components/ui/select.tsx +150 -149
- package/templates/default/components/ui/separator.tsx +28 -0
- package/templates/default/components.json +8 -3
- package/templates/default/{postinstall.js → lib/postinstall.js} +1 -1
- package/templates/default/lib/utils.ts +6 -0
- package/templates/default/{proxy.ts → middleware.ts} +3 -2
- package/templates/default/next-env.d.ts +1 -1
- package/templates/default/package.json +41 -53
- package/templates/default/public/tinymce/CHANGELOG.md +155 -0
- package/templates/default/public/tinymce/README.md +12 -12
- package/templates/default/public/tinymce/bower.json +1 -1
- package/templates/default/public/tinymce/composer.json +2 -2
- package/templates/default/public/tinymce/icons/default/icons.js +40 -32
- package/templates/default/public/tinymce/icons/default/icons.min.js +1 -1
- package/templates/default/public/tinymce/license.md +7 -4
- package/templates/default/public/tinymce/models/dom/model.js +36 -50
- package/templates/default/public/tinymce/models/dom/model.min.js +1 -1
- package/templates/default/public/tinymce/notices.txt +2 -2
- package/templates/default/public/tinymce/package.json +2 -2
- package/templates/default/public/tinymce/plugins/accordion/plugin.js +45 -21
- package/templates/default/public/tinymce/plugins/accordion/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/advlist/plugin.js +8 -6
- package/templates/default/public/tinymce/plugins/advlist/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/anchor/plugin.js +1 -1
- package/templates/default/public/tinymce/plugins/autolink/plugin.js +3 -6
- package/templates/default/public/tinymce/plugins/autolink/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/autoresize/plugin.js +4 -6
- package/templates/default/public/tinymce/plugins/autoresize/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/autosave/plugin.js +4 -7
- package/templates/default/public/tinymce/plugins/autosave/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/charmap/plugin.js +8 -8
- package/templates/default/public/tinymce/plugins/charmap/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/code/plugin.js +3 -2
- package/templates/default/public/tinymce/plugins/code/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/codesample/plugin.js +11 -10
- package/templates/default/public/tinymce/plugins/codesample/plugin.min.js +2 -2
- package/templates/default/public/tinymce/plugins/directionality/plugin.js +9 -11
- package/templates/default/public/tinymce/plugins/directionality/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/emoticons/plugin.js +7 -7
- package/templates/default/public/tinymce/plugins/emoticons/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/fullscreen/plugin.js +11 -13
- package/templates/default/public/tinymce/plugins/fullscreen/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/bg-BG.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/fr-FR.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/he-IL.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/hu-HU.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/ko-KR.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/nb-NO.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/pt-BR.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/pt-PT.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/sl-SI.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/sv-SE.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/th-TH.js +93 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/zh-CN.js +87 -0
- package/templates/default/public/tinymce/plugins/help/js/i18n/keynav/zh-TW.js +93 -0
- package/templates/default/public/tinymce/plugins/help/plugin.js +15 -17
- package/templates/default/public/tinymce/plugins/help/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/image/plugin.js +34 -32
- package/templates/default/public/tinymce/plugins/image/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/importcss/plugin.js +4 -6
- package/templates/default/public/tinymce/plugins/importcss/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/insertdatetime/plugin.js +4 -3
- package/templates/default/public/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/link/plugin.js +170 -38
- package/templates/default/public/tinymce/plugins/link/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/lists/plugin.js +111 -2053
- package/templates/default/public/tinymce/plugins/lists/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/media/plugin.js +15 -23
- package/templates/default/public/tinymce/plugins/media/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/nonbreaking/plugin.js +1 -1
- package/templates/default/public/tinymce/plugins/pagebreak/plugin.js +1 -1
- package/templates/default/public/tinymce/plugins/preview/plugin.js +88 -10
- package/templates/default/public/tinymce/plugins/preview/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/quickbars/plugin.js +9 -9
- package/templates/default/public/tinymce/plugins/quickbars/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/save/plugin.js +1 -1
- package/templates/default/public/tinymce/plugins/searchreplace/plugin.js +10 -13
- package/templates/default/public/tinymce/plugins/searchreplace/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/table/plugin.js +13 -24
- package/templates/default/public/tinymce/plugins/table/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/visualblocks/plugin.js +1 -1
- package/templates/default/public/tinymce/plugins/visualchars/plugin.js +9 -10
- package/templates/default/public/tinymce/plugins/visualchars/plugin.min.js +1 -1
- package/templates/default/public/tinymce/plugins/wordcount/plugin.js +1 -1
- package/templates/default/public/tinymce/skins/content/dark/content.min.ts +3 -0
- package/templates/default/public/tinymce/skins/content/dark/content.ts +3 -0
- package/templates/default/public/tinymce/skins/content/default/content.min.ts +3 -0
- package/templates/default/public/tinymce/skins/content/default/content.ts +3 -0
- package/templates/default/public/tinymce/skins/content/document/content.min.ts +3 -0
- package/templates/default/public/tinymce/skins/content/document/content.ts +3 -0
- package/templates/default/public/tinymce/skins/content/tinymce-5/content.min.ts +3 -0
- package/templates/default/public/tinymce/skins/content/tinymce-5/content.ts +3 -0
- package/templates/default/public/tinymce/skins/content/tinymce-5-dark/content.min.ts +3 -0
- package/templates/default/public/tinymce/skins/content/tinymce-5-dark/content.ts +3 -0
- package/templates/default/public/tinymce/skins/content/writer/content.min.ts +3 -0
- package/templates/default/public/tinymce/skins/content/writer/content.ts +3 -0
- package/templates/default/public/tinymce/skins/ui/oxide/content.css +144 -0
- package/templates/default/public/tinymce/skins/ui/oxide/content.inline.css +144 -0
- package/templates/default/public/tinymce/skins/ui/oxide/content.inline.js +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide/content.inline.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide/content.inline.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide/content.js +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide/content.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide/content.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide/content.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide/skin.css +923 -449
- package/templates/default/public/tinymce/skins/ui/oxide/skin.js +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide/skin.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide/skin.min.ts +507 -0
- package/templates/default/public/tinymce/skins/ui/oxide/skin.shadowdom.min.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/oxide/skin.shadowdom.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/oxide/skin.ts +507 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.css +144 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.inline.css +144 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.inline.js +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.inline.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.inline.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.js +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/content.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/skin.css +926 -452
- package/templates/default/public/tinymce/skins/ui/oxide-dark/skin.js +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/oxide-dark/skin.min.ts +507 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/oxide-dark/skin.ts +507 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.css +144 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.inline.css +144 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.inline.js +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.inline.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.inline.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.js +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/content.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/skin.css +924 -450
- package/templates/default/public/tinymce/skins/ui/tinymce-5/skin.js +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5/skin.min.ts +508 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5/skin.ts +508 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.css +144 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css +144 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.inline.js +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.inline.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.js +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.min.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/content.ts +116 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/skin.css +925 -451
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/skin.js +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/skin.min.ts +508 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.ts +9 -0
- package/templates/default/public/tinymce/skins/ui/tinymce-5-dark/skin.ts +508 -0
- package/templates/default/public/tinymce/themes/silver/theme.js +543 -593
- package/templates/default/public/tinymce/themes/silver/theme.min.js +1 -1
- package/templates/default/public/tinymce/tinymce.d.ts +559 -496
- package/templates/default/public/tinymce/tinymce.js +6788 -3964
- package/templates/default/public/tinymce/tinymce.min.js +3 -4
- package/templates/default/styles/globals.css +132 -107
- package/templates/default/tsconfig.json +45 -45
- package/templates/default/.prettierrc.json +0 -19
- package/templates/default/eslint.config.mjs +0 -38
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
tinymce.Resource.add('tinymce.html-i18n.help-keynav.th-TH',
|
|
2
|
+
'<h1>เริ่มต้นการนำทางด้วยแป้นพิมพ์</h1>\n' +
|
|
3
|
+
'\n' +
|
|
4
|
+
'<dl>\n' +
|
|
5
|
+
' <dt>โฟกัสที่แถบเมนู</dt>\n' +
|
|
6
|
+
' <dd>Windows หรือ Linux: Alt+F9</dd>\n' +
|
|
7
|
+
' <dd>macOS: ⌥F9</dd>\n' +
|
|
8
|
+
' <dt>โฟกัสที่แถบเครื่องมือ</dt>\n' +
|
|
9
|
+
' <dd>Windows หรือ Linux: Alt+F10</dd>\n' +
|
|
10
|
+
' <dd>macOS: ⌥F10</dd>\n' +
|
|
11
|
+
' <dt>โฟกัสที่ส่วนท้าย</dt>\n' +
|
|
12
|
+
' <dd>Windows หรือ Linux: Alt+F11</dd>\n' +
|
|
13
|
+
' <dd>macOS: ⌥F11</dd>\n' +
|
|
14
|
+
' <dt>โฟกัสไปที่การแจ้งเตือน</dt>\n' +
|
|
15
|
+
' <dd>Windows หรือ Linux: Alt+F12</dd>\n' +
|
|
16
|
+
' <dd>macOS: ⌥F12</dd>\n' +
|
|
17
|
+
' <dt>โฟกัสที่แถบเครื่องมือตามบริบท</dt>\n' +
|
|
18
|
+
' <dd>Windows, Linux หรือ macOS: Ctrl+F9</dd>\n' +
|
|
19
|
+
'</dl>\n' +
|
|
20
|
+
'\n' +
|
|
21
|
+
'<p>การนำทางจะเริ่มที่รายการ UI แรก ซึ่งจะมีการไฮไลต์หรือขีดเส้นใต้ไว้ในกรณีที่รายการแรกอยู่ใน\n' +
|
|
22
|
+
' พาธองค์ประกอบส่วนท้าย</p>\n' +
|
|
23
|
+
'\n' +
|
|
24
|
+
'<h1>การนำทางระหว่างส่วนต่างๆ ของ UI</h1>\n' +
|
|
25
|
+
'\n' +
|
|
26
|
+
'<p>ในการย้ายจากส่วน UI หนึ่งไปยังส่วนถัดไป ให้กด <strong>Tab</strong></p>\n' +
|
|
27
|
+
'\n' +
|
|
28
|
+
'<p>ในการย้ายจากส่วน UI หนึ่งไปยังส่วนก่อนหน้า ให้กด <strong>Shift+Tab</strong></p>\n' +
|
|
29
|
+
'\n' +
|
|
30
|
+
'<p>ลำดับ<strong>แท็บ</strong>ของส่วนต่างๆ ของ UI คือ:</p>\n' +
|
|
31
|
+
'\n' +
|
|
32
|
+
'<ol>\n' +
|
|
33
|
+
' <li>แถบเมนู</li>\n' +
|
|
34
|
+
' <li>แต่ละกลุ่มแถบเครื่องมือ</li>\n' +
|
|
35
|
+
' <li>แถบข้าง</li>\n' +
|
|
36
|
+
' <li>พาธองค์ประกอบในส่วนท้าย</li>\n' +
|
|
37
|
+
' <li>ปุ่มสลับเปิด/ปิดจำนวนคำในส่วนท้าย</li>\n' +
|
|
38
|
+
' <li>ลิงก์ชื่อแบรนด์ในส่วนท้าย</li>\n' +
|
|
39
|
+
' <li>จุดจับปรับขนาดของตัวแก้ไขในส่วนท้าย</li>\n' +
|
|
40
|
+
'</ol>\n' +
|
|
41
|
+
'\n' +
|
|
42
|
+
'<p>หากส่วน UI ไม่ปรากฏ แสดงว่าถูกข้ามไป</p>\n' +
|
|
43
|
+
'\n' +
|
|
44
|
+
'<p>หากส่วนท้ายมีการโฟกัสการนำทางแป้นพิมพ์และไม่มีแถบข้างปรากฏ การกด <strong>Shift+Tab</strong>\n' +
|
|
45
|
+
' จะย้ายการโฟกัสไปที่กลุ่มแถบเครื่องมือแรก ไม่ใช่สุดท้าย</p>\n' +
|
|
46
|
+
'\n' +
|
|
47
|
+
'<h1>การนำทางภายในส่วนต่างๆ ของ UI</h1>\n' +
|
|
48
|
+
'\n' +
|
|
49
|
+
'<p>ในการย้ายจากองค์ประกอบ UI หนึ่งไปยังองค์ประกอบส่วนถัดไป ให้กดปุ่ม<strong>ลูกศร</strong>ที่เหมาะสม</p>\n' +
|
|
50
|
+
'\n' +
|
|
51
|
+
'<p>ปุ่มลูกศร<strong>ซ้าย</strong>และ<strong>ขวา</strong></p>\n' +
|
|
52
|
+
'\n' +
|
|
53
|
+
'<ul>\n' +
|
|
54
|
+
' <li>ย้ายไปมาระหว่างเมนูต่างๆ ในแถบเมนู</li>\n' +
|
|
55
|
+
' <li>เปิดเมนูย่อยในเมนู</li>\n' +
|
|
56
|
+
' <li>ย้ายไปมาระหว่างปุ่มต่างๆ ในกลุ่มแถบเครื่องมือ</li>\n' +
|
|
57
|
+
' <li>ย้ายไปมาระหว่างรายการต่างๆ ในพาธองค์ประกอบของส่วนท้าย</li>\n' +
|
|
58
|
+
'</ul>\n' +
|
|
59
|
+
'\n' +
|
|
60
|
+
'<p>ปุ่มลูกศร<strong>ลง</strong>และ<strong>ขึ้น</strong></p>\n' +
|
|
61
|
+
'\n' +
|
|
62
|
+
'<ul>\n' +
|
|
63
|
+
' <li>ย้ายไปมาระหว่างรายการเมนูต่างๆ ในเมนู</li>\n' +
|
|
64
|
+
' <li>ย้ายไปมาระหว่างรายการต่างๆ ในเมนูป๊อบอัพแถบเครื่องมือ</li>\n' +
|
|
65
|
+
'</ul>\n' +
|
|
66
|
+
'\n' +
|
|
67
|
+
'<p>ปุ่ม<strong>ลูกศร</strong>จะเลื่อนไปมาภายในส่วน UI ที่โฟกัส</p>\n' +
|
|
68
|
+
'\n' +
|
|
69
|
+
'<p>ในการปิดเมนูที่เปิดอยู่ เมนูย่อยที่เปิดอยู่ หรือเมนูป๊อบอัพที่เปิดอยู่ ให้กดปุ่ม <strong>Esc</strong></p>\n' +
|
|
70
|
+
'\n' +
|
|
71
|
+
'<p>หากโฟกัสปัจจุบันอยู่ที่ ‘ด้านบนสุด’ ของส่วน UI เฉพาะ การกดปุ่ม <strong>Esc</strong> จะทำให้ออกจาก\n' +
|
|
72
|
+
' การนำทางด้วยแป้นพิมพ์ทั้งหมดเช่นกัน</p>\n' +
|
|
73
|
+
'\n' +
|
|
74
|
+
'<h1>การดำเนินการรายการเมนูหรือปุ่มในแถบเครื่องมือ</h1>\n' +
|
|
75
|
+
'\n' +
|
|
76
|
+
'<p>เมื่อไฮไลต์รายการเมนูหรือปุ่มในแถบเครื่องมือที่ต้องการ ให้กด <strong>Return</strong>, <strong>Enter</strong>\n' +
|
|
77
|
+
' หรือ <strong>Space bar</strong> เพื่อดำเนินการรายการดังกล่าว</p>\n' +
|
|
78
|
+
'\n' +
|
|
79
|
+
'<h1>การนำทางสำหรับกล่องโต้ตอบที่ไม่อยู่ในแท็บ</h1>\n' +
|
|
80
|
+
'\n' +
|
|
81
|
+
'<p>ในกล่องโต้ตอบที่ไม่อยู่ในแท็บ จะโฟกัสที่ส่วนประกอบเชิงโต้ตอบแรกเมื่อกล่องโต้ตอบเปิด</p>\n' +
|
|
82
|
+
'\n' +
|
|
83
|
+
'<p>นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของกล่องโต้ตอบ โดยการกด <strong>Tab</strong> หรือ <strong>Shift+Tab</strong></p>\n' +
|
|
84
|
+
'\n' +
|
|
85
|
+
'<h1>การนำทางสำหรับกล่องโต้ตอบที่อยู่ในแท็บ</h1>\n' +
|
|
86
|
+
'\n' +
|
|
87
|
+
'<p>ในกล่องโต้ตอบที่อยู่ในแท็บ จะโฟกัสที่ปุ่มแรกในเมนูแท็บเมื่อกล่องโต้ตอบเปิด</p>\n' +
|
|
88
|
+
'\n' +
|
|
89
|
+
'<p>นำทางระหว่างส่วนประกอบเชิงโต้ตอบต่างๆ ของแท็บกล่องโต้ตอบนี้โดยการกด <strong>Tab</strong> หรือ\n' +
|
|
90
|
+
' <strong>Shift+Tab</strong></p>\n' +
|
|
91
|
+
'\n' +
|
|
92
|
+
'<p>สลับไปยังแท็บกล่องโต้ตอบอื่นโดยการเลือกโฟกัสที่เมนูแท็บ แล้วกดปุ่ม<strong>ลูกศร</strong>ที่เหมาะสม\n' +
|
|
93
|
+
' เพื่อเลือกแท็บที่ใช้ได้</p>\n');
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh-CN',
|
|
2
|
+
'<h1>开始键盘导航</h1>\n' +
|
|
3
|
+
'\n' +
|
|
4
|
+
'<dl>\n' +
|
|
5
|
+
' <dt>使菜单栏处于焦点</dt>\n' +
|
|
6
|
+
' <dd>Windows 或 Linux:Alt+F9</dd>\n' +
|
|
7
|
+
' <dd>macOS:⌥F9</dd>\n' +
|
|
8
|
+
' <dt>使工具栏处于焦点</dt>\n' +
|
|
9
|
+
' <dd>Windows 或 Linux:Alt+F10</dd>\n' +
|
|
10
|
+
' <dd>macOS:⌥F10</dd>\n' +
|
|
11
|
+
' <dt>使页脚处于焦点</dt>\n' +
|
|
12
|
+
' <dd>Windows 或 Linux:Alt+F11</dd>\n' +
|
|
13
|
+
' <dd>macOS:⌥F11</dd>\n' +
|
|
14
|
+
' <dt>使通知处于焦点</dt>\n' +
|
|
15
|
+
' <dd>Windows 或 Linux:Alt+F12</dd>\n' +
|
|
16
|
+
' <dd>macOS:⌥F12</dd>\n' +
|
|
17
|
+
' <dt>使上下文工具栏处于焦点</dt>\n' +
|
|
18
|
+
' <dd>Windows、Linux 或 macOS:Ctrl+F9</dd>\n' +
|
|
19
|
+
'</dl>\n' +
|
|
20
|
+
'\n' +
|
|
21
|
+
'<p>导航将在第一个 UI 项上开始,其中突出显示该项,或者对于页脚元素路径中的第一项,将为其添加下划线。</p>\n' +
|
|
22
|
+
'\n' +
|
|
23
|
+
'<h1>在 UI 部分之间导航</h1>\n' +
|
|
24
|
+
'\n' +
|
|
25
|
+
'<p>要从一个 UI 部分移至下一个,请按 <strong>Tab</strong>。</p>\n' +
|
|
26
|
+
'\n' +
|
|
27
|
+
'<p>要从一个 UI 部分移至上一个,请按 <strong>Shift+Tab</strong>。</p>\n' +
|
|
28
|
+
'\n' +
|
|
29
|
+
'<p>这些 UI 部分的 <strong>Tab</strong> 顺序为:</p>\n' +
|
|
30
|
+
'\n' +
|
|
31
|
+
'<ol>\n' +
|
|
32
|
+
' <li>菜单栏</li>\n' +
|
|
33
|
+
' <li>每个工具栏组</li>\n' +
|
|
34
|
+
' <li>边栏</li>\n' +
|
|
35
|
+
' <li>页脚中的元素路径</li>\n' +
|
|
36
|
+
' <li>页脚中的字数切换按钮</li>\n' +
|
|
37
|
+
' <li>页脚中的品牌链接</li>\n' +
|
|
38
|
+
' <li>页脚中的编辑器调整大小图柄</li>\n' +
|
|
39
|
+
'</ol>\n' +
|
|
40
|
+
'\n' +
|
|
41
|
+
'<p>如果不存在某个 UI 部分,则跳过它。</p>\n' +
|
|
42
|
+
'\n' +
|
|
43
|
+
'<p>如果键盘导航焦点在页脚,并且没有可见的边栏,则按 <strong>Shift+Tab</strong> 将焦点移至第一个工具栏组而非最后一个。</p>\n' +
|
|
44
|
+
'\n' +
|
|
45
|
+
'<h1>在 UI 部分内导航</h1>\n' +
|
|
46
|
+
'\n' +
|
|
47
|
+
'<p>要从一个 UI 元素移至下一个,请按相应的<strong>箭头</strong>键。</p>\n' +
|
|
48
|
+
'\n' +
|
|
49
|
+
'<p><strong>左</strong>和<strong>右</strong>箭头键</p>\n' +
|
|
50
|
+
'\n' +
|
|
51
|
+
'<ul>\n' +
|
|
52
|
+
' <li>在菜单栏中的菜单之间移动。</li>\n' +
|
|
53
|
+
' <li>打开菜单中的子菜单。</li>\n' +
|
|
54
|
+
' <li>在工具栏组中的按钮之间移动。</li>\n' +
|
|
55
|
+
' <li>在页脚的元素路径中的各项之间移动。</li>\n' +
|
|
56
|
+
'</ul>\n' +
|
|
57
|
+
'\n' +
|
|
58
|
+
'<p><strong>下</strong>和<strong>上</strong>箭头键</p>\n' +
|
|
59
|
+
'\n' +
|
|
60
|
+
'<ul>\n' +
|
|
61
|
+
' <li>在菜单中的菜单项之间移动。</li>\n' +
|
|
62
|
+
' <li>在工具栏弹出菜单中的各项之间移动。</li>\n' +
|
|
63
|
+
'</ul>\n' +
|
|
64
|
+
'\n' +
|
|
65
|
+
'<p><strong>箭头</strong>键在具有焦点的 UI 部分内循环。</p>\n' +
|
|
66
|
+
'\n' +
|
|
67
|
+
'<p>要关闭打开的菜单、打开的子菜单或打开的弹出菜单,请按 <strong>Esc</strong> 键。</p>\n' +
|
|
68
|
+
'\n' +
|
|
69
|
+
'<p>如果当前的焦点在特定 UI 部分的“顶部”,则按 <strong>Esc</strong> 键还将完全退出键盘导航。</p>\n' +
|
|
70
|
+
'\n' +
|
|
71
|
+
'<h1>执行菜单项或工具栏按钮</h1>\n' +
|
|
72
|
+
'\n' +
|
|
73
|
+
'<p>当突出显示所需的菜单项或工具栏按钮时,按 <strong>Return</strong>、<strong>Enter</strong> 或<strong>空格</strong>以执行该项。</p>\n' +
|
|
74
|
+
'\n' +
|
|
75
|
+
'<h1>在非标签页式对话框中导航</h1>\n' +
|
|
76
|
+
'\n' +
|
|
77
|
+
'<p>在非标签页式对话框中,当对话框打开时,第一个交互组件获得焦点。</p>\n' +
|
|
78
|
+
'\n' +
|
|
79
|
+
'<p>通过按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong>,在交互对话框组件之间导航。</p>\n' +
|
|
80
|
+
'\n' +
|
|
81
|
+
'<h1>在标签页式对话框中导航</h1>\n' +
|
|
82
|
+
'\n' +
|
|
83
|
+
'<p>在标签页式对话框中,当对话框打开时,标签页菜单中的第一个按钮获得焦点。</p>\n' +
|
|
84
|
+
'\n' +
|
|
85
|
+
'<p>通过按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong>,在此对话框的交互组件之间导航。</p>\n' +
|
|
86
|
+
'\n' +
|
|
87
|
+
'<p>通过将焦点移至另一对话框标签页的菜单,然后按相应的<strong>箭头</strong>键以在可用的标签页间循环,从而切换到该对话框标签页。</p>\n');
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
tinymce.Resource.add('tinymce.html-i18n.help-keynav.zh-TW',
|
|
2
|
+
'<h1>開始鍵盤瀏覽</h1>\n' +
|
|
3
|
+
'\n' +
|
|
4
|
+
'<dl>\n' +
|
|
5
|
+
' <dt>跳至功能表列</dt>\n' +
|
|
6
|
+
' <dd>Windows 或 Linux:Alt+F9</dd>\n' +
|
|
7
|
+
' <dd>macOS:⌥F9</dd>\n' +
|
|
8
|
+
' <dt>跳至工具列</dt>\n' +
|
|
9
|
+
' <dd>Windows 或 Linux:Alt+F10</dd>\n' +
|
|
10
|
+
' <dd>macOS:⌥F10</dd>\n' +
|
|
11
|
+
' <dt>跳至頁尾</dt>\n' +
|
|
12
|
+
' <dd>Windows 或 Linux:Alt+F11</dd>\n' +
|
|
13
|
+
' <dd>macOS:⌥F11</dd>\n' +
|
|
14
|
+
' <dt>跳至通知</dt>\n' +
|
|
15
|
+
' <dd>Windows 或 Linux:Alt+F12</dd>\n' +
|
|
16
|
+
' <dd>macOS:⌥F12</dd>\n' +
|
|
17
|
+
' <dt>跳至關聯式工具列</dt>\n' +
|
|
18
|
+
' <dd>Windows、Linux 或 macOS:Ctrl+F9</dd>\n' +
|
|
19
|
+
'</dl>\n' +
|
|
20
|
+
'\n' +
|
|
21
|
+
'<p>瀏覽會從第一個 UI 項目開始,該項目會反白顯示,但如果是「頁尾」元素路徑的第一項,\n' +
|
|
22
|
+
' 則加底線。</p>\n' +
|
|
23
|
+
'\n' +
|
|
24
|
+
'<h1>在 UI 區段之間瀏覽</h1>\n' +
|
|
25
|
+
'\n' +
|
|
26
|
+
'<p>從 UI 區段移至下一個,請按 <strong>Tab</strong>。</p>\n' +
|
|
27
|
+
'\n' +
|
|
28
|
+
'<p>從 UI 區段移回上一個,請按 <strong>Shift+Tab</strong>。</p>\n' +
|
|
29
|
+
'\n' +
|
|
30
|
+
'<p>這些 UI 區段的 <strong>Tab</strong> 順序如下:</p>\n' +
|
|
31
|
+
'\n' +
|
|
32
|
+
'<ol>\n' +
|
|
33
|
+
' <li>功能表列</li>\n' +
|
|
34
|
+
' <li>各個工具列群組</li>\n' +
|
|
35
|
+
' <li>側邊欄</li>\n' +
|
|
36
|
+
' <li>頁尾中的元素路徑</li>\n' +
|
|
37
|
+
' <li>頁尾中字數切換按鈕</li>\n' +
|
|
38
|
+
' <li>頁尾中的品牌連結</li>\n' +
|
|
39
|
+
' <li>頁尾中編輯器調整大小控點</li>\n' +
|
|
40
|
+
'</ol>\n' +
|
|
41
|
+
'\n' +
|
|
42
|
+
'<p>如果 UI 區段未顯示,表示已略過該區段。</p>\n' +
|
|
43
|
+
'\n' +
|
|
44
|
+
'<p>如果鍵盤瀏覽跳至頁尾,但沒有顯示側邊欄,則按下 <strong>Shift+Tab</strong>\n' +
|
|
45
|
+
' 會跳至第一個工具列群組,而不是最後一個。</p>\n' +
|
|
46
|
+
'\n' +
|
|
47
|
+
'<h1>在 UI 區段之內瀏覽</h1>\n' +
|
|
48
|
+
'\n' +
|
|
49
|
+
'<p>在兩個 UI 元素之間移動,請按適當的<strong>方向</strong>鍵。</p>\n' +
|
|
50
|
+
'\n' +
|
|
51
|
+
'<p><strong>向左</strong>和<strong>向右</strong>方向鍵</p>\n' +
|
|
52
|
+
'\n' +
|
|
53
|
+
'<ul>\n' +
|
|
54
|
+
' <li>在功能表列中的功能表之間移動。</li>\n' +
|
|
55
|
+
' <li>開啟功能表中的子功能表。</li>\n' +
|
|
56
|
+
' <li>在工具列群組中的按鈕之間移動。</li>\n' +
|
|
57
|
+
' <li>在頁尾的元素路徑中項目之間移動。</li>\n' +
|
|
58
|
+
'</ul>\n' +
|
|
59
|
+
'\n' +
|
|
60
|
+
'<p><strong>向下</strong>和<strong>向上</strong>方向鍵</p>\n' +
|
|
61
|
+
'\n' +
|
|
62
|
+
'<ul>\n' +
|
|
63
|
+
' <li>在功能表中的功能表項目之間移動。</li>\n' +
|
|
64
|
+
' <li>在工具列快顯功能表中的項目之間移動。</li>\n' +
|
|
65
|
+
'</ul>\n' +
|
|
66
|
+
'\n' +
|
|
67
|
+
'<p><strong>方向</strong>鍵會在所跳至 UI 區段之內循環。</p>\n' +
|
|
68
|
+
'\n' +
|
|
69
|
+
'<p>若要關閉已開啟的功能表、已開啟的子功能表,或已開啟的快顯功能表,請按 <strong>Esc</strong> 鍵。</p>\n' +
|
|
70
|
+
'\n' +
|
|
71
|
+
'<p>如果目前已跳至特定 UI 區段的「頂端」,則按 <strong>Esc</strong> 鍵也會結束\n' +
|
|
72
|
+
' 整個鍵盤瀏覽。</p>\n' +
|
|
73
|
+
'\n' +
|
|
74
|
+
'<h1>執行功能表列項目或工具列按鈕</h1>\n' +
|
|
75
|
+
'\n' +
|
|
76
|
+
'<p>當想要的功能表項目或工具列按鈕已反白顯示時,按 <strong>Return</strong>、<strong>Enter</strong>、\n' +
|
|
77
|
+
' 或<strong>空白鍵</strong>即可執行該項目。</p>\n' +
|
|
78
|
+
'\n' +
|
|
79
|
+
'<h1>瀏覽非索引標籤式對話方塊</h1>\n' +
|
|
80
|
+
'\n' +
|
|
81
|
+
'<p>在非索引標籤式對話方塊中,開啟對話方塊時會跳至第一個互動元件。</p>\n' +
|
|
82
|
+
'\n' +
|
|
83
|
+
'<p>按 <strong>Tab</strong> 或 <strong>Shift+Tab</strong> 即可在互動式對話方塊元件之間瀏覽。</p>\n' +
|
|
84
|
+
'\n' +
|
|
85
|
+
'<h1>瀏覽索引標籤式對話方塊</h1>\n' +
|
|
86
|
+
'\n' +
|
|
87
|
+
'<p>在索引標籤式對話方塊中,開啟對話方塊時會跳至索引標籤式功能表中的第一個按鈕。</p>\n' +
|
|
88
|
+
'\n' +
|
|
89
|
+
'<p>若要在此對話方塊的互動式元件之間瀏覽,請按 <strong>Tab</strong> 或\n' +
|
|
90
|
+
' <strong>Shift+Tab</strong>。</p>\n' +
|
|
91
|
+
'\n' +
|
|
92
|
+
'<p>先跳至索引標籤式功能表,然後按適當的<strong>方向</strong>鍵,即可切換至另一個對話方塊索引標籤,\n' +
|
|
93
|
+
' 以循環瀏覽可用的索引標籤。</p>\n');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TinyMCE version
|
|
2
|
+
* TinyMCE version 8.3.1 (2025-12-17)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
(function () {
|
|
@@ -7,13 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
/* eslint-disable @typescript-eslint/no-wrapper-object-types */
|
|
9
9
|
const hasProto = (v, constructor, predicate) => {
|
|
10
|
-
var _a;
|
|
11
10
|
if (predicate(v, constructor.prototype)) {
|
|
12
11
|
return true;
|
|
13
12
|
}
|
|
14
13
|
else {
|
|
15
14
|
// String-based fallback time
|
|
16
|
-
return
|
|
15
|
+
return v.constructor?.name === constructor.name;
|
|
17
16
|
}
|
|
18
17
|
};
|
|
19
18
|
const typeOf = (x) => {
|
|
@@ -63,6 +62,11 @@
|
|
|
63
62
|
* strict-null-checks
|
|
64
63
|
*/
|
|
65
64
|
class Optional {
|
|
65
|
+
tag;
|
|
66
|
+
value;
|
|
67
|
+
// Sneaky optimisation: every instance of Optional.none is identical, so just
|
|
68
|
+
// reuse the same object
|
|
69
|
+
static singletonNone = new Optional(false);
|
|
66
70
|
// The internal representation has a `tag` and a `value`, but both are
|
|
67
71
|
// private: able to be console.logged, but not able to be accessed by code
|
|
68
72
|
constructor(tag, value) {
|
|
@@ -230,7 +234,7 @@
|
|
|
230
234
|
*/
|
|
231
235
|
getOrDie(message) {
|
|
232
236
|
if (!this.tag) {
|
|
233
|
-
throw new Error(message
|
|
237
|
+
throw new Error(message ?? 'Called getOrDie on None');
|
|
234
238
|
}
|
|
235
239
|
else {
|
|
236
240
|
return this.value;
|
|
@@ -294,14 +298,9 @@
|
|
|
294
298
|
return this.tag ? `some(${this.value})` : 'none()';
|
|
295
299
|
}
|
|
296
300
|
}
|
|
297
|
-
// Sneaky optimisation: every instance of Optional.none is identical, so just
|
|
298
|
-
// reuse the same object
|
|
299
|
-
Optional.singletonNone = new Optional(false);
|
|
300
301
|
|
|
301
|
-
/* eslint-disable @typescript-eslint/unbound-method */
|
|
302
302
|
const nativeSlice = Array.prototype.slice;
|
|
303
303
|
const nativeIndexOf = Array.prototype.indexOf;
|
|
304
|
-
/* eslint-enable */
|
|
305
304
|
const rawIndexOf = (ts, t) => nativeIndexOf.call(ts, t);
|
|
306
305
|
const contains = (xs, x) => rawIndexOf(xs, x) > -1;
|
|
307
306
|
const map = (xs, f) => {
|
|
@@ -352,7 +351,6 @@
|
|
|
352
351
|
//
|
|
353
352
|
// Use the native keys if it is available (IE9+), otherwise fall back to manually filtering
|
|
354
353
|
const keys = Object.keys;
|
|
355
|
-
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
356
354
|
const hasOwnProperty = Object.hasOwnProperty;
|
|
357
355
|
const get$1 = (obj, key) => {
|
|
358
356
|
return has(obj, key) ? Optional.from(obj[key]) : Optional.none();
|
|
@@ -416,8 +414,7 @@
|
|
|
416
414
|
|
|
417
415
|
const get = (customTabs) => {
|
|
418
416
|
const addTab = (spec) => {
|
|
419
|
-
|
|
420
|
-
const name = (_a = spec.name) !== null && _a !== void 0 ? _a : generate('tab-name');
|
|
417
|
+
const name = spec.name ?? generate('tab-name');
|
|
421
418
|
const currentCustomTabs = customTabs.get();
|
|
422
419
|
currentCustomTabs[name] = spec;
|
|
423
420
|
customTabs.set(currentCustomTabs);
|
|
@@ -620,8 +617,10 @@
|
|
|
620
617
|
{ key: 'powerpaste', name: 'PowerPaste', type: "premium" /* PluginType.Premium */, slug: 'introduction-to-powerpaste' },
|
|
621
618
|
{ key: 'revisionhistory', name: 'Revision History', type: "premium" /* PluginType.Premium */ },
|
|
622
619
|
{ key: 'tinymcespellchecker', name: 'Spell Checker', type: "premium" /* PluginType.Premium */, slug: 'introduction-to-tiny-spellchecker' },
|
|
620
|
+
{ key: 'suggestededits', name: 'Suggested Edits', type: "premium" /* PluginType.Premium */ },
|
|
623
621
|
{ key: 'autocorrect', name: 'Spelling Autocorrect', type: "premium" /* PluginType.Premium */ },
|
|
624
622
|
{ key: 'tableofcontents', name: 'Table of Contents', type: "premium" /* PluginType.Premium */ },
|
|
623
|
+
{ key: 'fullpagehtml', name: 'Fullpage HTML', type: "premium" /* PluginType.Premium */ },
|
|
625
624
|
{ key: 'advtemplate', name: 'Templates', type: "premium" /* PluginType.Premium */, slug: 'advanced-templates' },
|
|
626
625
|
{ key: 'tinycomments', name: 'Tiny Comments', type: "premium" /* PluginType.Premium */, slug: 'introduction-to-tiny-comments' },
|
|
627
626
|
{ key: 'tinydrive', name: 'Tiny Drive', type: "premium" /* PluginType.Premium */, slug: 'tinydrive-introduction' },
|
|
@@ -667,13 +666,13 @@
|
|
|
667
666
|
}, (x) => {
|
|
668
667
|
// We know this plugin, so use our stored details.
|
|
669
668
|
const name = x.type === "premium" /* PluginUrls.PluginType.Premium */ ? `${x.name}*` : x.name;
|
|
670
|
-
const html = makeLink({ name, url: `https://www.tiny.cloud/docs/tinymce
|
|
669
|
+
const html = makeLink({ name, url: `https://www.tiny.cloud/docs/tinymce/${tinymce.majorVersion}/${x.slug}/` });
|
|
671
670
|
return { name, html };
|
|
672
671
|
});
|
|
673
672
|
const getPluginKeys = (editor) => {
|
|
674
673
|
const keys$1 = keys(editor.plugins);
|
|
675
674
|
const forcedPlugins = getForcedPlugins(editor);
|
|
676
|
-
const hiddenPlugins = isUndefined(forcedPlugins) ? ['onboarding'] : forcedPlugins.concat(['onboarding']);
|
|
675
|
+
const hiddenPlugins = isUndefined(forcedPlugins) ? ['onboarding', 'licensekeymanager'] : forcedPlugins.concat(['onboarding', 'licensekeymanager']);
|
|
677
676
|
return filter(keys$1, (k) => !contains(hiddenPlugins, k));
|
|
678
677
|
};
|
|
679
678
|
const pluginLister = (editor) => {
|
|
@@ -718,7 +717,7 @@
|
|
|
718
717
|
const tab = () => {
|
|
719
718
|
const getVersion = (major, minor) => major.indexOf('@') === 0 ? 'X.X.X' : major + '.' + minor;
|
|
720
719
|
const version = getVersion(global.majorVersion, global.minorVersion);
|
|
721
|
-
const changeLogLink = '<a data-alloy-tabstop="true" tabindex="-1" href="https://www.tiny.cloud/docs/tinymce/
|
|
720
|
+
const changeLogLink = '<a data-alloy-tabstop="true" tabindex="-1" href="https://www.tiny.cloud/docs/tinymce/8/changelog/?utm_campaign=help_dialog_version_tab&utm_source=tiny&utm_medium=referral" rel="noopener" target="_blank">TinyMCE ' + version + '</a>';
|
|
722
721
|
const htmlPanel = {
|
|
723
722
|
type: 'htmlpanel',
|
|
724
723
|
html: '<p>' + global$2.translate(['You are using {0}', changeLogLink]) + '</p>',
|
|
@@ -736,7 +735,6 @@
|
|
|
736
735
|
const parseHelpTabsSetting = (tabsFromSettings, tabs) => {
|
|
737
736
|
const newTabs = {};
|
|
738
737
|
const names = map(tabsFromSettings, (t) => {
|
|
739
|
-
var _a;
|
|
740
738
|
if (isString(t)) {
|
|
741
739
|
// Code below shouldn't care if a tab name doesn't have a spec.
|
|
742
740
|
// If we find it does, we'll need to make this smarter.
|
|
@@ -747,7 +745,7 @@
|
|
|
747
745
|
return t;
|
|
748
746
|
}
|
|
749
747
|
else {
|
|
750
|
-
const name =
|
|
748
|
+
const name = t.name ?? generate('tab-name');
|
|
751
749
|
newTabs[name] = t;
|
|
752
750
|
return name;
|
|
753
751
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";const e=e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=a=e,(r=String).prototype.isPrototypeOf(n)||(null===(o=a.constructor)||void 0===o?void 0:o.name)===r.name)?"string":t;var n,a,r,o})(e);const t=e=>undefined===e;const n=e=>"function"==typeof e,a=()=>false;class r{constructor(e,t){this.tag=e,this.value=t}static some(e){return new r(!0,e)}static none(){return r.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?r.some(e(this.value)):r.none()}bind(e){return this.tag?e(this.value):r.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:r.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?r.none():r.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}r.singletonNone=new r(!1);const o=Array.prototype.slice,i=Array.prototype.indexOf,s=(e,t)=>{const n=e.length,a=new Array(n);for(let r=0;r<n;r++){const n=e[r];a[r]=t(n,r)}return a},c=(e,t)=>{const n=[];for(let a=0,r=e.length;a<r;a++){const r=e[a];t(r,a)&&n.push(r)}return n},m=(e,t)=>{const n=o.call(e,0);return n.sort(t),n};n(Array.from)&&Array.from;const l=Object.keys,u=Object.hasOwnProperty,p=(e,t)=>u.call(e,t);let y=0;const h=e=>{const t=(new Date).getTime(),n=Math.floor(window.crypto.getRandomValues(new Uint32Array(1))[0]/4294967295*1e9);return y++,e+"_"+n+y+String(t)};var d=tinymce.util.Tools.resolve("tinymce.PluginManager");const g=e=>t=>t.options.get(e),k=g("help_tabs"),v=g("forced_plugins");var b=tinymce.util.Tools.resolve("tinymce.Resource"),f=tinymce.util.Tools.resolve("tinymce.util.I18n");const A=(e,t)=>b.load(`tinymce.html-i18n.help-keynav.${t}`,`${e}/js/i18n/keynav/${t}.js`),w=e=>A(e,f.getCode()).catch((()=>A(e,"en")));var C=tinymce.util.Tools.resolve("tinymce.Env");const S=e=>{const t=C.os.isMacOS()||C.os.isiOS(),n=t?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl ",access:"Shift + Alt "},a=e.split("+"),r=s(a,(e=>{const t=e.toLowerCase().trim();return p(n,t)?n[t]:e}));return t?r.join("").replace(/\s/,""):r.join("+")},M=[{shortcuts:["Meta + B"],action:"Bold"},{shortcuts:["Meta + I"],action:"Italic"},{shortcuts:["Meta + U"],action:"Underline"},{shortcuts:["Meta + A"],action:"Select all"},{shortcuts:["Meta + Y","Meta + Shift + Z"],action:"Redo"},{shortcuts:["Meta + Z"],action:"Undo"},{shortcuts:["Access + 1"],action:"Heading 1"},{shortcuts:["Access + 2"],action:"Heading 2"},{shortcuts:["Access + 3"],action:"Heading 3"},{shortcuts:["Access + 4"],action:"Heading 4"},{shortcuts:["Access + 5"],action:"Heading 5"},{shortcuts:["Access + 6"],action:"Heading 6"},{shortcuts:["Access + 7"],action:"Paragraph"},{shortcuts:["Access + 8"],action:"Div"},{shortcuts:["Access + 9"],action:"Address"},{shortcuts:["Alt + 0"],action:"Open help dialog"},{shortcuts:["Alt + F9"],action:"Focus to menubar"},{shortcuts:["Alt + F10"],action:"Focus to toolbar"},{shortcuts:["Alt + F11"],action:"Focus to element path"},{shortcuts:["Alt + F12"],action:"Focus to notification"},{shortcuts:["Ctrl + F9"],action:"Focus to contextual toolbar"},{shortcuts:["Shift + Enter"],action:"Open popup menu for split buttons"},{shortcuts:["Meta + K"],action:"Insert link (if link plugin activated)"},{shortcuts:["Meta + S"],action:"Save (if save plugin activated)"},{shortcuts:["Meta + F"],action:"Find (if searchreplace plugin activated)"},{shortcuts:["Meta + Shift + F"],action:"Switch to or from fullscreen mode"}],_=()=>({name:"shortcuts",title:"Handy Shortcuts",items:[{type:"table",header:["Action","Shortcut"],cells:s(M,(e=>{const t=s(e.shortcuts,S).join(" or ");return[e.action,t]}))}]}),x=s([{key:"accordion",name:"Accordion"},{key:"anchor",name:"Anchor"},{key:"autolink",name:"Autolink"},{key:"autoresize",name:"Autoresize"},{key:"autosave",name:"Autosave"},{key:"charmap",name:"Character Map"},{key:"code",name:"Code"},{key:"codesample",name:"Code Sample"},{key:"colorpicker",name:"Color Picker"},{key:"directionality",name:"Directionality"},{key:"emoticons",name:"Emoticons"},{key:"fullscreen",name:"Full Screen"},{key:"help",name:"Help"},{key:"image",name:"Image"},{key:"importcss",name:"Import CSS"},{key:"insertdatetime",name:"Insert Date/Time"},{key:"link",name:"Link"},{key:"lists",name:"Lists"},{key:"advlist",name:"List Styles"},{key:"media",name:"Media"},{key:"nonbreaking",name:"Nonbreaking"},{key:"pagebreak",name:"Page Break"},{key:"preview",name:"Preview"},{key:"quickbars",name:"Quick Toolbars"},{key:"save",name:"Save"},{key:"searchreplace",name:"Search and Replace"},{key:"table",name:"Table"},{key:"textcolor",name:"Text Color"},{key:"visualblocks",name:"Visual Blocks"},{key:"visualchars",name:"Visual Characters"},{key:"wordcount",name:"Word Count"},{key:"a11ychecker",name:"Accessibility Checker",type:"premium"},{key:"typography",name:"Advanced Typography",type:"premium",slug:"advanced-typography"},{key:"ai",name:"AI Assistant",type:"premium"},{key:"casechange",name:"Case Change",type:"premium"},{key:"checklist",name:"Checklist",type:"premium"},{key:"advcode",name:"Enhanced Code Editor",type:"premium"},{key:"mediaembed",name:"Enhanced Media Embed",type:"premium",slug:"introduction-to-mediaembed"},{key:"advtable",name:"Enhanced Tables",type:"premium"},{key:"exportpdf",name:"Export to PDF",type:"premium"},{key:"exportword",name:"Export to Word",type:"premium"},{key:"footnotes",name:"Footnotes",type:"premium"},{key:"formatpainter",name:"Format Painter",type:"premium"},{key:"editimage",name:"Image Editing",type:"premium"},{key:"uploadcare",name:"Image Optimizer Powered by Uploadcare",type:"premium"},{key:"importword",name:"Import from Word",type:"premium"},{key:"inlinecss",name:"Inline CSS",type:"premium",slug:"inline-css"},{key:"linkchecker",name:"Link Checker",type:"premium"},{key:"math",name:"Math",type:"premium"},{key:"markdown",name:"Markdown",type:"premium"},{key:"mentions",name:"Mentions",type:"premium"},{key:"mergetags",name:"Merge Tags",type:"premium"},{key:"pageembed",name:"Page Embed",type:"premium"},{key:"permanentpen",name:"Permanent Pen",type:"premium"},{key:"powerpaste",name:"PowerPaste",type:"premium",slug:"introduction-to-powerpaste"},{key:"revisionhistory",name:"Revision History",type:"premium"},{key:"tinymcespellchecker",name:"Spell Checker",type:"premium",slug:"introduction-to-tiny-spellchecker"},{key:"autocorrect",name:"Spelling Autocorrect",type:"premium"},{key:"tableofcontents",name:"Table of Contents",type:"premium"},{key:"advtemplate",name:"Templates",type:"premium",slug:"advanced-templates"},{key:"tinycomments",name:"Tiny Comments",type:"premium",slug:"introduction-to-tiny-comments"},{key:"tinydrive",name:"Tiny Drive",type:"premium",slug:"tinydrive-introduction"}],(e=>({...e,type:e.type||"opensource",slug:e.slug||e.key}))),T=e=>{const o=e=>`<a data-alloy-tabstop="true" tabindex="-1" href="${e.url}" target="_blank" rel="noopener">${e.name}</a>`,u=(e,t)=>{return(i=x,s=e=>e.key===t,((e,t,n)=>{for(let a=0,o=e.length;a<o;a++){const o=e[a];if(t(o,a))return r.some(o);if(n(o,a))break}return r.none()})(i,s,a)).fold((()=>((e,t)=>{const a=e.plugins[t].getMetadata;if(n(a)){const e=a();return{name:e.name,html:o(e)}}return{name:t,html:t}})(e,t)),(e=>{const t="premium"===e.type?`${e.name}*`:e.name;return{name:t,html:o({name:t,url:`https://www.tiny.cloud/docs/tinymce/7/${e.slug}/`})}}));var i,s},p=e=>{const n=(e=>{const n=l(e.plugins),a=v(e),r=t(a)?["onboarding"]:a.concat(["onboarding"]);return c(n,(e=>!(((e,t)=>i.call(e,t))(r,e)>-1)))})(e),a=m(s(n,(t=>u(e,t))),((e,t)=>e.name.localeCompare(t.name))),r=s(a,(e=>"<li>"+e.html+"</li>")),o=r.length,p=r.join("");return"<p><b>"+f.translate(["Plugins installed ({0}):",o])+"</b></p><ul>"+p+"</ul>"},y={type:"htmlpanel",presets:"document",html:[(e=>null==e?"":"<div>"+p(e)+"</div>")(e),(()=>{const e=c(x,(({type:e})=>"premium"===e)),t=m(s(e,(e=>e.name)),((e,t)=>e.localeCompare(t))),n=s(t,(e=>`<li>${e}</li>`)).join("");return"<div><p><b>"+f.translate("Premium plugins:")+"</b></p><ul>"+n+'<li class="tox-help__more-link" "><a href="https://www.tiny.cloud/pricing/?utm_campaign=help_dialog_plugin_tab&utm_source=tiny&utm_medium=referral&utm_term=read_more&utm_content=premium_plugin_heading" rel="noopener" target="_blank" data-alloy-tabstop="true" tabindex="-1">'+f.translate("Learn more...")+"</a></li></ul></div>"})()].join("")};return{name:"plugins",title:"Plugins",items:[y]}};var O=tinymce.util.Tools.resolve("tinymce.EditorManager");const P=(t,n,a)=>()=>{(async(t,n,a)=>{const o=_(),i=await(async e=>({name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",presets:"document",html:await w(e)}]}))(a),c=T(t),m=(()=>{var e,t;const n='<a data-alloy-tabstop="true" tabindex="-1" href="https://www.tiny.cloud/docs/tinymce/7/changelog/?utm_campaign=help_dialog_version_tab&utm_source=tiny&utm_medium=referral" rel="noopener" target="_blank">TinyMCE '+(e=O.majorVersion,t=O.minorVersion,(0===e.indexOf("@")?"X.X.X":e+"."+t)+"</a>");return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"<p>"+f.translate(["You are using {0}",n])+"</p>",presets:"document"}]}})(),u={[o.name]:o,[i.name]:i,[c.name]:c,[m.name]:m,...n.get()};return r.from(k(t)).fold((()=>(e=>{const t=l(e),n=t.indexOf("versions");return-1!==n&&(t.splice(n,1),t.push("versions")),{tabs:e,names:t}})(u)),(t=>((t,n)=>{const a={},r=s(t,(t=>{var r;if(e(t))return p(n,t)&&(a[t]=n[t]),t;{const e=null!==(r=t.name)&&void 0!==r?r:h("tab-name");return a[e]=t,e}}));return{tabs:a,names:r}})(t,u)))})(t,n,a).then((({tabs:e,names:n})=>{const a={type:"tabpanel",tabs:(e=>{const t=[],n=e=>{t.push(e)};for(let t=0;t<e.length;t++)e[t].each(n);return t})(s(n,(t=>{return p(n=e,a=t)?r.from(n[a]):r.none();var n,a})))};t.windowManager.open({title:"Help",size:"medium",body:a,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}))};d.add("help",((e,t)=>{const n=(()=>{let e={};return{get:()=>e,set:t=>{e=t}}})(),a=(e=>({addTab:t=>{var n;const a=null!==(n=t.name)&&void 0!==n?n:h("tab-name"),r=e.get();r[a]=t,e.set(r)}}))(n);(e=>{(0,e.options.register)("help_tabs",{processor:"array"})})(e);const r=P(e,n,t);return((e,t)=>{e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:t,context:"any"}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:t,context:"any"})})(e,r),((e,t)=>{e.addCommand("mceHelp",t)})(e,r),e.shortcuts.add("Alt+0","Open help dialog","mceHelp"),((e,t)=>{e.on("init",(()=>{w(t)}))})(e,t),a}))}();
|
|
1
|
+
!function(){"use strict";const e=e=>"string"===(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=a=e,(r=String).prototype.isPrototypeOf(n)||a.constructor?.name===r.name)?"string":t;var n,a,r})(e);const t=e=>undefined===e;const n=e=>"function"==typeof e,a=()=>false;class r{tag;value;static singletonNone=new r(!1);constructor(e,t){this.tag=e,this.value=t}static some(e){return new r(!0,e)}static none(){return r.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?r.some(e(this.value)):r.none()}bind(e){return this.tag?e(this.value):r.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:r.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(e??"Called getOrDie on None")}static from(e){return null==e?r.none():r.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}const o=Array.prototype.slice,i=Array.prototype.indexOf,s=(e,t)=>{const n=e.length,a=new Array(n);for(let r=0;r<n;r++){const n=e[r];a[r]=t(n,r)}return a},m=(e,t)=>{const n=[];for(let a=0,r=e.length;a<r;a++){const r=e[a];t(r,a)&&n.push(r)}return n},c=(e,t)=>{const n=o.call(e,0);return n.sort(t),n};n(Array.from)&&Array.from;const l=Object.keys,u=Object.hasOwnProperty,p=(e,t)=>u.call(e,t);let y=0;const h=e=>{const t=(new Date).getTime(),n=Math.floor(window.crypto.getRandomValues(new Uint32Array(1))[0]/4294967295*1e9);return y++,e+"_"+n+y+String(t)};var d=tinymce.util.Tools.resolve("tinymce.PluginManager");const g=e=>t=>t.options.get(e),k=g("help_tabs"),v=g("forced_plugins");var b=tinymce.util.Tools.resolve("tinymce.Resource"),f=tinymce.util.Tools.resolve("tinymce.util.I18n");const A=(e,t)=>b.load(`tinymce.html-i18n.help-keynav.${t}`,`${e}/js/i18n/keynav/${t}.js`),w=e=>A(e,f.getCode()).catch((()=>A(e,"en")));var C=tinymce.util.Tools.resolve("tinymce.Env");const S=e=>{const t=C.os.isMacOS()||C.os.isiOS(),n=t?{alt:"⌥",ctrl:"⌃",shift:"⇧",meta:"⌘",access:"⌃⌥"}:{meta:"Ctrl ",access:"Shift + Alt "},a=e.split("+"),r=s(a,(e=>{const t=e.toLowerCase().trim();return p(n,t)?n[t]:e}));return t?r.join("").replace(/\s/,""):r.join("+")},M=[{shortcuts:["Meta + B"],action:"Bold"},{shortcuts:["Meta + I"],action:"Italic"},{shortcuts:["Meta + U"],action:"Underline"},{shortcuts:["Meta + A"],action:"Select all"},{shortcuts:["Meta + Y","Meta + Shift + Z"],action:"Redo"},{shortcuts:["Meta + Z"],action:"Undo"},{shortcuts:["Access + 1"],action:"Heading 1"},{shortcuts:["Access + 2"],action:"Heading 2"},{shortcuts:["Access + 3"],action:"Heading 3"},{shortcuts:["Access + 4"],action:"Heading 4"},{shortcuts:["Access + 5"],action:"Heading 5"},{shortcuts:["Access + 6"],action:"Heading 6"},{shortcuts:["Access + 7"],action:"Paragraph"},{shortcuts:["Access + 8"],action:"Div"},{shortcuts:["Access + 9"],action:"Address"},{shortcuts:["Alt + 0"],action:"Open help dialog"},{shortcuts:["Alt + F9"],action:"Focus to menubar"},{shortcuts:["Alt + F10"],action:"Focus to toolbar"},{shortcuts:["Alt + F11"],action:"Focus to element path"},{shortcuts:["Alt + F12"],action:"Focus to notification"},{shortcuts:["Ctrl + F9"],action:"Focus to contextual toolbar"},{shortcuts:["Shift + Enter"],action:"Open popup menu for split buttons"},{shortcuts:["Meta + K"],action:"Insert link (if link plugin activated)"},{shortcuts:["Meta + S"],action:"Save (if save plugin activated)"},{shortcuts:["Meta + F"],action:"Find (if searchreplace plugin activated)"},{shortcuts:["Meta + Shift + F"],action:"Switch to or from fullscreen mode"}],_=()=>({name:"shortcuts",title:"Handy Shortcuts",items:[{type:"table",header:["Action","Shortcut"],cells:s(M,(e=>{const t=s(e.shortcuts,S).join(" or ");return[e.action,t]}))}]}),x=s([{key:"accordion",name:"Accordion"},{key:"anchor",name:"Anchor"},{key:"autolink",name:"Autolink"},{key:"autoresize",name:"Autoresize"},{key:"autosave",name:"Autosave"},{key:"charmap",name:"Character Map"},{key:"code",name:"Code"},{key:"codesample",name:"Code Sample"},{key:"colorpicker",name:"Color Picker"},{key:"directionality",name:"Directionality"},{key:"emoticons",name:"Emoticons"},{key:"fullscreen",name:"Full Screen"},{key:"help",name:"Help"},{key:"image",name:"Image"},{key:"importcss",name:"Import CSS"},{key:"insertdatetime",name:"Insert Date/Time"},{key:"link",name:"Link"},{key:"lists",name:"Lists"},{key:"advlist",name:"List Styles"},{key:"media",name:"Media"},{key:"nonbreaking",name:"Nonbreaking"},{key:"pagebreak",name:"Page Break"},{key:"preview",name:"Preview"},{key:"quickbars",name:"Quick Toolbars"},{key:"save",name:"Save"},{key:"searchreplace",name:"Search and Replace"},{key:"table",name:"Table"},{key:"textcolor",name:"Text Color"},{key:"visualblocks",name:"Visual Blocks"},{key:"visualchars",name:"Visual Characters"},{key:"wordcount",name:"Word Count"},{key:"a11ychecker",name:"Accessibility Checker",type:"premium"},{key:"typography",name:"Advanced Typography",type:"premium",slug:"advanced-typography"},{key:"ai",name:"AI Assistant",type:"premium"},{key:"casechange",name:"Case Change",type:"premium"},{key:"checklist",name:"Checklist",type:"premium"},{key:"advcode",name:"Enhanced Code Editor",type:"premium"},{key:"mediaembed",name:"Enhanced Media Embed",type:"premium",slug:"introduction-to-mediaembed"},{key:"advtable",name:"Enhanced Tables",type:"premium"},{key:"exportpdf",name:"Export to PDF",type:"premium"},{key:"exportword",name:"Export to Word",type:"premium"},{key:"footnotes",name:"Footnotes",type:"premium"},{key:"formatpainter",name:"Format Painter",type:"premium"},{key:"editimage",name:"Image Editing",type:"premium"},{key:"uploadcare",name:"Image Optimizer Powered by Uploadcare",type:"premium"},{key:"importword",name:"Import from Word",type:"premium"},{key:"inlinecss",name:"Inline CSS",type:"premium",slug:"inline-css"},{key:"linkchecker",name:"Link Checker",type:"premium"},{key:"math",name:"Math",type:"premium"},{key:"markdown",name:"Markdown",type:"premium"},{key:"mentions",name:"Mentions",type:"premium"},{key:"mergetags",name:"Merge Tags",type:"premium"},{key:"pageembed",name:"Page Embed",type:"premium"},{key:"permanentpen",name:"Permanent Pen",type:"premium"},{key:"powerpaste",name:"PowerPaste",type:"premium",slug:"introduction-to-powerpaste"},{key:"revisionhistory",name:"Revision History",type:"premium"},{key:"tinymcespellchecker",name:"Spell Checker",type:"premium",slug:"introduction-to-tiny-spellchecker"},{key:"suggestededits",name:"Suggested Edits",type:"premium"},{key:"autocorrect",name:"Spelling Autocorrect",type:"premium"},{key:"tableofcontents",name:"Table of Contents",type:"premium"},{key:"fullpagehtml",name:"Fullpage HTML",type:"premium"},{key:"advtemplate",name:"Templates",type:"premium",slug:"advanced-templates"},{key:"tinycomments",name:"Tiny Comments",type:"premium",slug:"introduction-to-tiny-comments"},{key:"tinydrive",name:"Tiny Drive",type:"premium",slug:"tinydrive-introduction"}],(e=>({...e,type:e.type||"opensource",slug:e.slug||e.key}))),T=e=>{const o=e=>`<a data-alloy-tabstop="true" tabindex="-1" href="${e.url}" target="_blank" rel="noopener">${e.name}</a>`,u=(e,t)=>{return(i=x,s=e=>e.key===t,((e,t,n)=>{for(let a=0,o=e.length;a<o;a++){const o=e[a];if(t(o,a))return r.some(o);if(n(o,a))break}return r.none()})(i,s,a)).fold((()=>((e,t)=>{const a=e.plugins[t].getMetadata;if(n(a)){const e=a();return{name:e.name,html:o(e)}}return{name:t,html:t}})(e,t)),(e=>{const t="premium"===e.type?`${e.name}*`:e.name;return{name:t,html:o({name:t,url:`https://www.tiny.cloud/docs/tinymce/${tinymce.majorVersion}/${e.slug}/`})}}));var i,s},p=e=>{const n=(e=>{const n=l(e.plugins),a=v(e),r=t(a)?["onboarding","licensekeymanager"]:a.concat(["onboarding","licensekeymanager"]);return m(n,(e=>!(((e,t)=>i.call(e,t))(r,e)>-1)))})(e),a=c(s(n,(t=>u(e,t))),((e,t)=>e.name.localeCompare(t.name))),r=s(a,(e=>"<li>"+e.html+"</li>")),o=r.length,p=r.join("");return"<p><b>"+f.translate(["Plugins installed ({0}):",o])+"</b></p><ul>"+p+"</ul>"},y={type:"htmlpanel",presets:"document",html:[(e=>null==e?"":"<div>"+p(e)+"</div>")(e),(()=>{const e=m(x,(({type:e})=>"premium"===e)),t=c(s(e,(e=>e.name)),((e,t)=>e.localeCompare(t))),n=s(t,(e=>`<li>${e}</li>`)).join("");return"<div><p><b>"+f.translate("Premium plugins:")+"</b></p><ul>"+n+'<li class="tox-help__more-link" "><a href="https://www.tiny.cloud/pricing/?utm_campaign=help_dialog_plugin_tab&utm_source=tiny&utm_medium=referral&utm_term=read_more&utm_content=premium_plugin_heading" rel="noopener" target="_blank" data-alloy-tabstop="true" tabindex="-1">'+f.translate("Learn more...")+"</a></li></ul></div>"})()].join("")};return{name:"plugins",title:"Plugins",items:[y]}};var O=tinymce.util.Tools.resolve("tinymce.EditorManager");const F=(t,n,a)=>()=>{(async(t,n,a)=>{const o=_(),i=await(async e=>({name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",presets:"document",html:await w(e)}]}))(a),m=T(t),c=(()=>{var e,t;const n='<a data-alloy-tabstop="true" tabindex="-1" href="https://www.tiny.cloud/docs/tinymce/8/changelog/?utm_campaign=help_dialog_version_tab&utm_source=tiny&utm_medium=referral" rel="noopener" target="_blank">TinyMCE '+(e=O.majorVersion,t=O.minorVersion,(0===e.indexOf("@")?"X.X.X":e+"."+t)+"</a>");return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"<p>"+f.translate(["You are using {0}",n])+"</p>",presets:"document"}]}})(),u={[o.name]:o,[i.name]:i,[m.name]:m,[c.name]:c,...n.get()};return r.from(k(t)).fold((()=>(e=>{const t=l(e),n=t.indexOf("versions");return-1!==n&&(t.splice(n,1),t.push("versions")),{tabs:e,names:t}})(u)),(t=>((t,n)=>{const a={},r=s(t,(t=>{if(e(t))return p(n,t)&&(a[t]=n[t]),t;{const e=t.name??h("tab-name");return a[e]=t,e}}));return{tabs:a,names:r}})(t,u)))})(t,n,a).then((({tabs:e,names:n})=>{const a={type:"tabpanel",tabs:(e=>{const t=[],n=e=>{t.push(e)};for(let t=0;t<e.length;t++)e[t].each(n);return t})(s(n,(t=>{return p(n=e,a=t)?r.from(n[a]):r.none();var n,a})))};t.windowManager.open({title:"Help",size:"medium",body:a,buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{}})}))};d.add("help",((e,t)=>{const n=(()=>{let e={};return{get:()=>e,set:t=>{e=t}}})(),a=(e=>({addTab:t=>{const n=t.name??h("tab-name"),a=e.get();a[n]=t,e.set(a)}}))(n);(e=>{(0,e.options.register)("help_tabs",{processor:"array"})})(e);const r=F(e,n,t);return((e,t)=>{e.ui.registry.addButton("help",{icon:"help",tooltip:"Help",onAction:t,context:"any"}),e.ui.registry.addMenuItem("help",{text:"Help",icon:"help",shortcut:"Alt+0",onAction:t,context:"any"})})(e,r),((e,t)=>{e.addCommand("mceHelp",t)})(e,r),e.shortcuts.add("Alt+0","Open help dialog","mceHelp"),((e,t)=>{e.on("init",(()=>{w(t)}))})(e,t),a}))}();
|