uibee 2.17.3 → 2.17.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.
|
@@ -1,14 +1,25 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import Markdown from 'react-markdown';
|
|
3
3
|
import remarkGfm from 'remark-gfm';
|
|
4
4
|
import rehypeHighlight from 'rehype-highlight';
|
|
5
|
-
import '
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
5
|
+
import { ExternalLink } from 'lucide-react';
|
|
6
|
+
function makeDefaultComponents() {
|
|
7
|
+
return {
|
|
8
|
+
h1: ({ ...props }) => _jsx("h2", { ...props }),
|
|
9
|
+
input({ type, checked }) {
|
|
10
|
+
if (type !== 'checkbox')
|
|
11
|
+
return _jsx("input", { type: type });
|
|
12
|
+
return (_jsx("span", { "data-task-checkbox": true, className: `inline-flex items-center justify-center w-4 h-4 rounded-xs border-2 shrink-0 align-middle
|
|
13
|
+
${checked ? 'bg-login border-login' : 'border-login/50'}`, children: checked && (_jsx("svg", { viewBox: '0 0 10 8', className: 'w-2.5 h-2.5 fill-none stroke-white stroke-2', children: _jsx("polyline", { points: '1,4 4,7 9,1', strokeLinecap: 'round', strokeLinejoin: 'round' }) })) }));
|
|
14
|
+
},
|
|
15
|
+
a({ href, children }) {
|
|
16
|
+
return (_jsxs("a", { href: href, target: '_blank', rel: 'noopener noreferrer', className: 'inline-flex items-center gap-1 text-login hover:text-login/80 underline underline-offset-2 transition-colors', children: [children, _jsx(ExternalLink, { className: 'w-3 h-3 shrink-0 opacity-70' })] }));
|
|
17
|
+
},
|
|
18
|
+
pre({ children }) {
|
|
19
|
+
return (_jsx("pre", { className: 'block rounded-lg overflow-auto whitespace-pre-wrap wrap-break-word w-full', children: children }));
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
12
23
|
export default function MarkdownRender({ MDstr, components, className }) {
|
|
13
|
-
return (_jsx("div", { className: className ?? 'prose prose-sm prose-custom max-w-none', children: _jsx(Markdown, { components: { ...
|
|
24
|
+
return (_jsx("div", { className: className ?? 'prose prose-sm prose-custom max-w-none', children: _jsx(Markdown, { components: { ...makeDefaultComponents(), ...components }, remarkPlugins: [remarkGfm], rehypePlugins: [rehypeHighlight], children: MDstr.replace(/\\n/g, '\n') }) }));
|
|
14
25
|
}
|
package/dist/src/globals.css
CHANGED
|
@@ -1110,9 +1110,6 @@
|
|
|
1110
1110
|
.hidden {
|
|
1111
1111
|
display: none;
|
|
1112
1112
|
}
|
|
1113
|
-
.inline-block {
|
|
1114
|
-
display: inline-block;
|
|
1115
|
-
}
|
|
1116
1113
|
.inline-flex {
|
|
1117
1114
|
display: inline-flex;
|
|
1118
1115
|
}
|
|
@@ -1128,6 +1125,9 @@
|
|
|
1128
1125
|
.h-2 {
|
|
1129
1126
|
height: calc(var(--spacing) * 2);
|
|
1130
1127
|
}
|
|
1128
|
+
.h-2\.5 {
|
|
1129
|
+
height: calc(var(--spacing) * 2.5);
|
|
1130
|
+
}
|
|
1131
1131
|
.h-3 {
|
|
1132
1132
|
height: calc(var(--spacing) * 3);
|
|
1133
1133
|
}
|
|
@@ -1197,6 +1197,9 @@
|
|
|
1197
1197
|
.w-2 {
|
|
1198
1198
|
width: calc(var(--spacing) * 2);
|
|
1199
1199
|
}
|
|
1200
|
+
.w-2\.5 {
|
|
1201
|
+
width: calc(var(--spacing) * 2.5);
|
|
1202
|
+
}
|
|
1200
1203
|
.w-3 {
|
|
1201
1204
|
width: calc(var(--spacing) * 3);
|
|
1202
1205
|
}
|
|
@@ -1548,6 +1551,9 @@
|
|
|
1548
1551
|
.border-gray-200 {
|
|
1549
1552
|
border-color: var(--color-gray-200);
|
|
1550
1553
|
}
|
|
1554
|
+
.border-login {
|
|
1555
|
+
border-color: var(--color-login);
|
|
1556
|
+
}
|
|
1551
1557
|
.border-login-50 {
|
|
1552
1558
|
border-color: var(--color-login-50);
|
|
1553
1559
|
}
|
|
@@ -1581,6 +1587,12 @@
|
|
|
1581
1587
|
border-color: color-mix(in oklab, var(--color-login-600) 50%, transparent);
|
|
1582
1588
|
}
|
|
1583
1589
|
}
|
|
1590
|
+
.border-login\/50 {
|
|
1591
|
+
border-color: color-mix(in srgb, #fd8738 50%, transparent);
|
|
1592
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1593
|
+
border-color: color-mix(in oklab, var(--color-login) 50%, transparent);
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1584
1596
|
.border-orange-400\/25 {
|
|
1585
1597
|
border-color: color-mix(in srgb, oklch(75% 0.183 55.934) 25%, transparent);
|
|
1586
1598
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -1859,9 +1871,15 @@
|
|
|
1859
1871
|
.stroke-red-400 {
|
|
1860
1872
|
stroke: var(--color-red-400);
|
|
1861
1873
|
}
|
|
1874
|
+
.stroke-white {
|
|
1875
|
+
stroke: var(--color-white);
|
|
1876
|
+
}
|
|
1862
1877
|
.stroke-yellow-400 {
|
|
1863
1878
|
stroke: var(--color-yellow-400);
|
|
1864
1879
|
}
|
|
1880
|
+
.stroke-2 {
|
|
1881
|
+
stroke-width: 2;
|
|
1882
|
+
}
|
|
1865
1883
|
.stroke-\[3\.5px\] {
|
|
1866
1884
|
stroke-width: 3.5px;
|
|
1867
1885
|
}
|
|
@@ -1958,6 +1976,30 @@
|
|
|
1958
1976
|
.pb-4 {
|
|
1959
1977
|
padding-bottom: calc(var(--spacing) * 4);
|
|
1960
1978
|
}
|
|
1979
|
+
.prose-custom {
|
|
1980
|
+
--tw-prose-body: var(--color-login-text);
|
|
1981
|
+
--tw-prose-headings: var(--color-login-text);
|
|
1982
|
+
--tw-prose-lead: var(--color-login-300);
|
|
1983
|
+
--tw-prose-links: var(--color-login);
|
|
1984
|
+
--tw-prose-bold: var(--color-login-text);
|
|
1985
|
+
--tw-prose-counters: var(--color-login);
|
|
1986
|
+
--tw-prose-bullets: var(--color-login);
|
|
1987
|
+
--tw-prose-hr: var(--color-login-300);
|
|
1988
|
+
--tw-prose-quotes: var(--color-login-text);
|
|
1989
|
+
--tw-prose-quote-borders: var(--color-login);
|
|
1990
|
+
--tw-prose-captions: var(--color-login-300);
|
|
1991
|
+
--tw-prose-code: var(--color-login-text);
|
|
1992
|
+
--tw-prose-pre-code: var(--color-login-text);
|
|
1993
|
+
--tw-prose-pre-bg: var(--color-login-900);
|
|
1994
|
+
--tw-prose-th-borders: var(--color-login-500);
|
|
1995
|
+
--tw-prose-td-borders: var(--color-login-500);
|
|
1996
|
+
& ul:has(> li > span[data-task-checkbox]) {
|
|
1997
|
+
padding-left: 0;
|
|
1998
|
+
}
|
|
1999
|
+
& li:has(> span[data-task-checkbox]) {
|
|
2000
|
+
list-style: none;
|
|
2001
|
+
}
|
|
2002
|
+
}
|
|
1961
2003
|
.pl-3 {
|
|
1962
2004
|
padding-left: calc(var(--spacing) * 3);
|
|
1963
2005
|
}
|
|
@@ -1979,6 +2021,9 @@
|
|
|
1979
2021
|
.text-right {
|
|
1980
2022
|
text-align: right;
|
|
1981
2023
|
}
|
|
2024
|
+
.align-middle {
|
|
2025
|
+
vertical-align: middle;
|
|
2026
|
+
}
|
|
1982
2027
|
.font-mono {
|
|
1983
2028
|
font-family: var(--font-mono);
|
|
1984
2029
|
}
|
|
@@ -2167,6 +2212,12 @@
|
|
|
2167
2212
|
.no-underline {
|
|
2168
2213
|
text-decoration-line: none;
|
|
2169
2214
|
}
|
|
2215
|
+
.underline {
|
|
2216
|
+
text-decoration-line: underline;
|
|
2217
|
+
}
|
|
2218
|
+
.underline-offset-2 {
|
|
2219
|
+
text-underline-offset: 2px;
|
|
2220
|
+
}
|
|
2170
2221
|
.placeholder-login-200 {
|
|
2171
2222
|
&::placeholder {
|
|
2172
2223
|
color: var(--color-login-200);
|
|
@@ -2184,6 +2235,9 @@
|
|
|
2184
2235
|
.opacity-50 {
|
|
2185
2236
|
opacity: 50%;
|
|
2186
2237
|
}
|
|
2238
|
+
.opacity-70 {
|
|
2239
|
+
opacity: 70%;
|
|
2240
|
+
}
|
|
2187
2241
|
.opacity-100 {
|
|
2188
2242
|
opacity: 100%;
|
|
2189
2243
|
}
|
|
@@ -2333,24 +2387,6 @@
|
|
|
2333
2387
|
--tw-ease: var(--ease-out);
|
|
2334
2388
|
transition-timing-function: var(--ease-out);
|
|
2335
2389
|
}
|
|
2336
|
-
.prose-custom {
|
|
2337
|
-
--tw-prose-body: var(--color-login-text);
|
|
2338
|
-
--tw-prose-headings: var(--color-login-text);
|
|
2339
|
-
--tw-prose-lead: var(--color-login-300);
|
|
2340
|
-
--tw-prose-links: var(--color-login);
|
|
2341
|
-
--tw-prose-bold: var(--color-login-text);
|
|
2342
|
-
--tw-prose-counters: var(--color-login-400);
|
|
2343
|
-
--tw-prose-bullets: var(--color-login-400);
|
|
2344
|
-
--tw-prose-hr: var(--color-login-300);
|
|
2345
|
-
--tw-prose-quotes: var(--color-login-text);
|
|
2346
|
-
--tw-prose-quote-borders: var(--color-login-300);
|
|
2347
|
-
--tw-prose-captions: var(--color-login-300);
|
|
2348
|
-
--tw-prose-code: var(--color-login-text);
|
|
2349
|
-
--tw-prose-pre-code: var(--color-login-text);
|
|
2350
|
-
--tw-prose-pre-bg: var(--color-login-800);
|
|
2351
|
-
--tw-prose-th-borders: var(--color-login-500);
|
|
2352
|
-
--tw-prose-td-borders: var(--color-login-500);
|
|
2353
|
-
}
|
|
2354
2390
|
.outline-none {
|
|
2355
2391
|
--tw-outline-style: none;
|
|
2356
2392
|
outline-style: none;
|
|
@@ -2775,6 +2811,16 @@
|
|
|
2775
2811
|
}
|
|
2776
2812
|
}
|
|
2777
2813
|
}
|
|
2814
|
+
.hover\:text-login\/80 {
|
|
2815
|
+
&:hover {
|
|
2816
|
+
@media (hover: hover) {
|
|
2817
|
+
color: color-mix(in srgb, #fd8738 80%, transparent);
|
|
2818
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2819
|
+
color: color-mix(in oklab, var(--color-login) 80%, transparent);
|
|
2820
|
+
}
|
|
2821
|
+
}
|
|
2822
|
+
}
|
|
2823
|
+
}
|
|
2778
2824
|
.hover\:text-red-200 {
|
|
2779
2825
|
&:hover {
|
|
2780
2826
|
@media (hover: hover) {
|
|
@@ -3000,6 +3046,81 @@
|
|
|
3000
3046
|
--color-login-50: #ffffff;
|
|
3001
3047
|
--color-login-text: #0e0e0e;
|
|
3002
3048
|
}
|
|
3049
|
+
/*!
|
|
3050
|
+
Theme: GitHub Dark
|
|
3051
|
+
Description: Dark theme as seen on github.com
|
|
3052
|
+
Author: github.com
|
|
3053
|
+
Maintainer: @Hirse
|
|
3054
|
+
Updated: 2021-05-15
|
|
3055
|
+
|
|
3056
|
+
Outdated base version: https://github.com/primer/github-syntax-dark
|
|
3057
|
+
Current colors taken from GitHub's CSS
|
|
3058
|
+
*/
|
|
3059
|
+
pre code.hljs {
|
|
3060
|
+
display: block;
|
|
3061
|
+
overflow-x: auto;
|
|
3062
|
+
padding: 1em;
|
|
3063
|
+
}
|
|
3064
|
+
code.hljs {
|
|
3065
|
+
padding: 3px 5px;
|
|
3066
|
+
}
|
|
3067
|
+
.hljs {
|
|
3068
|
+
color: #c9d1d9;
|
|
3069
|
+
background: #0d1117;
|
|
3070
|
+
}
|
|
3071
|
+
.hljs-doctag, .hljs-keyword, .hljs-meta .hljs-keyword, .hljs-template-tag, .hljs-template-variable, .hljs-type, .hljs-variable.language_ {
|
|
3072
|
+
color: #ff7b72;
|
|
3073
|
+
}
|
|
3074
|
+
.hljs-title, .hljs-title.class_, .hljs-title.class_.inherited__, .hljs-title.function_ {
|
|
3075
|
+
color: #d2a8ff;
|
|
3076
|
+
}
|
|
3077
|
+
.hljs-attr, .hljs-attribute, .hljs-literal, .hljs-meta, .hljs-number, .hljs-operator, .hljs-variable, .hljs-selector-attr, .hljs-selector-class, .hljs-selector-id {
|
|
3078
|
+
color: #79c0ff;
|
|
3079
|
+
}
|
|
3080
|
+
.hljs-regexp, .hljs-string, .hljs-meta .hljs-string {
|
|
3081
|
+
color: #a5d6ff;
|
|
3082
|
+
}
|
|
3083
|
+
.hljs-built_in, .hljs-symbol {
|
|
3084
|
+
color: #ffa657;
|
|
3085
|
+
}
|
|
3086
|
+
.hljs-comment, .hljs-code, .hljs-formula {
|
|
3087
|
+
color: #8b949e;
|
|
3088
|
+
}
|
|
3089
|
+
.hljs-name, .hljs-quote, .hljs-selector-tag, .hljs-selector-pseudo {
|
|
3090
|
+
color: #7ee787;
|
|
3091
|
+
}
|
|
3092
|
+
.hljs-subst {
|
|
3093
|
+
color: #c9d1d9;
|
|
3094
|
+
}
|
|
3095
|
+
.hljs-section {
|
|
3096
|
+
color: #1f6feb;
|
|
3097
|
+
font-weight: bold;
|
|
3098
|
+
}
|
|
3099
|
+
.hljs-bullet {
|
|
3100
|
+
color: #f2cc60;
|
|
3101
|
+
}
|
|
3102
|
+
.hljs-emphasis {
|
|
3103
|
+
color: #c9d1d9;
|
|
3104
|
+
font-style: italic;
|
|
3105
|
+
}
|
|
3106
|
+
.hljs-strong {
|
|
3107
|
+
color: #c9d1d9;
|
|
3108
|
+
font-weight: bold;
|
|
3109
|
+
}
|
|
3110
|
+
.hljs-addition {
|
|
3111
|
+
color: #aff5b4;
|
|
3112
|
+
background-color: #033a16;
|
|
3113
|
+
}
|
|
3114
|
+
.hljs-deletion {
|
|
3115
|
+
color: #ffdcd7;
|
|
3116
|
+
background-color: #67060c;
|
|
3117
|
+
}
|
|
3118
|
+
.hljs {
|
|
3119
|
+
background: transparent;
|
|
3120
|
+
}
|
|
3121
|
+
pre code.hljs {
|
|
3122
|
+
padding: 0;
|
|
3123
|
+
}
|
|
3003
3124
|
@keyframes jump {
|
|
3004
3125
|
40% {
|
|
3005
3126
|
transform: translateY(-0.3rem);
|
package/package.json
CHANGED
|
@@ -1,18 +1,48 @@
|
|
|
1
1
|
import Markdown, { Components } from 'react-markdown'
|
|
2
2
|
import remarkGfm from 'remark-gfm'
|
|
3
3
|
import rehypeHighlight from 'rehype-highlight'
|
|
4
|
-
import '
|
|
4
|
+
import { ExternalLink } from 'lucide-react'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
6
|
+
function makeDefaultComponents(): Components {
|
|
7
|
+
return {
|
|
8
|
+
h1: ({...props}) => <h2 {...props} />,
|
|
9
|
+
input({ type, checked }) {
|
|
10
|
+
if (type !== 'checkbox') return <input type={type} />
|
|
11
|
+
return (
|
|
12
|
+
<span
|
|
13
|
+
data-task-checkbox
|
|
14
|
+
className={`inline-flex items-center justify-center w-4 h-4 rounded-xs border-2 shrink-0 align-middle
|
|
15
|
+
${checked ? 'bg-login border-login' : 'border-login/50'}`}
|
|
16
|
+
>
|
|
17
|
+
{checked && (
|
|
18
|
+
<svg viewBox='0 0 10 8' className='w-2.5 h-2.5 fill-none stroke-white stroke-2'>
|
|
19
|
+
<polyline points='1,4 4,7 9,1' strokeLinecap='round' strokeLinejoin='round' />
|
|
20
|
+
</svg>
|
|
21
|
+
)}
|
|
22
|
+
</span>
|
|
23
|
+
)
|
|
24
|
+
},
|
|
25
|
+
a({ href, children }) {
|
|
26
|
+
return (
|
|
27
|
+
<a
|
|
28
|
+
href={href}
|
|
29
|
+
target='_blank'
|
|
30
|
+
rel='noopener noreferrer'
|
|
31
|
+
className='inline-flex items-center gap-1 text-login hover:text-login/80 underline underline-offset-2 transition-colors'
|
|
32
|
+
>
|
|
33
|
+
{children}
|
|
34
|
+
<ExternalLink className='w-3 h-3 shrink-0 opacity-70' />
|
|
35
|
+
</a>
|
|
36
|
+
)
|
|
37
|
+
},
|
|
38
|
+
pre({ children }) {
|
|
39
|
+
return (
|
|
40
|
+
<pre className='block rounded-lg overflow-auto whitespace-pre-wrap wrap-break-word w-full'>
|
|
41
|
+
{children}
|
|
42
|
+
</pre>
|
|
43
|
+
)
|
|
44
|
+
},
|
|
45
|
+
}}
|
|
16
46
|
|
|
17
47
|
export default function MarkdownRender({ MDstr, components, className }: {
|
|
18
48
|
MDstr: string
|
|
@@ -22,7 +52,7 @@ export default function MarkdownRender({ MDstr, components, className }: {
|
|
|
22
52
|
return (
|
|
23
53
|
<div className={className ?? 'prose prose-sm prose-custom max-w-none'}>
|
|
24
54
|
<Markdown
|
|
25
|
-
components={{ ...
|
|
55
|
+
components={{ ...makeDefaultComponents(), ...components }}
|
|
26
56
|
remarkPlugins={[remarkGfm]}
|
|
27
57
|
rehypePlugins={[rehypeHighlight]}
|
|
28
58
|
>
|
package/src/globals.css
CHANGED
|
@@ -105,17 +105,35 @@
|
|
|
105
105
|
--tw-prose-lead: var(--color-login-300);
|
|
106
106
|
--tw-prose-links: var(--color-login);
|
|
107
107
|
--tw-prose-bold: var(--color-login-text);
|
|
108
|
-
--tw-prose-counters: var(--color-login
|
|
109
|
-
--tw-prose-bullets: var(--color-login
|
|
108
|
+
--tw-prose-counters: var(--color-login);
|
|
109
|
+
--tw-prose-bullets: var(--color-login);
|
|
110
110
|
--tw-prose-hr: var(--color-login-300);
|
|
111
111
|
--tw-prose-quotes: var(--color-login-text);
|
|
112
|
-
--tw-prose-quote-borders: var(--color-login
|
|
112
|
+
--tw-prose-quote-borders: var(--color-login);
|
|
113
113
|
--tw-prose-captions: var(--color-login-300);
|
|
114
114
|
--tw-prose-code: var(--color-login-text);
|
|
115
115
|
--tw-prose-pre-code: var(--color-login-text);
|
|
116
|
-
--tw-prose-pre-bg: var(--color-login-
|
|
116
|
+
--tw-prose-pre-bg: var(--color-login-900);
|
|
117
117
|
--tw-prose-th-borders: var(--color-login-500);
|
|
118
118
|
--tw-prose-td-borders: var(--color-login-500);
|
|
119
|
+
|
|
120
|
+
& ul:has(> li > span[data-task-checkbox]) {
|
|
121
|
+
padding-left: 0;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
& li:has(> span[data-task-checkbox]) {
|
|
125
|
+
list-style: none;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@import 'highlight.js/styles/github-dark.css';
|
|
130
|
+
|
|
131
|
+
.hljs {
|
|
132
|
+
background: transparent;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
pre code.hljs {
|
|
136
|
+
padding: 0;
|
|
119
137
|
}
|
|
120
138
|
|
|
121
139
|
@keyframes jump {
|