@aquera/nile-elements 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/demo/nxtgen-dark.css +2 -2
- package/dist/{index-ccff99d6.esm.js → index-0fe57384.esm.js} +1 -1
- package/dist/index-f6944844.cjs.js +2 -0
- package/dist/{index-e43755f5.cjs.js.map → index-f6944844.cjs.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1127 -741
- package/dist/nile-code-editor/extensionSetup.cjs.js +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/index.cjs.js +1 -1
- package/dist/nile-code-editor/index.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.css.esm.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.esm.js +4 -4
- package/dist/nile-code-editor/theme.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.js.map +1 -1
- package/dist/nile-code-editor/theme.esm.js +1 -1
- package/dist/nile-combobox/nile-combobox.css.cjs.js +1 -1
- package/dist/nile-combobox/nile-combobox.css.cjs.js.map +1 -1
- package/dist/nile-combobox/nile-combobox.css.esm.js +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.css.esm.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +3 -3
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +13 -7
- package/dist/nile-timestamp-builder/index.cjs.js +2 -0
- package/dist/nile-timestamp-builder/index.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/index.esm.js +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js +2 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder-utils.esm.js +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js +2 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js +2 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.css.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.css.esm.js +195 -0
- package/dist/nile-timestamp-builder/nile-timestamp-builder.esm.js +154 -0
- package/dist/nile-timestamp-builder/timezones.cjs.js +2 -0
- package/dist/nile-timestamp-builder/timezones.cjs.js.map +1 -0
- package/dist/nile-timestamp-builder/timezones.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +91 -58
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.esm.js +19 -19
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.esm.js +14 -14
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +13 -13
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +12 -12
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.esm.js +10 -10
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +4 -4
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.esm.js +11 -11
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.esm.js +9 -9
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.esm.js +11 -11
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.esm.js +6 -6
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.esm.js +14 -14
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.esm.js +16 -16
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.esm.js +8 -8
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +4 -4
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.esm.js +16 -16
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +29 -29
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.esm.js +8 -8
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +9 -9
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +23 -23
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +7 -7
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.css.js +2 -2
- package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +15 -0
- package/dist/src/nile-code-editor/nile-code-editor.js +65 -6
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-code-editor/theme.d.ts +6 -117
- package/dist/src/nile-code-editor/theme.js +100 -147
- package/dist/src/nile-code-editor/theme.js.map +1 -1
- package/dist/src/nile-combobox/nile-combobox.css.js +1 -1
- package/dist/src/nile-combobox/nile-combobox.css.js.map +1 -1
- package/dist/src/nile-detail/nile-detail.css.js +1 -1
- package/dist/src/nile-detail/nile-detail.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +3 -3
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +11 -5
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
- package/dist/src/nile-timestamp-builder/index.d.ts +1 -0
- package/dist/src/nile-timestamp-builder/index.js +2 -0
- package/dist/src/nile-timestamp-builder/index.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.d.ts +54 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js +254 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder-utils.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.d.ts +7 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js +203 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.css.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.d.ts +94 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js +578 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.js.map +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.d.ts +1 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js +890 -0
- package/dist/src/nile-timestamp-builder/nile-timestamp-builder.test.js.map +1 -0
- package/dist/src/nile-timestamp-builder/timezones.d.ts +8 -0
- package/dist/src/nile-timestamp-builder/timezones.js +357 -0
- package/dist/src/nile-timestamp-builder/timezones.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +91 -58
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +2 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +23 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js +19 -19
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js +10 -10
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js +5 -5
- package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js +6 -6
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js +9 -9
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js +8 -8
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js +9 -9
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js +24 -24
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +7 -7
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +16 -16
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +4 -4
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -1
- package/dist/src/version.js +2 -2
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/nile-code-editor/nile-code-editor.css.ts +2 -2
- package/src/nile-code-editor/nile-code-editor.ts +68 -5
- package/src/nile-code-editor/theme.ts +129 -162
- package/src/nile-combobox/nile-combobox.css.ts +1 -1
- package/src/nile-detail/nile-detail.css.ts +1 -1
- package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +3 -3
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +11 -5
- package/src/nile-timestamp-builder/index.ts +1 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder-utils.ts +321 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder.css.ts +204 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder.test.ts +1089 -0
- package/src/nile-timestamp-builder/nile-timestamp-builder.ts +625 -0
- package/src/nile-timestamp-builder/timezones.ts +356 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +91 -58
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +21 -1
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.ts +19 -19
- package/src/nile-wysiwyg-editor/ui/bookmark-panel.ts +10 -10
- package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/code-block-menu.ts +5 -5
- package/src/nile-wysiwyg-editor/ui/embed-menu.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/embed-panel.ts +4 -4
- package/src/nile-wysiwyg-editor/ui/emoji-picker.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/find-replace.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/image-menu.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/image-panel.ts +6 -6
- package/src/nile-wysiwyg-editor/ui/insert-menu.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/link-editor.ts +9 -9
- package/src/nile-wysiwyg-editor/ui/markdown-panel.ts +8 -8
- package/src/nile-wysiwyg-editor/ui/math-panel.ts +4 -4
- package/src/nile-wysiwyg-editor/ui/shortcut-help.ts +9 -9
- package/src/nile-wysiwyg-editor/ui/source-view.ts +24 -24
- package/src/nile-wysiwyg-editor/ui/special-chars.ts +4 -4
- package/src/nile-wysiwyg-editor/ui/suggest-list.ts +7 -7
- package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +16 -16
- package/src/nile-wysiwyg-editor/ui/table-menu.ts +4 -4
- package/vscode-html-custom-data.json +94 -2
- package/dist/index-e43755f5.cjs.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../nile-button-toggle-group/nile-button-toggle-group.cjs.js","../../nile-button-toggle/nile-button-toggle.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js","../../nile-button-toggle-group/nile-button-toggle-group.css.cjs.js","../../nile-button-toggle/nile-button-toggle.css.cjs.js"],function(_export,_context){"use strict";var t,e,o,i,
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../nile-button-toggle-group/nile-button-toggle-group.cjs.js","../../nile-button-toggle/nile-button-toggle.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js","../../nile-button-toggle-group/nile-button-toggle-group.css.cjs.js","../../nile-button-toggle/nile-button-toggle.css.cjs.js"],function(_export,_context){"use strict";var t,e,o,r,i,a,s,_templateObject,_templateObject2,_templateObject3,_templateObject4,n,l;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){e=_lit.css;o=_lit.html;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;i=_litDecoratorsJs.state;a=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){s=_internalNileElementCjsJs.N;},function(_nileButtonToggleGroupNileButtonToggleGroupCjsJs){},function(_nileButtonToggleNileButtonToggleCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_nileButtonToggleGroupNileButtonToggleGroupCssCjsJs){},function(_nileButtonToggleNileButtonToggleCssCjsJs){}],execute:function execute(){n=[{key:"punctuation",label:"Punctuation",icon:"¶",chars:["–","—","…","‘","’","“","”","‚","„","«","»","‹","›","§","¶","†","‡","•","·","¡","¿","′","″","‰"]},{key:"currency",label:"Currency",icon:"$",chars:["$","€","£","¥","₹","¢","₩","₽","₺","₪","₫","₦","₴","₱","฿","₿"]},{key:"math",label:"Math",icon:"∑",chars:["±","×","÷","≠","≈","≤","≥","¬","∞","∑","∏","√","∫","∂","∆","∇","∈","∉","∩","∪","⊂","⊃","°","µ","‰","½","⅓","¼","¾","⅛"]},{key:"arrows",label:"Arrows",icon:"→",chars:["←","→","↑","↓","↔","↕","⇐","⇒","⇑","⇓","⇔","↩","↪","↖","↗","↘","↙","⟵","⟶"]},{key:"latin",label:"Latin",icon:"Á",chars:["À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ñ","Ò","Ó","Ô","Õ","Ö","Ø","Ù","Ú","Û","Ü","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ñ","ò","ó","ô","õ","ö","ø","ù","ú","û","ü","ÿ"]},{key:"symbols",label:"Symbols",icon:"★",chars:["©","®","™","℠","№","℮","✓","✗","★","☆","♠","♣","♥","♦","☀","☁","☂","♻","⚠","⌘","⌥","⇧","⏎","⌫"]}];l=/*#__PURE__*/function(_s){function l(){var _this;_classCallCheck(this,l);_this=_callSuper(this,l,arguments),_this.open=!1,_this.category=n[0].key;return _this;}_inherits(l,_s);return _createClass(l,[{key:"handleKeydown",value:function handleKeydown(t){"Escape"===t.key&&(t.stopPropagation(),this.emit("wysiwyg-char-cancel"));}},{key:"render",value:function render(){var _n$find,_this2=this;var t=(_n$find=n.find(function(t){return t.key===_this2.category;}))!==null&&_n$find!==void 0?_n$find:n[0];return o(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div\n class=\"panel\"\n part=\"special-chars\"\n @keydown=","\n @mousedown=","\n >\n <nile-button-toggle-group\n class=\"tabs\"\n .value=","\n @nile-change=","\n >\n ","\n </nile-button-toggle-group>\n <div class=\"grid\" role=\"listbox\" aria-label=\"Special characters\">\n ","\n </div>\n </div>\n "])),this.handleKeydown,function(t){return t.preventDefault();},this.category,function(t){_this2.category=t.detail.value;},n.map(function(t){return o(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <nile-button-toggle\n value=","\n title=","\n aria-label=","\n ><span class=\"cat-icon\">","</span></nile-button-toggle\n >\n "])),t.key,t.label,t.label,t.icon);}),t.chars.map(function(t){return o(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <button\n type=\"button\"\n class=\"char\"\n title=","\n @click=","\n >\n ","\n </button>\n "])),t,function(){return _this2.emit("wysiwyg-char-select",{"char":t});},t);}));}}],[{key:"styles",get:function get(){return[e(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 20;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .panel {\n width: 316px;\n padding: 8px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n }\n\n .tabs {\n flex-wrap: wrap;\n margin-bottom: 8px;\n max-width: 100%;\n }\n\n .cat-icon {\n display: inline-block;\n min-width: 16px;\n font-size: 15px;\n line-height: 1;\n text-align: center;\n }\n\n .grid {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n gap: 2px;\n max-height: 180px;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n\n .char {\n font: inherit;\n font-size: 15px;\n height: 28px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n .char:hover {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n "])))];}}]);}(s);t([r({type:Boolean,reflect:!0})],l.prototype,"open",void 0),t([i()],l.prototype,"category",void 0),l=t([a("nile-wysiwyg-special-chars")],l);}};});
|
|
2
2
|
//# sourceMappingURL=special-chars.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"special-chars.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/special-chars.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport '../../nile-button-toggle-group/index';\nimport '../../nile-button-toggle/index';\n\ninterface CharCategory {\n key: string;\n label: string;\n /** Representative glyph shown as the (iconified) tab label. */\n icon: string;\n chars: string[];\n}\n\nconst CATEGORIES: CharCategory[] = [\n {\n key: 'punctuation',\n label: 'Punctuation',\n icon: '¶',\n chars: [\n '–', '—', '…', '‘', '’', '“', '”', '‚', '„', '«', '»', '‹', '›', '§',\n '¶', '†', '‡', '•', '·', '¡', '¿', '′', '″', '‰',\n ],\n },\n {\n key: 'currency',\n label: 'Currency',\n icon: '$',\n chars: [\n '$', '€', '£', '¥', '₹', '¢', '₩', '₽', '₺', '₪', '₫', '₦', '₴', '₱',\n '฿', '₿',\n ],\n },\n {\n key: 'math',\n label: 'Math',\n icon: '∑',\n chars: [\n '±', '×', '÷', '≠', '≈', '≤', '≥', '¬', '∞', '∑', '∏', '√', '∫', '∂',\n '∆', '∇', '∈', '∉', '∩', '∪', '⊂', '⊃', '°', 'µ', '‰', '½', '⅓', '¼',\n '¾', '⅛',\n ],\n },\n {\n key: 'arrows',\n label: 'Arrows',\n icon: '→',\n chars: [\n '←', '→', '↑', '↓', '↔', '↕', '⇐', '⇒', '⇑', '⇓', '⇔', '↩', '↪', '↖',\n '↗', '↘', '↙', '⟵', '⟶',\n ],\n },\n {\n key: 'latin',\n label: 'Latin',\n icon: 'Á',\n chars: [\n 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í',\n 'Î', 'Ï', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'ß',\n 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í',\n 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ÿ',\n ],\n },\n {\n key: 'symbols',\n label: 'Symbols',\n icon: '★',\n chars: [\n '©', '®', '™', '℠', '№', '℮', '✓', '✗', '★', '☆', '♠', '♣', '♥', '♦',\n '☀', '☁', '☂', '♻', '⚠', '⌘', '⌥', '⇧', '⏎', '⌫',\n ],\n },\n];\n\n/**\n * Special characters picker (the Ω toolbar item). Emits\n * `wysiwyg-char-select` detail: { char } and `wysiwyg-char-cancel`.\n */\n@customElement('nile-wysiwyg-special-chars')\nexport class NileWysiwygSpecialChars extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @state() private category = CATEGORIES[0].key;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 20;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .panel {\n width: 316px;\n padding: 8px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n }\n\n .tabs {\n flex-wrap: wrap;\n margin-bottom: 8px;\n max-width: 100%;\n }\n\n .cat-icon {\n display: inline-block;\n min-width: 16px;\n font-size: 15px;\n line-height: 1;\n text-align: center;\n }\n\n .grid {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n gap: 2px;\n max-height: 180px;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n\n .char {\n font: inherit;\n font-size: 15px;\n height: 28px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n color: var(--nile-colors-dark-900, #101828);\n }\n\n .char:hover {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n `,\n ];\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n event.stopPropagation();\n this.emit('wysiwyg-char-cancel');\n }\n }\n\n public render(): TemplateResult {\n const current = CATEGORIES.find(c => c.key === this.category) ?? CATEGORIES[0];\n return html`\n <div\n class=\"panel\"\n part=\"special-chars\"\n @keydown=${this.handleKeydown}\n @mousedown=${(e: Event) => e.preventDefault()}\n >\n <nile-button-toggle-group\n class=\"tabs\"\n .value=${this.category}\n @nile-change=${(e: CustomEvent) => {\n this.category = e.detail.value as string;\n }}\n >\n ${CATEGORIES.map(\n cat => html`\n <nile-button-toggle\n value=${cat.key}\n title=${cat.label}\n aria-label=${cat.label}\n ><span class=\"cat-icon\">${cat.icon}</span></nile-button-toggle\n >\n `\n )}\n </nile-button-toggle-group>\n <div class=\"grid\" role=\"listbox\" aria-label=\"Special characters\">\n ${current.chars.map(\n char => html`\n <button\n type=\"button\"\n class=\"char\"\n title=${char}\n @click=${() => this.emit('wysiwyg-char-select', { char })}\n >\n ${char}\n </button>\n `\n )}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-special-chars': NileWysiwygSpecialChars;\n }\n}\n"],"names":["CATEGORIES","key","label","icon","chars","NileWysiwygSpecialChars","_n","l","constructor","this","open","category","_this","_inherits","_createClass","value","handleKeydown","event","stopPropagation","emit","render","current","find","c","html","_templateObject","_taggedTemplateLiteral","e","preventDefault","detail","map","cat","_templateObject2","char","_templateObject3","__decorate","get","css","_templateObject4","NileElement","property","type","Boolean","reflect","prototype","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"special-chars.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/special-chars.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\nimport '../../nile-button-toggle-group/index';\nimport '../../nile-button-toggle/index';\n\ninterface CharCategory {\n key: string;\n label: string;\n /** Representative glyph shown as the (iconified) tab label. */\n icon: string;\n chars: string[];\n}\n\nconst CATEGORIES: CharCategory[] = [\n {\n key: 'punctuation',\n label: 'Punctuation',\n icon: '¶',\n chars: [\n '–', '—', '…', '‘', '’', '“', '”', '‚', '„', '«', '»', '‹', '›', '§',\n '¶', '†', '‡', '•', '·', '¡', '¿', '′', '″', '‰',\n ],\n },\n {\n key: 'currency',\n label: 'Currency',\n icon: '$',\n chars: [\n '$', '€', '£', '¥', '₹', '¢', '₩', '₽', '₺', '₪', '₫', '₦', '₴', '₱',\n '฿', '₿',\n ],\n },\n {\n key: 'math',\n label: 'Math',\n icon: '∑',\n chars: [\n '±', '×', '÷', '≠', '≈', '≤', '≥', '¬', '∞', '∑', '∏', '√', '∫', '∂',\n '∆', '∇', '∈', '∉', '∩', '∪', '⊂', '⊃', '°', 'µ', '‰', '½', '⅓', '¼',\n '¾', '⅛',\n ],\n },\n {\n key: 'arrows',\n label: 'Arrows',\n icon: '→',\n chars: [\n '←', '→', '↑', '↓', '↔', '↕', '⇐', '⇒', '⇑', '⇓', '⇔', '↩', '↪', '↖',\n '↗', '↘', '↙', '⟵', '⟶',\n ],\n },\n {\n key: 'latin',\n label: 'Latin',\n icon: 'Á',\n chars: [\n 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í',\n 'Î', 'Ï', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'ß',\n 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í',\n 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ÿ',\n ],\n },\n {\n key: 'symbols',\n label: 'Symbols',\n icon: '★',\n chars: [\n '©', '®', '™', '℠', '№', '℮', '✓', '✗', '★', '☆', '♠', '♣', '♥', '♦',\n '☀', '☁', '☂', '♻', '⚠', '⌘', '⌥', '⇧', '⏎', '⌫',\n ],\n },\n];\n\n/**\n * Special characters picker (the Ω toolbar item). Emits\n * `wysiwyg-char-select` detail: { char } and `wysiwyg-char-cancel`.\n */\n@customElement('nile-wysiwyg-special-chars')\nexport class NileWysiwygSpecialChars extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @state() private category = CATEGORIES[0].key;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 20;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .panel {\n width: 316px;\n padding: 8px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n }\n\n .tabs {\n flex-wrap: wrap;\n margin-bottom: 8px;\n max-width: 100%;\n }\n\n .cat-icon {\n display: inline-block;\n min-width: 16px;\n font-size: 15px;\n line-height: 1;\n text-align: center;\n }\n\n .grid {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n gap: 2px;\n max-height: 180px;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n\n .char {\n font: inherit;\n font-size: 15px;\n height: 28px;\n border: none;\n border-radius: 5px;\n background: transparent;\n cursor: pointer;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n .char:hover {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n `,\n ];\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n event.stopPropagation();\n this.emit('wysiwyg-char-cancel');\n }\n }\n\n public render(): TemplateResult {\n const current = CATEGORIES.find(c => c.key === this.category) ?? CATEGORIES[0];\n return html`\n <div\n class=\"panel\"\n part=\"special-chars\"\n @keydown=${this.handleKeydown}\n @mousedown=${(e: Event) => e.preventDefault()}\n >\n <nile-button-toggle-group\n class=\"tabs\"\n .value=${this.category}\n @nile-change=${(e: CustomEvent) => {\n this.category = e.detail.value as string;\n }}\n >\n ${CATEGORIES.map(\n cat => html`\n <nile-button-toggle\n value=${cat.key}\n title=${cat.label}\n aria-label=${cat.label}\n ><span class=\"cat-icon\">${cat.icon}</span></nile-button-toggle\n >\n `\n )}\n </nile-button-toggle-group>\n <div class=\"grid\" role=\"listbox\" aria-label=\"Special characters\">\n ${current.chars.map(\n char => html`\n <button\n type=\"button\"\n class=\"char\"\n title=${char}\n @click=${() => this.emit('wysiwyg-char-select', { char })}\n >\n ${char}\n </button>\n `\n )}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-special-chars': NileWysiwygSpecialChars;\n }\n}\n"],"names":["CATEGORIES","key","label","icon","chars","NileWysiwygSpecialChars","_s","l","constructor","this","open","category","_this","_inherits","_createClass","value","handleKeydown","event","stopPropagation","emit","render","current","find","c","html","_templateObject","_taggedTemplateLiteral","e","preventDefault","detail","map","cat","_templateObject2","char","_templateObject3","__decorate","get","css","_templateObject4","NileElement","property","type","Boolean","reflect","prototype","state","customElement"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{css as t,html as o}from"lit";import{property as
|
|
1
|
+
import{__decorate as e}from"tslib";import{css as t,html as o}from"lit";import{property as r,state as i,customElement as a}from"lit/decorators.js";import{N as s}from"../../internal/nile-element.esm.js";import"../../nile-button-toggle-group/nile-button-toggle-group.esm.js";import"../../nile-button-toggle/nile-button-toggle.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";import"../../nile-button-toggle-group/nile-button-toggle-group.css.esm.js";import"../../nile-button-toggle/nile-button-toggle.css.esm.js";const n=[{key:"punctuation",label:"Punctuation",icon:"¶",chars:["–","—","…","‘","’","“","”","‚","„","«","»","‹","›","§","¶","†","‡","•","·","¡","¿","′","″","‰"]},{key:"currency",label:"Currency",icon:"$",chars:["$","€","£","¥","₹","¢","₩","₽","₺","₪","₫","₦","₴","₱","฿","₿"]},{key:"math",label:"Math",icon:"∑",chars:["±","×","÷","≠","≈","≤","≥","¬","∞","∑","∏","√","∫","∂","∆","∇","∈","∉","∩","∪","⊂","⊃","°","µ","‰","½","⅓","¼","¾","⅛"]},{key:"arrows",label:"Arrows",icon:"→",chars:["←","→","↑","↓","↔","↕","⇐","⇒","⇑","⇓","⇔","↩","↪","↖","↗","↘","↙","⟵","⟶"]},{key:"latin",label:"Latin",icon:"Á",chars:["À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ñ","Ò","Ó","Ô","Õ","Ö","Ø","Ù","Ú","Û","Ü","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ñ","ò","ó","ô","õ","ö","ø","ù","ú","û","ü","ÿ"]},{key:"symbols",label:"Symbols",icon:"★",chars:["©","®","™","℠","№","℮","✓","✗","★","☆","♠","♣","♥","♦","☀","☁","☂","♻","⚠","⌘","⌥","⇧","⏎","⌫"]}];let l=class extends s{constructor(){super(...arguments),this.open=!1,this.category=n[0].key}static get styles(){return[t`
|
|
2
2
|
:host {
|
|
3
3
|
font-family: var(
|
|
4
4
|
--nile-font-family-sans-serif,
|
|
@@ -16,8 +16,8 @@ import{__decorate as e}from"tslib";import{css as t,html as o}from"lit";import{pr
|
|
|
16
16
|
.panel {
|
|
17
17
|
width: 316px;
|
|
18
18
|
padding: 8px;
|
|
19
|
-
background: var(--nile-wysiwyg-popover-bg,
|
|
20
|
-
border: 1px solid var(--nile-colors-neutral-400,
|
|
19
|
+
background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));
|
|
20
|
+
border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));
|
|
21
21
|
border-radius: 8px;
|
|
22
22
|
box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));
|
|
23
23
|
}
|
|
@@ -53,13 +53,13 @@ import{__decorate as e}from"tslib";import{css as t,html as o}from"lit";import{pr
|
|
|
53
53
|
border-radius: 5px;
|
|
54
54
|
background: transparent;
|
|
55
55
|
cursor: pointer;
|
|
56
|
-
color: var(--nile-colors-dark-900,
|
|
56
|
+
color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
.char:hover {
|
|
60
|
-
background: var(--nile-colors-neutral-100,
|
|
60
|
+
background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
|
|
61
61
|
}
|
|
62
|
-
`]}handleKeydown(e){"Escape"===e.key&&(e.stopPropagation(),this.emit("wysiwyg-char-cancel"))}render(){const e=
|
|
62
|
+
`]}handleKeydown(e){"Escape"===e.key&&(e.stopPropagation(),this.emit("wysiwyg-char-cancel"))}render(){const e=n.find((e=>e.key===this.category))??n[0];return o`
|
|
63
63
|
<div
|
|
64
64
|
class="panel"
|
|
65
65
|
part="special-chars"
|
|
@@ -71,7 +71,7 @@ import{__decorate as e}from"tslib";import{css as t,html as o}from"lit";import{pr
|
|
|
71
71
|
.value=${this.category}
|
|
72
72
|
@nile-change=${e=>{this.category=e.detail.value}}
|
|
73
73
|
>
|
|
74
|
-
${
|
|
74
|
+
${n.map((e=>o`
|
|
75
75
|
<nile-button-toggle
|
|
76
76
|
value=${e.key}
|
|
77
77
|
title=${e.label}
|
|
@@ -93,4 +93,4 @@ import{__decorate as e}from"tslib";import{css as t,html as o}from"lit";import{pr
|
|
|
93
93
|
`))}
|
|
94
94
|
</div>
|
|
95
95
|
</div>
|
|
96
|
-
`}};e([
|
|
96
|
+
`}};e([r({type:Boolean,reflect:!0})],l.prototype,"open",void 0),e([i()],l.prototype,"category",void 0),l=e([a("nile-wysiwyg-special-chars")],l);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,r,o,
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,r,o,a,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,n;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){i=_lit.css;s=_lit.html;},function(_litDecoratorsJs){e=_litDecoratorsJs.property;r=_litDecoratorsJs.state;o=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){a=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){n=/*#__PURE__*/function(_a){function n(){var _this;_classCallCheck(this,n);_this=_callSuper(this,n,arguments),_this.open=!1,_this.items=[],_this.activeIndex=0;return _this;}_inherits(n,_a);return _createClass(n,[{key:"willUpdate",value:function willUpdate(){this.activeIndex>=this.items.length&&(this.activeIndex=0);}},{key:"updated",value:function updated(t){if(t.has("activeIndex")||t.has("items")){var _t=this.renderRoot.querySelector(".item.active");_t===null||_t===void 0||_t.scrollIntoView({block:"nearest"});}}},{key:"next",value:function next(){this.items.length&&(this.activeIndex=(this.activeIndex+1)%this.items.length);}},{key:"prev",value:function prev(){this.items.length&&(this.activeIndex=(this.activeIndex-1+this.items.length)%this.items.length);}},{key:"resetActive",value:function resetActive(){this.activeIndex=0;}},{key:"selectCurrent",value:function selectCurrent(){var t=this.items[this.activeIndex];return!!t&&(this.emit("wysiwyg-suggest-select",{item:t}),!0);}},{key:"render",value:function render(){var _this2=this;return s(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div class=\"list\" part=\"suggest-list\" @mousedown=",">\n ","\n </div>\n "])),function(t){return t.preventDefault();},this.items.length?this.items.map(function(t,i){return s(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div\n class=\"item ","\"\n @mouseenter=","\n @click=","\n >\n <span>","</span>\n ","\n </div>\n "])),i===_this2.activeIndex?"active":"",function(){_this2.activeIndex=i;},function(){return _this2.selectCurrent();},t.label,t.hint?s(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["<span class=\"hint\">","</span>"])),t.hint):"");}):s(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["<div class=\"empty\">No results</div>"]))));}}],[{key:"styles",get:function get(){return[i(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 25;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .list {\n min-width: 200px;\n max-width: 320px;\n max-height: 240px;\n overflow-y: auto;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n font-size: 13px;\n }\n\n .item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 6px 8px;\n border-radius: 5px;\n cursor: pointer;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n .item.active {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));\n }\n\n .hint {\n font-size: 11px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n }\n\n .empty {\n padding: 6px 8px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n }\n "])))];}}]);}(a);t([e({type:Boolean,reflect:!0})],n.prototype,"open",void 0),t([e({attribute:!1})],n.prototype,"items",void 0),t([r()],n.prototype,"activeIndex",void 0),n=t([o("nile-wysiwyg-suggest-list")],n);}};});
|
|
2
2
|
//# sourceMappingURL=suggest-list.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest-list.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/suggest-list.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\n\nexport interface SuggestItem {\n key: string;\n label: string;\n /** Secondary text shown right-aligned (e.g. slash-command hint). */\n hint?: string;\n}\n\n/**\n * Keyboard-navigable suggestion popup shared by mentions and slash commands.\n * The host positions it, feeds `items`, and drives navigation through\n * next()/prev()/selectCurrent(); picking an item emits\n * `wysiwyg-suggest-select` with the item.\n */\n@customElement('nile-wysiwyg-suggest-list')\nexport class NileWysiwygSuggestList extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: false }) items: SuggestItem[] = [];\n\n @state() private activeIndex = 0;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 25;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .list {\n min-width: 200px;\n max-width: 320px;\n max-height: 240px;\n overflow-y: auto;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg,
|
|
1
|
+
{"version":3,"file":"suggest-list.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/suggest-list.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\n\nexport interface SuggestItem {\n key: string;\n label: string;\n /** Secondary text shown right-aligned (e.g. slash-command hint). */\n hint?: string;\n}\n\n/**\n * Keyboard-navigable suggestion popup shared by mentions and slash commands.\n * The host positions it, feeds `items`, and drives navigation through\n * next()/prev()/selectCurrent(); picking an item emits\n * `wysiwyg-suggest-select` with the item.\n */\n@customElement('nile-wysiwyg-suggest-list')\nexport class NileWysiwygSuggestList extends NileElement {\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ attribute: false }) items: SuggestItem[] = [];\n\n @state() private activeIndex = 0;\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: absolute;\n z-index: 25;\n display: none;\n }\n\n :host([open]) {\n display: block;\n }\n\n .list {\n min-width: 200px;\n max-width: 320px;\n max-height: 240px;\n overflow-y: auto;\n padding: 4px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n font-size: 13px;\n }\n\n .item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 6px 8px;\n border-radius: 5px;\n cursor: pointer;\n color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));\n }\n\n .item.active {\n background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50));\n color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));\n }\n\n .hint {\n font-size: 11px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n }\n\n .empty {\n padding: 6px 8px;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));\n }\n `,\n ];\n }\n\n protected willUpdate(): void {\n if (this.activeIndex >= this.items.length) this.activeIndex = 0;\n }\n\n protected updated(changed: Map<string, unknown>): void {\n // Keep the highlighted item visible as the user arrows through a list\n // that overflows the popup's max-height. `nearest` is a no-op when the\n // item is already visible (e.g. after a hover), so it never fights the mouse.\n if (changed.has('activeIndex') || changed.has('items')) {\n const active = this.renderRoot.querySelector('.item.active');\n (active as HTMLElement | null)?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n public next(): void {\n if (this.items.length) this.activeIndex = (this.activeIndex + 1) % this.items.length;\n }\n\n public prev(): void {\n if (this.items.length) {\n this.activeIndex = (this.activeIndex - 1 + this.items.length) % this.items.length;\n }\n }\n\n public resetActive(): void {\n this.activeIndex = 0;\n }\n\n public selectCurrent(): boolean {\n const item = this.items[this.activeIndex];\n if (!item) return false;\n this.emit('wysiwyg-suggest-select', { item });\n return true;\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"list\" part=\"suggest-list\" @mousedown=${(e: Event) => e.preventDefault()}>\n ${this.items.length\n ? this.items.map(\n (item, index) => html`\n <div\n class=\"item ${index === this.activeIndex ? 'active' : ''}\"\n @mouseenter=${() => {\n this.activeIndex = index;\n }}\n @click=${() => this.selectCurrent()}\n >\n <span>${item.label}</span>\n ${item.hint ? html`<span class=\"hint\">${item.hint}</span>` : ''}\n </div>\n `\n )\n : html`<div class=\"empty\">No results</div>`}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-suggest-list': NileWysiwygSuggestList;\n }\n}\n"],"names":["NileWysiwygSuggestList","n","constructor","this","open","items","activeIndex","_this","_inherits","_a","_createClass","key","value","willUpdate","length","updated","changed","has","active","renderRoot","querySelector","scrollIntoView","block","next","prev","resetActive","selectCurrent","item","emit","t","render","html","_templateObject","_taggedTemplateLiteral","e","preventDefault","map","index","_templateObject2","label","hint","_templateObject3","_templateObject4","get","css","_templateObject5","NileElement","__decorate","property","type","Boolean","reflect","prototype","attribute","state","customElement"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__decorate as t}from"tslib";import{css as i,html as s}from"lit";import{property as e,state as r,customElement as o}from"lit/decorators.js";import{N as
|
|
1
|
+
import{__decorate as t}from"tslib";import{css as i,html as s}from"lit";import{property as e,state as r,customElement as o}from"lit/decorators.js";import{N as a}from"../../internal/nile-element.esm.js";import"../../internal/accessibility/a11y.state.enum.esm.js";import"../../internal/accessibility/a11y.property.enum.esm.js";import"../../internal/accessibility/role.enum.esm.js";let n=class extends a{constructor(){super(...arguments),this.open=!1,this.items=[],this.activeIndex=0}static get styles(){return[i`
|
|
2
2
|
:host {
|
|
3
3
|
font-family: var(
|
|
4
4
|
--nile-font-family-sans-serif,
|
|
@@ -19,8 +19,8 @@ import{__decorate as t}from"tslib";import{css as i,html as s}from"lit";import{pr
|
|
|
19
19
|
max-height: 240px;
|
|
20
20
|
overflow-y: auto;
|
|
21
21
|
padding: 4px;
|
|
22
|
-
background: var(--nile-wysiwyg-popover-bg,
|
|
23
|
-
border: 1px solid var(--nile-colors-neutral-400,
|
|
22
|
+
background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));
|
|
23
|
+
border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));
|
|
24
24
|
border-radius: 8px;
|
|
25
25
|
box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));
|
|
26
26
|
font-size: 13px;
|
|
@@ -34,22 +34,22 @@ import{__decorate as t}from"tslib";import{css as i,html as s}from"lit";import{pr
|
|
|
34
34
|
padding: 6px 8px;
|
|
35
35
|
border-radius: 5px;
|
|
36
36
|
cursor: pointer;
|
|
37
|
-
color: var(--nile-colors-neutral-700,
|
|
37
|
+
color: var(--nile-colors-neutral-700, var(--ng-colors-text-secondary-700));
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.item.active {
|
|
41
|
-
background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50
|
|
42
|
-
color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700
|
|
41
|
+
background: var(--nile-colors-primary-50, var(--ng-componentcolors-utility-blue-50));
|
|
42
|
+
color: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
.hint {
|
|
46
46
|
font-size: 11px;
|
|
47
|
-
color: var(--nile-colors-neutral-500,
|
|
47
|
+
color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
.empty {
|
|
51
51
|
padding: 6px 8px;
|
|
52
|
-
color: var(--nile-colors-neutral-500,
|
|
52
|
+
color: var(--nile-colors-neutral-500, var(--ng-colors-text-quaternary-500));
|
|
53
53
|
}
|
|
54
54
|
`]}willUpdate(){this.activeIndex>=this.items.length&&(this.activeIndex=0)}updated(t){if(t.has("activeIndex")||t.has("items")){const t=this.renderRoot.querySelector(".item.active");t?.scrollIntoView({block:"nearest"})}}next(){this.items.length&&(this.activeIndex=(this.activeIndex+1)%this.items.length)}prev(){this.items.length&&(this.activeIndex=(this.activeIndex-1+this.items.length)%this.items.length)}resetActive(){this.activeIndex=0}selectCurrent(){const t=this.items[this.activeIndex];return!!t&&(this.emit("wysiwyg-suggest-select",{item:t}),!0)}render(){return s`
|
|
55
55
|
<div class="list" part="suggest-list" @mousedown=${t=>t.preventDefault()}>
|
|
@@ -64,4 +64,4 @@ import{__decorate as t}from"tslib";import{css as i,html as s}from"lit";import{pr
|
|
|
64
64
|
</div>
|
|
65
65
|
`)):s`<div class="empty">No results</div>`}
|
|
66
66
|
</div>
|
|
67
|
-
`}};t([e({type:Boolean,reflect:!0})],
|
|
67
|
+
`}};t([e({type:Boolean,reflect:!0})],n.prototype,"open",void 0),t([e({attribute:!1})],n.prototype,"items",void 0),t([r()],n.prototype,"activeIndex",void 0),n=t([o("nile-wysiwyg-suggest-list")],n);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var t,e,i,r,o,s,n,_templateObject,_templateObject2,_templateObject3,_templateObject4,a;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){e=_lit.css;i=_lit.html;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;o=_litDecoratorsJs.state;s=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){n=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){a=/*#__PURE__*/function(_n){function a(){var _this;_classCallCheck(this,a);_this=_callSuper(this,a,arguments),_this.disabled=!1,_this.maxRows=20,_this.maxCols=20,_this.open=!1,_this.hoverRows=0,_this.hoverCols=0,_this.customRows="",_this.customCols="",_this.handleOutside=function(t){_this.open&&!t.composedPath().includes(_assertThisInitialized(_this))&&(_this.open=!1);};return _this;}_inherits(a,_n);return _createClass(a,[{key:"connectedCallback",value:function connectedCallback(){_superPropGet(a,"connectedCallback",this,3)([]),document.addEventListener("mousedown",this.handleOutside);}},{key:"disconnectedCallback",value:function disconnectedCallback(){_superPropGet(a,"disconnectedCallback",this,3)([]),document.removeEventListener("mousedown",this.handleOutside);}},{key:"pick",value:function pick(t,e){this.open=!1,this.customRows="",this.customCols="",this.emit("wysiwyg-command",{name:"insertTable",attrs:{rows:t,cols:e,withHeaderRow:!0}});}},{key:"clamp",value:function clamp(t,e){var i=parseInt(t,10);return!Number.isFinite(i)||i<1?0:Math.min(i,e);}},{key:"insertCustom",value:function insertCustom(){var t=this.clamp(this.customRows,this.maxRows),e=this.clamp(this.customCols,this.maxCols);t>=1&&e>=1&&this.pick(t,e);}},{key:"render",value:function render(){var _this2=this;var t=Math.min(Math.max(5,this.hoverRows+1),this.maxRows),e=Math.min(Math.max(5,this.hoverCols+1),this.maxCols),r=[];var _loop=function _loop(_o){var _loop2=function _loop2(_t){r.push(i(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <span\n class=\"cell ","\"\n @mouseenter=","\n @click=","\n ></span>\n "])),_o<=_this2.hoverRows&&_t<=_this2.hoverCols?"hot":"",function(){_this2.hoverRows=_o,_this2.hoverCols=_t;},function(){return _this2.pick(_o,_t);}));};for(var _t=1;_t<=e;_t+=1){_loop2(_t);}};for(var _o=1;_o<=t;_o+=1){_loop(_o);}var o=this.clamp(this.customRows,this.maxRows)>=1&&this.clamp(this.customCols,this.maxCols)>=1;return i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <button\n type=\"button\"\n class=\"trigger\"\n part=\"button\"\n aria-label=\"Insert table\"\n aria-expanded=","\n ?disabled=","\n @mousedown=","\n @click=","\n >\n <nile-glyph name=\"grid-01\" size=\"18\" method=\"stroke\"></nile-glyph>\n </button>\n ","\n "])),this.open?"true":"false",this.disabled,function(t){return t.preventDefault();},function(){_this2.open=!_this2.open,_this2.hoverRows=0,_this2.hoverCols=0;},this.open?i(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"panel\">\n <div\n class=\"grid\"\n style=\"grid-template-columns: repeat(",", 14px)\"\n @mousedown=","\n @mouseleave=","\n >\n ","\n </div>\n <div class=\"label\" @mousedown=",">\n ","\n </div>\n <div class=\"custom\">\n <input\n type=\"number\"\n min=\"1\"\n max=","\n aria-label=\"Rows\"\n placeholder=\"Rows\"\n .value=","\n @input=","\n @keydown=","\n />\n <span class=\"times\">\xD7</span>\n <input\n type=\"number\"\n min=\"1\"\n max=","\n aria-label=\"Columns\"\n placeholder=\"Cols\"\n .value=","\n @input=","\n @keydown=","\n />\n <button\n type=\"button\"\n class=\"insert\"\n ?disabled=","\n @click=","\n >\n Insert\n </button>\n </div>\n </div>\n "])),e,function(t){return t.preventDefault();},function(){_this2.hoverRows=0,_this2.hoverCols=0;},r,function(t){return t.preventDefault();},this.hoverRows>0?"".concat(this.hoverRows," \xD7 ").concat(this.hoverCols):"Pick a size",this.maxRows,this.customRows,function(t){_this2.customRows=t.target.value;},function(t){"Enter"===t.key&&_this2.insertCustom();},this.maxCols,this.customCols,function(t){_this2.customCols=t.target.value;},function(t){"Enter"===t.key&&_this2.insertCustom();},!o,function(){return _this2.insertCustom();}):"");}}],[{key:"styles",get:function get(){return[e(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: relative;\n display: inline-flex;\n }\n\n button.trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0 6px;\n box-sizing: border-box;\n border: none;\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md, 8px));\n background: transparent;\n cursor: pointer;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900, #101828));\n }\n\n button.trigger:hover:not(:disabled) {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n\n button.trigger:disabled {\n opacity: 0.4;\n cursor: default;\n }\n\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 30;\n padding: 8px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n }\n\n .grid {\n display: grid;\n gap: 2px;\n }\n\n .cell {\n width: 14px;\n height: 14px;\n border: 1px solid var(--nile-colors-neutral-300, #d0d5dd);\n border-radius: 2px;\n box-sizing: border-box;\n cursor: pointer;\n }\n\n .cell.hot {\n background: var(--nile-colors-primary-100, var(--ng-componentcolors-utility-blue-100, #dbeafe));\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n }\n\n .label {\n margin-top: 6px;\n text-align: center;\n font-size: 12px;\n color: var(--nile-colors-neutral-600, #475467);\n }\n\n .custom {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--nile-colors-neutral-300, #e4e7ec);\n }\n\n .custom input {\n width: 44px;\n height: 26px;\n padding: 0 6px;\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 6px;\n font-size: 12px;\n box-sizing: border-box;\n text-align: center;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900, #101828));\n font-family: inherit;\n /* Hide native number spinners: they overlap the centered text in this\n narrow field and a stray click on the arrows mutates the value. */\n -moz-appearance: textfield;\n appearance: textfield;\n }\n\n .custom input::-webkit-outer-spin-button,\n .custom input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .custom input:focus {\n outline: none;\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n }\n\n .custom .times {\n font-size: 12px;\n color: var(--nile-colors-neutral-600, #475467);\n }\n\n .custom button.insert {\n margin-left: auto;\n height: 26px;\n padding: 0 12px;\n border: none;\n border-radius: 6px;\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n color: #ffffff;\n font-size: 12px;\n font-weight: 600;\n font-family: inherit;\n cursor: pointer;\n }\n\n .custom button.insert:hover:not(:disabled) {\n background: var(--nile-colors-primary-700, #1d4ed8);\n }\n\n .custom button.insert:disabled {\n opacity: 0.4;\n cursor: default;\n }\n "])))];}}]);}(n);t([r({type:Boolean,reflect:!0})],a.prototype,"disabled",void 0),t([r({type:Number,attribute:"max-rows",reflect:!0})],a.prototype,"maxRows",void 0),t([r({type:Number,attribute:"max-cols",reflect:!0})],a.prototype,"maxCols",void 0),t([o()],a.prototype,"open",void 0),t([o()],a.prototype,"hoverRows",void 0),t([o()],a.prototype,"hoverCols",void 0),t([o()],a.prototype,"customRows",void 0),t([o()],a.prototype,"customCols",void 0),a=t([s("nile-wysiwyg-table-picker")],a);}};});
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","../../internal/nile-element.cjs.js","../../internal/accessibility/a11y.state.enum.cjs.js","../../internal/accessibility/a11y.property.enum.cjs.js","../../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var t,r,i,e,o,s,n,_templateObject,_templateObject2,_templateObject3,_templateObject4,a;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _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){r=_lit.css;i=_lit.html;},function(_litDecoratorsJs){e=_litDecoratorsJs.property;o=_litDecoratorsJs.state;s=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){n=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){a=/*#__PURE__*/function(_n){function a(){var _this;_classCallCheck(this,a);_this=_callSuper(this,a,arguments),_this.disabled=!1,_this.maxRows=20,_this.maxCols=20,_this.open=!1,_this.hoverRows=0,_this.hoverCols=0,_this.customRows="",_this.customCols="",_this.handleOutside=function(t){_this.open&&!t.composedPath().includes(_assertThisInitialized(_this))&&(_this.open=!1);};return _this;}_inherits(a,_n);return _createClass(a,[{key:"connectedCallback",value:function connectedCallback(){_superPropGet(a,"connectedCallback",this,3)([]),document.addEventListener("mousedown",this.handleOutside);}},{key:"disconnectedCallback",value:function disconnectedCallback(){_superPropGet(a,"disconnectedCallback",this,3)([]),document.removeEventListener("mousedown",this.handleOutside);}},{key:"pick",value:function pick(t,r){this.open=!1,this.customRows="",this.customCols="",this.emit("wysiwyg-command",{name:"insertTable",attrs:{rows:t,cols:r,withHeaderRow:!0}});}},{key:"clamp",value:function clamp(t,r){var i=parseInt(t,10);return!Number.isFinite(i)||i<1?0:Math.min(i,r);}},{key:"insertCustom",value:function insertCustom(){var t=this.clamp(this.customRows,this.maxRows),r=this.clamp(this.customCols,this.maxCols);t>=1&&r>=1&&this.pick(t,r);}},{key:"render",value:function render(){var _this2=this;var t=Math.min(Math.max(5,this.hoverRows+1),this.maxRows),r=Math.min(Math.max(5,this.hoverCols+1),this.maxCols),e=[];var _loop=function _loop(_o){var _loop2=function _loop2(_t){e.push(i(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <span\n class=\"cell ","\"\n @mouseenter=","\n @click=","\n ></span>\n "])),_o<=_this2.hoverRows&&_t<=_this2.hoverCols?"hot":"",function(){_this2.hoverRows=_o,_this2.hoverCols=_t;},function(){return _this2.pick(_o,_t);}));};for(var _t=1;_t<=r;_t+=1){_loop2(_t);}};for(var _o=1;_o<=t;_o+=1){_loop(_o);}var o=this.clamp(this.customRows,this.maxRows)>=1&&this.clamp(this.customCols,this.maxCols)>=1;return i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <button\n type=\"button\"\n class=\"trigger\"\n part=\"button\"\n aria-label=\"Insert table\"\n aria-expanded=","\n ?disabled=","\n @mousedown=","\n @click=","\n >\n <nile-glyph name=\"grid-01\" size=\"18\" method=\"stroke\"></nile-glyph>\n </button>\n ","\n "])),this.open?"true":"false",this.disabled,function(t){return t.preventDefault();},function(){_this2.open=!_this2.open,_this2.hoverRows=0,_this2.hoverCols=0;},this.open?i(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <div class=\"panel\">\n <div\n class=\"grid\"\n style=\"grid-template-columns: repeat(",", 14px)\"\n @mousedown=","\n @mouseleave=","\n >\n ","\n </div>\n <div class=\"label\" @mousedown=",">\n ","\n </div>\n <div class=\"custom\">\n <input\n type=\"number\"\n min=\"1\"\n max=","\n aria-label=\"Rows\"\n placeholder=\"Rows\"\n .value=","\n @input=","\n @keydown=","\n />\n <span class=\"times\">\xD7</span>\n <input\n type=\"number\"\n min=\"1\"\n max=","\n aria-label=\"Columns\"\n placeholder=\"Cols\"\n .value=","\n @input=","\n @keydown=","\n />\n <button\n type=\"button\"\n class=\"insert\"\n ?disabled=","\n @click=","\n >\n Insert\n </button>\n </div>\n </div>\n "])),r,function(t){return t.preventDefault();},function(){_this2.hoverRows=0,_this2.hoverCols=0;},e,function(t){return t.preventDefault();},this.hoverRows>0?"".concat(this.hoverRows," \xD7 ").concat(this.hoverCols):"Pick a size",this.maxRows,this.customRows,function(t){_this2.customRows=t.target.value;},function(t){"Enter"===t.key&&_this2.insertCustom();},this.maxCols,this.customCols,function(t){_this2.customCols=t.target.value;},function(t){"Enter"===t.key&&_this2.insertCustom();},!o,function(){return _this2.insertCustom();}):"");}}],[{key:"styles",get:function get(){return[r(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: relative;\n display: inline-flex;\n }\n\n button.trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0 6px;\n box-sizing: border-box;\n border: none;\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md, 8px));\n background: transparent;\n cursor: pointer;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n button.trigger:hover:not(:disabled) {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n\n button.trigger:disabled {\n opacity: 0.4;\n cursor: default;\n }\n\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 30;\n padding: 8px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n }\n\n .grid {\n display: grid;\n gap: 2px;\n }\n\n .cell {\n width: 14px;\n height: 14px;\n border: 1px solid var(--nile-colors-neutral-300, var(--ng-colors-border-primary));\n border-radius: 2px;\n box-sizing: border-box;\n cursor: pointer;\n }\n\n .cell.hot {\n background: var(--nile-colors-primary-100, var(--ng-componentcolors-utility-blue-100));\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n }\n\n .label {\n margin-top: 6px;\n text-align: center;\n font-size: 12px;\n color: var(--nile-colors-neutral-600, var(--ng-colors-text-tertiary-600));\n }\n\n .custom {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));\n }\n\n .custom input {\n width: 44px;\n height: 26px;\n padding: 0 6px;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 6px;\n font-size: 12px;\n box-sizing: border-box;\n text-align: center;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-family: inherit;\n /* Hide native number spinners: they overlap the centered text in this\n narrow field and a stray click on the arrows mutates the value. */\n -moz-appearance: textfield;\n appearance: textfield;\n }\n\n .custom input::-webkit-outer-spin-button,\n .custom input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .custom input:focus {\n outline: none;\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n }\n\n .custom .times {\n font-size: 12px;\n color: var(--nile-colors-neutral-600, var(--ng-colors-text-tertiary-600));\n }\n\n .custom button.insert {\n margin-left: auto;\n height: 26px;\n padding: 0 12px;\n border: none;\n border-radius: 6px;\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n color: var(--ng-colors-text-white);\n font-size: 12px;\n font-weight: 600;\n font-family: inherit;\n cursor: pointer;\n }\n\n .custom button.insert:hover:not(:disabled) {\n background: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));\n }\n\n .custom button.insert:disabled {\n opacity: 0.4;\n cursor: default;\n }\n "])))];}}]);}(n);t([e({type:Boolean,reflect:!0})],a.prototype,"disabled",void 0),t([e({type:Number,attribute:"max-rows",reflect:!0})],a.prototype,"maxRows",void 0),t([e({type:Number,attribute:"max-cols",reflect:!0})],a.prototype,"maxCols",void 0),t([o()],a.prototype,"open",void 0),t([o()],a.prototype,"hoverRows",void 0),t([o()],a.prototype,"hoverCols",void 0),t([o()],a.prototype,"customRows",void 0),t([o()],a.prototype,"customCols",void 0),a=t([s("nile-wysiwyg-table-picker")],a);}};});
|
|
2
2
|
//# sourceMappingURL=table-grid-picker.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-grid-picker.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/table-grid-picker.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\n\n/** Smallest grid shown before the pointer starts expanding it. */\nconst MIN_ROWS = 5;\nconst MIN_COLS = 5;\n\n/**\n * Toolbar item: a table button that opens a hover grid which auto-expands as\n * the pointer reaches the last row/column (up to `maxRows`×`maxCols`), plus a\n * \"Custom\" rows×cols input for larger tables. Picking a cell or confirming the\n * custom size emits `wysiwyg-command` with `insertTable { rows, cols }`.\n */\n@customElement('nile-wysiwyg-table-picker')\nexport class NileWysiwygTablePicker extends NileElement {\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Hard cap on the number of rows selectable via grid or custom input. */\n @property({ type: Number, attribute: 'max-rows', reflect: true }) maxRows = 20;\n\n /** Hard cap on the number of columns selectable via grid or custom input. */\n @property({ type: Number, attribute: 'max-cols', reflect: true }) maxCols = 20;\n\n @state() private open = false;\n\n @state() private hoverRows = 0;\n\n @state() private hoverCols = 0;\n\n @state() private customRows = '';\n\n @state() private customCols = '';\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: relative;\n display: inline-flex;\n }\n\n button.trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0 6px;\n box-sizing: border-box;\n border: none;\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md, 8px));\n background: transparent;\n cursor: pointer;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900, #101828));\n }\n\n button.trigger:hover:not(:disabled) {\n background: var(--nile-colors-neutral-100, #f2f4f7);\n }\n\n button.trigger:disabled {\n opacity: 0.4;\n cursor: default;\n }\n\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 30;\n padding: 8px;\n background: var(--nile-wysiwyg-popover-bg, #ffffff);\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n }\n\n .grid {\n display: grid;\n gap: 2px;\n }\n\n .cell {\n width: 14px;\n height: 14px;\n border: 1px solid var(--nile-colors-neutral-300, #d0d5dd);\n border-radius: 2px;\n box-sizing: border-box;\n cursor: pointer;\n }\n\n .cell.hot {\n background: var(--nile-colors-primary-100, var(--ng-componentcolors-utility-blue-100, #dbeafe));\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n }\n\n .label {\n margin-top: 6px;\n text-align: center;\n font-size: 12px;\n color: var(--nile-colors-neutral-600, #475467);\n }\n\n .custom {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--nile-colors-neutral-300, #e4e7ec);\n }\n\n .custom input {\n width: 44px;\n height: 26px;\n padding: 0 6px;\n border: 1px solid var(--nile-colors-neutral-400, #d0d5dd);\n border-radius: 6px;\n font-size: 12px;\n box-sizing: border-box;\n text-align: center;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900, #101828));\n font-family: inherit;\n /* Hide native number spinners: they overlap the centered text in this\n narrow field and a stray click on the arrows mutates the value. */\n -moz-appearance: textfield;\n appearance: textfield;\n }\n\n .custom input::-webkit-outer-spin-button,\n .custom input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .custom input:focus {\n outline: none;\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n }\n\n .custom .times {\n font-size: 12px;\n color: var(--nile-colors-neutral-600, #475467);\n }\n\n .custom button.insert {\n margin-left: auto;\n height: 26px;\n padding: 0 12px;\n border: none;\n border-radius: 6px;\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600, #2563eb));\n color: #ffffff;\n font-size: 12px;\n font-weight: 600;\n font-family: inherit;\n cursor: pointer;\n }\n\n .custom button.insert:hover:not(:disabled) {\n background: var(--nile-colors-primary-700, #1d4ed8);\n }\n\n .custom button.insert:disabled {\n opacity: 0.4;\n cursor: default;\n }\n `,\n ];\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('mousedown', this.handleOutside);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('mousedown', this.handleOutside);\n }\n\n private handleOutside = (event: MouseEvent): void => {\n if (this.open && !event.composedPath().includes(this)) this.open = false;\n };\n\n private pick(rows: number, cols: number): void {\n this.open = false;\n this.customRows = '';\n this.customCols = '';\n this.emit('wysiwyg-command', {\n name: 'insertTable',\n attrs: { rows, cols, withHeaderRow: true },\n });\n }\n\n /** Clamp raw input to 1..max; returns 0 when empty/invalid. */\n private clamp(raw: string, max: number): number {\n const n = parseInt(raw, 10);\n if (!Number.isFinite(n) || n < 1) return 0;\n return Math.min(n, max);\n }\n\n private insertCustom(): void {\n const rows = this.clamp(this.customRows, this.maxRows);\n const cols = this.clamp(this.customCols, this.maxCols);\n if (rows >= 1 && cols >= 1) this.pick(rows, cols);\n }\n\n public render(): TemplateResult {\n // Grow the grid by one row/col once the pointer reaches the edge, capped.\n const visibleRows = Math.min(Math.max(MIN_ROWS, this.hoverRows + 1), this.maxRows);\n const visibleCols = Math.min(Math.max(MIN_COLS, this.hoverCols + 1), this.maxCols);\n\n const cells: TemplateResult[] = [];\n for (let r = 1; r <= visibleRows; r += 1) {\n for (let c = 1; c <= visibleCols; c += 1) {\n cells.push(html`\n <span\n class=\"cell ${r <= this.hoverRows && c <= this.hoverCols ? 'hot' : ''}\"\n @mouseenter=${() => {\n this.hoverRows = r;\n this.hoverCols = c;\n }}\n @click=${() => this.pick(r, c)}\n ></span>\n `);\n }\n }\n\n const customValid =\n this.clamp(this.customRows, this.maxRows) >= 1 &&\n this.clamp(this.customCols, this.maxCols) >= 1;\n\n return html`\n <button\n type=\"button\"\n class=\"trigger\"\n part=\"button\"\n aria-label=\"Insert table\"\n aria-expanded=${this.open ? 'true' : 'false'}\n ?disabled=${this.disabled}\n @mousedown=${(e: Event) => e.preventDefault()}\n @click=${() => {\n this.open = !this.open;\n this.hoverRows = 0;\n this.hoverCols = 0;\n }}\n >\n <nile-glyph name=\"grid-01\" size=\"18\" method=\"stroke\"></nile-glyph>\n </button>\n ${this.open\n ? html`\n <div class=\"panel\">\n <div\n class=\"grid\"\n style=\"grid-template-columns: repeat(${visibleCols}, 14px)\"\n @mousedown=${(e: Event) => e.preventDefault()}\n @mouseleave=${() => {\n this.hoverRows = 0;\n this.hoverCols = 0;\n }}\n >\n ${cells}\n </div>\n <div class=\"label\" @mousedown=${(e: Event) => e.preventDefault()}>\n ${this.hoverRows > 0 ? `${this.hoverRows} × ${this.hoverCols}` : 'Pick a size'}\n </div>\n <div class=\"custom\">\n <input\n type=\"number\"\n min=\"1\"\n max=${this.maxRows}\n aria-label=\"Rows\"\n placeholder=\"Rows\"\n .value=${this.customRows}\n @input=${(e: Event) => {\n this.customRows = (e.target as HTMLInputElement).value;\n }}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Enter') this.insertCustom();\n }}\n />\n <span class=\"times\">×</span>\n <input\n type=\"number\"\n min=\"1\"\n max=${this.maxCols}\n aria-label=\"Columns\"\n placeholder=\"Cols\"\n .value=${this.customCols}\n @input=${(e: Event) => {\n this.customCols = (e.target as HTMLInputElement).value;\n }}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Enter') this.insertCustom();\n }}\n />\n <button\n type=\"button\"\n class=\"insert\"\n ?disabled=${!customValid}\n @click=${() => this.insertCustom()}\n >\n Insert\n </button>\n </div>\n </div>\n `\n : ''}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-table-picker': NileWysiwygTablePicker;\n }\n}\n"],"names":["NileWysiwygTablePicker","_n","a","this","disabled","maxRows","maxCols","open","hoverRows","hoverCols","customRows","customCols","handleOutside","event","composedPath","includes","_this","_inherits","_createClass","key","value","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","pick","rows","cols","emit","name","attrs","withHeaderRow","clamp","raw","max","n","parseInt","Number","isFinite","Math","min","insertCustom","render","visibleRows","visibleCols","cells","_loop","_o","_loop2","_t","push","html","_templateObject3","_taggedTemplateLiteral","r","c","customValid","_templateObject","e","preventDefault","_templateObject2","concat","target","get","css","_templateObject4","NileElement","__decorate","property","type","Boolean","reflect","prototype","attribute","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-grid-picker.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/ui/table-grid-picker.ts"],"sourcesContent":["import { html, css, TemplateResult, CSSResultArray } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport NileElement from '../../internal/nile-element';\n\n/** Smallest grid shown before the pointer starts expanding it. */\nconst MIN_ROWS = 5;\nconst MIN_COLS = 5;\n\n/**\n * Toolbar item: a table button that opens a hover grid which auto-expands as\n * the pointer reaches the last row/column (up to `maxRows`×`maxCols`), plus a\n * \"Custom\" rows×cols input for larger tables. Picking a cell or confirming the\n * custom size emits `wysiwyg-command` with `insertTable { rows, cols }`.\n */\n@customElement('nile-wysiwyg-table-picker')\nexport class NileWysiwygTablePicker extends NileElement {\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Hard cap on the number of rows selectable via grid or custom input. */\n @property({ type: Number, attribute: 'max-rows', reflect: true }) maxRows = 20;\n\n /** Hard cap on the number of columns selectable via grid or custom input. */\n @property({ type: Number, attribute: 'max-cols', reflect: true }) maxCols = 20;\n\n @state() private open = false;\n\n @state() private hoverRows = 0;\n\n @state() private hoverCols = 0;\n\n @state() private customRows = '';\n\n @state() private customCols = '';\n\n public static get styles(): CSSResultArray {\n return [\n css`\n :host {\n font-family: var(\n --nile-font-family-sans-serif,\n var(--ng-font-family-body, system-ui, -apple-system, sans-serif)\n );\n position: relative;\n display: inline-flex;\n }\n\n button.trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0 6px;\n box-sizing: border-box;\n border: none;\n border-radius: var(--nile-radius-radius-lg, var(--ng-radius-md, 8px));\n background: transparent;\n cursor: pointer;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n button.trigger:hover:not(:disabled) {\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n }\n\n button.trigger:disabled {\n opacity: 0.4;\n cursor: default;\n }\n\n .panel {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 30;\n padding: 8px;\n background: var(--nile-wysiwyg-popover-bg, var(--ng-colors-bg-primary));\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 8px;\n box-shadow: var(--nile-wysiwyg-popover-shadow, 0 4px 12px rgba(16, 24, 40, 0.12));\n }\n\n .grid {\n display: grid;\n gap: 2px;\n }\n\n .cell {\n width: 14px;\n height: 14px;\n border: 1px solid var(--nile-colors-neutral-300, var(--ng-colors-border-primary));\n border-radius: 2px;\n box-sizing: border-box;\n cursor: pointer;\n }\n\n .cell.hot {\n background: var(--nile-colors-primary-100, var(--ng-componentcolors-utility-blue-100));\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n }\n\n .label {\n margin-top: 6px;\n text-align: center;\n font-size: 12px;\n color: var(--nile-colors-neutral-600, var(--ng-colors-text-tertiary-600));\n }\n\n .custom {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--nile-colors-neutral-300, var(--ng-colors-border-secondary));\n }\n\n .custom input {\n width: 44px;\n height: 26px;\n padding: 0 6px;\n border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-primary));\n border-radius: 6px;\n font-size: 12px;\n box-sizing: border-box;\n text-align: center;\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-family: inherit;\n /* Hide native number spinners: they overlap the centered text in this\n narrow field and a stray click on the arrows mutates the value. */\n -moz-appearance: textfield;\n appearance: textfield;\n }\n\n .custom input::-webkit-outer-spin-button,\n .custom input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .custom input:focus {\n outline: none;\n border-color: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n }\n\n .custom .times {\n font-size: 12px;\n color: var(--nile-colors-neutral-600, var(--ng-colors-text-tertiary-600));\n }\n\n .custom button.insert {\n margin-left: auto;\n height: 26px;\n padding: 0 12px;\n border: none;\n border-radius: 6px;\n background: var(--nile-colors-primary-600, var(--ng-componentcolors-utility-blue-600));\n color: var(--ng-colors-text-white);\n font-size: 12px;\n font-weight: 600;\n font-family: inherit;\n cursor: pointer;\n }\n\n .custom button.insert:hover:not(:disabled) {\n background: var(--nile-colors-primary-700, var(--ng-componentcolors-utility-blue-700));\n }\n\n .custom button.insert:disabled {\n opacity: 0.4;\n cursor: default;\n }\n `,\n ];\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('mousedown', this.handleOutside);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('mousedown', this.handleOutside);\n }\n\n private handleOutside = (event: MouseEvent): void => {\n if (this.open && !event.composedPath().includes(this)) this.open = false;\n };\n\n private pick(rows: number, cols: number): void {\n this.open = false;\n this.customRows = '';\n this.customCols = '';\n this.emit('wysiwyg-command', {\n name: 'insertTable',\n attrs: { rows, cols, withHeaderRow: true },\n });\n }\n\n /** Clamp raw input to 1..max; returns 0 when empty/invalid. */\n private clamp(raw: string, max: number): number {\n const n = parseInt(raw, 10);\n if (!Number.isFinite(n) || n < 1) return 0;\n return Math.min(n, max);\n }\n\n private insertCustom(): void {\n const rows = this.clamp(this.customRows, this.maxRows);\n const cols = this.clamp(this.customCols, this.maxCols);\n if (rows >= 1 && cols >= 1) this.pick(rows, cols);\n }\n\n public render(): TemplateResult {\n // Grow the grid by one row/col once the pointer reaches the edge, capped.\n const visibleRows = Math.min(Math.max(MIN_ROWS, this.hoverRows + 1), this.maxRows);\n const visibleCols = Math.min(Math.max(MIN_COLS, this.hoverCols + 1), this.maxCols);\n\n const cells: TemplateResult[] = [];\n for (let r = 1; r <= visibleRows; r += 1) {\n for (let c = 1; c <= visibleCols; c += 1) {\n cells.push(html`\n <span\n class=\"cell ${r <= this.hoverRows && c <= this.hoverCols ? 'hot' : ''}\"\n @mouseenter=${() => {\n this.hoverRows = r;\n this.hoverCols = c;\n }}\n @click=${() => this.pick(r, c)}\n ></span>\n `);\n }\n }\n\n const customValid =\n this.clamp(this.customRows, this.maxRows) >= 1 &&\n this.clamp(this.customCols, this.maxCols) >= 1;\n\n return html`\n <button\n type=\"button\"\n class=\"trigger\"\n part=\"button\"\n aria-label=\"Insert table\"\n aria-expanded=${this.open ? 'true' : 'false'}\n ?disabled=${this.disabled}\n @mousedown=${(e: Event) => e.preventDefault()}\n @click=${() => {\n this.open = !this.open;\n this.hoverRows = 0;\n this.hoverCols = 0;\n }}\n >\n <nile-glyph name=\"grid-01\" size=\"18\" method=\"stroke\"></nile-glyph>\n </button>\n ${this.open\n ? html`\n <div class=\"panel\">\n <div\n class=\"grid\"\n style=\"grid-template-columns: repeat(${visibleCols}, 14px)\"\n @mousedown=${(e: Event) => e.preventDefault()}\n @mouseleave=${() => {\n this.hoverRows = 0;\n this.hoverCols = 0;\n }}\n >\n ${cells}\n </div>\n <div class=\"label\" @mousedown=${(e: Event) => e.preventDefault()}>\n ${this.hoverRows > 0 ? `${this.hoverRows} × ${this.hoverCols}` : 'Pick a size'}\n </div>\n <div class=\"custom\">\n <input\n type=\"number\"\n min=\"1\"\n max=${this.maxRows}\n aria-label=\"Rows\"\n placeholder=\"Rows\"\n .value=${this.customRows}\n @input=${(e: Event) => {\n this.customRows = (e.target as HTMLInputElement).value;\n }}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Enter') this.insertCustom();\n }}\n />\n <span class=\"times\">×</span>\n <input\n type=\"number\"\n min=\"1\"\n max=${this.maxCols}\n aria-label=\"Columns\"\n placeholder=\"Cols\"\n .value=${this.customCols}\n @input=${(e: Event) => {\n this.customCols = (e.target as HTMLInputElement).value;\n }}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'Enter') this.insertCustom();\n }}\n />\n <button\n type=\"button\"\n class=\"insert\"\n ?disabled=${!customValid}\n @click=${() => this.insertCustom()}\n >\n Insert\n </button>\n </div>\n </div>\n `\n : ''}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-wysiwyg-table-picker': NileWysiwygTablePicker;\n }\n}\n"],"names":["NileWysiwygTablePicker","_n","a","this","disabled","maxRows","maxCols","open","hoverRows","hoverCols","customRows","customCols","handleOutside","event","composedPath","includes","_this","_inherits","_createClass","key","value","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","pick","rows","cols","emit","name","attrs","withHeaderRow","clamp","raw","max","n","parseInt","Number","isFinite","Math","min","insertCustom","render","visibleRows","visibleCols","cells","_loop","_o","_loop2","_t","push","html","_templateObject3","_taggedTemplateLiteral","r","c","customValid","_templateObject","e","preventDefault","_templateObject2","concat","target","get","css","_templateObject4","NileElement","__decorate","property","type","Boolean","reflect","prototype","attribute","state","customElement"],"mappings":"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"}
|