@unifiedsoftware/styles 2.0.1-beta.20 → 2.0.1-beta.21

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,25 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}navigation-menu-group {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--#{$prefix}navigation-menu-group-gap, 0.5rem);
7
+ padding: var(--#{$prefix}navigation-menu-group-padding, 1.25rem);
8
+
9
+ &__label {
10
+ font-size: var(--#{$prefix}navigation-menu-group-label-font-size, 0.75rem);
11
+ font-weight: var(--#{$prefix}navigation-menu-group-label-font-weight, 600);
12
+ text-transform: uppercase;
13
+ letter-spacing: 0.05em;
14
+ color: var(--#{$prefix}navigation-menu-group-label-color, #6c757d);
15
+ padding-block: var(--#{$prefix}navigation-menu-group-label-padding-block, 0.25rem);
16
+ padding-inline: var(--#{$prefix}navigation-menu-group-label-padding-inline, 0);
17
+ margin-bottom: var(--#{$prefix}navigation-menu-group-label-margin-bottom, 0.25rem);
18
+ }
19
+
20
+ &__content {
21
+ display: flex;
22
+ flex-direction: column;
23
+ gap: var(--#{$prefix}navigation-menu-group-content-gap, 0.25rem);
24
+ }
25
+ }
@@ -0,0 +1,77 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}navigation-menu-item {
4
+ position: relative;
5
+ z-index: 0;
6
+ display: flex;
7
+ padding-block: var(--#{$prefix}navigation-menu-item-padding-block, 0.5rem);
8
+ padding-block: var(--#{$prefix}navigation-menu-item-padding-block, 0.5rem);
9
+ padding-left: var(--#{$prefix}navigation-menu-item-padding-left, 1rem);
10
+ padding-right: var(--#{$prefix}navigation-menu-item-padding-right, 1rem);
11
+ border-radius: var(--#{$prefix}navigation-menu-item-border-radius, 0.375rem);
12
+ margin-inline: var(--#{$prefix}navigation-menu-item-margin-inline, 0.25rem); // Match dropdown
13
+ text-decoration: none;
14
+ color: inherit;
15
+ cursor: pointer;
16
+ user-select: none;
17
+ transition: transform 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
18
+
19
+ // Reset button styles when rendered as button
20
+ border: none;
21
+ background: none;
22
+ font-family: inherit;
23
+ font-size: inherit;
24
+ text-align: left;
25
+ outline: none;
26
+
27
+ &:hover {
28
+ text-decoration: none;
29
+ }
30
+
31
+ &--selected {
32
+ color: var(--#{$prefix}navigation-menu-item-selected-color, inherit);
33
+ }
34
+
35
+ &--disabled {
36
+ opacity: 0.5;
37
+ pointer-events: none;
38
+ cursor: not-allowed;
39
+ }
40
+
41
+ &__container {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: var(--#{$prefix}navigation-menu-item-gap, 0.75rem);
45
+ width: 100%;
46
+ position: relative;
47
+ z-index: 1;
48
+ }
49
+
50
+ &__start-content,
51
+ &__end-content {
52
+ display: flex;
53
+ align-items: center;
54
+ flex-shrink: 0;
55
+ }
56
+
57
+ &__content {
58
+ display: flex;
59
+ flex-direction: column;
60
+ flex: 1;
61
+ min-width: 0;
62
+ }
63
+
64
+ &__title {
65
+ font-weight: var(--#{$prefix}navigation-menu-item-title-font-weight, 500);
66
+ font-size: var(--#{$prefix}navigation-menu-item-title-font-size, 0.875rem);
67
+ line-height: var(--#{$prefix}navigation-menu-item-title-line-height, 1.25rem);
68
+ color: var(--#{$prefix}navigation-menu-item-title-color, inherit);
69
+ }
70
+
71
+ &__subtitle {
72
+ font-size: var(--#{$prefix}navigation-menu-item-subtitle-font-size, 0.75rem);
73
+ line-height: var(--#{$prefix}navigation-menu-item-subtitle-line-height, 1rem);
74
+ color: var(--#{$prefix}navigation-menu-item-subtitle-color, #6c757d);
75
+ margin-top: 0.125rem;
76
+ }
77
+ }
@@ -0,0 +1,8 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}navigation-menu-separator {
4
+ height: 1px;
5
+ background-color: var(--#{$prefix}navigation-menu-separator-color, #e9ecef);
6
+ margin-block: var(--#{$prefix}navigation-menu-separator-margin-block, 0.5rem);
7
+ margin-inline: var(--#{$prefix}navigation-menu-separator-margin-inline, 1.25rem);
8
+ }
@@ -0,0 +1,179 @@
1
+ @use '../variables' as *;
2
+
3
+ .#{$prefix}navigation-menu {
4
+ background-color: var(--#{$prefix}navigation-menu-background);
5
+ border-radius: var(--#{$prefix}navigation-menu-border-radius);
6
+ padding: var(--#{$prefix}navigation-menu-padding);
7
+ color: var(--#{$prefix}navigation-menu-color);
8
+ min-width: max-content;
9
+
10
+ &-list {
11
+ display: flex;
12
+ position: relative;
13
+ list-style: none;
14
+ padding: 0;
15
+ margin: 0;
16
+ }
17
+
18
+ &-item {
19
+ display: flex;
20
+ }
21
+
22
+ &-icon {
23
+ transition: transform 0.2s ease;
24
+
25
+ &[data-popup-open] {
26
+ transform: rotate(180deg);
27
+ }
28
+ }
29
+
30
+ &-positioner {
31
+ --easing: cubic-bezier(0.22, 1, 0.36, 1);
32
+ --duration: 0.35s;
33
+ box-sizing: border-box;
34
+ transition-property: top, left, right, bottom;
35
+ transition-duration: var(--duration);
36
+ transition-timing-function: var(--easing);
37
+ width: var(--positioner-width);
38
+ height: var(--positioner-height);
39
+ max-width: var(--available-width);
40
+ z-index: 1000;
41
+
42
+ &[data-instant] {
43
+ transition: none;
44
+ }
45
+ }
46
+
47
+ &-popup {
48
+ position: relative;
49
+ box-sizing: border-box;
50
+ padding-block: var(--#{$prefix}navigation-menu-popup-padding-block, 0.375rem); // Match dropdown
51
+ border-radius: var(--#{$prefix}navigation-menu-popup-border-radius, 0.5rem);
52
+ background-color: var(--#{$prefix}navigation-menu-popup-background, rgba(255, 255, 255, 0.98));
53
+ backdrop-filter: blur(10px);
54
+ -webkit-backdrop-filter: blur(10px);
55
+ color: var(--#{$prefix}navigation-menu-popup-color, #343a40);
56
+ transform-origin: var(--transform-origin);
57
+ transition-property: opacity, transform, width, height, backdrop-filter;
58
+ transition-duration: var(--duration);
59
+ transition-timing-function: var(--easing);
60
+ width: var(--popup-width);
61
+ height: var(--popup-height);
62
+ border: 1px solid var(--#{$prefix}navigation-menu-popup-border-color, rgba(0, 0, 0, 0.08));
63
+ box-shadow: var(
64
+ --#{$prefix}navigation-menu-popup-shadow,
65
+ 0 0 0 1px rgba(0, 0, 0, 0.02),
66
+ 0 2px 4px rgba(0, 0, 0, 0.04),
67
+ 0 8px 16px rgba(0, 0, 0, 0.08),
68
+ 0 16px 32px rgba(0, 0, 0, 0.06)
69
+ );
70
+ overflow: hidden;
71
+
72
+ &[data-starting-style],
73
+ &[data-ending-style] {
74
+ opacity: 0;
75
+ transform: scale(0.92) translateY(-8px);
76
+ }
77
+
78
+ &[data-ending-style] {
79
+ transition-timing-function: ease;
80
+ transition-duration: 0.15s;
81
+ }
82
+ }
83
+
84
+ &-content {
85
+ box-sizing: border-box;
86
+ transition:
87
+ opacity calc(var(--duration) * 0.5) ease,
88
+ transform var(--duration) var(--easing);
89
+ width: calc(100vw - 40px);
90
+ height: 100%;
91
+
92
+ @media (min-width: 500px) {
93
+ width: max-content;
94
+ min-width: 400px;
95
+ }
96
+
97
+ &[data-starting-style],
98
+ &[data-ending-style] {
99
+ opacity: 0;
100
+ }
101
+
102
+ &[data-starting-style] {
103
+ &[data-activation-direction='left'] {
104
+ transform: translateX(-50%);
105
+ }
106
+ &[data-activation-direction='right'] {
107
+ transform: translateX(50%);
108
+ }
109
+ }
110
+
111
+ &[data-ending-style] {
112
+ &[data-activation-direction='left'] {
113
+ transform: translateX(50%);
114
+ }
115
+ &[data-activation-direction='right'] {
116
+ transform: translateX(-50%);
117
+ }
118
+ }
119
+ }
120
+
121
+ &-link {
122
+ text-decoration: none !important;
123
+ color: inherit !important;
124
+ border-radius: 0.375rem;
125
+ transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
126
+ display: block;
127
+
128
+ &,
129
+ &:visited,
130
+ &:link {
131
+ text-decoration: none !important;
132
+ color: inherit !important;
133
+ }
134
+
135
+ @media (hover: hover) {
136
+ &:hover {
137
+ background-color: var(--#{$prefix}navigation-menu-link-hover-background, rgba(0, 0, 0, 0.05)) !important;
138
+ }
139
+ }
140
+
141
+ &:focus-visible {
142
+ outline: 2px solid var(--#{$prefix}navigation-menu-trigger-focus-outline, var(--#{$prefix}primary-color));
143
+ outline-offset: 2px;
144
+ outline-style: solid;
145
+ }
146
+ }
147
+
148
+ &-viewport {
149
+ position: relative;
150
+ overflow: hidden;
151
+ width: 100%;
152
+ height: 100%;
153
+ }
154
+
155
+ &-arrow {
156
+ display: flex;
157
+ transition: left calc(var(--duration)) var(--easing);
158
+
159
+ &[data-side='top'] {
160
+ bottom: -8px;
161
+ rotate: 180deg;
162
+ }
163
+
164
+ &[data-side='bottom'] {
165
+ top: -8px;
166
+ rotate: 0deg;
167
+ }
168
+
169
+ &[data-side='left'] {
170
+ right: -13px;
171
+ rotate: 90deg;
172
+ }
173
+
174
+ &[data-side='right'] {
175
+ left: -13px;
176
+ rotate: -90deg;
177
+ }
178
+ }
179
+ }
@@ -0,0 +1,114 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}theme-fci {
4
+ .#{$prefix}dropdown-item {
5
+ --#{$prefix}dropdown-item-border-radius: 0.375rem;
6
+
7
+ & > .#{$prefix}overlay {
8
+ --#{$prefix}overlay-color: inherit;
9
+ --#{$prefix}overlay-opacity: 0;
10
+ --#{$prefix}_hover-overlay-color: inherit;
11
+ --#{$prefix}_hover-overlay-opacity: 0.06;
12
+ --#{$prefix}_active-overlay-opacity: 0.1;
13
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
14
+ }
15
+
16
+ &[data-highlighted] > .#{$prefix}overlay {
17
+ --#{$prefix}overlay-opacity: 0.08;
18
+ }
19
+
20
+ &--selected {
21
+ --#{$prefix}dropdown-item-selected-color: var(--#{$prefix}primary-color);
22
+ font-weight: 500;
23
+
24
+ & > .#{$prefix}overlay {
25
+ --#{$prefix}overlay-color: var(--#{$prefix}primary-color);
26
+ --#{$prefix}overlay-opacity: 0.1;
27
+ --#{$prefix}_hover-overlay-color: var(--#{$prefix}primary-color);
28
+ --#{$prefix}_hover-overlay-opacity: 0.14;
29
+ --#{$prefix}_active-overlay-color: var(--#{$prefix}primary-color);
30
+ --#{$prefix}_active-overlay-opacity: 0.18;
31
+ }
32
+
33
+ // Override data-highlighted when selected
34
+ &[data-highlighted] > .#{$prefix}overlay {
35
+ --#{$prefix}overlay-color: var(--#{$prefix}primary-color);
36
+ --#{$prefix}overlay-opacity: 0.14;
37
+ }
38
+ }
39
+
40
+ &--disabled > .#{$prefix}overlay {
41
+ --#{$prefix}overlay-opacity: 0;
42
+ }
43
+ }
44
+
45
+ .#{$prefix}dropdown-submenu-trigger {
46
+ & > .#{$prefix}overlay {
47
+ --#{$prefix}overlay-color: inherit;
48
+ --#{$prefix}overlay-opacity: 0;
49
+ --#{$prefix}_hover-overlay-color: inherit;
50
+ --#{$prefix}_hover-overlay-opacity: 0.06;
51
+ --#{$prefix}_active-overlay-opacity: 0.1;
52
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
53
+ }
54
+
55
+ &[data-highlighted] > .#{$prefix}overlay {
56
+ --#{$prefix}overlay-opacity: 0.08;
57
+ }
58
+
59
+ &[data-popup-open] > .#{$prefix}overlay {
60
+ --#{$prefix}overlay-opacity: 0.06;
61
+ }
62
+ }
63
+
64
+ // Size variants - sm (Compact)
65
+ .#{$prefix}dropdown--sm .#{$prefix}dropdown-item {
66
+ --#{$prefix}dropdown-item-padding-block: 0.25rem; // 4px (was 2px, +2px)
67
+ --#{$prefix}dropdown-item-padding-left: 0.375rem; // 6px
68
+ --#{$prefix}dropdown-item-padding-right: 1.25rem; // 20px
69
+ --#{$prefix}dropdown-item-font-size: 0.6875rem; // 11px
70
+ --#{$prefix}dropdown-item-line-height: 0.875rem; // 14px
71
+ --#{$prefix}dropdown-item-gap: 0.375rem; // 6px
72
+
73
+ --#{$prefix}dropdown-item-title-font-size: 0.6875rem; // 11px
74
+ --#{$prefix}dropdown-item-subtitle-font-size: 0.625rem; // 10px
75
+ }
76
+
77
+ .#{$prefix}dropdown--sm .#{$prefix}dropdown-item .#{$prefix}icon {
78
+ --#{$prefix}icon-font-size: 14px;
79
+ }
80
+
81
+ // Size variants - md (Default)
82
+ .#{$prefix}dropdown--md .#{$prefix}dropdown-item {
83
+ --#{$prefix}dropdown-item-padding-block: 0.3125rem; // 5px (was 3px, +2px)
84
+ --#{$prefix}dropdown-item-padding-left: 0.5rem; // 8px
85
+ --#{$prefix}dropdown-item-padding-right: 1.5rem; // 24px
86
+ --#{$prefix}dropdown-item-font-size: 0.75rem; // 12px
87
+ --#{$prefix}dropdown-item-line-height: 1rem; // 16px
88
+ --#{$prefix}dropdown-item-gap: 0.5rem; // 8px
89
+
90
+ --#{$prefix}dropdown-item-title-font-size: 0.75rem; // 12px
91
+ --#{$prefix}dropdown-item-subtitle-font-size: 0.6875rem; // 11px
92
+ }
93
+
94
+ .#{$prefix}dropdown--md .#{$prefix}dropdown-item .#{$prefix}icon {
95
+ --#{$prefix}icon-font-size: 16px;
96
+ }
97
+
98
+ // Size variants - lg (Spacious)
99
+ .#{$prefix}dropdown--lg .#{$prefix}dropdown-item {
100
+ --#{$prefix}dropdown-item-padding-block: 0.4375rem; // 7px (was 5px, +2px)
101
+ --#{$prefix}dropdown-item-padding-left: 0.75rem; // 12px
102
+ --#{$prefix}dropdown-item-padding-right: 2rem; // 32px
103
+ --#{$prefix}dropdown-item-font-size: 0.875rem; // 14px
104
+ --#{$prefix}dropdown-item-line-height: 1.125rem; // 18px
105
+ --#{$prefix}dropdown-item-gap: 0.625rem; // 10px
106
+
107
+ --#{$prefix}dropdown-item-title-font-size: 0.875rem; // 14px
108
+ --#{$prefix}dropdown-item-subtitle-font-size: 0.75rem; // 12px
109
+ }
110
+
111
+ .#{$prefix}dropdown--lg .#{$prefix}dropdown-item .#{$prefix}icon {
112
+ --#{$prefix}icon-font-size: 18px;
113
+ }
114
+ }
@@ -2,6 +2,8 @@
2
2
 
3
3
  @use 'toolbar';
4
4
 
5
+ @use 'dropdown';
6
+
5
7
  @use 'icon';
6
8
  @use 'badge';
7
9
 
@@ -17,7 +19,13 @@
17
19
 
18
20
  @use 'list';
19
21
  @use 'menu';
20
- @use 'swipe';
22
+ @use 'navigation-menu';
23
+ @use 'navigation-menu-item';
24
+ @use 'navigation-menu-group';
25
+ @use 'navigation-menu-separator';
26
+ @use 'navigation-menu-grid';
27
+
28
+ @use 'breadcrumb';
21
29
  @use 'tabs';
22
30
 
23
31
  @use 'card';
@@ -0,0 +1,7 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}navigation-menu-grid {
4
+ // FCI theme customizations
5
+ --#{$prefix}navigation-menu-grid-gap: 1.5rem;
6
+ --#{$prefix}navigation-menu-grid-padding: 1.25rem;
7
+ }
@@ -0,0 +1,16 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}navigation-menu-group {
4
+ // FCI theme customizations
5
+ --#{$prefix}navigation-menu-group-gap: 0.375rem;
6
+ --#{$prefix}navigation-menu-group-padding: 0; // Remove padding, content already has padding
7
+
8
+ --#{$prefix}navigation-menu-group-label-font-size: 0.6875rem;
9
+ --#{$prefix}navigation-menu-group-label-font-weight: 600;
10
+ --#{$prefix}navigation-menu-group-label-color: var(--us-color-text-tertiary, #6c757d);
11
+ --#{$prefix}navigation-menu-group-label-padding-block: 0.25rem;
12
+ --#{$prefix}navigation-menu-group-label-padding-inline: 0;
13
+ --#{$prefix}navigation-menu-group-label-margin-bottom: 0.5rem;
14
+
15
+ --#{$prefix}navigation-menu-group-content-gap: 0.125rem;
16
+ }
@@ -0,0 +1,123 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}theme-fci {
4
+ .#{$prefix}navigation-menu-item {
5
+ --#{$prefix}navigation-menu-item-padding-block: 0.375rem;
6
+ --#{$prefix}navigation-menu-item-padding-inline: 1rem;
7
+ --#{$prefix}navigation-menu-item-border-radius: 0.375rem;
8
+ --#{$prefix}navigation-menu-item-gap: 0.75rem;
9
+
10
+ --#{$prefix}navigation-menu-item-title-font-weight: 500;
11
+ --#{$prefix}navigation-menu-item-title-font-size: 0.875rem;
12
+ --#{$prefix}navigation-menu-item-title-line-height: 1.25rem;
13
+
14
+ --#{$prefix}navigation-menu-item-subtitle-font-size: 0.75rem;
15
+ --#{$prefix}navigation-menu-item-subtitle-line-height: 1rem;
16
+ --#{$prefix}navigation-menu-item-subtitle-color: #6c757d;
17
+
18
+ & > .#{$prefix}overlay {
19
+ --#{$prefix}overlay-color: inherit;
20
+ --#{$prefix}overlay-opacity: 0;
21
+ --#{$prefix}_hover-overlay-color: inherit;
22
+ --#{$prefix}_hover-overlay-opacity: 0.06;
23
+ --#{$prefix}_active-overlay-opacity: 0.1;
24
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
25
+ }
26
+
27
+ &--selected {
28
+ --#{$prefix}navigation-menu-item-selected-color: var(--#{$prefix}primary-color);
29
+ font-weight: 500;
30
+
31
+ & > .#{$prefix}overlay {
32
+ --#{$prefix}overlay-color: var(--#{$prefix}primary-color);
33
+ --#{$prefix}overlay-opacity: 0.1;
34
+ --#{$prefix}_hover-overlay-color: var(--#{$prefix}primary-color);
35
+ --#{$prefix}_hover-overlay-opacity: 0.14;
36
+ --#{$prefix}_active-overlay-color: var(--#{$prefix}primary-color);
37
+ --#{$prefix}_active-overlay-opacity: 0.18;
38
+ }
39
+ }
40
+
41
+ &--disabled > .#{$prefix}overlay {
42
+ --#{$prefix}overlay-opacity: 0;
43
+ }
44
+ }
45
+
46
+ // Size variants - sm (Compact)
47
+ .#{$prefix}navigation-menu--sm .#{$prefix}navigation-menu-item {
48
+ --#{$prefix}navigation-menu-item-padding-block: 0.25rem; // 4px
49
+ --#{$prefix}navigation-menu-item-padding-left: 0.375rem; // 6px
50
+ --#{$prefix}navigation-menu-item-padding-right: 0.375rem; // 6px (Balanced for root)
51
+ --#{$prefix}navigation-menu-item-gap: 0.375rem; // 6px
52
+
53
+ --#{$prefix}navigation-menu-item-title-font-size: 0.6875rem; // 11px
54
+ --#{$prefix}navigation-menu-item-title-line-height: 0.875rem; // 14px
55
+
56
+ --#{$prefix}navigation-menu-item-subtitle-font-size: 0.625rem; // 10px
57
+ --#{$prefix}navigation-menu-item-subtitle-line-height: 0.75rem; // 12px
58
+ }
59
+
60
+ // Submenu override for sm (matches dropdown exactly)
61
+ .#{$prefix}navigation-menu-content.#{$prefix}navigation-menu--sm .#{$prefix}navigation-menu-item {
62
+ --#{$prefix}navigation-menu-item-padding-block: 0.25rem; // 4px
63
+ --#{$prefix}navigation-menu-item-padding-left: 0.375rem; // 6px
64
+ --#{$prefix}navigation-menu-item-padding-right: 1.25rem; // 20px
65
+ --#{$prefix}navigation-menu-item-gap: 0.375rem; // 6px
66
+ }
67
+
68
+ .#{$prefix}navigation-menu--sm .#{$prefix}navigation-menu-item .#{$prefix}icon {
69
+ --#{$prefix}icon-font-size: 14px;
70
+ }
71
+
72
+ // Size variants - md (Default)
73
+ .#{$prefix}navigation-menu--md .#{$prefix}navigation-menu-item {
74
+ --#{$prefix}navigation-menu-item-padding-block: 0.3125rem; // 5px
75
+ --#{$prefix}navigation-menu-item-padding-left: 0.5rem; // 8px
76
+ --#{$prefix}navigation-menu-item-padding-right: 0.5rem; // 8px (Balanced for root)
77
+ --#{$prefix}navigation-menu-item-gap: 0.5rem; // 8px
78
+
79
+ --#{$prefix}navigation-menu-item-title-font-size: 0.75rem; // 12px
80
+ --#{$prefix}navigation-menu-item-title-line-height: 1rem; // 16px
81
+
82
+ --#{$prefix}navigation-menu-item-subtitle-font-size: 0.6875rem; // 11px
83
+ --#{$prefix}navigation-menu-item-subtitle-line-height: 0.875rem; // 14px
84
+ }
85
+
86
+ // Submenu override for md (matches dropdown exactly)
87
+ .#{$prefix}navigation-menu-content.#{$prefix}navigation-menu--md .#{$prefix}navigation-menu-item {
88
+ --#{$prefix}navigation-menu-item-padding-block: 0.3125rem; // 5px
89
+ --#{$prefix}navigation-menu-item-padding-left: 0.5rem; // 8px
90
+ --#{$prefix}navigation-menu-item-padding-right: 1.5rem; // 24px
91
+ --#{$prefix}navigation-menu-item-gap: 0.5rem; // 8px
92
+ }
93
+
94
+ .#{$prefix}navigation-menu--md .#{$prefix}navigation-menu-item .#{$prefix}icon {
95
+ --#{$prefix}icon-font-size: 16px;
96
+ }
97
+
98
+ // Size variants - lg (Spacious)
99
+ .#{$prefix}navigation-menu--lg .#{$prefix}navigation-menu-item {
100
+ --#{$prefix}navigation-menu-item-padding-block: 0.4375rem; // 7px
101
+ --#{$prefix}navigation-menu-item-padding-left: 0.75rem; // 12px
102
+ --#{$prefix}navigation-menu-item-padding-right: 0.75rem; // 12px (Balanced for root)
103
+ --#{$prefix}navigation-menu-item-gap: 0.625rem; // 10px
104
+
105
+ --#{$prefix}navigation-menu-item-title-font-size: 0.875rem; // 14px
106
+ --#{$prefix}navigation-menu-item-title-line-height: 1.125rem; // 18px
107
+
108
+ --#{$prefix}navigation-menu-item-subtitle-font-size: 0.75rem; // 12px
109
+ --#{$prefix}navigation-menu-item-subtitle-line-height: 1rem; // 16px
110
+ }
111
+
112
+ // Submenu override for lg (matches dropdown exactly)
113
+ .#{$prefix}navigation-menu-content.#{$prefix}navigation-menu--lg .#{$prefix}navigation-menu-item {
114
+ --#{$prefix}navigation-menu-item-padding-block: 0.4375rem; // 7px
115
+ --#{$prefix}navigation-menu-item-padding-left: 0.75rem; // 12px
116
+ --#{$prefix}navigation-menu-item-padding-right: 2rem; // 32px
117
+ --#{$prefix}navigation-menu-item-gap: 0.625rem; // 10px
118
+ }
119
+
120
+ .#{$prefix}navigation-menu--lg .#{$prefix}navigation-menu-item .#{$prefix}icon {
121
+ --#{$prefix}icon-font-size: 18px;
122
+ }
123
+ }
@@ -0,0 +1,8 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}navigation-menu-separator {
4
+ // FCI theme customizations
5
+ --#{$prefix}navigation-menu-separator-color: var(--us-color-border-default, #e9ecef);
6
+ --#{$prefix}navigation-menu-separator-margin-block: 0.625rem;
7
+ --#{$prefix}navigation-menu-separator-margin-inline: 1.25rem;
8
+ }
@@ -0,0 +1,19 @@
1
+ @use '../../../variables' as *;
2
+
3
+ .#{$prefix}theme-fci {
4
+ .#{$prefix}navigation-menu {
5
+ --#{$prefix}navigation-menu-background: rgba(255, 255, 255, 0.98);
6
+ --#{$prefix}navigation-menu-padding: 0.375rem;
7
+ --#{$prefix}navigation-menu-border-radius: 0.5rem;
8
+ --#{$prefix}navigation-menu-color: #343a40;
9
+
10
+ --#{$prefix}navigation-menu-popup-border-radius: 0.5rem;
11
+ --#{$prefix}navigation-menu-popup-background: rgba(255, 255, 255, 0.98);
12
+ --#{$prefix}navigation-menu-popup-color: #343a40;
13
+ --#{$prefix}navigation-menu-popup-border-color: rgba(0, 0, 0, 0.08);
14
+ --#{$prefix}navigation-menu-popup-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.04),
15
+ 0 8px 16px rgba(0, 0, 0, 0.08), 0 16px 32px rgba(0, 0, 0, 0.06);
16
+
17
+ --#{$prefix}navigation-menu-link-hover-background: rgba(0, 0, 0, 0.05);
18
+ }
19
+ }