5.1.7 • Published 7 months ago

@jill64/svelte-dark-theme v5.1.7

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

@jill64/svelte-dark-theme

☯ Dark Theme Manager for SvelteKit

Demo

Example

<script>
  import { ThemeManager, setting, theme } from '@jill64/svelte-dark-theme'

  const setToDark = () => {
    setting.set('dark')
  }

  const setToLight = () => {
    setting.set('light')
  }

  const setToDeviceSync = () => {
    setting.set('sync')
  }
</script>

<!-- Place it in root -->
<ThemeManager />

<!-- Theme Store (true | false) -->
<div>is dark: {theme.isDark}</div>
<div>is light: {theme.isLight}</div>
<div>value: {theme.value}</div>

<!-- Theme Store ('dark' | 'light' | 'sync') -->
<div>Setting: {setting.see}</div>

<style>
  :global(body.light) {
    /* light mode styling */
  }
  :global(body.dark) {
    /* dark mode styling */
  }
</style>

flip

This function provides the smart theme switching found on some sites. Each call to the function switches the setting according to the following rules

before settingdevice themeafter settingafter theme
lightlightdarkdark
lightdarksyncdark
darklightsynclight
darkdarklightlight
synclightdarkdark
syncdarklightlight
<script>
  import { flip } from '@jill64/svelte-dark-theme'
</script>

<button onclick={flip.theme}> flip theme </button>

SSR (Optional)

When using SSR, you can reduce flushing on load by binding classes to html with hooks.

// hooks.server.js
import { onRender } from '@jill64/svelte-dark-theme'

export const handle = onRender({
  // Optional Configs
  // {
  //   cookieKey: string (default: 'svelte-dark-theme')
  // }
})

Use sequence when combining with other processing.

// hooks.server.js
import { onRender } from '@jill64/svelte-dark-theme'
import { sequence } from '@sveltejs/kit/hooks'

export const handle = sequence(onRender(), async ({ event, resolve }) => {
  // ...
  return resolve(event)
})

License

MIT

4.0.1

11 months ago

4.0.0

11 months ago

5.0.0

11 months ago

5.1.7

7 months ago

5.1.6

7 months ago

5.1.5

7 months ago

5.1.4

8 months ago

5.1.3

8 months ago

5.1.2

10 months ago

5.1.1

11 months ago

5.1.0

11 months ago

3.0.1

11 months ago

2.3.107

11 months ago

2.3.106

11 months ago

2.3.108

11 months ago

3.0.0

11 months ago

2.3.103

12 months ago

2.3.102

12 months ago

2.3.105

11 months ago

2.3.104

12 months ago

2.3.101

12 months ago

2.3.100

1 year ago

2.3.97

1 year ago

2.3.99

1 year ago

2.3.98

1 year ago

2.3.96

1 year ago

2.3.93

1 year ago

2.3.95

1 year ago

2.3.94

1 year ago

3.0.0-next.1

1 year ago

2.3.79

1 year ago

2.3.78

1 year ago

2.3.75

1 year ago

2.3.74

1 year ago

2.3.77

1 year ago

2.3.76

1 year ago

2.3.80

1 year ago

2.3.89

1 year ago

2.3.86

1 year ago

2.3.85

1 year ago

2.3.88

1 year ago

2.3.87

1 year ago

2.3.82

1 year ago

2.3.81

1 year ago

2.3.84

1 year ago

2.3.83

1 year ago

2.3.91

1 year ago

2.3.90

1 year ago

2.3.92

1 year ago

2.3.73

2 years ago

2.3.71

2 years ago

2.3.72

2 years ago

2.3.70

2 years ago

2.3.69

2 years ago

2.3.68

2 years ago

2.3.67

2 years ago

2.3.66

2 years ago

2.3.65

2 years ago

2.3.64

2 years ago

2.3.63

2 years ago

2.3.62

2 years ago

2.3.59

2 years ago

2.3.60

2 years ago

2.3.61

2 years ago

2.3.57

2 years ago

2.3.58

2 years ago

2.3.56

2 years ago

2.3.55

2 years ago

2.3.54

2 years ago

2.3.53

2 years ago

2.3.52

2 years ago

2.3.51

2 years ago

2.3.49

2 years ago

2.3.50

2 years ago

2.3.48

2 years ago

2.3.47

2 years ago

2.3.46

2 years ago

2.3.45

2 years ago

2.3.44

2 years ago

2.3.43

2 years ago

2.3.42

2 years ago

2.3.41

2 years ago

2.3.40

2 years ago

2.3.39

2 years ago

2.3.38

2 years ago

2.3.37

2 years ago

2.3.35

2 years ago

2.3.34

2 years ago

2.3.36

2 years ago

2.3.33

2 years ago

2.3.31

2 years ago

2.3.32

2 years ago

2.3.30

2 years ago

2.3.28

2 years ago

2.3.29

2 years ago

2.3.27

2 years ago

2.3.26

2 years ago

2.3.24

2 years ago

2.3.25

2 years ago

2.3.23

2 years ago

2.3.20

2 years ago

2.3.22

2 years ago

2.3.21

2 years ago

2.3.19

2 years ago

2.3.18

2 years ago

2.3.17

2 years ago

2.3.16

2 years ago

2.3.15

2 years ago

2.3.14

2 years ago

2.3.13

2 years ago

2.3.12

2 years ago

2.3.9

2 years ago

2.3.11

2 years ago

2.3.10

2 years ago

2.3.8

2 years ago

2.3.7

2 years ago

2.3.4

2 years ago

2.3.3

2 years ago

2.3.6

2 years ago

2.3.5

2 years ago

2.3.2

2 years ago

2.3.0

2 years ago

2.3.1

2 years ago

2.2.15

2 years ago

2.2.14

2 years ago

2.2.13

2 years ago

2.2.12

2 years ago

2.2.11

2 years ago

2.2.10

2 years ago

2.2.9

2 years ago

2.2.8

2 years ago

2.2.5

2 years ago

2.2.7

2 years ago

2.2.6

2 years ago

2.2.4

2 years ago

2.2.3

2 years ago

2.2.2

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.46

2 years ago

1.0.45

2 years ago

1.0.44

2 years ago

1.0.43

2 years ago

1.0.42

2 years ago

1.0.41

2 years ago

1.0.40

2 years ago

1.0.39

2 years ago

1.0.38

2 years ago

1.0.37

2 years ago

1.0.36

2 years ago

1.0.35

2 years ago

1.0.34

2 years ago

1.0.33

2 years ago

1.0.32

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.29

2 years ago

1.0.28

2 years ago

1.0.27

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

0.1.0

2 years ago