nexa-ui-kit 0.11.8 → 0.11.9

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.
@@ -118,5 +118,5 @@ onUnmounted(() => {
118
118
  </template>
119
119
 
120
120
  <style scoped>
121
- .n-modal-root {
122
121
  position: fixed;
123
122
  top: 0;
124
123
  left: 0;
125
124
  width: 100vw;
126
125
  height: 100vh;
127
126
  display: flex;
128
127
  align-items: center;
129
128
  justify-content: center;
130
129
  z-index: var(--n-z-modal);
131
130
  position: absolute;
132
131
  top: 0;
133
132
  left: 0;
134
133
  width: 100%;
135
134
  height: 100%;
136
135
  background: var(--n-color-overlay);
137
136
  backdrop-filter: blur(8px);
138
137
  opacity: 0;
139
138
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
140
139
  opacity: 1;
141
140
  position: relative;
142
141
  width: 90%;
143
142
  background: var(--n-color-surface);
144
143
  backdrop-filter: blur(20px);
145
144
  -webkit-backdrop-filter: blur(20px);
146
145
  border: 1px solid var(--n-color-glass-border);
147
146
  border-radius: var(--n-radius-2xl);
148
147
  box-shadow: var(--n-shadow-xl), var(--n-shadow-glow-primary), 0 0 0 1px var(--n-color-glass-border);
149
148
  transform: scale(0.9) translateY(20px);
150
149
  opacity: 0;
151
150
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
152
151
  overflow: hidden;
153
152
  outline: none;
154
153
  max-height: 85vh;
155
154
  display: flex;
156
155
  flex-direction: column;
157
156
  transform: scale(1) translateY(0);
158
157
  opacity: 1;
159
158
  padding: var(--n-space-6) var(--n-space-8);
160
159
  border-bottom: 1px solid var(--n-color-border);
161
160
  display: flex;
162
161
  justify-content: space-between;
163
162
  align-items: center;
164
163
  flex-shrink: 0;
165
164
  margin: 0;
166
165
  font-size: var(--n-text-xl);
167
166
  font-weight: var(--n-weight-bold);
168
167
  color: var(--n-color-text);
169
168
  background: transparent;
170
169
  border: none;
171
170
  color: var(--n-color-text-secondary);
172
171
  font-size: 1.75rem;
173
172
  cursor: pointer;
174
173
  transition: color var(--n-transition-fast); cubic-bezier(0.34, 1.56, 0.64, 1);
175
174
  padding: 0;
176
175
  line-height: 1;
177
176
  width: 44px;
178
177
  height: 44px;
179
178
  display: flex;
180
179
  align-items: center;
181
180
  justify-content: center;
182
181
  border-radius: var(--n-radius-lg);
183
182
  flex-shrink: 0;
184
183
  color: var(--n-color-text);
185
184
  background: var(--n-color-glass-hover);
186
185
  transform: scale(0.95);
187
186
  outline: 2px solid var(--n-color-primary);
188
187
  outline-offset: 2px;
189
188
  padding: var(--n-space-8);
190
189
  color: var(--n-color-text-secondary);
191
190
  overflow-y: auto;
192
191
  overflow-x: hidden;
193
192
  flex: 1;
194
193
  padding: var(--n-space-5) var(--n-space-8);
195
194
  background: var(--n-color-glass);
196
195
  border-top: 1px solid var(--n-color-border);
197
196
  display: flex;
198
197
  justify-content: flex-end;
199
198
  gap: var(--n-space-4);
200
199
  flex-shrink: 0;
200
+ .n-modal-root {
201
201
  position: fixed;
202
202
  top: 0;
203
203
  left: 0;
204
204
  width: 100vw;
205
205
  height: 100vh;
206
206
  display: flex;
207
207
  align-items: center;
208
208
  justify-content: center;
209
209
  z-index: var(--n-z-modal);
210
210
  position: absolute;
211
211
  top: 0;
212
212
  left: 0;
213
213
  width: 100%;
214
214
  height: 100%;
215
215
  background: var(--n-color-overlay);
216
216
  backdrop-filter: blur(8px);
217
217
  opacity: 0;
218
218
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
219
219
  opacity: 1;
220
220
  position: relative;
221
221
  width: 90%;
222
222
  background: var(--n-color-surface);
223
223
  backdrop-filter: blur(20px);
224
224
  -webkit-backdrop-filter: blur(20px);
225
225
  border: 1px solid var(--n-color-glass-border);
226
226
  border-radius: var(--n-radius-2xl);
227
227
  box-shadow: var(--n-shadow-xl), var(--n-shadow-glow-primary), 0 0 0 1px var(--n-color-glass-border);
228
228
  transform: scale(0.9) translateY(20px);
229
229
  opacity: 0;
230
230
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
231
231
  overflow: hidden;
232
232
  outline: none;
233
233
  max-height: 85vh;
234
234
  display: flex;
235
235
  flex-direction: column;
236
236
  transform: scale(1) translateY(0);
237
237
  opacity: 1;
238
238
  padding: var(--n-space-6) var(--n-space-8);
239
239
  border-bottom: 1px solid var(--n-color-border);
240
240
  display: flex;
241
241
  justify-content: space-between;
242
242
  align-items: center;
243
243
  flex-shrink: 0;
244
244
  margin: 0;
245
245
  font-size: var(--n-text-xl);
246
246
  font-weight: var(--n-weight-bold);
247
247
  color: var(--n-color-text);
248
248
  background: transparent;
249
249
  border: none;
250
250
  color: var(--n-color-text-secondary);
251
251
  font-size: 1.75rem;
252
252
  cursor: pointer;
253
253
  transition: color var(--n-transition-fast) cubic-bezier(0.34, 1.56, 0.64, 1);
254
254
  padding: 0;
255
255
  line-height: 1;
256
256
  width: 44px;
257
257
  height: 44px;
258
258
  display: flex;
259
259
  align-items: center;
260
260
  justify-content: center;
261
261
  border-radius: var(--n-radius-lg);
262
262
  flex-shrink: 0;
263
263
  color: var(--n-color-text);
264
264
  background: var(--n-color-glass-hover);
265
265
  transform: scale(0.95);
266
266
  outline: 2px solid var(--n-color-primary);
267
267
  outline-offset: 2px;
268
268
  padding: var(--n-space-8);
269
269
  color: var(--n-color-text-secondary);
270
270
  overflow-y: auto;
271
271
  overflow-x: hidden;
272
272
  flex: 1;
273
273
  padding: var(--n-space-5) var(--n-space-8);
274
274
  background: var(--n-color-glass);
275
275
  border-top: 1px solid var(--n-color-border);
276
276
  display: flex;
277
277
  justify-content: flex-end;
278
278
  gap: var(--n-space-4);
279
279
  flex-shrink: 0;
280
280
  </style>
@@ -147,7 +147,7 @@ const __style = `.n-paginator[data-v-2f8f305d]{
147
147
  border-radius: var(--n-radius-md);
148
148
  padding: 0.3rem 0.55rem;
149
149
  cursor: pointer;
150
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
150
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
151
151
  display: inline-flex;
152
152
  align-items: center;
153
153
  justify-content: center;
@@ -99,7 +99,7 @@ const end = computed(() => Math.min((safeFirst.value || 0) + (safeRows.value ||
99
99
  border-radius: var(--n-radius-md);
100
100
  padding: 0.3rem 0.55rem;
101
101
  cursor: pointer;
102
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
102
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
103
103
  display: inline-flex;
104
104
  align-items: center;
105
105
  justify-content: center;
@@ -56,7 +56,7 @@ const __style = `.n-radio[data-v-56e32a4f]{
56
56
  display: flex;
57
57
  align-items: center;
58
58
  justify-content: center;
59
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
59
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
60
60
  flex-shrink: 0;
61
61
  }
62
62
  .is-checked .n-radio-circle[data-v-56e32a4f]{
@@ -42,7 +42,7 @@ const select = () => {
42
42
  display: flex;
43
43
  align-items: center;
44
44
  justify-content: center;
45
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
45
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
46
46
  flex-shrink: 0;
47
47
  }
48
48
  .is-checked .n-radio-circle {
@@ -377,15 +377,15 @@ const __style = `.n-select[data-v-2dd8d436]{
377
377
  transform-origin: top center;
378
378
  }
379
379
  @keyframes n-dropdown-in {
380
- from[data-v-2dd8d436]{ opacity: 0; scale(0.98); }
381
- to[data-v-2dd8d436]{ opacity: 1; scale(1); }
380
+ from[data-v-2dd8d436]{ opacity: 0; transform: scale(0.98); }
381
+ to[data-v-2dd8d436]{ opacity: 1; transform: scale(1); }
382
382
  }
383
383
  .n-select-dropdown.is-top[data-v-2dd8d436]{
384
384
  animation: n-dropdown-in-top 0.3s cubic-bezier(0.16, 1, 0.3, 1);
385
385
  }
386
386
  @keyframes n-dropdown-in-top {
387
- from[data-v-2dd8d436]{ opacity: 0; scale(0.98); }
388
- to[data-v-2dd8d436]{ opacity: 1; scale(1); }
387
+ from[data-v-2dd8d436]{ opacity: 0; transform: scale(0.98); }
388
+ to[data-v-2dd8d436]{ opacity: 1; transform: scale(1); }
389
389
  }
390
390
  .n-select-search[data-v-2dd8d436]{
391
391
  padding: var(--n-space-2);
@@ -356,15 +356,15 @@ onBeforeUnmount(() => {
356
356
  transform-origin: top center;
357
357
  }
358
358
  @keyframes n-dropdown-in {
359
- from { opacity: 0; scale(0.98); }
360
- to { opacity: 1; scale(1); }
359
+ from { opacity: 0; transform: scale(0.98); }
360
+ to { opacity: 1; transform: scale(1); }
361
361
  }
362
362
  .n-select-dropdown.is-top {
363
363
  animation: n-dropdown-in-top 0.3s cubic-bezier(0.16, 1, 0.3, 1);
364
364
  }
365
365
  @keyframes n-dropdown-in-top {
366
- from { opacity: 0; scale(0.98); }
367
- to { opacity: 1; scale(1); }
366
+ from { opacity: 0; transform: scale(0.98); }
367
+ to { opacity: 1; transform: scale(1); }
368
368
  }
369
369
  .n-select-search {
370
370
  padding: var(--n-space-2);
@@ -94,7 +94,7 @@ const __style = `.n-tag[data-v-15b3bf49]{
94
94
  margin-left: var(--n-space-1);
95
95
  color: inherit;
96
96
  opacity: 0.5;
97
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
97
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
98
98
  border-radius: var(--n-radius-sm);
99
99
  display: flex;
100
100
  align-items: center;
@@ -76,7 +76,7 @@ const emit = defineEmits(['close'])
76
76
  margin-left: var(--n-space-1);
77
77
  color: inherit;
78
78
  opacity: 0.5;
79
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
79
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
80
80
  border-radius: var(--n-radius-sm);
81
81
  display: flex;
82
82
  align-items: center;
@@ -119,7 +119,7 @@ const __style = `.n-toast-container[data-v-4587cf3e]{
119
119
  box-shadow: var(--n-shadow-lg), 0 8px 32px rgba(0, 0, 0, 0.08);
120
120
  cursor: pointer;
121
121
  animation: n-toast-in 0.35s cubic-bezier(0.16, 1, 0.3, 1);
122
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
122
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
123
123
  backdrop-filter: blur(16px);
124
124
  border-left: 3px solid var(--n-color-border);
125
125
  }
@@ -85,7 +85,7 @@ const positionClass = `is-${props.position.replace('-', '-')}`
85
85
  box-shadow: var(--n-shadow-lg), 0 8px 32px rgba(0, 0, 0, 0.08);
86
86
  cursor: pointer;
87
87
  animation: n-toast-in 0.35s cubic-bezier(0.16, 1, 0.3, 1);
88
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
88
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
89
89
  backdrop-filter: blur(16px);
90
90
  border-left: 3px solid var(--n-color-border);
91
91
  }
@@ -128,7 +128,7 @@ const __style = `.n-tree-menu[data-v-278e8175]{
128
128
  opacity: 0.35;
129
129
  }
130
130
  .n-tree-row[data-v-278e8175]:hover{
131
- background-color: var(--n-color-surface);, color-mix(in srgb, var(--n-color-surface-hover) 85%, var(--n-color-primary) 5%));
131
+ background-color: var(--n-color-surface-hover);
132
132
  }
133
133
  .n-tree-row[data-v-278e8175]:active{
134
134
  background: color-mix(in srgb, var(--n-color-surface-hover) 80%, var(--n-color-text) 5%);
@@ -117,7 +117,7 @@ const toggle = (id, e) => {
117
117
  opacity: 0.35;
118
118
  }
119
119
  .n-tree-row:hover {
120
- background-color: var(--n-color-surface);, color-mix(in srgb, var(--n-color-surface-hover) 85%, var(--n-color-primary) 5%));
120
+ background-color: var(--n-color-surface-hover);
121
121
  }
122
122
  .n-tree-row:active {
123
123
  background: color-mix(in srgb, var(--n-color-surface-hover) 80%, var(--n-color-text) 5%);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexa-ui-kit",
3
- "version": "0.11.8",
3
+ "version": "0.11.9",
4
4
  "description": "Premium component library for Nexa Framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,12 +22,12 @@
22
22
  "src"
23
23
  ],
24
24
  "dependencies": {
25
- "nexa-framework": "0.11.8",
26
- "nexa-mobile": "0.11.8"
25
+ "nexa-framework": "^0.11.9",
26
+ "nexa-mobile": "^0.11.9"
27
27
  },
28
28
  "devDependencies": {
29
- "cpx": "^1.5.0",
30
- "nexa-compiler": "0.11.8"
29
+ "nexa-compiler": "^0.11.9",
30
+ "cpx": "^1.5.0"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "tsc && node scripts/compile-nexa.js && node scripts/patch-imports.js && cpx \"src/**/*.nexa\" dist && cpx \"src/styles/*.css\" dist/styles",
@@ -187,6 +187,23 @@ const handleClick = (e) => {
187
187
  }
188
188
  .n-btn-info:focus-visible { box-shadow: var(--n-ring-info); }
189
189
 
190
+ /* Ghost */
191
+ .n-btn-ghost {
192
+ background-color: transparent;
193
+ color: var(--n-color-text);
194
+ border-color: transparent;
195
+ }
196
+ .n-btn-ghost:hover:not(:disabled) {
197
+ background-color: var(--n-color-surface-hover);
198
+ color: var(--n-color-text);
199
+ }
200
+ .n-btn-ghost:active:not(:disabled), .is-pressed.n-btn-ghost {
201
+ background-color: var(--n-color-border);
202
+ }
203
+ .n-btn-ghost:focus-visible {
204
+ box-shadow: var(--n-ring-surface);
205
+ }
206
+
190
207
  /* Outlined variants */
191
208
  .is-outlined {
192
209
  background-color: transparent !important;
@@ -48,7 +48,7 @@ const handleToggle = () => {
48
48
  user-select: none;
49
49
  padding: 0.5rem 0.75rem;
50
50
  border-radius: var(--n-radius-md);
51
- transition: color var(--n-transition-fast); cubic-bezier(0.16, 1, 0.3, 1);
51
+ transition: color var(--n-transition-fast) cubic-bezier(0.16, 1, 0.3, 1);
52
52
  }
53
53
  .n-checkbox:hover:not(.is-disabled) {
54
54
  background: rgba(99, 102, 241, 0.08);