@moises.ai/design-system 4.18.1 → 4.18.3

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.
@@ -7,12 +7,36 @@ export default {
7
7
  parameters: {
8
8
  layout: 'centered',
9
9
  },
10
+ args: {
11
+ tooltipDelayDuration: 0,
12
+ tooltipCloseDelay: 500,
13
+ showTooltip: true,
14
+ },
10
15
  argTypes: {
11
16
  value: { control: { type: 'number' } },
12
17
  min: { control: { type: 'number' } },
13
18
  max: { control: { type: 'number' } },
14
19
  step: { control: { type: 'number' } },
15
20
  disabled: { control: { type: 'boolean' } },
21
+ showTooltip: {
22
+ control: { type: 'boolean' },
23
+ description: 'Shows the value tooltip on hover/focus/drag.',
24
+ },
25
+ tooltipDelayDuration: {
26
+ control: { type: 'number' },
27
+ description: 'Ms before the tooltip opens on hover.',
28
+ table: {
29
+ defaultValue: { summary: 0 },
30
+ },
31
+ },
32
+ tooltipCloseDelay: {
33
+ control: { type: 'number' },
34
+ description:
35
+ 'Ms the tooltip stays open after the pointer leaves the thumb.',
36
+ table: {
37
+ defaultValue: { summary: 500 },
38
+ },
39
+ },
16
40
  },
17
41
  decorators: [
18
42
  (Story) => (
@@ -31,10 +55,11 @@ export default {
31
55
  }
32
56
 
33
57
  export const Default = {
34
- render: () => {
58
+ render: (args) => {
35
59
  const [value, setValue] = useState(50)
36
60
  return (
37
61
  <SliderLibrary
62
+ {...args}
38
63
  value={value}
39
64
  onValueChange={setValue}
40
65
  formatValue={(v) => `${v}%`}
@@ -45,8 +70,9 @@ export const Default = {
45
70
  }
46
71
 
47
72
  export const Disabled = {
48
- render: () => (
73
+ render: (args) => (
49
74
  <SliderLibrary
75
+ {...args}
50
76
  value={75}
51
77
  onValueChange={() => {}}
52
78
  disabled
@@ -57,10 +83,11 @@ export const Disabled = {
57
83
 
58
84
  export const CustomRange = {
59
85
  name: 'Custom range (-12 to 12 dB)',
60
- render: () => {
86
+ render: (args) => {
61
87
  const [value, setValue] = useState(0)
62
88
  return (
63
89
  <SliderLibrary
90
+ {...args}
64
91
  value={value}
65
92
  onValueChange={setValue}
66
93
  min={-12}
@@ -74,26 +101,63 @@ export const CustomRange = {
74
101
  }
75
102
 
76
103
  export const WithoutTooltip = {
77
- render: () => {
104
+ args: {
105
+ showTooltip: false,
106
+ },
107
+ render: (args) => {
78
108
  const [value, setValue] = useState(50)
79
109
  return (
80
110
  <SliderLibrary
111
+ {...args}
81
112
  value={value}
82
113
  onValueChange={setValue}
83
- showTooltip={false}
84
114
  aria-label="Volume"
85
115
  />
86
116
  )
87
117
  },
88
118
  }
89
119
 
120
+ export const TooltipTiming = {
121
+ name: 'Tooltip timing',
122
+ args: {
123
+ tooltipDelayDuration: 200,
124
+ tooltipCloseDelay: 500,
125
+ },
126
+ render: (args) => {
127
+ const [value, setValue] = useState(50)
128
+ return (
129
+ <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>
130
+ <SliderLibrary
131
+ {...args}
132
+ value={value}
133
+ onValueChange={setValue}
134
+ formatValue={(v) => `${v}%`}
135
+ aria-label="Volume"
136
+ />
137
+ <span style={{ color: '#a1a1a1', fontSize: 12 }}>
138
+ Opens after {args.tooltipDelayDuration}ms · closes {args.tooltipCloseDelay}ms
139
+ after leave
140
+ </span>
141
+ </div>
142
+ )
143
+ },
144
+ parameters: {
145
+ docs: {
146
+ description: {
147
+ story:
148
+ 'Adjust `tooltipDelayDuration` (open) and `tooltipCloseDelay` (close grace) via controls.',
149
+ },
150
+ },
151
+ },
152
+ }
153
+
90
154
  export const WithLabel = {
91
- render: () => {
155
+ render: (args) => {
92
156
  const [value, setValue] = useState(30)
93
157
  return (
94
158
  <label style={{ display: 'flex', flexDirection: 'column', gap: 6 }}>
95
159
  <span style={{ color: '#fff', fontSize: 14 }}>Volume</span>
96
- <SliderLibrary value={value} onValueChange={setValue} />
160
+ <SliderLibrary {...args} value={value} onValueChange={setValue} />
97
161
  </label>
98
162
  )
99
163
  },
@@ -101,12 +165,13 @@ export const WithLabel = {
101
165
 
102
166
  export const ThumbDoubleClick = {
103
167
  name: 'Thumb double-click',
104
- render: () => {
168
+ render: (args) => {
105
169
  const defaultValue = 0
106
170
  const [value, setValue] = useState(35)
107
171
  return (
108
172
  <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>
109
173
  <SliderLibrary
174
+ {...args}
110
175
  value={value}
111
176
  onValueChange={setValue}
112
177
  onThumbDoubleClick={() => setValue(defaultValue)}