@aquera/nile-elements 0.1.67-beta-1.6 → 0.1.67-beta-1.7
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/demo/index.html +11 -5
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +81 -12
- 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-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 +1 -1
- 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-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_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/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- 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-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 +1 -1
- package/dist/nile-rich-text-editor/index.cjs.js +1 -1
- package/dist/nile-rich-text-editor/index.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +3 -5
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rte-color.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rte-color.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rte-color.esm.js +54 -1
- 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/utils.cjs.js +1 -1
- package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/utils.esm.js +1 -1
- 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 +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
- 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_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/index.d.ts +3 -0
- package/dist/src/nile-icon/icons/svg/index.js +3 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +3 -5
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +18 -78
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rte-color.d.ts +11 -3
- package/dist/src/nile-rich-text-editor/nile-rte-color.js +171 -6
- package/dist/src/nile-rich-text-editor/nile-rte-color.js.map +1 -1
- 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 +172 -0
- package/dist/src/nile-rich-text-editor/nile-rte-link.js.map +1 -0
- package/dist/src/nile-rich-text-editor/sanatize.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/sanatize.js +40 -0
- package/dist/src/nile-rich-text-editor/sanatize.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-icon/icons/svg/format_clear.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/index.ts +3 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +3 -5
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +26 -80
- package/src/nile-rich-text-editor/nile-rte-color.ts +182 -6
- package/src/nile-rich-text-editor/nile-rte-link.ts +161 -0
- package/vscode-html-custom-data.json +33 -3
@@ -1,4 +1,4 @@
|
|
1
|
-
import{__decorate as i}from"tslib";import{s}from"./nile-option.css.esm.js";import"../nile-icon/index.esm.js";import{classMap as o}from"lit/directives/class-map.js";import{query as n,state as e,property as c,customElement as m}from"lit/decorators.js";import{html as t}from"lit";import{w as r}from"../internal/watch.esm.js";import{N as l}from"../internal/nile-element.esm.js";import"../nile-checkbox/nile-checkbox.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/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/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-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow.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/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/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_italic.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/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/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/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/message-notification-square.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/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/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/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/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/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.css.esm.js";import"../internal/default-value.esm.js";import"lit/directives/if-defined.js";import"lit/directives/live.js";let p=class extends l{constructor(){super(...arguments),this.current=!1,this.hasHover=!1,this.hidden=!1,this.isMultipleSelect=!1,this.value="",this.showCheckbox=!1,this.disabled=!1,this.selected=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","option"),this.setAttribute("aria-selected","false"),this.closest("nile-select")||this.closest("nile-virtual-select"),this.checkIfMultipleSelect()}checkIfMultipleSelect(){const i=this.closest("nile-select")||this.closest("nile-virtual-select");i&&i.hasAttribute("multiple")&&(i.hasAttribute("multiple")&&""===i.getAttribute("multiple")||"true"===i.getAttribute("multiple")?this.isMultipleSelect=!0:this.isMultipleSelect=!1)}updated(i){this.checkIfMultipleSelect()}handleDefaultSlotChange(){const i=this.getTextLabel();void 0!==this.cachedTextLabel?i!==this.cachedTextLabel&&(this.cachedTextLabel=i,this.emit("slotchange")):this.cachedTextLabel=i}handleMouseEnter(){this.hasHover=!0}handleMouseLeave(){this.hasHover=!1}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleValueChange(){"string"!=typeof this.value&&(this.value=String(this.value))}getTextLabel(){const i=this.querySelector("label");return i?i.textContent?.trim()??"":(this.textContent??"").trim()}render(){return t`
|
1
|
+
import{__decorate as i}from"tslib";import{s}from"./nile-option.css.esm.js";import"../nile-icon/index.esm.js";import{classMap as o}from"lit/directives/class-map.js";import{query as n,state as e,property as c,customElement as m}from"lit/decorators.js";import{html as t}from"lit";import{w as r}from"../internal/watch.esm.js";import{N as l}from"../internal/nile-element.esm.js";import"../nile-checkbox/nile-checkbox.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/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/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-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow.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/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/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/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/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/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/message-notification-square.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/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/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/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/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/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.css.esm.js";import"../internal/default-value.esm.js";import"lit/directives/if-defined.js";import"lit/directives/live.js";let p=class extends l{constructor(){super(...arguments),this.current=!1,this.hasHover=!1,this.hidden=!1,this.isMultipleSelect=!1,this.value="",this.showCheckbox=!1,this.disabled=!1,this.selected=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("role","option"),this.setAttribute("aria-selected","false"),this.closest("nile-select")||this.closest("nile-virtual-select"),this.checkIfMultipleSelect()}checkIfMultipleSelect(){const i=this.closest("nile-select")||this.closest("nile-virtual-select");i&&i.hasAttribute("multiple")&&(i.hasAttribute("multiple")&&""===i.getAttribute("multiple")||"true"===i.getAttribute("multiple")?this.isMultipleSelect=!0:this.isMultipleSelect=!1)}updated(i){this.checkIfMultipleSelect()}handleDefaultSlotChange(){const i=this.getTextLabel();void 0!==this.cachedTextLabel?i!==this.cachedTextLabel&&(this.cachedTextLabel=i,this.emit("slotchange")):this.cachedTextLabel=i}handleMouseEnter(){this.hasHover=!0}handleMouseLeave(){this.hasHover=!1}handleDisabledChange(){this.setAttribute("aria-disabled",this.disabled?"true":"false")}handleSelectedChange(){this.setAttribute("aria-selected",this.selected?"true":"false")}handleValueChange(){"string"!=typeof this.value&&(this.value=String(this.value))}getTextLabel(){const i=this.querySelector("label");return i?i.textContent?.trim()??"":(this.textContent??"").trim()}render(){return t`
|
2
2
|
${this.hidden?"":t` <div
|
3
3
|
part="base"
|
4
4
|
class=${o({option:!0,"option--single-select":!this.isMultipleSelect,"option--current":this.selected&&!this.isMultipleSelect,"option--disabled":this.disabled,"option--selected":this.selected&&!this.isMultipleSelect,"option--hover":this.hasHover})}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
System.register(["./nile-rich-text-editor.cjs.js","tslib","lit","lit/decorators.js","./nile-rte-toolbar.cjs.js","./nile-rte-toolbar-item.cjs.js","./nile-rte-select.cjs.js","./nile-rte-color.cjs.js","./nile-rte-divider.cjs.js","./nile-rte-preview.cjs.js","./nile-rte-mentions.cjs.js","./utils.cjs.js","./nile-rich-text-editor.css.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileRichTextEditorCjsJs){_export("NileRichTextEditor",_nileRichTextEditorCjsJs.N);},function(_tslib){},function(_lit){},function(_litDecoratorsJs){},function(_nileRteToolbarCjsJs){},function(_nileRteToolbarItemCjsJs){},function(_nileRteSelectCjsJs){},function(_nileRteColorCjsJs){},function(_nileRteDividerCjsJs){},function(_nileRtePreviewCjsJs){},function(_nileRteMentionsCjsJs){},function(_utilsCjsJs){},function(_nileRichTextEditorCssCjsJs){}],execute:function execute(){}};});
|
1
|
+
System.register(["./nile-rich-text-editor.cjs.js","tslib","lit","lit/decorators.js","./nile-rte-toolbar.cjs.js","./nile-rte-toolbar-item.cjs.js","./nile-rte-select.cjs.js","./nile-rte-color.cjs.js","./nile-rte-divider.cjs.js","./nile-rte-preview.cjs.js","./nile-rte-mentions.cjs.js","./nile-rte-link.cjs.js","./utils.cjs.js","./nile-rich-text-editor.css.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileRichTextEditorCjsJs){_export("NileRichTextEditor",_nileRichTextEditorCjsJs.N);},function(_tslib){},function(_lit){},function(_litDecoratorsJs){},function(_nileRteToolbarCjsJs){},function(_nileRteToolbarItemCjsJs){},function(_nileRteSelectCjsJs){},function(_nileRteColorCjsJs){},function(_nileRteDividerCjsJs){},function(_nileRtePreviewCjsJs){},function(_nileRteMentionsCjsJs){},function(_nileRteLinkCjsJs){},function(_utilsCjsJs){},function(_nileRichTextEditorCssCjsJs){}],execute:function execute(){}};});
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
export{N as NileRichTextEditor}from"./nile-rich-text-editor.esm.js";import"tslib";import"lit";import"lit/decorators.js";import"./nile-rte-toolbar.esm.js";import"./nile-rte-toolbar-item.esm.js";import"./nile-rte-select.esm.js";import"./nile-rte-color.esm.js";import"./nile-rte-divider.esm.js";import"./nile-rte-preview.esm.js";import"./nile-rte-mentions.esm.js";import"./utils.esm.js";import"./nile-rich-text-editor.css.esm.js";
|
1
|
+
export{N as NileRichTextEditor}from"./nile-rich-text-editor.esm.js";import"tslib";import"lit";import"lit/decorators.js";import"./nile-rte-toolbar.esm.js";import"./nile-rte-toolbar-item.esm.js";import"./nile-rte-select.esm.js";import"./nile-rte-color.esm.js";import"./nile-rte-divider.esm.js";import"./nile-rte-preview.esm.js";import"./nile-rte-mentions.esm.js";import"./nile-rte-link.esm.js";import"./utils.esm.js";import"./nile-rich-text-editor.css.esm.js";
|
@@ -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","./nile-rte-toolbar.cjs.js","./nile-rte-toolbar-item.cjs.js","./nile-rte-select.cjs.js","./nile-rte-color.cjs.js","./nile-rte-divider.cjs.js","./nile-rte-preview.cjs.js","./nile-rte-mentions.cjs.js","./utils.cjs.js","./nile-rich-text-editor.css.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,n,o,r,h,l,c,a,u,d,f,m,p,b,g;function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function F(){};return{s:F,n:function(_n5){function n(){return _n5.apply(this,arguments);}n.toString=function(){return _n5.toString();};return n;}(function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]};}),e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}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 _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););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){i=_lit.LitElement;},function(_litDecoratorsJs){s=_litDecoratorsJs.property;e=_litDecoratorsJs.state;n=_litDecoratorsJs.customElement;},function(_nileRteToolbarCjsJs){},function(_nileRteToolbarItemCjsJs){},function(_nileRteSelectCjsJs){},function(_nileRteColorCjsJs){},function(_nileRteDividerCjsJs){},function(_nileRtePreviewCjsJs){},function(_nileRteMentionsCjsJs){},function(_utilsCjsJs){o=_utilsCjsJs.s;r=_utilsCjsJs.a;h=_utilsCjsJs.b;l=_utilsCjsJs.c;c=_utilsCjsJs.d;a=_utilsCjsJs.i;u=_utilsCjsJs.t;d=_utilsCjsJs.n;f=_utilsCjsJs.e;m=_utilsCjsJs.r;},function(_nileRichTextEditorCssCjsJs){p=_nileRichTextEditorCssCjsJs.s;}],execute:function execute(){b={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"error"};_export("N",g=/*#__PURE__*/function(_i){function g(){var _this;_classCallCheck(this,g);_this=_callSuper(this,g,arguments),_this.value="",_this.mentions={},_this.content="",_this.previewEl=null,_this.toolbarEl=null,_this.lastRange=null,_this.buttonMap=new Map(),_this.headingSelect=null,_this.fontSelect=null,_this.colorInput=null,_this.bgColorInput=null,_this.colorSwatchEl=null,_this.bgSwatchEl=null,_this.mentionsEl=null,_this.onEditorKeydown=function(t){if("Tab"!==t.key)return;t.preventDefault(),_this.focusAndRestore();var i=window.getSelection();if(!i||0===i.rangeCount)return;var s=i.getRangeAt(0);if(t.shiftKey){if(s.collapsed&&s.startContainer.nodeType===Node.TEXT_NODE){var _t=s.startContainer,_e=s.startOffset,_n=_t.data.slice(0,_e),_o=_n.replace(/(\t|[ \u00a0]{2})$/,"");if(_o.length!==_n.length){_t.data=_o+_t.data.slice(_e);var _s=document.createRange();_s.setStart(_t,_o.length),_s.collapse(!0),i.removeAllRanges(),i.addRange(_s),_this.updateContent(),_this.updateToolbarState();}}return;}s.deleteContents();var e=document.createTextNode("\t");s.insertNode(e);var n=document.createRange();n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n),_this.updateContent(),_this.updateToolbarState();},_this.onSelectionChange=function(){if(!_this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);_this.editorEl.contains(i.commonAncestorContainer)&&(_this.lastRange=i.cloneRange(),_this.updateToolbarState());};return _this;}_inherits(g,_i);return _createClass(g,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"shouldUpdate",value:function shouldUpdate(){return!1;}},{key:"injectCss",value:function injectCss(t){if(this.querySelector("style[data-rte-style]"))return;var i=document.createElement("style");i.setAttribute("data-rte-style","true"),i.textContent=t,this.insertBefore(i,this.firstChild);}},{key:"connectedCallback",value:function connectedCallback(){var _this$mentionsEl$atta,_this$mentionsEl,_this$mentionsEl$setE,_this$mentionsEl2;_superPropGet(g,"connectedCallback",this,3)([]),this.injectCss(p.cssText),this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.ensureEditor(),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&((_this$mentionsEl$atta=(_this$mentionsEl=this.mentionsEl).attach)!==null&&_this$mentionsEl$atta!==void 0&&_this$mentionsEl$atta.call(_this$mentionsEl,this.editorEl,this),(_this$mentionsEl$setE=(_this$mentionsEl2=this.mentionsEl).setExternalConfig)!==null&&_this$mentionsEl$setE!==void 0&&_this$mentionsEl$setE.call(_this$mentionsEl2,this.mentions)),this.wireEditor(),this.updateToolbarState(),this.syncPreview(),document.addEventListener("selectionchange",this.onSelectionChange,!0);}},{key:"disconnectedCallback",value:function disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange,!0),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),_superPropGet(g,"disconnectedCallback",this,3)([]);}},{key:"ensureEditor",value:function ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){var _this$toolbarEl;var _t2=document.createElement("article");_t2.className="editor",_t2.setAttribute("contenteditable","true"),(_this$toolbarEl=this.toolbarEl)!==null&&_this$toolbarEl!==void 0&&_this$toolbarEl.nextSibling?this.insertBefore(_t2,this.toolbarEl.nextSibling):this.previewEl?this.insertBefore(_t2,this.previewEl):this.appendChild(_t2),this.editorEl=_t2;}this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>"),this.ensureAtLeastOneParagraph();}},{key:"wireEditor",value:function wireEditor(){var _this2=this;this.editorEl.addEventListener("input",function(){_this2.ensureAtLeastOneParagraph(),_this2.updateContent();}),this.editorEl.addEventListener("mouseup",function(){return _this2.saveSelection();}),this.editorEl.addEventListener("keyup",function(){return _this2.saveSelection();}),this.editorEl.addEventListener("keydown",this.onEditorKeydown);}},{key:"wireAuthoredToolbar",value:function wireAuthoredToolbar(t){var _this3=this;this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(t.children).forEach(function(t){var i=t.tagName.toLowerCase();if("nile-rte-select"!==i||"align"!==t.getAttribute("type")){if("nile-rte-toolbar-item"===i){var _this3$buttonMap$get;var _i2=t.querySelector(":scope > nile-button");var _s2=t.getAttribute("name")||"",_e2=t.getAttribute("label")||_s2,_n2=t.getAttribute("icon"),_o2=t.innerHTML.trim().length>0;if(_i2||(_i2=document.createElement("nile-button"),_i2.variant="tertiary",_i2.size="small"),_n2)_i2.innerHTML="<nile-icon name=\"".concat(_n2,"\" aria-label=\"").concat(_e2,"\"></nile-icon>"),t.innerHTML="";else if(_o2)_i2.innerHTML=t.innerHTML,t.innerHTML="";else{var _n3=b[_s2];_n3?_i2.innerHTML="<nile-icon name=\"".concat(_n3,"\" size=\"20\" color=\"black\" aria-label=\"").concat(_e2,"\"></nile-icon>"):_i2.textContent=_e2||_s2,t.innerHTML="";}_i2.isConnected||t.appendChild(_i2),_i2.setAttribute("aria-label",_e2),_i2.addEventListener("mousedown",function(t){return t.preventDefault();}),_i2.addEventListener("click",function(){return _this3.onToolbarCommand(_s2);});var _r=(_this3$buttonMap$get=_this3.buttonMap.get(_s2))!==null&&_this3$buttonMap$get!==void 0?_this3$buttonMap$get:[];return _r.push(_i2),void _this3.buttonMap.set(_s2,_r);}if("nile-rte-select"!==i){if("nile-rte-color"===i){var _t$getAttribute,_t$getAttribute2,_t$getAttribute3;var _i3=(_t$getAttribute=t.getAttribute("label"))!==null&&_t$getAttribute!==void 0?_t$getAttribute:"Text color",_s3=(_t$getAttribute2=t.getAttribute("value"))!==null&&_t$getAttribute2!==void 0?_t$getAttribute2:"#000000",_e3=(_t$getAttribute3=t.getAttribute("mode"))!==null&&_t$getAttribute3!==void 0?_t$getAttribute3:"text";var _n4=t.querySelector(':scope > input[type="color"]');_n4||(_n4=document.createElement("input"),_n4.type="color",_n4.style.position="absolute",_n4.style.opacity="0",_n4.style.pointerEvents="none",t.appendChild(_n4)),_n4.title=_i3,_n4.value=_s3;var _o3=t.querySelector(":scope > nile-button");if(!_o3){var _s4=document.createElement("nile-button");_s4.variant="ghost",_s4.className="rte-color-trigger",_s4.setAttribute("aria-label",_i3),_s4.innerHTML="background"===_e3?'<span class="swatch-box" aria-hidden="true"></span>':'\n <span class="glyph-stack" aria-hidden="true">\n <span class="glyph">A</span>\n <span class="underline"></span>\n </span>\n ',t.appendChild(_s4),_o3=_s4;}var _r2=_o3.querySelector(".underline"),_h=_o3.querySelector(".swatch-box");"background"===_e3?(_this3.bgColorInput=_n4,_this3.bgSwatchEl=_h,_this3.bgSwatchEl&&(_this3.bgSwatchEl.style.backgroundColor=_n4.value)):(_this3.colorInput=_n4,_this3.colorSwatchEl=_r2,_this3.colorSwatchEl&&(_this3.colorSwatchEl.style.backgroundColor=_n4.value)),_o3.addEventListener("click",function(t){t.preventDefault(),_this3.focusAndRestore(),_n4.click();}),_n4.addEventListener("input",function(){_this3.focusAndRestore(),"background"===_e3?(l(_this3.editorEl,_n4.value),_this3.bgSwatchEl&&(_this3.bgSwatchEl.style.backgroundColor=_n4.value)):(c(_this3.editorEl,_n4.value),_this3.colorSwatchEl&&(_this3.colorSwatchEl.style.backgroundColor=_n4.value)),_this3.updateContent(),_this3.updateToolbarState();}),_o3.addEventListener("mousedown",function(t){return t.preventDefault();}),_n4.addEventListener("mousedown",function(t){return t.preventDefault();});}}else{var _i4=t.getAttribute("type")||"";t.addEventListener("change",function(t){_this3.focusAndRestore();var s=t.detail;"heading"===_i4?r(_this3.editorEl,s):"font"===_i4&&h(_this3.editorEl,s),_this3.updateContent(),_this3.updateToolbarState();});}}else t.addEventListener("change",function(t){_this3.focusAndRestore();var i=t.detail;o(_this3.editorEl,i),_this3.updateContent(),_this3.updateToolbarState();});});}},{key:"saveSelection",value:function saveSelection(){var t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange());}},{key:"restoreSelection",value:function restoreSelection(){if(!this.lastRange)return;var t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange));}},{key:"focusAndRestore",value:function focusAndRestore(){var _this$editorEl;(_this$editorEl=this.editorEl)!==null&&_this$editorEl!==void 0&&_this$editorEl.focus(),this.restoreSelection();}},{key:"insertList",value:function insertList(t){if(this.restoreSelection(),!this.lastRange)return;var i=document.createElement(t),s=this.lastRange.extractContents(),e=document.createElement("div");e.appendChild(s),Array.from(e.childNodes).forEach(function(t){var _t$textContent;if(t.nodeType===Node.TEXT_NODE&&!((_t$textContent=t.textContent)!==null&&_t$textContent!==void 0&&_t$textContent.trim()))return;var s=document.createElement("li");s.appendChild(t),i.appendChild(s);}),this.lastRange.insertNode(i),this.afterListEdit(i);}},{key:"afterListEdit",value:function afterListEdit(t){var i=document.createRange();i.setStartAfter(t),i.collapse(!0);var s=window.getSelection();s!==null&&s!==void 0&&s.removeAllRanges(),s!==null&&s!==void 0&&s.addRange(i),this.saveSelection(),this.updateContent(),this.updateToolbarState();}},{key:"ensureAtLeastOneParagraph",value:function ensureAtLeastOneParagraph(){var _t$textContent2;var t=this.editorEl;if(!t)return;var i=""===((_t$textContent2=t.textContent)!==null&&_t$textContent2!==void 0?_t$textContent2:"").replace(/\u200B/g,"").trim();if(0===t.childNodes.length||i)return void(t.innerHTML="<p><br></p>");if(!t.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){var _i5=document.createElement("p");for(;t.firstChild;)_i5.appendChild(t.firstChild);return _i5.hasChildNodes()||_i5.appendChild(document.createElement("br")),void t.appendChild(_i5);}t.querySelectorAll("p").forEach(function(t){var _t$textContent3;""===((_t$textContent3=t.textContent)!==null&&_t$textContent3!==void 0?_t$textContent3:"").replace(/\u200B/g,"")&&(t.innerHTML.toLowerCase().includes("<br")||(t.innerHTML="<br>"));});}},{key:"onToolbarCommand",value:function onToolbarCommand(t){switch(this.focusAndRestore(),t){case"bold":u(this.editorEl,"strong");break;case"italic":u(this.editorEl,"em");break;case"underline":u(this.editorEl,"u");break;case"left":o(this.editorEl,"left");break;case"center":o(this.editorEl,"center");break;case"right":o(this.editorEl,"right");break;case"justify":o(this.editorEl,"justify");break;case"ul":this.insertList("ul");break;case"ol":this.insertList("ol");break;case"link":a(this.editorEl);break;case"clear":var _t3=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),_i6=[];for(;_t3.nextNode();){var _s5=_t3.currentNode;_s5.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(_s5.tagName)&&_i6.push(_s5);}for(var _i8=0,_i7=_i6;_i8<_i7.length;_i8++){var _t4=_i7[_i8];for(;_t4.firstChild;){var _t4$parentNode;(_t4$parentNode=_t4.parentNode)===null||_t4$parentNode===void 0||_t4$parentNode.insertBefore(_t4.firstChild,_t4);}_t4.remove();}this.ensureAtLeastOneParagraph();}this.updateContent(),this.updateToolbarState();}},{key:"setBtnActive",value:function setBtnActive(t,i){var s=this.buttonMap.get(t);if(s){var _iterator=_createForOfIteratorHelper(s),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _t5=_step.value;_t5.toggleAttribute("data-active",!!i);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}}},{key:"updateToolbarState",value:function updateToolbarState(){var _this4=this,_s$closest;if(!this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);if(!this.editorEl.contains(i.commonAncestorContainer))return;var s=d(i.startContainer)||this.editorEl,e=getComputedStyle(s),n=f(i.startContainer,this.editorEl)||this.editorEl,o=function(){var t=s;for(;t&&t!==_this4.editorEl;){if(t instanceof HTMLElement){var _i9=t.tagName.toLowerCase();if("strong"===_i9||"b"===_i9)return!0;var _s6=getComputedStyle(t).fontWeight;if(parseInt(_s6,10)>=600)return!0;}t=t.parentNode;}return!1;}(),r=function(){var t=s;for(;t&&t!==_this4.editorEl;){if(t instanceof HTMLElement){var _i10=t.tagName.toLowerCase();if("em"===_i10||"i"===_i10)return!0;if("italic"===getComputedStyle(t).fontStyle)return!0;}t=t.parentNode;}return!1;}(),h=function(){var t=s;for(;t&&t!==_this4.editorEl;){if(t instanceof HTMLElement){var _i11=getComputedStyle(t).textDecorationLine;if(_i11&&_i11.includes("underline"))return!0;if("u"===t.tagName.toLowerCase())return!0;}t=t.parentNode;}return!1;}(),l=!!s.closest("a"),c=n.style.textAlign||getComputedStyle(n).textAlign||"start",a="start"===c?"left":c,u=!!s.closest("li")&&((_s$closest=s.closest("ul,ol"))===null||_s$closest===void 0?void 0:_s$closest.tagName.toLowerCase())||"";if(this.setBtnActive("bold",o),this.setBtnActive("italic",r),this.setBtnActive("underline",h),this.setBtnActive("link",l),this.setBtnActive("left","left"===a&&!["center","right","justify"].includes(a)),this.setBtnActive("center","center"===a),this.setBtnActive("right","right"===a),this.setBtnActive("justify","justify"===a),this.setBtnActive("ul","ul"===u),this.setBtnActive("ol","ol"===u),this.headingSelect){var _t6=n.tagName.toLowerCase(),_i12=["h1","h2","h3"].includes(_t6)?_t6:"p";this.headingSelect.value!==_i12&&(this.headingSelect.value=_i12);}if(this.fontSelect){var _t7=(e.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(_t7)for(var _i13=0,_Array$from=Array.from(this.fontSelect.options);_i13<_Array$from.length;_i13++){var _i14=_Array$from[_i13];if(_i14.value.toLowerCase()===_t7){this.fontSelect.value=_i14.value;break;}}}if(this.colorInput){var _t8=m(e.color);_t8&&this.colorInput.value.toLowerCase()!==_t8.toLowerCase()&&(this.colorInput.value=_t8),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value);}if(this.bgColorInput){var _t9=getComputedStyle(s).backgroundColor;if(_t9&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(_t9)){var _i15=m(_t9);_i15&&this.bgColorInput.value.toLowerCase()!==_i15.toLowerCase()&&(this.bgColorInput.value=_i15);}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value);}}},{key:"syncPreview",value:function syncPreview(){this.updateContent();}},{key:"updateContent",value:function updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();var t=this.editorEl.cloneNode(!0),i=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT),e=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align"];var _loop=function _loop(){var t=i.currentNode,n=s.currentNode,o=window.getComputedStyle(t),r=e.map(function(t){return"".concat(t,":").concat(o.getPropertyValue(t));}).join(";");r.trim()&&n.setAttribute("style",r);};for(;i.nextNode()&&s.nextNode();){_loop();}this.content=t.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("content-changed",{detail:{content:this.content},bubbles:!0,composed:!0}));}}]);}(i));t([s({type:String})],g.prototype,"value",void 0),t([s({attribute:"mentions",converter:{fromAttribute:function fromAttribute(t){try{var _i16=JSON.parse(t),_s7={};for(var _i17=0,_Object$keys=Object.keys(_i16);_i17<_Object$keys.length;_i17++){var _t10=_Object$keys[_i17];var _e4=_i16[_t10];Array.isArray(_e4)&&(_s7[_t10]=_e4.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}).map(function(t){return{key:t.key,label:t.label};}));}return _s7;}catch(_unused){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t);}}})],g.prototype,"mentions",void 0),t([e()],g.prototype,"content",void 0),_export("N",g=t([n("nile-rich-text-editor")],g));}};});
|
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","./nile-rte-toolbar.cjs.js","./nile-rte-toolbar-item.cjs.js","./nile-rte-select.cjs.js","./nile-rte-color.cjs.js","./nile-rte-divider.cjs.js","./nile-rte-preview.cjs.js","./nile-rte-mentions.cjs.js","./nile-rte-link.cjs.js","./utils.cjs.js","./nile-rich-text-editor.css.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,n,r,o,h,l,c,a,u,f,d,m,b,p;function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var n=0,F=function F(){};return{s:F,n:function(_n4){function n(){return _n4.apply(this,arguments);}n.toString=function(){return _n4.toString();};return n;}(function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]};}),e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}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 _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););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){i=_lit.LitElement;},function(_litDecoratorsJs){s=_litDecoratorsJs.property;e=_litDecoratorsJs.state;n=_litDecoratorsJs.customElement;},function(_nileRteToolbarCjsJs){},function(_nileRteToolbarItemCjsJs){},function(_nileRteSelectCjsJs){},function(_nileRteColorCjsJs){},function(_nileRteDividerCjsJs){},function(_nileRtePreviewCjsJs){},function(_nileRteMentionsCjsJs){},function(_nileRteLinkCjsJs){},function(_utilsCjsJs){r=_utilsCjsJs.s;o=_utilsCjsJs.a;h=_utilsCjsJs.b;l=_utilsCjsJs.c;c=_utilsCjsJs.d;a=_utilsCjsJs.t;u=_utilsCjsJs.n;f=_utilsCjsJs.e;d=_utilsCjsJs.r;},function(_nileRichTextEditorCssCjsJs){m=_nileRichTextEditorCssCjsJs.s;}],execute:function execute(){b={bold:"format_bold",italic:"format_italic",underline:"format_underline",link:"link_2",left:"format_align_left",center:"format_align_middle",right:"format_align_right",justify:"format_align_justify",ul:"format_list_bulleted",ol:"format_list_numbered",clear:"format_clear"};_export("N",p=/*#__PURE__*/function(_i){function p(){var _this;_classCallCheck(this,p);_this=_callSuper(this,p,arguments),_this.value="",_this.mentions={},_this.content="",_this.previewEl=null,_this.toolbarEl=null,_this.lastRange=null,_this.buttonMap=new Map(),_this.headingSelect=null,_this.fontSelect=null,_this.colorInput=null,_this.bgColorInput=null,_this.colorSwatchEl=null,_this.bgSwatchEl=null,_this.mentionsEl=null,_this.onEditorKeydown=function(t){if("Tab"!==t.key)return;t.preventDefault(),_this.focusAndRestore();var i=window.getSelection();if(!i||0===i.rangeCount)return;var s=i.getRangeAt(0);if(t.shiftKey){if(s.collapsed&&s.startContainer.nodeType===Node.TEXT_NODE){var _t=s.startContainer,_e=s.startOffset,_n=_t.data.slice(0,_e),_r=_n.replace(/(\t|[ \u00a0]{2})$/,"");if(_r.length!==_n.length){_t.data=_r+_t.data.slice(_e);var _s=document.createRange();_s.setStart(_t,_r.length),_s.collapse(!0),i.removeAllRanges(),i.addRange(_s),_this.updateContent(),_this.updateToolbarState();}}return;}s.deleteContents();var e=document.createTextNode("\t");s.insertNode(e);var n=document.createRange();n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n),_this.updateContent(),_this.updateToolbarState();},_this.onSelectionChange=function(){if(!_this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);_this.editorEl.contains(i.commonAncestorContainer)&&(_this.lastRange=i.cloneRange(),_this.updateToolbarState());};return _this;}_inherits(p,_i);return _createClass(p,[{key:"createRenderRoot",value:function createRenderRoot(){return this;}},{key:"shouldUpdate",value:function shouldUpdate(){return!1;}},{key:"injectCss",value:function injectCss(t){if(this.querySelector("style[data-rte-style]"))return;var i=document.createElement("style");i.setAttribute("data-rte-style","true"),i.textContent=t,this.insertBefore(i,this.firstChild);}},{key:"connectedCallback",value:function connectedCallback(){var _this$mentionsEl$atta,_this$mentionsEl,_this$mentionsEl$setE,_this$mentionsEl2;_superPropGet(p,"connectedCallback",this,3)([]),this.injectCss(m.cssText),this.toolbarEl=this.querySelector("nile-rte-toolbar"),this.previewEl=this.querySelector("nile-rte-preview"),this.ensureEditor(),this.value&&!this.editorEl.innerHTML.trim()&&(this.editorEl.innerHTML=this.value),this.content=this.editorEl.innerHTML,this.toolbarEl&&this.wireAuthoredToolbar(this.toolbarEl),this.mentionsEl=this.querySelector("nile-rte-mentions"),this.mentionsEl&&((_this$mentionsEl$atta=(_this$mentionsEl=this.mentionsEl).attach)!==null&&_this$mentionsEl$atta!==void 0&&_this$mentionsEl$atta.call(_this$mentionsEl,this.editorEl,this),(_this$mentionsEl$setE=(_this$mentionsEl2=this.mentionsEl).setExternalConfig)!==null&&_this$mentionsEl$setE!==void 0&&_this$mentionsEl$setE.call(_this$mentionsEl2,this.mentions)),this.wireEditor(),this.updateToolbarState(),this.syncPreview(),document.addEventListener("selectionchange",this.onSelectionChange,!0);}},{key:"disconnectedCallback",value:function disconnectedCallback(){document.removeEventListener("selectionchange",this.onSelectionChange,!0),this.mentionsEl&&this.mentionsEl.detach&&this.mentionsEl.detach(),_superPropGet(p,"disconnectedCallback",this,3)([]);}},{key:"ensureEditor",value:function ensureEditor(){if(this.editorEl=this.querySelector(".editor"),!this.editorEl){var _this$toolbarEl;var _t2=document.createElement("article");_t2.className="editor",_t2.setAttribute("contenteditable","true"),(_this$toolbarEl=this.toolbarEl)!==null&&_this$toolbarEl!==void 0&&_this$toolbarEl.nextSibling?this.insertBefore(_t2,this.toolbarEl.nextSibling):this.previewEl?this.insertBefore(_t2,this.previewEl):this.appendChild(_t2),this.editorEl=_t2;}this.editorEl.innerHTML.trim()||(this.editorEl.innerHTML="<p><br></p>"),this.ensureAtLeastOneParagraph();}},{key:"wireEditor",value:function wireEditor(){var _this2=this;this.editorEl.addEventListener("input",function(){_this2.ensureAtLeastOneParagraph(),_this2.updateContent();}),this.editorEl.addEventListener("mouseup",function(){return _this2.saveSelection();}),this.editorEl.addEventListener("keyup",function(){return _this2.saveSelection();}),this.editorEl.addEventListener("keydown",this.onEditorKeydown);}},{key:"wireAuthoredToolbar",value:function wireAuthoredToolbar(t){var _this3=this;this.buttonMap.clear(),this.headingSelect=null,this.fontSelect=null,this.colorInput=null,Array.from(t.children).forEach(function(t){var i=t.tagName.toLowerCase();if("nile-rte-select"!==i||"align"!==t.getAttribute("type")){if("nile-rte-link"===i)return t.editorEl=_this3.editorEl,void t.addEventListener("link-changed",function(){_this3.updateContent(),_this3.updateToolbarState();});if("nile-rte-toolbar-item"===i){var _this3$buttonMap$get;var _i2=t.querySelector(":scope > nile-button");var _s2=t.getAttribute("name")||"",_e2=t.getAttribute("label")||_s2,_n2=t.getAttribute("icon"),_r2=t.innerHTML.trim().length>0;if(_i2||(_i2=document.createElement("nile-button"),_i2.variant="tertiary",_i2.size="small"),_n2)_i2.innerHTML="<nile-icon name=\"".concat(_n2,"\" aria-label=\"").concat(_e2,"\"></nile-icon>"),t.innerHTML="";else if(_r2)_i2.innerHTML=t.innerHTML,t.innerHTML="";else{var _n3=b[_s2];_n3?_i2.innerHTML="<nile-icon name=\"".concat(_n3,"\" size=\"20\" color=\"black\" aria-label=\"").concat(_e2,"\"></nile-icon>"):_i2.textContent=_e2||_s2,t.innerHTML="";}_i2.isConnected||t.appendChild(_i2),_i2.setAttribute("aria-label",_e2),_i2.addEventListener("mousedown",function(t){return t.preventDefault();}),_i2.addEventListener("click",function(){return _this3.onToolbarCommand(_s2);});var _o=(_this3$buttonMap$get=_this3.buttonMap.get(_s2))!==null&&_this3$buttonMap$get!==void 0?_this3$buttonMap$get:[];return _o.push(_i2),void _this3.buttonMap.set(_s2,_o);}if("nile-rte-select"!==i)"nile-rte-color"!==i||t.addEventListener("change",function(t){_this3.focusAndRestore();var _t$detail=t.detail,i=_t$detail.mode,s=_t$detail.value;"backColor"===i?l(_this3.editorEl,s):c(_this3.editorEl,s),_this3.updateContent(),_this3.updateToolbarState();});else{var _i3=t.getAttribute("type")||"";t.addEventListener("change",function(t){_this3.focusAndRestore();var s=t.detail;"heading"===_i3?o(_this3.editorEl,s):"font"===_i3&&h(_this3.editorEl,s),_this3.updateContent(),_this3.updateToolbarState();});}}else t.addEventListener("change",function(t){_this3.focusAndRestore();var i=t.detail;r(_this3.editorEl,i),_this3.updateContent(),_this3.updateToolbarState();});});}},{key:"saveSelection",value:function saveSelection(){var t=window.getSelection();t&&t.rangeCount&&(this.lastRange=t.getRangeAt(0).cloneRange());}},{key:"restoreSelection",value:function restoreSelection(){if(!this.lastRange)return;var t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(this.lastRange));}},{key:"focusAndRestore",value:function focusAndRestore(){var _this$editorEl;(_this$editorEl=this.editorEl)!==null&&_this$editorEl!==void 0&&_this$editorEl.focus(),this.restoreSelection();}},{key:"insertList",value:function insertList(t){if(this.restoreSelection(),!this.lastRange)return;var i=document.createElement(t),s=this.lastRange.extractContents(),e=document.createElement("div");e.appendChild(s),Array.from(e.childNodes).forEach(function(t){var _t$textContent;if(t.nodeType===Node.TEXT_NODE&&!((_t$textContent=t.textContent)!==null&&_t$textContent!==void 0&&_t$textContent.trim()))return;var s=document.createElement("li");s.appendChild(t),i.appendChild(s);}),this.lastRange.insertNode(i),this.afterListEdit(i);}},{key:"afterListEdit",value:function afterListEdit(t){var i=document.createRange();i.setStartAfter(t),i.collapse(!0);var s=window.getSelection();s!==null&&s!==void 0&&s.removeAllRanges(),s!==null&&s!==void 0&&s.addRange(i),this.saveSelection(),this.updateContent(),this.updateToolbarState();}},{key:"ensureAtLeastOneParagraph",value:function ensureAtLeastOneParagraph(){var _t$textContent2;var t=this.editorEl;if(!t)return;var i=""===((_t$textContent2=t.textContent)!==null&&_t$textContent2!==void 0?_t$textContent2:"").replace(/\u200B/g,"").trim();if(0===t.childNodes.length||i)return void(t.innerHTML="<p><br></p>");if(!t.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre")){var _i4=document.createElement("p");for(;t.firstChild;)_i4.appendChild(t.firstChild);return _i4.hasChildNodes()||_i4.appendChild(document.createElement("br")),void t.appendChild(_i4);}t.querySelectorAll("p").forEach(function(t){var _t$textContent3;""===((_t$textContent3=t.textContent)!==null&&_t$textContent3!==void 0?_t$textContent3:"").replace(/\u200B/g,"")&&(t.innerHTML.toLowerCase().includes("<br")||(t.innerHTML="<br>"));});}},{key:"onToolbarCommand",value:function onToolbarCommand(t){switch(this.focusAndRestore(),t){case"bold":a(this.editorEl,"strong");break;case"italic":a(this.editorEl,"em");break;case"underline":a(this.editorEl,"u");break;case"left":r(this.editorEl,"left");break;case"center":r(this.editorEl,"center");break;case"right":r(this.editorEl,"right");break;case"justify":r(this.editorEl,"justify");break;case"ul":this.insertList("ul");break;case"ol":this.insertList("ol");break;case"link":break;case"clear":var _t3=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),_i5=[];for(;_t3.nextNode();){var _s3=_t3.currentNode;_s3.removeAttribute("style"),["B","STRONG","I","EM","U","SPAN","FONT"].includes(_s3.tagName)&&_i5.push(_s3);}for(var _i7=0,_i6=_i5;_i7<_i6.length;_i7++){var _t4=_i6[_i7];for(;_t4.firstChild;){var _t4$parentNode;(_t4$parentNode=_t4.parentNode)===null||_t4$parentNode===void 0||_t4$parentNode.insertBefore(_t4.firstChild,_t4);}_t4.remove();}this.ensureAtLeastOneParagraph();}this.updateContent(),this.updateToolbarState();}},{key:"setBtnActive",value:function setBtnActive(t,i){var s=this.buttonMap.get(t);if(s){var _iterator=_createForOfIteratorHelper(s),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _t5=_step.value;_t5.toggleAttribute("data-active",!!i);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}}},{key:"updateToolbarState",value:function updateToolbarState(){var _this4=this,_s$closest;if(!this.editorEl)return;var t=document.getSelection();if(!t||0===t.rangeCount)return;var i=t.getRangeAt(0);if(!this.editorEl.contains(i.commonAncestorContainer))return;var s=u(i.startContainer)||this.editorEl,e=getComputedStyle(s),n=f(i.startContainer,this.editorEl)||this.editorEl,r=function(){var t=s;for(;t&&t!==_this4.editorEl;){if(t instanceof HTMLElement){var _i8=t.tagName.toLowerCase();if("strong"===_i8||"b"===_i8)return!0;var _s4=getComputedStyle(t).fontWeight;if(parseInt(_s4,10)>=600)return!0;}t=t.parentNode;}return!1;}(),o=function(){var t=s;for(;t&&t!==_this4.editorEl;){if(t instanceof HTMLElement){var _i9=t.tagName.toLowerCase();if("em"===_i9||"i"===_i9)return!0;if("italic"===getComputedStyle(t).fontStyle)return!0;}t=t.parentNode;}return!1;}(),h=function(){var t=s;for(;t&&t!==_this4.editorEl;){if(t instanceof HTMLElement){var _i10=getComputedStyle(t).textDecorationLine;if(_i10&&_i10.includes("underline"))return!0;if("u"===t.tagName.toLowerCase())return!0;}t=t.parentNode;}return!1;}(),l=!!s.closest("a"),c=n.style.textAlign||getComputedStyle(n).textAlign||"start",a="start"===c?"left":c,m=!!s.closest("li")&&((_s$closest=s.closest("ul,ol"))===null||_s$closest===void 0?void 0:_s$closest.tagName.toLowerCase())||"";if(this.setBtnActive("bold",r),this.setBtnActive("italic",o),this.setBtnActive("underline",h),this.setBtnActive("link",l),this.setBtnActive("left","left"===a&&!["center","right","justify"].includes(a)),this.setBtnActive("center","center"===a),this.setBtnActive("right","right"===a),this.setBtnActive("justify","justify"===a),this.setBtnActive("ul","ul"===m),this.setBtnActive("ol","ol"===m),this.headingSelect){var _t6=n.tagName.toLowerCase(),_i11=["h1","h2","h3"].includes(_t6)?_t6:"p";this.headingSelect.value!==_i11&&(this.headingSelect.value=_i11);}if(this.fontSelect){var _t7=(e.fontFamily||"").replace(/["']/g,"").split(",")[0].trim().toLowerCase();if(_t7)for(var _i12=0,_Array$from=Array.from(this.fontSelect.options);_i12<_Array$from.length;_i12++){var _i13=_Array$from[_i12];if(_i13.value.toLowerCase()===_t7){this.fontSelect.value=_i13.value;break;}}}if(this.colorInput){var _t8=d(e.color);_t8&&this.colorInput.value.toLowerCase()!==_t8.toLowerCase()&&(this.colorInput.value=_t8),this.colorSwatchEl&&(this.colorSwatchEl.style.backgroundColor=this.colorInput.value);}if(this.bgColorInput){var _t9=getComputedStyle(s).backgroundColor;if(_t9&&!/transparent|rgba\(\s*0\s*,\s*0\s*,\s*0\s*,\s*0\s*\)/i.test(_t9)){var _i14=d(_t9);_i14&&this.bgColorInput.value.toLowerCase()!==_i14.toLowerCase()&&(this.bgColorInput.value=_i14);}this.bgSwatchEl&&(this.bgSwatchEl.style.backgroundColor=this.bgColorInput.value);}}},{key:"syncPreview",value:function syncPreview(){this.updateContent();}},{key:"updateContent",value:function updateContent(){if(!this.editorEl)return;this.ensureAtLeastOneParagraph();var t=this.editorEl.cloneNode(!0),i=document.createTreeWalker(this.editorEl,NodeFilter.SHOW_ELEMENT),s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT),e=["font-weight","font-style","text-decoration","color","background-color","font-size","font-family","text-align","line-height","letter-spacing","white-space","vertical-align"];var _loop=function _loop(){var t=i.currentNode,n=s.currentNode,r=window.getComputedStyle(t),o=e.map(function(t){return"".concat(t,":").concat(r.getPropertyValue(t));}).join(";");o.trim()&&n.setAttribute("style",o);};for(;i.nextNode()&&s.nextNode();){_loop();}this.content=t.innerHTML,this.previewEl&&(this.previewEl.innerHTML=this.content),this.dispatchEvent(new CustomEvent("content-changed",{detail:{content:this.content},bubbles:!0,composed:!0}));}}]);}(i));t([s({type:String})],p.prototype,"value",void 0),t([s({attribute:"mentions",converter:{fromAttribute:function fromAttribute(t){try{var _i15=JSON.parse(t),_s5={};for(var _i16=0,_Object$keys=Object.keys(_i15);_i16<_Object$keys.length;_i16++){var _t10=_Object$keys[_i16];var _e3=_i15[_t10];Array.isArray(_e3)&&(_s5[_t10]=_e3.filter(function(t){return t&&"string"==typeof t.key&&"string"==typeof t.label;}).map(function(t){return{key:t.key,label:t.label};}));}return _s5;}catch(_unused){return{};}},toAttribute:function toAttribute(t){return JSON.stringify(t);}}})],p.prototype,"mentions",void 0),t([e()],p.prototype,"content",void 0),_export("N",p=t([n("nile-rich-text-editor")],p));}};});
|
2
2
|
//# sourceMappingURL=nile-rich-text-editor.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-rich-text-editor.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rich-text-editor.ts"],"sourcesContent":["// nile-rich-text-editor.ts\nimport { LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport './nile-rte-toolbar';\nimport './nile-rte-toolbar-item';\nimport './nile-rte-select';\nimport './nile-rte-color';\nimport './nile-rte-divider';\nimport './nile-rte-preview';\nimport './nile-rte-mentions';\n\nimport {\n closestBlock, nearestElement, rgbToHex,\n toggleInlineTag, setBlockTag, setAlignment,\n setFontFamily, setForeColor, insertOrEditLink, setBackColor\n} from './utils';\n\nimport {styles} from './nile-rich-text-editor.css'; \n\ntype MentionsConfig = Record<string, { key: string; label: string }[]>;\n\n/**\n * Map commands → default icon names from your <nile-icon> set.\n * Adjust values to match the real names you have.\n */\nconst DEFAULT_ICONS: Record<string, string> = {\n bold: 'format_bold',\n italic: 'format_italic',\n underline: 'format_underline',\n link: 'link_2',\n left: 'format_align_left',\n center: 'format_align_middle',\n right: 'format_align_right',\n justify: 'format_align_justify',\n ul: 'format_list_bulleted',\n ol: 'format_list_numbered',\n clear: 'error',\n};\n\n@customElement('nile-rich-text-editor')\nexport class NileRichTextEditor extends LitElement {\n protected createRenderRoot() { return this; } \n protected shouldUpdate() { return false; } \n\n /** Initial HTML content */\n @property({ type: String }) value = '';\n\n /** Optional mentions config (can also be on <nile-rte-mentions mentions=\"...\">) */\n @property({\n attribute: 'mentions',\n converter: {\n fromAttribute: (value: string): MentionsConfig => {\n try {\n const parsed = JSON.parse(value);\n const out: MentionsConfig = {};\n for (const trig of Object.keys(parsed)) {\n const arr = parsed[trig];\n if (Array.isArray(arr)) {\n out[trig] = arr\n .filter(i => i && typeof i.key === 'string' && typeof i.label === 'string')\n .map(i => ({ key: i.key, label: i.label }));\n }\n }\n return out;\n } catch { return {}; }\n },\n toAttribute: (v: MentionsConfig) => JSON.stringify(v),\n }\n })\n mentions: MentionsConfig = {};\n\n // ----- internal state (no Lit render) -----\n @state() private content = '';\n private editorEl!: HTMLElement;\n private previewEl: HTMLElement | null = null;\n private toolbarEl: HTMLElement | null = null;\n\n private lastRange: Range | null = null;\n\n // map for button active reflections\n private buttonMap = new Map<string, HTMLElement[]>();\n private headingSelect: HTMLSelectElement | null = null;\n private fontSelect: HTMLSelectElement | null = null;\n private colorInput: HTMLInputElement | null = null;\nprivate bgColorInput: HTMLInputElement | null = null; \nprivate colorSwatchEl: HTMLElement | null = null; \nprivate bgSwatchEl: HTMLElement | null = null; \n\n\n // Mentions controller (child)\n private mentionsEl: HTMLElement | null = null;\n\n \n\n private injectCss(cssText: string) {\n if (this.querySelector('style[data-rte-style]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-rte-style', 'true');\n style.textContent = cssText;\n this.insertBefore(style, this.firstChild);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n \n this.injectCss(styles.cssText); \n \n\n \n this.toolbarEl = this.querySelector('nile-rte-toolbar');\n this.previewEl = this.querySelector('nile-rte-preview');\n\n \n this.ensureEditor();\n\n \n if (this.value && !this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = this.value;\n }\n this.content = this.editorEl.innerHTML;\n\n \n if (this.toolbarEl) this.wireAuthoredToolbar(this.toolbarEl);\n\n \n this.mentionsEl = this.querySelector('nile-rte-mentions');\n if (this.mentionsEl) {\n \n (this.mentionsEl as any).attach?.(this.editorEl, this as HTMLElement);\n \n (this.mentionsEl as any).setExternalConfig?.(this.mentions);\n }\n\n \n this.wireEditor();\n\n \n this.updateToolbarState();\n this.syncPreview();\n\n \n document.addEventListener('selectionchange', this.onSelectionChange, true);\n }\n\n disconnectedCallback(): void {\n document.removeEventListener('selectionchange', this.onSelectionChange, true);\n \n if (this.mentionsEl && (this.mentionsEl as any).detach) {\n (this.mentionsEl as any).detach();\n }\n super.disconnectedCallback();\n }\n\n \n \n\n private ensureEditor() {\n this.editorEl = this.querySelector('.editor') as HTMLElement;\n if (!this.editorEl) {\n const editor = document.createElement('article');\n editor.className = 'editor';\n editor.setAttribute('contenteditable','true');\n if (this.toolbarEl?.nextSibling) {\n this.insertBefore(editor, this.toolbarEl.nextSibling);\n } else if (this.previewEl) {\n this.insertBefore(editor, this.previewEl);\n } else {\n this.appendChild(editor);\n }\n this.editorEl = editor;\n }\n if (!this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = '<p><br></p>';\n }\n this.ensureAtLeastOneParagraph();\n }\n\n private wireEditor() {\n this.editorEl.addEventListener('input', () => { \n this.ensureAtLeastOneParagraph();\n this.updateContent();\n });\n this.editorEl.addEventListener('mouseup', () => this.saveSelection());\n this.editorEl.addEventListener('keyup', () => this.saveSelection());\n this.editorEl.addEventListener('keydown', this.onEditorKeydown); \n }\n \n \n private onEditorKeydown = (e: KeyboardEvent) => {\n if (e.key !== 'Tab') return;\n \n e.preventDefault();\n this.focusAndRestore();\n \n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n \n \n if (e.shiftKey) {\n if (range.collapsed && range.startContainer.nodeType === Node.TEXT_NODE) {\n const t = range.startContainer as Text;\n const off = range.startOffset;\n const before = t.data.slice(0, off);\n \n \n const removed = before.replace(/(\\t|[ \\u00a0]{2})$/, '');\n if (removed.length !== before.length) {\n t.data = removed + t.data.slice(off);\n const r = document.createRange();\n r.setStart(t, removed.length);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n this.updateContent();\n this.updateToolbarState();\n }\n }\n return;\n }\n \n \n range.deleteContents();\n const tabNode = document.createTextNode('\\t'); \n range.insertNode(tabNode);\n \n \n const r = document.createRange();\n r.setStartAfter(tabNode);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n \n this.updateContent();\n this.updateToolbarState();\n };\n \n\n private wireAuthoredToolbar(tb: HTMLElement) {\n \n this.buttonMap.clear();\n this.headingSelect = null;\n this.fontSelect = null;\n this.colorInput = null;\n\n \n Array.from(tb.children).forEach(child => {\n const tag = child.tagName.toLowerCase();\n\n if (tag === 'nile-rte-select' && child.getAttribute('type') === 'align') {\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n const alignment = e.detail as 'left'|'center'|'right'|'justify';\n setAlignment(this.editorEl, alignment);\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n \n\n if (tag === 'nile-rte-toolbar-item') {\n \n let btn = child.querySelector(':scope > nile-button') as HTMLElement | null;\n \n const cmd = child.getAttribute('name') || '';\n const label = child.getAttribute('label') || cmd;\n const iconAttr = child.getAttribute('icon');\n const authoredHasContent = child.innerHTML.trim().length > 0;\n \n \n if (!btn) {\n btn = document.createElement('nile-button');\n (btn as any).variant = 'tertiary';\n (btn as any).size = 'small'; // optional\n }\n \n \n if (iconAttr) {\n btn.innerHTML = `<nile-icon name=\"${iconAttr}\" aria-label=\"${label}\"></nile-icon>`;\n child.innerHTML = '';\n } else if (!authoredHasContent) {\n const defaultIcon = DEFAULT_ICONS[cmd];\n if (defaultIcon) {\n btn.innerHTML = `<nile-icon name=\"${defaultIcon}\" size=\"20\" color=\"black\" aria-label=\"${label}\"></nile-icon>`;\n } else {\n btn.textContent = label || cmd;\n }\n child.innerHTML = '';\n } else {\n btn.innerHTML = child.innerHTML;\n child.innerHTML = '';\n }\n \n // Mount it\n if (!btn.isConnected) child.appendChild(btn);\n \n // Interactions\n btn.setAttribute('aria-label', label);\n btn.addEventListener('mousedown', e => e.preventDefault());\n btn.addEventListener('click', () => this.onToolbarCommand(cmd));\n \n \n const arr = this.buttonMap.get(cmd) ?? [];\n arr.push(btn);\n this.buttonMap.set(cmd, arr);\n \n return; \n }\n if (tag === 'nile-rte-select') {\n const type = child.getAttribute('type') || '';\n\n // listen for our custom dropdown’s change event\n child.addEventListener('change', (e: any) => {\n // restore focus & selection\n this.focusAndRestore();\n\n const val = e.detail as string;\n\n if (type === 'heading') {\n // apply block tag\n setBlockTag(this.editorEl, val as any);\n }\n else if (type === 'font') {\n setFontFamily(this.editorEl, val);\n }\n \n // update the editor content & toolbar UI\n this.updateContent();\n this.updateToolbarState();\n });\n\n // nothing else to inject into the DOM\n return;\n }\n \n\n if (tag === 'nile-rte-color') {\n const label = child.getAttribute('label') ?? 'Text color';\n const value = child.getAttribute('value') ?? '#000000';\n const mode = child.getAttribute('mode') ?? 'text'; // 'text' | 'background'\n \n // Create/attach the hidden color input\n let input = child.querySelector(':scope > input[type=\"color\"]') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'color';\n input.style.position = 'absolute';\n input.style.opacity = '0';\n input.style.pointerEvents = 'none'; // we'll click it programmatically\n child.appendChild(input);\n }\n input.title = label;\n input.value = value;\n \n let trigger = child.querySelector(':scope > nile-button') as HTMLElement | null;\n if (!trigger) {\n const nb = document.createElement('nile-button');\n (nb as any).variant = 'ghost';\n nb.className = 'rte-color-trigger';\n nb.setAttribute('aria-label', label);\n \n if (mode === 'background') {\n nb.innerHTML = `<span class=\"swatch-box\" aria-hidden=\"true\"></span>`;\n } else {\n nb.innerHTML = `\n <span class=\"glyph-stack\" aria-hidden=\"true\">\n <span class=\"glyph\">A</span>\n <span class=\"underline\"></span>\n </span>\n `;\n }\n \n child.appendChild(nb);\n trigger = nb;\n }\n \n \n // Cache swatch elements to update later\n const underline = trigger.querySelector('.underline') as HTMLElement | null;\n const square = trigger.querySelector('.swatch-box') as HTMLElement | null;\n \n if (mode === 'background') {\n this.bgColorInput = input;\n this.bgSwatchEl = square;\n if (this.bgSwatchEl) this.bgSwatchEl.style.backgroundColor = input.value;\n } else {\n this.colorInput = input;\n this.colorSwatchEl = underline;\n if (this.colorSwatchEl) this.colorSwatchEl.style.backgroundColor = input.value;\n }\n \n // Open native picker on trigger click\n trigger.addEventListener('click', (e) => {\n e.preventDefault();\n // Keep selection before opening the picker\n this.focusAndRestore();\n input!.click();\n });\n \n // When the user picks a color, apply it + update swatch\n input.addEventListener('input', () => {\n this.focusAndRestore();\n if (mode === 'background') {\n setBackColor(this.editorEl, input!.value);\n if (this.bgSwatchEl) this.bgSwatchEl.style.backgroundColor = input!.value;\n } else {\n setForeColor(this.editorEl, input!.value);\n if (this.colorSwatchEl) this.colorSwatchEl.style.backgroundColor = input!.value;\n }\n this.updateContent();\n this.updateToolbarState();\n });\n \n // Prevent losing selection when interacting\n trigger.addEventListener('mousedown', e => e.preventDefault());\n input.addEventListener('mousedown', e => e.preventDefault());\n }\n });\n }\n private onSelectionChange = () => {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (this.editorEl.contains(range.commonAncestorContainer)) {\n this.lastRange = range.cloneRange();\n this.updateToolbarState();\n }\n };\n private saveSelection() {\n const sel = window.getSelection();\n if (sel && sel.rangeCount) this.lastRange = sel.getRangeAt(0).cloneRange();\n }\n private restoreSelection() {\n if (!this.lastRange) return;\n const sel = document.getSelection(); if (!sel) return;\n sel.removeAllRanges(); sel.addRange(this.lastRange);\n }\n private focusAndRestore() { this.editorEl?.focus(); this.restoreSelection(); }\n\n /*──────────────────────── LIST HELPERS ────────────────────────*/\nprivate insertList(type: 'ul' | 'ol') {\n this.restoreSelection();\n if (!this.lastRange) return;\n\n // build <ul>/<ol>\n const list = document.createElement(type);\n\n // grab the selected fragment\n const frag = this.lastRange.extractContents();\n const temp = document.createElement('div');\n temp.appendChild(frag);\n\n // wrap each top-level node in an <li>\n Array.from(temp.childNodes).forEach(n => {\n // skip empty whitespace text nodes\n if (n.nodeType === Node.TEXT_NODE && !n.textContent?.trim()) return;\n const li = document.createElement('li');\n li.appendChild(n); // moves the node!\n list.appendChild(li);\n });\n\n // insert list where the selection was\n this.lastRange.insertNode(list);\n this.afterListEdit(list);\n}\n\nprivate afterListEdit(node: Node) {\n const range = document.createRange();\n range.setStartAfter(node);\n range.collapse(true);\n const sel = window.getSelection();\n sel?.removeAllRanges();\n sel?.addRange(range);\n\n this.saveSelection();\n this.updateContent();\n this.updateToolbarState();\n}\n // Keep at least one <p><br></p> and wrap stray inline/text into a <p>\nprivate ensureAtLeastOneParagraph() {\n const el = this.editorEl;\n if (!el) return;\n\n // 1) If completely empty → seed a paragraph\n const onlyWhitespace =\n (el.textContent ?? '').replace(/\\u200B/g, '').trim() === '';\n if (el.childNodes.length === 0 || onlyWhitespace) {\n el.innerHTML = '<p><br></p>';\n return;\n }\n\n // 2) If no block elements exist, wrap whatever is there into a <p>\n const hasBlock = el.querySelector('p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre');\n if (!hasBlock) {\n const p = document.createElement('p');\n while (el.firstChild) p.appendChild(el.firstChild);\n if (!p.hasChildNodes()) p.appendChild(document.createElement('br'));\n el.appendChild(p);\n return;\n }\n\n // 3) Make sure the first/only empty <p> still has a <br>\n el.querySelectorAll('p').forEach(p => {\n if ((p.textContent ?? '').replace(/\\u200B/g, '') === '') {\n if (!p.innerHTML.toLowerCase().includes('<br')) p.innerHTML = '<br>';\n }\n });\n}\n\n\n\n // ---------- Toolbar/commands ----------\n private onToolbarCommand(cmd: string) {\n this.focusAndRestore();\n switch (cmd) {\n case 'bold': toggleInlineTag(this.editorEl, 'strong'); break;\n case 'italic': toggleInlineTag(this.editorEl, 'em'); break;\n case 'underline': toggleInlineTag(this.editorEl, 'u'); break;\n case 'left': setAlignment(this.editorEl, 'left'); break;\n case 'center': setAlignment(this.editorEl, 'center'); break;\n case 'right': setAlignment(this.editorEl, 'right'); break;\n case 'justify': setAlignment(this.editorEl, 'justify'); break;\n case 'ul': this.insertList('ul'); break;\n case 'ol': this.insertList('ol'); break;\n case 'link': insertOrEditLink(this.editorEl); break;\n case 'clear':\n const walker = document.createTreeWalker(this.editorEl, NodeFilter.SHOW_ELEMENT);\n const toUnwrap: HTMLElement[] = [];\n while (walker.nextNode()) {\n const el = walker.currentNode as HTMLElement;\n el.removeAttribute('style');\n if (['B','STRONG','I','EM','U','SPAN','FONT'].includes(el.tagName)) {\n toUnwrap.push(el);\n }\n }\n for (const el of toUnwrap) {\n while (el.firstChild) el.parentNode?.insertBefore(el.firstChild, el);\n el.remove();\n }\n this.ensureAtLeastOneParagraph();\n break;\n\n default: break;\n }\n this.updateContent(); this.updateToolbarState();\n }\n\n private setBtnActive(cmd: string, active: boolean) {\n const arr = this.buttonMap.get(cmd); if (!arr) return;\n for (const btn of arr) btn.toggleAttribute('data-active', !!active);\n }\n\n private updateToolbarState() {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (!this.editorEl.contains(range.commonAncestorContainer)) return;\n\n const startElm = nearestElement(range.startContainer) || this.editorEl;\n const comp = getComputedStyle(startElm);\n const block = closestBlock(range.startContainer, this.editorEl) || this.editorEl;\n\n const isBold = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'strong' || t === 'b') return true;\n const w = getComputedStyle(n).fontWeight;\n if (parseInt(w, 10) >= 600) return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isItalic = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'em' || t === 'i') return true;\n if (getComputedStyle(n).fontStyle === 'italic') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isUnderline = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const tdl = getComputedStyle(n).textDecorationLine;\n if (tdl && tdl.includes('underline')) return true;\n if (n.tagName.toLowerCase() === 'u') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const inLink = !!startElm.closest('a');\n\n const align = (block.style.textAlign || getComputedStyle(block).textAlign || 'start') as string;\n const alignNorm = align === 'start' ? 'left' : align;\n\n const inLi = !!startElm.closest('li');\n const listType = inLi ? (startElm.closest('ul,ol')?.tagName.toLowerCase() || '') : '';\n\n this.setBtnActive('bold', isBold);\n this.setBtnActive('italic', isItalic);\n this.setBtnActive('underline', isUnderline);\n this.setBtnActive('link', inLink);\n\n this.setBtnActive('left', alignNorm === 'left' && !['center','right','justify'].includes(alignNorm));\n this.setBtnActive('center', alignNorm === 'center');\n this.setBtnActive('right', alignNorm === 'right');\n this.setBtnActive('justify', alignNorm === 'justify');\n\n this.setBtnActive('ul', listType === 'ul');\n this.setBtnActive('ol', listType === 'ol');\n\n // Reflect heading\n if (this.headingSelect) {\n const tag = block.tagName.toLowerCase();\n const v = ['h1','h2','h3'].includes(tag) ? tag : 'p';\n if (this.headingSelect.value !== v) this.headingSelect.value = v;\n }\n\n // Reflect font family\n if (this.fontSelect) {\n const ff = (comp.fontFamily || '').replace(/[\"']/g, '').split(',')[0].trim().toLowerCase();\n if (ff) {\n for (const opt of Array.from(this.fontSelect.options)) {\n if (opt.value.toLowerCase() === ff) { this.fontSelect.value = opt.value; break; }\n }\n }\n }\n\n if (this.colorInput) {\n const hex = rgbToHex(comp.color);\n if (hex && this.colorInput.value.toLowerCase() !== hex.toLowerCase()) {\n this.colorInput.value = hex;\n }\n if (this.colorSwatchEl) this.colorSwatchEl.style.backgroundColor = this.colorInput.value;\n }\n \n\n if (this.bgColorInput) {\n const bg = getComputedStyle(startElm).backgroundColor;\n if (bg && !/transparent|rgba\\(\\s*0\\s*,\\s*0\\s*,\\s*0\\s*,\\s*0\\s*\\)/i.test(bg)) {\n const bgHex = rgbToHex(bg);\n if (bgHex && this.bgColorInput.value.toLowerCase() !== bgHex.toLowerCase()) {\n this.bgColorInput.value = bgHex;\n }\n }\n if (this.bgSwatchEl) this.bgSwatchEl.style.backgroundColor = this.bgColorInput.value;\n }\n }\n\n private syncPreview() {\n this.updateContent();\n }\n\n private updateContent() {\n if (!this.editorEl) return;\n this.ensureAtLeastOneParagraph();\n \n \n const clone = this.editorEl.cloneNode(true) as HTMLElement;\n \n \n const origWalker = document.createTreeWalker(this.editorEl, NodeFilter.SHOW_ELEMENT);\n const cloneWalker = document.createTreeWalker(clone, NodeFilter.SHOW_ELEMENT);\n \n \n const importantProps = [\n 'font-weight',\n 'font-style',\n 'text-decoration',\n 'color',\n 'background-color',\n 'font-size',\n 'font-family',\n 'text-align',\n 'line-height',\n 'letter-spacing',\n 'white-space',\n 'vertical-align'\n ];\n \n while (origWalker.nextNode() && cloneWalker.nextNode()) {\n const origEl = origWalker.currentNode as HTMLElement;\n const cloneEl = cloneWalker.currentNode as HTMLElement;\n const computed = window.getComputedStyle(origEl);\n \n \n const cssText = importantProps\n .map(prop => `${prop}:${computed.getPropertyValue(prop)}`)\n .join(';');\n \n \n if (cssText.trim()) {\n cloneEl.setAttribute('style', cssText);\n }\n }\n \n \n this.content = clone.innerHTML;\n \n \n if (this.previewEl) this.previewEl.innerHTML = this.content;\n \n \n this.dispatchEvent(new CustomEvent('content-changed', {\n detail: { content: this.content },\n bubbles: true,\n composed: true\n }));\n }\n \n \n \n \n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rich-text-editor': NileRichTextEditor;\n }\n}\n\n"],"names":["DEFAULT_ICONS","bold","italic","underline","link","left","center","right","justify","ul","ol","clear","_export","NileRichTextEditor","g","this","value","mentions","content","previewEl","toolbarEl","lastRange","buttonMap","Map","headingSelect","fontSelect","colorInput","bgColorInput","colorSwatchEl","bgSwatchEl","mentionsEl","onEditorKeydown","e","key","preventDefault","focusAndRestore","sel","window","getSelection","rangeCount","range","getRangeAt","shiftKey","collapsed","startContainer","nodeType","Node","TEXT_NODE","t","off","startOffset","before","data","slice","removed","replace","length","r","document","createRange","setStart","collapse","removeAllRanges","addRange","updateContent","updateToolbarState","deleteContents","tabNode","createTextNode","insertNode","setStartAfter","onSelectionChange","editorEl","contains","commonAncestorContainer","cloneRange","_this","_inherits","_i","_createClass","createRenderRoot","shouldUpdate","injectCss","cssText","querySelector","style","createElement","setAttribute","textContent","insertBefore","firstChild","connectedCallback","super","styles","ensureEditor","innerHTML","trim","wireAuthoredToolbar","attach","setExternalConfig","wireEditor","syncPreview","addEventListener","disconnectedCallback","removeEventListener","detach","_this$toolbarEl","editor","className","nextSibling","appendChild","ensureAtLeastOneParagraph","saveSelection","tb","Array","from","children","forEach","child","tag","tagName","toLowerCase","getAttribute","_this3$buttonMap$get","btn","cmd","label","iconAttr","authoredHasContent","variant","size","concat","defaultIcon","isConnected","onToolbarCommand","arr","get","push","set","_t$getAttribute","_t$getAttribute2","_t$getAttribute3","mode","input","type","position","opacity","pointerEvents","title","trigger","nb","square","backgroundColor","click","setBackColor","setForeColor","val","detail","setBlockTag","setFontFamily","alignment","setAlignment","restoreSelection","focus","insertList","list","frag","extractContents","temp","childNodes","n","li","afterListEdit","node","el","onlyWhitespace","p","hasChildNodes","querySelectorAll","_t$textContent3","includes","toggleInlineTag","insertOrEditLink","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","toUnwrap","nextNode","currentNode","removeAttribute","_i8","_i7","parentNode","remove","setBtnActive","active","_iterator","_createForOfIteratorHelper","s","_step","done","toggleAttribute","err","f","startElm","nearestElement","comp","getComputedStyle","block","closestBlock","isBold","HTMLElement","w","fontWeight","parseInt","isItalic","fontStyle","isUnderline","tdl","textDecorationLine","inLink","closest","align","textAlign","alignNorm","listType","_s$closest","v","ff","fontFamily","split","_i13","_Array$from","options","opt","hex","rgbToHex","color","bg","test","bgHex","clone","cloneNode","origWalker","cloneWalker","importantProps","_loop","origEl","cloneEl","computed","map","prop","getPropertyValue","join","dispatchEvent","CustomEvent","bubbles","composed","LitElement","__decorate","property","String","prototype","attribute","converter","fromAttribute","parsed","JSON","parse","out","_i17","_Object$keys","Object","keys","trig","isArray","filter","i","_unused","toAttribute","stringify","state","customElement"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"nile-rich-text-editor.cjs.js","sources":["../../../src/nile-rich-text-editor/nile-rich-text-editor.ts"],"sourcesContent":["// nile-rich-text-editor.ts\nimport { LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport './nile-rte-toolbar';\nimport './nile-rte-toolbar-item';\nimport './nile-rte-select';\nimport './nile-rte-color';\nimport './nile-rte-divider';\nimport './nile-rte-preview';\nimport './nile-rte-mentions';\nimport './nile-rte-link';\n\nimport {\n closestBlock, nearestElement, rgbToHex,\n toggleInlineTag, setBlockTag, setAlignment,\n setFontFamily, setForeColor, setBackColor, \n} from './utils';\n\nimport {styles} from './nile-rich-text-editor.css'; \n\ntype MentionsConfig = Record<string, { key: string; label: string }[]>;\n\n/**\n * Map commands → default icon names from your <nile-icon> set.\n * Adjust values to match the real names you have.\n */\nconst DEFAULT_ICONS: Record<string, string> = {\n bold: 'format_bold',\n italic: 'format_italic',\n underline: 'format_underline',\n link: 'link_2',\n left: 'format_align_left',\n center: 'format_align_middle',\n right: 'format_align_right',\n justify: 'format_align_justify',\n ul: 'format_list_bulleted',\n ol: 'format_list_numbered',\n clear: 'format_clear',\n};\n\n@customElement('nile-rich-text-editor')\nexport class NileRichTextEditor extends LitElement {\n protected createRenderRoot() { return this; } \n protected shouldUpdate() { return false; } \n\n /** Initial HTML content */\n @property({ type: String }) value = '';\n\n /** Optional mentions config (can also be on <nile-rte-mentions mentions=\"...\">) */\n @property({\n attribute: 'mentions',\n converter: {\n fromAttribute: (value: string): MentionsConfig => {\n try {\n const parsed = JSON.parse(value);\n const out: MentionsConfig = {};\n for (const trig of Object.keys(parsed)) {\n const arr = parsed[trig];\n if (Array.isArray(arr)) {\n out[trig] = arr\n .filter(i => i && typeof i.key === 'string' && typeof i.label === 'string')\n .map(i => ({ key: i.key, label: i.label }));\n }\n }\n return out;\n } catch { return {}; }\n },\n toAttribute: (v: MentionsConfig) => JSON.stringify(v),\n }\n })\n mentions: MentionsConfig = {};\n\n // ----- internal state (no Lit render) -----\n @state() private content = '';\n private editorEl!: HTMLElement;\n private previewEl: HTMLElement | null = null;\n private toolbarEl: HTMLElement | null = null;\n\n private lastRange: Range | null = null;\n\n // map for button active reflections\n private buttonMap = new Map<string, HTMLElement[]>();\n private headingSelect: HTMLSelectElement | null = null;\n private fontSelect: HTMLSelectElement | null = null;\n private colorInput: HTMLInputElement | null = null;\nprivate bgColorInput: HTMLInputElement | null = null; \nprivate colorSwatchEl: HTMLElement | null = null; \nprivate bgSwatchEl: HTMLElement | null = null; \n\n\n // Mentions controller (child)\n private mentionsEl: HTMLElement | null = null;\n\n \n\n private injectCss(cssText: string) {\n if (this.querySelector('style[data-rte-style]')) return;\n const style = document.createElement('style');\n style.setAttribute('data-rte-style', 'true');\n style.textContent = cssText;\n this.insertBefore(style, this.firstChild);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n \n this.injectCss(styles.cssText); \n \n\n \n this.toolbarEl = this.querySelector('nile-rte-toolbar');\n this.previewEl = this.querySelector('nile-rte-preview');\n\n \n this.ensureEditor();\n\n \n if (this.value && !this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = this.value;\n }\n this.content = this.editorEl.innerHTML;\n\n \n if (this.toolbarEl) this.wireAuthoredToolbar(this.toolbarEl);\n\n \n this.mentionsEl = this.querySelector('nile-rte-mentions');\n if (this.mentionsEl) {\n \n (this.mentionsEl as any).attach?.(this.editorEl, this as HTMLElement);\n \n (this.mentionsEl as any).setExternalConfig?.(this.mentions);\n }\n\n \n this.wireEditor();\n\n \n this.updateToolbarState();\n this.syncPreview();\n\n \n document.addEventListener('selectionchange', this.onSelectionChange, true);\n }\n\n disconnectedCallback(): void {\n document.removeEventListener('selectionchange', this.onSelectionChange, true);\n \n if (this.mentionsEl && (this.mentionsEl as any).detach) {\n (this.mentionsEl as any).detach();\n }\n super.disconnectedCallback();\n }\n\n \n \n\n private ensureEditor() {\n this.editorEl = this.querySelector('.editor') as HTMLElement;\n if (!this.editorEl) {\n const editor = document.createElement('article');\n editor.className = 'editor';\n editor.setAttribute('contenteditable','true');\n if (this.toolbarEl?.nextSibling) {\n this.insertBefore(editor, this.toolbarEl.nextSibling);\n } else if (this.previewEl) {\n this.insertBefore(editor, this.previewEl);\n } else {\n this.appendChild(editor);\n }\n this.editorEl = editor;\n }\n if (!this.editorEl.innerHTML.trim()) {\n this.editorEl.innerHTML = '<p><br></p>';\n }\n this.ensureAtLeastOneParagraph();\n }\n\n private wireEditor() {\n this.editorEl.addEventListener('input', () => { \n this.ensureAtLeastOneParagraph();\n this.updateContent();\n });\n this.editorEl.addEventListener('mouseup', () => this.saveSelection());\n this.editorEl.addEventListener('keyup', () => this.saveSelection());\n this.editorEl.addEventListener('keydown', this.onEditorKeydown); \n }\n \n \n private onEditorKeydown = (e: KeyboardEvent) => {\n if (e.key !== 'Tab') return;\n \n e.preventDefault();\n this.focusAndRestore();\n \n const sel = window.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n \n \n if (e.shiftKey) {\n if (range.collapsed && range.startContainer.nodeType === Node.TEXT_NODE) {\n const t = range.startContainer as Text;\n const off = range.startOffset;\n const before = t.data.slice(0, off);\n \n \n const removed = before.replace(/(\\t|[ \\u00a0]{2})$/, '');\n if (removed.length !== before.length) {\n t.data = removed + t.data.slice(off);\n const r = document.createRange();\n r.setStart(t, removed.length);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n this.updateContent();\n this.updateToolbarState();\n }\n }\n return;\n }\n \n \n range.deleteContents();\n const tabNode = document.createTextNode('\\t'); \n range.insertNode(tabNode);\n \n \n const r = document.createRange();\n r.setStartAfter(tabNode);\n r.collapse(true);\n sel.removeAllRanges();\n sel.addRange(r);\n \n this.updateContent();\n this.updateToolbarState();\n };\n \n\n private wireAuthoredToolbar(tb: HTMLElement) {\n \n this.buttonMap.clear();\n this.headingSelect = null;\n this.fontSelect = null;\n this.colorInput = null;\n\n \n Array.from(tb.children).forEach(child => {\n const tag = child.tagName.toLowerCase();\n\n if (tag === 'nile-rte-select' && child.getAttribute('type') === 'align') {\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n const alignment = e.detail as 'left'|'center'|'right'|'justify';\n setAlignment(this.editorEl, alignment);\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n if (tag === 'nile-rte-link') {\n (child as any).editorEl = this.editorEl;\n child.addEventListener('link-changed', () => {\n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n \n \n\n if (tag === 'nile-rte-toolbar-item') {\n \n let btn = child.querySelector(':scope > nile-button') as HTMLElement | null;\n \n const cmd = child.getAttribute('name') || '';\n const label = child.getAttribute('label') || cmd;\n const iconAttr = child.getAttribute('icon');\n const authoredHasContent = child.innerHTML.trim().length > 0;\n \n \n if (!btn) {\n btn = document.createElement('nile-button');\n (btn as any).variant = 'tertiary';\n (btn as any).size = 'small'; // optional\n }\n \n \n if (iconAttr) {\n btn.innerHTML = `<nile-icon name=\"${iconAttr}\" aria-label=\"${label}\"></nile-icon>`;\n child.innerHTML = '';\n } else if (!authoredHasContent) {\n const defaultIcon = DEFAULT_ICONS[cmd];\n if (defaultIcon) {\n btn.innerHTML = `<nile-icon name=\"${defaultIcon}\" size=\"20\" color=\"black\" aria-label=\"${label}\"></nile-icon>`;\n } else {\n btn.textContent = label || cmd;\n }\n child.innerHTML = '';\n } else {\n btn.innerHTML = child.innerHTML;\n child.innerHTML = '';\n }\n \n // Mount it\n if (!btn.isConnected) child.appendChild(btn);\n \n // Interactions\n btn.setAttribute('aria-label', label);\n btn.addEventListener('mousedown', e => e.preventDefault());\n btn.addEventListener('click', () => this.onToolbarCommand(cmd));\n \n \n const arr = this.buttonMap.get(cmd) ?? [];\n arr.push(btn);\n this.buttonMap.set(cmd, arr);\n \n return; \n }\n if (tag === 'nile-rte-select') {\n const type = child.getAttribute('type') || '';\n\n // listen for our custom dropdown’s change event\n child.addEventListener('change', (e: any) => {\n // restore focus & selection\n this.focusAndRestore();\n\n const val = e.detail as string;\n\n if (type === 'heading') {\n // apply block tag\n setBlockTag(this.editorEl, val as any);\n }\n else if (type === 'font') {\n setFontFamily(this.editorEl, val);\n }\n \n \n this.updateContent();\n this.updateToolbarState();\n });\n\n \n return;\n }\n \n\n if (tag === 'nile-rte-color') {\n child.addEventListener('change', (e: any) => {\n this.focusAndRestore();\n const { mode, value } = e.detail;\n \n if (mode === 'backColor') {\n setBackColor(this.editorEl, value);\n } else {\n setForeColor(this.editorEl, value);\n }\n \n this.updateContent();\n this.updateToolbarState();\n });\n return;\n }\n \n });\n }\n private onSelectionChange = () => {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (this.editorEl.contains(range.commonAncestorContainer)) {\n this.lastRange = range.cloneRange();\n this.updateToolbarState();\n }\n };\n private saveSelection() {\n const sel = window.getSelection();\n if (sel && sel.rangeCount) this.lastRange = sel.getRangeAt(0).cloneRange();\n }\n private restoreSelection() {\n if (!this.lastRange) return;\n const sel = document.getSelection(); if (!sel) return;\n sel.removeAllRanges(); sel.addRange(this.lastRange);\n }\n private focusAndRestore() { this.editorEl?.focus(); this.restoreSelection(); }\n\n \nprivate insertList(type: 'ul' | 'ol') {\n this.restoreSelection();\n if (!this.lastRange) return;\n\n \n const list = document.createElement(type);\n\n // grab the selected fragment\n const frag = this.lastRange.extractContents();\n const temp = document.createElement('div');\n temp.appendChild(frag);\n\n // wrap each top-level node in an <li>\n Array.from(temp.childNodes).forEach(n => {\n // skip empty whitespace text nodes\n if (n.nodeType === Node.TEXT_NODE && !n.textContent?.trim()) return;\n const li = document.createElement('li');\n li.appendChild(n); // moves the node!\n list.appendChild(li);\n });\n\n // insert list where the selection was\n this.lastRange.insertNode(list);\n this.afterListEdit(list);\n}\n\nprivate afterListEdit(node: Node) {\n const range = document.createRange();\n range.setStartAfter(node);\n range.collapse(true);\n const sel = window.getSelection();\n sel?.removeAllRanges();\n sel?.addRange(range);\n\n this.saveSelection();\n this.updateContent();\n this.updateToolbarState();\n}\n // Keep at least one <p><br></p> and wrap stray inline/text into a <p>\nprivate ensureAtLeastOneParagraph() {\n const el = this.editorEl;\n if (!el) return;\n\n // 1) If completely empty → seed a paragraph\n const onlyWhitespace =\n (el.textContent ?? '').replace(/\\u200B/g, '').trim() === '';\n if (el.childNodes.length === 0 || onlyWhitespace) {\n el.innerHTML = '<p><br></p>';\n return;\n }\n\n // 2) If no block elements exist, wrap whatever is there into a <p>\n const hasBlock = el.querySelector('p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,pre');\n if (!hasBlock) {\n const p = document.createElement('p');\n while (el.firstChild) p.appendChild(el.firstChild);\n if (!p.hasChildNodes()) p.appendChild(document.createElement('br'));\n el.appendChild(p);\n return;\n }\n\n // 3) Make sure the first/only empty <p> still has a <br>\n el.querySelectorAll('p').forEach(p => {\n if ((p.textContent ?? '').replace(/\\u200B/g, '') === '') {\n if (!p.innerHTML.toLowerCase().includes('<br')) p.innerHTML = '<br>';\n }\n });\n}\n\n\n\n // ---------- Toolbar/commands ----------\n private onToolbarCommand(cmd: string) {\n this.focusAndRestore();\n switch (cmd) {\n case 'bold': toggleInlineTag(this.editorEl, 'strong'); break;\n case 'italic': toggleInlineTag(this.editorEl, 'em'); break;\n case 'underline': toggleInlineTag(this.editorEl, 'u'); break;\n case 'left': setAlignment(this.editorEl, 'left'); break;\n case 'center': setAlignment(this.editorEl, 'center'); break;\n case 'right': setAlignment(this.editorEl, 'right'); break;\n case 'justify': setAlignment(this.editorEl, 'justify'); break;\n case 'ul': this.insertList('ul'); break;\n case 'ol': this.insertList('ol'); break;\n case 'link': break;\n case 'clear':\n const walker = document.createTreeWalker(this.editorEl, NodeFilter.SHOW_ELEMENT);\n const toUnwrap: HTMLElement[] = [];\n while (walker.nextNode()) {\n const el = walker.currentNode as HTMLElement;\n el.removeAttribute('style');\n if (['B','STRONG','I','EM','U','SPAN','FONT'].includes(el.tagName)) {\n toUnwrap.push(el);\n }\n }\n for (const el of toUnwrap) {\n while (el.firstChild) el.parentNode?.insertBefore(el.firstChild, el);\n el.remove();\n }\n this.ensureAtLeastOneParagraph();\n break;\n\n default: break;\n }\n this.updateContent(); this.updateToolbarState();\n }\n\n private setBtnActive(cmd: string, active: boolean) {\n const arr = this.buttonMap.get(cmd); if (!arr) return;\n for (const btn of arr) btn.toggleAttribute('data-active', !!active);\n }\n\n private updateToolbarState() {\n if (!this.editorEl) return;\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n if (!this.editorEl.contains(range.commonAncestorContainer)) return;\n\n const startElm = nearestElement(range.startContainer) || this.editorEl;\n const comp = getComputedStyle(startElm);\n const block = closestBlock(range.startContainer, this.editorEl) || this.editorEl;\n\n const isBold = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'strong' || t === 'b') return true;\n const w = getComputedStyle(n).fontWeight;\n if (parseInt(w, 10) >= 600) return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isItalic = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const t = n.tagName.toLowerCase();\n if (t === 'em' || t === 'i') return true;\n if (getComputedStyle(n).fontStyle === 'italic') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const isUnderline = (() => {\n let n: Node | null = startElm;\n while (n && n !== this.editorEl) {\n if (n instanceof HTMLElement) {\n const tdl = getComputedStyle(n).textDecorationLine;\n if (tdl && tdl.includes('underline')) return true;\n if (n.tagName.toLowerCase() === 'u') return true;\n }\n n = n.parentNode;\n }\n return false;\n })();\n\n const inLink = !!startElm.closest('a');\n\n const align = (block.style.textAlign || getComputedStyle(block).textAlign || 'start') as string;\n const alignNorm = align === 'start' ? 'left' : align;\n\n const inLi = !!startElm.closest('li');\n const listType = inLi ? (startElm.closest('ul,ol')?.tagName.toLowerCase() || '') : '';\n\n this.setBtnActive('bold', isBold);\n this.setBtnActive('italic', isItalic);\n this.setBtnActive('underline', isUnderline);\n this.setBtnActive('link', inLink);\n\n this.setBtnActive('left', alignNorm === 'left' && !['center','right','justify'].includes(alignNorm));\n this.setBtnActive('center', alignNorm === 'center');\n this.setBtnActive('right', alignNorm === 'right');\n this.setBtnActive('justify', alignNorm === 'justify');\n\n this.setBtnActive('ul', listType === 'ul');\n this.setBtnActive('ol', listType === 'ol');\n\n // Reflect heading\n if (this.headingSelect) {\n const tag = block.tagName.toLowerCase();\n const v = ['h1','h2','h3'].includes(tag) ? tag : 'p';\n if (this.headingSelect.value !== v) this.headingSelect.value = v;\n }\n\n // Reflect font family\n if (this.fontSelect) {\n const ff = (comp.fontFamily || '').replace(/[\"']/g, '').split(',')[0].trim().toLowerCase();\n if (ff) {\n for (const opt of Array.from(this.fontSelect.options)) {\n if (opt.value.toLowerCase() === ff) { this.fontSelect.value = opt.value; break; }\n }\n }\n }\n\n if (this.colorInput) {\n const hex = rgbToHex(comp.color);\n if (hex && this.colorInput.value.toLowerCase() !== hex.toLowerCase()) {\n this.colorInput.value = hex;\n }\n if (this.colorSwatchEl) this.colorSwatchEl.style.backgroundColor = this.colorInput.value;\n }\n \n\n if (this.bgColorInput) {\n const bg = getComputedStyle(startElm).backgroundColor;\n if (bg && !/transparent|rgba\\(\\s*0\\s*,\\s*0\\s*,\\s*0\\s*,\\s*0\\s*\\)/i.test(bg)) {\n const bgHex = rgbToHex(bg);\n if (bgHex && this.bgColorInput.value.toLowerCase() !== bgHex.toLowerCase()) {\n this.bgColorInput.value = bgHex;\n }\n }\n if (this.bgSwatchEl) this.bgSwatchEl.style.backgroundColor = this.bgColorInput.value;\n }\n }\n\n private syncPreview() {\n this.updateContent();\n }\n\n private updateContent() {\n if (!this.editorEl) return;\n this.ensureAtLeastOneParagraph();\n \n \n const clone = this.editorEl.cloneNode(true) as HTMLElement;\n \n \n const origWalker = document.createTreeWalker(this.editorEl, NodeFilter.SHOW_ELEMENT);\n const cloneWalker = document.createTreeWalker(clone, NodeFilter.SHOW_ELEMENT);\n \n \n const importantProps = [\n 'font-weight',\n 'font-style',\n 'text-decoration',\n 'color',\n 'background-color',\n 'font-size',\n 'font-family',\n 'text-align',\n 'line-height',\n 'letter-spacing',\n 'white-space',\n 'vertical-align'\n ];\n \n while (origWalker.nextNode() && cloneWalker.nextNode()) {\n const origEl = origWalker.currentNode as HTMLElement;\n const cloneEl = cloneWalker.currentNode as HTMLElement;\n const computed = window.getComputedStyle(origEl);\n \n \n const cssText = importantProps\n .map(prop => `${prop}:${computed.getPropertyValue(prop)}`)\n .join(';');\n \n \n if (cssText.trim()) {\n cloneEl.setAttribute('style', cssText);\n }\n }\n \n \n this.content = clone.innerHTML;\n \n \n if (this.previewEl) this.previewEl.innerHTML = this.content;\n \n \n this.dispatchEvent(new CustomEvent('content-changed', {\n detail: { content: this.content },\n bubbles: true,\n composed: true\n }));\n }\n \n \n \n \n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-rich-text-editor': NileRichTextEditor;\n }\n}\n\n"],"names":["DEFAULT_ICONS","bold","italic","underline","link","left","center","right","justify","ul","ol","clear","NileRichTextEditor","p","this","value","mentions","content","previewEl","toolbarEl","lastRange","buttonMap","Map","headingSelect","fontSelect","colorInput","bgColorInput","colorSwatchEl","bgSwatchEl","mentionsEl","onEditorKeydown","e","key","preventDefault","focusAndRestore","sel","window","getSelection","rangeCount","range","getRangeAt","shiftKey","collapsed","startContainer","nodeType","Node","TEXT_NODE","t","off","startOffset","before","data","slice","removed","replace","length","r","document","createRange","setStart","collapse","removeAllRanges","addRange","updateContent","updateToolbarState","deleteContents","tabNode","createTextNode","insertNode","setStartAfter","onSelectionChange","editorEl","contains","commonAncestorContainer","cloneRange","_this","_inherits","_i","_createClass","createRenderRoot","shouldUpdate","injectCss","cssText","querySelector","style","createElement","setAttribute","textContent","insertBefore","firstChild","connectedCallback","super","styles","ensureEditor","innerHTML","trim","wireAuthoredToolbar","attach","setExternalConfig","wireEditor","syncPreview","addEventListener","disconnectedCallback","removeEventListener","detach","_this$toolbarEl","editor","className","nextSibling","appendChild","ensureAtLeastOneParagraph","saveSelection","tb","Array","from","children","forEach","child","tag","tagName","toLowerCase","getAttribute","_this3$buttonMap$get","btn","cmd","label","iconAttr","authoredHasContent","variant","size","defaultIcon","isConnected","onToolbarCommand","arr","get","push","set","_t$detail","detail","mode","setBackColor","setForeColor","type","val","setBlockTag","setFontFamily","alignment","setAlignment","restoreSelection","focus","insertList","list","frag","extractContents","temp","childNodes","n","_t$textContent","li","afterListEdit","node","_t$textContent2","el","onlyWhitespace","hasChildNodes","querySelectorAll","_t$textContent3","includes","toggleInlineTag","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","toUnwrap","nextNode","currentNode","removeAttribute","_i7","_i6","parentNode","remove","setBtnActive","active","_iterator","s","_step","done","toggleAttribute","err","f","_this4","_s$closest","startElm","nearestElement","comp","getComputedStyle","block","closestBlock","isBold","HTMLElement","w","fontWeight","parseInt","isItalic","fontStyle","isUnderline","tdl","textDecorationLine","inLink","closest","align","textAlign","alignNorm","listType","v","ff","fontFamily","split","_i12","_Array$from","options","opt","hex","rgbToHex","color","backgroundColor","bg","test","bgHex","clone","cloneNode","origWalker","cloneWalker","importantProps","_loop","origEl","cloneEl","computed","map","prop","concat","getPropertyValue","join","dispatchEvent","CustomEvent","bubbles","composed","LitElement","__decorate","property","String","prototype","attribute","converter","fromAttribute","parsed","JSON","parse","out","_i16","_Object$keys","Object","keys","trig","isArray","filter","i","_unused","toAttribute","stringify","state","_export","customElement"],"mappings":"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"}
|