@code-coaching/vuetiful 0.4.1 → 0.5.0

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 (40) hide show
  1. package/dist/types/components/molecules/VDrawer.vue.d.ts +0 -18
  2. package/dist/types/services/drawer.service.d.ts +2 -3
  3. package/dist/vuetiful.es.mjs +22 -22
  4. package/dist/vuetiful.umd.js +9 -9
  5. package/package.json +2 -1
  6. package/src/assets/main.css +6 -6
  7. package/src/components/molecules/VDrawer.vue +7 -13
  8. package/src/env.d.ts +4 -4
  9. package/src/services/drawer.service.ts +15 -12
  10. package/src/styles/core.css +49 -49
  11. package/src/styles/elements/alerts.css +13 -13
  12. package/src/styles/elements/badges.css +24 -24
  13. package/src/styles/elements/breadcrumbs.css +19 -19
  14. package/src/styles/elements/buttons.css +86 -86
  15. package/src/styles/elements/cards.css +22 -22
  16. package/src/styles/elements/chips.css +17 -17
  17. package/src/styles/elements/forms.css +237 -236
  18. package/src/styles/elements/lists.css +39 -39
  19. package/src/styles/elements/logo-clouds.css +21 -21
  20. package/src/styles/elements/modals.css +3 -3
  21. package/src/styles/elements/placeholders.css +10 -10
  22. package/src/styles/elements/popups.css +7 -7
  23. package/src/styles/elements/tables.css +73 -73
  24. package/src/styles/elements.css +13 -13
  25. package/src/styles/highlight-js.css +33 -33
  26. package/src/styles/typography.css +97 -97
  27. package/src/styles/variants.css +145 -145
  28. package/src/themes/theme-rocket.css +104 -104
  29. package/src/themes/theme-sahara.css +111 -111
  30. package/src/themes/theme-seafoam.css +110 -109
  31. package/src/themes/theme-seasonal.css +101 -101
  32. package/src/themes/theme-skeleton.css +102 -102
  33. package/src/themes/theme-vintage.css +109 -109
  34. package/src/themes/theme-vuetiful-0.0.1.css +110 -110
  35. package/src/types/index.ts +1 -1
  36. package/src/types/tailwind.ts +21 -2
  37. package/src/utils/code-block/highlight.service.test.ts +1 -1
  38. package/src/utils/index.test.ts +1 -1
  39. package/src/utils/platform/platform.service.ts +3 -5
  40. package/src/utils/theme/theme.service.test.ts +2 -3
@@ -1,29 +1,29 @@
1
1
  /* Tailwind Elements: logo-clouds.css */
2
2
 
3
3
  @layer components {
4
- .logo-cloud {
5
- @apply grid overflow-hidden;
6
- /* Theme: Rounded */
7
- @apply rounded-container-token;
8
- }
4
+ .logo-cloud {
5
+ @apply grid overflow-hidden;
6
+ /* Theme: Rounded */
7
+ @apply rounded-container-token;
8
+ }
9
9
 
10
- /* === Logo Item (Child) === */
10
+ /* === Logo Item (Child) === */
11
11
 
12
- .logo-item {
13
- @apply: flex-auto text-center space-x-4 shadow;
14
- /* Center Contents */
15
- @apply flex justify-center items-center space-x-4;
16
- /* Background */
17
- @apply bg-surface-100-800-token;
18
- /* Text */
19
- @apply text-base font-bold text-black dark:text-white;
20
- /* Padding */
21
- @apply py-4 md:py-8;
22
- }
12
+ .logo-item {
13
+ @apply: flex-auto text-center space-x-4 shadow;
14
+ /* Center Contents */
15
+ @apply flex items-center justify-center space-x-4;
16
+ /* Background */
17
+ @apply bg-surface-100-800-token;
18
+ /* Text */
19
+ @apply text-base font-bold text-black dark:text-white;
20
+ /* Padding */
21
+ @apply py-4 md:py-8;
22
+ }
23
23
 
24
- /* === States === */
24
+ /* === States === */
25
25
 
26
- a.logo-item {
27
- @apply hover:brightness-110;
28
- }
26
+ a.logo-item {
27
+ @apply hover:brightness-110;
28
+ }
29
29
  }
@@ -3,13 +3,13 @@
3
3
  /* === Modal (helpers) === */
4
4
 
5
5
  .w-modal-slim {
6
- @apply w-full max-w-[400px];
6
+ @apply w-full max-w-[400px];
7
7
  }
8
8
 
9
9
  .w-modal {
10
- @apply w-full max-w-[640px];
10
+ @apply w-full max-w-[640px];
11
11
  }
12
12
 
13
13
  .w-modal-wide {
14
- @apply w-full max-w-[80%];
14
+ @apply w-full max-w-[80%];
15
15
  }
@@ -1,17 +1,17 @@
1
1
  /* Tailwind Elements: placeholders.css */
2
2
 
3
3
  @layer components {
4
- /* === Base === */
4
+ /* === Base === */
5
5
 
6
- .placeholder {
7
- @apply bg-surface-300-600-token h-5;
8
- /* Theme: Rounded */
9
- @apply rounded-token;
10
- }
6
+ .placeholder {
7
+ @apply h-5 bg-surface-300-600-token;
8
+ /* Theme: Rounded */
9
+ @apply rounded-token;
10
+ }
11
11
 
12
- /* === Shapes === */
12
+ /* === Shapes === */
13
13
 
14
- .placeholder-circle {
15
- @apply bg-surface-300-600-token aspect-square rounded-full;
16
- }
14
+ .placeholder-circle {
15
+ @apply aspect-square rounded-full bg-surface-300-600-token;
16
+ }
17
17
  }
@@ -3,14 +3,14 @@
3
3
  /* === Popup === */
4
4
 
5
5
  [data-popup] {
6
- /* https://floating-ui.com/docs/computeposition#usage */
7
- @apply absolute top-0 left-0; /* max-w-max */
8
- /* Set hidden on page load */
9
- @apply hidden;
10
- /* Transitions */
11
- @apply transition-opacity duration-200;
6
+ /* https://floating-ui.com/docs/computeposition#usage */
7
+ @apply absolute top-0 left-0; /* max-w-max */
8
+ /* Set hidden on page load */
9
+ @apply hidden;
10
+ /* Transitions */
11
+ @apply transition-opacity duration-200;
12
12
  }
13
13
 
14
14
  [data-popup] .arrow {
15
- @apply absolute rotate-45 w-2 h-2;
15
+ @apply absolute h-2 w-2 rotate-45;
16
16
  }
@@ -1,102 +1,102 @@
1
1
  /* Elements: tables.css */
2
2
 
3
3
  @layer components {
4
- .table-container {
5
- @apply overflow-x-auto w-full rounded-container-token;
6
- }
4
+ .table-container {
5
+ @apply w-full overflow-x-auto rounded-container-token;
6
+ }
7
7
 
8
- .table {
9
- @apply w-full overflow-hidden table-auto;
10
- /* background */
11
- @apply bg-surface-100-800-token;
12
- /* Theme: Rounded */
13
- @apply rounded-container-token;
14
- }
8
+ .table {
9
+ @apply w-full table-auto overflow-hidden;
10
+ /* background */
11
+ @apply bg-surface-100-800-token;
12
+ /* Theme: Rounded */
13
+ @apply rounded-container-token;
14
+ }
15
15
 
16
- /* === Hover Styles ==== */
16
+ /* === Hover Styles ==== */
17
17
 
18
- .table-hover tbody tr {
19
- @apply hover:bg-surface-500/20 even:hover:bg-surface-500/20;
20
- }
18
+ .table-hover tbody tr {
19
+ @apply hover:bg-surface-500/20 even:hover:bg-surface-500/20;
20
+ }
21
21
 
22
- .table-interactive tbody tr {
23
- @apply hover:bg-primary-hover-token even:hover:bg-primary-hover-token cursor-pointer;
24
- }
22
+ .table-interactive tbody tr {
23
+ @apply cursor-pointer hover:bg-primary-hover-token even:hover:bg-primary-hover-token;
24
+ }
25
25
 
26
- /* === Sort Styles ==== */
26
+ /* === Sort Styles ==== */
27
27
 
28
- [data-sort] {
29
- @apply hover:bg-primary-hover-token cursor-pointer;
30
- /* Sort Icon - invisible by default */
31
- @apply after:opacity-0 after:!ml-2 after:!content-['↓'];
32
- }
28
+ [data-sort] {
29
+ @apply cursor-pointer hover:bg-primary-hover-token;
30
+ /* Sort Icon - invisible by default */
31
+ @apply after:!ml-2 after:opacity-0 after:!content-['↓'];
32
+ }
33
33
 
34
- .table-sort-asc {
35
- @apply after:opacity-50 after:!content-['↓'];
36
- }
34
+ .table-sort-asc {
35
+ @apply after:opacity-50 after:!content-['↓'];
36
+ }
37
37
 
38
- .table-sort-dsc {
39
- @apply after:opacity-50 after:!content-['↑'];
40
- }
38
+ .table-sort-dsc {
39
+ @apply after:opacity-50 after:!content-['↑'];
40
+ }
41
41
 
42
- /* === Table Head === */
42
+ /* === Table Head === */
43
43
 
44
- .table thead {
45
- @apply bg-surface-200-700-token border-b border-surface-500/20;
46
- }
44
+ .table thead {
45
+ @apply border-b border-surface-500/20 bg-surface-200-700-token;
46
+ }
47
47
 
48
- .table thead tr {
49
- @apply capitalize text-left;
50
- }
48
+ .table thead tr {
49
+ @apply text-left capitalize;
50
+ }
51
51
 
52
- .table thead th {
53
- @apply font-bold p-4;
54
- }
52
+ .table thead th {
53
+ @apply p-4 font-bold;
54
+ }
55
55
 
56
- /* === Table Body === */
56
+ /* === Table Body === */
57
57
 
58
- .table tbody tr {
59
- @apply border-b border-surface-500/20 even:bg-surface-500/5;
60
- }
58
+ .table tbody tr {
59
+ @apply border-b border-surface-500/20 even:bg-surface-500/5;
60
+ }
61
61
 
62
- .table tbody td {
63
- /* NOTE: removed this to allow wrapping */
64
- @apply text-sm px-3 py-4 align-top whitespace-nowrap lg:whitespace-normal;
65
- }
62
+ .table tbody td {
63
+ /* NOTE: removed this to allow wrapping */
64
+ @apply whitespace-nowrap px-3 py-4 align-top text-sm lg:whitespace-normal;
65
+ }
66
66
 
67
- .table-compact tbody td {
68
- @apply !py-3;
69
- }
67
+ .table-compact tbody td {
68
+ @apply !py-3;
69
+ }
70
70
 
71
- .table-comfortable tbody td {
72
- @apply !py-5;
73
- }
71
+ .table-comfortable tbody td {
72
+ @apply !py-5;
73
+ }
74
74
 
75
- /* === Table Foot === */
75
+ /* === Table Foot === */
76
76
 
77
- .table tfoot {
78
- @apply bg-surface-100-800-token;
79
- }
77
+ .table tfoot {
78
+ @apply bg-surface-100-800-token;
79
+ }
80
80
 
81
- .table tfoot tr {
82
- @apply capitalize text-left;
83
- }
81
+ .table tfoot tr {
82
+ @apply text-left capitalize;
83
+ }
84
84
 
85
- .table tfoot th,
86
- .table tfoot td {
87
- @apply p-4;
88
- }
85
+ .table tfoot th,
86
+ .table tfoot td {
87
+ @apply p-4;
88
+ }
89
89
 
90
- /* === Rows Specific === */
90
+ /* === Rows Specific === */
91
91
 
92
- .table-row-checked {
93
- @apply !bg-secondary-500/20;
94
- }
92
+ .table-row-checked {
93
+ @apply !bg-secondary-500/20;
94
+ }
95
95
 
96
- /* === Cells Specific === */
96
+ /* === Cells Specific === */
97
97
 
98
- /* Source: https://stackoverflow.com/questions/11267154/fit-cell-width-to-content */
99
- .table-cell-fit {
100
- @apply w-[1%] whitespace-nowrap;
101
- }
98
+ /* Source: https://stackoverflow.com/questions/11267154/fit-cell-width-to-content */
99
+ .table-cell-fit {
100
+ @apply w-[1%] whitespace-nowrap;
101
+ }
102
102
  }
@@ -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";
@@ -8,8 +8,8 @@
8
8
  .hljs-template-variable,
9
9
  .hljs-type,
10
10
  .hljs-variable.language_ {
11
- /* color: #ff7b72; */
12
- @apply text-red-400;
11
+ /* color: #ff7b72; */
12
+ @apply text-red-400;
13
13
  }
14
14
 
15
15
  /* Purple */
@@ -17,8 +17,8 @@
17
17
  .hljs-title.class_,
18
18
  .hljs-title.class_.inherited__,
19
19
  .hljs-title.function_ {
20
- /* color: #d2a8ff; */
21
- @apply text-purple-400;
20
+ /* color: #d2a8ff; */
21
+ @apply text-purple-400;
22
22
  }
23
23
 
24
24
  /* Sky */
@@ -32,31 +32,31 @@
32
32
  .hljs-selector-class,
33
33
  .hljs-selector-id,
34
34
  .hljs-variable {
35
- /* color: #79c0ff; */
36
- @apply text-sky-300;
35
+ /* color: #79c0ff; */
36
+ @apply text-sky-300;
37
37
  }
38
38
 
39
39
  /* Blue */
40
40
  .hljs-meta .hljs-string,
41
41
  .hljs-regexp,
42
42
  .hljs-string {
43
- /* color: #a5d6ff; */
44
- @apply text-blue-400;
43
+ /* color: #a5d6ff; */
44
+ @apply text-blue-400;
45
45
  }
46
46
 
47
47
  /* Amber (types) */
48
48
  .hljs-built_in,
49
49
  .hljs-symbol {
50
- /* color: #ffa657; */
51
- @apply text-amber-400;
50
+ /* color: #ffa657; */
51
+ @apply text-amber-400;
52
52
  }
53
53
 
54
54
  /* Gray (Medium) */
55
55
  .hljs-code,
56
56
  .hljs-comment,
57
57
  .hljs-formula {
58
- /* color: #8b949e; */
59
- @apply text-neutral-500;
58
+ /* color: #8b949e; */
59
+ @apply text-neutral-500;
60
60
  }
61
61
 
62
62
  /* Green (Tags) */
@@ -64,53 +64,53 @@
64
64
  .hljs-quote,
65
65
  .hljs-selector-pseudo,
66
66
  .hljs-selector-tag {
67
- /* color: #7ee787; */
68
- @apply text-green-400;
67
+ /* color: #7ee787; */
68
+ @apply text-green-400;
69
69
  }
70
70
 
71
71
  /* Pink (Light) */
72
72
  .hljs-subst {
73
- /* color: #c9d1d9; */
74
- @apply text-pink-300;
73
+ /* color: #c9d1d9; */
74
+ @apply text-pink-300;
75
75
  }
76
76
 
77
77
  /* Sky */
78
78
  .hljs-section {
79
- /* color: #1f6feb; */
80
- /* font-weight: 700; */
81
- @apply font-bold text-sky-400;
79
+ /* color: #1f6feb; */
80
+ /* font-weight: 700; */
81
+ @apply font-bold text-sky-400;
82
82
  }
83
83
 
84
84
  /* Yellow */
85
85
  .hljs-bullet {
86
- /* color: #f2cc60; */
87
- @apply text-yellow-400;
86
+ /* color: #f2cc60; */
87
+ @apply text-yellow-400;
88
88
  }
89
89
 
90
90
  /* Gray (Light) */
91
91
  .hljs-emphasis {
92
- /* color: #c9d1d9; */
93
- /* font-style: italic; */
94
- @apply italic text-neutral-200;
92
+ /* color: #c9d1d9; */
93
+ /* font-style: italic; */
94
+ @apply italic text-neutral-200;
95
95
  }
96
96
 
97
97
  /* Gray (Light) */
98
98
  .hljs-strong {
99
- /* color: #c9d1d9; */
100
- /* font-weight: 700; */
101
- @apply font-bold text-neutral-200;
99
+ /* color: #c9d1d9; */
100
+ /* font-weight: 700; */
101
+ @apply font-bold text-neutral-200;
102
102
  }
103
103
 
104
104
  /* Lime / Green */
105
105
  .hljs-addition {
106
- /* color: #aff5b4; */
107
- /* background-color: #033a16; */
108
- @apply text-lime-300 bg-green-700;
106
+ /* color: #aff5b4; */
107
+ /* background-color: #033a16; */
108
+ @apply bg-green-700 text-lime-300;
109
109
  }
110
110
 
111
111
  /* Pink / Red */
112
112
  .hljs-deletion {
113
- /* color: #ffdcd7; */
114
- /* background-color: #67060c; */
115
- @apply text-rose-300 bg-rose-700;
113
+ /* color: #ffdcd7; */
114
+ /* background-color: #67060c; */
115
+ @apply bg-rose-700 text-rose-300;
116
116
  }
@@ -1,101 +1,101 @@
1
1
  /* Stylesheet: typography.css */
2
2
 
3
3
  @layer base {
4
- body {
5
- @apply font-token text-token;
6
- }
7
-
8
- /* === Headings === */
9
-
10
- h1:not(.unstyled):is(:not(.prose *)) {
11
- @apply font-heading-token text-3xl md:text-5xl;
12
- }
13
- h2:not(.unstyled):is(:not(.prose *)) {
14
- @apply font-heading-token text-2xl md:text-4xl;
15
- }
16
- h3:not(.unstyled):is(:not(.prose *)) {
17
- @apply font-heading-token text-xl md:text-2xl;
18
- }
19
- h4:not(.unstyled):is(:not(.prose *)) {
20
- @apply font-heading-token text-lg md:text-xl;
21
- }
22
- h5:not(.unstyled):is(:not(.prose *)) {
23
- @apply font-heading-token text-base md:text-lg;
24
- }
25
- h6:not(.unstyled):is(:not(.prose *)) {
26
- @apply font-heading-token text-sm md:text-base;
27
- }
28
-
29
- /* === Elements === */
30
-
31
- p:not(.unstyled):is(:not(.prose *)) {
32
- /* NOTE: do not hardcode a text color style here. It makes color overrides difficult. */
33
- @apply text-base;
34
- }
35
-
36
- a:not(.unstyled):not(.permalink):is(:not(.prose *)):not(.btn):not(.btn-icon):not(.app-bar a):not(.logo-item):not(a.card):not(
37
- .list-nav a
38
- ) {
39
- @apply text-primary-700 dark:text-primary-500 hover:brightness-110 underline;
40
- }
41
-
42
- blockquote:not(.unstyled):is(:not(.prose *)) {
43
- @apply text-token text-base italic border-l-8 border-l-secondary-500 px-4 pl-4;
44
- }
45
-
46
- /* Keyboard */
47
- kbd:not(.unstyled):is(:not(.prose *)) {
48
- @apply font-sans font-bold text-sm;
49
- @apply bg-surface-300-600-token px-1.5 py-[3px] rounded;
50
- @apply ring-[1px] ring-surface-900 ring-inset;
51
- @apply border-b-2 border-surface-900;
52
- }
53
-
54
- /* === Code Blocks === */
55
- /* For use outside of Skeleton's CodeBlock component */
56
-
57
- pre:not(.unstyled):not(.code-block pre):is(:not(.prose *)) {
58
- @apply font-mono text-base bg-neutral-900/90 text-white p-4 whitespace-pre-wrap overflow-x-auto rounded-container-token;
59
- }
60
-
61
- code:not(.unstyled):is(:not(.prose *)):is(:not(pre *)) {
62
- @apply font-mono text-xs text-primary-700 dark:text-primary-400 whitespace-nowrap;
63
- @apply bg-primary-500/30 dark:bg-primary-500/20;
64
- @apply py-0.5 px-1 rounded;
65
- }
66
-
67
- /* === Insertions / Deletions ==== */
68
- /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins */
69
- /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del */
70
-
71
- ins:not(.unstyled):is(:not(.prose *)),
72
- del:not(.unstyled):is(:not(.prose *)) {
73
- @apply block relative p-0.5 pl-5;
74
- text-decoration: none;
75
- }
76
-
77
- ins:not(.unstyled):is(:not(.prose *))::before,
78
- del:not(.unstyled):is(:not(.prose *))::before {
79
- @apply absolute left-1 font-mono;
80
- }
81
- ins:not(.unstyled):is(:not(.prose *))::before {
82
- content: '+';
83
- }
84
- del:not(.unstyled):is(:not(.prose *))::before {
85
- content: '';
86
- }
87
-
88
- ins:not(.unstyled):is(:not(.prose *)) {
89
- @apply font-mono bg-success-500 text-on-success-token;
90
- }
91
- del:not(.unstyled):is(:not(.prose *)) {
92
- @apply font-mono bg-error-500 text-on-error-token;
93
- }
94
-
95
- /* === Date/Time === */
96
- /* Useful for displaying timestamps */
97
-
98
- time:not(.unstyled):is(:not(.prose *)) {
99
- @apply text-sm text-surface-500 dark:text-surface-400;
100
- }
4
+ body {
5
+ @apply font-token text-token;
6
+ }
7
+
8
+ /* === Headings === */
9
+
10
+ h1:not(.unstyled):is(:not(.prose *)) {
11
+ @apply text-3xl font-heading-token md:text-5xl;
12
+ }
13
+ h2:not(.unstyled):is(:not(.prose *)) {
14
+ @apply text-2xl font-heading-token md:text-4xl;
15
+ }
16
+ h3:not(.unstyled):is(:not(.prose *)) {
17
+ @apply text-xl font-heading-token md:text-2xl;
18
+ }
19
+ h4:not(.unstyled):is(:not(.prose *)) {
20
+ @apply text-lg font-heading-token md:text-xl;
21
+ }
22
+ h5:not(.unstyled):is(:not(.prose *)) {
23
+ @apply text-base font-heading-token md:text-lg;
24
+ }
25
+ h6:not(.unstyled):is(:not(.prose *)) {
26
+ @apply text-sm font-heading-token md:text-base;
27
+ }
28
+
29
+ /* === Elements === */
30
+
31
+ p:not(.unstyled):is(:not(.prose *)) {
32
+ /* NOTE: do not hardcode a text color style here. It makes color overrides difficult. */
33
+ @apply text-base;
34
+ }
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) {
39
+ @apply text-primary-700 underline hover:brightness-110 dark:text-primary-500;
40
+ }
41
+
42
+ blockquote:not(.unstyled):is(:not(.prose *)) {
43
+ @apply border-l-8 border-l-secondary-500 px-4 pl-4 text-base italic text-token;
44
+ }
45
+
46
+ /* Keyboard */
47
+ kbd:not(.unstyled):is(:not(.prose *)) {
48
+ @apply font-sans text-sm font-bold;
49
+ @apply rounded px-1.5 py-[3px] bg-surface-300-600-token;
50
+ @apply ring-[1px] ring-inset ring-surface-900;
51
+ @apply border-b-2 border-surface-900;
52
+ }
53
+
54
+ /* === Code Blocks === */
55
+ /* For use outside of Skeleton's CodeBlock component */
56
+
57
+ pre:not(.unstyled):not(.code-block pre):is(:not(.prose *)) {
58
+ @apply overflow-x-auto whitespace-pre-wrap bg-neutral-900/90 p-4 font-mono text-base text-white rounded-container-token;
59
+ }
60
+
61
+ code:not(.unstyled):is(:not(.prose *)):is(:not(pre *)) {
62
+ @apply whitespace-nowrap font-mono text-xs text-primary-700 dark:text-primary-400;
63
+ @apply bg-primary-500/30 dark:bg-primary-500/20;
64
+ @apply rounded py-0.5 px-1;
65
+ }
66
+
67
+ /* === Insertions / Deletions ==== */
68
+ /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins */
69
+ /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del */
70
+
71
+ ins:not(.unstyled):is(:not(.prose *)),
72
+ del:not(.unstyled):is(:not(.prose *)) {
73
+ @apply relative block p-0.5 pl-5;
74
+ text-decoration: none;
75
+ }
76
+
77
+ ins:not(.unstyled):is(:not(.prose *))::before,
78
+ del:not(.unstyled):is(:not(.prose *))::before {
79
+ @apply absolute left-1 font-mono;
80
+ }
81
+ ins:not(.unstyled):is(:not(.prose *))::before {
82
+ content: "+";
83
+ }
84
+ del:not(.unstyled):is(:not(.prose *))::before {
85
+ content: "";
86
+ }
87
+
88
+ ins:not(.unstyled):is(:not(.prose *)) {
89
+ @apply bg-success-500 font-mono text-on-success-token;
90
+ }
91
+ del:not(.unstyled):is(:not(.prose *)) {
92
+ @apply bg-error-500 font-mono text-on-error-token;
93
+ }
94
+
95
+ /* === Date/Time === */
96
+ /* Useful for displaying timestamps */
97
+
98
+ time:not(.unstyled):is(:not(.prose *)) {
99
+ @apply text-sm text-surface-500 dark:text-surface-400;
100
+ }
101
101
  }