@oxcide-ui/schema 0.0.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.
@@ -0,0 +1,670 @@
1
+ import type { IconName } from '@oxcide-ui/icons'
2
+ import { z } from 'zod'
3
+
4
+ export const tagPropsSchema = z.object({
5
+ /** Tag label / content */
6
+ value: z.string().optional(),
7
+ /** Severity / semantic color */
8
+ severity: z
9
+ .enum(['primary', 'secondary', 'success', 'info', 'warning', 'danger', 'help', 'contrast'])
10
+ .default('primary'),
11
+ /** Rounded / pill shape */
12
+ rounded: z.boolean().default(false),
13
+ /** Icon name from the library */
14
+ icon: z.string().optional() as z.ZodType<IconName | undefined>,
15
+ /** Show close icon */
16
+ closable: z.boolean().default(false)
17
+ })
18
+
19
+ export function getTagDefaults(props: TagProps = {}): TagResolvedProps {
20
+ return tagPropsSchema.parse(props)
21
+ }
22
+
23
+ /* @oxcide-sync:source
24
+ export type TagProps = z.input<typeof tagPropsSchema>
25
+ export type TagResolvedProps = z.infer<typeof tagPropsSchema>
26
+ @oxcide-sync:end */
27
+ export interface TagProps {
28
+ value?: string | undefined
29
+ severity?: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'help' | 'contrast' | undefined
30
+ rounded?: boolean | undefined
31
+ closable?: boolean | undefined
32
+ icon?:
33
+ | 'info'
34
+ | 'folderPlus'
35
+ | 'receipt'
36
+ | 'asterisk'
37
+ | 'star'
38
+ | 'faceSmile'
39
+ | 'pinterest'
40
+ | 'image'
41
+ | 'expand'
42
+ | 'penToSquare'
43
+ | 'wavePulse'
44
+ | 'turkishLira'
45
+ | 'spinnerDotted'
46
+ | 'crown'
47
+ | 'pauseCircle'
48
+ | 'stop'
49
+ | 'warehouse'
50
+ | 'objectsColumn'
51
+ | 'clipboard'
52
+ | 'copy'
53
+ | 'playCircle'
54
+ | 'play'
55
+ | 'venus'
56
+ | 'cartMinus'
57
+ | 'filePlus'
58
+ | 'microchip'
59
+ | 'twitch'
60
+ | 'video'
61
+ | 'buildingColumns'
62
+ | 'fileCheck'
63
+ | 'verified'
64
+ | 'microchipAi'
65
+ | 'trophy'
66
+ | 'barcode'
67
+ | 'code'
68
+ | 'fileArrowUp'
69
+ | 'upload'
70
+ | 'send'
71
+ | 'mars'
72
+ | 'tiktok'
73
+ | 'arrowUpRightAndArrowDownLeftFromCenter'
74
+ | 'ethereum'
75
+ | 'listCheck'
76
+ | 'thumbtack'
77
+ | 'arrowDownLeftAndArrowUpRightToCenter'
78
+ | 'equals'
79
+ | 'lightbulb'
80
+ | 'starHalf'
81
+ | 'addressBook'
82
+ | 'chartScatter'
83
+ | 'indianRupee'
84
+ | 'starHalfFill'
85
+ | 'cartArrowDown'
86
+ | 'calendarClock'
87
+ | 'sortUpFill'
88
+ | 'sparkles'
89
+ | 'bullseye'
90
+ | 'sortDownFill'
91
+ | 'graduationCap'
92
+ | 'hammer'
93
+ | 'bellSlash'
94
+ | 'gauge'
95
+ | 'shop'
96
+ | 'headphones'
97
+ | 'eraser'
98
+ | 'stopwatch'
99
+ | 'deleteLeft'
100
+ | 'hourglass'
101
+ | 'truck'
102
+ | 'wrench'
103
+ | 'microphone'
104
+ | 'megaphone'
105
+ | 'arrowRightArrowLeft'
106
+ | 'bitcoin'
107
+ | 'fileEdit'
108
+ | 'language'
109
+ | 'fileExport'
110
+ | 'save'
111
+ | 'fileImport'
112
+ | 'fileWord'
113
+ | 'microsoft'
114
+ | 'gift'
115
+ | 'box'
116
+ | 'cartPlus'
117
+ | 'thumbsDownFill'
118
+ | 'thumbsUpFill'
119
+ | 'arrowsAlt'
120
+ | 'calculator'
121
+ | 'sortAltSlash'
122
+ | 'arrowsH'
123
+ | 'arrowsV'
124
+ | 'pound'
125
+ | 'prime'
126
+ | 'chartPie'
127
+ | 'reddit'
128
+ | 'sync'
129
+ | 'refresh'
130
+ | 'shoppingBag'
131
+ | 'server'
132
+ | 'cloud'
133
+ | 'database'
134
+ | 'hashtag'
135
+ | 'tag'
136
+ | 'bookmarkFill'
137
+ | 'filterFill'
138
+ | 'heartFill'
139
+ | 'flagFill'
140
+ | 'circle'
141
+ | 'circleFill'
142
+ | 'bolt'
143
+ | 'history'
144
+ | 'at'
145
+ | 'arrowUpRight'
146
+ | 'arrowUpLeft'
147
+ | 'arrowDownLeft'
148
+ | 'arrowDownRight'
149
+ | 'telegram'
150
+ | 'stopCircle'
151
+ | 'whatsapp'
152
+ | 'building'
153
+ | 'qrcode'
154
+ | 'car'
155
+ | 'instagram'
156
+ | 'linkedin'
157
+ | 'slack'
158
+ | 'moon'
159
+ | 'sun'
160
+ | 'youtube'
161
+ | 'vimeo'
162
+ | 'flag'
163
+ | 'wallet'
164
+ | 'map'
165
+ | 'link'
166
+ | 'creditCard'
167
+ | 'discord'
168
+ | 'percentage'
169
+ | 'euro'
170
+ | 'book'
171
+ | 'shield'
172
+ | 'paypal'
173
+ | 'amazon'
174
+ | 'phone'
175
+ | 'filterSlash'
176
+ | 'facebook'
177
+ | 'github'
178
+ | 'twitter'
179
+ | 'stepBackwardAlt'
180
+ | 'stepForwardAlt'
181
+ | 'forward'
182
+ | 'backward'
183
+ | 'fastBackward'
184
+ | 'fastForward'
185
+ | 'pause'
186
+ | 'compass'
187
+ | 'idCard'
188
+ | 'ticket'
189
+ | 'fileO'
190
+ | 'reply'
191
+ | 'directionsAlt'
192
+ | 'directions'
193
+ | 'thumbsUp'
194
+ | 'thumbsDown'
195
+ | 'sortNumericDownAlt'
196
+ | 'sortNumericUpAlt'
197
+ | 'sortAlphaDownAlt'
198
+ | 'sortAlphaUpAlt'
199
+ | 'sortNumericDown'
200
+ | 'sortNumericUp'
201
+ | 'sortAlphaDown'
202
+ | 'sortAlphaUp'
203
+ | 'sortAlt'
204
+ | 'sortAmountUp'
205
+ | 'sortAmountDown'
206
+ | 'sortAmountDownAlt'
207
+ | 'sortAmountUpAlt'
208
+ | 'palette'
209
+ | 'undo'
210
+ | 'desktop'
211
+ | 'slidersV'
212
+ | 'slidersH'
213
+ | 'searchPlus'
214
+ | 'searchMinus'
215
+ | 'fileExcel'
216
+ | 'filePdf'
217
+ | 'checkSquare'
218
+ | 'chartLine'
219
+ | 'userEdit'
220
+ | 'exclamationCircle'
221
+ | 'android'
222
+ | 'mobile'
223
+ | 'google'
224
+ | 'search'
225
+ | 'apple'
226
+ | 'heart'
227
+ | 'tablet'
228
+ | 'key'
229
+ | 'unlock'
230
+ | 'shoppingCart'
231
+ | 'comments'
232
+ | 'comment'
233
+ | 'briefcase'
234
+ | 'bell'
235
+ | 'paperclip'
236
+ | 'shareAlt'
237
+ | 'envelope'
238
+ | 'volumeDown'
239
+ | 'volumeUp'
240
+ | 'volumeOff'
241
+ | 'eject'
242
+ | 'moneyBill'
243
+ | 'images'
244
+ | 'signIn'
245
+ | 'signOut'
246
+ | 'wifi'
247
+ | 'sitemap'
248
+ | 'chartBar'
249
+ | 'camera'
250
+ | 'dollar'
251
+ | 'lockOpen'
252
+ | 'table'
253
+ | 'mapMarker'
254
+ | 'list'
255
+ | 'eyeSlash'
256
+ | 'eye'
257
+ | 'folderOpen'
258
+ | 'folder'
259
+ | 'inbox'
260
+ | 'lock'
261
+ | 'tags'
262
+ | 'powerOff'
263
+ | 'questionCircle'
264
+ | 'question'
265
+ | 'clone'
266
+ | 'file'
267
+ | 'calendarTimes'
268
+ | 'calendarMinus'
269
+ | 'calendarPlus'
270
+ | 'ellipsisV'
271
+ | 'ellipsisH'
272
+ | 'bookmark'
273
+ | 'globe'
274
+ | 'replay'
275
+ | 'filter'
276
+ | 'sort'
277
+ | 'print'
278
+ | 'alignRight'
279
+ | 'alignLeft'
280
+ | 'alignCenter'
281
+ | 'alignJustify'
282
+ | 'cog'
283
+ | 'cloudDownload'
284
+ | 'download'
285
+ | 'cloudUpload'
286
+ | 'pencil'
287
+ | 'users'
288
+ | 'clock'
289
+ | 'userMinus'
290
+ | 'userPlus'
291
+ | 'trash'
292
+ | 'windowMinimize'
293
+ | 'windowMaximize'
294
+ | 'externalLink'
295
+ | 'user'
296
+ | 'exclamationTriangle'
297
+ | 'calendar'
298
+ | 'chevronCircleLeft'
299
+ | 'chevronCircleDown'
300
+ | 'chevronCircleRight'
301
+ | 'chevronCircleUp'
302
+ | 'angleDoubleDown'
303
+ | 'angleDoubleLeft'
304
+ | 'angleDoubleRight'
305
+ | 'angleDoubleUp'
306
+ | 'angleDown'
307
+ | 'angleLeft'
308
+ | 'angleRight'
309
+ | 'angleUp'
310
+ | 'ban'
311
+ | 'starFill'
312
+ | 'chevronLeft'
313
+ | 'chevronRight'
314
+ | 'chevronDown'
315
+ | 'chevronUp'
316
+ | 'caretLeft'
317
+ | 'caretRight'
318
+ | 'caretDown'
319
+ | 'caretUp'
320
+ | 'check'
321
+ | 'checkCircle'
322
+ | 'times'
323
+ | 'timesCircle'
324
+ | 'plus'
325
+ | 'plusCircle'
326
+ | 'minus'
327
+ | 'minusCircle'
328
+ | 'circleOn'
329
+ | 'circleOff'
330
+ | 'sortDown'
331
+ | 'sortUp'
332
+ | 'stepBackward'
333
+ | 'stepForward'
334
+ | 'thLarge'
335
+ | 'arrowDown'
336
+ | 'arrowLeft'
337
+ | 'arrowRight'
338
+ | 'arrowUp'
339
+ | 'bars'
340
+ | 'arrowCircleDown'
341
+ | 'arrowCircleLeft'
342
+ | 'arrowCircleRight'
343
+ | 'arrowCircleUp'
344
+ | 'infoCircle'
345
+ | 'home'
346
+ | 'spinner'
347
+ | undefined
348
+ }
349
+ export type TagResolvedProps = {
350
+ severity: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'help' | 'contrast'
351
+ rounded: boolean
352
+ closable: boolean
353
+ value?: string | undefined
354
+ icon?:
355
+ | 'info'
356
+ | 'folderPlus'
357
+ | 'receipt'
358
+ | 'asterisk'
359
+ | 'star'
360
+ | 'faceSmile'
361
+ | 'pinterest'
362
+ | 'image'
363
+ | 'expand'
364
+ | 'penToSquare'
365
+ | 'wavePulse'
366
+ | 'turkishLira'
367
+ | 'spinnerDotted'
368
+ | 'crown'
369
+ | 'pauseCircle'
370
+ | 'stop'
371
+ | 'warehouse'
372
+ | 'objectsColumn'
373
+ | 'clipboard'
374
+ | 'copy'
375
+ | 'playCircle'
376
+ | 'play'
377
+ | 'venus'
378
+ | 'cartMinus'
379
+ | 'filePlus'
380
+ | 'microchip'
381
+ | 'twitch'
382
+ | 'video'
383
+ | 'buildingColumns'
384
+ | 'fileCheck'
385
+ | 'verified'
386
+ | 'microchipAi'
387
+ | 'trophy'
388
+ | 'barcode'
389
+ | 'code'
390
+ | 'fileArrowUp'
391
+ | 'upload'
392
+ | 'send'
393
+ | 'mars'
394
+ | 'tiktok'
395
+ | 'arrowUpRightAndArrowDownLeftFromCenter'
396
+ | 'ethereum'
397
+ | 'listCheck'
398
+ | 'thumbtack'
399
+ | 'arrowDownLeftAndArrowUpRightToCenter'
400
+ | 'equals'
401
+ | 'lightbulb'
402
+ | 'starHalf'
403
+ | 'addressBook'
404
+ | 'chartScatter'
405
+ | 'indianRupee'
406
+ | 'starHalfFill'
407
+ | 'cartArrowDown'
408
+ | 'calendarClock'
409
+ | 'sortUpFill'
410
+ | 'sparkles'
411
+ | 'bullseye'
412
+ | 'sortDownFill'
413
+ | 'graduationCap'
414
+ | 'hammer'
415
+ | 'bellSlash'
416
+ | 'gauge'
417
+ | 'shop'
418
+ | 'headphones'
419
+ | 'eraser'
420
+ | 'stopwatch'
421
+ | 'deleteLeft'
422
+ | 'hourglass'
423
+ | 'truck'
424
+ | 'wrench'
425
+ | 'microphone'
426
+ | 'megaphone'
427
+ | 'arrowRightArrowLeft'
428
+ | 'bitcoin'
429
+ | 'fileEdit'
430
+ | 'language'
431
+ | 'fileExport'
432
+ | 'save'
433
+ | 'fileImport'
434
+ | 'fileWord'
435
+ | 'microsoft'
436
+ | 'gift'
437
+ | 'box'
438
+ | 'cartPlus'
439
+ | 'thumbsDownFill'
440
+ | 'thumbsUpFill'
441
+ | 'arrowsAlt'
442
+ | 'calculator'
443
+ | 'sortAltSlash'
444
+ | 'arrowsH'
445
+ | 'arrowsV'
446
+ | 'pound'
447
+ | 'prime'
448
+ | 'chartPie'
449
+ | 'reddit'
450
+ | 'sync'
451
+ | 'refresh'
452
+ | 'shoppingBag'
453
+ | 'server'
454
+ | 'cloud'
455
+ | 'database'
456
+ | 'hashtag'
457
+ | 'tag'
458
+ | 'bookmarkFill'
459
+ | 'filterFill'
460
+ | 'heartFill'
461
+ | 'flagFill'
462
+ | 'circle'
463
+ | 'circleFill'
464
+ | 'bolt'
465
+ | 'history'
466
+ | 'at'
467
+ | 'arrowUpRight'
468
+ | 'arrowUpLeft'
469
+ | 'arrowDownLeft'
470
+ | 'arrowDownRight'
471
+ | 'telegram'
472
+ | 'stopCircle'
473
+ | 'whatsapp'
474
+ | 'building'
475
+ | 'qrcode'
476
+ | 'car'
477
+ | 'instagram'
478
+ | 'linkedin'
479
+ | 'slack'
480
+ | 'moon'
481
+ | 'sun'
482
+ | 'youtube'
483
+ | 'vimeo'
484
+ | 'flag'
485
+ | 'wallet'
486
+ | 'map'
487
+ | 'link'
488
+ | 'creditCard'
489
+ | 'discord'
490
+ | 'percentage'
491
+ | 'euro'
492
+ | 'book'
493
+ | 'shield'
494
+ | 'paypal'
495
+ | 'amazon'
496
+ | 'phone'
497
+ | 'filterSlash'
498
+ | 'facebook'
499
+ | 'github'
500
+ | 'twitter'
501
+ | 'stepBackwardAlt'
502
+ | 'stepForwardAlt'
503
+ | 'forward'
504
+ | 'backward'
505
+ | 'fastBackward'
506
+ | 'fastForward'
507
+ | 'pause'
508
+ | 'compass'
509
+ | 'idCard'
510
+ | 'ticket'
511
+ | 'fileO'
512
+ | 'reply'
513
+ | 'directionsAlt'
514
+ | 'directions'
515
+ | 'thumbsUp'
516
+ | 'thumbsDown'
517
+ | 'sortNumericDownAlt'
518
+ | 'sortNumericUpAlt'
519
+ | 'sortAlphaDownAlt'
520
+ | 'sortAlphaUpAlt'
521
+ | 'sortNumericDown'
522
+ | 'sortNumericUp'
523
+ | 'sortAlphaDown'
524
+ | 'sortAlphaUp'
525
+ | 'sortAlt'
526
+ | 'sortAmountUp'
527
+ | 'sortAmountDown'
528
+ | 'sortAmountDownAlt'
529
+ | 'sortAmountUpAlt'
530
+ | 'palette'
531
+ | 'undo'
532
+ | 'desktop'
533
+ | 'slidersV'
534
+ | 'slidersH'
535
+ | 'searchPlus'
536
+ | 'searchMinus'
537
+ | 'fileExcel'
538
+ | 'filePdf'
539
+ | 'checkSquare'
540
+ | 'chartLine'
541
+ | 'userEdit'
542
+ | 'exclamationCircle'
543
+ | 'android'
544
+ | 'mobile'
545
+ | 'google'
546
+ | 'search'
547
+ | 'apple'
548
+ | 'heart'
549
+ | 'tablet'
550
+ | 'key'
551
+ | 'unlock'
552
+ | 'shoppingCart'
553
+ | 'comments'
554
+ | 'comment'
555
+ | 'briefcase'
556
+ | 'bell'
557
+ | 'paperclip'
558
+ | 'shareAlt'
559
+ | 'envelope'
560
+ | 'volumeDown'
561
+ | 'volumeUp'
562
+ | 'volumeOff'
563
+ | 'eject'
564
+ | 'moneyBill'
565
+ | 'images'
566
+ | 'signIn'
567
+ | 'signOut'
568
+ | 'wifi'
569
+ | 'sitemap'
570
+ | 'chartBar'
571
+ | 'camera'
572
+ | 'dollar'
573
+ | 'lockOpen'
574
+ | 'table'
575
+ | 'mapMarker'
576
+ | 'list'
577
+ | 'eyeSlash'
578
+ | 'eye'
579
+ | 'folderOpen'
580
+ | 'folder'
581
+ | 'inbox'
582
+ | 'lock'
583
+ | 'tags'
584
+ | 'powerOff'
585
+ | 'questionCircle'
586
+ | 'question'
587
+ | 'clone'
588
+ | 'file'
589
+ | 'calendarTimes'
590
+ | 'calendarMinus'
591
+ | 'calendarPlus'
592
+ | 'ellipsisV'
593
+ | 'ellipsisH'
594
+ | 'bookmark'
595
+ | 'globe'
596
+ | 'replay'
597
+ | 'filter'
598
+ | 'sort'
599
+ | 'print'
600
+ | 'alignRight'
601
+ | 'alignLeft'
602
+ | 'alignCenter'
603
+ | 'alignJustify'
604
+ | 'cog'
605
+ | 'cloudDownload'
606
+ | 'download'
607
+ | 'cloudUpload'
608
+ | 'pencil'
609
+ | 'users'
610
+ | 'clock'
611
+ | 'userMinus'
612
+ | 'userPlus'
613
+ | 'trash'
614
+ | 'windowMinimize'
615
+ | 'windowMaximize'
616
+ | 'externalLink'
617
+ | 'user'
618
+ | 'exclamationTriangle'
619
+ | 'calendar'
620
+ | 'chevronCircleLeft'
621
+ | 'chevronCircleDown'
622
+ | 'chevronCircleRight'
623
+ | 'chevronCircleUp'
624
+ | 'angleDoubleDown'
625
+ | 'angleDoubleLeft'
626
+ | 'angleDoubleRight'
627
+ | 'angleDoubleUp'
628
+ | 'angleDown'
629
+ | 'angleLeft'
630
+ | 'angleRight'
631
+ | 'angleUp'
632
+ | 'ban'
633
+ | 'starFill'
634
+ | 'chevronLeft'
635
+ | 'chevronRight'
636
+ | 'chevronDown'
637
+ | 'chevronUp'
638
+ | 'caretLeft'
639
+ | 'caretRight'
640
+ | 'caretDown'
641
+ | 'caretUp'
642
+ | 'check'
643
+ | 'checkCircle'
644
+ | 'times'
645
+ | 'timesCircle'
646
+ | 'plus'
647
+ | 'plusCircle'
648
+ | 'minus'
649
+ | 'minusCircle'
650
+ | 'circleOn'
651
+ | 'circleOff'
652
+ | 'sortDown'
653
+ | 'sortUp'
654
+ | 'stepBackward'
655
+ | 'stepForward'
656
+ | 'thLarge'
657
+ | 'arrowDown'
658
+ | 'arrowLeft'
659
+ | 'arrowRight'
660
+ | 'arrowUp'
661
+ | 'bars'
662
+ | 'arrowCircleDown'
663
+ | 'arrowCircleLeft'
664
+ | 'arrowCircleRight'
665
+ | 'arrowCircleUp'
666
+ | 'infoCircle'
667
+ | 'home'
668
+ | 'spinner'
669
+ | undefined
670
+ }