field-details.blade.php 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. @php
  2. $hasChildren ??= false;
  3. $isArrayBody = $name == "[]";
  4. @endphp
  5. <div class="sl-flex sl-relative sl-max-w-full sl-py-2 sl-pl-3">
  6. <div class="sl-w-1 sl-mt-2 sl-mr-3 sl--ml-3 sl-border-t"></div>
  7. <div class="sl-stack sl-stack--vertical sl-stack--1 sl-flex sl-flex-1 sl-flex-col sl-items-stretch sl-max-w-full sl-ml-2">
  8. <div class="sl-flex sl-items-center sl-max-w-full @if($hasChildren) sl-cursor-pointer @endif">
  9. @if($hasChildren && !$isArrayBody)
  10. <div class="sl-flex sl-justify-center sl-w-8 sl--ml-8 sl-pl-3 sl-text-muted" role="button">
  11. <svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chevron-right"
  12. class="expand-chevron svg-inline--fa fa-chevron-right fa-fw fa-sm sl-icon" role="img"
  13. xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">
  14. <path fill="currentColor"
  15. d="M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z"></path>
  16. </svg>
  17. <svg aria-hidden="true" focusable="false" data-prefix="fas"
  18. data-icon="chevron-down"
  19. style="display: none"
  20. class="expanded-chevron svg-inline--fa fa-chevron-down fa-fw fa-sm sl-icon"
  21. role="img" xmlns="http://www.w3.org/2000/svg"
  22. viewBox="0 0 448 512">
  23. <path fill="currentColor"
  24. d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"></path>
  25. </svg>
  26. </div>
  27. @endif
  28. @unless($isArrayBody)
  29. <div class="sl-flex sl-items-baseline sl-text-base">
  30. <div class="sl-font-mono sl-font-semibold sl-mr-2">{{ $name }}</div>
  31. @if($type)
  32. <span class="sl-truncate sl-text-muted">{{ $type }}</span>
  33. @endif
  34. </div>
  35. @if($required)
  36. <div class="sl-flex-1 sl-h-px sl-mx-3"></div>
  37. <span class="sl-ml-2 sl-text-warning">required</span>
  38. @endif
  39. @endunless
  40. </div>
  41. <div class="sl-prose sl-markdown-viewer" style="font-size: 12px;">
  42. {!! Parsedown::instance()->text($description) !!}
  43. </div>
  44. @if($isArrayBody)
  45. <div class="sl-flex sl-items-baseline sl-text-base">
  46. <div class="sl-font-mono sl-font-semibold sl-mr-2">array of:</div>
  47. @if($required)
  48. <div class="sl-flex-1 sl-h-px sl-mx-3"></div>
  49. <span class="sl-ml-2 sl-text-warning">required</span>
  50. @endif
  51. </div>
  52. @endif
  53. @if(!$hasChildren && !is_null($example) && $example != '')
  54. <div class="sl-stack sl-stack--horizontal sl-stack--2 sl-flex sl-flex-row sl-items-baseline sl-text-muted">
  55. <span>Example:</span>
  56. <div class="sl-flex sl-flex-1 sl-flex-wrap" style="gap: 4px;">
  57. <span class="sl-max-w-full sl-break-all sl-px-1 sl-bg-canvas-tint sl-text-muted sl-rounded sl-border">
  58. {{ is_array($example) ? json_encode($example) : $example }}
  59. </span>
  60. </div>
  61. </div>
  62. @endif
  63. </div>
  64. </div>