From f433e49366bfa730bb7820b14b075916f5780586 Mon Sep 17 00:00:00 2001 From: Reuven Karasik Date: Wed, 31 Mar 2021 20:11:13 +0300 Subject: [PATCH] Version 1.0.0. with all the local JS code --- dist/fonts/ivritacons-alefalefalef.woff | Bin 0 -> 6660 bytes dist/fonts/ivritacons-alefalefalef.woff2 | Bin 0 -> 5372 bytes dist/ivrita.min.js | 2 ++ dist/ivrita.min.js.map | 1 + dist/ivrita.ui.min.js | 2 ++ dist/ivrita.ui.min.js.map | 1 + ivrita.php | 4 ++-- js/ivrita.min.js | 2 -- js/ivrita.min.js.map | 1 - 9 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 dist/fonts/ivritacons-alefalefalef.woff create mode 100644 dist/fonts/ivritacons-alefalefalef.woff2 create mode 100644 dist/ivrita.min.js create mode 100644 dist/ivrita.min.js.map create mode 100644 dist/ivrita.ui.min.js create mode 100644 dist/ivrita.ui.min.js.map delete mode 100644 js/ivrita.min.js delete mode 100644 js/ivrita.min.js.map diff --git a/dist/fonts/ivritacons-alefalefalef.woff b/dist/fonts/ivritacons-alefalefalef.woff new file mode 100644 index 0000000000000000000000000000000000000000..18c8f1257fc20cdc72e6fa1da795abc025744e19 GIT binary patch literal 6660 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 DyU1Vv literal 0 HcmV?d00001 diff --git a/dist/fonts/ivritacons-alefalefalef.woff2 b/dist/fonts/ivritacons-alefalefalef.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c7057fa5282bc87f734a729dda7324ae3fcf7204 GIT binary patch literal 5372 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 am8eKdDM?Y5R{"use strict";var t={662:(t,e,n)=>{n.d(e,{default:()=>at});var r={ן:"נ",ף:"פ",ך:"כ",ם:"מ",ץ:"צ"},o=Object.keys(r).concat(Object.values(r)),i=Object.keys(r),u=function(t){return Object.keys(r).find((function(e){return r[e]===t}))||t},a=function(t){return r[t]||t},c="[\\\\/.]",s="[\\\\./—־-]",f="'‎\"”׳״",l="[א-ת"+f+"]",y="["+i+"]",d="^|$|\b|[^א-ת֐-ֽֿׁ-ׂׄ-ׇׯ-ײשׁ-ﭏ]",h="(?="+d+")",p="(?:"+d+")",b=[s,"\\[","\\{","\\(","םן","ןם","יםות","ותים"].join("|"),v=["(א|ס)ובי(י?)קטיב","אחמ(["+f+"]?)ש","ח(["+f+"])כ","מ(["+f+"])פ","מנכ(["+f+"]?)ל","מפא(["+f+"]?)יניק","משת(["+f+"]?)פ","עו(["+f+"])(ס|ד)","רו(["+f+"])ח","רשג(["+f+"]?)ד","א(י?)כפת","אביב","אח","אגרונומ","אדריכל","אוטיסט","אוסטר(ל?)","אופטימ","אחרא","אחיינ","איטלק","אינדיבידואליסט","אירונ","אירופא","אכזר","אלגנט","אלכוהוליסט","אלמונ","אמית","אמריק(א|נ)","אנאלפבית","אנגל","אנוש","אנטישמ","אנליסט","אנרכיסט","אסטרולוג","אסיאת","אפריק(נ|א)","אצנ","אקדמ(א?)","אקטואל","אקטיביסט","אקרא","ארטיסט","אשכנז","אתאיסט","אתיופ","בוגדנ","בולגר","בטחונ","ביביסט","ב(י?)דיונ","בינונ","בינלאומ","בל(א?)גניסט","בלוגר","בלונד","במא","ברב(א?)ר","ברונט","בריט","ברמנ","ג"+f+"ובניק","ג"+f+"ינג"+f,"גות","גיטריסט","גר(א?)פ","גרמנ","גרפיקא","דברנ","דוקטורנט","דושבג","דיאטנ","דינ(א?)מ","(י?)הוד","הי(פ?)סטר","היפ","הססנ","הנדסא","הרמונ","וטרינר","זכא","חבר(ו?)ת","חובבנ","חולמנ","חושנ","חילונ","חי(ו|נ)נ","חיפא","חמדנ","חרד","חרד(ת?)","חרמנ","חשמלא","טבח","טבעונ","טורק","טיפוגרפ","טכנא","טרוריסט","טרמפיסט","טרנס","ידידות","יוגיסט","יוונ","יורקר","יזמ","ימא","ימ(י?)נ","ירושלמ","ישראל","כימא","כלכלנ","כרונ","לבנונ","לוחמנ","ליברל","ליכודניק","מאסטר","מוזיק(ל|א)","מומח","מזוכיסט","מזרח","מחזא","מטאליסט","מטרידנ","מילואימניק","מיליארדר","מיליונר","מכונא","מלאכ","מלצר","מפסידנ","מצליחנ","מצפונ","מקצוע(נ?)","מרדנ","מרקסיסט","נגר","נובוריש","נודיסט","נודניק","נוצר","נורא","נורווג","נטורופת","נרקומנ","ס(א?)דיסט","ס(א?)ח","סדרנ","סהרור","סוליד(ר?)","סוציאליסט","סטודנט","סטרייט","סמכות","סנדלר","סנוב","ססגונ","ספונטנ","ספורטיב","ספציפ","ספרד","סקסולוג","סרב","סרטט","עירונ","עיתונא","עממ","עניינ","ענק","עסיס","עצמא","עקרונ","ערב","ערס","פאנקיסט","פדופיל","פוליטיקא","פולנ","פופול(א?)ר","פופוליסט","פחדנ","פטריוט","פילוסופ","פיזיוטרפיסט","פמיניסט","פסיכופת","פסיכולוג","פסיכיאטר","פסנתרנ","פציפיסט","פריק","פרופסור","פרזנטור","פריל(א?)נסר","פרסומא","פקח","פשיסט","צבע","צבעונ","צי(ו?)נ","ציבור","ציפלונ","צמחונ","צפונ","צרפת","קדמונ","קוויר","קומוניסט","קומיק(ס?)א","קונדיטור","קוסמטיקא","קופא","קוקסינל","קטלנ","קטנונ","קיבוצניק","קיצונ","קלאס","קלדנ","קלפטומנ","קניינ","קפדנ","קפיטליסט","קריקטוריסט","קצב","רבנ","רוחנ","רוס","רוקיסט","רמא","רפד","רקדנ","ש(ו?)ויונ","שאפתנ","שוביניסט","שווד","שוויצר","שחיינ","שחקנ","שלומיאל","שמאלנ","שמנמנ","שמרנ","שפ","שק(ר|ד)נ","שרמנט","תורכ","תזונא","תחמנ","תסריטא","תצפיתנ","תקציבא","תרבות"];function m(t){return function(t){if(Array.isArray(t))return $(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return $(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:3;return this.constructor.GENDERS.includes(t)?((this.mode===ut&&t!==ut||this.mode!==ut&&t===ut)&&this.setFontFeatureSettings(t===ut),this.mode=t,this.nodes.forEach((function(e){return e.setMode(t===ut?3:t)})),this.dispatchModeChangedEvent(t),this):this}},{key:"genderize",value:function(t){return this.constructor.genderize(t,this.mode)}},{key:"dispatchModeChangedEvent",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.mode;this.elements.forEach((function(n){return n.dispatchEvent(new CustomEvent(t.constructor.EVENT_MODE_CHANGED,{bubbles:!0,detail:{mode:e,firingInstance:t}}))}))}},{key:"registerTextObjects",value:function(t){this.registerTextNodes(t),this.registerTextAttributes(t)}},{key:"registerTextNodes",value:function(t){for(var e,n=this,r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_TEXT,{acceptNode:function(t){return n.constructor.acceptNodeFilter(t)}});e=r.nextNode();){var o=void 0;e instanceof Text?o=new Y(e):e instanceof Element&&(o=new W(e)),this.nodes.add(o),this.mode&&o.setMode(this.mode)}}},{key:"registerTextAttributes",value:function(t){var e=this;Object.entries(this.relavantAttributes).forEach((function(n){var r=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}}(t,e)||Z(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(n,2),o=r[0],i=r[1];Array.from(t.querySelectorAll(o)).forEach((function(t){i.forEach((function(n){t.hasAttribute(n)&&e.nodes.add(new C(t.getAttributeNode(n)))}))}))}))}},{key:"onElementChange",value:function(t){var e=this;t.forEach((function(t){if("childList"===t.type){var n=Array.from(t.addedNodes),r=Array.from(t.removedNodes);n.length===r.length?r.forEach((function(t,e){if(t.nodeType===Node.TEXT_NODE){var r=n[e];if(Y.instances.has(t)&&r.nodeType===Node.TEXT_NODE){var o=Y.instances.get(t);o.node=r,Y.instances.set(r,o),Y.instances.delete(t)}}})):n.forEach((function(t){if(!function(t,e){do{if(t instanceof Element&&Element.prototype.matches.call(t,"[data-ivrita-disable]"))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}(t))if(t.nodeType===Node.TEXT_NODE&&e.constructor.acceptNodeFilter(t)===NodeFilter.FILTER_ACCEPT){var n=new Y(t);e.nodes.add(n),e.mode&&n.setMode(e.mode)}else t.childNodes.length>0&&e.registerTextNodes(t)}))}}))}},{key:"setFontFeatureSettings",value:function(t){return this.fontFeatureSettings=t,this.elements.forEach((function(e){var n=e.style.fontFeatureSettings.slice().replace("normal","");t?n.includes("titl")||(n&&(n+=", "),n+='"titl"'):n.includes("titl")&&(n=n.replace(/(, )?"?'?titl"?'?/,"")),n||(n="normal"),e.style.fontFeatureSettings=n})),this}}])&&nt(e.prototype,n),r&&nt(e,r),t}();at.EVENT_MODE_CHANGED="ivrita-mode-changed",at.ORIGINAL=0,at.MALE=1,at.FEMALE=2,at.NEUTRAL=3,at.MULTI=ut,at.GENDERS=[].concat(function(t){if(Array.isArray(t))return tt(t)}(rt=S)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(rt)||Z(rt)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[ut]),at.instances=new Map,at.defaultMode=3,at.genderize=A,at.textObjects=x.instances,"function"==typeof jQuery&&(jQuery.fn.ivrita=function(t){return new at(this,t)})}},e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n(662)})().default})); +//# sourceMappingURL=ivrita.min.js.map \ No newline at end of file diff --git a/dist/ivrita.min.js.map b/dist/ivrita.min.js.map new file mode 100644 index 0000000..c833742 --- /dev/null +++ b/dist/ivrita.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://Ivrita/webpack/universalModuleDefinition","webpack://Ivrita/./src/utils/finals.js","webpack://Ivrita/./src/utils/characters.js","webpack://Ivrita/./src/wordlists.js","webpack://Ivrita/./src/rules.js","webpack://Ivrita/./src/ivrita.js","webpack://Ivrita/./src/textObject.js","webpack://Ivrita/./src/textAttribute.js","webpack://Ivrita/./src/textElement.js","webpack://Ivrita/./src/textNode.js","webpack://Ivrita/./src/element.js","webpack://Ivrita/webpack/bootstrap","webpack://Ivrita/webpack/startup","webpack://Ivrita/webpack/runtime/define property getters","webpack://Ivrita/webpack/runtime/hasOwnProperty shorthand"],"names":["root","factory","exports","module","define","amd","self","fins","finnables","Object","keys","concat","values","finals","toFin","notFin","find","key","toNotFin","fin","SEP","EXTSEP","G","W","FIN","b","B","NCB","SYNTAX","join","pluralsWithExtraYod","unisex","pattern","replacement","matchAndNormalizeVerb","word","addYod","wordWithoutLastLetter","slice","length","lastLetter","lastLetterMatcher","includes","femaleBase","male","reduce","r","map","targetWord","replace","RegExp","f","p","PROTECTED","protectedRegexp","GENDERS","genderize","originalText","gender","doneFunc","genderized","bracedStrings","matched","string","index","prev","used","rules","forEach","female","neutral","undefined","push","group","parsedIndex","parseInt","IncompatibleTypeError","Error","TextObject","node","currentMode","storedValues","instances","has","get","set","this","getValue","newMode","newVal","setValue","value","WeakMap","TextAttribute","attr","Attr","init","MALE_DATA_ATTR","FEMALE_DATA_ATTR","NEUTRAL_DATA_ATTR","TextElement","element","Element","dataset","innerHTML","TextNode","Text","data","hebrewRegex","ivritaSyntaxRegex","MULTI","IvritaElement","elem","mode","nodes","Set","elements","fontFeatureSettings","relavantAttributes","document","body","titleTag","documentElement","querySelector","Array","filter","el","HTMLElement","NodeList","from","jQuery","toArray","constructor","preExistingInstance","registerTextObjects","observer","MutationObserver","onElementChange","bind","observe","childList","subtree","characterData","setMode","defaultMode","instance","NodeFilter","FILTER_ACCEPT","textContent","trim","FILTER_REJECT","nodeType","Node","ELEMENT_NODE","ivritaDisable","TEXT_NODE","test","FILTER_SKIP","setFontFeatureSettings","disconnect","clear","dispatchModeChangedEvent","text","dispatchEvent","CustomEvent","EVENT_MODE_CHANGED","bubbles","detail","firingInstance","registerTextNodes","registerTextAttributes","currentNode","walk","createTreeWalker","SHOW_ELEMENT","SHOW_TEXT","acceptNode","acceptNodeFilter","nextNode","newNode","add","entries","selector","attributes","querySelectorAll","input","attrName","hasAttribute","getAttributeNode","mutationsList","mutation","type","added","addedNodes","removed","removedNodes","oldNode","i","nodeObj","delete","s","prototype","matches","call","parentElement","parentNode","closest","ivritaTextNode","childNodes","isActive","result","style","ORIGINAL","MALE","FEMALE","NEUTRAL","Map","textObjects","fn","ivrita","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","hasOwnProperty"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAgB,OAAID,IAEpBD,EAAa,OAAIC,IARnB,CASGK,MAAM,WACT,M,gECTO,IAAMC,EAAO,CAClB,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,KAGMC,EAAYC,OAAOC,KAAKH,GAAMI,OAAOF,OAAOG,OAAOL,IACnDM,EAASJ,OAAOC,KAAKH,GAErBO,EAAQ,SAACC,GAAD,OAAYN,OAAOC,KAAKH,GAAMS,MAAK,SAACC,GAAD,OAASV,EAAKU,KAASF,MAAWA,GAC7EG,EAAW,SAACC,GAAD,OAAUZ,EAAKY,IAAQA,GCXlCC,EAAM,WAENC,EAAS,cACTC,EAAI,UAEJC,EAAC,OAAUD,EAAV,IACDE,EAAG,IAAOX,EAAP,IAEVY,EAAI,gCACGC,EAAC,MAASD,EAAT,IAGDE,EAAG,MAASF,EAAT,IAEHG,EAAS,CAACP,EAAQ,MAAO,MAAO,MAAO,KAAM,KAAM,OAAQ,QAAQQ,KAAK,KCwExEC,EAAsB,CACjC,mBADiC,QAEzBR,EAFyB,aAG3BA,EAH2B,YAI3BA,EAJ2B,cAKzBA,EALyB,eAMzBA,EANyB,kBAOzBA,EAPyB,cAQ1BA,EAR0B,iBAS1BA,EAT0B,cAUzBA,EAVyB,OAWjC,WACA,OACA,KACA,UACA,SACA,SACA,YACA,SACA,OACA,QACA,QACA,iBACA,QACA,SACA,OACA,QACA,aACA,QACA,OACA,aACA,WACA,OACA,OACA,SACA,SACA,UACA,WACA,QACA,aACA,MACA,WACA,SACA,WACA,OACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,SACA,YACA,QACA,UACA,cACA,QACA,QACA,MACA,WACA,QACA,OACA,OA/DiC,IAgE7BA,EAhE6B,YAiE7BA,EAjE6B,MAiEtBA,EACX,MACA,UACA,UACA,OACA,SACA,OACA,WACA,QACA,QACA,WACA,UACA,YACA,MACA,OACA,QACA,QACA,SACA,MACA,WACA,QACA,QACA,OACA,QACA,WACA,OACA,OACA,MACA,UACA,OACA,QACA,MACA,QACA,OACA,UACA,OACA,UACA,UACA,OACA,SACA,SACA,OACA,QACA,MACA,MACA,UACA,SACA,QACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,QACA,aACA,OACA,UACA,OACA,OACA,UACA,SACA,aACA,WACA,UACA,QACA,OACA,OACA,SACA,SACA,QACA,YACA,OACA,UACA,MACA,UACA,SACA,SACA,OACA,OACA,SACA,UACA,SACA,YACA,SACA,OACA,QACA,YACA,YACA,SACA,SACA,QACA,QACA,OACA,QACA,SACA,UACA,QACA,OACA,UACA,MACA,OACA,QACA,SACA,MACA,QACA,MACA,OACA,OACA,QACA,MACA,MACA,UACA,SACA,WACA,OACA,aACA,WACA,OACA,SACA,UACA,cACA,UACA,UACA,WACA,WACA,SACA,UACA,OACA,UACA,UACA,cACA,SACA,MACA,QACA,MACA,QACA,UACA,QACA,SACA,QACA,OACA,OACA,QACA,QACA,WACA,aACA,WACA,WACA,OACA,UACA,OACA,QACA,WACA,QACA,OACA,OACA,UACA,QACA,OACA,WACA,aACA,MACA,MACA,OACA,MACA,SACA,MACA,MACA,OACA,YACA,QACA,WACA,OACA,SACA,QACA,OACA,UACA,QACA,QACA,OACA,KACA,WACA,QACA,OACA,QACA,OACA,SACA,SACA,SACA,S,6tBCvUF,IAaMS,EAAS,SAACC,EAASC,GAAV,MAA0B,CAACD,EAASC,EAAaA,EAAaA,IAEvEC,EAAwB,SAACC,EAAMC,GACnC,IAAMC,EAAwBF,EAAKG,MAAM,EAAGH,EAAKI,OAAS,GACpDC,EAAaL,EAAKG,MAAMH,EAAKI,OAAS,GACxCE,EAAiB,IAAOD,EAAP,IACjBhC,EAAUkC,SAASF,KACrBC,EAAiB,IAAO3B,EAAM0B,GAAb,IAA4BtB,EAASsB,GAArC,KAGnB,IAAMG,EAAgBN,GAAwBD,EAAS,IAAM,IAAKlB,EAASsB,GACrEI,EAAI,GAAMP,E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","file":"ivrita.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Ivrita\"] = factory();\n\telse\n\t\troot[\"Ivrita\"] = factory();\n})(self, function() {\nreturn ","/* eslint-disable quote-props */\nexport const fins = {\n 'ן': 'נ',\n 'ף': 'פ',\n 'ך': 'כ',\n 'ם': 'מ',\n 'ץ': 'צ',\n};\n/* eslint-enable quote-props */\nexport const finnables = Object.keys(fins).concat(Object.values(fins));\nexport const finals = Object.keys(fins);\n\nexport const toFin = (notFin) => Object.keys(fins).find((key) => fins[key] === notFin) || notFin;\nexport const toNotFin = (fin) => (fins[fin] || fin);\n","import { finals } from './finals';\n\nexport const SEP = '[\\\\\\\\/.]';\nexport const HEB = '[א-ת]';\nexport const EXTSEP = '[\\\\\\\\./—־-]';\nexport const G = '\\'‎\"”׳״'; // \"Gershayim\"\nexport const MAKAF = '—־-';\nexport const W = `[א-ת${G}]`;\nexport const FIN = `[${finals}]`;\n\nconst b = '^|$|\\b|[^א-ת\\u0590-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C7\\u05EF-\\u05F2\\uFB2A-\\uFB4F]'; // Boundary, like \"\\b\" in regex. All unicode characters which can be part of a hebrew word\nexport const B = `(?=${b})`; // Look-ahead positive\nexport const CB = `(${b})`; // Just capturing\nexport const LBPB = `(?<=${b})`; // Look-behind positive - not used since it's not supported by Safari :(\nexport const NCB = `(?:${b})`; // Non-capturing\n\nexport const SYNTAX = [EXTSEP, '\\\\[', '\\\\{', '\\\\(', 'םן', 'ןם', 'יםות', 'ותים'].join('|');\n","import {\n G, SEP, EXTSEP, B,\n} from './utils/characters';\n\nexport const custom = [\n [`א${EXTSEP}נשים`, 'אנשים', 'נשים'], // א.נשים\n [`א${EXTSEP}נש(?:ות|י)${B}`, 'אנשי', 'נשות'], // א.נשי\n [`את${SEP}ה`, 'אתה', 'את'], // את/ה\n [`איש${SEP}(?:אש)?ת`, 'איש', 'אשת'], // איש/אשת, איש/ת\n [`אשת${SEP}איש`, 'איש', 'אשת'], // אשת/איש\n [`(גבר|איש)${SEP}אישה`, '$1', 'אישה'], // גבר/אישה, איש/אישה\n [`אחי${SEP}ותי${B}`, 'אחי', 'אחותי'], // אחי/ותי\n [`אח${SEP}ות${B}`, 'אח', 'אחות'], // אח/ות\n [`ל(ו|ה)${SEP}ל(ו|ה)${B}`, 'לו', 'לה'], // לו/לה, לה/לו\n [`ב(ן|ת)${SEP}ב(ן|ת)${B}`, 'בן', 'בת'], // בת/בן, בן/בת\n [`ה(ו|י)א${SEP}ה(ו|י)א${B}`, 'הוא', 'היא'], // הוא/היא, היא/הוא\n [`אנשי${SEP}ות${B}`, 'אנשי', 'נשות'], // אנשי/ות\n [`מישהו${SEP}י${B}`, 'מישהו', 'מישהי'], // מישהו/י\n [`אחד${SEP}(אח)?ת${B}`, 'אחד', 'אחת'], // אחד/ת, אחד/אחת\n [`אחת${SEP}(אח)?ד${B}`, 'אחד', 'אחת'], // אחת/ד, אחת/אחד\n [`יקיר(י?)${SEP}תי${B}`, 'יקירי', 'יקירתי'], // יקירי/תי\n [`אהוב(י?)${SEP}תי${B}`, 'אהובי', 'אהובתי'], // אהובי/תי\n ['סב\\\\(ת\\\\)א', 'סבא', 'סבתא'], // סבא/סבתא\n [`זה${SEP}זאת${B}`, 'זה', 'זאת'], // זה/זאת\n [`זאת${SEP}זה${B}`, 'זה', 'זאת'], // זאת/זה\n [`זה${SEP}ז?ו${B}`, 'זה', 'זו'], // זה/זו\n [`זו${SEP}ז?ה${B}`, 'זה', 'זו'], // זו/זה\n [`נשוי${SEP}א?ה${B}`, 'נשוי', 'נשואה'], // נשוי/אה\n [`חשוב${SEP}י${B}`, 'חשוב', 'חשבי'], // חשוב/י (exception because of שוב/י which is in verbsFemaleKeepVav)\n [`חשוב${SEP}י${SEP}ו${B}`, 'חשוב', 'חשבי', 'חשבו'], // חשוב/י/ו (exception because of שוב/י which is in verbsFemaleKeepVav)\n];\n\n// For most verbs (Unless found in *verbsFemaleKeepVav*), we follow the rules of:\n// כתוב/י => Vav before last letter => Vav removed => כתבי\n// else:\n// לך/י => Yod added after original word => לכי\n// However, some verbs need an aditional Yod before their last letter:\n// הקשב => Add Yod before and after Bet => הקשיבי\n// This is the list of words which need that extra Yod:\nexport const verbsFemaleExtraYod = [\n 'האר',\n 'הבא',\n 'הגב',\n 'הדגם',\n 'הדלק',\n 'הוסף',\n 'הואל',\n 'הורד',\n 'הזמן',\n 'הזן',\n 'הכנס',\n 'הלבש',\n 'המלץ',\n 'המשך',\n 'הסר',\n 'הסתר',\n 'הפעל',\n 'הפקד',\n 'הצג',\n 'הקלד',\n 'הקלק',\n 'הקש',\n 'הקשב',\n 'הרגש',\n 'הרם',\n 'הרעף',\n 'השב',\n 'השלם',\n 'השתק',\n 'התמד',\n 'התקן',\n 'העתק',\n 'הדבק',\n];\n\nexport const verbsFemaleKeepVav = [\n 'קום',\n 'רוץ',\n 'עופ',\n 'שוב',\n 'זוז',\n 'טוס',\n 'שוט',\n 'בוא',\n];\n\n// Most plurals don't need an extra Yod on their female form: מורים->מורות\n// These are the exceptions which need a Yod:\nexport const pluralsWithExtraYod = [\n '(א|ס)ובי(י?)קטיב', // אוביקטיבי וסוביקטיבי\n `אחמ([${G}]?)ש`,\n `ח([${G}])כ`,\n `מ([${G}])פ`,\n `מנכ([${G}]?)ל`,\n `מפא([${G}]?)יניק`,\n `משת([${G}]?)פ`,\n `עו([${G}])(ס|ד)`,\n `רו([${G}])ח`,\n `רשג([${G}]?)ד`,\n 'א(י?)כפת',\n 'אביב',\n 'אח',\n 'אגרונומ',\n 'אדריכל',\n 'אוטיסט',\n 'אוסטר(ל?)',\n 'אופטימ',\n 'אחרא',\n 'אחיינ',\n 'איטלק',\n 'אינדיבידואליסט',\n 'אירונ',\n 'אירופא',\n 'אכזר',\n 'אלגנט',\n 'אלכוהוליסט',\n 'אלמונ',\n 'אמית',\n 'אמריק(א|נ)',\n 'אנאלפבית',\n 'אנגל',\n 'אנוש',\n 'אנטישמ',\n 'אנליסט',\n 'אנרכיסט',\n 'אסטרולוג',\n 'אסיאת',\n 'אפריק(נ|א)',\n 'אצנ',\n 'אקדמ(א?)',\n 'אקטואל',\n 'אקטיביסט',\n 'אקרא',\n 'ארטיסט',\n 'אשכנז',\n 'אתאיסט',\n 'אתיופ',\n 'בוגדנ',\n 'בולגר',\n 'בטחונ',\n 'ביביסט',\n 'ב(י?)דיונ',\n 'בינונ',\n 'בינלאומ',\n 'בל(א?)גניסט',\n 'בלוגר',\n 'בלונד',\n 'במא',\n 'ברב(א?)ר',\n 'ברונט',\n 'בריט',\n 'ברמנ',\n `ג${G}ובניק`,\n `ג${G}ינג${G}`,\n 'גות',\n 'גיטריסט',\n 'גר(א?)פ',\n 'גרמנ',\n 'גרפיקא',\n 'דברנ',\n 'דוקטורנט',\n 'דושבג',\n 'דיאטנ',\n 'דינ(א?)מ',\n '(י?)הוד',\n 'הי(פ?)סטר',\n 'היפ',\n 'הססנ',\n 'הנדסא',\n 'הרמונ',\n 'וטרינר',\n 'זכא',\n 'חבר(ו?)ת',\n 'חובבנ',\n 'חולמנ',\n 'חושנ',\n 'חילונ',\n 'חי(ו|נ)נ',\n 'חיפא',\n 'חמדנ',\n 'חרד',\n 'חרד(ת?)',\n 'חרמנ',\n 'חשמלא',\n 'טבח',\n 'טבעונ',\n 'טורק',\n 'טיפוגרפ',\n 'טכנא',\n 'טרוריסט',\n 'טרמפיסט',\n 'טרנס',\n 'ידידות',\n 'יוגיסט',\n 'יוונ',\n 'יורקר',\n 'יזמ',\n 'ימא',\n 'ימ(י?)נ',\n 'ירושלמ',\n 'ישראל',\n 'כימא',\n 'כלכלנ',\n 'כרונ',\n 'לבנונ',\n 'לוחמנ',\n 'ליברל',\n 'ליכודניק',\n 'מאסטר',\n 'מוזיק(ל|א)',\n 'מומח',\n 'מזוכיסט',\n 'מזרח',\n 'מחזא',\n 'מטאליסט',\n 'מטרידנ',\n 'מילואימניק',\n 'מיליארדר',\n 'מיליונר',\n 'מכונא',\n 'מלאכ',\n 'מלצר',\n 'מפסידנ',\n 'מצליחנ',\n 'מצפונ',\n 'מקצוע(נ?)',\n 'מרדנ',\n 'מרקסיסט',\n 'נגר',\n 'נובוריש',\n 'נודיסט',\n 'נודניק',\n 'נוצר',\n 'נורא',\n 'נורווג',\n 'נטורופת',\n 'נרקומנ',\n 'ס(א?)דיסט',\n 'ס(א?)ח',\n 'סדרנ',\n 'סהרור',\n 'סוליד(ר?)',\n 'סוציאליסט',\n 'סטודנט',\n 'סטרייט',\n 'סמכות',\n 'סנדלר',\n 'סנוב',\n 'ססגונ',\n 'ספונטנ',\n 'ספורטיב',\n 'ספציפ',\n 'ספרד',\n 'סקסולוג',\n 'סרב',\n 'סרטט',\n 'עירונ',\n 'עיתונא',\n 'עממ',\n 'עניינ',\n 'ענק',\n 'עסיס',\n 'עצמא',\n 'עקרונ',\n 'ערב',\n 'ערס',\n 'פאנקיסט',\n 'פדופיל',\n 'פוליטיקא',\n 'פולנ',\n 'פופול(א?)ר',\n 'פופוליסט',\n 'פחדנ',\n 'פטריוט',\n 'פילוסופ',\n 'פיזיוטרפיסט',\n 'פמיניסט',\n 'פסיכופת',\n 'פסיכולוג',\n 'פסיכיאטר',\n 'פסנתרנ',\n 'פציפיסט',\n 'פריק',\n 'פרופסור',\n 'פרזנטור',\n 'פריל(א?)נסר',\n 'פרסומא',\n 'פקח',\n 'פשיסט',\n 'צבע',\n 'צבעונ',\n 'צי(ו?)נ',\n 'ציבור',\n 'ציפלונ',\n 'צמחונ',\n 'צפונ',\n 'צרפת',\n 'קדמונ',\n 'קוויר',\n 'קומוניסט',\n 'קומיק(ס?)א',\n 'קונדיטור',\n 'קוסמטיקא',\n 'קופא',\n 'קוקסינל',\n 'קטלנ',\n 'קטנונ',\n 'קיבוצניק',\n 'קיצונ',\n 'קלאס',\n 'קלדנ',\n 'קלפטומנ',\n 'קניינ',\n 'קפדנ',\n 'קפיטליסט',\n 'קריקטוריסט',\n 'קצב',\n 'רבנ',\n 'רוחנ',\n 'רוס',\n 'רוקיסט',\n 'רמא',\n 'רפד',\n 'רקדנ',\n 'ש(ו?)ויונ',\n 'שאפתנ',\n 'שוביניסט',\n 'שווד',\n 'שוויצר',\n 'שחיינ',\n 'שחקנ',\n 'שלומיאל',\n 'שמאלנ',\n 'שמנמנ',\n 'שמרנ',\n 'שפ', //*\n 'שק(ר|ד)נ',\n 'שרמנט',\n 'תורכ',\n 'תזונא',\n 'תחמנ',\n 'תסריטא',\n 'תצפיתנ',\n 'תקציבא',\n 'תרבות',\n];\n","import {\n SEP, G, W, FIN, B, HEB, NCB, CB,\n} from './utils/characters';\n\nimport {\n finals,\n finnables, toFin, toNotFin,\n} from './utils/finals';\nimport {\n custom, verbsFemaleExtraYod, verbsFemaleKeepVav, pluralsWithExtraYod,\n} from './wordlists';\n\n// Marks are used by early rules to specify a position in a text\n// which should be addressed later by later rules.\n// For example, M_WORDFIN marks an artificial end of a word,\n// which was created by a rule (i.e. wasn't the end of the word in the original text)\n// and this ending should be checked for final letters errors (מ=>ם).\nconst M_WORDFIN = '\\u05c8'; // Not a real character\nconst M_NOT_WORDFIN = '\\u05c9'; // Not a real character\n\nconst regexize = (p) => {\n p[0] = new RegExp(p[0], 'g');\n\n if (p[3] === true) {\n p[3] = `${p[1]}/${p[2]}`;\n }\n return p;\n};\n\n// Unisex rules match always replace the same string, mode-ignorantly.\nconst unisex = (pattern, replacement) => [pattern, replacement, replacement, replacement];\n\nconst matchAndNormalizeVerb = (word, addYod) => {\n const wordWithoutLastLetter = word.slice(0, word.length - 1);\n const lastLetter = word.slice(word.length - 1);\n let lastLetterMatcher = `(${lastLetter})`;\n if (finnables.includes(lastLetter)) {\n lastLetterMatcher = `(${toFin(lastLetter)}|${toNotFin(lastLetter)})`;\n }\n\n const femaleBase = `${wordWithoutLastLetter}${addYod ? 'י' : ''}${toNotFin(lastLetter)}`;\n const male = `${wordWithoutLastLetter}${toFin(lastLetter)}`;\n return [\n [`${wordWithoutLastLetter}${lastLetterMatcher}${SEP}י${SEP}ו${B}`, male, `${femaleBase}י`, `${femaleBase}ו`],\n [`${wordWithoutLastLetter}${lastLetterMatcher}${SEP}י${B}`, male, `${femaleBase}י`],\n ];\n};\n\nexport default [\n // Whole Words\n ...custom,\n\n // הקשב/י => הקשב, הקשיבי\n ...verbsFemaleExtraYod.reduce((r, word) => r.concat(matchAndNormalizeVerb(word, true)), []),\n\n // קום/י => קום, קומי\n ...verbsFemaleKeepVav.reduce((r, word) => r.concat(matchAndNormalizeVerb(word, false)), []),\n\n // סטודנטים/ות => סטודנטים, סטודנטיות\n ...pluralsWithExtraYod.map((word) => {\n let targetWord = word;\n if (word.includes('(')) { // regex groups\n targetWord = word.replace(new RegExp('\\\\(.*?\\\\)'), '$2'); // TODO: support multiple groups\n }\n return [`${CB}${word}ים${SEP}י?ות${B}`, `$1${targetWord}ים`, `$1${targetWord}יות`];\n }),\n\n // Beginnings\n [`(${NCB}${W}{0,3})י${SEP}ת(${W}{2,})`, '$1י$2', '$1ת$2'], // שי/תכתוב\n [`(${NCB}${W}{0,3})ת${SEP}י(${W}{2,})`, '$1י$2', '$1ת$2'], // שת/יכתוב\n\n // Endings\n\n [`ו${SEP}ה${B}`, 'ו', 'ה'], // בגללה/ו\n [`ה${SEP}ו${B}`, 'ו', 'ה'], // בגללו/ה\n [`(${W})${SEP}ה${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}ה`], // חרוץ/ה\n ...finals.map(\n (f) => [`(${W})${f}${SEP}${toNotFin(f)}ה${B}`, `$1${f}${M_WORDFIN}`, `$1${toNotFin(f)}${M_NOT_WORDFIN}ה`],\n ), // מוכן/נה, חרוץ/צה\n\n [`(${W})ה?${SEP}תה${B}`, '$1ה', '$1תה'], // בכה/תה, רצ/תה\n [`(${W})יו${SEP}י?ה${B}`, '$1יו', '$1יה'], // מחקריו/יה\n [`(${W})ה${SEP}ית${B}`, '$1ה', '$1ית'], // מומחה/ית\n [`(${W})(ו?)י${SEP}ות${B}`, '$1$2י', '$1ות'], // מומחי/ות, שווי/ות\n [`(${W})ות${SEP}י${B}`, '$1י', '$1ות'], // מומחות/י\n [`(${W})${SEP}ית${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}ית`], // סטודנט/ית\n\n [`(${W})י${SEP}תי${B}`, '$1י', '$1תי'], // יקירי/תי\n\n [`(${W}{4,})אים${SEP}י?ות${B}`, '$1אים', '$1איות'], // ארגנטינאים/ות\n\n [`(${W})ווים${SEP}?ות${B}`, '$1ווים', '$1וות'], // שווים/ות\n [`(${W})וות${SEP}ים${B}`, '$1ווים', '$1וות'], // שוות/ים\n [`(${W})(י)?ים${SEP}?(י)?ות${B}`, '$1$2ים', '$1$2$3ות'], // מורים/ות\n [`(${W})(י)?ות${SEP}י?ים${B}`, '$1$2ים', '$1$2ות'], // מורות/ים\n [`(${W})י${SEP}ות${B}`, '$1י', '$1ות'], // עורכי/ות\n\n [`(${W})ה${SEP}י${SEP}ו${B}`, '$1ה', '$1י', '$1ו'], // ראה/י/ו\n [`(${W})ה${SEP}י${B}`, '$1ה', '$1י'], // ראה/י\n [`(${W})י${SEP}ה${SEP}ו${B}`, '$1ה', '$1י', '$1ו'], // ראי/ה/ו\n [`(${W})י${SEP}ה${B}`, '$1ה', '$1י'], // ראי/ה\n [`(${W}+)\\\\(י\\\\)(${W})${SEP}י${SEP}ו${B}`, '$1$2', '$1י$2י', '$1י$2ו'], // הפע(י)ל/י/ו\n [`(${W}+)\\\\(י\\\\)(${W})${SEP}י${B}`, '$1$2', '$1י$2י'], // הפע(י)ל/י\n [`(${HEB})ו(ו?)(${W})${SEP}י${SEP}ו${B}`, `$1$2ו$3${M_WORDFIN}`, `$1$2$2$3${M_NOT_WORDFIN}י`, `$1$2$3${M_NOT_WORDFIN}ו`], // כתוב/י/ו, דווח/י/ו\n [`(${HEB})ו(ו?)(${W})${SEP}י${B}`, `$1$2ו$3${M_WORDFIN}`, `$1$2$2$3${M_NOT_WORDFIN}י`], // כתוב/י, דווח/י\n [`(${W})${SEP}י${SEP}ו${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}י`, `$1${M_NOT_WORDFIN}ו`], // לך/י/ו\n [`(${W})${SEP}י${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}י`], // לך/י\n\n [`(${W})(ה)?${SEP}ת${B}`, `$1$2${M_WORDFIN}`, `$1${M_NOT_WORDFIN}ת`], // נהג/ת, רואה/ת חשבון\n\n [`(${W})ם${SEP}?ן${B}`, '$1ם', '$1ן'], // אתם/ן\n [`(${W})ן${SEP}?ם${B}`, '$1ם', '$1ן'], // אתן/ם\n [`ה(${W}+)י(${W})ו${SEP}נה${B}`, 'ה$1י$2ו', 'ה$1$2נה'], // הלבישו/נה\n [`(${W}+)ו${SEP}ת(${W}+)נה${B}`, '$1ו', 'ת$2נה'], // יצאו/תצאנה\n [`ת(${W}+)ו${SEP}נה${B}`, 'ת$1ו', 'ת$1נה'], // תדרכו/נה\n [`(${W}+)ו${SEP}נה${B}`, '$1ו', '$1נה'], // רקדו/נה\n\n // Parentheses\n [`(${W}+)\\\\(([ותי]{1,3})\\\\)([יוהםן]{1,3})${B}`, '$1$3', '$1$2$3'], // מתנגד(ות)יו, מתנגד(ות)יהם\n [`(${W}+)י\\\\(י\\\\)(${W}*)(${FIN})${B}`, '$1י$2$3', '$1יי$2$3'], // פני(י)ך\n [`(${W}+)\\\\(י\\\\)י(${W}*)(${FIN})${B}`, '$1י$2$3', '$1יי$2$3'], // פנ(י)יך\n [`\\\\(א\\\\)נשים${B}`, 'אנשים', 'נשים'], // (א)נשים\n [`(${W}+)ב\\\\(ת\\\\)${B}`, '$1ב', '$1בת'], // חושב(ת)\n [`(${W}+)(ך|כ)\\\\(([םן.\\\\/]{1,3})\\\\)${B}`, '$1ך', '$1ך', '$1כ$3'], // שלך(ם), שלך(ן)\n\n // Special Syntax\n ['\\\\[([^|]*?)\\\\|([^|]*?)\\\\|([^|]*?)\\\\]', '$1', '$2', '$3'], // [בן|בת|ילד]\n ['\\\\[([^|]*?)\\\\|([^|]*?)\\\\]', '$1', '$2', true], // [בן|בת]\n\n // Final Letters fixes\n unisex(`ץ${M_NOT_WORDFIN}`, 'צ'), // חרוץה\n unisex(`ך${M_NOT_WORDFIN}`, 'כ'), // משךי\n unisex(`ן${M_NOT_WORDFIN}`, 'נ'), // השעןי\n unisex(`ם${M_NOT_WORDFIN}`, 'מ'), // יזםית\n unisex(`ף${M_NOT_WORDFIN}`, 'פ'), // פילוסוףית\n\n unisex(`([^${G}]+)צ${M_WORDFIN}`, '$1ץ'), // חרוצ\n unisex(`([^${G}]+)כ${M_WORDFIN}`, '$1ך'), // משוכ\n unisex(`([^${G}]+)נ${M_WORDFIN}`, '$1ן'), // השענ\n unisex(`([^${G}]+)מ${M_WORDFIN}`, '$1ם'), // יזמ\n unisex(`([^${G}]+)פ${M_WORDFIN}`, '$1ף'), // פילוסופ\n\n // Remove marks\n unisex(`[${M_WORDFIN}${M_NOT_WORDFIN}]`, ''),\n].map(regexize);\n","import rules from './rules';\n\nconst PROTECTED = '__IVRITA_PROTECTED__';\nconst protectedRegexp = new RegExp(`\\\\{${PROTECTED}:(\\\\d+):${PROTECTED}\\\\}`, 'g');\n\nexport const ORIGINAL = 0;\n\nexport const MALE = 1;\n\nexport const FEMALE = 2;\n\nexport const NEUTRAL = 3;\n\nexport const GENDERS = [ORIGINAL, MALE, FEMALE, NEUTRAL];\n\nexport const genderize = (originalText, gender, doneFunc) => {\n let genderized = originalText;\n const bracedStrings = [];\n\n if (genderized.includes('{')) {\n // Remove braced parts from text and save them aside\n genderized = genderized.replace(/\\{(.*?)\\}/g, (matched, string, index) => {\n bracedStrings[index] = string;\n return `{${PROTECTED}:${index}:${PROTECTED}}`;\n });\n }\n\n let prev = originalText;\n const used = [];\n rules.forEach(([pattern, male, female, neutral]) => {\n let replacement;\n switch (gender) {\n case FEMALE:\n replacement = female;\n break;\n\n case MALE:\n replacement = male;\n break;\n\n case NEUTRAL:\n default:\n if (typeof neutral !== 'undefined') replacement = neutral;\n break;\n }\n if (replacement !== undefined) {\n genderized = genderized.replace(pattern, replacement);\n }\n\n if (typeof doneFunc === 'function' && prev !== genderized) {\n used.push(pattern);\n prev = genderized;\n }\n });\n\n if (bracedStrings.length) {\n // Bring back braced parts\n genderized = genderized.replace(protectedRegexp, (matched, group) => {\n const parsedIndex = parseInt(group, 10);\n if (bracedStrings[parsedIndex]) {\n return bracedStrings[parsedIndex];\n }\n return '';\n });\n }\n\n if (typeof doneFunc === 'function') {\n doneFunc(used);\n }\n return genderized;\n};\n","import { genderize, ORIGINAL } from './ivrita';\n\nexport const IncompatibleTypeError = new Error('Incompatible node passed to the node constructor');\n\nexport default class TextObject {\n originalText = '';\n\n currentMode = false;\n\n storedValues = {}\n\n static instances = new WeakMap();\n\n constructor(node) {\n if (TextObject.instances.has(node)) {\n return TextObject.instances.get(node);\n }\n\n TextObject.instances.set(node, this);\n }\n\n init() {\n this.originalText = this.getValue();\n }\n\n setMode(newMode) {\n let newVal;\n this.currentMode = newMode;\n\n if (this.storedValues[newMode] !== undefined) {\n newVal = this.storedValues[newMode];\n } else if (newMode === ORIGINAL) {\n newVal = this.originalText;\n } else {\n newVal = genderize(this.originalText, newMode);\n }\n\n if (newVal !== this.getValue()) {\n this.setValue(newVal);\n }\n }\n\n getValue() {\n return this.value;\n }\n\n setValue(newVal) {\n this.value = newVal;\n }\n}\n","import TextObject, { IncompatibleTypeError } from './textObject';\n\nexport default class TextAttribute extends TextObject {\n attr = {};\n\n constructor(attr) {\n if (!attr) return false;\n if (!(attr instanceof Attr)) {\n throw IncompatibleTypeError;\n }\n\n super(attr);\n\n this.attr = attr;\n\n if (!this.currentMode) {\n this.init();\n }\n }\n\n getValue() {\n return this.attr.value;\n }\n\n setValue(newVal) {\n this.attr.value = newVal;\n }\n}\n","import TextObject, { IncompatibleTypeError } from './textObject';\nimport { MALE, FEMALE, NEUTRAL } from './ivrita';\n\nexport const MALE_DATA_ATTR = 'ivritaMale';\nexport const FEMALE_DATA_ATTR = 'ivritaFemale';\nexport const NEUTRAL_DATA_ATTR = 'ivritaNeutral';\n\nexport default class TextElement extends TextObject {\n element = {};\n\n constructor(element) {\n if (!element) return false;\n if (!(element instanceof Element)) {\n throw IncompatibleTypeError;\n }\n\n super(element);\n\n this.element = element;\n\n if (!this.currentMode) {\n this.init();\n }\n }\n\n init() {\n super.init();\n if (this.element.dataset[MALE_DATA_ATTR]) {\n this.storedValues[MALE] = this.element.dataset[MALE_DATA_ATTR];\n }\n if (this.element.dataset[FEMALE_DATA_ATTR]) {\n this.storedValues[FEMALE] = this.element.dataset[FEMALE_DATA_ATTR];\n }\n if (this.element.dataset[NEUTRAL_DATA_ATTR]) {\n this.storedValues[NEUTRAL] = this.element.dataset[NEUTRAL_DATA_ATTR];\n }\n }\n\n getValue() {\n return this.element.innerHTML;\n }\n\n setValue(newVal) {\n this.element.innerHTML = newVal;\n }\n}\n","import TextObject, { IncompatibleTypeError } from './textObject';\n\nexport default class TextNode extends TextObject {\n node = {};\n\n constructor(node) {\n if (!node) return false;\n if (!(node instanceof Text)) {\n throw IncompatibleTypeError;\n }\n\n super(node);\n\n this.node = node;\n\n if (!this.currentMode) {\n this.init();\n }\n }\n\n getValue() {\n return this.node.data;\n }\n\n setValue(newVal) {\n this.node.data = newVal;\n }\n}\n","import {\n MALE, FEMALE, NEUTRAL, ORIGINAL, GENDERS, genderize,\n} from './ivrita';\nimport TextAttribute from './textAttribute';\nimport TextElement, { MALE_DATA_ATTR, FEMALE_DATA_ATTR, NEUTRAL_DATA_ATTR } from './textElement';\nimport TextNode from './textNode';\nimport TextObject from './textObject';\nimport { HEB, SYNTAX } from './utils/characters';\n\nconst hebrewRegex = new RegExp(HEB);\nconst ivritaSyntaxRegex = new RegExp(SYNTAX);\n\nconst MULTI = GENDERS.length; // ENUM-like\n\nexport default class IvritaElement {\n static EVENT_MODE_CHANGED = 'ivrita-mode-changed';\n\n static ORIGINAL = ORIGINAL;\n\n static MALE = MALE;\n\n static FEMALE = FEMALE;\n\n static NEUTRAL = NEUTRAL;\n\n // MULTI is a special with FFS enabled, but is essentialy the NEUTRAL mode.\n static MULTI = MULTI;\n\n static GENDERS = [...GENDERS, MULTI];\n\n static instances = new Map();\n\n static defaultMode = NEUTRAL;\n\n static genderize = genderize;\n\n static textObjects = TextObject.instances;\n\n nodes = new Set();\n\n elements = [];\n\n mode;\n\n fontFeatureSettings;\n\n relavantAttributes = {\n 'a, img, button, input': ['title'],\n [`input:not([type=${['submit', 'button', 'checkbox', 'radio', 'hidden', 'image', 'range', 'reset', 'file'].join(']):not([type=')}])`]: ['placeholder'],\n 'input[type=submit], input[type=button], input[type=reset]': ['value'],\n };\n\n constructor(elem, mode) {\n if (typeof elem === 'undefined') {\n this.elements = [document.body];\n const titleTag = document.documentElement.querySelector('title');\n if (titleTag) {\n this.elements.push(titleTag);\n }\n } else if (elem instanceof Array && elem.filter((el) => el instanceof HTMLElement)) {\n this.elements = elem;\n } else if (elem instanceof NodeList) {\n this.elements = Array.from(elem);\n } else if (elem instanceof HTMLElement) {\n this.elements = [elem];\n } else if (typeof jQuery === 'function' && elem instanceof jQuery && typeof elem.toArray === 'function') {\n this.elements = elem.toArray();\n } else {\n throw new Error('Passed argument is not an HTMLElement.');\n }\n\n if (this.elements.length === 1 && this.constructor.instances.has(this.elements[0])) {\n const preExistingInstance = this.constructor.instances.get(this.elements[0]);\n preExistingInstance.registerTextObjects(this.elements[0]); // Make sure nodes are registered\n return preExistingInstance;\n }\n\n this.observer = new MutationObserver(this.onElementChange.bind(this));\n this.elements.forEach((el) => {\n this.observer.observe(el, {\n childList: true,\n subtree: true,\n characterData: false,\n });\n this.constructor.instances.set(el, this);\n this.registerTextObjects(el);\n });\n\n if (typeof mode !== 'undefined') {\n this.setMode(mode);\n } else if (this.constructor.defaultMode) {\n this.setMode(this.constructor.defaultMode);\n }\n }\n\n destroy() {\n this.setMode(ORIGINAL);\n this.setFontFeatureSettings(false);\n if (this.observer) {\n this.observer.disconnect();\n }\n this.nodes.clear();\n this.elements.forEach((el) => {\n this.constructor.instances.delete(el);\n });\n }\n\n static setDefaultMode(newMode) {\n this.defaultMode = newMode;\n }\n\n setMode(newMode = NEUTRAL) {\n if (!this.constructor.GENDERS.includes(newMode)) {\n return this;\n }\n\n if ((this.mode === MULTI && newMode !== MULTI) || (this.mode !== MULTI && newMode === MULTI)) {\n this.setFontFeatureSettings(newMode === MULTI);\n }\n\n this.mode = newMode;\n // If the new mode is MULTI, mask it from the child nodes - for them it's a NEUTRAL mode.\n this.nodes.forEach((node) => node.setMode(newMode === MULTI ? NEUTRAL : newMode));\n\n this.dispatchModeChangedEvent(newMode);\n\n return this;\n }\n\n static setMode(newMode) {\n this.instances.forEach((instance) => instance.setMode(newMode));\n }\n\n genderize(text) {\n return this.constructor.genderize(text, this.mode);\n }\n\n dispatchModeChangedEvent(mode = this.mode) {\n this.elements.forEach(\n (el) => el.dispatchEvent(new CustomEvent(this.constructor.EVENT_MODE_CHANGED,\n { bubbles: true, detail: { mode, firingInstance: this } })),\n );\n }\n\n registerTextObjects(element) {\n this.registerTextNodes(element);\n this.registerTextAttributes(element);\n }\n\n registerTextNodes(element) {\n let currentNode;\n const walk = document.createTreeWalker(\n element,\n NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_TEXT,\n {\n acceptNode: (node) => (this.constructor.acceptNodeFilter(node)),\n },\n );\n\n // eslint-disable-next-line no-cond-assign\n while ((currentNode = walk.nextNode())) {\n let newNode;\n if (currentNode instanceof Text) {\n newNode = new TextNode(currentNode);\n } else if (currentNode instanceof Element) {\n newNode = new TextElement(currentNode);\n }\n this.nodes.add(newNode);\n // Set the new node's mode to the current mode, to get in line with everything else\n if (this.mode) {\n newNode.setMode(this.mode);\n }\n }\n }\n\n registerTextAttributes(element) {\n Object.entries(this.relavantAttributes).forEach(([selector, attributes]) => {\n Array.from(element.querySelectorAll(selector)).forEach((input) => {\n attributes.forEach((attrName) => {\n if (input.hasAttribute(attrName)) {\n this.nodes.add(new TextAttribute(input.getAttributeNode(attrName)));\n }\n });\n });\n });\n }\n\n static acceptNodeFilter(node) {\n if (TextObject.instances.has(node)) { // Already indexed, will be a pointer to existing node\n return NodeFilter.FILTER_ACCEPT;\n }\n\n if (node.textContent.trim().length <= 0) {\n return NodeFilter.FILTER_REJECT; // If there's no content, reject all child nodes\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n if (node.dataset.ivritaDisable) {\n return NodeFilter.FILTER_REJECT;\n }\n if ([MALE_DATA_ATTR, FEMALE_DATA_ATTR, NEUTRAL_DATA_ATTR]\n .filter((attr) => node.dataset[attr]).length) {\n return NodeFilter.FILTER_ACCEPT;\n }\n } else if (node.nodeType === Node.TEXT_NODE) {\n if (hebrewRegex.test(node.textContent) // Test for Hebrew Letters\n && ivritaSyntaxRegex.test(node.textContent)) {\n return NodeFilter.FILTER_ACCEPT;\n }\n }\n return NodeFilter.FILTER_SKIP;\n }\n\n onElementChange(mutationsList) {\n const closest = (el, s) => {\n do {\n if (el instanceof Element && Element.prototype.matches.call(el, s)) return el;\n // eslint-disable-next-line no-param-reassign\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n\n mutationsList.forEach((mutation) => {\n if (mutation.type === 'childList') {\n const added = Array.from(mutation.addedNodes);\n const removed = Array.from(mutation.removedNodes);\n if (added.length === removed.length) { // Probably just changed, not really removed\n removed.forEach((oldNode, i) => {\n if (oldNode.nodeType === Node.TEXT_NODE) {\n const newNode = added[i];\n if (TextNode.instances.has(oldNode) && newNode.nodeType === Node.TEXT_NODE) {\n const nodeObj = TextNode.instances.get(oldNode);\n nodeObj.node = newNode; // This is dangerous, make sure it makes sense\n TextNode.instances.set(newNode, nodeObj);\n TextNode.instances.delete(oldNode);\n }\n } // TODO: what about nodes with nested text nodes?\n });\n } else {\n added.forEach((node) => {\n if (closest(node, '[data-ivrita-disable]')) {\n return;\n }\n if (node.nodeType === Node.TEXT_NODE\n && this.constructor.acceptNodeFilter(node) === NodeFilter.FILTER_ACCEPT) {\n const ivritaTextNode = new TextNode(node);\n this.nodes.add(ivritaTextNode);\n // Set the new node's mode to the current mode, to get in line with everything else\n if (this.mode) {\n ivritaTextNode.setMode(this.mode);\n }\n } else if (node.childNodes.length > 0) {\n this.registerTextNodes(node);\n }\n });\n }\n }\n });\n }\n\n setFontFeatureSettings(isActive) {\n this.fontFeatureSettings = isActive;\n this.elements.forEach((el) => {\n const originalFFS = el.style.fontFeatureSettings;\n let result = originalFFS.slice().replace('normal', '');\n\n if (isActive) {\n if (!result.includes('titl')) {\n if (result) { // Only add a space if property exists\n result += ', ';\n }\n result += '\"titl\"';\n }\n } else if (result.includes('titl')) {\n result = result.replace(/(, )?\"?'?titl\"?'?/, '');\n }\n\n if (!result) result = 'normal';\n\n el.style.fontFeatureSettings = result;\n });\n\n return this;\n }\n}\n\nif (typeof jQuery === 'function') {\n jQuery.fn.ivrita = function ivritajQueryFn(gender) {\n return new IvritaElement(this, gender);\n };\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(662);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/ivrita.ui.min.js b/dist/ivrita.ui.min.js new file mode 100644 index 0000000..7c931ec --- /dev/null +++ b/dist/ivrita.ui.min.js @@ -0,0 +1,2 @@ +!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("Ivrita")):"function"==typeof define&&define.amd?define(["Ivrita"],n):"object"==typeof exports?exports.Ivrita=n(require("Ivrita")):(t.Ivrita=t.Ivrita||{},t.Ivrita.ui=n(t.Ivrita))}(self,(function(t){return(()=>{"use strict";var n={929:(t,n,e)=>{e.d(n,{default:()=>nt});var o=e(242),i=e.n(o),r=e(986),a={ן:"נ",ף:"פ",ך:"כ",ם:"מ",ץ:"צ"},A=Object.keys(a).concat(Object.values(a)),s=Object.keys(a),c=function(t){return Object.keys(a).find((function(n){return a[n]===t}))||t},l=function(t){return a[t]||t},u="[\\\\/.]",f="[\\\\./—־-]",p="'‎\"”׳״",d="[א-ת"+p+"]",C="["+s+"]",b="^|$|\b|[^א-ת֐-ֽֿׁ-ׂׄ-ׇׯ-ײשׁ-ﭏ]",v="(?="+b+")",h="(?:"+b+")",m=([f,"\\[","\\{","\\(","םן","ןם","יםות","ותים"].join("|"),["(א|ס)ובי(י?)קטיב","אחמ(["+p+"]?)ש","ח(["+p+"])כ","מ(["+p+"])פ","מנכ(["+p+"]?)ל","מפא(["+p+"]?)יניק","משת(["+p+"]?)פ","עו(["+p+"])(ס|ד)","רו(["+p+"])ח","רשג(["+p+"]?)ד","א(י?)כפת","אביב","אח","אגרונומ","אדריכל","אוטיסט","אוסטר(ל?)","אופטימ","אחרא","אחיינ","איטלק","אינדיבידואליסט","אירונ","אירופא","אכזר","אלגנט","אלכוהוליסט","אלמונ","אמית","אמריק(א|נ)","אנאלפבית","אנגל","אנוש","אנטישמ","אנליסט","אנרכיסט","אסטרולוג","אסיאת","אפריק(נ|א)","אצנ","אקדמ(א?)","אקטואל","אקטיביסט","אקרא","ארטיסט","אשכנז","אתאיסט","אתיופ","בוגדנ","בולגר","בטחונ","ביביסט","ב(י?)דיונ","בינונ","בינלאומ","בל(א?)גניסט","בלוגר","בלונד","במא","ברב(א?)ר","ברונט","בריט","ברמנ","ג"+p+"ובניק","ג"+p+"ינג"+p,"גות","גיטריסט","גר(א?)פ","גרמנ","גרפיקא","דברנ","דוקטורנט","דושבג","דיאטנ","דינ(א?)מ","(י?)הוד","הי(פ?)סטר","היפ","הססנ","הנדסא","הרמונ","וטרינר","זכא","חבר(ו?)ת","חובבנ","חולמנ","חושנ","חילונ","חי(ו|נ)נ","חיפא","חמדנ","חרד","חרד(ת?)","חרמנ","חשמלא","טבח","טבעונ","טורק","טיפוגרפ","טכנא","טרוריסט","טרמפיסט","טרנס","ידידות","יוגיסט","יוונ","יורקר","יזמ","ימא","ימ(י?)נ","ירושלמ","ישראל","כימא","כלכלנ","כרונ","לבנונ","לוחמנ","ליברל","ליכודניק","מאסטר","מוזיק(ל|א)","מומח","מזוכיסט","מזרח","מחזא","מטאליסט","מטרידנ","מילואימניק","מיליארדר","מיליונר","מכונא","מלאכ","מלצר","מפסידנ","מצליחנ","מצפונ","מקצוע(נ?)","מרדנ","מרקסיסט","נגר","נובוריש","נודיסט","נודניק","נוצר","נורא","נורווג","נטורופת","נרקומנ","ס(א?)דיסט","ס(א?)ח","סדרנ","סהרור","סוליד(ר?)","סוציאליסט","סטודנט","סטרייט","סמכות","סנדלר","סנוב","ססגונ","ספונטנ","ספורטיב","ספציפ","ספרד","סקסולוג","סרב","סרטט","עירונ","עיתונא","עממ","עניינ","ענק","עסיס","עצמא","עקרונ","ערב","ערס","פאנקיסט","פדופיל","פוליטיקא","פולנ","פופול(א?)ר","פופוליסט","פחדנ","פטריוט","פילוסופ","פיזיוטרפיסט","פמיניסט","פסיכופת","פסיכולוג","פסיכיאטר","פסנתרנ","פציפיסט","פריק","פרופסור","פרזנטור","פריל(א?)נסר","פרסומא","פקח","פשיסט","צבע","צבעונ","צי(ו?)נ","ציבור","ציפלונ","צמחונ","צפונ","צרפת","קדמונ","קוויר","קומוניסט","קומיק(ס?)א","קונדיטור","קוסמטיקא","קופא","קוקסינל","קטלנ","קטנונ","קיבוצניק","קיצונ","קלאס","קלדנ","קלפטומנ","קניינ","קפדנ","קפיטליסט","קריקטוריסט","קצב","רבנ","רוחנ","רוס","רוקיסט","רמא","רפד","רקדנ","ש(ו?)ויונ","שאפתנ","שוביניסט","שווד","שוויצר","שחיינ","שחקנ","שלומיאל","שמאלנ","שמנמנ","שמרנ","שפ","שק(ר|ד)נ","שרמנט","תורכ","תזונא","תחמנ","תסריטא","תצפיתנ","תקציבא","תרבות"]);function y(t){return function(t){if(Array.isArray(t))return g(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,n){if(t){if("string"==typeof t)return g(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?g(t,n):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e2?o-2:0),r=2;r{e.d(n,{Z:()=>d});var o=e(15),i=e.n(o),r=e(645),a=e.n(r),A=e(667),s=e.n(A),c=e(495),l=e(636),u=a()(i()),f=s()(c.Z),p=s()(l.Z);u.push([t.id,'@font-face{font-family:"Ivritacons";font-weight:"400";src:url('+f+') format("woff2"),url('+p+') format("woff")}.ivrita-switch *,.ivrita-mode-changer *{margin:0;padding:0;outline:0;font-size:30px;font-weight:normal;font-style:normal;border:0;text-decoration:none;list-style-type:none;min-width:auto;min-height:auto;max-width:none;max-height:none;-webkit-text-stroke:none;-moz-text-stroke:initial;-ms-text-stroke:initial;word-spacing:normal;text-align:left;width:auto;height:auto;position:static;display:inline-block;border:0;float:none;background:none;border-radius:0;box-shadow:none;direction:ltr;visibility:visible;opacity:1;text-shadow:none;outline:0;vertical-align:unset;white-space:normal;letter-spacing:0}.ivrita-switch{z-index:999999;background-color:rgba(255,255,255,.8);position:fixed;top:calc(50% - 1em);left:-1px;border-radius:0 7px 7px 0;transition:.2s all ease-out .1s;border:1px solid #222;font-size:30px;min-width:40px;padding:3px 0 0;overflow:hidden}.ivrita-switch:hover{top:calc(50% - 66px)}.ivrita-switch *,.ivrita-switch:before,.ivrita-switch:after{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.ivrita-switch.ivrita-switch--right{left:auto;right:-1px;border-radius:7px 0 0 7px}.ivrita-switch a{font-family:"Ivritacons" !important;font-weight:normal !important;font-style:normal !important;transition:.1s all ease-out;display:block;color:#2d2828;line-height:1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;width:33px;height:33px;line-height:33px;margin:0 3px;overflow:hidden}.ivrita-switch a.ivrita-logo{transition:.1s all ease-out}.ivrita-switch:hover a.ivrita-logo{height:0;visibility:hidden}.ivrita-switch a.ivrita-button{visibility:hidden;border-radius:5px;height:0;transition:.2s all ease-out;overflow:hidden}.ivrita-switch:hover a.ivrita-button{visibility:visible;font-size:30px;height:33px}.ivrita-switch a.ivrita-button.ivrita-active:not(.ivrita-button-style-0){background:#555;color:#fff}.ivrita-switch a.ivrita-button.ivrita-button-style-0.ivrita-active{-webkit-font-feature-settings:"swsh";font-feature-settings:"swsh"}.ivrita-switch a.ivrita-button.ivrita-button-style-1{-webkit-font-feature-settings:"ss01";font-feature-settings:"ss01"}.ivrita-switch a.ivrita-button.ivrita-button-style-2{-webkit-font-feature-settings:"ss02";font-feature-settings:"ss02"}.ivrita-switch a.ivrita-button.ivrita-button-style-3{-webkit-font-feature-settings:"ss03";font-feature-settings:"ss03"}.ivrita-switch a.ivrita-button.ivrita-button-style-4{-webkit-font-feature-settings:"ss04";font-feature-settings:"ss04"}.ivrita-switch a.ivrita-button.ivrita-button-style-5{-webkit-font-feature-settings:"ss05";font-feature-settings:"ss05"}.ivrita-switch a.ivrita-button.ivrita-button-style-6{-webkit-font-feature-settings:"ss06";font-feature-settings:"ss06"}.ivrita-switch a.ivrita-button.ivrita-button-style-7{-webkit-font-feature-settings:"ss07";font-feature-settings:"ss07"}.ivrita-switch a.ivrita-button:hover{background-color:rgba(0,0,0,.1);color:#6306ec}.ivrita-switch a.ivrita-info-link{transition:.2s all ease-out;visibility:hidden;font-size:20px;line-height:21px;height:0;width:100%}.ivrita-switch a.ivrita-info-link:hover{color:#6306ec;-webkit-font-feature-settings:"ss01";font-feature-settings:"ss01"}.ivrita-switch:hover a.ivrita-info-link{border-top:1px solid #555;margin:4px 0 0;height:auto;visibility:visible}.ivrita-toolbar{font-size:16px;border:1px solid rgba(0,0,0,.15);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:1.6em !important;padding:.5em .7em;overflow:auto;position:relative;align-items:center;background:rgba(0,0,0,.03);color:#333;font-size:18px;z-index:1}.ivrita-toolbar *{display:inline-block !important}.ivrita-toolbar .ivrita-toolbar-label{padding-left:.2em;opacity:.7;line-height:1em}.ivrita-toolbar a{color:#333 !important;text-decoration:none !important;border:none !important;box-shadow:none !important;-webkit-box-shadow:none !important;transition:color .3s !important;display:inline-block !important;padding:0 .3em !important;margin:1px !important;white-space:nowrap;cursor:pointer !important}.ivrita-toolbar a:before{content:attr(data-ivrita-icon) !important;font-size:1.2em !important;vertical-align:middle !important;font-family:"Ivritacons" !important}.ivrita-toolbar a:focus,.ivrita-toolbar a:hover{border:1px solid rgba(0,0,0,.2) !important;margin:0 !important}.ivrita-toolbar a.ivrita-mode-changer{border-radius:2px !important}.ivrita-toolbar a.ivrita-active{border:1px solid rgba(0,0,0,.8) !important;margin:0 !important}.ivrita-toolbar a.ivrita-toolbar-info{padding:0 !important;margin:0 !important;line-height:1em}.ivrita-toolbar a.ivrita-toolbar-info:hover{border:none !important}.ivrita-toolbar a.ivrita-toolbar-info:hover:before{-webkit-font-feature-settings:"ss01";font-feature-settings:"ss01"}@media screen and (max-width: 480px){.ivrita-switch{top:auto;bottom:0;border-bottom:0;border-bottom-right-radius:0px !important;border-bottom-left-radius:0px !important}.ivrita-switch:hover{top:auto}.ivrita-toolbar{font-size:14px}.ivrita-toolbar .ivrita-toolbar-menu{display:block !important;width:100%}.ivrita-toolbar .ivrita-toolbar-label{display:block !important;clear:both;margin-bottom:.3em}.ivrita-toolbar a.ivrita-toolbar-info{position:absolute !important;left:.8em;top:.4em}}',"",{version:3,sources:["webpack://./src/ui/style.scss"],names:[],mappings:"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",sourcesContent:['/**\n* Switch\n*/\n\n@font-face {\n font-family: \'Ivritacons\';\n font-weight: \'400\';\n src: url(\'fonts/ivritacons-alefalefalef.woff2\') format("woff2"), url(\'fonts/ivritacons-alefalefalef.woff\') format("woff");\n}\n\n.ivrita-switch *, .ivrita-mode-changer * {\n margin: 0;\n padding: 0;\n outline: 0;\n font-size: 30px;\n font-weight: normal;\n font-style: normal;\n border: 0;\n text-decoration: none;\n list-style-type: none;\n min-width: auto;\n min-height: auto;\n max-width: none;\n max-height: none;\n -webkit-text-stroke: none;\n -moz-text-stroke: initial;\n -ms-text-stroke: initial;\n word-spacing: normal;\n text-align: left;\n width: auto;\n height: auto;\n position: static;\n display: inline-block;\n border: 0;\n float: none;\n background: none;\n border-radius: 0;\n box-shadow: none;\n direction: ltr;\n visibility: visible;\n opacity: 1;\n text-shadow: none;\n outline: 0;\n vertical-align: unset;\n white-space: normal;\n letter-spacing: 0;\n}\n\n.ivrita-switch {\n z-index: 999999;\n background-color: rgba(255, 255, 255, 0.8);\n position: fixed;\n top: calc(50% - 1em);\n left: -1px;\n border-radius: 0 7px 7px 0;\n transition: .2s all ease-out .1s;\n border: 1px solid #222;\n font-size: 30px;\n min-width: 40px;\n padding: 3px 0 0;\n overflow: hidden;\n \n &:hover {\n top: calc(50% - 66px);\n }\n\n *, &:before, &:after {\n box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n }\n \n &.ivrita-switch--right {\n left: auto;\n right: -1px;\n border-radius: 7px 0 0 7px;\n }\n\n a {\n font-family: \'Ivritacons\' !important;\n font-weight: normal !important;\n font-style: normal !important;\n transition: .1s all ease-out;\n display: block;\n color: #2d2828;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-align: center;\n width: 33px;\n height: 33px;\n line-height: 33px;\n margin: 0 3px;\n overflow: hidden;\n\n &.ivrita-logo {\n transition: .1s all ease-out;\n }\n }\n\n &:hover a.ivrita-logo {\n height: 0;\n visibility: hidden;\n }\n\n a.ivrita-button {\n visibility: hidden;\n border-radius: 5px;\n height: 0;\n transition: .2s all ease-out;\n overflow: hidden;\n }\n\n &:hover a.ivrita-button {\n visibility: visible;\n font-size: 30px;\n height: 33px;\n }\n\n a {\n &.ivrita-button {\n &.ivrita-active:not(.ivrita-button-style-0) {\n background: #555;\n color: #fff;\n }\n\n &.ivrita-button-style-0.ivrita-active {\n -webkit-font-feature-settings: "swsh";\n font-feature-settings: "swsh";\n }\n\n @for $i from 1 through 7 {\n &.ivrita-button-style-#{$i} {\n -webkit-font-feature-settings: "ss0#{$i}";\n font-feature-settings: "ss0#{$i}";\n }\n }\n\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n color: #6306ec;\n }\n }\n\n &.ivrita-info-link {\n transition: .2s all ease-out;\n visibility: hidden;\n font-size: 20px;\n line-height: 21px;\n height: 0;\n width: 100%;\n\n &:hover {\n color: #6306ec;\n -webkit-font-feature-settings: "ss01";\n font-feature-settings: "ss01";\n }\n }\n }\n\n &:hover a.ivrita-info-link {\n border-top: 1px solid #555;\n margin: 4px 0 0;\n height: auto;\n visibility: visible;\n }\n}\n\n\n/**\n* Toolbar\n*/\n\n.ivrita-toolbar {\n * {\n display: inline-block !important;\n }\n\n font-size: 16px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n margin-bottom: 1.6em !important;\n padding: 0.5em 0.7em;\n overflow: auto;\n position: relative;\n align-items: center;\n background: rgba(0, 0, 0, 0.03);\n color: #333333;\n font-size: 18px;\n z-index: 1;\n\n .ivrita-toolbar-label {\n padding-left: 0.2em;\n opacity: 0.7;\n line-height: 1em;\n }\n\n a {\n color: #333333 !important;\n text-decoration: none !important;\n border: none !important;\n box-shadow: none !important;\n -webkit-box-shadow: none !important;\n transition: color .3s !important;\n display: inline-block !important;\n padding: 0 0.3em !important;\n margin: 1px !important;\n white-space: nowrap;\n cursor: pointer !important;\n\n &:before {\n content: attr(data-ivrita-icon) !important;\n font-size: 1.2em !important;\n vertical-align: middle !important;\n font-family: \'Ivritacons\' !important;\n }\n\n &:focus, &:hover {\n border: 1px solid rgba(0, 0, 0, 0.2) !important;\n margin: 0 !important;\n }\n\n &.ivrita-mode-changer {\n border-radius: 2px !important;\n }\n\n &.ivrita-active {\n border: 1px solid rgba(0, 0, 0, 0.8) !important;\n margin: 0 !important;\n }\n\n &.ivrita-toolbar-info {\n padding: 0 !important;\n margin: 0 !important;\n line-height: 1em;\n\n &:hover {\n border: none !important;\n\n &:before {\n -webkit-font-feature-settings: "ss01";\n font-feature-settings: "ss01";\n }\n }\n }\n }\n}\n\n/* Mobile CSS */\n@media screen and (max-width: 480px) {\n .ivrita-switch {\n top: auto;\n bottom: 0;\n border-bottom: 0;\n border-bottom-right-radius: 0px !important;\n border-bottom-left-radius: 0px !important;\n\n &:hover {\n top: auto; \n }\n }\n\n .ivrita-toolbar {\n font-size: 14px;\n\n .ivrita-toolbar-menu {\n display: block !important;\n width: 100%;\n }\n\n .ivrita-toolbar-label {\n display: block !important;\n clear: both;\n margin-bottom: 0.3em;\n }\n\n a.ivrita-toolbar-info {\n position: absolute !important;\n left: 0.8em;\n top: 0.4em;\n }\n }\n}'],sourceRoot:""}]);const d=u},645:t=>{t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?"@media ".concat(n[2]," {").concat(e,"}"):e})).join("")},n.i=function(t,e,o){"string"==typeof t&&(t=[[null,t,""]]);var i={};if(o)for(var r=0;r{function n(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e{t.exports=function(t,n){return n||(n={}),"string"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),n.hash&&(t+=n.hash),/["'() \t\n]/.test(t)||n.needQuotes?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t)}},636:(t,n,e)=>{e.d(n,{Z:()=>o});const o=e.p+"fonts/ivritacons-alefalefalef.woff"},495:(t,n,e)=>{e.d(n,{Z:()=>o});const o=e.p+"fonts/ivritacons-alefalefalef.woff2"},462:(t,n,e)=>{n.Z=void 0;var o,i=(o=e(65))&&o.__esModule?o:{default:o};function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function a(t,n){for(var e=0;e0&&void 0!==arguments[0]?arguments[0]:{};r(this,t),this.props=n,this.render=this.render.bind(this),this.ref=this.ref.bind(this,n)}var n,e;return n=t,(e=[{key:"ref",value:function(t,n){Object.keys(n).filter((function(t){return i.default.includes(t)})).forEach((function(e){var o=e.replace(/^on/,"").toLowerCase();t.addEventListener(o,n[e])}))}},{key:"render",value:function(){}}])&&a(n.prototype,e),t}();n.Z=A},986:(t,n,e)=>{n.ZP=void 0;var o=e(779);function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,n,e){var i=(0,o.isSVG)(t)?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t),r=(0,o.createFragmentFrom)(e);return i.appendChild(r),Object.keys(n||{}).forEach((function(t){"style"===t?i.style.cssText=(0,o.objectToStyleString)(n[t]):"ref"===t&&"function"==typeof n.ref?n.ref(i,n):"className"===t?i.setAttribute("class",n[t]):"xlinkHref"===t?i.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n[t]):"dangerouslySetInnerHTML"===t?i.innerHTML=n[t].__html:i.setAttribute(t,n[t])})),i}function a(t,n,e){var i=Object.assign({},t.defaultProps||{},n,{children:e}),r=t.prototype.render?new t(i).render:t,a=r(i);switch(a){case"FRAGMENT":return(0,o.createFragmentFrom)(e);case"PORTAL":return r.target.appendChild((0,o.createFragmentFrom)(e)),document.createComment("Portal Used");default:return a}}n.ZP=function(t,n){for(var e=arguments.length,o=new Array(e>2?e-2:0),A=2;A{Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var e=["onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"].concat(["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],["onKeyDown","onKeyPress","onKeyUp"],["onFocus","onBlur"],["onChange","onInput","onInvalid","onSubmit"],["onScroll"],["onLoad","onError"]);n.default=e},779:(t,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isSVG=function(t){var n=new RegExp("^".concat(t,"$"),"i");return["path","svg","use","g"].some((function(t){return n.test(t)}))},n.objectToStyleString=function(t){return Object.keys(t).map((function(n){return"".concat(n,": ").concat(t[n])})).join(";")},n.createFragmentFrom=function(t){var n=document.createDocumentFragment();return t.forEach((function t(e){if(e instanceof HTMLElement||e instanceof SVGElement||e instanceof Comment||e instanceof DocumentFragment)n.appendChild(e);else if("string"==typeof e||"number"==typeof e){var o=document.createTextNode(e);n.appendChild(o)}else e instanceof Array?e.forEach(t):!1===e||null===e||console.log(e,"is not appendable")})),n}},379:(t,n,e)=>{var o,i=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function a(t){for(var n=-1,e=0;e{n.exports=t}},e={};function o(t){if(e[t])return e[t].exports;var i=e[t]={id:t,exports:{}};return n[t](i,i.exports,o),i.exports}return o.n=t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return o.d(n,{a:n}),n},o.d=(t,n)=>{for(var e in n)o.o(n,e)&&!o.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:n[e]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var n=o.g.document;if(!t&&n&&(n.currentScript&&(t=n.currentScript.src),!t)){var e=n.getElementsByTagName("script");e.length&&(t=e[e.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),o(929)})().default})); +//# sourceMappingURL=ivrita.ui.min.js.map \ No newline at end of file diff --git a/dist/ivrita.ui.min.js.map b/dist/ivrita.ui.min.js.map new file mode 100644 index 0000000..9cd4214 --- /dev/null +++ b/dist/ivrita.ui.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://Ivrita.ui/webpack/universalModuleDefinition","webpack://Ivrita.ui/./src/utils/finals.js","webpack://Ivrita.ui/./src/utils/characters.js","webpack://Ivrita.ui/./src/wordlists.js","webpack://Ivrita.ui/./src/rules.js","webpack://Ivrita.ui/./src/ivrita.js","webpack://Ivrita.ui/./src/ui/switch.js","webpack://Ivrita.ui/./src/ui/custom.js","webpack://Ivrita.ui/./src/ui/hebrew.js","webpack://Ivrita.ui/./src/ui/style.scss?6135","webpack://Ivrita.ui/./src/ui/index.js","webpack://Ivrita.ui/./src/ui/default.js","webpack://Ivrita.ui/./src/ui/docReady.js","webpack://Ivrita.ui/./src/ui/style.scss","webpack://Ivrita.ui/./node_modules/css-loader/dist/runtime/api.js","webpack://Ivrita.ui/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://Ivrita.ui/./node_modules/css-loader/dist/runtime/getUrl.js","webpack://Ivrita.ui/./src/ui/fonts/ivritacons-alefalefalef.woff","webpack://Ivrita.ui/./src/ui/fonts/ivritacons-alefalefalef.woff2","webpack://Ivrita.ui/./node_modules/jsx-render/lib/JSXComponent.js","webpack://Ivrita.ui/./node_modules/jsx-render/lib/dom.js","webpack://Ivrita.ui/./node_modules/jsx-render/lib/synteticEvents.js","webpack://Ivrita.ui/./node_modules/jsx-render/lib/utils.js","webpack://Ivrita.ui/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://Ivrita.ui/external \"Ivrita\"","webpack://Ivrita.ui/webpack/bootstrap","webpack://Ivrita.ui/webpack/startup","webpack://Ivrita.ui/webpack/runtime/compat get default export","webpack://Ivrita.ui/webpack/runtime/define property getters","webpack://Ivrita.ui/webpack/runtime/global","webpack://Ivrita.ui/webpack/runtime/hasOwnProperty shorthand","webpack://Ivrita.ui/webpack/runtime/publicPath"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__242__","fins","finnables","Object","keys","concat","values","finals","toFin","notFin","find","key","toNotFin","fin","SEP","EXTSEP","G","W","FIN","b","B","NCB","pluralsWithExtraYod","join","unisex","pattern","replacement","matchAndNormalizeVerb","word","addYod","wordWithoutLastLetter","slice","length","lastLetter","lastLetterMatcher","includes","femaleBase","male","reduce","r","map","targetWord","replace","RegExp","f","p","PROTECTED","IvritaSwitch","ivritaInstances","setIvritaInstances","this","mode","forEach","i","setMode","window","localStorage","setItem","JSXComponent","EVENT_INIT","CustomSwitch","element","buttonsSelector","_ivrita","buttons","Map","listenForClicks","listenForExternalChanges","Array","from","querySelectorAll","button","btnMode","dataset","ivritaMode","toUpperCase","addEventListener","e","preventDefault","setActiveButton","set","ivritaInstance","elements","IvritaElement","detail","firingInstance","newMode","value","btn","classList","add","remove","iconTitle","aboutLinkText","defaultFemaleLabel","defaultNeutralLabel","defaultSwitch","config","position","aboutLinkURL","style","logoIcon","modes","Ivrita","label","icon","order","default","modeStr","parseInt","querySelector","class","href","title","dangerouslySetInnerHTML","__html","sort","mode1","mode2","data-ivrita-mode","ref","onClick","target","render","document","dispatchEvent","CustomEvent","constructor","bubbles","build","body","appendChild","storedMode","getItem","init","callback","completed","removeEventListener","readyState","setTimeout","DocReady","custom","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","push","id","cssWithMappingToString","list","toString","item","content","modules","mediaQuery","dedupe","alreadyImportedModules","_i","_arrayLikeToArray","arr","len","arr2","_item","isArray","_arrayWithHoles","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","next","done","err","_iterableToArrayLimit","o","minLen","n","prototype","call","name","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","url","options","__esModule","hash","needQuotes","obj","_synteticEvents","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","_default","arguments","bind","protoProps","node","filter","prop","synteticEvent","event","toLowerCase","_utils","_typeof","createElements","tagName","attrs","children","isSVG","createElementNS","createElement","fragment","createFragmentFrom","cssText","objectToStyleString","setAttribute","setAttributeNS","innerHTML","composeToFunction","JSXTag","elementProps","assign","defaultProps","bridge","result","createComment","_len","_key","console","error","tag","patt","some","styles","createDocumentFragment","processDOMNodes","child","HTMLElement","SVGElement","Comment","DocumentFragment","textnode","createTextNode","log","memo","getTarget","styleTarget","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","base","count","index","css","media","sourceMap","references","updater","addStyle","insertStyleElement","attributes","nonce","insert","Error","textStore","replaceText","Boolean","applyToSingletonTag","styleSheet","cssNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","all","atob","lastIdentifiers","newList","newLastIdentifiers","_index","splice","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","getter","d","a","definition","get","g","globalThis","Function","hasOwnProperty","scriptUrl","importScripts","location","currentScript","src","scripts","getElementsByTagName"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,EAAQG,QAAQ,WACR,mBAAXC,QAAyBA,OAAOC,IAC9CD,OAAO,CAAC,UAAWJ,GACO,iBAAZC,QACdA,QAAgB,OAAID,EAAQG,QAAQ,YAEpCJ,EAAa,OAAIA,EAAa,QAAK,GAAIA,EAAa,OAAM,GAAIC,EAAQD,EAAa,SARrF,CASGO,MAAM,SAASC,GAClB,M,+FCTaC,EAAO,CAClB,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,KAGMC,EAAYC,OAAOC,KAAKH,GAAMI,OAAOF,OAAOG,OAAOL,IACnDM,EAASJ,OAAOC,KAAKH,GAErBO,EAAQ,SAACC,GAAD,OAAYN,OAAOC,KAAKH,GAAMS,MAAK,SAACC,GAAD,OAASV,EAAKU,KAASF,MAAWA,GAC7EG,EAAW,SAACC,GAAD,OAAUZ,EAAKY,IAAQA,GCXlCC,EAAM,WAENC,EAAS,cACTC,EAAI,UAEJC,EAAC,OAAUD,EAAV,IACDE,EAAG,IAAOX,EAAP,IAEVY,EAAI,gCACGC,EAAC,MAASD,EAAT,IAGDE,EAAG,MAASF,EAAT,IC0EHG,GDxES,CAACP,EAAQ,MAAO,MAAO,MAAO,KAAM,KAAM,OAAQ,QAAQQ,KAAK,KCwElD,CACjC,mBADiC,QAEzBP,EAFyB,aAG3BA,EAH2B,YAI3BA,EAJ2B,cAKzBA,EALyB,eAMzBA,EANyB,kBAOzBA,EAPyB,cAQ1BA,EAR0B,iBAS1BA,EAT0B,cAUzBA,EAVyB,OAWjC,WACA,OACA,KACA,UACA,SACA,SACA,YACA,SACA,OACA,QACA,QACA,iBACA,QACA,SACA,OACA,QACA,aACA,QACA,OACA,aACA,WACA,OACA,OACA,SACA,SACA,UACA,WACA,QACA,aACA,MACA,WACA,SACA,WACA,OACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,SACA,YACA,QACA,UACA,cACA,QACA,QACA,MACA,WACA,QACA,OACA,OA/DiC,IAgE7BA,EAhE6B,YAiE7BA,EAjE6B,MAiEtBA,EACX,MACA,UACA,UACA,OACA,SACA,OACA,WACA,QACA,QACA,WACA,UACA,YACA,MACA,OACA,QACA,QACA,SACA,MACA,WACA,QACA,QACA,OACA,QACA,WACA,OACA,OACA,MACA,UACA,OACA,QACA,MACA,QACA,OACA,UACA,OACA,UACA,UACA,OACA,SACA,SACA,OACA,QACA,MACA,MACA,UACA,SACA,QACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,QACA,aACA,OACA,UACA,OACA,OACA,UACA,SACA,aACA,WACA,UACA,QACA,OACA,OACA,SACA,SACA,QACA,YACA,OACA,UACA,MACA,UACA,SACA,SACA,OACA,OACA,SACA,UACA,SACA,YACA,SACA,OACA,QACA,YACA,YACA,SACA,SACA,QACA,QACA,OACA,QACA,SACA,UACA,QACA,OACA,UACA,MACA,OACA,QACA,SACA,MACA,QACA,MACA,OACA,OACA,QACA,MACA,MACA,UACA,SACA,WACA,OACA,aACA,WACA,OACA,SACA,UACA,cACA,UACA,UACA,WACA,WACA,SACA,UACA,OACA,UACA,UACA,cACA,SACA,MACA,QACA,MACA,QACA,UACA,QACA,SACA,QACA,OACA,OACA,QACA,QACA,WACA,aACA,WACA,WACA,OACA,UACA,OACA,QACA,WACA,QACA,OACA,OACA,UACA,QACA,OACA,WACA,aACA,MACA,MACA,OACA,MACA,SACA,MACA,MACA,OACA,YACA,QACA,WACA,OACA,SACA,QACA,OACA,UACA,QACA,QACA,OACA,KACA,WACA,QACA,OACA,QACA,OACA,SACA,SACA,SACA,U,6tBCvUF,IAaMQ,EAAS,SAACC,EAASC,GAAV,MAA0B,CAACD,EAASC,EAAaA,EAAaA,IAEvEC,EAAwB,SAACC,EAAMC,GACnC,IAAMC,EAAwBF,EAAKG,MAAM,EAAGH,EAAKI,OAAS,GACpDC,EAAaL,EAAKG,MAAMH,EAAKI,OAAS,GACxCE,EAAiB,IAAOD,EAAP,IACjB/B,EAAUiC,SAASF,KACrBC,EAAiB,IAAO1B,EAAMyB,GAAb,IAA4BrB,EAASqB,GAArC,KA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","file":"ivrita.ui.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"Ivrita\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"Ivrita\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Ivrita\"] = factory(require(\"Ivrita\"));\n\telse\n\t\troot[\"Ivrita\"] = root[\"Ivrita\"] || {}, root[\"Ivrita\"][\"ui\"] = factory(root[\"Ivrita\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__242__) {\nreturn ","/* eslint-disable quote-props */\nexport const fins = {\n 'ן': 'נ',\n 'ף': 'פ',\n 'ך': 'כ',\n 'ם': 'מ',\n 'ץ': 'צ',\n};\n/* eslint-enable quote-props */\nexport const finnables = Object.keys(fins).concat(Object.values(fins));\nexport const finals = Object.keys(fins);\n\nexport const toFin = (notFin) => Object.keys(fins).find((key) => fins[key] === notFin) || notFin;\nexport const toNotFin = (fin) => (fins[fin] || fin);\n","import { finals } from './finals';\n\nexport const SEP = '[\\\\\\\\/.]';\nexport const HEB = '[א-ת]';\nexport const EXTSEP = '[\\\\\\\\./—־-]';\nexport const G = '\\'‎\"”׳״'; // \"Gershayim\"\nexport const MAKAF = '—־-';\nexport const W = `[א-ת${G}]`;\nexport const FIN = `[${finals}]`;\n\nconst b = '^|$|\\b|[^א-ת\\u0590-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4-\\u05C7\\u05EF-\\u05F2\\uFB2A-\\uFB4F]'; // Boundary, like \"\\b\" in regex. All unicode characters which can be part of a hebrew word\nexport const B = `(?=${b})`; // Look-ahead positive\nexport const CB = `(${b})`; // Just capturing\nexport const LBPB = `(?<=${b})`; // Look-behind positive - not used since it's not supported by Safari :(\nexport const NCB = `(?:${b})`; // Non-capturing\n\nexport const SYNTAX = [EXTSEP, '\\\\[', '\\\\{', '\\\\(', 'םן', 'ןם', 'יםות', 'ותים'].join('|');\n","import {\n G, SEP, EXTSEP, B,\n} from './utils/characters';\n\nexport const custom = [\n [`א${EXTSEP}נשים`, 'אנשים', 'נשים'], // א.נשים\n [`א${EXTSEP}נש(?:ות|י)${B}`, 'אנשי', 'נשות'], // א.נשי\n [`את${SEP}ה`, 'אתה', 'את'], // את/ה\n [`איש${SEP}(?:אש)?ת`, 'איש', 'אשת'], // איש/אשת, איש/ת\n [`אשת${SEP}איש`, 'איש', 'אשת'], // אשת/איש\n [`(גבר|איש)${SEP}אישה`, '$1', 'אישה'], // גבר/אישה, איש/אישה\n [`אחי${SEP}ותי${B}`, 'אחי', 'אחותי'], // אחי/ותי\n [`אח${SEP}ות${B}`, 'אח', 'אחות'], // אח/ות\n [`ל(ו|ה)${SEP}ל(ו|ה)${B}`, 'לו', 'לה'], // לו/לה, לה/לו\n [`ב(ן|ת)${SEP}ב(ן|ת)${B}`, 'בן', 'בת'], // בת/בן, בן/בת\n [`ה(ו|י)א${SEP}ה(ו|י)א${B}`, 'הוא', 'היא'], // הוא/היא, היא/הוא\n [`אנשי${SEP}ות${B}`, 'אנשי', 'נשות'], // אנשי/ות\n [`מישהו${SEP}י${B}`, 'מישהו', 'מישהי'], // מישהו/י\n [`אחד${SEP}(אח)?ת${B}`, 'אחד', 'אחת'], // אחד/ת, אחד/אחת\n [`אחת${SEP}(אח)?ד${B}`, 'אחד', 'אחת'], // אחת/ד, אחת/אחד\n [`יקיר(י?)${SEP}תי${B}`, 'יקירי', 'יקירתי'], // יקירי/תי\n [`אהוב(י?)${SEP}תי${B}`, 'אהובי', 'אהובתי'], // אהובי/תי\n ['סב\\\\(ת\\\\)א', 'סבא', 'סבתא'], // סבא/סבתא\n [`זה${SEP}זאת${B}`, 'זה', 'זאת'], // זה/זאת\n [`זאת${SEP}זה${B}`, 'זה', 'זאת'], // זאת/זה\n [`זה${SEP}ז?ו${B}`, 'זה', 'זו'], // זה/זו\n [`זו${SEP}ז?ה${B}`, 'זה', 'זו'], // זו/זה\n [`נשוי${SEP}א?ה${B}`, 'נשוי', 'נשואה'], // נשוי/אה\n [`חשוב${SEP}י${B}`, 'חשוב', 'חשבי'], // חשוב/י (exception because of שוב/י which is in verbsFemaleKeepVav)\n [`חשוב${SEP}י${SEP}ו${B}`, 'חשוב', 'חשבי', 'חשבו'], // חשוב/י/ו (exception because of שוב/י which is in verbsFemaleKeepVav)\n];\n\n// For most verbs (Unless found in *verbsFemaleKeepVav*), we follow the rules of:\n// כתוב/י => Vav before last letter => Vav removed => כתבי\n// else:\n// לך/י => Yod added after original word => לכי\n// However, some verbs need an aditional Yod before their last letter:\n// הקשב => Add Yod before and after Bet => הקשיבי\n// This is the list of words which need that extra Yod:\nexport const verbsFemaleExtraYod = [\n 'האר',\n 'הבא',\n 'הגב',\n 'הדגם',\n 'הדלק',\n 'הוסף',\n 'הואל',\n 'הורד',\n 'הזמן',\n 'הזן',\n 'הכנס',\n 'הלבש',\n 'המלץ',\n 'המשך',\n 'הסר',\n 'הסתר',\n 'הפעל',\n 'הפקד',\n 'הצג',\n 'הקלד',\n 'הקלק',\n 'הקש',\n 'הקשב',\n 'הרגש',\n 'הרם',\n 'הרעף',\n 'השב',\n 'השלם',\n 'השתק',\n 'התמד',\n 'התקן',\n 'העתק',\n 'הדבק',\n];\n\nexport const verbsFemaleKeepVav = [\n 'קום',\n 'רוץ',\n 'עופ',\n 'שוב',\n 'זוז',\n 'טוס',\n 'שוט',\n 'בוא',\n];\n\n// Most plurals don't need an extra Yod on their female form: מורים->מורות\n// These are the exceptions which need a Yod:\nexport const pluralsWithExtraYod = [\n '(א|ס)ובי(י?)קטיב', // אוביקטיבי וסוביקטיבי\n `אחמ([${G}]?)ש`,\n `ח([${G}])כ`,\n `מ([${G}])פ`,\n `מנכ([${G}]?)ל`,\n `מפא([${G}]?)יניק`,\n `משת([${G}]?)פ`,\n `עו([${G}])(ס|ד)`,\n `רו([${G}])ח`,\n `רשג([${G}]?)ד`,\n 'א(י?)כפת',\n 'אביב',\n 'אח',\n 'אגרונומ',\n 'אדריכל',\n 'אוטיסט',\n 'אוסטר(ל?)',\n 'אופטימ',\n 'אחרא',\n 'אחיינ',\n 'איטלק',\n 'אינדיבידואליסט',\n 'אירונ',\n 'אירופא',\n 'אכזר',\n 'אלגנט',\n 'אלכוהוליסט',\n 'אלמונ',\n 'אמית',\n 'אמריק(א|נ)',\n 'אנאלפבית',\n 'אנגל',\n 'אנוש',\n 'אנטישמ',\n 'אנליסט',\n 'אנרכיסט',\n 'אסטרולוג',\n 'אסיאת',\n 'אפריק(נ|א)',\n 'אצנ',\n 'אקדמ(א?)',\n 'אקטואל',\n 'אקטיביסט',\n 'אקרא',\n 'ארטיסט',\n 'אשכנז',\n 'אתאיסט',\n 'אתיופ',\n 'בוגדנ',\n 'בולגר',\n 'בטחונ',\n 'ביביסט',\n 'ב(י?)דיונ',\n 'בינונ',\n 'בינלאומ',\n 'בל(א?)גניסט',\n 'בלוגר',\n 'בלונד',\n 'במא',\n 'ברב(א?)ר',\n 'ברונט',\n 'בריט',\n 'ברמנ',\n `ג${G}ובניק`,\n `ג${G}ינג${G}`,\n 'גות',\n 'גיטריסט',\n 'גר(א?)פ',\n 'גרמנ',\n 'גרפיקא',\n 'דברנ',\n 'דוקטורנט',\n 'דושבג',\n 'דיאטנ',\n 'דינ(א?)מ',\n '(י?)הוד',\n 'הי(פ?)סטר',\n 'היפ',\n 'הססנ',\n 'הנדסא',\n 'הרמונ',\n 'וטרינר',\n 'זכא',\n 'חבר(ו?)ת',\n 'חובבנ',\n 'חולמנ',\n 'חושנ',\n 'חילונ',\n 'חי(ו|נ)נ',\n 'חיפא',\n 'חמדנ',\n 'חרד',\n 'חרד(ת?)',\n 'חרמנ',\n 'חשמלא',\n 'טבח',\n 'טבעונ',\n 'טורק',\n 'טיפוגרפ',\n 'טכנא',\n 'טרוריסט',\n 'טרמפיסט',\n 'טרנס',\n 'ידידות',\n 'יוגיסט',\n 'יוונ',\n 'יורקר',\n 'יזמ',\n 'ימא',\n 'ימ(י?)נ',\n 'ירושלמ',\n 'ישראל',\n 'כימא',\n 'כלכלנ',\n 'כרונ',\n 'לבנונ',\n 'לוחמנ',\n 'ליברל',\n 'ליכודניק',\n 'מאסטר',\n 'מוזיק(ל|א)',\n 'מומח',\n 'מזוכיסט',\n 'מזרח',\n 'מחזא',\n 'מטאליסט',\n 'מטרידנ',\n 'מילואימניק',\n 'מיליארדר',\n 'מיליונר',\n 'מכונא',\n 'מלאכ',\n 'מלצר',\n 'מפסידנ',\n 'מצליחנ',\n 'מצפונ',\n 'מקצוע(נ?)',\n 'מרדנ',\n 'מרקסיסט',\n 'נגר',\n 'נובוריש',\n 'נודיסט',\n 'נודניק',\n 'נוצר',\n 'נורא',\n 'נורווג',\n 'נטורופת',\n 'נרקומנ',\n 'ס(א?)דיסט',\n 'ס(א?)ח',\n 'סדרנ',\n 'סהרור',\n 'סוליד(ר?)',\n 'סוציאליסט',\n 'סטודנט',\n 'סטרייט',\n 'סמכות',\n 'סנדלר',\n 'סנוב',\n 'ססגונ',\n 'ספונטנ',\n 'ספורטיב',\n 'ספציפ',\n 'ספרד',\n 'סקסולוג',\n 'סרב',\n 'סרטט',\n 'עירונ',\n 'עיתונא',\n 'עממ',\n 'עניינ',\n 'ענק',\n 'עסיס',\n 'עצמא',\n 'עקרונ',\n 'ערב',\n 'ערס',\n 'פאנקיסט',\n 'פדופיל',\n 'פוליטיקא',\n 'פולנ',\n 'פופול(א?)ר',\n 'פופוליסט',\n 'פחדנ',\n 'פטריוט',\n 'פילוסופ',\n 'פיזיוטרפיסט',\n 'פמיניסט',\n 'פסיכופת',\n 'פסיכולוג',\n 'פסיכיאטר',\n 'פסנתרנ',\n 'פציפיסט',\n 'פריק',\n 'פרופסור',\n 'פרזנטור',\n 'פריל(א?)נסר',\n 'פרסומא',\n 'פקח',\n 'פשיסט',\n 'צבע',\n 'צבעונ',\n 'צי(ו?)נ',\n 'ציבור',\n 'ציפלונ',\n 'צמחונ',\n 'צפונ',\n 'צרפת',\n 'קדמונ',\n 'קוויר',\n 'קומוניסט',\n 'קומיק(ס?)א',\n 'קונדיטור',\n 'קוסמטיקא',\n 'קופא',\n 'קוקסינל',\n 'קטלנ',\n 'קטנונ',\n 'קיבוצניק',\n 'קיצונ',\n 'קלאס',\n 'קלדנ',\n 'קלפטומנ',\n 'קניינ',\n 'קפדנ',\n 'קפיטליסט',\n 'קריקטוריסט',\n 'קצב',\n 'רבנ',\n 'רוחנ',\n 'רוס',\n 'רוקיסט',\n 'רמא',\n 'רפד',\n 'רקדנ',\n 'ש(ו?)ויונ',\n 'שאפתנ',\n 'שוביניסט',\n 'שווד',\n 'שוויצר',\n 'שחיינ',\n 'שחקנ',\n 'שלומיאל',\n 'שמאלנ',\n 'שמנמנ',\n 'שמרנ',\n 'שפ', //*\n 'שק(ר|ד)נ',\n 'שרמנט',\n 'תורכ',\n 'תזונא',\n 'תחמנ',\n 'תסריטא',\n 'תצפיתנ',\n 'תקציבא',\n 'תרבות',\n];\n","import {\n SEP, G, W, FIN, B, HEB, NCB, CB,\n} from './utils/characters';\n\nimport {\n finals,\n finnables, toFin, toNotFin,\n} from './utils/finals';\nimport {\n custom, verbsFemaleExtraYod, verbsFemaleKeepVav, pluralsWithExtraYod,\n} from './wordlists';\n\n// Marks are used by early rules to specify a position in a text\n// which should be addressed later by later rules.\n// For example, M_WORDFIN marks an artificial end of a word,\n// which was created by a rule (i.e. wasn't the end of the word in the original text)\n// and this ending should be checked for final letters errors (מ=>ם).\nconst M_WORDFIN = '\\u05c8'; // Not a real character\nconst M_NOT_WORDFIN = '\\u05c9'; // Not a real character\n\nconst regexize = (p) => {\n p[0] = new RegExp(p[0], 'g');\n\n if (p[3] === true) {\n p[3] = `${p[1]}/${p[2]}`;\n }\n return p;\n};\n\n// Unisex rules match always replace the same string, mode-ignorantly.\nconst unisex = (pattern, replacement) => [pattern, replacement, replacement, replacement];\n\nconst matchAndNormalizeVerb = (word, addYod) => {\n const wordWithoutLastLetter = word.slice(0, word.length - 1);\n const lastLetter = word.slice(word.length - 1);\n let lastLetterMatcher = `(${lastLetter})`;\n if (finnables.includes(lastLetter)) {\n lastLetterMatcher = `(${toFin(lastLetter)}|${toNotFin(lastLetter)})`;\n }\n\n const femaleBase = `${wordWithoutLastLetter}${addYod ? 'י' : ''}${toNotFin(lastLetter)}`;\n const male = `${wordWithoutLastLetter}${toFin(lastLetter)}`;\n return [\n [`${wordWithoutLastLetter}${lastLetterMatcher}${SEP}י${SEP}ו${B}`, male, `${femaleBase}י`, `${femaleBase}ו`],\n [`${wordWithoutLastLetter}${lastLetterMatcher}${SEP}י${B}`, male, `${femaleBase}י`],\n ];\n};\n\nexport default [\n // Whole Words\n ...custom,\n\n // הקשב/י => הקשב, הקשיבי\n ...verbsFemaleExtraYod.reduce((r, word) => r.concat(matchAndNormalizeVerb(word, true)), []),\n\n // קום/י => קום, קומי\n ...verbsFemaleKeepVav.reduce((r, word) => r.concat(matchAndNormalizeVerb(word, false)), []),\n\n // סטודנטים/ות => סטודנטים, סטודנטיות\n ...pluralsWithExtraYod.map((word) => {\n let targetWord = word;\n if (word.includes('(')) { // regex groups\n targetWord = word.replace(new RegExp('\\\\(.*?\\\\)'), '$2'); // TODO: support multiple groups\n }\n return [`${CB}${word}ים${SEP}י?ות${B}`, `$1${targetWord}ים`, `$1${targetWord}יות`];\n }),\n\n // Beginnings\n [`(${NCB}${W}{0,3})י${SEP}ת(${W}{2,})`, '$1י$2', '$1ת$2'], // שי/תכתוב\n [`(${NCB}${W}{0,3})ת${SEP}י(${W}{2,})`, '$1י$2', '$1ת$2'], // שת/יכתוב\n\n // Endings\n\n [`ו${SEP}ה${B}`, 'ו', 'ה'], // בגללה/ו\n [`ה${SEP}ו${B}`, 'ו', 'ה'], // בגללו/ה\n [`(${W})${SEP}ה${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}ה`], // חרוץ/ה\n ...finals.map(\n (f) => [`(${W})${f}${SEP}${toNotFin(f)}ה${B}`, `$1${f}${M_WORDFIN}`, `$1${toNotFin(f)}${M_NOT_WORDFIN}ה`],\n ), // מוכן/נה, חרוץ/צה\n\n [`(${W})ה?${SEP}תה${B}`, '$1ה', '$1תה'], // בכה/תה, רצ/תה\n [`(${W})יו${SEP}י?ה${B}`, '$1יו', '$1יה'], // מחקריו/יה\n [`(${W})ה${SEP}ית${B}`, '$1ה', '$1ית'], // מומחה/ית\n [`(${W})(ו?)י${SEP}ות${B}`, '$1$2י', '$1ות'], // מומחי/ות, שווי/ות\n [`(${W})ות${SEP}י${B}`, '$1י', '$1ות'], // מומחות/י\n [`(${W})${SEP}ית${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}ית`], // סטודנט/ית\n\n [`(${W})י${SEP}תי${B}`, '$1י', '$1תי'], // יקירי/תי\n\n [`(${W}{4,})אים${SEP}י?ות${B}`, '$1אים', '$1איות'], // ארגנטינאים/ות\n\n [`(${W})ווים${SEP}?ות${B}`, '$1ווים', '$1וות'], // שווים/ות\n [`(${W})וות${SEP}ים${B}`, '$1ווים', '$1וות'], // שוות/ים\n [`(${W})(י)?ים${SEP}?(י)?ות${B}`, '$1$2ים', '$1$2$3ות'], // מורים/ות\n [`(${W})(י)?ות${SEP}י?ים${B}`, '$1$2ים', '$1$2ות'], // מורות/ים\n [`(${W})י${SEP}ות${B}`, '$1י', '$1ות'], // עורכי/ות\n\n [`(${W})ה${SEP}י${SEP}ו${B}`, '$1ה', '$1י', '$1ו'], // ראה/י/ו\n [`(${W})ה${SEP}י${B}`, '$1ה', '$1י'], // ראה/י\n [`(${W})י${SEP}ה${SEP}ו${B}`, '$1ה', '$1י', '$1ו'], // ראי/ה/ו\n [`(${W})י${SEP}ה${B}`, '$1ה', '$1י'], // ראי/ה\n [`(${W}+)\\\\(י\\\\)(${W})${SEP}י${SEP}ו${B}`, '$1$2', '$1י$2י', '$1י$2ו'], // הפע(י)ל/י/ו\n [`(${W}+)\\\\(י\\\\)(${W})${SEP}י${B}`, '$1$2', '$1י$2י'], // הפע(י)ל/י\n [`(${HEB})ו(ו?)(${W})${SEP}י${SEP}ו${B}`, `$1$2ו$3${M_WORDFIN}`, `$1$2$2$3${M_NOT_WORDFIN}י`, `$1$2$3${M_NOT_WORDFIN}ו`], // כתוב/י/ו, דווח/י/ו\n [`(${HEB})ו(ו?)(${W})${SEP}י${B}`, `$1$2ו$3${M_WORDFIN}`, `$1$2$2$3${M_NOT_WORDFIN}י`], // כתוב/י, דווח/י\n [`(${W})${SEP}י${SEP}ו${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}י`, `$1${M_NOT_WORDFIN}ו`], // לך/י/ו\n [`(${W})${SEP}י${B}`, `$1${M_WORDFIN}`, `$1${M_NOT_WORDFIN}י`], // לך/י\n\n [`(${W})(ה)?${SEP}ת${B}`, `$1$2${M_WORDFIN}`, `$1${M_NOT_WORDFIN}ת`], // נהג/ת, רואה/ת חשבון\n\n [`(${W})ם${SEP}?ן${B}`, '$1ם', '$1ן'], // אתם/ן\n [`(${W})ן${SEP}?ם${B}`, '$1ם', '$1ן'], // אתן/ם\n [`ה(${W}+)י(${W})ו${SEP}נה${B}`, 'ה$1י$2ו', 'ה$1$2נה'], // הלבישו/נה\n [`(${W}+)ו${SEP}ת(${W}+)נה${B}`, '$1ו', 'ת$2נה'], // יצאו/תצאנה\n [`ת(${W}+)ו${SEP}נה${B}`, 'ת$1ו', 'ת$1נה'], // תדרכו/נה\n [`(${W}+)ו${SEP}נה${B}`, '$1ו', '$1נה'], // רקדו/נה\n\n // Parentheses\n [`(${W}+)\\\\(([ותי]{1,3})\\\\)([יוהםן]{1,3})${B}`, '$1$3', '$1$2$3'], // מתנגד(ות)יו, מתנגד(ות)יהם\n [`(${W}+)י\\\\(י\\\\)(${W}*)(${FIN})${B}`, '$1י$2$3', '$1יי$2$3'], // פני(י)ך\n [`(${W}+)\\\\(י\\\\)י(${W}*)(${FIN})${B}`, '$1י$2$3', '$1יי$2$3'], // פנ(י)יך\n [`\\\\(א\\\\)נשים${B}`, 'אנשים', 'נשים'], // (א)נשים\n [`(${W}+)ב\\\\(ת\\\\)${B}`, '$1ב', '$1בת'], // חושב(ת)\n [`(${W}+)(ך|כ)\\\\(([םן.\\\\/]{1,3})\\\\)${B}`, '$1ך', '$1ך', '$1כ$3'], // שלך(ם), שלך(ן)\n\n // Special Syntax\n ['\\\\[([^|]*?)\\\\|([^|]*?)\\\\|([^|]*?)\\\\]', '$1', '$2', '$3'], // [בן|בת|ילד]\n ['\\\\[([^|]*?)\\\\|([^|]*?)\\\\]', '$1', '$2', true], // [בן|בת]\n\n // Final Letters fixes\n unisex(`ץ${M_NOT_WORDFIN}`, 'צ'), // חרוץה\n unisex(`ך${M_NOT_WORDFIN}`, 'כ'), // משךי\n unisex(`ן${M_NOT_WORDFIN}`, 'נ'), // השעןי\n unisex(`ם${M_NOT_WORDFIN}`, 'מ'), // יזםית\n unisex(`ף${M_NOT_WORDFIN}`, 'פ'), // פילוסוףית\n\n unisex(`([^${G}]+)צ${M_WORDFIN}`, '$1ץ'), // חרוצ\n unisex(`([^${G}]+)כ${M_WORDFIN}`, '$1ך'), // משוכ\n unisex(`([^${G}]+)נ${M_WORDFIN}`, '$1ן'), // השענ\n unisex(`([^${G}]+)מ${M_WORDFIN}`, '$1ם'), // יזמ\n unisex(`([^${G}]+)פ${M_WORDFIN}`, '$1ף'), // פילוסופ\n\n // Remove marks\n unisex(`[${M_WORDFIN}${M_NOT_WORDFIN}]`, ''),\n].map(regexize);\n","import rules from './rules';\n\nconst PROTECTED = '__IVRITA_PROTECTED__';\nconst protectedRegexp = new RegExp(`\\\\{${PROTECTED}:(\\\\d+):${PROTECTED}\\\\}`, 'g');\n\nexport const ORIGINAL = 0;\n\nexport const MALE = 1;\n\nexport const FEMALE = 2;\n\nexport const NEUTRAL = 3;\n\nexport const GENDERS = [ORIGINAL, MALE, FEMALE, NEUTRAL];\n\nexport const genderize = (originalText, gender, doneFunc) => {\n let genderized = originalText;\n const bracedStrings = [];\n\n if (genderized.includes('{')) {\n // Remove braced parts from text and save them aside\n genderized = genderized.replace(/\\{(.*?)\\}/g, (matched, string, index) => {\n bracedStrings[index] = string;\n return `{${PROTECTED}:${index}:${PROTECTED}}`;\n });\n }\n\n let prev = originalText;\n const used = [];\n rules.forEach(([pattern, male, female, neutral]) => {\n let replacement;\n switch (gender) {\n case FEMALE:\n replacement = female;\n break;\n\n case MALE:\n replacement = male;\n break;\n\n case NEUTRAL:\n default:\n if (typeof neutral !== 'undefined') replacement = neutral;\n break;\n }\n if (replacement !== undefined) {\n genderized = genderized.replace(pattern, replacement);\n }\n\n if (typeof doneFunc === 'function' && prev !== genderized) {\n used.push(pattern);\n prev = genderized;\n }\n });\n\n if (bracedStrings.length) {\n // Bring back braced parts\n genderized = genderized.replace(protectedRegexp, (matched, group) => {\n const parsedIndex = parseInt(group, 10);\n if (bracedStrings[parsedIndex]) {\n return bracedStrings[parsedIndex];\n }\n return '';\n });\n }\n\n if (typeof doneFunc === 'function') {\n doneFunc(used);\n }\n return genderized;\n};\n","import JSXComponent from 'jsx-render/lib/JSXComponent';\n\nexport default class IvritaSwitch extends JSXComponent {\n /**\n * The name of the event to be dispatched on `document` before reading the configuration\n */\n static EVENT_INIT = 'ivrita-ui-ready';\n\n /**\n * @property {Ivrita[]} ivritaInstances\n */\n ivritaInstances = [];\n\n /**\n * @param {...Ivrita} ivritaInstances\n */\n constructor(...ivritaInstances) {\n super();\n if (ivritaInstances.length) {\n this.setIvritaInstances(...ivritaInstances);\n }\n }\n\n /**\n * @param {...Ivrita} ivritaInstances\n */\n setIvritaInstances(...ivritaInstances) {\n this.ivritaInstances = ivritaInstances;\n }\n\n /**\n * Sets the mode for all ivritaInstances of this switch\n * @param {string} modeStr The new mode\n */\n setMode(mode) {\n this.ivritaInstances.forEach((i) => i.setMode(mode));\n window.localStorage.setItem('ivrita-mode', mode);\n }\n}\n","// eslint-disable-next-line no-unused-vars\nimport dom from 'jsx-render';\nimport IvritaElement from '../element';\nimport { MALE, FEMALE, NEUTRAL } from '../ivrita';\nimport IvritaSwitch from './switch';\n\nexport default class CustomSwitch extends IvritaSwitch {\n buttons = new Map();\n\n constructor(element, buttonsSelector, ...ivritaInstances) {\n if (ivritaInstances.length === 0 && typeof window._ivrita !== 'undefined') {\n super(window._ivrita);\n } else {\n super(...ivritaInstances);\n }\n\n this.element = element;\n this.buttonsSelector = buttonsSelector;\n\n this.listenForClicks();\n this.listenForExternalChanges();\n }\n\n listenForClicks() {\n Array.from(this.element.querySelectorAll(this.buttonsSelector)).forEach((button) => {\n const btnModeStr = button.dataset.ivritaMode;\n let btnMode;\n switch (btnModeStr.toUpperCase()) {\n case 'MALE':\n btnMode = MALE;\n break;\n\n case 'FEMALE':\n btnMode = FEMALE;\n break;\n\n case 'NEUTRAL':\n btnMode = NEUTRAL;\n break;\n\n default:\n btnMode = null;\n }\n\n if (btnMode !== null) {\n button.addEventListener('click', (e) => {\n e.preventDefault();\n\n this.setMode(btnMode);\n this.setActiveButton(btnMode);\n });\n\n this.buttons.set(button, btnMode);\n }\n });\n }\n\n listenForExternalChanges() {\n this.ivritaInstances.forEach((ivritaInstance) => {\n if (ivritaInstance.elements.length) {\n ivritaInstance.elements[0].addEventListener(IvritaElement.EVENT_MODE_CHANGED,\n ({ detail: { mode, firingInstance } }) => {\n if (firingInstance === ivritaInstance) { // Skip events bubbled by other instances\n this.setActiveButton(mode);\n }\n });\n }\n });\n }\n\n setActiveButton(newMode) {\n this.buttons.forEach((value, btn) => {\n if (newMode === value) {\n btn.classList.add('ivrita-active');\n } else {\n btn.classList.remove('ivrita-active');\n }\n });\n }\n}\n","export const iconTitle = 'עבריתה';\nexport const aboutLinkText = 'אודות מיזם עבריתה';\nexport const defaultMaleLabel = 'איש';\nexport const defaultFemaleLabel = 'אישה';\nexport const defaultNeutralLabel = 'ניטרלי';\n","import api from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./style.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import Ivrita from '../element';\nimport CustomSwitch from './custom';\nimport DefaultSwitch from './default';\n\nimport DocReady from './docReady';\n\nconst defaultSwitch = new DefaultSwitch();\n\nDocReady(() => {\n window._ivrita = new Ivrita();\n defaultSwitch.setIvritaInstances(window._ivrita);\n defaultSwitch.init();\n});\n\ndefaultSwitch.custom = CustomSwitch;\nexport default defaultSwitch;\n","// eslint-disable-next-line no-unused-vars\nimport dom from 'jsx-render';\nimport {\n iconTitle,\n aboutLinkText,\n defaultMaleLabel,\n defaultFemaleLabel,\n defaultNeutralLabel,\n} from './hebrew';\n\nimport './style.scss';\n\nimport Ivrita from '../element';\nimport IvritaSwitch from './switch';\n\nexport default class DefaultSwitch extends IvritaSwitch {\n /**\n * The switch configuration.\n *\n * The defaults are listed bellow, properties can be overridden by using\n * the `ivrita-ui-ready` event:\n *\n * ```\n * document.addEventListener('ivrita-ui-ready', function() {\n * Ivrita.ui.default.config.modes[Ivrita.MALE].label = 'גבר';\n * });\n * ```\n */\n config = {\n position: 'left',\n iconTitle,\n aboutLinkText,\n aboutLinkURL: 'https://alefalefalef.co.il/ivrita/',\n style: 0,\n logoIcon: '⚥︎',\n modes: {\n [Ivrita.MALE]: {\n label: defaultMaleLabel,\n icon: '♂︎',\n order: 1,\n },\n [Ivrita.FEMALE]: {\n label: defaultFemaleLabel,\n icon: '♀︎',\n order: 2,\n },\n [Ivrita.NEUTRAL]: {\n label: defaultNeutralLabel,\n icon: '⚥︎',\n order: 3,\n },\n },\n default: Ivrita.NEUTRAL,\n }\n\n setMode(modeStr) {\n const mode = parseInt(modeStr, 10);\n this.element.querySelectorAll('a.ivrita-mode-changer').forEach((e) => {\n if (parseInt(e.dataset.ivritaMode, 10) === mode) {\n e.classList.add('ivrita-active');\n } else {\n e.classList.remove('ivrita-active');\n }\n });\n this.element.querySelector(`a[data-ivrita-mode=\"${mode}\"]`).classList.add('ivrita-active');\n\n super.setMode(mode);\n }\n\n render() {\n return (\n \n );\n }\n\n build() {\n this.element = this.render();\n }\n\n init() {\n // Dispatch the event, in order to allow external reconfiguration\n document.dispatchEvent(new CustomEvent(this.constructor.EVENT_INIT, { bubbles: true }));\n\n this.build();\n document.body.appendChild(this.element);\n\n const storedMode = window.localStorage.getItem('ivrita-mode');\n if (storedMode) {\n this.setMode(storedMode);\n } else if (this.config.default) {\n this.setMode(this.config.default);\n }\n }\n\n rebuild() {\n this.element.remove();\n this.init();\n }\n}\n","// Based on https://github.com/nickeljew/es6-docready\n\nexport default (callback) => {\n function completed() {\n document.removeEventListener('DOMContentLoaded', completed, false);\n window.removeEventListener('load', completed, false);\n callback();\n }\n\n // Events.on(document, 'DOMContentLoaded', completed)\n\n if (document.readyState === 'complete') {\n // Handle it asynchronously to allow scripts the opportunity to delay ready\n setTimeout(callback);\n } else {\n // Use the handy event callback\n document.addEventListener('DOMContentLoaded', completed, false);\n\n // A fallback to window.onload, that will always work\n window.addEventListener('load', completed, false);\n }\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"./fonts/ivritacons-alefalefalef.woff2\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"./fonts/ivritacons-alefalefalef.woff\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face{font-family:\\\"Ivritacons\\\";font-weight:\\\"400\\\";src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"woff2\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\")}.ivrita-switch *,.ivrita-mode-changer *{margin:0;padding:0;outline:0;font-size:30px;font-weight:normal;font-style:normal;border:0;text-decoration:none;list-style-type:none;min-width:auto;min-height:auto;max-width:none;max-height:none;-webkit-text-stroke:none;-moz-text-stroke:initial;-ms-text-stroke:initial;word-spacing:normal;text-align:left;width:auto;height:auto;position:static;display:inline-block;border:0;float:none;background:none;border-radius:0;box-shadow:none;direction:ltr;visibility:visible;opacity:1;text-shadow:none;outline:0;vertical-align:unset;white-space:normal;letter-spacing:0}.ivrita-switch{z-index:999999;background-color:rgba(255,255,255,.8);position:fixed;top:calc(50% - 1em);left:-1px;border-radius:0 7px 7px 0;transition:.2s all ease-out .1s;border:1px solid #222;font-size:30px;min-width:40px;padding:3px 0 0;overflow:hidden}.ivrita-switch:hover{top:calc(50% - 66px)}.ivrita-switch *,.ivrita-switch:before,.ivrita-switch:after{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.ivrita-switch.ivrita-switch--right{left:auto;right:-1px;border-radius:7px 0 0 7px}.ivrita-switch a{font-family:\\\"Ivritacons\\\" !important;font-weight:normal !important;font-style:normal !important;transition:.1s all ease-out;display:block;color:#2d2828;line-height:1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;width:33px;height:33px;line-height:33px;margin:0 3px;overflow:hidden}.ivrita-switch a.ivrita-logo{transition:.1s all ease-out}.ivrita-switch:hover a.ivrita-logo{height:0;visibility:hidden}.ivrita-switch a.ivrita-button{visibility:hidden;border-radius:5px;height:0;transition:.2s all ease-out;overflow:hidden}.ivrita-switch:hover a.ivrita-button{visibility:visible;font-size:30px;height:33px}.ivrita-switch a.ivrita-button.ivrita-active:not(.ivrita-button-style-0){background:#555;color:#fff}.ivrita-switch a.ivrita-button.ivrita-button-style-0.ivrita-active{-webkit-font-feature-settings:\\\"swsh\\\";font-feature-settings:\\\"swsh\\\"}.ivrita-switch a.ivrita-button.ivrita-button-style-1{-webkit-font-feature-settings:\\\"ss01\\\";font-feature-settings:\\\"ss01\\\"}.ivrita-switch a.ivrita-button.ivrita-button-style-2{-webkit-font-feature-settings:\\\"ss02\\\";font-feature-settings:\\\"ss02\\\"}.ivrita-switch a.ivrita-button.ivrita-button-style-3{-webkit-font-feature-settings:\\\"ss03\\\";font-feature-settings:\\\"ss03\\\"}.ivrita-switch a.ivrita-button.ivrita-button-style-4{-webkit-font-feature-settings:\\\"ss04\\\";font-feature-settings:\\\"ss04\\\"}.ivrita-switch a.ivrita-button.ivrita-button-style-5{-webkit-font-feature-settings:\\\"ss05\\\";font-feature-settings:\\\"ss05\\\"}.ivrita-switch a.ivrita-button.ivrita-button-style-6{-webkit-font-feature-settings:\\\"ss06\\\";font-feature-settings:\\\"ss06\\\"}.ivrita-switch a.ivrita-button.ivrita-button-style-7{-webkit-font-feature-settings:\\\"ss07\\\";font-feature-settings:\\\"ss07\\\"}.ivrita-switch a.ivrita-button:hover{background-color:rgba(0,0,0,.1);color:#6306ec}.ivrita-switch a.ivrita-info-link{transition:.2s all ease-out;visibility:hidden;font-size:20px;line-height:21px;height:0;width:100%}.ivrita-switch a.ivrita-info-link:hover{color:#6306ec;-webkit-font-feature-settings:\\\"ss01\\\";font-feature-settings:\\\"ss01\\\"}.ivrita-switch:hover a.ivrita-info-link{border-top:1px solid #555;margin:4px 0 0;height:auto;visibility:visible}.ivrita-toolbar{font-size:16px;border:1px solid rgba(0,0,0,.15);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:1.6em !important;padding:.5em .7em;overflow:auto;position:relative;align-items:center;background:rgba(0,0,0,.03);color:#333;font-size:18px;z-index:1}.ivrita-toolbar *{display:inline-block !important}.ivrita-toolbar .ivrita-toolbar-label{padding-left:.2em;opacity:.7;line-height:1em}.ivrita-toolbar a{color:#333 !important;text-decoration:none !important;border:none !important;box-shadow:none !important;-webkit-box-shadow:none !important;transition:color .3s !important;display:inline-block !important;padding:0 .3em !important;margin:1px !important;white-space:nowrap;cursor:pointer !important}.ivrita-toolbar a:before{content:attr(data-ivrita-icon) !important;font-size:1.2em !important;vertical-align:middle !important;font-family:\\\"Ivritacons\\\" !important}.ivrita-toolbar a:focus,.ivrita-toolbar a:hover{border:1px solid rgba(0,0,0,.2) !important;margin:0 !important}.ivrita-toolbar a.ivrita-mode-changer{border-radius:2px !important}.ivrita-toolbar a.ivrita-active{border:1px solid rgba(0,0,0,.8) !important;margin:0 !important}.ivrita-toolbar a.ivrita-toolbar-info{padding:0 !important;margin:0 !important;line-height:1em}.ivrita-toolbar a.ivrita-toolbar-info:hover{border:none !important}.ivrita-toolbar a.ivrita-toolbar-info:hover:before{-webkit-font-feature-settings:\\\"ss01\\\";font-feature-settings:\\\"ss01\\\"}@media screen and (max-width: 480px){.ivrita-switch{top:auto;bottom:0;border-bottom:0;border-bottom-right-radius:0px !important;border-bottom-left-radius:0px !important}.ivrita-switch:hover{top:auto}.ivrita-toolbar{font-size:14px}.ivrita-toolbar .ivrita-toolbar-menu{display:block !important;width:100%}.ivrita-toolbar .ivrita-toolbar-label{display:block !important;clear:both;margin-bottom:.3em}.ivrita-toolbar a.ivrita-toolbar-info{position:absolute !important;left:.8em;top:.4em}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui/style.scss\"],\"names\":[],\"mappings\":\"AAIA,WACE,wBAAA,CACA,iBAAA,CACA,kHAAA,CAGF,wCACE,QAAA,CACA,SAAA,CACA,SAAA,CACA,cAAA,CACA,kBAAA,CACA,iBAAA,CACA,QAAA,CACA,oBAAA,CACA,oBAAA,CACA,cAAA,CACA,eAAA,CACA,cAAA,CACA,eAAA,CACA,wBAAA,CACA,wBAAA,CACA,uBAAA,CACA,mBAAA,CACA,eAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,oBAAA,CACA,QAAA,CACA,UAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CACA,aAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CACA,SAAA,CACA,oBAAA,CACA,kBAAA,CACA,gBAAA,CAGF,eACE,cAAA,CACA,qCAAA,CACA,cAAA,CACA,mBAAA,CACA,SAAA,CACA,yBAAA,CACA,+BAAA,CACA,qBAAA,CACA,cAAA,CACA,cAAA,CACA,eAAA,CACA,eAAA,CAEA,qBACE,oBAAA,CAGF,4DACE,qBAAA,CACA,6BAAA,CACA,0BAAA,CAGF,oCACE,SAAA,CACA,UAAA,CACA,yBAAA,CAGF,iBACE,mCAAA,CACA,6BAAA,CACA,4BAAA,CACA,2BAAA,CACA,aAAA,CACA,aAAA,CACA,eAAA,CACA,kCAAA,CACA,iCAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,YAAA,CACA,eAAA,CAEA,6BACE,2BAAA,CAIJ,mCACE,QAAA,CACA,iBAAA,CAGF,+BACE,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,2BAAA,CACA,eAAA,CAGF,qCACE,kBAAA,CACA,cAAA,CACA,WAAA,CAKE,yEACE,eAAA,CACA,UAAA,CAGF,mEACE,oCAAA,CACA,4BAAA,CAIA,qDACE,oCAAA,CACA,4BAAA,CAFF,qDACE,oCAAA,CACA,4BAAA,CAFF,qDACE,oCAAA,CACA,4BAAA,CAFF,qDACE,oCAAA,CACA,4BAAA,CAFF,qDACE,oCAAA,CACA,4BAAA,CAFF,qDACE,oCAAA,CACA,4BAAA,CAFF,qDACE,oCAAA,CACA,4BAAA,CAIJ,qCACE,+BAAA,CACA,aAAA,CAIJ,kCACE,2BAAA,CACA,iBAAA,CACA,cAAA,CACA,gBAAA,CACA,QAAA,CACA,UAAA,CAEA,wCACE,aAAA,CACA,oCAAA,CACA,4BAAA,CAKN,wCACE,yBAAA,CACA,cAAA,CACA,WAAA,CACA,kBAAA,CASJ,gBAKE,cAAA,CACA,gCAAA,CACA,mBAAA,CACA,mBAAA,CACA,YAAA,CACA,wBAAA,CACA,qBAAA,CACA,6BAAA,CACA,8BAAA,CACA,iBAAA,CACA,aAAA,CACA,iBAAA,CACA,kBAAA,CACA,0BAAA,CACA,UAAA,CACA,cAAA,CACA,SAAA,CApBA,kBACE,+BAAA,CAqBF,sCACE,iBAAA,CACA,UAAA,CACA,eAAA,CAGF,kBACE,qBAAA,CACA,+BAAA,CACA,sBAAA,CACA,0BAAA,CACA,kCAAA,CACA,+BAAA,CACA,+BAAA,CACA,yBAAA,CACA,qBAAA,CACA,kBAAA,CACA,yBAAA,CAEA,yBACE,yCAAA,CACA,0BAAA,CACA,gCAAA,CACA,mCAAA,CAGF,gDACE,0CAAA,CACA,mBAAA,CAGF,sCACE,4BAAA,CAGF,gCACE,0CAAA,CACA,mBAAA,CAGF,sCACE,oBAAA,CACA,mBAAA,CACA,eAAA,CAEA,4CACE,sBAAA,CAEA,mDACE,oCAAA,CACA,4BAAA,CAQV,qCACE,eACE,QAAA,CACA,QAAA,CACA,eAAA,CACA,yCAAA,CACA,wCAAA,CAEA,qBACE,QAAA,CAIJ,gBACE,cAAA,CAEA,qCACE,wBAAA,CACA,UAAA,CAGF,sCACE,wBAAA,CACA,UAAA,CACA,kBAAA,CAGF,sCACE,4BAAA,CACA,SAAA,CACA,QAAA,CAAA\",\"sourcesContent\":[\"/**\\n* Switch\\n*/\\n\\n@font-face {\\n font-family: 'Ivritacons';\\n font-weight: '400';\\n src: url('fonts/ivritacons-alefalefalef.woff2') format(\\\"woff2\\\"), url('fonts/ivritacons-alefalefalef.woff') format(\\\"woff\\\");\\n}\\n\\n.ivrita-switch *, .ivrita-mode-changer * {\\n margin: 0;\\n padding: 0;\\n outline: 0;\\n font-size: 30px;\\n font-weight: normal;\\n font-style: normal;\\n border: 0;\\n text-decoration: none;\\n list-style-type: none;\\n min-width: auto;\\n min-height: auto;\\n max-width: none;\\n max-height: none;\\n -webkit-text-stroke: none;\\n -moz-text-stroke: initial;\\n -ms-text-stroke: initial;\\n word-spacing: normal;\\n text-align: left;\\n width: auto;\\n height: auto;\\n position: static;\\n display: inline-block;\\n border: 0;\\n float: none;\\n background: none;\\n border-radius: 0;\\n box-shadow: none;\\n direction: ltr;\\n visibility: visible;\\n opacity: 1;\\n text-shadow: none;\\n outline: 0;\\n vertical-align: unset;\\n white-space: normal;\\n letter-spacing: 0;\\n}\\n\\n.ivrita-switch {\\n z-index: 999999;\\n background-color: rgba(255, 255, 255, 0.8);\\n position: fixed;\\n top: calc(50% - 1em);\\n left: -1px;\\n border-radius: 0 7px 7px 0;\\n transition: .2s all ease-out .1s;\\n border: 1px solid #222;\\n font-size: 30px;\\n min-width: 40px;\\n padding: 3px 0 0;\\n overflow: hidden;\\n \\n &:hover {\\n top: calc(50% - 66px);\\n }\\n\\n *, &:before, &:after {\\n box-sizing: border-box;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n }\\n \\n &.ivrita-switch--right {\\n left: auto;\\n right: -1px;\\n border-radius: 7px 0 0 7px;\\n }\\n\\n a {\\n font-family: 'Ivritacons' !important;\\n font-weight: normal !important;\\n font-style: normal !important;\\n transition: .1s all ease-out;\\n display: block;\\n color: #2d2828;\\n line-height: 1em;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n text-align: center;\\n width: 33px;\\n height: 33px;\\n line-height: 33px;\\n margin: 0 3px;\\n overflow: hidden;\\n\\n &.ivrita-logo {\\n transition: .1s all ease-out;\\n }\\n }\\n\\n &:hover a.ivrita-logo {\\n height: 0;\\n visibility: hidden;\\n }\\n\\n a.ivrita-button {\\n visibility: hidden;\\n border-radius: 5px;\\n height: 0;\\n transition: .2s all ease-out;\\n overflow: hidden;\\n }\\n\\n &:hover a.ivrita-button {\\n visibility: visible;\\n font-size: 30px;\\n height: 33px;\\n }\\n\\n a {\\n &.ivrita-button {\\n &.ivrita-active:not(.ivrita-button-style-0) {\\n background: #555;\\n color: #fff;\\n }\\n\\n &.ivrita-button-style-0.ivrita-active {\\n -webkit-font-feature-settings: \\\"swsh\\\";\\n font-feature-settings: \\\"swsh\\\";\\n }\\n\\n @for $i from 1 through 7 {\\n &.ivrita-button-style-#{$i} {\\n -webkit-font-feature-settings: \\\"ss0#{$i}\\\";\\n font-feature-settings: \\\"ss0#{$i}\\\";\\n }\\n }\\n\\n &:hover {\\n background-color: rgba(0, 0, 0, 0.1);\\n color: #6306ec;\\n }\\n }\\n\\n &.ivrita-info-link {\\n transition: .2s all ease-out;\\n visibility: hidden;\\n font-size: 20px;\\n line-height: 21px;\\n height: 0;\\n width: 100%;\\n\\n &:hover {\\n color: #6306ec;\\n -webkit-font-feature-settings: \\\"ss01\\\";\\n font-feature-settings: \\\"ss01\\\";\\n }\\n }\\n }\\n\\n &:hover a.ivrita-info-link {\\n border-top: 1px solid #555;\\n margin: 4px 0 0;\\n height: auto;\\n visibility: visible;\\n }\\n}\\n\\n\\n/**\\n* Toolbar\\n*/\\n\\n.ivrita-toolbar {\\n * {\\n display: inline-block !important;\\n }\\n\\n font-size: 16px;\\n border: 1px solid rgba(0, 0, 0, 0.15);\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: justify;\\n -ms-flex-pack: justify;\\n justify-content: space-between;\\n margin-bottom: 1.6em !important;\\n padding: 0.5em 0.7em;\\n overflow: auto;\\n position: relative;\\n align-items: center;\\n background: rgba(0, 0, 0, 0.03);\\n color: #333333;\\n font-size: 18px;\\n z-index: 1;\\n\\n .ivrita-toolbar-label {\\n padding-left: 0.2em;\\n opacity: 0.7;\\n line-height: 1em;\\n }\\n\\n a {\\n color: #333333 !important;\\n text-decoration: none !important;\\n border: none !important;\\n box-shadow: none !important;\\n -webkit-box-shadow: none !important;\\n transition: color .3s !important;\\n display: inline-block !important;\\n padding: 0 0.3em !important;\\n margin: 1px !important;\\n white-space: nowrap;\\n cursor: pointer !important;\\n\\n &:before {\\n content: attr(data-ivrita-icon) !important;\\n font-size: 1.2em !important;\\n vertical-align: middle !important;\\n font-family: 'Ivritacons' !important;\\n }\\n\\n &:focus, &:hover {\\n border: 1px solid rgba(0, 0, 0, 0.2) !important;\\n margin: 0 !important;\\n }\\n\\n &.ivrita-mode-changer {\\n border-radius: 2px !important;\\n }\\n\\n &.ivrita-active {\\n border: 1px solid rgba(0, 0, 0, 0.8) !important;\\n margin: 0 !important;\\n }\\n\\n &.ivrita-toolbar-info {\\n padding: 0 !important;\\n margin: 0 !important;\\n line-height: 1em;\\n\\n &:hover {\\n border: none !important;\\n\\n &:before {\\n -webkit-font-feature-settings: \\\"ss01\\\";\\n font-feature-settings: \\\"ss01\\\";\\n }\\n }\\n }\\n }\\n}\\n\\n/* Mobile CSS */\\n@media screen and (max-width: 480px) {\\n .ivrita-switch {\\n top: auto;\\n bottom: 0;\\n border-bottom: 0;\\n border-bottom-right-radius: 0px !important;\\n border-bottom-left-radius: 0px !important;\\n\\n &:hover {\\n top: auto; \\n }\\n }\\n\\n .ivrita-toolbar {\\n font-size: 14px;\\n\\n .ivrita-toolbar-menu {\\n display: block !important;\\n width: 100%;\\n }\\n\\n .ivrita-toolbar-label {\\n display: block !important;\\n clear: both;\\n margin-bottom: 0.3em;\\n }\\n\\n a.ivrita-toolbar-info {\\n position: absolute !important;\\n left: 0.8em;\\n top: 0.4em;\\n }\\n }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === 'function') {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== 'string') {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n }\n\n return url;\n};","export default __webpack_public_path__ + \"fonts/ivritacons-alefalefalef.woff\";","export default __webpack_public_path__ + \"fonts/ivritacons-alefalefalef.woff2\";","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _synteticEvents = _interopRequireDefault(require(\"./synteticEvents\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar JSXComponent =\n/*#__PURE__*/\nfunction () {\n function JSXComponent() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, JSXComponent);\n\n this.props = props;\n this.render = this.render.bind(this);\n this.ref = this.ref.bind(this, props);\n } // eslint-disable-next-line\n\n\n _createClass(JSXComponent, [{\n key: \"ref\",\n value: function ref(node, props) {\n var events = Object.keys(props).filter(function (prop) {\n return _synteticEvents.default.includes(prop);\n });\n events.forEach(function (synteticEvent) {\n var event = synteticEvent.replace(/^on/, '').toLowerCase();\n node.addEventListener(event, props[synteticEvent]);\n });\n } // eslint-disable-next-line\n\n }, {\n key: \"render\",\n value: function render() {}\n }]);\n\n return JSXComponent;\n}();\n\nvar _default = JSXComponent;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.portalCreator = exports.Fragment = exports.default = void 0;\n\nvar _utils = require(\"./utils\");\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * The tag name and create an html together with the attributes\n *\n * @param {String} tagName name as string, e.g. 'div', 'span', 'svg'\n * @param {Object} attrs html attributes e.g. data-, width, src\n * @param {Array} children html nodes from inside de elements\n * @return {HTMLElement} html node with attrs\n */\nfunction createElements(tagName, attrs, children) {\n var element = (0, _utils.isSVG)(tagName) ? document.createElementNS('http://www.w3.org/2000/svg', tagName) : document.createElement(tagName); // one or multiple will be evaluated to append as string or HTMLElement\n\n var fragment = (0, _utils.createFragmentFrom)(children);\n element.appendChild(fragment);\n Object.keys(attrs || {}).forEach(function (prop) {\n if (prop === 'style') {\n // e.g. origin: \n element.style.cssText = (0, _utils.objectToStyleString)(attrs[prop]);\n } else if (prop === 'ref' && typeof attrs.ref === 'function') {\n attrs.ref(element, attrs);\n } else if (prop === 'className') {\n element.setAttribute('class', attrs[prop]);\n } else if (prop === 'xlinkHref') {\n element.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', attrs[prop]);\n } else if (prop === 'dangerouslySetInnerHTML') {\n // eslint-disable-next-line no-underscore-dangle\n element.innerHTML = attrs[prop].__html;\n } else {\n // any other prop will be set as attribute\n element.setAttribute(prop, attrs[prop]);\n }\n });\n return element;\n}\n/**\n * The JSXTag will be unwrapped returning the html\n *\n * @param {Function} JSXTag name as string, e.g. 'div', 'span', 'svg'\n * @param {Object} elementProps custom jsx attributes e.g. fn, strings\n * @param {Array} children html nodes from inside de elements\n *\n * @return {Function} returns de 'dom' (fn) executed, leaving the HTMLElement\n *\n * JSXTag: function Comp(props) {\n * return dom(\"span\", null, props.num);\n * }\n */\n\n\nfunction composeToFunction(JSXTag, elementProps, children) {\n var props = Object.assign({}, JSXTag.defaultProps || {}, elementProps, {\n children: children\n });\n var bridge = JSXTag.prototype.render ? new JSXTag(props).render : JSXTag;\n var result = bridge(props);\n\n switch (result) {\n case 'FRAGMENT':\n return (0, _utils.createFragmentFrom)(children);\n // Portals are useful to render modals\n // allow render on a different element than the parent of the chain\n // and leave a comment instead\n\n case 'PORTAL':\n bridge.target.appendChild((0, _utils.createFragmentFrom)(children));\n return document.createComment('Portal Used');\n\n default:\n return result;\n }\n}\n\nfunction dom(element, attrs) {\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n // Custom Components will be functions\n if (typeof element === 'function') {\n // e.g. const CustomTag = ({ w }) => \n // will be used\n // e.g. \n // becomes: CustomTag({ w: 1})\n return composeToFunction(element, attrs, children);\n } // regular html components will be strings to create the elements\n // this is handled by the babel plugins\n\n\n if (typeof element === 'string') {\n return createElements(element, attrs, children);\n }\n\n return console.error(\"jsx-render does not handle \".concat(typeof tag === \"undefined\" ? \"undefined\" : _typeof(tag)));\n}\n\nvar _default = dom;\nexports.default = _default;\n\nvar Fragment = function Fragment() {\n return 'FRAGMENT';\n};\n\nexports.Fragment = Fragment;\n\nvar portalCreator = function portalCreator(node) {\n function Portal() {\n return 'PORTAL';\n }\n\n Portal.target = document.body;\n\n if (node && node.nodeType === Node.ELEMENT_NODE) {\n Portal.target = node;\n }\n\n return Portal;\n};\n\nexports.portalCreator = portalCreator;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar MOUSE_EVENTS = ['onClick', 'onContextMenu', 'onDoubleClick', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp'];\nvar TOUCH_EVENTS = ['onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart'];\nvar KEYBOARD_EVENTS = ['onKeyDown', 'onKeyPress', 'onKeyUp'];\nvar FOCUS_EVENTS = ['onFocus', 'onBlur'];\nvar FORM_EVENTS = ['onChange', 'onInput', 'onInvalid', 'onSubmit'];\nvar UI_EVENTS = ['onScroll'];\nvar IMAGE_EVENTS = ['onLoad', 'onError'];\nvar synteticEvents = MOUSE_EVENTS.concat(TOUCH_EVENTS, KEYBOARD_EVENTS, FOCUS_EVENTS, FORM_EVENTS, UI_EVENTS, IMAGE_EVENTS);\nvar _default = synteticEvents;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSVG = isSVG;\nexports.objectToStyleString = objectToStyleString;\nexports.createFragmentFrom = createFragmentFrom;\n\nfunction isSVG(element) {\n var patt = new RegExp(\"^\".concat(element, \"$\"), 'i');\n var SVGTags = ['path', 'svg', 'use', 'g'];\n return SVGTags.some(function (tag) {\n return patt.test(tag);\n });\n}\n\nfunction objectToStyleString(styles) {\n return Object.keys(styles).map(function (prop) {\n return \"\".concat(prop, \": \").concat(styles[prop]);\n }).join(';');\n}\n\nfunction createFragmentFrom(children) {\n // fragments will help later to append multiple children to the initial node\n var fragment = document.createDocumentFragment();\n\n function processDOMNodes(child) {\n if (child instanceof HTMLElement || child instanceof SVGElement || child instanceof Comment || child instanceof DocumentFragment) {\n fragment.appendChild(child);\n } else if (typeof child === 'string' || typeof child === 'number') {\n var textnode = document.createTextNode(child);\n fragment.appendChild(textnode);\n } else if (child instanceof Array) {\n child.forEach(processDOMNodes);\n } else if (child === false || child === null) {// expression evaluated as false e.g. {false && }\n // expression evaluated as false e.g. {null && }\n } else if (process.env.NODE_ENV) {\n // later other things could not be HTMLElement nor strings\n console.log(child, 'is not appendable');\n }\n }\n\n children.forEach(processDOMNodes);\n return fragment;\n}","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of
\n \n {\n Object.keys(this.config.modes)\n .sort((mode1, mode2) => this.config.modes[mode1].order - this.config.modes[mode2].order)\n .map((mode) => (\n { e.preventDefault(); this.setMode(mode); } }\n dangerouslySetInnerHTML={{ __html: this.config.modes[mode].icon }}\n >\n ))\n }\n \n