@mediusinc/mng-commons-layout 5.0.0-rc.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 (194) hide show
  1. package/README.md +13 -0
  2. package/assets/fonts/poppins-v20-latin-500.woff +0 -0
  3. package/assets/fonts/poppins-v20-latin-500.woff2 +0 -0
  4. package/assets/fonts/poppins-v20-latin-600.woff +0 -0
  5. package/assets/fonts/poppins-v20-latin-600.woff2 +0 -0
  6. package/assets/fonts/poppins-v20-latin-700.woff +0 -0
  7. package/assets/fonts/poppins-v20-latin-700.woff2 +0 -0
  8. package/assets/fonts/poppins-v20-latin-regular.woff +0 -0
  9. package/assets/fonts/poppins-v20-latin-regular.woff2 +0 -0
  10. package/assets/images/effect-ondark.png +0 -0
  11. package/assets/images/effect-ondark.svg +38 -0
  12. package/assets/images/effect-ondark@2x.png +0 -0
  13. package/assets/images/effect-onlight.png +0 -0
  14. package/assets/images/effect-onlight.svg +38 -0
  15. package/assets/images/effect-onlight@2x.png +0 -0
  16. package/assets/images/pages/exception-ondark.png +0 -0
  17. package/assets/images/pages/exception-onlight.png +0 -0
  18. package/assets/images/pages/login-ondark.png +0 -0
  19. package/assets/images/pages/login-onlight.png +0 -0
  20. package/esm2022/index.mjs +23 -0
  21. package/esm2022/lib/components/breadcrumb.component.mjs +30 -0
  22. package/esm2022/lib/components/footer.component.mjs +28 -0
  23. package/esm2022/lib/components/main-layout.component.mjs +99 -0
  24. package/esm2022/lib/components/menu-item.component.mjs +275 -0
  25. package/esm2022/lib/components/menu.component.mjs +40 -0
  26. package/esm2022/lib/components/sidebar.component.mjs +61 -0
  27. package/esm2022/lib/components/topbar-user.component.mjs +39 -0
  28. package/esm2022/lib/components/topbar.component.mjs +57 -0
  29. package/esm2022/lib/components/version.component.mjs +63 -0
  30. package/esm2022/lib/helpers/route-builder.mjs +11 -0
  31. package/esm2022/lib/models/layout-state.model.mjs +2 -0
  32. package/esm2022/lib/models/menu.model.mjs +2 -0
  33. package/esm2022/lib/provide.mjs +23 -0
  34. package/esm2022/lib/services/layout-feature-config.token.mjs +3 -0
  35. package/esm2022/lib/services/main-layout.component.service.mjs +71 -0
  36. package/esm2022/lib/services/menu.service.mjs +120 -0
  37. package/esm2022/lib/services/version.service.mjs +45 -0
  38. package/esm2022/mediusinc-mng-commons-layout.mjs +5 -0
  39. package/fesm2022/mediusinc-mng-commons-layout.mjs +878 -0
  40. package/fesm2022/mediusinc-mng-commons-layout.mjs.map +1 -0
  41. package/index.d.ts +17 -0
  42. package/lib/components/breadcrumb.component.d.ts +10 -0
  43. package/lib/components/footer.component.d.ts +12 -0
  44. package/lib/components/main-layout.component.d.ts +27 -0
  45. package/lib/components/menu-item.component.d.ts +40 -0
  46. package/lib/components/menu.component.d.ts +14 -0
  47. package/lib/components/sidebar.component.d.ts +19 -0
  48. package/lib/components/topbar-user.component.d.ts +15 -0
  49. package/lib/components/topbar.component.d.ts +22 -0
  50. package/lib/components/version.component.d.ts +18 -0
  51. package/lib/helpers/route-builder.d.ts +6 -0
  52. package/lib/models/layout-state.model.d.ts +10 -0
  53. package/lib/models/menu.model.d.ts +4 -0
  54. package/lib/provide.d.ts +8 -0
  55. package/lib/services/layout-feature-config.token.d.ts +18 -0
  56. package/lib/services/main-layout.component.service.d.ts +17 -0
  57. package/lib/services/menu.service.d.ts +22 -0
  58. package/lib/services/version.service.d.ts +14 -0
  59. package/package.json +35 -0
  60. package/scss/commons-dark.scss +9 -0
  61. package/scss/commons-light.scss +9 -0
  62. package/scss/layout/_animation.scss +53 -0
  63. package/scss/layout/_breadcrumb.scss +97 -0
  64. package/scss/layout/_config.scss +42 -0
  65. package/scss/layout/_content.scss +3 -0
  66. package/scss/layout/_fonts.scss +40 -0
  67. package/scss/layout/_layout_dark.scss +12 -0
  68. package/scss/layout/_layout_light.scss +12 -0
  69. package/scss/layout/_main.scss +54 -0
  70. package/scss/layout/_profile.scss +10 -0
  71. package/scss/layout/_responsive.scss +131 -0
  72. package/scss/layout/_sidebar_drawer.scss +285 -0
  73. package/scss/layout/_sidebar_horizontal.scss +168 -0
  74. package/scss/layout/_sidebar_reveal.scss +203 -0
  75. package/scss/layout/_sidebar_slim.scss +157 -0
  76. package/scss/layout/_sidebar_slim_plus.scss +166 -0
  77. package/scss/layout/_sidebar_vertical.scss +178 -0
  78. package/scss/layout/_topbar.scss +174 -0
  79. package/scss/layout/_typography.scss +67 -0
  80. package/scss/layout/_utils.scss +33 -0
  81. package/scss/layout/layout.scss +24 -0
  82. package/scss/layout/mng/_mng_layout_footer.scss +39 -0
  83. package/scss/layout/mng/_mng_layout_menu.scss +10 -0
  84. package/scss/layout/mng/_mng_layout_styles.scss +3 -0
  85. package/scss/layout/mng/_mng_layout_topbar.scss +18 -0
  86. package/scss/layout/preloading.scss +84 -0
  87. package/scss/theme/extensions/_fullcalendar.scss +328 -0
  88. package/scss/theme/theme-base/_colors.scss +17 -0
  89. package/scss/theme/theme-base/_common.scss +76 -0
  90. package/scss/theme/theme-base/_components.scss +110 -0
  91. package/scss/theme/theme-base/_mixins.scss +337 -0
  92. package/scss/theme/theme-base/components/button/_button.scss +576 -0
  93. package/scss/theme/theme-base/components/button/_speeddial.scss +96 -0
  94. package/scss/theme/theme-base/components/button/_splitbutton.scss +348 -0
  95. package/scss/theme/theme-base/components/data/_carousel.scss +37 -0
  96. package/scss/theme/theme-base/components/data/_datatable.scss +338 -0
  97. package/scss/theme/theme-base/components/data/_dataview.scss +46 -0
  98. package/scss/theme/theme-base/components/data/_filter.scss +137 -0
  99. package/scss/theme/theme-base/components/data/_orderlist.scss +114 -0
  100. package/scss/theme/theme-base/components/data/_organizationchart.scss +50 -0
  101. package/scss/theme/theme-base/components/data/_paginator.scss +92 -0
  102. package/scss/theme/theme-base/components/data/_picklist.scss +114 -0
  103. package/scss/theme/theme-base/components/data/_timeline.scss +35 -0
  104. package/scss/theme/theme-base/components/data/_tree.scss +150 -0
  105. package/scss/theme/theme-base/components/data/_treetable.scss +255 -0
  106. package/scss/theme/theme-base/components/data/_virtualscroller.scss +28 -0
  107. package/scss/theme/theme-base/components/file/_fileupload.scss +64 -0
  108. package/scss/theme/theme-base/components/input/_autocomplete.scss +136 -0
  109. package/scss/theme/theme-base/components/input/_calendar.scss +267 -0
  110. package/scss/theme/theme-base/components/input/_cascadeselect.scss +135 -0
  111. package/scss/theme/theme-base/components/input/_checkbox.scss +94 -0
  112. package/scss/theme/theme-base/components/input/_chips.scss +65 -0
  113. package/scss/theme/theme-base/components/input/_colorpicker.scss +19 -0
  114. package/scss/theme/theme-base/components/input/_dropdown.scss +151 -0
  115. package/scss/theme/theme-base/components/input/_editor.scss +122 -0
  116. package/scss/theme/theme-base/components/input/_inputgroup.scss +74 -0
  117. package/scss/theme/theme-base/components/input/_inputmask.scss +16 -0
  118. package/scss/theme/theme-base/components/input/_inputnumber.scss +28 -0
  119. package/scss/theme/theme-base/components/input/_inputswitch.scss +60 -0
  120. package/scss/theme/theme-base/components/input/_inputtext.scss +100 -0
  121. package/scss/theme/theme-base/components/input/_listbox.scss +97 -0
  122. package/scss/theme/theme-base/components/input/_multiselect.scss +177 -0
  123. package/scss/theme/theme-base/components/input/_password.scss +52 -0
  124. package/scss/theme/theme-base/components/input/_radiobutton.scss +78 -0
  125. package/scss/theme/theme-base/components/input/_rating.scss +60 -0
  126. package/scss/theme/theme-base/components/input/_selectbutton.scss +50 -0
  127. package/scss/theme/theme-base/components/input/_slider.scss +75 -0
  128. package/scss/theme/theme-base/components/input/_togglebutton.scss +48 -0
  129. package/scss/theme/theme-base/components/input/_treeselect.scss +139 -0
  130. package/scss/theme/theme-base/components/menu/_breadcrumb.scss +42 -0
  131. package/scss/theme/theme-base/components/menu/_contextmenu.scss +39 -0
  132. package/scss/theme/theme-base/components/menu/_dock.scss +95 -0
  133. package/scss/theme/theme-base/components/menu/_megamenu.scss +55 -0
  134. package/scss/theme/theme-base/components/menu/_menu.scss +37 -0
  135. package/scss/theme/theme-base/components/menu/_menubar.scss +140 -0
  136. package/scss/theme/theme-base/components/menu/_panelmenu.scss +153 -0
  137. package/scss/theme/theme-base/components/menu/_slidemenu.scss +59 -0
  138. package/scss/theme/theme-base/components/menu/_steps.scss +56 -0
  139. package/scss/theme/theme-base/components/menu/_tabmenu.scss +73 -0
  140. package/scss/theme/theme-base/components/menu/_tieredmenu.scss +43 -0
  141. package/scss/theme/theme-base/components/messages/_inlinemessage.scss +69 -0
  142. package/scss/theme/theme-base/components/messages/_message.scss +107 -0
  143. package/scss/theme/theme-base/components/messages/_toast.scss +99 -0
  144. package/scss/theme/theme-base/components/misc/_avatar.scss +30 -0
  145. package/scss/theme/theme-base/components/misc/_badge.scss +48 -0
  146. package/scss/theme/theme-base/components/misc/_blockui.scss +0 -0
  147. package/scss/theme/theme-base/components/misc/_chip.scss +42 -0
  148. package/scss/theme/theme-base/components/misc/_inplace.scss +16 -0
  149. package/scss/theme/theme-base/components/misc/_progressbar.scss +17 -0
  150. package/scss/theme/theme-base/components/misc/_scrolltop.scss +25 -0
  151. package/scss/theme/theme-base/components/misc/_skeleton.scss +8 -0
  152. package/scss/theme/theme-base/components/misc/_tag.scss +40 -0
  153. package/scss/theme/theme-base/components/misc/_terminal.scss +12 -0
  154. package/scss/theme/theme-base/components/multimedia/_galleria.scss +155 -0
  155. package/scss/theme/theme-base/components/multimedia/_image.scss +49 -0
  156. package/scss/theme/theme-base/components/overlay/_confirmpopup.scss +70 -0
  157. package/scss/theme/theme-base/components/overlay/_dialog.scss +69 -0
  158. package/scss/theme/theme-base/components/overlay/_overlaypanel.scss +62 -0
  159. package/scss/theme/theme-base/components/overlay/_sidebar.scss +27 -0
  160. package/scss/theme/theme-base/components/overlay/_tooltip.scss +33 -0
  161. package/scss/theme/theme-base/components/panel/_accordion.scss +119 -0
  162. package/scss/theme/theme-base/components/panel/_card.scss +30 -0
  163. package/scss/theme/theme-base/components/panel/_divider.scss +31 -0
  164. package/scss/theme/theme-base/components/panel/_fieldset.scss +47 -0
  165. package/scss/theme/theme-base/components/panel/_panel.scss +63 -0
  166. package/scss/theme/theme-base/components/panel/_scrollpanel.scss +6 -0
  167. package/scss/theme/theme-base/components/panel/_splitter.scss +19 -0
  168. package/scss/theme/theme-base/components/panel/_tabview.scss +82 -0
  169. package/scss/theme/theme-base/components/panel/_toolbar.scss +11 -0
  170. package/scss/theme/theme-base/mng/_mng_mixins.scss +69 -0
  171. package/scss/theme/theme-base/mng/_mng_theme_autocomplete.scss +34 -0
  172. package/scss/theme/theme-base/mng/_mng_theme_button.scss +68 -0
  173. package/scss/theme/theme-base/mng/_mng_theme_datatable.scss +153 -0
  174. package/scss/theme/theme-base/mng/_mng_theme_datepicker.scss +21 -0
  175. package/scss/theme/theme-base/mng/_mng_theme_dialog.scss +206 -0
  176. package/scss/theme/theme-base/mng/_mng_theme_dropdown.scss +32 -0
  177. package/scss/theme/theme-base/mng/_mng_theme_fileupload.scss +24 -0
  178. package/scss/theme/theme-base/mng/_mng_theme_forms.scss +66 -0
  179. package/scss/theme/theme-base/mng/_mng_theme_image.scss +27 -0
  180. package/scss/theme/theme-base/mng/_mng_theme_input.scss +31 -0
  181. package/scss/theme/theme-base/mng/_mng_theme_menu.scss +5 -0
  182. package/scss/theme/theme-base/mng/_mng_theme_multiselect.scss +20 -0
  183. package/scss/theme/theme-base/mng/_mng_theme_styles.scss +17 -0
  184. package/scss/theme/theme-base/mng/_mng_theme_tableview.scss +97 -0
  185. package/scss/theme/theme-base/mng/_mng_theme_tabview.scss +14 -0
  186. package/scss/theme/theme-base/mng/_mng_theme_toast.scss +3 -0
  187. package/scss/theme/theme-base/mng/_mng_theme_toolbar.scss +5 -0
  188. package/scss/theme/theme-base/mng/_mng_variables.scss +15 -0
  189. package/scss/theme/theme-dark/_extensions.scss +109 -0
  190. package/scss/theme/theme-dark/_variables.scss +940 -0
  191. package/scss/theme/theme-dark/blue/theme.scss +14 -0
  192. package/scss/theme/theme-light/_extensions.scss +109 -0
  193. package/scss/theme/theme-light/_variables.scss +936 -0
  194. package/scss/theme/theme-light/blue/theme.scss +14 -0
@@ -0,0 +1,110 @@
1
+ @import '_mixins';
2
+ @import '_colors';
3
+
4
+ @import './components/input/_editor';
5
+
6
+ @layer primeng {
7
+ @import '_common';
8
+
9
+ //Input
10
+ @import './components/input/_autocomplete';
11
+ @import './components/input/_calendar';
12
+ //@import './components/input/_cascadeselect';
13
+ @import './components/input/_checkbox';
14
+ @import './components/input/_chips';
15
+ //@import './components/input/_colorpicker';
16
+ @import './components/input/_dropdown';
17
+
18
+ @import './components/input/_inputgroup';
19
+ @import './components/input/_inputmask';
20
+ @import './components/input/_inputnumber';
21
+ @import './components/input/_inputswitch';
22
+ @import './components/input/_inputtext';
23
+ //@import './components/input/_listbox';
24
+ @import './components/input/_multiselect';
25
+ //@import './components/input/_password';
26
+ @import './components/input/_radiobutton';
27
+ //@import './components/input/_rating';
28
+ @import './components/input/_selectbutton';
29
+ //@import './components/input/_slider';
30
+ @import './components/input/_togglebutton';
31
+ //@import './components/input/_treeselect';
32
+
33
+ //Button
34
+ @import './components/button/_button';
35
+ //@import './components/button/_speeddial';
36
+ @import './components/button/_splitbutton';
37
+
38
+ //Data
39
+ //@import './components/data/_carousel';
40
+ @import './components/data/_datatable';
41
+ //@import './components/data/_dataview';
42
+ @import './components/data/_filter';
43
+ //@import './components/data/_orderlist';
44
+ //@import './components/data/_organizationchart';
45
+ @import './components/data/_paginator';
46
+ //@import './components/data/_picklist';
47
+ //@import './components/data/_timeline';
48
+ //@import './components/data/_tree';
49
+ //@import './components/data/_treetable';
50
+ //@import './components/data/_virtualscroller';
51
+
52
+ //Panel
53
+ //@import './components/panel/_accordion';
54
+ //@import './components/panel/_card';
55
+ //@import './components/panel/_divider';
56
+ @import './components/panel/_fieldset';
57
+ //@import './components/panel/_panel';
58
+ //@import './components/panel/_scrollpanel';
59
+ //@import './components/panel/_splitter';
60
+ @import './components/panel/_tabview';
61
+ @import './components/panel/_toolbar';
62
+
63
+ //Overlay
64
+ @import './components/overlay/_confirmpopup';
65
+ @import './components/overlay/_dialog';
66
+ //@import './components/overlay/_overlaypanel';
67
+ //@import './components/overlay/_sidebar';
68
+ @import './components/overlay/_tooltip';
69
+
70
+ //File
71
+ @import './components/file/_fileupload';
72
+
73
+ //Menu
74
+ //@import './components/menu/_breadcrumb';
75
+ //@import './components/menu/_contextmenu';
76
+ //@import './components/menu/_dock';
77
+ //@import './components/menu/_megamenu';
78
+ @import './components/menu/_menu';
79
+ //@import './components/menu/_menubar';
80
+ //@import './components/menu/_panelmenu';
81
+ //@import './components/menu/_slidemenu';
82
+ //@import './components/menu/_steps';
83
+ //@import './components/menu/_tabmenu';
84
+ //@import './components/menu/_tieredmenu';
85
+
86
+ //Messages
87
+ @import './components/messages/_inlinemessage';
88
+ @import './components/messages/_message';
89
+ @import 'components/messages/toast';
90
+
91
+ //MultiMedia
92
+ //@import './components/multimedia/_galleria';
93
+ @import './components/multimedia/_image';
94
+
95
+ //Misc
96
+ //@import './components/misc/_avatar';
97
+ //@import './components/misc/_badge';
98
+ //@import './components/misc/_blockui';
99
+ //@import './components/misc/_chip';
100
+ //@import './components/misc/_inplace';
101
+ //@import './components/misc/_progressbar';
102
+ //@import './components/misc/_scrolltop';
103
+ @import './components/misc/_skeleton';
104
+ //@import './components/misc/_tag';
105
+ //@import './components/misc/_terminal';
106
+ }
107
+
108
+ @import 'mng/mng_variables';
109
+ @import 'mng/mng_mixins';
110
+ @import 'mng/mng_theme_styles';
@@ -0,0 +1,337 @@
1
+ @mixin icon-override($icon) {
2
+ &:before {
3
+ content: $icon;
4
+ }
5
+ }
6
+
7
+ @mixin focused() {
8
+ outline: $focusOutline;
9
+ outline-offset: $focusOutlineOffset;
10
+ box-shadow: $focusShadow;
11
+ }
12
+
13
+ @mixin focused-inset() {
14
+ outline: $focusOutline;
15
+ outline-offset: $focusOutlineOffset;
16
+ box-shadow: inset $focusShadow;
17
+ }
18
+
19
+ @mixin focused-input() {
20
+ @include focused();
21
+ border-color: $inputFocusBorderColor;
22
+ }
23
+
24
+ @mixin focused-listitem() {
25
+ outline: $focusOutline;
26
+ outline-offset: $focusOutlineOffset;
27
+ box-shadow: $inputListItemFocusShadow;
28
+ }
29
+
30
+ @mixin invalid-input() {
31
+ border-color: $inputErrorBorderColor;
32
+ }
33
+
34
+ @mixin menuitem-link {
35
+ padding: $menuitemPadding;
36
+ color: $menuitemTextColor;
37
+ border-radius: $menuitemBorderRadius;
38
+ transition: $listItemTransition;
39
+ user-select: none;
40
+
41
+ .p-menuitem-text {
42
+ color: $menuitemTextColor;
43
+ }
44
+
45
+ .p-menuitem-icon {
46
+ color: $menuitemIconColor;
47
+ margin-right: $inlineSpacing;
48
+ }
49
+
50
+ .p-submenu-icon {
51
+ color: $menuitemIconColor;
52
+ }
53
+
54
+ &:not(.p-disabled):hover {
55
+ background: $menuitemHoverBg;
56
+
57
+ .p-menuitem-text {
58
+ color: $menuitemTextHoverColor;
59
+ }
60
+
61
+ .p-menuitem-icon {
62
+ color: $menuitemIconHoverColor;
63
+ }
64
+
65
+ .p-submenu-icon {
66
+ color: $menuitemIconHoverColor;
67
+ }
68
+ }
69
+
70
+ &:focus {
71
+ @include focused-listitem();
72
+ }
73
+ }
74
+
75
+ @mixin menuitem {
76
+ > .p-menuitem-content {
77
+ color: $menuitemTextColor;
78
+ transition: $listItemTransition;
79
+ border-radius: $menuitemBorderRadius;
80
+
81
+ .p-menuitem-link {
82
+ color: $menuitemTextColor;
83
+ padding: $menuitemPadding;
84
+ user-select: none;
85
+
86
+ .p-menuitem-text {
87
+ color: $menuitemTextColor;
88
+ }
89
+
90
+ .p-menuitem-icon {
91
+ color: $menuitemIconColor;
92
+ margin-right: $inlineSpacing;
93
+ }
94
+
95
+ .p-submenu-icon {
96
+ color: $menuitemIconColor;
97
+ }
98
+ }
99
+ }
100
+
101
+ &.p-highlight {
102
+ > .p-menuitem-content {
103
+ color: $menuitemTextActiveColor;
104
+ background: $menuitemActiveBg;
105
+
106
+ .p-menuitem-link {
107
+ .p-menuitem-text {
108
+ color: $menuitemTextActiveColor;
109
+ }
110
+
111
+ .p-menuitem-icon,
112
+ .p-submenu-icon {
113
+ color: $menuitemIconActiveColor;
114
+ }
115
+ }
116
+ }
117
+
118
+ &.p-focus {
119
+ > .p-menuitem-content {
120
+ background: $menuitemActiveFocusBg;
121
+ }
122
+ }
123
+ }
124
+
125
+ &:not(.p-highlight):not(.p-disabled) {
126
+ &.p-focus {
127
+ > .p-menuitem-content {
128
+ color: $menuitemTextFocusColor;
129
+ background: $menuitemFocusBg;
130
+
131
+ .p-menuitem-link {
132
+ .p-menuitem-text {
133
+ color: $menuitemTextFocusColor;
134
+ }
135
+
136
+ .p-menuitem-icon,
137
+ .p-submenu-icon {
138
+ color: $menuitemIconFocusColor;
139
+ }
140
+ }
141
+ }
142
+ }
143
+
144
+ > .p-menuitem-content {
145
+ &:hover {
146
+ color: $menuitemTextHoverColor;
147
+ background: $menuitemHoverBg;
148
+
149
+ .p-menuitem-link {
150
+ .p-menuitem-text {
151
+ color: $menuitemTextHoverColor;
152
+ }
153
+
154
+ .p-menuitem-icon,
155
+ .p-submenu-icon {
156
+ color: $menuitemIconHoverColor;
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ @mixin horizontal-rootmenuitem-link {
165
+ padding: $horizontalMenuRootMenuitemPadding;
166
+ color: $horizontalMenuRootMenuitemTextColor;
167
+ border-radius: $horizontalMenuRootMenuitemBorderRadius;
168
+ transition: $listItemTransition;
169
+ user-select: none;
170
+
171
+ .p-menuitem-text {
172
+ color: $horizontalMenuRootMenuitemTextColor;
173
+ }
174
+
175
+ .p-menuitem-icon {
176
+ color: $horizontalMenuRootMenuitemIconColor;
177
+ margin-right: $inlineSpacing;
178
+ }
179
+
180
+ .p-submenu-icon {
181
+ color: $horizontalMenuRootMenuitemIconColor;
182
+ margin-left: $inlineSpacing;
183
+ }
184
+
185
+ &:not(.p-disabled):hover {
186
+ background: $horizontalMenuRootMenuitemHoverBg;
187
+
188
+ .p-menuitem-text {
189
+ color: $horizontalMenuRootMenuitemTextHoverColor;
190
+ }
191
+
192
+ .p-menuitem-icon {
193
+ color: $horizontalMenuRootMenuitemIconHoverColor;
194
+ }
195
+
196
+ .p-submenu-icon {
197
+ color: $horizontalMenuRootMenuitemIconHoverColor;
198
+ }
199
+ }
200
+
201
+ &:focus {
202
+ @include focused-listitem();
203
+ }
204
+ }
205
+
206
+ @mixin horizontal-rootmenuitem {
207
+ > .p-menuitem-content {
208
+ color: $horizontalMenuRootMenuitemTextColor;
209
+ transition: $listItemTransition;
210
+ border-radius: $horizontalMenuRootMenuitemBorderRadius;
211
+
212
+ .p-menuitem-link {
213
+ padding: $horizontalMenuRootMenuitemPadding;
214
+ user-select: none;
215
+
216
+ .p-menuitem-text {
217
+ color: $horizontalMenuRootMenuitemTextColor;
218
+ }
219
+
220
+ .p-menuitem-icon {
221
+ color: $horizontalMenuRootMenuitemIconColor;
222
+ margin-right: $inlineSpacing;
223
+ }
224
+
225
+ .p-submenu-icon {
226
+ color: $horizontalMenuRootMenuitemIconColor;
227
+ margin-left: $inlineSpacing;
228
+ }
229
+ }
230
+ }
231
+
232
+ &:not(.p-highlight):not(.p-disabled) {
233
+ > .p-menuitem-content {
234
+ &:hover {
235
+ color: $horizontalMenuRootMenuitemTextHoverColor;
236
+ background: $horizontalMenuRootMenuitemHoverBg;
237
+
238
+ .p-menuitem-link {
239
+ .p-menuitem-text {
240
+ color: $horizontalMenuRootMenuitemTextHoverColor;
241
+ }
242
+
243
+ .p-menuitem-icon,
244
+ .p-submenu-icon {
245
+ color: $horizontalMenuRootMenuitemIconHoverColor;
246
+ }
247
+ }
248
+ }
249
+ }
250
+ }
251
+ }
252
+
253
+ @mixin placeholder {
254
+ ::-webkit-input-placeholder {
255
+ @content;
256
+ }
257
+ :-moz-placeholder {
258
+ @content;
259
+ }
260
+ ::-moz-placeholder {
261
+ @content;
262
+ }
263
+ :-ms-input-placeholder {
264
+ @content;
265
+ }
266
+ }
267
+
268
+ @mixin scaledPadding($val, $scale) {
269
+ padding: nth($val, 1) * $scale nth($val, 2) * $scale;
270
+ }
271
+
272
+ @mixin scaledFontSize($val, $scale) {
273
+ font-size: $val * $scale;
274
+ }
275
+
276
+ @mixin nested-submenu-indents($val, $index, $length) {
277
+ .p-submenu-list {
278
+ .p-menuitem {
279
+ .p-menuitem-content {
280
+ .p-menuitem-link {
281
+ padding-left: $val * ($index + 1);
282
+ }
283
+ }
284
+ @if $index < $length {
285
+ @include nested-submenu-indents($val, $index + 2, $length);
286
+ }
287
+ }
288
+ }
289
+ }
290
+
291
+ @mixin action-icon($enabled: true) {
292
+ width: $actionIconWidth;
293
+ height: $actionIconHeight;
294
+ color: $actionIconColor;
295
+ border: $actionIconBorder;
296
+ background: $actionIconBg;
297
+ border-radius: $actionIconBorderRadius;
298
+ transition: $actionIconTransition;
299
+
300
+ &:enabled:hover {
301
+ color: $actionIconHoverColor;
302
+ border-color: $actionIconHoverBorderColor;
303
+ background: $actionIconHoverBg;
304
+ }
305
+
306
+ &:focus-visible {
307
+ @include focused();
308
+ }
309
+ }
310
+
311
+ @function tint($color, $percentage) {
312
+ @return mix(#fff, $color, $percentage);
313
+ }
314
+
315
+ @function shade($color, $percentage) {
316
+ @return mix(#000, $color, $percentage);
317
+ }
318
+
319
+ @mixin focused-inset() {
320
+ outline: $focusOutline;
321
+ outline-offset: $focusOutlineOffset;
322
+ box-shadow: inset $focusShadow;
323
+ }
324
+
325
+ @mixin menuitem-badge {
326
+ background: $badgeBg;
327
+ color: $badgeTextColor;
328
+ font-size: $badgeFontSize;
329
+ font-weight: $badgeFontWeight;
330
+ min-width: $badgeMinWidth;
331
+ height: $badgeHeight;
332
+ line-height: $badgeHeight;
333
+ border-radius: $borderRadius;
334
+ margin-left: $inlineSpacing;
335
+ padding-left: $inlineSpacing;
336
+ padding-right: $inlineSpacing;
337
+ }