@sanity/icons
Version:
The Sanity icons.
275 lines (274 loc) • 12.9 kB
JavaScript
import { Suspense, lazy } from "react";
import { jsx } from "react/jsx-runtime";
/**
* @public
*/
const icons = {
"access-denied": lazy(() => import("./AccessDenied.js")),
activity: lazy(() => import("./Activity.js")),
"add-circle": lazy(() => import("./AddCircle.js")),
"add-comment": lazy(() => import("./AddComment.js")),
"add-document": lazy(() => import("./AddDocument.js")),
add: lazy(() => import("./Add.js")),
"add-user": lazy(() => import("./AddUser.js")),
api: lazy(() => import("./Api.js")),
archive: lazy(() => import("./Archive.js")),
"arrow-down": lazy(() => import("./ArrowDown.js")),
"arrow-left": lazy(() => import("./ArrowLeft.js")),
"arrow-right": lazy(() => import("./ArrowRight.js")),
"arrow-top-right": lazy(() => import("./ArrowTopRight.js")),
"arrow-up": lazy(() => import("./ArrowUp.js")),
asterisk: lazy(() => import("./Asterisk.js")),
"bar-chart": lazy(() => import("./BarChart.js")),
basket: lazy(() => import("./Basket.js")),
bell: lazy(() => import("./Bell.js")),
bill: lazy(() => import("./Bill.js")),
"binary-document": lazy(() => import("./BinaryDocument.js")),
"block-content": lazy(() => import("./BlockContent.js")),
"block-element": lazy(() => import("./BlockElement.js")),
blockquote: lazy(() => import("./Blockquote.js")),
bold: lazy(() => import("./Bold.js")),
bolt: lazy(() => import("./Bolt.js")),
book: lazy(() => import("./Book.js")),
"bookmark-filled": lazy(() => import("./BookmarkFilled.js")),
bookmark: lazy(() => import("./Bookmark.js")),
bottle: lazy(() => import("./Bottle.js")),
bug: lazy(() => import("./Bug.js")),
"bulb-filled": lazy(() => import("./BulbFilled.js")),
"bulb-outline": lazy(() => import("./BulbOutline.js")),
calendar: lazy(() => import("./Calendar.js")),
case: lazy(() => import("./Case.js")),
"chart-upward": lazy(() => import("./ChartUpward.js")),
"checkmark-circle": lazy(() => import("./CheckmarkCircle.js")),
checkmark: lazy(() => import("./Checkmark.js")),
"chevron-down": lazy(() => import("./ChevronDown.js")),
"chevron-left": lazy(() => import("./ChevronLeft.js")),
"chevron-right": lazy(() => import("./ChevronRight.js")),
"chevron-up": lazy(() => import("./ChevronUp.js")),
circle: lazy(() => import("./Circle.js")),
clipboard: lazy(() => import("./Clipboard.js")),
"clipboard-image": lazy(() => import("./ClipboardImage.js")),
clock: lazy(() => import("./Clock.js")),
"close-circle": lazy(() => import("./CloseCircle.js")),
close: lazy(() => import("./Close.js")),
"code-block": lazy(() => import("./CodeBlock.js")),
code: lazy(() => import("./Code.js")),
cog: lazy(() => import("./Cog.js")),
collapse: lazy(() => import("./Collapse.js")),
"color-wheel": lazy(() => import("./ColorWheel.js")),
comment: lazy(() => import("./Comment.js")),
component: lazy(() => import("./Component.js")),
compose: lazy(() => import("./Compose.js")),
"compose-sparkles": lazy(() => import("./ComposeSparkles.js")),
confetti: lazy(() => import("./Confetti.js")),
controls: lazy(() => import("./Controls.js")),
copy: lazy(() => import("./Copy.js")),
"credit-card": lazy(() => import("./CreditCard.js")),
crop: lazy(() => import("./Crop.js")),
cube: lazy(() => import("./Cube.js")),
dashboard: lazy(() => import("./Dashboard.js")),
database: lazy(() => import("./Database.js")),
desktop: lazy(() => import("./Desktop.js")),
diamond: lazy(() => import("./Diamond.js")),
document: lazy(() => import("./Document.js")),
"document-pdf": lazy(() => import("./DocumentPdf.js")),
"document-remove": lazy(() => import("./DocumentRemove.js")),
"document-sheet": lazy(() => import("./DocumentSheet.js")),
"document-text": lazy(() => import("./DocumentText.js")),
"document-video": lazy(() => import("./DocumentVideo.js")),
"document-word": lazy(() => import("./DocumentWord.js")),
"document-zip": lazy(() => import("./DocumentZip.js")),
documents: lazy(() => import("./Documents.js")),
dot: lazy(() => import("./Dot.js")),
"double-chevron-down": lazy(() => import("./DoubleChevronDown.js")),
"double-chevron-left": lazy(() => import("./DoubleChevronLeft.js")),
"double-chevron-right": lazy(() => import("./DoubleChevronRight.js")),
"double-chevron-up": lazy(() => import("./DoubleChevronUp.js")),
"double-quote": lazy(() => import("./DoubleQuote.js")),
download: lazy(() => import("./Download.js")),
"drag-handle": lazy(() => import("./DragHandle.js")),
drop: lazy(() => import("./Drop.js")),
"earth-americas": lazy(() => import("./EarthAmericas.js")),
"earth-globe": lazy(() => import("./EarthGlobe.js")),
edit: lazy(() => import("./Edit.js")),
"ellipsis-horizontal": lazy(() => import("./EllipsisHorizontal.js")),
"ellipsis-vertical": lazy(() => import("./EllipsisVertical.js")),
empty: lazy(() => import("./Empty.js")),
enter: lazy(() => import("./Enter.js")),
"enter-right": lazy(() => import("./EnterRight.js")),
envelope: lazy(() => import("./Envelope.js")),
equal: lazy(() => import("./Equal.js")),
"error-filled": lazy(() => import("./ErrorFilled.js")),
"error-outline": lazy(() => import("./ErrorOutline.js")),
"error-screen": lazy(() => import("./ErrorScreen.js")),
expand: lazy(() => import("./Expand.js")),
"eye-closed": lazy(() => import("./EyeClosed.js")),
"eye-open": lazy(() => import("./EyeOpen.js")),
"face-happy": lazy(() => import("./FaceHappy.js")),
"face-indifferent": lazy(() => import("./FaceIndifferent.js")),
"face-sad": lazy(() => import("./FaceSad.js")),
feedback: lazy(() => import("./Feedback.js")),
filter: lazy(() => import("./Filter.js")),
folder: lazy(() => import("./Folder.js")),
generate: lazy(() => import("./Generate.js")),
github: lazy(() => import("./Github.js")),
groq: lazy(() => import("./Groq.js")),
hash: lazy(() => import("./Hash.js")),
"heart-filled": lazy(() => import("./HeartFilled.js")),
heart: lazy(() => import("./Heart.js")),
"help-circle": lazy(() => import("./HelpCircle.js")),
highlight: lazy(() => import("./Highlight.js")),
home: lazy(() => import("./Home.js")),
"ice-cream": lazy(() => import("./IceCream.js")),
image: lazy(() => import("./Image.js")),
"image-remove": lazy(() => import("./ImageRemove.js")),
images: lazy(() => import("./Images.js")),
inbox: lazy(() => import("./Inbox.js")),
"info-filled": lazy(() => import("./InfoFilled.js")),
"info-outline": lazy(() => import("./InfoOutline.js")),
"inline-element": lazy(() => import("./InlineElement.js")),
inline: lazy(() => import("./Inline.js")),
"insert-above": lazy(() => import("./InsertAbove.js")),
"insert-below": lazy(() => import("./InsertBelow.js")),
italic: lazy(() => import("./Italic.js")),
joystick: lazy(() => import("./Joystick.js")),
json: lazy(() => import("./Json.js")),
launch: lazy(() => import("./Launch.js")),
leave: lazy(() => import("./Leave.js")),
lemon: lazy(() => import("./Lemon.js")),
link: lazy(() => import("./Link.js")),
"link-removed": lazy(() => import("./LinkRemoved.js")),
linkedin: lazy(() => import("./Linkedin.js")),
list: lazy(() => import("./List.js")),
lock: lazy(() => import("./Lock.js")),
"logo-js": lazy(() => import("./LogoJs.js")),
"logo-ts": lazy(() => import("./LogoTs.js")),
marker: lazy(() => import("./Marker.js")),
"marker-removed": lazy(() => import("./MarkerRemoved.js")),
"master-detail": lazy(() => import("./MasterDetail.js")),
menu: lazy(() => import("./Menu.js")),
microphone: lazy(() => import("./Microphone.js")),
"microphone-slash": lazy(() => import("./MicrophoneSlash.js")),
"mobile-device": lazy(() => import("./MobileDevice.js")),
moon: lazy(() => import("./Moon.js")),
number: lazy(() => import("./Number.js")),
"ok-hand": lazy(() => import("./OkHand.js")),
olist: lazy(() => import("./Olist.js")),
overage: lazy(() => import("./Overage.js")),
package: lazy(() => import("./Package.js")),
"panel-left": lazy(() => import("./PanelLeft.js")),
"panel-right": lazy(() => import("./PanelRight.js")),
pause: lazy(() => import("./Pause.js")),
"pin-filled": lazy(() => import("./PinFilled.js")),
pin: lazy(() => import("./Pin.js")),
"pin-removed": lazy(() => import("./PinRemoved.js")),
play: lazy(() => import("./Play.js")),
plug: lazy(() => import("./Plug.js")),
presentation: lazy(() => import("./Presentation.js")),
"progress-50": lazy(() => import("./Progress50.js")),
"progress-75": lazy(() => import("./Progress75.js")),
projects: lazy(() => import("./Projects.js")),
publish: lazy(() => import("./Publish.js")),
"read-only": lazy(() => import("./ReadOnly.js")),
redo: lazy(() => import("./Redo.js")),
refresh: lazy(() => import("./Refresh.js")),
"remove-circle": lazy(() => import("./RemoveCircle.js")),
remove: lazy(() => import("./Remove.js")),
reset: lazy(() => import("./Reset.js")),
restore: lazy(() => import("./Restore.js")),
retrieve: lazy(() => import("./Retrieve.js")),
retry: lazy(() => import("./Retry.js")),
revert: lazy(() => import("./Revert.js")),
robot: lazy(() => import("./Robot.js")),
rocket: lazy(() => import("./Rocket.js")),
schema: lazy(() => import("./Schema.js")),
search: lazy(() => import("./Search.js")),
select: lazy(() => import("./Select.js")),
share: lazy(() => import("./Share.js")),
sort: lazy(() => import("./Sort.js")),
sparkle: lazy(() => import("./Sparkle.js")),
sparkles: lazy(() => import("./Sparkles.js")),
spinner: lazy(() => import("./Spinner.js")),
"split-horizontal": lazy(() => import("./SplitHorizontal.js")),
"split-vertical": lazy(() => import("./SplitVertical.js")),
square: lazy(() => import("./Square.js")),
"stack-compact": lazy(() => import("./StackCompact.js")),
stack: lazy(() => import("./Stack.js")),
"star-filled": lazy(() => import("./StarFilled.js")),
star: lazy(() => import("./Star.js")),
stop: lazy(() => import("./Stop.js")),
strikethrough: lazy(() => import("./Strikethrough.js")),
string: lazy(() => import("./String.js")),
sun: lazy(() => import("./Sun.js")),
sync: lazy(() => import("./Sync.js")),
"tablet-device": lazy(() => import("./TabletDevice.js")),
tag: lazy(() => import("./Tag.js")),
tags: lazy(() => import("./Tags.js")),
target: lazy(() => import("./Target.js")),
task: lazy(() => import("./Task.js")),
terminal: lazy(() => import("./Terminal.js")),
text: lazy(() => import("./Text.js")),
"th-large": lazy(() => import("./ThLarge.js")),
"th-list": lazy(() => import("./ThList.js")),
"thumbs-down": lazy(() => import("./ThumbsDown.js")),
"thumbs-up": lazy(() => import("./ThumbsUp.js")),
tiers: lazy(() => import("./Tiers.js")),
timeline: lazy(() => import("./Timeline.js")),
"toggle-arrow-right": lazy(() => import("./ToggleArrowRight.js")),
token: lazy(() => import("./Token.js")),
transfer: lazy(() => import("./Transfer.js")),
translate: lazy(() => import("./Translate.js")),
trash: lazy(() => import("./Trash.js")),
"trend-upward": lazy(() => import("./TrendUpward.js")),
"triangle-outline": lazy(() => import("./TriangleOutline.js")),
trolley: lazy(() => import("./Trolley.js")),
truncate: lazy(() => import("./Truncate.js")),
twitter: lazy(() => import("./Twitter.js")),
ulist: lazy(() => import("./Ulist.js")),
unarchive: lazy(() => import("./Unarchive.js")),
underline: lazy(() => import("./Underline.js")),
undo: lazy(() => import("./Undo.js")),
unknown: lazy(() => import("./Unknown.js")),
unlink: lazy(() => import("./Unlink.js")),
unlock: lazy(() => import("./Unlock.js")),
unpublish: lazy(() => import("./Unpublish.js")),
upload: lazy(() => import("./Upload.js")),
user: lazy(() => import("./User.js")),
users: lazy(() => import("./Users.js")),
versions: lazy(() => import("./Versions.js")),
video: lazy(() => import("./Video.js")),
"warning-filled": lazy(() => import("./WarningFilled.js")),
"warning-outline": lazy(() => import("./WarningOutline.js")),
wrench: lazy(() => import("./Wrench.js"))
};
/**
* Renders the icon for the given `symbol` from the lazy `icons` map.
*
* The searchable icon catalog at {@link https://icons.sanity.dev} helps finding the right
* icon – each one is shown with a copyable import snippet.
*
* While the icon chunk loads, a fallback svg with the exact same shell as every generated
* icon (`data-sanity-icon`, `width`/`height` of `1em`, the shared `viewBox`, and the spread
* props) is rendered, so the icon slot reserves its final size and responds to the same
* styling from the first paint – the way an `<img>` with intrinsic dimensions behaves while
* its `src` is still downloading.
*
* @public
*/
function Icon(props) {
let { symbol, ...restProps } = props, IconComponent = icons[symbol];
return IconComponent ? /* @__PURE__ */ jsx(Suspense, {
fallback: /* @__PURE__ */ jsx("svg", {
"data-sanity-icon": symbol,
width: "1em",
height: "1em",
viewBox: "0 0 25 25",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
...restProps
}),
children: /* @__PURE__ */ jsx(IconComponent, { ...restProps })
}) : null;
}
export { Icon, icons };
//# sourceMappingURL=index.js.map