@kuroson/cse-common-website 0.1.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.
package/dist/index.js ADDED
@@ -0,0 +1,395 @@
1
+ import React6 from 'react';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+
4
+ // src/Admonition.tsx
5
+ var DangerIcon = (props) => {
6
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 12 16", ...props, children: /* @__PURE__ */ jsx(
7
+ "path",
8
+ {
9
+ fillRule: "evenodd",
10
+ d: "M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"
11
+ }
12
+ ) });
13
+ };
14
+ var InfoIcon = (props) => {
15
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 14 16", ...props, children: /* @__PURE__ */ jsx(
16
+ "path",
17
+ {
18
+ fillRule: "evenodd",
19
+ d: "M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"
20
+ }
21
+ ) });
22
+ };
23
+ var NoteIcon = (props) => {
24
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 14 16", ...props, children: /* @__PURE__ */ jsx(
25
+ "path",
26
+ {
27
+ fillRule: "evenodd",
28
+ d: "M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
29
+ }
30
+ ) });
31
+ };
32
+ var TipIcon = (props) => {
33
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 12 16", ...props, children: /* @__PURE__ */ jsx(
34
+ "path",
35
+ {
36
+ fillRule: "evenodd",
37
+ d: "M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"
38
+ }
39
+ ) });
40
+ };
41
+ var WarnIcon = (props) => {
42
+ return /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", ...props, children: /* @__PURE__ */ jsx(
43
+ "path",
44
+ {
45
+ fillRule: "evenodd",
46
+ d: "M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"
47
+ }
48
+ ) });
49
+ };
50
+ var applyCodeStyle = (element, type) => {
51
+ const style = AdmonitionStyles[type];
52
+ return React6.cloneElement(element, {
53
+ className: `bg-[${style.codeBackground.light}] dark:bg-[${style.codeBackground.dark}] border-[${style.codeBorder.light}] dark:border-[${style.codeBorder.dark}] text-[${style.text.light}] dark:text-[${style.text.dark}]`
54
+ });
55
+ };
56
+ var applyParagraphStyle = (element) => {
57
+ return React6.cloneElement(element, {
58
+ className: "m-0"
59
+ });
60
+ };
61
+ var applyAnchorStyle = (element, type) => {
62
+ const style = AdmonitionStyles[type];
63
+ return React6.cloneElement(element, {
64
+ className: `custom-link-style underline text-[${style.text.light}] dark:text-[${style.text.dark}] decoration-[${style.decoration.light}] decoration-2 hover:decoration-[2.25px]`
65
+ });
66
+ };
67
+ var applyStrongStyle = (element, type) => {
68
+ const style = AdmonitionStyles[type];
69
+ return React6.cloneElement(element, {
70
+ className: `text-[${style.text.light}] dark:text-[${style.text.dark}] font-bold`
71
+ });
72
+ };
73
+ var recursivelyModifyChildren = (children, type) => {
74
+ return React6.Children.map(children, (c) => {
75
+ if (React6.isValidElement(c)) {
76
+ const child = c;
77
+ if (child.type === "code") {
78
+ return applyCodeStyle(child, type);
79
+ }
80
+ if (child.type === "strong") {
81
+ return applyStrongStyle(child, type);
82
+ }
83
+ if (child.props?.title !== void 0) {
84
+ return child;
85
+ }
86
+ if (child.props?.href !== void 0) {
87
+ const updatedAnchor = applyAnchorStyle(child, type);
88
+ const updatedChildren = recursivelyModifyChildren(updatedAnchor.props.children, type);
89
+ return React6.cloneElement(updatedAnchor, {
90
+ children: updatedChildren
91
+ });
92
+ }
93
+ if (child.type === "p") {
94
+ const updatedParagraph = applyParagraphStyle(child);
95
+ const updatedChildren = recursivelyModifyChildren(updatedParagraph.props.children, type);
96
+ return React6.cloneElement(updatedParagraph, {
97
+ children: updatedChildren
98
+ });
99
+ }
100
+ if (React6.Children.count(child.props.children) > 0) {
101
+ return React6.cloneElement(child, {
102
+ children: recursivelyModifyChildren(child.props.children, type)
103
+ });
104
+ }
105
+ }
106
+ return c;
107
+ });
108
+ };
109
+ var StyleWrapper = ({ children, type }) => {
110
+ const modifiedChildren = recursivelyModifyChildren(children, type);
111
+ return /* @__PURE__ */ jsx(Fragment, { children: modifiedChildren });
112
+ };
113
+ var StyleWrapper_default = StyleWrapper;
114
+ var DangerAdmonition = ({
115
+ title,
116
+ children,
117
+ testId = "danger-admonition",
118
+ Icon
119
+ }) => {
120
+ return /* @__PURE__ */ jsxs(
121
+ "div",
122
+ {
123
+ id: "admonition",
124
+ className: "p-4 bg-[#FEEAEC] dark:bg-[#4B1012] !border-l-[#E13339] !dark:border-l-[#E13339] text-[#4B1012] dark:text-[#FEEAEC] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0",
125
+ "data-testid": testId,
126
+ children: [
127
+ /* @__PURE__ */ jsxs("h5", { className: "flex items-center mb-2", "data-testid": `${testId}-title`, children: [
128
+ /* @__PURE__ */ jsx("span", { className: "mr-2 text-[#4B1012] dark:text-[#FEEAEC]", children: /* @__PURE__ */ jsx(Icon, { height: 25, width: 25, className: "fill-current" }) }),
129
+ /* @__PURE__ */ jsx("span", { className: "text-base font-bold uppercase leading-none text-center", "data-testid": `${testId}-title-text`, children: title })
130
+ ] }),
131
+ /* @__PURE__ */ jsx("div", { "data-testid": `${testId}-content`, children: /* @__PURE__ */ jsx(StyleWrapper_default, { type: "danger", children }) })
132
+ ]
133
+ }
134
+ );
135
+ };
136
+ var InfoAdmonition = ({
137
+ title,
138
+ children,
139
+ testId = "info-admonition",
140
+ Icon
141
+ }) => {
142
+ return /* @__PURE__ */ jsxs(
143
+ "div",
144
+ {
145
+ id: "admonition",
146
+ className: "p-4 bg-[#EFF9FC] dark:bg-[#193C47] !border-l-[#4CB2D5] !dark:border-l-[#4CB2D5] text-[#193C47] dark:text-[#EFF9FC] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0",
147
+ "data-testid": testId,
148
+ children: [
149
+ /* @__PURE__ */ jsxs("h5", { className: "flex items-center mb-2", "data-testid": `${testId}-title`, children: [
150
+ /* @__PURE__ */ jsx("span", { className: "mr-2 text-[#193C47] dark:text-[#EFF9FC]", children: /* @__PURE__ */ jsx(Icon, { height: 25, width: 25, className: "fill-current" }) }),
151
+ /* @__PURE__ */ jsx("span", { className: "text-base font-bold uppercase leading-none text-center", "data-testid": `${testId}-title-text`, children: title })
152
+ ] }),
153
+ /* @__PURE__ */ jsx("div", { "data-testid": `${testId}-content`, children: /* @__PURE__ */ jsx(StyleWrapper_default, { type: "info", children }) })
154
+ ]
155
+ }
156
+ );
157
+ };
158
+ var NoteAdmonition = ({
159
+ title,
160
+ children,
161
+ testId = "note-admonition",
162
+ Icon
163
+ }) => {
164
+ return /* @__PURE__ */ jsxs(
165
+ "div",
166
+ {
167
+ id: "admonition",
168
+ className: "p-4 bg-[#FCFDFF] dark:bg-[#464648] !border-l-[#D5D4D8] !dark:border-l-[#D5D4D8] text-[#464648] dark:text-[#FCFDFF] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0",
169
+ "data-testid": testId,
170
+ children: [
171
+ /* @__PURE__ */ jsxs("h5", { className: "flex items-center mb-2", "data-testid": `${testId}-title`, children: [
172
+ /* @__PURE__ */ jsx("span", { className: "mr-2 text-[#464648] dark:text-[#FCFDFF]", children: /* @__PURE__ */ jsx(Icon, { height: 25, width: 25, className: "fill-current" }) }),
173
+ /* @__PURE__ */ jsx("span", { className: "text-base font-bold uppercase leading-none text-center", "data-testid": `${testId}-title-text`, children: title })
174
+ ] }),
175
+ /* @__PURE__ */ jsx("div", { "data-testid": `${testId}-content`, children: /* @__PURE__ */ jsx(StyleWrapper_default, { type: "note", children }) })
176
+ ]
177
+ }
178
+ );
179
+ };
180
+ var TipAdmonition = ({
181
+ title,
182
+ children,
183
+ testId = "tip-admonition",
184
+ Icon
185
+ }) => {
186
+ return /* @__PURE__ */ jsxs(
187
+ "div",
188
+ {
189
+ id: "admonition",
190
+ className: "p-4 bg-[#E6F6E6] dark:bg-[#003100] !border-l-[#009400] !dark:border-l-[#009400] text-[#003100] dark:text-[#E6F6E6] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0",
191
+ "data-testid": testId,
192
+ children: [
193
+ /* @__PURE__ */ jsxs("h5", { className: "flex items-center mb-2", "data-testid": `${testId}-title`, children: [
194
+ /* @__PURE__ */ jsx("span", { className: "mr-2 text-[#003100] dark:text-[#E6F6E6]", children: /* @__PURE__ */ jsx(Icon, { height: 25, width: 25, className: "fill-current" }) }),
195
+ /* @__PURE__ */ jsx("span", { className: "text-base font-bold uppercase leading-none text-center", "data-testid": `${testId}-title-text`, children: title })
196
+ ] }),
197
+ /* @__PURE__ */ jsx("div", { "data-testid": `${testId}-content`, children: /* @__PURE__ */ jsx(StyleWrapper_default, { type: "tip", children }) })
198
+ ]
199
+ }
200
+ );
201
+ };
202
+ var WarnAdmonition = ({
203
+ title,
204
+ children,
205
+ testId = "warn-admonition",
206
+ Icon
207
+ }) => {
208
+ return /* @__PURE__ */ jsxs(
209
+ "div",
210
+ {
211
+ id: "admonition",
212
+ className: "p-4 bg-[#FEF8E7] dark:bg-[#4C3900] !border-l-[#E6A601] !dark:border-l-[#E6A601] text-[#4C3900] dark:text-[#FEF8E7] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0",
213
+ "data-testid": testId,
214
+ children: [
215
+ /* @__PURE__ */ jsxs("h5", { className: "flex items-center mb-2", "data-testid": `${testId}-title`, children: [
216
+ /* @__PURE__ */ jsx("span", { className: "mr-2 text-[#4C3900] dark:text-[#FEF8E7]", children: /* @__PURE__ */ jsx(Icon, { height: 25, width: 25, className: "fill-current" }) }),
217
+ /* @__PURE__ */ jsx("span", { className: "text-base font-bold uppercase leading-none text-center", "data-testid": `${testId}-title-text`, children: title })
218
+ ] }),
219
+ /* @__PURE__ */ jsx("div", { "data-testid": `${testId}-content`, children: /* @__PURE__ */ jsx(StyleWrapper_default, { type: "warn", children }) })
220
+ ]
221
+ }
222
+ );
223
+ };
224
+ var Admonition = ({
225
+ type = "info",
226
+ title: givenTitle,
227
+ children,
228
+ testId
229
+ }) => {
230
+ const title = React6.useMemo(() => givenTitle ?? defaultTitle[type], [givenTitle, type]);
231
+ const Icon = React6.useMemo(() => defaultIcons[type], [type]);
232
+ switch (type) {
233
+ case "danger":
234
+ return /* @__PURE__ */ jsx(DangerAdmonition, { title, Icon, testId, children });
235
+ case "warn":
236
+ return /* @__PURE__ */ jsx(WarnAdmonition, { title, Icon, testId, children });
237
+ case "info":
238
+ return /* @__PURE__ */ jsx(InfoAdmonition, { title, Icon, testId, children });
239
+ case "tip":
240
+ return /* @__PURE__ */ jsx(TipAdmonition, { title, Icon, testId, children });
241
+ case "note":
242
+ return /* @__PURE__ */ jsx(NoteAdmonition, { title, Icon, testId, children });
243
+ }
244
+ };
245
+ var defaultTitle = {
246
+ danger: "Danger",
247
+ warn: "Warning",
248
+ info: "Info",
249
+ tip: "Tip",
250
+ note: "Note"
251
+ };
252
+ var defaultIcons = {
253
+ danger: DangerIcon,
254
+ warn: WarnIcon,
255
+ info: InfoIcon,
256
+ tip: TipIcon,
257
+ note: NoteIcon
258
+ };
259
+ var AdmonitionStyles = {
260
+ danger: {
261
+ highlight: {
262
+ light: "#E13339",
263
+ dark: "#E13339"
264
+ },
265
+ text: {
266
+ light: "#4B1012",
267
+ dark: "#FEEAEC"
268
+ },
269
+ background: {
270
+ light: "#FEEAEC",
271
+ dark: "#4B1012"
272
+ },
273
+ codeBackground: {
274
+ light: "#FFD1D2",
275
+ dark: "#651619"
276
+ },
277
+ codeBorder: {
278
+ light: "#E5BABD",
279
+ dark: "#5A1417"
280
+ },
281
+ decoration: {
282
+ light: "#E13339",
283
+ dark: "#E13339"
284
+ }
285
+ },
286
+ info: {
287
+ highlight: {
288
+ light: "#4CB2D5",
289
+ dark: "#4CB2D5"
290
+ },
291
+ text: {
292
+ light: "#193C47",
293
+ dark: "#EFF9FC"
294
+ },
295
+ background: {
296
+ light: "#EFF9FC",
297
+ dark: "#193C47"
298
+ },
299
+ codeBackground: {
300
+ light: "#D8F3FB",
301
+ dark: "#22505E"
302
+ },
303
+ codeBorder: {
304
+ light: "#C3D8E1",
305
+ dark: "#1E4954"
306
+ },
307
+ decoration: {
308
+ light: "#4CB2D5",
309
+ dark: "#4CB2D5"
310
+ }
311
+ },
312
+ tip: {
313
+ highlight: {
314
+ light: "#009400",
315
+ dark: "#009400"
316
+ },
317
+ text: {
318
+ light: "#003100",
319
+ dark: "#E6F6E6"
320
+ },
321
+ background: {
322
+ light: "#E6F6E6",
323
+ dark: "#003100"
324
+ },
325
+ codeBackground: {
326
+ light: "#C4E9C4",
327
+ dark: "#014300"
328
+ },
329
+ codeBorder: {
330
+ light: "#B0D0B1",
331
+ dark: "#003100"
332
+ },
333
+ decoration: {
334
+ light: "#009400",
335
+ dark: "#009400"
336
+ }
337
+ },
338
+ note: {
339
+ highlight: {
340
+ light: "#D5D4D8",
341
+ dark: "#D5D4D8"
342
+ },
343
+ text: {
344
+ light: "#464648",
345
+ dark: "#FCFDFF"
346
+ },
347
+ background: {
348
+ light: "#FCFDFF",
349
+ dark: "#464648"
350
+ },
351
+ codeBackground: {
352
+ light: "#FBFBFC",
353
+ dark: "#5E5E61"
354
+ },
355
+ codeBorder: {
356
+ light: "#E0E1E3",
357
+ dark: "#555557"
358
+ },
359
+ decoration: {
360
+ light: "#D5D4D8",
361
+ dark: "#D5D4D8"
362
+ }
363
+ },
364
+ warn: {
365
+ highlight: {
366
+ light: "#E6A601",
367
+ dark: "#E6A601"
368
+ },
369
+ text: {
370
+ light: "#4C3900",
371
+ dark: "#FEF8E7"
372
+ },
373
+ background: {
374
+ light: "#FEF8E7",
375
+ dark: "#4C3900"
376
+ },
377
+ codeBackground: {
378
+ light: "#FEEEC4",
379
+ dark: "#694C01"
380
+ },
381
+ codeBorder: {
382
+ light: "#E4D6B0",
383
+ dark: "#5D4400"
384
+ },
385
+ decoration: {
386
+ light: "#E6A601",
387
+ dark: "#E6A601"
388
+ }
389
+ }
390
+ };
391
+ var Admonition_default = Admonition;
392
+
393
+ export { Admonition_default as Admonition, AdmonitionStyles };
394
+ //# sourceMappingURL=index.js.map
395
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/DangerIcon.tsx","../src/icons/InfoIcon.tsx","../src/icons/NoteIcon.tsx","../src/icons/TipIcon.tsx","../src/icons/WarnIcon.tsx","../src/StyleWrapper.tsx","../src/views/Danger.tsx","../src/views/Info.tsx","../src/views/Note.tsx","../src/views/Tip.tsx","../src/views/Warn.tsx","../src/Admonition.tsx"],"names":["jsx","React","jsxs"],"mappings":"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","file":"index.js","sourcesContent":["import React, { type SVGProps } from 'react';\n\nexport const DangerIcon = (props: SVGProps<SVGSVGElement>): React.JSX.Element => {\n return (\n <svg viewBox=\"0 0 12 16\" {...props}>\n <path\n fillRule=\"evenodd\"\n d=\"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z\"\n />\n </svg>\n );\n};\n","import React, { type SVGProps } from 'react';\n\nexport const InfoIcon = (props: SVGProps<SVGSVGElement>): React.JSX.Element => {\n return (\n <svg viewBox=\"0 0 14 16\" {...props}>\n <path\n fillRule=\"evenodd\"\n d=\"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z\"\n />\n </svg>\n );\n};\n","import React, { type SVGProps } from 'react';\n\nexport const NoteIcon = (props: SVGProps<SVGSVGElement>): React.JSX.Element => {\n return (\n <svg viewBox=\"0 0 14 16\" {...props}>\n <path\n fillRule=\"evenodd\"\n d=\"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z\"\n />\n </svg>\n );\n};\n","import React, { type SVGProps } from 'react';\n\nexport const TipIcon = (props: SVGProps<SVGSVGElement>): React.JSX.Element => {\n return (\n <svg viewBox=\"0 0 12 16\" {...props}>\n <path\n fillRule=\"evenodd\"\n d=\"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z\"\n />\n </svg>\n );\n};\n","import React, { type SVGProps } from 'react';\n\nexport const WarnIcon = (props: SVGProps<SVGSVGElement>): React.JSX.Element => {\n return (\n <svg viewBox=\"0 0 16 16\" {...props}>\n <path\n fillRule=\"evenodd\"\n d=\"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z\"\n />\n </svg>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport { AdmonitionStyles } from './Admonition';\nimport type { AdmonitionTypes } from './types';\n\nconst applyCodeStyle = (element: React.ReactElement, type: AdmonitionTypes): React.ReactElement<any> => {\n const style = AdmonitionStyles[type];\n return React.cloneElement<any>(element, {\n className: `bg-[${style.codeBackground.light}] dark:bg-[${style.codeBackground.dark}] border-[${style.codeBorder.light}] dark:border-[${style.codeBorder.dark}] text-[${style.text.light}] dark:text-[${style.text.dark}]`,\n });\n};\n\nconst applyParagraphStyle = (element: React.ReactElement): React.ReactElement<any> => {\n return React.cloneElement<any>(element, {\n className: 'm-0',\n });\n};\n\nconst applyAnchorStyle = (element: React.ReactElement, type: AdmonitionTypes): React.ReactElement<any> => {\n const style = AdmonitionStyles[type];\n return React.cloneElement<any>(element, {\n className: `custom-link-style underline text-[${style.text.light}] dark:text-[${style.text.dark}] decoration-[${style.decoration.light}] decoration-2 hover:decoration-[2.25px]`,\n });\n};\n\nconst applyStrongStyle = (element: React.ReactElement, type: AdmonitionTypes): React.ReactElement<any> => {\n const style = AdmonitionStyles[type];\n return React.cloneElement<any>(element, {\n className: `text-[${style.text.light}] dark:text-[${style.text.dark}] font-bold`,\n });\n};\n\nconst recursivelyModifyChildren = (children: React.ReactNode, type: AdmonitionTypes): React.ReactNode => {\n return React.Children.map(children, (c) => {\n if (React.isValidElement(c)) {\n const child = c as React.ReactElement<any>;\n if (child.type === 'code') {\n return applyCodeStyle(child, type);\n }\n\n if (child.type === 'strong') {\n return applyStrongStyle(child, type);\n }\n\n // code block\n if (child.props?.title !== undefined) {\n return child;\n }\n\n // anchor\n if (child.props?.href !== undefined) {\n const updatedAnchor = applyAnchorStyle(child, type);\n const updatedChildren = recursivelyModifyChildren(updatedAnchor.props.children, type);\n return React.cloneElement(updatedAnchor, {\n children: updatedChildren,\n });\n }\n\n if (child.type === 'p') {\n const updatedParagraph = applyParagraphStyle(child);\n const updatedChildren = recursivelyModifyChildren(updatedParagraph.props.children, type);\n return React.cloneElement(updatedParagraph, {\n children: updatedChildren,\n });\n }\n\n // If the child is an element with children, recurse into its children\n if (React.Children.count(child.props.children) > 0) {\n return React.cloneElement<any>(child as React.ReactElement, {\n children: recursivelyModifyChildren(child.props.children, type),\n });\n }\n }\n\n return c;\n });\n};\n\ntype CodeWrapperProps = {\n children: React.ReactNode;\n type: AdmonitionTypes;\n};\n\nconst StyleWrapper = ({ children, type }: CodeWrapperProps): React.JSX.Element => {\n const modifiedChildren = recursivelyModifyChildren(children, type);\n return <>{modifiedChildren}</>;\n};\n\nexport default StyleWrapper;\n","import React from 'react';\nimport StyleWrapper from '../StyleWrapper';\nimport type { SingleAdmonitionProps } from '../types';\n\nexport const DangerAdmonition = ({\n title,\n children,\n testId = 'danger-admonition',\n Icon,\n}: SingleAdmonitionProps): React.JSX.Element => {\n return (\n <div\n id=\"admonition\"\n className=\"p-4 bg-[#FEEAEC] dark:bg-[#4B1012] !border-l-[#E13339] !dark:border-l-[#E13339] text-[#4B1012] dark:text-[#FEEAEC] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0\"\n data-testid={testId}\n >\n <h5 className=\"flex items-center mb-2\" data-testid={`${testId}-title`}>\n <span className=\"mr-2 text-[#4B1012] dark:text-[#FEEAEC]\">\n <Icon height={25} width={25} className=\"fill-current\" />\n </span>\n <span className=\"text-base font-bold uppercase leading-none text-center\" data-testid={`${testId}-title-text`}>\n {title}\n </span>\n </h5>\n <div data-testid={`${testId}-content`}>\n <StyleWrapper type=\"danger\">{children}</StyleWrapper>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport StyleWrapper from '../StyleWrapper';\nimport type { SingleAdmonitionProps } from '../types';\n\nexport const InfoAdmonition = ({\n title,\n children,\n testId = 'info-admonition',\n Icon,\n}: SingleAdmonitionProps): React.JSX.Element => {\n return (\n <div\n id=\"admonition\"\n className=\"p-4 bg-[#EFF9FC] dark:bg-[#193C47] !border-l-[#4CB2D5] !dark:border-l-[#4CB2D5] text-[#193C47] dark:text-[#EFF9FC] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0\"\n data-testid={testId}\n >\n <h5 className=\"flex items-center mb-2\" data-testid={`${testId}-title`}>\n <span className=\"mr-2 text-[#193C47] dark:text-[#EFF9FC]\">\n <Icon height={25} width={25} className=\"fill-current\" />\n </span>\n <span className=\"text-base font-bold uppercase leading-none text-center\" data-testid={`${testId}-title-text`}>\n {title}\n </span>\n </h5>\n <div data-testid={`${testId}-content`}>\n <StyleWrapper type=\"info\">{children}</StyleWrapper>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport StyleWrapper from '../StyleWrapper';\nimport type { SingleAdmonitionProps } from '../types';\n\nexport const NoteAdmonition = ({\n title,\n children,\n testId = 'note-admonition',\n Icon,\n}: SingleAdmonitionProps): React.JSX.Element => {\n return (\n <div\n id=\"admonition\"\n className=\"p-4 bg-[#FCFDFF] dark:bg-[#464648] !border-l-[#D5D4D8] !dark:border-l-[#D5D4D8] text-[#464648] dark:text-[#FCFDFF] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0\"\n data-testid={testId}\n >\n <h5 className=\"flex items-center mb-2\" data-testid={`${testId}-title`}>\n <span className=\"mr-2 text-[#464648] dark:text-[#FCFDFF]\">\n <Icon height={25} width={25} className=\"fill-current\" />\n </span>\n <span className=\"text-base font-bold uppercase leading-none text-center\" data-testid={`${testId}-title-text`}>\n {title}\n </span>\n </h5>\n <div data-testid={`${testId}-content`}>\n <StyleWrapper type=\"note\">{children}</StyleWrapper>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport StyleWrapper from '../StyleWrapper';\nimport type { SingleAdmonitionProps } from '../types';\n\nexport const TipAdmonition = ({\n title,\n children,\n testId = 'tip-admonition',\n Icon,\n}: SingleAdmonitionProps): React.JSX.Element => {\n return (\n <div\n id=\"admonition\"\n className=\"p-4 bg-[#E6F6E6] dark:bg-[#003100] !border-l-[#009400] !dark:border-l-[#009400] text-[#003100] dark:text-[#E6F6E6] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0\"\n data-testid={testId}\n >\n <h5 className=\"flex items-center mb-2\" data-testid={`${testId}-title`}>\n <span className=\"mr-2 text-[#003100] dark:text-[#E6F6E6]\">\n <Icon height={25} width={25} className=\"fill-current\" />\n </span>\n <span className=\"text-base font-bold uppercase leading-none text-center\" data-testid={`${testId}-title-text`}>\n {title}\n </span>\n </h5>\n <div data-testid={`${testId}-content`}>\n <StyleWrapper type=\"tip\">{children}</StyleWrapper>\n </div>\n </div>\n );\n};\n\n// tip: {\n// highlight: {\n// light: '#009400',\n// dark: '#009400',\n// },\n// text: {\n// light: '#003100',\n// dark: '#E6F6E6',\n// },\n// background: {\n// light: '#E6F6E6',\n// dark: '#003100',\n// },\n// codeBackground: {\n// light: '#C4E9C4',\n// dark: '#014300',\n// },\n// codeBorder: {\n// light: '#B0D0B1',\n// dark: '#003100',\n// },\n// decoration: {\n// light: '#009400',\n// dark: '#009400',\n// },\n// },\n","import React from 'react';\nimport StyleWrapper from '../StyleWrapper';\nimport type { SingleAdmonitionProps } from '../types';\n\nexport const WarnAdmonition = ({\n title,\n children,\n testId = 'warn-admonition',\n Icon,\n}: SingleAdmonitionProps): React.JSX.Element => {\n return (\n <div\n id=\"admonition\"\n className=\"p-4 bg-[#FEF8E7] dark:bg-[#4C3900] !border-l-[#E6A601] !dark:border-l-[#E6A601] text-[#4C3900] dark:text-[#FEF8E7] !border-l-[5px] !border-transparent rounded-lg shadow-md my-4 last:mb-0\"\n data-testid={testId}\n >\n <h5 className=\"flex items-center mb-2\" data-testid={`${testId}-title`}>\n <span className=\"mr-2 text-[#4C3900] dark:text-[#FEF8E7]\">\n <Icon height={25} width={25} className=\"fill-current\" />\n </span>\n <span className=\"text-base font-bold uppercase leading-none text-center\" data-testid={`${testId}-title-text`}>\n {title}\n </span>\n </h5>\n <div data-testid={`${testId}-content`}>\n <StyleWrapper type=\"warn\">{children}</StyleWrapper>\n </div>\n </div>\n );\n};\n\n// warn: {\n// highlight: {\n// light: '#E6A601',\n// dark: '#E6A601',\n// },\n// text: {\n// light: '#4C3900',\n// dark: '#FEF8E7',\n// },\n// background: {\n// light: '#FEF8E7',\n// dark: '#4C3900',\n// },\n// codeBackground: {\n// light: '#FEEEC4',\n// dark: '#694C01',\n// },\n// codeBorder: {\n// light: '#E4D6B0',\n// dark: '#5D4400',\n// },\n// decoration: {\n// light: '#E6A601',\n// dark: '#E6A601',\n// },\n// },\n","import React from 'react';\nimport { DangerIcon, TipIcon, WarnIcon, InfoIcon, NoteIcon } from './icons';\nimport type { AdmonitionProps, AdmonitionTypes } from './types';\nimport { DangerAdmonition } from './views/Danger';\nimport { InfoAdmonition } from './views/Info';\nimport { NoteAdmonition } from './views/Note';\nimport { TipAdmonition } from './views/Tip';\nimport { WarnAdmonition } from './views/Warn';\n\n/**\n * @note based on https://docusaurus.io/docs/markdown-features/admonitions\n */\nexport const Admonition = ({\n type = 'info',\n title: givenTitle,\n children,\n testId,\n}: AdmonitionProps): React.JSX.Element => {\n const title = React.useMemo(() => givenTitle ?? defaultTitle[type], [givenTitle, type]);\n const Icon = React.useMemo(() => defaultIcons[type], [type]);\n\n switch (type) {\n case 'danger':\n return (\n <DangerAdmonition title={title} Icon={Icon} testId={testId}>\n {children}\n </DangerAdmonition>\n );\n case 'warn':\n return (\n <WarnAdmonition title={title} Icon={Icon} testId={testId}>\n {children}\n </WarnAdmonition>\n );\n case 'info':\n return (\n <InfoAdmonition title={title} Icon={Icon} testId={testId}>\n {children}\n </InfoAdmonition>\n );\n case 'tip':\n return (\n <TipAdmonition title={title} Icon={Icon} testId={testId}>\n {children}\n </TipAdmonition>\n );\n case 'note':\n return (\n <NoteAdmonition title={title} Icon={Icon} testId={testId}>\n {children}\n </NoteAdmonition>\n );\n }\n};\n\nconst defaultTitle: Record<AdmonitionTypes, string> = {\n danger: 'Danger',\n warn: 'Warning',\n info: 'Info',\n tip: 'Tip',\n note: 'Note',\n};\n\nconst defaultIcons: Record<AdmonitionTypes, (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element> = {\n danger: DangerIcon,\n warn: WarnIcon,\n info: InfoIcon,\n tip: TipIcon,\n note: NoteIcon,\n};\n\n/**\n * @note the tailwindcss classes are generated because they're in `views`\n */\nexport const AdmonitionStyles: Record<\n AdmonitionTypes,\n {\n highlight: {\n light: string;\n dark: string;\n };\n text: {\n light: string;\n dark: string;\n };\n background: {\n light: string;\n dark: string;\n };\n codeBackground: {\n light: string;\n dark: string;\n };\n codeBorder: {\n light: string;\n dark: string;\n };\n decoration: {\n light: string;\n dark: string;\n };\n }\n> = {\n danger: {\n highlight: {\n light: '#E13339',\n dark: '#E13339',\n },\n text: {\n light: '#4B1012',\n dark: '#FEEAEC',\n },\n background: {\n light: '#FEEAEC',\n dark: '#4B1012',\n },\n codeBackground: {\n light: '#FFD1D2',\n dark: '#651619',\n },\n codeBorder: {\n light: '#E5BABD',\n dark: '#5A1417',\n },\n decoration: {\n light: '#E13339',\n dark: '#E13339',\n },\n },\n info: {\n highlight: {\n light: '#4CB2D5',\n dark: '#4CB2D5',\n },\n text: {\n light: '#193C47',\n dark: '#EFF9FC',\n },\n background: {\n light: '#EFF9FC',\n dark: '#193C47',\n },\n codeBackground: {\n light: '#D8F3FB',\n dark: '#22505E',\n },\n codeBorder: {\n light: '#C3D8E1',\n dark: '#1E4954',\n },\n decoration: {\n light: '#4CB2D5',\n dark: '#4CB2D5',\n },\n },\n tip: {\n highlight: {\n light: '#009400',\n dark: '#009400',\n },\n text: {\n light: '#003100',\n dark: '#E6F6E6',\n },\n background: {\n light: '#E6F6E6',\n dark: '#003100',\n },\n codeBackground: {\n light: '#C4E9C4',\n dark: '#014300',\n },\n codeBorder: {\n light: '#B0D0B1',\n dark: '#003100',\n },\n decoration: {\n light: '#009400',\n dark: '#009400',\n },\n },\n note: {\n highlight: {\n light: '#D5D4D8',\n dark: '#D5D4D8',\n },\n text: {\n light: '#464648',\n dark: '#FCFDFF',\n },\n background: {\n light: '#FCFDFF',\n dark: '#464648',\n },\n codeBackground: {\n light: '#FBFBFC',\n dark: '#5E5E61',\n },\n codeBorder: {\n light: '#E0E1E3',\n dark: '#555557',\n },\n decoration: {\n light: '#D5D4D8',\n dark: '#D5D4D8',\n },\n },\n warn: {\n highlight: {\n light: '#E6A601',\n dark: '#E6A601',\n },\n text: {\n light: '#4C3900',\n dark: '#FEF8E7',\n },\n background: {\n light: '#FEF8E7',\n dark: '#4C3900',\n },\n codeBackground: {\n light: '#FEEEC4',\n dark: '#694C01',\n },\n codeBorder: {\n light: '#E4D6B0',\n dark: '#5D4400',\n },\n decoration: {\n light: '#E6A601',\n dark: '#E6A601',\n },\n },\n};\n\nexport default Admonition;\n"]}