@mirohq/design-system-tag 0.2.2 → 0.3.1

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/module.js CHANGED
@@ -1,23 +1,39 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import React from 'react';
3
+ import { useNewDesignLanguage } from '@mirohq/design-system-experiments';
3
4
  import { styled } from '@mirohq/design-system-stitches';
4
5
  import { Primitive } from '@mirohq/design-system-primitive';
6
+ import { addPropsToChildren } from '@mirohq/design-system-utils';
7
+ import { isIconComponent } from '@mirohq/design-system-base-icon';
5
8
 
6
9
  const StyledTag = styled(Primitive.div, {
7
10
  display: "inline-flex",
8
- textTransform: "uppercase",
9
11
  width: "fit-content",
10
12
  paddingY: "$0",
11
13
  paddingX: "$50",
12
- borderRadius: "$25",
13
- fontSize: "$125",
14
- lineHeight: 1.6,
15
- fontWeight: "bold",
16
14
  letterSpacing: 0.25,
17
15
  "::selection": {
18
16
  backgroundColor: "transparent"
19
17
  },
20
18
  variants: {
19
+ v1: {
20
+ true: {
21
+ textTransform: "capitalize",
22
+ fontSize: "$150",
23
+ lineHeight: "$500",
24
+ fontWeight: "$semibold",
25
+ height: "$5",
26
+ alignItems: "center",
27
+ borderRadius: "$50"
28
+ },
29
+ false: {
30
+ textTransform: "uppercase",
31
+ fontSize: "$125",
32
+ lineHeight: 1.6,
33
+ fontWeight: "bold",
34
+ borderRadius: "$25"
35
+ }
36
+ },
21
37
  variant: {
22
38
  "beta-prominent": {
23
39
  backgroundColor: "$background-neutrals-inverted",
@@ -51,29 +67,649 @@ const StyledTag = styled(Primitive.div, {
51
67
  backgroundColor: "$background-success",
52
68
  color: "$text-success"
53
69
  },
54
- error: {
70
+ danger: {
55
71
  backgroundColor: "$background-danger-prominent",
56
72
  color: "$text-danger-inverted"
57
73
  },
58
74
  "error-subtle": {
59
75
  backgroundColor: "$background-danger-subtle",
60
76
  color: "$text-danger"
77
+ },
78
+ ghost: {
79
+ backgroundColor: "$background-neutrals",
80
+ color: "$text-neutrals"
81
+ },
82
+ lime: {},
83
+ orange: {},
84
+ sunshine: {},
85
+ coral: {},
86
+ moss: {},
87
+ teal: {},
88
+ cyan: {},
89
+ ocean: {},
90
+ lilac: {},
91
+ pink: {},
92
+ coal: {}
93
+ },
94
+ shade: {
95
+ subtle: {},
96
+ mild: {},
97
+ prominent: {}
98
+ },
99
+ border: {
100
+ true: {
101
+ boxSizing: "border-box",
102
+ paddingX: "3px",
103
+ border: "1px solid transparent"
61
104
  }
62
105
  }
63
106
  },
64
- defaultVariants: {
65
- variant: "primary-prominent"
66
- }
107
+ compoundVariants: [
108
+ {
109
+ v1: true,
110
+ variant: "neutral",
111
+ css: {
112
+ color: "$coal-text"
113
+ }
114
+ },
115
+ {
116
+ v1: true,
117
+ variant: "warning",
118
+ css: {
119
+ color: "$text-warning"
120
+ }
121
+ },
122
+ /** Lime variant */
123
+ {
124
+ variant: "lime",
125
+ shade: "subtle",
126
+ css: {
127
+ backgroundColor: "$lime-background-subtle",
128
+ color: "$lime-text"
129
+ }
130
+ },
131
+ {
132
+ variant: "lime",
133
+ shade: "subtle",
134
+ border: true,
135
+ css: {
136
+ borderColor: "$lime-border-subtle"
137
+ }
138
+ },
139
+ {
140
+ variant: "lime",
141
+ shade: "mild",
142
+ css: {
143
+ backgroundColor: "$lime-background-mild",
144
+ color: "$lime-text"
145
+ }
146
+ },
147
+ {
148
+ variant: "lime",
149
+ shade: "mild",
150
+ border: true,
151
+ css: {
152
+ borderColor: "$lime-border"
153
+ }
154
+ },
155
+ {
156
+ variant: "lime",
157
+ shade: "prominent",
158
+ css: {
159
+ backgroundColor: "$lime-background-prominent",
160
+ color: "$lime-text-subtle"
161
+ }
162
+ },
163
+ {
164
+ variant: "lime",
165
+ shade: "prominent",
166
+ border: true,
167
+ css: {
168
+ borderColor: "$lime-border-prominent"
169
+ }
170
+ },
171
+ /** Orange variant */
172
+ {
173
+ variant: "orange",
174
+ shade: "subtle",
175
+ css: {
176
+ backgroundColor: "$orange-background-subtle",
177
+ color: "$orange-text"
178
+ }
179
+ },
180
+ {
181
+ variant: "orange",
182
+ shade: "subtle",
183
+ border: true,
184
+ css: {
185
+ borderColor: "$orange-border-subtle"
186
+ }
187
+ },
188
+ {
189
+ variant: "orange",
190
+ shade: "mild",
191
+ css: {
192
+ backgroundColor: "$orange-background-mild",
193
+ color: "$orange-text"
194
+ }
195
+ },
196
+ {
197
+ variant: "orange",
198
+ shade: "mild",
199
+ border: true,
200
+ css: {
201
+ borderColor: "$orange-border"
202
+ }
203
+ },
204
+ {
205
+ variant: "orange",
206
+ shade: "prominent",
207
+ css: {
208
+ backgroundColor: "$orange-background-prominent",
209
+ color: "$orange-text-subtle"
210
+ }
211
+ },
212
+ {
213
+ variant: "orange",
214
+ shade: "prominent",
215
+ border: true,
216
+ css: {
217
+ borderColor: "$orange-border-prominent"
218
+ }
219
+ },
220
+ /** Sunshine variant */
221
+ {
222
+ variant: "sunshine",
223
+ shade: "subtle",
224
+ css: {
225
+ backgroundColor: "$sunshine-background-subtle",
226
+ color: "$sunshine-text"
227
+ }
228
+ },
229
+ {
230
+ variant: "sunshine",
231
+ shade: "subtle",
232
+ border: true,
233
+ css: {
234
+ borderColor: "$sunshine-border-subtle"
235
+ }
236
+ },
237
+ {
238
+ variant: "sunshine",
239
+ shade: "mild",
240
+ css: {
241
+ backgroundColor: "$sunshine-background-mild",
242
+ color: "$sunshine-text"
243
+ }
244
+ },
245
+ {
246
+ variant: "sunshine",
247
+ shade: "mild",
248
+ border: true,
249
+ css: {
250
+ borderColor: "$sunshine-border"
251
+ }
252
+ },
253
+ {
254
+ variant: "sunshine",
255
+ shade: "prominent",
256
+ css: {
257
+ backgroundColor: "$sunshine-background-prominent",
258
+ color: "$sunshine-text-subtle"
259
+ }
260
+ },
261
+ {
262
+ variant: "sunshine",
263
+ shade: "prominent",
264
+ border: true,
265
+ css: {
266
+ borderColor: "$sunshine-border-prominent"
267
+ }
268
+ },
269
+ /** Coral variant */
270
+ {
271
+ variant: "coral",
272
+ shade: "subtle",
273
+ css: {
274
+ backgroundColor: "$coral-background-subtle",
275
+ color: "$coral-text"
276
+ }
277
+ },
278
+ {
279
+ variant: "coral",
280
+ shade: "subtle",
281
+ border: true,
282
+ css: {
283
+ borderColor: "$coral-border-subtle"
284
+ }
285
+ },
286
+ {
287
+ variant: "coral",
288
+ shade: "mild",
289
+ css: {
290
+ backgroundColor: "$coral-background-mild",
291
+ color: "$coral-text"
292
+ }
293
+ },
294
+ {
295
+ variant: "coral",
296
+ shade: "mild",
297
+ border: true,
298
+ css: {
299
+ borderColor: "$coral-border"
300
+ }
301
+ },
302
+ {
303
+ variant: "coral",
304
+ shade: "prominent",
305
+ css: {
306
+ backgroundColor: "$coral-background-prominent",
307
+ color: "$coral-text-subtle"
308
+ }
309
+ },
310
+ {
311
+ variant: "coral",
312
+ shade: "prominent",
313
+ border: true,
314
+ css: {
315
+ borderColor: "$coral-border-prominent"
316
+ }
317
+ },
318
+ /** Moss variant */
319
+ {
320
+ variant: "moss",
321
+ shade: "subtle",
322
+ css: {
323
+ backgroundColor: "$moss-background-subtle",
324
+ color: "$moss-text"
325
+ }
326
+ },
327
+ {
328
+ variant: "moss",
329
+ shade: "subtle",
330
+ border: true,
331
+ css: {
332
+ borderColor: "$moss-border-subtle"
333
+ }
334
+ },
335
+ {
336
+ variant: "moss",
337
+ shade: "mild",
338
+ css: {
339
+ backgroundColor: "$moss-background-mild",
340
+ color: "$moss-text"
341
+ }
342
+ },
343
+ {
344
+ variant: "moss",
345
+ shade: "mild",
346
+ border: true,
347
+ css: {
348
+ borderColor: "$moss-border"
349
+ }
350
+ },
351
+ {
352
+ variant: "moss",
353
+ shade: "prominent",
354
+ css: {
355
+ backgroundColor: "$moss-background-prominent",
356
+ color: "$moss-text-subtle"
357
+ }
358
+ },
359
+ {
360
+ variant: "moss",
361
+ shade: "prominent",
362
+ border: true,
363
+ css: {
364
+ borderColor: "$moss-border-prominent"
365
+ }
366
+ },
367
+ /** Teal variant */
368
+ {
369
+ variant: "teal",
370
+ shade: "subtle",
371
+ css: {
372
+ backgroundColor: "$teal-background-subtle",
373
+ color: "$teal-text"
374
+ }
375
+ },
376
+ {
377
+ variant: "teal",
378
+ shade: "subtle",
379
+ border: true,
380
+ css: {
381
+ borderColor: "$teal-border-subtle"
382
+ }
383
+ },
384
+ {
385
+ variant: "teal",
386
+ shade: "mild",
387
+ css: {
388
+ backgroundColor: "$teal-background-mild",
389
+ color: "$teal-text"
390
+ }
391
+ },
392
+ {
393
+ variant: "teal",
394
+ shade: "mild",
395
+ border: true,
396
+ css: {
397
+ borderColor: "$teal-border"
398
+ }
399
+ },
400
+ {
401
+ variant: "teal",
402
+ shade: "prominent",
403
+ css: {
404
+ backgroundColor: "$teal-background-prominent",
405
+ color: "$teal-text-subtle"
406
+ }
407
+ },
408
+ {
409
+ variant: "teal",
410
+ shade: "prominent",
411
+ border: true,
412
+ css: {
413
+ borderColor: "$teal-border-prominent"
414
+ }
415
+ },
416
+ /** Cyan variant */
417
+ {
418
+ variant: "cyan",
419
+ shade: "subtle",
420
+ css: {
421
+ backgroundColor: "$cyan-background-subtle",
422
+ color: "$cyan-text"
423
+ }
424
+ },
425
+ {
426
+ variant: "cyan",
427
+ shade: "subtle",
428
+ border: true,
429
+ css: {
430
+ borderColor: "$cyan-border-subtle"
431
+ }
432
+ },
433
+ {
434
+ variant: "cyan",
435
+ shade: "mild",
436
+ css: {
437
+ backgroundColor: "$cyan-background-mild",
438
+ color: "$cyan-text"
439
+ }
440
+ },
441
+ {
442
+ variant: "cyan",
443
+ shade: "mild",
444
+ border: true,
445
+ css: {
446
+ borderColor: "$cyan-border"
447
+ }
448
+ },
449
+ {
450
+ variant: "cyan",
451
+ shade: "prominent",
452
+ css: {
453
+ backgroundColor: "$cyan-background-prominent",
454
+ color: "$cyan-text-subtle"
455
+ }
456
+ },
457
+ {
458
+ variant: "cyan",
459
+ shade: "prominent",
460
+ border: true,
461
+ css: {
462
+ borderColor: "$cyan-border-prominent"
463
+ }
464
+ },
465
+ /** Ocean variant */
466
+ {
467
+ variant: "ocean",
468
+ shade: "subtle",
469
+ css: {
470
+ backgroundColor: "$ocean-background-subtle",
471
+ color: "$ocean-text"
472
+ }
473
+ },
474
+ {
475
+ variant: "ocean",
476
+ shade: "subtle",
477
+ border: true,
478
+ css: {
479
+ borderColor: "$ocean-border-subtle"
480
+ }
481
+ },
482
+ {
483
+ variant: "ocean",
484
+ shade: "mild",
485
+ css: {
486
+ backgroundColor: "$ocean-background-mild",
487
+ color: "$ocean-text"
488
+ }
489
+ },
490
+ {
491
+ variant: "ocean",
492
+ shade: "mild",
493
+ border: true,
494
+ css: {
495
+ borderColor: "$ocean-border"
496
+ }
497
+ },
498
+ {
499
+ variant: "ocean",
500
+ shade: "prominent",
501
+ css: {
502
+ backgroundColor: "$ocean-background-prominent",
503
+ color: "$ocean-text-subtle"
504
+ }
505
+ },
506
+ {
507
+ variant: "ocean",
508
+ shade: "prominent",
509
+ border: true,
510
+ css: {
511
+ borderColor: "$ocean-border-prominent"
512
+ }
513
+ },
514
+ /** Lilac variant */
515
+ {
516
+ variant: "lilac",
517
+ shade: "subtle",
518
+ css: {
519
+ backgroundColor: "$lilac-background-subtle",
520
+ color: "$lilac-text"
521
+ }
522
+ },
523
+ {
524
+ variant: "lilac",
525
+ shade: "subtle",
526
+ border: true,
527
+ css: {
528
+ borderColor: "$lilac-border-subtle"
529
+ }
530
+ },
531
+ {
532
+ variant: "lilac",
533
+ shade: "mild",
534
+ css: {
535
+ backgroundColor: "$lilac-background-mild",
536
+ color: "$lilac-text"
537
+ }
538
+ },
539
+ {
540
+ variant: "lilac",
541
+ shade: "mild",
542
+ border: true,
543
+ css: {
544
+ borderColor: "$lilac-border"
545
+ }
546
+ },
547
+ {
548
+ variant: "lilac",
549
+ shade: "prominent",
550
+ css: {
551
+ backgroundColor: "$lilac-background-prominent",
552
+ color: "$lilac-text-subtle"
553
+ }
554
+ },
555
+ {
556
+ variant: "lilac",
557
+ shade: "prominent",
558
+ border: true,
559
+ css: {
560
+ borderColor: "$lilac-border-prominent"
561
+ }
562
+ },
563
+ /** Pink variant */
564
+ {
565
+ variant: "pink",
566
+ shade: "subtle",
567
+ css: {
568
+ backgroundColor: "$pink-background-subtle",
569
+ color: "$pink-text"
570
+ }
571
+ },
572
+ {
573
+ variant: "pink",
574
+ shade: "subtle",
575
+ border: true,
576
+ css: {
577
+ borderColor: "$pink-border-subtle"
578
+ }
579
+ },
580
+ {
581
+ variant: "pink",
582
+ shade: "mild",
583
+ css: {
584
+ backgroundColor: "$pink-background-mild",
585
+ color: "$pink-text"
586
+ }
587
+ },
588
+ {
589
+ variant: "pink",
590
+ shade: "mild",
591
+ border: true,
592
+ css: {
593
+ borderColor: "$pink-border"
594
+ }
595
+ },
596
+ {
597
+ variant: "pink",
598
+ shade: "prominent",
599
+ css: {
600
+ backgroundColor: "$pink-background-prominent",
601
+ color: "$pink-text-subtle"
602
+ }
603
+ },
604
+ {
605
+ variant: "pink",
606
+ shade: "prominent",
607
+ border: true,
608
+ css: {
609
+ borderColor: "$pink-border-prominent"
610
+ }
611
+ },
612
+ /** Coal variant */
613
+ {
614
+ variant: "coal",
615
+ shade: "subtle",
616
+ css: {
617
+ backgroundColor: "$coal-background-subtle",
618
+ color: "$coal-text"
619
+ }
620
+ },
621
+ {
622
+ variant: "coal",
623
+ shade: "subtle",
624
+ border: true,
625
+ css: {
626
+ borderColor: "$coal-border-subtle"
627
+ }
628
+ },
629
+ {
630
+ variant: "coal",
631
+ shade: "mild",
632
+ css: {
633
+ backgroundColor: "$coal-background-mild",
634
+ color: "$coal-text"
635
+ }
636
+ },
637
+ {
638
+ variant: "coal",
639
+ shade: "mild",
640
+ border: true,
641
+ css: {
642
+ borderColor: "$coal-border"
643
+ }
644
+ },
645
+ {
646
+ variant: "coal",
647
+ shade: "prominent",
648
+ css: {
649
+ backgroundColor: "$coal-background-prominent",
650
+ color: "$coal-text-subtle"
651
+ }
652
+ },
653
+ {
654
+ variant: "coal",
655
+ shade: "prominent",
656
+ border: true,
657
+ css: {
658
+ borderColor: "$coal-border-prominent"
659
+ }
660
+ }
661
+ ]
67
662
  });
68
663
  const StyledInner = styled(Primitive.span, {
69
664
  whiteSpace: "nowrap",
70
665
  overflow: "hidden",
71
- textOverflow: "ellipsis"
666
+ textOverflow: "ellipsis",
667
+ variants: {
668
+ v1: {
669
+ true: {
670
+ paddingBottom: "1px"
671
+ }
672
+ }
673
+ }
674
+ });
675
+
676
+ const StyledIconSlot = styled(Primitive.span, {
677
+ paddingInlineEnd: "$25",
678
+ "& svg": {
679
+ transform: "translateY(0.5px)"
680
+ }
681
+ });
682
+
683
+ const IconSlot = React.forwardRef(({ children, ...restProps }, forwardRef) => {
684
+ const formattedChildren = addPropsToChildren(
685
+ children,
686
+ (child) => isIconComponent(child),
687
+ {
688
+ "data-icon-component": "",
689
+ size: "small",
690
+ weight: "thin"
691
+ }
692
+ );
693
+ return /* @__PURE__ */ jsx(StyledIconSlot, { ...restProps, ref: forwardRef, children: formattedChildren });
72
694
  });
73
695
 
74
696
  const Tag = React.forwardRef(
75
- ({ variant = "primary", children, ...props }, forwardRef) => /* @__PURE__ */ jsx(StyledTag, { ...props, variant, ref: forwardRef, children: /* @__PURE__ */ jsx(StyledInner, { children }) })
697
+ ({ variant = "primary", shade = "mild", children, ...restProps }, forwardRef) => {
698
+ const [v1] = useNewDesignLanguage();
699
+ return /* @__PURE__ */ jsx(
700
+ StyledTag,
701
+ {
702
+ ...restProps,
703
+ variant,
704
+ shade,
705
+ v1,
706
+ ref: forwardRef,
707
+ children: /* @__PURE__ */ jsx(StyledInner, { v1, children })
708
+ }
709
+ );
710
+ }
76
711
  );
712
+ Tag.IconSlot = IconSlot;
77
713
 
78
714
  export { Tag };
79
715
  //# sourceMappingURL=module.js.map