Por defecto #
Ejemplo: "Por defecto", de código HTML, para maquetar el componente: "Tree", versión: 14.0.0, del sistema de diseño DESY
Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: https://bitbucket.org/sdaragon/desy-html/
Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: https://bitbucket.org/sdaragon/desy-html/
Usar sólo el código que está dentro de la siguiente etiqueta <code>.
<!-- tree -->
<div class="c-form-group">
  <!-- fieldset -->
  <fieldset>
    <legend class="font-bold">
      Selecciona organismo
    </legend>
    <ul class="c-tree mt-base" id="default-example" role="tree" data-module="c-tree">
      <li id="default-example-item-1" class="c-tree__item ml-4 focus:outline-none" role="treeitem" data-module="c-tree__item" aria-expanded="false">
        <div class="w-full h-full">
          <div class="flex items-center relative  focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-left">
            <span class="c-tree__icon absolute top-3 -left-4 flex items-center w-4 h-2.5 text-primary-base font-bold after:content-[''] after:absolute after:-left-2 after:p-4">
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" aria-hidden="true" class="c-tree__minus">
                <path fill="currentColor" d="M9.286 5.714H.714a.714.714 0 010-1.428h8.572a.714.714 0 010 1.428z" />
              </svg>
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" aria-hidden="true" class="c-tree__plus">
                <path fill="currentColor" d="M9.286 4.286H5.893a.179.179 0 01-.179-.179V.714a.714.714 0 00-1.428 0v3.393a.179.179 0 01-.179.179H.714a.714.714 0 000 1.428h3.393a.179.179 0 01.179.179v3.393a.714.714 0 001.428 0V5.893a.179.179 0 01.179-.179h3.393a.714.714 0 000-1.428z" />
              </svg>
            </span>
            <div>
              <div class="relative flex items-start py-xs">
                <div class="flex items-center mx-sm">
                  <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="default-example-item-1-input" name="por-defecto" type="radio" value="">
                </div>
                <div class="flex-1 pt-0.5 leading-5">
                  <!-- label -->
                  <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="default-example-item-1-input">Item 1</label>
                  <!-- /label -->
                </div>
              </div>
            </div>
          </div>
        </div>
        <ul role="group" class='c-tree__itemgroup' aria-labelledby="default-example-item-1">
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-1-0" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-1-0-input" name="por-defecto" type="radio" value="subitem-1">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-1-0-input">Subitem 1</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-1-1" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-1-1-input" name="por-defecto" type="radio" value="subitem-2">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-1-1-input">Subitem 2</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-1-2" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-1-2-input" name="por-defecto" type="radio" value="subitem-3">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-1-2-input">Subitem 3</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
        </ul>
      </li>
      <li id="default-example-item-2" class="c-tree__item ml-4 focus:outline-none" role="treeitem" data-module="c-tree__item" aria-expanded="false">
        <div class="w-full h-full">
          <div class="flex items-center relative  focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-left">
            <span class="c-tree__icon absolute top-3 -left-4 flex items-center w-4 h-2.5 text-primary-base font-bold after:content-[''] after:absolute after:-left-2 after:p-4">
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" aria-hidden="true" class="c-tree__minus">
                <path fill="currentColor" d="M9.286 5.714H.714a.714.714 0 010-1.428h8.572a.714.714 0 010 1.428z" />
              </svg>
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" aria-hidden="true" class="c-tree__plus">
                <path fill="currentColor" d="M9.286 4.286H5.893a.179.179 0 01-.179-.179V.714a.714.714 0 00-1.428 0v3.393a.179.179 0 01-.179.179H.714a.714.714 0 000 1.428h3.393a.179.179 0 01.179.179v3.393a.714.714 0 001.428 0V5.893a.179.179 0 01.179-.179h3.393a.714.714 0 000-1.428z" />
              </svg>
            </span>
            <div>
              <div class="relative flex items-start py-xs">
                <div class="flex items-center mx-sm">
                  <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="default-example-item-2-input" name="por-defecto" type="radio" value="">
                </div>
                <div class="flex-1 pt-0.5 leading-5">
                  <!-- label -->
                  <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="default-example-item-2-input">Item 2</label>
                  <!-- /label -->
                </div>
              </div>
            </div>
          </div>
        </div>
        <ul role="group" class='c-tree__itemgroup' aria-labelledby="default-example-item-2">
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-2-0" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-2-0-input" name="por-defecto" type="radio" value="subitem-1">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-2-0-input">Subitem 1</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-2-1" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-2-1-input" name="por-defecto" type="radio" value="subitem-2">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-2-1-input">Subitem 2</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-2-2" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-2-2-input" name="por-defecto" type="radio" value="subitem-3">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-2-2-input">Subitem 3</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
        </ul>
      </li>
      <li id="default-example-item-3" class="c-tree__item ml-4 focus:outline-none" role="treeitem" data-module="c-tree__item" aria-expanded="false">
        <div class="w-full h-full">
          <div class="flex items-center relative  focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-left">
            <span class="c-tree__icon absolute top-3 -left-4 flex items-center w-4 h-2.5 text-primary-base font-bold after:content-[''] after:absolute after:-left-2 after:p-4">
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" aria-hidden="true" class="c-tree__minus">
                <path fill="currentColor" d="M9.286 5.714H.714a.714.714 0 010-1.428h8.572a.714.714 0 010 1.428z" />
              </svg>
              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" aria-hidden="true" class="c-tree__plus">
                <path fill="currentColor" d="M9.286 4.286H5.893a.179.179 0 01-.179-.179V.714a.714.714 0 00-1.428 0v3.393a.179.179 0 01-.179.179H.714a.714.714 0 000 1.428h3.393a.179.179 0 01.179.179v3.393a.714.714 0 001.428 0V5.893a.179.179 0 01.179-.179h3.393a.714.714 0 000-1.428z" />
              </svg>
            </span>
            <div>
              <div class="relative flex items-start py-xs">
                <div class="flex items-center mx-sm">
                  <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="default-example-item-3-input" name="por-defecto" type="radio" value="">
                </div>
                <div class="flex-1 pt-0.5 leading-5">
                  <!-- label -->
                  <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="default-example-item-3-input">Item 3</label>
                  <!-- /label -->
                </div>
              </div>
            </div>
          </div>
        </div>
        <ul role="group" class='c-tree__itemgroup' aria-labelledby="default-example-item-3">
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-3-0" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-3-0-input" name="por-defecto" type="radio" value="subitem-1">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-3-0-input">Subitem 1</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-3-1" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-3-1-input" name="por-defecto" type="radio" value="subitem-2">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-3-1-input">Subitem 2</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
          <li class="c-tree__item ml-8 origin-top-left focus:outline-none" id="sub-default-example-item-3-2" role="treeitem" data-module="c-tree__item">
            <div class="block">
              <div>
                <div class="relative flex items-start py-xs">
                  <div class="flex items-center mx-sm">
                    <input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="sub-default-example-item-3-2-input" name="por-defecto" type="radio" value="subitem-3">
                  </div>
                  <div class="flex-1 pt-0.5 leading-5">
                    <!-- label -->
                    <label class="block block relative -top-xs -left-8 pl-8 py-xs" for="sub-default-example-item-3-2-input">Subitem 3</label>
                    <!-- /label -->
                  </div>
                </div>
              </div>
            </div>
          </li>
        </ul>
      </li>
    </ul>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /tree -->
          Ejemplo: "Por defecto", de código Nunjucks, para maquetar el componente: "Tree", versión: 14.0.0, del sistema de diseño DESY
Pegar en la página: pagina-prueba-EDITA-PARA-EMPEZAR.html del proyecto: https://bitbucket.org/sdaragon/desy-html-starter/
Usar sólo el código que está dentro de la siguiente etiqueta <code>.
{% from "components/tree/_macro.tree.njk" import componentTree %}
{{ componentTree({
  "name": "por-defecto",
  "classes": "mt-base",
  "fieldset": {
    "legend": {
      "text": "Selecciona organismo"
    }
  },
  "idPrefix": "default-example",
  "items": [
    {
      "text": "Item 1",
      "id": "default-example-item-1",
      "sub": {
        "items": [
          {
            "text": "Subitem 1",
            "value": "subitem-1"
          },
          {
            "text": "Subitem 2",
            "value": "subitem-2"
          },
          {
            "text": "Subitem 3",
            "value": "subitem-3"
          }
        ],
        "attributes": {
          "aria-labelledby": "default-example-item-1"
        }
      }
    },
    {
      "text": "Item 2",
      "id": "default-example-item-2",
      "sub": {
        "items": [
          {
            "text": "Subitem 1",
            "value": "subitem-1"
          },
          {
            "text": "Subitem 2",
            "value": "subitem-2"
          },
          {
            "text": "Subitem 3",
            "value": "subitem-3"
          }
        ],
        "attributes": {
          "aria-labelledby": "default-example-item-2"
        }
      }
    },
    {
      "text": "Item 3",
      "id": "default-example-item-3",
      "sub": {
        "items": [
          {
            "text": "Subitem 1",
            "value": "subitem-1"
          },
          {
            "text": "Subitem 2",
            "value": "subitem-2"
          },
          {
            "text": "Subitem 3",
            "value": "subitem-3"
          }
        ],
        "attributes": {
          "aria-labelledby": "default-example-item-3"
        }
      }
    }
  ]
}) }}Mostrar códigodel ejemplo: Por defecto
Contenido
Nunjucks macro
{% from "components/tree/_macro.tree.njk" import componentTree %}
{{ componentTree({
  "name": "por-defecto",
  "classes": "mt-base",
  "fieldset": {
    "legend": {
      "text": "Selecciona organismo"
    }
  },
  "idPrefix": "default-example",
  "items": [
    {
      "text": "Item 1",
      "id": "default-example-item-1",
      "sub": {
        "items": [
          {
            "text": "Subitem 1",
            "value": "subitem-1"
          },
          {
            "text": "Subitem 2",
            "value": "subitem-2"
          },
          {
            "text": "Subitem 3",
            "value": "subitem-3"
          }
        ],
        "attributes": {
          "aria-labelledby": "default-example-item-1"
        }
      }
    },
    {
      "text": "Item 2",
      "id": "default-example-item-2",
      "sub": {
        "items": [
          {
            "text": "Subitem 1",
            "value": "subitem-1"
          },
          {
            "text": "Subitem 2",
            "value": "subitem-2"
          },
          {
            "text": "Subitem 3",
            "value": "subitem-3"
          }
        ],
        "attributes": {
          "aria-labelledby": "default-example-item-2"
        }
      }
    },
    {
      "text": "Item 3",
      "id": "default-example-item-3",
      "sub": {
        "items": [
          {
            "text": "Subitem 1",
            "value": "subitem-1"
          },
          {
            "text": "Subitem 2",
            "value": "subitem-2"
          },
          {
            "text": "Subitem 3",
            "value": "subitem-3"
          }
        ],
        "attributes": {
          "aria-labelledby": "default-example-item-3"
        }
      }
    }
  ]
}) }}