fokus-styles 2.6.2 → 2.7.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.
Files changed (82) hide show
  1. package/README.md +5 -0
  2. package/dist/css/components.css +534 -27
  3. package/dist/css/components.min.css +1 -1
  4. package/dist/css/fokus-components.css +534 -27
  5. package/dist/css/fokus-components.min.css +1 -1
  6. package/dist/css/fokus-core.css +42 -0
  7. package/dist/css/fokus-core.min.css +1 -1
  8. package/dist/css/fokus-dark.css +42 -0
  9. package/dist/css/fokus-dark.min.css +1 -1
  10. package/dist/css/fokus-helpers.css +646 -0
  11. package/dist/css/fokus-helpers.min.css +2 -0
  12. package/dist/css/fokus-rtl.css +9667 -2716
  13. package/dist/css/fokus-rtl.min.css +1 -1
  14. package/dist/css/fokus-utilities.css +9175 -2682
  15. package/dist/css/fokus-utilities.min.css +1 -1
  16. package/dist/css/fokus.css +9893 -2799
  17. package/dist/css/fokus.min.css +1 -1
  18. package/dist/css/forms.css +206 -28
  19. package/dist/css/forms.min.css +1 -1
  20. package/dist/css/helpers.css +9175 -2682
  21. package/dist/css/helpers.min.css +1 -1
  22. package/dist/css/layout.css +42 -0
  23. package/dist/css/layout.min.css +1 -1
  24. package/dist/js/fokus.js +91 -69
  25. package/dist/js/fokus.min.js +19 -19
  26. package/package.json +2 -1
  27. package/packages/fokus-components/scss/components/_button-group.scss +12 -0
  28. package/packages/fokus-components/scss/components/_buttons.scss +39 -6
  29. package/packages/fokus-components/scss/components/_datepicker.scss +47 -1
  30. package/packages/fokus-components/scss/components/_dropdown.scss +212 -6
  31. package/packages/fokus-components/scss/components/_index.scss +1 -0
  32. package/packages/fokus-components/scss/components/_menu.scss +95 -0
  33. package/packages/fokus-components/scss/components/_pagination.scss +43 -16
  34. package/packages/fokus-components/scss/components/_segmented-control.scss +16 -1
  35. package/packages/fokus-components/scss/components/_tabs.scss +58 -0
  36. package/packages/fokus-components/scss/components/_tag.scss +32 -0
  37. package/packages/fokus-components/scss/forms/_forms.scss +155 -28
  38. package/packages/fokus-components/scss/forms/_range.scss +29 -0
  39. package/packages/fokus-core/scss/base/_motion.scss +3 -1
  40. package/packages/fokus-core/scss/settings/_config.scss +39 -1
  41. package/packages/fokus-core/scss/settings/_index.scss +1 -0
  42. package/packages/fokus-core/scss/settings/_utilities.scss +86 -0
  43. package/packages/fokus-core/scss/themes/_dark.scss +9 -0
  44. package/packages/fokus-core/scss/tokens/_root.scss +23 -0
  45. package/packages/fokus-js/js/combobox.js +2 -6
  46. package/packages/fokus-js/js/command-palette.js +2 -6
  47. package/packages/fokus-js/js/core/positioning.d.ts +2 -0
  48. package/packages/fokus-js/js/core/positioning.js +2 -2
  49. package/packages/fokus-js/js/core/theme.js +8 -0
  50. package/packages/fokus-js/js/datatable.js +6 -2
  51. package/packages/fokus-js/js/datepicker.js +13 -5
  52. package/packages/fokus-js/js/dropdown.js +37 -5
  53. package/packages/fokus-js/js/nested-menu.js +2 -6
  54. package/packages/fokus-js/js/notification-center.js +2 -6
  55. package/packages/fokus-js/js/pagination.js +15 -9
  56. package/packages/fokus-js/js/popover.js +2 -6
  57. package/packages/fokus-js/js/select.js +4 -0
  58. package/packages/fokus-js/js/tabs.js +4 -4
  59. package/packages/fokus-js/js/tooltip.js +2 -6
  60. package/packages/fokus-utilities/scss/utilities/_api.scss +62 -69
  61. package/packages/fokus-utilities/scss/utilities/_borders.scss +39 -0
  62. package/packages/fokus-utilities/scss/utilities/_colors.scss +27 -0
  63. package/packages/fokus-utilities/scss/utilities/_display.scss +20 -16
  64. package/packages/fokus-utilities/scss/utilities/_effects.scss +53 -0
  65. package/packages/fokus-utilities/scss/utilities/_flex.scss +50 -35
  66. package/packages/fokus-utilities/scss/utilities/_generated.scss +21 -0
  67. package/packages/fokus-utilities/scss/utilities/_grid.scss +25 -0
  68. package/packages/fokus-utilities/scss/utilities/_helpers.scss +35 -0
  69. package/packages/fokus-utilities/scss/utilities/_index.scss +11 -0
  70. package/packages/fokus-utilities/scss/utilities/_interactivity.scss +51 -0
  71. package/packages/fokus-utilities/scss/utilities/_layout.scss +61 -0
  72. package/packages/fokus-utilities/scss/utilities/_motion.scss +51 -0
  73. package/packages/fokus-utilities/scss/utilities/_position.scss +6 -6
  74. package/packages/fokus-utilities/scss/utilities/_print.scss +22 -18
  75. package/packages/fokus-utilities/scss/utilities/_shadow.scss +7 -3
  76. package/packages/fokus-utilities/scss/utilities/_sizing.scss +46 -0
  77. package/packages/fokus-utilities/scss/utilities/_spacing.scss +40 -113
  78. package/packages/fokus-utilities/scss/utilities/_states.scss +26 -10
  79. package/packages/fokus-utilities/scss/utilities/_transforms.scss +67 -0
  80. package/packages/fokus-utilities/scss/utilities/_typography.scss +72 -94
  81. package/scss/entries/helpers-entry.scss +5 -0
  82. package/scss/entries/rtl-entry.scss +6 -3
@@ -0,0 +1,39 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+
3
+ @layer utilities {
4
+ @if fs-config-list-enabled(borders, borders) and fs-feature-enabled(rounded, true) {
5
+ @each $name, $value in $fs-utility-border-widths {
6
+ .fs-u-border-#{$name} { border-width: $value !important; }
7
+ .fs-u-border-t-#{$name} { border-block-start-width: $value !important; }
8
+ .fs-u-border-e-#{$name} { border-inline-end-width: $value !important; }
9
+ .fs-u-border-b-#{$name} { border-block-end-width: $value !important; }
10
+ .fs-u-border-s-#{$name} { border-inline-start-width: $value !important; }
11
+ .fs-u-outline-#{$name} { outline-width: $value !important; }
12
+ }
13
+
14
+ @each $name, $value in $fs-utility-radii {
15
+ .fs-u-rounded-#{$name} { border-radius: $value !important; }
16
+ .fs-u-rounded-t-#{$name} {
17
+ border-start-start-radius: $value !important;
18
+ border-start-end-radius: $value !important;
19
+ }
20
+ .fs-u-rounded-b-#{$name} {
21
+ border-end-start-radius: $value !important;
22
+ border-end-end-radius: $value !important;
23
+ }
24
+ .fs-u-rounded-s-#{$name} {
25
+ border-start-start-radius: $value !important;
26
+ border-end-start-radius: $value !important;
27
+ }
28
+ .fs-u-rounded-e-#{$name} {
29
+ border-start-end-radius: $value !important;
30
+ border-end-end-radius: $value !important;
31
+ }
32
+ }
33
+
34
+ @each $style in solid, dashed, dotted, double, none {
35
+ .fs-u-border-#{$style} { border-style: $style !important; }
36
+ .fs-u-outline-#{$style} { outline-style: $style !important; }
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,27 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+
3
+ @layer utilities {
4
+ @if fs-config-list-enabled(colors, color) {
5
+ @each $name, $value in $theme-colors {
6
+ .fs-u-color-#{$name} {
7
+ color: var(--fs-color-#{$name}, #{$value}) !important;
8
+ }
9
+
10
+ .fs-u-bg-#{$name} {
11
+ background-color: var(--fs-color-#{$name}, #{$value}) !important;
12
+ }
13
+
14
+ .fs-u-bg-#{$name}-subtle {
15
+ background-color: var(--fs-color-#{$name}-bg-subtle, #{$value}) !important;
16
+ }
17
+
18
+ .fs-u-border-#{$name}-subtle {
19
+ border-color: var(--fs-color-#{$name}-border-subtle, #{$value}) !important;
20
+ }
21
+
22
+ .fs-u-text-#{$name}-emphasis {
23
+ color: var(--fs-color-#{$name}-text-emphasis, #{$value}) !important;
24
+ }
25
+ }
26
+ }
27
+ }
@@ -1,21 +1,25 @@
1
- @layer utilities {
2
- .fs-u-d-none {
3
- display: none;
4
- }
5
-
6
- .fs-u-d-block {
7
- display: block;
8
- }
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+ @use "../../../fokus-core/scss/tools" as *;
9
3
 
10
- .fs-u-d-inline {
11
- display: inline;
12
- }
4
+ @layer utilities {
5
+ $display-values: (
6
+ none,
7
+ block,
8
+ inline,
9
+ inline-block,
10
+ flex,
11
+ grid
12
+ );
13
13
 
14
- .fs-u-d-inline-block {
15
- display: inline-block;
16
- }
14
+ @each $breakpoint, $min in $breakpoints {
15
+ $infix: breakpoint-infix($breakpoint);
17
16
 
18
- .fs-u-d-flex {
19
- display: flex;
17
+ @include media-breakpoint-up($breakpoint) {
18
+ @each $display in $display-values {
19
+ .fs-u-d#{$infix}-#{$display} {
20
+ display: $display !important;
21
+ }
22
+ }
23
+ }
20
24
  }
21
25
  }
@@ -0,0 +1,53 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+
3
+ @layer utilities {
4
+ @if fs-config-list-enabled(effects, effects) {
5
+ @each $name, $value in $theme-colors {
6
+ .fs-u-border-color-#{$name} { border-color: var(--fs-color-#{$name}, #{$value}) !important; }
7
+ .fs-u-outline-color-#{$name} { outline-color: var(--fs-color-#{$name}, #{$value}) !important; }
8
+ }
9
+
10
+ @each $value in 0, 25, 50, 75, 100 {
11
+ .fs-u-opacity-#{$value} { opacity: $value * 0.01 !important; }
12
+ }
13
+
14
+ .fs-u-filter-none { filter: none !important; }
15
+ .fs-u-backdrop-filter-none { backdrop-filter: none !important; }
16
+
17
+ @each $name, $value in (sm: 4px, md: 8px, lg: 16px, xl: 24px) {
18
+ .fs-u-blur-#{$name} {
19
+ --fs-u-blur: blur(#{$value});
20
+
21
+ filter: var(--fs-u-blur, ) var(--fs-u-brightness, ) var(--fs-u-contrast, ) var(--fs-u-grayscale, ) var(--fs-u-invert, ) var(--fs-u-saturate, ) !important;
22
+ }
23
+ .fs-u-backdrop-blur-#{$name} {
24
+ backdrop-filter: blur(#{$value}) !important;
25
+ }
26
+ }
27
+
28
+ @each $name, $value in (low: 0.75, normal: 1, high: 1.25) {
29
+ .fs-u-brightness-#{$name} {
30
+ --fs-u-brightness: brightness(#{$value});
31
+
32
+ filter: var(--fs-u-blur, ) var(--fs-u-brightness, ) var(--fs-u-contrast, ) var(--fs-u-grayscale, ) var(--fs-u-invert, ) var(--fs-u-saturate, ) !important;
33
+ }
34
+ .fs-u-contrast-#{$name} {
35
+ --fs-u-contrast: contrast(#{$value});
36
+
37
+ filter: var(--fs-u-blur, ) var(--fs-u-brightness, ) var(--fs-u-contrast, ) var(--fs-u-grayscale, ) var(--fs-u-invert, ) var(--fs-u-saturate, ) !important;
38
+ }
39
+ }
40
+
41
+ .fs-u-grayscale {
42
+ --fs-u-grayscale: grayscale(100%);
43
+
44
+ filter: var(--fs-u-blur, ) var(--fs-u-brightness, ) var(--fs-u-contrast, ) var(--fs-u-grayscale, ) var(--fs-u-invert, ) var(--fs-u-saturate, ) !important;
45
+ }
46
+
47
+ .fs-u-invert {
48
+ --fs-u-invert: invert(100%);
49
+
50
+ filter: var(--fs-u-blur, ) var(--fs-u-brightness, ) var(--fs-u-contrast, ) var(--fs-u-grayscale, ) var(--fs-u-invert, ) var(--fs-u-saturate, ) !important;
51
+ }
52
+ }
53
+ }
@@ -2,53 +2,68 @@
2
2
  @use "../../../fokus-core/scss/tools" as *;
3
3
 
4
4
  @layer utilities {
5
- @each $breakpoint, $min in $breakpoints {
6
- $infix: breakpoint-infix($breakpoint);
5
+ $directions: (row: row, column: column, row-reverse: row-reverse, column-reverse: column-reverse);
6
+ $wraps: (wrap: wrap, nowrap: nowrap, wrap-reverse: wrap-reverse);
7
+ $alignments: (start: flex-start, end: flex-end, center: center, baseline: baseline, stretch: stretch);
8
+ $justifications: (start: flex-start, end: flex-end, center: center, between: space-between, around: space-around, evenly: space-evenly);
7
9
 
8
- @include media-breakpoint-up($breakpoint) {
9
- .fs-u-align-items#{$infix}-start {
10
- align-items: flex-start;
11
- }
10
+ @if fs-config-list-enabled(flex, flex) {
11
+ @each $breakpoint, $min in $breakpoints {
12
+ $infix: breakpoint-infix($breakpoint);
12
13
 
13
- .fs-u-align-items#{$infix}-center {
14
- align-items: center;
15
- }
14
+ @include media-breakpoint-up($breakpoint) {
15
+ @each $name, $value in $directions {
16
+ .fs-u-flex#{$infix}-#{$name} { flex-direction: $value !important; }
17
+ .fs-u-flex-direction#{$infix}-#{$name} { flex-direction: $value !important; }
18
+ }
16
19
 
17
- .fs-u-align-items#{$infix}-end {
18
- align-items: flex-end;
19
- }
20
+ @each $name, $value in $wraps {
21
+ .fs-u-flex#{$infix}-#{$name} { flex-wrap: $value !important; }
22
+ .fs-u-flex-wrap#{$infix}-#{$name} { flex-wrap: $value !important; }
23
+ }
20
24
 
21
- .fs-u-justify-content#{$infix}-start {
22
- justify-content: flex-start;
23
- }
25
+ @each $name, $value in $alignments {
26
+ .fs-u-align-items#{$infix}-#{$name} { align-items: $value !important; }
27
+ .fs-u-align-self#{$infix}-#{$name} { align-self: $value !important; }
28
+ .fs-u-align-content#{$infix}-#{$name} { align-content: $value !important; }
29
+ }
24
30
 
25
- .fs-u-justify-content#{$infix}-center {
26
- justify-content: center;
27
- }
31
+ @each $name, $value in $justifications {
32
+ .fs-u-justify-content#{$infix}-#{$name} { justify-content: $value !important; }
33
+ }
28
34
 
29
- .fs-u-justify-content#{$infix}-end {
30
- justify-content: flex-end;
31
- }
35
+ @each $name, $value in (start: start, end: end, center: center, stretch: stretch) {
36
+ .fs-u-justify-items#{$infix}-#{$name} { justify-items: $value !important; }
37
+ }
38
+ .fs-u-flex#{$infix}-1 { flex: 1 1 0% !important; }
39
+ .fs-u-flex#{$infix}-auto { flex: 1 1 auto !important; }
40
+ .fs-u-flex#{$infix}-initial { flex: 0 1 auto !important; }
41
+ .fs-u-flex#{$infix}-none { flex: none !important; }
42
+ .fs-u-grow#{$infix}-0 { flex-grow: 0 !important; }
43
+ .fs-u-grow#{$infix}-1 { flex-grow: 1 !important; }
44
+ .fs-u-shrink#{$infix}-0 { flex-shrink: 0 !important; }
45
+ .fs-u-shrink#{$infix}-1 { flex-shrink: 1 !important; }
32
46
 
33
- .fs-u-justify-content#{$infix}-around {
34
- justify-content: space-around;
47
+ @for $order from 0 through 12 {
48
+ .fs-u-order#{$infix}-#{$order} { order: $order !important; }
49
+ }
35
50
  }
51
+ }
36
52
 
37
- .fs-u-justify-content#{$infix}-between {
38
- justify-content: space-between;
39
- }
53
+ // Aliases curtos são mantidos no breakpoint base para compatibilidade;
54
+ // as variantes responsivas usam a forma canônica e evitam CSS duplicado.
40
55
 
41
- .fs-u-align-self#{$infix}-start {
42
- align-self: flex-start;
43
- }
44
56
 
45
- .fs-u-align-self#{$infix}-center {
46
- align-self: center;
47
- }
57
+ @each $name, $value in $alignments {
58
+ .fs-u-align-#{$name} { align-items: $value !important; }
59
+ }
48
60
 
49
- .fs-u-align-self#{$infix}-end {
50
- align-self: flex-end;
51
- }
61
+ @each $name, $value in $justifications {
62
+ .fs-u-justify-#{$name} { justify-content: $value !important; }
63
+ }
64
+
65
+ @each $name, $value in (start: start, end: end, center: center, stretch: stretch) {
66
+ .fs-u-justify-items-#{$name} { justify-items: $value !important; }
52
67
  }
53
68
  }
54
69
  }
@@ -0,0 +1,21 @@
1
+ @use "sass:map";
2
+ @use "../../../fokus-core/scss/settings" as *;
3
+ @use "api" as api;
4
+
5
+ // Entrada CSS da API declarativa. Fica separada do módulo de mixins para que
6
+ // consumidores possam importar e estender a API sem emitir CSS acidentalmente.
7
+ @layer utilities {
8
+ @if fs-feature-enabled(utilities, true) {
9
+ @each $name, $definition in $fs-utilities {
10
+ $category: utilities;
11
+
12
+ @if map.has-key($definition, category) {
13
+ $category: map.get($definition, category);
14
+ }
15
+
16
+ @if fs-config-list-enabled($category, $name) {
17
+ @include api.fs-generate-utility($name, $definition);
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,25 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+ @use "../../../fokus-core/scss/tools" as *;
3
+
4
+ @layer utilities {
5
+ @if fs-config-list-enabled(grid, grid) {
6
+ .fs-u-grid { display: grid !important; }
7
+ .fs-u-inline-grid { display: inline-grid !important; }
8
+
9
+ @each $breakpoint, $min in $breakpoints {
10
+ $infix: breakpoint-infix($breakpoint);
11
+
12
+ @include media-breakpoint-up($breakpoint) {
13
+ @for $count from 1 through 12 {
14
+ .fs-u-grid-cols#{$infix}-#{$count} { grid-template-columns: repeat($count, minmax(0, 1fr)) !important; }
15
+ .fs-u-grid-rows#{$infix}-#{$count} { grid-template-rows: repeat($count, minmax(0, 1fr)) !important; }
16
+ .fs-u-col-span#{$infix}-#{$count} { grid-column: span $count / span $count !important; }
17
+ .fs-u-row-span#{$infix}-#{$count} { grid-row: span $count / span $count !important; }
18
+ }
19
+
20
+ .fs-u-grid-cols#{$infix}-none { grid-template-columns: none !important; }
21
+ .fs-u-grid-rows#{$infix}-none { grid-template-rows: none !important; }
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,35 @@
1
+ @use "sass:math";
2
+ @use "../../../fokus-core/scss/settings" as *;
3
+
4
+ @layer utilities {
5
+ @if fs-feature-enabled(helpers, true) and fs-config-list-enabled(helpers, helpers) {
6
+ @each $name, $value in (square: 1, video: math.div(16, 9), auto: auto) {
7
+ .fs-u-aspect-#{$name} { aspect-ratio: $value !important; }
8
+ }
9
+
10
+ @each $name, $value in (center: center, top: top, right: right, bottom: bottom, left: left) {
11
+ .fs-u-object-#{$name} { object-position: $value !important; }
12
+ }
13
+
14
+ .fs-u-vertical-align-baseline { vertical-align: baseline !important; }
15
+ .fs-u-vertical-align-middle { vertical-align: middle !important; }
16
+ .fs-u-vertical-align-top { vertical-align: top !important; }
17
+ .fs-u-vertical-align-bottom { vertical-align: bottom !important; }
18
+
19
+ .fs-u-color-scheme-normal { color-scheme: normal !important; }
20
+ .fs-u-color-scheme-light { color-scheme: light !important; }
21
+ .fs-u-color-scheme-dark { color-scheme: dark !important; }
22
+ .fs-u-color-scheme-only-light { color-scheme: only light !important; }
23
+ .fs-u-color-scheme-only-dark { color-scheme: only dark !important; }
24
+
25
+ .fs-u-safe-area-inline {
26
+ padding-inline-start: var(--fs-safe-area-left) !important;
27
+ padding-inline-end: var(--fs-safe-area-right) !important;
28
+ }
29
+
30
+ .fs-u-safe-area-block {
31
+ padding-block-start: var(--fs-safe-area-top) !important;
32
+ padding-block-end: var(--fs-safe-area-bottom) !important;
33
+ }
34
+ }
35
+ }
@@ -1,12 +1,23 @@
1
1
  @use "container-queries";
2
+ @use "colors";
3
+ @use "borders";
2
4
  @use "display";
5
+ @use "effects";
3
6
  @use "flex";
7
+ @use "grid";
8
+ @use "helpers";
9
+ @use "generated";
4
10
  @use "icon";
11
+ @use "interactivity";
12
+ @use "layout";
13
+ @use "motion";
5
14
  @use "position";
6
15
  @use "print";
7
16
  @use "shadow";
8
17
  @use "spacing";
18
+ @use "sizing";
9
19
  @use "typography";
20
+ @use "transforms";
10
21
  @use "visibility";
11
22
  @use "states";
12
23
  @use "api";
@@ -0,0 +1,51 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+
3
+ @layer utilities {
4
+ @if fs-config-list-enabled(interactivity, interactivity) {
5
+ @each $value in auto, default, pointer, grab, grabbing, move, text, wait, not-allowed, zoom-in, zoom-out {
6
+ .fs-u-cursor-#{$value} { cursor: $value !important; }
7
+ }
8
+
9
+ @each $value in auto, none, all {
10
+ .fs-u-pointer-events-#{$value} { pointer-events: $value !important; }
11
+ }
12
+
13
+ @each $value in auto, none, text, all {
14
+ .fs-u-select-#{$value} { user-select: $value !important; }
15
+ }
16
+
17
+ @each $value in none, auto, both, horizontal, vertical {
18
+ .fs-u-resize-#{$value} { resize: $value !important; }
19
+ }
20
+
21
+ .fs-u-appearance-none { appearance: none !important; }
22
+ .fs-u-appearance-auto { appearance: auto !important; }
23
+ .fs-u-scroll-auto { scroll-behavior: auto !important; }
24
+ .fs-u-scroll-smooth { scroll-behavior: smooth !important; }
25
+ .fs-u-scroll-m-0 { scroll-margin: 0 !important; }
26
+ .fs-u-scroll-p-0 { scroll-padding: 0 !important; }
27
+ .fs-u-accent-primary { accent-color: var(--fs-color-primary) !important; }
28
+ .fs-u-accent-auto { accent-color: auto !important; }
29
+ .fs-u-caret-primary { caret-color: var(--fs-color-primary) !important; }
30
+ .fs-u-caret-current { caret-color: currentcolor !important; }
31
+ .fs-u-content-visible { content-visibility: visible !important; }
32
+ .fs-u-content-auto { content-visibility: auto !important; }
33
+ .fs-u-content-hidden { content-visibility: hidden !important; }
34
+ .fs-u-will-change-auto { will-change: auto !important; }
35
+ .fs-u-will-change-transform { will-change: transform !important; }
36
+ .fs-u-will-change-scroll { will-change: scroll-position !important; }
37
+
38
+ @each $value in auto, none, pan-x, pan-y, manipulation {
39
+ .fs-u-touch-#{$value} { touch-action: $value !important; }
40
+ }
41
+
42
+ @each $value in auto, none, mandatory, proximity {
43
+ .fs-u-snap-x-#{$value} { scroll-snap-type: x $value !important; }
44
+ .fs-u-snap-y-#{$value} { scroll-snap-type: y $value !important; }
45
+ }
46
+
47
+ .fs-u-snap-start { scroll-snap-align: start !important; }
48
+ .fs-u-snap-center { scroll-snap-align: center !important; }
49
+ .fs-u-snap-end { scroll-snap-align: end !important; }
50
+ }
51
+ }
@@ -0,0 +1,61 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+ @use "../../../fokus-core/scss/tools" as *;
3
+
4
+ @layer utilities {
5
+ @if fs-config-list-enabled(layout, box-sizing) {
6
+ .fs-u-box-border { box-sizing: border-box !important; }
7
+ .fs-u-box-content { box-sizing: content-box !important; }
8
+ }
9
+
10
+ @if fs-config-list-enabled(layout, overflow) {
11
+ @each $value in auto, hidden, clip, visible, scroll {
12
+ .fs-u-overflow-#{$value} { overflow: $value !important; }
13
+ .fs-u-overflow-x-#{$value} { overflow-x: $value !important; }
14
+ .fs-u-overflow-y-#{$value} { overflow-y: $value !important; }
15
+ }
16
+
17
+ .fs-u-overflow-wrap-normal { overflow-wrap: normal !important; }
18
+ .fs-u-overflow-wrap-anywhere { overflow-wrap: anywhere !important; }
19
+ .fs-u-overflow-wrap-break-word { overflow-wrap: break-word !important; }
20
+ .fs-u-text-ellipsis { text-overflow: ellipsis !important; }
21
+ .fs-u-text-clip { text-overflow: clip !important; }
22
+ }
23
+
24
+ @if fs-config-list-enabled(layout, overscroll) {
25
+ @each $value in auto, contain, none {
26
+ .fs-u-overscroll-#{$value} { overscroll-behavior: $value !important; }
27
+ .fs-u-overscroll-x-#{$value} { overscroll-behavior-x: $value !important; }
28
+ .fs-u-overscroll-y-#{$value} { overscroll-behavior-y: $value !important; }
29
+ }
30
+ }
31
+
32
+ @if fs-config-list-enabled(columns, columns) {
33
+ @for $count from 1 through 6 {
34
+ .fs-u-columns-#{$count} { columns: $count !important; }
35
+ }
36
+
37
+ .fs-u-columns-auto { columns: auto !important; }
38
+ .fs-u-column-fill-auto { column-fill: auto !important; }
39
+ .fs-u-column-fill-balance { column-fill: balance !important; }
40
+ .fs-u-column-span-all { column-span: all !important; }
41
+ .fs-u-column-span-none { column-span: none !important; }
42
+
43
+ @each $value in auto, avoid, avoid-page, avoid-column, page, left, right, recto, verso {
44
+ .fs-u-break-before-#{$value} { break-before: $value !important; }
45
+ .fs-u-break-after-#{$value} { break-after: $value !important; }
46
+ .fs-u-break-inside-#{$value} { break-inside: $value !important; }
47
+ }
48
+
49
+ @each $breakpoint, $min in $breakpoints {
50
+ $infix: breakpoint-infix($breakpoint);
51
+
52
+ @if $min != 0 {
53
+ @include media-breakpoint-up($breakpoint) {
54
+ @for $count from 1 through 6 {
55
+ .fs-u-columns#{$infix}-#{$count} { columns: $count !important; }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,51 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+
3
+ @layer utilities {
4
+ @if fs-config-list-enabled(motion, motion) {
5
+ @each $name, $value in $fs-utility-transition-durations {
6
+ .fs-u-duration-#{$name} { transition-duration: $value !important; }
7
+ }
8
+
9
+ @each $name, $value in $fs-utility-easings {
10
+ .fs-u-ease-#{$name} { transition-timing-function: $value !important; }
11
+ }
12
+ .fs-u-transition-none { transition-property: none !important; }
13
+ .fs-u-transition-all { transition-property: all !important; }
14
+ .fs-u-transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important; }
15
+ .fs-u-transition-opacity { transition-property: opacity !important; }
16
+ .fs-u-transition-transform { transition-property: transform !important; }
17
+ .fs-u-animate-none { animation: none !important; }
18
+ .fs-u-animate-spin { animation: fs-u-spin 1s linear infinite !important; }
19
+ .fs-u-animate-pulse { animation: fs-u-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important; }
20
+ .fs-u-animate-bounce { animation: fs-u-bounce 1s infinite !important; }
21
+ .fs-u-animate-ping { animation: fs-u-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite !important; }
22
+
23
+ @keyframes fs-u-spin {
24
+ from { transform: rotate(0deg); }
25
+ to { transform: rotate(360deg); }
26
+ }
27
+
28
+ @keyframes fs-u-pulse {
29
+ 50% { opacity: 0.5; }
30
+ }
31
+
32
+ @keyframes fs-u-bounce {
33
+ 0%, 100% {
34
+ transform: translateY(-25%);
35
+ animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
36
+ }
37
+
38
+ 50% {
39
+ transform: none;
40
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
41
+ }
42
+ }
43
+
44
+ @keyframes fs-u-ping {
45
+ 75%, 100% {
46
+ transform: scale(2);
47
+ opacity: 0;
48
+ }
49
+ }
50
+ }
51
+ }
@@ -3,14 +3,14 @@
3
3
  // conteúdo normal e do dropdown, abaixo de qualquer overlay modal.
4
4
  @layer utilities {
5
5
  .fs-u-sticky-top {
6
- position: sticky;
7
- top: var(--fs-sticky-top, 0);
8
- z-index: 1020;
6
+ position: sticky !important;
7
+ top: var(--fs-sticky-top, 0) !important;
8
+ z-index: 1020 !important;
9
9
  }
10
10
 
11
11
  .fs-u-sticky-bottom {
12
- position: sticky;
13
- bottom: var(--fs-sticky-bottom, 0);
14
- z-index: 1020;
12
+ position: sticky !important;
13
+ bottom: var(--fs-sticky-bottom, 0) !important;
14
+ z-index: 1020 !important;
15
15
  }
16
16
  }
@@ -1,27 +1,31 @@
1
- @layer utilities {
2
- @media print {
3
- .fs-u-print-hide {
4
- display: none !important;
5
- }
6
- }
1
+ @use "../../../fokus-core/scss/settings" as *;
7
2
 
8
- @media not print {
9
- .fs-u-print-only {
10
- display: none !important;
3
+ @if fs-feature-enabled(print, true) {
4
+ @layer utilities {
5
+ @media print {
6
+ .fs-u-print-hide {
7
+ display: none !important;
8
+ }
11
9
  }
12
- }
13
10
 
14
- @media print {
15
- .fs-u-print-block {
16
- display: block !important;
11
+ @media not print {
12
+ .fs-u-print-only {
13
+ display: none !important;
14
+ }
17
15
  }
18
16
 
19
- .fs-u-print-inline {
20
- display: inline !important;
21
- }
17
+ @media print {
18
+ .fs-u-print-block {
19
+ display: block !important;
20
+ }
21
+
22
+ .fs-u-print-inline {
23
+ display: inline !important;
24
+ }
22
25
 
23
- .fs-u-print-inline-block {
24
- display: inline-block !important;
26
+ .fs-u-print-inline-block {
27
+ display: inline-block !important;
28
+ }
25
29
  }
26
30
  }
27
31
  }
@@ -1,13 +1,17 @@
1
+ @use "../../../fokus-core/scss/settings" as *;
2
+
1
3
  @layer utilities {
4
+ @if fs-config-list-enabled(effects, shadow) and fs-feature-enabled(shadows, true) {
2
5
  .fs-u-shadow-sm {
3
- box-shadow: var(--fs-shadow-sm);
6
+ box-shadow: var(--fs-shadow-sm) !important;
4
7
  }
5
8
 
6
9
  .fs-u-shadow {
7
- box-shadow: var(--fs-shadow-md);
10
+ box-shadow: var(--fs-shadow-md) !important;
8
11
  }
9
12
 
10
13
  .fs-u-shadow-lg {
11
- box-shadow: var(--fs-shadow-lg);
14
+ box-shadow: var(--fs-shadow-lg) !important;
15
+ }
12
16
  }
13
17
  }