first commit

This commit is contained in:
armansansd
2023-07-12 16:31:19 +01:00
commit 3424b1927b
23306 changed files with 2217776 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
module.exports = {
sass: require('./sass'),
js: require('./js')
}
+54
View File
@@ -0,0 +1,54 @@
var empty = require('is-empty-object');
var unique = require('array-uniq');
var path = require('path');
// custom module names where needed
const MODULES = {
'offcanvas': 'OffCanvas'
};
/**
* Creates an array of file paths that can be passed to `gulp.src()`.
* @param {Object} config - Customizer configuration file.
* @param {String[]} modules - Modules to include in the file list.
* @returns {String[]} Array of file paths.
*/
module.exports = function(config, modules) {
var dir = path.resolve(__dirname, '../../js/');
var entry = "import $ from 'jquery';\n" +
"import { Foundation } from '" + dir + "/foundation.core';\n" +
"Foundation.addToJquery($);\n" +
"import { MediaQuery } from '" + dir + "/foundation.util.mediaQuery';\n" +
"Foundation.MediaQuery = MediaQuery;\n" +
"import { Triggers } from '" + dir + "/foundation.util.triggers';\n" +
"Triggers.init($, Foundation);\n";
// last 2 pieces work around https://github.com/zurb/foundation-sites/issues/10287
var libraries = [];
if (empty(modules)) {
modules = Object.keys(config);
}
for (var i in modules) {
var name = modules[i];
// Check if the module has JS files
if (config[name] && config[name].js) {
libraries.push(config[name].js);
}
}
// add plugins into entry
for (var i in libraries) {
var file = libraries[i];
var moduleName = MODULES[file] || file.charAt(0).toUpperCase() + file.slice(1);
entry = entry + "import { " + moduleName + " } from '" + dir + "/foundation." + file + "';\n";
entry = entry + "Foundation.plugin(" + moduleName + ", '" + moduleName + "');\n";
}
// return entry file as string
return entry;
}
+76
View File
@@ -0,0 +1,76 @@
var empty = require('is-empty-object');
var format = require('util').format;
var stripIndent = require('strip-indent');
var SASS_TEMPLATE = stripIndent(`
@charset 'utf-8';
// Variables go here
%s
// Core imports go here
@import 'foundation';
@import 'motion-ui';
// Modules go here
%s
// Motion UI goes here
@include motion-ui-transitions;
@include motion-ui-animations;
`);
/**
* Generates an entry point Sass file with a custom list of CSS exports and Sass variables.
* @param {Object} config - Customizer configuration object.
* @param {String[]} modules - Modules to include CSS for.
* @param {Object} variables - Sass variable overrides to include. The key is the name of the variable, and the value is the value.
* @returns {String} Formatted Sass file.
*/
module.exports = function(config, modules, variables) {
var variableList = [];
var colorList = {};
var exportList = ['@include foundation-global-styles;'];
if (empty(modules)) {
modules = Object.keys(config);
}
// Create variable overrides code
for (var i in variables) {
var name = i.replace('_', '-');
if (name.match(/-color$/)) {
var key = name.replace('-color', '');
colorList[key] = variables[i];
}
else {
variableList.push(format('$%s: %s;', name, variables[i]));
}
}
if (!empty(colorList)) {
variableList.push(createPaletteMap(colorList));
}
// Create module exports with @include
for (var i in modules) {
var name = modules[i];
if (config[name] && config[name].sass) {
exportList.push(format('@include foundation-%s;', config[name].sass));
}
}
return format(SASS_TEMPLATE, variableList.join('\n'), exportList.join('\n'))
}
function createPaletteMap(colors) {
var output = '$foundation-palette: (%s\n);';
var keys = '';
for (var i in colors) {
keys += format('\n %s: %s,', i, colors[i]);
}
return format(output, keys);
}