From 75d99d2120b7fa9af19ffed8a9b44ab6f59bee26 Mon Sep 17 00:00:00 2001
From: maropboia <164220066+maropboia@users.noreply.github.com>
Date: Fri, 3 May 2024 11:38:59 +0600
Subject: [PATCH] improve
---
.vitepress/theme/components/Switch.vue | 186 ++++++++++++++++++++++++-
1 file changed, 180 insertions(+), 6 deletions(-)
diff --git a/.vitepress/theme/components/Switch.vue b/.vitepress/theme/components/Switch.vue
index 430376a29..c2f425c9b 100644
--- a/.vitepress/theme/components/Switch.vue
+++ b/.vitepress/theme/components/Switch.vue
@@ -3,11 +3,63 @@ import { ref } from 'vue'
import { Switch } from '@headlessui/vue'
const enabled = ref(false)
+const switchRef = ref(null)
+
+const toggleSwitch = () => {
+ enabled.value = !enabled.value
+}
+
+const handleDisabled = () => {
+ // Handle disabled state
+}
+
+const handleFocus = () => {
+ // Handle focus event
+}
+
+const handleBlur = () => {
+ // Handle blur event
+}
-
-
+
+ {{ enabled ? 'Enabled' : 'Disabled' }}
+ {{ enabled ? 'On' : 'Off' }}
@@ -24,15 +76,55 @@ const enabled = ref(false)
border-color 0.25s,
background-color 0.4s ease;
border-radius: 11px;
+ cursor: pointer;
+ outline: none;
}
.switch.enabled {
background-color: var(--vp-c-brand);
}
-
-
+
+.switch:disabled .thumb,
+.switch:read-only .thumb {
+ background-color: var(--vp-input-switch-disabled-thumb-bg-color);
+ box-shadow: none;
+}
+
+.switch:disabled .thumb:hover,
+.switch:read-only .thumb:hover {
+ background-color: var(--vp-input-switch-disabled-thumb-bg-color);
+ box-shadow: none;
+}
+
+.switch.enabled:disabled .thumb,
+.switch.enabled:read-only .thumb {
+ background-color: var(--vp-input-switch-disabled-thumb-bg-color);
+ box-shadow: none;
+}
+
+.switch.enabled:disabled .thumb:hover,
+.switch.enabled:read-only .thumb:hover {
+ background-color: var(--vp-input-switch-disabled-thumb-bg-color);
+ box-shadow: none;
+}
+
+.switch[data-state="checked"]:not(:disabled):not(:read-only):hover .thumb {
+ background-color: var(--vp-input-switch-checked-hover-thumb-bg-color);
+}
+
+.switch[data-state="unchecked"]:not(:disabled):not(:read-only):hover .thumb {
+ background-color: var(--vp-input-switch-unchecked-hover-thumb-bg-color);
+}
+
+.switch[data-state="checked"]:not(:disabled):not(:read-only) .thumb {
+ background-color: var(--vp-input-switch-checked-thumb-bg-color);
+}
+
+.switch[data-state="unchecked"]:not(:disabled):not(:read-only) .thumb {
+ background-color: var(--vp-input-switch-unchecked-thumb-bg-color);
+}
+
+.switch[data-state="checked"]:not(:disabled):not(:read-only):active .thumb {
+ background-color: var(--vp-input-switch-checked-active-thumb-bg-color);
+}
+
+.switch[data-state="unchecked"]:not(:disabled):not(:read-only):active .thumb {
+ background-color: var(--vp-input-switch-unchecked-active-thumb-bg-color);
+}
+
+.switch[data-state="checked"]:not(:disabled):not(:read-only):focus .thumb {
+ background-color: var(--vp-input-switch-checked-focus-thumb-bg-color);
+}
+
+.switch[data-state="unchecked"]:not(:disabled):not(:read-only):focus .thumb {
+ background-color: var(--vp-input-switch-unchecked-focus-thumb-bg-color);
+}
+
+.switch[data-state="checked"]:not(:disabled):not(:read-only):focus-within .thumb {
+ background-color: var(--vp-input-switch-checked-focus-thumb-bg-color);
+}
+
+.switch[data-state="unchecked"]:not(:disabled):not(:read-only):focus-within .thumb {
+ background-color: var(--vp-input-switch-unchecked-focus-thumb-bg-color);
+}
+
+.switch[data-state="checked"]:disabled .thumb,
+.switch[data-state="checked"]:read-only .thumb {
+ background-color: var(--vp-input-switch-disabled-checked-thumb-bg-color);
+}
+
+.switch[data-state="unchecked"]:disabled .thumb,
+.switch[data-state="unchecked"]:read-only .thumb {
+ background-color: var(--vp-input-switch-disabled-unchecked-thumb-bg-color);
+}
+
+.switch[data-state="checked"]:disabled .thumb:hover,
+.switch[data-state="checked"]:read-only .thumb:hover {
+ background-color: var(--vp-input-switch-disabled-checked-thumb-bg-color);
+}
+
+.switch[data-state="unchecked"]:disabled .thumb:hover,
+.switch[data-state="unchecked"]:read-only .thumb:hover {
+ background-color: var(--vp-input-switch-disabled-un