@aotearoan/neon 22.1.0 → 22.1.2

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 (53) hide show
  1. package/dist/common/enums/NeonButtonType.cjs.js +2 -0
  2. package/dist/common/enums/NeonButtonType.cjs.js.map +1 -0
  3. package/dist/common/enums/NeonButtonType.es.js +5 -0
  4. package/dist/common/enums/NeonButtonType.es.js.map +1 -0
  5. package/dist/common/enums/NeonResponsive.cjs.js.map +1 -1
  6. package/dist/common/enums/NeonResponsive.es.js.map +1 -1
  7. package/dist/common/utils/NeonResponsiveUtils.cjs.js +1 -1
  8. package/dist/common/utils/NeonResponsiveUtils.cjs.js.map +1 -1
  9. package/dist/common/utils/NeonResponsiveUtils.es.js +4 -4
  10. package/dist/common/utils/NeonResponsiveUtils.es.js.map +1 -1
  11. package/dist/components/navigation/link/NeonLink.cjs.js +1 -1
  12. package/dist/components/navigation/link/NeonLink.cjs.js.map +1 -1
  13. package/dist/components/navigation/link/NeonLink.es.js +1 -1
  14. package/dist/components/navigation/link/NeonLink.es.js.map +1 -1
  15. package/dist/components/navigation/menu/NeonMenu.cjs.js.map +1 -1
  16. package/dist/components/navigation/menu/NeonMenu.es.js.map +1 -1
  17. package/dist/components/navigation/menu/NeonMenu.vue.cjs.js +1 -1
  18. package/dist/components/navigation/menu/NeonMenu.vue.cjs.js.map +1 -1
  19. package/dist/components/navigation/menu/NeonMenu.vue.es.js +30 -28
  20. package/dist/components/navigation/menu/NeonMenu.vue.es.js.map +1 -1
  21. package/dist/components/user-input/button/NeonButton.cjs.js +1 -1
  22. package/dist/components/user-input/button/NeonButton.cjs.js.map +1 -1
  23. package/dist/components/user-input/button/NeonButton.es.js +18 -12
  24. package/dist/components/user-input/button/NeonButton.es.js.map +1 -1
  25. package/dist/components/user-input/button/NeonButton.vue.cjs.js +1 -1
  26. package/dist/components/user-input/button/NeonButton.vue.cjs.js.map +1 -1
  27. package/dist/components/user-input/button/NeonButton.vue.es.js +9 -8
  28. package/dist/components/user-input/button/NeonButton.vue.es.js.map +1 -1
  29. package/dist/neon.cjs.js +1 -1
  30. package/dist/neon.es.js +101 -99
  31. package/dist/neon.es.js.map +1 -1
  32. package/dist/src/common/enums/NeonButtonType.d.ts +5 -0
  33. package/dist/src/common/enums/NeonResponsive.d.ts +4 -4
  34. package/dist/src/components/feedback/dialog/NeonDialog.d.ts +20 -6
  35. package/dist/src/components/feedback/note/NeonNote.d.ts +9 -0
  36. package/dist/src/components/layout/card-list/NeonCardList.d.ts +21 -16
  37. package/dist/src/components/layout/modal/NeonModal.d.ts +9 -0
  38. package/dist/src/components/navigation/dropdown-menu/NeonDropdownMenu.d.ts +69 -30
  39. package/dist/src/components/navigation/menu/NeonMenu.d.ts +145 -100
  40. package/dist/src/components/navigation/mobile-menu/NeonMobileMenu.d.ts +27 -0
  41. package/dist/src/components/presentation/dropdown/NeonDropdown.d.ts +27 -10
  42. package/dist/src/components/presentation/image-carousel/NeonImageCarousel.d.ts +31 -6
  43. package/dist/src/components/user-input/button/NeonButton.d.ts +23 -6
  44. package/dist/src/components/user-input/date-picker/NeonDatePicker.d.ts +26 -0
  45. package/dist/src/components/user-input/file/NeonFile.d.ts +9 -0
  46. package/dist/src/components/user-input/number/NeonNumber.d.ts +14 -21
  47. package/dist/src/components/user-input/search/NeonSearch.d.ts +63 -6
  48. package/dist/src/components/user-input/select/NeonSelect.d.ts +135 -72
  49. package/dist/src/neon.d.ts +1 -0
  50. package/package.json +1 -1
  51. package/src/sass/components/_menu.scss +83 -32
  52. package/src/sass/includes/_responsive.scss +4 -4
  53. package/src/sass/variables.scss +6 -0
@@ -387,6 +387,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
387
387
  default: NeonFunctionalColor;
388
388
  };
389
389
  inverse: {
390
+ /**
391
+ * Optional placeholder icon.
392
+ */
390
393
  type: BooleanConstructor;
391
394
  default: boolean;
392
395
  };
@@ -394,6 +397,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
394
397
  type: () => NeonFunctionalColor;
395
398
  default: null;
396
399
  };
400
+ /**
401
+ * A list of grouped options to render in the select.
402
+ */
397
403
  icon: {
398
404
  type: StringConstructor;
399
405
  default: null;
@@ -407,8 +413,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
407
413
  };
408
414
  buttonStyle: {
409
415
  type: () => import("../../../neon").NeonButtonStyle;
410
- default: import("../../../neon").NeonButtonStyle;
411
- };
416
+ default: import("../../../neon").NeonButtonStyle; /**
417
+ * Placeholder when multiple values are selected.
418
+ */
419
+ }; /**
420
+ * Placeholder when multiple values are selected.
421
+ */
422
+ buttonType: {
423
+ type: () => import("../../../neon").NeonButtonType;
424
+ default: import("../../../neon").NeonButtonType; /**
425
+ * The size of the dropdown - Small, Medium or Large.
426
+ */
427
+ }; /**
428
+ * The size of the dropdown - Small, Medium or Large.
429
+ */
412
430
  state: {
413
431
  type: () => import("../../../neon").NeonState;
414
432
  default: import("../../../neon").NeonState;
@@ -431,16 +449,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
431
449
  };
432
450
  fullWidth: {
433
451
  type: BooleanConstructor;
434
- default: null; /**
435
- * emitted when the user changes the selection.
436
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
437
- * (multi-select).
438
- */
439
- }; /**
440
- * emitted when the user changes the selection.
441
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
442
- * (multi-select).
443
- */
452
+ default: null;
453
+ };
444
454
  indicator: {
445
455
  type: BooleanConstructor;
446
456
  default: boolean;
@@ -490,6 +500,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
490
500
  default: NeonFunctionalColor;
491
501
  };
492
502
  inverse: {
503
+ /**
504
+ * Optional placeholder icon.
505
+ */
493
506
  type: BooleanConstructor;
494
507
  default: boolean;
495
508
  };
@@ -497,6 +510,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
497
510
  type: () => NeonFunctionalColor;
498
511
  default: null;
499
512
  };
513
+ /**
514
+ * A list of grouped options to render in the select.
515
+ */
500
516
  icon: {
501
517
  type: StringConstructor;
502
518
  default: null;
@@ -510,8 +526,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
510
526
  };
511
527
  buttonStyle: {
512
528
  type: () => import("../../../neon").NeonButtonStyle;
513
- default: import("../../../neon").NeonButtonStyle;
514
- };
529
+ default: import("../../../neon").NeonButtonStyle; /**
530
+ * Placeholder when multiple values are selected.
531
+ */
532
+ }; /**
533
+ * Placeholder when multiple values are selected.
534
+ */
535
+ buttonType: {
536
+ type: () => import("../../../neon").NeonButtonType;
537
+ default: import("../../../neon").NeonButtonType; /**
538
+ * The size of the dropdown - Small, Medium or Large.
539
+ */
540
+ }; /**
541
+ * The size of the dropdown - Small, Medium or Large.
542
+ */
515
543
  state: {
516
544
  type: () => import("../../../neon").NeonState;
517
545
  default: import("../../../neon").NeonState;
@@ -534,16 +562,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
534
562
  };
535
563
  fullWidth: {
536
564
  type: BooleanConstructor;
537
- default: null; /**
538
- * emitted when the user changes the selection.
539
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
540
- * (multi-select).
541
- */
542
- }; /**
543
- * emitted when the user changes the selection.
544
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
545
- * (multi-select).
546
- */
565
+ default: null;
566
+ };
547
567
  indicator: {
548
568
  type: BooleanConstructor;
549
569
  default: boolean;
@@ -567,6 +587,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
567
587
  alternateColor: NeonFunctionalColor;
568
588
  iconPosition: import("../../../neon").NeonHorizontalPosition;
569
589
  buttonStyle: import("../../../neon").NeonButtonStyle;
590
+ buttonType: import("../../../neon").NeonButtonType;
570
591
  state: import("../../../neon").NeonState;
571
592
  transparent: boolean;
572
593
  fullWidth: boolean;
@@ -1181,6 +1202,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1181
1202
  default: NeonFunctionalColor;
1182
1203
  };
1183
1204
  inverse: {
1205
+ /**
1206
+ * Optional placeholder icon.
1207
+ */
1184
1208
  type: BooleanConstructor;
1185
1209
  default: boolean;
1186
1210
  };
@@ -1188,6 +1212,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1188
1212
  type: () => NeonFunctionalColor;
1189
1213
  default: null;
1190
1214
  };
1215
+ /**
1216
+ * A list of grouped options to render in the select.
1217
+ */
1191
1218
  icon: {
1192
1219
  type: StringConstructor;
1193
1220
  default: null;
@@ -1201,8 +1228,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1201
1228
  };
1202
1229
  buttonStyle: {
1203
1230
  type: () => import("../../../neon").NeonButtonStyle;
1204
- default: import("../../../neon").NeonButtonStyle;
1205
- };
1231
+ default: import("../../../neon").NeonButtonStyle; /**
1232
+ * Placeholder when multiple values are selected.
1233
+ */
1234
+ }; /**
1235
+ * Placeholder when multiple values are selected.
1236
+ */
1237
+ buttonType: {
1238
+ type: () => import("../../../neon").NeonButtonType;
1239
+ default: import("../../../neon").NeonButtonType; /**
1240
+ * The size of the dropdown - Small, Medium or Large.
1241
+ */
1242
+ }; /**
1243
+ * The size of the dropdown - Small, Medium or Large.
1244
+ */
1206
1245
  state: {
1207
1246
  type: () => import("../../../neon").NeonState;
1208
1247
  default: import("../../../neon").NeonState;
@@ -1225,16 +1264,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1225
1264
  };
1226
1265
  fullWidth: {
1227
1266
  type: BooleanConstructor;
1228
- default: null; /**
1229
- * emitted when the user changes the selection.
1230
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
1231
- * (multi-select).
1232
- */
1233
- }; /**
1234
- * emitted when the user changes the selection.
1235
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
1236
- * (multi-select).
1237
- */
1267
+ default: null;
1268
+ };
1238
1269
  indicator: {
1239
1270
  type: BooleanConstructor;
1240
1271
  default: boolean;
@@ -1284,6 +1315,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1284
1315
  default: NeonFunctionalColor;
1285
1316
  };
1286
1317
  inverse: {
1318
+ /**
1319
+ * Optional placeholder icon.
1320
+ */
1287
1321
  type: BooleanConstructor;
1288
1322
  default: boolean;
1289
1323
  };
@@ -1291,6 +1325,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1291
1325
  type: () => NeonFunctionalColor;
1292
1326
  default: null;
1293
1327
  };
1328
+ /**
1329
+ * A list of grouped options to render in the select.
1330
+ */
1294
1331
  icon: {
1295
1332
  type: StringConstructor;
1296
1333
  default: null;
@@ -1304,8 +1341,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1304
1341
  };
1305
1342
  buttonStyle: {
1306
1343
  type: () => import("../../../neon").NeonButtonStyle;
1307
- default: import("../../../neon").NeonButtonStyle;
1308
- };
1344
+ default: import("../../../neon").NeonButtonStyle; /**
1345
+ * Placeholder when multiple values are selected.
1346
+ */
1347
+ }; /**
1348
+ * Placeholder when multiple values are selected.
1349
+ */
1350
+ buttonType: {
1351
+ type: () => import("../../../neon").NeonButtonType;
1352
+ default: import("../../../neon").NeonButtonType; /**
1353
+ * The size of the dropdown - Small, Medium or Large.
1354
+ */
1355
+ }; /**
1356
+ * The size of the dropdown - Small, Medium or Large.
1357
+ */
1309
1358
  state: {
1310
1359
  type: () => import("../../../neon").NeonState;
1311
1360
  default: import("../../../neon").NeonState;
@@ -1328,16 +1377,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1328
1377
  };
1329
1378
  fullWidth: {
1330
1379
  type: BooleanConstructor;
1331
- default: null; /**
1332
- * emitted when the user changes the selection.
1333
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
1334
- * (multi-select).
1335
- */
1336
- }; /**
1337
- * emitted when the user changes the selection.
1338
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
1339
- * (multi-select).
1340
- */
1380
+ default: null;
1381
+ };
1341
1382
  indicator: {
1342
1383
  type: BooleanConstructor;
1343
1384
  default: boolean;
@@ -1361,6 +1402,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1361
1402
  alternateColor: NeonFunctionalColor;
1362
1403
  iconPosition: import("../../../neon").NeonHorizontalPosition;
1363
1404
  buttonStyle: import("../../../neon").NeonButtonStyle;
1405
+ buttonType: import("../../../neon").NeonButtonType;
1364
1406
  state: import("../../../neon").NeonState;
1365
1407
  transparent: boolean;
1366
1408
  fullWidth: boolean;
@@ -2164,6 +2206,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2164
2206
  default: NeonFunctionalColor;
2165
2207
  };
2166
2208
  inverse: {
2209
+ /**
2210
+ * Optional placeholder icon.
2211
+ */
2167
2212
  type: BooleanConstructor;
2168
2213
  default: boolean;
2169
2214
  };
@@ -2171,6 +2216,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2171
2216
  type: () => NeonFunctionalColor;
2172
2217
  default: null;
2173
2218
  };
2219
+ /**
2220
+ * A list of grouped options to render in the select.
2221
+ */
2174
2222
  icon: {
2175
2223
  type: StringConstructor;
2176
2224
  default: null;
@@ -2184,8 +2232,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2184
2232
  };
2185
2233
  buttonStyle: {
2186
2234
  type: () => import("../../../neon").NeonButtonStyle;
2187
- default: import("../../../neon").NeonButtonStyle;
2188
- };
2235
+ default: import("../../../neon").NeonButtonStyle; /**
2236
+ * Placeholder when multiple values are selected.
2237
+ */
2238
+ }; /**
2239
+ * Placeholder when multiple values are selected.
2240
+ */
2241
+ buttonType: {
2242
+ type: () => import("../../../neon").NeonButtonType;
2243
+ default: import("../../../neon").NeonButtonType; /**
2244
+ * The size of the dropdown - Small, Medium or Large.
2245
+ */
2246
+ }; /**
2247
+ * The size of the dropdown - Small, Medium or Large.
2248
+ */
2189
2249
  state: {
2190
2250
  type: () => import("../../../neon").NeonState;
2191
2251
  default: import("../../../neon").NeonState;
@@ -2208,16 +2268,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2208
2268
  };
2209
2269
  fullWidth: {
2210
2270
  type: BooleanConstructor;
2211
- default: null; /**
2212
- * emitted when the user changes the selection.
2213
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
2214
- * (multi-select).
2215
- */
2216
- }; /**
2217
- * emitted when the user changes the selection.
2218
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
2219
- * (multi-select).
2220
- */
2271
+ default: null;
2272
+ };
2221
2273
  indicator: {
2222
2274
  type: BooleanConstructor;
2223
2275
  default: boolean;
@@ -2267,6 +2319,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2267
2319
  default: NeonFunctionalColor;
2268
2320
  };
2269
2321
  inverse: {
2322
+ /**
2323
+ * Optional placeholder icon.
2324
+ */
2270
2325
  type: BooleanConstructor;
2271
2326
  default: boolean;
2272
2327
  };
@@ -2274,6 +2329,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2274
2329
  type: () => NeonFunctionalColor;
2275
2330
  default: null;
2276
2331
  };
2332
+ /**
2333
+ * A list of grouped options to render in the select.
2334
+ */
2277
2335
  icon: {
2278
2336
  type: StringConstructor;
2279
2337
  default: null;
@@ -2287,8 +2345,20 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2287
2345
  };
2288
2346
  buttonStyle: {
2289
2347
  type: () => import("../../../neon").NeonButtonStyle;
2290
- default: import("../../../neon").NeonButtonStyle;
2291
- };
2348
+ default: import("../../../neon").NeonButtonStyle; /**
2349
+ * Placeholder when multiple values are selected.
2350
+ */
2351
+ }; /**
2352
+ * Placeholder when multiple values are selected.
2353
+ */
2354
+ buttonType: {
2355
+ type: () => import("../../../neon").NeonButtonType;
2356
+ default: import("../../../neon").NeonButtonType; /**
2357
+ * The size of the dropdown - Small, Medium or Large.
2358
+ */
2359
+ }; /**
2360
+ * The size of the dropdown - Small, Medium or Large.
2361
+ */
2292
2362
  state: {
2293
2363
  type: () => import("../../../neon").NeonState;
2294
2364
  default: import("../../../neon").NeonState;
@@ -2311,16 +2381,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2311
2381
  };
2312
2382
  fullWidth: {
2313
2383
  type: BooleanConstructor;
2314
- default: null; /**
2315
- * emitted when the user changes the selection.
2316
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
2317
- * (multi-select).
2318
- */
2319
- }; /**
2320
- * emitted when the user changes the selection.
2321
- * @type {string | string[]} either the selected option's key (single select) or an array of the selected keys
2322
- * (multi-select).
2323
- */
2384
+ default: null;
2385
+ };
2324
2386
  indicator: {
2325
2387
  type: BooleanConstructor;
2326
2388
  default: boolean;
@@ -2344,6 +2406,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2344
2406
  alternateColor: NeonFunctionalColor;
2345
2407
  iconPosition: import("../../../neon").NeonHorizontalPosition;
2346
2408
  buttonStyle: import("../../../neon").NeonButtonStyle;
2409
+ buttonType: import("../../../neon").NeonButtonType;
2347
2410
  state: import("../../../neon").NeonState;
2348
2411
  transparent: boolean;
2349
2412
  fullWidth: boolean;
@@ -68,6 +68,7 @@ export { NeonAlertPlacement } from './common/enums/NeonAlertPlacement';
68
68
  export { NeonBadgeSize } from './common/enums/NeonBadgeSize';
69
69
  export { NeonButtonSize } from './common/enums/NeonButtonSize';
70
70
  export { NeonButtonStyle } from './common/enums/NeonButtonStyle';
71
+ export { NeonButtonType } from './common/enums/NeonButtonType';
71
72
  export { NeonChipAction } from './common/enums/NeonChipAction';
72
73
  export { NeonDropdownPlacement } from './common/enums/NeonDropdownPlacement';
73
74
  export { NeonDropdownStyle } from './common/enums/NeonDropdownStyle';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aotearoan/neon",
3
3
  "description": "Neon is a lightweight design library of Vue 3 components with minimal dependencies.",
4
- "version": "22.1.0",
4
+ "version": "22.1.2",
5
5
  "main": "./dist/neon.cjs.js",
6
6
  "module": "./dist/neon.es.js",
7
7
  "types": "./dist/src/neon.d.ts",
@@ -3,14 +3,83 @@
3
3
 
4
4
  @mixin neon-menu-size($size) {
5
5
  .neon-menu__item {
6
- height: var(--neon-size-#{$size});
6
+ height: 100%;
7
7
  font-size: var(--neon-font-size-#{$size});
8
- padding-left: var(--neon-space-20);
9
- padding-right: var(--neon-space-20);
10
- border-radius: var(--neon-border-radius);
8
+ align-items: center;
9
+ display: flex;
10
+
11
+ & > .neon-link {
12
+ height: 100%;
13
+
14
+ .neon-menu__link-container {
15
+ width: 100%;
16
+ height: 100%;
17
+ padding-left: calc(5 * var(--neon-base-space));
18
+ padding-right: calc(5 * var(--neon-base-space));
19
+ justify-content: center;
20
+ flex-direction: row;
21
+ align-items: center;
22
+ position: relative;
23
+ gap: var(--neon-space-12);
24
+ font-family: var(--neon-font-family-menu);
25
+ font-weight: var(--neon-font-weight-menu);
26
+ @include svg.color-with-svg(var(--neon-color-text-primary));
27
+ opacity: var(--neon-opacity-menu-inactive);
28
+ transition: opacity ease-in-out var(--neon-animation-speed-slow);
29
+
30
+ &:before {
31
+ content: '';
32
+ position: absolute;
33
+ bottom: 0;
34
+ left: 0;
35
+ width: 100%;
36
+ opacity: 0;
37
+ height: var(--neon-height-menu-indicator);
38
+ transition: opacity ease-in-out var(--neon-animation-speed-slow);
39
+ }
40
+ }
41
+
42
+ &:hover {
43
+ .neon-menu__link-container {
44
+ opacity: 1;
45
+
46
+ &:before {
47
+ opacity: 1;
48
+ }
49
+ }
50
+
51
+ }
52
+
53
+ &:focus {
54
+ .neon-menu__link-container {
55
+ opacity: 1;
56
+ }
57
+ }
58
+
59
+ &.router-link-active {
60
+ .neon-menu__link-container {
61
+ opacity: 1;
11
62
 
12
- .neon-link {
13
- height: var(--neon-size-#{$size});
63
+ &:before {
64
+ opacity: 1;
65
+ }
66
+ }
67
+ }
68
+ }
69
+
70
+ .neon-button__label {
71
+ font-family: var(--neon-font-family-menu);
72
+ font-weight: var(--neon-font-weight-menu);
73
+ }
74
+
75
+ &--disabled {
76
+ .neon-link {
77
+ .neon-menu__link-container {
78
+ opacity: 1;
79
+ cursor: not-allowed;
80
+ @include svg.color-with-svg(var(--neon-color-disabled-text));
81
+ }
82
+ }
14
83
  }
15
84
 
16
85
  &:first-child {
@@ -28,9 +97,8 @@
28
97
 
29
98
  &-icon,
30
99
  .neon-dropdown .neon-dropdown__button .neon-icon {
31
- width: var(--neon-font-size-#{$size});
32
- height: var(--neon-font-size-#{$size});
33
- margin-right: var(--neon-space-8);
100
+ width: calc(1.5 * var(--neon-font-size-#{$size}));
101
+ height: calc(1.5 * var(--neon-font-size-#{$size}));
34
102
  padding-right: 0;
35
103
  }
36
104
  }
@@ -59,38 +127,20 @@
59
127
  display: flex;
60
128
  flex-direction: row;
61
129
  user-select: none;
130
+ align-items: center;
131
+ height: 100%;
62
132
 
63
133
  @each $color in palettes.$neon-functional-colors {
64
134
  &.neon-menu--#{$color},
65
135
  &__responsive-menu.neon-dropdown-menu--#{$color} {
66
136
  .neon-menu__item:not(.neon-menu__item--disabled) {
67
- &:hover:not(.router-link-active),
68
- &:focus:not(.router-link-active),
69
- &:active:not(.router-link-active) {
70
- & > .neon-link,
71
- .neon-dropdown__button {
72
- @include svg.color-with-svg(rgba(var(--neon-rgb-#{$color}), 0.85));
73
- }
74
- }
75
-
76
- &:focus-within {
137
+ .neon-link:focus {
77
138
  background-color: rgba(var(--neon-rgb-#{$color}), 0.125);
78
-
79
- & > .neon-link:not(.router-link-active),
80
- .neon-button:not(.router-link-active) {
81
- @include svg.color-with-svg(var(--neon-color-text-secondary));
82
- }
83
139
  }
84
- }
85
140
 
86
- .neon-menu__item > .router-link-active {
87
- color: var(--neon-color-#{$color});
88
-
89
- .neon-dropdown__button {
90
- color: var(--neon-color-#{$color});
141
+ .neon-menu__link-container:before {
142
+ background-color: var(--neon-color-#{$color});
91
143
  }
92
-
93
- @include svg.svg-colors(rgba(var(--neon-rgb-#{$color}), 0.85));
94
144
  }
95
145
  }
96
146
  }
@@ -99,6 +149,7 @@
99
149
  display: flex;
100
150
  flex-direction: row;
101
151
  align-items: center;
152
+ height: 100%;
102
153
 
103
154
  .neon-dropdown:not(.neon-dropdown--disabled) {
104
155
  .neon-dropdown__button {
@@ -3,10 +3,10 @@
3
3
  $breakpoints: (
4
4
  mobile: 'screen and (max-width: 414px)',
5
5
  larger-than-mobile: 'screen and (min-width: 415px)',
6
- mobile-large: 'screen and (max-width: 599px)',
7
- larger-than-mobile-large: 'screen and (min-width: 600px)',
8
- tablet: 'screen and (max-width: 1024px)',
9
- larger-than-tablet: 'screen and (min-width: 1025px)',
6
+ mobile-large: 'screen and (max-width: 767px)',
7
+ larger-than-mobile-large: 'screen and (min-width: 768px)',
8
+ tablet: 'screen and (max-width: 1023px)',
9
+ larger-than-tablet: 'screen and (min-width: 1024px)',
10
10
  desktop: 'screen and (max-width: 1439px)',
11
11
  desktop-large: 'screen and (min-width: 1440px)',
12
12
  ) !default;
@@ -204,6 +204,12 @@
204
204
  --neon-border-opacity-alert-action: 0.25;
205
205
  --neon-width-toast: 250rem;
206
206
 
207
+ /* menu */
208
+ --neon-font-family-menu: var(--neon-font-family-body);
209
+ --neon-font-weight-menu: var(--neon-font-weight-bold);
210
+ --neon-opacity-menu-inactive: 0.75;
211
+ --neon-height-menu-indicator: 4rem;
212
+
207
213
  /* mobile menu */
208
214
  --neon-font-family-mobile-menu: var(--neon-font-family-body);
209
215
  --neon-font-size-mobile-menu: var(--neon-font-size-s);