Skip to content

Kody is live

Watch the launch video — what Kody is, and why it exists.

← Public packages

@kentcdodds/package-app-kit

Design tokens, PWA install/update, About/version, cache helpers, and optional realtime notes sync for Kody package apps.

app/icons/download.tsx

39 lines · 962 B · TypeScript
/** @jsxRuntime automatic */
/** @jsxImportSource remix/ui */
/**
 * Lucide icon `download` (ISC) — generated by scripts/add-lucide-icon.mjs
 * Source: https://lucide.dev/icons/download
 * Remix Handle component (returns a render function). Re-run the script to refresh.
 */
import type { Handle } from 'remix/ui'

export type IconDownloadProps = {
	size?: number
	class?: string
}

export function IconDownload(handle: Handle<IconDownloadProps>) {
	return () => {
		const size = handle.props.size ?? 20
		return (
			<svg
				xmlns="http://www.w3.org/2000/svg"
				width={size}
				height={size}
				viewBox="0 0 24 24"
				fill="none"
				stroke="currentColor"
				stroke-width="2"
				stroke-linecap="round"
				stroke-linejoin="round"
				class={handle.props.class}
				aria-hidden="true"
				data-lucide="download"
			>
				<path d="M12 15V3" />
				<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
				<path d="m7 10 5 5 5-5" />
			</svg>
		)
	}
}