@typecaast/skins 0.1.0 → 0.2.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/chunk-3WKOSJVB.js +320 -0
- package/dist/chunk-3WKOSJVB.js.map +1 -0
- package/dist/chunk-6K2ANTPJ.cjs +722 -0
- package/dist/chunk-6K2ANTPJ.cjs.map +1 -0
- package/dist/chunk-7IC3DRCQ.js +718 -0
- package/dist/chunk-7IC3DRCQ.js.map +1 -0
- package/dist/chunk-AMP2ZMTF.cjs +275 -0
- package/dist/chunk-AMP2ZMTF.cjs.map +1 -0
- package/dist/chunk-BMB4ZKAU.cjs +32 -0
- package/dist/chunk-BMB4ZKAU.cjs.map +1 -0
- package/dist/chunk-CAHWYIXY.js +272 -0
- package/dist/chunk-CAHWYIXY.js.map +1 -0
- package/dist/chunk-CCT33UVA.cjs +591 -0
- package/dist/chunk-CCT33UVA.cjs.map +1 -0
- package/dist/chunk-E5K2XXQL.cjs +469 -0
- package/dist/chunk-E5K2XXQL.cjs.map +1 -0
- package/dist/chunk-FEXZ3X5C.cjs +255 -0
- package/dist/chunk-FEXZ3X5C.cjs.map +1 -0
- package/dist/chunk-JDPMZ572.js +466 -0
- package/dist/chunk-JDPMZ572.js.map +1 -0
- package/dist/chunk-JZVM4T2A.js +29 -0
- package/dist/chunk-JZVM4T2A.js.map +1 -0
- package/dist/chunk-KTQVRSDX.cjs +323 -0
- package/dist/chunk-KTQVRSDX.cjs.map +1 -0
- package/dist/chunk-M54H2ZJJ.js +252 -0
- package/dist/chunk-M54H2ZJJ.js.map +1 -0
- package/dist/chunk-NCSI7C7I.js +561 -0
- package/dist/chunk-NCSI7C7I.js.map +1 -0
- package/dist/chunk-OC7WDISK.js +343 -0
- package/dist/chunk-OC7WDISK.js.map +1 -0
- package/dist/chunk-UC43JQYK.cjs +346 -0
- package/dist/chunk-UC43JQYK.cjs.map +1 -0
- package/dist/chunk-UFC4ODW5.js +587 -0
- package/dist/chunk-UFC4ODW5.js.map +1 -0
- package/dist/chunk-UKWBCC7E.cjs +567 -0
- package/dist/chunk-UKWBCC7E.cjs.map +1 -0
- package/dist/claude-code/index.cjs +19 -0
- package/dist/claude-code/index.cjs.map +1 -0
- package/dist/claude-code/index.d.cts +6 -0
- package/dist/claude-code/index.d.ts +6 -0
- package/dist/claude-code/index.js +4 -0
- package/dist/claude-code/index.js.map +1 -0
- package/dist/cursor/index.cjs +19 -0
- package/dist/cursor/index.cjs.map +1 -0
- package/dist/cursor/index.d.cts +6 -0
- package/dist/cursor/index.d.ts +6 -0
- package/dist/cursor/index.js +4 -0
- package/dist/cursor/index.js.map +1 -0
- package/dist/discord/index.cjs +19 -0
- package/dist/discord/index.cjs.map +1 -0
- package/dist/discord/index.d.cts +6 -0
- package/dist/discord/index.d.ts +6 -0
- package/dist/discord/index.js +4 -0
- package/dist/discord/index.js.map +1 -0
- package/dist/imessage/index.cjs +20 -0
- package/dist/imessage/index.cjs.map +1 -0
- package/dist/imessage/index.d.cts +6 -0
- package/dist/imessage/index.d.ts +6 -0
- package/dist/imessage/index.js +5 -0
- package/dist/imessage/index.js.map +1 -0
- package/dist/index.cjs +52 -2664
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +49 -27
- package/dist/index.d.ts +49 -27
- package/dist/index.js +20 -2656
- package/dist/index.js.map +1 -1
- package/dist/messages-macos/index.cjs +20 -0
- package/dist/messages-macos/index.cjs.map +1 -0
- package/dist/messages-macos/index.d.cts +10 -0
- package/dist/messages-macos/index.d.ts +10 -0
- package/dist/messages-macos/index.js +5 -0
- package/dist/messages-macos/index.js.map +1 -0
- package/dist/slack/index.cjs +19 -0
- package/dist/slack/index.cjs.map +1 -0
- package/dist/slack/index.d.cts +6 -0
- package/dist/slack/index.d.ts +6 -0
- package/dist/slack/index.js +4 -0
- package/dist/slack/index.js.map +1 -0
- package/dist/telegram/index.cjs +19 -0
- package/dist/telegram/index.cjs.map +1 -0
- package/dist/telegram/index.d.cts +6 -0
- package/dist/telegram/index.d.ts +6 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/index.js.map +1 -0
- package/dist/whatsapp/index.cjs +19 -0
- package/dist/whatsapp/index.cjs.map +1 -0
- package/dist/whatsapp/index.d.cts +6 -0
- package/dist/whatsapp/index.d.ts +6 -0
- package/dist/whatsapp/index.js +4 -0
- package/dist/whatsapp/index.js.map +1 -0
- package/package.json +49 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/telegram/tokens.ts","../src/telegram/fonts.ts","../src/telegram/components.tsx","../src/telegram/capabilities.ts","../src/telegram/index.ts"],"names":[],"mappings":"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","file":"chunk-7IC3DRCQ.js","sourcesContent":["import type { ResolvedTheme } from \"@typecaast/core\";\nimport type { SkinTokens } from \"@typecaast/skin-kit\";\n\n/** Telegram's palette per theme (matched to the Day/Night desktop themes). */\nexport interface TelegramColors {\n /** Chat wallpaper behind the bubbles. */\n bg: string;\n headerBg: string;\n headerText: string;\n /** Status / typing subtitle (accent-ish). */\n headerSubtle: string;\n subtle: string;\n link: string;\n mentionText: string;\n /** Sender name shown atop incoming group leads. */\n nameColor: string;\n incomingBg: string;\n incomingText: string;\n incomingMeta: string;\n outgoingBg: string;\n outgoingText: string;\n outgoingMeta: string;\n /** Read tick color on outgoing messages. */\n tick: string;\n reactionBg: string;\n reactionText: string;\n composerBg: string;\n composerFieldBg: string;\n composerBorder: string;\n placeholder: string;\n /** Accent fill for the send button + inline buttons. */\n accent: string;\n accentText: string;\n /** Inline-keyboard button (bot card actions). */\n buttonBg: string;\n buttonText: string;\n /** Centered service-message pill. */\n systemBg: string;\n systemText: string;\n shadow: string;\n}\n\nexport const TELEGRAM_COLORS: Record<ResolvedTheme, TelegramColors> = {\n light: {\n bg: \"#d5e3f0\",\n headerBg: \"#ffffff\",\n headerText: \"#000000\",\n headerSubtle: \"#3390ec\",\n subtle: \"#a1aab3\",\n link: \"#3390ec\",\n mentionText: \"#3390ec\",\n nameColor: \"#3390ec\",\n incomingBg: \"#ffffff\",\n incomingText: \"#000000\",\n incomingMeta: \"#a1aab3\",\n outgoingBg: \"#effdde\",\n outgoingText: \"#000000\",\n outgoingMeta: \"#5fb15a\",\n tick: \"#5fb15a\",\n reactionBg: \"#e8f3ff\",\n reactionText: \"#3390ec\",\n composerBg: \"#ffffff\",\n composerFieldBg: \"#ffffff\",\n composerBorder: \"#e3e8ec\",\n placeholder: \"#a1aab3\",\n accent: \"#3390ec\",\n accentText: \"#ffffff\",\n buttonBg: \"rgba(51,144,236,0.10)\",\n buttonText: \"#3390ec\",\n systemBg: \"rgba(0,0,0,0.26)\",\n systemText: \"#ffffff\",\n shadow: \"0 1px 0.5px rgba(0,0,0,0.13)\",\n },\n dark: {\n bg: \"#0e1621\",\n headerBg: \"#17212b\",\n headerText: \"#ffffff\",\n headerSubtle: \"#6cb7eb\",\n subtle: \"#6d7f8f\",\n link: \"#62bcf9\",\n mentionText: \"#62bcf9\",\n nameColor: \"#62bcf9\",\n incomingBg: \"#182533\",\n incomingText: \"#ffffff\",\n incomingMeta: \"#6d7f8f\",\n outgoingBg: \"#2b5278\",\n outgoingText: \"#ffffff\",\n outgoingMeta: \"#8badd6\",\n tick: \"#72d5fd\",\n reactionBg: \"#213040\",\n reactionText: \"#62bcf9\",\n composerBg: \"#17212b\",\n composerFieldBg: \"#17212b\",\n composerBorder: \"#101921\",\n placeholder: \"#6d7f8f\",\n accent: \"#3390ec\",\n accentText: \"#ffffff\",\n buttonBg: \"rgba(98,188,249,0.12)\",\n buttonText: \"#62bcf9\",\n systemBg: \"rgba(0,0,0,0.4)\",\n systemText: \"#ffffff\",\n shadow: \"0 1px 2px rgba(0,0,0,0.35)\",\n },\n};\n\n/** Pack the color sets into the generic `SkinTokens` shape for the contract. */\nexport const telegramTokens: { light: SkinTokens; dark: SkinTokens } = {\n light: {\n colors: TELEGRAM_COLORS.light as unknown as Record<string, string>,\n },\n dark: { colors: TELEGRAM_COLORS.dark as unknown as Record<string, string> },\n};\n","import type { FontDeclaration } from \"@typecaast/skin-kit\";\n\n/**\n * Telegram Desktop renders with the host **system UI font**; Telegram Web/Android\n * use **Roboto**. We declare Roboto (Apache-2.0, bundleable) as the substitute\n * so the look is stable across the live preview and the video renderer, falling\n * back to the system stack.\n */\nexport const telegramFonts: FontDeclaration[] = [\n {\n family: \"Roboto\",\n intended: \"system-ui / Roboto\",\n weights: [400, 500, 700],\n sources: [\n {\n url: \"https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxK.woff2\",\n weight: 400,\n format: \"woff2\",\n },\n {\n url: \"https://fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmEU9fBBc-.woff2\",\n weight: 500,\n format: \"woff2\",\n },\n {\n url: \"https://fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBBc-.woff2\",\n weight: 700,\n format: \"woff2\",\n },\n ],\n },\n];\n\n/** The CSS font stack the skin renders with (declared font first). */\nexport const TELEGRAM_FONT_STACK =\n 'Roboto, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif';\n","import { useState, type FC, type ReactNode } from \"react\";\nimport type {\n AvatarProps,\n ComposerProps,\n FrameProps,\n MessageProps,\n ReactionProps,\n SystemProps,\n TypingProps,\n} from \"@typecaast/core\";\nimport {\n fadeSlideIn,\n MessageContent,\n popIn,\n type ContentStyles,\n} from \"@typecaast/skin-kit\";\nimport { TELEGRAM_COLORS, type TelegramColors } from \"./tokens.js\";\nimport { TELEGRAM_FONT_STACK } from \"./fonts.js\";\n\nconst AVATAR_SIZE = 34;\nconst BUBBLE_RADIUS = 12;\nconst TAIL_RADIUS = 6;\n\n/** Join reactor names (\"A\", \"A and B\", \"A, B and C\") for the reaction tooltip. */\nfunction joinNames(names: string[]): string {\n if (names.length <= 1) return names[0] ?? \"\";\n if (names.length === 2) return `${names[0]} and ${names[1]}`;\n return `${names.slice(0, -1).join(\", \")} and ${names[names.length - 1]}`;\n}\n\n/** Fabricate a stable wall-clock time from a timeline offset (sim starts 9:00am). */\nfunction formatTime(atMs: number): string {\n const base = 9 * 3600 * 1000;\n const total = Math.floor((base + atMs) / 1000);\n const h = Math.floor(total / 3600) % 24;\n const m = Math.floor((total % 3600) / 60);\n const ampm = h >= 12 ? \"PM\" : \"AM\";\n const hr = h % 12 === 0 ? 12 : h % 12;\n return `${hr}:${String(m).padStart(2, \"0\")} ${ampm}`;\n}\n\nfunction initials(name: string): string {\n return name\n .split(/\\s+/)\n .map((w) => w.charAt(0))\n .slice(0, 2)\n .join(\"\")\n .toUpperCase();\n}\n\nfunction markStyles(c: TelegramColors): ContentStyles {\n return {\n link: { color: c.link, textDecoration: \"none\" },\n mention: { color: c.mentionText, fontWeight: 500 },\n code: {\n fontFamily: \"Menlo, Monaco, Consolas, monospace\",\n fontSize: \"0.9em\",\n },\n };\n}\n\nconst Avatar: FC<AvatarProps> = ({\n theme,\n participant,\n size = AVATAR_SIZE,\n}) => {\n if (participant.avatar) {\n return (\n <img\n src={participant.avatar}\n alt={participant.name}\n width={size}\n height={size}\n style={{\n width: size,\n height: size,\n borderRadius: \"50%\",\n objectFit: \"cover\",\n display: \"block\",\n }}\n />\n );\n }\n void theme;\n return (\n <div\n aria-label={participant.name}\n style={{\n width: size,\n height: size,\n borderRadius: \"50%\",\n background: participant.color ?? \"#3390ec\",\n color: \"#ffffff\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontWeight: 600,\n fontSize: size * 0.4,\n }}\n >\n {initials(participant.name)}\n </div>\n );\n};\n\n/** A small hover popup naming who reacted (Telegram shows reactor avatars). */\nconst ReactionTooltip: FC<{ names: string[] }> = ({ names }) => (\n <span\n role=\"tooltip\"\n style={{\n position: \"absolute\",\n bottom: \"calc(100% + 6px)\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n zIndex: 20,\n whiteSpace: \"nowrap\",\n background: \"rgba(0,0,0,0.82)\",\n color: \"#fff\",\n borderRadius: 8,\n padding: \"5px 9px\",\n fontSize: 12,\n boxShadow: \"0 4px 14px rgba(0,0,0,0.4)\",\n pointerEvents: \"none\",\n }}\n >\n {joinNames(names)}\n </span>\n);\n\nconst Reaction: FC<ReactionProps> = ({ theme, reaction }) => {\n const c = TELEGRAM_COLORS[theme];\n const [hover, setHover] = useState(false);\n const hasReactors = reaction.byNames.length > 0;\n return (\n <span\n style={{\n position: \"relative\",\n display: \"inline-flex\",\n ...popIn(reaction.progress),\n }}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n >\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 3,\n background: c.reactionBg,\n color: c.reactionText,\n borderRadius: 12,\n padding: \"2px 8px\",\n height: 22,\n fontSize: 12.5,\n fontWeight: 600,\n cursor: hasReactors ? \"pointer\" : \"default\",\n }}\n >\n <span style={{ fontSize: 13 }}>{reaction.emoji}</span>\n <span style={{ fontVariantNumeric: \"tabular-nums\" }}>\n {reaction.count}\n </span>\n </span>\n {hover && hasReactors ? (\n <ReactionTooltip names={reaction.byNames} />\n ) : null}\n </span>\n );\n};\n\n// Telegram animates three dots in a small incoming bubble while a peer types.\nconst Dot: FC<{ c: TelegramColors; delay: number }> = ({ c, delay }) => (\n <span\n style={{\n width: 5,\n height: 5,\n borderRadius: \"50%\",\n background: c.headerSubtle,\n display: \"inline-block\",\n animation: `tc-tg-typing 1.2s ${delay}ms infinite ease-in-out`,\n }}\n />\n);\n\nconst TypingIndicator: FC<TypingProps> = ({ theme, author }) => {\n const c = TELEGRAM_COLORS[theme];\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-end\",\n gap: 8,\n padding: \"2px 12px 4px\",\n }}\n >\n <div style={{ width: AVATAR_SIZE, flex: \"0 0 auto\" }}>\n <Avatar theme={theme} participant={author} />\n </div>\n <div\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 4,\n background: c.incomingBg,\n borderRadius: `${BUBBLE_RADIUS}px ${BUBBLE_RADIUS}px ${BUBBLE_RADIUS}px ${TAIL_RADIUS}px`,\n padding: \"10px 12px\",\n boxShadow: c.shadow,\n }}\n >\n <style>\n {\n \"@keyframes tc-tg-typing{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}\"\n }\n </style>\n <Dot c={c} delay={0} />\n <Dot c={c} delay={160} />\n <Dot c={c} delay={320} />\n </div>\n </div>\n );\n};\n\nconst Caret: FC<{ color: string }> = ({ color }) => (\n <span\n style={{\n display: \"inline-block\",\n width: 1.5,\n height: \"1.05em\",\n background: color,\n marginLeft: 1,\n verticalAlign: \"text-bottom\",\n }}\n />\n);\n\nconst PaperPlane: FC<{ color: string }> = ({ color }) => (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill={color}\n aria-hidden=\"true\"\n >\n <path d=\"M2.5 12 21 3.5 17 21l-5.2-4.6L9 20l-.6-5.1L2.5 12Z\" />\n </svg>\n);\n\nconst Composer: FC<ComposerProps> = ({ theme, composer }) => {\n const c = TELEGRAM_COLORS[theme];\n const hasText = composer.text.length > 0;\n return (\n <div\n style={{\n flex: \"0 0 auto\",\n display: \"flex\",\n alignItems: \"flex-end\",\n gap: 8,\n padding: \"8px 10px 12px\",\n background: c.composerBg,\n }}\n >\n <div\n style={{\n flex: 1,\n minWidth: 0,\n border: `1px solid ${c.composerBorder}`,\n borderRadius: 18,\n background: c.composerFieldBg,\n padding: \"9px 14px\",\n minHeight: 20,\n fontSize: 15,\n color: c.incomingText,\n boxShadow: c.shadow,\n }}\n >\n {hasText ? (\n <span>\n {composer.text}\n <Caret color={c.accent} />\n </span>\n ) : (\n <span style={{ color: c.placeholder }}>Message</span>\n )}\n </div>\n <div\n style={{\n flex: \"0 0 auto\",\n width: 38,\n height: 38,\n borderRadius: \"50%\",\n background: hasText ? c.accent : \"transparent\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <PaperPlane color={hasText ? c.accentText : c.placeholder} />\n </div>\n </div>\n );\n};\n\n/** Bubble meta: time, plus read ticks on outgoing messages. */\nconst Meta: FC<{ c: TelegramColors; atMs: number; outgoing: boolean }> = ({\n c,\n atMs,\n outgoing,\n}) => (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 3,\n fontSize: 11,\n lineHeight: 1,\n color: outgoing ? c.outgoingMeta : c.incomingMeta,\n float: \"right\",\n marginLeft: 8,\n marginTop: 6,\n position: \"relative\",\n top: 4,\n }}\n >\n {formatTime(atMs)}\n {outgoing ? <span style={{ color: c.tick }}>✓✓</span> : null}\n </span>\n);\n\nconst Message: FC<MessageProps> = ({ theme, message, author }) => {\n const c = TELEGRAM_COLORS[theme];\n const outgoing = message.isSelf;\n const grouped = message.isGrouped;\n const radius = outgoing\n ? `${BUBBLE_RADIUS}px ${BUBBLE_RADIUS}px ${grouped ? BUBBLE_RADIUS : TAIL_RADIUS}px ${BUBBLE_RADIUS}px`\n : `${BUBBLE_RADIUS}px ${BUBBLE_RADIUS}px ${BUBBLE_RADIUS}px ${grouped ? BUBBLE_RADIUS : TAIL_RADIUS}px`;\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: outgoing ? \"row-reverse\" : \"row\",\n alignItems: \"flex-end\",\n gap: 8,\n padding: grouped ? \"1px 12px\" : \"3px 12px 1px\",\n ...fadeSlideIn(message.revealProgress),\n }}\n >\n {/* Incoming keeps a gutter so grouped bubbles align under the avatar. */}\n {outgoing ? null : (\n <div style={{ width: AVATAR_SIZE, flex: \"0 0 auto\" }}>\n {grouped ? null : <Avatar theme={theme} participant={author} />}\n </div>\n )}\n <div\n style={{ maxWidth: \"78%\", display: \"flex\", flexDirection: \"column\" }}\n >\n <div\n style={{\n background: outgoing ? c.outgoingBg : c.incomingBg,\n color: outgoing ? c.outgoingText : c.incomingText,\n borderRadius: radius,\n padding: \"6px 10px 7px\",\n boxShadow: c.shadow,\n wordBreak: \"break-word\",\n fontSize: 15,\n lineHeight: 1.35,\n }}\n >\n {!outgoing && !grouped ? (\n <div\n style={{\n color: author.color ?? c.nameColor,\n fontWeight: 600,\n fontSize: 13.5,\n marginBottom: 2,\n }}\n >\n {author.name}\n </div>\n ) : null}\n <MessageContent\n nodes={message.content}\n styles={markStyles(c)}\n imageStyle={{ borderRadius: 8, marginTop: 2, maxWidth: 320 }}\n />\n <Meta c={c} atMs={message.atMs} outgoing={outgoing} />\n </div>\n {message.reactions.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n gap: 4,\n marginTop: 4,\n flexWrap: \"wrap\",\n justifyContent: outgoing ? \"flex-end\" : \"flex-start\",\n }}\n >\n {message.reactions.map((r, i) => (\n <Reaction key={i} theme={theme} reaction={r} />\n ))}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\n/** A bot card: an incoming bubble plus an inline keyboard (Telegram bot UI). */\nconst SystemMessage: FC<SystemProps> = ({ theme, message, author }) => {\n const c = TELEGRAM_COLORS[theme];\n const actions = message.system?.actions ?? [];\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-end\",\n gap: 8,\n padding: \"3px 12px 1px\",\n ...fadeSlideIn(message.revealProgress),\n }}\n >\n <div style={{ width: AVATAR_SIZE, flex: \"0 0 auto\" }}>\n {author ? <Avatar theme={theme} participant={author} /> : null}\n </div>\n <div\n style={{ maxWidth: \"78%\", display: \"flex\", flexDirection: \"column\" }}\n >\n <div\n style={{\n background: c.incomingBg,\n color: c.incomingText,\n borderRadius: `${BUBBLE_RADIUS}px ${BUBBLE_RADIUS}px ${BUBBLE_RADIUS}px ${TAIL_RADIUS}px`,\n padding: \"6px 10px 7px\",\n boxShadow: c.shadow,\n fontSize: 15,\n lineHeight: 1.35,\n }}\n >\n <div\n style={{\n color: author?.color ?? c.nameColor,\n fontWeight: 600,\n fontSize: 13.5,\n marginBottom: 2,\n }}\n >\n {author?.name ?? \"Bot\"}\n </div>\n <MessageContent nodes={message.content} styles={markStyles(c)} />\n <Meta c={c} atMs={message.atMs} outgoing={false} />\n </div>\n {actions.length > 0 ? (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: 3,\n marginTop: 4,\n }}\n >\n {actions.map((a, i) => (\n <div\n key={i}\n style={{\n background: c.buttonBg,\n color: c.buttonText,\n borderRadius: 8,\n padding: \"9px 12px\",\n textAlign: \"center\",\n fontSize: 14,\n fontWeight: 500,\n cursor: \"default\",\n }}\n >\n {a.label}\n </div>\n ))}\n </div>\n ) : null}\n </div>\n </div>\n );\n};\n\nconst Frame: FC<FrameProps & { children?: ReactNode }> = ({\n theme,\n options,\n children,\n}) => {\n const c = TELEGRAM_COLORS[theme];\n const title =\n (typeof options?.title === \"string\" && options.title) ||\n (typeof options?.contact === \"string\" && options.contact) ||\n \"Group chat\";\n const status =\n typeof options?.status === \"string\" && options.status\n ? options.status\n : \"online\";\n return (\n <div\n style={{\n fontFamily: TELEGRAM_FONT_STACK,\n background: c.bg,\n color: c.incomingText,\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n width: \"100%\",\n fontSize: 15,\n WebkitFontSmoothing: \"antialiased\",\n }}\n >\n <header\n style={{\n flex: \"0 0 auto\",\n padding: \"9px 14px\",\n background: c.headerBg,\n borderBottom: `1px solid ${c.composerBorder}`,\n display: \"flex\",\n alignItems: \"center\",\n gap: 12,\n }}\n >\n <span style={{ color: c.headerSubtle, fontSize: 22, lineHeight: 1 }}>\n ‹\n </span>\n <div style={{ flex: 1, minWidth: 0 }}>\n <div\n style={{\n fontWeight: 600,\n fontSize: 15,\n color: c.headerText,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {title}\n </div>\n <div style={{ fontSize: 12.5, color: c.headerSubtle }}>{status}</div>\n </div>\n <div\n style={{\n width: 36,\n height: 36,\n borderRadius: \"50%\",\n background: c.accent,\n color: \"#fff\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontWeight: 600,\n fontSize: 14,\n }}\n >\n {initials(title)}\n </div>\n </header>\n <div\n style={{\n flex: \"1 1 auto\",\n minHeight: 0,\n display: \"flex\",\n flexDirection: \"column\",\n paddingBottom: 6,\n }}\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport const telegramComponents = {\n Frame,\n Message,\n TypingIndicator,\n Reaction,\n Composer,\n SystemMessage,\n Avatar,\n};\n","import type { Capabilities } from \"@typecaast/skin-kit\";\n\n/** What the Telegram skin supports and how it represents each event/content type. */\nexport const telegramCapabilities: Capabilities = {\n events: {\n message: \"native\",\n reaction: \"native\",\n typing: \"native\", // \"X is typing…\" (rendered in-thread)\n composerType: \"native\",\n send: \"native\",\n edit: \"native\",\n delete: \"native\",\n readReceipt: \"unsupported\", // shown as double-ticks on the bubble, not a step\n system: \"native\", // bot message + inline keyboard\n beat: \"native\",\n },\n content: {\n text: true,\n image: true,\n },\n reactions: true,\n threads: false,\n readReceipts: false,\n};\n","import { z } from \"zod\";\nimport { defineSkin } from \"@typecaast/skin-kit\";\nimport { telegramComponents } from \"./components.js\";\nimport { telegramCapabilities } from \"./capabilities.js\";\nimport { telegramFonts } from \"./fonts.js\";\nimport { telegramTokens } from \"./tokens.js\";\n\nconst telegramOptionsSchema = z.object({\n /** Chat title shown in the header (e.g. `\"PostHog team\"`). */\n title: z.string().optional(),\n /** Alias for the title (matches other contact-style skins). */\n contact: z.string().optional(),\n /** Header subtitle, e.g. `\"online\"` or `\"last seen recently\"`. */\n status: z.string().optional(),\n});\n\n/** A Telegram-style chat skin (light \"Day\" + dark \"Night\"). */\nexport const telegram = defineSkin({\n id: \"telegram\",\n meta: {\n name: \"Telegram\",\n defaultCanvas: { width: 440, height: 780 },\n supportsThemes: [\"light\", \"dark\"],\n capabilities: telegramCapabilities,\n optionsSchema: telegramOptionsSchema,\n fonts: telegramFonts,\n },\n components: telegramComponents,\n tokens: telegramTokens,\n});\n\n/** Default export so `@typecaast/skins/telegram` can be lazy-imported uniformly. */\nexport default telegram;\n"]}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkUKWBCC7E_cjs = require('./chunk-UKWBCC7E.cjs');
|
|
5
|
+
var zod = require('zod');
|
|
6
|
+
var skinKit = require('@typecaast/skin-kit');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
var CHROME = {
|
|
10
|
+
light: {
|
|
11
|
+
window: "#ffffff",
|
|
12
|
+
sidebar: "#f5f5f7",
|
|
13
|
+
sidebarBorder: "#e0e0e2",
|
|
14
|
+
titleBar: "#ececee",
|
|
15
|
+
text: "#1d1d1f",
|
|
16
|
+
subtle: "#86868b",
|
|
17
|
+
activeRow: "#0b93f6",
|
|
18
|
+
activeText: "#ffffff",
|
|
19
|
+
searchBg: "#e4e4e6"
|
|
20
|
+
},
|
|
21
|
+
dark: {
|
|
22
|
+
window: "#1e1e1e",
|
|
23
|
+
sidebar: "#28282a",
|
|
24
|
+
sidebarBorder: "#3a3a3c",
|
|
25
|
+
titleBar: "#323234",
|
|
26
|
+
text: "#f5f5f7",
|
|
27
|
+
subtle: "#98989d",
|
|
28
|
+
activeRow: "#0b6cff",
|
|
29
|
+
activeText: "#ffffff",
|
|
30
|
+
searchBg: "#3a3a3c"
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var TRAFFIC = ["#ff5f56", "#ffbd2e", "#27c93f"];
|
|
34
|
+
function initials(name) {
|
|
35
|
+
return name.split(/\s+/).map((w) => w.charAt(0)).slice(0, 2).join("").toUpperCase();
|
|
36
|
+
}
|
|
37
|
+
var SAMPLE_CONVOS = [
|
|
38
|
+
{ name: "Sam Carter", preview: "you're the best, omw \u{1F3C3}", time: "9:41 AM" },
|
|
39
|
+
{ name: "Mum", preview: "call me when you can \u2764\uFE0F", time: "Yesterday" },
|
|
40
|
+
{ name: "Design", preview: "Tap to load preview", time: "Tuesday" },
|
|
41
|
+
{ name: "Alex Rivera", preview: "ship it \u{1F680}", time: "Monday" }
|
|
42
|
+
];
|
|
43
|
+
var SidebarRow = ({ theme, name, preview, time, active }) => {
|
|
44
|
+
const ch = CHROME[theme];
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
style: {
|
|
49
|
+
display: "flex",
|
|
50
|
+
gap: 10,
|
|
51
|
+
padding: "8px 10px",
|
|
52
|
+
borderRadius: 8,
|
|
53
|
+
background: active ? ch.activeRow : "transparent",
|
|
54
|
+
color: active ? ch.activeText : ch.text
|
|
55
|
+
},
|
|
56
|
+
children: [
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
style: {
|
|
61
|
+
width: 40,
|
|
62
|
+
height: 40,
|
|
63
|
+
borderRadius: "50%",
|
|
64
|
+
background: active ? "rgba(255,255,255,0.25)" : "#a9a9af",
|
|
65
|
+
color: "#fff",
|
|
66
|
+
display: "flex",
|
|
67
|
+
alignItems: "center",
|
|
68
|
+
justifyContent: "center",
|
|
69
|
+
fontSize: 15,
|
|
70
|
+
flex: "0 0 40px"
|
|
71
|
+
},
|
|
72
|
+
children: initials(name)
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { minWidth: 0, flex: 1 }, children: [
|
|
76
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", justifyContent: "space-between" }, children: [
|
|
77
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 14, fontWeight: 600 }, children: name }),
|
|
78
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
+
"span",
|
|
80
|
+
{
|
|
81
|
+
style: {
|
|
82
|
+
fontSize: 11,
|
|
83
|
+
color: active ? "rgba(255,255,255,0.8)" : ch.subtle
|
|
84
|
+
},
|
|
85
|
+
children: time
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] }),
|
|
89
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
style: {
|
|
93
|
+
fontSize: 13,
|
|
94
|
+
color: active ? "rgba(255,255,255,0.85)" : ch.subtle,
|
|
95
|
+
whiteSpace: "nowrap",
|
|
96
|
+
overflow: "hidden",
|
|
97
|
+
textOverflow: "ellipsis"
|
|
98
|
+
},
|
|
99
|
+
children: preview
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
] })
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
};
|
|
107
|
+
var Frame = ({
|
|
108
|
+
theme,
|
|
109
|
+
options,
|
|
110
|
+
children
|
|
111
|
+
}) => {
|
|
112
|
+
const ch = CHROME[theme];
|
|
113
|
+
const contact = typeof options?.contact === "string" ? options.contact : "Messages";
|
|
114
|
+
const convos = [
|
|
115
|
+
{ name: contact, preview: "active now", time: "now" },
|
|
116
|
+
...SAMPLE_CONVOS.filter((c) => c.name !== contact)
|
|
117
|
+
];
|
|
118
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
119
|
+
"div",
|
|
120
|
+
{
|
|
121
|
+
style: {
|
|
122
|
+
fontFamily: chunkUKWBCC7E_cjs.IMESSAGE_FONT_STACK,
|
|
123
|
+
background: ch.window,
|
|
124
|
+
color: ch.text,
|
|
125
|
+
display: "flex",
|
|
126
|
+
flexDirection: "column",
|
|
127
|
+
height: "100%",
|
|
128
|
+
width: "100%",
|
|
129
|
+
WebkitFontSmoothing: "antialiased"
|
|
130
|
+
},
|
|
131
|
+
children: [
|
|
132
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
133
|
+
"div",
|
|
134
|
+
{
|
|
135
|
+
style: {
|
|
136
|
+
flex: "0 0 auto",
|
|
137
|
+
height: 38,
|
|
138
|
+
background: ch.titleBar,
|
|
139
|
+
display: "flex",
|
|
140
|
+
alignItems: "center",
|
|
141
|
+
gap: 8,
|
|
142
|
+
padding: "0 13px",
|
|
143
|
+
borderBottom: `1px solid ${ch.sidebarBorder}`
|
|
144
|
+
},
|
|
145
|
+
children: TRAFFIC.map((color) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
146
|
+
"span",
|
|
147
|
+
{
|
|
148
|
+
style: {
|
|
149
|
+
width: 12,
|
|
150
|
+
height: 12,
|
|
151
|
+
borderRadius: "50%",
|
|
152
|
+
background: color
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
color
|
|
156
|
+
))
|
|
157
|
+
}
|
|
158
|
+
),
|
|
159
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: "1 1 auto", minHeight: 0, display: "flex" }, children: [
|
|
160
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
161
|
+
"div",
|
|
162
|
+
{
|
|
163
|
+
style: {
|
|
164
|
+
flex: "0 0 250px",
|
|
165
|
+
background: ch.sidebar,
|
|
166
|
+
borderRight: `1px solid ${ch.sidebarBorder}`,
|
|
167
|
+
display: "flex",
|
|
168
|
+
flexDirection: "column",
|
|
169
|
+
padding: "8px 8px 0"
|
|
170
|
+
},
|
|
171
|
+
children: [
|
|
172
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
173
|
+
"div",
|
|
174
|
+
{
|
|
175
|
+
style: {
|
|
176
|
+
background: ch.searchBg,
|
|
177
|
+
borderRadius: 7,
|
|
178
|
+
padding: "5px 9px",
|
|
179
|
+
color: ch.subtle,
|
|
180
|
+
fontSize: 13,
|
|
181
|
+
marginBottom: 6
|
|
182
|
+
},
|
|
183
|
+
children: "\u{1F50D} Search"
|
|
184
|
+
}
|
|
185
|
+
),
|
|
186
|
+
convos.slice(0, 5).map((cv, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
187
|
+
SidebarRow,
|
|
188
|
+
{
|
|
189
|
+
theme,
|
|
190
|
+
name: cv.name,
|
|
191
|
+
preview: cv.preview,
|
|
192
|
+
time: cv.time,
|
|
193
|
+
active: i === 0
|
|
194
|
+
},
|
|
195
|
+
cv.name
|
|
196
|
+
))
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
),
|
|
200
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
201
|
+
"div",
|
|
202
|
+
{
|
|
203
|
+
style: {
|
|
204
|
+
flex: "1 1 auto",
|
|
205
|
+
minWidth: 0,
|
|
206
|
+
display: "flex",
|
|
207
|
+
flexDirection: "column",
|
|
208
|
+
background: ch.window
|
|
209
|
+
},
|
|
210
|
+
children: [
|
|
211
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
212
|
+
"div",
|
|
213
|
+
{
|
|
214
|
+
style: {
|
|
215
|
+
flex: "0 0 auto",
|
|
216
|
+
textAlign: "center",
|
|
217
|
+
padding: "8px 0",
|
|
218
|
+
borderBottom: `1px solid ${ch.sidebarBorder}`,
|
|
219
|
+
fontSize: 13,
|
|
220
|
+
fontWeight: 600
|
|
221
|
+
},
|
|
222
|
+
children: contact
|
|
223
|
+
}
|
|
224
|
+
),
|
|
225
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
226
|
+
"div",
|
|
227
|
+
{
|
|
228
|
+
style: {
|
|
229
|
+
flex: "1 1 auto",
|
|
230
|
+
minHeight: 0,
|
|
231
|
+
display: "flex",
|
|
232
|
+
flexDirection: "column",
|
|
233
|
+
justifyContent: "flex-end",
|
|
234
|
+
overflow: "hidden",
|
|
235
|
+
paddingBottom: 4
|
|
236
|
+
},
|
|
237
|
+
children
|
|
238
|
+
}
|
|
239
|
+
)
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
)
|
|
243
|
+
] })
|
|
244
|
+
]
|
|
245
|
+
}
|
|
246
|
+
);
|
|
247
|
+
};
|
|
248
|
+
var macosComponents = {
|
|
249
|
+
...chunkUKWBCC7E_cjs.imessageComponents,
|
|
250
|
+
Frame
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
// src/messages-macos/index.ts
|
|
254
|
+
var macosOptionsSchema = zod.z.object({
|
|
255
|
+
contact: zod.z.string().optional()
|
|
256
|
+
});
|
|
257
|
+
var messagesMacos = skinKit.defineSkin({
|
|
258
|
+
id: "messages-macos",
|
|
259
|
+
meta: {
|
|
260
|
+
name: "Messages (macOS)",
|
|
261
|
+
defaultCanvas: { width: 900, height: 600 },
|
|
262
|
+
supportsThemes: ["light", "dark"],
|
|
263
|
+
capabilities: chunkUKWBCC7E_cjs.imessageCapabilities,
|
|
264
|
+
optionsSchema: macosOptionsSchema,
|
|
265
|
+
fonts: chunkUKWBCC7E_cjs.imessageFonts
|
|
266
|
+
},
|
|
267
|
+
components: macosComponents,
|
|
268
|
+
tokens: chunkUKWBCC7E_cjs.imessageTokens
|
|
269
|
+
});
|
|
270
|
+
var messages_macos_default = messagesMacos;
|
|
271
|
+
|
|
272
|
+
exports.messagesMacos = messagesMacos;
|
|
273
|
+
exports.messages_macos_default = messages_macos_default;
|
|
274
|
+
//# sourceMappingURL=chunk-AMP2ZMTF.cjs.map
|
|
275
|
+
//# sourceMappingURL=chunk-AMP2ZMTF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/messages-macos/components.tsx","../src/messages-macos/index.ts"],"names":["jsxs","jsx","IMESSAGE_FONT_STACK","imessageComponents","z","defineSkin","imessageCapabilities","imessageFonts","imessageTokens"],"mappings":"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","file":"chunk-AMP2ZMTF.cjs","sourcesContent":["import type { FC, ReactNode } from \"react\";\nimport type { FrameProps, ResolvedTheme } from \"@typecaast/core\";\nimport { imessageComponents } from \"../imessage/components.js\";\nimport { IMESSAGE_COLORS, IMESSAGE_FONT_STACK } from \"../imessage/tokens.js\";\n\n// macOS-specific window/sidebar chrome (bubbles + composer reuse iMessage).\nconst CHROME = {\n light: {\n window: \"#ffffff\",\n sidebar: \"#f5f5f7\",\n sidebarBorder: \"#e0e0e2\",\n titleBar: \"#ececee\",\n text: \"#1d1d1f\",\n subtle: \"#86868b\",\n activeRow: \"#0b93f6\",\n activeText: \"#ffffff\",\n searchBg: \"#e4e4e6\",\n },\n dark: {\n window: \"#1e1e1e\",\n sidebar: \"#28282a\",\n sidebarBorder: \"#3a3a3c\",\n titleBar: \"#323234\",\n text: \"#f5f5f7\",\n subtle: \"#98989d\",\n activeRow: \"#0b6cff\",\n activeText: \"#ffffff\",\n searchBg: \"#3a3a3c\",\n },\n} as const;\n\nconst TRAFFIC = [\"#ff5f56\", \"#ffbd2e\", \"#27c93f\"];\n\nfunction initials(name: string): string {\n return name\n .split(/\\s+/)\n .map((w) => w.charAt(0))\n .slice(0, 2)\n .join(\"\")\n .toUpperCase();\n}\n\nconst SAMPLE_CONVOS = [\n { name: \"Sam Carter\", preview: \"you're the best, omw 🏃\", time: \"9:41 AM\" },\n { name: \"Mum\", preview: \"call me when you can ❤️\", time: \"Yesterday\" },\n { name: \"Design\", preview: \"Tap to load preview\", time: \"Tuesday\" },\n { name: \"Alex Rivera\", preview: \"ship it 🚀\", time: \"Monday\" },\n];\n\nconst SidebarRow: FC<{\n theme: ResolvedTheme;\n name: string;\n preview: string;\n time: string;\n active: boolean;\n}> = ({ theme, name, preview, time, active }) => {\n const ch = CHROME[theme];\n return (\n <div\n style={{\n display: \"flex\",\n gap: 10,\n padding: \"8px 10px\",\n borderRadius: 8,\n background: active ? ch.activeRow : \"transparent\",\n color: active ? ch.activeText : ch.text,\n }}\n >\n <div\n style={{\n width: 40,\n height: 40,\n borderRadius: \"50%\",\n background: active ? \"rgba(255,255,255,0.25)\" : \"#a9a9af\",\n color: \"#fff\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: 15,\n flex: \"0 0 40px\",\n }}\n >\n {initials(name)}\n </div>\n <div style={{ minWidth: 0, flex: 1 }}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\" }}>\n <span style={{ fontSize: 14, fontWeight: 600 }}>{name}</span>\n <span\n style={{\n fontSize: 11,\n color: active ? \"rgba(255,255,255,0.8)\" : ch.subtle,\n }}\n >\n {time}\n </span>\n </div>\n <div\n style={{\n fontSize: 13,\n color: active ? \"rgba(255,255,255,0.85)\" : ch.subtle,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n }}\n >\n {preview}\n </div>\n </div>\n </div>\n );\n};\n\nconst Frame: FC<FrameProps & { children?: ReactNode }> = ({\n theme,\n options,\n children,\n}) => {\n const ch = CHROME[theme];\n const contact =\n typeof options?.contact === \"string\" ? options.contact : \"Messages\";\n const convos = [\n { name: contact, preview: \"active now\", time: \"now\" },\n ...SAMPLE_CONVOS.filter((c) => c.name !== contact),\n ];\n return (\n <div\n style={{\n fontFamily: IMESSAGE_FONT_STACK,\n background: ch.window,\n color: ch.text,\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n width: \"100%\",\n WebkitFontSmoothing: \"antialiased\",\n }}\n >\n <div\n style={{\n flex: \"0 0 auto\",\n height: 38,\n background: ch.titleBar,\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n padding: \"0 13px\",\n borderBottom: `1px solid ${ch.sidebarBorder}`,\n }}\n >\n {TRAFFIC.map((color) => (\n <span\n key={color}\n style={{\n width: 12,\n height: 12,\n borderRadius: \"50%\",\n background: color,\n }}\n />\n ))}\n </div>\n <div style={{ flex: \"1 1 auto\", minHeight: 0, display: \"flex\" }}>\n <div\n style={{\n flex: \"0 0 250px\",\n background: ch.sidebar,\n borderRight: `1px solid ${ch.sidebarBorder}`,\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"8px 8px 0\",\n }}\n >\n <div\n style={{\n background: ch.searchBg,\n borderRadius: 7,\n padding: \"5px 9px\",\n color: ch.subtle,\n fontSize: 13,\n marginBottom: 6,\n }}\n >\n 🔍 Search\n </div>\n {convos.slice(0, 5).map((cv, i) => (\n <SidebarRow\n key={cv.name}\n theme={theme}\n name={cv.name}\n preview={cv.preview}\n time={cv.time}\n active={i === 0}\n />\n ))}\n </div>\n <div\n style={{\n flex: \"1 1 auto\",\n minWidth: 0,\n display: \"flex\",\n flexDirection: \"column\",\n background: ch.window,\n }}\n >\n <div\n style={{\n flex: \"0 0 auto\",\n textAlign: \"center\",\n padding: \"8px 0\",\n borderBottom: `1px solid ${ch.sidebarBorder}`,\n fontSize: 13,\n fontWeight: 600,\n }}\n >\n {contact}\n </div>\n <div\n style={{\n flex: \"1 1 auto\",\n minHeight: 0,\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n overflow: \"hidden\",\n paddingBottom: 4,\n }}\n >\n {children}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n// Reuse iMessage bubbles, reactions, typing, composer, avatar — only the Frame\n// differs (window + sidebar + wider layout). Shared tokens (IMESSAGE_COLORS).\nexport const macosComponents = {\n ...imessageComponents,\n Frame,\n};\n\nexport { IMESSAGE_COLORS };\n","import { z } from \"zod\";\nimport { defineSkin } from \"@typecaast/skin-kit\";\nimport { macosComponents } from \"./components.js\";\nimport { imessageCapabilities } from \"../imessage/capabilities.js\";\nimport { imessageFonts } from \"../imessage/fonts.js\";\nimport { imessageTokens } from \"../imessage/tokens.js\";\n\nconst macosOptionsSchema = z.object({\n contact: z.string().optional(),\n});\n\n/**\n * macOS Messages — the desktop counterpart to the iOS skin. Window chrome +\n * a conversation sidebar + a wider layout, sharing iMessage's bubbles, tokens,\n * fonts, and capabilities. Distinct skin, shared internals.\n */\nexport const messagesMacos = defineSkin({\n id: \"messages-macos\",\n meta: {\n name: \"Messages (macOS)\",\n defaultCanvas: { width: 900, height: 600 },\n supportsThemes: [\"light\", \"dark\"],\n capabilities: imessageCapabilities,\n optionsSchema: macosOptionsSchema,\n fonts: imessageFonts,\n },\n components: macosComponents,\n tokens: imessageTokens,\n});\n\n/** Default export so `@typecaast/skins/messages-macos` can be lazy-imported uniformly. */\nexport default messagesMacos;\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkUKWBCC7E_cjs = require('./chunk-UKWBCC7E.cjs');
|
|
5
|
+
var zod = require('zod');
|
|
6
|
+
var skinKit = require('@typecaast/skin-kit');
|
|
7
|
+
|
|
8
|
+
var imessageOptionsSchema = zod.z.object({
|
|
9
|
+
/** Contact name shown in the nav bar. */
|
|
10
|
+
contact: zod.z.string().optional(),
|
|
11
|
+
/** Show the on-screen keyboard (default true). */
|
|
12
|
+
keyboard: zod.z.boolean().optional()
|
|
13
|
+
});
|
|
14
|
+
var imessage = skinKit.defineSkin({
|
|
15
|
+
id: "imessage",
|
|
16
|
+
meta: {
|
|
17
|
+
name: "iMessage (iOS)",
|
|
18
|
+
defaultCanvas: { width: 390, height: 844 },
|
|
19
|
+
supportsThemes: ["light", "dark"],
|
|
20
|
+
capabilities: chunkUKWBCC7E_cjs.imessageCapabilities,
|
|
21
|
+
optionsSchema: imessageOptionsSchema,
|
|
22
|
+
fonts: chunkUKWBCC7E_cjs.imessageFonts
|
|
23
|
+
},
|
|
24
|
+
components: chunkUKWBCC7E_cjs.imessageComponents,
|
|
25
|
+
tokens: chunkUKWBCC7E_cjs.imessageTokens
|
|
26
|
+
});
|
|
27
|
+
var imessage_default = imessage;
|
|
28
|
+
|
|
29
|
+
exports.imessage = imessage;
|
|
30
|
+
exports.imessage_default = imessage_default;
|
|
31
|
+
//# sourceMappingURL=chunk-BMB4ZKAU.cjs.map
|
|
32
|
+
//# sourceMappingURL=chunk-BMB4ZKAU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/imessage/index.ts"],"names":["z","defineSkin","imessageCapabilities","imessageFonts","imessageComponents","imessageTokens"],"mappings":";;;;;;AAOA,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA;AAAA,EAErC,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAE7B,QAAA,EAAUA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AACxB,CAAC,CAAA;AAGM,IAAM,WAAWC,kBAAA,CAAW;AAAA,EACjC,EAAA,EAAI,UAAA;AAAA,EACJ,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,gBAAA;AAAA,IACN,aAAA,EAAe,EAAE,KAAA,EAAO,GAAA,EAAK,QAAQ,GAAA,EAAI;AAAA,IACzC,cAAA,EAAgB,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,IAChC,YAAA,EAAcC,sCAAA;AAAA,IACd,aAAA,EAAe,qBAAA;AAAA,IACf,KAAA,EAAOC;AAAA,GACT;AAAA,EACA,UAAA,EAAYC,oCAAA;AAAA,EACZ,MAAA,EAAQC;AACV,CAAC;AAGD,IAAO,gBAAA,GAAQ","file":"chunk-BMB4ZKAU.cjs","sourcesContent":["import { z } from \"zod\";\nimport { defineSkin } from \"@typecaast/skin-kit\";\nimport { imessageComponents } from \"./components.js\";\nimport { imessageCapabilities } from \"./capabilities.js\";\nimport { imessageFonts } from \"./fonts.js\";\nimport { imessageTokens } from \"./tokens.js\";\n\nconst imessageOptionsSchema = z.object({\n /** Contact name shown in the nav bar. */\n contact: z.string().optional(),\n /** Show the on-screen keyboard (default true). */\n keyboard: z.boolean().optional(),\n});\n\n/** An iMessage-style iOS skin (light + dark): bubbles, status bar, keyboard. */\nexport const imessage = defineSkin({\n id: \"imessage\",\n meta: {\n name: \"iMessage (iOS)\",\n defaultCanvas: { width: 390, height: 844 },\n supportsThemes: [\"light\", \"dark\"],\n capabilities: imessageCapabilities,\n optionsSchema: imessageOptionsSchema,\n fonts: imessageFonts,\n },\n components: imessageComponents,\n tokens: imessageTokens,\n});\n\n/** Default export so `@typecaast/skins/imessage` can be lazy-imported uniformly. */\nexport default imessage;\n"]}
|