@kushagradhawan/kookie-blocks 0.1.2 → 0.1.4
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.
- package/components.css +136 -0
- package/dist/cjs/components/code/CodeBlock.d.ts +4 -0
- package/dist/cjs/components/code/CodeBlock.d.ts.map +1 -0
- package/dist/cjs/components/code/CodeBlock.js +2 -0
- package/dist/cjs/components/code/CodeBlock.js.map +7 -0
- package/dist/cjs/components/code/CopyButton.d.ts +7 -0
- package/dist/cjs/components/code/CopyButton.d.ts.map +1 -0
- package/dist/cjs/components/code/CopyButton.js +2 -0
- package/dist/cjs/components/code/CopyButton.js.map +7 -0
- package/dist/cjs/components/code/LanguageBadge.d.ts +7 -0
- package/dist/cjs/components/code/LanguageBadge.d.ts.map +1 -0
- package/dist/cjs/components/code/LanguageBadge.js +2 -0
- package/dist/cjs/components/code/LanguageBadge.js.map +7 -0
- package/dist/cjs/components/code/PreviewSection.d.ts +16 -0
- package/dist/cjs/components/code/PreviewSection.d.ts.map +1 -0
- package/dist/cjs/components/code/PreviewSection.js +2 -0
- package/dist/cjs/components/code/PreviewSection.js.map +7 -0
- package/dist/cjs/components/code/SyntaxHighlighter.d.ts +10 -0
- package/dist/cjs/components/code/SyntaxHighlighter.d.ts.map +1 -0
- package/dist/cjs/components/code/SyntaxHighlighter.js +2 -0
- package/dist/cjs/components/code/SyntaxHighlighter.js.map +7 -0
- package/dist/cjs/components/code/index.d.ts +3 -0
- package/dist/cjs/components/code/index.d.ts.map +1 -0
- package/dist/cjs/components/code/index.js +2 -0
- package/dist/cjs/components/code/index.js.map +7 -0
- package/dist/cjs/components/code/types.d.ts +24 -0
- package/dist/cjs/components/code/types.d.ts.map +1 -0
- package/dist/cjs/components/code/types.js +2 -0
- package/dist/cjs/components/code/types.js.map +7 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +2 -2
- package/dist/esm/components/code/CodeBlock.d.ts +4 -0
- package/dist/esm/components/code/CodeBlock.d.ts.map +1 -0
- package/dist/esm/components/code/CodeBlock.js +2 -0
- package/dist/esm/components/code/CodeBlock.js.map +7 -0
- package/dist/esm/components/code/CopyButton.d.ts +7 -0
- package/dist/esm/components/code/CopyButton.d.ts.map +1 -0
- package/dist/esm/components/code/CopyButton.js +2 -0
- package/dist/esm/components/code/CopyButton.js.map +7 -0
- package/dist/esm/components/code/LanguageBadge.d.ts +7 -0
- package/dist/esm/components/code/LanguageBadge.d.ts.map +1 -0
- package/dist/esm/components/code/LanguageBadge.js +2 -0
- package/dist/esm/components/code/LanguageBadge.js.map +7 -0
- package/dist/esm/components/code/PreviewSection.d.ts +16 -0
- package/dist/esm/components/code/PreviewSection.d.ts.map +1 -0
- package/dist/esm/components/code/PreviewSection.js +2 -0
- package/dist/esm/components/code/PreviewSection.js.map +7 -0
- package/dist/esm/components/code/SyntaxHighlighter.d.ts +10 -0
- package/dist/esm/components/code/SyntaxHighlighter.d.ts.map +1 -0
- package/dist/esm/components/code/SyntaxHighlighter.js +2 -0
- package/dist/esm/components/code/SyntaxHighlighter.js.map +7 -0
- package/dist/esm/components/code/index.d.ts +3 -0
- package/dist/esm/components/code/index.d.ts.map +1 -0
- package/dist/esm/components/code/index.js +2 -0
- package/dist/esm/components/code/index.js.map +7 -0
- package/dist/esm/components/code/types.d.ts +24 -0
- package/dist/esm/components/code/types.d.ts.map +1 -0
- package/dist/esm/components/code/types.js +1 -0
- package/dist/esm/components/code/types.js.map +7 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/package.json +6 -5
- package/src/components/code/CodeBlock.tsx +119 -0
- package/src/components/code/CopyButton.tsx +46 -0
- package/src/components/code/LanguageBadge.tsx +33 -0
- package/src/components/code/PreviewSection.tsx +70 -0
- package/src/components/code/SyntaxHighlighter.tsx +55 -0
- package/src/components/code/index.ts +3 -0
- package/src/components/code/types.ts +32 -0
- package/src/components/index.css +122 -0
- package/src/components/index.ts +1 -0
- package/styles.css +114 -0
package/styles.css
CHANGED
|
@@ -1,2 +1,116 @@
|
|
|
1
1
|
/* Kookie Blocks base styles. Keep minimal; rely on Kookie UI tokens/utilities. */
|
|
2
2
|
/* Components CSS aggregator for Kookie Blocks (e.g., hero variants if styled). */
|
|
3
|
+
/* ============================================
|
|
4
|
+
Code Block Component Styles
|
|
5
|
+
============================================ */
|
|
6
|
+
/* Code block wrapper - constrain width in flex containers */
|
|
7
|
+
.code-block-wrapper {
|
|
8
|
+
min-width: 0;
|
|
9
|
+
max-width: 100%;
|
|
10
|
+
width: 100%;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
}
|
|
13
|
+
/* Code block content (the pre part, below the header) */
|
|
14
|
+
.code-block-content {
|
|
15
|
+
width: 100%;
|
|
16
|
+
min-width: 0;
|
|
17
|
+
overflow-x: auto;
|
|
18
|
+
/* Hide scrollbars while keeping scroll functionality */
|
|
19
|
+
scrollbar-width: none; /* Firefox */
|
|
20
|
+
-ms-overflow-style: none; /* IE/Edge */
|
|
21
|
+
}
|
|
22
|
+
/* Hide scrollbars for webkit browsers */
|
|
23
|
+
.code-block-content::-webkit-scrollbar,
|
|
24
|
+
.code-block-content::-webkit-scrollbar-horizontal,
|
|
25
|
+
.code-block-content::-webkit-scrollbar-vertical,
|
|
26
|
+
.code-block-content::-webkit-scrollbar-track,
|
|
27
|
+
.code-block-content::-webkit-scrollbar-thumb,
|
|
28
|
+
.code-block-content::-webkit-scrollbar-corner {
|
|
29
|
+
display: none !important;
|
|
30
|
+
width: 0 !important;
|
|
31
|
+
height: 0 !important;
|
|
32
|
+
}
|
|
33
|
+
/* Also hide scrollbars on any pre/code elements inside code content */
|
|
34
|
+
.code-block-content pre::-webkit-scrollbar,
|
|
35
|
+
.code-block-content pre::-webkit-scrollbar-horizontal,
|
|
36
|
+
.code-block-content pre::-webkit-scrollbar-vertical,
|
|
37
|
+
.code-block-content pre::-webkit-scrollbar-track,
|
|
38
|
+
.code-block-content pre::-webkit-scrollbar-thumb,
|
|
39
|
+
.code-block-content pre::-webkit-scrollbar-corner,
|
|
40
|
+
.code-block-content code::-webkit-scrollbar,
|
|
41
|
+
.code-block-content code::-webkit-scrollbar-horizontal,
|
|
42
|
+
.code-block-content code::-webkit-scrollbar-vertical,
|
|
43
|
+
.code-block-content code::-webkit-scrollbar-track,
|
|
44
|
+
.code-block-content code::-webkit-scrollbar-thumb,
|
|
45
|
+
.code-block-content code::-webkit-scrollbar-corner {
|
|
46
|
+
display: none !important;
|
|
47
|
+
width: 0 !important;
|
|
48
|
+
height: 0 !important;
|
|
49
|
+
}
|
|
50
|
+
.code-block-wrapper pre,
|
|
51
|
+
.code-block-wrapper .code-block-content pre {
|
|
52
|
+
overflow-x: visible; /* Let .code-block-content handle scrolling */
|
|
53
|
+
max-width: 100%;
|
|
54
|
+
min-width: 0;
|
|
55
|
+
margin: 0;
|
|
56
|
+
width: 100%;
|
|
57
|
+
box-sizing: border-box;
|
|
58
|
+
}
|
|
59
|
+
/* Ensure Shiki-generated pre elements fill width */
|
|
60
|
+
.code-block-content > pre {
|
|
61
|
+
width: 100% !important;
|
|
62
|
+
min-width: 0;
|
|
63
|
+
}
|
|
64
|
+
/* Code elements inside pre */
|
|
65
|
+
.code-block-wrapper pre code,
|
|
66
|
+
.code-block-wrapper .code-block-content pre code {
|
|
67
|
+
font-family: var(--font-mono);
|
|
68
|
+
font-size: var(--font-size-2);
|
|
69
|
+
line-height: 1.75;
|
|
70
|
+
background: none !important;
|
|
71
|
+
display: flex;
|
|
72
|
+
flex-direction: column;
|
|
73
|
+
gap: var(--space-1);
|
|
74
|
+
counter-reset: line;
|
|
75
|
+
}
|
|
76
|
+
/* Shiki line spans */
|
|
77
|
+
.code-block-wrapper pre code .line,
|
|
78
|
+
.code-block-wrapper .code-block-content pre code .line {
|
|
79
|
+
display: flex;
|
|
80
|
+
align-items: center;
|
|
81
|
+
gap: 0;
|
|
82
|
+
}
|
|
83
|
+
/* Line numbers */
|
|
84
|
+
.code-block-wrapper pre code .line::before,
|
|
85
|
+
.code-block-wrapper .code-block-content pre code .line::before {
|
|
86
|
+
counter-increment: line;
|
|
87
|
+
content: counter(line);
|
|
88
|
+
display: inline-block;
|
|
89
|
+
min-width: 2ch;
|
|
90
|
+
text-align: right;
|
|
91
|
+
font-size: var(--font-size-1);
|
|
92
|
+
color: var(--gray-a9);
|
|
93
|
+
-webkit-user-select: none;
|
|
94
|
+
-moz-user-select: none;
|
|
95
|
+
user-select: none;
|
|
96
|
+
flex-shrink: 0;
|
|
97
|
+
margin-right: var(--space-4);
|
|
98
|
+
}
|
|
99
|
+
/* Default to light theme for all tokens (codeToHtml with defaultColor: false) */
|
|
100
|
+
.code-block-wrapper pre.shiki span {
|
|
101
|
+
color: var(--shiki-light) !important;
|
|
102
|
+
font-style: var(--shiki-light-font-style);
|
|
103
|
+
font-weight: var(--shiki-light-font-weight);
|
|
104
|
+
-webkit-text-decoration: var(--shiki-light-text-decoration);
|
|
105
|
+
text-decoration: var(--shiki-light-text-decoration);
|
|
106
|
+
}
|
|
107
|
+
/* Override with dark theme colors when inside a dark context */
|
|
108
|
+
.dark .code-block-wrapper pre.shiki span,
|
|
109
|
+
.dark-theme .code-block-wrapper pre.shiki span,
|
|
110
|
+
[data-appearance="dark"] .code-block-wrapper pre.shiki span {
|
|
111
|
+
color: var(--shiki-dark) !important;
|
|
112
|
+
font-style: var(--shiki-dark-font-style);
|
|
113
|
+
font-weight: var(--shiki-dark-font-weight);
|
|
114
|
+
-webkit-text-decoration: var(--shiki-dark-text-decoration);
|
|
115
|
+
text-decoration: var(--shiki-dark-text-decoration);
|
|
116
|
+
}
|