diff --git a/b2-cwd/integration/live/session3/icons/fonts/icomoon.eot b/b2-cwd/integration/live/session3/icons/fonts/icomoon.eot
new file mode 100644
index 0000000..1f79bcc
Binary files /dev/null and b/b2-cwd/integration/live/session3/icons/fonts/icomoon.eot differ
diff --git a/b2-cwd/integration/live/session3/icons/fonts/icomoon.svg b/b2-cwd/integration/live/session3/icons/fonts/icomoon.svg
new file mode 100644
index 0000000..40a725d
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/fonts/icomoon.svg
@@ -0,0 +1,16 @@
+
+
+
\ No newline at end of file
diff --git a/b2-cwd/integration/live/session3/icons/fonts/icomoon.ttf b/b2-cwd/integration/live/session3/icons/fonts/icomoon.ttf
new file mode 100644
index 0000000..1b5be29
Binary files /dev/null and b/b2-cwd/integration/live/session3/icons/fonts/icomoon.ttf differ
diff --git a/b2-cwd/integration/live/session3/icons/fonts/icomoon.woff b/b2-cwd/integration/live/session3/icons/fonts/icomoon.woff
new file mode 100644
index 0000000..0ed21c6
Binary files /dev/null and b/b2-cwd/integration/live/session3/icons/fonts/icomoon.woff differ
diff --git a/b2-cwd/integration/live/session3/icons/icon-style.css b/b2-cwd/integration/live/session3/icons/icon-style.css
new file mode 100644
index 0000000..8a950e5
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/icon-style.css
@@ -0,0 +1,44 @@
+@font-face {
+ font-family: 'icomoon';
+ src:
+ url('fonts/icomoon.ttf?k3kmik') format('truetype'),
+ url('fonts/icomoon.woff?k3kmik') format('woff'),
+ url('fonts/icomoon.svg?k3kmik#icomoon') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ font-display: block;
+}
+
+[class^="icon-"], [class*=" icon-"] {
+ /* use !important to prevent issues with browser extensions that change fonts */
+ font-family: 'icomoon' !important;
+ speak: never;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+
+ /* Better Font Rendering =========== */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-eye:before {
+ content: "\e9ce";
+}
+.icon-eye-blocked:before {
+ content: "\e9d1";
+}
+.icon-close-circle:before {
+ content: "\ea0d";
+}
+.icon-close:before {
+ content: "\ea0f";
+}
+.icon-radio-checked:before {
+ content: "\ea54";
+}
+.icon-radio-unchecked:before {
+ content: "\ea56";
+}
diff --git a/b2-cwd/integration/live/session3/icons/index.html b/b2-cwd/integration/live/session3/icons/index.html
new file mode 100644
index 0000000..aa7d8e9
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/index.html
@@ -0,0 +1,35 @@
+
+
+
+
+ Tests Icones
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/b2-cwd/integration/live/session3/icons/scripts.js b/b2-cwd/integration/live/session3/icons/scripts.js
new file mode 100644
index 0000000..04ea26d
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/scripts.js
@@ -0,0 +1,25 @@
+// onloadjs: https://ryfarlane.com/article/on-load-vanilla-javascript
+// onclick : https://gomakethings.com/listening-for-click-events-with-vanilla-javascript/
+console.log('scripts loaded');
+document.onreadystatechange = function(event) {
+ if (document.readyState === "complete") {
+ console.log('document loaded');
+ document.addEventListener("click",function (event) {
+ console.log(event.target);
+ if(event.target.matches('.icon-eye') || event.target.matches('.icon-eye-blocked'))
+ {
+ console.log("click sur l'oeil");
+ if(document.getElementById('pwd').getAttribute("type") === "password")
+ {
+ document.getElementById('pwd').setAttribute("type","text");
+ event.target.setAttribute("class","icon-eye-blocked");
+ }
+ else
+ {
+ document.getElementById('pwd').setAttribute("type","password");
+ event.target.setAttribute("class","icon-eye");
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/b2-cwd/integration/live/session3/icons/sources/Read Me.txt b/b2-cwd/integration/live/session3/icons/sources/Read Me.txt
new file mode 100644
index 0000000..8491652
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/sources/Read Me.txt
@@ -0,0 +1,7 @@
+Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures.
+
+To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/#docs/local-fonts
+
+You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects.
+
+You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection.
diff --git a/b2-cwd/integration/live/session3/icons/sources/demo-files/demo.css b/b2-cwd/integration/live/session3/icons/sources/demo-files/demo.css
new file mode 100644
index 0000000..39b8991
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/sources/demo-files/demo.css
@@ -0,0 +1,152 @@
+body {
+ padding: 0;
+ margin: 0;
+ font-family: sans-serif;
+ font-size: 1em;
+ line-height: 1.5;
+ color: #555;
+ background: #fff;
+}
+h1 {
+ font-size: 1.5em;
+ font-weight: normal;
+}
+small {
+ font-size: .66666667em;
+}
+a {
+ color: #e74c3c;
+ text-decoration: none;
+}
+a:hover, a:focus {
+ box-shadow: 0 1px #e74c3c;
+}
+.bshadow0, input {
+ box-shadow: inset 0 -2px #e7e7e7;
+}
+input:hover {
+ box-shadow: inset 0 -2px #ccc;
+}
+input, fieldset {
+ font-family: sans-serif;
+ font-size: 1em;
+ margin: 0;
+ padding: 0;
+ border: 0;
+}
+input {
+ color: inherit;
+ line-height: 1.5;
+ height: 1.5em;
+ padding: .25em 0;
+}
+input:focus {
+ outline: none;
+ box-shadow: inset 0 -2px #449fdb;
+}
+.glyph {
+ font-size: 16px;
+ width: 15em;
+ padding-bottom: 1em;
+ margin-right: 4em;
+ margin-bottom: 1em;
+ float: left;
+ overflow: hidden;
+}
+.liga {
+ width: 80%;
+ width: calc(100% - 2.5em);
+}
+.talign-right {
+ text-align: right;
+}
+.talign-center {
+ text-align: center;
+}
+.bgc1 {
+ background: #f1f1f1;
+}
+.fgc1 {
+ color: #999;
+}
+.fgc0 {
+ color: #000;
+}
+p {
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+.mvm {
+ margin-top: .75em;
+ margin-bottom: .75em;
+}
+.mtn {
+ margin-top: 0;
+}
+.mtl, .mal {
+ margin-top: 1.5em;
+}
+.mbl, .mal {
+ margin-bottom: 1.5em;
+}
+.mal, .mhl {
+ margin-left: 1.5em;
+ margin-right: 1.5em;
+}
+.mhmm {
+ margin-left: 1em;
+ margin-right: 1em;
+}
+.mls {
+ margin-left: .25em;
+}
+.ptl {
+ padding-top: 1.5em;
+}
+.pbs, .pvs {
+ padding-bottom: .25em;
+}
+.pvs, .pts {
+ padding-top: .25em;
+}
+.unit {
+ float: left;
+}
+.unitRight {
+ float: right;
+}
+.size1of2 {
+ width: 50%;
+}
+.size1of1 {
+ width: 100%;
+}
+.clearfix:before, .clearfix:after {
+ content: " ";
+ display: table;
+}
+.clearfix:after {
+ clear: both;
+}
+.hidden-true {
+ display: none;
+}
+.textbox0 {
+ width: 3em;
+ background: #f1f1f1;
+ padding: .25em .5em;
+ line-height: 1.5;
+ height: 1.5em;
+}
+#testDrive {
+ display: block;
+ padding-top: 24px;
+ line-height: 1.5;
+}
+.fs0 {
+ font-size: 16px;
+}
+.fs1 {
+ font-size: 32px;
+}
+
diff --git a/b2-cwd/integration/live/session3/icons/sources/demo-files/demo.js b/b2-cwd/integration/live/session3/icons/sources/demo-files/demo.js
new file mode 100644
index 0000000..6f45f1c
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/sources/demo-files/demo.js
@@ -0,0 +1,30 @@
+if (!('boxShadow' in document.body.style)) {
+ document.body.setAttribute('class', 'noBoxShadow');
+}
+
+document.body.addEventListener("click", function(e) {
+ var target = e.target;
+ if (target.tagName === "INPUT" &&
+ target.getAttribute('class').indexOf('liga') === -1) {
+ target.select();
+ }
+});
+
+(function() {
+ var fontSize = document.getElementById('fontSize'),
+ testDrive = document.getElementById('testDrive'),
+ testText = document.getElementById('testText');
+ function updateTest() {
+ testDrive.innerHTML = testText.value || String.fromCharCode(160);
+ if (window.icomoonLiga) {
+ window.icomoonLiga(testDrive);
+ }
+ }
+ function updateSize() {
+ testDrive.style.fontSize = fontSize.value + 'px';
+ }
+ fontSize.addEventListener('change', updateSize, false);
+ testText.addEventListener('input', updateTest, false);
+ testText.addEventListener('change', updateTest, false);
+ updateSize();
+}());
diff --git a/b2-cwd/integration/live/session3/icons/sources/demo.html b/b2-cwd/integration/live/session3/icons/sources/demo.html
new file mode 100644
index 0000000..2c539c0
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/sources/demo.html
@@ -0,0 +1,122 @@
+
+
+
+
+ IcoMoon Demo
+
+
+
+
+
+
+
Font Name: icomoon (Glyphs: 6)
+
+
+
Grid Size: 16
+
+
+
+
+
+
+
+
+
+
+
Font Test Drive
+
+
+
+
+
+
+
+
+
+
+
diff --git a/b2-cwd/integration/live/session3/icons/sources/icomoon-v1.0.css.zip b/b2-cwd/integration/live/session3/icons/sources/icomoon-v1.0.css.zip
new file mode 100644
index 0000000..abe8b5d
Binary files /dev/null and b/b2-cwd/integration/live/session3/icons/sources/icomoon-v1.0.css.zip differ
diff --git a/b2-cwd/integration/live/session3/icons/sources/icomoon-v1.0.sass.zip b/b2-cwd/integration/live/session3/icons/sources/icomoon-v1.0.sass.zip
new file mode 100644
index 0000000..b11b769
Binary files /dev/null and b/b2-cwd/integration/live/session3/icons/sources/icomoon-v1.0.sass.zip differ
diff --git a/b2-cwd/integration/live/session3/icons/sources/selection.json b/b2-cwd/integration/live/session3/icons/sources/selection.json
new file mode 100644
index 0000000..4fcee7a
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/sources/selection.json
@@ -0,0 +1 @@
+{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M512 192c-223.318 0-416.882 130.042-512 320 95.118 189.958 288.682 320 512 320 223.312 0 416.876-130.042 512-320-95.116-189.958-288.688-320-512-320zM764.45 361.704c60.162 38.374 111.142 89.774 149.434 150.296-38.292 60.522-89.274 111.922-149.436 150.296-75.594 48.218-162.89 73.704-252.448 73.704-89.56 0-176.858-25.486-252.452-73.704-60.158-38.372-111.138-89.772-149.432-150.296 38.292-60.524 89.274-111.924 149.434-150.296 3.918-2.5 7.876-4.922 11.86-7.3-9.96 27.328-15.41 56.822-15.41 87.596 0 141.382 114.616 256 256 256 141.382 0 256-114.618 256-256 0-30.774-5.452-60.268-15.408-87.598 3.978 2.378 7.938 4.802 11.858 7.302v0zM512 416c0 53.020-42.98 96-96 96s-96-42.98-96-96 42.98-96 96-96 96 42.982 96 96z"],"tags":["eye","views","vision","visit"],"defaultCode":59854,"grid":16,"attrs":[]},"attrs":[],"properties":{"ligatures":"eye, views","name":"eye","order":2,"id":207,"prevSize":32,"code":59854},"setIdx":0,"setId":1,"iconIdx":206},{"icon":{"paths":["M945.942 14.058c-18.746-18.744-49.136-18.744-67.882 0l-202.164 202.164c-51.938-15.754-106.948-24.222-163.896-24.222-223.318 0-416.882 130.042-512 320 41.122 82.124 100.648 153.040 173.022 207.096l-158.962 158.962c-18.746 18.746-18.746 49.136 0 67.882 9.372 9.374 21.656 14.060 33.94 14.060s24.568-4.686 33.942-14.058l864-864c18.744-18.746 18.744-49.138 0-67.884zM416 320c42.24 0 78.082 27.294 90.92 65.196l-121.724 121.724c-37.902-12.838-65.196-48.68-65.196-90.92 0-53.020 42.98-96 96-96zM110.116 512c38.292-60.524 89.274-111.924 149.434-150.296 3.918-2.5 7.876-4.922 11.862-7.3-9.962 27.328-15.412 56.822-15.412 87.596 0 54.89 17.286 105.738 46.7 147.418l-60.924 60.924c-52.446-36.842-97.202-83.882-131.66-138.342z","M768 442c0-27.166-4.256-53.334-12.102-77.898l-321.808 321.808c24.568 7.842 50.742 12.090 77.91 12.090 141.382 0 256-114.618 256-256z","M830.026 289.974l-69.362 69.362c1.264 0.786 2.53 1.568 3.786 2.368 60.162 38.374 111.142 89.774 149.434 150.296-38.292 60.522-89.274 111.922-149.436 150.296-75.594 48.218-162.89 73.704-252.448 73.704-38.664 0-76.902-4.76-113.962-14.040l-76.894 76.894c59.718 21.462 123.95 33.146 190.856 33.146 223.31 0 416.876-130.042 512-320-45.022-89.916-112.118-166.396-193.974-222.026z"],"tags":["eye-blocked","views","vision","visit","banned","blocked","forbidden","private"],"defaultCode":59857,"grid":16,"attrs":[]},"attrs":[],"properties":{"ligatures":"eye-blocked, views4","name":"eye-blocked","order":12,"id":210,"prevSize":32,"code":59857},"setIdx":0,"setId":1,"iconIdx":209},{"icon":{"paths":["M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 928c-229.75 0-416-186.25-416-416s186.25-416 416-416 416 186.25 416 416-186.25 416-416 416z","M672 256l-160 160-160-160-96 96 160 160-160 160 96 96 160-160 160 160 96-96-160-160 160-160z"],"tags":["cancel-circle","close","remove","delete"],"defaultCode":59917,"grid":16,"attrs":[]},"attrs":[],"properties":{"ligatures":"cancel-circle, close","name":"close-circle","order":3,"id":270,"prevSize":32,"code":59917},"setIdx":0,"setId":1,"iconIdx":269},{"icon":{"paths":["M1014.662 822.66c-0.004-0.004-0.008-0.008-0.012-0.010l-310.644-310.65 310.644-310.65c0.004-0.004 0.008-0.006 0.012-0.010 3.344-3.346 5.762-7.254 7.312-11.416 4.246-11.376 1.824-24.682-7.324-33.83l-146.746-146.746c-9.148-9.146-22.45-11.566-33.828-7.32-4.16 1.55-8.070 3.968-11.418 7.31 0 0.004-0.004 0.006-0.008 0.010l-310.648 310.652-310.648-310.65c-0.004-0.004-0.006-0.006-0.010-0.010-3.346-3.342-7.254-5.76-11.414-7.31-11.38-4.248-24.682-1.826-33.83 7.32l-146.748 146.748c-9.148 9.148-11.568 22.452-7.322 33.828 1.552 4.16 3.97 8.072 7.312 11.416 0.004 0.002 0.006 0.006 0.010 0.010l310.65 310.648-310.65 310.652c-0.002 0.004-0.006 0.006-0.008 0.010-3.342 3.346-5.76 7.254-7.314 11.414-4.248 11.376-1.826 24.682 7.322 33.83l146.748 146.746c9.15 9.148 22.452 11.568 33.83 7.322 4.16-1.552 8.070-3.97 11.416-7.312 0.002-0.004 0.006-0.006 0.010-0.010l310.648-310.65 310.648 310.65c0.004 0.002 0.008 0.006 0.012 0.008 3.348 3.344 7.254 5.762 11.414 7.314 11.378 4.246 24.684 1.826 33.828-7.322l146.746-146.748c9.148-9.148 11.57-22.454 7.324-33.83-1.552-4.16-3.97-8.068-7.314-11.414z"],"tags":["cross","cancel","close","quit","remove"],"defaultCode":59919,"grid":16,"attrs":[]},"attrs":[],"properties":{"ligatures":"cross, cancel","name":"close","order":4,"id":272,"prevSize":32,"code":59919},"setIdx":0,"setId":1,"iconIdx":271},{"icon":{"paths":["M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 896c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384s-171.922 384-384 384zM320 512c0-106.039 85.961-192 192-192s192 85.961 192 192c0 106.039-85.961 192-192 192s-192-85.961-192-192z"],"tags":["radio-checked","radio-button"],"defaultCode":59988,"grid":16,"attrs":[]},"attrs":[],"properties":{"ligatures":"radio-checked, radio-button","name":"radio-checked","order":6,"id":341,"prevSize":32,"code":59988},"setIdx":0,"setId":1,"iconIdx":340},{"icon":{"paths":["M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 896c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384s-171.922 384-384 384z"],"tags":["radio-unchecked","radio-button","circle"],"defaultCode":59990,"grid":16,"attrs":[]},"attrs":[],"properties":{"ligatures":"radio-unchecked, radio-button3","name":"radio-unchecked","order":5,"id":343,"prevSize":32,"code":59990},"setIdx":0,"setId":1,"iconIdx":342}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"noie8":true,"ie7":false,"showSelector":true,"selector":"","cssVars":false,"cssVarsFormat":"scss","classSelector":".icon"},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon"},"historySize":50,"showCodes":true,"gridSize":16}}
\ No newline at end of file
diff --git a/b2-cwd/integration/live/session3/icons/style.css b/b2-cwd/integration/live/session3/icons/style.css
new file mode 100644
index 0000000..dca9dde
--- /dev/null
+++ b/b2-cwd/integration/live/session3/icons/style.css
@@ -0,0 +1,2 @@
+.mdp-on-off
+ span { display:none; }
\ No newline at end of file