@aquera/nile-elements 0.1.75-beta-1.1 → 0.1.75-beta-2.0
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 +3 -0
- package/demo/index.html +121 -181
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +724 -271
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
- package/dist/nile-code-editor/extensionSetup.cjs.js +6 -6
- package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +2 -2
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +2 -2
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-grid/index.cjs.js +2 -0
- package/dist/nile-grid/index.cjs.js.map +1 -0
- package/dist/nile-grid/index.esm.js +1 -0
- package/dist/nile-grid/nile-grid.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.css.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.css.esm.js +32 -0
- package/dist/nile-grid/nile-grid.esm.js +7 -0
- package/dist/nile-grid/nile-grid.utils.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.utils.esm.js +1 -0
- package/dist/nile-grid-body/index.cjs.js +2 -0
- package/dist/nile-grid-body/index.cjs.js.map +1 -0
- package/dist/nile-grid-body/index.esm.js +1 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
- package/dist/nile-grid-cell-item/index.cjs.js +2 -0
- package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/index.esm.js +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
- package/dist/nile-grid-head/index.cjs.js +2 -0
- package/dist/nile-grid-head/index.cjs.js.map +1 -0
- package/dist/nile-grid-head/index.esm.js +1 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
- package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
- package/dist/nile-grid-head-item/index.cjs.js +2 -0
- package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/index.esm.js +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
- package/dist/nile-grid-row/index.cjs.js +2 -0
- package/dist/nile-grid-row/index.cjs.js.map +1 -0
- package/dist/nile-grid-row/index.esm.js +1 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
- package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
- package/dist/nile-icon/icons/svg/format_align_justify.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_justify.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_justify.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_align_left.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_left.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_left.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_align_middle.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_middle.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_middle.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_align_right.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_right.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_right.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_bold.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_bold.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_bold.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_clear.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_clear.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_clear.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_italic.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_italic.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_italic.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_list_bulleted.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_list_numbered.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_underline.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_underline.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_underline.esm.js +1 -0
- package/dist/nile-icon/icons/svg/image_2.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/image_2.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/image_2.esm.js +1 -0
- package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/icons/svg/link_2.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/link_2.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/link_2.esm.js +1 -0
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +2 -2
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.css.cjs.js +1 -1
- package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
- package/dist/nile-link/nile-link.css.esm.js +1 -0
- package/dist/nile-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.esm.js +2 -2
- package/dist/nile-rich-text-editor/index.cjs.js +2 -0
- package/dist/nile-rich-text-editor/index.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/index.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +149 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-color.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-color.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-color.esm.js +53 -0
- package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-divider.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-link.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-link.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-link.esm.js +19 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions-item.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js +3 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-preview.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-select.esm.js +66 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar-item.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar.esm.js +1 -0
- package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils.esm.js +1 -0
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-tab/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +1 -1
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +1 -1
- package/dist/nile-tree/index.cjs.js +1 -1
- package/dist/nile-tree/index.esm.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
- package/dist/nile-tree/nile-tree.esm.js +1 -1
- package/dist/nile-tree-item/index.cjs.js +1 -1
- package/dist/nile-tree-item/index.esm.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
- package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
- package/dist/nile-virtual-select/index.cjs.js +1 -1
- package/dist/nile-virtual-select/index.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +3 -3
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +8 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
- package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +6 -3
- package/dist/src/nile-code-editor/nile-code-editor.js +44 -22
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/theme copy.js +193 -0
- package/dist/src/nile-code-editor/theme copy.js.map +1 -0
- package/dist/src/nile-grid/index.d.ts +0 -4
- package/dist/src/nile-grid/index.js +0 -4
- package/dist/src/nile-grid/index.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.css.d.ts +8 -0
- package/dist/src/nile-grid/nile-grid.css.js +27 -106
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.d.ts +37 -26
- package/dist/src/nile-grid/nile-grid.js +96 -148
- package/dist/src/nile-grid/nile-grid.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.utils.d.ts +9 -0
- package/dist/src/nile-grid/nile-grid.utils.js +170 -0
- package/dist/src/nile-grid/nile-grid.utils.js.map +1 -0
- package/dist/src/nile-grid-body/index.d.ts +1 -0
- package/dist/src/nile-grid-body/index.js +2 -0
- package/dist/src/nile-grid-body/index.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
- package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
- package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
- package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
- package/dist/src/nile-grid-cell-item/index.js +2 -0
- package/dist/src/nile-grid-cell-item/index.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
- package/dist/src/nile-grid-head/index.d.ts +1 -0
- package/dist/src/nile-grid-head/index.js +2 -0
- package/dist/src/nile-grid-head/index.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
- package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
- package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
- package/dist/src/nile-grid-head-item/index.d.ts +1 -0
- package/dist/src/nile-grid-head-item/index.js +2 -0
- package/dist/src/nile-grid-head-item/index.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
- package/dist/src/nile-grid-row/index.d.ts +1 -0
- package/dist/src/nile-grid-row/index.js +2 -0
- package/dist/src/nile-grid-row/index.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
- package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
- package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_justify.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_justify.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_justify.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_left.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_left.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_left.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_middle.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_middle.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_middle.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_right.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_right.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_right.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_bold.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_bold.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_bold.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_clear.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_clear.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_clear.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_italic.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_italic.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_italic.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_list_bulleted.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_bulleted.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_bulleted.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_list_numbered.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_numbered.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_numbered.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_underline.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_underline.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_underline.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/image_2.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/image_2.js +5 -0
- package/dist/src/nile-icon/icons/svg/image_2.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/index.d.ts +12 -0
- package/dist/src/nile-icon/icons/svg/index.js +12 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/link_2.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/link_2.js +5 -0
- package/dist/src/nile-icon/icons/svg/link_2.js.map +1 -0
- package/dist/src/nile-link/nile-link.css.js +1 -0
- package/dist/src/nile-link/nile-link.css.js.map +1 -1
- package/dist/src/nile-option/nile-option.js +1 -1
- package/dist/src/nile-option/nile-option.js.map +1 -1
- package/dist/src/nile-rich-text-editor/index.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/index.js +2 -0
- package/dist/src/nile-rich-text-editor/index.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.d.ts +3 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +152 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +63 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +735 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-color.d.ts +20 -0
- package/dist/src/nile-rich-text-editor/nile-rte-color.js +188 -0
- package/dist/src/nile-rich-text-editor/nile-rte-color.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-divider.d.ts +10 -0
- package/dist/src/nile-rich-text-editor/nile-rte-divider.js +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-divider.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-link.d.ts +19 -0
- package/dist/src/nile-rich-text-editor/nile-rte-link.js +169 -0
- package/dist/src/nile-rich-text-editor/nile-rte-link.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.d.ts +18 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js +53 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.d.ts +64 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.js +544 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-preview.d.ts +10 -0
- package/dist/src/nile-rich-text-editor/nile-rte-preview.js +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-preview.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +33 -0
- package/dist/src/nile-rich-text-editor/nile-rte-select.js +228 -0
- package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.d.ts +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js +23 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar.d.ts +10 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
- package/dist/src/nile-rich-text-editor/utils.js +538 -0
- package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -3
- package/rollup.config.js +1 -3
- package/src/index.ts +8 -1
- package/src/nile-code-editor/backup_nile-code-editor copy.ts +763 -0
- package/src/nile-code-editor/nile-code-editor.ts +44 -20
- package/src/nile-grid/index.ts +1 -0
- package/src/nile-grid/nile-grid.css.ts +43 -0
- package/src/nile-grid/nile-grid.ts +185 -0
- package/src/nile-grid/nile-grid.utils.ts +252 -0
- package/src/nile-grid-body/index.ts +1 -0
- package/src/nile-grid-body/nile-grid-body.css.ts +24 -0
- package/src/nile-grid-body/nile-grid-body.ts +51 -0
- package/src/nile-grid-cell-item/index.ts +1 -0
- package/src/nile-grid-cell-item/nile-grid-cell-item.css.ts +49 -0
- package/src/nile-grid-cell-item/nile-grid-cell-item.ts +98 -0
- package/src/nile-grid-cell-item/nile-grid-cell-item.utils.ts +65 -0
- package/src/nile-grid-head/index.ts +1 -0
- package/src/nile-grid-head/nile-grid-head.css.ts +21 -0
- package/src/nile-grid-head/nile-grid-head.ts +50 -0
- package/src/nile-grid-head-item/index.ts +1 -0
- package/src/nile-grid-head-item/nile-grid-head-item.css.ts +48 -0
- package/src/nile-grid-head-item/nile-grid-head-item.ts +111 -0
- package/src/nile-grid-head-item/nile-grid-head-item.utils.ts +66 -0
- package/src/nile-grid-row/index.ts +1 -0
- package/src/nile-grid-row/nile-grid-row.css.ts +29 -0
- package/src/nile-grid-row/nile-grid-row.ts +53 -0
- package/src/nile-icon/icons/svg/format_align_justify.ts +5 -0
- package/src/nile-icon/icons/svg/format_align_left.ts +5 -0
- package/src/nile-icon/icons/svg/format_align_middle.ts +5 -0
- package/src/nile-icon/icons/svg/format_align_right.ts +5 -0
- package/src/nile-icon/icons/svg/format_bold.ts +5 -0
- package/src/nile-icon/icons/svg/format_clear.ts +5 -0
- package/src/nile-icon/icons/svg/format_italic.ts +5 -0
- package/src/nile-icon/icons/svg/format_list_bulleted.ts +5 -0
- package/src/nile-icon/icons/svg/format_list_numbered.ts +5 -0
- package/src/nile-icon/icons/svg/format_underline.ts +5 -0
- package/src/nile-icon/icons/svg/image_2.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +12 -0
- package/src/nile-icon/icons/svg/link_2.ts +5 -0
- package/src/nile-link/nile-link.css.ts +1 -0
- package/src/nile-option/nile-option.ts +1 -1
- package/src/nile-rich-text-editor/index.ts +1 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +154 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +836 -0
- package/src/nile-rich-text-editor/nile-rte-color.ts +189 -0
- package/src/nile-rich-text-editor/nile-rte-divider.ts +9 -0
- package/src/nile-rich-text-editor/nile-rte-link.ts +161 -0
- package/src/nile-rich-text-editor/nile-rte-mentions-item.ts +46 -0
- package/src/nile-rich-text-editor/nile-rte-mentions.ts +618 -0
- package/src/nile-rich-text-editor/nile-rte-preview.ts +9 -0
- package/src/nile-rich-text-editor/nile-rte-select.ts +249 -0
- package/src/nile-rich-text-editor/nile-rte-toolbar-item.ts +13 -0
- package/src/nile-rich-text-editor/nile-rte-toolbar.ts +9 -0
- package/src/nile-rich-text-editor/utils.ts +643 -0
- package/vscode-html-custom-data.json +309 -7
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { LitElement, html } from 'lit';
|
|
2
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
@customElement('nile-rte-color')
|
|
5
|
+
export class NileRteColor extends LitElement {
|
|
6
|
+
protected createRenderRoot() { return this; }
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@property({ type: String, attribute: true, reflect: true }) mode: 'foreColor' | 'backColor' = 'foreColor';
|
|
10
|
+
@property({ type: String, attribute: true, reflect: true }) label = 'Text Color';
|
|
11
|
+
@property({ type: String, attribute: true, reflect: true }) value = '#000000';
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@property({ type: Array, attribute: true, reflect: true })
|
|
15
|
+
palette: string[] = [
|
|
16
|
+
'#000000','#444444','#666666','#999999','#cccccc','#eeeeee','#ffffff',
|
|
17
|
+
'#d32f2f','#f44336','#ff9800','#ffeb3b','#4caf50','#2196f3','#3f51b5','#9c27b0',
|
|
18
|
+
'#03a9f4','#00bcd4','#009688','#8bc34a','#cddc39','#ffc107','#ff5722'
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
@state() private recentColors: string[] = [];
|
|
22
|
+
private inputEl!: HTMLInputElement;
|
|
23
|
+
|
|
24
|
+
connectedCallback() {
|
|
25
|
+
super.connectedCallback();
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
this.injectCss(`
|
|
29
|
+
nile-button.rte-color-trigger::part(base){
|
|
30
|
+
width:32px; height:32px; padding:0px 6px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.glyph-stack { display:grid; align-items:center; justify-items:center; line-height:1; }
|
|
34
|
+
.glyph { font-size:14px; margin-bottom:2px; }
|
|
35
|
+
.underline { width:18px; height:3px; border-radius:2px; }
|
|
36
|
+
.swatch-box { width:18px; height:16px; border-radius:4px; border:1px solid rgba(0,0,0,0.35); }
|
|
37
|
+
|
|
38
|
+
nile-popover::part(popover) {
|
|
39
|
+
min-width: 225px;
|
|
40
|
+
height: 250px;
|
|
41
|
+
padding: 0px;
|
|
42
|
+
gap: 0px;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.swatch-dropdown {
|
|
46
|
+
height: 245px;
|
|
47
|
+
width: 275px;
|
|
48
|
+
padding: 12px;
|
|
49
|
+
background: #fff;
|
|
50
|
+
border-radius: 8px;
|
|
51
|
+
box-sizing: border-box;
|
|
52
|
+
overflow-y: auto;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.section { margin-bottom: 12px; }
|
|
56
|
+
.title { font-size: 13px; font-weight: 600; margin-bottom: 8px; color:#111; }
|
|
57
|
+
|
|
58
|
+
.swatches {
|
|
59
|
+
display: grid;
|
|
60
|
+
grid-template-columns: repeat(auto-fill, 24px);
|
|
61
|
+
gap: 8px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.swatch {
|
|
65
|
+
width: 24px;
|
|
66
|
+
height: 24px;
|
|
67
|
+
border-radius: 50%;
|
|
68
|
+
border: 1px solid rgba(0,0,0,0.25);
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
position: relative;
|
|
71
|
+
background-clip: content-box;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.swatch.add {
|
|
75
|
+
display:flex;
|
|
76
|
+
align-items:center;
|
|
77
|
+
justify-content:center;
|
|
78
|
+
font-weight:bold;
|
|
79
|
+
font-size:16px;
|
|
80
|
+
background:#fff;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.checkmark {
|
|
84
|
+
position: absolute;
|
|
85
|
+
top: 50%; left: 50%;
|
|
86
|
+
transform: translate(-50%,-50%);
|
|
87
|
+
font-size: 13px;
|
|
88
|
+
color: white;
|
|
89
|
+
text-shadow: 0 0 2px rgba(0,0,0,0.6);
|
|
90
|
+
}
|
|
91
|
+
`);
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
this.inputEl = document.createElement('input');
|
|
95
|
+
this.inputEl.type = 'color';
|
|
96
|
+
this.inputEl.style.position = 'absolute';
|
|
97
|
+
this.inputEl.style.opacity = '0';
|
|
98
|
+
this.inputEl.style.pointerEvents = 'none';
|
|
99
|
+
this.inputEl.value = this.value;
|
|
100
|
+
this.appendChild(this.inputEl);
|
|
101
|
+
|
|
102
|
+
this.inputEl.addEventListener('input', () => this.setColor(this.inputEl.value));
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
private injectCss(cssText: string) {
|
|
106
|
+
if (this.querySelector('style[data-rte-color-style]')) return;
|
|
107
|
+
const style = document.createElement('style');
|
|
108
|
+
style.setAttribute('data-rte-color-style', 'true');
|
|
109
|
+
style.textContent = cssText;
|
|
110
|
+
this.insertBefore(style, this.firstChild);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
private setColor(color: string) {
|
|
114
|
+
this.value = color;
|
|
115
|
+
this.recentColors = [color, ...this.recentColors.filter(c => c !== color)].slice(0, 8);
|
|
116
|
+
|
|
117
|
+
this.dispatchEvent(new CustomEvent('change', {
|
|
118
|
+
detail: { mode: this.mode, value: color },
|
|
119
|
+
bubbles: true,
|
|
120
|
+
composed: true
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
private pickCustom = () => this.inputEl.click();
|
|
125
|
+
|
|
126
|
+
render() {
|
|
127
|
+
return html`
|
|
128
|
+
<nile-popover placement="bottom-start" distance="6" .arrow=${false}>
|
|
129
|
+
<nile-button
|
|
130
|
+
slot="anchor"
|
|
131
|
+
variant="ghost"
|
|
132
|
+
aria-label=${this.label}
|
|
133
|
+
class="rte-color-trigger"
|
|
134
|
+
>
|
|
135
|
+
${this.mode === 'backColor'
|
|
136
|
+
? html`<span class="swatch-box" style="background:${this.value}"></span>`
|
|
137
|
+
: html`
|
|
138
|
+
<span class="glyph-stack">
|
|
139
|
+
<span class="glyph">A</span>
|
|
140
|
+
<span class="underline" style="background:${this.value}"></span>
|
|
141
|
+
</span>
|
|
142
|
+
`}
|
|
143
|
+
</nile-button>
|
|
144
|
+
|
|
145
|
+
<div part="base" class="swatch-dropdown">
|
|
146
|
+
<div class="section">
|
|
147
|
+
<div class="title">Default</div>
|
|
148
|
+
<div class="swatches">
|
|
149
|
+
${this.palette.map(c => html`
|
|
150
|
+
<button class="swatch" style="background:${c}"
|
|
151
|
+
@click=${() => this.setColor(c)}
|
|
152
|
+
title=${c}>
|
|
153
|
+
${this.value === c ? html`<span class="checkmark">✓</span>` : ''}
|
|
154
|
+
</button>
|
|
155
|
+
`)}
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
${this.recentColors.length > 0 ? html`
|
|
160
|
+
<div class="section">
|
|
161
|
+
<div class="title">Recently Used</div>
|
|
162
|
+
<div class="swatches">
|
|
163
|
+
${this.recentColors.map(c => html`
|
|
164
|
+
<button class="swatch" style="background:${c}"
|
|
165
|
+
@click=${() => this.setColor(c)}
|
|
166
|
+
title=${c}></button>
|
|
167
|
+
`)}
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
` : ''}
|
|
171
|
+
|
|
172
|
+
<div class="section">
|
|
173
|
+
<div class="title">Custom</div>
|
|
174
|
+
<div class="swatches">
|
|
175
|
+
<button class="swatch add" @click=${this.pickCustom}>+</button>
|
|
176
|
+
<nile-icon name="eyedropper"></nile-icon>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
</nile-popover>
|
|
181
|
+
`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
declare global {
|
|
186
|
+
interface HTMLElementTagNameMap {
|
|
187
|
+
'nile-rte-color': NileRteColor;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { customElement } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
@customElement('nile-rte-divider')
|
|
5
|
+
export class NileRteDivider extends LitElement {
|
|
6
|
+
protected createRenderRoot() { return this; }
|
|
7
|
+
protected shouldUpdate() { return false; }
|
|
8
|
+
}
|
|
9
|
+
declare global { interface HTMLElementTagNameMap { 'nile-rte-divider': NileRteDivider; } }
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { LitElement, html } from 'lit';
|
|
2
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
@customElement('nile-rte-link')
|
|
5
|
+
export class NileRteLink extends LitElement {
|
|
6
|
+
protected createRenderRoot() { return this; }
|
|
7
|
+
|
|
8
|
+
@property({ attribute: false }) editorEl!: HTMLElement;
|
|
9
|
+
@property({ type: String }) placeholder = 'https://';
|
|
10
|
+
|
|
11
|
+
@state() private linkValue = '';
|
|
12
|
+
private selectionRange: Range | null = null;
|
|
13
|
+
|
|
14
|
+
connectedCallback() {
|
|
15
|
+
super.connectedCallback();
|
|
16
|
+
this.injectCss(`
|
|
17
|
+
nile-rte-link nile-button.rte-link-trigger::part(base) {
|
|
18
|
+
width: 32px;
|
|
19
|
+
height: 32px;
|
|
20
|
+
padding: 0;
|
|
21
|
+
border: none;
|
|
22
|
+
border-radius: 6px;
|
|
23
|
+
}
|
|
24
|
+
.link-popup {
|
|
25
|
+
display: flex;
|
|
26
|
+
gap: 6px;
|
|
27
|
+
padding: 6px 8px;
|
|
28
|
+
align-items: center;
|
|
29
|
+
background: white;
|
|
30
|
+
}
|
|
31
|
+
.link-input {
|
|
32
|
+
flex: 1;
|
|
33
|
+
padding: 6px 8px;
|
|
34
|
+
font-size: 14px;
|
|
35
|
+
border: 1px solid #ccc;
|
|
36
|
+
border-radius: 4px;
|
|
37
|
+
}
|
|
38
|
+
nile-popover.rte-link-popover::part(popover) {
|
|
39
|
+
min-width: 250px;
|
|
40
|
+
height: 44px;
|
|
41
|
+
padding: 0px;
|
|
42
|
+
gap: 0px;
|
|
43
|
+
}
|
|
44
|
+
`);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
private injectCss(cssText: string) {
|
|
48
|
+
if (this.querySelector('style[data-rte-link-style]')) return;
|
|
49
|
+
const style = document.createElement('style');
|
|
50
|
+
style.setAttribute('data-rte-link-style', 'true');
|
|
51
|
+
style.textContent = cssText;
|
|
52
|
+
this.insertBefore(style, this.firstChild);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
private onOpen() {
|
|
56
|
+
if (!this.editorEl) return;
|
|
57
|
+
const sel = document.getSelection();
|
|
58
|
+
if (!sel || sel.rangeCount === 0) return;
|
|
59
|
+
|
|
60
|
+
this.selectionRange = sel.getRangeAt(0).cloneRange();
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
let n: Node | null = sel.anchorNode;
|
|
64
|
+
let a: HTMLAnchorElement | null = null;
|
|
65
|
+
while (n && n !== this.editorEl) {
|
|
66
|
+
if (n instanceof HTMLAnchorElement) { a = n; break; }
|
|
67
|
+
n = n.parentNode;
|
|
68
|
+
}
|
|
69
|
+
this.linkValue = a?.href || '';
|
|
70
|
+
|
|
71
|
+
setTimeout(() => {
|
|
72
|
+
this.querySelector<HTMLInputElement>('.link-input')?.focus();
|
|
73
|
+
}, 0);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
private onApply() {
|
|
77
|
+
if (!this.editorEl || !this.selectionRange) return;
|
|
78
|
+
const url = this.linkValue.trim();
|
|
79
|
+
if (!url) return;
|
|
80
|
+
|
|
81
|
+
const sel = document.getSelection();
|
|
82
|
+
if (!sel) return;
|
|
83
|
+
sel.removeAllRanges();
|
|
84
|
+
sel.addRange(this.selectionRange);
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
let n: Node | null = this.selectionRange.startContainer;
|
|
88
|
+
let a: HTMLAnchorElement | null = null;
|
|
89
|
+
while (n && n !== this.editorEl) {
|
|
90
|
+
if (n instanceof HTMLAnchorElement) { a = n; break; }
|
|
91
|
+
n = n.parentNode;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (a) {
|
|
95
|
+
a.href = url;
|
|
96
|
+
} else {
|
|
97
|
+
const link = document.createElement('a');
|
|
98
|
+
link.href = url;
|
|
99
|
+
if (this.selectionRange.collapsed) {
|
|
100
|
+
link.textContent = url;
|
|
101
|
+
this.selectionRange.insertNode(link);
|
|
102
|
+
} else {
|
|
103
|
+
try {
|
|
104
|
+
this.selectionRange.surroundContents(link);
|
|
105
|
+
} catch {
|
|
106
|
+
const frag = this.selectionRange.extractContents();
|
|
107
|
+
link.appendChild(frag);
|
|
108
|
+
this.selectionRange.insertNode(link);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
this.emit(url);
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
const pop = this.querySelector('nile-popover');
|
|
117
|
+
if (pop) (pop as any).isShow = false;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
private emit(href: string) {
|
|
121
|
+
this.dispatchEvent(new CustomEvent('link-changed', {
|
|
122
|
+
detail: { href },
|
|
123
|
+
bubbles: true,
|
|
124
|
+
composed: true
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
render() {
|
|
129
|
+
return html`
|
|
130
|
+
<nile-popover placement="bottom-start" class="rte-link-popover" distance="10" .arrow=${false}>
|
|
131
|
+
<nile-button class="rte-link-trigger" slot="anchor" variant="tertiary" size="small" @click=${() => this.onOpen()}>
|
|
132
|
+
<nile-icon name="link_2" aria-label="Insert/Edit Link"></nile-icon>
|
|
133
|
+
</nile-button>
|
|
134
|
+
|
|
135
|
+
<div class="link-popup">
|
|
136
|
+
<input
|
|
137
|
+
class="link-input"
|
|
138
|
+
type="text"
|
|
139
|
+
placeholder="Type or paste link here"
|
|
140
|
+
.value=${this.linkValue}
|
|
141
|
+
@input=${(e: any) => this.linkValue = e.target.value}
|
|
142
|
+
@keydown=${(e: KeyboardEvent) => {
|
|
143
|
+
if (e.key === 'Enter') this.onApply();
|
|
144
|
+
if (e.key === 'Escape') {
|
|
145
|
+
const pop = this.querySelector('nile-popover');
|
|
146
|
+
if (pop) (pop as any).isShow = false;
|
|
147
|
+
}
|
|
148
|
+
}}
|
|
149
|
+
/>
|
|
150
|
+
<nile-button @click=${() => this.onApply()}>Apply</nile-button>
|
|
151
|
+
</div>
|
|
152
|
+
</nile-popover>
|
|
153
|
+
`;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
declare global {
|
|
158
|
+
interface HTMLElementTagNameMap {
|
|
159
|
+
'nile-rte-link': NileRteLink;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
export type MentionItem = { key: string; label: string };
|
|
5
|
+
|
|
6
|
+
@customElement('nile-rte-mentions-item')
|
|
7
|
+
export class NileRteMentionsItem extends LitElement {
|
|
8
|
+
protected createRenderRoot() { return this; }
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@property({ attribute: 'mentionscharacter', reflect: true })
|
|
12
|
+
mentionsCharacter: string = '';
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@property({ attribute: 'mentionscolor', reflect: true })
|
|
16
|
+
mentionsColor: string = '';
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@property({ attribute: 'mentionsprefix', reflect: true }) mentionsPrefix: string = '';
|
|
20
|
+
@property({ attribute: 'mentionssuffix', reflect: true }) mentionsSuffix: string = '';
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@property({
|
|
24
|
+
attribute: 'mentionsdata',
|
|
25
|
+
reflect: true,
|
|
26
|
+
converter: {
|
|
27
|
+
fromAttribute: (value: string | null): MentionItem[] => {
|
|
28
|
+
if (!value) return [];
|
|
29
|
+
try {
|
|
30
|
+
const parsed = JSON.parse(value);
|
|
31
|
+
return Array.isArray(parsed)
|
|
32
|
+
? parsed.filter(i => i && typeof i.key === 'string' && typeof i.label === 'string')
|
|
33
|
+
: [];
|
|
34
|
+
} catch { return []; }
|
|
35
|
+
},
|
|
36
|
+
toAttribute: (v: MentionItem[]) => JSON.stringify(v ?? []),
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
mentionsData: MentionItem[] = [];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare global {
|
|
43
|
+
interface HTMLElementTagNameMap {
|
|
44
|
+
'nile-rte-mentions-item': NileRteMentionsItem;
|
|
45
|
+
}
|
|
46
|
+
}
|