Skip to content

Commit 85a5509

Browse files
committed
Improve styling
1 parent 12c7010 commit 85a5509

File tree

7 files changed

+222
-44
lines changed

7 files changed

+222
-44
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"dependencies": {
5252
"@carbon/charts-svelte": "^1.22.17",
5353
"@carbon/layout": "^11.29.0",
54+
"@carbon/styles": "^1.75.0",
5455
"@carbon/type": "^11.35.0",
5556
"@cyclonedx/cyclonedx-library": "^7.1.0",
5657
"@ibm/plex": "^6.4.1",

pnpm-lock.yaml

Lines changed: 131 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/components/Bom.svelte

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
import type { Bom } from '$lib/cyclonedx/models';
2+
import type { Bom, Component } from '$lib/cyclonedx/models';
33
import ComponentsTable from '$lib/components/ComponentsTable.svelte';
44
import ComponentsTreeView from '$lib/components/ComponentsTreeView.svelte';
55
import { Button, Tab, TabContent, Tabs, Tile } from 'carbon-components-svelte';
@@ -11,14 +11,17 @@
1111
1212
let { bom = null }: { bom: Bom | null } = $props();
1313
14-
let subjectComponentModalOpened = $state(false);
15-
14+
let selectedComponentForModal: Component | undefined = $state();
1615
let selectedComponentRefInTreeView: string | undefined = $state();
1716
1817
function searchComponentInTreeView(id: string) {
1918
selectedComponentRefInTreeView = id;
2019
}
2120
21+
function showComponentModal(component?: Component) {
22+
selectedComponentForModal = component;
23+
}
24+
2225
let treeData: TreeItem[] | undefined = $derived.by(() => {
2326
if (bom) {
2427
return createTreeDataFromBom(bom);
@@ -28,9 +31,9 @@
2831

2932
{#if bom}
3033
{#if bom.metadata?.component}
31-
<section class="tile">
34+
<section class="subject-tile">
3235
<Tile>
33-
<div class="tile__content">
36+
<div class="subject-tile__content">
3437
<p>
3538
SBOM for <strong>{bom.metadata.component.name}</strong>
3639
</p>
@@ -39,38 +42,40 @@
3942
icon={Document}
4043
iconDescription="Show details"
4144
kind="primary"
42-
on:click={() => (subjectComponentModalOpened = true)}
45+
on:click={() => showComponentModal(bom.metadata?.component)}
4346
/>
4447
</div>
4548
</Tile>
4649
</section>
47-
<ComponentModal component={subjectComponentModalOpened ? bom.metadata.component : undefined} />
4850
{/if}
4951
{#if bom.components}
5052
<section class="tabs">
51-
<Tabs>
53+
<Tabs type="default">
5254
<Tab label="Table" />
5355
<Tab label="Chart" />
5456
<svelte:fragment slot="content">
5557
<TabContent>
5658
{#if treeData}
57-
<div class="treeview">
59+
<div class="tab__tile">
5860
<ComponentsTreeView
5961
nodes={treeData}
6062
selectedComponentRef={selectedComponentRefInTreeView}
6163
/>
6264
</div>
6365
{/if}
64-
<div class="table">
66+
<div class="tab__tile">
6567
<ComponentsTable
6668
components={bom.components}
6769
searchComponent={searchComponentInTreeView}
70+
showComponentDetails={showComponentModal}
6871
/>
6972
</div>
7073
</TabContent>
7174
<TabContent>
7275
{#if treeData}
73-
<ComponentsTreeChart {bom} nodes={treeData} />
76+
<div class="tab__tile">
77+
<ComponentsTreeChart {bom} nodes={treeData} />
78+
</div>
7479
{/if}
7580
</TabContent>
7681
</svelte:fragment>
@@ -79,20 +84,37 @@
7984
{/if}
8085
{/if}
8186

87+
<ComponentModal component={selectedComponentForModal} />
88+
8289
<style lang="scss">
8390
@use '@carbon/layout';
91+
@use '@carbon/styles/scss/theme';
8492
85-
.tile__content {
86-
display: flex;
87-
align-items: center;
88-
gap: layout.$spacing-03;
93+
.subject-tile {
94+
margin-bottom: layout.$spacing-07;
95+
96+
&__content {
97+
display: flex;
98+
align-items: center;
99+
gap: layout.$spacing-03;
100+
}
89101
}
90102
91-
.tile {
92-
margin-bottom: layout.$spacing-07;
103+
:global .bx--tab-content {
104+
background-color: theme.$layer-accent;
105+
padding-left: layout.$spacing-07;
106+
padding-right: layout.$spacing-07;
107+
margin-left: -2rem;
108+
margin-right: -2rem;
109+
margin-bottom: -2rem;
110+
}
111+
112+
.tab__tile {
113+
background-color: theme.$layer-01;
114+
padding: layout.$spacing-05;
93115
}
94116
95-
.treeview {
117+
.tab__tile:first-of-type {
96118
margin-bottom: layout.$spacing-07;
97119
}
98120
</style>

src/lib/components/ComponentModal.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@
1919
<Modal bind:open={componentModelIsOpen} passiveModal modalHeading={componentModalContent.heading}>
2020
{#if componentModalContent.component}
2121
<ComponentInfo component={componentModalContent.component} />
22-
<CodeSnippet type="multi" code={componentModalContent.code} />
22+
<CodeSnippet type="multi" code={componentModalContent.code} expanded />
2323
{/if}
2424
</Modal>

0 commit comments

Comments
 (0)