@btst/stack 2.5.2 → 2.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/packages/stack/src/plugins/ai-chat/api/plugin.cjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/api/plugin.mjs +1 -1
- package/dist/packages/stack/src/plugins/route-docs/generator.cjs +2 -1
- package/dist/packages/stack/src/plugins/route-docs/generator.mjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/components/page-renderer.cjs +7 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/components/page-renderer.mjs +7 -1
- package/dist/plugins/blog/api/index.d.cts +2 -2
- package/dist/plugins/blog/api/index.d.mts +2 -2
- package/dist/plugins/blog/api/index.d.ts +2 -2
- package/dist/plugins/blog/client/hooks/index.d.cts +3 -3
- package/dist/plugins/blog/client/hooks/index.d.mts +3 -3
- package/dist/plugins/blog/client/hooks/index.d.ts +3 -3
- package/dist/plugins/blog/client/index.d.cts +1 -1
- package/dist/plugins/blog/client/index.d.mts +1 -1
- package/dist/plugins/blog/client/index.d.ts +1 -1
- package/dist/plugins/blog/query-keys.d.cts +2 -2
- package/dist/plugins/blog/query-keys.d.mts +2 -2
- package/dist/plugins/blog/query-keys.d.ts +2 -2
- package/dist/plugins/kanban/style.css +548 -1
- package/dist/plugins/ui-builder/client/components/index.d.cts +5 -3
- package/dist/plugins/ui-builder/client/components/index.d.mts +5 -3
- package/dist/plugins/ui-builder/client/components/index.d.ts +5 -3
- package/dist/plugins/ui-builder/client/hooks/index.d.cts +2 -2
- package/dist/plugins/ui-builder/client/hooks/index.d.mts +2 -2
- package/dist/plugins/ui-builder/client/hooks/index.d.ts +2 -2
- package/dist/plugins/ui-builder/client/index.d.cts +2 -2
- package/dist/plugins/ui-builder/client/index.d.mts +2 -2
- package/dist/plugins/ui-builder/client/index.d.ts +2 -2
- package/dist/plugins/ui-builder/index.d.cts +2 -2
- package/dist/plugins/ui-builder/index.d.mts +2 -2
- package/dist/plugins/ui-builder/index.d.ts +2 -2
- package/dist/plugins/ui-builder/style.css +548 -1
- package/dist/shared/{stack.Cj_zKww4.d.ts → stack.B2DwzF3r.d.ts} +1 -1
- package/dist/shared/{stack.DXnclTG7.d.ts → stack.B8_74ror.d.ts} +4 -4
- package/dist/shared/{stack.DaZM10cp.d.cts → stack.C21-LFX8.d.cts} +4 -4
- package/dist/shared/{stack.B-YHz18S.d.cts → stack.C5ZSOJGJ.d.cts} +29 -2
- package/dist/shared/{stack.cfCkioTe.d.mts → stack.CL4mKxe7.d.mts} +4 -4
- package/dist/shared/{stack.dH7u-TJH.d.mts → stack.Cl7ok_cY.d.cts} +1 -1
- package/dist/shared/{stack.GygI_T3X.d.ts → stack.D0QupDcQ.d.ts} +29 -2
- package/dist/shared/{stack.D1DMlJp-.d.mts → stack.Dq4qVr1F.d.mts} +29 -2
- package/dist/shared/{stack.B2xZTSiO.d.cts → stack.VMmQdbsJ.d.mts} +1 -1
- package/package.json +1 -1
- package/src/plugins/ai-chat/api/plugin.ts +2 -1
- package/src/plugins/route-docs/generator.ts +3 -1
- package/src/plugins/ui-builder/client/components/page-renderer.tsx +9 -0
- package/src/plugins/ui-builder/index.ts +1 -0
- package/src/plugins/ui-builder/types.ts +1 -0
- package/dist/plugins/shared/components-minimal-tiptap-styles.css +0 -547
- package/dist/shared/{stack.BQmuNl5p.d.mts → stack.BWp0hcm9.d.cts} +3 -3
- package/dist/shared/{stack.BQmuNl5p.d.ts → stack.BWp0hcm9.d.mts} +3 -3
- package/dist/shared/{stack.BQmuNl5p.d.cts → stack.BWp0hcm9.d.ts} +3 -3
|
@@ -4,4 +4,551 @@
|
|
|
4
4
|
@import "./client.css";
|
|
5
5
|
|
|
6
6
|
/* Import minimal-tiptap styles for rich text editor in task forms */
|
|
7
|
-
@
|
|
7
|
+
/* Reference tailwindcss for @apply directives to work in distributed packages */
|
|
8
|
+
@reference "tailwindcss";
|
|
9
|
+
|
|
10
|
+
.minimal-tiptap-editor .ProseMirror code.inline {
|
|
11
|
+
@apply rounded border border-[var(--mt-code-color)] bg-[var(--mt-code-background)] px-1 py-0.5 text-sm;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.minimal-tiptap-editor .ProseMirror pre {
|
|
15
|
+
@apply relative overflow-auto rounded border font-mono text-sm;
|
|
16
|
+
@apply border-[var(--mt-pre-border)] bg-[var(--mt-pre-background)] text-[var(--mt-pre-color)];
|
|
17
|
+
@apply text-left hyphens-none whitespace-pre;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.minimal-tiptap-editor .ProseMirror code {
|
|
21
|
+
@apply leading-[1.7em] break-words;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.minimal-tiptap-editor .ProseMirror pre code {
|
|
25
|
+
@apply block overflow-x-auto p-3.5;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.minimal-tiptap-editor .ProseMirror pre {
|
|
29
|
+
.hljs-keyword,
|
|
30
|
+
.hljs-operator,
|
|
31
|
+
.hljs-function,
|
|
32
|
+
.hljs-built_in,
|
|
33
|
+
.hljs-builtin-name {
|
|
34
|
+
color: var(--hljs-keyword);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.hljs-attr,
|
|
38
|
+
.hljs-symbol,
|
|
39
|
+
.hljs-property,
|
|
40
|
+
.hljs-attribute,
|
|
41
|
+
.hljs-variable,
|
|
42
|
+
.hljs-template-variable,
|
|
43
|
+
.hljs-params {
|
|
44
|
+
color: var(--hljs-attr);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.hljs-name,
|
|
48
|
+
.hljs-regexp,
|
|
49
|
+
.hljs-link,
|
|
50
|
+
.hljs-type,
|
|
51
|
+
.hljs-addition {
|
|
52
|
+
color: var(--hljs-name);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.hljs-string,
|
|
56
|
+
.hljs-bullet {
|
|
57
|
+
color: var(--hljs-string);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.hljs-title,
|
|
61
|
+
.hljs-subst,
|
|
62
|
+
.hljs-section {
|
|
63
|
+
color: var(--hljs-title);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.hljs-literal,
|
|
67
|
+
.hljs-type,
|
|
68
|
+
.hljs-deletion {
|
|
69
|
+
color: var(--hljs-literal);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.hljs-selector-tag,
|
|
73
|
+
.hljs-selector-id,
|
|
74
|
+
.hljs-selector-class {
|
|
75
|
+
color: var(--hljs-selector-tag);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.hljs-number {
|
|
79
|
+
color: var(--hljs-number);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.hljs-comment,
|
|
83
|
+
.hljs-meta,
|
|
84
|
+
.hljs-quote {
|
|
85
|
+
color: var(--hljs-comment);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.hljs-emphasis {
|
|
89
|
+
@apply italic;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.hljs-strong {
|
|
93
|
+
@apply font-bold;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.minimal-tiptap-editor .ProseMirror > p.is-editor-empty::before {
|
|
98
|
+
content: attr(data-placeholder);
|
|
99
|
+
@apply pointer-events-none float-left h-0 text-[var(--mt-secondary)];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.minimal-tiptap-editor .ProseMirror ol {
|
|
103
|
+
@apply list-decimal;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.minimal-tiptap-editor .ProseMirror ol ol {
|
|
107
|
+
list-style: lower-alpha;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.minimal-tiptap-editor .ProseMirror ol ol ol {
|
|
111
|
+
list-style: lower-roman;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.minimal-tiptap-editor .ProseMirror ul {
|
|
115
|
+
list-style: disc;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.minimal-tiptap-editor .ProseMirror ul ul {
|
|
119
|
+
list-style: circle;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.minimal-tiptap-editor .ProseMirror ul ul ul {
|
|
123
|
+
list-style: square;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/* Task Lists */
|
|
127
|
+
.minimal-tiptap-editor .ProseMirror ul[data-type="taskList"] {
|
|
128
|
+
@apply list-none pl-0;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.minimal-tiptap-editor .ProseMirror ul[data-type="taskList"] li {
|
|
132
|
+
@apply flex items-start gap-2;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.minimal-tiptap-editor .ProseMirror ul[data-type="taskList"] li > label {
|
|
136
|
+
@apply flex items-center mt-1.5;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.minimal-tiptap-editor .ProseMirror ul[data-type="taskList"] li > label input[type="checkbox"] {
|
|
140
|
+
@apply size-4 cursor-pointer rounded border border-input accent-primary;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.minimal-tiptap-editor .ProseMirror ul[data-type="taskList"] li > div {
|
|
144
|
+
@apply flex-1;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.minimal-tiptap-editor .ProseMirror ul[data-type="taskList"] li[data-checked="true"] > div {
|
|
148
|
+
@apply text-muted-foreground line-through;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.minimal-tiptap-editor .ProseMirror .heading-node {
|
|
152
|
+
@apply relative font-semibold;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.minimal-tiptap-editor .ProseMirror .heading-node:first-child {
|
|
156
|
+
@apply mt-0;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.minimal-tiptap-editor .ProseMirror h1 {
|
|
160
|
+
@apply mt-[46px] mb-4 text-[1.375rem] leading-7 tracking-[-0.004375rem];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.minimal-tiptap-editor .ProseMirror h2 {
|
|
164
|
+
@apply mt-8 mb-3.5 text-[1.1875rem] leading-7 tracking-[0.003125rem];
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.minimal-tiptap-editor .ProseMirror h3 {
|
|
168
|
+
@apply mt-6 mb-3 text-[1.0625rem] leading-6 tracking-[0.00625rem];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.minimal-tiptap-editor .ProseMirror h4 {
|
|
172
|
+
@apply mt-4 mb-2 text-[0.9375rem] leading-6;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.minimal-tiptap-editor .ProseMirror h5 {
|
|
176
|
+
@apply mt-4 mb-2 text-sm;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.minimal-tiptap-editor .ProseMirror h5 {
|
|
180
|
+
@apply mt-4 mb-2 text-sm;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.minimal-tiptap-editor .ProseMirror a.link {
|
|
184
|
+
@apply text-primary underline;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.minimal-tiptap-editor .ProseMirror a.link:hover {
|
|
188
|
+
@apply underline;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
[data-rmiz-ghost] {
|
|
192
|
+
position: absolute;
|
|
193
|
+
pointer-events: none;
|
|
194
|
+
}
|
|
195
|
+
[data-rmiz-btn-zoom],
|
|
196
|
+
[data-rmiz-btn-unzoom] {
|
|
197
|
+
background-color: rgba(0, 0, 0, 0.7);
|
|
198
|
+
border-radius: 50%;
|
|
199
|
+
border: none;
|
|
200
|
+
box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
|
|
201
|
+
color: #fff;
|
|
202
|
+
height: 40px;
|
|
203
|
+
margin: 0;
|
|
204
|
+
outline-offset: 2px;
|
|
205
|
+
padding: 9px;
|
|
206
|
+
touch-action: manipulation;
|
|
207
|
+
width: 40px;
|
|
208
|
+
-webkit-appearance: none;
|
|
209
|
+
-moz-appearance: none;
|
|
210
|
+
appearance: none;
|
|
211
|
+
}
|
|
212
|
+
[data-rmiz-btn-zoom]:not(:focus):not(:active) {
|
|
213
|
+
position: absolute;
|
|
214
|
+
clip: rect(0 0 0 0);
|
|
215
|
+
clip-path: inset(50%);
|
|
216
|
+
height: 1px;
|
|
217
|
+
overflow: hidden;
|
|
218
|
+
pointer-events: none;
|
|
219
|
+
white-space: nowrap;
|
|
220
|
+
width: 1px;
|
|
221
|
+
}
|
|
222
|
+
[data-rmiz-btn-zoom] {
|
|
223
|
+
position: absolute;
|
|
224
|
+
inset: 10px 10px auto auto;
|
|
225
|
+
cursor: zoom-in;
|
|
226
|
+
}
|
|
227
|
+
[data-rmiz-btn-unzoom] {
|
|
228
|
+
position: absolute;
|
|
229
|
+
inset: 20px 20px auto auto;
|
|
230
|
+
cursor: zoom-out;
|
|
231
|
+
z-index: 1;
|
|
232
|
+
}
|
|
233
|
+
[data-rmiz-content="found"] img,
|
|
234
|
+
[data-rmiz-content="found"] svg,
|
|
235
|
+
[data-rmiz-content="found"] [role="img"],
|
|
236
|
+
[data-rmiz-content="found"] [data-zoom] {
|
|
237
|
+
cursor: inherit;
|
|
238
|
+
}
|
|
239
|
+
[data-rmiz-modal]::backdrop {
|
|
240
|
+
display: none;
|
|
241
|
+
}
|
|
242
|
+
[data-rmiz-modal][open] {
|
|
243
|
+
position: fixed;
|
|
244
|
+
width: 100vw;
|
|
245
|
+
width: 100dvw;
|
|
246
|
+
height: 100vh;
|
|
247
|
+
height: 100dvh;
|
|
248
|
+
max-width: none;
|
|
249
|
+
max-height: none;
|
|
250
|
+
margin: 0;
|
|
251
|
+
padding: 0;
|
|
252
|
+
border: 0;
|
|
253
|
+
background: transparent;
|
|
254
|
+
overflow: hidden;
|
|
255
|
+
}
|
|
256
|
+
[data-rmiz-modal-overlay] {
|
|
257
|
+
position: absolute;
|
|
258
|
+
inset: 0;
|
|
259
|
+
transition: background-color 0.3s;
|
|
260
|
+
}
|
|
261
|
+
[data-rmiz-modal-overlay="hidden"] {
|
|
262
|
+
background-color: rgba(255, 255, 255, 0);
|
|
263
|
+
}
|
|
264
|
+
[data-rmiz-modal-overlay="visible"] {
|
|
265
|
+
background-color: rgba(255, 255, 255, 1);
|
|
266
|
+
}
|
|
267
|
+
[data-rmiz-modal-content] {
|
|
268
|
+
position: relative;
|
|
269
|
+
width: 100%;
|
|
270
|
+
height: 100%;
|
|
271
|
+
}
|
|
272
|
+
[data-rmiz-modal-img] {
|
|
273
|
+
position: absolute;
|
|
274
|
+
cursor: zoom-out;
|
|
275
|
+
image-rendering: high-quality;
|
|
276
|
+
transform-origin: top left;
|
|
277
|
+
transition: transform 0.3s;
|
|
278
|
+
}
|
|
279
|
+
@media (prefers-reduced-motion: reduce) {
|
|
280
|
+
[data-rmiz-modal-overlay],
|
|
281
|
+
[data-rmiz-modal-img] {
|
|
282
|
+
transition-duration: 0.01ms !important;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
:root {
|
|
288
|
+
--mt-overlay: rgba(251, 251, 251, 0.75);
|
|
289
|
+
--mt-transparent-foreground: rgba(0, 0, 0, 0.4);
|
|
290
|
+
--mt-bg-secondary: rgba(251, 251, 251, 0.8);
|
|
291
|
+
--mt-code-background: #082b781f;
|
|
292
|
+
--mt-code-color: #d4d4d4;
|
|
293
|
+
--mt-secondary: #9d9d9f;
|
|
294
|
+
--mt-pre-background: #ececec;
|
|
295
|
+
--mt-pre-border: #e0e0e0;
|
|
296
|
+
--mt-pre-color: #2f2f31;
|
|
297
|
+
--mt-hr: #dcdcdc;
|
|
298
|
+
--mt-drag-handle-hover: #5c5c5e;
|
|
299
|
+
|
|
300
|
+
--mt-accent-bold-blue: #05c;
|
|
301
|
+
--mt-accent-bold-teal: #206a83;
|
|
302
|
+
--mt-accent-bold-green: #216e4e;
|
|
303
|
+
--mt-accent-bold-orange: #a54800;
|
|
304
|
+
--mt-accent-bold-red: #ae2e24;
|
|
305
|
+
--mt-accent-bold-purple: #5e4db2;
|
|
306
|
+
|
|
307
|
+
--mt-accent-gray: #758195;
|
|
308
|
+
--mt-accent-blue: #1d7afc;
|
|
309
|
+
--mt-accent-teal: #2898bd;
|
|
310
|
+
--mt-accent-green: #22a06b;
|
|
311
|
+
--mt-accent-orange: #fea362;
|
|
312
|
+
--mt-accent-red: #c9372c;
|
|
313
|
+
--mt-accent-purple: #8270db;
|
|
314
|
+
|
|
315
|
+
--mt-accent-blue-subtler: #cce0ff;
|
|
316
|
+
--mt-accent-teal-subtler: #c6edfb;
|
|
317
|
+
--mt-accent-green-subtler: #baf3db;
|
|
318
|
+
--mt-accent-yellow-subtler: #f8e6a0;
|
|
319
|
+
--mt-accent-red-subtler: #ffd5d2;
|
|
320
|
+
--mt-accent-purple-subtler: #dfd8fd;
|
|
321
|
+
|
|
322
|
+
--hljs-string: #aa430f;
|
|
323
|
+
--hljs-title: #b08836;
|
|
324
|
+
--hljs-comment: #999999;
|
|
325
|
+
--hljs-keyword: #0c5eb1;
|
|
326
|
+
--hljs-attr: #3a92bc;
|
|
327
|
+
--hljs-literal: #c82b0f;
|
|
328
|
+
--hljs-name: #259792;
|
|
329
|
+
--hljs-selector-tag: #c8500f;
|
|
330
|
+
--hljs-number: #3da067;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
.dark {
|
|
334
|
+
--mt-overlay: rgba(31, 32, 35, 0.75);
|
|
335
|
+
--mt-transparent-foreground: rgba(255, 255, 255, 0.4);
|
|
336
|
+
--mt-bg-secondary: rgba(31, 32, 35, 0.8);
|
|
337
|
+
--mt-code-background: #ffffff13;
|
|
338
|
+
--mt-code-color: #2c2e33;
|
|
339
|
+
--mt-secondary: #595a5c;
|
|
340
|
+
--mt-pre-background: #080808;
|
|
341
|
+
--mt-pre-border: #23252a;
|
|
342
|
+
--mt-pre-color: #e3e4e6;
|
|
343
|
+
--mt-hr: #26282d;
|
|
344
|
+
--mt-drag-handle-hover: #969799;
|
|
345
|
+
|
|
346
|
+
--mt-accent-bold-blue: #85b8ff;
|
|
347
|
+
--mt-accent-bold-teal: #9dd9ee;
|
|
348
|
+
--mt-accent-bold-green: #7ee2b8;
|
|
349
|
+
--mt-accent-bold-orange: #fec195;
|
|
350
|
+
--mt-accent-bold-red: #fd9891;
|
|
351
|
+
--mt-accent-bold-purple: #b8acf6;
|
|
352
|
+
|
|
353
|
+
--mt-accent-gray: #738496;
|
|
354
|
+
--mt-accent-blue: #388bff;
|
|
355
|
+
--mt-accent-teal: #42b2d7;
|
|
356
|
+
--mt-accent-green: #2abb7f;
|
|
357
|
+
--mt-accent-orange: #a54800;
|
|
358
|
+
--mt-accent-red: #e2483d;
|
|
359
|
+
--mt-accent-purple: #8f7ee7;
|
|
360
|
+
|
|
361
|
+
--mt-accent-blue-subtler: #09326c;
|
|
362
|
+
--mt-accent-teal-subtler: #164555;
|
|
363
|
+
--mt-accent-green-subtler: #164b35;
|
|
364
|
+
--mt-accent-yellow-subtler: #533f04;
|
|
365
|
+
--mt-accent-red-subtler: #5d1f1a;
|
|
366
|
+
--mt-accent-purple-subtler: #352c63;
|
|
367
|
+
|
|
368
|
+
--hljs-string: #da936b;
|
|
369
|
+
--hljs-title: #f1d59d;
|
|
370
|
+
--hljs-comment: #aaaaaa;
|
|
371
|
+
--hljs-keyword: #6699cc;
|
|
372
|
+
--hljs-attr: #90cae8;
|
|
373
|
+
--hljs-literal: #f2777a;
|
|
374
|
+
--hljs-name: #5fc0a0;
|
|
375
|
+
--hljs-selector-tag: #e8c785;
|
|
376
|
+
--hljs-number: #b6e7b6;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.minimal-tiptap-editor .ProseMirror {
|
|
380
|
+
@apply flex max-w-full cursor-text flex-col;
|
|
381
|
+
@apply z-0 outline-0;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.minimal-tiptap-editor .ProseMirror > div.editor {
|
|
385
|
+
@apply block flex-1 whitespace-pre-wrap;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.minimal-tiptap-editor .ProseMirror .block-node:not(:last-child),
|
|
389
|
+
.minimal-tiptap-editor .ProseMirror .list-node:not(:last-child),
|
|
390
|
+
.minimal-tiptap-editor .ProseMirror .text-node:not(:last-child) {
|
|
391
|
+
@apply mb-2.5;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.minimal-tiptap-editor .ProseMirror ol,
|
|
395
|
+
.minimal-tiptap-editor .ProseMirror ul {
|
|
396
|
+
@apply pl-6;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.minimal-tiptap-editor .ProseMirror blockquote,
|
|
400
|
+
.minimal-tiptap-editor .ProseMirror dl,
|
|
401
|
+
.minimal-tiptap-editor .ProseMirror ol,
|
|
402
|
+
.minimal-tiptap-editor .ProseMirror p,
|
|
403
|
+
.minimal-tiptap-editor .ProseMirror pre,
|
|
404
|
+
.minimal-tiptap-editor .ProseMirror ul {
|
|
405
|
+
@apply m-0;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
.minimal-tiptap-editor .ProseMirror li {
|
|
409
|
+
@apply leading-7;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.minimal-tiptap-editor .ProseMirror p {
|
|
413
|
+
@apply break-words;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.minimal-tiptap-editor .ProseMirror li .text-node:has(+ .list-node),
|
|
417
|
+
.minimal-tiptap-editor .ProseMirror li > .list-node,
|
|
418
|
+
.minimal-tiptap-editor .ProseMirror li > .text-node,
|
|
419
|
+
.minimal-tiptap-editor .ProseMirror li p {
|
|
420
|
+
@apply mb-0;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.minimal-tiptap-editor .ProseMirror blockquote {
|
|
424
|
+
@apply relative pl-3.5;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.minimal-tiptap-editor .ProseMirror blockquote::before,
|
|
428
|
+
.minimal-tiptap-editor .ProseMirror blockquote.is-empty::before {
|
|
429
|
+
@apply bg-accent-foreground/15 absolute top-0 bottom-0 left-0 h-full w-1 rounded-sm content-[''];
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.minimal-tiptap-editor .ProseMirror hr {
|
|
433
|
+
@apply my-3 h-0.5 w-full border-none bg-[var(--mt-hr)];
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
.minimal-tiptap-editor .ProseMirror-focused hr.ProseMirror-selectednode {
|
|
437
|
+
@apply outline-muted-foreground rounded-full outline-2 outline-offset-1;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.minimal-tiptap-editor .ProseMirror .ProseMirror-gapcursor {
|
|
441
|
+
@apply pointer-events-none absolute hidden;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.minimal-tiptap-editor .ProseMirror .ProseMirror-hideselection {
|
|
445
|
+
@apply caret-transparent;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.minimal-tiptap-editor .ProseMirror.resize-cursor {
|
|
449
|
+
@apply cursor-col-resize;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.minimal-tiptap-editor .ProseMirror .selection {
|
|
453
|
+
@apply inline-block;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.minimal-tiptap-editor .ProseMirror s span {
|
|
457
|
+
@apply line-through;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
.minimal-tiptap-editor .ProseMirror .selection,
|
|
461
|
+
.minimal-tiptap-editor .ProseMirror *::selection {
|
|
462
|
+
@apply bg-primary/25;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/* Override native selection when custom selection is present */
|
|
466
|
+
.minimal-tiptap-editor .ProseMirror .selection::selection {
|
|
467
|
+
background: transparent;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/* Tables */
|
|
471
|
+
.minimal-tiptap-editor .ProseMirror table {
|
|
472
|
+
@apply my-4 w-full border-collapse overflow-hidden rounded-lg border border-border;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.minimal-tiptap-editor .ProseMirror table td,
|
|
476
|
+
.minimal-tiptap-editor .ProseMirror table th {
|
|
477
|
+
@apply relative min-w-[100px] border border-border px-3 py-2 text-left align-top;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
.minimal-tiptap-editor .ProseMirror table th {
|
|
481
|
+
@apply bg-muted font-semibold;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
.minimal-tiptap-editor .ProseMirror table .selectedCell {
|
|
485
|
+
@apply bg-primary/10;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
.minimal-tiptap-editor .ProseMirror table .selectedCell::after {
|
|
489
|
+
@apply pointer-events-none absolute inset-0 bg-primary/10 content-[''];
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
/* Column resize handle */
|
|
493
|
+
.minimal-tiptap-editor .ProseMirror .column-resize-handle {
|
|
494
|
+
@apply absolute -right-0.5 top-0 bottom-0 z-10 w-1 cursor-col-resize bg-primary/50;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.minimal-tiptap-editor .ProseMirror.resize-cursor {
|
|
498
|
+
@apply cursor-col-resize;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
/* Mentions */
|
|
502
|
+
.minimal-tiptap-editor .ProseMirror .mention {
|
|
503
|
+
@apply inline-block rounded-md bg-primary/10 px-1.5 py-0.5 font-medium text-primary;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
.minimal-tiptap-editor .ProseMirror .mention:hover {
|
|
507
|
+
@apply bg-primary/20;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/* Highlight */
|
|
511
|
+
.minimal-tiptap-editor .ProseMirror mark {
|
|
512
|
+
@apply rounded-sm bg-yellow-200 px-0.5 dark:bg-yellow-500/40;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
.minimal-tiptap-editor .ProseMirror mark[data-color] {
|
|
516
|
+
background-color: var(--highlight-color, #fef08a);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/* Details / Collapsible */
|
|
520
|
+
.minimal-tiptap-editor .ProseMirror details {
|
|
521
|
+
@apply my-2 rounded-lg border border-border bg-muted/30;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.minimal-tiptap-editor .ProseMirror details summary {
|
|
525
|
+
@apply cursor-pointer px-4 py-2 font-medium select-none;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
.minimal-tiptap-editor .ProseMirror details summary:hover {
|
|
529
|
+
@apply bg-muted/50;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
.minimal-tiptap-editor .ProseMirror details[open] summary {
|
|
533
|
+
@apply border-b border-border;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
.minimal-tiptap-editor .ProseMirror details > div:not(summary) {
|
|
537
|
+
@apply px-4 py-3;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
/* YouTube / Twitch embeds */
|
|
541
|
+
.minimal-tiptap-editor .ProseMirror .youtube-node,
|
|
542
|
+
.minimal-tiptap-editor .ProseMirror .twitch-node {
|
|
543
|
+
@apply my-4;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
.minimal-tiptap-editor .ProseMirror iframe {
|
|
547
|
+
@apply max-w-full rounded-lg border border-border;
|
|
548
|
+
aspect-ratio: 16 / 9;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
.minimal-tiptap-editor .ProseMirror .ProseMirror-selectednode iframe {
|
|
552
|
+
@apply outline outline-2 outline-offset-2 outline-primary;
|
|
553
|
+
}
|
|
554
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import { a as ComponentRegistry, P as PropValue } from '../../../../shared/stack.
|
|
2
|
+
import { a as ComponentRegistry, P as PropValue, F as FunctionRegistry } from '../../../../shared/stack.C5ZSOJGJ.cjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import '../../../../shared/stack.8nldKomx.cjs';
|
|
@@ -12,6 +12,8 @@ interface PageRendererProps {
|
|
|
12
12
|
componentRegistry?: ComponentRegistry;
|
|
13
13
|
/** Runtime variable values to override defaults */
|
|
14
14
|
variableValues?: Record<string, PropValue>;
|
|
15
|
+
/** Function registry for resolving function-type variable bindings */
|
|
16
|
+
functionRegistry?: FunctionRegistry;
|
|
15
17
|
/** Custom loading component */
|
|
16
18
|
LoadingComponent?: ComponentType;
|
|
17
19
|
/** Custom error component */
|
|
@@ -80,7 +82,7 @@ interface PageRendererProps {
|
|
|
80
82
|
* }
|
|
81
83
|
* ```
|
|
82
84
|
*/
|
|
83
|
-
declare function PageRenderer({ slug, componentRegistry, variableValues, LoadingComponent, ErrorComponent, NotFoundComponent, className, }: PageRendererProps): ReactNode;
|
|
85
|
+
declare function PageRenderer({ slug, componentRegistry, variableValues, functionRegistry, LoadingComponent, ErrorComponent, NotFoundComponent, className, }: PageRendererProps): ReactNode;
|
|
84
86
|
/**
|
|
85
87
|
* SuspensePageRenderer - Suspense-based PageRenderer for SSR
|
|
86
88
|
*
|
|
@@ -105,7 +107,7 @@ declare function PageRenderer({ slug, componentRegistry, variableValues, Loading
|
|
|
105
107
|
* }
|
|
106
108
|
* ```
|
|
107
109
|
*/
|
|
108
|
-
declare function SuspensePageRenderer({ slug, componentRegistry, variableValues, NotFoundComponent, className, }: Omit<PageRendererProps, "LoadingComponent" | "ErrorComponent">): ReactNode;
|
|
110
|
+
declare function SuspensePageRenderer({ slug, componentRegistry, variableValues, functionRegistry, NotFoundComponent, className, }: Omit<PageRendererProps, "LoadingComponent" | "ErrorComponent">): ReactNode;
|
|
109
111
|
|
|
110
112
|
declare function PageListPage(): react_jsx_runtime.JSX.Element;
|
|
111
113
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import { a as ComponentRegistry, P as PropValue } from '../../../../shared/stack.
|
|
2
|
+
import { a as ComponentRegistry, P as PropValue, F as FunctionRegistry } from '../../../../shared/stack.Dq4qVr1F.mjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import '../../../../shared/stack.8nldKomx.mjs';
|
|
@@ -12,6 +12,8 @@ interface PageRendererProps {
|
|
|
12
12
|
componentRegistry?: ComponentRegistry;
|
|
13
13
|
/** Runtime variable values to override defaults */
|
|
14
14
|
variableValues?: Record<string, PropValue>;
|
|
15
|
+
/** Function registry for resolving function-type variable bindings */
|
|
16
|
+
functionRegistry?: FunctionRegistry;
|
|
15
17
|
/** Custom loading component */
|
|
16
18
|
LoadingComponent?: ComponentType;
|
|
17
19
|
/** Custom error component */
|
|
@@ -80,7 +82,7 @@ interface PageRendererProps {
|
|
|
80
82
|
* }
|
|
81
83
|
* ```
|
|
82
84
|
*/
|
|
83
|
-
declare function PageRenderer({ slug, componentRegistry, variableValues, LoadingComponent, ErrorComponent, NotFoundComponent, className, }: PageRendererProps): ReactNode;
|
|
85
|
+
declare function PageRenderer({ slug, componentRegistry, variableValues, functionRegistry, LoadingComponent, ErrorComponent, NotFoundComponent, className, }: PageRendererProps): ReactNode;
|
|
84
86
|
/**
|
|
85
87
|
* SuspensePageRenderer - Suspense-based PageRenderer for SSR
|
|
86
88
|
*
|
|
@@ -105,7 +107,7 @@ declare function PageRenderer({ slug, componentRegistry, variableValues, Loading
|
|
|
105
107
|
* }
|
|
106
108
|
* ```
|
|
107
109
|
*/
|
|
108
|
-
declare function SuspensePageRenderer({ slug, componentRegistry, variableValues, NotFoundComponent, className, }: Omit<PageRendererProps, "LoadingComponent" | "ErrorComponent">): ReactNode;
|
|
110
|
+
declare function SuspensePageRenderer({ slug, componentRegistry, variableValues, functionRegistry, NotFoundComponent, className, }: Omit<PageRendererProps, "LoadingComponent" | "ErrorComponent">): ReactNode;
|
|
109
111
|
|
|
110
112
|
declare function PageListPage(): react_jsx_runtime.JSX.Element;
|
|
111
113
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import { a as ComponentRegistry, P as PropValue } from '../../../../shared/stack.
|
|
2
|
+
import { a as ComponentRegistry, P as PropValue, F as FunctionRegistry } from '../../../../shared/stack.D0QupDcQ.js';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import '../../../../shared/stack.8nldKomx.js';
|
|
@@ -12,6 +12,8 @@ interface PageRendererProps {
|
|
|
12
12
|
componentRegistry?: ComponentRegistry;
|
|
13
13
|
/** Runtime variable values to override defaults */
|
|
14
14
|
variableValues?: Record<string, PropValue>;
|
|
15
|
+
/** Function registry for resolving function-type variable bindings */
|
|
16
|
+
functionRegistry?: FunctionRegistry;
|
|
15
17
|
/** Custom loading component */
|
|
16
18
|
LoadingComponent?: ComponentType;
|
|
17
19
|
/** Custom error component */
|
|
@@ -80,7 +82,7 @@ interface PageRendererProps {
|
|
|
80
82
|
* }
|
|
81
83
|
* ```
|
|
82
84
|
*/
|
|
83
|
-
declare function PageRenderer({ slug, componentRegistry, variableValues, LoadingComponent, ErrorComponent, NotFoundComponent, className, }: PageRendererProps): ReactNode;
|
|
85
|
+
declare function PageRenderer({ slug, componentRegistry, variableValues, functionRegistry, LoadingComponent, ErrorComponent, NotFoundComponent, className, }: PageRendererProps): ReactNode;
|
|
84
86
|
/**
|
|
85
87
|
* SuspensePageRenderer - Suspense-based PageRenderer for SSR
|
|
86
88
|
*
|
|
@@ -105,7 +107,7 @@ declare function PageRenderer({ slug, componentRegistry, variableValues, Loading
|
|
|
105
107
|
* }
|
|
106
108
|
* ```
|
|
107
109
|
*/
|
|
108
|
-
declare function SuspensePageRenderer({ slug, componentRegistry, variableValues, NotFoundComponent, className, }: Omit<PageRendererProps, "LoadingComponent" | "ErrorComponent">): ReactNode;
|
|
110
|
+
declare function SuspensePageRenderer({ slug, componentRegistry, variableValues, functionRegistry, NotFoundComponent, className, }: Omit<PageRendererProps, "LoadingComponent" | "ErrorComponent">): ReactNode;
|
|
109
111
|
|
|
110
112
|
declare function PageListPage(): react_jsx_runtime.JSX.Element;
|
|
111
113
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
2
|
-
import { S as SerializedUIBuilderPage } from '../../../../shared/stack.
|
|
3
|
-
import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.
|
|
2
|
+
import { S as SerializedUIBuilderPage } from '../../../../shared/stack.Cl7ok_cY.cjs';
|
|
3
|
+
import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.C5ZSOJGJ.cjs';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../../../shared/stack.8nldKomx.cjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
2
|
-
import { S as SerializedUIBuilderPage } from '../../../../shared/stack.
|
|
3
|
-
import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.
|
|
2
|
+
import { S as SerializedUIBuilderPage } from '../../../../shared/stack.VMmQdbsJ.mjs';
|
|
3
|
+
import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.Dq4qVr1F.mjs';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../../../shared/stack.8nldKomx.mjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
2
|
-
import { S as SerializedUIBuilderPage } from '../../../../shared/stack.
|
|
3
|
-
import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.
|
|
2
|
+
import { S as SerializedUIBuilderPage } from '../../../../shared/stack.B2DwzF3r.js';
|
|
3
|
+
import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.D0QupDcQ.js';
|
|
4
4
|
import 'zod';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../../../shared/stack.8nldKomx.js';
|
|
@@ -3,8 +3,8 @@ import * as react from 'react';
|
|
|
3
3
|
import react__default, { ComponentType } from 'react';
|
|
4
4
|
import * as _btst_yar from '@btst/yar';
|
|
5
5
|
import { QueryClient } from '@tanstack/react-query';
|
|
6
|
-
import { c as UIBuilderClientHooks } from '../../../shared/stack.
|
|
7
|
-
import { a as ComponentRegistry,
|
|
6
|
+
import { c as UIBuilderClientHooks } from '../../../shared/stack.Cl7ok_cY.cjs';
|
|
7
|
+
import { a as ComponentRegistry, b as FieldConfigFunction, C as ComponentLayer } from '../../../shared/stack.C5ZSOJGJ.cjs';
|
|
8
8
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
9
|
import { A as AutoFormInputComponentProps, F as FieldConfigItem } from '../../../shared/stack.8nldKomx.cjs';
|
|
10
10
|
export { PageBuilderPage, PageListPage, PageRenderer, PageRendererProps, SuspensePageRenderer } from './components/index.cjs';
|