@aquera/nile-elements 1.9.7 → 1.9.9
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-249de90a.esm.js → index-289706c7.esm.js} +1 -1
- package/dist/{index-df196058.cjs.js → index-d7e6f1c6.cjs.js} +2 -2
- package/dist/index-d7e6f1c6.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1587 -1276
- package/dist/katex-44476ab4.esm.js +1 -0
- package/dist/katex-f4186f87.cjs.js +2 -0
- package/dist/katex-f4186f87.cjs.js.map +1 -0
- package/dist/nile-color-picker/index.cjs.js +1 -1
- package/dist/nile-color-picker/index.esm.js +1 -1
- package/dist/nile-color-picker/nile-color-picker.cjs.js +1 -1
- package/dist/nile-color-picker/nile-color-picker.cjs.js.map +1 -1
- package/dist/nile-color-picker/nile-color-picker.esm.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +52 -44
- package/dist/nile-virtual-select/renderer.cjs.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
- package/dist/nile-virtual-select/renderer.esm.js +23 -22
- 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/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/keymap.cjs.js +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/math-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/math-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/math-view.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/style-block-view.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/style-block-view.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/style-block-view.esm.js +1 -0
- 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 +1 -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/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/math/katex-renderer.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/math/katex-renderer.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/math/katex-renderer.esm.js +1 -0
- 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 +22 -3
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +7 -6
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.esm.js +33 -54
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.esm.js +83 -95
- package/dist/nile-wysiwyg-editor/types.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/types.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/types.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-item.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/bubble-item.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/bubble-item.esm.js +1 -0
- 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 +23 -15
- 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 +3 -3
- 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/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 +0 -3
- package/dist/nile-wysiwyg-editor/ui/preview.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/preview.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/preview.esm.js +8 -0
- 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 +225 -24
- 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 +9 -9
- 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 +115 -13
- 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 +13 -12
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-color-picker/nile-color-picker.d.ts +1 -0
- package/dist/src/nile-color-picker/nile-color-picker.js +1 -0
- package/dist/src/nile-color-picker/nile-color-picker.js.map +1 -1
- package/dist/src/nile-select/virtual-scroll-helper.js +9 -1
- package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
- package/dist/src/nile-virtual-select/renderer.js +1 -0
- package/dist/src/nile-virtual-select/renderer.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/index.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/index.js +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/index.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js +3 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.d.ts +19 -4
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js +23 -18
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.d.ts +8 -3
- package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js +41 -4
- package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/style-block-view.d.ts +17 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/style-block-view.js +174 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/style-block-view.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js +33 -2
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js +49 -8
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.d.ts +12 -0
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js +76 -8
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/schema.d.ts +2 -0
- package/dist/src/nile-wysiwyg-editor/engine/schema.js +154 -2
- package/dist/src/nile-wysiwyg-editor/engine/schema.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/index.d.ts +5 -0
- package/dist/src/nile-wysiwyg-editor/index.js +3 -0
- package/dist/src/nile-wysiwyg-editor/index.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/math/katex-renderer.d.ts +38 -0
- package/dist/src/nile-wysiwyg-editor/math/katex-renderer.js +40 -0
- package/dist/src/nile-wysiwyg-editor/math/katex-renderer.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +22 -3
- 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 +36 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +125 -8
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js +5 -2
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.d.ts +2 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.d.ts +55 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.js +79 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js +33 -54
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.d.ts +50 -2
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js +158 -102
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/types.d.ts +4 -2
- package/dist/src/nile-wysiwyg-editor/types.js +2 -2
- package/dist/src/nile-wysiwyg-editor/types.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bubble-item.d.ts +48 -0
- package/dist/src/nile-wysiwyg-editor/ui/bubble-item.js +69 -0
- package/dist/src/nile-wysiwyg-editor/ui/bubble-item.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.d.ts +17 -2
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +128 -35
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.d.ts +2 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +4 -3
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +0 -3
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/preview.d.ts +20 -0
- package/dist/src/nile-wysiwyg-editor/ui/preview.js +44 -0
- package/dist/src/nile-wysiwyg-editor/ui/preview.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/source-view.d.ts +35 -3
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js +337 -24
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +9 -0
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.d.ts +13 -2
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +166 -10
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +10 -8
- 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/dist/xml-25c4108a.esm.js +1 -0
- package/dist/xml-90fd974e.cjs.js +2 -0
- package/dist/xml-90fd974e.cjs.js.map +1 -0
- package/package.json +2 -1
- package/rollup.config.js +1 -0
- package/src/index.ts +8 -0
- package/src/nile-color-picker/nile-color-picker.ts +1 -0
- package/src/nile-select/virtual-scroll-helper.ts +9 -1
- package/src/nile-virtual-select/renderer.ts +1 -1
- package/src/nile-wysiwyg-editor/engine/index.ts +1 -0
- package/src/nile-wysiwyg-editor/engine/plugins/embed-view.ts +3 -0
- package/src/nile-wysiwyg-editor/engine/plugins/embeds.ts +26 -20
- package/src/nile-wysiwyg-editor/engine/plugins/math-view.ts +45 -4
- package/src/nile-wysiwyg-editor/engine/plugins/style-block-view.ts +178 -0
- package/src/nile-wysiwyg-editor/engine/plugins/tables.ts +34 -2
- package/src/nile-wysiwyg-editor/engine/pm.test.ts +58 -8
- package/src/nile-wysiwyg-editor/engine/sanitize.ts +71 -8
- package/src/nile-wysiwyg-editor/engine/schema.ts +158 -7
- package/src/nile-wysiwyg-editor/index.ts +5 -0
- package/src/nile-wysiwyg-editor/math/katex-renderer.ts +59 -0
- package/src/nile-wysiwyg-editor/math/katex.d.ts +17 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +22 -3
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.ts +5 -2
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +142 -7
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.ts +2 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar-item.ts +68 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.ts +33 -54
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.ts +202 -108
- package/src/nile-wysiwyg-editor/types.ts +6 -4
- package/src/nile-wysiwyg-editor/ui/bubble-item.ts +60 -0
- package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +147 -40
- package/src/nile-wysiwyg-editor/ui/embed-panel.ts +4 -3
- package/src/nile-wysiwyg-editor/ui/math-panel.ts +0 -3
- package/src/nile-wysiwyg-editor/ui/preview.ts +42 -0
- package/src/nile-wysiwyg-editor/ui/source-view.ts +339 -31
- package/src/nile-wysiwyg-editor/ui/suggest-list.ts +10 -0
- package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +160 -10
- package/src/nile-wysiwyg-editor/ui/table-menu.ts +10 -8
- package/vscode-html-custom-data.json +75 -6
- package/dist/index-df196058.cjs.js.map +0 -1
|
@@ -3,6 +3,7 @@ import { customElement, property } from 'lit/decorators.js';
|
|
|
3
3
|
import NileElement from '../../internal/nile-element';
|
|
4
4
|
import { renderGlyph } from '../../internal/glyph';
|
|
5
5
|
import type { CommandName } from '../engine/commands';
|
|
6
|
+
import '../../nile-lite-tooltip/nile-lite-tooltip';
|
|
6
7
|
|
|
7
8
|
interface TableOp {
|
|
8
9
|
name: CommandName;
|
|
@@ -87,14 +88,15 @@ export class NileWysiwygTableMenu extends NileElement {
|
|
|
87
88
|
<div class="menu" part="table-menu" @mousedown=${(e: Event) => e.preventDefault()}>
|
|
88
89
|
${OPS.map(
|
|
89
90
|
op => html`
|
|
90
|
-
<
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
<nile-lite-tooltip content=${op.label} placement="top">
|
|
92
|
+
<button
|
|
93
|
+
type="button"
|
|
94
|
+
aria-label=${op.label}
|
|
95
|
+
@click=${() => this.emit('wysiwyg-command', { name: op.name })}
|
|
96
|
+
>
|
|
97
|
+
${renderGlyph(op.icon, 16)}
|
|
98
|
+
</button>
|
|
99
|
+
</nile-lite-tooltip>
|
|
98
100
|
`
|
|
99
101
|
)}
|
|
100
102
|
</div>
|
|
@@ -8114,7 +8114,7 @@
|
|
|
8114
8114
|
},
|
|
8115
8115
|
{
|
|
8116
8116
|
"name": "nile-wysiwyg-editor",
|
|
8117
|
-
"description": "WYSIWYG rich text editor powered by ProseMirror.\n\nRequires evergreen browsers: selection inside shadow DOM relies on\n`Selection.getComposedRanges()` (Safari 17+, recent Firefox) or Chrome's\n`shadowRoot.getSelection()`.\n\nEvents:\n\n * `nile-change` {} - Debounced content change. detail: { value, json, content }\n\n * `nile-input` {} - Every document change. detail: { value, json, content }\n\n * `nile-focus` {} - Editor gained focus.\n\n * `nile-blur` {} - Editor lost focus.\n\n * `nile-selection-change` {} - detail: ToolbarState snapshot.\n\n * `nile-image-upload-request` {} - Cancelable. detail: { file, insert(src, alt) }.\nCall preventDefault() and use insert() to fully own the upload.\n\n * `nile-image-upload-error` {} - detail: { file, error } when uploadHandler rejects.\n\n * `nile-mention-query` {} - detail: { trigger, query, provide(items) } for async sources.\n\n * `nile-mention-select` {} - detail: { trigger, key, label } when a mention is inserted.\n\n * `nile-word-count` {} - detail: { words, characters } on every document change.\n\n * `nile-autosave` {} - detail: { value, json, content } on the autosave interval.\n\nAttributes:\n\n * `value` {`string`} - Document content as HTML. Not reflected to the attribute.\n\n * `placeholder` {`string`} - \n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `toolbar` {`string`} - Toolbar config string; `\"none\"` hides the toolbar.\n\n * `bubble-menu` {`boolean`} - Shows a balloon toolbar over text selections.\n\n * `sanitize` {`boolean`} - Sanitizes incoming HTML (value, paste, insertHTML). Leave on.\n\n * `singleline` {`boolean`} - Constrains content to a single paragraph.\n\n * `name` {`string`} - Form field name.\n\n * `required` {`boolean`} - \n\n * `upload-from-computer` {`boolean`} - Shows an \"Upload from computer\" button in the Insert Image dialog. Off by\ndefault (URL-only, like the RTE's default); files can always be added via\ndrag & drop or paste regardless.\n\n * `image-max-file-size` {`number`} - Max upload size (bytes) shown/enforced by the image dialog. Default 2 MB.\n\n * `mentions` - Mention config: trigger character → items, same shape and JSON attribute\nformat as nile-rich-text-editor. For async sources, configure the\ntrigger with an empty array and listen to nile-mention-query.\n\n * `no-slash-commands` {`boolean`} - Disables the \"/\" command menu.\n\n * `no-emoji` {`boolean`} - Disables the \":\" emoji picker.\n\n * `maxlength` {`number`} - Maximum character count; further input is rejected. 0 = unlimited.\n\n * `show-counter` {`boolean`} - Always show the word/character counter footer (implied by maxlength).\n\n * `sticky-toolbar` {`boolean`} - Keeps the toolbar pinned to the viewport while scrolling long content.\n\n * `snippets` {`SnippetConfig[]`} - Reusable snippets surfaced in the \"/\" menu (JSON attribute).\n\n * `merge-fields` {`MergeFieldConfig[]`} - Merge fields offered in the merge-field picker (JSON attribute).\n\n * `templates` {`TemplateConfig[]`} - Content templates offered in the template picker (JSON attribute).\n\n * `autosave-interval` {`number`} - Emit nile-autosave every N ms while the document has changed. 0 = off.\n\n * `paste-as-plain-text` {`boolean`} - When on, every paste drops formatting and inserts plain text.\n\n * `no-markdown-paste` {`boolean`} - Disables Markdown detection on plain-text pastes.\n\n * `no-text-transform` {`boolean`} - Disables typography autocorrect (smart quotes, dashes, (c) → ©).\n\n * `fullscreen` {`boolean`} - Expands the editor to fill the viewport. Esc exits.\n\n * `show-blocks` {`boolean`} - Outlines block boundaries (paragraphs, headings, lists…) while editing.\n\nProperties:\n\n * `formAssociated` {`boolean`} - \n\n * `value` {`string`} - Document content as HTML. Not reflected to the attribute.\n\n * `placeholder` {`string`} - \n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `toolbar` {`string`} - Toolbar config string; `\"none\"` hides the toolbar.\n\n * `bubbleMenu` {`boolean`} - Shows a balloon toolbar over text selections.\n\n * `sanitize` {`boolean`} - Sanitizes incoming HTML (value, paste, insertHTML). Leave on.\n\n * `singleLine` {`boolean`} - Constrains content to a single paragraph.\n\n * `name` {`string`} - Form field name.\n\n * `required` {`boolean`} - \n\n * `uploadHandler` - Async image upload handler. When set, pasted/dropped/picked image files\nare uploaded through it (an \"Uploading…\" placeholder shows meanwhile)\nand the returned src is inserted.\n\n * `allowBase64Images` {`boolean`} - Fallback when no uploadHandler is set and no nile-image-upload-request\nlistener takes over: embed image files as base64 data URLs.\n\n * `uploadFromComputer` {`boolean`} - Shows an \"Upload from computer\" button in the Insert Image dialog. Off by\ndefault (URL-only, like the RTE's default); files can always be added via\ndrag & drop or paste regardless.\n\n * `imageMaxFileSize` {`number`} - Max upload size (bytes) shown/enforced by the image dialog. Default 2 MB.\n\n * `mentions` - Mention config: trigger character → items, same shape and JSON attribute\nformat as nile-rich-text-editor. For async sources, configure the\ntrigger with an empty array and listen to nile-mention-query.\n\n * `noSlashCommands` {`boolean`} - Disables the \"/\" command menu.\n\n * `noEmoji` {`boolean`} - Disables the \":\" emoji picker.\n\n * `maxLength` {`number`} - Maximum character count; further input is rejected. 0 = unlimited.\n\n * `showCounter` {`boolean`} - Always show the word/character counter footer (implied by maxlength).\n\n * `stickyToolbar` {`boolean`} - Keeps the toolbar pinned to the viewport while scrolling long content.\n\n * `snippets` {`SnippetConfig[]`} - Reusable snippets surfaced in the \"/\" menu (JSON attribute).\n\n * `mergeFields` {`MergeFieldConfig[]`} - Merge fields offered in the merge-field picker (JSON attribute).\n\n * `templates` {`TemplateConfig[]`} - Content templates offered in the template picker (JSON attribute).\n\n * `mathRenderer` - Renders a math node's LaTeX to HTML (KaTeX/MathJax/MathML). When unset,\nthe raw LaTeX is shown. Same trust level as uploadHandler — output is\ninserted as HTML.\n\n * `autosaveInterval` {`number`} - Emit nile-autosave every N ms while the document has changed. 0 = off.\n\n * `pasteAsPlainText` {`boolean`} - When on, every paste drops formatting and inserts plain text.\n\n * `noMarkdownPaste` {`boolean`} - Disables Markdown detection on plain-text pastes.\n\n * `noTextTransform` {`boolean`} - Disables typography autocorrect (smart quotes, dashes, (c) → ©).\n\n * `fullscreen` {`boolean`} - Expands the editor to fill the viewport. Esc exits.\n\n * `showBlocks` {`boolean`} - Outlines block boundaries (paragraphs, headings, lists…) while editing.\n\n * `toolbarState` {`ToolbarState | undefined`} - \n\n * `hasFocus` {`boolean`} - \n\n * `sourceMode` {`boolean`} - \n\n * `counter` {`{ words: number; characters: number; }`} - \n\n * `insertMenuMode` {`\"template\" | \"merge\" | null`} - Which list the shared insert-menu is showing, if open.\n\n * `baseEl` {`HTMLElement`} - \n\n * `toolbarEl` {`HTMLElement | undefined`} - \n\n * `surfaceEl` {`HTMLElement`} - \n\n * `linkEditorEl` - \n\n * `bubbleMenuEl` - \n\n * `imagePanelEl` - \n\n * `tableMenuEl` - \n\n * `suggestListEl` - \n\n * `findBarEl` - \n\n * `sourceViewEl` - \n\n * `embedPanelEl` - \n\n * `bookmarkPanelEl` - \n\n * `codeMenuEl` - \n\n * `shortcutHelpEl` - \n\n * `imageMenuEl` - \n\n * `embedMenuEl` - \n\n * `specialCharsEl` - \n\n * `emojiPickerEl` - \n\n * `insertMenuEl` - \n\n * `mathPanelEl` - \n\n * `markdownPanelEl` - \n\n * `view` - \n\n * `mentionMatch` {`SuggestionMatch | null`} - \n\n * `slashMatch` {`SuggestionMatch | null`} - \n\n * `emojiMatch` {`SuggestionMatch | null`} - \n\n * `activeSuggestSource` {`\"mention\" | \"slash\" | \"emoji\" | null`} - \n\n * `suggestDismissed` {`string | null`} - \n\n * `mentionQueryToken` {`string`} - \n\n * `autosaveTimer` - \n\n * `lastAutosaveValue` {`string`} - \n\n * `internals` - \n\n * `defaultValue` {`string`} - \n\n * `syncingValue` {`boolean`} - \n\n * `changeTimer` - \n\n * `pendingChange` {`boolean`} - \n\n * `previousBodyOverflow` {`string | null`} - Body overflow value before fullscreen locked it; null = not locked.\n\n * `contentRoot` {`HTMLElement | null`} - The live, styled content element used as the source for exports.\n\n * `pmView` - The underlying ProseMirror EditorView. Advanced escape hatch.\n\n * `json` - Document as ProseMirror JSON.\n\n * `override` - \n\n * `floatingPanels` {`({ open: boolean; } | undefined)[]`} - The floating insert panels that should dismiss on outside interaction.\n\n * `onOutsidePointerDown` - Closes any open insert panel when the pointer goes down outside of it —\nwhether elsewhere in the editor (e.g. the content area) or off the widget.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8117
|
+
"description": "WYSIWYG rich text editor powered by ProseMirror.\n\nRequires evergreen browsers: selection inside shadow DOM relies on\n`Selection.getComposedRanges()` (Safari 17+, recent Firefox) or Chrome's\n`shadowRoot.getSelection()`.\n\nEvents:\n\n * `nile-change` {} - Debounced content change. detail: { value, json, content }\n\n * `nile-input` {} - Every document change. detail: { value, json, content }\n\n * `nile-focus` {} - Editor gained focus.\n\n * `nile-blur` {} - Editor lost focus.\n\n * `nile-selection-change` {} - detail: ToolbarState snapshot.\n\n * `nile-image-upload-request` {} - Cancelable. detail: { file, insert(src, alt) }.\nCall preventDefault() and use insert() to fully own the upload.\n\n * `nile-image-upload-error` {} - detail: { file, error } when uploadHandler rejects.\n\n * `nile-mention-query` {} - detail: { trigger, query, provide(items) } for async sources.\n\n * `nile-mention-select` {} - detail: { trigger, key, label } when a mention is inserted.\n\n * `nile-word-count` {} - detail: { words, characters } on every document change.\n\n * `nile-autosave` {} - detail: { value, json, content } on the autosave interval.\n\nAttributes:\n\n * `value` {`string`} - Document content as HTML. Not reflected to the attribute.\n\n * `placeholder` {`string`} - \n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `toolbar` {`string`} - Toolbar config string; `\"none\"` hides the toolbar.\n\n * `bubble-menu` {`boolean`} - Shows a balloon toolbar over text selections.\n\n * `sanitize` {`boolean`} - Sanitizes incoming HTML (value, paste, insertHTML). Leave on.\n\n * `singleline` {`boolean`} - Constrains content to a single paragraph.\n\n * `name` {`string`} - Form field name.\n\n * `required` {`boolean`} - \n\n * `upload-from-computer` {`boolean`} - Shows an \"Upload from computer\" button in the Insert Image dialog. Off by\ndefault (URL-only, like the RTE's default); files can always be added via\ndrag & drop or paste regardless.\n\n * `image-max-file-size` {`number`} - Max upload size (bytes) shown/enforced by the image dialog. Default 2 MB.\n\n * `mentions` - Mention config: trigger character → items, same shape and JSON attribute\nformat as nile-rich-text-editor. For async sources, configure the\ntrigger with an empty array and listen to nile-mention-query.\n\n * `no-slash-commands` {`boolean`} - Disables the \"/\" command menu.\n\n * `no-emoji` {`boolean`} - Disables the \":\" emoji picker.\n\n * `maxlength` {`number`} - Maximum character count; further input is rejected. 0 = unlimited.\n\n * `show-counter` {`boolean`} - Always show the word/character counter footer (implied by maxlength).\n\n * `sticky-toolbar` {`boolean`} - Keeps the toolbar pinned to the viewport while scrolling long content.\n\n * `snippets` {`SnippetConfig[]`} - Reusable snippets surfaced in the \"/\" menu (JSON attribute).\n\n * `merge-fields` {`MergeFieldConfig[]`} - Merge fields offered in the merge-field picker (JSON attribute).\n\n * `templates` {`TemplateConfig[]`} - Content templates offered in the template picker (JSON attribute).\n\n * `autosave-interval` {`number`} - Emit nile-autosave every N ms while the document has changed. 0 = off.\n\n * `paste-as-plain-text` {`boolean`} - When on, every paste drops formatting and inserts plain text.\n\n * `no-markdown-paste` {`boolean`} - Disables Markdown detection on plain-text pastes.\n\n * `no-text-transform` {`boolean`} - Disables typography autocorrect (smart quotes, dashes, (c) → ©).\n\n * `fullscreen` {`boolean`} - Expands the editor to fill the viewport. Esc exits.\n\n * `show-blocks` {`boolean`} - Outlines block boundaries (paragraphs, headings, lists…) while editing.\n\nProperties:\n\n * `formAssociated` {`boolean`} - \n\n * `value` {`string`} - Document content as HTML. Not reflected to the attribute.\n\n * `placeholder` {`string`} - \n\n * `disabled` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `toolbar` {`string`} - Toolbar config string; `\"none\"` hides the toolbar.\n\n * `authoredToolbar` {`AuthoredToolbarItem[] | undefined`} - Toolbar built from authored `<nile-wysiwyg-toolbar-item>` light-DOM\nchildren. When present it takes precedence over the `toolbar` string.\n\n * `authoredBubble` {`AuthoredToolbarItem[] | undefined`} - Bubble menu built from authored `<nile-wysiwyg-bubble-item>` light-DOM\nchildren. When present it replaces the built-in bold/italic/underline/\nstrike/link set.\n\n * `toolbarObserver` {`MutationObserver | undefined`} - Watches authored toolbar/bubble children so edits re-render them.\n\n * `bubbleMenu` {`boolean`} - Shows a balloon toolbar over text selections.\n\n * `sanitize` {`boolean`} - Sanitizes incoming HTML (value, paste, insertHTML). Leave on.\n\n * `singleLine` {`boolean`} - Constrains content to a single paragraph.\n\n * `name` {`string`} - Form field name.\n\n * `required` {`boolean`} - \n\n * `uploadHandler` - Async image upload handler. When set, pasted/dropped/picked image files\nare uploaded through it (an \"Uploading…\" placeholder shows meanwhile)\nand the returned src is inserted.\n\n * `allowBase64Images` {`boolean`} - Fallback when no uploadHandler is set and no nile-image-upload-request\nlistener takes over: embed image files as base64 data URLs.\n\n * `uploadFromComputer` {`boolean`} - Shows an \"Upload from computer\" button in the Insert Image dialog. Off by\ndefault (URL-only, like the RTE's default); files can always be added via\ndrag & drop or paste regardless.\n\n * `imageMaxFileSize` {`number`} - Max upload size (bytes) shown/enforced by the image dialog. Default 2 MB.\n\n * `mentions` - Mention config: trigger character → items, same shape and JSON attribute\nformat as nile-rich-text-editor. For async sources, configure the\ntrigger with an empty array and listen to nile-mention-query.\n\n * `noSlashCommands` {`boolean`} - Disables the \"/\" command menu.\n\n * `noEmoji` {`boolean`} - Disables the \":\" emoji picker.\n\n * `maxLength` {`number`} - Maximum character count; further input is rejected. 0 = unlimited.\n\n * `showCounter` {`boolean`} - Always show the word/character counter footer (implied by maxlength).\n\n * `stickyToolbar` {`boolean`} - Keeps the toolbar pinned to the viewport while scrolling long content.\n\n * `snippets` {`SnippetConfig[]`} - Reusable snippets surfaced in the \"/\" menu (JSON attribute).\n\n * `mergeFields` {`MergeFieldConfig[]`} - Merge fields offered in the merge-field picker (JSON attribute).\n\n * `templates` {`TemplateConfig[]`} - Content templates offered in the template picker (JSON attribute).\n\n * `mathRenderer` - Renders a math node's LaTeX to HTML (KaTeX/MathJax/MathML). When unset,\nthe raw LaTeX is shown. Same trust level as uploadHandler — output is\ninserted as HTML.\n\n * `autosaveInterval` {`number`} - Emit nile-autosave every N ms while the document has changed. 0 = off.\n\n * `pasteAsPlainText` {`boolean`} - When on, every paste drops formatting and inserts plain text.\n\n * `noMarkdownPaste` {`boolean`} - Disables Markdown detection on plain-text pastes.\n\n * `noTextTransform` {`boolean`} - Disables typography autocorrect (smart quotes, dashes, (c) → ©).\n\n * `fullscreen` {`boolean`} - Expands the editor to fill the viewport. Esc exits.\n\n * `showBlocks` {`boolean`} - Outlines block boundaries (paragraphs, headings, lists…) while editing.\n\n * `toolbarState` {`ToolbarState | undefined`} - \n\n * `hasFocus` {`boolean`} - \n\n * `sourceMode` {`boolean`} - \n\n * `counter` {`{ words: number; characters: number; }`} - \n\n * `insertMenuMode` {`\"template\" | \"merge\" | null`} - Which list the shared insert-menu is showing, if open.\n\n * `baseEl` {`HTMLElement`} - \n\n * `toolbarEl` {`HTMLElement | undefined`} - \n\n * `surfaceEl` {`HTMLElement`} - \n\n * `linkEditorEl` - \n\n * `bubbleMenuEl` - \n\n * `imagePanelEl` - \n\n * `tableMenuEl` - \n\n * `suggestListEl` - \n\n * `findBarEl` - \n\n * `sourceViewEl` - \n\n * `embedPanelEl` - \n\n * `bookmarkPanelEl` - \n\n * `codeMenuEl` - \n\n * `shortcutHelpEl` - \n\n * `imageMenuEl` - \n\n * `embedMenuEl` - \n\n * `specialCharsEl` - \n\n * `emojiPickerEl` - \n\n * `insertMenuEl` - \n\n * `mathPanelEl` - \n\n * `markdownPanelEl` - \n\n * `view` - \n\n * `mentionMatch` {`SuggestionMatch | null`} - \n\n * `slashMatch` {`SuggestionMatch | null`} - \n\n * `emojiMatch` {`SuggestionMatch | null`} - \n\n * `activeSuggestSource` {`\"mention\" | \"slash\" | \"emoji\" | null`} - \n\n * `suggestDismissed` {`string | null`} - \n\n * `mentionQueryToken` {`string`} - \n\n * `autosaveTimer` - \n\n * `lastAutosaveValue` {`string`} - \n\n * `internals` - \n\n * `defaultValue` {`string`} - \n\n * `syncingValue` {`boolean`} - \n\n * `changeTimer` - \n\n * `pendingChange` {`boolean`} - \n\n * `previousBodyOverflow` {`string | null`} - Body overflow value before fullscreen locked it; null = not locked.\n\n * `painterDragActive` {`boolean`} - True while a drag-selection is in progress with the format painter armed.\nSuppresses the mid-drag auto-apply in {@link handleTransaction} so the\ncopied formatting lands on the final, complete selection (on mouse-up).\n\n * `onPainterPointerDown` - \n\n * `onPainterPointerUp` - \n\n * `contentRoot` {`HTMLElement | null`} - The live, styled content element used as the source for exports.\n\n * `pmView` - The underlying ProseMirror EditorView. Advanced escape hatch.\n\n * `json` - Document as ProseMirror JSON.\n\n * `override` - \n\n * `floatingPanels` {`({ open: boolean; } | undefined)[]`} - The floating insert panels that should dismiss on outside interaction.\n\n * `onOutsidePointerDown` - Closes any open insert panel when the pointer goes down outside of it —\nwhether elsewhere in the editor (e.g. the content area) or off the widget.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8118
8118
|
"attributes": [
|
|
8119
8119
|
{
|
|
8120
8120
|
"name": "value",
|
|
@@ -8286,9 +8286,37 @@
|
|
|
8286
8286
|
}
|
|
8287
8287
|
]
|
|
8288
8288
|
},
|
|
8289
|
+
{
|
|
8290
|
+
"name": "nile-wysiwyg-toolbar-item",
|
|
8291
|
+
"description": "Declarative, light-DOM marker for a single toolbar control.\n\nAuthor these inside a `<nile-wysiwyg-toolbar>` container within a\n`<nile-wysiwyg-editor>` to build the toolbar by hand instead of (or in\naddition to) the `toolbar` config string:\n\n```html\n<nile-wysiwyg-editor>\n <nile-wysiwyg-toolbar>\n <nile-wysiwyg-toolbar-item name=\"bold\" label=\"Bold\"></nile-wysiwyg-toolbar-item>\n <nile-wysiwyg-toolbar-item name=\"italic\"></nile-wysiwyg-toolbar-item>\n <nile-wysiwyg-toolbar-item divider></nile-wysiwyg-toolbar-item>\n <nile-wysiwyg-toolbar-item name=\"heading\"></nile-wysiwyg-toolbar-item>\n <!-- goes into the 3-dot \"more\" menu, wherever it sits in the list -->\n <nile-wysiwyg-toolbar-item name=\"sourceView\" overflow></nile-wysiwyg-toolbar-item>\n </nile-wysiwyg-toolbar>\n</nile-wysiwyg-editor>\n```\n\nThe container is optional — items may also be direct children of the editor.\n\n`name` maps to a built-in control (the same keys the `toolbar` string\naccepts, e.g. `bold`, `italic`, `heading`, `textColor`, `table`). `label`\nand `icon` override that control's built-in tooltip/glyph; set `divider` to\ninsert a group separator, or `overflow` to tuck this control into the\ntoolbar's collapsible 3-dot \"more\" menu.\n\nThe element renders nothing itself — the editor discovers it and renders the\nreal control inside its own shadow DOM.\n\nAttributes:\n\n * `name` {`string`} - Built-in control name — same keys accepted by the `toolbar` string.\n\n * `label` {`string`} - Overrides the control's tooltip / accessible label.\n\n * `icon` {`string`} - Overrides the control's glyph (a `nile-glyph` name).\n\n * `divider` {`boolean`} - Renders a group divider instead of a control.\n\n * `overflow` {`boolean`} - When set, this control is tucked into the toolbar's collapsible 3-dot\n\"more\" menu instead of the main bar — regardless of where it sits among\nthe items.\n\nProperties:\n\n * `name` {`string`} - Built-in control name — same keys accepted by the `toolbar` string.\n\n * `label` {`string`} - Overrides the control's tooltip / accessible label.\n\n * `icon` {`string`} - Overrides the control's glyph (a `nile-glyph` name).\n\n * `divider` {`boolean`} - Renders a group divider instead of a control.\n\n * `overflow` {`boolean`} - When set, this control is tucked into the toolbar's collapsible 3-dot\n\"more\" menu instead of the main bar — regardless of where it sits among\nthe items.",
|
|
8292
|
+
"attributes": [
|
|
8293
|
+
{
|
|
8294
|
+
"name": "name",
|
|
8295
|
+
"description": "`name` {`string`} - Built-in control name — same keys accepted by the `toolbar` string.\n\nProperty: name\n\nDefault: "
|
|
8296
|
+
},
|
|
8297
|
+
{
|
|
8298
|
+
"name": "label",
|
|
8299
|
+
"description": "`label` {`string`} - Overrides the control's tooltip / accessible label.\n\nProperty: label\n\nDefault: "
|
|
8300
|
+
},
|
|
8301
|
+
{
|
|
8302
|
+
"name": "icon",
|
|
8303
|
+
"description": "`icon` {`string`} - Overrides the control's glyph (a `nile-glyph` name).\n\nProperty: icon\n\nDefault: "
|
|
8304
|
+
},
|
|
8305
|
+
{
|
|
8306
|
+
"name": "divider",
|
|
8307
|
+
"description": "`divider` {`boolean`} - Renders a group divider instead of a control.\n\nProperty: divider\n\nDefault: false",
|
|
8308
|
+
"valueSet": "v"
|
|
8309
|
+
},
|
|
8310
|
+
{
|
|
8311
|
+
"name": "overflow",
|
|
8312
|
+
"description": "`overflow` {`boolean`} - When set, this control is tucked into the toolbar's collapsible 3-dot\n\"more\" menu instead of the main bar — regardless of where it sits among\nthe items.\n\nProperty: overflow\n\nDefault: false",
|
|
8313
|
+
"valueSet": "v"
|
|
8314
|
+
}
|
|
8315
|
+
]
|
|
8316
|
+
},
|
|
8289
8317
|
{
|
|
8290
8318
|
"name": "nile-wysiwyg-toolbar",
|
|
8291
|
-
"description": "Config-driven toolbar. Renders from a single immutable ToolbarState\nsnapshot; every interaction is dispatched to the host as a\n`wysiwyg-command` event — the toolbar never touches the editor directly.\n\nAttributes:\n\n * `config` {`string`} - Space-separated item names; `|` inserts a divider.\n\n * `disabled` {`boolean`} - \n\nProperties:\n\n * `config` {`string`} - Space-separated item names; `|` inserts a divider.\n\n * `disabled` {`boolean`} - \n\n * `toolbarState` {`ToolbarState | undefined`} - \n\n * `openMenu` {`string | null`} - Which dropdown/color panel is open (item name), if any.\n\n * `
|
|
8319
|
+
"description": "Config-driven toolbar. Renders from a single immutable ToolbarState\nsnapshot; every interaction is dispatched to the host as a\n`wysiwyg-command` event — the toolbar never touches the editor directly.\n\nAttributes:\n\n * `config` {`string`} - Space-separated item names; `|` inserts a divider.\n\n * `disabled` {`boolean`} - \n\nProperties:\n\n * `config` {`string`} - Space-separated item names; `|` inserts a divider.\n\n * `items` {`AuthoredToolbarItem[] | undefined`} - Structured item list authored in light DOM (from\n`<nile-wysiwyg-toolbar-item>` children). When set and non-empty it takes\nprecedence over `config`, and each item may override the built-in\nlabel/icon.\n\n * `disabled` {`boolean`} - \n\n * `toolbarState` {`ToolbarState | undefined`} - \n\n * `openMenu` {`string | null`} - Which dropdown/color panel is open (item name), if any.\n\n * `overflowOpen` {`boolean`} - Whether the overflow (\"more\" / 3-dot) menu panel is open.\n\n * `isAuthoringContainer` {`boolean`} - True when this instance is an author's declarative `<nile-wysiwyg-toolbar>`\ncontainer sitting in an editor's light DOM (holding\n`<nile-wysiwyg-toolbar-item>` children). Such an instance renders nothing\nand wires up no listeners — the editor reads the items and renders the real\ntoolbar in its own shadow DOM. The editor's internal instance lives inside\na shadow root, so `closest` (which stops at shadow boundaries) never\nmatches it; a standalone toolbar on a page has no editor ancestor either.\n\n * `handleOutsideClick` - \n\n * `toggleOverflow` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8292
8320
|
"attributes": [
|
|
8293
8321
|
{
|
|
8294
8322
|
"name": "config",
|
|
@@ -8312,9 +8340,32 @@
|
|
|
8312
8340
|
}
|
|
8313
8341
|
]
|
|
8314
8342
|
},
|
|
8343
|
+
{
|
|
8344
|
+
"name": "nile-wysiwyg-bubble-item",
|
|
8345
|
+
"description": "Declarative, light-DOM marker for a single selection bubble-menu control.\n\nAuthor these as children of `<nile-wysiwyg-editor>` to build the bubble menu\nshown over a text selection by hand, instead of the built-in five\n(bold / italic / underline / strike / link) — the same pattern as\n`<nile-wysiwyg-toolbar-item>`:\n\n```html\n<nile-wysiwyg-editor bubble-menu>\n <nile-wysiwyg-bubble-item name=\"bold\"></nile-wysiwyg-bubble-item>\n <nile-wysiwyg-bubble-item name=\"italic\"></nile-wysiwyg-bubble-item>\n <nile-wysiwyg-bubble-item divider></nile-wysiwyg-bubble-item>\n <nile-wysiwyg-bubble-item name=\"link\" label=\"Add link\"></nile-wysiwyg-bubble-item>\n</nile-wysiwyg-editor>\n```\n\n`name` maps to a built-in control (`bold`, `italic`, `underline`, `strike`,\n`code`, `subscript`, `superscript`, `link`, `bulletList`, `orderedList`,\n`alignLeft`, `alignCenter`, `alignRight`, `clearFormatting`). `label` and\n`icon` override the built-in tooltip/glyph; set `divider` for a separator.\n\nAny other `name` is dispatched as a raw `wysiwyg-command` (so custom editor\ncommands work) as long as an `icon` is supplied.\n\nThe element renders nothing itself — the editor discovers it and renders the\nreal control inside the bubble menu's shadow DOM.\n\nAttributes:\n\n * `name` {`string`} - Built-in control name, or a raw command name when paired with `icon`.\n\n * `label` {`string`} - Overrides the control's tooltip / accessible label.\n\n * `icon` {`string`} - Overrides the control's glyph (a `nile-glyph` name).\n\n * `divider` {`boolean`} - Renders a separator instead of a control.\n\nProperties:\n\n * `name` {`string`} - Built-in control name, or a raw command name when paired with `icon`.\n\n * `label` {`string`} - Overrides the control's tooltip / accessible label.\n\n * `icon` {`string`} - Overrides the control's glyph (a `nile-glyph` name).\n\n * `divider` {`boolean`} - Renders a separator instead of a control.",
|
|
8346
|
+
"attributes": [
|
|
8347
|
+
{
|
|
8348
|
+
"name": "name",
|
|
8349
|
+
"description": "`name` {`string`} - Built-in control name, or a raw command name when paired with `icon`.\n\nProperty: name\n\nDefault: "
|
|
8350
|
+
},
|
|
8351
|
+
{
|
|
8352
|
+
"name": "label",
|
|
8353
|
+
"description": "`label` {`string`} - Overrides the control's tooltip / accessible label.\n\nProperty: label\n\nDefault: "
|
|
8354
|
+
},
|
|
8355
|
+
{
|
|
8356
|
+
"name": "icon",
|
|
8357
|
+
"description": "`icon` {`string`} - Overrides the control's glyph (a `nile-glyph` name).\n\nProperty: icon\n\nDefault: "
|
|
8358
|
+
},
|
|
8359
|
+
{
|
|
8360
|
+
"name": "divider",
|
|
8361
|
+
"description": "`divider` {`boolean`} - Renders a separator instead of a control.\n\nProperty: divider\n\nDefault: false",
|
|
8362
|
+
"valueSet": "v"
|
|
8363
|
+
}
|
|
8364
|
+
]
|
|
8365
|
+
},
|
|
8315
8366
|
{
|
|
8316
8367
|
"name": "nile-wysiwyg-bubble-menu",
|
|
8317
|
-
"description": "Balloon toolbar shown over non-empty selections. The host owns positioning\n(absolute left/top) and visibility; commands bubble up as\n`wysiwyg-command` events, same contract as the main toolbar.\n\nAttributes:\n\n * `open` {`boolean`} - \n\nProperties:\n\n * `open` {`boolean`} - \n\n * `toolbarState` {`ToolbarState | undefined`} - \n\n * `items` {`
|
|
8368
|
+
"description": "Balloon toolbar shown over non-empty selections. The host owns positioning\n(absolute left/top) and visibility; commands bubble up as\n`wysiwyg-command` events, same contract as the main toolbar.\n\nAttributes:\n\n * `open` {`boolean`} - \n\nProperties:\n\n * `open` {`boolean`} - \n\n * `toolbarState` {`ToolbarState | undefined`} - \n\n * `items` {`AuthoredToolbarItem[] | undefined`} - Structured item list authored in light DOM (from\n`<nile-wysiwyg-bubble-item>` children). `'|'` is a separator. Falls back to\n{@link DEFAULT_BUBBLE} when empty.\n\n * `isAuthoringContainer` {`boolean`} - True when this instance is an author's declarative `<nile-wysiwyg-bubble-menu>`\ncontainer in an editor's light DOM (holding `<nile-wysiwyg-bubble-item>`\nchildren). It renders nothing — the editor reads the items and renders the\nreal bubble menu in its own shadow DOM. The editor's internal instance\nlives in a shadow root, so `closest` never matches it.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8318
8369
|
"attributes": [
|
|
8319
8370
|
{
|
|
8320
8371
|
"name": "open",
|
|
@@ -8352,7 +8403,7 @@
|
|
|
8352
8403
|
},
|
|
8353
8404
|
{
|
|
8354
8405
|
"name": "nile-wysiwyg-embed-panel",
|
|
8355
|
-
"description": "Floating embed-insert panel: paste
|
|
8406
|
+
"description": "Floating embed-insert panel: paste any https:// link (YouTube/Vimeo/Loom\nare auto-formatted; anything else embeds as a sandboxed iframe). Styled to\nmatch the image panel (nile-input + nile-button). Emits\n`wysiwyg-embed-apply` detail: { src, provider } and `wysiwyg-embed-cancel`.\n\nAttributes:\n\n * `open` {`boolean`} - \n\nProperties:\n\n * `open` {`boolean`} - \n\n * `urlValue` {`string`} - \n\n * `error` {`string`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8356
8407
|
"attributes": [
|
|
8357
8408
|
{
|
|
8358
8409
|
"name": "open",
|
|
@@ -8497,6 +8548,16 @@
|
|
|
8497
8548
|
}
|
|
8498
8549
|
]
|
|
8499
8550
|
},
|
|
8551
|
+
{
|
|
8552
|
+
"name": "nile-wysiwyg-preview",
|
|
8553
|
+
"description": "Renders sanitized document HTML inside its OWN shadow root. Any author\n`<style>` block in the content is therefore scoped to this element and\ncannot leak into the surrounding source-view / editor chrome (which lives in\na different shadow root). Reuses the editor's content styles so the render\nmatches the live editor. The content wrapper is an `<article>`, not a\n`<div>`, so a blanket `div { … }` rule doesn't paint the wrapper itself.\n\nAttributes:\n\n * `content` {`string`} - Sanitized HTML to render (already run through sanitizeHtml).\n\nProperties:\n\n * `content` {`string`} - Sanitized HTML to render (already run through sanitizeHtml).",
|
|
8554
|
+
"attributes": [
|
|
8555
|
+
{
|
|
8556
|
+
"name": "content",
|
|
8557
|
+
"description": "`content` {`string`} - Sanitized HTML to render (already run through sanitizeHtml).\n\nProperty: content\n\nDefault: "
|
|
8558
|
+
}
|
|
8559
|
+
]
|
|
8560
|
+
},
|
|
8500
8561
|
{
|
|
8501
8562
|
"name": "nile-wysiwyg-shortcut-help",
|
|
8502
8563
|
"description": "Keyboard shortcut reference dialog, opened from the toolbar or Mod-/.\nEmits `wysiwyg-shortcut-help-close` when dismissed (Esc, ✕ or backdrop).\n\nAttributes:\n\n * `open` {`boolean`} - \n\nProperties:\n\n * `open` {`boolean`} - \n\n * `panelEl` {`HTMLElement | undefined`} - \n\n * `previousBodyOverflow` {`string | null`} - Body overflow value before we locked it; null = not locked by us.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
@@ -8510,7 +8571,7 @@
|
|
|
8510
8571
|
},
|
|
8511
8572
|
{
|
|
8512
8573
|
"name": "nile-wysiwyg-source-view",
|
|
8513
|
-
"description": "Raw HTML source editing mode.
|
|
8574
|
+
"description": "Raw HTML source editing mode. A split view: the raw HTML on the left, a\nlive rendered preview on the right, with a draggable divider between them\nand a resizable body. The preview runs the same sanitizer the host applies\non the way back, so what you see is what the document becomes. Emits\n`wysiwyg-source-apply` detail: { html } and `wysiwyg-source-cancel`.\n\nThe code pane is a lightweight editor: a real `<textarea>` for input, with a\nhighlight.js-coloured layer painted behind it and a synced line-number\ngutter. No heavyweight code-editor dependency.\n\nAttributes:\n\n * `value` {`string`} - \n\nProperties:\n\n * `value` {`string`} - \n\n * `textarea` {`HTMLTextAreaElement | undefined`} - \n\n * `highlightEl` {`HTMLElement | undefined`} - \n\n * `linenosEl` {`HTMLElement | undefined`} - \n\n * `bodyEl` {`HTMLElement | undefined`} - \n\n * `draft` {`string`} - Current source text, drives the live preview, highlight and gutter.\n\n * `splitRatio` {`number`} - Fraction of the body width given to the code pane (the rest is preview).\nClamped while dragging the divider.\n\n * `splitDragging` {`boolean`} - Whether the divider is currently being dragged.\n\n * `currentValue` {`string`} - The current (possibly edited) source text — what \"Done\" would apply.\n\n * `highlighted` {`string`} - highlight.js-coloured HTML for the current draft (falls back to escaped).\n\n * `lineCount` {`number`} - \n\n * `startSplitDrag` - Begins a pointer-driven resize of the split divider.\n\n * `resetSplit` - Resets the divider to a 50/50 layout (double-click affordance).\n\n * `onInput` - \n\n * `onScroll` - Keeps the highlight layer and line-number gutter aligned with scroll.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8514
8575
|
"attributes": [
|
|
8515
8576
|
{
|
|
8516
8577
|
"name": "value",
|
|
@@ -8542,12 +8603,20 @@
|
|
|
8542
8603
|
},
|
|
8543
8604
|
{
|
|
8544
8605
|
"name": "nile-wysiwyg-table-picker",
|
|
8545
|
-
"description": "Toolbar item: a table button that opens
|
|
8606
|
+
"description": "Toolbar item: a table button that opens a hover grid which auto-expands as\nthe pointer reaches the last row/column (up to `maxRows`×`maxCols`), plus a\n\"Custom\" rows×cols input for larger tables. Picking a cell or confirming the\ncustom size emits `wysiwyg-command` with `insertTable { rows, cols }`.\n\nAttributes:\n\n * `disabled` {`boolean`} - \n\n * `max-rows` {`number`} - Hard cap on the number of rows selectable via grid or custom input.\n\n * `max-cols` {`number`} - Hard cap on the number of columns selectable via grid or custom input.\n\nProperties:\n\n * `disabled` {`boolean`} - \n\n * `maxRows` {`number`} - Hard cap on the number of rows selectable via grid or custom input.\n\n * `maxCols` {`number`} - Hard cap on the number of columns selectable via grid or custom input.\n\n * `open` {`boolean`} - \n\n * `hoverRows` {`number`} - \n\n * `hoverCols` {`number`} - \n\n * `customRows` {`string`} - \n\n * `customCols` {`string`} - \n\n * `handleOutside` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
|
8546
8607
|
"attributes": [
|
|
8547
8608
|
{
|
|
8548
8609
|
"name": "disabled",
|
|
8549
8610
|
"description": "`disabled` {`boolean`} - \n\nProperty: disabled\n\nDefault: false",
|
|
8550
8611
|
"valueSet": "v"
|
|
8612
|
+
},
|
|
8613
|
+
{
|
|
8614
|
+
"name": "max-rows",
|
|
8615
|
+
"description": "`max-rows` {`number`} - Hard cap on the number of rows selectable via grid or custom input.\n\nProperty: maxRows\n\nDefault: 20"
|
|
8616
|
+
},
|
|
8617
|
+
{
|
|
8618
|
+
"name": "max-cols",
|
|
8619
|
+
"description": "`max-cols` {`number`} - Hard cap on the number of columns selectable via grid or custom input.\n\nProperty: maxCols\n\nDefault: 20"
|
|
8551
8620
|
}
|
|
8552
8621
|
]
|
|
8553
8622
|
},
|