I think it is much more involved than this (what is explained in the question). Following are the changes, which I had to apply to a (relatively simple project.) The amount of effort involved made me think twice before upgrading my other bigger projects. However, I thought the following might be useful for other people who might be thinking about upgrading their websites.
1. ////////////// JS:
On the File System, replace the js scripts, which are referenced at the bottom of the html/php scripts, with the new versions, which are available at \bower_components\foundation-sites\dist.
For example, copy \bower_components\foundation-sites\dist\abc.js to yourProject/js/abc.js.
2. ////////////// SCSS VARIABLES:
In the files (_settings.scss), (_custom_styles.scss), etc:
3. ////////////// PANELS & ALERT BOXES:
In php/html: REPLACE the classes (panel) & (alert) WITH the class callout. For me, following are the strings, which I used in the Editor's Replace dialogue (using regular expressions). Depending on your design and coding style, you will probably need different strings.
REPLACE :<div data-alert class='alert-box **success** round'>
WITH :<div class='**success** callout' data-closable='slide-out-right'>
REPLACE :<div data-alert class='alert-box **alert** round'>
WITH :<div class='**alert** callout' data-closable='slide-out-right'>
REPLACE :<a href='#' class='close'>×</a>
WITH :<button class='close-button' aria-label='Dismiss alert' type='button' data-close> <span aria-hidden='true'>×</span> </button>
REMOVE the line: <script src="./js/foundation.alert.js"></script>
To the text inside each alert box, ADD <p>
around the text message: <p>...</p>
4. ////////////// MENUS:
I think the best way of handling menus, is to re-write them from scratch.
5. ////////////// TABLES:
REPLACE :class='table'
WITH :class='hover'
6. ////////////// Make TABLES Responsive (optional):
7. ////////////// ABIDE:
REPLACE :</label>(.*)\r\n(.*)<small class=['|"]error['|"]>(.*)</small>
WITH :<span class="form-error">$3</span>\r\n$2</label>
REPLACE :<form (.*) data-abide(.*)>
WITH :<form $1 data-abide novalidate $2>
- Custom patterns:
- use the following 2 lines, instead of the commented lines:
// Foundation 6 Style:
Foundation.Abide.defaults.patterns['dd_mm_yyyy'] = /((0[1-9]|[12][0-9]|3[01])[- \/.]0[1-9]|1[012])[- \/.]\d\d/;
Foundation.Abide.defaults.patterns['short_time'] = /(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9])/;
// Foundation 5 Style:
// $(document).foundation({
// abide : {
// patterns : {
// short_time: /(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9])/,
// dd_mm_yyyy: /((0[1-9]|[12][0-9]|3[01])[- \/.]0[1-9]|1[012])[- \/.]\d\d/
// },
// }
// });
**By no means, this is a comprehensive list of all the required changes. If it is, the Foundation team would have published it long time ago. However, it is a starting point, which might provide you with an idea of what is involved.
Good Luck....**