@plexui/styles 0.0.0-stage → 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.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -2
  3. package/dist/es/components/Accordion/Accordion.module.css +89 -0
  4. package/dist/es/components/Alert/Alert.module.css +210 -0
  5. package/dist/es/components/Avatar/Avatar.module.css +168 -0
  6. package/dist/es/components/Avatar/AvatarGroup.module.css +26 -0
  7. package/dist/es/components/Badge/Badge.module.css +196 -0
  8. package/dist/es/components/Breadcrumb/Breadcrumb.module.css +59 -0
  9. package/dist/es/components/Button/Button.module.css +863 -0
  10. package/dist/es/components/ButtonGroup/ButtonGroup.module.css +158 -0
  11. package/dist/es/components/Card/Card.module.css +125 -0
  12. package/dist/es/components/Checkbox/Checkbox.module.css +225 -0
  13. package/dist/es/components/CodeBlock/CodeBlock.module.css +139 -0
  14. package/dist/es/components/DataTable/DataTable.module.css +117 -0
  15. package/dist/es/components/DatePicker/Calendar.module.css +271 -0
  16. package/dist/es/components/DateRangePicker/Calendar.module.css +295 -0
  17. package/dist/es/components/DateRangePicker/Trigger.module.css +25 -0
  18. package/dist/es/components/Dialog/Dialog.module.css +240 -0
  19. package/dist/es/components/EmptyMessage/EmptyMessage.module.css +116 -0
  20. package/dist/es/components/Field/Field.module.css +152 -0
  21. package/dist/es/components/FieldError/FieldError.module.css +28 -0
  22. package/dist/es/components/FileUpload/FileUpload.module.css +133 -0
  23. package/dist/es/components/FloatingLabelInput/FloatingLabelInput.module.css +220 -0
  24. package/dist/es/components/FloatingLabelSelect/FloatingLabelSelect.module.css +152 -0
  25. package/dist/es/components/Image/Image.module.css +9 -0
  26. package/dist/es/components/Indicator/CircularProgress.module.css +28 -0
  27. package/dist/es/components/Indicator/LoadingDots.module.css +35 -0
  28. package/dist/es/components/Indicator/LoadingIndicator.module.css +41 -0
  29. package/dist/es/components/Input/Input.module.css +519 -0
  30. package/dist/es/components/InputGroup/InputGroup.module.css +309 -0
  31. package/dist/es/components/Kbd/Kbd.module.css +47 -0
  32. package/dist/es/components/Label/Label.module.css +16 -0
  33. package/dist/es/components/Markdown/Markdown.module.css +233 -0
  34. package/dist/es/components/MarkdownEditor/MarkdownEditor.module.css +297 -0
  35. package/dist/es/components/Menu/Menu.module.css +386 -0
  36. package/dist/es/components/OTPInput/OTPInput.module.css +70 -0
  37. package/dist/es/components/Popover/Popover.module.css +82 -0
  38. package/dist/es/components/Progress/Progress.module.css +34 -0
  39. package/dist/es/components/ProgressSteps/ProgressSteps.module.css +246 -0
  40. package/dist/es/components/RadioGroup/RadioGroup.module.css +159 -0
  41. package/dist/es/components/Select/Select.module.css +338 -0
  42. package/dist/es/components/SelectControl/SelectControl.module.css +558 -0
  43. package/dist/es/components/Separator/Separator.module.css +16 -0
  44. package/dist/es/components/ShimmerText/ShimmerText.module.css +43 -0
  45. package/dist/es/components/Sidebar/Sidebar.module.css +913 -0
  46. package/dist/es/components/Skeleton/Skeleton.module.css +17 -0
  47. package/dist/es/components/Slider/Slider.module.css +199 -0
  48. package/dist/es/components/StatCard/StatCard.module.css +234 -0
  49. package/dist/es/components/Switch/Switch.module.css +121 -0
  50. package/dist/es/components/Table/Table.module.css +56 -0
  51. package/dist/es/components/Tabs/Tabs.module.css +688 -0
  52. package/dist/es/components/TagInput/TagInput.module.css +320 -0
  53. package/dist/es/components/TextLink/TextLink.module.css +50 -0
  54. package/dist/es/components/Textarea/Textarea.module.css +272 -0
  55. package/dist/es/components/Toast/Toast.module.css +99 -0
  56. package/dist/es/components/Tooltip/Tooltip.module.css +91 -0
  57. package/dist/es/components/Transition/Animate.module.css +54 -0
  58. package/dist/es/components/Transition/AnimateLayout.module.css +101 -0
  59. package/dist/es/components/Transition/AnimateLayoutGroup.module.css +88 -0
  60. package/dist/es/components/Transition/TransitionGroup.module.css +4 -0
  61. package/dist/es/styles/base.css +102 -0
  62. package/dist/es/styles/globals.css +50 -0
  63. package/dist/es/styles/index.css +22 -0
  64. package/dist/es/styles/katex.min.css +1296 -0
  65. package/dist/es/styles/tailwind-utilities.css +1316 -0
  66. package/dist/es/styles/variables-components.css +626 -0
  67. package/dist/es/styles/variables-primitive.css +327 -0
  68. package/dist/es/styles/variables-semantic.css +629 -0
  69. package/dist/es/styles/variables-tailwind-theme.css +34 -0
  70. package/dist/es/styles/variables-tokens-root.css +40 -0
  71. package/dist/es/types.js +4 -0
  72. package/dist/es/types.js.map +1 -0
  73. package/dist/es/vite/index.js +54 -0
  74. package/dist/es/vite/index.js.map +1 -0
  75. package/dist/types/types.d.ts +15 -0
  76. package/dist/types/vite/index.d.ts +55 -0
  77. package/package.json +109 -4
  78. package/postcss/functions.mjs +23 -0
  79. package/postcss/injectBreakpoints.mjs +47 -0
  80. package/postcss/mixins.mjs +100 -0
  81. package/postcss/parseLightDark.mjs +174 -0
  82. package/postcss/wrapModulesInLayer.mjs +21 -0
  83. package/postcss.config.mjs +52 -0
@@ -0,0 +1,309 @@
1
+ @layer components {/* InputGroup: an input or textarea joined with addons (icons, text, buttons,
2
+ menus) inside one control frame. The frame, sizes and states follow Input;
3
+ addons sit inline (start / end) or as a header / footer row
4
+ (block-start / block-end). */.InputGroup {
5
+ --input-group-gutter-x: var(--input-group-gutter);
6
+ /* Inline addon buttons leave spacing(1) = 4px above and below, like Input.AdornmentButton */
7
+ --input-group-button-size: calc(var(--input-group-size) - calc(var(--spacing) * 2));
8
+ --input-group-line-height: 20px;
9
+
10
+ position: relative;
11
+ display: flex;
12
+ align-items: center;
13
+ width: 100%;
14
+ min-width: 0;
15
+ border-radius: var(--input-group-radius);
16
+ color: var(--input-text-color);
17
+ cursor: text;
18
+ /* NOTE: Whenever this is not 16px on mobile, zooming occurs. */
19
+ font-size: var(--input-group-font-size);
20
+ font-weight: var(--font-weight-normal);
21
+ line-height: 1;
22
+ transition-duration: var(--transition-duration-basic);
23
+ transition-property: color, box-shadow, background-color;
24
+ transition-timing-function: var(--transition-ease-basic);
25
+ }
26
+
27
+ /* =============================================
28
+ Outline variant
29
+ ============================================= */
30
+ .InputGroup:where([data-variant="outline"]) {
31
+ box-shadow: 0 0 0 1px var(--input-outline-border-color) inset;
32
+ }
33
+
34
+ .InputGroup:where([data-variant="outline"]):not([data-disabled]) {
35
+
36
+ /* Also while focused: the focus rule above is more specific than [data-invalid] */
37
+ }
38
+ @media (hover: hover) and (pointer: fine) {.InputGroup:where([data-variant="outline"]):not([data-disabled]):hover {
39
+ box-shadow: 0 0 0 1px var(--input-outline-border-color-hover) inset;
40
+ }
41
+ }
42
+
43
+ .InputGroup:where([data-variant="outline"]):not([data-disabled]):has([data-slot="input-group-control"]:focus) {
44
+ box-shadow: 0 0 0 1px var(--input-outline-border-color-focus) inset;
45
+ }
46
+ .InputGroup:where([data-variant="outline"]):not([data-disabled])[data-invalid],
47
+ .InputGroup:where([data-variant="outline"]):not([data-disabled])[data-invalid]:has([data-slot="input-group-control"]:focus) {
48
+ box-shadow: 0 0 0 1px var(--input-border-color-invalid) inset;
49
+ }
50
+
51
+ /* =============================================
52
+ Soft variant
53
+ ============================================= */
54
+ .InputGroup:where([data-variant="soft"]) {
55
+ background-color: var(--input-soft-background-color);
56
+ }
57
+ .InputGroup:where([data-variant="soft"]):not([data-disabled]):has([data-slot="input-group-control"]:focus) {
58
+ box-shadow: 0 0 0 1px var(--input-soft-border-color-focus) inset;
59
+ }
60
+
61
+ .InputGroup:where([data-variant="soft"]):not([data-disabled])[data-invalid],
62
+ .InputGroup:where([data-variant="soft"]):not([data-disabled])[data-invalid]:has([data-slot="input-group-control"]:focus) {
63
+ box-shadow: 0 0 0 1px var(--input-border-color-invalid) inset;
64
+ }
65
+ .InputGroup[data-invalid] ::-moz-selection {
66
+ background-color: var(--red-a50);
67
+ }
68
+ .InputGroup[data-invalid] ::selection {
69
+ background-color: var(--red-a50);
70
+ }
71
+
72
+ /* =============================================
73
+ Sizes (same scale as Input)
74
+ ============================================= */
75
+ .InputGroup:where([data-size="3xs"]) {
76
+ --input-group-size: var(--control-size-3xs);
77
+ --input-group-font-size: var(--control-font-size-sm);
78
+ --input-group-radius: var(--control-radius-sm);
79
+ --input-group-gutter: var(--control-gutter-2xs);
80
+ --input-group-gap: var(--input-gap-xs);
81
+ --input-group-icon-size: var(--control-icon-size-xs);
82
+ }
83
+
84
+ .InputGroup:where([data-size="2xs"]) {
85
+ --input-group-size: var(--control-size-2xs);
86
+ --input-group-font-size: var(--control-font-size-sm);
87
+ --input-group-radius: var(--control-radius-sm);
88
+ --input-group-gutter: var(--control-gutter-xs);
89
+ --input-group-gap: var(--input-gap-xs);
90
+ --input-group-icon-size: var(--control-icon-size-sm);
91
+ }
92
+
93
+ .InputGroup:where([data-size="xs"]) {
94
+ --input-group-size: var(--control-size-xs);
95
+ --input-group-font-size: var(--control-font-size-md);
96
+ --input-group-radius: var(--control-radius-sm);
97
+ --input-group-gutter: var(--control-gutter-xs);
98
+ --input-group-gap: var(--input-gap-sm);
99
+ --input-group-icon-size: var(--control-icon-size-sm);
100
+ }
101
+
102
+ .InputGroup:where([data-size="sm"]) {
103
+ --input-group-size: var(--control-size-sm);
104
+ --input-group-font-size: var(--control-font-size-md);
105
+ --input-group-radius: var(--control-radius-sm);
106
+ --input-group-gutter: var(--control-gutter-sm);
107
+ --input-group-gap: var(--input-gap-md);
108
+ --input-group-icon-size: var(--control-icon-size-md);
109
+ }
110
+
111
+ .InputGroup:where([data-size="md"]) {
112
+ --input-group-size: var(--control-size-md);
113
+ --input-group-font-size: var(--control-font-size-md);
114
+ --input-group-radius: var(--control-radius-md);
115
+ --input-group-gutter: var(--control-gutter-md);
116
+ --input-group-gap: var(--input-gap-md);
117
+ --input-group-icon-size: var(--control-icon-size-md);
118
+ }
119
+
120
+ .InputGroup:where([data-size="lg"]) {
121
+ --input-group-size: var(--control-size-lg);
122
+ --input-group-font-size: var(--control-font-size-md);
123
+ --input-group-radius: var(--control-radius-lg);
124
+ --input-group-gutter: var(--control-gutter-md);
125
+ --input-group-gap: var(--input-gap-md);
126
+ --input-group-icon-size: var(--control-icon-size-md);
127
+ }
128
+
129
+ .InputGroup:where([data-size="xl"]) {
130
+ --input-group-size: var(--control-size-xl);
131
+ --input-group-font-size: var(--control-font-size-lg);
132
+ --input-group-radius: var(--control-radius-xl);
133
+ --input-group-gutter: var(--control-gutter-lg);
134
+ --input-group-gap: var(--input-gap-lg);
135
+ --input-group-icon-size: var(--control-icon-size-md);
136
+ }
137
+
138
+ .InputGroup:where([data-size="2xl"]) {
139
+ --input-group-size: var(--control-size-2xl);
140
+ --input-group-font-size: var(--control-font-size-lg);
141
+ --input-group-radius: var(--control-radius-xl);
142
+ --input-group-gutter: var(--control-gutter-lg);
143
+ --input-group-gap: var(--input-gap-lg);
144
+ --input-group-icon-size: var(--control-icon-size-lg);
145
+ }
146
+
147
+ .InputGroup:where([data-size="3xl"]) {
148
+ --input-group-size: var(--control-size-3xl);
149
+ --input-group-font-size: var(--control-font-size-lg);
150
+ --input-group-radius: var(--control-radius-xl);
151
+ --input-group-gutter: var(--control-gutter-xl);
152
+ --input-group-gap: var(--input-gap-lg);
153
+ --input-group-icon-size: var(--control-icon-size-lg);
154
+ }
155
+
156
+ /* =============================================
157
+ Pill
158
+ ============================================= */
159
+ .InputGroup:where([data-pill]) {
160
+ --input-group-radius: var(--radius-full);
161
+ --input-group-gutter-x: calc(var(--input-group-gutter) * var(--control-gutter-pill-scaling));
162
+ }
163
+
164
+ /* =============================================
165
+ Disabled
166
+ ---------------------------------------------
167
+ Fade the control and the addon content; buttons fade on their own
168
+ through their disabled state.
169
+ ============================================= */
170
+ .InputGroup[data-disabled] {
171
+ cursor: not-allowed;
172
+ }
173
+
174
+ .InputGroup[data-disabled] > .Control,
175
+ .InputGroup[data-disabled] > .Addon > :not(.Button) {
176
+ opacity: 0.5;
177
+ }
178
+
179
+ /* =============================================
180
+ Block addons stack the group into a column
181
+ ============================================= */
182
+ .InputGroup:has(> .Addon[data-align="block-start"], > .Addon[data-align="block-end"]) {
183
+ flex-direction: column;
184
+ align-items: stretch;
185
+ }
186
+
187
+ /* The gap between an inline addon and the control replaces the control's gutter */
188
+ .InputGroup:has(> .Addon[data-align="inline-start"]) > .Control {
189
+ padding-inline-start: var(--input-group-gap);
190
+ }
191
+
192
+ .InputGroup:has(> .Addon[data-align="inline-end"]) > .Control {
193
+ padding-inline-end: var(--input-group-gap);
194
+ }.Control {
195
+ display: block;
196
+ flex: 1 1 auto;
197
+ width: 100%;
198
+ min-width: 0;
199
+ height: var(--input-group-size);
200
+ padding: 0 var(--input-group-gutter-x);
201
+ border: 0;
202
+ border-radius: 0;
203
+ background: none;
204
+ box-shadow: none;
205
+ color: inherit;
206
+ font-size: inherit;
207
+ font-weight: inherit;
208
+ line-height: inherit;
209
+ }
210
+
211
+ .Control:focus {
212
+ outline: 0;
213
+ }
214
+
215
+ .Control:disabled {
216
+ cursor: not-allowed;
217
+ }
218
+
219
+ .Control::-moz-placeholder {
220
+ color: var(--input-placeholder-text-color);
221
+ }
222
+
223
+ .Control::placeholder {
224
+ color: var(--input-placeholder-text-color);
225
+ }
226
+
227
+ /* Hide up/down arrows */
228
+ .Control[type="number"] {
229
+ /* Firefox */
230
+ -webkit-appearance: textfield;
231
+ -moz-appearance: textfield;
232
+ appearance: textfield;
233
+
234
+ /* Chrome, Safari, Edge, Opera */
235
+ }
236
+ .Control[type="number"]::-webkit-outer-spin-button,
237
+ .Control[type="number"]::-webkit-inner-spin-button {
238
+ margin: 0;
239
+ -webkit-appearance: none;
240
+ appearance: none;
241
+ }/* Textarea: rows of --input-group-line-height, centered in the control height like Textarea */textarea.Control {
242
+ height: auto;
243
+ padding-block: calc((var(--input-group-size) - var(--input-group-line-height)) / 2);
244
+ line-height: var(--input-group-line-height);
245
+ resize: none;
246
+ }.Addon {
247
+ display: flex;
248
+ align-items: center;
249
+ justify-content: flex-start;
250
+ flex-shrink: 0;
251
+ gap: var(--input-group-gap);
252
+ color: var(--input-placeholder-text-color);
253
+ -webkit-user-select: none;
254
+ -moz-user-select: none;
255
+ user-select: none;
256
+ }
257
+
258
+ .Addon > svg {
259
+ flex-shrink: 0;
260
+ width: var(--input-group-icon-size);
261
+ height: var(--input-group-icon-size);
262
+ }
263
+
264
+ .Addon[data-align="inline-start"] {
265
+ order: -1;
266
+ padding-inline-start: var(--input-group-gutter-x);
267
+ }
268
+
269
+ .Addon[data-align="inline-end"] {
270
+ order: 1;
271
+ padding-inline-end: var(--input-group-gutter-x);
272
+ }
273
+
274
+ .Addon[data-align="block-start"] {
275
+ order: -1;
276
+ padding: var(--input-group-gap) var(--input-group-gutter-x) 0;
277
+ }
278
+
279
+ .Addon[data-align="block-end"] {
280
+ order: 1;
281
+ padding: 0 var(--input-group-gutter-x) var(--input-group-gap);
282
+ }
283
+
284
+ /* Inline buttons fit the control height and sit spacing(1) = 4px from the edge */
285
+ .Addon[data-align^="inline"] > .Button {
286
+ --button-size: var(--input-group-button-size);
287
+ }
288
+
289
+ .Addon[data-align="inline-start"] > .Button:first-child {
290
+ margin-inline-start: calc(calc(var(--spacing) * 1) - var(--input-group-gutter-x));
291
+ }
292
+
293
+ .Addon[data-align="inline-end"] > .Button:last-child {
294
+ margin-inline-end: calc(calc(var(--spacing) * 1) - var(--input-group-gutter-x));
295
+ }/* InputGroup.Button: a Plex Button sized from the group (see .Addon) */.Button {
296
+ flex-shrink: 0;
297
+ }.Text {
298
+ display: flex;
299
+ align-items: center;
300
+ gap: var(--input-group-gap);
301
+ white-space: nowrap;
302
+ }
303
+
304
+ .Text > svg {
305
+ flex-shrink: 0;
306
+ width: var(--input-group-icon-size);
307
+ height: var(--input-group-icon-size);
308
+ }
309
+ }
@@ -0,0 +1,47 @@
1
+ @layer components {/* A key or a shortcut, such as ⌘K. The fill and the border mix the text color,
2
+ so a Kbd reads on any surface: page text, a dark tooltip, a menu item. */.Kbd {
3
+ --kbd-height: 1.25rem;
4
+ --kbd-font-size: var(--font-text-xs-size);
5
+ --kbd-padding-inline: calc(var(--spacing) * 1);
6
+
7
+ display: inline-flex;
8
+ flex-shrink: 0;
9
+ align-items: center;
10
+ justify-content: center;
11
+ min-width: var(--kbd-height);
12
+ height: var(--kbd-height);
13
+ padding-inline: var(--kbd-padding-inline);
14
+ border-radius: var(--kbd-radius, var(--radius-xs));
15
+ background: var(--kbd-background, color-mix(in oklab, currentColor 10%, transparent));
16
+ box-shadow: 0 0 0 1px var(--kbd-border-color, transparent) inset;
17
+ color: var(--kbd-color, inherit);
18
+ font-family: inherit;
19
+ font-size: var(--kbd-font-size);
20
+ font-style: normal;
21
+ font-weight: var(--font-weight-medium);
22
+ font-variant-numeric: tabular-nums;
23
+ line-height: 1;
24
+ white-space: nowrap;
25
+ }
26
+
27
+ .Kbd[data-size="xs"] {
28
+ --kbd-height: 1rem;
29
+ --kbd-font-size: 0.6875rem;
30
+ --kbd-padding-inline: calc(var(--spacing) * 0.75);
31
+ }
32
+
33
+ .Kbd[data-size="md"] {
34
+ --kbd-height: 1.5rem;
35
+ --kbd-font-size: var(--font-text-sm-size);
36
+ --kbd-padding-inline: calc(var(--spacing) * 1.5);
37
+ }
38
+
39
+ .Kbd[data-variant="outline"] {
40
+ --kbd-background: transparent;
41
+ --kbd-border-color: color-mix(in oklab, currentColor 24%, transparent);
42
+ }/* Keys pressed together, such as ⌘ and K */.Group {
43
+ display: inline-flex;
44
+ align-items: center;
45
+ gap: calc(var(--spacing) * 0.5);
46
+ }
47
+ }
@@ -0,0 +1,16 @@
1
+ @layer components {.Label {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: calc(var(--spacing) * 0.5);
5
+ color: var(--label-color);
6
+ font-size: var(--label-font-size);
7
+ font-weight: var(--label-font-weight);
8
+ line-height: var(--label-line-height);
9
+ cursor: default;
10
+ }
11
+
12
+ .Label:where([data-disabled]) {
13
+ opacity: 0.6;
14
+ cursor: not-allowed;
15
+ }
16
+ }
@@ -0,0 +1,233 @@
1
+ @layer components {.MarkdownContent {
2
+ overflow-wrap: anywhere;
3
+ }
4
+ /* IMPORTANT: These cannot be removed without changing SmoothMarkdown */
5
+ .MarkdownContent *:first-child {
6
+ margin-top: 0;
7
+ }
8
+ /* ******************************************************************** */
9
+
10
+ .MarkdownContent *:last-child {
11
+ margin-bottom: 0;
12
+ }
13
+
14
+ /* Headers */
15
+ .MarkdownContent h1 {
16
+ margin-bottom: 0.5rem;
17
+ font-size: 1.75em;
18
+ font-weight: var(--font-weight-semibold);
19
+ letter-spacing: -0.04rem;
20
+ line-height: 1.222;
21
+ }
22
+ /* ******************************************************************** */
23
+
24
+ .MarkdownContent h2 {
25
+ margin-top: 2rem;
26
+ margin-bottom: 1rem;
27
+ font-size: 1.5em;
28
+ font-weight: var(--font-weight-semibold);
29
+ line-height: 1.222;
30
+ }
31
+
32
+ /* Avoid margin collapse on all children, for more predictable spacing. */
33
+
34
+ .MarkdownContent h3 {
35
+ margin-top: 1.125rem;
36
+ margin-bottom: 0.625rem;
37
+ font-size: 1.25em;
38
+ font-weight: var(--font-weight-semibold);
39
+ line-height: 1.3;
40
+ }
41
+
42
+ .MarkdownContent h4 {
43
+ margin-top: 1rem;
44
+ margin-bottom: 0.5rem;
45
+ font-size: 1em;
46
+ font-weight: var(--font-weight-semibold);
47
+ line-height: 1.5;
48
+ }
49
+
50
+ .MarkdownContent h5 {
51
+ font-size: 1em;
52
+ font-weight: var(--font-weight-semibold);
53
+ line-height: 1.5;
54
+ }
55
+
56
+ .MarkdownContent h6 {
57
+ font-size: 1em;
58
+ line-height: 1.5;
59
+ }
60
+
61
+ /* Lists */
62
+ .MarkdownContent ul,
63
+ .MarkdownContent ol {
64
+ margin: 0.5em 0 1em;
65
+ }
66
+
67
+ .MarkdownContent ul > li > :first-child, .MarkdownContent ol > li > :first-child {
68
+ margin-top: 0;
69
+ margin-bottom: 0;
70
+ }
71
+
72
+ .MarkdownContent ul > li ul,
73
+ .MarkdownContent ul > li ol,
74
+ .MarkdownContent ol > li ul,
75
+ .MarkdownContent ol > li ol {
76
+ margin-top: 0.25em !important;
77
+ }
78
+
79
+ .MarkdownContent ul {
80
+ padding-left: 1.625em;
81
+ list-style-type: disc;
82
+ }
83
+
84
+ .MarkdownContent ul > li {
85
+ padding-left: 0.375em;
86
+ margin: 0.5em 0;
87
+ }
88
+
89
+ .MarkdownContent ul > li::marker {
90
+ color: var(--color-text-secondary);
91
+ font-size: 1em;
92
+ font-weight: var(--font-weight-medium);
93
+ }
94
+
95
+ .MarkdownContent ol {
96
+ padding-left: 1.625em;
97
+ list-style-type: decimal;
98
+ }
99
+
100
+ .MarkdownContent ol > li {
101
+ padding-left: 0.375em;
102
+ margin: 0.5em 0;
103
+ }
104
+
105
+ .MarkdownContent ol > li::marker {
106
+ color: var(--color-text-secondary);
107
+ font-size: 1em;
108
+ font-weight: var(--font-weight-medium);
109
+ }
110
+
111
+ .MarkdownContent li {
112
+ min-height: 1.5em;
113
+ margin: 0.5em 0;
114
+ }
115
+
116
+ /* Text */
117
+ .MarkdownContent p {
118
+ margin: 1em 0;
119
+ }
120
+
121
+ /* Emphasis */
122
+ .MarkdownContent strong {
123
+ font-weight: var(--font-weight-semibold);
124
+ }
125
+
126
+ .MarkdownContent em {
127
+ font-style: italic;
128
+ }
129
+
130
+ /* Quotes */
131
+ .MarkdownContent blockquote {
132
+ position: relative;
133
+ padding-top: 0.25em;
134
+ padding-bottom: 0.25rem;
135
+ padding-left: calc(var(--spacing) * 6);
136
+ color: var(--tw-prose-quotes);
137
+ font-weight: var(--font-weight-normal);
138
+ quotes: "\201C" "\201D" "\2018" "\2019";
139
+ }
140
+
141
+ .MarkdownContent blockquote::before {
142
+ position: absolute;
143
+ top: 0;
144
+ bottom: 0;
145
+ left: 0;
146
+ display: block;
147
+ width: 0.25rem;
148
+ border-radius: var(--radius-2xs);
149
+ content: "";
150
+ }
151
+
152
+ .MarkdownContent blockquote::before, :where([data-theme="light"]) .MarkdownContent blockquote::before {
153
+ background: var(--alpha-15);
154
+ }
155
+
156
+ :where([data-theme="dark"]) .MarkdownContent blockquote::before {
157
+ background: var(--alpha-20);
158
+ }
159
+
160
+ .MarkdownContent blockquote p {
161
+ margin: 0.5em 0 0;
162
+ }
163
+
164
+ .MarkdownContent blockquote p:first-child {
165
+ margin-top: 0;
166
+ }
167
+
168
+ /* Dividers */
169
+ .MarkdownContent hr {
170
+ border-color: var(--alpha-10);
171
+ border-top-width: 1px;
172
+ margin-top: 2em;
173
+ margin-bottom: 2em;
174
+ }
175
+
176
+ /* Tables */
177
+ .MarkdownContent table {
178
+ width: 100%;
179
+ border: 0;
180
+ margin-top: 2em;
181
+ margin-bottom: 2em;
182
+ border-collapse: separate;
183
+ font-size: 0.875em;
184
+ line-height: 1.7142857;
185
+ table-layout: auto;
186
+ }
187
+
188
+ .MarkdownContent th {
189
+ border: 0;
190
+ border-bottom: 1px solid var(--color-border-strong);
191
+ line-height: var(--font-text-sm-line-height);
192
+ padding-block: calc(var(--spacing) * 2);
193
+ padding-inline: calc(var(--spacing) * 2);
194
+ text-align: start;
195
+ }
196
+
197
+ .MarkdownContent th:first-child {
198
+ padding-inline-start: 0;
199
+ }
200
+
201
+ .MarkdownContent th:last-child {
202
+ padding-inline-end: 0;
203
+ }
204
+
205
+ .MarkdownContent td {
206
+ border: 0;
207
+ border-bottom: 1px solid var(--color-border);
208
+ padding-block: calc(var(--spacing) * 2.5);
209
+ padding-inline: calc(var(--spacing) * 2);
210
+ }
211
+
212
+ .MarkdownContent td:first-child {
213
+ padding-inline-start: 0;
214
+ }
215
+
216
+ .MarkdownContent td:last-child {
217
+ padding-inline-end: 0;
218
+ }
219
+ .MarkdownContent tbody tr:last-child td {
220
+ border-bottom: 0;
221
+ }.InlineCode {
222
+ padding: 1px 0.3rem;
223
+ border-radius: 0.25rem;
224
+ box-shadow: inset 0 0 0 1px var(--alpha-08);
225
+ color: inherit;
226
+ font-size: 0.875em;
227
+ font-weight: 500;
228
+ }.InlineCode, :where([data-theme="light"]) .InlineCode {
229
+ background-color: var(--alpha-04);
230
+ }:where([data-theme="dark"]) .InlineCode {
231
+ background-color: var(--alpha-10);
232
+ }
233
+ }