@unifiedsoftware/styles 1.0.71 → 1.1.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.
@@ -0,0 +1,121 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}checkbox {
4
+ cursor: pointer;
5
+ display: inline-flex;
6
+ align-items: center;
7
+ gap: var(--#{$prefix}checkbox-gap);
8
+ -webkit-tap-highlight-color: transparent;
9
+
10
+ input {
11
+ position: absolute;
12
+ width: 0;
13
+ height: 0;
14
+ opacity: 0;
15
+ }
16
+
17
+ &--disabled {
18
+ opacity: 0.6;
19
+ pointer-events: none;
20
+ }
21
+
22
+ &--read-only {
23
+ pointer-events: none;
24
+ }
25
+
26
+ &__control {
27
+ position: relative;
28
+ width: var(--#{$prefix}checkbox-control-width);
29
+ height: var(--#{$prefix}checkbox-control-height);
30
+ border-width: var(--#{$prefix}checkbox-control-border-width);
31
+ border-style: var(--#{$prefix}checkbox-control-border-style);
32
+ border-color: var(--#{$prefix}checkbox-control-border-color);
33
+ border-radius: var(--#{$prefix}checkbox-control-border-radius);
34
+ color: var(--#{$prefix}checkbox-control-color);
35
+ display: flex;
36
+ justify-content: center;
37
+ align-items: center;
38
+ transition:
39
+ color 0.1s ease-in-out 0.1s,
40
+ border-color 0.1s ease-in-out 0.1s;
41
+ overflow: hidden;
42
+ }
43
+
44
+ &--checked &__control {
45
+ border-color: var(
46
+ --#{$prefix}_checked-checkbox-control-border-color,
47
+ var(--#{$prefix}checkbox-control-border-color)
48
+ );
49
+ color: var(--#{$prefix}_checked-checkbox-control-color, var(--#{$prefix}checkbox-control-color));
50
+ }
51
+
52
+ &--focus &__control {
53
+ box-shadow: var(--#{$prefix}_focus-checkbox-control-box-shadow);
54
+ }
55
+
56
+ &__tap {
57
+ position: absolute;
58
+ inset: 0px;
59
+ opacity: 0;
60
+ border-radius: inherit;
61
+ background-color: var(--#{$prefix}checkbox-tap-background);
62
+ transform: scale(0);
63
+ transition:
64
+ opacity 0.1s ease-in-out 0.1s,
65
+ transform 0.1s ease-in-out 0.1s;
66
+ }
67
+
68
+ &--checked &__tap {
69
+ opacity: 1;
70
+ transform: scale(1.5);
71
+ }
72
+
73
+ .#{$prefix}icon {
74
+ opacity: 1;
75
+ transform: scale(0);
76
+ transition:
77
+ opacity 0.1s ease-in-out 0.1s,
78
+ transform 0.1s ease-in-out 0.1s;
79
+ }
80
+
81
+ &--checked .#{$prefix}icon {
82
+ opacity: 1;
83
+ transform: scale(1);
84
+ }
85
+
86
+ &-group {
87
+ display: flex;
88
+ flex-wrap: wrap;
89
+ gap: var(--#{$prefix}checkbox-group-gap);
90
+
91
+ &--row {
92
+ flex-direction: row;
93
+ align-items: center;
94
+ }
95
+
96
+ &--col {
97
+ flex-direction: column;
98
+ }
99
+
100
+ &--start {
101
+ justify-content: flex-start;
102
+ }
103
+
104
+ &--center {
105
+ justify-content: center;
106
+ }
107
+
108
+ &--end {
109
+ justify-content: flex-end;
110
+ }
111
+
112
+ &--stretch .#{$prefix}checkbox {
113
+ flex-grow: 1;
114
+ }
115
+ }
116
+
117
+ &__label {
118
+ font-size: var(--#{$prefix}checkbox-label-font-size);
119
+ color: var(--#{$prefix}checkbox-label-color);
120
+ }
121
+ }
@@ -16,6 +16,8 @@
16
16
  @use 'modal';
17
17
 
18
18
  @use 'input';
19
+ @use 'checkbox';
20
+ @use 'radio';
19
21
  @use 'switch';
20
22
 
21
23
  @use 'accordion';
@@ -14,6 +14,7 @@
14
14
  color: var(--#{$prefix}input-color);
15
15
  background-color: var(--#{$prefix}input-background);
16
16
  z-index: 0;
17
+ transition: all 0.2s ease-in-out;
17
18
 
18
19
  &:focus-visible {
19
20
  outline: none;
@@ -0,0 +1,118 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}radio {
4
+ cursor: pointer;
5
+ display: inline-flex;
6
+ align-items: center;
7
+ gap: var(--#{$prefix}radio-gap);
8
+ -webkit-tap-highlight-color: transparent;
9
+
10
+ &--disabled {
11
+ opacity: 0.6;
12
+ pointer-events: none;
13
+ }
14
+
15
+ &--read-only {
16
+ pointer-events: none;
17
+ }
18
+
19
+ &__control {
20
+ position: relative;
21
+ width: var(--#{$prefix}radio-control-width);
22
+ height: var(--#{$prefix}radio-control-height);
23
+ border-width: var(--#{$prefix}radio-control-border-width);
24
+ border-style: var(--#{$prefix}radio-control-border-style);
25
+ border-color: var(--#{$prefix}radio-control-border-color);
26
+ border-radius: var(--#{$prefix}radio-control-border-radius);
27
+ color: var(--#{$prefix}radio-control-color);
28
+ display: flex;
29
+ justify-content: center;
30
+ align-items: center;
31
+ transition:
32
+ color 0.1s ease-in-out 0.1s,
33
+ border-color 0.1s ease-in-out 0.1s;
34
+ overflow: hidden;
35
+ }
36
+
37
+ &--checked &__control {
38
+ border-color: var(--#{$prefix}_checked-radio-control-border-color, var(--#{$prefix}radio-control-border-color));
39
+ color: var(--#{$prefix}_checked-radio-control-color, var(--#{$prefix}radio-control-color));
40
+ }
41
+
42
+ &--focus &__control {
43
+ box-shadow: var(--#{$prefix}_focus-radio-control-box-shadow);
44
+ }
45
+
46
+ &__tap {
47
+ position: absolute;
48
+ inset: 0px;
49
+ opacity: 0;
50
+ border-radius: inherit;
51
+ background-color: var(--#{$prefix}radio-tap-background);
52
+ transform: scale(0);
53
+ transition:
54
+ opacity 0.1s ease-in-out 0.1s,
55
+ transform 0.1s ease-in-out 0.1s;
56
+ }
57
+
58
+ &--checked &__tap {
59
+ opacity: 1;
60
+ transform: scale(1.5);
61
+ }
62
+
63
+ .#{$prefix}icon {
64
+ opacity: 1;
65
+ transform: scale(0);
66
+ transition:
67
+ opacity 0.1s ease-in-out 0.1s,
68
+ transform 0.1s ease-in-out 0.1s;
69
+ }
70
+
71
+ &--checked .#{$prefix}icon {
72
+ opacity: 1;
73
+ transform: scale(1);
74
+ }
75
+
76
+ &-group {
77
+ display: flex;
78
+ flex-wrap: wrap;
79
+ gap: var(--#{$prefix}radio-group-gap);
80
+
81
+ &--row {
82
+ flex-direction: row;
83
+ align-items: center;
84
+ }
85
+
86
+ &--col {
87
+ flex-direction: column;
88
+ }
89
+
90
+ &--start {
91
+ justify-content: flex-start;
92
+ }
93
+
94
+ &--center {
95
+ justify-content: center;
96
+ }
97
+
98
+ &--end {
99
+ justify-content: flex-end;
100
+ }
101
+
102
+ &--stretch .#{$prefix}radio {
103
+ flex-grow: 1;
104
+ }
105
+ }
106
+
107
+ input {
108
+ position: absolute;
109
+ width: 0;
110
+ height: 0;
111
+ opacity: 0;
112
+ }
113
+
114
+ &__label {
115
+ font-size: var(--#{$prefix}radio-label-font-size);
116
+ color: var(--#{$prefix}radio-label-color);
117
+ }
118
+ }
@@ -2,17 +2,12 @@
2
2
  @use '../mixins/overlay' as *;
3
3
 
4
4
  .#{$prefix}switch {
5
- position: relative;
6
- display: inline-block;
7
- width: var(--#{$prefix}switch-width);
8
- padding-block: var(--#{$prefix}switch-padding-y);
9
- border-radius: var(--#{$prefix}switch-border-radius);
5
+ --#{$prefix}switch-control-padding: calc(var(--#{$prefix}switch-thumb-width) * 0.25);
6
+
10
7
  cursor: pointer;
11
- background-color: var(--#{$prefix}switch-color);
12
8
  display: inline-flex;
13
9
  align-items: center;
14
- transition: all 0.2s ease-in-out;
15
- user-select: none;
10
+ gap: var(--#{$prefix}switch-gap);
16
11
  -webkit-tap-highlight-color: transparent;
17
12
 
18
13
  input {
@@ -22,18 +17,58 @@
22
17
  height: 0;
23
18
  }
24
19
 
25
- &--checked &__thumb {
26
- transform: translateX(
27
- calc(var(--#{$prefix}switch-width) - var(--#{$prefix}switch-thumb-width) - (var(--#{$prefix}switch-padding-x)))
28
- );
20
+ &--disabled {
21
+ opacity: 0.6;
22
+ pointer-events: none;
23
+ }
24
+
25
+ &--read-only {
26
+ pointer-events: none;
27
+ }
28
+
29
+ &__control {
30
+ position: relative;
31
+ display: inline-block;
32
+ width: var(--#{$prefix}switch-control-width);
33
+ height: var(--#{$prefix}switch-control-height);
34
+ border-radius: var(--#{$prefix}switch-control-border-radius);
35
+ cursor: pointer;
36
+ background-color: var(--#{$prefix}switch-control-color);
37
+ display: inline-flex;
38
+ align-items: center;
39
+ transition: all 0.2s ease-in-out;
40
+ user-select: none;
41
+ -webkit-tap-highlight-color: transparent;
42
+ }
43
+
44
+ &--checked &__control {
45
+ background-color: var(--#{$prefix}_checked-switch-control-color, var(--#{$prefix}switch-control-color));
46
+ }
47
+
48
+ &--focus &__control {
49
+ box-shadow: var(--#{$prefix}_focus-switch-control-box-shadow);
29
50
  }
30
51
 
31
52
  &__thumb {
32
53
  width: var(--#{$prefix}switch-thumb-width);
33
54
  height: var(--#{$prefix}switch-thumb-height);
34
- transform: translateX(var(--#{$prefix}switch-padding-x));
55
+ transform: translateX(var(--#{$prefix}switch-control-padding));
35
56
  border-radius: var(--#{$prefix}switch-thumb-border-radius);
36
57
  background-color: var(--#{$prefix}switch-thumb-color);
37
58
  transition: all 0.2s ease-in-out;
38
59
  }
60
+
61
+ &--checked &__thumb {
62
+ transform: translateX(
63
+ calc(
64
+ var(--#{$prefix}switch-control-width) - var(--#{$prefix}switch-thumb-width) -
65
+ (var(--#{$prefix}switch-control-padding))
66
+ )
67
+ );
68
+ }
69
+
70
+ &__label {
71
+ font-size: var(--#{$prefix}switch-label-font-size);
72
+ color: var(--#{$prefix}switch-label-color);
73
+ }
39
74
  }
@@ -4,6 +4,7 @@
4
4
  .#{$prefix}tabs {
5
5
  width: 100%;
6
6
  white-space: nowrap;
7
+ flex-wrap: wrap;
7
8
  display: flex;
8
9
  align-items: center;
9
10
 
@@ -30,7 +31,8 @@
30
31
 
31
32
  .#{$prefix}tab {
32
33
  position: relative;
33
- padding: 0px 16px;
34
+ padding-block: var(--#{$prefix}tab-padding-y);
35
+ padding-inline: var(--#{$prefix}tab-padding-x);
34
36
  font-size: var(--#{$prefix}tab-font-size);
35
37
  font-weight: var(--#{$prefix}tab-font-weight);
36
38
  text-decoration: none;
@@ -55,6 +57,16 @@
55
57
  pointer-events: none;
56
58
  }
57
59
 
60
+ &--closable {
61
+ padding-inline-end: calc(var(--#{$prefix}tab-padding-x) / 2);
62
+ }
63
+
64
+ &__start-content,
65
+ &__end-content {
66
+ display: flex;
67
+ align-items: center;
68
+ }
69
+
58
70
  &__content {
59
71
  position: relative;
60
72
  height: 40px;
@@ -79,4 +91,27 @@
79
91
  &--selected &__indicator {
80
92
  opacity: 1;
81
93
  }
94
+
95
+ &__closable {
96
+ position: relative;
97
+ padding: 0.125rem;
98
+ color: var(--#{$prefix}tab-closable-color);
99
+ border-radius: 9999px;
100
+ transform: scale(0.75);
101
+ cursor: pointer;
102
+ transition: all 0.15s ease-in-out;
103
+
104
+ &:hover {
105
+ transform: scale(1);
106
+ }
107
+
108
+ &::after {
109
+ position: absolute;
110
+ content: '';
111
+ inset: 0px;
112
+ border-radius: inherit;
113
+ background-color: currentColor;
114
+ opacity: 0;
115
+ }
116
+ }
82
117
  }
@@ -1,6 +1,8 @@
1
1
  @use '../../variables' as *;
2
2
 
3
3
  .#{$prefix}theme-fci {
4
+ --#{$prefix}primary-rgb: 153 0 0;
5
+
4
6
  --#{$prefix}primary-color: #990000;
5
7
  --#{$prefix}secondary-color: #dde4eb;
6
8
  --#{$prefix}success-color: #e1ae30;
@@ -91,7 +91,6 @@ $colors-map: (
91
91
  & > .#{$prefix}overlay {
92
92
  --#{$prefix}overlay-color: inherit;
93
93
  --#{$prefix}overlay-opacity: 0;
94
- --#{$prefix}_hover-overlay-opacity: 0;
95
94
  --#{$prefix}_hover-overlay-opacity: 0.12;
96
95
  --#{$prefix}_active-overlay-opacity: 0.24;
97
96
  }
@@ -110,7 +109,6 @@ $colors-map: (
110
109
  & > .#{$prefix}overlay {
111
110
  --#{$prefix}overlay-color: inherit;
112
111
  --#{$prefix}overlay-opacity: 0;
113
- --#{$prefix}_hover-overlay-opacity: 0;
114
112
  --#{$prefix}_hover-overlay-opacity: 0.12;
115
113
  --#{$prefix}_active-overlay-opacity: 0.24;
116
114
  }
@@ -139,7 +137,6 @@ $colors-map: (
139
137
  & > .#{$prefix}overlay {
140
138
  --#{$prefix}overlay-color: inherit;
141
139
  --#{$prefix}overlay-opacity: 0;
142
- --#{$prefix}_hover-overlay-opacity: 0;
143
140
  --#{$prefix}_hover-overlay-opacity: 0.12;
144
141
  --#{$prefix}_active-overlay-opacity: 0.24;
145
142
  }
@@ -0,0 +1,89 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}theme-fci {
4
+ .#{$prefix}checkbox-group {
5
+ &--sm {
6
+ --#{$prefix}checkbox-group-gap: 0.375rem;
7
+ }
8
+
9
+ &--md {
10
+ --#{$prefix}checkbox-group-gap: 0.5rem;
11
+ }
12
+
13
+ &--lg {
14
+ --#{$prefix}checkbox-group-gap: 0.75rem;
15
+ }
16
+ }
17
+
18
+ .#{$prefix}checkbox {
19
+ --#{$prefix}checkbox-control-border-width: 1px;
20
+ --#{$prefix}checkbox-control-border-style: solid;
21
+ --#{$prefix}checkbox-control-border-color: rgba(0, 0, 0, 0.2);
22
+ --#{$prefix}checkbox-control-border-radius: 6px;
23
+ --#{$prefix}checkbox-control-color: var(--#{$prefix}white-color);
24
+
25
+ --#{$prefix}_checked-checkbox-control-border-color: var(--#{$prefix}primary-color);
26
+ --#{$prefix}_focus-checkbox-control-box-shadow: 0px 4px 8px rgba(var(--#{$prefix}primary-rgb) / 40%);
27
+
28
+ --#{$prefix}checkbox-tap-background: var(--#{$prefix}primary-color);
29
+
30
+ &--sm {
31
+ --#{$prefix}checkbox-gap: 0.375rem;
32
+
33
+ --#{$prefix}checkbox-control-width: 16px;
34
+ --#{$prefix}checkbox-control-height: 16px;
35
+ --#{$prefix}checkbox-label-font-size: 0.75rem;
36
+
37
+ & .#{$prefix}icon {
38
+ --#{$prefix}icon-font-size: 0.75rem;
39
+ }
40
+ }
41
+
42
+ &--md {
43
+ --#{$prefix}checkbox-gap: 0.5rem;
44
+
45
+ --#{$prefix}checkbox-control-width: 20px;
46
+ --#{$prefix}checkbox-control-height: 20px;
47
+
48
+ --#{$prefix}checkbox-label-font-size: 0.875rem;
49
+
50
+ & .#{$prefix}icon {
51
+ --#{$prefix}icon-font-size: 1rem;
52
+ }
53
+ }
54
+
55
+ &--lg {
56
+ --#{$prefix}checkbox-gap: 0.5rem;
57
+
58
+ --#{$prefix}checkbox-control-width: 24px;
59
+ --#{$prefix}checkbox-control-height: 24px;
60
+ --#{$prefix}checkbox-label-font-size: 1rem;
61
+
62
+ .#{$prefix}icon {
63
+ --#{$prefix}icon-font-size: 1.125rem;
64
+ }
65
+ }
66
+
67
+ &--light {
68
+ --#{$prefix}checkbox-control-border-color: rgba(255, 255, 255, 0.2);
69
+
70
+ --#{$prefix}checkbox-tap-background: rgba(255, 255, 255, 0.2);
71
+
72
+ --#{$prefix}checkbox-control-color: var(--#{$prefix}white-color);
73
+ --#{$prefix}_checked-checkbox-control-border-color: rgba(255, 255, 255, 0.2);
74
+
75
+ --#{$prefix}checkbox-label-color: var(--#{$prefix}white-color);
76
+ }
77
+
78
+ &--dark {
79
+ --#{$prefix}checkbox-control-border-color: rgba(0, 0, 0, 0.2);
80
+
81
+ --#{$prefix}checkbox-tap-background: rgba(0, 0, 0, 0.8);
82
+
83
+ --#{$prefix}checkbox-control-color: var(--#{$prefix}white-color);
84
+ --#{$prefix}_checked-checkbox-control-border-color: rgba(0, 0, 0, 0.2);
85
+
86
+ --#{$prefix}checkbox-label-color: var(--#{$prefix}black-color);
87
+ }
88
+ }
89
+ }
@@ -12,6 +12,8 @@
12
12
  @use 'modal';
13
13
 
14
14
  @use 'input';
15
+ @use 'checkbox';
16
+ @use 'radio';
15
17
  @use 'switch';
16
18
 
17
19
  @use 'list';
@@ -0,0 +1,89 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}theme-fci {
4
+ .#{$prefix}radio-group {
5
+ &--sm {
6
+ --#{$prefix}radio-group-gap: 0.375rem;
7
+ }
8
+
9
+ &--md {
10
+ --#{$prefix}radio-group-gap: 0.5rem;
11
+ }
12
+
13
+ &--lg {
14
+ --#{$prefix}radio-group-gap: 0.75rem;
15
+ }
16
+ }
17
+
18
+ .#{$prefix}radio {
19
+ --#{$prefix}radio-control-border-width: 1px;
20
+ --#{$prefix}radio-control-border-style: solid;
21
+ --#{$prefix}radio-control-border-color: rgba(0, 0, 0, 0.2);
22
+ --#{$prefix}radio-control-border-radius: 9999px;
23
+ --#{$prefix}radio-control-color: var(--#{$prefix}white-color);
24
+
25
+ --#{$prefix}_checked-radio-control-border-color: var(--#{$prefix}primary-color);
26
+ --#{$prefix}_focus-radio-control-box-shadow: 0px 4px 8px rgba(var(--#{$prefix}primary-rgb) / 40%);
27
+
28
+ --#{$prefix}radio-tap-background: var(--#{$prefix}primary-color);
29
+
30
+ &--sm {
31
+ --#{$prefix}radio-gap: 0.375rem;
32
+
33
+ --#{$prefix}radio-control-width: 16px;
34
+ --#{$prefix}radio-control-height: 16px;
35
+ --#{$prefix}radio-label-font-size: 0.75rem;
36
+
37
+ & .#{$prefix}icon {
38
+ --#{$prefix}icon-font-size: 0.5rem;
39
+ }
40
+ }
41
+
42
+ &--md {
43
+ --#{$prefix}radio-gap: 0.5rem;
44
+
45
+ --#{$prefix}radio-control-width: 20px;
46
+ --#{$prefix}radio-control-height: 20px;
47
+
48
+ --#{$prefix}radio-label-font-size: 0.875rem;
49
+
50
+ & .#{$prefix}icon {
51
+ --#{$prefix}icon-font-size: 0.75rem;
52
+ }
53
+ }
54
+
55
+ &--lg {
56
+ --#{$prefix}radio-gap: 0.5rem;
57
+
58
+ --#{$prefix}radio-control-width: 24px;
59
+ --#{$prefix}radio-control-height: 24px;
60
+ --#{$prefix}radio-label-font-size: 1rem;
61
+
62
+ .#{$prefix}icon {
63
+ --#{$prefix}icon-font-size: 0.875rem;
64
+ }
65
+ }
66
+
67
+ &--light {
68
+ --#{$prefix}radio-control-border-color: rgba(255, 255, 255, 0.2);
69
+
70
+ --#{$prefix}radio-tap-background: rgba(255, 255, 255, 0.2);
71
+
72
+ --#{$prefix}radio-control-color: var(--#{$prefix}white-color);
73
+ --#{$prefix}_checked-radio-control-border-color: rgba(255, 255, 255, 0.2);
74
+
75
+ --#{$prefix}radio-label-color: var(--#{$prefix}white-color);
76
+ }
77
+
78
+ &--dark {
79
+ --#{$prefix}radio-control-border-color: rgba(0, 0, 0, 0.2);
80
+
81
+ --#{$prefix}radio-tap-background: rgba(0, 0, 0, 0.8);
82
+
83
+ --#{$prefix}radio-control-color: var(--#{$prefix}white-color);
84
+ --#{$prefix}_checked-radio-control-border-color: rgba(0, 0, 0, 0.8);
85
+
86
+ --#{$prefix}radio-label-color: var(--#{$prefix}black-color);
87
+ }
88
+ }
89
+ }