@platformatic/ui-components 0.1.123 → 0.1.124
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/package.json
CHANGED
|
@@ -40,95 +40,100 @@ function Sidebar (props) {
|
|
|
40
40
|
|
|
41
41
|
return (
|
|
42
42
|
<div className={`${styles.container} ${collapsed && styles.collapsed}`}>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
<div className={styles.titleCollapsed} data-testid='lateral-bar-title'>
|
|
59
|
-
{title}
|
|
60
|
-
</div>
|
|
61
|
-
<HorizontalSeparator marginBottom={0} marginTop={0} />
|
|
62
|
-
<div className={styles.bottom}>
|
|
63
|
-
<button type='button' className={styles.buttonSettings} onClick={onClickSettings}>
|
|
64
|
-
<Icons.GearIcon color='white' size='large' />
|
|
65
|
-
</button>
|
|
66
|
-
</div>
|
|
67
|
-
</>
|
|
68
|
-
)
|
|
69
|
-
: (
|
|
70
|
-
<>
|
|
71
|
-
<ButtonFullRounded
|
|
72
|
-
className={buttonFullRoundedClassName}
|
|
73
|
-
iconName='CircleArrowLeftIcon'
|
|
74
|
-
iconSize={MEDIUM}
|
|
75
|
-
iconColor={WHITE}
|
|
76
|
-
hoverEffect={BACKGROUND_COLOR_OPAQUE}
|
|
77
|
-
onClick={() => { setCollapsed(true) }}
|
|
78
|
-
bordered={false}
|
|
79
|
-
/>
|
|
80
|
-
<div className={styles.title} data-testid='lateral-bar-title'>
|
|
81
|
-
{title}
|
|
82
|
-
</div>
|
|
83
|
-
<div className={styles.items} data-test-id='lateral-bar-items'>
|
|
84
|
-
{items.map(item => {
|
|
85
|
-
const isSelected = selectedItem === item.id
|
|
86
|
-
return (
|
|
87
|
-
<React.Fragment key={item.id}>
|
|
88
|
-
<button className={`${styles.buttonItem} ${collapsed && styles.buttonItemCollapsed}`} type='button' onClick={() => onClickItemSelected(item)}>
|
|
89
|
-
{item.iconName && (<PlatformaticIcon
|
|
90
|
-
iconName={item.iconName}
|
|
91
|
-
color={isSelected ? 'main-green' : 'white'}
|
|
92
|
-
tip={item.title}
|
|
93
|
-
size='medium'
|
|
94
|
-
/>)}
|
|
95
|
-
<div className={`${styles.item} ${isSelected ? styles.itemSelected : ''}`}>
|
|
96
|
-
<span className={styles.itemSubTitle}>{item.subTitle}</span>
|
|
97
|
-
<span className={styles.itemTitle}>{item.title}</span>
|
|
98
|
-
</div>
|
|
99
|
-
</button>
|
|
100
|
-
<ReactTooltip place='top' type='info' />
|
|
101
|
-
</React.Fragment>
|
|
102
|
-
)
|
|
103
|
-
})}
|
|
104
|
-
<button className={`${styles.buttonCreate} ${collapsed && styles.buttonItemCollapsed} ${disabledCreateButton} ${!disableClickAdd && styles.hoverSemibold}`} onClick={onClickAdd} disabled={disableClickAdd}>
|
|
105
|
-
<PlatformaticIcon
|
|
106
|
-
iconName='CircleAddIcon'
|
|
107
|
-
color='white'
|
|
108
|
-
size='medium'
|
|
109
|
-
tip={addTitle}
|
|
110
|
-
onClick={null}
|
|
111
|
-
/>
|
|
112
|
-
{!collapsed && <span className={styles.item}>{addTitle}</span>}
|
|
43
|
+
<div>
|
|
44
|
+
{collapsed
|
|
45
|
+
? (
|
|
46
|
+
<>
|
|
47
|
+
<ButtonFullRounded
|
|
48
|
+
className={buttonFullRoundedClassName}
|
|
49
|
+
iconName='CircleArrowRightIcon'
|
|
50
|
+
iconSize={MEDIUM}
|
|
51
|
+
iconColor={WHITE}
|
|
52
|
+
hoverEffect={BACKGROUND_COLOR_OPAQUE}
|
|
53
|
+
onClick={() => { setCollapsed(false) }}
|
|
54
|
+
bordered={false}
|
|
55
|
+
/>
|
|
56
|
+
<button type='button' className={styles.buttonExpand} onClick={() => { setCollapsed(false) }}>
|
|
57
|
+
<Icons.WorkspaceStaticIcon color='white' size='large' />
|
|
113
58
|
</button>
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
59
|
+
<div className={styles.titleCollapsed} data-testid='lateral-bar-title'>
|
|
60
|
+
{title}
|
|
61
|
+
</div>
|
|
62
|
+
<HorizontalSeparator marginBottom={0} marginTop={0} />
|
|
63
|
+
</>
|
|
64
|
+
)
|
|
65
|
+
: (
|
|
66
|
+
<>
|
|
67
|
+
<ButtonFullRounded
|
|
68
|
+
className={buttonFullRoundedClassName}
|
|
69
|
+
iconName='CircleArrowLeftIcon'
|
|
70
|
+
iconSize={MEDIUM}
|
|
71
|
+
iconColor={WHITE}
|
|
127
72
|
hoverEffect={BACKGROUND_COLOR_OPAQUE}
|
|
73
|
+
onClick={() => { setCollapsed(true) }}
|
|
74
|
+
bordered={false}
|
|
128
75
|
/>
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
76
|
+
<div className={styles.title} data-testid='lateral-bar-title'>
|
|
77
|
+
{title}
|
|
78
|
+
</div>
|
|
79
|
+
<div className={styles.items} data-test-id='lateral-bar-items'>
|
|
80
|
+
{items.map(item => {
|
|
81
|
+
const isSelected = selectedItem === item.id
|
|
82
|
+
return (
|
|
83
|
+
<React.Fragment key={item.id}>
|
|
84
|
+
<button className={`${styles.buttonItem} ${collapsed && styles.buttonItemCollapsed}`} type='button' onClick={() => onClickItemSelected(item)}>
|
|
85
|
+
{item.iconName && (<PlatformaticIcon
|
|
86
|
+
iconName={item.iconName}
|
|
87
|
+
color={isSelected ? 'main-green' : 'white'}
|
|
88
|
+
tip={item.title}
|
|
89
|
+
size='medium'
|
|
90
|
+
/>)}
|
|
91
|
+
<div className={`${styles.item} ${isSelected ? styles.itemSelected : ''}`}>
|
|
92
|
+
<span className={styles.itemSubTitle}>{item.subTitle}</span>
|
|
93
|
+
<span className={styles.itemTitle}>{item.title}</span>
|
|
94
|
+
</div>
|
|
95
|
+
</button>
|
|
96
|
+
<ReactTooltip place='top' type='info' />
|
|
97
|
+
</React.Fragment>
|
|
98
|
+
)
|
|
99
|
+
})}
|
|
100
|
+
<button className={`${styles.buttonCreate} ${collapsed && styles.buttonItemCollapsed} ${disabledCreateButton} ${!disableClickAdd && styles.hoverSemibold}`} onClick={onClickAdd} disabled={disableClickAdd}>
|
|
101
|
+
<PlatformaticIcon
|
|
102
|
+
iconName='CircleAddIcon'
|
|
103
|
+
color='white'
|
|
104
|
+
size='medium'
|
|
105
|
+
tip={addTitle}
|
|
106
|
+
onClick={null}
|
|
107
|
+
/>
|
|
108
|
+
{!collapsed && <span className={styles.item}>{addTitle}</span>}
|
|
109
|
+
</button>
|
|
110
|
+
</div>
|
|
111
|
+
<HorizontalSeparator marginBottom={2} marginTop={2} />
|
|
112
|
+
</>
|
|
113
|
+
)}
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<div>
|
|
117
|
+
{collapsed
|
|
118
|
+
? (
|
|
119
|
+
<button type='button' className={styles.buttonSettings} onClick={onClickSettings}>
|
|
120
|
+
<Icons.GearIcon color='white' size='large' />
|
|
121
|
+
</button>
|
|
122
|
+
)
|
|
123
|
+
: (
|
|
124
|
+
<Button
|
|
125
|
+
label={labelButtonSettings}
|
|
126
|
+
color={WHITE}
|
|
127
|
+
onClick={onClickSettings}
|
|
128
|
+
platformaticIcon={{ iconName: 'GearIcon', color: WHITE }}
|
|
129
|
+
fullWidth
|
|
130
|
+
bold
|
|
131
|
+
size={MEDIUM}
|
|
132
|
+
disabled={disableClickSettings}
|
|
133
|
+
hoverEffect={BACKGROUND_COLOR_OPAQUE}
|
|
134
|
+
/>
|
|
135
|
+
)}
|
|
136
|
+
</div>
|
|
132
137
|
</div>
|
|
133
138
|
)
|
|
134
139
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
.container {
|
|
2
|
-
@apply max-w-[216px] w-full p-4 border border-white rounded-md h-auto relative min-h-[80vh] z-10 bg-dark-blue;
|
|
2
|
+
@apply max-w-[216px] w-full p-4 border border-white rounded-md h-auto relative min-h-[80vh] z-10 bg-dark-blue flex flex-col gap-y-6 justify-between;
|
|
3
3
|
transition: max-width 0.2s linear;
|
|
4
4
|
}
|
|
5
|
+
.content {
|
|
6
|
+
@apply flex flex-col justify-between
|
|
7
|
+
}
|
|
5
8
|
.collapsed {
|
|
6
9
|
@apply max-w-[96px] text-center;
|
|
7
10
|
}
|
|
@@ -54,9 +57,6 @@
|
|
|
54
57
|
.items {
|
|
55
58
|
@apply flex flex-col gap-y-4;
|
|
56
59
|
}
|
|
57
|
-
.bottom {
|
|
58
|
-
@apply absolute left-0 bottom-[1rem] w-full px-4;
|
|
59
|
-
}
|
|
60
60
|
.titleSettings {
|
|
61
61
|
@apply text-white font-semibold ml-3;
|
|
62
62
|
}
|