@bexis2/bexis2-core-ui 0.2.23 → 0.2.24

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 (93) hide show
  1. package/README.md +2 -0
  2. package/dist/TableView.svelte +1 -1
  3. package/dist/components/CodeEditor/CodeEditor.svelte +24 -12
  4. package/dist/components/CodeEditor/CodeEditor.svelte.d.ts +6 -3
  5. package/dist/components/ListView.svelte +5 -5
  6. package/dist/components/Table/Table.svelte +11 -5
  7. package/dist/components/Table/TableFilter.svelte +2 -1
  8. package/dist/components/Table/TablePagination.svelte +6 -1
  9. package/dist/components/Table/TablePagination.svelte.d.ts +1 -0
  10. package/dist/components/file/FileIcon.svelte +45 -45
  11. package/dist/components/file/FileInfo.svelte +13 -13
  12. package/dist/components/form/Checkbox.svelte +13 -13
  13. package/dist/components/form/CheckboxKvPList.svelte +16 -16
  14. package/dist/components/form/CheckboxList.svelte +10 -10
  15. package/dist/components/form/DateInput.svelte +13 -13
  16. package/dist/components/form/DropdownKvP.svelte +54 -54
  17. package/dist/components/form/InputContainer.svelte +1 -1
  18. package/dist/components/form/MultiSelect.svelte +178 -178
  19. package/dist/components/form/NumberInput.svelte +14 -14
  20. package/dist/components/form/TextArea.svelte +13 -13
  21. package/dist/components/form/TextInput.svelte +14 -14
  22. package/dist/components/page/Alert.svelte +28 -28
  23. package/dist/components/page/BackToTop.svelte +30 -30
  24. package/dist/components/page/Docs.svelte +22 -22
  25. package/dist/components/page/ErrorMessage.svelte +8 -8
  26. package/dist/components/page/Footer.svelte +5 -5
  27. package/dist/components/page/Header.svelte +5 -5
  28. package/dist/components/page/HelpPopUp.svelte +30 -30
  29. package/dist/components/page/PageCaller.js +19 -19
  30. package/dist/components/page/Spinner.svelte +14 -14
  31. package/dist/components/page/breadcrumb/Breadcrumb.svelte +19 -19
  32. package/dist/components/page/menu/MenuDataCaller.js +10 -10
  33. package/dist/css/core.ui.postcss +17 -17
  34. package/dist/css/themes/theme-bexis2.css +96 -96
  35. package/dist/css/themes/theme-crimson.css +101 -101
  36. package/dist/css/themes/theme-gold-nouveau.css +140 -140
  37. package/dist/css/themes/theme-hamlindigo.css +112 -112
  38. package/dist/css/themes/theme-modern.css +127 -127
  39. package/dist/css/themes/theme-rocket.css +119 -119
  40. package/dist/css/themes/theme-sahara.css +128 -128
  41. package/dist/css/themes/theme-seafoam.css +122 -122
  42. package/dist/css/themes/theme-seasonal.css +115 -115
  43. package/dist/css/themes/theme-skeleton.css +118 -118
  44. package/dist/css/themes/theme-vintage.css +125 -125
  45. package/dist/services/BaseCaller.js +16 -16
  46. package/package.json +3 -2
  47. package/src/lib/TableView.svelte +1 -1
  48. package/src/lib/components/CodeEditor/CodeEditor.svelte +25 -13
  49. package/src/lib/components/ListView.svelte +11 -11
  50. package/src/lib/components/Table/Table.svelte +11 -5
  51. package/src/lib/components/Table/TableFilter.svelte +2 -1
  52. package/src/lib/components/Table/TablePagination.svelte +6 -1
  53. package/src/lib/components/Table/filter.ts +141 -141
  54. package/src/lib/components/{File → file}/FileIcon.svelte +45 -45
  55. package/src/lib/components/{File → file}/FileInfo.svelte +13 -13
  56. package/src/lib/components/form/Checkbox.svelte +24 -24
  57. package/src/lib/components/form/CheckboxKvPList.svelte +29 -29
  58. package/src/lib/components/form/CheckboxList.svelte +21 -21
  59. package/src/lib/components/form/DateInput.svelte +25 -25
  60. package/src/lib/components/form/DropdownKvP.svelte +54 -54
  61. package/src/lib/components/form/InputContainer.svelte +1 -1
  62. package/src/lib/components/form/MultiSelect.svelte +178 -178
  63. package/src/lib/components/form/NumberInput.svelte +28 -28
  64. package/src/lib/components/form/TextArea.svelte +26 -26
  65. package/src/lib/components/form/TextInput.svelte +26 -26
  66. package/src/lib/components/page/Alert.svelte +41 -41
  67. package/src/lib/components/page/BackToTop.svelte +30 -30
  68. package/src/lib/components/page/Docs.svelte +46 -46
  69. package/src/lib/components/page/ErrorMessage.svelte +10 -10
  70. package/src/lib/components/page/Footer.svelte +18 -18
  71. package/src/lib/components/page/Header.svelte +18 -18
  72. package/src/lib/components/page/HelpPopUp.svelte +72 -72
  73. package/src/lib/components/page/PageCaller.js +19 -19
  74. package/src/lib/components/page/Spinner.svelte +20 -20
  75. package/src/lib/components/page/breadcrumb/Breadcrumb.svelte +39 -39
  76. package/src/lib/components/page/menu/MenuDataCaller.js +10 -10
  77. package/src/lib/css/core.ui.postcss +17 -17
  78. package/src/lib/css/themes/theme-bexis2.css +96 -96
  79. package/src/lib/css/themes/theme-crimson.css +101 -101
  80. package/src/lib/css/themes/theme-gold-nouveau.css +140 -140
  81. package/src/lib/css/themes/theme-hamlindigo.css +112 -112
  82. package/src/lib/css/themes/theme-modern.css +127 -127
  83. package/src/lib/css/themes/theme-rocket.css +119 -119
  84. package/src/lib/css/themes/theme-sahara.css +128 -128
  85. package/src/lib/css/themes/theme-seafoam.css +122 -122
  86. package/src/lib/css/themes/theme-seasonal.css +115 -115
  87. package/src/lib/css/themes/theme-skeleton.css +118 -118
  88. package/src/lib/css/themes/theme-vintage.css +125 -125
  89. package/src/lib/models/Page.ts +40 -40
  90. package/src/lib/services/Api.ts +55 -55
  91. package/src/lib/services/BaseCaller.js +16 -16
  92. package/src/lib/stores/apiStores.ts +31 -31
  93. /package/src/lib/components/{File → file}/FileUploader.svelte +0 -0
@@ -1,54 +1,54 @@
1
- <script>
2
- import InputContainer from './InputContainer.svelte';
3
-
4
- export let id;
5
- export let source;
6
- export let target;
7
- export let title;
8
- export let valid = false;
9
- export let invalid = false;
10
- export let feedback = [''];
11
- export let required = false;
12
- export let complexTarget = false;
13
- export let help = false;
14
-
15
- $: selected = null;
16
-
17
- $: updatedSelectedValue(target);
18
- $: updatedTarget(selected);
19
-
20
- function updatedSelectedValue(selection) {
21
- if (selection != null) {
22
- if (complexTarget) {
23
- selected = selection.id;
24
- } else {
25
- selected = selection;
26
- }
27
- }
28
- }
29
-
30
- function updatedTarget(id) {
31
- if (complexTarget) {
32
- target = source.find((opt) => opt.id === id);
33
- } else {
34
- target = id;
35
- }
36
- }
37
- </script>
38
-
39
- <InputContainer {id} label={title} {feedback} {required} {help}>
40
- <select
41
- {id}
42
- class="select variant-form-material"
43
- class:input-success={valid}
44
- class:input-error={invalid}
45
- bind:value={selected}
46
- on:change
47
- on:select
48
- >
49
- <option value={null}>-- Please select --</option>
50
- {#each source as e}
51
- <option value={e.id}>{e.text}</option>
52
- {/each}
53
- </select>
54
- </InputContainer>
1
+ <script>
2
+ import InputContainer from './InputContainer.svelte';
3
+
4
+ export let id;
5
+ export let source;
6
+ export let target;
7
+ export let title;
8
+ export let valid = false;
9
+ export let invalid = false;
10
+ export let feedback = [''];
11
+ export let required = false;
12
+ export let complexTarget = false;
13
+ export let help = false;
14
+
15
+ $: selected = null;
16
+
17
+ $: updatedSelectedValue(target);
18
+ $: updatedTarget(selected);
19
+
20
+ function updatedSelectedValue(selection) {
21
+ if (selection != null) {
22
+ if (complexTarget) {
23
+ selected = selection.id;
24
+ } else {
25
+ selected = selection;
26
+ }
27
+ }
28
+ }
29
+
30
+ function updatedTarget(id) {
31
+ if (complexTarget) {
32
+ target = source.find((opt) => opt.id === id);
33
+ } else {
34
+ target = id;
35
+ }
36
+ }
37
+ </script>
38
+
39
+ <InputContainer {id} label={title} {feedback} {required} {help}>
40
+ <select
41
+ {id}
42
+ class="select variant-form-material"
43
+ class:input-success={valid}
44
+ class:input-error={invalid}
45
+ bind:value={selected}
46
+ on:change
47
+ on:select
48
+ >
49
+ <option value={null}>-- Please select --</option>
50
+ {#each source as e}
51
+ <option value={e.id}>{e.text}</option>
52
+ {/each}
53
+ </select>
54
+ </InputContainer>
@@ -16,7 +16,7 @@
16
16
  function onMouseOut() {}
17
17
  </script>
18
18
 
19
- <div {id} on:mouseover={onMouseOver} on:mouseout={onMouseOut}>
19
+ <div id="{id}-container" on:mouseover={onMouseOver} on:mouseout={onMouseOut}>
20
20
  <label class="label">
21
21
  <span
22
22
  >{label}
@@ -1,178 +1,178 @@
1
- <script>
2
- import InputContainer from './InputContainer.svelte';
3
-
4
- import Select from 'svelte-select';
5
- import { onMount } from 'svelte';
6
-
7
- export let source;
8
- export let target;
9
- export let id;
10
- export let title;
11
- export let itemId = 'value';
12
- export let itemLabel = 'label';
13
- export let itemGroup = 'group';
14
- export let isMulti = true;
15
- export let complexSource = false;
16
- export let complexTarget = false;
17
- export let required = false;
18
- export let feedback = [''];
19
- export let placeholder = '-- Please select --';
20
- export let invalid = false;
21
- export let loading = false;
22
- export let help = false;
23
- export let clearable = true;
24
-
25
- let isLoaded = false;
26
-
27
- $: value = null;
28
- $: updateTarget(value);
29
- $: target, setValue(target);
30
-
31
- let groupBy;
32
- $: groupBy;
33
-
34
- function updateTarget(selection) {
35
- console.log("UPDATE target",selection);
36
- //different cases
37
- //a) source is complex model is simple return array
38
- if (complexSource && !complexTarget && isLoaded && isMulti) {
39
- //console.log('a) source is complex model is simple');
40
-
41
- target = [];
42
- for (let i in selection) {
43
- let item = selection[i];
44
- target.push(item[itemId]);
45
- }
46
- }
47
-
48
- if (!complexSource && !complexTarget && isLoaded && isMulti) {
49
- target = [];
50
-
51
- for (let i in selection) {
52
- target.push(selection[i].value);
53
- }
54
- }
55
-
56
- if (complexSource && complexTarget && isLoaded && isMulti) {
57
- //console.log("both complex",selection);
58
- target = selection;
59
- }
60
-
61
- if (complexSource && complexTarget && isLoaded && !isMulti) {
62
- target = selection;
63
- }
64
-
65
- if (!complexSource && !complexTarget && isLoaded && !isMulti) {
66
- target = selection.value;
67
- }
68
-
69
- if (complexSource && !complexTarget && isLoaded && !isMulti) {
70
- target = selection[itemLabel];
71
- console.log('selection', selection);
72
- }
73
-
74
- //console.log('selection ' + title, selection);
75
- //console.log('target ' + title, target);
76
- }
77
-
78
- onMount(async () => {
79
- console.log("OnMount", target)
80
- if(complexSource && complexTarget) // after on mount a setValue is needed when data is complex
81
- {
82
- setValue(target);
83
- }
84
- });
85
-
86
- function setValue(t) {
87
- console.log("Set Value",t);
88
- //a) source is complex model is simple
89
- if (complexSource && !complexTarget && isMulti) {
90
- let items = [];
91
- // event.detail will be null unless isMulti is true and user has removed a single item
92
- for (let i in t) {
93
- let t = target[i];
94
- items.push(source.find((item) => item[itemId] === t));
95
- }
96
-
97
- isLoaded = true;
98
- if (items.length > 0) {
99
- value = items;
100
- }
101
- ////console.log(value);
102
- groupBy = (item) => item[itemGroup];
103
- }
104
-
105
- if (complexSource && complexTarget && isMulti) {
106
- value = t;
107
- isLoaded = true;
108
- groupBy = (item) => item[itemGroup];
109
- }
110
-
111
- //b) simple liust and simple model
112
- if (!complexSource && !complexTarget && isMulti) {
113
- console.log('b) simple liust and simple model');
114
- //console.log('source', source);
115
- //console.log("target",t);
116
- isLoaded = true;
117
- //set target only if its nit empty
118
- if (t != null && t !== undefined && t != '') {
119
- //console.log('target', t);
120
- value = t;
121
- }
122
- }
123
-
124
- if (!isMulti) {
125
- //console.log("onmount",complexSource,complexTarget,value,target)
126
- if (!complexSource && !complexTarget) {
127
- value = {
128
- value: t,
129
- label: t
130
- };
131
- }
132
-
133
- if (complexSource && complexTarget) {
134
- value = t;
135
- groupBy = (item) => item[itemGroup];
136
- }
137
-
138
- if (complexSource && !complexTarget) {
139
- //value = target
140
- console.log(
141
- 'this case is currently not supported (complexSource,complexTarget,isMulti)',
142
- complexSource,
143
- complexTarget,
144
- isMulti
145
- );
146
- }
147
-
148
- isLoaded = true;
149
- }
150
-
151
- console.log(t,value)
152
- }
153
- </script>
154
-
155
- <InputContainer {id} label={title} {feedback} {required} {help}>
156
- <Select
157
- {id}
158
- items={source}
159
- {groupBy}
160
- {itemId}
161
- label={itemLabel}
162
- multiple={isMulti}
163
- bind:value
164
- {placeholder}
165
- hasError={invalid}
166
- {loading}
167
- {clearable}
168
- on:change
169
- on:input
170
- on:focus
171
- on:blur
172
- on:clear
173
- on:loaded
174
- on:error
175
- on:filter
176
- on:hoverItem
177
- />
178
- </InputContainer>
1
+ <script>
2
+ import InputContainer from './InputContainer.svelte';
3
+
4
+ import Select from 'svelte-select';
5
+ import { onMount } from 'svelte';
6
+
7
+ export let source;
8
+ export let target;
9
+ export let id;
10
+ export let title;
11
+ export let itemId = 'value';
12
+ export let itemLabel = 'label';
13
+ export let itemGroup = 'group';
14
+ export let isMulti = true;
15
+ export let complexSource = false;
16
+ export let complexTarget = false;
17
+ export let required = false;
18
+ export let feedback = [''];
19
+ export let placeholder = '-- Please select --';
20
+ export let invalid = false;
21
+ export let loading = false;
22
+ export let help = false;
23
+ export let clearable = true;
24
+
25
+ let isLoaded = false;
26
+
27
+ $: value = null;
28
+ $: updateTarget(value);
29
+ $: target, setValue(target);
30
+
31
+ let groupBy;
32
+ $: groupBy;
33
+
34
+ function updateTarget(selection) {
35
+ console.log("UPDATE target",selection);
36
+ //different cases
37
+ //a) source is complex model is simple return array
38
+ if (complexSource && !complexTarget && isLoaded && isMulti) {
39
+ //console.log('a) source is complex model is simple');
40
+
41
+ target = [];
42
+ for (let i in selection) {
43
+ let item = selection[i];
44
+ target.push(item[itemId]);
45
+ }
46
+ }
47
+
48
+ if (!complexSource && !complexTarget && isLoaded && isMulti) {
49
+ target = [];
50
+
51
+ for (let i in selection) {
52
+ target.push(selection[i].value);
53
+ }
54
+ }
55
+
56
+ if (complexSource && complexTarget && isLoaded && isMulti) {
57
+ //console.log("both complex",selection);
58
+ target = selection;
59
+ }
60
+
61
+ if (complexSource && complexTarget && isLoaded && !isMulti) {
62
+ target = selection;
63
+ }
64
+
65
+ if (!complexSource && !complexTarget && isLoaded && !isMulti) {
66
+ target = selection.value;
67
+ }
68
+
69
+ if (complexSource && !complexTarget && isLoaded && !isMulti) {
70
+ target = selection[itemLabel];
71
+ console.log('selection', selection);
72
+ }
73
+
74
+ //console.log('selection ' + title, selection);
75
+ //console.log('target ' + title, target);
76
+ }
77
+
78
+ onMount(async () => {
79
+ console.log("OnMount", target)
80
+ if(complexSource && complexTarget) // after on mount a setValue is needed when data is complex
81
+ {
82
+ setValue(target);
83
+ }
84
+ });
85
+
86
+ function setValue(t) {
87
+ console.log("Set Value",t);
88
+ //a) source is complex model is simple
89
+ if (complexSource && !complexTarget && isMulti) {
90
+ let items = [];
91
+ // event.detail will be null unless isMulti is true and user has removed a single item
92
+ for (let i in t) {
93
+ let t = target[i];
94
+ items.push(source.find((item) => item[itemId] === t));
95
+ }
96
+
97
+ isLoaded = true;
98
+ if (items.length > 0) {
99
+ value = items;
100
+ }
101
+ ////console.log(value);
102
+ groupBy = (item) => item[itemGroup];
103
+ }
104
+
105
+ if (complexSource && complexTarget && isMulti) {
106
+ value = t;
107
+ isLoaded = true;
108
+ groupBy = (item) => item[itemGroup];
109
+ }
110
+
111
+ //b) simple liust and simple model
112
+ if (!complexSource && !complexTarget && isMulti) {
113
+ console.log('b) simple liust and simple model');
114
+ //console.log('source', source);
115
+ //console.log("target",t);
116
+ isLoaded = true;
117
+ //set target only if its nit empty
118
+ if (t != null && t !== undefined && t != '') {
119
+ //console.log('target', t);
120
+ value = t;
121
+ }
122
+ }
123
+
124
+ if (!isMulti) {
125
+ //console.log("onmount",complexSource,complexTarget,value,target)
126
+ if (!complexSource && !complexTarget) {
127
+ value = {
128
+ value: t,
129
+ label: t
130
+ };
131
+ }
132
+
133
+ if (complexSource && complexTarget) {
134
+ value = t;
135
+ groupBy = (item) => item[itemGroup];
136
+ }
137
+
138
+ if (complexSource && !complexTarget) {
139
+ //value = target
140
+ console.log(
141
+ 'this case is currently not supported (complexSource,complexTarget,isMulti)',
142
+ complexSource,
143
+ complexTarget,
144
+ isMulti
145
+ );
146
+ }
147
+
148
+ isLoaded = true;
149
+ }
150
+
151
+ console.log(t,value)
152
+ }
153
+ </script>
154
+
155
+ <InputContainer {id} label={title} {feedback} {required} {help}>
156
+ <Select
157
+ {id}
158
+ items={source}
159
+ {groupBy}
160
+ {itemId}
161
+ label={itemLabel}
162
+ multiple={isMulti}
163
+ bind:value
164
+ {placeholder}
165
+ hasError={invalid}
166
+ {loading}
167
+ {clearable}
168
+ on:change
169
+ on:input
170
+ on:focus
171
+ on:blur
172
+ on:clear
173
+ on:loaded
174
+ on:error
175
+ on:filter
176
+ on:hoverItem
177
+ />
178
+ </InputContainer>
@@ -1,28 +1,28 @@
1
- <script lang="ts">
2
- import InputContainer from './InputContainer.svelte';
3
- import { helpStore } from '$store/pageStores';
4
-
5
- export let id: string = '';
6
- export let label: string = '';
7
- export let value: string = '';
8
-
9
- export let valid: boolean = false;
10
- export let invalid: boolean = false;
11
- export let required: boolean = false;
12
- export let feedback: string[] = [''];
13
- export let placeholder: string = '';
14
- export let help: boolean = false;
15
- </script>
16
-
17
- <InputContainer {id} {label} {feedback} {required} {help}>
18
- <input
19
- {id}
20
- class="input variant-form-material"
21
- type="number"
22
- class:input-success={valid}
23
- class:input-error={invalid}
24
- bind:value
25
- on:input
26
- {placeholder}
27
- />
28
- </InputContainer>
1
+ <script lang="ts">
2
+ import InputContainer from './InputContainer.svelte';
3
+ import { helpStore } from '$store/pageStores';
4
+
5
+ export let id: string = '';
6
+ export let label: string = '';
7
+ export let value: string = '';
8
+
9
+ export let valid: boolean = false;
10
+ export let invalid: boolean = false;
11
+ export let required: boolean = false;
12
+ export let feedback: string[] = [''];
13
+ export let placeholder: string = '';
14
+ export let help: boolean = false;
15
+ </script>
16
+
17
+ <InputContainer {id} {label} {feedback} {required} {help}>
18
+ <input
19
+ {id}
20
+ class="input variant-form-material"
21
+ type="number"
22
+ class:input-success={valid}
23
+ class:input-error={invalid}
24
+ bind:value
25
+ on:input
26
+ {placeholder}
27
+ />
28
+ </InputContainer>
@@ -1,26 +1,26 @@
1
- <script lang="ts">
2
- import InputContainer from './InputContainer.svelte';
3
-
4
- export let id: string = '';
5
- export let label: string = '';
6
- export let value: string = '';
7
-
8
- export let valid: boolean = false;
9
- export let invalid: boolean = false;
10
- export let required: boolean = false;
11
- export let feedback: string[] = [''];
12
- export let placeholder: string = '';
13
- export let help: boolean = false;
14
- </script>
15
-
16
- <InputContainer {id} {label} {feedback} {required} {help}>
17
- <textarea
18
- {id}
19
- class="textarea variant-form-material"
20
- class:input-success={valid}
21
- class:input-error={invalid}
22
- bind:value
23
- on:input
24
- {placeholder}
25
- />
26
- </InputContainer>
1
+ <script lang="ts">
2
+ import InputContainer from './InputContainer.svelte';
3
+
4
+ export let id: string = '';
5
+ export let label: string = '';
6
+ export let value: string = '';
7
+
8
+ export let valid: boolean = false;
9
+ export let invalid: boolean = false;
10
+ export let required: boolean = false;
11
+ export let feedback: string[] = [''];
12
+ export let placeholder: string = '';
13
+ export let help: boolean = false;
14
+ </script>
15
+
16
+ <InputContainer {id} {label} {feedback} {required} {help}>
17
+ <textarea
18
+ {id}
19
+ class="textarea variant-form-material"
20
+ class:input-success={valid}
21
+ class:input-error={invalid}
22
+ bind:value
23
+ on:input
24
+ {placeholder}
25
+ />
26
+ </InputContainer>
@@ -1,26 +1,26 @@
1
- <script lang="ts">
2
- import InputContainer from './InputContainer.svelte';
3
-
4
- export let id: string = '';
5
- export let label: string = '';
6
- export let value: string = '';
7
- export let valid: boolean = false;
8
- export let invalid: boolean = false;
9
- export let required: boolean = false;
10
- export let feedback: string[] = [''];
11
- export let placeholder: string = '';
12
- export let help: boolean = false;
13
- </script>
14
-
15
- <InputContainer {id} {label} {feedback} {required} {help}>
16
- <input
17
- {id}
18
- class="input variant-form-material"
19
- type="text"
20
- class:input-success={valid}
21
- class:input-error={invalid}
22
- bind:value
23
- on:input
24
- {placeholder}
25
- />
26
- </InputContainer>
1
+ <script lang="ts">
2
+ import InputContainer from './InputContainer.svelte';
3
+
4
+ export let id: string = '';
5
+ export let label: string = '';
6
+ export let value: string = '';
7
+ export let valid: boolean = false;
8
+ export let invalid: boolean = false;
9
+ export let required: boolean = false;
10
+ export let feedback: string[] = [''];
11
+ export let placeholder: string = '';
12
+ export let help: boolean = false;
13
+ </script>
14
+
15
+ <InputContainer {id} {label} {feedback} {required} {help}>
16
+ <input
17
+ {id}
18
+ class="input variant-form-material"
19
+ type="text"
20
+ class:input-success={valid}
21
+ class:input-error={invalid}
22
+ bind:value
23
+ on:input
24
+ {placeholder}
25
+ />
26
+ </InputContainer>