classNames.js 841 B

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _util = require("./util");
  7. function classNames() {
  8. const classes = [];
  9. for (let i = 0; i < arguments.length; i++) {
  10. const value = i < 0 || arguments.length <= i ? undefined : arguments[i];
  11. if (!value) continue;
  12. if ((0, _util.isString)(value)) {
  13. classes.push(value);
  14. } else if ((0, _util.isArray)(value)) {
  15. for (let i = 0; i < value.length; i++) {
  16. const inner = classNames(value[i]);
  17. if (inner) {
  18. classes.push(inner);
  19. }
  20. }
  21. } else if ((0, _util.isObject)(value)) {
  22. for (const name in value) {
  23. if (value[name]) {
  24. classes.push(name);
  25. }
  26. }
  27. }
  28. }
  29. return classes.join(' ');
  30. }
  31. var _default = exports.default = classNames;