windmill-components 1.339.2 → 1.352.0

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 (231) hide show
  1. package/package/assets/app.css +0 -12
  2. package/package/ata/index.js +1 -0
  3. package/package/autosize.js +1 -1
  4. package/package/common.d.ts +6 -2
  5. package/package/common.js +2 -1
  6. package/package/components/AppConnectDrawer.svelte +1 -1
  7. package/package/components/AppConnectInner.svelte +9 -15
  8. package/package/components/ArgEnum.svelte +4 -1
  9. package/package/components/ArgEnum.svelte.d.ts +3 -1
  10. package/package/components/ArgInput.svelte +184 -141
  11. package/package/components/ArgInput.svelte.d.ts +7 -7
  12. package/package/components/ArrayTypeNarrowing.svelte +29 -27
  13. package/package/components/CenteredPage.svelte +2 -2
  14. package/package/components/DefaultTagsInner.svelte +1 -1
  15. package/package/components/Dev.svelte +2 -1
  16. package/package/components/DiffDrawer.svelte +1 -2
  17. package/package/components/DisplayResult.svelte +293 -233
  18. package/package/components/DurationMs.svelte +11 -3
  19. package/package/components/DurationMs.svelte.d.ts +2 -0
  20. package/package/components/EditableSchemaForm.svelte +447 -103
  21. package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
  22. package/package/components/Editor.svelte +3 -1
  23. package/package/components/EditorBar.svelte +2 -2
  24. package/package/components/FlowBuilder.svelte +14 -6
  25. package/package/components/FlowGraphViewer.svelte +1 -1
  26. package/package/components/FlowGraphViewerStep.svelte +37 -9
  27. package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
  28. package/package/components/FlowJobResult.svelte +1 -3
  29. package/package/components/FlowMetadata.svelte +1 -1
  30. package/package/components/FlowPreviewContent.svelte +5 -3
  31. package/package/components/FlowStatusViewer.svelte +4 -0
  32. package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
  33. package/package/components/FlowStatusViewerInner.svelte +50 -17
  34. package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
  35. package/package/components/FlowTimeline.svelte +13 -0
  36. package/package/components/FlowTimeline.svelte.d.ts +2 -0
  37. package/package/components/FlowViewer.svelte +0 -5
  38. package/package/components/FolderEditor.svelte +25 -0
  39. package/package/components/FolderEditor.svelte.d.ts +2 -0
  40. package/package/components/GroupEditor.svelte +36 -91
  41. package/package/components/GroupInfo.svelte +1 -1
  42. package/package/components/InputTransformForm.svelte +16 -1
  43. package/package/components/InputTransformForm.svelte.d.ts +2 -0
  44. package/package/components/InputTransformSchemaForm.svelte +6 -0
  45. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  46. package/package/components/InstanceSettings.svelte +36 -3
  47. package/package/components/InstanceSettings.svelte.d.ts +2 -0
  48. package/package/components/JobStatus.svelte +2 -2
  49. package/package/components/LightweightArgInput.svelte +66 -14
  50. package/package/components/LightweightArgInput.svelte.d.ts +3 -2
  51. package/package/components/LightweightSchemaForm.svelte +24 -15
  52. package/package/components/ModulePreviewForm.svelte +1 -0
  53. package/package/components/NumberTypeNarrowing.svelte +71 -44
  54. package/package/components/ObjectResourceInput.svelte +2 -0
  55. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  56. package/package/components/ObjectTypeNarrowing.svelte +0 -1
  57. package/package/components/ParqetCsvTableRenderer.svelte +181 -0
  58. package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
  59. package/package/components/Path.svelte +2 -2
  60. package/package/components/PersistentScriptDrawer.svelte +6 -3
  61. package/package/components/Range.svelte +88 -286
  62. package/package/components/Range.svelte.d.ts +9 -23
  63. package/package/components/ResourceEditor.svelte +138 -141
  64. package/package/components/ResourceEditor.svelte.d.ts +9 -2
  65. package/package/components/ResourceEditorDrawer.svelte +45 -0
  66. package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
  67. package/package/components/ResourcePicker.svelte +5 -2
  68. package/package/components/ResourceTypePicker.svelte +88 -36
  69. package/package/components/RunChart.svelte +55 -5
  70. package/package/components/RunChart.svelte.d.ts +1 -0
  71. package/package/components/RunForm.svelte +1 -1
  72. package/package/components/S3FilePicker.svelte +20 -8
  73. package/package/components/S3FilePicker.svelte.d.ts +2 -0
  74. package/package/components/ScheduleEditorInner.svelte +40 -37
  75. package/package/components/SchemaForm.svelte +192 -103
  76. package/package/components/SchemaForm.svelte.d.ts +16 -2
  77. package/package/components/ScriptBuilder.svelte +13 -8
  78. package/package/components/ScriptSchedules.svelte +11 -8
  79. package/package/components/ScriptSchema.svelte +3 -21
  80. package/package/components/ScriptVersionHistory.svelte +1 -1
  81. package/package/components/StringTypeNarrowing.svelte +217 -174
  82. package/package/components/StringTypeNarrowing.svelte.d.ts +5 -1
  83. package/package/components/Toggle.svelte +6 -3
  84. package/package/components/Toggle.svelte.d.ts +1 -0
  85. package/package/components/UserSettings.svelte +24 -1
  86. package/package/components/WorkspaceGroup.svelte +11 -13
  87. package/package/components/apps/components/buttons/AppButton.svelte +2 -0
  88. package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  89. package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
  90. package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
  91. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +21 -8
  92. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
  93. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +19 -7
  94. package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
  95. package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
  96. package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
  97. package/package/components/apps/components/display/charts/AppAgCharts.svelte +25 -15
  98. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +2 -0
  99. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +1 -1
  100. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
  101. package/package/components/apps/components/helpers/RunnableComponent.svelte +18 -8
  102. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
  103. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -0
  104. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  105. package/package/components/apps/components/helpers/eval.js +1 -36
  106. package/package/components/apps/components/inputs/AppFileInput.svelte +3 -1
  107. package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
  108. package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
  109. package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
  110. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +3 -1
  111. package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
  112. package/package/components/apps/components/layout/AppStepper.svelte +5 -1
  113. package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
  114. package/package/components/apps/components/layout/AppTabs.svelte +3 -1
  115. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  116. package/package/components/apps/editor/AppEditorHeader.svelte +6 -7
  117. package/package/components/apps/editor/SettingsPanel.svelte +13 -3
  118. package/package/components/apps/editor/component/Component.svelte +8 -16
  119. package/package/components/apps/editor/component/components.d.ts +11 -2
  120. package/package/components/apps/editor/component/components.js +2 -1
  121. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
  122. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
  123. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +3 -41
  124. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
  125. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
  126. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
  127. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
  128. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +21 -45
  129. package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -23
  130. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +5 -1
  131. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
  132. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
  133. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +7 -1
  134. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
  135. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
  136. package/package/components/common/button/ButtonDropdown.svelte +1 -0
  137. package/package/components/common/drawer/Disposable.svelte +3 -2
  138. package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
  139. package/package/components/common/drawer/Drawer.svelte +12 -2
  140. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  141. package/package/components/common/fileDownload/FileDownload.svelte +4 -2
  142. package/package/components/common/fileUpload/FileUpload.svelte +4 -3
  143. package/package/components/common/modal/Modal.svelte +4 -1
  144. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  145. package/package/components/common/popup/Popup.svelte +1 -1
  146. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
  147. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  148. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
  149. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
  150. package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
  151. package/package/components/flows/content/FlowInput.svelte +63 -53
  152. package/package/components/flows/content/FlowModuleComponent.svelte +26 -3
  153. package/package/components/flows/content/FlowModuleScript.svelte +40 -1
  154. package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
  155. package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
  156. package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
  157. package/package/components/flows/content/FlowSchedules.svelte +11 -8
  158. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -4
  159. package/package/components/flows/flowStateUtils.js +4 -1
  160. package/package/components/flows/map/FlowModuleSchemaItem.svelte +16 -1
  161. package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
  162. package/package/components/flows/types.d.ts +4 -0
  163. package/package/components/flows/utils.d.ts +5 -1
  164. package/package/components/flows/utils.js +36 -0
  165. package/package/components/graph/FlowGraph.svelte +5 -2
  166. package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
  167. package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
  168. package/package/components/graph/svelvet/container/models/index.js +1 -1
  169. package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
  170. package/package/components/graph/util.d.ts +1 -37
  171. package/package/components/graph/util.js +0 -34
  172. package/package/components/instanceSettings.js +2 -1
  173. package/package/components/jobs/JobPreview.svelte +1 -1
  174. package/package/components/multiselect/MultiSelect.svelte +4 -3
  175. package/package/components/multiselect/MultiSelect.svelte.d.ts +1 -0
  176. package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
  177. package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
  178. package/package/components/propertyPicker/ObjectViewer.svelte +6 -2
  179. package/package/components/runs/JobPreview.svelte +5 -1
  180. package/package/components/runs/RunRow.svelte +22 -3
  181. package/package/components/runs/RunRow.svelte.d.ts +2 -1
  182. package/package/components/runs/RunsTable.svelte +22 -9
  183. package/package/components/runs/RunsTable.svelte.d.ts +2 -1
  184. package/package/components/schema/AddProperty.svelte +149 -0
  185. package/package/components/schema/AddProperty.svelte.d.ts +23 -0
  186. package/package/components/schema/AddPropertyForm.svelte +33 -0
  187. package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
  188. package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
  189. package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
  190. package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
  191. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
  192. package/package/components/schema/FlowPropertyEditor.svelte +393 -0
  193. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
  194. package/package/components/schema/PropertyEditor.svelte +185 -0
  195. package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
  196. package/package/components/schema/SchemaFormDND.svelte +75 -0
  197. package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
  198. package/package/components/table/AutoDataTable.svelte +90 -104
  199. package/package/components/table/Cell.svelte +4 -1
  200. package/package/components/table/Cell.svelte.d.ts +1 -0
  201. package/package/components/table/DownloadCsv.svelte +30 -0
  202. package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
  203. package/package/components/table/tableUtils.d.ts +8 -0
  204. package/package/components/table/tableUtils.js +37 -0
  205. package/package/consts.js +3 -1
  206. package/package/deno_fetch.d.ts.txt +6 -0
  207. package/package/gen/core/OpenAPI.js +1 -1
  208. package/package/gen/schemas.gen.d.ts +76 -0
  209. package/package/gen/schemas.gen.js +76 -0
  210. package/package/gen/services.gen.d.ts +100 -5
  211. package/package/gen/services.gen.js +216 -16
  212. package/package/gen/types.gen.d.ts +378 -5
  213. package/package/inferArgSig.d.ts +10 -0
  214. package/package/inferArgSig.js +59 -2
  215. package/package/scripts.d.ts +2 -0
  216. package/package/scripts.js +6 -3
  217. package/package/utils.d.ts +4 -3
  218. package/package/utils.js +9 -4
  219. package/package/workspace_settings.d.ts +15 -0
  220. package/package/workspace_settings.js +81 -0
  221. package/package.json +16 -7
  222. package/package/components/ParqetTableRenderer.svelte +0 -117
  223. package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
  224. package/package/components/PropertyRow.svelte +0 -88
  225. package/package/components/PropertyRow.svelte.d.ts +0 -23
  226. package/package/components/SchemaEditor.svelte +0 -346
  227. package/package/components/SchemaEditor.svelte.d.ts +0 -25
  228. package/package/components/SchemaModal.svelte +0 -443
  229. package/package/components/SchemaModal.svelte.d.ts +0 -33
  230. package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
  231. package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
@@ -1,306 +1,108 @@
1
- <script>
2
- import { createEventDispatcher, onDestroy } from 'svelte'
3
- import { fly, fade } from 'svelte/transition'
4
-
5
- // Props
6
- export let min = 0
7
- export let max = 100
8
- export let initialValue = 0
9
- export let id = null
10
- export let value = typeof initialValue === 'string' ? parseInt(initialValue) : initialValue
11
-
12
- // Node Bindings
13
- let container = null
14
- let thumb = null
15
- let progressBar = null
16
- let element = null
17
-
18
- // Internal State
19
- let elementX = null
20
- let currentThumb = null
21
- let holding = false
22
- let thumbHover = false
23
- let keydownAcceleration = 0
24
- let accelerationTimer = null
25
-
26
- // Dispatch 'change' events
27
- const dispatch = createEventDispatcher()
28
-
29
- // Mouse shield used onMouseDown to prevent any mouse events penetrating other elements,
30
- // ie. hover events on other elements while dragging. Especially for Safari
31
- const mouseEventShield = document.createElement('div')
32
- mouseEventShield.setAttribute('class', 'mouse-over-shield')
33
- mouseEventShield.addEventListener('mouseover', (e) => {
34
- e.preventDefault()
35
- e.stopPropagation()
36
- })
37
-
38
- function resizeWindow() {
39
- elementX = element.getBoundingClientRect().left
40
- }
41
-
42
- // Allows both bind:value and on:change for parent value retrieval
43
- function setValue(val) {
44
- value = val
45
- dispatch('change', { value })
46
- }
47
-
48
- function onTrackEvent(e) {
49
- // Update value immediately before beginning drag
50
- updateValueOnEvent(e)
51
- onDragStart(e)
52
- }
53
-
54
- function onDragStart(e) {
55
- // If mouse event add a pointer events shield
56
- if (e.type === 'mousedown') document.body.append(mouseEventShield)
57
- currentThumb = thumb
58
- }
59
-
60
- function onDragEnd(e) {
61
- // If using mouse - remove pointer event shield
62
- if (e.type === 'mouseup') {
63
- if (document.body.contains(mouseEventShield)) document.body.removeChild(mouseEventShield)
64
- // Needed to check whether thumb and mouse overlap after shield removed
65
- if (isMouseInElement(e, thumb)) thumbHover = true
66
- }
67
- currentThumb = null
68
- }
69
-
70
- onDestroy(() => {
71
- if (document.body.contains(mouseEventShield)) document.body.removeChild(mouseEventShield)
72
- })
73
-
74
- // Check if mouse event cords overlay with an element's area
75
- function isMouseInElement(event, element) {
76
- let rect = element.getBoundingClientRect()
77
- let { clientX: x, clientY: y } = event
78
- if (x < rect.left || x >= rect.right) return false
79
- if (y < rect.top || y >= rect.bottom) return false
80
- return true
81
- }
82
-
83
- // Accessible keypress handling
84
- function onKeyPress(e) {
85
- // Max out at +/- 10 to value per event (50 events / 5)
86
- // 100 below is to increase the amount of events required to reach max velocity
87
- if (keydownAcceleration < 50) keydownAcceleration++
88
- let throttled = Math.ceil(keydownAcceleration / 5)
89
-
90
- if (e.key === 'ArrowUp' || e.key === 'ArrowRight') {
91
- if (value + throttled > max || value >= max) {
92
- setValue(max)
93
- } else {
94
- setValue(value + throttled)
95
- }
96
- }
97
- if (e.key === 'ArrowDown' || e.key === 'ArrowLeft') {
98
- if (value - throttled < min || value <= min) {
99
- setValue(min)
100
- } else {
101
- setValue(value - throttled)
102
- }
103
- }
104
-
105
- // Reset acceleration after 100ms of no events
106
- clearTimeout(accelerationTimer)
107
- accelerationTimer = setTimeout(() => (keydownAcceleration = 1), 100)
108
- }
109
-
110
- function calculateNewValue(clientX) {
111
- resizeWindow()
112
- // Find distance between cursor and element's left cord (20px / 2 = 10px) - Center of thumb
113
- let delta = clientX - (elementX + 10)
114
-
115
- // Use width of the container minus (5px * 2 sides) offset for percent calc
116
- let percent = (delta * 100) / (container.clientWidth - 10)
117
-
118
- // Limit percent 0 -> 100
119
- percent = percent < 0 ? 0 : percent > 100 ? 100 : percent
120
-
121
- // Limit value min -> max
122
- setValue(Math.round((percent * (max - min)) / 100 + min))
123
- }
124
-
125
- // Handles both dragging of touch/mouse as well as simple one-off click/touches
126
- function updateValueOnEvent(e) {
127
- // touchstart && mousedown are one-off updates, otherwise expect a currentPointer node
128
- if (!currentThumb && e.type !== 'touchstart' && e.type !== 'mousedown') return false
129
-
130
- if (e.stopPropagation) e.stopPropagation()
131
- if (e.preventDefault) e.preventDefault()
132
-
133
- // Get client's x cord either touch or mouse
134
- const clientX =
135
- e.type === 'touchmove' || e.type === 'touchstart' ? e.touches[0].clientX : e.clientX
136
-
137
- calculateNewValue(clientX)
138
- }
139
-
140
- // React to left position of element relative to window
141
- $: if (element) elementX = element.getBoundingClientRect().left
142
-
143
- // Set a class based on if dragging
144
- $: holding = Boolean(currentThumb)
145
-
146
- // Update progressbar and thumb styles to represent value
147
- $: if (progressBar && thumb) {
148
- // Limit value min -> max
149
- value = value > min ? value : min
150
- value = value < max ? value : max
151
-
152
- let percent = ((value - min) * 100) / (max - min)
153
- let offsetLeft = (container.clientWidth - 10) * (percent / 100) + 5
154
-
155
- // Update thumb position + active range track width
156
- thumb.style.left = `${offsetLeft}px`
157
- progressBar.style.width = `${offsetLeft}px`
158
- }
1
+ <script>import RangeSlider from 'svelte-range-slider-pips';
2
+ export let min = 0;
3
+ export let max = 100;
4
+ export let initialValue = 0;
5
+ export let value = typeof initialValue === 'string' ? parseInt(initialValue) : initialValue;
6
+ export let disabled = false;
7
+ export let defaultValue = undefined;
8
+ let step = 1;
9
+ let slider;
10
+ function calculateAxisStep(min, max) {
11
+ const range = max - min;
12
+ return range < 100 ? 1 : range / 20;
13
+ }
14
+ $: if (value === null) {
15
+ value = 0;
16
+ }
17
+ $: axisStep = calculateAxisStep(min, max);
18
+ const format = (v, i, p) => {
19
+ return `${v}`;
20
+ };
21
+ function handleKeyDown(event) {
22
+ if (disabled)
23
+ return;
24
+ switch (event.key) {
25
+ case 'ArrowLeft':
26
+ if (value > min) {
27
+ value = Math.max(value - step, min);
28
+ }
29
+ break;
30
+ case 'ArrowRight':
31
+ if (value < max) {
32
+ value = Math.min(value + step, max);
33
+ }
34
+ break;
35
+ }
36
+ event.preventDefault();
37
+ }
38
+ // Calculate the handle width based on the length of the max value
39
+ $: handleWidth = `${Math.max(max.toString().length ?? 2, 2)}em`;
159
40
  </script>
160
41
 
161
- <svelte:window
162
- on:touchmove|nonpassive={updateValueOnEvent}
163
- on:touchcancel={onDragEnd}
164
- on:touchend={onDragEnd}
165
- on:mousemove={updateValueOnEvent}
166
- on:mouseup={onDragEnd}
167
- on:resize={resizeWindow}
168
- />
169
- <div class="range">
42
+ <div class="flex flex-row w-full mx-2 items-center gap-8">
43
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
44
+
170
45
  <div
171
- class="range__wrapper"
172
- tabindex="0"
173
- on:keydown={onKeyPress}
174
- bind:this={element}
175
- role="slider"
176
- aria-valuemin={min}
177
- aria-valuemax={max}
178
- aria-valuenow={value}
179
- {id}
46
+ class={'grow'}
47
+ style="--range-handle-focus: {'#7e9abd'}; --range-handle: {'#7e9abd'}; --handle-width: {handleWidth}; --handle-border: 4px;"
180
48
  on:pointerdown|stopPropagation
181
- on:mousedown|stopPropagation={onTrackEvent}
182
- on:touchstart|stopPropagation={onTrackEvent}
183
- >
184
- <div class="range__track" bind:this={container}>
185
- <div class="range__track--highlighted" bind:this={progressBar} />
186
- <!-- svelte-ignore a11y-mouse-events-have-key-events -->
187
- <div
188
- class="range__thumb"
189
- class:range__thumb--holding={holding}
190
- bind:this={thumb}
191
- on:touchstart={onDragStart}
192
- on:mousedown={onDragStart}
193
- on:mouseover={() => (thumbHover = true)}
194
- on:mouseout={() => (thumbHover = false)}
49
+ on:keydown={handleKeyDown}
50
+ >{#if max <= min}
51
+ <div class="text-secondary text-sm"
52
+ >Impossible to display range: {`max (${max}) <= min (${min})`}</div
195
53
  >
196
- {#if holding || thumbHover}
197
- <div class="range__tooltip" in:fly={{ y: 7, duration: 200 }} out:fade={{ duration: 100 }}>
198
- {value}
199
- </div>
200
- {/if}
201
- </div>
202
- </div>
54
+ {:else}
55
+ <RangeSlider
56
+ id="range-slider-form"
57
+ springValues={{ stiffness: 1, damping: 1 }}
58
+ bind:slider
59
+ min={min == undefined ? 0 : +min}
60
+ max={max == undefined ? 1 : +max}
61
+ on:change={(e) => {
62
+ value = e.detail.value
63
+ }}
64
+ {defaultValue}
65
+ {disabled}
66
+ values={[value]}
67
+ pips
68
+ float
69
+ first="label"
70
+ last="label"
71
+ step={step ?? 1}
72
+ pipstep={(axisStep ?? 1) / (step ?? 1)}
73
+ formatter={format}
74
+ />
75
+ {/if}
203
76
  </div>
204
- </div>
205
77
 
206
- <svelte:head>
207
- <style>
208
- .mouse-over-shield {
209
- position: fixed;
210
- top: 0px;
211
- left: 0px;
212
- height: 100%;
213
- width: 100%;
214
- background-color: rgba(255, 0, 0, 0);
215
- z-index: 10000;
216
- cursor: grabbing;
217
- }</style>
218
- </svelte:head>
78
+ <input bind:value type="number" class="!w-16 h-8 !text-xs mb-6" {max} {min} {disabled} />
79
+ </div>
219
80
 
220
81
  <style>
221
- .range {
222
- position: relative;
223
- flex: 1;
224
- }
225
-
226
- .range__wrapper {
227
- min-width: 100%;
228
- position: relative;
229
- padding: 0.5rem;
230
- box-sizing: border-box;
231
- outline: none;
82
+ :global(#range-slider-form.rangeSlider) {
83
+ font-size: 12px;
84
+ text-transform: uppercase;
232
85
  }
233
86
 
234
- .range__wrapper:focus-visible > .range__track {
235
- box-shadow: 0 0 0 2px white, 0 0 0 3px var(--track-focus, #6185ff);
87
+ :global(.dark #range-slider-form.rangeSlider) {
88
+ background-color: #3b4252;
236
89
  }
237
90
 
238
- .range__track {
239
- height: 6px;
240
- background-color: var(--track-bgcolor, #d0d0d0);
241
- border-radius: 999px;
242
- }
243
-
244
- .range__track--highlighted {
245
- background-color: var(--track-highlight-bgcolor, #6185ff);
246
- background: var(--track-highlight-bg, linear-gradient(90deg, #6185ff, #9c65ff));
247
- width: 0;
248
- height: 6px;
249
- position: absolute;
250
- border-radius: 999px;
251
- }
252
-
253
- .range__thumb {
91
+ :global(#range-slider-form.rangeSlider .rangeHandle) {
92
+ width: var(--handle-width, 2em) !important;
93
+ height: 2em;
254
94
  display: flex;
255
- align-items: center;
95
+ justify-items: center;
256
96
  justify-content: center;
257
- position: absolute;
258
- width: 20px;
259
- height: 20px;
260
- background-color: var(--thumb-bgcolor, white);
261
- cursor: pointer;
262
- border-radius: 999px;
263
- margin-top: -8px;
264
- transition: box-shadow 100ms;
265
- -webkit-user-select: none;
266
- -moz-user-select: none;
267
- user-select: none;
268
- box-shadow: var(
269
- --thumb-boxshadow,
270
- 0 1px 1px 0 rgba(0, 0, 0, 0.14),
271
- 0 0px 2px 1px rgba(0, 0, 0, 0.2)
272
- );
273
- }
274
-
275
- .range__thumb--holding {
276
- box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 2px 1px rgba(0, 0, 0, 0.2),
277
- 0 0 0 6px var(--thumb-holding-outline, rgba(113, 119, 250, 0.3));
278
97
  }
279
98
 
280
- .range__tooltip {
281
- pointer-events: none;
282
- position: absolute;
283
- top: -33px;
284
- color: var(--tooltip-text, white);
285
- width: 38px;
286
- padding: 4px 0;
287
- border-radius: 4px;
288
- text-align: center;
289
- background-color: var(--tooltip-bgcolor, #6185ff);
290
- background: var(--tooltip-bg, linear-gradient(45deg, #6185ff, #9c65ff));
99
+ :global(#range-slider-form.rangeSlider .rangeFloat) {
100
+ opacity: 1;
101
+ background: transparent;
102
+ top: 50%;
103
+ transform: translate(-50%, -50%);
291
104
  }
292
105
 
293
- .range__tooltip::after {
294
- content: '';
295
- display: block;
296
- position: absolute;
297
- height: 7px;
298
- width: 7px;
299
- background-color: var(--tooltip-bgcolor, #6185ff);
300
- bottom: -3px;
301
- left: calc(50% - 3px);
302
- -webkit-clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
303
- clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
304
- transform: rotate(-45deg);
305
- border-radius: 0 0 0 3px;
106
+ :global(.dark #range-slider-form.rangeSlider > .rangePips > .pip) {
107
+ color: #eeeeee;
306
108
  }</style>
@@ -1,37 +1,23 @@
1
- /** @typedef {typeof __propDef.props} RangeProps */
2
- /** @typedef {typeof __propDef.events} RangeEvents */
3
- /** @typedef {typeof __propDef.slots} RangeSlots */
4
- export default class Range extends SvelteComponent<{
5
- value?: number | undefined;
6
- id?: null | undefined;
7
- max?: number | undefined;
8
- min?: number | undefined;
9
- initialValue?: number | undefined;
10
- }, {
11
- pointerdown: PointerEvent;
12
- change: CustomEvent<any>;
13
- } & {
14
- [evt: string]: CustomEvent<any>;
15
- }, {}> {
16
- }
17
- export type RangeProps = typeof __propDef.props;
18
- export type RangeEvents = typeof __propDef.events;
19
- export type RangeSlots = typeof __propDef.slots;
20
1
  import { SvelteComponent } from "svelte";
21
2
  declare const __propDef: {
22
3
  props: {
23
- value?: number | undefined;
24
- id?: null | undefined;
25
- max?: number | undefined;
26
4
  min?: number | undefined;
5
+ max?: number | undefined;
27
6
  initialValue?: number | undefined;
7
+ value?: number | undefined;
8
+ disabled?: boolean | undefined;
9
+ defaultValue?: number | undefined;
28
10
  };
29
11
  events: {
30
12
  pointerdown: PointerEvent;
31
- change: CustomEvent<any>;
32
13
  } & {
33
14
  [evt: string]: CustomEvent<any>;
34
15
  };
35
16
  slots: {};
36
17
  };
18
+ export type RangeProps = typeof __propDef.props;
19
+ export type RangeEvents = typeof __propDef.events;
20
+ export type RangeSlots = typeof __propDef.slots;
21
+ export default class Range extends SvelteComponent<RangeProps, RangeEvents, RangeSlots> {
22
+ }
37
23
  export {};