@hoosei/voxweave-react
Version:
A customizable and interactive voice UI component for React applications
3 lines (2 loc) • 1.77 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var c="-";function C(r){var t=g(r),e=r.conflictingClassGroups,n=r.conflictingClassGroupModifiers,u=n===void 0?{}:n;function i(a){var s=a.split(c);return s[0]===""&&s.length!==1&&s.shift(),d(s,t)||G(a)}function o(a,s){var f=e[a]||[];return s&&u[a]?[].concat(f,u[a]):f}return{getClassGroupId:i,getConflictingClassGroupIds:o}}function d(r,t){if(r.length===0)return t.classGroupId;var e=r[0],n=t.nextPart.get(e),u=n?d(r.slice(1),n):void 0;if(u)return u;if(t.validators.length!==0){var i=r.join(c);return t.validators.find(function(o){var a=o.validator;return a(i)})?.classGroupId}}var l=/^\[(.+)\]$/;function G(r){if(l.test(r)){var t=l.exec(r)[1],e=t?.substring(0,t.indexOf(":"));if(e)return"arbitrary.."+e}}function g(r){var t=r.theme,e=r.prefix,n={nextPart:new Map,validators:[]},u=y(Object.entries(r.classGroups),e);return u.forEach(function(i){var o=i[0],a=i[1];v(a,n,o,t)}),n}function v(r,t,e,n){r.forEach(function(u){if(typeof u=="string"){var i=u===""?t:p(t,u);i.classGroupId=e;return}if(typeof u=="function"){if(x(u)){v(u(n),t,e,n);return}t.validators.push({validator:u,classGroupId:e});return}Object.entries(u).forEach(function(o){var a=o[0],s=o[1];v(s,p(t,a),e,n)})})}function p(r,t){var e=r;return t.split(c).forEach(function(n){e.nextPart.has(n)||e.nextPart.set(n,{nextPart:new Map,validators:[]}),e=e.nextPart.get(n)}),e}function x(r){return r.isThemeGetter}function y(r,t){return t?r.map(function(e){var n=e[0],u=e[1],i=u.map(function(o){return typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(function(a){var s=a[0],f=a[1];return[t+s,f]})):o});return[n,i]}):r}exports.createClassMap=g;exports.createClassUtils=C;
//# sourceMappingURL=index72.js.map