@oardi/css-utils 0.131.1 → 0.133.0

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,6 +1,6 @@
1
1
  {
2
2
  "package": "@oardi/css-utils",
3
- "version": "0.131.1",
3
+ "version": "0.133.0",
4
4
  "breakpoints": { "sm": "576px", "md": "768px", "lg": "992px", "xl": "1200px", "xxl": "1400px" },
5
5
  "lifecycle": {
6
6
  "deprecated": [
@@ -76,7 +76,7 @@
76
76
  "values": ["normal", "tight", "wide", "wider", "widest"]
77
77
  },
78
78
  {
79
- "patterns": ["lh-{value}"],
79
+ "patterns": ["lh-{value}", "text-{breakpoint}-{value}"],
80
80
  "values": ["lg", "md", "sm", "xl", "xs", "xxl", "xxxl"]
81
81
  },
82
82
  {
@@ -3,7 +3,7 @@
3
3
  > Generated automatically. Do not edit manually.
4
4
 
5
5
  - Package: `@oardi/css-utils`
6
- - Version: `0.131.1`
6
+ - Version: `0.133.0`
7
7
  - Source: public SCSS entry point and utility configuration
8
8
 
9
9
  ## Usage guidance
@@ -104,6 +104,7 @@ Values: `normal` | `tight` | `wide` | `wider` | `widest`
104
104
  Values: `lg` | `md` | `sm` | `xl` | `xs` | `xxl` | `xxxl`
105
105
 
106
106
  - `lh-{value}`
107
+ - `text-{breakpoint}-{value}`
107
108
 
108
109
  Values: `loose` | `none` | `normal` | `relaxed` | `snug` | `tight`
109
110
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oardi/css-utils",
3
- "version": "0.131.1",
3
+ "version": "0.133.0",
4
4
  "author": "Ardian Shala",
5
5
  "homepage": "https://css-utils.oardi.com",
6
6
  "description": "Powerful set of semantic css classes with support for breakpoints, directions and spacings",
@@ -24,6 +24,10 @@
24
24
  "sass": "./scss/theme.scss",
25
25
  "default": "./scss/theme.scss"
26
26
  },
27
+ "./tokens": {
28
+ "sass": "./scss/variables.scss",
29
+ "default": "./scss/variables.scss"
30
+ },
27
31
  "./components/*": {
28
32
  "sass": "./scss/components/*.scss",
29
33
  "default": "./scss/components/*.scss"
package/readme.md CHANGED
@@ -86,7 +86,27 @@ For custom responsive SCSS, import the breakpoint mixins without loading the lib
86
86
 
87
87
  The Dart Sass CLI uses `@use 'pkg:@oardi/css-utils/breakpoints' as bp;` with `--pkg-importer=node`.
88
88
 
89
- Import theme values without generating CSS via `@use '@oardi/css-utils/theme' as theme;`. To load one component's styles, use a path such as `@use '@oardi/css-utils/components/button';`. The Dart Sass CLI uses the same paths with a `pkg:` prefix.
89
+ Import theme values without generating CSS via `@use '@oardi/css-utils/theme' as theme;`.
90
+
91
+ ## Load individual components
92
+
93
+ Load the shared design tokens once alongside the components you need:
94
+
95
+ ```scss
96
+ @use '@oardi/css-utils/tokens';
97
+ @use '@oardi/css-utils/components/button';
98
+ ```
99
+
100
+ `tokens` emits the default CSS variables, dark-theme overrides (`data-theme="dark"` on `<html>`) and reduced-motion settings. It establishes the shared cascade order without loading reset, typography, utility or component rules. Component imports require these tokens unless your application already loads the full library or supplies all required variables itself.
101
+
102
+ The full `@use '@oardi/css-utils';` import already includes the tokens. Sass emits them only once if both entry points are used in the same compilation. Override CSS variables after the imports as shown below.
103
+
104
+ The Dart Sass CLI uses the same paths with a `pkg:` prefix and `--pkg-importer=node`:
105
+
106
+ ```scss
107
+ @use 'pkg:@oardi/css-utils/tokens';
108
+ @use 'pkg:@oardi/css-utils/components/button';
109
+ ```
90
110
 
91
111
  ## Browser support
92
112
 
@@ -329,13 +329,13 @@
329
329
 
330
330
  @layer components {
331
331
  @media (forced-colors: active) {
332
- .form-check .form-check-input:where([type='checkbox']) {
332
+ .form-check .form-check-input {
333
333
  forced-color-adjust: none;
334
334
  background-color: Canvas;
335
335
  border-color: CanvasText;
336
336
 
337
337
  &:checked,
338
- &:indeterminate {
338
+ &:where([type='checkbox']):indeterminate {
339
339
  background-color: Highlight;
340
340
  border-color: Highlight;
341
341
  }
@@ -344,7 +344,11 @@
344
344
  border-color: HighlightText;
345
345
  }
346
346
 
347
- &:indeterminate::after {
347
+ &:where([type='checkbox']):indeterminate::after {
348
+ background-color: HighlightText;
349
+ }
350
+
351
+ &[type='radio']:checked::after {
348
352
  background-color: HighlightText;
349
353
  }
350
354
 
@@ -372,7 +376,11 @@
372
376
  border-color: GrayText;
373
377
  }
374
378
 
375
- &:indeterminate::after {
379
+ &:where([type='checkbox']):indeterminate::after {
380
+ background-color: GrayText;
381
+ }
382
+
383
+ &[type='radio']:checked::after {
376
384
  background-color: GrayText;
377
385
  }
378
386
  }
@@ -548,3 +556,46 @@
548
556
  }
549
557
  }
550
558
  }
559
+
560
+ @layer components {
561
+ @media (forced-colors: active) {
562
+ .form-switch .form-switch-input {
563
+ forced-color-adjust: none;
564
+ background-color: Canvas;
565
+ border-color: CanvasText;
566
+
567
+ &::after {
568
+ background-color: CanvasText;
569
+ box-shadow: none;
570
+ }
571
+
572
+ &:checked {
573
+ background-color: Highlight;
574
+ border-color: Highlight;
575
+
576
+ &::after {
577
+ background-color: HighlightText;
578
+ }
579
+ }
580
+
581
+ &:focus-visible,
582
+ &.is-focus-visible {
583
+ outline-color: Highlight;
584
+ }
585
+
586
+ &.is-invalid {
587
+ border-color: LinkText;
588
+ }
589
+
590
+ &:disabled,
591
+ &[disabled] {
592
+ background-color: Canvas;
593
+ border-color: GrayText;
594
+
595
+ &::after {
596
+ background-color: GrayText;
597
+ }
598
+ }
599
+ }
600
+ }
601
+ }
package/scss/text.scss CHANGED
@@ -87,6 +87,16 @@ $letterSpacings: 0, 1, 2, 3, 4, 5;
87
87
  }
88
88
  }
89
89
 
90
+ @each $bp, $bp-value in map.get(theme.$theme, breakpoints) {
91
+ @media (min-width: #{$bp-value}) {
92
+ @each $name, $value in map.get(theme.$theme, fontSizes) {
93
+ .text-#{$bp}-#{$name} {
94
+ font-size: var(--font-size-#{$name});
95
+ }
96
+ }
97
+ }
98
+ }
99
+
90
100
  // Deprecated: use .line-height-* utilities instead.
91
101
  @each $name, $value in map.get(theme.$theme, lineHeights) {
92
102
  .lh-#{$name} {