sveltekit-ui 1.1.75 → 1.1.77

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 (132) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/Components/Button/index.svelte +2 -2
  3. package/dist/Components/Button/index.svelte.js +16 -0
  4. package/dist/Components/StoragePicker/index.svelte +117 -28
  5. package/dist/Components/StoragePicker/index.svelte.js +274 -33
  6. package/dist/Components/TextInput/index.svelte.js +5 -0
  7. package/dist/client/mapkit.js +40 -5
  8. package/package.json +6 -8
  9. package/dist/Components/Alert/index.svelte.d.ts +0 -15
  10. package/dist/Components/ArrowToggle/index.svelte.d.ts +0 -15
  11. package/dist/Components/Attachment/index.svelte.d.ts +0 -11
  12. package/dist/Components/Audio/index.svelte.d.ts +0 -11
  13. package/dist/Components/AudioEditor/index.svelte.d.ts +0 -13
  14. package/dist/Components/AuthCodeInput/index.svelte.d.ts +0 -11
  15. package/dist/Components/Breadcrumbs/index.svelte.d.ts +0 -11
  16. package/dist/Components/Button/index.svelte.d.ts +0 -13
  17. package/dist/Components/Chart/Klines/index.svelte.d.ts +0 -11
  18. package/dist/Components/Chart/index.svelte.d.ts +0 -11
  19. package/dist/Components/ChartInput/DisplayNav/Klines/index.svelte.d.ts +0 -21
  20. package/dist/Components/ChartInput/DisplayNav/Lines/index.svelte.d.ts +0 -19
  21. package/dist/Components/ChartInput/DisplayNav/index.svelte.d.ts +0 -11
  22. package/dist/Components/ChartInput/EditPanel/index.svelte.d.ts +0 -11
  23. package/dist/Components/ChartInput/index.svelte.d.ts +0 -11
  24. package/dist/Components/Checkbox/index.svelte.d.ts +0 -11
  25. package/dist/Components/Code/index.svelte.d.ts +0 -11
  26. package/dist/Components/Color/index.svelte.d.ts +0 -11
  27. package/dist/Components/ColorInput/ChromaPicker/index.svelte.d.ts +0 -11
  28. package/dist/Components/ColorInput/ColorPalette/index.svelte.d.ts +0 -11
  29. package/dist/Components/ColorInput/OpacityPicker/index.svelte.d.ts +0 -11
  30. package/dist/Components/ColorInput/ShowcasePicker/index.svelte.d.ts +0 -11
  31. package/dist/Components/ColorInput/index.svelte.d.ts +0 -11
  32. package/dist/Components/ConditionsInput/index.svelte.d.ts +0 -11
  33. package/dist/Components/Confetti/index.svelte.d.ts +0 -11
  34. package/dist/Components/Content/index.svelte.d.ts +0 -11
  35. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Audio/index.svelte.d.ts +0 -11
  36. package/dist/Components/ContentInput/AttributesInput/CustomConfig/AudioAdvanced/index.svelte.d.ts +0 -11
  37. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Dropdown/index.svelte.d.ts +0 -11
  38. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Image/index.svelte.d.ts +0 -11
  39. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Number/index.svelte.d.ts +0 -11
  40. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Qr/index.svelte.d.ts +0 -11
  41. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Slider/index.svelte.d.ts +0 -11
  42. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TableAdvanced/index.svelte.d.ts +0 -11
  43. package/dist/Components/ContentInput/AttributesInput/CustomConfig/Tag/index.svelte.d.ts +0 -11
  44. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TextInput/index.svelte.d.ts +0 -11
  45. package/dist/Components/ContentInput/AttributesInput/CustomConfig/TimeInput/index.svelte.d.ts +0 -11
  46. package/dist/Components/ContentInput/AttributesInput/DefinedTypeInput/index.svelte.d.ts +0 -13
  47. package/dist/Components/ContentInput/AttributesInput/index.svelte.d.ts +0 -11
  48. package/dist/Components/ContentInput/ContentPanelBuilder/AddElement/index.svelte.d.ts +0 -11
  49. package/dist/Components/ContentInput/ContentPanelBuilder/ElementList/index.svelte.d.ts +0 -13
  50. package/dist/Components/ContentInput/ContentPanelBuilder/index.svelte.d.ts +0 -11
  51. package/dist/Components/ContentInput/index.svelte.d.ts +0 -13
  52. package/dist/Components/CronInput/index.svelte.d.ts +0 -11
  53. package/dist/Components/DataTypeInput/index.svelte.d.ts +0 -11
  54. package/dist/Components/Dropdown/index.svelte.d.ts +0 -11
  55. package/dist/Components/EmailAddress/index.svelte.d.ts +0 -11
  56. package/dist/Components/ErrorX/index.svelte.d.ts +0 -15
  57. package/dist/Components/Eye/index.svelte.d.ts +0 -19
  58. package/dist/Components/FileInput/index.svelte.d.ts +0 -11
  59. package/dist/Components/Hamburger/index.svelte.d.ts +0 -19
  60. package/dist/Components/HorizScrollBox/index.svelte.d.ts +0 -13
  61. package/dist/Components/Icon/index.svelte.d.ts +0 -11
  62. package/dist/Components/IconInput/index.svelte.d.ts +0 -11
  63. package/dist/Components/Image/index.svelte.d.ts +0 -11
  64. package/dist/Components/ImageEditor/Image/CropBox/index.svelte.d.ts +0 -11
  65. package/dist/Components/ImageEditor/Image/index.svelte.d.ts +0 -11
  66. package/dist/Components/ImageEditor/Panels/AI/index.svelte.d.ts +0 -11
  67. package/dist/Components/ImageEditor/Panels/Crop/index.svelte.d.ts +0 -11
  68. package/dist/Components/ImageEditor/Panels/File/QualityPicker/index.svelte.d.ts +0 -11
  69. package/dist/Components/ImageEditor/Panels/File/index.svelte.d.ts +0 -11
  70. package/dist/Components/ImageEditor/Panels/Filters/index.svelte.d.ts +0 -11
  71. package/dist/Components/ImageEditor/Panels/Resize/index.svelte.d.ts +0 -11
  72. package/dist/Components/ImageEditor/index.svelte.d.ts +0 -11
  73. package/dist/Components/ImageSlider/index.svelte.d.ts +0 -11
  74. package/dist/Components/InfoBox/index.svelte.d.ts +0 -29
  75. package/dist/Components/Json/Nested/index.svelte.d.ts +0 -13
  76. package/dist/Components/Json/index.svelte.d.ts +0 -11
  77. package/dist/Components/LabeledItem/index.svelte.d.ts +0 -41
  78. package/dist/Components/Layout/NavBar/FullNav/index.svelte.d.ts +0 -13
  79. package/dist/Components/Layout/NavBar/NavGuts/index.svelte.d.ts +0 -15
  80. package/dist/Components/Layout/NavBar/index.svelte.d.ts +0 -19
  81. package/dist/Components/Layout/index.svelte.d.ts +0 -23
  82. package/dist/Components/Link/index.svelte.d.ts +0 -13
  83. package/dist/Components/LoadingSuccessDiv/index.svelte.d.ts +0 -25
  84. package/dist/Components/LoadingWheel/index.svelte.d.ts +0 -19
  85. package/dist/Components/Location/index.svelte.d.ts +0 -11
  86. package/dist/Components/LocationInput/index.svelte.d.ts +0 -11
  87. package/dist/Components/Number/index.svelte.d.ts +0 -11
  88. package/dist/Components/PhoneCountryCode/index.svelte.d.ts +0 -11
  89. package/dist/Components/PhoneNumber/index.svelte.d.ts +0 -11
  90. package/dist/Components/Popover/index.svelte.d.ts +0 -19
  91. package/dist/Components/Qr/index.svelte.d.ts +0 -11
  92. package/dist/Components/QrInput/index.svelte.d.ts +0 -11
  93. package/dist/Components/Slider/index.svelte.d.ts +0 -11
  94. package/dist/Components/Spacer/index.svelte.d.ts +0 -25
  95. package/dist/Components/StoragePicker/DisplayFile/index.svelte.d.ts +0 -11
  96. package/dist/Components/StoragePicker/index.svelte.d.ts +0 -11
  97. package/dist/Components/SuccessCheck/index.svelte.d.ts +0 -15
  98. package/dist/Components/TableAdvanced/ColumnInput/index.svelte.d.ts +0 -11
  99. package/dist/Components/TableAdvanced/FilterInput/index.svelte.d.ts +0 -11
  100. package/dist/Components/TableAdvanced/Pagination/index.svelte.d.ts +0 -11
  101. package/dist/Components/TableAdvanced/SortByInput/index.svelte.d.ts +0 -11
  102. package/dist/Components/TableAdvanced/index.svelte.d.ts +0 -13
  103. package/dist/Components/Tag/index.svelte.d.ts +0 -11
  104. package/dist/Components/TextArrayInput/index.svelte.d.ts +0 -11
  105. package/dist/Components/TextInput/PasswordTooltip/index.svelte.d.ts +0 -21
  106. package/dist/Components/TextInput/index.svelte.d.ts +0 -11
  107. package/dist/Components/Time/index.svelte.d.ts +0 -11
  108. package/dist/Components/TimeInput/NumberToggler/index.svelte.d.ts +0 -11
  109. package/dist/Components/TimeInput/index.d.ts +0 -193
  110. package/dist/Components/TimeInput/index.svelte.d.ts +0 -11
  111. package/dist/Components/Tooltip/index.svelte.d.ts +0 -15
  112. package/dist/Components/TransparentBackground/index.svelte.d.ts +0 -17
  113. package/dist/Components/TypingDots/index.svelte.d.ts +0 -11
  114. package/dist/Components/VariablePathInput/index.svelte.d.ts +0 -11
  115. package/dist/Components/VideoTBD/index.svelte.d.ts +0 -6
  116. package/dist/Components/XFollow/index.svelte.d.ts +0 -13
  117. package/dist/Components/XPost/index.svelte.d.ts +0 -11
  118. package/dist/Components/YoutubeChannelButton/index.svelte.d.ts +0 -13
  119. package/dist/Components/YoutubeVideo/index.svelte.d.ts +0 -11
  120. package/dist/actions/draggable.d.ts +0 -3
  121. package/dist/actions/index.d.ts +0 -3
  122. package/dist/actions/no_spaces.d.ts +0 -4
  123. package/dist/actions/numbers_only.d.ts +0 -3
  124. package/dist/actions/scroll_y.d.ts +0 -3
  125. package/dist/actions/stop_scroll_propagation_y.d.ts +0 -3
  126. package/dist/actions/swipe_handler.d.ts +0 -3
  127. package/dist/client/astc_formatting/index.d.ts +0 -25
  128. package/dist/client/index.d.ts +0 -61
  129. package/dist/client/links.d.ts +0 -7
  130. package/dist/client/mapkit.d.ts +0 -3
  131. package/dist/client/types/index.d.ts +0 -5678
  132. package/dist/index.d.ts +0 -69
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
5
+ ### Component fixes
6
+
7
+ - Preserve native button activation, including popover toggles and form submission, when an `on_click` callback starts an async loading state, while still blocking repeated actions until it settles.
8
+ - Accept Apple's domain-restricted, non-expiring MapKit JS tokens while continuing to reject malformed and expired tokens.
9
+
3
10
  ## 1.1.75 - 2026-07-25
4
11
 
5
12
  ### Security and resilience
@@ -101,14 +101,14 @@
101
101
  type={manager?.is_link ? undefined : manager?.html_type}
102
102
  popovertarget={manager?.is_link ? undefined : manager?.popover_target}
103
103
  tabindex={manager?.tabindex}
104
- disabled={manager?.is_link ? undefined : manager?.is_action_disabled}
104
+ disabled={manager?.is_link ? undefined : manager?.is_native_disabled}
105
105
  onclick={(e) => manager?.handle_click(e)}
106
106
  onpointerdown={(e) => manager?.pointer_down(e)}
107
107
  onpointerenter={(e) => manager?.pointer_enter(e)}
108
108
  onpointerleave={(e) => manager?.pointer_leave(e)}
109
109
  role={manager?.is_link ? "link" : "button"}
110
110
  aria-label={manager?.aria_label}
111
- aria-disabled={manager?.is_link && manager?.is_action_disabled ? "true" : undefined}
111
+ aria-disabled={manager?.is_action_disabled ? "true" : undefined}
112
112
  aria-busy={manager?.is_loading}
113
113
  >
114
114
  {#if manager?.support_icon && manager?.icon_pos == "left" && !manager?.is_uniform}
@@ -87,7 +87,12 @@ export function create_button_manager(config) {
87
87
  let is_error = $state(false)
88
88
  let is_success = $state(false)
89
89
  let icon_manager = $state(null)
90
+ let is_native_activation_in_progress = $state(false)
90
91
  let is_action_disabled = $derived(is_disabled || is_loading || is_success || is_error)
92
+ let is_native_disabled = $derived(
93
+ is_disabled ||
94
+ (!is_native_activation_in_progress && (is_loading || is_success || is_error)),
95
+ )
91
96
 
92
97
  let is_hovered = $state(false)
93
98
  let is_pointer_down = $state(false)
@@ -115,6 +120,13 @@ export function create_button_manager(config) {
115
120
  }
116
121
  }
117
122
 
123
+ function preserve_current_native_activation() {
124
+ is_native_activation_in_progress = true
125
+ queueMicrotask(() => {
126
+ is_native_activation_in_progress = false
127
+ })
128
+ }
129
+
118
130
  async function handle_click(e) {
119
131
  if (is_action_disabled) {
120
132
  e?.preventDefault?.()
@@ -127,6 +139,7 @@ export function create_button_manager(config) {
127
139
  if (is_stop_propagation) {
128
140
  e?.stopPropagation?.()
129
141
  }
142
+ preserve_current_native_activation()
130
143
  try {
131
144
  let result = typeof config?.on_click == "function" ? config.on_click(e) : undefined
132
145
  if (result && typeof result.then == "function") {
@@ -270,6 +283,9 @@ export function create_button_manager(config) {
270
283
  get is_action_disabled() {
271
284
  return is_action_disabled
272
285
  },
286
+ get is_native_disabled() {
287
+ return is_native_disabled
288
+ },
273
289
  get selected_type() {
274
290
  return selected_type
275
291
  },
@@ -6,6 +6,8 @@
6
6
  import DisplayFile from "./DisplayFile/index.svelte"
7
7
  import FileInput from "../FileInput/index.svelte"
8
8
  import InfoBox from "../InfoBox/index.svelte"
9
+ import Checkbox from "../Checkbox/index.svelte"
10
+ import Icon from "../Icon/index.svelte"
9
11
  import { onDestroy } from "svelte"
10
12
 
11
13
  let { manager } = $props()
@@ -13,6 +15,41 @@
13
15
  onDestroy(() => manager?.on_destroy?.())
14
16
  </script>
15
17
 
18
+ {#snippet file_item(file)}
19
+ {#if manager?.view_mode === "list"}
20
+ <div class="file_row" data-file-view="list">
21
+ {#if manager?.is_multiselect}
22
+ <Checkbox manager={file?.selection_checkbox_manager} />
23
+ {/if}
24
+ <div class="list_file_icon">
25
+ <Icon manager={manager?.list_file_icon_manager} />
26
+ </div>
27
+ <h4 title={file?.file_name}>{file?.file_name}</h4>
28
+ <p class="list_file_type">{file?.mime_type ?? file?.file?.type}</p>
29
+ <p class="list_file_size">{file?.size_kb != null ? `${file.size_kb}KB` : ""}</p>
30
+ {#if !manager?.is_multiselect}
31
+ <div class="list_file_action">
32
+ <Button manager={file?.select_button_manager} />
33
+ </div>
34
+ {/if}
35
+ </div>
36
+ {:else}
37
+ <div class="file_container" data-file-view="grid">
38
+ <div>
39
+ <div class="file_display" style="height: {manager?.display_height}rem;">
40
+ <DisplayFile manager={file} />
41
+ </div>
42
+ <div class="file_det">
43
+ <p>{file?.mime_type ?? file?.file?.type}</p>
44
+ <p>{file?.size_kb != null ? `${file.size_kb}KB` : ""}</p>
45
+ </div>
46
+ <h4>{file?.file_name}</h4>
47
+ </div>
48
+ <Button manager={file?.select_button_manager} />
49
+ </div>
50
+ {/if}
51
+ {/snippet}
52
+
16
53
  <div style="margin-top: {manager?.mt}rem; margin-bottom: {manager?.mb}rem;">
17
54
  {#if manager?.is_show_button}
18
55
  <Button manager={manager?.select_file_from_storage_button_manager} />
@@ -35,27 +72,28 @@
35
72
  {#snippet content()}
36
73
  <div>
37
74
  <InfoBox message={manager?.error_message} mb={1} />
75
+ {#if manager?.is_show_select_all_locally_uploaded_files || manager?.is_show_file_view_controls}
76
+ <div class="picker_toolbar">
77
+ {#if manager?.is_show_select_all_locally_uploaded_files}
78
+ <Button manager={manager?.select_all_locally_uploaded_files_button_manager} />
79
+ {/if}
80
+ {#if manager?.is_show_file_view_controls}
81
+ <div class="view_toggle" role="group" aria-label="File view">
82
+ <Button manager={manager?.grid_view_button_manager} />
83
+ <Button manager={manager?.list_view_button_manager} />
84
+ </div>
85
+ {/if}
86
+ </div>
87
+ {/if}
38
88
  {#if manager?.storage_origins.includes("locally_uploaded_files")}
39
89
  <h3>Locally Uploaded Files</h3>
40
90
  <div>
41
91
  <FileInput manager={manager?.file_input_manager} />
42
92
  </div>
43
93
  {#if Array.isArray(manager?.locally_uploaded_files_prepped) && manager?.locally_uploaded_files_prepped.length > 0}
44
- <div class="files_container">
94
+ <div class:list_view={manager?.view_mode === "list"} class="files_container">
45
95
  {#each manager?.locally_uploaded_files_prepped as locally_uploaded_file_prepped (locally_uploaded_file_prepped?.id)}
46
- <div class="file_container">
47
- <div>
48
- <div class="file_display" style="height: {manager?.display_height}rem;">
49
- <DisplayFile manager={locally_uploaded_file_prepped} />
50
- </div>
51
- <div class="file_det">
52
- <p>{locally_uploaded_file_prepped?.file?.type}</p>
53
- <p>{Math.round(locally_uploaded_file_prepped?.file?.size * 0.001)}KB</p>
54
- </div>
55
- <h4>{locally_uploaded_file_prepped?.file_name}</h4>
56
- </div>
57
- <Button manager={locally_uploaded_file_prepped?.select_button_manager} />
58
- </div>
96
+ {@render file_item(locally_uploaded_file_prepped)}
59
97
  {/each}
60
98
  </div>
61
99
  {:else}
@@ -79,22 +117,10 @@
79
117
  {/if}
80
118
  </div>
81
119
  <div class="storage_files_container">
82
- <div class="files_container">
120
+ <div class:list_view={manager?.view_mode === "list"} class="files_container">
83
121
  {#if Array.isArray(manager?.storage_files_prepped) && manager?.storage_files_prepped.length > 0}
84
122
  {#each manager?.storage_files_prepped as storage_file_prepped (storage_file_prepped?.id)}
85
- <div class="file_container">
86
- <div>
87
- <div style="height: 20rem;">
88
- <DisplayFile manager={storage_file_prepped} />
89
- </div>
90
- <div class="file_det">
91
- <p>{storage_file_prepped?.mime_type}</p>
92
- <p>{storage_file_prepped?.size_kb}KB</p>
93
- </div>
94
- <h4>{storage_file_prepped?.file_name}</h4>
95
- </div>
96
- <Button manager={storage_file_prepped?.select_button_manager} />
97
- </div>
123
+ {@render file_item(storage_file_prepped)}
98
124
  {/each}
99
125
  {:else}
100
126
  <p>No files-to-upload found</p>
@@ -125,6 +151,18 @@
125
151
  </div>
126
152
 
127
153
  <style>
154
+ .picker_toolbar {
155
+ display: flex;
156
+ align-items: center;
157
+ justify-content: space-between;
158
+ gap: 1rem;
159
+ margin-bottom: 1rem;
160
+ }
161
+ .view_toggle {
162
+ display: flex;
163
+ gap: 0.5rem;
164
+ margin-left: auto;
165
+ }
128
166
  .storage_container {
129
167
  display: flex;
130
168
  }
@@ -144,6 +182,11 @@
144
182
  grid-template-columns: repeat(auto-fill, minmax(clamp(20%, 20rem, 100%), 1fr));
145
183
  grid-auto-rows: 1fr;
146
184
  }
185
+ .files_container.list_view {
186
+ display: flex;
187
+ flex-direction: column;
188
+ gap: 0.5rem;
189
+ }
147
190
  .file_container {
148
191
  display: flex;
149
192
  flex-direction: column;
@@ -190,4 +233,50 @@
190
233
  max-height: 20rem;
191
234
  max-width: 100%;
192
235
  }
236
+ .file_row {
237
+ display: flex;
238
+ align-items: center;
239
+ gap: 1rem;
240
+ min-width: 0;
241
+ padding: 0.75rem;
242
+ border: 1px solid var(--shadow3-t);
243
+ border-radius: 1rem;
244
+ }
245
+ .file_row h4,
246
+ .file_row p {
247
+ margin: 0;
248
+ }
249
+ .file_row h4 {
250
+ flex: 1;
251
+ min-width: 0;
252
+ overflow: hidden;
253
+ text-overflow: ellipsis;
254
+ white-space: nowrap;
255
+ }
256
+ .list_file_icon {
257
+ display: grid;
258
+ place-items: center;
259
+ flex: 0 0 auto;
260
+ }
261
+ .list_file_type,
262
+ .list_file_size {
263
+ color: var(--g7-t);
264
+ white-space: nowrap;
265
+ }
266
+ .list_file_action {
267
+ flex: 0 0 auto;
268
+ }
269
+
270
+ @media (max-width: 600px) {
271
+ .picker_toolbar {
272
+ align-items: stretch;
273
+ flex-direction: column;
274
+ }
275
+ .view_toggle {
276
+ align-self: flex-end;
277
+ }
278
+ .list_file_type {
279
+ display: none;
280
+ }
281
+ }
193
282
  </style>