@moises.ai/design-system 4.19.3 → 4.19.5
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/{HiFi1Icon-DW-qHZUd.js → AutomationPenIcon-508hiLNg.js} +2666 -4229
- package/dist/colors/custom-styles.css +24 -24
- package/dist/icons.js +695 -687
- package/dist/index.js +1685 -1678
- package/package.json +1 -1
- package/src/colors/custom-styles.css +24 -24
- package/src/components/Countdown/Countdown.module.css +5 -5
- package/src/components/DataTable/DataTable.module.css +3 -3
- package/src/components/EmptyState/EmptyState.jsx +2 -2
- package/src/components/EmptyState/EmptyState.module.css +3 -2
- package/src/components/Extension/Extension.jsx +1 -1
- package/src/components/Extension/Extension.stories.jsx +2 -2
- package/src/components/InputLevelMeter/InputLevelMeter.stories.jsx +2 -2
- package/src/components/Knob/utils.js +1 -1
- package/src/components/PanControl/PanControl.jsx +2 -2
- package/src/components/PeakLevel/PeakLevel.stories.jsx +1 -1
- package/src/components/RecordingForm/RecordingForm.module.css +1 -1
- package/src/components/Select/Select.jsx +21 -25
- package/src/components/Select/Select.module.css +13 -0
- package/src/components/SetlistList/SetlistList.module.css +1 -1
- package/src/components/Shell/Shell.stories.jsx +2 -2
- package/src/components/SliderLibrary/SliderLibrary.module.css +6 -6
- package/src/components/SliderLibrary/SliderLibrary.stories.jsx +3 -3
- package/src/components/SpecialDialog/SpecialDialog.module.css +1 -1
- package/src/components/StemGenerationForm/CreateNew/CreateNew.jsx +2 -2
- package/src/components/TextField/TextField.jsx +24 -6
- package/src/components/TextField/TextField.module.css +37 -0
- package/src/components/TextField/TextField.stories.jsx +39 -0
- package/src/components/Tooltip/Tooltip.module.css +15 -15
- package/src/components/TrackHeader/TrackHeader.module.css +2 -2
- package/src/components/TrackHeader/TrackHeader.stories.jsx +1 -1
- package/src/components/VoiceConversionForm/Waveform/Waveform.jsx +1 -1
- package/src/icons/AlertIcon.jsx +4 -5
- package/src/icons/ArrowDownIcon.jsx +3 -17
- package/src/icons/ArrowLeftIcon.jsx +3 -17
- package/src/icons/ArrowUpIcon.jsx +3 -17
- package/src/icons/ArrowsHorizontalIcon.jsx +3 -17
- package/src/icons/ArrowsVerticalIcon.jsx +3 -17
- package/src/icons/AudioFileIcon.jsx +3 -17
- package/src/icons/AutomationPenIcon.jsx +7 -0
- package/src/icons/BanjoIcon.jsx +8 -0
- package/src/icons/BookmarkIcon.jsx +3 -15
- package/src/icons/CavacoIcon.jsx +9 -0
- package/src/icons/CheckIcon.jsx +3 -3
- package/src/icons/ChevronLeftIcon.jsx +3 -17
- package/src/icons/ChevronRightIcon.jsx +3 -17
- package/src/icons/ChevronUpIcon.jsx +3 -17
- package/src/icons/ChordGrid4Icon.jsx +2 -5
- package/src/icons/Chords2Icon.jsx +4 -16
- package/src/icons/ChordsDetectionIcon.jsx +5 -22
- package/src/icons/CloseIcon.jsx +3 -16
- package/src/icons/ComputerIcon.jsx +3 -17
- package/src/icons/CountInIcon.jsx +6 -19
- package/src/icons/CropIcon.jsx +2 -17
- package/src/icons/CrownIcon.jsx +3 -17
- package/src/icons/DelayIcon.jsx +3 -16
- package/src/icons/DownloadIcon.jsx +7 -0
- package/src/icons/DynamicMicrophone2Icon.jsx +4 -9
- package/src/icons/EditIcon.jsx +3 -16
- package/src/icons/EffectsIcon.jsx +4 -16
- package/src/icons/EmailIcon.jsx +3 -24
- package/src/icons/ExternalLinkIcon.jsx +3 -3
- package/src/icons/EyeIcon.jsx +4 -26
- package/src/icons/EyeOffIcon.jsx +3 -24
- package/src/icons/Filter2Icon.jsx +3 -17
- package/src/icons/FitWidthIcon.jsx +7 -0
- package/src/icons/FlatAndSharpIcon.jsx +3 -16
- package/src/icons/GuitarAmpIcon.jsx +6 -32
- package/src/icons/HelpIcon.jsx +4 -3
- package/src/icons/Info2Icon.jsx +4 -4
- package/src/icons/Knob3Icon.jsx +8 -17
- package/src/icons/LibraryIcon.jsx +2 -16
- package/src/icons/LinkIcon.jsx +4 -17
- package/src/icons/LoopSection2Icon.jsx +4 -17
- package/src/icons/LyricsIcon.jsx +5 -24
- package/src/icons/MagicWandIcon.jsx +5 -8
- package/src/icons/MandolinIcon.jsx +8 -0
- package/src/icons/MaracasIcon.jsx +4 -15
- package/src/icons/MasteringIcon.jsx +5 -28
- package/src/icons/MetronomeIcon.jsx +4 -14
- package/src/icons/Mixer2Icon.jsx +4 -16
- package/src/icons/MixerVerticalIcon.jsx +7 -0
- package/src/icons/More2Icon.jsx +1 -44
- package/src/icons/MoreIcon.jsx +4 -41
- package/src/icons/MoreMenuIcon.jsx +9 -0
- package/src/icons/MusicAddIcon.jsx +3 -17
- package/src/icons/MusicBookIcon.jsx +8 -0
- package/src/icons/MusicNoteIcon.jsx +3 -17
- package/src/icons/MusicRemoveIcon.jsx +3 -17
- package/src/icons/NoChords2Icon.jsx +3 -16
- package/src/icons/NoChordsDetectionIcon.jsx +6 -22
- package/src/icons/NoEyeIcon.jsx +4 -3
- package/src/icons/NoMusicIcon.jsx +2 -17
- package/src/icons/NoMusicNoteIcon.jsx +3 -16
- package/src/icons/NoSearchIcon.jsx +3 -17
- package/src/icons/NoSpliterIcon.jsx +3 -14
- package/src/icons/NoVolume2Icon.jsx +3 -17
- package/src/icons/NowPlayingIcon.jsx +7 -0
- package/src/icons/PenIcon.jsx +3 -3
- package/src/icons/PlayOnRepeatIcon.jsx +4 -17
- package/src/icons/PowerSwitchIcon.jsx +4 -3
- package/src/icons/RadioOffIcon.jsx +3 -17
- package/src/icons/RedoIcon.jsx +3 -16
- package/src/icons/RefreshIcon.jsx +3 -17
- package/src/icons/SearchIcon.jsx +3 -18
- package/src/icons/Sections2Icon.jsx +4 -7
- package/src/icons/Setlist2Icon.jsx +3 -17
- package/src/icons/SettingsIcon.jsx +5 -18
- package/src/icons/ShareIosIcon.jsx +3 -9
- package/src/icons/SidebarLeftIcon.jsx +3 -16
- package/src/icons/SidebarRightIcon.jsx +3 -17
- package/src/icons/SongBarIcon.jsx +3 -17
- package/src/icons/SoundEffectsIcon.jsx +8 -17
- package/src/icons/SparkBarsIcon.jsx +4 -16
- package/src/icons/SparklesIcon.jsx +4 -7
- package/src/icons/SpeedChangerIcon.jsx +2 -15
- package/src/icons/SpliterIcon.jsx +4 -17
- package/src/icons/Star1Icon.jsx +5 -4
- package/src/icons/Star2Icon.jsx +5 -4
- package/src/icons/Star3Icon.jsx +5 -4
- package/src/icons/StarIcon.jsx +4 -16
- package/src/icons/TrashIcon.jsx +3 -17
- package/src/icons/TrimIcon.jsx +2 -17
- package/src/icons/UkuleleIcon.jsx +8 -40
- package/src/icons/UndoIcon.jsx +3 -16
- package/src/icons/UnlockIcon.jsx +3 -13
- package/src/icons/UserGroupIcon.jsx +4 -17
- package/src/icons/UserIcon.jsx +4 -4
- package/src/icons/UserVoiceIcon.jsx +4 -6
- package/src/icons/Video2Icon.jsx +4 -22
- package/src/icons/VideoIcon.jsx +3 -17
- package/src/icons/Volume0Icon.jsx +4 -17
- package/src/icons/Volume1Icon.jsx +4 -17
- package/src/icons/Volume2Icon.jsx +4 -17
- package/src/icons/WidgetIcon.jsx +10 -26
- package/src/icons/ZoomInIcon.jsx +2 -17
- package/src/icons/ZoomOutIcon.jsx +7 -0
- package/src/icons.jsx +12 -2
package/package.json
CHANGED
|
@@ -106,31 +106,31 @@
|
|
|
106
106
|
--Colors-Neutral-Neutral-Alpha-10: var(--colors-neutral-neutral-alpha-10);
|
|
107
107
|
--Colors-Neutral-Neutral-1: var(--colors-neutral-neutral-1);
|
|
108
108
|
|
|
109
|
-
--neutral-1:
|
|
110
|
-
--neutral-2:
|
|
111
|
-
--neutral-3:
|
|
112
|
-
--neutral-4:
|
|
113
|
-
--neutral-5:
|
|
114
|
-
--neutral-6:
|
|
115
|
-
--neutral-7:
|
|
116
|
-
--neutral-8:
|
|
117
|
-
--neutral-9:
|
|
118
|
-
--neutral-10:
|
|
119
|
-
--neutral-11:
|
|
120
|
-
--neutral-12:
|
|
109
|
+
--neutral-1: #101013;
|
|
110
|
+
--neutral-2: #16181C;
|
|
111
|
+
--neutral-3: #1F2126;
|
|
112
|
+
--neutral-4: #25292E;
|
|
113
|
+
--neutral-5: #2B2F35;
|
|
114
|
+
--neutral-6: #32383F;
|
|
115
|
+
--neutral-7: #3F464E;
|
|
116
|
+
--neutral-8: #565F69;
|
|
117
|
+
--neutral-9: #656C77;
|
|
118
|
+
--neutral-10: #737884;
|
|
119
|
+
--neutral-11: #ACB4BF;
|
|
120
|
+
--neutral-12: #E6EAF0;
|
|
121
121
|
|
|
122
|
-
--neutral-alpha-1: rgba(
|
|
123
|
-
--neutral-alpha-2:
|
|
124
|
-
--neutral-alpha-3:
|
|
125
|
-
--neutral-alpha-4:
|
|
126
|
-
--neutral-alpha-5:
|
|
127
|
-
--neutral-alpha-6: rgba(
|
|
128
|
-
--neutral-alpha-7: rgba(
|
|
129
|
-
--neutral-alpha-8: rgba(
|
|
130
|
-
--neutral-alpha-9: rgba(
|
|
131
|
-
--neutral-alpha-10:
|
|
132
|
-
--neutral-alpha-11: rgba(
|
|
133
|
-
--neutral-alpha-12: rgba(
|
|
122
|
+
--neutral-alpha-1: rgba(207, 234, 236, 0.02);
|
|
123
|
+
--neutral-alpha-2: rgba(197, 239, 246, 0.04);
|
|
124
|
+
--neutral-alpha-3: rgba(206, 222, 248, 0.08);
|
|
125
|
+
--neutral-alpha-4: rgba(196, 228, 248, 0.11);
|
|
126
|
+
--neutral-alpha-5: rgba(201, 226, 254, 0.15);
|
|
127
|
+
--neutral-alpha-6: rgba(200, 228, 253, 0.19);
|
|
128
|
+
--neutral-alpha-7: rgba(204, 231, 255, 0.25);
|
|
129
|
+
--neutral-alpha-8: rgba(204, 231, 255, 0.36);
|
|
130
|
+
--neutral-alpha-9: rgba(207, 226, 253, 0.43);
|
|
131
|
+
--neutral-alpha-10: rgba(218, 229, 253, 0.48);
|
|
132
|
+
--neutral-alpha-11: rgba(229, 240, 254, 0.75);
|
|
133
|
+
--neutral-alpha-12: rgba(242, 247, 255, 0.94);
|
|
134
134
|
|
|
135
135
|
/* Neutral Extras */
|
|
136
136
|
--neutral-alpha-0-50: rgba(17, 17, 19, 0.50);
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
.labelSmall.white {
|
|
92
|
-
color:
|
|
92
|
+
color: var(--neutral-10);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
.labelSmall.sm {
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
.skeletonBox.white .skeleton {
|
|
161
|
-
background: linear-gradient(90deg,
|
|
161
|
+
background: linear-gradient(90deg, var(--neutral-11) 4.69%, var(--neutral-9) 100%);
|
|
162
162
|
animation: skeleton_animate 1s infinite;
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -167,9 +167,9 @@
|
|
|
167
167
|
height: 60px;
|
|
168
168
|
background: linear-gradient(
|
|
169
169
|
90deg,
|
|
170
|
-
var(--
|
|
171
|
-
var(--
|
|
172
|
-
var(--
|
|
170
|
+
var(--neutral-3) 25%,
|
|
171
|
+
var(--neutral-4) 50%,
|
|
172
|
+
var(--neutral-3) 75%
|
|
173
173
|
);
|
|
174
174
|
background-size: 200% 100%;
|
|
175
175
|
animation: skeleton_animate 1.5s ease-in-out infinite;
|
|
@@ -328,18 +328,18 @@
|
|
|
328
328
|
}
|
|
329
329
|
|
|
330
330
|
.DataTable :global(.rt-TableRow:hover) .projectCell:not(.dropdownColumn) :not(.artistText) {
|
|
331
|
-
color:
|
|
331
|
+
color: var(--neutral-12);
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
.DataTable
|
|
335
335
|
:global(.rt-TableRow:focus-within)
|
|
336
336
|
.projectCell:not(.dropdownColumn)
|
|
337
337
|
:not(.artistText) {
|
|
338
|
-
color:
|
|
338
|
+
color: var(--neutral-12);
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
.rowSelected .projectCell:not(.dropdownColumn) :not(.artistText) {
|
|
342
|
-
color:
|
|
342
|
+
color: var(--neutral-12);
|
|
343
343
|
}
|
|
344
344
|
|
|
345
345
|
.dropdownTriggerWrapper {
|
|
@@ -22,9 +22,9 @@ export const EmptyState = ({
|
|
|
22
22
|
}) => {
|
|
23
23
|
const hasButtonContent = children != null || buttonLabel != null
|
|
24
24
|
return (
|
|
25
|
-
<Theme asChild>
|
|
25
|
+
<Theme asChild hasBackground={false}>
|
|
26
26
|
<Flex
|
|
27
|
-
className={classNames(className)}
|
|
27
|
+
className={classNames(styles.root, className)}
|
|
28
28
|
direction="column"
|
|
29
29
|
align="center"
|
|
30
30
|
justify="center"
|
|
@@ -77,7 +77,7 @@ function Header({ title, onBack, headerLeft, headerRight, allowClose = true, onC
|
|
|
77
77
|
gap="1"
|
|
78
78
|
mx="4"
|
|
79
79
|
py="3"
|
|
80
|
-
style={{ borderBottom: '1px solid var(--
|
|
80
|
+
style={{ borderBottom: '1px solid var(--neutral-alpha-4)' }}
|
|
81
81
|
>
|
|
82
82
|
{headerLeft !== undefined ? (
|
|
83
83
|
headerLeft
|
|
@@ -11,7 +11,7 @@ const sidebarDecorator = (Story) => (
|
|
|
11
11
|
style={{
|
|
12
12
|
width: 300,
|
|
13
13
|
height: 500,
|
|
14
|
-
border: '1px solid var(--
|
|
14
|
+
border: '1px solid var(--neutral-alpha-6)',
|
|
15
15
|
borderRadius: 8,
|
|
16
16
|
overflow: 'hidden',
|
|
17
17
|
display: 'flex',
|
|
@@ -387,7 +387,7 @@ function KeepMountedHomeScreen() {
|
|
|
387
387
|
style={{
|
|
388
388
|
padding: 8,
|
|
389
389
|
borderRadius: 6,
|
|
390
|
-
border: '1px solid var(--
|
|
390
|
+
border: '1px solid var(--neutral-alpha-6)',
|
|
391
391
|
}}
|
|
392
392
|
/>
|
|
393
393
|
<Button variant="soft" size="2" onClick={() => push('next')}>
|
|
@@ -11,7 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
decorators: [
|
|
13
13
|
(Story) => (
|
|
14
|
-
<div style={{ padding: '16px', background: '
|
|
14
|
+
<div style={{ padding: '16px', background: 'var(--neutral-2)', width: '240px' }}>
|
|
15
15
|
<Story />
|
|
16
16
|
</div>
|
|
17
17
|
),
|
|
@@ -321,7 +321,7 @@ export const MultipleMeters = {
|
|
|
321
321
|
},
|
|
322
322
|
decorators: [
|
|
323
323
|
(Story) => (
|
|
324
|
-
<div style={{ padding: '16px', background: '
|
|
324
|
+
<div style={{ padding: '16px', background: 'var(--neutral-2)', width: '240px' }}>
|
|
325
325
|
<Story />
|
|
326
326
|
</div>
|
|
327
327
|
),
|
|
@@ -107,7 +107,7 @@ export const getPointerProperties = (activeDotIndex, disabled) => {
|
|
|
107
107
|
|
|
108
108
|
return {
|
|
109
109
|
pointerRotation: angleInDegrees,
|
|
110
|
-
pointerColor: disabled ? '
|
|
110
|
+
pointerColor: disabled ? 'var(--neutral-7)' : 'var(--neutral-11)',
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -190,8 +190,8 @@ export const PanControl = ({
|
|
|
190
190
|
A ${KNOB_RADIUS} ${KNOB_RADIUS} 0 ${largeArc} ${sweep}
|
|
191
191
|
${x2.toFixed(3)} ${y2.toFixed(3)}`,
|
|
192
192
|
pointerRotation: displayNorm * 180,
|
|
193
|
-
arcColor: disabled ? '
|
|
194
|
-
pointerColor: disabled ? '
|
|
193
|
+
arcColor: disabled ? 'var(--neutral-8)' : '#19E4F1',
|
|
194
|
+
pointerColor: disabled ? 'var(--neutral-7)' : 'var(--neutral-11)',
|
|
195
195
|
}
|
|
196
196
|
}, [value, disabled, minValue, maxValue])
|
|
197
197
|
|
|
@@ -93,32 +93,28 @@ export const Select = ({
|
|
|
93
93
|
})}
|
|
94
94
|
disabled={disabled || readOnly}
|
|
95
95
|
>
|
|
96
|
-
<
|
|
97
|
-
{
|
|
98
|
-
|
|
99
|
-
{item.aiDetected && (
|
|
100
|
-
<Text
|
|
101
|
-
size="1"
|
|
102
|
-
style={{
|
|
103
|
-
color: 'var(--aqua-alpha-9)',
|
|
104
|
-
verticalAlign: 'top',
|
|
105
|
-
}}
|
|
106
|
-
>
|
|
107
|
-
✦
|
|
96
|
+
<span className={styles.itemLabel}>
|
|
97
|
+
<Text size={size} style={{ color: 'var(--neutral-12)' }}>
|
|
98
|
+
{item.label}
|
|
108
99
|
</Text>
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
100
|
+
{item.aiDetected && (
|
|
101
|
+
<span className={styles.aiDetected} aria-hidden>
|
|
102
|
+
✦
|
|
103
|
+
</span>
|
|
104
|
+
)}
|
|
105
|
+
{item.extra && (
|
|
106
|
+
<Text
|
|
107
|
+
size={size}
|
|
108
|
+
className={styles.extra}
|
|
109
|
+
style={{
|
|
110
|
+
color: 'var(--neutral-alpha-9)',
|
|
111
|
+
}}
|
|
112
|
+
>
|
|
113
|
+
{' '}
|
|
114
|
+
{item.extra}
|
|
115
|
+
</Text>
|
|
116
|
+
)}
|
|
117
|
+
</span>
|
|
122
118
|
</SelectRadix.Item>
|
|
123
119
|
),
|
|
124
120
|
)}
|
|
@@ -147,3 +147,16 @@
|
|
|
147
147
|
padding: 12px 15px;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
.itemLabel {
|
|
151
|
+
line-height: 1;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.aiDetected {
|
|
155
|
+
color: var(--aqua-alpha-9);
|
|
156
|
+
font-size: var(--font-size-1);
|
|
157
|
+
line-height: 1;
|
|
158
|
+
display: inline-block;
|
|
159
|
+
vertical-align: super;
|
|
160
|
+
margin-left: 2px;
|
|
161
|
+
}
|
|
162
|
+
|
|
@@ -91,11 +91,11 @@ export const Default = {
|
|
|
91
91
|
<div key="credits-header">
|
|
92
92
|
<div style={{ display: 'flex', alignItems: 'center', gap: 8 }} className="showActiveTrigger">
|
|
93
93
|
<Text as="span" style={{ fontSize: 14, fontWeight: 'normal', lineHeight: '20px' }}>Credits: </Text>
|
|
94
|
-
<Text as="span" style={{ color: 'var(--
|
|
94
|
+
<Text as="span" style={{ color: 'var(--neutral-12)', fontSize: 14 }}>45/60</Text>
|
|
95
95
|
<button
|
|
96
96
|
type="button"
|
|
97
97
|
aria-label="Upgrade"
|
|
98
|
-
style={{ border: 'none', cursor: 'pointer', backgroundColor: 'var(--cyan-9)', color: 'var(--
|
|
98
|
+
style={{ border: 'none', cursor: 'pointer', backgroundColor: 'var(--cyan-9)', color: 'var(--neutral-1)', fontSize: 12, fontWeight: 500, padding: '4px 8px', borderRadius: 4 }}
|
|
99
99
|
onClick={() => {
|
|
100
100
|
closeMenu?.()
|
|
101
101
|
console.log('Upgrade clicked - menu should close')
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.root[data-disabled] .track {
|
|
19
|
-
background-color:
|
|
19
|
+
background-color: var(--neutral-3);
|
|
20
20
|
opacity: 1;
|
|
21
21
|
filter: none;
|
|
22
22
|
}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
position: relative;
|
|
26
26
|
flex-grow: 1;
|
|
27
27
|
height: 4px;
|
|
28
|
-
background: var(--neutral-alpha-3
|
|
28
|
+
background: var(--neutral-alpha-3);
|
|
29
29
|
border-radius: 99px;
|
|
30
30
|
overflow: hidden;
|
|
31
31
|
}
|
|
@@ -46,19 +46,19 @@
|
|
|
46
46
|
background: var(--white, #fff);
|
|
47
47
|
border: none;
|
|
48
48
|
border-radius: 99px;
|
|
49
|
-
box-shadow: 0 0 0 1px
|
|
49
|
+
box-shadow: 0 0 0 1px var(--neutral-alpha-5);
|
|
50
50
|
outline: none;
|
|
51
51
|
cursor: ew-resize;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
.thumb[data-focus-visible] {
|
|
55
|
-
outline: 2px solid var(--neutral-alpha-8
|
|
55
|
+
outline: 2px solid var(--neutral-alpha-8);
|
|
56
56
|
outline-offset: 2px;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
.root[data-disabled] .thumb {
|
|
60
60
|
background-color: #18191b;
|
|
61
|
-
border: 1px solid
|
|
61
|
+
border: 1px solid var(--neutral-7);
|
|
62
62
|
box-shadow: none;
|
|
63
63
|
cursor: default;
|
|
64
64
|
opacity: 1;
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
.root[data-disabled] .range {
|
|
69
|
-
background-color:
|
|
69
|
+
background-color: var(--neutral-5);
|
|
70
70
|
opacity: 1;
|
|
71
71
|
filter: none;
|
|
72
72
|
}
|
|
@@ -44,7 +44,7 @@ export default {
|
|
|
44
44
|
style={{
|
|
45
45
|
width: 280,
|
|
46
46
|
padding: 24,
|
|
47
|
-
background: '
|
|
47
|
+
background: 'var(--neutral-2)',
|
|
48
48
|
borderRadius: 8,
|
|
49
49
|
}}
|
|
50
50
|
>
|
|
@@ -134,7 +134,7 @@ export const TooltipTiming = {
|
|
|
134
134
|
formatValue={(v) => `${v}%`}
|
|
135
135
|
aria-label="Volume"
|
|
136
136
|
/>
|
|
137
|
-
<span style={{ color: '
|
|
137
|
+
<span style={{ color: 'var(--neutral-11)', fontSize: 12 }}>
|
|
138
138
|
Opens after {args.tooltipDelayDuration}ms · closes {args.tooltipCloseDelay}ms
|
|
139
139
|
after leave
|
|
140
140
|
</span>
|
|
@@ -178,7 +178,7 @@ export const ThumbDoubleClick = {
|
|
|
178
178
|
formatValue={(v) => `${v}%`}
|
|
179
179
|
aria-label="Volume"
|
|
180
180
|
/>
|
|
181
|
-
<span style={{ color: '
|
|
181
|
+
<span style={{ color: 'var(--neutral-11)', fontSize: 12 }}>
|
|
182
182
|
Double-click the thumb to reset to {defaultValue}%
|
|
183
183
|
</span>
|
|
184
184
|
</div>
|
|
@@ -245,13 +245,13 @@ export const CreateNew = ({
|
|
|
245
245
|
onClick={onAddConditioningAudio}
|
|
246
246
|
style={{
|
|
247
247
|
borderRadius: 'var(--radius-4)',
|
|
248
|
-
border: '1px solid
|
|
248
|
+
border: '1px solid var(--neutral-3)',
|
|
249
249
|
cursor: 'pointer',
|
|
250
250
|
paddingTop: 10,
|
|
251
251
|
paddingBottom: 10,
|
|
252
252
|
}}
|
|
253
253
|
>
|
|
254
|
-
<AttachmentIcon width={16} height={16} style={{ color: '
|
|
254
|
+
<AttachmentIcon width={16} height={16} style={{ color: 'var(--neutral-11)' }} />
|
|
255
255
|
<Tooltip
|
|
256
256
|
content={i18n._(
|
|
257
257
|
'Best results: use isolated target instrument.',
|
|
@@ -20,6 +20,9 @@ export const TextField = ({
|
|
|
20
20
|
error,
|
|
21
21
|
secondaryText,
|
|
22
22
|
autoFocus,
|
|
23
|
+
aiDetected = false,
|
|
24
|
+
textAlign = 'left',
|
|
25
|
+
style,
|
|
23
26
|
...props
|
|
24
27
|
}) => {
|
|
25
28
|
// legacy Icon prop is kept for backwards compatibility.
|
|
@@ -27,6 +30,8 @@ export const TextField = ({
|
|
|
27
30
|
startSlot ||
|
|
28
31
|
(Icon ? <Icon width={16} height={16} className={styles.icon} /> : null)
|
|
29
32
|
|
|
33
|
+
const chars = String(value ?? '').length
|
|
34
|
+
|
|
30
35
|
return (
|
|
31
36
|
<Flex direction="column" width="100%" height="100%" gap="1">
|
|
32
37
|
{title && (
|
|
@@ -48,7 +53,13 @@ export const TextField = ({
|
|
|
48
53
|
[styles.focusRing]: focusRing || error,
|
|
49
54
|
[styles.errorText]: error,
|
|
50
55
|
[styles[`size${size}`]]: size,
|
|
56
|
+
[styles.alignCenter]: textAlign === 'center',
|
|
57
|
+
[styles.alignLeft]: textAlign === 'left',
|
|
51
58
|
})}
|
|
59
|
+
style={{
|
|
60
|
+
...(aiDetected && { '--ai-chars': chars }),
|
|
61
|
+
...style,
|
|
62
|
+
}}
|
|
52
63
|
readOnly={readOnly}
|
|
53
64
|
disabled={disabled}
|
|
54
65
|
autoFocus={autoFocus}
|
|
@@ -57,18 +68,25 @@ export const TextField = ({
|
|
|
57
68
|
{resolvedStartSlot && (
|
|
58
69
|
<TextFieldRadix.Slot>{resolvedStartSlot}</TextFieldRadix.Slot>
|
|
59
70
|
)}
|
|
71
|
+
{aiDetected && (
|
|
72
|
+
<span className={styles.aiDetected} aria-hidden>
|
|
73
|
+
<span className={styles.aiDetectedMark}>✦</span>
|
|
74
|
+
</span>
|
|
75
|
+
)}
|
|
60
76
|
{endSlot && <div className={styles.endSlot}>{endSlot}</div>}
|
|
61
77
|
</TextFieldRadix.Root>
|
|
62
78
|
{secondaryText && (
|
|
63
|
-
<Text
|
|
79
|
+
<Text
|
|
80
|
+
size="1"
|
|
81
|
+
weight="regular"
|
|
64
82
|
className={classNames(styles.secondaryText, {
|
|
65
|
-
[styles.errorText]: error
|
|
66
|
-
})}
|
|
83
|
+
[styles.errorText]: error,
|
|
84
|
+
})}
|
|
85
|
+
>
|
|
67
86
|
{secondaryText}
|
|
68
87
|
</Text>
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
</Flex >
|
|
88
|
+
)}
|
|
89
|
+
</Flex>
|
|
72
90
|
)
|
|
73
91
|
}
|
|
74
92
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
.TextField {
|
|
2
|
+
position: relative;
|
|
2
3
|
background-color: var(--neutral-alpha-3);
|
|
3
4
|
color: var(--neutral-12);
|
|
4
5
|
box-shadow: none;
|
|
@@ -27,6 +28,42 @@
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
|
|
31
|
+
.alignLeft input {
|
|
32
|
+
text-align: left;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.alignCenter input {
|
|
36
|
+
text-align: center;
|
|
37
|
+
/* Radix uses text-indent as left inset; reset it so center is true center. */
|
|
38
|
+
text-indent: 0;
|
|
39
|
+
padding-left: var(--text-field-padding);
|
|
40
|
+
padding-right: var(--text-field-padding);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.aiDetected {
|
|
44
|
+
position: absolute;
|
|
45
|
+
top: 50%;
|
|
46
|
+
transform: translateY(-50%);
|
|
47
|
+
pointer-events: none;
|
|
48
|
+
line-height: 1;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.alignLeft .aiDetected {
|
|
52
|
+
left: calc(var(--text-field-padding) + (var(--ai-chars, 0) * 1ch) + 2px);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.alignCenter .aiDetected {
|
|
56
|
+
left: calc(50% + (var(--ai-chars, 0) * 0.5ch) + 2px);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.aiDetectedMark {
|
|
60
|
+
display: inline-block;
|
|
61
|
+
color: var(--aqua-alpha-9);
|
|
62
|
+
font-size: var(--font-size-1);
|
|
63
|
+
line-height: 1;
|
|
64
|
+
transform: translateY(-0.35em);
|
|
65
|
+
}
|
|
66
|
+
|
|
30
67
|
.icon {
|
|
31
68
|
color: var(--neutral-alpha-10);
|
|
32
69
|
}
|
|
@@ -155,6 +155,23 @@ const MyComponent = () => (
|
|
|
155
155
|
defaultValue: { summary: 'undefined' },
|
|
156
156
|
},
|
|
157
157
|
},
|
|
158
|
+
aiDetected: {
|
|
159
|
+
control: 'boolean',
|
|
160
|
+
description: 'Shows ✦ icon next to the input value when true',
|
|
161
|
+
table: {
|
|
162
|
+
type: { summary: 'boolean' },
|
|
163
|
+
defaultValue: { summary: 'false' },
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
textAlign: {
|
|
167
|
+
control: 'select',
|
|
168
|
+
options: ['left', 'center'],
|
|
169
|
+
description: 'Horizontal alignment of the input text',
|
|
170
|
+
table: {
|
|
171
|
+
type: { summary: "'left' | 'center'" },
|
|
172
|
+
defaultValue: { summary: 'left' },
|
|
173
|
+
},
|
|
174
|
+
},
|
|
158
175
|
},
|
|
159
176
|
decorators: [
|
|
160
177
|
(Story) => (
|
|
@@ -273,3 +290,25 @@ export const WithCustomSlots = {
|
|
|
273
290
|
},
|
|
274
291
|
name: 'With custom slots',
|
|
275
292
|
}
|
|
293
|
+
|
|
294
|
+
export const WithAiDetected = {
|
|
295
|
+
args: {
|
|
296
|
+
...Default.args,
|
|
297
|
+
title: 'Tempo',
|
|
298
|
+
value: '120',
|
|
299
|
+
textAlign: 'center',
|
|
300
|
+
aiDetected: true,
|
|
301
|
+
},
|
|
302
|
+
name: 'With AI detected',
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export const WithAiDetectedLeft = {
|
|
306
|
+
args: {
|
|
307
|
+
...Default.args,
|
|
308
|
+
title: 'Song tuning (Hz)',
|
|
309
|
+
value: '440',
|
|
310
|
+
textAlign: 'left',
|
|
311
|
+
aiDetected: true,
|
|
312
|
+
},
|
|
313
|
+
name: 'With AI detected (left)',
|
|
314
|
+
}
|