--- title: Adding options order: 140 --- You know what your bib should look like, and you have the *head* measurement to work with. But there's still a number of choices you have to make: - How large should the neck opening be? - How wide should the bib be? - How long should the bib be? You can make all of these choices for the user and set them in stone, so to speak. But since you're designing a pattern in code, it's trivial to make your pattern flexible and let the user decide. All you have to do is add options to your pattern. ## Add the neckRatio option The first option we're going to add controls the ratio between the neck opening and the head circumference. Let's call it `neckRatio`. Open the config file at `config/index.js` and add this to the options: ```js options: { // Remove this size option //size: { pct: 50, min: 10, max: 100 } // And add the neckRatio options neckRatio: { pct: 80, min: 70, max: 90 }, } ``` Can you guess what it means? - We've added a option of type percentage - Its minimum value is 70% - Its maximum value is 90% - Its default value is 80% <Note> There are different types of options, but percentages are the most common ones. They are all documented [in the API docs](/reference/config/options). </Note> Let's do something similar for the width and length of our bib: ```js options: { neckRatio: { pct: 80, min: 70, max: 90 }, widthRatio: { pct: 45, min: 35, max: 55 }, lengthRatio: { pct: 75, min: 55, max: 85 }, } ``` - You've added `widthRatio` and `lengthRatio` options - You've given all options sensible defaults - You've given all options sensible maximum and minimum boundaries <Note> Later, you'll test-drive your pattern to see how it behaves when you adapt the options between their minimum and maximum values. At that time, you can still tweak these values. </Note> Before you close the `config/index.js` file, make sure to update the `optionGroups` entry as follows: ```js optionGroups: { fit: ["neckRatio", "widthRatio", "lengthRatio"] }, ``` <Note> The `optionGroups` entry does not do anything for your pattern as such. Instead it signals to the frontend that this is how options should be grouped together and presented to the user. </Note> Because you have removed the `box` option, the pattern no longer draws a box. So let's start drawing your bib instead.