@bcc-code/design-tokens 3.0.5 → 3.0.6

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @bcc-code/design-tokens
2
2
 
3
- Design tokens for BCC projects with CSS, Tailwind v4, and PrimeVue support.
3
+ BCC Design System tokens with support for CSS variables, Tailwind CSS v4, and PrimeVue themes. Generates consistent design tokens from Figma Token Studio with automatic light/dark mode support.
4
4
 
5
5
  ## Installation
6
6
 
@@ -12,52 +12,91 @@ npm install @bcc-code/design-tokens
12
12
 
13
13
  ### CSS Variables
14
14
 
15
+ Import theme-specific CSS variables:
16
+
15
17
  ```css
16
18
  @import '@bcc-code/design-tokens/css/light';
17
- /* or */
18
19
  @import '@bcc-code/design-tokens/css/dark';
19
20
  ```
20
21
 
22
+ Use semantic tokens in your styles:
23
+
21
24
  ```css
22
25
  .card {
23
26
  background: var(--color-elevation-surface-default);
24
27
  color: var(--color-text-default);
25
28
  padding: var(--space-300);
29
+ border-radius: var(--border-radius-md);
30
+ font-family: var(--font-family-archivo);
26
31
  }
27
32
  ```
28
33
 
29
34
  ### Tailwind CSS v4
30
35
 
36
+ Import Tailwind utilities with design tokens:
37
+
31
38
  ```css
32
39
  @import '@bcc-code/design-tokens/tailwind/light';
33
- /* or */
34
40
  @import '@bcc-code/design-tokens/tailwind/dark';
35
41
  ```
36
42
 
43
+ Use utility classes:
44
+
37
45
  ```html
38
- <div class="bg-elevation-surface-default text-default p-300">
39
- Content
46
+ <div class="bg-surface-default text-default p-300 rounded-md">
47
+ Content with BCC design tokens
40
48
  </div>
41
49
  ```
42
50
 
43
- ### PrimeVue
51
+ ### PrimeVue Integration
52
+
53
+ Configure PrimeVue with BCC theme preset:
44
54
 
45
55
  ```javascript
46
- import BCCPreset from "@bcc-code/design-tokens/primevue";
56
+ import { createApp } from 'vue'
57
+ import PrimeVue from 'primevue/config'
58
+ import BCCPreset from '@bcc-code/design-tokens/primevue'
59
+
60
+ const app = createApp(App)
47
61
 
48
62
  app.use(PrimeVue, {
49
63
  theme: {
50
- preset: BCCPreset
64
+ preset: BCCPreset,
65
+ options: {
66
+ prefix: 'p',
67
+ darkModeSelector: '.p-dark',
68
+ cssLayer: false
69
+ }
51
70
  }
52
- });
71
+ })
72
+ ```
73
+
74
+ Enable dark mode by adding the `p-dark` class to your root element:
75
+
76
+ ```javascript
77
+ // Toggle dark mode
78
+ document.documentElement.classList.toggle('p-dark')
53
79
  ```
54
80
 
55
- ## CDN
81
+ ## Token Categories
82
+
83
+ - **Colors**: Semantic color tokens for text, backgrounds, borders, and states
84
+ - **Typography**: Font families, sizes, weights, and line heights
85
+ - **Spacing**: Consistent spacing scale for margins, padding, and gaps
86
+ - **Border Radius**: Border radius values for consistent corner rounding
87
+ - **Elevation**: Surface tokens for different elevation levels
88
+
89
+ ## CDN Usage
56
90
 
57
91
  ```html
58
92
  <link rel="stylesheet" href="https://unpkg.com/@bcc-code/design-tokens@latest/build/bcc/light.css">
93
+ <link rel="stylesheet" href="https://unpkg.com/@bcc-code/design-tokens@latest/build/bcc/dark.css">
59
94
  ```
60
95
 
96
+ ## Development
97
+
98
+ A demo application is available in the `demo/` directory to test and showcase the design token integration with PrimeVue components.
99
+
61
100
  ## License
62
101
 
63
102
  MIT © BCC Code
@@ -168,6 +168,7 @@
168
168
  --spacing-600: 3rem; /** 48px */
169
169
  --spacing-800: 4rem; /** 64px */
170
170
  --spacing-1000: 5rem; /** 80px */
171
+ --spacing: 0.5rem;
171
172
  --spacing-negative-25: -0.125rem; /** -2px */
172
173
  --spacing-negative-50: -0.25rem; /** -4px */
173
174
  --spacing-negative-75: -0.375rem; /** -6px */
@@ -451,3 +452,99 @@
451
452
  @utility icon-* {
452
453
  color: --value(--color-icon-*);
453
454
  }
455
+
456
+ @utility p-* {
457
+ padding: --value(--spacing-*);
458
+ }
459
+
460
+ @utility px-* {
461
+ padding-inline: --value(--spacing-*);
462
+ }
463
+
464
+ @utility py-* {
465
+ padding-block: --value(--spacing-*);
466
+ }
467
+
468
+ @utility pt-* {
469
+ padding-top: --value(--spacing-*);
470
+ }
471
+
472
+ @utility pr-* {
473
+ padding-right: --value(--spacing-*);
474
+ }
475
+
476
+ @utility pb-* {
477
+ padding-bottom: --value(--spacing-*);
478
+ }
479
+
480
+ @utility pl-* {
481
+ padding-left: --value(--spacing-*);
482
+ }
483
+
484
+ @utility m-* {
485
+ margin: --value(--spacing-*);
486
+ }
487
+
488
+ @utility mx-* {
489
+ margin-inline: --value(--spacing-*);
490
+ }
491
+
492
+ @utility my-* {
493
+ margin-block: --value(--spacing-*);
494
+ }
495
+
496
+ @utility mt-* {
497
+ margin-top: --value(--spacing-*);
498
+ }
499
+
500
+ @utility mr-* {
501
+ margin-right: --value(--spacing-*);
502
+ }
503
+
504
+ @utility mb-* {
505
+ margin-bottom: --value(--spacing-*);
506
+ }
507
+
508
+ @utility ml-* {
509
+ margin-left: --value(--spacing-*);
510
+ }
511
+
512
+ @utility gap-* {
513
+ gap: --value(--spacing-*);
514
+ }
515
+
516
+ @utility gap-x-* {
517
+ column-gap: --value(--spacing-*);
518
+ }
519
+
520
+ @utility gap-y-* {
521
+ row-gap: --value(--spacing-*);
522
+ }
523
+
524
+ @utility -m-* {
525
+ margin: --value(--spacing-negative-*);
526
+ }
527
+
528
+ @utility -mx-* {
529
+ margin-inline: --value(--spacing-negative-*);
530
+ }
531
+
532
+ @utility -my-* {
533
+ margin-block: --value(--spacing-negative-*);
534
+ }
535
+
536
+ @utility -mt-* {
537
+ margin-top: --value(--spacing-negative-*);
538
+ }
539
+
540
+ @utility -mr-* {
541
+ margin-right: --value(--spacing-negative-*);
542
+ }
543
+
544
+ @utility -mb-* {
545
+ margin-bottom: --value(--spacing-negative-*);
546
+ }
547
+
548
+ @utility -ml-* {
549
+ margin-left: --value(--spacing-negative-*);
550
+ }
@@ -166,6 +166,7 @@
166
166
  --spacing-600: 3rem; /** 48px */
167
167
  --spacing-800: 4rem; /** 64px */
168
168
  --spacing-1000: 5rem; /** 80px */
169
+ --spacing: 0.5rem;
169
170
  --spacing-negative-25: -0.125rem; /** -2px */
170
171
  --spacing-negative-50: -0.25rem; /** -4px */
171
172
  --spacing-negative-75: -0.375rem; /** -6px */
@@ -535,3 +536,99 @@
535
536
  @utility icon-* {
536
537
  color: --value(--color-icon-*);
537
538
  }
539
+
540
+ @utility p-* {
541
+ padding: --value(--spacing-*);
542
+ }
543
+
544
+ @utility px-* {
545
+ padding-inline: --value(--spacing-*);
546
+ }
547
+
548
+ @utility py-* {
549
+ padding-block: --value(--spacing-*);
550
+ }
551
+
552
+ @utility pt-* {
553
+ padding-top: --value(--spacing-*);
554
+ }
555
+
556
+ @utility pr-* {
557
+ padding-right: --value(--spacing-*);
558
+ }
559
+
560
+ @utility pb-* {
561
+ padding-bottom: --value(--spacing-*);
562
+ }
563
+
564
+ @utility pl-* {
565
+ padding-left: --value(--spacing-*);
566
+ }
567
+
568
+ @utility m-* {
569
+ margin: --value(--spacing-*);
570
+ }
571
+
572
+ @utility mx-* {
573
+ margin-inline: --value(--spacing-*);
574
+ }
575
+
576
+ @utility my-* {
577
+ margin-block: --value(--spacing-*);
578
+ }
579
+
580
+ @utility mt-* {
581
+ margin-top: --value(--spacing-*);
582
+ }
583
+
584
+ @utility mr-* {
585
+ margin-right: --value(--spacing-*);
586
+ }
587
+
588
+ @utility mb-* {
589
+ margin-bottom: --value(--spacing-*);
590
+ }
591
+
592
+ @utility ml-* {
593
+ margin-left: --value(--spacing-*);
594
+ }
595
+
596
+ @utility gap-* {
597
+ gap: --value(--spacing-*);
598
+ }
599
+
600
+ @utility gap-x-* {
601
+ column-gap: --value(--spacing-*);
602
+ }
603
+
604
+ @utility gap-y-* {
605
+ row-gap: --value(--spacing-*);
606
+ }
607
+
608
+ @utility -m-* {
609
+ margin: --value(--spacing-negative-*);
610
+ }
611
+
612
+ @utility -mx-* {
613
+ margin-inline: --value(--spacing-negative-*);
614
+ }
615
+
616
+ @utility -my-* {
617
+ margin-block: --value(--spacing-negative-*);
618
+ }
619
+
620
+ @utility -mt-* {
621
+ margin-top: --value(--spacing-negative-*);
622
+ }
623
+
624
+ @utility -mr-* {
625
+ margin-right: --value(--spacing-negative-*);
626
+ }
627
+
628
+ @utility -mb-* {
629
+ margin-bottom: --value(--spacing-negative-*);
630
+ }
631
+
632
+ @utility -ml-* {
633
+ margin-left: --value(--spacing-negative-*);
634
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bcc-code/design-tokens",
3
- "version": "3.0.5",
3
+ "version": "3.0.6",
4
4
  "description": "Design tokens build system",
5
5
  "type": "module",
6
6
  "exports": {