{
  "$comment": "Reasons from Everyone: the reasons print the whole family writes (11 Nov 2026): one of the four versions of Everyone Signs. The organiser starts a board here (worker /v1/boards with kind \"reasons\") and sends one link round; the entries left ticked are copied into values.board and printed exactly. Composer compose-signs.mjs via groupsigns-browser-entry.mjs; looks in group-signs-presets.mjs; written by render-groupsigns-assets.mjs.",
  "configVersion": 1,
  "designId": "everyone-reasons-print",
  "rendererVersion": "group-signs/1.0.0",
  "service": {
    "origin": "",
    "savePath": "/v1/designs",
    "analyticsPath": "/v1/analytics/events",
    "previewDebounceMs": 160
  },
  "sheet": {
    "width": 1000,
    "height": 1500
  },
  "assetVersion": "2026-11-11.1",
  "preview": {
    "exampleAsset": "design-everyone-reasons-print-example.jpg",
    "exampleAlt": "A reasons print on warm ivory: 24 reasons we love painted on a pink banner above DAD brush-lettered in deep berry, Happy 60th, love from all of us beneath, and twenty-four reasons from the family, each in its own painted heart in terracotta, green, gold and blush, with the giver’s name small beneath.",
    "seed": {
      "name": "Dad",
      "heading": "",
      "from": "Happy 60th, love from all of us",
      "look": "ivory",
      "hands": "mixed",
      "board": {
        "id": "",
        "sample": true,
        "messages": [
          {
            "id": "er0000000001",
            "name": "Sophie",
            "text": "You still make the best bacon sandwiches"
          },
          {
            "id": "er0000000002",
            "name": "Tom",
            "text": "Your terrible jokes, told twice"
          },
          {
            "id": "er0000000003",
            "name": "Mum",
            "text": "You still walk me home, every time"
          },
          {
            "id": "er0000000004",
            "name": "Grandma Joan",
            "text": "You taught everyone in this family to swim"
          },
          {
            "id": "er0000000005",
            "name": "Uncle Pete",
            "text": "Every lift, at every hour, no questions asked"
          },
          {
            "id": "er0000000006",
            "name": "Jess",
            "text": "You know the words to every song on the radio"
          },
          {
            "id": "er0000000007",
            "name": "Ali",
            "text": "Your Sunday roasts"
          },
          {
            "id": "er0000000008",
            "name": "Ben",
            "text": "You let us win at football, then stopped letting us"
          },
          {
            "id": "er0000000009",
            "name": "Priya",
            "text": "The way you fall asleep in front of the telly"
          },
          {
            "id": "er0000000010",
            "name": "Rachel",
            "text": "You can fix anything with a screwdriver and patience"
          },
          {
            "id": "er0000000011",
            "name": "Dan",
            "text": "Camping holidays in the rain"
          },
          {
            "id": "er0000000012",
            "name": "Lucy",
            "text": "You never miss a match"
          },
          {
            "id": "er0000000013",
            "name": "Harry",
            "text": "Your famous barbecue"
          },
          {
            "id": "er0000000014",
            "name": "Auntie Carol",
            "text": "You always pick up on the first ring"
          },
          {
            "id": "er0000000015",
            "name": "Sam",
            "text": "Fishing trips at dawn"
          },
          {
            "id": "er0000000016",
            "name": "Ellie",
            "text": "The advice you give, then pretend you didn't"
          },
          {
            "id": "er0000000017",
            "name": "Nan",
            "text": "You hold the door for everyone"
          },
          {
            "id": "er0000000018",
            "name": "Chris",
            "text": "Your laugh, which fills the room"
          },
          {
            "id": "er0000000019",
            "name": "Megan",
            "text": "You taught us to be kind first"
          },
          {
            "id": "er0000000020",
            "name": "Josh",
            "text": "You still dance in the kitchen"
          },
          {
            "id": "er0000000021",
            "name": "Kate",
            "text": "The cups of tea you bring without asking"
          },
          {
            "id": "er0000000022",
            "name": "Ollie",
            "text": "You cheer louder than anyone at sports day"
          },
          {
            "id": "er0000000023",
            "name": "Amy",
            "text": "You remember every birthday"
          },
          {
            "id": "er0000000024",
            "name": "Rob",
            "text": "You drove four hours to fix my boiler"
          }
        ]
      }
    }
  },
  "fields": {
    "requiredLabel": "Who it’s for",
    "optionsLabel": "The look",
    "required": [
      {
        "key": "details",
        "type": "columns",
        "$comment": "One column, full width: the shell caps the top-level required fields at four.",
        "columns": [
          [
            {
              "key": "name",
              "type": "text",
              "label": "Who it’s for",
              "maxLength": 30,
              "affects": "render",
              "hint": "Dad, Mum, Nan or their name: set large in the middle.",
              "placeholder": "Dad"
            },
            {
              "key": "heading",
              "type": "text",
              "label": "Words above their name (optional)",
              "maxLength": 32,
              "affects": "render",
              "optional": true,
              "hint": "Leave blank and it counts the reasons for you: “24 reasons we love”.",
              "placeholder": "24 reasons we love"
            },
            {
              "key": "count",
              "type": "toggle",
              "label": "Count the reasons in the heading",
              "default": true,
              "affects": "render",
              "optional": true,
              "hint": "On: “24 reasons we love”, counting the reasons you leave ticked. Off: “Reasons we love”."
            },
            {
              "key": "from",
              "type": "text",
              "label": "From (optional)",
              "maxLength": 64,
              "affects": "render",
              "optional": true,
              "hint": "A line beneath the name, e.g. Happy 60th, love from all of us.",
              "placeholder": "Happy 60th, love from all of us"
            }
          ]
        ]
      },
      {
        "key": "board",
        "type": "custom",
        "label": "Everyone adds a reason",
        "affects": "render",
        "hint": "Send one link round the family and friends. Each person adds one reason (90 letters) and their name, no account needed, and it sets itself in a painted heart on the print. Up to 60 reasons. You choose which go on.",
        "privacy": "We keep only each person’s name and reason, for the print. The board closes after 30 days and is then deleted. Nothing is changed without you: a spelling fix is only a suggestion, and anything our checks hold back waits for you to look at."
      }
    ],
    "options": [
      {
        "key": "look",
        "type": "thumbnails",
        "label": "Look",
        "hint": "",
        "default": "ivory",
        "affects": "render",
        "options": [
          {
            "value": "ivory",
            "label": "Painted hearts",
            "thumbnail": "design-everyone-reasons-print-look-ivory.jpg"
          },
          {
            "value": "blush",
            "label": "Blush & berry",
            "thumbnail": "design-everyone-reasons-print-look-blush.jpg"
          },
          {
            "value": "navy",
            "label": "Midnight & gold tone",
            "thumbnail": "design-everyone-reasons-print-look-navy.jpg"
          },
          {
            "value": "sage",
            "label": "Sage & coral",
            "thumbnail": "design-everyone-reasons-print-look-sage.jpg"
          },
          {
            "value": "celebration",
            "label": "Celebration",
            "thumbnail": "design-everyone-reasons-print-look-celebration.jpg"
          }
        ]
      },
      {
        "key": "hands",
        "type": "thumbnails",
        "label": "Handwriting",
        "hint": "How everyone’s words are written.",
        "default": "mixed",
        "affects": "render",
        "options": [
          {
            "value": "mixed",
            "label": "Everyone’s own",
            "thumbnail": "design-everyone-signs-print-hands-mixed.jpg"
          },
          {
            "value": "felt",
            "label": "Felt tip",
            "thumbnail": "design-everyone-signs-print-hands-felt.jpg"
          },
          {
            "value": "fountain",
            "label": "Fountain pen",
            "thumbnail": "design-everyone-signs-print-hands-fountain.jpg"
          },
          {
            "value": "colours",
            "label": "Coloured pens",
            "thumbnail": "design-everyone-signs-print-hands-colours.jpg"
          },
          {
            "value": "typed",
            "label": "Typeset",
            "thumbnail": "design-everyone-signs-print-hands-typed.jpg"
          }
        ]
      }
    ],
    "printed": "As printed: {name}, and every reason you leave ticked."
  },
  "presets": {
    "$comment": "A tap fills the words; it never touches the board.",
    "label": "Start from an idea",
    "options": [
      {
        "id": "dad60",
        "label": "Dad’s 60th",
        "values": {
          "name": "Dad",
          "heading": "",
          "from": "Happy 60th, love from all of us"
        }
      },
      {
        "id": "mum",
        "label": "Mum’s birthday",
        "values": {
          "name": "Mum",
          "heading": "",
          "from": "Happy 50th, from your favourite people"
        }
      },
      {
        "id": "leaving",
        "label": "Leaving work",
        "values": {
          "name": "Sarah",
          "heading": "",
          "from": "from everyone at Harbour & Co"
        }
      },
      {
        "id": "thanks",
        "label": "Thank you",
        "values": {
          "name": "Nan",
          "heading": "Reasons we love you",
          "from": "Love from all the grandchildren"
        }
      },
      {
        "id": "blank",
        "label": "Custom",
        "values": {
          "heading": "",
          "from": ""
        }
      }
    ]
  },
  "cart": {
    "summary": "{name} · {look.label}"
  }
}
