@actuate-media/cms-admin 0.49.1 → 0.49.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.
@@ -191,10 +191,10 @@ export function FolderTree({
191
191
  <div
192
192
  className={`group flex cursor-pointer items-center gap-1 rounded-md px-2 py-1.5 text-sm transition-colors ${
193
193
  isActive
194
- ? 'bg-blue-50 font-medium text-blue-700'
194
+ ? 'bg-primary/10 text-primary font-medium'
195
195
  : isDragOver
196
- ? 'bg-blue-100 ring-2 ring-blue-300'
197
- : 'text-gray-700 hover:bg-gray-100'
196
+ ? 'bg-primary/15 ring-primary/40 ring-2'
197
+ : 'text-foreground hover:bg-muted'
198
198
  }`}
199
199
  style={{ paddingLeft: `${8 + depth * 16}px` }}
200
200
  onClick={() => onSelect({ type: 'folder', folderId: folder.id })}
@@ -208,7 +208,7 @@ export function FolderTree({
208
208
  >
209
209
  <button
210
210
  type="button"
211
- className={`rounded p-0.5 transition-colors hover:bg-gray-200 ${hasChildren ? '' : 'invisible'}`}
211
+ className={`hover:bg-muted rounded p-0.5 transition-colors ${hasChildren ? '' : 'invisible'}`}
212
212
  onClick={(e) => {
213
213
  e.stopPropagation()
214
214
  toggleExpand(folder.id)
@@ -222,9 +222,9 @@ export function FolderTree({
222
222
  </button>
223
223
 
224
224
  {isExpanded ? (
225
- <FolderOpen className="h-4 w-4 shrink-0 text-blue-500" />
225
+ <FolderOpen className="text-primary h-4 w-4 shrink-0" />
226
226
  ) : (
227
- <FolderIcon className="h-4 w-4 shrink-0 text-gray-400" />
227
+ <FolderIcon className="text-muted-foreground h-4 w-4 shrink-0" />
228
228
  )}
229
229
 
230
230
  {editingId === folder.id ? (
@@ -238,7 +238,7 @@ export function FolderTree({
238
238
  if (e.key === 'Enter') handleRename(folder.id)
239
239
  if (e.key === 'Escape') setEditingId(null)
240
240
  }}
241
- className="min-w-0 flex-1 rounded border border-blue-300 px-1 py-0 text-sm focus:ring-1 focus:ring-blue-500 focus:outline-none"
241
+ className="border-primary/50 focus:ring-ring min-w-0 flex-1 rounded border px-1 py-0 text-sm focus:ring-1 focus:outline-none"
242
242
  onClick={(e) => e.stopPropagation()}
243
243
  />
244
244
  ) : (
@@ -246,18 +246,18 @@ export function FolderTree({
246
246
  )}
247
247
 
248
248
  {count !== undefined && !editingId && (
249
- <span className="text-xs text-gray-400 tabular-nums">{count}</span>
249
+ <span className="text-muted-foreground text-xs tabular-nums">{count}</span>
250
250
  )}
251
251
 
252
252
  <button
253
253
  type="button"
254
- className="rounded p-0.5 opacity-0 transition-all group-hover:opacity-100 hover:bg-gray-200"
254
+ className="hover:bg-muted rounded p-0.5 opacity-0 transition-all group-hover:opacity-100"
255
255
  onClick={(e) => {
256
256
  e.stopPropagation()
257
257
  setContextMenu({ id: folder.id, x: e.clientX, y: e.clientY })
258
258
  }}
259
259
  >
260
- <MoreHorizontal className="h-3.5 w-3.5 text-gray-500" />
260
+ <MoreHorizontal className="text-muted-foreground h-3.5 w-3.5" />
261
261
  </button>
262
262
  </div>
263
263
 
@@ -269,7 +269,7 @@ export function FolderTree({
269
269
  className="flex items-center gap-1 px-2 py-1"
270
270
  style={{ paddingLeft: `${24 + (depth + 1) * 16}px` }}
271
271
  >
272
- <FolderIcon className="h-4 w-4 shrink-0 text-gray-400" />
272
+ <FolderIcon className="text-muted-foreground h-4 w-4 shrink-0" />
273
273
  <input
274
274
  ref={newFolderInputRef}
275
275
  type="text"
@@ -284,7 +284,7 @@ export function FolderTree({
284
284
  }
285
285
  }}
286
286
  placeholder="Folder name..."
287
- className="min-w-0 flex-1 rounded border border-blue-300 px-1 py-0 text-sm focus:ring-1 focus:ring-blue-500 focus:outline-none"
287
+ className="border-primary/50 focus:ring-ring min-w-0 flex-1 rounded border px-1 py-0 text-sm focus:ring-1 focus:outline-none"
288
288
  />
289
289
  </div>
290
290
  )}
@@ -297,7 +297,7 @@ export function FolderTree({
297
297
  if (loading) {
298
298
  return (
299
299
  <div className="flex items-center justify-center py-8">
300
- <Loader2 className="h-5 w-5 animate-spin text-gray-400" />
300
+ <Loader2 className="text-muted-foreground h-5 w-5 animate-spin" />
301
301
  </div>
302
302
  )
303
303
  }
@@ -309,8 +309,8 @@ export function FolderTree({
309
309
  type="button"
310
310
  className={`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors ${
311
311
  isSelected({ type: 'smart', smart: 'all' })
312
- ? 'bg-blue-50 font-medium text-blue-700'
313
- : 'text-gray-700 hover:bg-gray-100'
312
+ ? 'bg-primary/10 text-primary font-medium'
313
+ : 'text-foreground hover:bg-muted'
314
314
  }`}
315
315
  onClick={() => onSelect({ type: 'smart', smart: 'all' })}
316
316
  onDragOver={(e) => handleDragOver(e, null)}
@@ -320,7 +320,7 @@ export function FolderTree({
320
320
  <LayoutGrid className="h-4 w-4 shrink-0" />
321
321
  <span className="flex-1 text-left">All</span>
322
322
  {totalCount !== undefined && (
323
- <span className="text-xs text-gray-400 tabular-nums">{totalCount}</span>
323
+ <span className="text-muted-foreground text-xs tabular-nums">{totalCount}</span>
324
324
  )}
325
325
  </button>
326
326
 
@@ -328,15 +328,15 @@ export function FolderTree({
328
328
  type="button"
329
329
  className={`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors ${
330
330
  isSelected({ type: 'smart', smart: 'recent' })
331
- ? 'bg-blue-50 font-medium text-blue-700'
332
- : 'text-gray-700 hover:bg-gray-100'
331
+ ? 'bg-primary/10 text-primary font-medium'
332
+ : 'text-foreground hover:bg-muted'
333
333
  }`}
334
334
  onClick={() => onSelect({ type: 'smart', smart: 'recent' })}
335
335
  >
336
336
  <Clock className="h-4 w-4 shrink-0" />
337
337
  <span className="flex-1 text-left">Recent</span>
338
338
  {recentCount !== undefined && (
339
- <span className="text-xs text-gray-400 tabular-nums">{recentCount}</span>
339
+ <span className="text-muted-foreground text-xs tabular-nums">{recentCount}</span>
340
340
  )}
341
341
  </button>
342
342
 
@@ -344,27 +344,27 @@ export function FolderTree({
344
344
  type="button"
345
345
  className={`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors ${
346
346
  isSelected({ type: 'smart', smart: 'uncategorized' })
347
- ? 'bg-blue-50 font-medium text-blue-700'
348
- : 'text-gray-700 hover:bg-gray-100'
347
+ ? 'bg-primary/10 text-primary font-medium'
348
+ : 'text-foreground hover:bg-muted'
349
349
  }`}
350
350
  onClick={() => onSelect({ type: 'smart', smart: 'uncategorized' })}
351
351
  >
352
352
  <Inbox className="h-4 w-4 shrink-0" />
353
353
  <span className="flex-1 text-left">Uncategorized</span>
354
354
  {uncategorizedCount !== undefined && (
355
- <span className="text-xs text-gray-400 tabular-nums">{uncategorizedCount}</span>
355
+ <span className="text-muted-foreground text-xs tabular-nums">{uncategorizedCount}</span>
356
356
  )}
357
357
  </button>
358
358
  </div>
359
359
 
360
- <div className="my-1 border-t border-gray-200" />
360
+ <div className="border-border my-1 border-t" />
361
361
 
362
362
  <div className="flex-1 space-y-0.5 overflow-y-auto px-1 py-1">
363
363
  {folders.map((folder) => renderFolder(folder, 0))}
364
364
 
365
365
  {creatingIn === null && (
366
366
  <div className="flex items-center gap-1 px-2 py-1">
367
- <FolderIcon className="ml-5 h-4 w-4 shrink-0 text-gray-400" />
367
+ <FolderIcon className="text-muted-foreground ml-5 h-4 w-4 shrink-0" />
368
368
  <input
369
369
  ref={newFolderInputRef}
370
370
  type="text"
@@ -379,20 +379,20 @@ export function FolderTree({
379
379
  }
380
380
  }}
381
381
  placeholder="Folder name..."
382
- className="min-w-0 flex-1 rounded border border-blue-300 px-1 py-0 text-sm focus:ring-1 focus:ring-blue-500 focus:outline-none"
382
+ className="border-primary/50 focus:ring-ring min-w-0 flex-1 rounded border px-1 py-0 text-sm focus:ring-1 focus:outline-none"
383
383
  />
384
384
  </div>
385
385
  )}
386
386
  </div>
387
387
 
388
- <div className="border-t border-gray-200 p-2">
388
+ <div className="border-border border-t p-2">
389
389
  <button
390
390
  type="button"
391
391
  onClick={() => {
392
392
  setCreatingIn(null)
393
393
  setNewFolderName('')
394
394
  }}
395
- className="flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-gray-600 transition-colors hover:bg-gray-100"
395
+ className="text-muted-foreground hover:bg-muted flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors"
396
396
  >
397
397
  <Plus className="h-4 w-4" />
398
398
  New Folder
@@ -401,12 +401,12 @@ export function FolderTree({
401
401
 
402
402
  {contextMenu && (
403
403
  <div
404
- className="fixed z-50 min-w-[160px] rounded-lg border border-gray-200 bg-white py-1 shadow-lg"
404
+ className="border-border bg-card fixed z-50 min-w-[160px] rounded-lg border py-1 shadow-lg"
405
405
  style={{ left: contextMenu.x, top: contextMenu.y }}
406
406
  >
407
407
  <button
408
408
  type="button"
409
- className="flex w-full items-center gap-2 px-3 py-1.5 text-sm text-gray-700 transition-colors hover:bg-gray-100"
409
+ className="text-foreground hover:bg-muted flex w-full items-center gap-2 px-3 py-1.5 text-sm transition-colors"
410
410
  onClick={() => {
411
411
  const folder = findFolder(folders, contextMenu.id)
412
412
  if (folder) {
@@ -421,7 +421,7 @@ export function FolderTree({
421
421
  </button>
422
422
  <button
423
423
  type="button"
424
- className="flex w-full items-center gap-2 px-3 py-1.5 text-sm text-gray-700 transition-colors hover:bg-gray-100"
424
+ className="text-foreground hover:bg-muted flex w-full items-center gap-2 px-3 py-1.5 text-sm transition-colors"
425
425
  onClick={() => {
426
426
  setCreatingIn(contextMenu.id)
427
427
  setNewFolderName('')
@@ -432,10 +432,10 @@ export function FolderTree({
432
432
  <FolderPlus className="h-3.5 w-3.5" />
433
433
  New Subfolder
434
434
  </button>
435
- <div className="my-1 border-t border-gray-200" />
435
+ <div className="border-border my-1 border-t" />
436
436
  <button
437
437
  type="button"
438
- className="flex w-full items-center gap-2 px-3 py-1.5 text-sm text-red-600 transition-colors hover:bg-red-50"
438
+ className="text-destructive hover:bg-destructive/10 flex w-full items-center gap-2 px-3 py-1.5 text-sm transition-colors"
439
439
  onClick={() => {
440
440
  handleDelete(contextMenu.id)
441
441
  setContextMenu(null)