« get me outta code hell

generateSecondaryNav.js « dependencies « content « src - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/content/dependencies/generateSecondaryNav.js
blob: f4081e70ae362fd29f37e1fe55bf8c5b55d58481 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
export default {
  extraDependencies: ['html'],

  slots: {
    content: {
      type: 'html',
      mutable: false,
    },

    class: {
      validate: v => v.anyOf(v.isString, v.sparseArrayOf(v.isString)),
    },

    alwaysVisible: {
      type: 'boolean',
      default: false,
    },
  },

  generate: (slots, {html}) =>
    html.tag('nav', {id: 'secondary-nav'},
      {[html.onlyIfContent]: true},
      {class: slots.class},

      slots.alwaysVisible &&
        {class: 'always-visible'},

      slots.content),
};