@bexis2/bexis2-core-ui 0.0.22 → 0.0.25

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 (86) hide show
  1. package/README.md +14 -33
  2. package/dist/TableView.svelte +1 -1
  3. package/dist/components/ListView.svelte +5 -5
  4. package/dist/components/Table/Table.svelte +167 -0
  5. package/dist/components/Table/Table.svelte.d.ts +17 -0
  6. package/dist/components/Table/TableFilter.svelte +168 -0
  7. package/dist/components/Table/TableFilter.svelte.d.ts +21 -0
  8. package/dist/components/Table/TablePagination.svelte +60 -0
  9. package/dist/components/Table/TablePagination.svelte.d.ts +17 -0
  10. package/dist/components/Table/filter.d.ts +4 -0
  11. package/dist/components/Table/filter.js +83 -0
  12. package/dist/components/file/FileIcon.svelte +45 -0
  13. package/dist/components/file/FileInfo.svelte +13 -0
  14. package/dist/components/{File → file}/FileUploader.svelte +35 -38
  15. package/dist/components/form/Checkbox.svelte +21 -0
  16. package/dist/components/form/Checkbox.svelte.d.ts +24 -0
  17. package/dist/components/form/CheckboxKvPList.svelte +18 -0
  18. package/dist/components/form/CheckboxKvPList.svelte.d.ts +20 -0
  19. package/dist/components/form/CheckboxList.svelte +18 -0
  20. package/dist/components/form/CheckboxList.svelte.d.ts +20 -0
  21. package/dist/components/form/DateInput.svelte +21 -0
  22. package/dist/components/form/DateInput.svelte.d.ts +24 -0
  23. package/dist/components/form/DropdownKvP.svelte +44 -0
  24. package/dist/components/form/DropdownKvP.svelte.d.ts +43 -0
  25. package/dist/components/form/InputContainer.svelte +21 -0
  26. package/dist/components/form/InputContainer.svelte.d.ts +20 -0
  27. package/dist/components/form/MultiSelect.svelte +89 -0
  28. package/dist/components/form/MultiSelect.svelte.d.ts +41 -0
  29. package/dist/components/form/NumberInput.svelte +21 -0
  30. package/dist/components/form/NumberInput.svelte.d.ts +24 -0
  31. package/dist/components/form/TextArea.svelte +20 -0
  32. package/dist/components/form/TextArea.svelte.d.ts +24 -0
  33. package/dist/components/form/TextInput.svelte +21 -0
  34. package/dist/components/form/TextInput.svelte.d.ts +24 -0
  35. package/dist/components/spinner/Spinner.svelte +9 -0
  36. package/dist/css/core.ui.css +5 -2
  37. package/dist/css/themes/theme-bexis2.css +96 -98
  38. package/dist/css/themes/theme-crimson.css +3 -2
  39. package/dist/css/themes/theme-hamlindigo.css +3 -2
  40. package/dist/css/themes/theme-seafoam.css +3 -2
  41. package/dist/index.d.ts +16 -5
  42. package/dist/index.js +20 -5
  43. package/dist/models/Models.d.ts +28 -0
  44. package/dist/services/Api.js +12 -11
  45. package/dist/stores/apistore.js +13 -13
  46. package/package.json +101 -85
  47. package/src/lib/TableView.svelte +1 -1
  48. package/src/lib/components/ListView.svelte +11 -13
  49. package/src/lib/components/Table/Table.svelte +184 -0
  50. package/src/lib/components/Table/TableFilter.svelte +176 -0
  51. package/src/lib/components/Table/TablePagination.svelte +61 -0
  52. package/src/lib/components/Table/filter.ts +94 -0
  53. package/src/lib/components/file/FileIcon.svelte +45 -0
  54. package/src/lib/components/file/FileInfo.svelte +13 -0
  55. package/src/lib/components/file/FileUploader.svelte +184 -0
  56. package/src/lib/components/form/Checkbox.svelte +24 -0
  57. package/src/lib/components/form/CheckboxKvPList.svelte +21 -0
  58. package/src/lib/components/form/CheckboxList.svelte +21 -0
  59. package/src/lib/components/form/DateInput.svelte +24 -0
  60. package/src/lib/components/form/DropdownKvP.svelte +44 -0
  61. package/src/lib/components/form/InputContainer.svelte +22 -0
  62. package/src/lib/components/form/MultiSelect.svelte +89 -0
  63. package/src/lib/components/form/NumberInput.svelte +24 -0
  64. package/src/lib/components/form/TextArea.svelte +23 -0
  65. package/src/lib/components/form/TextInput.svelte +24 -0
  66. package/src/lib/components/spinner/Spinner.svelte +9 -0
  67. package/src/lib/css/core.ui.css +5 -2
  68. package/src/lib/css/themes/theme-bexis2.css +96 -98
  69. package/src/lib/css/themes/theme-crimson.css +3 -2
  70. package/src/lib/css/themes/theme-hamlindigo.css +3 -2
  71. package/src/lib/css/themes/theme-seafoam.css +3 -2
  72. package/src/lib/index.ts +40 -11
  73. package/src/lib/models/Models.ts +70 -39
  74. package/src/lib/services/Api.ts +55 -58
  75. package/src/lib/stores/apistore.ts +28 -32
  76. package/dist/components/File/FileIcon.svelte +0 -49
  77. package/dist/components/File/FileInfo.svelte +0 -14
  78. package/dist/components/Spinner/Spinner.svelte +0 -8
  79. package/src/lib/components/File/FileIcon.svelte +0 -49
  80. package/src/lib/components/File/FileInfo.svelte +0 -14
  81. package/src/lib/components/File/FileUploader.svelte +0 -217
  82. package/src/lib/components/Spinner/Spinner.svelte +0 -8
  83. /package/dist/components/{File → file}/FileIcon.svelte.d.ts +0 -0
  84. /package/dist/components/{File → file}/FileInfo.svelte.d.ts +0 -0
  85. /package/dist/components/{File → file}/FileUploader.svelte.d.ts +0 -0
  86. /package/dist/components/{Spinner → spinner}/Spinner.svelte.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  <script>import DropZone from "svelte-file-dropzone/Dropzone.svelte";
2
2
  import Fa from "svelte-fa/src/fa.svelte";
3
- import Spinner from "../Spinner/Spinner.svelte";
3
+ import Spinner from "../spinner/Spinner.svelte";
4
4
  import { createEventDispatcher } from "svelte";
5
5
  import { faTrash } from "@fortawesome/free-solid-svg-icons";
6
6
  import { faSave } from "@fortawesome/free-regular-svg-icons";
@@ -96,40 +96,37 @@ async function handleSubmit() {
96
96
  }
97
97
  }
98
98
  }
99
- </script>
100
-
101
- <form on:submit|preventDefault={handleSubmit}>
102
- {#if model}
103
- <!--if model exist -->
104
- <div>
105
-
106
- <DropZone
107
- on:drop={handleFilesSelect}
108
- accept={model.accept}
109
- multiple={model.multiple}
110
- {maxSize}>
111
-
112
- <b style="font-size:xx-large"><Fa icon={faFileUpload}/></b>
113
- <span><b>Drag 'n' drop some files here, or click to select files</b>
114
- <b>max file : {model.maxSize} mb</b></span>
115
- <p>
116
- {#if model.accept}
117
- {#each model.accept as ext}
118
- {ext} ,
119
- {/each}
120
- {/if}
121
- </p>
122
- </DropZone>
123
-
124
- </div>
125
-
126
- <button id="{submitBt}" color="primary" style="display:none" ><Fa icon={faSave}/></button>
127
-
128
- {:else} <!-- while data is not loaded show a loading information -->
129
-
130
- <Spinner/>
131
- {/if}
132
-
133
- </form>
134
-
135
-
99
+ </script>
100
+
101
+ <form on:submit|preventDefault={handleSubmit}>
102
+ {#if model}
103
+ <!--if model exist -->
104
+ <div>
105
+ <DropZone
106
+ on:drop={handleFilesSelect}
107
+ accept={model.accept}
108
+ multiple={model.multiple}
109
+ {maxSize}
110
+ >
111
+ <b style="font-size:xx-large"><Fa icon={faFileUpload} /></b>
112
+ <span
113
+ ><b>Drag 'n' drop some files here, or click to select files</b>
114
+ <b>max file : {model.maxSize} mb</b></span
115
+ >
116
+ <p>
117
+ {#if model.accept}
118
+ {#each model.accept as ext}
119
+ {ext} ,
120
+ {/each}
121
+ {/if}
122
+ </p>
123
+ </DropZone>
124
+ </div>
125
+
126
+ <button id={submitBt} color="primary" style="display:none"><Fa icon={faSave} /></button>
127
+ {:else}
128
+ <!-- while data is not loaded show a loading information -->
129
+
130
+ <Spinner />
131
+ {/if}
132
+ </form>
@@ -0,0 +1,21 @@
1
+ <script>import InputContainer from "./InputContainer.svelte";
2
+ export let id = "";
3
+ export let label = "";
4
+ export let checked = false;
5
+ export let valid;
6
+ export let invalid;
7
+ export let required;
8
+ export let feedback;
9
+ </script>
10
+
11
+ <InputContainer {label} {feedback} {required}>
12
+ <input
13
+ {id}
14
+ class="input variant-form-material"
15
+ type="checkbox"
16
+ class:input-success={valid}
17
+ class:input-error={invalid}
18
+ bind:checked
19
+ on:input
20
+ />
21
+ </InputContainer>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ id?: string | undefined;
5
+ label?: string | undefined;
6
+ checked?: any;
7
+ valid: boolean;
8
+ invalid: boolean;
9
+ required: boolean;
10
+ feedback: [];
11
+ };
12
+ events: {
13
+ input: Event;
14
+ } & {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type CheckboxProps = typeof __propDef.props;
20
+ export type CheckboxEvents = typeof __propDef.events;
21
+ export type CheckboxSlots = typeof __propDef.slots;
22
+ export default class Checkbox extends SvelteComponentTyped<CheckboxProps, CheckboxEvents, CheckboxSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,18 @@
1
+ <script>import InputContainer from "./InputContainer.svelte";
2
+ export let source;
3
+ export let target;
4
+ export let title;
5
+ export let description = "";
6
+ export let key;
7
+ let required = false;
8
+ let feedback;
9
+ </script>
10
+
11
+ <InputContainer label={title} {feedback} {required}>
12
+ {#each source as item}
13
+ <label class="flex items-center space-x-2" for={key}>
14
+ <input class="checkbox" type="checkbox" bind:group={target} checked={item.key} />
15
+ <p>{item.value}</p>
16
+ </label>
17
+ {/each}
18
+ </InputContainer>
@@ -0,0 +1,20 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ source: any;
5
+ target: any;
6
+ title: any;
7
+ description?: string | undefined;
8
+ key: any;
9
+ };
10
+ events: {
11
+ [evt: string]: CustomEvent<any>;
12
+ };
13
+ slots: {};
14
+ };
15
+ export type CheckboxKvPListProps = typeof __propDef.props;
16
+ export type CheckboxKvPListEvents = typeof __propDef.events;
17
+ export type CheckboxKvPListSlots = typeof __propDef.slots;
18
+ export default class CheckboxKvPList extends SvelteComponentTyped<CheckboxKvPListProps, CheckboxKvPListEvents, CheckboxKvPListSlots> {
19
+ }
20
+ export {};
@@ -0,0 +1,18 @@
1
+ <script>import InputContainer from "./InputContainer.svelte";
2
+ export let source;
3
+ export let target;
4
+ export let title;
5
+ export let description = "";
6
+ export let key;
7
+ let required = false;
8
+ let feedback;
9
+ </script>
10
+
11
+ <InputContainer label={title} {feedback} {required}>
12
+ {#each source as item}
13
+ <label class="flex items-center space-x-2" for={key}>
14
+ <input class="checkbox" type="checkbox" bind:group={target} value={item} />
15
+ <p>{item}</p>
16
+ </label>
17
+ {/each}
18
+ </InputContainer>
@@ -0,0 +1,20 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ source: any;
5
+ target: any;
6
+ title: any;
7
+ description?: string | undefined;
8
+ key: any;
9
+ };
10
+ events: {
11
+ [evt: string]: CustomEvent<any>;
12
+ };
13
+ slots: {};
14
+ };
15
+ export type CheckboxListProps = typeof __propDef.props;
16
+ export type CheckboxListEvents = typeof __propDef.events;
17
+ export type CheckboxListSlots = typeof __propDef.slots;
18
+ export default class CheckboxList extends SvelteComponentTyped<CheckboxListProps, CheckboxListEvents, CheckboxListSlots> {
19
+ }
20
+ export {};
@@ -0,0 +1,21 @@
1
+ <script>import InputContainer from "./InputContainer.svelte";
2
+ export let id = "";
3
+ export let label = "";
4
+ export let value = "";
5
+ export let valid = false;
6
+ export let invalid = false;
7
+ export let required = false;
8
+ export let feedback = [""];
9
+ </script>
10
+
11
+ <InputContainer {label} {feedback} {required}>
12
+ <input
13
+ {id}
14
+ class="input variant-form-material"
15
+ type="date"
16
+ class:input-success={valid}
17
+ class:input-error={invalid}
18
+ bind:value
19
+ on:input
20
+ />
21
+ </InputContainer>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ id?: string | undefined;
5
+ label?: string | undefined;
6
+ value?: string | undefined;
7
+ valid?: boolean | undefined;
8
+ invalid?: boolean | undefined;
9
+ required?: boolean | undefined;
10
+ feedback?: string[] | undefined;
11
+ };
12
+ events: {
13
+ input: Event;
14
+ } & {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type DateInputProps = typeof __propDef.props;
20
+ export type DateInputEvents = typeof __propDef.events;
21
+ export type DateInputSlots = typeof __propDef.slots;
22
+ export default class DateInput extends SvelteComponentTyped<DateInputProps, DateInputEvents, DateInputSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,44 @@
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;
9
+ export let invalid;
10
+ export let feedback;
11
+ export let required;
12
+
13
+ $: selected = null;
14
+
15
+ $: updatedSelectedValue(target);
16
+ $: updatedTarget(selected);
17
+
18
+ function updatedSelectedValue(selection) {
19
+ if (selection != null) {
20
+ selected = selection.id;
21
+ }
22
+ }
23
+
24
+ function updatedTarget(id) {
25
+ target = source.find((opt) => opt.id === id);
26
+ }
27
+ </script>
28
+
29
+ <InputContainer label={title} {feedback} {required}>
30
+ <select
31
+ {id}
32
+ class="select variant-form-material"
33
+ class:input-success={valid}
34
+ class:input-error={invalid}
35
+ bind:value={selected}
36
+ on:change
37
+ on:select
38
+ >
39
+ <option value={null}>-- Please select --</option>
40
+ {#each source as e}
41
+ <option value={e.id}>{e.text}</option>
42
+ {/each}
43
+ </select>
44
+ </InputContainer>
@@ -0,0 +1,43 @@
1
+ /** @typedef {typeof __propDef.props} DropdownKvPProps */
2
+ /** @typedef {typeof __propDef.events} DropdownKvPEvents */
3
+ /** @typedef {typeof __propDef.slots} DropdownKvPSlots */
4
+ export default class DropdownKvP extends SvelteComponentTyped<{
5
+ id: any;
6
+ source: any;
7
+ target: any;
8
+ title: any;
9
+ valid: any;
10
+ invalid: any;
11
+ feedback: any;
12
+ required: any;
13
+ }, {
14
+ change: Event;
15
+ select: Event;
16
+ } & {
17
+ [evt: string]: CustomEvent<any>;
18
+ }, {}> {
19
+ }
20
+ export type DropdownKvPProps = typeof __propDef.props;
21
+ export type DropdownKvPEvents = typeof __propDef.events;
22
+ export type DropdownKvPSlots = typeof __propDef.slots;
23
+ import { SvelteComponentTyped } from "svelte";
24
+ declare const __propDef: {
25
+ props: {
26
+ id: any;
27
+ source: any;
28
+ target: any;
29
+ title: any;
30
+ valid: any;
31
+ invalid: any;
32
+ feedback: any;
33
+ required: any;
34
+ };
35
+ events: {
36
+ change: Event;
37
+ select: Event;
38
+ } & {
39
+ [evt: string]: CustomEvent<any>;
40
+ };
41
+ slots: {};
42
+ };
43
+ export {};
@@ -0,0 +1,21 @@
1
+ <script>export let label = "";
2
+ export let required;
3
+ export let feedback;
4
+ </script>
5
+
6
+ <label class="label">
7
+ <span
8
+ >{label}
9
+ {#if required} <span class="text-sm text-red-600">*</span> {/if}
10
+ </span>
11
+ <slot />
12
+ {#if feedback}
13
+ <span class="text-sm text-error-600">
14
+ <ul>
15
+ {#each feedback as message}
16
+ <li>{message}</li>
17
+ {/each}
18
+ </ul>
19
+ </span>
20
+ {/if}
21
+ </label>
@@ -0,0 +1,20 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ label?: string | undefined;
5
+ required: boolean;
6
+ feedback: string[];
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {
12
+ default: {};
13
+ };
14
+ };
15
+ export type InputContainerProps = typeof __propDef.props;
16
+ export type InputContainerEvents = typeof __propDef.events;
17
+ export type InputContainerSlots = typeof __propDef.slots;
18
+ export default class InputContainer extends SvelteComponentTyped<InputContainerProps, InputContainerEvents, InputContainerSlots> {
19
+ }
20
+ export {};
@@ -0,0 +1,89 @@
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 title;
10
+ export let itemId = 'value';
11
+ export let label = 'label';
12
+ export let isMulti = true;
13
+ export let isComplex = false;
14
+ export let isTargetComplex = false;
15
+ export let required = false;
16
+ export let feedback = [];
17
+
18
+ let isLoaded = false;
19
+
20
+ $: value = null;
21
+ $: updateTarget(value);
22
+
23
+ function updateTarget(selection) {
24
+ //diffrent cases
25
+ //onsole.log("------");
26
+
27
+ //a) source is complex model is simple
28
+ if (isComplex && !isTargetComplex && isLoaded) {
29
+ target = [];
30
+ for (let i in selection) {
31
+ let item = selection[i];
32
+ target.push(item.key);
33
+ }
34
+ }
35
+
36
+ if (!isComplex && !isTargetComplex && isLoaded) {
37
+ target = [];
38
+ for (let i in selection) {
39
+ target.push(selection[i].value);
40
+ }
41
+ }
42
+ //console.log("selection "+title,selection);
43
+ //console.log("target "+title,target);
44
+ }
45
+
46
+ onMount(async () => {
47
+ //console.log("on mount multiselect");
48
+ //console.log(source);
49
+
50
+ //a) source is complex model is simple
51
+ if (isComplex && !isTargetComplex) {
52
+ let items = [];
53
+ // event.detail will be null unless isMulti is true and user has removed a single item
54
+ for (let i in target) {
55
+ let t = target[i];
56
+ items.push(source.find((item) => item.key === t));
57
+ }
58
+
59
+ isLoaded = true;
60
+ if (items.length > 0) {
61
+ value = items;
62
+ }
63
+ //console.log(value);
64
+ }
65
+
66
+ //b) simple liust and simple model
67
+ if (!isComplex && !isTargetComplex) {
68
+ //console.log("source", source);
69
+ //console.log("target",target);
70
+ isLoaded = true;
71
+ //set target only if its nit empty
72
+ if (target != null && target !== undefined && target != '') {
73
+ value = target;
74
+ }
75
+ }
76
+ });
77
+ </script>
78
+
79
+ <InputContainer label={title} {feedback} {required}>
80
+ <Select
81
+ class="select variant-form-material"
82
+ items={source}
83
+ {itemId}
84
+ {label}
85
+ multiple={isMulti}
86
+ bind:value
87
+ placeholder="-- Please select --"
88
+ />
89
+ </InputContainer>
@@ -0,0 +1,41 @@
1
+ /** @typedef {typeof __propDef.props} MultiSelectProps */
2
+ /** @typedef {typeof __propDef.events} MultiSelectEvents */
3
+ /** @typedef {typeof __propDef.slots} MultiSelectSlots */
4
+ export default class MultiSelect extends SvelteComponentTyped<{
5
+ target: any;
6
+ source: any;
7
+ title: any;
8
+ required?: boolean | undefined;
9
+ label?: string | undefined;
10
+ feedback?: any[] | undefined;
11
+ itemId?: string | undefined;
12
+ isMulti?: boolean | undefined;
13
+ isComplex?: boolean | undefined;
14
+ isTargetComplex?: boolean | undefined;
15
+ }, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}> {
18
+ }
19
+ export type MultiSelectProps = typeof __propDef.props;
20
+ export type MultiSelectEvents = typeof __propDef.events;
21
+ export type MultiSelectSlots = typeof __propDef.slots;
22
+ import { SvelteComponentTyped } from "svelte";
23
+ declare const __propDef: {
24
+ props: {
25
+ target: any;
26
+ source: any;
27
+ title: any;
28
+ required?: boolean | undefined;
29
+ label?: string | undefined;
30
+ feedback?: any[] | undefined;
31
+ itemId?: string | undefined;
32
+ isMulti?: boolean | undefined;
33
+ isComplex?: boolean | undefined;
34
+ isTargetComplex?: boolean | undefined;
35
+ };
36
+ events: {
37
+ [evt: string]: CustomEvent<any>;
38
+ };
39
+ slots: {};
40
+ };
41
+ export {};
@@ -0,0 +1,21 @@
1
+ <script>import InputContainer from "./InputContainer.svelte";
2
+ export let id = "";
3
+ export let label = "";
4
+ export let value = "";
5
+ export let valid = false;
6
+ export let invalid = false;
7
+ export let required = false;
8
+ export let feedback = [""];
9
+ </script>
10
+
11
+ <InputContainer {label} {feedback} {required}>
12
+ <input
13
+ {id}
14
+ class="input variant-form-material"
15
+ type="number"
16
+ class:input-success={valid}
17
+ class:input-error={invalid}
18
+ bind:value
19
+ on:input
20
+ />
21
+ </InputContainer>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ id?: string | undefined;
5
+ label?: string | undefined;
6
+ value?: string | undefined;
7
+ valid?: boolean | undefined;
8
+ invalid?: boolean | undefined;
9
+ required?: boolean | undefined;
10
+ feedback?: string[] | undefined;
11
+ };
12
+ events: {
13
+ input: Event;
14
+ } & {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type NumberInputProps = typeof __propDef.props;
20
+ export type NumberInputEvents = typeof __propDef.events;
21
+ export type NumberInputSlots = typeof __propDef.slots;
22
+ export default class NumberInput extends SvelteComponentTyped<NumberInputProps, NumberInputEvents, NumberInputSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,20 @@
1
+ <script>import InputContainer from "./InputContainer.svelte";
2
+ export let id = "";
3
+ export let label = "";
4
+ export let value = "";
5
+ export let valid = false;
6
+ export let invalid = false;
7
+ export let required = false;
8
+ export let feedback = [""];
9
+ </script>
10
+
11
+ <InputContainer {label} {feedback} {required}>
12
+ <textarea
13
+ {id}
14
+ class="textarea variant-form-material"
15
+ class:input-success={valid}
16
+ class:input-error={invalid}
17
+ bind:value
18
+ on:input
19
+ />
20
+ </InputContainer>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ id?: string | undefined;
5
+ label?: string | undefined;
6
+ value?: string | undefined;
7
+ valid?: boolean | undefined;
8
+ invalid?: boolean | undefined;
9
+ required?: boolean | undefined;
10
+ feedback?: string[] | undefined;
11
+ };
12
+ events: {
13
+ input: Event;
14
+ } & {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type TextAreaProps = typeof __propDef.props;
20
+ export type TextAreaEvents = typeof __propDef.events;
21
+ export type TextAreaSlots = typeof __propDef.slots;
22
+ export default class TextArea extends SvelteComponentTyped<TextAreaProps, TextAreaEvents, TextAreaSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,21 @@
1
+ <script>import InputContainer from "./InputContainer.svelte";
2
+ export let id = "";
3
+ export let label = "";
4
+ export let value = "";
5
+ export let valid = false;
6
+ export let invalid = false;
7
+ export let required = false;
8
+ export let feedback = [""];
9
+ </script>
10
+
11
+ <InputContainer {label} {feedback} {required}>
12
+ <input
13
+ {id}
14
+ class="input variant-form-material"
15
+ type="text"
16
+ class:input-success={valid}
17
+ class:input-error={invalid}
18
+ bind:value
19
+ on:input
20
+ />
21
+ </InputContainer>
@@ -0,0 +1,24 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ id?: string | undefined;
5
+ label?: string | undefined;
6
+ value?: string | undefined;
7
+ valid?: boolean | undefined;
8
+ invalid?: boolean | undefined;
9
+ required?: boolean | undefined;
10
+ feedback?: string[] | undefined;
11
+ };
12
+ events: {
13
+ input: Event;
14
+ } & {
15
+ [evt: string]: CustomEvent<any>;
16
+ };
17
+ slots: {};
18
+ };
19
+ export type TextInputProps = typeof __propDef.props;
20
+ export type TextInputEvents = typeof __propDef.events;
21
+ export type TextInputSlots = typeof __propDef.slots;
22
+ export default class TextInput extends SvelteComponentTyped<TextInputProps, TextInputEvents, TextInputSlots> {
23
+ }
24
+ export {};
@@ -0,0 +1,9 @@
1
+ <div
2
+ class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite] text-secundary-500"
3
+ role="status"
4
+ >
5
+ <span
6
+ class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
7
+ >Loading...</span
8
+ >
9
+ </div>