| 
									
										
										
										
											2025-08-16 17:46:15 +02:00
										 |  |  | {{- $hideLabel := .hideLabel -}} | 
					
						
							|  |  |  | {{- $iconHeight := .iconHeight | default 12 -}} | 
					
						
							| 
									
										
										
										
											2025-08-18 00:26:43 +02:00
										 |  |  | {{- $class := .class | default "hx:h-7 hx:px-2 hx:text-xs hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:font-medium hx:text-gray-600 hx:transition-colors hx:dark:text-gray-400" -}} | 
					
						
							| 
									
										
										
										
											2025-08-20 00:26:32 +02:00
										 |  |  | {{- $location := .location | default "bottom" -}} | 
					
						
							| 
									
										
										
										
											2023-08-13 22:18:20 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-27 17:32:44 +01:00
										 |  |  | {{- $changeTheme := (T "changeTheme") | default "Change theme" -}} | 
					
						
							| 
									
										
										
										
											2023-10-26 04:02:47 -04:00
										 |  |  | {{- $light := (T "light") | default "Light" -}} | 
					
						
							|  |  |  | {{- $dark := (T "dark") | default "Dark" -}} | 
					
						
							| 
									
										
										
										
											2025-08-20 00:26:32 +02:00
										 |  |  | {{- $system := (T "system") | default "System" -}} | 
					
						
							| 
									
										
										
										
											2023-08-13 22:18:20 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-20 00:26:32 +02:00
										 |  |  | <div class="hx:flex hx:justify-items-start hx:group" data-theme="light"> | 
					
						
							|  |  |  |   <button | 
					
						
							|  |  |  |     title="{{ $changeTheme }}" | 
					
						
							|  |  |  |     data-state="closed" | 
					
						
							|  |  |  |     data-location="{{ $location }}" | 
					
						
							|  |  |  |     class="hextra-theme-toggle hx:cursor-pointer hx:rounded-md hx:text-left hx:font-medium {{ $class }} hx:grow" | 
					
						
							|  |  |  |     type="button" | 
					
						
							|  |  |  |     aria-label="{{ $changeTheme }}" | 
					
						
							|  |  |  |   > | 
					
						
							|  |  |  |     <div class="hx:flex hx:items-center hx:gap-2 hx:capitalize"> | 
					
						
							|  |  |  |       {{- partial "utils/icon.html" (dict "name" "sun" "attributes" (printf `height=%d class="hx:group-data-[theme=dark]:hidden hx:group-data-[theme=system]:hidden"` $iconHeight)) -}} | 
					
						
							|  |  |  |       {{- if not $hideLabel }}<span class="hx:group-data-[theme=dark]:hidden hx:group-data-[theme=system]:hidden">{{ $light }}</span>{{ end -}} | 
					
						
							|  |  |  |       {{- partial "utils/icon.html" (dict "name" "moon" "attributes" (printf `height=%d class="hx:group-data-[theme=light]:hidden hx:group-data-[theme=system]:hidden"` $iconHeight)) -}} | 
					
						
							|  |  |  |       {{- if not $hideLabel }}<span class="hx:group-data-[theme=light]:hidden hx:group-data-[theme=system]:hidden">{{ $dark }}</span>{{ end -}} | 
					
						
							|  |  |  |       {{- partial "utils/icon.html" (dict "name" "contrast" "attributes" (printf `height=%d class="hx:group-data-[theme=dark]:hidden hx:group-data-[theme=light]:hidden"` $iconHeight)) -}} | 
					
						
							|  |  |  |       {{- if not $hideLabel }}<span class="hx:group-data-[theme=dark]:hidden hx:group-data-[theme=light]:hidden">{{ $system }}</span>{{ end -}} | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   </button> | 
					
						
							|  |  |  |   <ul | 
					
						
							|  |  |  |     class="hextra-theme-toggle-options hx:hidden hx:z-20 hx:max-h-64 hx:overflow-auto hx:rounded-md hx:ring-1 hx:ring-black/5 hx:bg-white hx:py-1 hx:text-sm hx:shadow-lg hx:dark:ring-white/20 hx:dark:bg-neutral-800" | 
					
						
							|  |  |  |     style="position: fixed; inset: auto auto 0px 0px; margin: 0px; min-width: 100px;" | 
					
						
							|  |  |  |     data-theme="light" | 
					
						
							|  |  |  |   > | 
					
						
							|  |  |  |     <li class="hx:flex hx:flex-col"> | 
					
						
							|  |  |  |       <p | 
					
						
							|  |  |  |         data-item="light" | 
					
						
							|  |  |  |         class="hx:text-gray-800 hx:dark:text-gray-100 hx:hover:bg-primary-50 hx:hover:text-primary-600 hx:hover:dark:bg-primary-500/10 hx:hover:dark:text-primary-600 hx:relative hx:cursor-pointer hx:whitespace-nowrap hx:py-1.5 hx:transition-colors hx:ltr:pl-3 hx:ltr:pr-9 hx:rtl:pr-3 hx:rtl:pl-9" | 
					
						
							|  |  |  |       > | 
					
						
							|  |  |  |         {{ $light }} | 
					
						
							|  |  |  |          <span class="hx:absolute hx:inset-y-0 hx:flex hx:items-center hx:ltr:right-3 hx:rtl:left-3 hx:group-data-[theme=dark]:hidden hx:group-data-[theme=system]:hidden"> | 
					
						
							|  |  |  |           {{- partial "utils/icon" (dict "name" "check" "attributes" "height=1em width=1em") -}} | 
					
						
							|  |  |  |          </span> | 
					
						
							|  |  |  |       </p> | 
					
						
							|  |  |  |     </li> | 
					
						
							|  |  |  |     <li class="hx:flex hx:flex-col"> | 
					
						
							|  |  |  |       <p | 
					
						
							|  |  |  |         data-item="dark" | 
					
						
							|  |  |  |         class="hx:text-gray-800 hx:dark:text-gray-100 hx:hover:bg-primary-50 hx:hover:text-primary-600 hx:hover:dark:bg-primary-500/10 hx:hover:dark:text-primary-600 hx:relative hx:cursor-pointer hx:whitespace-nowrap hx:py-1.5 hx:transition-colors hx:ltr:pl-3 hx:ltr:pr-9 hx:rtl:pr-3 hx:rtl:pl-9" | 
					
						
							|  |  |  |       > | 
					
						
							|  |  |  |         {{ $dark }} | 
					
						
							|  |  |  |          <span class="hx:absolute hx:inset-y-0 hx:flex hx:items-center hx:ltr:right-3 hx:rtl:left-3 hx:group-data-[theme=light]:hidden hx:group-data-[theme=system]:hidden"> | 
					
						
							|  |  |  |           {{- partial "utils/icon" (dict "name" "check" "attributes" "height=1em width=1em") -}} | 
					
						
							|  |  |  |          </span> | 
					
						
							|  |  |  |       </p> | 
					
						
							|  |  |  |     </li> | 
					
						
							|  |  |  |     <li class="hx:flex hx:flex-col"> | 
					
						
							|  |  |  |       <p | 
					
						
							|  |  |  |         data-item="system" | 
					
						
							|  |  |  |         class="hx:text-gray-800 hx:dark:text-gray-100 hx:hover:bg-primary-50 hx:hover:text-primary-600 hx:hover:dark:bg-primary-500/10 hx:hover:dark:text-primary-600 hx:relative hx:cursor-pointer hx:whitespace-nowrap hx:py-1.5 hx:transition-colors hx:ltr:pl-3 hx:ltr:pr-9 hx:rtl:pr-3 hx:rtl:pl-9" | 
					
						
							|  |  |  |       > | 
					
						
							|  |  |  |         {{ $system }} | 
					
						
							|  |  |  |          <span class="hx:absolute hx:inset-y-0 hx:flex hx:items-center hx:ltr:right-3 hx:rtl:left-3 hx:group-data-[theme=dark]:hidden hx:group-data-[theme=light]:hidden"> | 
					
						
							|  |  |  |          {{- partial "utils/icon" (dict "name" "check" "attributes" "height=1em width=1em") -}} | 
					
						
							|  |  |  |          </span> | 
					
						
							|  |  |  |       </p> | 
					
						
							|  |  |  |     </li> | 
					
						
							|  |  |  |   </ul> | 
					
						
							|  |  |  | </div> |