@zvk/ui 0.1.0 → 0.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/dist/styles.css CHANGED
@@ -10,6 +10,10 @@
10
10
  --liano-font-size-sm: 0.875rem;
11
11
  --liano-font-size-md: 0.9375rem;
12
12
  --liano-font-size-lg: 1rem;
13
+ --liano-font-size-base: 1rem;
14
+ --liano-font-size-xl: 1.125rem;
15
+ --liano-font-size-2xl: 1.5rem;
16
+ --liano-font-size-3xl: 1.875rem;
13
17
  --liano-line-height-tight: 1.2;
14
18
  --liano-line-height-normal: 1.5;
15
19
 
@@ -31,6 +35,18 @@
31
35
  --liano-shadow-xs: 0 1px 1px rgb(15 23 42 / 0.06);
32
36
  --liano-shadow-sm: 0 1px 2px rgb(15 23 42 / 0.08), 0 8px 24px rgb(15 23 42 / 0.04);
33
37
  --liano-shadow-md: 0 12px 32px rgb(15 23 42 / 0.10);
38
+ --liano-shadow-lg: 0 18px 48px rgb(15 23 42 / 0.14);
39
+
40
+ --liano-container-sm: 40rem;
41
+ --liano-container-md: 48rem;
42
+ --liano-container-lg: 64rem;
43
+ --liano-container-xl: 80rem;
44
+
45
+ --liano-z-index-overlay: 1000;
46
+ --liano-z-index-popover: 1100;
47
+ --liano-z-popover: var(--liano-z-index-popover);
48
+ --liano-z-index-tooltip: 1200;
49
+ --liano-z-index-toast: 1300;
34
50
 
35
51
  --liano-opacity-disabled: 0.56;
36
52
  --liano-duration-fast: 120ms;
@@ -53,15 +69,23 @@
53
69
  --liano-color-surface: #ffffff;
54
70
  --liano-color-surface-raised: #ffffff;
55
71
  --liano-color-border: #d9e0ea;
72
+ --liano-color-border-subtle: #e7ecf3;
56
73
  --liano-color-border-strong: #b8c4d4;
74
+ --liano-color-accent: #eef4ff;
57
75
  --liano-color-ring: #2563eb;
58
76
  --liano-color-primary: #1d4ed8;
59
77
  --liano-color-primary-hover: #1e40af;
60
78
  --liano-color-primary-foreground: #ffffff;
79
+ --liano-color-primary-soft: #eff6ff;
80
+ --liano-color-primary-border: #bfdbfe;
61
81
  --liano-color-success: #0f8a6a;
82
+ --liano-color-success-border: #9adbc7;
62
83
  --liano-color-warning: #b86f00;
84
+ --liano-color-warning-border: #f3cf7c;
63
85
  --liano-color-destructive: #c62828;
86
+ --liano-color-destructive-border: #f2a4a4;
64
87
  --liano-color-info: #087ea4;
88
+ --liano-color-info-border: #94dcef;
65
89
  --liano-control-background: #ffffff;
66
90
  --liano-control-hover: #f8fafc;
67
91
  --liano-control-active: #eef4ff;
@@ -76,15 +100,23 @@
76
100
  --liano-color-surface: #111821;
77
101
  --liano-color-surface-raised: #151e2a;
78
102
  --liano-color-border: #293445;
103
+ --liano-color-border-subtle: #202a38;
79
104
  --liano-color-border-strong: #3b4a5f;
105
+ --liano-color-accent: #1b2f50;
80
106
  --liano-color-ring: #69a3ff;
81
107
  --liano-color-primary: #6ea2ff;
82
108
  --liano-color-primary-hover: #91b8ff;
83
109
  --liano-color-primary-foreground: #07101f;
110
+ --liano-color-primary-soft: #10233f;
111
+ --liano-color-primary-border: #315f9f;
84
112
  --liano-color-success: #3dd6aa;
113
+ --liano-color-success-border: #206b5b;
85
114
  --liano-color-warning: #f5bd4f;
115
+ --liano-color-warning-border: #755015;
86
116
  --liano-color-destructive: #ff6b6b;
117
+ --liano-color-destructive-border: #80363a;
87
118
  --liano-color-info: #58d5f7;
119
+ --liano-color-info-border: #246f85;
88
120
  --liano-control-background: #111821;
89
121
  --liano-control-hover: #172233;
90
122
  --liano-control-active: #1b2f50;
@@ -212,6 +244,12 @@
212
244
  font-size: var(--liano-font-size-md);
213
245
  }
214
246
 
247
+ :where(.liano-button[data-size="icon"]) {
248
+ --liano-button-padding-x: 0;
249
+ aspect-ratio: 1;
250
+ min-width: var(--liano-button-height);
251
+ }
252
+
215
253
  :where(.liano-button[data-variant="primary"]) {
216
254
  --liano-button-bg: var(--liano-color-primary);
217
255
  --liano-button-fg: var(--liano-color-primary-foreground);
@@ -1754,6 +1792,43 @@
1754
1792
  cursor: not-allowed;
1755
1793
  opacity: var(--liano-opacity-disabled);
1756
1794
  }
1795
+
1796
+ :where(.liano-select__group) {
1797
+ display: grid;
1798
+ gap: var(--liano-space-1);
1799
+ padding-block: var(--liano-space-1);
1800
+ }
1801
+
1802
+ :where(.liano-select__label) {
1803
+ color: var(--liano-color-muted-foreground);
1804
+ font-size: var(--liano-font-size-xs);
1805
+ font-weight: 600;
1806
+ padding: var(--liano-space-1) var(--liano-space-2);
1807
+ }
1808
+
1809
+ :where(.liano-select__separator) {
1810
+ background: var(--liano-color-border);
1811
+ block-size: 1px;
1812
+ margin-block: var(--liano-space-1);
1813
+ }
1814
+
1815
+ :where(.liano-select__clear) {
1816
+ appearance: none;
1817
+ background: transparent;
1818
+ border: 0;
1819
+ border-radius: var(--liano-radius-sm);
1820
+ color: var(--liano-color-muted-foreground);
1821
+ cursor: pointer;
1822
+ font: inherit;
1823
+ padding: var(--liano-space-2);
1824
+ text-align: start;
1825
+ }
1826
+
1827
+ :where(.liano-select__clear:hover:not(:disabled), .liano-select__clear:focus-visible) {
1828
+ background: var(--liano-control-hover);
1829
+ color: var(--liano-color-foreground);
1830
+ outline: 0;
1831
+ }
1757
1832
  }
1758
1833
 
1759
1834
 
@@ -1824,7 +1899,7 @@
1824
1899
  :where(.liano-accordion__trigger) {
1825
1900
  --liano-accordion-trigger-height: var(--liano-control-height-md);
1826
1901
  appearance: none;
1827
- background: var(--liano-surface);
1902
+ background: var(--liano-color-surface);
1828
1903
  border: none;
1829
1904
  color: var(--liano-color-foreground);
1830
1905
  cursor: pointer;
@@ -2860,12 +2935,16 @@
2860
2935
 
2861
2936
  :where(.liano-dropdown-menu__item) {
2862
2937
  all: unset;
2938
+ align-items: center;
2863
2939
  border-radius: var(--liano-radius-sm);
2864
2940
  cursor: default;
2941
+ display: flex;
2942
+ gap: var(--liano-space-2);
2943
+ justify-content: space-between;
2865
2944
  padding: var(--liano-space-2) var(--liano-space-3);
2866
- width: 100%;
2867
2945
  text-align: left;
2868
2946
  user-select: none;
2947
+ width: 100%;
2869
2948
  }
2870
2949
 
2871
2950
  :where(.liano-dropdown-menu__item:hover, .liano-dropdown-menu__item:focus-visible) {
@@ -2883,6 +2962,38 @@
2883
2962
  border-top: 1px solid var(--liano-color-border);
2884
2963
  margin: var(--liano-space-1) 0;
2885
2964
  }
2965
+
2966
+ :where(.liano-dropdown-menu__label) {
2967
+ color: var(--liano-color-muted-foreground);
2968
+ font-size: var(--liano-font-size-xs);
2969
+ font-weight: 600;
2970
+ padding: var(--liano-space-1) var(--liano-space-3);
2971
+ }
2972
+
2973
+ :where(.liano-dropdown-menu__shortcut) {
2974
+ color: var(--liano-color-muted-foreground);
2975
+ font-size: var(--liano-font-size-xs);
2976
+ margin-inline-start: auto;
2977
+ }
2978
+
2979
+ :where(.liano-dropdown-menu__checkbox-item, .liano-dropdown-menu__radio-item) {
2980
+ justify-content: start;
2981
+ }
2982
+
2983
+ :where(.liano-dropdown-menu__item-indicator) {
2984
+ color: var(--liano-color-primary);
2985
+ inline-size: 1rem;
2986
+ text-align: center;
2987
+ }
2988
+
2989
+ :where(.liano-dropdown-menu__item-label) {
2990
+ min-width: 0;
2991
+ }
2992
+
2993
+ :where(.liano-dropdown-menu__radio-group, .liano-dropdown-menu__sub) {
2994
+ display: grid;
2995
+ gap: var(--liano-space-1);
2996
+ }
2886
2997
  }
2887
2998
 
2888
2999
 
@@ -3049,6 +3160,13 @@
3049
3160
  font-weight: 600;
3050
3161
  }
3051
3162
 
3163
+ .liano-combobox__control {
3164
+ align-items: center;
3165
+ display: grid;
3166
+ grid-template-columns: minmax(0, 1fr) auto;
3167
+ position: relative;
3168
+ }
3169
+
3052
3170
  .liano-combobox__input {
3053
3171
  background: var(--liano-color-surface);
3054
3172
  border: 1px solid var(--liano-color-border);
@@ -3097,18 +3215,12 @@
3097
3215
  border: 1px solid var(--liano-color-border);
3098
3216
  border-radius: var(--liano-radius-md);
3099
3217
  box-shadow: var(--liano-shadow-md);
3100
- inset-block-start: calc(100% + var(--liano-space-1));
3101
- inset-inline: 0;
3102
- padding: var(--liano-space-1);
3103
- position: absolute;
3104
- z-index: 110;
3105
- }
3106
-
3107
- .liano-combobox__list {
3108
3218
  display: grid;
3109
3219
  gap: var(--liano-space-1);
3110
- max-block-size: 16rem;
3220
+ max-block-size: min(16rem, var(--liano-floating-available-height));
3111
3221
  overflow: auto;
3222
+ padding: var(--liano-space-1);
3223
+ z-index: var(--liano-z-popover);
3112
3224
  }
3113
3225
 
3114
3226
  .liano-combobox__option {
@@ -3132,6 +3244,26 @@
3132
3244
  cursor: not-allowed;
3133
3245
  opacity: 0.6;
3134
3246
  }
3247
+
3248
+ .liano-combobox__clear {
3249
+ appearance: none;
3250
+ background: transparent;
3251
+ border: 0;
3252
+ border-radius: var(--liano-radius-sm);
3253
+ color: var(--liano-color-muted-foreground);
3254
+ cursor: pointer;
3255
+ font: inherit;
3256
+ font-size: var(--liano-font-size-xs);
3257
+ margin-inline-start: var(--liano-space-2);
3258
+ padding: var(--liano-space-1) var(--liano-space-2);
3259
+ }
3260
+
3261
+ .liano-combobox__clear:hover:not(:disabled),
3262
+ .liano-combobox__clear:focus-visible {
3263
+ background: var(--liano-control-hover);
3264
+ color: var(--liano-color-foreground);
3265
+ outline: 0;
3266
+ }
3135
3267
  }
3136
3268
 
3137
3269
 
@@ -3160,12 +3292,16 @@
3160
3292
  }
3161
3293
 
3162
3294
  .liano-context-menu__item {
3295
+ align-items: center;
3163
3296
  background: transparent;
3164
3297
  border: 0;
3165
3298
  border-radius: var(--liano-radius-sm);
3166
3299
  color: var(--liano-color-foreground);
3167
3300
  cursor: pointer;
3301
+ display: flex;
3168
3302
  font: inherit;
3303
+ gap: var(--liano-space-2);
3304
+ justify-content: space-between;
3169
3305
  padding: var(--liano-space-2) var(--liano-space-3);
3170
3306
  text-align: start;
3171
3307
  }
@@ -3190,6 +3326,27 @@
3190
3326
  block-size: 1px;
3191
3327
  margin: var(--liano-space-1) 0;
3192
3328
  }
3329
+
3330
+ .liano-context-menu__label {
3331
+ color: var(--liano-color-muted-foreground);
3332
+ font-size: var(--liano-font-size-xs);
3333
+ font-weight: 600;
3334
+ padding: var(--liano-space-1) var(--liano-space-3);
3335
+ }
3336
+
3337
+ .liano-context-menu__checkbox-item {
3338
+ justify-content: start;
3339
+ }
3340
+
3341
+ .liano-context-menu__item-indicator {
3342
+ color: var(--liano-color-primary);
3343
+ inline-size: 1rem;
3344
+ text-align: center;
3345
+ }
3346
+
3347
+ .liano-context-menu__item-label {
3348
+ min-width: 0;
3349
+ }
3193
3350
  }
3194
3351
 
3195
3352
 
@@ -3242,6 +3399,10 @@
3242
3399
  }
3243
3400
 
3244
3401
  .liano-menubar__item {
3402
+ align-items: center;
3403
+ display: flex;
3404
+ gap: var(--liano-space-2);
3405
+ justify-content: space-between;
3245
3406
  padding: var(--liano-space-2) var(--liano-space-3);
3246
3407
  text-align: start;
3247
3408
  }
@@ -3262,6 +3423,19 @@
3262
3423
  block-size: 1px;
3263
3424
  margin: var(--liano-space-1) 0;
3264
3425
  }
3426
+
3427
+ .liano-menubar__label {
3428
+ color: var(--liano-color-muted-foreground);
3429
+ font-size: var(--liano-font-size-xs);
3430
+ font-weight: 600;
3431
+ padding: var(--liano-space-1) var(--liano-space-3);
3432
+ }
3433
+
3434
+ .liano-menubar__shortcut {
3435
+ color: var(--liano-color-muted-foreground);
3436
+ font-size: var(--liano-font-size-xs);
3437
+ margin-inline-start: auto;
3438
+ }
3265
3439
  }
3266
3440
 
3267
3441
 
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "@zvk/ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "A polished, zero-runtime-dependency React component library for Liano applications.",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "license": "SEE LICENSE IN LICENSE.md",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/brandon-schabel/zvk-ui.git"
11
+ },
8
12
  "publishConfig": {
9
13
  "access": "public"
10
14
  },