@aquera/nile-elements 0.0.6-6 → 0.0.6-8
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/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.d.ts +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.js +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/index.d.ts +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/index.js +2 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/index.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.css.d.ts +12 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.css.js +77 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.css.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.d.ts +50 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.js +180 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/array.d.ts +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/array.js +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/array.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/arrayofobject.d.ts +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/arrayofobject.js +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/arrayofobject.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.js +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/numberinput.d.ts +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/numberinput.js +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/numberinput.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/object.d.ts +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/object.js +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/object.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/stringletters.d.ts +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/stringletters.js +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/stringletters.js.map +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-input/nile-input.js +3 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-input/nile-input.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-group/nile-radio-group.js +3 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.js +3 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-select/nile-select.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.css.js +5 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.css.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.d.ts +13 -7
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js +96 -29
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-textarea/nile-textarea.js +3 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-textarea/nile-textarea.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
- package/demo/filenames.txt +1 -1
- package/demo/index.html +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.iife.js +192 -75
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-content-editor/index.cjs.js +2 -0
- package/dist/nile-content-editor/index.cjs.js.map +1 -0
- package/dist/nile-content-editor/index.esm.js +1 -0
- package/dist/nile-content-editor/nile-content-editor.cjs.js +2 -0
- package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -0
- package/dist/nile-content-editor/nile-content-editor.css.cjs.js +2 -0
- package/dist/nile-content-editor/nile-content-editor.css.cjs.js.map +1 -0
- package/dist/nile-content-editor/nile-content-editor.css.esm.js +65 -0
- package/dist/nile-content-editor/nile-content-editor.esm.js +33 -0
- package/dist/nile-icon/icons/svg/array.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/array.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/array.esm.js +1 -0
- package/dist/nile-icon/icons/svg/arrayofobject.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/arrayofobject.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/arrayofobject.esm.js +1 -0
- package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/icons/svg/numberinput.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/numberinput.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/numberinput.esm.js +1 -0
- package/dist/nile-icon/icons/svg/object.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/object.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/object.esm.js +1 -0
- package/dist/nile-icon/icons/svg/stringletters.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/stringletters.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/stringletters.esm.js +1 -0
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +2 -2
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +7 -5
- package/dist/nile-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
- package/dist/nile-radio-group/nile-radio-group.esm.js +9 -7
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +10 -8
- package/dist/nile-switcher/nile-switcher.cjs.js +1 -1
- package/dist/nile-switcher/nile-switcher.cjs.js.map +1 -1
- package/dist/nile-switcher/nile-switcher.css.cjs.js +1 -1
- package/dist/nile-switcher/nile-switcher.css.cjs.js.map +1 -1
- package/dist/nile-switcher/nile-switcher.css.esm.js +5 -0
- package/dist/nile-switcher/nile-switcher.esm.js +29 -19
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
- package/dist/nile-textarea/nile-textarea.esm.js +1 -1
- 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-content-editor/index.d.ts +1 -0
- package/dist/src/nile-content-editor/index.js +2 -0
- package/dist/src/nile-content-editor/index.js.map +1 -0
- package/dist/src/nile-content-editor/nile-content-editor.css.d.ts +12 -0
- package/dist/src/nile-content-editor/nile-content-editor.css.js +77 -0
- package/dist/src/nile-content-editor/nile-content-editor.css.js.map +1 -0
- package/dist/src/nile-content-editor/nile-content-editor.d.ts +50 -0
- package/dist/src/nile-content-editor/nile-content-editor.js +180 -0
- package/dist/src/nile-content-editor/nile-content-editor.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/array.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/array.js +5 -0
- package/dist/src/nile-icon/icons/svg/array.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/arrayofobject.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/arrayofobject.js +5 -0
- package/dist/src/nile-icon/icons/svg/arrayofobject.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/index.js +5 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/numberinput.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/numberinput.js +5 -0
- package/dist/src/nile-icon/icons/svg/numberinput.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/object.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/object.js +5 -0
- package/dist/src/nile-icon/icons/svg/object.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/stringletters.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/stringletters.js +5 -0
- package/dist/src/nile-icon/icons/svg/stringletters.js.map +1 -0
- package/dist/src/nile-input/nile-input.js +3 -0
- package/dist/src/nile-input/nile-input.js.map +1 -1
- package/dist/src/nile-radio-group/nile-radio-group.js +3 -0
- package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
- package/dist/src/nile-select/nile-select.js +3 -0
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-switcher/nile-switcher.css.js +5 -0
- package/dist/src/nile-switcher/nile-switcher.css.js.map +1 -1
- package/dist/src/nile-switcher/nile-switcher.d.ts +13 -7
- package/dist/src/nile-switcher/nile-switcher.js +96 -29
- package/dist/src/nile-switcher/nile-switcher.js.map +1 -1
- package/dist/src/nile-textarea/nile-textarea.js +3 -1
- package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/nile-content-editor/index.ts +1 -0
- package/src/nile-content-editor/nile-content-editor.css.ts +79 -0
- package/src/nile-content-editor/nile-content-editor.ts +186 -0
- package/src/nile-icon/icons/svg/array.ts +5 -0
- package/src/nile-icon/icons/svg/arrayofobject.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +5 -0
- package/src/nile-icon/icons/svg/numberinput.ts +5 -0
- package/src/nile-icon/icons/svg/object.ts +5 -0
- package/src/nile-icon/icons/svg/stringletters.ts +5 -0
- package/src/nile-input/nile-input.ts +3 -0
- package/src/nile-radio-group/nile-radio-group.ts +3 -0
- package/src/nile-select/nile-select.ts +3 -0
- package/src/nile-switcher/nile-switcher.css.ts +5 -0
- package/src/nile-switcher/nile-switcher.ts +104 -32
- package/src/nile-textarea/nile-textarea.ts +3 -1
package/package.json
CHANGED
package/src/index.ts
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
export { NileContentEditor } from './nile-content-editor';
|
@@ -0,0 +1,79 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { css } from 'lit-element';
|
9
|
+
|
10
|
+
/**
|
11
|
+
* AttributeExpression CSS
|
12
|
+
*/
|
13
|
+
export const styles = css`
|
14
|
+
:host {
|
15
|
+
width: 100%;
|
16
|
+
box-sizing: border-box;
|
17
|
+
}
|
18
|
+
|
19
|
+
.content-editable-wrapper {
|
20
|
+
position: relative;
|
21
|
+
width: 100%;
|
22
|
+
box-sizing: border-box;
|
23
|
+
}
|
24
|
+
.content-editable-input {
|
25
|
+
box-sizing: border-box;
|
26
|
+
width: 100%;
|
27
|
+
padding: 9px;
|
28
|
+
border: 1px solid #c7ced4;
|
29
|
+
border-radius: 4px;
|
30
|
+
overflow-x: auto;
|
31
|
+
overflow-anchor: none;
|
32
|
+
scrollbar-width: none;
|
33
|
+
-ms-overflow-style: none;
|
34
|
+
cursor: text;
|
35
|
+
white-space: nowrap;
|
36
|
+
background-color: #ffffff;
|
37
|
+
height: 38px;
|
38
|
+
}
|
39
|
+
.content-editable-input:focus {
|
40
|
+
outline: none;
|
41
|
+
}
|
42
|
+
|
43
|
+
.content-editable-input::-webkit-scrollbar {
|
44
|
+
display: none;
|
45
|
+
}
|
46
|
+
|
47
|
+
.chips {
|
48
|
+
background: #e5e9eb;
|
49
|
+
color: #000;
|
50
|
+
border-radius: 4px;
|
51
|
+
padding: 6px;
|
52
|
+
margin-left: 3px;
|
53
|
+
display: inline;
|
54
|
+
letter-spacing: 0.2px;
|
55
|
+
}
|
56
|
+
|
57
|
+
.nile-options-container {
|
58
|
+
box-sizing: border-box;
|
59
|
+
background-color: #ffffff;
|
60
|
+
border: 1px solid #c7ced4;
|
61
|
+
overflow: auto;
|
62
|
+
}
|
63
|
+
|
64
|
+
nile-popup::part(popup) {
|
65
|
+
top: 91px;
|
66
|
+
}
|
67
|
+
|
68
|
+
label {
|
69
|
+
display: inline-block;
|
70
|
+
margin-bottom: 6px;
|
71
|
+
font-family: 'colfax-medium';
|
72
|
+
}
|
73
|
+
|
74
|
+
.asterik {
|
75
|
+
color: #e5434d;
|
76
|
+
}
|
77
|
+
`;
|
78
|
+
|
79
|
+
export default [styles];
|
@@ -0,0 +1,186 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { html, property, TemplateResult } from 'lit-element';
|
9
|
+
import { customElement, query, state } from 'lit/decorators.js';
|
10
|
+
import { styles } from './nile-content-editor.css';
|
11
|
+
import { CSSResultGroup } from 'lit';
|
12
|
+
import { classMap } from 'lit/directives/class-map.js';
|
13
|
+
import NileElement from '../internal/nile-element';
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Nile icon component.
|
17
|
+
*
|
18
|
+
* @tag nile-attribute-expression
|
19
|
+
*
|
20
|
+
*/
|
21
|
+
@customElement('nile-content-editor')
|
22
|
+
export class NileContentEditor extends NileElement {
|
23
|
+
/**
|
24
|
+
* @summary Allows you to handle both input and dropdown selection
|
25
|
+
|
26
|
+
* @dependency nile-option
|
27
|
+
|
28
|
+
* @event nile-change - Emitted when the control's value changes.
|
29
|
+
*/
|
30
|
+
|
31
|
+
@property() value: string = '';
|
32
|
+
|
33
|
+
@property() dropdownOptions: Array<any>;
|
34
|
+
|
35
|
+
@property() showLabel: boolean = true;
|
36
|
+
|
37
|
+
@property() labelText = '';
|
38
|
+
|
39
|
+
@property() required: boolean = true;
|
40
|
+
|
41
|
+
@query('.content-editable-input') input: HTMLInputElement;
|
42
|
+
|
43
|
+
@state() private openDropdown: boolean = false;
|
44
|
+
|
45
|
+
@property({ attribute: 'help-text' }) helpText = '';
|
46
|
+
|
47
|
+
@property({ attribute: 'error-message' }) errorMessage = '';
|
48
|
+
|
49
|
+
static styles: CSSResultGroup = styles;
|
50
|
+
|
51
|
+
connectedCallback() {
|
52
|
+
super.connectedCallback();
|
53
|
+
this.emit('nile-init');
|
54
|
+
this.afterFirstRender().then(res => {
|
55
|
+
if (res && this.value !== '')
|
56
|
+
this.input.innerHTML = this.generateHTMLTagsWithValues(this.value);
|
57
|
+
});
|
58
|
+
}
|
59
|
+
|
60
|
+
disconnectedCallback(): void {
|
61
|
+
super.disconnectedCallback();
|
62
|
+
this.emit('nile-destroy');
|
63
|
+
}
|
64
|
+
|
65
|
+
async afterFirstRender(): Promise<boolean> {
|
66
|
+
return await this.updateComplete;
|
67
|
+
}
|
68
|
+
|
69
|
+
private handleChange(event: any) {
|
70
|
+
const value = this.input.innerText;
|
71
|
+
this.emitInputChange();
|
72
|
+
if (value.includes('$')) {
|
73
|
+
this.openDropdown = true;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
generateValuesFromHTMLTags(string: any): string {
|
78
|
+
var pattern =
|
79
|
+
/<span class="chips(?: chip-error)?" contenteditable="false">(.*?)<\/span>/g;
|
80
|
+
var result = string.replace(pattern, (match: any, option: any) => {
|
81
|
+
return '{{' + option + '}}';
|
82
|
+
});
|
83
|
+
return result;
|
84
|
+
}
|
85
|
+
|
86
|
+
generateHTMLTagsWithValues(string: any): string {
|
87
|
+
var pattern = /{{(.*?)}}/g;
|
88
|
+
var result = string.replace(pattern, (match: any, option: any) => {
|
89
|
+
if (this.dropdownOptions.includes(option)) {
|
90
|
+
return (
|
91
|
+
'<span class="chips" contenteditable="false">' + option + '</span>'
|
92
|
+
);
|
93
|
+
}
|
94
|
+
});
|
95
|
+
return result;
|
96
|
+
}
|
97
|
+
|
98
|
+
emitInputChange(): void {
|
99
|
+
this.emit(
|
100
|
+
'nile-change',
|
101
|
+
this.generateValuesFromHTMLTags(this.input.innerHTML)
|
102
|
+
);
|
103
|
+
}
|
104
|
+
|
105
|
+
handleOptions(option: any): void {
|
106
|
+
this.openDropdown = !this.openDropdown;
|
107
|
+
|
108
|
+
// not appending Native element as it replaces all existing child nodes with new node
|
109
|
+
const autoOptionsTag =
|
110
|
+
'<span class="chips" contenteditable="false">' + option + '</span>';
|
111
|
+
this.input.innerHTML = this.input.innerHTML + autoOptionsTag;
|
112
|
+
|
113
|
+
// removing '$' from innerText after option is being selected
|
114
|
+
if (this.input.lastChild?.previousSibling)
|
115
|
+
this.input.lastChild.previousSibling.nodeValue =
|
116
|
+
this.input.lastChild.previousSibling.nodeValue!.replace('$', '');
|
117
|
+
this.emitInputChange();
|
118
|
+
}
|
119
|
+
|
120
|
+
public renderAutoOptions(): TemplateResult {
|
121
|
+
return html`<div class="nile-options-container">
|
122
|
+
${this.dropdownOptions &&
|
123
|
+
this.dropdownOptions.map((option: any) => {
|
124
|
+
return html` <nile-option
|
125
|
+
.value="${option}"
|
126
|
+
@click="${(event: Event) => {
|
127
|
+
this.handleOptions(option);
|
128
|
+
}}"
|
129
|
+
>${option}
|
130
|
+
</nile-option>`;
|
131
|
+
})}
|
132
|
+
</div>`;
|
133
|
+
}
|
134
|
+
|
135
|
+
public render(): TemplateResult {
|
136
|
+
const hasHelpText = this.helpText ? true : false;
|
137
|
+
const hasErrorMessage = this.errorMessage ? true : false;
|
138
|
+
return html`
|
139
|
+
<nile-popup
|
140
|
+
.active="${this.openDropdown}"
|
141
|
+
sync="width"
|
142
|
+
placement="bottom"
|
143
|
+
class=${classMap({
|
144
|
+
dropdown: true,
|
145
|
+
'dropdown--open': true,
|
146
|
+
})}
|
147
|
+
>
|
148
|
+
<div class="content-editable-wrapper" slot="anchor">
|
149
|
+
${this.showLabel && this.labelText
|
150
|
+
? html`<label class="ods-label">${this.labelText} </label> ${this
|
151
|
+
.required
|
152
|
+
? html`<span class="asterik">*</span>`
|
153
|
+
: ''}`
|
154
|
+
: ''}
|
155
|
+
<div
|
156
|
+
class="content-editable-input"
|
157
|
+
contenteditable="true"
|
158
|
+
@input=${this.handleChange}
|
159
|
+
></div>
|
160
|
+
${hasHelpText
|
161
|
+
? html`
|
162
|
+
<nile-form-help-text>${this.helpText}</nile-form-help-text>
|
163
|
+
`
|
164
|
+
: ``}
|
165
|
+
${hasErrorMessage
|
166
|
+
? html`
|
167
|
+
<nile-form-error-message
|
168
|
+
>${this.errorMessage}</nile-form-error-message
|
169
|
+
>
|
170
|
+
`
|
171
|
+
: ``}
|
172
|
+
</div>
|
173
|
+
|
174
|
+
${this.renderAutoOptions()}
|
175
|
+
</nile-popup>
|
176
|
+
`;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
180
|
+
export default NileContentEditor;
|
181
|
+
|
182
|
+
declare global {
|
183
|
+
interface HTMLElementTagNameMap {
|
184
|
+
'nile-content-editor': NileContentEditor;
|
185
|
+
}
|
186
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBpZD0iWyBdIj48cGF0aCBkPSJNMC4zNDk2MDkgMTEuNDM5MVYwLjUzMDAyOUgyLjg3MjM0VjEuMzY1MjZIMS4zMDQxNVYxMC42MDM5SDIuODcyMzRWMTEuNDM5MUgwLjM0OTYwOVoiIGZpbGw9IiMxQzFCMUYiLz48cGF0aCBkPSJNOS41ODkzMSAwLjUzMDAyOVYxMS40MzkxSDcuMDY2NThWMTAuNjAzOUg4LjYzNDc3VjEuMzY1MjZINy4wNjY1OFYwLjUzMDAyOUg5LjU4OTMxWiIgZmlsbD0iIzFDMUIxRiIvPjwvZz48L3N2Zz4=";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEuOTk5OSAyVjEySDkuNjY2MDJWMTEuMzIzMUgxMS4yNTE1VjIuNjc2ODZIOS42NjYwMlYySDExLjk5OTlaIiBmaWxsPSJibGFjayIvPjxwYXRoIGQ9Ik0xMC42NTczIDYuNjYxNTdIMTAuOTMzMVY3LjMzODQzSDEwLjY1NzNDMTAuMDI3MSA3LjMzODQzIDkuNjkyMjYgNy43NDIzNiA5LjY5MjI2IDguNDQxMDVWMTAuMzYyNEM5LjY5MjI2IDExLjM2NjggOS4xODAxOSAxMiA4LjE0NjIgMTJINy40NzY1NlYxMS4zMjMxSDguMDI4MDNDOC43MDc1MSAxMS4zMjMxIDguOTQzODUgMTAuOTYyOSA4Ljk0Mzg1IDEwLjMyOTdWOC4zNzU1NUM4Ljk0Mzg1IDcuNjExMzUgOS4yNDkxMiA3LjEyMDA5IDkuODk5MDYgN0M5LjI0OTEyIDYuODc5OTEgOC45NDM4NSA2LjM4ODY1IDguOTQzODUgNS42MjQ0NVYzLjY3MDMxQzguOTQzODUgMy4wMzcxMiA4LjcwNzUxIDIuNjc2ODYgOC4wMjgwMyAyLjY3Njg2SDcuNDc2NTZWMkg4LjE0NjJDOS4xODAxOSAyIDkuNjkyMjYgMi42MzMxOSA5LjY5MjI2IDMuNjM3NTVWNS41NTg5NUM5LjY5MjI2IDYuMjU3NjQgMTAuMDI3MSA2LjY2MTU3IDEwLjY1NzMgNi42NjE1N1oiIGZpbGw9ImJsYWNrIi8+PHBhdGggZD0iTTMuMDk1NyA2LjY2MTU3SDMuMzcxNDRDNC4wMDE2OCA2LjY2MTU3IDQuMzM2NSA2LjI1NzY0IDQuMzM2NSA1LjU1ODk1VjMuNjM3NTVDNC4zMzY1IDIuNjMzMTkgNC44NDg1NyAyIDUuODgyNTYgMkg2LjU1MjJWMi42NzY4Nkg2LjAwMDczQzUuMzIxMjUgMi42NzY4NiA1LjA4NDkxIDMuMDM3MTIgNS4wODQ5MSAzLjY3MDMxVjUuNjI0NDVDNS4wODQ5MSA2LjM4ODY1IDQuNzc5NjQgNi44Nzk5MSA0LjEyOTcgN0M0Ljc3OTY0IDcuMTIwMDkgNS4wODQ5MSA3LjYxMTM1IDUuMDg0OTEgOC4zNzU1NVYxMC4zMjk3QzUuMDg0OTEgMTAuOTYyOSA1LjMyMTI1IDExLjMyMzEgNi4wMDA3MyAxMS4zMjMxSDYuNTUyMlYxMkg1Ljg4MjU2QzQuODQ4NTcgMTIgNC4zMzY1IDExLjM2NjggNC4zMzY1IDEwLjM2MjRWOC40NDEwNUM0LjMzNjUgNy43NDIzNiA0LjAwMTY4IDcuMzM4NDMgMy4zNzE0NCA3LjMzODQzSDMuMDk1N1Y2LjY2MTU3WiIgZmlsbD0iYmxhY2siLz48cGF0aCBkPSJNMiAxMlYySDQuMzMzODdWMi42NzY4NkgyLjc0ODQxVjExLjMyMzFINC4zMzM4N1YxMkgyWiIgZmlsbD0iYmxhY2siLz48L3N2Zz4=";
|
@@ -14,6 +14,8 @@ export { default as applications } from './applications';
|
|
14
14
|
export { default as approve } from './approve';
|
15
15
|
export { default as aquera } from './aquera';
|
16
16
|
export { default as aquerasupport } from './aquerasupport';
|
17
|
+
export { default as array } from './array';
|
18
|
+
export { default as arrayofobject } from './arrayofobject';
|
17
19
|
export { default as arrow } from './arrow';
|
18
20
|
export { default as arrowdown } from './arrowdown';
|
19
21
|
export { default as arrowdropdown } from './arrowdropdown';
|
@@ -232,6 +234,8 @@ export { default as notificationadded } from './notificationadded';
|
|
232
234
|
export { default as notscheduled } from './notscheduled';
|
233
235
|
export { default as null } from './null';
|
234
236
|
export { default as number } from './number';
|
237
|
+
export { default as numberinput } from './numberinput';
|
238
|
+
export { default as object } from './object';
|
235
239
|
export { default as operators } from './operators';
|
236
240
|
export { default as options } from './options';
|
237
241
|
export { default as orchestrationsolid } from './orchestration-solid';
|
@@ -322,6 +326,7 @@ export { default as stop } from './stop';
|
|
322
326
|
export { default as storybook } from './storybook';
|
323
327
|
export { default as string } from './string';
|
324
328
|
export { default as stringinput } from './stringinput';
|
329
|
+
export { default as stringletters } from './stringletters';
|
325
330
|
export { default as support } from './support';
|
326
331
|
export { default as swap } from './swap';
|
327
332
|
export { default as sync } from './sync';
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuMTg3NSAxLjMxMjVIMTAuNVYwLjQzNzVIN1YxLjMxMjVIOC4zMTI1VjEyLjY4NzVIN1YxMy41NjI1SDEwLjVWMTIuNjg3NUg5LjE4NzVWMS4zMTI1Wk0xLjMxMjUgMy4wNjI1SDdWMy45Mzc1SDIuMTg3NVYxMC4wNjI1SDdWMTAuOTM3NUgxLjMxMjVWMy4wNjI1Wk0xMS44MTI1IDMuOTM3NUgxMC41VjMuMDYyNUgxMi42ODc1VjEwLjkzNzVIMTAuNVYxMC4wNjI1SDExLjgxMjVWMy45Mzc1Wk01LjE0ODYxIDguMTQwNDlINC4zNzVWOC43NUg2LjU5NTAzVjguMTQwNDlINS44MjE0MlY1LjI1SDUuMTUzM0w0LjQyODkyIDUuNDIzNDhWNi4wNDcwNUw1LjE0ODYxIDUuODY4ODlWOC4xNDA0OVoiIGZpbGw9ImJsYWNrIi8+PC9zdmc+";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCAxMC4yNzQ5VjkuMjgyNjVDMC44OTA5MjEgOS4yODI2NSAxLjUxMjQzIDkuMDk1OTMgMS44NjQ1MyA4LjcyMjVDMi4yMjE5NyA4LjM0OTA1IDIuNDAwNjkgNy43MjQ4OCAyLjQwMDY5IDYuODQ5OTZWNC4yODkyM0MyLjQwMDY5IDMuNTUzMDIgMi40NzAwNCAyLjkxNTUgMi42MDg3NSAyLjM3NjY4QzIuNzUyNzkgMS44Mzc4NiAyLjk4NDg1IDEuMzkyNCAzLjMwNDk0IDEuMDQwM0MzLjYyNTA0IDAuNjg4MTk4IDQuMDUxODMgMC40MjY3OSA0LjU4NTMxIDAuMjU2MDc0QzUuMTE4OCAwLjA4NTM1ODEgNS43Nzc2NSAwIDYuNTYxODggMFYxLjU2ODQ1QzUuOTQzMDMgMS41Njg0NSA1LjQ1NDg5IDEuNjY0NDggNS4wOTc0NiAxLjg1NjUzQzQuNzQ1MzYgMi4wNDg1OSA0LjQ5NDYyIDIuMzQ3MzQgNC4zNDUyNCAyLjc1Mjc5QzQuMjAxMiAzLjE1MjkgNC4xMjkxOCAzLjY2NTA1IDQuMTI5MTggNC4yODkyM1Y3LjQ5MDE0QzQuMTI5MTggNy45MDYyNiA0LjA3MzE2IDguMjg1MDQgMy45NjExMyA4LjYyNjQ3QzMuODU0NDQgOC45Njc5IDMuNjU0MzggOS4yNjEzMSAzLjM2MDk2IDkuNTA2NzJDMy4wNjc1NCA5Ljc1MjEyIDIuNjQ4NzYgOS45NDE1MSAyLjEwNDYgMTAuMDc0OUMxLjU2NTc4IDEwLjIwODMgMC44NjQyNDcgMTAuMjc0OSAwIDEwLjI3NDlaTTYuNTYxODggMjAuNDg1OUM1Ljc3NzY1IDIwLjQ4NTkgNS4xMTg4IDIwLjQwMDUgNC41ODUzMSAyMC4yMjk4QzQuMDUxODMgMjAuMDU5MSAzLjYyNTA0IDE5Ljc5NzcgMy4zMDQ5NCAxOS40NDU2QzIuOTg0ODUgMTkuMDkzNSAyLjc1Mjc5IDE4LjY0OCAyLjYwODc1IDE4LjEwOTJDMi40NzAwNCAxNy41NzA0IDIuNDAwNjkgMTYuOTMyOCAyLjQwMDY5IDE2LjE5NjZWMTMuNjM1OUMyLjQwMDY5IDEyLjc2MSAyLjIyMTk3IDEyLjEzNjggMS44NjQ1MyAxMS43NjM0QzEuNTEyNDMgMTEuMzg5OSAwLjg5MDkyMSAxMS4yMDMyIDAgMTEuMjAzMlYxMC4yMTA5QzAuODY0MjQ3IDEwLjIxMDkgMS41NjU3OCAxMC4yNzc2IDIuMTA0NiAxMC40MTFDMi42NDg3NiAxMC41NDQzIDMuMDY3NTQgMTAuNzMzNyAzLjM2MDk2IDEwLjk3OTFDMy42NTQzOCAxMS4yMjQ1IDMuODU0NDQgMTEuNTE4IDMuOTYxMTMgMTEuODU5NEM0LjA3MzE2IDEyLjIwMDggNC4xMjkxOCAxMi41Nzk2IDQuMTI5MTggMTIuOTk1N1YxNi4xOTY2QzQuMTI5MTggMTYuODIwOCA0LjIwMTIgMTcuMzMzIDQuMzQ1MjQgMTcuNzMzMUM0LjQ5NDYyIDE4LjEzMzIgNC43NDUzNiAxOC40MjkzIDUuMDk3NDYgMTguNjIxM0M1LjQ1NDg5IDE4LjgxODcgNS45NDMwMyAxOC45MTc0IDYuNTYxODggMTguOTE3NFYyMC40ODU5Wk0wIDExLjIwMzJWOS4yODI2NUgxLjg4ODU0VjExLjIwMzJIMFoiIGZpbGw9ImJsYWNrIi8+PHBhdGggZD0iTTIxIDEwLjIxMDlWMTEuMjAzMkMyMC4xMDkxIDExLjIwMzIgMTkuNDg0OSAxMS4zODk5IDE5LjEyNzUgMTEuNzYzNEMxOC43NzU0IDEyLjEzNjggMTguNTk5MyAxMi43NjEgMTguNTk5MyAxMy42MzU5VjE2LjE5NjZDMTguNTk5MyAxNi45MzI4IDE4LjUyNzMgMTcuNTcwNCAxOC4zODMzIDE4LjEwOTJDMTguMjQ0NSAxOC42NDggMTguMDE1MSAxOS4wOTM1IDE3LjY5NTEgMTkuNDQ1NkMxNy4zNzUgMTkuNzk3NyAxNi45NDgyIDIwLjA1OTEgMTYuNDE0NyAyMC4yMjk4QzE1Ljg4MTIgMjAuNDAwNSAxNS4yMjI0IDIwLjQ4NTkgMTQuNDM4MSAyMC40ODU5VjE4LjkxNzRDMTUuMDU3IDE4LjkxNzQgMTUuNTQyNCAxOC44MTg3IDE1Ljg5NDUgMTguNjIxM0MxNi4yNTIgMTguNDI5MyAxNi41MDI3IDE4LjEzMzIgMTYuNjQ2OCAxNy43MzMxQzE2Ljc5NjEgMTcuMzMzIDE2Ljg3MDggMTYuODIwOCAxNi44NzA4IDE2LjE5NjZWMTIuOTk1N0MxNi44NzA4IDEyLjU3OTYgMTYuOTI0MiAxMi4yMDA4IDE3LjAzMDkgMTEuODU5NEMxNy4xNDI5IDExLjUxOCAxNy4zNDU2IDExLjIyNDUgMTcuNjM5IDEwLjk3OTFDMTcuOTMyNSAxMC43MzM3IDE4LjM0ODYgMTAuNTQ0MyAxOC44ODc0IDEwLjQxMUMxOS40MzE2IDEwLjI3NzYgMjAuMTM1OCAxMC4yMTA5IDIxIDEwLjIxMDlaTTE0LjQzODEgMEMxNS4yMjI0IDAgMTUuODgxMiAwLjA4NTM1ODEgMTYuNDE0NyAwLjI1NjA3NEMxNi45NDgyIDAuNDI2NzkgMTcuMzc1IDAuNjg4MTk4IDE3LjY5NTEgMS4wNDAzQzE4LjAxNTEgMS4zOTI0IDE4LjI0NDUgMS44Mzc4NiAxOC4zODMzIDIuMzc2NjhDMTguNTI3MyAyLjkxNTUgMTguNTk5MyAzLjU1MzAyIDE4LjU5OTMgNC4yODkyM1Y2Ljg0OTk2QzE4LjU5OTMgNy43MjQ4OCAxOC43NzU0IDguMzQ5MDUgMTkuMTI3NSA4LjcyMjVDMTkuNDg0OSA5LjA5NTkzIDIwLjEwOTEgOS4yODI2NSAyMSA5LjI4MjY1VjEwLjI3NDlDMjAuMTM1OCAxMC4yNzQ5IDE5LjQzMTYgMTAuMjA4MyAxOC44ODc0IDEwLjA3NDlDMTguMzQ4NiA5Ljk0MTUxIDE3LjkzMjUgOS43NTIxMiAxNy42MzkgOS41MDY3MkMxNy4zNDU2IDkuMjYxMzEgMTcuMTQyOSA4Ljk2NzkgMTcuMDMwOSA4LjYyNjQ3QzE2LjkyNDIgOC4yODUwNCAxNi44NzA4IDcuOTA2MjYgMTYuODcwOCA3LjQ5MDE0VjQuMjg5MjNDMTYuODcwOCAzLjY2NTA1IDE2Ljc5NjEgMy4xNTI5IDE2LjY0NjggMi43NTI3OUMxNi41MDI3IDIuMzQ3MzQgMTYuMjUyIDIuMDQ4NTkgMTUuODk0NSAxLjg1NjUzQzE1LjU0MjQgMS42NjQ0OCAxNS4wNTcgMS41Njg0NSAxNC40MzgxIDEuNTY4NDVWMFpNMjEgOS4yODI2NVYxMS4yMDMySDE5LjExMTVWOS4yODI2NUgyMVoiIGZpbGw9ImJsYWNrIi8+PC9zdmc+";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS4zNjg1NyA1SDQuMTUxNDNMMiAxMUgzLjE5MTQzTDMuNTk0MjkgOS43NEg1LjkyNTcxTDYuMzI4NTcgMTFINy41Mkw1LjM2ODU3IDVaTTQuNzYgNi4wOEw1LjYxNzE0IDguNzg4NTdIMy44OTQyOUw0Ljc2IDYuMDhaIiBmaWxsPSJibGFjayIvPjxwYXRoIGQ9Ik05LjkyMzY4IDExSDEyLjY1OEMxMy44NTggMTEgMTQuNjg5NCAxMC4zMTQzIDE0LjY4OTQgOS4zMTE0M0MxNC42ODk0IDguNDk3MTQgMTQuMTkyMyA4LjAyNTcxIDEzLjU3NTEgNy44OTcxNEMxMy45OTUxIDcuNjU3MTQgMTQuMzI5NCA3LjIwMjg2IDE0LjMyOTQgNi41MTcxNEMxNC4zMjk0IDUuNjE3MTQgMTMuNjY5NCA1IDEyLjYxNTEgNUg5LjkyMzY4VjExWk0xMS4wODk0IDEwLjA1NzFWOC40MkgxMi41ODk0QzEzLjE1NTEgOC40MiAxMy40ODk0IDguNzM3MTQgMTMuNDg5NCA5LjIzNDI5QzEzLjQ4OTQgOS43NCAxMy4xNzIzIDEwLjA1NzEgMTIuNTk4IDEwLjA1NzFIMTEuMDg5NFpNMTEuMDg5NCA3LjQ4NTcxVjUuOTQyODZIMTIuMzQwOEMxMi44MzggNS45NDI4NiAxMy4xMjk0IDYuMjM0MjkgMTMuMTI5NCA2LjY4ODU3QzEzLjEyOTQgNy4xNTE0MyAxMi44NTUxIDcuNDg1NzEgMTIuMzQ5NCA3LjQ4NTcxSDExLjA4OTRaIiBmaWxsPSJibGFjayIvPjwvc3ZnPg==";
|
@@ -445,6 +445,7 @@ export class NileInput extends NileElement implements NileFormControl {
|
|
445
445
|
const hasLabelSlot = this.hasSlotController.test('label');
|
446
446
|
const hasHelpTextSlot = this.hasSlotController.test('help-text');
|
447
447
|
const hasLabel = this.label ? true : !!hasLabelSlot;
|
448
|
+
const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');
|
448
449
|
const hasHelpText = this.helpText ? true : false;
|
449
450
|
const hasErrorMessage = this.errorMessage ? true : false;
|
450
451
|
const hasClearIcon =
|
@@ -474,6 +475,8 @@ export class NileInput extends NileElement implements NileFormControl {
|
|
474
475
|
<slot name="label">${this.label}</slot>
|
475
476
|
</label>
|
476
477
|
|
478
|
+
${hasLabelSuffixSlot ? html` <slot name="label-suffix"></slot> ` : ``}
|
479
|
+
|
477
480
|
<div part="form-control-input" class="form-control-input">
|
478
481
|
<div
|
479
482
|
part="base"
|
@@ -209,6 +209,7 @@ export class NileRadioGroup extends NileElement {
|
|
209
209
|
render() {
|
210
210
|
const hasLabelSlot = this.hasSlotController.test('label');
|
211
211
|
const hasHelpTextSlot = this.hasSlotController.test('help-text');
|
212
|
+
const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');
|
212
213
|
const hasLabel = this.label ? true : !!hasLabelSlot;
|
213
214
|
const hasHelpText = this.helpText ? true : false;
|
214
215
|
const hasErrorMessage = this.errorMessage ? true : false;
|
@@ -247,6 +248,8 @@ export class NileRadioGroup extends NileElement {
|
|
247
248
|
<slot name="label">${this.label}</slot>
|
248
249
|
</label>
|
249
250
|
|
251
|
+
${hasLabelSuffixSlot ? html` <slot name="label-suffix"></slot> ` : ``}
|
252
|
+
|
250
253
|
<div part="form-control-input" class="form-control-input">
|
251
254
|
<div class="visually-hidden">
|
252
255
|
<label class="radio-group__validation">
|
@@ -873,6 +873,7 @@ export class NileSelect extends NileElement implements NileFormControl {
|
|
873
873
|
render() {
|
874
874
|
const hasLabelSlot = this.hasSlotController.test('label');
|
875
875
|
const hasHelpTextSlot = this.hasSlotController.test('help-text');
|
876
|
+
const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');
|
876
877
|
const hasLabel = this.label ? true : !!hasLabelSlot;
|
877
878
|
const hasClearIcon =
|
878
879
|
this.clearable && !this.disabled && this.value.length > 0;
|
@@ -903,6 +904,8 @@ export class NileSelect extends NileElement implements NileFormControl {
|
|
903
904
|
<slot name="label">${this.label}</slot>
|
904
905
|
</label>
|
905
906
|
|
907
|
+
${hasLabelSuffixSlot ? html` <slot name="label-suffix"></slot> ` : ``}
|
908
|
+
|
906
909
|
<div part="form-control-input" class="form-control-input">
|
907
910
|
<nile-popup
|
908
911
|
class=${classMap({
|
@@ -35,14 +35,20 @@ export interface switchconfig {
|
|
35
35
|
}
|
36
36
|
|
37
37
|
export interface switchInputType {
|
38
|
-
inputType: 'dropdown' | 'text' | 'checkbox' | 'text-area';
|
38
|
+
inputType: 'dropdown' | 'text' | 'checkbox' | 'text-area' | 'radio';
|
39
39
|
value?: String | boolean;
|
40
40
|
label?: String;
|
41
41
|
placeholder?: string;
|
42
|
+
disabled?: boolean;
|
42
43
|
options?: Array<any>;
|
43
44
|
multiple?: boolean;
|
44
45
|
}
|
45
46
|
|
47
|
+
export enum INPUT_TYPE {
|
48
|
+
DEFAULT = 'defaultInput',
|
49
|
+
SWITCH = 'switchInput',
|
50
|
+
}
|
51
|
+
|
46
52
|
@customElement('nile-switcher')
|
47
53
|
export class NileSwitcher extends NileElement {
|
48
54
|
/**
|
@@ -50,7 +56,7 @@ export class NileSwitcher extends NileElement {
|
|
50
56
|
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
51
57
|
*/
|
52
58
|
static styles: CSSResultGroup = styles;
|
53
|
-
@property() nileSwitchConfig: switchconfig;
|
59
|
+
@property({ type: Object }) nileSwitchConfig: switchconfig;
|
54
60
|
|
55
61
|
connectedCallback() {
|
56
62
|
super.connectedCallback();
|
@@ -62,54 +68,93 @@ export class NileSwitcher extends NileElement {
|
|
62
68
|
this.emit('nile-destroy');
|
63
69
|
}
|
64
70
|
|
65
|
-
renderNileText(
|
66
|
-
const { value, label, placeholder } =
|
71
|
+
renderNileText(Input: switchInputType, inputType: string) {
|
72
|
+
const { value, label, placeholder, disabled } = Input;
|
67
73
|
return html`<nile-input
|
68
74
|
.value=${value}
|
69
75
|
.label=${label}
|
76
|
+
.disabled=${disabled}
|
70
77
|
.placeholder=${placeholder}
|
71
|
-
@nile-input=${
|
78
|
+
@nile-input=${(e: CustomEvent) => {
|
79
|
+
this.handleChange(e, inputType);
|
80
|
+
}}
|
72
81
|
></nile-input>`;
|
73
82
|
}
|
74
83
|
|
75
|
-
|
76
|
-
const {
|
84
|
+
renderDropdown(Input: switchInputType, inputType: string) {
|
85
|
+
const { options, multiple, placeholder, disabled } = Input;
|
86
|
+
return html`<nile-select
|
87
|
+
.placeholder=${placeholder}
|
88
|
+
.disabled="${disabled}"
|
89
|
+
.multiple="${multiple}"
|
90
|
+
@nile-change=${(e: CustomEvent) => {
|
91
|
+
this.handleChange(e, inputType);
|
92
|
+
}}
|
93
|
+
>
|
94
|
+
${options?.map((option: any) => {
|
95
|
+
return html`<nile-option .value="${option}">${option} </nile-option>`;
|
96
|
+
})}
|
97
|
+
</nile-select>`;
|
98
|
+
}
|
99
|
+
|
100
|
+
renderNileTextArea(Input: switchInputType, inputType: string) {
|
101
|
+
const { value, disabled } = Input;
|
77
102
|
return html`<nile-textarea
|
78
103
|
.value=${value}
|
79
|
-
|
104
|
+
.disabled=${disabled}
|
105
|
+
@nile-input=${(e: CustomEvent) => {
|
106
|
+
this.handleChange(e, inputType);
|
107
|
+
}}
|
80
108
|
></nile-textarea>`;
|
81
109
|
}
|
82
110
|
|
83
|
-
renderNileCheckBox(
|
84
|
-
const { value, label } =
|
111
|
+
renderNileCheckBox(Input: switchInputType, inputType: string) {
|
112
|
+
const { value, label, disabled } = Input;
|
85
113
|
|
86
114
|
return html`<nile-checkbox
|
87
115
|
.checked=${value}
|
88
116
|
.label=${label}
|
89
|
-
|
117
|
+
.disabled=${disabled}
|
118
|
+
@valueChange=${(e: CustomEvent) => {
|
119
|
+
this.handleChangeCheckbox(e, inputType);
|
120
|
+
}}
|
90
121
|
></nile-checkbox>`;
|
91
122
|
}
|
92
123
|
|
93
|
-
|
94
|
-
|
95
|
-
}
|
124
|
+
renderNileRadio(Input: switchInputType, inputType: string) {
|
125
|
+
const { options, value, disabled } = Input;
|
96
126
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
return html`<nile-select
|
104
|
-
.placeholder=${placeholder}
|
105
|
-
.multiple="${multiple}"
|
106
|
-
@nile-change="${this.handleChange}"
|
127
|
+
return html`<nile-radio-group
|
128
|
+
.value=${value}
|
129
|
+
.disabled=${disabled}
|
130
|
+
@change=${(e: CustomEvent) => {
|
131
|
+
this.handleChange(e, inputType);
|
132
|
+
}}
|
107
133
|
>
|
108
134
|
${options &&
|
109
135
|
options.map((option: any) => {
|
110
|
-
return html`<nile-
|
136
|
+
return html`<nile-radio .value="${option}">${option} </nile-radio>`;
|
111
137
|
})}
|
112
|
-
</nile-
|
138
|
+
</nile-radio-group>`;
|
139
|
+
}
|
140
|
+
|
141
|
+
handleChange(event: CustomEvent, inputType: string) {
|
142
|
+
if (inputType === INPUT_TYPE.DEFAULT) {
|
143
|
+
this.nileSwitchConfig.defaultInput.value = event.detail.value;
|
144
|
+
} else {
|
145
|
+
this.nileSwitchConfig.switchInput.value = event.detail.value;
|
146
|
+
}
|
147
|
+
event.stopPropagation();
|
148
|
+
this.emit('nile-change', { config: this.nileSwitchConfig });
|
149
|
+
}
|
150
|
+
|
151
|
+
handleChangeCheckbox(event: CustomEvent, inputType: string) {
|
152
|
+
if (inputType === INPUT_TYPE.DEFAULT) {
|
153
|
+
this.nileSwitchConfig.defaultInput.value = event.detail.checked;
|
154
|
+
} else {
|
155
|
+
this.nileSwitchConfig.switchInput.value = event.detail.checked;
|
156
|
+
}
|
157
|
+
this.emit('nile-change', { config: this.nileSwitchConfig });
|
113
158
|
}
|
114
159
|
|
115
160
|
renderIcon() {
|
@@ -148,20 +193,47 @@ export class NileSwitcher extends NileElement {
|
|
148
193
|
? choose(
|
149
194
|
defaultInputType,
|
150
195
|
[
|
151
|
-
[
|
152
|
-
|
196
|
+
[
|
197
|
+
'text',
|
198
|
+
() => this.renderNileText(defaultInput, INPUT_TYPE.DEFAULT),
|
199
|
+
],
|
200
|
+
[
|
201
|
+
'checkbox',
|
202
|
+
() => this.renderNileCheckBox(defaultInput, INPUT_TYPE.DEFAULT),
|
203
|
+
],
|
204
|
+
[
|
205
|
+
'text-area',
|
206
|
+
() => this.renderNileTextArea(defaultInput, INPUT_TYPE.DEFAULT),
|
207
|
+
],
|
208
|
+
[
|
209
|
+
'radio',
|
210
|
+
() => this.renderNileRadio(defaultInput, INPUT_TYPE.DEFAULT),
|
211
|
+
],
|
153
212
|
[
|
154
213
|
'dropdown',
|
155
|
-
() =>
|
214
|
+
() =>
|
215
|
+
this.renderDropdown(
|
216
|
+
this.nileSwitchConfig.defaultInput,
|
217
|
+
INPUT_TYPE.DEFAULT
|
218
|
+
),
|
156
219
|
],
|
157
220
|
],
|
158
|
-
() => this.renderNileText(defaultInput)
|
221
|
+
() => this.renderNileText(defaultInput, INPUT_TYPE.DEFAULT)
|
159
222
|
)
|
160
223
|
: choose(
|
161
224
|
switchInputType,
|
162
|
-
[
|
225
|
+
[
|
226
|
+
[
|
227
|
+
'text-area',
|
228
|
+
() => this.renderNileTextArea(switchInput, INPUT_TYPE.SWITCH),
|
229
|
+
],
|
230
|
+
[
|
231
|
+
'text',
|
232
|
+
() => this.renderNileText(switchInput, INPUT_TYPE.SWITCH),
|
233
|
+
],
|
234
|
+
],
|
163
235
|
|
164
|
-
() => this.renderNileTextArea(switchInput)
|
236
|
+
() => this.renderNileTextArea(switchInput, INPUT_TYPE.SWITCH)
|
165
237
|
)}
|
166
238
|
${this.renderIcon()}
|
167
239
|
`;
|
@@ -176,7 +176,9 @@ export class NileTextarea extends NileElement {
|
|
176
176
|
|
177
177
|
disconnectedCallback() {
|
178
178
|
super.disconnectedCallback();
|
179
|
-
|
179
|
+
if(this.input) {
|
180
|
+
this.resizeObserver.unobserve(this.input);
|
181
|
+
}
|
180
182
|
this.emit('nile-destroy');
|
181
183
|
}
|
182
184
|
|