uibee 2.17.2 → 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,9 +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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import rehypeHighlight from 'rehype-highlight';
|
|
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
|
+
}
|
|
7
23
|
export default function MarkdownRender({ MDstr, components, className }) {
|
|
8
|
-
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') }) }));
|
|
9
25
|
}
|
package/dist/src/globals.css
CHANGED
|
@@ -1125,6 +1125,9 @@
|
|
|
1125
1125
|
.h-2 {
|
|
1126
1126
|
height: calc(var(--spacing) * 2);
|
|
1127
1127
|
}
|
|
1128
|
+
.h-2\.5 {
|
|
1129
|
+
height: calc(var(--spacing) * 2.5);
|
|
1130
|
+
}
|
|
1128
1131
|
.h-3 {
|
|
1129
1132
|
height: calc(var(--spacing) * 3);
|
|
1130
1133
|
}
|
|
@@ -1194,6 +1197,9 @@
|
|
|
1194
1197
|
.w-2 {
|
|
1195
1198
|
width: calc(var(--spacing) * 2);
|
|
1196
1199
|
}
|
|
1200
|
+
.w-2\.5 {
|
|
1201
|
+
width: calc(var(--spacing) * 2.5);
|
|
1202
|
+
}
|
|
1197
1203
|
.w-3 {
|
|
1198
1204
|
width: calc(var(--spacing) * 3);
|
|
1199
1205
|
}
|
|
@@ -1545,6 +1551,9 @@
|
|
|
1545
1551
|
.border-gray-200 {
|
|
1546
1552
|
border-color: var(--color-gray-200);
|
|
1547
1553
|
}
|
|
1554
|
+
.border-login {
|
|
1555
|
+
border-color: var(--color-login);
|
|
1556
|
+
}
|
|
1548
1557
|
.border-login-50 {
|
|
1549
1558
|
border-color: var(--color-login-50);
|
|
1550
1559
|
}
|
|
@@ -1578,6 +1587,12 @@
|
|
|
1578
1587
|
border-color: color-mix(in oklab, var(--color-login-600) 50%, transparent);
|
|
1579
1588
|
}
|
|
1580
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
|
+
}
|
|
1581
1596
|
.border-orange-400\/25 {
|
|
1582
1597
|
border-color: color-mix(in srgb, oklch(75% 0.183 55.934) 25%, transparent);
|
|
1583
1598
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -1856,9 +1871,15 @@
|
|
|
1856
1871
|
.stroke-red-400 {
|
|
1857
1872
|
stroke: var(--color-red-400);
|
|
1858
1873
|
}
|
|
1874
|
+
.stroke-white {
|
|
1875
|
+
stroke: var(--color-white);
|
|
1876
|
+
}
|
|
1859
1877
|
.stroke-yellow-400 {
|
|
1860
1878
|
stroke: var(--color-yellow-400);
|
|
1861
1879
|
}
|
|
1880
|
+
.stroke-2 {
|
|
1881
|
+
stroke-width: 2;
|
|
1882
|
+
}
|
|
1862
1883
|
.stroke-\[3\.5px\] {
|
|
1863
1884
|
stroke-width: 3.5px;
|
|
1864
1885
|
}
|
|
@@ -1955,6 +1976,30 @@
|
|
|
1955
1976
|
.pb-4 {
|
|
1956
1977
|
padding-bottom: calc(var(--spacing) * 4);
|
|
1957
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
|
+
}
|
|
1958
2003
|
.pl-3 {
|
|
1959
2004
|
padding-left: calc(var(--spacing) * 3);
|
|
1960
2005
|
}
|
|
@@ -1976,6 +2021,9 @@
|
|
|
1976
2021
|
.text-right {
|
|
1977
2022
|
text-align: right;
|
|
1978
2023
|
}
|
|
2024
|
+
.align-middle {
|
|
2025
|
+
vertical-align: middle;
|
|
2026
|
+
}
|
|
1979
2027
|
.font-mono {
|
|
1980
2028
|
font-family: var(--font-mono);
|
|
1981
2029
|
}
|
|
@@ -2074,9 +2122,15 @@
|
|
|
2074
2122
|
--tw-tracking: var(--tracking-wider);
|
|
2075
2123
|
letter-spacing: var(--tracking-wider);
|
|
2076
2124
|
}
|
|
2125
|
+
.wrap-break-word {
|
|
2126
|
+
overflow-wrap: break-word;
|
|
2127
|
+
}
|
|
2077
2128
|
.whitespace-nowrap {
|
|
2078
2129
|
white-space: nowrap;
|
|
2079
2130
|
}
|
|
2131
|
+
.whitespace-pre-wrap {
|
|
2132
|
+
white-space: pre-wrap;
|
|
2133
|
+
}
|
|
2080
2134
|
.text-amber-200 {
|
|
2081
2135
|
color: var(--color-amber-200);
|
|
2082
2136
|
}
|
|
@@ -2158,6 +2212,12 @@
|
|
|
2158
2212
|
.no-underline {
|
|
2159
2213
|
text-decoration-line: none;
|
|
2160
2214
|
}
|
|
2215
|
+
.underline {
|
|
2216
|
+
text-decoration-line: underline;
|
|
2217
|
+
}
|
|
2218
|
+
.underline-offset-2 {
|
|
2219
|
+
text-underline-offset: 2px;
|
|
2220
|
+
}
|
|
2161
2221
|
.placeholder-login-200 {
|
|
2162
2222
|
&::placeholder {
|
|
2163
2223
|
color: var(--color-login-200);
|
|
@@ -2175,6 +2235,9 @@
|
|
|
2175
2235
|
.opacity-50 {
|
|
2176
2236
|
opacity: 50%;
|
|
2177
2237
|
}
|
|
2238
|
+
.opacity-70 {
|
|
2239
|
+
opacity: 70%;
|
|
2240
|
+
}
|
|
2178
2241
|
.opacity-100 {
|
|
2179
2242
|
opacity: 100%;
|
|
2180
2243
|
}
|
|
@@ -2324,24 +2387,6 @@
|
|
|
2324
2387
|
--tw-ease: var(--ease-out);
|
|
2325
2388
|
transition-timing-function: var(--ease-out);
|
|
2326
2389
|
}
|
|
2327
|
-
.prose-custom {
|
|
2328
|
-
--tw-prose-body: var(--color-login-text);
|
|
2329
|
-
--tw-prose-headings: var(--color-login-text);
|
|
2330
|
-
--tw-prose-lead: var(--color-login-300);
|
|
2331
|
-
--tw-prose-links: var(--color-login);
|
|
2332
|
-
--tw-prose-bold: var(--color-login-text);
|
|
2333
|
-
--tw-prose-counters: var(--color-login-400);
|
|
2334
|
-
--tw-prose-bullets: var(--color-login-400);
|
|
2335
|
-
--tw-prose-hr: var(--color-login-300);
|
|
2336
|
-
--tw-prose-quotes: var(--color-login-text);
|
|
2337
|
-
--tw-prose-quote-borders: var(--color-login-300);
|
|
2338
|
-
--tw-prose-captions: var(--color-login-300);
|
|
2339
|
-
--tw-prose-code: var(--color-login-text);
|
|
2340
|
-
--tw-prose-pre-code: var(--color-login-text);
|
|
2341
|
-
--tw-prose-pre-bg: var(--color-login-800);
|
|
2342
|
-
--tw-prose-th-borders: var(--color-login-500);
|
|
2343
|
-
--tw-prose-td-borders: var(--color-login-500);
|
|
2344
|
-
}
|
|
2345
2390
|
.outline-none {
|
|
2346
2391
|
--tw-outline-style: none;
|
|
2347
2392
|
outline-style: none;
|
|
@@ -2766,6 +2811,16 @@
|
|
|
2766
2811
|
}
|
|
2767
2812
|
}
|
|
2768
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
|
+
}
|
|
2769
2824
|
.hover\:text-red-200 {
|
|
2770
2825
|
&:hover {
|
|
2771
2826
|
@media (hover: hover) {
|
|
@@ -2991,6 +3046,81 @@
|
|
|
2991
3046
|
--color-login-50: #ffffff;
|
|
2992
3047
|
--color-login-text: #0e0e0e;
|
|
2993
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
|
+
}
|
|
2994
3124
|
@keyframes jump {
|
|
2995
3125
|
40% {
|
|
2996
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 {
|