@tabler/core 1.0.0-beta10 → 1.0.0-beta12

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 (428) hide show
  1. package/README.md +66 -21
  2. package/dist/css/demo.css +251 -379
  3. package/dist/css/demo.min.css +3 -3
  4. package/dist/css/demo.rtl.css +251 -379
  5. package/dist/css/demo.rtl.min.css +3 -3
  6. package/dist/css/tabler-flags.css +266 -529
  7. package/dist/css/tabler-flags.min.css +3 -3
  8. package/dist/css/tabler-flags.rtl.css +266 -529
  9. package/dist/css/tabler-flags.rtl.min.css +3 -3
  10. package/dist/css/tabler-payments.css +127 -252
  11. package/dist/css/tabler-payments.min.css +2 -2
  12. package/dist/css/tabler-payments.rtl.css +127 -252
  13. package/dist/css/tabler-payments.rtl.min.css +2 -2
  14. package/dist/css/tabler-vendors.css +526 -611
  15. package/dist/css/tabler-vendors.min.css +3 -3
  16. package/dist/css/tabler-vendors.rtl.css +526 -611
  17. package/dist/css/tabler-vendors.rtl.min.css +3 -3
  18. package/dist/css/tabler.css +11259 -13083
  19. package/dist/css/tabler.min.css +4 -4
  20. package/dist/css/tabler.rtl.css +11251 -13090
  21. package/dist/css/tabler.rtl.min.css +4 -4
  22. package/dist/js/demo-theme.js +32 -0
  23. package/dist/js/demo-theme.min.js +9 -0
  24. package/dist/js/demo.js +2 -12
  25. package/dist/js/demo.min.js +3 -3
  26. package/dist/js/tabler.esm.js +1692 -1541
  27. package/dist/js/tabler.esm.min.js +9 -3
  28. package/dist/js/tabler.js +1687 -1514
  29. package/dist/js/tabler.min.js +9 -3
  30. package/dist/libs/apexcharts/dist/apexcharts.amd.js +2 -0
  31. package/dist/libs/apexcharts/dist/apexcharts.common.js +14 -0
  32. package/dist/libs/apexcharts/dist/apexcharts.css +691 -0
  33. package/dist/libs/apexcharts/dist/apexcharts.esm.js +14 -0
  34. package/dist/libs/apexcharts/dist/apexcharts.js +31979 -0
  35. package/dist/libs/apexcharts/dist/apexcharts.min.js +4 -4
  36. package/dist/libs/apexcharts/dist/locales/ar.json +63 -0
  37. package/dist/libs/apexcharts/dist/locales/ca.json +55 -0
  38. package/dist/libs/apexcharts/dist/locales/cs.json +55 -0
  39. package/dist/libs/apexcharts/dist/locales/de.json +55 -0
  40. package/dist/libs/apexcharts/dist/locales/el.json +55 -0
  41. package/dist/libs/apexcharts/dist/locales/en.json +55 -0
  42. package/dist/libs/apexcharts/dist/locales/es.json +55 -0
  43. package/dist/libs/apexcharts/dist/locales/et.json +63 -0
  44. package/dist/libs/apexcharts/dist/locales/fa.json +55 -0
  45. package/dist/libs/apexcharts/dist/locales/fi.json +55 -0
  46. package/dist/libs/apexcharts/dist/locales/fr.json +55 -0
  47. package/dist/libs/apexcharts/dist/locales/he.json +55 -0
  48. package/dist/libs/apexcharts/dist/locales/hi.json +55 -0
  49. package/dist/libs/apexcharts/dist/locales/hr.json +55 -0
  50. package/dist/libs/apexcharts/dist/locales/hu.json +64 -0
  51. package/dist/libs/apexcharts/dist/locales/hy.json +55 -0
  52. package/dist/libs/apexcharts/dist/locales/id.json +47 -0
  53. package/dist/libs/apexcharts/dist/locales/it.json +55 -0
  54. package/dist/libs/apexcharts/dist/locales/ja.json +55 -0
  55. package/dist/libs/apexcharts/dist/locales/ka.json +55 -0
  56. package/dist/libs/apexcharts/dist/locales/ko.json +55 -0
  57. package/dist/libs/apexcharts/dist/locales/lt.json +55 -0
  58. package/dist/libs/apexcharts/dist/locales/lv.json +64 -0
  59. package/dist/libs/apexcharts/dist/locales/nb.json +55 -0
  60. package/dist/libs/apexcharts/dist/locales/nl.json +55 -0
  61. package/dist/libs/apexcharts/dist/locales/pl.json +55 -0
  62. package/dist/libs/apexcharts/dist/locales/pt-br.json +55 -0
  63. package/dist/libs/apexcharts/dist/locales/pt.json +55 -0
  64. package/dist/libs/apexcharts/dist/locales/rs.json +55 -0
  65. package/dist/libs/apexcharts/dist/locales/ru.json +55 -0
  66. package/dist/libs/apexcharts/dist/locales/se.json +55 -0
  67. package/dist/libs/apexcharts/dist/locales/sk.json +55 -0
  68. package/dist/libs/apexcharts/dist/locales/sl.json +55 -0
  69. package/dist/libs/apexcharts/dist/locales/sq.json +55 -0
  70. package/dist/libs/apexcharts/dist/locales/th.json +55 -0
  71. package/dist/libs/apexcharts/dist/locales/tr.json +55 -0
  72. package/dist/libs/apexcharts/dist/locales/ua.json +55 -0
  73. package/dist/libs/apexcharts/dist/locales/zh-cn.json +55 -0
  74. package/dist/libs/apexcharts/dist/locales/zh-tw.json +55 -0
  75. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js +7090 -0
  76. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js.map +1 -0
  77. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +3 -3
  78. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -0
  79. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js +5217 -0
  80. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js.map +1 -0
  81. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js +7 -0
  82. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js.map +1 -0
  83. package/dist/libs/bootstrap/dist/js/bootstrap.js +5264 -0
  84. package/dist/libs/bootstrap/dist/js/bootstrap.js.map +1 -0
  85. package/dist/libs/bootstrap/dist/js/bootstrap.min.js +7 -0
  86. package/dist/libs/bootstrap/dist/js/bootstrap.min.js.map +1 -0
  87. package/dist/libs/countup.js/dist/countUp.d.ts +61 -0
  88. package/dist/libs/countup.js/dist/countUp.js +25 -22
  89. package/dist/libs/countup.js/dist/countUp.min.js +1 -0
  90. package/dist/libs/countup.js/dist/countUp.umd.js +293 -0
  91. package/dist/libs/countup.js/dist/countUp.withPolyfill.min.js +1 -0
  92. package/dist/libs/dropzone/dist/basic.css +1 -0
  93. package/dist/libs/dropzone/dist/basic.css.map +1 -0
  94. package/dist/libs/dropzone/dist/dropzone-min.js +2 -0
  95. package/dist/libs/dropzone/dist/dropzone-min.js.map +1 -0
  96. package/dist/libs/dropzone/dist/dropzone.css +1 -0
  97. package/dist/libs/dropzone/dist/dropzone.css.map +1 -0
  98. package/dist/libs/dropzone/dist/dropzone.js +3068 -0
  99. package/dist/libs/dropzone/dist/dropzone.js.map +1 -0
  100. package/dist/libs/dropzone/dist/dropzone.mjs +2111 -0
  101. package/dist/libs/dropzone/dist/dropzone.mjs.map +1 -0
  102. package/dist/libs/fslightbox/LICENSE +21 -0
  103. package/dist/libs/fslightbox/README.md +62 -0
  104. package/dist/libs/fslightbox/index.js +1 -0
  105. package/dist/libs/fslightbox/jest-setup.js +1 -0
  106. package/dist/libs/fslightbox/package.json +72 -0
  107. package/dist/libs/jsvectormap/dist/js/jsvectormap.js +2658 -0
  108. package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +1 -1
  109. package/dist/libs/jsvectormap/dist/maps/world-merc.js +1 -1
  110. package/dist/libs/jsvectormap/dist/maps/world.js +1 -1
  111. package/dist/libs/list.js/dist/list.js +2020 -0
  112. package/dist/libs/list.js/dist/list.js.map +1 -0
  113. package/dist/libs/list.js/dist/list.min.js.map +1 -0
  114. package/dist/libs/litepicker/dist/bundle.js +52 -0
  115. package/dist/libs/litepicker/dist/css/litepicker.css +13 -0
  116. package/dist/libs/litepicker/dist/css/plugins/keyboardnav.js.css +12 -0
  117. package/dist/libs/litepicker/dist/css/plugins/mobilefriendly.js.css +133 -0
  118. package/dist/libs/litepicker/dist/css/plugins/multiselect.js.css +54 -0
  119. package/dist/libs/litepicker/dist/css/plugins/ranges.js.css +81 -0
  120. package/dist/libs/litepicker/dist/js/main.js +13 -0
  121. package/dist/libs/litepicker/dist/litepicker.amd.js +12 -0
  122. package/dist/libs/litepicker/dist/litepicker.commonjs2.js +12 -0
  123. package/dist/libs/litepicker/dist/litepicker.umd.js +12 -0
  124. package/dist/libs/litepicker/dist/nocss/litepicker.amd.js +12 -0
  125. package/dist/libs/litepicker/dist/nocss/litepicker.commonjs2.js +12 -0
  126. package/dist/libs/litepicker/dist/nocss/litepicker.js +12 -0
  127. package/dist/libs/litepicker/dist/nocss/litepicker.umd.js +12 -0
  128. package/dist/libs/litepicker/dist/nocss/plugins/keyboardnav.js +11 -0
  129. package/dist/libs/litepicker/dist/nocss/plugins/mobilefriendly.js +11 -0
  130. package/dist/libs/litepicker/dist/nocss/plugins/multiselect.js +11 -0
  131. package/dist/libs/litepicker/dist/nocss/plugins/ranges.js +11 -0
  132. package/dist/libs/litepicker/dist/plugins/keyboardnav.js +11 -0
  133. package/dist/libs/litepicker/dist/plugins/mobilefriendly.js +11 -0
  134. package/dist/libs/litepicker/dist/plugins/multiselect.js +11 -0
  135. package/dist/libs/litepicker/dist/plugins/ranges.js +11 -0
  136. package/dist/libs/litepicker/dist/types/calendar.d.ts +14 -0
  137. package/dist/libs/litepicker/dist/types/core.d.ts +23 -0
  138. package/dist/libs/litepicker/dist/types/datetime.d.ts +41 -0
  139. package/dist/libs/litepicker/dist/types/index.d.ts +4 -0
  140. package/dist/libs/litepicker/dist/types/interfaces.d.ts +80 -0
  141. package/dist/libs/litepicker/dist/types/litepicker.d.ts +25 -0
  142. package/dist/libs/litepicker/dist/types/methods.d.ts +20 -0
  143. package/dist/libs/litepicker/dist/types/utils.d.ts +4 -0
  144. package/dist/libs/litepicker/dist/types/window.d.ts +6 -0
  145. package/dist/libs/nouislider/dist/nouislider.css +304 -0
  146. package/dist/libs/nouislider/dist/nouislider.d.ts +198 -0
  147. package/dist/libs/nouislider/dist/nouislider.js +2254 -0
  148. package/dist/libs/nouislider/dist/nouislider.min.css +1 -0
  149. package/dist/libs/nouislider/dist/nouislider.min.js +1 -1
  150. package/dist/libs/nouislider/dist/nouislider.min.mjs +1 -0
  151. package/dist/libs/nouislider/dist/nouislider.mjs +2243 -0
  152. package/dist/libs/plyr/dist/plyr.css +1 -0
  153. package/dist/libs/plyr/dist/plyr.js +8764 -0
  154. package/dist/libs/plyr/dist/plyr.min.js +2 -0
  155. package/dist/libs/plyr/dist/plyr.min.js.map +1 -0
  156. package/dist/libs/plyr/dist/plyr.min.mjs +1 -0
  157. package/dist/libs/plyr/dist/plyr.min.mjs.map +1 -0
  158. package/dist/libs/plyr/dist/plyr.mjs +8756 -0
  159. package/dist/libs/plyr/dist/plyr.polyfilled.js +9301 -0
  160. package/dist/libs/plyr/dist/plyr.polyfilled.min.js +2 -0
  161. package/dist/libs/plyr/dist/plyr.polyfilled.min.js.map +1 -0
  162. package/dist/libs/plyr/dist/plyr.polyfilled.min.mjs +1 -0
  163. package/dist/libs/plyr/dist/plyr.polyfilled.min.mjs.map +1 -0
  164. package/dist/libs/plyr/dist/plyr.polyfilled.mjs +9293 -0
  165. package/dist/libs/plyr/dist/plyr.svg +1 -0
  166. package/dist/libs/tinymce/CHANGELOG.md +2957 -0
  167. package/dist/libs/tinymce/README.md +71 -0
  168. package/dist/libs/tinymce/bower.json +27 -0
  169. package/dist/libs/tinymce/composer.json +52 -0
  170. package/dist/libs/tinymce/icons/default/icons.js +182 -0
  171. package/dist/libs/tinymce/icons/default/icons.min.js +1 -0
  172. package/dist/libs/tinymce/icons/default/index.js +7 -0
  173. package/dist/libs/tinymce/license.txt +21 -0
  174. package/dist/libs/tinymce/models/dom/index.js +7 -0
  175. package/dist/libs/tinymce/models/dom/model.js +7975 -0
  176. package/dist/libs/tinymce/models/dom/model.min.js +4 -0
  177. package/dist/libs/tinymce/package.json +32 -0
  178. package/dist/libs/tinymce/plugins/advlist/index.js +7 -0
  179. package/dist/libs/tinymce/plugins/advlist/plugin.js +246 -0
  180. package/dist/libs/tinymce/plugins/advlist/plugin.min.js +4 -0
  181. package/dist/libs/tinymce/plugins/anchor/index.js +7 -0
  182. package/dist/libs/tinymce/plugins/anchor/plugin.js +195 -0
  183. package/dist/libs/tinymce/plugins/anchor/plugin.min.js +4 -0
  184. package/dist/libs/tinymce/plugins/autolink/index.js +7 -0
  185. package/dist/libs/tinymce/plugins/autolink/plugin.js +232 -0
  186. package/dist/libs/tinymce/plugins/autolink/plugin.min.js +4 -0
  187. package/dist/libs/tinymce/plugins/autoresize/index.js +7 -0
  188. package/dist/libs/tinymce/plugins/autoresize/plugin.js +156 -0
  189. package/dist/libs/tinymce/plugins/autoresize/plugin.min.js +4 -0
  190. package/dist/libs/tinymce/plugins/autosave/index.js +7 -0
  191. package/dist/libs/tinymce/plugins/autosave/plugin.js +232 -0
  192. package/dist/libs/tinymce/plugins/autosave/plugin.min.js +4 -0
  193. package/dist/libs/tinymce/plugins/charmap/index.js +7 -0
  194. package/dist/libs/tinymce/plugins/charmap/plugin.js +1636 -0
  195. package/dist/libs/tinymce/plugins/charmap/plugin.min.js +4 -0
  196. package/dist/libs/tinymce/plugins/code/index.js +7 -0
  197. package/dist/libs/tinymce/plugins/code/plugin.js +85 -0
  198. package/dist/libs/tinymce/plugins/code/plugin.min.js +4 -0
  199. package/dist/libs/tinymce/plugins/codesample/index.js +7 -0
  200. package/dist/libs/tinymce/plugins/codesample/plugin.js +2451 -0
  201. package/dist/libs/tinymce/plugins/codesample/plugin.min.js +4 -0
  202. package/dist/libs/tinymce/plugins/directionality/index.js +7 -0
  203. package/dist/libs/tinymce/plugins/directionality/plugin.js +384 -0
  204. package/dist/libs/tinymce/plugins/directionality/plugin.min.js +4 -0
  205. package/dist/libs/tinymce/plugins/emoticons/index.js +7 -0
  206. package/dist/libs/tinymce/plugins/emoticons/js/emojiimages.js +1 -0
  207. package/dist/libs/tinymce/plugins/emoticons/js/emojiimages.min.js +3 -0
  208. package/dist/libs/tinymce/plugins/emoticons/js/emojis.js +1 -0
  209. package/dist/libs/tinymce/plugins/emoticons/js/emojis.min.js +2 -0
  210. package/dist/libs/tinymce/plugins/emoticons/plugin.js +577 -0
  211. package/dist/libs/tinymce/plugins/emoticons/plugin.min.js +4 -0
  212. package/dist/libs/tinymce/plugins/fullscreen/index.js +7 -0
  213. package/dist/libs/tinymce/plugins/fullscreen/plugin.js +1190 -0
  214. package/dist/libs/tinymce/plugins/fullscreen/plugin.min.js +4 -0
  215. package/dist/libs/tinymce/plugins/help/index.js +7 -0
  216. package/dist/libs/tinymce/plugins/help/plugin.js +848 -0
  217. package/dist/libs/tinymce/plugins/help/plugin.min.js +4 -0
  218. package/dist/libs/tinymce/plugins/image/index.js +7 -0
  219. package/dist/libs/tinymce/plugins/image/plugin.js +1475 -0
  220. package/dist/libs/tinymce/plugins/image/plugin.min.js +4 -0
  221. package/dist/libs/tinymce/plugins/importcss/index.js +7 -0
  222. package/dist/libs/tinymce/plugins/importcss/plugin.js +342 -0
  223. package/dist/libs/tinymce/plugins/importcss/plugin.min.js +4 -0
  224. package/dist/libs/tinymce/plugins/insertdatetime/index.js +7 -0
  225. package/dist/libs/tinymce/plugins/insertdatetime/plugin.js +176 -0
  226. package/dist/libs/tinymce/plugins/insertdatetime/plugin.min.js +4 -0
  227. package/dist/libs/tinymce/plugins/link/index.js +7 -0
  228. package/dist/libs/tinymce/plugins/link/plugin.js +1190 -0
  229. package/dist/libs/tinymce/plugins/link/plugin.min.js +4 -0
  230. package/dist/libs/tinymce/plugins/lists/index.js +7 -0
  231. package/dist/libs/tinymce/plugins/lists/plugin.js +1820 -0
  232. package/dist/libs/tinymce/plugins/lists/plugin.min.js +4 -0
  233. package/dist/libs/tinymce/plugins/media/index.js +7 -0
  234. package/dist/libs/tinymce/plugins/media/plugin.js +1157 -0
  235. package/dist/libs/tinymce/plugins/media/plugin.min.js +4 -0
  236. package/dist/libs/tinymce/plugins/nonbreaking/index.js +7 -0
  237. package/dist/libs/tinymce/plugins/nonbreaking/plugin.js +111 -0
  238. package/dist/libs/tinymce/plugins/nonbreaking/plugin.min.js +4 -0
  239. package/dist/libs/tinymce/plugins/pagebreak/index.js +7 -0
  240. package/dist/libs/tinymce/plugins/pagebreak/plugin.js +105 -0
  241. package/dist/libs/tinymce/plugins/pagebreak/plugin.min.js +4 -0
  242. package/dist/libs/tinymce/plugins/preview/index.js +7 -0
  243. package/dist/libs/tinymce/plugins/preview/plugin.js +97 -0
  244. package/dist/libs/tinymce/plugins/preview/plugin.min.js +4 -0
  245. package/dist/libs/tinymce/plugins/quickbars/index.js +7 -0
  246. package/dist/libs/tinymce/plugins/quickbars/plugin.js +421 -0
  247. package/dist/libs/tinymce/plugins/quickbars/plugin.min.js +4 -0
  248. package/dist/libs/tinymce/plugins/save/index.js +7 -0
  249. package/dist/libs/tinymce/plugins/save/plugin.js +118 -0
  250. package/dist/libs/tinymce/plugins/save/plugin.min.js +4 -0
  251. package/dist/libs/tinymce/plugins/searchreplace/index.js +7 -0
  252. package/dist/libs/tinymce/plugins/searchreplace/plugin.js +1079 -0
  253. package/dist/libs/tinymce/plugins/searchreplace/plugin.min.js +4 -0
  254. package/dist/libs/tinymce/plugins/table/index.js +7 -0
  255. package/dist/libs/tinymce/plugins/table/plugin.js +3393 -0
  256. package/dist/libs/tinymce/plugins/table/plugin.min.js +4 -0
  257. package/dist/libs/tinymce/plugins/template/index.js +7 -0
  258. package/dist/libs/tinymce/plugins/template/plugin.js +548 -0
  259. package/dist/libs/tinymce/plugins/template/plugin.min.js +4 -0
  260. package/dist/libs/tinymce/plugins/visualblocks/index.js +7 -0
  261. package/dist/libs/tinymce/plugins/visualblocks/plugin.js +98 -0
  262. package/dist/libs/tinymce/plugins/visualblocks/plugin.min.js +4 -0
  263. package/dist/libs/tinymce/plugins/visualchars/index.js +7 -0
  264. package/dist/libs/tinymce/plugins/visualchars/plugin.js +506 -0
  265. package/dist/libs/tinymce/plugins/visualchars/plugin.min.js +4 -0
  266. package/dist/libs/tinymce/plugins/wordcount/index.js +7 -0
  267. package/dist/libs/tinymce/plugins/wordcount/plugin.js +404 -0
  268. package/dist/libs/tinymce/plugins/wordcount/plugin.min.js +4 -0
  269. package/dist/libs/tinymce/skins/content/dark/content.css +66 -0
  270. package/dist/libs/tinymce/skins/content/dark/content.min.css +1 -0
  271. package/dist/libs/tinymce/skins/content/default/content.css +61 -0
  272. package/dist/libs/tinymce/skins/content/default/content.min.css +1 -0
  273. package/dist/libs/tinymce/skins/content/document/content.css +66 -0
  274. package/dist/libs/tinymce/skins/content/document/content.min.css +1 -0
  275. package/dist/libs/tinymce/skins/content/tinymce-5/content.css +61 -0
  276. package/dist/libs/tinymce/skins/content/tinymce-5/content.min.css +1 -0
  277. package/dist/libs/tinymce/skins/content/tinymce-5-dark/content.css +66 -0
  278. package/dist/libs/tinymce/skins/content/tinymce-5-dark/content.min.css +1 -0
  279. package/dist/libs/tinymce/skins/content/writer/content.css +62 -0
  280. package/dist/libs/tinymce/skins/content/writer/content.min.css +1 -0
  281. package/dist/libs/tinymce/skins/ui/oxide/content.css +747 -0
  282. package/dist/libs/tinymce/skins/ui/oxide/content.inline.css +741 -0
  283. package/dist/libs/tinymce/skins/ui/oxide/content.inline.min.css +1 -0
  284. package/dist/libs/tinymce/skins/ui/oxide/content.min.css +1 -0
  285. package/dist/libs/tinymce/skins/ui/oxide/skin.css +3074 -0
  286. package/dist/libs/tinymce/skins/ui/oxide/skin.min.css +1 -0
  287. package/dist/libs/tinymce/skins/ui/oxide/skin.shadowdom.css +30 -0
  288. package/dist/libs/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -0
  289. package/dist/libs/tinymce/skins/ui/oxide-dark/content.css +728 -0
  290. package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.css +741 -0
  291. package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -0
  292. package/dist/libs/tinymce/skins/ui/oxide-dark/content.min.css +1 -0
  293. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.css +3077 -0
  294. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
  295. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +30 -0
  296. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -0
  297. package/dist/libs/tinymce/skins/ui/tinymce-5/content.css +747 -0
  298. package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.css +741 -0
  299. package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -0
  300. package/dist/libs/tinymce/skins/ui/tinymce-5/content.min.css +1 -0
  301. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.css +3158 -0
  302. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.min.css +1 -0
  303. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.shadowdom.css +30 -0
  304. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +1 -0
  305. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.css +728 -0
  306. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.css +741 -0
  307. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -0
  308. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -0
  309. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.css +3158 -0
  310. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -0
  311. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.css +30 -0
  312. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +1 -0
  313. package/dist/libs/tinymce/themes/silver/index.js +7 -0
  314. package/dist/libs/tinymce/themes/silver/theme.js +26184 -0
  315. package/dist/libs/tinymce/themes/silver/theme.min.js +4 -0
  316. package/dist/libs/tinymce/tinymce.d.ts +2895 -0
  317. package/dist/libs/tinymce/tinymce.js +29400 -0
  318. package/dist/libs/tinymce/tinymce.min.js +4 -0
  319. package/dist/libs/tom-select/dist/js/plugins/caret_position.js +170 -0
  320. package/dist/libs/tom-select/dist/js/plugins/caret_position.js.map +1 -0
  321. package/dist/libs/tom-select/dist/js/plugins/change_listener.js +58 -0
  322. package/dist/libs/tom-select/dist/js/plugins/change_listener.js.map +1 -0
  323. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js +182 -0
  324. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js.map +1 -0
  325. package/dist/libs/tom-select/dist/js/plugins/clear_button.js +99 -0
  326. package/dist/libs/tom-select/dist/js/plugins/clear_button.js.map +1 -0
  327. package/dist/libs/tom-select/dist/js/plugins/drag_drop.js +70 -0
  328. package/dist/libs/tom-select/dist/js/plugins/drag_drop.js.map +1 -0
  329. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js +126 -0
  330. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js.map +1 -0
  331. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js +240 -0
  332. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js.map +1 -0
  333. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js +84 -0
  334. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js.map +1 -0
  335. package/dist/libs/tom-select/dist/js/plugins/no_active_items.js +33 -0
  336. package/dist/libs/tom-select/dist/js/plugins/no_active_items.js.map +1 -0
  337. package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js +40 -0
  338. package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js.map +1 -0
  339. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js +117 -0
  340. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js.map +1 -0
  341. package/dist/libs/tom-select/dist/js/plugins/remove_button.js +154 -0
  342. package/dist/libs/tom-select/dist/js/plugins/remove_button.js.map +1 -0
  343. package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js +51 -0
  344. package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js.map +1 -0
  345. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js +279 -0
  346. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js.map +1 -0
  347. package/dist/libs/tom-select/dist/js/tom-select.base.js +4165 -0
  348. package/dist/libs/tom-select/dist/js/tom-select.base.js.map +1 -0
  349. package/dist/libs/tom-select/dist/js/tom-select.base.min.js +144 -144
  350. package/dist/libs/tom-select/dist/js/tom-select.base.min.js.map +1 -0
  351. package/dist/libs/tom-select/dist/js/tom-select.complete.js +4978 -0
  352. package/dist/libs/tom-select/dist/js/tom-select.complete.js.map +1 -0
  353. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js +363 -0
  354. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js.map +1 -0
  355. package/dist/libs/tom-select/dist/js/tom-select.popular.js +4419 -0
  356. package/dist/libs/tom-select/dist/js/tom-select.popular.js.map +1 -0
  357. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js +323 -0
  358. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js.map +1 -0
  359. package/package.json +100 -33
  360. package/src/js/demo-theme.js +25 -0
  361. package/src/js/demo.js +0 -17
  362. package/src/js/src/tabler.js +17 -0
  363. package/src/js/tabler.js +2 -0
  364. package/src/scss/_bootstrap-components.scss +1 -1
  365. package/src/scss/_bootstrap-config.scss +1 -0
  366. package/src/scss/_core.scss +2 -0
  367. package/src/scss/_utilities.scss +2 -2
  368. package/src/scss/_variables.scss +218 -92
  369. package/src/scss/demo/_examples.scss +2 -2
  370. package/src/scss/demo/_highlight.scss +3 -3
  371. package/src/scss/demo.scss +5 -5
  372. package/src/scss/fonts/_webfonts.scss +0 -50
  373. package/src/scss/layout/_core.scss +10 -23
  374. package/src/scss/layout/_dark.scss +22 -16
  375. package/src/scss/layout/_footer.scss +2 -2
  376. package/src/scss/layout/_navbar.scss +18 -15
  377. package/src/scss/layout/_page.scss +8 -6
  378. package/src/scss/layout/_root.scss +37 -0
  379. package/src/scss/mixins/_functions.scss +2 -16
  380. package/src/scss/mixins/_mixins.scss +32 -5
  381. package/src/scss/tabler-vendors.scss +4 -0
  382. package/src/scss/ui/_accordion.scss +5 -1
  383. package/src/scss/ui/_alerts.scss +8 -8
  384. package/src/scss/ui/_avatars.scss +14 -14
  385. package/src/scss/ui/_badges.scss +2 -2
  386. package/src/scss/ui/_breadcrumbs.scss +1 -1
  387. package/src/scss/ui/_buttons.scss +100 -108
  388. package/src/scss/ui/_calendars.scss +8 -8
  389. package/src/scss/ui/_cards.scss +46 -52
  390. package/src/scss/ui/_carousel.scss +2 -2
  391. package/src/scss/ui/_chips.scss +0 -0
  392. package/src/scss/ui/_datagrid.scss +17 -0
  393. package/src/scss/ui/_empty.scss +3 -3
  394. package/src/scss/ui/_flags.scss +2 -2
  395. package/src/scss/ui/_forms.scss +12 -11
  396. package/src/scss/ui/_grid.scss +13 -14
  397. package/src/scss/ui/_icons.scss +64 -4
  398. package/src/scss/ui/_legend.scss +8 -4
  399. package/src/scss/ui/_lists.scss +17 -14
  400. package/src/scss/ui/_markdown.scss +2 -3
  401. package/src/scss/ui/_modals.scss +1 -1
  402. package/src/scss/ui/_nav.scss +7 -7
  403. package/src/scss/ui/_offcanvas.scss +3 -3
  404. package/src/scss/ui/_pagination.scss +10 -6
  405. package/src/scss/ui/_placeholder.scss +1 -1
  406. package/src/scss/ui/_progress.scss +45 -6
  407. package/src/scss/ui/_ribbons.scss +5 -5
  408. package/src/scss/ui/_status.scss +28 -27
  409. package/src/scss/ui/_steps.scss +2 -2
  410. package/src/scss/ui/_tables.scss +26 -5
  411. package/src/scss/ui/_toasts.scss +1 -2
  412. package/src/scss/ui/_type.scss +45 -30
  413. package/src/scss/ui/forms/_form-check.scss +26 -1
  414. package/src/scss/ui/forms/_form-colorinput.scss +2 -2
  415. package/src/scss/ui/forms/_form-custom.scss +2 -2
  416. package/src/scss/ui/forms/_form-icon.scss +1 -1
  417. package/src/scss/ui/forms/_form-imagecheck.scss +4 -4
  418. package/src/scss/ui/forms/_form-selectgroup.scss +7 -7
  419. package/src/scss/ui/forms/_validation.scss +1 -1
  420. package/src/scss/ui/typo/_hr.scss +2 -3
  421. package/src/scss/utils/_colors.scss +19 -8
  422. package/src/scss/vendor/_dropzone.scss +27 -0
  423. package/src/scss/vendor/_fslightbox.scss +13 -0
  424. package/src/scss/vendor/_jsvectormap.scss +8 -8
  425. package/src/scss/vendor/_litepicker.scss +14 -14
  426. package/src/scss/vendor/_plyr.scss +3 -0
  427. package/src/scss/vendor/_tinymce.scss +25 -0
  428. package/src/scss/vendor/_tom-select.scss +2 -0
@@ -0,0 +1,1079 @@
1
+ /**
2
+ * TinyMCE version 6.1.2 (2022-07-29)
3
+ */
4
+
5
+ (function () {
6
+ 'use strict';
7
+
8
+ const Cell = initial => {
9
+ let value = initial;
10
+ const get = () => {
11
+ return value;
12
+ };
13
+ const set = v => {
14
+ value = v;
15
+ };
16
+ return {
17
+ get,
18
+ set
19
+ };
20
+ };
21
+
22
+ var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager');
23
+
24
+ const hasProto = (v, constructor, predicate) => {
25
+ var _a;
26
+ if (predicate(v, constructor.prototype)) {
27
+ return true;
28
+ } else {
29
+ return ((_a = v.constructor) === null || _a === void 0 ? void 0 : _a.name) === constructor.name;
30
+ }
31
+ };
32
+ const typeOf = x => {
33
+ const t = typeof x;
34
+ if (x === null) {
35
+ return 'null';
36
+ } else if (t === 'object' && Array.isArray(x)) {
37
+ return 'array';
38
+ } else if (t === 'object' && hasProto(x, String, (o, proto) => proto.isPrototypeOf(o))) {
39
+ return 'string';
40
+ } else {
41
+ return t;
42
+ }
43
+ };
44
+ const isType$1 = type => value => typeOf(value) === type;
45
+ const isSimpleType = type => value => typeof value === type;
46
+ const isString = isType$1('string');
47
+ const isArray = isType$1('array');
48
+ const isBoolean = isSimpleType('boolean');
49
+ const isNullable = a => a === null || a === undefined;
50
+ const isNonNullable = a => !isNullable(a);
51
+ const isNumber = isSimpleType('number');
52
+
53
+ const noop = () => {
54
+ };
55
+ const constant = value => {
56
+ return () => {
57
+ return value;
58
+ };
59
+ };
60
+ const always = constant(true);
61
+
62
+ const punctuationStr = '[!-#%-*,-\\/:;?@\\[-\\]_{}\xA1\xAB\xB7\xBB\xBF;\xB7\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1361-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u3008\u3009\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30\u2E31\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uff3f\uFF5B\uFF5D\uFF5F-\uFF65]';
63
+
64
+ const punctuation$1 = constant(punctuationStr);
65
+
66
+ class Optional {
67
+ constructor(tag, value) {
68
+ this.tag = tag;
69
+ this.value = value;
70
+ }
71
+ static some(value) {
72
+ return new Optional(true, value);
73
+ }
74
+ static none() {
75
+ return Optional.singletonNone;
76
+ }
77
+ fold(onNone, onSome) {
78
+ if (this.tag) {
79
+ return onSome(this.value);
80
+ } else {
81
+ return onNone();
82
+ }
83
+ }
84
+ isSome() {
85
+ return this.tag;
86
+ }
87
+ isNone() {
88
+ return !this.tag;
89
+ }
90
+ map(mapper) {
91
+ if (this.tag) {
92
+ return Optional.some(mapper(this.value));
93
+ } else {
94
+ return Optional.none();
95
+ }
96
+ }
97
+ bind(binder) {
98
+ if (this.tag) {
99
+ return binder(this.value);
100
+ } else {
101
+ return Optional.none();
102
+ }
103
+ }
104
+ exists(predicate) {
105
+ return this.tag && predicate(this.value);
106
+ }
107
+ forall(predicate) {
108
+ return !this.tag || predicate(this.value);
109
+ }
110
+ filter(predicate) {
111
+ if (!this.tag || predicate(this.value)) {
112
+ return this;
113
+ } else {
114
+ return Optional.none();
115
+ }
116
+ }
117
+ getOr(replacement) {
118
+ return this.tag ? this.value : replacement;
119
+ }
120
+ or(replacement) {
121
+ return this.tag ? this : replacement;
122
+ }
123
+ getOrThunk(thunk) {
124
+ return this.tag ? this.value : thunk();
125
+ }
126
+ orThunk(thunk) {
127
+ return this.tag ? this : thunk();
128
+ }
129
+ getOrDie(message) {
130
+ if (!this.tag) {
131
+ throw new Error(message !== null && message !== void 0 ? message : 'Called getOrDie on None');
132
+ } else {
133
+ return this.value;
134
+ }
135
+ }
136
+ static from(value) {
137
+ return isNonNullable(value) ? Optional.some(value) : Optional.none();
138
+ }
139
+ getOrNull() {
140
+ return this.tag ? this.value : null;
141
+ }
142
+ getOrUndefined() {
143
+ return this.value;
144
+ }
145
+ each(worker) {
146
+ if (this.tag) {
147
+ worker(this.value);
148
+ }
149
+ }
150
+ toArray() {
151
+ return this.tag ? [this.value] : [];
152
+ }
153
+ toString() {
154
+ return this.tag ? `some(${ this.value })` : 'none()';
155
+ }
156
+ }
157
+ Optional.singletonNone = new Optional(false);
158
+
159
+ const punctuation = punctuation$1;
160
+
161
+ var global$2 = tinymce.util.Tools.resolve('tinymce.Env');
162
+
163
+ var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
164
+
165
+ const nativeSlice = Array.prototype.slice;
166
+ const nativePush = Array.prototype.push;
167
+ const map = (xs, f) => {
168
+ const len = xs.length;
169
+ const r = new Array(len);
170
+ for (let i = 0; i < len; i++) {
171
+ const x = xs[i];
172
+ r[i] = f(x, i);
173
+ }
174
+ return r;
175
+ };
176
+ const each = (xs, f) => {
177
+ for (let i = 0, len = xs.length; i < len; i++) {
178
+ const x = xs[i];
179
+ f(x, i);
180
+ }
181
+ };
182
+ const eachr = (xs, f) => {
183
+ for (let i = xs.length - 1; i >= 0; i--) {
184
+ const x = xs[i];
185
+ f(x, i);
186
+ }
187
+ };
188
+ const groupBy = (xs, f) => {
189
+ if (xs.length === 0) {
190
+ return [];
191
+ } else {
192
+ let wasType = f(xs[0]);
193
+ const r = [];
194
+ let group = [];
195
+ for (let i = 0, len = xs.length; i < len; i++) {
196
+ const x = xs[i];
197
+ const type = f(x);
198
+ if (type !== wasType) {
199
+ r.push(group);
200
+ group = [];
201
+ }
202
+ wasType = type;
203
+ group.push(x);
204
+ }
205
+ if (group.length !== 0) {
206
+ r.push(group);
207
+ }
208
+ return r;
209
+ }
210
+ };
211
+ const foldl = (xs, f, acc) => {
212
+ each(xs, (x, i) => {
213
+ acc = f(acc, x, i);
214
+ });
215
+ return acc;
216
+ };
217
+ const flatten = xs => {
218
+ const r = [];
219
+ for (let i = 0, len = xs.length; i < len; ++i) {
220
+ if (!isArray(xs[i])) {
221
+ throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
222
+ }
223
+ nativePush.apply(r, xs[i]);
224
+ }
225
+ return r;
226
+ };
227
+ const bind = (xs, f) => flatten(map(xs, f));
228
+ const sort = (xs, comparator) => {
229
+ const copy = nativeSlice.call(xs, 0);
230
+ copy.sort(comparator);
231
+ return copy;
232
+ };
233
+
234
+ const hasOwnProperty = Object.hasOwnProperty;
235
+ const has = (obj, key) => hasOwnProperty.call(obj, key);
236
+
237
+ typeof window !== 'undefined' ? window : Function('return this;')();
238
+
239
+ const DOCUMENT = 9;
240
+ const DOCUMENT_FRAGMENT = 11;
241
+ const ELEMENT = 1;
242
+ const TEXT = 3;
243
+
244
+ const type = element => element.dom.nodeType;
245
+ const isType = t => element => type(element) === t;
246
+ const isText$1 = isType(TEXT);
247
+
248
+ const rawSet = (dom, key, value) => {
249
+ if (isString(value) || isBoolean(value) || isNumber(value)) {
250
+ dom.setAttribute(key, value + '');
251
+ } else {
252
+ console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom);
253
+ throw new Error('Attribute value was not simple');
254
+ }
255
+ };
256
+ const set = (element, key, value) => {
257
+ rawSet(element.dom, key, value);
258
+ };
259
+
260
+ const fromHtml = (html, scope) => {
261
+ const doc = scope || document;
262
+ const div = doc.createElement('div');
263
+ div.innerHTML = html;
264
+ if (!div.hasChildNodes() || div.childNodes.length > 1) {
265
+ const message = 'HTML does not have a single root node';
266
+ console.error(message, html);
267
+ throw new Error(message);
268
+ }
269
+ return fromDom(div.childNodes[0]);
270
+ };
271
+ const fromTag = (tag, scope) => {
272
+ const doc = scope || document;
273
+ const node = doc.createElement(tag);
274
+ return fromDom(node);
275
+ };
276
+ const fromText = (text, scope) => {
277
+ const doc = scope || document;
278
+ const node = doc.createTextNode(text);
279
+ return fromDom(node);
280
+ };
281
+ const fromDom = node => {
282
+ if (node === null || node === undefined) {
283
+ throw new Error('Node cannot be null or undefined');
284
+ }
285
+ return { dom: node };
286
+ };
287
+ const fromPoint = (docElm, x, y) => Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom);
288
+ const SugarElement = {
289
+ fromHtml,
290
+ fromTag,
291
+ fromText,
292
+ fromDom,
293
+ fromPoint
294
+ };
295
+
296
+ const bypassSelector = dom => dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0;
297
+ const all = (selector, scope) => {
298
+ const base = scope === undefined ? document : scope.dom;
299
+ return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom);
300
+ };
301
+
302
+ const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
303
+ const children = element => map(element.dom.childNodes, SugarElement.fromDom);
304
+ const spot = (element, offset) => ({
305
+ element,
306
+ offset
307
+ });
308
+ const leaf = (element, offset) => {
309
+ const cs = children(element);
310
+ return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset);
311
+ };
312
+
313
+ const before = (marker, element) => {
314
+ const parent$1 = parent(marker);
315
+ parent$1.each(v => {
316
+ v.dom.insertBefore(element.dom, marker.dom);
317
+ });
318
+ };
319
+ const append = (parent, element) => {
320
+ parent.dom.appendChild(element.dom);
321
+ };
322
+ const wrap = (element, wrapper) => {
323
+ before(element, wrapper);
324
+ append(wrapper, element);
325
+ };
326
+
327
+ const NodeValue = (is, name) => {
328
+ const get = element => {
329
+ if (!is(element)) {
330
+ throw new Error('Can only get ' + name + ' value of a ' + name + ' node');
331
+ }
332
+ return getOption(element).getOr('');
333
+ };
334
+ const getOption = element => is(element) ? Optional.from(element.dom.nodeValue) : Optional.none();
335
+ const set = (element, value) => {
336
+ if (!is(element)) {
337
+ throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');
338
+ }
339
+ element.dom.nodeValue = value;
340
+ };
341
+ return {
342
+ get,
343
+ getOption,
344
+ set
345
+ };
346
+ };
347
+
348
+ const api = NodeValue(isText$1, 'text');
349
+ const get$1 = element => api.get(element);
350
+
351
+ const compareDocumentPosition = (a, b, match) => {
352
+ return (a.compareDocumentPosition(b) & match) !== 0;
353
+ };
354
+ const documentPositionPreceding = (a, b) => {
355
+ return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_PRECEDING);
356
+ };
357
+
358
+ const descendants = (scope, selector) => all(selector, scope);
359
+
360
+ var global = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker');
361
+
362
+ const isSimpleBoundary = (dom, node) => dom.isBlock(node) || has(dom.schema.getVoidElements(), node.nodeName);
363
+ const isContentEditableFalse = (dom, node) => dom.getContentEditable(node) === 'false';
364
+ const isContentEditableTrueInCef = (dom, node) => dom.getContentEditable(node) === 'true' && dom.getContentEditableParent(node.parentNode) === 'false';
365
+ const isHidden = (dom, node) => !dom.isBlock(node) && has(dom.schema.getWhitespaceElements(), node.nodeName);
366
+ const isBoundary = (dom, node) => isSimpleBoundary(dom, node) || isContentEditableFalse(dom, node) || isHidden(dom, node) || isContentEditableTrueInCef(dom, node);
367
+ const isText = node => node.nodeType === 3;
368
+ const nuSection = () => ({
369
+ sOffset: 0,
370
+ fOffset: 0,
371
+ elements: []
372
+ });
373
+ const toLeaf = (node, offset) => leaf(SugarElement.fromDom(node), offset);
374
+ const walk = (dom, walkerFn, startNode, callbacks, endNode, skipStart = true) => {
375
+ let next = skipStart ? walkerFn(false) : startNode;
376
+ while (next) {
377
+ const isCefNode = isContentEditableFalse(dom, next);
378
+ if (isCefNode || isHidden(dom, next)) {
379
+ const stopWalking = isCefNode ? callbacks.cef(next) : callbacks.boundary(next);
380
+ if (stopWalking) {
381
+ break;
382
+ } else {
383
+ next = walkerFn(true);
384
+ continue;
385
+ }
386
+ } else if (isSimpleBoundary(dom, next)) {
387
+ if (callbacks.boundary(next)) {
388
+ break;
389
+ }
390
+ } else if (isText(next)) {
391
+ callbacks.text(next);
392
+ }
393
+ if (next === endNode) {
394
+ break;
395
+ } else {
396
+ next = walkerFn(false);
397
+ }
398
+ }
399
+ };
400
+ const collectTextToBoundary = (dom, section, node, rootNode, forwards) => {
401
+ if (isBoundary(dom, node)) {
402
+ return;
403
+ }
404
+ const rootBlock = dom.getParent(rootNode, dom.isBlock);
405
+ const walker = new global(node, rootBlock);
406
+ const walkerFn = forwards ? walker.next.bind(walker) : walker.prev.bind(walker);
407
+ walk(dom, walkerFn, node, {
408
+ boundary: always,
409
+ cef: always,
410
+ text: next => {
411
+ if (forwards) {
412
+ section.fOffset += next.length;
413
+ } else {
414
+ section.sOffset += next.length;
415
+ }
416
+ section.elements.push(SugarElement.fromDom(next));
417
+ }
418
+ });
419
+ };
420
+ const collect = (dom, rootNode, startNode, endNode, callbacks, skipStart = true) => {
421
+ const walker = new global(startNode, rootNode);
422
+ const sections = [];
423
+ let current = nuSection();
424
+ collectTextToBoundary(dom, current, startNode, rootNode, false);
425
+ const finishSection = () => {
426
+ if (current.elements.length > 0) {
427
+ sections.push(current);
428
+ current = nuSection();
429
+ }
430
+ return false;
431
+ };
432
+ walk(dom, walker.next.bind(walker), startNode, {
433
+ boundary: finishSection,
434
+ cef: node => {
435
+ finishSection();
436
+ if (callbacks) {
437
+ sections.push(...callbacks.cef(node));
438
+ }
439
+ return false;
440
+ },
441
+ text: next => {
442
+ current.elements.push(SugarElement.fromDom(next));
443
+ if (callbacks) {
444
+ callbacks.text(next, current);
445
+ }
446
+ }
447
+ }, endNode, skipStart);
448
+ if (endNode) {
449
+ collectTextToBoundary(dom, current, endNode, rootNode, true);
450
+ }
451
+ finishSection();
452
+ return sections;
453
+ };
454
+ const collectRangeSections = (dom, rng) => {
455
+ const start = toLeaf(rng.startContainer, rng.startOffset);
456
+ const startNode = start.element.dom;
457
+ const end = toLeaf(rng.endContainer, rng.endOffset);
458
+ const endNode = end.element.dom;
459
+ return collect(dom, rng.commonAncestorContainer, startNode, endNode, {
460
+ text: (node, section) => {
461
+ if (node === endNode) {
462
+ section.fOffset += node.length - end.offset;
463
+ } else if (node === startNode) {
464
+ section.sOffset += start.offset;
465
+ }
466
+ },
467
+ cef: node => {
468
+ const sections = bind(descendants(SugarElement.fromDom(node), '*[contenteditable=true]'), e => {
469
+ const ceTrueNode = e.dom;
470
+ return collect(dom, ceTrueNode, ceTrueNode);
471
+ });
472
+ return sort(sections, (a, b) => documentPositionPreceding(a.elements[0].dom, b.elements[0].dom) ? 1 : -1);
473
+ }
474
+ }, false);
475
+ };
476
+ const fromRng = (dom, rng) => rng.collapsed ? [] : collectRangeSections(dom, rng);
477
+ const fromNode = (dom, node) => {
478
+ const rng = dom.createRng();
479
+ rng.selectNode(node);
480
+ return fromRng(dom, rng);
481
+ };
482
+ const fromNodes = (dom, nodes) => bind(nodes, node => fromNode(dom, node));
483
+
484
+ const find$2 = (text, pattern, start = 0, finish = text.length) => {
485
+ const regex = pattern.regex;
486
+ regex.lastIndex = start;
487
+ const results = [];
488
+ let match;
489
+ while (match = regex.exec(text)) {
490
+ const matchedText = match[pattern.matchIndex];
491
+ const matchStart = match.index + match[0].indexOf(matchedText);
492
+ const matchFinish = matchStart + matchedText.length;
493
+ if (matchFinish > finish) {
494
+ break;
495
+ }
496
+ results.push({
497
+ start: matchStart,
498
+ finish: matchFinish
499
+ });
500
+ regex.lastIndex = matchFinish;
501
+ }
502
+ return results;
503
+ };
504
+ const extract = (elements, matches) => {
505
+ const nodePositions = foldl(elements, (acc, element) => {
506
+ const content = get$1(element);
507
+ const start = acc.last;
508
+ const finish = start + content.length;
509
+ const positions = bind(matches, (match, matchIdx) => {
510
+ if (match.start < finish && match.finish > start) {
511
+ return [{
512
+ element,
513
+ start: Math.max(start, match.start) - start,
514
+ finish: Math.min(finish, match.finish) - start,
515
+ matchId: matchIdx
516
+ }];
517
+ } else {
518
+ return [];
519
+ }
520
+ });
521
+ return {
522
+ results: acc.results.concat(positions),
523
+ last: finish
524
+ };
525
+ }, {
526
+ results: [],
527
+ last: 0
528
+ }).results;
529
+ return groupBy(nodePositions, position => position.matchId);
530
+ };
531
+
532
+ const find$1 = (pattern, sections) => bind(sections, section => {
533
+ const elements = section.elements;
534
+ const content = map(elements, get$1).join('');
535
+ const positions = find$2(content, pattern, section.sOffset, content.length - section.fOffset);
536
+ return extract(elements, positions);
537
+ });
538
+ const mark = (matches, replacementNode) => {
539
+ eachr(matches, (match, idx) => {
540
+ eachr(match, pos => {
541
+ const wrapper = SugarElement.fromDom(replacementNode.cloneNode(false));
542
+ set(wrapper, 'data-mce-index', idx);
543
+ const textNode = pos.element.dom;
544
+ if (textNode.length === pos.finish && pos.start === 0) {
545
+ wrap(pos.element, wrapper);
546
+ } else {
547
+ if (textNode.length !== pos.finish) {
548
+ textNode.splitText(pos.finish);
549
+ }
550
+ const matchNode = textNode.splitText(pos.start);
551
+ wrap(SugarElement.fromDom(matchNode), wrapper);
552
+ }
553
+ });
554
+ });
555
+ };
556
+ const findAndMark = (dom, pattern, node, replacementNode) => {
557
+ const textSections = fromNode(dom, node);
558
+ const matches = find$1(pattern, textSections);
559
+ mark(matches, replacementNode);
560
+ return matches.length;
561
+ };
562
+ const findAndMarkInSelection = (dom, pattern, selection, replacementNode) => {
563
+ const bookmark = selection.getBookmark();
564
+ const nodes = dom.select('td[data-mce-selected],th[data-mce-selected]');
565
+ const textSections = nodes.length > 0 ? fromNodes(dom, nodes) : fromRng(dom, selection.getRng());
566
+ const matches = find$1(pattern, textSections);
567
+ mark(matches, replacementNode);
568
+ selection.moveToBookmark(bookmark);
569
+ return matches.length;
570
+ };
571
+
572
+ const getElmIndex = elm => {
573
+ const value = elm.getAttribute('data-mce-index');
574
+ if (typeof value === 'number') {
575
+ return '' + value;
576
+ }
577
+ return value;
578
+ };
579
+ const markAllMatches = (editor, currentSearchState, pattern, inSelection) => {
580
+ const marker = editor.dom.create('span', { 'data-mce-bogus': 1 });
581
+ marker.className = 'mce-match-marker';
582
+ const node = editor.getBody();
583
+ done(editor, currentSearchState, false);
584
+ if (inSelection) {
585
+ return findAndMarkInSelection(editor.dom, pattern, editor.selection, marker);
586
+ } else {
587
+ return findAndMark(editor.dom, pattern, node, marker);
588
+ }
589
+ };
590
+ const unwrap = node => {
591
+ const parentNode = node.parentNode;
592
+ if (node.firstChild) {
593
+ parentNode.insertBefore(node.firstChild, node);
594
+ }
595
+ node.parentNode.removeChild(node);
596
+ };
597
+ const findSpansByIndex = (editor, index) => {
598
+ const spans = [];
599
+ const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));
600
+ if (nodes.length) {
601
+ for (let i = 0; i < nodes.length; i++) {
602
+ const nodeIndex = getElmIndex(nodes[i]);
603
+ if (nodeIndex === null || !nodeIndex.length) {
604
+ continue;
605
+ }
606
+ if (nodeIndex === index.toString()) {
607
+ spans.push(nodes[i]);
608
+ }
609
+ }
610
+ }
611
+ return spans;
612
+ };
613
+ const moveSelection = (editor, currentSearchState, forward) => {
614
+ const searchState = currentSearchState.get();
615
+ let testIndex = searchState.index;
616
+ const dom = editor.dom;
617
+ forward = forward !== false;
618
+ if (forward) {
619
+ if (testIndex + 1 === searchState.count) {
620
+ testIndex = 0;
621
+ } else {
622
+ testIndex++;
623
+ }
624
+ } else {
625
+ if (testIndex - 1 === -1) {
626
+ testIndex = searchState.count - 1;
627
+ } else {
628
+ testIndex--;
629
+ }
630
+ }
631
+ dom.removeClass(findSpansByIndex(editor, searchState.index), 'mce-match-marker-selected');
632
+ const spans = findSpansByIndex(editor, testIndex);
633
+ if (spans.length) {
634
+ dom.addClass(findSpansByIndex(editor, testIndex), 'mce-match-marker-selected');
635
+ editor.selection.scrollIntoView(spans[0]);
636
+ return testIndex;
637
+ }
638
+ return -1;
639
+ };
640
+ const removeNode = (dom, node) => {
641
+ const parent = node.parentNode;
642
+ dom.remove(node);
643
+ if (dom.isEmpty(parent)) {
644
+ dom.remove(parent);
645
+ }
646
+ };
647
+ const escapeSearchText = (text, wholeWord) => {
648
+ const escapedText = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&').replace(/\s/g, '[^\\S\\r\\n\\uFEFF]');
649
+ const wordRegex = '(' + escapedText + ')';
650
+ return wholeWord ? `(?:^|\\s|${ punctuation() })` + wordRegex + `(?=$|\\s|${ punctuation() })` : wordRegex;
651
+ };
652
+ const find = (editor, currentSearchState, text, matchCase, wholeWord, inSelection) => {
653
+ const selection = editor.selection;
654
+ const escapedText = escapeSearchText(text, wholeWord);
655
+ const isForwardSelection = selection.isForward();
656
+ const pattern = {
657
+ regex: new RegExp(escapedText, matchCase ? 'g' : 'gi'),
658
+ matchIndex: 1
659
+ };
660
+ const count = markAllMatches(editor, currentSearchState, pattern, inSelection);
661
+ if (global$2.browser.isSafari()) {
662
+ selection.setRng(selection.getRng(), isForwardSelection);
663
+ }
664
+ if (count) {
665
+ const newIndex = moveSelection(editor, currentSearchState, true);
666
+ currentSearchState.set({
667
+ index: newIndex,
668
+ count,
669
+ text,
670
+ matchCase,
671
+ wholeWord,
672
+ inSelection
673
+ });
674
+ }
675
+ return count;
676
+ };
677
+ const next = (editor, currentSearchState) => {
678
+ const index = moveSelection(editor, currentSearchState, true);
679
+ currentSearchState.set({
680
+ ...currentSearchState.get(),
681
+ index
682
+ });
683
+ };
684
+ const prev = (editor, currentSearchState) => {
685
+ const index = moveSelection(editor, currentSearchState, false);
686
+ currentSearchState.set({
687
+ ...currentSearchState.get(),
688
+ index
689
+ });
690
+ };
691
+ const isMatchSpan = node => {
692
+ const matchIndex = getElmIndex(node);
693
+ return matchIndex !== null && matchIndex.length > 0;
694
+ };
695
+ const replace = (editor, currentSearchState, text, forward, all) => {
696
+ const searchState = currentSearchState.get();
697
+ const currentIndex = searchState.index;
698
+ let currentMatchIndex, nextIndex = currentIndex;
699
+ forward = forward !== false;
700
+ const node = editor.getBody();
701
+ const nodes = global$1.grep(global$1.toArray(node.getElementsByTagName('span')), isMatchSpan);
702
+ for (let i = 0; i < nodes.length; i++) {
703
+ const nodeIndex = getElmIndex(nodes[i]);
704
+ let matchIndex = currentMatchIndex = parseInt(nodeIndex, 10);
705
+ if (all || matchIndex === searchState.index) {
706
+ if (text.length) {
707
+ nodes[i].firstChild.nodeValue = text;
708
+ unwrap(nodes[i]);
709
+ } else {
710
+ removeNode(editor.dom, nodes[i]);
711
+ }
712
+ while (nodes[++i]) {
713
+ matchIndex = parseInt(getElmIndex(nodes[i]), 10);
714
+ if (matchIndex === currentMatchIndex) {
715
+ removeNode(editor.dom, nodes[i]);
716
+ } else {
717
+ i--;
718
+ break;
719
+ }
720
+ }
721
+ if (forward) {
722
+ nextIndex--;
723
+ }
724
+ } else if (currentMatchIndex > currentIndex) {
725
+ nodes[i].setAttribute('data-mce-index', String(currentMatchIndex - 1));
726
+ }
727
+ }
728
+ currentSearchState.set({
729
+ ...searchState,
730
+ count: all ? 0 : searchState.count - 1,
731
+ index: nextIndex
732
+ });
733
+ if (forward) {
734
+ next(editor, currentSearchState);
735
+ } else {
736
+ prev(editor, currentSearchState);
737
+ }
738
+ return !all && currentSearchState.get().count > 0;
739
+ };
740
+ const done = (editor, currentSearchState, keepEditorSelection) => {
741
+ let startContainer, endContainer;
742
+ const searchState = currentSearchState.get();
743
+ const nodes = global$1.toArray(editor.getBody().getElementsByTagName('span'));
744
+ for (let i = 0; i < nodes.length; i++) {
745
+ const nodeIndex = getElmIndex(nodes[i]);
746
+ if (nodeIndex !== null && nodeIndex.length) {
747
+ if (nodeIndex === searchState.index.toString()) {
748
+ if (!startContainer) {
749
+ startContainer = nodes[i].firstChild;
750
+ }
751
+ endContainer = nodes[i].firstChild;
752
+ }
753
+ unwrap(nodes[i]);
754
+ }
755
+ }
756
+ currentSearchState.set({
757
+ ...searchState,
758
+ index: -1,
759
+ count: 0,
760
+ text: ''
761
+ });
762
+ if (startContainer && endContainer) {
763
+ const rng = editor.dom.createRng();
764
+ rng.setStart(startContainer, 0);
765
+ rng.setEnd(endContainer, endContainer.data.length);
766
+ if (keepEditorSelection !== false) {
767
+ editor.selection.setRng(rng);
768
+ }
769
+ return rng;
770
+ }
771
+ };
772
+ const hasNext = (editor, currentSearchState) => currentSearchState.get().count > 1;
773
+ const hasPrev = (editor, currentSearchState) => currentSearchState.get().count > 1;
774
+
775
+ const get = (editor, currentState) => {
776
+ const done$1 = keepEditorSelection => {
777
+ return done(editor, currentState, keepEditorSelection);
778
+ };
779
+ const find$1 = (text, matchCase, wholeWord, inSelection = false) => {
780
+ return find(editor, currentState, text, matchCase, wholeWord, inSelection);
781
+ };
782
+ const next$1 = () => {
783
+ return next(editor, currentState);
784
+ };
785
+ const prev$1 = () => {
786
+ return prev(editor, currentState);
787
+ };
788
+ const replace$1 = (text, forward, all) => {
789
+ return replace(editor, currentState, text, forward, all);
790
+ };
791
+ return {
792
+ done: done$1,
793
+ find: find$1,
794
+ next: next$1,
795
+ prev: prev$1,
796
+ replace: replace$1
797
+ };
798
+ };
799
+
800
+ const singleton = doRevoke => {
801
+ const subject = Cell(Optional.none());
802
+ const revoke = () => subject.get().each(doRevoke);
803
+ const clear = () => {
804
+ revoke();
805
+ subject.set(Optional.none());
806
+ };
807
+ const isSet = () => subject.get().isSome();
808
+ const get = () => subject.get();
809
+ const set = s => {
810
+ revoke();
811
+ subject.set(Optional.some(s));
812
+ };
813
+ return {
814
+ clear,
815
+ isSet,
816
+ get,
817
+ set
818
+ };
819
+ };
820
+ const value = () => {
821
+ const subject = singleton(noop);
822
+ const on = f => subject.get().each(f);
823
+ return {
824
+ ...subject,
825
+ on
826
+ };
827
+ };
828
+
829
+ const open = (editor, currentSearchState) => {
830
+ const dialogApi = value();
831
+ editor.undoManager.add();
832
+ const selectedText = global$1.trim(editor.selection.getContent({ format: 'text' }));
833
+ const updateButtonStates = api => {
834
+ api.setEnabled('next', hasNext(editor, currentSearchState));
835
+ api.setEnabled('prev', hasPrev(editor, currentSearchState));
836
+ };
837
+ const updateSearchState = api => {
838
+ const data = api.getData();
839
+ const current = currentSearchState.get();
840
+ currentSearchState.set({
841
+ ...current,
842
+ matchCase: data.matchcase,
843
+ wholeWord: data.wholewords,
844
+ inSelection: data.inselection
845
+ });
846
+ };
847
+ const disableAll = (api, disable) => {
848
+ const buttons = [
849
+ 'replace',
850
+ 'replaceall',
851
+ 'prev',
852
+ 'next'
853
+ ];
854
+ const toggle = name => api.setEnabled(name, !disable);
855
+ each(buttons, toggle);
856
+ };
857
+ const notFoundAlert = api => {
858
+ editor.windowManager.alert('Could not find the specified string.', () => {
859
+ api.focus('findtext');
860
+ });
861
+ };
862
+ const focusButtonIfRequired = (api, name) => {
863
+ if (global$2.browser.isSafari() && global$2.deviceType.isTouch() && (name === 'find' || name === 'replace' || name === 'replaceall')) {
864
+ api.focus(name);
865
+ }
866
+ };
867
+ const reset = api => {
868
+ done(editor, currentSearchState, false);
869
+ disableAll(api, true);
870
+ updateButtonStates(api);
871
+ };
872
+ const doFind = api => {
873
+ const data = api.getData();
874
+ const last = currentSearchState.get();
875
+ if (!data.findtext.length) {
876
+ reset(api);
877
+ return;
878
+ }
879
+ if (last.text === data.findtext && last.matchCase === data.matchcase && last.wholeWord === data.wholewords) {
880
+ next(editor, currentSearchState);
881
+ } else {
882
+ const count = find(editor, currentSearchState, data.findtext, data.matchcase, data.wholewords, data.inselection);
883
+ if (count <= 0) {
884
+ notFoundAlert(api);
885
+ }
886
+ disableAll(api, count === 0);
887
+ }
888
+ updateButtonStates(api);
889
+ };
890
+ const initialState = currentSearchState.get();
891
+ const initialData = {
892
+ findtext: selectedText,
893
+ replacetext: '',
894
+ wholewords: initialState.wholeWord,
895
+ matchcase: initialState.matchCase,
896
+ inselection: initialState.inSelection
897
+ };
898
+ const spec = {
899
+ title: 'Find and Replace',
900
+ size: 'normal',
901
+ body: {
902
+ type: 'panel',
903
+ items: [
904
+ {
905
+ type: 'bar',
906
+ items: [
907
+ {
908
+ type: 'input',
909
+ name: 'findtext',
910
+ placeholder: 'Find',
911
+ maximized: true,
912
+ inputMode: 'search'
913
+ },
914
+ {
915
+ type: 'button',
916
+ name: 'prev',
917
+ text: 'Previous',
918
+ icon: 'action-prev',
919
+ enabled: false,
920
+ borderless: true
921
+ },
922
+ {
923
+ type: 'button',
924
+ name: 'next',
925
+ text: 'Next',
926
+ icon: 'action-next',
927
+ enabled: false,
928
+ borderless: true
929
+ }
930
+ ]
931
+ },
932
+ {
933
+ type: 'input',
934
+ name: 'replacetext',
935
+ placeholder: 'Replace with',
936
+ inputMode: 'search'
937
+ }
938
+ ]
939
+ },
940
+ buttons: [
941
+ {
942
+ type: 'menu',
943
+ name: 'options',
944
+ icon: 'preferences',
945
+ tooltip: 'Preferences',
946
+ align: 'start',
947
+ items: [
948
+ {
949
+ type: 'togglemenuitem',
950
+ name: 'matchcase',
951
+ text: 'Match case'
952
+ },
953
+ {
954
+ type: 'togglemenuitem',
955
+ name: 'wholewords',
956
+ text: 'Find whole words only'
957
+ },
958
+ {
959
+ type: 'togglemenuitem',
960
+ name: 'inselection',
961
+ text: 'Find in selection'
962
+ }
963
+ ]
964
+ },
965
+ {
966
+ type: 'custom',
967
+ name: 'find',
968
+ text: 'Find',
969
+ primary: true
970
+ },
971
+ {
972
+ type: 'custom',
973
+ name: 'replace',
974
+ text: 'Replace',
975
+ enabled: false
976
+ },
977
+ {
978
+ type: 'custom',
979
+ name: 'replaceall',
980
+ text: 'Replace all',
981
+ enabled: false
982
+ }
983
+ ],
984
+ initialData,
985
+ onChange: (api, details) => {
986
+ if (details.name === 'findtext' && currentSearchState.get().count > 0) {
987
+ reset(api);
988
+ }
989
+ },
990
+ onAction: (api, details) => {
991
+ const data = api.getData();
992
+ switch (details.name) {
993
+ case 'find':
994
+ doFind(api);
995
+ break;
996
+ case 'replace':
997
+ if (!replace(editor, currentSearchState, data.replacetext)) {
998
+ reset(api);
999
+ } else {
1000
+ updateButtonStates(api);
1001
+ }
1002
+ break;
1003
+ case 'replaceall':
1004
+ replace(editor, currentSearchState, data.replacetext, true, true);
1005
+ reset(api);
1006
+ break;
1007
+ case 'prev':
1008
+ prev(editor, currentSearchState);
1009
+ updateButtonStates(api);
1010
+ break;
1011
+ case 'next':
1012
+ next(editor, currentSearchState);
1013
+ updateButtonStates(api);
1014
+ break;
1015
+ case 'matchcase':
1016
+ case 'wholewords':
1017
+ case 'inselection':
1018
+ updateSearchState(api);
1019
+ reset(api);
1020
+ break;
1021
+ }
1022
+ focusButtonIfRequired(api, details.name);
1023
+ },
1024
+ onSubmit: api => {
1025
+ doFind(api);
1026
+ focusButtonIfRequired(api, 'find');
1027
+ },
1028
+ onClose: () => {
1029
+ editor.focus();
1030
+ done(editor, currentSearchState);
1031
+ editor.undoManager.add();
1032
+ }
1033
+ };
1034
+ dialogApi.set(editor.windowManager.open(spec, { inline: 'toolbar' }));
1035
+ };
1036
+
1037
+ const register$1 = (editor, currentSearchState) => {
1038
+ editor.addCommand('SearchReplace', () => {
1039
+ open(editor, currentSearchState);
1040
+ });
1041
+ };
1042
+
1043
+ const showDialog = (editor, currentSearchState) => () => {
1044
+ open(editor, currentSearchState);
1045
+ };
1046
+ const register = (editor, currentSearchState) => {
1047
+ editor.ui.registry.addMenuItem('searchreplace', {
1048
+ text: 'Find and replace...',
1049
+ shortcut: 'Meta+F',
1050
+ onAction: showDialog(editor, currentSearchState),
1051
+ icon: 'search'
1052
+ });
1053
+ editor.ui.registry.addButton('searchreplace', {
1054
+ tooltip: 'Find and replace',
1055
+ onAction: showDialog(editor, currentSearchState),
1056
+ icon: 'search'
1057
+ });
1058
+ editor.shortcuts.add('Meta+F', '', showDialog(editor, currentSearchState));
1059
+ };
1060
+
1061
+ var Plugin = () => {
1062
+ global$3.add('searchreplace', editor => {
1063
+ const currentSearchState = Cell({
1064
+ index: -1,
1065
+ count: 0,
1066
+ text: '',
1067
+ matchCase: false,
1068
+ wholeWord: false,
1069
+ inSelection: false
1070
+ });
1071
+ register$1(editor, currentSearchState);
1072
+ register(editor, currentSearchState);
1073
+ return get(editor, currentSearchState);
1074
+ });
1075
+ };
1076
+
1077
+ Plugin();
1078
+
1079
+ })();