Index.svelte 672 B

123456789101112131415161718192021222324
  1. <script>
  2. export let open = false;
  3. let isClick = false;
  4. const toggleFun = () => {
  5. isClick = true;
  6. setTimeout(() => {
  7. isClick = false;
  8. }, 150);
  9. open = !open;
  10. };
  11. </script>
  12. <!-- svelte-ignore a11y-click-events-have-key-events -->
  13. <!-- svelte-ignore a11y-no-static-element-interactions -->
  14. <div class="w-12 h-6 rounded-full relative ring-1 ring-gray-400 dark:ring-gray-300 cursor-pointer" on:click={toggleFun}>
  15. <div
  16. class="absolute {open
  17. ? 'left-[26px] bg-primary dark:bg-dark'
  18. : 'left-0.5 bg-gray-300 dark:bg-gray-600'} top-0.5 w-5 h-5 transition-all duration-300 rounded-full"
  19. style="transform:scaleX({isClick ? '1.3' : '1'});})"
  20. ></div>
  21. </div>