@bexis2/bexis2-core-ui 0.4.97 → 0.4.99

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 (42) hide show
  1. package/README.md +5 -0
  2. package/dist/components/Table/TableContent.svelte +10 -9
  3. package/dist/components/form/Checkbox.svelte +10 -0
  4. package/dist/components/form/Checkbox.svelte.d.ts +1 -0
  5. package/dist/components/form/CheckboxKvPList.svelte +10 -1
  6. package/dist/components/form/CheckboxKvPList.svelte.d.ts +1 -0
  7. package/dist/components/form/CheckboxList.svelte +9 -1
  8. package/dist/components/form/CheckboxList.svelte.d.ts +1 -0
  9. package/dist/components/form/DateInput.svelte +9 -0
  10. package/dist/components/form/DateInput.svelte.d.ts +1 -0
  11. package/dist/components/form/DatePickerInput.svelte +8 -0
  12. package/dist/components/form/DatePickerInput.svelte.d.ts +1 -0
  13. package/dist/components/form/Dropdown.svelte +13 -1
  14. package/dist/components/form/Dropdown.svelte.d.ts +2 -0
  15. package/dist/components/form/DropdownKvP.svelte +12 -1
  16. package/dist/components/form/DropdownKvP.svelte.d.ts +2 -0
  17. package/dist/components/form/MultiSelect.svelte +11 -1
  18. package/dist/components/form/MultiSelect.svelte.d.ts +2 -0
  19. package/dist/components/form/NumberInput.svelte +9 -0
  20. package/dist/components/form/NumberInput.svelte.d.ts +1 -0
  21. package/dist/components/form/TextArea.svelte +9 -0
  22. package/dist/components/form/TextArea.svelte.d.ts +1 -0
  23. package/dist/components/form/TextInput.svelte +9 -0
  24. package/dist/components/form/TextInput.svelte.d.ts +1 -0
  25. package/package.json +1 -1
  26. package/src/lib/components/Table/TableContent.svelte +12 -10
  27. package/src/lib/components/form/Checkbox.svelte +14 -0
  28. package/src/lib/components/form/CheckboxKvPList.svelte +11 -1
  29. package/src/lib/components/form/CheckboxList.svelte +11 -1
  30. package/src/lib/components/form/DateInput.svelte +12 -0
  31. package/src/lib/components/form/DatePickerInput.svelte +10 -0
  32. package/src/lib/components/form/Dropdown.svelte +13 -1
  33. package/src/lib/components/form/DropdownKvP.svelte +12 -1
  34. package/src/lib/components/form/MultiSelect.svelte +11 -1
  35. package/src/lib/components/form/NumberInput.svelte +10 -0
  36. package/src/lib/components/form/TextArea.svelte +10 -0
  37. package/src/lib/components/form/TextInput.svelte +11 -0
  38. package/dist/css/themes/theme-bexis2.css_old +0 -100
  39. package/dist/themes/theme-bexis2 copy.d.ts +0 -2
  40. package/dist/themes/theme-bexis2 copy.js +0 -112
  41. package/src/lib/css/themes/theme-bexis2.css_old +0 -100
  42. package/src/lib/themes/theme-bexis2 copy.ts +0 -114
package/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # bexis-core-ui
2
2
 
3
+ ## 0.4.98
4
+ - Table:
5
+ - fix column read detection
6
+
7
+
3
8
  ## 0.4.97
4
9
  - Table:
5
10
  - handle 20 000+ rows client side
@@ -98,20 +98,21 @@ const table = createTable(data, {
98
98
  export: addDataExport({ format: "json" })
99
99
  });
100
100
  const allCols = {};
101
+ $data.forEach((item) => {
102
+ Object.keys(item).forEach((key) => {
103
+ if (!allCols[key]) {
104
+ allCols[key] = {};
105
+ }
106
+ });
107
+ });
101
108
  if (columns && Object.keys(columns).length > 0) {
102
109
  Object.keys(columns).forEach((key) => {
103
110
  if (optionsComponent !== void 0 && key === "optionsColumn") {
104
111
  return;
105
112
  }
106
- allCols[key] = {};
107
- });
108
- } else {
109
- $data.forEach((item) => {
110
- Object.keys(item).forEach((key) => {
111
- if (!allCols[key]) {
112
- allCols[key] = {};
113
- }
114
- });
113
+ if (!allCols[key]) {
114
+ allCols[key] = {};
115
+ }
115
116
  });
116
117
  }
117
118
  Object.keys(allCols).forEach((key) => {
@@ -1,17 +1,27 @@
1
1
  <script>import InputContainer from "./InputContainer.svelte";
2
2
  export let id = "";
3
3
  export let label = "";
4
+ export let title = "";
4
5
  export let checked = false;
5
6
  export let valid;
6
7
  export let invalid;
7
8
  export let required;
8
9
  export let feedback;
9
10
  export let description = "";
11
+ $: {
12
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
13
+ label = title;
14
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
15
+ title = label;
16
+ }
17
+ }
10
18
  </script>
11
19
 
20
+
12
21
  <InputContainer {label} {feedback} {required} {description}>
13
22
  <input
14
23
  {id}
24
+ {title}
15
25
  class="input variant-form-material bg-zinc-50 dark:bg-zinc-50"
16
26
  type="checkbox"
17
27
  class:input-success={valid}
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  id?: string;
5
5
  label?: string;
6
+ title?: string;
6
7
  checked?: boolean;
7
8
  valid: boolean;
8
9
  invalid: boolean;
@@ -3,19 +3,28 @@ export let id;
3
3
  export let source;
4
4
  export let target;
5
5
  export let title;
6
+ export let label;
6
7
  export let description = "";
7
8
  export let key;
8
9
  export let help = false;
9
10
  export let vertical = false;
11
+ $: {
12
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
13
+ label = title;
14
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
15
+ title = label;
16
+ }
17
+ }
10
18
  let required = false;
11
19
  export let feedback;
12
20
  </script>
13
21
 
14
- <InputContainer {id} label={title} {feedback} {required} {help} {description}>
22
+ <InputContainer {id} {label} {feedback} {required} {help} {description}>
15
23
  <div class="flex gap-2" class:flex-col={vertical}>
16
24
  {#each source as item}
17
25
  <label class="flex items-center space-x-2" for={item.key}>
18
26
  <input
27
+ {title}
19
28
  class="checkbox"
20
29
  type="checkbox"
21
30
  bind:group={target}
@@ -5,6 +5,7 @@ declare const __propDef: {
5
5
  source: any;
6
6
  target: any;
7
7
  title: any;
8
+ label: any;
8
9
  description?: string;
9
10
  key: any;
10
11
  help?: boolean;
@@ -2,13 +2,21 @@
2
2
  export let source;
3
3
  export let target;
4
4
  export let title;
5
+ export let label;
5
6
  export let description = "";
6
7
  export let key;
8
+ $: {
9
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
10
+ label = title;
11
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
12
+ title = label;
13
+ }
14
+ }
7
15
  export let required = false;
8
16
  export let feedback;
9
17
  </script>
10
18
 
11
- <InputContainer label={title} {feedback} {required} {description}>
19
+ <InputContainer {label} {feedback} {required} {description}>
12
20
  {#each source as item}
13
21
  <label class="flex items-center space-x-2" for={item}>
14
22
  <input class="checkbox" type="checkbox" bind:group={target} value={item} id={item} />
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  source: any;
5
5
  target: any;
6
6
  title: any;
7
+ label: any;
7
8
  description?: string;
8
9
  key: any;
9
10
  required?: boolean;
@@ -1,6 +1,7 @@
1
1
  <script>import InputContainer from "./InputContainer.svelte";
2
2
  export let id = "";
3
3
  export let label = "";
4
+ export let title = "";
4
5
  export let value = "";
5
6
  export let valid = false;
6
7
  export let invalid = false;
@@ -11,6 +12,13 @@ export let disabled = false;
11
12
  export let description = "";
12
13
  export let showDescription = false;
13
14
  export let showIcon = false;
15
+ $: {
16
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
17
+ label = title;
18
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
19
+ title = label;
20
+ }
21
+ }
14
22
  </script>
15
23
 
16
24
  <InputContainer
@@ -27,6 +35,7 @@ export let showIcon = false;
27
35
  >
28
36
  <input
29
37
  {id}
38
+ {title}
30
39
  class="input variant-form-material bg-zinc-50 dark:bg-zinc-700 placeholder:text-gray-400"
31
40
  type="date"
32
41
  class:input-success={valid}
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  id?: string;
5
5
  label?: string;
6
+ title?: string;
6
7
  value?: string;
7
8
  valid?: boolean;
8
9
  invalid?: boolean;
@@ -4,6 +4,7 @@ import InputContainer from "./InputContainer.svelte";
4
4
  import SveltyPicker from "svelty-picker";
5
5
  export let id = "";
6
6
  export let label = "";
7
+ export let title = "";
7
8
  export let value = "";
8
9
  export let valid = false;
9
10
  export let invalid = false;
@@ -31,6 +32,13 @@ if (mode === "datetime" && (format === "yyyy-mm-dd" || displayFormat === "yyyy-m
31
32
  if (mode === "datetime") {
32
33
  width = "w-64";
33
34
  }
35
+ $: {
36
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
37
+ label = title;
38
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
39
+ title = label;
40
+ }
41
+ }
34
42
  </script>
35
43
 
36
44
  <InputContainer
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  id?: string;
5
5
  label?: string;
6
+ title?: string;
6
7
  value?: string;
7
8
  valid?: boolean;
8
9
  invalid?: boolean;
@@ -5,6 +5,7 @@
5
5
  export let source;
6
6
  export let target;
7
7
  export let title;
8
+ export let label;
8
9
  export let valid = false;
9
10
  export let invalid = false;
10
11
  export let feedback = [''];
@@ -27,11 +28,21 @@
27
28
  function updatedTarget(value) {
28
29
  target = value;
29
30
  }
31
+
32
+ $: {
33
+ if ((!label || label.trim() === '') && title && title.trim() !== '') {
34
+ label = title;
35
+ } else if ((!title || title.trim() === '') && label && label.trim() !== '') {
36
+ title = label;
37
+ }
38
+ }
39
+
40
+
30
41
  </script>
31
42
 
32
43
  <InputContainer
33
44
  {id}
34
- label={title}
45
+ {label}
35
46
  {feedback}
36
47
  {required}
37
48
  {help}
@@ -43,6 +54,7 @@
43
54
  >
44
55
  <select
45
56
  {id}
57
+ {title}
46
58
  class="select variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
47
59
  class:input-success={valid}
48
60
  class:input-error={invalid}
@@ -5,6 +5,7 @@ export default class Dropdown extends SvelteComponent<{
5
5
  id: any;
6
6
  target: any;
7
7
  title: any;
8
+ label: any;
8
9
  source: any;
9
10
  description?: string | undefined;
10
11
  showDescription?: boolean | undefined;
@@ -32,6 +33,7 @@ declare const __propDef: {
32
33
  id: any;
33
34
  target: any;
34
35
  title: any;
36
+ label: any;
35
37
  source: any;
36
38
  description?: string | undefined;
37
39
  showDescription?: boolean | undefined;
@@ -5,6 +5,7 @@
5
5
  export let source;
6
6
  export let target;
7
7
  export let title;
8
+ export let label;
8
9
  export let valid = false;
9
10
  export let invalid = false;
10
11
  export let feedback = [''];
@@ -36,11 +37,20 @@
36
37
  target = id;
37
38
  }
38
39
  }
40
+
41
+ $: {
42
+ if ((!label || label.trim() === '') && title && title.trim() !== '') {
43
+ label = title;
44
+ } else if ((!title || title.trim() === '') && label && label.trim() !== '') {
45
+ title = label;
46
+ }
47
+ }
48
+
39
49
  </script>
40
50
 
41
51
  <InputContainer
42
52
  {id}
43
- label={title}
53
+ {label}
44
54
  {feedback}
45
55
  {required}
46
56
  {help}
@@ -52,6 +62,7 @@
52
62
  >
53
63
  <select
54
64
  {id}
65
+ {title}
55
66
  class="select variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
56
67
  class:input-success={valid}
57
68
  class:input-error={invalid}
@@ -5,6 +5,7 @@ export default class DropdownKvP extends SvelteComponent<{
5
5
  id: any;
6
6
  target: any;
7
7
  title: any;
8
+ label: any;
8
9
  source: any;
9
10
  description?: string | undefined;
10
11
  showDescription?: boolean | undefined;
@@ -33,6 +34,7 @@ declare const __propDef: {
33
34
  id: any;
34
35
  target: any;
35
36
  title: any;
37
+ label: any;
36
38
  source: any;
37
39
  description?: string | undefined;
38
40
  showDescription?: boolean | undefined;
@@ -9,6 +9,7 @@
9
9
  export let target;
10
10
  export let id;
11
11
  export let title;
12
+ export let label;
12
13
  export let itemId = 'value';
13
14
  export let itemLabel = 'label';
14
15
  export let itemGroup = '';
@@ -30,6 +31,15 @@
30
31
 
31
32
  let isLoaded = false;
32
33
 
34
+ $: {
35
+ if ((!label || label.trim() === '') && title && title.trim() !== '') {
36
+ label = title;
37
+ } else if ((!title || title.trim() === '') && label && label.trim() !== '') {
38
+ title = label;
39
+ }
40
+ }
41
+
42
+
33
43
  $: value = '';
34
44
  $: updateTarget(value);
35
45
  $: (target, setValue(target));
@@ -303,7 +313,7 @@
303
313
 
304
314
  <InputContainer
305
315
  {id}
306
- label={title}
316
+ {label}
307
317
  {feedback}
308
318
  {required}
309
319
  {help}
@@ -5,6 +5,7 @@ export default class MultiSelect extends SvelteComponent<{
5
5
  id: any;
6
6
  target: any;
7
7
  title: any;
8
+ label: any;
8
9
  source: any;
9
10
  description?: string | undefined;
10
11
  showDescription?: boolean | undefined;
@@ -49,6 +50,7 @@ declare const __propDef: {
49
50
  id: any;
50
51
  target: any;
51
52
  title: any;
53
+ label: any;
52
54
  source: any;
53
55
  description?: string | undefined;
54
56
  showDescription?: boolean | undefined;
@@ -3,6 +3,7 @@ import { helpStore } from "../../stores/pageStores";
3
3
  import { convertServerColumns } from "../Table/utils";
4
4
  export let id = "";
5
5
  export let label = "";
6
+ export let title = "";
6
7
  export let value = "";
7
8
  export let valid = false;
8
9
  export let invalid = false;
@@ -16,6 +17,13 @@ export let showDescription = false;
16
17
  export let showIcon = false;
17
18
  export let min = void 0;
18
19
  export let max = void 0;
20
+ $: {
21
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
22
+ label = title;
23
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
24
+ title = label;
25
+ }
26
+ }
19
27
  $: if (max != void 0 && parseInt(value) > max) {
20
28
  value = max.toString();
21
29
  }
@@ -38,6 +46,7 @@ $: if (min != void 0 && parseInt(value) < min) {
38
46
  >
39
47
  <input
40
48
  {id}
49
+ {title}
41
50
  class="input variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
42
51
  type="number"
43
52
  class:input-success={valid}
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  id?: string;
5
5
  label?: string;
6
+ title?: string;
6
7
  value?: string;
7
8
  valid?: boolean;
8
9
  invalid?: boolean;
@@ -1,6 +1,7 @@
1
1
  <script>import InputContainer from "./InputContainer.svelte";
2
2
  export let id = "";
3
3
  export let label = "";
4
+ export let title = "";
4
5
  export let value = "";
5
6
  export let valid = false;
6
7
  export let invalid = false;
@@ -12,6 +13,13 @@ export let disabled = false;
12
13
  export let description = "";
13
14
  export let showDescription = false;
14
15
  export let showIcon = false;
16
+ $: {
17
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
18
+ label = title;
19
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
20
+ title = label;
21
+ }
22
+ }
15
23
  </script>
16
24
 
17
25
  <InputContainer
@@ -28,6 +36,7 @@ export let showIcon = false;
28
36
  >
29
37
  <textarea
30
38
  {id}
39
+ {title}
31
40
  class="textarea variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
32
41
  class:input-success={valid}
33
42
  class:input-error={invalid}
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  id?: string;
5
5
  label?: string;
6
+ title?: string;
6
7
  value?: string;
7
8
  valid?: boolean;
8
9
  invalid?: boolean;
@@ -1,6 +1,7 @@
1
1
  <script>import InputContainer from "./InputContainer.svelte";
2
2
  export let id = "";
3
3
  export let label = "";
4
+ export let title = "";
4
5
  export let value = "";
5
6
  export let valid = false;
6
7
  export let invalid = false;
@@ -12,6 +13,13 @@ export let disabled = false;
12
13
  export let description = "";
13
14
  export let showDescription = false;
14
15
  export let showIcon = false;
16
+ $: {
17
+ if ((!label || label.trim() === "") && title && title.trim() !== "") {
18
+ label = title;
19
+ } else if ((!title || title.trim() === "") && label && label.trim() !== "") {
20
+ title = label;
21
+ }
22
+ }
15
23
  </script>
16
24
 
17
25
  <InputContainer
@@ -28,6 +36,7 @@ export let showIcon = false;
28
36
  >
29
37
  <input
30
38
  {id}
39
+ {title}
31
40
  class="input variant-form-material dark:bg-zinc-700 bg-zinc-50 placeholder:text-gray-400"
32
41
  type="text"
33
42
  class:input-success={valid}
@@ -3,6 +3,7 @@ declare const __propDef: {
3
3
  props: {
4
4
  id?: string;
5
5
  label?: string;
6
+ title?: string;
6
7
  value?: string;
7
8
  valid?: boolean;
8
9
  invalid?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bexis2/bexis2-core-ui",
3
- "version": "0.4.97",
3
+ "version": "0.4.99",
4
4
  "private": false,
5
5
  "description": "Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte).",
6
6
  "keywords": [
@@ -111,22 +111,24 @@
111
111
  export: addDataExport({ format: 'json' })
112
112
  });
113
113
 
114
- // Build column keys without scanning all rows when column config is already provided.
114
+ // Build column keys from the incoming data model and merge explicit config as extras.
115
115
  const allCols: { [key: string]: any } = {};
116
+ $data.forEach((item) => {
117
+ Object.keys(item).forEach((key) => {
118
+ if (!allCols[key]) {
119
+ allCols[key] = {};
120
+ }
121
+ });
122
+ });
123
+
116
124
  if (columns && Object.keys(columns).length > 0) {
117
125
  Object.keys(columns).forEach((key) => {
118
126
  if (optionsComponent !== undefined && key === 'optionsColumn') {
119
127
  return;
120
128
  }
121
- allCols[key] = {};
122
- });
123
- } else {
124
- $data.forEach((item) => {
125
- Object.keys(item).forEach((key) => {
126
- if (!allCols[key]) {
127
- allCols[key] = {};
128
- }
129
- });
129
+ if (!allCols[key]) {
130
+ allCols[key] = {};
131
+ }
130
132
  });
131
133
  }
132
134
 
@@ -3,6 +3,7 @@
3
3
 
4
4
  export let id: string = '';
5
5
  export let label: string = '';
6
+ export let title: string = '';
6
7
  export let checked: boolean = false;
7
8
 
8
9
  export let valid: boolean;
@@ -10,11 +11,24 @@
10
11
  export let required: boolean;
11
12
  export let feedback: [];
12
13
  export let description: string = '';
14
+
15
+ $: {
16
+ if ((!label || label.trim() === '') && title && title.trim() !== '') {
17
+ label = title;
18
+ } else if ((!title || title.trim() === '') && label && label.trim() !== '') {
19
+ title = label;
20
+ }
21
+ }
22
+
23
+
24
+
13
25
  </script>
14
26
 
27
+
15
28
  <InputContainer {label} {feedback} {required} {description}>
16
29
  <input
17
30
  {id}
31
+ {title}
18
32
  class="input variant-form-material bg-zinc-50 dark:bg-zinc-50"
19
33
  type="checkbox"
20
34
  class:input-success={valid}
@@ -5,20 +5,30 @@
5
5
  export let source;
6
6
  export let target;
7
7
  export let title;
8
+ export let label
8
9
  export let description = '';
9
10
  export let key;
10
11
  export let help = false;
11
12
  export let vertical = false;
12
13
 
14
+ $: {
15
+ if ((!label || label.trim() === '') && title && title.trim() !== '') {
16
+ label = title;
17
+ } else if ((!title || title.trim() === '') && label && label.trim() !== '') {
18
+ title = label;
19
+ }
20
+ }
21
+
13
22
  let required = false;
14
23
  export let feedback: [];
15
24
  </script>
16
25
 
17
- <InputContainer {id} label={title} {feedback} {required} {help} {description}>
26
+ <InputContainer {id} {label} {feedback} {required} {help} {description}>
18
27
  <div class="flex gap-2" class:flex-col={vertical}>
19
28
  {#each source as item}
20
29
  <label class="flex items-center space-x-2" for={item.key}>
21
30
  <input
31
+ {title}
22
32
  class="checkbox"
23
33
  type="checkbox"
24
34
  bind:group={target}
@@ -4,14 +4,24 @@
4
4
  export let source;
5
5
  export let target;
6
6
  export let title;
7
+ export let label;
7
8
  export let description = '';
8
9
  export let key;
9
10
 
11
+ $: {
12
+ if ((!label || label.trim() === '') && title && title.trim() !== '') {
13
+ label = title;
14
+ } else if ((!title || title.trim() === '') && label && label.trim() !== '') {
15
+ title = label;
16
+ }
17
+ }
18
+
19
+
10
20
  export let required = false;
11
21
  export let feedback: [];
12
22
  </script>
13
23
 
14
- <InputContainer label={title} {feedback} {required} {description}>
24
+ <InputContainer {label} {feedback} {required} {description}>
15
25
  {#each source as item}
16
26
  <label class="flex items-center space-x-2" for={item}>
17
27
  <input class="checkbox" type="checkbox" bind:group={target} value={item} id={item} />
@@ -3,6 +3,7 @@
3
3
 
4
4
  export let id: string = '';
5
5
  export let label: string = '';
6
+ export let title: string = '';
6
7
  export let value: string = '';
7
8
  export let valid: boolean = false;
8
9
  export let invalid: boolean = false;
@@ -13,6 +14,16 @@
13
14
  export let description: string = '';
14
15
  export let showDescription: boolean = false;
15
16
  export let showIcon: boolean = false;
17
+
18
+ $: {
19
+ if ((!label || label.trim() === '') && title && title.trim() !== '') {
20
+ label = title;
21
+ } else if ((!title || title.trim() === '') && label && label.trim() !== '') {
22
+ title = label;
23
+ }
24
+ }
25
+
26
+
16
27
  </script>
17
28
 
18
29
  <InputContainer
@@ -29,6 +40,7 @@
29
40
  >
30
41
  <input
31
42
  {id}
43
+ {title}
32
44
  class="input variant-form-material bg-zinc-50 dark:bg-zinc-700 placeholder:text-gray-400"
33
45
  type="date"
34
46
  class:input-success={valid}