Skip to content

Commit fa47645

Browse files
authored
feat(environment-action-toolbar): add environment metadata handling and clipboard functionality (#2681)
1 parent 1aa46a6 commit fa47645

4 files changed

Lines changed: 268 additions & 121 deletions

File tree

libs/domains/environments/feature/src/lib/environment-action-toolbar/__snapshots__/environment-action-toolbar.spec.tsx.snap

Lines changed: 108 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -14,64 +14,67 @@ exports[`EnvironmentActionToolbar should match manage deployment snapshot 1`] =
1414
/>
1515
<div
1616
aria-hidden="true"
17-
class="flex items-center gap-2"
1817
data-aria-hidden="true"
1918
>
20-
<button
21-
aria-controls="radix-:r7:"
22-
aria-expanded="true"
23-
aria-haspopup="menu"
24-
aria-label="Manage Deployment"
25-
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-warning-strong text-xs h-7 justify-center px-0 rounded w-7 border border-warning-subtle text-warning hover:border-warning-component hover:bg-surface-warning-subtle data-[state=open]:bg-surface-warning-subtle"
26-
data-state="open"
27-
id="radix-:r6:"
28-
type="button"
19+
<div
20+
class="flex items-center gap-2"
2921
>
30-
<div
31-
class="flex h-full w-full items-center justify-center gap-1.5"
22+
<button
23+
aria-controls="radix-:r7:"
24+
aria-expanded="true"
25+
aria-haspopup="menu"
26+
aria-label="Manage Deployment"
27+
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-warning-strong text-xs h-7 justify-center px-0 rounded w-7 border border-warning-subtle text-warning hover:border-warning-component hover:bg-surface-warning-subtle data-[state=open]:bg-surface-warning-subtle"
28+
data-state="open"
29+
id="radix-:r6:"
30+
type="button"
31+
>
32+
<div
33+
class="flex h-full w-full items-center justify-center gap-1.5"
34+
data-state="closed"
35+
>
36+
<i
37+
aria-hidden="true"
38+
class="fa-regular fa-rocket "
39+
/>
40+
</div>
41+
</button>
42+
<a
43+
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-6 px-1.5 rounded bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral w-7"
3244
data-state="closed"
45+
params="[object Object]"
46+
to="/organization/$organizationId/project/$projectId/environment/$environmentId/service/$serviceId/deployments"
3347
>
3448
<i
3549
aria-hidden="true"
36-
class="fa-regular fa-rocket "
50+
class="fa-regular fa-timeline "
3751
/>
38-
</div>
39-
</button>
40-
<a
41-
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-6 px-1.5 rounded bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral w-7"
42-
data-state="closed"
43-
params="[object Object]"
44-
to="/organization/$organizationId/project/$projectId/environment/$environmentId/service/$serviceId/deployments"
45-
>
46-
<i
47-
aria-hidden="true"
48-
class="fa-regular fa-timeline "
49-
/>
50-
</a>
51-
<button
52-
aria-expanded="false"
53-
aria-haspopup="menu"
54-
aria-label="Other actions"
55-
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-7 justify-center px-0 rounded w-7 bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral"
56-
data-state="closed"
57-
id="radix-:ra:"
58-
type="button"
59-
>
60-
<div
61-
class="flex h-full w-full items-center justify-center"
52+
</a>
53+
<button
54+
aria-expanded="false"
55+
aria-haspopup="menu"
56+
aria-label="Other actions"
57+
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-7 justify-center px-0 rounded w-7 bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral"
6258
data-state="closed"
59+
id="radix-:ra:"
60+
type="button"
6361
>
64-
<i
65-
aria-hidden="true"
66-
class="fa-solid fa-ellipsis-v "
67-
/>
68-
</div>
69-
</button>
62+
<div
63+
class="flex h-full w-full items-center justify-center"
64+
data-state="closed"
65+
>
66+
<i
67+
aria-hidden="true"
68+
class="fa-regular fa-ellipsis-v "
69+
/>
70+
</div>
71+
</button>
72+
</div>
7073
</div>
7174
<div
7275
data-radix-popper-content-wrapper=""
7376
dir="ltr"
74-
style="position: fixed; left: 0px; top: 0px; transform: translate(0px, 8px); min-width: max-content; --radix-popper-available-width: 0px; --radix-popper-available-height: -8px; --radix-popper-anchor-width: 0px; --radix-popper-anchor-height: 0px; --radix-popper-transform-origin: 100% 0px;"
77+
style="position: fixed; left: 0px; top: 0px; transform: translate(0, -200%); min-width: max-content;"
7578
>
7679
<div
7780
aria-labelledby="radix-:r6:"
@@ -85,7 +88,7 @@ exports[`EnvironmentActionToolbar should match manage deployment snapshot 1`] =
8588
dir="ltr"
8689
id="radix-:r7:"
8790
role="menu"
88-
style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); pointer-events: auto;"
91+
style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); animation: none; pointer-events: auto;"
8992
tabindex="-1"
9093
>
9194
<div
@@ -198,64 +201,67 @@ exports[`EnvironmentActionToolbar should match other actions snapshot 1`] = `
198201
/>
199202
<div
200203
aria-hidden="true"
201-
class="flex items-center gap-2"
202204
data-aria-hidden="true"
203205
>
204-
<button
205-
aria-expanded="false"
206-
aria-haspopup="menu"
207-
aria-label="Manage Deployment"
208-
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-warning-strong text-xs h-7 justify-center px-0 rounded w-7 border border-warning-subtle text-warning hover:border-warning-component hover:bg-surface-warning-subtle data-[state=open]:bg-surface-warning-subtle"
209-
data-state="closed"
210-
id="radix-:rq:"
211-
type="button"
206+
<div
207+
class="flex items-center gap-2"
212208
>
213-
<div
214-
class="flex h-full w-full items-center justify-center gap-1.5"
209+
<button
210+
aria-expanded="false"
211+
aria-haspopup="menu"
212+
aria-label="Manage Deployment"
213+
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-warning-strong text-xs h-7 justify-center px-0 rounded w-7 border border-warning-subtle text-warning hover:border-warning-component hover:bg-surface-warning-subtle data-[state=open]:bg-surface-warning-subtle"
215214
data-state="closed"
215+
id="radix-:rq:"
216+
type="button"
216217
>
217-
<i
218-
aria-hidden="true"
219-
class="fa-regular fa-rocket "
220-
/>
221-
</div>
222-
</button>
223-
<a
224-
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-6 px-1.5 rounded bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral w-7"
225-
data-state="closed"
226-
params="[object Object]"
227-
to="/organization/$organizationId/project/$projectId/environment/$environmentId/service/$serviceId/deployments"
228-
>
229-
<i
230-
aria-hidden="true"
231-
class="fa-regular fa-timeline "
232-
/>
233-
</a>
234-
<button
235-
aria-controls="radix-:rv:"
236-
aria-expanded="true"
237-
aria-haspopup="menu"
238-
aria-label="Other actions"
239-
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-7 justify-center px-0 rounded w-7 bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral"
240-
data-state="open"
241-
id="radix-:ru:"
242-
type="button"
243-
>
244-
<div
245-
class="flex h-full w-full items-center justify-center"
218+
<div
219+
class="flex h-full w-full items-center justify-center gap-1.5"
220+
data-state="closed"
221+
>
222+
<i
223+
aria-hidden="true"
224+
class="fa-regular fa-rocket "
225+
/>
226+
</div>
227+
</button>
228+
<a
229+
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-6 px-1.5 rounded bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral w-7"
246230
data-state="closed"
231+
params="[object Object]"
232+
to="/organization/$organizationId/project/$projectId/environment/$environmentId/service/$serviceId/deployments"
247233
>
248234
<i
249235
aria-hidden="true"
250-
class="fa-solid fa-ellipsis-v "
236+
class="fa-regular fa-timeline "
251237
/>
252-
</div>
253-
</button>
238+
</a>
239+
<button
240+
aria-controls="radix-:rv:"
241+
aria-expanded="true"
242+
aria-haspopup="menu"
243+
aria-label="Other actions"
244+
class="inline-flex items-center shrink-0 font-medium transition-[background-color,transform] active:scale-[0.97] disabled:scale-100 disabled:pointer-events-none disabled:border disabled:border-neutral disabled:text-neutral-disabled disabled:bg-surface-neutral-component focus-visible:[&:not(:active)]:outline-2 outline-0 select-none outline-neutral-strong text-xs h-7 justify-center px-0 rounded w-7 bg-surface-neutral border border-neutral hover:border-neutral-component hover:bg-surface-neutral-subtle data-[state=open]:bg-surface-neutral-subtle text-neutral"
245+
data-state="open"
246+
id="radix-:ru:"
247+
type="button"
248+
>
249+
<div
250+
class="flex h-full w-full items-center justify-center"
251+
data-state="closed"
252+
>
253+
<i
254+
aria-hidden="true"
255+
class="fa-regular fa-ellipsis-v "
256+
/>
257+
</div>
258+
</button>
259+
</div>
254260
</div>
255261
<div
256262
data-radix-popper-content-wrapper=""
257263
dir="ltr"
258-
style="position: fixed; left: 0px; top: 0px; transform: translate(0px, 8px); min-width: max-content; --radix-popper-available-width: 0px; --radix-popper-available-height: -8px; --radix-popper-anchor-width: 0px; --radix-popper-anchor-height: 0px; --radix-popper-transform-origin: 0% 0px;"
264+
style="position: fixed; left: 0px; top: 0px; transform: translate(0, -200%); min-width: max-content;"
259265
>
260266
<div
261267
aria-labelledby="radix-:ru:"
@@ -269,7 +275,7 @@ exports[`EnvironmentActionToolbar should match other actions snapshot 1`] = `
269275
dir="ltr"
270276
id="radix-:rv:"
271277
role="menu"
272-
style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); pointer-events: auto;"
278+
style="outline: none; --radix-dropdown-menu-content-transform-origin: var(--radix-popper-transform-origin); --radix-dropdown-menu-content-available-width: var(--radix-popper-available-width); --radix-dropdown-menu-content-available-height: var(--radix-popper-available-height); --radix-dropdown-menu-trigger-width: var(--radix-popper-anchor-width); --radix-dropdown-menu-trigger-height: var(--radix-popper-anchor-height); animation: none; pointer-events: auto;"
273279
tabindex="-1"
274280
>
275281
<a
@@ -297,9 +303,9 @@ exports[`EnvironmentActionToolbar should match other actions snapshot 1`] = `
297303
>
298304
<i
299305
aria-hidden="true"
300-
class="fa-regular fa-copy text-sm mr-2 min-w-5 text-brand"
306+
class="fa-regular fa-file-export text-sm mr-2 min-w-5 text-brand"
301307
/>
302-
Copy identifier
308+
Export as Terraform
303309
</div>
304310
<div
305311
class="px-3 flex items-center h-8 text-sm font-medium outline-none select-none rounded data-[highlighted]:bg-surface-brand-component data-[highlighted]:text-brand hover:bg-surface-brand-component hover:text-brand cursor-pointer text-neutral"
@@ -310,22 +316,27 @@ exports[`EnvironmentActionToolbar should match other actions snapshot 1`] = `
310316
>
311317
<i
312318
aria-hidden="true"
313-
class="fa-regular fa-file-export text-sm mr-2 min-w-5 text-brand"
319+
class="fa-regular fa-copy text-sm mr-2 min-w-5 text-brand"
314320
/>
315-
Export as Terraform
321+
Clone
316322
</div>
317323
<div
318-
class="px-3 flex items-center h-8 text-sm font-medium outline-none select-none rounded data-[highlighted]:bg-surface-brand-component data-[highlighted]:text-brand hover:bg-surface-brand-component hover:text-brand cursor-pointer text-neutral"
324+
aria-controls="radix-:r14:"
325+
aria-expanded="false"
326+
aria-haspopup="menu"
327+
class="px-3 flex items-center h-8 text-sm font-medium outline-none select-none rounded data-[highlighted]:bg-surface-brand-component data-[highlighted]:text-brand hover:bg-surface-brand-component hover:text-brand cursor-pointer text-neutral data-[state=open]:bg-surface-brand-component data-[state=open]:text-brand"
319328
data-orientation="vertical"
320329
data-radix-collection-item=""
330+
data-state="closed"
331+
id="radix-:r15:"
321332
role="menuitem"
322333
tabindex="-1"
323334
>
324335
<i
325336
aria-hidden="true"
326-
class="fa-regular fa-copy text-sm mr-2 min-w-5 text-brand"
337+
class="fa-regular fa-circle-info text-sm mr-2 min-w-5 text-brand"
327338
/>
328-
Clone
339+
Environment metadata
329340
</div>
330341
<div
331342
aria-orientation="horizontal"

0 commit comments

Comments
 (0)