@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,208 +0,0 @@
1
- <script module lang="ts">
2
- export type ButtonAppearance =
3
- | 'none'
4
- | 'primary'
5
- | 'base'
6
- | 'border'
7
- | 'border-neutral'
8
- | 'border-primary';
9
-
10
- export type ButtonSize = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
11
-
12
- export type ButtonType = 'button' | 'submit' | 'reset';
13
-
14
- export type ButtonProps = {
15
- title?: string;
16
- id?: string;
17
- type?: ButtonType;
18
- appearance?: ButtonAppearance;
19
- size?: ButtonSize;
20
- form?: string | null;
21
- className?: string;
22
- iconPath?: string;
23
- iconClassName?: string;
24
- label?: string;
25
- rightIconPath?: string;
26
- rightIconClassName?: string;
27
- spinner?: boolean;
28
- disabled?: boolean;
29
- spinnerClassName?: string;
30
- onlySpinner?: boolean;
31
- children?: Snippet;
32
- hasRipple?: boolean;
33
- rippleColor?: string | 'light' | 'dark';
34
- url?: string;
35
- target?: string;
36
- hasOpenInNew?: boolean;
37
- openInNewIconClassName?: string;
38
- openInNewIcon?: string;
39
- onClick?: (ev: MouseEvent) => void;
40
- onDblClick?: (ev: MouseEvent) => void;
41
- onContextMenu?: (ev: MouseEvent) => void;
42
- onDrop?: (ev: DragEvent) => void;
43
- onDragStart?: (ev: DragEvent) => void;
44
- onDragEnd?: (ev: DragEvent) => void;
45
- onDragEnter?: (ev: DragEvent) => void;
46
- onDragLeave?: (ev: DragEvent) => void;
47
- onDragOver?: (ev: DragEvent) => void;
48
- };
49
- </script>
50
-
51
- <script lang="ts">
52
- import { ripple, type RipplePropsType } from '../../../../../actions/ripple.js';
53
- import { Icon, mdiOpenInNew } from '../../../icon';
54
- import { Spinner } from '../../../spinner';
55
- import type { Snippet } from 'svelte';
56
-
57
- let {
58
- title,
59
- appearance = 'none',
60
- id = '',
61
- form = undefined,
62
- type = 'button',
63
- label = '',
64
- className = '',
65
- iconPath = '',
66
- iconClassName = '',
67
- rightIconPath = '',
68
- rightIconClassName = '',
69
- spinner = false,
70
- disabled = false,
71
- size = 'md',
72
- spinnerClassName = '',
73
- onlySpinner = false,
74
- children,
75
- hasRipple = true,
76
- rippleColor,
77
- onClick = (ev: MouseEvent) => {},
78
- url,
79
- target,
80
- hasOpenInNew,
81
- openInNewIconClassName,
82
- openInNewIcon = mdiOpenInNew,
83
- onDblClick,
84
- onContextMenu,
85
- onDrop,
86
- onDragStart,
87
- onDragEnd,
88
- onDragEnter,
89
- onDragLeave,
90
- onDragOver
91
- }: ButtonProps = $props();
92
-
93
- let btnAppearanceClassName = $derived.by(() => {
94
- switch (appearance) {
95
- case 'none':
96
- return 'text-neutral-800 dark:text-neutral-300 hover:text-neutral-900 disabled:text-neutral-400 dark:disabled:text-neutral-500 dark:hover:text-neutral-200';
97
- case 'base':
98
- return 'text-neutral-800 dark:text-neutral-300 hover:text-neutral-900 disabled:text-neutral-400 dark:disabled:text-neutral-500 dark:hover:text-neutral-200 bg-neutral-200 dark:bg-neutral-700 hover:bg-neutral-300 dark:hover:bg-neutral-600 disabled:hover:bg-neutral-200 dark:disabled:hover:bg-neutral-700 ';
99
- case 'primary':
100
- return 'text-primary-100 hover:text-primary-50 bg-primary-600 hover:bg-primary-500 disabled:text-neutral-400 dark:disabled:text-neutral-500 disabled:bg-neutral-200 dark:disabled:bg-neutral-700 disabled:hover:bg-neutral-200 dark:disabled:hover:bg-neutral-700 ';
101
- case 'border':
102
- case 'border-neutral':
103
- return 'border-2 text-neutral-800 dark:text-neutral-300 hover:text-neutral-900 disabled:text-neutral-400 dark:disabled:text-neutral-500 dark:hover:text-neutral-200 border-neutral-200 hover:border-neutral-300 dark:border-neutral-700 dark:hover:border-neutral-600 dark:disabled:border-neutral-200 dark:disabled:hover:border-neutral-200 dark:disabled:border-neutral-700 dark:disabled:hover:border-neutral-700 ';
104
- case 'border-primary':
105
- return 'border-2 text-primary hover:text-primary-500 disabled:text-neutral-400 dark:disabled:text-neutral-500 border-primary hover:border-primary-500 dark:border-primary-600 dark:hover:border-primary-500 dark:disabled:border-neutral-200 dark:disabled:hover:border-neutral-200 dark:disabled:border-neutral-700 dark:disabled:hover:border-neutral-700 ';
106
- }
107
- });
108
-
109
- let btnSizeClassName = $derived.by(() => {
110
- switch (size) {
111
- case 'none':
112
- return '';
113
- case 'xs':
114
- return 'px-1 py-0 text-xs';
115
- case 'sm':
116
- return 'px-3 py-1 text-sm';
117
- case 'md':
118
- return 'px-4 py-2';
119
- case 'lg':
120
- return 'px-6 py-3 text-lg';
121
- case 'xl':
122
- return 'px-8 py-4 text-xl';
123
- case '2xl':
124
- return 'px-10 py-6 text-2xl';
125
- }
126
- });
127
-
128
- function handleRipple(node: HTMLElement, options?: RipplePropsType) {
129
- if (hasRipple) {
130
- options = options || { color: rippleColor };
131
- return ripple(node, options);
132
- }
133
- return {
134
- destroy() {}
135
- };
136
- }
137
- </script>
138
-
139
- {#snippet buttonContent()}
140
- {#if spinner}
141
- <Spinner className="w-4 h-4 {spinnerClassName}" />
142
- {/if}
143
- {#if !onlySpinner}
144
- {#if iconPath}
145
- <Icon path={iconPath} className="w-6 h-6 {iconClassName}" />
146
- {/if}
147
- {#if label}
148
- <span>{label || ''}</span>
149
- {/if}
150
- {#if rightIconPath}
151
- <Icon path={rightIconPath} className="w-6 h-6 {rightIconClassName}" />
152
- {/if}
153
- {/if}
154
- {/snippet}
155
-
156
- {#if url}
157
- <a
158
- {id}
159
- href={url}
160
- {target}
161
- class="relative w-max flex items-center justify-center gap-2 focus:outline-primary dark:focus:outline-primary rounded {btnSizeClassName} {btnAppearanceClassName} {className}"
162
- onclick={onClick}
163
- use:handleRipple
164
- ondblclick={onDblClick}
165
- oncontextmenu={onContextMenu}
166
- ondrop={onDrop}
167
- ondragstart={onDragStart}
168
- ondragend={onDragEnd}
169
- ondragenter={onDragEnter}
170
- ondragleave={onDragLeave}
171
- ondragover={onDragOver}
172
- {title}
173
- >
174
- {#if children}
175
- {@render children()}
176
- {:else}
177
- {@render buttonContent()}
178
- {/if}
179
- {#if hasOpenInNew}
180
- <Icon path={openInNewIcon} className=" {openInNewIconClassName}" sizeClassName="w-4 h-4" />
181
- {/if}
182
- </a>
183
- {:else}
184
- <button
185
- {id}
186
- {type}
187
- {form}
188
- {title}
189
- class="relative flex items-center justify-center gap-2 focus:outline-primary dark:focus:outline-primary rounded {btnSizeClassName} {btnAppearanceClassName} {className}"
190
- {disabled}
191
- use:handleRipple
192
- onclick={onClick}
193
- ondblclick={onDblClick}
194
- oncontextmenu={onContextMenu}
195
- ondrop={onDrop}
196
- ondragstart={onDragStart}
197
- ondragend={onDragEnd}
198
- ondragenter={onDragEnter}
199
- ondragleave={onDragLeave}
200
- ondragover={onDragOver}
201
- >
202
- {#if children}
203
- {@render children?.()}
204
- {:else}
205
- {@render buttonContent()}
206
- {/if}
207
- </button>
208
- {/if}
@@ -1,42 +0,0 @@
1
- export type ButtonAppearance = 'none' | 'primary' | 'base' | 'border' | 'border-neutral' | 'border-primary';
2
- export type ButtonSize = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
3
- export type ButtonType = 'button' | 'submit' | 'reset';
4
- export type ButtonProps = {
5
- title?: string;
6
- id?: string;
7
- type?: ButtonType;
8
- appearance?: ButtonAppearance;
9
- size?: ButtonSize;
10
- form?: string | null;
11
- className?: string;
12
- iconPath?: string;
13
- iconClassName?: string;
14
- label?: string;
15
- rightIconPath?: string;
16
- rightIconClassName?: string;
17
- spinner?: boolean;
18
- disabled?: boolean;
19
- spinnerClassName?: string;
20
- onlySpinner?: boolean;
21
- children?: Snippet;
22
- hasRipple?: boolean;
23
- rippleColor?: string | 'light' | 'dark';
24
- url?: string;
25
- target?: string;
26
- hasOpenInNew?: boolean;
27
- openInNewIconClassName?: string;
28
- openInNewIcon?: string;
29
- onClick?: (ev: MouseEvent) => void;
30
- onDblClick?: (ev: MouseEvent) => void;
31
- onContextMenu?: (ev: MouseEvent) => void;
32
- onDrop?: (ev: DragEvent) => void;
33
- onDragStart?: (ev: DragEvent) => void;
34
- onDragEnd?: (ev: DragEvent) => void;
35
- onDragEnter?: (ev: DragEvent) => void;
36
- onDragLeave?: (ev: DragEvent) => void;
37
- onDragOver?: (ev: DragEvent) => void;
38
- };
39
- import type { Snippet } from 'svelte';
40
- declare const Button: import("svelte").Component<ButtonProps, {}, "">;
41
- type Button = ReturnType<typeof Button>;
42
- export default Button;
@@ -1,46 +0,0 @@
1
- <script lang="ts">
2
- import { isSmallScreen } from '../../../../../services/index.js';
3
- import { mdiArrowLeft } from '../../../icon/index.js';
4
-
5
- import Button from '../button/button.svelte';
6
-
7
- type PropsType = {
8
- id?: string;
9
- iconPath?: string;
10
- iconClassName?: string;
11
- className?: string;
12
- onlyMobile?: boolean;
13
- onClick?: (ev: MouseEvent) => void;
14
- };
15
-
16
- let {
17
- id,
18
- iconPath = mdiArrowLeft,
19
- iconClassName = '',
20
- className = '',
21
- onlyMobile,
22
- onClick
23
- }: PropsType = $props();
24
-
25
- let isMobileScreen = $derived(isSmallScreen() || false);
26
- </script>
27
-
28
- {#snippet button()}
29
- <Button
30
- {id}
31
- appearance="none"
32
- size="none"
33
- {iconPath}
34
- className="w-12 h-12 rounded-full hover:bg-neutral-50 dark:hover:bg-neutral-900 {className}"
35
- {iconClassName}
36
- {onClick}
37
- />
38
- {/snippet}
39
-
40
- {#if onlyMobile}
41
- {#if isMobileScreen}
42
- {@render button()}
43
- {/if}
44
- {:else}
45
- {@render button()}
46
- {/if}
@@ -1,11 +0,0 @@
1
- type PropsType = {
2
- id?: string;
3
- iconPath?: string;
4
- iconClassName?: string;
5
- className?: string;
6
- onlyMobile?: boolean;
7
- onClick?: (ev: MouseEvent) => void;
8
- };
9
- declare const ButtonBack: import("svelte").Component<PropsType, {}, "">;
10
- type ButtonBack = ReturnType<typeof ButtonBack>;
11
- export default ButtonBack;
@@ -1,7 +0,0 @@
1
- <script lang="ts">
2
- import Button, { type ButtonProps } from '../button/button.svelte';
3
-
4
- let { className, ...props }: ButtonProps = $props();
5
- </script>
6
-
7
- <Button {...props} size="none" className="bg-gray-100 focus:bg-gray-200 p-2 px-4 {className}" />
@@ -1,4 +0,0 @@
1
- import { type ButtonProps } from '../button/button.svelte';
2
- declare const ButtonClose: import("svelte").Component<ButtonProps, {}, "">;
3
- type ButtonClose = ReturnType<typeof ButtonClose>;
4
- export default ButtonClose;
@@ -1,47 +0,0 @@
1
- <script lang="ts">
2
- import { isSmallScreen } from '../../../../../services/index.js';
3
- import { mdiClose } from '../../../icon/index.js';
4
-
5
-
6
- import Button from '../button/button.svelte';
7
-
8
- type PropsType = {
9
- id?: string;
10
- iconPath?: string;
11
- iconClassName?: string;
12
- className?: string;
13
- onlyWeb?: boolean;
14
-
15
- onClick?: (ev: MouseEvent) => void;
16
- };
17
-
18
- let {
19
- id,
20
- iconPath = mdiClose,
21
- iconClassName = '',
22
- className = '',
23
- onlyWeb,
24
- onClick
25
- }: PropsType = $props();
26
-
27
- let isMobileScreen = $state(isSmallScreen() || false);
28
-
29
- </script>
30
-
31
- {#snippet button()}
32
- <Button
33
- {id}
34
- {iconPath}
35
- className="w-12 h-12 rounded-full text-neutral-500 hover:text-neutral-600 hover:bg-neutral-50 dark:hover:bg-neutral-900 transition-all {className}"
36
- {iconClassName}
37
- {onClick}
38
- />
39
- {/snippet}
40
-
41
- {#if onlyWeb}
42
- {#if !isMobileScreen}
43
- {@render button()}
44
- {/if}
45
- {:else}
46
- {@render button()}
47
- {/if}
@@ -1,11 +0,0 @@
1
- type PropsType = {
2
- id?: string;
3
- iconPath?: string;
4
- iconClassName?: string;
5
- className?: string;
6
- onlyWeb?: boolean;
7
- onClick?: (ev: MouseEvent) => void;
8
- };
9
- declare const ButtonCloseIcon: import("svelte").Component<PropsType, {}, "">;
10
- type ButtonCloseIcon = ReturnType<typeof ButtonCloseIcon>;
11
- export default ButtonCloseIcon;
@@ -1,152 +0,0 @@
1
- <script lang="ts">
2
- import { DropdownStateEnum } from '../../../../../types.js';
3
- import Button, {
4
- type ButtonAppearance,
5
- type ButtonSize,
6
- type ButtonType
7
- } from '../button/button.svelte';
8
- import { onMount, type Snippet } from 'svelte';
9
-
10
- export type ButtonDropdownProps = {
11
- appearance?: ButtonAppearance;
12
- size?: ButtonSize;
13
- label?: string;
14
- type?: ButtonType;
15
- children?: Snippet;
16
- dropdownSnippet?: Snippet;
17
- id?: string;
18
- backdropClassName?: string;
19
- className?: string;
20
- containerClassName?: string;
21
- dropdownClassName?: string;
22
- dropdownCloseClassName?: string;
23
- dropdownOpenClassName?: string;
24
- disabled?: boolean;
25
- dropPosition?: 'top' | 'bottom' | 'middle';
26
- };
27
-
28
- let {
29
- id,
30
- appearance,
31
- size,
32
- label,
33
- type,
34
- children,
35
- dropdownSnippet,
36
- backdropClassName = '',
37
- className = '',
38
- containerClassName = '',
39
- dropdownClassName = '',
40
- dropdownCloseClassName = '',
41
- dropdownOpenClassName = '',
42
- disabled = false,
43
- dropPosition = 'bottom',
44
- ...others
45
- }: ButtonDropdownProps = $props();
46
-
47
- let placement = $state(false);
48
- let dropdownState = $state(DropdownStateEnum.CLOSED);
49
- let openUpward = $state(false);
50
- let openMiddle = $state(false);
51
- let buttonElement: HTMLDivElement;
52
-
53
- export function toggleDropdown(ev: MouseEvent | TouchEvent) {
54
- ev.stopPropagation();
55
-
56
- if (placement) {
57
- dropdownState = DropdownStateEnum.CLOSED;
58
- setTimeout(() => (placement = false), 100);
59
- } else {
60
- placement = true;
61
- setTimeout(() => (dropdownState = DropdownStateEnum.OPENED), 1);
62
- adjustDropdownPosition();
63
- }
64
- }
65
-
66
- function adjustDropdownPosition() {
67
- if (buttonElement) {
68
- const rect = buttonElement?.getBoundingClientRect();
69
- const viewportHeight = window.innerHeight;
70
- const spaceBelow = viewportHeight - rect.bottom;
71
- const spaceAbove = rect.top;
72
- const dropdownHeight = 200;
73
-
74
- openUpward = false;
75
- openMiddle = false;
76
-
77
- switch (dropPosition) {
78
- case 'top':
79
- openUpward = true;
80
- break;
81
- case 'middle':
82
- openMiddle = true;
83
- break;
84
- default:
85
- openUpward = spaceBelow < dropdownHeight && spaceAbove > dropdownHeight;
86
- }
87
- }
88
- }
89
-
90
- onMount(() => {
91
- window.addEventListener('resize', adjustDropdownPosition);
92
- });
93
- </script>
94
-
95
- <div class="relative max-w-min {containerClassName}" bind:this={buttonElement}>
96
- <Button
97
- {id}
98
- {type}
99
- {appearance}
100
- {size}
101
- className="flex items-center justify-center flex-nowrap text-start {className}"
102
- onClick={toggleDropdown}
103
- {label}
104
- {disabled}
105
- {...others}
106
- >
107
- {#if children}
108
- {@render children()}
109
- {/if}
110
- </Button>
111
-
112
- {#if placement}
113
- <div
114
- aria-label="backdrop"
115
- id="{id}-dropdown-backdrop"
116
- class="fixed inset-0 z-10 cursor-auto {backdropClassName}"
117
- onmousedown={(e) => {
118
- e.stopPropagation();
119
- e.stopImmediatePropagation();
120
- toggleDropdown(e);
121
- }}
122
- ontouchstart={(e) => {
123
- e.stopPropagation();
124
- e.stopImmediatePropagation();
125
- toggleDropdown(e);
126
- }}
127
- onclick={(e) => {
128
- e.stopPropagation();
129
- e.stopImmediatePropagation();
130
- toggleDropdown(e);
131
- }}
132
- tabindex="-1"
133
- role="presentation"
134
- ></div>
135
-
136
- <div
137
- role="dialog"
138
- class="absolute right-0 z-10 max-h-[50vh] min-w-40 origin-top overflow-y-auto rounded-md bg-white shadow-lg transition duration-100 ease-out dark:bg-neutral-800 dark:shadow-black {dropdownClassName} {dropdownState ===
139
- DropdownStateEnum.OPENED
140
- ? `scale-100 transform opacity-100 ${dropdownOpenClassName}`
141
- : `scale-60 transform opacity-0 ${dropdownCloseClassName}`}"
142
- style={openMiddle
143
- ? 'top: 50%; transform: translateY(-50%);'
144
- : openUpward
145
- ? 'bottom: 100%; margin-bottom: 4px;'
146
- : 'top: 100%; margin-top: 4px;'}
147
- tabindex="-1"
148
- >
149
- {@render dropdownSnippet?.()}
150
- </div>
151
- {/if}
152
- </div>
@@ -1,24 +0,0 @@
1
- import { type ButtonAppearance, type ButtonSize, type ButtonType } from '../button/button.svelte';
2
- import { type Snippet } from 'svelte';
3
- export type ButtonDropdownProps = {
4
- appearance?: ButtonAppearance;
5
- size?: ButtonSize;
6
- label?: string;
7
- type?: ButtonType;
8
- children?: Snippet;
9
- dropdownSnippet?: Snippet;
10
- id?: string;
11
- backdropClassName?: string;
12
- className?: string;
13
- containerClassName?: string;
14
- dropdownClassName?: string;
15
- dropdownCloseClassName?: string;
16
- dropdownOpenClassName?: string;
17
- disabled?: boolean;
18
- dropPosition?: 'top' | 'bottom' | 'middle';
19
- };
20
- declare const ButtonDropdown: import("svelte").Component<ButtonDropdownProps, {
21
- toggleDropdown: (ev: MouseEvent | TouchEvent) => void;
22
- }, "">;
23
- type ButtonDropdown = ReturnType<typeof ButtonDropdown>;
24
- export default ButtonDropdown;