@tabler/core 1.0.0-beta20 → 1.0.0-beta21

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 (378) hide show
  1. package/README.md +7 -6
  2. package/dist/css/demo.css +8 -8
  3. package/dist/css/demo.min.css +5 -5
  4. package/dist/css/demo.rtl.css +8 -8
  5. package/dist/css/demo.rtl.min.css +5 -5
  6. package/dist/css/tabler-flags.css +10 -10
  7. package/dist/css/tabler-flags.min.css +5 -5
  8. package/dist/css/tabler-flags.rtl.css +10 -10
  9. package/dist/css/tabler-flags.rtl.min.css +5 -5
  10. package/dist/css/tabler-payments.css +4 -4
  11. package/dist/css/tabler-payments.min.css +4 -4
  12. package/dist/css/tabler-payments.rtl.css +4 -4
  13. package/dist/css/tabler-payments.rtl.min.css +4 -4
  14. package/dist/css/tabler-social.css +4 -4
  15. package/dist/css/tabler-social.min.css +4 -4
  16. package/dist/css/tabler-social.rtl.css +4 -4
  17. package/dist/css/tabler-social.rtl.min.css +4 -4
  18. package/dist/css/tabler-vendors.css +246 -253
  19. package/dist/css/tabler-vendors.min.css +5 -5
  20. package/dist/css/tabler-vendors.rtl.css +246 -253
  21. package/dist/css/tabler-vendors.rtl.min.css +5 -5
  22. package/dist/css/tabler.css +643 -426
  23. package/dist/css/tabler.min.css +8 -8
  24. package/dist/css/tabler.rtl.css +667 -441
  25. package/dist/css/tabler.rtl.min.css +8 -8
  26. package/dist/js/demo-theme.js +4 -4
  27. package/dist/js/demo-theme.min.js +4 -4
  28. package/dist/js/demo.js +41 -42
  29. package/dist/js/demo.min.js +5 -5
  30. package/dist/js/tabler.esm.js +1949 -1248
  31. package/dist/js/tabler.esm.min.js +8 -8
  32. package/dist/js/tabler.js +1949 -1248
  33. package/dist/js/tabler.min.js +8 -8
  34. package/dist/libs/apexcharts/dist/apexcharts.amd.js +1 -1
  35. package/dist/libs/apexcharts/dist/apexcharts.common.js +5 -5
  36. package/dist/libs/apexcharts/dist/apexcharts.css +166 -65
  37. package/dist/libs/apexcharts/dist/apexcharts.esm.js +5 -5
  38. package/dist/libs/apexcharts/dist/apexcharts.js +7964 -8527
  39. package/dist/libs/apexcharts/dist/apexcharts.min.js +5 -5
  40. package/dist/libs/apexcharts/dist/locales/be-cyrl.json +55 -0
  41. package/dist/libs/apexcharts/dist/locales/be-latn.json +55 -0
  42. package/dist/libs/apexcharts/dist/locales/da.json +55 -0
  43. package/dist/libs/apexcharts/dist/locales/ms.json +63 -0
  44. package/dist/libs/apexcharts/dist/locales/pt.json +3 -3
  45. package/dist/libs/apexcharts/dist/locales/vi.json +63 -0
  46. package/dist/libs/apexcharts/dist/locales/zh-tw.json +1 -1
  47. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js +8 -8
  48. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js.map +1 -1
  49. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +3 -3
  50. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -1
  51. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js +8 -8
  52. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js.map +1 -1
  53. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js +3 -3
  54. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js.map +1 -1
  55. package/dist/libs/bootstrap/dist/js/bootstrap.js +8 -8
  56. package/dist/libs/bootstrap/dist/js/bootstrap.js.map +1 -1
  57. package/dist/libs/bootstrap/dist/js/bootstrap.min.js +3 -3
  58. package/dist/libs/bootstrap/dist/js/bootstrap.min.js.map +1 -1
  59. package/dist/libs/countup.js/dist/countUp.d.ts +1 -0
  60. package/dist/libs/countup.js/dist/countUp.js +4 -1
  61. package/dist/libs/countup.js/dist/countUp.min.js +1 -1
  62. package/dist/libs/countup.js/dist/countUp.umd.js +1 -1
  63. package/dist/libs/jsvectormap/dist/jsvectormap.cjs +2279 -0
  64. package/dist/libs/jsvectormap/dist/jsvectormap.css +121 -0
  65. package/dist/libs/jsvectormap/dist/jsvectormap.esm.js +2277 -0
  66. package/dist/libs/jsvectormap/dist/jsvectormap.js +2285 -0
  67. package/dist/libs/jsvectormap/dist/jsvectormap.min.css +1 -0
  68. package/dist/libs/jsvectormap/dist/jsvectormap.min.js +1 -0
  69. package/dist/libs/jsvectormap/dist/maps/world-merc.js +1 -1
  70. package/dist/libs/jsvectormap/dist/maps/world.js +1 -1
  71. package/dist/libs/nouislider/dist/nouislider.d.ts +8 -10
  72. package/dist/libs/nouislider/dist/nouislider.js +64 -5
  73. package/dist/libs/nouislider/dist/nouislider.min.js +1 -1
  74. package/dist/libs/nouislider/dist/nouislider.min.mjs +1 -1
  75. package/dist/libs/nouislider/dist/nouislider.mjs +64 -5
  76. package/dist/libs/star-rating.js/dist/star-rating.cjs.js +5 -2
  77. package/dist/libs/star-rating.js/dist/star-rating.css +23 -20
  78. package/dist/libs/star-rating.js/dist/star-rating.esm.js +5 -2
  79. package/dist/libs/star-rating.js/dist/star-rating.js +5 -9
  80. package/dist/libs/star-rating.js/dist/star-rating.min.css +1 -8
  81. package/dist/libs/star-rating.js/dist/star-rating.min.js +1 -8
  82. package/dist/libs/tinymce/CHANGELOG.md +471 -12
  83. package/dist/libs/tinymce/README.md +16 -10
  84. package/dist/libs/tinymce/bower.json +1 -1
  85. package/dist/libs/tinymce/composer.json +2 -2
  86. package/dist/libs/tinymce/icons/default/icons.js +13 -2
  87. package/dist/libs/tinymce/icons/default/icons.min.js +1 -1
  88. package/dist/libs/tinymce/license.md +6 -0
  89. package/dist/libs/tinymce/models/dom/model.js +237 -213
  90. package/dist/libs/tinymce/models/dom/model.min.js +2 -2
  91. package/dist/libs/tinymce/package.json +2 -2
  92. package/dist/libs/tinymce/plugins/accordion/index.js +7 -0
  93. package/dist/libs/tinymce/plugins/accordion/plugin.js +1055 -0
  94. package/dist/libs/tinymce/plugins/accordion/plugin.min.js +4 -0
  95. package/dist/libs/tinymce/plugins/advlist/plugin.js +4 -4
  96. package/dist/libs/tinymce/plugins/advlist/plugin.min.js +2 -2
  97. package/dist/libs/tinymce/plugins/anchor/plugin.js +21 -3
  98. package/dist/libs/tinymce/plugins/anchor/plugin.min.js +2 -2
  99. package/dist/libs/tinymce/plugins/autolink/plugin.js +1 -1
  100. package/dist/libs/tinymce/plugins/autolink/plugin.min.js +2 -2
  101. package/dist/libs/tinymce/plugins/autoresize/plugin.js +20 -33
  102. package/dist/libs/tinymce/plugins/autoresize/plugin.min.js +2 -2
  103. package/dist/libs/tinymce/plugins/autosave/plugin.js +1 -1
  104. package/dist/libs/tinymce/plugins/autosave/plugin.min.js +1 -1
  105. package/dist/libs/tinymce/plugins/charmap/plugin.js +15 -3
  106. package/dist/libs/tinymce/plugins/charmap/plugin.min.js +2 -2
  107. package/dist/libs/tinymce/plugins/code/plugin.js +1 -1
  108. package/dist/libs/tinymce/plugins/code/plugin.min.js +1 -1
  109. package/dist/libs/tinymce/plugins/codesample/plugin.js +27 -13
  110. package/dist/libs/tinymce/plugins/codesample/plugin.min.js +2 -2
  111. package/dist/libs/tinymce/plugins/directionality/plugin.js +33 -27
  112. package/dist/libs/tinymce/plugins/directionality/plugin.min.js +2 -2
  113. package/dist/libs/tinymce/plugins/emoticons/plugin.js +17 -4
  114. package/dist/libs/tinymce/plugins/emoticons/plugin.min.js +2 -2
  115. package/dist/libs/tinymce/plugins/fullscreen/plugin.js +168 -105
  116. package/dist/libs/tinymce/plugins/fullscreen/plugin.min.js +2 -2
  117. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ar.js +93 -0
  118. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +93 -0
  119. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ca.js +93 -0
  120. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/cs.js +93 -0
  121. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/da.js +93 -0
  122. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/de.js +93 -0
  123. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/el.js +93 -0
  124. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/en.js +93 -0
  125. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/es.js +93 -0
  126. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/eu.js +93 -0
  127. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/fa.js +93 -0
  128. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/fi.js +93 -0
  129. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +93 -0
  130. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/he_IL.js +93 -0
  131. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/hi.js +93 -0
  132. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/hr.js +93 -0
  133. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +93 -0
  134. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/id.js +93 -0
  135. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/it.js +93 -0
  136. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ja.js +93 -0
  137. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/kk.js +93 -0
  138. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +93 -0
  139. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ms.js +93 -0
  140. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +93 -0
  141. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/nl.js +93 -0
  142. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/pl.js +93 -0
  143. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +93 -0
  144. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +93 -0
  145. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ro.js +93 -0
  146. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ru.js +93 -0
  147. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/sk.js +93 -0
  148. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +93 -0
  149. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +93 -0
  150. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/th_TH.js +93 -0
  151. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/tr.js +93 -0
  152. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/uk.js +93 -0
  153. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/vi.js +93 -0
  154. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +87 -0
  155. package/dist/libs/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +93 -0
  156. package/dist/libs/tinymce/plugins/help/plugin.js +115 -135
  157. package/dist/libs/tinymce/plugins/help/plugin.min.js +2 -2
  158. package/dist/libs/tinymce/plugins/image/plugin.js +23 -5
  159. package/dist/libs/tinymce/plugins/image/plugin.min.js +2 -2
  160. package/dist/libs/tinymce/plugins/importcss/plugin.js +4 -3
  161. package/dist/libs/tinymce/plugins/importcss/plugin.min.js +2 -2
  162. package/dist/libs/tinymce/plugins/insertdatetime/plugin.js +15 -3
  163. package/dist/libs/tinymce/plugins/insertdatetime/plugin.min.js +2 -2
  164. package/dist/libs/tinymce/plugins/link/plugin.js +193 -114
  165. package/dist/libs/tinymce/plugins/link/plugin.min.js +2 -2
  166. package/dist/libs/tinymce/plugins/lists/plugin.js +290 -66
  167. package/dist/libs/tinymce/plugins/lists/plugin.min.js +2 -2
  168. package/dist/libs/tinymce/plugins/media/plugin.js +80 -33
  169. package/dist/libs/tinymce/plugins/media/plugin.min.js +2 -2
  170. package/dist/libs/tinymce/plugins/nonbreaking/plugin.js +15 -3
  171. package/dist/libs/tinymce/plugins/nonbreaking/plugin.min.js +2 -2
  172. package/dist/libs/tinymce/plugins/pagebreak/plugin.js +15 -3
  173. package/dist/libs/tinymce/plugins/pagebreak/plugin.min.js +2 -2
  174. package/dist/libs/tinymce/plugins/preview/plugin.js +1 -1
  175. package/dist/libs/tinymce/plugins/preview/plugin.min.js +1 -1
  176. package/dist/libs/tinymce/plugins/quickbars/plugin.js +19 -7
  177. package/dist/libs/tinymce/plugins/quickbars/plugin.min.js +2 -2
  178. package/dist/libs/tinymce/plugins/save/plugin.js +3 -2
  179. package/dist/libs/tinymce/plugins/save/plugin.min.js +2 -2
  180. package/dist/libs/tinymce/plugins/searchreplace/plugin.js +42 -36
  181. package/dist/libs/tinymce/plugins/searchreplace/plugin.min.js +2 -2
  182. package/dist/libs/tinymce/plugins/table/plugin.js +121 -76
  183. package/dist/libs/tinymce/plugins/table/plugin.min.js +2 -2
  184. package/dist/libs/tinymce/plugins/visualblocks/plugin.js +1 -1
  185. package/dist/libs/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  186. package/dist/libs/tinymce/plugins/visualchars/plugin.js +1 -1
  187. package/dist/libs/tinymce/plugins/visualchars/plugin.min.js +1 -1
  188. package/dist/libs/tinymce/plugins/wordcount/plugin.js +27 -19
  189. package/dist/libs/tinymce/plugins/wordcount/plugin.min.js +2 -2
  190. package/dist/libs/tinymce/skins/content/dark/content.js +1 -0
  191. package/dist/libs/tinymce/skins/content/default/content.js +1 -0
  192. package/dist/libs/tinymce/skins/content/document/content.js +1 -0
  193. package/dist/libs/tinymce/skins/content/tinymce-5/content.js +1 -0
  194. package/dist/libs/tinymce/skins/content/tinymce-5-dark/content.js +1 -0
  195. package/dist/libs/tinymce/skins/content/writer/content.js +1 -0
  196. package/dist/libs/tinymce/skins/ui/oxide/content.css +32 -29
  197. package/dist/libs/tinymce/skins/ui/oxide/content.inline.css +32 -29
  198. package/dist/libs/tinymce/skins/ui/oxide/content.inline.js +1 -0
  199. package/dist/libs/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
  200. package/dist/libs/tinymce/skins/ui/oxide/content.js +1 -0
  201. package/dist/libs/tinymce/skins/ui/oxide/content.min.css +1 -1
  202. package/dist/libs/tinymce/skins/ui/oxide/skin.css +1003 -105
  203. package/dist/libs/tinymce/skins/ui/oxide/skin.js +1 -0
  204. package/dist/libs/tinymce/skins/ui/oxide/skin.min.css +1 -1
  205. package/dist/libs/tinymce/skins/ui/oxide/skin.shadowdom.js +1 -0
  206. package/dist/libs/tinymce/skins/ui/oxide-dark/content.css +32 -22
  207. package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.css +32 -29
  208. package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.js +1 -0
  209. package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
  210. package/dist/libs/tinymce/skins/ui/oxide-dark/content.js +1 -0
  211. package/dist/libs/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
  212. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.css +1008 -110
  213. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.js +1 -0
  214. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  215. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +1 -0
  216. package/dist/libs/tinymce/skins/ui/tinymce-5/content.css +32 -29
  217. package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.css +32 -29
  218. package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.js +1 -0
  219. package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
  220. package/dist/libs/tinymce/skins/ui/tinymce-5/content.js +1 -0
  221. package/dist/libs/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
  222. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.css +1003 -86
  223. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.js +1 -0
  224. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  225. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.shadowdom.js +1 -0
  226. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.css +32 -22
  227. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.css +32 -29
  228. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.js +1 -0
  229. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
  230. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.js +1 -0
  231. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
  232. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.css +1009 -92
  233. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.js +1 -0
  234. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  235. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js +1 -0
  236. package/dist/libs/tinymce/themes/silver/theme.js +26361 -24936
  237. package/dist/libs/tinymce/themes/silver/theme.min.js +2 -2
  238. package/dist/libs/tinymce/tinymce.d.ts +205 -136
  239. package/dist/libs/tinymce/tinymce.js +4400 -2838
  240. package/dist/libs/tinymce/tinymce.min.js +2 -2
  241. package/dist/libs/tom-select/dist/js/plugins/caret_position.js +11 -16
  242. package/dist/libs/tom-select/dist/js/plugins/caret_position.js.map +1 -1
  243. package/dist/libs/tom-select/dist/js/plugins/change_listener.js +3 -2
  244. package/dist/libs/tom-select/dist/js/plugins/change_listener.js.map +1 -1
  245. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js +47 -34
  246. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js.map +1 -1
  247. package/dist/libs/tom-select/dist/js/plugins/clear_button.js +3 -13
  248. package/dist/libs/tom-select/dist/js/plugins/clear_button.js.map +1 -1
  249. package/dist/libs/tom-select/dist/js/plugins/drag_drop.js +249 -29
  250. package/dist/libs/tom-select/dist/js/plugins/drag_drop.js.map +1 -1
  251. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js +3 -11
  252. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js.map +1 -1
  253. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js +15 -24
  254. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js.map +1 -1
  255. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js +4 -6
  256. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js.map +1 -1
  257. package/dist/libs/tom-select/dist/js/plugins/no_active_items.js +2 -1
  258. package/dist/libs/tom-select/dist/js/plugins/no_active_items.js.map +1 -1
  259. package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js +2 -2
  260. package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js.map +1 -1
  261. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js +3 -15
  262. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js.map +1 -1
  263. package/dist/libs/tom-select/dist/js/plugins/remove_button.js +11 -15
  264. package/dist/libs/tom-select/dist/js/plugins/remove_button.js.map +1 -1
  265. package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js +2 -3
  266. package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js.map +1 -1
  267. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js +41 -50
  268. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js.map +1 -1
  269. package/dist/libs/tom-select/dist/js/tom-select.base.js +411 -685
  270. package/dist/libs/tom-select/dist/js/tom-select.base.js.map +1 -1
  271. package/dist/libs/tom-select/dist/js/tom-select.base.min.js +87 -78
  272. package/dist/libs/tom-select/dist/js/tom-select.base.min.js.map +1 -1
  273. package/dist/libs/tom-select/dist/js/tom-select.complete.js +614 -820
  274. package/dist/libs/tom-select/dist/js/tom-select.complete.js.map +1 -1
  275. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js +195 -176
  276. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js.map +1 -1
  277. package/dist/libs/tom-select/dist/js/tom-select.popular.js +436 -705
  278. package/dist/libs/tom-select/dist/js/tom-select.popular.js.map +1 -1
  279. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js +87 -78
  280. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js.map +1 -1
  281. package/docs/base/colors.mdx +25 -0
  282. package/docs/base/typography.mdx +296 -0
  283. package/docs/components/alerts.mdx +430 -0
  284. package/docs/components/autosize.mdx +16 -0
  285. package/docs/components/avatars.mdx +172 -0
  286. package/docs/components/badges.mdx +127 -0
  287. package/docs/components/breadcrumb.mdx +107 -0
  288. package/docs/components/buttons.mdx +863 -0
  289. package/docs/components/cards.mdx +343 -0
  290. package/docs/components/carousel.mdx +235 -0
  291. package/docs/components/charts.mdx +526 -0
  292. package/docs/components/countup.mdx +136 -0
  293. package/docs/components/datagrid.mdx +90 -0
  294. package/docs/components/divider.mdx +63 -0
  295. package/docs/components/dropdowns.mdx +245 -0
  296. package/docs/components/dropzone.mdx +63 -0
  297. package/docs/components/empty.mdx +103 -0
  298. package/docs/components/icons.mdx +120 -0
  299. package/docs/components/inline-player.mdx +31 -0
  300. package/docs/components/modals.mdx +222 -0
  301. package/docs/components/placeholder.mdx +270 -0
  302. package/docs/components/popover.mdx +55 -0
  303. package/docs/components/progress.mdx +92 -0
  304. package/docs/components/progressbg.mdx +16 -0
  305. package/docs/components/range-slider.mdx +17 -0
  306. package/docs/components/ribbons.mdx +151 -0
  307. package/docs/components/spinners.mdx +119 -0
  308. package/docs/components/statuses.mdx +285 -0
  309. package/docs/components/steps.mdx +111 -0
  310. package/docs/components/switch-icon.mdx +155 -0
  311. package/docs/components/tables.mdx +410 -0
  312. package/docs/components/tabs.mdx +243 -0
  313. package/docs/components/timelines.mdx +506 -0
  314. package/docs/components/tinymce.mdx +44 -0
  315. package/docs/components/toasts.mdx +73 -0
  316. package/docs/components/tooltips.mdx +34 -0
  317. package/docs/components/tracking.mdx +162 -0
  318. package/docs/forms/form-color-check.mdx +179 -0
  319. package/docs/forms/form-elements.mdx +498 -0
  320. package/docs/forms/form-fieldset.mdx +44 -0
  321. package/docs/forms/form-helpers.mdx +12 -0
  322. package/docs/forms/form-image-check.mdx +162 -0
  323. package/docs/forms/form-input-mask.mdx +18 -0
  324. package/docs/forms/form-selectboxes.mdx +205 -0
  325. package/docs/forms/form-validation.mdx +25 -0
  326. package/docs/getting-started/browser-support.mdx +20 -0
  327. package/docs/getting-started/customize.mdx +24 -0
  328. package/docs/getting-started/download.mdx +42 -0
  329. package/docs/getting-started/faq.mdx +28 -0
  330. package/docs/getting-started/index.mdx +40 -0
  331. package/docs/icons/eps.mdx +13 -0
  332. package/docs/icons/figma.mdx +7 -0
  333. package/docs/icons/index.mdx +103 -0
  334. package/docs/icons/pdf.mdx +13 -0
  335. package/docs/icons/png.mdx +19 -0
  336. package/docs/icons/preact.mdx +40 -0
  337. package/docs/icons/react.mdx +40 -0
  338. package/docs/icons/solidjs.mdx +39 -0
  339. package/docs/icons/svelte.mdx +40 -0
  340. package/docs/icons/svg.mdx +74 -0
  341. package/docs/icons/vue.mdx +45 -0
  342. package/docs/icons/webfont.mdx +52 -0
  343. package/docs/layout/page-headers.mdx +226 -0
  344. package/docs/layout/page-layouts.mdx +204 -0
  345. package/docs/menu.json +317 -0
  346. package/docs/plugins/flags.mdx +52 -0
  347. package/docs/plugins/payments.mdx +43 -0
  348. package/docs/utilities/borders.mdx +114 -0
  349. package/docs/utilities/cursors.mdx +92 -0
  350. package/docs/utilities/interactions.mdx +23 -0
  351. package/package.json +37 -37
  352. package/src/js/src/toast.js +9 -1
  353. package/src/scss/_variables-dark.scss +3 -3
  354. package/src/scss/_variables.scss +38 -33
  355. package/src/scss/layout/_dark.scss +10 -2
  356. package/src/scss/layout/_navbar.scss +22 -13
  357. package/src/scss/layout/_page.scss +4 -4
  358. package/src/scss/layout/_root.scss +1 -1
  359. package/src/scss/mixins/_mixins.scss +4 -4
  360. package/src/scss/ui/_alerts.scss +2 -2
  361. package/src/scss/ui/_buttons.scss +4 -4
  362. package/src/scss/ui/_dropdowns.scss +1 -0
  363. package/src/scss/ui/_empty.scss +0 -5
  364. package/src/scss/ui/_flags.scss +2 -2
  365. package/src/scss/ui/_forms.scss +5 -4
  366. package/src/scss/ui/_modals.scss +3 -3
  367. package/src/scss/ui/_ribbons.scss +1 -0
  368. package/src/scss/ui/_toasts.scss +0 -1
  369. package/src/scss/ui/_type.scss +4 -2
  370. package/src/scss/vendor/_apexcharts.scss +2 -2
  371. package/src/scss/vendor/_jsvectormap.scss +1 -1
  372. package/src/scss/vendor/_litepicker.scss +1 -1
  373. package/dist/libs/jsvectormap/dist/js/jsvectormap.js +0 -2318
  374. package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +0 -1
  375. package/dist/libs/tinymce/license.txt +0 -21
  376. package/dist/libs/tinymce/plugins/template/index.js +0 -7
  377. package/dist/libs/tinymce/plugins/template/plugin.js +0 -554
  378. package/dist/libs/tinymce/plugins/template/plugin.min.js +0 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * TinyMCE version 6.4.2 (2023-04-26)
2
+ * TinyMCE version 7.3.0 (2024-08-07)
3
3
  */
4
4
 
5
5
  (function () {
@@ -40,6 +40,7 @@
40
40
 
41
41
  const noop = () => {
42
42
  };
43
+ const compose1 = (fbc, fab) => a => fbc(fab(a));
43
44
  const constant = value => {
44
45
  return () => {
45
46
  return value;
@@ -48,6 +49,12 @@
48
49
  const tripleEquals = (a, b) => {
49
50
  return a === b;
50
51
  };
52
+ function curry(fn, ...initialArgs) {
53
+ return (...restArgs) => {
54
+ const all = initialArgs.concat(restArgs);
55
+ return fn.apply(null, all);
56
+ };
57
+ }
51
58
  const not = f => t => !f(t);
52
59
  const never = constant(false);
53
60
 
@@ -261,7 +268,10 @@
261
268
  const equals = (lhs, rhs, comparator = tripleEquals) => lift2(lhs, rhs, comparator).getOr(lhs.isNone() && rhs.isNone());
262
269
  const lift2 = (oa, ob, f) => oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none();
263
270
 
271
+ const COMMENT = 8;
272
+ const DOCUMENT_FRAGMENT = 11;
264
273
  const ELEMENT = 1;
274
+ const TEXT = 3;
265
275
 
266
276
  const fromHtml = (html, scope) => {
267
277
  const doc = scope || document;
@@ -327,17 +337,39 @@
327
337
  };
328
338
  const is = is$1;
329
339
 
330
- var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {
331
- if (is(scope, a)) {
332
- return Optional.some(scope);
333
- } else if (isFunction(isRoot) && isRoot(scope)) {
334
- return Optional.none();
335
- } else {
336
- return ancestor(scope, a, isRoot);
340
+ const Global = typeof window !== 'undefined' ? window : Function('return this;')();
341
+
342
+ const path = (parts, scope) => {
343
+ let o = scope !== undefined && scope !== null ? scope : Global;
344
+ for (let i = 0; i < parts.length && o !== undefined && o !== null; ++i) {
345
+ o = o[parts[i]];
346
+ }
347
+ return o;
348
+ };
349
+ const resolve = (p, scope) => {
350
+ const parts = p.split('.');
351
+ return path(parts, scope);
352
+ };
353
+
354
+ const unsafe = (name, scope) => {
355
+ return resolve(name, scope);
356
+ };
357
+ const getOrDie = (name, scope) => {
358
+ const actual = unsafe(name, scope);
359
+ if (actual === undefined || actual === null) {
360
+ throw new Error(name + ' not available on this browser');
337
361
  }
362
+ return actual;
338
363
  };
339
364
 
340
- typeof window !== 'undefined' ? window : Function('return this;')();
365
+ const getPrototypeOf = Object.getPrototypeOf;
366
+ const sandHTMLElement = scope => {
367
+ return getOrDie('HTMLElement', scope);
368
+ };
369
+ const isPrototypeOf = x => {
370
+ const scope = resolve('ownerDocument.defaultView', x);
371
+ return isObject(x) && (sandHTMLElement(scope).prototype.isPrototypeOf(x) || /^HTML\w*Element$/.test(getPrototypeOf(x).constructor.name));
372
+ };
341
373
 
342
374
  const name = element => {
343
375
  const r = element.dom.nodeName;
@@ -345,7 +377,11 @@
345
377
  };
346
378
  const type = element => element.dom.nodeType;
347
379
  const isType = t => element => type(element) === t;
380
+ const isComment = element => type(element) === COMMENT || name(element) === '#comment';
381
+ const isHTMLElement = element => isElement$1(element) && isPrototypeOf(element.dom);
348
382
  const isElement$1 = isType(ELEMENT);
383
+ const isText = isType(TEXT);
384
+ const isDocumentFragment = isType(DOCUMENT_FRAGMENT);
349
385
  const isTag = tag => e => isElement$1(e) && name(e) === tag;
350
386
 
351
387
  const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
@@ -359,7 +395,34 @@
359
395
  const firstChild = element => child(element, 0);
360
396
  const lastChild = element => child(element, element.dom.childNodes.length - 1);
361
397
 
362
- const ancestor = (scope, predicate, isRoot) => {
398
+ const isShadowRoot = dos => isDocumentFragment(dos) && isNonNullable(dos.dom.host);
399
+ const getRootNode = e => SugarElement.fromDom(e.dom.getRootNode());
400
+ const getShadowRoot = e => {
401
+ const r = getRootNode(e);
402
+ return isShadowRoot(r) ? Optional.some(r) : Optional.none();
403
+ };
404
+ const getShadowHost = e => SugarElement.fromDom(e.dom.host);
405
+
406
+ const inBody = element => {
407
+ const dom = isText(element) ? element.dom.parentNode : element.dom;
408
+ if (dom === undefined || dom === null || dom.ownerDocument === null) {
409
+ return false;
410
+ }
411
+ const doc = dom.ownerDocument;
412
+ return getShadowRoot(SugarElement.fromDom(dom)).fold(() => doc.body.contains(dom), compose1(inBody, getShadowHost));
413
+ };
414
+
415
+ var ClosestOrAncestor = (is, ancestor, scope, a, isRoot) => {
416
+ if (is(scope, a)) {
417
+ return Optional.some(scope);
418
+ } else if (isFunction(isRoot) && isRoot(scope)) {
419
+ return Optional.none();
420
+ } else {
421
+ return ancestor(scope, a, isRoot);
422
+ }
423
+ };
424
+
425
+ const ancestor$3 = (scope, predicate, isRoot) => {
363
426
  let element = scope.dom;
364
427
  const stop = isFunction(isRoot) ? isRoot : never;
365
428
  while (element.parentNode) {
@@ -373,11 +436,27 @@
373
436
  }
374
437
  return Optional.none();
375
438
  };
376
- const closest = (scope, predicate, isRoot) => {
439
+ const closest$2 = (scope, predicate, isRoot) => {
377
440
  const is = (s, test) => test(s);
378
- return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
441
+ return ClosestOrAncestor(is, ancestor$3, scope, predicate, isRoot);
379
442
  };
380
443
 
444
+ const ancestor$2 = (scope, selector, isRoot) => ancestor$3(scope, e => is$1(e, selector), isRoot);
445
+ const closest$1 = (scope, selector, isRoot) => {
446
+ const is = (element, selector) => is$1(element, selector);
447
+ return ClosestOrAncestor(is, ancestor$2, scope, selector, isRoot);
448
+ };
449
+
450
+ const closest = target => closest$1(target, '[contenteditable]');
451
+ const isEditable = (element, assumeEditable = false) => {
452
+ if (inBody(element)) {
453
+ return element.dom.isContentEditable;
454
+ } else {
455
+ return closest(element).fold(constant(assumeEditable), editable => getRaw(editable) === 'true');
456
+ }
457
+ };
458
+ const getRaw = element => element.dom.contentEditable;
459
+
381
460
  const before$1 = (marker, element) => {
382
461
  const parent$1 = parent(marker);
383
462
  parent$1.each(v => {
@@ -395,6 +474,14 @@
395
474
  before$1(v, element);
396
475
  });
397
476
  };
477
+ const prepend = (parent, element) => {
478
+ const firstChild$1 = firstChild(parent);
479
+ firstChild$1.fold(() => {
480
+ append$1(parent, element);
481
+ }, v => {
482
+ parent.dom.insertBefore(element.dom, v.dom);
483
+ });
484
+ };
398
485
  const append$1 = (parent, element) => {
399
486
  parent.dom.appendChild(element.dom);
400
487
  };
@@ -539,7 +626,7 @@
539
626
  const getForcedRootBlock = option('forced_root_block');
540
627
  const getForcedRootBlockAttrs = option('forced_root_block_attrs');
541
628
 
542
- const createTextBlock = (editor, contentNode) => {
629
+ const createTextBlock = (editor, contentNode, attrs = {}) => {
543
630
  const dom = editor.dom;
544
631
  const blockElements = editor.schema.getBlockElements();
545
632
  const fragment = dom.createFragment();
@@ -548,7 +635,10 @@
548
635
  let node;
549
636
  let textBlock;
550
637
  let hasContentNode = false;
551
- textBlock = dom.create(blockName, blockAttrs);
638
+ textBlock = dom.create(blockName, {
639
+ ...blockAttrs,
640
+ ...attrs.style ? { style: attrs.style } : {}
641
+ });
552
642
  if (!isBlock(contentNode.firstChild, blockElements)) {
553
643
  fragment.appendChild(textBlock);
554
644
  }
@@ -713,9 +803,11 @@
713
803
  const isListHost = (schema, node) => !isListNode(node) && !isListItemNode(node) && exists(listNames, listName => schema.isValidChild(node.nodeName, listName));
714
804
  const getClosestListHost = (editor, elm) => {
715
805
  const parentBlocks = editor.dom.getParents(elm, editor.dom.isBlock);
716
- const parentBlock = find(parentBlocks, elm => isListHost(editor.schema, elm));
806
+ const isNotForcedRootBlock = elm => elm.nodeName.toLowerCase() !== getForcedRootBlock(editor);
807
+ const parentBlock = find(parentBlocks, elm => isNotForcedRootBlock(elm) && isListHost(editor.schema, elm));
717
808
  return parentBlock.getOr(editor.getBody());
718
809
  };
810
+ const isListInsideAnLiWithFirstAndLastNotListElement = list => parent(list).exists(parent => isListItemNode(parent.dom) && firstChild(parent).exists(firstChild => !isListNode(firstChild.dom)) && lastChild(parent).exists(lastChild => !isListNode(lastChild.dom)));
719
811
  const findLastParentListNode = (editor, elm) => {
720
812
  const parentLists = editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));
721
813
  return last(parentLists);
@@ -725,9 +817,14 @@
725
817
  const subsequentLists = filter$1(editor.selection.getSelectedBlocks(), isOlUlNode);
726
818
  return firstList.toArray().concat(subsequentLists);
727
819
  };
820
+ const getParentLists = editor => {
821
+ const elm = editor.selection.getStart();
822
+ return editor.dom.getParents(elm, 'ol,ul', getClosestListHost(editor, elm));
823
+ };
728
824
  const getSelectedListRoots = editor => {
729
825
  const selectedLists = getSelectedLists(editor);
730
- return getUniqueListRoots(editor, selectedLists);
826
+ const parentLists = getParentLists(editor);
827
+ return find(parentLists, p => isListInsideAnLiWithFirstAndLastNotListElement(SugarElement.fromDom(p))).fold(() => getUniqueListRoots(editor, selectedLists), l => [l]);
731
828
  };
732
829
  const getUniqueListRoots = (editor, lists) => {
733
830
  const listRoots = map(lists, list => findLastParentListNode(editor, list).getOr(list));
@@ -745,7 +842,6 @@
745
842
  const parentList = editor.dom.getParent(element, 'ol,ul,dl');
746
843
  return isWithinNonEditable(editor, parentList);
747
844
  };
748
- const hasNonEditableBlocksSelected = editor => exists(editor.selection.getSelectedBlocks(), not(editor.dom.isEditable));
749
845
  const setNodeChangeHandler = (editor, nodeChangeHandler) => {
750
846
  const initialNode = editor.selection.getNode();
751
847
  nodeChangeHandler({
@@ -791,6 +887,32 @@
791
887
  internalSet(dom, property, value);
792
888
  };
793
889
 
890
+ const isList = el => is(el, 'OL,UL');
891
+ const isListItem = el => is(el, 'LI');
892
+ const hasFirstChildList = el => firstChild(el).exists(isList);
893
+ const hasLastChildList = el => lastChild(el).exists(isList);
894
+
895
+ const isEntryList = entry => 'listAttributes' in entry;
896
+ const isEntryComment = entry => 'isComment' in entry;
897
+ const isEntryFragment = entry => 'isFragment' in entry;
898
+ const isIndented = entry => entry.depth > 0;
899
+ const isSelected = entry => entry.isSelected;
900
+ const cloneItemContent = li => {
901
+ const children$1 = children(li);
902
+ const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;
903
+ return map(content, deep);
904
+ };
905
+ const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({
906
+ depth,
907
+ dirty: false,
908
+ isSelected,
909
+ content: cloneItemContent(li),
910
+ itemAttributes: clone$1(li),
911
+ listAttributes: clone$1(list),
912
+ listType: name(list),
913
+ isInPreviousLi: false
914
+ }));
915
+
794
916
  const joinSegment = (parent, child) => {
795
917
  append$1(parent.item, child.list);
796
918
  };
@@ -813,7 +935,7 @@
813
935
  const createSegments = (scope, entry, size) => {
814
936
  const segments = [];
815
937
  for (let i = 0; i < size; i++) {
816
- segments.push(createSegment(scope, entry.listType));
938
+ segments.push(createSegment(scope, isEntryList(entry) ? entry.listType : entry.parentListType));
817
939
  }
818
940
  return segments;
819
941
  };
@@ -822,8 +944,10 @@
822
944
  set(segments[i].item, 'list-style-type', 'none');
823
945
  }
824
946
  last(segments).each(segment => {
825
- setAll(segment.list, entry.listAttributes);
826
- setAll(segment.item, entry.itemAttributes);
947
+ if (isEntryList(entry)) {
948
+ setAll(segment.list, entry.listAttributes);
949
+ setAll(segment.item, entry.itemAttributes);
950
+ }
827
951
  append(segment.item, entry.content);
828
952
  });
829
953
  };
@@ -846,9 +970,16 @@
846
970
  const writeShallow = (scope, cast, entry) => {
847
971
  const newCast = cast.slice(0, entry.depth);
848
972
  last(newCast).each(segment => {
849
- const item = createItem(scope, entry.itemAttributes, entry.content);
850
- appendItem(segment, item);
851
- normalizeSegment(segment, entry);
973
+ if (isEntryList(entry)) {
974
+ const item = createItem(scope, entry.itemAttributes, entry.content);
975
+ appendItem(segment, item);
976
+ normalizeSegment(segment, entry);
977
+ } else if (isEntryFragment(entry)) {
978
+ append(segment.item, entry.content);
979
+ } else {
980
+ const item = SugarElement.fromHtml(`<!--${ entry.content }-->`);
981
+ append$1(segment.list, item);
982
+ }
852
983
  });
853
984
  return newCast;
854
985
  };
@@ -860,33 +991,27 @@
860
991
  return cast.concat(segments);
861
992
  };
862
993
  const composeList = (scope, entries) => {
863
- const cast = foldl(entries, (cast, entry) => {
864
- return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);
994
+ let firstCommentEntryOpt = Optional.none();
995
+ const cast = foldl(entries, (cast, entry, i) => {
996
+ if (!isEntryComment(entry)) {
997
+ return entry.depth > cast.length ? writeDeep(scope, cast, entry) : writeShallow(scope, cast, entry);
998
+ } else {
999
+ if (i === 0) {
1000
+ firstCommentEntryOpt = Optional.some(entry);
1001
+ return cast;
1002
+ }
1003
+ return writeShallow(scope, cast, entry);
1004
+ }
865
1005
  }, []);
1006
+ firstCommentEntryOpt.each(firstCommentEntry => {
1007
+ const item = SugarElement.fromHtml(`<!--${ firstCommentEntry.content }-->`);
1008
+ head(cast).each(fistCast => {
1009
+ prepend(fistCast.list, item);
1010
+ });
1011
+ });
866
1012
  return head(cast).map(segment => segment.list);
867
1013
  };
868
1014
 
869
- const isList = el => is(el, 'OL,UL');
870
- const hasFirstChildList = el => firstChild(el).exists(isList);
871
- const hasLastChildList = el => lastChild(el).exists(isList);
872
-
873
- const isIndented = entry => entry.depth > 0;
874
- const isSelected = entry => entry.isSelected;
875
- const cloneItemContent = li => {
876
- const children$1 = children(li);
877
- const content = hasLastChildList(li) ? children$1.slice(0, -1) : children$1;
878
- return map(content, deep);
879
- };
880
- const createEntry = (li, depth, isSelected) => parent(li).filter(isElement$1).map(list => ({
881
- depth,
882
- dirty: false,
883
- isSelected,
884
- content: cloneItemContent(li),
885
- itemAttributes: clone$1(li),
886
- listAttributes: clone$1(list),
887
- listType: name(list)
888
- }));
889
-
890
1015
  const indentEntry = (indentation, entry) => {
891
1016
  switch (indentation) {
892
1017
  case 'Indent':
@@ -902,8 +1027,10 @@
902
1027
  };
903
1028
 
904
1029
  const cloneListProperties = (target, source) => {
905
- target.listType = source.listType;
906
- target.listAttributes = { ...source.listAttributes };
1030
+ if (isEntryList(target) && isEntryList(source)) {
1031
+ target.listType = source.listType;
1032
+ target.listAttributes = { ...source.listAttributes };
1033
+ }
907
1034
  };
908
1035
  const cleanListProperties = entry => {
909
1036
  entry.listAttributes = filter(entry.listAttributes, (_value, key) => key !== 'start');
@@ -917,7 +1044,7 @@
917
1044
  const normalizeEntries = entries => {
918
1045
  each$1(entries, (entry, i) => {
919
1046
  closestSiblingEntry(entries, i).fold(() => {
920
- if (entry.dirty) {
1047
+ if (entry.dirty && isEntryList(entry)) {
921
1048
  cleanListProperties(entry);
922
1049
  }
923
1050
  }, matchingEntry => cloneListProperties(entry, matchingEntry));
@@ -939,7 +1066,17 @@
939
1066
  };
940
1067
  };
941
1068
 
942
- const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => {
1069
+ const parseSingleItem = (depth, itemSelection, selectionState, item) => {
1070
+ var _a;
1071
+ if (isComment(item)) {
1072
+ return [{
1073
+ depth: depth + 1,
1074
+ content: (_a = item.dom.nodeValue) !== null && _a !== void 0 ? _a : '',
1075
+ dirty: false,
1076
+ isSelected: false,
1077
+ isComment: true
1078
+ }];
1079
+ }
943
1080
  itemSelection.each(selection => {
944
1081
  if (eq(selection.start, item)) {
945
1082
  selectionState.set(true);
@@ -953,7 +1090,29 @@
953
1090
  });
954
1091
  const childListEntries = lastChild(item).filter(isList).map(list => parseList(depth, itemSelection, selectionState, list)).getOr([]);
955
1092
  return currentItemEntry.toArray().concat(childListEntries);
956
- }, list => parseList(depth, itemSelection, selectionState, list));
1093
+ };
1094
+ const parseItem = (depth, itemSelection, selectionState, item) => firstChild(item).filter(isList).fold(() => parseSingleItem(depth, itemSelection, selectionState, item), list => {
1095
+ const parsedSiblings = foldl(children(item), (acc, liChild, i) => {
1096
+ if (i === 0) {
1097
+ return acc;
1098
+ } else {
1099
+ if (isListItem(liChild)) {
1100
+ return acc.concat(parseSingleItem(depth, itemSelection, selectionState, liChild));
1101
+ } else {
1102
+ const fragment = {
1103
+ isFragment: true,
1104
+ depth,
1105
+ content: [liChild],
1106
+ isSelected: false,
1107
+ dirty: false,
1108
+ parentListType: name(list)
1109
+ };
1110
+ return acc.concat(fragment);
1111
+ }
1112
+ }
1113
+ }, []);
1114
+ return parseList(depth, itemSelection, selectionState, list).concat(parsedSiblings);
1115
+ });
957
1116
  const parseList = (depth, itemSelection, selectionState, list) => bind(children(list), element => {
958
1117
  const parser = isList(element) ? parseList : parseItem;
959
1118
  const newDepth = depth + 1;
@@ -971,8 +1130,9 @@
971
1130
  const outdentedComposer = (editor, entries) => {
972
1131
  const normalizedEntries = normalizeEntries(entries);
973
1132
  return map(normalizedEntries, entry => {
974
- const content = fromElements(entry.content);
975
- return SugarElement.fromDom(createTextBlock(editor, content.dom));
1133
+ const content = !isEntryComment(entry) ? fromElements(entry.content) : fromElements([SugarElement.fromHtml(`<!--${ entry.content }-->`)]);
1134
+ const listItemAttrs = isEntryList(entry) ? entry.itemAttributes : {};
1135
+ return SugarElement.fromDom(createTextBlock(editor, content.dom, listItemAttrs));
976
1136
  });
977
1137
  };
978
1138
  const indentedComposer = (editor, entries) => {
@@ -1029,6 +1189,10 @@
1029
1189
  const zeroWidth = '\uFEFF';
1030
1190
  const isZwsp = char => char === zeroWidth;
1031
1191
 
1192
+ const ancestor$1 = (scope, predicate, isRoot) => ancestor$3(scope, predicate, isRoot).isSome();
1193
+
1194
+ const ancestor = (element, target) => ancestor$1(element, curry(eq, target));
1195
+
1032
1196
  var global$1 = tinymce.util.Tools.resolve('tinymce.dom.BookmarkManager');
1033
1197
 
1034
1198
  const DOM$1 = global$3.DOM;
@@ -1148,9 +1312,15 @@
1148
1312
  if (!start && isBr(container.nextSibling)) {
1149
1313
  container = container.nextSibling;
1150
1314
  }
1315
+ const findBlockAncestor = node => {
1316
+ while (!editor.dom.isBlock(node) && node.parentNode && root !== node) {
1317
+ node = node.parentNode;
1318
+ }
1319
+ return node;
1320
+ };
1151
1321
  const findBetterContainer = (container, forward) => {
1152
1322
  var _a;
1153
- const walker = new global$5(container, root);
1323
+ const walker = new global$5(container, findBlockAncestor(container));
1154
1324
  const dir = forward ? 'next' : 'prev';
1155
1325
  let node;
1156
1326
  while (node = walker[dir]()) {
@@ -1245,10 +1415,19 @@
1245
1415
  detailStyle = detailStyle === null ? '' : detailStyle;
1246
1416
  return sibStyle === detailStyle;
1247
1417
  };
1418
+ const getRootSearchStart = (editor, range) => {
1419
+ const start = editor.selection.getStart(true);
1420
+ const startPoint = getEndPointNode(editor, range, true, editor.getBody());
1421
+ if (ancestor(SugarElement.fromDom(startPoint), SugarElement.fromDom(range.commonAncestorContainer))) {
1422
+ return range.commonAncestorContainer;
1423
+ } else {
1424
+ return start;
1425
+ }
1426
+ };
1248
1427
  const applyList = (editor, listName, detail) => {
1249
1428
  const rng = editor.selection.getRng();
1250
1429
  let listItemName = 'LI';
1251
- const root = getClosestListHost(editor, editor.selection.getStart(true));
1430
+ const root = getClosestListHost(editor, getRootSearchStart(editor, rng));
1252
1431
  const dom = editor.dom;
1253
1432
  if (dom.getContentEditable(editor.selection.getNode()) === 'false') {
1254
1433
  return;
@@ -1258,7 +1437,7 @@
1258
1437
  listItemName = 'DT';
1259
1438
  }
1260
1439
  const bookmark = createBookmark(rng);
1261
- const selectedTextBlocks = getSelectedTextBlocks(editor, rng, root);
1440
+ const selectedTextBlocks = filter$1(getSelectedTextBlocks(editor, rng, root), editor.dom.isEditable);
1262
1441
  global$2.each(selectedTextBlocks, block => {
1263
1442
  let listBlock;
1264
1443
  const sibling = block.previousSibling;
@@ -1335,9 +1514,27 @@
1335
1514
  fireListEvent(editor, listToggleActionFromListName(listName), list);
1336
1515
  }
1337
1516
  };
1517
+ const updateCustomList = (editor, list, listName, detail) => {
1518
+ list.classList.forEach((cls, _, classList) => {
1519
+ if (cls.startsWith('tox-')) {
1520
+ classList.remove(cls);
1521
+ if (classList.length === 0) {
1522
+ list.removeAttribute('class');
1523
+ }
1524
+ }
1525
+ });
1526
+ if (list.nodeName !== listName) {
1527
+ const newList = editor.dom.rename(list, listName);
1528
+ updateListWithDetails(editor.dom, newList, detail);
1529
+ fireListEvent(editor, listToggleActionFromListName(listName), newList);
1530
+ } else {
1531
+ updateListWithDetails(editor.dom, list, detail);
1532
+ fireListEvent(editor, listToggleActionFromListName(listName), list);
1533
+ }
1534
+ };
1338
1535
  const toggleMultipleLists = (editor, parentList, lists, listName, detail) => {
1339
1536
  const parentIsList = isListNode(parentList);
1340
- if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail)) {
1537
+ if (parentIsList && parentList.nodeName === listName && !hasListStyleDetail(detail) && !isCustomList(parentList)) {
1341
1538
  flattenListSelection(editor);
1342
1539
  } else {
1343
1540
  applyList(editor, listName, detail);
@@ -1346,8 +1543,9 @@
1346
1543
  parentList,
1347
1544
  ...lists
1348
1545
  ] : lists;
1546
+ const updateFunction = parentIsList && isCustomList(parentList) ? updateCustomList : updateList$1;
1349
1547
  global$2.each(allLists, elm => {
1350
- updateList$1(editor, elm, listName, detail);
1548
+ updateFunction(editor, elm, listName, detail);
1351
1549
  });
1352
1550
  editor.selection.setRng(resolveBookmark(bookmark));
1353
1551
  }
@@ -1364,6 +1562,16 @@
1364
1562
  flattenListSelection(editor);
1365
1563
  } else {
1366
1564
  const bookmark = createBookmark(editor.selection.getRng());
1565
+ if (isCustomList(parentList)) {
1566
+ parentList.classList.forEach((cls, _, classList) => {
1567
+ if (cls.startsWith('tox-')) {
1568
+ classList.remove(cls);
1569
+ if (classList.length === 0) {
1570
+ parentList.removeAttribute('class');
1571
+ }
1572
+ }
1573
+ });
1574
+ }
1367
1575
  updateListWithDetails(editor.dom, parentList, detail);
1368
1576
  const newList = editor.dom.rename(parentList, listName);
1369
1577
  mergeWithAdjacentLists(editor.dom, newList);
@@ -1378,7 +1586,7 @@
1378
1586
  };
1379
1587
  const toggleList = (editor, listName, _detail) => {
1380
1588
  const parentList = getParentList(editor);
1381
- if (isWithinNonEditableList(editor, parentList) || hasNonEditableBlocksSelected(editor)) {
1589
+ if (isWithinNonEditableList(editor, parentList)) {
1382
1590
  return;
1383
1591
  }
1384
1592
  const selectedSubLists = getSelectedSubLists(editor);
@@ -1452,8 +1660,9 @@
1452
1660
  const childNodes = elm.childNodes;
1453
1661
  return childNodes.length === 1 && !isListNode(childNodes[0]) && dom.isBlock(childNodes[0]);
1454
1662
  };
1663
+ const isUnwrappable = node => Optional.from(node).map(SugarElement.fromDom).filter(isHTMLElement).exists(el => isEditable(el) && !contains$1(['details'], name(el)));
1455
1664
  const unwrapSingleBlockChild = (dom, elm) => {
1456
- if (hasOnlyOneBlockChild(dom, elm)) {
1665
+ if (hasOnlyOneBlockChild(dom, elm) && isUnwrappable(elm.firstChild)) {
1457
1666
  dom.remove(elm.firstChild, true);
1458
1667
  }
1459
1668
  };
@@ -1534,7 +1743,8 @@
1534
1743
  }
1535
1744
  const rng = normalizeRange(selection.getRng());
1536
1745
  const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);
1537
- if (otherLi && otherLi !== li) {
1746
+ const willMergeParentIntoChild = otherLi && (isForward ? dom.isChildOf(li, otherLi) : dom.isChildOf(otherLi, li));
1747
+ if (otherLi && otherLi !== li && !willMergeParentIntoChild) {
1538
1748
  editor.undoManager.transact(() => {
1539
1749
  if (isForward) {
1540
1750
  mergeForward(editor, rng, otherLi, li);
@@ -1547,6 +1757,18 @@
1547
1757
  }
1548
1758
  });
1549
1759
  return true;
1760
+ } else if (willMergeParentIntoChild && !isForward && otherLi !== li) {
1761
+ editor.undoManager.transact(() => {
1762
+ if (rng.commonAncestorContainer.parentElement) {
1763
+ const bookmark = createBookmark(rng);
1764
+ const oldParentElRef = rng.commonAncestorContainer.parentElement;
1765
+ moveChildren(dom, rng.commonAncestorContainer.parentElement, otherLi);
1766
+ oldParentElRef.remove();
1767
+ const resolvedBookmark = resolveBookmark(bookmark);
1768
+ editor.selection.setRng(resolvedBookmark);
1769
+ }
1770
+ });
1771
+ return true;
1550
1772
  } else if (!otherLi) {
1551
1773
  if (!isForward && rng.startOffset === 0 && rng.endOffset === 0) {
1552
1774
  editor.undoManager.transact(() => {
@@ -1570,7 +1792,7 @@
1570
1792
  const selectionStartElm = editor.selection.getStart();
1571
1793
  const root = getClosestEditingHost(editor, selectionStartElm);
1572
1794
  const block = dom.getParent(selectionStartElm, dom.isBlock, root);
1573
- if (block && dom.isEmpty(block)) {
1795
+ if (block && dom.isEmpty(block, undefined, { checkRootAsContent: true })) {
1574
1796
  const rng = normalizeRange(editor.selection.getRng());
1575
1797
  const otherLi = dom.getParent(findNextCaretContainer(editor, rng, isForward, root), 'LI', root);
1576
1798
  if (otherLi) {
@@ -1580,14 +1802,15 @@
1580
1802
  'caption'
1581
1803
  ], name(element));
1582
1804
  const findRoot = node => node.dom === root;
1583
- const otherLiCell = closest(SugarElement.fromDom(otherLi), findValidElement, findRoot);
1584
- const caretCell = closest(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);
1805
+ const otherLiCell = closest$2(SugarElement.fromDom(otherLi), findValidElement, findRoot);
1806
+ const caretCell = closest$2(SugarElement.fromDom(rng.startContainer), findValidElement, findRoot);
1585
1807
  if (!equals(otherLiCell, caretCell, eq)) {
1586
1808
  return false;
1587
1809
  }
1588
1810
  editor.undoManager.transact(() => {
1811
+ const parentNode = otherLi.parentNode;
1589
1812
  removeBlock(dom, block, root);
1590
- mergeWithAdjacentLists(dom, otherLi.parentNode);
1813
+ mergeWithAdjacentLists(dom, parentNode);
1591
1814
  editor.selection.select(otherLi, true);
1592
1815
  editor.selection.collapse(isForward);
1593
1816
  });
@@ -1883,8 +2106,9 @@
1883
2106
  const setupToggleButtonHandler = (editor, listName) => api => {
1884
2107
  const toggleButtonHandler = e => {
1885
2108
  api.setActive(inList(e.parents, listName));
1886
- api.setEnabled(!isWithinNonEditableList(editor, e.element));
2109
+ api.setEnabled(!isWithinNonEditableList(editor, e.element) && editor.selection.isEditable());
1887
2110
  };
2111
+ api.setEnabled(editor.selection.isEditable());
1888
2112
  return setNodeChangeHandler(editor, toggleButtonHandler);
1889
2113
  };
1890
2114
  const register$1 = editor => {