@cloudparker/moldex.js 4.1.6 → 4.1.7

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 (210) hide show
  1. package/package.json +6 -5
  2. package/dist/actions/badge.d.ts +0 -12
  3. package/dist/actions/badge.js +0 -22
  4. package/dist/actions/index.d.ts +0 -3
  5. package/dist/actions/index.js +0 -3
  6. package/dist/actions/no-context-menu.d.ts +0 -3
  7. package/dist/actions/no-context-menu.js +0 -11
  8. package/dist/actions/ripple.css +0 -29
  9. package/dist/actions/ripple.d.ts +0 -7
  10. package/dist/actions/ripple.js +0 -74
  11. package/dist/index.d.ts +0 -3
  12. package/dist/index.js +0 -3
  13. package/dist/services/date/date-service.d.ts +0 -52
  14. package/dist/services/date/date-service.js +0 -206
  15. package/dist/services/dialog/dialog-service.d.ts +0 -112
  16. package/dist/services/dialog/dialog-service.js +0 -357
  17. package/dist/services/index.d.ts +0 -12
  18. package/dist/services/index.js +0 -12
  19. package/dist/services/navigation/navigation-service.d.ts +0 -39
  20. package/dist/services/navigation/navigation-service.js +0 -100
  21. package/dist/services/screen/screen-service.d.ts +0 -17
  22. package/dist/services/screen/screen-service.js +0 -39
  23. package/dist/services/toast/toast-service.d.ts +0 -5
  24. package/dist/services/toast/toast-service.js +0 -26
  25. package/dist/services/utils/color-service.d.ts +0 -46
  26. package/dist/services/utils/color-service.js +0 -73
  27. package/dist/services/utils/currency-service.d.ts +0 -91
  28. package/dist/services/utils/currency-service.js +0 -140
  29. package/dist/services/utils/download-service.d.ts +0 -91
  30. package/dist/services/utils/download-service.js +0 -159
  31. package/dist/services/utils/file-service.d.ts +0 -140
  32. package/dist/services/utils/file-service.js +0 -301
  33. package/dist/services/utils/http-service.d.ts +0 -77
  34. package/dist/services/utils/http-service.js +0 -158
  35. package/dist/services/utils/image-service.d.ts +0 -107
  36. package/dist/services/utils/image-service.js +0 -260
  37. package/dist/services/utils/melody-service.d.ts +0 -5
  38. package/dist/services/utils/melody-service.js +0 -41
  39. package/dist/services/utils/utils-service.d.ts +0 -260
  40. package/dist/services/utils/utils-service.js +0 -413
  41. package/dist/stores/referrer-store/referrer-store.svelte.d.ts +0 -3
  42. package/dist/stores/referrer-store/referrer-store.svelte.js +0 -11
  43. package/dist/stores/screen-size/screen-size-store.svelte.d.ts +0 -18
  44. package/dist/stores/screen-size/screen-size-store.svelte.js +0 -41
  45. package/dist/types.d.ts +0 -6
  46. package/dist/types.js +0 -7
  47. package/dist/views/core/button/components/button/button.svelte +0 -209
  48. package/dist/views/core/button/components/button/button.svelte.d.ts +0 -42
  49. package/dist/views/core/button/components/button-back/button-back.svelte +0 -46
  50. package/dist/views/core/button/components/button-back/button-back.svelte.d.ts +0 -11
  51. package/dist/views/core/button/components/button-close/button-close.svelte +0 -7
  52. package/dist/views/core/button/components/button-close/button-close.svelte.d.ts +0 -4
  53. package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte +0 -47
  54. package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte.d.ts +0 -11
  55. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte +0 -152
  56. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte.d.ts +0 -24
  57. package/dist/views/core/button/components/button-list-item/button-list-item.svelte +0 -184
  58. package/dist/views/core/button/components/button-list-item/button-list-item.svelte.d.ts +0 -48
  59. package/dist/views/core/button/components/button-menu/button-menu.svelte +0 -122
  60. package/dist/views/core/button/components/button-menu/button-menu.svelte.d.ts +0 -32
  61. package/dist/views/core/button/components/button-ok/button-ok.svelte +0 -7
  62. package/dist/views/core/button/components/button-ok/button-ok.svelte.d.ts +0 -4
  63. package/dist/views/core/button/components/button-search/button-search.svelte +0 -75
  64. package/dist/views/core/button/components/button-search/button-search.svelte.d.ts +0 -20
  65. package/dist/views/core/button/components/switch/switch.svelte +0 -70
  66. package/dist/views/core/button/components/switch/switch.svelte.d.ts +0 -11
  67. package/dist/views/core/button/index.d.ts +0 -16
  68. package/dist/views/core/button/index.js +0 -11
  69. package/dist/views/core/common/components/content-area/content-area.svelte +0 -47
  70. package/dist/views/core/common/components/content-area/content-area.svelte.d.ts +0 -12
  71. package/dist/views/core/common/components/loading/loading.svelte +0 -14
  72. package/dist/views/core/common/components/loading/loading.svelte.d.ts +0 -7
  73. package/dist/views/core/common/components/virtual-scrolling/virtual-scrolling-list.svelte +0 -60
  74. package/dist/views/core/common/components/virtual-scrolling/virtual-scrolling-list.svelte.d.ts +0 -11
  75. package/dist/views/core/common/index.d.ts +0 -4
  76. package/dist/views/core/common/index.js +0 -9
  77. package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte +0 -63
  78. package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte.d.ts +0 -15
  79. package/dist/views/core/dialog/components/dialog/dialog.svelte +0 -455
  80. package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +0 -92
  81. package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte +0 -42
  82. package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte.d.ts +0 -12
  83. package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte +0 -22
  84. package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte.d.ts +0 -9
  85. package/dist/views/core/dialog/components/number-field-dialog/number-field-dialog.svelte +0 -57
  86. package/dist/views/core/dialog/components/number-field-dialog/number-field-dialog.svelte.d.ts +0 -14
  87. package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte +0 -207
  88. package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte.d.ts +0 -32
  89. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte +0 -56
  90. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte.d.ts +0 -15
  91. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte +0 -56
  92. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte.d.ts +0 -15
  93. package/dist/views/core/dialog/index.d.ts +0 -4
  94. package/dist/views/core/dialog/index.js +0 -2
  95. package/dist/views/core/drawer/components/drawer/drawer.svelte +0 -110
  96. package/dist/views/core/drawer/components/drawer/drawer.svelte.d.ts +0 -19
  97. package/dist/views/core/drawer/index.d.ts +0 -2
  98. package/dist/views/core/drawer/index.js +0 -2
  99. package/dist/views/core/icon/components/icon/icon.svelte +0 -27
  100. package/dist/views/core/icon/components/icon/icon.svelte.d.ts +0 -12
  101. package/dist/views/core/icon/components/icon-circle/icon-circle.svelte +0 -17
  102. package/dist/views/core/icon/components/icon-circle/icon-circle.svelte.d.ts +0 -8
  103. package/dist/views/core/icon/index.d.ts +0 -4
  104. package/dist/views/core/icon/index.js +0 -4
  105. package/dist/views/core/icon/services/icon-path-service.d.ts +0 -23
  106. package/dist/views/core/icon/services/icon-path-service.js +0 -24
  107. package/dist/views/core/index.d.ts +0 -16
  108. package/dist/views/core/index.js +0 -16
  109. package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte +0 -83
  110. package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte.d.ts +0 -19
  111. package/dist/views/core/input/components/color-field/color-field.svelte +0 -136
  112. package/dist/views/core/input/components/color-field/color-field.svelte.d.ts +0 -11
  113. package/dist/views/core/input/components/combobox-field/combobox-field.svelte +0 -542
  114. package/dist/views/core/input/components/combobox-field/combobox-field.svelte.d.ts +0 -56
  115. package/dist/views/core/input/components/date-field/date-field.svelte +0 -43
  116. package/dist/views/core/input/components/date-field/date-field.svelte.d.ts +0 -11
  117. package/dist/views/core/input/components/datetime-field/datetime-field.svelte +0 -21
  118. package/dist/views/core/input/components/datetime-field/datetime-field.svelte.d.ts +0 -8
  119. package/dist/views/core/input/components/email-field/email-field.svelte +0 -26
  120. package/dist/views/core/input/components/email-field/email-field.svelte.d.ts +0 -8
  121. package/dist/views/core/input/components/file-field/file-field.svelte +0 -105
  122. package/dist/views/core/input/components/file-field/file-field.svelte.d.ts +0 -13
  123. package/dist/views/core/input/components/input-field/input-field.svelte +0 -416
  124. package/dist/views/core/input/components/input-field/input-field.svelte.d.ts +0 -69
  125. package/dist/views/core/input/components/label/label.svelte +0 -48
  126. package/dist/views/core/input/components/label/label.svelte.d.ts +0 -14
  127. package/dist/views/core/input/components/number-field/number-field.svelte +0 -21
  128. package/dist/views/core/input/components/number-field/number-field.svelte.d.ts +0 -8
  129. package/dist/views/core/input/components/password-field/password-field.svelte +0 -103
  130. package/dist/views/core/input/components/password-field/password-field.svelte.d.ts +0 -12
  131. package/dist/views/core/input/components/phone-field/phone-field.svelte +0 -207
  132. package/dist/views/core/input/components/phone-field/phone-field.svelte.d.ts +0 -33
  133. package/dist/views/core/input/components/radio-field/radio-field.svelte +0 -151
  134. package/dist/views/core/input/components/radio-field/radio-field.svelte.d.ts +0 -32
  135. package/dist/views/core/input/components/range-field/range-field.svelte +0 -119
  136. package/dist/views/core/input/components/range-field/range-field.svelte.d.ts +0 -23
  137. package/dist/views/core/input/components/search-field/search-field.svelte +0 -79
  138. package/dist/views/core/input/components/search-field/search-field.svelte.d.ts +0 -12
  139. package/dist/views/core/input/components/text-field/text-field.svelte +0 -30
  140. package/dist/views/core/input/components/text-field/text-field.svelte.d.ts +0 -11
  141. package/dist/views/core/input/components/textarea-field/textarea-field.svelte +0 -26
  142. package/dist/views/core/input/components/textarea-field/textarea-field.svelte.d.ts +0 -8
  143. package/dist/views/core/input/components/time-field/time-field.svelte +0 -20
  144. package/dist/views/core/input/components/time-field/time-field.svelte.d.ts +0 -8
  145. package/dist/views/core/input/index.d.ts +0 -23
  146. package/dist/views/core/input/index.js +0 -20
  147. package/dist/views/core/navbar/components/navbar/navbar.svelte +0 -170
  148. package/dist/views/core/navbar/components/navbar/navbar.svelte.d.ts +0 -38
  149. package/dist/views/core/navbar/index.d.ts +0 -4
  150. package/dist/views/core/navbar/index.js +0 -3
  151. package/dist/views/core/no-data/components/no-data/no-data.svelte +0 -47
  152. package/dist/views/core/no-data/components/no-data/no-data.svelte.d.ts +0 -13
  153. package/dist/views/core/no-data/index.d.ts +0 -2
  154. package/dist/views/core/no-data/index.js +0 -2
  155. package/dist/views/core/pagination/components/pagination/pagination.svelte +0 -151
  156. package/dist/views/core/pagination/components/pagination/pagination.svelte.d.ts +0 -16
  157. package/dist/views/core/pagination/index.d.ts +0 -2
  158. package/dist/views/core/pagination/index.js +0 -2
  159. package/dist/views/core/progressbar/components/progressbar/progressbar.svelte +0 -55
  160. package/dist/views/core/progressbar/components/progressbar/progressbar.svelte.d.ts +0 -11
  161. package/dist/views/core/progressbar/index.d.ts +0 -2
  162. package/dist/views/core/progressbar/index.js +0 -2
  163. package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte +0 -8
  164. package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte.d.ts +0 -6
  165. package/dist/views/core/ruler/index.d.ts +0 -2
  166. package/dist/views/core/ruler/index.js +0 -2
  167. package/dist/views/core/screen-detector/components/screen-detector.svelte +0 -17
  168. package/dist/views/core/screen-detector/components/screen-detector.svelte.d.ts +0 -3
  169. package/dist/views/core/screen-detector/index.d.ts +0 -2
  170. package/dist/views/core/screen-detector/index.js +0 -2
  171. package/dist/views/core/sidebar/components/sidebar.svelte +0 -49
  172. package/dist/views/core/sidebar/components/sidebar.svelte.d.ts +0 -12
  173. package/dist/views/core/sidebar/index.d.ts +0 -2
  174. package/dist/views/core/sidebar/index.js +0 -5
  175. package/dist/views/core/spinner/components/spinner/spinner.svelte +0 -21
  176. package/dist/views/core/spinner/components/spinner/spinner.svelte.d.ts +0 -6
  177. package/dist/views/core/spinner/index.d.ts +0 -2
  178. package/dist/views/core/spinner/index.js +0 -2
  179. package/dist/views/core/text/components/text-await/text-await.svelte +0 -23
  180. package/dist/views/core/text/components/text-await/text-await.svelte.d.ts +0 -10
  181. package/dist/views/core/text/components/text-copy/text-copy.svelte +0 -40
  182. package/dist/views/core/text/components/text-copy/text-copy.svelte.d.ts +0 -10
  183. package/dist/views/core/text/components/text-currency/text-currency.svelte +0 -24
  184. package/dist/views/core/text/components/text-currency/text-currency.svelte.d.ts +0 -11
  185. package/dist/views/core/text/components/text-date/text-date.svelte +0 -40
  186. package/dist/views/core/text/components/text-date/text-date.svelte.d.ts +0 -10
  187. package/dist/views/core/text/components/text-email/text-email.svelte +0 -22
  188. package/dist/views/core/text/components/text-email/text-email.svelte.d.ts +0 -9
  189. package/dist/views/core/text/components/text-html/text-html.svelte +0 -7
  190. package/dist/views/core/text/components/text-html/text-html.svelte.d.ts +0 -6
  191. package/dist/views/core/text/components/text-phone/text-phone.svelte +0 -25
  192. package/dist/views/core/text/components/text-phone/text-phone.svelte.d.ts +0 -9
  193. package/dist/views/core/text/index.d.ts +0 -8
  194. package/dist/views/core/text/index.js +0 -8
  195. package/dist/views/core/toast/components/toast/toast.svelte +0 -64
  196. package/dist/views/core/toast/components/toast/toast.svelte.d.ts +0 -14
  197. package/dist/views/core/toast/index.d.ts +0 -2
  198. package/dist/views/core/toast/index.js +0 -1
  199. package/dist/views/extra/fields/country-combobox-field.svelte +0 -42
  200. package/dist/views/extra/fields/country-combobox-field.svelte.d.ts +0 -8
  201. package/dist/views/extra/index.d.ts +0 -6
  202. package/dist/views/extra/index.js +0 -5
  203. package/dist/views/extra/loaders/country-loader.svelte +0 -44
  204. package/dist/views/extra/loaders/country-loader.svelte.d.ts +0 -16
  205. package/dist/views/extra/texts/text-country-state.svelte +0 -48
  206. package/dist/views/extra/texts/text-country-state.svelte.d.ts +0 -6
  207. package/dist/views/extra/texts/text-country.svelte +0 -21
  208. package/dist/views/extra/texts/text-country.svelte.d.ts +0 -6
  209. package/dist/views/index.d.ts +0 -2
  210. package/dist/views/index.js +0 -2
@@ -1,8 +0,0 @@
1
- import { type InputFieldProps } from '../input-field/input-field.svelte';
2
- declare const EmailField: import("svelte").Component<InputFieldProps, {
3
- focus: () => void;
4
- getElement: () => any;
5
- select: () => void;
6
- }, "value">;
7
- type EmailField = ReturnType<typeof EmailField>;
8
- export default EmailField;
@@ -1,105 +0,0 @@
1
- <script lang="ts">
2
- import { ripple } from '../../../../../actions/ripple.js';
3
- import { openFilePickerDialog } from '../../../../../services/index.js';
4
-
5
-
6
- import Icon from '../../../icon/components/icon/icon.svelte';
7
- import { mdiAttachment } from '../../../icon/index.js';
8
- import InputField, { type InputFieldProps } from '../input-field/input-field.svelte';
9
-
10
- let {
11
- appearance,
12
- size,
13
- className,
14
- accepts = '',
15
- multiple = false,
16
- value = $bindable(null),
17
- ...props
18
- }: InputFieldProps & {
19
- accepts?: string;
20
- multiple?: boolean;
21
- value?: File | File[] | null;
22
- } = $props();
23
-
24
- let btnRoundedClassName = $derived.by(() => {
25
- if (!appearance || appearance == 'normal') {
26
- return 'rounded-tr-lg rounded-br-lg';
27
- }
28
- return '';
29
- });
30
-
31
- let btnIconSizeClassName = $derived.by(() => {
32
- let className = '';
33
- if (size) {
34
- switch (size) {
35
- case 'lg':
36
- className = '!h-7 !w-7';
37
- break;
38
- case 'md':
39
- className = '!h-6 !w-6';
40
- break;
41
- case 'sm':
42
- className = '!h-5 !w-5';
43
- break;
44
- case 'xs':
45
- className = '!h-4 !w-4';
46
- break;
47
- }
48
- }
49
- return className;
50
- });
51
- let fileNameDisplay = $state('');
52
-
53
- let inputFieldRef: any | null = $state(null);
54
-
55
- export function focus() {
56
- inputFieldRef?.focus();
57
- }
58
-
59
- export function getElement() {
60
- return inputFieldRef;
61
- }
62
-
63
- export function select() {
64
- inputFieldRef && inputFieldRef.select();
65
- }
66
-
67
- async function handleFileAttachment<T extends File | File[]>() {
68
- let res: File | File[] | null = null;
69
- res = await openFilePickerDialog<T>(accepts, { multiple: multiple || false });
70
- if (res) {
71
- value = res;
72
- if (multiple) {
73
- let files: File[] = value as File[];
74
- fileNameDisplay = files.map((file) => file.name).join(', ');
75
- } else {
76
- let file: File = value as File;
77
- fileNameDisplay = file.name;
78
- }
79
- }
80
- }
81
- </script>
82
-
83
- {#snippet fileButton()}
84
- <button
85
- id="btn-file-picker"
86
- type="button"
87
- class="h-full px-3 hover:bg-gray-100 focus:outline-primary {btnRoundedClassName} "
88
- use:ripple
89
- onclick={handleFileAttachment}
90
- >
91
- <Icon path={mdiAttachment} className=" {btnIconSizeClassName}"></Icon>
92
- </button>
93
- {/snippet}
94
-
95
- <InputField
96
- bind:this={inputFieldRef}
97
- {...props}
98
- {appearance}
99
- {size}
100
- value={fileNameDisplay}
101
- className="pr-14 {className}"
102
- type="text"
103
- readonly
104
- rightSnippet={fileButton}
105
- />
@@ -1,13 +0,0 @@
1
- import { type InputFieldProps } from '../input-field/input-field.svelte';
2
- type $$ComponentProps = InputFieldProps & {
3
- accepts?: string;
4
- multiple?: boolean;
5
- value?: File | File[] | null;
6
- };
7
- declare const FileField: import("svelte").Component<$$ComponentProps, {
8
- focus: () => void;
9
- getElement: () => any;
10
- select: () => void;
11
- }, "value">;
12
- type FileField = ReturnType<typeof FileField>;
13
- export default FileField;
@@ -1,416 +0,0 @@
1
- <script module lang="ts">
2
- export type InputFieldSize = 'lg' | 'md' | 'sm' | 'xs';
3
- export type InputFieldAppearance =
4
- | 'normal'
5
- | 'box'
6
- | 'fill'
7
- | 'underline'
8
- | 'fill-underline'
9
- | 'none';
10
-
11
- export type InputValue =
12
- | any
13
- | string
14
- | string[]
15
- | number
16
- | number[]
17
- | Date
18
- | Date[]
19
- | File
20
- | File[]
21
- | null
22
- | undefined;
23
-
24
- export type InputFieldProps = {
25
- appearance?: InputFieldAppearance;
26
- ariaControls?: string;
27
- ariaExpanded?: boolean;
28
- autofocus?: boolean;
29
- className?: string;
30
- cols?: number;
31
- containerClassName?: string;
32
- contentSnippet?: Snippet;
33
- contentSnippetClassName?: string;
34
- disabled?: boolean;
35
- floatingLabel?: boolean;
36
- hasRequiredSymbol?: boolean;
37
- iconClassName?: string;
38
- iconPath?: string;
39
- id?: string;
40
- label?: string;
41
- labelClassName?: string;
42
- leftSnippet?: Snippet;
43
- leftSnippetContainerClassName?: string;
44
- max?: number | string;
45
- maxlength?: number;
46
- min?: number | string;
47
- minlength?: number;
48
- multiple?: boolean;
49
- name?: string;
50
- title?: string;
51
- onBlur?: (ev: any) => void;
52
- onChange?: (ev: any) => void;
53
- onClick?: (ev: MouseEvent) => void;
54
- onDblClick?: (ev: MouseEvent) => void;
55
- onDrag?: (ev: DragEvent) => void;
56
- onDragOver?: (ev: DragEvent) => void;
57
- onDrop?: (ev: DragEvent) => void;
58
- onFocus?: (ev: any) => void;
59
- onInput?: (ev: any) => void;
60
- onKeyDown?: (ev: KeyboardEvent) => void;
61
- onKeyPress?: (ev: KeyboardEvent) => void;
62
- onKeyUp?: (ev: KeyboardEvent) => void;
63
- onMouseDown?: (ev: MouseEvent) => void;
64
- onMouseUp?: (ev: MouseEvent) => void;
65
- pattern?: string;
66
- placeholder?: string;
67
- readonly?: boolean;
68
- required?: boolean;
69
- requiredSymbol?: string;
70
- requiredSymbolColor?: string;
71
- rightSnippet?: Snippet;
72
- rightSnippetContainerClassName?: string;
73
- role?: AriaRole;
74
- rows?: number;
75
- size?: InputFieldSize;
76
- step?: number;
77
- type?: HTMLInputTypeAttribute | 'textarea';
78
- value?: InputValue;
79
- };
80
- </script>
81
-
82
- <script lang="ts">
83
- import type { Snippet } from 'svelte';
84
- import type { HTMLInputTypeAttribute, AriaRole } from 'svelte/elements';
85
- import Label from '../label/label.svelte';
86
-
87
- let {
88
- appearance = 'normal',
89
- ariaControls,
90
- ariaExpanded,
91
- autofocus = false,
92
- className = '',
93
- cols,
94
- containerClassName = '',
95
- contentSnippet,
96
- contentSnippetClassName,
97
- disabled = false,
98
- floatingLabel = false,
99
- hasRequiredSymbol = true,
100
- id = '',
101
- label = '',
102
- labelClassName = '',
103
- leftSnippet,
104
- leftSnippetContainerClassName = '',
105
- max,
106
- maxlength,
107
- min,
108
- minlength,
109
- multiple = false,
110
- name = '',
111
- title,
112
- onBlur,
113
- onChange,
114
- onClick,
115
- onDblClick,
116
- onDrag,
117
- onDragOver,
118
- onDrop,
119
- onFocus,
120
- onInput,
121
- onKeyDown,
122
- onKeyPress,
123
- onKeyUp,
124
- onMouseDown,
125
- onMouseUp,
126
- pattern,
127
- placeholder = '',
128
- readonly = false,
129
- required = false,
130
- requiredSymbol = '*',
131
- requiredSymbolColor = 'red',
132
- rightSnippet,
133
- rightSnippetContainerClassName = '',
134
- role,
135
- rows = 5,
136
- size = 'md',
137
- step,
138
- type = 'text',
139
- value = $bindable()
140
- }: InputFieldProps = $props();
141
-
142
- let inputRef: HTMLInputElement | HTMLTextAreaElement | null = $state(null);
143
-
144
- let nameDerived = $derived(name || id);
145
- let idDerived = $derived(id || name);
146
-
147
- let containerClassNameDerived = $derived.by(() => {
148
- if (floatingLabel || leftSnippet != null || rightSnippet != null) {
149
- return (containerClassName || '') + ' relative';
150
- }
151
- return containerClassName;
152
- });
153
-
154
- let sizeClassName = $derived.by(() => {
155
- let sizeClassName = '';
156
- if (size) {
157
- switch (size) {
158
- case 'lg':
159
- sizeClassName = 'p-4 text-neutral';
160
- break;
161
- case 'md':
162
- sizeClassName = 'p-2.5 text-sm';
163
- break;
164
- case 'sm':
165
- sizeClassName = 'p-2 text-xs';
166
- break;
167
- case 'xs':
168
- sizeClassName = 'p-1 text-xs';
169
- break;
170
- }
171
- }
172
- return sizeClassName;
173
- });
174
-
175
- let floatingLabelPaddingClassName = $derived.by(() => {
176
- if (floatingLabel) {
177
- if (size) {
178
- let floatingClassName = '';
179
- switch (size) {
180
- case 'lg':
181
- floatingClassName = ` px-1 peer-focus:px-1 peer-placeholder-shown:px-4 `;
182
- break;
183
- case 'md':
184
- floatingClassName = ' px-1 peer-focus:px-1 peer-placeholder-shown:px-2.5 ';
185
- break;
186
- case 'sm':
187
- floatingClassName = ' px-1 peer-focus:px-1 peer-placeholder-shown:px-2';
188
- break;
189
- case 'xs':
190
- floatingClassName = ' px-0 peer-focus:px-0 peer-placeholder-shown:px-1 ';
191
- break;
192
- }
193
- return floatingClassName;
194
- }
195
- }
196
- return '';
197
- });
198
-
199
- let floatingLabelTextClassName = $derived.by(() => {
200
- let className = '';
201
- if (floatingLabel) {
202
- if (size) {
203
- switch (size) {
204
- case 'lg':
205
- className = 'text-neutral';
206
- break;
207
- case 'md':
208
- className = 'text-sm';
209
- break;
210
- case 'sm':
211
- className = 'text-xs';
212
- break;
213
- case 'xs':
214
- className = 'text-xs';
215
- break;
216
- }
217
- }
218
- }
219
- return className;
220
- });
221
-
222
- let floatingLabelClassName = $derived.by(() => {
223
- if (floatingLabel) {
224
- return `absolute duration-300 transform top-0 rounded -translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-0 peer-placeholder-shown:start-0 peer-focus:start-1 bg-white peer-focus:bg-white dark:bg-neutral-700 peer-focus:bg-neutral-800 peer-placeholder-shown:bg-transparent start-1 ${floatingLabelPaddingClassName} ${floatingLabelTextClassName}`;
225
- }
226
- return '';
227
- });
228
-
229
- let appearanceClassName = $derived.by(() => {
230
- let className = '';
231
- if (appearance) {
232
- switch (appearance) {
233
- case 'normal':
234
- className =
235
- 'border rounded-lg bg-neutral-100 dark:bg-neutral-700 border-neutral-300 dark:border-neutral-500 text-neutral-950 dark:text-neutral-50 focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500 focus:bg-neutral-50 dark:focus:bg-neutral-800 ';
236
- break;
237
- case 'box':
238
- className =
239
- 'border bg-neutral-100 dark:bg-neutral-700 border-neutral-300 dark:border-neutral-500 text-neutral-950 dark:text-neutral-50 focus:ring-primary-500 focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:border-primary-500 focus:bg-neutral-50 dark:focus:bg-neutral-800 ';
240
- break;
241
- case 'fill':
242
- className =
243
- ' border-0 appearance-none focus:ring-0 bg-neutral-100 dark:bg-neutral-700 text-neutral-950 dark:text-neutral-50 focus:bg-neutral-50 dark:focus:bg-neutral-800 ';
244
- break;
245
- case 'underline':
246
- className =
247
- 'bg-transparent border-0 border-b-2 appearance-none focus:ring-0 text-neutral-950 dark:text-neutral-50 border-neutral-300 dark:border-neutral-700 focus:border-primary-500 dark:focus:border-primary-500';
248
- break;
249
- case 'fill-underline':
250
- className =
251
- 'border-0 border-b-2 appearance-none ring-0 text-neutral-950 dark:text-neutral-50 bg-neutral-100 dark:bg-neutral-700 border-neutral-300 dark:border-neutral-500 focus:border-primary-500 dark:focus:border-primary-500 ';
252
- break;
253
- case 'none':
254
- className =
255
- 'border-0 focus:ring-0 appearance-none text-neutral-950 dark:text-neutral-50 bg-transparent dark:bg-transparent focus:bg-neutral-100 dark:focus:bg-neutral-800 hover:bg-neutral-100 dark:hover:bg-neutral-800';
256
- break;
257
- }
258
- }
259
- return className;
260
- });
261
-
262
- export function focus() {
263
- inputRef && inputRef.focus();
264
- }
265
-
266
- export function getElement() {
267
- return inputRef;
268
- }
269
-
270
- export function select() {
271
- return inputRef && (inputRef as HTMLInputElement).select();
272
- }
273
-
274
- export function getBoundingClientRect() {
275
- if (inputRef) {
276
- return inputRef.getBoundingClientRect();
277
- }
278
- }
279
-
280
- $effect(() => {
281
- setTimeout(() => {
282
- if (inputRef && autofocus) {
283
- inputRef.focus();
284
- }
285
- }, 10);
286
- });
287
- </script>
288
-
289
- {#snippet labelSnippet()}
290
- <Label
291
- forName={idDerived}
292
- {label}
293
- className=" {floatingLabel ? '' : 'mb-1 '} {floatingLabelClassName} {labelClassName}"
294
- {required}
295
- {requiredSymbolColor}
296
- {requiredSymbol}
297
- {hasRequiredSymbol}
298
- />
299
- {/snippet}
300
-
301
- {#if !floatingLabel && label}
302
- {@render labelSnippet()}
303
- {/if}
304
-
305
- <div class="w-full {containerClassNameDerived}">
306
- {#if leftSnippet}
307
- <div
308
- class="left-children absolute flex items-center justify-center {leftSnippetContainerClassName}"
309
- >
310
- {@render leftSnippet()}
311
- </div>
312
- {/if}
313
-
314
- {#if type == 'textarea'}
315
- <textarea
316
- bind:this={inputRef}
317
- bind:value
318
- class="peer block w-full outline-none {appearanceClassName} {sizeClassName} {className}"
319
- {title}
320
- id={idDerived}
321
- name={nameDerived}
322
- {placeholder}
323
- {required}
324
- {disabled}
325
- {readonly}
326
- {maxlength}
327
- {minlength}
328
- {rows}
329
- {cols}
330
- onchange={onChange}
331
- oninput={onInput}
332
- onfocus={onFocus}
333
- onblur={onBlur}
334
- ondblclick={onDblClick}
335
- onclick={onClick}
336
- onmousedown={onMouseDown}
337
- onmouseup={onMouseUp}
338
- onkeydown={onKeyDown}
339
- onkeyup={onKeyUp}
340
- onkeypress={onKeyPress}
341
- ondrop={onDrop}
342
- ondrag={onDrag}
343
- ondragover={onDragOver}
344
- ></textarea>
345
- {:else}
346
- <input
347
- bind:this={inputRef}
348
- bind:value
349
- class="peer block w-full outline-none {appearanceClassName} {sizeClassName} {className}"
350
- {title}
351
- {type}
352
- id={idDerived}
353
- name={nameDerived}
354
- {placeholder}
355
- {required}
356
- {disabled}
357
- {readonly}
358
- {maxlength}
359
- {minlength}
360
- {min}
361
- {max}
362
- {step}
363
- {pattern}
364
- {multiple}
365
- {role}
366
- onchange={onChange}
367
- oninput={onInput}
368
- onfocus={onFocus}
369
- onblur={onBlur}
370
- ondblclick={onDblClick}
371
- onclick={onClick}
372
- onmousedown={onMouseDown}
373
- onmouseup={onMouseUp}
374
- onkeydown={onKeyDown}
375
- onkeyup={onKeyUp}
376
- onkeypress={onKeyPress}
377
- ondrop={onDrop}
378
- ondrag={onDrag}
379
- ondragover={onDragOver}
380
- aria-controls={ariaControls}
381
- aria-expanded={ariaExpanded}
382
- />
383
- {/if}
384
- {#if contentSnippet}
385
- <div
386
- class="pointer-events-none absolute inset-0 block w-full overflow-hidden {appearanceClassName} {sizeClassName} {contentSnippetClassName}"
387
- >
388
- {@render contentSnippet()}
389
- </div>
390
- {/if}
391
- {#if rightSnippet}
392
- <div
393
- class="right-children absolute flex items-center justify-center {rightSnippetContainerClassName}"
394
- >
395
- {@render rightSnippet()}
396
- </div>
397
- {/if}
398
-
399
- {#if label && floatingLabel}
400
- {@render labelSnippet()}
401
- {/if}
402
- </div>
403
-
404
- <style>
405
- .left-children {
406
- left: 2px;
407
- top: 2px;
408
- bottom: 2px;
409
- }
410
-
411
- .right-children {
412
- right: 2px;
413
- top: 2px;
414
- bottom: 2px;
415
- }
416
- </style>
@@ -1,69 +0,0 @@
1
- export type InputFieldSize = 'lg' | 'md' | 'sm' | 'xs';
2
- export type InputFieldAppearance = 'normal' | 'box' | 'fill' | 'underline' | 'fill-underline' | 'none';
3
- export type InputValue = any | string | string[] | number | number[] | Date | Date[] | File | File[] | null | undefined;
4
- export type InputFieldProps = {
5
- appearance?: InputFieldAppearance;
6
- ariaControls?: string;
7
- ariaExpanded?: boolean;
8
- autofocus?: boolean;
9
- className?: string;
10
- cols?: number;
11
- containerClassName?: string;
12
- contentSnippet?: Snippet;
13
- contentSnippetClassName?: string;
14
- disabled?: boolean;
15
- floatingLabel?: boolean;
16
- hasRequiredSymbol?: boolean;
17
- iconClassName?: string;
18
- iconPath?: string;
19
- id?: string;
20
- label?: string;
21
- labelClassName?: string;
22
- leftSnippet?: Snippet;
23
- leftSnippetContainerClassName?: string;
24
- max?: number | string;
25
- maxlength?: number;
26
- min?: number | string;
27
- minlength?: number;
28
- multiple?: boolean;
29
- name?: string;
30
- title?: string;
31
- onBlur?: (ev: any) => void;
32
- onChange?: (ev: any) => void;
33
- onClick?: (ev: MouseEvent) => void;
34
- onDblClick?: (ev: MouseEvent) => void;
35
- onDrag?: (ev: DragEvent) => void;
36
- onDragOver?: (ev: DragEvent) => void;
37
- onDrop?: (ev: DragEvent) => void;
38
- onFocus?: (ev: any) => void;
39
- onInput?: (ev: any) => void;
40
- onKeyDown?: (ev: KeyboardEvent) => void;
41
- onKeyPress?: (ev: KeyboardEvent) => void;
42
- onKeyUp?: (ev: KeyboardEvent) => void;
43
- onMouseDown?: (ev: MouseEvent) => void;
44
- onMouseUp?: (ev: MouseEvent) => void;
45
- pattern?: string;
46
- placeholder?: string;
47
- readonly?: boolean;
48
- required?: boolean;
49
- requiredSymbol?: string;
50
- requiredSymbolColor?: string;
51
- rightSnippet?: Snippet;
52
- rightSnippetContainerClassName?: string;
53
- role?: AriaRole;
54
- rows?: number;
55
- size?: InputFieldSize;
56
- step?: number;
57
- type?: HTMLInputTypeAttribute | 'textarea';
58
- value?: InputValue;
59
- };
60
- import type { Snippet } from 'svelte';
61
- import type { HTMLInputTypeAttribute, AriaRole } from 'svelte/elements';
62
- declare const InputField: import("svelte").Component<InputFieldProps, {
63
- focus: () => void;
64
- getElement: () => HTMLInputElement | HTMLTextAreaElement | null;
65
- select: () => void | null;
66
- getBoundingClientRect: () => DOMRect | undefined;
67
- }, "value">;
68
- type InputField = ReturnType<typeof InputField>;
69
- export default InputField;
@@ -1,48 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
- type PropsType = {
5
- forName?: string;
6
- label?: string;
7
- className?: string;
8
- required?: boolean;
9
- children?: Snippet;
10
- requiredSymbolColor?: string;
11
- requiredSymbol?: string;
12
- hasRequiredSymbol?: boolean;
13
- };
14
-
15
- let {
16
- forName,
17
- label = '',
18
- className = '',
19
- required = false,
20
- requiredSymbolColor = 'red',
21
- requiredSymbol = '*',
22
- hasRequiredSymbol = true,
23
- children
24
- }: PropsType = $props();
25
- </script>
26
-
27
- <label
28
- for={forName || ''}
29
- class="block text-sm text-neutral-500 dark:text-neutral-400 {hasRequiredSymbol && required
30
- ? 'required'
31
- : ''} {className}"
32
- style="--requiredSymbolColor:{requiredSymbolColor}; --requiredSymbol: '{requiredSymbol}'; "
33
- >
34
- {#if children}
35
- {@render children()}
36
- {:else}
37
- {label || ''}
38
- {/if}
39
- </label>
40
-
41
- <style>
42
- .required::after {
43
- content: var(--requiredSymbol);
44
- color: var(--requiredSymbolColor);
45
- font-weight: bold;
46
- margin-left: 4px;
47
- }
48
- </style>
@@ -1,14 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- type PropsType = {
3
- forName?: string;
4
- label?: string;
5
- className?: string;
6
- required?: boolean;
7
- children?: Snippet;
8
- requiredSymbolColor?: string;
9
- requiredSymbol?: string;
10
- hasRequiredSymbol?: boolean;
11
- };
12
- declare const Label: import("svelte").Component<PropsType, {}, "">;
13
- type Label = ReturnType<typeof Label>;
14
- export default Label;
@@ -1,21 +0,0 @@
1
- <script lang="ts">
2
- import InputField, { type InputFieldProps } from '../input-field/input-field.svelte';
3
-
4
- let { value = $bindable(), ...props }: InputFieldProps = $props();
5
-
6
- let inputFieldRef: any | null = $state(null);
7
-
8
- export function focus() {
9
- inputFieldRef?.focus();
10
- }
11
-
12
- export function getElement() {
13
- return inputFieldRef;
14
- }
15
-
16
- export function select() {
17
- inputFieldRef && inputFieldRef.select();
18
- }
19
- </script>
20
-
21
- <InputField bind:this={inputFieldRef} {...props} type="number" bind:value />
@@ -1,8 +0,0 @@
1
- import { type InputFieldProps } from '../input-field/input-field.svelte';
2
- declare const NumberField: import("svelte").Component<InputFieldProps, {
3
- focus: () => void;
4
- getElement: () => any;
5
- select: () => void;
6
- }, "value">;
7
- type NumberField = ReturnType<typeof NumberField>;
8
- export default NumberField;