Skip to content

Commit fb8a4a8

Browse files
authored
Merge branch 'npmx-dev:main' into main
2 parents 5266eb8 + 3501d9c commit fb8a4a8

9 files changed

Lines changed: 42 additions & 41 deletions

app/components/CodeMobileTreeDrawer.vue

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ watch(isOpen, open => (isLocked.value = open))
2727
<!-- Toggle button (mobile only) -->
2828
<button
2929
type="button"
30-
class="md:hidden fixed bottom-4 right-4 z-40 w-12 h-12 bg-bg-elevated border border-border rounded-full shadow-lg flex items-center justify-center text-fg-muted hover:text-fg transition-colors"
30+
class="md:hidden fixed bottom-4 inset-ie-4 z-40 w-12 h-12 bg-bg-elevated border border-border rounded-full shadow-lg flex items-center justify-center text-fg-muted hover:text-fg transition-colors"
3131
:aria-label="$t('code.toggle_tree')"
3232
@click="isOpen = !isOpen"
3333
>
34-
<span class="w-5 h-5" :class="isOpen ? 'i-carbon-close' : 'i-carbon-folder'" />
34+
<span class="w-5 h-5" :class="isOpen ? 'i-carbon:close' : 'i-carbon:folder'" />
3535
</button>
3636

3737
<!-- Backdrop -->
@@ -57,19 +57,20 @@ watch(isOpen, open => (isLocked.value = open))
5757
>
5858
<aside
5959
v-if="isOpen"
60-
class="md:hidden fixed inset-y-0 left-0 z-50 w-72 bg-bg-subtle border-r border-border overflow-y-auto"
60+
class="md:hidden fixed inset-y-0 inset-is-0 z-50 w-72 bg-bg-subtle border-ie border-border overflow-y-auto"
6161
>
6262
<div
63-
class="sticky top-0 bg-bg-subtle border-b border-border px-4 py-3 flex items-center justify-between"
63+
class="sticky top-0 bg-bg-subtle border-b border-border px-4 py-3 flex items-center justify-start"
6464
>
6565
<span class="font-mono text-sm text-fg-muted">{{ $t('code.files_label') }}</span>
66+
<span aria-hidden="true" class="flex-shrink-1 flex-grow-1" />
6667
<button
6768
type="button"
6869
class="text-fg-muted hover:text-fg transition-colors"
6970
:aria-label="$t('code.close_tree')"
7071
@click="isOpen = false"
7172
>
72-
<span class="i-carbon-close w-5 h-5" />
73+
<span class="i-carbon:close w-5 h-5" />
7374
</button>
7475
</div>
7576
<CodeFileTree :tree="tree" :current-path="currentPath" :base-url="baseUrl" />

app/components/CodeViewer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ watch(
5858
<div class="code-viewer flex min-h-full">
5959
<!-- Line numbers column -->
6060
<div
61-
class="line-numbers shrink-0 bg-bg-subtle border-r border-border text-right select-none"
61+
class="line-numbers shrink-0 bg-bg-subtle border-ie border-border text-end select-none"
6262
aria-hidden="true"
6363
>
6464
<a

app/components/ConnectorModal.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ watch(open, isOpen => {
8282
:aria-label="$t('common.close')"
8383
@click="open = false"
8484
>
85-
<span class="i-carbon-close block w-5 h-5" aria-hidden="true" />
85+
<span class="i-carbon:close block w-5 h-5" aria-hidden="true" />
8686
</button>
8787
</div>
8888

@@ -124,19 +124,19 @@ watch(open, isOpen => {
124124
class="flex items-center p-3 bg-bg-muted border border-border rounded-lg font-mono text-sm"
125125
>
126126
<span class="text-fg-subtle">$</span>
127-
<span class="text-fg-subtle ml-2">{{ executeNpmxConnectorCommand }}</span>
127+
<span class="text-fg-subtle ms-2">{{ executeNpmxConnectorCommand }}</span>
128128
<button
129129
type="button"
130130
:aria-label="
131131
copied ? $t('connector.modal.copied') : $t('connector.modal.copy_command')
132132
"
133-
class="ml-auto text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 rounded"
133+
class="ms-auto text-fg-subtle hover:text-fg transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 rounded"
134134
@click="copyCommand"
135135
>
136-
<span v-if="!copied" class="i-carbon-copy block w-5 h-5" aria-hidden="true" />
136+
<span v-if="!copied" class="i-carbon:copy block w-5 h-5" aria-hidden="true" />
137137
<span
138138
v-else
139-
class="i-carbon-checkmark block w-5 h-5 text-green-500"
139+
class="i-carbon:checkmark block w-5 h-5 text-green-500"
140140
aria-hidden="true"
141141
/>
142142
</button>

app/components/ConnectorStatus.client.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ const ariaLabel = computed(() => {
7575
<!-- Operation count badge (overlaid) -->
7676
<span
7777
v-if="isConnected && operationCount > 0"
78-
class="absolute -top-0.5 -right-0.5 min-w-[1rem] h-4 px-1 flex items-center justify-center font-mono text-[10px] rounded-full"
78+
class="absolute -top-0.5 -inset-ie-0.5 min-w-[1rem] h-4 px-1 flex items-center justify-center font-mono text-[10px] rounded-full"
7979
:class="hasPendingOperations ? 'bg-yellow-500 text-black' : 'bg-blue-500 text-white'"
8080
aria-hidden="true"
8181
>
@@ -93,7 +93,7 @@ const ariaLabel = computed(() => {
9393
<div
9494
v-if="showTooltip"
9595
role="tooltip"
96-
class="absolute right-0 top-full mt-2 px-2 py-1 font-mono text-xs text-fg bg-bg-elevated border border-border rounded shadow-lg whitespace-nowrap z-50"
96+
class="absolute inset-ie-0 top-full mt-2 px-2 py-1 font-mono text-xs text-fg bg-bg-elevated border border-border rounded shadow-lg whitespace-nowrap z-50"
9797
>
9898
{{ tooltipText }}
9999
</div>

app/components/DependencyPathPopup.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ function parsePackageString(pkg: string): { name: string; version: string } {
7171
:aria-expanded="isOpen"
7272
@click.stop="togglePopup"
7373
>
74-
<span class="i-carbon-tree-view w-3 h-3" aria-hidden="true" />
74+
<span class="i-carbon:tree-view w-3 h-3" aria-hidden="true" />
7575
<span>{{ $t('package.vulnerabilities.path') }}</span>
7676
</button>
7777

@@ -89,7 +89,7 @@ function parsePackageString(pkg: string): { name: string; version: string } {
8989
class="font-mono text-xs"
9090
:style="{ paddingLeft: `${idx * 12}px` }"
9191
>
92-
<span v-if="idx > 0" class="text-fg-subtle mr-1">└─</span>
92+
<span v-if="idx > 0" class="text-fg-subtle me-1">└─</span>
9393
<NuxtLink
9494
:to="{
9595
name: 'package',
@@ -107,7 +107,7 @@ function parsePackageString(pkg: string): { name: string; version: string } {
107107
>
108108
{{ pathItem }}
109109
</NuxtLink>
110-
<span v-if="idx === path.length - 1" class="ml-1 text-amber-500">⚠</span>
110+
<span v-if="idx === path.length - 1" class="ms-1 text-amber-500">⚠</span>
111111
</li>
112112
</ul>
113113
</div>

app/components/HeaderOrgsDropdown.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ function handleKeydown(event: KeyboardEvent) {
7575
enter-from-class="opacity-0 translate-y-1"
7676
leave-to-class="opacity-0 translate-y-1"
7777
>
78-
<div v-if="isOpen" class="absolute right-0 top-full pt-2 w-56 z-50">
78+
<div v-if="isOpen" class="absolute inset-ie-0 top-full pt-2 w-56 z-50">
7979
<div class="bg-bg-elevated border border-border rounded-lg shadow-lg overflow-hidden">
8080
<div class="px-3 py-2 border-b border-border">
8181
<span class="font-mono text-xs text-fg-subtle">{{
@@ -112,7 +112,7 @@ function handleKeydown(event: KeyboardEvent) {
112112
class="link-subtle font-mono text-xs inline-flex items-center gap-1"
113113
>
114114
{{ $t('header.orgs_dropdown.view_all') }}
115-
<span class="i-carbon-arrow-right w-3 h-3" aria-hidden="true" />
115+
<span class="i-carbon:arrow-right rtl-flip w-3 h-3" aria-hidden="true" />
116116
</NuxtLink>
117117
</div>
118118
</div>

app/components/HeaderPackagesDropdown.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ function handleKeydown(event: KeyboardEvent) {
7575
enter-from-class="opacity-0 translate-y-1"
7676
leave-to-class="opacity-0 translate-y-1"
7777
>
78-
<div v-if="isOpen" class="absolute right-0 top-full pt-2 w-64 z-50">
78+
<div v-if="isOpen" class="absolute inset-ie-0 top-full pt-2 w-64 z-50">
7979
<div class="bg-bg-elevated border border-border rounded-lg shadow-lg overflow-hidden">
8080
<div class="px-3 py-2 border-b border-border">
8181
<span class="font-mono text-xs text-fg-subtle">{{
@@ -112,7 +112,7 @@ function handleKeydown(event: KeyboardEvent) {
112112
class="link-subtle font-mono text-xs inline-flex items-center gap-1"
113113
>
114114
{{ $t('header.packages_dropdown.view_all') }}
115-
<span class="i-carbon-arrow-right w-3 h-3" aria-hidden="true" />
115+
<span class="i-carbon:arrow-right rtl-flip w-3 h-3" aria-hidden="true" />
116116
</NuxtLink>
117117
</div>
118118
</div>

app/components/OperationsQueue.vue

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -88,17 +88,17 @@ function getStatusColor(status: string): string {
8888
function getStatusIcon(status: string): string {
8989
switch (status) {
9090
case 'pending':
91-
return 'i-carbon-time'
91+
return 'i-carbon:time'
9292
case 'approved':
93-
return 'i-carbon-checkmark'
93+
return 'i-carbon:checkmark'
9494
case 'running':
95-
return 'i-carbon-rotate-180'
95+
return 'i-carbon:rotate-180'
9696
case 'completed':
97-
return 'i-carbon-checkmark-filled'
97+
return 'i-carbon:checkmark-filled'
9898
case 'failed':
99-
return 'i-carbon-close-filled'
99+
return 'i-carbon:close-filled'
100100
default:
101-
return 'i-carbon-help'
101+
return 'i-carbon:help'
102102
}
103103
}
104104
@@ -141,7 +141,7 @@ watch(isExecuting, executing => {
141141
:aria-label="$t('operations.queue.refresh')"
142142
@click="refreshState"
143143
>
144-
<span class="i-carbon-renew block w-4 h-4" aria-hidden="true" />
144+
<span class="i-carbon:renew block w-4 h-4" aria-hidden="true" />
145145
</button>
146146
</div>
147147
</div>
@@ -213,7 +213,7 @@ watch(isExecuting, executing => {
213213
:aria-label="$t('operations.queue.approve_operation')"
214214
@click="approveOperation(op.id)"
215215
>
216-
<span class="i-carbon-checkmark block w-4 h-4" aria-hidden="true" />
216+
<span class="i-carbon:checkmark block w-4 h-4" aria-hidden="true" />
217217
</button>
218218
<button
219219
v-if="op.status !== 'running'"
@@ -235,7 +235,7 @@ watch(isExecuting, executing => {
235235
role="alert"
236236
>
237237
<div class="flex items-center gap-2 mb-2">
238-
<span class="i-carbon-locked block w-4 h-4 text-amber-400 shrink-0" aria-hidden="true" />
238+
<span class="i-carbon:locked block w-4 h-4 text-amber-400 shrink-0" aria-hidden="true" />
239239
<span class="font-mono text-sm text-amber-400">
240240
{{ $t('operations.queue.otp_prompt') }}
241241
</span>
@@ -295,7 +295,7 @@ watch(isExecuting, executing => {
295295
class="flex items-center gap-2 font-mono text-xs text-fg-muted cursor-pointer hover:text-fg transition-colors duration-200 select-none"
296296
>
297297
<span
298-
class="i-carbon-chevron-right block w-3 h-3 transition-transform duration-200 [[open]>&]:rotate-90"
298+
class="i-carbon:chevron-right rtl-flip block w-3 h-3 transition-transform duration-200 [[open]>&]:rotate-90"
299299
aria-hidden="true"
300300
/>
301301
{{ $t('operations.queue.log') }} ({{ completedOperations.length }})
@@ -310,8 +310,8 @@ watch(isExecuting, executing => {
310310
<span
311311
:class="
312312
op.status === 'completed'
313-
? 'i-carbon-checkmark-filled text-green-500'
314-
: 'i-carbon-close-filled text-red-500'
313+
? 'i-carbon:checkmark-filled text-green-500'
314+
: 'i-carbon:close-filled text-red-500'
315315
"
316316
class="w-3.5 h-3.5 shrink-0 mt-0.5"
317317
aria-hidden="true"
@@ -331,7 +331,7 @@ watch(isExecuting, executing => {
331331
:aria-label="$t('operations.queue.remove_from_log')"
332332
@click="removeOperation(op.id)"
333333
>
334-
<span class="i-carbon-close block w-3 h-3" aria-hidden="true" />
334+
<span class="i-carbon:close block w-3 h-3" aria-hidden="true" />
335335
</button>
336336
</li>
337337
</ul>

app/components/OrgMembersPanel.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ watch(lastExecutionTime, () => {
294294
<!-- Header -->
295295
<div class="flex items-center justify-between p-4 border-b border-border">
296296
<h2 id="members-heading" class="font-mono text-sm font-medium flex items-center gap-2">
297-
<span class="i-carbon-user-multiple w-4 h-4 text-fg-muted" aria-hidden="true" />
297+
<span class="i-carbon:user-multiple w-4 h-4 text-fg-muted" aria-hidden="true" />
298298
{{ $t('org.members.title') }}
299299
<span v-if="memberList.length > 0" class="text-fg-muted">({{ memberList.length }})</span>
300300
</h2>
@@ -306,7 +306,7 @@ watch(lastExecutionTime, () => {
306306
@click="refreshData"
307307
>
308308
<span
309-
class="i-carbon-renew block w-4 h-4"
309+
class="i-carbon:renew block w-4 h-4"
310310
:class="{ 'motion-safe:animate-spin': isLoading || isLoadingTeams }"
311311
aria-hidden="true"
312312
/>
@@ -317,7 +317,7 @@ watch(lastExecutionTime, () => {
317317
<div class="flex flex-wrap items-center gap-2 p-3 border-b border-border bg-bg">
318318
<div class="flex-1 min-w-[150px] relative">
319319
<span
320-
class="absolute left-2 top-1/2 -translate-y-1/2 i-carbon-search w-3.5 h-3.5 text-fg-subtle"
320+
class="absolute inset-is-2 top-1/2 -translate-y-1/2 i-carbon:search w-3.5 h-3.5 text-fg-subtle"
321321
aria-hidden="true"
322322
/>
323323
<label for="members-search" class="sr-only">{{ $t('org.members.filter_label') }}</label>
@@ -328,7 +328,7 @@ watch(lastExecutionTime, () => {
328328
name="members-search"
329329
:placeholder="$t('org.members.filter_placeholder')"
330330
v-bind="noCorrect"
331-
class="w-full pl-7 pr-2 py-1.5 font-mono text-sm bg-bg-subtle border border-border rounded text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
331+
class="w-full ps-7 pe-2 py-1.5 font-mono text-sm bg-bg-subtle border border-border rounded text-fg placeholder:text-fg-subtle transition-colors duration-200 focus:border-border-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50"
332332
/>
333333
</div>
334334
<div
@@ -395,7 +395,7 @@ watch(lastExecutionTime, () => {
395395
<!-- Loading state -->
396396
<div v-if="isLoading && memberList.length === 0" class="p-8 text-center">
397397
<span
398-
class="i-carbon-rotate-180 block w-5 h-5 text-fg-muted animate-spin mx-auto"
398+
class="i-carbon:rotate-180 block w-5 h-5 text-fg-muted animate-spin mx-auto"
399399
aria-hidden="true"
400400
/>
401401
<p class="font-mono text-sm text-fg-muted mt-2">{{ $t('org.members.loading') }}</p>
@@ -474,12 +474,12 @@ watch(lastExecutionTime, () => {
474474
:aria-label="$t('org.members.remove_from_org', { name: member.name })"
475475
@click="handleRemoveMember(member.name)"
476476
>
477-
<span class="i-carbon-close block w-4 h-4" aria-hidden="true" />
477+
<span class="i-carbon:close block w-4 h-4" aria-hidden="true" />
478478
</button>
479479
</div>
480480
</div>
481481
<!-- Team badges -->
482-
<div v-if="member.teams.length > 0" class="flex flex-wrap gap-1 pl-0">
482+
<div v-if="member.teams.length > 0" class="flex flex-wrap gap-1 ps-0">
483483
<button
484484
v-for="team in member.teams"
485485
:key="team"
@@ -553,7 +553,7 @@ watch(lastExecutionTime, () => {
553553
:aria-label="$t('org.members.cancel_add')"
554554
@click="showAddMember = false"
555555
>
556-
<span class="i-carbon-close block w-4 h-4" aria-hidden="true" />
556+
<span class="i-carbon:close block w-4 h-4" aria-hidden="true" />
557557
</button>
558558
</div>
559559
</form>

0 commit comments

Comments
 (0)