defmodule KinoFigma do @moduledoc """ A simple Kino for display Figma files on Livebook. """ use Kino.JS def new(type, file_id, opts \\ []) do width = opts[:width] || "100%" height = opts[:height] || "450" iframe = """ """ Kino.JS.new(__MODULE__, iframe) end def design(file_id, opts \\ []) do new("design", file_id, opts) end def board(file_id, opts \\ []) do new("board", file_id, opts) end def slides(file_id, opts \\ []) do new("slides", file_id, opts) end def deck(file_id, opts \\ []) do new("deck", file_id, opts) end def proto(file_id, opts \\ []) do new("proto", file_id, opts) end asset "main.js" do """ export function init(ctx, iframe) { ctx.root.innerHTML = iframe; } """ end end