@cloudparker/moldex.js 4.1.5 → 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 -208
  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,103 +0,0 @@
1
- <script lang="ts">
2
- import { ripple } from '../../../../../actions/ripple.js';
3
-
4
-
5
- import Icon from '../../../icon/components/icon/icon.svelte';
6
- import { mdiEyeOffOutline, mdiEyeOutline } from '../../../icon/index.js';
7
- import InputField, { type InputFieldProps } from '../input-field/input-field.svelte';
8
-
9
- let {
10
- type = 'password',
11
- size,
12
- appearance,
13
- buttonClassName,
14
- iconClassName,
15
- name,
16
- id,
17
- value = $bindable(),
18
- ...props
19
- }: InputFieldProps & {
20
- buttonClassName?: string;
21
- iconClassName?: string;
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
-
52
- let inputFieldRef: any | null = $state(null);
53
-
54
- export function focus() {
55
- inputFieldRef?.focus();
56
- }
57
-
58
- export function getElement() {
59
- return inputFieldRef;
60
- }
61
-
62
- export function select() {
63
- inputFieldRef && inputFieldRef.select();
64
- }
65
-
66
- function handleTogglePassword() {
67
- if (type == 'password') {
68
- type = 'text';
69
- } else {
70
- type = 'password';
71
- }
72
- }
73
-
74
-
75
- </script>
76
-
77
- {#snippet showPasswordButton()}
78
- <button
79
- id="btn-eye-{name || id}"
80
- type="button"
81
- class="h-full px-3 hover:bg-neutral-100 focus:outline-primary {btnRoundedClassName} {buttonClassName}"
82
- use:ripple
83
- onclick={handleTogglePassword}
84
- >
85
- <Icon
86
- path={type == 'password' ? mdiEyeOffOutline : mdiEyeOutline}
87
- className=" {btnIconSizeClassName} {iconClassName}"
88
- />
89
- </button>
90
- {/snippet}
91
-
92
- <InputField
93
- bind:this={inputFieldRef}
94
- {...props}
95
- {type}
96
- {id}
97
- {name}
98
- maxlength={props?.maxlength || 200}
99
- rightSnippet={showPasswordButton}
100
- {size}
101
- {appearance}
102
- bind:value
103
- />
@@ -1,12 +0,0 @@
1
- import { type InputFieldProps } from '../input-field/input-field.svelte';
2
- type $$ComponentProps = InputFieldProps & {
3
- buttonClassName?: string;
4
- iconClassName?: string;
5
- };
6
- declare const PasswordField: import("svelte").Component<$$ComponentProps, {
7
- focus: () => void;
8
- getElement: () => any;
9
- select: () => void;
10
- }, "value">;
11
- type PasswordField = ReturnType<typeof PasswordField>;
12
- export default PasswordField;
@@ -1,207 +0,0 @@
1
- <script module lang="ts">
2
- export type LibPhoneNumberParseType = {
3
- isValid: () => boolean;
4
- nationalNumber: string;
5
- countryCallingCode: string;
6
- };
7
-
8
- export type LibPhoneNumberType = {
9
- parsePhoneNumber: (phoneNumber: string, dialCode?: string) => LibPhoneNumberParseType;
10
- };
11
-
12
- export type CountryType = {
13
- name: string;
14
- dialCode: string;
15
- isoCode: string;
16
- };
17
-
18
- export type EasyCountryDataType = {
19
- getCountries: () => CountryType[];
20
- getCountry: (params: { name?: string; dialCode?: string; isoCode?: string }) => CountryType;
21
- };
22
- </script>
23
-
24
- <script lang="ts">
25
- import { ripple } from '../../../../../actions';
26
- import { openPickerDialog } from '../../../../../services';
27
- import EasyScriptLoader from '@cloudparker/easy-script-loader-svelte';
28
- import InputField, { type InputFieldProps } from '../input-field/input-field.svelte';
29
-
30
- let {
31
- id,
32
- name,
33
- value = $bindable(''),
34
- size,
35
- appearance,
36
- buttonClassName,
37
- className,
38
- dialCode = $bindable('+1'),
39
- floatingLabel,
40
- labelClassName,
41
- ...props
42
- }: InputFieldProps & {
43
- buttonClassName?: string;
44
- dialCode?: string;
45
- } = $props();
46
-
47
- let EasyCountryData: EasyCountryDataType;
48
- let LibPhonenumber: LibPhoneNumberType | null = $state(null);
49
- let inputFieldRef: any | null = $state(null);
50
-
51
- let dailCodeValue = $derived.by(() => {
52
- if (value && LibPhonenumber) {
53
- let { dialCode } = validatePhoneNumber(value);
54
- return dialCode;
55
- }
56
- return formatDialCode(dialCode);
57
- });
58
-
59
- let phoneNumberValue = $derived.by(() => {
60
- if (value && LibPhonenumber) {
61
- let { phoneNumber } = validatePhoneNumber(value);
62
- return phoneNumber;
63
- }
64
- return '';
65
- });
66
-
67
- let btnRoundedClassName = $derived.by(() => {
68
- if (!appearance || appearance == 'normal') {
69
- return 'rounded-tl-lg rounded-bl-lg';
70
- }
71
- });
72
-
73
- function validatePhoneNumber(number: string) {
74
- try {
75
- let parsed = LibPhonenumber?.parsePhoneNumber(number as string);
76
- if (parsed && parsed.isValid()) {
77
- return {
78
- phoneNumber: parsed.nationalNumber || '',
79
- dialCode: formatDialCode(parsed.countryCallingCode)
80
- };
81
- }
82
- } catch (error) {}
83
- return {};
84
- }
85
-
86
- export function focus() {
87
- inputFieldRef?.focus();
88
- }
89
-
90
- export function getElement() {
91
- return inputFieldRef;
92
- }
93
-
94
- export function select() {
95
- inputFieldRef && inputFieldRef.select();
96
- }
97
-
98
- function formatDialCode(dialcode: string) {
99
- dialcode = `${dialCode}`.trim();
100
- return dialCode.startsWith('+') ? dialcode : `+${dialCode}`;
101
- }
102
-
103
- async function handleDialCodePicker() {
104
- if (EasyCountryData) {
105
- let items = EasyCountryData.getCountries();
106
- let res: string = await openPickerDialog<string>({
107
- value: dialCode,
108
- items,
109
- identityFieldName: 'dialCode',
110
- itemTileSnippet: dialCodePickerItemTile
111
- });
112
-
113
- if (res) {
114
- dialCode = res;
115
- if (dialCode && phoneNumberValue) {
116
- value = `${dialCode}${phoneNumberValue}`;
117
- }
118
- inputFieldRef && inputFieldRef.focus();
119
- }
120
- }
121
- }
122
-
123
- function handleEasyCountryDataScriptLoad(lib: EasyCountryDataType) {
124
- EasyCountryData = lib;
125
- }
126
-
127
- function handleLibphonenumberScriptLoad(lib: LibPhoneNumberType) {
128
- LibPhonenumber = lib;
129
- }
130
-
131
- function handleNumberInput(ev: InputEvent) {
132
- let target: HTMLInputElement = ev.target as HTMLInputElement;
133
- let text: string = target?.value || '';
134
- let { phoneNumber } = validatePhoneNumber(`${dialCode}${text}`);
135
- if (phoneNumber) {
136
- value = `${dialCode}${phoneNumber}`;
137
- }
138
- }
139
-
140
- function handleNumberKeyDown(ev: KeyboardEvent) {
141
- if (
142
- !(
143
- (ev.key >= '0' && ev.key <= '9') ||
144
- ev.key === 'Backspace' ||
145
- ev.key === 'Delete' ||
146
- ev.key === 'ArrowLeft' ||
147
- ev.key === 'ArrowRight' ||
148
- ev.key === 'ArrowUp' ||
149
- ev.key === 'ArrowDown' ||
150
- ev.key === 'Tab'
151
- )
152
- ) {
153
- ev.preventDefault();
154
- }
155
- }
156
- </script>
157
-
158
- {#snippet dialCodePickerItemTile(item: any, index: number)}
159
- <div class="w-14 text-sm font-bold text-neutral">
160
- {item.dialCode}
161
- </div>
162
- <div class="flex-grow">
163
- {item.name}
164
- </div>
165
- {/snippet}
166
-
167
- {#snippet showDialCodeButton()}
168
- <button
169
- id="btn-dialcode-picker-{name || id}"
170
- type="button"
171
- class="w-16 h-full hover:bg-gray-100 font-bold text-gray-400 focus:outline-primary {btnRoundedClassName} {buttonClassName}"
172
- use:ripple
173
- onclick={handleDialCodePicker}
174
- >
175
- {dailCodeValue}
176
- </button>
177
- {/snippet}
178
-
179
- <EasyScriptLoader
180
- scriptName="EasyCountryData"
181
- scriptUrl="https://cdn.jsdelivr.net/gh/paramanandapradhan/easy-countrydata@main/dist/index.js"
182
- onLoad={handleEasyCountryDataScriptLoad}
183
- />
184
-
185
- <EasyScriptLoader
186
- scriptName="libphonenumber"
187
- scriptUrl="https://unpkg.com/libphonenumber-js@1.11.7/bundle/libphonenumber-min.js"
188
- onLoad={handleLibphonenumberScriptLoad}
189
- />
190
-
191
- <InputField
192
- {...props}
193
- bind:this={inputFieldRef}
194
- value={phoneNumberValue}
195
- type="tel"
196
- {id}
197
- {name}
198
- maxlength={props?.maxlength || 12}
199
- leftSnippet={showDialCodeButton}
200
- {size}
201
- {appearance}
202
- {floatingLabel}
203
- className="pl-16 {className}"
204
- labelClassName=" {floatingLabel ? 'peer-placeholder-shown:ps-16' : ''} {labelClassName}"
205
- onInput={handleNumberInput}
206
- onKeyDown={handleNumberKeyDown}
207
- />
@@ -1,33 +0,0 @@
1
- export type LibPhoneNumberParseType = {
2
- isValid: () => boolean;
3
- nationalNumber: string;
4
- countryCallingCode: string;
5
- };
6
- export type LibPhoneNumberType = {
7
- parsePhoneNumber: (phoneNumber: string, dialCode?: string) => LibPhoneNumberParseType;
8
- };
9
- export type CountryType = {
10
- name: string;
11
- dialCode: string;
12
- isoCode: string;
13
- };
14
- export type EasyCountryDataType = {
15
- getCountries: () => CountryType[];
16
- getCountry: (params: {
17
- name?: string;
18
- dialCode?: string;
19
- isoCode?: string;
20
- }) => CountryType;
21
- };
22
- import { type InputFieldProps } from '../input-field/input-field.svelte';
23
- type $$ComponentProps = InputFieldProps & {
24
- buttonClassName?: string;
25
- dialCode?: string;
26
- };
27
- declare const PhoneField: import("svelte").Component<$$ComponentProps, {
28
- focus: () => void;
29
- getElement: () => any;
30
- select: () => void;
31
- }, "value" | "dialCode">;
32
- type PhoneField = ReturnType<typeof PhoneField>;
33
- export default PhoneField;
@@ -1,151 +0,0 @@
1
- <script lang="ts" module>
2
- export type RadioValuetype = string | boolean | number | Date;
3
- export type RadioItem = { value: any; label: string; desc?: string };
4
- export type RadioItems = (RadioValuetype | RadioItem)[];
5
- export type RadioPosition = 'left' | 'right';
6
- export type RadioDiration = 'vertical' | 'horizontal';
7
- export type RadioPropsType = {
8
- className?: string;
9
- groupContainerClassName?: string;
10
- hasPrimitiveItemsData?: boolean;
11
- id?: string;
12
- items?: RadioItems;
13
- labelClassName?: string;
14
- name?: string;
15
- position?: RadioPosition;
16
- direction?: RadioDiration;
17
- radioContainerClassName?: string;
18
- required?: boolean;
19
- subtitle?: string;
20
- subtitleClassName?: string;
21
- title?: string;
22
- titleClassName?: string;
23
- value?: RadioValuetype;
24
- descClassName?: string;
25
- onChange?: (value: RadioValuetype) => void;
26
- };
27
- </script>
28
-
29
- <script lang="ts">
30
- let {
31
- direction = 'vertical',
32
- className,
33
- groupContainerClassName,
34
- id,
35
- items = [],
36
- labelClassName,
37
- name,
38
- position = 'left',
39
- radioContainerClassName,
40
- required,
41
- subtitle,
42
- subtitleClassName,
43
- title,
44
- titleClassName,
45
- value = $bindable(),
46
- descClassName,
47
- onChange
48
- }: RadioPropsType = $props();
49
-
50
- let hasPrimitiveItemsData = $derived.by(() => {
51
- if (items?.length) {
52
- let item = items[0];
53
- if (typeof item === 'object' && item !== null) {
54
- return false;
55
- }
56
- }
57
- return true;
58
- });
59
-
60
- let fieldsetId = $derived.by(() => {
61
- if (id) {
62
- return id;
63
- } else {
64
- return name;
65
- }
66
- });
67
-
68
- let preparedItems: RadioItem[] = $derived.by(() => {
69
- if (items?.length) {
70
- if (hasPrimitiveItemsData) {
71
- return items.map((item) => ({ label: item, value: item }) as RadioItem);
72
- } else {
73
- return items as RadioItem[];
74
- }
75
- }
76
- return [];
77
- });
78
-
79
- function handleChange(ev: Event, item: RadioItem) {
80
- value = item.value;
81
- if (onChange && value) {
82
- onChange(value);
83
- }
84
- }
85
- </script>
86
-
87
- {#snippet labelSnippet(item: RadioItem, index: number)}
88
- <div class="leading-6">
89
- <div class="ml-4 block text-sm font-medium text-gray-900 flex-grow {labelClassName}">
90
- {item.label || ''}
91
- </div>
92
- {#if item.desc}
93
- <div class="ml-4 block text-xs text-gray-500 flex-grow {descClassName}">
94
- {item.desc || ''}
95
- </div>
96
- {/if}
97
- </div>
98
- {/snippet}
99
-
100
- <fieldset id={fieldsetId}>
101
- {#if title}
102
- <legend
103
- class="text-sm font-semibold leading-6 text-gray-900 {required
104
- ? 'required'
105
- : ''} {titleClassName}">{title}</legend
106
- >
107
- {/if}
108
- {#if subtitle}
109
- <p class="mt-1 text-sm leading-6 text-gray-600 {subtitleClassName}">{subtitle}</p>
110
- {/if}
111
-
112
- <div
113
- class="{title || subtitle ? 'mt-6' : ''} {direction == 'vertical'
114
- ? 'space-y-4'
115
- : 'space-x-6 flex items-center'} {groupContainerClassName} "
116
- >
117
- {#each preparedItems || [] as item, index}
118
- <label
119
- class="flex items-center cursor-pointer select-none {radioContainerClassName}"
120
- for="option-{index}"
121
- >
122
- {#if position == 'right'}
123
- {@render labelSnippet(item, index)}
124
- {/if}
125
-
126
- <input
127
- id="option-{index}"
128
- {name}
129
- type="radio"
130
- value={item.value}
131
- checked={value === item.value}
132
- class="h-6 w-6 appearance-none rounded-full bg-neutral-200 dark:bg-neutral-700 dark:checked:bg-primary checked:bg-primary checked:hover:bg-primary checked:focus:bg-primary focus:ring-primary focus:shadow-primary outline-primary border-neutral-300 dark:border-neutral-600 {className}"
133
- onchange={(ev) => handleChange(ev, item)}
134
- />
135
-
136
- {#if position == 'left'}
137
- {@render labelSnippet(item, index)}
138
- {/if}
139
- </label>
140
- {/each}
141
- </div>
142
- </fieldset>
143
-
144
- <style>
145
- [type='radio']:checked {
146
- background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
147
- background-size: 100% 100%;
148
- background-position: center;
149
- background-repeat: no-repeat;
150
- }
151
- </style>
@@ -1,32 +0,0 @@
1
- export type RadioValuetype = string | boolean | number | Date;
2
- export type RadioItem = {
3
- value: any;
4
- label: string;
5
- desc?: string;
6
- };
7
- export type RadioItems = (RadioValuetype | RadioItem)[];
8
- export type RadioPosition = 'left' | 'right';
9
- export type RadioDiration = 'vertical' | 'horizontal';
10
- export type RadioPropsType = {
11
- className?: string;
12
- groupContainerClassName?: string;
13
- hasPrimitiveItemsData?: boolean;
14
- id?: string;
15
- items?: RadioItems;
16
- labelClassName?: string;
17
- name?: string;
18
- position?: RadioPosition;
19
- direction?: RadioDiration;
20
- radioContainerClassName?: string;
21
- required?: boolean;
22
- subtitle?: string;
23
- subtitleClassName?: string;
24
- title?: string;
25
- titleClassName?: string;
26
- value?: RadioValuetype;
27
- descClassName?: string;
28
- onChange?: (value: RadioValuetype) => void;
29
- };
30
- declare const RadioField: import("svelte").Component<RadioPropsType, {}, "value">;
31
- type RadioField = ReturnType<typeof RadioField>;
32
- export default RadioField;
@@ -1,119 +0,0 @@
1
- <script lang="ts">
2
- import InputField, { type InputFieldSize } from '../input-field/input-field.svelte';
3
-
4
- type RangeFieldPropsType = {
5
- id?: string;
6
- name?: string;
7
- className?: string;
8
- size?: InputFieldSize;
9
- value?: number;
10
- min?: number;
11
- max?: number;
12
- step?: number;
13
- thumbSize?: string;
14
- thumbColor?: string;
15
- oninput?: (ev: any) => void;
16
- onfocus?: (ev: any) => void;
17
- onblur?: (ev: any) => void;
18
- };
19
-
20
- let {
21
- id,
22
- value = $bindable(0),
23
- size = 'md',
24
- min = 0,
25
- max = 100,
26
- name,
27
- step,
28
- className,
29
- thumbSize = '16px',
30
- oninput,
31
- onblur,
32
- onfocus
33
- }: RangeFieldPropsType = $props();
34
-
35
- let rangeSizeClassName = $derived.by(() => {
36
- let className = '';
37
- switch (size) {
38
- case 'lg':
39
- className = 'h-3 ';
40
- break;
41
- case 'md':
42
- className = 'h-2 ';
43
- break;
44
- case 'sm':
45
- className = 'h-1 ';
46
- break;
47
- case 'xs':
48
- className = 'h-2-px ';
49
- break;
50
- }
51
- return className;
52
- });
53
-
54
- let inputRef: HTMLInputElement | null = $state(null);
55
-
56
- export function getElement() {
57
- return inputRef;
58
- }
59
-
60
- export function focus() {
61
- return inputRef && inputRef.focus();
62
- }
63
-
64
- export function select() {
65
- return inputRef && inputRef.select();
66
- }
67
- </script>
68
-
69
- <input
70
- bind:this={inputRef}
71
- bind:value
72
- {id}
73
- {name}
74
- type="range"
75
- class="range-slider range-lg w-full cursor-pointer appearance-none rounded-lg bg-gray-200 outline-none focus:outline-none dark:bg-gray-700 {rangeSizeClassName} {className}"
76
- {min}
77
- {max}
78
- {step}
79
- style="--thumbSize: {thumbSize};"
80
- {oninput}
81
- {onfocus}
82
- {onblur}
83
- />
84
-
85
- <style>
86
- .h-2-px {
87
- height: 2px;
88
- }
89
-
90
- .range-slider {
91
- appearance: none;
92
- -webkit-appearance: none;
93
- }
94
- .range-slider::-webkit-slider-thumb {
95
- -webkit-appearance: none;
96
- width: var(--thumbSize);
97
- height: var(--thumbSize);
98
- background-color: var(--color-primary-600);
99
- border-radius: 50%;
100
- }
101
-
102
- /* Thumb styling for Firefox */
103
- .range-slider::-moz-range-thumb {
104
- -moz-appearance: none;
105
- width: var(--thumbSize);
106
- height: var(--thumbSize);
107
- background-color: var(--color-primary-600);
108
- border-radius: 50%;
109
- }
110
-
111
- /* Thumb styling for Edge */
112
- .range-slider::-ms-thumb {
113
- -ms-appearance: none;
114
- width: var(--thumbSize);
115
- height: var(--thumbSize);
116
- background-color: var(--color-primary-600);
117
- border-radius: 50%;
118
- }
119
- </style>
@@ -1,23 +0,0 @@
1
- import { type InputFieldSize } from '../input-field/input-field.svelte';
2
- type RangeFieldPropsType = {
3
- id?: string;
4
- name?: string;
5
- className?: string;
6
- size?: InputFieldSize;
7
- value?: number;
8
- min?: number;
9
- max?: number;
10
- step?: number;
11
- thumbSize?: string;
12
- thumbColor?: string;
13
- oninput?: (ev: any) => void;
14
- onfocus?: (ev: any) => void;
15
- onblur?: (ev: any) => void;
16
- };
17
- declare const RangeField: import("svelte").Component<RangeFieldPropsType, {
18
- getElement: () => HTMLInputElement | null;
19
- focus: () => void | null;
20
- select: () => void | null;
21
- }, "value">;
22
- type RangeField = ReturnType<typeof RangeField>;
23
- export default RangeField;