@app-studio/web 0.9.80 → 0.9.81

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.
Files changed (35) hide show
  1. package/dist/components/Accordion/Accordion/Accordion.type.d.ts +1 -1
  2. package/dist/components/Accordion/Accordion/Accordion.view.d.ts +1 -1
  3. package/dist/components/Badge/Badge/Badge.type.d.ts +1 -1
  4. package/dist/components/Card/Card/Card.type.d.ts +1 -1
  5. package/dist/components/ChatInput/ChatInput/ChatInput.type.d.ts +1 -1
  6. package/dist/components/ColorPicker/ColorPicker/ColorPicker.type.d.ts +1 -1
  7. package/dist/components/EmojiPicker/EmojiPicker/EmojiPicker.type.d.ts +1 -1
  8. package/dist/components/Form/ColorInput/ColorInput/ColorInput.type.d.ts +1 -1
  9. package/dist/components/Form/TagInput/TagInput/TagInput.type.d.ts +1 -1
  10. package/dist/components/Form/TextArea/TextArea/TextArea.type.d.ts +1 -1
  11. package/dist/components/Input/Input.type.d.ts +1 -1
  12. package/dist/components/Message/Message/Message.type.d.ts +1 -1
  13. package/dist/components/Modal/Modal/Modal.props.d.ts +2 -2
  14. package/dist/components/Slider/Slider/Slider.type.d.ts +1 -1
  15. package/dist/components/Title/Title/Title.props.d.ts +0 -5
  16. package/dist/components/Toggle/Toggle/Toggle.type.d.ts +1 -1
  17. package/dist/components/ToggleGroup/ToggleGroup/ToggleGroup.type.d.ts +1 -1
  18. package/dist/pages/tabs.page.d.ts +1 -1
  19. package/dist/web.cjs.development.js +61 -77
  20. package/dist/web.cjs.development.js.map +1 -1
  21. package/dist/web.cjs.production.min.js +1 -1
  22. package/dist/web.cjs.production.min.js.map +1 -1
  23. package/dist/web.esm.js +61 -77
  24. package/dist/web.esm.js.map +1 -1
  25. package/dist/web.umd.development.js +61 -77
  26. package/dist/web.umd.development.js.map +1 -1
  27. package/dist/web.umd.production.min.js +1 -1
  28. package/dist/web.umd.production.min.js.map +1 -1
  29. package/docs/components/Background.mdx +133 -134
  30. package/docs/components/Button.mdx +154 -131
  31. package/docs/components/Chart.mdx +93 -368
  32. package/docs/components/ProgressBar.mdx +77 -394
  33. package/docs/components/Title.mdx +102 -290
  34. package/package.json +1 -1
  35. package/docs/components/ChatInput.mdx +0 -1039
@@ -1,6 +1,6 @@
1
1
  # Title
2
2
 
3
- Displays customizable titles with highlighting, responsive sizing, and animation effects.
3
+ Displays customizable titles with highlighting, responsive sizing, animation effects, and multi-line support.
4
4
 
5
5
  ### **Import**
6
6
  ```tsx
@@ -13,9 +13,6 @@ import React from 'react';
13
13
  import { Vertical } from 'app-studio';
14
14
  import { Title } from '@app-studio/web';
15
15
 
16
- /**
17
- * Default Title examples showing different sizes
18
- */
19
16
  export const DefaultTitle = () => {
20
17
  return (
21
18
  <Vertical gap={32}>
@@ -23,257 +20,86 @@ export const DefaultTitle = () => {
23
20
  <Title size="sm">Small Title (sm)</Title>
24
21
  <Title size="md">Medium Title (md)</Title>
25
22
  <Title size="lg">Large Title (lg)</Title>
26
- <Title size="xl">Extra Large Title</Title>
23
+ <Title size="xl">Extra Large Title (xl)</Title>
27
24
  </Vertical>
28
25
  );
29
26
  };
30
27
  ```
31
28
 
32
- ### **animationLoop**
33
- Determines how many times the component's animation should repeat, or if it should loop infinitely.
29
+ ### **Line Breaks**
30
+ Use the pipe character `|` to force a line break within the title text.
34
31
 
35
- - **Type:** `number | 'infinite'`
36
- - **Default:** `1`
32
+ ```tsx
33
+ import React from 'react';
34
+ import { Title } from '@app-studio/web';
35
+
36
+ export const MultiLineTitle = () => (
37
+ <Title size="lg" highlightText="Breaking">
38
+ This title is | Breaking Lines | manually
39
+ </Title>
40
+ );
41
+ ```
42
+
43
+
44
+
45
+ ### **highlightText & Style**
46
+ Highlight specific words within the title text.
47
+
48
+ - **highlightText:** `string | string[]` - Text to match and highlight.
49
+ - **highlightStyle:** `HighlightStyle` - Visual style (`background`, `gradient`, `underline`, `glow`, `outline`).
50
+ - **highlightColor:** `string` - Primary highlight color.
51
+ - **highlightSecondaryColor:** `string` - Secondary color for gradients.
37
52
 
38
53
  ```tsx
39
54
  import React from 'react';
40
55
  import { Vertical } from 'app-studio';
41
56
  import { Title } from '@app-studio/web';
42
57
 
43
- /**
44
- * Examples of Title with different animation loop controls
45
- */
46
- export const AnimationLoopTitle = () => {
47
- return (
48
- <Vertical gap={48}>
49
- {/* Title with single play animation (default) */}
50
- <Title
51
- animate={{
52
- from: { opacity: 0, transform: 'translateY(-20px)' },
53
- to: { opacity: 1, transform: 'translateY(0)' },
54
- duration: '1s',
55
- timingFunction: 'ease-out',
56
- }}
57
- animationLoop={1}
58
- highlightText="Once"
59
- highlightStyle="background"
60
- highlightColor="theme.primary"
61
- >
62
- Animation Plays Once (Default)
63
- </Title>
64
-
65
- {/* Title with animation that plays 3 times */}
66
- <Title
67
- animate={{
68
- from: { transform: 'scale(0.8)' },
69
- to: { transform: 'scale(1)' },
70
- duration: '0.8s',
71
- timingFunction: 'ease-in-out',
72
- }}
73
- animationLoop={3}
74
- highlightText="Three"
75
- highlightStyle="gradient"
76
- highlightColor="theme.primary"
77
- highlightSecondaryColor="theme.secondary"
78
- >
79
- Animation Plays Three Times
80
- </Title>
81
-
82
- {/* Title with infinite animation loop */}
83
- <Title
84
- animate={{
85
- from: { transform: 'translateX(-10px)' },
86
- to: { transform: 'translateX(10px)' },
87
- duration: '2s',
88
- timingFunction: 'ease-in-out',
89
- direction: 'alternate',
90
- }}
91
- animationLoop="infinite"
92
- highlightText="Infinite"
93
- highlightStyle="glow"
94
- highlightColor="theme.accent"
95
- >
96
- Animation Loops Infinitely
97
- </Title>
98
-
99
- {/* Highlight animation with different loop control */}
100
- <Title
101
- highlightAnimate={{
102
- from: { transform: 'rotate(-5deg)' },
103
- to: { transform: 'rotate(5deg)' },
104
- duration: '1s',
105
- timingFunction: 'ease-in-out',
106
- direction: 'alternate',
107
- }}
108
- highlightAnimationLoop="infinite"
109
- highlightText="Wiggling"
110
- highlightStyle="outline"
111
- highlightColor="theme.warning"
112
- >
113
- Title with Wiggling Highlight
114
- </Title>
115
-
116
- {/* Both title and highlight with different loop controls */}
117
- <Title
118
- animate={{
119
- from: { opacity: 0.5 },
120
- to: { opacity: 1 },
121
- duration: '2s',
122
- timingFunction: 'ease-in-out',
123
- direction: 'alternate',
124
- }}
125
- animationLoop="infinite"
126
- highlightAnimate={{
127
- from: { backgroundColor: 'theme.primary' },
128
- to: { backgroundColor: 'theme.secondary' },
129
- duration: '1.5s',
130
- timingFunction: 'ease-in-out',
131
- direction: 'alternate',
132
- }}
133
- highlightAnimationLoop="infinite"
134
- highlightText="Pulsing"
135
- highlightStyle="background"
136
- >
137
- Title with Pulsing Background and Highlight
138
- </Title>
139
-
140
- {/* Bounce animation with limited loops */}
141
- <Title
142
- animate={{
143
- from: { transform: 'translateY(0)' },
144
- '20%': { transform: 'translateY(-30px)' },
145
- '40%': { transform: 'translateY(0)' },
146
- '60%': { transform: 'translateY(-15px)' },
147
- '80%': { transform: 'translateY(0)' },
148
- to: { transform: 'translateY(0)' },
149
- duration: '2s',
150
- timingFunction: 'ease-in-out',
151
- }}
152
- animationLoop={2}
153
- highlightText="Bounce"
154
- highlightStyle="background"
155
- highlightColor="theme.success"
156
- >
157
- Bounce Animation (2 Times)
158
- </Title>
159
-
160
- {/* Typewriter with infinite highlight animation */}
161
- <Title
162
- highlightAnimate={{
163
- from: { textShadow: '0 0 5px theme.primary' },
164
- to: { textShadow: '0 0 20px theme.primary' },
165
- duration: '1.5s',
166
- timingFunction: 'ease-in-out',
167
- direction: 'alternate',
168
- }}
169
- highlightAnimationLoop="infinite"
170
- highlightText="glowing"
171
- highlightStyle="glow"
172
- highlightColor="theme.primary"
173
- highlightTypewriter={true}
174
- highlightTypewriterDuration={2000}
175
- >
176
- Typewriter with glowing highlight
177
- </Title>
178
- </Vertical>
179
- );
180
- };
58
+ export const HighlightStyles = () => (
59
+ <Vertical gap={20}>
60
+ <Title highlightText="Background" highlightStyle="background">
61
+ Background Highlight
62
+ </Title>
63
+ <Title
64
+ highlightText="Gradient"
65
+ highlightStyle="gradient"
66
+ highlightColor="#705CFF"
67
+ highlightSecondaryColor="#FFC75C"
68
+ >
69
+ Gradient Highlight
70
+ </Title>
71
+ <Title highlightText="Underline" highlightStyle="underline">
72
+ Underline Highlight
73
+ </Title>
74
+ <Title highlightText="Glow" highlightStyle="glow" highlightColor="#10B981">
75
+ Glow Highlight
76
+ </Title>
77
+ </Vertical>
78
+ );
181
79
  ```
182
80
 
183
- ### **responsive**
184
- Enables responsive behavior for the title component, adjusting its display based on screen size.
81
+ ### **animationLoop**
82
+ Controls the loop behavior of title and highlight animations.
185
83
 
186
- - **Type:** `boolean`
187
- - **Default:** `true`
84
+ - **Type:** `number | 'infinite'`
85
+ - **Default:** `1`
188
86
 
189
87
  ```tsx
190
88
  import React from 'react';
191
89
  import { Title } from '@app-studio/web';
192
- import { Vertical } from 'app-studio';
193
90
 
194
- /**
195
- * Example of responsive Title using the new responsive prop
196
- */
197
- export const ResponsiveTitle = () => {
198
- return (
199
- <Vertical gap={32}>
200
- {/* Using the new responsive prop - automatically adapts based on size */}
201
- <Title
202
- size="xl"
203
- responsive={true}
204
- highlightText="Responsive"
205
- highlightStyle="background"
206
- highlightColor="theme.primary"
207
- >
208
- Responsive XL Title (H1 scale)
209
- </Title>
210
-
211
- <Title
212
- size="lg"
213
- responsive={true}
214
- highlightText="Responsive"
215
- highlightStyle="gradient"
216
- highlightColor="theme.primary"
217
- highlightSecondaryColor="theme.secondary"
218
- >
219
- Responsive LG Title (H2 scale)
220
- </Title>
221
-
222
- <Title
223
- size="md"
224
- responsive={true}
225
- highlightText="Responsive"
226
- highlightStyle="underline"
227
- highlightColor="theme.accent"
228
- >
229
- Responsive MD Title (H3 scale)
230
- </Title>
231
-
232
- <Title
233
- size="sm"
234
- responsive={true}
235
- highlightText="Responsive"
236
- highlightStyle="glow"
237
- highlightColor="theme.primary"
238
- >
239
- Responsive SM Title (T1 scale)
240
- </Title>
241
-
242
- <Title
243
- size="xs"
244
- responsive={true}
245
- highlightText="Responsive"
246
- highlightStyle="outline"
247
- highlightColor="theme.secondary"
248
- >
249
- Responsive XS Title (S1 scale)
250
- </Title>
251
-
252
- {/* Legacy example using manual media queries */}
253
- <Title
254
- media={{
255
- mobile: {
256
- fontSize: 32,
257
- lineHeight: '100%',
258
- },
259
- tablet: {
260
- fontSize: 48,
261
- lineHeight: '110%',
262
- },
263
- desktop: {
264
- fontSize: 64,
265
- lineHeight: '120%',
266
- },
267
- }}
268
- highlightText="Manual"
269
- highlightStyle="background"
270
- highlightColor="theme.primary"
271
- >
272
- Manual Media Queries Title
273
- </Title>
274
- </Vertical>
275
- );
276
- };
91
+ export const AnimatedLoopTitle = () => (
92
+ <Title
93
+ animate={{
94
+ from: { transform: 'translateY(10px)', opacity: 0 },
95
+ to: { transform: 'translateY(0)', opacity: 1 },
96
+ duration: '1s'
97
+ }}
98
+ animationLoop="infinite"
99
+ >
100
+ Infinitely Bouncing Title
101
+ </Title>
102
+ );
277
103
  ```
278
104
 
279
105
  ### **highlightTypewriter**
@@ -281,91 +107,77 @@ Adds a typewriter effect to the highlighted text.
281
107
 
282
108
  - **Type:** `boolean`
283
109
  - **Default:** `false`
110
+ - **related:** `highlightTypewriterDuration` (ms)
284
111
 
285
112
  ```tsx
286
113
  import React from 'react';
287
114
  import { Title } from '@app-studio/web';
288
- import { Vertical } from 'app-studio';
289
115
 
290
116
  export const TypewriterTitle = () => (
291
- <Vertical gap={32}>
292
- <Title
293
- size="md"
294
- highlightText="Typewriter Effect"
295
- highlightTypewriter={true}
296
- highlightTypewriterDuration={3000}
297
- highlightStyle="gradient"
298
- highlightColor="theme.primary"
299
- highlightSecondaryColor="theme.secondary"
300
- >
301
- Title with
302
- </Title>
303
- </Vertical>
117
+ <Title
118
+ highlightText="Typewriter output"
119
+ highlightTypewriter
120
+ highlightTypewriterDuration={2000}
121
+ highlightStyle="background"
122
+ >
123
+ Displaying: Typewriter output
124
+ </Title>
304
125
  );
305
126
  ```
306
127
 
307
128
  ### **highlightSlide**
308
- Adds a slide entry effect to the highlighted text.
129
+ Adds a sliding entry effect to the highlighted text words.
309
130
 
310
131
  - **Type:** `boolean`
311
132
  - **Default:** `false`
133
+ - **related:** `highlightSlideDuration`, `highlightSlideStagger`, `highlightSlideSequential`
312
134
 
313
135
  ```tsx
314
136
  import React from 'react';
315
137
  import { Title } from '@app-studio/web';
316
- import { Vertical } from 'app-studio';
317
138
 
318
139
  export const SlideTitle = () => (
319
- <Vertical gap={32}>
320
- <Title
321
- size="md"
322
- highlightText="Slide Effect"
323
- highlightSlide={true}
324
- highlightSlideDuration={500}
325
- highlightStyle="background"
326
- highlightColor="theme.accent"
327
- >
328
- Title with
329
- </Title>
330
-
331
- <Title
332
- size="md"
333
- highlightText={["Slide", "Effect", "Multiple"]}
334
- highlightSlide={true}
335
- highlightSlideSequential={true}
336
- highlightSlideStagger={200}
337
- highlightStyle="underline"
338
- highlightColor="theme.primary"
339
- >
340
- Sequential
341
- </Title>
342
- </Vertical>
140
+ <Title
141
+ highlightText={["Slide", "Effect", "Demo"]}
142
+ highlightSlide
143
+ highlightSlideSequential={true}
144
+ highlightStyle="underline"
145
+ >
146
+ Welcome to the Slide Effect Demo
147
+ </Title>
343
148
  );
344
149
  ```
345
150
 
151
+ ### **responsive**
152
+ Enables automatic responsive sizing adjustments based on screen width.
153
+
154
+ - **Type:** `boolean`
155
+ - **Default:** `false`
156
+
157
+ ```tsx
158
+ <Title size="xl" responsive>
159
+ Responsive Title
160
+ </Title>
161
+ ```
162
+
346
163
  ### **alternateHighlightText**
347
164
  Cycles through an array of strings, replacing the highlighted text.
348
165
 
349
166
  - **Type:** `string[]`
167
+ - **related:** `alternateAnimation`, `alternateDuration`
350
168
 
351
169
  ```tsx
352
170
  import React from 'react';
353
171
  import { Title } from '@app-studio/web';
354
- import { Vertical } from 'app-studio';
355
172
 
356
- export const AlternateTitle = () => (
357
- <Vertical gap={32}>
358
- <Title
359
- size="md"
360
- highlightText="Amazing"
361
- alternateHighlightText={['Incredible', 'Fantastic', 'Awesome']}
362
- alternateAnimation={true}
363
- alternateDuration={2000}
364
- highlightStyle="underline"
365
- highlightColor="theme.success"
366
- >
367
- Title with Rotating Words:
368
- </Title>
369
- </Vertical>
173
+ export const RotatingTitle = () => (
174
+ <Title
175
+ highlightText="Design"
176
+ alternateHighlightText={['Develop', 'Deploy', 'Scale']}
177
+ alternateAnimation
178
+ highlightStyle="gradient"
179
+ >
180
+ We help you Design better apps.
181
+ </Title>
370
182
  );
371
183
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@app-studio/web",
3
- "version": "0.9.80",
3
+ "version": "0.9.81",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/components/index.d.ts",
6
6
  "files": [