@aquera/nile-elements 2.0.16 → 2.0.18
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 +6 -0
- package/dist/{index-f6944844.cjs.js → index-0c0c869d.cjs.js} +2 -2
- package/dist/{index-f6944844.cjs.js.map → index-0c0c869d.cjs.js.map} +1 -1
- package/dist/{index-403841c7.cjs.js → index-129ef6fb.cjs.js} +3 -3
- package/dist/{index-403841c7.cjs.js.map → index-129ef6fb.cjs.js.map} +1 -1
- package/dist/{index-1faa963c.esm.js → index-36f2a6b5.esm.js} +1 -1
- package/dist/index-4df50481.esm.js +1 -0
- package/dist/index-5d34cff1.esm.js +1 -0
- package/dist/index-7ae95edd.cjs.js +2 -0
- package/dist/{index-3ca67627.cjs.js.map → index-7ae95edd.cjs.js.map} +1 -1
- package/dist/index-7ca72b78.esm.js +1 -0
- package/dist/index-bbe23ad8.cjs.js +2 -0
- package/dist/index-bbe23ad8.cjs.js.map +1 -0
- package/dist/index-ccc6a799.cjs.js +5 -0
- package/dist/index-ccc6a799.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +686 -464
- package/dist/nile-auto-complete/index.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
- package/dist/nile-auto-complete/portal-manager.cjs.js +1 -1
- package/dist/nile-auto-complete/portal-utils.cjs.js +1 -1
- package/dist/nile-code-editor/extensionSetup.cjs.js +2 -2
- package/dist/nile-code-editor/index.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.js +1 -1
- package/dist/nile-color-picker/index.cjs.js +1 -1
- package/dist/nile-color-picker/nile-color-picker.cjs.js +1 -1
- package/dist/nile-combobox/index.cjs.js +1 -1
- package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
- package/dist/nile-combobox/portal-manager.cjs.js +1 -1
- package/dist/nile-context-menu/index.cjs.js +1 -1
- package/dist/nile-context-menu/nile-context-menu.cjs.js +1 -1
- package/dist/nile-context-submenu/index.cjs.js +1 -1
- package/dist/nile-context-submenu/nile-context-submenu.cjs.js +1 -1
- package/dist/nile-detail/index.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js +1 -1
- package/dist/nile-dropdown/index.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
- package/dist/nile-dropdown/portal-manager.cjs.js +1 -1
- package/dist/nile-file-upload/index.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js +1 -1
- package/dist/nile-floating-panel/index.cjs.js +1 -1
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
- package/dist/nile-lite-tooltip/index.cjs.js +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
- package/dist/nile-markdown-editor/index.cjs.js +1 -1
- package/dist/nile-markdown-editor/nile-markdown-editor.cjs.js +1 -1
- package/dist/nile-minimap/index.cjs.js +2 -0
- package/dist/nile-minimap/index.cjs.js.map +1 -0
- package/dist/nile-minimap/index.esm.js +1 -0
- package/dist/nile-minimap/nile-minimap.cjs.js +2 -0
- package/dist/nile-minimap/nile-minimap.cjs.js.map +1 -0
- package/dist/nile-minimap/nile-minimap.css.cjs.js +2 -0
- package/dist/nile-minimap/nile-minimap.css.cjs.js.map +1 -0
- package/dist/nile-minimap/nile-minimap.css.esm.js +150 -0
- package/dist/nile-minimap/nile-minimap.esm.js +22 -0
- package/dist/nile-popover/index.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js +1 -1
- package/dist/nile-popover/portal-manager.cjs.js +1 -1
- package/dist/nile-popup/index.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.cjs.js +1 -1
- package/dist/nile-segmented-progress-bar/index.cjs.js +1 -1
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.cjs.js +1 -1
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/portal-manager.cjs.js +1 -1
- package/dist/nile-side-bar-action/index.cjs.js +1 -1
- package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js +1 -1
- package/dist/nile-side-bar-action/portal-manager.cjs.js +1 -1
- package/dist/nile-tooltip/index.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
- package/dist/nile-virtual-select/index.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/commands.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/commands.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/commands.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/email-css.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/email-css.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/email-css.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/email-render.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/email-render.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/email-render.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/html-detect.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/html-detect.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/html-detect.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/inputrules.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/keymap.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/link.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js +2 -1
- package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/sanitize.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/schema.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/schema.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/schema.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/selection-state.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/serializer.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +45 -4
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +2 -2
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.esm.js +2 -2
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +5 -5
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +2 -2
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.esm.js +3 -3
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.esm.js +3 -3
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.esm.js +9 -9
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +4 -4
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +23 -12
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +7 -7
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-minimap/index.d.ts +1 -0
- package/dist/src/nile-minimap/index.js +2 -0
- package/dist/src/nile-minimap/index.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.css.d.ts +12 -0
- package/dist/src/nile-minimap/nile-minimap.css.js +162 -0
- package/dist/src/nile-minimap/nile-minimap.css.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.d.ts +131 -0
- package/dist/src/nile-minimap/nile-minimap.js +704 -0
- package/dist/src/nile-minimap/nile-minimap.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.test.d.ts +1 -0
- package/dist/src/nile-minimap/nile-minimap.test.js +785 -0
- package/dist/src/nile-minimap/nile-minimap.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.d.ts +5 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.js +2 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/email-css.d.ts +14 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-css.js +140 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-css.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-fidelity.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-fidelity.test.js +1045 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-fidelity.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-render.d.ts +11 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-render.js +93 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-render.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/html-detect.d.ts +2 -0
- package/dist/src/nile-wysiwyg-editor/engine/html-detect.js +24 -0
- package/dist/src/nile-wysiwyg-editor/engine/html-detect.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/index.d.ts +4 -1
- package/dist/src/nile-wysiwyg-editor/engine/index.js +3 -1
- package/dist/src/nile-wysiwyg-editor/engine/index.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.d.ts +0 -5
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.js +19 -0
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js +3 -2
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.d.ts +4 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js +56 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.d.ts +5 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js +27 -6
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js +30 -7
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js +46 -0
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.d.ts +9 -1
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js +730 -7
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/schema.d.ts +3 -0
- package/dist/src/nile-wysiwyg-editor/engine/schema.js +215 -34
- package/dist/src/nile-wysiwyg-editor/engine/schema.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/selection-state.js +3 -1
- package/dist/src/nile-wysiwyg-editor/engine/selection-state.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/serializer.d.ts +12 -4
- package/dist/src/nile-wysiwyg-editor/engine/serializer.js +18 -8
- package/dist/src/nile-wysiwyg-editor/engine/serializer.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.js +287 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +45 -4
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +23 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +113 -15
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js +213 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +14 -3
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/index.ts +1 -0
- package/src/nile-minimap/index.ts +1 -0
- package/src/nile-minimap/nile-minimap.css.ts +164 -0
- package/src/nile-minimap/nile-minimap.test.ts +924 -0
- package/src/nile-minimap/nile-minimap.ts +796 -0
- package/src/nile-wysiwyg-editor/engine/create-state.ts +7 -0
- package/src/nile-wysiwyg-editor/engine/email-css.ts +136 -0
- package/src/nile-wysiwyg-editor/engine/email-fidelity.test.ts +1347 -0
- package/src/nile-wysiwyg-editor/engine/email-render.ts +99 -0
- package/src/nile-wysiwyg-editor/engine/html-detect.ts +26 -0
- package/src/nile-wysiwyg-editor/engine/index.ts +10 -1
- package/src/nile-wysiwyg-editor/engine/inputrules.ts +18 -1
- package/src/nile-wysiwyg-editor/engine/plugins/image-view.ts +3 -2
- package/src/nile-wysiwyg-editor/engine/plugins/link.ts +58 -2
- package/src/nile-wysiwyg-editor/engine/plugins/paste.ts +31 -8
- package/src/nile-wysiwyg-editor/engine/plugins/tables.ts +29 -7
- package/src/nile-wysiwyg-editor/engine/pm.test.ts +73 -0
- package/src/nile-wysiwyg-editor/engine/sanitize.ts +729 -7
- package/src/nile-wysiwyg-editor/engine/schema.ts +206 -33
- package/src/nile-wysiwyg-editor/engine/selection-state.ts +3 -1
- package/src/nile-wysiwyg-editor/engine/serializer.ts +30 -8
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.ts +357 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +45 -4
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.ts +258 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +119 -12
- package/src/nile-wysiwyg-editor/ui/bookmark-panel.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/embed-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/embed-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/emoji-picker.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/find-replace.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/image-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/image-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/insert-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/link-editor.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/markdown-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/math-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/shortcut-help.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/source-view.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/special-chars.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/suggest-list.ts +14 -3
- package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/table-menu.ts +1 -1
- package/vscode-html-custom-data.json +116 -25
- package/web-test-runner.config.mjs +4 -0
- package/dist/index-3ca67627.cjs.js +0 -2
- package/dist/index-6f3fa4ab.esm.js +0 -1
- package/dist/index-7b1c9857.esm.js +0 -1
- package/dist/index-89c520e9.cjs.js +0 -5
- package/dist/index-89c520e9.cjs.js.map +0 -1
- package/dist/index-ba47645d.esm.js +0 -1
- package/dist/index-c3210a9c.cjs.js +0 -2
- package/dist/index-c3210a9c.cjs.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-minimap.js","sourceRoot":"","sources":["../../../src/nile-minimap/nile-minimap.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport NileElement from '../internal/nile-element';\nimport { styles } from './nile-minimap.css';\n\nexport type NileMinimapOrientation = 'horizontal' | 'vertical' | 'auto';\nexport type NileMinimapMode = 'segments' | 'track';\nexport type NileMinimapAxis = 'horizontal' | 'vertical';\nexport type NileMinimapSource = 'drag' | 'click' | 'wheel' | 'keyboard';\n\n/** Formats the `aria-valuetext` in segments mode. */\nexport type NileMinimapValueTextFormatter = (\n first: number,\n last: number,\n total: number\n) => string;\n\ninterface AxisMap {\n len: 'clientWidth' | 'clientHeight';\n size: 'scrollWidth' | 'scrollHeight';\n pos: 'scrollLeft' | 'scrollTop';\n border: 'clientLeft' | 'clientTop';\n rectStart: 'left' | 'top';\n rectExt: 'width' | 'height';\n client: 'clientX' | 'clientY';\n scrollKey: 'left' | 'top';\n}\n\nconst AXES: Record<NileMinimapAxis, AxisMap> = {\n horizontal: {\n len: 'clientWidth',\n size: 'scrollWidth',\n pos: 'scrollLeft',\n border: 'clientLeft',\n rectStart: 'left',\n rectExt: 'width',\n client: 'clientX',\n scrollKey: 'left',\n },\n vertical: {\n len: 'clientHeight',\n size: 'scrollHeight',\n pos: 'scrollTop',\n border: 'clientTop',\n rectStart: 'top',\n rectExt: 'height',\n client: 'clientY',\n scrollKey: 'top',\n },\n};\n\nconst MIN_THUMB = 14;\nconst MIN_SEG = 3;\nconst MAX_ITEMS = 48;\n\ninterface SegGeo {\n start: number;\n len: number;\n}\n\nconst defaultValueText: NileMinimapValueTextFormatter = (\n first,\n last,\n total\n) => {\n if (first === last) return `Item ${first} of ${total}`;\n return `Items ${first}–${last} of ${total}`;\n};\n\n/**\n * A small overview of any scrolling container. It mirrors the container's\n * scroll position and lets people drag, click, wheel or key to another part of\n * it. One axis at a time: horizontal for boards and wide tables, vertical for\n * long documents and lists. It adds to the native scrollbar; it never replaces\n * it.\n *\n * NxtGen theme only: styles use `--ng-*` tokens with no legacy `--nile-*`\n * fallbacks, so the page must load the NxtGen theme (e.g. `nxtgen.css`).\n *\n * @tag nile-minimap\n * @summary Scroll overview that attaches to a scroll container by id and lets people navigate it.\n *\n * @event nile-navigate - Fired before the minimap scrolls the container. Cancelable: `preventDefault()` skips the scroll. Detail: { position: number, ratio: number, source: 'drag' | 'click' | 'wheel' | 'keyboard', orientation: 'horizontal' | 'vertical' }\n * @event nile-overflow-change - Fired once on first measure, then whenever overflow on the active axis starts or stops. Detail: { overflowing: boolean, orientation: 'horizontal' | 'vertical' }\n *\n * @csspart base - The container surface.\n * @csspart track - The scaled area; drawn as a rail in track mode.\n * @csspart segment - One block per item matched by `itemSelector`.\n * @csspart viewport - The focusable, draggable thumb (`role=\"scrollbar\"`).\n *\n * @cssproperty --nile-minimap-width - Width of the minimap (112px). Swaps with height in vertical mode.\n * @cssproperty --nile-minimap-height - Height of the minimap (40px). Swaps with width in vertical mode.\n */\n@customElement('nile-minimap')\nexport class NileMinimap extends NileElement {\n static styles: CSSResultGroup = styles;\n\n /** Id of the scroll container, resolved in the minimap's root node. The only way to attach. */\n @property({ reflect: true }) for = '';\n\n /** Which axis the minimap represents. `auto` picks the overflowing axis (horizontal first). */\n @property({ reflect: true }) orientation: NileMinimapOrientation = 'auto';\n\n /** `segments` draws one block per item; `track` draws a single rail. */\n @property({ reflect: true }) mode: NileMinimapMode = 'segments';\n\n /** Selector queried on the container to find the segment items. */\n @property() itemSelector = ':scope > *';\n\n /** Hides the host while nothing overflows. */\n @property({ type: Boolean, reflect: true }) hideWhenFits = true;\n\n /** Smooth scroll for click and keyboard. Always off under reduced motion. */\n @property({ type: Boolean }) smooth = true;\n\n /** Still mirrors scrolling, but can't be used. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Accessible name on the viewport. */\n @property() label = 'Scroll position';\n\n /**\n * Keeps the minimap hidden until the container scrolls, then fades it out\n * after `hideDelay` ms without scrolling. It stays visible while it is\n * hovered, focused or being dragged. Hidden, it keeps its space and ignores\n * the pointer.\n */\n @property({ type: Boolean, reflect: true }) autoHide = false;\n\n /** With `autoHide`, milliseconds without scrolling before the minimap fades out. */\n @property({ type: Number }) hideDelay = 1200;\n\n /** Builds the `aria-valuetext` in segments mode. */\n @property({ attribute: false })\n formatValueText: NileMinimapValueTextFormatter = defaultValueText;\n\n @query('.base') private base!: HTMLDivElement;\n\n @query('.track') private trackEl!: HTMLDivElement;\n\n @query('.segments') private segsEl!: HTMLDivElement;\n\n @query('.viewport') private viewport!: HTMLDivElement;\n\n @state() private resolvedDir: NileMinimapAxis = 'horizontal';\n\n private target: HTMLElement | null = null;\n\n private axis: AxisMap = AXES.horizontal;\n\n private geo: SegGeo[] = [];\n\n private observed = new Set<Element>();\n\n private overflowing: boolean | null = null;\n\n private segOn = false;\n\n private rtl = false;\n\n private raf = 0;\n\n private full = false;\n\n private pending: number | null = null;\n\n private pendingAt = 0;\n\n private retried = false;\n\n private retryRaf = 0;\n\n // Live geometry cache used by the pointer/keyboard handlers.\n private contentSize = 0;\n\n private clientSize = 0;\n\n private maxScroll = 0;\n\n private trackLen = 0;\n\n private vpLen = 0;\n\n private ro: ResizeObserver | null = null;\n\n private mo: MutationObserver | null = null;\n\n private onScroll = () => {\n this.schedule(false);\n this.reveal();\n };\n\n // autoHide state: the minimap stays visible while any of these hold.\n private hideTimer = 0;\n\n private hovered = false;\n\n private focused = false;\n\n private onPointerEnter = () => {\n this.hovered = true;\n };\n\n private onPointerLeave = () => {\n this.hovered = false;\n this.queueHide();\n };\n\n private onFocusIn = () => {\n this.focused = true;\n this.reveal();\n };\n\n private onFocusOut = () => {\n this.focused = false;\n this.queueHide();\n };\n\n // Drag state.\n private drag: { pointer: number; start: number } | null = null;\n\n private dragRaf = 0;\n\n private lastMove: PointerEvent | null = null;\n\n private reduceMotion = matchMedia('(prefers-reduced-motion: reduce)');\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('pointerenter', this.onPointerEnter);\n this.addEventListener('pointerleave', this.onPointerLeave);\n this.addEventListener('focusin', this.onFocusIn);\n this.addEventListener('focusout', this.onFocusOut);\n if (this.hasUpdated) {\n this.attach();\n }\n }\n\n disconnectedCallback(): void {\n this.detach();\n this.removeEventListener('pointerenter', this.onPointerEnter);\n this.removeEventListener('pointerleave', this.onPointerLeave);\n this.removeEventListener('focusin', this.onFocusIn);\n this.removeEventListener('focusout', this.onFocusOut);\n clearTimeout(this.hideTimer);\n this.hideTimer = 0;\n super.disconnectedCallback();\n }\n\n firstUpdated(): void {\n this.bindInteractions();\n this.attach();\n }\n\n updated(changed: PropertyValues): void {\n if (changed.has('autoHide')) {\n clearTimeout(this.hideTimer);\n this.hideTimer = 0;\n this.toggleAttribute('data-idle', this.autoHide && !this.held);\n }\n if (changed.has('for')) {\n this.attach();\n return;\n }\n if (\n changed.has('orientation') ||\n changed.has('mode') ||\n changed.has('itemSelector') ||\n changed.has('hideWhenFits') ||\n changed.has('disabled') ||\n changed.has('label')\n ) {\n this.schedule(true);\n }\n }\n\n render(): TemplateResult {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n base: true,\n 'base--track': !this.segOn,\n 'base--disabled': this.disabled,\n 'base--rtl': this.rtl && this.resolvedDir === 'horizontal',\n })}\n >\n <div part=\"track\" class=\"track\">\n <div class=\"segments\"></div>\n <div\n part=\"viewport\"\n class=\"viewport\"\n role=\"scrollbar\"\n tabindex=${this.disabled ? -1 : 0}\n aria-controls=${this.for}\n aria-orientation=${this.resolvedDir}\n aria-label=${this.label}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=\"0\"\n ></div>\n </div>\n </div>\n `;\n }\n\n // --- autoHide -------------------------------------------------------------\n\n private get held(): boolean {\n return this.hovered || this.focused || this.drag !== null;\n }\n\n /** Shows an auto-hidden minimap and restarts the countdown to hiding it. */\n private reveal(): void {\n if (!this.autoHide) return;\n this.removeAttribute('data-idle');\n this.queueHide();\n }\n\n private queueHide(): void {\n clearTimeout(this.hideTimer);\n this.hideTimer = 0;\n if (!this.autoHide) return;\n this.hideTimer = window.setTimeout(() => {\n this.hideTimer = 0;\n if (this.autoHide && !this.held) this.setAttribute('data-idle', '');\n }, Math.max(0, this.hideDelay));\n }\n\n // --- attach / detach ------------------------------------------------------\n\n private resolveTarget(): HTMLElement | null {\n if (!this.for) return null;\n const root = this.getRootNode() as Document | ShadowRoot;\n if (root instanceof Document) {\n return root.getElementById(this.for);\n }\n const shadow = root as ShadowRoot;\n if (typeof shadow.getElementById === 'function') {\n return shadow.getElementById(this.for) as HTMLElement | null;\n }\n return shadow.querySelector<HTMLElement>(`#${CSS.escape(this.for)}`);\n }\n\n private attach(): void {\n this.detach();\n const el = this.resolveTarget();\n this.toggleAttribute('data-unresolved', !el);\n if (!el) {\n if (!this.retried && this.for) {\n this.retried = true;\n this.retryRaf = requestAnimationFrame(() => {\n this.retryRaf = 0;\n this.attach();\n });\n } else if (this.for) {\n this.retried = false;\n // eslint-disable-next-line no-console\n console.warn(\n `nile-minimap: no element with id \"${this.for}\" found in the minimap's root node.`\n );\n }\n return;\n }\n this.retried = false;\n this.target = el;\n\n this.ro = new ResizeObserver(() => this.schedule(true));\n this.mo = new MutationObserver(() => this.schedule(true));\n this.ro.observe(el);\n this.ro.observe(this);\n this.mo.observe(el, { childList: true, subtree: true });\n el.addEventListener('scroll', this.onScroll, { passive: true });\n\n // Defer the first measure out of the Lit update lifecycle: attach() runs\n // synchronously from firstUpdated()/updated(), and layout() sets @state\n // (resolvedDir) and calls requestUpdate(), which otherwise triggers the\n // dev-mode \"scheduled an update after an update completed\" warning.\n this.schedule(true);\n }\n\n private detach(): void {\n if (this.raf) {\n cancelAnimationFrame(this.raf);\n this.raf = 0;\n }\n if (this.retryRaf) {\n cancelAnimationFrame(this.retryRaf);\n this.retryRaf = 0;\n }\n if (this.dragRaf) {\n cancelAnimationFrame(this.dragRaf);\n this.dragRaf = 0;\n }\n this.ro?.disconnect();\n this.mo?.disconnect();\n this.ro = null;\n this.mo = null;\n this.observed.clear();\n if (this.target) {\n this.target.removeEventListener('scroll', this.onScroll);\n }\n this.target = null;\n this.drag = null;\n this.full = false;\n }\n\n // --- scheduling -----------------------------------------------------------\n\n private schedule(full: boolean): void {\n if (full) this.full = true;\n if (this.raf) return;\n this.raf = requestAnimationFrame(() => {\n this.raf = 0;\n // The held element may have been re-rendered (e.g. *ngIf): re-resolve.\n if (this.target && !this.target.isConnected) {\n this.attach();\n return;\n }\n const needsLayout = this.full;\n this.full = false;\n if (needsLayout) this.layout();\n else this.refresh();\n });\n }\n\n // --- measurement ----------------------------------------------------------\n\n private layout(): void {\n const t = this.target;\n if (!t) return;\n\n let dir: NileMinimapAxis;\n if (this.orientation === 'auto') {\n const vOver = t.scrollHeight - t.clientHeight > 1;\n const hOver = t.scrollWidth - t.clientWidth > 1;\n dir = !hOver && vOver ? 'vertical' : 'horizontal';\n } else {\n dir = this.orientation;\n }\n this.resolvedDir = dir;\n this.axis = AXES[dir];\n this.rtl = dir === 'horizontal' && getComputedStyle(t).direction === 'rtl';\n\n const a = this.axis;\n const el = t as unknown as Record<string, number>;\n const size = el[a.size];\n const client = el[a.len];\n const over = size - client > 1;\n\n if (over !== this.overflowing) {\n this.overflowing = over;\n this.emit(\n 'nile-overflow-change',\n { overflowing: over, orientation: dir },\n true,\n true,\n false\n );\n }\n\n // hideWhenFits toggles an internal attribute; never the consumer's [hidden].\n if (this.hideWhenFits && !over) {\n this.setAttribute('data-fit', '');\n } else {\n this.removeAttribute('data-fit');\n }\n if (dir === 'vertical') this.setAttribute('data-vertical', '');\n else this.removeAttribute('data-vertical');\n\n const items =\n this.mode === 'segments'\n ? Array.from(t.querySelectorAll<HTMLElement>(this.itemSelector))\n : [];\n\n // Keep the per-item ResizeObserver set in sync without triggering loops.\n for (const old of Array.from(this.observed)) {\n if (!items.includes(old as HTMLElement)) {\n this.ro?.unobserve(old);\n this.observed.delete(old);\n }\n }\n for (const it of items) {\n if (!this.observed.has(it)) {\n this.ro?.observe(it);\n this.observed.add(it);\n }\n }\n\n const tr = t.getBoundingClientRect() as unknown as Record<string, number>;\n const scrollPos = el[a.pos];\n this.geo = items.map(it => {\n const r = it.getBoundingClientRect() as unknown as Record<string, number>;\n return {\n start: r[a.rectStart] - tr[a.rectStart] - el[a.border] + scrollPos,\n len: r[a.rectExt],\n };\n });\n\n const trackLen = (this.trackEl as unknown as Record<string, number>)[a.len];\n const scale = size ? trackLen / size : 0;\n const dense =\n this.geo.length > MAX_ITEMS ||\n this.geo.some(g => g.len * scale < MIN_SEG);\n this.segOn = this.mode === 'segments' && this.geo.length > 0 && !dense;\n\n this.renderSegments(scale);\n this.refresh();\n }\n\n private renderSegments(scale: number): void {\n const segs = this.segsEl;\n if (!segs) return;\n if (!this.segOn) {\n segs.textContent = '';\n this.requestUpdate();\n return;\n }\n while (segs.children.length < this.geo.length) {\n const d = document.createElement('div');\n d.className = 'segment';\n d.setAttribute('part', 'segment');\n segs.appendChild(d);\n }\n while (segs.children.length > this.geo.length) {\n segs.lastChild?.remove();\n }\n this.geo.forEach((g, i) => {\n const s = (segs.children[i] as HTMLElement).style;\n s.setProperty('--s', `${(g.start * scale).toFixed(2)}px`);\n s.setProperty('--l', `${(g.len * scale).toFixed(2)}px`);\n });\n this.requestUpdate();\n }\n\n private refresh(): void {\n const t = this.target;\n if (!t) return;\n const a = this.axis;\n const el = t as unknown as Record<string, number>;\n const size = el[a.size];\n const client = el[a.len];\n const maxScroll = Math.max(0, size - client);\n const trackLen = (this.trackEl as unknown as Record<string, number>)[a.len];\n\n let vpLen = size\n ? Math.max(MIN_THUMB, (trackLen * client) / size)\n : trackLen;\n vpLen = Math.min(vpLen, trackLen);\n const pos = Math.abs(el[a.pos]);\n const ratio = maxScroll ? Math.min(1, Math.max(0, pos / maxScroll)) : 0;\n const vpStart = ratio * (trackLen - vpLen);\n\n this.contentSize = size;\n this.clientSize = client;\n this.maxScroll = maxScroll;\n this.trackLen = trackLen;\n this.vpLen = vpLen;\n\n const vp = this.viewport;\n if (vp) {\n vp.style.setProperty('--vs', `${vpStart.toFixed(2)}px`);\n vp.style.setProperty('--vl', `${vpLen.toFixed(2)}px`);\n vp.setAttribute('aria-orientation', this.resolvedDir);\n vp.setAttribute('aria-label', this.label);\n vp.setAttribute('aria-controls', this.for);\n vp.setAttribute('aria-valuenow', String(Math.round(ratio * 100)));\n if (this.disabled) vp.setAttribute('aria-disabled', 'true');\n else vp.removeAttribute('aria-disabled');\n\n let valueText = '';\n if (this.segOn) {\n const visible: number[] = [];\n this.geo.forEach((g, i) => {\n if (g.start + g.len > pos + 1 && g.start < pos + client - 1) {\n visible.push(i + 1);\n }\n });\n if (visible.length) {\n valueText = this.formatValueText(\n visible[0],\n visible[visible.length - 1],\n this.geo.length\n );\n }\n }\n if (valueText) vp.setAttribute('aria-valuetext', valueText);\n else vp.removeAttribute('aria-valuetext');\n }\n\n if (this.pending !== null && Math.abs(pos - this.pending) < 2) {\n this.pending = null;\n }\n }\n\n // --- navigation -----------------------------------------------------------\n\n private go(rawPos: number, source: NileMinimapSource, smooth: boolean): void {\n const t = this.target;\n if (!t) return;\n const a = this.axis;\n const el = t as unknown as Record<string, number>;\n const max = el[a.size] - el[a.len];\n const pos = Math.max(0, Math.min(max, rawPos));\n\n const ev = this.emit(\n 'nile-navigate',\n {\n position: Math.round(pos),\n ratio: max ? Number((pos / max).toFixed(3)) : 0,\n source,\n orientation: this.resolvedDir,\n },\n true,\n true,\n true\n );\n if (ev.defaultPrevented) return;\n\n const sm = smooth && this.smooth && !this.reduceMotion.matches;\n this.pending = sm ? pos : null;\n this.pendingAt = performance.now();\n const signed = this.rtl ? -pos : pos;\n t.scrollTo({ [a.scrollKey]: signed, behavior: sm ? 'smooth' : 'auto' });\n }\n\n private cur(): number {\n if (!this.target) return 0;\n if (this.pending !== null && performance.now() - this.pendingAt < 600) {\n return this.pending;\n }\n const el = this.target as unknown as Record<string, number>;\n return Math.abs(el[this.axis.pos]);\n }\n\n private step(dir: number): number {\n const cur = this.cur();\n if (this.segOn && this.geo.length) {\n const inset = this.geo[0].start;\n const stops = this.geo.map(g => Math.max(0, g.start - inset));\n if (dir > 0) {\n const next = stops.find(s => s > cur + 2);\n return next === undefined ? Infinity : next;\n }\n const prev = [...stops].reverse().find(s => s < cur - 2);\n return prev === undefined ? 0 : prev;\n }\n return cur + dir * Math.max(40, this.clientSize * 0.1);\n }\n\n // --- interactions ---------------------------------------------------------\n\n private bindInteractions(): void {\n const vp = this.viewport;\n const track = this.trackEl;\n const { base } = this;\n\n vp.addEventListener('pointerdown', e => {\n if (this.disabled) return;\n e.preventDefault();\n e.stopPropagation();\n try {\n vp.setPointerCapture(e.pointerId);\n } catch {\n // Synthetic or already-released pointers can't be captured; drag still works.\n }\n const el = this.target as unknown as Record<string, number>;\n this.drag = {\n pointer: e[this.axis.client],\n start: this.target ? Math.abs(el[this.axis.pos]) : 0,\n };\n this.base.classList.add('base--drag');\n vp.focus({ preventScroll: true });\n });\n\n vp.addEventListener('pointermove', e => {\n if (!this.drag) return;\n this.lastMove = e;\n if (this.dragRaf) return;\n this.dragRaf = requestAnimationFrame(() => {\n this.dragRaf = 0;\n applyDrag();\n });\n });\n\n const applyDrag = () => {\n if (!this.drag || !this.lastMove) return;\n const room = this.trackLen - this.vpLen;\n if (room <= 0) return;\n const delta = this.lastMove[this.axis.client] - this.drag.pointer;\n this.go(\n this.drag.start + (delta * this.maxScroll) / room,\n 'drag',\n false\n );\n };\n\n const end = () => {\n if (!this.drag) return;\n // Flush a move still waiting for its frame so the release position isn't lost.\n if (this.dragRaf) {\n cancelAnimationFrame(this.dragRaf);\n this.dragRaf = 0;\n applyDrag();\n }\n this.lastMove = null;\n this.drag = null;\n this.base.classList.remove('base--drag');\n this.queueHide();\n };\n vp.addEventListener('pointerup', end);\n vp.addEventListener('pointercancel', end);\n vp.addEventListener('lostpointercapture', end);\n\n track.addEventListener('pointerdown', e => {\n if (e.target === vp || this.disabled || !this.target) return;\n const r = track.getBoundingClientRect() as unknown as Record<\n string,\n number\n >;\n const p = e[this.axis.client] - r[this.axis.rectStart];\n this.go(\n (p / this.trackLen) * this.contentSize - this.clientSize / 2,\n 'click',\n true\n );\n });\n\n base.addEventListener(\n 'wheel',\n e => {\n if (this.disabled || !this.overflowing || !this.target) return;\n let d = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? e.deltaX : e.deltaY;\n if (e.deltaMode === 1) d *= 16;\n else if (e.deltaMode === 2) d *= this.clientSize;\n const el = this.target as unknown as Record<string, number>;\n const cur = Math.abs(el[this.axis.pos]);\n if ((d < 0 && cur <= 0) || (d > 0 && cur >= this.maxScroll - 1)) return;\n e.preventDefault();\n this.pending = null;\n this.go(cur + d, 'wheel', false);\n },\n { passive: false }\n );\n\n vp.addEventListener('keydown', e => {\n if (this.disabled || !this.target) return;\n let n: number | null = null;\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n n = this.step(1);\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n n = this.step(-1);\n break;\n case 'PageDown':\n n = this.cur() + this.clientSize;\n break;\n case 'PageUp':\n n = this.cur() - this.clientSize;\n break;\n case 'Home':\n n = 0;\n break;\n case 'End':\n n = this.maxScroll;\n break;\n default:\n n = null;\n }\n if (n !== null) {\n e.preventDefault();\n this.go(n, 'keyboard', true);\n }\n });\n }\n}\n\nexport default NileMinimap;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-minimap': NileMinimap;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './nile-minimap';
|