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 MoveVerticalIcon> = {
|
|
|
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 MoveVerticalIcon> = {
|
|
|
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 slide-up-down {
|
|
81
81
|
0%, 100% { transform: translateY(0); }
|
|
@@ -95,19 +95,19 @@ const meta: Meta<typeof MoveVerticalIcon> = {
|
|
|
95
95
|
`}
|
|
96
96
|
</style>
|
|
97
97
|
|
|
98
|
-
<div className="
|
|
98
|
+
<div className="from-fm-surface-primary via-fm-icon-info/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
99
99
|
{/* Header */}
|
|
100
|
-
<div className="relative overflow-hidden border-b
|
|
101
|
-
<div className="absolute inset-0 bg-
|
|
100
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
101
|
+
<div className="from-fm-icon-info/10 to-fm-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
102
102
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
103
103
|
<div className="!space-y-6 text-center">
|
|
104
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
105
|
-
<MoveVerticalIcon className="h-12 w-12
|
|
104
|
+
<div className="border-fm-icon-info/30 from-fm-icon-info/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
105
|
+
<MoveVerticalIcon className="text-fm-icon-info h-12 w-12" />
|
|
106
106
|
</div>
|
|
107
107
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
108
108
|
MoveVerticalIcon
|
|
109
109
|
</h1>
|
|
110
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
110
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
111
111
|
A vertical movement icon featuring up and down arrows,
|
|
112
112
|
perfect for indicating vertical drag operations, sortable
|
|
113
113
|
lists, up/down navigation, and reordering controls. Built
|
|
@@ -118,26 +118,28 @@ const meta: Meta<typeof MoveVerticalIcon> = {
|
|
|
118
118
|
{/* Stats */}
|
|
119
119
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
120
120
|
<div className="text-center">
|
|
121
|
-
<div className="text-3xl font-bold
|
|
121
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
122
122
|
Sort
|
|
123
123
|
</div>
|
|
124
|
-
<div className="text-
|
|
124
|
+
<div className="text-fm-tertiary text-sm">
|
|
125
|
+
List ordering
|
|
126
|
+
</div>
|
|
125
127
|
</div>
|
|
126
|
-
<div className="h-8 w-px
|
|
128
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
127
129
|
<div className="text-center">
|
|
128
|
-
<div className="text-3xl font-bold
|
|
130
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
129
131
|
Navigate
|
|
130
132
|
</div>
|
|
131
|
-
<div className="text-
|
|
133
|
+
<div className="text-fm-tertiary text-sm">
|
|
132
134
|
Up/down movement
|
|
133
135
|
</div>
|
|
134
136
|
</div>
|
|
135
|
-
<div className="h-8 w-px
|
|
137
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
136
138
|
<div className="text-center">
|
|
137
|
-
<div className="text-3xl font-bold
|
|
139
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
138
140
|
Reorder
|
|
139
141
|
</div>
|
|
140
|
-
<div className="text-
|
|
142
|
+
<div className="text-fm-tertiary text-sm">
|
|
141
143
|
Interactive handles
|
|
142
144
|
</div>
|
|
143
145
|
</div>
|
|
@@ -150,16 +152,16 @@ const meta: Meta<typeof MoveVerticalIcon> = {
|
|
|
150
152
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
151
153
|
{/* Quick Usage */}
|
|
152
154
|
<div className="!space-y-8">
|
|
153
|
-
<h2 className="text-center text-3xl font-bold
|
|
155
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
154
156
|
Quick Start
|
|
155
157
|
</h2>
|
|
156
158
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
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 { MoveVerticalIcon } from "@icons/move-vertical-icon"
|
|
164
166
|
|
|
165
167
|
function SortableItem({ children }) {
|
|
@@ -175,19 +177,19 @@ function SortableItem({ children }) {
|
|
|
175
177
|
</div>
|
|
176
178
|
|
|
177
179
|
<div className="!space-y-4">
|
|
178
|
-
<h3 className="text-xl font-semibold
|
|
180
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
179
181
|
Live Preview
|
|
180
182
|
</h3>
|
|
181
|
-
<div className="flex items-center justify-center rounded-lg border
|
|
183
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center justify-center rounded-lg border p-6">
|
|
182
184
|
<div className="!space-y-2">
|
|
183
185
|
{["First Item", "Second Item", "Third Item"].map(
|
|
184
186
|
(item, index) => (
|
|
185
187
|
<div
|
|
186
188
|
key={index}
|
|
187
|
-
className="flex items-center gap-3 rounded border
|
|
189
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-2"
|
|
188
190
|
>
|
|
189
|
-
<MoveVerticalIcon className="h-4 w-4 cursor-move
|
|
190
|
-
<span className="text-
|
|
191
|
+
<MoveVerticalIcon className="text-fm-icon-info hover:text-fm-icon-info h-4 w-4 cursor-move" />
|
|
192
|
+
<span className="text-fm-icon-active/80 text-sm">
|
|
191
193
|
{item}
|
|
192
194
|
</span>
|
|
193
195
|
</div>
|
|
@@ -201,106 +203,116 @@ function SortableItem({ children }) {
|
|
|
201
203
|
|
|
202
204
|
{/* Props Documentation */}
|
|
203
205
|
<div className="!space-y-8">
|
|
204
|
-
<h2 className="text-center text-3xl font-bold
|
|
206
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
205
207
|
Props & Configuration
|
|
206
208
|
</h2>
|
|
207
209
|
|
|
208
|
-
<div className="overflow-hidden rounded-lg border
|
|
209
|
-
<div className="bg-
|
|
210
|
-
<h3 className="text-xl font-semibold
|
|
210
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
211
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
212
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
213
|
+
Props
|
|
214
|
+
</h3>
|
|
211
215
|
</div>
|
|
212
216
|
<table className="!my-0 w-full">
|
|
213
|
-
<thead className="bg-
|
|
214
|
-
<tr className="border-
|
|
215
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
217
|
+
<thead className="bg-fm-surface-secondary">
|
|
218
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
219
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
216
220
|
Prop
|
|
217
221
|
</th>
|
|
218
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
222
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
219
223
|
Type
|
|
220
224
|
</th>
|
|
221
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
225
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
222
226
|
Default
|
|
223
227
|
</th>
|
|
224
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
228
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
225
229
|
Description
|
|
226
230
|
</th>
|
|
227
231
|
</tr>
|
|
228
232
|
</thead>
|
|
229
233
|
<tbody>
|
|
230
234
|
{" "}
|
|
231
|
-
<tr className="
|
|
232
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
235
|
+
<tr className="bg-fm-surface-secondary!">
|
|
236
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
233
237
|
withAccessibility
|
|
234
238
|
</td>
|
|
235
|
-
<td className="px-6 py-4 text-sm
|
|
239
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
236
240
|
boolean
|
|
237
241
|
</td>
|
|
238
|
-
<td className="px-6 py-4 text-sm
|
|
242
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
239
243
|
true
|
|
240
244
|
</td>
|
|
241
|
-
<td className="px-6 py-4 text-sm
|
|
245
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
242
246
|
Whether to wrap the icon with accessibility feature
|
|
243
247
|
</td>
|
|
244
248
|
</tr>
|
|
245
|
-
<tr className="border-
|
|
246
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
249
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
250
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
247
251
|
height
|
|
248
252
|
</td>
|
|
249
|
-
<td className="px-6 py-4 text-sm
|
|
253
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
250
254
|
number | string
|
|
251
255
|
</td>
|
|
252
|
-
<td className="px-6 py-4 text-sm
|
|
253
|
-
|
|
256
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
257
|
+
24
|
|
258
|
+
</td>
|
|
259
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
254
260
|
Height of the icon in pixels
|
|
255
261
|
</td>
|
|
256
262
|
</tr>
|
|
257
|
-
<tr className="border-
|
|
258
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
263
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
264
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
259
265
|
stroke
|
|
260
266
|
</td>
|
|
261
|
-
<td className="px-6 py-4 text-sm
|
|
267
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
262
268
|
string
|
|
263
269
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
270
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
265
271
|
currentColor
|
|
266
272
|
</td>
|
|
267
|
-
<td className="px-6 py-4 text-sm
|
|
273
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
268
274
|
Stroke color of the icon lines
|
|
269
275
|
</td>
|
|
270
276
|
</tr>
|
|
271
|
-
<tr className="border-
|
|
272
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
277
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
278
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
273
279
|
strokeWidth
|
|
274
280
|
</td>
|
|
275
|
-
<td className="px-6 py-4 text-sm
|
|
281
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
276
282
|
string | number
|
|
277
283
|
</td>
|
|
278
|
-
<td className="px-6 py-4 text-sm
|
|
279
|
-
|
|
284
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
285
|
+
2
|
|
286
|
+
</td>
|
|
287
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
280
288
|
Width of the stroke lines
|
|
281
289
|
</td>
|
|
282
290
|
</tr>
|
|
283
|
-
<tr className="border-
|
|
284
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
291
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
292
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
285
293
|
className
|
|
286
294
|
</td>
|
|
287
|
-
<td className="px-6 py-4 text-sm
|
|
295
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
288
296
|
string
|
|
289
297
|
</td>
|
|
290
|
-
<td className="px-6 py-4 text-sm
|
|
291
|
-
|
|
298
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
299
|
+
-
|
|
300
|
+
</td>
|
|
301
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
292
302
|
CSS classes for styling (use for overrides)
|
|
293
303
|
</td>
|
|
294
304
|
</tr>
|
|
295
|
-
<tr className="
|
|
296
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
305
|
+
<tr className="bg-fm-surface-secondary!">
|
|
306
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
297
307
|
...svgProps
|
|
298
308
|
</td>
|
|
299
|
-
<td className="px-6 py-4 text-sm
|
|
309
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
300
310
|
SVGProps
|
|
301
311
|
</td>
|
|
302
|
-
<td className="px-6 py-4 text-sm
|
|
303
|
-
|
|
312
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
313
|
+
-
|
|
314
|
+
</td>
|
|
315
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
304
316
|
All standard SVG element props
|
|
305
317
|
</td>
|
|
306
318
|
</tr>
|
|
@@ -311,50 +323,62 @@ function SortableItem({ children }) {
|
|
|
311
323
|
|
|
312
324
|
{/* Size Variations */}
|
|
313
325
|
<div className="!space-y-8">
|
|
314
|
-
<h2 className="text-center text-3xl font-bold
|
|
326
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
315
327
|
Size Variations
|
|
316
328
|
</h2>
|
|
317
|
-
<div className="rounded-lg border
|
|
329
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
318
330
|
<div className="!space-y-6">
|
|
319
331
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
320
332
|
<div className="!space-y-4">
|
|
321
|
-
<h3 className="text-lg font-semibold
|
|
333
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
322
334
|
Standard Sizes
|
|
323
335
|
</h3>
|
|
324
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
336
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
325
337
|
<div className="text-center">
|
|
326
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-3 w-3
|
|
327
|
-
<span className="text-
|
|
338
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
339
|
+
<span className="text-fm-tertiary text-xs">
|
|
340
|
+
12px
|
|
341
|
+
</span>
|
|
328
342
|
</div>
|
|
329
343
|
<div className="text-center">
|
|
330
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-4 w-4
|
|
331
|
-
<span className="text-
|
|
344
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
345
|
+
<span className="text-fm-tertiary text-xs">
|
|
346
|
+
16px
|
|
347
|
+
</span>
|
|
332
348
|
</div>
|
|
333
349
|
<div className="text-center">
|
|
334
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-5 w-5
|
|
335
|
-
<span className="text-
|
|
350
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
351
|
+
<span className="text-fm-tertiary text-xs">
|
|
352
|
+
20px
|
|
353
|
+
</span>
|
|
336
354
|
</div>
|
|
337
355
|
<div className="text-center">
|
|
338
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-6 w-6
|
|
339
|
-
<span className="text-
|
|
356
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
357
|
+
<span className="text-fm-tertiary text-xs">
|
|
358
|
+
24px
|
|
359
|
+
</span>
|
|
340
360
|
</div>
|
|
341
361
|
<div className="text-center">
|
|
342
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-8 w-8
|
|
343
|
-
<span className="text-
|
|
362
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
363
|
+
<span className="text-fm-tertiary text-xs">
|
|
364
|
+
32px
|
|
365
|
+
</span>
|
|
344
366
|
</div>
|
|
345
367
|
<div className="text-center">
|
|
346
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-12 w-12
|
|
347
|
-
<span className="text-
|
|
368
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
369
|
+
<span className="text-fm-tertiary text-xs">
|
|
370
|
+
48px
|
|
371
|
+
</span>
|
|
348
372
|
</div>
|
|
349
373
|
</div>
|
|
350
374
|
</div>
|
|
351
375
|
|
|
352
376
|
<div className="!space-y-4">
|
|
353
|
-
<h3 className="text-lg font-semibold
|
|
377
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
354
378
|
Code Example
|
|
355
379
|
</h3>
|
|
356
|
-
<div className="rounded-lg
|
|
357
|
-
<pre className="overflow-x-auto text-sm
|
|
380
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
381
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
358
382
|
{`// Small (16px)
|
|
359
383
|
<MoveVerticalIcon className="h-4 w-4 " />
|
|
360
384
|
|
|
@@ -376,56 +400,56 @@ function SortableItem({ children }) {
|
|
|
376
400
|
|
|
377
401
|
{/* Color Variations */}
|
|
378
402
|
<div className="!space-y-8">
|
|
379
|
-
<h2 className="text-center text-3xl font-bold
|
|
403
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
380
404
|
Color Variations
|
|
381
405
|
</h2>
|
|
382
406
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
383
407
|
<div className="!space-y-4">
|
|
384
|
-
<h3 className="text-lg font-semibold
|
|
408
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
385
409
|
Semantic Colors
|
|
386
410
|
</h3>
|
|
387
|
-
<div className="!space-y-4 rounded-lg border
|
|
411
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
388
412
|
<div className="flex items-center gap-4">
|
|
389
|
-
<MoveVerticalIcon className="h-6 w-6
|
|
413
|
+
<MoveVerticalIcon className="text-fm-icon-info h-6 w-6" />
|
|
390
414
|
<div>
|
|
391
|
-
<div className="text-sm font-medium
|
|
415
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
392
416
|
Primary
|
|
393
417
|
</div>
|
|
394
|
-
<div className="text-
|
|
395
|
-
text-
|
|
418
|
+
<div className="text-fm-tertiary text-xs">
|
|
419
|
+
text-fm-icon-info
|
|
396
420
|
</div>
|
|
397
421
|
</div>
|
|
398
422
|
</div>
|
|
399
423
|
<div className="flex items-center gap-4">
|
|
400
|
-
<MoveVerticalIcon className="h-6 w-6
|
|
424
|
+
<MoveVerticalIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
401
425
|
<div>
|
|
402
|
-
<div className="text-sm font-medium
|
|
426
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
403
427
|
Interactive
|
|
404
428
|
</div>
|
|
405
|
-
<div className="text-
|
|
406
|
-
text-
|
|
429
|
+
<div className="text-fm-tertiary text-xs">
|
|
430
|
+
text-fm-secondary-600
|
|
407
431
|
</div>
|
|
408
432
|
</div>
|
|
409
433
|
</div>
|
|
410
434
|
<div className="flex items-center gap-4">
|
|
411
|
-
<MoveVerticalIcon className="h-6 w-6
|
|
435
|
+
<MoveVerticalIcon className="text-fm-placeholder h-6 w-6" />
|
|
412
436
|
<div>
|
|
413
|
-
<div className="text-sm font-medium
|
|
437
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
414
438
|
Disabled
|
|
415
439
|
</div>
|
|
416
|
-
<div className="text-
|
|
417
|
-
text-
|
|
440
|
+
<div className="text-fm-tertiary text-xs">
|
|
441
|
+
text-fm-placeholder
|
|
418
442
|
</div>
|
|
419
443
|
</div>
|
|
420
444
|
</div>
|
|
421
445
|
<div className="flex items-center gap-4">
|
|
422
|
-
<MoveVerticalIcon className="h-6 w-6
|
|
446
|
+
<MoveVerticalIcon className="text-fm-icon-info h-6 w-6" />
|
|
423
447
|
<div>
|
|
424
|
-
<div className="text-sm font-medium
|
|
448
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
425
449
|
Accent
|
|
426
450
|
</div>
|
|
427
|
-
<div className="text-
|
|
428
|
-
text-
|
|
451
|
+
<div className="text-fm-tertiary text-xs">
|
|
452
|
+
text-fm-icon-info
|
|
429
453
|
</div>
|
|
430
454
|
</div>
|
|
431
455
|
</div>
|
|
@@ -433,11 +457,11 @@ function SortableItem({ children }) {
|
|
|
433
457
|
</div>
|
|
434
458
|
|
|
435
459
|
<div className="!space-y-4">
|
|
436
|
-
<h3 className="text-lg font-semibold
|
|
460
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
437
461
|
Custom Colors
|
|
438
462
|
</h3>
|
|
439
|
-
<div className="rounded-lg
|
|
440
|
-
<pre className="overflow-x-auto text-sm
|
|
463
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
464
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
441
465
|
{`// Using Tailwind classes with
|
|
442
466
|
<MoveVerticalIcon className="h-6 w-6 text-blue-400 " />
|
|
443
467
|
<MoveVerticalIcon className="h-6 w-6 text-purple-500 " />
|
|
@@ -462,32 +486,34 @@ function SortableItem({ children }) {
|
|
|
462
486
|
|
|
463
487
|
{/* Usage Examples */}
|
|
464
488
|
<div className="!space-y-8">
|
|
465
|
-
<h2 className="text-center text-3xl font-bold
|
|
489
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
466
490
|
Usage Examples
|
|
467
491
|
</h2>
|
|
468
492
|
|
|
469
493
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
470
494
|
{/* Sortable List */}
|
|
471
495
|
<div className="!space-y-4">
|
|
472
|
-
<h3 className="text-lg font-semibold
|
|
496
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
473
497
|
Sortable List
|
|
474
498
|
</h3>
|
|
475
499
|
<div className="!space-y-4">
|
|
476
|
-
<div className="!space-y-2 rounded-lg border
|
|
500
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-2 rounded-lg border p-4">
|
|
477
501
|
{["First Item", "Second Item", "Third Item"].map(
|
|
478
502
|
(item, index) => (
|
|
479
503
|
<div
|
|
480
504
|
key={index}
|
|
481
|
-
className="flex items-center gap-3 rounded border
|
|
505
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-3"
|
|
482
506
|
>
|
|
483
|
-
<MoveVerticalIcon className="h-4 w-4 cursor-move
|
|
484
|
-
<span className="text-
|
|
507
|
+
<MoveVerticalIcon className="text-fm-icon-info hover:text-fm-icon-info h-4 w-4 cursor-move" />
|
|
508
|
+
<span className="text-fm-icon-active text-sm">
|
|
509
|
+
{item}
|
|
510
|
+
</span>
|
|
485
511
|
</div>
|
|
486
512
|
)
|
|
487
513
|
)}
|
|
488
514
|
</div>
|
|
489
|
-
<div className="rounded-lg
|
|
490
|
-
<pre className="overflow-x-auto text-sm
|
|
515
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
516
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
491
517
|
{`{items.map((item, index) => (
|
|
492
518
|
<div key={index} className="flex items-center gap-3 p-3">
|
|
493
519
|
<MoveVerticalIcon className="h-4 w-4 cursor-move text-blue-400 hover:text-blue-300 " />
|
|
@@ -501,27 +527,27 @@ function SortableItem({ children }) {
|
|
|
501
527
|
|
|
502
528
|
{/* Up/Down Navigation */}
|
|
503
529
|
<div className="!space-y-4">
|
|
504
|
-
<h3 className="text-lg font-semibold
|
|
530
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
505
531
|
Up/Down Navigation
|
|
506
532
|
</h3>
|
|
507
533
|
<div className="!space-y-4">
|
|
508
534
|
<div className="flex justify-center">
|
|
509
535
|
<div className="flex flex-col gap-2">
|
|
510
|
-
<button className="
|
|
511
|
-
<MoveVerticalIcon className="h-5 w-5 rotate-180
|
|
536
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
|
|
537
|
+
<MoveVerticalIcon className="text-fm-icon-active h-5 w-5 rotate-180" />
|
|
512
538
|
</button>
|
|
513
|
-
<div className="rounded-lg border
|
|
514
|
-
<span className="text-
|
|
539
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
540
|
+
<span className="text-fm-secondary text-sm">
|
|
515
541
|
Content Item
|
|
516
542
|
</span>
|
|
517
543
|
</div>
|
|
518
|
-
<button className="
|
|
519
|
-
<MoveVerticalIcon className="h-5 w-5
|
|
544
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3 transition-colors">
|
|
545
|
+
<MoveVerticalIcon className="text-fm-icon-active h-5 w-5" />
|
|
520
546
|
</button>
|
|
521
547
|
</div>
|
|
522
548
|
</div>
|
|
523
|
-
<div className="rounded-lg
|
|
524
|
-
<pre className="overflow-x-auto text-sm
|
|
549
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
550
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
525
551
|
{`// Up button (rotated)
|
|
526
552
|
<button onClick={moveUp}>
|
|
527
553
|
<MoveVerticalIcon className="h-5 w-5 rotate-180 text-white " />
|
|
@@ -538,20 +564,20 @@ function SortableItem({ children }) {
|
|
|
538
564
|
|
|
539
565
|
{/* Table Row Reorder */}
|
|
540
566
|
<div className="!space-y-4">
|
|
541
|
-
<h3 className="text-lg font-semibold
|
|
567
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
542
568
|
Table Row Reorder
|
|
543
569
|
</h3>
|
|
544
570
|
<div className="!space-y-4">
|
|
545
|
-
<div className="rounded-lg border
|
|
546
|
-
<div className="
|
|
571
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
|
|
572
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex border-b p-3">
|
|
547
573
|
<div className="w-8"></div>
|
|
548
|
-
<div className="flex-1 text-sm font-medium
|
|
574
|
+
<div className="text-fm-icon-active flex-1 text-sm font-medium">
|
|
549
575
|
Name
|
|
550
576
|
</div>
|
|
551
|
-
<div className="flex-1 text-sm font-medium
|
|
577
|
+
<div className="text-fm-icon-active flex-1 text-sm font-medium">
|
|
552
578
|
Email
|
|
553
579
|
</div>
|
|
554
|
-
<div className="w-20 text-sm font-medium
|
|
580
|
+
<div className="text-fm-icon-active w-20 text-sm font-medium">
|
|
555
581
|
Status
|
|
556
582
|
</div>
|
|
557
583
|
</div>
|
|
@@ -569,15 +595,15 @@ function SortableItem({ children }) {
|
|
|
569
595
|
].map((row, index) => (
|
|
570
596
|
<div
|
|
571
597
|
key={index}
|
|
572
|
-
className="flex items-center border-b
|
|
598
|
+
className="border-fm-divider-secondary flex items-center border-b p-3 last:border-b-0"
|
|
573
599
|
>
|
|
574
600
|
<div className="w-8">
|
|
575
|
-
<MoveVerticalIcon className="h-4 w-4 cursor-move
|
|
601
|
+
<MoveVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move" />
|
|
576
602
|
</div>
|
|
577
|
-
<div className="flex-1 text-sm
|
|
603
|
+
<div className="text-fm-secondary flex-1 text-sm">
|
|
578
604
|
{row.name}
|
|
579
605
|
</div>
|
|
580
|
-
<div className="flex-1 text-sm
|
|
606
|
+
<div className="text-fm-secondary flex-1 text-sm">
|
|
581
607
|
{row.email}
|
|
582
608
|
</div>
|
|
583
609
|
<div className="w-20">
|
|
@@ -594,8 +620,8 @@ function SortableItem({ children }) {
|
|
|
594
620
|
</div>
|
|
595
621
|
))}
|
|
596
622
|
</div>
|
|
597
|
-
<div className="rounded-lg
|
|
598
|
-
<pre className="overflow-x-auto text-sm
|
|
623
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
624
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
599
625
|
{`<td className="w-8">
|
|
600
626
|
<MoveVerticalIcon className="h-4 w-4 cursor-move text-white/30 hover:text-white/60 " />
|
|
601
627
|
</td>`}
|
|
@@ -606,7 +632,7 @@ function SortableItem({ children }) {
|
|
|
606
632
|
|
|
607
633
|
{/* Card Reordering */}
|
|
608
634
|
<div className="!space-y-4">
|
|
609
|
-
<h3 className="text-lg font-semibold
|
|
635
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
610
636
|
Card Reordering
|
|
611
637
|
</h3>
|
|
612
638
|
<div className="!space-y-4">
|
|
@@ -614,24 +640,24 @@ function SortableItem({ children }) {
|
|
|
614
640
|
{["Task A", "Task B", "Task C"].map((task, index) => (
|
|
615
641
|
<div
|
|
616
642
|
key={index}
|
|
617
|
-
className="relative rounded-lg border
|
|
643
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary relative rounded-lg border p-4"
|
|
618
644
|
>
|
|
619
645
|
<div className="absolute top-3 right-3">
|
|
620
|
-
<MoveVerticalIcon className="h-4 w-4 cursor-move
|
|
646
|
+
<MoveVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move" />
|
|
621
647
|
</div>
|
|
622
648
|
<div>
|
|
623
|
-
<h4 className="text-sm font-medium
|
|
649
|
+
<h4 className="text-fm-icon-active! text-sm font-medium">
|
|
624
650
|
{task}
|
|
625
651
|
</h4>
|
|
626
|
-
<p className="text-
|
|
652
|
+
<p className="text-fm-placeholder! text-xs">
|
|
627
653
|
Task description goes here
|
|
628
654
|
</p>
|
|
629
655
|
</div>
|
|
630
656
|
</div>
|
|
631
657
|
))}
|
|
632
658
|
</div>
|
|
633
|
-
<div className="rounded-lg
|
|
634
|
-
<pre className="overflow-x-auto text-sm
|
|
659
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
660
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
635
661
|
{`<div className="relative rounded-lg p-4">
|
|
636
662
|
<div className="absolute top-3 right-3">
|
|
637
663
|
<MoveVerticalIcon className="h-4 w-4 cursor-move text-white/30 hover:text-white/60 " />
|
|
@@ -647,55 +673,55 @@ function SortableItem({ children }) {
|
|
|
647
673
|
|
|
648
674
|
{/* Interactive States */}
|
|
649
675
|
<div className="!space-y-8">
|
|
650
|
-
<h2 className="text-center text-3xl font-bold
|
|
676
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
651
677
|
Interactive States & Animations
|
|
652
678
|
</h2>
|
|
653
679
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
654
680
|
<div className="!space-y-4">
|
|
655
|
-
<h3 className="text-lg font-semibold
|
|
681
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
656
682
|
Hover & Animation Effects
|
|
657
683
|
</h3>
|
|
658
|
-
<div className="!space-y-4 rounded-lg border
|
|
684
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
659
685
|
<div className="flex items-center gap-4">
|
|
660
|
-
<MoveVerticalIcon className="h-6 w-6
|
|
686
|
+
<MoveVerticalIcon className="text-fm-tertiary hover:text-fm-icon-info h-6 w-6 transition-colors" />
|
|
661
687
|
<div>
|
|
662
|
-
<div className="text-sm font-medium
|
|
688
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
663
689
|
Color Change
|
|
664
690
|
</div>
|
|
665
|
-
<div className="text-
|
|
691
|
+
<div className="text-fm-tertiary text-xs">
|
|
666
692
|
Hover to see effect
|
|
667
693
|
</div>
|
|
668
694
|
</div>
|
|
669
695
|
</div>
|
|
670
696
|
<div className="flex items-center gap-4">
|
|
671
|
-
<MoveVerticalIcon className="h-6 w-6
|
|
697
|
+
<MoveVerticalIcon className="text-fm-icon-active h-6 w-6 transition-transform hover:scale-110" />
|
|
672
698
|
<div>
|
|
673
|
-
<div className="text-sm font-medium
|
|
699
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
674
700
|
Scale Up
|
|
675
701
|
</div>
|
|
676
|
-
<div className="text-
|
|
702
|
+
<div className="text-fm-tertiary text-xs">
|
|
677
703
|
Scale on hover
|
|
678
704
|
</div>
|
|
679
705
|
</div>
|
|
680
706
|
</div>
|
|
681
707
|
<div className="flex items-center gap-4">
|
|
682
|
-
<MoveVerticalIcon className="animate-slide-vertical h-6 w-6
|
|
708
|
+
<MoveVerticalIcon className="animate-slide-vertical text-fm-icon-info h-6 w-6" />
|
|
683
709
|
<div>
|
|
684
|
-
<div className="text-sm font-medium
|
|
710
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
685
711
|
Vertical Slide
|
|
686
712
|
</div>
|
|
687
|
-
<div className="text-
|
|
713
|
+
<div className="text-fm-tertiary text-xs">
|
|
688
714
|
Continuous animation
|
|
689
715
|
</div>
|
|
690
716
|
</div>
|
|
691
717
|
</div>
|
|
692
718
|
<div className="flex items-center gap-4">
|
|
693
|
-
<MoveVerticalIcon className="animate-pulse-bounce h-6 w-6
|
|
719
|
+
<MoveVerticalIcon className="animate-pulse-bounce text-fm-secondary-600 h-6 w-6" />
|
|
694
720
|
<div>
|
|
695
|
-
<div className="text-sm font-medium
|
|
721
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
696
722
|
Pulse Bounce
|
|
697
723
|
</div>
|
|
698
|
-
<div className="text-
|
|
724
|
+
<div className="text-fm-tertiary text-xs">
|
|
699
725
|
Bounce effect
|
|
700
726
|
</div>
|
|
701
727
|
</div>
|
|
@@ -704,11 +730,11 @@ function SortableItem({ children }) {
|
|
|
704
730
|
</div>
|
|
705
731
|
|
|
706
732
|
<div className="!space-y-4">
|
|
707
|
-
<h3 className="text-lg font-semibold
|
|
733
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
708
734
|
Cursor & State Examples
|
|
709
735
|
</h3>
|
|
710
|
-
<div className="rounded-lg
|
|
711
|
-
<pre className="overflow-x-auto text-sm
|
|
736
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
737
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
712
738
|
{`// Color change on hover
|
|
713
739
|
<MoveVerticalIcon className="h-6 w-6 text-white/60 transition-colors hover:text-blue-400 " />
|
|
714
740
|
|
|
@@ -731,65 +757,65 @@ function SortableItem({ children }) {
|
|
|
731
757
|
|
|
732
758
|
{/* Accessibility */}
|
|
733
759
|
<div className="!space-y-8">
|
|
734
|
-
<h2 className="text-center text-3xl font-bold
|
|
760
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
735
761
|
Accessibility Features
|
|
736
762
|
</h2>
|
|
737
763
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
738
|
-
<div className="!space-y-4 rounded-lg border
|
|
739
|
-
<h3 className="text-lg font-semibold
|
|
764
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
765
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
740
766
|
✅ Built-in Features
|
|
741
767
|
</h3>
|
|
742
|
-
<ul className="!space-y-2 text-sm
|
|
743
|
-
<li className="
|
|
768
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
769
|
+
<li className="text-fm-secondary!">
|
|
744
770
|
Uses Radix UI AccessibleIcon wrapper
|
|
745
771
|
</li>
|
|
746
|
-
<li className="
|
|
772
|
+
<li className="text-fm-secondary!">
|
|
747
773
|
Provides screen reader label "Move Vertical icon"
|
|
748
774
|
</li>
|
|
749
|
-
<li className="
|
|
775
|
+
<li className="text-fm-secondary!">
|
|
750
776
|
Supports keyboard navigation when interactive
|
|
751
777
|
</li>
|
|
752
|
-
<li className="
|
|
778
|
+
<li className="text-fm-secondary!">
|
|
753
779
|
Maintains proper color contrast ratios
|
|
754
780
|
</li>
|
|
755
|
-
<li className="
|
|
781
|
+
<li className="text-fm-secondary!">
|
|
756
782
|
Scales with user's font size preferences
|
|
757
783
|
</li>
|
|
758
784
|
</ul>
|
|
759
785
|
</div>
|
|
760
786
|
|
|
761
|
-
<div className="!space-y-4 rounded-lg border
|
|
762
|
-
<h3 className="text-lg font-semibold
|
|
787
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
788
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
763
789
|
💡 Best Practices
|
|
764
790
|
</h3>
|
|
765
|
-
<ul className="!space-y-2 text-sm
|
|
766
|
-
<li className="
|
|
791
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
792
|
+
<li className="text-fm-secondary!">
|
|
767
793
|
Always provide descriptive ARIA labels for interactive
|
|
768
794
|
elements
|
|
769
795
|
</li>
|
|
770
|
-
<li className="
|
|
796
|
+
<li className="text-fm-secondary!">
|
|
771
797
|
Use appropriate cursor styles for different interactions
|
|
772
798
|
</li>
|
|
773
|
-
<li className="
|
|
799
|
+
<li className="text-fm-secondary!">
|
|
774
800
|
Ensure sufficient click/touch target sizes
|
|
775
801
|
</li>
|
|
776
|
-
<li className="
|
|
802
|
+
<li className="text-fm-secondary!">
|
|
777
803
|
Add focus states for keyboard navigation
|
|
778
804
|
</li>
|
|
779
|
-
<li className="
|
|
805
|
+
<li className="text-fm-secondary!">
|
|
780
806
|
Consider motion sensitivity for animations
|
|
781
807
|
</li>
|
|
782
808
|
</ul>
|
|
783
809
|
</div>
|
|
784
810
|
</div>
|
|
785
811
|
|
|
786
|
-
<div className="rounded-lg border
|
|
787
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
812
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
813
|
+
<h3 className="text-fm-icon-info! mb-4 text-lg font-semibold">
|
|
788
814
|
Interactive Element Accessibility
|
|
789
815
|
</h3>
|
|
790
816
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
791
|
-
<div className="rounded-lg
|
|
792
|
-
<pre className="overflow-x-auto text-sm
|
|
817
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
818
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
793
819
|
{`// Sortable list item with proper ARIA
|
|
794
820
|
<div
|
|
795
821
|
role="listitem"
|
|
@@ -815,13 +841,13 @@ function SortableItem({ children }) {
|
|
|
815
841
|
</pre>
|
|
816
842
|
</div>
|
|
817
843
|
<div className="!space-y-4">
|
|
818
|
-
<p className="text-
|
|
844
|
+
<p className="text-fm-secondary! text-sm">
|
|
819
845
|
When using MoveVerticalIcon for interactive controls,
|
|
820
846
|
provide clear context about the action being performed
|
|
821
847
|
and the current state.
|
|
822
848
|
</p>
|
|
823
|
-
<div className="
|
|
824
|
-
<div className="flex items-center gap-2 text-sm
|
|
849
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
850
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
825
851
|
<MoveVerticalIcon className="h-4 w-4" />
|
|
826
852
|
<span>
|
|
827
853
|
This approach gives screen readers more context
|
|
@@ -836,48 +862,58 @@ function SortableItem({ children }) {
|
|
|
836
862
|
|
|
837
863
|
{/* Related Icons */}
|
|
838
864
|
<div className="!space-y-8">
|
|
839
|
-
<h2 className="text-center text-3xl font-bold
|
|
865
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
840
866
|
Related Icons
|
|
841
867
|
</h2>
|
|
842
868
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
843
|
-
<div className="!space-y-3 rounded-lg border
|
|
844
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
869
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
870
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
845
871
|
<span className="text-2xl">↔️</span>
|
|
846
872
|
</div>
|
|
847
873
|
<div>
|
|
848
|
-
<div className="font-medium
|
|
874
|
+
<div className="text-fm-icon-active font-medium">
|
|
849
875
|
MoveHorizontalIcon
|
|
850
876
|
</div>
|
|
851
|
-
<div className="text-
|
|
877
|
+
<div className="text-fm-tertiary text-xs">
|
|
852
878
|
Horizontal movement
|
|
853
879
|
</div>
|
|
854
880
|
</div>
|
|
855
881
|
</div>
|
|
856
|
-
<div className="!space-y-3 rounded-lg border
|
|
857
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
882
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
883
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
858
884
|
<span className="text-2xl">🎯</span>
|
|
859
885
|
</div>
|
|
860
886
|
<div>
|
|
861
|
-
<div className="font-medium
|
|
862
|
-
|
|
887
|
+
<div className="text-fm-icon-active font-medium">
|
|
888
|
+
DragIcon
|
|
889
|
+
</div>
|
|
890
|
+
<div className="text-fm-tertiary text-xs">
|
|
891
|
+
Drag & drop
|
|
892
|
+
</div>
|
|
863
893
|
</div>
|
|
864
894
|
</div>
|
|
865
|
-
<div className="!space-y-3 rounded-lg border
|
|
866
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
895
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
896
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
867
897
|
<span className="text-2xl">📋</span>
|
|
868
898
|
</div>
|
|
869
899
|
<div>
|
|
870
|
-
<div className="font-medium
|
|
871
|
-
|
|
900
|
+
<div className="text-fm-icon-active font-medium">
|
|
901
|
+
SortIcon
|
|
902
|
+
</div>
|
|
903
|
+
<div className="text-fm-tertiary text-xs">
|
|
904
|
+
Sort controls
|
|
905
|
+
</div>
|
|
872
906
|
</div>
|
|
873
907
|
</div>
|
|
874
|
-
<div className="!space-y-3 rounded-lg border
|
|
875
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
908
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
909
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
876
910
|
<span className="text-2xl">🔄</span>
|
|
877
911
|
</div>
|
|
878
912
|
<div>
|
|
879
|
-
<div className="font-medium
|
|
880
|
-
|
|
913
|
+
<div className="text-fm-icon-active font-medium">
|
|
914
|
+
ReorderIcon
|
|
915
|
+
</div>
|
|
916
|
+
<div className="text-fm-tertiary text-xs">
|
|
881
917
|
Reorder controls
|
|
882
918
|
</div>
|
|
883
919
|
</div>
|
|
@@ -887,15 +923,15 @@ function SortableItem({ children }) {
|
|
|
887
923
|
</div>
|
|
888
924
|
|
|
889
925
|
{/* Footer */}
|
|
890
|
-
<div className="border-
|
|
926
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
891
927
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
892
928
|
<div className="!space-y-4 text-center">
|
|
893
|
-
<p className="
|
|
929
|
+
<p className="text-fm-tertiary!">
|
|
894
930
|
MoveVerticalIcon is part of the Aural UI icon library, built
|
|
895
931
|
for representing vertical movement, sorting, and reordering
|
|
896
932
|
operations.
|
|
897
933
|
</p>
|
|
898
|
-
<p className="text-
|
|
934
|
+
<p className="text-fm-placeholder! text-sm">
|
|
899
935
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
900
936
|
compatibility and follow WCAG guidelines for interactive
|
|
901
937
|
controls.
|
|
@@ -945,20 +981,20 @@ const storyParameters = {
|
|
|
945
981
|
backgrounds: {
|
|
946
982
|
default: "dark",
|
|
947
983
|
values: [
|
|
948
|
-
{ name: "dark", value: "
|
|
949
|
-
{ name: "darker", value: "
|
|
984
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
985
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
950
986
|
],
|
|
951
987
|
},
|
|
952
988
|
}
|
|
953
989
|
|
|
954
990
|
export const Default: Story = {
|
|
955
991
|
args: {
|
|
956
|
-
className: "h-6 w-6 text-
|
|
992
|
+
className: "h-6 w-6 text-fm-icon-info ",
|
|
957
993
|
withAccessibility: true,
|
|
958
994
|
},
|
|
959
995
|
parameters: storyParameters,
|
|
960
996
|
render: (args) => (
|
|
961
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
997
|
+
<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">
|
|
962
998
|
<MoveVerticalIcon {...args} />
|
|
963
999
|
</div>
|
|
964
1000
|
),
|
|
@@ -975,30 +1011,30 @@ export const SizeVariations: Story = {
|
|
|
975
1011
|
},
|
|
976
1012
|
},
|
|
977
1013
|
render: () => (
|
|
978
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
1014
|
+
<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">
|
|
979
1015
|
<div className="text-center">
|
|
980
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-3 w-3
|
|
981
|
-
<span className="text-
|
|
1016
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
1017
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
982
1018
|
</div>
|
|
983
1019
|
<div className="text-center">
|
|
984
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-4 w-4
|
|
985
|
-
<span className="text-
|
|
1020
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
1021
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
986
1022
|
</div>
|
|
987
1023
|
<div className="text-center">
|
|
988
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-5 w-5
|
|
989
|
-
<span className="text-
|
|
1024
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
1025
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
990
1026
|
</div>
|
|
991
1027
|
<div className="text-center">
|
|
992
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-6 w-6
|
|
993
|
-
<span className="text-
|
|
1028
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
1029
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
994
1030
|
</div>
|
|
995
1031
|
<div className="text-center">
|
|
996
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-8 w-8
|
|
997
|
-
<span className="text-
|
|
1032
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
1033
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
998
1034
|
</div>
|
|
999
1035
|
<div className="text-center">
|
|
1000
|
-
<MoveVerticalIcon className="!mx-auto mb-2 h-12 w-12
|
|
1001
|
-
<span className="text-
|
|
1036
|
+
<MoveVerticalIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
1037
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
1002
1038
|
</div>
|
|
1003
1039
|
</div>
|
|
1004
1040
|
),
|
|
@@ -1015,34 +1051,38 @@ export const ColorVariations: Story = {
|
|
|
1015
1051
|
},
|
|
1016
1052
|
},
|
|
1017
1053
|
render: () => (
|
|
1018
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
1054
|
+
<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">
|
|
1019
1055
|
<div className="text-center">
|
|
1020
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1021
|
-
<MoveVerticalIcon className="h-8 w-8
|
|
1056
|
+
<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">
|
|
1057
|
+
<MoveVerticalIcon className="text-fm-icon-info h-8 w-8" />
|
|
1022
1058
|
</div>
|
|
1023
|
-
<div className="text-sm font-medium
|
|
1024
|
-
<div className="text-
|
|
1059
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
1060
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1025
1061
|
</div>
|
|
1026
1062
|
<div className="text-center">
|
|
1027
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1028
|
-
<MoveVerticalIcon className="h-8 w-8
|
|
1063
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
1064
|
+
<MoveVerticalIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
1065
|
+
</div>
|
|
1066
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1067
|
+
Interactive
|
|
1068
|
+
</div>
|
|
1069
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
1070
|
+
text-fm-secondary-600
|
|
1029
1071
|
</div>
|
|
1030
|
-
<div className="text-sm font-medium text-white">Interactive</div>
|
|
1031
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
1032
1072
|
</div>
|
|
1033
1073
|
<div className="text-center">
|
|
1034
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1035
|
-
<MoveVerticalIcon className="h-8 w-8
|
|
1074
|
+
<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">
|
|
1075
|
+
<MoveVerticalIcon className="text-fm-placeholder h-8 w-8" />
|
|
1036
1076
|
</div>
|
|
1037
|
-
<div className="text-sm font-medium
|
|
1038
|
-
<div className="text-
|
|
1077
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
1078
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
1039
1079
|
</div>
|
|
1040
1080
|
<div className="text-center">
|
|
1041
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
1042
|
-
<MoveVerticalIcon className="h-8 w-8
|
|
1081
|
+
<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">
|
|
1082
|
+
<MoveVerticalIcon className="text-fm-icon-info h-8 w-8" />
|
|
1043
1083
|
</div>
|
|
1044
|
-
<div className="text-sm font-medium
|
|
1045
|
-
<div className="text-
|
|
1084
|
+
<div className="text-fm-icon-active text-sm font-medium">Accent</div>
|
|
1085
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
1046
1086
|
</div>
|
|
1047
1087
|
</div>
|
|
1048
1088
|
),
|
|
@@ -1059,18 +1099,20 @@ export const UsageExamples: Story = {
|
|
|
1059
1099
|
},
|
|
1060
1100
|
},
|
|
1061
1101
|
render: () => (
|
|
1062
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1102
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1063
1103
|
{/* Sortable List */}
|
|
1064
1104
|
<div className="!space-y-2">
|
|
1065
|
-
<h3 className="text-sm font-medium
|
|
1066
|
-
|
|
1105
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1106
|
+
Sortable List
|
|
1107
|
+
</h3>
|
|
1108
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-2 rounded-lg border p-4">
|
|
1067
1109
|
{["First Item", "Second Item", "Third Item"].map((item, index) => (
|
|
1068
1110
|
<div
|
|
1069
1111
|
key={index}
|
|
1070
|
-
className="flex items-center gap-3 rounded border
|
|
1112
|
+
className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-3 rounded border p-3"
|
|
1071
1113
|
>
|
|
1072
|
-
<MoveVerticalIcon className="h-4 w-4 cursor-move
|
|
1073
|
-
<span className="text-
|
|
1114
|
+
<MoveVerticalIcon className="text-fm-icon-info hover:text-fm-icon-info h-4 w-4 cursor-move" />
|
|
1115
|
+
<span className="text-fm-icon-active text-sm">{item}</span>
|
|
1074
1116
|
</div>
|
|
1075
1117
|
))}
|
|
1076
1118
|
</div>
|
|
@@ -1078,17 +1120,19 @@ export const UsageExamples: Story = {
|
|
|
1078
1120
|
|
|
1079
1121
|
{/* Up/Down Navigation */}
|
|
1080
1122
|
<div className="!space-y-2">
|
|
1081
|
-
<h3 className="text-sm font-medium
|
|
1123
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1124
|
+
Up/Down Navigation
|
|
1125
|
+
</h3>
|
|
1082
1126
|
<div className="flex justify-center">
|
|
1083
1127
|
<div className="flex flex-col gap-2">
|
|
1084
|
-
<button className="
|
|
1085
|
-
<MoveVerticalIcon className="h-5 w-5 rotate-180
|
|
1128
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3">
|
|
1129
|
+
<MoveVerticalIcon className="text-fm-icon-active h-5 w-5 rotate-180" />
|
|
1086
1130
|
</button>
|
|
1087
|
-
<div className="rounded-lg border
|
|
1088
|
-
<span className="text-
|
|
1131
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
1132
|
+
<span className="text-fm-secondary text-sm">Content Item</span>
|
|
1089
1133
|
</div>
|
|
1090
|
-
<button className="
|
|
1091
|
-
<MoveVerticalIcon className="h-5 w-5
|
|
1134
|
+
<button className="border-fm-divider-primary bg-fm-surface-secondary hover:bg-fm-surface-secondary rounded-lg border p-3">
|
|
1135
|
+
<MoveVerticalIcon className="text-fm-icon-active h-5 w-5" />
|
|
1092
1136
|
</button>
|
|
1093
1137
|
</div>
|
|
1094
1138
|
</div>
|
|
@@ -1096,13 +1140,21 @@ export const UsageExamples: Story = {
|
|
|
1096
1140
|
|
|
1097
1141
|
{/* Table Row Reorder */}
|
|
1098
1142
|
<div className="!space-y-2">
|
|
1099
|
-
<h3 className="text-sm font-medium
|
|
1100
|
-
|
|
1101
|
-
|
|
1143
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1144
|
+
Table Row Reorder
|
|
1145
|
+
</h3>
|
|
1146
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border">
|
|
1147
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex border-b p-3">
|
|
1102
1148
|
<div className="w-8"></div>
|
|
1103
|
-
<div className="flex-1 text-sm font-medium
|
|
1104
|
-
|
|
1105
|
-
|
|
1149
|
+
<div className="text-fm-icon-active flex-1 text-sm font-medium">
|
|
1150
|
+
Name
|
|
1151
|
+
</div>
|
|
1152
|
+
<div className="text-fm-icon-active flex-1 text-sm font-medium">
|
|
1153
|
+
Email
|
|
1154
|
+
</div>
|
|
1155
|
+
<div className="text-fm-icon-active w-20 text-sm font-medium">
|
|
1156
|
+
Status
|
|
1157
|
+
</div>
|
|
1106
1158
|
</div>
|
|
1107
1159
|
{[
|
|
1108
1160
|
{ name: "John Doe", email: "john@example.com", status: "Active" },
|
|
@@ -1114,13 +1166,15 @@ export const UsageExamples: Story = {
|
|
|
1114
1166
|
].map((row, index) => (
|
|
1115
1167
|
<div
|
|
1116
1168
|
key={index}
|
|
1117
|
-
className="flex items-center border-b
|
|
1169
|
+
className="border-fm-divider-secondary flex items-center border-b p-3 last:border-b-0"
|
|
1118
1170
|
>
|
|
1119
1171
|
<div className="w-8">
|
|
1120
|
-
<MoveVerticalIcon className="h-4 w-4 cursor-move
|
|
1172
|
+
<MoveVerticalIcon className="text-fm-icon-active/30 hover:text-fm-tertiary h-4 w-4 cursor-move" />
|
|
1173
|
+
</div>
|
|
1174
|
+
<div className="text-fm-secondary flex-1 text-sm">{row.name}</div>
|
|
1175
|
+
<div className="text-fm-secondary flex-1 text-sm">
|
|
1176
|
+
{row.email}
|
|
1121
1177
|
</div>
|
|
1122
|
-
<div className="flex-1 text-sm text-white/70">{row.name}</div>
|
|
1123
|
-
<div className="flex-1 text-sm text-white/70">{row.email}</div>
|
|
1124
1178
|
<div className="w-20">
|
|
1125
1179
|
<span
|
|
1126
1180
|
className={`rounded-full px-2 py-1 text-xs ${
|
|
@@ -1151,27 +1205,27 @@ export const InteractiveStates: Story = {
|
|
|
1151
1205
|
},
|
|
1152
1206
|
},
|
|
1153
1207
|
render: () => (
|
|
1154
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
1208
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
1155
1209
|
<div className="!space-y-4">
|
|
1156
|
-
<h3 className="text-sm font-medium
|
|
1210
|
+
<h3 className="text-fm-secondary text-sm font-medium">
|
|
1157
1211
|
Hover & Animation Effects
|
|
1158
1212
|
</h3>
|
|
1159
1213
|
<div className="flex gap-8">
|
|
1160
1214
|
<div className="flex flex-col items-center gap-2">
|
|
1161
|
-
<MoveVerticalIcon className="h-8 w-8
|
|
1162
|
-
<span className="text-
|
|
1215
|
+
<MoveVerticalIcon className="text-fm-tertiary hover:text-fm-icon-info h-8 w-8 transition-colors" />
|
|
1216
|
+
<span className="text-fm-tertiary text-xs">Color Change</span>
|
|
1163
1217
|
</div>
|
|
1164
1218
|
<div className="flex flex-col items-center gap-2">
|
|
1165
|
-
<MoveVerticalIcon className="h-8 w-8
|
|
1166
|
-
<span className="text-
|
|
1219
|
+
<MoveVerticalIcon className="text-fm-icon-active h-8 w-8 transition-transform hover:scale-110" />
|
|
1220
|
+
<span className="text-fm-tertiary text-xs">Scale Up</span>
|
|
1167
1221
|
</div>
|
|
1168
1222
|
<div className="flex flex-col items-center gap-2">
|
|
1169
|
-
<MoveVerticalIcon className="animate-slide-vertical h-8 w-8
|
|
1170
|
-
<span className="text-
|
|
1223
|
+
<MoveVerticalIcon className="animate-slide-vertical text-fm-icon-info h-8 w-8" />
|
|
1224
|
+
<span className="text-fm-tertiary text-xs">Slide</span>
|
|
1171
1225
|
</div>
|
|
1172
1226
|
<div className="flex flex-col items-center gap-2">
|
|
1173
|
-
<MoveVerticalIcon className="animate-pulse-bounce h-8 w-8
|
|
1174
|
-
<span className="text-
|
|
1227
|
+
<MoveVerticalIcon className="animate-pulse-bounce text-fm-secondary-600 h-8 w-8" />
|
|
1228
|
+
<span className="text-fm-tertiary text-xs">Bounce</span>
|
|
1175
1229
|
</div>
|
|
1176
1230
|
</div>
|
|
1177
1231
|
</div>
|
|
@@ -1192,11 +1246,11 @@ export const Playground: Story = {
|
|
|
1192
1246
|
args: {
|
|
1193
1247
|
width: 32,
|
|
1194
1248
|
height: 32,
|
|
1195
|
-
className: "text-
|
|
1249
|
+
className: "text-fm-icon-info ",
|
|
1196
1250
|
},
|
|
1197
1251
|
render: (args) => (
|
|
1198
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1199
|
-
<div className="rounded-lg border
|
|
1252
|
+
<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">
|
|
1253
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1200
1254
|
<MoveVerticalIcon {...args} />
|
|
1201
1255
|
</div>
|
|
1202
1256
|
</div>
|