@aotearoan/neon 22.1.2 → 22.3.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/dist/common/enums/NeonToggleStyle.cjs.js +1 -1
  2. package/dist/common/enums/NeonToggleStyle.cjs.js.map +1 -1
  3. package/dist/common/enums/NeonToggleStyle.es.js +2 -2
  4. package/dist/common/enums/NeonToggleStyle.es.js.map +1 -1
  5. package/dist/common/utils/NeonDateUtils.cjs.js +1 -1
  6. package/dist/common/utils/NeonDateUtils.cjs.js.map +1 -1
  7. package/dist/common/utils/NeonDateUtils.es.js +45 -39
  8. package/dist/common/utils/NeonDateUtils.es.js.map +1 -1
  9. package/dist/common/utils/NeonFileUtils.cjs.js +2 -0
  10. package/dist/common/utils/NeonFileUtils.cjs.js.map +1 -0
  11. package/dist/common/utils/NeonFileUtils.es.js +10 -0
  12. package/dist/common/utils/NeonFileUtils.es.js.map +1 -0
  13. package/dist/components/navigation/stepper/NeonStepper.vue.cjs.js +1 -1
  14. package/dist/components/navigation/stepper/NeonStepper.vue.cjs.js.map +1 -1
  15. package/dist/components/navigation/stepper/NeonStepper.vue.es.js +29 -21
  16. package/dist/components/navigation/stepper/NeonStepper.vue.es.js.map +1 -1
  17. package/dist/components/presentation/badge/NeonBadge.cjs.js +1 -1
  18. package/dist/components/presentation/badge/NeonBadge.cjs.js.map +1 -1
  19. package/dist/components/presentation/badge/NeonBadge.es.js +51 -26
  20. package/dist/components/presentation/badge/NeonBadge.es.js.map +1 -1
  21. package/dist/components/presentation/badge/NeonBadge.vue.cjs.js +1 -1
  22. package/dist/components/presentation/badge/NeonBadge.vue.cjs.js.map +1 -1
  23. package/dist/components/presentation/badge/NeonBadge.vue.es.js +28 -14
  24. package/dist/components/presentation/badge/NeonBadge.vue.es.js.map +1 -1
  25. package/dist/components/presentation/image-carousel/NeonImageCarousel.cjs.js +1 -1
  26. package/dist/components/presentation/image-carousel/NeonImageCarousel.cjs.js.map +1 -1
  27. package/dist/components/presentation/image-carousel/NeonImageCarousel.es.js +44 -32
  28. package/dist/components/presentation/image-carousel/NeonImageCarousel.es.js.map +1 -1
  29. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js +1 -1
  30. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.cjs.js.map +1 -1
  31. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js +116 -86
  32. package/dist/components/presentation/image-carousel/NeonImageCarousel.vue.es.js.map +1 -1
  33. package/dist/components/user-input/file/NeonFile.cjs.js +1 -1
  34. package/dist/components/user-input/file/NeonFile.cjs.js.map +1 -1
  35. package/dist/components/user-input/file/NeonFile.es.js +20 -12
  36. package/dist/components/user-input/file/NeonFile.es.js.map +1 -1
  37. package/dist/components/user-input/file/NeonFile.vue.cjs.js +1 -1
  38. package/dist/components/user-input/file/NeonFile.vue.cjs.js.map +1 -1
  39. package/dist/components/user-input/file/NeonFile.vue.es.js +7 -5
  40. package/dist/components/user-input/file/NeonFile.vue.es.js.map +1 -1
  41. package/dist/components/user-input/toggle/NeonToggle.cjs.js +1 -1
  42. package/dist/components/user-input/toggle/NeonToggle.cjs.js.map +1 -1
  43. package/dist/components/user-input/toggle/NeonToggle.es.js +19 -18
  44. package/dist/components/user-input/toggle/NeonToggle.es.js.map +1 -1
  45. package/dist/components/user-input/toggle/NeonToggle.vue.cjs.js +1 -1
  46. package/dist/components/user-input/toggle/NeonToggle.vue.cjs.js.map +1 -1
  47. package/dist/components/user-input/toggle/NeonToggle.vue.es.js +9 -9
  48. package/dist/components/user-input/toggle/NeonToggle.vue.es.js.map +1 -1
  49. package/dist/neon.cjs.js +1 -1
  50. package/dist/neon.es.js +40 -38
  51. package/dist/neon.es.js.map +1 -1
  52. package/dist/src/common/enums/NeonToggleStyle.d.ts +3 -1
  53. package/dist/src/common/models/NeonDate.d.ts +2 -0
  54. package/dist/src/common/utils/NeonFileUtils.d.ts +6 -0
  55. package/dist/src/components/feedback/dialog/NeonDialog.d.ts +2 -2
  56. package/dist/src/components/feedback/note/NeonNote.d.ts +1 -1
  57. package/dist/src/components/layout/card-list/NeonCardList.d.ts +1 -1
  58. package/dist/src/components/layout/modal/NeonModal.d.ts +1 -1
  59. package/dist/src/components/navigation/dropdown-menu/NeonDropdownMenu.d.ts +4953 -471
  60. package/dist/src/components/navigation/menu/NeonMenu.d.ts +4920 -402
  61. package/dist/src/components/navigation/mobile-menu/NeonMobileMenu.d.ts +4897 -469
  62. package/dist/src/components/presentation/badge/NeonBadge.d.ts +1501 -3
  63. package/dist/src/components/presentation/dropdown/NeonDropdown.d.ts +1529 -17
  64. package/dist/src/components/presentation/image-carousel/NeonImageCarousel.d.ts +36 -23
  65. package/dist/src/components/user-input/button/NeonButton.d.ts +1 -1
  66. package/dist/src/components/user-input/chip/NeonChip.d.ts +1 -1
  67. package/dist/src/components/user-input/date-picker/NeonDatePicker.d.ts +1801 -218
  68. package/dist/src/components/user-input/drop-zone/NeonDropZone.d.ts +1 -1
  69. package/dist/src/components/user-input/file/NeonFile.d.ts +636 -7
  70. package/dist/src/components/user-input/filter-list/NeonFilterList.d.ts +1 -1
  71. package/dist/src/components/user-input/number/NeonNumber.d.ts +1 -1
  72. package/dist/src/components/user-input/search/NeonSearch.d.ts +5247 -693
  73. package/dist/src/components/user-input/select/NeonSelect.d.ts +4571 -71
  74. package/dist/src/components/user-input/toggle/NeonToggle.d.ts +1 -0
  75. package/dist/src/neon.d.ts +1 -0
  76. package/package.json +1 -1
  77. package/src/sass/components/_badge.scss +79 -0
  78. package/src/sass/components/_image-carousel.scss +109 -14
  79. package/src/sass/components/_stepper.scss +8 -3
  80. package/src/sass/components/_toggle.scss +29 -6
  81. package/src/sass/includes/_dependencies.scss +1 -1
  82. package/src/sass/variables.scss +33 -2
@@ -72,6 +72,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
72
72
  slots: Readonly<{
73
73
  [name: string]: import("vue").Slot<any> | undefined;
74
74
  }>;
75
+ NeonToggleStyle: typeof NeonToggleStyle;
75
76
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
76
77
  /**
77
78
  * The name of the radio button group.
@@ -125,6 +125,7 @@ export { NeonDateUtils } from './common/utils/NeonDateUtils';
125
125
  export { NeonDebounceUtils } from './common/utils/NeonDebounceUtils';
126
126
  export { NeonDropdownPlacementUtils } from './common/utils/NeonDropdownPlacementUtils';
127
127
  export { NeonEventBus } from './common/utils/NeonEventBus';
128
+ export { fileToDataURL } from './common/utils/NeonFileUtils';
128
129
  export { NeonIconRegistry } from './common/utils/NeonIconRegistry';
129
130
  export { NeonJazziconUtils } from './common/utils/NeonJazziconUtils';
130
131
  export { NeonModeUtils } from './common/utils/NeonModeUtils';
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.2",
4
+ "version": "22.3.0",
5
5
  "main": "./dist/neon.cjs.js",
6
6
  "module": "./dist/neon.es.js",
7
7
  "types": "./dist/src/neon.d.ts",
@@ -2,6 +2,8 @@
2
2
 
3
3
  @mixin badge {
4
4
  .neon-badge {
5
+ position: relative;
6
+
5
7
  &--with-icon,
6
8
  &--with-label {
7
9
  @each $color in palettes.$neon-functional-colors {
@@ -29,10 +31,85 @@
29
31
  }
30
32
  }
31
33
 
34
+ &--editable {
35
+ .neon-badge__upload {
36
+ position: absolute;
37
+ top: 0;
38
+ left: 0;
39
+ width: 100%;
40
+ height: 100%;
41
+
42
+ .neon-button-group {
43
+ width: 100%;
44
+ height: 100%;
45
+ }
46
+
47
+ .neon-button {
48
+ width: 100%;
49
+ height: 100%;
50
+
51
+ &--circular {
52
+ border-radius: 50%;
53
+ }
54
+ }
55
+ }
56
+
57
+ .neon-badge__clear {
58
+ position: absolute;
59
+ top: 0;
60
+ right: 0;
61
+ }
62
+
63
+ &.neon-badge--xxl {
64
+ .neon-button {
65
+ svg {
66
+ width: 50%;
67
+ height: 50%;
68
+ }
69
+ }
70
+ }
71
+
72
+ @each $color in palettes.$neon-functional-colors {
73
+ &.neon-badge--#{$color}:not(.neon-badge--disabled) {
74
+ .neon-badge__upload {
75
+ .neon-button {
76
+ background: rgba(var(--neon-rgb-#{$color}), var(--neon-opacity-badge-editable-button));
77
+ transition: background-color ease-in-out var(--neon-animation-speed-slow);
78
+
79
+ &:focus,
80
+ &:hover {
81
+ background: rgba(var(--neon-rgb-#{$color}), var(--neon-opacity-badge-editable-button-hover));
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ &:not(.neon-badge--disabled) {
89
+ &.neon-badge--with-icon,
90
+ &.neon-badge--with-label {
91
+ .neon-badge__label,
92
+ .neon-badge__icon {
93
+ opacity: var(--neon-opacity-badge-editable-content);
94
+ }
95
+ }
96
+ }
97
+ }
98
+
32
99
  &--disabled {
33
100
  color: var(--neon-color-disabled-text);
34
101
  background: var(--neon-color-disabled-background);
35
102
  cursor: not-allowed;
103
+
104
+ &.neon-badge--editable {
105
+ .neon-button {
106
+ background: rgba(var(--neon-rgb-disabled-background), 0.75);
107
+
108
+ svg {
109
+ display: none;
110
+ }
111
+ }
112
+ }
36
113
  }
37
114
 
38
115
  $neon-badge-sizes: (s, m, l, xl, xxl);
@@ -44,7 +121,9 @@
44
121
  &,
45
122
  .neon-badge__image {
46
123
  width: var(--neon-size-#{$badge-size}-badge);
124
+ min-width: var(--neon-size-#{$badge-size}-badge);
47
125
  height: var(--neon-size-#{$badge-size}-badge);
126
+ min-height: var(--neon-size-#{$badge-size}-badge);
48
127
  object-fit: cover;
49
128
  }
50
129
 
@@ -1,12 +1,17 @@
1
+ @use '../includes/layout';
1
2
  @use '../includes/outline';
2
3
  @use '../includes/responsive';
3
4
  @use '../includes/scrollbars';
5
+ @use '../includes/svg';
4
6
 
5
7
  @mixin image-carousel {
6
8
  .neon-image-carousel {
7
9
  user-select: none;
10
+ transition: backdrop-filter ease-in-out var(--neon-animation-speed-fast);
11
+ width: 100%;
12
+ height: 100%;
8
13
 
9
- &:focus {
14
+ &:focus-visible {
10
15
  outline: none;
11
16
  @include outline.box-shadow-outline(var(--neon-rgb-high-contrast));
12
17
  }
@@ -14,10 +19,11 @@
14
19
  .neon-image-carousel__container {
15
20
  flex-direction: row;
16
21
  align-items: center;
22
+ flex: 1 1 auto;
17
23
  gap: var(--neon-space-16);
18
- height: calc(100% - 60rem);
24
+ min-height: 0;
19
25
 
20
- &:focus {
26
+ &:focus-visible {
21
27
  outline: none;
22
28
  }
23
29
  }
@@ -25,20 +31,24 @@
25
31
  .neon-image-carousel__items {
26
32
  display: flex;
27
33
  flex-direction: row;
28
- max-height: 100%;
34
+ width: 100%;
35
+ height: 100%;
29
36
  overflow-x: auto;
30
37
  scroll-snap-type: x mandatory;
31
38
  overscroll-behavior-x: contain;
32
39
 
33
40
  @include scrollbars.hide-scrollbars();
34
41
 
35
- &:focus {
42
+ &:focus-visible {
36
43
  outline: none;
37
44
  }
38
45
  }
39
46
 
40
47
  .neon-image-carousel__item {
41
48
  display: flex;
49
+ flex-direction: column;
50
+ gap: var(--neon-space-8);
51
+ justify-content: center;
42
52
  min-width: 100%;
43
53
  padding: var(--neon-space-2);
44
54
  scroll-snap-align: start;
@@ -46,21 +56,29 @@
46
56
  opacity: 0;
47
57
  transition: opacity ease-in-out var(--neon-animation-speed-fast);
48
58
 
49
- &-wrapper {
50
- width: 100%;
51
- height: 100%;
59
+ &-title {
60
+ text-align: center;
61
+ font-weight: var(--neon-font-weight-normal);
62
+ font-size: var(--neon-font-size-m);
63
+ font-style: italic;
64
+ color: var(--neon-color-image-carousel-expanded-button);
65
+ margin-left: auto;
66
+ margin-right: auto;
67
+ padding: 0 var(--neon-space-16);
68
+ text-shadow: var(--neon-text-shadow-image-carousel-expanded);
52
69
  }
53
70
  }
54
71
 
55
72
  .neon-image-carousel__image {
56
- margin: auto;
57
- min-width: 100%;
58
- max-height: 100%;
59
73
  object-fit: contain;
74
+ cursor: pointer;
75
+ max-width: 100%;
76
+ max-height: 100%;
77
+ min-height: 0;
60
78
  }
61
79
 
62
80
  .neon-image-carousel__nav {
63
- padding-top: var(--neon-space-24);
81
+ padding-top: var(--neon-space-12);
64
82
 
65
83
  flex-direction: row;
66
84
  flex-wrap: wrap;
@@ -90,11 +108,11 @@
90
108
  margin-left: var(--neon-image-carousel-swipe-distance);
91
109
  }
92
110
 
93
- &:focus {
111
+ &:focus-visible {
94
112
  outline: none;
95
113
  }
96
114
 
97
- &-link:focus {
115
+ &-link:focus-visible {
98
116
  outline: none;
99
117
 
100
118
  .neon-image-carousel__nav-item-indicator {
@@ -119,6 +137,83 @@
119
137
  display: none;
120
138
  }
121
139
  }
140
+
141
+ &.neon-image-carousel--expanded {
142
+ position: fixed;
143
+ top: 0;
144
+ left: 0;
145
+ width: 100vw;
146
+ @include layout.height(100);
147
+ max-width: 100%;
148
+ max-height: 100%;
149
+ background-color: var(--neon-background-color-overlay);
150
+ z-index: var(--neon-z-index-top);
151
+ -webkit-backdrop-filter: blur(var(--neon-blur-radius-image-carousel));
152
+ backdrop-filter: blur(var(--neon-blur-radius-image-carousel));
153
+ gap: var(--neon-space-8);
154
+
155
+ .neon-image-carousel__container {
156
+ padding-top: var(--neon-gutter);
157
+ max-height: 100%;
158
+ min-height: 0;
159
+ height: 100%;
160
+
161
+ .neon-button {
162
+ &:not(:disabled) {
163
+ @include svg.color-with-svg(var(--neon-color-image-carousel-expanded-button));
164
+
165
+ &:hover,
166
+ &:focus-visible {
167
+ background-color: var(--neon-background-color-image-carousel-expanded-button);
168
+ }
169
+ }
170
+
171
+ &:disabled {
172
+ @include svg.color-with-svg(var(--neon-color-image-carousel-expanded-button-disabled));
173
+ }
174
+ }
175
+ }
176
+
177
+ .neon-image-carousel__image {
178
+ cursor: default;
179
+ }
180
+
181
+ .neon-image-carousel__close {
182
+ position: absolute;
183
+ top: 0;
184
+ right: 0;
185
+ border-radius: 0;
186
+ }
187
+
188
+ .neon-image-carousel__label {
189
+ font-size: var(--neon-font-size-m);
190
+ line-height: var(--neon-line-height-ratio);
191
+ color: var(--neon-color-image-carousel-expanded-label);
192
+ text-shadow: var(--neon-text-shadow-image-carousel-expanded);
193
+ }
194
+
195
+ .neon-image-carousel__nav-container {
196
+ padding-bottom: var(--neon-gutter);
197
+
198
+ }
199
+
200
+ .neon-image-carousel__nav-item {
201
+ width: 24rem;
202
+ height: 24rem;
203
+
204
+ &-indicator {
205
+ width: 12rem;
206
+ height: 12rem;
207
+ border-color: var(--neon-color-image-carousel-expanded-button);
208
+ }
209
+
210
+ &--active {
211
+ .neon-image-carousel__nav-item-indicator {
212
+ background-color: var(--neon-color-image-carousel-expanded-button);
213
+ }
214
+ }
215
+ }
216
+ }
122
217
  }
123
218
 
124
219
  .neon-image-carousel--initialised {
@@ -1,4 +1,5 @@
1
1
  @use '../includes/palettes';
2
+ @use '../includes/outline';
2
3
 
3
4
  @mixin stepper {
4
5
  .neon-stepper {
@@ -60,12 +61,11 @@
60
61
  height: var(--neon-space-10);
61
62
 
62
63
  svg {
63
- path,
64
- circle {
64
+ .neon-svg--fill {
65
65
  fill: var(--neon-color-stepper-indicator);
66
66
  }
67
67
 
68
- circle {
68
+ .neon-svg--stroke {
69
69
  stroke: var(--neon-color-stepper-indicator);
70
70
  }
71
71
  }
@@ -113,6 +113,11 @@
113
113
  .neon-stepper__step--has-value {
114
114
  .neon-stepper__step-indicator {
115
115
  background: var(--neon-color-#{$color});
116
+
117
+ &:focus {
118
+ outline: none;
119
+ @include outline.box-shadow-outline(var(--neon-rgb-#{$color}));
120
+ }
116
121
  }
117
122
  }
118
123
 
@@ -19,7 +19,7 @@
19
19
  justify-content: center;
20
20
  white-space: nowrap;
21
21
 
22
- &:focus {
22
+ &:focus-visible {
23
23
  outline: none;
24
24
  }
25
25
 
@@ -75,6 +75,7 @@
75
75
  }
76
76
  }
77
77
 
78
+ &--card,
78
79
  &--radio-buttons {
79
80
  align-items: flex-start;
80
81
 
@@ -89,22 +90,22 @@
89
90
 
90
91
  .neon-toggle__label:not(.neon-toggle__label--disabled) {
91
92
  .neon-toggle__radio-button {
92
- border: var(--neon-border-radio-button);
93
+ border: var(--neon-border-width) var(--neon-border-style) var(--neon-color-#{$color});
93
94
  background: var(--neon-background-radio-button);
94
95
  }
95
96
 
96
97
  color: var(--neon-color-radio-button-label);
97
98
 
98
99
  &:hover,
99
- &:focus {
100
+ &:focus-visible {
100
101
  &:not(.neon-toggle__label--checked) {
101
102
  .neon-toggle__radio-button {
102
- background: var(--neon-color-radio-button-bg-active);
103
+ background: rgba(var(--neon-rgb-#{$color}), 0.125);
103
104
  }
104
105
  }
105
106
  }
106
107
 
107
- &:focus {
108
+ &:focus-visible {
108
109
  border-bottom-color: var(--neon-color-#{$color});
109
110
  }
110
111
 
@@ -124,6 +125,16 @@
124
125
  }
125
126
  }
126
127
 
128
+ &.neon-toggle--card {
129
+ .neon-toggle__label {
130
+ &.neon-toggle__label--checked,
131
+ &.neon-toggle__label:hover,
132
+ &.neon-toggle__label:focus-visible {
133
+ border-color: var(--neon-color-#{$color});
134
+ }
135
+ }
136
+ }
137
+
127
138
  &.neon-toggle--disabled .neon-toggle__label,
128
139
  .neon-toggle__label--disabled {
129
140
  color: var(--neon-color-disabled-text);
@@ -140,12 +151,24 @@
140
151
  }
141
152
  }
142
153
 
154
+ &--card {
155
+ gap: var(--neon-space-16);
156
+
157
+ .neon-toggle__label {
158
+ padding: var(--neon-space-16);
159
+ border: var(--neon-border-width-input) var(--neon-border-style) var(--neon-border-color-input);
160
+ width: 100%;
161
+ border-radius: var(--neon-border-radius-input);
162
+ }
163
+ }
164
+
143
165
  &--horizontal {
144
166
  flex-direction: row;
145
167
  gap: var(--neon-space-24);
146
168
  }
147
169
 
148
- &--disabled {
170
+ &--disabled,
171
+ &--disabled .neon-toggle__label {
149
172
  cursor: not-allowed;
150
173
  }
151
174
  }
@@ -11,7 +11,7 @@
11
11
  NeonIcon,
12
12
  NeonLink],
13
13
  NeonAnchor: [],
14
- NeonBadge: [NeonIcon],
14
+ NeonBadge: [NeonIcon, NeonFile, NeonButton, NeonInput, NeonList, NeonExpansionIndicator, NeonIcon, NeonLink],
15
15
  NeonButton: [NeonExpansionIndicator,
16
16
  NeonIcon,
17
17
  NeonLink],
@@ -1,3 +1,4 @@
1
+ @use './includes/responsive';
1
2
  @import './palette';
2
3
  @import './color-variables';
3
4
 
@@ -18,6 +19,18 @@
18
19
  --neon-gutter-tablet: 24rem;
19
20
  --neon-gutter-mobile: 16rem;
20
21
 
22
+ @include responsive.responsive(larger-than-tablet) {
23
+ --neon-gutter: var(--neon-gutter-desktop);
24
+ }
25
+
26
+ @include responsive.responsive(tablet) {
27
+ --neon-gutter: var(--neon-gutter-tablet);
28
+ }
29
+
30
+ @include responsive.responsive(mobile-large) {
31
+ --neon-gutter: var(--neon-gutter-mobile);
32
+ }
33
+
21
34
  /* spacings */
22
35
  --neon-space-1: calc(0.25 * var(--neon-base-space));
23
36
  --neon-space-2: calc(0.5 * var(--neon-base-space));
@@ -327,6 +340,9 @@
327
340
  --neon-size-l-badge: var(--neon-size-l);
328
341
  --neon-size-xl-badge: var(--neon-size-xl);
329
342
  --neon-size-xxl-badge: var(--neon-size-xxl);
343
+ --neon-opacity-badge-editable-button: 0.33;
344
+ --neon-opacity-badge-editable-button-hover: 0.66;
345
+ --neon-opacity-badge-editable-content: 0.33;
330
346
 
331
347
  /* color input */
332
348
  --neon-border-radius-input-color: 50%;
@@ -346,6 +362,9 @@
346
362
  /* card list */
347
363
  --neon-border-radius-card-list: calc(1.5 * var(--neon-base-space));
348
364
 
365
+ /* image carousel */
366
+ --neon-blur-radius-image-carousel: 5px;
367
+
349
368
  /**********************
350
369
  * DARK THEME VARIABLES
351
370
  **********************/
@@ -530,7 +549,6 @@
530
549
 
531
550
  /* radio buttons */
532
551
  --neon-background-radio-button: none;
533
- --neon-border-radio-button: var(--neon-border-width) var(--neon-border-style) var(--neon-color-neutral-d2);
534
552
  --neon-color-radio-button-bg-active: rgba(var(--neon-rgb-neutral-l3), 0.125);
535
553
  --neon-color-radio-button-label: var(--neon-color-label);
536
554
 
@@ -650,6 +668,13 @@
650
668
  --neon-background-color-swiper: var(--neon-background-color-card);
651
669
  }
652
670
 
671
+ /* image carousel */
672
+ --neon-color-image-carousel-expanded-button: var(--neon-color-text-primary);
673
+ --neon-color-image-carousel-expanded-button-disabled: var(--neon-color-low-contrast-d4);
674
+ --neon-background-color-image-carousel-expanded-button: var(--neon-color-low-contrast-d5);
675
+ --neon-color-image-carousel-expanded-label: var(--neon-color-text-tertiary);
676
+ --neon-text-shadow-image-carousel-expanded: 1px 1px 2px var(--neon-color-inverse);
677
+
653
678
  /*********************
654
679
  * LIGHT THEME VARIABLES
655
680
  *********************/
@@ -837,7 +862,6 @@
837
862
 
838
863
  /* radio buttons */
839
864
  --neon-background-radio-button: none;
840
- --neon-border-radio-button: var(--neon-border-width) var(--neon-border-style) var(--neon-color-neutral-l3);
841
865
  --neon-color-radio-button-bg-active: rgba(var(--neon-rgb-neutral-l3), 0.25);
842
866
  --neon-color-radio-button-label: var(--neon-color-label);
843
867
 
@@ -956,5 +980,12 @@
956
980
 
957
981
  /* swiper */
958
982
  --neon-background-color-swiper: var(--neon-background-color-card);
983
+
984
+ /* image carousel */
985
+ --neon-color-image-carousel-expanded-button: var(--neon-color-inverse);
986
+ --neon-color-image-carousel-expanded-button-disabled: var(--neon-color-low-contrast-d2);
987
+ --neon-background-color-image-carousel-expanded-button: var(--neon-color-low-contrast-d3);
988
+ --neon-color-image-carousel-expanded-label: var(--neon-color-text-tertiary-dark);
989
+ --neon-text-shadow-image-carousel-expanded: 1px 1px 2px var(--neon-color-text-primary);
959
990
  }
960
991
  }