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 ShieldIcon> = {
|
|
|
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,57 +40,59 @@ const meta: Meta<typeof ShieldIcon> = {
|
|
|
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-secondary-500/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
|
|
89
|
+
<div className="border-fm-secondary-500/30 from-fm-secondary-500/20 to-fm-secondary-500/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br">
|
|
90
90
|
<ShieldIcon className="h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
|
-
<h1 className="text-5xl font-bold
|
|
93
|
-
|
|
92
|
+
<h1 className="text-fm-icon-active! text-5xl font-bold">
|
|
93
|
+
ShieldIcon
|
|
94
|
+
</h1>
|
|
95
|
+
<p className="text-fm-secondary! !mx-auto max-w-3xl text-xl leading-relaxed">
|
|
94
96
|
A universal shield icon with checkmark for security and
|
|
95
97
|
protection interfaces. Features a classic shield design with
|
|
96
98
|
verification mark, essential for security badges, verified
|
|
@@ -101,26 +103,28 @@ const meta: Meta<typeof ShieldIcon> = {
|
|
|
101
103
|
{/* Stats */}
|
|
102
104
|
<div className="flex items-center justify-center gap-8 pt-8">
|
|
103
105
|
<div className="text-center">
|
|
104
|
-
<div className="text-3xl font-bold
|
|
106
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
105
107
|
Security
|
|
106
108
|
</div>
|
|
107
|
-
<div className="text-
|
|
109
|
+
<div className="text-fm-tertiary text-sm">
|
|
108
110
|
Protection indicator
|
|
109
111
|
</div>
|
|
110
112
|
</div>
|
|
111
|
-
<div className="h-8 w-px
|
|
113
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
112
114
|
<div className="text-center">
|
|
113
|
-
<div className="text-3xl font-bold
|
|
115
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
114
116
|
Verified
|
|
115
117
|
</div>
|
|
116
|
-
<div className="text-
|
|
118
|
+
<div className="text-fm-tertiary text-sm">
|
|
119
|
+
Trust badge
|
|
120
|
+
</div>
|
|
117
121
|
</div>
|
|
118
|
-
<div className="h-8 w-px
|
|
122
|
+
<div className="bg-fm-divider-primary h-8 w-px" />
|
|
119
123
|
<div className="text-center">
|
|
120
|
-
<div className="text-3xl font-bold
|
|
124
|
+
<div className="text-fm-secondary-600 text-3xl font-bold">
|
|
121
125
|
Accessible
|
|
122
126
|
</div>
|
|
123
|
-
<div className="text-
|
|
127
|
+
<div className="text-fm-tertiary text-sm">
|
|
124
128
|
Screen reader friendly
|
|
125
129
|
</div>
|
|
126
130
|
</div>
|
|
@@ -133,16 +137,16 @@ const meta: Meta<typeof ShieldIcon> = {
|
|
|
133
137
|
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
134
138
|
{/* Quick Usage */}
|
|
135
139
|
<div className="!space-y-8">
|
|
136
|
-
<h2 className="text-center text-3xl font-bold
|
|
140
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
137
141
|
Quick Start
|
|
138
142
|
</h2>
|
|
139
143
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
140
144
|
<div className="!space-y-4">
|
|
141
|
-
<h3 className="text-xl font-semibold
|
|
145
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
142
146
|
Basic Usage
|
|
143
147
|
</h3>
|
|
144
|
-
<div className="rounded-lg
|
|
145
|
-
<pre className="overflow-x-auto text-sm
|
|
148
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
149
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
146
150
|
{`import { ShieldIcon } from "@icons/shield-icon"
|
|
147
151
|
|
|
148
152
|
function SecurityBadge() {
|
|
@@ -158,13 +162,15 @@ function SecurityBadge() {
|
|
|
158
162
|
</div>
|
|
159
163
|
|
|
160
164
|
<div className="!space-y-4">
|
|
161
|
-
<h3 className="text-xl font-semibold
|
|
165
|
+
<h3 className="text-fm-secondary-600! text-xl font-semibold">
|
|
162
166
|
Live Preview
|
|
163
167
|
</h3>
|
|
164
|
-
<div className="flex h-32 items-center justify-center rounded-lg border
|
|
165
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
168
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex h-32 items-center justify-center rounded-lg border">
|
|
169
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 flex items-center gap-2 rounded-lg border px-4 py-2">
|
|
166
170
|
<ShieldIcon className="h-6 w-6" />
|
|
167
|
-
<span className="text-
|
|
171
|
+
<span className="text-fm-icon-active text-sm">
|
|
172
|
+
Verified
|
|
173
|
+
</span>
|
|
168
174
|
</div>
|
|
169
175
|
</div>
|
|
170
176
|
</div>
|
|
@@ -173,94 +179,102 @@ function SecurityBadge() {
|
|
|
173
179
|
|
|
174
180
|
{/* Props Documentation */}
|
|
175
181
|
<div className="!space-y-8">
|
|
176
|
-
<h2 className="text-center text-3xl font-bold
|
|
182
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
177
183
|
Props & Configuration
|
|
178
184
|
</h2>
|
|
179
185
|
|
|
180
|
-
<div className="overflow-hidden rounded-lg border
|
|
181
|
-
<div className="bg-
|
|
182
|
-
<h3 className="text-xl font-semibold
|
|
186
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary overflow-hidden rounded-lg border">
|
|
187
|
+
<div className="bg-fm-surface-secondary p-4">
|
|
188
|
+
<h3 className="text-fm-icon-active! text-xl font-semibold">
|
|
189
|
+
Props
|
|
190
|
+
</h3>
|
|
183
191
|
</div>
|
|
184
192
|
<table className="!my-0 w-full">
|
|
185
|
-
<thead className="bg-
|
|
186
|
-
<tr className="border-
|
|
187
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
193
|
+
<thead className="bg-fm-surface-secondary">
|
|
194
|
+
<tr className="border-fm-divider-secondary border-b">
|
|
195
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
188
196
|
Prop
|
|
189
197
|
</th>
|
|
190
|
-
<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">
|
|
191
199
|
Type
|
|
192
200
|
</th>
|
|
193
|
-
<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">
|
|
194
202
|
Default
|
|
195
203
|
</th>
|
|
196
|
-
<th className="px-6 py-4 text-left text-sm font-semibold
|
|
204
|
+
<th className="text-fm-icon-active! px-6 py-4 text-left text-sm font-semibold">
|
|
197
205
|
Description
|
|
198
206
|
</th>
|
|
199
207
|
</tr>
|
|
200
208
|
</thead>
|
|
201
209
|
<tbody>
|
|
202
210
|
{" "}
|
|
203
|
-
<tr className="
|
|
204
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
211
|
+
<tr className="bg-fm-surface-secondary!">
|
|
212
|
+
<td className="text-fm-icon-info! px-6 py-4 font-mono text-sm">
|
|
205
213
|
withAccessibility
|
|
206
214
|
</td>
|
|
207
|
-
<td className="px-6 py-4 text-sm
|
|
215
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
208
216
|
boolean
|
|
209
217
|
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm
|
|
218
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
211
219
|
true
|
|
212
220
|
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm
|
|
221
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
214
222
|
Whether to wrap the icon with accessibility feature
|
|
215
223
|
</td>
|
|
216
224
|
</tr>
|
|
217
|
-
<tr className="border-
|
|
218
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
225
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
226
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
219
227
|
height
|
|
220
228
|
</td>
|
|
221
|
-
<td className="px-6 py-4 text-sm
|
|
229
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
222
230
|
number | string
|
|
223
231
|
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm
|
|
225
|
-
|
|
232
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
233
|
+
16
|
|
234
|
+
</td>
|
|
235
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
226
236
|
Height of the icon in pixels
|
|
227
237
|
</td>
|
|
228
238
|
</tr>
|
|
229
|
-
<tr className="border-
|
|
230
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
239
|
+
<tr className="border-fm-divider-tertiary border-b">
|
|
240
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
231
241
|
fill
|
|
232
242
|
</td>
|
|
233
|
-
<td className="px-6 py-4 text-sm
|
|
243
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
234
244
|
string
|
|
235
245
|
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm
|
|
246
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
237
247
|
#101115
|
|
238
248
|
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm
|
|
249
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
240
250
|
Fill color of the icon
|
|
241
251
|
</td>
|
|
242
252
|
</tr>
|
|
243
|
-
<tr className="border-
|
|
244
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
253
|
+
<tr className="border-fm-divider-tertiary bg-fm-surface-secondary! border-b">
|
|
254
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
245
255
|
className
|
|
246
256
|
</td>
|
|
247
|
-
<td className="px-6 py-4 text-sm
|
|
257
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
248
258
|
string
|
|
249
259
|
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm
|
|
251
|
-
|
|
260
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
261
|
+
-
|
|
262
|
+
</td>
|
|
263
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
252
264
|
CSS classes for styling (use for overrides)
|
|
253
265
|
</td>
|
|
254
266
|
</tr>
|
|
255
|
-
<tr className="
|
|
256
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
267
|
+
<tr className="bg-fm-surface-secondary!">
|
|
268
|
+
<td className="text-fm-secondary-600! px-6 py-4 font-mono text-sm">
|
|
257
269
|
...svgProps
|
|
258
270
|
</td>
|
|
259
|
-
<td className="px-6 py-4 text-sm
|
|
271
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
260
272
|
SVGProps
|
|
261
273
|
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm
|
|
263
|
-
|
|
274
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
275
|
+
-
|
|
276
|
+
</td>
|
|
277
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
264
278
|
All standard SVG element props
|
|
265
279
|
</td>
|
|
266
280
|
</tr>
|
|
@@ -271,50 +285,62 @@ function SecurityBadge() {
|
|
|
271
285
|
|
|
272
286
|
{/* Size Variations */}
|
|
273
287
|
<div className="!space-y-8">
|
|
274
|
-
<h2 className="text-center text-3xl font-bold
|
|
288
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
275
289
|
Size Variations
|
|
276
290
|
</h2>
|
|
277
|
-
<div className="rounded-lg border
|
|
291
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
278
292
|
<div className="!space-y-6">
|
|
279
293
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
280
294
|
<div className="!space-y-4">
|
|
281
|
-
<h3 className="text-lg font-semibold
|
|
295
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
282
296
|
Standard Sizes
|
|
283
297
|
</h3>
|
|
284
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
298
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
285
299
|
<div className="text-center">
|
|
286
300
|
<ShieldIcon className="!mx-auto mb-2 size-3" />
|
|
287
|
-
<span className="text-
|
|
301
|
+
<span className="text-fm-tertiary text-xs">
|
|
302
|
+
12px
|
|
303
|
+
</span>
|
|
288
304
|
</div>
|
|
289
305
|
<div className="text-center">
|
|
290
306
|
<ShieldIcon className="!mx-auto mb-2 size-4" />
|
|
291
|
-
<span className="text-
|
|
307
|
+
<span className="text-fm-tertiary text-xs">
|
|
308
|
+
16px
|
|
309
|
+
</span>
|
|
292
310
|
</div>
|
|
293
311
|
<div className="text-center">
|
|
294
312
|
<ShieldIcon className="!mx-auto mb-2 size-5" />
|
|
295
|
-
<span className="text-
|
|
313
|
+
<span className="text-fm-tertiary text-xs">
|
|
314
|
+
20px
|
|
315
|
+
</span>
|
|
296
316
|
</div>
|
|
297
317
|
<div className="text-center">
|
|
298
318
|
<ShieldIcon className="!mx-auto mb-2 size-6" />
|
|
299
|
-
<span className="text-
|
|
319
|
+
<span className="text-fm-tertiary text-xs">
|
|
320
|
+
24px
|
|
321
|
+
</span>
|
|
300
322
|
</div>
|
|
301
323
|
<div className="text-center">
|
|
302
324
|
<ShieldIcon className="!mx-auto mb-2 size-8" />
|
|
303
|
-
<span className="text-
|
|
325
|
+
<span className="text-fm-tertiary text-xs">
|
|
326
|
+
32px
|
|
327
|
+
</span>
|
|
304
328
|
</div>
|
|
305
329
|
<div className="text-center">
|
|
306
330
|
<ShieldIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
307
|
-
<span className="text-
|
|
331
|
+
<span className="text-fm-tertiary text-xs">
|
|
332
|
+
48px
|
|
333
|
+
</span>
|
|
308
334
|
</div>
|
|
309
335
|
</div>
|
|
310
336
|
</div>
|
|
311
337
|
|
|
312
338
|
<div className="!space-y-4">
|
|
313
|
-
<h3 className="text-lg font-semibold
|
|
339
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
314
340
|
Code Example
|
|
315
341
|
</h3>
|
|
316
|
-
<div className="rounded-lg
|
|
317
|
-
<pre className="overflow-x-auto text-sm
|
|
342
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
343
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
318
344
|
{`// Small (16px)
|
|
319
345
|
<ShieldIcon className="size-4" />
|
|
320
346
|
|
|
@@ -336,54 +362,54 @@ function SecurityBadge() {
|
|
|
336
362
|
|
|
337
363
|
{/* Color Variations */}
|
|
338
364
|
<div className="!space-y-8">
|
|
339
|
-
<h2 className="text-center text-3xl font-bold
|
|
365
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
340
366
|
Color Variations
|
|
341
367
|
</h2>
|
|
342
368
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
343
369
|
<div className="!space-y-4">
|
|
344
|
-
<h3 className="text-lg font-semibold
|
|
370
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
345
371
|
Semantic Colors
|
|
346
372
|
</h3>
|
|
347
|
-
<div className="!space-y-4 rounded-lg border
|
|
373
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
348
374
|
<div className="flex items-center gap-4">
|
|
349
375
|
<ShieldIcon className="h-6 w-6" />
|
|
350
376
|
<div>
|
|
351
|
-
<div className="text-sm font-medium
|
|
377
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
352
378
|
Primary
|
|
353
379
|
</div>
|
|
354
|
-
<div className="text-
|
|
380
|
+
<div className="text-fm-tertiary text-xs"></div>
|
|
355
381
|
</div>
|
|
356
382
|
</div>
|
|
357
383
|
<div className="flex items-center gap-4">
|
|
358
|
-
<ShieldIcon className="h-6 w-6
|
|
384
|
+
<ShieldIcon className="text-fm-secondary-600 h-6 w-6" />
|
|
359
385
|
<div>
|
|
360
|
-
<div className="text-sm font-medium
|
|
386
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
361
387
|
Secondary
|
|
362
388
|
</div>
|
|
363
|
-
<div className="text-
|
|
364
|
-
text-
|
|
389
|
+
<div className="text-fm-tertiary text-xs">
|
|
390
|
+
text-fm-secondary-600
|
|
365
391
|
</div>
|
|
366
392
|
</div>
|
|
367
393
|
</div>
|
|
368
394
|
<div className="flex items-center gap-4">
|
|
369
|
-
<ShieldIcon className="h-6 w-6
|
|
395
|
+
<ShieldIcon className="text-fm-icon-positive h-6 w-6" />
|
|
370
396
|
<div>
|
|
371
|
-
<div className="text-sm font-medium
|
|
397
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
372
398
|
Success
|
|
373
399
|
</div>
|
|
374
|
-
<div className="text-
|
|
375
|
-
text-
|
|
400
|
+
<div className="text-fm-tertiary text-xs">
|
|
401
|
+
text-fm-icon-positive
|
|
376
402
|
</div>
|
|
377
403
|
</div>
|
|
378
404
|
</div>
|
|
379
405
|
<div className="flex items-center gap-4">
|
|
380
|
-
<ShieldIcon className="h-6 w-6
|
|
406
|
+
<ShieldIcon className="text-fm-placeholder h-6 w-6" />
|
|
381
407
|
<div>
|
|
382
|
-
<div className="text-sm font-medium
|
|
408
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
383
409
|
Disabled
|
|
384
410
|
</div>
|
|
385
|
-
<div className="text-
|
|
386
|
-
text-
|
|
411
|
+
<div className="text-fm-tertiary text-xs">
|
|
412
|
+
text-fm-placeholder
|
|
387
413
|
</div>
|
|
388
414
|
</div>
|
|
389
415
|
</div>
|
|
@@ -391,11 +417,11 @@ function SecurityBadge() {
|
|
|
391
417
|
</div>
|
|
392
418
|
|
|
393
419
|
<div className="!space-y-4">
|
|
394
|
-
<h3 className="text-lg font-semibold
|
|
420
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
395
421
|
Custom Colors
|
|
396
422
|
</h3>
|
|
397
|
-
<div className="rounded-lg
|
|
398
|
-
<pre className="overflow-x-auto text-sm
|
|
423
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
424
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
399
425
|
{`// Using Tailwind classes
|
|
400
426
|
<ShieldIcon className="h-6 w-6" />
|
|
401
427
|
<ShieldIcon className="h-6 w-6 text-violet-500" />
|
|
@@ -421,35 +447,35 @@ function SecurityBadge() {
|
|
|
421
447
|
|
|
422
448
|
{/* Usage Examples */}
|
|
423
449
|
<div className="!space-y-8">
|
|
424
|
-
<h2 className="text-center text-3xl font-bold
|
|
450
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
425
451
|
Usage Examples
|
|
426
452
|
</h2>
|
|
427
453
|
|
|
428
454
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
429
455
|
{/* Verified Badge */}
|
|
430
456
|
<div className="!space-y-4">
|
|
431
|
-
<h3 className="text-lg font-semibold
|
|
457
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
432
458
|
Verified Badge
|
|
433
459
|
</h3>
|
|
434
460
|
<div className="!space-y-4">
|
|
435
|
-
<div className="rounded-lg border
|
|
461
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
436
462
|
<div className="mb-4 flex items-center gap-3">
|
|
437
|
-
<div className="h-12 w-12 rounded-full bg-
|
|
463
|
+
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 h-12 w-12 rounded-full bg-linear-to-br" />
|
|
438
464
|
<div>
|
|
439
465
|
<div className="flex items-center gap-2">
|
|
440
|
-
<div className="text-sm font-medium
|
|
466
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
441
467
|
John Doe
|
|
442
468
|
</div>
|
|
443
|
-
<ShieldIcon className="h-4 w-4
|
|
469
|
+
<ShieldIcon className="text-fm-icon-positive h-4 w-4" />
|
|
444
470
|
</div>
|
|
445
|
-
<div className="text-
|
|
471
|
+
<div className="text-fm-tertiary! text-xs">
|
|
446
472
|
Verified Account
|
|
447
473
|
</div>
|
|
448
474
|
</div>
|
|
449
475
|
</div>
|
|
450
476
|
</div>
|
|
451
|
-
<div className="rounded-lg
|
|
452
|
-
<pre className="overflow-x-auto text-sm
|
|
477
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
478
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
453
479
|
{`// Verified user badge
|
|
454
480
|
<div className="user-profile">
|
|
455
481
|
<Avatar />
|
|
@@ -471,38 +497,38 @@ function SecurityBadge() {
|
|
|
471
497
|
|
|
472
498
|
{/* Security Status */}
|
|
473
499
|
<div className="!space-y-4">
|
|
474
|
-
<h3 className="text-lg font-semibold
|
|
500
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
475
501
|
Security Status
|
|
476
502
|
</h3>
|
|
477
503
|
<div className="!space-y-4">
|
|
478
|
-
<div className="rounded-lg border
|
|
504
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
479
505
|
<div className="!space-y-3">
|
|
480
506
|
<div className="flex items-center justify-between">
|
|
481
507
|
<div>
|
|
482
|
-
<div className="text-sm font-medium
|
|
508
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
483
509
|
Account Security
|
|
484
510
|
</div>
|
|
485
|
-
<div className="text-
|
|
511
|
+
<div className="text-fm-tertiary! text-xs">
|
|
486
512
|
Protected
|
|
487
513
|
</div>
|
|
488
514
|
</div>
|
|
489
|
-
<ShieldIcon className="h-5 w-5
|
|
515
|
+
<ShieldIcon className="text-fm-icon-positive h-5 w-5" />
|
|
490
516
|
</div>
|
|
491
517
|
<div className="flex items-center justify-between">
|
|
492
518
|
<div>
|
|
493
|
-
<div className="text-sm font-medium
|
|
519
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
494
520
|
Data Encryption
|
|
495
521
|
</div>
|
|
496
|
-
<div className="text-
|
|
522
|
+
<div className="text-fm-tertiary! text-xs">
|
|
497
523
|
Active
|
|
498
524
|
</div>
|
|
499
525
|
</div>
|
|
500
|
-
<ShieldIcon className="h-5 w-5
|
|
526
|
+
<ShieldIcon className="text-fm-icon-positive h-5 w-5" />
|
|
501
527
|
</div>
|
|
502
528
|
</div>
|
|
503
529
|
</div>
|
|
504
|
-
<div className="rounded-lg
|
|
505
|
-
<pre className="overflow-x-auto text-sm
|
|
530
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
531
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
506
532
|
{`// Security status list
|
|
507
533
|
<div className="security-status">
|
|
508
534
|
{features.map((feature) => (
|
|
@@ -525,30 +551,30 @@ function SecurityBadge() {
|
|
|
525
551
|
|
|
526
552
|
{/* Protected Content */}
|
|
527
553
|
<div className="!space-y-4">
|
|
528
|
-
<h3 className="text-lg font-semibold
|
|
554
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
529
555
|
Protected Content
|
|
530
556
|
</h3>
|
|
531
557
|
<div className="!space-y-4">
|
|
532
|
-
<div className="rounded-lg border
|
|
558
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
533
559
|
<div className="mb-4 text-center">
|
|
534
|
-
<div className="text-sm font-medium
|
|
560
|
+
<div className="text-fm-icon-active! text-sm font-medium">
|
|
535
561
|
Premium Content
|
|
536
562
|
</div>
|
|
537
|
-
<div className="text-
|
|
563
|
+
<div className="text-fm-tertiary! text-xs">
|
|
538
564
|
Protected by subscription
|
|
539
565
|
</div>
|
|
540
566
|
</div>
|
|
541
567
|
<div className="flex items-center justify-center">
|
|
542
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
568
|
+
<div className="border-fm-secondary-500/30 bg-fm-secondary-500/10 flex items-center gap-2 rounded-lg border px-4 py-3">
|
|
543
569
|
<ShieldIcon className="h-6 w-6" />
|
|
544
|
-
<span className="text-
|
|
570
|
+
<span className="text-fm-icon-active text-sm">
|
|
545
571
|
Protected
|
|
546
572
|
</span>
|
|
547
573
|
</div>
|
|
548
574
|
</div>
|
|
549
575
|
</div>
|
|
550
|
-
<div className="rounded-lg
|
|
551
|
-
<pre className="overflow-x-auto text-sm
|
|
576
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
577
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
552
578
|
{`// Protected content badge
|
|
553
579
|
<div className="content-badge">
|
|
554
580
|
<ShieldIcon className="h-6 w-6" />
|
|
@@ -561,25 +587,25 @@ function SecurityBadge() {
|
|
|
561
587
|
|
|
562
588
|
{/* Trust Indicator */}
|
|
563
589
|
<div className="!space-y-4">
|
|
564
|
-
<h3 className="text-lg font-semibold
|
|
590
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
565
591
|
Trust Indicator
|
|
566
592
|
</h3>
|
|
567
593
|
<div className="!space-y-4">
|
|
568
|
-
<div className="rounded-lg border
|
|
594
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
569
595
|
<div className="mb-4">
|
|
570
|
-
<label className="mb-2 block text-xs
|
|
596
|
+
<label className="text-fm-tertiary mb-2 block text-xs">
|
|
571
597
|
Website Security
|
|
572
598
|
</label>
|
|
573
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
574
|
-
<ShieldIcon className="h-4 w-4
|
|
575
|
-
<span className="flex-1 text-sm
|
|
599
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-3 py-2">
|
|
600
|
+
<ShieldIcon className="text-fm-icon-positive h-4 w-4" />
|
|
601
|
+
<span className="text-fm-icon-active flex-1 text-sm">
|
|
576
602
|
Secure Connection
|
|
577
603
|
</span>
|
|
578
604
|
</div>
|
|
579
605
|
</div>
|
|
580
606
|
</div>
|
|
581
|
-
<div className="rounded-lg
|
|
582
|
-
<pre className="overflow-x-auto text-sm
|
|
607
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
608
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
583
609
|
{`// Trust indicator
|
|
584
610
|
<div className="security-indicator">
|
|
585
611
|
<label>Website Security</label>
|
|
@@ -600,65 +626,65 @@ function SecurityBadge() {
|
|
|
600
626
|
|
|
601
627
|
{/* Accessibility */}
|
|
602
628
|
<div className="!space-y-8">
|
|
603
|
-
<h2 className="text-center text-3xl font-bold
|
|
629
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
604
630
|
Accessibility Features
|
|
605
631
|
</h2>
|
|
606
632
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
607
|
-
<div className="!space-y-4 rounded-lg border
|
|
608
|
-
<h3 className="text-lg font-semibold
|
|
633
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
634
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
609
635
|
✅ Built-in Features
|
|
610
636
|
</h3>
|
|
611
|
-
<ul className="!space-y-2 text-sm
|
|
612
|
-
<li className="
|
|
637
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
638
|
+
<li className="text-fm-secondary!">
|
|
613
639
|
Uses Radix UI AccessibleIcon wrapper
|
|
614
640
|
</li>
|
|
615
|
-
<li className="
|
|
641
|
+
<li className="text-fm-secondary!">
|
|
616
642
|
Provides screen reader label "Shield icon"
|
|
617
643
|
</li>
|
|
618
|
-
<li className="
|
|
644
|
+
<li className="text-fm-secondary!">
|
|
619
645
|
Supports keyboard navigation when interactive
|
|
620
646
|
</li>
|
|
621
|
-
<li className="
|
|
647
|
+
<li className="text-fm-secondary!">
|
|
622
648
|
Maintains proper color contrast ratios
|
|
623
649
|
</li>
|
|
624
|
-
<li className="
|
|
650
|
+
<li className="text-fm-secondary!">
|
|
625
651
|
Scales with user's font size preferences
|
|
626
652
|
</li>
|
|
627
653
|
</ul>
|
|
628
654
|
</div>
|
|
629
655
|
|
|
630
|
-
<div className="!space-y-4 rounded-lg border
|
|
631
|
-
<h3 className="text-lg font-semibold
|
|
656
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
657
|
+
<h3 className="text-fm-secondary-600! text-lg font-semibold">
|
|
632
658
|
💡 Best Practices
|
|
633
659
|
</h3>
|
|
634
|
-
<ul className="!space-y-2 text-sm
|
|
635
|
-
<li className="
|
|
660
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
661
|
+
<li className="text-fm-secondary!">
|
|
636
662
|
Always provide descriptive aria-labels for security
|
|
637
663
|
badges
|
|
638
664
|
</li>
|
|
639
|
-
<li className="
|
|
665
|
+
<li className="text-fm-secondary!">
|
|
640
666
|
Include security status in accessible text when possible
|
|
641
667
|
</li>
|
|
642
|
-
<li className="
|
|
668
|
+
<li className="text-fm-secondary!">
|
|
643
669
|
Use appropriate colors to convey security status
|
|
644
670
|
</li>
|
|
645
|
-
<li className="
|
|
671
|
+
<li className="text-fm-secondary!">
|
|
646
672
|
Provide visible focus states for keyboard users
|
|
647
673
|
</li>
|
|
648
|
-
<li className="
|
|
674
|
+
<li className="text-fm-secondary!">
|
|
649
675
|
Consider context when indicating verification status
|
|
650
676
|
</li>
|
|
651
677
|
</ul>
|
|
652
678
|
</div>
|
|
653
679
|
</div>
|
|
654
680
|
|
|
655
|
-
<div className="rounded-lg border
|
|
656
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
681
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
682
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
657
683
|
Proper ARIA Implementation
|
|
658
684
|
</h3>
|
|
659
685
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
660
|
-
<div className="rounded-lg
|
|
661
|
-
<pre className="overflow-x-auto text-sm
|
|
686
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
687
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
662
688
|
{`// Verified badge with proper ARIA
|
|
663
689
|
<div className="user-badge">
|
|
664
690
|
<span>{userName}</span>
|
|
@@ -688,14 +714,14 @@ function SecurityBadge() {
|
|
|
688
714
|
</pre>
|
|
689
715
|
</div>
|
|
690
716
|
<div className="!space-y-4">
|
|
691
|
-
<p className="text-
|
|
717
|
+
<p className="text-fm-secondary! text-sm">
|
|
692
718
|
When using ShieldIcon for security indicators, always
|
|
693
719
|
provide clear context about what is being protected or
|
|
694
720
|
verified, and ensure the security status is accessible
|
|
695
721
|
to screen readers.
|
|
696
722
|
</p>
|
|
697
|
-
<div className="
|
|
698
|
-
<div className="flex items-center gap-2 text-sm
|
|
723
|
+
<div className="border-fm-secondary-500/20 bg-fm-secondary-500/10 rounded-lg border p-4">
|
|
724
|
+
<div className="text-fm-secondary-600 flex items-center gap-2 text-sm">
|
|
699
725
|
<ShieldIcon className="h-4 w-4" />
|
|
700
726
|
<span>
|
|
701
727
|
Screen readers need context about security status
|
|
@@ -710,44 +736,54 @@ function SecurityBadge() {
|
|
|
710
736
|
|
|
711
737
|
{/* Related Icons */}
|
|
712
738
|
<div className="!space-y-8">
|
|
713
|
-
<h2 className="text-center text-3xl font-bold
|
|
739
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
714
740
|
Related Icons
|
|
715
741
|
</h2>
|
|
716
742
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
717
|
-
<div className="!space-y-3 rounded-lg border
|
|
718
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
719
|
-
<span className="
|
|
743
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
744
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
745
|
+
<span className="text-fm-icon-active! !text-2xl">✓</span>
|
|
720
746
|
</div>
|
|
721
747
|
<div>
|
|
722
|
-
<div className="font-medium
|
|
723
|
-
|
|
748
|
+
<div className="text-fm-icon-active font-medium">
|
|
749
|
+
TickIcon
|
|
750
|
+
</div>
|
|
751
|
+
<div className="text-fm-tertiary text-xs">
|
|
752
|
+
Verification
|
|
753
|
+
</div>
|
|
724
754
|
</div>
|
|
725
755
|
</div>
|
|
726
|
-
<div className="!space-y-3 rounded-lg border
|
|
727
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
728
|
-
<span className="
|
|
756
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
757
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
758
|
+
<span className="text-fm-icon-active! !text-2xl">🔒</span>
|
|
729
759
|
</div>
|
|
730
760
|
<div>
|
|
731
|
-
<div className="font-medium
|
|
732
|
-
|
|
761
|
+
<div className="text-fm-icon-active font-medium">
|
|
762
|
+
LockIcon
|
|
763
|
+
</div>
|
|
764
|
+
<div className="text-fm-tertiary text-xs">Security</div>
|
|
733
765
|
</div>
|
|
734
766
|
</div>
|
|
735
|
-
<div className="!space-y-3 rounded-lg border
|
|
736
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
737
|
-
<span className="
|
|
767
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
768
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
769
|
+
<span className="text-fm-icon-active! !text-2xl">⭐</span>
|
|
738
770
|
</div>
|
|
739
771
|
<div>
|
|
740
|
-
<div className="font-medium
|
|
741
|
-
|
|
772
|
+
<div className="text-fm-icon-active font-medium">
|
|
773
|
+
StarIcon
|
|
774
|
+
</div>
|
|
775
|
+
<div className="text-fm-tertiary text-xs">Premium</div>
|
|
742
776
|
</div>
|
|
743
777
|
</div>
|
|
744
|
-
<div className="!space-y-3 rounded-lg border
|
|
745
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
746
|
-
<span className="
|
|
778
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
779
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
780
|
+
<span className="text-fm-icon-active! !text-2xl">⚠️</span>
|
|
747
781
|
</div>
|
|
748
782
|
<div>
|
|
749
|
-
<div className="font-medium
|
|
750
|
-
|
|
783
|
+
<div className="text-fm-icon-active font-medium">
|
|
784
|
+
WarningIcon
|
|
785
|
+
</div>
|
|
786
|
+
<div className="text-fm-tertiary text-xs">
|
|
751
787
|
Security alert
|
|
752
788
|
</div>
|
|
753
789
|
</div>
|
|
@@ -757,14 +793,14 @@ function SecurityBadge() {
|
|
|
757
793
|
</div>
|
|
758
794
|
|
|
759
795
|
{/* Footer */}
|
|
760
|
-
<div className="border-
|
|
796
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
761
797
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
762
798
|
<div className="!space-y-4 text-center">
|
|
763
|
-
<p className="
|
|
799
|
+
<p className="text-fm-tertiary!">
|
|
764
800
|
ShieldIcon is part of the Aural UI icon library, built with
|
|
765
801
|
accessibility and security best practices in mind.
|
|
766
802
|
</p>
|
|
767
|
-
<p className="text-
|
|
803
|
+
<p className="text-fm-placeholder! text-sm">
|
|
768
804
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
769
805
|
compatibility and follow WCAG guidelines.
|
|
770
806
|
</p>
|
|
@@ -813,8 +849,8 @@ const storyParameters = {
|
|
|
813
849
|
backgrounds: {
|
|
814
850
|
default: "dark",
|
|
815
851
|
values: [
|
|
816
|
-
{ name: "dark", value: "
|
|
817
|
-
{ name: "darker", value: "
|
|
852
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
853
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
818
854
|
],
|
|
819
855
|
},
|
|
820
856
|
}
|
|
@@ -826,7 +862,7 @@ export const Default: Story = {
|
|
|
826
862
|
},
|
|
827
863
|
parameters: storyParameters,
|
|
828
864
|
render: (args) => (
|
|
829
|
-
<div className="flex h-32 min-h-dvh items-center justify-center rounded-lg bg-
|
|
865
|
+
<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">
|
|
830
866
|
<ShieldIcon {...args} />
|
|
831
867
|
</div>
|
|
832
868
|
),
|
|
@@ -843,30 +879,30 @@ export const SizeVariations: Story = {
|
|
|
843
879
|
},
|
|
844
880
|
},
|
|
845
881
|
render: () => (
|
|
846
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
882
|
+
<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">
|
|
847
883
|
<div className="text-center">
|
|
848
884
|
<ShieldIcon className="!mx-auto mb-2 h-3 w-3" />
|
|
849
|
-
<span className="text-
|
|
885
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
850
886
|
</div>
|
|
851
887
|
<div className="text-center">
|
|
852
888
|
<ShieldIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
853
|
-
<span className="text-
|
|
889
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
854
890
|
</div>
|
|
855
891
|
<div className="text-center">
|
|
856
892
|
<ShieldIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
857
|
-
<span className="text-
|
|
893
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
858
894
|
</div>
|
|
859
895
|
<div className="text-center">
|
|
860
896
|
<ShieldIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
861
|
-
<span className="text-
|
|
897
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
862
898
|
</div>
|
|
863
899
|
<div className="text-center">
|
|
864
900
|
<ShieldIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
865
|
-
<span className="text-
|
|
901
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
866
902
|
</div>
|
|
867
903
|
<div className="text-center">
|
|
868
904
|
<ShieldIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
869
|
-
<span className="text-
|
|
905
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
870
906
|
</div>
|
|
871
907
|
</div>
|
|
872
908
|
),
|
|
@@ -882,34 +918,38 @@ export const ColorVariations: Story = {
|
|
|
882
918
|
},
|
|
883
919
|
},
|
|
884
920
|
render: () => (
|
|
885
|
-
<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">
|
|
886
922
|
<div className="text-center">
|
|
887
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
923
|
+
<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">
|
|
888
924
|
<ShieldIcon className="h-8 w-8" />
|
|
889
925
|
</div>
|
|
890
|
-
<div className="text-sm font-medium
|
|
926
|
+
<div className="text-fm-icon-active text-sm font-medium">Primary</div>
|
|
891
927
|
<div className="text-xs">Default</div>
|
|
892
928
|
</div>
|
|
893
929
|
<div className="text-center">
|
|
894
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
895
|
-
<ShieldIcon 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
|
+
<ShieldIcon className="text-fm-secondary-600 h-8 w-8" />
|
|
932
|
+
</div>
|
|
933
|
+
<div className="text-fm-icon-active text-sm font-medium">Secondary</div>
|
|
934
|
+
<div className="text-fm-secondary-600 text-xs">
|
|
935
|
+
text-fm-secondary-600
|
|
896
936
|
</div>
|
|
897
|
-
<div className="text-sm font-medium text-white">Secondary</div>
|
|
898
|
-
<div className="text-xs text-violet-400">text-violet-400</div>
|
|
899
937
|
</div>
|
|
900
938
|
<div className="text-center">
|
|
901
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
902
|
-
<ShieldIcon className="h-8 w-8
|
|
939
|
+
<div className="border-fm-icon-positive/30 bg-fm-icon-positive/20 !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
940
|
+
<ShieldIcon className="text-fm-icon-positive h-8 w-8" />
|
|
941
|
+
</div>
|
|
942
|
+
<div className="text-fm-icon-active text-sm font-medium">Success</div>
|
|
943
|
+
<div className="text-fm-icon-positive text-xs">
|
|
944
|
+
text-fm-icon-positive
|
|
903
945
|
</div>
|
|
904
|
-
<div className="text-sm font-medium text-white">Success</div>
|
|
905
|
-
<div className="text-xs text-green-400">text-green-400</div>
|
|
906
946
|
</div>
|
|
907
947
|
<div className="text-center">
|
|
908
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
909
|
-
<ShieldIcon className="h-8 w-8
|
|
948
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border">
|
|
949
|
+
<ShieldIcon className="text-fm-placeholder h-8 w-8" />
|
|
910
950
|
</div>
|
|
911
|
-
<div className="text-sm font-medium
|
|
912
|
-
<div className="text-
|
|
951
|
+
<div className="text-fm-icon-active text-sm font-medium">Disabled</div>
|
|
952
|
+
<div className="text-fm-placeholder text-xs">text-fm-placeholder</div>
|
|
913
953
|
</div>
|
|
914
954
|
</div>
|
|
915
955
|
),
|
|
@@ -926,19 +966,23 @@ export const UsageExamples: Story = {
|
|
|
926
966
|
},
|
|
927
967
|
},
|
|
928
968
|
render: () => (
|
|
929
|
-
<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">
|
|
930
970
|
{/* Verified Badge */}
|
|
931
971
|
<div className="!space-y-2">
|
|
932
|
-
<h3 className="text-sm font-medium
|
|
933
|
-
|
|
972
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
973
|
+
Verified Badge
|
|
974
|
+
</h3>
|
|
975
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
934
976
|
<div className="mb-4 flex items-center gap-3">
|
|
935
|
-
<div className="h-12 w-12 rounded-full bg-
|
|
977
|
+
<div className="from-fm-secondary-500/20 to-fm-secondary-500/20 h-12 w-12 rounded-full bg-linear-to-br" />
|
|
936
978
|
<div>
|
|
937
979
|
<div className="flex items-center gap-2">
|
|
938
|
-
<div className="text-sm font-medium
|
|
939
|
-
|
|
980
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
981
|
+
John Doe
|
|
982
|
+
</div>
|
|
983
|
+
<ShieldIcon className="text-fm-icon-positive h-4 w-4" />
|
|
940
984
|
</div>
|
|
941
|
-
<div className="text-
|
|
985
|
+
<div className="text-fm-tertiary text-xs">Verified Account</div>
|
|
942
986
|
</div>
|
|
943
987
|
</div>
|
|
944
988
|
</div>
|
|
@@ -946,26 +990,28 @@ export const UsageExamples: Story = {
|
|
|
946
990
|
|
|
947
991
|
{/* Security Status */}
|
|
948
992
|
<div className="!space-y-2">
|
|
949
|
-
<h3 className="text-sm font-medium
|
|
950
|
-
|
|
993
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
994
|
+
Security Status
|
|
995
|
+
</h3>
|
|
996
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
951
997
|
<div className="!space-y-3">
|
|
952
998
|
<div className="flex items-center justify-between">
|
|
953
999
|
<div>
|
|
954
|
-
<div className="text-sm font-medium
|
|
1000
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
955
1001
|
Account Security
|
|
956
1002
|
</div>
|
|
957
|
-
<div className="text-
|
|
1003
|
+
<div className="text-fm-tertiary text-xs">Protected</div>
|
|
958
1004
|
</div>
|
|
959
|
-
<ShieldIcon className="h-5 w-5
|
|
1005
|
+
<ShieldIcon className="text-fm-icon-positive h-5 w-5" />
|
|
960
1006
|
</div>
|
|
961
1007
|
<div className="flex items-center justify-between">
|
|
962
1008
|
<div>
|
|
963
|
-
<div className="text-sm font-medium
|
|
1009
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
964
1010
|
Data Encryption
|
|
965
1011
|
</div>
|
|
966
|
-
<div className="text-
|
|
1012
|
+
<div className="text-fm-tertiary text-xs">Active</div>
|
|
967
1013
|
</div>
|
|
968
|
-
<ShieldIcon className="h-5 w-5
|
|
1014
|
+
<ShieldIcon className="text-fm-icon-positive h-5 w-5" />
|
|
969
1015
|
</div>
|
|
970
1016
|
</div>
|
|
971
1017
|
</div>
|
|
@@ -987,11 +1033,11 @@ export const Playground: Story = {
|
|
|
987
1033
|
args: {
|
|
988
1034
|
width: 24,
|
|
989
1035
|
height: 24,
|
|
990
|
-
className: "text-
|
|
1036
|
+
className: "text-fm-secondary-600",
|
|
991
1037
|
},
|
|
992
1038
|
render: (args) => (
|
|
993
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
994
|
-
<div className="rounded-lg border
|
|
1039
|
+
<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">
|
|
1040
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
995
1041
|
<ShieldIcon {...args} />
|
|
996
1042
|
</div>
|
|
997
1043
|
</div>
|