@aquera/nile-elements 0.0.6-6 → 0.0.6-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.d.ts +1 -0
  2. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.js +1 -0
  3. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/index.js.map +1 -1
  4. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/index.d.ts +1 -0
  5. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/index.js +2 -0
  6. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/index.js.map +1 -0
  7. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.css.d.ts +12 -0
  8. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.css.js +77 -0
  9. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.css.js.map +1 -0
  10. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.d.ts +50 -0
  11. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.js +180 -0
  12. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.js.map +1 -0
  13. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/array.d.ts +5 -0
  14. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/array.js +5 -0
  15. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/array.js.map +1 -0
  16. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/arrayofobject.d.ts +5 -0
  17. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/arrayofobject.js +5 -0
  18. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/arrayofobject.js.map +1 -0
  19. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
  20. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.js +5 -0
  21. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  22. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/numberinput.d.ts +5 -0
  23. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/numberinput.js +5 -0
  24. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/numberinput.js.map +1 -0
  25. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/object.d.ts +5 -0
  26. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/object.js +5 -0
  27. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/object.js.map +1 -0
  28. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/stringletters.d.ts +5 -0
  29. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/stringletters.js +5 -0
  30. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/stringletters.js.map +1 -0
  31. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.css.js +5 -0
  32. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.css.js.map +1 -1
  33. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.d.ts +13 -7
  34. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js +109 -29
  35. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js.map +1 -1
  36. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-textarea/nile-textarea.js +3 -1
  37. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  38. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
  39. package/demo/filenames.txt +1 -1
  40. package/demo/index.html +1 -1
  41. package/dist/index.cjs.js +1 -1
  42. package/dist/index.esm.js +1 -1
  43. package/dist/index.iife.js +168 -60
  44. package/dist/nile-badge/index.cjs.js +1 -1
  45. package/dist/nile-badge/index.esm.js +1 -1
  46. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  47. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  48. package/dist/nile-badge/nile-badge.esm.js +1 -1
  49. package/dist/nile-button/index.cjs.js +1 -1
  50. package/dist/nile-button/index.esm.js +1 -1
  51. package/dist/nile-button/nile-button.cjs.js +1 -1
  52. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  53. package/dist/nile-button/nile-button.esm.js +1 -1
  54. package/dist/nile-content-editor/index.cjs.js +2 -0
  55. package/dist/nile-content-editor/index.cjs.js.map +1 -0
  56. package/dist/nile-content-editor/index.esm.js +1 -0
  57. package/dist/nile-content-editor/nile-content-editor.cjs.js +2 -0
  58. package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -0
  59. package/dist/nile-content-editor/nile-content-editor.css.cjs.js +2 -0
  60. package/dist/nile-content-editor/nile-content-editor.css.cjs.js.map +1 -0
  61. package/dist/nile-content-editor/nile-content-editor.css.esm.js +65 -0
  62. package/dist/nile-content-editor/nile-content-editor.esm.js +33 -0
  63. package/dist/nile-icon/icons/svg/array.cjs.js +2 -0
  64. package/dist/nile-icon/icons/svg/array.cjs.js.map +1 -0
  65. package/dist/nile-icon/icons/svg/array.esm.js +1 -0
  66. package/dist/nile-icon/icons/svg/arrayofobject.cjs.js +2 -0
  67. package/dist/nile-icon/icons/svg/arrayofobject.cjs.js.map +1 -0
  68. package/dist/nile-icon/icons/svg/arrayofobject.esm.js +1 -0
  69. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  70. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  71. package/dist/nile-icon/icons/svg/numberinput.cjs.js +2 -0
  72. package/dist/nile-icon/icons/svg/numberinput.cjs.js.map +1 -0
  73. package/dist/nile-icon/icons/svg/numberinput.esm.js +1 -0
  74. package/dist/nile-icon/icons/svg/object.cjs.js +2 -0
  75. package/dist/nile-icon/icons/svg/object.cjs.js.map +1 -0
  76. package/dist/nile-icon/icons/svg/object.esm.js +1 -0
  77. package/dist/nile-icon/icons/svg/stringletters.cjs.js +2 -0
  78. package/dist/nile-icon/icons/svg/stringletters.cjs.js.map +1 -0
  79. package/dist/nile-icon/icons/svg/stringletters.esm.js +1 -0
  80. package/dist/nile-icon/index.cjs.js +1 -1
  81. package/dist/nile-icon/index.cjs.js.map +1 -1
  82. package/dist/nile-icon/index.esm.js +2 -2
  83. package/dist/nile-icon-button/index.cjs.js +1 -1
  84. package/dist/nile-icon-button/index.esm.js +1 -1
  85. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  86. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  87. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  88. package/dist/nile-input/index.cjs.js +1 -1
  89. package/dist/nile-input/index.esm.js +1 -1
  90. package/dist/nile-input/nile-input.cjs.js +1 -1
  91. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  92. package/dist/nile-input/nile-input.esm.js +1 -1
  93. package/dist/nile-menu-item/index.cjs.js +1 -1
  94. package/dist/nile-menu-item/index.esm.js +1 -1
  95. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  96. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  97. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  98. package/dist/nile-option/index.cjs.js +1 -1
  99. package/dist/nile-option/index.esm.js +1 -1
  100. package/dist/nile-option/nile-option.cjs.js +1 -1
  101. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  102. package/dist/nile-option/nile-option.esm.js +1 -1
  103. package/dist/nile-select/index.cjs.js +1 -1
  104. package/dist/nile-select/index.esm.js +1 -1
  105. package/dist/nile-select/nile-select.cjs.js +1 -1
  106. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  107. package/dist/nile-select/nile-select.esm.js +1 -1
  108. package/dist/nile-switcher/nile-switcher.cjs.js +1 -1
  109. package/dist/nile-switcher/nile-switcher.cjs.js.map +1 -1
  110. package/dist/nile-switcher/nile-switcher.css.cjs.js +1 -1
  111. package/dist/nile-switcher/nile-switcher.css.cjs.js.map +1 -1
  112. package/dist/nile-switcher/nile-switcher.css.esm.js +5 -0
  113. package/dist/nile-switcher/nile-switcher.esm.js +26 -19
  114. package/dist/nile-tag/index.cjs.js +1 -1
  115. package/dist/nile-tag/index.esm.js +1 -1
  116. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  117. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  118. package/dist/nile-tag/nile-tag.esm.js +1 -1
  119. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  120. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  121. package/dist/nile-textarea/nile-textarea.esm.js +1 -1
  122. package/dist/src/index.d.ts +1 -0
  123. package/dist/src/index.js +1 -0
  124. package/dist/src/index.js.map +1 -1
  125. package/dist/src/nile-content-editor/index.d.ts +1 -0
  126. package/dist/src/nile-content-editor/index.js +2 -0
  127. package/dist/src/nile-content-editor/index.js.map +1 -0
  128. package/dist/src/nile-content-editor/nile-content-editor.css.d.ts +12 -0
  129. package/dist/src/nile-content-editor/nile-content-editor.css.js +77 -0
  130. package/dist/src/nile-content-editor/nile-content-editor.css.js.map +1 -0
  131. package/dist/src/nile-content-editor/nile-content-editor.d.ts +50 -0
  132. package/dist/src/nile-content-editor/nile-content-editor.js +180 -0
  133. package/dist/src/nile-content-editor/nile-content-editor.js.map +1 -0
  134. package/dist/src/nile-icon/icons/svg/array.d.ts +5 -0
  135. package/dist/src/nile-icon/icons/svg/array.js +5 -0
  136. package/dist/src/nile-icon/icons/svg/array.js.map +1 -0
  137. package/dist/src/nile-icon/icons/svg/arrayofobject.d.ts +5 -0
  138. package/dist/src/nile-icon/icons/svg/arrayofobject.js +5 -0
  139. package/dist/src/nile-icon/icons/svg/arrayofobject.js.map +1 -0
  140. package/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
  141. package/dist/src/nile-icon/icons/svg/index.js +5 -0
  142. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  143. package/dist/src/nile-icon/icons/svg/numberinput.d.ts +5 -0
  144. package/dist/src/nile-icon/icons/svg/numberinput.js +5 -0
  145. package/dist/src/nile-icon/icons/svg/numberinput.js.map +1 -0
  146. package/dist/src/nile-icon/icons/svg/object.d.ts +5 -0
  147. package/dist/src/nile-icon/icons/svg/object.js +5 -0
  148. package/dist/src/nile-icon/icons/svg/object.js.map +1 -0
  149. package/dist/src/nile-icon/icons/svg/stringletters.d.ts +5 -0
  150. package/dist/src/nile-icon/icons/svg/stringletters.js +5 -0
  151. package/dist/src/nile-icon/icons/svg/stringletters.js.map +1 -0
  152. package/dist/src/nile-switcher/nile-switcher.css.js +5 -0
  153. package/dist/src/nile-switcher/nile-switcher.css.js.map +1 -1
  154. package/dist/src/nile-switcher/nile-switcher.d.ts +13 -7
  155. package/dist/src/nile-switcher/nile-switcher.js +109 -29
  156. package/dist/src/nile-switcher/nile-switcher.js.map +1 -1
  157. package/dist/src/nile-textarea/nile-textarea.js +3 -1
  158. package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  159. package/dist/tsconfig.tsbuildinfo +1 -1
  160. package/package.json +1 -1
  161. package/src/index.ts +1 -0
  162. package/src/nile-content-editor/index.ts +1 -0
  163. package/src/nile-content-editor/nile-content-editor.css.ts +79 -0
  164. package/src/nile-content-editor/nile-content-editor.ts +186 -0
  165. package/src/nile-icon/icons/svg/array.ts +5 -0
  166. package/src/nile-icon/icons/svg/arrayofobject.ts +5 -0
  167. package/src/nile-icon/icons/svg/index.ts +5 -0
  168. package/src/nile-icon/icons/svg/numberinput.ts +5 -0
  169. package/src/nile-icon/icons/svg/object.ts +5 -0
  170. package/src/nile-icon/icons/svg/stringletters.ts +5 -0
  171. package/src/nile-switcher/nile-switcher.css.ts +5 -0
  172. package/src/nile-switcher/nile-switcher.ts +115 -32
  173. package/src/nile-textarea/nile-textarea.ts +3 -1
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "0.0.6-6",
6
+ "version": "0.0.6-7",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
package/src/index.ts CHANGED
@@ -31,3 +31,4 @@ export { NileFormHelpText } from './nile-form-help-text';
31
31
  export { NileCalendar } from './nile-calendar';
32
32
  export { NileLink } from './nile-link';
33
33
  export { NileSwitcher } from './nile-switcher';
34
+ export { NileContentEditor } from './nile-content-editor';
@@ -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==";
@@ -32,6 +32,11 @@ export const styles = css`
32
32
  align-items: flex-start;
33
33
  padding-top: 10px;
34
34
  }
35
+
36
+ nile-radio {
37
+ display: inline-block;
38
+ padding-right: 10px;
39
+ }
35
40
  `;
36
41
 
37
42
  export default [styles];
@@ -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,18 @@ 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 = {
60
+ toggleSwitch: false,
61
+ defaultInput: {
62
+ inputType: 'radio',
63
+ value: 'True',
64
+ options: ['True', 'False'],
65
+ },
66
+ switchInput: {
67
+ inputType: 'text-area',
68
+ value: 'test',
69
+ },
70
+ };
54
71
 
55
72
  connectedCallback() {
56
73
  super.connectedCallback();
@@ -62,54 +79,93 @@ export class NileSwitcher extends NileElement {
62
79
  this.emit('nile-destroy');
63
80
  }
64
81
 
65
- renderNileText(defaultInput: switchInputType) {
66
- const { value, label, placeholder } = defaultInput;
82
+ renderNileText(Input: switchInputType, inputType: string) {
83
+ const { value, label, placeholder, disabled } = Input;
67
84
  return html`<nile-input
68
85
  .value=${value}
69
86
  .label=${label}
87
+ .disabled=${disabled}
70
88
  .placeholder=${placeholder}
71
- @nile-input=${this.handleChange}
89
+ @nile-input=${(e: CustomEvent) => {
90
+ this.handleChange(e, inputType);
91
+ }}
72
92
  ></nile-input>`;
73
93
  }
74
94
 
75
- renderNileTextArea(switchInput: switchInputType) {
76
- const { value } = switchInput;
95
+ renderDropdown(Input: switchInputType, inputType: string) {
96
+ const { options, multiple, placeholder } = Input;
97
+ return html`<nile-select
98
+ .placeholder=${placeholder}
99
+ .multiple="${multiple}"
100
+ @nile-change=${(e: CustomEvent) => {
101
+ this.handleChange(e, inputType);
102
+ }}
103
+ ${
104
+ options &&
105
+ options.map((option: any) => {
106
+ return html`<nile-option .value="${option}">${option} </nile-option>`;
107
+ })
108
+ }
109
+ </nile-select>`;
110
+ }
111
+
112
+ renderNileTextArea(Input: switchInputType, inputType: string) {
113
+ const { value, disabled } = Input;
77
114
  return html`<nile-textarea
78
115
  .value=${value}
79
- @nile-input=${this.handleChange}
116
+ .disabled=${disabled}
117
+ @nile-input=${(e: CustomEvent) => {
118
+ this.handleChange(e, inputType);
119
+ }}
80
120
  ></nile-textarea>`;
81
121
  }
82
122
 
83
- renderNileCheckBox(defaultInput: switchInputType) {
84
- const { value, label } = defaultInput;
123
+ renderNileCheckBox(Input: switchInputType, inputType: string) {
124
+ const { value, label, disabled } = Input;
85
125
 
86
126
  return html`<nile-checkbox
87
127
  .checked=${value}
88
128
  .label=${label}
89
- @valueChange="${this.handleChangeCheckbox}"
129
+ .disabled=${disabled}
130
+ @valueChange=${(e: CustomEvent) => {
131
+ this.handleChangeCheckbox(e, inputType);
132
+ }}
90
133
  ></nile-checkbox>`;
91
134
  }
92
135
 
93
- handleChange(event: CustomEvent) {
94
- this.emit('nile-change', { value: event.detail.value });
95
- }
136
+ renderNileRadio(Input: switchInputType, inputType: string) {
137
+ const { options, value } = Input;
96
138
 
97
- handleChangeCheckbox(event: CustomEvent) {
98
- this.emit('nile-change', { value: event.detail.checked });
99
- }
100
-
101
- renderDropdown(defaultInput: switchInputType) {
102
- const { options, multiple, placeholder } = defaultInput;
103
- return html`<nile-select
104
- .placeholder=${placeholder}
105
- .multiple="${multiple}"
106
- @nile-change="${this.handleChange}"
139
+ return html`<nile-radio-group
140
+ .value=${value}
141
+ @change=${(e: CustomEvent) => {
142
+ this.handleChange(e, inputType);
143
+ }}
107
144
  >
108
145
  ${options &&
109
146
  options.map((option: any) => {
110
- return html`<nile-option .value="${option}">${option} </nile-option>`;
147
+ return html`<nile-radio .value="${option}">${option} </nile-radio>`;
111
148
  })}
112
- </nile-select>`;
149
+ </nile-radio-group>`;
150
+ }
151
+
152
+ handleChange(event: CustomEvent, inputType: string) {
153
+ if (inputType === INPUT_TYPE.DEFAULT) {
154
+ this.nileSwitchConfig.defaultInput.value = event.detail.value;
155
+ } else {
156
+ this.nileSwitchConfig.switchInput.value = event.detail.value;
157
+ }
158
+ console.log(this.nileSwitchConfig);
159
+ this.emit('nile-change', { config: this.nileSwitchConfig });
160
+ }
161
+
162
+ handleChangeCheckbox(event: CustomEvent, inputType: string) {
163
+ if (inputType === INPUT_TYPE.DEFAULT) {
164
+ this.nileSwitchConfig.defaultInput.value = event.detail.checked;
165
+ } else {
166
+ this.nileSwitchConfig.switchInput.value = event.detail.checked;
167
+ }
168
+ this.emit('nile-change', { config: this.nileSwitchConfig });
113
169
  }
114
170
 
115
171
  renderIcon() {
@@ -148,20 +204,47 @@ export class NileSwitcher extends NileElement {
148
204
  ? choose(
149
205
  defaultInputType,
150
206
  [
151
- ['text', () => this.renderNileText(defaultInput)],
152
- ['checkbox', () => this.renderNileCheckBox(defaultInput)],
207
+ [
208
+ 'text',
209
+ () => this.renderNileText(defaultInput, INPUT_TYPE.DEFAULT),
210
+ ],
211
+ [
212
+ 'checkbox',
213
+ () => this.renderNileCheckBox(defaultInput, INPUT_TYPE.DEFAULT),
214
+ ],
215
+ [
216
+ 'text-area',
217
+ () => this.renderNileTextArea(defaultInput, INPUT_TYPE.DEFAULT),
218
+ ],
219
+ [
220
+ 'radio',
221
+ () => this.renderNileRadio(defaultInput, INPUT_TYPE.DEFAULT),
222
+ ],
153
223
  [
154
224
  'dropdown',
155
- () => this.renderDropdown(this.nileSwitchConfig.defaultInput),
225
+ () =>
226
+ this.renderDropdown(
227
+ this.nileSwitchConfig.defaultInput,
228
+ INPUT_TYPE.DEFAULT
229
+ ),
156
230
  ],
157
231
  ],
158
- () => this.renderNileText(defaultInput)
232
+ () => this.renderNileText(defaultInput, INPUT_TYPE.DEFAULT)
159
233
  )
160
234
  : choose(
161
235
  switchInputType,
162
- [['text-area', () => this.renderNileTextArea(switchInput)]],
236
+ [
237
+ [
238
+ 'text-area',
239
+ () => this.renderNileTextArea(switchInput, INPUT_TYPE.SWITCH),
240
+ ],
241
+ [
242
+ 'text',
243
+ () => this.renderNileText(switchInput, INPUT_TYPE.SWITCH),
244
+ ],
245
+ ],
163
246
 
164
- () => this.renderNileTextArea(switchInput)
247
+ () => this.renderNileTextArea(switchInput, INPUT_TYPE.SWITCH)
165
248
  )}
166
249
  ${this.renderIcon()}
167
250
  `;
@@ -176,7 +176,9 @@ export class NileTextarea extends NileElement {
176
176
 
177
177
  disconnectedCallback() {
178
178
  super.disconnectedCallback();
179
- this.resizeObserver.unobserve(this.input);
179
+ if(this.input) {
180
+ this.resizeObserver.unobserve(this.input);
181
+ }
180
182
  this.emit('nile-destroy');
181
183
  }
182
184