@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
|
@@ -1,137 +1,125 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{html as t,nothing as l}from"lit";import{property as a,state as n,customElement as i}from"lit/decorators.js";import{N as o}from"../../internal/nile-element.esm.js";import{r as s}from"../../internal/glyph.esm.js";import{s as c}from"./nile-wysiwyg-toolbar.css.esm.js";import{D as r}from"../types.esm.js";import"../ui/table-grid-picker.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";const d=["#000000","#444444","#666666","#999999","#cccccc","#eeeeee","#ffffff","#d32f2f","#f44336","#ff9800","#ffeb3b","#4caf50","#2196f3","#3f51b5","#9c27b0","#03a9f4","#00bcd4","#009688","#8bc34a","#cddc39","#ffc107","#ff5722"],b={undo:{kind:"button",command:"undo",label:"Undo (Ctrl+Z)",icon:"undo",disabled:e=>!e.canUndo},redo:{kind:"button",command:"redo",label:"Redo (Ctrl+Y)",icon:"redo",disabled:e=>!e.canRedo},findReplace:{kind:"button",command:"openFind",label:"Find & replace (Ctrl+F)",icon:"ng-text-search"},bold:{kind:"button",command:"bold",label:"Bold (Ctrl+B)",icon:"format_bold",active:e=>e.bold},italic:{kind:"button",command:"italic",label:"Italic (Ctrl+I)",icon:"format_italic",active:e=>e.italic},underline:{kind:"button",command:"underline",label:"Underline (Ctrl+U)",icon:"format_underline",active:e=>e.underline},strike:{kind:"button",command:"strike",label:"Strikethrough",icon:"ng-strikethrough",active:e=>e.strike},subscript:{kind:"button",command:"subscript",label:"Subscript (Ctrl+,)",icon:"ng-subscript",active:e=>e.subscript},superscript:{kind:"button",command:"superscript",label:"Superscript (Ctrl+.)",icon:"ng-superscript",active:e=>e.superscript},code:{kind:"button",command:"code",label:"Inline code",text:"</>",active:e=>e.code},alignLeft:{kind:"button",command:"align",attrs:{align:"left"},label:"Align left",icon:"format_align_left",active:e=>"left"===e.align},alignCenter:{kind:"button",command:"align",attrs:{align:"center"},label:"Align center",icon:"format_align_middle",active:e=>"center"===e.align},alignRight:{kind:"button",command:"align",attrs:{align:"right"},label:"Align right",icon:"format_align_right",active:e=>"right"===e.align},alignJustify:{kind:"button",command:"align",attrs:{align:"justify"},label:"Justify",icon:"format_align_justify",active:e=>"justify"===e.align},bulletList:{kind:"button",command:"bulletList",label:"Bulleted list",icon:"format_list_bulleted",active:e=>e.inBulletList},orderedList:{kind:"button",command:"orderedList",label:"Numbered list",icon:"format_list_numbered",active:e=>e.inOrderedList},taskList:{kind:"button",command:"taskList",label:"Checklist",icon:"ng-list-checks",active:e=>e.inTaskList},indent:{kind:"button",command:"indent",label:"Increase indent (Ctrl+])",icon:"ng-list-indent-increase",disabled:e=>e.inCodeBlock},outdent:{kind:"button",command:"outdent",label:"Decrease indent (Ctrl+[)",icon:"ng-list-indent-decrease",disabled:e=>!(e.inBulletList||e.inOrderedList||e.inTaskList||e.inBlockquote||0!==e.blockIndent)},listStyle:{kind:"select",label:"List style",options:e=>e?.inOrderedList?[{value:"",label:"1, 2, 3"},{value:"lower-alpha",label:"a, b, c"},{value:"upper-alpha",label:"A, B, C"},{value:"lower-roman",label:"i, ii, iii"},{value:"upper-roman",label:"I, II, III"},{value:"multilevel",label:"1.1, 1.1.1"}]:[{value:"",label:"• Disc"},{value:"circle",label:"○ Circle"},{value:"square",label:"▪ Square"}],value:e=>e.listStyle??"",command:e=>({name:"setListStyle",attrs:{style:e||null}}),disabled:e=>!e.inBulletList&&!e.inOrderedList},blockquote:{kind:"button",command:"blockquote",label:"Blockquote",text:"❝",active:e=>e.inBlockquote},link:{kind:"button",command:"openLink",label:"Link (Ctrl+K)",icon:"link_2",active:e=>e.linkActive},bookmark:{kind:"button",command:"openBookmark",label:"Insert bookmark (in-text anchor)",icon:"ng-bookmark"},horizontalRule:{kind:"button",command:"horizontalRule",label:"Horizontal rule",icon:"minus"},specialChars:{kind:"button",command:"openSpecialChars",label:"Special characters",text:"Ω"},emoji:{kind:"button",command:"openEmoji",label:"Emoji",icon:"ng-smile"},codeBlock:{kind:"button",command:"codeBlock",label:"Code block (Ctrl+Alt+C)",icon:"ng-code",active:e=>e.inCodeBlock},image:{kind:"button",command:"openImage",label:"Insert image",icon:"image_2"},embed:{kind:"button",command:"openEmbed",label:"Embed video (YouTube, Vimeo, Loom)",icon:"ng-video"},sourceView:{kind:"button",command:"toggleSource",label:"HTML source",icon:"ng-code-xml"},showBlocks:{kind:"button",command:"toggleShowBlocks",label:"Show blocks",icon:"ng-square-pilcrow",active:e=>!!e.showBlocks},clearFormatting:{kind:"button",command:"clearFormatting",label:"Clear formatting",icon:"format_clear"},pastePlainText:{kind:"button",command:"togglePastePlainText",label:"Paste as plain text",icon:"ng-clipboard-paste",active:e=>!!e.pasteAsPlainText},fullscreen:{kind:"button",command:"toggleFullscreen",label:"Fullscreen (Esc to exit)",icon:"ng-maximize-2",iconActive:"ng-minimize-2",active:e=>!!e.fullscreen},shortcutHelp:{kind:"button",command:"openShortcutHelp",label:"Keyboard shortcuts (Ctrl+/)",icon:"ng-keyboard"},exportPdf:{kind:"button",command:"exportPdf",label:"Export to PDF",icon:"ng-printer"},exportWord:{kind:"button",command:"exportWord",label:"Export to Word",icon:"ng-file-text"},exportInlineHtml:{kind:"button",command:"exportInlineHtml",label:"Export HTML with inline styles (email)",icon:"ng-file-code"},importMarkdown:{kind:"button",command:"openMarkdown",label:"Insert from Markdown",icon:"ng-clipboard-paste"},importWord:{kind:"button",command:"importWord",label:"Import from Word",icon:"ng-file-input"},formatPainter:{kind:"button",command:"toggleFormatPainter",label:"Format painter (copy formatting)",icon:"ng-paintbrush",active:e=>!!e.formatPainter},caseChange:{kind:"select",label:"Change case",options:[{value:"",label:"Case"},{value:"upper",label:"UPPERCASE"},{value:"lower",label:"lowercase"},{value:"title",label:"Title Case"},{value:"sentence",label:"Sentence case"}],value:()=>"",command:e=>({name:"changeCase",attrs:{textCase:e||"upper"}}),disabled:e=>e.selectionEmpty},mergeField:{kind:"button",command:"openMergeField",label:"Insert merge field",icon:"ng-braces"},template:{kind:"button",command:"openTemplate",label:"Insert template",icon:"ng-layout-template"},math:{kind:"button",command:"openMath",label:"Insert math (LaTeX)",icon:"ng-sigma"},heading:{kind:"select",label:"Paragraph style",options:[{value:"",label:"Paragraph"},{value:"1",label:"Heading 1"},{value:"2",label:"Heading 2"},{value:"3",label:"Heading 3"},{value:"4",label:"Heading 4"},{value:"5",label:"Heading 5"},{value:"6",label:"Heading 6"}],value:e=>e.headingLevel?String(e.headingLevel):"",command:e=>""===e?{name:"paragraph"}:{name:"heading",attrs:{level:Number(e)}}},fontFamily:{kind:"select",label:"Font family",options:[{value:"",label:"Font"},...["Arial","Georgia","Tahoma","Times New Roman","Trebuchet MS","Verdana","Courier New"].map((e=>({value:e,label:e})))],value:e=>e.fontFamily??"",command:e=>({name:"fontFamily",attrs:{family:e||null}})},fontSize:{kind:"select",label:"Font size",options:[{value:"",label:"Size"},...["10px","12px","14px","16px","18px","20px","24px","28px","32px","48px"].map((e=>({value:e,label:e.replace("px","")})))],value:e=>e.fontSize??"",command:e=>({name:"fontSize",attrs:{size:e||null}})},lineHeight:{kind:"select",label:"Line height",options:[{value:"",label:"Spacing"},{value:"1",label:"1"},{value:"1.15",label:"1.15"},{value:"1.5",label:"1.5"},{value:"2",label:"2"},{value:"2.5",label:"2.5"},{value:"3",label:"3"}],value:e=>e.lineHeight??"",command:e=>({name:"lineHeight",attrs:{lineHeight:e||null}}),disabled:e=>e.inCodeBlock},textColor:{kind:"color",label:"Text color",glyph:"A",command:"textColor",value:e=>e.textColor},bgColor:{kind:"color",label:"Highlight color",glyph:"✎",command:"bgColor",value:e=>e.bgColor}};let m=class extends o{constructor(){super(...arguments),this.config=r,this.disabled=!1,this.openMenu=null,this.recentColors={},this.handleOutsideClick=e=>{this.openMenu&&!e.composedPath().includes(this)&&(this.openMenu=null)}}static get styles(){return[c]}connectedCallback(){super.connectedCallback(),document.addEventListener("mousedown",this.handleOutsideClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousedown",this.handleOutsideClick)}toggleMenu(e){this.openMenu=this.openMenu===e?null:e}dispatchCommand(e,t){this.emit("wysiwyg-command",{name:e,attrs:t})}withTooltip(e,l){return t`
|
|
2
|
-
<nile-lite-tooltip content=${
|
|
3
|
-
`}renderButton(
|
|
1
|
+
import{__decorate as i}from"tslib";import{html as s,nothing as n}from"lit";import{property as o,state as e,customElement as c}from"lit/decorators.js";import{N as t}from"../../internal/nile-element.esm.js";import{r as m}from"../../internal/glyph.esm.js";import{s as l}from"./nile-wysiwyg-toolbar.css.esm.js";import{D as r}from"../types.esm.js";import"../ui/table-grid-picker.esm.js";import"../../nile-color-picker/nile-color-picker.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";import"../../nile-color-picker/nile-color-picker.css.esm.js";import"../../nile-dropdown/nile-dropdown.esm.js";import"../../nile-dropdown/nile-dropdown.css.esm.js";import"../../internal/animate.esm.js";import"lit/directives/class-map.js";import"../../utilities/animation-registry.esm.js";import"../../internal/tabbable.esm.js";import"../../internal/event.esm.js";import"../../internal/watch.esm.js";import"../../nile-popup/nile-popup.esm.js";import"../../floating-ui.dom-cc9126da.esm.js";import"../../nile-popup/nile-popup.css.esm.js";import"../../nile-dropdown/portal-manager.esm.js";import"../../nile-dropdown/portal-utils.esm.js";import"../../utilities/visibility-manager.esm.js";import"../../nile-menu/nile-menu.esm.js";import"../../nile-menu/nile-menu.css.esm.js";import"../../internal/slot.esm.js";import"../../nile-menu-item/nile-menu-item.esm.js";import"../../nile-menu-item/nile-menu-item.css.esm.js";import"../../nile-icon/index.esm.js";import"lit/directives/unsafe-svg.js";import"../../nile-icon/icons/svg/index.esm.js";import"../../nile-icon/icons/svg/access-request.esm.js";import"../../nile-icon/icons/svg/accessreview.esm.js";import"../../nile-icon/icons/svg/action.esm.js";import"../../nile-icon/icons/svg/activity-logs.esm.js";import"../../nile-icon/icons/svg/address.esm.js";import"../../nile-icon/icons/svg/adjustment.esm.js";import"../../nile-icon/icons/svg/admin-users.esm.js";import"../../nile-icon/icons/svg/agent.esm.js";import"../../nile-icon/icons/svg/aggregation.esm.js";import"../../nile-icon/icons/svg/alert-circle.esm.js";import"../../nile-icon/icons/svg/alert.esm.js";import"../../nile-icon/icons/svg/allapplication.esm.js";import"../../nile-icon/icons/svg/allsearch.esm.js";import"../../nile-icon/icons/svg/analytics.esm.js";import"../../nile-icon/icons/svg/api.esm.js";import"../../nile-icon/icons/svg/applications-2.esm.js";import"../../nile-icon/icons/svg/apply-filter.esm.js";import"../../nile-icon/icons/svg/apps.esm.js";import"../../nile-icon/icons/svg/aquera.esm.js";import"../../nile-icon/icons/svg/aquerasupport.esm.js";import"../../nile-icon/icons/svg/area.esm.js";import"../../nile-icon/icons/svg/array-loop.esm.js";import"../../nile-icon/icons/svg/array-of-boolean.esm.js";import"../../nile-icon/icons/svg/array-of-integer.esm.js";import"../../nile-icon/icons/svg/array-of-string.esm.js";import"../../nile-icon/icons/svg/array.esm.js";import"../../nile-icon/icons/svg/arrayofobject.esm.js";import"../../nile-icon/icons/svg/arrow-left-small.esm.js";import"../../nile-icon/icons/svg/arrow-narrow-left.esm.js";import"../../nile-icon/icons/svg/arrow-right-small.esm.js";import"../../nile-icon/icons/svg/arrow.esm.js";import"../../nile-icon/icons/svg/arrow_left_small.esm.js";import"../../nile-icon/icons/svg/arrow_right_small.esm.js";import"../../nile-icon/icons/svg/arrowdown.esm.js";import"../../nile-icon/icons/svg/arrowdropdown.esm.js";import"../../nile-icon/icons/svg/arrowdropup.esm.js";import"../../nile-icon/icons/svg/arrowleft.esm.js";import"../../nile-icon/icons/svg/arrowright.esm.js";import"../../nile-icon/icons/svg/arrowup.esm.js";import"../../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../../nile-icon/icons/svg/attribute.esm.js";import"../../nile-icon/icons/svg/attributemap.esm.js";import"../../nile-icon/icons/svg/automation-details.esm.js";import"../../nile-icon/icons/svg/back.esm.js";import"../../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../../nile-icon/icons/svg/bar-chart.esm.js";import"../../nile-icon/icons/svg/bargraph.esm.js";import"../../nile-icon/icons/svg/block.esm.js";import"../../nile-icon/icons/svg/bluedot.esm.js";import"../../nile-icon/icons/svg/book-closed.esm.js";import"../../nile-icon/icons/svg/boolean.esm.js";import"../../nile-icon/icons/svg/border_all.esm.js";import"../../nile-icon/icons/svg/box.esm.js";import"../../nile-icon/icons/svg/bubble-chart.esm.js";import"../../nile-icon/icons/svg/bulk-sync.esm.js";import"../../nile-icon/icons/svg/button-loading-black.esm.js";import"../../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../../nile-icon/icons/svg/button-loading-blue.esm.js";import"../../nile-icon/icons/svg/button-loading-white.esm.js";import"../../nile-icon/icons/svg/calendar.esm.js";import"../../nile-icon/icons/svg/cases.esm.js";import"../../nile-icon/icons/svg/cell-loader.esm.js";import"../../nile-icon/icons/svg/certification.esm.js";import"../../nile-icon/icons/svg/check-circle.esm.js";import"../../nile-icon/icons/svg/check-done-01.esm.js";import"../../nile-icon/icons/svg/check-done-02.esm.js";import"../../nile-icon/icons/svg/chevron-left-double.esm.js";import"../../nile-icon/icons/svg/chevron-up.esm.js";import"../../nile-icon/icons/svg/class.esm.js";import"../../nile-icon/icons/svg/clock-check.esm.js";import"../../nile-icon/icons/svg/clock-rewind.esm.js";import"../../nile-icon/icons/svg/clock.esm.js";import"../../nile-icon/icons/svg/close.esm.js";import"../../nile-icon/icons/svg/cloud-01.esm.js";import"../../nile-icon/icons/svg/code-generator.esm.js";import"../../nile-icon/icons/svg/collapse-1.esm.js";import"../../nile-icon/icons/svg/collapse.esm.js";import"../../nile-icon/icons/svg/color.esm.js";import"../../nile-icon/icons/svg/column-02.esm.js";import"../../nile-icon/icons/svg/column-add.esm.js";import"../../nile-icon/icons/svg/columns-03.esm.js";import"../../nile-icon/icons/svg/combo1.esm.js";import"../../nile-icon/icons/svg/comment.esm.js";import"../../nile-icon/icons/svg/compact.esm.js";import"../../nile-icon/icons/svg/compare-tiles.esm.js";import"../../nile-icon/icons/svg/compare.esm.js";import"../../nile-icon/icons/svg/component-menu.esm.js";import"../../nile-icon/icons/svg/component.esm.js";import"../../nile-icon/icons/svg/components-icon.esm.js";import"../../nile-icon/icons/svg/componenttext.esm.js";import"../../nile-icon/icons/svg/condition.esm.js";import"../../nile-icon/icons/svg/conditions.esm.js";import"../../nile-icon/icons/svg/connect.esm.js";import"../../nile-icon/icons/svg/connectivitymap.esm.js";import"../../nile-icon/icons/svg/connectorrightarrow.esm.js";import"../../nile-icon/icons/svg/copy-06.esm.js";import"../../nile-icon/icons/svg/copy.esm.js";import"../../nile-icon/icons/svg/cor-analysis.esm.js";import"../../nile-icon/icons/svg/correlation.esm.js";import"../../nile-icon/icons/svg/cost-analytics.esm.js";import"../../nile-icon/icons/svg/create.esm.js";import"../../nile-icon/icons/svg/createuser.esm.js";import"../../nile-icon/icons/svg/dashboard.esm.js";import"../../nile-icon/icons/svg/data-insight.esm.js";import"../../nile-icon/icons/svg/data-type-array.esm.js";import"../../nile-icon/icons/svg/data-type-boolean.esm.js";import"../../nile-icon/icons/svg/data-type-json.esm.js";import"../../nile-icon/icons/svg/data-type-null.esm.js";import"../../nile-icon/icons/svg/data-type-number.esm.js";import"../../nile-icon/icons/svg/data-type-string.esm.js";import"../../nile-icon/icons/svg/data-type-unknown.esm.js";import"../../nile-icon/icons/svg/database.esm.js";import"../../nile-icon/icons/svg/databaseview.esm.js";import"../../nile-icon/icons/svg/dataflow-03.esm.js";import"../../nile-icon/icons/svg/dataflow-04.esm.js";import"../../nile-icon/icons/svg/default-cursor.esm.js";import"../../nile-icon/icons/svg/default.esm.js";import"../../nile-icon/icons/svg/delegate.esm.js";import"../../nile-icon/icons/svg/delete.esm.js";import"../../nile-icon/icons/svg/delete_history.esm.js";import"../../nile-icon/icons/svg/deligateduser.esm.js";import"../../nile-icon/icons/svg/directory.esm.js";import"../../nile-icon/icons/svg/disabled.esm.js";import"../../nile-icon/icons/svg/dock-to-right.esm.js";import"../../nile-icon/icons/svg/document-new.esm.js";import"../../nile-icon/icons/svg/done-02.esm.js";import"../../nile-icon/icons/svg/done.esm.js";import"../../nile-icon/icons/svg/dontmap.esm.js";import"../../nile-icon/icons/svg/donut.esm.js";import"../../nile-icon/icons/svg/dotpoints-02.esm.js";import"../../nile-icon/icons/svg/dots-grid.esm.js";import"../../nile-icon/icons/svg/doublearrowleft.esm.js";import"../../nile-icon/icons/svg/doublearrowright.esm.js";import"../../nile-icon/icons/svg/dowhileloop.esm.js";import"../../nile-icon/icons/svg/downgrade.esm.js";import"../../nile-icon/icons/svg/download.esm.js";import"../../nile-icon/icons/svg/drag.esm.js";import"../../nile-icon/icons/svg/edit-write.esm.js";import"../../nile-icon/icons/svg/else.esm.js";import"../../nile-icon/icons/svg/email.esm.js";import"../../nile-icon/icons/svg/enable.esm.js";import"../../nile-icon/icons/svg/entities.esm.js";import"../../nile-icon/icons/svg/entitlement.esm.js";import"../../nile-icon/icons/svg/error.esm.js";import"../../nile-icon/icons/svg/escalate.esm.js";import"../../nile-icon/icons/svg/exactmatch.esm.js";import"../../nile-icon/icons/svg/execute.esm.js";import"../../nile-icon/icons/svg/expand-03.esm.js";import"../../nile-icon/icons/svg/expand-06.esm.js";import"../../nile-icon/icons/svg/expand-2.esm.js";import"../../nile-icon/icons/svg/expand.esm.js";import"../../nile-icon/icons/svg/eye-off.esm.js";import"../../nile-icon/icons/svg/eye.esm.js";import"../../nile-icon/icons/svg/eyeclosed.esm.js";import"../../nile-icon/icons/svg/featured-icon.esm.js";import"../../nile-icon/icons/svg/file-06.esm.js";import"../../nile-icon/icons/svg/file-check-02.esm.js";import"../../nile-icon/icons/svg/file-shield-01.esm.js";import"../../nile-icon/icons/svg/file-shield-02.esm.js";import"../../nile-icon/icons/svg/file-type-icon.esm.js";import"../../nile-icon/icons/svg/file.esm.js";import"../../nile-icon/icons/svg/filter-1.esm.js";import"../../nile-icon/icons/svg/filter.esm.js";import"../../nile-icon/icons/svg/fingerprint-03.esm.js";import"../../nile-icon/icons/svg/firewall.esm.js";import"../../nile-icon/icons/svg/firewallagent.esm.js";import"../../nile-icon/icons/svg/flow.esm.js";import"../../nile-icon/icons/svg/flowmap-agent.esm.js";import"../../nile-icon/icons/svg/flowmap-application.esm.js";import"../../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../../nile-icon/icons/svg/flowmap-firewall-agent.esm.js";import"../../nile-icon/icons/svg/flowmap-firewall.esm.js";import"../../nile-icon/icons/svg/flowmap-gateway.esm.js";import"../../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../../nile-icon/icons/svg/flowmap-undo.esm.js";import"../../nile-icon/icons/svg/flowmap-workflow.esm.js";import"../../nile-icon/icons/svg/flowmap.esm.js";import"../../nile-icon/icons/svg/folder.esm.js";import"../../nile-icon/icons/svg/folder_delete.esm.js";import"../../nile-icon/icons/svg/foreach.esm.js";import"../../nile-icon/icons/svg/format_align_justify.esm.js";import"../../nile-icon/icons/svg/format_align_left.esm.js";import"../../nile-icon/icons/svg/format_align_middle.esm.js";import"../../nile-icon/icons/svg/format_align_right.esm.js";import"../../nile-icon/icons/svg/format_bold.esm.js";import"../../nile-icon/icons/svg/format_clear.esm.js";import"../../nile-icon/icons/svg/format_italic.esm.js";import"../../nile-icon/icons/svg/format_list_bulleted.esm.js";import"../../nile-icon/icons/svg/format_list_numbered.esm.js";import"../../nile-icon/icons/svg/format_underline.esm.js";import"../../nile-icon/icons/svg/frequency.esm.js";import"../../nile-icon/icons/svg/full-union.esm.js";import"../../nile-icon/icons/svg/fullscreen.esm.js";import"../../nile-icon/icons/svg/fullscreenexit.esm.js";import"../../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../../nile-icon/icons/svg/function.esm.js";import"../../nile-icon/icons/svg/funnel-02.esm.js";import"../../nile-icon/icons/svg/funnel.esm.js";import"../../nile-icon/icons/svg/gateway.esm.js";import"../../nile-icon/icons/svg/gauge.esm.js";import"../../nile-icon/icons/svg/general.esm.js";import"../../nile-icon/icons/svg/generationphase.esm.js";import"../../nile-icon/icons/svg/global-search.esm.js";import"../../nile-icon/icons/svg/globe-03.esm.js";import"../../nile-icon/icons/svg/globe.esm.js";import"../../nile-icon/icons/svg/goal.esm.js";import"../../nile-icon/icons/svg/goto.esm.js";import"../../nile-icon/icons/svg/graph.esm.js";import"../../nile-icon/icons/svg/graphedit.esm.js";import"../../nile-icon/icons/svg/greendot.esm.js";import"../../nile-icon/icons/svg/greydot.esm.js";import"../../nile-icon/icons/svg/greylightdot.esm.js";import"../../nile-icon/icons/svg/grid-01.esm.js";import"../../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../../nile-icon/icons/svg/group.esm.js";import"../../nile-icon/icons/svg/groupby.esm.js";import"../../nile-icon/icons/svg/groups.esm.js";import"../../nile-icon/icons/svg/guide-01.esm.js";import"../../nile-icon/icons/svg/guide.esm.js";import"../../nile-icon/icons/svg/handtool.esm.js";import"../../nile-icon/icons/svg/header-child-workflow.esm.js";import"../../nile-icon/icons/svg/header-flows.esm.js";import"../../nile-icon/icons/svg/header-tasks.esm.js";import"../../nile-icon/icons/svg/headphones-01.esm.js";import"../../nile-icon/icons/svg/help.esm.js";import"../../nile-icon/icons/svg/helpandsupport.esm.js";import"../../nile-icon/icons/svg/helpers.esm.js";import"../../nile-icon/icons/svg/helpsupport.esm.js";import"../../nile-icon/icons/svg/history.esm.js";import"../../nile-icon/icons/svg/horizontal_bar_chart.esm.js";import"../../nile-icon/icons/svg/identitygraph.esm.js";import"../../nile-icon/icons/svg/identityledger.esm.js";import"../../nile-icon/icons/svg/ifelse.esm.js";import"../../nile-icon/icons/svg/ifelsenew.esm.js";import"../../nile-icon/icons/svg/image.esm.js";import"../../nile-icon/icons/svg/image_2.esm.js";import"../../nile-icon/icons/svg/immutable.esm.js";import"../../nile-icon/icons/svg/info-icon.esm.js";import"../../nile-icon/icons/svg/info.esm.js";import"../../nile-icon/icons/svg/inner-union.esm.js";import"../../nile-icon/icons/svg/inprogress.esm.js";import"../../nile-icon/icons/svg/insert-at-cursor.esm.js";import"../../nile-icon/icons/svg/integer.esm.js";import"../../nile-icon/icons/svg/intersection.esm.js";import"../../nile-icon/icons/svg/js.esm.js";import"../../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../../nile-icon/icons/svg/keyboard-01.esm.js";import"../../nile-icon/icons/svg/keyword.esm.js";import"../../nile-icon/icons/svg/kill.esm.js";import"../../nile-icon/icons/svg/laptop-01.esm.js";import"../../nile-icon/icons/svg/layers-three-02.esm.js";import"../../nile-icon/icons/svg/layout-alt-02.esm.js";import"../../nile-icon/icons/svg/layout-alt-03.esm.js";import"../../nile-icon/icons/svg/left-join.esm.js";import"../../nile-icon/icons/svg/left-union.esm.js";import"../../nile-icon/icons/svg/leftpointarrow.esm.js";import"../../nile-icon/icons/svg/life-buoy-01.esm.js";import"../../nile-icon/icons/svg/line.esm.js";import"../../nile-icon/icons/svg/link.esm.js";import"../../nile-icon/icons/svg/link_2.esm.js";import"../../nile-icon/icons/svg/list-attribute.esm.js";import"../../nile-icon/icons/svg/list.esm.js";import"../../nile-icon/icons/svg/loader.esm.js";import"../../nile-icon/icons/svg/loading.esm.js";import"../../nile-icon/icons/svg/loading2.esm.js";import"../../nile-icon/icons/svg/lock.esm.js";import"../../nile-icon/icons/svg/log-info.esm.js";import"../../nile-icon/icons/svg/log.esm.js";import"../../nile-icon/icons/svg/logo-white.esm.js";import"../../nile-icon/icons/svg/logout.esm.js";import"../../nile-icon/icons/svg/logs.esm.js";import"../../nile-icon/icons/svg/loop.esm.js";import"../../nile-icon/icons/svg/manage.esm.js";import"../../nile-icon/icons/svg/map.esm.js";import"../../nile-icon/icons/svg/mapcreate.esm.js";import"../../nile-icon/icons/svg/mapdont.esm.js";import"../../nile-icon/icons/svg/maponcreate.esm.js";import"../../nile-icon/icons/svg/maponupdate.esm.js";import"../../nile-icon/icons/svg/mapper.esm.js";import"../../nile-icon/icons/svg/mapupdate.esm.js";import"../../nile-icon/icons/svg/marker-pin-01.esm.js";import"../../nile-icon/icons/svg/marker_pin_02.esm.js";import"../../nile-icon/icons/svg/maximize.esm.js";import"../../nile-icon/icons/svg/menu.esm.js";import"../../nile-icon/icons/svg/menu_close.esm.js";import"../../nile-icon/icons/svg/menu_open.esm.js";import"../../nile-icon/icons/svg/message-notification-square.esm.js";import"../../nile-icon/icons/svg/metric.esm.js";import"../../nile-icon/icons/svg/minus.esm.js";import"../../nile-icon/icons/svg/monitor-01.esm.js";import"../../nile-icon/icons/svg/mouse.esm.js";import"../../nile-icon/icons/svg/move-application.esm.js";import"../../nile-icon/icons/svg/moveleft.esm.js";import"../../nile-icon/icons/svg/moveright.esm.js";import"../../nile-icon/icons/svg/mute.esm.js";import"../../nile-icon/icons/svg/my-integration.esm.js";import"../../nile-icon/icons/svg/new-calendar.esm.js";import"../../nile-icon/icons/svg/ng-action.esm.js";import"../../nile-icon/icons/svg/ng-activity.esm.js";import"../../nile-icon/icons/svg/ng-alert-circle.esm.js";import"../../nile-icon/icons/svg/ng-alert-triangle.esm.js";import"../../nile-icon/icons/svg/ng-align-center.esm.js";import"../../nile-icon/icons/svg/ng-annotation-x.esm.js";import"../../nile-icon/icons/svg/ng-arrow-down.esm.js";import"../../nile-icon/icons/svg/ng-arrow-narrow-down.esm.js";import"../../nile-icon/icons/svg/ng-arrow-narrow-left.esm.js";import"../../nile-icon/icons/svg/ng-arrow-narrow-right.esm.js";import"../../nile-icon/icons/svg/ng-arrow-up.esm.js";import"../../nile-icon/icons/svg/ng-bar-chart-12.esm.js";import"../../nile-icon/icons/svg/ng-bar-chart-square-02.esm.js";import"../../nile-icon/icons/svg/ng-battery-charging.esm.js";import"../../nile-icon/icons/svg/ng-bell-01.esm.js";import"../../nile-icon/icons/svg/ng-bell-ringing-04.esm.js";import"../../nile-icon/icons/svg/ng-bold-01.esm.js";import"../../nile-icon/icons/svg/ng-boolean.esm.js";import"../../nile-icon/icons/svg/ng-briefcase-01.esm.js";import"../../nile-icon/icons/svg/ng-building-01.esm.js";import"../../nile-icon/icons/svg/ng-building-05.esm.js";import"../../nile-icon/icons/svg/ng-building-07.esm.js";import"../../nile-icon/icons/svg/ng-button-loading-blue-animated.esm.js";import"../../nile-icon/icons/svg/ng-button-loading-blue.esm.js";import"../../nile-icon/icons/svg/ng-calendar-plus-02.esm.js";import"../../nile-icon/icons/svg/ng-calendar.esm.js";import"../../nile-icon/icons/svg/ng-check-circle-broken.esm.js";import"../../nile-icon/icons/svg/ng-check-circle.esm.js";import"../../nile-icon/icons/svg/ng-check-done-01.esm.js";import"../../nile-icon/icons/svg/ng-check-square-broken.esm.js";import"../../nile-icon/icons/svg/ng-check.esm.js";import"../../nile-icon/icons/svg/ng-chevron-down.esm.js";import"../../nile-icon/icons/svg/ng-chevron-left-double.esm.js";import"../../nile-icon/icons/svg/ng-chevron-left.esm.js";import"../../nile-icon/icons/svg/ng-chevron-right-double.esm.js";import"../../nile-icon/icons/svg/ng-chevron-right.esm.js";import"../../nile-icon/icons/svg/ng-chevron-selector-vertical.esm.js";import"../../nile-icon/icons/svg/ng-chevron-up-double.esm.js";import"../../nile-icon/icons/svg/ng-chevron-up.esm.js";import"../../nile-icon/icons/svg/ng-clock-refresh.esm.js";import"../../nile-icon/icons/svg/ng-columns-02.esm.js";import"../../nile-icon/icons/svg/ng-copy-03.esm.js";import"../../nile-icon/icons/svg/ng-dataflow-02.esm.js";import"../../nile-icon/icons/svg/ng-dataflow-04.esm.js";import"../../nile-icon/icons/svg/ng-dots-grid.esm.js";import"../../nile-icon/icons/svg/ng-dots-vertical.esm.js";import"../../nile-icon/icons/svg/ng-download-01.esm.js";import"../../nile-icon/icons/svg/ng-dropdown.esm.js";import"../../nile-icon/icons/svg/ng-edit-02.esm.js";import"../../nile-icon/icons/svg/ng-edit-05.esm.js";import"../../nile-icon/icons/svg/ng-expand-06.esm.js";import"../../nile-icon/icons/svg/ng-eye-off.esm.js";import"../../nile-icon/icons/svg/ng-eye.esm.js";import"../../nile-icon/icons/svg/ng-file-02.esm.js";import"../../nile-icon/icons/svg/ng-file-06.esm.js";import"../../nile-icon/icons/svg/ng-file-check-02.esm.js";import"../../nile-icon/icons/svg/ng-file-question-03.esm.js";import"../../nile-icon/icons/svg/ng-filter-lines.esm.js";import"../../nile-icon/icons/svg/ng-folder-code.esm.js";import"../../nile-icon/icons/svg/ng-grid-01.esm.js";import"../../nile-icon/icons/svg/ng-hash.esm.js";import"../../nile-icon/icons/svg/ng-help-circle.esm.js";import"../../nile-icon/icons/svg/ng-home-line.esm.js";import"../../nile-icon/icons/svg/ng-image-03.esm.js";import"../../nile-icon/icons/svg/ng-image-user-left.esm.js";import"../../nile-icon/icons/svg/ng-info-circle.esm.js";import"../../nile-icon/icons/svg/ng-italic-01.esm.js";import"../../nile-icon/icons/svg/ng-key-01.esm.js";import"../../nile-icon/icons/svg/ng-layers-three-01.esm.js";import"../../nile-icon/icons/svg/ng-layers-three-02.esm.js";import"../../nile-icon/icons/svg/ng-lightbulb-05.esm.js";import"../../nile-icon/icons/svg/ng-list.esm.js";import"../../nile-icon/icons/svg/ng-lock-03.esm.js";import"../../nile-icon/icons/svg/ng-log-out-01.esm.js";import"../../nile-icon/icons/svg/ng-mail-01.esm.js";import"../../nile-icon/icons/svg/ng-mail-04.esm.js";import"../../nile-icon/icons/svg/ng-marker-pin-01.esm.js";import"../../nile-icon/icons/svg/ng-menu-05.esm.js";import"../../nile-icon/icons/svg/ng-message-text-square-01.esm.js";import"../../nile-icon/icons/svg/ng-minimize-02.esm.js";import"../../nile-icon/icons/svg/ng-minus.esm.js";import"../../nile-icon/icons/svg/ng-monitor.esm.js";import"../../nile-icon/icons/svg/ng-number.esm.js";import"../../nile-icon/icons/svg/ng-pie-chart-03.esm.js";import"../../nile-icon/icons/svg/ng-plus.esm.js";import"../../nile-icon/icons/svg/ng-power-01.esm.js";import"../../nile-icon/icons/svg/ng-refresh-cw-01.esm.js";import"../../nile-icon/icons/svg/ng-refresh-cw-02.esm.js";import"../../nile-icon/icons/svg/ng-rocket-02.esm.js";import"../../nile-icon/icons/svg/ng-rows-01.esm.js";import"../../nile-icon/icons/svg/ng-search-lg.esm.js";import"../../nile-icon/icons/svg/ng-send-01.esm.js";import"../../nile-icon/icons/svg/ng-server.esm.js";import"../../nile-icon/icons/svg/ng-settings-01.esm.js";import"../../nile-icon/icons/svg/ng-share-04.esm.js";import"../../nile-icon/icons/svg/ng-share-06.esm.js";import"../../nile-icon/icons/svg/ng-shield-tick.esm.js";import"../../nile-icon/icons/svg/ng-shopping-bag-01.esm.js";import"../../nile-icon/icons/svg/ng-stars-02.esm.js";import"../../nile-icon/icons/svg/ng-string.esm.js";import"../../nile-icon/icons/svg/ng-switch-horizontal-01.esm.js";import"../../nile-icon/icons/svg/ng-tag.esm.js";import"../../nile-icon/icons/svg/ng-trash-01.esm.js";import"../../nile-icon/icons/svg/ng-trash-03.esm.js";import"../../nile-icon/icons/svg/ng-trend-up-01.esm.js";import"../../nile-icon/icons/svg/ng-underline-01.esm.js";import"../../nile-icon/icons/svg/ng-upload-01.esm.js";import"../../nile-icon/icons/svg/ng-upload-cloud-02.esm.js";import"../../nile-icon/icons/svg/ng-user-01.esm.js";import"../../nile-icon/icons/svg/ng-user-check-02-1.esm.js";import"../../nile-icon/icons/svg/ng-user-check-02.esm.js";import"../../nile-icon/icons/svg/ng-user-plus-02.esm.js";import"../../nile-icon/icons/svg/ng-user-right-01.esm.js";import"../../nile-icon/icons/svg/ng-users-01.esm.js";import"../../nile-icon/icons/svg/ng-wifi.esm.js";import"../../nile-icon/icons/svg/ng-x-circle.esm.js";import"../../nile-icon/icons/svg/ng-x-close.esm.js";import"../../nile-icon/icons/svg/ng-x-square.esm.js";import"../../nile-icon/icons/svg/ng-zap.esm.js";import"../../nile-icon/icons/svg/nightingale-chart.esm.js";import"../../nile-icon/icons/svg/nlp.esm.js";import"../../nile-icon/icons/svg/nomatch.esm.js";import"../../nile-icon/icons/svg/note.esm.js";import"../../nile-icon/icons/svg/notification.esm.js";import"../../nile-icon/icons/svg/notificationadd.esm.js";import"../../nile-icon/icons/svg/notificationadded.esm.js";import"../../nile-icon/icons/svg/null.esm.js";import"../../nile-icon/icons/svg/number.esm.js";import"../../nile-icon/icons/svg/numberinput.esm.js";import"../../nile-icon/icons/svg/numbers.esm.js";import"../../nile-icon/icons/svg/object.esm.js";import"../../nile-icon/icons/svg/operators.esm.js";import"../../nile-icon/icons/svg/options.esm.js";import"../../nile-icon/icons/svg/orchestration-solid.esm.js";import"../../nile-icon/icons/svg/orchestration.esm.js";import"../../nile-icon/icons/svg/organization.esm.js";import"../../nile-icon/icons/svg/other.esm.js";import"../../nile-icon/icons/svg/otherdetails.esm.js";import"../../nile-icon/icons/svg/override.esm.js";import"../../nile-icon/icons/svg/palletemenu.esm.js";import"../../nile-icon/icons/svg/paperclip.esm.js";import"../../nile-icon/icons/svg/partner.esm.js";import"../../nile-icon/icons/svg/partners.esm.js";import"../../nile-icon/icons/svg/pause.esm.js";import"../../nile-icon/icons/svg/pencil.esm.js";import"../../nile-icon/icons/svg/peopletask.esm.js";import"../../nile-icon/icons/svg/persistent-variable.esm.js";import"../../nile-icon/icons/svg/persistentdata.esm.js";import"../../nile-icon/icons/svg/phone.esm.js";import"../../nile-icon/icons/svg/pie.esm.js";import"../../nile-icon/icons/svg/pin.esm.js";import"../../nile-icon/icons/svg/play.esm.js";import"../../nile-icon/icons/svg/play_pause.esm.js";import"../../nile-icon/icons/svg/plus.esm.js";import"../../nile-icon/icons/svg/pluscircle.esm.js";import"../../nile-icon/icons/svg/plussquare.esm.js";import"../../nile-icon/icons/svg/policy.esm.js";import"../../nile-icon/icons/svg/potentialmatch.esm.js";import"../../nile-icon/icons/svg/poweron.esm.js";import"../../nile-icon/icons/svg/predefined.esm.js";import"../../nile-icon/icons/svg/preview.esm.js";import"../../nile-icon/icons/svg/printer.esm.js";import"../../nile-icon/icons/svg/priority-high.esm.js";import"../../nile-icon/icons/svg/priority-highest.esm.js";import"../../nile-icon/icons/svg/priority-low.esm.js";import"../../nile-icon/icons/svg/priority-medium.esm.js";import"../../nile-icon/icons/svg/privilage.esm.js";import"../../nile-icon/icons/svg/privilege.esm.js";import"../../nile-icon/icons/svg/privilegeobject.esm.js";import"../../nile-icon/icons/svg/process.esm.js";import"../../nile-icon/icons/svg/professionaldetails.esm.js";import"../../nile-icon/icons/svg/question.esm.js";import"../../nile-icon/icons/svg/radar.esm.js";import"../../nile-icon/icons/svg/radio.esm.js";import"../../nile-icon/icons/svg/radioactive.esm.js";import"../../nile-icon/icons/svg/radiodone.esm.js";import"../../nile-icon/icons/svg/read.esm.js";import"../../nile-icon/icons/svg/readexpression.esm.js";import"../../nile-icon/icons/svg/readonly.esm.js";import"../../nile-icon/icons/svg/readonlyuser.esm.js";import"../../nile-icon/icons/svg/readuser.esm.js";import"../../nile-icon/icons/svg/reddot.esm.js";import"../../nile-icon/icons/svg/redo-02.esm.js";import"../../nile-icon/icons/svg/redo.esm.js";import"../../nile-icon/icons/svg/refresh.esm.js";import"../../nile-icon/icons/svg/reminder.esm.js";import"../../nile-icon/icons/svg/resize.esm.js";import"../../nile-icon/icons/svg/resource.esm.js";import"../../nile-icon/icons/svg/resource_analysis.esm.js";import"../../nile-icon/icons/svg/resource_graph.esm.js";import"../../nile-icon/icons/svg/restart_alt.esm.js";import"../../nile-icon/icons/svg/revocation-cycle.esm.js";import"../../nile-icon/icons/svg/right-join.esm.js";import"../../nile-icon/icons/svg/right-union.esm.js";import"../../nile-icon/icons/svg/rocket-02.esm.js";import"../../nile-icon/icons/svg/role.esm.js";import"../../nile-icon/icons/svg/run.esm.js";import"../../nile-icon/icons/svg/sankey.esm.js";import"../../nile-icon/icons/svg/save.esm.js";import"../../nile-icon/icons/svg/savings.esm.js";import"../../nile-icon/icons/svg/scatter-plot.esm.js";import"../../nile-icon/icons/svg/schedule.esm.js";import"../../nile-icon/icons/svg/schema.esm.js";import"../../nile-icon/icons/svg/script.esm.js";import"../../nile-icon/icons/svg/search-steps-icon.esm.js";import"../../nile-icon/icons/svg/search.esm.js";import"../../nile-icon/icons/svg/section.esm.js";import"../../nile-icon/icons/svg/select-02.esm.js";import"../../nile-icon/icons/svg/select.esm.js";import"../../nile-icon/icons/svg/selectapplication.esm.js";import"../../nile-icon/icons/svg/selectattributes.esm.js";import"../../nile-icon/icons/svg/semi-circle-donut-chart.esm.js";import"../../nile-icon/icons/svg/send.esm.js";import"../../nile-icon/icons/svg/sendemail.esm.js";import"../../nile-icon/icons/svg/sendescalation.esm.js";import"../../nile-icon/icons/svg/sendreminder.esm.js";import"../../nile-icon/icons/svg/server-03.esm.js";import"../../nile-icon/icons/svg/settings-02.esm.js";import"../../nile-icon/icons/svg/settings.esm.js";import"../../nile-icon/icons/svg/share.esm.js";import"../../nile-icon/icons/svg/shield-01.esm.js";import"../../nile-icon/icons/svg/smartcode.esm.js";import"../../nile-icon/icons/svg/sort.esm.js";import"../../nile-icon/icons/svg/sort_ascending.esm.js";import"../../nile-icon/icons/svg/sort_descending.esm.js";import"../../nile-icon/icons/svg/sortascending.esm.js";import"../../nile-icon/icons/svg/sortdescending.esm.js";import"../../nile-icon/icons/svg/sortdown.esm.js";import"../../nile-icon/icons/svg/sortup.esm.js";import"../../nile-icon/icons/svg/stacked-bar-chart.esm.js";import"../../nile-icon/icons/svg/step_into.esm.js";import"../../nile-icon/icons/svg/step_out.esm.js";import"../../nile-icon/icons/svg/step_over.esm.js";import"../../nile-icon/icons/svg/stop.esm.js";import"../../nile-icon/icons/svg/storybook.esm.js";import"../../nile-icon/icons/svg/string.esm.js";import"../../nile-icon/icons/svg/stringinput.esm.js";import"../../nile-icon/icons/svg/stringletters.esm.js";import"../../nile-icon/icons/svg/support.esm.js";import"../../nile-icon/icons/svg/swap.esm.js";import"../../nile-icon/icons/svg/switch.esm.js";import"../../nile-icon/icons/svg/sync.esm.js";import"../../nile-icon/icons/svg/table.esm.js";import"../../nile-icon/icons/svg/tag.esm.js";import"../../nile-icon/icons/svg/tag_cloud.esm.js";import"../../nile-icon/icons/svg/test.esm.js";import"../../nile-icon/icons/svg/text-02.esm.js";import"../../nile-icon/icons/svg/text.esm.js";import"../../nile-icon/icons/svg/textarea-expander.esm.js";import"../../nile-icon/icons/svg/thumbsdown.esm.js";import"../../nile-icon/icons/svg/thumbsup.esm.js";import"../../nile-icon/icons/svg/thumsup.esm.js";import"../../nile-icon/icons/svg/tick.esm.js";import"../../nile-icon/icons/svg/timeupdate.esm.js";import"../../nile-icon/icons/svg/timezone.esm.js";import"../../nile-icon/icons/svg/transaction_monitor.esm.js";import"../../nile-icon/icons/svg/travel_map.esm.js";import"../../nile-icon/icons/svg/trend-up-02.esm.js";import"../../nile-icon/icons/svg/trigger.esm.js";import"../../nile-icon/icons/svg/undo-02.esm.js";import"../../nile-icon/icons/svg/undo.esm.js";import"../../nile-icon/icons/svg/union.esm.js";import"../../nile-icon/icons/svg/unlink.esm.js";import"../../nile-icon/icons/svg/unmute.esm.js";import"../../nile-icon/icons/svg/update.esm.js";import"../../nile-icon/icons/svg/updown.esm.js";import"../../nile-icon/icons/svg/upgrade.esm.js";import"../../nile-icon/icons/svg/upload.esm.js";import"../../nile-icon/icons/svg/user-group.esm.js";import"../../nile-icon/icons/svg/user.esm.js";import"../../nile-icon/icons/svg/useractive.esm.js";import"../../nile-icon/icons/svg/useradd.esm.js";import"../../nile-icon/icons/svg/useraddgroup.esm.js";import"../../nile-icon/icons/svg/userfind.esm.js";import"../../nile-icon/icons/svg/userimport.esm.js";import"../../nile-icon/icons/svg/userimportgroup.esm.js";import"../../nile-icon/icons/svg/usermixed.esm.js";import"../../nile-icon/icons/svg/userremove.esm.js";import"../../nile-icon/icons/svg/userremovegroup.esm.js";import"../../nile-icon/icons/svg/users-plus.esm.js";import"../../nile-icon/icons/svg/users-up.esm.js";import"../../nile-icon/icons/svg/users.esm.js";import"../../nile-icon/icons/svg/userupdate.esm.js";import"../../nile-icon/icons/svg/validationexpression.esm.js";import"../../nile-icon/icons/svg/variable-global.esm.js";import"../../nile-icon/icons/svg/variable-local.esm.js";import"../../nile-icon/icons/svg/variable-new.esm.js";import"../../nile-icon/icons/svg/variable.esm.js";import"../../nile-icon/icons/svg/video.esm.js";import"../../nile-icon/icons/svg/view.esm.js";import"../../nile-icon/icons/svg/virtualserver.esm.js";import"../../nile-icon/icons/svg/virtualservergroup.esm.js";import"../../nile-icon/icons/svg/visibility.esm.js";import"../../nile-icon/icons/svg/visibilityoff.esm.js";import"../../nile-icon/icons/svg/visual_builder.esm.js";import"../../nile-icon/icons/svg/wait.esm.js";import"../../nile-icon/icons/svg/warning-01.esm.js";import"../../nile-icon/icons/svg/warning.esm.js";import"../../nile-icon/icons/svg/whileloop.esm.js";import"../../nile-icon/icons/svg/workflow-application.esm.js";import"../../nile-icon/icons/svg/workflow-text.esm.js";import"../../nile-icon/icons/svg/workflow.esm.js";import"../../nile-icon/icons/svg/writeexpression.esm.js";import"../../nile-icon/aliasmap.esm.js";import"../../nile-checkbox/nile-checkbox.esm.js";import"../../nile-checkbox/nile-checkbox.css.esm.js";import"../../internal/default-value.esm.js";import"lit/directives/if-defined.js";import"lit/directives/live.js";import"../../nile-color-swatch/nile-color-swatch.esm.js";import"../../nile-color-swatch/nile-color-swatch.css.esm.js";const a={undo:{kind:"button",command:"undo",label:"Undo (Ctrl+Z)",icon:"undo",disabled:i=>!i.canUndo},redo:{kind:"button",command:"redo",label:"Redo (Ctrl+Y)",icon:"redo",disabled:i=>!i.canRedo},findReplace:{kind:"button",command:"openFind",label:"Find & replace (Ctrl+F)",icon:"ng-text-search"},bold:{kind:"button",command:"bold",label:"Bold (Ctrl+B)",icon:"format_bold",active:i=>i.bold},italic:{kind:"button",command:"italic",label:"Italic (Ctrl+I)",icon:"format_italic",active:i=>i.italic},underline:{kind:"button",command:"underline",label:"Underline (Ctrl+U)",icon:"format_underline",active:i=>i.underline},strike:{kind:"button",command:"strike",label:"Strikethrough",icon:"ng-strikethrough",active:i=>i.strike},subscript:{kind:"button",command:"subscript",label:"Subscript (Ctrl+,)",icon:"ng-subscript",active:i=>i.subscript},superscript:{kind:"button",command:"superscript",label:"Superscript (Ctrl+.)",icon:"ng-superscript",active:i=>i.superscript},code:{kind:"button",command:"code",label:"Inline code",text:"</>",active:i=>i.code},alignLeft:{kind:"button",command:"align",attrs:{align:"left"},label:"Align left",icon:"format_align_left",active:i=>"left"===i.align},alignCenter:{kind:"button",command:"align",attrs:{align:"center"},label:"Align center",icon:"format_align_middle",active:i=>"center"===i.align},alignRight:{kind:"button",command:"align",attrs:{align:"right"},label:"Align right",icon:"format_align_right",active:i=>"right"===i.align},alignJustify:{kind:"button",command:"align",attrs:{align:"justify"},label:"Justify",icon:"format_align_justify",active:i=>"justify"===i.align},bulletList:{kind:"button",command:"bulletList",label:"Bulleted list",icon:"format_list_bulleted",active:i=>i.inBulletList},orderedList:{kind:"button",command:"orderedList",label:"Numbered list",icon:"format_list_numbered",active:i=>i.inOrderedList},taskList:{kind:"button",command:"taskList",label:"Checklist",icon:"ng-list-checks",active:i=>i.inTaskList},indent:{kind:"button",command:"indent",label:"Increase indent (Ctrl+])",icon:"ng-list-indent-increase",disabled:i=>i.inCodeBlock},outdent:{kind:"button",command:"outdent",label:"Decrease indent (Ctrl+[)",icon:"ng-list-indent-decrease",disabled:i=>!(i.inBulletList||i.inOrderedList||i.inTaskList||i.inBlockquote||0!==i.blockIndent)},listStyle:{kind:"select",label:"List style",options:i=>i?.inOrderedList?[{value:"",label:"1, 2, 3"},{value:"lower-alpha",label:"a, b, c"},{value:"upper-alpha",label:"A, B, C"},{value:"lower-roman",label:"i, ii, iii"},{value:"upper-roman",label:"I, II, III"},{value:"multilevel",label:"1.1, 1.1.1"}]:[{value:"",label:"• Disc"},{value:"circle",label:"○ Circle"},{value:"square",label:"▪ Square"}],value:i=>i.listStyle??"",command:i=>({name:"setListStyle",attrs:{style:i||null}}),disabled:i=>!i.inBulletList&&!i.inOrderedList},blockquote:{kind:"button",command:"blockquote",label:"Blockquote",text:"❝",active:i=>i.inBlockquote},link:{kind:"button",command:"openLink",label:"Link (Ctrl+K)",icon:"link_2",active:i=>i.linkActive},bookmark:{kind:"button",command:"openBookmark",label:"Insert bookmark (in-text anchor)",icon:"ng-bookmark"},horizontalRule:{kind:"button",command:"horizontalRule",label:"Horizontal rule",icon:"minus"},specialChars:{kind:"button",command:"openSpecialChars",label:"Special characters",text:"Ω"},emoji:{kind:"button",command:"openEmoji",label:"Emoji",icon:"ng-smile"},codeBlock:{kind:"button",command:"codeBlock",label:"Code block (Ctrl+Alt+C)",icon:"ng-code",active:i=>i.inCodeBlock},image:{kind:"button",command:"openImage",label:"Insert image",icon:"image_2"},embed:{kind:"button",command:"openEmbed",label:"Embed video (YouTube, Vimeo, Loom)",icon:"ng-video"},sourceView:{kind:"button",command:"toggleSource",label:"HTML source",icon:"ng-code-xml"},showBlocks:{kind:"button",command:"toggleShowBlocks",label:"Show blocks",icon:"ng-square-pilcrow",active:i=>!!i.showBlocks},clearFormatting:{kind:"button",command:"clearFormatting",label:"Clear formatting",icon:"format_clear"},pastePlainText:{kind:"button",command:"togglePastePlainText",label:"Paste as plain text",icon:"ng-clipboard-paste",active:i=>!!i.pasteAsPlainText},fullscreen:{kind:"button",command:"toggleFullscreen",label:"Fullscreen (Esc to exit)",icon:"ng-maximize-2",iconActive:"ng-minimize-2",active:i=>!!i.fullscreen},shortcutHelp:{kind:"button",command:"openShortcutHelp",label:"Keyboard shortcuts (Ctrl+/)",icon:"ng-keyboard"},exportPdf:{kind:"button",command:"exportPdf",label:"Export to PDF",icon:"ng-printer"},exportWord:{kind:"button",command:"exportWord",label:"Export to Word",icon:"ng-file-text"},exportInlineHtml:{kind:"button",command:"exportInlineHtml",label:"Export HTML with inline styles (email)",icon:"ng-file-code"},importMarkdown:{kind:"button",command:"openMarkdown",label:"Insert from Markdown",icon:"ng-clipboard-paste"},importWord:{kind:"button",command:"importWord",label:"Import from Word",icon:"ng-file-input"},formatPainter:{kind:"button",command:"toggleFormatPainter",label:"Format painter (copy formatting)",icon:"ng-paintbrush",active:i=>!!i.formatPainter},caseChange:{kind:"select",label:"Change case",options:[{value:"",label:"Case"},{value:"upper",label:"UPPERCASE"},{value:"lower",label:"lowercase"},{value:"title",label:"Title Case"},{value:"sentence",label:"Sentence case"}],value:()=>"",command:i=>({name:"changeCase",attrs:{textCase:i||"upper"}}),disabled:i=>i.selectionEmpty},mergeField:{kind:"button",command:"openMergeField",label:"Insert merge field",icon:"ng-braces"},template:{kind:"button",command:"openTemplate",label:"Insert template",icon:"ng-layout-template"},math:{kind:"button",command:"openMath",label:"Insert math (LaTeX)",icon:"ng-sigma"},heading:{kind:"select",label:"Paragraph style",options:[{value:"",label:"Paragraph"},{value:"1",label:"Heading 1"},{value:"2",label:"Heading 2"},{value:"3",label:"Heading 3"},{value:"4",label:"Heading 4"},{value:"5",label:"Heading 5"},{value:"6",label:"Heading 6"}],value:i=>i.headingLevel?String(i.headingLevel):"",command:i=>""===i?{name:"paragraph"}:{name:"heading",attrs:{level:Number(i)}}},fontFamily:{kind:"select",label:"Font family",options:[{value:"",label:"Font"},...["Arial","Georgia","Tahoma","Times New Roman","Trebuchet MS","Verdana","Courier New"].map((i=>({value:i,label:i})))],value:i=>i.fontFamily??"",command:i=>({name:"fontFamily",attrs:{family:i||null}})},fontSize:{kind:"select",label:"Font size",options:[{value:"",label:"Size"},...["10px","12px","14px","16px","18px","20px","24px","28px","32px","48px"].map((i=>({value:i,label:i.replace("px","")})))],value:i=>i.fontSize??"",command:i=>({name:"fontSize",attrs:{size:i||null}})},lineHeight:{kind:"select",label:"Line height",options:[{value:"",label:"Spacing"},{value:"1",label:"1"},{value:"1.15",label:"1.15"},{value:"1.5",label:"1.5"},{value:"2",label:"2"},{value:"2.5",label:"2.5"},{value:"3",label:"3"}],value:i=>i.lineHeight??"",command:i=>({name:"lineHeight",attrs:{lineHeight:i||null}}),disabled:i=>i.inCodeBlock},textColor:{kind:"color",label:"Text color",glyph:"A",command:"textColor",value:i=>i.textColor},bgColor:{kind:"color",label:"Highlight color",glyph:"✎",command:"bgColor",value:i=>i.bgColor}};let p=class extends t{constructor(){super(...arguments),this.config=r,this.disabled=!1,this.openMenu=null,this.overflowOpen=!1,this.handleOutsideClick=i=>{!this.openMenu&&!this.overflowOpen||i.composedPath().includes(this)||(this.openMenu=null,this.overflowOpen=!1)},this.toggleOverflow=()=>{this.overflowOpen=!this.overflowOpen,this.openMenu=null}}static get styles(){return[l]}get isAuthoringContainer(){return!!this.closest("nile-wysiwyg-editor")}connectedCallback(){super.connectedCallback(),this.isAuthoringContainer||document.addEventListener("mousedown",this.handleOutsideClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousedown",this.handleOutsideClick)}toggleMenu(i){this.openMenu=this.openMenu===i?null:i}dispatchCommand(i,s){this.overflowOpen=!1,this.emit("wysiwyg-command",{name:i,attrs:s})}withTooltip(i,n){return s`
|
|
2
|
+
<nile-lite-tooltip content=${i} placement="top">${n}</nile-lite-tooltip>
|
|
3
|
+
`}renderButton(i,n){const o=this.toolbarState,e=!(!o||!i.active)&&i.active(o),c=this.disabled||!(!o||!i.disabled)&&i.disabled(o),t=n?.label??i.label,l=n?.icon??i.icon,r=e&&i.iconActive?i.iconActive:l;return this.withTooltip(t,s`
|
|
4
4
|
<button
|
|
5
5
|
type="button"
|
|
6
6
|
class="toolbar__button"
|
|
7
7
|
part="button"
|
|
8
|
-
aria-label=${
|
|
9
|
-
aria-pressed=${
|
|
10
|
-
?data-active=${
|
|
11
|
-
?disabled=${
|
|
12
|
-
@mousedown=${
|
|
13
|
-
@click=${()=>this.dispatchCommand(
|
|
8
|
+
aria-label=${t}
|
|
9
|
+
aria-pressed=${e?"true":"false"}
|
|
10
|
+
?data-active=${e}
|
|
11
|
+
?disabled=${c}
|
|
12
|
+
@mousedown=${i=>i.preventDefault()}
|
|
13
|
+
@click=${()=>this.dispatchCommand(i.command,i.attrs)}
|
|
14
14
|
>
|
|
15
|
-
${
|
|
15
|
+
${r?m(r,18):i.text}
|
|
16
16
|
</button>
|
|
17
|
-
`)}renderSelect(e
|
|
17
|
+
`)}renderSelect(i,o,e){const c=this.toolbarState?o.value(this.toolbarState):"",t="function"==typeof o.options?o.options(this.toolbarState):o.options,m=t.find((i=>i.value===c))??t[0],l=this.disabled||!(!this.toolbarState||!o.disabled)&&o.disabled(this.toolbarState),r="fontFamily"===i,a=e?.label??o.label;return s`
|
|
18
18
|
<span class="toolbar__dropdown" part="select">
|
|
19
|
-
${this.withTooltip(a
|
|
19
|
+
${this.withTooltip(a,s`
|
|
20
20
|
<button
|
|
21
21
|
type="button"
|
|
22
22
|
class="toolbar__dd-trigger"
|
|
23
|
-
aria-label=${a
|
|
24
|
-
aria-expanded=${this.openMenu===
|
|
25
|
-
?disabled=${
|
|
26
|
-
style=${c
|
|
27
|
-
@mousedown=${
|
|
28
|
-
@click=${()=>this.toggleMenu(
|
|
23
|
+
aria-label=${a}
|
|
24
|
+
aria-expanded=${this.openMenu===i?"true":"false"}
|
|
25
|
+
?disabled=${l}
|
|
26
|
+
style=${r&&c?`font-family: ${c}`:""}
|
|
27
|
+
@mousedown=${i=>i.preventDefault()}
|
|
28
|
+
@click=${()=>this.toggleMenu(i)}
|
|
29
29
|
>
|
|
30
|
-
${
|
|
30
|
+
${m.label}
|
|
31
31
|
<nile-glyph name="arrowdown" size="16"></nile-glyph>
|
|
32
32
|
</button>
|
|
33
33
|
`)}
|
|
34
|
-
${this.openMenu===
|
|
35
|
-
<div class="toolbar__dd-menu" @mousedown=${
|
|
36
|
-
${
|
|
34
|
+
${this.openMenu===i?s`
|
|
35
|
+
<div class="toolbar__dd-menu" @mousedown=${i=>i.preventDefault()}>
|
|
36
|
+
${t.map((i=>s`
|
|
37
37
|
<div
|
|
38
38
|
class="toolbar__dd-item"
|
|
39
|
-
?data-active=${
|
|
40
|
-
style=${
|
|
41
|
-
@click=${()=>{this.openMenu=null;const{name:
|
|
39
|
+
?data-active=${i.value===c}
|
|
40
|
+
style=${r&&i.value?`font-family: ${i.value}`:""}
|
|
41
|
+
@click=${()=>{this.openMenu=null;const{name:s,attrs:n}=o.command(i.value);this.dispatchCommand(s,n)}}
|
|
42
42
|
>
|
|
43
|
-
${
|
|
43
|
+
${i.label}
|
|
44
44
|
</div>
|
|
45
45
|
`))}
|
|
46
46
|
</div>
|
|
47
|
-
`:
|
|
47
|
+
`:n}
|
|
48
48
|
</span>
|
|
49
|
-
`}setColor(
|
|
49
|
+
`}setColor(i,s){this.dispatchCommand(i.command,{color:"none"===s?"":s})}renderColor(i,o,e){const c=(this.toolbarState?o.value(this.toolbarState):null)??"#000000",t="bgColor"===o.command,m=e?.label??o.label;return s`
|
|
50
50
|
<span class="toolbar__color" part="color">
|
|
51
|
-
${this.withTooltip(
|
|
51
|
+
${this.withTooltip(m,s`
|
|
52
52
|
<button
|
|
53
53
|
type="button"
|
|
54
54
|
class="toolbar__button"
|
|
55
|
-
aria-label=${
|
|
56
|
-
aria-expanded=${this.openMenu===
|
|
55
|
+
aria-label=${m}
|
|
56
|
+
aria-expanded=${this.openMenu===i?"true":"false"}
|
|
57
57
|
?disabled=${this.disabled}
|
|
58
|
-
@mousedown=${
|
|
59
|
-
@click=${()=>this.toggleMenu(
|
|
58
|
+
@mousedown=${i=>i.preventDefault()}
|
|
59
|
+
@click=${()=>this.toggleMenu(i)}
|
|
60
60
|
>
|
|
61
|
-
${s
|
|
61
|
+
${t?s`<span class="swatch-box" style="background: ${c}"></span>`:s`
|
|
62
62
|
<span class="glyph-stack">
|
|
63
63
|
<span class="glyph">A</span>
|
|
64
|
-
<span class="underline" style="background: ${
|
|
64
|
+
<span class="underline" style="background: ${c}"></span>
|
|
65
65
|
</span>
|
|
66
66
|
`}
|
|
67
67
|
</button>
|
|
68
68
|
`)}
|
|
69
|
-
${this.openMenu===
|
|
70
|
-
<div class="
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
style="background: ${i}"
|
|
79
|
-
title=${i}
|
|
80
|
-
@click=${()=>this.setColor(e,a,i)}
|
|
81
|
-
>
|
|
82
|
-
${n===i?t`<span class="checkmark">✓</span>`:l}
|
|
83
|
-
</button>
|
|
84
|
-
`))}
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
${o.length?t`
|
|
88
|
-
<div class="section">
|
|
89
|
-
<div class="title">Recently Used</div>
|
|
90
|
-
<div class="swatches">
|
|
91
|
-
${o.map((l=>t`
|
|
92
|
-
<button
|
|
93
|
-
type="button"
|
|
94
|
-
class="swatch"
|
|
95
|
-
style="background: ${l}"
|
|
96
|
-
title=${l}
|
|
97
|
-
@click=${()=>this.setColor(e,a,l)}
|
|
98
|
-
></button>
|
|
99
|
-
`))}
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
`:l}
|
|
103
|
-
<div class="section">
|
|
104
|
-
<div class="title">Custom</div>
|
|
105
|
-
<div class="swatches">
|
|
106
|
-
<button
|
|
107
|
-
type="button"
|
|
108
|
-
class="swatch add"
|
|
109
|
-
@click=${e=>{const t=e.currentTarget.closest(".toolbar__color").querySelector('input[type="color"]');t?.click()}}
|
|
110
|
-
>
|
|
111
|
-
+
|
|
112
|
-
</button>
|
|
113
|
-
</div>
|
|
114
|
-
</div>
|
|
69
|
+
${this.openMenu===i?s`
|
|
70
|
+
<div class="toolbar__color-panel">
|
|
71
|
+
<nile-color-picker
|
|
72
|
+
mode="inline"
|
|
73
|
+
type="swatches"
|
|
74
|
+
.noFill=${t}
|
|
75
|
+
.value=${c}
|
|
76
|
+
@nile-change=${i=>this.setColor(o,i.detail.value)}
|
|
77
|
+
></nile-color-picker>
|
|
115
78
|
</div>
|
|
116
|
-
`:
|
|
117
|
-
<input
|
|
118
|
-
type="color"
|
|
119
|
-
tabindex="-1"
|
|
120
|
-
aria-hidden="true"
|
|
121
|
-
.value=${i}
|
|
122
|
-
@input=${t=>this.setColor(e,a,t.target.value)}
|
|
123
|
-
/>
|
|
79
|
+
`:n}
|
|
124
80
|
</span>
|
|
125
|
-
`}renderItem(
|
|
81
|
+
`}renderItem(i,o){if("table"===i)return this.withTooltip(o?.label??"Insert table",s`
|
|
126
82
|
<nile-wysiwyg-table-picker
|
|
127
83
|
part="button"
|
|
128
84
|
?disabled=${this.disabled}
|
|
129
85
|
></nile-wysiwyg-table-picker>
|
|
130
|
-
`);const a
|
|
86
|
+
`);const e=a[i];if(!e)return n;switch(e.kind){case"button":return this.renderButton(e,o);case"select":return this.renderSelect(i,e,o);case"color":return this.renderColor(i,e,o);default:return n}}itemsFromConfig(i){return i.trim().split(/\s+/).filter(Boolean).map((i=>({name:i})))}groupItems(i){const s=[[]];for(const n of i)"|"!==n.name?s[s.length-1].push(n):s[s.length-1].length&&s.push([]);return s.filter((i=>i.length>0))}partitionGroups(i){const s=i.findIndex((i=>">>"===i.name));return-1!==s?{main:this.groupItems(i.slice(0,s)),overflow:this.groupItems(i.slice(s+1))}:i.some((i=>i.overflow))?{main:this.groupItems(i.filter((i=>!i.overflow))),overflow:this.groupItems(i.filter((i=>i.overflow)))}:{main:this.groupItems(i),overflow:[]}}renderOverflow(i,o){const e=this.overflowOpen;return s`
|
|
87
|
+
${i?s`<span class="toolbar__divider"></span>`:n}
|
|
88
|
+
<span class="toolbar__overflow" part="overflow">
|
|
89
|
+
${this.withTooltip("More",s`
|
|
90
|
+
<button
|
|
91
|
+
type="button"
|
|
92
|
+
class="toolbar__button"
|
|
93
|
+
aria-label="More"
|
|
94
|
+
aria-haspopup="true"
|
|
95
|
+
aria-expanded=${e?"true":"false"}
|
|
96
|
+
?data-active=${e}
|
|
97
|
+
?disabled=${this.disabled}
|
|
98
|
+
@mousedown=${i=>i.preventDefault()}
|
|
99
|
+
@click=${this.toggleOverflow}
|
|
100
|
+
>
|
|
101
|
+
${m("ng-dots-vertical",18)}
|
|
102
|
+
</button>
|
|
103
|
+
`)}
|
|
104
|
+
${e?s`
|
|
105
|
+
<div
|
|
106
|
+
class="toolbar__overflow-panel"
|
|
107
|
+
part="overflow-panel"
|
|
108
|
+
@mousedown=${i=>i.preventDefault()}
|
|
109
|
+
>
|
|
110
|
+
${o.map(((i,o)=>s`
|
|
111
|
+
${o>0?s`<span class="toolbar__overflow-divider"></span>`:n}
|
|
112
|
+
${i.map((i=>this.renderItem(i.name,{label:i.label,icon:i.icon})))}
|
|
113
|
+
`))}
|
|
114
|
+
</div>
|
|
115
|
+
`:n}
|
|
116
|
+
</span>
|
|
117
|
+
`}render(){if(this.isAuthoringContainer)return s``;const i=this.items&&this.items.length?this.items:this.itemsFromConfig(this.config),{main:o,overflow:e}=this.partitionGroups(i);return s`
|
|
131
118
|
<div class="toolbar" part="toolbar" role="toolbar" aria-label="Text formatting">
|
|
132
|
-
${
|
|
133
|
-
${
|
|
134
|
-
${
|
|
119
|
+
${o.map(((i,o)=>s`
|
|
120
|
+
${o>0?s`<span class="toolbar__divider"></span>`:n}
|
|
121
|
+
${i.map((i=>this.renderItem(i.name,{label:i.label,icon:i.icon})))}
|
|
135
122
|
`))}
|
|
123
|
+
${e.length?this.renderOverflow(o.length>0,e):n}
|
|
136
124
|
</div>
|
|
137
|
-
`}};
|
|
125
|
+
`}};i([o({type:String})],p.prototype,"config",void 0),i([o({attribute:!1})],p.prototype,"items",void 0),i([o({type:Boolean,reflect:!0})],p.prototype,"disabled",void 0),i([o({attribute:!1})],p.prototype,"toolbarState",void 0),i([e()],p.prototype,"openMenu",void 0),i([e()],p.prototype,"overflowOpen",void 0),p=i([c("nile-wysiwyg-toolbar")],p);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register([],function(_export,_context){"use strict";var e;return{setters:[],execute:function execute(){_export("D",e="undo redo findReplace | heading | bold italic underline strike subscript superscript | fontFamily fontSize lineHeight | textColor bgColor | alignLeft alignCenter alignRight alignJustify | bulletList orderedList taskList listStyle indent outdent blockquote | link bookmark table image embed codeBlock math horizontalRule specialChars emoji
|
|
1
|
+
System.register([],function(_export,_context){"use strict";var e;return{setters:[],execute:function execute(){_export("D",e="undo redo findReplace | heading | bold italic underline strike subscript superscript | fontFamily fontSize lineHeight | textColor bgColor | alignLeft alignCenter alignRight alignJustify | bulletList orderedList taskList listStyle indent outdent blockquote | link bookmark table image embed codeBlock math horizontalRule specialChars emoji >> mergeField template | formatPainter caseChange clearFormatting pastePlainText showBlocks sourceView | importMarkdown importWord exportInlineHtml exportWord exportPdf | shortcutHelp fullscreen");}};});
|
|
2
2
|
//# sourceMappingURL=types.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs.js","sources":["../../../src/nile-wysiwyg-editor/types.ts"],"sourcesContent":["import type { CommandAttrs, CommandName } from './engine/commands';\n\n/**\n * Toolbar configuration. The string form uses space-separated item names with\n * `|` as a group divider, e.g. `\"bold italic | heading | link\"`.
|
|
1
|
+
{"version":3,"file":"types.cjs.js","sources":["../../../src/nile-wysiwyg-editor/types.ts"],"sourcesContent":["import type { CommandAttrs, CommandName } from './engine/commands';\n\n/**\n * Toolbar configuration. The string form uses space-separated item names with\n * `|` as a group divider, e.g. `\"bold italic | heading | link\"`. A `>>` marker\n * moves every item after it into a collapsible 3-dot \"more\" menu, e.g.\n * `\"bold italic | heading >> link image | sourceView\"`. `\"none\"` hides the\n * toolbar entirely.\n */\nexport type ToolbarConfig = string;\n\n/** Pseudo-commands handled by the host chrome rather than the registry. */\nexport type UiCommandName =\n | 'openLink'\n | 'openImage'\n | 'openEmbed'\n | 'openBookmark'\n | 'toggleSource'\n | 'togglePastePlainText'\n | 'toggleFullscreen'\n | 'toggleShowBlocks'\n | 'openShortcutHelp'\n | 'openSpecialChars'\n | 'openEmoji'\n | 'openFind'\n | 'exportPdf'\n | 'exportWord'\n | 'exportInlineHtml'\n | 'importWord'\n | 'toggleFormatPainter'\n | 'openMergeField'\n | 'openTemplate'\n | 'openMath'\n | 'openMarkdown';\n\n/** Detail payload of the internal `wysiwyg-command` event (toolbar → host). */\nexport interface WysiwygCommandDetail {\n name: CommandName | UiCommandName;\n attrs?: CommandAttrs;\n}\n\n/** Mention configuration: trigger character → items. Same shape as the\n * legacy nile-rich-text-editor. */\nexport type MentionsConfig = Record<string, { key: string; label: string }[]>;\n\n/** Reusable content snippet, offered through the \"/\" menu. */\nexport interface SnippetConfig {\n key: string;\n label: string;\n html: string;\n}\n\n/** A mail-merge / personalization placeholder offered in the merge-field picker. */\nexport interface MergeFieldConfig {\n /** Stable identifier substituted at render time (e.g. `first_name`). */\n id: string;\n /** Human-readable label shown in the chip and picker. */\n label: string;\n}\n\n/** A predefined content structure offered in the template picker. */\nexport interface TemplateConfig {\n label: string;\n /** Optional secondary line shown under the label in the picker. */\n description?: string;\n /** HTML inserted at the cursor when chosen. */\n html: string;\n}\n\n/** Detail payload of `nile-change` / `nile-input`. */\nexport interface WysiwygChangeDetail {\n value: string;\n json: Record<string, unknown>;\n /** Alias of `value` for drop-in parity with nile-rich-text-editor. */\n content: string;\n}\n\nexport const DEFAULT_TOOLBAR =\n 'undo redo findReplace | heading | bold italic underline strike subscript superscript | fontFamily fontSize lineHeight | ' +\n 'textColor bgColor | alignLeft alignCenter alignRight alignJustify | ' +\n 'bulletList orderedList taskList listStyle indent outdent blockquote | ' +\n 'link bookmark table image embed codeBlock math horizontalRule specialChars emoji ' +\n '>> mergeField template | ' +\n 'formatPainter caseChange clearFormatting pastePlainText showBlocks sourceView | ' +\n 'importMarkdown importWord exportInlineHtml exportWord exportPdf | shortcutHelp fullscreen';\n"],"names":["DEFAULT_TOOLBAR"],"mappings":"0HA6EaA,EACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="undo redo findReplace | heading | bold italic underline strike subscript superscript | fontFamily fontSize lineHeight | textColor bgColor | alignLeft alignCenter alignRight alignJustify | bulletList orderedList taskList listStyle indent outdent blockquote | link bookmark table image embed codeBlock math horizontalRule specialChars emoji
|
|
1
|
+
const e="undo redo findReplace | heading | bold italic underline strike subscript superscript | fontFamily fontSize lineHeight | textColor bgColor | alignLeft alignCenter alignRight alignJustify | bulletList orderedList taskList listStyle indent outdent blockquote | link bookmark table image embed codeBlock math horizontalRule specialChars emoji >> mergeField template | formatPainter caseChange clearFormatting pastePlainText showBlocks sourceView | importMarkdown importWord exportInlineHtml exportWord exportPdf | shortcutHelp fullscreen";export{e as D};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js"],function(_export,_context){"use strict";var t,e,r,i,o;function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){e=_lit.LitElement;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;i=_litDecoratorsJs.customElement;}],execute:function execute(){_export("N",o=/*#__PURE__*/function(_e){function o(){var _this;_classCallCheck(this,o);_this=_callSuper(this,o,arguments),_this.name="",_this.label="",_this.icon="",_this.divider=!1;return _this;}_inherits(o,_e);return _createClass(o,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"shouldUpdate",value:function shouldUpdate(){return!1;}}]);}(e));t([r({type:String,reflect:!0})],o.prototype,"name",void 0),t([r({type:String,reflect:!0})],o.prototype,"label",void 0),t([r({type:String,reflect:!0})],o.prototype,"icon",void 0),t([r({type:Boolean,reflect:!0})],o.prototype,"divider",void 0),_export("N",o=t([i("nile-wysiwyg-bubble-item")],o));}};});
|
|
2
|
+
//# sourceMappingURL=bubble-item.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bubble-item.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/bubble-item.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n/**\n * Declarative, light-DOM marker for a single selection bubble-menu control.\n *\n * Author these as children of `<nile-wysiwyg-editor>` to build the bubble menu\n * shown 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 *\n * Any other `name` is dispatched as a raw `wysiwyg-command` (so custom editor\n * commands work) as long as an `icon` is supplied.\n *\n * The element renders nothing itself — the editor discovers it and renders the\n * real control inside the bubble menu's shadow DOM.\n *\n * @tag nile-wysiwyg-bubble-item\n */\n@customElement('nile-wysiwyg-bubble-item')\nexport class NileWysiwygBubbleItem extends LitElement {\n protected createRenderRoot(): this {\n return this;\n }\n protected shouldUpdate(): boolean {\n return false;\n }\n\n /** Built-in control name, or a raw command name when paired with `icon`. */\n @property({ type: String, reflect: true }) name = '';\n\n /** Overrides the control's tooltip / accessible label. */\n @property({ type: String, reflect: true }) label = '';\n\n /** Overrides the control's glyph (a `nile-glyph` name). */\n @property({ type: String, reflect: true }) icon = '';\n\n /** Renders a separator instead of a control. */\n @property({ type: Boolean, reflect: true }) divider = false;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-bubble-item': NileWysiwygBubbleItem;\n }\n}\n"],"names":["NileWysiwygBubbleItem","_e","o","constructor","this","name","label","icon","divider","_this","_inherits","_createClass","key","value","createRenderRoot","shouldUpdate","LitElement","__decorate","property","type","String","reflect","prototype","Boolean","customElement"],"mappings":"4yFAkCaA,CAAN,uBAAAC,EAAA,EAAA,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,mCASsCC,EAAAA,KAAAA,CAAIC,KAAG,EAGPD,CAAAA,KAAAA,CAAKE,MAAG,EAGRF,CAAAA,KAAAA,CAAIG,KAAG,EAGNH,CAAAA,KAAAA,CAAOI,SAAG,CACvD,QAAAC,KAAA,EAlBWC,SAAA,CAAAR,CAAA,CAAAD,EAAA,SAAAU,YAAA,CAAAT,CAAA,GAAAU,GAAA,oBAAAC,KAAA,UAAAC,gBAAAA,CAAAA,CACR,CAAA,MAAOV,KACR,EACS,GAAAQ,GAAA,gBAAAC,KAAA,UAAAE,YAAAA,CAAAA,EACR,MAAO,CAAA,CACR,QANwCC,IASEC,CAAA,CAAA,CAA1CC,EAAS,CAAEC,IAAAA,CAAMC,OAAQC,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBrB,CAAAsB,CAAAA,SAAAA,CAAA,WAAA,EAGVL,CAAAA,CAAAA,CAAAA,CAAA,CAA1CC,CAAS,CAAA,CAAEC,KAAMC,MAAQC,CAAAA,OAAAA,CAAAA,CAAS,KAAmBrB,CAAAsB,CAAAA,SAAAA,CAAA,YAAA,EAGXL,CAAAA,CAAAA,CAAAA,CAAA,CAA1CC,CAAS,CAAA,CAAEC,KAAMC,MAAQC,CAAAA,OAAAA,CAAAA,CAAS,KAAkBrB,CAAAsB,CAAAA,SAAAA,CAAA,WAAA,EAGTL,CAAAA,CAAAA,CAAAA,CAAA,CAA3CC,CAAS,CAAA,CAAEC,KAAMI,OAASF,CAAAA,OAAAA,CAAAA,CAAS,KAAwBrB,CAAAsB,CAAAA,SAAAA,CAAA,cAAA,EAlBjDtB,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAqBiB,EAAA,CADjCO,CAAAA,CAAc,6BACFxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__decorate as t}from"tslib";import{LitElement as e}from"lit";import{property as r,customElement as i}from"lit/decorators.js";let o=class extends e{constructor(){super(...arguments),this.name="",this.label="",this.icon="",this.divider=!1}createRenderRoot(){return this}shouldUpdate(){return!1}};t([r({type:String,reflect:!0})],o.prototype,"name",void 0),t([r({type:String,reflect:!0})],o.prototype,"label",void 0),t([r({type:String,reflect:!0})],o.prototype,"icon",void 0),t([r({type:Boolean,reflect:!0})],o.prototype,"divider",void 0),o=t([i("nile-wysiwyg-bubble-item")],o);export{o as N};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../internal/glyph.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../internal/glyph.cjs.js","../../nile-lite-tooltip/nile-lite-tooltip.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js","../../nile-lite-tooltip/nile-lite-tooltip.css.cjs.js","../../tippy.esm-78baa8f2.cjs.js","../../nile-lite-tooltip/utils.cjs.js","../../utilities/visibility-manager.cjs.js"],function(_export,_context){"use strict";var i,t,e,n,r,l,o,a,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,s,c,d;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){i=_tslib.__decorate;},function(_lit){t=_lit.css;e=_lit.html;n=_lit.nothing;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;l=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){o=_internalNileElementCjsJs.N;},function(_internalGlyphCjsJs){a=_internalGlyphCjsJs.r;},function(_nileLiteTooltipNileLiteTooltipCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_nileLiteTooltipNileLiteTooltipCssCjsJs){},function(_tippyEsm008CjsJs){},function(_nileLiteTooltipUtilsCjsJs){},function(_utilitiesVisibilityManagerCjsJs){}],execute:function execute(){s={bold:{command:"bold",label:"Bold",icon:"format_bold",active:function active(i){return i.bold;}},italic:{command:"italic",label:"Italic",icon:"format_italic",active:function active(i){return i.italic;}},underline:{command:"underline",label:"Underline",icon:"format_underline",active:function active(i){return i.underline;}},strike:{command:"strike",label:"Strikethrough",icon:"ng-strikethrough",active:function active(i){return i.strike;}},code:{command:"code",label:"Inline code",icon:"ng-code",active:function active(i){return i.code;}},subscript:{command:"subscript",label:"Subscript",icon:"ng-subscript",active:function active(i){return i.subscript;}},superscript:{command:"superscript",label:"Superscript",icon:"ng-superscript",active:function active(i){return i.superscript;}},link:{command:"openLink",label:"Link",icon:"link_2",active:function active(i){return i.linkActive;}},bulletList:{command:"bulletList",label:"Bulleted list",icon:"format_list_bulleted",active:function active(i){return i.inBulletList;}},orderedList:{command:"orderedList",label:"Numbered list",icon:"format_list_numbered",active:function active(i){return i.inOrderedList;}},alignLeft:{command:"align",label:"Align left",icon:"format_align_left",attrs:{align:"left"},active:function active(i){return"left"===i.align;}},alignCenter:{command:"align",label:"Align center",icon:"format_align_middle",attrs:{align:"center"},active:function active(i){return"center"===i.align;}},alignRight:{command:"align",label:"Align right",icon:"format_align_right",attrs:{align:"right"},active:function active(i){return"right"===i.align;}},clearFormatting:{command:"clearFormatting",label:"Clear formatting",icon:"format_clear"}},c=["bold","italic","underline","strike","link"];d=/*#__PURE__*/function(_o){function d(){var _this;_classCallCheck(this,d);_this=_callSuper(this,d,arguments),_this.open=!1;return _this;}_inherits(d,_o);return _createClass(d,[{key:"isAuthoringContainer",get:function get(){return!!this.closest("nile-wysiwyg-editor");}},{key:"render",value:function render(){var _this2=this;if(this.isAuthoringContainer)return e(_templateObject||(_templateObject=_taggedTemplateLiteral([""])));var i=this.toolbarState,t=this.items&&this.items.length?this.items:c.map(function(i){return{name:i};});return e(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"bubble\" part=\"bubble-menu\" @mousedown=",">\n ","\n </div>\n "])),function(i){return i.preventDefault();},t.map(function(t){return _this2.renderEntry(t,i);}));}},{key:"renderEntry",value:function renderEntry(i,t){var _r$command,_this3=this;if("|"===i.name)return e(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["<span class=\"divider\" part=\"bubble-divider\"></span>"])));var r=s[i.name],l=i.label||(r===null||r===void 0?void 0:r.label)||i.name,o=i.icon||(r===null||r===void 0?void 0:r.icon);if(!o)return n;var c=(_r$command=r===null||r===void 0?void 0:r.command)!==null&&_r$command!==void 0?_r$command:i.name,_d=r===null||r===void 0?void 0:r.attrs,m=!(!(r!==null&&r!==void 0&&r.active)||!t)&&r.active(t);return e(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-lite-tooltip content="," placement=\"top\">\n <button\n type=\"button\"\n aria-label=","\n ?data-active=","\n @click=","\n >\n ","\n </button>\n </nile-lite-tooltip>\n "])),l,l,m,function(){return _this3.emit("wysiwyg-command",_d?{name:c,attrs:_d}:{name:c});},a(o,16));}}],[{key:"styles",get:function get(){return[t(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bubble {\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid\n var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, #d0d5dd));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(\n --nile-wysiwyg-popover-shadow,\n 0 4px 12px rgba(16, 24, 40, 0.12)\n );\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n button:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n\n button[data-active] {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50, #eff4ff));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700, #1d4ed8));\n }\n\n .divider {\n align-self: stretch;\n width: 1px;\n margin: 3px 2px;\n background: var(--nile-colors-neutral-300, #e4e7ec);\n }\n "])))];}}]);}(o);i([r({type:Boolean,reflect:!0})],d.prototype,"open",void 0),i([r({attribute:!1})],d.prototype,"toolbarState",void 0),i([r({attribute:!1})],d.prototype,"items",void 0),d=i([l("nile-wysiwyg-bubble-menu")],d);}};});
|
|
2
2
|
//# sourceMappingURL=bubble-menu.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubble-menu.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/bubble-menu.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport { renderGlyph } from '../../internal/glyph';\nimport type { ToolbarState } from '../engine/selection-state';\nimport type { WysiwygCommandDetail } from '../types';\n\ninterface BubbleItem {\n name: WysiwygCommandDetail['name'];\n label: string;\n /** nile-glyph icon name (ng-* names are stroke-drawn). */\n icon: string;\n active: (state: ToolbarState) => boolean;\n}\n\n/**\n * 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 */\n@customElement('nile-wysiwyg-bubble-menu')\nexport class NileWysiwygBubbleMenu extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: false }) toolbarState?: ToolbarState;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bubble {\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid\n var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, #d0d5dd));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(\n --nile-wysiwyg-popover-shadow,\n 0 4px 12px rgba(16, 24, 40, 0.12)\n );\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n button:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n\n button[data-active] {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50, #eff4ff));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700, #1d4ed8));\n }\n `,\n ];\n }\n\n /** Same icon set as the main toolbar, so both surfaces look identical. */\n private items: BubbleItem[] = [\n { name: 'bold', label: 'Bold', icon: 'format_bold', active: s => s.bold },\n { name: 'italic', label: 'Italic', icon: 'format_italic', active: s => s.italic },\n {\n name: 'underline',\n label: 'Underline',\n icon: 'format_underline',\n active: s => s.underline,\n },\n {\n name: 'strike',\n label: 'Strikethrough',\n icon: 'ng-strikethrough',\n active: s => s.strike,\n },\n {\n name: 'openLink',\n label: 'Link',\n icon: 'link_2',\n active: s => s.linkActive,\n },\n ];\n\n public render(): TemplateResult {\n const state = this.toolbarState;\n return html`\n <div class=\"bubble\" part=\"bubble-menu\" @mousedown=${(e: Event) => e.preventDefault()}>\n ${this.items.map(\n item => html`\n <button\n type=\"button\"\n title=${item.label}\n aria-label=${item.label}\n ?data-active=${state ? item.active(state) : false}\n @click=${() => this.emit('wysiwyg-command', { name: item.name })}\n >\n ${renderGlyph(item.icon, 16)}\n </button>\n `\n )}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-bubble-menu': NileWysiwygBubbleMenu;\n }\n}\n"],"names":["NileWysiwygBubbleMenu","l","this","open","items","name","label","icon","active","s","bold","italic","underline","strike","linkActive","_this","_inherits","_n","_createClass","key","value","render","_this2","state","toolbarState","html","_templateObject","_taggedTemplateLiteral","e","preventDefault","map","item","_templateObject2","emit","renderGlyph","__decorate","get","css","_templateObject3","NileElement","property","type","Boolean","reflect","prototype","attribute","customElement"],"mappings":"g+GAqBaA,4BAAN,SAAAC,EAAA,qEACuCC,EAAAA,KAAAA,CAAIC,MAAG,CA+D3CD,CAAAA,KAAAA,CAAAE,MAAsB,CAC5B,CAAEC,KAAM,MAAQC,CAAAA,KAAAA,CAAO,OAAQC,IAAM,CAAA,aAAA,CAAeC,OAAQC,QAARD,CAAAA,OAAQC,CAAKA,QAAAA,CAAAA,CAAAA,CAAEC,QACnE,CAAEL,IAAAA,CAAM,SAAUC,KAAO,CAAA,QAAA,CAAUC,IAAM,CAAA,eAAA,CAAiBC,OAAQC,QAARD,CAAAA,OAAQC,CAAKA,QAAAA,CAAAA,CAAAA,CAAEE,UACzE,CACEN,IAAAA,CAAM,YACNC,KAAO,CAAA,WAAA,CACPC,KAAM,kBACNC,CAAAA,MAAAA,CAAQC,QAARD,CAAAA,MAAAA,CAAQC,SAAKA,CAAAA,CAAEG,CAAAA,SAAAA,GAAAA,CAEjB,CACEP,IAAM,CAAA,QAAA,CACNC,MAAO,eACPC,CAAAA,IAAAA,CAAM,kBACNC,CAAAA,MAAAA,CAAQC,QAARD,CAAAA,MAAAA,CAAQC,SAAKA,CAAAA,CAAEI,CAAAA,MAAAA,GAAAA,CAEjB,CACER,IAAM,CAAA,UAAA,CACNC,MAAO,MACPC,CAAAA,IAAAA,CAAM,SACNC,MAAQC,CAAAA,QAARD,CAAAA,MAAQC,CAAAA,CAAAA,QAAKA,CAAAA,EAAEK,UAwBpB,GAAA,CAAA,QAAAC,KAAA,EAtGQC,SAAA,CAAAf,CAAA,CAAAgB,EAAA,SAAAC,YAAA,CAAAjB,CAAA,GAAAkB,GAAA,UAAAC,KAAA,CAkFA,SAAAC,MAAAA,CAAAA,CACL,KAAAC,MAAA,MAAA,GAAMC,CAAAA,EAAQrB,IAAKsB,CAAAA,YAAAA,CACnB,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,2GAC4CC,SAAAA,CAAAA,QAAaA,CAAAA,CAAEC,CAAAA,cAAAA,CAAAA,CAAAA,GAChE3B,IAAKE,CAAAA,KAAAA,CAAM0B,GACXC,CAAAA,SAAAA,CAAAA,QAAQN,CAAAA,CAAI,CAAAO,gBAAA,GAAAA,gBAAA,CAAAL,sBAAA,kPAGAI,CAAKzB,CAAAA,KAAAA,CACAyB,CAAKzB,CAAAA,KAAAA,CACHiB,CAAAA,CAAAA,CAAAA,EAAQQ,EAAKvB,MAAOe,CAAAA,CAAAA,CAAAA,CAC1B,iBAAMrB,CAAAA,MAAK+B,CAAAA,IAAAA,CAAK,iBAAmB,CAAA,CAAE5B,KAAM0B,CAAK1B,CAAAA,IAAAA,CAAAA,CAAAA,GAEvD6B,CAAAA,CAAYH,EAAKxB,IAAM,CAAA,EAAA,CAAA,MAMpC,CAzG2C4B,KAAAA,GAAAA,UAAAA,GAAAA,CAIrC,SAAAC,IAAA,CACL,CAAA,MAAO,CACLC,CAAG,CAAAC,gBAAA,GAAAA,gBAAA,CAAAX,sBAAA,okDAsDN,EA0BM,MAvFkCY,CAAAA,EACGJ,CAAAA,CAAA,CAA3CK,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAqB3C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA4C,SAAA,CAAA,MAAA,CAAA,IAAA,EAEzBT,CAAAA,CAAAA,CAAAA,CAAA,CAA/BK,CAAS,CAAA,CAAEK,SAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqC7C,CAAA4C,CAAAA,SAAAA,CAAA,cAAA,CAAA,IAAA,EAAA,CAAA,CAHjD5C,CAAqBmC,CAAAA,CAAAA,CAAA,CADjCW,CAAAA,CAAc,0BACF9C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA"}
|
|
1
|
+
{"version":3,"file":"bubble-menu.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/bubble-menu.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport { renderGlyph } from '../../internal/glyph';\nimport type { ToolbarState } from '../engine/selection-state';\nimport type { WysiwygCommandDetail } from '../types';\nimport type { AuthoredToolbarItem } from '../nile-wysiwyg-toolbar/nile-wysiwyg-toolbar';\nimport '../../nile-lite-tooltip/nile-lite-tooltip';\n\n/** A control the bubble menu knows how to render, keyed by its authored name. */\ninterface BubbleDef {\n /** The command dispatched on click. */\n command: WysiwygCommandDetail['name'];\n label: string;\n /** nile-glyph icon name (ng-* names are stroke-drawn). */\n icon: string;\n /** Static attrs sent with the command (e.g. alignment direction). */\n attrs?: WysiwygCommandDetail['attrs'];\n active?: (state: ToolbarState) => boolean;\n}\n\n/**\n * Registry of controls addressable by `<nile-wysiwyg-bubble-item name=\"…\">`.\n * Icons/labels mirror the main toolbar so both surfaces look identical.\n */\nconst BUBBLE_ITEMS: Record<string, BubbleDef> = {\n bold: { command: 'bold', label: 'Bold', icon: 'format_bold', active: s => s.bold },\n italic: { command: 'italic', label: 'Italic', icon: 'format_italic', active: s => s.italic },\n underline: {\n command: 'underline',\n label: 'Underline',\n icon: 'format_underline',\n active: s => s.underline,\n },\n strike: {\n command: 'strike',\n label: 'Strikethrough',\n icon: 'ng-strikethrough',\n active: s => s.strike,\n },\n code: { command: 'code', label: 'Inline code', icon: 'ng-code', active: s => s.code },\n subscript: {\n command: 'subscript',\n label: 'Subscript',\n icon: 'ng-subscript',\n active: s => s.subscript,\n },\n superscript: {\n command: 'superscript',\n label: 'Superscript',\n icon: 'ng-superscript',\n active: s => s.superscript,\n },\n link: { command: 'openLink', label: 'Link', icon: 'link_2', active: s => s.linkActive },\n bulletList: {\n command: 'bulletList',\n label: 'Bulleted list',\n icon: 'format_list_bulleted',\n active: s => s.inBulletList,\n },\n orderedList: {\n command: 'orderedList',\n label: 'Numbered list',\n icon: 'format_list_numbered',\n active: s => s.inOrderedList,\n },\n alignLeft: {\n command: 'align',\n label: 'Align left',\n icon: 'format_align_left',\n attrs: { align: 'left' },\n active: s => s.align === 'left',\n },\n alignCenter: {\n command: 'align',\n label: 'Align center',\n icon: 'format_align_middle',\n attrs: { align: 'center' },\n active: s => s.align === 'center',\n },\n alignRight: {\n command: 'align',\n label: 'Align right',\n icon: 'format_align_right',\n attrs: { align: 'right' },\n active: s => s.align === 'right',\n },\n clearFormatting: {\n command: 'clearFormatting',\n label: 'Clear formatting',\n icon: 'format_clear',\n },\n};\n\n/** Built-in default when no `<nile-wysiwyg-bubble-item>` children are authored. */\nconst DEFAULT_BUBBLE = ['bold', 'italic', 'underline', 'strike', 'link'];\n\n/**\n * 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 */\n@customElement('nile-wysiwyg-bubble-menu')\nexport class NileWysiwygBubbleMenu extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: false }) toolbarState?: ToolbarState;\n\n /**\n * 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 @property({ attribute: false }) items?: AuthoredToolbarItem[];\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 15;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .bubble {\n display: flex;\n gap: 2px;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid\n var(--nile-wysiwyg-border-color, var(--nile-colors-neutral-400, #d0d5dd));\n border-radius: var(--nile-wysiwyg-radius, 8px);\n box-shadow: var(\n --nile-wysiwyg-popover-shadow,\n 0 4px 12px rgba(16, 24, 40, 0.12)\n );\n }\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--nile-colors-neutral-700, #344054);\n }\n\n button:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n\n button[data-active] {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50, #eff4ff));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700, #1d4ed8));\n }\n\n .divider {\n align-self: stretch;\n width: 1px;\n margin: 3px 2px;\n background: var(--nile-colors-neutral-300, #e4e7ec);\n }\n `,\n ];\n }\n\n /**\n * True when this instance is an author's declarative `<nile-wysiwyg-bubble-menu>`\n * container in an editor's light DOM (holding `<nile-wysiwyg-bubble-item>`\n * children). It renders nothing — the editor reads the items and renders the\n * real bubble menu in its own shadow DOM. The editor's internal instance\n * lives in a shadow root, so `closest` never matches it.\n */\n private get isAuthoringContainer(): boolean {\n return !!this.closest('nile-wysiwyg-editor');\n }\n\n public render(): TemplateResult {\n if (this.isAuthoringContainer) return html``;\n\n const state = this.toolbarState;\n const entries: AuthoredToolbarItem[] =\n this.items && this.items.length\n ? this.items\n : DEFAULT_BUBBLE.map(name => ({ name }));\n return html`\n <div class=\"bubble\" part=\"bubble-menu\" @mousedown=${(e: Event) => e.preventDefault()}>\n ${entries.map(entry => this.renderEntry(entry, state))}\n </div>\n `;\n }\n\n private renderEntry(\n entry: AuthoredToolbarItem,\n state?: ToolbarState\n ): TemplateResult | typeof nothing {\n if (entry.name === '|') {\n return html`<span class=\"divider\" part=\"bubble-divider\"></span>`;\n }\n const base = BUBBLE_ITEMS[entry.name];\n const label = entry.label || base?.label || entry.name;\n const icon = entry.icon || base?.icon;\n // Unknown command with no icon to draw → nothing to render.\n if (!icon) return nothing;\n const command = base?.command ?? (entry.name as WysiwygCommandDetail['name']);\n const attrs = base?.attrs;\n const isActive = base?.active && state ? base.active(state) : false;\n return html`\n <nile-lite-tooltip content=${label} placement=\"top\">\n <button\n type=\"button\"\n aria-label=${label}\n ?data-active=${isActive}\n @click=${() =>\n this.emit('wysiwyg-command', attrs ? { name: command, attrs } : { name: command })}\n >\n ${renderGlyph(icon, 16)}\n </button>\n </nile-lite-tooltip>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-bubble-menu': NileWysiwygBubbleMenu;\n }\n}\n"],"names":["BUBBLE_ITEMS","bold","command","label","icon","active","s","italic","underline","strike","code","subscript","superscript","link","linkActive","bulletList","inBulletList","orderedList","inOrderedList","alignLeft","attrs","align","alignCenter","alignRight","clearFormatting","DEFAULT_BUBBLE","NileWysiwygBubbleMenu","_o","d","constructor","this","open","_this","_inherits","_createClass","key","get","isAuthoringContainer","closest","value","render","html","_templateObject","_taggedTemplateLiteral","state","toolbarState","entries","items","length","map","name","_templateObject2","e","preventDefault","entry","renderEntry","_templateObject3","base","nothing","isActive","_templateObject4","emit","renderGlyph","styles","css","_templateObject5","NileElement","__decorate","property","type","Boolean","reflect","prototype","attribute","customElement"],"mappings":"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"}
|