aural-ui 3.0.7 → 4.1.0
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 +290 -1199
- package/dist/components/avatar/Avatar.stories.tsx +235 -237
- package/dist/components/badge/Badge.stories.tsx +379 -116
- package/dist/components/banner/Banner.stories.tsx +445 -391
- package/dist/components/breadcrumb/Breadcrumb.stories.tsx +453 -199
- package/dist/components/button/Button.stories.tsx +585 -230
- package/dist/components/button/index.tsx +7 -7
- package/dist/components/card/Card.stories.tsx +619 -301
- package/dist/components/char-count/CharCount.stories.tsx +350 -248
- package/dist/components/checkbox/Checkbox.stories.tsx +309 -167
- package/dist/components/chip/Chip.stories.tsx +362 -168
- package/dist/components/circular-loader/CircularLoader.stories.tsx +221 -620
- package/dist/components/clamp-lines/ClampLines.stories.tsx +246 -117
- package/dist/components/collapsible/Collapsible.stories.tsx +391 -252
- package/dist/components/command/Command.stories.tsx +533 -856
- package/dist/components/dialog/Dialog.stories.tsx +505 -949
- package/dist/components/divider/Divider.stories.tsx +265 -502
- package/dist/components/dot-loader/DotLoader.stories.tsx +256 -257
- package/dist/components/drawer/Drawer.stories.tsx +659 -993
- package/dist/components/drawer/index.tsx +3 -3
- package/dist/components/dropdown/Dropdown.stories.tsx +643 -1018
- package/dist/components/form/Form.stories.tsx +560 -274
- package/dist/components/helper-text/HelperText.stories.tsx +199 -200
- package/dist/components/hover-card/HoverCard.stories.tsx +318 -1221
- package/dist/components/icon-button/IconButton.stories.tsx +837 -194
- package/dist/components/if-else/if-else.stories.tsx +370 -83
- package/dist/components/input/Input.stories.tsx +436 -368
- package/dist/components/label/Label.stories.tsx +156 -154
- package/dist/components/list/List.stories.tsx +485 -822
- package/dist/components/marquee/Marquee.stories.tsx +356 -694
- package/dist/components/otp-inputs/OtpInputs.stories.tsx +352 -410
- package/dist/components/overlay/Overlay.stories.tsx +452 -818
- package/dist/components/overlay/index.tsx +4 -4
- package/dist/components/pagination/Pagination.stories.tsx +721 -210
- package/dist/components/popover/Popover.stories.tsx +484 -873
- package/dist/components/radio/Radio.stories.tsx +432 -124
- package/dist/components/resizable/Resizable.stories.tsx +496 -752
- package/dist/components/scroll-area/ScrollArea.stories.tsx +384 -1006
- package/dist/components/search/Search.stories.tsx +314 -575
- package/dist/components/select/Select.stories.tsx +684 -787
- package/dist/components/sheet/Sheet.stories.tsx +671 -936
- package/dist/components/skelton/Skelton.stories.tsx +230 -764
- package/dist/components/slider/Slider.stories.tsx +384 -737
- package/dist/components/stepper/Stepper.stories.tsx +371 -514
- package/dist/components/switch/Switch.stories.tsx +461 -208
- package/dist/components/switch-case/SwitchCase.stories.tsx +367 -188
- package/dist/components/table/Table.stories.tsx +770 -914
- package/dist/components/tabs/Tabs.stories.tsx +459 -1400
- package/dist/components/tag/Tag.stories.tsx +714 -542
- package/dist/components/textarea/TextArea.stories.tsx +621 -562
- package/dist/components/thumbnail-tags/ThumbnailTags.stories.tsx +228 -148
- package/dist/components/toast/Toast.stories.tsx +452 -1333
- package/dist/components/toggle/Toggle.stories.tsx +488 -909
- package/dist/components/tooltip/Tooltip.stories.tsx +344 -1372
- package/dist/components/typography/Typography.stories.tsx +406 -89
- package/dist/hooks/use-change-state/UseChangeState.stories.tsx +309 -606
- package/dist/hooks/use-previous/UsePrevious.stories.tsx +367 -917
- package/dist/hooks/use-standalone-pagination/UseStandalonePagination.stories.tsx +639 -867
- package/dist/icons/Icons.stories.tsx +0 -12
- package/dist/icons/ai-avatar-icon/AiAvatarIcon.stories.tsx +226 -1013
- package/dist/icons/alert-icon/AlertIcon.stories.tsx +109 -929
- package/dist/icons/all-icons.tsx +124 -87
- package/dist/icons/angle-down-icon/AngleDownIcon.stories.tsx +140 -971
- package/dist/icons/apple-logo-icon/AppleLogoIcon.stories.tsx +148 -888
- package/dist/icons/arrow-box-left-icon/ArrowBoxLeftIcon.stories.tsx +135 -1019
- package/dist/icons/arrow-corner-up-left-icon/ArrowCornerUpLeftIcon.stories.tsx +137 -953
- package/dist/icons/arrow-corner-up-right-icon/ArrowCornerUpRightIcon.stories.tsx +138 -997
- package/dist/icons/arrow-left-icon/ArrowLeftIcon.stories.tsx +136 -942
- package/dist/icons/arrow-right-icon/ArrowRightIcon.stories.tsx +148 -1092
- package/dist/icons/arrow-right-up-icon/ArrowRightUpIcon.stories.tsx +146 -1211
- package/dist/icons/art-board-icon/ArtBoardIcon.stories.tsx +126 -615
- package/dist/icons/audio-bar-icon/AudioBarIcon.stories.tsx +144 -1164
- package/dist/icons/backward-ten-seconds-icon/BackwardTenSecondsIcon.stories.tsx +167 -985
- package/dist/icons/bubble-check-icon/BubbleCheckIcon.stories.tsx +122 -1179
- package/dist/icons/bubble-crossed-icon/BubbleCrossedIcon.stories.tsx +124 -1168
- package/dist/icons/bubble-sparkle-icon/BubbleSparkleIcon.stories.tsx +119 -850
- package/dist/icons/camera-icon/CameraIcon.stories.tsx +112 -1213
- package/dist/icons/capital-a-letter-icon/CapitalALetterIcon.stories.tsx +117 -934
- package/dist/icons/chevron-double-left-icon/ChevronDoubleLeftIcon.stories.tsx +160 -961
- package/dist/icons/chevron-double-right-icon/ChevronDoubleRightIcon.stories.tsx +163 -961
- package/dist/icons/chevron-down-icon/ChevronDownIcon.stories.tsx +144 -942
- package/dist/icons/chevron-left-icon/ChevronLeftIcon.stories.tsx +129 -966
- package/dist/icons/chevron-right-icon/ChevronRightIcon.stories.tsx +147 -964
- package/dist/icons/chevron-up-icon/ChevronUpIcon.stories.tsx +145 -975
- package/dist/icons/circle-tick-icon/CircleTickIcon.stories.tsx +150 -1142
- package/dist/icons/circular-play-icon/CircularPlayIcon.stories.tsx +114 -461
- package/dist/icons/coin-icon/CoinIcon.stories.tsx +124 -1322
- package/dist/icons/coin-toons-icon/CoinToonsIcon.stories.tsx +117 -1318
- package/dist/icons/column-wide-add-icon/ColumnWideAddIcon.stories.tsx +114 -903
- package/dist/icons/command-icon/CommandIcon.stories.tsx +127 -1042
- package/dist/icons/copy-icon/CopyIcon.stories.tsx +123 -962
- package/dist/icons/cross-circle-icon/CrossCircleIcon.stories.tsx +147 -999
- package/dist/icons/cross-icon/CrossIcon.stories.tsx +139 -960
- package/dist/icons/download-icon/DownloadIcon.stories.tsx +126 -820
- package/dist/icons/edit-big-icon/EditBigIcon.stories.tsx +124 -1031
- package/dist/icons/email-icon/EmailIcon.stories.tsx +115 -936
- package/dist/icons/expand-icon/ExpandIcon.stories.tsx +112 -1111
- package/dist/icons/eye-close-icon/EyeCloseIcon.stories.tsx +144 -1025
- package/dist/icons/eye-open-icon/EyeOpenIcon.stories.tsx +143 -1036
- package/dist/icons/feature-shine-icon/FeatureShineIcon.stories.tsx +127 -1011
- package/dist/icons/file-chart-icon/FileChartIcon.stories.tsx +126 -1056
- package/dist/icons/file-text-icon/FileTextIcon.stories.tsx +125 -614
- package/dist/icons/filter-bar-row-icon/FilterBarRowIcon.stories.tsx +119 -1050
- package/dist/icons/forward-ten-seconds-icon/ForwardTenSecondsIcon.stories.tsx +169 -989
- package/dist/icons/git-branch-icon/GitBranchIcon.stories.tsx +115 -1145
- package/dist/icons/git-fork-icon/GitForkIcon.stories.tsx +115 -1122
- package/dist/icons/globe-icon/GlobeIcon.stories.tsx +130 -313
- package/dist/icons/google-logo-icon/GoogleLogoIcon.stories.tsx +145 -940
- package/dist/icons/grip-vertical-icon/GripVerticalIcon.stories.tsx +119 -1174
- package/dist/icons/head-icon/HeadIcon.stories.tsx +111 -916
- package/dist/icons/heart-icon/HeartIcon.stories.tsx +120 -1019
- package/dist/icons/image-avatar-sparkle-icon/ImageAvatarSparkleIcon.stories.tsx +119 -683
- package/dist/icons/image-icon/ImageIcon.stories.tsx +105 -1121
- package/dist/icons/import-folder-icon/ImportFolderIcon.stories.tsx +111 -1192
- package/dist/icons/import-left-arrow-folder-icon/ImportLeftArrowFolderIcon.stories.tsx +136 -1256
- package/dist/icons/indian-flag-icon/IndianFlagIcon.stories.tsx +159 -962
- package/dist/icons/instagram-icon/InstagramIcon.stories.tsx +161 -1385
- package/dist/icons/layout-column-icon/LayoutColumnIcon.stories.tsx +124 -972
- package/dist/icons/layout-left-icon/LayoutLeftIcon.stories.tsx +119 -948
- package/dist/icons/layout-right-icon/LayoutRightIcon.stories.tsx +119 -942
- package/dist/icons/light-bulb-simple-icon/LightBulbSimpleIcon.stories.tsx +108 -1215
- package/dist/icons/linked-in-icon/LinkedInIcon.stories.tsx +154 -1517
- package/dist/icons/magic-book-icon/MagicBookIcon.stories.tsx +110 -1188
- package/dist/icons/magic-edit-icon/MagicEditIcon.stories.tsx +119 -678
- package/dist/icons/maintenance-icon/MaintenanceIcon.stories.tsx +123 -1184
- package/dist/icons/message-icon/MessageIcon.stories.tsx +114 -538
- package/dist/icons/minimize-icon/MinimizeIcon.stories.tsx +116 -1158
- package/dist/icons/moon-icon/MoonIcon.stories.tsx +120 -536
- package/dist/icons/move-horizontal-icon/MoveHorizontalIcon.stories.tsx +109 -1184
- package/dist/icons/move-vertical-icon/MoveVerticalIcon.stories.tsx +115 -1134
- package/dist/icons/musical-note-icon/MusicalNoteIcon.stories.tsx +119 -971
- package/dist/icons/notepad-icon/NotepadIcon.stories.tsx +111 -1100
- package/dist/icons/notes-icon/NotesIcon.stories.tsx +119 -1101
- package/dist/icons/page-search-icon/PageSearchIcon.stories.tsx +109 -1111
- package/dist/icons/page-text-icon/PageTextIcon.stories.tsx +122 -684
- package/dist/icons/paint-roll-icon/PaintRollIcon.stories.tsx +113 -954
- package/dist/icons/paper-plane-icon/PaperPlaneIcon.stories.tsx +112 -877
- package/dist/icons/pause-icon/PauseIcon.stories.tsx +113 -1000
- package/dist/icons/pencil-icon/PencilIcon.stories.tsx +115 -1070
- package/dist/icons/phone-icon/PhoneIcon.stories.tsx +115 -978
- package/dist/icons/plus-icon/PlusIcon.stories.tsx +106 -1093
- package/dist/icons/pocket-studio-icon/PocketStudioIcon.stories.tsx +107 -829
- package/dist/icons/scroll-down-icon/ScrollDownIcon.stories.tsx +102 -469
- package/dist/icons/search-icon/SearchIcon.stories.tsx +111 -1124
- package/dist/icons/setting-icon/SettingIcon.stories.tsx +107 -970
- package/dist/icons/share-icon/ShareIcon.stories.tsx +120 -1025
- package/dist/icons/shield-icon/ShieldIcon.stories.tsx +117 -931
- package/dist/icons/site-logo-icon/SiteLogoIcon.stories.tsx +137 -1104
- package/dist/icons/skip-backward-icon/SkipBackwardIcon.stories.tsx +172 -982
- package/dist/icons/skip-forward-icon/SkipForwardIcon.stories.tsx +164 -983
- package/dist/icons/sparkles-soft-icon/SparklesSoftIcon.stories.tsx +105 -958
- package/dist/icons/spinner-gradient-icon/SpinnerGradientIcon.stories.tsx +158 -580
- package/dist/icons/spinner-gradient-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-icon/SpinnerSolidIcon.stories.tsx +158 -587
- package/dist/icons/spinner-solid-icon/index.tsx +6 -1
- package/dist/icons/spinner-solid-neutral-icon/SpinnerSolidINeutralcon.stories.tsx +146 -682
- package/dist/icons/spinner-solid-neutral-icon/index.tsx +1 -1
- package/dist/icons/star-icon/StarIcon.stories.tsx +124 -904
- package/dist/icons/store-coin-icon/StoreCoinIcon.stories.tsx +112 -964
- package/dist/icons/suggestion-icon/SuggestionIcon.stories.tsx +116 -852
- package/dist/icons/sun-icon/SunIcon.stories.tsx +120 -831
- package/dist/icons/text-color-icon/TextColorIcon.stories.tsx +116 -950
- package/dist/icons/text-indicator-icon/TextIndicatorIcon.stories.tsx +123 -980
- package/dist/icons/threads-icon/ThreadsIcon.stories.tsx +156 -1427
- package/dist/icons/tick-circle-icon/TickCircleIcon.stories.tsx +146 -1142
- package/dist/icons/tick-icon/TickIcon.stories.tsx +145 -1276
- package/dist/icons/trash-icon/TrashIcon.stories.tsx +108 -933
- package/dist/icons/twitter-x-icon/TwitterXIcon.stories.tsx +157 -1402
- package/dist/icons/upload-icon/UploadIcon.stories.tsx +115 -889
- package/dist/icons/vertical-menu-icon/VerticalMenuIcon.stories.tsx +118 -984
- package/dist/icons/video-play-list-icon/VideoPlaylistIcon.stories.tsx +125 -1049
- package/dist/icons/voice-playing-icon/VoicePlayingIcon.stories.tsx +123 -1356
- package/dist/icons/volume-full-icon/VolumeFullIcon.stories.tsx +110 -1171
- package/dist/icons/volume-half-icon/VolumeHalfIcon.stories.tsx +112 -1093
- package/dist/icons/volume-off-icon/VolumeOffIcon.stories.tsx +115 -1087
- package/dist/icons/warning-icon/WarningIcon.stories.tsx +122 -1046
- package/dist/icons/youtube-icon/YoutubeIcon.stories.tsx +161 -936
- 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
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import React from "react"
|
|
2
2
|
import type { Meta, StoryObj } from "@storybook/react-vite"
|
|
3
3
|
|
|
4
|
+
import { ChevronDoubleLeftIcon } from "src/ui/icons/chevron-double-left-icon"
|
|
5
|
+
import { ChevronLeftIcon } from "src/ui/icons/chevron-left-icon"
|
|
6
|
+
import { ChevronRightIcon } from "src/ui/icons/chevron-right-icon"
|
|
7
|
+
import { SkipForwardIcon } from "src/ui/icons/skip-forward-icon"
|
|
8
|
+
import {
|
|
9
|
+
IconColorVariations,
|
|
10
|
+
IconDefaultCanvas,
|
|
11
|
+
IconDirectionalVariations,
|
|
12
|
+
IconPlaygroundCanvas,
|
|
13
|
+
IconSizeVariations,
|
|
14
|
+
IconUsageCanvas,
|
|
15
|
+
IconUsageSection,
|
|
16
|
+
} from "src/ui/story-spec/icons/icon-story-canvas"
|
|
17
|
+
import { AuralIconDocsPage } from "src/ui/story-spec/icons/icon-story-docs-page"
|
|
18
|
+
|
|
4
19
|
import { ChevronDoubleRightIcon } from "."
|
|
5
20
|
|
|
6
21
|
const meta: Meta<typeof ChevronDoubleRightIcon> = {
|
|
@@ -11,791 +26,81 @@ const meta: Meta<typeof ChevronDoubleRightIcon> = {
|
|
|
11
26
|
backgrounds: {
|
|
12
27
|
default: "dark",
|
|
13
28
|
values: [
|
|
14
|
-
{ name: "dark", value: "
|
|
15
|
-
{ name: "darker", value: "
|
|
16
|
-
{ name: "light", value: "
|
|
29
|
+
{ name: "dark", value: "var(--color-fm-surface-primary)" },
|
|
30
|
+
{ name: "darker", value: "var(--color-fm-neutral-0)" },
|
|
31
|
+
{ name: "light", value: "var(--color-fm-neutral-1100)" },
|
|
17
32
|
],
|
|
18
33
|
},
|
|
19
34
|
docs: {
|
|
20
35
|
page: () => (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
.docs-story {
|
|
37
|
-
background: transparent ;
|
|
38
|
-
}
|
|
39
|
-
.sbdocs {
|
|
40
|
-
background: transparent ;
|
|
41
|
-
}
|
|
42
|
-
body {
|
|
43
|
-
background: #0a0a0a ;
|
|
44
|
-
}
|
|
45
|
-
#storybook-docs {
|
|
46
|
-
background: #0a0a0a ;
|
|
47
|
-
}
|
|
48
|
-
.sbdocs-preview {
|
|
49
|
-
background: transparent ;
|
|
50
|
-
border: none ;
|
|
51
|
-
}
|
|
52
|
-
.sbdocs-h1, .sbdocs-h2, .sbdocs-h3, .sbdocs-h4, .sbdocs-h5, .sbdocs-h6 {
|
|
53
|
-
color: white ;
|
|
54
|
-
}
|
|
55
|
-
.sbdocs-p, .sbdocs-li {
|
|
56
|
-
color: rgba(255, 255, 255, 0.7) ;
|
|
57
|
-
}
|
|
58
|
-
.sbdocs-code {
|
|
59
|
-
background: rgba(255, 255, 255, 0.1) ;
|
|
60
|
-
color: rgba(168, 85, 247, 1) ;
|
|
61
|
-
border: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
62
|
-
}
|
|
63
|
-
.sbdocs-pre {
|
|
64
|
-
background: rgba(0, 0, 0, 0.4) ;
|
|
65
|
-
border: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
66
|
-
}
|
|
67
|
-
.sbdocs-table {
|
|
68
|
-
background: rgba(255, 255, 255, 0.05) ;
|
|
69
|
-
border: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
70
|
-
}
|
|
71
|
-
.sbdocs-table th {
|
|
72
|
-
background: rgba(255, 255, 255, 0.05) ;
|
|
73
|
-
color: white ;
|
|
74
|
-
border-bottom: 1px solid rgba(255, 255, 255, 0.1) ;
|
|
75
|
-
}
|
|
76
|
-
.sbdocs-table td {
|
|
77
|
-
color: rgba(255, 255, 255, 0.7) ;
|
|
78
|
-
border-bottom: 1px solid rgba(255, 255, 255, 0.05) ;
|
|
79
|
-
}
|
|
80
|
-
`}
|
|
81
|
-
</style>
|
|
82
|
-
|
|
83
|
-
<div className="min-h-screen bg-gradient-to-br from-gray-900 via-green-900/20 to-gray-900">
|
|
84
|
-
{/* Header */}
|
|
85
|
-
<div className="relative overflow-hidden border-b border-white/10 bg-black/20 backdrop-blur-xl">
|
|
86
|
-
<div className="absolute inset-0 bg-gradient-to-r from-green-500/10 via-transparent to-emerald-500/10" />
|
|
87
|
-
<div className="relative !mx-auto max-w-7xl px-6 py-16">
|
|
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 border-green-500/30 bg-gradient-to-br from-green-500/20 to-emerald-500/20">
|
|
90
|
-
<ChevronDoubleRightIcon className="h-12 w-12 text-green-400" />
|
|
91
|
-
</div>
|
|
92
|
-
<h1 className="!text-fm-primary text-5xl font-bold">
|
|
93
|
-
ChevronDoubleRightIcon
|
|
94
|
-
</h1>
|
|
95
|
-
<p className="!mx-auto max-w-3xl text-xl leading-relaxed !text-white/70">
|
|
96
|
-
A navigation icon featuring double chevrons pointing right,
|
|
97
|
-
perfect for pagination, breadcrumbs, and forward navigation
|
|
98
|
-
interfaces. Built with accessibility in mind using Radix
|
|
99
|
-
UI's AccessibleIcon wrapper.
|
|
100
|
-
</p>
|
|
101
|
-
|
|
102
|
-
{/* Stats */}
|
|
103
|
-
<div className="flex items-center justify-center gap-8 pt-8">
|
|
104
|
-
<div className="text-center">
|
|
105
|
-
<div className="text-3xl font-bold text-green-300">
|
|
106
|
-
Accessible
|
|
107
|
-
</div>
|
|
108
|
-
<div className="text-sm text-white/60">
|
|
109
|
-
Screen reader friendly
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
<div className="h-8 w-px bg-white/20" />
|
|
113
|
-
<div className="text-center">
|
|
114
|
-
<div className="text-3xl font-bold text-emerald-300">
|
|
115
|
-
Scalable
|
|
116
|
-
</div>
|
|
117
|
-
<div className="text-sm text-white/60">
|
|
118
|
-
Any size needed
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
<div className="h-8 w-px bg-white/20" />
|
|
122
|
-
<div className="text-center">
|
|
123
|
-
<div className="text-3xl font-bold text-teal-300">
|
|
124
|
-
Navigation
|
|
125
|
-
</div>
|
|
126
|
-
<div className="text-sm text-white/60">
|
|
127
|
-
Forward direction
|
|
128
|
-
</div>
|
|
129
|
-
</div>
|
|
130
|
-
</div>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
{/* Content */}
|
|
136
|
-
<div className="!mx-auto max-w-7xl !space-y-16 px-6 py-12">
|
|
137
|
-
{/* Quick Usage */}
|
|
138
|
-
<div className="!space-y-8">
|
|
139
|
-
<h2 className="text-center text-3xl font-bold !text-white">
|
|
140
|
-
Quick Start
|
|
141
|
-
</h2>
|
|
142
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
143
|
-
<div className="!space-y-4">
|
|
144
|
-
<h3 className="text-xl font-semibold !text-green-300">
|
|
145
|
-
Basic Usage
|
|
146
|
-
</h3>
|
|
147
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
148
|
-
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
149
|
-
{`import { ChevronDoubleRightIcon } from "@icons/chevron-double-right-icon"
|
|
150
|
-
|
|
151
|
-
function PaginationButton() {
|
|
36
|
+
<AuralIconDocsPage
|
|
37
|
+
accentToken="warning"
|
|
38
|
+
features={[
|
|
39
|
+
{
|
|
40
|
+
title: "Double Chevron",
|
|
41
|
+
description: "Strong directional signal",
|
|
42
|
+
},
|
|
43
|
+
{ title: "currentColor", description: "Responds to text tokens" },
|
|
44
|
+
{ title: "Accessible", description: "ARIA-ready by default" },
|
|
45
|
+
]}
|
|
46
|
+
quickStart={{
|
|
47
|
+
codeExample: `import { ChevronDoubleRightIcon } from "src/ui/icons/chevron-double-right-icon"
|
|
48
|
+
|
|
49
|
+
function LastPageButton() {
|
|
152
50
|
return (
|
|
153
|
-
<button
|
|
154
|
-
<
|
|
155
|
-
<ChevronDoubleRightIcon className="h-5 w-5 text-green-400 " />
|
|
51
|
+
<button aria-label="Last page">
|
|
52
|
+
<ChevronDoubleRightIcon className="h-4 w-4 text-fm-icon-active" />
|
|
156
53
|
</button>
|
|
157
54
|
)
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
</th>
|
|
196
|
-
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
197
|
-
Default
|
|
198
|
-
</th>
|
|
199
|
-
<th className="px-6 py-4 text-left text-sm font-semibold !text-white">
|
|
200
|
-
Description
|
|
201
|
-
</th>
|
|
202
|
-
</tr>
|
|
203
|
-
</thead>
|
|
204
|
-
<tbody>
|
|
205
|
-
{" "}
|
|
206
|
-
<tr className="!bg-black/10">
|
|
207
|
-
<td className="px-6 py-4 font-mono text-sm !text-blue-300">
|
|
208
|
-
withAccessibility
|
|
209
|
-
</td>
|
|
210
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
211
|
-
boolean
|
|
212
|
-
</td>
|
|
213
|
-
<td className="px-6 py-4 text-sm !text-white/50">
|
|
214
|
-
true
|
|
215
|
-
</td>
|
|
216
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
217
|
-
Whether to wrap the icon with accessibility feature
|
|
218
|
-
</td>
|
|
219
|
-
</tr>
|
|
220
|
-
<tr className="border-b border-white/5 !bg-black/10">
|
|
221
|
-
<td className="px-6 py-4 font-mono text-sm !text-green-300">
|
|
222
|
-
height
|
|
223
|
-
</td>
|
|
224
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
225
|
-
number | string
|
|
226
|
-
</td>
|
|
227
|
-
<td className="px-6 py-4 text-sm !text-white/50">24</td>
|
|
228
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
229
|
-
Height of the icon in pixels
|
|
230
|
-
</td>
|
|
231
|
-
</tr>
|
|
232
|
-
<tr className="border-b border-white/5">
|
|
233
|
-
<td className="px-6 py-4 font-mono text-sm !text-green-300">
|
|
234
|
-
stroke
|
|
235
|
-
</td>
|
|
236
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
237
|
-
string
|
|
238
|
-
</td>
|
|
239
|
-
<td className="px-6 py-4 text-sm !text-white/50">
|
|
240
|
-
currentColor
|
|
241
|
-
</td>
|
|
242
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
243
|
-
Stroke color of the icon
|
|
244
|
-
</td>
|
|
245
|
-
</tr>
|
|
246
|
-
<tr className="border-b border-white/5 !bg-black/10">
|
|
247
|
-
<td className="px-6 py-4 font-mono text-sm !text-green-300">
|
|
248
|
-
className
|
|
249
|
-
</td>
|
|
250
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
251
|
-
string
|
|
252
|
-
</td>
|
|
253
|
-
<td className="px-6 py-4 text-sm !text-white/50">-</td>
|
|
254
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
255
|
-
CSS classes for styling (use for overrides)
|
|
256
|
-
</td>
|
|
257
|
-
</tr>
|
|
258
|
-
<tr className="border-b border-white/5">
|
|
259
|
-
<td className="px-6 py-4 font-mono text-sm !text-green-300">
|
|
260
|
-
strokeWidth
|
|
261
|
-
</td>
|
|
262
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
263
|
-
number | string
|
|
264
|
-
</td>
|
|
265
|
-
<td className="px-6 py-4 text-sm !text-white/50">
|
|
266
|
-
1.5
|
|
267
|
-
</td>
|
|
268
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
269
|
-
Stroke width of the chevron lines
|
|
270
|
-
</td>
|
|
271
|
-
</tr>
|
|
272
|
-
<tr className="!bg-black/10">
|
|
273
|
-
<td className="px-6 py-4 font-mono text-sm !text-green-300">
|
|
274
|
-
...svgProps
|
|
275
|
-
</td>
|
|
276
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
277
|
-
SVGProps
|
|
278
|
-
</td>
|
|
279
|
-
<td className="px-6 py-4 text-sm !text-white/50">-</td>
|
|
280
|
-
<td className="px-6 py-4 text-sm !text-white/70">
|
|
281
|
-
All standard SVG element props
|
|
282
|
-
</td>
|
|
283
|
-
</tr>
|
|
284
|
-
</tbody>
|
|
285
|
-
</table>
|
|
286
|
-
</div>
|
|
287
|
-
</div>
|
|
288
|
-
|
|
289
|
-
{/* Size Variations */}
|
|
290
|
-
<div className="!space-y-8">
|
|
291
|
-
<h2 className="text-center text-3xl font-bold !text-white">
|
|
292
|
-
Size Variations
|
|
293
|
-
</h2>
|
|
294
|
-
<div className="rounded-lg border border-white/10 bg-white/5 p-8">
|
|
295
|
-
<div className="!space-y-6">
|
|
296
|
-
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
297
|
-
<div className="!space-y-4">
|
|
298
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
299
|
-
Standard Sizes
|
|
300
|
-
</h3>
|
|
301
|
-
<div className="flex items-end gap-6 rounded-lg bg-black/20 p-6">
|
|
302
|
-
<div className="text-center">
|
|
303
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-3 w-3 text-green-400" />
|
|
304
|
-
<span className="text-xs text-white/60">12px</span>
|
|
305
|
-
</div>
|
|
306
|
-
<div className="text-center">
|
|
307
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-4 w-4 text-green-400" />
|
|
308
|
-
<span className="text-xs text-white/60">16px</span>
|
|
309
|
-
</div>
|
|
310
|
-
<div className="text-center">
|
|
311
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-5 w-5 text-green-400" />
|
|
312
|
-
<span className="text-xs text-white/60">20px</span>
|
|
313
|
-
</div>
|
|
314
|
-
<div className="text-center">
|
|
315
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-6 w-6 text-green-400" />
|
|
316
|
-
<span className="text-xs text-white/60">24px</span>
|
|
317
|
-
</div>
|
|
318
|
-
<div className="text-center">
|
|
319
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-8 w-8 text-green-400" />
|
|
320
|
-
<span className="text-xs text-white/60">32px</span>
|
|
321
|
-
</div>
|
|
322
|
-
<div className="text-center">
|
|
323
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-12 w-12 text-green-400" />
|
|
324
|
-
<span className="text-xs text-white/60">48px</span>
|
|
325
|
-
</div>
|
|
326
|
-
</div>
|
|
327
|
-
</div>
|
|
328
|
-
|
|
329
|
-
<div className="!space-y-4">
|
|
330
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
331
|
-
Code Example
|
|
332
|
-
</h3>
|
|
333
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
334
|
-
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
335
|
-
{`// Small (16px)
|
|
336
|
-
<ChevronDoubleRightIcon className="h-4 w-4 " />
|
|
337
|
-
|
|
338
|
-
// Medium (24px)
|
|
339
|
-
<ChevronDoubleRightIcon className="h-6 w-6 " />
|
|
340
|
-
|
|
341
|
-
// Large (32px)
|
|
342
|
-
<ChevronDoubleRightIcon className="h-8 w-8 " />
|
|
343
|
-
|
|
344
|
-
// Custom size
|
|
345
|
-
<ChevronDoubleRightIcon width={40} height={40} />`}
|
|
346
|
-
</pre>
|
|
347
|
-
</div>
|
|
348
|
-
</div>
|
|
349
|
-
</div>
|
|
350
|
-
</div>
|
|
351
|
-
</div>
|
|
352
|
-
</div>
|
|
353
|
-
|
|
354
|
-
{/* Color Variations */}
|
|
355
|
-
<div className="!space-y-8">
|
|
356
|
-
<h2 className="text-center text-3xl font-bold !text-white">
|
|
357
|
-
Color Variations
|
|
358
|
-
</h2>
|
|
359
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
360
|
-
<div className="!space-y-4">
|
|
361
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
362
|
-
Semantic Colors
|
|
363
|
-
</h3>
|
|
364
|
-
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
365
|
-
<div className="flex items-center gap-4">
|
|
366
|
-
<ChevronDoubleRightIcon className="h-6 w-6 text-green-400" />
|
|
367
|
-
<div>
|
|
368
|
-
<div className="text-sm font-medium text-white">
|
|
369
|
-
Primary
|
|
370
|
-
</div>
|
|
371
|
-
<div className="text-xs text-white/60">
|
|
372
|
-
text-green-400
|
|
373
|
-
</div>
|
|
374
|
-
</div>
|
|
375
|
-
</div>
|
|
376
|
-
<div className="flex items-center gap-4">
|
|
377
|
-
<ChevronDoubleRightIcon className="h-6 w-6 text-gray-400" />
|
|
378
|
-
<div>
|
|
379
|
-
<div className="text-sm font-medium text-white">
|
|
380
|
-
Secondary
|
|
381
|
-
</div>
|
|
382
|
-
<div className="text-xs text-white/60">
|
|
383
|
-
text-gray-400
|
|
384
|
-
</div>
|
|
385
|
-
</div>
|
|
386
|
-
</div>
|
|
387
|
-
<div className="flex items-center gap-4">
|
|
388
|
-
<ChevronDoubleRightIcon className="h-6 w-6 text-emerald-400" />
|
|
389
|
-
<div>
|
|
390
|
-
<div className="text-sm font-medium text-white">
|
|
391
|
-
Accent
|
|
392
|
-
</div>
|
|
393
|
-
<div className="text-xs text-white/60">
|
|
394
|
-
text-emerald-400
|
|
395
|
-
</div>
|
|
396
|
-
</div>
|
|
397
|
-
</div>
|
|
398
|
-
<div className="flex items-center gap-4">
|
|
399
|
-
<ChevronDoubleRightIcon className="h-6 w-6 text-white/40" />
|
|
400
|
-
<div>
|
|
401
|
-
<div className="text-sm font-medium text-white">
|
|
402
|
-
Disabled
|
|
403
|
-
</div>
|
|
404
|
-
<div className="text-xs text-white/60">
|
|
405
|
-
text-white/40
|
|
406
|
-
</div>
|
|
407
|
-
</div>
|
|
408
|
-
</div>
|
|
409
|
-
</div>
|
|
410
|
-
</div>
|
|
411
|
-
|
|
412
|
-
<div className="!space-y-4">
|
|
413
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
414
|
-
Custom Colors
|
|
415
|
-
</h3>
|
|
416
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
417
|
-
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
418
|
-
{`// Using Tailwind classes with
|
|
419
|
-
<ChevronDoubleRightIcon className="h-6 w-6 text-green-400 " />
|
|
420
|
-
<ChevronDoubleRightIcon className="h-6 w-6 text-emerald-500 " />
|
|
421
|
-
|
|
422
|
-
// Using CSS custom properties
|
|
423
|
-
<ChevronDoubleRightIcon
|
|
424
|
-
className="h-6 w-6 "
|
|
425
|
-
style={{ color: 'var(--color-primary)' }}
|
|
426
|
-
/>
|
|
427
|
-
|
|
428
|
-
// Direct stroke prop
|
|
429
|
-
<ChevronDoubleRightIcon
|
|
430
|
-
width={24}
|
|
431
|
-
height={24}
|
|
432
|
-
stroke="#10b981"
|
|
433
|
-
/>`}
|
|
434
|
-
</pre>
|
|
435
|
-
</div>
|
|
436
|
-
</div>
|
|
437
|
-
</div>
|
|
438
|
-
</div>
|
|
439
|
-
|
|
440
|
-
{/* Usage Examples */}
|
|
441
|
-
<div className="!space-y-8">
|
|
442
|
-
<h2 className="text-center text-3xl font-bold !text-white">
|
|
443
|
-
Usage Examples
|
|
444
|
-
</h2>
|
|
445
|
-
|
|
446
|
-
<div className="grid grid-cols-1 gap-8 lg:grid-cols-2">
|
|
447
|
-
{/* Pagination */}
|
|
448
|
-
<div className="!space-y-4">
|
|
449
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
450
|
-
Pagination Controls
|
|
451
|
-
</h3>
|
|
452
|
-
<div className="!space-y-4">
|
|
453
|
-
<div className="flex items-center justify-center gap-2 rounded-lg border border-white/10 bg-white/5 p-4">
|
|
454
|
-
<span className="text-sm text-white/60">
|
|
455
|
-
Page 5 of 10
|
|
456
|
-
</span>
|
|
457
|
-
<button className="rounded-lg border border-white/20 bg-white/5 p-2 text-white/60 transition-colors hover:bg-white/10">
|
|
458
|
-
<ChevronDoubleRightIcon className="h-4 w-4" />
|
|
459
|
-
</button>
|
|
460
|
-
<button className="flex items-center gap-2 rounded-lg border border-green-500/30 bg-green-500/10 px-3 py-2 text-green-200 transition-colors hover:bg-green-500/20">
|
|
461
|
-
<span>Last</span>
|
|
462
|
-
<ChevronDoubleRightIcon className="h-4 w-4" />
|
|
463
|
-
</button>
|
|
464
|
-
</div>
|
|
465
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
466
|
-
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
467
|
-
{`<div className="flex items-center gap-2">
|
|
468
|
-
<span className="text-sm text-white/60">Page 5 of 10</span>
|
|
469
|
-
<button className="p-2 bg-white/5 border border-white/20 rounded-lg">
|
|
470
|
-
<ChevronDoubleRightIcon className="h-4 w-4 " />
|
|
471
|
-
</button>
|
|
472
|
-
<button className="flex items-center gap-2 bg-green-500/10 border border-green-500/30 px-3 py-2 rounded-lg">
|
|
473
|
-
<span>Last</span>
|
|
474
|
-
<ChevronDoubleRightIcon className="h-4 w-4 " />
|
|
475
|
-
</button>
|
|
476
|
-
</div>`}
|
|
477
|
-
</pre>
|
|
478
|
-
</div>
|
|
479
|
-
</div>
|
|
480
|
-
</div>
|
|
481
|
-
|
|
482
|
-
{/* Breadcrumbs */}
|
|
483
|
-
<div className="!space-y-4">
|
|
484
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
485
|
-
Breadcrumb Navigation
|
|
486
|
-
</h3>
|
|
487
|
-
<div className="!space-y-4">
|
|
488
|
-
<div className="rounded-lg border border-white/10 bg-white/5 p-4">
|
|
489
|
-
<nav className="flex items-center gap-2 text-sm">
|
|
490
|
-
<span className="text-white/60">Current Page</span>
|
|
491
|
-
<span className="text-white/40">/</span>
|
|
492
|
-
<button className="flex items-center gap-1 rounded px-2 py-1 text-green-300 hover:bg-green-500/10">
|
|
493
|
-
<span>Go to End</span>
|
|
494
|
-
<ChevronDoubleRightIcon className="h-3 w-3" />
|
|
495
|
-
</button>
|
|
496
|
-
</nav>
|
|
497
|
-
</div>
|
|
498
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
499
|
-
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
500
|
-
{`<nav className="flex items-center gap-2 text-sm">
|
|
501
|
-
<span className="text-white/60">Current Page</span>
|
|
502
|
-
<span className="text-white/40">/</span>
|
|
503
|
-
<button className="flex items-center gap-1 rounded px-2 py-1 text-green-300 hover:bg-green-500/10">
|
|
504
|
-
<span>Go to End</span>
|
|
505
|
-
<ChevronDoubleRightIcon className="h-3 w-3 " />
|
|
506
|
-
</button>
|
|
507
|
-
</nav>`}
|
|
508
|
-
</pre>
|
|
509
|
-
</div>
|
|
510
|
-
</div>
|
|
511
|
-
</div>
|
|
512
|
-
|
|
513
|
-
{/* Table Navigation */}
|
|
514
|
-
<div className="!space-y-4">
|
|
515
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
516
|
-
Table Navigation
|
|
517
|
-
</h3>
|
|
518
|
-
<div className="!space-y-4">
|
|
519
|
-
<div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
|
|
520
|
-
<div className="flex items-center justify-between border-b border-white/10 p-4">
|
|
521
|
-
<span className="text-sm text-white/70">
|
|
522
|
-
Showing 91-100 of 100 items
|
|
523
|
-
</span>
|
|
524
|
-
<div className="flex items-center gap-1">
|
|
525
|
-
<button
|
|
526
|
-
className="rounded p-1 text-white/40"
|
|
527
|
-
disabled
|
|
528
|
-
aria-label="Next page"
|
|
529
|
-
>
|
|
530
|
-
<ChevronDoubleRightIcon className="h-4 w-4 -rotate-90" />
|
|
531
|
-
</button>
|
|
532
|
-
<button
|
|
533
|
-
className="rounded p-1 text-green-400 hover:bg-green-500/10"
|
|
534
|
-
aria-label="Go to last page"
|
|
535
|
-
>
|
|
536
|
-
<ChevronDoubleRightIcon className="h-4 w-4" />
|
|
537
|
-
</button>
|
|
538
|
-
</div>
|
|
539
|
-
</div>
|
|
540
|
-
</div>
|
|
541
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
542
|
-
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
543
|
-
{`<div className="flex items-center justify-between p-4">
|
|
544
|
-
<span className="text-sm text-white/70">
|
|
545
|
-
Showing 91-100 of 100 items
|
|
546
|
-
</span>
|
|
547
|
-
<div className="flex items-center gap-1">
|
|
548
|
-
<button className="rounded p-1 text-green-400 hover:bg-green-500/10" aria-label="Go to last page">
|
|
549
|
-
<ChevronDoubleRightIcon className="h-4 w-4 " />
|
|
550
|
-
</button>
|
|
551
|
-
</div>
|
|
552
|
-
</div>`}
|
|
553
|
-
</pre>
|
|
554
|
-
</div>
|
|
555
|
-
</div>
|
|
556
|
-
</div>
|
|
557
|
-
|
|
558
|
-
{/* Sidebar Toggle */}
|
|
559
|
-
<div className="!space-y-4">
|
|
560
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
561
|
-
Step Navigation
|
|
562
|
-
</h3>
|
|
563
|
-
<div className="!space-y-4">
|
|
564
|
-
<div className="flex h-32 rounded-lg border border-white/10 bg-white/5">
|
|
565
|
-
<div className="flex-1 p-4">
|
|
566
|
-
<span className="text-white/60">Step 2 of 5</span>
|
|
567
|
-
</div>
|
|
568
|
-
<div className="flex w-32 items-center justify-center border-l border-white/10 bg-white/5">
|
|
569
|
-
<button className="flex items-center gap-2 rounded px-3 py-2 text-white/60 hover:bg-white/10">
|
|
570
|
-
<span>Skip to End</span>
|
|
571
|
-
<ChevronDoubleRightIcon className="h-4 w-4" />
|
|
572
|
-
</button>
|
|
573
|
-
</div>
|
|
574
|
-
</div>
|
|
575
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
576
|
-
<pre className="overflow-x-auto text-sm !text-green-300">
|
|
577
|
-
{`// Step navigation with skip to end
|
|
578
|
-
<button className="flex items-center gap-2 rounded px-3 py-2 text-white/60 hover:bg-white/10">
|
|
579
|
-
<span>Skip to End</span>
|
|
580
|
-
<ChevronDoubleRightIcon className="h-4 w-4 " />
|
|
581
|
-
</button>
|
|
582
|
-
|
|
583
|
-
// Rotate for different directions
|
|
584
|
-
<ChevronDoubleRightIcon className="h-4 w-4 rotate-180 " />`}
|
|
585
|
-
</pre>
|
|
586
|
-
</div>
|
|
587
|
-
</div>
|
|
588
|
-
</div>
|
|
589
|
-
</div>
|
|
590
|
-
</div>
|
|
591
|
-
|
|
592
|
-
{/* Accessibility */}
|
|
593
|
-
<div className="!space-y-8">
|
|
594
|
-
<h2 className="text-center text-3xl font-bold !text-white">
|
|
595
|
-
Accessibility Features
|
|
596
|
-
</h2>
|
|
597
|
-
<div className="grid grid-cols-1 gap-8 md:grid-cols-2">
|
|
598
|
-
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
599
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
600
|
-
✅ Built-in Features
|
|
601
|
-
</h3>
|
|
602
|
-
<ul className="!space-y-2 text-sm !text-white/70">
|
|
603
|
-
<li className="!text-white/70">
|
|
604
|
-
Uses Radix UI AccessibleIcon wrapper
|
|
605
|
-
</li>
|
|
606
|
-
<li className="!text-white/70">
|
|
607
|
-
Provides screen reader label "Chevron Double Right icon"
|
|
608
|
-
</li>
|
|
609
|
-
<li className="!text-white/70">
|
|
610
|
-
Supports keyboard navigation when interactive
|
|
611
|
-
</li>
|
|
612
|
-
<li className="!text-white/70">
|
|
613
|
-
Maintains proper color contrast ratios
|
|
614
|
-
</li>
|
|
615
|
-
<li className="!text-white/70">
|
|
616
|
-
Scales with user's font size preferences
|
|
617
|
-
</li>
|
|
618
|
-
</ul>
|
|
619
|
-
</div>
|
|
620
|
-
|
|
621
|
-
<div className="!space-y-4 rounded-lg border border-white/10 bg-white/5 p-6">
|
|
622
|
-
<h3 className="text-lg font-semibold !text-green-300">
|
|
623
|
-
💡 Best Practices
|
|
624
|
-
</h3>
|
|
625
|
-
<ul className="!space-y-2 text-sm text-white/70">
|
|
626
|
-
<li className="!text-white/70">
|
|
627
|
-
Use descriptive aria-labels for buttons
|
|
628
|
-
</li>
|
|
629
|
-
<li className="!text-white/70">
|
|
630
|
-
Provide context for navigation direction
|
|
631
|
-
</li>
|
|
632
|
-
<li className="!text-white/70">
|
|
633
|
-
Ensure sufficient color contrast
|
|
634
|
-
</li>
|
|
635
|
-
<li className="!text-white/70">
|
|
636
|
-
Add focus states for interactive elements
|
|
637
|
-
</li>
|
|
638
|
-
<li className="!text-white/70">
|
|
639
|
-
Consider disabled states for navigation limits
|
|
640
|
-
</li>
|
|
641
|
-
</ul>
|
|
642
|
-
</div>
|
|
643
|
-
</div>
|
|
644
|
-
|
|
645
|
-
<div className="rounded-lg border border-white/10 bg-white/5 p-6">
|
|
646
|
-
<h3 className="mb-4 text-lg font-semibold !text-emerald-300">
|
|
647
|
-
Proper ARIA Labels
|
|
648
|
-
</h3>
|
|
649
|
-
<div className="grid grid-cols-1 gap-6 lg:grid-cols-2">
|
|
650
|
-
<div className="rounded-lg bg-black/40 p-4">
|
|
651
|
-
<pre className="overflow-x-auto text-sm !text-blue-300">
|
|
652
|
-
{`// Pagination buttons with proper labels
|
|
653
|
-
<button
|
|
654
|
-
aria-label="Go to last page"
|
|
655
|
-
className="flex items-center gap-2"
|
|
656
|
-
>
|
|
657
|
-
Last
|
|
658
|
-
<ChevronDoubleRightIcon className="h-4 w-4 " />
|
|
659
|
-
</button>
|
|
660
|
-
|
|
661
|
-
// Icon-only button
|
|
662
|
-
<button
|
|
663
|
-
aria-label="Navigate to end"
|
|
664
|
-
className="p-2 rounded"
|
|
665
|
-
>
|
|
666
|
-
<ChevronDoubleRightIcon className="h-4 w-4 " />
|
|
667
|
-
</button>
|
|
668
|
-
|
|
669
|
-
// Disabled state
|
|
670
|
-
<button
|
|
671
|
-
aria-label="Go to last page"
|
|
672
|
-
disabled
|
|
673
|
-
aria-disabled="true"
|
|
674
|
-
>
|
|
675
|
-
<ChevronDoubleRightIcon className="h-4 w-4 opacity-40 " />
|
|
676
|
-
</button>`}
|
|
677
|
-
</pre>
|
|
678
|
-
</div>
|
|
679
|
-
<div className="!space-y-4">
|
|
680
|
-
<p className="text-sm !text-white/70">
|
|
681
|
-
Always provide meaningful aria-labels that describe the
|
|
682
|
-
action, not just the icon. This helps screen reader
|
|
683
|
-
users understand the purpose of navigation elements.
|
|
684
|
-
</p>
|
|
685
|
-
<div className="rounded-lg border border-green-500/20 bg-green-500/10 p-4">
|
|
686
|
-
<div className="flex items-center gap-2 text-sm text-green-200">
|
|
687
|
-
<ChevronDoubleRightIcon className="h-4 w-4" />
|
|
688
|
-
<span>Good labels improve navigation clarity</span>
|
|
689
|
-
</div>
|
|
690
|
-
</div>
|
|
691
|
-
</div>
|
|
692
|
-
</div>
|
|
693
|
-
</div>
|
|
694
|
-
</div>
|
|
695
|
-
|
|
696
|
-
{/* Related Icons */}
|
|
697
|
-
<div className="!space-y-8">
|
|
698
|
-
<h2 className="text-center text-3xl font-bold !text-white">
|
|
699
|
-
Related Icons
|
|
700
|
-
</h2>
|
|
701
|
-
<div className="grid grid-cols-2 gap-6 md:grid-cols-4">
|
|
702
|
-
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
703
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-blue-500/20">
|
|
704
|
-
<span className="!text-2xl !text-white">«</span>
|
|
705
|
-
</div>
|
|
706
|
-
<div>
|
|
707
|
-
<div className="font-medium text-white">
|
|
708
|
-
ChevronDoubleLeftIcon
|
|
709
|
-
</div>
|
|
710
|
-
<div className="text-xs text-white/60">
|
|
711
|
-
Navigate backward
|
|
712
|
-
</div>
|
|
713
|
-
</div>
|
|
714
|
-
</div>
|
|
715
|
-
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
716
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-500/20">
|
|
717
|
-
<span className="!text-2xl !text-white">›</span>
|
|
718
|
-
</div>
|
|
719
|
-
<div>
|
|
720
|
-
<div className="font-medium text-white">
|
|
721
|
-
ChevronRightIcon
|
|
722
|
-
</div>
|
|
723
|
-
<div className="text-xs text-white/60">
|
|
724
|
-
Single step forward
|
|
725
|
-
</div>
|
|
726
|
-
</div>
|
|
727
|
-
</div>
|
|
728
|
-
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
729
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-purple-500/20">
|
|
730
|
-
<span className="!text-2xl !text-white">↓</span>
|
|
731
|
-
</div>
|
|
732
|
-
<div>
|
|
733
|
-
<div className="font-medium text-white">
|
|
734
|
-
ArrowDownIcon
|
|
735
|
-
</div>
|
|
736
|
-
<div className="text-xs text-white/60">
|
|
737
|
-
Vertical navigation
|
|
738
|
-
</div>
|
|
739
|
-
</div>
|
|
740
|
-
</div>
|
|
741
|
-
<div className="!space-y-3 rounded-lg border border-white/10 bg-white/5 p-4 text-center">
|
|
742
|
-
<div className="!mx-auto flex h-12 w-12 items-center justify-center rounded-lg bg-cyan-500/20">
|
|
743
|
-
<span className="!text-2xl !text-white">⟳</span>
|
|
744
|
-
</div>
|
|
745
|
-
<div>
|
|
746
|
-
<div className="font-medium text-white">RefreshIcon</div>
|
|
747
|
-
<div className="text-xs text-white/60">Reset/reload</div>
|
|
748
|
-
</div>
|
|
749
|
-
</div>
|
|
750
|
-
</div>
|
|
751
|
-
</div>
|
|
752
|
-
</div>
|
|
753
|
-
|
|
754
|
-
{/* Footer */}
|
|
755
|
-
<div className="border-t border-white/10 bg-black/20 backdrop-blur-xl">
|
|
756
|
-
<div className="!mx-auto max-w-7xl px-6 py-8">
|
|
757
|
-
<div className="!space-y-4 text-center">
|
|
758
|
-
<p className="!text-white/60">
|
|
759
|
-
ChevronDoubleRightIcon is part of the Aural UI icon library,
|
|
760
|
-
built with accessibility and forward navigation in mind.
|
|
761
|
-
</p>
|
|
762
|
-
<p className="text-sm !text-white/40">
|
|
763
|
-
All icons use Radix UI's AccessibleIcon for screen reader
|
|
764
|
-
compatibility and follow WCAG guidelines.
|
|
765
|
-
</p>
|
|
766
|
-
</div>
|
|
767
|
-
</div>
|
|
768
|
-
</div>
|
|
769
|
-
</div>
|
|
770
|
-
</>
|
|
55
|
+
}`,
|
|
56
|
+
livePreview: (
|
|
57
|
+
<button
|
|
58
|
+
className="border-fm-divider-secondary flex h-8 w-8 items-center justify-center rounded-lg border"
|
|
59
|
+
aria-label="Last page"
|
|
60
|
+
>
|
|
61
|
+
<ChevronDoubleRightIcon className="text-fm-icon-active h-4 w-4" />
|
|
62
|
+
</button>
|
|
63
|
+
),
|
|
64
|
+
}}
|
|
65
|
+
relatedIcons={[
|
|
66
|
+
{
|
|
67
|
+
name: "ChevronDoubleLeftIcon",
|
|
68
|
+
description: "Double left chevron",
|
|
69
|
+
icon: ChevronDoubleLeftIcon,
|
|
70
|
+
accentToken: "info",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "ChevronRightIcon",
|
|
74
|
+
description: "Single right chevron",
|
|
75
|
+
icon: ChevronRightIcon,
|
|
76
|
+
accentToken: "positive",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "ChevronLeftIcon",
|
|
80
|
+
description: "Single left chevron",
|
|
81
|
+
icon: ChevronLeftIcon,
|
|
82
|
+
accentToken: "warning",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "SkipForwardIcon",
|
|
86
|
+
description: "Skip to next",
|
|
87
|
+
icon: SkipForwardIcon,
|
|
88
|
+
accentToken: "negative",
|
|
89
|
+
},
|
|
90
|
+
]}
|
|
91
|
+
/>
|
|
771
92
|
),
|
|
772
93
|
},
|
|
773
94
|
},
|
|
774
95
|
tags: ["autodocs"],
|
|
775
96
|
argTypes: {
|
|
776
|
-
|
|
777
|
-
control:
|
|
778
|
-
description: "
|
|
97
|
+
className: {
|
|
98
|
+
control: "text",
|
|
99
|
+
description: "CSS classes including size and color token",
|
|
779
100
|
},
|
|
780
101
|
withAccessibility: {
|
|
781
102
|
control: "boolean",
|
|
782
|
-
description: "
|
|
783
|
-
},
|
|
784
|
-
height: {
|
|
785
|
-
control: { type: "range", min: 8, max: 96, step: 2 },
|
|
786
|
-
description: "Height of the icon in pixels",
|
|
787
|
-
},
|
|
788
|
-
stroke: {
|
|
789
|
-
control: "color",
|
|
790
|
-
description: "Stroke color of the icon",
|
|
791
|
-
},
|
|
792
|
-
strokeWidth: {
|
|
793
|
-
control: { type: "range", min: 0.5, max: 3, step: 0.1 },
|
|
794
|
-
description: "Stroke width of the chevron lines",
|
|
795
|
-
},
|
|
796
|
-
className: {
|
|
797
|
-
control: "text",
|
|
798
|
-
description: "CSS classes for styling (use for overrides)",
|
|
103
|
+
description: "Wrap with accessibility label",
|
|
799
104
|
},
|
|
800
105
|
},
|
|
801
106
|
}
|
|
@@ -803,227 +108,124 @@ function PaginationButton() {
|
|
|
803
108
|
export default meta
|
|
804
109
|
type Story = StoryObj<typeof ChevronDoubleRightIcon>
|
|
805
110
|
|
|
806
|
-
// Story parameters for consistent dark theme
|
|
807
|
-
const storyParameters = {
|
|
808
|
-
backgrounds: {
|
|
809
|
-
default: "dark",
|
|
810
|
-
values: [
|
|
811
|
-
{ name: "dark", value: "#0a0a0a" },
|
|
812
|
-
{ name: "darker", value: "#000000" },
|
|
813
|
-
],
|
|
814
|
-
},
|
|
815
|
-
}
|
|
816
|
-
|
|
817
111
|
export const Default: Story = {
|
|
818
112
|
args: {
|
|
819
|
-
|
|
820
|
-
height: 24,
|
|
821
|
-
className: "text-green-400 ",
|
|
113
|
+
className: "h-6 w-6 text-fm-icon-active",
|
|
822
114
|
withAccessibility: true,
|
|
823
115
|
},
|
|
824
|
-
parameters: storyParameters,
|
|
825
116
|
render: (args) => (
|
|
826
|
-
<
|
|
117
|
+
<IconDefaultCanvas>
|
|
827
118
|
<ChevronDoubleRightIcon {...args} />
|
|
828
|
-
</
|
|
119
|
+
</IconDefaultCanvas>
|
|
829
120
|
),
|
|
830
121
|
}
|
|
831
122
|
|
|
832
123
|
export const SizeVariations: Story = {
|
|
833
|
-
|
|
834
|
-
...storyParameters,
|
|
835
|
-
docs: {
|
|
836
|
-
description: {
|
|
837
|
-
story:
|
|
838
|
-
"ChevronDoubleRightIcon in different sizes, from small UI elements to large displays.",
|
|
839
|
-
},
|
|
840
|
-
},
|
|
841
|
-
},
|
|
842
|
-
render: () => (
|
|
843
|
-
<div className="flex h-64 min-h-dvh items-center justify-center gap-8 rounded-lg bg-gradient-to-br from-gray-900 to-gray-800 p-8">
|
|
844
|
-
<div className="text-center">
|
|
845
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-3 w-3 text-green-400" />
|
|
846
|
-
<span className="text-xs text-white/60">12px</span>
|
|
847
|
-
</div>
|
|
848
|
-
<div className="text-center">
|
|
849
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-4 w-4 text-green-400" />
|
|
850
|
-
<span className="text-xs text-white/60">16px</span>
|
|
851
|
-
</div>
|
|
852
|
-
<div className="text-center">
|
|
853
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-5 w-5 text-green-400" />
|
|
854
|
-
<span className="text-xs text-white/60">20px</span>
|
|
855
|
-
</div>
|
|
856
|
-
<div className="text-center">
|
|
857
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-6 w-6 text-green-400" />
|
|
858
|
-
<span className="text-xs text-white/60">24px</span>
|
|
859
|
-
</div>
|
|
860
|
-
<div className="text-center">
|
|
861
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-8 w-8 text-green-400" />
|
|
862
|
-
<span className="text-xs text-white/60">32px</span>
|
|
863
|
-
</div>
|
|
864
|
-
<div className="text-center">
|
|
865
|
-
<ChevronDoubleRightIcon className="!mx-auto mb-2 h-12 w-12 text-green-400" />
|
|
866
|
-
<span className="text-xs text-white/60">48px</span>
|
|
867
|
-
</div>
|
|
868
|
-
</div>
|
|
869
|
-
),
|
|
124
|
+
render: () => <IconSizeVariations icon={ChevronDoubleRightIcon} />,
|
|
870
125
|
}
|
|
871
126
|
|
|
872
127
|
export const ColorVariations: Story = {
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
story:
|
|
878
|
-
"ChevronDoubleRightIcon in different semantic colors for various UI contexts.",
|
|
879
|
-
},
|
|
880
|
-
},
|
|
881
|
-
},
|
|
128
|
+
render: () => <IconColorVariations icon={ChevronDoubleRightIcon} />,
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export const DirectionalVariations: Story = {
|
|
882
132
|
render: () => (
|
|
883
|
-
<
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
<ChevronDoubleRightIcon className="h-8 w-8 text-gray-400" />
|
|
894
|
-
</div>
|
|
895
|
-
<div className="text-sm font-medium text-white">Secondary</div>
|
|
896
|
-
<div className="text-xs text-gray-400">text-gray-400</div>
|
|
897
|
-
</div>
|
|
898
|
-
<div className="text-center">
|
|
899
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-emerald-500/30 bg-emerald-500/20">
|
|
900
|
-
<ChevronDoubleRightIcon className="h-8 w-8 text-emerald-400" />
|
|
901
|
-
</div>
|
|
902
|
-
<div className="text-sm font-medium text-white">Accent</div>
|
|
903
|
-
<div className="text-xs text-emerald-400">text-emerald-400</div>
|
|
904
|
-
</div>
|
|
905
|
-
<div className="text-center">
|
|
906
|
-
<div className="!mx-auto mb-3 flex h-16 w-16 items-center justify-center rounded-lg border border-white/10 bg-white/5">
|
|
907
|
-
<ChevronDoubleRightIcon className="h-8 w-8 text-white/40" />
|
|
908
|
-
</div>
|
|
909
|
-
<div className="text-sm font-medium text-white">Disabled</div>
|
|
910
|
-
<div className="text-xs text-white/40">text-white/40</div>
|
|
911
|
-
</div>
|
|
912
|
-
</div>
|
|
133
|
+
<IconDirectionalVariations
|
|
134
|
+
icon={ChevronDoubleRightIcon}
|
|
135
|
+
directions={[
|
|
136
|
+
{ label: "Right", className: "h-8 w-8 text-fm-icon-active" },
|
|
137
|
+
{
|
|
138
|
+
label: "Left",
|
|
139
|
+
className: "h-8 w-8 text-fm-icon-active rotate-180",
|
|
140
|
+
},
|
|
141
|
+
]}
|
|
142
|
+
/>
|
|
913
143
|
),
|
|
914
144
|
}
|
|
915
145
|
|
|
916
146
|
export const UsageExamples: Story = {
|
|
917
|
-
parameters: {
|
|
918
|
-
...storyParameters,
|
|
919
|
-
docs: {
|
|
920
|
-
description: {
|
|
921
|
-
story:
|
|
922
|
-
"Real-world usage examples showing ChevronDoubleRightIcon in different navigation contexts.",
|
|
923
|
-
},
|
|
924
|
-
},
|
|
925
|
-
},
|
|
926
147
|
render: () => (
|
|
927
|
-
<
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
<
|
|
148
|
+
<IconUsageCanvas>
|
|
149
|
+
<IconUsageSection title="Pagination Last Page">
|
|
150
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-center justify-center gap-1 rounded-xl border p-4">
|
|
151
|
+
<button
|
|
152
|
+
className="border-fm-divider-secondary flex h-8 w-8 items-center justify-center rounded-lg border"
|
|
153
|
+
aria-label="First page"
|
|
154
|
+
>
|
|
155
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-active h-4 w-4" />
|
|
935
156
|
</button>
|
|
936
|
-
<button
|
|
937
|
-
|
|
938
|
-
|
|
157
|
+
<button
|
|
158
|
+
className="border-fm-divider-secondary flex h-8 w-8 items-center justify-center rounded-lg border"
|
|
159
|
+
aria-label="Previous page"
|
|
160
|
+
>
|
|
161
|
+
<ChevronLeftIcon className="text-fm-icon-active h-4 w-4" />
|
|
162
|
+
</button>
|
|
163
|
+
<span className="text-fm-secondary font-fm-text px-2 text-sm">
|
|
164
|
+
24 of 24
|
|
165
|
+
</span>
|
|
166
|
+
<button
|
|
167
|
+
className="border-fm-divider-secondary flex h-8 w-8 items-center justify-center rounded-lg border"
|
|
168
|
+
aria-label="Next page"
|
|
169
|
+
>
|
|
170
|
+
<ChevronRightIcon className="text-fm-icon-inactive h-4 w-4" />
|
|
171
|
+
</button>
|
|
172
|
+
<button
|
|
173
|
+
className="border-fm-divider-secondary flex h-8 w-8 items-center justify-center rounded-lg border"
|
|
174
|
+
aria-label="Last page"
|
|
175
|
+
>
|
|
176
|
+
<ChevronDoubleRightIcon className="text-fm-icon-inactive h-4 w-4" />
|
|
939
177
|
</button>
|
|
940
178
|
</div>
|
|
941
|
-
</
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
<
|
|
953
|
-
|
|
954
|
-
<ChevronDoubleRightIcon className="h-3 w-3" />
|
|
955
|
-
</button>
|
|
956
|
-
</nav>
|
|
957
|
-
</div>
|
|
958
|
-
</div>
|
|
959
|
-
|
|
960
|
-
{/* Table Navigation */}
|
|
961
|
-
<div className="!space-y-2">
|
|
962
|
-
<h3 className="text-sm font-medium text-white">Table Navigation</h3>
|
|
963
|
-
<div className="overflow-hidden rounded-lg border border-white/10 bg-white/5">
|
|
964
|
-
<div className="flex items-center justify-between border-b border-white/10 p-4">
|
|
965
|
-
<span className="text-sm text-white/70">
|
|
966
|
-
Showing 91-100 of 100 items
|
|
967
|
-
</span>
|
|
968
|
-
<div className="flex items-center gap-1">
|
|
969
|
-
<button
|
|
970
|
-
className="rounded p-1 text-white/40"
|
|
971
|
-
disabled
|
|
972
|
-
aria-label="Next page"
|
|
973
|
-
>
|
|
974
|
-
<ChevronDoubleRightIcon className="h-4 w-4 -rotate-90" />
|
|
975
|
-
</button>
|
|
976
|
-
<button
|
|
977
|
-
className="rounded p-1 text-green-400 hover:bg-green-500/10"
|
|
978
|
-
aria-label="Go to last page"
|
|
979
|
-
>
|
|
980
|
-
<ChevronDoubleRightIcon className="h-4 w-4" />
|
|
981
|
-
</button>
|
|
982
|
-
</div>
|
|
983
|
-
</div>
|
|
179
|
+
</IconUsageSection>
|
|
180
|
+
|
|
181
|
+
<IconUsageSection title="Expand Sidebar">
|
|
182
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-center justify-between rounded-xl border px-4 py-3">
|
|
183
|
+
<span className="text-fm-primary font-fm-text text-sm font-medium">
|
|
184
|
+
Panel
|
|
185
|
+
</span>
|
|
186
|
+
<button
|
|
187
|
+
className="border-fm-divider-secondary rounded-lg border p-1"
|
|
188
|
+
aria-label="Expand to right"
|
|
189
|
+
>
|
|
190
|
+
<ChevronDoubleRightIcon className="text-fm-icon-active h-4 w-4" />
|
|
191
|
+
</button>
|
|
984
192
|
</div>
|
|
985
|
-
</
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
193
|
+
</IconUsageSection>
|
|
194
|
+
|
|
195
|
+
<IconUsageSection title="Fast Forward">
|
|
196
|
+
<div className="border-fm-divider-secondary bg-fm-surface-secondary flex w-full max-w-sm items-center justify-center gap-3 rounded-xl border p-4">
|
|
197
|
+
<button
|
|
198
|
+
className="border-fm-divider-secondary flex h-9 w-9 items-center justify-center rounded-full border"
|
|
199
|
+
aria-label="Rewind"
|
|
200
|
+
>
|
|
201
|
+
<ChevronDoubleLeftIcon className="text-fm-icon-active h-4 w-4" />
|
|
202
|
+
</button>
|
|
203
|
+
<button
|
|
204
|
+
className="bg-fm-icon-active flex h-10 w-10 items-center justify-center rounded-full"
|
|
205
|
+
aria-label="Play"
|
|
206
|
+
>
|
|
207
|
+
<span className="text-fm-primary font-fm-text text-xs">Play</span>
|
|
208
|
+
</button>
|
|
209
|
+
<button
|
|
210
|
+
className="border-fm-divider-secondary flex h-9 w-9 items-center justify-center rounded-full border"
|
|
211
|
+
aria-label="Fast forward"
|
|
212
|
+
>
|
|
213
|
+
<ChevronDoubleRightIcon className="text-fm-icon-active h-4 w-4" />
|
|
214
|
+
</button>
|
|
1000
215
|
</div>
|
|
1001
|
-
</
|
|
1002
|
-
</
|
|
216
|
+
</IconUsageSection>
|
|
217
|
+
</IconUsageCanvas>
|
|
1003
218
|
),
|
|
1004
219
|
}
|
|
1005
220
|
|
|
1006
221
|
export const Playground: Story = {
|
|
1007
|
-
parameters: {
|
|
1008
|
-
...storyParameters,
|
|
1009
|
-
docs: {
|
|
1010
|
-
description: {
|
|
1011
|
-
story:
|
|
1012
|
-
"Interactive playground to experiment with different ChevronDoubleRightIcon configurations.",
|
|
1013
|
-
},
|
|
1014
|
-
},
|
|
1015
|
-
},
|
|
1016
222
|
args: {
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
className: "text-green-400 ",
|
|
1020
|
-
strokeWidth: 1.5,
|
|
223
|
+
className: "h-8 w-8 text-fm-icon-active",
|
|
224
|
+
withAccessibility: true,
|
|
1021
225
|
},
|
|
1022
226
|
render: (args) => (
|
|
1023
|
-
<
|
|
1024
|
-
<
|
|
1025
|
-
|
|
1026
|
-
</div>
|
|
1027
|
-
</div>
|
|
227
|
+
<IconPlaygroundCanvas>
|
|
228
|
+
<ChevronDoubleRightIcon {...args} />
|
|
229
|
+
</IconPlaygroundCanvas>
|
|
1028
230
|
),
|
|
1029
231
|
}
|