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 TextColorIcon> = {
|
|
|
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,59 +40,59 @@ const meta: Meta<typeof TextColorIcon> = {
|
|
|
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
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="bg-fm-surface-primary min-h-screen">
|
|
84
84
|
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b
|
|
86
|
-
<div className="absolute inset-0 bg-
|
|
85
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary relative overflow-hidden border-b backdrop-blur-xl">
|
|
86
|
+
<div className="from-fm-icon-info/10 to-fm-secondary-500/10 absolute inset-0 bg-linear-to-r via-transparent" />
|
|
87
87
|
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
88
88
|
<div className="!space-y-6 text-center">
|
|
89
|
-
<div className="!mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border
|
|
90
|
-
<TextColorIcon className="h-12 w-12
|
|
89
|
+
<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">
|
|
90
|
+
<TextColorIcon className="text-fm-icon-info h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
TextColorIcon
|
|
94
94
|
</h1>
|
|
95
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
96
96
|
A versatile text color icon for rich text editors, design
|
|
97
97
|
tools, and formatting controls. Features both a text
|
|
98
98
|
character and color palette element for clear visual
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof TextColorIcon> = {
|
|
|
102
102
|
{/* Stats */}
|
|
103
103
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
104
|
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold
|
|
105
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
106
106
|
Accessible
|
|
107
107
|
</div>
|
|
108
|
-
<div className="text-
|
|
108
|
+
<div className="text-fm-tertiary text-sm">
|
|
109
109
|
Screen reader friendly
|
|
110
110
|
</div>
|
|
111
111
|
</div>
|
|
112
|
-
<div className="h-8 w-px
|
|
112
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
113
113
|
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold
|
|
114
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
115
115
|
Editor Ready
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Perfect for rich text
|
|
119
119
|
</div>
|
|
120
120
|
</div>
|
|
121
|
-
<div className="h-8 w-px
|
|
121
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
122
122
|
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold
|
|
123
|
+
<div className="text-fm-icon-info text-3xl font-bold">
|
|
124
124
|
Intuitive
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Clear visual metaphor
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof TextColorIcon> = {
|
|
|
136
136
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
137
|
{/* Quick Usage */}
|
|
138
138
|
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold
|
|
139
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
140
140
|
Quick Start
|
|
141
141
|
</h2>
|
|
142
142
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
143
|
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold
|
|
144
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
145
145
|
Basic Usage
|
|
146
146
|
</h3>
|
|
147
|
-
<div className="rounded-lg
|
|
148
|
-
<pre className="overflow-x-auto text-sm
|
|
147
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
148
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
149
149
|
{`import { TextColorIcon } from "@icons/text-color-icon"
|
|
150
150
|
|
|
151
151
|
function MyEditor() {
|
|
@@ -161,13 +161,13 @@ function MyEditor() {
|
|
|
161
161
|
</div>
|
|
162
162
|
|
|
163
163
|
<div className="!space-y-4">
|
|
164
|
-
<h3 className="text-xl font-semibold
|
|
164
|
+
<h3 className="text-fm-icon-info! text-xl font-semibold">
|
|
165
165
|
Live Preview
|
|
166
166
|
</h3>
|
|
167
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
168
|
-
<div className="flex items-center gap-3 rounded-lg border
|
|
169
|
-
<TextColorIcon className="h-5 w-5
|
|
170
|
-
<span className="text-
|
|
167
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
168
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
169
|
+
<TextColorIcon className="text-fm-icon-info h-5 w-5" />
|
|
170
|
+
<span className="text-fm-icon-active">Text Color</span>
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -176,108 +176,116 @@ function MyEditor() {
|
|
|
176
176
|
|
|
177
177
|
{/* Props Documentation */}
|
|
178
178
|
<div className="!space-y-8">
|
|
179
|
-
<h2 className="text-center text-3xl font-bold
|
|
179
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
180
180
|
Props & Configuration
|
|
181
181
|
</h2>
|
|
182
182
|
|
|
183
|
-
<div className="overflow-hidden rounded-lg border
|
|
184
|
-
<div className="bg-
|
|
185
|
-
<h3 className="text-xl font-semibold
|
|
183
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
184
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
185
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
186
|
+
Props
|
|
187
|
+
</h3>
|
|
186
188
|
</div>
|
|
187
189
|
<table className="!my-0 w-full">
|
|
188
|
-
<thead className="bg-
|
|
189
|
-
<tr className="border-
|
|
190
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
190
|
+
<thead className="bg-fm-surface-secondary">
|
|
191
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
192
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
191
193
|
Prop
|
|
192
194
|
</th>
|
|
193
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
194
196
|
Type
|
|
195
197
|
</th>
|
|
196
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
198
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
197
199
|
Default
|
|
198
200
|
</th>
|
|
199
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
201
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
200
202
|
Description
|
|
201
203
|
</th>
|
|
202
204
|
</tr>
|
|
203
205
|
</thead>
|
|
204
206
|
<tbody>
|
|
205
207
|
{" "}
|
|
206
|
-
<tr className="
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
208
|
+
<tr className="bg-fm-surface-secondary!">
|
|
209
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
208
210
|
withAccessibility
|
|
209
211
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
212
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
211
213
|
boolean
|
|
212
214
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
214
216
|
true
|
|
215
217
|
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
217
219
|
Whether to wrap the icon with accessibility feature
|
|
218
220
|
</td>
|
|
219
221
|
</tr>
|
|
220
|
-
<tr className="border-
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
222
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
223
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
222
224
|
height
|
|
223
225
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
226
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
225
227
|
number | string
|
|
226
228
|
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm
|
|
228
|
-
|
|
229
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
230
|
+
18
|
|
231
|
+
</td>
|
|
232
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
229
233
|
Height of the icon in pixels
|
|
230
234
|
</td>
|
|
231
235
|
</tr>
|
|
232
|
-
<tr className="border-
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
236
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
237
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
234
238
|
stroke
|
|
235
239
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
240
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
237
241
|
string
|
|
238
242
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
240
244
|
currentColor
|
|
241
245
|
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
243
247
|
Stroke color of the icon
|
|
244
248
|
</td>
|
|
245
249
|
</tr>
|
|
246
|
-
<tr className="border-
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
250
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
251
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
248
252
|
strokeWidth
|
|
249
253
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
251
255
|
number | string
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
254
258
|
1.5
|
|
255
259
|
</td>
|
|
256
|
-
<td className="px-6 py-4 text-sm
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
257
261
|
Stroke width of the icon
|
|
258
262
|
</td>
|
|
259
263
|
</tr>
|
|
260
|
-
<tr className="border-
|
|
261
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
264
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
265
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
262
266
|
className
|
|
263
267
|
</td>
|
|
264
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
265
269
|
string
|
|
266
270
|
</td>
|
|
267
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
-
|
|
271
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
272
|
+
-
|
|
273
|
+
</td>
|
|
274
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
269
275
|
CSS classes for styling
|
|
270
276
|
</td>
|
|
271
277
|
</tr>
|
|
272
|
-
<tr className="
|
|
273
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
278
|
+
<tr className="bg-fm-surface-secondary!">
|
|
279
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
274
280
|
...svgProps
|
|
275
281
|
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm
|
|
282
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
277
283
|
SVGProps
|
|
278
284
|
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm
|
|
280
|
-
|
|
285
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
286
|
+
-
|
|
287
|
+
</td>
|
|
288
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
281
289
|
All standard SVG element props
|
|
282
290
|
</td>
|
|
283
291
|
</tr>
|
|
@@ -288,50 +296,62 @@ function MyEditor() {
|
|
|
288
296
|
|
|
289
297
|
{/* Size Variations */}
|
|
290
298
|
<div className="!space-y-8">
|
|
291
|
-
<h2 className="text-center text-3xl font-bold
|
|
299
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
292
300
|
Size Variations
|
|
293
301
|
</h2>
|
|
294
|
-
<div className="rounded-lg border
|
|
302
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
295
303
|
<div className="!space-y-6">
|
|
296
304
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
297
305
|
<div className="!space-y-4">
|
|
298
|
-
<h3 className="text-lg font-semibold
|
|
306
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
299
307
|
Standard Sizes
|
|
300
308
|
</h3>
|
|
301
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
309
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
302
310
|
<div className="text-center">
|
|
303
|
-
<TextColorIcon className="!mx-auto mb-2 h-3 w-3
|
|
304
|
-
<span className="text-
|
|
311
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
312
|
+
<span className="text-fm-tertiary text-xs">
|
|
313
|
+
12px
|
|
314
|
+
</span>
|
|
305
315
|
</div>
|
|
306
316
|
<div className="text-center">
|
|
307
|
-
<TextColorIcon className="!mx-auto mb-2 h-4 w-4
|
|
308
|
-
<span className="text-
|
|
317
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
318
|
+
<span className="text-fm-tertiary text-xs">
|
|
319
|
+
16px
|
|
320
|
+
</span>
|
|
309
321
|
</div>
|
|
310
322
|
<div className="text-center">
|
|
311
|
-
<TextColorIcon className="!mx-auto mb-2 h-5 w-5
|
|
312
|
-
<span className="text-
|
|
323
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
324
|
+
<span className="text-fm-tertiary text-xs">
|
|
325
|
+
20px
|
|
326
|
+
</span>
|
|
313
327
|
</div>
|
|
314
328
|
<div className="text-center">
|
|
315
|
-
<TextColorIcon className="!mx-auto mb-2 h-6 w-6
|
|
316
|
-
<span className="text-
|
|
329
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
330
|
+
<span className="text-fm-tertiary text-xs">
|
|
331
|
+
24px
|
|
332
|
+
</span>
|
|
317
333
|
</div>
|
|
318
334
|
<div className="text-center">
|
|
319
|
-
<TextColorIcon className="!mx-auto mb-2 h-8 w-8
|
|
320
|
-
<span className="text-
|
|
335
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
336
|
+
<span className="text-fm-tertiary text-xs">
|
|
337
|
+
32px
|
|
338
|
+
</span>
|
|
321
339
|
</div>
|
|
322
340
|
<div className="text-center">
|
|
323
|
-
<TextColorIcon className="!mx-auto mb-2 h-12 w-12
|
|
324
|
-
<span className="text-
|
|
341
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
342
|
+
<span className="text-fm-tertiary text-xs">
|
|
343
|
+
48px
|
|
344
|
+
</span>
|
|
325
345
|
</div>
|
|
326
346
|
</div>
|
|
327
347
|
</div>
|
|
328
348
|
|
|
329
349
|
<div className="!space-y-4">
|
|
330
|
-
<h3 className="text-lg font-semibold
|
|
350
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
331
351
|
Code Example
|
|
332
352
|
</h3>
|
|
333
|
-
<div className="rounded-lg
|
|
334
|
-
<pre className="overflow-x-auto text-sm
|
|
353
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
354
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
335
355
|
{`// Small (16px)
|
|
336
356
|
<TextColorIcon className="h-4 w-4" />
|
|
337
357
|
|
|
@@ -353,56 +373,56 @@ function MyEditor() {
|
|
|
353
373
|
|
|
354
374
|
{/* Color Variations */}
|
|
355
375
|
<div className="!space-y-8">
|
|
356
|
-
<h2 className="text-center text-3xl font-bold
|
|
376
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
357
377
|
Color Variations
|
|
358
378
|
</h2>
|
|
359
379
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
360
380
|
<div className="!space-y-4">
|
|
361
|
-
<h3 className="text-lg font-semibold
|
|
381
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
362
382
|
Editor Theme Colors
|
|
363
383
|
</h3>
|
|
364
|
-
<div className="!space-y-4 rounded-lg border
|
|
384
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
365
385
|
<div className="flex items-center gap-4">
|
|
366
|
-
<TextColorIcon className="h-6 w-6
|
|
386
|
+
<TextColorIcon className="text-fm-icon-info h-6 w-6" />
|
|
367
387
|
<div>
|
|
368
|
-
<div className="text-sm font-medium
|
|
388
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
369
389
|
Primary
|
|
370
390
|
</div>
|
|
371
|
-
<div className="text-
|
|
372
|
-
text-
|
|
391
|
+
<div className="text-fm-tertiary text-xs">
|
|
392
|
+
text-fm-icon-info
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
</div>
|
|
376
396
|
<div className="flex items-center gap-4">
|
|
377
|
-
<TextColorIcon className="h-6 w-6
|
|
397
|
+
<TextColorIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
378
398
|
<div>
|
|
379
|
-
<div className="text-sm font-medium
|
|
399
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
380
400
|
Creative
|
|
381
401
|
</div>
|
|
382
|
-
<div className="text-
|
|
383
|
-
text-
|
|
402
|
+
<div className="text-fm-tertiary text-xs">
|
|
403
|
+
text-fm-secondary-600
|
|
384
404
|
</div>
|
|
385
405
|
</div>
|
|
386
406
|
</div>
|
|
387
407
|
<div className="flex items-center gap-4">
|
|
388
|
-
<TextColorIcon className="h-6 w-6
|
|
408
|
+
<TextColorIcon className="text-fm-icon-info h-6 w-6" />
|
|
389
409
|
<div>
|
|
390
|
-
<div className="text-sm font-medium
|
|
410
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
391
411
|
Professional
|
|
392
412
|
</div>
|
|
393
|
-
<div className="text-
|
|
394
|
-
text-
|
|
413
|
+
<div className="text-fm-tertiary text-xs">
|
|
414
|
+
text-fm-icon-info
|
|
395
415
|
</div>
|
|
396
416
|
</div>
|
|
397
417
|
</div>
|
|
398
418
|
<div className="flex items-center gap-4">
|
|
399
|
-
<TextColorIcon className="h-6 w-6
|
|
419
|
+
<TextColorIcon className="text-fm-tertiary h-6 w-6" />
|
|
400
420
|
<div>
|
|
401
|
-
<div className="text-sm font-medium
|
|
421
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
402
422
|
Neutral
|
|
403
423
|
</div>
|
|
404
|
-
<div className="text-
|
|
405
|
-
text-
|
|
424
|
+
<div className="text-fm-tertiary text-xs">
|
|
425
|
+
text-fm-tertiary
|
|
406
426
|
</div>
|
|
407
427
|
</div>
|
|
408
428
|
</div>
|
|
@@ -410,11 +430,11 @@ function MyEditor() {
|
|
|
410
430
|
</div>
|
|
411
431
|
|
|
412
432
|
<div className="!space-y-4">
|
|
413
|
-
<h3 className="text-lg font-semibold
|
|
433
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
414
434
|
Custom Colors
|
|
415
435
|
</h3>
|
|
416
|
-
<div className="rounded-lg
|
|
417
|
-
<pre className="overflow-x-auto text-sm
|
|
436
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
437
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
418
438
|
{`// Using Tailwind classes
|
|
419
439
|
<TextColorIcon className="h-6 w-6 text-blue-400" />
|
|
420
440
|
<TextColorIcon className="h-6 w-6 text-purple-500" />
|
|
@@ -439,37 +459,41 @@ function MyEditor() {
|
|
|
439
459
|
|
|
440
460
|
{/* Usage Examples */}
|
|
441
461
|
<div className="!space-y-8">
|
|
442
|
-
<h2 className="text-center text-3xl font-bold
|
|
462
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
443
463
|
Usage Examples
|
|
444
464
|
</h2>
|
|
445
465
|
|
|
446
466
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
447
467
|
{/* Rich Text Toolbar */}
|
|
448
468
|
<div className="!space-y-4">
|
|
449
|
-
<h3 className="text-lg font-semibold
|
|
469
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
450
470
|
Rich Text Toolbar
|
|
451
471
|
</h3>
|
|
452
472
|
<div className="!space-y-4">
|
|
453
|
-
<div className="rounded-lg border
|
|
473
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
454
474
|
<div className="flex items-center gap-2">
|
|
455
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
456
|
-
<span className="text-sm font-bold
|
|
475
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded border">
|
|
476
|
+
<span className="text-fm-icon-active text-sm font-bold">
|
|
457
477
|
B
|
|
458
478
|
</span>
|
|
459
479
|
</button>
|
|
460
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
461
|
-
<span className="text-
|
|
480
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded border">
|
|
481
|
+
<span className="text-fm-icon-active text-sm italic">
|
|
482
|
+
I
|
|
483
|
+
</span>
|
|
462
484
|
</button>
|
|
463
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
464
|
-
<TextColorIcon className="h-4 w-4
|
|
485
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 hover:bg-fm-icon-info/30 flex h-8 w-8 items-center justify-center rounded border">
|
|
486
|
+
<TextColorIcon className="text-fm-icon-info h-4 w-4" />
|
|
465
487
|
</button>
|
|
466
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
467
|
-
<span className="text-
|
|
488
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded border">
|
|
489
|
+
<span className="text-fm-icon-active text-sm">
|
|
490
|
+
🎨
|
|
491
|
+
</span>
|
|
468
492
|
</button>
|
|
469
493
|
</div>
|
|
470
494
|
</div>
|
|
471
|
-
<div className="rounded-lg
|
|
472
|
-
<pre className="overflow-x-auto text-sm
|
|
495
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
496
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
473
497
|
{`<div className="flex items-center gap-2">
|
|
474
498
|
<button className="h-8 w-8 bg-white/5 border border-white/10 rounded">
|
|
475
499
|
<span className="font-bold">B</span>
|
|
@@ -488,19 +512,21 @@ function MyEditor() {
|
|
|
488
512
|
|
|
489
513
|
{/* Color Picker Button */}
|
|
490
514
|
<div className="!space-y-4">
|
|
491
|
-
<h3 className="text-lg font-semibold
|
|
515
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
492
516
|
Color Picker Button
|
|
493
517
|
</h3>
|
|
494
518
|
<div className="!space-y-4">
|
|
495
|
-
<div className="rounded-lg border
|
|
496
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
497
|
-
<TextColorIcon className="h-5 w-5
|
|
498
|
-
<span className="text-
|
|
499
|
-
|
|
519
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
520
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 hover:bg-fm-icon-info/20 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
521
|
+
<TextColorIcon className="text-fm-icon-info h-5 w-5" />
|
|
522
|
+
<span className="text-fm-icon-active">
|
|
523
|
+
Text Color
|
|
524
|
+
</span>
|
|
525
|
+
<div className="border-fm-divider-primary from-fm-icon-negative via-fm-icon-info to-fm-secondary-500 ml-auto h-4 w-6 rounded border bg-linear-to-r"></div>
|
|
500
526
|
</button>
|
|
501
527
|
</div>
|
|
502
|
-
<div className="rounded-lg
|
|
503
|
-
<pre className="overflow-x-auto text-sm
|
|
528
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
529
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
504
530
|
{`<button className="flex items-center gap-3 bg-blue-500/10 border border-blue-500/20 px-4 py-2 rounded-lg">
|
|
505
531
|
<TextColorIcon className="h-5 w-5 text-blue-400" />
|
|
506
532
|
<span>Text Color</span>
|
|
@@ -513,32 +539,32 @@ function MyEditor() {
|
|
|
513
539
|
|
|
514
540
|
{/* Dropdown Menu */}
|
|
515
541
|
<div className="!space-y-4">
|
|
516
|
-
<h3 className="text-lg font-semibold
|
|
542
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
517
543
|
Dropdown Menu
|
|
518
544
|
</h3>
|
|
519
545
|
<div className="!space-y-4">
|
|
520
|
-
<div className="rounded-lg border
|
|
546
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
521
547
|
<div className="!space-y-2">
|
|
522
|
-
<div className="flex items-center gap-3 rounded px-2 py-1
|
|
523
|
-
<TextColorIcon className="h-4 w-4
|
|
524
|
-
<span className="text-
|
|
548
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded px-2 py-1">
|
|
549
|
+
<TextColorIcon className="text-fm-icon-negative h-4 w-4" />
|
|
550
|
+
<span className="text-fm-icon-active">Red</span>
|
|
525
551
|
</div>
|
|
526
|
-
<div className="flex items-center gap-3 rounded px-2 py-1
|
|
527
|
-
<TextColorIcon className="h-4 w-4
|
|
528
|
-
<span className="text-
|
|
552
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded px-2 py-1">
|
|
553
|
+
<TextColorIcon className="text-fm-icon-info h-4 w-4" />
|
|
554
|
+
<span className="text-fm-icon-active">Blue</span>
|
|
529
555
|
</div>
|
|
530
|
-
<div className="flex items-center gap-3 rounded px-2 py-1
|
|
531
|
-
<TextColorIcon className="h-4 w-4
|
|
532
|
-
<span className="text-
|
|
556
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded px-2 py-1">
|
|
557
|
+
<TextColorIcon className="text-fm-icon-positive h-4 w-4" />
|
|
558
|
+
<span className="text-fm-icon-active">Green</span>
|
|
533
559
|
</div>
|
|
534
|
-
<div className="flex items-center gap-3 rounded px-2 py-1
|
|
535
|
-
<TextColorIcon className="h-4 w-4
|
|
536
|
-
<span className="text-
|
|
560
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded px-2 py-1">
|
|
561
|
+
<TextColorIcon className="text-fm-secondary-600 h-4 w-4" />
|
|
562
|
+
<span className="text-fm-icon-active">Purple</span>
|
|
537
563
|
</div>
|
|
538
564
|
</div>
|
|
539
565
|
</div>
|
|
540
|
-
<div className="rounded-lg
|
|
541
|
-
<pre className="overflow-x-auto text-sm
|
|
566
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
567
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
542
568
|
{`<div className="space-y-2">
|
|
543
569
|
<div className="flex items-center gap-3 px-2 py-1 rounded hover:bg-white/10">
|
|
544
570
|
<TextColorIcon className="h-4 w-4 text-red-400" />
|
|
@@ -556,34 +582,34 @@ function MyEditor() {
|
|
|
556
582
|
|
|
557
583
|
{/* Design Tool Panel */}
|
|
558
584
|
<div className="!space-y-4">
|
|
559
|
-
<h3 className="text-lg font-semibold
|
|
585
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
560
586
|
Design Tool Panel
|
|
561
587
|
</h3>
|
|
562
588
|
<div className="!space-y-4">
|
|
563
|
-
<div className="rounded-lg border
|
|
589
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
564
590
|
<div className="!space-y-3">
|
|
565
591
|
<div className="flex items-center justify-between">
|
|
566
592
|
<div className="flex items-center gap-2">
|
|
567
|
-
<TextColorIcon className="h-4 w-4
|
|
568
|
-
<span className="text-sm font-medium
|
|
593
|
+
<TextColorIcon className="text-fm-icon-active h-4 w-4" />
|
|
594
|
+
<span className="text-fm-icon-active text-sm font-medium">
|
|
569
595
|
Text Color
|
|
570
596
|
</span>
|
|
571
597
|
</div>
|
|
572
|
-
<div className="h-6 w-8 rounded border
|
|
598
|
+
<div className="border-fm-divider-primary bg-fm-icon-info h-6 w-8 rounded border"></div>
|
|
573
599
|
</div>
|
|
574
600
|
<div className="flex items-center justify-between">
|
|
575
601
|
<div className="flex items-center gap-2">
|
|
576
|
-
<span className="h-4 w-4 rounded border
|
|
577
|
-
<span className="text-sm font-medium
|
|
602
|
+
<span className="border-fm-divider-primary bg-fm-icon-negative h-4 w-4 rounded border"></span>
|
|
603
|
+
<span className="text-fm-icon-active text-sm font-medium">
|
|
578
604
|
Background
|
|
579
605
|
</span>
|
|
580
606
|
</div>
|
|
581
|
-
<div className="h-6 w-8 rounded border
|
|
607
|
+
<div className="border-fm-divider-primary bg-fm-icon-negative h-6 w-8 rounded border"></div>
|
|
582
608
|
</div>
|
|
583
609
|
</div>
|
|
584
610
|
</div>
|
|
585
|
-
<div className="rounded-lg
|
|
586
|
-
<pre className="overflow-x-auto text-sm
|
|
611
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
612
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
587
613
|
{`<div className="space-y-3">
|
|
588
614
|
<div className="flex items-center justify-between">
|
|
589
615
|
<div className="flex items-center gap-2">
|
|
@@ -602,64 +628,64 @@ function MyEditor() {
|
|
|
602
628
|
|
|
603
629
|
{/* Accessibility */}
|
|
604
630
|
<div className="!space-y-8">
|
|
605
|
-
<h2 className="text-center text-3xl font-bold
|
|
631
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
606
632
|
Accessibility Features
|
|
607
633
|
</h2>
|
|
608
634
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
609
|
-
<div className="!space-y-4 rounded-lg border
|
|
610
|
-
<h3 className="text-lg font-semibold
|
|
635
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
636
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
611
637
|
✅ Built-in Features
|
|
612
638
|
</h3>
|
|
613
|
-
<ul className="!space-y-2 text-sm
|
|
614
|
-
<li className="
|
|
639
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
640
|
+
<li className="text-fm-secondary!">
|
|
615
641
|
Uses Radix UI AccessibleIcon wrapper
|
|
616
642
|
</li>
|
|
617
|
-
<li className="
|
|
643
|
+
<li className="text-fm-secondary!">
|
|
618
644
|
Provides screen reader label "Text Color icon"
|
|
619
645
|
</li>
|
|
620
|
-
<li className="
|
|
646
|
+
<li className="text-fm-secondary!">
|
|
621
647
|
Supports keyboard navigation when interactive
|
|
622
648
|
</li>
|
|
623
|
-
<li className="
|
|
649
|
+
<li className="text-fm-secondary!">
|
|
624
650
|
Maintains proper color contrast ratios
|
|
625
651
|
</li>
|
|
626
|
-
<li className="
|
|
652
|
+
<li className="text-fm-secondary!">
|
|
627
653
|
Scales with user's font size preferences
|
|
628
654
|
</li>
|
|
629
655
|
</ul>
|
|
630
656
|
</div>
|
|
631
657
|
|
|
632
|
-
<div className="!space-y-4 rounded-lg border
|
|
633
|
-
<h3 className="text-lg font-semibold
|
|
658
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
659
|
+
<h3 className="text-fm-icon-info! text-lg font-semibold">
|
|
634
660
|
💡 Best Practices
|
|
635
661
|
</h3>
|
|
636
|
-
<ul className="!space-y-2 text-sm
|
|
637
|
-
<li className="
|
|
662
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
663
|
+
<li className="text-fm-secondary!">
|
|
638
664
|
Always pair with descriptive text or tooltips
|
|
639
665
|
</li>
|
|
640
|
-
<li className="
|
|
666
|
+
<li className="text-fm-secondary!">
|
|
641
667
|
Use consistent placement in editor toolbars
|
|
642
668
|
</li>
|
|
643
|
-
<li className="
|
|
669
|
+
<li className="text-fm-secondary!">
|
|
644
670
|
Ensure sufficient color contrast
|
|
645
671
|
</li>
|
|
646
|
-
<li className="
|
|
672
|
+
<li className="text-fm-secondary!">
|
|
647
673
|
Add focus states for interactive elements
|
|
648
674
|
</li>
|
|
649
|
-
<li className="
|
|
675
|
+
<li className="text-fm-secondary!">
|
|
650
676
|
Consider colorblind-friendly alternatives
|
|
651
677
|
</li>
|
|
652
678
|
</ul>
|
|
653
679
|
</div>
|
|
654
680
|
</div>
|
|
655
681
|
|
|
656
|
-
<div className="rounded-lg border
|
|
657
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
682
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
683
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
658
684
|
Custom Accessibility Label
|
|
659
685
|
</h3>
|
|
660
686
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
661
|
-
<div className="rounded-lg
|
|
662
|
-
<pre className="overflow-x-auto text-sm
|
|
687
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
688
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
663
689
|
{`// Custom implementation with specific label
|
|
664
690
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
665
691
|
|
|
@@ -679,14 +705,14 @@ function CustomTextColorIcon({ label = "Text Color", ...props }) {
|
|
|
679
705
|
</pre>
|
|
680
706
|
</div>
|
|
681
707
|
<div className="!space-y-4">
|
|
682
|
-
<p className="text-
|
|
708
|
+
<p className="text-fm-secondary! text-sm">
|
|
683
709
|
For specific contexts like editor toolbars, you can wrap
|
|
684
710
|
the TextColorIcon with a custom AccessibleIcon component
|
|
685
711
|
that provides more descriptive labels for better screen
|
|
686
712
|
reader support.
|
|
687
713
|
</p>
|
|
688
|
-
<div className="
|
|
689
|
-
<div className="flex items-center gap-2 text-sm
|
|
714
|
+
<div className="border-fm-icon-info/20 bg-fm-icon-info/10 rounded-lg border p-4">
|
|
715
|
+
<div className="text-fm-icon-info flex items-center gap-2 text-sm">
|
|
690
716
|
<TextColorIcon className="h-4 w-4" />
|
|
691
717
|
<span>
|
|
692
718
|
This approach gives clear context for formatting
|
|
@@ -701,50 +727,58 @@ function CustomTextColorIcon({ label = "Text Color", ...props }) {
|
|
|
701
727
|
|
|
702
728
|
{/* Related Icons */}
|
|
703
729
|
<div className="!space-y-8">
|
|
704
|
-
<h2 className="text-center text-3xl font-bold
|
|
730
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
705
731
|
Related Icons
|
|
706
732
|
</h2>
|
|
707
733
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
708
|
-
<div className="!space-y-3 rounded-lg border
|
|
709
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
734
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
735
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
710
736
|
<span className="text-2xl">🎨</span>
|
|
711
737
|
</div>
|
|
712
738
|
<div>
|
|
713
|
-
<div className="font-medium
|
|
714
|
-
|
|
739
|
+
<div className="text-fm-icon-active font-medium">
|
|
740
|
+
PaletteIcon
|
|
741
|
+
</div>
|
|
742
|
+
<div className="text-fm-tertiary text-xs">
|
|
715
743
|
Color selection
|
|
716
744
|
</div>
|
|
717
745
|
</div>
|
|
718
746
|
</div>
|
|
719
|
-
<div className="!space-y-3 rounded-lg border
|
|
720
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
747
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
748
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
721
749
|
<span className="text-2xl">📝</span>
|
|
722
750
|
</div>
|
|
723
751
|
<div>
|
|
724
|
-
<div className="font-medium
|
|
725
|
-
|
|
752
|
+
<div className="text-fm-icon-active font-medium">
|
|
753
|
+
EditIcon
|
|
754
|
+
</div>
|
|
755
|
+
<div className="text-fm-tertiary text-xs">
|
|
756
|
+
Text editing
|
|
757
|
+
</div>
|
|
726
758
|
</div>
|
|
727
759
|
</div>
|
|
728
|
-
<div className="!space-y-3 rounded-lg border
|
|
729
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
760
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
761
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
730
762
|
<span className="text-2xl">🔧</span>
|
|
731
763
|
</div>
|
|
732
764
|
<div>
|
|
733
|
-
<div className="font-medium
|
|
734
|
-
|
|
765
|
+
<div className="text-fm-icon-active font-medium">
|
|
766
|
+
FormatIcon
|
|
767
|
+
</div>
|
|
768
|
+
<div className="text-fm-tertiary text-xs">
|
|
735
769
|
Text formatting
|
|
736
770
|
</div>
|
|
737
771
|
</div>
|
|
738
772
|
</div>
|
|
739
|
-
<div className="!space-y-3 rounded-lg border
|
|
740
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
773
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
774
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
741
775
|
<span className="text-2xl">🎯</span>
|
|
742
776
|
</div>
|
|
743
777
|
<div>
|
|
744
|
-
<div className="font-medium
|
|
778
|
+
<div className="text-fm-icon-active font-medium">
|
|
745
779
|
HighlightIcon
|
|
746
780
|
</div>
|
|
747
|
-
<div className="text-
|
|
781
|
+
<div className="text-fm-tertiary text-xs">
|
|
748
782
|
Text highlight
|
|
749
783
|
</div>
|
|
750
784
|
</div>
|
|
@@ -754,15 +788,15 @@ function CustomTextColorIcon({ label = "Text Color", ...props }) {
|
|
|
754
788
|
</div>
|
|
755
789
|
|
|
756
790
|
{/* Footer */}
|
|
757
|
-
<div className="border-
|
|
791
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
758
792
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
759
793
|
<div className="!space-y-4 text-center">
|
|
760
|
-
<p className="
|
|
794
|
+
<p className="text-fm-tertiary!">
|
|
761
795
|
TextColorIcon is part of the Aural UI icon library, designed
|
|
762
796
|
specifically for rich text editors, design tools, and
|
|
763
797
|
formatting interfaces with accessibility in mind.
|
|
764
798
|
</p>
|
|
765
|
-
<p className="text-
|
|
799
|
+
<p className="text-fm-placeholder! text-sm">
|
|
766
800
|
Perfect for WYSIWYG editors, design applications, and any
|
|
767
801
|
interface that needs clear text formatting controls. Follows
|
|
768
802
|
WCAG guidelines and provides intuitive visual metaphors.
|
|
@@ -812,8 +846,8 @@ const storyParameters = {
|
|
|
812
846
|
backgrounds: {
|
|
813
847
|
default: "dark",
|
|
814
848
|
values: [
|
|
815
|
-
{ name: "dark", value: "
|
|
816
|
-
{ name: "darker", value: "
|
|
849
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
850
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
817
851
|
],
|
|
818
852
|
},
|
|
819
853
|
}
|
|
@@ -822,12 +856,12 @@ export const Default: Story = {
|
|
|
822
856
|
args: {
|
|
823
857
|
width: 24,
|
|
824
858
|
height: 24,
|
|
825
|
-
className: "text-
|
|
859
|
+
className: "text-fm-icon-info",
|
|
826
860
|
withAccessibility: true,
|
|
827
861
|
},
|
|
828
862
|
parameters: storyParameters,
|
|
829
863
|
render: (args) => (
|
|
830
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
864
|
+
<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">
|
|
831
865
|
<TextColorIcon {...args} />
|
|
832
866
|
</div>
|
|
833
867
|
),
|
|
@@ -844,30 +878,30 @@ export const SizeVariations: Story = {
|
|
|
844
878
|
},
|
|
845
879
|
},
|
|
846
880
|
render: () => (
|
|
847
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
881
|
+
<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">
|
|
848
882
|
<div className="text-center">
|
|
849
|
-
<TextColorIcon className="!mx-auto mb-2 h-3 w-3
|
|
850
|
-
<span className="text-
|
|
883
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-3 w-3" />
|
|
884
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
851
885
|
</div>
|
|
852
886
|
<div className="text-center">
|
|
853
|
-
<TextColorIcon className="!mx-auto mb-2 h-4 w-4
|
|
854
|
-
<span className="text-
|
|
887
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-4 w-4" />
|
|
888
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
855
889
|
</div>
|
|
856
890
|
<div className="text-center">
|
|
857
|
-
<TextColorIcon className="!mx-auto mb-2 h-5 w-5
|
|
858
|
-
<span className="text-
|
|
891
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-5 w-5" />
|
|
892
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
859
893
|
</div>
|
|
860
894
|
<div className="text-center">
|
|
861
|
-
<TextColorIcon className="!mx-auto mb-2 h-6 w-6
|
|
862
|
-
<span className="text-
|
|
895
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-6 w-6" />
|
|
896
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
863
897
|
</div>
|
|
864
898
|
<div className="text-center">
|
|
865
|
-
<TextColorIcon className="!mx-auto mb-2 h-8 w-8
|
|
866
|
-
<span className="text-
|
|
899
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-8 w-8" />
|
|
900
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
867
901
|
</div>
|
|
868
902
|
<div className="text-center">
|
|
869
|
-
<TextColorIcon className="!mx-auto mb-2 h-12 w-12
|
|
870
|
-
<span className="text-
|
|
903
|
+
<TextColorIcon className="text-fm-icon-info !mx-auto mb-2 h-12 w-12" />
|
|
904
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
871
905
|
</div>
|
|
872
906
|
</div>
|
|
873
907
|
),
|
|
@@ -884,34 +918,38 @@ export const ColorVariations: Story = {
|
|
|
884
918
|
},
|
|
885
919
|
},
|
|
886
920
|
render: () => (
|
|
887
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
921
|
+
<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">
|
|
888
922
|
<div className="text-center">
|
|
889
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
890
|
-
<TextColorIcon className="h-8 w-8
|
|
923
|
+
<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">
|
|
924
|
+
<TextColorIcon className="text-fm-icon-info h-8 w-8" />
|
|
891
925
|
</div>
|
|
892
|
-
<div className="text-sm font-medium
|
|
893
|
-
<div className="text-
|
|
926
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
927
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
894
928
|
</div>
|
|
895
929
|
<div className="text-center">
|
|
896
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
897
|
-
<TextColorIcon className="h-8 w-8
|
|
930
|
+
<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">
|
|
931
|
+
<TextColorIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
932
|
+
</div>
|
|
933
|
+
<div className="text-fm-icon-active text-sm font-medium">Creative</div>
|
|
934
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
935
|
+
text-fm-secondary-600
|
|
898
936
|
</div>
|
|
899
|
-
<div className="text-sm font-medium text-white">Creative</div>
|
|
900
|
-
<div className="text-xs text-purple-400">text-purple-400</div>
|
|
901
937
|
</div>
|
|
902
938
|
<div className="text-center">
|
|
903
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
904
|
-
<TextColorIcon className="h-8 w-8
|
|
939
|
+
<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">
|
|
940
|
+
<TextColorIcon className="text-fm-icon-info h-8 w-8" />
|
|
941
|
+
</div>
|
|
942
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
943
|
+
Professional
|
|
905
944
|
</div>
|
|
906
|
-
<div className="text-
|
|
907
|
-
<div className="text-xs text-indigo-400">text-indigo-400</div>
|
|
945
|
+
<div className="text-fm-icon-info text-xs">text-fm-icon-info</div>
|
|
908
946
|
</div>
|
|
909
947
|
<div className="text-center">
|
|
910
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
911
|
-
<TextColorIcon className="h-8 w-8
|
|
948
|
+
<div className="border-fm-divider-primary bg-fm-icon-inactive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
949
|
+
<TextColorIcon className="text-fm-tertiary h-8 w-8" />
|
|
912
950
|
</div>
|
|
913
|
-
<div className="text-sm font-medium
|
|
914
|
-
<div className="text-
|
|
951
|
+
<div className="text-fm-icon-active text-sm font-medium">Neutral</div>
|
|
952
|
+
<div className="text-fm-tertiary text-xs">text-fm-tertiary</div>
|
|
915
953
|
</div>
|
|
916
954
|
</div>
|
|
917
955
|
),
|
|
@@ -928,23 +966,25 @@ export const UsageExamples: Story = {
|
|
|
928
966
|
},
|
|
929
967
|
},
|
|
930
968
|
render: () => (
|
|
931
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
969
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
932
970
|
{/* Rich Text Toolbar */}
|
|
933
971
|
<div className="!space-y-2">
|
|
934
|
-
<h3 className="text-sm font-medium
|
|
935
|
-
|
|
972
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
973
|
+
Rich Text Toolbar
|
|
974
|
+
</h3>
|
|
975
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
936
976
|
<div className="flex items-center gap-2">
|
|
937
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
938
|
-
<span className="text-sm font-bold
|
|
977
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded border">
|
|
978
|
+
<span className="text-fm-icon-active text-sm font-bold">B</span>
|
|
939
979
|
</button>
|
|
940
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
941
|
-
<span className="text-
|
|
980
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded border">
|
|
981
|
+
<span className="text-fm-icon-active text-sm italic">I</span>
|
|
942
982
|
</button>
|
|
943
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
944
|
-
<TextColorIcon className="h-4 w-4
|
|
983
|
+
<button className="border-fm-icon-info/30 bg-fm-icon-info/20 hover:bg-fm-icon-info/30 flex h-8 w-8 items-center justify-center rounded border">
|
|
984
|
+
<TextColorIcon className="text-fm-icon-info h-4 w-4" />
|
|
945
985
|
</button>
|
|
946
|
-
<button className="flex h-8 w-8 items-center justify-center rounded border
|
|
947
|
-
<span className="text-
|
|
986
|
+
<button className="border-fm-divider-secondary bg-fm-surface-secondary hover:bg-fm-surface-secondary flex h-8 w-8 items-center justify-center rounded border">
|
|
987
|
+
<span className="text-fm-icon-active text-sm">🎨</span>
|
|
948
988
|
</button>
|
|
949
989
|
</div>
|
|
950
990
|
</div>
|
|
@@ -952,34 +992,36 @@ export const UsageExamples: Story = {
|
|
|
952
992
|
|
|
953
993
|
{/* Color Picker Button */}
|
|
954
994
|
<div className="!space-y-2">
|
|
955
|
-
<h3 className="text-sm font-medium
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
<
|
|
995
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
996
|
+
Color Picker Button
|
|
997
|
+
</h3>
|
|
998
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
999
|
+
<button className="border-fm-icon-info/20 bg-fm-icon-info/10 hover:bg-fm-icon-info/20 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
1000
|
+
<TextColorIcon className="text-fm-icon-info h-5 w-5" />
|
|
1001
|
+
<span className="text-fm-icon-active">Text Color</span>
|
|
1002
|
+
<div className="border-fm-divider-primary from-fm-icon-negative via-fm-icon-info to-fm-secondary-500 ml-auto h-4 w-6 rounded border bg-linear-to-r"></div>
|
|
961
1003
|
</button>
|
|
962
1004
|
</div>
|
|
963
1005
|
</div>
|
|
964
1006
|
|
|
965
1007
|
{/* Color Options Dropdown */}
|
|
966
1008
|
<div className="!space-y-2">
|
|
967
|
-
<h3 className="text-sm font-medium
|
|
1009
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
968
1010
|
Color Options Dropdown
|
|
969
1011
|
</h3>
|
|
970
|
-
<div className="rounded-lg border
|
|
1012
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
971
1013
|
<div className="!space-y-2">
|
|
972
|
-
<div className="flex items-center gap-3 rounded px-2 py-1
|
|
973
|
-
<TextColorIcon className="h-4 w-4
|
|
974
|
-
<span className="text-
|
|
1014
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded px-2 py-1">
|
|
1015
|
+
<TextColorIcon className="text-fm-icon-negative h-4 w-4" />
|
|
1016
|
+
<span className="text-fm-icon-active">Red</span>
|
|
975
1017
|
</div>
|
|
976
|
-
<div className="flex items-center gap-3 rounded px-2 py-1
|
|
977
|
-
<TextColorIcon className="h-4 w-4
|
|
978
|
-
<span className="text-
|
|
1018
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded px-2 py-1">
|
|
1019
|
+
<TextColorIcon className="text-fm-icon-info h-4 w-4" />
|
|
1020
|
+
<span className="text-fm-icon-active">Blue</span>
|
|
979
1021
|
</div>
|
|
980
|
-
<div className="flex items-center gap-3 rounded px-2 py-1
|
|
981
|
-
<TextColorIcon className="h-4 w-4
|
|
982
|
-
<span className="text-
|
|
1022
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded px-2 py-1">
|
|
1023
|
+
<TextColorIcon className="text-fm-icon-positive h-4 w-4" />
|
|
1024
|
+
<span className="text-fm-icon-active">Green</span>
|
|
983
1025
|
</div>
|
|
984
1026
|
</div>
|
|
985
1027
|
</div>
|
|
@@ -1001,12 +1043,12 @@ export const Playground: Story = {
|
|
|
1001
1043
|
args: {
|
|
1002
1044
|
width: 32,
|
|
1003
1045
|
height: 32,
|
|
1004
|
-
className: "text-
|
|
1046
|
+
className: "text-fm-icon-info",
|
|
1005
1047
|
strokeWidth: 1.5,
|
|
1006
1048
|
},
|
|
1007
1049
|
render: (args) => (
|
|
1008
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1009
|
-
<div className="rounded-lg border
|
|
1050
|
+
<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">
|
|
1051
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
1010
1052
|
<TextColorIcon {...args} />
|
|
1011
1053
|
</div>
|
|
1012
1054
|
</div>
|