@onyxdesign/core 1.1.0 → 1.1.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.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **The interface, in black & white.**
6
6
 
7
- [Website](https://onyx-six-ashy.vercel.app/) · [Documentation](https://onyx-six-ashy.vercel.app/docs/) · [Pricing](https://onyx-six-ashy.vercel.app/#pricing)
7
+ [Website](https://onyxdesign.vercel.app/) · [Documentation](https://onyxdesign.vercel.app/docs/) · [Pricing](https://onyxdesign.vercel.app/#pricing)
8
8
 
9
9
  Onyx is a zero-dependency UI component library for designers who believe restraint is a feature. Two colors, sharp typography, and every detail considered. One CSS file, one small script, light and dark themes built in.
10
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onyxdesign/core",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "A black & white, zero-dependency UI component library for people who care about the details.",
5
5
  "main": "src/onyx.js",
6
6
  "style": "src/onyx.css",
@@ -28,7 +28,7 @@
28
28
  "type": "git",
29
29
  "url": "git+https://github.com/codewithanshuman/Onyx.git"
30
30
  },
31
- "homepage": "https://onyx-six-ashy.vercel.app/",
31
+ "homepage": "https://onyxdesign.vercel.app/",
32
32
  "bugs": {
33
33
  "url": "https://github.com/codewithanshuman/Onyx/issues"
34
34
  },
package/src/onyx.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Onyx v1.1.0 — a black & white component library for the web
2
+ * Onyx v1.1.1 — a black & white component library for the web
3
3
  * Core: MIT License. Onyx Pro components require a commercial license.
4
4
  */
5
5
 
@@ -19,9 +19,10 @@
19
19
  --ox-surface: #ffffff;
20
20
  --ox-border: #e8e8e8;
21
21
  --ox-border-strong: #d4d4d4;
22
+ --ox-control-border: #8f8f8f;
22
23
  --ox-fg: #0a0a0a;
23
- --ox-fg-muted: #6b6b6b;
24
- --ox-fg-subtle: #a3a3a3;
24
+ --ox-fg-muted: #5c5c5c;
25
+ --ox-fg-subtle: #737373;
25
26
  --ox-inverse: #ffffff;
26
27
  --ox-ring: rgba(10, 10, 10, 0.12);
27
28
  --ox-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
@@ -38,9 +39,10 @@
38
39
  --ox-surface: #0a0a0a;
39
40
  --ox-border: #222222;
40
41
  --ox-border-strong: #383838;
42
+ --ox-control-border: #5e5e5e;
41
43
  --ox-fg: #fafafa;
42
- --ox-fg-muted: #a1a1a1;
43
- --ox-fg-subtle: #6b6b6b;
44
+ --ox-fg-muted: #a8a8a8;
45
+ --ox-fg-subtle: #8a8a8a;
44
46
  --ox-inverse: #000000;
45
47
  --ox-ring: rgba(255, 255, 255, 0.18);
46
48
  --ox-shadow-sm: 0 0 0 1px rgba(255, 255, 255, 0.02);
@@ -61,9 +63,10 @@
61
63
  --ox-surface: #0a0a0a;
62
64
  --ox-border: #222222;
63
65
  --ox-border-strong: #383838;
66
+ --ox-control-border: #5e5e5e;
64
67
  --ox-fg: #fafafa;
65
- --ox-fg-muted: #a1a1a1;
66
- --ox-fg-subtle: #6b6b6b;
68
+ --ox-fg-muted: #a8a8a8;
69
+ --ox-fg-subtle: #8a8a8a;
67
70
  --ox-inverse: #000000;
68
71
  --ox-ring: rgba(255, 255, 255, 0.18);
69
72
  --ox-shadow-sm: 0 0 0 1px rgba(255, 255, 255, 0.02);
@@ -78,9 +81,10 @@
78
81
  --ox-surface: #ffffff;
79
82
  --ox-border: #e8e8e8;
80
83
  --ox-border-strong: #d4d4d4;
84
+ --ox-control-border: #8f8f8f;
81
85
  --ox-fg: #0a0a0a;
82
- --ox-fg-muted: #6b6b6b;
83
- --ox-fg-subtle: #a3a3a3;
86
+ --ox-fg-muted: #5c5c5c;
87
+ --ox-fg-subtle: #737373;
84
88
  --ox-inverse: #ffffff;
85
89
  --ox-ring: rgba(10, 10, 10, 0.12);
86
90
  --ox-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
@@ -341,7 +345,7 @@
341
345
  font-size: var(--ox-text-sm);
342
346
  color: var(--ox-fg);
343
347
  background: var(--ox-surface);
344
- border: 1px solid var(--ox-border);
348
+ border: 1px solid var(--ox-control-border);
345
349
  border-radius: var(--ox-radius);
346
350
  transition: border-color var(--ox-duration) var(--ox-ease), box-shadow var(--ox-duration) var(--ox-ease);
347
351
  }
@@ -349,7 +353,7 @@
349
353
  .ox-textarea::placeholder { color: var(--ox-fg-subtle); }
350
354
  .ox-input:hover,
351
355
  .ox-select:hover,
352
- .ox-textarea:hover { border-color: var(--ox-border-strong); }
356
+ .ox-textarea:hover { border-color: var(--ox-fg-muted); }
353
357
  .ox-input:focus,
354
358
  .ox-select:focus,
355
359
  .ox-textarea:focus {
@@ -403,7 +407,7 @@
403
407
  height: 1rem;
404
408
  margin: 0;
405
409
  background: var(--ox-surface);
406
- border: 1px solid var(--ox-border-strong);
410
+ border: 1px solid var(--ox-control-border);
407
411
  cursor: pointer;
408
412
  transition: background var(--ox-duration) var(--ox-ease), border-color var(--ox-duration) var(--ox-ease);
409
413
  }
@@ -441,7 +445,7 @@
441
445
  width: 2.25rem;
442
446
  height: 1.25rem;
443
447
  flex-shrink: 0;
444
- background: var(--ox-border-strong);
448
+ background: var(--ox-control-border);
445
449
  border-radius: var(--ox-radius-full);
446
450
  transition: background var(--ox-duration) var(--ox-ease);
447
451
  }
@@ -818,7 +822,7 @@
818
822
  overflow-x: auto;
819
823
  tab-size: 2;
820
824
  }
821
- .ox-code .c { color: #5f5f5f; }
825
+ .ox-code .c { color: #8a8a8a; } /* 5.6:1 on the code background */
822
826
  .ox-code .t { color: #ffffff; }
823
827
  .ox-code .a { color: #9a9a9a; }
824
828
  .ox-code .s { color: #e5e5e5; font-style: italic; }
@@ -996,7 +1000,7 @@ body.ox-nav-locked { overflow: hidden; }
996
1000
  .ox-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px var(--ox-ring); }
997
1001
  .ox-range:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px var(--ox-ring); }
998
1002
 
999
- .ox-stepper { display: inline-flex; align-items: stretch; height: 2.5rem; background: var(--ox-surface); border: 1px solid var(--ox-border); border-radius: var(--ox-radius); overflow: hidden; }
1003
+ .ox-stepper { display: inline-flex; align-items: stretch; height: 2.5rem; background: var(--ox-surface); border: 1px solid var(--ox-control-border); border-radius: var(--ox-radius); overflow: hidden; }
1000
1004
  .ox-stepper:focus-within { border-color: var(--ox-fg); box-shadow: 0 0 0 3px var(--ox-ring); }
1001
1005
  .ox-stepper button { width: 2.5rem; padding: 0; font-size: var(--ox-text-lg); line-height: 1; color: var(--ox-fg); background: transparent; border: 0; cursor: pointer; transition: background var(--ox-duration); }
1002
1006
  .ox-stepper button:hover { background: var(--ox-bg-muted); }
@@ -1092,6 +1096,23 @@ body.ox-nav-locked { overflow: hidden; }
1092
1096
  .ox-avatar[data-status="away"]::after { background: var(--ox-bg); box-shadow: inset 0 0 0 2px var(--ox-fg); }
1093
1097
  .ox-avatar[data-status="offline"]::after { background: var(--ox-border-strong); }
1094
1098
 
1099
+ /* Skip link: hidden until a keyboard user tabs to it, then jumps past the navigation */
1100
+ .ox-skip {
1101
+ position: fixed;
1102
+ left: var(--ox-space-4);
1103
+ top: var(--ox-space-3);
1104
+ z-index: 1200;
1105
+ padding: var(--ox-space-2) var(--ox-space-4);
1106
+ font: 500 var(--ox-text-sm) var(--ox-font-sans);
1107
+ color: var(--ox-inverse);
1108
+ background: var(--ox-fg);
1109
+ border-radius: var(--ox-radius-full);
1110
+ text-decoration: none;
1111
+ transform: translateY(-200%);
1112
+ transition: transform var(--ox-duration) var(--ox-ease);
1113
+ }
1114
+ .ox-skip:focus { transform: none; }
1115
+
1095
1116
  /* =========================================================
1096
1117
  26. Touch screens: comfortable tap targets
1097
1118
  ========================================================= */
package/src/onyx.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Onyx v1.1.0 — interactive behaviors
2
+ * Onyx v1.1.1 — interactive behaviors
3
3
  * Zero dependencies. Works via data attributes, or the window.Onyx API.
4
4
  */
5
5
  (function (global) {
@@ -306,7 +306,7 @@
306
306
  restoreTheme();
307
307
 
308
308
  global.Onyx = {
309
- version: "1.1.0",
309
+ version: "1.1.1",
310
310
  modal: { open: openModal, close: closeModal },
311
311
  toast: toast,
312
312
  copy: copy,