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 IndianFlagIcon> = {
|
|
|
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 IndianFlagIcon> = {
|
|
|
40
40
|
background: transparent !important;
|
|
41
41
|
}
|
|
42
42
|
body {
|
|
43
|
-
background:
|
|
43
|
+
background: var(--color-fm-surface-primary) !important;
|
|
44
44
|
}
|
|
45
45
|
#storybook-docs {
|
|
46
|
-
background:
|
|
46
|
+
background: var(--color-fm-surface-primary) !important;
|
|
47
47
|
}
|
|
48
48
|
.sbdocs-preview {
|
|
49
49
|
background: transparent !important;
|
|
50
50
|
border: none !important;
|
|
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) !important;
|
|
54
54
|
}
|
|
55
55
|
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color:
|
|
56
|
+
color: var(--color-fm-secondary) !important;
|
|
57
57
|
}
|
|
58
58
|
.sbdocs-code {
|
|
59
|
-
background:
|
|
60
|
-
color:
|
|
61
|
-
border: 1px solid
|
|
59
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
60
|
+
color: var(--color-fm-secondary-500) !important;
|
|
61
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
62
62
|
}
|
|
63
63
|
.sbdocs-pre {
|
|
64
|
-
background:
|
|
65
|
-
border: 1px solid
|
|
64
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
65
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
66
66
|
}
|
|
67
67
|
.sbdocs-table {
|
|
68
|
-
background:
|
|
69
|
-
border: 1px solid
|
|
68
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
69
|
+
border: 1px solid var(--color-fm-divider-secondary) !important;
|
|
70
70
|
}
|
|
71
71
|
.sbdocs-table th {
|
|
72
|
-
background:
|
|
73
|
-
color:
|
|
74
|
-
border-bottom: 1px solid
|
|
72
|
+
background: var(--color-fm-surface-secondary) !important;
|
|
73
|
+
color: var(--color-fm-icon-active) !important;
|
|
74
|
+
border-bottom: 1px solid var(--color-fm-divider-secondary) !important;
|
|
75
75
|
}
|
|
76
76
|
.sbdocs-table td {
|
|
77
|
-
color:
|
|
78
|
-
border-bottom: 1px solid
|
|
77
|
+
color: var(--color-fm-secondary) !important;
|
|
78
|
+
border-bottom: 1px solid var(--color-fm-divider-tertiary) !important;
|
|
79
79
|
}
|
|
80
80
|
`}
|
|
81
81
|
</style>
|
|
82
82
|
|
|
83
|
-
<div className="
|
|
83
|
+
<div className="from-fm-surface-primary via-fm-icon-warning/5 to-fm-surface-primary min-h-screen bg-linear-to-br">
|
|
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-warning/10 to-fm-icon-positive/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-icon-warning/30 from-fm-icon-warning/20 to-fm-icon-positive/20 !mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border bg-linear-to-br via-transparent">
|
|
90
90
|
<IndianFlagIcon className="h-12 w-12" />
|
|
91
91
|
</div>
|
|
92
92
|
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
93
|
IndianFlagIcon
|
|
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
|
The Indian national flag icon representing India's
|
|
97
97
|
sovereignty, cultural identity, and national pride. Built
|
|
98
98
|
with accessibility in mind using Radix UI's AccessibleIcon
|
|
@@ -102,28 +102,28 @@ const meta: Meta<typeof IndianFlagIcon> = {
|
|
|
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-warning 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-icon-active text-3xl font-bold">
|
|
115
115
|
Scalable
|
|
116
116
|
</div>
|
|
117
|
-
<div className="text-
|
|
117
|
+
<div className="text-fm-tertiary text-sm">
|
|
118
118
|
Any size needed
|
|
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-positive text-3xl font-bold">
|
|
124
124
|
Flexible
|
|
125
125
|
</div>
|
|
126
|
-
<div className="text-
|
|
126
|
+
<div className="text-fm-tertiary text-sm">
|
|
127
127
|
Customizable styling
|
|
128
128
|
</div>
|
|
129
129
|
</div>
|
|
@@ -136,16 +136,16 @@ const meta: Meta<typeof IndianFlagIcon> = {
|
|
|
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-warning! 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 { IndianFlagIcon } from "@icons/indian-flag-icon"
|
|
150
150
|
|
|
151
151
|
function CountrySelector() {
|
|
@@ -161,13 +161,13 @@ function CountrySelector() {
|
|
|
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-warning! 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
|
|
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-warning/20 bg-fm-icon-warning/10 flex items-center gap-3 rounded-lg border px-4 py-2">
|
|
169
169
|
<IndianFlagIcon className="h-6 w-6" />
|
|
170
|
-
<span className="text-
|
|
170
|
+
<span className="text-fm-icon-active">India</span>
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -176,94 +176,102 @@ function CountrySelector() {
|
|
|
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-warning! 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
|
+
15
|
|
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-warning! px-6 py-4 font-mono text-sm">
|
|
234
238
|
fill
|
|
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
|
Flag pattern
|
|
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
|
Uses embedded flag pattern
|
|
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-warning! px-6 py-4 font-mono text-sm">
|
|
248
252
|
className
|
|
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
|
string
|
|
252
256
|
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm
|
|
254
|
-
|
|
257
|
+
<td className="text-fm-placeholder! px-6 py-4 text-sm">
|
|
258
|
+
-
|
|
259
|
+
</td>
|
|
260
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
255
261
|
CSS classes for styling
|
|
256
262
|
</td>
|
|
257
263
|
</tr>
|
|
258
|
-
<tr className="
|
|
259
|
-
<td className="px-6 py-4 font-mono text-sm
|
|
264
|
+
<tr className="bg-fm-surface-secondary!">
|
|
265
|
+
<td className="text-fm-icon-warning! px-6 py-4 font-mono text-sm">
|
|
260
266
|
...svgProps
|
|
261
267
|
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm
|
|
268
|
+
<td className="text-fm-secondary! px-6 py-4 text-sm">
|
|
263
269
|
SVGProps
|
|
264
270
|
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm
|
|
266
|
-
|
|
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">
|
|
267
275
|
All standard SVG element props
|
|
268
276
|
</td>
|
|
269
277
|
</tr>
|
|
@@ -274,50 +282,62 @@ function CountrySelector() {
|
|
|
274
282
|
|
|
275
283
|
{/* Size Variations */}
|
|
276
284
|
<div className="!space-y-8">
|
|
277
|
-
<h2 className="text-center text-3xl font-bold
|
|
285
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
278
286
|
Size Variations
|
|
279
287
|
</h2>
|
|
280
|
-
<div className="rounded-lg border
|
|
288
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-8">
|
|
281
289
|
<div className="!space-y-6">
|
|
282
290
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
283
291
|
<div className="!space-y-4">
|
|
284
|
-
<h3 className="text-lg font-semibold
|
|
292
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
285
293
|
Standard Sizes
|
|
286
294
|
</h3>
|
|
287
|
-
<div className="flex items-end gap-6 rounded-lg
|
|
295
|
+
<div className="bg-fm-surface-secondary flex items-end gap-6 rounded-lg p-6">
|
|
288
296
|
<div className="text-center">
|
|
289
297
|
<IndianFlagIcon className="!mx-auto mb-2 h-3 w-3" />
|
|
290
|
-
<span className="text-
|
|
298
|
+
<span className="text-fm-tertiary text-xs">
|
|
299
|
+
12px
|
|
300
|
+
</span>
|
|
291
301
|
</div>
|
|
292
302
|
<div className="text-center">
|
|
293
303
|
<IndianFlagIcon className="!mx-auto mb-2 h-4 w-4" />
|
|
294
|
-
<span className="text-
|
|
304
|
+
<span className="text-fm-tertiary text-xs">
|
|
305
|
+
16px
|
|
306
|
+
</span>
|
|
295
307
|
</div>
|
|
296
308
|
<div className="text-center">
|
|
297
309
|
<IndianFlagIcon className="!mx-auto mb-2 h-5 w-5" />
|
|
298
|
-
<span className="text-
|
|
310
|
+
<span className="text-fm-tertiary text-xs">
|
|
311
|
+
20px
|
|
312
|
+
</span>
|
|
299
313
|
</div>
|
|
300
314
|
<div className="text-center">
|
|
301
315
|
<IndianFlagIcon className="!mx-auto mb-2 h-6 w-6" />
|
|
302
|
-
<span className="text-
|
|
316
|
+
<span className="text-fm-tertiary text-xs">
|
|
317
|
+
24px
|
|
318
|
+
</span>
|
|
303
319
|
</div>
|
|
304
320
|
<div className="text-center">
|
|
305
321
|
<IndianFlagIcon className="!mx-auto mb-2 h-8 w-8" />
|
|
306
|
-
<span className="text-
|
|
322
|
+
<span className="text-fm-tertiary text-xs">
|
|
323
|
+
32px
|
|
324
|
+
</span>
|
|
307
325
|
</div>
|
|
308
326
|
<div className="text-center">
|
|
309
327
|
<IndianFlagIcon className="!mx-auto mb-2 h-12 w-12" />
|
|
310
|
-
<span className="text-
|
|
328
|
+
<span className="text-fm-tertiary text-xs">
|
|
329
|
+
48px
|
|
330
|
+
</span>
|
|
311
331
|
</div>
|
|
312
332
|
</div>
|
|
313
333
|
</div>
|
|
314
334
|
|
|
315
335
|
<div className="!space-y-4">
|
|
316
|
-
<h3 className="text-lg font-semibold
|
|
336
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
317
337
|
Code Example
|
|
318
338
|
</h3>
|
|
319
|
-
<div className="rounded-lg
|
|
320
|
-
<pre className="overflow-x-auto text-sm
|
|
339
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
340
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
321
341
|
{`// Small (16px)
|
|
322
342
|
<IndianFlagIcon className="h-4 w-4" />
|
|
323
343
|
|
|
@@ -339,61 +359,61 @@ function CountrySelector() {
|
|
|
339
359
|
|
|
340
360
|
{/* Color Variations */}
|
|
341
361
|
<div className="!space-y-8">
|
|
342
|
-
<h2 className="text-center text-3xl font-bold
|
|
362
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
343
363
|
Color Variations
|
|
344
364
|
</h2>
|
|
345
365
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
346
366
|
<div className="!space-y-4">
|
|
347
|
-
<h3 className="text-lg font-semibold
|
|
367
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
348
368
|
Display Contexts
|
|
349
369
|
</h3>
|
|
350
|
-
<div className="!space-y-4 rounded-lg border
|
|
370
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
351
371
|
<div className="flex items-center gap-4">
|
|
352
372
|
<IndianFlagIcon className="h-6 w-6" />
|
|
353
373
|
<div>
|
|
354
|
-
<div className="text-sm font-medium
|
|
374
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
355
375
|
Original Colors
|
|
356
376
|
</div>
|
|
357
|
-
<div className="text-
|
|
377
|
+
<div className="text-fm-tertiary text-xs">
|
|
358
378
|
Default flag pattern
|
|
359
379
|
</div>
|
|
360
380
|
</div>
|
|
361
381
|
</div>
|
|
362
382
|
<div className="flex items-center gap-4">
|
|
363
|
-
<div className="
|
|
383
|
+
<div className="bg-fm-surface-contrast rounded p-1">
|
|
364
384
|
<IndianFlagIcon className="h-5 w-5" />
|
|
365
385
|
</div>
|
|
366
386
|
<div>
|
|
367
|
-
<div className="text-sm font-medium
|
|
387
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
368
388
|
On White Background
|
|
369
389
|
</div>
|
|
370
|
-
<div className="text-
|
|
390
|
+
<div className="text-fm-tertiary text-xs">
|
|
371
391
|
Optimal contrast
|
|
372
392
|
</div>
|
|
373
393
|
</div>
|
|
374
394
|
</div>
|
|
375
395
|
<div className="flex items-center gap-4">
|
|
376
|
-
<div className="
|
|
396
|
+
<div className="bg-fm-surface-secondary rounded p-1">
|
|
377
397
|
<IndianFlagIcon className="h-5 w-5" />
|
|
378
398
|
</div>
|
|
379
399
|
<div>
|
|
380
|
-
<div className="text-sm font-medium
|
|
400
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
381
401
|
On Light Background
|
|
382
402
|
</div>
|
|
383
|
-
<div className="text-
|
|
403
|
+
<div className="text-fm-tertiary text-xs">
|
|
384
404
|
Light gray surface
|
|
385
405
|
</div>
|
|
386
406
|
</div>
|
|
387
407
|
</div>
|
|
388
408
|
<div className="flex items-center gap-4">
|
|
389
|
-
<div className="
|
|
409
|
+
<div className="bg-fm-surface-secondary rounded p-1">
|
|
390
410
|
<IndianFlagIcon className="h-5 w-5" />
|
|
391
411
|
</div>
|
|
392
412
|
<div>
|
|
393
|
-
<div className="text-sm font-medium
|
|
413
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
394
414
|
On Dark Background
|
|
395
415
|
</div>
|
|
396
|
-
<div className="text-
|
|
416
|
+
<div className="text-fm-tertiary text-xs">
|
|
397
417
|
Dark surface
|
|
398
418
|
</div>
|
|
399
419
|
</div>
|
|
@@ -402,11 +422,11 @@ function CountrySelector() {
|
|
|
402
422
|
</div>
|
|
403
423
|
|
|
404
424
|
<div className="!space-y-4">
|
|
405
|
-
<h3 className="text-lg font-semibold
|
|
425
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
406
426
|
Implementation Notes
|
|
407
427
|
</h3>
|
|
408
|
-
<div className="rounded-lg
|
|
409
|
-
<pre className="overflow-x-auto text-sm
|
|
428
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
429
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
410
430
|
{`// Indian flag uses embedded pattern
|
|
411
431
|
// Orange (saffron), White, Green with Ashoka Chakra
|
|
412
432
|
|
|
@@ -432,29 +452,31 @@ function CountrySelector() {
|
|
|
432
452
|
|
|
433
453
|
{/* Usage Examples */}
|
|
434
454
|
<div className="!space-y-8">
|
|
435
|
-
<h2 className="text-center text-3xl font-bold
|
|
455
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
436
456
|
Usage Examples
|
|
437
457
|
</h2>
|
|
438
458
|
|
|
439
459
|
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
440
460
|
{/* Country Selector */}
|
|
441
461
|
<div className="!space-y-4">
|
|
442
|
-
<h3 className="text-lg font-semibold
|
|
462
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
443
463
|
Country Selector
|
|
444
464
|
</h3>
|
|
445
465
|
<div className="!space-y-4">
|
|
446
466
|
<div className="flex gap-4">
|
|
447
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
467
|
+
<button className="border-fm-icon-warning/20 bg-fm-icon-warning/10 text-fm-icon-active hover:bg-fm-icon-warning/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
448
468
|
<IndianFlagIcon className="h-5 w-5" />
|
|
449
469
|
India
|
|
450
470
|
</button>
|
|
451
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
471
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-3 py-2">
|
|
452
472
|
<IndianFlagIcon className="h-4 w-4" />
|
|
453
|
-
<span className="text-
|
|
473
|
+
<span className="text-fm-icon-active text-sm">
|
|
474
|
+
IN
|
|
475
|
+
</span>
|
|
454
476
|
</div>
|
|
455
477
|
</div>
|
|
456
|
-
<div className="rounded-lg
|
|
457
|
-
<pre className="overflow-x-auto text-sm
|
|
478
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
479
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
458
480
|
{`// Country selection button
|
|
459
481
|
<button className="flex items-center gap-3 border border-orange-500/20 bg-orange-500/10 px-4 py-2 rounded-lg">
|
|
460
482
|
<IndianFlagIcon className="h-5 w-5" />
|
|
@@ -473,35 +495,35 @@ function CountrySelector() {
|
|
|
473
495
|
|
|
474
496
|
{/* Location Display */}
|
|
475
497
|
<div className="!space-y-4">
|
|
476
|
-
<h3 className="text-lg font-semibold
|
|
498
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
477
499
|
Location Display
|
|
478
500
|
</h3>
|
|
479
501
|
<div className="!space-y-4">
|
|
480
|
-
<div className="rounded-lg border
|
|
502
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
481
503
|
<div className="flex items-center justify-between">
|
|
482
504
|
<div className="flex items-center gap-4">
|
|
483
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
505
|
+
<div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
|
|
484
506
|
<IndianFlagIcon className="h-6 w-6" />
|
|
485
507
|
</div>
|
|
486
508
|
<div>
|
|
487
|
-
<div className="font-medium
|
|
509
|
+
<div className="text-fm-icon-active font-medium">
|
|
488
510
|
Mumbai, India
|
|
489
511
|
</div>
|
|
490
|
-
<div className="text-
|
|
512
|
+
<div className="text-fm-tertiary text-sm">
|
|
491
513
|
Maharashtra, IN
|
|
492
514
|
</div>
|
|
493
515
|
</div>
|
|
494
516
|
</div>
|
|
495
517
|
<div className="text-right">
|
|
496
|
-
<div className="text-sm font-medium
|
|
518
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
497
519
|
UTC +5:30
|
|
498
520
|
</div>
|
|
499
|
-
<div className="text-
|
|
521
|
+
<div className="text-fm-tertiary text-xs">IST</div>
|
|
500
522
|
</div>
|
|
501
523
|
</div>
|
|
502
524
|
</div>
|
|
503
|
-
<div className="rounded-lg
|
|
504
|
-
<pre className="overflow-x-auto text-sm
|
|
525
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
526
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
505
527
|
{`<div className="flex items-center justify-between">
|
|
506
528
|
<div className="flex items-center gap-4">
|
|
507
529
|
<div className="flex h-10 w-10 items-center justify-center rounded-lg bg-orange-500/20">
|
|
@@ -524,35 +546,39 @@ function CountrySelector() {
|
|
|
524
546
|
|
|
525
547
|
{/* Language Selector */}
|
|
526
548
|
<div className="!space-y-4">
|
|
527
|
-
<h3 className="text-lg font-semibold
|
|
549
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
528
550
|
Language Selector
|
|
529
551
|
</h3>
|
|
530
552
|
<div className="!space-y-4">
|
|
531
|
-
<div className="rounded-lg border
|
|
553
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
532
554
|
<div className="space-y-3">
|
|
533
|
-
<div className="flex items-center gap-3 rounded-lg
|
|
555
|
+
<div className="bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-3">
|
|
534
556
|
<IndianFlagIcon className="h-5 w-5" />
|
|
535
557
|
<div className="flex-1">
|
|
536
|
-
<div className="text-sm font-medium
|
|
558
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
537
559
|
हिन्दी (Hindi)
|
|
538
560
|
</div>
|
|
539
|
-
<div className="text-
|
|
561
|
+
<div className="text-fm-tertiary text-xs">
|
|
562
|
+
India
|
|
563
|
+
</div>
|
|
540
564
|
</div>
|
|
541
|
-
<div className="h-2 w-2 rounded-full
|
|
565
|
+
<div className="bg-fm-icon-warning h-2 w-2 rounded-full"></div>
|
|
542
566
|
</div>
|
|
543
|
-
<div className="flex items-center gap-3 rounded-lg p-3
|
|
567
|
+
<div className="hover:bg-fm-surface-secondary flex items-center gap-3 rounded-lg p-3">
|
|
544
568
|
<IndianFlagIcon className="h-5 w-5" />
|
|
545
569
|
<div className="flex-1">
|
|
546
|
-
<div className="text-sm font-medium
|
|
570
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
547
571
|
English (India)
|
|
548
572
|
</div>
|
|
549
|
-
<div className="text-
|
|
573
|
+
<div className="text-fm-tertiary text-xs">
|
|
574
|
+
India
|
|
575
|
+
</div>
|
|
550
576
|
</div>
|
|
551
577
|
</div>
|
|
552
578
|
</div>
|
|
553
579
|
</div>
|
|
554
|
-
<div className="rounded-lg
|
|
555
|
-
<pre className="overflow-x-auto text-sm
|
|
580
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
581
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
556
582
|
{`<div className="flex items-center gap-3 rounded-lg bg-white/5 p-3">
|
|
557
583
|
<IndianFlagIcon className="h-5 w-5" />
|
|
558
584
|
<div className="flex-1">
|
|
@@ -568,29 +594,29 @@ function CountrySelector() {
|
|
|
568
594
|
|
|
569
595
|
{/* User Profile */}
|
|
570
596
|
<div className="!space-y-4">
|
|
571
|
-
<h3 className="text-lg font-semibold
|
|
597
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
572
598
|
User Profile
|
|
573
599
|
</h3>
|
|
574
600
|
<div className="!space-y-4">
|
|
575
|
-
<div className="rounded-lg border
|
|
601
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
576
602
|
<div className="text-center">
|
|
577
|
-
<div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-
|
|
603
|
+
<div className="from-fm-icon-warning/20 to-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-linear-to-br">
|
|
578
604
|
<span className="text-2xl">👤</span>
|
|
579
605
|
</div>
|
|
580
|
-
<h4 className="mb-2 font-medium
|
|
606
|
+
<h4 className="text-fm-icon-active! mb-2 font-medium">
|
|
581
607
|
Arjun Patel
|
|
582
608
|
</h4>
|
|
583
|
-
<div className="flex items-center justify-center gap-2 text-sm
|
|
609
|
+
<div className="text-fm-secondary! flex items-center justify-center gap-2 text-sm">
|
|
584
610
|
<IndianFlagIcon className="h-4 w-4" />
|
|
585
611
|
<span>Delhi, India</span>
|
|
586
612
|
</div>
|
|
587
|
-
<button className="mt-4 rounded-lg
|
|
613
|
+
<button className="bg-fm-icon-warning text-fm-icon-active hover:bg-fm-icon-warning mt-4 rounded-lg px-4 py-2 text-sm transition-colors">
|
|
588
614
|
View Profile
|
|
589
615
|
</button>
|
|
590
616
|
</div>
|
|
591
617
|
</div>
|
|
592
|
-
<div className="rounded-lg
|
|
593
|
-
<pre className="overflow-x-auto text-sm
|
|
618
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
619
|
+
<pre className="text-fm-icon-positive! overflow-x-auto text-sm">
|
|
594
620
|
{`<div className="text-center">
|
|
595
621
|
<div className="mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gradient-to-br from-orange-500/20 to-green-500/20">
|
|
596
622
|
<span className="text-2xl">👤</span>
|
|
@@ -613,64 +639,64 @@ function CountrySelector() {
|
|
|
613
639
|
|
|
614
640
|
{/* Accessibility */}
|
|
615
641
|
<div className="!space-y-8">
|
|
616
|
-
<h2 className="text-center text-3xl font-bold
|
|
642
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
617
643
|
Accessibility Features
|
|
618
644
|
</h2>
|
|
619
645
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
620
|
-
<div className="!space-y-4 rounded-lg border
|
|
621
|
-
<h3 className="text-lg font-semibold
|
|
646
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
647
|
+
<h3 className="text-fm-icon-positive! text-lg font-semibold">
|
|
622
648
|
✅ Built-in Features
|
|
623
649
|
</h3>
|
|
624
|
-
<ul className="!space-y-2 text-sm
|
|
625
|
-
<li className="
|
|
650
|
+
<ul className="text-fm-secondary! !space-y-2 text-sm">
|
|
651
|
+
<li className="text-fm-secondary!">
|
|
626
652
|
Uses Radix UI AccessibleIcon wrapper
|
|
627
653
|
</li>
|
|
628
|
-
<li className="
|
|
654
|
+
<li className="text-fm-secondary!">
|
|
629
655
|
Provides screen reader label "Indian Flag icon"
|
|
630
656
|
</li>
|
|
631
|
-
<li className="
|
|
657
|
+
<li className="text-fm-secondary!">
|
|
632
658
|
Supports keyboard navigation when interactive
|
|
633
659
|
</li>
|
|
634
|
-
<li className="
|
|
660
|
+
<li className="text-fm-secondary!">
|
|
635
661
|
Maintains proper color contrast ratios
|
|
636
662
|
</li>
|
|
637
|
-
<li className="
|
|
663
|
+
<li className="text-fm-secondary!">
|
|
638
664
|
Scales with user's font size preferences
|
|
639
665
|
</li>
|
|
640
666
|
</ul>
|
|
641
667
|
</div>
|
|
642
668
|
|
|
643
|
-
<div className="!space-y-4 rounded-lg border
|
|
644
|
-
<h3 className="text-lg font-semibold
|
|
669
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-4 rounded-lg border p-6">
|
|
670
|
+
<h3 className="text-fm-icon-warning! text-lg font-semibold">
|
|
645
671
|
💡 Best Practices
|
|
646
672
|
</h3>
|
|
647
|
-
<ul className="!space-y-2 text-sm
|
|
648
|
-
<li className="
|
|
673
|
+
<ul className="text-fm-secondary !space-y-2 text-sm">
|
|
674
|
+
<li className="text-fm-secondary!">
|
|
649
675
|
Always pair with descriptive text for context
|
|
650
676
|
</li>
|
|
651
|
-
<li className="
|
|
677
|
+
<li className="text-fm-secondary!">
|
|
652
678
|
Use light backgrounds for optimal visibility
|
|
653
679
|
</li>
|
|
654
|
-
<li className="
|
|
680
|
+
<li className="text-fm-secondary!">
|
|
655
681
|
Ensure sufficient spacing around the flag
|
|
656
682
|
</li>
|
|
657
|
-
<li className="
|
|
683
|
+
<li className="text-fm-secondary!">
|
|
658
684
|
Add focus states for interactive elements
|
|
659
685
|
</li>
|
|
660
|
-
<li className="
|
|
686
|
+
<li className="text-fm-secondary!">
|
|
661
687
|
Respect flag usage guidelines and cultural sensitivity
|
|
662
688
|
</li>
|
|
663
689
|
</ul>
|
|
664
690
|
</div>
|
|
665
691
|
</div>
|
|
666
692
|
|
|
667
|
-
<div className="rounded-lg border
|
|
668
|
-
<h3 className="mb-4 text-lg font-semibold
|
|
693
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
694
|
+
<h3 className="text-fm-secondary-600! mb-4 text-lg font-semibold">
|
|
669
695
|
Custom Accessibility Label
|
|
670
696
|
</h3>
|
|
671
697
|
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
672
|
-
<div className="rounded-lg
|
|
673
|
-
<pre className="overflow-x-auto text-sm
|
|
698
|
+
<div className="bg-fm-surface-secondary rounded-lg p-4">
|
|
699
|
+
<pre className="text-fm-icon-info! overflow-x-auto text-sm">
|
|
674
700
|
{`// Custom implementation with specific label
|
|
675
701
|
import { AccessibleIcon } from "@radix-ui/react-accessible-icon"
|
|
676
702
|
|
|
@@ -690,14 +716,14 @@ function CustomIndianFlagIcon({ label = "India", ...props }) {
|
|
|
690
716
|
</pre>
|
|
691
717
|
</div>
|
|
692
718
|
<div className="!space-y-4">
|
|
693
|
-
<p className="text-
|
|
719
|
+
<p className="text-fm-secondary! text-sm">
|
|
694
720
|
For specific contexts, you can wrap the IndianFlagIcon
|
|
695
721
|
with a custom AccessibleIcon component that provides
|
|
696
722
|
more descriptive labels for country selection or
|
|
697
723
|
geographic identification.
|
|
698
724
|
</p>
|
|
699
|
-
<div className="
|
|
700
|
-
<div className="flex items-center gap-2 text-sm
|
|
725
|
+
<div className="border-fm-icon-warning/20 bg-fm-icon-warning/10 rounded-lg border p-4">
|
|
726
|
+
<div className="text-fm-icon-warning flex items-center gap-2 text-sm">
|
|
701
727
|
<IndianFlagIcon className="h-4 w-4" />
|
|
702
728
|
<span>
|
|
703
729
|
This approach gives screen readers more context
|
|
@@ -711,50 +737,58 @@ function CustomIndianFlagIcon({ label = "India", ...props }) {
|
|
|
711
737
|
|
|
712
738
|
{/* Related Icons */}
|
|
713
739
|
<div className="!space-y-8">
|
|
714
|
-
<h2 className="text-center text-3xl font-bold
|
|
740
|
+
<h2 className="text-fm-icon-active! text-center text-3xl font-bold">
|
|
715
741
|
Related Icons
|
|
716
742
|
</h2>
|
|
717
743
|
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
718
|
-
<div className="!space-y-3 rounded-lg border
|
|
719
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
744
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
745
|
+
<div className="bg-fm-icon-info/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
720
746
|
<span className="text-2xl">🌍</span>
|
|
721
747
|
</div>
|
|
722
748
|
<div>
|
|
723
|
-
<div className="font-medium
|
|
724
|
-
|
|
749
|
+
<div className="text-fm-icon-active font-medium">
|
|
750
|
+
GlobeIcon
|
|
751
|
+
</div>
|
|
752
|
+
<div className="text-fm-tertiary text-xs">
|
|
725
753
|
Global locations
|
|
726
754
|
</div>
|
|
727
755
|
</div>
|
|
728
756
|
</div>
|
|
729
|
-
<div className="!space-y-3 rounded-lg border
|
|
730
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
757
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
758
|
+
<div className="bg-fm-icon-positive/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
731
759
|
<span className="text-2xl">📍</span>
|
|
732
760
|
</div>
|
|
733
761
|
<div>
|
|
734
|
-
<div className="font-medium
|
|
735
|
-
|
|
762
|
+
<div className="text-fm-icon-active font-medium">
|
|
763
|
+
LocationIcon
|
|
764
|
+
</div>
|
|
765
|
+
<div className="text-fm-tertiary text-xs">
|
|
736
766
|
Geographic pins
|
|
737
767
|
</div>
|
|
738
768
|
</div>
|
|
739
769
|
</div>
|
|
740
|
-
<div className="!space-y-3 rounded-lg border
|
|
741
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
770
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
771
|
+
<div className="bg-fm-secondary-500/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
742
772
|
<span className="text-2xl">🗺️</span>
|
|
743
773
|
</div>
|
|
744
774
|
<div>
|
|
745
|
-
<div className="font-medium
|
|
746
|
-
|
|
775
|
+
<div className="text-fm-icon-active font-medium">
|
|
776
|
+
MapIcon
|
|
777
|
+
</div>
|
|
778
|
+
<div className="text-fm-tertiary text-xs">
|
|
747
779
|
Maps and navigation
|
|
748
780
|
</div>
|
|
749
781
|
</div>
|
|
750
782
|
</div>
|
|
751
|
-
<div className="!space-y-3 rounded-lg border
|
|
752
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg
|
|
783
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary !space-y-3 rounded-lg border p-4 text-center">
|
|
784
|
+
<div className="bg-fm-icon-warning/20 !mx-auto flex h-12 w-12 items-center justify-center rounded-lg">
|
|
753
785
|
<span className="text-2xl">🌐</span>
|
|
754
786
|
</div>
|
|
755
787
|
<div>
|
|
756
|
-
<div className="font-medium
|
|
757
|
-
|
|
788
|
+
<div className="text-fm-icon-active font-medium">
|
|
789
|
+
LanguageIcon
|
|
790
|
+
</div>
|
|
791
|
+
<div className="text-fm-tertiary text-xs">
|
|
758
792
|
Language selection
|
|
759
793
|
</div>
|
|
760
794
|
</div>
|
|
@@ -764,14 +798,14 @@ function CustomIndianFlagIcon({ label = "India", ...props }) {
|
|
|
764
798
|
</div>
|
|
765
799
|
|
|
766
800
|
{/* Footer */}
|
|
767
|
-
<div className="border-
|
|
801
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary border-t backdrop-blur-xl">
|
|
768
802
|
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
769
803
|
<div className="!space-y-4 text-center">
|
|
770
|
-
<p className="
|
|
804
|
+
<p className="text-fm-tertiary!">
|
|
771
805
|
IndianFlagIcon is part of the Aural UI icon library, built
|
|
772
806
|
with accessibility and cultural respect in mind.
|
|
773
807
|
</p>
|
|
774
|
-
<p className="text-
|
|
808
|
+
<p className="text-fm-placeholder! text-sm">
|
|
775
809
|
All icons use Radix UI's AccessibleIcon for screen reader
|
|
776
810
|
compatibility and follow WCAG guidelines.
|
|
777
811
|
</p>
|
|
@@ -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
|
}
|
|
@@ -827,8 +861,8 @@ export const Default: Story = {
|
|
|
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-
|
|
831
|
-
<div className="rounded-lg border
|
|
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">
|
|
865
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-4">
|
|
832
866
|
<IndianFlagIcon {...args} />
|
|
833
867
|
</div>
|
|
834
868
|
</div>
|
|
@@ -846,42 +880,42 @@ export const SizeVariations: Story = {
|
|
|
846
880
|
},
|
|
847
881
|
},
|
|
848
882
|
render: () => (
|
|
849
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-
|
|
883
|
+
<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">
|
|
850
884
|
<div className="text-center">
|
|
851
|
-
<div className="!mx-auto mb-2 rounded
|
|
885
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
852
886
|
<IndianFlagIcon className="h-3 w-3" />
|
|
853
887
|
</div>
|
|
854
|
-
<span className="text-
|
|
888
|
+
<span className="text-fm-tertiary text-xs">12px</span>
|
|
855
889
|
</div>
|
|
856
890
|
<div className="text-center">
|
|
857
|
-
<div className="!mx-auto mb-2 rounded
|
|
891
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
858
892
|
<IndianFlagIcon className="h-4 w-4" />
|
|
859
893
|
</div>
|
|
860
|
-
<span className="text-
|
|
894
|
+
<span className="text-fm-tertiary text-xs">16px</span>
|
|
861
895
|
</div>
|
|
862
896
|
<div className="text-center">
|
|
863
|
-
<div className="!mx-auto mb-2 rounded
|
|
897
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
864
898
|
<IndianFlagIcon className="h-5 w-5" />
|
|
865
899
|
</div>
|
|
866
|
-
<span className="text-
|
|
900
|
+
<span className="text-fm-tertiary text-xs">20px</span>
|
|
867
901
|
</div>
|
|
868
902
|
<div className="text-center">
|
|
869
|
-
<div className="!mx-auto mb-2 rounded
|
|
903
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
870
904
|
<IndianFlagIcon className="h-6 w-6" />
|
|
871
905
|
</div>
|
|
872
|
-
<span className="text-
|
|
906
|
+
<span className="text-fm-tertiary text-xs">24px</span>
|
|
873
907
|
</div>
|
|
874
908
|
<div className="text-center">
|
|
875
|
-
<div className="!mx-auto mb-2 rounded
|
|
909
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-2">
|
|
876
910
|
<IndianFlagIcon className="h-8 w-8" />
|
|
877
911
|
</div>
|
|
878
|
-
<span className="text-
|
|
912
|
+
<span className="text-fm-tertiary text-xs">32px</span>
|
|
879
913
|
</div>
|
|
880
914
|
<div className="text-center">
|
|
881
|
-
<div className="!mx-auto mb-2 rounded
|
|
915
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-2 rounded p-3">
|
|
882
916
|
<IndianFlagIcon className="h-12 w-12" />
|
|
883
917
|
</div>
|
|
884
|
-
<span className="text-
|
|
918
|
+
<span className="text-fm-tertiary text-xs">48px</span>
|
|
885
919
|
</div>
|
|
886
920
|
</div>
|
|
887
921
|
),
|
|
@@ -898,34 +932,42 @@ export const ColorVariations: Story = {
|
|
|
898
932
|
},
|
|
899
933
|
},
|
|
900
934
|
render: () => (
|
|
901
|
-
<div className="grid min-h-dvh grid-cols-2 items-center justify-center gap-6 rounded-lg bg-
|
|
935
|
+
<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">
|
|
902
936
|
<div className="text-center">
|
|
903
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
937
|
+
<div className="bg-fm-surface-contrast !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
904
938
|
<IndianFlagIcon className="h-10 w-10" />
|
|
905
939
|
</div>
|
|
906
|
-
<div className="text-sm font-medium
|
|
907
|
-
|
|
940
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
941
|
+
White Background
|
|
942
|
+
</div>
|
|
943
|
+
<div className="text-fm-tertiary text-xs">Recommended</div>
|
|
908
944
|
</div>
|
|
909
945
|
<div className="text-center">
|
|
910
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
946
|
+
<div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
911
947
|
<IndianFlagIcon className="h-10 w-10" />
|
|
912
948
|
</div>
|
|
913
|
-
<div className="text-sm font-medium
|
|
914
|
-
|
|
949
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
950
|
+
Light Background
|
|
951
|
+
</div>
|
|
952
|
+
<div className="text-fm-placeholder text-xs">Good contrast</div>
|
|
915
953
|
</div>
|
|
916
954
|
<div className="text-center">
|
|
917
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg
|
|
955
|
+
<div className="bg-fm-surface-secondary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg">
|
|
918
956
|
<IndianFlagIcon className="h-10 w-10" />
|
|
919
957
|
</div>
|
|
920
|
-
<div className="text-sm font-medium
|
|
921
|
-
|
|
958
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
959
|
+
Dark Background
|
|
960
|
+
</div>
|
|
961
|
+
<div className="text-fm-placeholder text-xs">Acceptable</div>
|
|
922
962
|
</div>
|
|
923
963
|
<div className="text-center">
|
|
924
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border
|
|
964
|
+
<div className="border-fm-divider-primary !mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border bg-transparent">
|
|
925
965
|
<IndianFlagIcon className="h-10 w-10" />
|
|
926
966
|
</div>
|
|
927
|
-
<div className="text-sm font-medium
|
|
928
|
-
|
|
967
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
968
|
+
Transparent
|
|
969
|
+
</div>
|
|
970
|
+
<div className="text-fm-tertiary text-xs">Original colors</div>
|
|
929
971
|
</div>
|
|
930
972
|
</div>
|
|
931
973
|
),
|
|
@@ -942,39 +984,47 @@ export const UsageExamples: Story = {
|
|
|
942
984
|
},
|
|
943
985
|
},
|
|
944
986
|
render: () => (
|
|
945
|
-
<div className="min-h-dvh !space-y-8 rounded-lg bg-
|
|
987
|
+
<div className="from-fm-surface-primary to-fm-surface-secondary min-h-dvh !space-y-8 rounded-lg bg-linear-to-br p-8">
|
|
946
988
|
{/* Country Selector */}
|
|
947
989
|
<div className="!space-y-2">
|
|
948
|
-
<h3 className="text-sm font-medium
|
|
990
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
991
|
+
Country Selector
|
|
992
|
+
</h3>
|
|
949
993
|
<div className="flex gap-4">
|
|
950
|
-
<button className="flex items-center gap-3 rounded-lg border
|
|
994
|
+
<button className="border-fm-icon-warning/20 bg-fm-icon-warning/10 text-fm-icon-active hover:bg-fm-icon-warning/20 flex items-center gap-3 rounded-lg border px-4 py-2 transition-colors">
|
|
951
995
|
<IndianFlagIcon className="h-5 w-5" />
|
|
952
996
|
India
|
|
953
997
|
</button>
|
|
954
|
-
<div className="flex items-center gap-2 rounded-lg border
|
|
998
|
+
<div className="border-fm-divider-primary bg-fm-surface-secondary flex items-center gap-2 rounded-lg border px-3 py-2">
|
|
955
999
|
<IndianFlagIcon className="h-4 w-4" />
|
|
956
|
-
<span className="text-
|
|
1000
|
+
<span className="text-fm-icon-active text-sm">IN</span>
|
|
957
1001
|
</div>
|
|
958
1002
|
</div>
|
|
959
1003
|
</div>
|
|
960
1004
|
|
|
961
1005
|
{/* Location Display */}
|
|
962
1006
|
<div className="!space-y-2">
|
|
963
|
-
<h3 className="text-sm font-medium
|
|
964
|
-
|
|
1007
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1008
|
+
Location Display
|
|
1009
|
+
</h3>
|
|
1010
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
965
1011
|
<div className="flex items-center justify-between">
|
|
966
1012
|
<div className="flex items-center gap-4">
|
|
967
|
-
<div className="flex h-10 w-10 items-center justify-center rounded-lg
|
|
1013
|
+
<div className="bg-fm-icon-warning/20 flex h-10 w-10 items-center justify-center rounded-lg">
|
|
968
1014
|
<IndianFlagIcon className="h-6 w-6" />
|
|
969
1015
|
</div>
|
|
970
1016
|
<div>
|
|
971
|
-
<div className="font-medium
|
|
972
|
-
|
|
1017
|
+
<div className="text-fm-icon-active font-medium">
|
|
1018
|
+
Mumbai, India
|
|
1019
|
+
</div>
|
|
1020
|
+
<div className="text-fm-tertiary text-sm">Maharashtra, IN</div>
|
|
973
1021
|
</div>
|
|
974
1022
|
</div>
|
|
975
1023
|
<div className="text-right">
|
|
976
|
-
<div className="text-sm font-medium
|
|
977
|
-
|
|
1024
|
+
<div className="text-fm-icon-active text-sm font-medium">
|
|
1025
|
+
UTC +5:30
|
|
1026
|
+
</div>
|
|
1027
|
+
<div className="text-fm-tertiary text-xs">IST</div>
|
|
978
1028
|
</div>
|
|
979
1029
|
</div>
|
|
980
1030
|
</div>
|
|
@@ -982,18 +1032,22 @@ export const UsageExamples: Story = {
|
|
|
982
1032
|
|
|
983
1033
|
{/* User Profile */}
|
|
984
1034
|
<div className="!space-y-2">
|
|
985
|
-
<h3 className="text-sm font-medium
|
|
986
|
-
|
|
1035
|
+
<h3 className="text-fm-icon-active text-sm font-medium">
|
|
1036
|
+
User Profile
|
|
1037
|
+
</h3>
|
|
1038
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary rounded-lg border p-6">
|
|
987
1039
|
<div className="text-center">
|
|
988
|
-
<div className="!mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-
|
|
1040
|
+
<div className="from-fm-icon-warning/20 to-fm-icon-positive/20 !mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-linear-to-br">
|
|
989
1041
|
<span className="text-2xl">👤</span>
|
|
990
1042
|
</div>
|
|
991
|
-
<h4 className="mb-2 font-medium
|
|
992
|
-
|
|
1043
|
+
<h4 className="text-fm-icon-active mb-2 font-medium">
|
|
1044
|
+
Arjun Patel
|
|
1045
|
+
</h4>
|
|
1046
|
+
<div className="text-fm-secondary flex items-center justify-center gap-2 text-sm">
|
|
993
1047
|
<IndianFlagIcon className="h-4 w-4" />
|
|
994
1048
|
<span>Delhi, India</span>
|
|
995
1049
|
</div>
|
|
996
|
-
<button className="mt-4 rounded-lg
|
|
1050
|
+
<button className="bg-fm-icon-warning text-fm-icon-active hover:bg-fm-icon-warning mt-4 rounded-lg px-4 py-2 text-sm transition-colors">
|
|
997
1051
|
View Profile
|
|
998
1052
|
</button>
|
|
999
1053
|
</div>
|
|
@@ -1019,8 +1073,8 @@ export const Playground: Story = {
|
|
|
1019
1073
|
className: "",
|
|
1020
1074
|
},
|
|
1021
1075
|
render: (args) => (
|
|
1022
|
-
<div className="flex h-64 min-h-dvh items-center justify-center rounded-lg bg-
|
|
1023
|
-
<div className="rounded-lg border
|
|
1076
|
+
<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">
|
|
1077
|
+
<div className="border-fm-divider-secondary bg-fm-surface-contrast rounded-lg border p-8">
|
|
1024
1078
|
<IndianFlagIcon {...args} />
|
|
1025
1079
|
</div>
|
|
1026
1080
|
</div>
|