@moises.ai/design-system 3.10.18 → 3.11.1
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/dist/{Play1Icon-DsUtkWM6.js → ChevronDownFilledIcon-C2hb_0Wr.js} +1824 -1799
- package/dist/icons.js +537 -535
- package/dist/index.js +3623 -3484
- package/package.json +1 -1
- package/src/components/TrackControlsToggle/TrackControlsToggle.jsx +55 -0
- package/src/components/TrackControlsToggle/TrackControlsToggle.module.css +44 -0
- package/src/components/TrackControlsToggle/TrackControlsToggle.stories.jsx +156 -0
- package/src/components/TrackHeader/TrackHeader.jsx +158 -66
- package/src/components/TrackHeader/TrackHeader.module.css +83 -36
- package/src/components/TrackHeader/TrackHeader.stories.jsx +45 -25
- package/src/icons/ChevronDownFilledIcon.jsx +17 -0
- package/src/icons/ChevronRightFilledIcon.jsx +17 -0
- package/src/icons.jsx +2 -0
- package/src/index.jsx +2 -1
- package/src/lib/menu/Menu.module.css +5 -0
|
@@ -3,13 +3,9 @@
|
|
|
3
3
|
display: flex;
|
|
4
4
|
justify-content: space-between;
|
|
5
5
|
box-sizing: border-box;
|
|
6
|
-
box-shadow: 0 1px 0 0 var(--neutral-
|
|
6
|
+
box-shadow: 0 1px 0 0 var(--neutral-3);
|
|
7
|
+
|
|
7
8
|
|
|
8
|
-
&:hover {
|
|
9
|
-
.leftIcon {
|
|
10
|
-
color: var(--neutral-12);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
9
|
}
|
|
14
10
|
|
|
15
11
|
.name {
|
|
@@ -17,7 +13,7 @@
|
|
|
17
13
|
min-width: 0;
|
|
18
14
|
white-space: nowrap;
|
|
19
15
|
overflow: hidden;
|
|
20
|
-
background: linear-gradient(90deg, #fff
|
|
16
|
+
background: linear-gradient(90deg, #fff 95%, #1d1d1d 100%);
|
|
21
17
|
background-clip: text;
|
|
22
18
|
-webkit-background-clip: text;
|
|
23
19
|
-webkit-text-fill-color: transparent;
|
|
@@ -31,16 +27,49 @@
|
|
|
31
27
|
min-width: 0;
|
|
32
28
|
}
|
|
33
29
|
|
|
34
|
-
.left {
|
|
30
|
+
/* .left {
|
|
35
31
|
flex: 1;
|
|
36
32
|
display: flex;
|
|
37
33
|
align-items: center;
|
|
38
34
|
min-width: 0;
|
|
35
|
+
} */
|
|
36
|
+
|
|
37
|
+
.instrumentIconButton {
|
|
38
|
+
margin-right: 4px !important;
|
|
39
|
+
border-radius: 4px;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
.
|
|
42
|
-
width:
|
|
43
|
-
|
|
42
|
+
.headerActions {
|
|
43
|
+
min-width: 0;
|
|
44
|
+
width: 100%;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.trackContent{
|
|
48
|
+
/* background-color: ; */
|
|
49
|
+
flex: 1;
|
|
50
|
+
min-width: 0;
|
|
51
|
+
/* border: 1px solid var(--neutral-3); */
|
|
52
|
+
background-color: rgba(17, 17, 19);
|
|
53
|
+
|
|
54
|
+
&:hover {
|
|
55
|
+
.menuOptionsTrigger svg {
|
|
56
|
+
opacity: 1;
|
|
57
|
+
color: var(--neutral-11);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.instrumentIcon {
|
|
61
|
+
opacity: 1;
|
|
62
|
+
color: var(--neutral-alpha-11);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.trackContent.isActive {
|
|
68
|
+
background-color: var(--neutral-2);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.instrumentIcon {
|
|
72
|
+
color: var(--neutral-alpha-8);
|
|
44
73
|
}
|
|
45
74
|
|
|
46
75
|
.right {
|
|
@@ -82,26 +111,33 @@
|
|
|
82
111
|
justify-content: center;
|
|
83
112
|
}
|
|
84
113
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
.menuOptionsTrigger {
|
|
117
|
+
|
|
118
|
+
svg {
|
|
119
|
+
opacity: 0.5;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
&:hover {
|
|
123
|
+
svg {
|
|
124
|
+
opacity: 1;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
&[data-state='open'],
|
|
129
|
+
&[data-highlighted] {
|
|
130
|
+
svg {
|
|
131
|
+
opacity: 1;
|
|
132
|
+
color: var(--neutral-11);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
88
135
|
}
|
|
89
136
|
|
|
90
|
-
.menuOptionsTrigger[data-state=open] {
|
|
137
|
+
/* .menuOptionsTrigger[data-state=open] {
|
|
91
138
|
color: var(--accent-a10) !important;
|
|
92
|
-
}
|
|
139
|
+
} */
|
|
93
140
|
|
|
94
|
-
.trackContent {
|
|
95
|
-
flex: 1;
|
|
96
|
-
min-width: 0;
|
|
97
|
-
display: flex;
|
|
98
|
-
padding-left: var(--space-1);
|
|
99
|
-
padding-right: var(--space-3);
|
|
100
|
-
padding-top: var(--space-3);
|
|
101
|
-
padding-bottom: var(--space-3);
|
|
102
|
-
flex-direction: column;
|
|
103
|
-
justify-content: space-between;
|
|
104
|
-
}
|
|
105
141
|
|
|
106
142
|
/* Open */
|
|
107
143
|
|
|
@@ -118,26 +154,27 @@
|
|
|
118
154
|
/* Not parent track (either grouped or not) */
|
|
119
155
|
|
|
120
156
|
.track:not(.isParentTrack) {
|
|
121
|
-
.
|
|
157
|
+
.toggleOpenButton {
|
|
122
158
|
visibility: hidden;
|
|
123
159
|
pointer-events: none;
|
|
124
160
|
}
|
|
125
161
|
}
|
|
126
162
|
|
|
127
163
|
/* Child track */
|
|
128
|
-
|
|
164
|
+
.group {
|
|
165
|
+
background-color: rgba(17, 17, 19);
|
|
166
|
+
}
|
|
129
167
|
.group > * {
|
|
130
168
|
.track {
|
|
131
169
|
margin-left: 28px;
|
|
132
170
|
background-color: var(--neutral-alpha-2);
|
|
133
|
-
border-
|
|
134
|
-
|
|
135
|
-
border-left-width: 1px;
|
|
171
|
+
border-radius: none;
|
|
172
|
+
box-shadow: 0 1px 0 0 var(--neutral-alpha-4);
|
|
136
173
|
|
|
137
174
|
.trackContent {
|
|
138
175
|
padding-left: 0;
|
|
139
|
-
|
|
140
|
-
.
|
|
176
|
+
background-color: var(--neutral-alpha-2);
|
|
177
|
+
.toggleOpenButton {
|
|
141
178
|
display: none;
|
|
142
179
|
}
|
|
143
180
|
|
|
@@ -145,7 +182,7 @@
|
|
|
145
182
|
padding-left: var(--space-4);
|
|
146
183
|
background: linear-gradient(
|
|
147
184
|
90deg,
|
|
148
|
-
var(--neutral-alpha-11)
|
|
185
|
+
var(--neutral-alpha-11) 95%,
|
|
149
186
|
#1d1d1d 100%
|
|
150
187
|
);
|
|
151
188
|
background-clip: text;
|
|
@@ -161,7 +198,6 @@
|
|
|
161
198
|
&:first-child .track {
|
|
162
199
|
border-top-style: solid;
|
|
163
200
|
border-top-color: var(--neutral-alpha-3);
|
|
164
|
-
border-top-left-radius: 4px;
|
|
165
201
|
border-top-width: 1px;
|
|
166
202
|
}
|
|
167
203
|
|
|
@@ -192,3 +228,14 @@
|
|
|
192
228
|
}
|
|
193
229
|
}
|
|
194
230
|
}
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
.toggleOpenButton {
|
|
234
|
+
background: transparent;
|
|
235
|
+
width: 20px;
|
|
236
|
+
height: 20px;
|
|
237
|
+
opacity: 0.5;
|
|
238
|
+
&:hover {
|
|
239
|
+
opacity: 1;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TrackHeader } from './TrackHeader'
|
|
2
1
|
import { useState } from 'react'
|
|
3
|
-
|
|
2
|
+
import { BassIcon, DrumsIcon, ElectricGuitarIcon, KeysIcon } from '../../icons'
|
|
3
|
+
import { TrackHeader } from './TrackHeader'
|
|
4
4
|
export default {
|
|
5
5
|
title: 'Components/TrackHeader',
|
|
6
6
|
component: TrackHeader,
|
|
@@ -89,9 +89,25 @@ import { TrackHeader } from '@moises.ai/design-system'
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
const menuOptions = [
|
|
92
|
-
{
|
|
92
|
+
{
|
|
93
|
+
type: 'item',
|
|
94
|
+
key: 'delete',
|
|
95
|
+
label: 'Delete',
|
|
96
|
+
onClick: () => console.log('Delete clicked'),
|
|
97
|
+
},
|
|
93
98
|
]
|
|
94
99
|
|
|
100
|
+
const instrumentOptions = [
|
|
101
|
+
{ type: 'item', key: 'bass', label: 'Bass', icon: <BassIcon /> },
|
|
102
|
+
{
|
|
103
|
+
type: 'item',
|
|
104
|
+
key: 'guitar',
|
|
105
|
+
label: 'Guitar',
|
|
106
|
+
icon: <ElectricGuitarIcon />,
|
|
107
|
+
},
|
|
108
|
+
{ type: 'item', key: 'piano', label: 'Piano', icon: <KeysIcon /> },
|
|
109
|
+
{ type: 'item', key: 'drums', label: 'Drums', icon: <DrumsIcon /> },
|
|
110
|
+
]
|
|
95
111
|
export const Default = {
|
|
96
112
|
args: {
|
|
97
113
|
title: 'Common Track',
|
|
@@ -103,19 +119,22 @@ export const Default = {
|
|
|
103
119
|
pan: 0,
|
|
104
120
|
isMuted: false,
|
|
105
121
|
isSolo: false,
|
|
122
|
+
isAutoMuted: false,
|
|
106
123
|
compact: false,
|
|
107
124
|
menuOptions,
|
|
108
|
-
onVolumeChange: () => {
|
|
109
|
-
onPanChange: () => {
|
|
110
|
-
onMutedChange: () => {
|
|
111
|
-
onSoloChange: () => {
|
|
125
|
+
onVolumeChange: () => {},
|
|
126
|
+
onPanChange: () => {},
|
|
127
|
+
onMutedChange: () => {},
|
|
128
|
+
onSoloChange: () => {},
|
|
129
|
+
onInstrumentChange: () => {},
|
|
130
|
+
instrumentOptions,
|
|
131
|
+
instrumentSelected: instrumentOptions[0],
|
|
112
132
|
},
|
|
113
133
|
render: (args) => <TrackHeader {...args} />,
|
|
114
134
|
}
|
|
115
135
|
|
|
116
136
|
export const Group = {
|
|
117
137
|
args: {
|
|
118
|
-
isOpen: true,
|
|
119
138
|
title: 'Group Track',
|
|
120
139
|
showPan: false,
|
|
121
140
|
showVolumeControls: true,
|
|
@@ -124,19 +143,20 @@ export const Group = {
|
|
|
124
143
|
pan: 0,
|
|
125
144
|
isMuted: false,
|
|
126
145
|
isSolo: false,
|
|
146
|
+
isAutoMuted: false,
|
|
127
147
|
compact: false,
|
|
128
148
|
menuOptions,
|
|
129
|
-
onVolumeChange: () => {
|
|
130
|
-
onPanChange: () => {
|
|
131
|
-
onMutedChange: () => {
|
|
132
|
-
onSoloChange: () => {
|
|
133
|
-
onOpenChange: () => { },
|
|
149
|
+
onVolumeChange: () => {},
|
|
150
|
+
onPanChange: () => {},
|
|
151
|
+
onMutedChange: () => {},
|
|
152
|
+
onSoloChange: () => {},
|
|
134
153
|
},
|
|
135
154
|
render: (args) => {
|
|
155
|
+
const [isOpen, setIsOpen] = useState(true)
|
|
136
156
|
const [pan, setPan] = useState(-0.3)
|
|
137
157
|
const [pan2, setPan2] = useState(-0.3)
|
|
138
158
|
return (
|
|
139
|
-
<TrackHeader {...args}>
|
|
159
|
+
<TrackHeader {...args} isOpen={isOpen} onOpenChange={setIsOpen}>
|
|
140
160
|
<TrackHeader
|
|
141
161
|
title="Grouped Track"
|
|
142
162
|
isGrouped
|
|
@@ -146,10 +166,10 @@ export const Group = {
|
|
|
146
166
|
pan={pan}
|
|
147
167
|
isMuted={false}
|
|
148
168
|
isSolo={false}
|
|
149
|
-
onVolumeChange={() => {
|
|
169
|
+
onVolumeChange={() => {}}
|
|
150
170
|
onPanChange={setPan}
|
|
151
|
-
onMutedChange={() => {
|
|
152
|
-
onSoloChange={() => {
|
|
171
|
+
onMutedChange={() => {}}
|
|
172
|
+
onSoloChange={() => {}}
|
|
153
173
|
menuOptions={menuOptions}
|
|
154
174
|
/>
|
|
155
175
|
<TrackHeader
|
|
@@ -161,10 +181,10 @@ export const Group = {
|
|
|
161
181
|
pan={pan2}
|
|
162
182
|
isMuted={false}
|
|
163
183
|
isSolo={false}
|
|
164
|
-
onVolumeChange={() => {
|
|
184
|
+
onVolumeChange={() => {}}
|
|
165
185
|
onPanChange={setPan2}
|
|
166
|
-
onMutedChange={() => {
|
|
167
|
-
onSoloChange={() => {
|
|
186
|
+
onMutedChange={() => {}}
|
|
187
|
+
onSoloChange={() => {}}
|
|
168
188
|
menuOptions={menuOptions}
|
|
169
189
|
/>
|
|
170
190
|
</TrackHeader>
|
|
@@ -185,11 +205,11 @@ export const Takelanes = {
|
|
|
185
205
|
isSolo: false,
|
|
186
206
|
compact: false,
|
|
187
207
|
menuOptions,
|
|
188
|
-
onVolumeChange: () => {
|
|
189
|
-
onPanChange: () => {
|
|
190
|
-
onMutedChange: () => {
|
|
191
|
-
onSoloChange: () => {
|
|
192
|
-
onOpenChange: () => {
|
|
208
|
+
onVolumeChange: () => {},
|
|
209
|
+
onPanChange: () => {},
|
|
210
|
+
onMutedChange: () => {},
|
|
211
|
+
onSoloChange: () => {},
|
|
212
|
+
onOpenChange: () => {},
|
|
193
213
|
},
|
|
194
214
|
render: (args) => (
|
|
195
215
|
<TrackHeader {...args}>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const ChevronDownFilledIcon = ({ width = 9, height = 5, className, ...props }) => (
|
|
2
|
+
<svg
|
|
3
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
width={width}
|
|
5
|
+
height={height}
|
|
6
|
+
viewBox="0 0 9 5"
|
|
7
|
+
fill="none"
|
|
8
|
+
className={className}
|
|
9
|
+
{...props}
|
|
10
|
+
>
|
|
11
|
+
<path
|
|
12
|
+
d="M3.58684 4.29289L0.147499 0.853553C-0.167484 0.538571 0.0555997 0 0.501052 0L8.08684 0C8.53229 0 8.75537 0.53857 8.44039 0.853553L5.00105 4.29289C4.61053 4.68342 3.97736 4.68342 3.58684 4.29289Z"
|
|
13
|
+
fill="currentColor" />
|
|
14
|
+
</svg>
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
ChevronDownFilledIcon.displayName = 'ChevronDownFilledIcon'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const ChevronRightFilledIcon = ({ width = 5, height = 9, className, ...props }) => (
|
|
2
|
+
<svg
|
|
3
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
width={width}
|
|
5
|
+
height={height}
|
|
6
|
+
viewBox="0 0 5 9"
|
|
7
|
+
fill="none"
|
|
8
|
+
className={className}
|
|
9
|
+
{...props}
|
|
10
|
+
>
|
|
11
|
+
<path
|
|
12
|
+
d="M4.29289 5.001L0.853553 8.44034C0.538571 8.75532 -3.3293e-08 8.53224 -5.27643e-08 8.08679L-3.8435e-07 0.501002C-4.03821e-07 0.0555496 0.53857 -0.167534 0.853552 0.147449L4.29289 3.58679C4.68342 3.97731 4.68342 4.61048 4.29289 5.001Z"
|
|
13
|
+
fill="currentColor" />
|
|
14
|
+
</svg>
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
ChevronRightFilledIcon.displayName = 'ChevronRightFilledIcon'
|
package/src/icons.jsx
CHANGED
|
@@ -347,3 +347,5 @@ export { EmailIcon } from './icons/EmailIcon'
|
|
|
347
347
|
export { EyeIcon } from './icons/EyeIcon'
|
|
348
348
|
export { EyeOffIcon } from './icons/EyeOffIcon'
|
|
349
349
|
export { Play1Icon } from './icons/Play1Icon'
|
|
350
|
+
export { ChevronRightFilledIcon } from './icons/ChevronRightFilledIcon'
|
|
351
|
+
export { ChevronDownFilledIcon } from './icons/ChevronDownFilledIcon'
|
package/src/index.jsx
CHANGED
|
@@ -142,4 +142,5 @@ export { useForm } from './components/useForm/useForm'
|
|
|
142
142
|
export { VoiceConversionForm } from './components/VoiceConversionForm/VoiceConversionForm'
|
|
143
143
|
export { Waveform } from './components/VoiceConversionForm/Waveform/Waveform'
|
|
144
144
|
|
|
145
|
-
export { EmptyState } from './components/EmptyState/EmptyState'
|
|
145
|
+
export { EmptyState } from './components/EmptyState/EmptyState'
|
|
146
|
+
export { TrackControlsToggle } from './components/TrackControlsToggle/TrackControlsToggle'
|
|
@@ -286,6 +286,11 @@
|
|
|
286
286
|
background-color: transparent;
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
+
.menuTrigger[data-state='open'].showActiveTrigger,
|
|
290
|
+
.menuTrigger[data-highlighted].showActiveTrigger {
|
|
291
|
+
background-color: var(--neutral-alpha-3);
|
|
292
|
+
}
|
|
293
|
+
|
|
289
294
|
.menuSubTrigger[data-highlighted],
|
|
290
295
|
.menuItem[data-highlighted],
|
|
291
296
|
.menuSubTrigger[data-state='open'] {
|