aural-ui 3.0.7 → 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/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/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 PageSearchIcon> = {
|
|
|
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 PageSearchIcon> = {
|
|
|
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 PageSearchIcon> = {
|
|
|
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
|
-
<PageSearchIcon 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
|
+
<PageSearchIcon 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
|
PageSearchIcon
|
|
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 page search icon combining document and magnifying glass
|
|
111
111
|
elements, perfect for search functionality, document lookup,
|
|
112
112
|
content filtering, and page navigation features. Built with
|
|
@@ -117,28 +117,28 @@ const meta: Meta<typeof PageSearchIcon> = {
|
|
|
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
|
Search
|
|
122
122
|
</div>
|
|
123
|
-
<div className="text-
|
|
123
|
+
<div className="text-fm-tertiary text-sm">
|
|
124
124
|
Document lookup
|
|
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
|
Filter
|
|
131
131
|
</div>
|
|
132
|
-
<div className="text-
|
|
132
|
+
<div className="text-fm-tertiary text-sm">
|
|
133
133
|
Content discovery
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
|
-
<div className="h-8 w-px
|
|
136
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
137
137
|
<div className="text-center">
|
|
138
|
-
<div className="text-3xl font-bold
|
|
138
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
139
139
|
Navigate
|
|
140
140
|
</div>
|
|
141
|
-
<div className="text-
|
|
141
|
+
<div className="text-fm-tertiary text-sm">
|
|
142
142
|
Page exploration
|
|
143
143
|
</div>
|
|
144
144
|
</div>
|
|
@@ -151,16 +151,16 @@ const meta: Meta<typeof PageSearchIcon> = {
|
|
|
151
151
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
152
152
|
{/* Quick Usage */}
|
|
153
153
|
<div className="!space-y-8">
|
|
154
|
-
<h2 className="text-center text-3xl font-bold
|
|
154
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
155
155
|
Quick Start
|
|
156
156
|
</h2>
|
|
157
157
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
158
158
|
<div className="!space-y-4">
|
|
159
|
-
<h3 className="text-xl font-semibold
|
|
159
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
160
160
|
Basic Usage
|
|
161
161
|
</h3>
|
|
162
|
-
<div className="rounded-lg
|
|
163
|
-
<pre className="overflow-x-auto text-sm
|
|
162
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
163
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
164
164
|
{`import { PageSearchIcon } from "@icons/page-search-icon"
|
|
165
165
|
|
|
166
166
|
function SearchBar() {
|
|
@@ -180,17 +180,17 @@ function SearchBar() {
|
|
|
180
180
|
</div>
|
|
181
181
|
|
|
182
182
|
<div className="!space-y-4">
|
|
183
|
-
<h3 className="text-xl font-semibold
|
|
183
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
184
184
|
Live Preview
|
|
185
185
|
</h3>
|
|
186
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
186
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
187
187
|
<div className="relative w-64">
|
|
188
188
|
<input
|
|
189
189
|
type="text"
|
|
190
190
|
placeholder="Search documents..."
|
|
191
|
-
className="w-full rounded-lg border
|
|
191
|
+
className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info w-full rounded-lg border py-2 pr-4 pl-10 placeholder-white/50 focus:ring-2 focus:ring-indigo-400/20"
|
|
192
192
|
/>
|
|
193
|
-
<PageSearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2
|
|
193
|
+
<PageSearchIcon className="text-fm-icon-info absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
|
|
194
194
|
</div>
|
|
195
195
|
</div>
|
|
196
196
|
</div>
|
|
@@ -199,108 +199,116 @@ function SearchBar() {
|
|
|
199
199
|
|
|
200
200
|
{/* Props Documentation */}
|
|
201
201
|
<div className="!space-y-8">
|
|
202
|
-
<h2 className="text-center text-3xl font-bold
|
|
202
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
203
203
|
Props & Configuration
|
|
204
204
|
</h2>
|
|
205
205
|
|
|
206
|
-
<div className="overflow-hidden rounded-lg border
|
|
207
|
-
<div className="bg-
|
|
208
|
-
<h3 className="text-xl font-semibold
|
|
206
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
207
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
208
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
209
|
+
Props
|
|
210
|
+
</h3>
|
|
209
211
|
</div>
|
|
210
212
|
<table className="!my-0 w-full">
|
|
211
|
-
<thead className="bg-
|
|
212
|
-
<tr className="border-
|
|
213
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
213
|
+
<thead className="bg-fm-surface-secondary">
|
|
214
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
215
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
214
216
|
Prop
|
|
215
217
|
</th>
|
|
216
|
-
<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">
|
|
217
219
|
Type
|
|
218
220
|
</th>
|
|
219
|
-
<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">
|
|
220
222
|
Default
|
|
221
223
|
</th>
|
|
222
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
224
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
223
225
|
Description
|
|
224
226
|
</th>
|
|
225
227
|
</tr>
|
|
226
228
|
</thead>
|
|
227
229
|
<tbody>
|
|
228
230
|
{" "}
|
|
229
|
-
<tr className="
|
|
230
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
231
|
+
<tr className="bg-fm-surface-secondary!">
|
|
232
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
231
233
|
withAccessibility
|
|
232
234
|
</td>
|
|
233
|
-
<td className="px-6 py-4 text-sm
|
|
235
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
234
236
|
boolean
|
|
235
237
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
238
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
237
239
|
true
|
|
238
240
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
241
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
240
242
|
Whether to wrap the icon with accessibility feature
|
|
241
243
|
</td>
|
|
242
244
|
</tr>
|
|
243
|
-
<tr className="border-
|
|
244
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
245
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
246
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
245
247
|
height
|
|
246
248
|
</td>
|
|
247
|
-
<td className="px-6 py-4 text-sm
|
|
249
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
248
250
|
number | string
|
|
249
251
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
251
|
-
|
|
252
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
253
|
+
20
|
|
254
|
+
</td>
|
|
255
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
252
256
|
Height of the icon in pixels
|
|
253
257
|
</td>
|
|
254
258
|
</tr>
|
|
255
|
-
<tr className="border-
|
|
256
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
259
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
260
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
257
261
|
stroke
|
|
258
262
|
</td>
|
|
259
|
-
<td className="px-6 py-4 text-sm
|
|
263
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
260
264
|
string
|
|
261
265
|
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm
|
|
266
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
263
267
|
currentColor
|
|
264
268
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
269
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
266
270
|
Stroke color of the icon lines
|
|
267
271
|
</td>
|
|
268
272
|
</tr>
|
|
269
|
-
<tr className="border-
|
|
270
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
273
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
274
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
271
275
|
strokeLinecap
|
|
272
276
|
</td>
|
|
273
|
-
<td className="px-6 py-4 text-sm
|
|
277
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
274
278
|
string
|
|
275
279
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
280
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
277
281
|
square
|
|
278
282
|
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm
|
|
283
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
280
284
|
Style of line endings
|
|
281
285
|
</td>
|
|
282
286
|
</tr>
|
|
283
|
-
<tr className="border-
|
|
284
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
287
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
288
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
285
289
|
className
|
|
286
290
|
</td>
|
|
287
|
-
<td className="px-6 py-4 text-sm
|
|
291
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
288
292
|
string
|
|
289
293
|
</td>
|
|
290
|
-
<td className="px-6 py-4 text-sm
|
|
291
|
-
|
|
294
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
295
|
+
-
|
|
296
|
+
</td>
|
|
297
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
292
298
|
CSS classes for styling (use for overrides)
|
|
293
299
|
</td>
|
|
294
300
|
</tr>
|
|
295
|
-
<tr className="
|
|
296
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
301
|
+
<tr className="bg-fm-surface-secondary!">
|
|
302
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
297
303
|
...svgProps
|
|
298
304
|
</td>
|
|
299
|
-
<td className="px-6 py-4 text-sm
|
|
305
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
300
306
|
SVGProps
|
|
301
307
|
</td>
|
|
302
|
-
<td className="px-6 py-4 text-sm
|
|
303
|
-
|
|
308
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
309
|
+
-
|
|
310
|
+
</td>
|
|
311
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
304
312
|
All standard SVG element props
|
|
305
313
|
</td>
|
|
306
314
|
</tr>
|
|
@@ -311,50 +319,62 @@ function SearchBar() {
|
|
|
311
319
|
|
|
312
320
|
{/* Size Variations */}
|
|
313
321
|
<div className="!space-y-8">
|
|
314
|
-
<h2 className="text-center text-3xl font-bold
|
|
322
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
315
323
|
Size Variations
|
|
316
324
|
</h2>
|
|
317
|
-
<div className="rounded-lg border
|
|
325
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
318
326
|
<div className="!space-y-6">
|
|
319
327
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
320
328
|
<div className="!space-y-4">
|
|
321
|
-
<h3 className="text-lg font-semibold
|
|
329
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
322
330
|
Standard Sizes
|
|
323
331
|
</h3>
|
|
324
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
332
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
325
333
|
<div className="text-center">
|
|
326
|
-
<PageSearchIcon className="!mx-auto mb-2 h-3 w-3
|
|
327
|
-
<span className="text-
|
|
334
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
335
|
+
<span className="text-fm-tertiary text-xs">
|
|
336
|
+
12px
|
|
337
|
+
</span>
|
|
328
338
|
</div>
|
|
329
339
|
<div className="text-center">
|
|
330
|
-
<PageSearchIcon className="!mx-auto mb-2 h-4 w-4
|
|
331
|
-
<span className="text-
|
|
340
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
341
|
+
<span className="text-fm-tertiary text-xs">
|
|
342
|
+
16px
|
|
343
|
+
</span>
|
|
332
344
|
</div>
|
|
333
345
|
<div className="text-center">
|
|
334
|
-
<PageSearchIcon className="!mx-auto mb-2 h-5 w-5
|
|
335
|
-
<span className="text-
|
|
346
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
347
|
+
<span className="text-fm-tertiary text-xs">
|
|
348
|
+
20px
|
|
349
|
+
</span>
|
|
336
350
|
</div>
|
|
337
351
|
<div className="text-center">
|
|
338
|
-
<PageSearchIcon className="!mx-auto mb-2 h-6 w-6
|
|
339
|
-
<span className="text-
|
|
352
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
353
|
+
<span className="text-fm-tertiary text-xs">
|
|
354
|
+
24px
|
|
355
|
+
</span>
|
|
340
356
|
</div>
|
|
341
357
|
<div className="text-center">
|
|
342
|
-
<PageSearchIcon className="!mx-auto mb-2 h-8 w-8
|
|
343
|
-
<span className="text-
|
|
358
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
359
|
+
<span className="text-fm-tertiary text-xs">
|
|
360
|
+
32px
|
|
361
|
+
</span>
|
|
344
362
|
</div>
|
|
345
363
|
<div className="text-center">
|
|
346
|
-
<PageSearchIcon className="!mx-auto mb-2 h-12 w-12
|
|
347
|
-
<span className="text-
|
|
364
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
365
|
+
<span className="text-fm-tertiary text-xs">
|
|
366
|
+
48px
|
|
367
|
+
</span>
|
|
348
368
|
</div>
|
|
349
369
|
</div>
|
|
350
370
|
</div>
|
|
351
371
|
|
|
352
372
|
<div className="!space-y-4">
|
|
353
|
-
<h3 className="text-lg font-semibold
|
|
373
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
354
374
|
Code Example
|
|
355
375
|
</h3>
|
|
356
|
-
<div className="rounded-lg
|
|
357
|
-
<pre className="overflow-x-auto text-sm
|
|
376
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
377
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
358
378
|
{`// Small (16px)
|
|
359
379
|
<PageSearchIcon className="h-4 w-4 " />
|
|
360
380
|
|
|
@@ -376,56 +396,56 @@ function SearchBar() {
|
|
|
376
396
|
|
|
377
397
|
{/* Color Variations */}
|
|
378
398
|
<div className="!space-y-8">
|
|
379
|
-
<h2 className="text-center text-3xl font-bold
|
|
399
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
380
400
|
Color Variations
|
|
381
401
|
</h2>
|
|
382
402
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
383
403
|
<div className="!space-y-4">
|
|
384
|
-
<h3 className="text-lg font-semibold
|
|
404
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
385
405
|
Semantic Colors
|
|
386
406
|
</h3>
|
|
387
|
-
<div className="!space-y-4 rounded-lg border
|
|
407
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
388
408
|
<div className="flex items-center gap-4">
|
|
389
|
-
<PageSearchIcon className="h-6 w-6
|
|
409
|
+
<PageSearchIcon className="text-fm-icon-info h-6 w-6" />
|
|
390
410
|
<div>
|
|
391
|
-
<div className="text-sm font-medium
|
|
411
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
392
412
|
Primary
|
|
393
413
|
</div>
|
|
394
|
-
<div className="text-
|
|
395
|
-
text-
|
|
414
|
+
<div className="text-fm-tertiary text-xs">
|
|
415
|
+
text-fm-icon-info
|
|
396
416
|
</div>
|
|
397
417
|
</div>
|
|
398
418
|
</div>
|
|
399
419
|
<div className="flex items-center gap-4">
|
|
400
|
-
<PageSearchIcon className="h-6 w-6
|
|
420
|
+
<PageSearchIcon className="text-fm-icon-info h-6 w-6" />
|
|
401
421
|
<div>
|
|
402
|
-
<div className="text-sm font-medium
|
|
422
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
403
423
|
Search Active
|
|
404
424
|
</div>
|
|
405
|
-
<div className="text-
|
|
406
|
-
text-
|
|
425
|
+
<div className="text-fm-tertiary text-xs">
|
|
426
|
+
text-fm-icon-info
|
|
407
427
|
</div>
|
|
408
428
|
</div>
|
|
409
429
|
</div>
|
|
410
430
|
<div className="flex items-center gap-4">
|
|
411
|
-
<PageSearchIcon className="h-6 w-6
|
|
431
|
+
<PageSearchIcon className="text-fm-placeholder h-6 w-6" />
|
|
412
432
|
<div>
|
|
413
|
-
<div className="text-sm font-medium
|
|
433
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
414
434
|
Disabled
|
|
415
435
|
</div>
|
|
416
|
-
<div className="text-
|
|
417
|
-
text-
|
|
436
|
+
<div className="text-fm-tertiary text-xs">
|
|
437
|
+
text-fm-placeholder
|
|
418
438
|
</div>
|
|
419
439
|
</div>
|
|
420
440
|
</div>
|
|
421
441
|
<div className="flex items-center gap-4">
|
|
422
|
-
<PageSearchIcon className="h-6 w-6
|
|
442
|
+
<PageSearchIcon className="text-fm-icon-info h-6 w-6" />
|
|
423
443
|
<div>
|
|
424
|
-
<div className="text-sm font-medium
|
|
444
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
425
445
|
Info
|
|
426
446
|
</div>
|
|
427
|
-
<div className="text-
|
|
428
|
-
text-
|
|
447
|
+
<div className="text-fm-tertiary text-xs">
|
|
448
|
+
text-fm-icon-info
|
|
429
449
|
</div>
|
|
430
450
|
</div>
|
|
431
451
|
</div>
|
|
@@ -433,11 +453,11 @@ function SearchBar() {
|
|
|
433
453
|
</div>
|
|
434
454
|
|
|
435
455
|
<div className="!space-y-4">
|
|
436
|
-
<h3 className="text-lg font-semibold
|
|
456
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
437
457
|
Custom Colors
|
|
438
458
|
</h3>
|
|
439
|
-
<div className="rounded-lg
|
|
440
|
-
<pre className="overflow-x-auto text-sm
|
|
459
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
460
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
441
461
|
{`// Using Tailwind classes with
|
|
442
462
|
<PageSearchIcon className="h-6 w-6 text-indigo-400 " />
|
|
443
463
|
<PageSearchIcon className="h-6 w-6 text-cyan-500 " />
|
|
@@ -462,14 +482,14 @@ function SearchBar() {
|
|
|
462
482
|
|
|
463
483
|
{/* Usage Examples */}
|
|
464
484
|
<div className="!space-y-8">
|
|
465
|
-
<h2 className="text-center text-3xl font-bold
|
|
485
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
466
486
|
Usage Examples
|
|
467
487
|
</h2>
|
|
468
488
|
|
|
469
489
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
470
490
|
{/* Search Bar */}
|
|
471
491
|
<div className="!space-y-4">
|
|
472
|
-
<h3 className="text-lg font-semibold
|
|
492
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
473
493
|
Search Input
|
|
474
494
|
</h3>
|
|
475
495
|
<div className="!space-y-4">
|
|
@@ -477,12 +497,12 @@ function SearchBar() {
|
|
|
477
497
|
<input
|
|
478
498
|
type="text"
|
|
479
499
|
placeholder="Search documents..."
|
|
480
|
-
className="w-full rounded-lg border
|
|
500
|
+
className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info w-full rounded-lg border py-2 pr-4 pl-10 placeholder-white/50 focus:ring-2 focus:ring-indigo-400/20"
|
|
481
501
|
/>
|
|
482
|
-
<PageSearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2
|
|
502
|
+
<PageSearchIcon className="text-fm-icon-info absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
|
|
483
503
|
</div>
|
|
484
|
-
<div className="rounded-lg
|
|
485
|
-
<pre className="overflow-x-auto text-sm
|
|
504
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
505
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
486
506
|
{`<div className="relative">
|
|
487
507
|
<input
|
|
488
508
|
type="text"
|
|
@@ -498,22 +518,22 @@ function SearchBar() {
|
|
|
498
518
|
|
|
499
519
|
{/* Search Button */}
|
|
500
520
|
<div className="!space-y-4">
|
|
501
|
-
<h3 className="text-lg font-semibold
|
|
521
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
502
522
|
Search Button
|
|
503
523
|
</h3>
|
|
504
524
|
<div className="!space-y-4">
|
|
505
525
|
<div className="flex gap-4">
|
|
506
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
526
|
+
<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">
|
|
507
527
|
<PageSearchIcon className="h-4 w-4" />
|
|
508
528
|
Search Pages
|
|
509
529
|
</button>
|
|
510
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
530
|
+
<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">
|
|
511
531
|
<PageSearchIcon className="h-4 w-4" />
|
|
512
532
|
Find Documents
|
|
513
533
|
</button>
|
|
514
534
|
</div>
|
|
515
|
-
<div className="rounded-lg
|
|
516
|
-
<pre className="overflow-x-auto text-sm
|
|
535
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
536
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
517
537
|
{`// Primary search button
|
|
518
538
|
<button className="flex items-center gap-2 bg-indigo-500/20 border border-indigo-500/30 px-4 py-2 rounded-lg">
|
|
519
539
|
<PageSearchIcon className="h-4 w-4 " />
|
|
@@ -532,11 +552,11 @@ function SearchBar() {
|
|
|
532
552
|
|
|
533
553
|
{/* Search Results */}
|
|
534
554
|
<div className="!space-y-4">
|
|
535
|
-
<h3 className="text-lg font-semibold
|
|
555
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
536
556
|
Search Results
|
|
537
557
|
</h3>
|
|
538
558
|
<div className="!space-y-4">
|
|
539
|
-
<div className="!space-y-3 rounded-lg border
|
|
559
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
540
560
|
{[
|
|
541
561
|
{
|
|
542
562
|
title: "User Guide.pdf",
|
|
@@ -556,22 +576,22 @@ function SearchBar() {
|
|
|
556
576
|
].map((doc, index) => (
|
|
557
577
|
<div
|
|
558
578
|
key={index}
|
|
559
|
-
className="flex items-center gap-3 rounded border
|
|
579
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-3"
|
|
560
580
|
>
|
|
561
|
-
<PageSearchIcon className="h-5 w-5
|
|
581
|
+
<PageSearchIcon className="text-fm-icon-info h-5 w-5" />
|
|
562
582
|
<div className="flex-1">
|
|
563
|
-
<div className="text-sm font-medium
|
|
583
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
564
584
|
{doc.title}
|
|
565
585
|
</div>
|
|
566
|
-
<div className="text-
|
|
586
|
+
<div className="text-fm-tertiary text-xs">
|
|
567
587
|
{doc.type} • {doc.size}
|
|
568
588
|
</div>
|
|
569
589
|
</div>
|
|
570
590
|
</div>
|
|
571
591
|
))}
|
|
572
592
|
</div>
|
|
573
|
-
<div className="rounded-lg
|
|
574
|
-
<pre className="overflow-x-auto text-sm
|
|
593
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
594
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
575
595
|
{`{results.map((doc, index) => (
|
|
576
596
|
<div key={index} className="flex items-center gap-3 p-3">
|
|
577
597
|
<PageSearchIcon className="h-5 w-5 text-indigo-400 " />
|
|
@@ -588,26 +608,26 @@ function SearchBar() {
|
|
|
588
608
|
|
|
589
609
|
{/* Empty State */}
|
|
590
610
|
<div className="!space-y-4">
|
|
591
|
-
<h3 className="text-lg font-semibold
|
|
611
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
592
612
|
Empty Search State
|
|
593
613
|
</h3>
|
|
594
614
|
<div className="!space-y-4">
|
|
595
|
-
<div className="flex flex-col items-center justify-center rounded-lg border
|
|
596
|
-
<PageSearchIcon className="mb-4 h-12 w-12
|
|
597
|
-
<h4 className="mb-2 text-lg font-medium
|
|
615
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex flex-col items-center justify-center rounded-lg border p-8">
|
|
616
|
+
<PageSearchIcon className="text-fm-icon-active/30 mb-4 h-12 w-12" />
|
|
617
|
+
<h4 className="text-fm-icon-active!/80 mb-2 text-lg font-medium">
|
|
598
618
|
No documents found
|
|
599
619
|
</h4>
|
|
600
|
-
<p className="text-
|
|
620
|
+
<p className="text-fm-placeholder! text-center text-sm">
|
|
601
621
|
Try adjusting your search terms or browse all
|
|
602
622
|
documents
|
|
603
623
|
</p>
|
|
604
|
-
<button className="mt-4 flex items-center gap-2 rounded-lg border
|
|
624
|
+
<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">
|
|
605
625
|
<PageSearchIcon className="h-4 w-4" />
|
|
606
626
|
Browse All
|
|
607
627
|
</button>
|
|
608
628
|
</div>
|
|
609
|
-
<div className="rounded-lg
|
|
610
|
-
<pre className="overflow-x-auto text-sm
|
|
629
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
630
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
611
631
|
{`<div className="flex flex-col items-center p-8">
|
|
612
632
|
<PageSearchIcon className="h-12 w-12 text-white/30 mb-4 " />
|
|
613
633
|
<h4 className="text-lg font-medium text-white/80 mb-2">No documents found</h4>
|
|
@@ -628,55 +648,55 @@ function SearchBar() {
|
|
|
628
648
|
|
|
629
649
|
{/* Interactive States */}
|
|
630
650
|
<div className="!space-y-8">
|
|
631
|
-
<h2 className="text-center text-3xl font-bold
|
|
651
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
632
652
|
Interactive States & Animations
|
|
633
653
|
</h2>
|
|
634
654
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
635
655
|
<div className="!space-y-4">
|
|
636
|
-
<h3 className="text-lg font-semibold
|
|
656
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
637
657
|
Hover & Animation Effects
|
|
638
658
|
</h3>
|
|
639
|
-
<div className="!space-y-4 rounded-lg border
|
|
659
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
640
660
|
<div className="flex items-center gap-4">
|
|
641
|
-
<PageSearchIcon className="h-6 w-6
|
|
661
|
+
<PageSearchIcon className="text-fm-tertiary hover:text-fm-icon-info h-6 w-6 transition-colors" />
|
|
642
662
|
<div>
|
|
643
|
-
<div className="text-sm font-medium
|
|
663
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
644
664
|
Color Change
|
|
645
665
|
</div>
|
|
646
|
-
<div className="text-
|
|
666
|
+
<div className="text-fm-tertiary text-xs">
|
|
647
667
|
Hover to see effect
|
|
648
668
|
</div>
|
|
649
669
|
</div>
|
|
650
670
|
</div>
|
|
651
671
|
<div className="flex items-center gap-4">
|
|
652
|
-
<PageSearchIcon className="h-6 w-6
|
|
672
|
+
<PageSearchIcon className="text-fm-icon-active h-6 w-6 transition-transform hover:scale-110" />
|
|
653
673
|
<div>
|
|
654
|
-
<div className="text-sm font-medium
|
|
674
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
655
675
|
Scale Up
|
|
656
676
|
</div>
|
|
657
|
-
<div className="text-
|
|
677
|
+
<div className="text-fm-tertiary text-xs">
|
|
658
678
|
Scale on hover
|
|
659
679
|
</div>
|
|
660
680
|
</div>
|
|
661
681
|
</div>
|
|
662
682
|
<div className="flex items-center gap-4">
|
|
663
|
-
<PageSearchIcon className="animate-search-pulse h-6 w-6
|
|
683
|
+
<PageSearchIcon className="animate-search-pulse text-fm-icon-info h-6 w-6" />
|
|
664
684
|
<div>
|
|
665
|
-
<div className="text-sm font-medium
|
|
685
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
666
686
|
Search Pulse
|
|
667
687
|
</div>
|
|
668
|
-
<div className="text-
|
|
688
|
+
<div className="text-fm-tertiary text-xs">
|
|
669
689
|
Continuous animation
|
|
670
690
|
</div>
|
|
671
691
|
</div>
|
|
672
692
|
</div>
|
|
673
693
|
<div className="flex items-center gap-4">
|
|
674
|
-
<PageSearchIcon className="animate-document-slide h-6 w-6
|
|
694
|
+
<PageSearchIcon className="animate-document-slide text-fm-icon-info h-6 w-6" />
|
|
675
695
|
<div>
|
|
676
|
-
<div className="text-sm font-medium
|
|
696
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
677
697
|
Document Slide
|
|
678
698
|
</div>
|
|
679
|
-
<div className="text-
|
|
699
|
+
<div className="text-fm-tertiary text-xs">
|
|
680
700
|
Subtle movement
|
|
681
701
|
</div>
|
|
682
702
|
</div>
|
|
@@ -685,11 +705,11 @@ function SearchBar() {
|
|
|
685
705
|
</div>
|
|
686
706
|
|
|
687
707
|
<div className="!space-y-4">
|
|
688
|
-
<h3 className="text-lg font-semibold
|
|
708
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
689
709
|
State Examples
|
|
690
710
|
</h3>
|
|
691
|
-
<div className="rounded-lg
|
|
692
|
-
<pre className="overflow-x-auto text-sm
|
|
711
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
712
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
693
713
|
{`// Color change on hover
|
|
694
714
|
<PageSearchIcon className="h-6 w-6 text-white/60 transition-colors hover:text-indigo-400 " />
|
|
695
715
|
|
|
@@ -712,65 +732,65 @@ function SearchBar() {
|
|
|
712
732
|
|
|
713
733
|
{/* Accessibility */}
|
|
714
734
|
<div className="!space-y-8">
|
|
715
|
-
<h2 className="text-center text-3xl font-bold
|
|
735
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
716
736
|
Accessibility Features
|
|
717
737
|
</h2>
|
|
718
738
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
719
|
-
<div className="!space-y-4 rounded-lg border
|
|
720
|
-
<h3 className="text-lg font-semibold
|
|
739
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
740
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
721
741
|
✅ Built-in Features
|
|
722
742
|
</h3>
|
|
723
|
-
<ul className="!space-y-2 text-sm
|
|
724
|
-
<li className="
|
|
743
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
744
|
+
<li className="text-fm-secondary!">
|
|
725
745
|
Uses Radix UI AccessibleIcon wrapper
|
|
726
746
|
</li>
|
|
727
|
-
<li className="
|
|
747
|
+
<li className="text-fm-secondary!">
|
|
728
748
|
Provides screen reader label "Page Search icon"
|
|
729
749
|
</li>
|
|
730
|
-
<li className="
|
|
750
|
+
<li className="text-fm-secondary!">
|
|
731
751
|
Supports keyboard navigation when interactive
|
|
732
752
|
</li>
|
|
733
|
-
<li className="
|
|
753
|
+
<li className="text-fm-secondary!">
|
|
734
754
|
Maintains proper color contrast ratios
|
|
735
755
|
</li>
|
|
736
|
-
<li className="
|
|
756
|
+
<li className="text-fm-secondary!">
|
|
737
757
|
Scales with user's font size preferences
|
|
738
758
|
</li>
|
|
739
759
|
</ul>
|
|
740
760
|
</div>
|
|
741
761
|
|
|
742
|
-
<div className="!space-y-4 rounded-lg border
|
|
743
|
-
<h3 className="text-lg font-semibold
|
|
762
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
763
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
744
764
|
💡 Best Practices
|
|
745
765
|
</h3>
|
|
746
|
-
<ul className="!space-y-2 text-sm
|
|
747
|
-
<li className="
|
|
766
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
767
|
+
<li className="text-fm-secondary!">
|
|
748
768
|
Always provide descriptive labels for search
|
|
749
769
|
functionality
|
|
750
770
|
</li>
|
|
751
|
-
<li className="
|
|
771
|
+
<li className="text-fm-secondary!">
|
|
752
772
|
Use consistent placement in search interfaces
|
|
753
773
|
</li>
|
|
754
|
-
<li className="
|
|
774
|
+
<li className="text-fm-secondary!">
|
|
755
775
|
Ensure sufficient click/touch target sizes
|
|
756
776
|
</li>
|
|
757
|
-
<li className="
|
|
777
|
+
<li className="text-fm-secondary!">
|
|
758
778
|
Add focus states for keyboard navigation
|
|
759
779
|
</li>
|
|
760
|
-
<li className="
|
|
780
|
+
<li className="text-fm-secondary!">
|
|
761
781
|
Consider motion sensitivity for search animations
|
|
762
782
|
</li>
|
|
763
783
|
</ul>
|
|
764
784
|
</div>
|
|
765
785
|
</div>
|
|
766
786
|
|
|
767
|
-
<div className="rounded-lg border
|
|
768
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
787
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
788
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
769
789
|
Custom Accessibility Implementation
|
|
770
790
|
</h3>
|
|
771
791
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
772
|
-
<div className="rounded-lg
|
|
773
|
-
<pre className="overflow-x-auto text-sm
|
|
792
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
793
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
774
794
|
{`// Search button with proper ARIA
|
|
775
795
|
<button
|
|
776
796
|
aria-label="Search documents"
|
|
@@ -802,13 +822,13 @@ function SearchBar() {
|
|
|
802
822
|
</pre>
|
|
803
823
|
</div>
|
|
804
824
|
<div className="!space-y-4">
|
|
805
|
-
<p className="text-
|
|
825
|
+
<p className="text-fm-secondary! text-sm">
|
|
806
826
|
When using PageSearchIcon for interactive search
|
|
807
827
|
functionality, provide clear context about what can be
|
|
808
828
|
searched and how the search works.
|
|
809
829
|
</p>
|
|
810
|
-
<div className="
|
|
811
|
-
<div className="flex items-center gap-2 text-sm
|
|
830
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
831
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
812
832
|
<PageSearchIcon className="h-4 w-4" />
|
|
813
833
|
<span>
|
|
814
834
|
This approach gives screen readers clear context
|
|
@@ -823,46 +843,58 @@ function SearchBar() {
|
|
|
823
843
|
|
|
824
844
|
{/* Related Icons */}
|
|
825
845
|
<div className="!space-y-8">
|
|
826
|
-
<h2 className="text-center text-3xl font-bold
|
|
846
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
827
847
|
Related Icons
|
|
828
848
|
</h2>
|
|
829
849
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
830
|
-
<div className="!space-y-3 rounded-lg border
|
|
831
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
850
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
851
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
832
852
|
<span className="text-2xl">🔍</span>
|
|
833
853
|
</div>
|
|
834
854
|
<div>
|
|
835
|
-
<div className="font-medium
|
|
836
|
-
|
|
855
|
+
<div className="text-fm-icon-active font-medium">
|
|
856
|
+
SearchIcon
|
|
857
|
+
</div>
|
|
858
|
+
<div className="text-fm-tertiary text-xs">
|
|
837
859
|
General search
|
|
838
860
|
</div>
|
|
839
861
|
</div>
|
|
840
862
|
</div>
|
|
841
|
-
<div className="!space-y-3 rounded-lg border
|
|
842
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
863
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
864
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
843
865
|
<span className="text-2xl">📄</span>
|
|
844
866
|
</div>
|
|
845
867
|
<div>
|
|
846
|
-
<div className="font-medium
|
|
847
|
-
|
|
868
|
+
<div className="text-fm-icon-active font-medium">
|
|
869
|
+
DocumentIcon
|
|
870
|
+
</div>
|
|
871
|
+
<div className="text-fm-tertiary text-xs">
|
|
872
|
+
Document view
|
|
873
|
+
</div>
|
|
848
874
|
</div>
|
|
849
875
|
</div>
|
|
850
|
-
<div className="!space-y-3 rounded-lg border
|
|
851
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
876
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
877
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
852
878
|
<span className="text-2xl">🗂️</span>
|
|
853
879
|
</div>
|
|
854
880
|
<div>
|
|
855
|
-
<div className="font-medium
|
|
856
|
-
|
|
881
|
+
<div className="text-fm-icon-active font-medium">
|
|
882
|
+
FolderIcon
|
|
883
|
+
</div>
|
|
884
|
+
<div className="text-fm-tertiary text-xs">
|
|
885
|
+
File browsing
|
|
886
|
+
</div>
|
|
857
887
|
</div>
|
|
858
888
|
</div>
|
|
859
|
-
<div className="!space-y-3 rounded-lg border
|
|
860
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
889
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
890
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
861
891
|
<span className="text-2xl">🔎</span>
|
|
862
892
|
</div>
|
|
863
893
|
<div>
|
|
864
|
-
<div className="font-medium
|
|
865
|
-
|
|
894
|
+
<div className="text-fm-icon-active font-medium">
|
|
895
|
+
FilterIcon
|
|
896
|
+
</div>
|
|
897
|
+
<div className="text-fm-tertiary text-xs">
|
|
866
898
|
Content filtering
|
|
867
899
|
</div>
|
|
868
900
|
</div>
|
|
@@ -872,15 +904,15 @@ function SearchBar() {
|
|
|
872
904
|
</div>
|
|
873
905
|
|
|
874
906
|
{/* Footer */}
|
|
875
|
-
<div className="border-
|
|
907
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
876
908
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
877
909
|
<div className="!space-y-4 text-center">
|
|
878
|
-
<p className="
|
|
910
|
+
<p className="text-fm-tertiary!">
|
|
879
911
|
PageSearchIcon is part of the Aural UI icon library, built
|
|
880
912
|
for document search, content discovery, and page navigation
|
|
881
913
|
functionality.
|
|
882
914
|
</p>
|
|
883
|
-
<p className="text-
|
|
915
|
+
<p className="text-fm-placeholder! text-sm">
|
|
884
916
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
885
917
|
compatibility and follow WCAG guidelines for search
|
|
886
918
|
interfaces.
|
|
@@ -931,8 +963,8 @@ const storyParameters = {
|
|
|
931
963
|
backgrounds: {
|
|
932
964
|
default: "dark",
|
|
933
965
|
values: [
|
|
934
|
-
{ name: "dark", value: "
|
|
935
|
-
{ name: "darker", value: "
|
|
966
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
967
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
936
968
|
],
|
|
937
969
|
},
|
|
938
970
|
}
|
|
@@ -941,12 +973,12 @@ export const Default: Story = {
|
|
|
941
973
|
args: {
|
|
942
974
|
width: 24,
|
|
943
975
|
height: 24,
|
|
944
|
-
className: "text-
|
|
976
|
+
className: "text-fm-icon-info ",
|
|
945
977
|
withAccessibility: true,
|
|
946
978
|
},
|
|
947
979
|
parameters: storyParameters,
|
|
948
980
|
render: (args) => (
|
|
949
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
981
|
+
<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">
|
|
950
982
|
<PageSearchIcon {...args} />
|
|
951
983
|
</div>
|
|
952
984
|
),
|
|
@@ -963,30 +995,30 @@ export const SizeVariations: Story = {
|
|
|
963
995
|
},
|
|
964
996
|
},
|
|
965
997
|
render: () => (
|
|
966
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
998
|
+
<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">
|
|
967
999
|
<div className="text-center">
|
|
968
|
-
<PageSearchIcon className="!mx-auto mb-2 h-3 w-3
|
|
969
|
-
<span className="text-
|
|
1000
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
1001
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
970
1002
|
</div>
|
|
971
1003
|
<div className="text-center">
|
|
972
|
-
<PageSearchIcon className="!mx-auto mb-2 h-4 w-4
|
|
973
|
-
<span className="text-
|
|
1004
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
1005
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
974
1006
|
</div>
|
|
975
1007
|
<div className="text-center">
|
|
976
|
-
<PageSearchIcon className="!mx-auto mb-2 h-5 w-5
|
|
977
|
-
<span className="text-
|
|
1008
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
1009
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
978
1010
|
</div>
|
|
979
1011
|
<div className="text-center">
|
|
980
|
-
<PageSearchIcon className="!mx-auto mb-2 h-6 w-6
|
|
981
|
-
<span className="text-
|
|
1012
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
1013
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
982
1014
|
</div>
|
|
983
1015
|
<div className="text-center">
|
|
984
|
-
<PageSearchIcon className="!mx-auto mb-2 h-8 w-8
|
|
985
|
-
<span className="text-
|
|
1016
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
1017
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
986
1018
|
</div>
|
|
987
1019
|
<div className="text-center">
|
|
988
|
-
<PageSearchIcon className="!mx-auto mb-2 h-12 w-12
|
|
989
|
-
<span className="text-
|
|
1020
|
+
<PageSearchIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
1021
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
990
1022
|
</div>
|
|
991
1023
|
</div>
|
|
992
1024
|
),
|
|
@@ -1003,34 +1035,34 @@ export const ColorVariations: Story = {
|
|
|
1003
1035
|
},
|
|
1004
1036
|
},
|
|
1005
1037
|
render: () => (
|
|
1006
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1038
|
+
<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">
|
|
1007
1039
|
<div className="text-center">
|
|
1008
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1009
|
-
<PageSearchIcon className="h-8 w-8
|
|
1040
|
+
<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">
|
|
1041
|
+
<PageSearchIcon className="text-fm-icon-info h-8 w-8" />
|
|
1010
1042
|
</div>
|
|
1011
|
-
<div className="text-sm font-medium
|
|
1012
|
-
<div className="text-
|
|
1043
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
1044
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1013
1045
|
</div>
|
|
1014
1046
|
<div className="text-center">
|
|
1015
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1016
|
-
<PageSearchIcon className="h-8 w-8
|
|
1047
|
+
<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">
|
|
1048
|
+
<PageSearchIcon className="text-fm-icon-info h-8 w-8" />
|
|
1017
1049
|
</div>
|
|
1018
|
-
<div className="text-sm font-medium
|
|
1019
|
-
<div className="text-
|
|
1050
|
+
<div className="text-fm-icon-active text-sm font-medium">Active</div>
|
|
1051
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1020
1052
|
</div>
|
|
1021
1053
|
<div className="text-center">
|
|
1022
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1023
|
-
<PageSearchIcon className="h-8 w-8
|
|
1054
|
+
<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">
|
|
1055
|
+
<PageSearchIcon className="text-fm-placeholder h-8 w-8" />
|
|
1024
1056
|
</div>
|
|
1025
|
-
<div className="text-sm font-medium
|
|
1026
|
-
<div className="text-
|
|
1057
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
1058
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
1027
1059
|
</div>
|
|
1028
1060
|
<div className="text-center">
|
|
1029
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1030
|
-
<PageSearchIcon className="h-8 w-8
|
|
1061
|
+
<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">
|
|
1062
|
+
<PageSearchIcon className="text-fm-icon-info h-8 w-8" />
|
|
1031
1063
|
</div>
|
|
1032
|
-
<div className="text-sm font-medium
|
|
1033
|
-
<div className="text-
|
|
1064
|
+
<div className="text-fm-icon-active text-sm font-medium">Info</div>
|
|
1065
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1034
1066
|
</div>
|
|
1035
1067
|
</div>
|
|
1036
1068
|
),
|
|
@@ -1047,24 +1079,28 @@ export const UsageExamples: Story = {
|
|
|
1047
1079
|
},
|
|
1048
1080
|
},
|
|
1049
1081
|
render: () => (
|
|
1050
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1082
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1051
1083
|
{/* Search Input */}
|
|
1052
1084
|
<div className="!space-y-2">
|
|
1053
|
-
<h3 className="text-sm font-medium
|
|
1085
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1086
|
+
Search Input
|
|
1087
|
+
</h3>
|
|
1054
1088
|
<div className="relative">
|
|
1055
1089
|
<input
|
|
1056
1090
|
type="text"
|
|
1057
1091
|
placeholder="Search documents..."
|
|
1058
|
-
className="w-full rounded-lg border
|
|
1092
|
+
className="border-fm-divider-primary bg-fm-surface-secondary text-fm-icon-active focus:border-fm-icon-info w-full rounded-lg border py-2 pr-4 pl-10 placeholder-white/50 focus:ring-2 focus:ring-indigo-400/20"
|
|
1059
1093
|
/>
|
|
1060
|
-
<PageSearchIcon className="absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2
|
|
1094
|
+
<PageSearchIcon className="text-fm-icon-info absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" />
|
|
1061
1095
|
</div>
|
|
1062
1096
|
</div>
|
|
1063
1097
|
|
|
1064
1098
|
{/* Search Results */}
|
|
1065
1099
|
<div className="!space-y-2">
|
|
1066
|
-
<h3 className="text-sm font-medium
|
|
1067
|
-
|
|
1100
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1101
|
+
Search Results
|
|
1102
|
+
</h3>
|
|
1103
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4">
|
|
1068
1104
|
{[
|
|
1069
1105
|
{ title: "User Guide.pdf", type: "PDF Document", size: "2.4 MB" },
|
|
1070
1106
|
{ title: "API Reference.md", type: "Markdown", size: "156 KB" },
|
|
@@ -1076,14 +1112,14 @@ export const UsageExamples: Story = {
|
|
|
1076
1112
|
].map((doc, index) => (
|
|
1077
1113
|
<div
|
|
1078
1114
|
key={index}
|
|
1079
|
-
className="flex items-center gap-3 rounded border
|
|
1115
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-3"
|
|
1080
1116
|
>
|
|
1081
|
-
<PageSearchIcon className="h-5 w-5
|
|
1117
|
+
<PageSearchIcon className="text-fm-icon-info h-5 w-5" />
|
|
1082
1118
|
<div className="flex-1">
|
|
1083
|
-
<div className="text-sm font-medium
|
|
1119
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1084
1120
|
{doc.title}
|
|
1085
1121
|
</div>
|
|
1086
|
-
<div className="text-
|
|
1122
|
+
<div className="text-fm-tertiary text-xs">
|
|
1087
1123
|
{doc.type} • {doc.size}
|
|
1088
1124
|
</div>
|
|
1089
1125
|
</div>
|
|
@@ -1094,13 +1130,15 @@ export const UsageExamples: Story = {
|
|
|
1094
1130
|
|
|
1095
1131
|
{/* Search Buttons */}
|
|
1096
1132
|
<div className="!space-y-2">
|
|
1097
|
-
<h3 className="text-sm font-medium
|
|
1133
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1134
|
+
Search Actions
|
|
1135
|
+
</h3>
|
|
1098
1136
|
<div className="flex gap-4">
|
|
1099
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1137
|
+
<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">
|
|
1100
1138
|
<PageSearchIcon className="h-4 w-4" />
|
|
1101
1139
|
Search Pages
|
|
1102
1140
|
</button>
|
|
1103
|
-
<button className="flex items-center gap-2 rounded-lg border
|
|
1141
|
+
<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">
|
|
1104
1142
|
<PageSearchIcon className="h-4 w-4" />
|
|
1105
1143
|
Find Documents
|
|
1106
1144
|
</button>
|
|
@@ -1121,27 +1159,27 @@ export const InteractiveStates: Story = {
|
|
|
1121
1159
|
},
|
|
1122
1160
|
},
|
|
1123
1161
|
render: () => (
|
|
1124
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1162
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1125
1163
|
<div className="!space-y-4">
|
|
1126
|
-
<h3 className="text-sm font-medium
|
|
1164
|
+
<h3 className="text-fm-secondary text-sm font-medium">
|
|
1127
1165
|
Hover & Animation Effects
|
|
1128
1166
|
</h3>
|
|
1129
1167
|
<div className="flex gap-8">
|
|
1130
1168
|
<div className="flex flex-col items-center gap-2">
|
|
1131
|
-
<PageSearchIcon className="h-8 w-8
|
|
1132
|
-
<span className="text-
|
|
1169
|
+
<PageSearchIcon className="text-fm-tertiary hover:text-fm-icon-info h-8 w-8 transition-colors" />
|
|
1170
|
+
<span className="text-fm-tertiary text-xs">Color Change</span>
|
|
1133
1171
|
</div>
|
|
1134
1172
|
<div className="flex flex-col items-center gap-2">
|
|
1135
|
-
<PageSearchIcon className="h-8 w-8
|
|
1136
|
-
<span className="text-
|
|
1173
|
+
<PageSearchIcon className="text-fm-icon-active h-8 w-8 transition-transform hover:scale-110" />
|
|
1174
|
+
<span className="text-fm-tertiary text-xs">Scale Up</span>
|
|
1137
1175
|
</div>
|
|
1138
1176
|
<div className="flex flex-col items-center gap-2">
|
|
1139
|
-
<PageSearchIcon className="animate-search-pulse h-8 w-8
|
|
1140
|
-
<span className="text-
|
|
1177
|
+
<PageSearchIcon className="animate-search-pulse text-fm-icon-info h-8 w-8" />
|
|
1178
|
+
<span className="text-fm-tertiary text-xs">Search Pulse</span>
|
|
1141
1179
|
</div>
|
|
1142
1180
|
<div className="flex flex-col items-center gap-2">
|
|
1143
|
-
<PageSearchIcon className="animate-document-slide h-8 w-8
|
|
1144
|
-
<span className="text-
|
|
1181
|
+
<PageSearchIcon className="animate-document-slide text-fm-icon-info h-8 w-8" />
|
|
1182
|
+
<span className="text-fm-tertiary text-xs">Document Slide</span>
|
|
1145
1183
|
</div>
|
|
1146
1184
|
</div>
|
|
1147
1185
|
</div>
|
|
@@ -1162,12 +1200,12 @@ export const Playground: Story = {
|
|
|
1162
1200
|
args: {
|
|
1163
1201
|
width: 32,
|
|
1164
1202
|
height: 32,
|
|
1165
|
-
className: "text-
|
|
1203
|
+
className: "text-fm-icon-info ",
|
|
1166
1204
|
strokeLinecap: "square",
|
|
1167
1205
|
},
|
|
1168
1206
|
render: (args) => (
|
|
1169
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1170
|
-
<div className="rounded-lg border
|
|
1207
|
+
<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">
|
|
1208
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1171
1209
|
<PageSearchIcon {...args} />
|
|
1172
1210
|
</div>
|
|
1173
1211
|
</div>
|