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
|
@@ -11,9 +11,9 @@ const meta: Meta<typeof FilterBarRowIcon> = {
|
|
|
11
11
|
backgrounds: {
|
|
12
12
|
default: "dark",
|
|
13
13
|
values: [
|
|
14
|
-
{ name: "dark", value: "
|
|
15
|
-
{ name: "darker", value: "
|
|
16
|
-
{ name: "light", value: "
|
|
14
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
15
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
16
|
+
{ name: "light", value: "var(--color-fm-neutral-1100)" },
|
|
17
17
|
],
|
|
18
18
|
},
|
|
19
19
|
docs: {
|
|
@@ -40,42 +40,42 @@ const meta: Meta<typeof FilterBarRowIcon> = {
|
|
|
40
40
|
background: transparent ;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) ;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) ;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent ;
|
|
50
50
|
border: none ;
|
|
51
51
|
}
|
|
52
52
|
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color:
|
|
53
|
+
color: var(--color-fm-icon-active) ;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) ;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) ;
|
|
60
|
+
color: var(--color-fm-secondary-500) ;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) ;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) ;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) ;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) ;
|
|
73
|
+
color: var(--color-fm-icon-active) ;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) ;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) ;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) ;
|
|
79
79
|
}
|
|
80
80
|
@keyframes search-pulse {
|
|
81
81
|
0%, 100% { transform: scale(1); opacity: 1; }
|
|
@@ -94,19 +94,19 @@ const meta: Meta<typeof FilterBarRowIcon> = {
|
|
|
94
94
|
`}
|
|
95
95
|
</style>
|
|
96
96
|
|
|
97
|
-
<div className="
|
|
97
|
+
<div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
98
98
|
{/* Header */}
|
|
99
|
-
<div className="relative overflow-hidden border-b
|
|
100
|
-
<div className="absolute inset-0 bg-
|
|
99
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
100
|
+
<div className="from-fm-icon-info/10 to-fm-icon-info/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
101
101
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
102
102
|
<div className="!space-y-6 text-center">
|
|
103
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
104
|
-
<FilterBarRowIcon className="h-12 w-12
|
|
103
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-icon-info/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
104
|
+
<FilterBarRowIcon className="text-fm-icon-info h-12 w-12" />
|
|
105
105
|
</div>
|
|
106
106
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
107
107
|
FilterBarRowIcon
|
|
108
108
|
</h1>
|
|
109
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
109
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
110
110
|
A filter bar row icon symbolizing sorting, filtering, and
|
|
111
111
|
refining data. Ideal for use in features like search
|
|
112
112
|
filters, list views, dashboards, or customizable data grids.
|
|
@@ -117,26 +117,28 @@ const meta: Meta<typeof FilterBarRowIcon> = {
|
|
|
117
117
|
{/* Stats */}
|
|
118
118
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
119
119
|
<div className="text-center">
|
|
120
|
-
<div className="text-3xl font-bold
|
|
120
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
121
121
|
Write
|
|
122
122
|
</div>
|
|
123
|
-
<div className="text-
|
|
123
|
+
<div className="text-fm-tertiary text-sm">
|
|
124
124
|
Capture thoughts
|
|
125
125
|
</div>
|
|
126
126
|
</div>
|
|
127
|
-
<div className="h-8 w-px
|
|
127
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
128
128
|
<div className="text-center">
|
|
129
|
-
<div className="text-3xl font-bold
|
|
129
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
130
130
|
Edit
|
|
131
131
|
</div>
|
|
132
|
-
<div className="text-
|
|
132
|
+
<div className="text-fm-tertiary text-sm">
|
|
133
|
+
Update notes
|
|
134
|
+
</div>
|
|
133
135
|
</div>
|
|
134
|
-
<div className="h-8 w-px
|
|
136
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
135
137
|
<div className="text-center">
|
|
136
|
-
<div className="text-3xl font-bold
|
|
138
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
137
139
|
Organize
|
|
138
140
|
</div>
|
|
139
|
-
<div className="text-
|
|
141
|
+
<div className="text-fm-tertiary text-sm">
|
|
140
142
|
Structure ideas
|
|
141
143
|
</div>
|
|
142
144
|
</div>
|
|
@@ -149,17 +151,17 @@ const meta: Meta<typeof FilterBarRowIcon> = {
|
|
|
149
151
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
150
152
|
{/* Quick Usage */}
|
|
151
153
|
<div className="!space-y-8">
|
|
152
|
-
<h2 className="text-center text-3xl font-bold
|
|
154
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
153
155
|
Quick Start
|
|
154
156
|
</h2>
|
|
155
157
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
156
158
|
{/* Basic Usage */}
|
|
157
159
|
<div className="!space-y-4">
|
|
158
|
-
<h3 className="text-xl font-semibold
|
|
160
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
159
161
|
Basic Usage
|
|
160
162
|
</h3>
|
|
161
|
-
<div className="rounded-lg
|
|
162
|
-
<pre className="overflow-x-auto text-sm
|
|
163
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
164
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
163
165
|
{`import { FilterBarRowIcon } from "@icons/filter-icon"
|
|
164
166
|
|
|
165
167
|
function FilterButton() {
|
|
@@ -179,11 +181,11 @@ function FilterButton() {
|
|
|
179
181
|
|
|
180
182
|
{/* Live Preview */}
|
|
181
183
|
<div className="!space-y-4">
|
|
182
|
-
<h3 className="text-xl font-semibold
|
|
184
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
183
185
|
Live Preview
|
|
184
186
|
</h3>
|
|
185
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
186
|
-
<button className="
|
|
187
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
188
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/10 text-fm-icon-info hover:bg-fm-icon-info/20 flex items-center gap-2 rounded border px-4 py-2">
|
|
187
189
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
188
190
|
Filters
|
|
189
191
|
</button>
|
|
@@ -194,108 +196,116 @@ function FilterButton() {
|
|
|
194
196
|
|
|
195
197
|
{/* Props Documentation */}
|
|
196
198
|
<div className="!space-y-8">
|
|
197
|
-
<h2 className="text-center text-3xl font-bold
|
|
199
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
198
200
|
Props & Configuration
|
|
199
201
|
</h2>
|
|
200
202
|
|
|
201
|
-
<div className="overflow-hidden rounded-lg border
|
|
202
|
-
<div className="bg-
|
|
203
|
-
<h3 className="text-xl font-semibold
|
|
203
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
204
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
205
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
206
|
+
Props
|
|
207
|
+
</h3>
|
|
204
208
|
</div>
|
|
205
209
|
<table className="!my-0 w-full">
|
|
206
|
-
<thead className="bg-
|
|
207
|
-
<tr className="border-
|
|
208
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
210
|
+
<thead className="bg-fm-surface-secondary">
|
|
211
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
212
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
209
213
|
Prop
|
|
210
214
|
</th>
|
|
211
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
215
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
212
216
|
Type
|
|
213
217
|
</th>
|
|
214
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
218
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
215
219
|
Default
|
|
216
220
|
</th>
|
|
217
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
221
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
218
222
|
Description
|
|
219
223
|
</th>
|
|
220
224
|
</tr>
|
|
221
225
|
</thead>
|
|
222
226
|
<tbody>
|
|
223
227
|
{" "}
|
|
224
|
-
<tr className="
|
|
225
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
228
|
+
<tr className="bg-fm-surface-secondary!">
|
|
229
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
226
230
|
withAccessibility
|
|
227
231
|
</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm
|
|
232
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
233
|
boolean
|
|
230
234
|
</td>
|
|
231
|
-
<td className="px-6 py-4 text-sm
|
|
235
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
232
236
|
true
|
|
233
237
|
</td>
|
|
234
|
-
<td className="px-6 py-4 text-sm
|
|
238
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
235
239
|
Whether to wrap the icon with accessibility feature
|
|
236
240
|
</td>
|
|
237
241
|
</tr>
|
|
238
|
-
<tr className="border-
|
|
239
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
242
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
243
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
240
244
|
height
|
|
241
245
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
247
|
number | string
|
|
244
248
|
</td>
|
|
245
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
-
|
|
249
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
250
|
+
20
|
|
251
|
+
</td>
|
|
252
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
247
253
|
Height of the icon in pixels
|
|
248
254
|
</td>
|
|
249
255
|
</tr>
|
|
250
|
-
<tr className="border-
|
|
251
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
256
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
257
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
252
258
|
stroke
|
|
253
259
|
</td>
|
|
254
|
-
<td className="px-6 py-4 text-sm
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
255
261
|
string
|
|
256
262
|
</td>
|
|
257
|
-
<td className="px-6 py-4 text-sm
|
|
263
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
258
264
|
currentColor
|
|
259
265
|
</td>
|
|
260
|
-
<td className="px-6 py-4 text-sm
|
|
266
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
261
267
|
Stroke color of the icon lines
|
|
262
268
|
</td>
|
|
263
269
|
</tr>
|
|
264
|
-
<tr className="border-
|
|
265
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
270
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
271
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
266
272
|
strokeLinecap
|
|
267
273
|
</td>
|
|
268
|
-
<td className="px-6 py-4 text-sm
|
|
274
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
275
|
string
|
|
270
276
|
</td>
|
|
271
|
-
<td className="px-6 py-4 text-sm
|
|
277
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
272
278
|
square
|
|
273
279
|
</td>
|
|
274
|
-
<td className="px-6 py-4 text-sm
|
|
280
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
275
281
|
Style of line endings
|
|
276
282
|
</td>
|
|
277
283
|
</tr>
|
|
278
|
-
<tr className="border-
|
|
279
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
284
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
285
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
280
286
|
className
|
|
281
287
|
</td>
|
|
282
|
-
<td className="px-6 py-4 text-sm
|
|
288
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
283
289
|
string
|
|
284
290
|
</td>
|
|
285
|
-
<td className="px-6 py-4 text-sm
|
|
286
|
-
|
|
291
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
292
|
+
-
|
|
293
|
+
</td>
|
|
294
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
287
295
|
CSS classes for styling (use for overrides)
|
|
288
296
|
</td>
|
|
289
297
|
</tr>
|
|
290
|
-
<tr className="
|
|
291
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
298
|
+
<tr className="bg-fm-surface-secondary!">
|
|
299
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
292
300
|
...svgProps
|
|
293
301
|
</td>
|
|
294
|
-
<td className="px-6 py-4 text-sm
|
|
302
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
295
303
|
SVGProps
|
|
296
304
|
</td>
|
|
297
|
-
<td className="px-6 py-4 text-sm
|
|
298
|
-
|
|
305
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
306
|
+
-
|
|
307
|
+
</td>
|
|
308
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
299
309
|
All standard SVG element props
|
|
300
310
|
</td>
|
|
301
311
|
</tr>
|
|
@@ -306,50 +316,62 @@ function FilterButton() {
|
|
|
306
316
|
|
|
307
317
|
{/* Size Variations */}
|
|
308
318
|
<div className="!space-y-8">
|
|
309
|
-
<h2 className="text-center text-3xl font-bold
|
|
319
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
310
320
|
Size Variations
|
|
311
321
|
</h2>
|
|
312
|
-
<div className="rounded-lg border
|
|
322
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
313
323
|
<div className="!space-y-6">
|
|
314
324
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
315
325
|
<div className="!space-y-4">
|
|
316
|
-
<h3 className="text-lg font-semibold
|
|
326
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
317
327
|
Standard Sizes
|
|
318
328
|
</h3>
|
|
319
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
329
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
320
330
|
<div className="text-center">
|
|
321
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-3 w-3
|
|
322
|
-
<span className="text-
|
|
331
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
332
|
+
<span className="text-fm-tertiary text-xs">
|
|
333
|
+
12px
|
|
334
|
+
</span>
|
|
323
335
|
</div>
|
|
324
336
|
<div className="text-center">
|
|
325
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-4 w-4
|
|
326
|
-
<span className="text-
|
|
337
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
338
|
+
<span className="text-fm-tertiary text-xs">
|
|
339
|
+
16px
|
|
340
|
+
</span>
|
|
327
341
|
</div>
|
|
328
342
|
<div className="text-center">
|
|
329
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-5 w-5
|
|
330
|
-
<span className="text-
|
|
343
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
344
|
+
<span className="text-fm-tertiary text-xs">
|
|
345
|
+
20px
|
|
346
|
+
</span>
|
|
331
347
|
</div>
|
|
332
348
|
<div className="text-center">
|
|
333
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-6 w-6
|
|
334
|
-
<span className="text-
|
|
349
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
350
|
+
<span className="text-fm-tertiary text-xs">
|
|
351
|
+
24px
|
|
352
|
+
</span>
|
|
335
353
|
</div>
|
|
336
354
|
<div className="text-center">
|
|
337
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-8 w-8
|
|
338
|
-
<span className="text-
|
|
355
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
356
|
+
<span className="text-fm-tertiary text-xs">
|
|
357
|
+
32px
|
|
358
|
+
</span>
|
|
339
359
|
</div>
|
|
340
360
|
<div className="text-center">
|
|
341
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-12 w-12
|
|
342
|
-
<span className="text-
|
|
361
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
362
|
+
<span className="text-fm-tertiary text-xs">
|
|
363
|
+
48px
|
|
364
|
+
</span>
|
|
343
365
|
</div>
|
|
344
366
|
</div>
|
|
345
367
|
</div>
|
|
346
368
|
|
|
347
369
|
<div className="!space-y-4">
|
|
348
|
-
<h3 className="text-lg font-semibold
|
|
370
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
349
371
|
Code Example
|
|
350
372
|
</h3>
|
|
351
|
-
<div className="rounded-lg
|
|
352
|
-
<pre className="overflow-x-auto text-sm
|
|
373
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
374
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
353
375
|
{`// Small (16px)
|
|
354
376
|
<FilterBarRowIcon className="h-4 w-4 " />
|
|
355
377
|
|
|
@@ -371,56 +393,56 @@ function FilterButton() {
|
|
|
371
393
|
|
|
372
394
|
{/* Color Variations */}
|
|
373
395
|
<div className="!space-y-8">
|
|
374
|
-
<h2 className="text-center text-3xl font-bold
|
|
396
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
375
397
|
Color Variations
|
|
376
398
|
</h2>
|
|
377
399
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
378
400
|
<div className="!space-y-4">
|
|
379
|
-
<h3 className="text-lg font-semibold
|
|
401
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
380
402
|
Semantic Colors
|
|
381
403
|
</h3>
|
|
382
|
-
<div className="!space-y-4 rounded-lg border
|
|
404
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
383
405
|
<div className="flex items-center gap-4">
|
|
384
|
-
<FilterBarRowIcon className="h-6 w-6
|
|
406
|
+
<FilterBarRowIcon className="text-fm-icon-info h-6 w-6" />
|
|
385
407
|
<div>
|
|
386
|
-
<div className="text-sm font-medium
|
|
408
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
387
409
|
Primary
|
|
388
410
|
</div>
|
|
389
|
-
<div className="text-
|
|
390
|
-
text-
|
|
411
|
+
<div className="text-fm-tertiary text-xs">
|
|
412
|
+
text-fm-icon-info
|
|
391
413
|
</div>
|
|
392
414
|
</div>
|
|
393
415
|
</div>
|
|
394
416
|
<div className="flex items-center gap-4">
|
|
395
|
-
<FilterBarRowIcon className="h-6 w-6
|
|
417
|
+
<FilterBarRowIcon className="text-fm-icon-info h-6 w-6" />
|
|
396
418
|
<div>
|
|
397
|
-
<div className="text-sm font-medium
|
|
419
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
398
420
|
Search Active
|
|
399
421
|
</div>
|
|
400
|
-
<div className="text-
|
|
401
|
-
text-
|
|
422
|
+
<div className="text-fm-tertiary text-xs">
|
|
423
|
+
text-fm-icon-info
|
|
402
424
|
</div>
|
|
403
425
|
</div>
|
|
404
426
|
</div>
|
|
405
427
|
<div className="flex items-center gap-4">
|
|
406
|
-
<FilterBarRowIcon className="h-6 w-6
|
|
428
|
+
<FilterBarRowIcon className="text-fm-placeholder h-6 w-6" />
|
|
407
429
|
<div>
|
|
408
|
-
<div className="text-sm font-medium
|
|
430
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
409
431
|
Disabled
|
|
410
432
|
</div>
|
|
411
|
-
<div className="text-
|
|
412
|
-
text-
|
|
433
|
+
<div className="text-fm-tertiary text-xs">
|
|
434
|
+
text-fm-placeholder
|
|
413
435
|
</div>
|
|
414
436
|
</div>
|
|
415
437
|
</div>
|
|
416
438
|
<div className="flex items-center gap-4">
|
|
417
|
-
<FilterBarRowIcon className="h-6 w-6
|
|
439
|
+
<FilterBarRowIcon className="text-fm-icon-info h-6 w-6" />
|
|
418
440
|
<div>
|
|
419
|
-
<div className="text-sm font-medium
|
|
441
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
420
442
|
Info
|
|
421
443
|
</div>
|
|
422
|
-
<div className="text-
|
|
423
|
-
text-
|
|
444
|
+
<div className="text-fm-tertiary text-xs">
|
|
445
|
+
text-fm-icon-info
|
|
424
446
|
</div>
|
|
425
447
|
</div>
|
|
426
448
|
</div>
|
|
@@ -428,11 +450,11 @@ function FilterButton() {
|
|
|
428
450
|
</div>
|
|
429
451
|
|
|
430
452
|
<div className="!space-y-4">
|
|
431
|
-
<h3 className="text-lg font-semibold
|
|
453
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
432
454
|
Custom Colors
|
|
433
455
|
</h3>
|
|
434
|
-
<div className="rounded-lg
|
|
435
|
-
<pre className="overflow-x-auto text-sm
|
|
456
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
457
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
436
458
|
{`// Using Tailwind classes with
|
|
437
459
|
<FilterBarRowIcon className="h-6 w-6 text-indigo-400 " />
|
|
438
460
|
<FilterBarRowIcon className="h-6 w-6 text-cyan-500 " />
|
|
@@ -457,25 +479,25 @@ function FilterButton() {
|
|
|
457
479
|
|
|
458
480
|
{/* Usage Examples */}
|
|
459
481
|
<div className="!space-y-8">
|
|
460
|
-
<h2 className="text-center text-3xl font-bold
|
|
482
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
461
483
|
Usage Examples
|
|
462
484
|
</h2>
|
|
463
485
|
|
|
464
486
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
465
487
|
{/* Filter Trigger Button */}
|
|
466
488
|
<div className="!space-y-4">
|
|
467
|
-
<h3 className="text-lg font-semibold
|
|
489
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
468
490
|
Filter Panel Button
|
|
469
491
|
</h3>
|
|
470
492
|
<div className="!space-y-4">
|
|
471
493
|
<div>
|
|
472
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
494
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/10 text-fm-icon-info hover:bg-fm-icon-info/20 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
473
495
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
474
496
|
Open Filters
|
|
475
497
|
</button>
|
|
476
498
|
</div>
|
|
477
|
-
<div className="rounded-lg
|
|
478
|
-
<pre className="overflow-x-auto text-sm
|
|
499
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
500
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
479
501
|
{`<button className="flex items-center gap-2 bg-indigo-500/10 border border-indigo-500/30 px-4 py-2 rounded-lg">
|
|
480
502
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
481
503
|
Open Filters
|
|
@@ -487,28 +509,28 @@ function FilterButton() {
|
|
|
487
509
|
|
|
488
510
|
{/* Applied Filter Result Row */}
|
|
489
511
|
<div className="!space-y-4">
|
|
490
|
-
<h3 className="text-lg font-semibold
|
|
512
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
491
513
|
Filtered Result Row
|
|
492
514
|
</h3>
|
|
493
515
|
<div className="!space-y-4">
|
|
494
|
-
<div className="rounded-lg border
|
|
516
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
495
517
|
<div className="flex items-center gap-3">
|
|
496
|
-
<FilterBarRowIcon className="h-5 w-5
|
|
518
|
+
<FilterBarRowIcon className="text-fm-icon-info h-5 w-5" />
|
|
497
519
|
<div className="flex-1">
|
|
498
|
-
<div className="text-sm font-medium
|
|
520
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
499
521
|
Showing results for:{" "}
|
|
500
|
-
<span className="text-
|
|
522
|
+
<span className="text-fm-icon-info">
|
|
501
523
|
Category: Design
|
|
502
524
|
</span>
|
|
503
525
|
</div>
|
|
504
|
-
<div className="text-
|
|
526
|
+
<div className="text-fm-tertiary text-xs">
|
|
505
527
|
3 filters applied
|
|
506
528
|
</div>
|
|
507
529
|
</div>
|
|
508
530
|
</div>
|
|
509
531
|
</div>
|
|
510
|
-
<div className="rounded-lg
|
|
511
|
-
<pre className="overflow-x-auto text-sm
|
|
532
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
533
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
512
534
|
{`<div className="flex items-center gap-3 p-4 border border-white/10 bg-white/5">
|
|
513
535
|
<FilterBarRowIcon className="h-5 w-5 text-indigo-400" />
|
|
514
536
|
<div className="flex-1">
|
|
@@ -525,26 +547,26 @@ function FilterButton() {
|
|
|
525
547
|
|
|
526
548
|
{/* Empty Filter State */}
|
|
527
549
|
<div className="!space-y-4">
|
|
528
|
-
<h3 className="text-lg font-semibold
|
|
550
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
529
551
|
No Results After Filter
|
|
530
552
|
</h3>
|
|
531
553
|
<div className="!space-y-4">
|
|
532
|
-
<div className="flex flex-col items-center justify-center rounded-lg border
|
|
533
|
-
<FilterBarRowIcon className="mb-4 h-12 w-12
|
|
534
|
-
<h4 className="mb-2 text-lg font-medium
|
|
554
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex flex-col items-center justify-center rounded-lg border p-8">
|
|
555
|
+
<FilterBarRowIcon className="text-fm-icon-active/30 mb-4 h-12 w-12" />
|
|
556
|
+
<h4 className="text-fm-icon-active!/80 mb-2 text-lg font-medium">
|
|
535
557
|
No results match your filters
|
|
536
558
|
</h4>
|
|
537
|
-
<p className="text-
|
|
559
|
+
<p className="text-fm-placeholder! text-center text-sm">
|
|
538
560
|
Try removing or adjusting your filters to broaden your
|
|
539
561
|
results.
|
|
540
562
|
</p>
|
|
541
|
-
<button className="mt-4 flex items-center gap-2 rounded-lg border
|
|
563
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info mt-4 flex items-center gap-2 rounded-lg border px-4 py-2 text-sm">
|
|
542
564
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
543
565
|
Reset Filters
|
|
544
566
|
</button>
|
|
545
567
|
</div>
|
|
546
|
-
<div className="rounded-lg
|
|
547
|
-
<pre className="overflow-x-auto text-sm
|
|
568
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
569
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
548
570
|
{`<div className="flex flex-col items-center p-8 border border-white/10 bg-white/5">
|
|
549
571
|
<FilterBarRowIcon className="h-12 w-12 text-white/30 mb-4" />
|
|
550
572
|
<h4 className="text-lg font-medium text-white/80 mb-2">
|
|
@@ -567,55 +589,55 @@ function FilterButton() {
|
|
|
567
589
|
|
|
568
590
|
{/* Interactive States */}
|
|
569
591
|
<div className="!space-y-8">
|
|
570
|
-
<h2 className="text-center text-3xl font-bold
|
|
592
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
571
593
|
Interactive States & Animations
|
|
572
594
|
</h2>
|
|
573
595
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
574
596
|
<div className="!space-y-4">
|
|
575
|
-
<h3 className="text-lg font-semibold
|
|
597
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
576
598
|
Hover & Animation Effects
|
|
577
599
|
</h3>
|
|
578
|
-
<div className="!space-y-4 rounded-lg border
|
|
600
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
579
601
|
<div className="flex items-center gap-4">
|
|
580
|
-
<FilterBarRowIcon className="h-6 w-6
|
|
602
|
+
<FilterBarRowIcon className="text-fm-tertiary hover:text-fm-icon-info h-6 w-6 transition-colors" />
|
|
581
603
|
<div>
|
|
582
|
-
<div className="text-sm font-medium
|
|
604
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
583
605
|
Color Change
|
|
584
606
|
</div>
|
|
585
|
-
<div className="text-
|
|
607
|
+
<div className="text-fm-tertiary text-xs">
|
|
586
608
|
Hover to see effect
|
|
587
609
|
</div>
|
|
588
610
|
</div>
|
|
589
611
|
</div>
|
|
590
612
|
<div className="flex items-center gap-4">
|
|
591
|
-
<FilterBarRowIcon className="h-6 w-6
|
|
613
|
+
<FilterBarRowIcon className="text-fm-icon-active h-6 w-6 transition-transform hover:scale-110" />
|
|
592
614
|
<div>
|
|
593
|
-
<div className="text-sm font-medium
|
|
615
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
594
616
|
Scale Up
|
|
595
617
|
</div>
|
|
596
|
-
<div className="text-
|
|
618
|
+
<div className="text-fm-tertiary text-xs">
|
|
597
619
|
Scale on hover
|
|
598
620
|
</div>
|
|
599
621
|
</div>
|
|
600
622
|
</div>
|
|
601
623
|
<div className="flex items-center gap-4">
|
|
602
|
-
<FilterBarRowIcon className="animate-search-pulse h-6 w-6
|
|
624
|
+
<FilterBarRowIcon className="animate-search-pulse text-fm-icon-info h-6 w-6" />
|
|
603
625
|
<div>
|
|
604
|
-
<div className="text-sm font-medium
|
|
626
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
605
627
|
Search Pulse
|
|
606
628
|
</div>
|
|
607
|
-
<div className="text-
|
|
629
|
+
<div className="text-fm-tertiary text-xs">
|
|
608
630
|
Continuous animation
|
|
609
631
|
</div>
|
|
610
632
|
</div>
|
|
611
633
|
</div>
|
|
612
634
|
<div className="flex items-center gap-4">
|
|
613
|
-
<FilterBarRowIcon className="animate-document-slide h-6 w-6
|
|
635
|
+
<FilterBarRowIcon className="animate-document-slide text-fm-icon-info h-6 w-6" />
|
|
614
636
|
<div>
|
|
615
|
-
<div className="text-sm font-medium
|
|
637
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
616
638
|
Document Slide
|
|
617
639
|
</div>
|
|
618
|
-
<div className="text-
|
|
640
|
+
<div className="text-fm-tertiary text-xs">
|
|
619
641
|
Subtle movement
|
|
620
642
|
</div>
|
|
621
643
|
</div>
|
|
@@ -624,11 +646,11 @@ function FilterButton() {
|
|
|
624
646
|
</div>
|
|
625
647
|
|
|
626
648
|
<div className="!space-y-4">
|
|
627
|
-
<h3 className="text-lg font-semibold
|
|
649
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
628
650
|
State Examples
|
|
629
651
|
</h3>
|
|
630
|
-
<div className="rounded-lg
|
|
631
|
-
<pre className="overflow-x-auto text-sm
|
|
652
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
653
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
632
654
|
{`// Color change on hover
|
|
633
655
|
<FilterBarRowIcon className="h-6 w-6 text-white/60 transition-colors hover:text-indigo-400 " />
|
|
634
656
|
|
|
@@ -651,66 +673,66 @@ function FilterButton() {
|
|
|
651
673
|
|
|
652
674
|
{/* Accessibility */}
|
|
653
675
|
<div className="!space-y-8">
|
|
654
|
-
<h2 className="text-center text-3xl font-bold
|
|
676
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
655
677
|
Accessibility Features
|
|
656
678
|
</h2>
|
|
657
679
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
658
|
-
<div className="!space-y-4 rounded-lg border
|
|
659
|
-
<h3 className="text-lg font-semibold
|
|
680
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
681
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
660
682
|
✅ Built-in Features
|
|
661
683
|
</h3>
|
|
662
|
-
<ul className="!space-y-2 text-sm
|
|
663
|
-
<li className="
|
|
684
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
685
|
+
<li className="text-fm-secondary!">
|
|
664
686
|
Uses Radix UI AccessibleIcon wrapper
|
|
665
687
|
</li>
|
|
666
|
-
<li className="
|
|
688
|
+
<li className="text-fm-secondary!">
|
|
667
689
|
Provides screen reader label "Page Search icon"
|
|
668
690
|
</li>
|
|
669
|
-
<li className="
|
|
691
|
+
<li className="text-fm-secondary!">
|
|
670
692
|
Supports keyboard navigation when interactive
|
|
671
693
|
</li>
|
|
672
|
-
<li className="
|
|
694
|
+
<li className="text-fm-secondary!">
|
|
673
695
|
Maintains proper color contrast ratios
|
|
674
696
|
</li>
|
|
675
|
-
<li className="
|
|
697
|
+
<li className="text-fm-secondary!">
|
|
676
698
|
Scales with user's font size preferences
|
|
677
699
|
</li>
|
|
678
700
|
</ul>
|
|
679
701
|
</div>
|
|
680
702
|
|
|
681
|
-
<div className="!space-y-4 rounded-lg border
|
|
682
|
-
<h3 className="text-lg font-semibold
|
|
703
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
704
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
683
705
|
💡 Best Practices
|
|
684
706
|
</h3>
|
|
685
|
-
<ul className="!space-y-2 text-sm
|
|
686
|
-
<li className="
|
|
707
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
708
|
+
<li className="text-fm-secondary!">
|
|
687
709
|
Always provide descriptive labels for search
|
|
688
710
|
functionality
|
|
689
711
|
</li>
|
|
690
|
-
<li className="
|
|
712
|
+
<li className="text-fm-secondary!">
|
|
691
713
|
Use consistent placement in search interfaces
|
|
692
714
|
</li>
|
|
693
|
-
<li className="
|
|
715
|
+
<li className="text-fm-secondary!">
|
|
694
716
|
Ensure sufficient click/touch target sizes
|
|
695
717
|
</li>
|
|
696
|
-
<li className="
|
|
718
|
+
<li className="text-fm-secondary!">
|
|
697
719
|
Add focus states for keyboard navigation
|
|
698
720
|
</li>
|
|
699
|
-
<li className="
|
|
721
|
+
<li className="text-fm-secondary!">
|
|
700
722
|
Consider motion sensitivity for search animations
|
|
701
723
|
</li>
|
|
702
724
|
</ul>
|
|
703
725
|
</div>
|
|
704
726
|
</div>
|
|
705
727
|
|
|
706
|
-
<div className="rounded-lg border
|
|
707
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
728
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
729
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
708
730
|
Custom Accessibility Implementation
|
|
709
731
|
</h3>
|
|
710
732
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
711
733
|
{/* Code Example Block */}
|
|
712
|
-
<div className="rounded-lg
|
|
713
|
-
<pre className="overflow-x-auto text-sm
|
|
734
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
735
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
714
736
|
{`// Filter toggle button with ARIA
|
|
715
737
|
<button
|
|
716
738
|
aria-label="Toggle filter panel"
|
|
@@ -745,14 +767,14 @@ function FilterButton() {
|
|
|
745
767
|
|
|
746
768
|
{/* Accessibility Note */}
|
|
747
769
|
<div className="!space-y-4">
|
|
748
|
-
<p className="text-
|
|
770
|
+
<p className="text-fm-secondary! text-sm">
|
|
749
771
|
When using <code>FilterBarRowIcon</code> for toggling or
|
|
750
772
|
displaying filters, ensure ARIA labels clearly explain
|
|
751
773
|
what will be shown or changed. Group filters with
|
|
752
774
|
semantic roles for screen reader clarity.
|
|
753
775
|
</p>
|
|
754
|
-
<div className="
|
|
755
|
-
<div className="flex items-center gap-2 text-sm
|
|
776
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
777
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
756
778
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
757
779
|
<span>
|
|
758
780
|
Use <code>aria-pressed</code> or{" "}
|
|
@@ -769,46 +791,58 @@ function FilterButton() {
|
|
|
769
791
|
|
|
770
792
|
{/* Related Icons */}
|
|
771
793
|
<div className="!space-y-8">
|
|
772
|
-
<h2 className="text-center text-3xl font-bold
|
|
794
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
773
795
|
Related Icons
|
|
774
796
|
</h2>
|
|
775
797
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
776
|
-
<div className="!space-y-3 rounded-lg border
|
|
777
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
798
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
799
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
778
800
|
<span className="text-2xl">🔍</span>
|
|
779
801
|
</div>
|
|
780
802
|
<div>
|
|
781
|
-
<div className="font-medium
|
|
782
|
-
|
|
803
|
+
<div className="text-fm-icon-active font-medium">
|
|
804
|
+
SearchIcon
|
|
805
|
+
</div>
|
|
806
|
+
<div className="text-fm-tertiary text-xs">
|
|
783
807
|
General search
|
|
784
808
|
</div>
|
|
785
809
|
</div>
|
|
786
810
|
</div>
|
|
787
|
-
<div className="!space-y-3 rounded-lg border
|
|
788
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
811
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
812
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
789
813
|
<span className="text-2xl">📄</span>
|
|
790
814
|
</div>
|
|
791
815
|
<div>
|
|
792
|
-
<div className="font-medium
|
|
793
|
-
|
|
816
|
+
<div className="text-fm-icon-active font-medium">
|
|
817
|
+
DocumentIcon
|
|
818
|
+
</div>
|
|
819
|
+
<div className="text-fm-tertiary text-xs">
|
|
820
|
+
Document view
|
|
821
|
+
</div>
|
|
794
822
|
</div>
|
|
795
823
|
</div>
|
|
796
|
-
<div className="!space-y-3 rounded-lg border
|
|
797
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
824
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
825
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
798
826
|
<span className="text-2xl">🗂️</span>
|
|
799
827
|
</div>
|
|
800
828
|
<div>
|
|
801
|
-
<div className="font-medium
|
|
802
|
-
|
|
829
|
+
<div className="text-fm-icon-active font-medium">
|
|
830
|
+
FolderIcon
|
|
831
|
+
</div>
|
|
832
|
+
<div className="text-fm-tertiary text-xs">
|
|
833
|
+
File browsing
|
|
834
|
+
</div>
|
|
803
835
|
</div>
|
|
804
836
|
</div>
|
|
805
|
-
<div className="!space-y-3 rounded-lg border
|
|
806
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
837
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
838
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
807
839
|
<span className="text-2xl">🔎</span>
|
|
808
840
|
</div>
|
|
809
841
|
<div>
|
|
810
|
-
<div className="font-medium
|
|
811
|
-
|
|
842
|
+
<div className="text-fm-icon-active font-medium">
|
|
843
|
+
FilterIcon
|
|
844
|
+
</div>
|
|
845
|
+
<div className="text-fm-tertiary text-xs">
|
|
812
846
|
Content filtering
|
|
813
847
|
</div>
|
|
814
848
|
</div>
|
|
@@ -818,15 +852,15 @@ function FilterButton() {
|
|
|
818
852
|
</div>
|
|
819
853
|
|
|
820
854
|
{/* Footer */}
|
|
821
|
-
<div className="border-
|
|
855
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
822
856
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
823
857
|
<div className="!space-y-4 text-center">
|
|
824
|
-
<p className="
|
|
858
|
+
<p className="text-fm-tertiary!">
|
|
825
859
|
FilterBarRowIcon is part of the Aural UI icon library, built
|
|
826
860
|
for document search, content discovery, and page navigation
|
|
827
861
|
functionality.
|
|
828
862
|
</p>
|
|
829
|
-
<p className="text-
|
|
863
|
+
<p className="text-fm-placeholder! text-sm">
|
|
830
864
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
831
865
|
compatibility and follow WCAG guidelines for search
|
|
832
866
|
interfaces.
|
|
@@ -877,8 +911,8 @@ const storyParameters = {
|
|
|
877
911
|
backgrounds: {
|
|
878
912
|
default: "dark",
|
|
879
913
|
values: [
|
|
880
|
-
{ name: "dark", value: "
|
|
881
|
-
{ name: "darker", value: "
|
|
914
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
915
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
882
916
|
],
|
|
883
917
|
},
|
|
884
918
|
}
|
|
@@ -887,12 +921,12 @@ export const Default: Story = {
|
|
|
887
921
|
args: {
|
|
888
922
|
width: 24,
|
|
889
923
|
height: 24,
|
|
890
|
-
className: "text-
|
|
924
|
+
className: "text-fm-icon-info ",
|
|
891
925
|
withAccessibility: true,
|
|
892
926
|
},
|
|
893
927
|
parameters: storyParameters,
|
|
894
928
|
render: (args) => (
|
|
895
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
929
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-32 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
|
|
896
930
|
<FilterBarRowIcon {...args} />
|
|
897
931
|
</div>
|
|
898
932
|
),
|
|
@@ -909,30 +943,30 @@ export const SizeVariations: Story = {
|
|
|
909
943
|
},
|
|
910
944
|
},
|
|
911
945
|
render: () => (
|
|
912
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
946
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-linear-to-br p-8">
|
|
913
947
|
<div className="text-center">
|
|
914
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-3 w-3
|
|
915
|
-
<span className="text-
|
|
948
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
949
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
916
950
|
</div>
|
|
917
951
|
<div className="text-center">
|
|
918
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-4 w-4
|
|
919
|
-
<span className="text-
|
|
952
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
953
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
920
954
|
</div>
|
|
921
955
|
<div className="text-center">
|
|
922
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-5 w-5
|
|
923
|
-
<span className="text-
|
|
956
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
957
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
924
958
|
</div>
|
|
925
959
|
<div className="text-center">
|
|
926
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-6 w-6
|
|
927
|
-
<span className="text-
|
|
960
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
961
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
928
962
|
</div>
|
|
929
963
|
<div className="text-center">
|
|
930
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-8 w-8
|
|
931
|
-
<span className="text-
|
|
964
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
965
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
932
966
|
</div>
|
|
933
967
|
<div className="text-center">
|
|
934
|
-
<FilterBarRowIcon className="!mx-auto mb-2 h-12 w-12
|
|
935
|
-
<span className="text-
|
|
968
|
+
<FilterBarRowIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
969
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
936
970
|
</div>
|
|
937
971
|
</div>
|
|
938
972
|
),
|
|
@@ -949,34 +983,34 @@ export const ColorVariations: Story = {
|
|
|
949
983
|
},
|
|
950
984
|
},
|
|
951
985
|
render: () => (
|
|
952
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
986
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-linear-to-br p-8 md:grid-cols-4">
|
|
953
987
|
<div className="text-center">
|
|
954
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
955
|
-
<FilterBarRowIcon className="h-8 w-8
|
|
988
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
989
|
+
<FilterBarRowIcon className="text-fm-icon-info h-8 w-8" />
|
|
956
990
|
</div>
|
|
957
|
-
<div className="text-sm font-medium
|
|
958
|
-
<div className="text-
|
|
991
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
992
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
959
993
|
</div>
|
|
960
994
|
<div className="text-center">
|
|
961
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
962
|
-
<FilterBarRowIcon className="h-8 w-8
|
|
995
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
996
|
+
<FilterBarRowIcon className="text-fm-icon-info h-8 w-8" />
|
|
963
997
|
</div>
|
|
964
|
-
<div className="text-sm font-medium
|
|
965
|
-
<div className="text-
|
|
998
|
+
<div className="text-fm-icon-active text-sm font-medium">Active</div>
|
|
999
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
966
1000
|
</div>
|
|
967
1001
|
<div className="text-center">
|
|
968
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
969
|
-
<FilterBarRowIcon className="h-8 w-8
|
|
1002
|
+
<div className="border-fm-divider-primary bg-fm-surface-tertiary/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1003
|
+
<FilterBarRowIcon className="text-fm-placeholder h-8 w-8" />
|
|
970
1004
|
</div>
|
|
971
|
-
<div className="text-sm font-medium
|
|
972
|
-
<div className="text-
|
|
1005
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
1006
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
973
1007
|
</div>
|
|
974
1008
|
<div className="text-center">
|
|
975
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
976
|
-
<FilterBarRowIcon className="h-8 w-8
|
|
1009
|
+
<div className="border-fm-icon-info/30 bg-fm-icon-info/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1010
|
+
<FilterBarRowIcon className="text-fm-icon-info h-8 w-8" />
|
|
977
1011
|
</div>
|
|
978
|
-
<div className="text-sm font-medium
|
|
979
|
-
<div className="text-
|
|
1012
|
+
<div className="text-fm-icon-active text-sm font-medium">Info</div>
|
|
1013
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
980
1014
|
</div>
|
|
981
1015
|
</div>
|
|
982
1016
|
),
|
|
@@ -993,16 +1027,18 @@ export const UsageExamples: Story = {
|
|
|
993
1027
|
},
|
|
994
1028
|
},
|
|
995
1029
|
render: () => (
|
|
996
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1030
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
997
1031
|
{/* Note Editor Toolbar */}
|
|
998
1032
|
<div className="!space-y-2">
|
|
999
|
-
<h3 className="text-sm font-medium
|
|
1033
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1034
|
+
Note Editor Toolbar
|
|
1035
|
+
</h3>
|
|
1000
1036
|
<div className="flex gap-4">
|
|
1001
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1037
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 text-fm-icon-info hover:bg-fm-icon-info/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
1002
1038
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
1003
1039
|
New Note
|
|
1004
1040
|
</button>
|
|
1005
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1041
|
+
<button className="border-fm-icon-positive/30 bg-fm-icon-positive/20 text-fm-icon-positive hover:bg-fm-icon-positive/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
1006
1042
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
1007
1043
|
Edit Note
|
|
1008
1044
|
</button>
|
|
@@ -1011,8 +1047,10 @@ export const UsageExamples: Story = {
|
|
|
1011
1047
|
|
|
1012
1048
|
{/* Recent Notes List */}
|
|
1013
1049
|
<div className="!space-y-2">
|
|
1014
|
-
<h3 className="text-sm font-medium
|
|
1015
|
-
|
|
1050
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1051
|
+
Recent Notes
|
|
1052
|
+
</h3>
|
|
1053
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
1016
1054
|
{[
|
|
1017
1055
|
{ title: "Meeting Notes", date: "Jun 25, 2025" },
|
|
1018
1056
|
{ title: "Weekly Plan", date: "Jun 23, 2025" },
|
|
@@ -1020,14 +1058,14 @@ export const UsageExamples: Story = {
|
|
|
1020
1058
|
].map((note, index) => (
|
|
1021
1059
|
<div
|
|
1022
1060
|
key={index}
|
|
1023
|
-
className="flex items-center gap-3 rounded border
|
|
1061
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-3"
|
|
1024
1062
|
>
|
|
1025
|
-
<FilterBarRowIcon className="h-5 w-5
|
|
1063
|
+
<FilterBarRowIcon className="text-fm-icon-info h-5 w-5" />
|
|
1026
1064
|
<div className="flex-1">
|
|
1027
|
-
<div className="text-sm font-medium
|
|
1065
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1028
1066
|
{note.title}
|
|
1029
1067
|
</div>
|
|
1030
|
-
<div className="text-
|
|
1068
|
+
<div className="text-fm-tertiary text-xs">{note.date}</div>
|
|
1031
1069
|
</div>
|
|
1032
1070
|
</div>
|
|
1033
1071
|
))}
|
|
@@ -1036,13 +1074,15 @@ export const UsageExamples: Story = {
|
|
|
1036
1074
|
|
|
1037
1075
|
{/* Annotate / Comment Actions */}
|
|
1038
1076
|
<div className="!space-y-2">
|
|
1039
|
-
<h3 className="text-sm font-medium
|
|
1077
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1078
|
+
Annotation Actions
|
|
1079
|
+
</h3>
|
|
1040
1080
|
<div className="flex gap-4">
|
|
1041
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1081
|
+
<button className="border-fm-icon-warning/30 bg-fm-icon-warning/20 text-fm-icon-warning hover:bg-fm-icon-warning/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
1042
1082
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
1043
1083
|
Add Comment
|
|
1044
1084
|
</button>
|
|
1045
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1085
|
+
<button className="border-fm-secondary-500/30 bg-fm-secondary-500/20 text-fm-secondary-600 hover:bg-fm-secondary-500/30 flex items-center gap-2 rounded-lg border px-4 py-2 transition-colors">
|
|
1046
1086
|
<FilterBarRowIcon className="h-4 w-4" />
|
|
1047
1087
|
Annotate Page
|
|
1048
1088
|
</button>
|
|
@@ -1063,27 +1103,27 @@ export const InteractiveStates: Story = {
|
|
|
1063
1103
|
},
|
|
1064
1104
|
},
|
|
1065
1105
|
render: () => (
|
|
1066
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1106
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1067
1107
|
<div className="!space-y-4">
|
|
1068
|
-
<h3 className="text-sm font-medium
|
|
1108
|
+
<h3 className="text-fm-secondary text-sm font-medium">
|
|
1069
1109
|
Hover & Animation Effects
|
|
1070
1110
|
</h3>
|
|
1071
1111
|
<div className="flex gap-8">
|
|
1072
1112
|
<div className="flex flex-col items-center gap-2">
|
|
1073
|
-
<FilterBarRowIcon className="h-8 w-8
|
|
1074
|
-
<span className="text-
|
|
1113
|
+
<FilterBarRowIcon className="text-fm-tertiary hover:text-fm-icon-info h-8 w-8 transition-colors" />
|
|
1114
|
+
<span className="text-fm-tertiary text-xs">Color Change</span>
|
|
1075
1115
|
</div>
|
|
1076
1116
|
<div className="flex flex-col items-center gap-2">
|
|
1077
|
-
<FilterBarRowIcon className="h-8 w-8
|
|
1078
|
-
<span className="text-
|
|
1117
|
+
<FilterBarRowIcon className="text-fm-icon-active h-8 w-8 transition-transform hover:scale-110" />
|
|
1118
|
+
<span className="text-fm-tertiary text-xs">Scale Up</span>
|
|
1079
1119
|
</div>
|
|
1080
1120
|
<div className="flex flex-col items-center gap-2">
|
|
1081
|
-
<FilterBarRowIcon className="animate-search-pulse h-8 w-8
|
|
1082
|
-
<span className="text-
|
|
1121
|
+
<FilterBarRowIcon className="animate-search-pulse text-fm-icon-info h-8 w-8" />
|
|
1122
|
+
<span className="text-fm-tertiary text-xs">Search Pulse</span>
|
|
1083
1123
|
</div>
|
|
1084
1124
|
<div className="flex flex-col items-center gap-2">
|
|
1085
|
-
<FilterBarRowIcon className="animate-document-slide h-8 w-8
|
|
1086
|
-
<span className="text-
|
|
1125
|
+
<FilterBarRowIcon className="animate-document-slide text-fm-icon-info h-8 w-8" />
|
|
1126
|
+
<span className="text-fm-tertiary text-xs">Document Slide</span>
|
|
1087
1127
|
</div>
|
|
1088
1128
|
</div>
|
|
1089
1129
|
</div>
|
|
@@ -1104,12 +1144,12 @@ export const Playground: Story = {
|
|
|
1104
1144
|
args: {
|
|
1105
1145
|
width: 32,
|
|
1106
1146
|
height: 32,
|
|
1107
|
-
className: "text-
|
|
1147
|
+
className: "text-fm-icon-info ",
|
|
1108
1148
|
strokeLinecap: "square",
|
|
1109
1149
|
},
|
|
1110
1150
|
render: (args) => (
|
|
1111
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1112
|
-
<div className="rounded-lg border
|
|
1151
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary flex h-64 min-h-dvh items-center justify-center rounded-lg bg-linear-to-br">
|
|
1152
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1113
1153
|
<FilterBarRowIcon {...args} />
|
|
1114
1154
|
</div>
|
|
1115
1155
|
</div>
|