@neo-ui-kit/react 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +12 -2
  2. package/dist/components/artwork/DatabaseArt/styles.css +58 -58
  3. package/dist/components/artwork/Landscape/styles.css +79 -79
  4. package/dist/components/artwork/Planet/styles.css +52 -52
  5. package/dist/components/artwork/QuantumField/UPSTREAM-LICENSE.txt +21 -21
  6. package/dist/components/artwork/ServerArt/styles.css +43 -43
  7. package/dist/components/artwork/Spectrum/styles.css +35 -35
  8. package/dist/components/controls/Autocomplete/styles.css +1 -1
  9. package/dist/components/controls/Checkbox/styles.css +58 -58
  10. package/dist/components/controls/InputBase/styles.css +374 -374
  11. package/dist/components/controls/Link/styles.css +50 -50
  12. package/dist/components/controls/SegmentedControl/styles.css +9 -9
  13. package/dist/components/controls/Switch/styles.css +54 -54
  14. package/dist/components/controls/Tabs/styles.css +239 -239
  15. package/dist/components/controls/ToggleButton/styles.css +49 -49
  16. package/dist/components/controls/shared.css +694 -694
  17. package/dist/components/editor/shared.css +1 -1
  18. package/dist/components/effects/Beacon/styles.css +38 -38
  19. package/dist/components/effects/Equalizer/styles.css +34 -34
  20. package/dist/components/effects/GlowText/styles.css +56 -56
  21. package/dist/components/effects/Marquee/styles.css +46 -46
  22. package/dist/components/effects/Reveal/styles.css +25 -25
  23. package/dist/components/effects/Shimmer/styles.css +48 -48
  24. package/dist/components/effects/Sparkles/styles.css +28 -28
  25. package/dist/components/effects/Spotlight/styles.css +45 -45
  26. package/dist/components/effects/Tilt/styles.css +67 -67
  27. package/dist/components/feedback/CollapsibleSection/styles.css +76 -76
  28. package/dist/components/feedback/DataTable/styles.css +522 -522
  29. package/dist/components/feedback/EmptyState/styles.css +80 -80
  30. package/dist/components/feedback/KeyValueList/styles.css +51 -51
  31. package/dist/components/feedback/MenuItem/styles.css +71 -71
  32. package/dist/components/feedback/Popover/styles.css +44 -44
  33. package/dist/components/feedback/Steps/styles.css +152 -152
  34. package/dist/components/feedback/Toast/styles.css +89 -89
  35. package/dist/components/forms/FormFields/styles.css +21 -21
  36. package/dist/components/foundation/ThemeProvider/styles.css +31 -31
  37. package/dist/components/layout/Avatar/styles.css +151 -151
  38. package/dist/components/layout/Card/styles.css +37 -37
  39. package/dist/components/layout/DialogActions/styles.css +31 -31
  40. package/dist/components/layout/DialogBody/styles.css +17 -17
  41. package/dist/components/layout/Illustration/styles.css +104 -104
  42. package/dist/components/layout/ScrollArea/styles.css +61 -61
  43. package/dist/components/layout/TabPanel/styles.css +16 -16
  44. package/dist/components/layout/shared.css +65 -65
  45. package/dist/components/media/AudioPlayer/styles.css +86 -86
  46. package/dist/components/media/LevelMeter/styles.css +30 -30
  47. package/dist/components/media/MelodyRoll/styles.css +196 -196
  48. package/dist/components/media/RotaryKnob/styles.css +319 -319
  49. package/dist/components/media/Sparkline/styles.css +69 -69
  50. package/dist/components/media/WaveDecoration/styles.css +1 -1
  51. package/dist/components/media/shared.css +7 -7
  52. package/dist/fonts/melodix.css +123 -123
  53. package/dist/index.js +2101 -2101
  54. package/dist/theme/base.css +210 -210
  55. package/package.json +1 -1
@@ -1,114 +1,114 @@
1
- /* Truly global component plumbing. */
2
- /* Shared component rules: dimensions belong to the layout, materials to tokens. */
3
- .ad,
4
- .ad *,
5
- [data-ad-reference],
6
- [data-ad-reference] * {
7
- box-sizing: border-box;
8
- }
9
- [data-ad-material="ghost"] {
10
- --ad-material-bg: transparent;
11
- --ad-material-shadow: none;
12
- }
13
- [data-ad-material="danger"] {
14
- --ad-material-bg: linear-gradient(135deg, var(--ad-primary-700), var(--ad-primary-800));
15
- --ad-material-shadow:
16
- inset 0 0.0625rem 0.0625rem rgb(from var(--ad-secondary-200) r g b / 0.3), 0 0 0.875rem rgb(from var(--ad-primary) r g b / 0.19);
17
- }
18
- .ad[data-ad-material],
19
- [data-ad-reference][data-ad-material][data-ad-component] {
20
- background: var(--ad-material-bg);
21
- box-shadow: var(--ad-material-shadow);
22
- }
23
- .ad[data-ad-material] {
24
- border: 0.0625rem solid transparent;
25
- }
26
- :where(.ad) button,
27
- :where(.ad) input,
28
- :where(.ad) select,
29
- button:where(.ad),
30
- input:where(.ad),
31
- select:where(.ad) {
32
- font-family: var(--ad-font-family-sans);
33
- color: inherit;
34
- }
35
- button.ad {
36
- cursor: pointer;
37
- -webkit-tap-highlight-color: transparent;
38
- }
39
- button.ad:disabled {
40
- cursor: default;
41
- opacity: 0.4;
42
- }
43
- .ad button:focus-visible,
44
- .ad input:focus-visible,
45
- .ad select:focus-visible,
46
- .ad[tabindex]:focus-visible,
47
- button.ad:focus-visible {
48
- outline: 0.125rem solid var(--ad-focus);
49
- outline-offset: 0.1875rem;
50
- }
51
- [data-ad-tone="success"] {
52
- --ad-tone: var(--ad-success);
53
- }
54
- [data-ad-tone="error"] {
55
- --ad-tone: var(--ad-primary);
56
- }
57
- [data-ad-tone="warning"] {
58
- --ad-tone: var(--ad-warning);
59
- }
60
- [data-ad-tone="pending"],
61
- [data-ad-tone="offline"] {
62
- --ad-tone: var(--ad-neutral-400);
63
- }
64
- [data-ad-tone="processing"] {
65
- --ad-tone: var(--ad-secondary);
66
- }
67
- [data-ad-tone="info"] {
68
- --ad-tone: var(--ad-info);
69
- }
70
- .ad-empty-state > .ad-icon {
71
- color: var(--ad-secondary);
72
- filter: drop-shadow(0 0 0.5625rem rgb(from var(--ad-primary) r g b / 0.33));
73
- }
74
- .ad-menu .ad-divider {
75
- margin: 0.3125rem 0;
76
- }
77
- .ad-border {
78
- position: absolute;
79
- inset: 0;
80
- display: block;
81
- width: 100%;
82
- height: 100%;
83
- max-width: none;
84
- max-height: none;
85
- overflow: visible;
86
- /* Decorative overflow can paint outside the host without enlarging its scroll area. */
87
- contain: layout;
88
- pointer-events: none;
89
- user-select: none;
90
- z-index: 20;
91
- }
92
- .ad-border > svg {
93
- position: absolute;
94
- inset: 0;
95
- display: block;
96
- width: 100%;
97
- height: 100%;
98
- overflow: visible;
99
- }
100
- /* The rings: still masks around the edge (with room for the halo), lit by spots that move. */
101
- .ad-border-aura,
102
- .ad-border-core {
103
- position: absolute;
104
- inset: -16px;
105
- /* The mask hides paint, but only clipping keeps moving lights out of scroll geometry. */
106
- overflow: clip;
107
- mask-size: 100% 100%;
108
- mask-repeat: no-repeat;
109
- -webkit-mask-size: 100% 100%;
110
- -webkit-mask-repeat: no-repeat;
111
- }
1
+ /* Truly global component plumbing. */
2
+ /* Shared component rules: dimensions belong to the layout, materials to tokens. */
3
+ .ad,
4
+ .ad *,
5
+ [data-ad-reference],
6
+ [data-ad-reference] * {
7
+ box-sizing: border-box;
8
+ }
9
+ [data-ad-material="ghost"] {
10
+ --ad-material-bg: transparent;
11
+ --ad-material-shadow: none;
12
+ }
13
+ [data-ad-material="danger"] {
14
+ --ad-material-bg: linear-gradient(135deg, var(--ad-primary-700), var(--ad-primary-800));
15
+ --ad-material-shadow:
16
+ inset 0 0.0625rem 0.0625rem rgb(from var(--ad-secondary-200) r g b / 0.3), 0 0 0.875rem rgb(from var(--ad-primary) r g b / 0.19);
17
+ }
18
+ .ad[data-ad-material],
19
+ [data-ad-reference][data-ad-material][data-ad-component] {
20
+ background: var(--ad-material-bg);
21
+ box-shadow: var(--ad-material-shadow);
22
+ }
23
+ .ad[data-ad-material] {
24
+ border: 0.0625rem solid transparent;
25
+ }
26
+ :where(.ad) button,
27
+ :where(.ad) input,
28
+ :where(.ad) select,
29
+ button:where(.ad),
30
+ input:where(.ad),
31
+ select:where(.ad) {
32
+ font-family: var(--ad-font-family-sans);
33
+ color: inherit;
34
+ }
35
+ button.ad {
36
+ cursor: pointer;
37
+ -webkit-tap-highlight-color: transparent;
38
+ }
39
+ button.ad:disabled {
40
+ cursor: default;
41
+ opacity: 0.4;
42
+ }
43
+ .ad button:focus-visible,
44
+ .ad input:focus-visible,
45
+ .ad select:focus-visible,
46
+ .ad[tabindex]:focus-visible,
47
+ button.ad:focus-visible {
48
+ outline: 0.125rem solid var(--ad-focus);
49
+ outline-offset: 0.1875rem;
50
+ }
51
+ [data-ad-tone="success"] {
52
+ --ad-tone: var(--ad-success);
53
+ }
54
+ [data-ad-tone="error"] {
55
+ --ad-tone: var(--ad-primary);
56
+ }
57
+ [data-ad-tone="warning"] {
58
+ --ad-tone: var(--ad-warning);
59
+ }
60
+ [data-ad-tone="pending"],
61
+ [data-ad-tone="offline"] {
62
+ --ad-tone: var(--ad-neutral-400);
63
+ }
64
+ [data-ad-tone="processing"] {
65
+ --ad-tone: var(--ad-secondary);
66
+ }
67
+ [data-ad-tone="info"] {
68
+ --ad-tone: var(--ad-info);
69
+ }
70
+ .ad-empty-state > .ad-icon {
71
+ color: var(--ad-secondary);
72
+ filter: drop-shadow(0 0 0.5625rem rgb(from var(--ad-primary) r g b / 0.33));
73
+ }
74
+ .ad-menu .ad-divider {
75
+ margin: 0.3125rem 0;
76
+ }
77
+ .ad-border {
78
+ position: absolute;
79
+ inset: 0;
80
+ display: block;
81
+ width: 100%;
82
+ height: 100%;
83
+ max-width: none;
84
+ max-height: none;
85
+ overflow: visible;
86
+ /* Decorative overflow can paint outside the host without enlarging its scroll area. */
87
+ contain: layout;
88
+ pointer-events: none;
89
+ user-select: none;
90
+ z-index: 20;
91
+ }
92
+ .ad-border > svg {
93
+ position: absolute;
94
+ inset: 0;
95
+ display: block;
96
+ width: 100%;
97
+ height: 100%;
98
+ overflow: visible;
99
+ }
100
+ /* The rings: still masks around the edge (with room for the halo), lit by spots that move. */
101
+ .ad-border-aura,
102
+ .ad-border-core {
103
+ position: absolute;
104
+ inset: -16px;
105
+ /* The mask hides paint, but only clipping keeps moving lights out of scroll geometry. */
106
+ overflow: clip;
107
+ mask-size: 100% 100%;
108
+ mask-repeat: no-repeat;
109
+ -webkit-mask-size: 100% 100%;
110
+ -webkit-mask-repeat: no-repeat;
111
+ }
112
112
  .ad-border-light {
113
113
  position: absolute;
114
114
  top: 0;
@@ -120,102 +120,102 @@ button.ad:focus-visible {
120
120
  [data-ad-motion="off"] .ad-border-light {
121
121
  will-change: auto;
122
122
  }
123
- [data-ad-color-scheme="light"] .ad-border .ad-border-aura {
124
- opacity: 0.4;
125
- }
126
- .ad-spinner {
127
- width: 0.9375rem;
128
- height: 0.9375rem;
129
- border: 0.125rem solid rgb(from var(--ad-secondary) r g b / 0.2);
130
- border-top-color: var(--ad-secondary-100);
131
- border-radius: 50%;
132
- animation: ad-spin 0.8s linear infinite;
133
- }
134
- @keyframes ad-spin {
135
- to {
136
- transform: rotate(360deg);
137
- }
138
- }
139
- /* Motion off: every animation jumps straight to its final frame, so entrances (dialogs, toasts,
140
- popovers) still end visible, and nothing keeps looping. */
141
- :is([data-ad-motion="off"] .ad, [data-ad-motion="off"] .ad *),
142
- :is([data-ad-motion="off"] .ad, [data-ad-motion="off"] .ad *)::before,
143
- :is([data-ad-motion="off"] .ad, [data-ad-motion="off"] .ad *)::after,
144
- [data-ad-motion="off"] .ad-dialog::backdrop {
145
- animation-duration: 0.01ms !important;
146
- animation-delay: 0s !important;
147
- animation-iteration-count: 1 !important;
148
- transition-duration: 0.01ms !important;
149
- }
150
- @media (prefers-reduced-motion: reduce) {
151
- :root:not([data-ad-motion="on"]) :is(.ad, .ad *),
152
- :root:not([data-ad-motion="on"]) :is(.ad, .ad *)::before,
153
- :root:not([data-ad-motion="on"]) :is(.ad, .ad *)::after,
154
- :root:not([data-ad-motion="on"]) .ad-dialog::backdrop {
155
- animation-duration: 0.01ms !important;
156
- animation-delay: 0s !important;
157
- animation-iteration-count: 1 !important;
158
- transition: none !important;
159
- }
160
- }
161
- /* Ring of light spread from the press point; hosts clip it with overflow: hidden. */
162
- .ad-ripple {
163
- position: absolute;
164
- z-index: 0;
165
- width: 0.5rem;
166
- height: 0.5rem;
167
- margin: -0.25rem 0 0 -0.25rem;
168
- border-radius: 50%;
169
- border: 0.0625rem solid var(--ad-secondary-100);
170
- background: radial-gradient(closest-side, rgb(from var(--ad-secondary) r g b / 0.2), transparent);
171
- box-shadow: 0 0 0.75rem var(--ad-primary);
172
- pointer-events: none;
173
- animation: ad-ripple 0.65s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
174
- }
175
- @keyframes ad-ripple {
176
- to {
177
- scale: 18;
178
- opacity: 0;
179
- }
180
- }
181
- @media (prefers-reduced-motion: reduce) {
182
- .ad-ripple {
183
- display: none;
184
- }
185
- }
186
-
187
- /* Scrollbars inside a themed area: a slim glowing thumb in the primary colour, no arrows, a quiet track.
188
- (Setting scrollbar-color would switch Chromium to plain bars, so only the WebKit parts are styled.) */
189
- .ad-theme ::-webkit-scrollbar {
190
- width: clamp(0.6rem, 0.7vw, 1rem);
191
- height: clamp(0.6rem, 0.7vw, 1rem);
192
- }
193
- .ad-theme ::-webkit-scrollbar-track {
194
- border-radius: var(--ad-radius-pill);
195
- background: rgb(from var(--ad-neutral-950) r g b / 0.35);
196
- }
197
- .ad-theme ::-webkit-scrollbar-thumb {
198
- border: 0.18rem solid transparent;
199
- border-radius: var(--ad-radius-pill);
200
- background: linear-gradient(180deg, var(--ad-secondary), var(--ad-primary)) padding-box;
201
- box-shadow: 0 0 0.5rem rgb(from var(--ad-primary) r g b / 0.6);
202
- }
203
- .ad-theme ::-webkit-scrollbar-thumb:hover {
204
- background: var(--ad-secondary) padding-box;
205
- }
206
- .ad-theme ::-webkit-scrollbar-button {
207
- display: none;
208
- }
209
- .ad-theme ::-webkit-scrollbar-corner {
210
- background: transparent;
211
- }
212
-
213
- /* Out of view (see usePauseOffscreen): every animation inside holds still until it scrolls back. */
214
- [data-ad-offscreen],
215
- [data-ad-offscreen]::before,
216
- [data-ad-offscreen]::after,
217
- [data-ad-offscreen] *,
218
- [data-ad-offscreen] *::before,
219
- [data-ad-offscreen] *::after {
220
- animation-play-state: paused !important;
221
- }
123
+ [data-ad-color-scheme="light"] .ad-border .ad-border-aura {
124
+ opacity: 0.4;
125
+ }
126
+ .ad-spinner {
127
+ width: 0.9375rem;
128
+ height: 0.9375rem;
129
+ border: 0.125rem solid rgb(from var(--ad-secondary) r g b / 0.2);
130
+ border-top-color: var(--ad-secondary-100);
131
+ border-radius: 50%;
132
+ animation: ad-spin 0.8s linear infinite;
133
+ }
134
+ @keyframes ad-spin {
135
+ to {
136
+ transform: rotate(360deg);
137
+ }
138
+ }
139
+ /* Motion off: every animation jumps straight to its final frame, so entrances (dialogs, toasts,
140
+ popovers) still end visible, and nothing keeps looping. */
141
+ :is([data-ad-motion="off"] .ad, [data-ad-motion="off"] .ad *),
142
+ :is([data-ad-motion="off"] .ad, [data-ad-motion="off"] .ad *)::before,
143
+ :is([data-ad-motion="off"] .ad, [data-ad-motion="off"] .ad *)::after,
144
+ [data-ad-motion="off"] .ad-dialog::backdrop {
145
+ animation-duration: 0.01ms !important;
146
+ animation-delay: 0s !important;
147
+ animation-iteration-count: 1 !important;
148
+ transition-duration: 0.01ms !important;
149
+ }
150
+ @media (prefers-reduced-motion: reduce) {
151
+ :root:not([data-ad-motion="on"]) :is(.ad, .ad *),
152
+ :root:not([data-ad-motion="on"]) :is(.ad, .ad *)::before,
153
+ :root:not([data-ad-motion="on"]) :is(.ad, .ad *)::after,
154
+ :root:not([data-ad-motion="on"]) .ad-dialog::backdrop {
155
+ animation-duration: 0.01ms !important;
156
+ animation-delay: 0s !important;
157
+ animation-iteration-count: 1 !important;
158
+ transition: none !important;
159
+ }
160
+ }
161
+ /* Ring of light spread from the press point; hosts clip it with overflow: hidden. */
162
+ .ad-ripple {
163
+ position: absolute;
164
+ z-index: 0;
165
+ width: 0.5rem;
166
+ height: 0.5rem;
167
+ margin: -0.25rem 0 0 -0.25rem;
168
+ border-radius: 50%;
169
+ border: 0.0625rem solid var(--ad-secondary-100);
170
+ background: radial-gradient(closest-side, rgb(from var(--ad-secondary) r g b / 0.2), transparent);
171
+ box-shadow: 0 0 0.75rem var(--ad-primary);
172
+ pointer-events: none;
173
+ animation: ad-ripple 0.65s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
174
+ }
175
+ @keyframes ad-ripple {
176
+ to {
177
+ scale: 18;
178
+ opacity: 0;
179
+ }
180
+ }
181
+ @media (prefers-reduced-motion: reduce) {
182
+ .ad-ripple {
183
+ display: none;
184
+ }
185
+ }
186
+
187
+ /* Scrollbars inside a themed area: a slim glowing thumb in the primary colour, no arrows, a quiet track.
188
+ (Setting scrollbar-color would switch Chromium to plain bars, so only the WebKit parts are styled.) */
189
+ .ad-theme ::-webkit-scrollbar {
190
+ width: clamp(0.6rem, 0.7vw, 1rem);
191
+ height: clamp(0.6rem, 0.7vw, 1rem);
192
+ }
193
+ .ad-theme ::-webkit-scrollbar-track {
194
+ border-radius: var(--ad-radius-pill);
195
+ background: rgb(from var(--ad-neutral-950) r g b / 0.35);
196
+ }
197
+ .ad-theme ::-webkit-scrollbar-thumb {
198
+ border: 0.18rem solid transparent;
199
+ border-radius: var(--ad-radius-pill);
200
+ background: linear-gradient(180deg, var(--ad-secondary), var(--ad-primary)) padding-box;
201
+ box-shadow: 0 0 0.5rem rgb(from var(--ad-primary) r g b / 0.6);
202
+ }
203
+ .ad-theme ::-webkit-scrollbar-thumb:hover {
204
+ background: var(--ad-secondary) padding-box;
205
+ }
206
+ .ad-theme ::-webkit-scrollbar-button {
207
+ display: none;
208
+ }
209
+ .ad-theme ::-webkit-scrollbar-corner {
210
+ background: transparent;
211
+ }
212
+
213
+ /* Out of view (see usePauseOffscreen): every animation inside holds still until it scrolls back. */
214
+ [data-ad-offscreen],
215
+ [data-ad-offscreen]::before,
216
+ [data-ad-offscreen]::after,
217
+ [data-ad-offscreen] *,
218
+ [data-ad-offscreen] *::before,
219
+ [data-ad-offscreen] *::after {
220
+ animation-play-state: paused !important;
221
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neo-ui-kit/react",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "NEO UI — React component library",
5
5
  "type": "module",
6
6
  "license": "MIT",