@cloudparker/moldex.js 0.0.65 → 0.0.66

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 (92) hide show
  1. package/dist/services/dialog/dialog-service.d.ts +11 -11
  2. package/dist/services/navigation/navigation-service.d.ts +17 -0
  3. package/dist/services/navigation/navigation-service.js +38 -0
  4. package/dist/services/utils/melody-service.d.ts +5 -0
  5. package/dist/services/utils/melody-service.js +41 -0
  6. package/dist/tailwind.css +1 -1
  7. package/dist/views/core/button/components/button/button.svelte +84 -133
  8. package/dist/views/core/button/components/button/button.svelte.d.ts +8 -7
  9. package/dist/views/core/button/components/button-back/button-back.svelte +16 -29
  10. package/dist/views/core/button/components/button-close/button-close.svelte +2 -4
  11. package/dist/views/core/button/components/button-close/button-close.svelte.d.ts +2 -2
  12. package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte +16 -30
  13. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte +80 -0
  14. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte.d.ts +38 -0
  15. package/dist/views/core/button/components/button-list-item/button-list-item.svelte +65 -132
  16. package/dist/views/core/button/components/button-list-item/button-list-item.svelte.d.ts +22 -31
  17. package/dist/views/core/button/components/button-menu/button-menu.svelte +72 -235
  18. package/dist/views/core/button/components/button-menu/button-menu.svelte.d.ts +23 -43
  19. package/dist/views/core/button/components/button-ok/button-ok.svelte +2 -4
  20. package/dist/views/core/button/components/button-ok/button-ok.svelte.d.ts +2 -2
  21. package/dist/views/core/button/components/button-search/button-search.svelte +39 -0
  22. package/dist/views/core/button/components/button-search/button-search.svelte.d.ts +31 -0
  23. package/dist/views/core/button/index.d.ts +8 -5
  24. package/dist/views/core/button/index.js +4 -2
  25. package/dist/views/core/content-area/components/content-area.svelte +27 -40
  26. package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte +33 -49
  27. package/dist/views/core/dialog/components/dialog/dialog.svelte +164 -263
  28. package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +12 -12
  29. package/dist/views/core/dialog/components/list-dialog/list-picker-dialog.svelte +112 -158
  30. package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte +18 -30
  31. package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte +13 -22
  32. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte +35 -41
  33. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte.d.ts +2 -2
  34. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte +25 -40
  35. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte.d.ts +2 -2
  36. package/dist/views/core/dialog/index.d.ts +2 -2
  37. package/dist/views/core/drawer/components/drawer/drawer.svelte +35 -57
  38. package/dist/views/core/icon/components/icon/icon.svelte +14 -26
  39. package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte +25 -44
  40. package/dist/views/core/input/components/color-field/color-field.svelte +69 -81
  41. package/dist/views/core/input/components/color-field/color-field.svelte.d.ts +2 -2
  42. package/dist/views/core/input/components/combobox-field/combobox-field.svelte +256 -331
  43. package/dist/views/core/input/components/combobox-field/combobox-field.svelte.d.ts +18 -17
  44. package/dist/views/core/input/components/date-field/date-field.svelte +30 -39
  45. package/dist/views/core/input/components/date-field/date-field.svelte.d.ts +2 -2
  46. package/dist/views/core/input/components/datetime-field/datetime-field.svelte +12 -18
  47. package/dist/views/core/input/components/datetime-field/datetime-field.svelte.d.ts +2 -2
  48. package/dist/views/core/input/components/email-field/email-field.svelte +12 -17
  49. package/dist/views/core/input/components/email-field/email-field.svelte.d.ts +2 -2
  50. package/dist/views/core/input/components/file-field/file-field.svelte +64 -78
  51. package/dist/views/core/input/components/file-field/file-field.svelte.d.ts +2 -2
  52. package/dist/views/core/input/components/input-field/input-field.svelte +159 -261
  53. package/dist/views/core/input/components/input-field/input-field.svelte.d.ts +8 -8
  54. package/dist/views/core/input/components/label/label.svelte +10 -24
  55. package/dist/views/core/input/components/number-field/number-field.svelte +12 -18
  56. package/dist/views/core/input/components/number-field/number-field.svelte.d.ts +2 -2
  57. package/dist/views/core/input/components/password-field/password-field.svelte +57 -70
  58. package/dist/views/core/input/components/password-field/password-field.svelte.d.ts +2 -2
  59. package/dist/views/core/input/components/phone-field/phone-field.svelte +118 -172
  60. package/dist/views/core/input/components/phone-field/phone-field.svelte.d.ts +2 -2
  61. package/dist/views/core/input/components/radio-field/radio-field.svelte +53 -84
  62. package/dist/views/core/input/components/radio-field/radio-field.svelte.d.ts +7 -7
  63. package/dist/views/core/input/components/range-field/range-field.svelte +42 -66
  64. package/dist/views/core/input/components/range-field/range-field.svelte.d.ts +2 -2
  65. package/dist/views/core/input/components/search-field/search-field.svelte +45 -62
  66. package/dist/views/core/input/components/search-field/search-field.svelte.d.ts +2 -2
  67. package/dist/views/core/input/components/text-field/text-field.svelte +16 -21
  68. package/dist/views/core/input/components/text-field/text-field.svelte.d.ts +2 -2
  69. package/dist/views/core/input/components/textarea-field/textarea-field.svelte +12 -17
  70. package/dist/views/core/input/components/textarea-field/textarea-field.svelte.d.ts +2 -2
  71. package/dist/views/core/input/components/time-field/time-field.svelte +12 -17
  72. package/dist/views/core/input/components/time-field/time-field.svelte.d.ts +2 -2
  73. package/dist/views/core/input/index.d.ts +4 -3
  74. package/dist/views/core/navbar/components/navbar/navbar.svelte +39 -77
  75. package/dist/views/core/no-data/components/no-data/no-data.svelte +20 -37
  76. package/dist/views/core/pagination/components/pagination/pagination.svelte +73 -102
  77. package/dist/views/core/progressbar/components/progressbar/progressbar.svelte +23 -37
  78. package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte +2 -6
  79. package/dist/views/core/screen-detector/components/screen-detector.svelte +9 -13
  80. package/dist/views/core/sidebar/components/sidebar.svelte +23 -36
  81. package/dist/views/core/spinner/components/spinner/spinner.svelte +2 -7
  82. package/dist/views/core/text/components/text-await/text-await.svelte +2 -8
  83. package/dist/views/core/text/components/text-copy/text-copy.svelte +17 -28
  84. package/dist/views/core/text/components/text-country/text-country.svelte +29 -41
  85. package/dist/views/core/text/components/text-country-state/text-country-state.svelte +29 -37
  86. package/dist/views/core/text/components/text-currency/text-currency.svelte +10 -21
  87. package/dist/views/core/text/components/text-date/text-date.svelte +21 -33
  88. package/dist/views/core/text/components/text-email/text-email.svelte +4 -13
  89. package/dist/views/core/text/components/text-html/text-html.svelte +2 -3
  90. package/dist/views/core/text/components/text-phone/text-phone.svelte +4 -13
  91. package/dist/views/core/toast/components/toast/toast.svelte +21 -44
  92. package/package.json +1 -1
@@ -1,161 +1,115 @@
1
- <script lang="ts">
2
- import { ButtonListItem } from '../../..';
3
- import ButtonBack from '../../../button/components/button-back/button-back.svelte';
4
- import ButtonCloseIcon from '../../../button/components/button-close-icon/button-close-icon.svelte';
5
- import ButtonClose from '../../../button/components/button-close/button-close.svelte';
6
- import type { ListItemType } from '../../../button/components/button-list-item/button-list-item.svelte';
7
- import ButtonOk from '../../../button/components/button-ok/button-ok.svelte';
8
- import SearchField from '../../../input/components/search-field/search-field.svelte';
9
- import type { Snippet } from 'svelte';
10
- import type { DialogExportsType } from '../dialog/dialog.svelte';
11
-
12
- type PropsType = {
13
- value?: any | any[];
14
- multiple?: boolean;
15
- items?: any[];
16
- itemSnippet?: Snippet<[any, number]>;
17
- itemTitle?: string;
18
- itemSubtitle?: string;
19
- search?: string | string[];
20
- identity?: string;
21
- iconPath?: string;
22
- hasCheckbox?: boolean;
23
- hasArrow?: boolean;
24
- itemTitleClassName?: string;
25
- itemSubtitleClassName?: string;
26
- okButtonLable?: string;
27
- okButtonClassName?: string;
28
- closeButtonLabel?: string;
29
- closeButtonClassName?: string;
30
- };
31
-
32
- let {
33
- value,
34
- multiple = false,
35
- items,
36
- itemTitle,
37
- itemSubtitle,
38
- hasCheckbox,
39
- hasArrow,
40
- search,
41
- identity,
42
- itemTitleClassName,
43
- itemSubtitleClassName,
44
- okButtonLable = 'Select',
45
- okButtonClassName = '',
46
- closeButtonLabel = 'Close',
47
- closeButtonClassName = '',
48
- itemSnippet,
49
- closeDialog,
50
- setResult
51
- }: PropsType &
52
- DialogExportsType & {
53
- items?: any[];
54
- itemSnippet?: Snippet<[any, number]>;
55
- } = $props();
56
-
57
- let searchText: string = $state('');
58
-
59
- let idField = Symbol('_id');
60
- let searchField = Symbol('_search');
61
-
62
- type CustomListItemType = ListItemType & { [key: symbol]: string };
63
-
64
- let selectedItemsSet: Set<any> = $derived.by(() => {
65
- let set = new Set<any>();
66
- if (value != null) {
67
- if (Array.isArray(value)) {
68
- value.forEach((v) => set.add(v));
69
- } else {
70
- set.add(value);
71
- }
72
- }
73
- return set;
74
- });
75
-
76
- let preparedItems: any[] = $derived.by(() => {
77
- return (items || []).map((item: any, index) => {
78
- let res: CustomListItemType = {
79
- [idField]: identity && item.hasOwnProperty(identity) ? item[identity] : index
80
- };
81
- if (itemTitle) {
82
- res.title = item.hasOwnProperty(itemTitle) ? item[itemTitle] : itemTitle;
83
- }
84
- if (itemSubtitle) {
85
- res.subtitle = item.hasOwnProperty(itemSubtitle) ? item[itemSubtitle] : itemSubtitle;
86
- }
87
- if (search) {
88
- if (typeof search === 'string') {
89
- res[searchField] = (item[search] || '').trim().toLowerCase();
90
- } else {
91
- res[searchField] = (search.map((fieldName) => item[fieldName]).join(' ') || '')
92
- .trim()
93
- .toLowerCase();
94
- }
95
- } else {
96
- res[searchField] = `${res.title || ''} ${res.subtitle || ''}`.trim().toLowerCase();
97
- }
98
- if (selectedItemsSet.has(res[idField])) {
99
- res.isChecked = true;
100
- } else {
101
- res.isChecked = false;
102
- }
103
-
104
- return res;
105
- });
106
- });
107
-
108
- let filteredItems: any[] = $derived.by(() => {
109
- if (searchText) {
110
- return preparedItems.filter((item: any) => {
111
- return item[searchField].indexOf(searchText) >= 0;
112
- });
113
- } else {
114
- return [...preparedItems];
115
- }
116
- });
117
-
118
- function handleSearch(text: string) {
119
- searchText = text;
120
- }
121
-
122
- function handleItemSelected(ev: MouseEvent, item: CustomListItemType, index: number) {
123
- let id = item[idField];
124
- if (multiple) {
125
- if (selectedItemsSet.has(id)) {
126
- selectedItemsSet.delete(id);
127
- } else {
128
- selectedItemsSet.add(id);
129
- }
130
- } else {
131
- selectedItemsSet.clear();
132
- selectedItemsSet.add(id);
133
- }
134
-
135
- items = [...(items || [])];
136
-
137
- if (!multiple) {
138
- if (selectedItemsSet.size) {
139
- setTimeout(() => {
140
- setResult(Array.from(selectedItemsSet)[0]);
141
- closeDialog();
142
- }, 300);
143
- }
144
- }
145
- }
146
-
147
- function handleClose() {
148
- closeDialog();
149
- }
150
-
151
- function handleOk() {
152
- setResult(Array.from(selectedItemsSet));
153
- closeDialog();
154
- }
155
-
156
- $effect(() => {
157
- setResult(null);
158
- });
1
+ <script lang="ts">import { ButtonListItem } from "../../..";
2
+ import ButtonBack from "../../../button/components/button-back/button-back.svelte";
3
+ import ButtonCloseIcon from "../../../button/components/button-close-icon/button-close-icon.svelte";
4
+ import ButtonClose from "../../../button/components/button-close/button-close.svelte";
5
+ import ButtonOk from "../../../button/components/button-ok/button-ok.svelte";
6
+ import SearchField from "../../../input/components/search-field/search-field.svelte";
7
+ let {
8
+ value,
9
+ multiple = false,
10
+ items,
11
+ itemTitle,
12
+ itemSubtitle,
13
+ hasCheckbox,
14
+ hasArrow,
15
+ search,
16
+ identity,
17
+ itemTitleClassName,
18
+ itemSubtitleClassName,
19
+ okButtonLable = "Select",
20
+ okButtonClassName = "",
21
+ closeButtonLabel = "Close",
22
+ closeButtonClassName = "",
23
+ itemSnippet,
24
+ closeDialog,
25
+ setResult
26
+ } = $props();
27
+ let searchText = $state("");
28
+ let idField = Symbol("_id");
29
+ let searchField = Symbol("_search");
30
+ let selectedItemsSet = $derived.by(() => {
31
+ let set = /* @__PURE__ */ new Set();
32
+ if (value != null) {
33
+ if (Array.isArray(value)) {
34
+ value.forEach((v) => set.add(v));
35
+ } else {
36
+ set.add(value);
37
+ }
38
+ }
39
+ return set;
40
+ });
41
+ let preparedItems = $derived.by(() => {
42
+ return (items || []).map((item, index) => {
43
+ let res = {
44
+ [idField]: identity && item.hasOwnProperty(identity) ? item[identity] : index
45
+ };
46
+ if (itemTitle) {
47
+ res.title = item.hasOwnProperty(itemTitle) ? item[itemTitle] : itemTitle;
48
+ }
49
+ if (itemSubtitle) {
50
+ res.subtitle = item.hasOwnProperty(itemSubtitle) ? item[itemSubtitle] : itemSubtitle;
51
+ }
52
+ if (search) {
53
+ if (typeof search === "string") {
54
+ res[searchField] = (item[search] || "").trim().toLowerCase();
55
+ } else {
56
+ res[searchField] = (search.map((fieldName) => item[fieldName]).join(" ") || "").trim().toLowerCase();
57
+ }
58
+ } else {
59
+ res[searchField] = `${res.title || ""} ${res.subtitle || ""}`.trim().toLowerCase();
60
+ }
61
+ if (selectedItemsSet.has(res[idField])) {
62
+ res.isChecked = true;
63
+ } else {
64
+ res.isChecked = false;
65
+ }
66
+ return res;
67
+ });
68
+ });
69
+ let filteredItems = $derived.by(() => {
70
+ if (searchText) {
71
+ return preparedItems.filter((item) => {
72
+ return item[searchField].indexOf(searchText) >= 0;
73
+ });
74
+ } else {
75
+ return [...preparedItems];
76
+ }
77
+ });
78
+ function handleSearch(text) {
79
+ searchText = text;
80
+ }
81
+ function handleItemSelected(ev, item, index) {
82
+ let id = item[idField];
83
+ if (multiple) {
84
+ if (selectedItemsSet.has(id)) {
85
+ selectedItemsSet.delete(id);
86
+ } else {
87
+ selectedItemsSet.add(id);
88
+ }
89
+ } else {
90
+ selectedItemsSet.clear();
91
+ selectedItemsSet.add(id);
92
+ }
93
+ items = [...items || []];
94
+ if (!multiple) {
95
+ if (selectedItemsSet.size) {
96
+ setTimeout(() => {
97
+ setResult(Array.from(selectedItemsSet)[0]);
98
+ closeDialog();
99
+ }, 300);
100
+ }
101
+ }
102
+ }
103
+ function handleClose() {
104
+ closeDialog();
105
+ }
106
+ function handleOk() {
107
+ setResult(Array.from(selectedItemsSet));
108
+ closeDialog();
109
+ }
110
+ $effect(() => {
111
+ setResult(null);
112
+ });
159
113
  </script>
160
114
 
161
115
  <div class="flex gap-3 p-3">
@@ -1,33 +1,21 @@
1
- <script lang="ts">
2
- import { Spinner } from '../../../spinner';
3
- import type { DialogExportsType } from '../dialog/dialog.svelte';
4
-
5
- type PropsType = {
6
- msg?: string;
7
- msgClassName?: string;
8
- spinnerClassName?: string;
9
- containerClassName?: string;
10
- className?: string;
11
- };
12
-
13
- let {
14
- msg = 'Please wait...',
15
- msgClassName,
16
- spinnerClassName,
17
- containerClassName,
18
- className,
19
- setOnOkClick,
20
- setResult,
21
- closeDialog,
22
- setOnData,
23
- ...props
24
- }: PropsType & DialogExportsType = $props();
25
-
26
- setOnData((data: any) => {
27
- if (data?.msg) {
28
- msg = data?.msg || '';
29
- }
30
- });
1
+ <script lang="ts">import { Spinner } from "../../../spinner";
2
+ let {
3
+ msg = "Please wait...",
4
+ msgClassName,
5
+ spinnerClassName,
6
+ containerClassName,
7
+ className,
8
+ setOnOkClick,
9
+ setResult,
10
+ closeDialog,
11
+ setOnData,
12
+ ...props
13
+ } = $props();
14
+ setOnData((data) => {
15
+ if (data?.msg) {
16
+ msg = data?.msg || "";
17
+ }
18
+ });
31
19
  </script>
32
20
 
33
21
  <div class="p-6 {containerClassName}">
@@ -1,25 +1,16 @@
1
- <script lang="ts">
2
- import type { DialogExportsType } from '../dialog/dialog.svelte';
3
-
4
- type PropsType = {
5
- className?: string;
6
- msg?: string;
7
- };
8
-
9
- let {
10
- className,
11
- msg,
12
- setOnOkClick,
13
- setResult,
14
- closeDialog,
15
- }: PropsType & DialogExportsType = $props();
16
-
17
- $effect(() => {
18
- setOnOkClick(() => {
19
- setResult(true);
20
- closeDialog();
21
- });
22
- });
1
+ <script lang="ts">let {
2
+ className,
3
+ msg,
4
+ setOnOkClick,
5
+ setResult,
6
+ closeDialog
7
+ } = $props();
8
+ $effect(() => {
9
+ setOnOkClick(() => {
10
+ setResult(true);
11
+ closeDialog();
12
+ });
13
+ });
23
14
  </script>
24
15
 
25
16
  <div class="p-6 text-base-800 dark:text-base-300 {className}">
@@ -1,47 +1,41 @@
1
- <script lang="ts">
2
- import { showToast } from '../../../../../services';
3
- import { TextField } from '../../../input';
4
- import type { InputValueType } from '../../../input/components/input-field/input-field.svelte';
5
- import type { DialogExportsType } from '../dialog/dialog.svelte';
6
-
7
- type PropsType = {
8
- value?: InputValueType;
9
- label?: string;
10
- name?: string;
11
- maxlength?: number;
12
- className?: string;
13
- autofocus?: boolean;
14
- required?: boolean;
15
- };
16
-
17
- let {
18
- value = $bindable(''),
19
- label,
20
- name,
21
- maxlength,
22
- className,
23
- autofocus,
24
- required,
25
- setOnOkClick,
26
- setResult,
27
- closeDialog,
28
- ...props
29
- }: PropsType & DialogExportsType = $props();
30
-
31
- function handleSubmit(ev: SubmitEvent) {
32
- ev?.preventDefault();
33
- value = ((value as string) || '').trim();
34
- if (required && !value) {
35
- showToast({ msg: 'This is a required field!' });
36
- } else {
37
- setResult(value);
38
- closeDialog();
39
- }
40
- }
1
+ <script lang="ts">import { showToast } from "../../../../../services";
2
+ import { TextField } from "../../../input";
3
+ let {
4
+ value = $bindable(""),
5
+ label,
6
+ name,
7
+ maxlength,
8
+ className,
9
+ autofocus,
10
+ required,
11
+ setOnOkClick,
12
+ setResult,
13
+ closeDialog,
14
+ ...props
15
+ } = $props();
16
+ function handleSubmit(ev) {
17
+ ev?.preventDefault();
18
+ value = (value || "").trim();
19
+ if (required && !value) {
20
+ showToast({ msg: "This is a required field!" });
21
+ } else {
22
+ setResult(value);
23
+ closeDialog();
24
+ }
25
+ }
41
26
  </script>
42
27
 
43
28
  <div class="p-6">
44
29
  <form id="text-field-dialog-form" onsubmit={handleSubmit}>
45
- <TextField {...props} {label} {name} {maxlength} {className} {autofocus} {required} bind:value />
30
+ <TextField
31
+ {...props}
32
+ {label}
33
+ {name}
34
+ {maxlength}
35
+ {className}
36
+ {autofocus}
37
+ {required}
38
+ bind:value
39
+ />
46
40
  </form>
47
41
  </div>
@@ -1,4 +1,4 @@
1
- import type { InputValueType } from '../../../input/components/input-field/input-field.svelte';
1
+ import type { InputValue } from '../../../input/components/input-field/input-field.svelte';
2
2
  import type { DialogExportsType } from '../dialog/dialog.svelte';
3
3
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
4
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -14,7 +14,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
14
14
  z_$$bindings?: Bindings;
15
15
  }
16
16
  declare const TextFieldDialog: $$__sveltets_2_IsomorphicComponent<{
17
- value?: InputValueType;
17
+ value?: InputValue;
18
18
  label?: string;
19
19
  name?: string;
20
20
  maxlength?: number;
@@ -1,43 +1,28 @@
1
- <script lang="ts">
2
- import { showToast } from '../../../../../services';
3
- import { TextareaField, TextField } from '../../../input';
4
- import type { InputValueType } from '../../../input/components/input-field/input-field.svelte';
5
- import type { DialogExportsType } from '../dialog/dialog.svelte';
6
-
7
- type PropsType = {
8
- value?: InputValueType;
9
- label?: string;
10
- name?: string;
11
- maxlength?: number;
12
- className?: string;
13
- autofocus?: boolean;
14
- required?: boolean;
15
- };
16
-
17
- let {
18
- value = $bindable(''),
19
- label,
20
- name,
21
- maxlength,
22
- className,
23
- autofocus,
24
- required,
25
- setOnOkClick,
26
- setResult,
27
- closeDialog,
28
- ...props
29
- }: PropsType & DialogExportsType = $props();
30
-
31
- function handleSubmit(ev: SubmitEvent) {
32
- ev?.preventDefault();
33
- value = ((value as string) || '').trim();
34
- if (required && !value) {
35
- showToast({ msg: 'This is a required field!' });
36
- } else {
37
- setResult(value);
38
- closeDialog();
39
- }
40
- }
1
+ <script lang="ts">import { showToast } from "../../../../../services";
2
+ import { TextareaField, TextField } from "../../../input";
3
+ let {
4
+ value = $bindable(""),
5
+ label,
6
+ name,
7
+ maxlength,
8
+ className,
9
+ autofocus,
10
+ required,
11
+ setOnOkClick,
12
+ setResult,
13
+ closeDialog,
14
+ ...props
15
+ } = $props();
16
+ function handleSubmit(ev) {
17
+ ev?.preventDefault();
18
+ value = (value || "").trim();
19
+ if (required && !value) {
20
+ showToast({ msg: "This is a required field!" });
21
+ } else {
22
+ setResult(value);
23
+ closeDialog();
24
+ }
25
+ }
41
26
  </script>
42
27
 
43
28
  <div class="p-6">
@@ -1,4 +1,4 @@
1
- import type { InputValueType } from '../../../input/components/input-field/input-field.svelte';
1
+ import type { InputValue } from '../../../input/components/input-field/input-field.svelte';
2
2
  import type { DialogExportsType } from '../dialog/dialog.svelte';
3
3
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
4
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -14,7 +14,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
14
14
  z_$$bindings?: Bindings;
15
15
  }
16
16
  declare const TextareaFieldDialog: $$__sveltets_2_IsomorphicComponent<{
17
- value?: InputValueType;
17
+ value?: InputValue;
18
18
  label?: string;
19
19
  name?: string;
20
20
  maxlength?: number;
@@ -1,4 +1,4 @@
1
- import type { DialogExportsType, DialogPropsType, DialogSizeType } from './components/dialog/dialog.svelte';
1
+ import type { DialogExportsType, DialogProps, DialogSize } from './components/dialog/dialog.svelte';
2
2
  import Dialog from './components/dialog/dialog.svelte';
3
3
  export { Dialog, };
4
- export type { DialogExportsType, DialogPropsType, DialogSizeType };
4
+ export type { DialogExportsType, DialogProps, DialogSize };
@@ -1,60 +1,38 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
- import '../../../../../tailwind.css';
5
-
6
- type PositionType = 'left' | 'right' | 'top' | 'bottom';
7
-
8
- type PropsType = {
9
- backdropClassName?: string;
10
- children?: Snippet;
11
- className?: string;
12
- containerClassName?: string;
13
- drawerClassName?: string;
14
- floatingSnippet?: Snippet;
15
- id?: string;
16
- position?: PositionType;
17
- };
18
-
19
- let {
20
- backdropClassName = '',
21
- children,
22
- className = '',
23
- containerClassName = '',
24
- drawerClassName = '',
25
- floatingSnippet,
26
- id = '',
27
- position = 'left'
28
- }: PropsType = $props();
29
-
30
- let isPlaced: boolean = $state(false);
31
- let isOpened: boolean = $state(false);
32
-
33
- function handelBackdropClick() {
34
- toggleDrawer();
35
- }
36
-
37
- export function toggleDrawer() {
38
- if (!isPlaced) {
39
- openDrawer();
40
- } else {
41
- closeDrawer();
42
- }
43
- }
44
-
45
- export function openDrawer() {
46
- isPlaced = true;
47
- setTimeout(() => {
48
- isOpened = true;
49
- }, 0);
50
- }
51
-
52
- export function closeDrawer() {
53
- isOpened = false;
54
- setTimeout(() => {
55
- isPlaced = false;
56
- }, 300);
57
- }
1
+ <script lang="ts">import "../../../../../tailwind.css";
2
+ let {
3
+ backdropClassName = "",
4
+ children,
5
+ className = "",
6
+ containerClassName = "",
7
+ drawerClassName = "",
8
+ floatingSnippet,
9
+ id = "",
10
+ position = "left"
11
+ } = $props();
12
+ let isPlaced = $state(false);
13
+ let isOpened = $state(false);
14
+ function handelBackdropClick() {
15
+ toggleDrawer();
16
+ }
17
+ export function toggleDrawer() {
18
+ if (!isPlaced) {
19
+ openDrawer();
20
+ } else {
21
+ closeDrawer();
22
+ }
23
+ }
24
+ export function openDrawer() {
25
+ isPlaced = true;
26
+ setTimeout(() => {
27
+ isOpened = true;
28
+ }, 0);
29
+ }
30
+ export function closeDrawer() {
31
+ isOpened = false;
32
+ setTimeout(() => {
33
+ isPlaced = false;
34
+ }, 300);
35
+ }
58
36
  </script>
59
37
 
60
38
  {#if isPlaced}