name: article
type: tabs
meta:
    label:
        de: Einstellungen zum Artikel
        en: Article Setings
    activeTab: 0
subFields:
    - name: general
      type: object
      meta:
          label:
              de: Allgemein
              en: General
          css:
      subFields:
          - name: public
            type: boolean
            meta:
                label:
                    de: Veröffentlicht
                    en: Public
                helperText:
                    de: "Der Artikel wird auf der Seite angezeigt."
                    en: "This article is displayed on the page."
          - name: publish_date
            type: object
            meta:
                label: 
                    de: Datum der Veröffentlichung
                    en: Release Date
                css: "grid grid-50"
            subFields:
                - name: public_from
                  type: date
                  meta:
                      inputProps:
                        type: "datetime-local"
                      label:
                          de: Datum (ab)
                          en: Date (from)
                - name: public_until
                  type: date
                  meta:
                      inputProps:
                        type: "datetime-local"
                      label:
                          de: Datum (bis)
                          en: Date (until)
          - name: position
            type: string
            meta:
                widget: select
                label:
                    de: Position auf der Seite
                    en: Position on page
                defaultValue: []
                choices:
                    - { id: "content", name: "Inhaltsbereich" }
                    - { id: "sidebar", name: "Sidebar" }
          - name: sort
            type: number
            meta:
                inputProps:
                    type: number
                    placeholder: 0
                label: { de: "Sortierung", en: "Sorting" }
                helperText:
                    de: "1...5...10...100"
                    en: "1...5...10...100"
    - name: content
      type: object
      meta:
          label:
              de: Inhalt
              en: Content
          css:
      subFields:
          - name: slug
            type: string
            meta:
                label: { de: "Permalink", en: "Permalink" }
          - name: title
            type: string
            meta:
                label: { de: "Titel", en: "Title" }
          - name: subtitle
            type: string
            meta:
                label: { de: "Untertitel", en: "Subtitle" }
          - name: types
            type: tabs
            meta:
                label:
                    de: Inhalt dieses Artikel
                    en: Article Content
                activeTab: 0
            subFields:
                - name: teaser
                  type: string
                  meta:
                      widget: richtext
                      label: { de: "Teaser-Text des Artikel", en: "Article Teaser Text" }
                - name: details
                  type: string
                  meta:
                      widget: richtext
                      label: { de: "Detail-Text des Artikel", en: "Article Detail Text" }
                - name: contentMedia
                  type: object
                  meta:
                      label:
                          de: Medien
                          en: Media
                      css:
                  subFields:
                      - name: mediaFiles
                        type: object[]
                        meta:
                            label: { de: "Bilder", en: "Images" }
                        subFields:
                            - name: title
                              type: string
                              meta:
                                  label: { de: "Datei-Titel", en: "File Title" }
                            - name: alternateText
                              type: string
                              meta:
                                  label: { de: "Alternativer Text", en: "Alternate Text" }
                            - name: id
                              type: string
                              meta:
                                  label: { de: "Technischer Name / ID", en: "Technical name / ID" }
                            - name: file
                              type: file
                              meta:
                                  label: { de: "Datei", en: "File" }
                            - name: caption
                              type: string
                              meta:
                                  label: { de: "Bildunterschrift", en: "Caption" }
                - name: contentAttachments
                  type: object
                  meta:
                      label:
                          de: Anhänge / Downloads
                          en: Attachments / Downloads
                      css:
                  subFields:
                      - name: attachments
                        type: object[]
                        meta:
                            label: { de: "Anhänge", en: "Attachments" }
                        subFields:
                            - name: title
                              type: string
                              meta:
                                  label: { de: "Datei-Titel", en: "File Title" }
                            - name: id
                              type: string
                              meta:
                                  label: { de: "Technischer Name / ID", en: "Technical name / ID" }
                            - name: file
                              type: file
                              meta:
                                  label: { de: "", en: "" }
    - name: layout
      type: tabs
      meta:
          label:
              de: Layout
              en: Layout
          css:
      subFields:
          - name: variant
            type: string
            meta:
                widget: select
                label:
                    de: Erscheinungsbild
                    en: Appearance
                defaultValue: ["_self"]
                choices:
                    - { id: "top", name: { de: "Artikelbild oben (volle Breite)", en: "Article picture top (full width)" } }
                    - { id: "right", name: { de: "Artikelbild rechts (volle Höhe)", en: "Article picture right (full height)" } }
                    - { id: "bottom", name: { de: "Artikelbild unten (volle Breite)", en: "Article picture left (full width)" } }
                    - { id: "left", name: { de: "Artikelbild links (volle Höhe)", en: "Article picture left (full height)" } }
                    - { id: "after-teaser", name: { de: "Artikelbild unter Teaser (volle Breite)" , en: "Article picture under teaser (full width)" } }
                    - { id: "top-left", name: { de: "Artikelbild oben links", en: "Article picture above left" } }
                    - { id: "top-right", name: { de: "Artikelbild oben rechts", en: "Article picture above right" } }
                    - { id: "bottom-left", name: { de: "Artikelbild unten links", en: "Article picture below left" } }
                    - { id: "bottom-right", name: { de: "Artikelbild unten rechts", en: "Article picture below right" } }
          - name: margin
            type: object
            meta:
                label: { de: "Abstand nach außen (Margin)", en: "Distance to the outside (Margin)" }
            subFields:
              - name: top
                type: string
                meta:
                    widget: select
                    label:
                        de: Oben
                        en: Top
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "mt-xs", name: "Sehr kleiner Abstand" }
                        - { id: "mt-sm", name: "Kleiner Abstand" }
                        - { id: "mt-md", name: "Normal" }
                        - { id: "mt-lg", name: "Großer Abstand" }
                        - { id: "mt-xl", name: "Sehr großer Abstand" }
              - name: right
                type: string
                meta:
                    widget: select
                    label:
                        de: Rechts
                        en: Right
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "mr-xs", name: "Sehr kleiner Abstand" }
                        - { id: "mr-sm", name: "Kleiner Abstand" }
                        - { id: "mr-md", name: "Normal" }
                        - { id: "mr-lg", name: "Großer Abstand" }
                        - { id: "mr-xl", name: "Sehr großer Abstand" }
              - name: bottom
                type: string
                meta:
                    widget: select
                    label:
                        de: Unten
                        en: Bottom
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "mb-xs", name: "Sehr kleiner Abstand" }
                        - { id: "mb-sm", name: "Kleiner Abstand" }
                        - { id: "mb-md", name: "Normal" }
                        - { id: "mb-lg", name: "Großer Abstand" }
                        - { id: "mb-xl", name: "Sehr großer Abstand" }
              - name: left
                type: string
                meta:
                    widget: select
                    label:
                        de: Links
                        en: Left
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "ml-xs", name: "Sehr kleiner Abstand" }
                        - { id: "ml-sm", name: "Kleiner Abstand" }
                        - { id: "ml-md", name: "Normal" }
                        - { id: "ml-lg", name: "Großer Abstand" }
                        - { id: "ml-xl", name: "Sehr großer Abstand" }
          - name: padding
            type: object
            meta:
                label: { de: "Abstand nach innen (Padding)", en: "Distance inside (Padding)" }
            subFields:
              - name: top
                type: string
                meta:
                    widget: select
                    label:
                        de: Oben
                        en: Top
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "pt-xs", name: "Sehr kleiner Abstand" }
                        - { id: "pt-sm", name: "Kleiner Abstand" }
                        - { id: "pt-md", name: "Normal" }
                        - { id: "pt-lg", name: "Großer Abstand" }
                        - { id: "pt-xl", name: "Sehr großer Abstand" }
              - name: right
                type: string
                meta:
                    widget: select
                    label:
                        de: Rechts
                        en: Right
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "pr-xs", name: "Sehr kleiner Abstand" }
                        - { id: "pr-sm", name: "Kleiner Abstand" }
                        - { id: "pr-md", name: "Normal" }
                        - { id: "pr-lg", name: "Großer Abstand" }
                        - { id: "pr-xl", name: "Sehr großer Abstand" }
              - name: bottom
                type: string
                meta:
                    widget: select
                    label:
                        de: Unten
                        en: Bottom
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "pb-xs", name: "Sehr kleiner Abstand" }
                        - { id: "pb-sm", name: "Kleiner Abstand" }
                        - { id: "pb-md", name: "Normal" }
                        - { id: "pb-lg", name: "Großer Abstand" }
                        - { id: "pb-xl", name: "Sehr großer Abstand" }
              - name: left
                type: string
                meta:
                    widget: select
                    label:
                        de: Links
                        en: Left
                    choices:
                        - { id: "", name: "Kein Abstand" }
                        - { id: "pl-xs", name: "Sehr kleiner Abstand" }
                        - { id: "pl-sm", name: "Kleiner Abstand" }
                        - { id: "pl-md", name: "Normal" }
                        - { id: "pl-lg", name: "Großer Abstand" }
                        - { id: "pl-xl", name: "Sehr großer Abstand" }
    - name: link
      type: object
      meta:
          label:
              de: Verlinkung
              en: Link
          css:
      subFields:
          - name: url
            type: string
            meta:
                label: { de: "Ziel-URL", en: "Target URL" }
          - name: text
            type: string
            meta:
                label: { de: "Link-Beschriftung", en: "Link-Text" }
          - name: target
            type: string
            meta:
                widget: select
                label:
                    de: Zielfenster
                    en: Target
                defaultValue: ["_self"]
                choices:
                    - { id: "_self", name: "(Standardwert) gleicher Tab oder Seite" }
                    - { id: "_blank", name: "Neuer Tab oder Fenster" }
                    - { id: "_parent", name: "Elternfenster" }
