aural-ui 3.0.6 → 4.0.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/components/aspect-ratio/AspectRatio.stories.tsx +271 -242
- package/dist/components/avatar/Avatar.stories.tsx +84 -70
- package/dist/components/button/Button.stories.tsx +7 -7
- package/dist/components/button/index.tsx +7 -7
- package/dist/components/card/Card.stories.tsx +3 -3
- package/dist/components/char-count/CharCount.stories.tsx +9 -9
- package/dist/components/circular-loader/CircularLoader.stories.tsx +109 -93
- package/dist/components/clamp-lines/ClampLines.stories.tsx +25 -0
- package/dist/components/clamp-lines/index.tsx +6 -1
- package/dist/components/collapsible/Collapsible.stories.tsx +1 -1
- package/dist/components/command/Command.stories.tsx +52 -38
- package/dist/components/dialog/Dialog.stories.tsx +89 -84
- package/dist/components/divider/Divider.stories.tsx +86 -60
- package/dist/components/dot-loader/DotLoader.stories.tsx +12 -12
- package/dist/components/drawer/Drawer.stories.tsx +74 -44
- package/dist/components/drawer/index.tsx +3 -3
- package/dist/components/dropdown/Dropdown.stories.tsx +42 -32
- package/dist/components/helper-text/HelperText.stories.tsx +2 -2
- package/dist/components/hover-card/HoverCard.stories.tsx +211 -178
- package/dist/components/input/Input.stories.tsx +2 -2
- package/dist/components/input/index.tsx +2 -0
- package/dist/components/label/Label.stories.tsx +10 -10
- package/dist/components/list/List.stories.tsx +58 -44
- package/dist/components/marquee/Marquee.stories.tsx +131 -113
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +47 -35
- package/dist/components/overlay/Overlay.stories.tsx +98 -92
- package/dist/components/overlay/index.tsx +4 -4
- package/dist/components/popover/Popover.stories.tsx +132 -106
- package/dist/components/radio/Radio.stories.tsx +2 -2
- package/dist/components/resizable/Resizable.stories.tsx +186 -138
- package/dist/components/scroll-area/ScrollArea.stories.tsx +174 -120
- package/dist/components/search/Search.stories.tsx +81 -59
- package/dist/components/select/Select.stories.tsx +3 -1
- package/dist/components/sheet/Sheet.stories.tsx +68 -54
- package/dist/components/slider/Slider.stories.tsx +71 -47
- package/dist/components/stepper/Stepper.stories.tsx +16 -16
- package/dist/components/switch/Switch.stories.tsx +12 -12
- package/dist/components/table/Table.stories.tsx +8 -6
- package/dist/components/tabs/Tabs.stories.tsx +324 -268
- package/dist/components/textarea/TextArea.stories.tsx +1 -1
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +16 -10
- package/dist/components/toast/Toast.stories.tsx +51 -45
- package/dist/components/toggle/Toggle.stories.tsx +111 -89
- package/dist/components/tooltip/Tooltip.stories.tsx +160 -144
- package/dist/icons/Icons.stories.tsx +2 -2
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +287 -237
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +290 -248
- package/dist/icons/all-icons.tsx +97 -81
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +312 -270
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +294 -244
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +309 -279
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +294 -258
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +289 -255
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +288 -256
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +322 -288
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +340 -296
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +197 -177
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +390 -328
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +313 -277
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +367 -309
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +356 -308
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +280 -234
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +370 -326
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +300 -256
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +298 -262
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +294 -260
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +291 -259
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +286 -256
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +282 -256
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +292 -256
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +338 -290
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +167 -148
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +342 -296
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +342 -296
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +280 -238
- package/dist/icons/command-icon/CommandIcon.stories.tsx +328 -280
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +294 -256
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +285 -235
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +308 -266
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +271 -231
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +330 -278
- package/dist/icons/email-icon/EmailIcon.stories.tsx +303 -257
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +324 -286
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +317 -271
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +320 -272
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +322 -280
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +315 -277
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +199 -177
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +304 -264
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +311 -277
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +327 -287
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +314 -278
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +113 -98
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +274 -226
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +349 -303
- package/dist/icons/head-icon/HeadIcon.stories.tsx +286 -246
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +312 -268
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +246 -210
- package/dist/icons/image-icon/ImageIcon.stories.tsx +330 -284
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +326 -282
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +330 -294
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +288 -234
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +386 -330
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +305 -263
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +295 -259
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +296 -256
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +322 -282
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +399 -359
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +314 -272
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +238 -206
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +322 -276
- package/dist/icons/message-icon/MessageIcon.stories.tsx +192 -170
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +348 -304
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +191 -167
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +380 -326
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +345 -291
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +310 -266
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +311 -271
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +311 -271
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +309 -271
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +248 -210
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +310 -262
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +274 -236
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +324 -280
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +323 -281
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +288 -240
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +315 -273
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +278 -234
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +161 -151
- package/dist/icons/search-icon/SearchIcon.stories.tsx +324 -284
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +306 -264
- package/dist/icons/share-icon/ShareIcon.stories.tsx +314 -272
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +281 -235
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +309 -250
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +317 -279
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +315 -279
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +299 -253
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +185 -169
- package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +192 -168
- package/dist/icons/spinner-solid-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +212 -178
- package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
- package/dist/icons/star-icon/StarIcon.stories.tsx +290 -244
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +286 -234
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +272 -230
- package/dist/icons/sun-icon/SunIcon.stories.tsx +262 -226
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +321 -279
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +332 -282
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +394 -342
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +338 -290
- package/dist/icons/tick-icon/TickIcon.stories.tsx +364 -315
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +293 -253
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +396 -338
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +291 -247
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +309 -271
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +336 -290
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +382 -334
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +349 -305
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +327 -295
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +336 -296
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +314 -274
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +311 -261
- package/dist/index.cjs +84 -84
- package/dist/index.js +84 -84
- package/dist/styles/aural-all-theme.css +1222 -0
- package/dist/styles/{aural-theme.css → aural-dark-theme.css} +15 -3
- package/dist/styles/aural-light-theme.css +1047 -0
- package/package.json +1 -1
|
@@ -78,7 +78,7 @@ A flexible overlay component for creating modal backgrounds, loading states, and
|
|
|
78
78
|
### Loading State
|
|
79
79
|
\`\`\`tsx
|
|
80
80
|
<Overlay opacity="medium" glass="high">
|
|
81
|
-
<div className="text-
|
|
81
|
+
<div className="text-fm-primary">Loading...</div>
|
|
82
82
|
</Overlay>
|
|
83
83
|
\`\`\`
|
|
84
84
|
`,
|
|
@@ -99,7 +99,7 @@ const BackgroundContent = () => (
|
|
|
99
99
|
<h1 className="mb-4 text-4xl font-bold text-white">
|
|
100
100
|
Background Content
|
|
101
101
|
</h1>
|
|
102
|
-
<p className="text-
|
|
102
|
+
<p className="text-fm-tertiary">
|
|
103
103
|
This content sits behind the overlay to demonstrate the effects
|
|
104
104
|
</p>
|
|
105
105
|
</header>
|
|
@@ -108,11 +108,11 @@ const BackgroundContent = () => (
|
|
|
108
108
|
{Array.from({ length: 6 }, (_, i) => (
|
|
109
109
|
<div
|
|
110
110
|
key={i}
|
|
111
|
-
className="
|
|
111
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary/80 rounded-lg border p-6"
|
|
112
112
|
>
|
|
113
113
|
<div className="mb-4">
|
|
114
114
|
<h3 className="text-lg font-semibold text-white">Card {i + 1}</h3>
|
|
115
|
-
<p className="text-
|
|
115
|
+
<p className="text-fm-secondary text-sm">
|
|
116
116
|
Sample card content with some description text
|
|
117
117
|
</p>
|
|
118
118
|
</div>
|
|
@@ -122,7 +122,7 @@ const BackgroundContent = () => (
|
|
|
122
122
|
Image Placeholder
|
|
123
123
|
</span>
|
|
124
124
|
</div>
|
|
125
|
-
<p className="text-
|
|
125
|
+
<p className="text-fm-tertiary text-sm">
|
|
126
126
|
This is some sample content that demonstrates how the overlay
|
|
127
127
|
affects background visibility and readability.
|
|
128
128
|
</p>
|
|
@@ -151,8 +151,10 @@ export const OpacityVariants: Story = {
|
|
|
151
151
|
|
|
152
152
|
{/* Control Panel */}
|
|
153
153
|
<div className="fixed top-4 left-4 z-50 space-y-2">
|
|
154
|
-
<div className="space-y-2 rounded-lg
|
|
155
|
-
<h3 className="text-sm font-medium
|
|
154
|
+
<div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
|
|
155
|
+
<h3 className="text-fm-primary text-sm font-medium">
|
|
156
|
+
Opacity Variants
|
|
157
|
+
</h3>
|
|
156
158
|
<div className="space-y-2">
|
|
157
159
|
<Button
|
|
158
160
|
size="sm"
|
|
@@ -211,11 +213,11 @@ export const OpacityVariants: Story = {
|
|
|
211
213
|
{/* Overlays */}
|
|
212
214
|
{activeOverlay === "low" && (
|
|
213
215
|
<Overlay opacity="low">
|
|
214
|
-
<div className="max-w-md rounded-lg border
|
|
215
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
216
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
217
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
216
218
|
Low Opacity Overlay
|
|
217
219
|
</h3>
|
|
218
|
-
<p className="text-
|
|
220
|
+
<p className="text-fm-secondary text-sm">
|
|
219
221
|
40% background dimming - Background remains quite visible
|
|
220
222
|
</p>
|
|
221
223
|
</div>
|
|
@@ -224,11 +226,11 @@ export const OpacityVariants: Story = {
|
|
|
224
226
|
|
|
225
227
|
{activeOverlay === "medium" && (
|
|
226
228
|
<Overlay opacity="medium">
|
|
227
|
-
<div className="max-w-md rounded-lg border
|
|
228
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
229
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
230
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
229
231
|
Medium Opacity Overlay
|
|
230
232
|
</h3>
|
|
231
|
-
<p className="text-
|
|
233
|
+
<p className="text-fm-secondary text-sm">
|
|
232
234
|
60% background dimming - Balanced visibility
|
|
233
235
|
</p>
|
|
234
236
|
</div>
|
|
@@ -237,11 +239,11 @@ export const OpacityVariants: Story = {
|
|
|
237
239
|
|
|
238
240
|
{activeOverlay === "high" && (
|
|
239
241
|
<Overlay opacity="high">
|
|
240
|
-
<div className="max-w-md rounded-lg border
|
|
241
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
242
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
243
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
242
244
|
High Opacity Overlay
|
|
243
245
|
</h3>
|
|
244
|
-
<p className="text-
|
|
246
|
+
<p className="text-fm-secondary text-sm">
|
|
245
247
|
80% background dimming - Strong focus on overlay content
|
|
246
248
|
</p>
|
|
247
249
|
</div>
|
|
@@ -250,11 +252,11 @@ export const OpacityVariants: Story = {
|
|
|
250
252
|
|
|
251
253
|
{activeOverlay === "none" && (
|
|
252
254
|
<Overlay opacity="none">
|
|
253
|
-
<div className="max-w-md rounded-lg border
|
|
254
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
255
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
256
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
255
257
|
No Opacity Overlay
|
|
256
258
|
</h3>
|
|
257
|
-
<p className="text-
|
|
259
|
+
<p className="text-fm-secondary text-sm">
|
|
258
260
|
100% background coverage - Complete background blocking
|
|
259
261
|
</p>
|
|
260
262
|
</div>
|
|
@@ -284,8 +286,8 @@ export const GlassEffectVariants: Story = {
|
|
|
284
286
|
|
|
285
287
|
{/* Control Panel */}
|
|
286
288
|
<div className="fixed top-4 right-4 z-50 space-y-2">
|
|
287
|
-
<div className="space-y-2 rounded-lg
|
|
288
|
-
<h3 className="text-sm font-medium
|
|
289
|
+
<div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
|
|
290
|
+
<h3 className="text-fm-primary text-sm font-medium">
|
|
289
291
|
Glass Effect Variants
|
|
290
292
|
</h3>
|
|
291
293
|
<div className="space-y-2">
|
|
@@ -346,11 +348,11 @@ export const GlassEffectVariants: Story = {
|
|
|
346
348
|
{/* Glass Effect Overlays */}
|
|
347
349
|
{activeGlass === "none" && (
|
|
348
350
|
<Overlay opacity="medium" glass="none">
|
|
349
|
-
<div className="max-w-md rounded-lg border
|
|
350
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
351
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
|
|
352
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
351
353
|
No Glass Effect
|
|
352
354
|
</h3>
|
|
353
|
-
<p className="text-
|
|
355
|
+
<p className="text-fm-secondary text-sm">
|
|
354
356
|
Clean overlay without backdrop blur
|
|
355
357
|
</p>
|
|
356
358
|
</div>
|
|
@@ -359,11 +361,11 @@ export const GlassEffectVariants: Story = {
|
|
|
359
361
|
|
|
360
362
|
{activeGlass === "low" && (
|
|
361
363
|
<Overlay opacity="medium" glass="low">
|
|
362
|
-
<div className="max-w-md rounded-lg border
|
|
363
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
364
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
|
|
365
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
364
366
|
Low Glass Effect
|
|
365
367
|
</h3>
|
|
366
|
-
<p className="text-
|
|
368
|
+
<p className="text-fm-secondary text-sm">
|
|
367
369
|
Subtle backdrop blur for gentle glass effect
|
|
368
370
|
</p>
|
|
369
371
|
</div>
|
|
@@ -372,11 +374,11 @@ export const GlassEffectVariants: Story = {
|
|
|
372
374
|
|
|
373
375
|
{activeGlass === "medium" && (
|
|
374
376
|
<Overlay opacity="medium" glass="medium">
|
|
375
|
-
<div className="max-w-md rounded-lg border
|
|
376
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
377
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
|
|
378
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
377
379
|
Medium Glass Effect
|
|
378
380
|
</h3>
|
|
379
|
-
<p className="text-
|
|
381
|
+
<p className="text-fm-secondary text-sm">
|
|
380
382
|
Balanced backdrop blur for modern glass aesthetics
|
|
381
383
|
</p>
|
|
382
384
|
</div>
|
|
@@ -385,11 +387,11 @@ export const GlassEffectVariants: Story = {
|
|
|
385
387
|
|
|
386
388
|
{activeGlass === "high" && (
|
|
387
389
|
<Overlay opacity="medium" glass="high">
|
|
388
|
-
<div className="max-w-md rounded-lg border
|
|
389
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
390
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6">
|
|
391
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
390
392
|
High Glass Effect
|
|
391
393
|
</h3>
|
|
392
|
-
<p className="text-
|
|
394
|
+
<p className="text-fm-secondary text-sm">
|
|
393
395
|
Strong backdrop blur for premium frosted glass look
|
|
394
396
|
</p>
|
|
395
397
|
</div>
|
|
@@ -424,8 +426,8 @@ export const LoadingStates: Story = {
|
|
|
424
426
|
|
|
425
427
|
{/* Control Panel */}
|
|
426
428
|
<div className="fixed top-4 left-1/2 z-50 -translate-x-1/2 transform">
|
|
427
|
-
<div className="space-y-2 rounded-lg
|
|
428
|
-
<h3 className="text-center text-sm font-medium
|
|
429
|
+
<div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
|
|
430
|
+
<h3 className="text-fm-primary text-center text-sm font-medium">
|
|
429
431
|
Loading States
|
|
430
432
|
</h3>
|
|
431
433
|
<div className="flex gap-2">
|
|
@@ -457,10 +459,10 @@ export const LoadingStates: Story = {
|
|
|
457
459
|
{/* Loading Overlays */}
|
|
458
460
|
{loadingType === "spinner" && (
|
|
459
461
|
<Overlay opacity="high" glass="medium">
|
|
460
|
-
<div className="text-
|
|
461
|
-
<div className="mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2
|
|
462
|
+
<div className="text-fm-primary text-center">
|
|
463
|
+
<div className="border-fm-primary mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2"></div>
|
|
462
464
|
<h3 className="mb-2 text-lg font-medium">Loading...</h3>
|
|
463
|
-
<p className="text-
|
|
465
|
+
<p className="text-fm-secondary">
|
|
464
466
|
Please wait while we process your request
|
|
465
467
|
</p>
|
|
466
468
|
</div>
|
|
@@ -469,16 +471,16 @@ export const LoadingStates: Story = {
|
|
|
469
471
|
|
|
470
472
|
{loadingType === "progress" && (
|
|
471
473
|
<Overlay opacity="high" glass="low">
|
|
472
|
-
<div className="min-w-80 rounded-lg border
|
|
473
|
-
<div className="text-
|
|
474
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 min-w-80 rounded-lg border p-6 backdrop-blur-sm">
|
|
475
|
+
<div className="text-fm-primary text-center">
|
|
474
476
|
<h3 className="mb-4 text-lg font-medium">Uploading Files</h3>
|
|
475
|
-
<div className="mb-4 h-2 w-full rounded-full
|
|
477
|
+
<div className="bg-fm-surface-tertiary mb-4 h-2 w-full rounded-full">
|
|
476
478
|
<div
|
|
477
|
-
className="h-2 animate-pulse rounded-full
|
|
479
|
+
className="bg-fm-info h-2 animate-pulse rounded-full"
|
|
478
480
|
style={{ width: "65%" }}
|
|
479
481
|
></div>
|
|
480
482
|
</div>
|
|
481
|
-
<p className="text-
|
|
483
|
+
<p className="text-fm-secondary">
|
|
482
484
|
65% complete - 3 of 5 files uploaded
|
|
483
485
|
</p>
|
|
484
486
|
</div>
|
|
@@ -488,20 +490,20 @@ export const LoadingStates: Story = {
|
|
|
488
490
|
|
|
489
491
|
{loadingType === "dots" && (
|
|
490
492
|
<Overlay opacity="medium" glass="high">
|
|
491
|
-
<div className="text-
|
|
493
|
+
<div className="text-fm-primary text-center">
|
|
492
494
|
<div className="mb-4 flex items-center justify-center space-x-2">
|
|
493
|
-
<div className="h-3 w-3 animate-bounce rounded-full
|
|
495
|
+
<div className="bg-fm-primary h-3 w-3 animate-bounce rounded-full"></div>
|
|
494
496
|
<div
|
|
495
|
-
className="h-3 w-3 animate-bounce rounded-full
|
|
497
|
+
className="bg-fm-primary h-3 w-3 animate-bounce rounded-full"
|
|
496
498
|
style={{ animationDelay: "0.1s" }}
|
|
497
499
|
></div>
|
|
498
500
|
<div
|
|
499
|
-
className="h-3 w-3 animate-bounce rounded-full
|
|
501
|
+
className="bg-fm-primary h-3 w-3 animate-bounce rounded-full"
|
|
500
502
|
style={{ animationDelay: "0.2s" }}
|
|
501
503
|
></div>
|
|
502
504
|
</div>
|
|
503
505
|
<h3 className="mb-2 text-lg font-medium">Processing</h3>
|
|
504
|
-
<p className="text-
|
|
506
|
+
<p className="text-fm-secondary">Analyzing your data...</p>
|
|
505
507
|
</div>
|
|
506
508
|
</Overlay>
|
|
507
509
|
)}
|
|
@@ -531,8 +533,8 @@ export const InteractiveExamples: Story = {
|
|
|
531
533
|
|
|
532
534
|
{/* Control Panel */}
|
|
533
535
|
<div className="fixed top-4 left-1/2 z-50 -translate-x-1/2 transform">
|
|
534
|
-
<div className="space-y-2 rounded-lg
|
|
535
|
-
<h3 className="text-center text-sm font-medium
|
|
536
|
+
<div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
|
|
537
|
+
<h3 className="text-fm-primary text-center text-sm font-medium">
|
|
536
538
|
Interactive Examples
|
|
537
539
|
</h3>
|
|
538
540
|
<div className="flex gap-2">
|
|
@@ -556,23 +558,25 @@ export const InteractiveExamples: Story = {
|
|
|
556
558
|
{/* Search Modal */}
|
|
557
559
|
{showSearch && (
|
|
558
560
|
<Overlay opacity="medium" glass="medium">
|
|
559
|
-
<div className="w-full max-w-lg rounded-lg border
|
|
561
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 w-full max-w-lg rounded-lg border p-6 backdrop-blur-sm">
|
|
560
562
|
<div className="mb-4 flex items-center justify-between">
|
|
561
|
-
<h3 className="text-lg font-semibold
|
|
563
|
+
<h3 className="text-fm-primary text-lg font-semibold">
|
|
564
|
+
Search
|
|
565
|
+
</h3>
|
|
562
566
|
<button
|
|
563
567
|
onClick={() => setShowSearch(false)}
|
|
564
|
-
className="rounded-full p-2
|
|
568
|
+
className="text-fm-primary hover:bg-fm-surface-secondary rounded-full p-2"
|
|
565
569
|
>
|
|
566
570
|
<CrossIcon className="h-4 w-4" />
|
|
567
571
|
</button>
|
|
568
572
|
</div>
|
|
569
573
|
<div className="space-y-4">
|
|
570
574
|
<div className="relative">
|
|
571
|
-
<SearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2
|
|
575
|
+
<SearchIcon className="text-fm-secondary absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
|
|
572
576
|
<input
|
|
573
577
|
type="text"
|
|
574
578
|
placeholder="Search anything..."
|
|
575
|
-
className="w-full rounded-lg border
|
|
579
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary text-fm-primary placeholder:text-fm-tertiary focus:border-fm-divider-primary w-full rounded-lg border py-3 pr-4 pl-10 focus:outline-none"
|
|
576
580
|
/>
|
|
577
581
|
</div>
|
|
578
582
|
<div className="space-y-2">
|
|
@@ -580,10 +584,10 @@ export const InteractiveExamples: Story = {
|
|
|
580
584
|
(item, i) => (
|
|
581
585
|
<div
|
|
582
586
|
key={i}
|
|
583
|
-
className="flex items-center gap-3 rounded-lg p-3
|
|
587
|
+
className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-3"
|
|
584
588
|
>
|
|
585
|
-
<SearchIcon className="h-4 w-4
|
|
586
|
-
<span className="text-
|
|
589
|
+
<SearchIcon className="text-fm-secondary h-4 w-4" />
|
|
590
|
+
<span className="text-fm-primary">{item}</span>
|
|
587
591
|
</div>
|
|
588
592
|
)
|
|
589
593
|
)}
|
|
@@ -596,12 +600,14 @@ export const InteractiveExamples: Story = {
|
|
|
596
600
|
{/* Settings Modal */}
|
|
597
601
|
{showSettings && (
|
|
598
602
|
<Overlay opacity="high" glass="low">
|
|
599
|
-
<div className="w-full max-w-md rounded-lg border
|
|
603
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 w-full max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
600
604
|
<div className="mb-4 flex items-center justify-between">
|
|
601
|
-
<h3 className="text-lg font-semibold
|
|
605
|
+
<h3 className="text-fm-primary text-lg font-semibold">
|
|
606
|
+
Settings
|
|
607
|
+
</h3>
|
|
602
608
|
<button
|
|
603
609
|
onClick={() => setShowSettings(false)}
|
|
604
|
-
className="rounded-full p-2
|
|
610
|
+
className="text-fm-primary hover:bg-fm-surface-secondary rounded-full p-2"
|
|
605
611
|
>
|
|
606
612
|
<CrossIcon className="h-4 w-4" />
|
|
607
613
|
</button>
|
|
@@ -614,13 +620,13 @@ export const InteractiveExamples: Story = {
|
|
|
614
620
|
].map((item, i) => (
|
|
615
621
|
<div
|
|
616
622
|
key={i}
|
|
617
|
-
className="flex items-center justify-between rounded-lg p-3
|
|
623
|
+
className="hover:bg-fm-surface-secondary flex items-center justify-between rounded-lg p-3"
|
|
618
624
|
>
|
|
619
625
|
<div className="flex items-center gap-3">
|
|
620
|
-
<item.icon className="h-5 w-5
|
|
621
|
-
<span className="text-
|
|
626
|
+
<item.icon className="text-fm-secondary h-5 w-5" />
|
|
627
|
+
<span className="text-fm-primary">{item.label}</span>
|
|
622
628
|
</div>
|
|
623
|
-
<ChevronRightIcon className="h-4 w-4
|
|
629
|
+
<ChevronRightIcon className="text-fm-secondary h-4 w-4" />
|
|
624
630
|
</div>
|
|
625
631
|
))}
|
|
626
632
|
</div>
|
|
@@ -631,13 +637,13 @@ export const InteractiveExamples: Story = {
|
|
|
631
637
|
{/* Confirmation Modal */}
|
|
632
638
|
{showConfirm && (
|
|
633
639
|
<Overlay opacity="high" glass="high">
|
|
634
|
-
<div className="w-full max-w-sm rounded-lg border
|
|
640
|
+
<div className="border-fm-divider-negative bg-fm-surface-negative-sec w-full max-w-sm rounded-lg border p-6 backdrop-blur-sm">
|
|
635
641
|
<div className="text-center">
|
|
636
|
-
<AlertIcon className="mx-auto mb-4 h-12 w-12
|
|
637
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
642
|
+
<AlertIcon className="text-fm-negative mx-auto mb-4 h-12 w-12" />
|
|
643
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
638
644
|
Confirm Action
|
|
639
645
|
</h3>
|
|
640
|
-
<p className="mb-6 text-sm
|
|
646
|
+
<p className="text-fm-secondary mb-6 text-sm">
|
|
641
647
|
This action cannot be undone. Are you sure you want to
|
|
642
648
|
continue?
|
|
643
649
|
</p>
|
|
@@ -687,8 +693,8 @@ export const NoiseTextureVariants: Story = {
|
|
|
687
693
|
|
|
688
694
|
{/* Control Panel */}
|
|
689
695
|
<div className="fixed bottom-4 left-1/2 z-50 -translate-x-1/2 transform">
|
|
690
|
-
<div className="space-y-2 rounded-lg
|
|
691
|
-
<h3 className="text-center text-sm font-medium
|
|
696
|
+
<div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
|
|
697
|
+
<h3 className="text-fm-primary text-center text-sm font-medium">
|
|
692
698
|
Noise Texture Variants
|
|
693
699
|
</h3>
|
|
694
700
|
<div className="flex gap-2">
|
|
@@ -745,11 +751,11 @@ export const NoiseTextureVariants: Story = {
|
|
|
745
751
|
{/* Noise Overlays */}
|
|
746
752
|
{activeNoise === "none" && (
|
|
747
753
|
<Overlay opacity="medium" glass="low" noise="none">
|
|
748
|
-
<div className="max-w-md rounded-lg border
|
|
749
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
754
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
755
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
750
756
|
No Noise Texture
|
|
751
757
|
</h3>
|
|
752
|
-
<p className="text-
|
|
758
|
+
<p className="text-fm-secondary text-sm">
|
|
753
759
|
Clean overlay without any texture patterns
|
|
754
760
|
</p>
|
|
755
761
|
</div>
|
|
@@ -758,11 +764,11 @@ export const NoiseTextureVariants: Story = {
|
|
|
758
764
|
|
|
759
765
|
{activeNoise === "low" && (
|
|
760
766
|
<Overlay opacity="medium" glass="low" noise="low">
|
|
761
|
-
<div className="max-w-md rounded-lg border
|
|
762
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
767
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
768
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
763
769
|
Low Noise Texture
|
|
764
770
|
</h3>
|
|
765
|
-
<p className="text-
|
|
771
|
+
<p className="text-fm-secondary text-sm">
|
|
766
772
|
Subtle noise pattern for added visual interest
|
|
767
773
|
</p>
|
|
768
774
|
</div>
|
|
@@ -771,11 +777,11 @@ export const NoiseTextureVariants: Story = {
|
|
|
771
777
|
|
|
772
778
|
{activeNoise === "medium" && (
|
|
773
779
|
<Overlay opacity="medium" glass="low" noise="medium">
|
|
774
|
-
<div className="max-w-md rounded-lg border
|
|
775
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
780
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
781
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
776
782
|
Medium Noise Texture
|
|
777
783
|
</h3>
|
|
778
|
-
<p className="text-
|
|
784
|
+
<p className="text-fm-secondary text-sm">
|
|
779
785
|
Balanced noise pattern for enhanced texture
|
|
780
786
|
</p>
|
|
781
787
|
</div>
|
|
@@ -784,11 +790,11 @@ export const NoiseTextureVariants: Story = {
|
|
|
784
790
|
|
|
785
791
|
{activeNoise === "high" && (
|
|
786
792
|
<Overlay opacity="medium" glass="low" noise="high">
|
|
787
|
-
<div className="max-w-md rounded-lg border
|
|
788
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
793
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
794
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
789
795
|
High Noise Texture
|
|
790
796
|
</h3>
|
|
791
|
-
<p className="text-
|
|
797
|
+
<p className="text-fm-secondary text-sm">
|
|
792
798
|
Prominent noise pattern for dramatic effect
|
|
793
799
|
</p>
|
|
794
800
|
</div>
|
|
@@ -856,8 +862,8 @@ export const CombinedEffectsShowcase: Story = {
|
|
|
856
862
|
|
|
857
863
|
{/* Control Panel */}
|
|
858
864
|
<div className="fixed top-1/2 left-4 z-50 -translate-y-1/2 transform">
|
|
859
|
-
<div className="space-y-2 rounded-lg
|
|
860
|
-
<h3 className="text-sm font-medium
|
|
865
|
+
<div className="bg-fm-surface-primary border-fm-divider-secondary space-y-2 rounded-lg border p-4 backdrop-blur-sm">
|
|
866
|
+
<h3 className="text-fm-primary text-sm font-medium">
|
|
861
867
|
Effect Combinations
|
|
862
868
|
</h3>
|
|
863
869
|
<div className="space-y-2">
|
|
@@ -891,11 +897,11 @@ export const CombinedEffectsShowcase: Story = {
|
|
|
891
897
|
{/* Effect Information Panel */}
|
|
892
898
|
{currentCombo && (
|
|
893
899
|
<div className="fixed top-1/2 right-4 z-50 -translate-y-1/2 transform">
|
|
894
|
-
<div className="max-w-xs space-y-2 rounded-lg
|
|
895
|
-
<h4 className="text-sm font-medium
|
|
900
|
+
<div className="bg-fm-surface-primary border-fm-divider-secondary max-w-xs space-y-2 rounded-lg border p-4 backdrop-blur-sm">
|
|
901
|
+
<h4 className="text-fm-primary text-sm font-medium">
|
|
896
902
|
{combinations.find((c) => c.id === currentCombo)?.name} Effect
|
|
897
903
|
</h4>
|
|
898
|
-
<div className="space-y-1 text-xs
|
|
904
|
+
<div className="text-fm-secondary space-y-1 text-xs">
|
|
899
905
|
<div>
|
|
900
906
|
Opacity:{" "}
|
|
901
907
|
{combinations.find((c) => c.id === currentCombo)?.opacity}
|
|
@@ -923,15 +929,15 @@ export const CombinedEffectsShowcase: Story = {
|
|
|
923
929
|
glass={combo.glass}
|
|
924
930
|
noise={combo.noise}
|
|
925
931
|
>
|
|
926
|
-
<div className="max-w-md rounded-lg border
|
|
927
|
-
<h3 className="mb-2 text-lg font-semibold
|
|
932
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary/80 max-w-md rounded-lg border p-6 backdrop-blur-sm">
|
|
933
|
+
<h3 className="text-fm-primary mb-2 text-lg font-semibold">
|
|
928
934
|
{combo.name} Overlay
|
|
929
935
|
</h3>
|
|
930
|
-
<p className="mb-4 text-sm
|
|
936
|
+
<p className="text-fm-secondary mb-4 text-sm">
|
|
931
937
|
Combination of {combo.opacity} opacity, {combo.glass} glass
|
|
932
938
|
effect, and {combo.noise} noise texture
|
|
933
939
|
</p>
|
|
934
|
-
<p className="text-
|
|
940
|
+
<p className="text-fm-tertiary text-sm">
|
|
935
941
|
This combination creates a {combo.name.toLowerCase()}{" "}
|
|
936
942
|
overlay effect suitable for different design contexts and
|
|
937
943
|
user interface needs.
|
|
@@ -7,10 +7,10 @@ const overlayVariants = cva(
|
|
|
7
7
|
{
|
|
8
8
|
variants: {
|
|
9
9
|
opacity: {
|
|
10
|
-
high: "bg-
|
|
11
|
-
medium: "bg-
|
|
12
|
-
low: "bg-
|
|
13
|
-
none: "bg-
|
|
10
|
+
high: "bg-fm-scrim/80",
|
|
11
|
+
medium: "bg-fm-scrim/60",
|
|
12
|
+
low: "bg-fm-scrim/40",
|
|
13
|
+
none: "bg-fm-scrim",
|
|
14
14
|
},
|
|
15
15
|
glass: {
|
|
16
16
|
high: "backdrop-blur-lg",
|