@code-coaching/vuetiful 0.23.0 → 0.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/types/components/VBootstrap.vue.d.ts +1 -1
  3. package/dist/types/components/atoms/VAvatar.vue.d.ts +1 -1
  4. package/dist/types/components/atoms/VLightSwitch.vue.d.ts +2 -2
  5. package/dist/types/components/atoms/index.d.ts +13 -13
  6. package/dist/types/components/index.d.ts +2 -2
  7. package/dist/types/components/molecules/VAlert.vue.d.ts +1 -1
  8. package/dist/types/components/molecules/VCodeBlock.vue.d.ts +2 -2
  9. package/dist/types/components/molecules/VDrawer.vue.d.ts +1 -1
  10. package/dist/types/components/molecules/VListbox/VListbox.vue.d.ts +1 -1
  11. package/dist/types/components/molecules/VRail/VRail.vue.d.ts +1 -1
  12. package/dist/types/components/molecules/VRail/VRailTile.vue.d.ts +1 -1
  13. package/dist/types/components/molecules/index.d.ts +21 -21
  14. package/dist/types/directives/clipboard.d.ts +1 -1
  15. package/dist/types/directives/index.d.ts +1 -1
  16. package/dist/types/index.d.ts +6 -6
  17. package/dist/types/props/props.d.ts +1 -1
  18. package/dist/types/services/dark-mode.service.d.ts +1 -1
  19. package/dist/types/services/drawer.service.d.ts +1 -1
  20. package/dist/types/services/index.d.ts +5 -5
  21. package/dist/types/types/index.d.ts +1 -1
  22. package/dist/types/utils/index.d.ts +2 -2
  23. package/dist/types/utils/theme/theme-switcher.vue.d.ts +23 -63
  24. package/dist/types/utils/theme/theme.service.d.ts +1 -1
  25. package/dist/vuetiful.es.mjs +82 -150
  26. package/dist/vuetiful.umd.js +7 -15
  27. package/package.json +1 -1
  28. package/src/assets/main.css +6 -6
  29. package/src/components/VBootstrap.vue +43 -43
  30. package/src/components/atoms/VAvatar.test.ts +71 -71
  31. package/src/components/atoms/VAvatar.vue +22 -23
  32. package/src/components/atoms/VBadge.test.ts +11 -11
  33. package/src/components/atoms/VBadge.vue +2 -2
  34. package/src/components/atoms/VButton.test.ts +82 -82
  35. package/src/components/atoms/VButton.vue +20 -21
  36. package/src/components/atoms/VChip.test.ts +11 -11
  37. package/src/components/atoms/VChip.vue +3 -3
  38. package/src/components/atoms/VLightSwitch.test.ts +6 -6
  39. package/src/components/atoms/VLightSwitch.vue +26 -31
  40. package/src/components/atoms/VRadio/VRadioDescription.test.ts +13 -13
  41. package/src/components/atoms/VRadio/VRadioDescription.vue +2 -2
  42. package/src/components/atoms/VRadio/VRadioGroup.test.ts +40 -40
  43. package/src/components/atoms/VRadio/VRadioGroup.vue +19 -22
  44. package/src/components/atoms/VRadio/VRadioItem.test.ts +67 -67
  45. package/src/components/atoms/VRadio/VRadioItem.vue +10 -13
  46. package/src/components/atoms/VRadio/VRadioLabel.test.ts +13 -13
  47. package/src/components/atoms/VRadio/VRadioLabel.vue +5 -3
  48. package/src/components/atoms/VSwitch/VSwitch.test.ts +33 -33
  49. package/src/components/atoms/VSwitch/VSwitch.vue +24 -27
  50. package/src/components/atoms/VSwitch/VSwitchDescription.test.ts +13 -13
  51. package/src/components/atoms/VSwitch/VSwitchDescription.vue +2 -2
  52. package/src/components/atoms/VSwitch/VSwitchGroup.test.ts +9 -9
  53. package/src/components/atoms/VSwitch/VSwitchGroup.vue +2 -2
  54. package/src/components/atoms/VSwitch/VSwitchLabel.test.ts +19 -19
  55. package/src/components/atoms/VSwitch/VSwitchLabel.vue +2 -2
  56. package/src/components/atoms/index.ts +13 -13
  57. package/src/components/index.test.ts +3 -3
  58. package/src/components/index.ts +2 -2
  59. package/src/components/molecules/VAccordion/VAccordion.test.ts +11 -17
  60. package/src/components/molecules/VAccordion/VAccordion.vue +3 -3
  61. package/src/components/molecules/VAccordion/VAccordionItem.test.ts +55 -55
  62. package/src/components/molecules/VAccordion/VAccordionItem.vue +9 -22
  63. package/src/components/molecules/VAlert.test.ts +38 -38
  64. package/src/components/molecules/VAlert.vue +25 -47
  65. package/src/components/molecules/VCard/VCard.test.ts +25 -25
  66. package/src/components/molecules/VCard/VCard.vue +13 -15
  67. package/src/components/molecules/VCard/VCardBody.test.ts +14 -14
  68. package/src/components/molecules/VCard/VCardBody.vue +4 -8
  69. package/src/components/molecules/VCard/VCardFooter.test.ts +22 -22
  70. package/src/components/molecules/VCard/VCardFooter.vue +10 -8
  71. package/src/components/molecules/VCard/VCardHeader.test.ts +25 -25
  72. package/src/components/molecules/VCard/VCardHeader.vue +7 -8
  73. package/src/components/molecules/VCodeBlock.test.ts +63 -63
  74. package/src/components/molecules/VCodeBlock.vue +27 -34
  75. package/src/components/molecules/VDrawer.test.ts +5 -5
  76. package/src/components/molecules/VDrawer.vue +10 -10
  77. package/src/components/molecules/VListbox/VListbox.test.ts +53 -53
  78. package/src/components/molecules/VListbox/VListbox.vue +31 -32
  79. package/src/components/molecules/VListbox/VListboxButton.test.ts +13 -13
  80. package/src/components/molecules/VListbox/VListboxButton.vue +5 -5
  81. package/src/components/molecules/VListbox/VListboxItem.test.ts +25 -25
  82. package/src/components/molecules/VListbox/VListboxItem.vue +7 -8
  83. package/src/components/molecules/VListbox/VListboxItems.test.ts +14 -14
  84. package/src/components/molecules/VListbox/VListboxItems.vue +9 -11
  85. package/src/components/molecules/VListbox/VListboxLabel.test.ts +10 -10
  86. package/src/components/molecules/VListbox/VListboxLabel.vue +2 -2
  87. package/src/components/molecules/VPreview.test.ts +26 -26
  88. package/src/components/molecules/VPreview.vue +22 -27
  89. package/src/components/molecules/VRail/VRail.test.ts +5 -5
  90. package/src/components/molecules/VRail/VRail.vue +7 -7
  91. package/src/components/molecules/VRail/VRailTile.test.ts +26 -28
  92. package/src/components/molecules/VRail/VRailTile.vue +13 -11
  93. package/src/components/molecules/VShell.test.ts +5 -5
  94. package/src/components/molecules/VShell.vue +11 -20
  95. package/src/components/molecules/VTabs/VTab.test.ts +48 -52
  96. package/src/components/molecules/VTabs/VTab.vue +13 -17
  97. package/src/components/molecules/VTabs/VTabPanel.test.ts +8 -8
  98. package/src/components/molecules/VTabs/VTabPanel.vue +1 -1
  99. package/src/components/molecules/VTabs/VTabs.test.ts +36 -36
  100. package/src/components/molecules/VTabs/VTabs.vue +18 -22
  101. package/src/components/molecules/index.ts +21 -21
  102. package/src/directives/clipboard.test.ts +9 -9
  103. package/src/directives/clipboard.ts +2 -2
  104. package/src/directives/index.ts +1 -1
  105. package/src/env.d.ts +2 -2
  106. package/src/index.test.ts +6 -6
  107. package/src/index.ts +7 -7
  108. package/src/props/index.ts +1 -1
  109. package/src/props/props.ts +44 -44
  110. package/src/services/dark-mode.service.test.ts +115 -93
  111. package/src/services/dark-mode.service.ts +9 -9
  112. package/src/services/drawer.service.test.ts +21 -21
  113. package/src/services/drawer.service.ts +10 -10
  114. package/src/services/highlight.service.test.ts +12 -12
  115. package/src/services/highlight.service.ts +1 -1
  116. package/src/services/index.ts +5 -5
  117. package/src/services/rail.service.test.ts +7 -7
  118. package/src/services/rail.service.ts +2 -2
  119. package/src/services/settings.service.test.ts +5 -5
  120. package/src/services/settings.service.ts +1 -1
  121. package/src/styles/all.css +7 -7
  122. package/src/styles/elements/buttons.css +1 -1
  123. package/src/styles/elements/forms.css +7 -7
  124. package/src/styles/elements.css +13 -13
  125. package/src/styles/transitions.css +2 -2
  126. package/src/styles/typography.css +5 -5
  127. package/src/themes/theme-rocket.css +10 -10
  128. package/src/themes/theme-sahara.css +13 -13
  129. package/src/themes/theme-seafoam.css +13 -13
  130. package/src/themes/theme-seasonal.css +4 -4
  131. package/src/themes/theme-skeleton.css +7 -7
  132. package/src/themes/theme-vintage.css +12 -12
  133. package/src/themes/theme-vuetiful-0.0.1.css +13 -13
  134. package/src/types/index.ts +46 -46
  135. package/src/types/tailwind.ts +2 -21
  136. package/src/utils/index.test.ts +3 -3
  137. package/src/utils/index.ts +2 -2
  138. package/src/utils/platform/platform.service.test.ts +6 -6
  139. package/src/utils/platform/platform.service.ts +1 -1
  140. package/src/utils/theme/callback.test.ts +6 -6
  141. package/src/utils/theme/remove.test.ts +8 -8
  142. package/src/utils/theme/theme-switcher.vue +58 -131
  143. package/src/utils/theme/theme.service.test.ts +69 -61
  144. package/src/utils/theme/theme.service.ts +19 -20
@@ -1,41 +1,41 @@
1
- import { describe, expect, it } from "vitest";
2
- import { useDrawer } from "./drawer.service";
1
+ import { describe, expect, it } from 'vitest';
2
+ import { useDrawer } from './drawer.service';
3
3
 
4
4
  const { drawer, open, close } = useDrawer();
5
5
 
6
- describe("useDrawer", () => {
7
- describe("defaults", () => {
8
- it("should have the default values", () => {
9
- expect(drawer.id).toBe("default");
6
+ describe('useDrawer', () => {
7
+ describe('defaults', () => {
8
+ it('should have the default values', () => {
9
+ expect(drawer.id).toBe('default');
10
10
  expect(drawer.open).toBe(false);
11
- expect(drawer.position).toBe("left");
11
+ expect(drawer.position).toBe('left');
12
12
  expect(drawer.duration).toBe(300);
13
- expect(drawer.regionBackdrop).toBe("");
14
- expect(drawer.regionDrawer).toBe("");
13
+ expect(drawer.regionBackdrop).toBe('');
14
+ expect(drawer.regionDrawer).toBe('');
15
15
  });
16
16
  });
17
17
 
18
- describe("open", () => {
19
- it("should use the settings", () => {
18
+ describe('open', () => {
19
+ it('should use the settings', () => {
20
20
  open({
21
- id: "test",
21
+ id: 'test',
22
22
  open: true,
23
- position: "right",
23
+ position: 'right',
24
24
  duration: 150,
25
- regionBackdrop: "backdrop",
26
- regionDrawer: "drawer",
25
+ regionBackdrop: 'backdrop',
26
+ regionDrawer: 'drawer',
27
27
  });
28
- expect(drawer.id).toBe("test");
28
+ expect(drawer.id).toBe('test');
29
29
  expect(drawer.open).toBe(true);
30
- expect(drawer.position).toBe("right");
30
+ expect(drawer.position).toBe('right');
31
31
  expect(drawer.duration).toBe(150);
32
- expect(drawer.regionBackdrop).toBe("backdrop");
33
- expect(drawer.regionDrawer).toBe("drawer");
32
+ expect(drawer.regionBackdrop).toBe('backdrop');
33
+ expect(drawer.regionDrawer).toBe('drawer');
34
34
  });
35
35
  });
36
36
 
37
- describe("close", () => {
38
- it("should set the drawer to close", () => {
37
+ describe('close', () => {
38
+ it('should set the drawer to close', () => {
39
39
  open();
40
40
  expect(drawer.open).toBe(true);
41
41
  close();
@@ -1,10 +1,10 @@
1
- import { reactive, readonly } from "vue";
1
+ import { reactive, readonly } from 'vue';
2
2
 
3
3
  export interface DrawerSettings {
4
4
  id?: string;
5
5
  open?: boolean;
6
6
 
7
- position?: "left" | "top" | "right" | "bottom";
7
+ position?: 'left' | 'top' | 'right' | 'bottom';
8
8
  duration?: 150 | 300;
9
9
 
10
10
  regionBackdrop?: string;
@@ -14,22 +14,22 @@ export interface DrawerSettings {
14
14
  }
15
15
 
16
16
  const drawer = reactive<DrawerSettings>({
17
- id: "default",
17
+ id: 'default',
18
18
  open: false,
19
- position: "left",
19
+ position: 'left',
20
20
  duration: 300,
21
- regionBackdrop: "",
22
- regionDrawer: "",
21
+ regionBackdrop: '',
22
+ regionDrawer: '',
23
23
  });
24
24
 
25
25
  const useDrawer = () => {
26
26
  const open = (settings?: DrawerSettings) => {
27
27
  drawer.open = true;
28
- drawer.id = settings?.id ?? "default";
28
+ drawer.id = settings?.id ?? 'default';
29
29
  drawer.duration = settings?.duration ?? 300;
30
- drawer.regionBackdrop = settings?.regionBackdrop ?? "";
31
- drawer.regionDrawer = settings?.regionDrawer ?? "";
32
- drawer.position = settings?.position ?? "left";
30
+ drawer.regionBackdrop = settings?.regionBackdrop ?? '';
31
+ drawer.regionDrawer = settings?.regionDrawer ?? '';
32
+ drawer.position = settings?.position ?? 'left';
33
33
  };
34
34
 
35
35
  const close = () => {
@@ -1,22 +1,22 @@
1
- import { describe, expect, it } from "vitest";
2
- import { useHighlight } from "./highlight.service";
1
+ import { describe, expect, it } from 'vitest';
2
+ import { useHighlight } from './highlight.service';
3
3
 
4
4
  const { highlight } = useHighlight();
5
5
 
6
- describe("useHighlight", () => {
7
- describe("highlight", () => {
8
- describe("given a known language is passed", () => {
9
- it("should trim and highlight the code", () => {
10
- expect(highlight(" const name = 'John Duck' ", "javascript")).toEqual(
11
- '<span class="hljs-keyword">const</span> name = <span class="hljs-string">&#x27;John Duck&#x27;</span>'
6
+ describe('useHighlight', () => {
7
+ describe('highlight', () => {
8
+ describe('given a known language is passed', () => {
9
+ it('should trim and highlight the code', () => {
10
+ expect(highlight(" const name = 'John Duck' ", 'javascript')).toEqual(
11
+ '<span class="hljs-keyword">const</span> name = <span class="hljs-string">&#x27;John Duck&#x27;</span>',
12
12
  );
13
13
  });
14
14
  });
15
15
 
16
- describe("given an unknown language is passed", () => {
17
- it("should trim and auto highlight the code", () => {
18
- expect(highlight(" const name = 'John Duck' ", "unknown")).toEqual(
19
- '<span class="hljs-keyword">const</span> <span class="hljs-keyword">name</span> = <span class="hljs-string">&#x27;John Duck&#x27;</span>'
16
+ describe('given an unknown language is passed', () => {
17
+ it('should trim and auto highlight the code', () => {
18
+ expect(highlight(" const name = 'John Duck' ", 'unknown')).toEqual(
19
+ '<span class="hljs-keyword">const</span> <span class="hljs-keyword">name</span> = <span class="hljs-string">&#x27;John Duck&#x27;</span>',
20
20
  );
21
21
  });
22
22
  });
@@ -1,4 +1,4 @@
1
- import hljs from "highlight.js";
1
+ import hljs from 'highlight.js';
2
2
 
3
3
  const highlighter = hljs;
4
4
 
@@ -1,8 +1,8 @@
1
- import { useDarkMode } from "./dark-mode.service";
2
- import { useDrawer } from "./drawer.service";
3
- import { useHighlight } from "./highlight.service";
4
- import { useRail } from "./rail.service";
5
- import { useSettings, VuetifulSettings } from "./settings.service";
1
+ import { useDarkMode } from './dark-mode.service';
2
+ import { useDrawer } from './drawer.service';
3
+ import { useHighlight } from './highlight.service';
4
+ import { useRail } from './rail.service';
5
+ import { useSettings, VuetifulSettings } from './settings.service';
6
6
 
7
7
  export { useDarkMode, useDrawer, useHighlight, useRail, useSettings };
8
8
  export type { VuetifulSettings };
@@ -1,13 +1,13 @@
1
- import { describe, expect, it } from "vitest";
2
- import { useRail } from "./rail.service";
1
+ import { describe, expect, it } from 'vitest';
2
+ import { useRail } from './rail.service';
3
3
 
4
4
  const { selectedRailTile } = useRail();
5
5
 
6
- describe("useRail", () => {
7
- describe("selectedRailTile", () => {
8
- it("should expose selectedRailTile", () => {
9
- selectedRailTile.value = "John Duck";
10
- expect(selectedRailTile.value).toBe("John Duck");
6
+ describe('useRail', () => {
7
+ describe('selectedRailTile', () => {
8
+ it('should expose selectedRailTile', () => {
9
+ selectedRailTile.value = 'John Duck';
10
+ expect(selectedRailTile.value).toBe('John Duck');
11
11
  });
12
12
  });
13
13
  });
@@ -1,6 +1,6 @@
1
- import { ref } from "vue";
1
+ import { ref } from 'vue';
2
2
 
3
- const selectedRailTile = ref("");
3
+ const selectedRailTile = ref('');
4
4
 
5
5
  const useRail = () => {
6
6
  return {
@@ -1,12 +1,12 @@
1
- import { afterEach, describe, expect, test, vi } from "vitest";
1
+ import { afterEach, describe, expect, test, vi } from 'vitest';
2
2
 
3
- describe("useSettings", () => {
3
+ describe('useSettings', () => {
4
4
  afterEach(() => {
5
5
  vi.resetModules();
6
6
  });
7
- describe("updateSettings", () => {
8
- test("should update settings", async () => {
9
- const { useSettings } = await import("./settings.service");
7
+ describe('updateSettings', () => {
8
+ test('should update settings', async () => {
9
+ const { useSettings } = await import('./settings.service');
10
10
  const { updateSettings, settings } = useSettings();
11
11
 
12
12
  expect(settings.global.unstyled).toBe(false);
@@ -1,4 +1,4 @@
1
- import { reactive } from "vue";
1
+ import { reactive } from 'vue';
2
2
 
3
3
  interface UnstyledSettings {
4
4
  unstyled: boolean;
@@ -3,22 +3,22 @@
3
3
  /* NOTE: The order shown below is required */
4
4
 
5
5
  /* Tailwind Directives */
6
- @import "tailwind.css";
6
+ @import 'tailwind.css';
7
7
 
8
8
  /* Global Styles */
9
- @import "core.css";
9
+ @import 'core.css';
10
10
 
11
11
  /* Typographical Settings */
12
- @import "typography.css";
12
+ @import 'typography.css';
13
13
 
14
14
  /* Imports all Tailwind Elements */
15
- @import "elements.css";
15
+ @import 'elements.css';
16
16
 
17
17
  /* Imports all Variant Styles */
18
- @import "variants.css";
18
+ @import 'variants.css';
19
19
 
20
20
  /* Imports all Transitions */
21
- @import "transitions.css";
21
+ @import 'transitions.css';
22
22
 
23
23
  /* Imports all Component Styles */
24
- @import "../../dist/style.css";
24
+ @import '../../dist/style.css';
@@ -66,7 +66,7 @@
66
66
  }
67
67
 
68
68
  /* File Input Button */
69
- input[type="file"]:not(.file-dropzone-input)::file-selector-button {
69
+ input[type='file']:not(.file-dropzone-input)::file-selector-button {
70
70
  @apply variant-filled btn btn-sm mr-2 border-0;
71
71
  }
72
72
 
@@ -48,7 +48,7 @@
48
48
 
49
49
  /* Range Input */
50
50
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/accent-color */
51
- [type="range"] {
51
+ [type='range'] {
52
52
  @apply w-full accent-surface-900 dark:accent-surface-50;
53
53
  }
54
54
 
@@ -138,23 +138,23 @@
138
138
  /* === Specialized === */
139
139
 
140
140
  /* File Inputs */
141
- .input[type="file"] {
141
+ .input[type='file'] {
142
142
  @apply p-1;
143
143
  }
144
144
 
145
145
  /* Color Picker */
146
146
  /* https://stackoverflow.com/questions/11167281/webkit-css-to-control-the-box-around-the-color-in-an-inputtype-color */
147
- .input[type="color"] {
147
+ .input[type='color'] {
148
148
  @apply h-10 w-10 cursor-pointer overflow-hidden border-none rounded-token;
149
149
  -webkit-appearance: none; /* WebKit Only */
150
150
  }
151
- .input[type="color"]::-webkit-color-swatch-wrapper {
151
+ .input[type='color']::-webkit-color-swatch-wrapper {
152
152
  @apply p-0;
153
153
  }
154
- .input[type="color"]::-webkit-color-swatch {
154
+ .input[type='color']::-webkit-color-swatch {
155
155
  @apply border-none hover:brightness-110;
156
156
  }
157
- .input[type="color"]::-moz-color-swatch {
157
+ .input[type='color']::-moz-color-swatch {
158
158
  @apply border-none;
159
159
  }
160
160
 
@@ -263,7 +263,7 @@
263
263
  /* Blur */
264
264
  @apply backdrop-blur;
265
265
  }
266
- .variant-form-material[type="file"] {
266
+ .variant-form-material[type='file'] {
267
267
  @apply !py-1.5;
268
268
  }
269
269
  }
@@ -2,18 +2,18 @@
2
2
  /* Import AFTER your theme, but BEFORE your global stylesheet. */
3
3
  /* Recommended as the LAST stylesheet in the set */
4
4
 
5
- @import "elements/alerts.css";
6
- @import "elements/badges.css";
7
- @import "elements/breadcrumbs.css";
8
- @import "elements/buttons.css";
9
- @import "elements/cards.css";
10
- @import "elements/chips.css";
11
- @import "elements/forms.css";
12
- @import "elements/lists.css";
13
- @import "elements/logo-clouds.css";
14
- @import "elements/placeholders.css";
15
- @import "elements/tables.css";
5
+ @import 'elements/alerts.css';
6
+ @import 'elements/badges.css';
7
+ @import 'elements/breadcrumbs.css';
8
+ @import 'elements/buttons.css';
9
+ @import 'elements/cards.css';
10
+ @import 'elements/chips.css';
11
+ @import 'elements/forms.css';
12
+ @import 'elements/lists.css';
13
+ @import 'elements/logo-clouds.css';
14
+ @import 'elements/placeholders.css';
15
+ @import 'elements/tables.css';
16
16
 
17
17
  /* Utilities */
18
- @import "elements/modals.css";
19
- @import "elements/popups.css";
18
+ @import 'elements/modals.css';
19
+ @import 'elements/popups.css';
@@ -1,2 +1,2 @@
1
- @import "transitions/fade.css";
2
- @import "transitions/slide.css";
1
+ @import 'transitions/fade.css';
2
+ @import 'transitions/slide.css';
@@ -33,9 +33,9 @@
33
33
  @apply text-base;
34
34
  }
35
35
 
36
- a:not(.unstyled):not(.permalink):is(:not(.prose *)):not(.btn):not(.btn-icon):not(.app-bar a):not(
37
- .logo-item
38
- ):not(a.card):not(.list-nav a) {
36
+ a:not(.unstyled):not(.permalink):is(:not(.prose *)):not(.btn):not(.btn-icon):not(.app-bar a):not(.logo-item):not(
37
+ a.card
38
+ ):not(.list-nav a) {
39
39
  @apply text-primary-700 underline hover:brightness-110 dark:text-primary-500;
40
40
  }
41
41
 
@@ -79,10 +79,10 @@
79
79
  @apply absolute left-1 font-mono;
80
80
  }
81
81
  ins:not(.unstyled):is(:not(.prose *))::before {
82
- content: "+";
82
+ content: '+';
83
83
  }
84
84
  del:not(.unstyled):is(:not(.prose *))::before {
85
- content: "";
85
+ content: '';
86
86
  }
87
87
 
88
88
  ins:not(.unstyled):is(:not(.prose *)) {
@@ -1,12 +1,12 @@
1
1
  /* https://fonts.google.com/specimen/Space+Grotesk */
2
- @import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap");
2
+ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
3
3
  /* https://fonts.google.com/specimen/Roboto?query=roboto */
4
- @import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
4
+ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
5
5
 
6
6
  :root {
7
7
  /* =~= Theme Properties =~= */
8
- --theme-font-family-base: "Roboto", sans-serif;
9
- --theme-font-family-heading: "Space Grotesk", sans-serif;
8
+ --theme-font-family-base: 'Roboto', sans-serif;
9
+ --theme-font-family-heading: 'Space Grotesk', sans-serif;
10
10
  --theme-font-color-base: var(--color-primary-900);
11
11
  --theme-font-color-dark: var(--color-primary-100);
12
12
  --theme-rounded-base: 0px;
@@ -100,12 +100,12 @@
100
100
  --color-surface-900: 49 57 68; /* ⬅ #313944 */
101
101
  }
102
102
 
103
- [data-theme="rocket"] h1,
104
- [data-theme="rocket"] h2,
105
- [data-theme="rocket"] h3,
106
- [data-theme="rocket"] h4,
107
- [data-theme="rocket"] h5,
108
- [data-theme="rocket"] h6 {
103
+ [data-theme='rocket'] h1,
104
+ [data-theme='rocket'] h2,
105
+ [data-theme='rocket'] h3,
106
+ [data-theme='rocket'] h4,
107
+ [data-theme='rocket'] h5,
108
+ [data-theme='rocket'] h6 {
109
109
  font-weight: bold;
110
110
  }
111
111
 
@@ -1,12 +1,12 @@
1
1
  /* https://fonts.google.com/specimen/Raleway */
2
- @import url("https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
2
+ @import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
3
3
  /* https://fonts.google.com/specimen/Lato?query=lato&noto.query=Abril */
4
- @import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
4
+ @import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
5
5
 
6
6
  :root {
7
7
  /* =~= Theme Styles =~= */
8
- --theme-font-family-base: "Lato", sans-serif;
9
- --theme-font-family-heading: "Raleway", sans-serif;
8
+ --theme-font-family-base: 'Lato', sans-serif;
9
+ --theme-font-family-heading: 'Raleway', sans-serif;
10
10
  --theme-font-color-base: var(--color-secondary-900);
11
11
  --theme-font-color-dark: var(--color-primary-100);
12
12
  --theme-rounded-base: 9999px;
@@ -100,27 +100,27 @@
100
100
  --color-surface-900: 107 38 49; /* ⬅ #6b2631 */
101
101
  }
102
102
 
103
- [data-theme="sahara"] h1,
104
- [data-theme="sahara"] h2,
105
- [data-theme="sahara"] h3,
106
- [data-theme="sahara"] h4,
107
- [data-theme="sahara"] h5,
108
- [data-theme="sahara"] h6 {
103
+ [data-theme='sahara'] h1,
104
+ [data-theme='sahara'] h2,
105
+ [data-theme='sahara'] h3,
106
+ [data-theme='sahara'] h4,
107
+ [data-theme='sahara'] h5,
108
+ [data-theme='sahara'] h6 {
109
109
  font-weight: 600;
110
110
  }
111
- [data-theme="sahara"] p {
111
+ [data-theme='sahara'] p {
112
112
  font-weight: 400;
113
113
  }
114
114
 
115
115
  /* Applied to body with `<body data-theme="sahara">` */
116
116
  /* Created with: https://csshero.org/mesher/ */
117
- [data-theme="sahara"] {
117
+ [data-theme='sahara'] {
118
118
  /* prettier-ignore */
119
119
  background-image:
120
120
  radial-gradient(at 100% 36%, hsla(37,81%,56%,0.15) 0px, transparent 50%),
121
121
  radial-gradient(at 7% 0%, hsla(37,81%,56%,0.20) 0px, transparent 50%);
122
122
  }
123
- .dark [data-theme="sahara"] {
123
+ .dark [data-theme='sahara'] {
124
124
  /* prettier-ignore */
125
125
  background-image:
126
126
  radial-gradient(at 100% 36%, hsla(37,81%,56%,0.15) 0px, transparent 50%),
@@ -1,12 +1,12 @@
1
1
  /* https://fonts.google.com/specimen/Playfair+Display?query=playfair&noto.query=Abril */
2
- @import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
2
+ @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
3
3
 
4
4
  :root {
5
5
  /* =~= Theme Styles =~= */
6
- --theme-font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
7
- "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
8
- "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
9
- --theme-font-family-heading: "Playfair Display", serif;
6
+ --theme-font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
7
+ 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
8
+ 'Noto Color Emoji';
9
+ --theme-font-family-heading: 'Playfair Display', serif;
10
10
  --theme-font-color-base: var(--color-surface-900);
11
11
  --theme-font-color-dark: var(--color-secondary-100);
12
12
  --theme-rounded-base: 16px;
@@ -100,12 +100,12 @@
100
100
  --color-surface-900: 18 102 104; /* ⬅ #126668 */
101
101
  }
102
102
 
103
- [data-theme="seafoam"] h1,
104
- [data-theme="seafoam"] h2,
105
- [data-theme="seafoam"] h3,
106
- [data-theme="seafoam"] h4,
107
- [data-theme="seafoam"] h5,
108
- [data-theme="seafoam"] h6 {
103
+ [data-theme='seafoam'] h1,
104
+ [data-theme='seafoam'] h2,
105
+ [data-theme='seafoam'] h3,
106
+ [data-theme='seafoam'] h4,
107
+ [data-theme='seafoam'] h5,
108
+ [data-theme='seafoam'] h6 {
109
109
  font-weight: bold;
110
110
  font-style: italic;
111
111
  letter-spacing: 1px;
@@ -114,9 +114,9 @@
114
114
  /* #213253 | #08847c */
115
115
  /* Applied to body with `<body data-theme="seafoam">` */
116
116
  /* Created with: https://csshero.org/mesher/ */
117
- [data-theme="seafoam"] {
117
+ [data-theme='seafoam'] {
118
118
  background: linear-gradient(0deg, rgba(203, 221, 254, 0.75) 0%, rgba(163, 209, 206, 0.75) 100%);
119
119
  }
120
- .dark [data-theme="seafoam"] {
120
+ .dark [data-theme='seafoam'] {
121
121
  background: linear-gradient(0deg, rgba(33, 50, 83, 1) 0%, rgba(8, 132, 124, 1) 100%);
122
122
  }
@@ -1,12 +1,12 @@
1
1
  /* A New Years inspired theme. */
2
2
 
3
3
  /* https://fonts.google.com/specimen/Quicksand?query=Quicksand */
4
- @import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap");
4
+ @import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');
5
5
 
6
6
  :root {
7
7
  /* =~= Theme Properties =~= */
8
8
  --theme-font-family-base: system-ui;
9
- --theme-font-family-heading: "Quicksand", sans-serif;
9
+ --theme-font-family-heading: 'Quicksand', sans-serif;
10
10
  --theme-font-color-base: var(--color-surface-500);
11
11
  --theme-font-color-dark: var(--color-surface-200);
12
12
  --theme-rounded-base: 12px;
@@ -101,13 +101,13 @@
101
101
  }
102
102
 
103
103
  /* Applied to body with `<body data-theme="seasonal">` */
104
- [data-theme="seasonal"] {
104
+ [data-theme='seasonal'] {
105
105
  /* prettier-ignore */
106
106
  background-image:
107
107
  radial-gradient(at 22% 100%, hsla(39,68%,50%,0.23) 0px, transparent 50%),
108
108
  radial-gradient(at 80% 100%, hsla(189,100%,56%,0.33) 0px, transparent 50%);
109
109
  }
110
- .dark [data-theme="seasonal"] {
110
+ .dark [data-theme='seasonal'] {
111
111
  /* prettier-ignore */
112
112
  background-image:
113
113
  radial-gradient(at 22% 0%, hsla(39,68%,50%,0.15) 0px, transparent 50%),
@@ -1,5 +1,5 @@
1
1
  /* https://fonts.google.com/specimen/Lato?query=lato&noto.query=Abril */
2
- @import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
2
+ @import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
3
3
 
4
4
  :root {
5
5
  /* =~= Theme Properties =~= */
@@ -99,12 +99,12 @@
99
99
  }
100
100
 
101
101
  /* Headings */
102
- [data-theme="skeleton"] h1,
103
- [data-theme="skeleton"] h2,
104
- [data-theme="skeleton"] h3,
105
- [data-theme="skeleton"] h4,
106
- [data-theme="skeleton"] h5,
107
- [data-theme="skeleton"] h6 {
102
+ [data-theme='skeleton'] h1,
103
+ [data-theme='skeleton'] h2,
104
+ [data-theme='skeleton'] h3,
105
+ [data-theme='skeleton'] h4,
106
+ [data-theme='skeleton'] h5,
107
+ [data-theme='skeleton'] h6 {
108
108
  font-weight: bold;
109
109
  }
110
110
 
@@ -1,12 +1,12 @@
1
1
  /* https://fonts.google.com/specimen/Abril+Fatface?query=Abril+Fatface&noto.query=Abril */
2
- @import url("https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap");
2
+ @import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');
3
3
  /* https://fonts.google.com/noto/specimen/Noto+Sans?query=sans */
4
- @import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100;0,200;0,300;0,400;1,100;1,200;1,300&display=swap");
4
+ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100;0,200;0,300;0,400;1,100;1,200;1,300&display=swap');
5
5
 
6
6
  :root {
7
7
  /* =~= Theme Styles =~= */
8
- --theme-font-family-base: "Noto Sans", sans-serif;
9
- --theme-font-family-heading: "Abril Fatface", cursive;
8
+ --theme-font-family-base: 'Noto Sans', sans-serif;
9
+ --theme-font-family-heading: 'Abril Fatface', cursive;
10
10
  --theme-font-color-base: var(--color-primary-900);
11
11
  --theme-font-color-dark: var(--color-primary-100);
12
12
  --theme-rounded-base: 2px;
@@ -100,24 +100,24 @@
100
100
  --color-surface-900: 31 27 24; /* ⬅ #1f1b18 */
101
101
  }
102
102
 
103
- [data-theme="vintage"] h1,
104
- [data-theme="vintage"] h2,
105
- [data-theme="vintage"] h3,
106
- [data-theme="vintage"] h4,
107
- [data-theme="vintage"] h5,
108
- [data-theme="vintage"] h6 {
103
+ [data-theme='vintage'] h1,
104
+ [data-theme='vintage'] h2,
105
+ [data-theme='vintage'] h3,
106
+ [data-theme='vintage'] h4,
107
+ [data-theme='vintage'] h5,
108
+ [data-theme='vintage'] h6 {
109
109
  letter-spacing: 1px;
110
110
  }
111
111
 
112
112
  /* Applied to body with `<body data-theme="vintage">` */
113
113
  /* Created with: https://csshero.org/mesher/ */
114
- [data-theme="vintage"] {
114
+ [data-theme='vintage'] {
115
115
  /* prettier-ignore */
116
116
  background-image:
117
117
  radial-gradient(at 100% 0%, hsla(135,34%,70%,0.20) 0px, transparent 50%),
118
118
  radial-gradient(at 85% 100%, hsla(31,83%,50%,0.20) 0px, transparent 50%);
119
119
  }
120
- .dark [data-theme="vintage"] {
120
+ .dark [data-theme='vintage'] {
121
121
  /* prettier-ignore */
122
122
  background-image:
123
123
  radial-gradient(at 100% 0%, hsla(135,34%,70%,0.14) 0px, transparent 50%),