doccupine 0.0.97 → 0.0.99

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 (123) hide show
  1. package/dist/index.js +0 -0
  2. package/dist/templates/components/MDXComponents.d.ts +1 -1
  3. package/dist/templates/components/MDXComponents.js +3 -1
  4. package/dist/templates/components/layout/Card.d.ts +1 -1
  5. package/dist/templates/components/layout/Card.js +10 -1
  6. package/dist/templates/components/layout/Code.d.ts +1 -1
  7. package/dist/templates/components/layout/Code.js +228 -3
  8. package/dist/templates/components/layout/Footer.d.ts +1 -1
  9. package/dist/templates/components/layout/Footer.js +9 -1
  10. package/dist/templates/components/layout/SiteGate.d.ts +1 -1
  11. package/dist/templates/components/layout/SiteGate.js +8 -1
  12. package/dist/templates/mdx/code.mdx.d.ts +1 -1
  13. package/dist/templates/mdx/code.mdx.js +43 -1
  14. package/dist/templates/package.js +2 -2
  15. package/package.json +1 -1
  16. package/dist/index.test.d.ts +0 -1
  17. package/dist/index.test.js +0 -48
  18. package/dist/metadata.d.ts +0 -11
  19. package/dist/metadata.js +0 -52
  20. package/dist/templates/accordion.mdx.d.ts +0 -1
  21. package/dist/templates/accordion.mdx.js +0 -41
  22. package/dist/templates/api/theme/routes.d.ts +0 -1
  23. package/dist/templates/api/theme/routes.js +0 -28
  24. package/dist/templates/app/api/theme/routes.d.ts +0 -1
  25. package/dist/templates/app/api/theme/routes.js +0 -29
  26. package/dist/templates/app/error.d.ts +0 -1
  27. package/dist/templates/app/error.js +0 -45
  28. package/dist/templates/app/layout.d.ts +0 -34
  29. package/dist/templates/app/layout.js +0 -184
  30. package/dist/templates/callouts.mdx.d.ts +0 -1
  31. package/dist/templates/callouts.mdx.js +0 -57
  32. package/dist/templates/cards.mdx.d.ts +0 -1
  33. package/dist/templates/cards.mdx.js +0 -25
  34. package/dist/templates/click-outside.d.ts +0 -1
  35. package/dist/templates/click-outside.js +0 -28
  36. package/dist/templates/code.d.ts +0 -1
  37. package/dist/templates/code.js +0 -202
  38. package/dist/templates/code.mdx.d.ts +0 -1
  39. package/dist/templates/code.mdx.js +0 -46
  40. package/dist/templates/commands.mdx.d.ts +0 -1
  41. package/dist/templates/commands.mdx.js +0 -48
  42. package/dist/templates/components/ClickOutside.d.ts +0 -1
  43. package/dist/templates/components/ClickOutside.js +0 -29
  44. package/dist/templates/components/layout/ClientThemeProvider.d.ts +0 -1
  45. package/dist/templates/components/layout/ClientThemeProvider.js +0 -85
  46. package/dist/templates/components/layout/CopyButton.d.ts +0 -1
  47. package/dist/templates/components/layout/CopyButton.js +0 -85
  48. package/dist/templates/components/layout/RenderMarkdown.d.ts +0 -1
  49. package/dist/templates/components/layout/RenderMarkdown.js +0 -61
  50. package/dist/templates/components/layout/Stepts.d.ts +0 -1
  51. package/dist/templates/components/layout/Stepts.js +0 -114
  52. package/dist/templates/components/layout/ThemeToggle.d.ts +0 -1
  53. package/dist/templates/components/layout/ThemeToggle.js +0 -107
  54. package/dist/templates/constants.d.ts +0 -5
  55. package/dist/templates/constants.js +0 -5
  56. package/dist/templates/docs-components.d.ts +0 -1
  57. package/dist/templates/docs-components.js +0 -441
  58. package/dist/templates/docs.d.ts +0 -1
  59. package/dist/templates/docs.js +0 -48
  60. package/dist/templates/fields.mdx.d.ts +0 -1
  61. package/dist/templates/fields.mdx.js +0 -42
  62. package/dist/templates/footer.d.ts +0 -1
  63. package/dist/templates/footer.js +0 -9
  64. package/dist/templates/header.d.ts +0 -1
  65. package/dist/templates/header.js +0 -275
  66. package/dist/templates/home.d.ts +0 -1
  67. package/dist/templates/home.js +0 -74
  68. package/dist/templates/home.mdx.d.ts +0 -1
  69. package/dist/templates/home.mdx.js +0 -44
  70. package/dist/templates/homemdx.d.ts +0 -1
  71. package/dist/templates/homemdx.js +0 -59
  72. package/dist/templates/icon.d.ts +0 -1
  73. package/dist/templates/icon.js +0 -20
  74. package/dist/templates/icons.mdx.d.ts +0 -1
  75. package/dist/templates/icons.mdx.js +0 -44
  76. package/dist/templates/image-embeds.mdx.d.ts +0 -1
  77. package/dist/templates/image-embeds.mdx.js +0 -103
  78. package/dist/templates/layout.d.ts +0 -1
  79. package/dist/templates/layout.js +0 -69
  80. package/dist/templates/list-table.mdx.d.ts +0 -1
  81. package/dist/templates/list-table.mdx.js +0 -85
  82. package/dist/templates/mdx/config.mdx.d.ts +0 -1
  83. package/dist/templates/mdx/config.mdx.js +0 -47
  84. package/dist/templates/mdx/deployment.mdx.d.ts +0 -1
  85. package/dist/templates/mdx/deployment.mdx.js +0 -61
  86. package/dist/templates/mdx/image-embeds.mdx.d.ts +0 -1
  87. package/dist/templates/mdx/image-embeds.mdx.js +0 -95
  88. package/dist/templates/mdx/links.mdx.d.ts +0 -1
  89. package/dist/templates/mdx/links.mdx.js +0 -45
  90. package/dist/templates/mdx/list-and-tables.mdx.d.ts +0 -1
  91. package/dist/templates/mdx/list-and-tables.mdx.js +0 -78
  92. package/dist/templates/mdx/list-table.mdx.d.ts +0 -1
  93. package/dist/templates/mdx/list-table.mdx.js +0 -78
  94. package/dist/templates/mdx/platform/deployments.mdx.d.ts +0 -1
  95. package/dist/templates/mdx/platform/deployments.mdx.js +0 -36
  96. package/dist/templates/mdx/platform/sections-settings.mdx.d.ts +0 -1
  97. package/dist/templates/mdx/platform/sections-settings.mdx.js +0 -46
  98. package/dist/templates/mdx/stepts.mdx.d.ts +0 -1
  99. package/dist/templates/mdx/stepts.mdx.js +0 -60
  100. package/dist/templates/mdx/text.mdx.d.ts +0 -1
  101. package/dist/templates/mdx/text.mdx.js +0 -139
  102. package/dist/templates/middleware.d.ts +0 -1
  103. package/dist/templates/middleware.js +0 -28
  104. package/dist/templates/not-found.d.ts +0 -1
  105. package/dist/templates/not-found.js +0 -22
  106. package/dist/templates/pictograms.d.ts +0 -1
  107. package/dist/templates/pictograms.js +0 -67
  108. package/dist/templates/shared-styles.d.ts +0 -1
  109. package/dist/templates/shared-styles.js +0 -792
  110. package/dist/templates/structures.d.ts +0 -2
  111. package/dist/templates/structures.js +0 -208
  112. package/dist/templates/tabs.mdx.d.ts +0 -1
  113. package/dist/templates/tabs.mdx.js +0 -59
  114. package/dist/templates/text.mdx.d.ts +0 -1
  115. package/dist/templates/text.mdx.js +0 -142
  116. package/dist/templates/theme-toggle.d.ts +0 -1
  117. package/dist/templates/theme-toggle.js +0 -111
  118. package/dist/templates/theme.d.ts +0 -1
  119. package/dist/templates/theme.js +0 -307
  120. package/dist/templates/typography.d.ts +0 -1
  121. package/dist/templates/typography.js +0 -52
  122. package/dist/templates/update.mdx.d.ts +0 -1
  123. package/dist/templates/update.mdx.js +0 -58
@@ -1,792 +0,0 @@
1
- export const sharedStyledTemplate = `
2
- "use client";
3
- import {
4
- mq,
5
- resetButton,
6
- styledH3,
7
- styledSmall,
8
- styledText,
9
- Theme,
10
- } from "cherry-styled-components/src/lib";
11
- import { rgba } from "polished";
12
- import Link from "next/link";
13
- import styled, { css } from "styled-components";
14
- import { StyledH1 } from "@/app/components/layout/Typography";
15
-
16
- export const interactiveStyles = css<{ theme: Theme }>\`
17
- transition: all 0.3s ease;
18
- border: solid 1px transparent;
19
- box-shadow: 0 0 0 0px \${({ theme }) => theme.colors.primary};
20
-
21
- @media (hover: hover) {
22
- &:hover {
23
- border-color: \${({ theme }) => theme.colors.primary};
24
- }
25
- }
26
-
27
- &:focus {
28
- border-color: \${({ theme }) => theme.colors.primary};
29
- box-shadow: 0 0 0 4px \${({ theme }) => theme.colors.primaryLight};
30
- }
31
-
32
- &:active {
33
- box-shadow: 0 0 0 2px \${({ theme }) => theme.colors.primaryLight};
34
- }
35
- \`;
36
-
37
- export const StyledPriceHeader = styled.div<{ theme: Theme }>\`
38
- border-radius: \${({ theme }) => theme.spacing.radius.lg};
39
- border: solid 1px \${({ theme }) => theme.colors.grayLight};
40
- padding: 20px;
41
- display: flex;
42
- gap: 20px;
43
-
44
- & strong {
45
- margin: auto 0;
46
- color: \${({ theme }) => theme.colors.dark};
47
- }
48
- \`;
49
-
50
- export const StyledPrice = styled.span<{
51
- theme: Theme;
52
- $textAlign?: "left" | "center" | "right";
53
- }>\`
54
- color: \${({ theme }) => theme.colors.dark};
55
- display: block;
56
- font-weight: 800;
57
- \${({ theme }) => styledH3(theme)}
58
- \${({ $textAlign }) =>
59
- $textAlign &&
60
- css\`
61
- text-align: \${$textAlign};
62
- \`}
63
- \`;
64
-
65
- export const StyledSmall = styled.small<{
66
- theme: Theme;
67
- $textAlign?: "left" | "center" | "right";
68
- }>\`
69
- \${({ theme }) => styledSmall(theme)};
70
- margin: auto 0;
71
- display: block;
72
- color: \${({ theme }) => theme.colors.grayDark};
73
- \${({ $textAlign }) =>
74
- $textAlign &&
75
- css\`
76
- text-align: \${$textAlign};
77
- \`}
78
- \`;
79
-
80
- export const StyledMinHeight = styled.div\`
81
- min-height: calc(100svh - 100px);
82
-
83
- \${mq("lg")} {
84
- min-height: calc(100svh - 120px);
85
- }
86
- \`;
87
-
88
- export const StyledDataUserAvatar = styled.span<{ theme: Theme }>\`
89
- display: inline-flex;
90
- justify-content: center;
91
- min-width: 50px;
92
- min-height: 50px;
93
- border-radius: 50%;
94
- border: solid 2px \${({ theme }) => theme.colors.grayLight};
95
- background: \${({ theme }) => theme.colors.light};
96
- position: relative;
97
- overflow: hidden;
98
- color: \${({ theme }) => theme.colors.primary};
99
-
100
- & img {
101
- position: absolute;
102
- top: 50%;
103
- left: 50%;
104
- transform: translate(-50%, -50%);
105
- width: 100%;
106
- height: 100%;
107
- object-fit: cover;
108
- pointer-events: none;
109
- }
110
-
111
- & svg {
112
- pointer-events: none;
113
- margin: auto;
114
- transition: none;
115
- }
116
- \`;
117
-
118
- export const StyledDataArrowButton = styled.button<{
119
- theme: Theme;
120
- $isActive: boolean;
121
- }>\`
122
- \${resetButton};
123
- display: flex;
124
- gap: 5px;
125
- min-width: fit-content;
126
-
127
- & .avatar,
128
- & .clickable {
129
- box-shadow: 0 0 0 0px \${({ theme }) => theme.colors.primary};
130
- transition: all 0.3s ease;
131
- }
132
-
133
- & svg {
134
- color: \${({ theme }) => theme.colors.primary};
135
- }
136
-
137
- @media (hover: hover) {
138
- &:hover {
139
- & .lucide-chevron-down {
140
- & path {
141
- stroke: \${({ theme }) => theme.colors.primaryDark};
142
- }
143
- }
144
-
145
- & .avatar,
146
- & .clickable {
147
- border-color: \${({ theme }) => theme.colors.primary};
148
- }
149
- }
150
- }
151
-
152
- &:focus {
153
- & .avatar,
154
- & .clickable {
155
- border-color: \${({ theme }) => theme.colors.primary};
156
- box-shadow: 0 0 0 4px \${({ theme }) => theme.colors.primaryLight};
157
- }
158
- }
159
-
160
- &:active {
161
- & .avatar,
162
- & .clickable {
163
- box-shadow: 0 0 0 2px \${({ theme }) => theme.colors.primaryLight};
164
- }
165
- }
166
-
167
- & svg {
168
- margin: auto 0;
169
- }
170
-
171
- \${({ $isActive }) =>
172
- $isActive &&
173
- css\`
174
- & .lucide-chevron-down {
175
- transform: rotate(180deg);
176
- }
177
- \`}
178
- \`;
179
-
180
- export const StyledDataSpan = styled.span<{ theme: Theme }>\`
181
- display: block;
182
- font-weight: 500;
183
- \${({ theme }) => styledText(theme)};
184
- color: \${({ theme }) => theme.colors.primary};
185
- font-family: \${({ theme }) => theme.fonts.text};
186
- \`;
187
-
188
- export const StyledDataDropdownHoverWrapper = styled.span<{
189
- theme: Theme;
190
- $align?: "center";
191
- }>\`
192
- position: relative;
193
- display: block;
194
- padding: 10px 0;
195
- margin: -10px 0;
196
-
197
- &:hover {
198
- & ul {
199
- pointer-events: all;
200
- opacity: 1;
201
- transform: \${({ $align }) =>
202
- $align === "center"
203
- ? "translateX(-50%) translateY(0)"
204
- : "translateY(0)"};
205
- }
206
-
207
- & .lucide-chevron-down {
208
- transform: rotate(180deg);
209
- }
210
- }
211
-
212
- &:active {
213
- & ul {
214
- opacity: 0;
215
- }
216
- }
217
- \`;
218
-
219
- export const StyledDataDropdownWrapper = styled.span<{
220
- theme: Theme;
221
- $isAbsolute?: boolean;
222
- $marginAuto?: boolean;
223
- }>\`
224
- position: relative;
225
- display: flex;
226
- padding: 10px 0;
227
- margin: -10px 0;
228
-
229
- & span {
230
- display: flex;
231
- margin: auto 0;
232
- }
233
-
234
- \${({ $isAbsolute }) =>
235
- $isAbsolute &&
236
- css\`
237
- margin: 0;
238
- padding: 0;
239
- \`}
240
-
241
- \${({ $marginAuto }) => $marginAuto && \`margin: auto 0;\`}
242
- \`;
243
-
244
- export const StyledDataDropdown = styled.ul<{
245
- theme: Theme;
246
- $isActive?: boolean;
247
- $align?: "left" | "center";
248
- $isTop?: boolean;
249
- $isAbsolute?: boolean;
250
- $minWidth?: string;
251
- }>\`
252
- position: absolute;
253
- display: block;
254
- top: 100%;
255
- right: 0;
256
- list-style: none;
257
- transition: all 0.3s ease;
258
- min-width: \${({ $minWidth }) => ($minWidth ? $minWidth : "200px")};
259
- text-align: left;
260
- box-shadow: \${({ theme }) => theme.shadows.sm};
261
- background: \${({ theme }) => theme.colors.light};
262
- border-radius: \${({ theme }) => theme.spacing.radius.lg};
263
- overflow: hidden;
264
- border: solid 1px \${({ theme }) => theme.colors.grayLight};
265
- transition: all 0.3s ease;
266
- opacity: 0;
267
- pointer-events: none;
268
- transform: translateY(-10px);
269
- z-index: 999;
270
-
271
- \${({ $isAbsolute }) =>
272
- $isAbsolute &&
273
- css\`
274
- top: calc(100% + 56px);
275
- right: 20px;
276
- \`}
277
-
278
- \${({ $isTop }) => $isTop && \`top: initial; bottom: 100%;\`}
279
-
280
- \${({ $align }) => $align === "left" && \`right: initial; left: 0;\`}
281
- \${({ $align }) =>
282
- $align === "center" &&
283
- \`right: initial; left: 50%; transform: translateX(-50%) translateY(-10px);\`}
284
-
285
- \${({ $isActive, $align }) =>
286
- $isActive &&
287
- css\`
288
- pointer-events: all;
289
- opacity: 1;
290
- transform: translateY(0);
291
-
292
- \${$align === "center" &&
293
- \`right: initial; left: 50%; transform: translateX(-50%) translateY(0);\`}
294
- \`}
295
- \`;
296
-
297
- export const StyledDataDropdownItem = styled.li<{ theme: Theme }>\`
298
- display: flex;
299
- width: 100%;
300
- text-align: left;
301
- border-bottom: solid 1px \${({ theme }) => theme.colors.grayLight};
302
-
303
- &:last-of-type,
304
- &:only-of-type {
305
- border-bottom: none;
306
- }
307
-
308
- & form {
309
- width: 100%;
310
- margin: 0;
311
- padding: 0;
312
- }
313
-
314
- & a,
315
- & button,
316
- & .logout-button {
317
- \${resetButton};
318
- width: 100%;
319
- text-align: left;
320
- padding: 12px 20px;
321
- font-weight: 600;
322
- font-family: inherit;
323
- color: \${({ theme }) => theme.colors.primary};
324
- font-size: \${({ theme }) => theme.fontSizes.text.lg};
325
- text-decoration: none;
326
- transition: all 0.3s ease;
327
- border-radius: 0;
328
- background: transparent;
329
- display: flex;
330
- gap: 10px;
331
- height: auto;
332
- min-height: 45px;
333
-
334
- @media (hover: hover) {
335
- &:hover {
336
- background-color: \${({ theme }) =>
337
- rgba(
338
- theme.isDark ? theme.colors.primaryDark : theme.colors.primaryLight,
339
- 0.1,
340
- )};
341
- color: \${({ theme }) =>
342
- theme.isDark ? theme.colors.primaryLight : theme.colors.primaryDark};
343
- }
344
- }
345
-
346
- &:active,
347
- &:focus {
348
- box-shadow: none;
349
- }
350
-
351
- * {
352
- margin: auto 0;
353
- }
354
-
355
- &:focus {
356
- background-color: \${({ theme }) =>
357
- rgba(
358
- theme.isDark ? theme.colors.primaryDark : theme.colors.primaryLight,
359
- 0.15,
360
- )};
361
- }
362
-
363
- &:active {
364
- background-color: \${({ theme }) =>
365
- rgba(
366
- theme.isDark ? theme.colors.primaryDark : theme.colors.primaryLight,
367
- 0.2,
368
- )};
369
- }
370
- }
371
-
372
- & button {
373
- border: none;
374
-
375
- & svg {
376
- margin: -2px -5px;
377
- }
378
- }
379
- \`;
380
-
381
- export const StyledDataDropdownButton = styled.button<{ theme: Theme }>\`
382
- \${resetButton};
383
- \`;
384
-
385
- export const StyledDataDropdownSelectWrapper = styled.span<{ theme: Theme }>\`
386
- padding: 5px;
387
- display: block;
388
- width: 100%;
389
-
390
- & select {
391
- width: 100%;
392
- }
393
- \`;
394
-
395
- export const StyledDataTagButton = styled.button<{ theme: Theme }>\`
396
- \${resetButton};
397
- position: absolute;
398
- top: 0;
399
- width: 24px;
400
- height: 100%;
401
- right: 0;
402
- border-left: solid 1px
403
- \${({ theme }) =>
404
- rgba(theme.isDark ? theme.colors.dark : theme.colors.light, 0.2)};
405
- transition: all 0.3s ease;
406
-
407
- @media (hover: hover) {
408
- &:hover {
409
- background: \${({ theme }) =>
410
- rgba(theme.isDark ? theme.colors.dark : theme.colors.light, 0.2)};
411
- }
412
- }
413
-
414
- & svg {
415
- width: 16px;
416
- height: 100%;
417
- vertical-align: middle;
418
-
419
- & path {
420
- stroke: \${({ theme }) =>
421
- theme.isDark ? theme.colors.dark : theme.colors.light};
422
- }
423
- }
424
- \`;
425
-
426
- export const StyledDataTag = styled.span<{
427
- theme: Theme;
428
- $color?: "default" | "warning";
429
- $capitalize?: boolean;
430
- }>\`
431
- display: inline-block;
432
- border-radius: \${({ theme }) => theme.spacing.radius.xs};
433
- background: \${({ theme, $color }) =>
434
- $color === "warning" ? theme.colors.warning : theme.colors.primary};
435
- color: \${({ theme }) =>
436
- theme.isDark ? theme.colors.dark : theme.colors.light};
437
- font-size: \${({ theme }) => theme.fontSizes.small.xs};
438
- position: relative;
439
- font-weight: 500;
440
- padding: 5px 10px;
441
- margin: auto 0;
442
- overflow: hidden;
443
- \${({ $capitalize }) =>
444
- $capitalize &&
445
- css\`
446
- text-transform: capitalize;
447
- \`}
448
-
449
- &:has(button) {
450
- padding: 5px 35px 5px 10px;
451
- }
452
- \`;
453
-
454
- export const StyledIllustration = styled.div<{ theme: Theme }>\`
455
- text-align: center;
456
-
457
- & svg {
458
- height: auto;
459
- width: 250px;
460
- margin: auto;
461
- }
462
- \`;
463
-
464
- export const StyledIllustrationText = styled.p<{ theme: Theme }>\`
465
- color: \${({ theme }) => theme.colors.dark};
466
- \${({ theme }) => styledSmall(theme)};
467
- \`;
468
-
469
- export const StyledDataText = styled.div<{ theme: Theme; $gray?: boolean }>\`
470
- \${({ theme }) => styledText(theme)};
471
- color: \${({ theme, $gray }) =>
472
- $gray ? theme.colors.grayDark : theme.colors.dark};
473
- \`;
474
-
475
- export const StyledDataHeader = styled.h1<{ theme: Theme }>\`
476
- \${({ theme }) => styledH3(theme)};
477
- font-weight: 900;
478
- color: \${({ theme }) => theme.colors.dark};
479
- \`;
480
-
481
- export const StyledMobileOnly = styled.em<{ theme: Theme }>\`
482
- font-style: normal;
483
- display: inline;
484
-
485
- \${mq("lg")} {
486
- display: none;
487
- }
488
- \`;
489
-
490
- export const StyledDesktopOnly = styled.em<{ theme: Theme }>\`
491
- font-style: normal;
492
- display: none;
493
-
494
- \${mq("lg")} {
495
- display: inline;
496
- }
497
- \`;
498
-
499
- export const StyledTinyMobileOnly = styled.em<{ theme: Theme }>\`
500
- font-style: normal;
501
- display: flex;
502
-
503
- @media screen and (min-width: 426px) {
504
- display: none;
505
- }
506
- \`;
507
-
508
- export const StyledTinyDesktopOnly = styled.em<{ theme: Theme }>\`
509
- font-style: normal;
510
- display: none;
511
-
512
- @media screen and (min-width: 426px) {
513
- display: flex;
514
- }
515
- \`;
516
-
517
- export const StyledAlignMiddle = styled.div<{ theme: Theme }>\`
518
- margin: auto 0;
519
- \`;
520
-
521
- export const StyledLoadingOverlay = styled.div<{
522
- theme: Theme;
523
- $isActive?: boolean;
524
- }>\`
525
- border-radius: \${({ theme }) => theme.spacing.radius.lg};
526
- position: absolute;
527
- top: 0;
528
- left: 0;
529
- width: 100%;
530
- height: 100%;
531
- background-color: \${({ theme }) => theme.colors.light};
532
- z-index: 1000;
533
- display: flex;
534
- transition: all 0.3s ease;
535
- opacity: 0;
536
- pointer-events: none;
537
-
538
- \${({ $isActive }) =>
539
- $isActive &&
540
- css\`
541
- opacity: 1;
542
- pointer-events: all;
543
- \`}
544
-
545
- & > * {
546
- margin: auto;
547
- }
548
- \`;
549
-
550
- export const StyledFlex1 = styled.div\`
551
- flex: 1;
552
- \`;
553
-
554
- export const StyledIconCircle = styled.span<{ theme: Theme }>\`
555
- border-radius: 50%;
556
- width: 40px;
557
- height: 40px;
558
- min-width: 40px;
559
- min-height: 40px;
560
- border: solid 1px \${({ theme }) => theme.colors.grayLight};
561
- display: inline-flex;
562
- color: \${({ theme }) => theme.colors.primary};
563
- vertical-align: middle;
564
-
565
- & svg {
566
- margin: auto;
567
- }
568
- \`;
569
-
570
- export const StyledStrong = styled.span<{ theme: Theme }>\`
571
- display: block;
572
- margin: auto 0;
573
- color: \${({ theme }) => theme.colors.primary};
574
- font-weight: 700;
575
- \`;
576
-
577
- export const StyledTextMiddle = styled.span<{ theme: Theme }>\`
578
- display: block;
579
- margin: auto 0;
580
- color: \${({ theme }) => theme.colors.dark};
581
- text-align: left;
582
- \`;
583
-
584
- export const StyledPanelWrapper = styled.div<{ theme: Theme }>\`
585
- position: relative;
586
- z-index: 100;
587
-
588
- & input {
589
- position: relative;
590
- z-index: 10;
591
- }
592
- \`;
593
-
594
- export const StyledPanel = styled.div<{ theme: Theme; $absolute?: boolean }>\`
595
- background: \${({ theme }) => theme.colors.light};
596
- border: solid 2px \${({ theme }) => theme.colors.grayLight};
597
- border-radius: \${({ theme }) => theme.spacing.radius.xs};
598
- margin: \${({ $absolute }) => ($absolute ? "-10px 0 0 0" : "0")};
599
- \${({ $absolute }) =>
600
- $absolute &&
601
- css\`
602
- position: absolute;
603
- width: 100%;
604
- border-top-left-radius: 0;
605
- border-top-right-radius: 0;
606
- \`}
607
- max-height: calc(63px * 3);
608
- overflow-y: auto;
609
- \`;
610
-
611
- export const StyledPanelLabel = styled.div<{ theme: Theme; $moveUp?: boolean }>\`
612
- font-size: \${({ theme }) => theme.fontSizes.small.xs};
613
- border-bottom: solid 1px \${({ theme }) => theme.colors.grayLight};
614
- color: \${({ theme }) => theme.colors.gray};
615
- padding: \${({ $moveUp }) => ($moveUp ? "20px 15px 10px" : "20px 15px")};
616
- \`;
617
-
618
- export const StyledPanelContent = styled.div<{ theme: Theme }>\`
619
- display: flex;
620
- padding: 15px;
621
- gap: 10px;
622
- border-bottom: solid 1px \${({ theme }) => theme.colors.grayLight};
623
- width: 100%;
624
- text-align: left;
625
- font-family: \${({ theme }) => theme.fonts.text};
626
- font-size: \${({ theme }) => theme.fontSizes.text.xs};
627
- line-height: \${({ theme }) => theme.lineHeights.text.xs};
628
- font-weight: 500;
629
- color: \${({ theme }) => theme.colors.primary};
630
- transition: all 0.3s ease;
631
-
632
- \${mq("lg")} {
633
- font-size: \${({ theme }) => theme.fontSizes.text.lg};
634
- line-height: \${({ theme }) => theme.lineHeights.text.lg};
635
- }
636
-
637
- &:last-of-type {
638
- border-bottom: none;
639
- }
640
- \`;
641
-
642
- export const StyledPanelButton = styled(Link)<{ theme: Theme }>\`
643
- \${resetButton};
644
- display: flex;
645
- padding: 15px;
646
- gap: 10px;
647
- border-bottom: solid 1px \${({ theme }) => theme.colors.grayLight};
648
- width: 100%;
649
- text-align: left;
650
- font-family: \${({ theme }) => theme.fonts.text};
651
- font-size: \${({ theme }) => theme.fontSizes.text.xs};
652
- line-height: \${({ theme }) => theme.lineHeights.text.xs};
653
- font-weight: 500;
654
- color: \${({ theme }) => theme.colors.primary};
655
- text-decoration: none;
656
- transition: all 0.3s ease;
657
-
658
- @media (hover: hover) {
659
- &:hover {
660
- background-color: \${({ theme }) => rgba(theme.colors.primaryLight, 0.1)};
661
-
662
- & .link {
663
- border-color: \${({ theme }) => theme.colors.primaryDark};
664
- }
665
- }
666
- }
667
-
668
- &:focus {
669
- background-color: \${({ theme }) => rgba(theme.colors.primaryLight, 0.15)};
670
-
671
- & .link {
672
- box-shadow: 0 0 0 4px \${({ theme }) => theme.colors.primaryLight};
673
- border-color: \${({ theme }) => theme.colors.primary};
674
- }
675
- }
676
-
677
- &:active {
678
- background-color: \${({ theme }) => rgba(theme.colors.primaryLight, 0.2)};
679
-
680
- & .link {
681
- box-shadow: 0 0 0 2px \${({ theme }) => theme.colors.primaryLight};
682
- }
683
- }
684
-
685
- \${mq("lg")} {
686
- font-size: \${({ theme }) => theme.fontSizes.text.lg};
687
- line-height: \${({ theme }) => theme.lineHeights.text.lg};
688
- }
689
-
690
- &:last-of-type {
691
- border-bottom: none;
692
- }
693
-
694
- & .link {
695
- transition: all 0.3s ease;
696
- pointer-events: none;
697
- }
698
- \`;
699
-
700
- export const StyledPanelSpan = styled.span<{ theme: Theme }>\`
701
- margin: auto 0;
702
- display: flex;
703
- flex: 1;
704
- line-height: 1.5;
705
- \`;
706
-
707
- export const editableContent = css<{ theme: Theme }>\`
708
- border: dotted 1px transparent;
709
- border-radius: \${({ theme }) => theme.spacing.radius.xs};
710
- transition: all 0.3s ease;
711
- outline: none;
712
- cursor: text;
713
-
714
- &:hover {
715
- border: dotted 1px \${({ theme }) => theme.colors.gray};
716
- }
717
-
718
- &:focus {
719
- border: dotted 1px \${({ theme }) => theme.colors.info};
720
- }
721
- \`;
722
-
723
- export const StyledDataEditableText = styled.div<{
724
- theme: Theme;
725
- $gray?: boolean;
726
- }>\`
727
- \${({ theme }) => styledText(theme)};
728
- color: \${({ theme, $gray }) =>
729
- $gray ? theme.colors.grayDark : theme.colors.dark};
730
-
731
- &[contenteditable="true"] {
732
- \${editableContent};
733
- }
734
- \`;
735
-
736
- export const StyledSmallButtonWrapper = styled.div<{ theme: Theme }>\`
737
- position: relative;
738
-
739
- & .hidden-button {
740
- opacity: 0;
741
- pointer-events: none;
742
- transform: translateY(10px);
743
- }
744
-
745
- @media (hover: hover) {
746
- &:hover {
747
- & .hidden-button {
748
- opacity: 1;
749
- pointer-events: all;
750
- transform: translateY(0);
751
- }
752
- }
753
- }
754
- \`;
755
-
756
- export const StyledSmallButton = styled.button<{
757
- theme: Theme;
758
- }>\`
759
- \${resetButton};
760
- display: flex;
761
- gap: 5px;
762
- border-radius: \${({ theme }) => theme.spacing.radius.xs};
763
- color: \${({ theme }) => theme.colors.primary};
764
- background: \${({ theme }) => theme.colors.light};
765
- margin: auto 0;
766
- min-width: fit-content;
767
- \${interactiveStyles}
768
-
769
- &.hidden-button {
770
- position: absolute;
771
- bottom: 1px;
772
- right: 1px;
773
- z-index: 98;
774
- }
775
- \`;
776
-
777
- export const StyledTitle = styled(StyledH1)<{ theme: Theme }>\`
778
- display: block;
779
-
780
- &[contenteditable="true"] {
781
- \${editableContent};
782
- }
783
- \`;
784
-
785
- export const StyledImage = styled.img<{ theme: Theme; $maxWidth?: string }>\`
786
- border-radius: \${({ theme }) => theme.spacing.radius.lg};
787
- max-width: \${({ $maxWidth }) => ($maxWidth ? $maxWidth : "100%")};
788
- width: 100%;
789
- height: auto;
790
- border: 1px solid \${({ theme }) => theme.colors.grayLight};
791
- \`;
792
- `;