{#
/**
 * @file
 * Default theme implementation to display a paragraph.
 *
 * Available variables:
 * - paragraph: Full paragraph entity.
 *   Only method names starting with "get", "has", or "is" and a few common
 *   methods such as "id", "label", and "bundle" are available. For example:
 *   - paragraph.getCreatedTime() will return the paragraph creation timestamp.
 *   - paragraph.id(): The paragraph ID.
 *   - paragraph.bundle(): The type of the paragraph, for example, "image" or "text".
 *   - paragraph.getOwnerId(): The user ID of the paragraph author.
 *   See Drupal\paragraphs\Entity\Paragraph for a full list of public properties
 *   and methods for the paragraph object.
 * - content: All paragraph items. Use {{ content }} to print them all,
 *   or print a subset such as {{ content.field_example }}. Use
 *   {{ content|without('field_example') }} to temporarily suppress the printing
 *   of a given child element.
 * - attributes: HTML attributes for the containing element.
 *   The attributes.class element may contain one or more of the following
 *   classes:
 *   - paragraphs: The current template type (also known as a "theming hook").
 *   - paragraphs--type-[type]: The current paragraphs type. For example, if the paragraph is an
 *     "Image" it would result in "paragraphs--type--image". Note that the machine
 *     name will often be in a short form of the human readable label.
 *   - paragraphs--view-mode--[view_mode]: The View Mode of the paragraph; for example, a
 *     preview would result in: "paragraphs--view-mode--preview", and
 *     default: "paragraphs--view-mode--default".
 * - view_mode: View mode; for example, "preview" or "full".
 * - logged_in: Flag for authenticated user status. Will be true when the
 *   current user is a logged-in member.
 * - is_admin: Flag for admin user status. Will be true when the current user
 *   is an administrator.
 *
 * @see template_preprocess_paragraph()
 *
 * @ingroup themeable
 */
#}
{{  attach_library('kamihaya_cms_paragraph_type/link-button-css') }}
{% block paragraph %}
  {% block content %}
    {% set align = content.field_align|render|striptags|trim|lower %}
    {%
      set classes = [
        'paragraph',
        'paragraph--type--' ~ paragraph.bundle|clean_class,
        view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
        not paragraph.isPublished() ? 'paragraph--unpublished',
        'link-button',
        align ? 'align-' ~ align,
        content.field_button_link.1 ? 'link-button--multiple' ,
      ]
    %}
    {% if content.field_button_link|render %}
      <div{{attributes.addClass(classes)}}>
        {% if content.field_button_link|render %}
          {% set size = paragraph.field_button_text_size.0.value %}
          {% set color = content.field_button_text_color|render|striptags|trim|lower %}
          {% set bd_color = content.field_button_border_color|render|striptags|trim|lower %}
          {% set bg_color = content.field_button_bg_color|render|striptags|trim|lower %}
          {% set bd_radius = paragraph.field_button_border_radius.0.value %}
          {%
            set style = [
              bd_color ? 'border-width: 1px; border-color: ' ~ bd_color  ~ ';',
              bd_radius ? 'border-radius:  ' ~ bd_radius  ~ 'px;',
              bg_color ? 'background-color: ' ~ bg_color  ~ ';',
            ]
          %}
          {%
            set text_style = [
              size ? 'font-size: '  ~  size  ~  'px;' : '',
              color ? 'color: '  ~ color  ~ ';' : '',
            ]
          %}
          {% if content.field_button_link.1 %}
            <div class="link-buttons">
          {% endif %}
          {% for key, item in content.field_button_link %}
            {% if key matches '/^\\d+$/' %}
              {% set text %}
                {% if key == 0 and content.field_button_text|render %}
                  {{ paragraph.field_button_text.0.value|striptags('<i>')|raw }}
                {% else %}
                  {{ item['#title'] }}
                {% endif %}
              {% endset %}
              {% set url = item['#url'] %}
              {% if item['#url'].external == true %}
                <a class="btn btn-primary" href="{{ url }}" target="_blank"{% if style %} style="{{ style|join(' ') }}"{% endif %}>
              {% else %}
                <a class="btn btn-primary" href="{{ url }}"{% if style %} style="{{ style|join(' ') }}"{% endif %}>
              {% endif %}
              <span{% if text_style %} style="{{ text_style|join(' ') }}"{% endif %}>
                {{ text }}
              </span>
              </a>
            {% endif %}
          {% endfor %}
          {% if content.field_button_link.1 %}
            </div>
          {% endif %}
        {% endif %}
      </div>
    {% endif %}
  {% endblock %}
{% endblock paragraph %}
