@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.
- package/README.md +7 -6
- package/dist/css/demo.css +8 -8
- package/dist/css/demo.min.css +5 -5
- package/dist/css/demo.rtl.css +8 -8
- package/dist/css/demo.rtl.min.css +5 -5
- package/dist/css/tabler-flags.css +10 -10
- package/dist/css/tabler-flags.min.css +5 -5
- package/dist/css/tabler-flags.rtl.css +10 -10
- package/dist/css/tabler-flags.rtl.min.css +5 -5
- package/dist/css/tabler-payments.css +4 -4
- package/dist/css/tabler-payments.min.css +4 -4
- package/dist/css/tabler-payments.rtl.css +4 -4
- package/dist/css/tabler-payments.rtl.min.css +4 -4
- package/dist/css/tabler-social.css +4 -4
- package/dist/css/tabler-social.min.css +4 -4
- package/dist/css/tabler-social.rtl.css +4 -4
- package/dist/css/tabler-social.rtl.min.css +4 -4
- package/dist/css/tabler-vendors.css +246 -253
- package/dist/css/tabler-vendors.min.css +5 -5
- package/dist/css/tabler-vendors.rtl.css +246 -253
- package/dist/css/tabler-vendors.rtl.min.css +5 -5
- package/dist/css/tabler.css +643 -426
- package/dist/css/tabler.min.css +8 -8
- package/dist/css/tabler.rtl.css +667 -441
- package/dist/css/tabler.rtl.min.css +8 -8
- package/dist/js/demo-theme.js +4 -4
- package/dist/js/demo-theme.min.js +4 -4
- package/dist/js/demo.js +41 -42
- package/dist/js/demo.min.js +5 -5
- package/dist/js/tabler.esm.js +1949 -1248
- package/dist/js/tabler.esm.min.js +8 -8
- package/dist/js/tabler.js +1949 -1248
- package/dist/js/tabler.min.js +8 -8
- package/dist/libs/apexcharts/dist/apexcharts.amd.js +1 -1
- package/dist/libs/apexcharts/dist/apexcharts.common.js +5 -5
- package/dist/libs/apexcharts/dist/apexcharts.css +166 -65
- package/dist/libs/apexcharts/dist/apexcharts.esm.js +5 -5
- package/dist/libs/apexcharts/dist/apexcharts.js +7964 -8527
- package/dist/libs/apexcharts/dist/apexcharts.min.js +5 -5
- package/dist/libs/apexcharts/dist/locales/be-cyrl.json +55 -0
- package/dist/libs/apexcharts/dist/locales/be-latn.json +55 -0
- package/dist/libs/apexcharts/dist/locales/da.json +55 -0
- package/dist/libs/apexcharts/dist/locales/ms.json +63 -0
- package/dist/libs/apexcharts/dist/locales/pt.json +3 -3
- package/dist/libs/apexcharts/dist/locales/vi.json +63 -0
- package/dist/libs/apexcharts/dist/locales/zh-tw.json +1 -1
- package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js +8 -8
- package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js.map +1 -1
- package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +3 -3
- package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -1
- package/dist/libs/bootstrap/dist/js/bootstrap.esm.js +8 -8
- package/dist/libs/bootstrap/dist/js/bootstrap.esm.js.map +1 -1
- package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js +3 -3
- package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js.map +1 -1
- package/dist/libs/bootstrap/dist/js/bootstrap.js +8 -8
- package/dist/libs/bootstrap/dist/js/bootstrap.js.map +1 -1
- package/dist/libs/bootstrap/dist/js/bootstrap.min.js +3 -3
- package/dist/libs/bootstrap/dist/js/bootstrap.min.js.map +1 -1
- package/dist/libs/countup.js/dist/countUp.d.ts +1 -0
- package/dist/libs/countup.js/dist/countUp.js +4 -1
- package/dist/libs/countup.js/dist/countUp.min.js +1 -1
- package/dist/libs/countup.js/dist/countUp.umd.js +1 -1
- package/dist/libs/jsvectormap/dist/jsvectormap.cjs +2279 -0
- package/dist/libs/jsvectormap/dist/jsvectormap.css +121 -0
- package/dist/libs/jsvectormap/dist/jsvectormap.esm.js +2277 -0
- package/dist/libs/jsvectormap/dist/jsvectormap.js +2285 -0
- package/dist/libs/jsvectormap/dist/jsvectormap.min.css +1 -0
- package/dist/libs/jsvectormap/dist/jsvectormap.min.js +1 -0
- package/dist/libs/jsvectormap/dist/maps/world-merc.js +1 -1
- package/dist/libs/jsvectormap/dist/maps/world.js +1 -1
- package/dist/libs/nouislider/dist/nouislider.d.ts +8 -10
- package/dist/libs/nouislider/dist/nouislider.js +64 -5
- package/dist/libs/nouislider/dist/nouislider.min.js +1 -1
- package/dist/libs/nouislider/dist/nouislider.min.mjs +1 -1
- package/dist/libs/nouislider/dist/nouislider.mjs +64 -5
- package/dist/libs/star-rating.js/dist/star-rating.cjs.js +5 -2
- package/dist/libs/star-rating.js/dist/star-rating.css +23 -20
- package/dist/libs/star-rating.js/dist/star-rating.esm.js +5 -2
- package/dist/libs/star-rating.js/dist/star-rating.js +5 -9
- package/dist/libs/star-rating.js/dist/star-rating.min.css +1 -8
- package/dist/libs/star-rating.js/dist/star-rating.min.js +1 -8
- package/dist/libs/tinymce/CHANGELOG.md +471 -12
- package/dist/libs/tinymce/README.md +16 -10
- package/dist/libs/tinymce/bower.json +1 -1
- package/dist/libs/tinymce/composer.json +2 -2
- package/dist/libs/tinymce/icons/default/icons.js +13 -2
- package/dist/libs/tinymce/icons/default/icons.min.js +1 -1
- package/dist/libs/tinymce/license.md +6 -0
- package/dist/libs/tinymce/models/dom/model.js +237 -213
- package/dist/libs/tinymce/models/dom/model.min.js +2 -2
- package/dist/libs/tinymce/package.json +2 -2
- package/dist/libs/tinymce/plugins/accordion/index.js +7 -0
- package/dist/libs/tinymce/plugins/accordion/plugin.js +1055 -0
- package/dist/libs/tinymce/plugins/accordion/plugin.min.js +4 -0
- package/dist/libs/tinymce/plugins/advlist/plugin.js +4 -4
- package/dist/libs/tinymce/plugins/advlist/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/anchor/plugin.js +21 -3
- package/dist/libs/tinymce/plugins/anchor/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/autolink/plugin.js +1 -1
- package/dist/libs/tinymce/plugins/autolink/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/autoresize/plugin.js +20 -33
- package/dist/libs/tinymce/plugins/autoresize/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/autosave/plugin.js +1 -1
- package/dist/libs/tinymce/plugins/autosave/plugin.min.js +1 -1
- package/dist/libs/tinymce/plugins/charmap/plugin.js +15 -3
- package/dist/libs/tinymce/plugins/charmap/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/code/plugin.js +1 -1
- package/dist/libs/tinymce/plugins/code/plugin.min.js +1 -1
- package/dist/libs/tinymce/plugins/codesample/plugin.js +27 -13
- package/dist/libs/tinymce/plugins/codesample/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/directionality/plugin.js +33 -27
- package/dist/libs/tinymce/plugins/directionality/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/emoticons/plugin.js +17 -4
- package/dist/libs/tinymce/plugins/emoticons/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/fullscreen/plugin.js +168 -105
- package/dist/libs/tinymce/plugins/fullscreen/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ar.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ca.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/cs.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/da.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/de.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/el.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/en.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/es.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/eu.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/fa.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/fi.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/he_IL.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/hi.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/hr.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/id.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/it.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ja.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/kk.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ms.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/nl.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/pl.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ro.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/ru.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/sk.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/th_TH.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/tr.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/uk.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/vi.js +93 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +87 -0
- package/dist/libs/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +93 -0
- package/dist/libs/tinymce/plugins/help/plugin.js +115 -135
- package/dist/libs/tinymce/plugins/help/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/image/plugin.js +23 -5
- package/dist/libs/tinymce/plugins/image/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/importcss/plugin.js +4 -3
- package/dist/libs/tinymce/plugins/importcss/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/insertdatetime/plugin.js +15 -3
- package/dist/libs/tinymce/plugins/insertdatetime/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/link/plugin.js +193 -114
- package/dist/libs/tinymce/plugins/link/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/lists/plugin.js +290 -66
- package/dist/libs/tinymce/plugins/lists/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/media/plugin.js +80 -33
- package/dist/libs/tinymce/plugins/media/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/nonbreaking/plugin.js +15 -3
- package/dist/libs/tinymce/plugins/nonbreaking/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/pagebreak/plugin.js +15 -3
- package/dist/libs/tinymce/plugins/pagebreak/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/preview/plugin.js +1 -1
- package/dist/libs/tinymce/plugins/preview/plugin.min.js +1 -1
- package/dist/libs/tinymce/plugins/quickbars/plugin.js +19 -7
- package/dist/libs/tinymce/plugins/quickbars/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/save/plugin.js +3 -2
- package/dist/libs/tinymce/plugins/save/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/searchreplace/plugin.js +42 -36
- package/dist/libs/tinymce/plugins/searchreplace/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/table/plugin.js +121 -76
- package/dist/libs/tinymce/plugins/table/plugin.min.js +2 -2
- package/dist/libs/tinymce/plugins/visualblocks/plugin.js +1 -1
- package/dist/libs/tinymce/plugins/visualblocks/plugin.min.js +1 -1
- package/dist/libs/tinymce/plugins/visualchars/plugin.js +1 -1
- package/dist/libs/tinymce/plugins/visualchars/plugin.min.js +1 -1
- package/dist/libs/tinymce/plugins/wordcount/plugin.js +27 -19
- package/dist/libs/tinymce/plugins/wordcount/plugin.min.js +2 -2
- package/dist/libs/tinymce/skins/content/dark/content.js +1 -0
- package/dist/libs/tinymce/skins/content/default/content.js +1 -0
- package/dist/libs/tinymce/skins/content/document/content.js +1 -0
- package/dist/libs/tinymce/skins/content/tinymce-5/content.js +1 -0
- package/dist/libs/tinymce/skins/content/tinymce-5-dark/content.js +1 -0
- package/dist/libs/tinymce/skins/content/writer/content.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide/content.css +32 -29
- package/dist/libs/tinymce/skins/ui/oxide/content.inline.css +32 -29
- package/dist/libs/tinymce/skins/ui/oxide/content.inline.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/oxide/content.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide/content.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/oxide/skin.css +1003 -105
- package/dist/libs/tinymce/skins/ui/oxide/skin.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide/skin.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/oxide/skin.shadowdom.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide-dark/content.css +32 -22
- package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.css +32 -29
- package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/oxide-dark/content.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/oxide-dark/skin.css +1008 -110
- package/dist/libs/tinymce/skins/ui/oxide-dark/skin.js +1 -0
- package/dist/libs/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5/content.css +32 -29
- package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.css +32 -29
- package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/tinymce-5/content.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/tinymce-5/skin.css +1003 -86
- package/dist/libs/tinymce/skins/ui/tinymce-5/skin.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/tinymce-5/skin.shadowdom.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.css +32 -22
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.css +32 -29
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.css +1009 -92
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.js +1 -0
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
- package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js +1 -0
- package/dist/libs/tinymce/themes/silver/theme.js +26361 -24936
- package/dist/libs/tinymce/themes/silver/theme.min.js +2 -2
- package/dist/libs/tinymce/tinymce.d.ts +205 -136
- package/dist/libs/tinymce/tinymce.js +4400 -2838
- package/dist/libs/tinymce/tinymce.min.js +2 -2
- package/dist/libs/tom-select/dist/js/plugins/caret_position.js +11 -16
- package/dist/libs/tom-select/dist/js/plugins/caret_position.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/change_listener.js +3 -2
- package/dist/libs/tom-select/dist/js/plugins/change_listener.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js +47 -34
- package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/clear_button.js +3 -13
- package/dist/libs/tom-select/dist/js/plugins/clear_button.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/drag_drop.js +249 -29
- package/dist/libs/tom-select/dist/js/plugins/drag_drop.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js +3 -11
- package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js +15 -24
- package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js +4 -6
- package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/no_active_items.js +2 -1
- package/dist/libs/tom-select/dist/js/plugins/no_active_items.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js +2 -2
- package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js +3 -15
- package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/remove_button.js +11 -15
- package/dist/libs/tom-select/dist/js/plugins/remove_button.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js +2 -3
- package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js.map +1 -1
- package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js +41 -50
- package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js.map +1 -1
- package/dist/libs/tom-select/dist/js/tom-select.base.js +411 -685
- package/dist/libs/tom-select/dist/js/tom-select.base.js.map +1 -1
- package/dist/libs/tom-select/dist/js/tom-select.base.min.js +87 -78
- package/dist/libs/tom-select/dist/js/tom-select.base.min.js.map +1 -1
- package/dist/libs/tom-select/dist/js/tom-select.complete.js +614 -820
- package/dist/libs/tom-select/dist/js/tom-select.complete.js.map +1 -1
- package/dist/libs/tom-select/dist/js/tom-select.complete.min.js +195 -176
- package/dist/libs/tom-select/dist/js/tom-select.complete.min.js.map +1 -1
- package/dist/libs/tom-select/dist/js/tom-select.popular.js +436 -705
- package/dist/libs/tom-select/dist/js/tom-select.popular.js.map +1 -1
- package/dist/libs/tom-select/dist/js/tom-select.popular.min.js +87 -78
- package/dist/libs/tom-select/dist/js/tom-select.popular.min.js.map +1 -1
- package/docs/base/colors.mdx +25 -0
- package/docs/base/typography.mdx +296 -0
- package/docs/components/alerts.mdx +430 -0
- package/docs/components/autosize.mdx +16 -0
- package/docs/components/avatars.mdx +172 -0
- package/docs/components/badges.mdx +127 -0
- package/docs/components/breadcrumb.mdx +107 -0
- package/docs/components/buttons.mdx +863 -0
- package/docs/components/cards.mdx +343 -0
- package/docs/components/carousel.mdx +235 -0
- package/docs/components/charts.mdx +526 -0
- package/docs/components/countup.mdx +136 -0
- package/docs/components/datagrid.mdx +90 -0
- package/docs/components/divider.mdx +63 -0
- package/docs/components/dropdowns.mdx +245 -0
- package/docs/components/dropzone.mdx +63 -0
- package/docs/components/empty.mdx +103 -0
- package/docs/components/icons.mdx +120 -0
- package/docs/components/inline-player.mdx +31 -0
- package/docs/components/modals.mdx +222 -0
- package/docs/components/placeholder.mdx +270 -0
- package/docs/components/popover.mdx +55 -0
- package/docs/components/progress.mdx +92 -0
- package/docs/components/progressbg.mdx +16 -0
- package/docs/components/range-slider.mdx +17 -0
- package/docs/components/ribbons.mdx +151 -0
- package/docs/components/spinners.mdx +119 -0
- package/docs/components/statuses.mdx +285 -0
- package/docs/components/steps.mdx +111 -0
- package/docs/components/switch-icon.mdx +155 -0
- package/docs/components/tables.mdx +410 -0
- package/docs/components/tabs.mdx +243 -0
- package/docs/components/timelines.mdx +506 -0
- package/docs/components/tinymce.mdx +44 -0
- package/docs/components/toasts.mdx +73 -0
- package/docs/components/tooltips.mdx +34 -0
- package/docs/components/tracking.mdx +162 -0
- package/docs/forms/form-color-check.mdx +179 -0
- package/docs/forms/form-elements.mdx +498 -0
- package/docs/forms/form-fieldset.mdx +44 -0
- package/docs/forms/form-helpers.mdx +12 -0
- package/docs/forms/form-image-check.mdx +162 -0
- package/docs/forms/form-input-mask.mdx +18 -0
- package/docs/forms/form-selectboxes.mdx +205 -0
- package/docs/forms/form-validation.mdx +25 -0
- package/docs/getting-started/browser-support.mdx +20 -0
- package/docs/getting-started/customize.mdx +24 -0
- package/docs/getting-started/download.mdx +42 -0
- package/docs/getting-started/faq.mdx +28 -0
- package/docs/getting-started/index.mdx +40 -0
- package/docs/icons/eps.mdx +13 -0
- package/docs/icons/figma.mdx +7 -0
- package/docs/icons/index.mdx +103 -0
- package/docs/icons/pdf.mdx +13 -0
- package/docs/icons/png.mdx +19 -0
- package/docs/icons/preact.mdx +40 -0
- package/docs/icons/react.mdx +40 -0
- package/docs/icons/solidjs.mdx +39 -0
- package/docs/icons/svelte.mdx +40 -0
- package/docs/icons/svg.mdx +74 -0
- package/docs/icons/vue.mdx +45 -0
- package/docs/icons/webfont.mdx +52 -0
- package/docs/layout/page-headers.mdx +226 -0
- package/docs/layout/page-layouts.mdx +204 -0
- package/docs/menu.json +317 -0
- package/docs/plugins/flags.mdx +52 -0
- package/docs/plugins/payments.mdx +43 -0
- package/docs/utilities/borders.mdx +114 -0
- package/docs/utilities/cursors.mdx +92 -0
- package/docs/utilities/interactions.mdx +23 -0
- package/package.json +37 -37
- package/src/js/src/toast.js +9 -1
- package/src/scss/_variables-dark.scss +3 -3
- package/src/scss/_variables.scss +38 -33
- package/src/scss/layout/_dark.scss +10 -2
- package/src/scss/layout/_navbar.scss +22 -13
- package/src/scss/layout/_page.scss +4 -4
- package/src/scss/layout/_root.scss +1 -1
- package/src/scss/mixins/_mixins.scss +4 -4
- package/src/scss/ui/_alerts.scss +2 -2
- package/src/scss/ui/_buttons.scss +4 -4
- package/src/scss/ui/_dropdowns.scss +1 -0
- package/src/scss/ui/_empty.scss +0 -5
- package/src/scss/ui/_flags.scss +2 -2
- package/src/scss/ui/_forms.scss +5 -4
- package/src/scss/ui/_modals.scss +3 -3
- package/src/scss/ui/_ribbons.scss +1 -0
- package/src/scss/ui/_toasts.scss +0 -1
- package/src/scss/ui/_type.scss +4 -2
- package/src/scss/vendor/_apexcharts.scss +2 -2
- package/src/scss/vendor/_jsvectormap.scss +1 -1
- package/src/scss/vendor/_litepicker.scss +1 -1
- package/dist/libs/jsvectormap/dist/js/jsvectormap.js +0 -2318
- package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +0 -1
- package/dist/libs/tinymce/license.txt +0 -21
- package/dist/libs/tinymce/plugins/template/index.js +0 -7
- package/dist/libs/tinymce/plugins/template/plugin.js +0 -554
- package/dist/libs/tinymce/plugins/template/plugin.min.js +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* TinyMCE version
|
|
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
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
826
|
-
|
|
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
|
-
|
|
850
|
-
|
|
851
|
-
|
|
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
|
-
|
|
864
|
-
|
|
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
|
|
906
|
-
|
|
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
|
|
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
|
-
}
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
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,
|
|
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 => {
|