@likable-hair/svelte 3.3.24 → 3.3.26

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 (200) hide show
  1. package/dist/components/composed/buttons/ActivableButton.svelte +2 -6
  2. package/dist/components/composed/buttons/ActivableButton.svelte.d.ts +32 -36
  3. package/dist/components/composed/common/MenuOrDrawer.svelte +5 -21
  4. package/dist/components/composed/common/MenuOrDrawer.svelte.d.ts +36 -50
  5. package/dist/components/composed/common/MenuOrDrawerOptions.svelte +13 -29
  6. package/dist/components/composed/common/MenuOrDrawerOptions.svelte.d.ts +30 -34
  7. package/dist/components/composed/common/QuickActions.svelte +20 -52
  8. package/dist/components/composed/common/QuickActions.svelte.d.ts +20 -24
  9. package/dist/components/composed/common/ToolTip.svelte +22 -31
  10. package/dist/components/composed/common/ToolTip.svelte.d.ts +43 -32
  11. package/dist/components/composed/forms/AsyncAutocomplete.svelte +23 -44
  12. package/dist/components/composed/forms/AsyncAutocomplete.svelte.d.ts +39 -44
  13. package/dist/components/composed/forms/AvatarDropdown.svelte +27 -57
  14. package/dist/components/composed/forms/AvatarDropdown.svelte.d.ts +41 -45
  15. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte +21 -43
  16. package/dist/components/composed/forms/ConfirmOrCancelButtons.svelte.d.ts +37 -41
  17. package/dist/components/composed/forms/CountriesAutocomplete.svelte +7 -16
  18. package/dist/components/composed/forms/CountriesAutocomplete.svelte.d.ts +60 -31
  19. package/dist/components/composed/forms/DatePickerTextField.svelte +114 -166
  20. package/dist/components/composed/forms/DatePickerTextField.svelte.d.ts +63 -67
  21. package/dist/components/composed/forms/Dropdown.svelte +21 -51
  22. package/dist/components/composed/forms/Dropdown.svelte.d.ts +43 -48
  23. package/dist/components/composed/forms/IconsDropdown.svelte +33 -61
  24. package/dist/components/composed/forms/IconsDropdown.svelte.d.ts +26 -30
  25. package/dist/components/composed/forms/LabelAndSelect.svelte +7 -32
  26. package/dist/components/composed/forms/LabelAndSelect.svelte.d.ts +31 -35
  27. package/dist/components/composed/forms/LabelAndTextField.svelte +5 -30
  28. package/dist/components/composed/forms/LabelAndTextField.svelte.d.ts +42 -46
  29. package/dist/components/composed/forms/ToggleList.svelte +33 -59
  30. package/dist/components/composed/forms/ToggleList.svelte.d.ts +17 -21
  31. package/dist/components/composed/forms/YearPickerTextField.svelte +74 -114
  32. package/dist/components/composed/forms/YearPickerTextField.svelte.d.ts +49 -53
  33. package/dist/components/composed/list/DynamicTable.svelte +836 -1227
  34. package/dist/components/composed/list/DynamicTable.svelte.d.ts +365 -369
  35. package/dist/components/composed/list/PaginatedTable.svelte +76 -139
  36. package/dist/components/composed/list/PaginatedTable.svelte.d.ts +108 -108
  37. package/dist/components/composed/progress/HorizontalStackedProgress.svelte +30 -58
  38. package/dist/components/composed/progress/HorizontalStackedProgress.svelte.d.ts +21 -25
  39. package/dist/components/composed/search/DynamicFilters.svelte +149 -159
  40. package/dist/components/composed/search/DynamicFilters.svelte.d.ts +27 -31
  41. package/dist/components/composed/search/FilterEditor.svelte +78 -106
  42. package/dist/components/composed/search/FilterEditor.svelte.d.ts +33 -37
  43. package/dist/components/composed/search/Filters.css +2 -1
  44. package/dist/components/composed/search/Filters.svelte +300 -362
  45. package/dist/components/composed/search/Filters.svelte.d.ts +52 -55
  46. package/dist/components/composed/search/GlobalSearchTextField.svelte +41 -79
  47. package/dist/components/composed/search/GlobalSearchTextField.svelte.d.ts +39 -43
  48. package/dist/components/composed/search/MobileFilterEditor.svelte +93 -135
  49. package/dist/components/composed/search/MobileFilterEditor.svelte.d.ts +35 -39
  50. package/dist/components/composed/search/SearchBar.svelte +5 -28
  51. package/dist/components/composed/search/SearchBar.svelte.d.ts +30 -34
  52. package/dist/components/composed/search/SearchResults.svelte +7 -42
  53. package/dist/components/composed/search/SearchResults.svelte.d.ts +36 -40
  54. package/dist/components/composed/shop/ProductCard.svelte +4 -18
  55. package/dist/components/composed/shop/ProductCard.svelte.d.ts +28 -32
  56. package/dist/components/composed/shop/ProductsGrid.svelte +2 -22
  57. package/dist/components/composed/shop/ProductsGrid.svelte.d.ts +40 -44
  58. package/dist/components/layouts/CollapsibleSideBarLayout.css +6 -9
  59. package/dist/components/layouts/CollapsibleSideBarLayout.svelte +67 -140
  60. package/dist/components/layouts/CollapsibleSideBarLayout.svelte.d.ts +54 -110
  61. package/dist/components/layouts/StableDividedSideBarLayout.svelte +17 -47
  62. package/dist/components/layouts/StableDividedSideBarLayout.svelte.d.ts +32 -50
  63. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte +30 -53
  64. package/dist/components/layouts/UnstableDividedSideBarLayout.svelte.d.ts +63 -103
  65. package/dist/components/simple/buttons/Button.svelte +32 -78
  66. package/dist/components/simple/buttons/Button.svelte.d.ts +35 -47
  67. package/dist/components/simple/buttons/LinkButton.svelte +22 -54
  68. package/dist/components/simple/buttons/LinkButton.svelte.d.ts +33 -50
  69. package/dist/components/simple/charts/GanymedeBarChart.svelte +134 -172
  70. package/dist/components/simple/charts/GanymedeBarChart.svelte.d.ts +46 -50
  71. package/dist/components/simple/charts/GanymedeLineChart.svelte +115 -157
  72. package/dist/components/simple/charts/GanymedeLineChart.svelte.d.ts +47 -51
  73. package/dist/components/simple/charts/GanymedePieChart.svelte +39 -62
  74. package/dist/components/simple/charts/GanymedePieChart.svelte.d.ts +33 -37
  75. package/dist/components/simple/common/Card.svelte +1 -20
  76. package/dist/components/simple/common/Card.svelte.d.ts +38 -51
  77. package/dist/components/simple/common/CollapsibleDivider.svelte +11 -23
  78. package/dist/components/simple/common/CollapsibleDivider.svelte.d.ts +25 -29
  79. package/dist/components/simple/common/Divider.svelte +2 -8
  80. package/dist/components/simple/common/Divider.svelte.d.ts +19 -23
  81. package/dist/components/simple/common/Gesture.svelte +46 -64
  82. package/dist/components/simple/common/Gesture.svelte.d.ts +17 -21
  83. package/dist/components/simple/common/InfiniteScroll.svelte +29 -52
  84. package/dist/components/simple/common/InfiniteScroll.svelte.d.ts +20 -24
  85. package/dist/components/simple/common/IntersectionObserver.svelte +32 -45
  86. package/dist/components/simple/common/IntersectionObserver.svelte.d.ts +21 -34
  87. package/dist/components/simple/common/MediaQuery.svelte +21 -30
  88. package/dist/components/simple/common/MediaQuery.svelte.d.ts +30 -34
  89. package/dist/components/simple/common/Menu.svelte +201 -290
  90. package/dist/components/simple/common/Menu.svelte.d.ts +40 -51
  91. package/dist/components/simple/common/Playground.svelte +17 -18
  92. package/dist/components/simple/common/Playground.svelte.d.ts +15 -19
  93. package/dist/components/simple/common/VerticalDraggableList.svelte +16 -35
  94. package/dist/components/simple/common/VerticalDraggableList.svelte.d.ts +29 -33
  95. package/dist/components/simple/common/materialDesign.css +1 -1
  96. package/dist/components/simple/dashboards/DashboardGridShaper.svelte +26 -32
  97. package/dist/components/simple/dashboards/DashboardGridShaper.svelte.d.ts +12 -16
  98. package/dist/components/simple/dates/Calendar.svelte +28 -52
  99. package/dist/components/simple/dates/Calendar.svelte.d.ts +41 -45
  100. package/dist/components/simple/dates/DatePicker.svelte +60 -90
  101. package/dist/components/simple/dates/DatePicker.svelte.d.ts +40 -44
  102. package/dist/components/simple/dates/MonthSelector.svelte +15 -37
  103. package/dist/components/simple/dates/MonthSelector.svelte.d.ts +31 -35
  104. package/dist/components/simple/dates/TimePicker.svelte +31 -45
  105. package/dist/components/simple/dates/TimePicker.svelte.d.ts +20 -24
  106. package/dist/components/simple/dates/TimePickerTextField.svelte +35 -56
  107. package/dist/components/simple/dates/TimePickerTextField.svelte.d.ts +24 -28
  108. package/dist/components/simple/dates/YearSelector.svelte +29 -54
  109. package/dist/components/simple/dates/YearSelector.svelte.d.ts +31 -35
  110. package/dist/components/simple/dialogs/Dialog.svelte +62 -92
  111. package/dist/components/simple/dialogs/Dialog.svelte.d.ts +28 -42
  112. package/dist/components/simple/forms/Autocomplete.svelte +142 -201
  113. package/dist/components/simple/forms/Autocomplete.svelte.d.ts +79 -83
  114. package/dist/components/simple/forms/Checkbox.svelte +27 -41
  115. package/dist/components/simple/forms/Checkbox.svelte.d.ts +21 -25
  116. package/dist/components/simple/forms/FileInput.svelte +48 -88
  117. package/dist/components/simple/forms/FileInput.svelte.d.ts +33 -37
  118. package/dist/components/simple/forms/FileInputList.svelte +242 -110
  119. package/dist/components/simple/forms/FileInputList.svelte.d.ts +36 -43
  120. package/dist/components/simple/forms/RadioButton.svelte +3 -11
  121. package/dist/components/simple/forms/RadioButton.svelte.d.ts +27 -31
  122. package/dist/components/simple/forms/Select.svelte +3 -16
  123. package/dist/components/simple/forms/Select.svelte.d.ts +20 -24
  124. package/dist/components/simple/forms/SimpleTextField.svelte +6 -53
  125. package/dist/components/simple/forms/SimpleTextField.svelte.d.ts +60 -64
  126. package/dist/components/simple/forms/Switch.svelte +16 -30
  127. package/dist/components/simple/forms/Switch.svelte.d.ts +21 -25
  128. package/dist/components/simple/forms/Textarea.svelte +2 -27
  129. package/dist/components/simple/forms/Textarea.svelte.d.ts +37 -41
  130. package/dist/components/simple/forms/Textfield.svelte +18 -56
  131. package/dist/components/simple/forms/Textfield.svelte.d.ts +51 -55
  132. package/dist/components/simple/forms/TreeEditor.svelte +95 -141
  133. package/dist/components/simple/forms/TreeEditor.svelte.d.ts +38 -42
  134. package/dist/components/simple/forms/TreeEditorItem.svelte +42 -77
  135. package/dist/components/simple/forms/TreeEditorItem.svelte.d.ts +50 -54
  136. package/dist/components/simple/forms/VerticalSwitch.svelte +1 -11
  137. package/dist/components/simple/forms/VerticalSwitch.svelte.d.ts +28 -32
  138. package/dist/components/simple/forms/VerticalTextSwitch.svelte +3 -15
  139. package/dist/components/simple/forms/VerticalTextSwitch.svelte.d.ts +26 -30
  140. package/dist/components/simple/lists/ColorInvertedSelector.svelte +23 -53
  141. package/dist/components/simple/lists/ColorInvertedSelector.svelte.d.ts +42 -46
  142. package/dist/components/simple/lists/HierarchyMenu.svelte +19 -38
  143. package/dist/components/simple/lists/HierarchyMenu.svelte.d.ts +30 -34
  144. package/dist/components/simple/lists/Paginator.svelte +41 -50
  145. package/dist/components/simple/lists/Paginator.svelte.d.ts +19 -23
  146. package/dist/components/simple/lists/SelectableMenuList.svelte +15 -43
  147. package/dist/components/simple/lists/SelectableMenuList.svelte.d.ts +20 -24
  148. package/dist/components/simple/lists/SelectableVerticalList.svelte +57 -99
  149. package/dist/components/simple/lists/SelectableVerticalList.svelte.d.ts +47 -51
  150. package/dist/components/simple/lists/SidebarMenuList.svelte +71 -116
  151. package/dist/components/simple/lists/SidebarMenuList.svelte.d.ts +22 -26
  152. package/dist/components/simple/lists/SimpleTable.svelte +154 -264
  153. package/dist/components/simple/lists/SimpleTable.svelte.d.ts +66 -70
  154. package/dist/components/simple/loaders/CircularLoader.svelte +5 -16
  155. package/dist/components/simple/loaders/CircularLoader.svelte.d.ts +15 -19
  156. package/dist/components/simple/loaders/Skeleton.svelte +2 -3
  157. package/dist/components/simple/loaders/Skeleton.svelte.d.ts +12 -16
  158. package/dist/components/simple/media/AttachmentDownloader.svelte +3 -17
  159. package/dist/components/simple/media/AttachmentDownloader.svelte.d.ts +28 -32
  160. package/dist/components/simple/media/Avatar.svelte +12 -18
  161. package/dist/components/simple/media/Avatar.svelte.d.ts +20 -31
  162. package/dist/components/simple/media/Carousel.svelte +11 -29
  163. package/dist/components/simple/media/Carousel.svelte.d.ts +24 -28
  164. package/dist/components/simple/media/DescriptiveAvatar.svelte +4 -12
  165. package/dist/components/simple/media/DescriptiveAvatar.svelte.d.ts +28 -44
  166. package/dist/components/simple/media/FlagIcon.svelte +5 -8
  167. package/dist/components/simple/media/FlagIcon.svelte.d.ts +15 -19
  168. package/dist/components/simple/media/Gallery.svelte +29 -49
  169. package/dist/components/simple/media/Gallery.svelte.d.ts +23 -27
  170. package/dist/components/simple/media/Icon.svelte +4 -9
  171. package/dist/components/simple/media/Icon.svelte.d.ts +20 -24
  172. package/dist/components/simple/media/Image.svelte +20 -42
  173. package/dist/components/simple/media/Image.svelte.d.ts +33 -44
  174. package/dist/components/simple/media/ImageGrid.svelte +12 -37
  175. package/dist/components/simple/media/ImageGrid.svelte.d.ts +28 -32
  176. package/dist/components/simple/navigation/Breadcrumb.svelte +10 -28
  177. package/dist/components/simple/navigation/Breadcrumb.svelte.d.ts +22 -26
  178. package/dist/components/simple/navigation/Chip.svelte +23 -44
  179. package/dist/components/simple/navigation/Chip.svelte.d.ts +31 -42
  180. package/dist/components/simple/navigation/Drawer.svelte +65 -107
  181. package/dist/components/simple/navigation/Drawer.svelte.d.ts +37 -50
  182. package/dist/components/simple/navigation/HeaderMenu.svelte +23 -40
  183. package/dist/components/simple/navigation/HeaderMenu.svelte.d.ts +35 -39
  184. package/dist/components/simple/navigation/Navigator.svelte +8 -30
  185. package/dist/components/simple/navigation/Navigator.svelte.d.ts +24 -28
  186. package/dist/components/simple/navigation/TabSwitcher.svelte +47 -83
  187. package/dist/components/simple/navigation/TabSwitcher.svelte.d.ts +34 -38
  188. package/dist/components/simple/notifiers/AlertBanner.svelte +15 -43
  189. package/dist/components/simple/notifiers/AlertBanner.svelte.d.ts +37 -41
  190. package/dist/components/simple/progress/ProgressBar.svelte +13 -20
  191. package/dist/components/simple/progress/ProgressBar.svelte.d.ts +17 -21
  192. package/dist/components/simple/timeline/SimpleTimeLine.svelte +5 -19
  193. package/dist/components/simple/timeline/SimpleTimeLine.svelte.d.ts +35 -39
  194. package/dist/components/simple/typography/Code.svelte +12 -27
  195. package/dist/components/simple/typography/Code.svelte.d.ts +24 -28
  196. package/dist/stores/debounce.d.ts +1 -0
  197. package/dist/stores/layouts/unstableSidebarOpened.d.ts +1 -0
  198. package/dist/stores/mediaQuery.d.ts +1 -0
  199. package/dist/stores/theme.d.ts +1 -0
  200. package/package.json +1 -1
@@ -1,55 +1,41 @@
1
- <script lang="ts">
2
- import "../../../css/main.css";
3
- import "./FileInputList.css";
4
- import Button from "../buttons/Button.svelte";
5
- import FileInput from "./FileInput.svelte";
6
- import Icon from "../media/Icon.svelte";
7
- import { createEventDispatcher } from "svelte";
8
-
9
- let clazz: string = "";
10
- export { clazz as class };
11
-
12
- let dispatch = createEventDispatcher<{
13
- fileChange: {
14
- files: File[]
15
- }
16
- }>()
17
-
18
- export let files: File[] = [],
19
- persistOverUpload: boolean = true,
20
- dropAreaActive: boolean = true,
21
- icon: string = "mdi-file-document",
22
- message: string = "Drop file here or click to upload",
23
- disabled: boolean = false,
24
- maxFiles: number | undefined = undefined;
25
-
26
- let fileActive: File | null = null;
27
-
28
- function handleFileMouseEnter(file: File) {
29
- dropAreaActive = false;
30
- fileActive = file;
31
- }
32
- function handleFileMouseLeave() {
33
- dropAreaActive = true;
34
- fileActive = null;
35
- }
36
- function handleFileClick(file: File) {
37
- alert(file.name);
38
- }
39
- function handleRemove(file: File) {
40
- files = files.filter((elem) => {
41
- return elem != file;
42
- });
43
- dispatch("fileChange", { files })
44
- }
45
-
46
- function handleFileDrop() {
47
- dispatch("fileChange", { files })
48
- }
49
-
50
- function handleFileSelect() {
51
- dispatch("fileChange", { files })
1
+ <script>import "../../../css/main.css";
2
+ import "./FileInputList.css";
3
+ import Button from "../buttons/Button.svelte";
4
+ import FileInput from "./FileInput.svelte";
5
+ import Icon from "../media/Icon.svelte";
6
+ import { createEventDispatcher } from "svelte";
7
+ let clazz = "";
8
+ export { clazz as class };
9
+ const dispatch = createEventDispatcher();
10
+ export let files = [], persistOverUpload = true, dropAreaActive = true, icon = "mdi-file-document", message = "Drop file here or click to upload", disabled = false, maxFiles = void 0, previewFiles = false;
11
+ let fileActive = null;
12
+ function isImageFile(file) {
13
+ if (file.type.startsWith("image/") && (file.type.endsWith("/jpg") || file.type.endsWith("/png") || file.type.endsWith("/jpeg") || file.type.endsWith("/webp"))) {
14
+ return true;
52
15
  }
16
+ return false;
17
+ }
18
+ function handleFileMouseEnter(file) {
19
+ dropAreaActive = false;
20
+ fileActive = file;
21
+ }
22
+ function handleFileMouseLeave() {
23
+ dropAreaActive = true;
24
+ fileActive = null;
25
+ }
26
+ function handleFileClick(file) {
27
+ alert(file.name);
28
+ }
29
+ function handleRemove(file) {
30
+ files = files.filter((elem) => elem !== file);
31
+ dispatch("fileChange", { files });
32
+ }
33
+ function handleFileDrop() {
34
+ dispatch("fileChange", { files });
35
+ }
36
+ function handleFileSelect() {
37
+ dispatch("fileChange", { files });
38
+ }
53
39
  </script>
54
40
 
55
41
  <div class="card-container {clazz}">
@@ -64,9 +50,7 @@
64
50
  --file-input-width="var(--file-input-list-width,var(--file-input-list-default-width))"
65
51
  on:change
66
52
  on:fileDrop={handleFileDrop}
67
- on:fileDrop
68
53
  on:fileSelect={handleFileSelect}
69
- on:fileSelect
70
54
  {maxFiles}
71
55
  >
72
56
  <span
@@ -77,49 +61,88 @@
77
61
  let:active={dropAreaActive}
78
62
  >
79
63
  <div class="body-container" class:active={dropAreaActive}>
80
- {#if files.length == 0}
81
- <slot name="message">
82
- <span>{message}</span>
64
+ {#if files.length === 0}
65
+ <slot name="message" class="message-slot">
66
+ <span class="message-text">{message}</span>
83
67
  </slot>
84
68
  {:else}
85
- <slot name="file-list" {files}>
86
- <table class="file-list">
87
- {#each files as file}
88
- <tr
89
- on:click|stopPropagation={() => {
90
- handleFileClick(file);
91
- }}
92
- on:mouseenter|stopPropagation={() => {
93
- handleFileMouseEnter(file);
94
- }}
95
- on:mouseleave|stopPropagation={() => {
96
- handleFileMouseLeave();
97
- }}
98
- class:file-active={fileActive == file}
99
- >
100
- <td>
101
- <Icon name={icon} />
102
- </td>
103
- <td class="file-name">
104
- {file.name}
105
- </td>
106
- <td>
107
- {file.size}
108
- </td>
109
- <td style:width="10%" style:margin-right="10px">
110
- <Button
111
- buttonType="text"
112
- icon="mdi-close"
113
- on:click={(e) => {
114
- e.detail.nativeEvent.stopPropagation();
115
- handleRemove(file);
69
+ <div class="file-container {previewFiles ? 'grid-mode' : ''}">
70
+ <slot name="file-list" class="file-slot" {files}>
71
+ {#if previewFiles}
72
+ <div class="preview-grid">
73
+ {#each files as file (file.name)}
74
+ <div
75
+ class="preview-item"
76
+ role="button"
77
+ tabindex="0"
78
+ draggable="false"
79
+ on:dragstart|preventDefault
80
+ on:click|stopPropagation={() => handleFileClick(file)}
81
+ on:keydown|stopPropagation={(e) => {
82
+ if (e.key === 'Enter' || e.key === ' ') handleFileClick(file);
116
83
  }}
117
- />
118
- </td>
119
- </tr>
120
- {/each}
121
- </table>
122
- </slot>
84
+ on:mouseenter|stopPropagation={() => handleFileMouseEnter(file)}
85
+ on:mouseleave|stopPropagation={handleFileMouseLeave}
86
+ class:file-active={fileActive === file}
87
+ >
88
+ {#if isImageFile(file)}
89
+ <img
90
+ src={URL.createObjectURL(file)}
91
+ alt={file.name}
92
+ class="preview-img"
93
+ draggable="false"
94
+ />
95
+ {:else}
96
+ <div class="preview-file">
97
+ <Icon name={icon} />
98
+ {#if file.name.length > 40}
99
+ <span class="file-name-preview">{file.name.slice(0, 40)}...</span>
100
+ {:else}
101
+ <span class="file-name-preview">{file.name}</span>
102
+ {/if}
103
+ </div>
104
+ {/if}
105
+ <button
106
+ type="button"
107
+ class="preview-remove"
108
+ on:click|stopPropagation={() => handleRemove(file)}
109
+ aria-label="Rimuovi {file.name}"
110
+ style:height="24px"
111
+ style:width="24px"
112
+ >
113
+ <Icon name="mdi-close" --icon-container-height="16px" --icon-container-width="16px" />
114
+ </button>
115
+ </div>
116
+ {/each}
117
+ </div>
118
+ {:else}
119
+ <table class="file-list">
120
+ {#each files as file}
121
+ <tr
122
+ on:click|stopPropagation={() => handleFileClick(file)}
123
+ on:mouseenter|stopPropagation={() => handleFileMouseEnter(file)}
124
+ on:mouseleave|stopPropagation={handleFileMouseLeave}
125
+ class:file-active={fileActive === file}
126
+ >
127
+ <td><Icon name={icon} /></td>
128
+ <td class="file-name">{file.name}</td>
129
+ <td>{file.size}</td>
130
+ <td style="width: 10%; margin-right: 10px;">
131
+ <Button
132
+ buttonType="text"
133
+ icon="mdi-close"
134
+ on:click={(e) => {
135
+ e.detail.nativeEvent.stopPropagation();
136
+ handleRemove(file);
137
+ }}
138
+ />
139
+ </td>
140
+ </tr>
141
+ {/each}
142
+ </table>
143
+ {/if}
144
+ </slot>
145
+ </div>
123
146
  {/if}
124
147
  </div>
125
148
  </span>
@@ -127,11 +150,6 @@
127
150
  </div>
128
151
 
129
152
  <style>
130
- .body-span {
131
- height: 100px;
132
- width: 100%;
133
- display: flex;
134
- }
135
153
  .card-container {
136
154
  display: flex;
137
155
  justify-content: center;
@@ -143,8 +161,11 @@
143
161
  --file-input-list-border-color,
144
162
  var(--file-input-list-default-border-color)
145
163
  );
146
- height: var(--file-input-list-height,var(--file-input-list-default-height));
147
- width: var(--file-input-list-background-width,var(--file-input-list-default-width));
164
+ height: var(--file-input-list-height, var(--file-input-list-default-height));
165
+ width: var(
166
+ --file-input-list-width,
167
+ var(--file-input-list-default-width)
168
+ );
148
169
  }
149
170
 
150
171
  .card-container:hover {
@@ -176,7 +197,7 @@
176
197
  overflow-y: auto;
177
198
  }
178
199
 
179
- .active {
200
+ .body-container.active {
180
201
  border-color: var(
181
202
  --file-input-list-selected-row-background,
182
203
  var(--file-input-list-default-selected-row-background)
@@ -186,7 +207,25 @@
186
207
  var(--file-input-list-default-selected-row-color)
187
208
  );
188
209
  }
189
- .file-active {
210
+
211
+ .file-container {
212
+ width: 100%;
213
+ height: 100%;
214
+ box-sizing: border-box;
215
+ position: relative;
216
+ }
217
+
218
+ .file-container:not(.grid-mode) .file-list {
219
+ width: 100%;
220
+ table-layout: fixed;
221
+ border-collapse: collapse;
222
+ }
223
+
224
+ .file-container:not(.grid-mode) .file-list tr {
225
+ cursor: pointer;
226
+ transition: background-color 0.2s;
227
+ }
228
+ .file-container:not(.grid-mode) .file-list tr.file-active {
190
229
  color: var(
191
230
  --file-input-list-selected-row-color,
192
231
  var(--file-input-list-default-selected-row-color)
@@ -196,16 +235,109 @@
196
235
  var(--file-input-list-default-selected-row-background)
197
236
  );
198
237
  }
199
- .file-list {
200
- width: 100%;
201
- table-layout: fixed;
202
- position: absolute;
203
- top: 0;
204
- right: 0;
205
- border-collapse: collapse;
206
- }
238
+
207
239
  .file-name {
208
240
  width: 40%;
209
241
  overflow: hidden;
242
+ text-overflow: ellipsis;
243
+ white-space: nowrap;
244
+ }
245
+
246
+ .file-container.grid-mode {
247
+ display: flex;
248
+ flex-direction: column;
249
+ align-items: flex-start;
250
+ justify-content: flex-start;
251
+ overflow-y: auto;
252
+ }
253
+
254
+ .file-container .file-slot {
255
+ width: 100%;
256
+ height: 100%;
257
+ box-sizing: border-box;
258
+ }
259
+
260
+ .preview-grid {
261
+ display: grid;
262
+ grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
263
+ gap: 1rem;
264
+ padding: 1rem;
265
+ width: 100%;
266
+ box-sizing: border-box;
267
+ }
268
+
269
+ .preview-item {
270
+ position: relative;
271
+ cursor: pointer;
272
+ border-radius: 4px;
273
+ overflow: hidden;
274
+ transition: transform 0.2s, box-shadow 0.2s;
275
+ outline: none;
276
+ }
277
+ .preview-item:hover,
278
+ .preview-item:focus,
279
+ .preview-item.file-active {
280
+ transform: translateY(-4px);
281
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
282
+ }
283
+
284
+ .preview-img {
285
+ display: block;
286
+ width: 100%;
287
+ height: 120px;
288
+ object-fit: cover;
289
+ }
290
+
291
+ .preview-file {
292
+ display: flex;
293
+ flex-direction: column;
294
+ align-items: center;
295
+ justify-content: center;
296
+ height: 120px;
297
+ padding: 0.5rem;
298
+ background: rgb(var(--global-color-background-600));
299
+ border-radius: 4px;
300
+ box-sizing: border-box;
301
+ }
302
+
303
+ .file-name-preview {
304
+ font-size: 0.75rem;
305
+ text-align: center;
306
+ word-break: break-word;
307
+ margin-top: 0.5rem;
308
+ line-height: 1.2;
309
+ max-height: 2.4rem;
310
+ overflow: hidden;
311
+ display: -webkit-box;
312
+ -webkit-box-orient: vertical;
313
+ }
314
+
315
+ .preview-remove {
316
+ position: absolute;
317
+ top: 4px;
318
+ right: 4px;
319
+ background: rgba(51, 51, 51, 0.6);
320
+ border: none;
321
+ border-radius: 50%;
322
+ padding: 4px;
323
+ color: white;
324
+ cursor: pointer;
325
+ display: flex;
326
+ align-items: center;
327
+ justify-content: center;
328
+ }
329
+ .preview-remove:hover {
330
+ background: rgba(0, 0, 0, 0.8);
331
+ }
332
+
333
+ .message-slot {
334
+ display: flex;
335
+ justify-content: center;
336
+ align-items: center;
337
+ }
338
+
339
+ .message-text {
340
+ text-align: center;
341
+ font-size: 1rem;
210
342
  }
211
343
  </style>
@@ -1,47 +1,40 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  import "../../../css/main.css";
2
3
  import "./FileInputList.css";
3
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
- $$bindings?: Bindings;
6
- } & Exports;
7
- (internal: unknown, props: Props & {
8
- $$events?: Events;
9
- $$slots?: Slots;
10
- }): Exports & {
11
- $set?: any;
12
- $on?: any;
4
+ declare const __propDef: {
5
+ props: {
6
+ class?: string | undefined;
7
+ files?: File[] | undefined;
8
+ persistOverUpload?: boolean | undefined;
9
+ dropAreaActive?: boolean | undefined;
10
+ icon?: string | undefined;
11
+ message?: string | undefined;
12
+ disabled?: boolean | undefined;
13
+ maxFiles?: number | undefined;
14
+ previewFiles?: boolean | undefined;
13
15
  };
14
- z_$$bindings?: Bindings;
15
- }
16
- declare const FileInputList: $$__sveltets_2_IsomorphicComponent<{
17
- class?: string;
18
- files?: File[];
19
- persistOverUpload?: boolean;
20
- dropAreaActive?: boolean;
21
- icon?: string;
22
- message?: string;
23
- disabled?: boolean;
24
- maxFiles?: number | undefined;
25
- }, {
26
- change: Event;
27
- fileDrop: CustomEvent<{
28
- nativeEvent: DragEvent;
29
- files: File[];
30
- }>;
31
- fileSelect: CustomEvent<{
32
- nativeEvent: Event;
33
- files: File[];
34
- }>;
35
- fileChange: CustomEvent<{
36
- files: File[];
37
- }>;
38
- } & {
39
- [evt: string]: CustomEvent<any>;
40
- }, {
41
- message: {};
42
- 'file-list': {
43
- files: File[];
16
+ events: {
17
+ change: Event;
18
+ dragstart: DragEvent;
19
+ fileChange: CustomEvent<{
20
+ files: File[];
21
+ }>;
22
+ } & {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {
26
+ message: {
27
+ class: string;
28
+ };
29
+ 'file-list': {
30
+ class: string;
31
+ files: File[];
32
+ };
44
33
  };
45
- }, {}, string>;
46
- type FileInputList = InstanceType<typeof FileInputList>;
47
- export default FileInputList;
34
+ };
35
+ export type FileInputListProps = typeof __propDef.props;
36
+ export type FileInputListEvents = typeof __propDef.events;
37
+ export type FileInputListSlots = typeof __propDef.slots;
38
+ export default class FileInputList extends SvelteComponent<FileInputListProps, FileInputListEvents, FileInputListSlots> {
39
+ }
40
+ export {};
@@ -1,14 +1,6 @@
1
- <script lang="ts">
2
- import './RadioButton.css'
3
- import "../../../css/main.css";
4
-
5
- export let name: string,
6
- value: string,
7
- id: string | undefined = undefined,
8
- checked = false,
9
- label: string | undefined = undefined,
10
- disabled = false;
11
-
1
+ <script>import "./RadioButton.css";
2
+ import "../../../css/main.css";
3
+ export let name, value, id = void 0, checked = false, label = void 0, disabled = false;
12
4
  </script>
13
5
 
14
6
  <input
@@ -1,35 +1,31 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  import './RadioButton.css';
2
3
  import "../../../css/main.css";
3
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
- $$bindings?: Bindings;
6
- } & Exports;
7
- (internal: unknown, props: Props & {
8
- $$events?: Events;
9
- $$slots?: Slots;
10
- }): Exports & {
11
- $set?: any;
12
- $on?: any;
4
+ declare const __propDef: {
5
+ props: {
6
+ name: string;
7
+ value: string;
8
+ id?: string | undefined;
9
+ checked?: boolean | undefined;
10
+ label?: string | undefined;
11
+ disabled?: boolean | undefined;
13
12
  };
14
- z_$$bindings?: Bindings;
13
+ events: {
14
+ change: Event;
15
+ input: Event;
16
+ focus: FocusEvent;
17
+ blur: FocusEvent;
18
+ keydown: KeyboardEvent;
19
+ keypress: KeyboardEvent;
20
+ keyup: KeyboardEvent;
21
+ } & {
22
+ [evt: string]: CustomEvent<any>;
23
+ };
24
+ slots: {};
25
+ };
26
+ export type RadioButtonProps = typeof __propDef.props;
27
+ export type RadioButtonEvents = typeof __propDef.events;
28
+ export type RadioButtonSlots = typeof __propDef.slots;
29
+ export default class RadioButton extends SvelteComponent<RadioButtonProps, RadioButtonEvents, RadioButtonSlots> {
15
30
  }
16
- declare const RadioButton: $$__sveltets_2_IsomorphicComponent<{
17
- name: string;
18
- value: string;
19
- id?: string | undefined;
20
- checked?: boolean;
21
- label?: string | undefined;
22
- disabled?: boolean;
23
- }, {
24
- change: Event;
25
- input: Event;
26
- focus: FocusEvent;
27
- blur: FocusEvent;
28
- keydown: KeyboardEvent;
29
- keypress: KeyboardEvent;
30
- keyup: KeyboardEvent;
31
- } & {
32
- [evt: string]: CustomEvent<any>;
33
- }, {}, {}, string>;
34
- type RadioButton = InstanceType<typeof RadioButton>;
35
- export default RadioButton;
31
+ export {};
@@ -1,21 +1,8 @@
1
- <script lang="ts" context="module">
2
- import './Select.css'
3
- export type Option = {
4
- icon?: string
5
- value: string | number | undefined
6
- text: string
7
- }
1
+ <script context="module">import "./Select.css";
8
2
  </script>
9
3
 
10
- <script lang="ts">
11
- import { Icon } from "../../..";
12
-
13
-
14
- export let options: Option[],
15
- name: string | undefined = undefined,
16
- value: string | number | undefined = undefined,
17
- disabled: boolean = false,
18
- placeholder: string | undefined = undefined
4
+ <script>import { Icon } from "../../..";
5
+ export let options, name = void 0, value = void 0, disabled = false, placeholder = void 0;
19
6
  </script>
20
7
 
21
8
  <select
@@ -1,32 +1,28 @@
1
+ import { SvelteComponent } from "svelte";
1
2
  import './Select.css';
2
3
  export type Option = {
3
4
  icon?: string;
4
5
  value: string | number | undefined;
5
6
  text: string;
6
7
  };
7
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
8
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
9
- $$bindings?: Bindings;
10
- } & Exports;
11
- (internal: unknown, props: Props & {
12
- $$events?: Events;
13
- $$slots?: Slots;
14
- }): Exports & {
15
- $set?: any;
16
- $on?: any;
8
+ declare const __propDef: {
9
+ props: {
10
+ options: Option[];
11
+ name?: string | undefined;
12
+ value?: string | number | undefined;
13
+ disabled?: boolean | undefined;
14
+ placeholder?: string | undefined;
17
15
  };
18
- z_$$bindings?: Bindings;
16
+ events: {
17
+ change: Event;
18
+ } & {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export type SelectProps = typeof __propDef.props;
24
+ export type SelectEvents = typeof __propDef.events;
25
+ export type SelectSlots = typeof __propDef.slots;
26
+ export default class Select extends SvelteComponent<SelectProps, SelectEvents, SelectSlots> {
19
27
  }
20
- declare const Select: $$__sveltets_2_IsomorphicComponent<{
21
- options: Option[];
22
- name?: string | undefined;
23
- value?: string | number | undefined;
24
- disabled?: boolean;
25
- placeholder?: string | undefined;
26
- }, {
27
- change: Event;
28
- } & {
29
- [evt: string]: CustomEvent<any>;
30
- }, {}, {}, string>;
31
- type Select = InstanceType<typeof Select>;
32
- export default Select;
28
+ export {};