<.menu id={"cell-#{@id}-insert"} position="bottom-left" distant>
<:toggle>
<.insert_button>
+ {@default_language |> Atom.to_string() |> String.capitalize()}
<.remix_icon icon="arrow-down-s-line" class="text-lg leading-none" />
<.menu_item :for={language <- Livebook.Notebook.Cell.Code.languages()}>
<.cell_icon cell_type={:code} language={language.language} />
{language.name}
<.menu id={"#{@id}-block-menu"} position="bottom-left">
<:toggle>
<.insert_button>+ Block
<.menu_item>
<.remix_icon icon="markdown-fill" />
Markdown
<.menu_item>
<.remix_icon icon="h-2" />
Section
<.menu_item>
<.remix_icon icon="git-branch-line" />
Branching section
MARKDOWN
<.menu_item>
<.remix_icon icon="organization-chart" />
Diagram
<.menu_item>
<.remix_icon icon="image-add-line" />
Image
<%= if @example_snippet_definitions != [] do %>
CODE
<.menu_item :for={definition <- @example_snippet_definitions}>
<.example_snippet_insert_button
definition={definition}
section_id={@section_id}
cell_id={@cell_id}
/>
<% end %>
<%= cond do %>
<% @runtime_status == :disconnected -> %>
<.insert_button phx-click={
JS.push("setup_runtime",
value: %{reason: "To see the available smart cells, you need a connected runtime."}
)
}>
+ Smart
<% @smart_cell_definitions == [] -> %>
<.insert_button disabled>+ Smart
<% true -> %>
<.menu id={"#{@id}-smart-menu"} position="bottom-left">
<:toggle>
<.insert_button>+ Smart
<.menu_item :for={definition <- @smart_cell_definitions}>
<.smart_cell_insert_button
definition={definition}
section_id={@section_id}
cell_id={@cell_id}
/>
<% end %>