forked from open-webui/open-webui
		
	feat: document select
This commit is contained in:
		
							parent
							
								
									f8cf43c0f7
								
							
						
					
					
						commit
						63628a70a6
					
				
					 2 changed files with 176 additions and 24 deletions
				
			
		
							
								
								
									
										70
									
								
								src/lib/components/common/Checkbox.svelte
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								src/lib/components/common/Checkbox.svelte
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,70 @@ | |||
| <script lang="ts"> | ||||
| 	import { createEventDispatcher } from 'svelte'; | ||||
| 	const dispatch = createEventDispatcher(); | ||||
| 
 | ||||
| 	export let state = 'unchecked'; | ||||
| 	export let indeterminate = false; | ||||
| 
 | ||||
| 	let _state = 'unchecked'; | ||||
| 
 | ||||
| 	$: _state = state; | ||||
| </script> | ||||
| 
 | ||||
| <button | ||||
| 	class=" outline -outline-offset-1 outline-[1.5px] outline-gray-200 dark:outline-gray-600 {state !== | ||||
| 	'unchecked' | ||||
| 		? 'bg-black outline-black ' | ||||
| 		: 'hover:outline-gray-500 hover:bg-gray-50 dark:hover:bg-gray-800'} text-white transition-all rounded inline-block w-3.5 h-3.5 relative" | ||||
| 	on:click={() => { | ||||
| 		if (_state === 'unchecked') { | ||||
| 			_state = 'checked'; | ||||
| 			dispatch('change', _state); | ||||
| 		} else if (_state === 'checked') { | ||||
| 			_state = 'unchecked'; | ||||
| 			if (!indeterminate) { | ||||
| 				dispatch('change', _state); | ||||
| 			} | ||||
| 		} else if (indeterminate) { | ||||
| 			_state = 'checked'; | ||||
| 			dispatch('change', _state); | ||||
| 		} | ||||
| 	}} | ||||
| > | ||||
| 	<div class="top-0 left-0 absolute w-full flex justify-center"> | ||||
| 		{#if _state === 'checked'} | ||||
| 			<svg | ||||
| 				class="w-3.5 h-3.5" | ||||
| 				aria-hidden="true" | ||||
| 				xmlns="http://www.w3.org/2000/svg" | ||||
| 				fill="none" | ||||
| 				viewBox="0 0 24 24" | ||||
| 			> | ||||
| 				<path | ||||
| 					stroke="currentColor" | ||||
| 					stroke-linecap="round" | ||||
| 					stroke-linejoin="round" | ||||
| 					stroke-width="3" | ||||
| 					d="m5 12 4.7 4.5 9.3-9" | ||||
| 				/> | ||||
| 			</svg> | ||||
| 		{:else if indeterminate} | ||||
| 			<svg | ||||
| 				class="w-3 h-3.5 text-gray-800 dark:text-white" | ||||
| 				aria-hidden="true" | ||||
| 				xmlns="http://www.w3.org/2000/svg" | ||||
| 				fill="none" | ||||
| 				viewBox="0 0 24 24" | ||||
| 			> | ||||
| 				<path | ||||
| 					stroke="currentColor" | ||||
| 					stroke-linecap="round" | ||||
| 					stroke-linejoin="round" | ||||
| 					stroke-width="3" | ||||
| 					d="M5 12h14" | ||||
| 				/> | ||||
| 			</svg> | ||||
| 		{/if} | ||||
| 	</div> | ||||
| 
 | ||||
| 	<!-- {checked} --> | ||||
| </button> | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy J. Baek
						Timothy J. Baek