@tableslayer/ui 0.1.4 → 0.1.5

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 (206) hide show
  1. package/dist/components/PropsTable/PropsTable.svelte +1 -1
  2. package/package.json +9 -9
  3. package/src/lib/components/Avatar/Avatar.svelte +0 -82
  4. package/src/lib/components/Avatar/AvatarFileInput.svelte +0 -85
  5. package/src/lib/components/Avatar/AvatarPopover.svelte +0 -34
  6. package/src/lib/components/Avatar/index.ts +0 -4
  7. package/src/lib/components/Avatar/types.ts +0 -24
  8. package/src/lib/components/BrushSizeSlider/BrushSizeSlider.svelte +0 -174
  9. package/src/lib/components/BrushSizeSlider/index.ts +0 -1
  10. package/src/lib/components/Button/Button.svelte +0 -182
  11. package/src/lib/components/Button/ConfirmActionButton.svelte +0 -98
  12. package/src/lib/components/Button/IconButton.svelte +0 -121
  13. package/src/lib/components/Button/RadioButton.svelte +0 -93
  14. package/src/lib/components/Button/index.ts +0 -5
  15. package/src/lib/components/Button/types.ts +0 -54
  16. package/src/lib/components/CardFan/CardFan.svelte +0 -165
  17. package/src/lib/components/CardFan/index.ts +0 -2
  18. package/src/lib/components/CardFan/types.ts +0 -6
  19. package/src/lib/components/CodeBlock/Code.svelte +0 -7
  20. package/src/lib/components/CodeBlock/CodeBlock.svelte +0 -102
  21. package/src/lib/components/CodeBlock/index.ts +0 -3
  22. package/src/lib/components/CodeBlock/types.ts +0 -10
  23. package/src/lib/components/ColorMode/ColorMode.svelte +0 -8
  24. package/src/lib/components/ColorMode/index.ts +0 -2
  25. package/src/lib/components/ColorMode/types.ts +0 -12
  26. package/src/lib/components/ColorPicker/ColorPicker.svelte +0 -838
  27. package/src/lib/components/ColorPicker/ColorPickerSwatch.svelte +0 -32
  28. package/src/lib/components/ColorPicker/index.ts +0 -3
  29. package/src/lib/components/ColorPicker/types.ts +0 -51
  30. package/src/lib/components/ContextMenu/ContextMenu.svelte +0 -86
  31. package/src/lib/components/ContextMenu/index.ts +0 -2
  32. package/src/lib/components/ContextMenu/types.ts +0 -15
  33. package/src/lib/components/DrawingSliders/DrawingSliders.svelte +0 -379
  34. package/src/lib/components/DrawingSliders/index.ts +0 -1
  35. package/src/lib/components/Editor/Editor.svelte +0 -825
  36. package/src/lib/components/Editor/index.ts +0 -1
  37. package/src/lib/components/FogSliders/FogSliders.svelte +0 -33
  38. package/src/lib/components/FogSliders/index.ts +0 -1
  39. package/src/lib/components/Hr/Hr.svelte +0 -15
  40. package/src/lib/components/Hr/index.ts +0 -1
  41. package/src/lib/components/Icon/Icon.svelte +0 -6
  42. package/src/lib/components/Icon/index.ts +0 -2
  43. package/src/lib/components/Icon/types.ts +0 -20
  44. package/src/lib/components/Input/DualInputSlider.svelte +0 -126
  45. package/src/lib/components/Input/FileInput.svelte +0 -176
  46. package/src/lib/components/Input/FormControl.svelte +0 -150
  47. package/src/lib/components/Input/FormError.svelte +0 -37
  48. package/src/lib/components/Input/Input.svelte +0 -56
  49. package/src/lib/components/Input/InputCheckbox.svelte +0 -99
  50. package/src/lib/components/Input/InputSlider.svelte +0 -86
  51. package/src/lib/components/Input/Label.svelte +0 -19
  52. package/src/lib/components/Input/index.ts +0 -9
  53. package/src/lib/components/Input/types.ts +0 -39
  54. package/src/lib/components/Link/Link.svelte +0 -41
  55. package/src/lib/components/Link/LinkBox.svelte +0 -20
  56. package/src/lib/components/Link/LinkOverlay.svelte +0 -23
  57. package/src/lib/components/Link/index.ts +0 -4
  58. package/src/lib/components/Link/types.ts +0 -17
  59. package/src/lib/components/Loading/Loader.svelte +0 -60
  60. package/src/lib/components/Loading/Skeleton.svelte +0 -9
  61. package/src/lib/components/Loading/index.ts +0 -2
  62. package/src/lib/components/Logo/Logo.svelte +0 -16
  63. package/src/lib/components/Logo/index.ts +0 -1
  64. package/src/lib/components/MarkerTooltip/MarkerTooltip.svelte +0 -435
  65. package/src/lib/components/MarkerTooltip/index.ts +0 -1
  66. package/src/lib/components/Menu/SelectorMenu.svelte +0 -280
  67. package/src/lib/components/Menu/index.ts +0 -2
  68. package/src/lib/components/Menu/types.ts +0 -17
  69. package/src/lib/components/MyCounterButton.svelte +0 -11
  70. package/src/lib/components/Panel/index.ts +0 -2
  71. package/src/lib/components/Panel/panel.svelte +0 -18
  72. package/src/lib/components/Panel/types.ts +0 -8
  73. package/src/lib/components/PersistButton/PersistButton.svelte +0 -100
  74. package/src/lib/components/PersistButton/index.ts +0 -1
  75. package/src/lib/components/Popover/Popover.svelte +0 -81
  76. package/src/lib/components/Popover/index.ts +0 -2
  77. package/src/lib/components/Popover/types.ts +0 -19
  78. package/src/lib/components/PropsTable/PropsTable.svelte +0 -107
  79. package/src/lib/components/RadialMenu/EffectPreview.svelte +0 -36
  80. package/src/lib/components/RadialMenu/EffectPreviewScene.svelte +0 -194
  81. package/src/lib/components/RadialMenu/RadialMenu.svelte +0 -503
  82. package/src/lib/components/RadialMenu/RadialMenuItem.svelte +0 -176
  83. package/src/lib/components/RadialMenu/index.ts +0 -2
  84. package/src/lib/components/RadialMenu/types.ts +0 -35
  85. package/src/lib/components/Select/Select.svelte +0 -342
  86. package/src/lib/components/Select/index.ts +0 -2
  87. package/src/lib/components/Select/types.ts +0 -22
  88. package/src/lib/components/Spacer/Spacer.svelte +0 -14
  89. package/src/lib/components/Spacer/index.ts +0 -2
  90. package/src/lib/components/Spacer/types.ts +0 -5
  91. package/src/lib/components/Stage/components/AnnotationLayer/AnnotationLayer.svelte +0 -445
  92. package/src/lib/components/Stage/components/AnnotationLayer/AnnotationMaterial.svelte +0 -167
  93. package/src/lib/components/Stage/components/AnnotationLayer/types.ts +0 -196
  94. package/src/lib/components/Stage/components/CursorLayer/CursorLayer.svelte +0 -148
  95. package/src/lib/components/Stage/components/CursorLayer/cursor.svg +0 -26
  96. package/src/lib/components/Stage/components/CursorLayer/index.ts +0 -2
  97. package/src/lib/components/Stage/components/CursorLayer/types.ts +0 -23
  98. package/src/lib/components/Stage/components/DrawingLayer/DrawingMaterial.svelte +0 -364
  99. package/src/lib/components/Stage/components/DrawingLayer/types.ts +0 -65
  100. package/src/lib/components/Stage/components/EdgeOverlayLayer/EdgeOverlayLayer.svelte +0 -72
  101. package/src/lib/components/Stage/components/EdgeOverlayLayer/types.ts +0 -34
  102. package/src/lib/components/Stage/components/FogLayer/FogLayer.svelte +0 -75
  103. package/src/lib/components/Stage/components/FogLayer/types.ts +0 -51
  104. package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarLayer.svelte +0 -249
  105. package/src/lib/components/Stage/components/FogOfWarLayer/FogOfWarMaterial.svelte +0 -200
  106. package/src/lib/components/Stage/components/FogOfWarLayer/types.ts +0 -116
  107. package/src/lib/components/Stage/components/GridLayer/GridLayer.svelte +0 -20
  108. package/src/lib/components/Stage/components/GridLayer/GridMaterial.svelte +0 -69
  109. package/src/lib/components/Stage/components/GridLayer/types.ts +0 -79
  110. package/src/lib/components/Stage/components/LayerInput/LayerInput.svelte +0 -300
  111. package/src/lib/components/Stage/components/MapLayer/MapLayer.svelte +0 -196
  112. package/src/lib/components/Stage/components/MapLayer/dataSources/GifDataSource.ts +0 -265
  113. package/src/lib/components/Stage/components/MapLayer/dataSources/IMapDataSource.ts +0 -55
  114. package/src/lib/components/Stage/components/MapLayer/dataSources/ImageDataSource.ts +0 -87
  115. package/src/lib/components/Stage/components/MapLayer/dataSources/VideoDataSource.ts +0 -150
  116. package/src/lib/components/Stage/components/MapLayer/dataSources/dataSourceFactory.ts +0 -48
  117. package/src/lib/components/Stage/components/MapLayer/dataSources/index.ts +0 -16
  118. package/src/lib/components/Stage/components/MapLayer/types.ts +0 -58
  119. package/src/lib/components/Stage/components/MarkerLayer/MarkerLayer.svelte +0 -398
  120. package/src/lib/components/Stage/components/MarkerLayer/MarkerToken.svelte +0 -262
  121. package/src/lib/components/Stage/components/MarkerLayer/types.ts +0 -126
  122. package/src/lib/components/Stage/components/MeasurementLayer/MeasurementLayer.svelte +0 -364
  123. package/src/lib/components/Stage/components/MeasurementLayer/MeasurementManager.svelte +0 -473
  124. package/src/lib/components/Stage/components/MeasurementLayer/measurements/BaseMeasurement.ts +0 -427
  125. package/src/lib/components/Stage/components/MeasurementLayer/measurements/BeamMeasurement.ts +0 -105
  126. package/src/lib/components/Stage/components/MeasurementLayer/measurements/CircleMeasurement.ts +0 -98
  127. package/src/lib/components/Stage/components/MeasurementLayer/measurements/ConeMeasurement.ts +0 -163
  128. package/src/lib/components/Stage/components/MeasurementLayer/measurements/LineMeasurement.ts +0 -102
  129. package/src/lib/components/Stage/components/MeasurementLayer/measurements/RectangleMeasurement.ts +0 -120
  130. package/src/lib/components/Stage/components/MeasurementLayer/measurements/index.ts +0 -7
  131. package/src/lib/components/Stage/components/MeasurementLayer/types.ts +0 -94
  132. package/src/lib/components/Stage/components/MeasurementLayer/utils/canvasDrawing.ts +0 -357
  133. package/src/lib/components/Stage/components/MeasurementLayer/utils/distanceCalculations.ts +0 -170
  134. package/src/lib/components/Stage/components/ParticleSystem/ParticleSystem.svelte +0 -220
  135. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/ash.png +0 -0
  136. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/leaves.png +0 -0
  137. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/rain.png +0 -0
  138. package/src/lib/components/Stage/components/ParticleSystem/particles/atlases/snow.png +0 -0
  139. package/src/lib/components/Stage/components/ParticleSystem/rng.js +0 -20
  140. package/src/lib/components/Stage/components/ParticleSystem/types.ts +0 -95
  141. package/src/lib/components/Stage/components/PerformanceDebugger/PerformanceDebugger.svelte +0 -144
  142. package/src/lib/components/Stage/components/PerformanceDebugger/index.ts +0 -1
  143. package/src/lib/components/Stage/components/PerformanceOverlay/PerformanceOverlay.svelte +0 -208
  144. package/src/lib/components/Stage/components/PerformanceOverlay/index.ts +0 -1
  145. package/src/lib/components/Stage/components/PointerInputManager/PointerInputManager.svelte +0 -201
  146. package/src/lib/components/Stage/components/Scene/Scene.svelte +0 -651
  147. package/src/lib/components/Stage/components/Scene/luts.ts +0 -24
  148. package/src/lib/components/Stage/components/Scene/types.ts +0 -225
  149. package/src/lib/components/Stage/components/Stage/Stage.svelte +0 -332
  150. package/src/lib/components/Stage/components/Stage/types.ts +0 -136
  151. package/src/lib/components/Stage/components/WeatherLayer/WeatherLayer.svelte +0 -135
  152. package/src/lib/components/Stage/components/WeatherLayer/presets/AshPreset.ts +0 -71
  153. package/src/lib/components/Stage/components/WeatherLayer/presets/LeavesPreset.ts +0 -70
  154. package/src/lib/components/Stage/components/WeatherLayer/presets/RainPreset.ts +0 -68
  155. package/src/lib/components/Stage/components/WeatherLayer/presets/SnowPreset.ts +0 -70
  156. package/src/lib/components/Stage/components/WeatherLayer/presets/index.ts +0 -6
  157. package/src/lib/components/Stage/components/WeatherLayer/types.ts +0 -35
  158. package/src/lib/components/Stage/helpers/clippingPlaneStore.svelte.ts +0 -28
  159. package/src/lib/components/Stage/helpers/debugState.svelte.ts +0 -18
  160. package/src/lib/components/Stage/helpers/grid.ts +0 -548
  161. package/src/lib/components/Stage/helpers/lazyBrush.ts +0 -171
  162. package/src/lib/components/Stage/helpers/performanceMetrics.svelte.ts +0 -220
  163. package/src/lib/components/Stage/helpers/utils.ts +0 -21
  164. package/src/lib/components/Stage/index.ts +0 -49
  165. package/src/lib/components/Stage/shaders/AnnotationEffects.frag +0 -1070
  166. package/src/lib/components/Stage/shaders/Annotations.frag +0 -29
  167. package/src/lib/components/Stage/shaders/Drawing.frag +0 -83
  168. package/src/lib/components/Stage/shaders/Drawing.vert +0 -5
  169. package/src/lib/components/Stage/shaders/Fog.frag +0 -147
  170. package/src/lib/components/Stage/shaders/FractalNoise.frag +0 -96
  171. package/src/lib/components/Stage/shaders/GridShader.frag +0 -174
  172. package/src/lib/components/Stage/shaders/Overlay.frag +0 -23
  173. package/src/lib/components/Stage/shaders/Overlay.vert +0 -0
  174. package/src/lib/components/Stage/shaders/Particles.frag +0 -27
  175. package/src/lib/components/Stage/shaders/Particles.vert +0 -51
  176. package/src/lib/components/Stage/shaders/ToolOutline.frag +0 -59
  177. package/src/lib/components/Stage/shaders/default.vert +0 -8
  178. package/src/lib/components/Stage/types.ts +0 -4
  179. package/src/lib/components/Table/Table.svelte +0 -16
  180. package/src/lib/components/Table/Td.svelte +0 -17
  181. package/src/lib/components/Table/Th.svelte +0 -18
  182. package/src/lib/components/Table/index.ts +0 -4
  183. package/src/lib/components/Table/types.ts +0 -14
  184. package/src/lib/components/Text/Text.svelte +0 -23
  185. package/src/lib/components/Text/index.ts +0 -2
  186. package/src/lib/components/Text/types.ts +0 -12
  187. package/src/lib/components/Title/Title.svelte +0 -54
  188. package/src/lib/components/Title/index.ts +0 -2
  189. package/src/lib/components/Title/types.ts +0 -9
  190. package/src/lib/components/Toast/Toast.svelte +0 -155
  191. package/src/lib/components/Toast/index.ts +0 -5
  192. package/src/lib/components/Toast/toastCookie.ts +0 -24
  193. package/src/lib/components/Toast/types.ts +0 -6
  194. package/src/lib/components/ToolTip/ToolTip.svelte +0 -70
  195. package/src/lib/components/ToolTip/index.ts +0 -2
  196. package/src/lib/components/ToolTip/types.ts +0 -14
  197. package/src/lib/components/index.ts +0 -32
  198. package/src/lib/components/types.ts +0 -0
  199. package/src/lib/index.ts +0 -2
  200. package/src/lib/styles/globals.css +0 -108
  201. package/src/lib/styles/normalize.css +0 -9
  202. package/src/lib/styles/reset.css +0 -133
  203. package/src/lib/styles/utilities.css +0 -179
  204. package/src/lib/styles/vars.css +0 -1103
  205. package/src/lib/types/awareness.ts +0 -17
  206. package/src/lib/utils/rle.ts +0 -217
@@ -1,342 +0,0 @@
1
- <script lang="ts">
2
- import { computePosition, offset, flip, shift, platform } from '@floating-ui/dom';
3
- import type { Snippet } from 'svelte';
4
- import { onDestroy, tick } from 'svelte';
5
- import { IconSelector } from '@tabler/icons-svelte';
6
- import { Icon } from '../Icon';
7
- import { Text } from '../Text';
8
- import type { SelectProps, SelectOption } from './types';
9
-
10
- let {
11
- disabled = false,
12
- multiple = false,
13
- variant = 'default',
14
- selectedPrefix,
15
- selected = $bindable(),
16
- options,
17
- onSelectedChange,
18
- positioning = { placement: 'bottom-start', offset: 8 },
19
- ...restProps
20
- }: SelectProps = $props();
21
-
22
- let button: HTMLElement | null = null;
23
- let menu = $state<HTMLElement | null>(null);
24
- let isOpen = $state(false);
25
- let activeIndex = $state<number | null>(null);
26
- let floatingStyles = $state('');
27
- let selectedOptions = $state<(string | Snippet)[]>([]);
28
-
29
- function updatePosition() {
30
- if (!button || !menu) {
31
- return;
32
- }
33
-
34
- computePosition(button, menu, {
35
- placement: positioning.placement,
36
- middleware: [offset(positioning.offset), flip(), shift()],
37
- platform
38
- })
39
- .then(({ x, y, strategy }) => {
40
- floatingStyles = `left: ${x}px; top: ${y}px; position: ${strategy};`;
41
- })
42
- .catch((error) => {
43
- console.error('Error in computePosition:', error);
44
- });
45
- }
46
-
47
- async function toggleMenu() {
48
- if (disabled) return;
49
-
50
- isOpen = !isOpen;
51
- if (isOpen) {
52
- const flat = getFlatOptions();
53
- if (flat.length > 0) {
54
- activeIndex = 0;
55
- }
56
-
57
- await tick();
58
- updatePosition();
59
- }
60
- }
61
-
62
- const handleGlobalClick = (e: MouseEvent) => {
63
- if (isOpen && menu && button) {
64
- const target = e.target as Node;
65
- if (!menu.contains(target) && !button.contains(target)) {
66
- closeMenu();
67
- }
68
- }
69
- };
70
-
71
- function closeMenu() {
72
- isOpen = false;
73
- activeIndex = null;
74
- }
75
-
76
- function handleSelection(value: string) {
77
- if (multiple) {
78
- selected = selected.includes(value) ? selected.filter((v) => v !== value) : [...selected, value];
79
- } else {
80
- selected = [value];
81
- closeMenu();
82
- }
83
- if (onSelectedChange) {
84
- onSelectedChange(selected);
85
- }
86
- }
87
-
88
- function handleKeydown(event: KeyboardEvent) {
89
- if (!isOpen) return;
90
- const flatOptions = getFlatOptions();
91
- const currentIndex = activeIndex ?? -1;
92
-
93
- switch (event.key) {
94
- case 'ArrowDown':
95
- event.preventDefault();
96
- activeIndex = currentIndex < flatOptions.length - 1 ? currentIndex + 1 : 0;
97
- break;
98
- case 'ArrowUp':
99
- event.preventDefault();
100
- activeIndex = currentIndex > 0 ? currentIndex - 1 : flatOptions.length - 1;
101
- break;
102
- case 'Enter':
103
- case ' ':
104
- event.preventDefault();
105
- if (activeIndex !== null) {
106
- handleSelection(flatOptions[activeIndex].value);
107
- }
108
- break;
109
- case 'Escape':
110
- closeMenu();
111
- break;
112
- }
113
- }
114
-
115
- function getFlatOptions(): SelectOption[] {
116
- return Array.isArray(options) ? options : Object.values(options).flat();
117
- }
118
-
119
- function isSelected(value: string) {
120
- return selected.includes(value);
121
- }
122
-
123
- function isSnippet(value: string | Snippet): value is Snippet {
124
- return typeof value === 'function';
125
- }
126
- $effect(() => {
127
- const flatOptions = getFlatOptions();
128
- selectedOptions = flatOptions.filter((option) => selected.includes(option.value)).map((option) => option.label);
129
- });
130
-
131
- onDestroy(() => {
132
- // Cleanup logic if needed
133
- });
134
-
135
- function getOptionIndex(option: SelectOption): number {
136
- const flat = getFlatOptions();
137
- return flat.findIndex((o) => o.value === option.value);
138
- }
139
- </script>
140
-
141
- <svelte:window onclick={handleGlobalClick} />
142
-
143
- <div class={`select select--${variant}`}>
144
- <button
145
- bind:this={button}
146
- class="select__button"
147
- onclick={toggleMenu}
148
- onkeydown={handleKeydown}
149
- aria-haspopup="listbox"
150
- aria-expanded={isOpen}
151
- aria-disabled={disabled}
152
- {...restProps}
153
- >
154
- <div class="select__selected">
155
- {#if selected.length > 0}
156
- {#if selectedPrefix}
157
- {@render selectedPrefix()}
158
- {/if}
159
- {#each selectedOptions as label, i}
160
- {#if isSnippet(label)}
161
- <div>{@render label()}</div>
162
- {:else}
163
- <div>{label}</div>
164
- {/if}
165
- {#if i < selectedOptions.length - 1}<span>,</span>
166
- {/if}
167
- {/each}
168
- {:else}
169
- <Text color="var(--fgMuted)">Select an option</Text>
170
- {/if}
171
- </div>
172
- <Icon Icon={IconSelector} color="var(--fgMuted)" class="select__icon" />
173
- </button>
174
-
175
- {#if isOpen}
176
- <ul bind:this={menu} class="select__menu" style={floatingStyles} role="listbox">
177
- {#if Array.isArray(options)}
178
- {#each options as option (option.value)}
179
- <li
180
- class={[
181
- 'select__option',
182
- isSelected(option.value) && 'select__option--isSelected',
183
- getOptionIndex(option) === activeIndex && ' select__option--isActive'
184
- ]}
185
- tabindex="0"
186
- onclick={() => handleSelection(option.value)}
187
- onkeydown={handleKeydown}
188
- role="option"
189
- aria-selected={isSelected(option.value)}
190
- >
191
- <div class="select__space">
192
- {#if isSelected(option.value)}
193
- <div class="select__dot"></div>
194
- {/if}
195
- </div>
196
- {#if isSnippet(option.label)}
197
- {@render option.label()}
198
- {:else}
199
- {option.label}
200
- {/if}
201
- </li>
202
- {/each}
203
- {:else}
204
- {#each Object.entries(options) as [group, groupOptions] (group)}
205
- <li class="select__group" aria-hidden="true">{group}</li>
206
- {#each groupOptions as option (option.value)}
207
- <li
208
- class={[
209
- 'select__option',
210
- isSelected(option.value) && 'select__option--isSelected',
211
- getOptionIndex(option) === activeIndex && 'select__option--isActive'
212
- ]}
213
- tabindex="0"
214
- onclick={() => handleSelection(option.value)}
215
- onkeydown={handleKeydown}
216
- role="option"
217
- aria-selected={isSelected(option.value)}
218
- >
219
- <div class="select__space">
220
- {#if isSelected(option.value)}
221
- <div class="select__dot"></div>
222
- {/if}
223
- </div>
224
- {#if isSnippet(option.label)}
225
- {@render option.label()}
226
- {:else}
227
- {option.label}
228
- {/if}
229
- </li>
230
- {/each}
231
- {/each}
232
- {/if}
233
- </ul>
234
- {/if}
235
- </div>
236
-
237
- <style>
238
- .select {
239
- position: relative;
240
- display: inline-block;
241
- width: 100%;
242
- }
243
- .select--transparent .select__button {
244
- border-color: transparent;
245
- background: transparent;
246
- &:hover {
247
- border-color: var(--inputBorderColor);
248
- }
249
- }
250
-
251
- .select__button {
252
- width: 100%;
253
- display: flex;
254
- align-items: center;
255
- justify-content: space-between;
256
- min-height: 2rem;
257
- font-family: var(--font-sans);
258
- border: var(--borderThin);
259
- border-color: var(--inputBorderColor);
260
- border-radius: var(--radius-2);
261
- padding: 0.125rem 0.75rem;
262
- background: var(--inputBg);
263
- cursor: pointer;
264
- gap: 0.5rem;
265
- &:focus-visible {
266
- outline: none;
267
- border-color: var(--fg);
268
- background: var(--inputFocusBg);
269
- }
270
- > div {
271
- overflow: hidden;
272
- text-overflow: ellipsis;
273
- white-space: nowrap;
274
- }
275
- }
276
-
277
- .select__menu {
278
- position: absolute;
279
- background: var(--popoverBg);
280
- border: var(--borderThin);
281
- border-radius: var(--radius-2);
282
- box-shadow: var(--shadow-1);
283
- min-width: 100%;
284
- z-index: 1000;
285
- padding: 0.25rem;
286
- list-style: none;
287
- max-height: 300px;
288
- overflow-y: auto;
289
- }
290
-
291
- .select__option {
292
- padding: 0.25rem 1rem;
293
- cursor: pointer;
294
- display: flex;
295
- align-items: center;
296
- font-size: 0.875rem;
297
- gap: 0.5rem;
298
- border: solid 2px transparent;
299
- gap: 1rem;
300
- }
301
-
302
- .select__option:hover,
303
- .select__option:focus {
304
- background-color: var(--menuItemHover);
305
- border: var(--menuItemBorderHover);
306
- }
307
- .select__option--isActive {
308
- background-color: var(--menuItemHover);
309
- }
310
-
311
- .select__group {
312
- padding: 0.5rem;
313
- font-weight: bold;
314
- color: var(--muted);
315
- }
316
-
317
- .select__icon {
318
- margin-left: auto;
319
- }
320
-
321
- .select__check {
322
- margin-left: auto;
323
- color: var(--check-color);
324
- }
325
-
326
- .select__dot {
327
- width: 0.5rem;
328
- height: 0.5rem;
329
- background: var(--fgPrimary);
330
- border-radius: 50%;
331
- }
332
- .select__space {
333
- width: 0.5rem;
334
- height: 0.5rem;
335
- }
336
- .select__selected {
337
- display: flex;
338
- align-items: center;
339
- gap: 0.25rem;
340
- flex-wrap: wrap;
341
- }
342
- </style>
@@ -1,2 +0,0 @@
1
- export { default as Select } from './Select.svelte';
2
- export * from './types';
@@ -1,22 +0,0 @@
1
- import type { Placement } from '@floating-ui/dom';
2
- import type { Snippet } from 'svelte';
3
- import type { HTMLButtonAttributes } from 'svelte/elements';
4
-
5
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
- export type SelectOption = { label: string | Snippet; value: string; icon?: any; [key: string]: unknown };
7
- export type SelectGroupedOptions = Record<string, SelectOption[]>;
8
- export type SelectOptions = SelectOption[] | SelectGroupedOptions;
9
-
10
- export type SelectProps = {
11
- disabled?: boolean;
12
- multiple?: boolean;
13
- variant?: 'default' | 'transparent' | 'iconOnly';
14
- selectedPrefix?: Snippet;
15
- selected: string[];
16
- options: SelectOptions;
17
- onSelectedChange?: (selected: string[]) => void;
18
- positioning?: {
19
- placement?: Placement;
20
- offset?: number;
21
- };
22
- } & HTMLButtonAttributes;
@@ -1,14 +0,0 @@
1
- <script lang="ts">
2
- import type { SpacerProps } from './types';
3
- let { size = '1rem', ...restProps }: SpacerProps = $props();
4
-
5
- let spacerClasses = $derived(['spacer', restProps.class ?? '']);
6
- </script>
7
-
8
- <div {...restProps} class={spacerClasses} style={`height: ${size}`}></div>
9
-
10
- <style>
11
- .spacer {
12
- display: block;
13
- }
14
- </style>
@@ -1,2 +0,0 @@
1
- export { default as Spacer } from './Spacer.svelte';
2
- export * from './types';
@@ -1,5 +0,0 @@
1
- import type { HTMLAttributes } from 'svelte/elements';
2
-
3
- export type SpacerProps = {
4
- size?: string;
5
- } & HTMLAttributes<HTMLDivElement>;