@aquera/nile-elements 0.0.35 → 0.0.36-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.
Files changed (150) hide show
  1. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/nile-code-editor.css.js +13 -7
  2. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  3. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/nile-code-editor.d.ts +10 -4
  4. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/nile-code-editor.js +105 -39
  5. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  6. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/theme.d.ts +9 -0
  7. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/theme.js +10 -0
  8. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-code-editor/theme.js.map +1 -0
  9. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/edit-write.d.ts +5 -0
  10. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/edit-write.js +5 -0
  11. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/edit-write.js.map +1 -0
  12. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/expand-2.d.ts +5 -0
  13. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/expand-2.js +5 -0
  14. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/expand-2.js.map +1 -0
  15. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
  16. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.js +2 -0
  17. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  18. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.css.js +13 -10
  19. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.css.js.map +1 -1
  20. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.d.ts +1 -0
  21. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js +11 -7
  22. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js.map +1 -1
  23. package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
  24. package/demo/filenames.txt +1 -1
  25. package/dist/index.cjs.js +1 -1
  26. package/dist/index.esm.js +1 -1
  27. package/dist/index.iife.js +111 -92
  28. package/dist/nile-badge/index.cjs.js +1 -1
  29. package/dist/nile-badge/index.esm.js +1 -1
  30. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  32. package/dist/nile-badge/nile-badge.esm.js +1 -1
  33. package/dist/nile-button/index.cjs.js +1 -1
  34. package/dist/nile-button/index.esm.js +1 -1
  35. package/dist/nile-button/nile-button.cjs.js +1 -1
  36. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  37. package/dist/nile-button/nile-button.esm.js +1 -1
  38. package/dist/nile-code-editor/extensionSetup.cjs.js +2 -2
  39. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  40. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  41. package/dist/nile-code-editor/index.cjs.js +1 -1
  42. package/dist/nile-code-editor/index.esm.js +1 -1
  43. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  44. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  45. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  46. package/dist/nile-code-editor/nile-code-editor.css.cjs.js.map +1 -1
  47. package/dist/nile-code-editor/nile-code-editor.css.esm.js +15 -9
  48. package/dist/nile-code-editor/nile-code-editor.esm.js +17 -9
  49. package/dist/nile-code-editor/theme.cjs.js +2 -0
  50. package/dist/nile-code-editor/theme.cjs.js.map +1 -0
  51. package/dist/nile-code-editor/theme.esm.js +1 -0
  52. package/dist/nile-dialog/index.cjs.js +1 -1
  53. package/dist/nile-dialog/index.esm.js +1 -1
  54. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  55. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  56. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  57. package/dist/nile-icon/icons/svg/edit-write.cjs.js +2 -0
  58. package/dist/nile-icon/icons/svg/edit-write.cjs.js.map +1 -0
  59. package/dist/nile-icon/icons/svg/edit-write.esm.js +1 -0
  60. package/dist/nile-icon/icons/svg/expand-2.cjs.js +2 -0
  61. package/dist/nile-icon/icons/svg/expand-2.cjs.js.map +1 -0
  62. package/dist/nile-icon/icons/svg/expand-2.esm.js +1 -0
  63. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  64. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  65. package/dist/nile-icon/index.cjs.js +1 -1
  66. package/dist/nile-icon/index.cjs.js.map +1 -1
  67. package/dist/nile-icon/index.esm.js +1 -1
  68. package/dist/nile-icon-button/index.cjs.js +1 -1
  69. package/dist/nile-icon-button/index.esm.js +1 -1
  70. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  71. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  72. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  73. package/dist/nile-input/index.cjs.js +1 -1
  74. package/dist/nile-input/index.esm.js +1 -1
  75. package/dist/nile-input/nile-input.cjs.js +1 -1
  76. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  77. package/dist/nile-input/nile-input.esm.js +1 -1
  78. package/dist/nile-menu-item/index.cjs.js +1 -1
  79. package/dist/nile-menu-item/index.esm.js +1 -1
  80. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  81. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  82. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  83. package/dist/nile-option/index.cjs.js +1 -1
  84. package/dist/nile-option/index.esm.js +1 -1
  85. package/dist/nile-option/nile-option.cjs.js +1 -1
  86. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  87. package/dist/nile-option/nile-option.esm.js +1 -1
  88. package/dist/nile-select/index.cjs.js +1 -1
  89. package/dist/nile-select/index.esm.js +1 -1
  90. package/dist/nile-select/nile-select.cjs.js +1 -1
  91. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  92. package/dist/nile-select/nile-select.esm.js +1 -1
  93. package/dist/nile-switcher/nile-switcher.cjs.js +1 -1
  94. package/dist/nile-switcher/nile-switcher.cjs.js.map +1 -1
  95. package/dist/nile-switcher/nile-switcher.css.cjs.js +1 -1
  96. package/dist/nile-switcher/nile-switcher.css.cjs.js.map +1 -1
  97. package/dist/nile-switcher/nile-switcher.css.esm.js +13 -10
  98. package/dist/nile-switcher/nile-switcher.esm.js +29 -27
  99. package/dist/nile-tab/index.cjs.js +1 -1
  100. package/dist/nile-tab/index.esm.js +1 -1
  101. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  102. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  103. package/dist/nile-tab/nile-tab.esm.js +1 -1
  104. package/dist/nile-tab-group/index.cjs.js +1 -1
  105. package/dist/nile-tab-group/index.esm.js +1 -1
  106. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  107. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  108. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  109. package/dist/nile-tag/index.cjs.js +1 -1
  110. package/dist/nile-tag/index.esm.js +1 -1
  111. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  112. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  113. package/dist/nile-tag/nile-tag.esm.js +1 -1
  114. package/dist/nile-toast/index.cjs.js +1 -1
  115. package/dist/nile-toast/index.esm.js +1 -1
  116. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  117. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  118. package/dist/nile-toast/nile-toast.esm.js +1 -1
  119. package/dist/src/nile-code-editor/nile-code-editor.css.js +13 -7
  120. package/dist/src/nile-code-editor/nile-code-editor.css.js.map +1 -1
  121. package/dist/src/nile-code-editor/nile-code-editor.d.ts +10 -4
  122. package/dist/src/nile-code-editor/nile-code-editor.js +105 -39
  123. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  124. package/dist/src/nile-code-editor/theme.d.ts +9 -0
  125. package/dist/src/nile-code-editor/theme.js +10 -0
  126. package/dist/src/nile-code-editor/theme.js.map +1 -0
  127. package/dist/src/nile-icon/icons/svg/edit-write.d.ts +5 -0
  128. package/dist/src/nile-icon/icons/svg/edit-write.js +5 -0
  129. package/dist/src/nile-icon/icons/svg/edit-write.js.map +1 -0
  130. package/dist/src/nile-icon/icons/svg/expand-2.d.ts +5 -0
  131. package/dist/src/nile-icon/icons/svg/expand-2.js +5 -0
  132. package/dist/src/nile-icon/icons/svg/expand-2.js.map +1 -0
  133. package/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
  134. package/dist/src/nile-icon/icons/svg/index.js +2 -0
  135. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  136. package/dist/src/nile-switcher/nile-switcher.css.js +13 -10
  137. package/dist/src/nile-switcher/nile-switcher.css.js.map +1 -1
  138. package/dist/src/nile-switcher/nile-switcher.d.ts +1 -0
  139. package/dist/src/nile-switcher/nile-switcher.js +11 -7
  140. package/dist/src/nile-switcher/nile-switcher.js.map +1 -1
  141. package/dist/tsconfig.tsbuildinfo +1 -1
  142. package/package.json +1 -1
  143. package/src/nile-code-editor/nile-code-editor.css.ts +13 -7
  144. package/src/nile-code-editor/nile-code-editor.ts +100 -42
  145. package/src/nile-code-editor/theme.ts +9 -0
  146. package/src/nile-icon/icons/svg/edit-write.ts +5 -0
  147. package/src/nile-icon/icons/svg/expand-2.ts +5 -0
  148. package/src/nile-icon/icons/svg/index.ts +2 -0
  149. package/src/nile-switcher/nile-switcher.css.ts +13 -10
  150. package/src/nile-switcher/nile-switcher.ts +12 -7
@@ -17,13 +17,18 @@ export const styles = css `
17
17
  display: flex;
18
18
  justify-content: flex-end;
19
19
  flex-direction: row-reverse;
20
- gap: 0.6rem;
20
+ padding: 5px;
21
+ border-radius: 5px;
22
+ border: 1px solid rgb(204, 204, 204);
23
+ }
24
+
25
+ .error {
26
+ border-color: #e5434d;
21
27
  }
22
28
 
23
29
  .cm-editor {
24
- overflow: hidden;
25
- width: 100%;
26
- height: 100%;
30
+ flex: 1;
31
+ min-width: 0;
27
32
  }
28
33
 
29
34
  .ͼ1.cm-focused {
@@ -31,10 +36,11 @@ export const styles = css `
31
36
  }
32
37
 
33
38
  .code-editor__icon__container {
34
- cursor: pointer;
39
+ display: none;
35
40
  }
36
-
37
- .code-editor__icon__container {
41
+ .code-mirror:hover > .code-editor__icon__container {
42
+ cursor: pointer;
43
+ display: flex;
38
44
  padding-right: 5px;
39
45
  }
40
46
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-code-editor.css.js","sourceRoot":"","sources":["../../../src/nile-code-editor/nile-code-editor.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * CodeEditor CSS\n */\nexport const styles = css`\n :host {\n display: block;\n }\n\n .code-mirror {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n gap: 0.6rem;\n }\n\n .cm-editor {\n overflow: hidden;\n width: 100%;\n height: 100%;\n }\n\n .ͼ1.cm-focused {\n outline: none;\n }\n\n .code-editor__icon__container {\n cursor: pointer;\n }\n\n .code-editor__icon__container {\n padding-right: 5px;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-code-editor.css.js","sourceRoot":"","sources":["../../../src/nile-code-editor/nile-code-editor.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit-element';\n\n/**\n * CodeEditor CSS\n */\nexport const styles = css`\n :host {\n display: block;\n }\n\n .code-mirror {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n padding: 5px;\n border-radius: 5px;\n border: 1px solid rgb(204, 204, 204);\n }\n\n .error {\n border-color: #e5434d;\n }\n\n .cm-editor {\n flex: 1;\n min-width: 0;\n }\n\n .ͼ1.cm-focused {\n outline: none;\n }\n\n .code-editor__icon__container {\n display: none;\n }\n .code-mirror:hover > .code-editor__icon__container {\n cursor: pointer;\n display: flex;\n padding-right: 5px;\n }\n`;\n\nexport default [styles];\n"]}
@@ -8,6 +8,7 @@ import { CSSResultArray, TemplateResult } from 'lit-element';
8
8
  import { EditorView } from 'codemirror';
9
9
  import { Compartment } from '@codemirror/state';
10
10
  import NileElement from '../internal/nile-element';
11
+ import { PropertyValues } from 'lit';
11
12
  /**
12
13
  * Nile icon component.
13
14
  *
@@ -16,20 +17,25 @@ import NileElement from '../internal/nile-element';
16
17
  */
17
18
  export declare class NileCodeEditor extends NileElement {
18
19
  codeEditor: HTMLInputElement;
19
- multiline: true;
20
- value: true;
20
+ multiline: boolean;
21
+ value: string;
21
22
  customOptions: any;
22
- showLineNumbers: any;
23
+ updateValue: any;
24
+ errorMessage: string;
25
+ error: boolean;
23
26
  /**
24
27
  * The styles for CodeEditor
25
28
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
26
29
  */
27
30
  static get styles(): CSSResultArray;
28
31
  connectedCallback(): void;
32
+ disconnectedCallback(): void;
29
33
  view: EditorView;
30
34
  convertToSingleLine(code: any): any;
31
35
  lineNumbersComp: Compartment;
32
- updated(): void;
36
+ handleValueChange(): void;
37
+ updated(changedProperties: PropertyValues): void;
38
+ setTheme(): import("@codemirror/state").Extension;
33
39
  emitValues(value: string): void;
34
40
  expandCodeEditor(): void;
35
41
  restrictSingleLine(): import("@codemirror/state").Extension;
@@ -14,6 +14,9 @@ import { javascript, javascriptLanguage, scopeCompletionSource, } from '@codemir
14
14
  import { autocompletion } from '@codemirror/autocomplete';
15
15
  import NileElement from '../internal/nile-element';
16
16
  import { basicSetup } from './extensionSetup';
17
+ import { watch } from '../internal/watch';
18
+ import { classMap } from 'lit/directives/class-map.js';
19
+ import { Theme } from './theme';
17
20
  // Choose the appropriate mode for your use case
18
21
  /**
19
22
  * Nile icon component.
@@ -24,6 +27,12 @@ import { basicSetup } from './extensionSetup';
24
27
  let NileCodeEditor = class NileCodeEditor extends NileElement {
25
28
  constructor() {
26
29
  super(...arguments);
30
+ this.multiline = false;
31
+ this.value = '';
32
+ this.customOptions = {};
33
+ this.updateValue = false;
34
+ this.errorMessage = '';
35
+ this.error = false;
27
36
  this.lineNumbersComp = new Compartment();
28
37
  /* #endregion */
29
38
  }
@@ -36,37 +45,69 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
36
45
  }
37
46
  connectedCallback() {
38
47
  super.connectedCallback();
48
+ this.emit('nile-init');
49
+ }
50
+ disconnectedCallback() {
51
+ super.disconnectedCallback();
52
+ this.emit('nile-destroy');
39
53
  }
40
54
  convertToSingleLine(code) {
41
55
  // Remove line breaks and unnecessary whitespace
42
56
  return code.replace(/\s+/g, ' ').trim();
43
57
  }
44
- updated() {
45
- const customAutoCompletions = javascriptLanguage.data.of({
46
- autocomplete: scopeCompletionSource(this.customOptions),
47
- });
48
- let startState = EditorState.create({
49
- doc: !this.multiline ? this.convertToSingleLine(this.value) : this.value,
50
- extensions: [
51
- basicSetup({
52
- lineNumbers: !!this.showLineNumbers,
53
- foldGutter: !this.multiline ? false : true,
54
- }),
55
- customAutoCompletions,
56
- autocompletion(),
57
- javascript(),
58
- !this.multiline ? this.restrictSingleLine() : [],
59
- EditorView.updateListener.of((v) => {
60
- if (v.docChanged) {
61
- this.emitValues(this.view.state.doc.toString());
62
- }
63
- }),
64
- ],
65
- });
66
- this.view = new EditorView({
67
- state: startState,
68
- parent: this.codeEditor,
69
- });
58
+ handleValueChange() { }
59
+ updated(changedProperties) {
60
+ super.updated(changedProperties);
61
+ if (changedProperties.has('value')) {
62
+ const customAutoCompletions = javascriptLanguage.data.of({
63
+ autocomplete: scopeCompletionSource(this.customOptions),
64
+ });
65
+ if (!this.view) {
66
+ let startState = EditorState.create({
67
+ doc: !this.multiline
68
+ ? this.convertToSingleLine(this.value)
69
+ : this.value,
70
+ extensions: [
71
+ basicSetup({
72
+ lineNumbers: !!this.multiline,
73
+ highlightActiveLine: false,
74
+ foldGutter: !!this.multiline,
75
+ }),
76
+ customAutoCompletions,
77
+ autocompletion(),
78
+ javascript(),
79
+ this.setTheme(),
80
+ !this.multiline ? this.restrictSingleLine() : [],
81
+ EditorView.updateListener.of((v) => {
82
+ if (v.docChanged) {
83
+ this.emitValues(this.view.state.doc.toString());
84
+ }
85
+ }),
86
+ ],
87
+ });
88
+ this.view = new EditorView({
89
+ state: startState,
90
+ parent: this.codeEditor,
91
+ });
92
+ }
93
+ else {
94
+ if (this.updateValue) {
95
+ // Editor has already been initialized, update its state
96
+ this.view.dispatch({
97
+ changes: {
98
+ from: 0,
99
+ to: this.view.state.doc.length,
100
+ insert: !this.multiline
101
+ ? this.convertToSingleLine(this.value)
102
+ : this.value,
103
+ },
104
+ });
105
+ }
106
+ }
107
+ }
108
+ }
109
+ setTheme() {
110
+ return EditorView.theme(Theme);
70
111
  }
71
112
  emitValues(value) {
72
113
  this.emit('nile-change', { value: value });
@@ -78,24 +119,40 @@ let NileCodeEditor = class NileCodeEditor extends NileElement {
78
119
  return EditorState.transactionFilter.of(tr => tr.newDoc.lines > 1 ? [] : tr);
79
120
  }
80
121
  render() {
81
- return html `<div class="code-mirror">
82
- ${!this.multiline
83
- ? html `<nile-icon
84
- name="fullscreenshrink"
85
- class="code-editor__icon__container"
86
- size="16"
87
- color="black"
88
- @click="${(e) => this.expandCodeEditor()}"
89
- ></nile-icon>`
122
+ const hasErrorMessage = !!this.errorMessage;
123
+ const hasError = !!this.error;
124
+ return html `<div
125
+ part="code-editor-base"
126
+ class=${classMap({
127
+ 'code-mirror': true,
128
+ error: hasError || hasErrorMessage,
129
+ 'code-mirror__singleline': !this.multiline,
130
+ })}
131
+ >
132
+ ${!this.multiline
133
+ ? html ` <nile-icon
134
+ name="expand"
135
+ class="code-editor__icon__container"
136
+ size="16"
137
+ color="black"
138
+ @click="${(e) => this.expandCodeEditor()}"
139
+ ></nile-icon>`
90
140
  : ''}
91
- </div>`;
141
+ </div>
142
+ ${hasErrorMessage
143
+ ? html `
144
+ <nile-form-error-message
145
+ >${this.errorMessage}</nile-form-error-message
146
+ >
147
+ `
148
+ : ``}`;
92
149
  }
93
150
  };
94
151
  __decorate([
95
152
  query('.code-mirror')
96
153
  ], NileCodeEditor.prototype, "codeEditor", void 0);
97
154
  __decorate([
98
- property({ type: Boolean })
155
+ property({ type: Boolean, reflect: true })
99
156
  ], NileCodeEditor.prototype, "multiline", void 0);
100
157
  __decorate([
101
158
  property({ type: String })
@@ -104,8 +161,17 @@ __decorate([
104
161
  property({ type: String })
105
162
  ], NileCodeEditor.prototype, "customOptions", void 0);
106
163
  __decorate([
107
- property({ type: String })
108
- ], NileCodeEditor.prototype, "showLineNumbers", void 0);
164
+ property({ type: Boolean })
165
+ ], NileCodeEditor.prototype, "updateValue", void 0);
166
+ __decorate([
167
+ property({ attribute: 'error-message' })
168
+ ], NileCodeEditor.prototype, "errorMessage", void 0);
169
+ __decorate([
170
+ property({ attribute: 'error' })
171
+ ], NileCodeEditor.prototype, "error", void 0);
172
+ __decorate([
173
+ watch(['value'], { waitUntilFirstUpdate: true })
174
+ ], NileCodeEditor.prototype, "handleValueChange", null);
109
175
  NileCodeEditor = __decorate([
110
176
  customElement('nile-code-editor')
111
177
  ], NileCodeEditor);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-code-editor.js","sourceRoot":"","sources":["../../../src/nile-code-editor/nile-code-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement, query } from 'lit/decorators.js';\nimport { styles } from './nile-code-editor.css';\nimport { EditorView } from 'codemirror';\nimport { ViewUpdate } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport {\n javascript,\n javascriptLanguage,\n scopeCompletionSource,\n completionPath,\n} from '@codemirror/lang-javascript';\nimport { autocompletion } from '@codemirror/autocomplete';\nimport { CompletionContext, Completion } from '@codemirror/autocomplete';\nimport NileElement from '../internal/nile-element';\nimport { basicSetup } from './extensionSetup';\n\n// Choose the appropriate mode for your use case\n\n/**\n * Nile icon component.\n *\n * @tag nile-code-editor\n *\n */\n@customElement('nile-code-editor')\nexport class NileCodeEditor extends NileElement {\n @query('.code-mirror') codeEditor: HTMLInputElement;\n @property({ type: Boolean }) multiline: true;\n @property({ type: String }) value: true;\n @property({ type: String }) customOptions: any;\n @property({ type: String }) showLineNumbers: any;\n\n /**\n * The styles for CodeEditor\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n }\n\n view: EditorView;\n\n convertToSingleLine(code: any) {\n // Remove line breaks and unnecessary whitespace\n return code.replace(/\\s+/g, ' ').trim();\n }\n lineNumbersComp = new Compartment();\n\n updated() {\n const customAutoCompletions = javascriptLanguage.data.of({\n autocomplete: scopeCompletionSource(this.customOptions),\n });\n let startState = EditorState.create({\n doc: !this.multiline ? this.convertToSingleLine(this.value) : this.value,\n extensions: [\n basicSetup({\n lineNumbers: !!this.showLineNumbers,\n foldGutter: !this.multiline ? false : true,\n }),\n customAutoCompletions,\n autocompletion(),\n javascript(),\n !this.multiline ? this.restrictSingleLine() : [],\n EditorView.updateListener.of((v: ViewUpdate) => {\n if (v.docChanged) {\n this.emitValues(this.view.state.doc.toString());\n }\n }),\n ],\n });\n\n this.view = new EditorView({\n state: startState,\n parent: this.codeEditor,\n });\n }\n\n emitValues(value: string) {\n this.emit('nile-change', { value: value });\n }\n\n expandCodeEditor() {\n this.emit('nile-expand', { expand: true });\n }\n\n restrictSingleLine() {\n return EditorState.transactionFilter.of(tr =>\n tr.newDoc.lines > 1 ? [] : tr\n );\n }\n public render(): TemplateResult {\n return html`<div class=\"code-mirror\">\n ${!this.multiline\n ? html`<nile-icon\n name=\"fullscreenshrink\"\n class=\"code-editor__icon__container\"\n size=\"16\"\n color=\"black\"\n @click=\"${(e: CustomEvent) => this.expandCodeEditor()}\"\n ></nile-icon>`\n : ''}\n </div>`;\n }\n\n /* #endregion */\n}\n\nexport default NileCodeEditor;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-code-editor': NileCodeEditor;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-code-editor.js","sourceRoot":"","sources":["../../../src/nile-code-editor/nile-code-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n PropertyValueMap,\n} from 'lit-element';\nimport { customElement, query } from 'lit/decorators.js';\nimport { styles } from './nile-code-editor.css';\nimport { EditorView } from 'codemirror';\nimport { ViewUpdate } from '@codemirror/view';\nimport { EditorState, Compartment } from '@codemirror/state';\nimport {\n javascript,\n javascriptLanguage,\n scopeCompletionSource,\n completionPath,\n} from '@codemirror/lang-javascript';\nimport { autocompletion } from '@codemirror/autocomplete';\nimport { CompletionContext, Completion } from '@codemirror/autocomplete';\nimport NileElement from '../internal/nile-element';\nimport { basicSetup } from './extensionSetup';\nimport { watch } from '../internal/watch';\nimport { PropertyValues } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { Theme } from './theme';\n\n// Choose the appropriate mode for your use case\n\n/**\n * Nile icon component.\n *\n * @tag nile-code-editor\n *\n */\n@customElement('nile-code-editor')\nexport class NileCodeEditor extends NileElement {\n @query('.code-mirror') codeEditor: HTMLInputElement;\n @property({ type: Boolean, reflect: true }) multiline = false;\n @property({ type: String }) value = '';\n @property({ type: String }) customOptions: any = {};\n @property({ type: Boolean }) updateValue: any = false;\n @property({ attribute: 'error-message' }) errorMessage = '';\n @property({ attribute: 'error' }) error = false;\n\n /**\n * The styles for CodeEditor\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n view: EditorView;\n\n convertToSingleLine(code: any) {\n // Remove line breaks and unnecessary whitespace\n return code.replace(/\\s+/g, ' ').trim();\n }\n lineNumbersComp = new Compartment();\n\n @watch(['value'], { waitUntilFirstUpdate: true })\n handleValueChange() {}\n\n updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('value')) {\n const customAutoCompletions = javascriptLanguage.data.of({\n autocomplete: scopeCompletionSource(this.customOptions),\n });\n if (!this.view) {\n let startState = EditorState.create({\n doc: !this.multiline\n ? this.convertToSingleLine(this.value)\n : this.value,\n extensions: [\n basicSetup({\n lineNumbers: !!this.multiline,\n highlightActiveLine: false,\n foldGutter: !!this.multiline,\n }),\n customAutoCompletions,\n autocompletion(),\n javascript(),\n this.setTheme(),\n !this.multiline ? this.restrictSingleLine() : [],\n EditorView.updateListener.of((v: ViewUpdate) => {\n if (v.docChanged) {\n this.emitValues(this.view.state.doc.toString());\n }\n }),\n ],\n });\n\n this.view = new EditorView({\n state: startState,\n parent: this.codeEditor,\n });\n } else {\n if (this.updateValue) {\n // Editor has already been initialized, update its state\n this.view.dispatch({\n changes: {\n from: 0,\n to: this.view.state.doc.length,\n insert: !this.multiline\n ? this.convertToSingleLine(this.value)\n : this.value,\n },\n });\n }\n }\n }\n }\n\n setTheme() {\n return EditorView.theme(Theme);\n }\n\n emitValues(value: string) {\n this.emit('nile-change', { value: value });\n }\n\n expandCodeEditor() {\n this.emit('nile-expand', { expand: true });\n }\n\n restrictSingleLine() {\n return EditorState.transactionFilter.of(tr =>\n tr.newDoc.lines > 1 ? [] : tr\n );\n }\n public render(): TemplateResult {\n const hasErrorMessage = !!this.errorMessage;\n const hasError = !!this.error;\n return html`<div\n part=\"code-editor-base\"\n class=${classMap({\n 'code-mirror': true,\n error: hasError || hasErrorMessage,\n 'code-mirror__singleline': !this.multiline,\n })}\n >\n ${!this.multiline\n ? html` <nile-icon\n name=\"expand\"\n class=\"code-editor__icon__container\"\n size=\"16\"\n color=\"black\"\n @click=\"${(e: CustomEvent) => this.expandCodeEditor()}\"\n ></nile-icon>`\n : ''}\n </div>\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}`;\n }\n\n /* #endregion */\n}\n\nexport default NileCodeEditor;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-code-editor': NileCodeEditor;\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export declare const Theme: {
2
+ '&': {
3
+ fontSize: string;
4
+ fontFamily: string;
5
+ fontWeight: string;
6
+ };
7
+ '.cm-content': {};
8
+ '.cm-scroller': {};
9
+ };
@@ -0,0 +1,10 @@
1
+ export const Theme = {
2
+ '&': {
3
+ fontSize: '14px',
4
+ fontFamily: 'Colfax-regular',
5
+ fontWeight: '400',
6
+ },
7
+ '.cm-content': {},
8
+ '.cm-scroller': {},
9
+ };
10
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/nile-code-editor/theme.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE;QACH,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,KAAK;KAClB;IACD,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;CACnB,CAAC","sourcesContent":["export const Theme = {\n '&': {\n fontSize: '14px',\n fontFamily: 'Colfax-regular',\n fontWeight: '400',\n },\n '.cm-content': {},\n '.cm-scroller': {},\n};\n"]}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+ declare const _default: "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOC41IDEwLjAwMDFMNS41IDEwLjU0MDFMNiA3LjUwMDA2TDExLjczIDEuNzkwMDZDMTEuODIzIDEuNjk2MzMgMTEuOTMzNiAxLjYyMTk0IDEyLjA1NTQgMS41NzExN0MxMi4xNzczIDEuNTIwNCAxMi4zMDggMS40OTQyNiAxMi40NCAxLjQ5NDI2QzEyLjU3MiAxLjQ5NDI2IDEyLjcwMjcgMS41MjA0IDEyLjgyNDYgMS41NzExN0MxMi45NDY0IDEuNjIxOTQgMTMuMDU3IDEuNjk2MzMgMTMuMTUgMS43OTAwNkwxNC4yMSAyLjg1MDA2QzE0LjMwMzcgMi45NDMwMiAxNC4zNzgxIDMuMDUzNjMgMTQuNDI4OSAzLjE3NTQ4QzE0LjQ3OTcgMy4yOTczNCAxNC41MDU4IDMuNDI4MDUgMTQuNTA1OCAzLjU2MDA2QzE0LjUwNTggMy42OTIwNyAxNC40Nzk3IDMuODIyNzggMTQuNDI4OSAzLjk0NDY0QzE0LjM3ODEgNC4wNjY1IDE0LjMwMzcgNC4xNzcxIDE0LjIxIDQuMjcwMDZMOC41IDEwLjAwMDFaIiBzdHJva2U9IiMxRDI0MzMiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTMgMTAuNVYxMy41QzEzIDEzLjc2NTIgMTIuODk0NiAxNC4wMTk2IDEyLjcwNzEgMTQuMjA3MUMxMi41MTk2IDE0LjM5NDYgMTIuMjY1MiAxNC41IDEyIDE0LjVIMi41QzIuMjM0NzggMTQuNSAxLjk4MDQzIDE0LjM5NDYgMS43OTI4OSAxNC4yMDcxQzEuNjA1MzYgMTQuMDE5NiAxLjUgMTMuNzY1MiAxLjUgMTMuNVY0QzEuNSAzLjczNDc4IDEuNjA1MzYgMy40ODA0MyAxLjc5Mjg5IDMuMjkyODlDMS45ODA0MyAzLjEwNTM2IDIuMjM0NzggMyAyLjUgM0g1LjUiIHN0cm9rZT0iIzFEMjQzMyIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==";
5
+ export default _default;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+ export default "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOC41IDEwLjAwMDFMNS41IDEwLjU0MDFMNiA3LjUwMDA2TDExLjczIDEuNzkwMDZDMTEuODIzIDEuNjk2MzMgMTEuOTMzNiAxLjYyMTk0IDEyLjA1NTQgMS41NzExN0MxMi4xNzczIDEuNTIwNCAxMi4zMDggMS40OTQyNiAxMi40NCAxLjQ5NDI2QzEyLjU3MiAxLjQ5NDI2IDEyLjcwMjcgMS41MjA0IDEyLjgyNDYgMS41NzExN0MxMi45NDY0IDEuNjIxOTQgMTMuMDU3IDEuNjk2MzMgMTMuMTUgMS43OTAwNkwxNC4yMSAyLjg1MDA2QzE0LjMwMzcgMi45NDMwMiAxNC4zNzgxIDMuMDUzNjMgMTQuNDI4OSAzLjE3NTQ4QzE0LjQ3OTcgMy4yOTczNCAxNC41MDU4IDMuNDI4MDUgMTQuNTA1OCAzLjU2MDA2QzE0LjUwNTggMy42OTIwNyAxNC40Nzk3IDMuODIyNzggMTQuNDI4OSAzLjk0NDY0QzE0LjM3ODEgNC4wNjY1IDE0LjMwMzcgNC4xNzcxIDE0LjIxIDQuMjcwMDZMOC41IDEwLjAwMDFaIiBzdHJva2U9IiMxRDI0MzMiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTMgMTAuNVYxMy41QzEzIDEzLjc2NTIgMTIuODk0NiAxNC4wMTk2IDEyLjcwNzEgMTQuMjA3MUMxMi41MTk2IDE0LjM5NDYgMTIuMjY1MiAxNC41IDEyIDE0LjVIMi41QzIuMjM0NzggMTQuNSAxLjk4MDQzIDE0LjM5NDYgMS43OTI4OSAxNC4yMDcxQzEuNjA1MzYgMTQuMDE5NiAxLjUgMTMuNzY1MiAxLjUgMTMuNVY0QzEuNSAzLjczNDc4IDEuNjA1MzYgMy40ODA0MyAxLjc5Mjg5IDMuMjkyODlDMS45ODA0MyAzLjEwNTM2IDIuMjM0NzggMyAyLjUgM0g1LjUiIHN0cm9rZT0iIzFEMjQzMyIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==";
5
+ //# sourceMappingURL=edit-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-write.js","sourceRoot":"","sources":["../../../../../src/nile-icon/icons/svg/edit-write.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe,szCAAszC,CAAC","sourcesContent":["/**\n * Do not edit directly\n */\n\nexport default \"PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOC41IDEwLjAwMDFMNS41IDEwLjU0MDFMNiA3LjUwMDA2TDExLjczIDEuNzkwMDZDMTEuODIzIDEuNjk2MzMgMTEuOTMzNiAxLjYyMTk0IDEyLjA1NTQgMS41NzExN0MxMi4xNzczIDEuNTIwNCAxMi4zMDggMS40OTQyNiAxMi40NCAxLjQ5NDI2QzEyLjU3MiAxLjQ5NDI2IDEyLjcwMjcgMS41MjA0IDEyLjgyNDYgMS41NzExN0MxMi45NDY0IDEuNjIxOTQgMTMuMDU3IDEuNjk2MzMgMTMuMTUgMS43OTAwNkwxNC4yMSAyLjg1MDA2QzE0LjMwMzcgMi45NDMwMiAxNC4zNzgxIDMuMDUzNjMgMTQuNDI4OSAzLjE3NTQ4QzE0LjQ3OTcgMy4yOTczNCAxNC41MDU4IDMuNDI4MDUgMTQuNTA1OCAzLjU2MDA2QzE0LjUwNTggMy42OTIwNyAxNC40Nzk3IDMuODIyNzggMTQuNDI4OSAzLjk0NDY0QzE0LjM3ODEgNC4wNjY1IDE0LjMwMzcgNC4xNzcxIDE0LjIxIDQuMjcwMDZMOC41IDEwLjAwMDFaIiBzdHJva2U9IiMxRDI0MzMiIHN0cm9rZS13aWR0aD0iMS4zIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTMgMTAuNVYxMy41QzEzIDEzLjc2NTIgMTIuODk0NiAxNC4wMTk2IDEyLjcwNzEgMTQuMjA3MUMxMi41MTk2IDE0LjM5NDYgMTIuMjY1MiAxNC41IDEyIDE0LjVIMi41QzIuMjM0NzggMTQuNSAxLjk4MDQzIDE0LjM5NDYgMS43OTI4OSAxNC4yMDcxQzEuNjA1MzYgMTQuMDE5NiAxLjUgMTMuNzY1MiAxLjUgMTMuNVY0QzEuNSAzLjczNDc4IDEuNjA1MzYgMy40ODA0MyAxLjc5Mjg5IDMuMjkyODlDMS45ODA0MyAzLjEwNTM2IDIuMjM0NzggMyAyLjUgM0g1LjUiIHN0cm9rZT0iIzFEMjQzMyIgc3Ryb2tlLXdpZHRoPSIxLjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==\";"]}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+ declare const _default: "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNSA2LjVIMS41VjEuNUg2LjVWMi41SDMuMkw2LjQgNS42TDUuNiA2LjRMMi41IDMuMlY2LjVaTTEzLjUgMTIuOFY5LjVIMTQuNVYxNC41SDkuNVYxMy41SDEyLjhMOS43IDEwLjRMMTAuNCA5LjZMMTMuNSAxMi44Wk05LjYgNS42TDEwLjQgNi40TDEzLjUgMy4yVjYuNUgxNC41VjEuNUg5LjVWMi41SDEyLjhMOS42IDUuNlpNNS42IDkuNkw2LjMgMTAuNEwzLjIgMTMuNUg2LjVWMTQuNUgxLjVWOS41SDIuNVYxMi44TDUuNiA5LjZaIiBmaWxsPSIjMDA1RUE2Ii8+PC9zdmc+";
5
+ export default _default;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+ export default "PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNSA2LjVIMS41VjEuNUg2LjVWMi41SDMuMkw2LjQgNS42TDUuNiA2LjRMMi41IDMuMlY2LjVaTTEzLjUgMTIuOFY5LjVIMTQuNVYxNC41SDkuNVYxMy41SDEyLjhMOS43IDEwLjRMMTAuNCA5LjZMMTMuNSAxMi44Wk05LjYgNS42TDEwLjQgNi40TDEzLjUgMy4yVjYuNUgxNC41VjEuNUg5LjVWMi41SDEyLjhMOS42IDUuNlpNNS42IDkuNkw2LjMgMTAuNEwzLjIgMTMuNUg2LjVWMTQuNUgxLjVWOS41SDIuNVYxMi44TDUuNiA5LjZaIiBmaWxsPSIjMDA1RUE2Ii8+PC9zdmc+";
5
+ //# sourceMappingURL=expand-2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand-2.js","sourceRoot":"","sources":["../../../../../src/nile-icon/icons/svg/expand-2.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe,0iBAA0iB,CAAC","sourcesContent":["/**\n * Do not edit directly\n */\n\nexport default \"PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNSA2LjVIMS41VjEuNUg2LjVWMi41SDMuMkw2LjQgNS42TDUuNiA2LjRMMi41IDMuMlY2LjVaTTEzLjUgMTIuOFY5LjVIMTQuNVYxNC41SDkuNVYxMy41SDEyLjhMOS43IDEwLjRMMTAuNCA5LjZMMTMuNSAxMi44Wk05LjYgNS42TDEwLjQgNi40TDEzLjUgMy4yVjYuNUgxNC41VjEuNUg5LjVWMi41SDEyLjhMOS42IDUuNlpNNS42IDkuNkw2LjMgMTAuNEwzLjIgMTMuNUg2LjVWMTQuNUgxLjVWOS41SDIuNVYxMi44TDUuNiA5LjZaIiBmaWxsPSIjMDA1RUE2Ii8+PC9zdmc+\";"]}
@@ -106,6 +106,7 @@ export { default as draglist } from './draglist';
106
106
  export { default as droparrow } from './droparrow';
107
107
  export { default as dropdown } from './dropdown';
108
108
  export { default as editpencil } from './edit-pencil';
109
+ export { default as editwrite } from './edit-write';
109
110
  export { default as else } from './else';
110
111
  export { default as email } from './email';
111
112
  export { default as enable } from './enable';
@@ -119,6 +120,7 @@ export { default as every } from './every';
119
120
  export { default as exactmatch } from './exactmatch';
120
121
  export { default as execute } from './execute';
121
122
  export { default as expand1 } from './expand-1';
123
+ export { default as expand2 } from './expand-2';
122
124
  export { default as expand } from './expand';
123
125
  export { default as eye } from './eye';
124
126
  export { default as eyeclosed } from './eyeclosed';
@@ -106,6 +106,7 @@ export { default as draglist } from './draglist';
106
106
  export { default as droparrow } from './droparrow';
107
107
  export { default as dropdown } from './dropdown';
108
108
  export { default as editpencil } from './edit-pencil';
109
+ export { default as editwrite } from './edit-write';
109
110
  export { default as else } from './else';
110
111
  export { default as email } from './email';
111
112
  export { default as enable } from './enable';
@@ -119,6 +120,7 @@ export { default as every } from './every';
119
120
  export { default as exactmatch } from './exactmatch';
120
121
  export { default as execute } from './execute';
121
122
  export { default as expand1 } from './expand-1';
123
+ export { default as expand2 } from './expand-2';
122
124
  export { default as expand } from './expand';
123
125
  export { default as eye } from './eye';
124
126
  export { default as eyeclosed } from './eyeclosed';