@btst/stack 2.5.1 → 2.5.3

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