Packages

phoenix_kit

1.7.170
1.7.207 1.7.206 1.7.205 1.7.204 1.7.203 1.7.202 1.7.201 1.7.200 1.7.199 1.7.198 1.7.197 1.7.196 1.7.194 1.7.193 1.7.192 1.7.191 1.7.190 1.7.189 1.7.187 1.7.186 1.7.185 1.7.184 1.7.183 1.7.182 1.7.181 1.7.180 1.7.179 1.7.178 1.7.177 1.7.176 1.7.175 1.7.174 1.7.173 1.7.172 1.7.171 1.7.170 1.7.169 1.7.168 1.7.167 1.7.166 1.7.165 1.7.164 1.7.162 1.7.161 1.7.160 1.7.159 1.7.157 1.7.156 1.7.155 1.7.154 1.7.153 1.7.152 1.7.151 1.7.150 1.7.149 1.7.146 1.7.145 1.7.144 1.7.143 1.7.138 1.7.133 1.7.132 1.7.131 1.7.130 1.7.128 1.7.126 1.7.125 1.7.121 1.7.120 1.7.119 1.7.118 1.7.117 1.7.116 1.7.115 1.7.114 1.7.113 1.7.112 1.7.111 1.7.110 1.7.109 1.7.108 1.7.107 1.7.106 1.7.105 1.7.104 1.7.103 1.7.102 1.7.101 1.7.100 1.7.99 1.7.98 1.7.97 1.7.96 1.7.95 1.7.94 1.7.93 1.7.92 1.7.91 1.7.90 1.7.89 1.7.88 1.7.87 1.7.86 1.7.85 1.7.84 1.7.83 1.7.82 1.7.81 1.7.80 1.7.79 1.7.78 1.7.77 1.7.76 1.7.75 1.7.74 1.7.71 1.7.70 1.7.69 1.7.66 1.7.65 1.7.64 1.7.63 1.7.62 1.7.61 1.7.59 1.7.58 1.7.57 1.7.56 1.7.55 1.7.54 1.7.53 1.7.52 1.7.51 1.7.49 1.7.44 1.7.43 1.7.42 1.7.41 1.7.39 1.7.38 1.7.37 1.7.36 1.7.34 1.7.33 1.7.31 1.7.30 1.7.29 1.7.28 1.7.27 1.7.26 1.7.25 1.7.24 1.7.23 1.7.22 1.7.21 1.7.20 1.7.19 1.7.18 1.7.17 1.7.16 1.7.15 1.7.14 1.7.13 1.7.12 1.7.11 1.7.10 1.7.9 1.7.8 1.7.7 1.7.6 1.7.5 1.7.4 1.7.3 1.7.2 1.7.1 1.7.0 1.6.20 1.6.19 1.6.18 1.6.17 1.6.16 1.6.15 1.6.14 1.6.13 1.6.12 1.6.11 1.6.10 1.6.9 1.6.8 1.6.7 1.6.6 1.6.5 1.6.4 1.6.3 1.5.2 1.5.1 1.5.0 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.10 1.2.9 1.2.8 1.2.7 1.2.5 1.2.4 1.2.2 1.2.1 1.2.0 1.1.0 1.0.0

A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more

Current section

221 Versions

Jump to

Compare versions

12 files changed
+100 additions
-32 deletions
unknownCHANGELOG.md
File is too large to be displayed (100 KB limit).
  @@ -1,6 +1,6 @@
1 1 {<<"links">>,[{<<"GitHub">>,<<"https://github.com/BeamLabEU/phoenix_kit">>}]}.
2 2 {<<"name">>,<<"phoenix_kit">>}.
3 - {<<"version">>,<<"1.7.169">>}.
3 + {<<"version">>,<<"1.7.170">>}.
4 4 {<<"description">>,
5 5 <<65,32,102,111,117,110,100,97,116,105,111,110,32,102,111,114,32,98,117,105,
6 6 108,100,105,110,103,32,69,108,105,120,105,114,32,80,104,111,101,110,105,
  @@ -220,7 +220,7 @@ defmodule PhoenixKitWeb.Components.AdminNav do
220 220 <%!-- Dropdown Menu --%>
221 221 <ul
222 222 tabindex="0"
223 - class="dropdown-content menu bg-base-100 rounded-box z-[60] w-64 p-2 shadow-xl border border-base-300 mt-3 max-h-[calc(100vh-5rem)] overflow-y-auto flex-nowrap"
223 + class="dropdown-content menu bg-base-100 rounded-box z-[60] w-64 p-2 shadow-xl border border-base-300 mt-3 max-h-[calc(100vh-5rem)] overflow-y-auto overflow-x-hidden flex-nowrap"
224 224 >
225 225 <%!-- User Info Header --%>
226 226 <li class="menu-title px-4 py-2">
  @@ -314,27 +314,33 @@ defmodule PhoenixKitWeb.Components.AdminNav do
314 314 <%= for account <- @accounts do %>
315 315 <li class="p-0">
316 316 <%= if account.active? do %>
317 - <div class="flex items-center gap-3 px-4 py-2 rounded-lg bg-base-200">
318 - <span class="flex-1 min-w-0 break-words">{account.email}</span>
319 - <span class="badge badge-xs badge-ghost">{account.role}</span>
320 - <PhoenixKitWeb.Components.Core.Icons.icon_check class="w-4 h-4 ml-auto" />
317 + <div class="flex items-center gap-3 px-4 py-2 rounded-lg bg-base-200 min-w-0">
318 + <span class="flex-1 min-w-0 truncate" title={account.email}>
319 + {account.email}
320 + </span>
321 + <span class="badge badge-xs badge-ghost shrink-0">{account.role}</span>
322 + <PhoenixKitWeb.Components.Core.Icons.icon_check class="w-4 h-4 shrink-0" />
321 323 </div>
322 324 <% else %>
323 - <div class="flex items-center gap-2 px-1">
325 + <div class="flex items-center gap-2 px-1 min-w-0">
324 326 <.form
325 327 for={%{}}
326 328 action={Routes.locale_aware_path(assigns, "/users/session/active")}
327 329 method="put"
328 - class="flex-1"
330 + class="flex-1 min-w-0"
329 331 >
330 332 <input type="hidden" name="ref" value={account.ref} />
331 333 <input type="hidden" name="return_to" value={@current_path} />
332 334 <button
333 335 type="submit"
334 - class="flex w-full items-center gap-3 px-3 py-2 rounded-lg hover:bg-base-200"
336 + class="flex w-full min-w-0 items-center gap-3 px-3 py-2 rounded-lg hover:bg-base-200"
335 337 >
336 - <span class="flex-1 min-w-0 break-words">{account.email}</span>
337 - <span class="badge badge-xs badge-ghost ml-auto">{account.role}</span>
338 + <span class="flex-1 min-w-0 truncate" title={account.email}>
339 + {account.email}
340 + </span>
341 + <span class="badge badge-xs badge-ghost ml-auto shrink-0">
342 + {account.role}
343 + </span>
338 344 </button>
339 345 </.form>
340 346 <%= unless account.root? do %>
  @@ -348,7 +354,7 @@ defmodule PhoenixKitWeb.Components.AdminNav do
348 354 <input type="hidden" name="return_to" value={@current_path} />
349 355 <button
350 356 type="submit"
351 - class="btn btn-ghost btn-xs btn-square text-error"
357 + class="btn btn-ghost btn-xs btn-square text-error shrink-0"
352 358 title="Remove"
353 359 >
354 360 âś•
  @@ -179,7 +179,9 @@ defmodule PhoenixKitWeb.Components.FolderExplorer do
179 179 <div class="divider my-1 h-0"></div>
180 180
181 181 <%!-- Folder Tree --%>
182 - <ul class="space-y-0.5 w-full min-h-0 flex-1 overflow-y-auto pr-1">
182 + <%!-- Scrolls both ways: deep folders extend past the 240px width and
183 + keep their full names (no truncation); scroll right to read them. --%>
184 + <ul class="space-y-0.5 w-full min-h-0 flex-1 overflow-auto pr-1">
183 185 <%= for node <- @folder_tree do %>
184 186 <.folder_tree_node
185 187 node={node}
  @@ -323,7 +325,7 @@ defmodule PhoenixKitWeb.Components.FolderExplorer do
323 325 )
324 326
325 327 ~H"""
326 - <li class={["overflow-hidden", @tree_connector_class]}>
328 + <li class={[@tree_connector_class]}>
327 329 <%!--
328 330 Whole row is clickable to open the folder. LiveView resolves a click
329 331 to the closest `phx-click` element, so the nested chevron (toggle) and
  @@ -337,7 +339,7 @@ defmodule PhoenixKitWeb.Components.FolderExplorer do
337 339 phx-target={@myself}
338 340 phx-value-folder-uuid={@node.folder.uuid}
339 341 class={[
340 - "flex items-center gap-0.5 rounded-lg px-1 py-1 transition-colors group overflow-hidden min-w-0",
342 + "flex items-center gap-0.5 rounded-lg px-1 py-1 transition-colors group min-w-max",
341 343 @hover_class,
342 344 !@is_renaming && "cursor-pointer",
343 345 @is_active && "font-semibold"
  @@ -406,7 +408,7 @@ defmodule PhoenixKitWeb.Components.FolderExplorer do
406 408 phx-value-folder-uuid={@node.folder.uuid}
407 409 data-drop-folder={@enable_drag && @node.folder.uuid}
408 410 data-draggable-folder={@enable_drag && @node.folder.uuid}
409 - class="flex items-center gap-1.5 flex-1 min-w-0 overflow-hidden text-sm text-left"
411 + class="flex items-center gap-1.5 flex-1 text-sm text-left"
410 412 >
411 413 <span style={folder_icon_style(@node.folder.color, @is_active)}>
412 414 <.icon
  @@ -416,7 +418,7 @@ defmodule PhoenixKitWeb.Components.FolderExplorer do
416 418 </span>
417 419 <span
418 420 class={[
419 - "truncate block min-w-0",
421 + "whitespace-nowrap block",
420 422 @renaming_folder == @node.folder.uuid && !@is_renaming && "renaming-preview"
421 423 ]}
422 424 title={@node.folder.name}
  @@ -455,7 +457,7 @@ defmodule PhoenixKitWeb.Components.FolderExplorer do
455 457 deeper nested <ul> overrides it with its own folder color.
456 458 --%>
457 459 <ul
458 - class="ml-3 overflow-hidden"
460 + class="ml-3"
459 461 style={"--pk-tree-line: #{tree_line_color(@node.folder.color)}; --pk-tree-line-active: #{tree_line_color_active(@node.folder.color)}"}
460 462 >
461 463 <%= for {child, idx} <- Enum.with_index(@node.children) do %>
  @@ -577,39 +579,39 @@ defmodule PhoenixKitWeb.Components.FolderExplorer do
577 579
578 580 def tree_connector_class(_depth, true = _has_children, :active_trunk) do
579 581 "relative pl-3.5 " <>
580 - "before:content-[''] before:absolute before:left-0 before:top-0 before:h-full before:w-0.5 before:bg-[var(--pk-tree-line-active)] " <>
582 + "before:content-[''] before:absolute before:left-[-1px] before:top-0 before:h-full before:w-1 before:bg-[var(--pk-tree-line-active)] " <>
581 583 "after:content-[''] after:absolute after:left-0 after:top-[0.8125rem] after:h-0.5 after:w-4 after:bg-[var(--pk-tree-line)] " <>
582 584 "last:before:h-[0.875rem] last:before:w-4 last:before:bg-transparent " <>
583 - "last:before:border-l-2 last:before:border-b-2 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
585 + "last:before:left-[-1px] last:before:border-l-4 last:before:border-b-4 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
584 586 "last:after:hidden"
585 587 end
586 588
587 589 def tree_connector_class(_depth, false = _has_children, :active_trunk) do
588 590 "relative pl-3.5 " <>
589 - "before:content-[''] before:absolute before:left-0 before:top-0 before:h-full before:w-0.5 before:bg-[var(--pk-tree-line-active)] " <>
591 + "before:content-[''] before:absolute before:left-[-1px] before:top-0 before:h-full before:w-1 before:bg-[var(--pk-tree-line-active)] " <>
590 592 "after:content-[''] after:absolute after:left-0 after:top-[0.8125rem] after:h-0.5 after:w-9 after:bg-[var(--pk-tree-line)] " <>
591 593 "last:before:h-[0.875rem] last:before:w-9 last:before:bg-transparent " <>
592 - "last:before:border-l-2 last:before:border-b-2 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
594 + "last:before:left-[-1px] last:before:border-l-4 last:before:border-b-4 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
593 595 "last:after:hidden"
594 596 end
595 597
596 598 def tree_connector_class(_depth, true = _has_children, :active_turn) do
597 599 "relative pl-3.5 " <>
598 600 "before:content-[''] before:absolute before:left-0 before:top-0 before:h-full before:w-0.5 before:bg-[var(--pk-tree-line)] " <>
599 - "after:content-[''] after:absolute after:left-0 after:top-0 after:h-[0.8125rem] after:w-4 after:bg-transparent " <>
600 - "after:border-l-2 after:border-b-2 after:border-[var(--pk-tree-line-active)] " <>
601 + "after:content-[''] after:absolute after:left-[-1px] after:top-0 after:h-[0.8125rem] after:w-4 after:bg-transparent " <>
602 + "after:border-l-4 after:border-b-4 after:border-[var(--pk-tree-line-active)] after:rounded-bl-[0.15rem] " <>
601 603 "last:before:h-[0.875rem] last:before:w-4 last:before:bg-transparent " <>
602 - "last:before:border-l-2 last:before:border-b-2 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
604 + "last:before:left-[-1px] last:before:border-l-4 last:before:border-b-4 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
603 605 "last:after:hidden"
604 606 end
605 607
606 608 def tree_connector_class(_depth, false = _has_children, :active_turn) do
607 609 "relative pl-3.5 " <>
608 610 "before:content-[''] before:absolute before:left-0 before:top-0 before:h-full before:w-0.5 before:bg-[var(--pk-tree-line)] " <>
609 - "after:content-[''] after:absolute after:left-0 after:top-0 after:h-[0.8125rem] after:w-9 after:bg-transparent " <>
610 - "after:border-l-2 after:border-b-2 after:border-[var(--pk-tree-line-active)] " <>
611 + "after:content-[''] after:absolute after:left-[-1px] after:top-0 after:h-[0.8125rem] after:w-9 after:bg-transparent " <>
612 + "after:border-l-4 after:border-b-4 after:border-[var(--pk-tree-line-active)] after:rounded-bl-[0.15rem] " <>
611 613 "last:before:h-[0.875rem] last:before:w-9 last:before:bg-transparent " <>
612 - "last:before:border-l-2 last:before:border-b-2 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
614 + "last:before:left-[-1px] last:before:border-l-4 last:before:border-b-4 last:before:border-[var(--pk-tree-line-active)] last:before:rounded-bl-lg " <>
613 615 "last:after:hidden"
614 616 end
unknownlib/phoenix_kit_web/components/media_browser.ex
File is too large to be displayed (100 KB limit).
Loading more files…