@mirantes-micro/foundation-design-system 1.2.92 → 1.2.94

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 (26) hide show
  1. package/dist/index.d.ts +16 -0
  2. package/dist/index.js +169 -130
  3. package/package.json +25 -2
  4. package/src/components/tiptap-node/blockquote-node/blockquote-node.css +35 -0
  5. package/src/components/tiptap-node/code-block-node/code-block-node.css +51 -0
  6. package/src/components/tiptap-node/heading-node/heading-node.css +43 -0
  7. package/src/components/tiptap-node/horizontal-rule-node/horizontal-rule-node.css +25 -0
  8. package/src/components/tiptap-node/image-node/image-node.css +29 -0
  9. package/src/components/tiptap-node/image-upload-node/image-upload-node.css +239 -0
  10. package/src/components/tiptap-node/list-node/list-node.css +151 -0
  11. package/src/components/tiptap-node/paragraph-node/paragraph-node.css +238 -0
  12. package/src/components/tiptap-templates/simple/simple-editor.css +93 -0
  13. package/src/components/tiptap-ui/color-highlight-button/color-highlight-button.css +42 -0
  14. package/src/components/tiptap-ui-primitive/badge/badge-colors.css +215 -0
  15. package/src/components/tiptap-ui-primitive/badge/badge-group.css +16 -0
  16. package/src/components/tiptap-ui-primitive/badge/badge.css +95 -0
  17. package/src/components/tiptap-ui-primitive/button/button-colors.css +394 -0
  18. package/src/components/tiptap-ui-primitive/button/button-group.css +22 -0
  19. package/src/components/tiptap-ui-primitive/button/button.css +336 -0
  20. package/src/components/tiptap-ui-primitive/card/card.css +76 -0
  21. package/src/components/tiptap-ui-primitive/dropdown-menu/dropdown-menu.css +63 -0
  22. package/src/components/tiptap-ui-primitive/input/input.css +44 -0
  23. package/src/components/tiptap-ui-primitive/popover/popover.css +63 -0
  24. package/src/components/tiptap-ui-primitive/separator/separator.css +23 -0
  25. package/src/components/tiptap-ui-primitive/toolbar/toolbar.css +101 -0
  26. package/src/components/tiptap-ui-primitive/tooltip/tooltip.css +43 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mirantes-micro/foundation-design-system",
3
3
  "description": "A scalable and customizable design system package featuring a collection of reusable React components, utility functions, and context providers. Built to enforce visual and functional consistency across applications, this package offers accessible, themeable UI elements, shared logic through utility helpers, and context-based providers for managing global state such as themes, modals, and user sessions.",
4
- "version": "1.2.92",
4
+ "version": "1.2.94",
5
5
  "license": "MIT",
6
6
  "author": {
7
7
  "name": "Mirantes Frontend team"
@@ -22,7 +22,30 @@
22
22
  "module": "./dist/index.js",
23
23
  "types": "./dist/index.d.ts",
24
24
  "files": [
25
- "dist/*"
25
+ "dist/*",
26
+ "src/components/tiptap-node/blockquote-node/blockquote-node.css",
27
+ "src/components/tiptap-node/code-block-node/code-block-node.css",
28
+ "src/components/tiptap-node/horizontal-rule-node/horizontal-rule-node.css",
29
+ "src/components/tiptap-node/image-node/image-node.css",
30
+ "src/components/tiptap-node/heading-node/heading-node.css",
31
+ "src/components/tiptap-node/image-upload-node/image-upload-node.css",
32
+ "src/components/tiptap-node/list-node/list-node.css",
33
+ "src/components/tiptap-node/paragraph-node/paragraph-node.css",
34
+ "src/components/tiptap-templates/simple/simple-editor.css",
35
+ "src/components/tiptap-ui/color-highlight-button/color-highlight-button.css",
36
+ "src/components/tiptap-ui-primitive/badge/badge-colors.css",
37
+ "src/components/tiptap-ui-primitive/badge/badge-group.css",
38
+ "src/components/tiptap-ui-primitive/badge/badge.css",
39
+ "src/components/tiptap-ui-primitive/button/button.css",
40
+ "src/components/tiptap-ui-primitive/button/button-group.css",
41
+ "src/components/tiptap-ui-primitive/button/button-colors.css",
42
+ "src/components/tiptap-ui-primitive/card/card.css",
43
+ "src/components/tiptap-ui-primitive/dropdown-menu/dropdown-menu.css",
44
+ "src/components/tiptap-ui-primitive/input/input.css",
45
+ "src/components/tiptap-ui-primitive/popover/popover.css",
46
+ "src/components/tiptap-ui-primitive/separator/separator.css",
47
+ "src/components/tiptap-ui-primitive/toolbar/toolbar.css",
48
+ "src/components/tiptap-ui-primitive/tooltip/tooltip.css"
26
49
  ],
27
50
  "scripts": {
28
51
  "dev": "webpack serve --mode development",
@@ -0,0 +1,35 @@
1
+ .tiptap.ProseMirror {
2
+ --blockquote-bg-color: var(--tt-gray-light-900);
3
+ }
4
+
5
+ .dark .tiptap.ProseMirror {
6
+ --blockquote-bg-color: var(--tt-gray-dark-900);
7
+ }
8
+
9
+ /* =====================
10
+ BLOCKQUOTE
11
+ ===================== */
12
+ .tiptap.ProseMirror blockquote {
13
+ position: relative;
14
+ padding-left: 1em;
15
+ padding-top: 0.375em;
16
+ padding-bottom: 0.375em;
17
+ margin: 1.5rem 0;
18
+ }
19
+
20
+ .tiptap.ProseMirror blockquote p {
21
+ margin-top: 0;
22
+ }
23
+
24
+ .tiptap.ProseMirror blockquote::before,
25
+ .tiptap.ProseMirror blockquote.is-empty::before {
26
+ position: absolute;
27
+ bottom: 0;
28
+ left: 0;
29
+ top: 0;
30
+ height: 100%;
31
+ width: 0.25em;
32
+ background-color: var(--blockquote-bg-color);
33
+ content: "";
34
+ border-radius: 0;
35
+ }
@@ -0,0 +1,51 @@
1
+ .tiptap.ProseMirror {
2
+ --tt-inline-code-bg-color: var(--tt-gray-light-a-100);
3
+ --tt-inline-code-text-color: var(--tt-gray-light-a-700);
4
+ --tt-inline-code-border-color: var(--tt-gray-light-a-200);
5
+ --tt-codeblock-bg: var(--tt-gray-light-a-50);
6
+ --tt-codeblock-text: var(--tt-gray-light-a-800);
7
+ --tt-codeblock-border: var(--tt-gray-light-a-200);
8
+ }
9
+
10
+ .dark .tiptap.ProseMirror {
11
+ --tt-inline-code-bg-color: var(--tt-gray-dark-a-100);
12
+ --tt-inline-code-text-color: var(--tt-gray-dark-a-700);
13
+ --tt-inline-code-border-color: var(--tt-gray-dark-a-200);
14
+ --tt-codeblock-bg: var(--tt-gray-dark-a-50);
15
+ --tt-codeblock-text: var(--tt-gray-dark-a-800);
16
+ --tt-codeblock-border: var(--tt-gray-dark-a-200);
17
+ }
18
+
19
+ /* =====================
20
+ CODE FORMATTING
21
+ ===================== */
22
+
23
+ .tiptap.ProseMirror code {
24
+ background-color: var(--tt-inline-code-bg-color);
25
+ color: var(--tt-inline-code-text-color);
26
+ border: 1px solid var(--tt-inline-code-border-color);
27
+ font-family: "JetBrains Mono NL", monospace;
28
+ font-size: 0.875em;
29
+ line-height: 1.4;
30
+ border-radius: 6px/0.375rem;
31
+ padding: 0.1em 0.2em;
32
+ }
33
+
34
+ .tiptap.ProseMirror pre {
35
+ background-color: var(--tt-codeblock-bg);
36
+ color: var(--tt-codeblock-text);
37
+ border: 1px solid var(--tt-codeblock-border);
38
+ margin-top: 1.5em;
39
+ margin-bottom: 1.5em;
40
+ padding: 1em;
41
+ font-size: 1rem;
42
+ border-radius: 6px/0.375rem;
43
+ }
44
+
45
+ .tiptap.ProseMirror pre code {
46
+ background-color: transparent;
47
+ border: none;
48
+ border-radius: 0;
49
+ -webkit-text-fill-color: inherit;
50
+ color: inherit;
51
+ }
@@ -0,0 +1,43 @@
1
+ .tiptap.ProseMirror h1,
2
+ .tiptap.ProseMirror h2,
3
+ .tiptap.ProseMirror h3,
4
+ .tiptap.ProseMirror h4 {
5
+ position: relative;
6
+ color: inherit;
7
+ font-style: inherit;
8
+ }
9
+
10
+ .tiptap.ProseMirror h1:first-child,
11
+ .tiptap.ProseMirror h1:first-of-type,
12
+ .tiptap.ProseMirror h2:first-child,
13
+ .tiptap.ProseMirror h2:first-of-type,
14
+ .tiptap.ProseMirror h3:first-child,
15
+ .tiptap.ProseMirror h3:first-of-type,
16
+ .tiptap.ProseMirror h4:first-child,
17
+ .tiptap.ProseMirror h4:first-of-type {
18
+ margin-top: 0;
19
+ }
20
+
21
+ .tiptap.ProseMirror h1 {
22
+ font-size: 1.5em;
23
+ font-weight: 700;
24
+ margin-top: 3em;
25
+ }
26
+
27
+ .tiptap.ProseMirror h2 {
28
+ font-size: 1.25em;
29
+ font-weight: 700;
30
+ margin-top: 2.5em;
31
+ }
32
+
33
+ .tiptap.ProseMirror h3 {
34
+ font-size: 1.125em;
35
+ font-weight: 600;
36
+ margin-top: 2em;
37
+ }
38
+
39
+ .tiptap.ProseMirror h4 {
40
+ font-size: 1em;
41
+ font-weight: 600;
42
+ margin-top: 2em;
43
+ }
@@ -0,0 +1,25 @@
1
+ .tiptap.ProseMirror {
2
+ --horizontal-rule-color: var(--tt-gray-light-a-200);
3
+
4
+ .dark & {
5
+ --horizontal-rule-color: var(--tt-gray-dark-a-200);
6
+ }
7
+ }
8
+
9
+ /* =====================
10
+ HORIZONTAL RULE
11
+ ===================== */
12
+ .tiptap.ProseMirror {
13
+ hr {
14
+ border: none;
15
+ height: 1px;
16
+ background-color: var(--horizontal-rule-color);
17
+ }
18
+
19
+ [data-type="horizontalRule"] {
20
+ margin-top: 2.25em;
21
+ margin-bottom: 2.25em;
22
+ padding-top: 0.75rem;
23
+ padding-bottom: 0.75rem;
24
+ }
25
+ }
@@ -0,0 +1,29 @@
1
+ .tiptap.ProseMirror img {
2
+ max-width: 100%;
3
+ height: auto;
4
+ display: block;
5
+ }
6
+
7
+ .tiptap.ProseMirror>img:not([data-type="emoji"] img) {
8
+ margin: 2rem 0;
9
+ outline: 0.125rem solid transparent;
10
+ border-radius: var(--tt-radius-xs, 0.25rem);
11
+ }
12
+
13
+ .tiptap.ProseMirror img:not([data-type="emoji"] img).ProseMirror-selectednode {
14
+ outline-color: var(--tt-brand-color-500);
15
+ }
16
+
17
+ /* Thread image handling */
18
+ .tiptap.ProseMirror .tiptap-thread:has(> img) {
19
+ margin: 2rem 0;
20
+ }
21
+
22
+ .tiptap.ProseMirror .tiptap-thread:has(> img) img {
23
+ outline: 0.125rem solid transparent;
24
+ border-radius: var(--tt-radius-xs, 0.25rem);
25
+ }
26
+
27
+ .tiptap.ProseMirror .tiptap-thread img {
28
+ margin: 0;
29
+ }
@@ -0,0 +1,239 @@
1
+ :root {
2
+ --tiptap-image-upload-active: var(--tt-brand-color-500);
3
+ --tiptap-image-upload-progress-bg: var(--tt-brand-color-50);
4
+ --tiptap-image-upload-icon-bg: var(--tt-brand-color-500);
5
+
6
+ --tiptap-image-upload-text-color: var(--tt-gray-light-a-700);
7
+ --tiptap-image-upload-subtext-color: var(--tt-gray-light-a-400);
8
+ --tiptap-image-upload-border: var(--tt-gray-light-a-300);
9
+ --tiptap-image-upload-border-hover: var(--tt-gray-light-a-400);
10
+ --tiptap-image-upload-border-active: var(--tt-brand-color-500);
11
+
12
+ --tiptap-image-upload-icon-doc-bg: var(--tt-gray-light-a-200);
13
+ --tiptap-image-upload-icon-doc-border: var(--tt-gray-light-300);
14
+ --tiptap-image-upload-icon-color: var(--white);
15
+ }
16
+
17
+ .dark {
18
+ --tiptap-image-upload-active: var(--tt-brand-color-400);
19
+ --tiptap-image-upload-progress-bg: var(--tt-brand-color-900);
20
+ --tiptap-image-upload-icon-bg: var(--tt-brand-color-400);
21
+
22
+ --tiptap-image-upload-text-color: var(--tt-gray-dark-a-700);
23
+ --tiptap-image-upload-subtext-color: var(--tt-gray-dark-a-400);
24
+ --tiptap-image-upload-border: var(--tt-gray-dark-a-300);
25
+ --tiptap-image-upload-border-hover: var(--tt-gray-dark-a-400);
26
+ --tiptap-image-upload-border-active: var(--tt-brand-color-400);
27
+
28
+ --tiptap-image-upload-icon-doc-bg: var(--tt-gray-dark-a-200);
29
+ --tiptap-image-upload-icon-doc-border: var(--tt-gray-dark-300);
30
+ --tiptap-image-upload-icon-color: var(--black);
31
+ }
32
+
33
+ .tiptap-image-upload {
34
+ margin: 2rem 0;
35
+ }
36
+
37
+ .tiptap-image-upload input[type="file"] {
38
+ display: none;
39
+ }
40
+
41
+ .tiptap-image-upload .tiptap-image-upload-dropzone {
42
+ position: relative;
43
+ width: 3.125rem;
44
+ height: 3.75rem;
45
+ display: inline-flex;
46
+ align-items: flex-start;
47
+ justify-content: center;
48
+ -webkit-user-select: none;
49
+ -ms-user-select: none;
50
+ user-select: none;
51
+ }
52
+
53
+ .tiptap-image-upload .tiptap-image-upload-icon-container {
54
+ position: absolute;
55
+ width: 1.75rem;
56
+ height: 1.75rem;
57
+ bottom: 0;
58
+ right: 0;
59
+ background-color: var(--tiptap-image-upload-icon-bg);
60
+ border-radius: var(--tt-radius-lg, 0.75rem);
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ }
65
+
66
+ .tiptap-image-upload .tiptap-image-upload-icon {
67
+ width: 0.875rem;
68
+ height: 0.875rem;
69
+ color: var(--tiptap-image-upload-icon-color);
70
+ }
71
+
72
+ .tiptap-image-upload .tiptap-image-upload-dropzone-rect-primary {
73
+ color: var(--tiptap-image-upload-icon-doc-bg);
74
+ position: absolute;
75
+ }
76
+
77
+ .tiptap-image-upload .tiptap-image-upload-dropzone-rect-secondary {
78
+ position: absolute;
79
+ top: 0;
80
+ right: 0.25rem;
81
+ bottom: 0;
82
+ color: var(--tiptap-image-upload-icon-doc-border);
83
+ }
84
+
85
+ .tiptap-image-upload .tiptap-image-upload-text {
86
+ color: var(--tiptap-image-upload-text-color);
87
+ font-weight: 500;
88
+ font-size: 0.875rem;
89
+ line-height: normal;
90
+ }
91
+
92
+ .tiptap-image-upload .tiptap-image-upload-text em {
93
+ font-style: normal;
94
+ text-decoration: underline;
95
+ }
96
+
97
+ .tiptap-image-upload .tiptap-image-upload-subtext {
98
+ color: var(--tiptap-image-upload-subtext-color);
99
+ font-weight: 600;
100
+ line-height: normal;
101
+ font-size: 0.75rem;
102
+ }
103
+
104
+ .tiptap-image-upload .tiptap-image-upload-drag-area {
105
+ padding: 2rem 1.5rem;
106
+ border: 1.5px dashed var(--tiptap-image-upload-border);
107
+ border-radius: var(--tt-radius-md, 0.5rem);
108
+ text-align: center;
109
+ cursor: pointer;
110
+ position: relative;
111
+ overflow: hidden;
112
+ transition: all 0.2s ease;
113
+ }
114
+
115
+ .tiptap-image-upload .tiptap-image-upload-drag-area:hover {
116
+ border-color: var(--tiptap-image-upload-border-hover);
117
+ }
118
+
119
+ .tiptap-image-upload .tiptap-image-upload-drag-area.drag-active {
120
+ border-color: var(--tiptap-image-upload-border-active);
121
+ background-color: rgba(var(--tiptap-image-upload-active-rgb, 0, 123, 255), 0.05);
122
+ }
123
+
124
+ .tiptap-image-upload .tiptap-image-upload-drag-area.drag-over {
125
+ border-color: var(--tiptap-image-upload-border-active);
126
+ background-color: rgba(var(--tiptap-image-upload-active-rgb, 0, 123, 255), 0.1);
127
+ }
128
+
129
+ .tiptap-image-upload .tiptap-image-upload-content {
130
+ display: flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ flex-direction: column;
134
+ gap: 0.25rem;
135
+ -webkit-user-select: none;
136
+ -ms-user-select: none;
137
+ user-select: none;
138
+ }
139
+
140
+ .tiptap-image-upload .tiptap-image-upload-previews {
141
+ display: flex;
142
+ flex-direction: column;
143
+ gap: 0.75rem;
144
+ }
145
+
146
+ .tiptap-image-upload .tiptap-image-upload-header {
147
+ display: flex;
148
+ align-items: center;
149
+ justify-content: space-between;
150
+ padding: 0.5rem 0;
151
+ border-bottom: 1px solid var(--tiptap-image-upload-border);
152
+ margin-bottom: 0.5rem;
153
+ }
154
+
155
+ .tiptap-image-upload .tiptap-image-upload-header span {
156
+ font-size: 0.875rem;
157
+ font-weight: 500;
158
+ color: var(--tiptap-image-upload-text-color);
159
+ }
160
+
161
+ /* === Individual File Preview === */
162
+ .tiptap-image-upload .tiptap-image-upload-preview {
163
+ position: relative;
164
+ border-radius: var(--tt-radius-md, 0.5rem);
165
+ overflow: hidden;
166
+ }
167
+
168
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-progress {
169
+ position: absolute;
170
+ inset: 0;
171
+ background-color: var(--tiptap-image-upload-progress-bg);
172
+ transition: all 300ms ease-out;
173
+ }
174
+
175
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-preview-content {
176
+ position: relative;
177
+ border: 1px solid var(--tiptap-image-upload-border);
178
+ border-radius: var(--tt-radius-md, 0.5rem);
179
+ padding: 1rem;
180
+ display: flex;
181
+ align-items: center;
182
+ justify-content: space-between;
183
+ }
184
+
185
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-file-info {
186
+ display: flex;
187
+ align-items: center;
188
+ gap: 0.75rem;
189
+ height: 2rem;
190
+ }
191
+
192
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-file-icon {
193
+ padding: 0.5rem;
194
+ background-color: var(--tiptap-image-upload-icon-bg);
195
+ border-radius: var(--tt-radius-lg, 0.75rem);
196
+ }
197
+
198
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-file-icon svg {
199
+ width: 0.875rem;
200
+ height: 0.875rem;
201
+ color: var(--tiptap-image-upload-icon-color);
202
+ }
203
+
204
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-details {
205
+ display: flex;
206
+ flex-direction: column;
207
+ }
208
+
209
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-actions {
210
+ display: flex;
211
+ align-items: center;
212
+ gap: 0.5rem;
213
+ }
214
+
215
+ .tiptap-image-upload .tiptap-image-upload-preview .tiptap-image-upload-actions .tiptap-image-upload-progress-text {
216
+ font-size: 0.75rem;
217
+ color: var(--tiptap-image-upload-border-active);
218
+ font-weight: 600;
219
+ }
220
+
221
+ .tiptap.ProseMirror.ProseMirror-focused .ProseMirror-selectednode .tiptap-image-upload-drag-area {
222
+ border-color: var(--tiptap-image-upload-active);
223
+ }
224
+
225
+ @media (max-width: 480px) {
226
+ .tiptap-image-upload .tiptap-image-upload-drag-area {
227
+ padding: 1.5rem 1rem;
228
+ }
229
+
230
+ .tiptap-image-upload .tiptap-image-upload-header {
231
+ flex-direction: column;
232
+ align-items: flex-start;
233
+ gap: 0.5rem;
234
+ }
235
+
236
+ .tiptap-image-upload .tiptap-image-upload-preview-content {
237
+ padding: 0.75rem;
238
+ }
239
+ }
@@ -0,0 +1,151 @@
1
+ .tiptap.ProseMirror {
2
+ --tt-checklist-bg-color: var(--tt-gray-light-a-100);
3
+ --tt-checklist-bg-active-color: var(--tt-gray-light-a-900);
4
+ --tt-checklist-border-color: var(--tt-gray-light-a-200);
5
+ --tt-checklist-border-active-color: var(--tt-gray-light-a-900);
6
+ --tt-checklist-check-icon-color: var(--white);
7
+ --tt-checklist-text-active: var(--tt-gray-light-a-500);
8
+ }
9
+
10
+ .dark .tiptap.ProseMirror {
11
+ --tt-checklist-bg-color: var(--tt-gray-dark-a-100);
12
+ --tt-checklist-bg-active-color: var(--tt-gray-dark-a-900);
13
+ --tt-checklist-border-color: var(--tt-gray-dark-a-200);
14
+ --tt-checklist-border-active-color: var(--tt-gray-dark-a-900);
15
+ --tt-checklist-check-icon-color: var(--black);
16
+ --tt-checklist-text-active: var(--tt-gray-dark-a-500);
17
+ }
18
+
19
+ /* LISTS */
20
+ .tiptap.ProseMirror ol,
21
+ .tiptap.ProseMirror ul {
22
+ margin-top: 1.5em;
23
+ margin-bottom: 1.5em;
24
+ padding-left: 1.5em;
25
+ }
26
+
27
+ .tiptap.ProseMirror ol:first-child,
28
+ .tiptap.ProseMirror ul:first-child {
29
+ margin-top: 0;
30
+ }
31
+
32
+ .tiptap.ProseMirror ol:last-child,
33
+ .tiptap.ProseMirror ul:last-child {
34
+ margin-bottom: 0;
35
+ }
36
+
37
+ .tiptap.ProseMirror ol ol,
38
+ .tiptap.ProseMirror ol ul,
39
+ .tiptap.ProseMirror ul ol,
40
+ .tiptap.ProseMirror ul ul {
41
+ margin-top: 0;
42
+ margin-bottom: 0;
43
+ }
44
+
45
+ .tiptap.ProseMirror li p {
46
+ margin-top: 0;
47
+ line-height: 1.6;
48
+ }
49
+
50
+ /* Ordered lists */
51
+ .tiptap.ProseMirror ol {
52
+ list-style: decimal;
53
+ }
54
+
55
+ .tiptap.ProseMirror ol ol {
56
+ list-style: lower-alpha;
57
+ }
58
+
59
+ .tiptap.ProseMirror ol ol ol {
60
+ list-style: lower-roman;
61
+ }
62
+
63
+ /* Unordered lists */
64
+ .tiptap.ProseMirror ul:not([data-type="taskList"]) {
65
+ list-style: disc;
66
+ }
67
+
68
+ .tiptap.ProseMirror ul:not([data-type="taskList"]) ul {
69
+ list-style: circle;
70
+ }
71
+
72
+ .tiptap.ProseMirror ul:not([data-type="taskList"]) ul ul {
73
+ list-style: square;
74
+ }
75
+
76
+ /* Task lists */
77
+ .tiptap.ProseMirror ul[data-type="taskList"] {
78
+ padding-left: 0.25em;
79
+ }
80
+
81
+ .tiptap.ProseMirror ul[data-type="taskList"] li {
82
+ display: flex;
83
+ flex-direction: row;
84
+ align-items: flex-start;
85
+ }
86
+
87
+ .tiptap.ProseMirror ul[data-type="taskList"] li:not(:has(> p:first-child)) {
88
+ list-style-type: none;
89
+ }
90
+
91
+ .tiptap.ProseMirror ul[data-type="taskList"] li[data-checked="true"]>div>p {
92
+ opacity: 0.5;
93
+ text-decoration: line-through;
94
+ }
95
+
96
+ .tiptap.ProseMirror ul[data-type="taskList"] li[data-checked="true"]>div>p span {
97
+ text-decoration: line-through;
98
+ }
99
+
100
+ .tiptap.ProseMirror ul[data-type="taskList"] li label {
101
+ position: relative;
102
+ padding-top: 0.375rem;
103
+ padding-right: 0.5rem;
104
+ }
105
+
106
+ .tiptap.ProseMirror ul[data-type="taskList"] li label input[type="checkbox"] {
107
+ position: absolute;
108
+ opacity: 0;
109
+ width: 0;
110
+ height: 0;
111
+ }
112
+
113
+ .tiptap.ProseMirror ul[data-type="taskList"] li label span {
114
+ display: block;
115
+ width: 1em;
116
+ height: 1em;
117
+ border: 1px solid var(--tt-checklist-border-color);
118
+ border-radius: var(--tt-radius-xs, 0.25rem);
119
+ position: relative;
120
+ cursor: pointer;
121
+ background-color: var(--tt-checklist-bg-color);
122
+ transition: background-color 80ms ease-out, border-color 80ms ease-out;
123
+ }
124
+
125
+ .tiptap.ProseMirror ul[data-type="taskList"] li label span::before {
126
+ content: "";
127
+ position: absolute;
128
+ left: 50%;
129
+ top: 50%;
130
+ transform: translate(-50%, -50%);
131
+ width: 0.75em;
132
+ height: 0.75em;
133
+ background-color: var(--tt-checklist-check-icon-color);
134
+ opacity: 0;
135
+ -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A...") center/contain no-repeat;
136
+ mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22...") center/contain no-repeat;
137
+ }
138
+
139
+ .tiptap.ProseMirror ul[data-type="taskList"] li label input[type="checkbox"]:checked+span {
140
+ background: var(--tt-checklist-bg-active-color);
141
+ border-color: var(--tt-checklist-border-active-color);
142
+ }
143
+
144
+ .tiptap.ProseMirror ul[data-type="taskList"] li label input[type="checkbox"]:checked+span::before {
145
+ opacity: 1;
146
+ }
147
+
148
+ .tiptap.ProseMirror ul[data-type="taskList"] li div {
149
+ flex: 1 1 0%;
150
+ min-width: 0;
151
+ }