1(function(scope){ 2'use strict'; 3 4function F(arity, fun, wrapper) { 5 wrapper.a = arity; 6 wrapper.f = fun; 7 return wrapper; 8} 9 10function F2(fun) { 11 return F(2, fun, function(a) { return function(b) { return fun(a,b); }; }) 12} 13function F3(fun) { 14 return F(3, fun, function(a) { 15 return function(b) { return function(c) { return fun(a, b, c); }; }; 16 }); 17} 18function F4(fun) { 19 return F(4, fun, function(a) { return function(b) { return function(c) { 20 return function(d) { return fun(a, b, c, d); }; }; }; 21 }); 22} 23function F5(fun) { 24 return F(5, fun, function(a) { return function(b) { return function(c) { 25 return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; }; 26 }); 27} 28function F6(fun) { 29 return F(6, fun, function(a) { return function(b) { return function(c) { 30 return function(d) { return function(e) { return function(f) { 31 return fun(a, b, c, d, e, f); }; }; }; }; }; 32 }); 33} 34function F7(fun) { 35 return F(7, fun, function(a) { return function(b) { return function(c) { 36 return function(d) { return function(e) { return function(f) { 37 return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; }; 38 }); 39} 40function F8(fun) { 41 return F(8, fun, function(a) { return function(b) { return function(c) { 42 return function(d) { return function(e) { return function(f) { 43 return function(g) { return function(h) { 44 return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; 45 }); 46} 47function F9(fun) { 48 return F(9, fun, function(a) { return function(b) { return function(c) { 49 return function(d) { return function(e) { return function(f) { 50 return function(g) { return function(h) { return function(i) { 51 return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; 52 }); 53} 54 55function A2(fun, a, b) { 56 return fun.a === 2 ? fun.f(a, b) : fun(a)(b); 57} 58function A3(fun, a, b, c) { 59 return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c); 60} 61function A4(fun, a, b, c, d) { 62 return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d); 63} 64function A5(fun, a, b, c, d, e) { 65 return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e); 66} 67function A6(fun, a, b, c, d, e, f) { 68 return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f); 69} 70function A7(fun, a, b, c, d, e, f, g) { 71 return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g); 72} 73function A8(fun, a, b, c, d, e, f, g, h) { 74 return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h); 75} 76function A9(fun, a, b, c, d, e, f, g, h, i) { 77 return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i); 78} 79 80 81 82 83var _JsArray_empty = []; 84 85function _JsArray_singleton(value) 86{ 87 return [value]; 88} 89 90function _JsArray_length(array) 91{ 92 return array.length; 93} 94 95var _JsArray_initialize = F3(function(size, offset, func) 96{ 97 var result = new Array(size); 98 99 for (var i = 0; i < size; i++) 100 { 101 result[i] = func(offset + i); 102 } 103 104 return result; 105}); 106 107var _JsArray_initializeFromList = F2(function (max, ls) 108{ 109 var result = new Array(max); 110 111 for (var i = 0; i < max && ls.b; i++) 112 { 113 result[i] = ls.a; 114 ls = ls.b; 115 } 116 117 result.length = i; 118 return _Utils_Tuple2(result, ls); 119}); 120 121var _JsArray_unsafeGet = F2(function(index, array) 122{ 123 return array[index]; 124}); 125 126var _JsArray_unsafeSet = F3(function(index, value, array) 127{ 128 var length = array.length; 129 var result = new Array(length); 130 131 for (var i = 0; i < length; i++) 132 { 133 result[i] = array[i]; 134 } 135 136 result[index] = value; 137 return result; 138}); 139 140var _JsArray_push = F2(function(value, array) 141{ 142 var length = array.length; 143 var result = new Array(length + 1); 144 145 for (var i = 0; i < length; i++) 146 { 147 result[i] = array[i]; 148 } 149 150 result[length] = value; 151 return result; 152}); 153 154var _JsArray_foldl = F3(function(func, acc, array) 155{ 156 var length = array.length; 157 158 for (var i = 0; i < length; i++) 159 { 160 acc = A2(func, array[i], acc); 161 } 162 163 return acc; 164}); 165 166var _JsArray_foldr = F3(function(func, acc, array) 167{ 168 for (var i = array.length - 1; i >= 0; i--) 169 { 170 acc = A2(func, array[i], acc); 171 } 172 173 return acc; 174}); 175 176var _JsArray_map = F2(function(func, array) 177{ 178 var length = array.length; 179 var result = new Array(length); 180 181 for (var i = 0; i < length; i++) 182 { 183 result[i] = func(array[i]); 184 } 185 186 return result; 187}); 188 189var _JsArray_indexedMap = F3(function(func, offset, array) 190{ 191 var length = array.length; 192 var result = new Array(length); 193 194 for (var i = 0; i < length; i++) 195 { 196 result[i] = A2(func, offset + i, array[i]); 197 } 198 199 return result; 200}); 201 202var _JsArray_slice = F3(function(from, to, array) 203{ 204 return array.slice(from, to); 205}); 206 207var _JsArray_appendN = F3(function(n, dest, source) 208{ 209 var destLen = dest.length; 210 var itemsToCopy = n - destLen; 211 212 if (itemsToCopy > source.length) 213 { 214 itemsToCopy = source.length; 215 } 216 217 var size = destLen + itemsToCopy; 218 var result = new Array(size); 219 220 for (var i = 0; i < destLen; i++) 221 { 222 result[i] = dest[i]; 223 } 224 225 for (var i = 0; i < itemsToCopy; i++) 226 { 227 result[i + destLen] = source[i]; 228 } 229 230 return result; 231}); 232 233 234 235// LOG 236 237var _Debug_log = F2(function(tag, value) 238{ 239 return value; 240}); 241 242var _Debug_log_UNUSED = F2(function(tag, value) 243{ 244 console.log(tag + ': ' + _Debug_toString(value)); 245 return value; 246}); 247 248 249// TODOS 250 251function _Debug_todo(moduleName, region) 252{ 253 return function(message) { 254 _Debug_crash(8, moduleName, region, message); 255 }; 256} 257 258function _Debug_todoCase(moduleName, region, value) 259{ 260 return function(message) { 261 _Debug_crash(9, moduleName, region, value, message); 262 }; 263} 264 265 266// TO STRING 267 268function _Debug_toString(value) 269{ 270 return '<internals>'; 271} 272 273function _Debug_toString_UNUSED(value) 274{ 275 return _Debug_toAnsiString(false, value); 276} 277 278function _Debug_toAnsiString(ansi, value) 279{ 280 if (typeof value === 'function') 281 { 282 return _Debug_internalColor(ansi, '<function>'); 283 } 284 285 if (typeof value === 'boolean') 286 { 287 return _Debug_ctorColor(ansi, value ? 'True' : 'False'); 288 } 289 290 if (typeof value === 'number') 291 { 292 return _Debug_numberColor(ansi, value + ''); 293 } 294 295 if (value instanceof String) 296 { 297 return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'"); 298 } 299 300 if (typeof value === 'string') 301 { 302 return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"'); 303 } 304 305 if (typeof value === 'object' && '$' in value) 306 { 307 var tag = value.$; 308 309 if (typeof tag === 'number') 310 { 311 return _Debug_internalColor(ansi, '<internals>'); 312 } 313 314 if (tag[0] === '#') 315 { 316 var output = []; 317 for (var k in value) 318 { 319 if (k === '$') continue; 320 output.push(_Debug_toAnsiString(ansi, value[k])); 321 } 322 return '(' + output.join(',') + ')'; 323 } 324 325 if (tag === 'Set_elm_builtin') 326 { 327 return _Debug_ctorColor(ansi, 'Set') 328 + _Debug_fadeColor(ansi, '.fromList') + ' ' 329 + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value)); 330 } 331 332 if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin') 333 { 334 return _Debug_ctorColor(ansi, 'Dict') 335 + _Debug_fadeColor(ansi, '.fromList') + ' ' 336 + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value)); 337 } 338 339 if (tag === 'Array_elm_builtin') 340 { 341 return _Debug_ctorColor(ansi, 'Array') 342 + _Debug_fadeColor(ansi, '.fromList') + ' ' 343 + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value)); 344 } 345 346 if (tag === '::' || tag === '[]') 347 { 348 var output = '['; 349 350 value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b) 351 352 for (; value.b; value = value.b) // WHILE_CONS 353 { 354 output += ',' + _Debug_toAnsiString(ansi, value.a); 355 } 356 return output + ']'; 357 } 358 359 var output = ''; 360 for (var i in value) 361 { 362 if (i === '$') continue; 363 var str = _Debug_toAnsiString(ansi, value[i]); 364 var c0 = str[0]; 365 var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; 366 output += ' ' + (parenless ? str : '(' + str + ')'); 367 } 368 return _Debug_ctorColor(ansi, tag) + output; 369 } 370 371 if (typeof DataView === 'function' && value instanceof DataView) 372 { 373 return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>'); 374 } 375 376 if (typeof File !== 'undefined' && value instanceof File) 377 { 378 return _Debug_internalColor(ansi, '<' + value.name + '>'); 379 } 380 381 if (typeof value === 'object') 382 { 383 var output = []; 384 for (var key in value) 385 { 386 var field = key[0] === '_' ? key.slice(1) : key; 387 output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key])); 388 } 389 if (output.length === 0) 390 { 391 return '{}'; 392 } 393 return '{ ' + output.join(', ') + ' }'; 394 } 395 396 return _Debug_internalColor(ansi, '<internals>'); 397} 398 399function _Debug_addSlashes(str, isChar) 400{ 401 var s = str 402 .replace(/\\/g, '\\\\') 403 .replace(/\n/g, '\\n') 404 .replace(/\t/g, '\\t') 405 .replace(/\r/g, '\\r') 406 .replace(/\v/g, '\\v') 407 .replace(/\0/g, '\\0'); 408 409 if (isChar) 410 { 411 return s.replace(/\'/g, '\\\''); 412 } 413 else 414 { 415 return s.replace(/\"/g, '\\"'); 416 } 417} 418 419function _Debug_ctorColor(ansi, string) 420{ 421 return ansi ? '\x1b[96m' + string + '\x1b[0m' : string; 422} 423 424function _Debug_numberColor(ansi, string) 425{ 426 return ansi ? '\x1b[95m' + string + '\x1b[0m' : string; 427} 428 429function _Debug_stringColor(ansi, string) 430{ 431 return ansi ? '\x1b[93m' + string + '\x1b[0m' : string; 432} 433 434function _Debug_charColor(ansi, string) 435{ 436 return ansi ? '\x1b[92m' + string + '\x1b[0m' : string; 437} 438 439function _Debug_fadeColor(ansi, string) 440{ 441 return ansi ? '\x1b[37m' + string + '\x1b[0m' : string; 442} 443 444function _Debug_internalColor(ansi, string) 445{ 446 return ansi ? '\x1b[36m' + string + '\x1b[0m' : string; 447} 448 449function _Debug_toHexDigit(n) 450{ 451 return String.fromCharCode(n < 10 ? 48 + n : 55 + n); 452} 453 454 455// CRASH 456 457 458function _Debug_crash(identifier) 459{ 460 throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md'); 461} 462 463 464function _Debug_crash_UNUSED(identifier, fact1, fact2, fact3, fact4) 465{ 466 switch(identifier) 467 { 468 case 0: 469 throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.'); 470 471 case 1: 472 throw new Error('Browser.application programs cannot handle URLs like this:\n\n ' + document.location.href + '\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.'); 473 474 case 2: 475 var jsonErrorString = fact1; 476 throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString); 477 478 case 3: 479 var portName = fact1; 480 throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.'); 481 482 case 4: 483 var portName = fact1; 484 var problem = fact2; 485 throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem); 486 487 case 5: 488 throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.'); 489 490 case 6: 491 var moduleName = fact1; 492 throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!'); 493 494 case 8: 495 var moduleName = fact1; 496 var region = fact2; 497 var message = fact3; 498 throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message); 499 500 case 9: 501 var moduleName = fact1; 502 var region = fact2; 503 var value = fact3; 504 var message = fact4; 505 throw new Error( 506 'TODO in module `' + moduleName + '` from the `case` expression ' 507 + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n ' 508 + _Debug_toString(value).replace('\n', '\n ') 509 + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ') 510 ); 511 512 case 10: 513 throw new Error('Bug in https://github.com/elm/virtual-dom/issues'); 514 515 case 11: 516 throw new Error('Cannot perform mod 0. Division by zero error.'); 517 } 518} 519 520function _Debug_regionToString(region) 521{ 522 if (region.i.be === region.g.be) 523 { 524 return 'on line ' + region.i.be; 525 } 526 return 'on lines ' + region.i.be + ' through ' + region.g.be; 527} 528 529 530 531// EQUALITY 532 533function _Utils_eq(x, y) 534{ 535 for ( 536 var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack); 537 isEqual && (pair = stack.pop()); 538 isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack) 539 ) 540 {} 541 542 return isEqual; 543} 544 545function _Utils_eqHelp(x, y, depth, stack) 546{ 547 if (x === y) 548 { 549 return true; 550 } 551 552 if (typeof x !== 'object' || x === null || y === null) 553 {
554 typeof x === 'function' && _Debug_crash(5); 555 return false; 556 } 557 558 if (depth > 100) 559 { 560 stack.push(_Utils_Tuple2(x,y)); 561 return true; 562 } 563 564 /**_UNUSED/ 565 if (x.$ === 'Set_elm_builtin') 566 { 567 x = $elm$core$Set$toList(x); 568 y = $elm$core$Set$toList(y); 569 } 570 if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin') 571 { 572 x = $elm$core$Dict$toList(x); 573 y = $elm$core$Dict$toList(y); 574 } 575 //*/ 576 577 /**/ 578 if (x.$ < 0) 579 { 580 x = $elm$core$Dict$toList(x); 581 y = $elm$core$Dict$toList(y); 582 } 583 //*/ 584 585 for (var key in x) 586 { 587 if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack)) 588 { 589 return false; 590 } 591 } 592 return true; 593} 594 595var _Utils_equal = F2(_Utils_eq); 596var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); }); 597 598 599 600// COMPARISONS 601 602// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on 603// the particular integer values assigned to LT, EQ, and GT. 604 605function _Utils_cmp(x, y, ord) 606{ 607 if (typeof x !== 'object') 608 { 609 return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1; 610 } 611 612 /**_UNUSED/ 613 if (x instanceof String) 614 { 615 var a = x.valueOf(); 616 var b = y.valueOf(); 617 return a === b ? 0 : a < b ? -1 : 1; 618 } 619 //*/ 620 621 /**/ 622 if (typeof x.$ === 'undefined') 623 //*/ 624 /**_UNUSED/ 625 if (x.$[0] === '#') 626 //*/ 627 { 628 return (ord = _Utils_cmp(x.a, y.a)) 629 ? ord 630 : (ord = _Utils_cmp(x.b, y.b)) 631 ? ord 632 : _Utils_cmp(x.c, y.c); 633 } 634 635 // traverse conses until end of a list or a mismatch 636 for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES 637 return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0); 638} 639 640var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; }); 641var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; }); 642var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; }); 643var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; }); 644 645var _Utils_compare = F2(function(x, y) 646{ 647 var n = _Utils_cmp(x, y); 648 return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ; 649}); 650 651 652// COMMON VALUES 653 654var _Utils_Tuple0 = 0; 655var _Utils_Tuple0_UNUSED = { $: '#0' }; 656 657function _Utils_Tuple2(a, b) { return { a: a, b: b }; } 658function _Utils_Tuple2_UNUSED(a, b) { return { $: '#2', a: a, b: b }; } 659 660function _Utils_Tuple3(a, b, c) { return { a: a, b: b, c: c }; } 661function _Utils_Tuple3_UNUSED(a, b, c) { return { $: '#3', a: a, b: b, c: c }; } 662 663function _Utils_chr(c) { return c; } 664function _Utils_chr_UNUSED(c) { return new String(c); } 665 666 667// RECORDS 668 669function _Utils_update(oldRecord, updatedFields) 670{ 671 var newRecord = {}; 672 673 for (var key in oldRecord) 674 { 675 newRecord[key] = oldRecord[key]; 676 } 677 678 for (var key in updatedFields) 679 { 680 newRecord[key] = updatedFields[key]; 681 } 682 683 return newRecord; 684} 685 686 687// APPEND 688 689var _Utils_append = F2(_Utils_ap); 690 691function _Utils_ap(xs, ys) 692{ 693 // append Strings 694 if (typeof xs === 'string') 695 { 696 return xs + ys; 697 } 698 699 // append Lists 700 if (!xs.b) 701 { 702 return ys; 703 } 704 var root = _List_Cons(xs.a, ys); 705 xs = xs.b 706 for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS 707 { 708 curr = curr.b = _List_Cons(xs.a, ys); 709 } 710 return root; 711} 712 713 714 715var _List_Nil = { $: 0 }; 716var _List_Nil_UNUSED = { $: '[]' }; 717 718function _List_Cons(hd, tl) { return { $: 1, a: hd, b: tl }; } 719function _List_Cons_UNUSED(hd, tl) { return { $: '::', a: hd, b: tl }; } 720 721 722var _List_cons = F2(_List_Cons); 723 724function _List_fromArray(arr) 725{ 726 var out = _List_Nil; 727 for (var i = arr.length; i--; ) 728 { 729 out = _List_Cons(arr[i], out); 730 } 731 return out; 732} 733 734function _List_toArray(xs) 735{ 736 for (var out = []; xs.b; xs = xs.b) // WHILE_CONS 737 { 738 out.push(xs.a); 739 } 740 return out; 741} 742 743var _List_map2 = F3(function(f, xs, ys) 744{ 745 for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES 746 { 747 arr.push(A2(f, xs.a, ys.a)); 748 } 749 return _List_fromArray(arr); 750}); 751 752var _List_map3 = F4(function(f, xs, ys, zs) 753{ 754 for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES 755 { 756 arr.push(A3(f, xs.a, ys.a, zs.a)); 757 } 758 return _List_fromArray(arr); 759}); 760 761var _List_map4 = F5(function(f, ws, xs, ys, zs) 762{ 763 for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES 764 { 765 arr.push(A4(f, ws.a, xs.a, ys.a, zs.a)); 766 } 767 return _List_fromArray(arr); 768}); 769 770var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) 771{ 772 for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES 773 { 774 arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a)); 775 } 776 return _List_fromArray(arr); 777}); 778 779var _List_sortBy = F2(function(f, xs) 780{ 781 return _List_fromArray(_List_toArray(xs).sort(function(a, b) { 782 return _Utils_cmp(f(a), f(b)); 783 })); 784}); 785 786var _List_sortWith = F2(function(f, xs) 787{ 788 return _List_fromArray(_List_toArray(xs).sort(function(a, b) { 789 var ord = A2(f, a, b); 790 return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1; 791 })); 792}); 793 794 795 796var _String_cons = F2(function(chr, str) 797{ 798 return chr + str; 799}); 800 801function _String_uncons(string) 802{ 803 var word = string.charCodeAt(0); 804 return !isNaN(word) 805 ? $elm$core$Maybe$Just(
806 0xD800 <= word && word <= 0xDBFF 807 ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2)) 808 : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1)) 809 ) 810 : $elm$core$Maybe$Nothing; 811} 812 813var _String_append = F2(function(a, b) 814{ 815 return a + b; 816}); 817 818function _String_length(str) 819{ 820 return str.length; 821} 822 823var _String_map = F2(function(func, string) 824{ 825 var len = string.length; 826 var array = new Array(len); 827 var i = 0; 828 while (i < len) 829 { 830 var word = string.charCodeAt(i); 831 if (0xD800 <= word && word <= 0xDBFF) 832 { 833 array[i] = func(_Utils_chr(string[i] + string[i+1])); 834 i += 2; 835 continue; 836 } 837 array[i] = func(_Utils_chr(string[i])); 838 i++; 839 } 840 return array.join(''); 841}); 842 843var _String_filter = F2(function(isGood, str) 844{ 845 var arr = []; 846 var len = str.length; 847 var i = 0; 848 while (i < len) 849 { 850 var char = str[i]; 851 var word = str.charCodeAt(i); 852 i++; 853 if (0xD800 <= word && word <= 0xDBFF) 854 { 855 char += str[i]; 856 i++; 857 } 858 859 if (isGood(_Utils_chr(char))) 860 { 861 arr.push(char); 862 } 863 } 864 return arr.join(''); 865}); 866 867function _String_reverse(str) 868{ 869 var len = str.length; 870 var arr = new Array(len); 871 var i = 0; 872 while (i < len) 873 { 874 var word = str.charCodeAt(i); 875 if (0xD800 <= word && word <= 0xDBFF) 876 { 877 arr[len - i] = str[i + 1]; 878 i++; 879 arr[len - i] = str[i - 1]; 880 i++; 881 } 882 else 883 { 884 arr[len - i] = str[i]; 885 i++; 886 } 887 } 888 return arr.join(''); 889} 890 891var _String_foldl = F3(function(func, state, string) 892{ 893 var len = string.length; 894 var i = 0; 895 while (i < len) 896 { 897 var char = string[i]; 898 var word = string.charCodeAt(i); 899 i++; 900 if (0xD800 <= word && word <= 0xDBFF) 901 { 902 char += string[i]; 903 i++; 904 } 905 state = A2(func, _Utils_chr(char), state); 906 } 907 return state; 908}); 909 910var _String_foldr = F3(function(func, state, string) 911{ 912 var i = string.length; 913 while (i--) 914 { 915 var char = string[i]; 916 var word = string.charCodeAt(i); 917 if (0xDC00 <= word && word <= 0xDFFF) 918 { 919 i--; 920 char = string[i] + char; 921 } 922 state = A2(func, _Utils_chr(char), state); 923 } 924 return state; 925}); 926 927var _String_split = F2(function(sep, str) 928{ 929 return str.split(sep); 930}); 931 932var _String_join = F2(function(sep, strs) 933{ 934 return strs.join(sep); 935}); 936 937var _String_slice = F3(function(start, end, str) { 938 return str.slice(start, end); 939}); 940 941function _String_trim(str) 942{ 943 return str.trim(); 944} 945 946function _String_trimLeft(str) 947{ 948 return str.replace(/^\s+/, ''); 949} 950 951function _String_trimRight(str) 952{ 953 return str.replace(/\s+$/, ''); 954} 955 956function _String_words(str) 957{ 958 return _List_fromArray(str.trim().split(/\s+/g)); 959} 960 961function _String_lines(str) 962{ 963 return _List_fromArray(str.split(/\r\n|\r|\n/g)); 964} 965 966function _String_toUpper(str) 967{ 968 return str.toUpperCase(); 969} 970 971function _String_toLower(str) 972{ 973 return str.toLowerCase(); 974} 975 976var _String_any = F2(function(isGood, string) 977{ 978 var i = string.length; 979 while (i--) 980 { 981 var char = string[i]; 982 var word = string.charCodeAt(i); 983 if (0xDC00 <= word && word <= 0xDFFF) 984 { 985 i--; 986 char = string[i] + char; 987 } 988 if (isGood(_Utils_chr(char))) 989 { 990 return true; 991 } 992 } 993 return false; 994}); 995 996var _String_all = F2(function(isGood, string) 997{ 998 var i = string.length; 999 while (i--) 1000 { 1001 var char = string[i]; 1002 var word = string.charCodeAt(i); 1003 if (0xDC00 <= word && word <= 0xDFFF) 1004 { 1005 i--; 1006 char = string[i] + char; 1007 } 1008 if (!isGood(_Utils_chr(char))) 1009 { 1010 return false; 1011 } 1012 } 1013 return true; 1014}); 1015 1016var _String_contains = F2(function(sub, str) 1017{ 1018 return str.indexOf(sub) > -1; 1019}); 1020 1021var _String_startsWith = F2(function(sub, str) 1022{ 1023 return str.indexOf(sub) === 0; 1024}); 1025 1026var _String_endsWith = F2(function(sub, str) 1027{ 1028 return str.length >= sub.length && 1029 str.lastIndexOf(sub) === str.length - sub.length; 1030}); 1031 1032var _String_indexes = F2(function(sub, str) 1033{ 1034 var subLen = sub.length; 1035 1036 if (subLen < 1) 1037 { 1038 return _List_Nil; 1039 } 1040 1041 var i = 0; 1042 var is = []; 1043 1044 while ((i = str.indexOf(sub, i)) > -1) 1045 { 1046 is.push(i); 1047 i = i + subLen; 1048 } 1049 1050 return _List_fromArray(is); 1051}); 1052 1053 1054// TO STRING 1055 1056function _String_fromNumber(number) 1057{ 1058 return number + ''; 1059} 1060 1061 1062// INT CONVERSIONS 1063 1064function _String_toInt(str) 1065{ 1066 var total = 0; 1067 var code0 = str.charCodeAt(0); 1068 var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0; 1069 1070 for (var i = start; i < str.length; ++i) 1071 { 1072 var code = str.charCodeAt(i); 1073 if (code < 0x30 || 0x39 < code) 1074 { 1075 return $elm$core$Maybe$Nothing; 1076 } 1077 total = 10 * total + code - 0x30; 1078 } 1079 1080 return i == start 1081 ? $elm$core$Maybe$Nothing 1082 : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total); 1083} 1084 1085 1086// FLOAT CONVERSIONS 1087
1088function _String_toFloat(s) 1089{ 1090 // check if it is a hex, octal, or binary number 1091 if (s.length === 0 || /[\sxbo]/.test(s)) 1092 { 1093 return $elm$core$Maybe$Nothing; 1094 } 1095 var n = +s; 1096 // faster isNaN check 1097 return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing; 1098} 1099 1100function _String_fromList(chars) 1101{ 1102 return _List_toArray(chars).join(''); 1103} 1104 1105 1106 1107 1108// MATH 1109 1110var _Basics_add = F2(function(a, b) { return a + b; }); 1111var _Basics_sub = F2(function(a, b) { return a - b; }); 1112var _Basics_mul = F2(function(a, b) { return a * b; }); 1113var _Basics_fdiv = F2(function(a, b) { return a / b; }); 1114var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; }); 1115var _Basics_pow = F2(Math.pow); 1116 1117var _Basics_remainderBy = F2(function(b, a) { return a % b; }); 1118 1119// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf 1120var _Basics_modBy = F2(function(modulus, x) 1121{ 1122 var answer = x % modulus; 1123 return modulus === 0 1124 ? _Debug_crash(11) 1125 : 1126 ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0)) 1127 ? answer + modulus 1128 : answer; 1129}); 1130 1131 1132// TRIGONOMETRY 1133 1134var _Basics_pi = Math.PI; 1135var _Basics_e = Math.E; 1136var _Basics_cos = Math.cos; 1137var _Basics_sin = Math.sin; 1138var _Basics_tan = Math.tan; 1139var _Basics_acos = Math.acos; 1140var _Basics_asin = Math.asin; 1141var _Basics_atan = Math.atan; 1142var _Basics_atan2 = F2(Math.atan2); 1143 1144 1145// MORE MATH 1146 1147function _Basics_toFloat(x) { return x; } 1148function _Basics_truncate(n) { return n | 0; } 1149function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; } 1150 1151var _Basics_ceiling = Math.ceil; 1152var _Basics_floor = Math.floor; 1153var _Basics_round = Math.round; 1154var _Basics_sqrt = Math.sqrt; 1155var _Basics_log = Math.log; 1156var _Basics_isNaN = isNaN; 1157 1158 1159// BOOLEANS 1160 1161function _Basics_not(bool) { return !bool; } 1162var _Basics_and = F2(function(a, b) { return a && b; }); 1163var _Basics_or = F2(function(a, b) { return a || b; }); 1164var _Basics_xor = F2(function(a, b) { return a !== b; }); 1165 1166 1167 1168function _Char_toCode(char) 1169{ 1170 var code = char.charCodeAt(0); 1171 if (0xD800 <= code && code <= 0xDBFF) 1172 { 1173 return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000 1174 } 1175 return code; 1176} 1177 1178function _Char_fromCode(code) 1179{ 1180 return _Utils_chr( 1181 (code < 0 || 0x10FFFF < code) 1182 ? '\uFFFD' 1183 : 1184 (code <= 0xFFFF) 1185 ? String.fromCharCode(code) 1186 : 1187 (code -= 0x10000, 1188 String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00) 1189 ) 1190 ); 1191} 1192 1193function _Char_toUpper(char) 1194{ 1195 return _Utils_chr(char.toUpperCase()); 1196} 1197 1198function _Char_toLower(char) 1199{ 1200 return _Utils_chr(char.toLowerCase()); 1201} 1202 1203function _Char_toLocaleUpper(char) 1204{ 1205 return _Utils_chr(char.toLocaleUpperCase()); 1206} 1207 1208function _Char_toLocaleLower(char) 1209{ 1210 return _Utils_chr(char.toLocaleLowerCase()); 1211} 1212 1213 1214 1215/**_UNUSED/ 1216function _Json_errorToString(error) 1217{ 1218 return $elm$json$Json$Decode$errorToString(error); 1219} 1220//*/ 1221 1222 1223// CORE DECODERS 1224 1225function _Json_succeed(msg) 1226{ 1227 return { 1228 $: 0, 1229 a: msg 1230 }; 1231} 1232 1233function _Json_fail(msg) 1234{ 1235 return { 1236 $: 1, 1237 a: msg 1238 }; 1239} 1240 1241function _Json_decodePrim(decoder) 1242{ 1243 return { $: 2, b: decoder }; 1244} 1245 1246var _Json_decodeInt = _Json_decodePrim(function(value) { 1247 return (typeof value !== 'number') 1248 ? _Json_expecting('an INT', value) 1249 : 1250 (-2147483647 < value && value < 2147483647 && (value | 0) === value) 1251 ? $elm$core$Result$Ok(value) 1252 : 1253 (isFinite(value) && !(value % 1)) 1254 ? $elm$core$Result$Ok(value) 1255 : _Json_expecting('an INT', value); 1256}); 1257 1258var _Json_decodeBool = _Json_decodePrim(function(value) { 1259 return (typeof value === 'boolean') 1260 ? $elm$core$Result$Ok(value) 1261 : _Json_expecting('a BOOL', value); 1262}); 1263 1264var _Json_decodeFloat = _Json_decodePrim(function(value) { 1265 return (typeof value === 'number') 1266 ? $elm$core$Result$Ok(value) 1267 : _Json_expecting('a FLOAT', value); 1268}); 1269 1270var _Json_decodeValue = _Json_decodePrim(function(value) { 1271 return $elm$core$Result$Ok(_Json_wrap(value)); 1272}); 1273 1274var _Json_decodeString = _Json_decodePrim(function(value) { 1275 return (typeof value === 'string') 1276 ? $elm$core$Result$Ok(value) 1277 : (value instanceof String) 1278 ? $elm$core$Result$Ok(value + '') 1279 : _Json_expecting('a STRING', value); 1280}); 1281 1282function _Json_decodeList(decoder) { return { $: 3, b: decoder }; } 1283function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; } 1284 1285function _Json_decodeNull(value) { return { $: 5, c: value }; } 1286 1287var _Json_decodeField = F2(function(field, decoder) 1288{ 1289 return { 1290 $: 6, 1291 d: field, 1292 b: decoder 1293 }; 1294}); 1295 1296var _Json_decodeIndex = F2(function(index, decoder) 1297{ 1298 return { 1299 $: 7, 1300 e: index, 1301 b: decoder 1302 }; 1303}); 1304 1305function _Json_decodeKeyValuePairs(decoder) 1306{ 1307 return { 1308 $: 8, 1309 b: decoder 1310 }; 1311} 1312 1313function _Json_mapMany(f, decoders) 1314{ 1315 return { 1316 $: 9, 1317 f: f, 1318 g: decoders 1319 }; 1320} 1321 1322var _Json_andThen = F2(function(callback, decoder) 1323{ 1324 return { 1325 $: 10, 1326 b: decoder, 1327 h: callback 1328 }; 1329}); 1330 1331function _Json_oneOf(decoders) 1332{ 1333 return { 1334 $: 11, 1335 g: decoders 1336 }; 1337} 1338 1339 1340// DECODING OBJECTS 1341 1342var _Json_map1 = F2(function(f, d1) 1343{ 1344 return _Json_mapMany(f, [d1]); 1345}); 1346 1347var _Json_map2 = F3(function(f, d1, d2) 1348{ 1349 return _Json_mapMany(f, [d1, d2]); 1350}); 1351 1352var _Json_map3 = F4(function(f, d1, d2, d3) 1353{ 1354 return _Json_mapMany(f, [d1, d2, d3]); 1355}); 1356 1357var _Json_map4 = F5(function(f, d1, d2, d3, d4) 1358{ 1359 return _Json_mapMany(f, [d1, d2, d3, d4]); 1360}); 1361 1362var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5) 1363{ 1364 return _Json_mapMany(f, [d1, d2, d3, d4, d5]); 1365}); 1366 1367var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6) 1368{ 1369 return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]); 1370}); 1371 1372var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7) 1373{ 1374 return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); 1375}); 1376 1377var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8) 1378{ 1379 return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); 1380}); 1381 1382 1383// DECODE 1384 1385var _Json_runOnString = F2(function(decoder, string) 1386{ 1387 try 1388 { 1389 var value = JSON.parse(string); 1390 return _Json_runHelp(decoder, value); 1391 } 1392 catch (e) 1393 { 1394 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not val
1394id JSON! ' + e.message, _Json_wrap(string))); 1395 } 1396}); 1397 1398var _Json_run = F2(function(decoder, value) 1399{ 1400 return _Json_runHelp(decoder, _Json_unwrap(value)); 1401}); 1402 1403function _Json_runHelp(decoder, value) 1404{ 1405 switch (decoder.$) 1406 { 1407 case 2: 1408 return decoder.b(value); 1409 1410 case 5: 1411 return (value === null) 1412 ? $elm$core$Result$Ok(decoder.c) 1413 : _Json_expecting('null', value); 1414 1415 case 3: 1416 if (!_Json_isArray(value)) 1417 { 1418 return _Json_expecting('a LIST', value); 1419 } 1420 return _Json_runArrayDecoder(decoder.b, value, _List_fromArray); 1421 1422 case 4: 1423 if (!_Json_isArray(value)) 1424 { 1425 return _Json_expecting('an ARRAY', value); 1426 } 1427 return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray); 1428 1429 case 6: 1430 var field = decoder.d; 1431 if (typeof value !== 'object' || value === null || !(field in value)) 1432 { 1433 return _Json_expecting('an OBJECT with a field named `' + field + '`', value); 1434 } 1435 var result = _Json_runHelp(decoder.b, value[field]); 1436 return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a)); 1437 1438 case 7: 1439 var index = decoder.e; 1440 if (!_Json_isArray(value)) 1441 { 1442 return _Json_expecting('an ARRAY', value); 1443 } 1444 if (index >= value.length) 1445 { 1446 return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value); 1447 } 1448 var result = _Json_runHelp(decoder.b, value[index]); 1449 return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a)); 1450 1451 case 8: 1452 if (typeof value !== 'object' || value === null || _Json_isArray(value)) 1453 { 1454 return _Json_expecting('an OBJECT', value); 1455 } 1456 1457 var keyValuePairs = _List_Nil; 1458 // TODO test perf of Object.keys and switch when support is good enough 1459 for (var key in value) 1460 { 1461 if (value.hasOwnProperty(key)) 1462 { 1463 var result = _Json_runHelp(decoder.b, value[key]); 1464 if (!$elm$core$Result$isOk(result)) 1465 { 1466 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a)); 1467 } 1468 keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs); 1469 } 1470 } 1471 return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs)); 1472 1473 case 9: 1474 var answer = decoder.f; 1475 var decoders = decoder.g; 1476 for (var i = 0; i < decoders.length; i++) 1477 { 1478 var result = _Json_runHelp(decoders[i], value); 1479 if (!$elm$core$Result$isOk(result)) 1480 { 1481 return result; 1482 } 1483 answer = answer(result.a); 1484 } 1485 return $elm$core$Result$Ok(answer); 1486 1487 case 10: 1488 var result = _Json_runHelp(decoder.b, value); 1489 return (!$elm$core$Result$isOk(result)) 1490 ? result 1491 : _Json_runHelp(decoder.h(result.a), value); 1492 1493 case 11: 1494 var errors = _List_Nil; 1495 for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS 1496 { 1497 var result = _Json_runHelp(temp.a, value); 1498 if ($elm$core$Result$isOk(result)) 1499 { 1500 return result; 1501 } 1502 errors = _List_Cons(result.a, errors); 1503 } 1504 return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors))); 1505 1506 case 1: 1507 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value))); 1508 1509 case 0: 1510 return $elm$core$Result$Ok(decoder.a); 1511 } 1512} 1513 1514function _Json_runArrayDecoder(decoder, value, toElmValue) 1515{ 1516 var len = value.length; 1517 var array = new Array(len); 1518 for (var i = 0; i < len; i++) 1519 { 1520 var result = _Json_runHelp(decoder, value[i]); 1521 if (!$elm$core$Result$isOk(result)) 1522 { 1523 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a)); 1524 } 1525 array[i] = result.a; 1526 } 1527 return $elm$core$Result$Ok(toElmValue(array)); 1528} 1529 1530function _Json_isArray(value) 1531{ 1532 return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList); 1533} 1534 1535function _Json_toElmArray(array) 1536{ 1537 return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; }); 1538} 1539 1540function _Json_expecting(type, value) 1541{ 1542 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value))); 1543} 1544 1545 1546// EQUALITY 1547 1548function _Json_equality(x, y) 1549{ 1550 if (x === y) 1551 { 1552 return true; 1553 } 1554 1555 if (x.$ !== y.$) 1556 { 1557 return false;
1558 } 1559 1560 switch (x.$) 1561 { 1562 case 0: 1563 case 1: 1564 return x.a === y.a; 1565 1566 case 2: 1567 return x.b === y.b; 1568 1569 case 5: 1570 return x.c === y.c; 1571 1572 case 3: 1573 case 4: 1574 case 8: 1575 return _Json_equality(x.b, y.b); 1576 1577 case 6: 1578 return x.d === y.d && _Json_equality(x.b, y.b); 1579 1580 case 7: 1581 return x.e === y.e && _Json_equality(x.b, y.b); 1582 1583 case 9: 1584 return x.f === y.f && _Json_listEquality(x.g, y.g); 1585 1586 case 10: 1587 return x.h === y.h && _Json_equality(x.b, y.b); 1588 1589 case 11: 1590 return _Json_listEquality(x.g, y.g); 1591 } 1592} 1593 1594function _Json_listEquality(aDecoders, bDecoders) 1595{ 1596 var len = aDecoders.length; 1597 if (len !== bDecoders.length) 1598 { 1599 return false; 1600 } 1601 for (var i = 0; i < len; i++) 1602 { 1603 if (!_Json_equality(aDecoders[i], bDecoders[i])) 1604 { 1605 return false; 1606 } 1607 } 1608 return true; 1609} 1610 1611 1612// ENCODE 1613 1614var _Json_encode = F2(function(indentLevel, value) 1615{ 1616 return JSON.stringify(_Json_unwrap(value), null, indentLevel) + ''; 1617}); 1618 1619function _Json_wrap_UNUSED(value) { return { $: 0, a: value }; } 1620function _Json_unwrap_UNUSED(value) { return value.a; } 1621 1622function _Json_wrap(value) { return value; } 1623function _Json_unwrap(value) { return value; } 1624 1625function _Json_emptyArray() { return []; } 1626function _Json_emptyObject() { return {}; } 1627 1628var _Json_addField = F3(function(key, value, object) 1629{ 1630 object[key] = _Json_unwrap(value); 1631 return object; 1632}); 1633 1634function _Json_addEntry(func) 1635{ 1636 return F2(function(entry, array) 1637 { 1638 array.push(_Json_unwrap(func(entry))); 1639 return array; 1640 }); 1641} 1642 1643var _Json_encodeNull = _Json_wrap(null); 1644 1645 1646 1647// TASKS 1648 1649function _Scheduler_succeed(value) 1650{ 1651 return { 1652 $: 0, 1653 a: value 1654 }; 1655} 1656 1657function _Scheduler_fail(error) 1658{ 1659 return { 1660 $: 1, 1661 a: error 1662 }; 1663} 1664 1665function _Scheduler_binding(callback) 1666{ 1667 return { 1668 $: 2, 1669 b: callback, 1670 c: null 1671 }; 1672} 1673 1674var _Scheduler_andThen = F2(function(callback, task) 1675{ 1676 return { 1677 $: 3, 1678 b: callback, 1679 d: task 1680 }; 1681}); 1682 1683var _Scheduler_onError = F2(function(callback, task) 1684{ 1685 return { 1686 $: 4, 1687 b: callback, 1688 d: task 1689 }; 1690}); 1691 1692function _Scheduler_receive(callback) 1693{ 1694 return { 1695 $: 5, 1696 b: callback 1697 }; 1698} 1699 1700 1701// PROCESSES 1702 1703var _Scheduler_guid = 0; 1704 1705function _Scheduler_rawSpawn(task) 1706{ 1707 var proc = { 1708 $: 0, 1709 e: _Scheduler_guid++, 1710 f: task, 1711 g: null, 1712 h: [] 1713 }; 1714 1715 _Scheduler_enqueue(proc); 1716 1717 return proc; 1718} 1719 1720function _Scheduler_spawn(task) 1721{ 1722 return _Scheduler_binding(function(callback) { 1723 callback(_Scheduler_succeed(_Scheduler_rawSpawn(task))); 1724 }); 1725} 1726 1727function _Scheduler_rawSend(proc, msg) 1728{ 1729 proc.h.push(msg); 1730 _Scheduler_enqueue(proc); 1731} 1732 1733var _Scheduler_send = F2(function(proc, msg) 1734{ 1735 return _Scheduler_binding(function(callback) { 1736 _Scheduler_rawSend(proc, msg); 1737 callback(_Scheduler_succeed(_Utils_Tuple0)); 1738 }); 1739}); 1740 1741function _Scheduler_kill(proc) 1742{ 1743 return _Scheduler_binding(function(callback) { 1744 var task = proc.f; 1745 if (task.$ === 2 && task.c) 1746 { 1747 task.c(); 1748 } 1749 1750 proc.f = null; 1751 1752 callback(_Scheduler_succeed(_Utils_Tuple0)); 1753 }); 1754} 1755 1756 1757/* STEP PROCESSES 1758 1759type alias Process = 1760 { $ : tag 1761 , id : unique_id 1762 , root : Task 1763 , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack } 1764 , mailbox : [msg] 1765 } 1766 1767*/ 1768 1769 1770var _Scheduler_working = false; 1771var _Scheduler_queue = []; 1772 1773 1774function _Scheduler_enqueue(proc) 1775{ 1776 _Scheduler_queue.push(proc); 1777 if (_Scheduler_working) 1778 { 1779 return; 1780 } 1781 _Scheduler_working = true; 1782 while (proc = _Scheduler_queue.shift()) 1783 { 1784 _Scheduler_step(proc); 1785 } 1786 _Scheduler_working = false; 1787} 1788 1789 1790function _Scheduler_step(proc) 1791{ 1792 while (proc.f) 1793 { 1794 var rootTag = proc.f.$; 1795 if (rootTag === 0 || rootTag === 1) 1796 { 1797 while (proc.g && proc.g.$ !== rootTag) 1798 { 1799 proc.g = proc.g.i; 1800 } 1801 if (!proc.g) 1802 { 1803 return; 1804 } 1805 proc.f = proc.g.b(proc.f.a); 1806 proc.g = proc.g.i; 1807 } 1808 else if (rootTag === 2) 1809 { 1810 proc.f.c = proc.f.b(function(newRoot) { 1811 proc.f = newRoot; 1812 _Scheduler_enqueue(proc); 1813 }); 1814 return; 1815 } 1816 else if (rootTag === 5) 1817 { 1818 if (proc.h.length === 0) 1819 { 1820 return; 1821 } 1822 proc.f = proc.f.b(proc.h.shift()); 1823 } 1824 else // if (rootTag === 3 || rootTag === 4) 1825 { 1826 proc.g = { 1827 $: rootTag === 3 ? 0 : 1, 1828 b: proc.f.b, 1829 i: proc.g 1830 }; 1831 proc.f = proc.f.d; 1832 } 1833 } 1834} 1835 1836 1837 1838function _Process_sleep(time) 1839{ 1840 return _Scheduler_binding(function(callback) { 1841 var id = setTimeout(function() {
1842 callback(_Scheduler_succeed(_Utils_Tuple0)); 1843 }, time); 1844 1845 return function() { clearTimeout(id); }; 1846 }); 1847} 1848 1849 1850 1851 1852// PROGRAMS 1853 1854 1855var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args) 1856{ 1857 return _Platform_initialize( 1858 flagDecoder, 1859 args, 1860 impl.di, 1861 impl.gx, 1862 impl.e_, 1863 function() { return function() {} } 1864 ); 1865}); 1866 1867 1868 1869// INITIALIZE A PROGRAM 1870 1871 1872function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder) 1873{ 1874 var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined)); 1875 $elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/); 1876 var managers = {}; 1877 var initPair = init(result.a); 1878 var model = initPair.a; 1879 var stepper = stepperBuilder(sendToApp, model); 1880 var ports = _Platform_setupEffects(managers, sendToApp); 1881 1882 function sendToApp(msg, viewMetadata) 1883 { 1884 var pair = A2(update, msg, model); 1885 stepper(model = pair.a, viewMetadata); 1886 _Platform_enqueueEffects(managers, pair.b, subscriptions(model)); 1887 } 1888 1889 _Platform_enqueueEffects(managers, initPair.b, subscriptions(model)); 1890 1891 return ports ? { ports: ports } : {}; 1892} 1893 1894 1895 1896// TRACK PRELOADS 1897// 1898// This is used by code in elm/browser and elm/http 1899// to register any HTTP requests that are triggered by init. 1900// 1901 1902 1903var _Platform_preload; 1904 1905 1906function _Platform_registerPreload(url) 1907{ 1908 _Platform_preload.add(url); 1909} 1910 1911 1912 1913// EFFECT MANAGERS 1914 1915 1916var _Platform_effectManagers = {}; 1917 1918 1919function _Platform_setupEffects(managers, sendToApp) 1920{ 1921 var ports; 1922 1923 // setup all necessary effect managers 1924 for (var key in _Platform_effectManagers) 1925 { 1926 var manager = _Platform_effectManagers[key]; 1927 1928 if (manager.a) 1929 { 1930 ports = ports || {}; 1931 ports[key] = manager.a(key, sendToApp); 1932 } 1933 1934 managers[key] = _Platform_instantiateManager(manager, sendToApp); 1935 } 1936 1937 return ports; 1938} 1939 1940 1941function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap) 1942{ 1943 return { 1944 b: init, 1945 c: onEffects, 1946 d: onSelfMsg, 1947 e: cmdMap, 1948 f: subMap 1949 }; 1950} 1951 1952 1953function _Platform_instantiateManager(info, sendToApp) 1954{ 1955 var router = { 1956 g: sendToApp, 1957 h: undefined 1958 }; 1959 1960 var onEffects = info.c; 1961 var onSelfMsg = info.d; 1962 var cmdMap = info.e; 1963 var subMap = info.f; 1964 1965 function loop(state) 1966 { 1967 return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg) 1968 { 1969 var value = msg.a; 1970 1971 if (msg.$ === 0) 1972 { 1973 return A3(onSelfMsg, router, value, state); 1974 } 1975 1976 return cmdMap && subMap 1977 ? A4(onEffects, router, value.i, value.j, state) 1978 : A3(onEffects, router, cmdMap ? value.i : value.j, state); 1979 })); 1980 } 1981 1982 return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b)); 1983} 1984 1985 1986 1987// ROUTING 1988 1989 1990var _Platform_sendToApp = F2(function(router, msg) 1991{ 1992 return _Scheduler_binding(function(callback) 1993 { 1994 router.g(msg); 1995 callback(_Scheduler_succeed(_Utils_Tuple0)); 1996 }); 1997}); 1998 1999 2000var _Platform_sendToSelf = F2(function(router, msg) 2001{ 2002 return A2(_Scheduler_send, router.h, { 2003 $: 0, 2004 a: msg 2005 }); 2006}); 2007 2008 2009 2010// BAGS 2011 2012 2013function _Platform_leaf(home) 2014{ 2015 return function(value) 2016 { 2017 return { 2018 $: 1, 2019 k: home, 2020 l: value 2021 }; 2022 }; 2023} 2024 2025 2026function _Platform_batch(list) 2027{ 2028 return { 2029 $: 2, 2030 m: list 2031 }; 2032} 2033 2034 2035var _Platform_map = F2(function(tagger, bag) 2036{ 2037 return { 2038 $: 3, 2039 n: tagger, 2040 o: bag 2041 } 2042}); 2043 2044 2045 2046// PIPE BAGS INTO EFFECT MANAGERS 2047// 2048// Effects must be queued! 2049// 2050// Say your init contains a synchronous command, like Time.now or Time.here 2051// 2052// - This will produce a batch of effects (FX_1) 2053// - The synchronous task triggers the subsequent `update` call 2054// - This will produce a batch of effects (FX_2) 2055// 2056// If we just start dispatching FX_2, subscriptions from FX_2 can be processed 2057// before subscriptions from FX_1. No good! Earlier versions of this code had 2058// this problem, leading to these reports: 2059// 2060// https://github.com/elm/core/issues/980 2061// https://github.com/elm/core/pull/981 2062// https://github.com/elm/compiler/issues/1776 2063// 2064// The queue is necessary to avoid ordering issues for synchronous commands. 2065 2066 2067// Why use true/false here? Why not just check the length of the queue? 2068// The goal is to detect "are we currently dispatching effects?" If we 2069// are, we need to bail and let the ongoing while loop handle things. 2070// 2071// Now say the queue has 1 element. When we dequeue the final element, 2072// the queue will be empty, but we are still actively dispatching effects. 2073// So you could get queue jumping in a really tricky category of cases. 2074// 2075var _Platform_effectsQueue = []; 2076var _Platform_effectsActive = false;
2077 2078 2079function _Platform_enqueueEffects(managers, cmdBag, subBag) 2080{ 2081 _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag }); 2082 2083 if (_Platform_effectsActive) return; 2084 2085 _Platform_effectsActive = true; 2086 for (var fx; fx = _Platform_effectsQueue.shift(); ) 2087 { 2088 _Platform_dispatchEffects(fx.p, fx.q, fx.r); 2089 } 2090 _Platform_effectsActive = false; 2091} 2092 2093 2094function _Platform_dispatchEffects(managers, cmdBag, subBag) 2095{ 2096 var effectsDict = {}; 2097 _Platform_gatherEffects(true, cmdBag, effectsDict, null); 2098 _Platform_gatherEffects(false, subBag, effectsDict, null); 2099 2100 for (var home in managers) 2101 { 2102 _Scheduler_rawSend(managers[home], { 2103 $: 'fx', 2104 a: effectsDict[home] || { i: _List_Nil, j: _List_Nil } 2105 }); 2106 } 2107} 2108 2109 2110function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers) 2111{ 2112 switch (bag.$) 2113 { 2114 case 1: 2115 var home = bag.k; 2116 var effect = _Platform_toEffect(isCmd, home, taggers, bag.l); 2117 effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]); 2118 return; 2119 2120 case 2: 2121 for (var list = bag.m; list.b; list = list.b) // WHILE_CONS 2122 { 2123 _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers); 2124 } 2125 return; 2126 2127 case 3: 2128 _Platform_gatherEffects(isCmd, bag.o, effectsDict, { 2129 s: bag.n, 2130 t: taggers 2131 }); 2132 return; 2133 } 2134} 2135 2136 2137function _Platform_toEffect(isCmd, home, taggers, value) 2138{ 2139 function applyTaggers(x) 2140 { 2141 for (var temp = taggers; temp; temp = temp.t) 2142 { 2143 x = temp.s(x); 2144 } 2145 return x; 2146 } 2147 2148 var map = isCmd 2149 ? _Platform_effectManagers[home].e 2150 : _Platform_effectManagers[home].f; 2151 2152 return A2(map, applyTaggers, value) 2153} 2154 2155 2156function _Platform_insert(isCmd, newEffect, effects) 2157{ 2158 effects = effects || { i: _List_Nil, j: _List_Nil }; 2159 2160 isCmd 2161 ? (effects.i = _List_Cons(newEffect, effects.i)) 2162 : (effects.j = _List_Cons(newEffect, effects.j)); 2163 2164 return effects; 2165} 2166 2167 2168 2169// PORTS 2170 2171 2172function _Platform_checkPortName(name) 2173{ 2174 if (_Platform_effectManagers[name]) 2175 { 2176 _Debug_crash(3, name) 2177 } 2178} 2179 2180 2181 2182// OUTGOING PORTS 2183 2184 2185function _Platform_outgoingPort(name, converter) 2186{ 2187 _Platform_checkPortName(name); 2188 _Platform_effectManagers[name] = { 2189 e: _Platform_outgoingPortMap, 2190 u: converter, 2191 a: _Platform_setupOutgoingPort 2192 }; 2193 return _Platform_leaf(name); 2194} 2195 2196 2197var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; }); 2198 2199 2200function _Platform_setupOutgoingPort(name) 2201{ 2202 var subs = []; 2203 var converter = _Platform_effectManagers[name].u; 2204 2205 // CREATE MANAGER 2206 2207 var init = _Process_sleep(0); 2208 2209 _Platform_effectManagers[name].b = init; 2210 _Platform_effectManagers[name].c = F3(function(router, cmdList, state) 2211 { 2212 for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS 2213 { 2214 // grab a separate reference to subs in case unsubscribe is called 2215 var currentSubs = subs; 2216 var value = _Json_unwrap(converter(cmdList.a)); 2217 for (var i = 0; i < currentSubs.length; i++) 2218 { 2219 currentSubs[i](value); 2220 } 2221 } 2222 return init; 2223 }); 2224 2225 // PUBLIC API 2226 2227 function subscribe(callback) 2228 { 2229 subs.push(callback); 2230 } 2231 2232 function unsubscribe(callback) 2233 { 2234 // copy subs into a new array in case unsubscribe is called within a 2235 // subscribed callback 2236 subs = subs.slice(); 2237 var index = subs.indexOf(callback); 2238 if (index >= 0) 2239 { 2240 subs.splice(index, 1); 2241 } 2242 } 2243 2244 return { 2245 subscribe: subscribe, 2246 unsubscribe: unsubscribe 2247 }; 2248} 2249 2250 2251 2252// INCOMING PORTS 2253 2254 2255function _Platform_incomingPort(name, converter) 2256{ 2257 _Platform_checkPortName(name); 2258 _Platform_effectManagers[name] = { 2259 f: _Platform_incomingPortMap, 2260 u: converter, 2261 a: _Platform_setupIncomingPort 2262 }; 2263 return _Platform_leaf(name); 2264} 2265 2266 2267var _Platform_incomingPortMap = F2(function(tagger, finalTagger) 2268{ 2269 return function(value) 2270 { 2271 return tagger(finalTagger(value)); 2272 }; 2273}); 2274 2275 2276function _Platform_setupIncomingPort(name, sendToApp) 2277{ 2278 var subs = _List_Nil; 2279 var converter = _Platform_effectManagers[name].u; 2280 2281 // CREATE MANAGER 2282 2283 var init = _Scheduler_succeed(null); 2284 2285 _Platform_effectManagers[name].b = init; 2286 _Platform_effectManagers[name].c = F3(function(router, subList, state) 2287 { 2288 subs = subList; 2289 return init; 2290 }); 2291 2292 // PUBLIC API 2293 2294 function send(incomingValue) 2295 { 2296 var result = A2(_Json_run, converter, _Json_wrap(incomingValue)); 2297 2298 $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a); 2299 2300 var value = result.a; 2301 for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS 2302 { 2303 sendToApp(temp.a(value)); 2304 } 2305 } 2306 2307 return { send: send }; 2308} 2309 2310 2311 2312// EXPORT ELM MODULES 2313//
2314// Have DEBUG and PROD versions so that we can (1) give nicer errors in 2315// debug mode and (2) not pay for the bits needed for that in prod mode. 2316// 2317 2318 2319function _Platform_export(exports) 2320{ 2321 scope['Elm'] 2322 ? _Platform_mergeExportsProd(scope['Elm'], exports) 2323 : scope['Elm'] = exports; 2324} 2325 2326 2327function _Platform_mergeExportsProd(obj, exports) 2328{ 2329 for (var name in exports) 2330 { 2331 (name in obj) 2332 ? (name == 'init') 2333 ? _Debug_crash(6) 2334 : _Platform_mergeExportsProd(obj[name], exports[name]) 2335 : (obj[name] = exports[name]); 2336 } 2337} 2338 2339 2340function _Platform_export_UNUSED(exports) 2341{ 2342 scope['Elm'] 2343 ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports) 2344 : scope['Elm'] = exports; 2345} 2346 2347 2348function _Platform_mergeExportsDebug(moduleName, obj, exports) 2349{ 2350 for (var name in exports) 2351 { 2352 (name in obj) 2353 ? (name == 'init') 2354 ? _Debug_crash(6, moduleName) 2355 : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name]) 2356 : (obj[name] = exports[name]); 2357 } 2358} 2359 2360 2361 2362 2363// HELPERS 2364 2365 2366var _VirtualDom_divertHrefToApp; 2367 2368var _VirtualDom_doc = typeof document !== 'undefined' ? document : {}; 2369 2370 2371function _VirtualDom_appendChild(parent, child) 2372{ 2373 parent.appendChild(child); 2374} 2375 2376var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args) 2377{ 2378 // NOTE: this function needs _Platform_export available to work 2379 2380 /**/ 2381 var node = args['node']; 2382 //*/ 2383 /**_UNUSED/ 2384 var node = args && args['node'] ? args['node'] : _Debug_crash(0); 2385 //*/ 2386 2387 node.parentNode.replaceChild( 2388 _VirtualDom_render(virtualNode, function() {}), 2389 node 2390 ); 2391 2392 return {}; 2393}); 2394 2395 2396 2397// TEXT 2398 2399 2400function _VirtualDom_text(string) 2401{ 2402 return { 2403 $: 0, 2404 a: string 2405 }; 2406} 2407 2408 2409 2410// NODE 2411 2412 2413var _VirtualDom_nodeNS = F2(function(namespace, tag) 2414{ 2415 return F2(function(factList, kidList) 2416 { 2417 for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS 2418 { 2419 var kid = kidList.a; 2420 descendantsCount += (kid.b || 0); 2421 kids.push(kid); 2422 } 2423 descendantsCount += kids.length; 2424 2425 return { 2426 $: 1, 2427 c: tag, 2428 d: _VirtualDom_organizeFacts(factList), 2429 e: kids, 2430 f: namespace, 2431 b: descendantsCount 2432 }; 2433 }); 2434}); 2435 2436 2437var _VirtualDom_node = _VirtualDom_nodeNS(undefined); 2438 2439 2440 2441// KEYED NODE 2442 2443 2444var _VirtualDom_keyedNodeNS = F2(function(namespace, tag) 2445{ 2446 return F2(function(factList, kidList) 2447 { 2448 for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS 2449 { 2450 var kid = kidList.a; 2451 descendantsCount += (kid.b.b || 0); 2452 kids.push(kid); 2453 } 2454 descendantsCount += kids.length; 2455 2456 return { 2457 $: 2, 2458 c: tag, 2459 d: _VirtualDom_organizeFacts(factList), 2460 e: kids, 2461 f: namespace, 2462 b: descendantsCount 2463 }; 2464 }); 2465}); 2466 2467 2468var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined); 2469 2470 2471 2472// CUSTOM 2473 2474 2475function _VirtualDom_custom(factList, model, render, diff) 2476{ 2477 return { 2478 $: 3, 2479 d: _VirtualDom_organizeFacts(factList), 2480 g: model, 2481 h: render, 2482 i: diff 2483 }; 2484} 2485 2486 2487 2488// MAP 2489 2490 2491var _VirtualDom_map = F2(function(tagger, node) 2492{ 2493 return { 2494 $: 4, 2495 j: tagger, 2496 k: node, 2497 b: 1 + (node.b || 0) 2498 }; 2499}); 2500 2501 2502 2503// LAZY 2504 2505 2506function _VirtualDom_thunk(refs, thunk) 2507{ 2508 return { 2509 $: 5, 2510 l: refs, 2511 m: thunk, 2512 k: undefined 2513 }; 2514} 2515 2516var _VirtualDom_lazy = F2(function(func, a) 2517{ 2518 return _VirtualDom_thunk([func, a], function() { 2519 return func(a); 2520 }); 2521}); 2522 2523var _VirtualDom_lazy2 = F3(function(func, a, b) 2524{ 2525 return _VirtualDom_thunk([func, a, b], function() { 2526 return A2(func, a, b); 2527 }); 2528}); 2529 2530var _VirtualDom_lazy3 = F4(function(func, a, b, c) 2531{ 2532 return _VirtualDom_thunk([func, a, b, c], function() { 2533 return A3(func, a, b, c); 2534 }); 2535}); 2536 2537var _VirtualDom_lazy4 = F5(function(func, a, b, c, d) 2538{ 2539 return _VirtualDom_thunk([func, a, b, c, d], function() { 2540 return A4(func, a, b, c, d); 2541 }); 2542}); 2543 2544var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e) 2545{ 2546 return _VirtualDom_thunk([func, a, b, c, d, e], function() { 2547 return A5(func, a, b, c, d, e); 2548 }); 2549}); 2550 2551var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f) 2552{ 2553 return _VirtualDom_thunk([func, a, b, c, d, e, f], function() { 2554 return A6(func, a, b, c, d, e, f); 2555 }); 2556}); 2557 2558var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g) 2559{ 2560 return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() { 2561 return A7(func, a, b, c, d, e, f, g); 2562 }); 2563}); 2564 2565var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h) 2566{ 2567 return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() { 2568 return A8(func, a, b, c, d, e, f, g, h); 2569 }); 2570}); 2571 2572 2573 2574// FACTS 2575 2576 2577var _VirtualDom_on = F2(function(key, handler) 2578{ 2579 return { 2580 $: 'a0', 2581 n: key, 2582 o: handler 2583 }; 2584}); 2585var _VirtualDom_style = F2(function(key, value) 2586{ 2587 return { 2588 $: 'a1', 2589 n: key, 2590 o: value 2591 }; 2592}); 2593var _VirtualDom_property = F2(function(key, value) 2594{ 2595 return { 2596 $: 'a2', 2597 n: key, 2598 o: value 2599 }; 2600}); 2601var _VirtualDom_attribute = F2(function(key, value) 2602{ 2603 return { 2604 $: 'a3', 2605 n: key, 2606 o: value 2607 }; 2608}); 2609var _VirtualDom_attributeNS = F3(function(namespace, key, value) 2610{ 2611 return { 2612 $: 'a4', 2613 n: key, 2614 o: { f: namespace, o: value } 2615 }; 2616}); 2617 2618 2619 2620// XSS ATTACK VECTOR CHECKS 2621// 2622// For some reason, tabs can appear in href protocols and it still works. 2623// So '\tjava\tSCRIPT:alert("!!!")' and 'javascript:alert("!!!")' are the same
2624// in practice. That is why _VirtualDom_RE_js and _VirtualDom_RE_js_html look 2625// so freaky. 2626// 2627// Pulling the regular expressions out to the top level gives a slight speed 2628// boost in small benchmarks (4-10%) but hoisting values to reduce allocation 2629// can be unpredictable in large programs where JIT may have a harder time with 2630// functions are not fully self-contained. The benefit is more that the js and 2631// js_html ones are so weird that I prefer to see them near each other. 2632 2633 2634var _VirtualDom_RE_script = /^script$/i; 2635var _VirtualDom_RE_on_formAction = /^(on|formAction$)/i; 2636var _VirtualDom_RE_js = /^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i; 2637var _VirtualDom_RE_js_html = /^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i; 2638 2639 2640function _VirtualDom_noScript(tag) 2641{ 2642 return _VirtualDom_RE_script.test(tag) ? 'p' : tag; 2643} 2644 2645function _VirtualDom_noOnOrFormAction(key) 2646{ 2647 return _VirtualDom_RE_on_formAction.test(key) ? 'data-' + key : key; 2648} 2649 2650function _VirtualDom_noInnerHtmlOrFormAction(key) 2651{ 2652 return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key; 2653} 2654 2655function _VirtualDom_noJavaScriptUri(value) 2656{ 2657 return _VirtualDom_RE_js.test(value) 2658 ? /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ 2659 : value; 2660} 2661 2662function _VirtualDom_noJavaScriptOrHtmlUri(value) 2663{ 2664 return _VirtualDom_RE_js_html.test(value) 2665 ? /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ 2666 : value; 2667} 2668 2669function _VirtualDom_noJavaScriptOrHtmlJson(value) 2670{ 2671 return (typeof _Json_unwrap(value) === 'string' && _VirtualDom_RE_js_html.test(_Json_unwrap(value))) 2672 ? _Json_wrap( 2673 /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ 2674 ) : value; 2675} 2676 2677 2678 2679// MAP FACTS 2680 2681 2682var _VirtualDom_mapAttribute = F2(function(func, attr) 2683{ 2684 return (attr.$ === 'a0') 2685 ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o)) 2686 : attr; 2687}); 2688 2689function _VirtualDom_mapHandler(func, handler) 2690{ 2691 var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); 2692 2693 // 0 = Normal 2694 // 1 = MayStopPropagation 2695 // 2 = MayPreventDefault 2696 // 3 = Custom 2697 2698 return { 2699 $: handler.$, 2700 a: 2701 !tag 2702 ? A2($elm$json$Json$Decode$map, func, handler.a) 2703 : 2704 A3($elm$json$Json$Decode$map2, 2705 tag < 3 2706 ? _VirtualDom_mapEventTuple 2707 : _VirtualDom_mapEventRecord, 2708 $elm$json$Json$Decode$succeed(func), 2709 handler.a 2710 ) 2711 }; 2712} 2713 2714var _VirtualDom_mapEventTuple = F2(function(func, tuple) 2715{ 2716 return _Utils_Tuple2(func(tuple.a), tuple.b); 2717}); 2718 2719var _VirtualDom_mapEventRecord = F2(function(func, record) 2720{ 2721 return { 2722 ae: func(record.ae), 2723 dF: record.dF, 2724 dy: record.dy 2725 } 2726}); 2727 2728 2729 2730// ORGANIZE FACTS 2731 2732 2733function _VirtualDom_organizeFacts(factList) 2734{ 2735 for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS 2736 { 2737 var entry = factList.a; 2738 2739 var tag = entry.$; 2740 var key = entry.n; 2741 var value = entry.o; 2742 2743 if (tag === 'a2') 2744 { 2745 (key === 'className') 2746 ? _VirtualDom_addClass(facts, key, _Json_unwrap(value)) 2747 : facts[key] = _Json_unwrap(value); 2748 2749 continue; 2750 } 2751 2752 var subFacts = facts[tag] || (facts[tag] = {}); 2753 (tag === 'a3' && key === 'class') 2754 ? _VirtualDom_addClass(subFacts, key, value) 2755 : subFacts[key] = value; 2756 } 2757 2758 return facts; 2759} 2760 2761function _VirtualDom_addClass(object, key, newClass) 2762{ 2763 var classes = object[key]; 2764 object[key] = classes ? classes + ' ' + newClass : newClass; 2765} 2766 2767 2768 2769// RENDER 2770 2771 2772function _VirtualDom_render(vNode, eventNode) 2773{ 2774 var tag = vNode.$; 2775 2776 if (tag === 5) 2777 { 2778 return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode); 2779 } 2780 2781 if (tag === 0) 2782 { 2783 return _VirtualDom_doc.createTextNode(vNode.a); 2784 } 2785 2786 if (tag === 4) 2787 { 2788 var subNode = vNode.k; 2789 var tagger = vNode.j; 2790 2791 while (subNode.$ === 4) 2792 { 2793 typeof tagger !== 'object' 2794 ? tagger = [tagger, subNode.j] 2795 : tagger.push(subNode.j); 2796 2797 subNode = subNode.k; 2798 } 2799 2800 var subEventRoot = { j: tagger, p: eventNode };
2801 var domNode = _VirtualDom_render(subNode, subEventRoot); 2802 domNode.elm_event_node_ref = subEventRoot; 2803 return domNode; 2804 } 2805 2806 if (tag === 3) 2807 { 2808 var domNode = vNode.h(vNode.g); 2809 _VirtualDom_applyFacts(domNode, eventNode, vNode.d); 2810 return domNode; 2811 } 2812 2813 // at this point `tag` must be 1 or 2 2814 2815 var domNode = vNode.f 2816 ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c) 2817 : _VirtualDom_doc.createElement(vNode.c); 2818 2819 if (_VirtualDom_divertHrefToApp && vNode.c == 'a') 2820 { 2821 domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode)); 2822 } 2823 2824 _VirtualDom_applyFacts(domNode, eventNode, vNode.d); 2825 2826 for (var kids = vNode.e, i = 0; i < kids.length; i++) 2827 { 2828 _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode)); 2829 } 2830 2831 return domNode; 2832} 2833 2834 2835 2836// APPLY FACTS 2837 2838 2839function _VirtualDom_applyFacts(domNode, eventNode, facts) 2840{ 2841 for (var key in facts) 2842 { 2843 var value = facts[key]; 2844 2845 key === 'a1' 2846 ? _VirtualDom_applyStyles(domNode, value) 2847 : 2848 key === 'a0' 2849 ? _VirtualDom_applyEvents(domNode, eventNode, value) 2850 : 2851 key === 'a3' 2852 ? _VirtualDom_applyAttrs(domNode, value) 2853 : 2854 key === 'a4' 2855 ? _VirtualDom_applyAttrsNS(domNode, value) 2856 : 2857 ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value); 2858 } 2859} 2860 2861 2862 2863// APPLY STYLES 2864 2865 2866function _VirtualDom_applyStyles(domNode, styles) 2867{ 2868 var domNodeStyle = domNode.style; 2869 2870 for (var key in styles) 2871 { 2872 domNodeStyle[key] = styles[key]; 2873 } 2874} 2875 2876 2877 2878// APPLY ATTRS 2879 2880 2881function _VirtualDom_applyAttrs(domNode, attrs) 2882{ 2883 for (var key in attrs) 2884 { 2885 var value = attrs[key]; 2886 typeof value !== 'undefined' 2887 ? domNode.setAttribute(key, value) 2888 : domNode.removeAttribute(key); 2889 } 2890} 2891 2892 2893 2894// APPLY NAMESPACED ATTRS 2895 2896 2897function _VirtualDom_applyAttrsNS(domNode, nsAttrs) 2898{ 2899 for (var key in nsAttrs) 2900 { 2901 var pair = nsAttrs[key]; 2902 var namespace = pair.f; 2903 var value = pair.o; 2904 2905 typeof value !== 'undefined' 2906 ? domNode.setAttributeNS(namespace, key, value) 2907 : domNode.removeAttributeNS(namespace, key); 2908 } 2909} 2910 2911 2912 2913// APPLY EVENTS 2914 2915 2916function _VirtualDom_applyEvents(domNode, eventNode, events) 2917{ 2918 var allCallbacks = domNode.elmFs || (domNode.elmFs = {}); 2919 2920 for (var key in events) 2921 { 2922 var newHandler = events[key]; 2923 var oldCallback = allCallbacks[key]; 2924 2925 if (!newHandler) 2926 { 2927 domNode.removeEventListener(key, oldCallback); 2928 allCallbacks[key] = undefined; 2929 continue; 2930 } 2931 2932 if (oldCallback) 2933 { 2934 var oldHandler = oldCallback.q; 2935 if (oldHandler.$ === newHandler.$) 2936 { 2937 oldCallback.q = newHandler; 2938 continue; 2939 } 2940 domNode.removeEventListener(key, oldCallback); 2941 } 2942 2943 oldCallback = _VirtualDom_makeCallback(eventNode, newHandler); 2944 domNode.addEventListener(key, oldCallback, 2945 _VirtualDom_passiveSupported 2946 && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 } 2947 ); 2948 allCallbacks[key] = oldCallback; 2949 } 2950} 2951 2952 2953 2954// PASSIVE EVENTS 2955 2956 2957var _VirtualDom_passiveSupported; 2958 2959try 2960{ 2961 window.addEventListener('t', null, Object.defineProperty({}, 'passive', { 2962 get: function() { _VirtualDom_passiveSupported = true; } 2963 })); 2964} 2965catch(e) {} 2966 2967 2968 2969// EVENT HANDLERS 2970 2971 2972function _VirtualDom_makeCallback(eventNode, initialHandler) 2973{ 2974 function callback(event) 2975 { 2976 var handler = callback.q; 2977 var result = _Json_runHelp(handler.a, event); 2978 2979 if (!$elm$core$Result$isOk(result)) 2980 { 2981 return; 2982 } 2983 2984 var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); 2985 2986 // 0 = Normal 2987 // 1 = MayStopPropagation 2988 // 2 = MayPreventDefault 2989 // 3 = Custom 2990 2991 var value = result.a; 2992 var message = !tag ? value : tag < 3 ? value.a : value.ae; 2993 var stopPropagation = tag == 1 ? value.b : tag == 3 && value.dF; 2994 var currentEventNode = ( 2995 stopPropagation && event.stopPropagation(), 2996 (tag == 2 ? value.b : tag == 3 && value.dy) && event.preventDefault(), 2997 eventNode 2998 ); 2999 var tagger; 3000 var i; 3001 while (tagger = currentEventNode.j) 3002 { 3003 if (typeof tagger == 'function') 3004 { 3005 message = tagger(message); 3006 } 3007 else 3008 { 3009 for (var i = tagger.length; i--; ) 3010 { 3011 message = tagger[i](message); 3012 } 3013 } 3014 currentEventNode = currentEventNode.p; 3015 } 3016 currentEventNode(message, stopPropagation); // stopPropagation implies isSync 3017 } 3018 3019 callback.q = initialHandler; 3020 3021 return callback; 3022} 3023 3024function _VirtualDom_equalEvents(x, y) 3025{ 3026 return x.$ == y.$ && _Json_equality(x.a, y.a); 3027} 3028 3029 3030 3031// DIFF 3032 3033 3034// TODO: Should we do patches like in iOS? 3035// 3036// type Patch 3037// = At Int Patch 3038// | Batch (List Patch) 3039// | Change ... 3040// 3041// How could it not be better? 3042// 3043function _VirtualDom_diff(x, y) 3044{ 3045 var patches = []; 3046 _VirtualDom_diffHelp(x, y, patches, 0); 3047 return patches; 3048} 3049 3050
3051function _VirtualDom_pushPatch(patches, type, index, data) 3052{ 3053 var patch = { 3054 $: type, 3055 r: index, 3056 s: data, 3057 t: undefined, 3058 u: undefined 3059 }; 3060 patches.push(patch); 3061 return patch; 3062} 3063 3064 3065function _VirtualDom_diffHelp(x, y, patches, index) 3066{ 3067 if (x === y) 3068 { 3069 return; 3070 } 3071 3072 var xType = x.$; 3073 var yType = y.$; 3074 3075 // Bail if you run into different types of nodes. Implies that the 3076 // structure has changed significantly and it's not worth a diff. 3077 if (xType !== yType) 3078 { 3079 if (xType === 1 && yType === 2) 3080 { 3081 y = _VirtualDom_dekey(y); 3082 yType = 1; 3083 } 3084 else 3085 { 3086 _VirtualDom_pushPatch(patches, 0, index, y); 3087 return; 3088 } 3089 } 3090 3091 // Now we know that both nodes are the same $. 3092 switch (yType) 3093 { 3094 case 5: 3095 var xRefs = x.l; 3096 var yRefs = y.l; 3097 var i = xRefs.length; 3098 var same = i === yRefs.length; 3099 while (same && i--) 3100 { 3101 same = xRefs[i] === yRefs[i]; 3102 } 3103 if (same) 3104 { 3105 y.k = x.k; 3106 return; 3107 } 3108 y.k = y.m(); 3109 var subPatches = []; 3110 _VirtualDom_diffHelp(x.k, y.k, subPatches, 0); 3111 subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches); 3112 return; 3113 3114 case 4: 3115 // gather nested taggers 3116 var xTaggers = x.j; 3117 var yTaggers = y.j; 3118 var nesting = false; 3119 3120 var xSubNode = x.k; 3121 while (xSubNode.$ === 4) 3122 { 3123 nesting = true; 3124 3125 typeof xTaggers !== 'object' 3126 ? xTaggers = [xTaggers, xSubNode.j] 3127 : xTaggers.push(xSubNode.j); 3128 3129 xSubNode = xSubNode.k; 3130 } 3131 3132 var ySubNode = y.k; 3133 while (ySubNode.$ === 4) 3134 { 3135 nesting = true; 3136 3137 typeof yTaggers !== 'object' 3138 ? yTaggers = [yTaggers, ySubNode.j] 3139 : yTaggers.push(ySubNode.j); 3140 3141 ySubNode = ySubNode.k; 3142 } 3143 3144 // Just bail if different numbers of taggers. This implies the 3145 // structure of the virtual DOM has changed. 3146 if (nesting && xTaggers.length !== yTaggers.length) 3147 { 3148 _VirtualDom_pushPatch(patches, 0, index, y); 3149 return; 3150 } 3151 3152 // check if taggers are "the same" 3153 if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers) 3154 { 3155 _VirtualDom_pushPatch(patches, 2, index, yTaggers); 3156 } 3157 3158 // diff everything below the taggers 3159 _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1); 3160 return; 3161 3162 case 0: 3163 if (x.a !== y.a) 3164 { 3165 _VirtualDom_pushPatch(patches, 3, index, y.a); 3166 } 3167 return; 3168 3169 case 1: 3170 _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids); 3171 return; 3172 3173 case 2: 3174 _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids); 3175 return; 3176 3177 case 3: 3178 if (x.h !== y.h) 3179 { 3180 _VirtualDom_pushPatch(patches, 0, index, y); 3181 return; 3182 } 3183 3184 var factsDiff = _VirtualDom_diffFacts(x.d, y.d); 3185 factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); 3186 3187 var patch = y.i(x.g, y.g); 3188 patch && _VirtualDom_pushPatch(patches, 5, index, patch); 3189 3190 return; 3191 } 3192} 3193 3194// assumes the incoming arrays are the same length 3195function _VirtualDom_pairwiseRefEqual(as, bs) 3196{ 3197 for (var i = 0; i < as.length; i++) 3198 { 3199 if (as[i] !== bs[i]) 3200 { 3201 return false; 3202 } 3203 } 3204 3205 return true; 3206} 3207 3208function _VirtualDom_diffNodes(x, y, patches, index, diffKids) 3209{ 3210 // Bail if obvious indicators have changed. Implies more serious 3211 // structural changes such that it's not worth it to diff. 3212 if (x.c !== y.c || x.f !== y.f) 3213 { 3214 _VirtualDom_pushPatch(patches, 0, index, y); 3215 return; 3216 } 3217 3218 var factsDiff = _VirtualDom_diffFacts(x.d, y.d); 3219 factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); 3220 3221 diffKids(x, y, patches, index); 3222} 3223 3224 3225 3226// DIFF FACTS 3227 3228 3229// TODO Instead of creating a new diff object, it's possible to just test if 3230// there *is* a diff. During the actual patch, do the diff again and make the 3231// modifications directly. This way, there's no new allocations. Worth it? 3232function _VirtualDom_diffFacts(x, y, category) 3233{ 3234 var diff; 3235 3236 // look for changes and removals 3237 for (var xKey in x) 3238 { 3239 if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4') 3240 { 3241 var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey); 3242 if (subDiff) 3243 { 3244 diff = diff || {}; 3245 diff[xKey] = subDiff; 3246 } 3247 continue; 3248 } 3249 3250 // remove if not in the new facts 3251 if (!(xKey in y)) 3252 { 3253 diff = diff || {}; 3254 diff[xKey] = 3255 !category 3256 ? (typeof x[xKey] === 'string' ? '' : null) 3257 : 3258 (category === 'a1') 3259 ? '' 3260 : 3261 (category === 'a0' || category === 'a3') 3262 ? undefined 3263 : 3264 { f: x[xKey].f, o: undefined }; 3265 3266 continue; 3267 } 3268 3269 var xValue = x[xKey]; 3270 var yValue = y[xKey]; 3271 3272 // reference equal, so don't worry about it 3273 if (xValue === yValue && xKey !== 'value' && xKey !== 'checked' 3274 || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue)) 3275 {
3276 continue; 3277 } 3278 3279 diff = diff || {}; 3280 diff[xKey] = yValue; 3281 } 3282 3283 // add new stuff 3284 for (var yKey in y) 3285 { 3286 if (!(yKey in x)) 3287 { 3288 diff = diff || {}; 3289 diff[yKey] = y[yKey]; 3290 } 3291 } 3292 3293 return diff; 3294} 3295 3296 3297 3298// DIFF KIDS 3299 3300 3301function _VirtualDom_diffKids(xParent, yParent, patches, index) 3302{ 3303 var xKids = xParent.e; 3304 var yKids = yParent.e; 3305 3306 var xLen = xKids.length; 3307 var yLen = yKids.length; 3308 3309 // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS 3310 3311 if (xLen > yLen) 3312 { 3313 _VirtualDom_pushPatch(patches, 6, index, { 3314 v: yLen, 3315 i: xLen - yLen 3316 }); 3317 } 3318 else if (xLen < yLen) 3319 { 3320 _VirtualDom_pushPatch(patches, 7, index, { 3321 v: xLen, 3322 e: yKids 3323 }); 3324 } 3325 3326 // PAIRWISE DIFF EVERYTHING ELSE 3327 3328 for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++) 3329 { 3330 var xKid = xKids[i]; 3331 _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index); 3332 index += xKid.b || 0; 3333 } 3334} 3335 3336 3337 3338// KEYED DIFF 3339 3340 3341function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex) 3342{ 3343 var localPatches = []; 3344 3345 var changes = {}; // Dict String Entry 3346 var inserts = []; // Array { index : Int, entry : Entry } 3347 // type Entry = { tag : String, vnode : VNode, index : Int, data : _ } 3348 3349 var xKids = xParent.e; 3350 var yKids = yParent.e; 3351 var xLen = xKids.length; 3352 var yLen = yKids.length; 3353 var xIndex = 0; 3354 var yIndex = 0; 3355 3356 var index = rootIndex; 3357 3358 while (xIndex < xLen && yIndex < yLen) 3359 { 3360 var x = xKids[xIndex]; 3361 var y = yKids[yIndex]; 3362 3363 var xKey = x.a; 3364 var yKey = y.a; 3365 var xNode = x.b; 3366 var yNode = y.b; 3367 3368 var newMatch = undefined; 3369 var oldMatch = undefined; 3370 3371 // check if keys match 3372 3373 if (xKey === yKey) 3374 { 3375 index++; 3376 _VirtualDom_diffHelp(xNode, yNode, localPatches, index); 3377 index += xNode.b || 0; 3378 3379 xIndex++; 3380 yIndex++; 3381 continue; 3382 } 3383 3384 // look ahead 1 to detect insertions and removals. 3385 3386 var xNext = xKids[xIndex + 1]; 3387 var yNext = yKids[yIndex + 1]; 3388 3389 if (xNext) 3390 { 3391 var xNextKey = xNext.a; 3392 var xNextNode = xNext.b; 3393 oldMatch = yKey === xNextKey; 3394 } 3395 3396 if (yNext) 3397 { 3398 var yNextKey = yNext.a; 3399 var yNextNode = yNext.b; 3400 newMatch = xKey === yNextKey; 3401 } 3402 3403 3404 // swap x and y 3405 if (newMatch && oldMatch) 3406 { 3407 index++; 3408 _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); 3409 _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts); 3410 index += xNode.b || 0; 3411 3412 index++; 3413 _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index); 3414 index += xNextNode.b || 0; 3415 3416 xIndex += 2; 3417 yIndex += 2; 3418 continue; 3419 } 3420 3421 // insert y 3422 if (newMatch) 3423 { 3424 index++; 3425 _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); 3426 _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); 3427 index += xNode.b || 0; 3428 3429 xIndex += 1; 3430 yIndex += 2; 3431 continue; 3432 } 3433 3434 // remove x 3435 if (oldMatch) 3436 { 3437 index++; 3438 _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); 3439 index += xNode.b || 0; 3440 3441 index++; 3442 _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index); 3443 index += xNextNode.b || 0; 3444 3445 xIndex += 2; 3446 yIndex += 1; 3447 continue; 3448 } 3449 3450 // remove x, insert y 3451 if (xNext && xNextKey === yNextKey) 3452 { 3453 index++; 3454 _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); 3455 _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); 3456 index += xNode.b || 0; 3457 3458 index++; 3459 _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index); 3460 index += xNextNode.b || 0; 3461 3462 xIndex += 2; 3463 yIndex += 2; 3464 continue; 3465 } 3466 3467 break; 3468 } 3469 3470 // eat up any remaining nodes with removeNode and insertNode 3471 3472 while (xIndex < xLen) 3473 { 3474 index++; 3475 var x = xKids[xIndex]; 3476 var xNode = x.b; 3477 _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index); 3478 index += xNode.b || 0; 3479 xIndex++; 3480 } 3481 3482 while (yIndex < yLen) 3483 { 3484 var endInserts = endInserts || []; 3485 var y = yKids[yIndex]; 3486 _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts); 3487 yIndex++; 3488 } 3489 3490 if (localPatches.length > 0 || inserts.length > 0 || endInserts) 3491 { 3492 _VirtualDom_pushPatch(patches, 8, rootIndex, { 3493 w: localPatches, 3494 x: inserts, 3495 y: endInserts 3496 }); 3497 } 3498} 3499 3500 3501 3502// CHANGES FROM KEYED DIFF 3503 3504 3505var _VirtualDom_POSTFIX = '_elmW6BL'; 3506 3507 3508function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts) 3509{ 3510 var entry = changes[key]; 3511 3512 // never seen this key before
3513 if (!entry) 3514 { 3515 entry = { 3516 c: 0, 3517 z: vnode, 3518 r: yIndex, 3519 s: undefined 3520 }; 3521 3522 inserts.push({ r: yIndex, A: entry }); 3523 changes[key] = entry; 3524 3525 return; 3526 } 3527 3528 // this key was removed earlier, a match! 3529 if (entry.c === 1) 3530 { 3531 inserts.push({ r: yIndex, A: entry }); 3532 3533 entry.c = 2; 3534 var subPatches = []; 3535 _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r); 3536 entry.r = yIndex; 3537 entry.s.s = { 3538 w: subPatches, 3539 A: entry 3540 }; 3541 3542 return; 3543 } 3544 3545 // this key has already been inserted or moved, a duplicate! 3546 _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts); 3547} 3548 3549 3550function _VirtualDom_removeNode(changes, localPatches, key, vnode, index) 3551{ 3552 var entry = changes[key]; 3553 3554 // never seen this key before 3555 if (!entry) 3556 { 3557 var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined); 3558 3559 changes[key] = { 3560 c: 1, 3561 z: vnode, 3562 r: index, 3563 s: patch 3564 }; 3565 3566 return; 3567 } 3568 3569 // this key was inserted earlier, a match! 3570 if (entry.c === 0) 3571 { 3572 entry.c = 2; 3573 var subPatches = []; 3574 _VirtualDom_diffHelp(vnode, entry.z, subPatches, index); 3575 3576 _VirtualDom_pushPatch(localPatches, 9, index, { 3577 w: subPatches, 3578 A: entry 3579 }); 3580 3581 return; 3582 } 3583 3584 // this key has already been removed or moved, a duplicate! 3585 _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index); 3586} 3587 3588 3589 3590// ADD DOM NODES 3591// 3592// Each DOM node has an "index" assigned in order of traversal. It is important 3593// to minimize our crawl over the actual DOM, so these indexes (along with the 3594// descendantsCount of virtual nodes) let us skip touching entire subtrees of 3595// the DOM if we know there are no patches there. 3596 3597 3598function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode) 3599{ 3600 _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode); 3601} 3602 3603 3604// assumes `patches` is non-empty and indexes increase monotonically. 3605function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode) 3606{ 3607 var patch = patches[i]; 3608 var index = patch.r; 3609 3610 while (index === low) 3611 { 3612 var patchType = patch.$; 3613 3614 if (patchType === 1) 3615 { 3616 _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode); 3617 } 3618 else if (patchType === 8) 3619 { 3620 patch.t = domNode; 3621 patch.u = eventNode; 3622 3623 var subPatches = patch.s.w; 3624 if (subPatches.length > 0) 3625 { 3626 _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); 3627 } 3628 } 3629 else if (patchType === 9) 3630 { 3631 patch.t = domNode; 3632 patch.u = eventNode; 3633 3634 var data = patch.s; 3635 if (data) 3636 { 3637 data.A.s = domNode; 3638 var subPatches = data.w; 3639 if (subPatches.length > 0) 3640 { 3641 _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); 3642 } 3643 } 3644 } 3645 else 3646 { 3647 patch.t = domNode; 3648 patch.u = eventNode; 3649 } 3650 3651 i++; 3652 3653 if (!(patch = patches[i]) || (index = patch.r) > high) 3654 { 3655 return i; 3656 } 3657 } 3658 3659 var tag = vNode.$; 3660 3661 if (tag === 4) 3662 { 3663 var subNode = vNode.k; 3664 3665 while (subNode.$ === 4) 3666 { 3667 subNode = subNode.k; 3668 } 3669 3670 return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref); 3671 } 3672 3673 // tag must be 1 or 2 at this point 3674 3675 var vKids = vNode.e; 3676 var childNodes = domNode.childNodes; 3677 for (var j = 0; j < vKids.length; j++) 3678 { 3679 low++; 3680 var vKid = tag === 1 ? vKids[j] : vKids[j].b; 3681 var nextLow = low + (vKid.b || 0); 3682 if (low <= index && index <= nextLow) 3683 { 3684 i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode); 3685 if (!(patch = patches[i]) || (index = patch.r) > high) 3686 { 3687 return i; 3688 } 3689 } 3690 low = nextLow; 3691 } 3692 return i; 3693} 3694 3695 3696 3697// APPLY PATCHES 3698 3699 3700function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode) 3701{ 3702 if (patches.length === 0) 3703 { 3704 return rootDomNode; 3705 } 3706 3707 _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode); 3708 return _VirtualDom_applyPatchesHelp(rootDomNode, patches); 3709} 3710 3711function _VirtualDom_applyPatchesHelp(rootDomNode, patches) 3712{ 3713 for (var i = 0; i < patches.length; i++) 3714 { 3715 var patch = patches[i]; 3716 var localDomNode = patch.t 3717 var newNode = _VirtualDom_applyPatch(localDomNode, patch); 3718 if (localDomNode === rootDomNode) 3719 { 3720 rootDomNode = newNode; 3721 } 3722 } 3723 return rootDomNode; 3724} 3725 3726function _VirtualDom_applyPatch(domNode, patch) 3727{ 3728 switch (patch.$) 3729 { 3730 case 0: 3731 return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u); 3732 3733 case 4: 3734 _VirtualDom_applyFacts(domNode, patch.u, patch.s); 3735 return domNode; 3736 3737 case 3:
3738 domNode.replaceData(0, domNode.length, patch.s); 3739 return domNode; 3740 3741 case 1: 3742 return _VirtualDom_applyPatchesHelp(domNode, patch.s); 3743 3744 case 2: 3745 if (domNode.elm_event_node_ref) 3746 { 3747 domNode.elm_event_node_ref.j = patch.s; 3748 } 3749 else 3750 { 3751 domNode.elm_event_node_ref = { j: patch.s, p: patch.u }; 3752 } 3753 return domNode; 3754 3755 case 6: 3756 var data = patch.s; 3757 for (var i = 0; i < data.i; i++) 3758 { 3759 domNode.removeChild(domNode.childNodes[data.v]); 3760 } 3761 return domNode; 3762 3763 case 7: 3764 var data = patch.s; 3765 var kids = data.e; 3766 var i = data.v; 3767 var theEnd = domNode.childNodes[i]; 3768 for (; i < kids.length; i++) 3769 { 3770 domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd); 3771 } 3772 return domNode; 3773 3774 case 9: 3775 var data = patch.s; 3776 if (!data) 3777 { 3778 domNode.parentNode.removeChild(domNode); 3779 return domNode; 3780 } 3781 var entry = data.A; 3782 if (typeof entry.r !== 'undefined') 3783 { 3784 domNode.parentNode.removeChild(domNode); 3785 } 3786 entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w); 3787 return domNode; 3788 3789 case 8: 3790 return _VirtualDom_applyPatchReorder(domNode, patch); 3791 3792 case 5: 3793 return patch.s(domNode); 3794 3795 default: 3796 _Debug_crash(10); // 'Ran into an unknown patch!' 3797 } 3798} 3799 3800 3801function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode) 3802{ 3803 var parentNode = domNode.parentNode; 3804 var newNode = _VirtualDom_render(vNode, eventNode); 3805 3806 if (!newNode.elm_event_node_ref) 3807 { 3808 newNode.elm_event_node_ref = domNode.elm_event_node_ref; 3809 } 3810 3811 if (parentNode && newNode !== domNode) 3812 { 3813 parentNode.replaceChild(newNode, domNode); 3814 } 3815 return newNode; 3816} 3817 3818 3819function _VirtualDom_applyPatchReorder(domNode, patch) 3820{ 3821 var data = patch.s; 3822 3823 // remove end inserts 3824 var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch); 3825 3826 // removals 3827 domNode = _VirtualDom_applyPatchesHelp(domNode, data.w); 3828 3829 // inserts 3830 var inserts = data.x; 3831 for (var i = 0; i < inserts.length; i++) 3832 { 3833 var insert = inserts[i]; 3834 var entry = insert.A; 3835 var node = entry.c === 2 3836 ? entry.s 3837 : _VirtualDom_render(entry.z, patch.u); 3838 domNode.insertBefore(node, domNode.childNodes[insert.r]); 3839 } 3840 3841 // add end inserts 3842 if (frag) 3843 { 3844 _VirtualDom_appendChild(domNode, frag); 3845 } 3846 3847 return domNode; 3848} 3849 3850 3851function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch) 3852{ 3853 if (!endInserts) 3854 { 3855 return; 3856 } 3857 3858 var frag = _VirtualDom_doc.createDocumentFragment(); 3859 for (var i = 0; i < endInserts.length; i++) 3860 { 3861 var insert = endInserts[i]; 3862 var entry = insert.A; 3863 _VirtualDom_appendChild(frag, entry.c === 2 3864 ? entry.s 3865 : _VirtualDom_render(entry.z, patch.u) 3866 ); 3867 } 3868 return frag; 3869} 3870 3871 3872function _VirtualDom_virtualize(node) 3873{ 3874 // TEXT NODES 3875 3876 if (node.nodeType === 3) 3877 { 3878 return _VirtualDom_text(node.textContent); 3879 } 3880 3881 3882 // WEIRD NODES 3883 3884 if (node.nodeType !== 1) 3885 { 3886 return _VirtualDom_text(''); 3887 } 3888 3889 3890 // ELEMENT NODES 3891 3892 var attrList = _List_Nil; 3893 var attrs = node.attributes; 3894 for (var i = attrs.length; i--; ) 3895 { 3896 var attr = attrs[i]; 3897 var name = attr.name; 3898 var value = attr.value; 3899 attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList ); 3900 } 3901 3902 var tag = node.tagName.toLowerCase(); 3903 var kidList = _List_Nil; 3904 var kids = node.childNodes; 3905 3906 for (var i = kids.length; i--; ) 3907 { 3908 kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList); 3909 } 3910 return A3(_VirtualDom_node, tag, attrList, kidList); 3911} 3912 3913function _VirtualDom_dekey(keyedNode) 3914{ 3915 var keyedKids = keyedNode.e; 3916 var len = keyedKids.length; 3917 var kids = new Array(len); 3918 for (var i = 0; i < len; i++) 3919 { 3920 kids[i] = keyedKids[i].b; 3921 } 3922 3923 return { 3924 $: 1, 3925 c: keyedNode.c, 3926 d: keyedNode.d, 3927 e: kids, 3928 f: keyedNode.f, 3929 b: keyedNode.b 3930 }; 3931} 3932 3933 3934 3935var _Bitwise_and = F2(function(a, b) 3936{ 3937 return a & b; 3938}); 3939 3940var _Bitwise_or = F2(function(a, b) 3941{ 3942 return a | b; 3943}); 3944 3945var _Bitwise_xor = F2(function(a, b) 3946{ 3947 return a ^ b; 3948}); 3949 3950function _Bitwise_complement(a) 3951{ 3952 return ~a; 3953}; 3954 3955var _Bitwise_shiftLeftBy = F2(function(offset, a) 3956{ 3957 return a << offset; 3958}); 3959 3960var _Bitwise_shiftRightBy = F2(function(offset, a) 3961{ 3962 return a >> offset; 3963}); 3964 3965var _Bitwise_shiftRightZfBy = F2(function(offset, a) 3966{ 3967 return a >>> offset; 3968}); 3969 3970 3971 3972function _Time_now(millisToPosix) 3973{ 3974 return _Scheduler_binding(function(callback) 3975 {
3976 callback(_Scheduler_succeed(millisToPosix(Date.now()))); 3977 }); 3978} 3979 3980var _Time_setInterval = F2(function(interval, task) 3981{ 3982 return _Scheduler_binding(function(callback) 3983 { 3984 var id = setInterval(function() { _Scheduler_rawSpawn(task); }, interval); 3985 return function() { clearInterval(id); }; 3986 }); 3987}); 3988 3989function _Time_here() 3990{ 3991 return _Scheduler_binding(function(callback) 3992 { 3993 callback(_Scheduler_succeed( 3994 A2($elm$time$Time$customZone, -(new Date().getTimezoneOffset()), _List_Nil) 3995 )); 3996 }); 3997} 3998 3999 4000function _Time_getZoneName() 4001{ 4002 return _Scheduler_binding(function(callback) 4003 { 4004 try 4005 { 4006 var name = $elm$time$Time$Name(Intl.DateTimeFormat().resolvedOptions().timeZone); 4007 } 4008 catch (e) 4009 { 4010 var name = $elm$time$Time$Offset(new Date().getTimezoneOffset()); 4011 } 4012 callback(_Scheduler_succeed(name)); 4013 }); 4014} 4015 4016 4017 4018 4019// STRINGS 4020 4021 4022var _Parser_isSubString = F5(function(smallString, offset, row, col, bigString) 4023{ 4024 var smallLength = smallString.length; 4025 var isGood = offset + smallLength <= bigString.length; 4026 4027 for (var i = 0; isGood && i < smallLength; ) 4028 { 4029 var code = bigString.charCodeAt(offset); 4030 isGood = 4031 smallString[i++] === bigString[offset++] 4032 && ( 4033 code === 0x000A /* \n */ 4034 ? ( row++, col=1 ) 4035 : ( col++, (code & 0xF800) === 0xD800 ? smallString[i++] === bigString[offset++] : 1 ) 4036 ) 4037 } 4038
4039 return _Utils_Tuple3(isGood ? offset : -1, row, col); 4040}); 4041 4042 4043 4044// CHARS 4045 4046 4047var _Parser_isSubChar = F3(function(predicate, offset, string) 4048{ 4049 return ( 4050 string.length <= offset 4051 ? -1 4052 : 4053 (string.charCodeAt(offset) & 0xF800) === 0xD800 4054 ? (predicate(_Utils_chr(string.substr(offset, 2))) ? offset + 2 : -1) 4055 : 4056 (predicate(_Utils_chr(string[offset])) 4057 ? ((string[offset] === '\n') ? -2 : (offset + 1)) 4058 : -1 4059 ) 4060 ); 4061}); 4062 4063 4064var _Parser_isAsciiCode = F3(function(code, offset, string) 4065{ 4066 return string.charCodeAt(offset) === code; 4067}); 4068 4069 4070 4071// NUMBERS 4072 4073 4074var _Parser_chompBase10 = F2(function(offset, string) 4075{ 4076 for (; offset < string.length; offset++) 4077 { 4078 var code = string.charCodeAt(offset); 4079 if (code < 0x30 || 0x39 < code) 4080 { 4081 return offset; 4082 } 4083 } 4084 return offset; 4085}); 4086 4087 4088var _Parser_consumeBase = F3(function(base, offset, string) 4089{ 4090 for (var total = 0; offset < string.length; offset++) 4091 { 4092 var digit = string.charCodeAt(offset) - 0x30; 4093 if (digit < 0 || base <= digit) break; 4094 total = base * total + digit; 4095 } 4096 return _Utils_Tuple2(offset, total); 4097}); 4098 4099 4100var _Parser_consumeBase16 = F2(function(offset, string) 4101{ 4102 for (var total = 0; offset < string.length; offset++) 4103 { 4104 var code = string.charCodeAt(offset); 4105 if (0x30 <= code && code <= 0x39) 4106 { 4107 total = 16 * total + code - 0x30; 4108 } 4109 else if (0x41 <= code && code <= 0x46) 4110 { 4111 total = 16 * total + code - 55; 4112 } 4113 else if (0x61 <= code && code <= 0x66) 4114 { 4115 total = 16 * total + code - 87; 4116 } 4117 else 4118 { 4119 break; 4120 } 4121 } 4122 return _Utils_Tuple2(offset, total); 4123}); 4124 4125 4126 4127// FIND STRING 4128 4129 4130var _Parser_findSubString = F5(function(smallString, offset, row, col, bigString) 4131{ 4132 var newOffset = bigString.indexOf(smallString, offset); 4133 var target = newOffset < 0 ? bigString.length : newOffset + smallString.length; 4134 4135 while (offset < target) 4136 { 4137 var code = bigString.charCodeAt(offset++); 4138 code === 0x000A /* \n */ 4139 ? ( col=1, row++ ) 4140 : ( col++, (code & 0xF800) === 0xD800 && offset++ ) 4141 } 4142 4143 return _Utils_Tuple3(newOffset, row, col); 4144}); 4145 4146 4147 4148 4149// ELEMENT 4150 4151 4152var _Debugger_element; 4153 4154var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args) 4155{ 4156 return _Platform_initialize( 4157 flagDecoder, 4158 args, 4159 impl.di, 4160 impl.gx, 4161 impl.e_, 4162 function(sendToApp, initialModel) { 4163 var view = impl.cP; 4164 /**/ 4165 var domNode = args['node']; 4166 //*/ 4167 /**_UNUSED/ 4168 var domNode = args && args['node'] ? args['node'] : _Debug_crash(0); 4169 //*/ 4170 var currNode = _VirtualDom_virtualize(domNode); 4171 4172 return _Browser_makeAnimator(initialModel, function(model) 4173 { 4174 var nextNode = view(model); 4175 var patches = _VirtualDom_diff(currNode, nextNode); 4176 domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp); 4177 currNode = nextNode; 4178 }); 4179 } 4180 ); 4181}); 4182 4183 4184 4185// DOCUMENT 4186 4187 4188var _Debugger_document; 4189 4190var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args) 4191{ 4192 return _Platform_initialize( 4193 flagDecoder, 4194 args, 4195 impl.di, 4196 impl.gx, 4197 impl.e_, 4198 function(sendToApp, initialModel) { 4199 var divertHrefToApp = impl.dD && impl.dD(sendToApp) 4200 var view = impl.cP; 4201 var title = _VirtualDom_doc.title; 4202 var bodyNode = _VirtualDom_doc.body; 4203 var currNode = _VirtualDom_virtualize(bodyNode); 4204 return _Browser_makeAnimator(initialModel, function(model) 4205 { 4206 _VirtualDom_divertHrefToApp = divertHrefToApp; 4207 var doc = view(model); 4208 var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.fe); 4209 var patches = _VirtualDom_diff(currNode, nextNode); 4210 bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp); 4211 currNode = nextNode; 4212 _VirtualDom_divertHrefToApp = 0; 4213 (title !== doc.gt) && (_VirtualDom_doc.title = title = doc.gt); 4214 }); 4215 } 4216 ); 4217}); 4218 4219 4220 4221// ANIMATION 4222 4223 4224var _Browser_cancelAnimationFrame = 4225 typeof cancelAnimationFrame !== 'undefined' 4226 ? cancelAnimationFrame 4227 : function(id) { clearTimeout(id); }; 4228 4229var _Browser_requestAnimationFrame = 4230 typeof requestAnimationFrame !== 'undefined' 4231 ? requestAnimationFrame 4232 : function(callback) { return setTimeout(callback, 1000 / 60); }; 4233 4234 4235function _Browser_makeAnimator(model, draw) 4236{ 4237 draw(model); 4238 4239 var state = 0; 4240 4241 function updateIfNeeded() 4242 { 4243 state = state === 1 4244 ? 0 4245 : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 ); 4246 } 4247 4248 return function(nextModel, isSync) 4249 { 4250 model = nextModel; 4251 4252 isSync 4253 ? ( draw(model), 4254 state === 2 && (state = 1) 4255 ) 4256 : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded), 4257 state = 2 4258 ); 4259 }; 4260} 4261 4262 4263 4264// APPLICATION 4265 4266 4267function _Browser_application(impl) 4268{ 4269 var onUrlChange = impl.f6; 4270 var onUrlRequest = impl.f7; 4271 var key = function() { key.a(onUrlChange(_Browser_getUrl())); }; 4272 4273 return _Browser_document({ 4274 dD: function(sendToApp) 4275 { 4276 key.a = sendToApp; 4277 _Browser_window.addEventListener('popstate', key); 4278 _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key); 4279 4280 return F2(function(domNode, event) 4281 { 4282 if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download')) 4283 { 4284 event.preventDefault(); 4285 var href = domNode.href; 4286 var curr = _Browser_getUrl(); 4287 var next = $elm$url$Url$fromString(href).a; 4288 sendToApp(onUrlRequest( 4289 (next 4290 && curr.eK === next.eK 4291 && curr.eh === next.eh 4292 && curr.eH.a === next.eH.a 4293 ) 4294 ? $elm$browser$Browser$Internal(next) 4295 : $elm$browser$Browser$External(href) 4296 )); 4297 } 4298 }); 4299 }, 4300 di: function(flags) 4301 { 4302 return A3(impl.di, flags, _Browser_getUrl(), key); 4303 }, 4304 cP: impl.cP, 4305 gx: impl.gx, 4306 e_: impl.e_ 4307 }); 4308} 4309 4310function _Browser_getUrl() 4311{ 4312 return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1); 4313} 4314 4315var _Browser_go = F2(function(key, n) 4316{ 4317 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { 4318 n && history.go(n); 4319 key(); 4320 })); 4321}); 4322 4323var _Browser_pushUrl = F2(function(key, url) 4324{ 4325 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { 4326 history.pushState({}, '', url); 4327 key(); 4328 })); 4329}); 4330 4331var _Browser_replaceUrl = F2(function(key, url) 4332{ 4333 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { 4334 history.replaceState({}, '', url); 4335 key(); 4336 })); 4337}); 4338 4339 4340 4341// GLOBAL EVENTS 4342 4343 4344var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} }; 4345var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode; 4346var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode; 4347 4348var _Browser_on = F3(function(node, eventName, sendToSelf) 4349{ 4350 return _Scheduler_spawn(_Scheduler_binding(function(callback) 4351 { 4352 function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); } 4353 node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true }); 4354 return function() { node.removeEventListener(eventName, handler); }; 4355 })); 4356}); 4357 4358var _Browser_decodeEvent = F2(function(decoder, event) 4359{ 4360 var result = _Json_runHelp(decoder, event); 4361 return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing; 4362}); 4363 4364 4365 4366// PAGE VISIBILITY 4367 4368 4369function _Browser_visibilityInfo() 4370{ 4371 return (typeof _VirtualDom_doc.hidden !== 'undefined') 4372 ? { fB: 'hidden', fg: 'visibilitychange' } 4373 : 4374 (typeof _VirtualDom_doc.mozHidden !== 'undefined') 4375 ? { fB: 'mozHidden', fg: 'mozvisibilitychange' } 4376 : 4377 (typeof _VirtualDom_doc.msHidden !== 'undefined') 4378 ? { fB: 'msHidden', fg: 'msvisibilitychange' } 4379 : 4380 (typeof _VirtualDom_doc.webkitHidden !== 'undefined') 4381 ? { fB: 'webkitHidden', fg: 'webkitvisibilitychange' } 4382 : { fB: 'hidden', fg: 'visibilitychange' }; 4383} 4384 4385 4386 4387// ANIMATION FRAMES 4388 4389 4390function _Browser_rAF() 4391{ 4392 return _Scheduler_binding(function(callback) 4393 { 4394 var id = _Browser_requestAnimationFrame(function() {
4395 callback(_Scheduler_succeed(Date.now())); 4396 }); 4397 4398 return function() { 4399 _Browser_cancelAnimationFrame(id); 4400 }; 4401 }); 4402} 4403 4404 4405function _Browser_now() 4406{ 4407 return _Scheduler_binding(function(callback) 4408 { 4409 callback(_Scheduler_succeed(Date.now())); 4410 }); 4411} 4412 4413 4414 4415// DOM STUFF 4416 4417 4418function _Browser_withNode(id, doStuff) 4419{ 4420 return _Scheduler_binding(function(callback) 4421 { 4422 _Browser_requestAnimationFrame(function() { 4423 var node = document.getElementById(id); 4424 callback(node 4425 ? _Scheduler_succeed(doStuff(node)) 4426 : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id)) 4427 ); 4428 }); 4429 }); 4430} 4431 4432 4433function _Browser_withWindow(doStuff) 4434{ 4435 return _Scheduler_binding(function(callback) 4436 { 4437 _Browser_requestAnimationFrame(function() { 4438 callback(_Scheduler_succeed(doStuff())); 4439 }); 4440 }); 4441} 4442 4443 4444// FOCUS and BLUR 4445 4446 4447var _Browser_call = F2(function(functionName, id) 4448{ 4449 return _Browser_withNode(id, function(node) { 4450 node[functionName](); 4451 return _Utils_Tuple0; 4452 }); 4453}); 4454 4455 4456 4457// WINDOW VIEWPORT 4458 4459 4460function _Browser_getViewport() 4461{ 4462 return { 4463 eU: _Browser_getScene(), 4464 e5: { 4465 dZ: _Browser_window.pageXOffset, 4466 d_: _Browser_window.pageYOffset, 4467 y: _Browser_doc.documentElement.clientWidth, 4468 aD: _Browser_doc.documentElement.clientHeight 4469 } 4470 }; 4471} 4472 4473function _Browser_getScene() 4474{ 4475 var body = _Browser_doc.body; 4476 var elem = _Browser_doc.documentElement; 4477 return { 4478 y: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth), 4479 aD: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight) 4480 }; 4481} 4482 4483var _Browser_setViewport = F2(function(x, y) 4484{ 4485 return _Browser_withWindow(function() 4486 { 4487 _Browser_window.scroll(x, y); 4488 return _Utils_Tuple0; 4489 }); 4490}); 4491 4492 4493 4494// ELEMENT VIEWPORT 4495 4496 4497function _Browser_getViewportOf(id) 4498{ 4499 return _Browser_withNode(id, function(node) 4500 { 4501 return { 4502 eU: { 4503 y: node.scrollWidth, 4504 aD: node.scrollHeight 4505 }, 4506 e5: { 4507 dZ: node.scrollLeft, 4508 d_: node.scrollTop, 4509 y: node.clientWidth, 4510 aD: node.clientHeight 4511 } 4512 }; 4513 }); 4514} 4515 4516 4517var _Browser_setViewportOf = F3(function(id, x, y) 4518{ 4519 return _Browser_withNode(id, function(node) 4520 { 4521 node.scrollLeft = x; 4522 node.scrollTop = y; 4523 return _Utils_Tuple0; 4524 }); 4525}); 4526 4527 4528 4529// ELEMENT 4530 4531 4532function _Browser_getElement(id) 4533{ 4534 return _Browser_withNode(id, function(node) 4535 { 4536 var rect = node.getBoundingClientRect(); 4537 var x = _Browser_window.pageXOffset; 4538 var y = _Browser_window.pageYOffset; 4539 return { 4540 eU: _Browser_getScene(), 4541 e5: { 4542 dZ: x, 4543 d_: y, 4544 y: _Browser_doc.documentElement.clientWidth, 4545 aD: _Browser_doc.documentElement.clientHeight 4546 }, 4547 ac: { 4548 dZ: x + rect.left, 4549 d_: y + rect.top, 4550 y: rect.width, 4551 aD: rect.height 4552 } 4553 }; 4554 }); 4555} 4556 4557 4558 4559// LOAD and RELOAD 4560 4561 4562function _Browser_reload(skipCache) 4563{ 4564 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) 4565 { 4566 _VirtualDom_doc.location.reload(skipCache); 4567 })); 4568} 4569 4570function _Browser_load(url) 4571{ 4572 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) 4573 { 4574 try 4575 { 4576 _Browser_window.location = url; 4577 } 4578 catch(err) 4579 { 4580 // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here. 4581 // Other browsers reload the page, so let's be consistent about that. 4582 _VirtualDom_doc.location.reload(false); 4583 } 4584 })); 4585} 4586 4587 4588// CREATE 4589 4590var _Regex_never = /.^/; 4591 4592var _Regex_fromStringWith = F2(function(options, string) 4593{ 4594 var flags = 'g'; 4595 if (options.fZ) { flags += 'm'; } 4596 if (options.ff) { flags += 'i'; } 4597 4598 try 4599 { 4600 return $elm$core$Maybe$Just(new RegExp(string, flags)); 4601 } 4602 catch(error) 4603 { 4604 return $elm$core$Maybe$Nothing; 4605 } 4606}); 4607 4608 4609// USE 4610 4611var _Regex_contains = F2(function(re, string) 4612{ 4613 return string.match(re) !== null; 4614}); 4615 4616 4617var _Regex_findAtMost = F3(function(n, re, str) 4618{ 4619 var out = []; 4620 var number = 0; 4621 var string = str; 4622 var lastIndex = re.lastIndex; 4623 var prevLastIndex = -1; 4624 var result; 4625 while (number++ < n && (result = re.exec(string))) 4626 { 4627 if (prevLastIndex == re.lastIndex) break; 4628 var i = result.length - 1; 4629 var subs = new Array(i); 4630 while (i > 0) 4631 { 4632 var submatch = result[i]; 4633 subs[--i] = submatch 4634 ? $elm$core$Maybe$Just(submatch) 4635 : $elm$core$Maybe$Nothing; 4636 } 4637 out.push(A4($elm$regex$Regex$Match, result[0], result.index, number, _List_fromArray(subs))); 4638 prevLastIndex = re.lastIndex; 4639 } 4640 re.lastIndex = lastIndex; 4641 return _List_fromArray(out); 4642}); 4643 4644 4645var _Regex_replaceAtMost = F4(function(n, re, replacer, string) 4646{ 4647 var count = 0; 4648 function jsReplacer(match) 4649 { 4650 if (count++ >= n) 4651 { 4652 return match; 4653 } 4654 var i = arguments.length - 3; 4655 var submatches = new Array(i); 4656 while (i > 0) 4657 { 4658 var submatch = arguments[i]; 4659 submatches[--i] = submatch 4660 ? $elm$core$Maybe$Just(submatch) 4661 : $elm$core$Maybe$Nothing; 4662 } 4663 return replacer(A4($elm$regex$Regex$Match, match, arguments[arguments.length - 2], count, _List_fromArray(submatches))); 4664 } 4665 return string.replace(re, jsReplacer); 4666}); 4667 4668var _Regex_splitAtMost = F3(function(n, re, str) 4669{ 4670 var string = str; 4671 var out = []; 4672 var start = re.lastIndex; 4673 var restoreLastIndex = re.lastIndex; 4674 while (n--) 4675 { 4676 var result = re.exec(string); 4677 if (!result) break; 4678 out.push(string.slice(start, result.index)); 4679 start = re.lastIndex; 4680 } 4681 out.push(string.slice(start)); 4682 re.lastIndex = restoreLastIndex; 4683 return _List_fromArray(out); 4684}); 4685 4686var _Regex_infinity = Infinity; 4687 4688 4689function _Url_percentEncode(string) 4690{ 4691 return encodeURIComponent(string); 4692} 4693 4694function _Url_percentDecode(string) 4695{ 4696 try 4697 { 4698 return $elm$core$Maybe$Just(decodeURIComponent(string)); 4699 } 4700 catch (e) 4701 { 4702 return $elm$core$Maybe$Nothing; 4703 } 4704}var $elm$core$List$cons = _List_cons; 4705var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; 4706var $elm$core$Array$foldr = F3(
4707 function (func, baseCase, _v0) { 4708 var tree = _v0.c; 4709 var tail = _v0.d; 4710 var helper = F2( 4711 function (node, acc) { 4712 if (!node.$) { 4713 var subTree = node.a; 4714 return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree); 4715 } else { 4716 var values = node.a; 4717 return A3($elm$core$Elm$JsArray$foldr, func, acc, values); 4718 } 4719 }); 4720 return A3( 4721 $elm$core$Elm$JsArray$foldr, 4722 helper, 4723 A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail), 4724 tree); 4725 }); 4726var $elm$core$Array$toList = function (array) { 4727 return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array); 4728}; 4729var $elm$core$Dict$foldr = F3( 4730 function (func, acc, t) { 4731 foldr: 4732 while (true) { 4733 if (t.$ === -2) { 4734 return acc; 4735 } else { 4736 var key = t.b; 4737 var value = t.c; 4738 var left = t.d; 4739 var right = t.e; 4740 var $temp$func = func, 4741 $temp$acc = A3( 4742 func, 4743 key, 4744 value, 4745 A3($elm$core$Dict$foldr, func, acc, right)), 4746 $temp$t = left; 4747 func = $temp$func; 4748 acc = $temp$acc; 4749 t = $temp$t; 4750 continue foldr; 4751 } 4752 } 4753 }); 4754var $elm$core$Dict$toList = function (dict) { 4755 return A3( 4756 $elm$core$Dict$foldr, 4757 F3( 4758 function (key, value, list) { 4759 return A2( 4760 $elm$core$List$cons, 4761 _Utils_Tuple2(key, value), 4762 list); 4763 }), 4764 _List_Nil, 4765 dict); 4766}; 4767var $elm$core$Dict$keys = function (dict) { 4768 return A3( 4769 $elm$core$Dict$foldr, 4770 F3( 4771 function (key, value, keyList) { 4772 return A2($elm$core$List$cons, key, keyList); 4773 }), 4774 _List_Nil, 4775 dict); 4776}; 4777var $elm$core$Set$toList = function (_v0) { 4778 var dict = _v0; 4779 return $elm$core$Dict$keys(dict); 4780}; 4781var $elm$core$Basics$EQ = 1; 4782var $elm$core$Basics$GT = 2; 4783var $elm$core$Basics$LT = 0; 4784var $elm$core$Basics$apR = F2( 4785 function (x, f) { 4786 return f(x); 4787 }); 4788var $elm$core$Basics$append = _Utils_append; 4789var $dtwrks$elm_book$ElmBook$ThemeOptions$backgroundGradient = F3( 4790 function (startColor, endColor, theme) { 4791 return _Utils_update( 4792 theme, 4793 {bF: 'linear-gradient(150deg, ' + (startColor + (' 0%, ' + (endColor + ' 100%)')))}); 4794 }); 4795var $elm$core$Basics$identity = function (x) { 4796 return x; 4797}; 4798var $dtwrks$elm_book$ElmBook$Internal$Book$BookBuilder = $elm$core$Basics$identity; 4799var $elm$core$Basics$False = 1; 4800var $dtwrks$elm_book$ElmBook$Internal$Chapter$defaultOptions = {fD: false}; 4801var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$Card = 2; 4802var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$defaultOptions = {bF: '', c2: 2, fw: false, fC: false}; 4803var $elm$core$Maybe$Nothing = {$: 1}; 4804var $dtwrks$elm_book$ElmBook$Internal$StatefulOptions$defaultOptions = { 4805 fG: $elm$core$Maybe$Nothing, 4806 eE: function (_v0) { 4807 return $elm$core$Basics$identity; 4808 }, 4809 e_: _List_Nil 4810}; 4811var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultAccent = '#ffffff'; 4812var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultBackgroundEnd = '#56cfff'; 4813var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultBackgroundStart = '#0087cf'; 4814var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultNavAccent = '#bdecff'; 4815var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultNavAccentHighlight = '#ffffff'; 4816var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultNavBackground = '#ffffff'; 4817var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultTheme = {e9: $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultAccent, bF: 'linear-gradient(150deg, ' + ($dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultBackgroundStart + (' 0%, ' + ($dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultBackgroundEnd + ' 100%)'))), c7: 'Fira Code', c8: 'IBM Plex Sans', c9: 'IBM Plex Serif', ee: $elm$core$Maybe$Nothing, fy: false, fz: $elm$core$Maybe$Nothing, dl: $elm$core$Maybe$Nothing, f_: $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultNavAccent, f$: $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultNavAccentHighlight, f0: $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultNavBackground, gd: false, gl: '', dJ: $elm$core$Maybe$Nothing}; 4818var $dtwrks$elm_book$ElmBook$Custom$customBook = F2( 4819 function (toHtml, title) { 4820 return {d4: $dtwrks$elm_book$ElmBook$Internal$Chapter$defaultOptions, d6: $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$defaultOptions, eW: $dtwrks$elm_book$ElmBook$Internal$StatefulOptions$defaultOptions, dR: $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultTheme, gt: title, e0: toHtml}; 4821 }); 4822var $dtwrks$elm_book$ElmBook$book = $dtwrks$elm_book$ElmBook$Custom$customBook($elm$core$Basics$identity); 4823var $dtwrks$elm_book$ElmBook$Internal$Chapter$Chapter = $elm$core$Basics$identity; 4824var $dtwrks$elm_book$ElmBook$Internal$Chapter$ChapterOptions = $elm$core$Basics$identity; 4825var $dtwrks$elm_book$ElmBook$Internal$Chapter$defaultOverrides = {fD: $elm$core$Maybe$Nothing}; 4826var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$ComponentOptions = $elm$core$Basics$identity; 4827var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$defaultOverrides = {bF: $elm$core$Maybe$Nothing, c2: $elm$core$Maybe$Nothing, fw: $elm$core$Maybe$Nothing, fC: $elm$core$Maybe$Nothing}; 4828var $dtwrks$elm_book$ElmBook$Chapter$chapterLink = function (props) { 4829 return {fe: '', d4: $dtwrks$elm_book$ElmBook$Internal$Chapter$defaultOverrides, m: _List_Nil, d6: $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$defaultOverrides, ef: $elm$core$Maybe$Nothing, di: $elm$core$Maybe$Nothing, er: false, gt: props.gt, gy: props.gy}; 4830}; 4831var $elm$core$Basics$True = 0; 4832var $dtwrks$elm_book$ElmBook$Internal$Chapter$ChapterBuilder = $elm$core$Basics$identity; 4833var $elm$core$Basics$composeR = F3( 4834 function (f, g, x) { 4835 return g( 4836 f(x)); 4837 }); 4838var $elm$core$Maybe$Just = function (a) { 4839 return {$: 0, a: a}; 4840}; 4841var $elm$core$String$map = _String_map; 4842var $elm$core$Basics$and = _Basics_and; 4843var $elm$core$Basics$le = _Utils_le; 4844var $elm$core$Char$toCode = _Char_toCode; 4845var $elm$core$Char$isDigit = function (_char) { 4846 var code = $elm$core$Char$toCode(_char); 4847 return (code <= 57) && (48 <= code); 4848}; 4849var $elm$core$Char$isLower = function (_char) { 4850 var code = $elm$core$Char$toCode(_char); 4851 return (97 <= code) && (code <= 122); 4852}; 4853var $elm$core$Char$isUpper = function (_char) { 4854 var code = $elm$core$Char$toCode(_char); 4855 return (code <= 90) && (65 <= code); 4856}; 4857var $elm$core$Basics$or = _Basics_or; 4858var $elm$core$Char$isAlphaNum = function (_char) { 4859 return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char)); 4860}; 4861var $elm$core$Char$toLower = _Char_toLower; 4862var $dtwrks$elm_book$ElmBook$Internal$Helpers$toUrlSafe = function (c) { 4863 return $elm$core$Char$isAlphaNum(c) ? $elm$core$Char$toLower(c) : '-'; 4864}; 4865var $elm$core$String$trim = _String_trim; 4866var $dtwrks$elm_book$ElmBook$Internal$Helpers$toSlug = A2( 4867 $elm$core$Basics$composeR, 4868 $elm$core$String$trim, 4869 $elm$core$String$map($dtwrks$elm_book$ElmBook$Internal$Helpers$toUrlSafe)); 4870var $dtwrks$elm_book$ElmBook$Chapter$chapter = function (title) { 4871 return { 4872 fe: '', 4873 d4: $dtwrks$elm_book$ElmBook$Internal$Chapter$defaultOverrides, 4874 m: _List_Nil, 4875 d6: $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$defaultOverrides, 4876 ef: $elm$core$Maybe$Nothing, 4877 di: $elm$core$Maybe$Nothing, 4878 er: true, 4879 gt: title, 4880 gy: '/' + $dtwrks$elm_book$ElmBook$Internal$Helpers$toSlug(title) 4881 }; 4882}; 4883var $author$project$W$ButtonGroup$Attribute = $elm$core$Basics$identity; 4884var $elm$core$Basics$apL = F2( 4885 function (f, x) { 4886 return f(x); 4887 }); 4888var $author$project$W$ButtonGroup$disabled = function (v) { 4889 return function (attrs) { 4890 return _Utils_update( 4891 attrs, 4892 {bV: v}); 4893 }; 4894}; 4895var $elm$core$Basics$eq = _Utils_equal;
4896var $elm$core$String$fromInt = _String_fromNumber; 4897var $author$project$W$ButtonGroup$full = function (attrs) { 4898 return _Utils_update( 4899 attrs, 4900 {bW: true}); 4901}; 4902var $elm$core$Result$Err = function (a) { 4903 return {$: 1, a: a}; 4904}; 4905var $elm$json$Json$Decode$Failure = F2( 4906 function (a, b) { 4907 return {$: 3, a: a, b: b}; 4908 }); 4909var $elm$json$Json$Decode$Field = F2( 4910 function (a, b) { 4911 return {$: 0, a: a, b: b}; 4912 }); 4913var $elm$json$Json$Decode$Index = F2( 4914 function (a, b) { 4915 return {$: 1, a: a, b: b}; 4916 }); 4917var $elm$core$Result$Ok = function (a) { 4918 return {$: 0, a: a}; 4919}; 4920var $elm$json$Json$Decode$OneOf = function (a) { 4921 return {$: 2, a: a}; 4922}; 4923var $elm$core$Basics$add = _Basics_add; 4924var $elm$core$String$all = _String_all; 4925var $elm$json$Json$Encode$encode = _Json_encode; 4926var $elm$core$String$join = F2( 4927 function (sep, chunks) { 4928 return A2( 4929 _String_join, 4930 sep, 4931 _List_toArray(chunks)); 4932 }); 4933var $elm$core$String$split = F2( 4934 function (sep, string) { 4935 return _List_fromArray( 4936 A2(_String_split, sep, string)); 4937 }); 4938var $elm$json$Json$Decode$indent = function (str) { 4939 return A2( 4940 $elm$core$String$join, 4941 '\n ', 4942 A2($elm$core$String$split, '\n', str)); 4943}; 4944var $elm$core$List$foldl = F3( 4945 function (func, acc, list) { 4946 foldl: 4947 while (true) { 4948 if (!list.b) { 4949 return acc; 4950 } else { 4951 var x = list.a; 4952 var xs = list.b; 4953 var $temp$func = func, 4954 $temp$acc = A2(func, x, acc), 4955 $temp$list = xs; 4956 func = $temp$func; 4957 acc = $temp$acc; 4958 list = $temp$list; 4959 continue foldl; 4960 } 4961 } 4962 }); 4963var $elm$core$List$length = function (xs) { 4964 return A3( 4965 $elm$core$List$foldl, 4966 F2( 4967 function (_v0, i) { 4968 return i + 1; 4969 }), 4970 0, 4971 xs); 4972}; 4973var $elm$core$List$map2 = _List_map2; 4974var $elm$core$Basics$sub = _Basics_sub; 4975var $elm$core$List$rangeHelp = F3( 4976 function (lo, hi, list) { 4977 rangeHelp: 4978 while (true) { 4979 if (_Utils_cmp(lo, hi) < 1) { 4980 var $temp$lo = lo, 4981 $temp$hi = hi - 1, 4982 $temp$list = A2($elm$core$List$cons, hi, list); 4983 lo = $temp$lo; 4984 hi = $temp$hi; 4985 list = $temp$list; 4986 continue rangeHelp; 4987 } else { 4988 return list; 4989 } 4990 } 4991 }); 4992var $elm$core$List$range = F2( 4993 function (lo, hi) { 4994 return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil); 4995 }); 4996var $elm$core$List$indexedMap = F2( 4997 function (f, xs) { 4998 return A3( 4999 $elm$core$List$map2, 5000 f, 5001 A2( 5002 $elm$core$List$range, 5003 0, 5004 $elm$core$List$length(xs) - 1), 5005 xs); 5006 }); 5007var $elm$core$Char$isAlpha = function (_char) { 5008 return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char); 5009}; 5010var $elm$core$List$reverse = function (list) { 5011 return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list); 5012}; 5013var $elm$core$String$uncons = _String_uncons; 5014var $elm$json$Json$Decode$errorOneOf = F2( 5015 function (i, error) { 5016 return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent( 5017 $elm$json$Json$Decode$errorToString(error)))); 5018 }); 5019var $elm$json$Json$Decode$errorToString = function (error) { 5020 return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil); 5021}; 5022var $elm$json$Json$Decode$errorToStringHelp = F2( 5023 function (error, context) { 5024 errorToStringHelp: 5025 while (true) { 5026 switch (error.$) { 5027 case 0: 5028 var f = error.a; 5029 var err = error.b; 5030 var isSimple = function () { 5031 var _v1 = $elm$core$String$uncons(f); 5032 if (_v1.$ === 1) { 5033 return false; 5034 } else { 5035 var _v2 = _v1.a; 5036 var _char = _v2.a; 5037 var rest = _v2.b; 5038 return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest); 5039 } 5040 }(); 5041 var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']')); 5042 var $temp$error = err, 5043 $temp$context = A2($elm$core$List$cons, fieldName, context); 5044 error = $temp$error; 5045 context = $temp$context; 5046 continue errorToStringHelp; 5047 case 1: 5048 var i = error.a; 5049 var err = error.b; 5050 var indexName = '[' + ($elm$core$String$fromInt(i) + ']'); 5051 var $temp$error = err, 5052 $temp$context = A2($elm$core$List$cons, indexName, context); 5053 error = $temp$error; 5054 context = $temp$context; 5055 continue errorToStringHelp; 5056 case 2: 5057 var errors = error.a; 5058 if (!errors.b) { 5059 return 'Ran into a Json.Decode.oneOf with no possibilities' + function () { 5060 if (!context.b) { 5061 return '!'; 5062 } else { 5063 return ' at json' + A2( 5064 $elm$core$String$join, 5065 '', 5066 $elm$core$List$reverse(context)); 5067 } 5068 }(); 5069 } else { 5070 if (!errors.b.b) { 5071 var err = errors.a; 5072 var $temp$error = err, 5073 $temp$context = context; 5074 error = $temp$error; 5075 context = $temp$context; 5076 continue errorToStringHelp; 5077 } else { 5078 var starter = function () { 5079 if (!context.b) { 5080 return 'Json.Decode.oneOf'; 5081 } else { 5082 return 'The Json.Decode.oneOf at json' + A2( 5083 $elm$core$String$join, 5084 '', 5085 $elm$core$List$reverse(context)); 5086 } 5087 }(); 5088 var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt( 5089 $elm$core$List$length(errors)) + ' ways:')); 5090 return A2( 5091 $elm$core$String$join, 5092 '\n\n', 5093 A2( 5094 $elm$core$List$cons, 5095 introduction, 5096 A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors))); 5097 } 5098 } 5099 default: 5100 var msg = error.a; 5101 var json = error.b; 5102 var introduction = function () { 5103 if (!context.b) { 5104 return 'Problem with the given value:\n\n'; 5105 } else { 5106 return 'Problem with the value at json' + (A2( 5107 $elm$core$String$join, 5108 '', 5109 $elm$core$List$reverse(context)) + ':\n\n '); 5110 } 5111 }(); 5112 return introduction + ($elm$json$Json$Decode$indent( 5113 A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg)); 5114 } 5115 } 5116 }); 5117var $elm$core$Array$branchFactor = 32; 5118var $elm$core$Array$Array_elm_builtin = F4( 5119 function (a, b, c, d) {
5120 return {$: 0, a: a, b: b, c: c, d: d}; 5121 }); 5122var $elm$core$Elm$JsArray$empty = _JsArray_empty; 5123var $elm$core$Basics$ceiling = _Basics_ceiling; 5124var $elm$core$Basics$fdiv = _Basics_fdiv; 5125var $elm$core$Basics$logBase = F2( 5126 function (base, number) { 5127 return _Basics_log(number) / _Basics_log(base); 5128 }); 5129var $elm$core$Basics$toFloat = _Basics_toFloat; 5130var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling( 5131 A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor)); 5132var $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty); 5133var $elm$core$Elm$JsArray$initialize = _JsArray_initialize; 5134var $elm$core$Array$Leaf = function (a) { 5135 return {$: 1, a: a}; 5136}; 5137var $elm$core$Basics$floor = _Basics_floor; 5138var $elm$core$Elm$JsArray$length = _JsArray_length; 5139var $elm$core$Basics$gt = _Utils_gt; 5140var $elm$core$Basics$max = F2( 5141 function (x, y) { 5142 return (_Utils_cmp(x, y) > 0) ? x : y; 5143 }); 5144var $elm$core$Basics$mul = _Basics_mul; 5145var $elm$core$Array$SubTree = function (a) { 5146 return {$: 0, a: a}; 5147}; 5148var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList; 5149var $elm$core$Array$compressNodes = F2( 5150 function (nodes, acc) { 5151 compressNodes: 5152 while (true) { 5153 var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes); 5154 var node = _v0.a; 5155 var remainingNodes = _v0.b; 5156 var newAcc = A2( 5157 $elm$core$List$cons, 5158 $elm$core$Array$SubTree(node), 5159 acc); 5160 if (!remainingNodes.b) { 5161 return $elm$core$List$reverse(newAcc); 5162 } else { 5163 var $temp$nodes = remainingNodes, 5164 $temp$acc = newAcc; 5165 nodes = $temp$nodes; 5166 acc = $temp$acc; 5167 continue compressNodes; 5168 } 5169 } 5170 }); 5171var $elm$core$Tuple$first = function (_v0) { 5172 var x = _v0.a; 5173 return x; 5174}; 5175var $elm$core$Array$treeFromBuilder = F2( 5176 function (nodeList, nodeListSize) { 5177 treeFromBuilder: 5178 while (true) { 5179 var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor); 5180 if (newNodeSize === 1) { 5181 return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a; 5182 } else { 5183 var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil), 5184 $temp$nodeListSize = newNodeSize; 5185 nodeList = $temp$nodeList; 5186 nodeListSize = $temp$nodeListSize; 5187 continue treeFromBuilder; 5188 } 5189 } 5190 }); 5191var $elm$core$Array$builderToArray = F2( 5192 function (reverseNodeList, builder) { 5193 if (!builder.l) { 5194 return A4( 5195 $elm$core$Array$Array_elm_builtin, 5196 $elm$core$Elm$JsArray$length(builder.o), 5197 $elm$core$Array$shiftStep, 5198 $elm$core$Elm$JsArray$empty, 5199 builder.o); 5200 } else { 5201 var treeLen = builder.l * $elm$core$Array$branchFactor; 5202 var depth = $elm$core$Basics$floor( 5203 A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1)); 5204 var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.r) : builder.r; 5205 var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.l); 5206 return A4( 5207 $elm$core$Array$Array_elm_builtin, 5208 $elm$core$Elm$JsArray$length(builder.o) + treeLen, 5209 A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep), 5210 tree, 5211 builder.o); 5212 } 5213 }); 5214var $elm$core$Basics$idiv = _Basics_idiv; 5215var $elm$core$Basics$lt = _Utils_lt; 5216var $elm$core$Array$initializeHelp = F5( 5217 function (fn, fromIndex, len, nodeList, tail) { 5218 initializeHelp: 5219 while (true) { 5220 if (fromIndex < 0) { 5221 return A2( 5222 $elm$core$Array$builderToArray, 5223 false, 5224 {r: nodeList, l: (len / $elm$core$Array$branchFactor) | 0, o: tail}); 5225 } else { 5226 var leaf = $elm$core$Array$Leaf( 5227 A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn)); 5228 var $temp$fn = fn, 5229 $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor, 5230 $temp$len = len, 5231 $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList), 5232 $temp$tail = tail; 5233 fn = $temp$fn; 5234 fromIndex = $temp$fromIndex; 5235 len = $temp$len; 5236 nodeList = $temp$nodeList; 5237 tail = $temp$tail; 5238 continue initializeHelp; 5239 } 5240 } 5241 }); 5242var $elm$core$Basics$remainderBy = _Basics_remainderBy; 5243var $elm$core$Array$initialize = F2( 5244 function (len, fn) { 5245 if (len <= 0) { 5246 return $elm$core$Array$empty; 5247 } else { 5248 var tailLen = len % $elm$core$Array$branchFactor; 5249 var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tail
5249Len, fn); 5250 var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor; 5251 return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail); 5252 } 5253 }); 5254var $elm$core$Result$isOk = function (result) { 5255 if (!result.$) { 5256 return true; 5257 } else { 5258 return false; 5259 } 5260}; 5261var $elm$json$Json$Decode$map = _Json_map1; 5262var $elm$json$Json$Decode$map2 = _Json_map2; 5263var $elm$json$Json$Decode$succeed = _Json_succeed; 5264var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) { 5265 switch (handler.$) { 5266 case 0: 5267 return 0; 5268 case 1: 5269 return 1; 5270 case 2: 5271 return 2; 5272 default: 5273 return 3; 5274 } 5275}; 5276var $elm$html$Html$div = _VirtualDom_node('div'); 5277var $elm$virtual_dom$VirtualDom$style = _VirtualDom_style; 5278var $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style; 5279var $author$project$UI$hSpacer = $elm$html$Html$div( 5280 _List_fromArray( 5281 [ 5282 A2($elm$html$Html$Attributes$style, 'display', 'flex'), 5283 A2($elm$html$Html$Attributes$style, 'gap', '8px') 5284 ])); 5285var $author$project$W$ButtonGroup$highlighted = function (v) { 5286 return function (attrs) { 5287 return _Utils_update( 5288 attrs, 5289 {am: v}); 5290 }; 5291}; 5292var $dtwrks$elm_book$ElmBook$Internal$Msg$LogAction = F2( 5293 function (a, b) { 5294 return {$: 4, a: a, b: b}; 5295 }); 5296var $dtwrks$elm_book$ElmBook$Actions$logActionWith = F3( 5297 function (toString, action, value) { 5298 return A2( 5299 $dtwrks$elm_book$ElmBook$Internal$Msg$LogAction, 5300 '', 5301 action + (': ' + toString(value))); 5302 }); 5303var $author$project$W$ButtonGroup$outlined = function (attrs) { 5304 return _Utils_update( 5305 attrs, 5306 {af: true}); 5307}; 5308var $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList = F2( 5309 function (body, _v0) { 5310 var builder = _v0; 5311 return _Utils_update( 5312 builder, 5313 {fe: builder.fe + (body + '\n<component-list />')}); 5314 }); 5315var $author$project$W$ButtonGroup$rounded = function (attrs) { 5316 return _Utils_update( 5317 attrs, 5318 {cz: true}); 5319}; 5320var $author$project$W$ButtonGroup$small = function (attrs) { 5321 return _Utils_update( 5322 attrs, 5323 {aV: true}); 5324}; 5325var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; 5326var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text; 5327var $author$project$UI$vSpacer = $elm$html$Html$div( 5328 _List_fromArray( 5329 [ 5330 A2($elm$html$Html$Attributes$style, 'display', 'flex'), 5331 A2($elm$html$Html$Attributes$style, 'flex-direction', 'column'), 5332 A2($elm$html$Html$Attributes$style, 'align-items', 'flex-start'), 5333 A2($elm$html$Html$Attributes$style, 'gap', '8px') 5334 ])); 5335var $author$project$W$ButtonGroup$defaultAttrs = { 5336 bV: function (_v0) { 5337 return false; 5338 }, 5339 bW: false, 5340 am: function (_v1) { 5341 return false; 5342 }, 5343 b$: _List_Nil, 5344 af: false, 5345 cz: false, 5346 aV: false 5347}; 5348var $author$project$W$ButtonGroup$applyAttrs = function (attrs) { 5349 return A3( 5350 $elm$core$List$foldl, 5351 F2( 5352 function (_v0, a) { 5353 var fn = _v0; 5354 return fn(a); 5355 }), 5356 $author$project$W$ButtonGroup$defaultAttrs, 5357 attrs); 5358}; 5359var $elm$html$Html$button = _VirtualDom_node('button'); 5360var $elm$json$Json$Encode$string = _Json_wrap; 5361var $elm$html$Html$Attributes$stringProperty = F2( 5362 function (key, string) { 5363 return A2( 5364 _VirtualDom_property, 5365 key, 5366 $elm$json$Json$Encode$string(string)); 5367 }); 5368var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); 5369var $elm$core$List$foldrHelper = F4( 5370 function (fn, acc, ctr, ls) { 5371 if (!ls.b) { 5372 return acc; 5373 } else { 5374 var a = ls.a; 5375 var r1 = ls.b; 5376 if (!r1.b) { 5377 return A2(fn, a, acc); 5378 } else { 5379 var b = r1.a; 5380 var r2 = r1.b; 5381 if (!r2.b) { 5382 return A2( 5383 fn, 5384 a, 5385 A2(fn, b, acc)); 5386 } else { 5387 var c = r2.a; 5388 var r3 = r2.b; 5389 if (!r3.b) { 5390 return A2( 5391 fn, 5392 a, 5393 A2( 5394 fn, 5395 b, 5396 A2(fn, c, acc))); 5397 } else { 5398 var d = r3.a; 5399 var r4 = r3.b; 5400 var res = (ctr > 500) ? A3( 5401 $elm$core$List$foldl, 5402 fn, 5403 acc, 5404 $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4); 5405 return A2( 5406 fn, 5407 a, 5408 A2( 5409 fn, 5410 b, 5411 A2( 5412 fn, 5413 c, 5414 A2(fn, d, res)))); 5415 } 5416 } 5417 } 5418 } 5419 }); 5420var $elm$core$List$foldr = F3( 5421 function (fn, acc, ls) { 5422 return A4($elm$core$List$foldrHelper, fn, acc, 0, ls); 5423 }); 5424var $elm$core$List$filter = F2( 5425 function (isGood, list) { 5426 return A3( 5427 $elm$core$List$foldr, 5428 F2( 5429 function (x, xs) { 5430 return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs; 5431 }), 5432 _List_Nil, 5433 list); 5434 }); 5435var $elm$core$List$map = F2( 5436 function (f, xs) { 5437 return A3( 5438 $elm$core$List$foldr, 5439 F2( 5440 function (x, acc) { 5441 return A2( 5442 $elm$core$List$cons, 5443 f(x), 5444 acc); 5445 }), 5446 _List_Nil, 5447 xs); 5448 }); 5449var $elm$core$Tuple$second = function (_v0) { 5450 var y = _v0.b; 5451 return y; 5452}; 5453var $elm$html$Html$Attributes$classList = function (classes) { 5454 return $elm$html$Html$Attributes$class( 5455 A2( 5456 $elm$core$String$join, 5457 ' ', 5458 A2( 5459 $elm$core$List$map, 5460 $elm$core$Tuple$first, 5461 A2($elm$core$List$filter, $elm$core$Tuple$second, classes)))); 5462}; 5463var $elm$json$Json$Encode$bool = _Json_wrap; 5464var $elm$html$Html$Attributes$boolProperty = F2( 5465 function (key, bool) { 5466 return A2( 5467 _VirtualDom_property, 5468 key, 5469 $elm$json$Json$Encode$bool(bool)); 5470 }); 5471var $elm$html$Html$Attributes$disabled = $elm$html$Html$Attributes$boolProperty('disabled'); 5472var $elm$core$Basics$not = _Basics_not; 5473var $elm$virtual_dom$VirtualDom$Normal = function (a) { 5474 return {$: 0, a: a}; 5475}; 5476var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on; 5477var $elm$html$Html$Events$on = F2( 5478 function (event, decoder) { 5479 return A2( 5480 $elm$virtual_dom$VirtualDom$on, 5481 event, 5482 $elm$virtual_dom$VirtualDom$Normal(decoder)); 5483 }); 5484var $elm$html$Html$Events$onClick = function (msg) { 5485 return A2( 5486 $elm$html$Html$Events$on, 5487 'click', 5488 $elm$json$Json$Decode$succeed(msg)); 5489}; 5490var $elm$html$Html$span = _VirtualDom_node('span'); 5491var $author$project$W$ButtonGroup$viewInner = $elm$html$Html$span( 5492 _List_fromArray( 5493 [ 5494 $elm$html$Html$Attributes$class('ew-relative ew-z-10 ew-flex-inline ew-items-center ew-justify-center') 5495 ])); 5496var $author$project$W$ButtonGroup$view = F2( 5497 function (attrs_, props) { 5498 var attrs = $author$project$W$ButtonGroup$applyAttrs(attrs_); 5499 return A2( 5500 $elm$html$Html$div, 5501 _Utils_ap( 5502 attrs.b$, 5503 _List_fromArray( 5504 [ 5505 $elm$html$Html$Attributes$class('ew-inline-flex ew-items-center'), 5506 $elm$html$Html$Attributes$classList( 5507 _List_fromArray( 5508 [ 5509 _Utils_Tuple2('ew-w-full', attrs.bW) 5510 ])) 5511 ])), 5512 A2( 5513 $elm$core$List$map, 5514 function (item) { 5515 return A2( 5516 $elm$html$Html$button, 5517 _List_fromArray( 5518 [ 5519 $elm$html$Html$Attributes$class('ew-grow ew-shrink-0 ew-box-border'), 5520 $elm$html$Html$Attributes$class('ew-focusable ew-inline-flex ew-items-center ew-justify-center'), 5521 $elm$html$Html$Attributes$class('ew-m-0 ew-py-0 ew-px-4 ew-border-solid'), 5522 $elm$html$Html$Attributes$class('ew-font-text ew-text-base ew-font-medium ew-leading-0'), 5523 $elm$html$Html$Attributes$class('ew-relative focus:ew-z-10'), 5524 $elm$html$Html$Attributes$class('disabled:ew-pointer-events-none disabled:ew-opacity-60'), 5525 $elm$html$Html$Attributes$class('before:ew-block before:ew-content-[\'\'] before:ew-absolute before:ew-inset-0 before:ew-pointer-events-none'), 5526 $elm$html$Html$Attributes$class('before:ew-z-0 before:ew-transition before:ew-duration-200 before:ew-opacity-0'), 5527 $elm$html$Html$Attributes$class('hover:before:ew-opacity-10 active:before:ew-opacity-20'), 5528 $elm$html$Html$Attributes$classList( 5529 _List_fromArray( 5530 [ 5531 _Utils_Tuple2('ew-h-[32px]', attrs.aV), 5532 _Utils_Tuple2('ew-h-[40px]', !attrs.aV), 5533 _Utils_Tuple2('first:ew-rounded-l-lg last:ew-rounded-r-lg', !attrs.cz), 5534 _Utils_Tuple2('first:ew-rounded-l-[16px] last:ew-rounded-r-[16px]', attrs.cz && attrs.aV), 5535 _Utils_Tuple2('first:ew-rounded-l-[20px] last:ew-rounded-r-[20px]', attrs.cz && (!attrs.aV)), 5536 _Utils_Tuple2( 5537 'ew-border-0 ew-bg-primary-bg ew-text-primary-aux before:ew-bg-primary-aux', 5538 attrs.am(item) && (!attrs.af)), 5539 _Utils_Tuple2( 5540 'ew-border-0 ew-bg-neutral-bg ew-text-neutral-aux before:ew-bg-neutral-aux', 5541 (!attrs.am(item)) && (!attrs.af)), 5542 _Utils_Tuple2( 5543 'ew-border-primary-fg ew-text-primary-fg ew-bg-primary-fg/[0.1] before:ew-bg-primary-fg', 5544 attrs.am(item) && attrs.af), 5545 _Utils_Tuple2( 5546 'ew-border-neutral-fg ew-text-neutral-fg ew-bg-neutral-fg/[0.07] before:ew-bg-neutral-fg', 5547 (!attrs.am(item)) && attrs.af), 5548 _Utils_Tuple2('-ew-mx-px first:ew-ml-0 last:ew-mr-0', attrs.af) 5549 ])), 5550 $elm$html$Html$Attributes$disabled( 5551 attrs.bV(item)), 5552 $elm$html$Html$Events$onClick( 5553 props.s(item)) 5554 ]), 5555 _List_fromArray( 5556 [ 5557 $author$project$W$ButtonGroup$viewInner( 5558 props.u(item)) 5559 ])); 5560 }, 5561 props.p)); 5562 }); 5563var $dtwrks$elm_book$ElmBook$Internal$Chapter$ChapterComponentViewStateless = function (a) { 5564 return {$: 0, a: a}; 5565}; 5566var $dtwrks$elm_book$ElmBook$Chapter$fromTuple = function (_v0) { 5567 var label = _v0.a; 5568 var view_ = _v0.b; 5569 return { 5570 aK: label,
5571 cP: $dtwrks$elm_book$ElmBook$Internal$Chapter$ChapterComponentViewStateless(view_) 5572 }; 5573}; 5574var $dtwrks$elm_book$ElmBook$Chapter$withComponentList = F2( 5575 function (componentList, _v0) { 5576 var builder = _v0; 5577 return _Utils_update( 5578 builder, 5579 { 5580 m: _Utils_ap( 5581 A2($elm$core$List$map, $dtwrks$elm_book$ElmBook$Chapter$fromTuple, componentList), 5582 builder.m) 5583 }); 5584 }); 5585var $author$project$Chapters$Core$ButtonGroup$chapter_ = A2( 5586 $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList, 5587 '\n', 5588 A2( 5589 $dtwrks$elm_book$ElmBook$Chapter$withComponentList, 5590 _List_fromArray( 5591 [ 5592 _Utils_Tuple2( 5593 'Default', 5594 $author$project$UI$vSpacer( 5595 _List_fromArray( 5596 [ 5597 $author$project$UI$hSpacer( 5598 _List_fromArray( 5599 [ 5600 A2( 5601 $author$project$W$ButtonGroup$view, 5602 _List_fromArray( 5603 [ 5604 $author$project$W$ButtonGroup$highlighted( 5605 $elm$core$Basics$eq(2)) 5606 ]), 5607 { 5608 p: A2($elm$core$List$range, 0, 2), 5609 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5610 u: function (i) { 5611 return _List_fromArray( 5612 [ 5613 $elm$html$Html$text( 5614 $elm$core$String$fromInt(i)) 5615 ]); 5616 } 5617 }), 5618 A2( 5619 $author$project$W$ButtonGroup$view, 5620 _List_Nil, 5621 { 5622 p: _List_fromArray( 5623 [0, 1]), 5624 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5625 u: function (i) { 5626 return _List_fromArray( 5627 [ 5628 $elm$html$Html$text( 5629 $elm$core$String$fromInt(i)) 5630 ]); 5631 } 5632 }), 5633 A2( 5634 $author$project$W$ButtonGroup$view, 5635 _List_Nil, 5636 { 5637 p: _List_fromArray( 5638 [1]), 5639 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5640 u: function (i) { 5641 return _List_fromArray( 5642 [ 5643 $elm$html$Html$text( 5644 $elm$core$String$fromInt(i)) 5645 ]); 5646 } 5647 }) 5648 ])), 5649 $author$project$UI$hSpacer( 5650 _List_fromArray( 5651 [ 5652 A2( 5653 $author$project$W$ButtonGroup$view, 5654 _List_fromArray( 5655 [$author$project$W$ButtonGroup$outlined]), 5656 { 5657 p: A2($elm$core$List$range, 0, 2), 5658 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5659 u: function (i) { 5660 return _List_fromArray( 5661 [ 5662 $elm$html$Html$text( 5663 $elm$core$String$fromInt(i)) 5664 ]); 5665 } 5666 }), 5667 A2( 5668 $author$project$W$ButtonGroup$view, 5669 _List_fromArray( 5670 [ 5671 $author$project$W$ButtonGroup$outlined, 5672 $author$project$W$ButtonGroup$highlighted( 5673 $elm$core$Basics$eq(1)) 5674 ]), 5675 { 5676 p: _List_fromArray( 5677 [0, 1]), 5678 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5679 u: function (i) { 5680 return _List_fromArray( 5681 [ 5682 $elm$html$Html$text( 5683 $elm$core$String$fromInt(i)) 5684 ]); 5685 } 5686 }), 5687 A2( 5688 $author$project$W$ButtonGroup$view, 5689 _List_fromArray( 5690 [$author$project$W$ButtonGroup$outlined]), 5691 { 5692 p: _List_fromArray( 5693 [1]), 5694 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5695 u: function (i) { 5696 return _List_fromArray( 5697 [ 5698 $elm$html$Html$text( 5699 $elm$core$String$fromInt(i)) 5700 ]); 5701 } 5702 }), 5703 A2( 5704 $author$project$W$ButtonGroup$view, 5705 _List_fromArray( 5706 [ 5707 $author$project$W$ButtonGroup$outlined, 5708 $author$project$W$ButtonGroup$disabled( 5709 function (_v0) { 5710 return true; 5711 }) 5712 ]), 5713 { 5714 p: A2($elm$core$List$range, 0, 2), 5715 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5716 u: function (i) { 5717 return _List_fromArray( 5718 [ 5719 $elm$html$Html$text( 5720 $elm$core$String$fromInt(i)) 5721 ]); 5722 } 5723 }) 5724 ])), 5725 $author$project$UI$hSpacer( 5726 _List_fromArray( 5727 [ 5728 A2( 5729 $author$project$W$ButtonGroup$view, 5730 _List_fromArray( 5731 [$author$project$W$ButtonGroup$small]), 5732 { 5733 p: A2($elm$core$List$range, 0, 2), 5734 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5735 u: function (i) { 5736 return _List_fromArray( 5737 [ 5738 $elm$html$Html$text( 5739 $elm$core$String$fromInt(i)) 5740 ]); 5741 } 5742 }), 5743 A2( 5744 $author$project$W$ButtonGroup$view, 5745 _List_fromArray( 5746 [$author$project$W$ButtonGroup$small, $author$project$W$ButtonGroup$outlined]), 5747 { 5748 p: A2($elm$core$List$range, 0, 2), 5749 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5750 u: function (i) { 5751 return _List_fromArray( 5752 [ 5753 $elm$html$Html$text( 5754 $elm$core$String$fromInt(i)) 5755 ]); 5756 } 5757 }), 5758 A2( 5759 $author$project$W$ButtonGroup$view, 5760 _List_fromArray( 5761 [ 5762 $author$project$W$ButtonGroup$disabled( 5763 function (_v1) { 5764 return true; 5765 }), 5766 $author$project$W$ButtonGroup$small 5767 ]), 5768 { 5769 p: A2($elm$core$List$range, 0, 2), 5770 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5771 u: function (i) { 5772 return _List_fromArray( 5773 [ 5774 $elm$html$Html$text( 5775 $elm$core$String$fromInt(i)) 5776 ]); 5777 } 5778 }) 5779 ])) 5780 ]))), 5781 _Utils_Tuple2( 5782 'Rounded', 5783 $author$project$UI$vSpacer( 5784 _List_fromArray( 5785 [ 5786 $author$project$UI$hSpacer( 5787 _List_fromArray( 5788 [ 5789 A2( 5790 $author$project$W$ButtonGroup$view, 5791 _List_fromArray( 5792 [$author$project$W$ButtonGroup$rounded]), 5793 { 5794 p: A2($elm$core$List$range, 0, 2), 5795 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5796 u: function (i) { 5797 return _List_fromArray( 5798 [ 5799 $elm$html$Html$text( 5800 $elm$core$String$fromInt(i)) 5801 ]); 5802 } 5803 }), 5804 A2( 5805 $author$project$W$ButtonGroup$view, 5806 _List_fromArray( 5807 [$author$project$W$ButtonGroup$rounded, $author$project$W$ButtonGroup$outlined]), 5808 { 5809 p: A2($elm$core$List$range, 0, 2), 5810 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5811 u: function (i) { 5812 return _List_fromArray( 5813 [ 5814 $elm$html$Html$text( 5815 $elm$core$String$fromInt(i)) 5816 ]); 5817 } 5818 }), 5819 A2( 5820 $author$project$W$ButtonGroup$view, 5821 _List_fromArray( 5822 [ 5823 $author$project$W$ButtonGroup$disabled( 5824 function (_v2) { 5825 return true; 5826 }), 5827 $author$project$W$ButtonGroup$rounded 5828 ]), 5829 { 5830 p: A2($elm$core$List$range, 0, 2), 5831 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5832 u: function (i) { 5833 return _List_fromArray( 5834 [ 5835 $elm$html$Html$text( 5836 $elm$core$String$fromInt(i)) 5837 ]); 5838 } 5839 }) 5840 ])), 5841 $author$project$UI$hSpacer( 5842 _List_fromArray( 5843 [ 5844 A2( 5845 $author$project$W$ButtonGroup$view, 5846 _List_fromArray( 5847 [$author$project$W$ButtonGroup$rounded, $author$project$W$ButtonGroup$small]), 5848 { 5849 p: A2($elm$core$List$range, 0, 2), 5850 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5851 u: function (i) { 5852 return _List_fromArray( 5853 [ 5854 $elm$html$Html$text( 5855 $elm$core$String$fromInt(i)) 5856 ]); 5857 } 5858 }), 5859 A2( 5860 $author$project$W$ButtonGroup$view, 5861 _List_fromArray( 5862 [$author$project$W$ButtonGroup$rounded, $author$project$W$ButtonGroup$outlined, $author$project$W$ButtonGroup$small]), 5863 { 5864 p: A2($elm$core$List$range, 0, 2), 5865 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5866 u: function (i) { 5867 return _List_fromArray( 5868 [ 5869 $elm$html$Html$text( 5870 $elm$core$String$fromInt(i)) 5871 ]); 5872 } 5873 }), 5874 A2( 5875 $author$project$W$ButtonGroup$view, 5876 _List_fromArray( 5877 [ 5878 $author$project$W$ButtonGroup$disabled( 5879 function (_v3) { 5880 return true; 5881 }), 5882 $author$project$W$ButtonGroup$rounded, 5883 $author$project$W$ButtonGroup$small 5884 ]), 5885 { 5886 p: A2($elm$core$List$range, 0, 2), 5887 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5888 u: function (i) { 5889 return _List_fromArray( 5890 [ 5891 $elm$html$Html$text( 5892 $elm$core$String$fromInt(i)) 5893 ]); 5894 } 5895 }) 5896 ])) 5897 ]))), 5898 _Utils_Tuple2( 5899 'Full', 5900 A2( 5901 $author$project$W$ButtonGroup$view, 5902 _List_fromArray( 5903 [$author$project$W$ButtonGroup$full]), 5904 { 5905 p: A2($elm$core$List$range, 0, 2), 5906 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 5907 u: function (i) { 5908 return _List_fromArray( 5909 [ 5910 $elm$html$Html$text( 5911 $elm$core$String$fromInt(i)) 5912 ]); 5913 } 5914 })) 5915 ]), 5916 $dtwrks$elm_book$ElmBook$Chapter$chapter('Button Groups'))); 5917var $author$project$W$Button$Attribute = $elm$core$Basics$identity; 5918var $author$project$W$Button$alignLeft = function (attrs) { 5919 return _Utils_update( 5920 attrs, 5921 {a2: 'ew-justify-start'}); 5922}; 5923var $uncover_co$elm_theme$Theme$namespace = 'theme'; 5924var $uncover_co$elm_theme$Theme$cssVar = function (v) { 5925 return 'var(--' + ($uncover_co$elm_theme$Theme$namespace + ('-' + (v + ')'))); 5926}; 5927var $uncover_co$elm_theme$Theme$dangerAux = $uncover_co$elm_theme$Theme$cssVar('danger-aux');
5928var $elm$core$String$fromFloat = _String_fromNumber; 5929var $uncover_co$elm_theme$Theme$cssVarWithAlpha = F2( 5930 function (v, alpha) { 5931 return 'rgb(var(--' + ($uncover_co$elm_theme$Theme$namespace + ('-' + (v + ('-ch) / ' + ($elm$core$String$fromFloat(alpha) + ')'))))); 5932 }); 5933var $uncover_co$elm_theme$Theme$dangerAuxWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('danger-aux'); 5934var $uncover_co$elm_theme$Theme$dangerBackground = $uncover_co$elm_theme$Theme$cssVar('danger-bg'); 5935var $uncover_co$elm_theme$Theme$dangerBackgroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('danger-bg'); 5936var $uncover_co$elm_theme$Theme$dangerForeground = $uncover_co$elm_theme$Theme$cssVar('danger-fg'); 5937var $uncover_co$elm_theme$Theme$dangerForegroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('danger-fg'); 5938var $uncover_co$elm_theme$Theme$danger = {cV: $uncover_co$elm_theme$Theme$dangerAux, ab: $uncover_co$elm_theme$Theme$dangerAuxWithAlpha, bF: $uncover_co$elm_theme$Theme$dangerBackground, T: $uncover_co$elm_theme$Theme$dangerBackgroundWithAlpha, da: $uncover_co$elm_theme$Theme$dangerForeground, fs: $uncover_co$elm_theme$Theme$dangerForegroundWithAlpha}; 5939var $author$project$W$Button$toButtonTheme = function (color) { 5940 return {cV: color.cV, bF: color.bF, da: color.da}; 5941}; 5942var $author$project$W$Button$danger = function (attrs) { 5943 return _Utils_update( 5944 attrs, 5945 { 5946 dQ: $author$project$W$Button$toButtonTheme($uncover_co$elm_theme$Theme$danger) 5947 }); 5948}; 5949var $author$project$W$Button$disabled = function (v) { 5950 return function (attrs) { 5951 return _Utils_update( 5952 attrs, 5953 {bV: v}); 5954 }; 5955}; 5956var $author$project$W$Button$ExtraSmall = 0; 5957var $author$project$W$Button$extraSmall = function (attrs) { 5958 return _Utils_update( 5959 attrs, 5960 {n: 0}); 5961}; 5962var $elm$html$Html$form = _VirtualDom_node('form'); 5963var $author$project$W$Button$Full = 0; 5964var $author$project$W$Button$full = function (attrs) { 5965 return _Utils_update( 5966 attrs, 5967 {y: 0}); 5968}; 5969var $author$project$W$Button$Icon = 1; 5970var $author$project$W$Button$icon = function (attrs) { 5971 return _Utils_update( 5972 attrs, 5973 {y: 1}); 5974}; 5975var $author$project$W$Button$Invisible = 2; 5976var $author$project$W$Button$invisible = function (attrs) { 5977 return _Utils_update( 5978 attrs, 5979 {x: 2}); 5980}; 5981var $author$project$W$Button$Large = 3; 5982var $author$project$W$Button$large = function (attrs) { 5983 return _Utils_update( 5984 attrs, 5985 {n: 3}); 5986}; 5987var $dtwrks$elm_book$ElmBook$Actions$logAction = function (action) { 5988 return A2($dtwrks$elm_book$ElmBook$Internal$Msg$LogAction, '', action); 5989}; 5990var $author$project$W$Button$noAttr = $elm$core$Basics$identity; 5991var $elm$html$Html$Events$alwaysPreventDefault = function (msg) { 5992 return _Utils_Tuple2(msg, true); 5993}; 5994var $elm$virtual_dom$VirtualDom$MayPreventDefault = function (a) { 5995 return {$: 2, a: a}; 5996}; 5997var $elm$html$Html$Events$preventDefaultOn = F2( 5998 function (event, decoder) { 5999 return A2( 6000 $elm$virtual_dom$VirtualDom$on, 6001 event, 6002 $elm$virtual_dom$VirtualDom$MayPreventDefault(decoder)); 6003 }); 6004var $elm$html$Html$Events$onSubmit = function (msg) { 6005 return A2( 6006 $elm$html$Html$Events$preventDefaultOn, 6007 'submit', 6008 A2( 6009 $elm$json$Json$Decode$map, 6010 $elm$html$Html$Events$alwaysPreventDefault, 6011 $elm$json$Json$Decode$succeed(msg))); 6012}; 6013var $author$project$W$Button$Outlined = 1; 6014var $author$project$W$Button$outlined = function (attrs) { 6015 return _Utils_update( 6016 attrs, 6017 {x: 1}); 6018}; 6019var $uncover_co$elm_theme$Theme$primaryAux = $uncover_co$elm_theme$Theme$cssVar('primary-aux'); 6020var $uncover_co$elm_theme$Theme$primaryAuxWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('primary-aux'); 6021var $uncover_co$elm_theme$Theme$primaryBackground = $uncover_co$elm_theme$Theme$cssVar('primary-bg'); 6022var $uncover_co$elm_theme$Theme$primaryBackgroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('primary-bg'); 6023var $uncover_co$elm_theme$Theme$primaryForeground = $uncover_co$elm_theme$Theme$cssVar('primary-fg'); 6024var $uncover_co$elm_theme$Theme$primaryForegroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('primary-fg'); 6025var $uncover_co$elm_theme$Theme$primary = {cV: $uncover_co$elm_theme$Theme$primaryAux, ab: $uncover_co$elm_theme$Theme$primaryAuxWithAlpha, bF: $uncover_co$elm_theme$Theme$primaryBackgroun
6025d, T: $uncover_co$elm_theme$Theme$primaryBackgroundWithAlpha, da: $uncover_co$elm_theme$Theme$primaryForeground, fs: $uncover_co$elm_theme$Theme$primaryForegroundWithAlpha}; 6026var $author$project$W$Button$primary = function (attrs) { 6027 return _Utils_update( 6028 attrs, 6029 { 6030 dQ: $author$project$W$Button$toButtonTheme($uncover_co$elm_theme$Theme$primary) 6031 }); 6032}; 6033var $author$project$W$Button$rounded = function (attrs) { 6034 return _Utils_update( 6035 attrs, 6036 {cz: true}); 6037}; 6038var $uncover_co$elm_theme$Theme$secondaryAux = $uncover_co$elm_theme$Theme$cssVar('secondary-aux'); 6039var $uncover_co$elm_theme$Theme$secondaryAuxWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('secondary-aux'); 6040var $uncover_co$elm_theme$Theme$secondaryBackground = $uncover_co$elm_theme$Theme$cssVar('secondary-bg'); 6041var $uncover_co$elm_theme$Theme$secondaryBackgroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('secondary-bg'); 6042var $uncover_co$elm_theme$Theme$secondaryForeground = $uncover_co$elm_theme$Theme$cssVar('secondary-fg'); 6043var $uncover_co$elm_theme$Theme$secondaryForegroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('secondary-fg'); 6044var $uncover_co$elm_theme$Theme$secondary = {cV: $uncover_co$elm_theme$Theme$secondaryAux, ab: $uncover_co$elm_theme$Theme$secondaryAuxWithAlpha, bF: $uncover_co$elm_theme$Theme$secondaryBackground, T: $uncover_co$elm_theme$Theme$secondaryBackgroundWithAlpha, da: $uncover_co$elm_theme$Theme$secondaryForeground, fs: $uncover_co$elm_theme$Theme$secondaryForegroundWithAlpha}; 6045var $author$project$W$Button$secondary = function (attrs) { 6046 return _Utils_update( 6047 attrs, 6048 { 6049 dQ: $author$project$W$Button$toButtonTheme($uncover_co$elm_theme$Theme$secondary) 6050 }); 6051}; 6052var $author$project$W$Button$Small = 1; 6053var $author$project$W$Button$small = function (attrs) { 6054 return _Utils_update( 6055 attrs, 6056 {n: 1}); 6057}; 6058var $uncover_co$elm_theme$Theme$successAux = $uncover_co$elm_theme$Theme$cssVar('success-aux'); 6059var $uncover_co$elm_theme$Theme$successAuxWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('success-aux'); 6060var $uncover_co$elm_theme$Theme$successBackground = $uncover_co$elm_theme$Theme$cssVar('success-bg'); 6061var $uncover_co$elm_theme$Theme$successBackgroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('success-bg'); 6062var $uncover_co$elm_theme$Theme$successForeground = $uncover_co$elm_theme$Theme$cssVar('success-fg'); 6063var $uncover_co$elm_theme$Theme$successForegroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('success-fg'); 6064var $uncover_co$elm_theme$Theme$success = {cV: $uncover_co$elm_theme$Theme$successAux, ab: $uncover_co$elm_theme$Theme$successAuxWithAlpha, bF: $uncover_co$elm_theme$Theme$successBackground, T: $uncover_co$elm_theme$Theme$successBackgroundWithAlpha, da: $uncover_co$elm_theme$Theme$successForeground, fs: $uncover_co$elm_theme$Theme$successForegroundWithAlpha}; 6065var $author$project$W$Button$success = function (attrs) { 6066 return _Utils_update( 6067 attrs, 6068 { 6069 dQ: $author$project$W$Button$toButtonTheme($uncover_co$elm_theme$Theme$success) 6070 }); 6071}; 6072var $author$project$W$Button$Base = 2; 6073var $author$project$W$Button$Basic = 0; 6074var $author$project$W$Button$Medium = 2; 6075var $uncover_co$elm_theme$Theme$neutralAux = $uncover_co$elm_theme$Theme$cssVar('neutral-aux'); 6076var $uncover_co$elm_theme$Theme$neutralAuxWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('neutral-aux'); 6077var $uncover_co$elm_theme$Theme$neutralBackground = $uncover_co$elm_theme$Theme$cssVar('neutral-bg'); 6078var $uncover_co$elm_theme$Theme$neutralBackgroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('neutral-bg'); 6079var $uncover_co$elm_theme$Theme$neutralForeground = $uncover_co$elm_theme$Theme$cssVar('neutral-fg'); 6080var $uncover_co$elm_theme$Theme$neutralForegroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('neutral-fg'); 6081var $uncover_co$elm_theme$Theme$neutral = {cV: $uncover_co$elm_theme$Theme$neutralAux, ab: $uncover_co$elm_theme$Theme$neutralAuxWithAlpha, bF: $uncover_co$elm_theme$Theme$neutralBackground, T: $uncover_co$elm_theme$Theme$neutralBackgroundWithAlpha, da: $uncover_co$elm_theme$Theme$neutralForeground, fs: $uncover_co$elm_theme$Theme$neutralForegroundWithAlpha}; 6082var $author$project$W$Button$defaultAttrs = { 6083 a2: 'ew-justify-center', 6084 bV: false, 6085 b$: _List_Nil, 6086 cz: false, 6087 n: 2, 6088 x: 0, 6089 dQ: $author$project$W$Button$toButtonTheme($uncover_co$elm_theme$Theme$neutral), 6090 y: 2 6091}; 6092var $author$project$W$Button$applyAttrs = function (attrs) { 6093 return A3( 6094 $elm$core$List$foldl, 6095 F2( 6096 function (_v0, a) { 6097 var fn = _v0; 6098 return fn(a); 6099 }), 6100 $author$project$W$Button$defaultAttrs, 6101 attrs); 6102}; 6103var $elm$core$Basics$neq = _Utils_notEqual;
6104var $author$project$W$Button$roundedAttrs = function (attrs) { 6105 var _v0 = _Utils_Tuple2(attrs.cz, attrs.n); 6106 if (!_v0.a) { 6107 return $elm$html$Html$Attributes$classList( 6108 _List_fromArray( 6109 [ 6110 _Utils_Tuple2('ew-rounded-lg', true), 6111 _Utils_Tuple2('before:ew-rounded-lg', attrs.x !== 1), 6112 _Utils_Tuple2('before:ew-rounded', attrs.x === 1) 6113 ])); 6114 } else { 6115 switch (_v0.b) { 6116 case 3: 6117 var _v1 = _v0.b; 6118 return $elm$html$Html$Attributes$classList( 6119 _List_fromArray( 6120 [ 6121 _Utils_Tuple2('ew-rounded-[20px]', true), 6122 _Utils_Tuple2('before:ew-rounded-[20px]', attrs.x !== 1), 6123 _Utils_Tuple2('before:ew-rounded-[18px]', attrs.x === 1) 6124 ])); 6125 case 2: 6126 var _v2 = _v0.b; 6127 return $elm$html$Html$Attributes$classList( 6128 _List_fromArray( 6129 [ 6130 _Utils_Tuple2('ew-rounded-[20px]', true), 6131 _Utils_Tuple2('before:ew-rounded-[20px]', attrs.x !== 1), 6132 _Utils_Tuple2('before:ew-rounded-[18px]', attrs.x === 1) 6133 ])); 6134 case 1: 6135 var _v3 = _v0.b; 6136 return $elm$html$Html$Attributes$classList( 6137 _List_fromArray( 6138 [ 6139 _Utils_Tuple2('ew-rounded-[16px]', true), 6140 _Utils_Tuple2('before:ew-rounded-[16px]', attrs.x !== 1), 6141 _Utils_Tuple2('before:ew-rounded-[14px]', attrs.x === 1) 6142 ])); 6143 default: 6144 var _v4 = _v0.b; 6145 return $elm$html$Html$Attributes$classList( 6146 _List_fromArray( 6147 [ 6148 _Utils_Tuple2('ew-rounded-[12px]', true), 6149 _Utils_Tuple2('before:ew-rounded-[12px]', attrs.x !== 1), 6150 _Utils_Tuple2('before:ew-rounded-[12px]', attrs.x === 1) 6151 ])); 6152 } 6153 } 6154}; 6155var $uncover_co$elm_theme$Theme$baseBackground = $uncover_co$elm_theme$Theme$cssVar('base-bg'); 6156var $author$project$W$Button$styleAttrs = function (attrs) { 6157 var _v0 = attrs.x; 6158 switch (_v0) { 6159 case 0: 6160 return _List_fromArray( 6161 [ 6162 A2($elm$html$Html$Attributes$style, 'color', attrs.dQ.cV), 6163 A2($elm$html$Html$Attributes$style, 'background', attrs.dQ.bF), 6164 $elm$html$Html$Attributes$class('ew-border-0'), 6165 $elm$html$Html$Attributes$class('before:ew-block before:ew-content-[\'\'] before:ew-absolute before:ew-inset-0 before:ew-pointer-events-none'), 6166 $elm$html$Html$Attributes$class('before:ew-z-0 before:ew-transition before:ew-duration-200 before:ew-bg-current before:ew-opacity-0'), 6167 $elm$html$Html$Attributes$class('hover:before:ew-opacity-[0.07] active:before:ew-opacity-[0.15]') 6168 ]); 6169 case 1: 6170 return _List_fromArray( 6171 [ 6172 A2($elm$html$Html$Attributes$style, 'color', attrs.dQ.da), 6173 A2($elm$html$Html$Attributes$style, 'border-color', attrs.dQ.da), 6174 A2($elm$html$Html$Attributes$style, 'background', $uncover_co$elm_theme$Theme$baseBackground), 6175 $elm$html$Html$Attributes$class('ew-border-solid ew-border-[3px]'), 6176 $elm$html$Html$Attributes$class('before:ew-content-[\'\'] before:ew-block before:ew-absolute before:ew-inset-0 before:ew-bg-current before:ew-opacity-0'), 6177 $elm$html$Html$Attributes$class('hover:before:ew-opacity-10 active:before:ew-opacity-20 before:ew-transition before:ew-duration-200') 6178 ]); 6179 default: 6180 return _List_fromArray( 6181 [ 6182 $elm$html$Html$Attributes$class('ew-relative ew-bg-transparent ew-border-0'), 6183 $elm$html$Html$Attributes$class('before:ew-content-[\'\'] before:ew-block before:ew-absolute before:ew-inset-0 before:ew-bg-current before:ew-opacity-0'), 6184 $elm$html$Html$Attributes$class('hover:before:ew-opacity-10 active:before:ew-opacity-20 before:ew-transition before:ew-duration-200'), 6185 A2($elm$html$Html$Attributes$style, 'color', attrs.dQ.da) 6186 ]); 6187 } 6188}; 6189var $author$project$W$Button$attributes = function (attrs) { 6190 return _Utils_ap( 6191 attrs.b$, 6192 _Utils_ap( 6193 $author$project$W$Button$styleAttrs(attrs), 6194 _List_fromArray( 6195 [ 6196 $elm$html$Html$Attributes$disabled(attrs.bV), 6197 $author$project$W$Button$roundedAttrs(attrs), 6198 $elm$html$Html$Attributes$class(attrs.a2), 6199 $elm$html$Html$Attributes$class('ew-focusable ew-box-border ew-group/button'), 6200 $elm$html$Html$Attributes$class('ew-relative ew-inline-flex ew-items-center ew-m-0 ew-py-0'), 6201 $elm$html$Html$Attributes$class('ew-font-text ew-font-semibold ew-leading-none ew-tracking-wider ew-no-underline'), 6202 $elm$html$Html$Attributes$class('disabled:ew-pointer-events-none disabled:ew-opacity-60'), 6203 $elm$html$Html$Attributes$classList( 6204 _List_fromArray( 6205 [ 6206 _Utils_Tuple2('ew-h-[24px] ew-text-xs', !attrs.n), 6207 _Utils_Tuple2('ew-h-[32px] ew-text-sm', attrs.n === 1), 6208 _Utils_Tuple2('ew-h-[40px] ew-text-base', attrs.n === 2), 6209 _Utils_Tuple2('ew-h-[48px] ew-text-base', attrs.n === 3), 6210 _Utils_Tuple2('ew-min-w-[24px]', (!attrs.n) && (attrs.y === 1)), 6211 _Utils_Tuple2('ew-min-w-[32px]', (attrs.n === 1) && (attrs.y === 1)), 6212 _Utils_Tuple2('ew-min-w-[40px]', (attrs.n === 2) && (attrs.y === 1)), 6213 _Utils_Tuple2('ew-min-w-[48px]', (attrs.n === 3) && (attrs.y === 1)), 6214 _Utils_Tuple2('ew-px-1', attrs.y === 1), 6215 _Utils_Tuple2('ew-px-2 ew-gap-2', (!attrs.n) && (attrs.y !== 1)), 6216 _Utils_Tuple2('ew-px-3 ew-gap-2', (attrs.n === 1) && (attrs.y !== 1)), 6217 _Utils_Tuple2('ew-px-5 ew-gap-3', (attrs.n === 2) && (attrs.y !== 1)), 6218 _Utils_Tuple2('ew-px-6 ew-gap-4', (attrs.n === 3) && (attrs.y !== 1)), 6219 _Utils_Tuple2('ew-w-full', !attrs.y) 6220 ])) 6221 ]))); 6222}; 6223var $author$project$W$Button$view = F2( 6224 function (attrs_, props) { 6225 var attrs = $author$project$W$Button$applyAttrs(attrs_); 6226 return A2( 6227 $elm$html$Html$button, 6228 A2( 6229 $elm$core$List$cons, 6230 $elm$html$Html$Events$onClick(props.s), 6231 $author$project$W$Button$attributes(attrs)), 6232 props.aK); 6233 }); 6234var $author$project$UI$viewIcon = A2( 6235 $elm$html$Html$div, 6236 _List_fromArray( 6237 [ 6238 A2($elm$html$Html$Attributes$style, 'display', 'inline-block'), 6239 A2($elm$html$Html$Attributes$style, 'width', '20px'), 6240 A2($elm$html$Html$Attributes$style, 'height', '20px'), 6241 A2($elm$html$Html$Attributes$style, 'border-radius', '100%'), 6242 A2($elm$html$Html$Attributes$style, 'border', '2px solid currentColor') 6243 ]), 6244 _List_Nil); 6245var $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type'); 6246var $author$project$W$Button$viewSubmit = F2( 6247 function (attrs_, label) { 6248 var attrs = $author$project$W$Button$applyAttrs(attrs_); 6249 return A2( 6250 $elm$html$Html$button, 6251 A2( 6252 $elm$core$List$cons, 6253 $elm$html$Html$Attributes$type_('submit'), 6254 $author$project$W$Button$attributes(attrs)), 6255 label); 6256 }); 6257var $uncover_co$elm_theme$Theme$warningAux = $uncover_co$elm_theme$Theme$cssVar('warning-aux'); 6258var $uncover_co$elm_theme$Theme$warningAuxWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('warning-aux');
6259var $uncover_co$elm_theme$Theme$warningBackground = $uncover_co$elm_theme$Theme$cssVar('warning-bg'); 6260var $uncover_co$elm_theme$Theme$warningBackgroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('warning-bg'); 6261var $uncover_co$elm_theme$Theme$warningForeground = $uncover_co$elm_theme$Theme$cssVar('warning-fg'); 6262var $uncover_co$elm_theme$Theme$warningForegroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('warning-fg'); 6263var $uncover_co$elm_theme$Theme$warning = {cV: $uncover_co$elm_theme$Theme$warningAux, ab: $uncover_co$elm_theme$Theme$warningAuxWithAlpha, bF: $uncover_co$elm_theme$Theme$warningBackground, T: $uncover_co$elm_theme$Theme$warningBackgroundWithAlpha, da: $uncover_co$elm_theme$Theme$warningForeground, fs: $uncover_co$elm_theme$Theme$warningForegroundWithAlpha}; 6264var $author$project$W$Button$warning = function (attrs) { 6265 return _Utils_update( 6266 attrs, 6267 { 6268 dQ: $author$project$W$Button$toButtonTheme($uncover_co$elm_theme$Theme$warning) 6269 }); 6270}; 6271var $author$project$Chapters$Core$Buttons$chapter_ = A2( 6272 $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList, 6273 '\nButtons, buttons... What can we say? You can press them and hope something happens! It usually does! ð\n\n---\n\nIt\'s important to have different types and colors of buttons at our disposal so we can communicate the different semantic needs of our applications.\n', 6274 A2( 6275 $dtwrks$elm_book$ElmBook$Chapter$withComponentList, 6276 _List_fromArray( 6277 [ 6278 _Utils_Tuple2( 6279 'Different Colors', 6280 $author$project$UI$hSpacer( 6281 A2( 6282 $elm$core$List$map, 6283 function (attr) { 6284 return A2( 6285 $author$project$W$Button$view, 6286 _List_fromArray( 6287 [attr]), 6288 { 6289 aK: _List_fromArray( 6290 [ 6291 $elm$html$Html$text('Button') 6292 ]), 6293 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 6294 }); 6295 }, 6296 _List_fromArray( 6297 [$author$project$W$Button$noAttr, $author$project$W$Button$primary, $author$project$W$Button$secondary, $author$project$W$Button$success, $author$project$W$Button$warning, $author$project$W$Button$danger])))), 6298 _Utils_Tuple2( 6299 'Different Sizes', 6300 $author$project$UI$hSpacer( 6301 A2( 6302 $elm$core$List$map, 6303 function (attr) { 6304 return A2( 6305 $author$project$W$Button$view, 6306 _List_fromArray( 6307 [attr]), 6308 { 6309 aK: _List_fromArray( 6310 [ 6311 $elm$html$Html$text('Button') 6312 ]), 6313 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 6314 }); 6315 }, 6316 _List_fromArray( 6317 [$author$project$W$Button$large, $author$project$W$Button$noAttr, $author$project$W$Button$small, $author$project$W$Button$extraSmall])))), 6318 _Utils_Tuple2( 6319 'Different Styles', 6320 $author$project$UI$hSpacer( 6321 A2( 6322 $elm$core$List$map, 6323 function (attr) { 6324 return A2( 6325 $author$project$W$Button$view, 6326 _List_fromArray( 6327 [attr]), 6328 { 6329 aK: _List_fromArray( 6330 [ 6331 $elm$html$Html$text('Button') 6332 ]), 6333 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 6334 }); 6335 }, 6336 _List_fromArray( 6337 [ 6338 $author$project$W$Button$noAttr, 6339 $author$project$W$Button$outlined, 6340 $author$project$W$Button$invisible, 6341 $author$project$W$Button$disabled(true) 6342 ])))), 6343 _Utils_Tuple2( 6344 'Different Aspect Ratios & Radius Sizes', 6345 $author$project$UI$hSpacer( 6346 A2( 6347 $elm$core$List$map, 6348 function (attrs) { 6349 return A2( 6350 $author$project$W$Button$view, 6351 attrs, 6352 { 6353 aK: _List_fromArray( 6354 [$author$project$UI$viewIcon]), 6355 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 6356 }); 6357 }, 6358 _List_fromArray( 6359 [ 6360 _List_fromArray( 6361 [$author$project$W$Button$icon]), 6362 _List_Nil, 6363 _List_fromArray( 6364 [$author$project$W$Button$icon, $author$project$W$Button$rounded]), 6365 _List_fromArray( 6366 [$author$project$W$Button$rounded]) 6367 ])))), 6368 _Utils_Tuple2( 6369 'With icons + left alignment', 6370 $author$project$UI$hSpacer( 6371 A2( 6372 $elm$core$List$map, 6373 function (attrs) { 6374 return A2( 6375 $author$project$W$Button$view, 6376 attrs, 6377 { 6378 aK: _List_fromArray( 6379 [ 6380 A2( 6381 $elm$html$Html$span, 6382 _List_fromArray( 6383 [ 6384 $elm$html$Html$Attributes$class('ew-opacity-50') 6385 ]), 6386 _List_fromArray( 6387 [$author$project$UI$viewIcon])), 6388 $elm$html$Html$text('Button') 6389 ]), 6390 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 6391 }); 6392 }, 6393 _List_fromArray( 6394 [ 6395 _List_fromArray( 6396 [$author$project$W$Button$full, $author$project$W$Button$large, $author$project$W$Button$alignLeft]), 6397 _List_fromArray( 6398 [$author$project$W$Button$full, $author$project$W$Button$alignLeft]), 6399 _List_fromArray( 6400 [$author$project$W$Button$full, $author$project$W$Button$small, $author$project$W$Button$alignLeft]) 6401 ])))), 6402 _Utils_Tuple2( 6403 '100% Width', 6404 $author$project$UI$hSpacer( 6405 A2( 6406 $elm$core$List$map, 6407 function (attr) { 6408 return A2( 6409 $author$project$W$Button$view, 6410 _List_fromArray( 6411 [attr]), 6412 { 6413 aK: _List_fromArray( 6414 [ 6415 $elm$html$Html$text('Button') 6416 ]), 6417 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 6418 }); 6419 }, 6420 _List_fromArray( 6421 [$author$project$W$Button$full])))), 6422 _Utils_Tuple2( 6423 'Submit button inside a form', 6424 A2( 6425 $elm$html$Html$form, 6426 _List_fromArray( 6427 [ 6428 A2($elm$html$Html$Attributes$style, 'margin', '0'), 6429 $elm$html$Html$Events$onSubmit( 6430 $dtwrks$elm_book$ElmBook$Actions$logAction('Form submitted!')) 6431 ]), 6432 _List_fromArray( 6433 [ 6434 A2( 6435 $author$project$W$Button$viewSubmit, 6436 _List_Nil, 6437 _List_fromArray( 6438 [ 6439 $elm$html$Html$text('Submit') 6440 ])) 6441 ]))) 6442 ]), 6443 $dtwrks$elm_book$ElmBook$Chapter$chapter('Buttons'))); 6444var $author$project$W$Container$Attribute = $elm$core$Basics$identity; 6445var $author$project$W$Container$HorizontalCenter = 2; 6446var $author$project$W$Container$alignCenterX = function (attr) { 6447 return _Utils_update( 6448 attr, 6449 { 6450 L: $elm$core$Maybe$Just(2) 6451 }); 6452}; 6453var $author$project$W$Container$VerticalCenter = 1; 6454var $author$project$W$Container$alignCenterY = function (attr) { 6455 return _Utils_update( 6456 attr, 6457 { 6458 as: $elm$core$Maybe$Just(1) 6459 }); 6460}; 6461var $author$project$W$Container$Right = 1; 6462var $author$project$W$Container$alignRight = function (attr) { 6463 return _Utils_update( 6464 attr, 6465 { 6466 L: $elm$core$Maybe$Just(1) 6467 }); 6468}; 6469var $author$project$W$Container$background = function (v) { 6470 return function (attr) { 6471 return _Utils_update( 6472 attr, 6473 {
6474 bF: $elm$core$Maybe$Just(v) 6475 }); 6476 }; 6477}; 6478var $uncover_co$elm_theme$Theme$baseAuxWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('base-aux'); 6479var $author$project$W$Container$card = function (attr) { 6480 return _Utils_update( 6481 attr, 6482 { 6483 bF: $elm$core$Maybe$Just($uncover_co$elm_theme$Theme$baseBackground), 6484 F: attr.F + ' ew-shadow ew-rounded' 6485 }); 6486}; 6487var $author$project$W$Container$addClass = function (_class) { 6488 return function (attr) { 6489 return _Utils_update( 6490 attr, 6491 {F: attr.F + (' ' + _class)}); 6492 }; 6493}; 6494var $author$project$W$Container$gap_2 = $author$project$W$Container$addClass('ew-gap-2'); 6495var $author$project$W$Container$Horizontal = 1; 6496var $author$project$W$Container$horizontal = function (attr) { 6497 return _Utils_update( 6498 attr, 6499 {aN: 1}); 6500}; 6501var $elm$core$String$append = _String_append; 6502var $author$project$W$Container$Vertical = 0; 6503var $author$project$W$Container$defaultAttrs = {bF: $elm$core$Maybe$Nothing, F: '', L: $elm$core$Maybe$Nothing, b$: _List_Nil, b1: false, ce: 'div', aN: 0, bu: _List_Nil, as: $elm$core$Maybe$Nothing, cQ: true}; 6504var $author$project$W$Container$applyAttrs = function (attrs) { 6505 return A3( 6506 $elm$core$List$foldl, 6507 F2( 6508 function (_v0, a) { 6509 var fn = _v0; 6510 return fn(a); 6511 }), 6512 $author$project$W$Container$defaultAttrs, 6513 attrs); 6514}; 6515var $author$project$W$Container$applyAttrsTo = F2( 6516 function (attrs, _default) { 6517 return A3( 6518 $elm$core$List$foldl, 6519 F2( 6520 function (_v0, a) { 6521 var fn = _v0; 6522 return fn(a); 6523 }), 6524 _default, 6525 attrs); 6526 }); 6527var $elm$core$String$isEmpty = function (string) { 6528 return string === ''; 6529}; 6530var $author$project$W$Container$layoutClass = function (attrs) { 6531 var _v0 = attrs.aN; 6532 if (!_v0) { 6533 var yAxis = function () { 6534 var _v8 = attrs.as; 6535 if (!_v8.$) { 6536 switch (_v8.a) { 6537 case 0: 6538 var _v9 = _v8.a; 6539 return 'ew-justify-start'; 6540 case 1: 6541 var _v10 = _v8.a; 6542 return 'ew-justify-center'; 6543 default: 6544 var _v11 = _v8.a; 6545 return 'ew-justify-end'; 6546 } 6547 } else { 6548 return ''; 6549 } 6550 }(); 6551 var xAxis = function () { 6552 var _v1 = attrs.L; 6553 if (!_v1.$) { 6554 switch (_v1.a) { 6555 case 0: 6556 var _v2 = _v1.a; 6557 return 'ew-items-start'; 6558 case 2: 6559 var _v3 = _v1.a; 6560 return 'ew-items-center'; 6561 case 1: 6562 var _v4 = _v1.a; 6563 return 'ew-items-end'; 6564 case 3: 6565 var _v5 = _v1.a; 6566 return ''; 6567 case 4: 6568 var _v6 = _v1.a; 6569 return ''; 6570 default: 6571 var _v7 = _v1.a; 6572 return ''; 6573 } 6574 } else { 6575 return ''; 6576 } 6577 }(); 6578 return 'ew-flex-col ' + (yAxis + (' ' + xAxis)); 6579 } else { 6580 var yAxis = function () { 6581 var _v19 = attrs.as; 6582 if (!_v19.$) { 6583 switch (_v19.a) { 6584 case 0: 6585 var _v20 = _v19.a; 6586 return 'ew-items-start'; 6587 case 1: 6588 var _v21 = _v19.a; 6589 return 'ew-items-center'; 6590 default: 6591 var _v22 = _v19.a; 6592 return 'ew-items-end'; 6593 } 6594 } else { 6595 return 'ew-items-start'; 6596 } 6597 }(); 6598 var xAxis = function () { 6599 var _v12 = attrs.L; 6600 if (!_v12.$) { 6601 switch (_v12.a) { 6602 case 0: 6603 var _v13 = _v12.a; 6604 return 'ew-justify-start'; 6605 case 2: 6606 var _v14 = _v12.a; 6607 return 'ew-justify-center'; 6608 case 1: 6609 var _v15 = _v12.a; 6610 return 'ew-justify-end'; 6611 case 3: 6612 var _v16 = _v12.a; 6613 return 'ew-justify-between'; 6614 case 4: 6615 var _v17 = _v12.a; 6616 return 'ew-justify-around'; 6617 default: 6618 var _v18 = _v12.a; 6619 return 'ew-justify-stretch'; 6620 } 6621 } else { 6622 return 'ew-justify-start'; 6623 } 6624 }(); 6625 return 'ew-flex-row ' + (yAxis + (' ' + xAxis)); 6626 } 6627}; 6628var $elm$core$String$replace = F3( 6629 function (before, after, string) { 6630 return A2( 6631 $elm$core$String$join, 6632 after, 6633 A2($elm$core$String$split, before, string)); 6634 }); 6635var $author$project$W$Container$largeScreen = function (largeAttr_) { 6636 return function (attr) { 6637 var largeAttr = $author$project$W$Container$applyAttrs(largeAttr_); 6638 var padding = $elm$core$String$isEmpty(largeAttr.F) ? '' : A3( 6639 $elm$core$String$replace, 6640 ' ', 6641 ' lg:', 6642 A2( 6643 $elm$core$String$append, 6644 'lg:', 6645 $elm$core$String$trim(largeAttr.F))); 6646 var allAttr = A2($author$project$W$Container$applyAttrsTo, largeAttr_, attr); 6647 var layout = A3( 6648 $elm$core$String$replace, 6649 ' ', 6650 ' lg:', 6651 A2( 6652 $elm$core$String$append, 6653 'lg:', 6654 $elm$core$String$trim(
6655 $author$project$W$Container$layoutClass(allAttr)))); 6656 return _Utils_update( 6657 attr, 6658 {F: attr.F + (' ' + (layout + (' ' + padding)))}); 6659 }; 6660}; 6661var $author$project$W$Container$pad_8 = $author$project$W$Container$addClass('ew-p-8'); 6662var $elm$core$List$repeatHelp = F3( 6663 function (result, n, value) { 6664 repeatHelp: 6665 while (true) { 6666 if (n <= 0) { 6667 return result; 6668 } else { 6669 var $temp$result = A2($elm$core$List$cons, value, result), 6670 $temp$n = n - 1, 6671 $temp$value = value; 6672 result = $temp$result; 6673 n = $temp$n; 6674 value = $temp$value; 6675 continue repeatHelp; 6676 } 6677 } 6678 }); 6679var $elm$core$List$repeat = F2( 6680 function (n, value) { 6681 return A3($elm$core$List$repeatHelp, _List_Nil, n, value); 6682 }); 6683var $author$project$W$Container$SpaceAround = 4; 6684var $author$project$W$Container$spaceAround = function (attr) { 6685 return _Utils_update( 6686 attr, 6687 { 6688 L: $elm$core$Maybe$Just(4) 6689 }); 6690}; 6691var $author$project$W$Container$SpaceBetween = 3; 6692var $author$project$W$Container$spaceBetween = function (attr) { 6693 return _Utils_update( 6694 attr, 6695 { 6696 L: $elm$core$Maybe$Just(3) 6697 }); 6698}; 6699var $uncover_co$elm_theme$Theme$baseAux = $uncover_co$elm_theme$Theme$cssVar('base-aux'); 6700var $author$project$W$Container$extraRounded = $author$project$W$Container$addClass('ew-rounded-lg'); 6701var $author$project$W$Container$pad_4 = $author$project$W$Container$addClass('ew-p-4'); 6702var $elm$virtual_dom$VirtualDom$node = function (tag) { 6703 return _VirtualDom_node( 6704 _VirtualDom_noScript(tag)); 6705}; 6706var $elm$html$Html$node = $elm$virtual_dom$VirtualDom$node; 6707var $elm$virtual_dom$VirtualDom$attribute = F2( 6708 function (key, value) { 6709 return A2( 6710 _VirtualDom_attribute, 6711 _VirtualDom_noOnOrFormAction(key), 6712 _VirtualDom_noJavaScriptOrHtmlUri(value)); 6713 }); 6714var $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute; 6715var $uncover_co$elm_theme$Theme$styles = function (xs) { 6716 return A2( 6717 $elm$html$Html$Attributes$attribute, 6718 'style', 6719 A2( 6720 $elm$core$String$join, 6721 ';', 6722 A2( 6723 $elm$core$List$map, 6724 function (_v0) { 6725 var k = _v0.a; 6726 var v = _v0.b; 6727 return k + (':' + v); 6728 }, 6729 xs))); 6730}; 6731var $author$project$W$Container$view = F2( 6732 function (attrs_, children) { 6733 var attrs = $author$project$W$Container$applyAttrs(attrs_); 6734 var displayClass = attrs.b1 ? 'ew-inline-flex' : 'ew-flex'; 6735 var layoutClass_ = $author$project$W$Container$layoutClass(attrs); 6736 var styleAttrs_ = function () { 6737 var _v0 = attrs.bF; 6738 if (!_v0.$) { 6739 var background_ = _v0.a; 6740 return $uncover_co$elm_theme$Theme$styles( 6741 A2( 6742 $elm$core$List$cons, 6743 _Utils_Tuple2('background', background_), 6744 attrs.bu)); 6745 } else { 6746 return $uncover_co$elm_theme$Theme$styles(attrs.bu); 6747 } 6748 }(); 6749 var wrapClass = (attrs.cQ && (attrs.aN === 1)) ? 'ew-flex-wrap' : ''; 6750 return A3( 6751 $elm$html$Html$node, 6752 attrs.ce, 6753 _Utils_ap( 6754 attrs.b$, 6755 _List_fromArray( 6756 [ 6757 $elm$html$Html$Attributes$class(attrs.F), 6758 $elm$html$Html$Attributes$class(displayClass), 6759 $elm$html$Html$Attributes$class(wrapClass), 6760 $elm$html$Html$Attributes$class(layoutClass_), 6761 $elm$html$Html$Attributes$class('ew-box-border'), 6762 styleAttrs_ 6763 ])), 6764 children); 6765 }); 6766var $author$project$Chapters$Core$Container$square = A2( 6767 $author$project$W$Container$view, 6768 _List_fromArray( 6769 [ 6770 $author$project$W$Container$pad_4, 6771 $author$project$W$Container$background($uncover_co$elm_theme$Theme$baseAux), 6772 $author$project$W$Container$extraRounded 6773 ]), 6774 _List_Nil); 6775var $author$project$Chapters$Core$Container$chapter_ = A2( 6776 $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList, 6777 '\nContainers are flexible elements that can be used for responsive padding, spacing and layouting of child elements. They also accept a few styles like shadows, rounded borders and colored backgrounds.\n\n---\n\nIf you\'re using something like [Elm-UI](https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/) or [TailwindCSS](https://tailwindcss.com/) then you can probably skip this widget and use your preferred method directly!\n\nHowever, we wanted to give the opportunity for elm-widget users to reach farther in their app development without the need of using any other external packages.\n', 6778 A2( 6779 $dtwrks$elm_book$ElmBook$Chapter$withComponentList, 6780 _List_fromArray( 6781 [ 6782 _Utils_Tuple2( 6783 'Horizontal + Default flow', 6784 A2( 6785 $author$project$W$Container$view, 6786 _List_fromArray( 6787 [ 6788 $author$project$W$Container$pad_8, 6789 $author$project$W$Container$gap_2, 6790 $author$project$W$Container$horizontal, 6791 $author$project$W$Container$background( 6792 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)) 6793 ]), 6794 A2($elm$core$List$repeat, 3, $author$project$Chapters$Core$Container$square))), 6795 _Utils_Tuple2( 6796 'Horizontal + Space between elements', 6797 A2( 6798 $author$project$W$Container$view, 6799 _List_fromArray( 6800 [ 6801 $author$project$W$Container$pad_8, 6802 $author$project$W$Container$gap_2, 6803 $author$project$W$Container$horizontal, 6804 $author$project$W$Container$spaceBetween, 6805 $author$project$W$Container$background( 6806 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)) 6807 ]), 6808 _List_fromArray( 6809 [$author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square]))), 6810 _Utils_Tuple2( 6811 'Horizontal + Space around elements', 6812 A2( 6813 $author$project$W$Container$view, 6814 _List_fromArray( 6815 [ 6816 $author$project$W$Container$pad_8, 6817 $author$project$W$Container$gap_2, 6818 $author$project$W$Container$horizontal, 6819 $author$project$W$Container$spaceAround, 6820 $author$project$W$Container$background( 6821 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)) 6822 ]), 6823 _List_fromArray( 6824 [$author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square]))), 6825 _Utils_Tuple2( 6826 'Elements centered on both axis with some gap between them', 6827 A2( 6828 $author$project$W$Container$view, 6829 _List_fromArray( 6830 [ 6831 $author$project$W$Container$pad_8, 6832 $author$project$W$Container$gap_2, 6833 $author$project$W$Container$background( 6834 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)), 6835 $author$project$W$Container$alignCenterX, 6836 $author$project$W$Container$alignCenterY 6837 ]), 6838 _List_fromArray( 6839 [$author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square]))), 6840 _Utils_Tuple2( 6841 'Elements centered on the Y axis and aligned right with some gap between them', 6842 A2( 6843 $author$project$W$Container$view, 6844 _List_fromArray( 6845 [ 6846 $author$project$W$Container$pad_8, 6847 $author$project$W$Container$gap_2, 6848 $author$project$W$Container$background( 6849 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)), 6850 $author$project$W$Container$alignRight, 6851 $author$project$W$Container$alignCenterY 6852 ]), 6853 _List_fromArray( 6854 [$author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square]))), 6855 _Utils_Tuple2( 6856 'Horizontal only on large screens', 6857 A2( 6858 $author$project$W$Container$view, 6859 _List_fromArray( 6860 [ 6861 $author$project$W$Container$pad_8, 6862 $author$project$W$Container$gap_2, 6863 $author$project$W$Container$background( 6864 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)), 6865 $author$project$W$Container$alignCenterX, 6866 $author$project$W$Container$alignCenterY, 6867 $author$project$W$Container$largeScreen( 6868 _List_fromArray( 6869 [$author$project$W$Container$horizontal])) 6870 ]), 6871 _List_fromArray( 6872 [$author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square, $author$project$Chapters$Core$Container$square]))), 6873 _Utils_Tuple2( 6874 'Using the card attribute to set background, borders and shadows at the same time', 6875 A2( 6876 $author$project$W$Container$view, 6877 _List_fromArray( 6878 [ 6879 $author$project$W$Container$pad_8, 6880 $author$project$W$Container$background( 6881 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)), 6882 $author$project$W$Container$alignCenterX, 6883 $author$project$W$Container$alignCenterY 6884 ]), 6885 _List_fromArray( 6886 [ 6887 A2( 6888 $author$project$W$Container$view, 6889 _List_fromArray( 6890 [$author$project$W$Container$pad_8, $author$project$W$Container$card]), 6891 _List_Nil) 6892 ]))) 6893 ]), 6894 $dtwrks$elm_book$ElmBook$Chapter$chapter('Containers'))); 6895var $author$project$W$Divider$Attribute = $elm$core$Basics$identity; 6896var $author$project$W$Divider$color = function (v) { 6897 return function (attrs) { 6898 return _Utils_update( 6899 attrs, 6900 {U: v}); 6901 }; 6902}; 6903var $author$project$W$Divider$margins = function (v) { 6904 return function (attrs) { 6905 return _Utils_update( 6906 attrs, 6907 {an: v}); 6908 }; 6909}; 6910var $author$project$W$Divider$vertical = function (attrs) { 6911 return _Utils_update( 6912 attrs, 6913 {I: true}); 6914}; 6915var $author$project$W$Divider$defaultAttrs = { 6916 U: $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.2), 6917 an: 0,
6918 I: false 6919}; 6920var $author$project$W$Divider$applyAttrs = function (attrs) { 6921 return A3( 6922 $elm$core$List$foldl, 6923 F2( 6924 function (_v0, a) { 6925 var fn = _v0; 6926 return fn(a); 6927 }), 6928 $author$project$W$Divider$defaultAttrs, 6929 attrs); 6930}; 6931var $elm$html$Html$hr = _VirtualDom_node('hr'); 6932var $elm$core$List$isEmpty = function (xs) { 6933 if (!xs.b) { 6934 return true; 6935 } else { 6936 return false; 6937 } 6938}; 6939var $elm$core$List$maybeCons = F3( 6940 function (f, mx, xs) { 6941 var _v0 = f(mx); 6942 if (!_v0.$) { 6943 var x = _v0.a; 6944 return A2($elm$core$List$cons, x, xs); 6945 } else { 6946 return xs; 6947 } 6948 }); 6949var $elm$core$List$filterMap = F2( 6950 function (f, xs) { 6951 return A3( 6952 $elm$core$List$foldr, 6953 $elm$core$List$maybeCons(f), 6954 _List_Nil, 6955 xs); 6956 }); 6957var $uncover_co$elm_theme$Theme$stylesIf = function (xs) { 6958 return A2( 6959 $elm$html$Html$Attributes$attribute, 6960 'style', 6961 A2( 6962 $elm$core$String$join, 6963 ';', 6964 A2( 6965 $elm$core$List$filterMap, 6966 function (_v0) { 6967 var k = _v0.a; 6968 var v = _v0.b; 6969 var f = _v0.c; 6970 return f ? $elm$core$Maybe$Just(k + (':' + v)) : $elm$core$Maybe$Nothing; 6971 }, 6972 xs))); 6973}; 6974var $author$project$W$Divider$view = F2( 6975 function (attrs_, children) { 6976 var attrs = $author$project$W$Divider$applyAttrs(attrs_); 6977 return $elm$core$List$isEmpty(children) ? A2( 6978 $elm$html$Html$hr, 6979 _List_fromArray( 6980 [ 6981 $elm$html$Html$Attributes$class('ew-self-stretch ew-border-solid ew-border-0 ew-m-0 ew-outline-0 ew-shadow-none ew-appearance-none'), 6982 $elm$html$Html$Attributes$classList( 6983 _List_fromArray( 6984 [ 6985 _Utils_Tuple2('ew-border-t-2', !attrs.I), 6986 _Utils_Tuple2('ew-border-l-2', attrs.I) 6987 ])), 6988 $uncover_co$elm_theme$Theme$stylesIf( 6989 _List_fromArray( 6990 [ 6991 _Utils_Tuple3('border-color', attrs.U, true), 6992 _Utils_Tuple3( 6993 'margin', 6994 '0 ' + ($elm$core$String$fromInt(attrs.an) + 'px'), 6995 attrs.I), 6996 _Utils_Tuple3( 6997 'margin', 6998 $elm$core$String$fromInt(attrs.an) + 'px 0', 6999 !attrs.I) 7000 ])) 7001 ]), 7002 _List_Nil) : A2( 7003 $elm$html$Html$div, 7004 _List_fromArray( 7005 [ 7006 $elm$html$Html$Attributes$class('ew-self-stretch ew-flex ew-items-center ew-justify-center ew-gap-1.5 ew-leading-none'), 7007 $elm$html$Html$Attributes$class('ew-font-text ew-text-sm'), 7008 $elm$html$Html$Attributes$class('before:ew-content-[\'\'] before:ew-block before:ew-grow'), 7009 $elm$html$Html$Attributes$class('after:ew-content-[\'\'] after:ew-block after:ew-grow'), 7010 $elm$html$Html$Attributes$class('before:ew-bg-current after:ew-bg-current'), 7011 $elm$html$Html$Attributes$classList( 7012 _List_fromArray( 7013 [ 7014 _Utils_Tuple2('before:ew-h-0.5 after:ew-h-0.5', !attrs.I), 7015 _Utils_Tuple2('ew-flex-col before:ew-w-0.5 after:ew-w-0.5', attrs.I) 7016 ])), 7017 $uncover_co$elm_theme$Theme$stylesIf( 7018 _List_fromArray( 7019 [ 7020 _Utils_Tuple3('color', attrs.U, true), 7021 _Utils_Tuple3( 7022 'width', 7023 $elm$core$String$fromInt((attrs.an * 2) + 2) + 'px', 7024 attrs.I), 7025 _Utils_Tuple3( 7026 'height', 7027 $elm$core$String$fromInt((attrs.an * 2) + 2) + 'px', 7028 !attrs.I) 7029 ])) 7030 ]), 7031 _List_fromArray( 7032 [ 7033 A2( 7034 $elm$html$Html$span, 7035 _List_fromArray( 7036 [ 7037 $elm$html$Html$Attributes$class('ew-text-base-fg') 7038 ]), 7039 children) 7040 ])); 7041 }); 7042var $author$project$Chapters$Core$Divider$chapter_ = A2( 7043 $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList, 7044 '\nDividers can be used in a variety of ways to split sections of your content horizontally or vertically. You can also pass in a child element to be displayed as a label of your divider.\n', 7045 A2( 7046 $dtwrks$elm_book$ElmBook$Chapter$withComponentList, 7047 _List_fromArray( 7048 [ 7049 _Utils_Tuple2( 7050 'Horizontal', 7051 A2( 7052 $elm$html$Html$div, 7053 _List_Nil, 7054 _List_fromArray( 7055 [ 7056 A2( 7057 $author$project$W$Divider$view, 7058 _List_fromArray( 7059 [ 7060 $author$project$W$Divider$margins(16) 7061 ]), 7062 _List_Nil), 7063 A2( 7064 $author$project$W$Divider$view, 7065 _List_fromArray( 7066 [ 7067 $author$project$W$Divider$margins(16) 7068 ]), 7069 _List_fromArray( 7070 [ 7071 $elm$html$Html$text('or') 7072 ])), 7073 A2( 7074 $author$project$W$Divider$view, 7075 _List_fromArray( 7076 [ 7077 $author$project$W$Divider$margins(16), 7078 $author$project$W$Divider$color( 7079 $uncover_co$elm_theme$Theme$primaryForegroundWithAlpha(0.1)) 7080 ]), 7081 _List_fromArray( 7082 [ 7083 $elm$html$Html$text('or') 7084 ])) 7085 ]))), 7086 _Utils_Tuple2( 7087 'Vertical', 7088 A2( 7089 $elm$html$Html$div, 7090 _List_fromArray( 7091 [ 7092 A2($elm$html$Html$Attributes$style, 'height', '40px'), 7093 A2($elm$html$Html$Attributes$style, 'display', 'flex'), 7094 A2($elm$html$Html$Attributes$style, 'justify-content', 'space-around') 7095 ]), 7096 _List_fromArray( 7097 [ 7098 A2( 7099 $author$project$W$Divider$view, 7100 _List_fromArray( 7101 [$author$project$W$Divider$vertical]), 7102 _List_Nil), 7103 A2( 7104 $author$project$W$Divider$view, 7105 _List_fromArray( 7106 [$author$project$W$Divider$vertical]), 7107 _List_Nil), 7108 A2( 7109 $author$project$W$Divider$view, 7110 _List_fromArray( 7111 [$author$project$W$Divider$vertical]), 7112 _List_fromArray( 7113 [ 7114 $elm$html$Html$text('or') 7115 ])), 7116 A2( 7117 $author$project$W$Divider$view, 7118 _List_fromArray( 7119 [ 7120 $author$project$W$Divider$vertical, 7121 $author$project$W$Divider$color( 7122 $uncover_co$elm_theme$Theme$primaryForegroundWithAlpha(0.1)) 7123 ]), 7124 _List_Nil) 7125 ]))) 7126 ]), 7127 $dtwrks$elm_book$ElmBook$Chapter$chapter('Divider'))); 7128var $author$project$W$Text$Attribute = $elm$core$Basics$identity; 7129var $author$project$W$Text$aux = function (attrs) { 7130 return _Utils_update( 7131 attrs, 7132 {U: $uncover_co$elm_theme$Theme$baseAux}); 7133}; 7134var $author$project$W$Heading$Attribute = $elm$core$Basics$identity; 7135var $author$project$W$Heading$extraLarge = function (attrs) { 7136 return _Utils_update( 7137 attrs, 7138 {fp: 'ew-text-5xl'}); 7139}; 7140var $author$project$W$Text$extraLarge = function (attrs) { 7141 return _Utils_update( 7142 attrs, 7143 {fp: 'ew-text-2xl'}); 7144}; 7145var $author$project$W$Heading$h2 = function (attrs) { 7146 return _Utils_update( 7147 attrs, 7148 {ac: 'h2'}); 7149}; 7150var $author$project$W$Heading$large = function (attrs) { 7151 return _Utils_update( 7152 attrs, 7153 {fp: 'ew-text-4xl'}); 7154}; 7155var $author$project$W$Text$large = function (attrs) { 7156 return _Utils_update( 7157 attrs, 7158 {fp: 'ew-text-xl'}); 7159}; 7160var $dtwrks$elm_book$ElmBook$Chapter$renderComponentList = F2( 7161 function (componentList, _v0) { 7162 var builder = _v0; 7163 return _Utils_update( 7164 builder, 7165 {
7166 fe: builder.fe + '<component-list />', 7167 m: _Utils_ap( 7168 A2($elm$core$List$map, $dtwrks$elm_book$ElmBook$Chapter$fromTuple, componentList), 7169 builder.m) 7170 }); 7171 }); 7172var $author$project$W$Heading$small = function (attrs) { 7173 return _Utils_update( 7174 attrs, 7175 {fp: 'ew-text-xl'}); 7176}; 7177var $author$project$W$Text$small = function (attrs) { 7178 return _Utils_update( 7179 attrs, 7180 {fp: 'ew-text-sm'}); 7181}; 7182var $uncover_co$elm_theme$Theme$baseForeground = $uncover_co$elm_theme$Theme$cssVar('base-fg'); 7183var $author$project$W$Heading$defaultAttrs = {U: $uncover_co$elm_theme$Theme$baseForeground, ac: 'h1', c6: 'ew-font-heading', fp: 'ew-text-2xl', b$: _List_Nil, aX: 'ew-text-left'}; 7184var $author$project$W$Heading$applyAttrs = function (attrs) { 7185 return A3( 7186 $elm$core$List$foldl, 7187 F2( 7188 function (_v0, a) { 7189 var fn = _v0; 7190 return fn(a); 7191 }), 7192 $author$project$W$Heading$defaultAttrs, 7193 attrs); 7194}; 7195var $author$project$W$Internal$Helpers$styles = function (xs) { 7196 return A2( 7197 $elm$html$Html$Attributes$attribute, 7198 'style', 7199 A2( 7200 $elm$core$String$join, 7201 ';', 7202 A2( 7203 $elm$core$List$map, 7204 function (_v0) { 7205 var k = _v0.a; 7206 var v = _v0.b; 7207 return k + (':' + v); 7208 }, 7209 xs))); 7210}; 7211var $author$project$W$Heading$view = F2( 7212 function (attrs_, children) { 7213 var attrs = $author$project$W$Heading$applyAttrs(attrs_); 7214 return A3( 7215 $elm$html$Html$node, 7216 attrs.ac, 7217 _Utils_ap( 7218 attrs.b$, 7219 _List_fromArray( 7220 [ 7221 $elm$html$Html$Attributes$class('ew-m-0'),
7222 $elm$html$Html$Attributes$class(attrs.fp), 7223 $elm$html$Html$Attributes$class(attrs.c6), 7224 $elm$html$Html$Attributes$class(attrs.aX), 7225 $author$project$W$Internal$Helpers$styles( 7226 _List_fromArray( 7227 [ 7228 _Utils_Tuple2('color', attrs.U) 7229 ])) 7230 ])), 7231 children); 7232 }); 7233var $author$project$W$Text$defaultAttrs = {F: '', U: $uncover_co$elm_theme$Theme$baseForeground, ac: 'p', fp: 'ew-text-base', b$: _List_Nil, aX: 'ew-text-left'}; 7234var $author$project$W$Text$applyAttrs = function (attrs) { 7235 return A3( 7236 $elm$core$List$foldl, 7237 F2( 7238 function (_v0, a) { 7239 var fn = _v0; 7240 return fn(a); 7241 }), 7242 $author$project$W$Text$defaultAttrs, 7243 attrs); 7244}; 7245var $author$project$W$Text$view = F2( 7246 function (attrs_, children) { 7247 var attrs = $author$project$W$Text$applyAttrs(attrs_); 7248 return A3( 7249 $elm$html$Html$node, 7250 attrs.ac, 7251 _Utils_ap( 7252 attrs.b$, 7253 _List_fromArray( 7254 [ 7255 $elm$html$Html$Attributes$class('ew-font-text ew-m-0'), 7256 $elm$html$Html$Attributes$class(attrs.F), 7257 $elm$html$Html$Attributes$class(attrs.fp), 7258 $elm$html$Html$Attributes$class(attrs.aX), 7259 $author$project$W$Internal$Helpers$styles( 7260 _List_fromArray( 7261 [ 7262 _Utils_Tuple2('color', attrs.U) 7263 ])) 7264 ])), 7265 children); 7266 }); 7267var $author$project$Chapters$Core$Heading$chapter_ = A2( 7268 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 7269 _List_fromArray( 7270 [ 7271 _Utils_Tuple2( 7272 'Font Sizes', 7273 A2( 7274 $elm$html$Html$div, 7275 _List_Nil, 7276 _List_fromArray( 7277 [ 7278 A2( 7279 $author$project$W$Heading$view, 7280 _List_fromArray( 7281 [$author$project$W$Heading$extraLarge]), 7282 _List_fromArray( 7283 [ 7284 $elm$html$Html$text('I\'m a really large title') 7285 ])), 7286 A2( 7287 $author$project$W$Text$view, 7288 _List_fromArray( 7289 [$author$project$W$Text$extraLarge, $author$project$W$Text$aux]), 7290 _List_fromArray( 7291 [ 7292 $elm$html$Html$text('I\'m a really large text') 7293 ])), 7294 A2( 7295 $author$project$W$Heading$view, 7296 _List_fromArray( 7297 [$author$project$W$Heading$h2, $author$project$W$Heading$large]), 7298 _List_fromArray( 7299 [ 7300 $elm$html$Html$text('I\'m a large title') 7301 ])), 7302 A2( 7303 $author$project$W$Text$view, 7304 _List_fromArray( 7305 [$author$project$W$Text$large, $author$project$W$Text$aux]), 7306 _List_fromArray( 7307 [ 7308 $elm$html$Html$text('I\'m a large text') 7309 ])), 7310 A2( 7311 $author$project$W$Heading$view, 7312 _List_Nil, 7313 _List_fromArray( 7314 [ 7315 $elm$html$Html$text('I\'m the base title') 7316 ])), 7317 A2( 7318 $author$project$W$Text$view, 7319 _List_fromArray( 7320 [$author$project$W$Text$aux]), 7321 _List_fromArray( 7322 [ 7323 $elm$html$Html$text('I\'m the base text') 7324 ])), 7325 A2( 7326 $author$project$W$Heading$view, 7327 _List_fromArray( 7328 [$author$project$W$Heading$small]), 7329 _List_fromArray( 7330 [ 7331 $elm$html$Html$text('I\'m a small title') 7332 ])), 7333 A2( 7334 $author$project$W$Text$view, 7335 _List_fromArray( 7336 [$author$project$W$Text$small, $author$project$W$Text$aux]), 7337 _List_fromArray( 7338 [ 7339 $elm$html$Html$text('I\'m a small text') 7340 ])) 7341 ]))), 7342 _Utils_Tuple2( 7343 'Font Sizes', 7344 A2( 7345 $elm$html$Html$div, 7346 _List_Nil, 7347 _List_fromArray( 7348 [ 7349 A2( 7350 $author$project$W$Text$view, 7351 _List_fromArray( 7352 [$author$project$W$Text$extraLarge, $author$project$W$Text$aux]), 7353 _List_fromArray( 7354 [ 7355 $elm$html$Html$text('I\'m a large text') 7356 ])), 7357 A2( 7358 $author$project$W$Text$view, 7359 _List_fromArray( 7360 [$author$project$W$Text$large, $author$project$W$Text$aux]), 7361 _List_fromArray( 7362 [ 7363 $elm$html$Html$text('I\'m a large text') 7364 ])), 7365 A2( 7366 $author$project$W$Text$view, 7367 _List_fromArray( 7368 [$author$project$W$Text$aux]), 7369 _List_fromArray( 7370 [ 7371 $elm$html$Html$text('I\'m the base text') 7372 ])), 7373 A2( 7374 $author$project$W$Text$view, 7375 _List_fromArray( 7376 [$author$project$W$Text$small, $author$project$W$Text$aux]), 7377 _List_fromArray( 7378 [ 7379 $elm$html$Html$text('I\'m a small text') 7380 ])) 7381 ]))), 7382 _Utils_Tuple2( 7383 'Large', 7384 A2( 7385 $author$project$W$Heading$view, 7386 _List_fromArray( 7387 [$author$project$W$Heading$large]), 7388 _List_fromArray( 7389 [ 7390 $elm$html$Html$text('I\'m a title') 7391 ]))), 7392 _Utils_Tuple2( 7393 'Small', 7394 A2( 7395 $author$project$W$Heading$view, 7396 _List_fromArray( 7397 [$author$project$W$Heading$small]), 7398 _List_fromArray( 7399 [ 7400 $elm$html$Html$text('I\'m a title') 7401 ]))) 7402 ]), 7403 $dtwrks$elm_book$ElmBook$Chapter$chapter('Typography')); 7404var $elm$svg$Svg$trustedNode = _VirtualDom_nodeNS('http://www.w3.org/2000/svg'); 7405var $elm$svg$Svg$animateTransform = $elm$svg$Svg$trustedNode('animateTransform'); 7406var $author$project$W$Loading$defaultAttrs = {U: $uncover_co$elm_theme$Theme$baseAux, b$: _List_Nil, n: 25}; 7407var $author$project$W$Loading$applyAttrs = function (attrs) { 7408 return A3( 7409 $elm$core$List$foldl, 7410 F2( 7411 function (_v0, a) { 7412 var fn = _v0; 7413 return fn(a); 7414 }), 7415 $author$project$W$Loading$defaultAttrs, 7416 attrs); 7417}; 7418var $elm$svg$Svg$Attributes$attributeName = _VirtualDom_attribute('attributeName'); 7419var $elm$svg$Svg$Attributes$attributeType = _VirtualDom_attribute('attributeType'); 7420var $elm$svg$Svg$Attributes$class = _VirtualDom_attribute('class'); 7421var $elm$svg$Svg$Attributes$d = _VirtualDom_attribute('d'); 7422var $elm$svg$Svg$Attributes$dur = _VirtualDom_attribute('dur'); 7423var $elm$svg$Svg$Attributes$fill = _VirtualDom_attribute('fill'); 7424var $elm$svg$Svg$Attributes$from = function (value) { 7425 return A2( 7426 _VirtualDom_attribute, 7427 'from', 7428 _VirtualDom_noJavaScriptUri(value)); 7429}; 7430var $elm$svg$Svg$Attributes$height = _VirtualDom_attribute('height'); 7431var $elm$svg$Svg$Attributes$opacity = _VirtualDom_attribute('opacity'); 7432var $elm$svg$Svg$path = $elm$svg$Svg$trustedNode('path'); 7433var $elm$svg$Svg$Attributes$repeatCount = _VirtualDom_attribute('repeatCount'); 7434var $elm$svg$Svg$Attributes$style = _VirtualDom_attribute('style'); 7435var $elm$svg$Svg$svg = $elm$svg$Svg$trustedNode('svg'); 7436var $elm$svg$Svg$Attributes$to = function (value) { 7437 return A2( 7438 _VirtualDom_attribute, 7439 'to', 7440 _VirtualDom_noJavaScriptUri(value)); 7441}; 7442var $elm$svg$Svg$Attributes$type_ = _VirtualDom_attribute('type'); 7443var $elm$svg$Svg$Attributes$viewBox = _VirtualDom_attribute('viewBox'); 7444var $elm$svg$Svg$Attributes$width = _VirtualDom_attribute('width'); 7445var $elm$svg$Svg$Attributes$xmlSpace = A2(_VirtualDom_attributeNS, 'http://www.w3.org/XML/1998/namespace', 'xml:space'); 7446var $author$project$W$Loading$circles = function (attrs_) { 7447 var attrs = $author$project$W$Loading$applyAttrs(attrs_); 7448 return A2( 7449 $elm$svg$Svg$svg, 7450 _Utils_ap( 7451 attrs.b$, 7452 _List_fromArray( 7453 [ 7454 $elm$svg$Svg$Attributes$style('--color: ' + attrs.U), 7455 $elm$svg$Svg$Attributes$class('ew-loading-circle'), 7456 $elm$svg$Svg$Attributes$viewBox('0 0 40 40'), 7457 $elm$svg$Svg$Attributes$height( 7458 $elm$core$String$fromFloat(attrs.n) + 'px'), 7459 $elm$svg$Svg$Attributes$width( 7460 $elm$core$String$fromFloat(attrs.n) + 'px'), 7461 $elm$svg$Svg$Attributes$xmlSpace('preserve') 7462 ])), 7463 _List_fromArray( 7464 [ 7465 A2( 7466 $elm$svg$Svg$path, 7467 _List_fromArray( 7468 [ 7469 $elm$svg$Svg$Attributes$fill('var(--color)'), 7470 $elm$svg$Svg$Attributes$opacity('0.2'), 7471 $elm$svg$Svg$Attributes$d('M20.201,5.169c-8.254,0-14.946,6.692-14.946,14.946c0,8.255,6.692,14.946,14.946,14.946 s14.946-6.691,14.946-14.946C35.146,11.861,28.455,5.169,20.201,5.169z M20.201,31.749c-6.425,0-11.634-5.208-11.634-11.634 c0-6.425,5.209-11.634,11.634-11.634c6.425,0,11.633,5.209,11.633,11.634C31.834,26.541,26.626,31.749,20.201,31.749z') 7472 ]), 7473 _List_Nil), 7474 A2( 7475 $elm$svg$Svg$path, 7476 _List_fromArray( 7477 [ 7478 $elm$svg$Svg$Attributes$fill('var(--color)'), 7479 $elm$svg$Svg$Attributes$d('M26.013,10.047l1.654-2.866c-2.198-1.272-4.743-2.012-7.466-2.012h0v3.312h0 C22.32,8.481,24.301,9.057,26.013,10.047z') 7480 ]), 7481 _List_fromArray( 7482 [ 7483 A2( 7484 $elm$svg$Svg$animateTransform, 7485 _List_fromArray( 7486 [ 7487 $elm$svg$Svg$Attributes$attributeType('xml'), 7488 $elm$svg$Svg$Attributes$attributeName('transform'), 7489 $elm$svg$Svg$Attributes$type_('rotate'), 7490 $elm$svg$Svg$Attributes$from('0 20 20'), 7491 $elm$svg$Svg$Attributes$to('360 20 20'), 7492 $elm$svg$Svg$Attributes$dur('1.2s'),
7493 $elm$svg$Svg$Attributes$repeatCount('indefinite') 7494 ]), 7495 _List_Nil) 7496 ])) 7497 ])); 7498}; 7499var $author$project$W$Loading$Attribute = $elm$core$Basics$identity; 7500var $author$project$W$Loading$color = function (v) { 7501 return function (attrs) { 7502 return _Utils_update( 7503 attrs, 7504 {U: v}); 7505 }; 7506}; 7507var $author$project$W$Loading$dots = function (attrs_) { 7508 var attrs = $author$project$W$Loading$applyAttrs(attrs_); 7509 return A2( 7510 $elm$html$Html$div, 7511 _Utils_ap( 7512 attrs.b$, 7513 _List_fromArray( 7514 [ 7515 $elm$html$Html$Attributes$class('ew-loading-dots'), 7516 $author$project$W$Internal$Helpers$styles( 7517 _List_fromArray( 7518 [ 7519 _Utils_Tuple2('--color', attrs.U), 7520 _Utils_Tuple2( 7521 '--size', 7522 $elm$core$String$fromFloat(attrs.n) + 'px') 7523 ])) 7524 ])), 7525 _List_fromArray( 7526 [ 7527 A2($elm$html$Html$div, _List_Nil, _List_Nil), 7528 A2($elm$html$Html$div, _List_Nil, _List_Nil), 7529 A2($elm$html$Html$div, _List_Nil, _List_Nil), 7530 A2($elm$html$Html$div, _List_Nil, _List_Nil) 7531 ])); 7532}; 7533var $author$project$W$Loading$ripples = function (attrs_) { 7534 var attrs = $author$project$W$Loading$applyAttrs(attrs_); 7535 return A2( 7536 $elm$html$Html$div, 7537 _Utils_ap( 7538 attrs.b$, 7539 _List_fromArray( 7540 [ 7541 $elm$html$Html$Attributes$class('ew-loading-ripples'), 7542 $author$project$W$Internal$Helpers$styles( 7543 _List_fromArray( 7544 [ 7545 _Utils_Tuple2( 7546 '--size', 7547 $elm$core$String$fromFloat(attrs.n) + 'px'), 7548 _Utils_Tuple2('--color', attrs.U) 7549 ])) 7550 ])), 7551 _List_fromArray( 7552 [ 7553 A2($elm$html$Html$div, _List_Nil, _List_Nil), 7554 A2($elm$html$Html$div, _List_Nil, _List_Nil) 7555 ])); 7556}; 7557var $author$project$W$Loading$size = function (v) { 7558 return function (attrs) { 7559 return _Utils_update( 7560 attrs, 7561 {n: v}); 7562 }; 7563}; 7564var $author$project$Chapters$Core$Loading$chapter_ = A2( 7565 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 7566 _List_fromArray( 7567 [ 7568 _Utils_Tuple2( 7569 'Circles', 7570 $author$project$W$Loading$circles(_List_Nil)), 7571 _Utils_Tuple2( 7572 'Circles with Custom Size and Color', 7573 $author$project$W$Loading$circles( 7574 _List_fromArray( 7575 [ 7576 $author$project$W$Loading$size(40), 7577 $author$project$W$Loading$color('#48CB82') 7578 ]))), 7579 _Utils_Tuple2( 7580 'Dots', 7581 $author$project$W$Loading$dots(_List_Nil)), 7582 _Utils_Tuple2( 7583 'Dots with Custom Size and Color', 7584 $author$project$W$Loading$dots( 7585 _List_fromArray( 7586 [ 7587 $author$project$W$Loading$size(40), 7588 $author$project$W$Loading$color('#48CB82') 7589 ]))), 7590 _Utils_Tuple2( 7591 'Ripples', 7592 $author$project$W$Loading$ripples(_List_Nil)), 7593 _Utils_Tuple2( 7594 'Ripples with Custom Size and Color', 7595 $author$project$W$Loading$ripples( 7596 _List_fromArray( 7597 [ 7598 $author$project$W$Loading$size(40), 7599 $author$project$W$Loading$color('#48CB82') 7600 ]))) 7601 ]), 7602 $dtwrks$elm_book$ElmBook$Chapter$chapter('Loading')); 7603var $author$project$W$InputField$Attribute = $elm$core$Basics$identity; 7604var $author$project$W$InputField$alignRight = function (v) { 7605 return function (attrs) { 7606 return _Utils_update( 7607 attrs, 7608 {bD: v}); 7609 }; 7610}; 7611var $author$project$W$InputField$hint = function (v) { 7612 return function (attrs) { 7613 return _Utils_update( 7614 attrs, 7615 { 7616 a9: $elm$core$Maybe$Just(v) 7617 }); 7618 }; 7619}; 7620var $dtwrks$elm_book$ElmBook$Actions$logActionWithString = $dtwrks$elm_book$ElmBook$Actions$logActionWith($elm$core$Basics$identity); 7621var $author$project$W$InputField$padding = function (v) { 7622 return function (attrs) { 7623 return _Utils_update( 7624 attrs, 7625 { 7626 W: $elm$core$Maybe$Just( 7627 {dZ: v, d_: v}) 7628 }); 7629 }; 7630}; 7631var $author$project$W$InputText$Attribute = $elm$core$Basics$identity; 7632var $author$project$W$InputText$placeholder = function (v) { 7633 return function (attrs) { 7634 return _Utils_update( 7635 attrs, 7636 { 7637 gb: $elm$core$Maybe$Just(v) 7638 }); 7639 }; 7640}; 7641var $author$project$W$InputSlider$Attribute = $elm$core$Basics$identity; 7642var $author$project$W$InputSlider$readOnly = function (v) { 7643 return function (attrs) { 7644 return _Utils_update( 7645 attrs, 7646 {ah: v}); 7647 }; 7648}; 7649var $author$project$W$InputField$defaultAttrs = { 7650 bD: false, 7651 a9: $elm$core$Maybe$Nothing, 7652 b$: _List_Nil, 7653 W: $elm$core$Maybe$Just( 7654 {dZ: 16, d_: 16}) 7655}; 7656var $author$project$W$InputField$applyAttrs = function (attrs) { 7657 return A3( 7658 $elm$core$List$foldl, 7659 F2( 7660 function (_v0, a) { 7661 var fn = _v0; 7662 return fn(a); 7663 }), 7664 $author$project$W$InputField$defaultAttrs, 7665 attrs); 7666}; 7667var $elm$core$Basics$composeL = F3( 7668 function (g, f, x) { 7669 return g( 7670 f(x)); 7671 }); 7672var $elm$html$Html$h1 = _VirtualDom_node('h1'); 7673var $elm$core$Maybe$map = F2( 7674 function (f, maybe) { 7675 if (!maybe.$) { 7676 var value = maybe.a; 7677 return $elm$core$Maybe$Just( 7678 f(value)); 7679 } else { 7680 return $elm$core$Maybe$Nothing; 7681 } 7682 }); 7683var $elm$core$Maybe$withDefault = F2( 7684 function (_default, maybe) { 7685 if (!maybe.$) { 7686 var value = maybe.a; 7687 return value; 7688 } else { 7689 return _default; 7690 } 7691 }); 7692var $author$project$W$Internal$Helpers$maybeAttr = F2( 7693 function (fn, a) { 7694 return A2( 7695 $elm$core$Maybe$withDefault, 7696 $elm$html$Html$Attributes$class(''), 7697 A2($elm$core$Maybe$map, fn, a)); 7698 }); 7699var $elm$html$Html$p = _VirtualDom_node('p'); 7700var $author$project$W$Internal$Helpers$formatPx = function (value) { 7701 return $elm$core$String$fromInt(value) + 'px'; 7702}; 7703var $author$project$W$Internal$Helpers$paddingXY = function (_v0) { 7704 var x = _v0.dZ; 7705 var y = _v0.d_; 7706 return $author$project$W$Internal$Helpers$formatPx(y) + (' ' + $author$project$W$Internal$Helpers$formatPx(x)); 7707}; 7708var $elm$html$Html$section = _VirtualDom_node('section'); 7709var $author$project$W$InputField$view = F2( 7710 function (attrs_, props) { 7711 var attrs = $author$project$W$InputField$applyAttrs(attrs_); 7712 return A2( 7713 $elm$html$Html$section, 7714 A2( 7715 $elm$core$List$cons, 7716 $elm$html$Html$Attributes$class('ew-bg-base-bg ew-font-text'), 7717 A2( 7718 $elm$core$List$cons, 7719 A2( 7720 $author$project$W$Internal$Helpers$maybeAttr, 7721 A2( 7722 $elm$core$Basics$composeL, 7723 $elm$html$Html$Attributes$style('padding'), 7724 $author$project$W$Internal$Helpers$paddingXY), 7725 attrs.W), 7726 attrs.b$)), 7727 attrs.bD ? _List_fromArray( 7728 [ 7729 A2( 7730 $elm$html$Html$div, 7731 _List_fromArray( 7732 [ 7733 $elm$html$Html$Attributes$class('ew-flex ew-items-start') 7734 ]), 7735 _List_fromArray( 7736 [ 7737 A2( 7738 $elm$html$Html$div, 7739 _List_fromArray( 7740 [ 7741 $elm$html$Html$Attributes$class('ew-flex ew-flex-col ew-justify-center'), 7742 $elm$html$Html$Attributes$class('ew-w-[40%]'), 7743 $elm$html$Html$Attributes$class('ew-box-border ew-pr-4 ew-min-h-[50px]') 7744 ]), 7745 _List_fromArray( 7746 [ 7747 A2( 7748 $elm$html$Html$h1, 7749 _List_fromArray( 7750 [ 7751 $elm$html$Html$Attributes$class('ew-m-0 ew-font-normal ew-text-base ew-font-text ew-text-base-fg') 7752 ]), 7753 props.aK), 7754 A2( 7755 $elm$core$Maybe$withDefault, 7756 $elm$html$Html$text(''), 7757 A2( 7758 $elm$core$Maybe$map, 7759 function (f) { 7760 return A2( 7761 $elm$html$Html$p, 7762 _List_fromArray( 7763 [ 7764 $elm$html$Html$Attributes$class('ew-m-0 ew-text-base-aux ew-text-sm ew-font-text ew-text-aux') 7765 ]), 7766 f); 7767 }, 7768 attrs.a9)) 7769 ])), 7770 A2( 7771 $elm$html$Html$div, 7772 _List_fromArray( 7773 [ 7774 $elm$html$Html$Attributes$class('ew-w-[60%]') 7775 ]), 7776 props.en) 7777 ])) 7778 ]) : _List_fromArray( 7779 [ 7780 A2( 7781 $elm$html$Html$div, 7782 _List_fromArray( 7783 [ 7784 $elm$html$Html$Attributes$class('ew-pb-2') 7785 ]), 7786 _List_fromArray( 7787 [ 7788 A2( 7789 $elm$html$Html$h1, 7790 _List_fromArray( 7791 [ 7792 $elm$html$Html$Attributes$class('ew-m-0 ew-font-normal ew-text-sm ew-font-text ew-text-base-fg') 7793 ]), 7794 props.aK), 7795 A2( 7796 $elm$core$Maybe$withDefault, 7797 $elm$html$Html$text(''), 7798 A2( 7799 $elm$core$Maybe$map, 7800 function (f) { 7801 return A2( 7802 $elm$html$Html$p, 7803 _List_fromArray( 7804 [ 7805 $elm$html$Html$Attributes$class('ew-m-0 ew-text-base-aux ew-text-xs ew-font-text ew-text-aux') 7806 ]), 7807 f); 7808 }, 7809 attrs.a9)) 7810 ])), 7811 A2($elm$html$Html$div, _List_Nil, props.en) 7812 ])); 7813 }); 7814var $author$project$W$InputRadio$defaultAttrs = {U: 'var(--theme-primary-bg)', bV: false, b$: _List_Nil, ah: false, aV: false, I: false}; 7815var $author$project$W$InputRadio$applyAttrs = function (attrs) { 7816 return A3( 7817 $elm$core$List$foldl, 7818 F2( 7819 function (_v0, a) { 7820 var fn = _v0; 7821 return fn(a); 7822 }), 7823 $author$project$W$InputRadio$defaultAttrs, 7824 attrs); 7825}; 7826var $elm$html$Html$Attributes$checked = $elm$html$Html$Attributes$boolProperty('checked'); 7827var $elm$html$Html$Attributes$id = $elm$html$Html$Attributes$stringProperty('id'); 7828var $elm$html$Html$input = _VirtualDom_node('input'); 7829var $elm$html$Html$label = _VirtualDom_node('label'); 7830var $elm$html$Html$Attributes$name = $elm$html$Html$Attributes$stringProperty('name'); 7831var $elm$json$Json$Decode$field = _Json_decodeField; 7832var $elm$json$Json$Decode$at = F2( 7833 function (fields, decoder) { 7834 return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields); 7835 }); 7836var $elm$json$Json$Decode$bool = _Json_decodeBool; 7837var $elm$html$Html$Events$targetChecked = A2( 7838 $elm$json$Json$Decode$at, 7839 _List_fromArray( 7840 ['target', 'checked']), 7841 $elm$json$Json$Decode$bool); 7842var $elm$html$Html$Events$onCheck = function (tagger) { 7843 return A2( 7844 $elm$html$Html$Events$on, 7845 'change', 7846 A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetChecked)); 7847}; 7848var $elm$html$Html$Attributes$readonly = $elm$html$Html$Attributes$boolProperty('readOnly'); 7849var $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value'); 7850var $author$project$W$InputRadio$view = F2( 7851 function (attrs_, props) { 7852 var attrs = $author$project$W$InputRadio$applyAttrs(attrs_); 7853 return A2( 7854 $elm$html$Html$div, 7855 _List_fromArray( 7856 [ 7857 $elm$html$Html$Attributes$id(props.fE), 7858 $elm$html$Html$Attributes$class('ew-flex'), 7859 $elm$html$Html$Attributes$classList( 7860 _List_fromArray( 7861 [ 7862 _Utils_Tuple2('ew-flex-col', attrs.I), 7863 _Utils_Tuple2('ew-gap-6', (!attrs.aV) || (!attrs.I)), 7864 _Utils_Tuple2('ew-gap-4', attrs.aV && attrs.I) 7865 ])) 7866 ]), 7867 A2( 7868 $elm$core$List$map, 7869 function (a) { 7870 return A2( 7871 $elm$html$Html$label, 7872 _List_fromArray( 7873 [ 7874 $elm$html$Html$Attributes$name(props.fE), 7875 $elm$html$Html$Attributes$class('ew-inline-flex ew-items-center ew-p-0') 7876 ]), 7877 _List_fromArray( 7878 [ 7879 A2( 7880 $elm$html$Html$input, 7881 _Utils_ap( 7882 attrs.b$, 7883 _List_fromArray( 7884 [ 7885 $elm$html$Html$Attributes$class('ew-radio ew-rounded-full before:ew-rounded-full'), 7886 $elm$html$Html$Attributes$type_('radio'), 7887 $elm$html$Html$Attributes$name(props.fE), 7888 $elm$html$Html$Attributes$value( 7889 props.gw(a)), 7890 $elm$html$Html$Attributes$checked( 7891 _Utils_eq(a, props.cN)), 7892 $elm$html$Html$Attributes$classList( 7893 _List_fromArray( 7894 [ 7895 _Utils_Tuple2('ew-small', attrs.aV) 7896 ])), 7897 $uncover_co$elm_theme$Theme$stylesIf( 7898 _List_fromArray( 7899 [ 7900 _Utils_Tuple3('color', attrs.U, !attrs.bV), 7901 _Utils_Tuple3('color', $uncover_co$elm_theme$Theme$baseBackgroun
7901d, attrs.bV) 7902 ])), 7903 $elm$html$Html$Attributes$disabled(attrs.bV || attrs.ah), 7904 $elm$html$Html$Attributes$readonly(attrs.ah), 7905 $elm$html$Html$Events$onCheck( 7906 function (_v0) { 7907 return props.cm(a); 7908 }) 7909 ])), 7910 _List_Nil), 7911 A2( 7912 $elm$html$Html$span, 7913 _List_fromArray( 7914 [ 7915 $elm$html$Html$Attributes$class('ew-font-text ew-text-base-fg ew-pl-3') 7916 ]), 7917 _List_fromArray( 7918 [ 7919 $elm$html$Html$text( 7920 props.u(a)) 7921 ])) 7922 ])); 7923 }, 7924 props.f9)); 7925 }); 7926var $elm$json$Json$Decode$andThen = _Json_andThen; 7927var $author$project$W$InputSlider$defaultAttrs = {U: $uncover_co$elm_theme$Theme$primaryBackground, bV: false, ed: $elm$core$String$fromFloat, b$: _List_Nil, ah: false}; 7928var $author$project$W$InputSlider$applyAttrs = function (attrs) { 7929 return A3( 7930 $elm$core$List$foldl, 7931 F2( 7932 function (_v0, a) { 7933 var fn = _v0; 7934 return fn(a); 7935 }), 7936 $author$project$W$InputSlider$defaultAttrs, 7937 attrs); 7938}; 7939var $elm$json$Json$Decode$fail = _Json_fail; 7940var $elm$html$Html$Attributes$max = $elm$html$Html$Attributes$stringProperty('max'); 7941var $elm$html$Html$Attributes$min = $elm$html$Html$Attributes$stringProperty('min'); 7942var $elm$html$Html$Attributes$step = function (n) { 7943 return A2($elm$html$Html$Attributes$stringProperty, 'step', n); 7944}; 7945var $elm$json$Json$Decode$string = _Json_decodeString; 7946var $elm$core$String$toFloat = _String_toFloat; 7947var $author$project$W$InputSlider$view = F2( 7948 function (attrs_, props) { 7949 var valueString = function (s) { 7950 return s + '%'; 7951 }( 7952 $elm$core$String$fromFloat(100 * ((props.cN - props.fX) / (props.fS - props.fX)))); 7953 var attrs = $author$project$W$InputSlider$applyAttrs(attrs_); 7954 var colorAttr = attrs.bV ? $elm$html$Html$Attributes$class('ew-text-base-aux') : A2($elm$html$Html$Attributes$style, 'color', attrs.U); 7955 return A2( 7956 $elm$html$Html$div, 7957 _List_fromArray( 7958 [ 7959 $elm$html$Html$Attributes$class('ew-group ew-relative ew-full'), 7960 colorAttr 7961 ]), 7962 _List_fromArray( 7963 [ 7964 A2( 7965 $elm$html$Html$div, 7966 _List_fromArray( 7967 [ 7968 $elm$html$Html$Attributes$class('ew-absolute ew-inset-y-0 ew-inset-x-[12px]') 7969 ]), 7970 _List_fromArray( 7971 [ 7972 A2( 7973 $elm$html$Html$div, 7974 _List_fromArray( 7975 [ 7976 $elm$html$Html$Attributes$class('ew-absolute ew-rounded'), 7977 $elm$html$Html$Attributes$class('ew-inset-x-0 ew-top-1/2'), 7978 $elm$html$Html$Attributes$class('ew-bg-base-aux/30'), 7979 $elm$html$Html$Attributes$class('ew-h-1 -ew-mt-0.5') 7980 ]), 7981 _List_Nil), 7982 A2( 7983 $elm$html$Html$div, 7984 _List_fromArray( 7985 [ 7986 $elm$html$Html$Attributes$class('ew-absolute ew-z-1 ew-rounded'), 7987 $elm$html$Html$Attributes$class('ew-left-0 ew-top-1/2'), 7988 $elm$html$Html$Attributes$class('ew-bg-base-bg'), 7989 $elm$html$Html$Attributes$class('ew-h-[6px] -ew-mt-[3px]'), 7990 A2($elm$html$Html$Attributes$style, 'width', valueString) 7991 ]), 7992 _List_Nil), 7993 A2( 7994 $elm$html$Html$div, 7995 _List_fromArray( 7996 [ 7997 $elm$html$Html$Attributes$class('ew-absolute ew-z-0 ew-rounded'), 7998 $elm$html$Html$Attributes$class('ew-left-0 ew-top-1/2'), 7999 $elm$html$Html$Attributes$class('ew-bg-current'), 8000 $elm$html$Html$Attributes$class('ew-opacity-[0.60]'), 8001 $elm$html$Html$Attributes$class('ew-h-[6px] -ew-mt-[3px]'), 8002 A2($elm$html$Html$Attributes$style, 'width', valueString) 8003 ]), 8004 _List_Nil) 8005 ])), 8006 A2( 8007 $elm$html$Html$input, 8008 _Utils_ap( 8009 attrs.b$, 8010 _List_fromArray( 8011 [ 8012 $elm$html$Html$Attributes$class('ew-relative'), 8013 $elm$html$Html$Attributes$class('ew-slider ew-appearance-none'), 8014 $elm$html$Html$Attributes$class('ew-bg-transparent'), 8015 $elm$html$Html$Attributes$class('ew-m-0'),
8016 $elm$html$Html$Attributes$class('focus-visible:ew-outline-0'), 8017 $elm$html$Html$Attributes$type_('range'), 8018 colorAttr, 8019 $elm$html$Html$Attributes$disabled(attrs.bV || attrs.ah), 8020 $elm$html$Html$Attributes$readonly(attrs.ah), 8021 $elm$html$Html$Attributes$value( 8022 $elm$core$String$fromFloat(props.cN)), 8023 $elm$html$Html$Attributes$min( 8024 $elm$core$String$fromFloat(props.fX)), 8025 $elm$html$Html$Attributes$max( 8026 $elm$core$String$fromFloat(props.fS)), 8027 $elm$html$Html$Attributes$step( 8028 $elm$core$String$fromFloat(props.gq)), 8029 A2( 8030 $elm$html$Html$Events$on, 8031 'input', 8032 A2( 8033 $elm$json$Json$Decode$map, 8034 props.cm, 8035 A2( 8036 $elm$json$Json$Decode$andThen, 8037 function (v) { 8038 var _v0 = $elm$core$String$toFloat(v); 8039 if (!_v0.$) { 8040 var v_ = _v0.a; 8041 return $elm$json$Json$Decode$succeed(v_); 8042 } else { 8043 return $elm$json$Json$Decode$fail('Invalid value.'); 8044 } 8045 }, 8046 A2( 8047 $elm$json$Json$Decode$at, 8048 _List_fromArray( 8049 ['target', 'value']), 8050 $elm$json$Json$Decode$string)))) 8051 ])), 8052 _List_Nil) 8053 ])); 8054 }); 8055var $author$project$W$InputText$Text = 0; 8056var $author$project$W$InputText$defaultAttrs = {bE: false, bV: false, b$: _List_Nil, ba: $elm$core$Maybe$Nothing, fQ: $elm$core$Maybe$Nothing, N: $elm$core$Maybe$Nothing, aL: $elm$core$Maybe$Nothing, cg: $elm$core$Maybe$Nothing, ci: $elm$core$Maybe$Nothing, cj: $elm$core$Maybe$Nothing, cr: $elm$core$Maybe$Nothing, gb: $elm$core$Maybe$Nothing, bk: $elm$core$Maybe$Nothing, ah: false, cw: false, aV: false, bv: $elm$core$Maybe$Nothing, H: 0, cM: $elm$core$Maybe$Nothing}; 8057var $author$project$W$InputText$applyAttrs = function (attrs) { 8058 return A3( 8059 $elm$core$List$foldl, 8060 F2( 8061 function (_v0, a) { 8062 var fn = _v0; 8063 return fn(a); 8064 }), 8065 $author$project$W$InputText$defaultAttrs, 8066 attrs); 8067}; 8068var $author$project$W$Internal$Helpers$attrIf = F3( 8069 function (b, fn, a) { 8070 return b ? fn(a) : $elm$html$Html$Attributes$class(''); 8071 }); 8072var $elm$html$Html$Attributes$autofocus = $elm$html$Html$Attributes$boolProperty('autofocus'); 8073var $author$project$W$Internal$Input$baseClassNoColor = function (small) { 8074 return 'ew-appearance-none' + (' ew-w-full' + (' ew-py-2 ew-px-3 ew-box-border' + (' ew-border-0 ew-outline-0' + (' ew-font-text ew-leading-none' + (' ew-placeholder-base-aux/80' + (' ew-bg-transparent' + (' focus:ew-outline-none focus:ew-shadow-none' + (small ? ' ew-text-sm' : ' ew-text-base')))))))); 8075}; 8076var $author$project$W$Internal$Input$baseClass = function (small) { 8077 return $author$project$W$Internal$Input$baseClassNoColor(small) + ' ew-text-inherit'; 8078}; 8079var $author$project$W$InputText$inputInputTypeToString = function (t) { 8080 switch (t) { 8081 case 0: 8082 return 'text'; 8083 case 1: 8084 return 'tel'; 8085 case 2: 8086 return 'password'; 8087 case 3: 8088 return 'search'; 8089 case 4: 8090 return 'email'; 8091 case 5: 8092 return 'url'; 8093 case 6: 8094 return 'text'; 8095 default: 8096 return 'text'; 8097 } 8098}; 8099var $elm$html$Html$Attributes$maxlength = function (n) { 8100 return A2( 8101 _VirtualDom_attribute, 8102 'maxlength', 8103 $elm$core$String$fromInt(n)); 8104}; 8105var $elm$html$Html$Attributes$minlength = function (n) { 8106 return A2( 8107 _VirtualDom_attribute, 8108 'minLength', 8109 $elm$core$String$fromInt(n)); 8110}; 8111var $elm$core$Basics$negate = function (n) { 8112 return -n; 8113}; 8114var $elm$html$Html$Events$onBlur = function (msg) { 8115 return A2( 8116 $elm$html$Html$Events$on, 8117 'blur', 8118 $elm$json$Json$Decode$succeed(msg)); 8119}; 8120var $author$project$W$Internal$Helpers$enterDecoder = function (a) { 8121 return A2( 8122 $elm$json$Json$Decode$andThen, 8123 function (key) { 8124 return (key === 'Enter') ? $elm$json$Json$Decode$succeed(a) : $elm$json$Json$Decode$fail('Invalid key.'); 8125 }, 8126 A2($elm$json$Json$Decode$field, 'key', $elm$json$Json$Decode$string)); 8127}; 8128var $author$project$W$Internal$Helpers$onEnter = function (msg) { 8129 return A2( 8130 $elm$html$Html$Events$on, 8131 'keyup', 8132 $author$project$W$Internal$Helpers$enterDecoder(msg)); 8133}; 8134var $elm$html$Html$Events$onFocus = function (msg) { 8135 return A2( 8136 $elm$html$Html$Events$on, 8137 'focus', 8138 $elm$json$Json$Decode$succeed(msg)); 8139}; 8140var $elm$html$Html$Attributes$pattern = $elm$html$Html$Attributes$stringProperty('pattern'); 8141var $elm$html$Html$Attributes$placeholder = $elm$html$Html$Attributes$stringProperty('placeholder'); 8142var $elm$html$Html$Attributes$required = $elm$html$Html$Attributes$boolProperty('required'); 8143var $elm$html$Html$Attributes$tabindex = function (n) { 8144 return A2( 8145 _VirtualDom_attribute, 8146 'tabIndex', 8147 $elm$core$String$fromInt(n)); 8148}; 8149var $author$project$W$InputText$baseAttrs = function (attrs) { 8150 return _Utils_ap( 8151 attrs.b$, 8152 _List_fromArray( 8153 [ 8154 $elm$html$Html$Attributes$type_( 8155 $author$project$W$InputText$inputInputTypeToString(attrs.H)), 8156 A2( 8157 $author$project$W$Internal$Helpers$maybeAttr, 8158 $elm$html$Html$Attributes$attribute('inputmode'), 8159 attrs.ba), 8160 $elm$html$Html$Attributes$class( 8161 $author$project$W$Internal$Input$baseClass(attrs.aV)), 8162 A3($author$project$W$Internal$Helpers$attrIf, attrs.ah, $elm$html$Html$Attributes$tabindex, -1), 8163 $elm$html$Html$Attributes$required(attrs.cw), 8164 $elm$html$Html$Attributes$disabled(attrs.bV), 8165 $elm$html$Html$Attributes$readonly(attrs.ah), 8166 $elm$html$Html$Attributes$autofocus(attrs.bE), 8167 A3( 8168 $author$project$W$Internal$Helpers$attrIf, 8169 attrs.ah, 8170 $elm$html$Html$Attributes$attribute('aria-readonly'), 8171 'true'), 8172 A3( 8173 $author$project$W$Internal$Helpers$attrIf, 8174 attrs.bV, 8175 $elm$html$Html$Attributes$attribute('aria-disabled'), 8176 'true'), 8177 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$placeholder, attrs.gb), 8178 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$minlength, attrs.aL), 8179 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$maxlength, attrs.N), 8180 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$pattern, attrs.cr), 8181 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onFocus, attrs.cj), 8182 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onBlur, attrs.cg), 8183 A2($author$project$W$Internal$Helpers$maybeAttr, $author$project$W$Internal$Helpers$onEnter, attrs.ci) 8184 ])); 8185}; 8186var $elm$core$String$slice = _String_slice; 8187var $elm$core$String$left = F2( 8188 function (n, string) { 8189 return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string); 8190 });
8191var $author$project$W$Internal$Helpers$limitString = F2( 8192 function (limit, str) { 8193 return A2( 8194 $elm$core$Maybe$withDefault, 8195 str, 8196 A2( 8197 $elm$core$Maybe$map, 8198 function (l) { 8199 return A2($elm$core$String$left, l, str); 8200 }, 8201 limit)); 8202 }); 8203var $elm$html$Html$Events$alwaysStop = function (x) { 8204 return _Utils_Tuple2(x, true); 8205}; 8206var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) { 8207 return {$: 1, a: a}; 8208}; 8209var $elm$html$Html$Events$stopPropagationOn = F2( 8210 function (event, decoder) { 8211 return A2( 8212 $elm$virtual_dom$VirtualDom$on, 8213 event, 8214 $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder)); 8215 }); 8216var $elm$html$Html$Events$targetValue = A2( 8217 $elm$json$Json$Decode$at, 8218 _List_fromArray( 8219 ['target', 'value']), 8220 $elm$json$Json$Decode$string); 8221var $elm$html$Html$Events$onInput = function (tagger) { 8222 return A2( 8223 $elm$html$Html$Events$stopPropagationOn, 8224 'input', 8225 A2( 8226 $elm$json$Json$Decode$map, 8227 $elm$html$Html$Events$alwaysStop, 8228 A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue))); 8229}; 8230var $author$project$W$Internal$Input$prefixSuffixClass = $elm$html$Html$Attributes$class('ew-flex ew-items-center ew-justify-center ew-box-border' + (' ew-border-0 ew-border-solid ew-border-base-aux/30' + (' ew-p-2 ew-min-w-[48px] ew-self-stretch' + ' ew-text-base-aux'))); 8231var $author$project$W$Internal$Input$view = F2( 8232 function (attrs, input) { 8233 return A2( 8234 $elm$html$Html$label, 8235 _List_fromArray( 8236 [ 8237 $elm$html$Html$Attributes$class('ew-input ew-bg-base-bg'), 8238 $elm$html$Html$Attributes$class('ew-flex ew-items-stretch'), 8239 $elm$html$Html$Attributes$class('ew-box-border ew-border ew-border-solid ew-border-base-aux/30 ew-rounded'), 8240 $elm$html$Html$Attributes$class('ew-font-text ew-text-base-fg'), 8241 $elm$html$Html$Attributes$class('ew-transition'), 8242 $elm$html$Html$Attributes$class('ew-ring-offset-0 ew-ring-primary-fg/50'), 8243 $elm$html$Html$Attributes$classList( 8244 _List_fromArray( 8245 [ 8246 _Utils_Tuple2('focus-within:ew-ring focus-within:ew-border-primary-fg', !attrs.ah), 8247 _Utils_Tuple2('ew-text-base', !attrs.aV), 8248 _Utils_Tuple2('ew-text-sm', attrs.aV) 8249 ])) 8250 ]), 8251 _List_fromArray( 8252 [ 8253 function () { 8254 var _v0 = attrs.bk; 8255 if (!_v0.$) { 8256 var prefix = _v0.a; 8257 return A2( 8258 $elm$html$Html$div, 8259 _List_fromArray( 8260 [ 8261 $author$project$W$Internal$Input$prefixSuffixClass, 8262 $elm$html$Html$Attributes$class('ew-border-r') 8263 ]), 8264 prefix); 8265 } else { 8266 return $elm$html$Html$text(''); 8267 } 8268 }(), 8269 A2( 8270 $elm$html$Html$div, 8271 _List_fromArray( 8272 [ 8273 $elm$html$Html$Attributes$class('ew-grow ew-relative'), 8274 $elm$html$Html$Attributes$class('ew-flex ew-items-stretch ew-group'), 8275 $elm$html$Html$Attributes$class('ew-rounded'), 8276 $elm$html$Html$Attributes$classList( 8277 _List_fromArray( 8278 [ 8279 _Utils_Tuple2( 8280 'ew-text-transparent focus-within:ew-text-base-fg', 8281 !_Utils_eq(attrs.fQ, $elm$core$Maybe$Nothing)), 8282 _Utils_Tuple2( 8283 'ew-text-base-fg', 8284 _Utils_eq(attrs.fQ, $elm$core$Maybe$Nothing)), 8285 _Utils_Tuple2('ew-min-h-[32px]', attrs.aV), 8286 _Utils_Tuple2('ew-min-h-[48px]', !attrs.aV) 8287 ])), 8288 attrs.ah ? $elm$html$Html$Attributes$class('ew-bg-base-aux/[0.07] focus-within:ew-bg-base-aux/10') : (attrs.bV ? $elm$html$Html$Attributes$class('ew-bg-base-aux/30') : $elm$html$Html$Attributes$class('ew-bg-base-aux/[0.07] focus-within:ew-bg-base-bg')) 8289 ]), 8290 _List_fromArray( 8291 [ 8292 input, 8293 A2( 8294 $elm$core$Maybe$withDefault, 8295 $elm$html$Html$text(''), 8296 A2( 8297 $elm$core$Maybe$map, 8298 function (f) { 8299 return A2( 8300 $elm$html$Html$div, 8301 _List_fromArray( 8302 [ 8303 $elm$html$Html$Attributes$class('ew-absolute ew-z-10 ew-inset-x-3 ew-inset-y-0'), 8304 $elm$html$Html$Attributes$class('ew-flex ew-items-center'), 8305 $elm$html$Html$Attributes$class('ew-pointer-events-none') 8306 ]), 8307 _List_fromArray( 8308 [ 8309 A2( 8310 $elm$html$Html$div, 8311 _List_fromArray( 8312 [ 8313 $elm$html$Html$Attributes$class('ew-text-base-fg'), 8314 $elm$html$Html$Attributes$class('group-focus-within:ew-relative ew-top-[28px]'), 8315 $elm$html$Html$Attributes$class('group-focus-within:ew-text-sm'), 8316 $elm$html$Html$Attributes$class('group-focus-within:ew-px-2 group-focus-within:ew-leading-relaxed group-focus-within:ew-rounded'), 8317 $elm$html$Html$Attributes$class('group-focus-within:ew-bg-neutral-bg group-focus-within:ew-text-neutral-aux'), 8318 A2($elm$html$Html$Attributes$attribute, 'aria-label', 'formatted input') 8319 ]), 8320 _List_fromArray( 8321 [ 8322 $elm$html$Html$text( 8323 f(attrs.fR)) 8324 ])) 8325 ])); 8326 }, 8327 attrs.fQ)) 8328 ])), 8329 function () { 8330 var _v1 = attrs.bv; 8331 if (!_v1.$) { 8332 var suffix = _v1.a; 8333 return A2( 8334 $elm$html$Html$div, 8335 _List_fromArray( 8336 [ 8337 $author$project$W$Internal$Input$prefixSuffixClass, 8338 $elm$html$Html$Attributes$class('ew-border-l') 8339 ]), 8340 suffix); 8341 } else { 8342 return $elm$html$Html$text(''); 8343 } 8344 }() 8345 ])); 8346 }); 8347var $author$project$W$InputText$view = F2( 8348 function (attrs_, props) { 8349 var attrs = $author$project$W$InputText$applyAttrs(attrs_);
8350 var value = A2($author$project$W$Internal$Helpers$limitString, attrs.N, props.cN); 8351 return A2( 8352 $author$project$W$Internal$Input$view, 8353 {bV: attrs.bV, fQ: attrs.fQ, fR: value, bk: attrs.bk, ah: attrs.ah, aV: attrs.aV, bv: attrs.bv}, 8354 A2( 8355 $elm$html$Html$input, 8356 _Utils_ap( 8357 $author$project$W$InputText$baseAttrs(attrs), 8358 _List_fromArray( 8359 [ 8360 $elm$html$Html$Attributes$value(value), 8361 $elm$html$Html$Events$onInput( 8362 A2( 8363 $elm$core$Basics$composeL, 8364 props.cm, 8365 $author$project$W$Internal$Helpers$limitString(attrs.N))) 8366 ])), 8367 _List_Nil)); 8368 }); 8369var $author$project$Chapters$Form$Field$chapter_ = function () { 8370 var singleInput = { 8371 en: _List_fromArray( 8372 [ 8373 A2( 8374 $author$project$W$InputText$view, 8375 _List_fromArray( 8376 [ 8377 $author$project$W$InputText$placeholder('...') 8378 ]), 8379 { 8380 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 8381 cN: '' 8382 }) 8383 ]), 8384 aK: _List_fromArray( 8385 [ 8386 $elm$html$Html$text('Label') 8387 ]) 8388 }; 8389 var props = { 8390 en: _List_fromArray( 8391 [ 8392 A2( 8393 $elm$html$Html$div, 8394 _List_fromArray( 8395 [ 8396 A2($elm$html$Html$Attributes$style, 'display', 'flex'), 8397 A2($elm$html$Html$Attributes$style, 'flex-direction', 'column'), 8398 A2($elm$html$Html$Attributes$style, 'gap', '20px') 8399 ]), 8400 _List_fromArray( 8401 [ 8402 A2( 8403 $author$project$W$InputText$view, 8404 _List_fromArray( 8405 [ 8406 $author$project$W$InputText$placeholder('...') 8407 ]), 8408 { 8409 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 8410 cN: '' 8411 }), 8412 A2( 8413 $author$project$W$InputRadio$view, 8414 _List_Nil, 8415 { 8416 fE: 'default', 8417 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 8418 f9: _List_fromArray( 8419 [1, 2, 3]), 8420 u: $elm$core$String$fromInt, 8421 gw: $elm$core$String$fromInt, 8422 cN: 1 8423 }), 8424 A2( 8425 $author$project$W$InputSlider$view, 8426 _List_fromArray( 8427 [ 8428 $author$project$W$InputSlider$readOnly(true) 8429 ]), 8430 { 8431 fS: 10, 8432 fX: 0, 8433 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromFloat, 'onInput'), 8434 gq: 1, 8435 cN: 5 8436 }) 8437 ])) 8438 ]), 8439 aK: _List_fromArray( 8440 [ 8441 $elm$html$Html$text('Label') 8442 ]) 8443 }; 8444 return A2( 8445 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 8446 _List_fromArray( 8447 [ 8448 _Utils_Tuple2( 8449 'Single', 8450 A2($author$project$W$InputField$view, _List_Nil, props)), 8451 _Utils_Tuple2( 8452 'Single without Padding', 8453 A2( 8454 $author$project$W$InputField$view, 8455 _List_fromArray( 8456 [ 8457 $author$project$W$InputField$padding(0) 8458 ]), 8459 props)), 8460 _Utils_Tuple2( 8461 'Group + Status', 8462 A2( 8463 $elm$html$Html$div, 8464 _List_Nil, 8465 _List_fromArray( 8466 [ 8467 A2($author$project$W$InputField$view, _List_Nil, props), 8468 A2( 8469 $author$project$W$InputField$view, 8470 _List_fromArray( 8471 [ 8472 $author$project$W$InputField$hint( 8473 _List_fromArray( 8474 [ 8475 $elm$html$Html$text('Try writing some text here.') 8476 ])) 8477 ]), 8478 props), 8479 A2( 8480 $author$project$W$InputField$view, 8481 _List_fromArray( 8482 [ 8483 $author$project$W$InputField$hint( 8484 _List_fromArray( 8485 [ 8486 $elm$html$Html$text('Try writing some text here.') 8487 ])) 8488 ]), 8489 props) 8490 ]))), 8491 _Utils_Tuple2( 8492 'Right aligned', 8493 A2( 8494 $elm$html$Html$div, 8495 _List_Nil, 8496 _List_fromArray( 8497 [ 8498 A2( 8499 $author$project$W$InputField$view, 8500 _List_fromArray( 8501 [ 8502 $author$project$W$InputField$alignRight(true) 8503 ]), 8504 singleInput), 8505 A2( 8506 $author$project$W$InputField$view, 8507 _List_fromArray( 8508 [ 8509 $author$project$W$InputField$alignRight(true), 8510 $author$project$W$InputField$hint( 8511 _List_fromArray( 8512 [ 8513 $elm$html$Html$text('Try writing some text here.') 8514 ])) 8515 ]), 8516 singleInput), 8517 A2($author$project$W$Divider$view, _List_Nil, _List_Nil), 8518 A2( 8519 $author$project$W$InputField$view, 8520 _List_fromArray( 8521 [ 8522 $author$project$W$InputField$alignRight(true) 8523 ]), 8524 props), 8525 A2( 8526 $author$project$W$InputField$view, 8527 _List_fromArray( 8528 [ 8529 $author$project$W$InputField$alignRight(true) 8530 ]), 8531 props) 8532 ]))) 8533 ]), 8534 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Field')); 8535}(); 8536var $author$project$Chapters$Form$InputAutocomplete$OnInput = function (a) { 8537 return {$: 0, a: a}; 8538}; 8539var $author$project$Chapters$Form$InputAutocomplete$OnRemoveLast = {$: 1}; 8540var $author$project$Chapters$Form$InputAutocomplete$elmAuthors = _List_fromArray( 8541 [ 8542 {w: 'Brian Hicks', E: 'BrianHicks/elm-csv'}, 8543 {w: 'Dillon Kearns', E: 'dillonkearns/elm-pages, dillon-kearns/elm-graphql'}, 8544 {w: 'Evan Czaplicki', E: 'elm/core'}, 8545 {w: 'Jakub Hampl', E: 'gampleman/elm-visualization'}, 8546 {w: 'Georges Boris', E: 'dtwrks/elm-book'}, 8547 {w: 'Jeroen Mengels', E: 'jfmengels/elm-review'}, 8548 {w: 'Matthew Griffith', E: 'mdgriffith/elm-ui, vendrinc/elm-gql'}, 8549 {w: 'Ryan Haskell-Glatz', E: 'ryannhg/elm-spa, elm-land'} 8550 ]); 8551var $author$project$W$InputAutocomplete$Attribute = $elm$core$Basics$identity; 8552var $author$project$W$InputAutocomplete$isLoading = function (v) { 8553 return function (attrs) { 8554 return _Utils_update( 8555 attrs, 8556 { 8557 aJ: $elm$core$Maybe$Just(v) 8558 }); 8559 }; 8560}; 8561var $author$project$W$InputAutocomplete$onDelete = function (v) { 8562 return function (attrs) { 8563 return _Utils_update( 8564 attrs, 8565 { 8566 bh: $elm$core$Maybe$Just(v) 8567 }); 8568 }; 8569}; 8570var $author$project$W$InputAutocomplete$optionsHeader = function (v) { 8571 return function (attrs) { 8572 return _Utils_update( 8573 attrs, 8574 { 8575 cq: $elm$core$Maybe$Just(v) 8576 }); 8577 }; 8578}; 8579var $author$project$W$InputAutocomplete$placeholder = function (v) { 8580 return function (attrs) { 8581 return _Utils_update( 8582 attrs, 8583 { 8584 gb: $elm$core$Maybe$Just(v) 8585 }); 8586 }; 8587}; 8588var $dtwrks$elm_book$ElmBook$Internal$Chapter$ChapterComponentViewStateful = function (a) { 8589 return {$: 1, a: a}; 8590}; 8591var $dtwrks$elm_book$ElmBook$Chapter$fromTupleStateful = function (_v0) { 8592 var label = _v0.a; 8593 var view_ = _v0.b; 8594 return { 8595 aK: label,
8596 cP: $dtwrks$elm_book$ElmBook$Internal$Chapter$ChapterComponentViewStateful(view_) 8597 }; 8598}; 8599var $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList = F2( 8600 function (componentList, _v0) { 8601 var builder = _v0; 8602 return _Utils_update( 8603 builder, 8604 { 8605 fe: builder.fe + '<component-list />', 8606 m: _Utils_ap( 8607 A2($elm$core$List$map, $dtwrks$elm_book$ElmBook$Chapter$fromTupleStateful, componentList), 8608 builder.m) 8609 }); 8610 }); 8611var $elm$html$Html$a = _VirtualDom_node('a'); 8612var $author$project$W$Tag$Medium = 1; 8613var $author$project$W$Tag$defaultAttrs = {U: $uncover_co$elm_theme$Theme$neutralForeground, ei: $elm$core$Maybe$Nothing, b$: _List_Nil, s: $elm$core$Maybe$Nothing, n: 1}; 8614var $author$project$W$Tag$applyAttrs = function (attrs) { 8615 return A3( 8616 $elm$core$List$foldl, 8617 F2( 8618 function (_v0, a) { 8619 var fn = _v0; 8620 return fn(a); 8621 }), 8622 $author$project$W$Tag$defaultAttrs, 8623 attrs); 8624}; 8625var $elm$html$Html$Attributes$href = function (url) { 8626 return A2( 8627 $elm$html$Html$Attributes$stringProperty, 8628 'href', 8629 _VirtualDom_noJavaScriptUri(url)); 8630}; 8631var $author$project$W$Tag$interactiveClass = $elm$html$Html$Attributes$class('ew-appearance-none ew-bg-transparent ew-no-underline hover:before:ew-opacity-[0.05] active:before:ew-opacity-[0.03]' + (' ew-transition' + (' ew-outline-0 ew-ring-offset-0 ew-ring-primary-fg/50' + ' focus-visible:ew-bg-base-bg focus-visible:ew-ring focus-visible:ew-border-primary-fg'))); 8632var $author$project$W$Tag$view = F2( 8633 function (attrs_, children) { 8634 var attrs = $author$project$W$Tag$applyAttrs(attrs_); 8635 var baseAttrs = _Utils_ap( 8636 attrs.b$, 8637 _List_fromArray( 8638 [ 8639 $elm$html$Html$Attributes$class('ew-m-0 ew-box-border ew-relative ew-inline-flex ew-items-center ew-leading-none ew-font-text ew-font-medium ew-tracking-wider'), 8640 $elm$html$Html$Attributes$class('ew-rounded-full ew-border-solid ew-border-current ew-border-0'), 8641 $elm$html$Html$Attributes$class('before:ew-content-[\'\'] before:ew-absolute before:ew-inset-0 before:ew-rounded-full before:ew-bg-current before:ew-opacity-10'), 8642 A2($elm$html$Html$Attributes$style, 'color', attrs.U), 8643 function () { 8644 var _v2 = attrs.n; 8645 switch (_v2) { 8646 case 0: 8647 return $elm$html$Html$Attributes$class('ew-h-8 ew-px-4 ew-text-base'); 8648 case 1: 8649 return $elm$html$Html$Attributes$class('ew-h-7 ew-px-3 ew-text-sm'); 8650 default: 8651 return $elm$html$Html$Attributes$class('ew-h-[20px] ew-px-2 ew-text-xs'); 8652 } 8653 }() 8654 ])); 8655 var _v0 = _Utils_Tuple2(attrs.s, attrs.ei); 8656 if (!_v0.a.$) { 8657 var onClick_ = _v0.a.a; 8658 return A2( 8659 $elm$html$Html$button, 8660 _Utils_ap( 8661 baseAttrs, 8662 _List_fromArray( 8663 [ 8664 $author$project$W$Tag$interactiveClass, 8665 $elm$html$Html$Events$onClick(onClick_) 8666 ])), 8667 children); 8668 } else { 8669 if (!_v0.b.$) { 8670 var _v1 = _v0.a; 8671 var href_ = _v0.b.a; 8672 return A2( 8673 $elm$html$Html$a, 8674 _Utils_ap( 8675 baseAttrs, 8676 _List_fromArray( 8677 [ 8678 $author$project$W$Tag$interactiveClass, 8679 $elm$html$Html$Attributes$href(href_) 8680 ])), 8681 children); 8682 } else { 8683 return A2($elm$html$Html$span, baseAttrs, children); 8684 } 8685 } 8686 }); 8687var $author$project$W$InputAutocomplete$ArrowDown = {$: 4}; 8688var $author$project$W$InputAutocomplete$ArrowUp = {$: 5}; 8689var $author$project$W$InputAutocomplete$Blur = {$: 3}; 8690var $author$project$W$InputAutocomplete$Focus = {$: 2}; 8691var $author$project$W$InputAutocomplete$Input = function (a) { 8692 return {$: 0, a: a}; 8693}; 8694var $author$project$W$InputAutocomplete$Select = F2( 8695 function (a, b) { 8696 return {$: 1, a: a, b: b}; 8697 }); 8698var $author$project$W$InputAutocomplete$defaultAttrs = {bE: false, bV: false, b$: _List_Nil, aJ: $elm$core$Maybe$Nothing, ca: false, cg: $elm$core$Maybe$Nothing, bh: $elm$core$Maybe$Nothing, ch: $elm$core$Maybe$Nothing, ci: $elm$core$Maybe$Nothing, cj: $elm$core$Maybe$Nothing, cq: $elm$core$Maybe$Nothing, gb: $elm$core$Maybe$Nothing, bk: $elm$core$Maybe$Nothing, ah: false, cw: false, aV: false, bv: $elm$core$Maybe$Nothing}; 8699var $author$project$W$InputAutocomplete$applyAttrs = function (attrs) { 8700 return A3( 8701 $elm$core$List$foldl, 8702 F2( 8703 function (_v0, a) { 8704 var fn = _v0; 8705 return fn(a); 8706 }), 8707 $author$project$W$InputAutocomplete$defaultAttrs, 8708 attrs); 8709}; 8710var $elm$html$Html$Attributes$autocomplete = function (bool) { 8711 return A2( 8712 $elm$html$Html$Attributes$stringProperty, 8713 'autocomplete', 8714 bool ? 'on' : 'off'); 8715}; 8716var $author$project$W$Internal$Icons$chevronDown = A2( 8717 $elm$html$Html$div, 8718 _List_fromArray( 8719 [ 8720 $elm$html$Html$Attributes$class('ew-block ew-h-1.5 ew-w-1.5 ew-border-2 ew-border-current ew-border-solid ew-rotate-[45deg]'), 8721 A2($elm$html$Html$Attributes$style, 'border-left', 'none'), 8722 A2($elm$html$Html$Attributes$style, 'border-top', 'none') 8723 ]), 8724 _List_Nil); 8725var $elm$core$Array$fromListHelp = F3( 8726 function (list, nodeList, nodeListSize) { 8727 fromListHelp: 8728 while (true) { 8729 var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, list); 8730 var jsArray = _v0.a; 8731 var remainingItems = _v0.b; 8732 if (_Utils_cmp( 8733 $elm$core$Elm$JsArray$length(jsArray), 8734 $elm$core$Array$branchFactor) < 0) { 8735 return A2( 8736 $elm$core$Array$builderToArray, 8737 true, 8738 {r: nodeList, l: nodeListSize, o: jsArray}); 8739 } else { 8740 var $temp$list = remainingItems, 8741 $temp$nodeList = A2( 8742 $elm$core$List$cons, 8743 $elm$core$Array$Leaf(jsArray), 8744 nodeList), 8745 $temp$nodeListSize = nodeListSize + 1; 8746 list = $temp$list; 8747 nodeList = $temp$nodeList; 8748 nodeListSize = $temp$nodeListSize; 8749 continue fromListHelp; 8750 } 8751 } 8752 }); 8753var $elm$core$Array$fromList = function (list) { 8754 if (!list.b) { 8755 return $elm$core$Array$empty; 8756 } else { 8757 return A3($elm$core$Array$fromListHelp, list, _List_Nil, 0); 8758 } 8759}; 8760var $elm$core$Bitwise$and = _Bitwise_and; 8761var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy; 8762var $elm$core$Array$bitMask = 4294967295 >>> (32 - $elm$core$Array$shiftStep); 8763var $elm$core$Basics$ge = _Utils_ge; 8764var $elm$core$Elm$JsArray$unsafeGet = _JsArray_unsafeGet; 8765var $elm$core$Array$getHelp = F3( 8766 function (shift, index, tree) { 8767 getHelp: 8768 while (true) { 8769 var pos = $elm$core$Array$bitMask & (index >>> shift); 8770 var _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree); 8771 if (!_v0.$) { 8772 var subTree = _v0.a; 8773 var $temp$shift = shift - $elm$core$Array$shiftStep, 8774 $temp$index = index, 8775 $temp$tree = subTree; 8776 shift = $temp$shift; 8777 index = $temp$index; 8778 tree = $temp$tree; 8779 continue getHelp; 8780 } else { 8781 var values = _v0.a; 8782 return A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, values); 8783 } 8784 } 8785 }); 8786var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy; 8787var $elm$core$Array$tailIndex = function (len) { 8788 return (len >>> 5) << 5; 8789}; 8790var $elm$core$Array$get = F2( 8791 function (index, _v0) { 8792 var len = _v0.a; 8793 var startShift = _v0.b; 8794 var tree = _v0.c; 8795 var tail = _v0.d; 8796 return ((index < 0) || (_Utils_cmp(index, len) > -1)) ? $elm$core$Maybe$Nothing : ((_Utils_cmp( 8797 index, 8798 $elm$core$Array$tailIndex(len)) > -1) ? $elm$core$Maybe$Just( 8799 A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, tail)) : $elm$core$Maybe$Just( 8800 A3($elm$core$Array$getHelp, startShift, index, tree))); 8801 }); 8802var $elm$virtual_dom$VirtualDom$lazy = _VirtualDom_lazy; 8803var $elm$html$Html$Lazy$lazy = $elm$virtual_dom$VirtualDom$lazy; 8804var $elm$core$String$contains = _String_contains; 8805var $elm$core$String$toLower = _String_toLower; 8806var $author$project$W$InputAutocomplete$matches = F2( 8807 function (match, input) { 8808 return A2( 8809 $elm$core$String$contains, 8810 $elm$core$String$toLower(match), 8811 $elm$core$String$toLower(input)); 8812 }); 8813var $elm$core$Basics$modBy = _Basics_modBy; 8814var $elm$core$Tuple$pair = F2( 8815 function (a, b) { 8816 return _Utils_Tuple2(a, b); 8817 }); 8818var $author$project$W$Menu$Attribute = $elm$core$Basics$identity; 8819var $author$project$W$Menu$selected = function (v) { 8820 return function (attrs) { 8821 return _Utils_update( 8822 attrs, 8823 {ai: v}); 8824 }; 8825}; 8826var $author$project$W$InputAutocomplete$Value = $elm$core$Basics$identity; 8827var $author$project$W$InputAutocomplete$initInput = function (data) { 8828 return _Utils_update( 8829 data, 8830 { 8831 en: A2( 8832 $elm$core$Maybe$withDefault, 8833 '', 8834 A2($elm$core$Maybe$map, data.gv, data.cN)) 8835 }); 8836}; 8837var $author$project$W$InputAutocomplete$update = F3( 8838 function (toMsg, _v0, msg) { 8839 var model = _v0; 8840 var newModel = function () { 8841 switch (msg.$) { 8842 case 0: 8843 var value = msg.a; 8844 return _Utils_update( 8845 model, 8846 {K: true, am: 0, en: value}); 8847 case 1: 8848 var index = msg.a; 8849 var value = msg.b; 8850 return $author$project$W$InputAutocomplete$initInput( 8851 _Utils_update( 8852 model, 8853 { 8854 K: false, 8855 am: index, 8856 cN: $elm$core$Maybe$Just(value) 8857 })); 8858 case 2: 8859 return _Utils_update( 8860 model, 8861 {K: true}); 8862 case 3: 8863 return _Utils_update( 8864 model, 8865 {K: false}); 8866 case 4: 8867 return model.K ? _Utils_update( 8868 model, 8869 {am: model.am + 1}) : _Utils_update( 8870 model, 8871 {K: true}); 8872 default: 8873 return model.K ? _Utils_update( 8874 model, 8875 {am: model.am - 1}) : _Utils_update( 8876 model, 8877 {K: true}); 8878 } 8879 }(); 8880 return toMsg(newModel); 8881 }); 8882var $author$project$W$Menu$defaultMenuAttrs = { 8883 W: {dZ: 12, d_: 8}, 8884 aj: {dZ: 12, d_: 8} 8885}; 8886var $author$project$W$Menu$applyMenuAttrs = function (attrs) { 8887 return A3( 8888 $elm$core$List$foldl, 8889 F2( 8890 function (_v0, a) { 8891 var fn = _v0; 8892 return fn(a); 8893 }), 8894 $author$project$W$Menu$defaultMenuAttrs, 8895 attrs); 8896}; 8897var $elm$html$Html$li = _VirtualDom_node('li'); 8898var $author$project$W$Menu$paddingString = function (_v0) { 8899 var x = _v0.dZ; 8900 var y = _v0.d_; 8901 return $elm$core$String$fromInt(y) + ('px ' + ($elm$core$String$fromInt(x) + 'px')); 8902}; 8903var $elm$html$Html$ul = _VirtualDom_node('ul'); 8904var $author$project$W$Menu$viewCustom = F2( 8905 function (attrs_, children) { 8906 var attrs = $author$project$W$Menu$applyMenuAttrs(attrs_); 8907 return A2( 8908 $elm$html$Html$ul, 8909 _List_fromArray( 8910 [ 8911 $elm$html$Html$Attributes$class('ew-m-0 ew-p-0 ew-w-full ew-list-none ew-bg-base-bg ew-font-text'), 8912 $uncover_co$elm_theme$Theme$styles( 8913 _List_fromArray( 8914 [ 8915 _Utils_Tuple2( 8916 '--ew-menu-padding', 8917 $author$project$W$Menu$paddingString(attrs.W)), 8918 _Utils_Tuple2( 8919 '--ew-menu-title-padding', 8920 $author$project$W$Menu$paddingString(attrs.aj)) 8921 ])) 8922 ]), 8923 A2( 8924 $elm$core$List$map, 8925 function (i) { 8926 return A2( 8927 $elm$html$Html$li, 8928 _List_fromArray( 8929 [ 8930 $elm$html$Html$Attributes$class('ew-m-0 ew-flex ew-justify-stretch') 8931 ]), 8932 _List_fromArray( 8933 [i])); 8934 }, 8935 children)); 8936 }); 8937var $author$project$W$Menu$view = $author$project$W$Menu$viewCustom(_List_Nil); 8938var $author$project$W$Menu$defaultAttrs = {bV: false, b$: _List_Nil, ew: $elm$core$Maybe$Nothing, W: true, eS: $elm$core$Maybe$Nothing, ai: false}; 8939var $author$project$W$Menu$applyAttrs = function (attrs) { 8940 return A3( 8941 $elm$core$List$foldl, 8942 F2( 8943 function (_v0, a) { 8944 var fn = _v0; 8945 return fn(a); 8946 }), 8947 $author$project$W$Menu$defaultAttrs, 8948 attrs); 8949}; 8950var $author$project$W$Menu$baseAttrs = function (attrs) { 8951 return _Utils_ap( 8952 attrs.b$, 8953 _List_fromArray( 8954 [ 8955 $elm$html$Html$Attributes$disabled(attrs.bV), 8956 $elm$html$Html$Attributes$class('ew-m-0 ew-w-full ew-box-border ew-flex ew-items-center ew-content-start'), 8957 $elm$html$Html$Attributes$class('ew-text-left ew-text-base ew-text-fg'), 8958 $elm$html$Html$Attributes$class('hover:ew-bg-base-aux/[0.07]'), 8959 $elm$html$Html$Attributes$class('focus:ew-bg-base-aux/[0.07]'), 8960 $elm$html$Html$Attributes$class('active:ew-bg-base-aux/10'), 8961 $elm$html$Html$Attributes$class('ew-focusable-reset ew-relative focus:ew-z-10'), 8962 $elm$html$Html$Attributes$classList( 8963 _List_fromArray( 8964 [ 8965 _Utils_Tuple2('ew-text-primary-fg ew-bg-primary-fg/10', attrs.ai), 8966 _Utils_Tuple2('hover:ew-bg-primary-fg/[0.15] focus:ew-bg-primary-fg/[0.15] active:ew-bg-primary-fg/20', attrs.ai), 8967 _Utils_Tuple2('ew-text-base-fg ew-bg-base-bg', !attrs.ai), 8968 _Utils_Tuple2('ew-m-disabled', attrs.bV) 8969 ])), 8970 attrs.W ? $uncover_co$elm_theme$Theme$styles( 8971 _List_fromArray( 8972 [ 8973 _Utils_Tuple2('padding', 'var(--ew-menu-padding)') 8974 ])) : $elm$html$Html$Attributes$class('') 8975 ])); 8976}; 8977var $author$project$W$Internal$Helpers$maybeHtml = F2( 8978 function (fn, a) { 8979 return A2( 8980 $elm$core$Maybe$withDefault, 8981 $elm$html$Html$text(''), 8982 A2($elm$core$Maybe$map, fn, a)); 8983 }); 8984var $author$project$W$Menu$baseContent = F2( 8985 function (attrs, label) { 8986 return _List_fromArray( 8987 [ 8988 A2( 8989 $author$project$W$Internal$Helpers$maybeHtml, 8990 $elm$html$Html$span( 8991 _List_fromArray( 8992 [ 8993 $elm$html$Html$Attributes$class('ew-shrink-0 ew-pr-3') 8994 ])), 8995 attrs.ew), 8996 A2( 8997 $elm$html$Html$span, 8998 _List_fromArray( 8999 [ 9000 $elm$html$Html$Attributes$class('ew-grow') 9001 ]), 9002 label), 9003 A2( 9004 $author$project$W$Internal$Helpers$maybeHtml, 9005 $elm$html$Html$span( 9006 _List_fromArray( 9007 [ 9008 $elm$html$Html$Attributes$class('ew-shrink-0 ew-pr-3') 9009 ])), 9010 attrs.eS) 9011 ]); 9012 }); 9013var $author$project$W$Menu$viewButton = F2( 9014 function (attrs_, props) { 9015 var attrs = $author$project$W$Menu$applyAttrs(attrs_); 9016 return A2( 9017 $elm$html$Html$button, 9018 _Utils_ap( 9019 $author$project$W$Menu$baseAttrs(attrs), 9020 _List_fromArray( 9021 [ 9022 $elm$html$Html$Events$onClick(props.s), 9023 $elm$html$Html$Attributes$class('ew-border-0') 9024 ])), 9025 A2($author$project$W$Menu$baseContent, attrs, props.aK)); 9026 }); 9027var $author$project$W$Internal$Input$iconWrapper = F2( 9028 function (_class, child) { 9029 return A2( 9030 $elm$html$Html$div, 9031 _List_fromArray( 9032 [ 9033 $elm$html$Html$Attributes$class('ew-input-icon ew-absolute ew-w-10 ew-inset-y-1 ew-right-1'), 9034 $elm$html$Html$Attributes$class('ew-pointer-events-none ew-flex ew-items-center ew-justify-center'), 9035 $elm$html$Html$Attributes$class('ew-bg-base-bg'), 9036 $elm$html$Html$Attributes$class('before:ew-block before:ew-content-[\'\']'), 9037 $elm$html$Html$Attributes$class('before:ew-inset-0 before:ew-absolute'), 9038 $elm$html$Html$Attributes$class(_class) 9039 ]), 9040 _List_fromArray( 9041 [ 9042 A2( 9043 $elm$html$Html$div, 9044 _List_fromArray( 9045 [ 9046 $elm$html$Html$Attributes$class('ew-relative') 9047 ]), 9048 _List_fromArray( 9049 [child])) 9050 ])); 9051 }); 9052var $author$project$W$Internal$Input$viewWithIcon = F3( 9053 function (attrs, icon, input) { 9054 return A2( 9055 $author$project$W$Internal$Input$view, 9056 attrs, 9057 A2( 9058 $elm$html$Html$div, 9059 _List_fromArray( 9060 [ 9061 $elm$html$Html$Attributes$class('ew-flex ew-items-stretch ew-w-full ew-relative ew-input-with-icon') 9062 ]), 9063 _List_fromArray( 9064 [ 9065 input, 9066 A2($author$project$W$Internal$Input$iconWrapper, 'ew-text-base-aux', icon) 9067 ]))); 9068 }); 9069var $author$project$W$InputAutocomplete$viewCustom = F2( 9070 function (attrs_, props) { 9071 var valueData = function () { 9072 var _v8 = props.cN; 9073 var v = _v8; 9074 return v; 9075 }(); 9076 var update_ = A2($author$project$W$InputAutocomplete$update, props.cm, props.cN); 9077 var attrs = $author$project$W$InputAutocomplete$applyAttrs(attrs_); 9078 var options = attrs.ca ? A2( 9079 $elm$core$List$filter, 9080 A2( 9081 $elm$core$Basics$composeR, 9082 $elm$core$Tuple$second, 9083 A2( 9084 $elm$core$Basics$composeR, 9085 valueData.gv, 9086 $author$project$W$InputAutocomplete$matches(valueData.en))), 9087 A2( 9088 $elm$core$List$indexedMap, 9089 $elm$core$Tuple$pair, 9090 A2($elm$core$Maybe$withDefault, _List_Nil, props.f9))) : A2( 9091 $elm$core$List$indexedMap, 9092 $elm$core$Tuple$pair, 9093 A2($elm$core$Maybe$withDefault, _List_Nil, props.f9)); 9094 var highlighted = A2( 9095 $elm$core$Basics$modBy, 9096 A2( 9097 $elm$core$Basics$max, 9098 $elm$core$List$length(options), 9099 1), 9100 valueData.am); 9101 var showLoading = A2( 9102 $elm$core$Maybe$withDefault, 9103 _Utils_eq(props.f9, $elm$core$Maybe$Nothing) && (valueData.en !== ''), 9104 attrs.aJ); 9105 return function (x) { 9106 return A2( 9107 $elm$html$Html$div, 9108 _List_fromArray( 9109 [ 9110 $elm$html$Html$Attributes$class('ew-relative') 9111 ]), 9112 _List_fromArray( 9113 [ 9114 A2( 9115 $elm$html$Html$div, 9116 _List_fromArray( 9117 [ 9118
9118 $elm$html$Html$Attributes$class('ew-input-autocomplete') 9119 ]), 9120 _List_fromArray( 9121 [x])), 9122 A2( 9123 $elm$html$Html$div, 9124 _List_fromArray( 9125 [ 9126 $elm$html$Html$Attributes$class('ew-input-autocomplete--options'), 9127 $elm$html$Html$Attributes$class('ew-absolute ew-top-full ew-mt-2 ew-left-0 ew-right-0'), 9128 $elm$html$Html$Attributes$class('ew-shadow ew-z-10 ew-bg-base-bg') 9129 ]), 9130 _List_fromArray( 9131 [ 9132 $author$project$W$Menu$view( 9133 _List_fromArray( 9134 [ 9135 function () { 9136 var _v6 = attrs.cq; 9137 if (!_v6.$) { 9138 var optionsHeader_ = _v6.a; 9139 return A2( 9140 $elm$html$Html$div, 9141 _List_Nil, 9142 _List_fromArray( 9143 [ 9144 A2( 9145 $elm$html$Html$div, 9146 _List_fromArray( 9147 [ 9148 $elm$html$Html$Attributes$class('ew-p-3') 9149 ]), 9150 _List_fromArray( 9151 [ 9152 optionsHeader_(valueData.en) 9153 ])), 9154 A2($author$project$W$Divider$view, _List_Nil, _List_Nil) 9155 ])); 9156 } else { 9157 return $elm$html$Html$text(''); 9158 } 9159 }(), 9160 A2( 9161 $elm$html$Html$div, 9162 _List_fromArray( 9163 [ 9164 $elm$html$Html$Attributes$class('ew-overflow-y-auto ew-overflow-x-hidden ew-max-h-64 ew-w-full') 9165 ]), 9166 A2( 9167 $elm$core$List$indexedMap, 9168 F2( 9169 function (viewIndex, _v7) { 9170 var index = _v7.a; 9171 var value = _v7.b; 9172 return A2( 9173 $author$project$W$Menu$viewButton, 9174 _List_fromArray( 9175 [ 9176 $author$project$W$Menu$selected( 9177 _Utils_eq(highlighted, viewIndex)) 9178 ]), 9179 { 9180 aK: _List_fromArray( 9181 [ 9182 props.e0(value) 9183 ]), 9184 s: update_( 9185 A2($author$project$W$InputAutocomplete$Select, index, value)) 9186 }); 9187 }), 9188 options)) 9189 ])) 9190 ])) 9191 ])); 9192 }( 9193 A3( 9194 $author$project$W$Internal$Input$viewWithIcon, 9195 {bV: attrs.bV, fQ: $elm$core$Maybe$Nothing, fR: '', bk: attrs.bk, ah: attrs.ah, aV: attrs.aV, bv: attrs.bv}, 9196 showLoading ? $author$project$W$Loading$dots( 9197 _List_fromArray( 9198 [ 9199 $author$project$W$Loading$size(20) 9200 ])) : $author$project$W$Internal$Icons$chevronDown, 9201 A2( 9202 $elm$html$Html$Lazy$lazy, 9203 function (_v0) { 9204 return A2( 9205 $elm$html$Html$input, 9206 _Utils_ap( 9207 attrs.b$, 9208 _List_fromArray( 9209 [ 9210 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$placeholder, attrs.gb), 9211 $elm$html$Html$Attributes$disabled(attrs.bV || attrs.ah), 9212 $elm$html$Html$Attributes$readonly(attrs.ah), 9213 A3( 9214 $author$project$W$Internal$Helpers$attrIf, 9215 attrs.ah, 9216 $elm$html$Html$Attributes$attribute('aria-readonly'), 9217 'true'), 9218 A3( 9219 $author$project$W$Internal$Helpers$attrIf, 9220 attrs.bV, 9221 $elm$html$Html$Attributes$attribute('aria-disabled'), 9222 'true'), 9223 $elm$html$Html$Attributes$required(attrs.cw), 9224 $elm$html$Html$Attributes$autofocus(attrs.bE), 9225 $elm$html$Html$Attributes$autocomplete(false), 9226 $elm$html$Html$Attributes$id(props.fE), 9227 $elm$html$Html$Attributes$class( 9228 $author$project$W$Internal$Input$baseClass(attrs.aV)), 9229 $elm$html$Html$Attributes$class('ew-pr-10'), 9230 $elm$html$Html$Attributes$value(valueData.en), 9231 A2( 9232 $author$project$W$Internal$Helpers$maybeAttr, 9233 $elm$html$Html$Events$on('focusin'), 9234 A2($elm$core$Maybe$map, $elm$json$Json$Decode$succeed, attrs.cj)), 9235 A2( 9236 $author$project$W$Internal$Helpers$maybeAttr, 9237 $elm$html$Html$Events$on('focusout'), 9238 A2($elm$core$Maybe$map, $elm$json$Json$Decode$succeed, attrs.cg)), 9239 $elm$html$Html$Events$onFocus( 9240 update_($author$project$W$InputAutocomplete$Focus)), 9241 $elm$html$Html$Events$onBlur( 9242 update_($author$project$W$InputAutocomplete$Blur)), 9243 A2( 9244 $elm$html$Html$Events$on, 9245 'keydown', 9246 A2( 9247 $elm$json$Json$Decode$andThen, 9248 function (key) { 9249 switch (key) { 9250 case 'Enter': 9251 var _v2 = _Utils_Tuple2(attrs.ch, valueData.en); 9252 if ((!_v2.a.$) && (_v2.b === '')) { 9253 var onDone_ = _v2.a.a; 9254 return $elm$json$Json$Decode$succeed(onDone_); 9255 } else { 9256 return A2( 9257 $elm$core$Maybe$withDefault, 9258 A2( 9259 $elm$core$Maybe$withDefault, 9260 $elm$json$Json$Decode$fail('ignored action'), 9261 A2( 9262 $elm$core$Maybe$map, 9263 function (msg) { 9264 return $elm$json$Json$Decode$succeed(msg); 9265 }, 9266 attrs.ci)), 9267 A2( 9268 $elm$core$Maybe$map, 9269 function (_v3) { 9270 var value = _v3.b; 9271 return $elm$json$Json$Decode$succeed( 9272 update_( 9273 A2($author$project$W$InputAutocomplete$Select, highlighted, value))); 9274 }, 9275 A2( 9276 $elm$core$Array$get, 9277 highlighted, 9278 $elm$core$Array$fromList(options)))); 9279 } 9280 case 'Delete': 9281 var _v4 = _Utils_Tuple2(attrs.bh, valueData.en); 9282 if ((!_v4.a.$) && (_v4.b === '')) { 9283 var onDelete_ = _v4.a.a; 9284 return $elm$json$Json$Decode$succeed(onDelete_); 9285 } else { 9286 return $elm$json$Json$Decode$fail('ignored event'); 9287 } 9288 case 'Backspace': 9289 var _v5 = _Utils_Tuple2(attrs.bh, valueData.en); 9290 if ((!_v5.a.$) && (_v5.b === '')) { 9291 var onDelete_ = _v5.a.a; 9292 return $elm$json$Json$Decode$succeed(onDelete_); 9293 } else { 9294 return $elm$json$Json$Decode$fail('ignored event'); 9295 } 9296 case 'ArrowDown': 9297 return $elm$json$Json$Decode$succeed( 9298 update_($author$project$W$InputAutocomplete$ArrowDown)); 9299 case 'ArrowUp': 9300 return $elm$json$Json$Decode$succeed( 9301 update_($author$project$W$InputAutocomplete$ArrowUp)); 9302 default: 9303 return $elm$json$Json$Decode$fail('ignored key'); 9304 } 9305 }, 9306 A2($elm$json$Json$Decode$field, 'key', $elm$json$Json$Decode$string))), 9307 A2( 9308 $elm$html$Html$Events$on, 9309 'input', 9310 A2( 9311 $elm$json$Json$Decode$andThen, 9312 function (value) { 9313 return $elm$json$Json$Decode$succeed( 9314 update_( 9315 $author$project$W$InputAutocomplete$Input(value))); 9316 }, 9317 A2( 9318 $elm$json$Json$Decode$at, 9319 _List_fromArray( 9320 ['target', 'value']), 9321 $elm$json$Json$Decode$string))) 9322 ])), 9323 _List_Nil); 9324 }, 9325 valueData.en))); 9326 }); 9327var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map; 9328var $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map; 9329var $elm$core$Platform$Cmd$map = _Platform_map; 9330var $elm$core$Tuple$mapFirst = F2( 9331 function (func, _v0) { 9332 var x = _v0.a; 9333 var y = _v0.b; 9334 return _Utils_Tuple2( 9335 func(x), 9336 y); 9337 }); 9338var $elm$core$Tuple$mapSecond = F2( 9339 function (func, _v0) { 9340 var x = _v0.a; 9341 var y = _v0.b; 9342 return _Utils_Tuple2( 9343 x, 9344 func(y)); 9345 }); 9346var $dtwrks$elm_book$ElmBook$Internal$Msg$UpdateState = function (a) { 9347 return {$: 3, a: a}; 9348}; 9349var $dtwrks$elm_book$ElmBook$Actions$updateStateWithCmd = $dtwrks$elm_book$ElmBook$Internal$Msg$UpdateState; 9350var $dtwrks$elm_book$ElmBook$Actions$updateStateWithCmdWith = function (fn) { 9351 return A2($elm$core$Basics$composeL, $dtwrks$elm_book$ElmBook$Internal$Msg$UpdateState, fn); 9352}; 9353var $dtwrks$elm_book$ElmBook$Actions$mapUpdateWithCmd = F2( 9354 function (config, msg) { 9355 var update_ = F2( 9356 function (msg_, state) { 9357 return A2( 9358 $elm$core$Tuple$mapSecond, 9359 $elm$core$Platform$Cmd$map( 9360 A2($elm$core$Basics$composeL, $dtwrks$elm_book$ElmBook$Actions$updateStateWithCmd, update_)), 9361 A2( 9362 $elm$core$Tuple$mapFirst, 9363 config.gu(state), 9364 A2( 9365 config.gx, 9366 msg_, 9367 config.fv(state)))); 9368 }); 9369 return A2($dtwrks$elm_book$ElmBook$Actions$updateStateWithCmdWith, update_, msg); 9370 }); 9371var $author$project$Chapters$Form$InputAutocomplete$GetOptions = function (a) { 9372 return {$: 3, a: a}; 9373}; 9374var $author$project$Chapters$Form$InputAutocomplete$ScheduleGetOptions = function (a) { 9375 return {$: 2, a: a}; 9376}; 9377var $author$project$Chapters$Form$InputAutocomplete$debounceTime = 200; 9378var $elm$core$List$drop = F2( 9379 function (n, list) { 9380 drop: 9381 while (true) { 9382 if (n <= 0) { 9383 return list; 9384 } else { 9385 if (!list.b) { 9386 return list; 9387 } else { 9388 var x = list.a; 9389 var xs = list.b; 9390 var $temp$n = n - 1, 9391 $temp$list = xs; 9392 n = $temp$n; 9393 list = $temp$list; 9394 continue drop; 9395 } 9396 } 9397 } 9398 }); 9399var $elm$core$Task$andThen = _Scheduler_andThen; 9400var $elm$core$Task$succeed = _Scheduler_succeed; 9401var $elm$core$Task$map = F2( 9402 function (func, taskA) { 9403 return A2( 9404 $elm$core$Task$andThen, 9405 function (a) { 9406 return $elm$core$Task$succeed( 9407 func(a)); 9408 }, 9409 taskA); 9410 }); 9411var $elm$time$Time$Posix = $elm$core$Basics$identity; 9412var $elm$time$Time$millisToPosix = $elm$core$Basics$identity; 9413var $elm$core$Platform$Cmd$batch = _Platform_batch; 9414var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil); 9415var $elm$time$Time$Name = function (a) { 9416 return {$: 0, a: a}; 9417}; 9418var $elm$time$Time$Offset = function (a) { 9419 return {$: 1, a: a}; 9420}; 9421var $elm$time$Time$Zone = F2( 9422 function (a, b) { 9423 return {$: 0, a: a, b: b}; 9424 }); 9425var $elm$time$Time$customZone = $elm$time$Time$Zone; 9426var $elm$time$Time$now = _Time_now($elm$time$Time$millisToPosix); 9427var $author$project$W$InputAutocomplete$toValue = function (_v0) { 9428 var data = _v0; 9429 return data.cN; 9430}; 9431var $author$project$W$InputAutocomplete$valueChanged = F2( 9432 function (a, b) { 9433 return !_Utils_eq( 9434 $author$project$W$InputAutocomplete$toValue(a), 9435 $author$project$W$InputAutocomplete$toValue(b)); 9436 }); 9437var $author$project$W$InputAutocomplete$onChange = F2( 9438 function (before, after) { 9439 return A2($author$project$W$InputAutocomplete$valueChanged, before, after) ? $author$project$W$InputAutocomplete$toValue(after) : $elm$core$Maybe$Nothing; 9440 }); 9441var $elm$core$Task$Perform = $elm$core$Basics$identity; 9442var $elm$core$Task$init = $elm$core$Task$succeed(0); 9443var $elm$core$Task$map2 = F3( 9444 function (func, taskA, taskB) { 9445 return A2( 9446 $elm$core$Task$andThen, 9447 function (a) { 9448 return A2( 9449 $elm$core$Task$andThen, 9450 function (b) { 9451 return $elm$core$Task$succeed( 9452 A2(func, a, b)); 9453 }, 9454 taskB); 9455 }, 9456 taskA); 9457 }); 9458var $elm$core$Task$sequence = function (tasks) { 9459 return A3( 9460 $elm$core$List$foldr, 9461 $elm$core$Task$map2($elm$core$List$cons), 9462 $elm$core$Task$succeed(_List_Nil), 9463 tasks); 9464}; 9465var $elm$core$Platform$sendToApp = _Platform_sendToApp; 9466var $elm$core$Task$spawnCmd = F2(
9467 function (router, _v0) { 9468 var task = _v0; 9469 return _Scheduler_spawn( 9470 A2( 9471 $elm$core$Task$andThen, 9472 $elm$core$Platform$sendToApp(router), 9473 task)); 9474 }); 9475var $elm$core$Task$onEffects = F3( 9476 function (router, commands, state) { 9477 return A2( 9478 $elm$core$Task$map, 9479 function (_v0) { 9480 return 0; 9481 }, 9482 $elm$core$Task$sequence( 9483 A2( 9484 $elm$core$List$map, 9485 $elm$core$Task$spawnCmd(router), 9486 commands))); 9487 }); 9488var $elm$core$Task$onSelfMsg = F3( 9489 function (_v0, _v1, _v2) { 9490 return $elm$core$Task$succeed(0); 9491 }); 9492var $elm$core$Task$cmdMap = F2( 9493 function (tagger, _v0) { 9494 var task = _v0; 9495 return A2($elm$core$Task$map, tagger, task); 9496 }); 9497_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap); 9498var $elm$core$Task$command = _Platform_leaf('Task'); 9499var $elm$core$Task$perform = F2( 9500 function (toMessage, task) { 9501 return $elm$core$Task$command( 9502 A2($elm$core$Task$map, toMessage, task)); 9503 }); 9504var $elm$time$Time$posixToMillis = function (_v0) { 9505 var millis = _v0; 9506 return millis; 9507}; 9508var $author$project$Chapters$Form$InputAutocomplete$GotOptions = function (a) { 9509 return {$: 4, a: a}; 9510}; 9511var $elm$core$Task$onError = _Scheduler_onError; 9512var $elm$core$Task$attempt = F2( 9513 function (resultToMessage, task) { 9514 return $elm$core$Task$command( 9515 A2( 9516 $elm$core$Task$onError, 9517 A2( 9518 $elm$core$Basics$composeL, 9519 A2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage), 9520 $elm$core$Result$Err), 9521 A2( 9522 $elm$core$Task$andThen, 9523 A2( 9524 $elm$core$Basics$composeL, 9525 A2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage), 9526 $elm$core$Result$Ok), 9527 task))); 9528 }); 9529var $author$project$Chapters$Form$InputAutocomplete$matches = F2( 9530 function (a, b) { 9531 return A2( 9532 $elm$core$String$contains, 9533 $elm$core$String$toLower(a), 9534 $elm$core$String$toLower(b)); 9535 }); 9536var $elm$core$Process$sleep = _Process_sleep; 9537var $author$project$Chapters$Form$InputAutocomplete$searchAuthors = function (term) { 9538 return A2( 9539 $elm$core$Task$attempt, 9540 $author$project$Chapters$Form$InputAutocomplete$GotOptions, 9541 A2( 9542 $elm$core$Task$andThen, 9543 function (_v0) { 9544 return $elm$core$Task$succeed( 9545 A2( 9546 $elm$core$List$filter, 9547 function (author) { 9548 return A2($author$project$Chapters$Form$InputAutocomplete$matches, term, author.w) || A2($author$project$Chapters$Form$InputAutocomplete$matches, term, author.E); 9549 }, 9550 $author$project$Chapters$Form$InputAutocomplete$elmAuthors)); 9551 }, 9552 $elm$core$Process$sleep(1000))); 9553}; 9554var $author$project$W$InputAutocomplete$toString = function (_v0) { 9555 var input = _v0.en; 9556 return input; 9557}; 9558var $author$project$Chapters$Form$InputAutocomplete$update = F2( 9559 function (msg, model) { 9560 switch (msg.$) { 9561 case 0: 9562 var value = msg.a; 9563 var _v1 = A2($author$project$W$InputAutocomplete$onChange, model.cN, value); 9564 if (!_v1.$) { 9565 var author = _v1.a; 9566 return _Utils_Tuple2( 9567 _Utils_update( 9568 model, 9569 { 9570 ai: _Utils_ap( 9571 model.ai, 9572 _List_fromArray( 9573 [author])), 9574 cN: value 9575 }), 9576 $elm$core$Platform$Cmd$none); 9577 } else { 9578 return _Utils_Tuple2( 9579 _Utils_update( 9580 model, 9581 {cN: value}), 9582 A2($elm$core$Task$perform, $author$project$Chapters$Form$InputAutocomplete$ScheduleGetOptions, $elm$time$Time$now)); 9583 } 9584 case 1: 9585 return _Utils_Tuple2( 9586 _Utils_update( 9587 model, 9588 { 9589 ai: $elm$core$List$reverse( 9590 A2( 9591 $elm$core$List$drop, 9592 1, 9593 $elm$core$List$reverse(model.ai))) 9594 }), 9595 $elm$core$Platform$Cmd$none); 9596 case 2: 9597 var time = msg.a; 9598 var targetTime = $elm$time$Time$millisToPosix( 9599 $author$project$Chapters$Form$InputAutocomplete$debounceTime + $elm$time$Time$posixToMillis(time)); 9600 return _Utils_Tuple2( 9601 _Utils_update( 9602 model, 9603 { 9604 bS: $elm$core$Maybe$Just(targetTime), 9605 aJ: true 9606 }), 9607 A2( 9608 $elm$core$Task$perform, 9609 $author$project$Chapters$Form$InputAutocomplete$GetOptions, 9610 A2( 9611 $elm$core$Task$map, 9612 function (_v2) { 9613 return targetTime; 9614 }, 9615 $elm$core$Process$sleep($author$project$Chapters$Form$InputAutocomplete$debounceTime)))); 9616 case 3: 9617 var debounce = msg.a; 9618 var searchTerm = $author$project$W$InputAutocomplete$toString(model.cN); 9619 var _v3 = model.bS; 9620 if (!_v3.$) { 9621 var target = _v3.a; 9622 return ((_Utils_cmp( 9623 $elm$time$Time$posixToMillis(debounce), 9624 $elm$time$Time$posixToMillis(target)) > -1) && (searchTerm !== '')) ? _Utils_Tuple2( 9625 model, 9626 $author$project$Chapters$Form$InputAutocomplete$searchAuthors(searchTerm)) : _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 9627 } else { 9628 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 9629 } 9630 default: 9631 var result = msg.a; 9632 if (!result.$) { 9633 var options = result.a; 9634 return _Utils_Tuple2( 9635 _Utils_update( 9636 model, 9637 { 9638 aJ: false, 9639 f9: $elm$core$Maybe$Just(options) 9640 }), 9641 $elm$core$Platform$Cmd$none); 9642 } else { 9643 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 9644 } 9645 } 9646 }); 9647var $author$project$Chapters$Form$InputAutocomplete$viewDoc = function (_v0) { 9648 var title = _v0.a; 9649 var fn = _v0.b; 9650 return _Utils_Tuple2( 9651 title, 9652 function (model) { 9653 return A2( 9654 $elm$html$Html$map, 9655 $dtwrks$elm_book$ElmBook$Actions$mapUpdateWithCmd( 9656 { 9657 fv: function ($) { 9658 return $.cU; 9659 }, 9660 gu: F2( 9661 function (state, m) { 9662 return _Utils_update( 9663 state, 9664 {cU: m}); 9665 }), 9666 gx: $author$project$Chapters$Form$InputAutocomplete$update 9667 }), 9668 fn(model.cU)); 9669 }); 9670}; 9671var $author$project$W$InputAutocomplete$localFilter = function (attrs) { 9672 return _Utils_update( 9673 attrs, 9674 {ca: true}); 9675}; 9676var $author$project$W$InputAutocomplete$viewSyncCustom = F2( 9677 function (attrs_, props) { 9678 return A2( 9679 $author$project$W$InputAutocomplete$viewCustom, 9680 A2($elm$core$List$cons, $author$project$W$InputAutocomplete$localFilter, attrs_), 9681 { 9682 fE: props.fE, 9683 cm: props.cm, 9684 f9: $elm$core$Maybe$Just(props.f9), 9685 e0: props.e0, 9686 cN: props.cN 9687 }); 9688 }); 9689var $author$project$Chapters$Form$InputAutocomplete$chapter_ = A2(
9690 $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList, 9691 A2( 9692 $elm$core$List$map, 9693 $author$project$Chapters$Form$InputAutocomplete$viewDoc, 9694 _List_fromArray( 9695 [ 9696 _Utils_Tuple2( 9697 'Default', 9698 function (_v0) { 9699 var value = _v0.cN; 9700 var options = _v0.f9; 9701 var selected = _v0.ai; 9702 var isLoading = _v0.aJ; 9703 return A2( 9704 $author$project$W$Container$view, 9705 _List_fromArray( 9706 [$author$project$W$Container$gap_2]), 9707 _List_fromArray( 9708 [ 9709 A2( 9710 $author$project$W$Container$view, 9711 _List_fromArray( 9712 [$author$project$W$Container$horizontal, $author$project$W$Container$gap_2]), 9713 A2( 9714 $elm$core$List$map, 9715 function (x) { 9716 return A2( 9717 $author$project$W$Tag$view, 9718 _List_Nil, 9719 _List_fromArray( 9720 [ 9721 $elm$html$Html$text(x.w) 9722 ])); 9723 }, 9724 selected)), 9725 A2( 9726 $author$project$W$InputAutocomplete$viewCustom, 9727 _List_fromArray( 9728 [ 9729 $author$project$W$InputAutocomplete$placeholder('Search by nameâ¦'), 9730 $author$project$W$InputAutocomplete$isLoading(isLoading), 9731 $author$project$W$InputAutocomplete$onDelete($author$project$Chapters$Form$InputAutocomplete$OnRemoveLast), 9732 $author$project$W$InputAutocomplete$optionsHeader( 9733 function (input) { 9734 return (input === '') ? A2( 9735 $author$project$W$Text$view, 9736 _List_fromArray( 9737 [$author$project$W$Text$small]), 9738 _List_fromArray( 9739 [ 9740 $elm$html$Html$text('Please write a few letters of an elm author.') 9741 ])) : A2( 9742 $author$project$W$Text$view, 9743 _List_fromArray( 9744 [$author$project$W$Text$small]), 9745 _List_fromArray( 9746 [ 9747 $elm$html$Html$text('Searching for \"' + (input + '\"...')) 9748 ])); 9749 }) 9750 ]), 9751 { 9752 fE: 'autocomplete-read-only', 9753 cm: $author$project$Chapters$Form$InputAutocomplete$OnInput, 9754 f9: options, 9755 e0: function (option) { 9756 return A2( 9757 $elm$html$Html$div, 9758 _List_Nil, 9759 _List_fromArray( 9760 [ 9761 A2( 9762 $elm$html$Html$p, 9763 _List_fromArray( 9764 [ 9765 $elm$html$Html$Attributes$class('ew-m-0 ew-p-0') 9766 ]), 9767 _List_fromArray( 9768 [ 9769 $elm$html$Html$text(option.w) 9770 ])), 9771 A2( 9772 $elm$html$Html$p, 9773 _List_fromArray( 9774 [ 9775 $elm$html$Html$Attributes$class('ew-m-0 ew-p-0 ew-text-sm') 9776 ]), 9777 _List_fromArray( 9778 [ 9779 $elm$html$Html$text(option.E) 9780 ])) 9781 ])); 9782 }, 9783 cN: value 9784 }) 9785 ])); 9786 }), 9787 _Utils_Tuple2( 9788 'Sync', 9789 function (_v1) { 9790 var value = _v1.cN; 9791 var options = _v1.f9; 9792 var selected = _v1.ai; 9793 var isLoading = _v1.aJ; 9794 return A2( 9795 $author$project$W$Container$view, 9796 _List_fromArray( 9797 [$author$project$W$Container$gap_2]), 9798 _List_fromArray( 9799 [ 9800 A2( 9801 $author$project$W$Container$view, 9802 _List_fromArray( 9803 [$author$project$W$Container$horizontal, $author$project$W$Container$gap_2]), 9804 A2( 9805 $elm$core$List$map, 9806 function (x) { 9807 return A2( 9808 $author$project$W$Tag$view, 9809 _List_Nil, 9810 _List_fromArray( 9811 [ 9812 $elm$html$Html$text(x.w) 9813 ])); 9814 }, 9815 selected)), 9816 A2( 9817 $author$project$W$InputAutocomplete$viewSyncCustom, 9818 _List_fromArray( 9819 [ 9820 $author$project$W$InputAutocomplete$placeholder('Search by nameâ¦'), 9821 $author$project$W$InputAutocomplete$isLoading(isLoading), 9822 $author$project$W$InputAutocomplete$onDelete($author$project$Chapters$Form$InputAutocomplete$OnRemoveLast), 9823 $author$project$W$InputAutocomplete$optionsHeader( 9824 function (input) { 9825 return (input === '') ? A2( 9826 $author$project$W$Text$view, 9827 _List_fromArray( 9828 [$author$project$W$Text$small]), 9829 _List_fromArray( 9830 [ 9831 $elm$html$Html$text('Please write a few letters of an elm author.') 9832 ])) : A2( 9833 $author$project$W$Text$view, 9834 _List_fromArray( 9835 [$author$project$W$Text$small]), 9836 _List_fromArray( 9837 [ 9838 $elm$html$Html$text('Searching for \"' + (input + '\"...')) 9839 ])); 9840 }) 9841 ]), 9842 { 9843 fE: 'autocomplete-read-only', 9844 cm: $author$project$Chapters$Form$InputAutocomplete$OnInput, 9845 f9: $author$project$Chapters$Form$InputAutocomplete$elmAuthors, 9846 e0: function (option) { 9847 return A2( 9848 $elm$html$Html$div, 9849 _List_Nil, 9850 _List_fromArray( 9851 [ 9852 A2( 9853 $elm$html$Html$p, 9854 _List_fromArray( 9855 [ 9856 $elm$html$Html$Attributes$class('ew-m-0 ew-p-0') 9857 ]), 9858 _List_fromArray( 9859 [ 9860 $elm$html$Html$text(option.w) 9861 ])), 9862 A2( 9863 $elm$html$Html$p, 9864 _List_fromArray( 9865 [ 9866 $elm$html$Html$Attributes$class('ew-m-0 ew-p-0 ew-text-sm') 9867 ]), 9868 _List_fromArray( 9869 [ 9870 $elm$html$Html$text(option.E) 9871 ])) 9872 ])); 9873 }, 9874 cN: value 9875 }) 9876 ])); 9877 }) 9878 ])), 9879 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Autocomplete')); 9880var $author$project$W$InputCheckbox$Attribute = $elm$core$Basics$identity; 9881var $author$project$W$InputCheckbox$color = function (v) { 9882 return function (attrs) { 9883 return _Utils_update( 9884 attrs, 9885 {U: v}); 9886 }; 9887}; 9888var $author$project$W$InputCheckbox$colorful = function (attrs) { 9889 return _Utils_update( 9890 attrs, 9891 {bN: true}); 9892}; 9893var $author$project$W$InputCheckbox$disabled = function (v) { 9894 return function (attrs) { 9895 return _Utils_update( 9896 attrs, 9897 {bV: v}); 9898 }; 9899}; 9900var $dtwrks$elm_book$ElmBook$Actions$stringFromBool = function (value) { 9901 return value ? 'True' : 'False'; 9902}; 9903var $dtwrks$elm_book$ElmBook$Actions$logActionWithBool = $dtwrks$elm_book$ElmBook$Actions$logActionWith($dtwrks$elm_book$ElmBook$Actions$stringFromBool); 9904var $author$project$W$Container$pad_3 = $author$project$W$Container$addClass('ew-p-3'); 9905var $author$project$W$InputCheckbox$readOnly = function (v) { 9906 return function (attrs) { 9907 return _Utils_update( 9908 attrs, 9909 {ah: v}); 9910 }; 9911}; 9912var $author$project$W$InputCheckbox$small = function (attrs) { 9913 return _Utils_update( 9914 attrs, 9915 {aV: true}); 9916}; 9917var $author$project$W$InputCheckbox$Toggle = 1; 9918var $author$project$W$InputCheckbox$toggle = function (attrs) { 9919 return _Utils_update( 9920 attrs, 9921 {x: 1}); 9922}; 9923var $author$project$W$InputCheckbox$Checkbox = 0; 9924var $author$project$W$InputCheckbox$defaultAttrs = {U: $uncover_co$elm_theme$Theme$primaryBackgroun
9924d, bN: false, bV: false, b$: _List_Nil, ah: false, aV: false, x: 0}; 9925var $author$project$W$InputCheckbox$applyAttrs = function (attrs) { 9926 return A3( 9927 $elm$core$List$foldl, 9928 F2( 9929 function (_v0, a) { 9930 var fn = _v0; 9931 return fn(a); 9932 }), 9933 $author$project$W$InputCheckbox$defaultAttrs, 9934 attrs); 9935}; 9936var $author$project$W$InputCheckbox$baseAttrs = F2( 9937 function (attrs_, value) { 9938 var attrs = $author$project$W$InputCheckbox$applyAttrs(attrs_); 9939 return _Utils_ap( 9940 attrs.b$, 9941 _List_fromArray( 9942 [ 9943 $elm$html$Html$Attributes$classList( 9944 _List_fromArray( 9945 [ 9946 _Utils_Tuple2('ew-toggle', attrs.x === 1), 9947 _Utils_Tuple2('ew-checkbox ew-rounded before:ew-rounded-sm', !attrs.x), 9948 _Utils_Tuple2('ew-small', attrs.aV), 9949 _Utils_Tuple2('ew-colorful', attrs.bN) 9950 ])), 9951 $uncover_co$elm_theme$Theme$stylesIf( 9952 _List_fromArray( 9953 [ 9954 _Utils_Tuple3('color', attrs.U, !attrs.bV), 9955 _Utils_Tuple3('color', $uncover_co$elm_theme$Theme$baseAux, attrs.bV), 9956 _Utils_Tuple3('--fg-color', $uncover_co$elm_theme$Theme$baseBackground, true) 9957 ])), 9958 $elm$html$Html$Attributes$type_('checkbox'), 9959 $elm$html$Html$Attributes$checked(value), 9960 $elm$html$Html$Attributes$disabled(attrs.bV || attrs.ah), 9961 $elm$html$Html$Attributes$readonly(attrs.ah) 9962 ])); 9963 }); 9964var $author$project$W$InputCheckbox$view = F2( 9965 function (attrs_, props) { 9966 return A2( 9967 $elm$html$Html$input, 9968 A2( 9969 $elm$core$List$cons, 9970 $elm$html$Html$Events$onCheck(props.cm), 9971 A2($author$project$W$InputCheckbox$baseAttrs, attrs_, props.cN)), 9972 _List_Nil); 9973 }); 9974var $author$project$Chapters$Form$InputCheckbox$chapter_ = A2( 9975 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 9976 _List_fromArray( 9977 [ 9978 _Utils_Tuple2( 9979 'Default', 9980 A2( 9981 $author$project$W$InputCheckbox$view, 9982 _List_Nil, 9983 { 9984 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 9985 cN: true 9986 })), 9987 _Utils_Tuple2( 9988 'Disabled (Checked)', 9989 A2( 9990 $author$project$W$InputCheckbox$view, 9991 _List_fromArray( 9992 [ 9993 $author$project$W$InputCheckbox$disabled(true) 9994 ]), 9995 { 9996 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 9997 cN: true 9998 })), 9999 _Utils_Tuple2( 10000 'Disabled (Unchecked)', 10001 A2( 10002 $author$project$W$InputCheckbox$view, 10003 _List_fromArray( 10004 [ 10005 $author$project$W$InputCheckbox$disabled(true) 10006 ]), 10007 { 10008 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10009 cN: false 10010 })), 10011 _Utils_Tuple2( 10012 'Read Only', 10013 A2( 10014 $author$project$W$InputCheckbox$view, 10015 _List_fromArray( 10016 [ 10017 $author$project$W$InputCheckbox$readOnly(true) 10018 ]), 10019 { 10020 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10021 cN: true 10022 })), 10023 _Utils_Tuple2( 10024 'Custom Color', 10025 A2( 10026 $author$project$W$InputCheckbox$view, 10027 _List_fromArray( 10028 [ 10029 $author$project$W$InputCheckbox$color('red') 10030 ]), 10031 { 10032 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10033 cN: true 10034 })), 10035 _Utils_Tuple2( 10036 'Different Sizes', 10037 A2( 10038 $elm$html$Html$div, 10039 _List_Nil, 10040 _List_fromArray( 10041 [ 10042 A2( 10043 $author$project$W$InputCheckbox$view, 10044 _List_Nil, 10045 { 10046 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10047 cN: true 10048 }), 10049 A2( 10050 $elm$html$Html$div, 10051 _List_fromArray( 10052 [ 10053 A2($elm$html$Html$Attributes$style, 'display', 'inline-block'), 10054 A2($elm$html$Html$Attributes$style, 'width', '8px') 10055 ]), 10056 _List_Nil), 10057 A2( 10058 $author$project$W$InputCheckbox$view, 10059 _List_fromArray( 10060 [$author$project$W$InputCheckbox$small]), 10061 { 10062 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10063 cN: true 10064 }) 10065 ]))), 10066 _Utils_Tuple2( 10067 'Colorful', 10068 A2( 10069 $elm$html$Html$div, 10070 _List_Nil, 10071 _List_fromArray( 10072 [ 10073 A2( 10074 $author$project$W$InputCheckbox$view, 10075 _List_fromArray( 10076 [$author$project$W$InputCheckbox$colorful]), 10077 { 10078 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10079 cN: false 10080 }), 10081 A2( 10082 $elm$html$Html$div, 10083 _List_fromArray( 10084 [ 10085 A2($elm$html$Html$Attributes$style, 'display', 'inline-block'), 10086 A2($elm$html$Html$Attributes$style, 'width', '8px') 10087 ]), 10088 _List_Nil), 10089 A2( 10090 $author$project$W$InputCheckbox$view, 10091 _List_fromArray( 10092 [$author$project$W$InputCheckbox$small, $author$project$W$InputCheckbox$colorful]), 10093 { 10094 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10095 cN: false 10096 }) 10097 ]))), 10098 _Utils_Tuple2( 10099 'Toggle', 10100 A2( 10101 $author$project$W$Container$view, 10102 _List_fromArray( 10103 [$author$project$W$Container$card, $author$project$W$Container$pad_3]), 10104 _List_fromArray( 10105 [ 10106 A2( 10107 $author$project$W$InputCheckbox$view, 10108 _List_fromArray( 10109 [$author$project$W$InputCheckbox$toggle]), 10110 { 10111 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10112 cN: true 10113 }) 10114 ]))), 10115 _Utils_Tuple2( 10116 'Toggle (Small)', 10117 A2( 10118 $author$project$W$Container$view, 10119 _List_fromArray( 10120 [$author$project$W$Container$card, $author$project$W$Container$pad_3]), 10121 _List_fromArray( 10122 [ 10123 A2( 10124 $author$project$W$InputCheckbox$view, 10125 _List_fromArray( 10126 [$author$project$W$InputCheckbox$toggle, $author$project$W$InputCheckbox$small]), 10127 { 10128 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithBool('onInput'), 10129 cN: true 10130 }) 10131 ]))) 10132 ]), 10133 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Checkbox')); 10134var $avh4$elm_color$Color$RgbaSpace = F4( 10135 function (a, b, c, d) {
10136 return {$: 0, a: a, b: b, c: c, d: d}; 10137 }); 10138var $avh4$elm_color$Color$blue = A4($avh4$elm_color$Color$RgbaSpace, 52 / 255, 101 / 255, 164 / 255, 1.0); 10139var $author$project$W$InputColor$Attribute = $elm$core$Basics$identity; 10140var $author$project$W$InputColor$disabled = function (v) { 10141 return function (attrs) { 10142 return _Utils_update( 10143 attrs, 10144 {bV: v}); 10145 }; 10146}; 10147var $author$project$W$InputColor$readOnly = function (v) { 10148 return function (attrs) { 10149 return _Utils_update( 10150 attrs, 10151 {ah: v}); 10152 }; 10153}; 10154var $avh4$elm_color$Color$red = A4($avh4$elm_color$Color$RgbaSpace, 204 / 255, 0 / 255, 0 / 255, 1.0); 10155var $tesk9$palette$Internal$Opacity$Opacity = $elm$core$Basics$identity; 10156var $elm$core$Basics$clamp = F3( 10157 function (low, high, number) { 10158 return (_Utils_cmp(number, low) < 0) ? low : ((_Utils_cmp(number, high) > 0) ? high : number); 10159 }); 10160var $tesk9$palette$Internal$Opacity$custom = A2( 10161 $elm$core$Basics$composeL, 10162 $elm$core$Basics$identity, 10163 A2($elm$core$Basics$clamp, 0, 1.0)); 10164var $tesk9$palette$Internal$Opacity$opaque = $tesk9$palette$Internal$Opacity$custom(1.0); 10165var $tesk9$palette$Internal$Color$RGBA = function (a) { 10166 return {$: 1, a: a}; 10167}; 10168var $elm$core$Basics$abs = function (n) { 10169 return (n < 0) ? (-n) : n; 10170}; 10171var $tesk9$palette$Internal$RGBA$Color = $elm$core$Basics$identity; 10172var $tesk9$palette$Internal$RGBA$fromChannels = function (_v0) { 10173 var red = _v0.gh; 10174 var green = _v0.fx; 10175 var blue = _v0.fd; 10176 var alpha = _v0.av; 10177 return { 10178 av: alpha, 10179 fd: A3($elm$core$Basics$clamp, 0, 255, blue), 10180 fx: A3($elm$core$Basics$clamp, 0, 255, green), 10181 gh: A3($elm$core$Basics$clamp, 0, 255, red) 10182 }; 10183}; 10184var $tesk9$palette$Internal$RGBA$fromHSLA = function (hsl) { 10185 var hue = hsl.ek; 10186 var alpha = hsl.av; 10187 var saturation = hsl.eT / 100; 10188 var lightness = hsl.ez / 100; 10189 var hueIsBetween = F2( 10190 function (lowerBound, upperBound) { 10191 return (_Utils_cmp(lowerBound, hue) < 1) && (_Utils_cmp(hue, upperBound) < 1); 10192 }); 10193 var chroma = (1 - $elm$core$Basics$abs((2 * lightness) - 1)) * saturation; 10194 var lightnessModifier = lightness - (chroma / 2); 10195 var zigUp = function (xIntercept) { 10196 return (chroma * (hue - xIntercept)) / 60; 10197 }; 10198 var zigDown = function (xIntercept) { 10199 return (-1) * zigUp(xIntercept); 10200 }; 10201 var _v0 = A2(hueIsBetween, 0, 60) ? _Utils_Tuple3( 10202 chroma, 10203 zigUp(0), 10204 0) : (A2(hueIsBetween, 60, 120) ? _Utils_Tuple3( 10205 zigDown(120), 10206 chroma, 10207 0) : (A2(hueIsBetween, 120, 180) ? _Utils_Tuple3( 10208 0, 10209 chroma, 10210 zigUp(120)) : (A2(hueIsBetween, 180, 240) ? _Utils_Tuple3( 10211 0, 10212 zigDown(240), 10213 chroma) : (A2(hueIsBetween, 240, 300) ? _Utils_Tuple3( 10214 zigUp(240), 10215 0, 10216 chroma) : _Utils_Tuple3( 10217 chroma, 10218 0, 10219 zigDown(360)))))); 10220 var r = _v0.a; 10221 var g = _v0.b; 10222 var b = _v0.c; 10223 return $tesk9$palette$Internal$RGBA$fromChannels( 10224 {av: alpha, fd: (b + lightnessModifier) * 255, fx: (g + lightnessModifier) * 255, gh: (r + lightnessModifier) * 255}); 10225}; 10226var $tesk9$palette$Internal$HSLA$toChannels = function (_v0) { 10227 var values = _v0; 10228 return values; 10229}; 10230var $tesk9$palette$Internal$Color$convertHSLToRGBA = function (color) { 10231 return $tesk9$palette$Internal$Color$RGBA( 10232 $tesk9$palette$Internal$RGBA$fromHSLA( 10233 $tesk9$palette$Internal$HSLA$toChannels(color))); 10234}; 10235var $tesk9$palette$Internal$Color$asRGBA = function (color) { 10236 asRGBA: 10237 while (true) { 10238 if (color.$ === 1) { 10239 var values = color.a; 10240 return values; 10241 } else { 10242 var hslValues = color.a; 10243 var $temp$color = $tesk9$palette$Internal$Color$convertHSLToRGBA(hslValues); 10244 color = $temp$color; 10245 continue asRGBA; 10246 } 10247 } 10248}; 10249var $tesk9$palette$Internal$RGBA$toChannels = function (_v0) { 10250 var values = _v0; 10251 return values; 10252}; 10253var $tesk9$palette$SolidColor$toRGB = function (_v0) { 10254 var color = _v0; 10255 var _v1 = $tesk9$palette$Internal$RGBA$toChannels( 10256 $tesk9$palette$Internal$Color$asRGBA(color)); 10257 var red = _v1.gh; 10258 var green = _v1.fx; 10259 var blue = _v1.fd; 10260 return _Utils_Tuple3(red, green, blue); 10261}; 10262var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2}; 10263var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin; 10264var $elm$core$Dict$Black = 1; 10265var $elm$core$Dict$RBNode_elm_builtin = F5( 10266 function (a, b, c, d, e) {
10267 return {$: -1, a: a, b: b, c: c, d: d, e: e}; 10268 }); 10269var $elm$core$Dict$Red = 0; 10270var $elm$core$Dict$balance = F5( 10271 function (color, key, value, left, right) { 10272 if ((right.$ === -1) && (!right.a)) { 10273 var _v1 = right.a; 10274 var rK = right.b; 10275 var rV = right.c; 10276 var rLeft = right.d; 10277 var rRight = right.e; 10278 if ((left.$ === -1) && (!left.a)) { 10279 var _v3 = left.a; 10280 var lK = left.b; 10281 var lV = left.c; 10282 var lLeft = left.d; 10283 var lRight = left.e; 10284 return A5( 10285 $elm$core$Dict$RBNode_elm_builtin, 10286 0, 10287 key, 10288 value, 10289 A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight), 10290 A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight)); 10291 } else { 10292 return A5( 10293 $elm$core$Dict$RBNode_elm_builtin, 10294 color, 10295 rK, 10296 rV, 10297 A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft), 10298 rRight); 10299 } 10300 } else { 10301 if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) { 10302 var _v5 = left.a; 10303 var lK = left.b; 10304 var lV = left.c; 10305 var _v6 = left.d; 10306 var _v7 = _v6.a; 10307 var llK = _v6.b; 10308 var llV = _v6.c; 10309 var llLeft = _v6.d; 10310 var llRight = _v6.e; 10311 var lRight = left.e; 10312 return A5( 10313 $elm$core$Dict$RBNode_elm_builtin, 10314 0, 10315 lK, 10316 lV, 10317 A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), 10318 A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right)); 10319 } else { 10320 return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right); 10321 } 10322 } 10323 }); 10324var $elm$core$Basics$compare = _Utils_compare; 10325var $elm$core$Dict$insertHelp = F3( 10326 function (key, value, dict) { 10327 if (dict.$ === -2) { 10328 return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin); 10329 } else { 10330 var nColor = dict.a; 10331 var nKey = dict.b; 10332 var nValue = dict.c; 10333 var nLeft = dict.d; 10334 var nRight = dict.e; 10335 var _v1 = A2($elm$core$Basics$compare, key, nKey); 10336 switch (_v1) { 10337 case 0: 10338 return A5( 10339 $elm$core$Dict$balance, 10340 nColor, 10341 nKey, 10342 nValue, 10343 A3($elm$core$Dict$insertHelp, key, value, nLeft), 10344 nRight); 10345 case 1: 10346 return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight); 10347 default: 10348 return A5( 10349 $elm$core$Dict$balance, 10350 nColor, 10351 nKey, 10352 nValue, 10353 nLeft, 10354 A3($elm$core$Dict$insertHelp, key, value, nRight)); 10355 } 10356 } 10357 }); 10358var $elm$core$Dict$insert = F3( 10359 function (key, value, dict) { 10360 var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict); 10361 if ((_v0.$ === -1) && (!_v0.a)) { 10362 var _v1 = _v0.a; 10363 var k = _v0.b; 10364 var v = _v0.c; 10365 var l = _v0.d; 10366 var r = _v0.e; 10367 return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); 10368 } else { 10369 var x = _v0; 10370 return x; 10371 } 10372 }); 10373var $elm$core$Dict$fromList = function (assocs) { 10374 return A3( 10375 $elm$core$List$foldl, 10376 F2( 10377 function (_v0, dict) { 10378 var key = _v0.a; 10379 var value = _v0.b; 10380 return A3($elm$core$Dict$insert, key, value, dict); 10381 }), 10382 $elm$core$Dict$empty, 10383 assocs); 10384}; 10385var $elm$core$Dict$get = F2( 10386 function (targetKey, dict) { 10387 get: 10388 while (true) { 10389 if (dict.$ === -2) { 10390 return $elm$core$Maybe$Nothing; 10391 } else { 10392 var key = dict.b; 10393 var value = dict.c; 10394 var left = dict.d; 10395 var right = dict.e; 10396 var _v1 = A2($elm$core$Basics$compare, targetKey, key); 10397 switch (_v1) { 10398 case 0: 10399 var $temp$targetKey = targetKey, 10400 $temp$dict = left; 10401 targetKey = $temp$targetKey; 10402 dict = $temp$dict; 10403 continue get; 10404 case 1: 10405 return $elm$core$Maybe$Just(value); 10406 default: 10407 var $temp$targetKey = targetKey, 10408 $temp$dict = right; 10409 targetKey = $temp$targetKey; 10410 dict = $temp$dict; 10411 continue get; 10412 } 10413 } 10414 } 10415 }); 10416var $tesk9$palette$Internal$Hex$getHexSymbol = function (m) { 10417 var hexValues = $elm$core$Dict$fromList( 10418 _List_fromArray( 10419 [ 10420 _Utils_Tuple2(0, '0'), 10421 _Utils_Tuple2(1, '1'), 10422 _Utils_Tuple2(2, '2'), 10423 _Utils_Tuple2(3, '3'), 10424 _Utils_Tuple2(4, '4'), 10425 _Utils_Tuple2(5, '5'), 10426 _Utils_Tuple2(6, '6'), 10427 _Utils_Tuple2(7, '7'), 10428 _Utils_Tuple2(8, '8'), 10429 _Utils_Tuple2(9, '9'), 10430 _Utils_Tuple2(10, 'A'), 10431 _Utils_Tuple2(11, 'B'), 10432 _Utils_Tuple2(12, 'C'), 10433 _Utils_Tuple2(13, 'D'), 10434 _Utils_Tuple2(14, 'E'), 10435 _Utils_Tuple2(15, 'F') 10436 ])); 10437 return A2( 10438 $elm$core$Maybe$withDefault, 10439 '0', 10440 A2($elm$core$Dict$get, m, hexValues)); 10441}; 10442var $elm$core$String$cons = _String_cons; 10443var $elm$core$String$fromChar = function (_char) { 10444 return A2($elm$core$String$cons, _char, ''); 10445}; 10446var $elm$core$String$length = _String_length; 10447var $elm$core$Bitwise$shiftRightBy = _Bitwise_shiftRightBy; 10448var $elm$core$String$repeatHelp = F3( 10449 function (n, chunk, result) { 10450 return (n <= 0) ? result : A3( 10451 $elm$core$String$repeatHelp, 10452 n >> 1, 10453 _Utils_ap(chunk, chunk), 10454 (!(n & 1)) ? result : _Utils_ap(result, chunk)); 10455 }); 10456var $elm$core$String$repeat = F2( 10457 function (n, chunk) { 10458 return A3($elm$core$String$repeatHelp, n, chunk, ''); 10459 }); 10460var $elm$core$String$padLeft = F3( 10461 function (n, _char, string) { 10462 return _Utils_ap( 10463 A2( 10464 $elm$core$String$repeat, 10465 n - $elm$core$String$length(string), 10466 $elm$core$String$fromChar(_char)), 10467 string); 10468 }); 10469var $elm$core$Basics$round = _Basics_round; 10470var $tesk9$palette$Internal$Hex$decToHex = function (c) { 10471 var nextValue = function (_v0) { 10472 nextValue: 10473 while (true) { 10474 var dec = _v0.a; 10475 var hex = _v0.b; 10476 if (!dec) { 10477 return hex; 10478 } else { 10479 var $temp$_v0 = _Utils_Tuple2( 10480 (dec / 16) | 0, 10481 _Utils_ap( 10482 $tesk9$palette$Internal$Hex$getHexSymbol(dec % 16), 10483 hex)); 10484 _v0 = $temp$_v0; 10485 continue nextValue; 10486 } 10487 } 10488 }; 10489 return A3( 10490 $elm$core$String$padLeft, 10491 2, 10492 '0', 10493 nextValue( 10494 _Utils_Tuple2( 10495 $elm$core$Basics$round(c), 10496 ''))); 10497}; 10498var $tesk9$palette$Internal$Opacity$toFloat = function (_v0) { 10499 var v = _v0; 10500 return v; 10501}; 10502var $tesk9$palette$Internal$Hex$toStringWithOpacity = function (_v0) { 10503 var red = _v0.gh; 10504 var green = _v0.fx; 10505 var blue = _v0.fd; 10506 var alpha = _v0.av; 10507 var opacityInDec = $tesk9$palette$Internal$Hex$decToHex(
10508 $tesk9$palette$Internal$Opacity$toFloat(alpha) * 255); 10509 return '#' + ($tesk9$palette$Internal$Hex$decToHex(red) + ($tesk9$palette$Internal$Hex$decToHex(green) + ($tesk9$palette$Internal$Hex$decToHex(blue) + opacityInDec))); 10510}; 10511var $tesk9$palette$Internal$Hex$toStringWithoutOpacity = function (_v0) { 10512 var red = _v0.gh; 10513 var green = _v0.fx; 10514 var blue = _v0.fd; 10515 return '#' + ($tesk9$palette$Internal$Hex$decToHex(red) + ($tesk9$palette$Internal$Hex$decToHex(green) + $tesk9$palette$Internal$Hex$decToHex(blue))); 10516}; 10517var $tesk9$palette$Internal$Hex$toString = function (values) { 10518 var alpha = values.av; 10519 return _Utils_eq($tesk9$palette$Internal$Opacity$opaque, alpha) ? $tesk9$palette$Internal$Hex$toStringWithoutOpacity(values) : $tesk9$palette$Internal$Hex$toStringWithOpacity(values); 10520}; 10521var $tesk9$palette$SolidColor$toHex = function (color) { 10522 var _v0 = $tesk9$palette$SolidColor$toRGB(color); 10523 var red = _v0.a; 10524 var green = _v0.b; 10525 var blue = _v0.c; 10526 return $tesk9$palette$Internal$Hex$toString( 10527 {av: $tesk9$palette$Internal$Opacity$opaque, fd: blue, fx: green, gh: red}); 10528}; 10529var $tesk9$palette$SolidColor$Color = $elm$core$Basics$identity; 10530var $tesk9$palette$Internal$Color$fromRGBA = function (values) { 10531 return $tesk9$palette$Internal$Color$RGBA( 10532 $tesk9$palette$Internal$RGBA$fromChannels(values)); 10533}; 10534var $tesk9$palette$SolidColor$fromRGB = function (_v0) { 10535 var red = _v0.a; 10536 var green = _v0.b; 10537 var blue = _v0.c; 10538 return $tesk9$palette$Internal$Color$fromRGBA( 10539 {av: $tesk9$palette$Internal$Opacity$opaque, fd: blue, fx: green, gh: red}); 10540}; 10541var $avh4$elm_color$Color$toRgba = function (_v0) { 10542 var r = _v0.a; 10543 var g = _v0.b; 10544 var b = _v0.c; 10545 var a = _v0.d; 10546 return {av: a, fd: b, fx: g, gh: r}; 10547}; 10548var $author$project$W$Internal$Color$toSolidColor = function (color) { 10549 return $tesk9$palette$SolidColor$fromRGB( 10550 function (_v0) { 10551 var red = _v0.gh; 10552 var green = _v0.fx; 10553 var blue = _v0.fd; 10554 return _Utils_Tuple3(red * 255, green * 255, blue * 255); 10555 }( 10556 $avh4$elm_color$Color$toRgba(color))); 10557}; 10558var $author$project$W$Internal$Color$toHex = function (color) { 10559 return $tesk9$palette$SolidColor$toHex( 10560 $author$project$W$Internal$Color$toSolidColor(color)); 10561}; 10562var $author$project$W$InputColor$defaultAttrs = {bV: false, b$: _List_Nil, ah: false}; 10563var $author$project$W$InputColor$applyAttrs = function (attrs) { 10564 return A3( 10565 $elm$core$List$foldl, 10566 F2( 10567 function (_v0, a) { 10568 var fn = _v0; 10569 return fn(a); 10570 }), 10571 $author$project$W$InputColor$defaultAttrs, 10572 attrs); 10573}; 10574var $author$project$W$InputColor$baseAttrs = F2( 10575 function (attrs_, value) { 10576 var hexColor = $author$project$W$Internal$Color$toHex(value); 10577 var attrs = $author$project$W$InputColor$applyAttrs(attrs_); 10578 return _Utils_ap( 10579 attrs.b$, 10580 _List_fromArray( 10581 [ 10582 $elm$html$Html$Attributes$class('ew-input-color ew-appearance-none'), 10583 $elm$html$Html$Attributes$class('ew-shadow'), 10584 $elm$html$Html$Attributes$class('ew-rounded-full ew-h-8 ew-w-8 ew-bg-white ew-border-0'), 10585 $elm$html$Html$Attributes$class('before:ew-content-[\'\'] before:ew-block'), 10586 $elm$html$Html$Attributes$class('before:ew-bg-current before:ew-rounded-full'), 10587 $elm$html$Html$Attributes$class('ew-relative before:ew-absolute before:ew-inset-1'), 10588 A2($elm$html$Html$Attributes$style, 'color', hexColor), 10589 $elm$html$Html$Attributes$type_('color'), 10590 $elm$html$Html$Attributes$value(hexColor), 10591 $elm$html$Html$Attributes$disabled(attrs.bV || attrs.ah), 10592 $elm$html$Html$Attributes$readonly(attrs.ah) 10593 ])); 10594 }); 10595var $avh4$elm_color$Color$black = A4($avh4$elm_color$Color$RgbaSpace, 0 / 255, 0 / 255, 0 / 255, 1.0); 10596var $elm$core$Char$toUpper = _Char_toUpper; 10597var $tesk9$palette$Internal$Hex$fromHexSymbol = function (m) { 10598 var decValues = $elm$core$Dict$fromList( 10599 _List_fromArray( 10600 [ 10601 _Utils_Tuple2('0', 0), 10602 _Utils_Tuple2('1', 1), 10603 _Utils_Tuple2('2', 2), 10604 _Utils_Tuple2('3', 3), 10605 _Utils_Tuple2('4', 4), 10606 _Utils_Tuple2('5', 5), 10607 _Utils_Tuple2('6', 6), 10608 _Utils_Tuple2('7', 7), 10609 _Utils_Tuple2('8', 8), 10610 _Utils_Tuple2('9', 9), 10611 _Utils_Tuple2('A', 10), 10612 _Utils_Tuple2('B', 11), 10613 _Utils_Tuple2('C', 12), 10614 _Utils_Tuple2('D', 13), 10615 _Utils_Tuple2('E', 14), 10616 _Utils_Tuple2('F', 15) 10617 ])); 10618 return A2( 10619 $elm$core$Dict$get, 10620 $elm$core$Char$toUpper(m), 10621 decValues); 10622}; 10623var $tesk9$palette$Internal$Hex$hexWithAlpha = F4( 10624 function (rs, gs, bs, aa) { 10625 var fromHex = function (_v0) { 10626 var a = _v0.a; 10627 var b = _v0.b; 10628 return (a * 16) + b; 10629 }; 10630 return { 10631 av: A2( 10632 $elm$core$Maybe$withDefault, 10633 $tesk9$palette$Internal$Opacity$opaque, 10634 A2( 10635 $elm$core$Maybe$map, 10636 $tesk9$palette$Internal$Opacity$custom, 10637 A2($elm$core$Maybe$map, fromHex, aa))), 10638 fd: fromHex(bs), 10639 fx: fromHex(gs), 10640 gh: fromHex(rs) 10641 }; 10642 });
10643var $elm$core$String$foldr = _String_foldr; 10644var $elm$core$String$toList = function (string) { 10645 return A3($elm$core$String$foldr, $elm$core$List$cons, _List_Nil, string); 10646}; 10647var $tesk9$palette$Internal$Hex$fromString = function (colorString) { 10648 var colorList = A2( 10649 $elm$core$List$filterMap, 10650 $tesk9$palette$Internal$Hex$fromHexSymbol, 10651 $elm$core$String$toList(colorString)); 10652 _v0$4: 10653 while (true) { 10654 if ((colorList.b && colorList.b.b) && colorList.b.b.b) { 10655 if (colorList.b.b.b.b) { 10656 if (colorList.b.b.b.b.b) { 10657 if (colorList.b.b.b.b.b.b) { 10658 if (colorList.b.b.b.b.b.b.b) { 10659 if (colorList.b.b.b.b.b.b.b.b && (!colorList.b.b.b.b.b.b.b.b.b)) { 10660 var r1 = colorList.a; 10661 var _v1 = colorList.b; 10662 var r0 = _v1.a; 10663 var _v2 = _v1.b; 10664 var g1 = _v2.a; 10665 var _v3 = _v2.b; 10666 var g0 = _v3.a; 10667 var _v4 = _v3.b; 10668 var b1 = _v4.a; 10669 var _v5 = _v4.b; 10670 var b0 = _v5.a; 10671 var _v6 = _v5.b; 10672 var a1 = _v6.a; 10673 var _v7 = _v6.b; 10674 var a0 = _v7.a; 10675 return $elm$core$Maybe$Just( 10676 A4( 10677 $tesk9$palette$Internal$Hex$hexWithAlpha, 10678 _Utils_Tuple2(r1, r0), 10679 _Utils_Tuple2(g1, g0), 10680 _Utils_Tuple2(b1, b0), 10681 $elm$core$Maybe$Just( 10682 _Utils_Tuple2(a1, a0)))); 10683 } else { 10684 break _v0$4; 10685 } 10686 } else { 10687 var r1 = colorList.a; 10688 var _v8 = colorList.b; 10689 var r0 = _v8.a; 10690 var _v9 = _v8.b; 10691 var g1 = _v9.a; 10692 var _v10 = _v9.b; 10693 var g0 = _v10.a; 10694 var _v11 = _v10.b; 10695 var b1 = _v11.a; 10696 var _v12 = _v11.b; 10697 var b0 = _v12.a; 10698 return $elm$core$Maybe$Just( 10699 A4( 10700 $tesk9$palette$Internal$Hex$hexWithAlpha, 10701 _Utils_Tuple2(r1, r0), 10702 _Utils_Tuple2(g1, g0), 10703 _Utils_Tuple2(b1, b0), 10704 $elm$core$Maybe$Nothing)); 10705 } 10706 } else { 10707 break _v0$4; 10708 } 10709 } else { 10710 var r = colorList.a; 10711 var _v13 = colorList.b; 10712 var g = _v13.a; 10713 var _v14 = _v13.b; 10714 var b = _v14.a; 10715 var _v15 = _v14.b; 10716 var a = _v15.a; 10717 return $elm$core$Maybe$Just( 10718 A4( 10719 $tesk9$palette$Internal$Hex$hexWithAlpha, 10720 _Utils_Tuple2(r, r), 10721 _Utils_Tuple2(g, g), 10722 _Utils_Tuple2(b, b), 10723 $elm$core$Maybe$Just( 10724 _Utils_Tuple2(a, a)))); 10725 } 10726 } else { 10727 var r = colorList.a; 10728 var _v16 = colorList.b; 10729 var g = _v16.a; 10730 var _v17 = _v16.b; 10731 var b = _v17.a; 10732 return $elm$core$Maybe$Just( 10733 A4( 10734 $tesk9$palette$Internal$Hex$hexWithAlpha, 10735 _Utils_Tuple2(r, r), 10736 _Utils_Tuple2(g, g), 10737 _Utils_Tuple2(b, b), 10738 $elm$core$Maybe$Nothing)); 10739 } 10740 } else { 10741 break _v0$4; 10742 } 10743 } 10744 return $elm$core$Maybe$Nothing; 10745}; 10746var $tesk9$palette$SolidColor$fromHex = function (colorString) { 10747 var _v0 = $tesk9$palette$Internal$Hex$fromString(colorString); 10748 if (!_v0.$) { 10749 var red = _v0.a.gh; 10750 var green = _v0.a.fx; 10751 var blue = _v0.a.fd; 10752 return $elm$core$Result$Ok( 10753 $tesk9$palette$SolidColor$fromRGB( 10754 _Utils_Tuple3(red, green, blue))); 10755 } else { 10756 return $elm$core$Result$Err('fromHex could not convert ' + (colorString + ' to a Color.')); 10757 } 10758}; 10759var $avh4$elm_color$Color$scaleFrom255 = function (c) { 10760 return c / 255; 10761}; 10762var $avh4$elm_color$Color$rgb255 = F3( 10763 function (r, g, b) { 10764 return A4( 10765 $avh4$elm_color$Color$RgbaSpace, 10766 $avh4$elm_color$Color$scaleFrom255(r), 10767 $avh4$elm_color$Color$scaleFrom255(g), 10768 $avh4$elm_color$Color$scaleFrom255(b), 10769 1.0); 10770 }); 10771var $author$project$W$Internal$Color$fromSolidColor = function (color) { 10772 return function (_v0) { 10773 var r = _v0.a; 10774 var g = _v0.b; 10775 var b = _v0.c; 10776 return A3( 10777 $avh4$elm_color$Color$rgb255, 10778 $elm$core$Basics$floor(r), 10779 $elm$core$Basics$floor(g), 10780 $elm$core$Basics$floor(b)); 10781 }( 10782 $tesk9$palette$SolidColor$toRGB(color)); 10783}; 10784var $elm$core$Result$map = F2( 10785 function (func, ra) { 10786 if (!ra.$) { 10787 var a = ra.a; 10788 return $elm$core$Result$Ok( 10789 func(a)); 10790 } else { 10791 var e = ra.a; 10792 return $elm$core$Result$Err(e); 10793 } 10794 }); 10795var $elm$core$Result$withDefault = F2( 10796 function (def, result) { 10797 if (!result.$) { 10798 var a = result.a; 10799 return a; 10800 } else { 10801 return def; 10802 } 10803 }); 10804var $author$project$W$Internal$Color$fromHex = function (hex) { 10805 return A2( 10806 $elm$core$Result$withDefault, 10807 $avh4$elm_color$Color$black, 10808 A2( 10809 $elm$core$Result$map, 10810 $author$project$W$Internal$Color$fromSolidColor, 10811 $tesk9$palette$SolidColor$fromHex(hex))); 10812}; 10813var $author$project$W$InputColor$view = F2( 10814 function (attrs_, props) { 10815 return A2( 10816 $elm$html$Html$input, 10817 A2( 10818 $elm$core$List$cons, 10819 $elm$html$Html$Events$onInput( 10820 A2($elm$core$Basics$composeL, props.cm, $author$project$W$Internal$Color$fromHex)), 10821 A2($author$project$W$InputColor$baseAttrs, attrs_, props.cN)), 10822 _List_Nil); 10823 }); 10824var $avh4$elm_color$Color$yellow = A4($avh4$elm_color$Color$RgbaSpace, 237 / 255, 212 / 255, 0 / 255, 1.0); 10825var $author$project$Chapters$Form$InputColor$chapter_ = A2( 10826 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 10827 _List_fromArray( 10828 [ 10829 _Utils_Tuple2( 10830 'Default', 10831 A2( 10832 $author$project$W$InputColor$view, 10833 _List_Nil, 10834 { 10835 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $author$project$W$Internal$Color$toHex, 'onInput'), 10836 cN: $avh4$elm_color$Color$blue 10837 })), 10838 _Utils_Tuple2( 10839 'Disabled', 10840 A2( 10841 $author$project$W$InputColor$view, 10842 _List_fromArray( 10843 [ 10844 $author$project$W$InputColor$disabled(true) 10845 ]), 10846 { 10847 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $author$project$W$Internal$Color$toHex, 'onInput'), 10848 cN: $avh4$elm_color$Color$yellow 10849 })), 10850 _Utils_Tuple2( 10851 'Read Only', 10852 A2( 10853 $author$project$W$InputColor$view, 10854 _List_fromArray( 10855 [ 10856 $author$project$W$InputColor$readOnly(true) 10857 ]), 10858 { 10859 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $author$project$W$Internal$Color$toHex, 'onInput'), 10860 cN: $avh4$elm_color$Color$red 10861 })) 10862 ]), 10863 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Color')); 10864var $author$project$W$InputDate$Value = F3( 10865 function (a, b, c) {
10866 return {$: 0, a: a, b: b, c: c}; 10867 }); 10868var $elm$time$Time$Jan = 0; 10869var $justinmimbs$date$Date$RD = $elm$core$Basics$identity; 10870var $justinmimbs$date$Date$isLeapYear = function (y) { 10871 return ((!A2($elm$core$Basics$modBy, 4, y)) && (!(!A2($elm$core$Basics$modBy, 100, y)))) || (!A2($elm$core$Basics$modBy, 400, y)); 10872}; 10873var $justinmimbs$date$Date$daysInMonth = F2( 10874 function (y, m) { 10875 switch (m) { 10876 case 0: 10877 return 31; 10878 case 1: 10879 return $justinmimbs$date$Date$isLeapYear(y) ? 29 : 28; 10880 case 2: 10881 return 31; 10882 case 3: 10883 return 30; 10884 case 4: 10885 return 31; 10886 case 5: 10887 return 30; 10888 case 6: 10889 return 31; 10890 case 7: 10891 return 31; 10892 case 8: 10893 return 30; 10894 case 9: 10895 return 31; 10896 case 10: 10897 return 30; 10898 default: 10899 return 31; 10900 } 10901 }); 10902var $justinmimbs$date$Date$monthToNumber = function (m) { 10903 switch (m) { 10904 case 0: 10905 return 1; 10906 case 1: 10907 return 2; 10908 case 2: 10909 return 3; 10910 case 3: 10911 return 4; 10912 case 4: 10913 return 5; 10914 case 5: 10915 return 6; 10916 case 6: 10917 return 7; 10918 case 7: 10919 return 8; 10920 case 8: 10921 return 9; 10922 case 9: 10923 return 10; 10924 case 10: 10925 return 11; 10926 default: 10927 return 12; 10928 } 10929}; 10930var $elm$time$Time$Apr = 3; 10931var $elm$time$Time$Aug = 7; 10932var $elm$time$Time$Dec = 11; 10933var $elm$time$Time$Feb = 1; 10934var $elm$time$Time$Jul = 6; 10935var $elm$time$Time$Jun = 5; 10936var $elm$time$Time$Mar = 2; 10937var $elm$time$Time$May = 4; 10938var $elm$time$Time$Nov = 10; 10939var $elm$time$Time$Oct = 9; 10940var $elm$time$Time$Sep = 8; 10941var $justinmimbs$date$Date$numberToMonth = function (mn) { 10942 var _v0 = A2($elm$core$Basics$max, 1, mn); 10943 switch (_v0) { 10944 case 1: 10945 return 0; 10946 case 2: 10947 return 1; 10948 case 3: 10949 return 2; 10950 case 4: 10951 return 3; 10952 case 5: 10953 return 4; 10954 case 6: 10955 return 5; 10956 case 7: 10957 return 6; 10958 case 8: 10959 return 7; 10960 case 9: 10961 return 8; 10962 case 10: 10963 return 9; 10964 case 11: 10965 return 10; 10966 default: 10967 return 11; 10968 } 10969}; 10970var $justinmimbs$date$Date$toCalendarDateHelp = F3( 10971 function (y, m, d) { 10972 toCalendarDateHelp: 10973 while (true) { 10974 var monthDays = A2($justinmimbs$date$Date$daysInMonth, y, m); 10975 var mn = $justinmimbs$date$Date$monthToNumber(m); 10976 if ((mn < 12) && (_Utils_cmp(d, monthDays) > 0)) { 10977 var $temp$y = y, 10978 $temp$m = $justinmimbs$date$Date$numberToMonth(mn + 1), 10979 $temp$d = d - monthDays; 10980 y = $temp$y; 10981 m = $temp$m; 10982 d = $temp$d; 10983 continue toCalendarDateHelp; 10984 } else { 10985 return {d8: d, eB: m, e8: y}; 10986 } 10987 } 10988 }); 10989var $justinmimbs$date$Date$floorDiv = F2( 10990 function (a, b) { 10991 return $elm$core$Basics$floor(a / b); 10992 }); 10993var $justinmimbs$date$Date$daysBeforeYear = function (y1) { 10994 var y = y1 - 1; 10995 var leapYears = (A2($justinmimbs$date$Date$floorDiv, y, 4) - A2($justinmimbs$date$Date$floorDiv, y, 100)) + A2($justinmimbs$date$Date$floorDiv, y, 400); 10996 return (365 * y) + leapYears; 10997}; 10998var $justinmimbs$date$Date$divWithRemainder = F2( 10999 function (a, b) { 11000 return _Utils_Tuple2( 11001 A2($justinmimbs$date$Date$floorDiv, a, b), 11002 A2($elm$core$Basics$modBy, b, a)); 11003 }); 11004var $justinmimbs$date$Date$year = function (_v0) { 11005 var rd = _v0; 11006 var _v1 = A2($justinmimbs$date$Date$divWithRemainder, rd, 146097); 11007 var n400 = _v1.a; 11008 var r400 = _v1.b; 11009 var _v2 = A2($justinmimbs$date$Date$divWithRemainder, r400, 36524); 11010 var n100 = _v2.a; 11011 var r100 = _v2.b; 11012 var _v3 = A2($justinmimbs$date$Date$divWithRemainder, r100, 1461); 11013 var n4 = _v3.a; 11014 var r4 = _v3.b; 11015 var _v4 = A2($justinmimbs$date$Date$divWithRemainder, r4, 365); 11016 var n1 = _v4.a; 11017 var r1 = _v4.b; 11018 var n = (!r1) ? 0 : 1; 11019 return ((((n400 * 400) + (n100 * 100)) + (n4 * 4)) + n1) + n; 11020}; 11021var $justinmimbs$date$Date$toOrdinalDate = function (_v0) { 11022 var rd = _v0; 11023 var y = $justinmimbs$date$Date$year(rd); 11024 return { 11025 du: rd - $justinmimbs$date$Date$daysBeforeYear(y), 11026 e8: y 11027 }; 11028}; 11029var $justinmimbs$date$Date$toCalendarDate = function (_v0) { 11030 var rd = _v0; 11031 var date = $justinmimbs$date$Date$toOrdinalDate(rd); 11032 return A3($justinmimbs$date$Date$toCalendarDateHelp, date.e8, 0, date.du); 11033}; 11034var $justinmimbs$date$Date$day = A2( 11035 $elm$core$Basics$composeR, 11036 $justinmimbs$date$Date$toCalendarDate, 11037 function ($) { 11038 return $.d8; 11039 }); 11040var $justinmimbs$date$Date$month = A2( 11041 $elm$core$Basics$composeR, 11042 $justinmimbs$date$Date$toCalendarDate, 11043 function ($) { 11044 return $.eB; 11045 }); 11046var $justinmimbs$date$Date$monthNumber = A2($elm$core$Basics$composeR, $justinmimbs$date$Date$month, $justinmimbs$date$Date$monthToNumber); 11047var $justinmimbs$date$Date$ordinalDay = A2( 11048 $elm$core$Basics$composeR, 11049 $justinmimbs$date$Date$toOrdinalDate, 11050 function ($) { 11051 return $.du; 11052 }); 11053var $justinmimbs$date$Date$padSignedInt = F2( 11054 function (length, _int) { 11055 return _Utils_ap( 11056 (_int < 0) ? '-' : '', 11057 A3( 11058 $elm$core$String$padLeft, 11059 length, 11060 '0', 11061 $elm$core$String$fromInt( 11062 $elm$core$Basics$abs(_int)))); 11063 }); 11064var $justinmimbs$date$Date$monthToQuarter = function (m) { 11065 return (($justinmimbs$date$Date$monthToNumber(m) + 2) / 3) | 0; 11066}; 11067var $justinmimbs$date$Date$quarter = A2($elm$core$Basics$composeR, $justinmimbs$date$Date$month, $justinmimbs$date$Date$monthToQuarter); 11068var $elm$core$String$right = F2( 11069 function (n, string) { 11070 return (n < 1) ? '' : A3( 11071 $elm$core$String$slice, 11072 -n, 11073 $elm$core$String$length(string), 11074 string); 11075 }); 11076var $justinmimbs$date$Date$weekdayNumber = function (_v0) { 11077 var rd = _v0; 11078 var _v1 = A2($elm$core$Basics$modBy, 7, rd); 11079 if (!_v1) { 11080 return 7; 11081 } else { 11082 var n = _v1; 11083 return n; 11084 } 11085}; 11086var $justinmimbs$date$Date$daysBeforeWeekYear = function (y) { 11087 var jan4 = $justinmimbs$date$Date$daysBeforeYear(y) + 4; 11088 return jan4 - $justinmimbs$date$Date$weekdayNumber(jan4); 11089}; 11090var $elm$time$Time$Fri = 4; 11091var $elm$time$Time$Mon = 0; 11092var $elm$time$Time$Sat = 5; 11093var $elm$time$Time$Sun = 6; 11094var $elm$time$Time$Thu = 3; 11095var $elm$time$Time$Tue = 1; 11096var $elm$time$Time$Wed = 2; 11097var $justinmimbs$date$Date$numberToWeekday = function (wdn) { 11098 var _v0 = A2($elm$core$Basics$max, 1, wdn); 11099 switch (_v0) { 11100 case 1: 11101 return 0; 11102 case 2: 11103 return 1; 11104 case 3: 11105 return 2; 11106 case 4: 11107 return 3; 11108 case 5: 11109 return 4; 11110 case 6: 11111 return 5; 11112 default: 11113 return 6; 11114 } 11115}; 11116var $justinmimbs$date$Date$toWeekDate = function (_v0) { 11117 var rd = _v0; 11118 var wdn = $justinmimbs$date$Date$weekdayNumber(rd); 11119 var wy = $justinmimbs$date$Date$year(rd + (4 - wdn)); 11120 var week1Day1 = $justinmimbs$date$Date$daysBeforeWeekYear(wy) + 1; 11121 return { 11122 e6: 1 + (((rd - week1Day1) / 7) | 0), 11123 e7: wy, 11124 gz: $justinmimbs$date$Date$numberToWeekday(wdn) 11125 }; 11126}; 11127var $justinmimbs$date$Date$weekNumber = A2( 11128 $elm$core$Basics$composeR, 11129 $justinmimbs$date$Date$toWeekDate, 11130 function ($) { 11131 return $.e6; 11132 }); 11133var $justinmimbs$date$Date$weekYear = A2( 11134 $elm$core$Basics$composeR, 11135 $justinmimbs$date$Date$toWeekDate, 11136 function ($) { 11137 return $.e7; 11138 }); 11139var $justinmimbs$date$Date$weekday = A2($elm$core$Basics$composeR, $justinmimbs$date$Date$weekdayNumber, $justinmimbs$date$Date$numberToWeekday); 11140var $elm$core$Basics$min = F2( 11141 function (x, y) { 11142 return (_Utils_cmp(x, y) < 0) ? x : y; 11143 }); 11144var $justinmimbs$date$Date$ordinalSuffix = function (n) { 11145 var nn = A2($elm$core$Basics$modBy, 100, n); 11146 var _v0 = A2( 11147 $elm$core$Basics$min, 11148 (nn < 20) ? nn : A2($elm$core$Basics$modBy, 10, nn), 11149 4); 11150 switch (_v0) { 11151 case 1: 11152 return 'st'; 11153 case 2: 11154 return 'nd'; 11155 case 3: 11156 return 'rd'; 11157 default: 11158 return 'th'; 11159 } 11160}; 11161var $justinmimbs$date$Date$withOrdinalSuffix = function (n) { 11162 return _Utils_ap( 11163 $elm$core$String$fromInt(n), 11164 $justinmimbs$date$Date$ordinalSuffix(n)); 11165}; 11166var $justinmimbs$date$Date$formatField = F4( 11167 function (language, _char, length, date) { 11168 switch (_char) { 11169 case 'y': 11170 if (length === 2) { 11171 return A2( 11172 $elm$core$String$right, 11173 2, 11174 A3( 11175 $elm$core$String$padLeft, 11176 2, 11177 '0', 11178 $elm$core$String$fromInt( 11179 $justinmimbs$date$Date$year(date)))); 11180 } else { 11181 return A2( 11182 $justinmimbs$date$Date$padSignedInt, 11183 length, 11184 $justinmimbs$date$Date$year(date)); 11185 } 11186 case 'Y': 11187 if (length === 2) { 11188 return A2( 11189 $elm$core$String$right, 11190 2, 11191 A3( 11192 $elm$core$String$padLeft, 11193 2, 11194 '0', 11195 $elm$core$String$fromInt( 11196 $justinmimbs$date$Date$weekYear(date)))); 11197 } else { 11198 return A2( 11199 $justinmimbs$date$Date$padSignedInt, 11200 length, 11201 $justinmimbs$date$Date$weekYear(date)); 11202 } 11203 case 'Q': 11204 switch (length) { 11205 case 1: 11206 return $elm$core$String$fromInt( 11207 $justinmimbs$date$Date$quarter(date)); 11208 case 2: 11209 return $elm$core$String$fromInt( 11210 $justinmimbs$date$Date$quarter(date)); 11211 case 3: 11212 return 'Q' + $elm$core$String$fromInt( 11213 $justinmimbs$date$Date$quarter(date)); 11214 case 4: 11215 return $justinmimbs$date$Date$withOrdinalSuffix( 11216 $justinmimbs$date$Date$quarter(date)); 11217 case 5: 11218 return $elm$core$String$fromInt( 11219 $justinmimbs$date$Date$quarter(date)); 11220 default: 11221 return ''; 11222 } 11223 case 'M': 11224 switch (length) { 11225 case 1: 11226 return $elm$core$String$fromInt( 11227 $justinmimbs$date$Date$monthNumber(date)); 11228 case 2: 11229 return A3( 11230 $elm$core$String$padLeft, 11231 2, 11232 '0', 11233 $elm$core$String$fromInt( 11234 $justinmimbs$date$Date$monthNumber(date))); 11235 case 3: 11236 return language.cc( 11237 $justinmimbs$date$Date$month(date)); 11238 case 4: 11239 return language.dp( 11240 $justinmimbs$date$Date$month(date)); 11241 case 5: 11242 return A2( 11243 $elm$core$String$left, 11244 1, 11245 language.cc( 11246 $justinmimbs$date$Date$month(date))); 11247 default: 11248 return ''; 11249 } 11250 case 'w': 11251 switch (length) { 11252 case 1: 11253 return $elm$core$String$fromInt( 11254 $justinmimbs$date$Date$weekNumber(date)); 11255 case 2: 11256 return A3( 11257 $elm$core$String$padLeft, 11258 2, 11259 '0', 11260 $elm$core$String$fromInt( 11261 $justinmimbs$date$Date$weekNumber(date))); 11262 default: 11263 return ''; 11264 } 11265 case 'd': 11266 switch (length) { 11267 case 1: 11268 return $elm$core$String$fromInt( 11269 $justinmimbs$date$Date$day(date)); 11270 case 2: 11271 return A3( 11272 $elm$core$String$padLeft, 11273 2, 11274 '0', 11275 $elm$core$String$fromInt( 11276 $justinmimbs$date$Date$day(date))); 11277 case 3: 11278 return language.c1( 11279 $justinmimbs$date$Date$day(date)); 11280 default: 11281 return ''; 11282 } 11283 case 'D': 11284 switch (length) { 11285 case 1: 11286 return $elm$core$String$fromInt( 11287 $justinmimbs$date$Date$ordinalDay(date)); 11288 case 2: 11289 return A3( 11290 $elm$core$String$padLeft, 11291 2, 11292 '0', 11293 $elm$core$String$fromInt( 11294 $justinmimbs$date$Date$ordinalDay(date))); 11295 case 3: 11296 return A3( 11297 $elm$core$String$padLeft, 11298 3, 11299 '0', 11300 $elm$core$String$fromInt( 11301 $justinmimbs$date$Date$ordinalDay(date))); 11302 default: 11303 return ''; 11304 } 11305 case 'E': 11306 switch (length) { 11307 case 1: 11308 return language.au( 11309 $justinmimbs$date$Date$weekday(date)); 11310 case 2: 11311 return language.au( 11312 $justinmimbs$date$Date$weekday(date)); 11313 case 3: 11314 return language.au( 11315 $justinmimbs$date$Date$weekday(date)); 11316 case 4: 11317 return language.dY( 11318 $justinmimbs$date$Date$weekday(date)); 11319 case 5: 11320 return A2( 11321 $elm$core$String$left, 11322 1, 11323 language.au( 11324 $justinmimbs$date$Date$weekday(date))); 11325 case 6: 11326 return A2( 11327 $elm$core$String$left, 11328 2, 11329 language.au( 11330 $justinmimbs$date$Date$weekday(date))); 11331 default: 11332 return ''; 11333 } 11334 case 'e': 11335 switch (length) { 11336 case 1: 11337 return $elm$core$String$fromInt( 11338 $justinmimbs$date$Date$weekdayNumber(date)); 11339 case 2: 11340 return $elm$core$String$fromInt( 11341 $justinmimbs$date$Date$weekdayNumber(date)); 11342 default: 11343 return A4($justinmimbs$date$Date$formatField, language, 'E', length, date); 11344 } 11345 default: 11346 return ''; 11347 } 11348 }); 11349var $justinmimbs$date$Date$formatWithTokens = F3( 11350 function (language, tokens, date) { 11351 return A3( 11352 $elm$core$List$foldl, 11353 F2( 11354 function (token, formatted) { 11355 if (!token.$) { 11356 var _char = token.a; 11357 var length = token.b; 11358 return _Utils_ap( 11359 A4($justinmimbs$date$Date$formatField, language, _char, length, date), 11360 formatted); 11361 } else { 11362 var str = token.a; 11363 return _Utils_ap(str, formatted); 11364 } 11365 }), 11366 '', 11367 tokens); 11368 }); 11369var $justinmimbs$date$Pattern$Literal = function (a) { 11370 return {$: 1, a: a}; 11371}; 11372var $elm$parser$Parser$Advanced$Bad = F2( 11373 function (a, b) { 11374 return {$: 1, a: a, b: b}; 11375 }); 11376var $elm$parser$Parser$Advanced$Good = F3( 11377 function (a, b, c) {
11378 return {$: 0, a: a, b: b, c: c}; 11379 }); 11380var $elm$parser$Parser$Advanced$Parser = $elm$core$Basics$identity; 11381var $elm$parser$Parser$Advanced$andThen = F2( 11382 function (callback, _v0) { 11383 var parseA = _v0; 11384 return function (s0) { 11385 var _v1 = parseA(s0); 11386 if (_v1.$ === 1) { 11387 var p = _v1.a; 11388 var x = _v1.b; 11389 return A2($elm$parser$Parser$Advanced$Bad, p, x); 11390 } else { 11391 var p1 = _v1.a; 11392 var a = _v1.b; 11393 var s1 = _v1.c; 11394 var _v2 = callback(a); 11395 var parseB = _v2; 11396 var _v3 = parseB(s1); 11397 if (_v3.$ === 1) { 11398 var p2 = _v3.a; 11399 var x = _v3.b; 11400 return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x); 11401 } else { 11402 var p2 = _v3.a; 11403 var b = _v3.b; 11404 var s2 = _v3.c; 11405 return A3($elm$parser$Parser$Advanced$Good, p1 || p2, b, s2); 11406 } 11407 } 11408 }; 11409 }); 11410var $elm$parser$Parser$andThen = $elm$parser$Parser$Advanced$andThen; 11411var $elm$core$Basics$always = F2( 11412 function (a, _v0) { 11413 return a; 11414 }); 11415var $elm$parser$Parser$Advanced$map2 = F3( 11416 function (func, _v0, _v1) { 11417 var parseA = _v0; 11418 var parseB = _v1; 11419 return function (s0) { 11420 var _v2 = parseA(s0); 11421 if (_v2.$ === 1) { 11422 var p = _v2.a; 11423 var x = _v2.b; 11424 return A2($elm$parser$Parser$Advanced$Bad, p, x); 11425 } else { 11426 var p1 = _v2.a; 11427 var a = _v2.b; 11428 var s1 = _v2.c; 11429 var _v3 = parseB(s1); 11430 if (_v3.$ === 1) { 11431 var p2 = _v3.a; 11432 var x = _v3.b; 11433 return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x); 11434 } else { 11435 var p2 = _v3.a; 11436 var b = _v3.b; 11437 var s2 = _v3.c; 11438 return A3( 11439 $elm$parser$Parser$Advanced$Good, 11440 p1 || p2, 11441 A2(func, a, b), 11442 s2); 11443 } 11444 } 11445 }; 11446 }); 11447var $elm$parser$Parser$Advanced$ignorer = F2( 11448 function (keepParser, ignoreParser) { 11449 return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$always, keepParser, ignoreParser); 11450 }); 11451var $elm$parser$Parser$ignorer = $elm$parser$Parser$Advanced$ignorer; 11452var $elm$parser$Parser$Advanced$succeed = function (a) { 11453 return function (s) { 11454 return A3($elm$parser$Parser$Advanced$Good, false, a, s); 11455 }; 11456}; 11457var $elm$parser$Parser$succeed = $elm$parser$Parser$Advanced$succeed; 11458var $elm$parser$Parser$Expecting = function (a) { 11459 return {$: 0, a: a}; 11460}; 11461var $elm$parser$Parser$Advanced$Token = F2( 11462 function (a, b) { 11463 return {$: 0, a: a, b: b}; 11464 }); 11465var $elm$parser$Parser$toToken = function (str) { 11466 return A2( 11467 $elm$parser$Parser$Advanced$Token, 11468 str, 11469 $elm$parser$Parser$Expecting(str)); 11470}; 11471var $elm$parser$Parser$Advanced$AddRight = F2( 11472 function (a, b) { 11473 return {$: 1, a: a, b: b}; 11474 }); 11475var $elm$parser$Parser$Advanced$DeadEnd = F4( 11476 function (row, col, problem, contextStack) { 11477 return {d5: col, fk: contextStack, ge: problem, gm: row}; 11478 }); 11479var $elm$parser$Parser$Advanced$Empty = {$: 0}; 11480var $elm$parser$Parser$Advanced$fromState = F2( 11481 function (s, x) { 11482 return A2( 11483 $elm$parser$Parser$Advanced$AddRight, 11484 $elm$parser$Parser$Advanced$Empty, 11485 A4($elm$parser$Parser$Advanced$DeadEnd, s.gm, s.d5, x, s.f)); 11486 }); 11487var $elm$parser$Parser$Advanced$isSubString = _Parser_isSubString; 11488var $elm$parser$Parser$Advanced$token = function (_v0) { 11489 var str = _v0.a; 11490 var expecting = _v0.b; 11491 var progress = !$elm$core$String$isEmpty(str); 11492 return function (s) { 11493 var _v1 = A5($elm$parser$Parser$Advanced$isSubString, str, s.cf, s.gm, s.d5, s.dE); 11494 var newOffset = _v1.a; 11495 var newRow = _v1.b; 11496 var newCol = _v1.c; 11497 return _Utils_eq(newOffset, -1) ? A2( 11498 $elm$parser$Parser$Advanced$Bad, 11499 false, 11500 A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : A3( 11501 $elm$parser$Parser$Advanced$Good, 11502 progress, 11503 0, 11504 {d5: newCol, f: s.f, h: s.h, cf: newOffset, gm: newRow, dE: s.dE}); 11505 }; 11506}; 11507var $elm$parser$Parser$token = function (str) { 11508 return $elm$parser$Parser$Advanced$token( 11509 $elm$parser$Parser$toToken(str)); 11510}; 11511var $justinmimbs$date$Pattern$escapedQuote = A2( 11512 $elm$parser$Parser$ignorer, 11513 $elm$parser$Parser$succeed( 11514 $justinmimbs$date$Pattern$Literal('\'')), 11515 $elm$parser$Parser$token('\'\'')); 11516var $elm$parser$Parser$UnexpectedChar = {$: 11}; 11517var $elm$parser$Parser$Advanced$isSubChar = _Parser_isSubChar; 11518var $elm$parser$Parser$Advanced$chompIf = F2( 11519 function (isGood, expecting) { 11520 return function (s) { 11521 var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, s.cf, s.dE); 11522 return _Utils_eq(newOffset, -1) ? A2( 11523 $elm$parser$Parser$Advanced$Bad, 11524 false, 11525 A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : (_Utils_eq(newOffset, -2) ? A3( 11526 $elm$parser$Parser$Advanced$Good, 11527 true, 11528 0, 11529 {d5: 1, f: s.f, h: s.h, cf: s.cf + 1, gm: s.gm + 1, dE: s.dE}) : A3( 11530 $elm$parser$Parser$Advanced$Good, 11531 true, 11532 0, 11533 {d5: s.d5 + 1, f: s.f, h: s.h, cf: newOffset, gm: s.gm, dE: s.dE})); 11534 }; 11535 }); 11536var $elm$parser$Parser$chompIf = function (isGood) { 11537 return A2($elm$parser$Parser$Advanced$chompIf, isGood, $elm$parser$Parser$UnexpectedChar); 11538}; 11539var $justinmimbs$date$Pattern$Field = F2( 11540 function (a, b) { 11541 return {$: 0, a: a, b: b}; 11542 }); 11543var $elm$parser$Parser$Advanced$chompWhileHelp = F5( 11544 function (isGood, offset, row, col, s0) { 11545 chompWhileHelp: 11546 while (true) { 11547 var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, offset, s0.dE); 11548 if (_Utils_eq(newOffset, -1)) { 11549 return A3( 11550 $elm$parser$Parser$Advanced$Good, 11551 _Utils_cmp(s0.cf, offset) < 0, 11552 0, 11553 {d5: col, f: s0.f, h: s0.h, cf: offset, gm: row, dE: s0.dE}
11553); 11554 } else { 11555 if (_Utils_eq(newOffset, -2)) { 11556 var $temp$isGood = isGood, 11557 $temp$offset = offset + 1, 11558 $temp$row = row + 1, 11559 $temp$col = 1, 11560 $temp$s0 = s0; 11561 isGood = $temp$isGood; 11562 offset = $temp$offset; 11563 row = $temp$row; 11564 col = $temp$col; 11565 s0 = $temp$s0; 11566 continue chompWhileHelp; 11567 } else { 11568 var $temp$isGood = isGood, 11569 $temp$offset = newOffset, 11570 $temp$row = row, 11571 $temp$col = col + 1, 11572 $temp$s0 = s0; 11573 isGood = $temp$isGood; 11574 offset = $temp$offset; 11575 row = $temp$row; 11576 col = $temp$col; 11577 s0 = $temp$s0; 11578 continue chompWhileHelp; 11579 } 11580 } 11581 } 11582 }); 11583var $elm$parser$Parser$Advanced$chompWhile = function (isGood) { 11584 return function (s) { 11585 return A5($elm$parser$Parser$Advanced$chompWhileHelp, isGood, s.cf, s.gm, s.d5, s); 11586 }; 11587}; 11588var $elm$parser$Parser$chompWhile = $elm$parser$Parser$Advanced$chompWhile; 11589var $elm$parser$Parser$Advanced$getOffset = function (s) { 11590 return A3($elm$parser$Parser$Advanced$Good, false, s.cf, s); 11591}; 11592var $elm$parser$Parser$getOffset = $elm$parser$Parser$Advanced$getOffset; 11593var $elm$parser$Parser$Advanced$keeper = F2( 11594 function (parseFunc, parseArg) { 11595 return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$apL, parseFunc, parseArg); 11596 }); 11597var $elm$parser$Parser$keeper = $elm$parser$Parser$Advanced$keeper; 11598var $elm$parser$Parser$Problem = function (a) { 11599 return {$: 12, a: a}; 11600}; 11601var $elm$parser$Parser$Advanced$problem = function (x) { 11602 return function (s) { 11603 return A2( 11604 $elm$parser$Parser$Advanced$Bad, 11605 false, 11606 A2($elm$parser$Parser$Advanced$fromState, s, x)); 11607 }; 11608}; 11609var $elm$parser$Parser$problem = function (msg) { 11610 return $elm$parser$Parser$Advanced$problem( 11611 $elm$parser$Parser$Problem(msg)); 11612}; 11613var $justinmimbs$date$Pattern$fieldRepeats = function (str) { 11614 var _v0 = $elm$core$String$toList(str); 11615 if (_v0.b && (!_v0.b.b)) { 11616 var _char = _v0.a; 11617 return A2( 11618 $elm$parser$Parser$keeper, 11619 A2( 11620 $elm$parser$Parser$keeper, 11621 $elm$parser$Parser$succeed( 11622 F2( 11623 function (x, y) { 11624 return A2($justinmimbs$date$Pattern$Field, _char, 1 + (y - x)); 11625 })), 11626 A2( 11627 $elm$parser$Parser$ignorer, 11628 $elm$parser$Parser$getOffset, 11629 $elm$parser$Parser$chompWhile( 11630 $elm$core$Basics$eq(_char)))), 11631 $elm$parser$Parser$getOffset); 11632 } else { 11633 return $elm$parser$Parser$problem('expected exactly one char'); 11634 } 11635}; 11636var $elm$parser$Parser$Advanced$mapChompedString = F2( 11637 function (func, _v0) { 11638 var parse = _v0; 11639 return function (s0) { 11640 var _v1 = parse(s0); 11641 if (_v1.$ === 1) { 11642 var p = _v1.a; 11643 var x = _v1.b; 11644 return A2($elm$parser$Parser$Advanced$Bad, p, x); 11645 } else { 11646 var p = _v1.a; 11647 var a = _v1.b; 11648 var s1 = _v1.c; 11649 return A3( 11650 $elm$parser$Parser$Advanced$Good, 11651 p, 11652 A2( 11653 func, 11654 A3($elm$core$String$slice, s0.cf, s1.cf, s0.dE), 11655 a), 11656 s1); 11657 } 11658 }; 11659 }); 11660var $elm$parser$Parser$Advanced$getChompedString = function (parser) { 11661 return A2($elm$parser$Parser$Advanced$mapChompedString, $elm$core$Basics$always, parser); 11662}; 11663var $elm$parser$Parser$getChompedString = $elm$parser$Parser$Advanced$getChompedString; 11664var $justinmimbs$date$Pattern$field = A2( 11665 $elm$parser$Parser$andThen, 11666 $justinmimbs$date$Pattern$fieldRepeats, 11667 $elm$parser$Parser$getChompedString( 11668 $elm$parser$Parser$chompIf($elm$core$Char$isAlpha))); 11669var $justinmimbs$date$Pattern$finalize = A2( 11670 $elm$core$List$foldl, 11671 F2( 11672 function (token, tokens) { 11673 var _v0 = _Utils_Tuple2(token, tokens); 11674 if (((_v0.a.$ === 1) && _v0.b.b) && (_v0.b.a.$ === 1)) { 11675 var x = _v0.a.a; 11676 var _v1 = _v0.b; 11677 var y = _v1.a.a; 11678 var rest = _v1.b; 11679 return A2( 11680 $elm$core$List$cons, 11681 $justinmimbs$date$Pattern$Literal( 11682 _Utils_ap(x, y)), 11683 rest); 11684 } else { 11685 return A2($elm$core$List$cons, token, tokens); 11686 } 11687 }), 11688 _List_Nil); 11689var $elm$parser$Parser$Advanced$lazy = function (thunk) { 11690 return function (s) { 11691 var _v0 = thunk(0); 11692 var parse = _v0; 11693 return parse(s); 11694 }; 11695}; 11696var $elm$parser$Parser$lazy = $elm$parser$Parser$Advanced$lazy; 11697var $justinmimbs$date$Pattern$isLiteralChar = function (_char) { 11698 return (_char !== '\'') && (!$elm$core$Char$isAlpha(_char)); 11699}; 11700var $elm$parser$Parser$Advanced$map = F2( 11701 function (func, _v0) { 11702 var parse = _v0; 11703 return function (s0) { 11704 var _v1 = parse(s0); 11705 if (!_v1.$) { 11706 var p = _v1.a; 11707 var a = _v1.b; 11708 var s1 = _v1.c; 11709 return A3( 11710 $elm$parser$Parser$Advanced$Good, 11711 p, 11712 func(a), 11713 s1); 11714 } else { 11715 var p = _v1.a; 11716 var x = _v1.b; 11717 return A2($elm$parser$Parser$Advanced$Bad, p, x); 11718 } 11719 }; 11720 }); 11721var $elm$parser$Parser$map = $elm$parser$Parser$Advanced$map; 11722var $justinmimbs$date$Pattern$literal = A2( 11723 $elm$parser$Parser$map, 11724 $justinmimbs$date$Pattern$Literal, 11725 $elm$parser$Parser$getChompedString( 11726 A2( 11727 $elm$parser$Parser$ignorer, 11728 A2( 11729 $elm$parser$Parser$ignorer, 11730 $elm$parser$Parser$succeed(0), 11731 $elm$parser$Parser$chompIf($justinmimbs$date$Pattern$isLiteralChar)), 11732 $elm$parser$Parser$chompWhile($justinmimbs$date$Pattern$isLiteralChar)))); 11733var $elm$parser$Parser$Advanced$Append = F2( 11734 function (a, b) { 11735 return {$: 2, a: a, b: b}; 11736 }); 11737var $elm$parser$Parser$Advanced$oneOfHelp = F3( 11738 function (s0, bag, parsers) { 11739 oneOfHelp: 11740 while (true) { 11741 if (!parsers.b) { 11742 return A2($elm$parser$Parser$Advanced$Bad, false, bag); 11743 } else { 11744 var parse = parsers.a; 11745 var remainingParsers = parsers.b; 11746 var _v1 = parse(s0); 11747 if (!_v1.$) { 11748 var step = _v1; 11749 return step; 11750 } else { 11751 var step = _v1; 11752 var p = step.a; 11753 var x = step.b; 11754 if (p) { 11755 return step; 11756 } else { 11757 var $temp$s0 = s0, 11758 $temp$bag = A2($elm$parser$Parser$Advanced$Append, bag, x), 11759 $temp$parsers = remainingParsers; 11760 s0 = $temp$s0; 11761 bag = $temp$bag; 11762 parsers = $temp$parsers; 11763 continue oneOfHelp; 11764 } 11765 } 11766 } 11767 } 11768 }); 11769var $elm$parser$Parser$Advanced$oneOf = function (parsers) { 11770 return function (s) { 11771 return A3($elm$parser$Parser$Advanced$oneOfHelp, s, $elm$parser$Parser$Advanced$Empty, parsers); 11772 }; 11773}; 11774var $elm$parser$Parser$oneOf = $elm$parser$Parser$Advanced$oneOf; 11775var $elm$parser$Parser$ExpectingEnd = {$: 10}; 11776var $elm$parser$Parser$Advanced$end = function (x) { 11777 return function (s) { 11778 return _Utils_eq( 11779 $elm$core$String$length(s.dE), 11780 s.cf) ? A3($elm$parser$Parser$Advanced$Good, false, 0, s) : A2( 11781 $elm$parser$Parser$Advanced$Bad, 11782 false, 11783 A2($elm$parser$Parser$Advanced$fromState, s, x)); 11784 }; 11785}; 11786var $elm$parser$Parser$end = $elm$parser$Parser$Advanced$end($elm$parser$Parser$ExpectingEnd); 11787var $justinmimbs$date$Pattern$quotedHelp = function (result) { 11788 return $elm$parser$Parser$oneOf( 11789 _List_fromArray( 11790 [ 11791 A2( 11792 $elm$parser$Parser$andThen, 11793 function (str) { 11794 return $justinmimbs$date$Pattern$quotedHelp( 11795 _Utils_ap(result, str)); 11796 }, 11797 $elm$parser$Parser$getChompedString( 11798 A2( 11799 $elm$parser$Parser$ignorer, 11800 A2( 11801 $elm$parser$Parser$ignorer, 11802 $elm$parser$Parser$succeed(0), 11803 $elm$parser$Parser$chompIf( 11804 $elm$core$Basics$neq('\''))), 11805 $elm$parser$Parser$chompWhile( 11806 $elm$core$Basics$neq('\''))))), 11807 A2( 11808 $elm$parser$Parser$andThen, 11809 function (_v0) { 11810 return $justinmimbs$date$Pattern$quotedHelp(result + '\''); 11811 }, 11812 $elm$parser$Parser$token('\'\'')), 11813 $elm$parser$Parser$succeed(result) 11814 ])); 11815}; 11816var $justinmimbs$date$Pattern$quoted = A2( 11817 $elm$parser$Parser$keeper, 11818 A2( 11819 $elm$parser$Parser$ignorer, 11820 $elm$parser$Parser$succeed($justinmimbs$date$Pattern$Literal), 11821 $elm$parser$Parser$chompIf( 11822 $elm$core$Basics$eq('\''))), 11823 A2( 11824 $elm$parser$Parser$ignorer, 11825 $justinmimbs$date$Pattern$quotedHelp(''), 11826 $elm$parser$Parser$oneOf( 11827 _List_fromArray( 11828 [ 11829 $elm$parser$Parser$chompIf( 11830 $elm$core$Basics$eq('\'')), 11831 $elm$parser$Parser$end 11832 ])))); 11833var $justinmimbs$date$Pattern$patternHelp = function (tokens) { 11834 return $elm$parser$Parser$oneOf( 11835 _List_fromArray( 11836 [ 11837 A2( 11838 $elm$parser$Parser$andThen, 11839 function (token) { 11840 return $justinmimbs$date$Pattern$patternHelp( 11841 A2($elm$core$List$cons, token, tokens)); 11842 }, 11843 $elm$parser$Parser$oneOf( 11844 _List_fromArray( 11845 [$justinmimbs$date$Pattern$field, $justinmimbs$date$Pattern$literal, $justinmimbs$date$Pattern$escapedQuote, $justinmimbs$date$Pattern$quoted]))), 11846 $elm$parser$Parser$lazy( 11847 function (_v0) { 11848 return $elm$parser$Parser$succeed( 11849 $justinmimbs$date$Pattern$finalize(tokens)); 11850 }) 11851 ])); 11852}; 11853var $elm$parser$Parser$DeadEnd = F3( 11854 function (row, col, problem) { 11855 return {d5: col, ge: problem, gm: row}; 11856 }); 11857var $elm$parser$Parser$problemToDeadEnd = function (p) { 11858 return A3($elm$parser$Parser$DeadEnd, p.gm, p.d5, p.ge); 11859}; 11860var $elm$parser$Parser$Advanced$bagToList = F2( 11861 function (bag, list) { 11862 bagToList: 11863 while (true) { 11864 switch (bag.$) { 11865 case 0: 11866 return list; 11867 case 1: 11868 var bag1 = bag.a; 11869 var x = bag.b; 11870 var $temp$bag = bag1, 11871 $temp$list = A2($elm$core$List$cons, x, list); 11872 bag = $temp$bag; 11873 list = $temp$list; 11874 continue bagToList; 11875 default: 11876 var bag1 = bag.a; 11877 var bag2 = bag.b; 11878 var $temp$bag = bag1, 11879 $temp$list = A2($elm$parser$Parser$Advanced$bagToList, bag2, list); 11880 bag = $temp$bag; 11881 list = $temp$list; 11882 continue bagToList; 11883 } 11884 } 11885 }); 11886var $elm$parser$Parser$Advanced$run = F2( 11887 function (_v0, src) { 11888 var parse = _v0; 11889 var _v1 = parse( 11890 {d5: 1, f: _List_Nil, h: 1, cf: 0, gm: 1, dE: src}); 11891 if (!_v1.$) { 11892 var value = _v1.b; 11893 return $elm$core$Result$Ok(value); 11894 } else { 11895 var bag = _v1.b; 11896 return $elm$core$Result$Err( 11897 A2($elm$parser$Parser$Advanced$bagToList, bag, _List_Nil)); 11898 } 11899 }); 11900var $elm$parser$Parser$run = F2( 11901 function (parser, source) { 11902 var _v0 = A2($elm$parser$Parser$Advanced$run, parser, source); 11903 if (!_v0.$) { 11904 var a = _v0.a; 11905 return $elm$core$Result$Ok(a); 11906 } else { 11907 var problems = _v0.a; 11908 return $elm$core$Result$Err( 11909 A2($elm$core$List$map, $elm$parser$Parser$problemToDeadEnd, problems)); 11910 } 11911 }); 11912var $justinmimbs$date$Pattern$fromString = function (str) { 11913 return A2( 11914 $elm$core$Result$withDefault, 11915 _List_fromArray( 11916 [ 11917 $justinmimbs$date$Pattern$Literal(str) 11918 ]), 11919 A2( 11920 $elm$parser$Parser$run, 11921 $justinmimbs$date$Pattern$patternHelp(_List_Nil), 11922 str)); 11923}; 11924var $justinmimbs$date$Date$formatWithLanguage = F2( 11925 function (language, pattern) { 11926 var tokens = $elm$core$List$reverse( 11927 $justinmimbs$date$Pattern$fromString(pattern)); 11928 return A2($justinmimbs$date$Date$formatWithTokens, language, tokens); 11929 }); 11930var $justinmimbs$date$Date$monthToName = function (m) { 11931 switch (m) { 11932 case 0: 11933 return 'January'; 11934 case 1: 11935 return 'February'; 11936 case 2: 11937 return 'March'; 11938 case 3: 11939 return 'April'; 11940 case 4: 11941 return 'May'; 11942 case 5: 11943 return 'June'; 11944 case 6: 11945 return 'July'; 11946 case 7: 11947 return 'August'; 11948 case 8: 11949 return 'September'; 11950 case 9: 11951 return 'October'; 11952 case 10: 11953 return 'November'; 11954 default: 11955 return 'December'; 11956 } 11957}; 11958var $justinmimbs$date$Date$weekdayToName = function (wd) { 11959 switch (wd) { 11960 case 0: 11961 return 'Monday'; 11962 case 1: 11963 return 'Tuesday'; 11964 case 2: 11965 return 'Wednesday'; 11966 case 3: 11967 return 'Thursday'; 11968 case 4:
11969 return 'Friday'; 11970 case 5: 11971 return 'Saturday'; 11972 default: 11973 return 'Sunday'; 11974 } 11975}; 11976var $justinmimbs$date$Date$language_en = { 11977 c1: $justinmimbs$date$Date$withOrdinalSuffix, 11978 dp: $justinmimbs$date$Date$monthToName, 11979 cc: A2( 11980 $elm$core$Basics$composeR, 11981 $justinmimbs$date$Date$monthToName, 11982 $elm$core$String$left(3)), 11983 dY: $justinmimbs$date$Date$weekdayToName, 11984 au: A2( 11985 $elm$core$Basics$composeR, 11986 $justinmimbs$date$Date$weekdayToName, 11987 $elm$core$String$left(3)) 11988}; 11989var $justinmimbs$date$Date$format = function (pattern) { 11990 return A2($justinmimbs$date$Date$formatWithLanguage, $justinmimbs$date$Date$language_en, pattern); 11991}; 11992var $justinmimbs$date$Date$daysBeforeMonth = F2( 11993 function (y, m) { 11994 var leapDays = $justinmimbs$date$Date$isLeapYear(y) ? 1 : 0; 11995 switch (m) { 11996 case 0: 11997 return 0; 11998 case 1: 11999 return 31; 12000 case 2: 12001 return 59 + leapDays; 12002 case 3: 12003 return 90 + leapDays; 12004 case 4: 12005 return 120 + leapDays; 12006 case 5: 12007 return 151 + leapDays; 12008 case 6: 12009 return 181 + leapDays; 12010 case 7: 12011 return 212 + leapDays; 12012 case 8: 12013 return 243 + leapDays; 12014 case 9: 12015 return 273 + leapDays; 12016 case 10: 12017 return 304 + leapDays; 12018 default: 12019 return 334 + leapDays; 12020 } 12021 }); 12022var $justinmimbs$date$Date$fromCalendarDate = F3( 12023 function (y, m, d) { 12024 return ($justinmimbs$date$Date$daysBeforeYear(y) + A2($justinmimbs$date$Date$daysBeforeMonth, y, m)) + A3( 12025 $elm$core$Basics$clamp, 12026 1, 12027 A2($justinmimbs$date$Date$daysInMonth, y, m), 12028 d); 12029 }); 12030var $elm$time$Time$flooredDiv = F2( 12031 function (numerator, denominator) { 12032 return $elm$core$Basics$floor(numerator / denominator); 12033 }); 12034var $elm$time$Time$toAdjustedMinutesHelp = F3( 12035 function (defaultOffset, posixMinutes, eras) { 12036 toAdjustedMinutesHelp: 12037 while (true) { 12038 if (!eras.b) { 12039 return posixMinutes + defaultOffset; 12040 } else { 12041 var era = eras.a; 12042 var olderEras = eras.b; 12043 if (_Utils_cmp(era.i, posixMinutes) < 0) { 12044 return posixMinutes + era.cf; 12045 } else { 12046 var $temp$defaultOffset = defaultOffset, 12047 $temp$posixMinutes = posixMinutes, 12048 $temp$eras = olderEras; 12049 defaultOffset = $temp$defaultOffset; 12050 posixMinutes = $temp$posixMinutes; 12051 eras = $temp$eras; 12052 continue toAdjustedMinutesHelp; 12053 } 12054 } 12055 } 12056 }); 12057var $elm$time$Time$toAdjustedMinutes = F2( 12058 function (_v0, time) { 12059 var defaultOffset = _v0.a; 12060 var eras = _v0.b; 12061 return A3( 12062 $elm$time$Time$toAdjustedMinutesHelp, 12063 defaultOffset, 12064 A2( 12065 $elm$time$Time$flooredDiv, 12066 $elm$time$Time$posixToMillis(time), 12067 60000), 12068 eras); 12069 }); 12070var $elm$time$Time$toCivil = function (minutes) { 12071 var rawDay = A2($elm$time$Time$flooredDiv, minutes, 60 * 24) + 719468; 12072 var era = (((rawDay >= 0) ? rawDay : (rawDay - 146096)) / 146097) | 0; 12073 var dayOfEra = rawDay - (era * 146097); 12074 var yearOfEra = ((((dayOfEra - ((dayOfEra / 1460) | 0)) + ((dayOfEra / 36524) | 0)) - ((dayOfEra / 146096) | 0)) / 365) | 0; 12075 var dayOfYear = dayOfEra - (((365 * yearOfEra) + ((yearOfEra / 4) | 0)) - ((yearOfEra / 100) | 0)); 12076 var mp = (((5 * dayOfYear) + 2) / 153) | 0; 12077 var month = mp + ((mp < 10) ? 3 : (-9)); 12078 var year = yearOfEra + (era * 400); 12079 return { 12080 d8: (dayOfYear - ((((153 * mp) + 2) / 5) | 0)) + 1, 12081 eB: month, 12082 e8: year + ((month <= 2) ? 1 : 0) 12083 }; 12084}; 12085var $elm$time$Time$toDay = F2( 12086 function (zone, time) { 12087 return $elm$time$Time$toCivil( 12088 A2($elm$time$Time$toAdjustedMinutes, zone, time)).d8; 12089 }); 12090var $elm$time$Time$toMonth = F2( 12091 function (zone, time) { 12092 var _v0 = $elm$time$Time$toCivil( 12093 A2($elm$time$Time$toAdjustedMinutes, zone, time)).eB; 12094 switch (_v0) { 12095 case 1: 12096 return 0; 12097 case 2: 12098 return 1; 12099 case 3: 12100 return 2; 12101 case 4: 12102 return 3; 12103 case 5: 12104 return 4; 12105 case 6: 12106 return 5; 12107 case 7: 12108 return 6; 12109 case 8: 12110 return 7; 12111 case 9: 12112 return 8; 12113 case 10: 12114 return 9; 12115 case 11: 12116 return 10; 12117 default: 12118 return 11; 12119 } 12120 }); 12121var $elm$time$Time$toYear = F2( 12122 function (zone, time) { 12123 return $elm$time$Time$toCivil( 12124 A2($elm$time$Time$toAdjustedMinutes, zone, time)).e8; 12125 }); 12126var $justinmimbs$date$Date$fromPosix = F2( 12127 function (zone, posix) { 12128 return A3( 12129 $justinmimbs$date$Date$fromCalendarDate, 12130 A2($elm$time$Time$toYear, zone, posix), 12131 A2($elm$time$Time$toMonth, zone, posix), 12132 A2($elm$time$Time$toDay, zone, posix)); 12133 }); 12134var $author$project$W$InputDate$valueFromDate = F2( 12135 function (timeZone, timestamp) { 12136 return A2( 12137 $justinmimbs$date$Date$format, 12138 'yyyy-MM-dd', 12139 A2($justinmimbs$date$Date$fromPosix, timeZone, timestamp)); 12140 }); 12141var $author$project$W$InputDate$init = F2( 12142 function (timeZone, value) { 12143 if (!value.$) { 12144 var v = value.a; 12145 return A3( 12146 $author$project$W$InputDate$Value, 12147 A2($author$project$W$InputDate$valueFromDate, timeZone, v), 12148 timeZone, 12149 $elm$core$Maybe$Just(v)); 12150 } else { 12151 return A3($author$project$W$InputDate$Value, '', timeZone, $elm$core$Maybe$Nothing); 12152 } 12153 }); 12154var $author$project$W$InputDate$toDate = function (_v0) { 12155 var v = _v0.c; 12156 return v; 12157}; 12158var $elm$time$Time$toHour = F2( 12159 function (zone, time) { 12160 return A2( 12161 $elm$core$Basics$modBy, 12162 24, 12163 A2( 12164 $elm$time$Time$flooredDiv, 12165 A2($elm$time$Time$toAdjustedMinutes, zone, time), 12166 60)); 12167 }); 12168var $justinmimbs$date$Date$toIsoString = $justinmimbs$date$Date$format('yyyy-MM-dd'); 12169var $elm$time$Time$toMinute = F2( 12170 function (zone, time) { 12171 return A2( 12172 $elm$core$Basics$modBy, 12173 60, 12174 A2($elm$time$Time$toAdjustedMinutes, zone, time)); 12175 }); 12176var $elm$time$Time$utc = A2($elm$time$Time$Zone, 0, _List_Nil); 12177var $author$project$Chapters$Form$InputDate$logValue = function (value) { 12178 var _v0 = $author$project$W$InputDate$toDate(value); 12179 if (!_v0.$) { 12180 var v_ = _v0.a; 12181 return $dtwrks$elm_book$ElmBook$Actions$logAction( 12182 'Just ' + ($justinmimbs$date$Date$toIsoString( 12183 A2($justinmimbs$date$Date$fromPosix, $elm$time$Time$utc, v_)) + (' ' + ($elm$core$String$fromInt( 12184 A2($elm$time$Time$toHour, $elm$time$Time$utc, v_)) + (':' + $elm$core$String$fromInt( 12185 A2($elm$time$Time$toMinute, $elm$time$Time$utc, v_))))))); 12186 } else { 12187 return $dtwrks$elm_book$ElmBook$Actions$logAction('Nothing'); 12188 } 12189}; 12190var $author$project$W$InputDate$Attribute = $elm$core$Basics$identity; 12191var $author$project$W$InputDate$max = function (v) { 12192 return function (attrs) { 12193 return _Utils_update( 12194 attrs, 12195 { 12196 fS: $elm$core$Maybe$Just(v) 12197 }); 12198 }; 12199}; 12200var $author$project$W$InputDate$min = function (v) { 12201 return function (attrs) { 12202 return _Utils_update( 12203 attrs, 12204 { 12205 fX: $elm$core$Maybe$Just(v) 12206 }); 12207 }; 12208}; 12209var $author$project$W$InputDate$defaultAttrs = {bE: false, F: '', bV: false, b$: _List_Nil, fS: $elm$core$Maybe$Nothing, fX: $elm$core$Maybe$Nothing, cg: $elm$core$Maybe$Nothing, ci: $elm$core$Maybe$Nothing, cj: $elm$core$Maybe$Nothing, bk: $elm$core$Maybe$Nothing, ah: false, cw: false, aV: false, bv: $elm$core$Maybe$Nothing}; 12210var $author$project$W$InputDate$applyAttrs = function (attrs) { 12211 return A3( 12212 $elm$core$List$foldl, 12213 F2( 12214 function (_v0, a) { 12215 var fn = _v0; 12216 return fn(a); 12217 }), 12218 $author$project$W$InputDate$defaultAttrs, 12219 attrs); 12220}; 12221var $author$project$W$InputDate$baseAttrs = F2( 12222 function (attrs, _v0) { 12223 var valueString = _v0.a; 12224 var timeZone = _v0.b; 12225 var value = _v0.c; 12226 return _Utils_ap( 12227 attrs.b$, 12228 _List_fromArray( 12229 [ 12230 $elm$html$Html$Attributes$type_('date'), 12231 $elm$html$Html$Attributes$class( 12232 $author$project$W$Internal$Input$baseClassNoColor(attrs.aV)), 12233 $elm$html$Html$Attributes$classList( 12234 _List_fromArray( 12235 [ 12236 _Utils_Tuple2( 12237 'ew-text-base-aux/80', 12238 _Utils_eq(value, $elm$core$Maybe$Nothing)), 12239 _Utils_Tuple2( 12240 'ew-text-inherit', 12241 !_Utils_eq(value, $elm$core$Maybe$Nothing)) 12242 ])), 12243 $elm$html$Html$Attributes$required(attrs.cw), 12244 $elm$html$Html$Attributes$disabled(attrs.bV), 12245 $elm$html$Html$Attributes$readonly(attrs.ah), 12246 $elm$html$Html$Attributes$autofocus(attrs.bE), 12247 A3( 12248 $author$project$W$Internal$Helpers$attrIf, 12249 attrs.ah, 12250 $elm$html$Html$Attributes$attribute('aria-readonly'), 12251 'true'), 12252 A3( 12253 $author$project$W$Internal$Helpers$attrIf, 12254 attrs.bV, 12255 $elm$html$Html$Attributes$attribute('aria-disabled'), 12256 'true'), 12257 A2( 12258 $author$project$W$Internal$Helpers$maybeAttr, 12259 $elm$html$Html$Attributes$min, 12260 A2( 12261 $elm$core$Maybe$map, 12262 $author$project$W$InputDate$valueFromDate(timeZone), 12263 attrs.fX)), 12264 A2( 12265 $author$project$W$Internal$Helpers$maybeAttr, 12266 $elm$html$Html$Attributes$max, 12267 A2( 12268 $elm$core$Maybe$map, 12269 $author$project$W$InputDate$valueFromDate(timeZone), 12270 attrs.fS)), 12271 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onFocus, attrs.cj), 12272 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onBlur, attrs.cg), 12273 A2($author$project$W$Internal$Helpers$maybeAttr, $author$project$W$Internal$Helpers$onEnter, attrs.ci), 12274 $elm$html$Html$Attributes$value(valueString) 12275 ])); 12276 }); 12277var $author$project$W$Internal$Icons$calendar = function (props) { 12278 return A2( 12279 $elm$svg$Svg$svg, 12280 _List_fromArray( 12281 [ 12282 $elm$svg$Svg$Attributes$width( 12283 $elm$core$String$fromFloat(props.n) + 'px'), 12284 $elm$svg$Svg$Attributes$height( 12285 $elm$core$String$fromFloat(props.n) + 'px'), 12286 $elm$svg$Svg$Attributes$viewBox('0 0 24 24') 12287 ]), 12288 _List_fromArray( 12289 [ 12290 A2( 12291 $elm$svg$Svg$path, 12292 _List_fromArray( 12293 [ 12294 $elm$svg$Svg$Attributes$fill('none'), 12295 $elm$svg$Svg$Attributes$d('M0 0h24v24H0z') 12296 ]), 12297 _List_Nil), 12298 A2( 12299 $elm$svg$Svg$path, 12300 _List_fromArray( 12301 [ 12302 $elm$svg$Svg$Attributes$d('M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z'), 12303 $elm$svg$Svg$Attributes$fill('currentColor') 12304 ]), 12305 _List_Nil) 12306 ])); 12307}; 12308var $justinmimbs$time_extra$Time$Extra$Day = 11; 12309var $justinmimbs$time_extra$Time$Extra$Millisecond = 15; 12310var $justinmimbs$time_extra$Time$Extra$Month = 2; 12311var $justinmimbs$time_extra$Time$Extra$Week = 3; 12312var $justinmimbs$date$Date$Day = 11; 12313var $justinmimbs$date$Date$Friday = 8; 12314var $justinmimbs$date$Date$Monday = 4; 12315var $justinmimbs$date$Date$Month = 2; 12316var $justinmimbs$date$Date$Quarter = 1; 12317var $justinmimbs$date$Date$Saturday = 9; 12318var $justinmimbs$date$Date$Sunday = 10; 12319var $justinmimbs$date$Date$Thursday = 7; 12320var $justinmimbs$date$Date$Tuesday = 5; 12321var $justinmimbs$date$Date$Wednesday = 6; 12322var $justinmimbs$date$Date$Week = 3; 12323var $justinmimbs$date$Date$Year = 0; 12324var $justinmimbs$date$Date$weekdayToNumber = function (wd) { 12325 switch (wd) { 12326 case 0: 12327 return 1; 12328 case 1: 12329 return 2; 12330 case 2: 12331 return 3; 12332 case 3: 12333 return 4; 12334 case 4: 12335 return 5; 12336 case 5: 12337 return 6; 12338 default: 12339 return 7; 12340 } 12341}; 12342var $justinmimbs$date$Date$daysSincePreviousWeekday = F2( 12343 function (wd, date) { 12344 return A2( 12345 $elm$core$Basics$modBy, 12346 7, 12347 ($justinmimbs$date$Date$weekdayNumber(date) + 7) - $justinmimbs$date$Date$weekdayToNumber(wd)); 12348 }); 12349var $justinmimbs$date$Date$firstOfMonth = F2( 12350 function (y, m) { 12351 return ($justinmimbs$date$Date$daysBeforeYear(y) + A2($justinmimbs$date$Date$daysBeforeMonth, y, m)) + 1; 12352 }); 12353var $justinmimbs$date$Date$firstOfYear = function (y) { 12354 return $justinmimbs$date$Date$daysBeforeYear(y) + 1; 12355}; 12356var $justinmimbs$date$Date$quarterToMonth = function (q) { 12357 return $justinmimbs$date$Date$numberToMonth((q * 3) - 2); 12358}; 12359var $justinmimbs$date$Date$floor = F2( 12360 function (interval, date) { 12361 var rd = date; 12362 switch (interval) { 12363 case 0: 12364 return $justinmimbs$date$Date$firstOfYear( 12365 $justinmimbs$date$Date$year(date)); 12366 case 1: 12367 return A2( 12368 $justinmimbs$date$Date$firstOfMonth, 12369 $justinmimbs$date$Date$year(date),
12370 $justinmimbs$date$Date$quarterToMonth( 12371 $justinmimbs$date$Date$quarter(date))); 12372 case 2: 12373 return A2( 12374 $justinmimbs$date$Date$firstOfMonth, 12375 $justinmimbs$date$Date$year(date), 12376 $justinmimbs$date$Date$month(date)); 12377 case 3: 12378 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 0, date); 12379 case 4: 12380 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 0, date); 12381 case 5: 12382 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 1, date); 12383 case 6: 12384 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 2, date); 12385 case 7: 12386 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 3, date); 12387 case 8: 12388 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 4, date); 12389 case 9: 12390 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 5, date); 12391 case 10: 12392 return rd - A2($justinmimbs$date$Date$daysSincePreviousWeekday, 6, date); 12393 default: 12394 return date; 12395 } 12396 }); 12397var $justinmimbs$date$Date$toRataDie = function (_v0) { 12398 var rd = _v0; 12399 return rd; 12400}; 12401var $justinmimbs$time_extra$Time$Extra$dateToMillis = function (date) { 12402 var daysSinceEpoch = $justinmimbs$date$Date$toRataDie(date) - 719163; 12403 return daysSinceEpoch * 86400000; 12404}; 12405var $justinmimbs$time_extra$Time$Extra$timeFromClock = F4( 12406 function (hour, minute, second, millisecond) { 12407 return (((hour * 3600000) + (minute * 60000)) + (second * 1000)) + millisecond; 12408 }); 12409var $elm$time$Time$toMillis = F2( 12410 function (_v0, time) { 12411 return A2( 12412 $elm$core$Basics$modBy, 12413 1000, 12414 $elm$time$Time$posixToMillis(time)); 12415 }); 12416var $elm$time$Time$toSecond = F2( 12417 function (_v0, time) { 12418 return A2( 12419 $elm$core$Basics$modBy, 12420 60, 12421 A2( 12422 $elm$time$Time$flooredDiv, 12423 $elm$time$Time$posixToMillis(time), 12424 1000)); 12425 }); 12426var $justinmimbs$time_extra$Time$Extra$timeFromPosix = F2( 12427 function (zone, posix) { 12428 return A4( 12429 $justinmimbs$time_extra$Time$Extra$timeFromClock, 12430 A2($elm$time$Time$toHour, zone, posix), 12431 A2($elm$time$Time$toMinute, zone, posix), 12432 A2($elm$time$Time$toSecond, zone, posix), 12433 A2($elm$time$Time$toMillis, zone, posix)); 12434 }); 12435var $justinmimbs$time_extra$Time$Extra$toOffset = F2( 12436 function (zone, posix) { 12437 var millis = $elm$time$Time$posixToMillis(posix); 12438 var localMillis = $justinmimbs$time_extra$Time$Extra$dateToMillis( 12439 A2($justinmimbs$date$Date$fromPosix, zone, posix)) + A2($justinmimbs$time_extra$Time$Extra$timeFromPosix, zone, posix); 12440 return ((localMillis - millis) / 60000) | 0; 12441 }); 12442var $justinmimbs$time_extra$Time$Extra$posixFromDateTime = F3( 12443 function (zone, date, time) { 12444 var millis = $justinmimbs$time_extra$Time$Extra$dateToMillis(date) + time; 12445 var offset0 = A2( 12446 $justinmimbs$time_extra$Time$Extra$toOffset, 12447 zone, 12448 $elm$time$Time$millisToPosix(millis)); 12449 var posix1 = $elm$time$Time$millisToPosix(millis - (offset0 * 60000)); 12450 var offset1 = A2($justinmimbs$time_extra$Time$Extra$toOffset, zone, posix1); 12451 if (_Utils_eq(offset0, offset1)) { 12452 return posix1; 12453 } else { 12454 var posix2 = $elm$time$Time$millisToPosix(millis - (offset1 * 60000)); 12455 var offset2 = A2($justinmimbs$time_extra$Time$Extra$toOffset, zone, posix2); 12456 return _Utils_eq(offset1, offset2) ? posix2 : posix1; 12457 } 12458 }); 12459var $justinmimbs$time_extra$Time$Extra$floorDate = F3( 12460 function (dateInterval, zone, posix) { 12461 return A3( 12462 $justinmimbs$time_extra$Time$Extra$posixFromDateTime, 12463 zone, 12464 A2( 12465 $justinmimbs$date$Date$floor, 12466 dateInterval, 12467 A2($justinmimbs$date$Date$fromPosix, zone, posix)), 12468 0); 12469 }); 12470var $justinmimbs$time_extra$Time$Extra$floor = F3( 12471 function (interval, zone, posix) { 12472 switch (interval) { 12473 case 15: 12474 return posix; 12475 case 14: 12476 return A3( 12477 $justinmimbs$time_extra$Time$Extra$posixFromDateTime, 12478 zone, 12479 A2($justinmimbs$date$Date$fromPosix, zone, posix), 12480 A4( 12481 $justinmimbs$time_extra$Time$Extra$timeFromClock, 12482 A2($elm$time$Time$toHour, zone, posix), 12483 A2($elm$time$Time$toMinute, zone, posix), 12484 A2($elm$time$Time$toSecond, zone, posix), 12485 0)); 12486 case 13: 12487 return A3( 12488 $justinmimbs$time_extra$Time$Extra$posixFromDateTime, 12489 zone, 12490 A2($justinmimbs$date$Date$fromPosix, zone, posix), 12491 A4( 12492 $justinmimbs$time_extra$Time$Extra$timeFromClock, 12493 A2($elm$time$Time$toHour, zone, posix), 12494 A2($elm$time$Time$toMinute, zone, posix), 12495 0, 12496 0)); 12497 case 12: 12498 return A3( 12499 $justinmimbs$time_extra$Time$Extra$posixFromDateTime, 12500 zone, 12501 A2($justinmimbs$date$Date$fromPosix, zone, posix), 12502 A4( 12503 $justinmimbs$time_extra$Time$Extra$timeFromClock, 12504 A2($elm$time$Time$toHour, zone, posix), 12505 0, 12506 0, 12507 0)); 12508 case 11: 12509 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 11, zone, posix); 12510 case 2: 12511 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 2, zone, posix); 12512 case 0: 12513 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 0, zone, posix); 12514 case 1: 12515 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 1, zone, posix); 12516 case 3: 12517 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 3, zone, posix); 12518 case 4: 12519 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 4, zone, posix); 12520 case 5: 12521 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 5, zone, posix); 12522 case 6: 12523 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 6, zone, posix); 12524 case 7: 12525 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 7, zone, posix); 12526 case 8: 12527 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 8, zone, posix); 12528 case 9: 12529 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 9, zone, posix); 12530 default: 12531 return A3($justinmimbs$time_extra$Time$Extra$floorDate, 10, zone, posix); 12532 } 12533 }); 12534var $justinmimbs$time_extra$Time$Extra$toFractionalDay = F2( 12535 function (zone, posix) { 12536 return A2($justinmimbs$time_extra$Time$Extra$timeFromPosix, zone, posix) / 86400000; 12537 }); 12538var $justinmimbs$time_extra$Time$Extra$toMonths = F2( 12539 function (zone, posix) { 12540 var wholeMonths = (12 * (A2($elm$time$Time$toYear, zone, posix) - 1)) + ($justinmimbs$date$Date$monthToNumber( 12541 A2($elm$time$Time$toMonth, zone, posix)) - 1); 12542 var fractionalMonth = (A2($elm$time$Time$toDay, zone, posix) + A2($justinmimbs$time_extra$Time$Extra$toFractionalDay, zone, posix)) / 100; 12543 return wholeMonths + fractionalMonth; 12544 }); 12545var $justinmimbs$time_extra$Time$Extra$toRataDieMoment = F2( 12546 function (zone, posix) { 12547 return $justinmimbs$date$Date$toRataDie( 12548 A2($justinmimbs$date$Date$fromPosix, zone, posix)) + A2($justinmimbs$time_extra$Time$Extra$toFractionalDay, zone, posix); 12549 }); 12550var $elm$core$Basics$truncate = _Basics_truncate; 12551var $justinmimbs$time_extra$Time$Extra$diff = F4( 12552 function (interval, zone, posix1, posix2) { 12553 diff: 12554 while (true) { 12555 switch (interval) { 12556 case 15: 12557 return $elm$time$Time$posixToMillis(posix2) - $elm$time$Time$posixToMillis(posix1); 12558 case 14: 12559 return (A4($justinmimbs$time_extra$Time$Extra$diff, 15, zone, posix1, posix2) / 1000) | 0; 12560 case 13: 12561 return (A4($justinmimbs$time_extra$Time$Extra$diff, 15, zone, posix1, posix2) / 60000) | 0; 12562 case 12: 12563 return (A4($justinmimbs$time_extra$Time$Extra$diff, 15, zone, posix1, posix2) / 3600000) | 0; 12564 case 11: 12565 return (A2($justinmimbs$time_extra$Time$Extra$toRataDieMoment, zone, posix2) - A2($justinmimbs$time_extra$Time$Extra$toRataDieMoment, zone, posix1)) | 0; 12566 case 2: 12567 return (A2($justinmimbs$time_extra$Time$Extra$toMonths, zone, posix2) - A2($justinmimbs$time_extra$Time$Extra$toMonths, zone, posix1)) | 0; 12568 case 0: 12569 return (A4($justinmimbs$time_extra$Time$Extra$diff, 2, zone, posix1, posix2) / 12) | 0; 12570 case 1: 12571 return (A4($justinmimbs$time_extra$Time$Extra$diff, 2, zone, posix1, posix2) / 3) | 0; 12572 case 3: 12573 return (A4($justinmimbs$time_extra$Time$Extra$diff, 11, zone, posix1, posix2) / 7) | 0; 12574 default: 12575 var weekday = interval; 12576 var $temp$interval = 3, 12577 $temp$zone = zone, 12578 $temp$posix1 = A3($justinmimbs$time_extra$Time$Extra$floor, weekday, zone, posix1), 12579 $temp$posix2 = A3($justinmimbs$time_extra$Time$Extra$floor, weekday, zone, posix2); 12580 interval = $temp$interval; 12581 zone = $temp$zone; 12582 posix1 = $temp$posix1; 12583 posix2 = $temp$posix2; 12584 continue diff; 12585 } 12586 } 12587 }); 12588var $elm$core$Basics$isNaN = _Basics_isNaN; 12589var $author$project$W$InputDate$dateFromValue = F3( 12590 function (_v0, valueString, valueAsNumber) { 12591 var timeZone = _v0.b; 12592 var currentValue = _v0.c; 12593 if ($elm$core$Basics$isNaN(valueAsNumber)) { 12594 return A3($author$project$W$InputDate$Value, valueString, timeZone, $elm$core$Maybe$Nothing); 12595 } else { 12596 var timeOfDayOffset = A2( 12597 $elm$core$Maybe$withDefault, 12598 0, 12599 A2( 12600 $elm$core$Maybe$map, 12601 function (userValue) { 12602 return A4( 12603 $justinmimbs$time_extra$Time$Extra$diff, 12604 15, 12605 timeZone, 12606 A3($justinmimbs$time_extra$Time$Extra$floor, 11, timeZone, userValue), 12607 userValue); 12608 }, 12609 currentValue)); 12610 var notAdjusted = $elm$time$Time$millisToPosix( 12611 $elm$core$Basics$floor(valueAsNumber)); 12612 var timezoneAdjusted = $elm$core$Basics$floor(valueAsNumber) - ((A2($justinmimbs$time_extra$Time$Extra$toOffset, timeZone, notAdjusted) * 60) * 1000); 12613 var dateValue = $elm$core$Maybe$Just( 12614 $elm$time$Time$millisToPosix(timezoneAdjusted + timeOfDayOffset)); 12615 return A3($author$project$W$InputDate$Value, valueString, timeZone, dateValue); 12616 } 12617 }); 12618var $elm$json$Json$Decode$float = _Json_decodeFloat; 12619var $author$project$W$InputDate$toString = function (_v0) { 12620 var v = _v0.a; 12621 return v; 12622}; 12623var $author$project$W$InputDate$view = F2( 12624 function (attrs_, props) { 12625 var attrs = $author$project$W$InputDate$applyAttrs(attrs_); 12626 return A3( 12627 $author$project$W$Internal$Input$viewWithIcon, 12628 { 12629 bV: attrs.bV, 12630 fQ: $elm$core$Maybe$Nothing, 12631 fR: $author$project$W$InputDate$toString(props.cN), 12632 bk: attrs.bk, 12633 ah: attrs.ah, 12634 aV: attrs.aV, 12635 bv: attrs.bv 12636 }, 12637 $author$project$W$Internal$Icons$calendar( 12638 {n: 24}), 12639 A2( 12640 $elm$html$Html$input, 12641 A2( 12642 $elm$core$List$cons, 12643 A2( 12644 $elm$html$Html$Events$on, 12645 'input', 12646 A3( 12647 $elm$json$Json$Decode$map2, 12648 F2( 12649 function (vs, vn) { 12650 return props.cm( 12651 A3($author$project$W$InputDate$dateFromValue, props.cN, vs, vn)); 12652 }), 12653 A2( 12654 $elm$json$Json$Decode$at, 12655 _List_fromArray( 12656 ['target', 'value']), 12657 $elm$json$Json$Decode$string), 12658 A2( 12659 $elm$json$Json$Decode$at, 12660 _List_fromArray( 12661 ['target', 'valueAsNumber']), 12662 $elm$json$Json$Decode$float))), 12663 A2($author$project$W$InputDate$baseAttrs, attrs, props.cN)), 12664 _List_Nil)); 12665 }); 12666var $author$project$W$InputDate$TooHigh = F2( 12667 function (a, b) { 12668 return {$: 1, a: a, b: b}; 12669 }); 12670var $author$project$W$InputDate$TooLow = F2( 12671 function (a, b) { 12672 return {$: 0, a: a, b: b}; 12673 }); 12674var $author$project$W$InputDate$ValueMissing = function (a) { 12675 return {$: 2, a: a}; 12676}; 12677var $author$project$W$Internal$Helpers$keepIf = F2( 12678 function (a, m) { 12679 return a ? m : $elm$core$Maybe$Nothing; 12680 }); 12681var $elm$json$Json$Decode$map6 = _Json_map6; 12682var $author$project$W$InputDate$toTimeZone = function (_v0) { 12683 var v = _v0.b; 12684 return v; 12685}; 12686var $author$project$W$InputDate$viewWithValidation = F2( 12687 function (attrs_, props) { 12688 var attrs = $author$project$W$InputDate$applyAttrs(attrs_); 12689 return A3( 12690 $author$project$W$Internal$Input$viewWithIcon, 12691 { 12692 bV: attrs.bV, 12693 fQ: $elm$core$Maybe$Nothing, 12694 fR: $author$project$W$InputDate$toString(props.cN), 12695 bk: attrs.bk, 12696 ah: attrs.ah, 12697 aV: attrs.aV, 12698 bv: attrs.bv 12699 }, 12700 $author$project$W$Internal$Icons$calendar( 12701 {n: 24}), 12702 A2( 12703 $elm$html$Html$input, 12704 A2( 12705 $elm$core$List$cons, 12706 A2( 12707 $elm$html$Html$Events$on, 12708 'input', 12709 A7( 12710 $elm$json$Json$Decode$map6, 12711 F6( 12712 function (valueString, valueAsNumber, valid, rangeOverflow, rangeUnderflow, valueMissing) { 12713 var newValue = A3($author$project$W$InputDate$dateFromValue, props.cN, valueString, valueAsNumber); 12714 return valid ? A2( 12715 props.cm, 12716 $elm$core$Result$Ok( 12717 $author$project$W$InputDate$toDate(newValue)), 12718 newValue) : function (xs) { 12719 return A2( 12720 props.cm, 12721 $elm$core$Result$Err(xs), 12722 newValue); 12723 }( 12724 A2( 12725 $elm$core$List$filterMap, 12726 $elm$core$Basics$identity, 12727 _List_fromArray( 12728 [ 12729 A2( 12730 $author$project$W$Internal$Helpers$keepIf, 12731 valueMissing, 12732 $elm$core$Maybe$Just( 12733 $author$project$W$InputDate$ValueMissing('Please fill out this field.'))), 12734 A2( 12735 $elm$core$Maybe$map, 12736 function (min_) { 12737 var timeString = A2( 12738 $author$project$W$InputDate$valueFromDate, 12739 $author$project$W$InputDate$toTimeZone(props.cN), 12740 min_); 12741 return A2($author$project$W$InputDate$TooLow, min_, 'Value must be ' + (timeString + ' or later.')); 12742 }, 12743 A2($author$project$W$Internal$Helpers$keepIf, rangeUnderflow, attrs.fX)), 12744 A2( 12745 $elm$core$Maybe$map, 12746 function (max_) { 12747 var timeString = A2( 12748 $author$project$W$InputDate$valueFromDate, 12749 $author$project$W$InputDate$toTimeZone(props.cN), 12750 max_); 12751 return A2($author$project$W$InputDate$TooHigh, max_, 'Value must be ' + (timeString + ' or earlier.')); 12752 }, 12753 A2($author$project$W$Internal$Helpers$keepIf, rangeOverflow, attrs.fS)) 12754 ]))); 12755 }), 12756 A2( 12757 $elm$json$Json$Decode$at, 12758 _List_fromArray( 12759 ['target', 'value']), 12760 $elm$json$Json$Decode$string), 12761 A2( 12762 $elm$json$Json$Decode$at, 12763 _List_fromArray( 12764 ['target', 'valueAsNumber']), 12765 $elm$json$Json$Decode$float), 12766 A2( 12767 $elm$json$Json$Decode$at, 12768 _List_fromArray( 12769 ['target', 'validity', 'valid']), 12770 $elm$json$Json$Decode$bool), 12771 A2( 12772 $elm$json$Json$Decode$at, 12773 _List_fromArray( 12774 ['target', 'validity', 'rangeOverflow']), 12775 $elm$json$Json$Decode$bool), 12776 A2( 12777 $elm$json$Json$Decode$at, 12778 _List_fromArray( 12779 ['target', 'validity', 'rangeUnderflow']), 12780 $elm$json$Json$Decode$bool), 12781 A2( 12782 $elm$json$Json$Decode$at, 12783 _List_fromArray( 12784 ['target', 'validity', 'valueMissing']), 12785 $elm$json$Json$Decode$bool))), 12786 A2($author$project$W$InputDate$baseAttrs, attrs, props.cN)), 12787 _List_Nil)); 12788 }); 12789var $author$project$Chapters$Form$InputDate$chapter_ = A2( 12790 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 12791 _List_fromArray( 12792 [ 12793 _Utils_Tuple2( 12794 'Default', 12795 A2( 12796 $author$project$W$InputDate$view, 12797 _List_Nil, 12798 { 12799 cm: $author$project$Chapters$Form$InputDate$logValue, 12800 cN: A2($author$project$W$InputDate$init, $elm$time$Time$utc, $elm$core$Maybe$Nothing) 12801 })), 12802 _Utils_Tuple2( 12803 'Custom Timezone (GMT-3)', 12804 function () { 12805 var timeZone = A2($elm$time$Time$customZone, (-3) * 60, _List_Nil); 12806 return A2( 12807 $author$project$W$InputDate$view, 12808 _List_Nil, 12809 { 12810 cm: $author$project$Chapters$Form$InputDate$logValue, 12811 cN: A2( 12812 $author$project$W$InputDate$init, 12813 timeZone, 12814 $elm$core$Maybe$Just( 12815 $elm$time$Time$millisToPosix(1651693959717))) 12816 }); 12817 }()), 12818 _Utils_Tuple2( 12819 'Validation', 12820 A2( 12821 $author$project$W$InputDate$viewWithValidation, 12822 _List_fromArray( 12823 [ 12824 $author$project$W$InputDate$min( 12825 $elm$time$Time$millisToPosix(1651693959717)), 12826 $author$project$W$InputDate$max( 12827 $elm$time$Time$millisToPosix(1671484833575)) 12828 ]), 12829 { 12830 cm: function (_v0) { 12831 return $author$project$Chapters$Form$InputDate$logValue; 12832 }, 12833 cN: A2( 12834 $author$project$W$InputDate$init, 12835 $elm$time$Time$utc, 12836 $elm$core$Maybe$Just( 12837 $elm$time$Time$millisToPosix(1651693959717))) 12838 })) 12839 ]), 12840 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Date')); 12841var $author$project$W$InputFloat$errorToString = function (error) { 12842 switch (error.$) { 12843 case 0: 12844 var message = error.b; 12845 retu
12845rn message; 12846 case 1: 12847 var message = error.b; 12848 return message; 12849 case 2: 12850 var message = error.b; 12851 return message; 12852 case 3: 12853 var message = error.b; 12854 return message; 12855 case 4: 12856 var message = error.b; 12857 return message; 12858 case 5: 12859 var message = error.a; 12860 return message; 12861 default: 12862 var message = error.a; 12863 return message; 12864 } 12865}; 12866var $author$project$W$InputFloat$Attribute = $elm$core$Basics$identity; 12867var $author$project$W$InputFloat$placeholder = function (v) { 12868 return function (attrs) { 12869 return _Utils_update( 12870 attrs, 12871 { 12872 gb: $elm$core$Maybe$Just(v) 12873 }); 12874 }; 12875}; 12876var $dtwrks$elm_book$ElmBook$Actions$updateState = function (fn) { 12877 return $dtwrks$elm_book$ElmBook$Internal$Msg$UpdateState( 12878 function (state) { 12879 return _Utils_Tuple2( 12880 fn(state), 12881 $elm$core$Platform$Cmd$none); 12882 }); 12883}; 12884var $author$project$W$InputFloat$defaultAttrs = {bE: false, bV: false, b$: _List_Nil, fQ: $elm$core$Maybe$Nothing, fS: $elm$core$Maybe$Nothing, fX: $elm$core$Maybe$Nothing, cg: $elm$core$Maybe$Nothing, ci: $elm$core$Maybe$Nothing, cj: $elm$core$Maybe$Nothing, gb: $elm$core$Maybe$Nothing, bk: $elm$core$Maybe$Nothing, ah: false, cw: false, aV: false, gq: 0.01, bv: $elm$core$Maybe$Nothing, cM: $elm$core$Maybe$Nothing}; 12885var $author$project$W$InputFloat$applyAttrs = function (attrs) { 12886 return A3( 12887 $elm$core$List$foldl, 12888 F2( 12889 function (_v0, a) { 12890 var fn = _v0; 12891 return fn(a); 12892 }), 12893 $author$project$W$InputFloat$defaultAttrs, 12894 attrs); 12895}; 12896var $author$project$W$InputFloat$baseAttrs = function (attrs) { 12897 return _Utils_ap( 12898 attrs.b$, 12899 _List_fromArray( 12900 [ 12901 $elm$html$Html$Attributes$type_('number'), 12902 $elm$html$Html$Attributes$class( 12903 $author$project$W$Internal$Input$baseClass(attrs.aV)), 12904 $elm$html$Html$Attributes$required(attrs.cw), 12905 $elm$html$Html$Attributes$disabled(attrs.bV), 12906 $elm$html$Html$Attributes$readonly(attrs.ah), 12907 $elm$html$Html$Attributes$autofocus(attrs.bE), 12908 A3( 12909 $author$project$W$Internal$Helpers$attrIf, 12910 attrs.ah, 12911 $elm$html$Html$Attributes$attribute('aria-readonly'), 12912 'true'), 12913 A3( 12914 $author$project$W$Internal$Helpers$attrIf, 12915 attrs.bV, 12916 $elm$html$Html$Attributes$attribute('aria-disabled'), 12917 'true'), 12918 A2( 12919 $author$project$W$Internal$Helpers$maybeAttr, 12920 $elm$html$Html$Attributes$min, 12921 A2($elm$core$Maybe$map, $elm$core$String$fromFloat, attrs.fX)), 12922 A2( 12923 $author$project$W$Internal$Helpers$maybeAttr, 12924 $elm$html$Html$Attributes$max, 12925 A2($elm$core$Maybe$map, $elm$core$String$fromFloat, attrs.fS)), 12926 $elm$html$Html$Attributes$step( 12927 $elm$core$String$fromFloat(attrs.gq)), 12928 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$placeholder, attrs.gb), 12929 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onFocus, attrs.cj), 12930 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onBlur, attrs.cg), 12931 A2($author$project$W$Internal$Helpers$maybeAttr, $author$project$W$Internal$Helpers$onEnter, attrs.ci) 12932 ])); 12933}; 12934var $author$project$W$InputFloat$toString = function (_v0) { 12935 var v = _v0.a; 12936 return v; 12937}; 12938var $author$project$W$InputFloat$Value = F2( 12939 function (a, b) { 12940 return {$: 0, a: a, b: b}; 12941 }); 12942var $author$project$W$InputFloat$toValue = F2( 12943 function (previous, value) { 12944 var _v0 = $elm$core$String$toFloat(value); 12945 if (!_v0.$) { 12946 var v = _v0.a; 12947 return A2( 12948 $author$project$W$InputFloat$Value, 12949 value, 12950 $elm$core$Maybe$Just(v)); 12951 } else { 12952 if (value === '') { 12953 return A2($author$project$W$InputFloat$Value, value, $elm$core$Maybe$Nothing); 12954 } else { 12955 var _v1 = $elm$core$String$toFloat( 12956 $author$project$W$InputFloat$toString(previous)); 12957 if (!_v1.$) { 12958 var v_ = _v1.a; 12959 return A2( 12960 $author$project$W$InputFloat$Value, 12961 value, 12962 $elm$core$Maybe$Just(v_)); 12963 } else { 12964 return A2($author$project$W$InputFloat$Value, value, $elm$core$Maybe$Nothing); 12965 } 12966 } 12967 } 12968 }); 12969var $author$project$W$InputFloat$view = F2( 12970 function (attrs_, props) { 12971 var value = $author$project$W$InputFloat$toString(props.cN); 12972 var attrs = $author$project$W$InputFloat$applyAttrs(attrs_); 12973 return A2( 12974 $author$project$W$Internal$Input$view, 12975 {bV: attrs.bV, fQ: attrs.fQ, fR: value, bk: attrs.bk, ah: attrs.ah, aV: attrs.aV, bv: attrs.bv}, 12976 A2( 12977 $elm$html$Html$input, 12978 _Utils_ap( 12979 $author$project$W$InputFloat$baseAttrs(attrs), 12980 _List_fromArray( 12981 [ 12982 $elm$html$Html$Attributes$value(value), 12983 A2( 12984 $elm$html$Html$Events$on, 12985 'input', 12986 A2( 12987 $elm$json$Json$Decode$map, 12988 A2( 12989 $elm$core$Basics$composeL, 12990 props.cm, 12991 $author$project$W$InputFloat$toValue(props.cN)), 12992 A2( 12993 $elm$json$Json$Decode$at, 12994 _List_fromArray( 12995 ['target', 'value']), 12996 $elm$json$Json$Decode$string))) 12997 ])), 12998 _List_Nil)); 12999 }); 13000var $author$project$W$InputFloat$Custom = function (a) { 13001 return {$: 6, a: a}; 13002}; 13003var $author$project$W$InputFloat$StepMismatch = F2( 13004 function (a, b) { 13005 return {$: 4, a: a, b: b}; 13006 }); 13007var $author$project$W$InputFloat$TooHigh = F2( 13008 function (a, b) { 13009 return {$: 1, a: a, b: b}; 13010 }); 13011var $author$project$W$InputFloat$TooLow = F2( 13012 function (a, b) { 13013 return {$: 0, a: a, b: b}; 13014 }); 13015var $author$project$W$InputFloat$ValueMissing = function (a) { 13016 return {$: 5, a: a}; 13017}; 13018var $elm$core$Maybe$andThen = F2( 13019 function (callback, maybeValue) { 13020 if (!maybeValue.$) { 13021 var value = maybeValue.a; 13022 return callback(value); 13023 } else { 13024 return $elm$core$Maybe$Nothing; 13025 } 13026 }); 13027var $elm$core$List$head = function (list) { 13028 if (list.b) { 13029 var x = list.a; 13030 var xs = list.b; 13031 return $elm$core$Maybe$Just(x); 13032 } else { 13033 return $elm$core$Maybe$Nothing; 13034 } 13035}; 13036var $author$project$W$Internal$Helpers$formatFloat = F2( 13037 function (step, value) { 13038 return function (parts) { 13039 _v0$2: 13040 while (true) { 13041 if (parts.b) { 13042 if (parts.b.b) { 13043 if (!parts.b.b.b) { 13044 var h = parts.a; 13045 var _v1 = parts.b; 13046 var t = _v1.a; 13047 var decimals = A2( 13048 $elm$core$Maybe$withDefault, 13049 0, 13050 A2( 13051 $elm$core$Maybe$map, 13052 $elm$core$String$length, 13053 $elm$core$List$head( 13054 A2( 13055 $elm$core$List$drop, 13056 1, 13057 A2( 13058 $elm$core$String$split, 13059 '.', 13060 $elm$core$String$fromFloat(step)))))); 13061 return h + ('.' + A2($elm$core$String$left, decimals, t)); 13062 } else { 13063 break _v0$2; 13064 } 13065 } else { 13066 var h = parts.a; 13067 return h; 13068 } 13069 } else { 13070 break _v0$2; 13071 } 13072 } 13073 return ''; 13074 }( 13075 A2( 13076 $elm$core$String$split, 13077 '.', 13078 $elm$core$String$fromFloat(value))); 13079 }); 13080var $elm$core$Maybe$map2 = F3( 13081 function (func, ma, mb) { 13082 if (ma.$ === 1) { 13083 return $elm$core$Maybe$Nothing; 13084 } else { 13085 var a = ma.a; 13086 if (mb.$ === 1) { 13087 return $elm$core$Maybe$Nothing; 13088 } else { 13089 var b = mb.a; 13090 return $elm$core$Maybe$Just( 13091 A2(func, a, b)); 13092 } 13093 } 13094 }); 13095var $elm$json$Json$Decode$map5 = _Json_map5; 13096var $elm$core$Tuple$mapBoth = F3( 13097 function (funcA, funcB, _v0) { 13098 var x = _v0.a; 13099 var y = _v0.b; 13100 return _Utils_Tuple2( 13101 funcA(x), 13102 funcB(y)); 13103 }); 13104var $author$project$W$Internal$Helpers$nearestFloats = F2( 13105 function (v, step) { 13106 var lower = $elm$core$Basics$floor(v / step) * step; 13107 return _Utils_Tuple2(lower, lower + step); 13108 }); 13109var $author$project$W$InputFloat$toFloat = function (_v0) { 13110 var v = _v0.b; 13111 return v; 13112}; 13113var $author$project$W$InputFloat$viewWithValidation = F2( 13114 function (attrs_, props) { 13115 var value = $author$project$W$InputFloat$toString(props.cN); 13116 var attrs = $author$project$W$InputFloat$applyAttrs(attrs_); 13117 return A2( 13118 $author$project$W$Internal$Input$view, 13119 {bV: attrs.bV, fQ: attrs.fQ, fR: value, bk: attrs.bk, ah: attrs.ah, aV: attrs.aV, bv: attrs.bv}, 13120 A2( 13121 $elm$html$Html$input, 13122 _Utils_ap( 13123 $author$project$W$InputFloat$baseAttrs(attrs), 13124 _List_fromArray( 13125 [ 13126 $elm$html$Html$Attributes$value(value), 13127 A2( 13128 $elm$html$Html$Events$on, 13129 'input', 13130 A6( 13131 $elm$json$Json$Decode$map5, 13132 F5( 13133 function (_v0, rangeOverflow, rangeUnderflow, stepMismatch, valueMissing) { 13134 var value_ = _v0.a;
13135 var valid = _v0.b; 13136 var value__ = A2($author$project$W$InputFloat$toValue, props.cN, value_); 13137 var customError = A2( 13138 $elm$core$Maybe$map, 13139 $author$project$W$InputFloat$Custom, 13140 A2( 13141 $elm$core$Maybe$andThen, 13142 function (fn) { 13143 return A2( 13144 fn, 13145 $author$project$W$InputFloat$toFloat(value__), 13146 value_); 13147 }, 13148 attrs.cM)); 13149 var result = (valid && _Utils_eq(customError, $elm$core$Maybe$Nothing)) ? $elm$core$Result$Ok( 13150 $author$project$W$InputFloat$toFloat(value__)) : $elm$core$Result$Err( 13151 A2( 13152 $elm$core$List$filterMap, 13153 $elm$core$Basics$identity, 13154 _List_fromArray( 13155 [ 13156 A2( 13157 $author$project$W$Internal$Helpers$keepIf, 13158 valueMissing, 13159 $elm$core$Maybe$Just( 13160 $author$project$W$InputFloat$ValueMissing('Please fill out this field.'))), 13161 A2( 13162 $elm$core$Maybe$map, 13163 function (min_) { 13164 return A2( 13165 $author$project$W$InputFloat$TooLow, 13166 min_, 13167 'Value must be greater than or equal to ' + $elm$core$String$fromFloat(min_)); 13168 }, 13169 A2($author$project$W$Internal$Helpers$keepIf, rangeOverflow, attrs.fX)), 13170 A2( 13171 $elm$core$Maybe$map, 13172 function (max_) { 13173 return A2( 13174 $author$project$W$InputFloat$TooHigh, 13175 max_, 13176 'Value must be less than or equal to ' + $elm$core$String$fromFloat(max_)); 13177 }, 13178 A2($author$project$W$Internal$Helpers$keepIf, rangeUnderflow, attrs.fS)), 13179 A3( 13180 $elm$core$Maybe$map2, 13181 F2( 13182 function (value___, step_) { 13183 var _v1 = A3( 13184 $elm$core$Tuple$mapBoth, 13185 $author$project$W$Internal$Helpers$formatFloat(attrs.gq), 13186 $author$project$W$Internal$Helpers$formatFloat(attrs.gq), 13187 A2($author$project$W$Internal$Helpers$nearestFloats, value___, attrs.gq)); 13188 var f = _v1.a; 13189 var c = _v1.b; 13190 return A2($author$project$W$InputFloat$StepMismatch, step_, 'Please enter a valid value. The two nearest valid values are ' + (f + (' and ' + c))); 13191 }), 13192 $author$project$W$InputFloat$toFloat(value__), 13193 A2( 13194 $author$project$W$Internal$Helpers$keepIf, 13195 stepMismatch, 13196 $elm$core$Maybe$Just(attrs.gq))), 13197 customError 13198 ]))); 13199 return A2(props.cm, result, value__); 13200 }), 13201 A3( 13202 $elm$json$Json$Decode$map2, 13203 $elm$core$Tuple$pair, 13204 A2( 13205 $elm$json$Json$Decode$at, 13206 _List_fromArray( 13207 ['target', 'value']), 13208 $elm$json$Json$Decode$string), 13209 A2( 13210 $elm$json$Json$Decode$at, 13211 _List_fromArray( 13212 ['target', 'validity', 'valid']), 13213 $elm$json$Json$Decode$bool)), 13214 A2( 13215 $elm$json$Json$Decode$at, 13216 _List_fromArray( 13217 ['target', 'validity', 'rangeOverflow']), 13218 $elm$json$Json$Decode$bool), 13219 A2( 13220 $elm$json$Json$Decode$at, 13221 _List_fromArray( 13222 ['target', 'validity', 'rangeUnderflow']), 13223 $elm$json$Json$Decode$bool), 13224 A2( 13225 $elm$json$Json$Decode$at, 13226 _List_fromArray( 13227 ['target', 'validity', 'stepMismatch']), 13228 $elm$json$Json$Decode$bool), 13229 A2( 13230 $elm$json$Json$Decode$at, 13231 _List_fromArray( 13232 ['target', 'validity', 'valueMissing']), 13233 $elm$json$Json$Decode$bool))) 13234 ])), 13235 _List_Nil)); 13236 }); 13237var $author$project$Chapters$Form$InputFloat$chapter_ = A2( 13238 $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList, 13239 _List_fromArray( 13240 [ 13241 _Utils_Tuple2( 13242 'Default', 13243 function (_v0) { 13244 var inputFloat = _v0.aF; 13245 return A2( 13246 $elm$html$Html$div, 13247 _List_Nil, 13248 _List_fromArray( 13249 [ 13250 A2( 13251 $author$project$W$InputFloat$view, 13252 _List_fromArray( 13253 [ 13254 $author$project$W$InputFloat$placeholder('Type somethingâ¦') 13255 ]), 13256 { 13257 cm: function (v) { 13258 return $dtwrks$elm_book$ElmBook$Actions$updateState( 13259 function (model) { 13260 var inputFloat_ = model.aF; 13261 return _Utils_update( 13262 model, 13263 { 13264 aF: _Utils_update( 13265 inputFloat_, 13266 {cN: v}) 13267 }); 13268 }); 13269 }, 13270 cN: inputFloat.cN 13271 }) 13272 ])); 13273 }), 13274 _Utils_Tuple2( 13275 'With Validation', 13276 function (_v1) { 13277 var inputFloat = _v1.aF; 13278 return A2( 13279 $elm$html$Html$div, 13280 _List_Nil, 13281 _List_fromArray( 13282 [ 13283 A2( 13284 $author$project$W$InputFloat$viewWithValidation, 13285 _List_fromArray( 13286 [ 13287 $author$project$W$InputFloat$placeholder('Type somethingâ¦') 13288 ]), 13289 { 13290 cm: F2( 13291 function (result, v) { 13292 return $dtwrks$elm_book$ElmBook$Actions$updateState( 13293 function (model) { 13294 var inputFloat_ = model.aF; 13295 return _Utils_update( 13296 model, 13297 { 13298 aF: _Utils_update( 13299 inputFloat_, 13300 { 13301 cM: $elm$core$Maybe$Just(result), 13302 cO: v 13303 }) 13304 }); 13305 }); 13306 }), 13307 cN: inputFloat.cO 13308 }), 13309 A2( 13310 $elm$core$Maybe$withDefault, 13311 $elm$html$Html$text(''), 13312 A2( 13313 $elm$core$Maybe$map, 13314 function (validation) { 13315 if (!validation.$) { 13316 var f = validation.a; 13317 return $elm$html$Html$text( 13318 A2( 13319 $elm$core$Maybe$withDefault, 13320 'Nothing', 13321 A2($elm$core$Maybe$map, $elm$core$String$fromFloat, f))); 13322 } else { 13323 var errors = validation.a; 13324 return A2( 13325 $elm$html$Html$div, 13326 _List_Nil, 13327 A2( 13328 $elm$core$List$map, 13329 function (error) { 13330 return A2( 13331 $elm$html$Html$p, 13332 _List_Nil, 13333 _List_fromArray( 13334 [ 13335 $elm$html$Html$text( 13336 $author$project$W$InputFloat$errorToString(error)) 13337 ])); 13338 }, 13339 errors)); 13340 } 13341 }, 13342 inputFloat.cM)) 13343 ])); 13344 }) 13345 ]), 13346 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Float')); 13347var $author$project$W$InputInt$Attribute = $elm$core$Basics$identity; 13348var $author$project$W$InputInt$mask = function (v) { 13349 return function (attrs) { 13350 return _Utils_update( 13351 attrs, 13352 { 13353 fQ: $elm$core$Maybe$Just(v) 13354 }); 13355 }; 13356}; 13357var $author$project$W$InputInt$placeholder = function (v) { 13358 return function (attrs) { 13359 return _Utils_update( 13360 attrs, 13361 { 13362 gb: $elm$core$Maybe$Just(v) 13363 }); 13364 }; 13365}; 13366var $author$project$W$InputInt$defaultAttrs = {bE: false, bV: false, b$: _List_Nil, fQ: $elm$core$Maybe$Nothing, fS: $elm$core$Maybe$Nothing, fX: $elm$core$Maybe$Nothing, cg: $elm$core$Maybe$Nothing, ci: $elm$core$Maybe$Nothing, cj: $elm$core$Maybe$Nothing, gb: $elm$core$Maybe$Nothing, bk: $elm$core$Maybe$Nothing, ah: false, cw: false, aV: false, gq: $elm$core$Maybe$Nothing, bv: $elm$core$Maybe$Nothing, cM: $elm$core$Maybe$Nothing}; 13367var $author$project$W$InputInt$applyAttrs = function (attrs) { 13368 return A3( 13369 $elm$core$List$foldl, 13370 F2( 13371 function (_v0, a) { 13372 var fn = _v0; 13373 return fn(a); 13374 }), 13375 $author$project$W$InputInt$defaultAttrs, 13376 attrs); 13377}; 13378var $author$project$W$InputInt$baseAttrs = function (attrs) { 13379 return _Utils_ap( 13380 attrs.b$, 13381 _List_fromArray( 13382 [ 13383 $elm$html$Html$Attributes$type_('number'), 13384 $elm$html$Html$Attributes$step('1'), 13385 $elm$html$Html$Attributes$class( 13386 $author$project$W$Internal$Input$baseClass(attrs.aV)), 13387 $elm$html$Html$Attributes$required(attrs.cw), 13388 $elm$html$Html$Attributes$disabled(attrs.bV), 13389 $elm$html$Html$Attributes$readonly(attrs.ah), 13390 $elm$html$Html$Attributes$autofocus(attrs.bE), 13391 A3( 13392 $author$project$W$Internal$Helpers$attrIf, 13393 attrs.ah, 13394 $elm$html$Html$Attributes$attribute('aria-readonly'), 13395 'true'), 13396 A3( 13397 $author$project$W$Internal$Helpers$attrIf, 13398 attrs.bV, 13399 $elm$html$Html$Attributes$attribute('aria-disabled'), 13400 'true'), 13401 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$placeholder, attrs.gb), 13402 A2( 13403 $author$project$W$Internal$Helpers$maybeAttr, 13404 $elm$html$Html$Attributes$min, 13405 A2($elm$core$Maybe$map, $elm$core$String$fromInt, attrs.fX)), 13406 A2( 13407 $author$project$W$Internal$Helpers$maybeAttr, 13408 $elm$html$Html$Attributes$max, 13409 A2($elm$core$Maybe$map, $elm$core$String$fromInt, attrs.fS)), 13410 A2( 13411 $author$project$W$Internal$Helpers$maybeAttr, 13412 $elm$html$Html$Attributes$step, 13413 A2($elm$core$Maybe$map, $elm$core$String$fromInt, attrs.gq)), 13414 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onFocus, attrs.cj), 13415 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onBlur, attrs.cg), 13416 A2($author$project$W$Internal$Helpers$maybeAttr, $author$project$W$Internal$Helpers$onEnter, attrs.ci) 13417 ])); 13418}; 13419var $author$project$W$InputInt$toString = function (_v0) { 13420 var v = _v0.a; 13421 return v; 13422}; 13423var $author$project$W$InputInt$Value = F2( 13424 function (a, b) { 13425 return {$: 0, a: a, b: b}; 13426 }); 13427var $elm$core$String$filter = _String_filter;
13428var $elm$core$String$toInt = _String_toInt; 13429var $author$project$W$InputInt$toValue = function (value) { 13430 var _v0 = $elm$core$String$toInt(value); 13431 if (!_v0.$) { 13432 var v = _v0.a; 13433 return A2( 13434 $author$project$W$InputInt$Value, 13435 value, 13436 $elm$core$Maybe$Just(v)); 13437 } else { 13438 var parsedString = A2($elm$core$String$filter, $elm$core$Char$isDigit, value); 13439 var parsedValue = $elm$core$String$toInt(parsedString); 13440 return A2($author$project$W$InputInt$Value, parsedString, parsedValue); 13441 } 13442}; 13443var $author$project$W$InputInt$view = F2( 13444 function (attrs_, props) { 13445 var value = $author$project$W$InputInt$toString(props.cN); 13446 var attrs = $author$project$W$InputInt$applyAttrs(attrs_); 13447 return A2( 13448 $author$project$W$Internal$Input$view, 13449 {bV: attrs.bV, fQ: attrs.fQ, fR: value, bk: attrs.bk, ah: attrs.ah, aV: attrs.aV, bv: attrs.bv}, 13450 A2( 13451 $elm$html$Html$input, 13452 _Utils_ap( 13453 $author$project$W$InputInt$baseAttrs(attrs), 13454 _List_fromArray( 13455 [ 13456 $elm$html$Html$Attributes$value(value), 13457 A2( 13458 $elm$html$Html$Events$on, 13459 'input', 13460 A2( 13461 $elm$json$Json$Decode$map, 13462 A2($elm$core$Basics$composeL, props.cm, $author$project$W$InputInt$toValue), 13463 A2( 13464 $elm$json$Json$Decode$at, 13465 _List_fromArray( 13466 ['target', 'value']), 13467 $elm$json$Json$Decode$string))) 13468 ])), 13469 _List_Nil)); 13470 }); 13471var $author$project$Chapters$Form$InputInt$chapter_ = A2( 13472 $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList, 13473 _List_fromArray( 13474 [ 13475 _Utils_Tuple2( 13476 'Int', 13477 function (_v0) { 13478 var inputInt = _v0.ep; 13479 return A2( 13480 $elm$html$Html$div, 13481 _List_Nil, 13482 _List_fromArray( 13483 [ 13484 A2( 13485 $author$project$W$InputInt$view, 13486 _List_fromArray( 13487 [ 13488 $author$project$W$InputInt$placeholder('Type somethingâ¦'), 13489 $author$project$W$InputInt$mask( 13490 function (s) { 13491 return _Utils_ap(s, s); 13492 }) 13493 ]), 13494 { 13495 cm: function (v) { 13496 return $dtwrks$elm_book$ElmBook$Actions$updateState( 13497 function (model) { 13498 return _Utils_update( 13499 model, 13500 {ep: v}); 13501 }); 13502 }, 13503 cN: inputInt 13504 }) 13505 ])); 13506 }) 13507 ]), 13508 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Int')); 13509var $author$project$W$InputRadio$Attribute = $elm$core$Basics$identity; 13510var $author$project$W$InputRadio$color = function (v) { 13511 return function (attrs) { 13512 return _Utils_update( 13513 attrs, 13514 {U: v}); 13515 }; 13516}; 13517var $author$project$W$InputRadio$disabled = function (v) { 13518 return function (attrs) { 13519 return _Utils_update( 13520 attrs, 13521 {bV: v}); 13522 }; 13523}; 13524var $author$project$W$InputRadio$readOnly = function (v) { 13525 return function (attrs) { 13526 return _Utils_update( 13527 attrs, 13528 {ah: v}); 13529 }; 13530}; 13531var $author$project$W$InputRadio$small = function (attrs) { 13532 return _Utils_update( 13533 attrs, 13534 {aV: true}); 13535}; 13536var $author$project$W$InputRadio$vertical = function (v) { 13537 return function (attrs) { 13538 return _Utils_update( 13539 attrs, 13540 {I: v}); 13541 }; 13542}; 13543var $author$project$Chapters$Form$InputRadio$chapter_ = A2( 13544 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 13545 _List_fromArray( 13546 [ 13547 _Utils_Tuple2( 13548 'Default', 13549 A2( 13550 $author$project$W$InputRadio$view, 13551 _List_Nil, 13552 { 13553 fE: 'default', 13554 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13555 f9: _List_fromArray( 13556 [1, 2, 3]), 13557 u: $elm$core$String$fromInt, 13558 gw: $elm$core$String$fromInt, 13559 cN: 1 13560 })), 13561 _Utils_Tuple2( 13562 'Small', 13563 A2( 13564 $author$project$W$InputRadio$view, 13565 _List_fromArray( 13566 [$author$project$W$InputRadio$small]), 13567 { 13568 fE: 'default', 13569 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13570 f9: _List_fromArray( 13571 [1, 2, 3]), 13572 u: $elm$core$String$fromInt, 13573 gw: $elm$core$String$fromInt, 13574 cN: 1 13575 })), 13576 _Utils_Tuple2( 13577 'Disabled', 13578 A2( 13579 $author$project$W$InputRadio$view, 13580 _List_fromArray( 13581 [ 13582 $author$project$W$InputRadio$disabled(true) 13583 ]), 13584 { 13585 fE: 'disabled', 13586 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13587 f9: _List_fromArray( 13588 [1, 2, 3]), 13589 u: $elm$core$String$fromInt, 13590 gw: $elm$core$String$fromInt, 13591 cN: 2 13592 })), 13593 _Utils_Tuple2( 13594 'Read Only', 13595 A2( 13596 $author$project$W$InputRadio$view, 13597 _List_fromArray( 13598 [ 13599 $author$project$W$InputRadio$readOnly(true) 13600 ]), 13601 { 13602 fE: 'read-only', 13603 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13604 f9: _List_fromArray( 13605 [1, 2, 3]), 13606 u: $elm$core$String$fromInt, 13607 gw: $elm$core$String$fromInt, 13608 cN: 2 13609 })), 13610 _Utils_Tuple2( 13611 'Starting with hidden value', 13612 A2( 13613 $author$project$W$InputRadio$view, 13614 _List_Nil, 13615 { 13616 fE: 'r', 13617 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13618 f9: _List_fromArray( 13619 [1, 2, 3]), 13620 u: $elm$core$String$fromInt, 13621 gw: $elm$core$String$fromInt, 13622 cN: -1 13623 })), 13624 _Utils_Tuple2( 13625 'Custom Colors', 13626 A2( 13627 $author$project$W$InputRadio$view, 13628 _List_fromArray( 13629 [ 13630 $author$project$W$InputRadio$color('red') 13631 ]), 13632 { 13633 fE: 'custom-colors', 13634 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13635 f9: _List_fromArray( 13636 [1, 2, 3]), 13637 u: $elm$core$String$fromInt, 13638 gw: $elm$core$String$fromInt, 13639 cN: 3 13640 })), 13641 _Utils_Tuple2( 13642 'Vertical', 13643 A2( 13644 $author$project$W$InputRadio$view, 13645 _List_fromArray( 13646 [ 13647 $author$project$W$InputRadio$vertical(true) 13648 ]), 13649 { 13650 fE: 'vertical', 13651 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13652 f9: _List_fromArray( 13653 [1, 2, 3]), 13654 u: $elm$core$String$fromInt, 13655 gw: $elm$core$String$fromInt, 13656 cN: 2 13657 })), 13658 _Utils_Tuple2( 13659 'Vertical + Small', 13660 A2( 13661 $author$project$W$InputRadio$view, 13662 _List_fromArray( 13663 [ 13664 $author$project$W$InputRadio$small, 13665 $author$project$W$InputRadio$vertical(true) 13666 ]), 13667 { 13668 fE: 'default', 13669 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13670 f9: _List_fromArray( 13671 [1, 2, 3]), 13672 u: $elm$core$String$fromInt, 13673 gw: $elm$core$String$fromInt, 13674 cN: 1 13675 })) 13676 ]), 13677 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Radio')); 13678var $author$project$W$InputSelect$Attribute = $elm$core$Basics$identity; 13679var $author$project$W$InputSelect$disabled = function (v) { 13680 return function (attrs) { 13681 return _Utils_update( 13682 attrs, 13683 {bV: v}); 13684 }; 13685}; 13686var $elm$core$List$append = F2( 13687 function (xs, ys) { 13688 if (!ys.b) { 13689 return xs; 13690 } else { 13691 return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); 13692 } 13693 }); 13694var $author$project$W$InputSelect$defaultAttrs = {bE: false, bV: false, b$: _List_Nil, bk: $elm$core$Maybe$Nothing, ah: false, aV: false, bv: $elm$core$Maybe$Nothing}; 13695var $author$project$W$InputSelect$applyAttrs = function (attrs) { 13696 return A3( 13697 $elm$core$List$foldl, 13698 F2( 13699 function (_v0, a) { 13700 var fn = _v0; 13701 return fn(a); 13702 }), 13703 $author$project$W$InputSelect$defaultAttrs, 13704 attrs); 13705}; 13706var $elm$core$List$concat = function (lists) { 13707 return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists); 13708}; 13709var $elm$core$List$concatMap = F2( 13710 function (f, list) { 13711 return $elm$core$List$concat( 13712 A2($elm$core$List$map, f, list)); 13713 }); 13714var $elm$html$Html$optgroup = _VirtualDom_node('optgroup'); 13715var $elm$html$Html$option = _VirtualDom_node('option'); 13716var $elm$html$Html$select = _VirtualDom_node('select'); 13717var $elm$html$Html$Attributes$selected = $elm$html$Html$Attributes$boolProperty('selected'); 13718var $author$project$W$InputSelect$viewGroups = F2( 13719 function (attrs_, props) { 13720 var values = $elm$core$Dict$fromList( 13721 A2( 13722 $elm$core$List$map, 13723 function (a) { 13724 return _Utils_Tuple2( 13725 props.u(a), 13726 a); 13727 }, 13728 A2( 13729 $elm$core$List$append, 13730 props.f9, 13731 A2($elm$core$List$concatMap, $elm$core$Tuple$second, props.eF)))); 13732 var attrs = $author$project$W$InputSelect$applyAttrs(attrs_); 13733 return A3( 13734 $author$project$W$Internal$Input$viewWithIcon, 13735 {bV: attrs.bV, fQ: $elm$core$Maybe$Nothing, fR: '', bk: attrs.bk, ah: attrs.ah, aV: attrs.aV, bv: attrs.bv}, 13736 $author$project$W$Internal$Icons$chevronDown, 13737 A2( 13738 $elm$html$Html$select, 13739 _Utils_ap( 13740 attrs.b$, 13741 _List_fromArray( 13742 [ 13743 $elm$html$Html$Attributes$class( 13744 $author$project$W$Internal$Input$baseClass(attrs.aV)), 13745 $elm$html$Html$Attributes$disabled(attrs.bV), 13746 $elm$html$Html$Attributes$readonly(attrs.ah), 13747 $elm$html$Html$Attributes$autofocus(attrs.bE), 13748 A3( 13749 $author$project$W$Internal$Helpers$attrIf, 13750 attrs.ah, 13751 $elm$html$Html$Attributes$attribute('aria-readonly'), 13752 'true'), 13753 A3( 13754 $author$project$W$Internal$Helpers$attrIf, 13755 attrs.bV, 13756 $elm$html$Html$Attributes$attribute('aria-disabled'), 13757 'true'), 13758 $elm$html$Html$Attributes$placeholder('Select'), 13759 $elm$html$Html$Events$onInput( 13760 function (s) { 13761 return props.cm( 13762 A2( 13763 $elm$core$Maybe$withDefault, 13764 props.cN, 13765 A2($elm$core$Dict$get, s, values))); 13766 }) 13767 ])), 13768 $elm$core$List$concat( 13769 _List_fromArray( 13770 [ 13771 A2( 13772 $elm$core$List$map, 13773 function (a) { 13774 return A2( 13775 $elm$html$Html$option, 13776 _List_fromArray( 13777 [ 13778 $elm$html$Html$Attributes$selected( 13779 _Utils_eq(a, props.cN)), 13780 $elm$html$Html$Attributes$value( 13781 props.u(a)) 13782 ]), 13783 _List_fromArray( 13784 [ 13785 $elm$html$Html$text( 13786 props.u(a)) 13787 ])); 13788 }, 13789 props.f9), 13790 A2( 13791 $elm$core$List$map, 13792 function (_v0) { 13793 var l = _v0.a; 13794 var options_ = _v0.b; 13795 return A2( 13796 $elm$html$Html$optgroup, 13797 _List_fromArray( 13798 [ 13799 A2($elm$html$Html$Attributes$attribute, 'label', l) 13800 ]), 13801 A2( 13802 $elm$core$List$map, 13803 function (a) { 13804 return A2( 13805 $elm$html$Html$option, 13806 _List_fromArray( 13807 [ 13808 $elm$html$Html$Attributes$selected( 13809 _Utils_eq(a, props.cN)), 13810 $elm$html$Html$Attributes$value( 13811 props.u(a)) 13812 ]), 13813 _List_fromArray( 13814 [ 13815 $elm$html$Html$text( 13816 props.u(a)) 13817 ])); 13818 }, 13819 options_)); 13820 }, 13821 props.eF) 13822 ])))); 13823 }); 13824var $author$project$W$InputSelect$view = F2( 13825 function (attrs_, props) { 13826 return A2( 13827 $author$project$W$InputSelect$viewGroups, 13828 attrs_, 13829 {cm: props.cm, eF: _List_Nil, f9: props.f9, u: props.u, cN: props.cN}); 13830 }); 13831var $author$project$W$InputSelect$viewGroupsOptional = F2( 13832 function (attrs_, props) { 13833 return A2( 13834 $author$project$W$InputSelect$viewGroups, 13835 attrs_, 13836 {
13837 cm: props.cm, 13838 eF: _List_Nil, 13839 f9: A2( 13840 $elm$core$List$cons, 13841 $elm$core$Maybe$Nothing, 13842 A2($elm$core$List$map, $elm$core$Maybe$Just, props.f9)), 13843 u: A2( 13844 $elm$core$Basics$composeR, 13845 $elm$core$Maybe$map(props.u), 13846 $elm$core$Maybe$withDefault(props.gb)), 13847 cN: props.cN 13848 }); 13849 }); 13850var $author$project$Chapters$Form$InputSelect$chapter_ = A2( 13851 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 13852 _List_fromArray( 13853 [ 13854 _Utils_Tuple2( 13855 'Simple', 13856 A2( 13857 $author$project$W$InputSelect$view, 13858 _List_Nil, 13859 { 13860 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13861 f9: _List_fromArray( 13862 [1, 2]), 13863 u: $elm$core$String$fromInt, 13864 cN: 1 13865 })), 13866 _Utils_Tuple2( 13867 'Disabled', 13868 A2( 13869 $author$project$W$InputSelect$view, 13870 _List_fromArray( 13871 [ 13872 $author$project$W$InputSelect$disabled(true) 13873 ]), 13874 { 13875 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13876 f9: _List_fromArray( 13877 [1, 2]), 13878 u: $elm$core$String$fromInt, 13879 cN: 1 13880 })), 13881 _Utils_Tuple2( 13882 'With Placeholder', 13883 A2( 13884 $author$project$W$InputSelect$view, 13885 _List_Nil, 13886 { 13887 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13888 f9: _List_fromArray( 13889 [1, 2]), 13890 u: $elm$core$String$fromInt, 13891 cN: 2 13892 })), 13893 _Utils_Tuple2( 13894 'With Option Groups', 13895 A2( 13896 $author$project$W$InputSelect$viewGroups, 13897 _List_Nil, 13898 { 13899 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onInput'), 13900 eF: _List_fromArray( 13901 [ 13902 _Utils_Tuple2( 13903 '70\'s', 13904 _List_fromArray( 13905 [1978, 1979])), 13906 _Utils_Tuple2( 13907 '80\'s', 13908 _List_fromArray( 13909 [1988, 1989])) 13910 ]), 13911 f9: _List_fromArray( 13912 [1900, 2000]), 13913 u: $elm$core$String$fromInt, 13914 cN: 2000 13915 })), 13916 _Utils_Tuple2( 13917 'With Option Groups (Optional)', 13918 A2( 13919 $author$project$W$InputSelect$viewGroupsOptional, 13920 _List_Nil, 13921 { 13922 cm: function (value) { 13923 if (!value.$) { 13924 var value_ = value.a; 13925 return $dtwrks$elm_book$ElmBook$Actions$logAction( 13926 'onInput: Just ' + $elm$core$String$fromInt(value_)); 13927 } else { 13928 return $dtwrks$elm_book$ElmBook$Actions$logAction('onInput: Nothing'); 13929 } 13930 }, 13931 eF: _List_fromArray( 13932 [ 13933 _Utils_Tuple2( 13934 '70\'s', 13935 _List_fromArray( 13936 [1978, 1979])), 13937 _Utils_Tuple2( 13938 '80\'s', 13939 _List_fromArray( 13940 [1988, 1989])) 13941 ]), 13942 f9: _List_fromArray( 13943 [1900, 2000]), 13944 gb: 'Select a year...', 13945 u: $elm$core$String$fromInt, 13946 cN: $elm$core$Maybe$Nothing 13947 })) 13948 ]), 13949 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Select')); 13950var $author$project$W$InputSlider$color = function (v) { 13951 return function (attrs) { 13952 return _Utils_update( 13953 attrs, 13954 {U: v}); 13955 }; 13956}; 13957var $author$project$W$InputSlider$disabled = function (v) { 13958 return function (attrs) { 13959 return _Utils_update( 13960 attrs, 13961 {bV: v}); 13962 }; 13963}; 13964var $dtwrks$elm_book$ElmBook$Actions$updateStateWith = F2( 13965 function (fn, a) { 13966 return $dtwrks$elm_book$ElmBook$Internal$Msg$UpdateState( 13967 function (state) { 13968 return _Utils_Tuple2( 13969 A2(fn, a, state), 13970 $elm$core$Platform$Cmd$none); 13971 }); 13972 }); 13973var $author$project$Chapters$Form$InputSlider$chapter_ = A2( 13974 $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList, 13975 _List_fromArray( 13976 [ 13977 _Utils_Tuple2( 13978 'Default', 13979 function (_v0) { 13980 var range = _v0.aR; 13981 return A2( 13982 $author$project$W$InputSlider$view, 13983 _List_Nil, 13984 { 13985 fS: 10, 13986 fX: 0, 13987 cm: $dtwrks$elm_book$ElmBook$Actions$updateStateWith( 13988 F2( 13989 function (v, model) { 13990 var range_ = model.aR; 13991 return _Utils_update( 13992 model, 13993 { 13994 aR: _Utils_update( 13995 range_, 13996 {bU: v}) 13997 }); 13998 })), 13999 gq: 1, 14000 cN: range.bU 14001 }); 14002 }), 14003 _Utils_Tuple2( 14004 'Disabled', 14005 function (_v1) { 14006 return A2( 14007 $author$project$W$InputSlider$view, 14008 _List_fromArray( 14009 [ 14010 $author$project$W$InputSlider$disabled(true) 14011 ]), 14012 { 14013 fS: 10, 14014 fX: 0, 14015 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromFloat, 'onInput'), 14016 gq: 1, 14017 cN: 5 14018 }); 14019 }), 14020 _Utils_Tuple2( 14021 'Read Only', 14022 function (_v2) { 14023 return A2( 14024 $author$project$W$InputSlider$view, 14025 _List_fromArray( 14026 [ 14027 $author$project$W$InputSlider$readOnly(true) 14028 ]), 14029 { 14030 fS: 10, 14031 fX: 0, 14032 cm: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromFloat, 'onInput'), 14033 gq: 1, 14034 cN: 5 14035 }); 14036 }), 14037 _Utils_Tuple2( 14038 'Custom Color', 14039 function (_v3) { 14040 var range = _v3.aR; 14041 return A2( 14042 $author$project$W$InputSlider$view, 14043 _List_fromArray( 14044 [ 14045 $author$project$W$InputSlider$color('red') 14046 ]), 14047 { 14048 fS: 10, 14049 fX: 0, 14050 cm: $dtwrks$elm_book$ElmBook$Actions$updateStateWith( 14051 F2( 14052 function (v, model) { 14053 var range_ = model.aR; 14054 return _Utils_update( 14055 model, 14056 { 14057 aR: _Utils_update( 14058 range_, 14059 {bO: v}) 14060 }); 14061 })), 14062 gq: 1, 14063 cN: range.bO 14064 }); 14065 }) 14066 ]), 14067 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Slider')); 14068var $author$project$W$InputText$disabled = function (v) { 14069 return function (attrs) { 14070 return _Utils_update( 14071 attrs, 14072 {bV: v}); 14073 }; 14074}; 14075var $author$project$W$InputText$Email = 4; 14076var $author$project$W$InputText$email = function (attrs) { 14077 return _Utils_update( 14078 attrs, 14079 {H: 4}); 14080}; 14081var $author$project$W$InputText$errorToString = function (error) { 14082 switch (error.$) { 14083 case 0: 14084 var message = error.a; 14085 return message; 14086 case 1: 14087 var message = error.a; 14088 return message; 14089 case 2: 14090 var message = error.b; 14091 return message; 14092 case 3: 14093 var message = error.b; 14094 return message; 14095 case 4: 14096 var message = error.a; 14097 return message; 14098 default: 14099 var message = error.a; 14100 return message; 14101 } 14102}; 14103var $author$project$W$InputText$mask = function (v) { 14104 return function (attrs) { 14105 return _Utils_update( 14106 attrs, 14107 { 14108 fQ: $elm$core$Maybe$Just(v) 14109 }); 14110 }; 14111}; 14112var $author$project$W$InputText$maxLength = function (v) { 14113 return function (attrs) { 14114 return _Utils_update( 14115 attrs, 14116 { 14117 N: $elm$core$Maybe$Just(v) 14118 }); 14119 }; 14120}; 14121var $author$project$W$InputText$minLength = function (v) { 14122 return function (attrs) { 14123 return _Utils_update( 14124 attrs, 14125 { 14126 aL: $elm$core$Maybe$Just(v) 14127 }); 14128 }; 14129}; 14130var $author$project$W$Container$pad_2 = $author$project$W$Container$addClass('ew-p-2'); 14131var $author$project$W$InputText$Password = 2; 14132var $author$project$W$InputText$password = function (attrs) { 14133 return _Utils_update( 14134 attrs, 14135 {H: 2}); 14136}; 14137var $author$project$W$InputText$pattern = function (v) { 14138 return function (attrs) { 14139 return _Utils_update( 14140 attrs, 14141 { 14142 cr: $elm$core$Maybe$Just(v) 14143 }); 14144 }; 14145}; 14146var $author$project$W$InputText$prefix = function (v) { 14147 return function (attrs) { 14148 return _Utils_update( 14149 attrs, 14150 { 14151 bk: $elm$core$Maybe$Just(v) 14152 }); 14153 }; 14154}; 14155var $author$project$W$InputText$readOnly = function (v) { 14156 return function (attrs) { 14157 return _Utils_update( 14158 attrs, 14159 {ah: v}); 14160 }; 14161}; 14162var $author$project$W$InputText$Search = 3; 14163var $author$project$W$InputText$search = function (attrs) { 14164 return _Utils_update( 14165 attrs, 14166 {H: 3}); 14167}; 14168var $author$project$W$InputText$small = function (attrs) { 14169 return _Utils_update( 14170 attrs, 14171 {aV: true}); 14172}; 14173var $author$project$W$InputText$suffix = function (v) { 14174 return function (attrs) { 14175 return _Utils_update( 14176 attrs, 14177 { 14178 bv: $elm$core$Maybe$Just(v) 14179 }); 14180 }; 14181}; 14182var $author$project$W$InputText$Url = 5; 14183var $author$project$W$InputText$url = function (attrs) { 14184 return _Utils_update( 14185 attrs, 14186 {H: 5}); 14187}; 14188var $author$project$W$InputText$Custom = function (a) { 14189 return {$: 5, a: a}; 14190}; 14191var $author$project$W$InputText$PatternMismatch = function (a) { 14192 return {$: 0, a: a}; 14193}; 14194var $author$project$W$InputText$TooShort = F2( 14195 function (a, b) { 14196 return {$: 3, a: a, b: b}; 14197 }); 14198var $author$project$W$InputText$TypeMismatch = function (a) { 14199 return {$: 1, a: a}; 14200}; 14201var $author$project$W$InputText$ValueMissing = function (a) { 14202 return {$: 4, a: a}; 14203}; 14204var $elm$json$Json$Decode$map7 = _Json_map7; 14205var $author$project$W$InputText$viewWithValidation = F2( 14206 function (attrs_, props) { 14207 var attrs = $author$project$W$InputText$applyAttrs(attrs_);
14208 var value = A2($author$project$W$Internal$Helpers$limitString, attrs.N, props.cN); 14209 return A2( 14210 $author$project$W$Internal$Input$view, 14211 {bV: attrs.bV, fQ: attrs.fQ, fR: value, bk: attrs.bk, ah: attrs.ah, aV: attrs.aV, bv: attrs.bv}, 14212 A2( 14213 $elm$html$Html$input, 14214 _Utils_ap( 14215 $author$project$W$InputText$baseAttrs(attrs), 14216 _List_fromArray( 14217 [ 14218 $elm$html$Html$Attributes$value(value), 14219 A2( 14220 $elm$html$Html$Events$on, 14221 'input', 14222 A8( 14223 $elm$json$Json$Decode$map7, 14224 F7( 14225 function (value__, valid, patternMismatch, typeMismatch, tooLong, tooShort, valueMissing) { 14226 var value_ = A2($author$project$W$Internal$Helpers$limitString, attrs.N, value__); 14227 var customError = A2( 14228 $elm$core$Maybe$map, 14229 $author$project$W$InputText$Custom, 14230 A2( 14231 $elm$core$Maybe$andThen, 14232 function (fn) { 14233 return fn(value_); 14234 }, 14235 attrs.cM)); 14236 var result = (valid && _Utils_eq(customError, $elm$core$Maybe$Nothing)) ? $elm$core$Result$Ok(value_) : $elm$core$Result$Err( 14237 A2( 14238 $elm$core$List$filterMap, 14239 $elm$core$Basics$identity, 14240 _List_fromArray( 14241 [ 14242 A2( 14243 $author$project$W$Internal$Helpers$keepIf, 14244 valueMissing, 14245 $elm$core$Maybe$Just( 14246 $author$project$W$InputText$ValueMissing('Please fill out this field.'))), 14247 A2( 14248 $elm$core$Maybe$map, 14249 function (minLength_) { 14250 return A2( 14251 $author$project$W$InputText$TooShort, 14252 minLength_, 14253 'Use at least ' + ($elm$core$String$fromInt(minLength_) + ' characters')); 14254 }, 14255 A2($author$project$W$Internal$Helpers$keepIf, tooShort, attrs.aL)), 14256 A2( 14257 $elm$core$Maybe$map, 14258 function (maxLength_) { 14259 return A2( 14260 $author$project$W$InputText$TooShort, 14261 maxLength_, 14262 'Please shorten this text to ' + ($elm$core$String$fromInt(maxLength_) + ' characters or less')); 14263 }, 14264 A2($author$project$W$Internal$Helpers$keepIf, tooLong, attrs.N)), 14265 A2( 14266 $elm$core$Maybe$map, 14267 function (type_) { 14268 switch (type_) { 14269 case 0: 14270 return $author$project$W$InputText$TypeMismatch('Input not recognized as text'); 14271 case 6: 14272 return $author$project$W$InputText$TypeMismatch('Input not recognized as text'); 14273 case 7: 14274 return $author$project$W$InputText$TypeMismatch('Input not recognized as text'); 14275 case 1: 14276 return $author$project$W$InputText$TypeMismatch('Type a telephone'); 14277 case 3: 14278 return $author$project$W$InputText$TypeMismatch('Input not recognized as a search input'); 14279 case 4: 14280 return $author$project$W$InputText$TypeMismatch('Type an email'); 14281 case 5: 14282 return $author$project$W$InputText$TypeMismatch('Type a URL'); 14283 default: 14284 return $author$project$W$InputText$TypeMismatch('Input not recognized as a valid password'); 14285 } 14286 }, 14287 A2( 14288 $author$project$W$Internal$Helpers$keepIf, 14289 typeMismatch, 14290 $elm$core$Maybe$Just(attrs.H))), 14291 A2( 14292 $author$project$W$Internal$Helpers$keepIf, 14293 patternMismatch, 14294 $elm$core$Maybe$Just( 14295 $author$project$W$InputText$PatternMismatch('Match the requested format'))), 14296 customError 14297 ]))); 14298 return A2(props.cm, result, value_); 14299 }), 14300 A2( 14301 $elm$json$Json$Decode$at, 14302 _List_fromArray( 14303 ['target', 'value']), 14304 $elm$json$Json$Decode$string), 14305 A2( 14306 $elm$json$Json$Decode$at, 14307 _List_fromArray( 14308 ['target', 'validity', 'valid']), 14309 $elm$json$Json$Decode$bool), 14310 A2( 14311 $elm$json$Json$Decode$at, 14312 _List_fromArray( 14313 ['target', 'validity', 'patternMismatch']), 14314 $elm$json$Json$Decode$bool), 14315 A2( 14316 $elm$json$Json$Decode$at, 14317 _List_fromArray( 14318 ['target', 'validity', 'typeMismatch']), 14319 $elm$json$Json$Decode$bool), 14320 A2( 14321 $elm$json$Json$Decode$at, 14322 _List_fromArray( 14323 ['target', 'validity', 'tooLong']), 14324 $elm$json$Json$Decode$bool), 14325 A2( 14326 $elm$json$Json$Decode$at, 14327 _List_fromArray( 14328 ['target', 'validity', 'tooShort']), 14329 $elm$json$Json$Decode$bool), 14330 A2( 14331 $elm$json$Json$Decode$at, 14332 _List_fromArray( 14333 ['target', 'validity', 'valueMissing']), 14334 $elm$json$Json$Decode$bool))) 14335 ])), 14336 _List_Nil)); 14337 }); 14338var $author$project$Chapters$Form$InputText$chapter_ = A2(
14339 $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList, 14340 _List_fromArray( 14341 [ 14342 _Utils_Tuple2( 14343 'Default', 14344 function (_v0) { 14345 var inputText = _v0.aG; 14346 return A2( 14347 $author$project$W$InputText$view, 14348 _List_fromArray( 14349 [ 14350 $author$project$W$InputText$placeholder('Type somethingâ¦'), 14351 $author$project$W$InputText$small, 14352 $author$project$W$InputText$mask( 14353 function (s) { 14354 return 'R$ ' + s; 14355 }), 14356 $author$project$W$InputText$prefix( 14357 _List_fromArray( 14358 [ 14359 $elm$html$Html$text('$') 14360 ])) 14361 ]), 14362 { 14363 cm: $dtwrks$elm_book$ElmBook$Actions$updateStateWith( 14364 F2( 14365 function (v, model) { 14366 var inputText_ = model.aG; 14367 return _Utils_update( 14368 model, 14369 { 14370 aG: _Utils_update( 14371 inputText_, 14372 {cN: v}) 14373 }); 14374 })), 14375 cN: inputText.cN 14376 }); 14377 }), 14378 _Utils_Tuple2( 14379 'Disabled', 14380 function (_v1) { 14381 return A2( 14382 $author$project$W$InputText$view, 14383 _List_fromArray( 14384 [ 14385 $author$project$W$InputText$placeholder('Type somethingâ¦'), 14386 $author$project$W$InputText$suffix( 14387 _List_fromArray( 14388 [ 14389 A2( 14390 $elm$html$Html$div, 14391 _List_fromArray( 14392 [ 14393 A2($elm$html$Html$Attributes$style, 'height', '60px') 14394 ]), 14395 _List_fromArray( 14396 [ 14397 $elm$html$Html$text('Email') 14398 ])) 14399 ])), 14400 $author$project$W$InputText$disabled(true) 14401 ]), 14402 { 14403 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 14404 cN: '' 14405 }); 14406 }), 14407 _Utils_Tuple2( 14408 'Read Only', 14409 function (_v2) { 14410 return A2( 14411 $author$project$W$InputText$view, 14412 _List_fromArray( 14413 [ 14414 $author$project$W$InputText$placeholder('Type somethingâ¦'), 14415 $author$project$W$InputText$readOnly(true) 14416 ]), 14417 { 14418 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 14419 cN: '' 14420 }); 14421 }), 14422 _Utils_Tuple2( 14423 'Password', 14424 function (_v3) { 14425 return A2( 14426 $author$project$W$InputText$view, 14427 _List_fromArray( 14428 [ 14429 $author$project$W$InputText$password, 14430 $author$project$W$InputText$placeholder('Type your passwordâ¦'), 14431 $author$project$W$InputText$suffix( 14432 _List_fromArray( 14433 [ 14434 A2( 14435 $author$project$W$Button$view, 14436 _List_fromArray( 14437 [$author$project$W$Button$small, $author$project$W$Button$invisible]), 14438 { 14439 aK: _List_fromArray( 14440 [ 14441 $elm$html$Html$text('Show') 14442 ]), 14443 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 14444 }) 14445 ])) 14446 ]), 14447 { 14448 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 14449 cN: '' 14450 }); 14451 }), 14452 _Utils_Tuple2( 14453 'Search', 14454 function (_v4) { 14455 return A2( 14456 $author$project$W$InputText$view, 14457 _List_fromArray( 14458 [ 14459 $author$project$W$InputText$search, 14460 $author$project$W$InputText$placeholder('Searchâ¦') 14461 ]), 14462 { 14463 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 14464 cN: '' 14465 }); 14466 }), 14467 _Utils_Tuple2( 14468 'Email', 14469 function (_v5) { 14470 return A2( 14471 $author$project$W$InputText$view, 14472 _List_fromArray( 14473 [ 14474 $author$project$W$InputText$email, 14475 $author$project$W$InputText$placeholder('[email protected]') 14476 ]), 14477 { 14478 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 14479 cN: '' 14480 }); 14481 }), 14482 _Utils_Tuple2( 14483 'Url', 14484 function (_v6) { 14485 return A2( 14486 $author$project$W$InputText$view, 14487 _List_fromArray( 14488 [ 14489 $author$project$W$InputText$url, 14490 $author$project$W$InputText$placeholder('https://app.site.com') 14491 ]), 14492 { 14493 cm: $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onInput'), 14494 cN: '' 14495 }); 14496 }), 14497 _Utils_Tuple2( 14498 'Validation', 14499 function (_v7) { 14500 var inputText = _v7.aG; 14501 return A2( 14502 $elm$html$Html$div, 14503 _List_Nil, 14504 _List_fromArray( 14505 [ 14506 A2( 14507 $author$project$W$InputText$viewWithValidation, 14508 _List_fromArray( 14509 [ 14510 $author$project$W$InputText$url, 14511 $author$project$W$InputText$minLength(5), 14512 $author$project$W$InputText$maxLength(15), 14513 $author$project$W$InputText$pattern('http://[a-z|\\.]+'), 14514 $author$project$W$InputText$placeholder('https://app.site.com') 14515 ]), 14516 { 14517 cm: F2( 14518 function (result, v) { 14519 return $dtwrks$elm_book$ElmBook$Actions$updateState( 14520 function (model) { 14521 var inputText_ = model.aG; 14522 return _Utils_update( 14523 model, 14524 { 14525 aG: _Utils_update( 14526 inputText_, 14527 { 14528 cL: v, 14529 bB: function () { 14530 if (!result.$) { 14531 var v_ = result.a; 14532 return _List_Nil; 14533 } else { 14534 var errors = result.a; 14535 return A2($elm$core$List$map, $author$project$W$InputText$errorToString, errors); 14536 } 14537 }() 14538 }) 14539 }); 14540 }); 14541 }), 14542 cN: inputText.cL 14543 }), 14544 $elm$core$List$isEmpty(inputText.bB) ? $elm$html$Html$text('') : A2( 14545 $author$project$W$Container$view, 14546 _List_fromArray( 14547 [$author$project$W$Container$pad_2, $author$project$W$Container$gap_2]), 14548 A2( 14549 $elm$core$List$map, 14550 function (error) { 14551 return A2( 14552 $author$project$W$Text$view, 14553 _List_Nil, 14554 _List_fromArray( 14555 [ 14556 $elm$html$Html$text(error) 14557 ])); 14558 }, 14559 inputText.bB)) 14560 ])); 14561 }) 14562 ]), 14563 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Text')); 14564var $author$project$W$InputTextArea$Attribute = $elm$core$Basics$identity; 14565var $author$project$W$InputTextArea$autogrow = function (v) { 14566 return function (attrs) { 14567 return _Utils_update( 14568 attrs, 14569 {a3: v}); 14570 }; 14571}; 14572var $author$project$W$InputTextArea$placeholder = function (v) { 14573 return function (attrs) { 14574 return _Utils_update( 14575 attrs, 14576 { 14577 gb: $elm$core$Maybe$Just(v) 14578 }); 14579 }; 14580}; 14581var $author$project$W$InputTextArea$resizable = function (v) { 14582 return function (attrs) { 14583 return _Utils_update( 14584 attrs, 14585 {cx: v}); 14586 }; 14587}; 14588var $author$project$W$InputTextArea$rows = function (v) { 14589 return function (attrs) { 14590 return _Utils_update( 14591 attrs, 14592 {cA: v}); 14593 }; 14594}; 14595var $author$project$Chapters$Form$InputTextArea$update = $dtwrks$elm_book$ElmBook$Actions$updateStateWith( 14596 F2( 14597 function (v, model) { 14598 return _Utils_update( 14599 model, 14600 {b4: v}); 14601 })); 14602var $author$project$W$InputTextArea$defaultAttrs = {bE: false, a3: false, bV: false, b$: _List_Nil, cg: $elm$core$Maybe$Nothing, ci: $elm$core$Maybe$Nothing, cj: $elm$core$Maybe$Nothing, gb: $elm$core$Maybe$Nothing, ah: false, cw: false, cx: false, cA: 4}; 14603var $author$project$W$InputTextArea$applyAttrs = function (attrs) { 14604 return A3( 14605 $elm$core$List$foldl, 14606 F2( 14607 function (_v0, a) { 14608 var fn = _v0; 14609 return fn(a); 14610 }), 14611 $author$project$W$InputTextArea$defaultAttrs, 14612 attrs); 14613}; 14614var $author$project$W$InputTextArea$baseClass = 'ew-input ew-appearance-none ew-box-border' + (' ew-relative' + (' ew-w-full ew-min-h-[48px] ew-m-0 ew-py-2 ew-px-3' + (' ew-bg-base-aux/[0.07] ew-border ew-border-solid ew-border-base-aux/30 ew-rounded ew-shadow-none' + (' ew-font-text ew-text-base ew-text-base-fg ew-placeholder-base-aux' + (' ew-transition' + (' ew-outline-none ew-ring-offset-0 ew-ring-primary-fg/50' + (' disabled:ew-bg-base-aux/[0.25] disabled:ew-border-base-aux/[0.25]' + (' focus:ew-bg-base-bg' + (' focus:ew-ring focus:ew-border-primary-fg' + ' read-only:focus:ew-bg-base-aux/10'))))))))); 14615var $elm$html$Html$Attributes$rows = function (n) { 14616 return A2( 14617 _VirtualDom_attribute, 14618 'rows', 14619 $elm$core$String$fromInt(n)); 14620}; 14621var $author$project$W$Internal$Helpers$stringIf = F3( 14622 function (v, a, b) { 14623 return v ? a : b; 14624 }); 14625var $elm$html$Html$textarea = _VirtualDom_node('textarea'); 14626var $author$project$W$InputTextArea$view = F2( 14627 function (attrs_, props) { 14628 var attrs = $author$project$W$InputTextArea$applyAttrs(attrs_); 14629 var resizeStyle = attrs.a3 ? A2($elm$html$Html$Attributes$style, 'resize', 'none') : A2( 14630 $elm$html$Html$Attributes$style, 14631 'resize', 14632 A3($author$project$W$Internal$Helpers$stringIf, attrs.cx, 'vertical', 'none')); 14633 var inputAttrs = _Utils_ap( 14634 attrs.b$, 14635 _List_fromArray( 14636 [ 14637 $elm$html$Html$Attributes$class($author$project$W$InputTextArea$baseClass), 14638 $elm$html$Html$Attributes$class('ew-pt-[10px]'), 14639 $elm$html$Html$Attributes$required(attrs.cw), 14640 $elm$html$Html$Attributes$disabled(attrs.bV), 14641 $elm$html$Html$Attributes$readonly(attrs.ah), 14642 $elm$html$Html$Attributes$autofocus(attrs.bE), 14643 $elm$html$Html$Attributes$rows(attrs.cA), 14644 resizeStyle, 14645 $elm$html$Html$Attributes$value(props.cN), 14646 $elm$html$Html$Events$onInput(props.cm), 14647 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Attributes$placeholder, attrs.gb), 14648 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onFocus, attrs.cj), 14649 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onBlur, attrs.cg), 14650 A2($author$project$W$Internal$Helpers$maybeAttr, $author$project$W$Internal$Helpers$onEnter, attrs.ci) 14651 ])); 14652 return (!attrs.a3) ? A2($elm$html$Html$textarea, inputAttrs, _List_Nil) : A2( 14653 $elm$html$Html$div, 14654 _List_fromArray( 14655 [ 14656 $elm$html$Html$Attributes$class('ew-grid ew-relative') 14657 ]), 14658 _List_fromArray( 14659 [ 14660 A2( 14661 $elm$html$Html$div, 14662 _List_fromArray( 14663 [ 14664 A2($elm$html$Html$Attributes$attribute, 'aria-hidden', 'true'), 14665 A2($elm$html$Html$Attributes$style, 'grid-area', '1 / 1 / 2 / 2'), 14666 $elm$html$Html$Attributes$class('ew-overflow-hidden ew-whitespace-pre-wrap ew-text-transparent'), 14667 $elm$html$Html$Attributes$class('ew-pt-[10px]'), 14668 $elm$html$Html$Attributes$class($author$project$W$InputTextArea$baseClass), 14669 A2($elm$html$Html$Attributes$style, 'background', 'transparent') 14670 ]), 14671 _List_fromArray( 14672 [ 14673 $elm$html$Html$text(props.cN + ' ') 14674 ])), 14675 A2( 14676 $elm$html$Html$textarea,
14677 _Utils_ap( 14678 inputAttrs, 14679 _List_fromArray( 14680 [ 14681 A2($elm$html$Html$Attributes$style, 'grid-area', '1 / 1 / 2 / 2'), 14682 $elm$html$Html$Attributes$class('ew-overflow-hidden ew-whitespace-pre-wrap') 14683 ])), 14684 _List_Nil) 14685 ])); 14686 }); 14687var $author$project$Chapters$Form$InputTextArea$chapter_ = A2( 14688 $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList, 14689 _List_fromArray( 14690 [ 14691 _Utils_Tuple2( 14692 'Default', 14693 function (_v0) { 14694 var inputTextArea = _v0.b4; 14695 return A2( 14696 $author$project$W$InputTextArea$view, 14697 _List_fromArray( 14698 [ 14699 $author$project$W$InputTextArea$placeholder('Type somethingâ¦'), 14700 $author$project$W$InputTextArea$rows(4) 14701 ]), 14702 {cm: $author$project$Chapters$Form$InputTextArea$update, cN: inputTextArea}); 14703 }), 14704 _Utils_Tuple2( 14705 'Resizable', 14706 function (_v1) { 14707 var inputTextArea = _v1.b4; 14708 return A2( 14709 $author$project$W$InputTextArea$view, 14710 _List_fromArray( 14711 [ 14712 $author$project$W$InputTextArea$placeholder('Type somethingâ¦'), 14713 $author$project$W$InputTextArea$rows(4), 14714 $author$project$W$InputTextArea$resizable(true) 14715 ]), 14716 {cm: $author$project$Chapters$Form$InputTextArea$update, cN: inputTextArea}); 14717 }), 14718 _Utils_Tuple2( 14719 'Autogrow', 14720 function (_v2) { 14721 var inputTextArea = _v2.b4; 14722 return A2( 14723 $author$project$W$InputTextArea$view, 14724 _List_fromArray( 14725 [ 14726 $author$project$W$InputTextArea$placeholder('Type somethingâ¦'), 14727 $author$project$W$InputTextArea$rows(1), 14728 $author$project$W$InputTextArea$autogrow(true) 14729 ]), 14730 {cm: $author$project$Chapters$Form$InputTextArea$update, cN: inputTextArea}); 14731 }) 14732 ]), 14733 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input TextArea')); 14734var $author$project$W$InputTime$Value = F3( 14735 function (a, b, c) { 14736 return {$: 0, a: a, b: b, c: c}; 14737 }); 14738var $author$project$W$InputTime$valueFromTime = F2( 14739 function (timeZone, value) { 14740 var seconds = A3( 14741 $elm$core$String$padLeft, 14742 2, 14743 '0', 14744 $elm$core$String$fromInt( 14745 A2($elm$time$Time$toSecond, timeZone, value))); 14746 var minute = A3( 14747 $elm$core$String$padLeft, 14748 2, 14749 '0', 14750 $elm$core$String$fromInt( 14751 A2($elm$time$Time$toMinute, timeZone, value))); 14752 var hour = A3( 14753 $elm$core$String$padLeft, 14754 2, 14755 '0', 14756 $elm$core$String$fromInt( 14757 A2($elm$time$Time$toHour, timeZone, value))); 14758 return hour + (':' + (minute + (':' + seconds))); 14759 }); 14760var $author$project$W$InputTime$init = F2( 14761 function (timeZone, value) { 14762 if (!value.$) { 14763 var v = value.a; 14764 return A3( 14765 $author$project$W$InputTime$Value, 14766 A2($author$project$W$InputTime$valueFromTime, timeZone, v), 14767 timeZone, 14768 $elm$core$Maybe$Just(v)); 14769 } else { 14770 return A3($author$project$W$InputTime$Value, '00:00:00', timeZone, $elm$core$Maybe$Nothing); 14771 } 14772 }); 14773var $author$project$W$InputTime$toTime = function (_v0) { 14774 var v = _v0.c; 14775 return v; 14776}; 14777var $author$project$W$InputTime$toTimeZone = function (_v0) { 14778 var v = _v0.b; 14779 return v; 14780}; 14781var $author$project$Chapters$Form$InputTime$logValue = function (value) { 14782 var _v0 = $author$project$W$InputTime$toTime(value); 14783 if (!_v0.$) { 14784 var v_ = _v0.a; 14785 return $dtwrks$elm_book$ElmBook$Actions$logAction( 14786 'Just ' + ($elm$core$String$fromInt( 14787 A2( 14788 $elm$time$Time$toHour, 14789 $author$project$W$InputTime$toTimeZone(value), 14790 v_)) + (':' + ($elm$core$String$fromInt( 14791 A2( 14792 $elm$time$Time$toMinute, 14793 $author$project$W$InputTime$toTimeZone(value), 14794 v_)) + (':' + $elm$core$String$fromInt( 14795 A2( 14796 $elm$time$Time$toSecond, 14797 $author$project$W$InputTime$toTimeZone(value), 14798 v_))))))); 14799 } else { 14800 return $dtwrks$elm_book$ElmBook$Actions$logAction('Nothing'); 14801 } 14802}; 14803var $author$project$W$InputTime$Attribute = $elm$core$Basics$identity; 14804var $author$project$W$InputTime$max = function (v) { 14805 return function (attrs) { 14806 return _Utils_update( 14807 attrs, 14808 { 14809 fS: $elm$core$Maybe$Just(v) 14810 }); 14811 }; 14812}; 14813var $author$project$W$InputTime$min = function (v) { 14814 return function (attrs) { 14815 return _Utils_update( 14816 attrs, 14817 { 14818 fX: $elm$core$Maybe$Just(v) 14819 }); 14820 }; 14821}; 14822var $author$project$W$InputTime$step = function (v) { 14823 return function (attrs) { 14824 return _Utils_update( 14825 attrs, 14826 { 14827 gq: $elm$core$Maybe$Just(v) 14828 }); 14829 }; 14830}; 14831var $author$project$W$InputTime$defaultAttrs = {bE: false, bV: false, b$: _List_Nil, fS: $elm$core$Maybe$Nothing, fX: $elm$core$Maybe$Nothing, cg: $elm$core$Maybe$Nothing, ci: $elm$core$Maybe$Nothing, cj: $elm$core$Maybe$Nothing, bk: $elm$core$Maybe$Nothing, ah: false, cw: false, aV: false, gq: $elm$core$Maybe$Nothing, bv: $elm$core$Maybe$Nothing}; 14832var $author$project$W$InputTime$applyAttrs = function (attrs) { 14833 return A3( 14834 $elm$core$List$foldl, 14835 F2( 14836 function (_v0, a) { 14837 var fn = _v0; 14838 return fn(a); 14839 }), 14840 $author$project$W$InputTime$defaultAttrs, 14841 attrs); 14842}; 14843var $author$project$W$InputTime$baseAttrs = F3( 14844 function (attrs, timeZone, value) { 14845 return _Utils_ap( 14846 attrs.b$, 14847 _List_fromArray( 14848 [ 14849 $elm$html$Html$Attributes$type_('time'), 14850 $elm$html$Html$Attributes$class( 14851 $author$project$W$Internal$Input$baseClass(attrs.aV)), 14852 $elm$html$Html$Attributes$required(attrs.cw), 14853 $elm$html$Html$Attributes$disabled(attrs.bV), 14854 $elm$html$Html$Attributes$readonly(attrs.ah), 14855 $elm$html$Html$Attributes$autofocus(attrs.bE), 14856 A3( 14857 $author$project$W$Internal$Helpers$attrIf, 14858 attrs.ah, 14859 $elm$html$Html$Attributes$attribute('aria-readonly'), 14860 'true'), 14861 A3( 14862 $author$project$W$Internal$Helpers$attrIf, 14863 attrs.bV, 14864 $elm$html$Html$Attributes$attribute('aria-disabled'), 14865 'true'), 14866 A2( 14867 $author$project$W$Internal$Helpers$maybeAttr, 14868 $elm$html$Html$Attributes$min, 14869 A2( 14870 $elm$core$Maybe$map, 14871 $author$project$W$InputTime$valueFromTime(timeZone), 14872 attrs.fX)), 14873 A2( 14874 $author$project$W$Internal$Helpers$maybeAttr, 14875 $elm$html$Html$Attributes$max, 14876 A2( 14877 $elm$core$Maybe$map, 14878 $author$project$W$InputTime$valueFromTime(timeZone), 14879 attrs.fS)), 14880 A2( 14881 $author$project$W$Internal$Helpers$maybeAttr, 14882 $elm$html$Html$Attributes$step, 14883 A2($elm$core$Maybe$map, $elm$core$String$fromInt, attrs.gq)), 14884 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onFocus, attrs.cj), 14885 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onBlur, attrs.cg), 14886 A2($author$project$W$Internal$Helpers$maybeAttr, $author$project$W$Internal$Helpers$onEnter, attrs.ci), 14887 $elm$html$Html$Attributes$value(value) 14888 ])); 14889 }); 14890var $author$project$W$Internal$Icons$clock = function (props) { 14891 return A2( 14892 $elm$svg$Svg$svg, 14893 _List_fromArray( 14894 [ 14895 $elm$svg$Svg$Attributes$width( 14896 $elm$core$String$fromFloat(props.n) + 'px'), 14897 $elm$svg$Svg$Attributes$height( 14898 $elm$core$String$fromFloat(props.n) + 'px'), 14899 $elm$svg$Svg$Attributes$viewBox('0 0 24 24') 14900 ]), 14901 _List_fromArray( 14902 [ 14903 A2( 14904 $elm$svg$Svg$path, 14905 _List_fromArray( 14906 [ 14907 $elm$svg$Svg$Attributes$fill('none'), 14908 $elm$svg$Svg$Attributes$d('M0 0h24v24H0z') 14909 ]), 14910 _List_Nil), 14911 A2( 14912 $elm$svg$Svg$path, 14913 _List_fromArray( 14914 [ 14915 $elm$svg$Svg$Attributes$d('M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm1-8h4v2h-6V7h2v5z'), 14916 $elm$svg$Svg$Attributes$fill('currentColor') 14917 ]), 14918 _List_Nil) 14919 ])); 14920}; 14921var $author$project$W$InputTime$timeFromValue = F2( 14922 function (_v0, valueString) { 14923 var timeZone = _v0.b; 14924 var currentValue = _v0.c; 14925 var seconds = F2( 14926 function (s1, s2) { 14927 return A2( 14928 $elm$core$Maybe$withDefault, 14929 0, 14930 A2( 14931 $elm$core$Maybe$map, 14932 $elm$core$Basics$mul(1000), 14933 $elm$core$String$toInt( 14934 _Utils_ap(s1, s2)))); 14935 }); 14936 var minutes = F2( 14937 function (m1, m2) { 14938 return A2( 14939 $elm$core$Maybe$withDefault, 14940 0, 14941 A2( 14942 $elm$core$Maybe$map, 14943 $elm$core$Basics$mul(60 * 1000), 14944 $elm$core$String$toInt( 14945 _Utils_ap(m1, m2)))); 14946 }); 14947 var hours = F2( 14948 function (h1, h2) { 14949 return A2( 14950 $elm$core$Maybe$withDefault, 14951 0, 14952 A2( 14953 $elm$core$Maybe$map, 14954 $elm$core$Basics$mul((60 * 60) * 1000), 14955 $elm$core$String$toInt( 14956 _Utils_ap(h1, h2)))); 14957 }); 14958 var currentStartOfDay = A2( 14959 $elm$core$Maybe$withDefault, 14960 0, 14961 A2( 14962 $elm$core$Maybe$map, 14963 $elm$time$Time$posixToMillis, 14964 A2( 14965 $elm$core$Maybe$map, 14966 A2($justinmimbs$time_extra$Time$Extra$floor, 11, timeZone), 14967 currentValue))); 14968 var newTime = function () { 14969 var _v1 = A2($elm$core$String$split, '', valueString); 14970 _v1$2: 14971 while (true) { 14972 if (((((_v1.b && _v1.b.b) && _v1.b.b.b) && (_v1.b.b.a === ':')) && _v1.b.b.b.b) && _v1.b.b.b.b.b) { 14973 if (!_v1.b.b.b.b.b.b) { 14974 var h1 = _v1.a; 14975 var _v2 = _v1.b; 14976 var h2 = _v2.a; 14977 var _v3 = _v2.b; 14978 var _v4 = _v3.b; 14979 var m1 = _v4.a; 14980 var _v5 = _v4.b; 14981 var m2 = _v5.a; 14982 return $elm$core$Maybe$Just( 14983 $elm$time$Time$millisToPosix( 14984 (A2(hours, h1, h2) + A2(minutes, m1, m2)) + currentStartOfDay)); 14985 } else { 14986 if ((((_v1.b.b.b.b.b.a === ':') && _v1.b.b.b.b.b.b.b) && _v1.b.b.b.b.b.b.b.b) && (!_v1.b.b.b.b.b.b.b.b.b)) { 14987 var h1 = _v1.a; 14988 var _v6 = _v1.b; 14989 var h2 = _v6.a; 14990 var _v7 = _v6.b; 14991 var _v8 = _v7.b; 14992 var m1 = _v8.a; 14993 var _v9 = _v8.b; 14994 var m2 = _v9.a; 14995 var _v10 = _v9.b; 14996 var _v11 = _v10.b; 14997 var s1 = _v11.a; 14998 var _v12 = _v11.b; 14999 var s2 = _v12.a; 15000 return $elm$core$Maybe$Just( 15001 $elm$time$Time$millisToPosix( 15002 ((A2(hours, h1, h2) + A2(minutes, m1, m2)) + A2(seconds, s1, s2)) + currentStartOfDay)); 15003 } else { 15004 break _v1$2; 15005 } 15006 } 15007 } else { 15008 break _v1$2; 15009 } 15010 } 15011 return $elm$core$Maybe$Nothing; 15012 }(); 15013 return A3($author$project$W$InputTime$Value, valueString, timeZone, newTime); 15014 }); 15015var $author$project$W$InputTime$toString = function (_v0) { 15016 var v = _v0.a; 15017 return v; 15018}; 15019var $author$project$W$InputTime$view = F2( 15020 function (attrs_, props) { 15021 var attrs = $author$project$W$InputTime$applyAttrs(attrs_); 15022 return A3( 15023 $author$project$W$Internal$Input$viewWithIcon, 15024 { 15025 bV: attrs.bV, 15026 fQ: $elm$core$Maybe$Nothing, 15027 fR: $author$project$W$InputTime$toString(props.cN), 15028 bk: attrs.bk, 15029 ah: attrs.ah, 15030 aV: attrs.aV, 15031 bv: attrs.bv 15032 }, 15033 $author$project$W$Internal$Icons$clock( 15034 {n: 24}), 15035 A2( 15036 $elm$html$Html$input, 15037 A2( 15038 $elm$core$List$cons, 15039 $elm$html$Html$Events$onInput( 15040 A2( 15041 $elm$core$Basics$composeL, 15042 props.cm, 15043 $author$project$W$InputTime$timeFromValue(props.cN))), 15044 A3( 15045 $author$project$W$InputTime$baseAttrs, 15046 attrs, 15047 $author$project$W$InputTime$toTimeZone(props.cN), 15048 $author$project$W$InputTime$toString(props.cN))), 15049 _List_Nil)); 15050 }); 15051var $author$project$W$InputTime$StepMismatch = F2( 15052 function (a, b) { 15053 return {$: 2, a: a, b: b}; 15054 }); 15055var $author$project$W$InputTime$TooHigh = F2( 15056 function (a, b) { 15057 return {$: 1, a: a, b: b}; 15058 }); 15059var $author$project$W$InputTime$TooLow = F2( 15060 function (a, b) { 15061 return {$: 0, a: a, b: b}; 15062 }); 15063var $author$project$W$InputTime$ValueMissing = function (a) { 15064 return {$: 3, a: a}; 15065}; 15066var $author$project$W$Internal$Helpers$nearestInts = F2( 15067 function (v, step) { 15068 var lower = ((v / step) | 0) * step; 15069 return _Utils_Tuple2(lower, lower + step); 15070 }); 15071var $author$project$W$InputTime$valueFromSeconds = function (seconds) { 15072 var hours = (seconds / (60 * 60)) | 0; 15073 var minutes = ((seconds - ((hours * 60) * 60)) / 60) | 0; 15074 var minuteString = A3( 15075 $elm$core$String$padLeft, 15076 2, 15077 '0', 15078 $elm$core$String$fromInt(minutes)); 15079 var seconds_ = (seconds - ((hours * 60) * 60)) - (minutes * 60); 15080 var secondString = A3( 15081 $elm$core$String$padLeft, 15082 2, 15083 '0', 15084 $elm$core$String$fromInt(seconds_)); 15085 var hourString = A3( 15086 $elm$core$String$padLeft, 15087 2, 15088 '0', 15089 $elm$core$String$fromInt(hours)); 15090 return hourString + (':' + (minuteString + (':' + secondString))); 15091}; 15092var $author$project$W$InputTime$nearestTimes = F3( 15093 function (timeZone, time, step_) { 15094 var minutesInSeconds = A2($elm$time$Time$toMinute, timeZone, time) * 60; 15095 var hoursInSeconds = (A2($elm$time$Time$toHour, timeZone, time) * 60) * 60; 15096 var seconds = (A2($elm$time$Time$toSecond, timeZone, time) + minutesInSeconds) + hoursInSeconds; 15097 return A3( 15098 $elm$core$Tuple$mapBoth, 15099 $author$project$W$InputTime$valueFromSeconds, 15100 $author$project$W$InputTime$valueFromSeconds, 15101 A2($author$project$W$Internal$Helpers$nearestInts, seconds, step_)); 15102 }); 15103var $author$project$W$InputTime$viewWithValidation = F2( 15104 function (attrs_, props) { 15105 var attrs = $author$project$W$InputTime$applyAttrs(attrs_); 15106 return A3( 15107 $author$project$W$Internal$Input$viewWithIcon, 15108 { 15109 bV: attrs.bV, 15110 fQ: $elm$core$Maybe$Nothing, 15111 fR: $author$project$W$InputTime$toString(props.cN), 15112 bk: attrs.bk, 15113 ah: attrs.ah, 15114 aV: attrs.aV, 15115 bv: attrs.bv 15116 }, 15117 $author$project$W$Internal$Icons$clock( 15118 {n: 24}), 15119 A2( 15120 $elm$html$Html$input, 15121 A2( 15122 $elm$core$List$cons, 15123 A2( 15124 $elm$html$Html$Events$on, 15125 'input', 15126 A7( 15127 $elm$json$Json$Decode$map6, 15128 F6( 15129 function (value, valid, rangeOverflow, rangeUnderflow, stepMismatch, valueMissing) { 15130 var newValue = A2($author$project$W$InputTime$timeFromValue, props.cN, value); 15131 return valid ? A2( 15132 props.cm, 15133 $elm$core$Result$Ok( 15134 $author$project$W$InputTime$toTime(newValue)), 15135 newValue) : function (xs) { 15136 return A2( 15137 props.cm, 15138 $elm$core$Result$Err(xs), 15139 newValue); 15140 }( 15141 A2( 15142 $elm$core$List$filterMap, 15143 $elm$core$Basics$identity, 15144 _List_fromArray( 15145 [ 15146 A2( 15147 $author$project$W$Internal$Helpers$keepIf, 15148 valueMissing, 15149 $elm$core$Maybe$Just( 15150 $author$project$W$InputTime$ValueMissing('Please fill out this field.'))), 15151 A2( 15152 $elm$core$Maybe$map, 15153 function (min_) { 15154 var timeString = A2( 15155 $author$project$W$InputTime$valueFromTime, 15156 $author$project$W$InputTime$toTimeZone(props.cN), 15157 min_); 15158 return A2($author$project$W$InputTime$TooLow, min_, 'Value must be ' + (timeString + ' or later.')); 15159 }, 15160 A2($author$project$W$Internal$Helpers$keepIf, rangeUnderflow, attrs.fX)), 15161 A2( 15162 $elm$core$Maybe$map, 15163 function (max_) { 15164 var timeString = A2( 15165 $author$project$W$InputTime$valueFromTime, 15166 $author$project$W$InputTime$toTimeZone(props.cN), 15167 max_); 15168 return A2($author$project$W$InputTime$TooHigh, max_, 'Value must be ' + (timeString + ' or later.')); 15169 }, 15170 A2($author$project$W$Internal$Helpers$keepIf, rangeOverflow, attrs.fS)), 15171 A3( 15172 $elm$core$Maybe$map2, 15173 F2( 15174 function (time, step_) { 15175 var _v0 = A3( 15176 $author$project$W$InputTime$nearestTimes, 15177 $author$project$W$InputTime$toTimeZone(props.cN), 15178 time, 15179 step_); 15180 var f = _v0.a; 15181 var c = _v0.b; 15182 return A2($author$project$W$InputTime$StepMismatch, step_, 'Please enter a valid value. The two nearest valid values are ' + (f + (' and ' + (c + '.')))); 15183 }), 15184 $author$project$W$InputTime$toTime(props.cN), 15185 A2($author$project$W$Internal$Helpers$keepIf, stepMismatch, attrs.gq)) 15186 ]))); 15187 }), 15188 A2( 15189 $elm$json$Json$Decode$at, 15190 _List_fromArray( 15191 ['target', 'value']), 15192 $elm$json$Json$Decode$string), 15193 A2( 15194 $elm$json$Json$Decode$at, 15195 _List_fromArray( 15196 ['target', 'validity', 'valid']), 15197 $elm$json$Json$Decode$bool), 15198 A2( 15199 $elm$json$Json$Decode$at, 15200 _List_fromArray( 15201 ['target', 'validity', 'rangeOverflow']), 15202 $elm$json$Json$Decode$bool), 15203 A2( 15204 $elm$json$Json$Decode$at, 15205 _List_fromArray( 15206 ['target', 'validity', 'rangeUnderflow']), 15207 $elm$json$Jso
15207n$Decode$bool), 15208 A2( 15209 $elm$json$Json$Decode$at, 15210 _List_fromArray( 15211 ['target', 'validity', 'stepMismatch']), 15212 $elm$json$Json$Decode$bool), 15213 A2( 15214 $elm$json$Json$Decode$at, 15215 _List_fromArray( 15216 ['target', 'validity', 'valueMissing']), 15217 $elm$json$Json$Decode$bool))), 15218 A3( 15219 $author$project$W$InputTime$baseAttrs, 15220 attrs, 15221 $author$project$W$InputTime$toTimeZone(props.cN), 15222 $author$project$W$InputTime$toString(props.cN))), 15223 _List_Nil)); 15224 }); 15225var $author$project$Chapters$Form$InputTime$chapter_ = A2( 15226 $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList, 15227 '\n`InputTime` receives an `Time.Posix` and returns a `Time.Posix`. We can retrieve specifics like hour, minutes and hours using the `Time` package.\n\nLet\'s say we just got the current timestamp using the `Time.now` Cmd. We can just pass it to the input time directly and select a new time based on the same day.\n\nBy default this component uses `Time.utc` so if we\'re in a different zone, we should pass in the optional attribute `InputTime.timeZone`.\n', 15228 A2( 15229 $dtwrks$elm_book$ElmBook$Chapter$withComponentList, 15230 _List_fromArray( 15231 [ 15232 _Utils_Tuple2( 15233 'Default', 15234 A2( 15235 $author$project$W$InputTime$view, 15236 _List_Nil, 15237 { 15238 cm: $author$project$Chapters$Form$InputTime$logValue, 15239 cN: A2($author$project$W$InputTime$init, $elm$time$Time$utc, $elm$core$Maybe$Nothing) 15240 })), 15241 _Utils_Tuple2( 15242 'Custom Timezone (GMT-3)', 15243 function () { 15244 var timeZone = A2($elm$time$Time$customZone, (-3) * 60, _List_Nil); 15245 return A2( 15246 $author$project$W$InputTime$view, 15247 _List_Nil, 15248 { 15249 cm: $author$project$Chapters$Form$InputTime$logValue, 15250 cN: A2( 15251 $author$project$W$InputTime$init, 15252 $elm$time$Time$utc, 15253 $elm$core$Maybe$Just( 15254 $elm$time$Time$millisToPosix(1651693959717))) 15255 }); 15256 }()), 15257 _Utils_Tuple2( 15258 'Validation', 15259 A2( 15260 $author$project$W$InputTime$viewWithValidation, 15261 _List_fromArray( 15262 [ 15263 $author$project$W$InputTime$step(15), 15264 $author$project$W$InputTime$min( 15265 $elm$time$Time$millisToPosix(1651693959717)), 15266 $author$project$W$InputTime$max( 15267 $elm$time$Time$millisToPosix(1671484833575)) 15268 ]), 15269 { 15270 cm: function (_v0) { 15271 return $author$project$Chapters$Form$InputTime$logValue; 15272 }, 15273 cN: A2( 15274 $author$project$W$InputTime$init, 15275 $elm$time$Time$utc, 15276 $elm$core$Maybe$Just( 15277 $elm$time$Time$millisToPosix(1651693959717))) 15278 })) 15279 ]), 15280 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Time'))); 15281var $author$project$W$Badge$Attribute = $elm$core$Basics$identity; 15282var $author$project$W$Badge$background = function (v) { 15283 return function (attrs) { 15284 return _Utils_update( 15285 attrs, 15286 {bF: v}); 15287 }; 15288}; 15289var $author$project$W$Badge$color = function (v) { 15290 return function (attrs) { 15291 return _Utils_update( 15292 attrs, 15293 {U: v}); 15294 }; 15295}; 15296var $author$project$W$Badge$neutral = function (attrs) { 15297 return _Utils_update( 15298 attrs, 15299 {bF: $uncover_co$elm_theme$Theme$neutralBackground, U: $uncover_co$elm_theme$Theme$neutralAux}); 15300}; 15301var $author$project$W$Badge$primary = function (attrs) { 15302 return _Utils_update( 15303 attrs, 15304 {bF: $uncover_co$elm_theme$Theme$primaryBackground, U: $uncover_co$elm_theme$Theme$primaryAux}); 15305}; 15306var $author$project$W$Badge$secondary = function (attrs) { 15307 return _Utils_update( 15308 attrs, 15309 {bF: $uncover_co$elm_theme$Theme$secondaryBackground, U: $uncover_co$elm_theme$Theme$secondaryAux}); 15310}; 15311var $author$project$W$Badge$small = function (attrs) { 15312 return _Utils_update( 15313 attrs, 15314 {aV: true}); 15315}; 15316var $author$project$W$Badge$success = function (attrs) { 15317 return _Utils_update( 15318 attrs, 15319 {bF: $uncover_co$elm_theme$Theme$successBackground, U: $uncover_co$elm_theme$Theme$successAux}); 15320}; 15321var $author$project$W$Badge$defaultAttrs = {bF: $uncover_co$elm_theme$Theme$dangerBackground, U: $uncover_co$elm_theme$Theme$dangerAux, b$: _List_Nil, aV: false}; 15322var $author$project$W$Badge$applyAttrs = function (attrs) { 15323 return A3( 15324 $elm$core$List$foldl, 15325 F2( 15326 function (_v0, a) { 15327 var fn = _v0; 15328 return fn(a); 15329 }), 15330 $author$project$W$Badge$defaultAttrs, 15331 attrs); 15332}; 15333var $author$project$W$Badge$baseAttrs = function (attrs) { 15334 return _Utils_ap( 15335 attrs.b$, 15336 _List_fromArray( 15337 [ 15338 $elm$html$Html$Attributes$class('ew-rounded-full ew-flex ew-items-center ew-justify-center'), 15339 $elm$html$Html$Attributes$class('ew-leading-none ew-font-semibold ew-font-text'), 15340 $elm$html$Html$Attributes$class('ew-shadow'), 15341 $elm$html$Html$Attributes$classList( 15342 _List_fromArray( 15343 [ 15344 _Utils_Tuple2('ew-px-2.5 ew-h-6 ew-text-sm', !attrs.aV), 15345 _Utils_Tuple2('ew-px-1.5 ew-h-4 ew-text-xs', attrs.aV) 15346 ])), 15347 $uncover_co$elm_theme$Theme$stylesIf( 15348 _List_fromArray( 15349 [ 15350 _Utils_Tuple3('color', attrs.U, true), 15351 _Utils_Tuple3('background', attrs.bF, true), 15352 _Utils_Tuple3('min-width', '5px', attrs.aV) 15353 ])) 15354 ])); 15355}; 15356var $author$project$W$Badge$view = F2( 15357 function (attrs_, props) { 15358 var badge = function () { 15359 var _v0 = props.c$; 15360 if (!_v0.$) { 15361 var content = _v0.a; 15362 var attrs = $author$project$W$Badge$applyAttrs(attrs_); 15363 return A2( 15364 $elm$html$Html$span, 15365 _Utils_ap( 15366 $author$project$W$Badge$baseAttrs(attrs), 15367 _List_fromArray( 15368 [ 15369 $elm$html$Html$Attributes$class('ew-absolute ew-bottom-full ew-left-full'), 15370 $elm$html$Html$Attributes$class('-ew-mb-2.5 -ew-ml-2.5'), 15371 $elm$html$Html$Attributes$class('ew-animate-fade-slide') 15372 ])), 15373 content); 15374 } else { 15375 return $elm$html$Html$text(''); 15376 } 15377 }(); 15378 return A2( 15379 $elm$html$Html$span, 15380 _List_Nil, 15381 _List_fromArray( 15382 [ 15383 A2( 15384 $elm$html$Html$span, 15385 _List_fromArray( 15386 [ 15387 $elm$html$Html$Attributes$class('ew-relative') 15388 ]), 15389 A2($elm$core$List$cons, badge, props.cY)) 15390 ])); 15391 }); 15392var $author$project$W$Badge$viewInline = F2( 15393 function (attrs_, value) { 15394 var attrs = $author$project$W$Badge$applyAttrs(attrs_); 15395 return A2( 15396 $elm$html$Html$span, 15397 $author$project$W$Badge$baseAttrs(attrs), 15398 value); 15399 }); 15400var $author$project$W$Badge$warning = function (attrs) { 15401 return _Utils_update( 15402 attrs,
15403 {bF: $uncover_co$elm_theme$Theme$warningBackground, U: $uncover_co$elm_theme$Theme$warningAux}); 15404}; 15405var $author$project$Chapters$Information$Badge$chapter_ = A2( 15406 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 15407 _List_fromArray( 15408 [ 15409 _Utils_Tuple2( 15410 'Default', 15411 $author$project$UI$vSpacer( 15412 _List_fromArray( 15413 [ 15414 A2( 15415 $author$project$W$Badge$view, 15416 _List_Nil, 15417 { 15418 cY: _List_fromArray( 15419 [ 15420 $elm$html$Html$text('Hello!') 15421 ]), 15422 c$: $elm$core$Maybe$Just( 15423 _List_fromArray( 15424 [ 15425 $elm$html$Html$text('!') 15426 ])) 15427 }), 15428 A2( 15429 $author$project$W$Badge$view, 15430 _List_fromArray( 15431 [ 15432 $author$project$W$Badge$background('purple'), 15433 $author$project$W$Badge$color('white') 15434 ]), 15435 { 15436 cY: _List_fromArray( 15437 [ 15438 $elm$html$Html$text('Hello!') 15439 ]), 15440 c$: $elm$core$Maybe$Just( 15441 _List_fromArray( 15442 [ 15443 $elm$html$Html$text('999') 15444 ])) 15445 }) 15446 ]))), 15447 _Utils_Tuple2( 15448 'Inline', 15449 $author$project$UI$hSpacer( 15450 _List_fromArray( 15451 [ 15452 A2( 15453 $author$project$W$Badge$viewInline, 15454 _List_Nil, 15455 _List_fromArray( 15456 [ 15457 $elm$html$Html$text('!') 15458 ])), 15459 A2( 15460 $author$project$W$Badge$viewInline, 15461 _List_fromArray( 15462 [$author$project$W$Badge$neutral]), 15463 _List_fromArray( 15464 [ 15465 $elm$html$Html$text('999') 15466 ])), 15467 A2( 15468 $author$project$W$Badge$viewInline, 15469 _List_fromArray( 15470 [$author$project$W$Badge$primary]), 15471 _List_fromArray( 15472 [ 15473 $elm$html$Html$text('999') 15474 ])), 15475 A2( 15476 $author$project$W$Badge$viewInline, 15477 _List_fromArray( 15478 [$author$project$W$Badge$secondary]), 15479 _List_fromArray( 15480 [ 15481 $elm$html$Html$text('999') 15482 ])), 15483 A2( 15484 $author$project$W$Badge$viewInline, 15485 _List_fromArray( 15486 [$author$project$W$Badge$success]), 15487 _List_fromArray( 15488 [ 15489 $elm$html$Html$text('999') 15490 ])), 15491 A2( 15492 $author$project$W$Badge$viewInline, 15493 _List_fromArray( 15494 [$author$project$W$Badge$warning]), 15495 _List_fromArray( 15496 [ 15497 $elm$html$Html$text('999') 15498 ])), 15499 A2( 15500 $author$project$W$Badge$viewInline, 15501 _List_fromArray( 15502 [ 15503 $author$project$W$Badge$background('purple'), 15504 $author$project$W$Badge$color('white') 15505 ]), 15506 _List_fromArray( 15507 [ 15508 $elm$html$Html$text('999') 15509 ])) 15510 ]))), 15511 _Utils_Tuple2( 15512 'Small', 15513 $author$project$UI$vSpacer( 15514 _List_fromArray( 15515 [ 15516 A2( 15517 $author$project$W$Badge$view, 15518 _List_fromArray( 15519 [$author$project$W$Badge$small]), 15520 { 15521 cY: _List_fromArray( 15522 [ 15523 $elm$html$Html$text('Hello!') 15524 ]), 15525 c$: $elm$core$Maybe$Just( 15526 _List_fromArray( 15527 [ 15528 $elm$html$Html$text('!') 15529 ])) 15530 }), 15531 A2( 15532 $author$project$W$Badge$viewInline, 15533 _List_fromArray( 15534 [$author$project$W$Badge$secondary]), 15535 _List_fromArray( 15536 [ 15537 $elm$html$Html$text('999') 15538 ])) 15539 ]))), 15540 _Utils_Tuple2( 15541 'Inline + Small', 15542 $author$project$UI$hSpacer( 15543 _List_fromArray( 15544 [ 15545 A2( 15546 $author$project$W$Badge$viewInline, 15547 _List_fromArray( 15548 [$author$project$W$Badge$small]), 15549 _List_fromArray( 15550 [ 15551 $elm$html$Html$text('!') 15552 ])), 15553 A2( 15554 $author$project$W$Badge$viewInline, 15555 _List_fromArray( 15556 [$author$project$W$Badge$small, $author$project$W$Badge$neutral]), 15557 _List_fromArray( 15558 [ 15559 $elm$html$Html$text('999') 15560 ])), 15561 A2( 15562 $author$project$W$Badge$viewInline, 15563 _List_fromArray( 15564 [$author$project$W$Badge$small, $author$project$W$Badge$primary]), 15565 _List_fromArray( 15566 [ 15567 $elm$html$Html$text('999') 15568 ])), 15569 A2( 15570 $author$project$W$Badge$viewInline, 15571 _List_fromArray( 15572 [$author$project$W$Badge$small, $author$project$W$Badge$secondary]), 15573 _List_fromArray( 15574 [ 15575 $elm$html$Html$text('999') 15576 ])), 15577 A2( 15578 $author$project$W$Badge$viewInline, 15579 _List_fromArray( 15580 [$author$project$W$Badge$small, $author$project$W$Badge$success]), 15581 _List_fromArray( 15582 [ 15583 $elm$html$Html$text('999') 15584 ])), 15585 A2( 15586 $author$project$W$Badge$viewInline, 15587 _List_fromArray( 15588 [$author$project$W$Badge$small, $author$project$W$Badge$warning]), 15589 _List_fromArray( 15590 [ 15591 $elm$html$Html$text('999') 15592 ])), 15593 A2( 15594 $author$project$W$Badge$viewInline, 15595 _List_fromArray( 15596 [ 15597 $author$project$W$Badge$small, 15598 $author$project$W$Badge$background('purple'), 15599 $author$project$W$Badge$color('white') 15600 ]), 15601 _List_fromArray( 15602 [ 15603 $elm$html$Html$text('999') 15604 ])) 15605 ]))) 15606 ]), 15607 $dtwrks$elm_book$ElmBook$Chapter$chapter('Badge')); 15608var $author$project$W$DataRow$Attribute = $elm$core$Basics$identity; 15609var $author$project$W$DataRow$footer = function (v) { 15610 return function (attrs) { 15611 return _Utils_update( 15612 attrs, 15613 { 15614 fr: $elm$core$Maybe$Just(v) 15615 }); 15616 }; 15617}; 15618var $author$project$W$DataRow$gap = function (v) { 15619 return function (attrs) { 15620 return _Utils_update( 15621 attrs, 15622 {a7: v}); 15623 }; 15624}; 15625var $author$project$W$DataRow$header = function (v) { 15626 return function (attrs) { 15627 return _Utils_update( 15628 attrs, 15629 { 15630 fz: $elm$core$Maybe$Just(v) 15631 }); 15632 }; 15633}; 15634var $author$project$W$DataRow$href = function (v) { 15635 return function (attrs) { 15636 return _Utils_update( 15637 attrs, 15638 { 15639 ei: $elm$core$Maybe$Just(v) 15640 }); 15641 }; 15642}; 15643var $author$project$W$DataRow$innerGap = function (v) { 15644 return function (attrs) { 15645 return _Utils_update( 15646 attrs, 15647 {aE: v}); 15648 }; 15649}; 15650var $author$project$W$DataRow$left = function (v) { 15651 return function (attrs) { 15652 return _Utils_update( 15653 attrs, 15654 { 15655 ew: $elm$core$Maybe$Just(v) 15656 }); 15657 }; 15658};
15659var $author$project$W$DataRow$noBackground = function (attrs) { 15660 return _Utils_update( 15661 attrs, 15662 {cd: true}); 15663}; 15664var $author$project$W$DataRow$noLeftClick = function (attrs) { 15665 return _Utils_update( 15666 attrs, 15667 {bg: true}); 15668}; 15669var $author$project$W$DataRow$onClick = function (v) { 15670 return function (attrs) { 15671 return _Utils_update( 15672 attrs, 15673 { 15674 s: $elm$core$Maybe$Just(v) 15675 }); 15676 }; 15677}; 15678var $author$project$W$DataRow$openNewTab = function (attrs) { 15679 return _Utils_update( 15680 attrs, 15681 {cp: true}); 15682}; 15683var $author$project$W$DataRow$paddingX = function (v) { 15684 return function (attrs) { 15685 return _Utils_update( 15686 attrs, 15687 { 15688 W: A2( 15689 $elm$core$Maybe$map, 15690 function (p) { 15691 return _Utils_update( 15692 p, 15693 {dZ: v}); 15694 }, 15695 attrs.W) 15696 }); 15697 }; 15698}; 15699var $author$project$W$DataRow$paddingY = function (v) { 15700 return function (attrs) { 15701 return _Utils_update( 15702 attrs, 15703 { 15704 W: A2( 15705 $elm$core$Maybe$map, 15706 function (p) { 15707 return _Utils_update( 15708 p, 15709 {d_: v}); 15710 }, 15711 attrs.W) 15712 }); 15713 }; 15714}; 15715var $author$project$W$DataRow$right = function (v) { 15716 return function (attrs) { 15717 return _Utils_update( 15718 attrs, 15719 { 15720 eS: $elm$core$Maybe$Just(v) 15721 }); 15722 }; 15723}; 15724var $author$project$W$DataRow$defaultAttrs = { 15725 fr: $elm$core$Maybe$Nothing, 15726 a7: 8, 15727 fz: $elm$core$Maybe$Nothing, 15728 ei: $elm$core$Maybe$Nothing, 15729 b$: _List_Nil, 15730 aE: 8, 15731 ew: $elm$core$Maybe$Nothing, 15732 cd: false, 15733 bg: false, 15734 s: $elm$core$Maybe$Nothing, 15735 cp: false, 15736 W: $elm$core$Maybe$Just( 15737 {dZ: 8, d_: 8}), 15738 eS: $elm$core$Maybe$Nothing 15739}; 15740var $author$project$W$DataRow$applyAttrs = function (attrs) { 15741 return A3( 15742 $elm$core$List$foldl, 15743 F2( 15744 function (_v0, a) { 15745 var fn = _v0; 15746 return fn(a); 15747 }), 15748 $author$project$W$DataRow$defaultAttrs, 15749 attrs); 15750}; 15751var $author$project$W$DataRow$side = function (innerGap_) { 15752 return $elm$html$Html$div( 15753 _List_fromArray( 15754 [ 15755 $elm$html$Html$Attributes$class('ew-shrink-0 ew-flex ew-items-center ew-gap-2'), 15756 A2( 15757 $elm$html$Html$Attributes$style, 15758 'gap', 15759 $author$project$W$Internal$Helpers$formatPx(innerGap_)) 15760 ])); 15761}; 15762var $elm$html$Html$Attributes$target = $elm$html$Html$Attributes$stringProperty('target'); 15763var $author$project$W$DataRow$view = F2( 15764 function (attrs_, children) { 15765 var mainClickableClass = $elm$html$Html$Attributes$class('ew-focusable hover:ew-bg-base-aux/[0.07] active:ew-bg-base-aux/10'); 15766 var attrs = $author$project$W$DataRow$applyAttrs(attrs_); 15767 var left_ = attrs.bg ? A2( 15768 $author$project$W$Internal$Helpers$maybeHtml, 15769 $author$project$W$DataRow$side(attrs.aE), 15770 attrs.ew) : $elm$html$Html$text(''); 15771 var mainAttrs = _List_fromArray( 15772 [ 15773 $elm$html$Html$Attributes$class('ew-grow ew-flex ew-items-center'), 15774 $elm$html$Html$Attributes$class('ew-w-full ew-bg-transparent'), 15775 $elm$html$Html$Attributes$class('ew-btn-like ew-text-base ew-text-left ew-font-text ew-text-base-fg'), 15776 $elm$html$Html$Attributes$class('ew-p-2'), 15777 A2( 15778 $elm$html$Html$Attributes$style, 15779 'gap', 15780 $author$project$W$Internal$Helpers$formatPx(attrs.a7)) 15781 ]); 15782 var mainLeft = attrs.bg ? $elm$html$Html$text('') : A2( 15783 $author$project$W$Internal$Helpers$maybeHtml, 15784 $author$project$W$DataRow$side(attrs.aE), 15785 attrs.ew); 15786 var main_ = function () { 15787 var _v0 = _Utils_Tuple2(attrs.s, attrs.ei); 15788 if (!_v0.a.$) { 15789 var onClick_ = _v0.a.a; 15790 return $elm$html$Html$button( 15791 _Utils_ap( 15792 mainAttrs, 15793 _List_fromArray( 15794 [ 15795 mainClickableClass, 15796 $elm$html$Html$Events$onClick(onClick_) 15797 ]))); 15798 } else { 15799 if (!_v0.b.$) { 15800 var _v1 = _v0.a; 15801 var href_ = _v0.b.a; 15802 return $elm$html$Html$a( 15803 _Utils_ap( 15804 mainAttrs, 15805 _List_fromArray( 15806 [ 15807 mainClickableClass, 15808 $elm$html$Html$Attributes$href(href_), 15809 attrs.cp ? $elm$html$Html$Attributes$target('_blank') : $elm$html$Html$Attributes$class('') 15810 ]))); 15811 } else { 15812 return $elm$html$Html$div(mainAttrs); 15813 } 15814 } 15815 }(); 15816 return A2( 15817 $elm$html$Html$div, 15818 A2( 15819 $elm$core$List$cons, 15820 $elm$html$Html$Attributes$class('ew-flex ew-items-center ew-gap-2 ew-box-border'), 15821 A2( 15822 $elm$core$List$cons, 15823 A2( 15824 $elm$html$Html$Attributes$style, 15825 'gap', 15826 $author$project$W$Internal$Helpers$formatPx(attrs.a7)), 15827 A2( 15828 $elm$core$List$cons, 15829 A2( 15830 $author$project$W$Internal$Helpers$maybeAttr, 15831 A2( 15832 $elm$core$Basics$composeL, 15833 $elm$html$Html$Attributes$style('padding'), 15834 $author$project$W$Internal$Helpers$paddingXY), 15835 attrs.W), 15836 A2( 15837 $elm$core$List$cons, 15838 $elm$html$Html$Attributes$classList( 15839 _List_fromArray( 15840 [ 15841 _Utils_Tuple2('ew-bg-base-bg', !attrs.cd) 15842 ])), 15843 attrs.b$)))), 15844 _List_fromArray( 15845 [ 15846 left_, 15847 main_( 15848 _List_fromArray( 15849 [ 15850 mainLeft, 15851 A2( 15852 $elm$html$Html$div, 15853 _List_fromArray( 15854 [ 15855 $elm$html$Html$Attributes$class('ew-grow') 15856 ]), 15857 _List_fromArray( 15858 [ 15859 A2( 15860 $author$project$W$Internal$Helpers$maybeHtml, 15861 function (header_) { 15862 return A2( 15863 $elm$html$Html$div, 15864 _List_fromArray( 15865 [ 15866 $elm$html$Html$Attributes$class('ew-text-sm ew-text-base-aux ew-pb-1') 15867 ]), 15868 header_); 15869 }, 15870 attrs.fz), 15871 A2( 15872 $elm$html$Html$div, 15873 _List_fromArray( 15874 [ 15875 $elm$html$Html$Attributes$class('ew ew-data-row-label') 15876 ]), 15877 children), 15878 A2( 15879 $author$project$W$Internal$Helpers$maybeHtml, 15880 function (footer_) { 15881 return A2( 15882 $elm$html$Html$div, 15883 _List_fromArray( 15884 [ 15885 $elm$html$Html$Attributes$class('ew-text-sm ew-text-base-aux ew-pt-0.5') 15886 ]), 15887 footer_); 15888 }, 15889 attrs.fr) 15890 ])) 15891 ])), 15892 A2( 15893 $author$project$W$Internal$Helpers$maybeHtml, 15894 $author$project$W$DataRow$side(attrs.aE), 15895 attrs.eS) 15896 ])); 15897 }); 15898var $author$project$Chapters$Information$DataRow$viewCircle = A2( 15899 $elm$html$Html$div, 15900 _List_fromArray( 15901 [ 15902 A2($elm$html$Html$Attributes$style, 'background', '#f5f5f5'), 15903 A2($elm$html$Html$Attributes$style, 'border-radius', '50%'), 15904 A2($elm$html$Html$Attributes$style, 'border', '3px solid #dadada'), 15905 A2($elm$html$Html$Attributes$style, 'width', '20px'), 15906 A2($elm$html$Html$Attributes$style, 'height', '20px') 15907 ]), 15908 _List_Nil); 15909var $author$project$W$DataRow$noAttr = $elm$core$Basics$identity; 15910var $author$project$W$DataRow$ifNotEmpty = F2( 15911 function (attr, xs) { 15912 if (!xs.b) { 15913 return $author$project$W$DataRow$noAttr; 15914 } else { 15915 return attr(xs); 15916 } 15917 }); 15918var $author$project$W$DataRow$viewNext = F2( 15919 function (attrs_, props) { 15920 return A2( 15921 $author$project$W$DataRow$view, 15922 _Utils_ap( 15923 attrs_, 15924 _List_fromArray( 15925 [ 15926 A2($author$project$W$DataRow$ifNotEmpty, $author$project$W$DataRow$left, props.ew), 15927 A2($author$project$W$DataRow$ifNotEmpty, $author$project$W$DataRow$right, props.eS) 15928 ])), 15929 props.eA); 15930 }); 15931var $author$project$W$DataRow$viewNextExtra = F2( 15932 function (attrs_, props) { 15933 return A2( 15934 $author$project$W$DataRow$view, 15935 _Utils_ap( 15936 attrs_, 15937 _List_fromArray( 15938 [ 15939 A2($author$project$W$DataRow$ifNotEmpty, $author$project$W$DataRow$left, props.ew), 15940 A2($author$project$W$DataRow$ifNotEmpty, $author$project$W$DataRow$right, props.eS), 15941 $author$project$W$DataRow$header(props.fz), 15942 $author$project$W$DataRow$footer(props.fr) 15943 ])), 15944 props.eA); 15945 }); 15946var $author$project$Chapters$Information$DataRow$chapter_ = A2( 15947 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 15948 _List_fromArray( 15949 [ 15950 _Utils_Tuple2( 15951 'Simple', 15952 A2( 15953 $author$project$W$DataRow$view, 15954 _List_Nil, 15955 _List_fromArray( 15956 [ 15957 $elm$html$Html$text('Label') 15958 ]))), 15959 _Utils_Tuple2( 15960 'As Button', 15961 A2( 15962 $author$project$W$DataRow$view, 15963 _List_fromArray( 15964 [ 15965 $author$project$W$DataRow$onClick( 15966 $dtwrks$elm_book$ElmBook$Actions$logAction('onClick')) 15967 ]), 15968 _List_fromArray( 15969 [ 15970 $elm$html$Html$text('Label') 15971 ]))), 15972 _Utils_Tuple2( 15973 'As Link', 15974 A2( 15975 $author$project$W$DataRow$view, 15976 _List_fromArray( 15977 [ 15978 $author$project$W$DataRow$href('/logAction/#') 15979 ]), 15980 _List_fromArray( 15981 [ 15982 $elm$html$Html$text('Label') 15983 ]))), 15984 _Utils_Tuple2( 15985 'As Link opening on new tab', 15986 A2( 15987 $author$project$W$DataRow$view, 15988 _List_fromArray( 15989 [ 15990 $author$project$W$DataRow$href('/logAction/#'), 15991 $author$project$W$DataRow$openNewTab 15992 ]), 15993 _List_fromArray( 15994 [ 15995 $elm$html$Html$text('Label') 15996 ]))), 15997 _Utils_Tuple2( 15998 'With Actions', 15999 A2( 16000 $author$project$W$DataRow$view, 16001 _List_fromArray( 16002 [ 16003 $author$project$W$DataRow$href('/logAction/#'), 16004 $author$project$W$DataRow$right( 16005 _List_fromArray( 16006 [ 16007 A2( 16008 $author$project$W$Button$view, 16009 _List_fromArray( 16010 [$author$project$W$Button$primary]), 16011 { 16012 aK: _List_fromArray( 16013 [ 16014 $elm$html$Html$text('Click me') 16015 ]), 16016 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16017 }) 16018 ])) 16019 ]), 16020 _List_fromArray( 16021 [ 16022 $elm$html$Html$text('Label') 16023 ]))), 16024 _Utils_Tuple2( 16025 'With Actions + Footer', 16026 A2( 16027 $author$project$W$DataRow$view, 16028 _List_fromArray( 16029 [ 16030 $author$project$W$DataRow$href('/logAction/#'), 16031 $author$project$W$DataRow$footer( 16032 _List_fromArray( 16033 [ 16034 $elm$html$Html$text('[email protected]') 16035 ])), 16036 $author$project$W$DataRow$right( 16037 _List_fromArray( 16038 [ 16039 A2( 16040 $author$project$W$Button$view, 16041 _List_fromArray( 16042 [$author$project$W$Button$primary]), 16043 { 16044 aK: _List_fromArray( 16045 [ 16046 $elm$html$Html$text('Click me') 16047 ]), 16048 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16049 }) 16050 ])) 16051 ]), 16052 _List_fromArray( 16053 [ 16054 $elm$html$Html$text('Label') 16055 ]))), 16056 _Utils_Tuple2( 16057 'With Actions + Header + Footer', 16058 A2( 16059 $author$project$W$DataRow$view, 16060 _List_fromArray( 16061 [ 16062 $author$project$W$DataRow$href('/logAction/#'), 16063 $author$project$W$DataRow$header( 16064 _List_fromArray( 16065 [ 16066 $elm$html$Html$text('Admin') 16067 ])), 16068 $author$project$W$DataRow$footer( 16069 _List_fromArray( 16070 [ 16071 $elm$html$Html$text('[email protected]') 16072 ])), 16073 $author$project$W$DataRow$right( 16074 _List_fromArray( 16075 [ 16076 A2( 16077 $author$project$W$Button$view, 16078 _List_fromArray( 16079 [$author$project$W$Button$primary]), 16080 { 16081 aK: _List_fromArray( 16082 [ 16083 $elm$html$Html$text('Click me') 16084 ]), 16085 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16086 }) 16087 ])) 16088 ]), 16089 _List_fromArray( 16090 [ 16091 $elm$html$Html$text('Label') 16092 ]))), 16093 _Utils_Tuple2( 16094 'With Actions + Header + Footer + Left', 16095 A2( 16096 $author$project$W$DataRow$view, 16097 _List_fromArray( 16098 [ 16099 $author$project$W$DataRow$href('/logAction/#'), 16100 $author$project$W$DataRow$header( 16101 _List_fromArray( 16102 [ 16103 $elm$html$Html$text('Admin') 16104 ])), 16105 $author$project$W$DataRow$footer( 16106 _List_fromArray( 16107 [ 16108 $elm$html$Html$text('[email protected]') 16109 ])), 16110 $author$project$W$DataRow$left( 16111 _List_fromArray( 16112 [ 16113 $author$project$W$Loading$ripples(_List_Nil) 16114 ])), 16115 $author$project$W$DataRow$right( 16116 _List_fromArray( 16117 [ 16118 A2( 16119 $author$project$W$Button$view, 16120 _List_fromArray( 16121 [$author$project$W$Button$primary]), 16122 { 16123 aK: _List_fromArray( 16124 [ 16125 $elm$html$Html$text('Click me') 16126 ]), 16127 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16128 }) 16129 ])) 16130 ]), 16131 _List_fromArray( 16132 [ 16133 $elm$html$Html$text('Label') 16134 ]))), 16135 _Utils_Tuple2( 16136 'With Actions + Header + Footer + Left (Other)', 16137 A2( 16138 $author$project$W$DataRow$view, 16139 _List_fromArray( 16140 [ 16141 $author$project$W$DataRow$href('/logAction/#'), 16142 $author$project$W$DataRow$header( 16143 _List_fromArray( 16144 [ 16145 $elm$html$Html$text('Admin') 16146 ])), 16147 $author$project$W$DataRow$footer( 16148 _List_fromArray( 16149 [ 16150 $elm$html$Html$text('[email protected]') 16151 ])), 16152 $author$project$W$DataRow$left( 16153 _List_fromArray( 16154 [$author$project$Chapters$Information$DataRow$viewCircle])), 16155 $author$project$W$DataRow$right( 16156 _List_fromArray( 16157 [ 16158 A2( 16159 $author$project$W$Button$view, 16160 _List_fromArray( 16161 [$author$project$W$Button$primary]), 16162 { 16163 aK: _List_fromArray( 16164 [ 16165 $elm$html$Html$text('Click me') 16166 ]), 16167 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16168 }) 16169 ])) 16170 ]), 16171 _List_fromArray( 16172 [ 16173 $elm$html$Html$text('Label') 16174 ]))), 16175 _Utils_Tuple2( 16176 'Same as before but with noLeftClick', 16177 A2( 16178 $author$project$W$DataRow$view, 16179 _List_fromArray( 16180 [ 16181 $author$project$W$DataRow$noLeftClick, 16182 $author$project$W$DataRow$href('/logAction/#'), 16183 $author$project$W$DataRow$header( 16184 _List_fromArray( 16185 [ 16186 $elm$html$Html$text('Admin') 16187 ])), 16188 $author$project$W$DataRow$footer( 16189 _List_fromArray( 16190 [ 16191 $elm$html$Html$text('[email protected]') 16192 ])), 16193 $author$project$W$DataRow$left( 16194 _List_fromArray( 16195 [$author$project$Chapters$Information$DataRow$viewCircle])), 16196 $author$project$W$DataRow$right( 16197 _List_fromArray( 16198 [ 16199 A2( 16200 $author$project$W$Button$view, 16201 _List_fromArray( 16202 [$author$project$W$Button$primary]), 16203 { 16204 aK: _List_fromArray( 16205 [ 16206 $elm$html$Html$text('Click me') 16207 ]), 16208 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16209 }) 16210 ])) 16211 ]), 16212 _List_fromArray( 16213 [ 16214 $elm$html$Html$text('Label') 16215 ]))), 16216 _Utils_Tuple2( 16217 'With Actions + Header + Footer + Left (Custom Padding + No Backgroun
16217d)', 16218 A2( 16219 $author$project$W$Container$view, 16220 _List_fromArray( 16221 [ 16222 $author$project$W$Container$background( 16223 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.05)) 16224 ]), 16225 _List_fromArray( 16226 [ 16227 A2( 16228 $author$project$W$DataRow$view, 16229 _List_fromArray( 16230 [ 16231 $author$project$W$DataRow$noBackground, 16232 $author$project$W$DataRow$paddingX(44), 16233 $author$project$W$DataRow$paddingY(4), 16234 $author$project$W$DataRow$href('/logAction/#'), 16235 $author$project$W$DataRow$header( 16236 _List_fromArray( 16237 [ 16238 $elm$html$Html$text('Admin') 16239 ])), 16240 $author$project$W$DataRow$footer( 16241 _List_fromArray( 16242 [ 16243 $elm$html$Html$text('[email protected]') 16244 ])), 16245 $author$project$W$DataRow$left( 16246 _List_fromArray( 16247 [$author$project$Chapters$Information$DataRow$viewCircle])), 16248 $author$project$W$DataRow$right( 16249 _List_fromArray( 16250 [ 16251 A2( 16252 $author$project$W$Button$view, 16253 _List_fromArray( 16254 [$author$project$W$Button$primary]), 16255 { 16256 aK: _List_fromArray( 16257 [ 16258 $elm$html$Html$text('Click me') 16259 ]), 16260 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16261 }) 16262 ])) 16263 ]), 16264 _List_fromArray( 16265 [ 16266 $elm$html$Html$text('Label') 16267 ])) 16268 ]))), 16269 _Utils_Tuple2( 16270 'With Actions + Header + Footer + Left (Custom Gaps)', 16271 A2( 16272 $author$project$W$Container$view, 16273 _List_fromArray( 16274 [ 16275 $author$project$W$Container$background( 16276 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.05)) 16277 ]), 16278 _List_fromArray( 16279 [ 16280 A2( 16281 $author$project$W$DataRow$view, 16282 _List_fromArray( 16283 [ 16284 $author$project$W$DataRow$gap(4), 16285 $author$project$W$DataRow$innerGap(12), 16286 $author$project$W$DataRow$href('/logAction/#'), 16287 $author$project$W$DataRow$header( 16288 _List_fromArray( 16289 [ 16290 $elm$html$Html$text('Admin') 16291 ])), 16292 $author$project$W$DataRow$footer( 16293 _List_fromArray( 16294 [ 16295 $elm$html$Html$text('[email protected]') 16296 ])), 16297 $author$project$W$DataRow$left( 16298 _List_fromArray( 16299 [$author$project$Chapters$Information$DataRow$viewCircle])), 16300 $author$project$W$DataRow$right( 16301 _List_fromArray( 16302 [ 16303 A2( 16304 $author$project$W$Button$view, 16305 _List_Nil, 16306 { 16307 aK: _List_fromArray( 16308 [ 16309 $elm$html$Html$text('Click me') 16310 ]), 16311 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16312 }), 16313 A2( 16314 $author$project$W$Button$view, 16315 _List_fromArray( 16316 [$author$project$W$Button$primary]), 16317 { 16318 aK: _List_fromArray( 16319 [ 16320 $elm$html$Html$text('Click me') 16321 ]), 16322 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16323 }) 16324 ])) 16325 ]), 16326 _List_fromArray( 16327 [ 16328 $elm$html$Html$text('Label') 16329 ])) 16330 ]))), 16331 _Utils_Tuple2( 16332 'viewNext API', 16333 A2( 16334 $author$project$W$DataRow$viewNext, 16335 _List_fromArray( 16336 [ 16337 $author$project$W$DataRow$href('/logAction/#') 16338 ]), 16339 { 16340 ew: _List_fromArray( 16341 [ 16342 $author$project$W$Loading$ripples(_List_Nil) 16343 ]), 16344 eA: _List_fromArray( 16345 [ 16346 $elm$html$Html$text('Label') 16347 ]), 16348 eS: _List_fromArray( 16349 [ 16350 A2( 16351 $author$project$W$Button$view, 16352 _List_fromArray( 16353 [$author$project$W$Button$primary]), 16354 { 16355 aK: _List_fromArray( 16356 [ 16357 $elm$html$Html$text('Click me') 16358 ]), 16359 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16360 }) 16361 ]) 16362 })), 16363 _Utils_Tuple2( 16364 'viewNextExtra API', 16365 A2( 16366 $author$project$W$DataRow$viewNextExtra, 16367 _List_fromArray( 16368 [ 16369 $author$project$W$DataRow$href('/logAction/#') 16370 ]), 16371 { 16372 fr: _List_fromArray( 16373 [ 16374 $elm$html$Html$text('[email protected]') 16375 ]), 16376 fz: _List_fromArray( 16377 [ 16378 $elm$html$Html$text('Admin') 16379 ]), 16380 ew: _List_fromArray( 16381 [$author$project$Chapters$Information$DataRow$viewCircle]), 16382 eA: _List_fromArray( 16383 [ 16384 $elm$html$Html$text('Label') 16385 ]), 16386 eS: _List_fromArray( 16387 [ 16388 A2( 16389 $author$project$W$Button$view, 16390 _List_fromArray( 16391 [$author$project$W$Button$primary]), 16392 { 16393 aK: _List_fromArray( 16394 [ 16395 $elm$html$Html$text('Click me') 16396 ]), 16397 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick Action') 16398 }) 16399 ]) 16400 })) 16401 ]), 16402 $dtwrks$elm_book$ElmBook$Chapter$chapter('DataRow')); 16403var $author$project$W$Menu$left = function (v) { 16404 return function (attrs) { 16405 return _Utils_update( 16406 attrs, 16407 { 16408 ew: $elm$core$Maybe$Just(v) 16409 }); 16410 }; 16411}; 16412var $author$project$W$Menu$noPadding = function (attrs) { 16413 return _Utils_update( 16414 attrs, 16415 {W: false}); 16416}; 16417var $author$project$W$Menu$right = function (v) { 16418 return function (attrs) { 16419 return _Utils_update( 16420 attrs, 16421 { 16422 eS: $elm$core$Maybe$Just(v) 16423 }); 16424 }; 16425}; 16426var $author$project$W$Menu$viewLink = F2( 16427 function (attrs_, props) { 16428 var attrs = $author$project$W$Menu$applyAttrs(attrs_); 16429 return A2( 16430 $elm$html$Html$a, 16431 _Utils_ap( 16432 $author$project$W$Menu$baseAttrs(attrs), 16433 _List_fromArray( 16434 [ 16435 $elm$html$Html$Attributes$href(props.ei), 16436 $elm$html$Html$Attributes$class('ew-no-underline') 16437 ])), 16438 A2($author$project$W$Menu$baseContent, attrs, props.aK)); 16439 }); 16440var $author$project$W$Menu$viewTitle = F2( 16441 function (attrs_, props) { 16442 var attrs = $author$project$W$Menu$applyAttrs(attrs_); 16443 return A2( 16444 $elm$html$Html$p, 16445 _List_fromArray( 16446 [ 16447 $elm$html$Html$Attributes$class('ew-m-0 ew-flex ew-items-center'), 16448 $elm$html$Html$Attributes$class('ew-uppercase ew-text-xs ew-font-bold ew-font-text ew-text-base-aux'), 16449 attrs.W ? $uncover_co$elm_theme$Theme$styles( 16450 _List_fromArray( 16451 [ 16452 _Utils_Tuple2('padding', 'var(--ew-menu-title-padding)') 16453 ])) : $elm$html$Html$Attributes$class('') 16454 ]), 16455 A2($author$project$W$Menu$baseContent, attrs, props.aK)); 16456 }); 16457var $author$project$Chapters$Information$Menu$items = _List_fromArray( 16458 [ 16459 A2( 16460 $author$project$W$Menu$viewButton, 16461 _List_Nil, 16462 { 16463 aK: _List_fromArray( 16464 [ 16465 $elm$html$Html$text('Click me') 16466 ]), 16467 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 16468 }), 16469 A2( 16470 $author$project$W$Menu$viewButton, 16471 _List_fromArray( 16472 [$author$project$W$Menu$noPadding]), 16473 { 16474 aK: _List_fromArray( 16475 [ 16476 $elm$html$Html$text('Click me (no padding)') 16477 ]), 16478 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 16479 }), 16480 A2( 16481 $author$project$W$Menu$viewLink, 16482 _List_fromArray( 16483 [ 16484 $author$project$W$Menu$left( 16485 _List_fromArray( 16486 [ 16487 $elm$html$Html$text('L') 16488 ])) 16489 ]), 16490 { 16491 ei: '/logAction/#', 16492 aK: _List_fromArray( 16493 [ 16494 $elm$html$Html$text('Link to') 16495 ]) 16496 }), 16497 A2( 16498 $author$project$W$Menu$viewTitle, 16499 _List_fromArray( 16500 [ 16501 $author$project$W$Menu$left( 16502 _List_fromArray( 16503 [ 16504 $elm$html$Html$text('T') 16505 ])), 16506 $author$project$W$Menu$right( 16507 _List_fromArray( 16508 [ 16509 $elm$html$Html$text('Edit') 16510 ])) 16511 ]), 16512 { 16513 aK: _List_fromArray( 16514 [ 16515 $elm$html$Html$text('Title') 16516 ]) 16517 }), 16518 A2( 16519 $author$project$W$Menu$viewButton, 16520 _List_fromArray( 16521 [ 16522 $author$project$W$Menu$selected(true) 16523 ]), 16524 { 16525 aK: _List_fromArray( 16526 [ 16527 $elm$html$Html$text('Click me') 16528 ]), 16529 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 16530 }), 16531 A2( 16532 $author$project$W$Menu$viewLink, 16533 _List_Nil, 16534 { 16535 ei: '/logAction/#', 16536 aK: _List_fromArray( 16537 [ 16538 $elm$html$Html$text('Link to') 16539 ]) 16540 }) 16541 ]); 16542var $author$project$W$Menu$MenuAttribute = $elm$core$Basics$identity; 16543var $author$project$W$Menu$paddingX = function (v) { 16544 return function (attrs) { 16545 return _Utils_update( 16546 attrs, 16547 { 16548 W: {dZ: v, d_: attrs.W.d_} 16549 }); 16550 }; 16551}; 16552var $author$project$Chapters$Information$Menu$chapter_ = A2( 16553 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 16554 _List_fromArray( 16555 [ 16556 _Utils_Tuple2( 16557 'Default', 16558 $author$project$W$Menu$view($author$project$Chapters$Information$Menu$items)), 16559 _Utils_Tuple2( 16560 'Custom padding', 16561 A2( 16562 $author$project$W$Menu$viewCustom, 16563 _List_fromArray( 16564 [ 16565 $author$project$W$Menu$paddingX(24) 16566 ]), 16567 $author$project$Chapters$Information$Menu$items)) 16568 ]), 16569 $dtwrks$elm_book$ElmBook$Chapter$chapter('Menu')); 16570var $author$project$W$Message$Attribute = $elm$core$Basics$identity; 16571var $author$project$W$Message$borderWidth = function (v) { 16572 return function (attrs) { 16573 return _Utils_update( 16574 attrs, 16575 {bI: v}); 16576 }; 16577}; 16578var $author$project$W$Message$color = function (v) { 16579 return function (attrs) { 16580 return _Utils_update( 16581 attrs, 16582 {U: v}); 16583 }; 16584}; 16585var $author$project$W$Message$danger = function (attrs) { 16586 return _Utils_update( 16587 attrs, 16588 {U: $uncover_co$elm_theme$Theme$dangerForeground}); 16589}; 16590var $author$project$W$Message$footer = function (v) { 16591 return function (attrs) { 16592 return _Utils_update( 16593 attrs, 16594 { 16595 fr: $elm$core$Maybe$Just(v) 16596 }); 16597 }; 16598}; 16599var $author$project$W$Message$href = function (v) { 16600 return function (attrs) { 16601 return _Utils_update( 16602 attrs, 16603 { 16604 ei: $elm$core$Maybe$Just(v) 16605 }); 16606 }; 16607}; 16608var $author$project$W$Message$icon = function (v) { 16609 return function (attrs) { 16610 return _Utils_update( 16611 attrs, 16612 { 16613 b0: $elm$core$Maybe$Just(v) 16614 }); 16615 }; 16616}; 16617var $author$project$W$Message$onClick = function (v) { 16618 return function (attrs) { 16619 return _Utils_update( 16620 attrs, 16621 { 16622 s: $elm$core$Maybe$Just(v) 16623 }); 16624 }; 16625}; 16626var $author$project$W$Message$primary = function (attrs) { 16627 return _Utils_update( 16628 attrs, 16629 {U: $uncover_co$elm_theme$Theme$primaryForeground}); 16630}; 16631var $author$project$W$Message$secondary = function (attrs) { 16632 return _Utils_update( 16633 attrs, 16634 {U: $uncover_co$elm_theme$Theme$secondaryForeground}); 16635}; 16636var $author$project$W$Message$success = function (attrs) { 16637 return _Utils_update( 16638 attrs, 16639 {U: $uncover_co$elm_theme$Theme$successForeground}); 16640}; 16641var $author$project$W$Message$defaultAttrs = {bI: 6, U: $uncover_co$elm_theme$Theme$neutralForeground, fr: $elm$core$Maybe$Nothing, ei: $elm$core$Maybe$Nothing, b$: _List_Nil, b0: $elm$core$Maybe$Nothing, s: $elm$core$Maybe$Nothing}; 16642var $author$project$W$Message$applyAttrs = function (attrs) { 16643 return A3( 16644 $elm$core$List$foldl, 16645 F2( 16646 function (_v0, a) { 16647 var fn = _v0; 16648 return fn(a); 16649 }), 16650 $author$project$W$Message$defaultAttrs, 16651 attrs); 16652}; 16653var $author$project$W$Message$interactiveClass = $elm$html$Html$Attributes$class('ew-appearance-none ew-bg-transparent ew-no-underline ew-focusable-outline hover:before:ew-opacity-[0.05] active:before:ew-opacity-[0.03]'); 16654var $author$project$W$Message$view = F2( 16655 function (attrs_, children_) { 16656 var attrs = $author$project$W$Message$applyAttrs(attrs_); 16657 var baseAttrs = _Utils_ap( 16658 attrs.b$, 16659 _List_fromArray( 16660 [ 16661 $elm$html$Html$Attributes$class('ew-m-0 ew-box-border ew-relative'), 16662 $elm$html$Html$Attributes$class('ew-flex ew-gap-4 ew-w-full'), 16663 $elm$html$Html$Attributes$class('ew-font-text ew-text-base ew-font-medium'), 16664 $elm$html$Html$Attributes$class('ew-py-2 ew-px-4 ew-pr-6'), 16665 $elm$html$Html$Attributes$class('ew-bg-base-bg ew-rounded'), 16666 A2( 16667 $elm$html$Html$Attributes$style, 16668 'border-left-width', 16669 $elm$core$String$fromInt(attrs.bI) + 'px'), 16670 $elm$html$Html$Attributes$class('ew-border-solid ew-border-current'), 16671 A2($elm$html$Html$Attributes$style, 'color', attrs.U), 16672 $elm$html$Html$Attributes$class('before:ew-block before:ew-content-[\'\']'), 16673 $elm$html$Html$Attributes$class('before:ew-absolute before:ew-inset-0 ew-z-0'), 16674 $elm$html$Html$Attributes$class('before:ew-rounded-r before:ew-bg-current before:ew-opacity-[0.07]') 16675 ])); 16676 var children = _List_fromArray( 16677 [ 16678 A2( 16679 $author$project$W$Internal$Helpers$maybeHtml, 16680 function (i) { 16681 return A2($elm$html$Html$div, _List_Nil, i); 16682 }, 16683 attrs.b0), 16684 A2( 16685 $elm$html$Html$div, 16686 _List_fromArray( 16687 [ 16688 $elm$html$Html$Attributes$class('ew-flex ew-flex-col') 16689 ]), 16690 _List_fromArray( 16691 [ 16692 A2($elm$html$Html$div, _List_Nil, children_), 16693 A2( 16694 $author$project$W$Internal$Helpers$maybeHtml, 16695 $elm$html$Html$div( 16696 _List_fromArray( 16697 [ 16698 $elm$html$Html$Attributes$class('ew-text-sm ew-font-normal') 16699 ])), 16700 attrs.fr) 16701 ])) 16702 ]); 16703 var _v0 = _Utils_Tuple2(attrs.s, attrs.ei); 16704 if (!_v0.a.$) { 16705 var onClick_ = _v0.a.a; 16706 return A2( 16707 $elm$html$Html$button, 16708 _Utils_ap( 16709 baseAttrs, 16710 _List_fromArray( 16711 [ 16712 $author$project$W$Message$interactiveClass, 16713 $elm$html$Html$Events$onClick(onClick_) 16714 ])), 16715 children); 16716 } else { 16717 if (!_v0.b.$) { 16718 var _v1 = _v0.a; 16719 var href_ = _v0.b.a; 16720 return A2( 16721 $elm$html$Html$a, 16722 _Utils_ap( 16723 baseAttrs, 16724 _List_fromArray( 16725 [ 16726 $author$project$W$Message$interactiveClass, 16727 $elm$html$Html$Attributes$href(href_) 16728 ])), 16729 children); 16730 } else { 16731 return A2($elm$html$Html$div, baseAttrs, children); 16732 } 16733 } 16734 }); 16735var $author$project$W$Message$warning = function (attrs) { 16736 return _Utils_update( 16737 attrs, 16738 {U: $uncover_co$elm_theme$Theme$warningForeground}); 16739}; 16740var $author$project$Chapters$Information$Message$chapter_ = A2( 16741 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 16742 A2( 16743 $elm$core$List$map, 16744 function (_v0) { 16745 var attrs = _v0.a; 16746 var label = _v0.b; 16747 return _Utils_Tuple2( 16748 label, 16749 $author$project$UI$vSpacer( 16750 _List_fromArray( 16751 [ 16752 A2( 16753 $author$project$W$Message$view, 16754 attrs, 16755 _List_fromArray( 16756 [ 16757 $elm$html$Html$text(label) 16758 ])), 16759 A2( 16760 $author$project$W$Message$view, 16761 A2( 16762 $elm$core$List$cons, 16763 $author$project$W$Message$onClick( 16764 $dtwrks$elm_book$ElmBook$Actions$logAction('onClick')), 16765 attrs), 16766 _List_fromArray( 16767 [ 16768 $elm$html$Html$text(label) 16769 ])), 16770 A2( 16771 $author$project$W$Message$view, 16772 A2( 16773 $elm$core$List$cons, 16774 $author$project$W$Message$href('/logAction/#'), 16775 attrs), 16776 _List_fromArray( 16777 [ 16778 $elm$html$Html$text(label) 16779 ])), 16780 A2( 16781 $author$project$W$Message$view, 16782 _Utils_ap( 16783 attrs, 16784 _List_fromArray( 16785 [ 16786 $author$project$W$Message$icon( 16787 _List_fromArray( 16788 [ 16789 $elm$html$Html$text('i') 16790 ])), 16791 $author$project$W$Message$footer( 16792 _List_fromArray( 16793 [ 16794 $elm$html$Html$text('Footer') 16795 ])) 16796 ])), 16797 _List_fromArray( 16798 [ 16799 $elm$html$Html$text(label) 16800 ])) 16801 ]))); 16802 }, 16803 _List_fromArray( 16804 [ 16805 _Utils_Tuple2(_List_Nil, 'Neutral'), 16806 _Utils_Tuple2( 16807 _List_fromArray( 16808 [$author$project$W$Message$primary]), 16809 'Primary'), 16810 _Utils_Tuple2( 16811 _List_fromArray( 16812 [$author$project$W$Message$secondary]), 16813 'Secondary'), 16814 _Utils_Tuple2( 16815 _List_fromArray( 16816 [$author$project$W$Message$success]), 16817 'Success'), 16818 _Utils_Tuple2( 16819 _List_fromArray( 16820 [$author$project$W$Message$warning]), 16821 'Warning'), 16822 _Utils_Tuple2( 16823 _List_fromArray( 16824 [$author$project$W$Message$danger]), 16825 'Danger'), 16826 _Utils_Tuple2( 16827 _List_fromArray( 16828 [ 16829 $author$project$W$Message$color('purple') 16830 ]), 16831 'Custom'), 16832 _Utils_Tuple2( 16833 _List_fromArray( 16834 [ 16835 $author$project$W$Message$borderWidth(0) 16836 ]), 16837 'No border'), 16838 _Utils_Tuple2( 16839 _List_fromArray( 16840 [ 16841 $author$project$W$Message$borderWidth(12) 16842 ]), 16843 'Increased border') 16844 ])), 16845 $dtwrks$elm_book$ElmBook$Chapter$chapter('Message')); 16846var $author$project$W$Notification$Attribute = $elm$core$Basics$identity; 16847var $author$project$W$Notification$color = function (v) { 16848 return function (attrs) { 16849 return _Utils_update( 16850 attrs, 16851 {U: v}); 16852 }; 16853}; 16854var $author$project$W$Notification$danger = function (attrs) { 16855 return _Utils_update( 16856 attrs, 16857 {U: $uncover_co$elm_theme$Them
16857e$dangerForeground}); 16858}; 16859var $author$project$W$Notification$footer = function (v) { 16860 return function (attrs) { 16861 return _Utils_update( 16862 attrs, 16863 { 16864 fr: $elm$core$Maybe$Just(v) 16865 }); 16866 }; 16867}; 16868var $author$project$W$Notification$href = function (v) { 16869 return function (attrs) { 16870 return _Utils_update( 16871 attrs, 16872 { 16873 ei: $elm$core$Maybe$Just(v) 16874 }); 16875 }; 16876}; 16877var $author$project$W$Notification$icon = function (v) { 16878 return function (attrs) { 16879 return _Utils_update( 16880 attrs, 16881 { 16882 b0: $elm$core$Maybe$Just(v) 16883 }); 16884 }; 16885}; 16886var $author$project$W$Notification$onClick = function (v) { 16887 return function (attrs) { 16888 return _Utils_update( 16889 attrs, 16890 { 16891 s: $elm$core$Maybe$Just(v) 16892 }); 16893 }; 16894}; 16895var $author$project$W$Notification$onClose = function (v) { 16896 return function (attrs) { 16897 return _Utils_update( 16898 attrs, 16899 { 16900 eD: $elm$core$Maybe$Just(v) 16901 }); 16902 }; 16903}; 16904var $author$project$W$Notification$primary = function (attrs) { 16905 return _Utils_update( 16906 attrs, 16907 {U: $uncover_co$elm_theme$Theme$primaryForeground}); 16908}; 16909var $author$project$W$Notification$secondary = function (attrs) { 16910 return _Utils_update( 16911 attrs, 16912 {U: $uncover_co$elm_theme$Theme$secondaryForeground}); 16913}; 16914var $author$project$W$Notification$success = function (attrs) { 16915 return _Utils_update( 16916 attrs, 16917 {U: $uncover_co$elm_theme$Theme$successForeground}); 16918}; 16919var $author$project$W$Notification$defaultAttrs = {U: $uncover_co$elm_theme$Theme$neutralForeground, fr: $elm$core$Maybe$Nothing, ei: $elm$core$Maybe$Nothing, b$: _List_Nil, b0: $elm$core$Maybe$Nothing, s: $elm$core$Maybe$Nothing, eD: $elm$core$Maybe$Nothing}; 16920var $author$project$W$Notification$applyAttrs = function (attrs) { 16921 return A3( 16922 $elm$core$List$foldl, 16923 F2( 16924 function (_v0, a) { 16925 var fn = _v0; 16926 return fn(a); 16927 }), 16928 $author$project$W$Notification$defaultAttrs, 16929 attrs); 16930}; 16931var $author$project$W$Notification$interactiveClass = $elm$html$Html$Attributes$class('ew-appearance-none ew-bg-transparent ew-no-underline ew-focusable hover:before:ew-opacity-[0.05] active:before:ew-opacity-10'); 16932var $author$project$W$Notification$view = F2( 16933 function (attrs_, children_) { 16934 var attrs = $author$project$W$Notification$applyAttrs(attrs_); 16935 var baseAttrs = _Utils_ap( 16936 attrs.b$, 16937 _List_fromArray( 16938 [ 16939 $elm$html$Html$Attributes$class('ew-m-0 ew-box-border ew-relative ew-text-left'), 16940 $elm$html$Html$Attributes$class('ew-flex ew-w-full ew-items-center'), 16941 $elm$html$Html$Attributes$class('ew-font-text ew-text-base ew-font-medium'), 16942 $elm$html$Html$Attributes$class('ew-pb-2 ew-pt-3.5 ew-px-6'), 16943 $elm$html$Html$Attributes$class('ew-min-h-[60px]'), 16944 $elm$html$Html$Attributes$class('ew-bg-base-bg ew-rounded-md ew-shadow-lg'), 16945 $elm$html$Html$Attributes$class('ew-border-solid ew-border-base-aux/10 ew-border'), 16946 $elm$html$Html$Attributes$class('before:ew-content-[\'\'] before:ew-block before:ew-rounded'), 16947 $elm$html$Html$Attributes$class('before:ew-absolute before:ew-inset-0 before:ew-bg-current before:ew-opacity-0'), 16948 $elm$html$Html$Attributes$class('after:ew-content-[\'\'] after:ew-block'), 16949 $elm$html$Html$Attributes$class('after:ew-absolute after:ew-top-0 after:ew-inset-x-0 after:ew-rounded-t'), 16950 $elm$html$Html$Attributes$class('after:ew-h-1.5 after:ew-bg-current'), 16951 A2($elm$html$Html$Attributes$style, 'color', attrs.U) 16952 ])); 16953 var children = A2( 16954 $elm$html$Html$div, 16955 _List_fromArray( 16956 [ 16957 $elm$html$Html$Attributes$class('ew-flex ew-gap-6 ew-items-center ew-w-full ew-relative ew-z-10') 16958 ]), 16959 _List_fromArray( 16960 [ 16961 A2( 16962 $author$project$W$Internal$Helpers$maybeHtml, 16963 $elm$html$Html$div( 16964 _List_fromArray( 16965 [ 16966 $elm$html$Html$Attributes$class('ew-shrink-0 ew-flex ew-items-center') 16967 ])), 16968 attrs.b0), 16969 A2( 16970 $elm$html$Html$div, 16971 _List_fromArray( 16972 [ 16973 $elm$html$Html$Attributes$class('ew-grow ew-flex ew-flex-col') 16974 ]), 16975 _List_fromArray( 16976 [ 16977 A2($elm$html$Html$div, _List_Nil, children_), 16978 A2( 16979 $author$project$W$Internal$Helpers$maybeHtml, 16980 $elm$html$Html$div( 16981 _List_fromArray( 16982 [ 16983 $elm$html$Html$Attributes$class('ew-text-sm ew-font-normal ew-text-base-aux') 16984 ])), 16985 attrs.fr) 16986 ])), 16987 A2( 16988 $author$project$W$Internal$Helpers$maybeHtml, 16989 function (onClose_) { 16990 return A2( 16991 $elm$html$Html$div, 16992 _List_fromArray( 16993 [ 16994 $elm$html$Html$Attributes$class('ew-shrink-0 ew-flex ew-items-center') 16995 ]), 16996 _List_fromArray( 16997 [ 16998 A2( 16999 $author$project$W$Button$view, 17000 _List_fromArray( 17001 [$author$project$W$Button$invisible, $author$project$W$Button$icon, $author$project$W$Button$small]), 17002 { 17003 aK: _List_fromArray( 17004 [ 17005 $elm$html$Html$text('x') 17006 ]), 17007 s: onClose_ 17008 }) 17009 ])); 17010 }, 17011 attrs.eD) 17012 ])); 17013 var _v0 = _Utils_Tuple2(attrs.s, attrs.ei); 17014 if (!_v0.a.$) { 17015 var onClick_ = _v0.a.a; 17016 return A2( 17017 $elm$html$Html$button, 17018 _Utils_ap( 17019 baseAttrs, 17020 _List_fromArray( 17021 [ 17022 $author$project$W$Notification$interactiveClass, 17023 $elm$html$Html$Events$onClick(onClick_) 17024 ])), 17025 _List_fromArray( 17026 [children])); 17027 } else { 17028 if (!_v0.b.$) { 17029 var _v1 = _v0.a; 17030 var href_ = _v0.b.a; 17031 return A2( 17032 $elm$html$Html$a, 17033 _Utils_ap( 17034 baseAttrs, 17035 _List_fromArray( 17036 [ 17037 $author$project$W$Notification$interactiveClass, 17038 $elm$html$Html$Attributes$href(href_) 17039 ])), 17040 _List_fromArray( 17041 [children])); 17042 } else { 17043 return A2( 17044 $elm$html$Html$div, 17045 baseAttrs, 17046 _List_fromArray( 17047 [children])); 17048 } 17049 } 17050 }); 17051var $author$project$W$Notification$warning = function (attrs) { 17052 return _Utils_update( 17053 attrs, 17054 {U: $uncover_co$elm_theme$Theme$warningForeground}); 17055}; 17056var $author$project$Chapters$Information$Notification$chapter_ = A2( 17057 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 17058 A2( 17059 $elm$core$List$map, 17060 function (_v0) { 17061 var attrs = _v0.a; 17062 var label = _v0.b; 17063 return _Utils_Tuple2( 17064 label, 17065 $author$project$UI$vSpacer( 17066 _List_fromArray( 17067 [ 17068 A2( 17069 $author$project$W$Notification$view, 17070 attrs, 17071 _List_fromArray( 17072 [ 17073 $elm$html$Html$text(label) 17074 ])), 17075 A2( 17076 $author$project$W$Notification$view, 17077 A2( 17078 $elm$core$List$cons, 17079 $author$project$W$Notification$onClick( 17080 $dtwrks$elm_book$ElmBook$Actions$logAction('onClick')), 17081 attrs), 17082 _List_fromArray( 17083 [ 17084 $elm$html$Html$text(label) 17085 ])), 17086 A2( 17087 $author$project$W$Notification$view, 17088 A2( 17089 $elm$core$List$cons, 17090 $author$project$W$Notification$onClose( 17091 $dtwrks$elm_book$ElmBook$Actions$logAction('onClose')), 17092 attrs), 17093 _List_fromArray( 17094 [ 17095 $elm$html$Html$text(label) 17096 ])), 17097 A2( 17098 $author$project$W$Notification$view, 17099 A2( 17100 $elm$core$List$cons, 17101 $author$project$W$Notification$href('/logAction/#'), 17102 attrs), 17103 _List_fromArray( 17104 [ 17105 $elm$html$Html$text(label) 17106 ])), 17107 A2( 17108 $author$project$W$Notification$view, 17109 _Utils_ap( 17110 attrs, 17111 _List_fromArray( 17112 [ 17113 $author$project$W$Notification$icon( 17114 _List_fromArray( 17115 [ 17116 $elm$html$Html$text('i') 17117 ])), 17118 $author$project$W$Notification$footer( 17119 _List_fromArray( 17120 [ 17121 $elm$html$Html$text('Footer') 17122 ])) 17123 ])), 17124 _List_fromArray( 17125 [ 17126 $elm$html$Html$text(label) 17127 ])) 17128 ]))); 17129 }, 17130 _List_fromArray( 17131 [ 17132 _Utils_Tuple2(_List_Nil, 'Neutral'), 17133 _Utils_Tuple2( 17134 _List_fromArray( 17135 [$author$project$W$Notification$primary]), 17136 'Primary'), 17137 _Utils_Tuple2( 17138 _List_fromArray( 17139 [$author$project$W$Notification$secondary]), 17140 'Secondary'), 17141 _Utils_Tuple2( 17142 _List_fromArray( 17143 [$author$project$W$Notification$success]), 17144 'Success'), 17145 _Utils_Tuple2( 17146 _List_fromArray( 17147 [$author$project$W$Notification$warning]), 17148 'Warning'), 17149 _Utils_Tuple2( 17150 _List_fromArray( 17151 [$author$project$W$Notification$danger]), 17152 'Danger'), 17153 _Utils_Tuple2( 17154 _List_fromArray( 17155 [ 17156 $author$project$W$Notification$color('purple') 17157 ]), 17158 'Custom') 17159 ])), 17160 $dtwrks$elm_book$ElmBook$Chapter$chapter('Notification')); 17161var $author$project$W$Pagination$Attribute = $elm$core$Basics$identity; 17162var $author$project$W$Pagination$separator = function (v) { 17163 return function (attrs) { 17164 return _Utils_update( 17165 attrs, 17166 {bl: v}); 17167 }; 17168}; 17169var $author$project$W$Pagination$defaultAttrs = { 17170 b$: _List_Nil, 17171 bl: _List_fromArray( 17172 [ 17173 A2( 17174 $elm$html$Html$span, 17175 _List_fromArray( 17176 [ 17177 $elm$html$Html$Attributes$class('ew-relative -ew-top-px') 17178 ]), 17179 _List_fromArray( 17180 [ 17181 $elm$html$Html$text('â') 17182 ])) 17183 ]) 17184}; 17185var $author$project$W$Pagination$applyAttrs = function (attrs) { 17186 return A3( 17187 $elm$core$List$foldl, 17188 F2( 17189 function (_v0, a) { 17190 var fn = _v0; 17191 return fn(a); 17192 }), 17193 $author$project$W$Pagination$defaultAttrs, 17194 attrs); 17195}; 17196var $author$project$W$Internal$Pagination$toPages = F2( 17197 function (active, total) { 17198 return ((active < 1) || (_Utils_cmp(active, total) > 0)) ? $elm$core$Result$Err('Active must be larger than 1 and less or equal length') : $elm$core$Result$Ok( 17199 (total <= 7) ? A2($elm$core$List$range, 1, total) : (((total - active) <= 3) ? _List_fromArray( 17200 [1, -1, total - 4, total - 3, total - 2, total - 1, total]) : ((active <= 4) ? _List_fromArray( 17201 [1, 2, 3, 4, 5, -1, total]) : _List_fromArray( 17202 [1, -1, active - 1, active, active + 1, -1, total])))); 17203 }); 17204var $author$project$W$Pagination$viewWrapper = function (attrs) { 17205 return $elm$html$Html$div( 17206 A2( 17207 $elm$core$List$cons, 17208 $elm$html$Html$Attributes$class('ew-flex ew-items-center ew-font-primary ew-space-x-2 ew-text-base-aux'), 17209 attrs)); 17210}; 17211var $author$project$W$Pagination$view = F2( 17212 function (attrs_, props) { 17213 var _v0 = A2($author$project$W$Internal$Pagination$toPages, props.cS, props.dT); 17214 if (!_v0.$) { 17215 var pages = _v0.a; 17216 var attrs = $author$project$W$Pagination$applyAttrs(attrs_); 17217 return A2( 17218 $author$project$W$Pagination$viewWrapper, 17219 attrs.b$, 17220 A2( 17221 $elm$core$List$map, 17222 function (page) { 17223 return (!_Utils_eq(page, -1)) ? A2( 17224 $author$project$W$Button$view, 17225 _List_fromArray( 17226 [ 17227 $author$project$W$Button$small, 17228 $author$project$W$Button$icon, 17229 _Utils_eq(page, props.cS) ? $author$project$W$Button$primary : $author$project$W$Button$invisible 17230 ]), 17231 { 17232 aK: _List_fromArray( 17233 [ 17234 $elm$html$Html$text( 17235 $elm$core$String$fromInt(page)) 17236 ]), 17237 s: props.s(page) 17238 }) : A2( 17239 $elm$html$Html$span, 17240 _List_fromArray( 17241 [ 17242 $elm$html$Html$Attributes$class('ew-inline-flex ew-items-center ew-leading-none') 17243 ]), 17244 attrs.bl); 17245 }, 17246 pages)); 17247 } else { 17248 var errorMessage = _v0.a; 17249 return $elm$html$Html$text(errorMessage); 17250 } 17251 }); 17252var $author$project$Chapters$Information$Pagination$chapter_ = A2( 17253 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 17254 _List_fromArray( 17255 [ 17256 _Utils_Tuple2( 17257 'Small amount of pages', 17258 A2( 17259 $author$project$W$Pagination$view, 17260 _List_Nil, 17261 { 17262 cS: 1, 17263 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 17264 dT: 3 17265 })), 17266 _Utils_Tuple2( 17267 'medium amount of pages', 17268 A2( 17269 $author$project$W$Pagination$view, 17270 _List_Nil, 17271 { 17272 cS: 5, 17273 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 17274 dT: 8 17275 })), 17276 _Utils_Tuple2( 17277 'big number of pages', 17278 A2( 17279 $author$project$W$Pagination$view, 17280 _List_fromArray( 17281 [ 17282 $author$project$W$Pagination$separator( 17283 _List_fromArray( 17284 [ 17285 $elm$html$Html$text('...') 17286 ])) 17287 ]), 17288 { 17289 cS: 10, 17290 s: A2($dtwrks$elm_book$ElmBook$Actions$logActionWith, $elm$core$String$fromInt, 'onClick'), 17291 dT: 9999 17292 })) 17293 ]), 17294 $dtwrks$elm_book$ElmBook$Chapter$chapter('Pagination')); 17295var $author$project$Chapters$Information$Popover$Show = 0; 17296var $author$project$W$Popover$Attribute = $elm$core$Basics$identity; 17297var $author$project$W$Popover$BottomRight = 7; 17298var $author$project$W$Popover$bottomRight = function (attrs) { 17299 return _Utils_update( 17300 attrs, 17301 {Q: 7}); 17302}; 17303var $author$project$W$Popover$offset = function (v) { 17304 return function (attrs) { 17305 return _Utils_update( 17306 attrs, 17307 {cf: v}); 17308 }; 17309}; 17310var $author$project$W$Popover$RightTop = 4; 17311var $author$project$W$Popover$right = function (attrs) { 17312 return _Utils_update( 17313 attrs, 17314 {Q: 4}); 17315}; 17316var $author$project$W$Popover$showOnHover = function (attrs) { 17317 return _Utils_update( 17318 attrs, 17319 {cE: true}); 17320}; 17321var $author$project$W$Button$viewDummy = F2( 17322 function (attrs_, children) { 17323 var attrs = $author$project$W$Button$applyAttrs(attrs_); 17324 return A2( 17325 $elm$html$Html$div, 17326 A2( 17327 $elm$core$List$cons, 17328 $elm$html$Html$Attributes$tabindex(0), 17329 A2( 17330 $elm$core$List$cons, 17331 $elm$html$Html$Attributes$class('ew-cursor-default'), 17332 $author$project$W$Button$attributes(attrs))), 17333 children); 17334 }); 17335var $author$project$W$Menu$viewDummy = F2( 17336 function (attrs_, label) { 17337 var attrs = $author$project$W$Menu$applyAttrs(attrs_); 17338 return A2( 17339 $elm$html$Html$div, 17340 _Utils_ap( 17341 $author$project$W$Menu$baseAttrs(attrs), 17342 _List_fromArray( 17343 [ 17344 $elm$html$Html$Attributes$class('ew-border-0 ew-focusable'), 17345 $elm$html$Html$Attributes$tabindex(0) 17346 ])), 17347 A2($author$project$W$Menu$baseContent, attrs, label)); 17348 }); 17349var $author$project$W$Popover$BottomLeft = 6; 17350var $author$project$W$Popover$defaultAttrs = { 17351 bW: false, 17352 b$: _List_Nil, 17353 ad: $elm$core$Maybe$Nothing, 17354 cf: 0, 17355 aO: false, 17356 cs: false, 17357 Q: 6, 17358 cE: false, 17359 dW: false, 17360 bC: _Utils_Tuple2('width', 'auto') 17361}; 17362var $author$project$W$Popover$applyAttrs = function (attrs) { 17363 return A3( 17364 $elm$core$List$foldl, 17365 F2( 17366 function (_v0, a) { 17367 var fn = _v0; 17368 return fn(a); 17369 }), 17370 $author$project$W$Popover$defaultAttrs, 17371 attrs); 17372}; 17373var $author$project$W$Popover$view = F2( 17374 function (attrs_, props) { 17375 var offsetValue = '100%'; 17376 var attrs = $author$project$W$Popover$applyAttrs(attrs_); 17377 var crossAnchor = function (x) { 17378 return attrs.bW ? A2($elm$html$Html$Attributes$style, x, '0') : A2($elm$html$Html$Attributes$style, x, 'auto'); 17379 }; 17380 var offsetIfOver = attrs.aO ? '0' : offsetValue; 17381 var offsetPx = attrs.aO ? '0' : ($elm$core$String$fromFloat(attrs.cf) + 'px'); 17382 var positionAttrs = function () { 17383 var _v1 = attrs.Q; 17384 switch (_v1) { 17385 case 0: 17386 return _List_fromArray( 17387 [ 17388 A2($elm$html$Html$Attributes$style, 'left', '0'), 17389 A2($elm$html$Html$Attributes$style, 'bottom', offsetIfOver), 17390 A2($elm$html$Html$Attributes$style, 'padding-bottom', offsetPx), 17391 crossAnchor('right') 17392 ]); 17393 case 1: 17394 return _List_fromArray( 17395 [ 17396 A2($elm$html$Html$Attributes$style, 'right', '0'), 17397 A2($elm$html$Html$Attributes$style, 'bottom', offsetIfOver), 17398 A2($elm$html$Html$Attributes$style, 'padding-bottom', offsetPx), 17399 crossAnchor('left') 17400 ]); 17401 case 6: 17402 return _List_fromArray( 17403 [ 17404 A2($elm$html$Html$Attributes$style, 'left', '0'), 17405 A2($elm$html$Html$Attributes$style, 'top', offsetIfOver), 17406 A2($elm$html$Html$Attributes$style, 'padding-top', offsetPx), 17407 crossAnchor('right') 17408 ]); 17409 case 7: 17410 return _List_fromArray( 17411 [ 17412 A2($elm$html$Html$Attributes$style, 'right', '0'), 17413 A2($elm$html$Html$Attributes$style, 'top', offsetIfOver), 17414 A2($elm$html$Html$Attributes$style, 'padding-top', offsetPx), 17415 crossAnchor('left') 17416 ]); 17417 case 2: 17418 return _List_fromArray( 17419 [ 17420 A2($elm$html$Html$Attributes$style, 'right', offsetValue), 17421 A2($elm$html$Html$Attributes$style, 'top', '0'), 17422 A2($elm$html$Html$Attributes$style, 'padding-right', offsetPx) 17423 ]); 17424 case 3: 17425 return _List_fromArray( 17426 [ 17427 A2($elm$html$Html$Attributes$style, 'right', offsetValue), 17428 A2($elm$html$Html$Attrib
17428utes$style, 'bottom', '0'), 17429 A2($elm$html$Html$Attributes$style, 'padding-right', offsetPx) 17430 ]); 17431 case 4: 17432 return _List_fromArray( 17433 [ 17434 A2($elm$html$Html$Attributes$style, 'left', offsetValue), 17435 A2($elm$html$Html$Attributes$style, 'top', '0'), 17436 A2($elm$html$Html$Attributes$style, 'padding-left', offsetPx) 17437 ]); 17438 default: 17439 return _List_fromArray( 17440 [ 17441 A2($elm$html$Html$Attributes$style, 'left', offsetValue), 17442 A2($elm$html$Html$Attributes$style, 'bottom', '0'), 17443 A2($elm$html$Html$Attributes$style, 'padding-left', offsetPx) 17444 ]); 17445 } 17446 }(); 17447 return A2( 17448 $elm$html$Html$div, 17449 _List_fromArray( 17450 [ 17451 $elm$html$Html$Attributes$class('ew-popover ew-inline-flex ew-relative'), 17452 function () { 17453 var _v0 = attrs.ad; 17454 if (!_v0.$) { 17455 var isOpen_ = _v0.a; 17456 return $elm$html$Html$Attributes$classList( 17457 _List_fromArray( 17458 [ 17459 _Utils_Tuple2('ew-is-open', isOpen_), 17460 _Utils_Tuple2('ew-is-closed', !isOpen_) 17461 ])); 17462 } else { 17463 return $elm$html$Html$Attributes$classList( 17464 _List_fromArray( 17465 [ 17466 _Utils_Tuple2('ew-show-on-hover', attrs.cE), 17467 _Utils_Tuple2('ew-persistent', attrs.cs) 17468 ])); 17469 } 17470 }() 17471 ]), 17472 _List_fromArray( 17473 [ 17474 A2( 17475 $elm$html$Html$div, 17476 _List_fromArray( 17477 [ 17478 $elm$html$Html$Attributes$class('ew-popover-trigger ew-w-full') 17479 ]), 17480 props.cY), 17481 A2( 17482 $elm$html$Html$div, 17483 _Utils_ap( 17484 positionAttrs, 17485 _List_fromArray( 17486 [ 17487 $elm$html$Html$Attributes$class('ew-popover-content ew-absolute ew-z-[9999] shrink-0'), 17488 $elm$html$Html$Attributes$classList( 17489 _List_fromArray( 17490 [ 17491 _Utils_Tuple2('ew-min-w-full', attrs.aO) 17492 ])) 17493 ])), 17494 _List_fromArray( 17495 [ 17496 A2( 17497 $elm$html$Html$div, 17498 _Utils_ap( 17499 attrs.b$, 17500 _List_fromArray( 17501 [ 17502 $elm$html$Html$Attributes$class('ew-overflow-visible'), 17503 $uncover_co$elm_theme$Theme$styles( 17504 _List_fromArray( 17505 [attrs.bC])), 17506 $elm$html$Html$Attributes$classList( 17507 _List_fromArray( 17508 [ 17509 _Utils_Tuple2('ew-bg-base-bg ew-rounded-sm ew-border-solid ew-border ew-border-base-aux/20 ew-shadow-lg', !attrs.dW) 17510 ])) 17511 ])), 17512 props.c$) 17513 ])) 17514 ])); 17515 }); 17516var $author$project$W$Popover$viewNext = F2( 17517 function (attrs, props) { 17518 return A2( 17519 $author$project$W$Popover$view, 17520 attrs, 17521 {cY: props.dU, c$: props.c$}); 17522 }); 17523var $author$project$W$Popover$width = function (v) { 17524 return function (attrs) { 17525 return _Utils_update( 17526 attrs, 17527 { 17528 bC: _Utils_Tuple2( 17529 'width', 17530 $elm$core$String$fromInt(v) + 'px') 17531 }); 17532 }; 17533}; 17534var $author$project$Chapters$Information$Popover$children = function (label) { 17535 return { 17536 c$: _List_fromArray( 17537 [ 17538 A2( 17539 $author$project$W$Container$view, 17540 _List_fromArray( 17541 [$author$project$W$Container$card]), 17542 _List_fromArray( 17543 [ 17544 $author$project$W$Menu$view( 17545 _List_fromArray( 17546 [ 17547 A2( 17548 $author$project$W$Menu$viewButton, 17549 _List_Nil, 17550 { 17551 aK: _List_fromArray( 17552 [ 17553 $elm$html$Html$text('Item') 17554 ]), 17555 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 17556 }), 17557 A2( 17558 $author$project$W$Menu$viewButton, 17559 _List_Nil, 17560 { 17561 aK: _List_fromArray( 17562 [ 17563 $elm$html$Html$text('Item') 17564 ]), 17565 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 17566 }), 17567 A2($author$project$W$Divider$view, _List_Nil, _List_Nil), 17568 A2( 17569 $author$project$W$Popover$viewNext, 17570 _List_fromArray( 17571 [ 17572 $author$project$W$Popover$showOnHover, 17573 $author$project$W$Popover$right, 17574 $author$project$W$Popover$width(80), 17575 $author$project$W$Popover$offset(4) 17576 ]), 17577 { 17578 c$: _List_fromArray( 17579 [ 17580 A2( 17581 $author$project$W$Menu$viewButton, 17582 _List_Nil, 17583 { 17584 aK: _List_fromArray( 17585 [ 17586 $elm$html$Html$text('Item') 17587 ]), 17588 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 17589 }), 17590 A2( 17591 $author$project$W$Menu$viewButton, 17592 _List_Nil, 17593 { 17594 aK: _List_fromArray( 17595 [ 17596 $elm$html$Html$text('Item') 17597 ]), 17598 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 17599 }) 17600 ]), 17601 dU: _List_fromArray( 17602 [ 17603 A2( 17604 $author$project$W$Menu$viewDummy, 17605 _List_Nil, 17606 _List_fromArray( 17607 [ 17608 $elm$html$Html$text('Item') 17609 ])) 17610 ]) 17611 }) 17612 ])) 17613 ])) 17614 ]), 17615 dU: _List_fromArray( 17616 [ 17617 A2( 17618 $author$project$W$Button$viewDummy, 17619 _List_Nil, 17620 _List_fromArray( 17621 [ 17622 $elm$html$Html$text(label) 17623 ])) 17624 ]) 17625 }; 17626}; 17627var $author$project$W$Text$color = function (v) { 17628 return function (attrs) { 17629 return _Utils_update( 17630 attrs, 17631 {U: v}); 17632 }; 17633}; 17634var $author$project$W$Popover$full = function (v) { 17635 return function (attrs) { 17636 return _Utils_update( 17637 attrs, 17638 {bW: v}); 17639 }; 17640}; 17641var $author$project$W$Popover$LeftTop = 2; 17642var $author$project$W$Popover$left = function (attrs) { 17643 return _Utils_update( 17644 attrs, 17645 {Q: 2}); 17646}; 17647var $author$project$W$Popover$LeftBottom = 3; 17648var $author$project$W$Popover$leftBottom = function (attrs) { 17649 return _Utils_update( 17650 attrs, 17651 {Q: 3}); 17652}; 17653var $author$project$W$Popover$over = function (attrs) { 17654 return _Utils_update( 17655 attrs, 17656 {aO: true}); 17657}; 17658var $author$project$W$Popover$persistent = function (attrs) { 17659 return _Utils_update( 17660 attrs, 17661 {cs: true}); 17662}; 17663var $author$project$W$Popover$RightBottom = 5; 17664var $author$project$W$Popover$rightBottom = function (attrs) { 17665 return _Utils_update( 17666 attrs, 17667 {Q: 5}); 17668}; 17669var $author$project$W$Container$shadow = $author$project$W$Container$addClass('ew-shadow'); 17670var $author$project$W$Popover$TopLeft = 0; 17671var $author$project$W$Popover$top = function (attrs) { 17672 return _Utils_update( 17673 attrs, 17674 {Q: 0}); 17675}; 17676var $author$project$W$Popover$TopRight = 1; 17677var $author$project$W$Popover$topRight = function (attrs) { 17678 return _Utils_update( 17679 attrs, 17680 {Q: 1}); 17681}; 17682var $author$project$Chapters$Information$Popover$Tick = 1; 17683var $author$project$Chapters$Information$Popover$scheduleTick = A2( 17684 $elm$core$Task$perform, 17685 function (_v0) { 17686 return 1; 17687 }, 17688 $elm$core$Process$sleep(1000)); 17689var $author$project$Chapters$Information$Popover$update = F2( 17690 function (msg, model) { 17691 if (!msg) { 17692 return _Utils_Tuple2( 17693 _Utils_update( 17694 model, 17695 {ad: true, ar: 5}), 17696 $author$project$Chapters$Information$Popover$scheduleTick); 17697 } else { 17698 return (model.ar === 1) ? _Utils_Tuple2( 17699 _Utils_update( 17700 model, 17701 {ad: false}), 17702 $elm$core$Platform$Cmd$none) : _Utils_Tuple2( 17703 _Utils_update( 17704 model, 17705 {ar: model.ar - 1}), 17706 $author$project$Chapters$Information$Popover$scheduleTick); 17707 } 17708 }); 17709var $author$project$W$Popover$isOpen = function (v) { 17710 return function (attrs) { 17711 return _Utils_update( 17712 attrs, 17713 { 17714 ad: $elm$core$Maybe$Just(v) 17715 }); 17716 }; 17717}; 17718var $author$project$W$Popover$viewControlled = F2( 17719 function (attrs, props) { 17720 return A2( 17721 $author$project$W$Popover$view, 17722 A2( 17723 $elm$core$List$cons,
17724 $author$project$W$Popover$isOpen(props.ad), 17725 attrs), 17726 {cY: props.dU, c$: props.c$}); 17727 }); 17728var $dtwrks$elm_book$ElmBook$Chapter$withStatefulComponent = F2( 17729 function (view_, _v0) { 17730 var builder = _v0; 17731 return _Utils_update( 17732 builder, 17733 { 17734 m: A2( 17735 $elm$core$List$cons, 17736 { 17737 aK: '', 17738 cP: $dtwrks$elm_book$ElmBook$Internal$Chapter$ChapterComponentViewStateful(view_) 17739 }, 17740 builder.m) 17741 }); 17742 }); 17743var $author$project$Chapters$Information$Popover$chapter_ = A2( 17744 $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList, 17745 '', 17746 A2( 17747 $dtwrks$elm_book$ElmBook$Chapter$withStatefulComponent, 17748 function (_v1) { 17749 var popover = _v1.dx; 17750 return A2( 17751 $elm$html$Html$map, 17752 $dtwrks$elm_book$ElmBook$Actions$mapUpdateWithCmd( 17753 { 17754 fv: function ($) { 17755 return $.dx; 17756 }, 17757 gu: F2( 17758 function (state, m) { 17759 return _Utils_update( 17760 state, 17761 {dx: m}); 17762 }), 17763 gx: $author$project$Chapters$Information$Popover$update 17764 }), 17765 A2( 17766 $author$project$W$Popover$viewControlled, 17767 _List_fromArray( 17768 [ 17769 $author$project$W$Popover$right, 17770 $author$project$W$Popover$offset(4), 17771 $author$project$W$Popover$width(160) 17772 ]), 17773 { 17774 c$: _List_fromArray( 17775 [ 17776 A2( 17777 $author$project$W$Container$view, 17778 _List_fromArray( 17779 [ 17780 $author$project$W$Container$pad_4, 17781 $author$project$W$Container$shadow, 17782 $author$project$W$Container$extraRounded, 17783 $author$project$W$Container$background($uncover_co$elm_theme$Theme$warningBackground) 17784 ]), 17785 _List_fromArray( 17786 [ 17787 A2( 17788 $author$project$W$Text$view, 17789 _List_fromArray( 17790 [ 17791 $author$project$W$Text$color($uncover_co$elm_theme$Theme$warningForeground) 17792 ]), 17793 _List_fromArray( 17794 [ 17795 $elm$html$Html$text('I\'ll only close when I want to.') 17796 ])) 17797 ])) 17798 ]), 17799 ad: popover.ad, 17800 dU: _List_fromArray( 17801 [ 17802 A2( 17803 $author$project$W$Button$view, 17804 _List_fromArray( 17805 [ 17806 $author$project$W$Button$disabled(popover.ad) 17807 ]), 17808 { 17809 aK: _List_fromArray( 17810 [ 17811 (!popover.ad) ? $elm$html$Html$text('Show Popover') : $elm$html$Html$text( 17812 'Closing in⦠' + $elm$core$String$fromInt(popover.ar)) 17813 ]), 17814 s: 0 17815 }) 17816 ]) 17817 })); 17818 }, 17819 A2( 17820 $dtwrks$elm_book$ElmBook$Chapter$withComponentList, 17821 A2( 17822 $elm$core$List$map, 17823 function (_v0) { 17824 var label = _v0.a; 17825 var attrs = _v0.b; 17826 return _Utils_Tuple2( 17827 label, 17828 $author$project$UI$hSpacer( 17829 _List_fromArray( 17830 [ 17831 A2( 17832 $author$project$W$Popover$viewNext, 17833 attrs, 17834 $author$project$Chapters$Information$Popover$children('Default')), 17835 A2( 17836 $author$project$W$Popover$viewNext, 17837 A2($elm$core$List$cons, $author$project$W$Popover$over, attrs), 17838 $author$project$Chapters$Information$Popover$children('Over')), 17839 A2( 17840 $author$project$W$Popover$viewNext, 17841 A2( 17842 $elm$core$List$cons, 17843 $author$project$W$Popover$offset(4), 17844 attrs), 17845 $author$project$Chapters$Information$Popover$children('Offset')), 17846 A2( 17847 $author$project$W$Popover$viewNext, 17848 A2( 17849 $elm$core$List$cons, 17850 $author$project$W$Popover$full(true), 17851 attrs), 17852 $author$project$Chapters$Information$Popover$children('Full')), 17853 A2( 17854 $author$project$W$Popover$viewNext, 17855 A2( 17856 $elm$core$List$cons, 17857 $author$project$W$Popover$showOnHover, 17858 A2( 17859 $elm$core$List$cons, 17860 $author$project$W$Popover$offset(4), 17861 attrs)), 17862 $author$project$Chapters$Information$Popover$children('Hover')) 17863 ]))); 17864 }, 17865 _List_fromArray( 17866 [ 17867 _Utils_Tuple2( 17868 'Bottom (Persistent)', 17869 _List_fromArray( 17870 [$author$project$W$Popover$persistent])), 17871 _Utils_Tuple2( 17872 'Bottom Right', 17873 _List_fromArray( 17874 [$author$project$W$Popover$bottomRight])), 17875 _Utils_Tuple2( 17876 'Top', 17877 _List_fromArray( 17878 [$author$project$W$Popover$top])), 17879 _Utils_Tuple2( 17880 'Top Right', 17881 _List_fromArray( 17882 [$author$project$W$Popover$topRight])), 17883 _Utils_Tuple2( 17884 'Left', 17885 _List_fromArray( 17886 [$author$project$W$Popover$left])), 17887 _Utils_Tuple2( 17888 'Left Bottom', 17889 _List_fromArray( 17890 [$author$project$W$Popover$leftBottom])), 17891 _Utils_Tuple2( 17892 'Right', 17893 _List_fromArray( 17894 [$author$project$W$Popover$right])), 17895 _Utils_Tuple2( 17896 'Right Bottom', 17897 _List_fromArray( 17898 [$author$project$W$Popover$rightBottom])) 17899 ])), 17900 $dtwrks$elm_book$ElmBook$Chapter$chapter('Popover')))); 17901var $author$project$W$Table$columnAttrs = F2( 17902 function (label, toHtml) { 17903 return { 17904 Z: $elm$html$Html$Attributes$class('ew-text-left'), 17905 bP: $elm$core$Maybe$Nothing, 17906 bQ: $elm$core$Maybe$Nothing, 17907 bR: $elm$core$Maybe$Nothing, 17908 b$: _List_Nil, 17909 aK: label, 17910 b7: '', 17911 b8: false, 17912 aY: $elm$core$Maybe$Nothing, 17913 e0: toHtml, 17914 y: $elm$html$Html$Attributes$class('') 17915 }; 17916 }); 17917var $author$project$W$Table$Column = $elm$core$Basics$identity; 17918var $author$project$W$Table$column_ = F2( 17919 function (_default, attrs) { 17920 return A3( 17921 $elm$core$List$foldl, 17922 F2( 17923 function (_v0, a) { 17924 var fn = _v0; 17925 return fn(a); 17926 }), 17927 _default, 17928 attrs); 17929 }); 17930var $author$project$W$InputCheckbox$viewReadOnly = F2( 17931 function (attrs_, value) { 17932 return A2( 17933 $elm$html$Html$input, 17934 A2( 17935 $author$project$W$InputCheckbox$baseAttrs, 17936 A2( 17937 $elm$core$List$cons, 17938 $author$project$W$InputCheckbox$readOnly(true),
17939 attrs_), 17940 value), 17941 _List_Nil); 17942 }); 17943var $author$project$W$Table$bool = F2( 17944 function (attrs_, props) { 17945 var _default = A2( 17946 $author$project$W$Table$columnAttrs, 17947 props.aK, 17948 function (a) { 17949 return A2( 17950 $author$project$W$InputCheckbox$viewReadOnly, 17951 _List_Nil, 17952 props.cN(a)); 17953 }); 17954 return A2( 17955 $author$project$W$Table$column_, 17956 _Utils_update( 17957 _default, 17958 { 17959 Z: $elm$html$Html$Attributes$class('ew-text-right') 17960 }), 17961 attrs_); 17962 }); 17963var $author$project$W$Table$column = F2( 17964 function (attrs_, props) { 17965 return A2( 17966 $author$project$W$Table$column_, 17967 A2($author$project$W$Table$columnAttrs, props.aK, props.c$), 17968 attrs_); 17969 }); 17970var $author$project$W$Table$ColumnAttribute = $elm$core$Basics$identity; 17971var $author$project$W$Table$customLabel = function (value) { 17972 return function (attrs) { 17973 return _Utils_update( 17974 attrs, 17975 { 17976 bP: $elm$core$Maybe$Just(value) 17977 }); 17978 }; 17979}; 17980var $author$project$Chapters$Information$Table$data = $elm$core$List$concat( 17981 A2( 17982 $elm$core$List$repeat, 17983 10, 17984 _List_fromArray( 17985 [ 17986 {S: 33, w: 'Georges Boris', ct: 'https://picsum.photos/100', cu: false, cB: 85}, 17987 {S: 35, w: 'Janine Bonfadini', ct: 'https://picsum.photos/120', cu: true, cB: 904.6} 17988 ]))); 17989var $author$project$W$Table$float = F2( 17990 function (attrs_, props) { 17991 var _default = A2( 17992 $author$project$W$Table$columnAttrs, 17993 props.aK, 17994 function (a) { 17995 return $elm$html$Html$text( 17996 $elm$core$String$fromFloat( 17997 props.cN(a))); 17998 }); 17999 return A2( 18000 $author$project$W$Table$column_, 18001 _Utils_update( 18002 _default, 18003 { 18004 Z: $elm$html$Html$Attributes$class('ew-text-right') 18005 }), 18006 attrs_); 18007 }); 18008var $author$project$W$Table$Attribute = $elm$core$Basics$identity; 18009var $author$project$W$Table$groupBy = function (v) { 18010 return function (attrs) { 18011 return _Utils_update( 18012 attrs, 18013 { 18014 bX: $elm$core$Maybe$Just(v) 18015 }); 18016 }; 18017}; 18018var $author$project$W$Table$groupCollapsed = function (fn) { 18019 return function (attrs) { 18020 return _Utils_update( 18021 attrs, 18022 { 18023 bY: $elm$core$Maybe$Just(fn) 18024 }); 18025 }; 18026}; 18027var $author$project$W$Table$groupLabel = function (attrs) { 18028 return _Utils_update( 18029 attrs, 18030 { 18031 aY: $elm$core$Maybe$Just( 18032 F3( 18033 function (label, _v0, _v1) { 18034 return $elm$html$Html$text(label); 18035 })) 18036 }); 18037}; 18038var $author$project$W$Table$groupValue = function (fn) { 18039 return function (attrs) { 18040 return _Utils_update( 18041 attrs, 18042 { 18043 aY: $elm$core$Maybe$Just( 18044 F3( 18045 function (x, _v0, xs) { 18046 return A2(fn, x, xs); 18047 })) 18048 }); 18049 }; 18050}; 18051var $elm$html$Html$Attributes$height = function (n) { 18052 return A2( 18053 _VirtualDom_attribute, 18054 'height', 18055 $elm$core$String$fromInt(n)); 18056}; 18057var $author$project$W$Table$highlight = function (v) { 18058 return function (attrs) { 18059 return _Utils_update( 18060 attrs, 18061 {b_: v}); 18062 }; 18063}; 18064var $author$project$W$Table$htmlAttrs = function (v) { 18065 return function (attrs) { 18066 return _Utils_update( 18067 attrs, 18068 {b$: v}); 18069 }; 18070}; 18071var $elm$html$Html$img = _VirtualDom_node('img'); 18072var $author$project$W$Table$int = F2( 18073 function (attrs_, props) { 18074 var _default = A2( 18075 $author$project$W$Table$columnAttrs, 18076 props.aK, 18077 function (a) { 18078 return $elm$html$Html$text( 18079 $elm$core$String$fromInt( 18080 props.cN(a))); 18081 }); 18082 return A2( 18083 $author$project$W$Table$column_, 18084 _Utils_update( 18085 _default, 18086 { 18087 Z: $elm$html$Html$Attributes$class('ew-text-right') 18088 }), 18089 attrs_); 18090 }); 18091var $author$project$W$Table$labelLeft = function (value) { 18092 return function (attrs) { 18093 return _Utils_update( 18094 attrs, 18095 { 18096 bQ: $elm$core$Maybe$Just(value) 18097 }); 18098 }; 18099}; 18100var $author$project$W$Table$labelRight = function (value) { 18101 return function (attrs) { 18102 return _Utils_update( 18103 attrs, 18104 { 18105 bR: $elm$core$Maybe$Just(value) 18106 }); 18107 }; 18108}; 18109var $author$project$W$Table$largeScreenOnly = function (attrs) { 18110 return _Utils_update( 18111 attrs, 18112 {b8: true}); 18113}; 18114var $author$project$W$Table$onClick = function (v) { 18115 return function (attrs) { 18116 return _Utils_update( 18117 attrs, 18118 { 18119 s: $elm$core$Maybe$Just(v) 18120 }); 18121 }; 18122}; 18123var $author$project$W$Table$onGroupClick = function (v) { 18124 return function (attrs) { 18125 return _Utils_update( 18126 attrs, 18127 { 18128 bi: $elm$core$Maybe$Just(v) 18129 }); 18130 }; 18131}; 18132var $author$project$W$Table$onGroupMouseEnter = function (v) { 18133 return function (attrs) { 18134 return _Utils_update( 18135 attrs, 18136 { 18137 ck: $elm$core$Maybe$Just(v) 18138 }); 18139 }; 18140}; 18141var $author$project$W$Table$onGroupMouseLeave = function (v) { 18142 return function (attrs) { 18143 return _Utils_update( 18144 attrs, 18145 { 18146 cl: $elm$core$Maybe$Just(v) 18147 }); 18148 }; 18149}; 18150var $author$project$W$Table$onMouseEnter = function (v) { 18151 return function (attrs) { 18152 return _Utils_update( 18153 attrs, 18154 { 18155 cn: $elm$core$Maybe$Just(v) 18156 }); 18157 }; 18158}; 18159var $author$project$W$Table$onMouseLeave = function (v) { 18160 return function (attrs) { 18161 return _Utils_update( 18162 attrs, 18163 { 18164 co: $elm$core$Maybe$Just(v) 18165 }); 18166 }; 18167}; 18168var $elm$html$Html$Attributes$src = function (url) { 18169 return A2( 18170 $elm$html$Html$Attributes$stringProperty, 18171 'src', 18172 _VirtualDom_noJavaScriptOrHtmlUri(url)); 18173}; 18174var $author$project$W$Table$string = F2( 18175 function (attrs_, props) { 18176 return A2( 18177 $author$project$W$Table$column_, 18178 A2( 18179 $author$project$W$Table$columnAttrs, 18180 props.aK, 18181 function (a) { 18182 return $elm$html$Html$text( 18183 props.cN(a)); 18184 }), 18185 attrs_); 18186 }); 18187var $author$project$W$Table$defaultAttrs = { 18188 bX: $elm$core$Maybe$Nothing, 18189 bY: $elm$core$Maybe$Nothing, 18190 a8: $elm$core$Basics$identity, 18191 b_: function (_v0) { 18192 return false;
18193 }, 18194 b$: _List_Nil, 18195 s: $elm$core$Maybe$Nothing, 18196 bi: $elm$core$Maybe$Nothing, 18197 ck: $elm$core$Maybe$Nothing, 18198 cl: $elm$core$Maybe$Nothing, 18199 cn: $elm$core$Maybe$Nothing, 18200 co: $elm$core$Maybe$Nothing, 18201 cD: true 18202}; 18203var $author$project$W$Table$applyAttrs = function (attrs) { 18204 return A3( 18205 $elm$core$List$foldl, 18206 F2( 18207 function (_v0, a) { 18208 var fn = _v0; 18209 return fn(a); 18210 }), 18211 $author$project$W$Table$defaultAttrs, 18212 attrs); 18213}; 18214var $elm$html$Html$Events$onMouseLeave = function (msg) { 18215 return A2( 18216 $elm$html$Html$Events$on, 18217 'mouseleave', 18218 $elm$json$Json$Decode$succeed(msg)); 18219}; 18220var $author$project$W$Internal$Helpers$or = F3( 18221 function (a, b, cond) { 18222 return cond ? a : b; 18223 }); 18224var $elm$html$Html$table = _VirtualDom_node('table'); 18225var $elm$html$Html$tbody = _VirtualDom_node('tbody'); 18226var $elm$html$Html$thead = _VirtualDom_node('thead'); 18227var $elm$core$Dict$getMin = function (dict) { 18228 getMin: 18229 while (true) { 18230 if ((dict.$ === -1) && (dict.d.$ === -1)) { 18231 var left = dict.d; 18232 var $temp$dict = left; 18233 dict = $temp$dict; 18234 continue getMin; 18235 } else { 18236 return dict; 18237 } 18238 } 18239}; 18240var $elm$core$Dict$moveRedLeft = function (dict) { 18241 if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) { 18242 if ((dict.e.d.$ === -1) && (!dict.e.d.a)) { 18243 var clr = dict.a; 18244 var k = dict.b; 18245 var v = dict.c; 18246 var _v1 = dict.d; 18247 var lClr = _v1.a; 18248 var lK = _v1.b; 18249 var lV = _v1.c; 18250 var lLeft = _v1.d; 18251 var lRight = _v1.e; 18252 var _v2 = dict.e; 18253 var rClr = _v2.a; 18254 var rK = _v2.b; 18255 var rV = _v2.c; 18256 var rLeft = _v2.d; 18257 var _v3 = rLeft.a; 18258 var rlK = rLeft.b; 18259 var rlV = rLeft.c; 18260 var rlL = rLeft.d; 18261 var rlR = rLeft.e; 18262 var rRight = _v2.e; 18263 return A5( 18264 $elm$core$Dict$RBNode_elm_builtin, 18265 0, 18266 rlK, 18267 rlV, 18268 A5( 18269 $elm$core$Dict$RBNode_elm_builtin, 18270 1, 18271 k, 18272 v, 18273 A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), 18274 rlL), 18275 A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rlR, rRight)); 18276 } else { 18277 var clr = dict.a; 18278 var k = dict.b; 18279 var v = dict.c; 18280 var _v4 = dict.d; 18281 var lClr = _v4.a; 18282 var lK = _v4.b; 18283 var lV = _v4.c; 18284 var lLeft = _v4.d; 18285 var lRight = _v4.e; 18286 var _v5 = dict.e; 18287 var rClr = _v5.a; 18288 var rK = _v5.b; 18289 var rV = _v5.c; 18290 var rLeft = _v5.d; 18291 var rRight = _v5.e; 18292 if (clr === 1) { 18293 return A5( 18294 $elm$core$Dict$RBNode_elm_builtin, 18295 1, 18296 k, 18297 v, 18298 A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), 18299 A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); 18300 } else { 18301 return A5( 18302 $elm$core$Dict$RBNode_elm_builtin, 18303 1, 18304 k, 18305 v, 18306 A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), 18307 A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); 18308 } 18309 } 18310 } else { 18311 return dict; 18312 } 18313}; 18314var $elm$core$Dict$moveRedRight = function (dict) { 18315 if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) { 18316 if ((dict.d.d.$ === -1) && (!dict.d.d.a)) { 18317 var clr = dict.a; 18318 var k = dict.b; 18319 var v = dict.c; 18320 var _v1 = dict.d; 18321 var lClr = _v1.a; 18322 var lK = _v1.b; 18323 var lV = _v1.c; 18324 var _v2 = _v1.d; 18325 var _v3 = _v2.a; 18326 var llK = _v2.b; 18327 var llV = _v2.c; 18328 var llLeft = _v2.d; 18329 var llRight = _v2.e; 18330 var lRight = _v1.e; 18331 var _v4 = dict.e; 18332 var rClr = _v4.a; 18333 var rK = _v4.b; 18334 var rV = _v4.c; 18335 var rLeft = _v4.d; 18336 var rRight = _v4.e; 18337 return A5( 18338 $elm$core$Dict$RBNode_elm_builtin, 18339 0, 18340 lK, 18341 lV, 18342 A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), 18343 A5( 18344 $elm$core$Dict$RBNode_elm_builtin, 18345 1, 18346 k, 18347 v, 18348 lRight, 18349 A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight))); 18350 } else { 18351 var clr = dict.a; 18352 var k = dict.b; 18353 var v = dict.c; 18354 var _v5 = dict.d; 18355 var lClr = _v5.a; 18356 var lK = _v5.b; 18357 var lV = _v5.c; 18358 var lLeft = _v5.d; 18359 var lRight = _v5.e; 18360 var _v6 = dict.e; 18361 var rClr = _v6.a; 18362 var rK = _v6.b; 18363 var rV = _v6.c; 18364 var rLeft = _v6.d; 18365 var rRight = _v6.e; 18366 if (clr === 1) { 18367 return A5( 18368 $elm$core$Dict$RBNode_elm_builtin, 18369 1, 18370 k, 18371 v, 18372 A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), 18373 A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); 18374 } else { 18375 return A5( 18376 $elm$core$Dict$RBNode_elm_builtin, 18377 1, 18378 k, 18379 v, 18380 A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), 18381 A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); 18382 } 18383 } 18384 } else { 18385 return dict; 18386 } 18387}; 18388var $elm$core$Dict$removeHelpPrepEQGT = F7( 18389 function (targetKey, dict, color, key, value, left, right) { 18390 if ((left.$ === -1) && (!left.a)) { 18391 var _v1 = left.a; 18392 var lK = left.b; 18393 var lV = left.c; 18394 var lLeft = left.d; 18395 var lRight = left.e; 18396 return A5( 18397 $elm$core$Dict$RBNode_elm_builtin, 18398 color, 18399 lK, 18400 lV, 18401 lLeft, 18402 A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, lRight, right)); 18403 } else { 18404 _v2$2: 18405 while (true) { 18406 if ((right.$ === -1) && (right.a === 1)) { 18407 if (right.d.$ === -1) { 18408 if (right.d.a === 1) { 18409 var _v3 = right.a; 18410 var _v4 = right.d; 18411 var _v5 = _v4.a; 18412 return $elm$core$Dict$moveRedRight(dict); 18413 } else { 18414 break _v2$2; 18415 } 18416 } else { 18417 var _v6 = right.a; 18418 var _v7 = right.d; 18419 return $elm$core$Dict$moveRedRight(dict); 18420 } 18421 } else { 18422 break _v2$2; 18423 } 18424 } 18425 return dict; 18426 } 18427 }); 18428var $elm$core$Dict$removeMin = function (dict) { 18429 if ((dict.$ === -1) && (dict.d.$ === -1)) { 18430 var color = dict.a; 18431 var key = dict.b; 18432 var value = dict.c; 18433 var left = dict.d; 18434 var lColor = left.a; 18435 var lLeft = left.d; 18436 var right = dict.e; 18437 if (lColor === 1) { 18438 if ((lLeft.$ === -1) && (!lLeft.a)) { 18439 var _v3 = lLeft.a; 18440 return A5( 18441 $elm$core$Dict$RBNode_elm_builtin, 18442 color, 18443 key, 18444 value, 18445 $elm$core$Dict$removeMin(left), 18446 right); 18447 } else { 18448 var _v4 = $elm$core$Dict$moveRedLeft(dict); 18449 if (_v4.$ === -1) { 18450 var nColor = _v4.a; 18451 var nKey = _v4.b; 18452 var nValue = _v4.c; 18453 var nLeft = _v4.d; 18454 var nRight = _v4.e; 18455 return A5( 18456 $elm$core$Dict$balance, 18457 nColor, 18458 nKey, 18459 nValue, 18460 $elm$core$Dict$removeMin(nLeft), 18461 nRight); 18462 } else { 18463 return $elm$core$Dict$RBEmpty_elm_builtin; 18464 } 18465 } 18466 } else { 18467 return A5( 18468 $elm$core$Dict$RBNode_elm_builtin, 18469 color, 18470 key, 18471 value, 18472 $elm$core$Dict$removeMin(left), 18473 right); 18474 } 18475 } else { 18476 return $elm$core$Dict$RBEmpty_elm_builtin; 18477 } 18478}; 18479var $elm$core$Dict$removeHelp = F2( 18480 function (targetKey, dict) { 18481 if (dict.$ === -2) { 18482 return $elm$core$Dict$RBEmpty_elm_builtin; 18483 } else { 18484 var color = dict.a; 18485 var key = dict.b; 18486 var value = dict.c; 18487 var left = dict.d; 18488 var right = dict.e;
18489 if (_Utils_cmp(targetKey, key) < 0) { 18490 if ((left.$ === -1) && (left.a === 1)) { 18491 var _v4 = left.a; 18492 var lLeft = left.d; 18493 if ((lLeft.$ === -1) && (!lLeft.a)) { 18494 var _v6 = lLeft.a; 18495 return A5( 18496 $elm$core$Dict$RBNode_elm_builtin, 18497 color, 18498 key, 18499 value, 18500 A2($elm$core$Dict$removeHelp, targetKey, left), 18501 right); 18502 } else { 18503 var _v7 = $elm$core$Dict$moveRedLeft(dict); 18504 if (_v7.$ === -1) { 18505 var nColor = _v7.a; 18506 var nKey = _v7.b; 18507 var nValue = _v7.c; 18508 var nLeft = _v7.d; 18509 var nRight = _v7.e; 18510 return A5( 18511 $elm$core$Dict$balance, 18512 nColor, 18513 nKey, 18514 nValue, 18515 A2($elm$core$Dict$removeHelp, targetKey, nLeft), 18516 nRight); 18517 } else { 18518 return $elm$core$Dict$RBEmpty_elm_builtin; 18519 } 18520 } 18521 } else { 18522 return A5( 18523 $elm$core$Dict$RBNode_elm_builtin, 18524 color, 18525 key, 18526 value, 18527 A2($elm$core$Dict$removeHelp, targetKey, left), 18528 right); 18529 } 18530 } else { 18531 return A2( 18532 $elm$core$Dict$removeHelpEQGT, 18533 targetKey, 18534 A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right)); 18535 } 18536 } 18537 }); 18538var $elm$core$Dict$removeHelpEQGT = F2( 18539 function (targetKey, dict) { 18540 if (dict.$ === -1) { 18541 var color = dict.a; 18542 var key = dict.b; 18543 var value = dict.c; 18544 var left = dict.d; 18545 var right = dict.e; 18546 if (_Utils_eq(targetKey, key)) { 18547 var _v1 = $elm$core$Dict$getMin(right); 18548 if (_v1.$ === -1) { 18549 var minKey = _v1.b; 18550 var minValue = _v1.c; 18551 return A5( 18552 $elm$core$Dict$balance, 18553 color, 18554 minKey, 18555 minValue, 18556 left, 18557 $elm$core$Dict$removeMin(right)); 18558 } else { 18559 return $elm$core$Dict$RBEmpty_elm_builtin; 18560 } 18561 } else { 18562 return A5( 18563 $elm$core$Dict$balance, 18564 color, 18565 key, 18566 value, 18567 left, 18568 A2($elm$core$Dict$removeHelp, targetKey, right)); 18569 } 18570 } else { 18571 return $elm$core$Dict$RBEmpty_elm_builtin; 18572 } 18573 }); 18574var $elm$core$Dict$remove = F2( 18575 function (key, dict) { 18576 var _v0 = A2($elm$core$Dict$removeHelp, key, dict); 18577 if ((_v0.$ === -1) && (!_v0.a)) { 18578 var _v1 = _v0.a; 18579 var k = _v0.b; 18580 var v = _v0.c; 18581 var l = _v0.d; 18582 var r = _v0.e; 18583 return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); 18584 } else { 18585 var x = _v0; 18586 return x; 18587 } 18588 }); 18589var $elm$core$Dict$update = F3( 18590 function (targetKey, alter, dictionary) { 18591 var _v0 = alter( 18592 A2($elm$core$Dict$get, targetKey, dictionary)); 18593 if (!_v0.$) { 18594 var value = _v0.a; 18595 return A3($elm$core$Dict$insert, targetKey, value, dictionary); 18596 } else { 18597 return A2($elm$core$Dict$remove, targetKey, dictionary); 18598 } 18599 }); 18600var $author$project$W$Table$toGroupedRows = F3( 18601 function (attrs, groupBy_, data) { 18602 return attrs.a8( 18603 A2( 18604 $elm$core$List$map, 18605 function (_v2) { 18606 var label = _v2.a; 18607 var _v3 = _v2.b; 18608 var a = _v3.a; 18609 var items = _v3.b; 18610 return _Utils_Tuple3(label, a, items); 18611 }, 18612 $elm$core$Dict$toList( 18613 A3( 18614 $elm$core$List$foldl, 18615 F2( 18616 function (row, acc) { 18617 var key = groupBy_(row); 18618 return A3( 18619 $elm$core$Dict$update, 18620 key, 18621 function (items) { 18622 if (!items.$) { 18623 var _v1 = items.a; 18624 var a = _v1.a; 18625 var items_ = _v1.b; 18626 return $elm$core$Maybe$Just( 18627 _Utils_Tuple2( 18628 a, 18629 _Utils_ap( 18630 items_, 18631 _List_fromArray( 18632 [row])))); 18633 } else { 18634 return $elm$core$Maybe$Just( 18635 _Utils_Tuple2( 18636 row, 18637 _List_fromArray( 18638 [row]))); 18639 } 18640 }, 18641 acc); 18642 }), 18643 $elm$core$Dict$empty, 18644 data)))); 18645 }); 18646var $elm$html$Html$tr = _VirtualDom_node('tr'); 18647var $author$project$W$Table$columnStyles = function (attrs) { 18648 return _List_fromArray( 18649 [ 18650 attrs.Z, 18651 attrs.y, 18652 $elm$html$Html$Attributes$classList( 18653 _List_fromArray( 18654 [ 18655 _Utils_Tuple2('ew-hidden lg:ew-table-cell', attrs.b8) 18656 ])) 18657 ]); 18658}; 18659var $elm$html$Html$Events$onMouseEnter = function (msg) { 18660 return A2( 18661 $elm$html$Html$Events$on, 18662 'mouseenter', 18663 $elm$json$Json$Decode$succeed(msg)); 18664}; 18665var $elm$html$Html$td = _VirtualDom_node('td'); 18666var $author$project$W$Table$viewGroupHeader = F5( 18667 function (attrs, columns, groupLabel_, groupItem, groupColumns) { 18668 return A2( 18669 $elm$html$Html$tr, 18670 _List_fromArray( 18671 [ 18672 $elm$html$Html$Attributes$class('ew-table-group-header'), 18673 $elm$html$Html$Attributes$class('ew-p-0 ew-font-semibold ew-bg-base-aux/[0.07]'), 18674 A2( 18675 $author$project$W$Internal$Helpers$maybeAttr, 18676 function (fn) { 18677 return $elm$html$Html$Events$onClick( 18678 fn(groupItem)); 18679 }, 18680 attrs.bi), 18681 A2( 18682 $author$project$W$Internal$Helpers$maybeAttr, 18683 function (fn) { 18684 return $elm$html$Html$Events$onMouseEnter( 18685 fn(groupItem)); 18686 }, 18687 attrs.ck), 18688 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onMouseEnter, attrs.cl), 18689 $elm$html$Html$Attributes$classList( 18690 _List_fromArray( 18691 [ 18692 _Utils_Tuple2( 18693 'hover:ew-bg-base-aux/10 active:ew-bg-base-aux/[0.07]', 18694 !_Utils_eq(attrs.bi, $elm$core$Maybe$Nothing)) 18695 ])) 18696 ]), 18697 A2( 18698 $elm$core$List$map, 18699 function (_v0) { 18700 var col = _v0; 18701 return A2( 18702 $elm$html$Html$td, 18703 _Utils_ap( 18704 $author$project$W$Table$columnStyles(col), 18705 _Utils_ap( 18706 col.b$, 18707 _List_fromArray( 18708 [ 18709 $elm$html$Html$Attributes$class('ew-shrink-0 ew-m-0 ew-break-words') 18710 ]))), 18711 _List_fromArray( 18712 [ 18713 A2( 18714 $elm$core$Maybe$withDefault, 18715 $elm$html$Html$text(''), 18716 A2( 18717 $elm$core$Maybe$map, 18718 function (fn) { 18719 return A3(fn, groupLabel_, groupItem, groupColumns); 18720 }, 18721 col.aY)) 18722 ])); 18723 }, 18724 columns)); 18725 }); 18726var $elm$html$Html$th = _VirtualDom_node('th'); 18727var $author$project$W$Table$viewTableHeaderColumn = function (_v0) { 18728 var col = _v0; 18729 return A2( 18730 $elm$html$Html$th, 18731 _Utils_ap( 18732 $author$project$W$Table$columnStyles(col), 18733 _List_fromArray( 18734 [ 18735 $elm$html$Html$Attributes$class('ew-m-0 ew-font-semibold ew-text-sm ew-text-base-aux') 18736 ])), 18737 _List_fromArray( 18738 [ 18739 A2( 18740 $elm$html$Html$div, 18741 _List_fromArray( 18742 [ 18743 $elm$html$Html$Attributes$class('ew-flex ew-items-center gap-1'), 18744 $elm$html$Html$Attributes$class('ew-p-2'), 18745 $elm$html$Html$Attributes$class('ew-border-b-2 ew-border-base-aux/[0.2]'), 18746 $elm$html$Html$Attributes$class(col.b7) 18747 ]), 18748 _List_fromArray( 18749 [ 18750 A2( 18751 $elm$core$Maybe$withDefault, 18752 $elm$html$Html$text(''), 18753 A2( 18754 $elm$core$Maybe$map, 18755 $elm$html$Html$span( 18756 _List_fromArray( 18757 [ 18758 $elm$html$Html$Attributes$class('ew-shrink-0') 18759 ])), 18760 col.bQ)), 18761 A2( 18762 $elm$html$Html$span, 18763 _List_fromArray( 18764 [ 18765 $elm$html$Html$Attributes$class('ew-grow') 18766 ]), 18767 A2( 18768 $elm$core$Maybe$withDefault, 18769 _List_fromArray( 18770 [ 18771 $elm$html$Html$text(col.aK) 18772 ]), 18773 col.bP)), 18774 A2( 18775 $elm$core$Maybe$withDefault, 18776 $elm$html$Html$text(''), 18777 A2( 18778 $elm$core$Maybe$map, 18779 $elm$html$Html$span( 18780 _List_fromArray( 18781 [ 18782 $elm$html$Html$Attributes$class('ew-shrink-0') 18783 ])), 18784 col.bR)) 18785 ])) 18786 ])); 18787}; 18788var $author$project$W$Table$viewTableRow = F3( 18789 function (attrs, columns, datum) { 18790 return A2( 18791 $elm$html$Html$tr, 18792 _List_fromArray( 18793 [ 18794 $elm$html$Html$Attributes$class('ew-p-0'), 18795 attrs.b_(datum) ? $elm$html$Html$Attributes$classList( 18796 _List_fromArray( 18797 [ 18798 _Utils_Tuple2('ew-bg-base-aux/10', true), 18799 _Utils_Tuple2( 18800 'hover:ew-bg-base-aux/[0.07] active:ew-bg-base-aux/10', 18801 !_Utils_eq(attrs.s, $elm$core$Maybe$Nothing)) 18802 ])) : $elm$html$Html$Attributes$classList( 18803 _List_fromArray( 18804 [ 18805 _Utils_Tuple2( 18806 'hover:ew-bg-base-aux/[0.04] active:ew-bg-base-aux/[0.07]', 18807 !_Utils_eq(attrs.s, $elm$core$Maybe$Nothing)) 18808 ])), 18809 A2( 18810 $author$project$W$Internal$Helpers$maybeAttr, 18811 function (onClick_) { 18812 return $elm$html$Html$Events$onClick( 18813 onClick_(datum)); 18814 }, 18815 attrs.s), 18816 A2( 18817 $author$project$W$Internal$Helpers$maybeAttr, 18818 function (onMouseEnter_) { 18819 return $elm$html$Html$Events$onMouseEnter( 18820 onMouseEnter_(datum)); 18821 }, 18822 attrs.cn) 18823 ]), 18824 A2( 18825 $elm$core$List$map, 18826 function (_v0) { 18827 var col = _v0; 18828 return A2( 18829 $elm$html$Html$td, 18830 _Utils_ap( 18831 $author$project$W$Table$columnStyles(col), 18832 _Utils_ap( 18833 col.b$, 18834 _List_fromArray( 18835 [ 18836 $elm$html$Html$Attributes$class('ew-shrink-0 ew-m-0 ew-break-words') 18837 ]))), 18838 _List_fromArray( 18839 [ 18840 col.e0(datum) 18841 ])); 18842 }, 18843 columns)); 18844 }); 18845var $author$project$W$Table$view = F3( 18846 function (attrs_, columns, data) { 18847 var attrs = $author$project$W$Table$applyAttrs(attrs_); 18848 var rows = function () { 18849 var _v0 = attrs.bX; 18850 if (!_v0.$) { 18851 var groupBy_ = _v0.a; 18852 return A2( 18853 $elm$core$List$concatMap, 18854 function (_v1) { 18855 var groupLabel_ = _v1.a; 18856 var groupItem = _v1.b; 18857 var groupItems = _v1.c; 18858 var groupRows = A3( 18859 $author$project$W$Internal$Helpers$or, 18860 _List_Nil, 18861 groupItems, 18862 A2( 18863 $elm$core$Maybe$withDefault, 18864 false, 18865 A2( 18866 $elm$core$Maybe$map, 18867 function (fn) { 18868 return A2(fn, groupItem, groupLabel_); 18869 }, 18870 attrs.bY))); 18871 return A2( 18872 $elm$core$List$cons, 18873 A5($author$project$W$Table$viewGroupHeader, attrs, columns, groupLabel_, groupItem, groupItems), 18874 A2( 18875 $elm$core$List$map, 18876 A2($author$project$W$Table$viewTableRow, attrs, columns), 18877 groupRows)); 18878 }, 18879 A3($author$project$W$Table$toGroupedRows, attrs, groupBy_, data)); 18880 } else { 18881 return A2( 18882 $elm$core$List$map, 18883 A2($author$project$W$Table$viewTableRow, attrs, columns), 18884 data); 18885 } 18886 }(); 18887 return A2( 18888 $elm$html$Html$table, 18889 _Utils_ap( 18890 attrs.b$, 18891 _List_fromArray( 18892 [ 18893 $elm$html$Html$Attributes$class('ew-table ew-table-fixed ew-indent-0'), 18894 $elm$html$Html$Attributes$class('ew-w-full ew-overflow-auto'), 18895 $elm$html$Html$Attributes$class('ew-bg-base-bg ew-font-text ew-text-base-fg') 18896 ])), 18897 _List_fromArray( 18898 [ 18899 attrs.cD ? A2( 18900 $elm$html$Html$thead, 18901 _List_fromArray( 18902 [ 18903 $elm$html$Html$Attributes$class('ew-sticky ew-z-20 ew-top-0 ew-z-10'), 18904 $elm$html$Html$Attributes$class('ew-bg-base-bg') 18905 ]), 18906 _List_fromArray( 18907 [ 18908 A2( 18909 $elm$html$Html$tr, 18910 _List_Nil, 18911 A2($elm$core$List$map, $author$project$W$Table$viewTableHeaderColumn, columns)) 18912 ])) : $elm$html$Html$text(''), 18913 A2( 18914 $elm$html$Html$tbody, 18915 _List_fromArray( 18916 [ 18917 A2($author$project$W$Internal$Helpers$maybeAttr, $elm$html$Html$Events$onMouseLeave, attrs.co) 18918 ]), 18919 rows) 18920 ])); 18921 }); 18922var $author$project$W$Tooltip$Default = 1; 18923var $author$project$W$Tooltip$Top = 0; 18924var $author$project$W$Tooltip$defaultAttrs = {_: false, b$: _List_Nil, Q: 0, bm: 1}; 18925var $author$project$W$Tooltip$applyAttrs = function (attrs) { 18926 return A3( 18927 $elm$core$List$foldl, 18928 F2( 18929 function (_v0, a) { 18930 var fn = _v0; 18931 return fn(a); 18932 }), 18933 $author$project$W$Tooltip$defaultAttrs, 18934 attrs); 18935}; 18936var $author$project$W$Tooltip$view = F2( 18937 function (attrs_, props) { 18938 var attrs = $author$project$W$Tooltip$applyAttrs(attrs_); 18939 var posAttrs = function () { 18940 var _v1 = attrs.Q; 18941 switch (_v1) { 18942 case 0: 18943 return _List_fromArray( 18944 [ 18945 $elm$html$Html$Attributes$class('ew-tooltip-top ew-bottom-full ew-mb-1'), 18946 $elm$html$Html$Attributes$class('group-hover:ew-translate-y-0'), 18947 $elm$html$Html$Attributes$classList( 18948 _List_fromArray( 18949 [ 18950 _Utils_Tuple2('ew-translate-y-0.5', !attrs._) 18951 ])) 18952 ]); 18953 case 2: 18954 return _List_fromArray( 18955 [ 18956 $elm$html$Html$Attributes$class('ew-tooltip-bottom ew-top-full ew-mt-1'),
18957 $elm$html$Html$Attributes$class('group-hover:ew-translate-y-0'), 18958 $elm$html$Html$Attributes$classList( 18959 _List_fromArray( 18960 [ 18961 _Utils_Tuple2('-ew-translate-y-0.5', !attrs._) 18962 ])) 18963 ]); 18964 case 1: 18965 return _List_fromArray( 18966 [ 18967 $elm$html$Html$Attributes$class('ew-tooltip-left ew-top-1/2 ew-right-full ew-mr-1'), 18968 $elm$html$Html$Attributes$class('-ew-translate-y-1/2 group-hover:ew-translate-x-0'), 18969 $elm$html$Html$Attributes$classList( 18970 _List_fromArray( 18971 [ 18972 _Utils_Tuple2('ew-translate-x-0.5', !attrs._) 18973 ])) 18974 ]); 18975 default: 18976 return _List_fromArray( 18977 [ 18978 $elm$html$Html$Attributes$class('ew-tooltip-right ew-top-1/2 ew-left-full ew-ml-1'), 18979 $elm$html$Html$Attributes$class('-ew-translate-y-1/2 group-hover:ew-translate-x-0'), 18980 $elm$html$Html$Attributes$classList( 18981 _List_fromArray( 18982 [ 18983 _Utils_Tuple2('-ew-translate-x-0.5', !attrs._) 18984 ])) 18985 ]); 18986 } 18987 }(); 18988 var tooltip = A2( 18989 $elm$html$Html$span, 18990 _Utils_ap( 18991 attrs.b$, 18992 _Utils_ap( 18993 posAttrs, 18994 _List_fromArray( 18995 [ 18996 $elm$html$Html$Attributes$class('ew-tooltip ew-pointer-events-none'), 18997 $elm$html$Html$Attributes$class('ew-z-[9999] ew-absolute ew-px-2 ew-py-1'), 18998 $elm$html$Html$Attributes$class('ew-w-max ew-rounded'), 18999 $elm$html$Html$Attributes$class('ew-font-text ew-text-sm'), 19000 $elm$html$Html$Attributes$class('ew-bg-neutral-bg ew-text-neutral-aux'), 19001 $elm$html$Html$Attributes$class('ew-transition'), 19002 $elm$html$Html$Attributes$class('group-hover:ew-opacity-100'), 19003 $elm$html$Html$Attributes$classList( 19004 _List_fromArray( 19005 [ 19006 _Utils_Tuple2('ew-opacity-0', !attrs._) 19007 ])), 19008 function () { 19009 var _v0 = attrs.bm; 19010 switch (_v0) { 19011 case 2: 19012 return $elm$html$Html$Attributes$class('group-hover:ew-delay-100'); 19013 case 1: 19014 return $elm$html$Html$Attributes$class('group-hover:ew-delay-500'); 19015 default: 19016 return $elm$html$Html$Attributes$class('group-hover:ew-delay-1000'); 19017 } 19018 }() 19019 ]))), 19020 props.e1); 19021 return A2( 19022 $elm$html$Html$span, 19023 _List_Nil, 19024 _List_fromArray( 19025 [ 19026 A2( 19027 $elm$html$Html$span, 19028 _List_fromArray( 19029 [ 19030 $elm$html$Html$Attributes$class('ew-group ew-relative ew-inline-flex ew-flex-col ew-items-center') 19031 ]), 19032 A2($elm$core$List$cons, tooltip, props.cY)) 19033 ])); 19034 }); 19035var $author$project$W$Table$pxString = function (v) { 19036 return $elm$core$String$fromInt(v) + 'px'; 19037}; 19038var $author$project$W$Table$width = function (v) { 19039 return function (attrs) { 19040 return _Utils_update( 19041 attrs, 19042 { 19043 y: A2( 19044 $elm$html$Html$Attributes$style, 19045 'width', 19046 $author$project$W$Table$pxString(v)) 19047 }); 19048 }; 19049}; 19050var $author$project$Chapters$Information$Table$chapter_ = A2( 19051 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 19052 _List_fromArray( 19053 [ 19054 _Utils_Tuple2( 19055 'Default', 19056 A3( 19057 $author$project$W$Table$view, 19058 _List_fromArray( 19059 [ 19060 $author$project$W$Table$onClick( 19061 A2( 19062 $elm$core$Basics$composeL, 19063 $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onClick'), 19064 function ($) { 19065 return $.w; 19066 })), 19067 $author$project$W$Table$onMouseEnter( 19068 A2( 19069 $elm$core$Basics$composeL, 19070 $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onMouseEnter'), 19071 function ($) { 19072 return $.w; 19073 })), 19074 $author$project$W$Table$onMouseLeave( 19075 $dtwrks$elm_book$ElmBook$Actions$logAction('onMouseLeave')), 19076 $author$project$W$Table$highlight( 19077 A2( 19078 $elm$core$Basics$composeR, 19079 function ($) { 19080 return $.S; 19081 }, 19082 $elm$core$Basics$eq(35))) 19083 ]), 19084 _List_fromArray( 19085 [ 19086 A2( 19087 $author$project$W$Table$column, 19088 _List_fromArray( 19089 [ 19090 $author$project$W$Table$width(60), 19091 $author$project$W$Table$largeScreenOnly 19092 ]), 19093 { 19094 c$: function (_v0) { 19095 var picture = _v0.ct; 19096 return A2( 19097 $elm$html$Html$img, 19098 _List_fromArray( 19099 [ 19100 $elm$html$Html$Attributes$src(picture), 19101 $elm$html$Html$Attributes$height(60) 19102 ]), 19103 _List_Nil); 19104 }, 19105 aK: 'Image' 19106 }), 19107 A2( 19108 $author$project$W$Table$string, 19109 _List_fromArray( 19110 [ 19111 $author$project$W$Table$labelLeft( 19112 _List_fromArray( 19113 [ 19114 $elm$html$Html$text('L') 19115 ])), 19116 $author$project$W$Table$labelRight( 19117 _List_fromArray( 19118 [ 19119 $elm$html$Html$text('R') 19120 ])) 19121 ]), 19122 { 19123 aK: 'Name', 19124 cN: function ($) { 19125 return $.w; 19126 } 19127 }), 19128 A2( 19129 $author$project$W$Table$int, 19130 _List_fromArray( 19131 [ 19132 $author$project$W$Table$width(40) 19133 ]), 19134 { 19135 aK: 'Age', 19136 cN: function ($) { 19137 return $.S; 19138 } 19139 }), 19140 A2( 19141 $author$project$W$Table$float, 19142 _List_fromArray( 19143 [ 19144 $author$project$W$Table$width(80) 19145 ]), 19146 { 19147 aK: 'Score', 19148 cN: function ($) { 19149 return $.cB; 19150 } 19151 }), 19152 A2( 19153 $author$project$W$Table$bool, 19154 _List_fromArray( 19155 [ 19156 $author$project$W$Table$width(80) 19157 ]), 19158 { 19159 aK: 'Ready?', 19160 cN: function ($) { 19161 return $.cu; 19162 } 19163 }) 19164 ]), 19165 $author$project$Chapters$Information$Table$data)), 19166 _Utils_Tuple2( 19167 'Groups', 19168 A3( 19169 $author$project$W$Table$view, 19170 _List_fromArray( 19171 [ 19172 $author$project$W$Table$groupBy( 19173 function ($) { 19174 return $.w; 19175 }), 19176 $author$project$W$Table$groupCollapsed( 19177 F2( 19178 function (_v1, n) { 19179 return n === 'Janine Bonfadini'; 19180 })), 19181 $author$project$W$Table$onGroupClick( 19182 A2( 19183 $elm$core$Basics$composeL, 19184 $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onGroupClick'), 19185 function ($) { 19186 return $.w; 19187 })), 19188 $author$project$W$Table$onGroupMouseEnter( 19189 A2( 19190 $elm$core$Basics$composeL, 19191 $dtwrks$elm_book$ElmBook$Actions$logActionWithString('onGroupMouseEnter'), 19192 function ($) { 19193 return $.w; 19194 })), 19195 $author$project$W$Table$onGroupMouseLeave( 19196 $dtwrks$elm_book$ElmBook$Actions$logAction('onGroupMouseLeave')), 19197 $author$project$W$Table$htmlAttrs( 19198 _List_fromArray( 19199 [ 19200 A2($elm$html$Html$Attributes$style, 'max-height', '400px') 19201 ])) 19202 ]), 19203 _List_fromArray( 19204 [ 19205 A2( 19206 $author$project$W$Table$column, 19207 _List_fromArray( 19208 [ 19209 $author$project$W$Table$width(60), 19210 $author$project$W$Table$largeScreenOnly 19211 ]), 19212 { 19213 c$: function (_v2) { 19214 var picture = _v2.ct; 19215 return A2( 19216 $elm$html$Html$img, 19217 _List_fromArray( 19218 [ 19219 $elm$html$Html$Attributes$src(picture), 19220 $elm$html$Html$Attributes$height(60) 19221 ]), 19222 _List_Nil); 19223 }, 19224 aK: 'Image' 19225 }), 19226 A2( 19227 $author$project$W$Table$string, 19228 _List_fromArray( 19229 [$author$project$W$Table$groupLabel]), 19230 { 19231 aK: 'Name', 19232 cN: function ($) { 19233 return $.w; 19234 } 19235 }), 19236 A2( 19237 $author$project$W$Table$int, 19238 _List_fromArray( 19239 [ 19240 $author$project$W$Table$width(80), 19241 $author$project$W$Table$groupValue( 19242 F2( 19243 function (_v3, xs) { 19244 return $elm$html$Html$text( 19245 $elm$core$String$fromInt( 19246 A3( 19247 $elm$core$List$foldl, 19248 F2( 19249 function (x, acc) { 19250 return x.S + acc; 19251 }), 19252 0, 19253 xs))); 19254 })) 19255 ]), 19256 { 19257 aK: 'Age', 19258 cN: function ($) { 19259 return $.S; 19260 } 19261 }), 19262 A2( 19263 $author$project$W$Table$float, 19264 _List_fromArray( 19265 [ 19266 $author$project$W$Table$width(80) 19267 ]), 19268 { 19269 aK: 'Score', 19270 cN: function ($) { 19271 return $.cB; 19272 } 19273 }), 19274 A2( 19275 $author$project$W$Table$bool, 19276 _List_fromArray( 19277 [ 19278 $author$project$W$Table$width(80) 19279 ]), 19280 { 19281 aK: 'Ready?', 19282 cN: function ($) { 19283 return $.cu; 19284 } 19285 }) 19286 ]), 19287 $author$project$Chapters$Information$Table$data)), 19288 _Utils_Tuple2( 19289 'Custom Column Label', 19290 A3( 19291 $author$project$W$Table$view, 19292 _List_fromArray( 19293 [ 19294 $author$project$W$Table$htmlAttrs( 19295 _List_fromArray( 19296 [ 19297 A2($elm$html$Html$Attributes$style, 'max-height', '400px') 19298 ])) 19299 ]), 19300 _List_fromArray( 19301 [ 19302 A2( 19303 $author$project$W$Table$string, 19304 _List_fromArray( 19305 [ 19306 $author$project$W$Table$customLabel( 19307 _List_fromArray( 19308 [ 19309 A2( 19310 $author$project$W$Tooltip$view, 19311 _List_Nil, 19312 { 19313 cY: _List_fromArray( 19314 [ 19315 $elm$html$Html$text('Name') 19316 ]), 19317 e1: _List_fromArray( 19318 [ 19319 $elm$html$Html$text('Person name') 19320 ]) 19321 }) 19322 ])) 19323 ]), 19324 { 19325 aK: 'Name', 19326 cN: function ($) { 19327 return $.w; 19328 } 19329 }), 19330 A2( 19331 $author$project$W$Table$int, 19332 _List_fromArray( 19333 [ 19334 $author$project$W$Table$width(80), 19335 $author$project$W$Table$customLabel( 19336 _List_fromArray( 19337 [ 19338 A2( 19339 $author$project$W$Tooltip$view, 19340 _List_Nil, 19341 { 19342 cY: _List_fromArray( 19343 [ 19344 $elm$html$Html$text('Age') 19345 ]), 19346 e1: _List_fromArray( 19347 [ 19348 $elm$html$Html$text('Person age') 19349 ]) 19350 }) 19351 ])) 19352 ]), 19353 { 19354 aK: 'Age', 19355 cN: function ($) { 19356 return $.S; 19357 } 19358 }) 19359 ]), 19360 _List_fromArray( 19361 [ 19362 {S: 28, w: 'João'}, 19363 {S: 29, w: 'Maria'} 19364 ]))) 19365 ]), 19366 $dtwrks$elm_book$ElmBook$Chapter$chapter('Table')); 19367var $author$project$W$Tag$Attribute = $elm$core$Basics$identity; 19368var $author$project$W$Tag$color = function (v) { 19369 return function (attrs) { 19370 return _Utils_update( 19371 attrs, 19372 {U: v}); 19373 }; 19374}; 19375var $author$project$W$Tag$danger = function (attrs) { 19376 return _Utils_update( 19377 attrs, 19378 {U: $uncover_co$elm_theme$Theme$dangerForeground}); 19379};
19380var $author$project$W$Tag$Large = 0; 19381var $author$project$W$Tag$large = function (attrs) { 19382 return _Utils_update( 19383 attrs, 19384 {n: 0}); 19385}; 19386var $author$project$W$Tag$primary = function (attrs) { 19387 return _Utils_update( 19388 attrs, 19389 {U: $uncover_co$elm_theme$Theme$primaryForeground}); 19390}; 19391var $author$project$W$Tag$secondary = function (attrs) { 19392 return _Utils_update( 19393 attrs, 19394 {U: $uncover_co$elm_theme$Theme$secondaryForeground}); 19395}; 19396var $author$project$W$Tag$Small = 2; 19397var $author$project$W$Tag$small = function (v) { 19398 return function (attrs) { 19399 return _Utils_update( 19400 attrs, 19401 { 19402 n: v ? 2 : attrs.n 19403 }); 19404 }; 19405}; 19406var $author$project$W$Tag$success = function (attrs) { 19407 return _Utils_update( 19408 attrs, 19409 {U: $uncover_co$elm_theme$Theme$successForeground}); 19410}; 19411var $author$project$W$Tag$onClick = function (v) { 19412 return function (attrs) { 19413 return _Utils_update( 19414 attrs, 19415 { 19416 s: $elm$core$Maybe$Just(v) 19417 }); 19418 }; 19419}; 19420var $author$project$W$Tag$viewButton = F2( 19421 function (attrs_, props) { 19422 return A2( 19423 $author$project$W$Tag$view, 19424 A2( 19425 $elm$core$List$cons, 19426 $author$project$W$Tag$onClick(props.s), 19427 attrs_), 19428 props.aK); 19429 }); 19430var $author$project$W$Tag$href = function (v) { 19431 return function (attrs) { 19432 return _Utils_update( 19433 attrs, 19434 { 19435 ei: $elm$core$Maybe$Just(v) 19436 }); 19437 }; 19438}; 19439var $author$project$W$Tag$viewLink = F2( 19440 function (attrs_, props) { 19441 return A2( 19442 $author$project$W$Tag$view, 19443 A2( 19444 $elm$core$List$cons, 19445 $author$project$W$Tag$href(props.ei), 19446 attrs_), 19447 props.aK); 19448 }); 19449var $author$project$W$Tag$warning = function (attrs) { 19450 return _Utils_update( 19451 attrs, 19452 {U: $uncover_co$elm_theme$Theme$warningForeground}); 19453}; 19454var $author$project$Chapters$Information$Tag$chapter_ = A2( 19455 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 19456 A2( 19457 $elm$core$List$map, 19458 function (_v0) { 19459 var attrs = _v0.a; 19460 var label = _v0.b; 19461 return _Utils_Tuple2( 19462 label, 19463 $author$project$UI$hSpacer( 19464 _List_fromArray( 19465 [ 19466 A2( 19467 $author$project$W$Tag$view, 19468 attrs, 19469 _List_fromArray( 19470 [ 19471 $elm$html$Html$text(label) 19472 ])), 19473 A2( 19474 $author$project$W$Tag$viewButton, 19475 attrs, 19476 { 19477 aK: _List_fromArray( 19478 [ 19479 $elm$html$Html$text(label) 19480 ]), 19481 s: $dtwrks$elm_book$ElmBook$Actions$logAction('onClick') 19482 }), 19483 A2( 19484 $author$project$W$Tag$viewLink, 19485 attrs, 19486 { 19487 ei: '/logAction/#', 19488 aK: _List_fromArray( 19489 [ 19490 $elm$html$Html$text(label) 19491 ]) 19492 }), 19493 A2( 19494 $author$project$W$Tag$view, 19495 A2( 19496 $elm$core$List$cons, 19497 $author$project$W$Tag$small(true), 19498 attrs), 19499 _List_fromArray( 19500 [ 19501 $elm$html$Html$text(label) 19502 ])), 19503 A2( 19504 $author$project$W$Tag$view, 19505 A2($elm$core$List$cons, $author$project$W$Tag$large, attrs), 19506 _List_fromArray( 19507 [ 19508 $elm$html$Html$text(label) 19509 ])) 19510 ]))); 19511 }, 19512 _List_fromArray( 19513 [ 19514 _Utils_Tuple2(_List_Nil, 'Neutral'), 19515 _Utils_Tuple2( 19516 _List_fromArray( 19517 [$author$project$W$Tag$primary]), 19518 'Primary'), 19519 _Utils_Tuple2( 19520 _List_fromArray( 19521 [$author$project$W$Tag$secondary]), 19522 'Secondary'), 19523 _Utils_Tuple2( 19524 _List_fromArray( 19525 [$author$project$W$Tag$success]), 19526 'Success'), 19527 _Utils_Tuple2( 19528 _List_fromArray( 19529 [$author$project$W$Tag$warning]), 19530 'Warning'), 19531 _Utils_Tuple2( 19532 _List_fromArray( 19533 [$author$project$W$Tag$danger]), 19534 'Danger'), 19535 _Utils_Tuple2( 19536 _List_fromArray( 19537 [ 19538 $author$project$W$Tag$color('purple') 19539 ]), 19540 'Custom') 19541 ])), 19542 $dtwrks$elm_book$ElmBook$Chapter$chapter('Tag')); 19543var $author$project$W$Tooltip$Attribute = $elm$core$Basics$identity; 19544var $author$project$W$Tooltip$alwaysVisible = function (attrs) { 19545 return _Utils_update( 19546 attrs, 19547 {_: true}); 19548}; 19549var $author$project$W$Tooltip$Bottom = 2; 19550var $author$project$W$Tooltip$bottom = function (attrs) { 19551 return _Utils_update( 19552 attrs, 19553 {Q: 2}); 19554}; 19555var $author$project$W$Tooltip$Fast = 2; 19556var $author$project$W$Tooltip$fast = function (attrs) { 19557 return _Utils_update( 19558 attrs, 19559 {bm: 2}); 19560}; 19561var $author$project$W$Tooltip$Left = 1; 19562var $author$project$W$Tooltip$left = function (attrs) { 19563 return _Utils_update( 19564 attrs, 19565 {Q: 1}); 19566}; 19567var $author$project$W$Tooltip$Right = 3; 19568var $author$project$W$Tooltip$right = function (attrs) { 19569 return _Utils_update( 19570 attrs, 19571 {Q: 3}); 19572}; 19573var $author$project$W$Tooltip$Slow = 0; 19574var $author$project$W$Tooltip$slow = function (attrs) { 19575 return _Utils_update( 19576 attrs, 19577 {bm: 0}); 19578}; 19579var $author$project$Chapters$Information$Tooltip$chapter_ = A2( 19580 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 19581 _List_fromArray( 19582 [ 19583 _Utils_Tuple2( 19584 'Different Positions', 19585 $author$project$UI$hSpacer( 19586 _List_fromArray( 19587 [ 19588 A2( 19589 $author$project$W$Tooltip$view, 19590 _List_Nil, 19591 { 19592 cY: _List_fromArray( 19593 [ 19594 $elm$html$Html$text('Top!') 19595 ]), 19596 e1: _List_fromArray( 19597 [ 19598 $elm$html$Html$text('This is a top tooltip!') 19599 ]) 19600 }), 19601 A2( 19602 $author$project$W$Tooltip$view, 19603 _List_fromArray( 19604 [$author$project$W$Tooltip$bottom]), 19605 { 19606 cY: _List_fromArray( 19607 [ 19608 $elm$html$Html$text('Bottom?') 19609 ]), 19610 e1: _List_fromArray( 19611 [ 19612 $elm$html$Html$text('A bottom one!') 19613 ]) 19614 }), 19615 A2( 19616 $author$project$W$Tooltip$view, 19617 _List_fromArray( 19618 [$author$project$W$Tooltip$right]), 19619 { 19620 cY: _List_fromArray( 19621 [ 19622 $elm$html$Html$text('Right!') 19623 ]), 19624 e1: _List_fromArray( 19625 [ 19626 $elm$html$Html$text('A right one!') 19627 ]) 19628 }), 19629 A2( 19630 $author$project$W$Tooltip$view, 19631 _List_fromArray( 19632 [$author$project$W$Tooltip$left]), 19633 { 19634 cY: _List_fromArray( 19635 [ 19636 $elm$html$Html$text('Left??') 19637 ]), 19638 e1: _List_fromArray( 19639 [ 19640 $elm$html$Html$text('A left one!') 19641 ]) 19642 }) 19643 ]))), 19644 _Utils_Tuple2( 19645 'Bottom', 19646 A2( 19647 $author$project$W$Tooltip$view, 19648 _List_fromArray( 19649 [$author$project$W$Tooltip$bottom]), 19650 { 19651 cY: _List_fromArray( 19652 [ 19653 $elm$html$Html$text('Hello!') 19654 ]), 19655 e1: _List_fromArray( 19656 [ 19657 $elm$html$Html$text('This is a tooltip!') 19658 ]) 19659 })), 19660 _Utils_Tuple2( 19661 'Left', 19662 A2( 19663 $author$project$W$Tooltip$view, 19664 _List_fromArray( 19665 [$author$project$W$Tooltip$left]), 19666 { 19667 cY: _List_fromArray( 19668 [ 19669 $elm$html$Html$text('Hello!') 19670 ]), 19671 e1: _List_fromArray( 19672 [ 19673 $elm$html$Html$text('This is a tooltip!') 19674 ]) 19675 })), 19676 _Utils_Tuple2( 19677 'Right', 19678 A2( 19679 $author$project$W$Tooltip$view, 19680 _List_fromArray( 19681 [$author$project$W$Tooltip$right]), 19682 { 19683 cY: _List_fromArray( 19684 [ 19685 $elm$html$Html$text('Hello!') 19686 ]), 19687 e1: _List_fromArray( 19688 [ 19689 $elm$html$Html$text('This is a tooltip!') 19690 ]) 19691 })), 19692 _Utils_Tuple2( 19693 'Always Visible', 19694 A2( 19695 $author$project$W$Tooltip$view, 19696 _List_fromArray( 19697 [$author$project$W$Tooltip$alwaysVisible]), 19698 { 19699 cY: _List_fromArray( 19700 [ 19701 $elm$html$Html$text('Hello!') 19702 ]), 19703 e1: _List_fromArray( 19704 [ 19705 $elm$html$Html$text('Helloo!') 19706 ]) 19707 })), 19708 _Utils_Tuple2( 19709 'Fast', 19710 A2( 19711 $author$project$W$Tooltip$view, 19712 _List_fromArray( 19713 [$author$project$W$Tooltip$fast]), 19714 { 19715 cY: _List_fromArray( 19716 [ 19717 $elm$html$Html$text('Hello!') 19718 ]), 19719 e1: _List_fromArray( 19720 [ 19721 $elm$html$Html$text('This is a blazingly fast tooltip!') 19722 ]) 19723 })), 19724 _Utils_Tuple2( 19725 'Slow', 19726 A2( 19727 $author$project$W$Tooltip$view, 19728 _List_fromArray( 19729 [$author$project$W$Tooltip$slow]), 19730 { 19731 cY: _List_fromArray( 19732 [ 19733 $elm$html$Html$text('Hello!') 19734 ]), 19735 e1: _List_fromArray( 19736 [ 19737 $elm$html$Html$text('This is a sloow tooltip!') 19738 ]) 19739 })) 19740 ]), 19741 $dtwrks$elm_book$ElmBook$Chapter$chapter('Tooltip')); 19742var $author$project$W$Modal$Attribute = $elm$core$Basics$identity; 19743var $author$project$W$Modal$absolute = function (attrs) { 19744 return _Utils_update( 19745 attrs, 19746 {a_: true}); 19747}; 19748var $author$project$W$Container$Left = 0; 19749var $author$project$W$Container$alignLeft = function (attr) { 19750 return _Utils_update( 19751 attr, 19752 { 19753 L: $elm$core$Maybe$Just(0) 19754 }); 19755}; 19756var $author$project$W$Container$fill = $author$project$W$Container$addClass('ew-grow'); 19757var $author$project$W$Modal$noBlur = function (attrs) { 19758 return _Utils_update( 19759 attrs, 19760 {bG: false}); 19761}; 19762var $author$project$W$Container$styleAttrs = function (v) { 19763 return function (attr) { 19764 return _Utils_update( 19765 attr, 19766 {bu: v}); 19767 }; 19768}; 19769var $author$project$W$Modal$Stateful = function (a) { 19770 return {$: 1, a: a}; 19771}; 19772var $author$project$W$Modal$defaultAttrs = {a_: false, bG: true, b$: _List_Nil, cb: 480, cR: 1000}; 19773var $author$project$W$Modal$applyAttrs = function (attrs) { 19774 return A3( 19775 $elm$core$List$foldl, 19776 F2( 19777 function (_v0, a) { 19778 var fn = _v0; 19779 return fn(a); 19780 }), 19781 $author$project$W$Modal$defaultAttrs, 19782 attrs); 19783}; 19784var $elm$html$Html$Attributes$for = $elm$html$Html$Attributes$stringProperty('htmlFor'); 19785var $author$project$W$Modal$toClosable = function (modal) { 19786 if (!modal.$) {
19787 var closeOnBackgroundClick = modal.a.bL; 19788 return closeOnBackgroundClick; 19789 } else { 19790 var onClose = modal.a.eD; 19791 return !_Utils_eq(onClose, $elm$core$Maybe$Nothing); 19792 } 19793}; 19794var $author$project$W$Modal$toContent = function (modal) { 19795 if (!modal.$) { 19796 var content = modal.a.c$; 19797 return content; 19798 } else { 19799 var content = modal.a.c$; 19800 return content; 19801 } 19802}; 19803var $author$project$W$Modal$view_ = F2( 19804 function (attrs_, props) { 19805 var viewCloseTrigger = function () { 19806 if (!props.$) { 19807 var id = props.a.fE; 19808 var closeOnBackgroundClick = props.a.bL; 19809 return closeOnBackgroundClick ? A2( 19810 $elm$html$Html$label, 19811 _List_fromArray( 19812 [ 19813 $elm$html$Html$Attributes$for(id), 19814 $elm$html$Html$Attributes$class('ew-block'), 19815 $elm$html$Html$Attributes$class('ew-absolute ew-inset-0') 19816 ]), 19817 _List_Nil) : $elm$html$Html$text(''); 19818 } else { 19819 var onClose = props.a.eD; 19820 if (!onClose.$) { 19821 var onClose_ = onClose.a; 19822 return A2( 19823 $elm$html$Html$label, 19824 _List_fromArray( 19825 [ 19826 $elm$html$Html$Events$onClick(onClose_), 19827 $elm$html$Html$Attributes$class('ew-absolute ew-inset-0') 19828 ]), 19829 _List_Nil); 19830 } else { 19831 return $elm$html$Html$text(''); 19832 } 19833 } 19834 }(); 19835 var attrs = $author$project$W$Modal$applyAttrs(attrs_); 19836 var wrapper = A2( 19837 $elm$html$Html$div, 19838 _List_fromArray( 19839 [ 19840 A2($elm$html$Html$Attributes$attribute, 'role', 'dialog'), 19841 $elm$html$Html$Attributes$class('ew-modal ew-hidden ew-opacity-0 ew-inset-0 ew-border-0 ew-bg-black/30'), 19842 A2( 19843 $elm$html$Html$Attributes$style, 19844 'z-index', 19845 $elm$core$String$fromInt(attrs.cR)), 19846 $elm$html$Html$Attributes$classList( 19847 _List_fromArray( 19848 [ 19849 _Utils_Tuple2('ew-absolute', attrs.a_), 19850 _Utils_Tuple2('ew-fixed', !attrs.a_), 19851 _Utils_Tuple2( 19852 'ew-modal--is-open', 19853 function () { 19854 if (props.$ === 1) { 19855 var isOpen = props.a.ad; 19856 return isOpen; 19857 } else { 19858 return false; 19859 } 19860 }()) 19861 ])), 19862 attrs.bG ? A2($elm$html$Html$Attributes$style, 'backdrop-filter', 'blur(1px)') : $elm$html$Html$Attributes$class('') 19863 ]), 19864 _List_fromArray( 19865 [ 19866 viewCloseTrigger, 19867 A2( 19868 $elm$html$Html$div, 19869 _List_fromArray( 19870 [ 19871 $elm$html$Html$Attributes$class('ew-modal-content'), 19872 $elm$html$Html$Attributes$class('ew-flex ew-absolute ew-inset-0'), 19873 $elm$html$Html$Attributes$classList( 19874 _List_fromArray( 19875 [ 19876 _Utils_Tuple2( 19877 'ew-pointer-events-none', 19878 $author$project$W$Modal$toClosable(props)) 19879 ])), 19880 A2($elm$html$Html$Attributes$style, 'overflow-y', 'auto') 19881 ]), 19882 _List_fromArray( 19883 [ 19884 A2( 19885 $elm$html$Html$div, 19886 _List_fromArray( 19887 [ 19888 $elm$html$Html$Attributes$class('ew-relative ew-overflow-visible'), 19889 $elm$html$Html$Attributes$class('ew-m-auto ew-max-w-full ew-p-4'), 19890 A2( 19891 $elm$html$Html$Attributes$style, 19892 'width', 19893 $elm$core$String$fromInt(attrs.cb) + 'px') 19894 ]), 19895 _List_fromArray( 19896 [ 19897 A2( 19898 $elm$html$Html$div, 19899 _Utils_ap( 19900 attrs.b$, 19901 _List_fromArray( 19902 [ 19903 $elm$html$Html$Attributes$class('ew-relative ew-overflow-visible ew-pointer-events-auto'), 19904 $elm$html$Html$Attributes$class('ew-w-full ew-bg-base-bg ew-shadow-lg ew-rounded-lg') 19905 ])), 19906 $author$project$W$Modal$toContent(props)) 19907 ])) 19908 ])) 19909 ])); 19910 if (!props.$) { 19911 var id = props.a.fE; 19912 return A2( 19913 $elm$html$Html$div, 19914 _List_Nil, 19915 _List_fromArray( 19916 [ 19917 A3( 19918 $elm$html$Html$node, 19919 'input', 19920 _List_fromArray( 19921 [ 19922 $elm$html$Html$Attributes$id(id), 19923 $elm$html$Html$Attributes$type_('checkbox'), 19924 $elm$html$Html$Attributes$class('ew-hidden ew-modal-toggle') 19925 ]), 19926 _List_Nil), 19927 wrapper 19928 ])); 19929 } else { 19930 return wrapper; 19931 } 19932 }); 19933var $author$project$W$Modal$view = F2( 19934 function (attrs, props) { 19935 return A2( 19936 $author$project$W$Modal$view_, 19937 attrs, 19938 $author$project$W$Modal$Stateful(props)); 19939 }); 19940var $author$project$W$Modal$Stateless = function (a) { 19941 return {$: 0, a: a}; 19942}; 19943var $author$project$W$Modal$viewToggable = F2( 19944 function (attrs, props) { 19945 return A2( 19946 $author$project$W$Modal$view_, 19947 attrs, 19948 $author$project$W$Modal$Stateless( 19949 {bL: false, c$: props.c$, fE: props.fE})); 19950 }); 19951var $author$project$W$Modal$viewToggableWithAutoClose = F2( 19952 function (attrs, props) { 19953 return A2( 19954 $author$project$W$Modal$view_, 19955 attrs, 19956 $author$project$W$Modal$Stateless( 19957 {bL: true, c$: props.c$, fE: props.fE})); 19958 }); 19959var $author$project$W$Modal$viewToggle = F2( 19960 function (id_, content) { 19961 return A2( 19962 $elm$html$Html$label, 19963 _List_fromArray( 19964 [ 19965 $elm$html$Html$Attributes$for(id_) 19966 ]), 19967 content); 19968 }); 19969var $author$project$Chapters$Layout$Modal$chapter_ = function () { 19970 var wrapper = $author$project$W$Container$view( 19971 _List_fromArray( 19972 [ 19973 $author$project$W$Container$background( 19974 $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.07)), 19975 $author$project$W$Container$alignCenterY, 19976 $author$project$W$Container$alignCenterX, 19977 $author$project$W$Container$styleAttrs( 19978 _List_fromArray( 19979 [ 19980 _Utils_Tuple2('height', '400px') 19981 ])) 19982 ])); 19983 var content = A2( 19984 $author$project$W$Container$view, 19985 _List_fromArray( 19986 [ 19987 $author$project$W$Container$fill, 19988 $author$project$W$Container$alignLeft, 19989 $author$project$W$Container$pad_4, 19990 $author$project$W$Container$styleAttrs( 19991 _List_fromArray( 19992 [ 19993 _Utils_Tuple2('height', '600px') 19994 ])) 19995 ]), 19996 _List_fromArray( 19997 [ 19998 A2( 19999 $author$project$W$Popover$viewNext, 20000 _List_fromArray( 20001 [ 20002 $author$project$W$Popover$right, 20003 $author$project$W$Popover$offset(4),
20004 $author$project$W$Popover$width(100) 20005 ]), 20006 { 20007 c$: _List_fromArray( 20008 [ 20009 A2( 20010 $author$project$W$Text$view, 20011 _List_Nil, 20012 _List_fromArray( 20013 [ 20014 $elm$html$Html$text('This should be visible') 20015 ])) 20016 ]), 20017 dU: _List_fromArray( 20018 [ 20019 A2( 20020 $author$project$W$Button$viewDummy, 20021 _List_Nil, 20022 _List_fromArray( 20023 [ 20024 $elm$html$Html$text('Popovers should be usable inside modals') 20025 ])) 20026 ]) 20027 }) 20028 ])); 20029 return A2( 20030 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 20031 _List_fromArray( 20032 [ 20033 _Utils_Tuple2( 20034 'Modal', 20035 wrapper( 20036 _List_fromArray( 20037 [ 20038 A2( 20039 $author$project$W$Modal$view, 20040 _List_fromArray( 20041 [$author$project$W$Modal$absolute, $author$project$W$Modal$noBlur]), 20042 { 20043 c$: _List_fromArray( 20044 [content]), 20045 ad: true, 20046 eD: $elm$core$Maybe$Nothing 20047 }) 20048 ]))), 20049 _Utils_Tuple2( 20050 'Modal with onClose', 20051 wrapper( 20052 _List_fromArray( 20053 [ 20054 A2( 20055 $author$project$W$Modal$view, 20056 _List_fromArray( 20057 [$author$project$W$Modal$absolute, $author$project$W$Modal$noBlur]), 20058 { 20059 c$: _List_fromArray( 20060 [content]), 20061 ad: true, 20062 eD: $elm$core$Maybe$Just( 20063 $dtwrks$elm_book$ElmBook$Actions$logAction('onClose')) 20064 }) 20065 ]))), 20066 _Utils_Tuple2( 20067 'Modal with toggle', 20068 wrapper( 20069 _List_fromArray( 20070 [ 20071 A2( 20072 $author$project$W$Modal$viewToggable, 20073 _List_fromArray( 20074 [$author$project$W$Modal$absolute, $author$project$W$Modal$noBlur]), 20075 { 20076 c$: _List_fromArray( 20077 [content]), 20078 fE: 'my-modal' 20079 }), 20080 A2( 20081 $author$project$W$Modal$viewToggle, 20082 'my-modal', 20083 _List_fromArray( 20084 [ 20085 A2( 20086 $author$project$W$Button$viewDummy, 20087 _List_Nil, 20088 _List_fromArray( 20089 [ 20090 $elm$html$Html$text('Toggle Modal') 20091 ])) 20092 ])) 20093 ]))), 20094 _Utils_Tuple2( 20095 'Modal with toggle + close on background', 20096 wrapper( 20097 _List_fromArray( 20098 [ 20099 A2( 20100 $author$project$W$Modal$viewToggableWithAutoClose, 20101 _List_fromArray( 20102 [$author$project$W$Modal$absolute, $author$project$W$Modal$noBlur]), 20103 { 20104 c$: _List_fromArray( 20105 [content]), 20106 fE: 'my-modal-auto-close' 20107 }), 20108 A2( 20109 $author$project$W$Modal$viewToggle, 20110 'my-modal-auto-close', 20111 _List_fromArray( 20112 [ 20113 A2( 20114 $author$project$W$Button$viewDummy, 20115 _List_Nil, 20116 _List_fromArray( 20117 [ 20118 $elm$html$Html$text('Toggle Modal') 20119 ])) 20120 ])) 20121 ]))) 20122 ]), 20123 $dtwrks$elm_book$ElmBook$Chapter$chapter('Modal')); 20124}(); 20125var $author$project$Chapters$Overview$Admin = 2; 20126var $author$project$Chapters$Overview$Editor = 1; 20127var $author$project$Chapters$Overview$OnInputMask = F2( 20128 function (a, b) { 20129 return {$: 0, a: a, b: b}; 20130 }); 20131var $author$project$Chapters$Overview$OnSelect = function (a) { 20132 return {$: 1, a: a}; 20133}; 20134var $author$project$Chapters$Overview$OnSelectTime = function (a) { 20135 return {$: 2, a: a}; 20136}; 20137var $author$project$Chapters$Overview$Viewer = 0; 20138var $author$project$W$Heading$alignCenter = function (attrs) { 20139 return _Utils_update( 20140 attrs, 20141 {aX: 'ew-text-center'}); 20142}; 20143var $author$project$W$Text$alignCenter = function (attrs) { 20144 return _Utils_update( 20145 attrs, 20146 {aX: 'ew-text-center'}); 20147}; 20148var $author$project$W$Container$Top = 0; 20149var $author$project$W$Container$alignTop = function (attr) { 20150 return _Utils_update( 20151 attr, 20152 { 20153 as: $elm$core$Maybe$Just(0) 20154 }); 20155}; 20156var $uncover_co$elm_theme$Theme$baseForegroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('base-fg'); 20157var $uncover_co$elm_theme$Theme$ClassStrategy = function (a) { 20158 return {$: 1, a: a}; 20159}; 20160var $uncover_co$elm_theme$Theme$classStrategy = $uncover_co$elm_theme$Theme$ClassStrategy; 20161var $uncover_co$elm_theme$Theme$ThemeBuilder = $elm$core$Basics$identity; 20162var $uncover_co$elm_theme$Theme$Theme = $elm$core$Basics$identity; 20163var $elm$core$String$concat = function (strings) { 20164 return A2($elm$core$String$join, '', strings); 20165}; 20166var $avh4$elm_color$Color$toCssString = function (_v0) { 20167 var r = _v0.a; 20168 var g = _v0.b; 20169 var b = _v0.c; 20170 var a = _v0.d; 20171 var roundTo = function (x) { 20172 return $elm$core$Basics$round(x * 1000) / 1000; 20173 }; 20174 var pct = function (x) { 20175 return $elm$core$Basics$round(x * 10000) / 100; 20176 }; 20177 return $elm$core$String$concat( 20178 _List_fromArray( 20179 [ 20180 'rgba(', 20181 $elm$core$String$fromFloat( 20182 pct(r)), 20183 '%,', 20184 $elm$core$String$fromFloat( 20185 pct(g)), 20186 '%,', 20187 $elm$core$String$fromFloat( 20188 pct(b)), 20189 '%,', 20190 $elm$core$String$fromFloat( 20191 roundTo(a)), 20192 ')' 20193 ])); 20194}; 20195var $uncover_co$elm_theme$Theme$toThemeString = function (_v0) { 20196 var data = _v0.c; 20197 var extra = _v0.c5; 20198 var colorChannels = function (color) { 20199 var c = $avh4$elm_color$Color$toRgba(color); 20200 return A2( 20201 $elm$core$String$join, 20202 ' ', 20203 A2( 20204 $elm$core$List$map, 20205 function (c_) { 20206 return $elm$core$String$fromInt( 20207 $elm$core$Basics$ceiling(c_ * 255)); 20208 }, 20209 _List_fromArray( 20210 [c.gh, c.fx, c.fd]))); 20211 }; 20212 var colorVars = F2( 20213 function (name, color) { 20214 return _List_fromArray( 20215 [ 20216 _Utils_Tuple2( 20217 name, 20218 $avh4$elm_color$Color$toCssString(color)), 20219 _Utils_Tuple2(
20220 name + '-ch', 20221 colorChannels(color)) 20222 ]); 20223 }); 20224 var colorSpec = F2( 20225 function (name, color) { 20226 return $elm$core$List$concat( 20227 _List_fromArray( 20228 [ 20229 A2(colorVars, name + '-bg', color.bF), 20230 A2(colorVars, name + '-fg', color.da), 20231 A2(colorVars, name + '-aux', color.cV) 20232 ])); 20233 }); 20234 return A2( 20235 $elm$core$String$join, 20236 ';', 20237 A2( 20238 $elm$core$List$map, 20239 function (_v1) { 20240 var k = _v1.a; 20241 var v = _v1.b; 20242 return '--' + (k + (':' + v)); 20243 }, 20244 A2( 20245 $elm$core$List$map, 20246 $elm$core$Tuple$mapFirst( 20247 function (v) { 20248 return $uncover_co$elm_theme$Theme$namespace + ('-' + v); 20249 }), 20250 $elm$core$List$concat( 20251 _List_fromArray( 20252 [ 20253 _List_fromArray( 20254 [ 20255 _Utils_Tuple2('font-heading', data.z.dd), 20256 _Utils_Tuple2('font-text', data.z.j), 20257 _Utils_Tuple2('font-code', data.z.a4) 20258 ]), 20259 A2(colorSpec, 'base', data.d1), 20260 A2(colorSpec, 'neutral', data.dq), 20261 A2(colorSpec, 'primary', data.dz), 20262 A2(colorSpec, 'secondary', data.dC), 20263 A2(colorSpec, 'success', data.gr), 20264 A2(colorSpec, 'warning', data.dX), 20265 A2(colorSpec, 'danger', data.c0), 20266 extra 20267 ]))))); 20268}; 20269var $uncover_co$elm_theme$Theme$toTheme = function (builder) { 20270 return { 20271 cX: builder, 20272 eY: $uncover_co$elm_theme$Theme$toThemeString(builder) 20273 }; 20274}; 20275var $uncover_co$elm_theme$Theme$new = function (data) { 20276 return $uncover_co$elm_theme$Theme$toTheme( 20277 {c: data, c5: _List_Nil}); 20278}; 20279var $uncover_co$elm_theme$Theme$darkTheme = $uncover_co$elm_theme$Theme$new( 20280 { 20281 d1: { 20282 cV: A3($avh4$elm_color$Color$rgb255, 150, 154, 162), 20283 bF: A3($avh4$elm_color$Color$rgb255, 37, 40, 48), 20284 da: A3($avh4$elm_color$Color$rgb255, 240, 240, 240) 20285 }, 20286 c0: { 20287 cV: A3($avh4$elm_color$Color$rgb255, 56, 27, 0), 20288 bF: A3($avh4$elm_color$Color$rgb255, 255, 92, 95), 20289 da: A3($avh4$elm_color$Color$rgb255, 251, 116, 116) 20290 }, 20291 z: {a4: 'monospace', dd: 'system-ui, sans-serif', j: 'system-ui, sans-serif'}, 20292 dq: { 20293 cV: A3($avh4$elm_color$Color$rgb255, 255, 255, 255), 20294 bF: A3($avh4$elm_color$Color$rgb255, 96, 110, 123), 20295 da: A3($avh4$elm_color$Color$rgb255, 199, 206, 214) 20296 }, 20297 dz: { 20298 cV: A3($avh4$elm_color$Color$rgb255, 255, 255, 255), 20299 bF: A3($avh4$elm_color$Color$rgb255, 0, 122, 204), 20300 da: A3($avh4$elm_color$Color$rgb255, 105, 171, 247) 20301 }, 20302 dC: { 20303 cV: A3($avh4$elm_color$Color$rgb255, 255, 255, 255), 20304 bF: A3($avh4$elm_color$Color$rgb255, 199, 51, 186), 20305 da: A3($avh4$elm_color$Color$rgb255, 248, 142, 239) 20306 }, 20307 gr: { 20308 cV: A3($avh4$elm_color$Color$rgb255, 119, 223, 59), 20309 bF: A3($avh4$elm_color$Color$rgb255, 74, 200, 0), 20310 da: A3($avh4$elm_color$Color$rgb255, 119, 223, 59) 20311 }, 20312 dX: { 20313 cV: A3($avh4$elm_color$Color$rgb255, 91, 65, 0), 20314 bF: A3($avh4$elm_color$Color$rgb255, 251, 179, 0), 20315 da: A3($avh4$elm_color$Color$rgb255, 255, 215, 114) 20316 } 20317 }); 20318var $author$project$W$InputText$exactLength = function (v) { 20319 return function (attrs) { 20320 return _Utils_update( 20321 attrs, 20322 { 20323 N: $elm$core$Maybe$Just(v), 20324 aL: $elm$core$Maybe$Just(v) 20325 }); 20326 }; 20327}; 20328var $uncover_co$elm_theme$Theme$fromTheme = function (_v0) { 20329 var theme = _v0; 20330 return theme.cX; 20331}; 20332var $author$project$W$Container$gap_4 = $author$project$W$Container$addClass('ew-gap-4'); 20333var $dtwrks$elm_book$ElmBook$ComponentOptions$hiddenLabel = F2( 20334 function (hiddenLabel_, _v0) { 20335 var settings = _v0; 20336 return _Utils_update( 20337 settings, 20338 { 20339 fC: $elm$core$Maybe$Just(hiddenLabel_) 20340 }); 20341 }); 20342var $author$project$W$Container$htmlAttrs = function (v) { 20343 return function (attr) { 20344 return _Utils_update( 20345 attr, 20346 {b$: v}); 20347 }; 20348}; 20349var $author$project$W$Container$padTop_2 = $author$project$W$Container$addClass('ew-pt-2'); 20350var $author$project$W$Heading$primary = function (attrs) { 20351 return _Utils_update( 20352 attrs, 20353 {U: $uncover_co$elm_theme$Theme$primaryForeground}); 20354}; 20355var $uncover_co$elm_theme$Internal$Hash$HashData = F4( 20356 function (shift, seed, hash, charsProcessed) { 20357 return {ay: charsProcessed, aC: hash, aq: seed, aU: shift}; 20358 });
20359var $uncover_co$elm_theme$Internal$Hash$c1 = 3432918353; 20360var $uncover_co$elm_theme$Internal$Hash$c2 = 461845907; 20361var $uncover_co$elm_theme$Internal$Hash$multiplyBy = F2( 20362 function (b, a) { 20363 return ((a & 65535) * b) + ((((a >>> 16) * b) & 65535) << 16); 20364 }); 20365var $elm$core$Bitwise$or = _Bitwise_or; 20366var $uncover_co$elm_theme$Internal$Hash$rotlBy = F2( 20367 function (b, a) { 20368 return (a << b) | (a >>> (32 - b)); 20369 }); 20370var $elm$core$Bitwise$xor = _Bitwise_xor; 20371var $uncover_co$elm_theme$Internal$Hash$finalize = function (data) { 20372 var acc = (!(!data.aC)) ? (data.aq ^ A2( 20373 $uncover_co$elm_theme$Internal$Hash$multiplyBy, 20374 $uncover_co$elm_theme$Internal$Hash$c2, 20375 A2( 20376 $uncover_co$elm_theme$Internal$Hash$rotlBy, 20377 15, 20378 A2($uncover_co$elm_theme$Internal$Hash$multiplyBy, $uncover_co$elm_theme$Internal$Hash$c1, data.aC)))) : data.aq; 20379 var h0 = acc ^ data.ay; 20380 var h1 = A2($uncover_co$elm_theme$Internal$Hash$multiplyBy, 2246822507, h0 ^ (h0 >>> 16)); 20381 var h2 = A2($uncover_co$elm_theme$Internal$Hash$multiplyBy, 3266489909, h1 ^ (h1 >>> 13)); 20382 return (h2 ^ (h2 >>> 16)) >>> 0; 20383}; 20384var $elm$core$String$foldl = _String_foldl; 20385var $uncover_co$elm_theme$Internal$Hash$mix = F2( 20386 function (h1, k1) { 20387 return A2( 20388 $uncover_co$elm_theme$Internal$Hash$multiplyBy, 20389 5, 20390 A2( 20391 $uncover_co$elm_theme$Internal$Hash$rotlBy, 20392 13, 20393 h1 ^ A2( 20394 $uncover_co$elm_theme$Internal$Hash$multiplyBy, 20395 $uncover_co$elm_theme$Internal$Hash$c2, 20396 A2( 20397 $uncover_co$elm_theme$Internal$Hash$rotlBy, 20398 15, 20399 A2($uncover_co$elm_theme$Internal$Hash$multiplyBy, $uncover_co$elm_theme$Internal$Hash$c1, k1))))) + 3864292196; 20400 }); 20401var $uncover_co$elm_theme$Internal$Hash$hashFold = F2( 20402 function (c, data) { 20403 var res = data.aC | ((255 & $elm$core$Char$toCode(c)) << data.aU); 20404 var _v0 = data.aU; 20405 if (_v0 === 24) { 20406 return { 20407 ay: data.ay + 1, 20408 aC: 0, 20409 aq: A2($uncover_co$elm_theme$Internal$Hash$mix, data.aq, res), 20410 aU: 0 20411 }; 20412 } else { 20413 return {ay: data.ay + 1, aC: res, aq: data.aq, aU: data.aU + 8}; 20414 } 20415 }); 20416var $uncover_co$elm_theme$Internal$Hash$hashString = F2( 20417 function (seed, str) { 20418 return $uncover_co$elm_theme$Internal$Hash$finalize( 20419 A3( 20420 $elm$core$String$foldl, 20421 $uncover_co$elm_theme$Internal$Hash$hashFold, 20422 A4($uncover_co$elm_theme$Internal$Hash$HashData, 0, seed, 0, 0), 20423 str)); 20424 }); 20425var $uncover_co$elm_theme$Theme$hashString = $uncover_co$elm_theme$Internal$Hash$hashString(0); 20426var $uncover_co$elm_theme$Theme$toString = function (_v0) { 20427 var theme = _v0; 20428 return theme.eY; 20429}; 20430var $uncover_co$elm_theme$Theme$provider_ = function (props) { 20431 var targetClass = 'theme-' + $elm$core$String$fromInt( 20432 $uncover_co$elm_theme$Theme$hashString( 20433 _Utils_ap( 20434 $uncover_co$elm_theme$Theme$toString(props.ey), 20435 A2( 20436 $elm$core$Maybe$withDefault, 20437 '', 20438 A2($elm$core$Maybe$map, $uncover_co$elm_theme$Theme$toString, props.d7))))); 20439 var _v0 = props.d7; 20440 if (!_v0.$) { 20441 var dark = _v0.a; 20442 var _v1 = props.eX; 20443 if (_v1.$ === 1) { 20444 var darkClass = _v1.a; 20445 return { 20446 aQ: F2( 20447 function (attrs, children) { 20448 return A2( 20449 $elm$html$Html$div, 20450 A2( 20451 $elm$core$List$cons, 20452 $elm$html$Html$Attributes$class(targetClass), 20453 attrs), 20454 children); 20455 }), 20456 bu: A3( 20457 $elm$html$Html$node, 20458 'style', 20459 _List_Nil, 20460 _List_fromArray( 20461 [ 20462 $elm$html$Html$text( 20463 '.' + (targetClass + (' { ' + ($uncover_co$elm_theme$Theme$toString(props.ey) + (' } .' + (darkClass + (' .' + (targetClass + (' { ' + ($uncover_co$elm_theme$Theme$toString(dark) + '; color-scheme: dark; }')))))))))) 20464 ])) 20465 }; 20466 } else { 20467 return { 20468 aQ: F2( 20469 function (attrs, children) { 20470 return A2( 20471 $elm$html$Html$div, 20472 A2( 20473 $elm$core$List$cons, 20474 $elm$html$Html$Attributes$class(targetClass), 20475 attrs), 20476 children); 20477 }), 20478 bu: A3( 20479 $elm$html$Html$node, 20480 'style', 20481 _List_Nil, 20482 _List_fromArray( 20483 [ 20484 $elm$html$Html$text( 20485 '.' + (targetClass + (' { ' + ($uncover_co$elm_theme$Theme$toString(props.ey) + (' } @media (prefers-color-scheme: dark) { .' + (targetClass + (' { ' + ($uncover_co$elm_theme$Theme$toString(dark) + '; color-scheme: dark; } }')))))))) 20486 ])) 20487 }; 20488 } 20489 } else { 20490 return { 20491 aQ: F2( 20492 function (attrs, children) { 20493 return A2( 20494 $elm$html$Html$div, 20495 A2( 20496 $elm$core$List$cons, 20497 $elm$html$Html$Attributes$class(targetClass), 20498 attrs), 20499 children); 20500 }), 20501 bu: A3( 20502 $elm$html$Html$node, 20503 'style', 20504 _List_Nil, 20505 _List_fromArray( 20506 [ 20507 $elm$html$Html$text( 20508 '.' + (targetClass + (' { ' + ($uncover_co$elm_theme$Theme$toString(props.ey) + ' }')))) 20509 ])) 20510 }; 20511 } 20512}; 20513var $uncover_co$elm_theme$Theme$providerWithDarkMode = F3( 20514 function (props, attrs, children) { 20515 return function (data) { 20516 return A2( 20517 data.aQ, 20518 attrs, 20519 A2($elm$core$List$cons, data.bu, children)); 20520 }( 20521 $uncover_co$elm_theme$Theme$provider_( 20522 { 20523 d7: $elm$core$Maybe$Just(props.d7), 20524 ey: props.ey, 20525 eX: props.eX 20526 })); 20527 }); 20528var $dtwrks$elm_book$ElmBook$Chapter$render = F2( 20529 function (body, _v0) { 20530 var builder = _v0; 20531 return _Utils_update( 20532 builder, 20533 {
20534 fe: _Utils_ap(builder.fe, body) 20535 }); 20536 }); 20537var $author$project$W$InputText$required = function (v) { 20538 return function (attrs) { 20539 return _Utils_update( 20540 attrs, 20541 {cw: v}); 20542 }; 20543}; 20544var $author$project$Chapters$Overview$roleToString = function (role) { 20545 switch (role) { 20546 case 0: 20547 return 'Viewer'; 20548 case 1: 20549 return 'Editor'; 20550 default: 20551 return 'Admin'; 20552 } 20553}; 20554var $Massolari$elm_mask$Mask$maskStringHelper = F3( 20555 function (pattern, value, result) { 20556 maskStringHelper: 20557 while (true) { 20558 var _v0 = $elm$core$String$uncons(pattern); 20559 if (!_v0.$) { 20560 var _v1 = _v0.a; 20561 var headPattern = _v1.a; 20562 var tailPattern = _v1.b; 20563 var _v2 = $elm$core$String$uncons(value); 20564 if (!_v2.$) { 20565 var _v3 = _v2.a; 20566 var charValue = _v3.a; 20567 var rest = _v3.b; 20568 if ('#' === headPattern) { 20569 var $temp$pattern = tailPattern, 20570 $temp$value = rest, 20571 $temp$result = _Utils_ap( 20572 result, 20573 $elm$core$String$fromChar(charValue)); 20574 pattern = $temp$pattern; 20575 value = $temp$value; 20576 result = $temp$result; 20577 continue maskStringHelper; 20578 } else { 20579 var notHashtagHeadPattern = headPattern; 20580 var $temp$pattern = tailPattern, 20581 $temp$value = value, 20582 $temp$result = _Utils_ap( 20583 result, 20584 $elm$core$String$fromChar(notHashtagHeadPattern)); 20585 pattern = $temp$pattern; 20586 value = $temp$value; 20587 result = $temp$result; 20588 continue maskStringHelper; 20589 } 20590 } else { 20591 return A2($elm$core$String$contains, '#', pattern) ? result : _Utils_ap(result, pattern); 20592 } 20593 } else { 20594 return result; 20595 } 20596 } 20597 }); 20598var $Massolari$elm_mask$Mask$string = F2( 20599 function (pattern, value) { 20600 return A3($Massolari$elm_mask$Mask$maskStringHelper, pattern, value, ''); 20601 }); 20602var $dtwrks$elm_book$ElmBook$Actions$mapUpdate = F2( 20603 function (config, msg) { 20604 var update_ = F2( 20605 function (msg_, state) { 20606 return function (model) { 20607 return _Utils_Tuple2( 20608 A2(config.gu, state, model), 20609 $elm$core$Platform$Cmd$none); 20610 }( 20611 A2( 20612 config.gx, 20613 msg_, 20614 config.fv(state))); 20615 }); 20616 return A2($dtwrks$elm_book$ElmBook$Actions$updateStateWithCmdWith, update_, msg); 20617 }); 20618var $author$project$Chapters$Overview$update = F2( 20619 function (msg, model) { 20620 switch (msg.$) { 20621 case 0: 20622 var result = msg.a; 20623 var v = msg.b; 20624 return _Utils_update( 20625 model, 20626 { 20627 b2: v, 20628 b3: $elm$core$Maybe$Just(result) 20629 }); 20630 case 1: 20631 var v = msg.a; 20632 return _Utils_update( 20633 model, 20634 {cC: v}); 20635 default: 20636 var v = msg.a; 20637 return _Utils_update( 20638 model, 20639 {cG: v}); 20640 } 20641 }); 20642var $author$project$Chapters$Overview$toMsg = $dtwrks$elm_book$ElmBook$Actions$mapUpdate( 20643 { 20644 fv: function ($) { 20645 return $.aP; 20646 }, 20647 gu: F2( 20648 function (s, m) { 20649 return _Utils_update( 20650 s, 20651 {aP: m}); 20652 }), 20653 gx: $author$project$Chapters$Overview$update 20654 }); 20655var $uncover_co$elm_theme$Theme$toThemeData = function (_v0) { 20656 var theme = _v0; 20657 var _v1 = theme.cX; 20658 var builder = _v1; 20659 return builder.c; 20660}; 20661var $author$project$W$Container$vertical = function (attr) { 20662 return _Utils_update( 20663 attr, 20664 {aN: 0}); 20665}; 20666var $uncover_co$elm_theme$Theme$withBaseBackground = F2( 20667 function (v, _v0) { 20668 var theme = _v0; 20669 var data = theme.c; 20670 var colorSet = data.d1; 20671 return _Utils_update( 20672 theme, 20673 { 20674 c: _Utils_update( 20675 data, 20676 { 20677 d1: _Utils_update( 20678 colorSet, 20679 {bF: v}) 20680 }) 20681 }); 20682 }); 20683var $uncover_co$elm_theme$Theme$withBaseForeground = F2( 20684 function (v, _v0) { 20685 var theme = _v0; 20686 var data = theme.c; 20687 var colorSet = data.d1; 20688 return _Utils_update( 20689 theme, 20690 { 20691 c: _Utils_update( 20692 data, 20693 { 20694 d1: _Utils_update( 20695 colorSet, 20696 {da: v}) 20697 }) 20698 }); 20699 }); 20700var $dtwrks$elm_book$ElmBook$Internal$Helpers$applyAttributes = F2( 20701 function (fns, a) { 20702 return A3($elm$core$List$foldl, $elm$core$Basics$apL, a, fns); 20703 }); 20704var $dtwrks$elm_book$ElmBook$Chapter$withComponentOptions = F2( 20705 function (attributes, _v0) { 20706 var config = _v0; 20707 return _Utils_update( 20708 config, 20709 { 20710 d6: A2($dtwrks$elm_book$ElmBook$Internal$Helpers$applyAttributes, attributes, config.d6) 20711 }); 20712 }); 20713var $uncover_co$elm_theme$Theme$withFontHeading = F2( 20714 function (v, _v0) { 20715 var theme = _v0; 20716 var data = theme.c; 20717 var fonts = data.z; 20718 return _Utils_update( 20719 theme, 20720 { 20721 c: _Utils_update( 20722 data, 20723 { 20724 z: _Utils_update( 20725 fonts, 20726 {dd: v}) 20727 }) 20728 }); 20729 }); 20730var $uncover_co$elm_theme$Theme$withFontText = F2( 20731 function (v, _v0) { 20732 var theme = _v0; 20733 var data = theme.c; 20734 var fonts = data.z; 20735 return _Utils_update( 20736 theme, 20737 { 20738 c: _Utils_update( 20739 data, 20740 { 20741 z: _Utils_update( 20742 fonts, 20743 {j: v}) 20744 }) 20745 }); 20746 }); 20747var $uncover_co$elm_theme$Theme$withPrimary = F2( 20748 function (v, _v0) { 20749 var theme = _v0; 20750 var data = theme.c; 20751 return _Utils_update( 20752 theme, 20753 { 20754 c: _Utils_update( 20755 data, 20756 {dz: v}) 20757 }); 20758 }); 20759var $uncover_co$elm_theme$Theme$withPrimaryForeground = F2( 20760 function (v, _v0) { 20761 var theme = _v0; 20762 var data = theme.c; 20763 var colorSet = data.dz; 20764 return _Utils_update( 20765 theme, 20766 { 20767 c: _Utils_update( 20768 data, 20769 { 20770 dz: _Utils_update( 20771 colorSet, 20772 {da: v}) 20773 }) 20774 }); 20775 }); 20776var $uncover_co$elm_theme$Theme$withSecondary = F2( 20777 function (v, _v0) { 20778 var theme = _v0; 20779 var data = theme.c; 20780 return _Utils_update( 20781 theme, 20782 { 20783 c: _Utils_update( 20784 data, 20785 {dC: v}) 20786 }); 20787 }); 20788var $dtwrks$elm_book$ElmBook$Chapter$withStatefulComponentList = F2( 20789 function (componentList, _v0) { 20790 var builder = _v0; 20791 return _Utils_update( 20792 builder, 20793 {
20794 m: _Utils_ap( 20795 A2($elm$core$List$map, $dtwrks$elm_book$ElmBook$Chapter$fromTupleStateful, componentList), 20796 builder.m) 20797 }); 20798 }); 20799var $author$project$Chapters$Overview$chapter_ = A2( 20800 $dtwrks$elm_book$ElmBook$Chapter$render, 20801 '\n**elm-widgets** is a collection of stateless widgets designed to make your experience building elm applications easier and even more delightful.\n\n---\n\n## Stateless Views\n\nEasy to plug-n-play. No state management. No glue code.\n\n<component with-label="modal" />\n\n```elm\nW.Modal.viewToggable []\n { id = "my-modal"\n , content = [ ... ]\n }\n\nW.Modal.viewToggle "my-modal"\n [ W.Button.viewDummy []\n [ H.text "Toggle Modal" ]\n ]\n```\n\n\n## Let\'s use the platform\n\nWe\'re trying to push the boundaries of what is currently possible by the use of HTML, CSS and Elm\'s views and event decoders.\n\n<component with-label="input-mask" />\n\n```elm\nW.InputText.viewWithValidation\n [ W.InputText.mask (Mask.string "(##) ####-####")\n , W.InputText.required True\n , W.InputText.exactLength 10\n , W.InputText.placeholder "(55) 9999-9999"\n ]\n { onInput = GotInput\n , value = model.input\n }\n```\n\n> Note that the `Mask.string` function used in this example is not actually part of **elm-widgets** but you can find one such package [here](https://package.elm-lang.org/packages/Massolari/elm-mask/latest/).\n\n## Type-safe inputs and outputs\n\nKeep using your Elm types on your view boundaries.\n\n<component with-label="select" />\n\n```elm\ntype Msg\n = SelectedTime (Maybe Time.Posix)\n | SelectedRole Role.Role\n\nW.InputTime.view []\n { value = currentDate\n , timeZone = Time.utc\n , onInput = SelectedDate\n }\n\nW.InputSelect.view\n [ W.InputSelect.prefix "Role"\n ]\n { value = Role.Viewer\n , options = [ Role.Viewer, Role.Editor, Role.Admin ]\n , toLabel = Role.toString\n , onInput = SelectedRole\n }\n```\n\n---\n\n## Responsive Layouts\n\nBecoming the most powerful layout DSL is not the goal of elm-widgets. However, we want to give you a batteries included experience so you don\'t need to worry about extra dependencies, CSS integration, tailwind, etc.\n\nWith our [W.Container](https://package.elm-lang.org/packages/uncover-co/elm-widgets/latest/W-Container) widget you should be able to create most of what you want and we even give you a few responsive possibilities:\n\n<component with-label="layout" />\n\n```elm\nW.Container.view\n [ W.Container.gap_4\n , W.Container.pad_4\n , W.Container.horizontal\n , W.Container.alignTop\n , W.Container.alignRight\n , W.Container.largeScreen\n [ W.Container.vertical\n , W.Container.alignCenterX\n , W.Container.alignCenterY\n ]\n ]\n [ square, square ]\n```\n\n> If you\'re using Elm, you probably already know we have some pretty powerful layouting engines like [elm-ui](todo). We\'re not aiming to replace that in any way! You should be able to easily use elm-widgets along side it. ð \n\n---\n\n## Themable\n\nAll your widgets should be able to fit your app\'s look and feel.\n\n<component with-label="themable" />\n\nDark mode? Yeah! That too. Press that small moon up at the top! âï¸\n\n---\n\n## Next Steps\n\nOur goal with elm-widgets is to build a large collection of stateless, themable, accessible and type-safe widgets. The platform is constantly evolving and so the list of things we can do with plain HTML, CSS (and Elm pure functions and event decoders).\n\nIf you know of a particular CSS/HTML/Elm feature we could use to build something interesting or improve our current widgets, [open an issue](https://github.com/uncover-co/elm-widgets/issues) and let\'s discuss! \n\nWe care a lot about backwards compatibility, so we try to make things as stable as possible. With that in mind, we also maintain a second package called [uncover-co/elm-widgets-alpha](https://github.com/uncover-co/elm-widgets-alpha) where we may experiment with new widgets before their API is stable enough for release.\n\n', 20802 A2( 20803 $dtwrks$elm_book$ElmBook$Chapter$withStatefulComponentList, 20804 _List_fromArray( 20805 [ 20806 _Utils_Tuple2( 20807 'modal', 20808 function (_v0) { 20809 return A2( 20810 $elm$html$Html$div, 20811 _List_fromArray( 20812 [ 20813 A2( 20814 $elm$html$Html$Attributes$attribute, 20815 'style', 20816 'display: flex; align-items: center; justify-content: center; border-radius: 4px; padding: 40px 20px; background:' + $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.1)) 20817 ]), 20818 _List_fromArray( 20819 [ 20820 A2( 20821 $author$project$W$Modal$viewToggle, 20822 'my-modal-toggle', 20823 _List_fromArray( 20824 [ 20825 A2( 20826 $author$project$W$Button$viewDummy, 20827 _List_Nil, 20828 _List_fromArray( 20829 [ 20830 $elm$html$Html$text('Toggle Modal') 20831 ])) 20832 ])), 20833 A2( 20834 $author$project$W$Modal$viewToggableWithAutoClose, 20835 _List_Nil, 20836 { 20837 c$: _List_fromArray( 20838 [ 20839 A2( 20840 $author$project$W$Container$view, 20841 _List_fromArray( 20842 [$author$project$W$Container$pad_8, $author$project$W$Container$gap_2]), 20843 _List_fromArray( 20844 [ 20845 A2( 20846 $author$project$W$Heading$view, 20847 _List_fromArray( 20848 [$author$project$W$Heading$alignCenter, $author$project$W$Heading$primary]), 20849 _List_fromArray( 20850 [ 20851 $elm$html$Html$text('Oh no... a modal package?') 20852 ])), 20853 A2( 20854 $author$project$W$Text$view, 20855 _List_fromArray( 20856 [$author$project$W$Text$alignCenter]), 20857 _List_fromArray( 20858 [ 20859 $elm$html$Html$text('Don\'t worry! No messages were harmed in the toggling of this modal!') 20860 ])) 20861 ])) 20862 ]), 20863 fE: 'my-modal-toggle' 20864 }) 20865 ])); 20866 }), 20867 _Utils_Tuple2( 20868 'input-mask', 20869 function (state) { 20870 return A2( 20871 $elm$html$Html$map, 20872 $author$project$Chapters$Overview$toMsg, 20873 A2( 20874 $author$project$W$InputField$view, 20875 _List_fromArray( 20876 [ 20877 $author$project$W$InputField$hint( 20878 _List_fromArray( 20879 [ 20880 $elm$html$Html$text('Natively validates strings based on html attrs.') 20881 ])) 20882 ]), 20883 { 20884 en: _List_fromArray( 20885 [ 20886 A2( 20887 $author$project$W$InputText$viewWithValidation, 20888 _List_fromArray( 20889 [ 20890 $author$project$W$InputText$mask( 20891 $Massolari$elm_mask$Mask$string('(##) ####-####')), 20892 $author$project$W$InputText$required(true), 20893 $author$project$W$InputText$exactLength(10), 20894 $author$project$W$InputText$placeholder('(55) 9999-9999') 20895 ]), 20896 {cm: $author$project$Chapters$Overview$OnInputMask, cN: state.aP.b2}), 20897 function () { 20898 var _v1 = state.aP.b3; 20899 if (!_v1.$) { 20900 var result = _v1.a; 20901 return A2( 20902 $author$project$W$Container$view, 20903 _List_fromArray( 20904 [$author$project$W$Container$padTop_2]), 20905 _List_fromArray( 20906 [ 20907 function () { 20908 if (!result.$) { 20909 var value = result.a; 20910 return A2( 20911 $author$project$W$Message$view, 20912 _List_fromArray( 20913 [$author$project$W$Message$success]), 20914 _List_fromArray( 20915 [ 20916 $elm$html$Html$text('You got it! \"'), 20917 $elm$html$Html$text(value), 20918 $elm$html$Html$text('\" is a valid value!') 20919 ])); 20920 } else { 20921 var errors = result.a; 20922 return A2( 20923 $elm$core$Maybe$withDefault, 20924 $elm$html$Html$text(''), 20925 A2( 20926 $elm$core$Maybe$map, 20927 function (error) { 20928 return A2( 20929 $author$project$W$Message$view, 20930 _List_fromArray( 20931 [$author$project$W$Message$danger]), 20932 _List_fromArray( 20933 [ 20934 $elm$html$Html$text( 20935 $author$project$W$InputText$errorToString(error)) 20936 ])); 20937 }, 20938 $elm$core$List$head(errors))); 20939 } 20940 }() 20941 ])); 20942 } else { 20943 return $elm$html$Html$text(''); 20944 } 20945 }() 20946 ]), 20947 aK: _List_fromArray( 20948 [ 20949 $elm$html$Html$text('Pattern Language') 20950 ]) 20951 })); 20952 }), 20953 _Utils_Tuple2( 20954 'select', 20955 function (state) { 20956 return A2( 20957 $elm$html$Html$map, 20958 $author$project$Chapters$Overview$toMsg, 20959 A2( 20960 $author$project$W$Container$view, 20961 _List_fromArray( 20962 [$author$project$W$Container$gap_2, $author$project$W$Container$horizontal]), 20963 _List_fromArray( 20964 [ 20965 A2( 20966 $author$project$W$InputSelect$view, 20967 _List_Nil, 20968 { 20969 cm: $author$project$Chapters$Overview$OnSelect, 20970 f9: _List_fromArray( 20971 [0, 1, 2]), 20972 u: $author$project$Chapters$Overview$roleToString, 20973 cN: state.aP.cC 20974 }), 20975 A2( 20976 $author$project$W$InputTime$view, 20977 _List_Nil, 20978 {cm: $author$project$Chapters$Overview$OnSelectTime, cN: state.aP.cG}) 20979 ]))); 20980 }), 20981 _Utils_Tuple2( 20982 'layout', 20983 function (_v3) { 20984 var square = A2( 20985 $elm$html$Html$div, 20986 _List_fromArray( 20987 [ 20988 $author$project$W$Internal$Helpers$styles( 20989 _List_fromArray( 20990 [ 20991 _Utils_Tuple2('width', '40px'), 20992 _Utils_Tuple2('height', '40px'), 20993 _Utils_Tuple2( 20994 'background', 20995 $uncover_co$elm_theme$Theme$primaryForegroundWithAlpha(0.8)), 20996 _Utils_Tuple2('border-radius', '4px') 20997 ])) 20998 ]), 20999 _List_Nil); 21000 return A2( 21001 $author$project$W$Container$view, 21002 _List_fromArray( 21003 [ 21004 $author$project$W$Container$background( 21005 $uncover_co$elm_theme$Theme$baseForegroundWithAlpha(0.07)), 21006 $author$project$W$Container$horizontal, 21007 $author$project$W$Container$gap_4, 21008 $author$project$W$Container$pad_4, 21009 $author$project$W$Container$alignTop, 21010 $author$project$W$Container$alignRight, 21011 $author$project$W$Container$largeScreen( 21012 _List_fromArray( 21013 [$author$project$W$Container$vertical, $author$project$W$Container$alignCenterX, $author$project$W$Container$alignCenterY])), 21014 $author$project$W$Container$htmlAttrs( 21015 _List_fromArray( 21016 [ 21017 A2($elm$html$Html$Attributes$style, 'height', '200px') 21018 ])) 21019 ]), 21020 _List_fromArray( 21021 [square, square])); 21022 }), 21023 _Utils_Tuple2( 21024 'themable', 21025 function (_v4) { 21026 var pinkTheme = $uncover_co$elm_theme$Theme$toTheme( 21027 A2( 21028 $uncover_co$elm_theme$Theme$withSecondary, 21029 $uncover_co$elm_theme$Theme$toThemeData($uncover_co$elm_theme$Theme$darkTheme).d1, 21030 A2( 21031 $uncover_co$elm_theme$Theme$withPrimaryForeground, 21032 A3($avh4$elm_color$Color$rgb255, 0, 88, 190), 21033 A2( 21034 $uncover_co$elm_theme$Theme$withBaseForeground, 21035 A3($avh4$elm_color$Color$rgb255, 109, 13, 101), 21036 A2(
21037 $uncover_co$elm_theme$Theme$withBaseBackground, 21038 A3($avh4$elm_color$Color$rgb255, 255, 77, 241), 21039 A2( 21040 $uncover_co$elm_theme$Theme$withFontText, 21041 'Patrick Hand', 21042 A2( 21043 $uncover_co$elm_theme$Theme$withFontHeading, 21044 'Leckerli One', 21045 $uncover_co$elm_theme$Theme$fromTheme($uncover_co$elm_theme$Theme$darkTheme)))))))); 21046 var pinkDarkTheme = $uncover_co$elm_theme$Theme$toTheme( 21047 A2( 21048 $uncover_co$elm_theme$Theme$withSecondary, 21049 $uncover_co$elm_theme$Theme$toThemeData($uncover_co$elm_theme$Theme$darkTheme).d1, 21050 A2( 21051 $uncover_co$elm_theme$Theme$withBaseForeground, 21052 A3($avh4$elm_color$Color$rgb255, 255, 115, 243), 21053 A2( 21054 $uncover_co$elm_theme$Theme$withBaseBackground, 21055 A3($avh4$elm_color$Color$rgb255, 85, 2, 79), 21056 A2( 21057 $uncover_co$elm_theme$Theme$withFontText, 21058 'Patrick Hand', 21059 A2( 21060 $uncover_co$elm_theme$Theme$withFontHeading, 21061 'Leckerli One', 21062 $uncover_co$elm_theme$Theme$fromTheme($uncover_co$elm_theme$Theme$darkTheme))))))); 21063 var card = A2( 21064 $author$project$W$Container$view, 21065 _List_fromArray( 21066 [$author$project$W$Container$horizontal, $author$project$W$Container$card, $author$project$W$Container$spaceBetween, $author$project$W$Container$pad_4]), 21067 _List_fromArray( 21068 [ 21069 A2( 21070 $author$project$W$Container$view, 21071 _List_Nil, 21072 _List_fromArray( 21073 [ 21074 A2( 21075 $author$project$W$Heading$view, 21076 _List_Nil, 21077 _List_fromArray( 21078 [ 21079 $elm$html$Html$text('Heading') 21080 ])), 21081 A2( 21082 $author$project$W$Text$view, 21083 _List_Nil, 21084 _List_fromArray( 21085 [ 21086 $elm$html$Html$text('Some text') 21087 ])) 21088 ])), 21089 A2( 21090 $author$project$W$Container$view, 21091 _List_fromArray( 21092 [$author$project$W$Container$horizontal, $author$project$W$Container$gap_2]), 21093 _List_fromArray( 21094 [ 21095 A2( 21096 $author$project$W$Tag$view, 21097 _List_fromArray( 21098 [$author$project$W$Tag$primary]), 21099 _List_fromArray( 21100 [ 21101 $elm$html$Html$text('Stateless') 21102 ])), 21103 A2( 21104 $author$project$W$Tag$view, 21105 _List_fromArray( 21106 [$author$project$W$Tag$secondary]), 21107 _List_fromArray( 21108 [ 21109 $elm$html$Html$text('Tasteful') 21110 ])) 21111 ])) 21112 ])); 21113 var blueTheme = $uncover_co$elm_theme$Theme$toTheme( 21114 A2( 21115 $uncover_co$elm_theme$Theme$withPrimary, 21116 $uncover_co$elm_theme$Theme$toThemeData($uncover_co$elm_theme$Theme$darkTheme).gr, 21117 A2( 21118 $uncover_co$elm_theme$Theme$withBaseBackground, 21119 A3($avh4$elm_color$Color$rgb255, 18, 133, 233), 21120 A2( 21121 $uncover_co$elm_theme$Theme$withFontText, 21122 'Raleway', 21123 A2( 21124 $uncover_co$elm_theme$Theme$withFontHeading, 21125 '\'Press Start 2P\'', 21126 $uncover_co$elm_theme$Theme$fromTheme($uncover_co$elm_theme$Theme$darkTheme)))))); 21127 var blueDarkTheme = $uncover_co$elm_theme$Theme$toTheme( 21128 A2( 21129 $uncover_co$elm_theme$Theme$withBaseForeground, 21130 A3($avh4$elm_color$Color$rgb255, 101, 173, 235), 21131 A2( 21132 $uncover_co$elm_theme$Theme$withBaseBackground, 21133 A3($avh4$elm_color$Color$rgb255, 0, 34, 63), 21134 $uncover_co$elm_theme$Theme$fromTheme(blueTheme)))); 21135 return A2( 21136 $author$project$W$Container$view, 21137 _List_fromArray( 21138 [$author$project$W$Container$gap_4]), 21139 _List_fromArray( 21140 [ 21141 card, 21142 A3( 21143 $uncover_co$elm_theme$Theme$providerWithDarkMode, 21144 { 21145 d7: blueDarkTheme, 21146 ey: blueTheme, 21147 eX: $uncover_co$elm_theme$Theme$classStrategy('elm-book-dark-mode') 21148 }, 21149 _List_Nil, 21150 _List_fromArray( 21151 [card])), 21152 A3( 21153 $uncover_co$elm_theme$Theme$providerWithDarkMode, 21154 { 21155 d7: pinkDarkTheme, 21156 ey: pinkTheme, 21157 eX: $uncover_co$elm_theme$Theme$classStrategy('elm-book-dark-mode') 21158 }, 21159 _List_Nil, 21160 _List_fromArray( 21161 [card])) 21162 ])); 21163 }) 21164 ]), 21165 A2( 21166 $dtwrks$elm_book$ElmBook$Chapter$withComponentOptions, 21167 _List_fromArray( 21168 [ 21169 $dtwrks$elm_book$ElmBook$ComponentOptions$hiddenLabel(true) 21170 ]), 21171 $dtwrks$elm_book$ElmBook$Chapter$chapter('Overview')))); 21172var $author$project$Chapters$Theme$updateColor = F3( 21173 function (colorSet, detail, value) { 21174 switch (detail) { 21175 case 0: 21176 return _Utils_update( 21177 colorSet, 21178 {bF: value}); 21179 case 1: 21180 return _Utils_update( 21181 colorSet, 21182 {da: value}); 21183 default: 21184 return _Utils_update( 21185 colorSet, 21186 {cV: value}); 21187 } 21188 }); 21189var $author$project$Chapters$Theme$update = F2( 21190 function (msg, model) { 21191 if (!msg.$) { 21192 return model; 21193 } else { 21194 var color = msg.a; 21195 var detail = msg.b; 21196 var value = msg.c; 21197 switch (color) { 21198 case 0: 21199 return _Utils_update( 21200 model, 21201 { 21202 d1: A3($author$project$Chapters$Theme$updateColor, model.d1, detail, value) 21203 }); 21204 case 1: 21205 return _Utils_update( 21206 model, 21207 { 21208 dz: A3($author$project$Chapters$Theme$updateColor, model.dz, detail, value) 21209 }); 21210 case 2: 21211 return _Utils_update( 21212 model, 21213 { 21214 dC: A3($author$project$Chapters$Theme$updateColor, model.dC, detail, value) 21215 }); 21216 case 3: 21217 return _Utils_update( 21218 model, 21219 { 21220 dq: A3($author$project$Chapters$Theme$updateColor, model.dq, detail, value) 21221 }); 21222 case 4: 21223 return _Utils_update( 21224 model, 21225 { 21226 gr: A3($author$project$Chapters$Theme$updateColor, model.gr, detail, value) 21227 }); 21228 case 5: 21229 return _Utils_update( 21230 model, 21231 { 21232 c0: A3($author$project$Chapters$Theme$updateColor, model.c0, detail, value) 21233 }); 21234 default: 21235 return _Utils_update( 21236 model, 21237 { 21238 dX: A3($author$project$Chapters$Theme$updateColor, model.dX, detail, value) 21239 }); 21240 } 21241 } 21242 }); 21243var $author$project$Chapters$Theme$Base = 0; 21244var $author$project$Chapters$Theme$Danger = 5; 21245var $author$project$Chapters$Theme$Neutral = 3; 21246var $author$project$Chapters$Theme$Primary = 1; 21247var $author$project$Chapters$Theme$Secondary = 2; 21248var $author$project$Chapters$Theme$Success = 4; 21249var $author$project$Chapters$Theme$Update = F3( 21250 function (a, b, c) {
21251 return {$: 1, a: a, b: b, c: c}; 21252 }); 21253var $author$project$Chapters$Theme$Warning = 6; 21254var $uncover_co$elm_theme$Theme$baseBackgroundWithAlpha = $uncover_co$elm_theme$Theme$cssVarWithAlpha('base-bg'); 21255var $uncover_co$elm_theme$Theme$base = {cV: $uncover_co$elm_theme$Theme$baseAux, ab: $uncover_co$elm_theme$Theme$baseAuxWithAlpha, bF: $uncover_co$elm_theme$Theme$baseBackground, T: $uncover_co$elm_theme$Theme$baseBackgroundWithAlpha, da: $uncover_co$elm_theme$Theme$baseForeground, fs: $uncover_co$elm_theme$Theme$baseForegroundWithAlpha}; 21256var $author$project$Chapters$Theme$Aux = 2; 21257var $author$project$Chapters$Theme$Background = 0; 21258var $author$project$Chapters$Theme$Foreground = 1; 21259var $author$project$W$Heading$color = function (v) { 21260 return function (attrs) { 21261 return _Utils_update( 21262 attrs, 21263 {U: v}); 21264 }; 21265}; 21266var $author$project$W$Heading$extraSmall = function (attrs) { 21267 return _Utils_update( 21268 attrs, 21269 {fp: 'ew-text-lg'}); 21270}; 21271var $tesk9$palette$SolidColor$Accessibility$AA = 1; 21272var $tesk9$palette$SolidColor$Accessibility$AAA = 2; 21273var $tesk9$palette$SolidColor$Accessibility$AAA_ = 1; 21274var $tesk9$palette$SolidColor$Accessibility$AA_ = 0; 21275var $tesk9$palette$SolidColor$Accessibility$Inaccessible = 0; 21276var $elm$core$Basics$pow = _Basics_pow; 21277var $tesk9$palette$SolidColor$luminance = function (color) { 21278 var toSRBG = function (rgb8bit) { 21279 return rgb8bit / 255; 21280 }; 21281 var fromSRGB = function (srgb) { 21282 return (srgb <= 0.03928) ? (srgb / 12.92) : A2($elm$core$Basics$pow, (srgb + 0.055) / 1.055, 2.4); 21283 }; 21284 var _v0 = $tesk9$palette$SolidColor$toRGB(color); 21285 var rRaw = _v0.a; 21286 var gRaw = _v0.b; 21287 var bRaw = _v0.c; 21288 var blue = fromSRGB( 21289 toSRBG(bRaw)); 21290 var green = fromSRGB( 21291 toSRBG(gRaw)); 21292 var red = fromSRGB( 21293 toSRBG(rRaw)); 21294 return ((0.2126 * red) + (0.7152 * green)) + (0.0722 * blue); 21295}; 21296var $tesk9$palette$SolidColor$Accessibility$contrast = F2( 21297 function (color1, color2) { 21298 var luminance2 = $tesk9$palette$SolidColor$luminance(color2); 21299 var luminance1 = $tesk9$palette$SolidColor$luminance(color1); 21300 return (_Utils_cmp(luminance1, luminance2) > 0) ? ((luminance1 + 0.05) / (luminance2 + 0.05)) : ((luminance2 + 0.05) / (luminance1 + 0.05)); 21301 }); 21302var $tesk9$palette$SolidColor$Accessibility$sufficientContrast = F4( 21303 function (wcagLevel, _v0, color1, color2) { 21304 var fontSize = _v0.fp; 21305 var fontWeight = _v0.fq; 21306 var colorContrast = A2($tesk9$palette$SolidColor$Accessibility$contrast, color1, color2); 21307 if (!wcagLevel) { 21308 return (((fontSize > 14) && (fontWeight >= 700)) || (fontSize > 18)) ? (colorContrast >= 3) : (colorContrast >= 4.5); 21309 } else { 21310 return (((fontSize > 14) && (fontWeight >= 700)) || (fontSize > 18)) ? (colorContrast >= 4.5) : (colorContrast >= 7); 21311 } 21312 }); 21313var $tesk9$palette$SolidColor$Accessibility$checkContrast = F3( 21314 function (font, color1, color2) { 21315 return A4($tesk9$palette$SolidColor$Accessibility$sufficientContrast, 1, font, color1, color2) ? 2 : (A4($tesk9$palette$SolidColor$Accessibility$sufficientContrast, 0, font, color1, color2) ? 1 : 0); 21316 }); 21317var $author$project$Chapters$Theme$a11yStatus = F2( 21318 function (fg, bg) { 21319 var _v0 = A3( 21320 $tesk9$palette$SolidColor$Accessibility$checkContrast, 21321 {fp: 12, fq: 500}, 21322 fg, 21323 bg); 21324 switch (_v0) { 21325 case 0: 21326 return $elm$html$Html$text(''); 21327 case 1: 21328 return A2( 21329 $author$project$W$Badge$viewInline, 21330 _List_fromArray( 21331 [$author$project$W$Badge$small, $author$project$W$Badge$neutral]), 21332 _List_fromArray( 21333 [ 21334 $elm$html$Html$text('AA') 21335 ])); 21336 default: 21337 return A2( 21338 $author$project$W$Badge$viewInline, 21339 _List_fromArray( 21340 [$author$project$W$Badge$small, $author$project$W$Badge$success]), 21341 _List_fromArray( 21342 [ 21343 $elm$html$Html$text('AAA') 21344 ])); 21345 } 21346 }); 21347var $author$project$W$Text$alignRight = function (attrs) { 21348 return _Utils_update( 21349 attrs, 21350 {aX: 'ew-text-right'}); 21351}; 21352var $author$project$W$Text$extraSmall = function (attrs) { 21353 return _Utils_update( 21354 attrs, 21355 {fp: 'ew-text-xs'}); 21356}; 21357var $author$project$Chapters$Theme$contrast = F2( 21358 function (c1, c2) { 21359 return function (str) { 21360 return A2( 21361 $author$project$W$Tooltip$view, 21362 _List_Nil, 21363 { 21364 cY: _List_fromArray( 21365 [ 21366 A2( 21367 $author$project$W$Text$view, 21368 _List_fromArray( 21369 [$author$project$W$Text$extraSmall, $author$project$W$Text$aux]), 21370 _List_fromArray( 21371 [ 21372 $elm$html$Html$text(str) 21373 ])) 21374 ]), 21375 e1: _List_fromArray( 21376 [ 21377 $elm$html$Html$text('some contrast ratio') 21378 ]) 21379 }); 21380 }( 21381 function (xs) { 21382 if (!xs.b) { 21383 return ''; 21384 } else { 21385 if (xs.b.b && (!xs.b.b.b)) { 21386 var h = xs.a; 21387 var _v1 = xs.b; 21388 var t = _v1.a; 21389 return h + ('.' + A2($elm$core$String$left, 2, t)); 21390 } else { 21391 var h = xs.a; 21392 return h; 21393 } 21394 } 21395 }( 21396 A2( 21397 $elm$core$String$split, 21398 '.', 21399 $elm$core$String$fromFloat( 21400 A2($tesk9$palette$SolidColor$Accessibility$contrast, c1, c2))))); 21401 }); 21402var $author$project$W$Container$gap_1 = $author$project$W$Container$addClass('ew-gap-1'); 21403var $author$project$W$Container$padBottom_1 = $author$project$W$Container$addClass('ew-pb-1'); 21404var $author$project$W$Container$padX_3 = $author$project$W$Container$addClass('ew-px-3'); 21405var $author$project$W$Container$padY_2 = $author$project$W$Container$addClass('ew-py-2'); 21406var $author$project$W$Container$rounded = $author$project$W$Container$addClass('ew-rounded'); 21407var $author$project$W$Text$addClass = function (_class) { 21408 return function (attr) { 21409 return _Utils_update( 21410 attr, 21411 {F: attr.F + (' ' + _class)}); 21412 }; 21413};
21414var $author$project$W$Text$semibold = $author$project$W$Text$addClass('ew-font-semibold'); 21415var $author$project$Chapters$Theme$themeColorDetailLabel = function (value) { 21416 switch (value) { 21417 case 0: 21418 return 'Background'; 21419 case 1: 21420 return 'Foreground'; 21421 default: 21422 return 'Aux'; 21423 } 21424}; 21425var $tesk9$palette$Internal$RGBA$toStringWithoutOpacity = function (_v0) { 21426 var red = _v0.gh; 21427 var green = _v0.fx; 21428 var blue = _v0.fd; 21429 return 'rgb(' + ($elm$core$String$fromFloat(red) + (',' + ($elm$core$String$fromFloat(green) + (',' + ($elm$core$String$fromFloat(blue) + ')'))))); 21430}; 21431var $tesk9$palette$SolidColor$toRGBString = function (_v0) { 21432 var color = _v0; 21433 return $tesk9$palette$Internal$RGBA$toStringWithoutOpacity( 21434 $tesk9$palette$Internal$Color$asRGBA(color)); 21435}; 21436var $author$project$Chapters$Theme$input = F4( 21437 function (color, contrastColor, msg, themeColorDetail) { 21438 return A2( 21439 $author$project$W$Container$view, 21440 _List_Nil, 21441 _List_fromArray( 21442 [ 21443 A2( 21444 $author$project$W$Container$view, 21445 _List_fromArray( 21446 [$author$project$W$Container$padBottom_1, $author$project$W$Container$alignLeft, $author$project$W$Container$horizontal, $author$project$W$Container$gap_1]), 21447 _List_fromArray( 21448 [ 21449 A2( 21450 $author$project$W$Text$view, 21451 _List_fromArray( 21452 [$author$project$W$Text$small, $author$project$W$Text$semibold]), 21453 _List_fromArray( 21454 [ 21455 $elm$html$Html$text( 21456 $author$project$Chapters$Theme$themeColorDetailLabel(themeColorDetail)) 21457 ])), 21458 A2($author$project$Chapters$Theme$contrast, color, contrastColor), 21459 A2($author$project$Chapters$Theme$a11yStatus, color, contrastColor) 21460 ])), 21461 A2( 21462 $author$project$W$Container$view, 21463 _List_fromArray( 21464 [ 21465 $author$project$W$Container$background( 21466 $uncover_co$elm_theme$Theme$baseForegroundWithAlpha(0.07)), 21467 $author$project$W$Container$padX_3, 21468 $author$project$W$Container$padY_2, 21469 $author$project$W$Container$gap_2, 21470 $author$project$W$Container$rounded, 21471 $author$project$W$Container$alignRight, 21472 $author$project$W$Container$horizontal 21473 ]), 21474 _List_fromArray( 21475 [ 21476 A2( 21477 $elm$html$Html$div, 21478 _List_Nil, 21479 _List_fromArray( 21480 [ 21481 A2( 21482 $author$project$W$Text$view, 21483 _List_fromArray( 21484 [$author$project$W$Text$small, $author$project$W$Text$alignRight]), 21485 _List_fromArray( 21486 [ 21487 $elm$html$Html$text( 21488 $tesk9$palette$SolidColor$toHex(color)) 21489 ])), 21490 A2( 21491 $author$project$W$Text$view, 21492 _List_fromArray( 21493 [$author$project$W$Text$small, $author$project$W$Text$alignRight]), 21494 _List_fromArray( 21495 [ 21496 $elm$html$Html$text( 21497 $tesk9$palette$SolidColor$toRGBString(color)) 21498 ])) 21499 ])), 21500 A2( 21501 $author$project$W$InputColor$view, 21502 _List_Nil, 21503 { 21504 cm: msg(themeColorDetail), 21505 cN: $author$project$W$Internal$Color$fromSolidColor(color) 21506 }) 21507 ])) 21508 ])); 21509 }); 21510var $author$project$W$Container$node = function (v) { 21511 return function (attr) { 21512 return _Utils_update( 21513 attr, 21514 {ce: v}); 21515 }; 21516}; 21517var $author$project$W$Container$padX_4 = $author$project$W$Container$addClass('ew-px-4'); 21518var $author$project$W$Container$padY_8 = $author$project$W$Container$addClass('ew-py-8'); 21519var $author$project$Chapters$Theme$themeColorLabel = function (themeColor) { 21520 switch (themeColor) { 21521 case 0: 21522 return 'Base'; 21523 case 1: 21524 return 'Primary'; 21525 case 2: 21526 return 'Secondary'; 21527 case 3: 21528 return 'Neutral'; 21529 case 4: 21530 return 'Success'; 21531 case 5: 21532 return 'Danger'; 21533 default: 21534 return 'Warning'; 21535 } 21536}; 21537var $author$project$Chapters$Theme$colorSelector = F4( 21538 function (baseBg, msg, _v0, children) { 21539 var themeColor = _v0.a; 21540 var color_ = _v0.b; 21541 var color = _v0.c; 21542 var fg = $author$project$W$Internal$Color$toSolidColor(color_.da); 21543 var bg = $author$project$W$Internal$Color$toSolidColor(color_.bF); 21544 var aux = $author$project$W$Internal$Color$toSolidColor(color_.cV); 21545 return A2( 21546 $author$project$W$Container$view, 21547 _List_fromArray( 21548 [ 21549 $author$project$W$Container$node('section'), 21550 $author$project$W$Container$vertical, 21551 $author$project$W$Container$spaceBetween, 21552 $author$project$W$Container$padX_4, 21553 $author$project$W$Container$padY_8, 21554 $author$project$W$Container$gap_4 21555 ]), 21556 _List_fromArray( 21557 [ 21558 A2( 21559 $author$project$W$Container$view, 21560 _List_fromArray( 21561 [$author$project$W$Container$fill]), 21562 _List_fromArray( 21563 [ 21564 A2( 21565 $author$project$W$Heading$view, 21566 _List_fromArray( 21567 [ 21568 $author$project$W$Heading$extraSmall, 21569 $author$project$W$Heading$color( 21570 $tesk9$palette$SolidColor$toHex(fg)) 21571 ]), 21572 _List_fromArray( 21573 [ 21574 $elm$html$Html$text( 21575 $author$project$Chapters$Theme$themeColorLabel(themeColor)) 21576 ])), 21577 A2($elm$html$Html$div, _List_Nil, children) 21578 ])), 21579 A2( 21580 $author$project$W$Container$view, 21581 _List_fromArray( 21582 [$author$project$W$Container$horizontal, $author$project$W$Container$gap_2, $author$project$W$Container$pad_2, $author$project$W$Container$card]), 21583 _List_fromArray( 21584 [ 21585 A4( 21586 $author$project$Chapters$Theme$input, 21587 fg, 21588 baseBg, 21589 msg(themeColor), 21590 1), 21591 A4( 21592 $author$project$Chapters$Theme$input, 21593 bg, 21594 aux, 21595 msg(themeColor), 21596 0), 21597 A4( 21598 $author$project$Chapters$Theme$input, 21599 aux, 21600 bg, 21601 msg(themeColor), 21602 2) 21603 ])) 21604 ])); 21605 }); 21606var $author$project$W$Divider$light = function (attrs) { 21607 return _Utils_update( 21608 attrs, 21609 { 21610 U: $uncover_co$elm_theme$Theme$baseAuxWithAlpha(0.07) 21611 }); 21612}; 21613var $uncover_co$elm_theme$Theme$SystemStrategy = {$: 0}; 21614var $uncover_co$elm_theme$Theme$provider = F3( 21615 function (theme, attrs, children) { 21616 return function (data) { 21617 return A2( 21618 data.aQ, 21619 attrs, 21620 A2($elm$core$List$cons, data.bu, children)); 21621 }( 21622 $uncover_co$elm_theme$Theme$provider_( 21623 {d7: $elm$core$Maybe$Nothing, ey: theme, eX: $uncover_co$elm_theme$Theme$SystemStrategy})); 21624 }); 21625var $author$project$Chapters$Theme$view = function (model) { 21626 var theme = $uncover_co$elm_theme$Theme$new(model); 21627 var baseBg = $author$project$W$Internal$Color$toSolidColor(model.d1.bF); 21628 return A3( 21629 $uncover_co$elm_theme$Theme$provider, 21630 theme, 21631 _List_Nil, 21632 _List_fromArray( 21633 [ 21634 A2( 21635 $author$project$W$Container$view, 21636 _List_fromArray( 21637 [ 21638 $author$project$W$Container$pad_4, 21639 $author$project$W$Container$background('linear-gradient(rgba(0,0,0,0.1), rgba(0,0,0,0.1)), ' + $uncover_co$elm_theme$Theme$baseBackgroun
21639d) 21640 ]), 21641 _List_fromArray( 21642 [ 21643 A2( 21644 $author$project$W$Container$view, 21645 _List_fromArray( 21646 [ 21647 $author$project$W$Container$rounded, 21648 $author$project$W$Container$background($uncover_co$elm_theme$Theme$baseBackground), 21649 $author$project$W$Container$shadow 21650 ]), 21651 A2( 21652 $elm$core$List$cons, 21653 A4( 21654 $author$project$Chapters$Theme$colorSelector, 21655 baseBg, 21656 $author$project$Chapters$Theme$Update, 21657 _Utils_Tuple3(0, model.d1, $uncover_co$elm_theme$Theme$base), 21658 _List_fromArray( 21659 [ 21660 A2( 21661 $author$project$W$Text$view, 21662 _List_Nil, 21663 _List_fromArray( 21664 [ 21665 $elm$html$Html$text('This is the default text color.') 21666 ])), 21667 A2( 21668 $author$project$W$Text$view, 21669 _List_fromArray( 21670 [$author$project$W$Text$aux]), 21671 _List_fromArray( 21672 [ 21673 $elm$html$Html$text('And this is the auxiliary text color.') 21674 ])) 21675 ])), 21676 A2( 21677 $elm$core$List$map, 21678 function (_v0) { 21679 var a = _v0.a; 21680 var b = _v0.b; 21681 var c = _v0.c; 21682 return A2( 21683 $elm$html$Html$div, 21684 _List_Nil, 21685 _List_fromArray( 21686 [ 21687 A2( 21688 $author$project$W$Divider$view, 21689 _List_fromArray( 21690 [$author$project$W$Divider$light]), 21691 _List_Nil), 21692 A4( 21693 $author$project$Chapters$Theme$colorSelector, 21694 baseBg, 21695 $author$project$Chapters$Theme$Update, 21696 _Utils_Tuple3(a, b, c), 21697 _List_fromArray( 21698 [ 21699 A2( 21700 $author$project$W$Container$view, 21701 _List_fromArray( 21702 [$author$project$W$Container$gap_2, $author$project$W$Container$padTop_2]), 21703 _List_fromArray( 21704 [ 21705 A2( 21706 $author$project$W$Container$view, 21707 _List_fromArray( 21708 [ 21709 $author$project$W$Container$background(c.bF), 21710 $author$project$W$Container$padX_4, 21711 $author$project$W$Container$padY_2, 21712 $author$project$W$Container$extraRounded 21713 ]), 21714 _List_fromArray( 21715 [ 21716 A2( 21717 $author$project$W$Text$view, 21718 _List_fromArray( 21719 [ 21720 $author$project$W$Text$color(c.cV) 21721 ]), 21722 _List_fromArray( 21723 [ 21724 $elm$html$Html$text('Aux on background') 21725 ])) 21726 ])), 21727 A2( 21728 $author$project$W$Container$view, 21729 _List_fromArray( 21730 [ 21731 $author$project$W$Container$background( 21732 c.fs(0.05)), 21733 $author$project$W$Container$padX_4, 21734 $author$project$W$Container$padY_2, 21735 $author$project$W$Container$extraRounded 21736 ]), 21737 _List_fromArray( 21738 [ 21739 A2( 21740 $author$project$W$Text$view, 21741 _List_fromArray( 21742 [ 21743 $author$project$W$Text$color(c.da) 21744 ]), 21745 _List_fromArray( 21746 [ 21747 $elm$html$Html$text('Foreground on tinted base background') 21748 ])) 21749 ])) 21750 ])) 21751 ])) 21752 ])); 21753 }, 21754 _List_fromArray( 21755 [ 21756 _Utils_Tuple3(3, model.dq, $uncover_co$elm_theme$Theme$neutral), 21757 _Utils_Tuple3(1, model.dz, $uncover_co$elm_theme$Theme$primary), 21758 _Utils_Tuple3(2, model.dC, $uncover_co$elm_theme$Theme$secondary), 21759 _Utils_Tuple3(4, model.gr, $uncover_co$elm_theme$Theme$success), 21760 _Utils_Tuple3(6, model.dX, $uncover_co$elm_theme$Theme$warning), 21761 _Utils_Tuple3(5, model.c0, $uncover_co$elm_theme$Theme$danger) 21762 ])))) 21763 ])) 21764 ])); 21765}; 21766var $author$project$Chapters$Theme$chapter_ = A2( 21767 $dtwrks$elm_book$ElmBook$Chapter$renderWithComponentList, 21768 '\nThis package uses [elm-theme](https://package.elm-lang.org/packages/uncover-co/elm-theme/latest/) as it\'s theming library. It will use the currently active theme\'s colors wherever you use it.\n\n---\n\nYou can use the theme generator below to test out the colors of your theme and their accessibility ratings. (Note that this generator is still quite WIP as we have lots of ideas to improve it in the short term.)\n', 21769 A2( 21770 $dtwrks$elm_book$ElmBook$Chapter$withStatefulComponent, 21771 function (state) { 21772 return A2( 21773 $elm$html$Html$map, 21774 $dtwrks$elm_book$ElmBook$Actions$mapUpdate( 21775 { 21776 fv: function ($) { 21777 return $.dQ; 21778 }, 21779 gu: F2( 21780 function (state_, theme) { 21781 return _Utils_update( 21782 state_, 21783 {dQ: theme}); 21784 }), 21785 gx: $author$project$Chapters$Theme$update 21786 }), 21787 $author$project$Chapters$Theme$view(state.dQ)); 21788 }, 21789 $dtwrks$elm_book$ElmBook$Chapter$chapter('Themes'))); 21790var $author$project$W$InputCode$Attribute = $elm$core$Basics$identity; 21791var $author$project$W$InputCode$hiddenCharacters = function (attrs) { 21792 return _Utils_update( 21793 attrs, 21794 {bZ: true}); 21795}; 21796var $author$project$W$InputCode$uppercase = function (attrs) { 21797 return _Utils_update( 21798 attrs, 21799 {cJ: true}); 21800}; 21801var $author$project$W$InputCode$defaultAttrs = {bZ: false, b$: _List_Nil, cJ: false}; 21802var $author$project$W$InputCode$applyAttrs = function (attrs) { 21803 return A3( 21804 $elm$core$List$foldl, 21805 F2( 21806 function (_v0, a) { 21807 var fn = _v0; 21808 return fn(a); 21809 }), 21810 $author$project$W$InputCode$defaultAttrs, 21811 attrs); 21812}; 21813var $elm$core$Array$length = function (_v0) { 21814 var len = _v0.a; 21815 return len; 21816}; 21817var $elm$core$List$takeReverse = F3( 21818 function (n, list, kept) { 21819 takeReverse: 21820 while (true) { 21821 if (n <= 0) { 21822 return kept; 21823 } else { 21824 if (!list.b) { 21825 return kept; 21826 } else { 21827 var x = list.a; 21828 var xs = list.b; 21829 var $temp$n = n - 1, 21830 $temp$list = xs, 21831 $temp$kept = A2($elm$core$List$cons, x, kept); 21832 n = $temp$n; 21833 list = $temp$list; 21834 kept = $temp$kept; 21835 continue takeReverse; 21836 } 21837 } 21838 } 21839 }); 21840var $elm$core$List$takeTailRec = F2( 21841 function (n, list) { 21842 return $elm$core$List$reverse( 21843 A3($elm$core$List$takeReverse, n, list, _List_Nil)); 21844 }); 21845var $elm$core$List$takeFast = F3( 21846 function (ctr, n, list) { 21847 if (n <= 0) { 21848 return _List_Nil; 21849 } else { 21850 var _v0 = _Utils_Tuple2(n, list); 21851 _v0$1: 21852 while (true) { 21853 _v0$5: 21854 while (true) { 21855 if (!_v0.b.b) { 21856 return list; 21857 } else { 21858 if (_v0.b.b.b) { 21859 switch (_v0.a) { 21860 case 1: 21861 break _v0$1; 21862 case 2: 21863 var _v2 = _v0.b; 21864 var x = _v2.a; 21865 var _v3 = _v2.b; 21866 var y = _v3.a; 21867 return _List_fromArray( 21868 [x, y]); 21869 case 3: 21870 if (_v0.b.b.b.b) { 21871 var _v4 = _v0.b; 21872 var x = _v4.a; 21873 var _v5 = _v4.b; 21874 var y = _v5.a; 21875 var _v6 = _v5.b; 21876 var z = _v6.a; 21877 return _List_fromArray( 21878 [x, y, z]); 21879 } else { 21880 break _v0$5; 21881 } 21882 default: 21883 if (_v0.b.b.b.b && _v0.b.b.b.b.b) { 21884 var _v7 = _v0.b; 21885 var x = _v7.a; 21886 var _v8 = _v7.b; 21887 var y = _v8.a; 21888 var _v9 = _v8.b; 21889 var z = _v9.a; 21890 var _v10 = _v9.b; 21891 var w = _v10.a; 21892 var tl = _v10.b; 21893 return (ctr > 1000) ? A2( 21894 $elm$core$List$cons, 21895 x, 21896 A2( 21897 $elm$core$List$cons, 21898 y, 21899 A2( 21900 $elm$core$List$cons, 21901 z, 21902 A2( 21903 $elm$core$List$cons, 21904 w, 21905 A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2( 21906 $elm$core$List$cons, 21907 x, 21908 A2( 21909 $elm$core$List$cons, 21910 y, 21911 A2( 21912 $elm$core$List$cons, 21913 z, 21914 A2( 21915 $elm$core$List$cons, 21916 w, 21917 A3($elm$core$List$takeFast, ctr + 1, n - 4, tl))))); 21918 } else { 21919 break _v0$5; 21920 } 21921 } 21922 } else { 21923 if (_v0.a === 1) { 21924 break _v0$1; 21925 } else { 21926 break _v0$5; 21927 } 21928 } 21929 } 21930 } 21931 return list; 21932 } 21933 var _v1 = _v0.b; 21934 var x = _v1.a; 21935 return _List_fromArray( 21936 [x]); 21937 } 21938 }); 21939var $elm$core$List$take = F2( 21940 function (n, list) { 21941 return A3($elm$core$List$takeFast, 0, n, list); 21942 }); 21943var $elm$core$String$toUpper = _String_toUpper; 21944var $author$project$W$InputCode$view = F2( 21945 function (attrs_, props) { 21946 if (props.dj <= 0) { 21947 return A2($elm$html$Html$div, _List_Nil, _List_Nil); 21948 } else { 21949 var valueLetters = $elm$core$Array$fromList( 21950 A2( 21951 $elm$core$List$take, 21952 props.dj, 21953 A2($elm$core$String$split, '', props.cN))); 21954 var attrs = $author$project$W$InputCode$applyAttrs(attrs_); 21955 var activeIndex = $elm$core$Array$length(valueLetters); 21956 return A2( 21957 $elm$html$Html$label, 21958 _List_fromArray( 21959 [ 21960 $elm$html$Html$Attributes$class('ew-group/ew') 21961 ]), 21962 _List_fromArray( 21963 [ 21964 A2( 21965 $elm$html$Html$input, 21966 _Utils_ap( 21967 attrs.b$, 21968 _List_fromArray( 21969 [ 21970 $elm$html$Html$Attributes$class('ew-h-0 ew-p-0 ew-m-0 ew-border-0 ew-opacity-0'), 21971 $elm$html$Html$Attributes$value(props.cN), 21972 $elm$html$Html$Events$onFocus( 21973 props.cm('')), 21974 $elm$html$Html$Events$onInput( 21975 function (v) { 21976 var value = A2($elm$core$String$left, props.dj, v); 21977 return attrs.cJ ? props.cm( 21978 $elm$core$String$toUpper(value)) : props.cm(value); 21979 }) 21980 ])), 21981 _List_Nil), 21982 A2( 21983 $elm$html$Html$div, 21984 _List_fromArray( 21985 [ 21986 $elm$html$Html$Attributes$class('ew-flex ew-gap-2') 21987 ]), 21988 A2( 21989 $elm$core$List$map, 21990 function (index) { 21991 return A2( 21992 $elm$html$Html$div, 21993 _List_fromArray( 21994 [ 21995 $elm$html$Html$Attributes$class('ew-border-solid ew-border-base-aux/30 ew-border-2'), 21996 $elm$html$Html$Attributes$class('ew-w-10 ew-h-14 ew-rounded-md'), 21997 $elm$html$Html$Attributes$class('ew-flex ew-items-center ew-justify-center'), 21998 $elm$html$Html$Attributes$class('ew-font-heading ew-text-3xl ew-text-base-fg'), 21999 $elm$html$Html$Attributes$classList( 22000 _List_fromArray( 22001 [ 22002 _Utils_Tuple2( 22003 'group-focus-within/ew:ew-border-base-fg', 22004 _Utils_eq(index, activeIndex)) 22005 ])) 22006 ]), 22007 _List_fromArray( 22008 [ 22009 $elm$html$Html$text( 22010 A2( 22011 $elm$core$Maybe$withDefault, 22012 '', 22013 A2( 22014 $elm$core$Maybe$map, 22015 function (c) { 22016 return attrs.bZ ? '*' : c; 22017 }, 22018 A2($elm$core$Array$get, index, valueLetters)))) 22019 ])); 22020 }, 22021 A2($elm$core$List$range, 0, props.dj - 1))) 22022 ])); 22023 } 22024 }); 22025var $author$project$W$Docs$InputCode$docs = A2(
22026 $dtwrks$elm_book$ElmBook$Chapter$renderStatefulComponentList, 22027 _List_fromArray( 22028 [ 22029 _Utils_Tuple2( 22030 'Default', 22031 function (_v0) { 22032 var inputCode = _v0.eo; 22033 return A2( 22034 $author$project$W$InputCode$view, 22035 _List_Nil, 22036 { 22037 dj: 6, 22038 cm: function (input) { 22039 return $dtwrks$elm_book$ElmBook$Actions$updateState( 22040 function (state) { 22041 return _Utils_update( 22042 state, 22043 {eo: input}); 22044 }); 22045 }, 22046 cN: inputCode 22047 }); 22048 }), 22049 _Utils_Tuple2( 22050 'Hidden Characters', 22051 function (_v1) { 22052 var inputCode = _v1.eo; 22053 return A2( 22054 $author$project$W$InputCode$view, 22055 _List_fromArray( 22056 [$author$project$W$InputCode$hiddenCharacters]), 22057 { 22058 dj: 6, 22059 cm: function (input) { 22060 return $dtwrks$elm_book$ElmBook$Actions$updateState( 22061 function (state) { 22062 return _Utils_update( 22063 state, 22064 {eo: input}); 22065 }); 22066 }, 22067 cN: inputCode 22068 }); 22069 }), 22070 _Utils_Tuple2( 22071 'Uppercase', 22072 function (_v2) { 22073 var inputCode = _v2.eo; 22074 return A2( 22075 $author$project$W$InputCode$view, 22076 _List_fromArray( 22077 [$author$project$W$InputCode$uppercase]), 22078 { 22079 dj: 6, 22080 cm: function (input) { 22081 return $dtwrks$elm_book$ElmBook$Actions$updateState( 22082 function (state) { 22083 return _Utils_update( 22084 state, 22085 {eo: input}); 22086 }); 22087 }, 22088 cN: inputCode 22089 }); 22090 }) 22091 ]), 22092 $dtwrks$elm_book$ElmBook$Chapter$chapter('Input Code')); 22093var $author$project$W$Skeleton$Attribute = $elm$core$Basics$identity; 22094var $author$project$W$Skeleton$circle = function (size) { 22095 return function (attrs) { 22096 return _Utils_update( 22097 attrs, 22098 { 22099 bH: '100%', 22100 aD: $author$project$W$Internal$Helpers$formatPx(size), 22101 y: $author$project$W$Internal$Helpers$formatPx(size) 22102 }); 22103 }; 22104}; 22105var $author$project$W$Skeleton$height = function (v) { 22106 return function (attrs) { 22107 return _Utils_update( 22108 attrs, 22109 { 22110 aD: $author$project$W$Internal$Helpers$formatPx(v) 22111 }); 22112 }; 22113}; 22114var $author$project$W$Skeleton$noAnimation = function (attrs) { 22115 return _Utils_update( 22116 attrs, 22117 {cK: false}); 22118}; 22119var $author$project$W$Internal$Helpers$formatPct = function (v) { 22120 return $elm$core$String$fromFloat(v * 100) + '%'; 22121}; 22122var $author$project$W$Skeleton$relativeWidth = function (v) { 22123 return function (attrs) { 22124 return _Utils_update( 22125 attrs, 22126 { 22127 y: $author$project$W$Internal$Helpers$formatPct(v) 22128 }); 22129 }; 22130}; 22131var $author$project$W$Skeleton$defaultAttrs = {bH: '4px', aD: '16px', b$: _List_Nil, cK: true, y: 'auto'}; 22132var $author$project$W$Skeleton$applyAttrs = function (attrs) { 22133 return A3( 22134 $elm$core$List$foldl, 22135 F2( 22136 function (_v0, a) { 22137 var fn = _v0; 22138 return fn(a); 22139 }), 22140 $author$project$W$Skeleton$defaultAttrs, 22141 attrs); 22142}; 22143var $author$project$W$Skeleton$view = function (attrs_) { 22144 var attrs = $author$project$W$Skeleton$applyAttrs(attrs_); 22145 return A2( 22146 $elm$html$Html$div, 22147 _Utils_ap( 22148 attrs.b$, 22149 _List_fromArray( 22150 [ 22151 A2($elm$html$Html$Attributes$style, 'border-radius', attrs.bH), 22152 A2($elm$html$Html$Attributes$style, 'width', attrs.y), 22153 A2($elm$html$Html$Attributes$style, 'height', attrs.aD), 22154 $elm$html$Html$Attributes$class('ew-bg-base-aux/30'), 22155 $elm$html$Html$Attributes$classList( 22156 _List_fromArray( 22157 [ 22158 _Utils_Tuple2('ew-animate-pulse', attrs.cK) 22159 ])) 22160 ])), 22161 _List_Nil); 22162}; 22163var $author$project$W$Docs$Skeleton$docs = A2( 22164 $dtwrks$elm_book$ElmBook$Chapter$renderComponentList, 22165 _List_fromArray( 22166 [ 22167 _Utils_Tuple2( 22168 'Default', 22169 $author$project$W$Skeleton$view(_List_Nil)), 22170 _Utils_Tuple2( 22171 'Circle', 22172 $author$project$W$Skeleton$view( 22173 _List_fromArray( 22174 [ 22175 $author$project$W$Skeleton$circle(48) 22176 ]))), 22177 _Utils_Tuple2( 22178 'Composition', 22179 A2( 22180 $author$project$W$Container$view, 22181 _List_fromArray( 22182 [$author$project$W$Container$gap_4]), 22183 _List_fromArray( 22184 [ 22185 $author$project$W$Skeleton$view( 22186 _List_fromArray( 22187 [ 22188 $author$project$W$Skeleton$circle(48) 22189 ])), 22190 $author$project$W$Skeleton$view( 22191 _List_fromArray( 22192 [ 22193 $author$project$W$Skeleton$height(120) 22194 ])), 22195 $author$project$W$Skeleton$view( 22196 _List_fromArray( 22197 [ 22198 $author$project$W$Skeleton$relativeWidth(0.8) 22199 ])), 22200 $author$project$W$Skeleton$view( 22201 _List_fromArray( 22202 [ 22203 $author$project$W$Skeleton$relativeWidth(0.3) 22204 ])) 22205 ]))), 22206 _Utils_Tuple2( 22207 'Composition (without animation)', 22208 A2( 22209 $author$project$W$Container$view, 22210 _List_fromArray( 22211 [$author$project$W$Container$gap_4]), 22212 _List_fromArray( 22213 [ 22214 $author$project$W$Skeleton$view( 22215 _List_fromArray( 22216 [ 22217 $author$project$W$Skeleton$noAnimation, 22218 $author$project$W$Skeleton$circle(48) 22219 ])), 22220 $author$project$W$Skeleton$view( 22221 _List_fromArray( 22222 [ 22223 $author$project$W$Skeleton$noAnimation, 22224 $author$project$W$Skeleton$height(120) 22225 ])), 22226 $author$project$W$Skeleton$view( 22227 _List_fromArray( 22228 [ 22229 $author$project$W$Skeleton$noAnimation, 22230 $author$project$W$Skeleton$relativeWidth(0.8) 22231 ])), 22232 $author$project$W$Skeleton$view( 22233 _List_fromArray( 22234 [ 22235 $author$project$W$Skeleton$noAnimation, 22236 $author$project$W$Skeleton$relativeWidth(0.3) 22237 ])) 22238 ]))) 22239 ]), 22240 $dtwrks$elm_book$ElmBook$Chapter$chapter('Skeleton')); 22241var $uncover_co$elm_theme$Theme$globalProvider_ = function (props) { 22242 return A2( 22243 $elm$html$Html$div, 22244 _List_Nil, 22245 _List_fromArray( 22246 [ 22247 A3( 22248 $elm$html$Html$node, 22249 'style', 22250 _List_Nil, 22251 _List_fromArray( 22252 [ 22253 $elm$html$Html$text( 22254 'body { ' + ($uncover_co$elm_theme$Theme$toString(props.ey) + ' }')) 22255 ])), 22256 function () { 22257 var _v0 = props.d7; 22258 if (!_v0.$) { 22259 var dark = _v0.a; 22260 var _v1 = props.eX; 22261 if (_v1.$ === 1) { 22262 var darkClass = _v1.a; 22263 return A3( 22264 $elm$html$Html$node, 22265 'style', 22266 _List_Nil, 22267 _List_fromArray( 22268 [ 22269 $elm$html$Html$text(
22270 '.' + (darkClass + (' { ' + ($uncover_co$elm_theme$Theme$toString(dark) + '; color-scheme: dark; }')))) 22271 ])); 22272 } else { 22273 return A3( 22274 $elm$html$Html$node, 22275 'style', 22276 _List_Nil, 22277 _List_fromArray( 22278 [ 22279 $elm$html$Html$text( 22280 '@media (prefers-color-scheme: dark) { body { ' + ($uncover_co$elm_theme$Theme$toString(dark) + '; color-scheme: dark; } }')) 22281 ])); 22282 } 22283 } else { 22284 return $elm$html$Html$text(''); 22285 } 22286 }() 22287 ])); 22288}; 22289var $uncover_co$elm_theme$Theme$globalProviderWithDarkMode = function (props) { 22290 return $uncover_co$elm_theme$Theme$globalProvider_( 22291 { 22292 d7: $elm$core$Maybe$Just(props.d7), 22293 ey: props.ey, 22294 eX: props.eX 22295 }); 22296}; 22297var $author$project$W$Styles$globalStyles = A3( 22298 $elm$html$Html$node, 22299 'style', 22300 _List_Nil, 22301 _List_fromArray( 22302 [ 22303 $elm$html$Html$text('*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.ew-btn{align-items:center;box-sizing:border-box;display:inline-flex;font-family:var(--theme-font-text);font-weight:600;justify-content:center;letter-spacing:.05em;line-height:1;padding-bottom:0;padding-top:0;position:relative;text-decoration-line:none}.ew-btn:before{--tw-content:"";background-color:transparent;content:var(--tw-content);display:block;inset:0;pointer-events:none;position:absolute;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);z-index:0}.ew-btn:hover:before{background-color:rgba(0,0,0,.1);content:var(--tw-content)}.ew-btn-like{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:8px;border-width:0;box-sizing:border-box;text-decoration-line:none}input[type=radio].ew-radio{--tw-bg-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5);--tw-ring-offset-width:0px;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity));border-color:rgb(var(--theme-base-aux-ch)/.3);border-style:solid;border-width:2px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-sha
22303dow);display:inline-flex;height:1.75rem;justify-content:center;margin:0;outline:2px solid transparent;outline-offset:2px;width:1.75rem}input[type=radio].ew-radio,input[type=radio].ew-radio:before{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}input[type=radio].ew-radio:before{--tw-content:"";--tw-scale-x:0;--tw-scale-y:0;background-color:currentColor;content:var(--tw-content);display:block;height:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-timing-function:cubic-bezier(0,0,.2,1);width:1rem}input[type=radio].ew-radio:hover{opacity:.9}input[type=radio].ew-radio:active{opacity:.75}input[type=radio].ew-radio:checked{--tw-bg-opacity:1;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity))}input[type=radio].ew-radio:focus{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity));border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}input[type=radio].ew-radio:checked:before{--tw-scale-x:1;--tw-scale-y:1;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}input[type=radio].ew-radio:disabled{background-color:rgb(var(--theme-base-aux-ch)/.25)}input[type=radio].ew-radio.ew-small{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1.25rem;width:1.25rem}input[type=radio].ew-radio.ew-small:before{content:var(--tw-content);height:.625rem;width:.625rem}input[type=checkbox].ew-checkbox{--tw-bg-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5);--tw-ring-offset-width:0px;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity));background-image:none;border-color:rgb(var(--theme-base-aux-ch)/.3);border-style:solid;border-width:2px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-sha
22303dow);display:inline-flex;justify-content:center;margin:0;outline:2px solid transparent;outline-offset:2px}input[type=checkbox].ew-checkbox,input[type=checkbox].ew-checkbox:before{height:1.75rem;width:1.75rem}input[type=checkbox].ew-checkbox:before{--tw-content:"";content:var(--tw-content);display:none}input[type=checkbox].ew-checkbox:hover{opacity:.9}input[type=checkbox].ew-checkbox:active{opacity:.75}input[type=checkbox].ew-checkbox:checked{background-color:currentColor;border-width:0}input[type=checkbox].ew-checkbox:checked:before{content:var(--tw-content);display:block}input[type=checkbox].ew-checkbox:disabled{background-color:rgb(var(--theme-base-aux-ch)/.25)}input[type=checkbox].ew-checkbox:focus{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity));border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}input[type=checkbox].ew-checkbox.ew-small{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1.25rem;width:1.25rem}input[type=checkbox].ew-checkbox.ew-small:before{content:var(--tw-content);height:1.25rem;width:1.25rem}input[type=checkbox].ew-checkbox.ew-colorful{border-color:currentColor}input[type=checkbox].ew-toggle{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5);--tw-ring-offset-width:0px;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none;border-radius:9999px;border-style:solid;border-width:2px;box-sizing:content-box;display:inline-flex;height:auto;justify-content:flex-start;margin:0;outline:2px solid transparent;outline-offset:2px;padding:.125rem;width:2.75rem}input[type=checkbox].ew-toggle,input[type=checkbox].ew-toggle:before{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}input[type=checkbox].ew-toggle:before{--tw-content:"";--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
22303--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);--tw-bg-opacity:1;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity));border-color:rgb(var(--theme-base-aux-ch)/.3);border-radius:9999px;border-style:solid;border-width:1px;display:block;height:1.25rem;transition-timing-function:cubic-bezier(0,0,.2,1);width:1.25rem}input[type=checkbox].ew-toggle:hover{opacity:.9}input[type=checkbox].ew-toggle:active{opacity:.75}input[type=checkbox].ew-toggle{background-color:rgb(var(--theme-base-aux-ch)/.2);border-color:rgb(var(--theme-base-aux-ch)/.3)}input[type=checkbox].ew-toggle:checked{background-color:currentColor;border-color:rgb(var(--theme-base-bg-ch)/.3)}input[type=checkbox].ew-toggle:before{--tw-translate-x:0px}input[type=checkbox].ew-toggle:before,input[type=checkbox].ew-toggle:checked:before{content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}input[type=checkbox].ew-toggle:checked:before{--tw-translate-x:100%}input[type=checkbox].ew-toggle:focus-visible{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}input[type=checkbox].ew-toggle:disabled{background-color:rgb(var(--theme-base-aux-ch)/.25)}input[type=checkbox].ew-toggle.ew-small{width:2.25rem}input[type=checkbox].ew-toggle.ew-small:before{content:var(--tw-content);height:1rem;width:1rem}.ew-pointer-events-none{pointer-events:none}.ew-pointer-events-auto{pointer-events:auto}.ew-visible{visibility:visible}.ew-fixed{position:fixed}.ew-absolute{position:absolute}.ew-relative{position:relative}.ew-sticky{position:sticky}.ew-inset-0{inset:0}.ew-inset-1{inset:.25rem}.ew-inset-x-0{left:0;right:0}.ew-inset-x-1{left:.25rem;right:.25rem}.ew-inset-x-2{left:.5rem;right:.5rem}.ew-inset-x-3{left:.75rem;right:.75rem}.ew-inset-x-\\[12px\\]{left:12px;right:12px}.ew-inset-y-0{bottom:0;top:0}.ew-inset-y-1{bottom:.25rem;top:.25rem}.ew-inset-y-3{bottom:.75rem;top:.75rem}.-ew-left-1{left:-.25rem}.-ew-left-2{left:-.5rem}.-ew-left-4{left:-1rem}.-ew-top-2{top:-.5rem}.-ew-top-4{top:-1rem}.-ew-top-px{top:-1px}.ew-bottom-0{bottom:0}.ew-bottom-1{bottom:.25rem}.ew-bottom-2{bottom:.5rem}.ew-bottom-3{bottom:.75rem}.ew-bottom-4{bottom:1rem}.ew-bottom-auto{bottom:auto}.ew-bottom-full{bottom:100%}.ew-left-0{left:0}.ew-left-1{left:.25rem}.ew-left-3{left:.75rem}.ew-left-4{left:1rem}.ew-left-full{left:100%}.ew-right-0{right:0}.ew-right-1{right:.25rem}.ew-right-2{right:.5rem}.ew-right-3{right:.75rem}.ew-right-4{right:1rem}.ew-right-full{right:100%}.ew-top-0{top:0}.ew-top-1{top:.25rem}.ew-top-1\\/2{top:50%}.ew-top-2{top:.5rem}.ew-top-4{top:1rem}.ew-top-6{top:1.5rem}.ew-top-8{top:2rem}.ew-top-\\[28px\\]{top:28px}.ew-top-full{top:100%}.ew-z-0{z-index:0}.ew-z-10{z-index:10}.ew-z-20{z-index:20}.ew-z-\\[9999\\]{z-index:9999}.ew-col-span-1{grid-column:span 1/span 1}.ew-col-span-11{grid-column:span 11/span 11}.ew-col-span-12{grid-column:span 12/span 12}.ew-col-span-2{grid-column:span 2/span 2}.ew-col-span-3{grid-column:span 3/span 3}.ew-col-span-4{grid-column:span 4/span 4}.ew-col-span-5{grid-column:span 5/span 5}.ew-col-span-6{grid-column:span 6/span 6}.ew-col-span-7{grid-column:span 7/span 7}.ew-col-span-8{grid-column:span 8/span 8}.ew-col-span-9{grid-column:span 9/span 9}.ew-m-0{margin:0}.ew-m-4{margin:1rem}.ew-m-5{margin:1.25rem}.ew-m-auto{margin:auto}.-ew-mx-px{margin-left:-1px;margin-right:-1px}.ew-mx-auto{margin-left:auto;margin-right:auto}.-ew-mb-1{margin-bottom:-.25rem}.-ew-mb-2{margin-bottom:-.5rem}.-ew-mb-2\\.5{margin-bottom:-.625rem}.-ew-ml-1{margin-left:-.25rem}.-ew-ml-2{margin-left:-.5rem}.-ew-ml-2\\.5{margin-left:-.625rem}.-ew-ml-3{margin-left:-.75rem}.-ew-ml-4{margin-left:-1rem}.-ew-ml-5{margin-left:-1.25rem}.-ew-ml-6{margin-left:-1.5rem}.-ew-mt-0{margin-top:0}.-ew-mt-0\\.5{margin-top:-.125rem}.-ew-mt-3{margin-top:-.75rem}.-ew-mt-4{margin-top:-1rem}.-ew-mt-5{margin-top:-1.25rem}.-ew-mt-6{margin-top:-1.5rem}.-ew-mt-\\[3px\\]{margin-top:-3px}.ew-mb-1{margin-bottom:.25rem}.ew-mb-2{margin-bottom:.5rem}.ew-ml-1{margin-left:.25rem}.ew-mr-1{margin-right:.25rem}.ew-mt-1{margin-top:.25rem}.ew-mt-2{margin-top:.5rem}.ew-box-border{box-sizing:border-box}.ew-block{display:block}.ew-inline-block{display:inline-block}.ew-flex{display:flex}.ew-inline-flex{display:inline-flex}.ew-table{display:table}.ew-grid{display:grid}.ew-hidden{display:none}.ew-h-0{height:0}.ew-h-1{height:.25rem}.ew-h-1\\.5{height:.375rem}.ew-h-10{height:2.5rem}.ew-h-12{height:3rem}.ew-h-14{height:3.5rem}.ew-h-16{height:4rem}.ew-h-2{height:.5rem}.ew-h-20{height:5rem}.ew-h-24{height:6rem}.ew-h-32{height:8rem}.ew-h-4{height:1rem}.ew-h-5{height:1.25rem}.ew-h-6{height:1.5rem}.ew-h-7{height:1.75rem}.ew-h-8{height:2rem}.ew-h-9{height:2.25rem}.ew-h-\\[20px\\]{height:20px}.ew-h-\\[24px\\]{height:24px}.ew-h-\\[32px\\]{height:32px}.ew-h-\\[40px\\]{height:40px}.ew-h-\\[48px\\]{height:48px}.ew-h-\\[6px\\]{height:6px}.ew-h-fit{height:-moz-fit-content;height:fit-content}.ew-h-full{height:100%}.ew-h-px{height:1px}.ew-max-h-64{max-height:16rem}.ew-min-h-\\[32px\\]{min-height:32px}.ew-min-h-\\[48px\\]{min-height:48px}.ew-min-h-\\[50px\\]{min-height:50px}.ew-min-h-\\[60px\\]{min-height:60px}.ew-min-h-min{min-height:-moz-min-content;min-height:min-content}.ew-w-0{width:0}.ew-w-1{width:.25rem}.ew-w-1\\.5{width:.375rem}.ew-w-10{width:2.5rem}.ew-w-12{width:3rem}.ew-w-2{width:.5rem}.ew-w-4{width:1rem}.ew-w-6{width:1.5rem}.ew-w-8{width:2rem}.ew-w-\\[40\\%\\]{width:40%}.ew-w-\\[60\\%\\]{width:60%}.ew-w-fit{width:-moz-fit-content;width:fit-content}.ew-w-full{width:100%}.ew-w-max{width:-moz-max-content;width:max-content}.ew-min-w-\\[24px\\]{min-width:24px}.ew-min-w-\\[32px\\]{min-width:32px}.ew-min-w-\\[40px\\]{min-width:40px}.ew-min-w-\\[48px\\]{min-width:48px}.ew-min-w-full{min-width:100%}.ew-max-w-full{max-width:100%}.ew-max-w-lg{max-width:32rem}.ew-max-w-md{max-width:28rem}.ew-max-w-xl{max-width:36rem}.ew-shrink-0{flex-shrink:0}.ew-grow{flex-grow:1}.ew-table-fixed{table-layout:fixed}.-ew-translate-x-0{--tw-translate-x:-0px}.-ew-translate-x-0,.-ew-translate-x-0\\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-ew-translate-x-0\\.5{--tw-translate-x:-0.125rem}.-ew-translate-y-0{--tw-translate-y:-0px}.-ew-translate-y-0,.-ew-translate-y-0\\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-ew-translate-y-0\\.5{--tw-translate-y:-0.125rem}.-ew-translate-y-1{--tw-translate-y:-0.25rem}.-ew-translate-y-1,.-ew-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-ew-translate-y-1\\/2{--tw-translate-y:-50%}.ew-translate-x-0{--tw-translate-x:0px}.ew-translate-x-0,.ew-translate-x-0\\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ew-translate-x-0\\.5{--tw-translate-x:0.125rem}.ew-translate-y-0{--tw-translate-y:0px}.ew-translate-y-0,.ew-translate-y-0\\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ew-translate-y-0\\.5{--tw-translate-y:0.125rem}.ew-rotate-\\[45deg\\]{--tw-rotate:45deg}.ew-rotate-\\[45deg\\],.ew-scale-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ew-scale-0{--tw-scale-x:0;--tw-scale-y:0}.ew-scale-100{--tw-scale-x:1;--tw-scale-y:1}.ew-scale-100,.ew-scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ew-scale-90{--tw-scale-x:.9;--tw-scale-y:.9}@keyframes ew-ew-animation-fade-slide{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.ew-animate-fade-slide{animation:ew-ew-animation-fade-slide .4s ease-out}@keyframes ew-pulse{50%{opacity:.5}}.ew-animate-pulse{animation:ew-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.ew-cursor-default{cursor:default}.ew-cursor-text{cursor:text}.ew-list-none{list-style-type:none}.ew-appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ew-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.ew-grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.ew-flex-row{flex-direction:row}.ew-flex-col{flex-direction:column}.ew-flex-wrap{flex-wrap:wrap}.ew-place-content-center{place-content:center}.ew-place-items-center{place-items:center}.ew-content-center{align-content:center}.ew-content-start{align-content:flex-start}.ew-items-start{align-items:flex-start}.ew-items-end{align-items:flex-end}.ew-items-center{align-items:center}
22303.ew-items-baseline{align-items:baseline}.ew-items-stretch{align-items:stretch}.ew-justify-start{justify-content:flex-start}.ew-justify-end{justify-content:flex-end}.ew-justify-center{justify-content:center}.ew-justify-between{justify-content:space-between}.ew-justify-around{justify-content:space-around}.ew-justify-stretch{justify-content:stretch}.ew-justify-items-stretch{justify-items:stretch}.ew-gap-0{gap:0}.ew-gap-1{gap:.25rem}.ew-gap-1\\.5{gap:.375rem}.ew-gap-12{gap:3rem}.ew-gap-16{gap:4rem}.ew-gap-2{gap:.5rem}.ew-gap-3{gap:.75rem}.ew-gap-4{gap:1rem}.ew-gap-5{gap:1.25rem}.ew-gap-6{gap:1.5rem}.ew-gap-8{gap:2rem}.ew-gap-px{gap:1px}.ew--space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.5rem*var(--tw-space-x-reverse))}.ew-space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.ew-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.ew-space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(3rem*var(--tw-space-x-reverse))}.ew-space-x-16>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(4rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(4rem*var(--tw-space-x-reverse))}.ew-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.ew-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.ew-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.ew-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.ew-space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.ew-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.ew-space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.ew-space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(4rem*var(--tw-space-y-reverse));margin-top:calc(4rem*(1 - var(--tw-space-y-reverse)))}.ew-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.ew-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.ew-space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.ew-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.ew-self-end{align-self:flex-end}.ew-self-stretch{align-self:stretch}.ew-overflow-auto{overflow:auto}.ew-overflow-hidden{overflow:hidden}.ew-overflow-visible{overflow:visible}.ew-overflow-y-auto{overflow-y:auto}.ew-overflow-x-hidden{overflow-x:hidden}.ew-overflow-x-visible{overflow-x:visible}.ew-overflow-y-visible{overflow-y:visible}.ew-overflow-y-scroll{overflow-y:scroll}.ew-overscroll-contain{overscroll-behavior:contain}.ew-whitespace-pre-wrap{white-space:pre-wrap}.ew-break-words{overflow-wrap:break-word}.ew-rounded{border-radius:4px}.ew-rounded-\\[12px\\]{border-radius:12px}.ew-rounded-\\[16px\\]{border-radius:16px}.ew-rounded-\\[20px\\]{border-radius:20px}.ew-rounded-full{border-radius:9999px}.ew-rounded-lg{border-radius:8px}.ew-rounded-md{border-radius:6px}.ew-rounded-sm{border-radius:2px}.ew-rounded-xl{border-radius:12px}.ew-rounded-t{border-top-left-radius:4px;border-top-right-radius:4px}.ew-border{border-width:1px}.ew-border-0{border-width:0}.ew-border-2{border-width:2px}.ew-border-\\[3px\\]{border-width:3px}.ew-border-y{border-top-width:1px}.ew-border-b,.ew-border-y{border-bottom-width:1px}.ew-border-b-2{border-bottom-width:2px}.ew-border-l{border-left-width:1px}.ew-border-l-0{border-left-width:0}.ew-border-l-2{border-left-width:2px}.ew-border-l-4{border-left-width:4px}.ew-border-l-\\[6px\\]{border-left-width:6px}.ew-border-r{border-right-width:1px}.ew-border-r-0{border-right-width:0}.ew-border-t{border-top-width:1px}.ew-border-t-2{border-top-width:2px}.ew-border-t-4{border-top-width:4px}.ew-border-t-8{border-top-width:8px}.ew-border-solid{border-style:solid}.ew-border-none{border-style:none}.ew-border-base-aux{--tw-border-opacity:1;border-color:rgb(var(--theme-base-aux-ch)/var(--tw-border-opacity))}.ew-border-base-aux\\/10{border-color:rgb(var(--theme-base-aux-ch)/.1)}.ew-border-base-aux\\/20{border-color:rgb(var(--theme-base-aux-ch)/.2)}.ew-border-base-aux\\/30{border-color:rgb(var(--theme-base-aux-ch)/.3)}.ew-border-base-aux\\/\\[0\\.2\\]{border-color:rgb(var(--theme-base-aux-ch)/.2)}.ew-border-base-bg{--tw-border-opacity:1;border-color:rgb(var(--theme-base-bg-ch)/var(--tw-border-opacity))}.ew-border-base-fg{--tw-border-opacity:1;border-color:rgb(var(--theme-base-fg-ch)/var(--tw-border-opacity))}.ew-border-current{border-color:currentColor}.ew-border-neutral-fg{--tw-border-opacity:1;border-color:rgb(var(--theme-neutral-fg-ch)/var(--tw-border-opacity))}.ew-border-primary-fg{--tw-border-opacity:1;border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity))}.ew-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.ew-border-opacity-30{--tw-border-opacity:0.3}.ew-border-opacity-50{--tw-border-opacity:0.5}.ew-bg-base-aux{--tw-bg-opacity:1;background-color:rgb(var(--theme-base-aux-ch)/var(--tw-bg-opacity))}.ew-bg-base-aux\\/10{background-color:rgb(var(--theme-base-aux-ch)/.1)}.ew-bg-base-aux\\/30{background-color:rgb(var(--theme-base-aux-ch)/.3)}.ew-bg-base-aux\\/\\[0\\.07\\]{background-color:rgb(var(--theme-base-aux-ch)/.07)}.ew-bg-base-bg{--tw-bg-opacity:1;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity))}.ew-bg-base-fg{--tw-bg-opacity:1;background-color:rgb(var(--theme-base-fg-ch)/var(--tw-bg-opacity))}.ew-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.ew-bg-black\\/30{background-color:rgba(0,0,0,.3)}.ew-bg-current{background-color:currentColor}.ew-bg-danger-bg{--tw-bg-opacity:1;background-color:rgb(var(--theme-danger-bg-ch)/var(--tw-bg-opacity))}.ew-bg-danger-fg{--tw-bg-opacity:1;background-color:rgb(var(--theme-danger-fg-ch)/var(--tw-bg-opacity))}.ew-bg-neutral-aux{--tw-bg-opacity:1;background-color:rgb(var(--theme-neutral-aux-ch)/var(--tw-bg-opacity))}.ew-bg-neutral-bg{--tw-bg-opacity:1;background-color:rgb(var(--theme-neutral-bg-ch)/var(--tw-bg-opacity))}.ew-bg-neutral-fg{--tw-bg-opacity:1;background-color:rgb(var(--theme-neutral-fg-ch)/var(--tw-bg-opacity))}.ew-bg-neutral-fg\\/\\[0\\.07\\]{background-color:rgb(var(--theme-neutral-fg-ch)/.07)}.ew-bg-primary-bg{--tw-bg-opacity:1;background-color:rgb(var(--theme-primary-bg-ch)/var(--tw-bg-opacity))}.ew-bg-primary-fg{--tw-bg-opacity:1;background-color:rgb(var(--theme-primary-fg-ch)/var(--tw-bg-opacity))}.ew-bg-primary-fg\\/10,.ew-bg-primary-fg\\/\\[0\\.1\\]{background-color:rgb(var(--theme-primary-fg-ch)/.1)}.ew-bg-success-fg{--tw-bg-opacity:1;background-color:rgb(var(--theme-success-fg-ch)/var(--tw-bg-opacity))}.ew-bg-transparent{background-color:transparent}.ew-bg-warning-fg{--tw-bg-opacity:1;background-color:rgb(var(--theme-warning-fg-ch)/var(--tw-bg-opacity))}.ew-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.ew-bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.ew-bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.ew-p-0{padding:0}.ew-p-1{padding:.25rem}.ew-p-12{padding:3rem}.ew-p-16{padding:4rem}.ew-p-2{padding:.5rem}.ew-p-3{padding:.75rem}.ew-p-4{padding:1rem}.ew-p-5{padding:1.25rem}.ew-p-6{padding:1.5rem}.ew-p-8{padding:2rem}.ew-p-px{padding:1px}.ew-px-0{padding-left:0;padding-right:0}.ew-px-1{padding-left:.25rem;padding-right:.25rem}.ew-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.ew-px-12{padding-left:3rem;padding-right:3rem}.ew-px-16{padding-left:4rem;padding-right:4rem}.ew-px-2{padding-left:.5rem;padding-right:.5rem}.ew-px-2\\.5{padding-left:.625rem;padding-right:.625rem}.ew-px-3{padding-left:.75rem;padding-right:.75rem}.ew-px-4{padding-left:1rem;padding-right:1rem}.ew-px-5{padding-left:1.25rem;padding-right:1.25rem}.ew-px-6{padding-left:1.5rem;padding-right:1.5rem}.ew-px-8{padding-left:2rem;padding-right:2rem}.ew-px-px{padding-left:1px;padding-right:1px}.ew-py-0{padding-bottom:0;padding-top:0}.ew-py-1{padding-bottom:.25rem;padding-top:.25rem}.ew-py-12{padding-bottom:3rem;padding-top:3rem}.ew-py-16{padding-bottom:4rem;padding-top:4rem}.ew-py-2{padding-bottom:.5rem;padding-top:.5rem}.ew-py-3{padding-bottom:.75rem;padding-top:.75rem}.ew-py-4{padding-bottom:1rem;padding-top:1rem}.ew-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.ew-py-8{padding-bottom:2rem;padding-top:2rem}.ew-py-px{padding-bottom:1px;padding-top:1px}.ew-pb-0{padding-bottom:0}.ew-pb-1{padding-bottom:.25rem}.ew-pb-12{padding-bottom:3rem}.ew-pb-16{padding-bottom:4rem}.ew-pb-2{padding-bottom:.5rem}.ew-pb-3{padding-bottom:.75rem}.ew-pb-4{padding-bottom:1rem}.ew-pb-5{padding-bottom:1.25rem}.ew-pb-6{padding-bottom:1.5rem}.ew-pb-8{padding-bottom:2rem}.ew-pl-0{padding-left:0}.ew-pl-1{padding-left:.25rem}.ew-pl-12{padding-left:3rem}.ew-pl-16{padding-left:4rem}.ew-pl-2{padding-left:.5rem}.ew-pl-3{padding-left:.75rem}.ew-pl-4{padding-left:1rem}.ew-pl-6{padding-left:1.5rem}.ew-pl-8{padding-left:2rem}.ew-pl-px{padding-left:1px}.ew-pr-0{padding-right:0}.ew-pr-1{padding-right:.25rem}.ew-pr-10{padding-right:2.5rem}.ew-pr-12{padding-right:3rem}.ew-pr-16{padding-right:4rem}.ew-pr-2{padding-right:.5rem}.ew-pr-24{padding-right:6rem}.ew-pr-3{padding-right:.75rem}.ew-pr-4{padding-right:1rem}.ew-pr-6{padding-right:1.5rem}.ew-pr-8{padding-right:2rem}.ew-pr-px{padding-right:1px}.ew-pt-0{padding-top:0}.ew-pt-0\\.5{padding-top:.125rem}.ew-pt-1{padding-top:.25rem}.ew-pt-12{padding-top:3rem}.ew-pt-16{padding-top:4rem}.ew-pt-2{padding-top:.5rem}.ew-pt-3{padding-top:.75rem}.ew-pt-3\\.5{padding-top:.875rem}.ew-pt-4{padding-top:1rem}.ew-pt-5{padding-top:1.25rem}.ew-pt-6{padding-top:1.5rem}.ew-pt-64{padding-top:16rem}.ew-pt-8{padding-top:2rem}.ew-pt-\\[10px\\]{padding-top:10px}.ew-pt-px{padding-top:1px}.ew-text-left{text-align:left}.ew-text-center{text-align:center}.ew-text-right{text-align:right}.ew-indent-0{text-indent:0}.ew-font-heading{font-family:var(--theme-font-heading)}.ew-font-text{font-family:var(--theme-font-text)}.ew-text-2xl{font-size:1.5rem;line-height:2rem}.ew-text-3xl{font-size:1.875rem;line-height:2.25rem}.ew-text-4xl{font-size:2.25rem;line-height:2.5rem}.ew-text-5xl{font-size:3rem;line-height:1}.ew-text-base{font-size:1rem;line-height:1.5rem}.ew-text-lg{font-size:1.125rem;line-height:1.75rem}.ew-text-sm{font-size:.875rem;line-height:1.25rem}.ew-text-xl{font-size:1.25rem;line-height:1.75rem}.ew-text-xs{font-size:.75rem;line-height:1rem}.ew-font-bold{font-weight:700}.ew-font-light{font-weight:300}.ew-font-medium{font-weight:500}.ew-font-normal{font-weight:400}.ew-font-semibold{font-weight:600}.ew-uppercase{text-transform:uppercase}.ew-italic{font-style:italic}.ew-leading-none{line-height:1}.ew-leading-relaxed{line-height:1.625}.ew-tracking-wider{letter-spacing:.05em}.ew-text-base-aux{--tw-text-opacity:1;color:rgb(var(--theme-base-aux-ch)/var(--tw-text-opacity))}.ew-text-base-aux\\/80{color:rgb(var(--theme-base-aux-ch)/.8)}.ew-text-base-bg{--tw-text-opacity:1;color:rgb(var(--theme-base-bg-ch)/var(--tw-text-opacity))}.ew-text-base-fg{--tw-text-opacity:1;color:rgb(var(--theme-base-fg-ch)/var(--tw-text-opacity))}.ew-text-danger-aux{--tw-text-opacity:1;color:rgb(var(--theme-danger-aux-ch)/var(--tw-text-opacity))}.ew-text-danger-fg{--tw-text-opacity:1;color:rgb(var(--theme-danger-fg-ch)/var(--tw-text-opacity))}.ew-text-inherit{color:inherit}.ew-text-neutral-aux{--tw-text-opacity:1;color:rgb(var(--theme-neutral-aux-ch)/var(--tw-text-opacity))}.ew-text-neutral-bg{--tw-text-opacity:1;color:rgb(var(--theme-neutral-bg-ch)/var(--tw-text-opacity))}.ew-text-neutral-fg{--tw-text-opacity:1;color:rgb(var(--theme-neutral-fg-ch)/var(--tw-text-opacity))}.ew-text-primary-aux{--tw-text-opacity:1;color:rgb(var(--theme-primary-aux-ch)/var(--tw-text-opacity))}.ew-text-primary-fg{--tw-text-opacity:1;color:rgb(var(--theme-primary-fg-ch)/var(--tw-text-opacity))}.ew-text-success-fg{--tw-text-opacity:1;color:rgb(var(--theme-success-fg-ch)/var(--tw-text-opacity))}.ew-text-transparent{color:transparent}.ew-text-warning-fg{--tw-text-opacity:1;color:rgb(var(--theme-warning-fg-ch)/var(--tw-text-opacity))}.ew-underline{text-decoration-line:underline}.ew-line-through{text-decoration-line:line-through}.ew-no-underline{text-decoration-line:none}.ew-placeholder-base-aux::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(var(--theme-base-aux-ch)/var(--tw-placeholder-opacity))}.ew-placeholder-base-aux::placeholder{--tw-placeholder-opacity:1;color:rgb(var(--theme-base-aux-ch)/var(--tw-placeholder-opacity))}.ew-placeholder-base-aux\\/80::-moz-placeholder{color:rgb(var(--theme-base-aux-ch)/.8)}.ew-placeholder-base-aux\\/80::placeholder{color:rgb(var(--theme-base-aux-ch)/.8)}.ew-opacity-0{opacity:0}
22303.ew-opacity-100{opacity:1}.ew-opacity-20{opacity:.2}.ew-opacity-30{opacity:.3}.ew-opacity-40{opacity:.4}.ew-opacity-50{opacity:.5}.ew-opacity-60{opacity:.6}.ew-opacity-80{opacity:.8}.ew-opacity-\\[0\\.60\\]{opacity:.6}.ew-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.ew-shadow,.ew-shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ew-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.ew-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.ew-shadow-md,.ew-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ew-shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.ew-shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
22303--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ew-shadow-black{--tw-shadow-color:#000;--tw-shadow:var(--tw-shadow-colored)}.ew-outline-none{outline:2px solid transparent;outline-offset:2px}.ew-outline-0{outline-width:0}.ew-outline-primary-fg{outline-color:rgb(var(--theme-primary-fg-ch))}.ew-ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ew-ring,.ew-ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ew-ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ew-ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}.ew-ring-primary-fg{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--theme-primary-fg-ch)/var(--tw-ring-opacity))}.ew-ring-primary-fg\\/50{--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5)}.ew-ring-offset-0{--tw-ring-offset-width:0px}.ew-blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ew-backdrop-blur{--tw-backdrop-blur:blur(8px)}.ew-backdrop-blur,.ew-backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.ew-backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.ew-transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ew-transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ew-transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ew-delay-1000{transition-delay:1s}.ew-delay-500{transition-delay:.5s}.ew-duration-300{transition-duration:.3s}.ew-focusable,.ew-focusable-reset{--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5);--tw-ring-offset-width:0px;outline:2px solid transparent;outline-offset:2px}.ew-focusable{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ew-focusable:focus-visible{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}.ew-focusable-inset{--tw-ring-inset:inset;--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5);outline:2px solid transparent;outline-offset:2px;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ew-focusable-inset:focus-visible{--tw-border-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity));box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}.ew-focusable-outline{--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5);--tw-ring-offset-width:0px;outline:2px solid transparent;outline-offset:2px;transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ew-focusable-outline:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ew-relative-background:before{bottom:0;content:" ";display:block;left:0;position:absolute;right:0;top:0}.ew-justify-stretch>*{flex-grow:1;flex-shrink:0}input[type=color].ew-input-color::-webkit-color-swatch,input[type=color].ew-input-color::-webkit-color-swatch-wrapper{display:none}.ew-input-icon{display:none}.ew-input input:focus-visible,.ew-input select:focus-visible,textarea.ew-input:focus-visible{outline:none}.ew-input input:focus-visible,.ew-input select:focus-visible{border:0;box-shadow:none}textarea.ew-input:focus{--tw-ring-color:rgb(var(--theme-primary-fg-ch)/0.5)}.ew-input select option{background-color:var(--theme-base-bg);color:var(--theme-base-fg)}.ew-input input+.ew-input-icon:before,.ew-input select+.ew-input-icon:before{background:rgb(var(--theme-base-aux-ch)/.07)}.ew-input input:focus+.ew-input-icon:before,.ew-input select:focus+.ew-input-icon:before{background:var(--theme-base-bg)}.ew-input input:disabled+.ew-input-icon:before,.ew-input select:disabled+.ew-input-icon:before{background:rgb(var(--theme-base-aux-ch)/.3)}.ew-input input[aria-readonly]:disabled+.ew-input-icon:before,.ew-input select[aria-readonly]:disabled+.ew-input-icon:before{background:rgb(var(--theme-base-aux-ch)/.07)}.ew-input input[aria-readonly]:-moz-read-only:focus+.ew-input-icon:before,.ew-input select[aria-readonly]:-moz-read-only:focus+.ew-input-icon:before{background:rgb(var(--theme-base-aux-ch)/.1)}.ew-input input[aria-readonly]:read-only:focus+.ew-input-icon:before,.ew-input select[aria-readonly]:read-only:focus+.ew-input-icon:before{background:rgb(var(--theme-base-aux-ch)/.1)}.ew-input-autocomplete--options{display:none}.ew-input-autocomplete:focus-within+.ew-input-autocomplete--options{display:block}.ew-input-autocomplete--options:active{display:block}input[type=range].ew-slider{-webkit-appearance:none;background:transparent;height:auto;left:0;margin:0;opacity:1;outline:initial;position:relative;right:0;width:100%;z-index:0}input[type=range].ew-slider:disabled{pointer-events:none}input[type=range].ew-slider::-webkit-slider-runnable-track{background:initial;cursor:auto}input[type=range].ew-slider::-moz-range-track{background:initial;cursor:auto}input[type=range].ew-slider::-ms-track{background:initial;cursor:auto}input[type=range].ew-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:currentColor;border:2px solid #fff;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.1);height:24px;-webkit-transition:.12s ease-in;transition:.12s ease-in;width:24px}input[type=range].ew-slider:hover::-webkit-slider-thumb{box-shadow:0 0 4px rgba(0,0,0,.1),0 0 4px currentColor}input[type=range].ew-slider:active::-webkit-slider-thumb{box-shadow:0 0 4px rgba(0,0,0,.1),0 0 2px currentColor;-webkit-transition:none;transition:none}input[type=range].ew-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 4px rgba(0,0,0,.1),0 0 4px currentColor}input[type=range].ew-slider::-moz-range-thumb{-moz-appearance:none;appearance:none;background:currentColor;border:2px solid #fff;border-radius:50%;box-shadow:0 0 4px rgba(0,0,0,.1);height:24px;-moz-transition:.12s ease-in;transition:.12s ease-in;width:24px}input[type=range].ew-slider:hover::-moz-range-thumb{box-shadow:0 0 4px rgba(0,0,0,.1),0 0 4px currentColor}input[type=range].ew-slider:active::-moz-range-thumb{box-shadow:0 0 4px rgba(0,0,0,.1),0 0 2px currentColor;-moz-transition:none;transition:none}input[type=range].ew-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 4px rgba(0,0,0,.1),0 0 4px currentColor}.ew-popover-content{display:none}.ew-popover-trigger:focus-within+.ew-popover-content{animation:ew-animation-fade .2s forwards;display:block}.ew-popover.ew-is-open>.ew-popover-content{animation:ew-animation-fade .2s forwards;display:block}.ew-popover.ew-is-closed .ew-popover-trigger:focus-within+.ew-popover-content{display:none}.ew-popover.ew-persistent:focus-within>.ew-popover-content{display:block}.ew-popover.ew-show-on-hover .ew-popover-trigger:hover+.ew-popover-content{animation:ew-animation-fade .2s forwards;display:block}.ew-popover.ew-show-on-hover>.ew-popover-content:hover{display:block}.ew-popover-content:active{display:block!important}.ew-modal-toggle:checked+.ew-modal,.ew-modal.ew-modal--is-open{display:block;opacity:1}.ew-modal-toggle:checked+.ew-modal>.ew-modal-content,.ew-modal.ew-modal--is-open>.ew-modal-content{animation:ew-animation-fade-slide-scale .2s ease-out forwards}input[type=checkbox].ew-checkbox:before{background-image:linear-gradient(-45deg,transparent 65%,currentColor 65.99%),linear-gradient(45deg,transparent 75%,currentColor 75.99%),linear-gradient(-45deg,currentColor 40%,transparent 40.99%),linear-gradient(45deg,currentColor 30%,var(--fg-color) 30.99%,var(--fg-color) 40%,transparent 40.99%),linear-gradient(-45deg,var(--fg-color) 50%,currentColor 50.99%)}input[type=checkbox].ew-checkbox:disabled:before{opacity:.4}.ew-tooltip:after{border-style:solid;content:"";display:block;position:absolute}.ew-tooltip.ew-tooltip-top:after{border-color:var(--theme-neutral-bg) transparent transparent transparent;border-width:4px 4px 0;left:50%;margin-left:-2px;top:100%}.ew-tooltip.ew-tooltip-bottom:after{border-color:transparent transparent var(--theme-neutral-bg) transparent;border-width:0 4px 4px;bottom:100%;left:50%;margin-left:-2px}.ew-tooltip.ew-tooltip-left:after{border-color:transparent transparent transparent var(--theme-neutral-bg);border-width:4px 0 4px 4px;left:100%;margin-top:-2px;top:50%}.ew-tooltip.ew-tooltip-right:after{border-color:transparent var(--theme-neutral-bg) transparent transparent;border-width:4px 4px 4px 0;margin-top:-2px;right:100%;top:50%}.ew-table,.ew-table tbody,.ew-table td,.ew-table th,.ew-table thead,.ew-table tr{border:0;border-collapse:collapse;margin:0;padding:0}.ew-table tr{border-bottom:1px solid rgb(var(--theme-base-aux-ch)/.2)}.ew-table thead tr{border-bottom:none}.ew-table tbody tr:last-child{border-bottom:0}.ew-table td{padding:12px 8px}.ew-table-group-header td{padding:16px 8px}@keyframes ew-animation-fade{0%{opacity:0}
22303to{opacity:1}}@keyframes ew-animation-fade-slide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ew-animation-fade-slide-scale{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.ew-loading-dots{display:inline-block;height:var(--size);position:relative;width:var(--size)}.ew-loading-dots div{animation-timing-function:cubic-bezier(0,1,1,0);background:var(--color);border-radius:calc(var(--size)*.2);height:calc(var(--size)*.2);position:absolute;top:calc(var(--size)*.4);width:calc(var(--size)*.2)}.ew-loading-dots>div:first-child{animation:ew-loading-dots-1 .6s infinite;left:0}.ew-loading-dots>div:nth-child(2){animation:ew-loading-dots-2 .6s infinite;left:0}.ew-loading-dots>div:nth-child(3){animation:ew-loading-dots-2 .6s infinite;left:calc(var(--size)*.4)}.ew-loading-dots>div:nth-child(4){animation:ew-loading-dots-3 .6s infinite;left:calc(var(--size)*.8)}@keyframes ew-loading-dots-1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes ew-loading-dots-2{0%{transform:translate(0)}to{transform:translate(calc(var(--size)*.4))}}@keyframes ew-loading-dots-3{0%{transform:scale(1)}to{transform:scale(0)}}.ew-loading-ripples{display:inline-block;height:var(--size);position:relative;width:var(--size)}.ew-loading-ripples>div{animation:ew-loading-ripples 1.2s cubic-bezier(0,.2,.8,1) infinite;border:calc(var(--size)*.06) solid var(--color);border-radius:50%;opacity:1;position:absolute}.ew-loading-ripples>div:nth-child(2){animation-delay:-.6s}@keyframes ew-loading-ripples{0%{height:0;left:calc(var(--size)*.5);opacity:1;top:calc(var(--size)*.5);width:0}to{height:var(--size);left:0;opacity:0;top:0;width:var(--size)}}.before\\:ew-pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\\:ew-absolute:before{content:var(--tw-content);position:absolute}.before\\:ew-inset-0:before{content:var(--tw-content);inset:0}.before\\:ew-inset-1:before{content:var(--tw-content);inset:.25rem}.before\\:ew-z-0:before{content:var(--tw-content);z-index:0}.before\\:ew-block:before{content:var(--tw-content);display:block}.before\\:ew-h-0:before{content:var(--tw-content);height:0}.before\\:ew-h-0\\.5:before{content:var(--tw-content);height:.125rem}.before\\:ew-w-0:before{content:var(--tw-content);width:0}.before\\:ew-w-0\\.5:before{content:var(--tw-content);width:.125rem}.before\\:ew-grow:before{content:var(--tw-content);flex-grow:1}.before\\:ew-rounded:before{border-radius:4px;content:var(--tw-content)}.before\\:ew-rounded-\\[12px\\]:before{border-radius:12px;content:var(--tw-content)}.before\\:ew-rounded-\\[14px\\]:before{border-radius:14px;content:var(--tw-content)}.before\\:ew-rounded-\\[16px\\]:before{border-radius:16px;content:var(--tw-content)}.before\\:ew-rounded-\\[18px\\]:before{border-radius:18px;content:var(--tw-content)}.before\\:ew-rounded-\\[20px\\]:before{border-radius:20px;content:var(--tw-content)}.before\\:ew-rounded-full:before{border-radius:9999px;content:var(--tw-content)}.before\\:ew-rounded-lg:before{border-radius:8px;content:var(--tw-content)}.before\\:ew-rounded-sm:before{border-radius:2px;content:var(--tw-content)}.before\\:ew-rounded-r:before{border-bottom-right-radius:4px;border-top-right-radius:4px;content:var(--tw-content)}.before\\:ew-bg-current:before{background-color:currentColor;content:var(--tw-content)}.before\\:ew-bg-neutral-aux:before{--tw-bg-opacity:1;background-color:rgb(var(--theme-neutral-aux-ch)/var(--tw-bg-opacity));content:var(--tw-content)}.before\\:ew-bg-neutral-fg:before{--tw-bg-opacity:1;background-color:rgb(var(--theme-neutral-fg-ch)/var(--tw-bg-opacity));content:var(--tw-content)}.before\\:ew-bg-primary-aux:before{--tw-bg-opacity:1;background-color:rgb(var(--theme-primary-aux-ch)/var(--tw-bg-opacity));content:var(--tw-content)}.before\\:ew-bg-primary-fg:before{--tw-bg-opacity:1;background-color:rgb(var(--theme-primary-fg-ch)/var(--tw-bg-opacity));content:var(--tw-content)}.before\\:ew-opacity-0:before{content:var(--tw-content);opacity:0}.before\\:ew-opacity-10:before{content:var(--tw-content);opacity:.1}.before\\:ew-opacity-\\[0\\.07\\]:before{content:var(--tw-content);opacity:.07}.before\\:ew-transition:before{content:var(--tw-content);transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.before\\:ew-duration-200:before{content:var(--tw-content);transition-duration:.2s}.before\\:ew-content-\\[\\\'\\\'\\]:before{--tw-content:"";content:var(--tw-content)}.after\\:ew-absolute:after{content:var(--tw-content);position:absolute}.after\\:ew-inset-x-0:after{content:var(--tw-content);left:0;right:0}.after\\:ew-top-0:after{content:var(--tw-content);top:0}.after\\:ew-block:after{content:var(--tw-content);display:block}.after\\:ew-h-0:after{content:var(--tw-content);height:0}.after\\:ew-h-0\\.5:after{content:var(--tw-content);height:.125rem}.after\\:ew-h-1:after{content:var(--tw-content);height:.25rem}.after\\:ew-h-1\\.5:after{content:var(--tw-content);height:.375rem}.after\\:ew-w-0:after{content:var(--tw-content);width:0}.after\\:ew-w-0\\.5:after{content:var(--tw-content);width:.125rem}.after\\:ew-grow:after{content:var(--tw-content);flex-grow:1}.after\\:ew-rounded-t:after{border-top-left-radius:4px;border-top-right-radius:4px;content:var(--tw-content)}.after\\:ew-bg-current:after{background-color:currentColor;content:var(--tw-content)}.after\\:ew-content-\\[\\\'\\\'\\]:after{--tw-content:"";content:var(--tw-content)}.first\\:ew-ml-0:first-child{margin-left:0}.first\\:ew-rounded-l-\\[16px\\]:first-child{border-bottom-left-radius:16px;border-top-left-radius:16px}.first\\:ew-rounded-l-\\[20px\\]:first-child{border-bottom-left-radius:20px;border-top-left-radius:20px}.first\\:ew-rounded-l-lg:first-child{border-bottom-left-radius:8px;border-top-left-radius:8px}.last\\:ew-mr-0:last-child{margin-right:0}.last\\:ew-rounded-r-\\[16px\\]:last-child{border-bottom-right-radius:16px;border-top-right-radius:16px}.last\\:ew-rounded-r-\\[20px\\]:last-child{border-bottom-right-radius:20px;border-top-right-radius:20px}.last\\:ew-rounded-r-lg:last-child{border-bottom-right-radius:8px;border-top-right-radius:8px}.focus-within\\:ew-border-primary-fg:focus-within{--tw-border-opacity:1;border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity))}.focus-within\\:ew-bg-base-aux\\/10:focus-within{background-color:rgb(var(--theme-base-aux-ch)/.1)}.focus-within\\:ew-bg-base-bg:focus-within{--tw-bg-opacity:1;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity))}.focus-within\\:ew-text-base-fg:focus-within{--tw-text-opacity:1;color:rgb(var(--theme-base-fg-ch)/var(--tw-text-opacity))}.focus-within\\:ew-ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}.hover\\:ew-bg-base-aux\\/10:hover{background-color:rgb(var(--theme-base-aux-ch)/.1)}.hover\\:ew-bg-base-aux\\/\\[0\\.04\\]:hover{background-color:rgb(var(--theme-base-aux-ch)/.04)}.hover\\:ew-bg-base-aux\\/\\[0\\.07\\]:hover{background-color:rgb(var(--theme-base-aux-ch)/.07)}.hover\\:ew-bg-primary-fg\\/\\[0\\.15\\]:hover{background-color:rgb(var(--theme-primary-fg-ch)/.15)}.hover\\:before\\:ew-opacity-10:hover:before{content:var(--tw-content);opacity:.1}.hover\\:before\\:ew-opacity-\\[0\\.05\\]:hover:before{content:var(--tw-content);opacity:.05}.hover\\:before\\:ew-opacity-\\[0\\.07\\]:hover:before{content:var(--tw-content);opacity:.07}.focus\\:ew-z-10:focus{z-index:10}.focus\\:ew-border-primary-fg:focus{--tw-border-opacity:1;border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity))}.focus\\:ew-bg-base-aux\\/\\[0\\.07\\]:focus{background-color:rgb(var(--theme-base-aux-ch)/.07)}.focus\\:ew-bg-base-bg:focus{--tw-bg-opacity:1;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity))}.focus\\:ew-bg-primary-fg\\/\\[0\\.15\\]:focus{background-color:rgb(var(--theme-primary-fg-ch)/.15)}.focus\\:ew-shadow-none:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-sha
22303dow)}.focus\\:ew-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ew-ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.read-only\\:focus\\:ew-bg-base-aux\\/10:focus:-moz-read-only{background-color:rgb(var(--theme-base-aux-ch)/.1)}.read-only\\:focus\\:ew-bg-base-aux\\/10:focus:read-only{background-color:rgb(var(--theme-base-aux-ch)/.1)}.focus-visible\\:ew-border-primary-fg:focus-visible{--tw-border-opacity:1;border-color:rgb(var(--theme-primary-fg-ch)/var(--tw-border-opacity))}.focus-visible\\:ew-bg-base-bg:focus-visible{--tw-bg-opacity:1;background-color:rgb(var(--theme-base-bg-ch)/var(--tw-bg-opacity))}.focus-visible\\:ew-outline-0:focus-visible{outline-width:0}.focus-visible\\:ew-ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
22303dow,0 0 #0000)}.active\\:ew-bg-base-aux\\/10:active{background-color:rgb(var(--theme-base-aux-ch)/.1)}.active\\:ew-bg-base-aux\\/\\[0\\.07\\]:active{background-color:rgb(var(--theme-base-aux-ch)/.07)}.active\\:ew-bg-primary-fg\\/20:active{background-color:rgb(var(--theme-primary-fg-ch)/.2)}.active\\:before\\:ew-opacity-10:active:before{content:var(--tw-content);opacity:.1}.active\\:before\\:ew-opacity-20:active:before{content:var(--tw-content);opacity:.2}.active\\:before\\:ew-opacity-\\[0\\.03\\]:active:before{content:var(--tw-content);opacity:.03}.active\\:before\\:ew-opacity-\\[0\\.15\\]:active:before{content:var(--tw-content);opacity:.15}.disabled\\:ew-pointer-events-none:disabled{pointer-events:none}.disabled\\:ew-border-base-aux\\/\\[0\\.25\\]:disabled{border-color:rgb(var(--theme-base-aux-ch)/.25)}.disabled\\:ew-bg-base-aux\\/\\[0\\.25\\]:disabled{background-color:rgb(var(--theme-base-aux-ch)/.25)}.disabled\\:ew-opacity-60:disabled{opacity:.6}.ew-group:focus-within .group-focus-within\\:ew-relative{position:relative}.ew-group:focus-within .group-focus-within\\:ew-rounded{border-radius:4px}.ew-group\\/ew:focus-within .group-focus-within\\/ew\\:ew-border-base-fg{--tw-border-opacity:1;border-color:rgb(var(--theme-base-fg-ch)/var(--tw-border-opacity))}.ew-group:focus-within .group-focus-within\\:ew-bg-neutral-bg{--tw-bg-opacity:1;background-color:rgb(var(--theme-neutral-bg-ch)/var(--tw-bg-opacity))}.ew-group:focus-within .group-focus-within\\:ew-px-2{padding-left:.5rem;padding-right:.5rem}.ew-group:focus-within .group-focus-within\\:ew-text-sm{font-size:.875rem;line-height:1.25rem}.ew-group:focus-within .group-focus-within\\:ew-leading-relaxed{line-height:1.625}.ew-group:focus-within .group-focus-within\\:ew-text-neutral-aux{--tw-text-opacity:1;color:rgb(var(--theme-neutral-aux-ch)/var(--tw-text-opacity))}.ew-group:hover .group-hover\\:ew-translate-x-0{--tw-translate-x:0px}.ew-group:hover .group-hover\\:ew-translate-x-0,.ew-group:hover .group-hover\\:ew-translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ew-group:hover .group-hover\\:ew-translate-y-0{--tw-translate-y:0px}.ew-group:hover .group-hover\\:ew-opacity-100{opacity:1}.ew-group:hover .group-hover\\:ew-delay-100{transition-delay:.1s}.ew-group:hover .group-hover\\:ew-delay-1000{transition-delay:1s}.ew-group:hover .group-hover\\:ew-delay-500{transition-delay:.5s}@media (min-width:1024px){.lg\\:ew-table-cell{display:table-cell}.lg\\:ew-flex-row{flex-direction:row}.lg\\:ew-flex-col{flex-direction:column}.lg\\:ew-items-start{align-items:flex-start}.lg\\:ew-items-end{align-items:flex-end}.lg\\:ew-items-center{align-items:center}.lg\\:ew-justify-start{justify-content:flex-start}.lg\\:ew-justify-end{justify-content:flex-end}.lg\\:ew-justify-center{justify-content:center}.lg\\:ew-justify-between{justify-content:space-between}.lg\\:ew-justify-around{justify-content:space-around}.lg\\:ew-gap-0{gap:0}.lg\\:ew-gap-1{gap:.25rem}.lg\\:ew-gap-12{gap:3rem}.lg\\:ew-gap-16{gap:4rem}.lg\\:ew-gap-2{gap:.5rem}.lg\\:ew-gap-4{gap:1rem}.lg\\:ew-gap-6{gap:1.5rem}.lg\\:ew-gap-8{gap:2rem}.lg\\:ew-p-0{padding:0}.lg\\:ew-p-1{padding:.25rem}.lg\\:ew-p-12{padding:3rem}.lg\\:ew-p-16{padding:4rem}.lg\\:ew-p-2{padding:.5rem}.lg\\:ew-p-4{padding:1rem}.lg\\:ew-p-6{padding:1.5rem}.lg\\:ew-p-8{padding:2rem}.lg\\:ew-px-0{padding-left:0;padding-right:0}.lg\\:ew-px-1{padding-left:.25rem;padding-right:.25rem}.lg\\:ew-px-12{padding-left:3rem;padding-right:3rem}.lg\\:ew-px-16{padding-left:4rem;padding-right:4rem}.lg\\:ew-px-2{padding-left:.5rem;padding-right:.5rem}.lg\\:ew-px-4{padding-left:1rem;padding-right:1rem}.lg\\:ew-px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\\:ew-px-8{padding-left:2rem;padding-right:2rem}.lg\\:ew-py-0{padding-bottom:0;padding-top:0}.lg\\:ew-py-1{padding-bottom:.25rem;padding-top:.25rem}.lg\\:ew-py-12{padding-bottom:3rem;padding-top:3rem}.lg\\:ew-py-16{padding-bottom:4rem;padding-top:4rem}.lg\\:ew-py-2{padding-bottom:.5rem;padding-top:.5rem}.lg\\:ew-py-4{padding-bottom:1rem;padding-top:1rem}.lg\\:ew-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.lg\\:ew-py-8{padding-bottom:2rem;padding-top:2rem}.lg\\:ew-pl-0{padding-left:0}.lg\\:ew-pl-1{padding-left:.25rem}.lg\\:ew-pl-12{padding-left:3rem}.lg\\:ew-pl-16{padding-left:4rem}.lg\\:ew-pl-2{padding-left:.5rem}.lg\\:ew-pl-4{padding-left:1rem}.lg\\:ew-pl-6{padding-left:1.5rem}.lg\\:ew-pl-8{padding-left:2rem}.lg\\:ew-pr-0{padding-right:0}.lg\\:ew-pr-1{padding-right:.25rem}.lg\\:ew-pr-12{padding-right:3rem}.lg\\:ew-pr-16{padding-right:4rem}.lg\\:ew-pr-2{padding-right:.5rem}.lg\\:ew-pr-4{padding-right:1rem}.lg\\:ew-pr-6{padding-right:1.5rem}.lg\\:ew-pr-8{padding-right:2rem}.lg\\:ew-pt-0{padding-top:0}.lg\\:ew-pt-1{padding-top:.25rem}.lg\\:ew-pt-12{padding-top:3rem}.lg\\:ew-pt-16{padding-top:4rem}.lg\\:ew-pt-2{padding-top:.5rem}.lg\\:ew-pt-4{padding-top:1rem}.lg\\:ew-pt-6{padding-top:1.5rem}.lg\\:ew-pt-8{padding-top:2rem}}') 22304 ])); 22305var $dtwrks$elm_book$ElmBook$ThemeOptions$globals = F2( 22306 function (globals_, options) { 22307 return _Utils_update( 22308 options, 22309 { 22310 ee: $elm$core$Maybe$Just( 22311 A2( 22312 $elm$core$Maybe$withDefault, 22313 globals_, 22314 A2( 22315 $elm$core$Maybe$map, 22316 $elm$core$Basics$append(globals_), 22317 options.ee))) 22318 }); 22319 }); 22320var $author$project$W$InputAutocomplete$init = function (props) { 22321 return $author$project$W$InputAutocomplete$initInput( 22322 {K: false, am: 0, en: '', gv: props.gv, cN: props.cN}); 22323}; 22324var $author$project$Chapters$Form$InputAutocomplete$init = { 22325 bS: $elm$core$Maybe$Nothing, 22326 aJ: false, 22327 f9: $elm$core$Maybe$Nothing, 22328 ai: _List_Nil, 22329 cN: $author$project$W$InputAutocomplete$init( 22330 { 22331 gv: function ($) { 22332 return $.w; 22333 }, 22334 cN: $elm$core$Maybe$Nothing 22335 }) 22336}; 22337var $author$project$W$InputFloat$init = function (value) { 22338 return A2( 22339 $author$project$W$InputFloat$Value, 22340 A2( 22341 $elm$core$Maybe$withDefault, 22342 '', 22343 A2($elm$core$Maybe$map, $elm$core$String$fromFloat, value)), 22344 value); 22345}; 22346var $author$project$Chapters$Form$InputFloat$init = { 22347 cM: $elm$core$Maybe$Nothing, 22348 cN: $author$project$W$InputFloat$init( 22349 $elm$core$Maybe$Just(1.2)), 22350 cO: $author$project$W$InputFloat$init($elm$core$Maybe$Nothing) 22351}; 22352var $author$project$W$InputInt$init = function (value) { 22353 return A2( 22354 $author$project$W$InputInt$Value, 22355 A2( 22356 $elm$core$Maybe$withDefault, 22357 '', 22358 A2($elm$core$Maybe$map, $elm$core$String$fromInt, value)), 22359 value); 22360}; 22361var $author$project$Chapters$Form$InputInt$init = $author$project$W$InputInt$init( 22362 $elm$core$Maybe$Just(4)); 22363var $author$project$Chapters$Form$InputSlider$init = {bO: 5, bU: 5}; 22364var $author$project$Chapters$Form$InputText$init = {cL: '', bB: _List_Nil, cN: 'S
22364ome text'}; 22365var $author$project$Chapters$Form$InputTextArea$init = 'Testing a long\n long\n long\n text?'; 22366var $author$project$Chapters$Information$Popover$init = {ad: false, ar: 0}; 22367var $author$project$Chapters$Overview$init = { 22368 b2: '', 22369 b3: $elm$core$Maybe$Nothing, 22370 cC: 0, 22371 cG: A2($author$project$W$InputTime$init, $elm$time$Time$utc, $elm$core$Maybe$Nothing) 22372}; 22373var $uncover_co$elm_theme$Theme$lightTheme = $uncover_co$elm_theme$Theme$new( 22374 { 22375 d1: { 22376 cV: A3($avh4$elm_color$Color$rgb255, 99, 119, 136), 22377 bF: A3($avh4$elm_color$Color$rgb255, 253, 253, 253), 22378 da: A3($avh4$elm_color$Color$rgb255, 43, 52, 59) 22379 }, 22380 c0: { 22381 cV: A3($avh4$elm_color$Color$rgb255, 255, 255, 255), 22382 bF: A3($avh4$elm_color$Color$rgb255, 220, 50, 84), 22383 da: A3($avh4$elm_color$Color$rgb255, 230, 25, 66) 22384 }, 22385 z: {a4: 'monospace', dd: 'system-ui, sans-serif', j: 'system-ui, sans-serif'}, 22386 dq: { 22387 cV: A3($avh4$elm_color$Color$rgb255, 255, 255, 255), 22388 bF: A3($avh4$elm_color$Color$rgb255, 91, 111, 125), 22389 da: A3($avh4$elm_color$Color$rgb255, 99, 119, 136) 22390 }, 22391 dz: { 22392 cV: A3($avh4$elm_color$Color$rgb255, 255, 255, 255), 22393 bF: A3($avh4$elm_color$Color$rgb255, 0, 122, 204), 22394 da: A3($avh4$elm_color$Color$rgb255, 0, 119, 199) 22395 }, 22396 dC: { 22397 cV: A3($avh4$elm_color$Color$rgb255, 255, 255, 255), 22398 bF: A3($avh4$elm_color$Color$rgb255, 192, 57, 181), 22399 da: A3($avh4$elm_color$Color$rgb255, 209, 0, 192) 22400 }, 22401 gr: { 22402 cV: A3($avh4$elm_color$Color$rgb255, 0, 66, 38), 22403 bF: A3($avh4$elm_color$Color$rgb255, 150, 230, 71), 22404 da: A3($avh4$elm_color$Color$rgb255, 34, 128, 0) 22405 }, 22406 dX: { 22407 cV: A3($avh4$elm_color$Color$rgb255, 87, 46, 0), 22408 bF: A3($avh4$elm_color$Color$rgb255, 250, 192, 56), 22409 da: A3($avh4$elm_color$Color$rgb255, 182, 91, 7) 22410 } 22411 }); 22412var $author$project$Chapters$Theme$init = $uncover_co$elm_theme$Theme$toThemeData($uncover_co$elm_theme$Theme$lightTheme); 22413var $author$project$W$Docs$InputCode$init = ''; 22414var $dtwrks$elm_book$ElmBook$StatefulOptions$initialState = F2( 22415 function (state, options) { 22416 return _Utils_update( 22417 options, 22418 { 22419 fG: $elm$core$Maybe$Just(state) 22420 }); 22421 }); 22422var $dtwrks$elm_book$ElmBook$ThemeOptions$subtitle = F2( 22423 function (subtitle_, theme) { 22424 return _Utils_update( 22425 theme, 22426 { 22427 dJ: $elm$core$Maybe$Just(subtitle_) 22428 }); 22429 }); 22430var $dtwrks$elm_book$ElmBook$Internal$Msg$OnUrlChange = function (a) { 22431 return {$: 2, a: a}; 22432}; 22433var $dtwrks$elm_book$ElmBook$Internal$Msg$OnUrlRequest = function (a) { 22434 return {$: 1, a: a}; 22435}; 22436var $elm$browser$Browser$External = function (a) { 22437 return {$: 1, a: a}; 22438}; 22439var $elm$browser$Browser$Internal = function (a) { 22440 return {$: 0, a: a}; 22441}; 22442var $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity; 22443var $elm$url$Url$Http = 0; 22444var $elm$url$Url$Https = 1; 22445var $elm$url$Url$Url = F6( 22446 function (protocol, host, port_, path, query, fragment) { 22447 return {ft: fragment, eh: host, dw: path, eH: port_, eK: protocol, eL: query}; 22448 }); 22449var $elm$core$String$dropLeft = F2( 22450 function (n, string) { 22451 return (n < 1) ? string : A3( 22452 $elm$core$String$slice, 22453 n, 22454 $elm$core$String$length(string), 22455 string); 22456 }); 22457var $elm$core$String$indexes = _String_indexes; 22458var $elm$url$Url$chompBeforePath = F5( 22459 function (protocol, path, params, frag, str) { 22460 if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) { 22461 return $elm$core$Maybe$Nothing; 22462 } else { 22463 var _v0 = A2($elm$core$String$indexes, ':', str); 22464 if (!_v0.b) { 22465 return $elm$core$Maybe$Just( 22466 A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag)); 22467 } else { 22468 if (!_v0.b.b) { 22469 var i = _v0.a; 22470 var _v1 = $elm$core$String$toInt( 22471 A2($elm$core$String$dropLeft, i + 1, str)); 22472 if (_v1.$ === 1) { 22473 return $elm$core$Maybe$Nothing; 22474 } else { 22475 var port_ = _v1; 22476 return $elm$core$Maybe$Just( 22477 A6( 22478 $elm$url$Url$Url, 22479 protocol, 22480 A2($elm$core$String$left, i, str), 22481 port_, 22482 path, 22483 params, 22484 frag)); 22485 } 22486 } else { 22487 return $elm$core$Maybe$Nothing; 22488 } 22489 } 22490 } 22491 }); 22492var $elm$url$Url$chompBeforeQuery = F4( 22493 function (protocol, params, frag, str) { 22494 if ($elm$core$String$isEmpty(str)) { 22495 return $elm$core$Maybe$Nothing; 22496 } else { 22497 var _v0 = A2($elm$core$String$indexes, '/', str); 22498 if (!_v0.b) { 22499 return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str); 22500 } else { 22501 var i = _v0.a; 22502 return A5( 22503 $elm$url$Url$chompBeforePath, 22504 protocol, 22505 A2($elm$core$String$dropLeft, i, str), 22506 params, 22507 frag, 22508 A2($elm$core$String$left, i, str)); 22509 } 22510 } 22511 }); 22512var $elm$url$Url$chompBeforeFragment = F3( 22513 function (protocol, frag, str) { 22514 if ($elm$core$String$isEmpty(str)) { 22515 return $elm$core$Maybe$Nothing; 22516 } else { 22517 var _v0 = A2($elm$core$String$indexes, '?', str); 22518 if (!_v0.b) { 22519 return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str); 22520 } else { 22521 var i = _v0.a; 22522 return A4( 22523 $elm$url$Url$chompBeforeQuery, 22524 protocol, 22525 $elm$core$Maybe$Just( 22526 A2($elm$core$String$dropLeft, i + 1, str)), 22527 frag, 22528 A2($elm$core$String$left, i, str)); 22529 } 22530 } 22531 }); 22532var $elm$url$Url$chompAfterProtocol = F2( 22533 function (protocol, str) { 22534 if ($elm$core$String$isEmpty(str)) { 22535 return $elm$core$Maybe$Nothing; 22536 } else { 22537 var _v0 = A2($elm$core$String$indexes, '#', str); 22538 if (!_v0.b) { 22539 return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str); 22540 } else { 22541 var i = _v0.a; 22542 return A3( 22543 $elm$url$Url$chompBeforeFragment, 22544 protocol, 22545 $elm$core$Maybe$Just( 22546 A2($elm$core$String$dropLeft, i + 1, str)), 22547 A2($elm$core$String$left, i, str)); 22548 } 22549 } 22550 }); 22551var $elm$core$String$startsWith = _String_startsWith; 22552var $elm$url$Url$fromString = function (str) { 22553 return A2($elm$core$String$startsWith, 'http://', str) ? A2( 22554 $elm$url$Url$chompAfterProtocol, 22555 0, 22556 A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2( 22557 $elm$url$Url$chompAfterProtocol,
22558 1, 22559 A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing); 22560}; 22561var $elm$core$Basics$never = function (_v0) { 22562 never: 22563 while (true) { 22564 var nvr = _v0; 22565 var $temp$_v0 = nvr; 22566 _v0 = $temp$_v0; 22567 continue never; 22568 } 22569}; 22570var $elm$browser$Browser$application = _Browser_application; 22571var $elm$core$Platform$Sub$batch = _Platform_batch; 22572var $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterUrl = function (_v0) { 22573 var url = _v0.gy; 22574 return url; 22575}; 22576var $elm$core$Elm$JsArray$push = _JsArray_push; 22577var $elm$core$Elm$JsArray$singleton = _JsArray_singleton; 22578var $elm$core$Elm$JsArray$unsafeSet = _JsArray_unsafeSet; 22579var $elm$core$Array$insertTailInTree = F4( 22580 function (shift, index, tail, tree) { 22581 var pos = $elm$core$Array$bitMask & (index >>> shift); 22582 if (_Utils_cmp( 22583 pos, 22584 $elm$core$Elm$JsArray$length(tree)) > -1) { 22585 if (shift === 5) { 22586 return A2( 22587 $elm$core$Elm$JsArray$push, 22588 $elm$core$Array$Leaf(tail), 22589 tree); 22590 } else { 22591 var newSub = $elm$core$Array$SubTree( 22592 A4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, $elm$core$Elm$JsArray$empty)); 22593 return A2($elm$core$Elm$JsArray$push, newSub, tree); 22594 } 22595 } else { 22596 var value = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree); 22597 if (!value.$) { 22598 var subTree = value.a; 22599 var newSub = $elm$core$Array$SubTree( 22600 A4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, subTree)); 22601 return A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree); 22602 } else { 22603 var newSub = $elm$core$Array$SubTree( 22604 A4( 22605 $elm$core$Array$insertTailInTree, 22606 shift - $elm$core$Array$shiftStep, 22607 index, 22608 tail, 22609 $elm$core$Elm$JsArray$singleton(value))); 22610 return A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree); 22611 } 22612 } 22613 }); 22614var $elm$core$Array$unsafeReplaceTail = F2( 22615 function (newTail, _v0) { 22616 var len = _v0.a; 22617 var startShift = _v0.b; 22618 var tree = _v0.c; 22619 var tail = _v0.d; 22620 var originalTailLen = $elm$core$Elm$JsArray$length(tail); 22621 var newTailLen = $elm$core$Elm$JsArray$length(newTail); 22622 var newArrayLen = len + (newTailLen - originalTailLen); 22623 if (_Utils_eq(newTailLen, $elm$core$Array$branchFactor)) { 22624 var overflow = _Utils_cmp(newArrayLen >>> $elm$core$Array$shiftStep, 1 << startShift) > 0; 22625 if (overflow) { 22626 var newShift = startShift + $elm$core$Array$shiftStep; 22627 var newTree = A4( 22628 $elm$core$Array$insertTailInTree, 22629 newShift, 22630 len, 22631 newTail, 22632 $elm$core$Elm$JsArray$singleton( 22633 $elm$core$Array$SubTree(tree))); 22634 return A4($elm$core$Array$Array_elm_builtin, newArrayLen, newShift, newTree, $elm$core$Elm$JsArray$empty); 22635 } else { 22636 return A4( 22637 $elm$core$Array$Array_elm_builtin, 22638 newArrayLen, 22639 startShift, 22640 A4($elm$core$Array$insertTailInTree, startShift, len, newTail, tree), 22641 $elm$core$Elm$JsArray$empty); 22642 } 22643 } else { 22644 return A4($elm$core$Array$Array_elm_builtin, newArrayLen, startShift, tree, newTail); 22645 } 22646 }); 22647var $elm$core$Array$push = F2( 22648 function (a, array) { 22649 var tail = array.d; 22650 return A2( 22651 $elm$core$Array$unsafeReplaceTail, 22652 A2($elm$core$Elm$JsArray$push, a, tail), 22653 array); 22654 }); 22655var $dtwrks$elm_book$ElmBook$Internal$Book$configFromBuilder = F2( 22656 function (chapterGroups_, _v0) { 22657 var data = _v0; 22658 var chapterGroups = function () { 22659 var toIndexedGroup = F2( 22660 function (initialIndex, _v6) { 22661 var groupTitle = _v6.a; 22662 var groupChapters = _v6.b; 22663 return _Utils_Tuple2( 22664 groupTitle, 22665 A2( 22666 $elm$core$List$indexedMap, 22667 F2( 22668 function (i, _v5) { 22669 return i + initialIndex; 22670 }), 22671 groupChapters)); 22672 }); 22673 return $elm$core$List$reverse( 22674 A3( 22675 $elm$core$List$foldl, 22676 F2( 22677 function (_v3, _v4) { 22678 var label = _v3.a; 22679 var xs = _v3.b; 22680 var acc = _v4.a; 22681 var lastIndex = _v4.b; 22682 return _Utils_Tuple2( 22683 A2( 22684 $elm$core$List$cons, 22685 A2( 22686 toIndexedGroup, 22687 lastIndex, 22688 _Utils_Tuple2(label, xs)), 22689 acc), 22690 lastIndex + $elm$core$List$length(xs)); 22691 }), 22692 _Utils_Tuple2(_List_Nil, 0), 22693 chapterGroups_).a); 22694 }(); 22695 var chapterData = A3( 22696 $elm$core$List$foldl, 22697 F2( 22698 function (_v2, acc) { 22699 var chapters_ = _v2.b; 22700 return A3( 22701 $elm$core$List$foldl, 22702 F2( 22703 function (c, acc_) { 22704 return { 22705 fh: A3( 22706 $elm$core$Dict$insert, 22707 $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterUrl(c), 22708 acc_.ax, 22709 acc_.fh), 22710 aw: A2($elm$core$Array$push, c, acc_.aw), 22711 ax: acc_.ax + 1 22712 }; 22713 }), 22714 {fh: acc.fh, aw: acc.aw, ax: acc.ax}, 22715 chapters_); 22716 }), 22717 {fh: $elm$core$Dict$empty, aw: $elm$core$Array$empty, ax: 0}, 22718 chapterGroups_); 22719 var _v1 = chapterData; 22720 var chapters = _v1.aw; 22721 var chapterByUrl = _v1.fh; 22722 return {fh: chapterByUrl, fi: chapterGroups, d4: data.d4, aw: chapters, d6: data.d6, eW: data.eW, dR: data.dR, gt: data.gt, e0: data.e0}; 22723 }); 22724var $dtwrks$elm_book$ElmBook$Internal$Book$chapterFromUrl = F2( 22725 function (config, url) { 22726 return A2( 22727 $elm$core$Maybe$andThen, 22728 function (i) { 22729 return A2($elm$core$Array$get, i, config.aw); 22730 }, 22731 A2($elm$core$Dict$get, url, config.fh)); 22732 }); 22733var $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterNavUrl = F2( 22734 function (hashBasedNavigation, _v0) { 22735 var url = _v0.gy; 22736 var internal = _v0.er; 22737 return (internal && hashBasedNavigation) ? ('#' + url) : url; 22738 }); 22739var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultOverrides = {e9: $elm$core$Maybe$Nothing, bF: $elm$core$Maybe$Nothing, f_: $elm$core$Maybe$Nothing, f$: $elm$core$Maybe$Nothing, f0: $elm$core$Maybe$Nothing}; 22740var $dtwrks$elm_book$ElmBook$Internal$Application$extractPath = F2( 22741 function (hashBasedNavigation, url) { 22742 return hashBasedNavigation ? A2($elm$core$Maybe$withDefault, '/', url.ft) : url.dw; 22743 }); 22744var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$hashBasedNavigation = function ($) { 22745 return $.fy; 22746}; 22747var $dtwrks$elm_book$ElmBook$Internal$Chapter$init = function (_v0) { 22748 var chapter = _v0; 22749 return chapter.di; 22750}; 22751var $elm$browser$Browser$Navigation$replaceUrl = _Browser_replaceUrl; 22752var $dtwrks$elm_book$ElmBook$Internal$Application$init = F4( 22753 function (config, _v0, url_, navKey) { 22754 var url = A2($dtwrks$elm_book$ElmBook$Internal$Application$extractPath, c
22754onfig.dR.fy, url_); 22755 var hashBasedNavigation_ = $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$hashBasedNavigation(config.dR); 22756 var darkMode = config.dR.gd; 22757 var initialState = A2( 22758 $elm$core$Maybe$map, 22759 config.eW.eE(darkMode), 22760 config.eW.fG); 22761 var activeChapter = A2( 22762 $dtwrks$elm_book$ElmBook$Internal$Book$chapterFromUrl, 22763 config, 22764 A2($dtwrks$elm_book$ElmBook$Internal$Application$extractPath, hashBasedNavigation_, url_)); 22765 var _v1 = A2( 22766 $elm$core$Maybe$withDefault, 22767 _Utils_Tuple2(initialState, $elm$core$Platform$Cmd$none), 22768 A2( 22769 $elm$core$Maybe$andThen, 22770 function (chapter) { 22771 return A2( 22772 $elm$core$Maybe$map, 22773 $elm$core$Tuple$mapFirst($elm$core$Maybe$Just), 22774 A3( 22775 $elm$core$Maybe$map2, 22776 F2( 22777 function (state_, chapterInit) { 22778 return chapterInit(state_); 22779 }), 22780 initialState, 22781 $dtwrks$elm_book$ElmBook$Internal$Chapter$init(chapter))); 22782 }, 22783 activeChapter)); 22784 var initialState_ = _v1.a; 22785 var cmd = _v1.b; 22786 return _Utils_Tuple2( 22787 {Y: _List_Nil, a$: false, d0: $elm$core$Maybe$Nothing, J: 0, az: darkMode, M: false, bb: false, bc: false, b5: false, aM: navKey, aT
22787: '', R: initialState_, bx: $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$defaultOverrides, gy: url}, 22788 function () { 22789 if (!activeChapter.$) { 22790 return cmd; 22791 } else { 22792 return A2( 22793 $elm$core$Maybe$withDefault, 22794 A2($elm$browser$Browser$Navigation$replaceUrl, navKey, '/'), 22795 A2( 22796 $elm$core$Maybe$map, 22797 A2( 22798 $elm$core$Basics$composeL, 22799 $elm$browser$Browser$Navigation$replaceUrl(navKey), 22800 $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterNavUrl(hashBasedNavigation_)), 22801 A2($elm$core$Array$get, 0, config.aw))); 22802 } 22803 }()); 22804 }); 22805var $dtwrks$elm_book$ElmBook$Internal$Msg$DoNothing = {$: 0}; 22806var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyArrowDown = {$: 12}; 22807var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyArrowUp = {$: 13}; 22808var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyEnter = {$: 18}; 22809var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyK = {$: 19}; 22810var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyMetaOn = {$: 16}; 22811var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyShiftOn = {$: 14}; 22812var $dtwrks$elm_book$ElmBook$Internal$Application$keyDownDecoder = A2( 22813 $elm$json$Json$Decode$map, 22814 function (string) { 22815 var _v0 = $elm$core$String$toLower(string); 22816 switch (_v0) { 22817 case 'arrowdown': 22818 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyArrowDown; 22819 case 'arrowup': 22820 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyArrowUp; 22821 case 'shift': 22822 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyShiftOn; 22823 case 'meta': 22824 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyMetaOn; 22825 case 'enter': 22826 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyEnter; 22827 case 'k': 22828 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyK; 22829 default: 22830 return $dtwrks$elm_book$ElmBook$Internal$Msg$DoNothing; 22831 } 22832 }, 22833 A2($elm$json$Json$Decode$field, 'key', $elm$json$Json$Decode$string)); 22834var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyMetaOff = {$: 17}; 22835var $dtwrks$elm_book$ElmBook$Internal$Msg$KeyShiftOff = {$: 15}; 22836var $dtwrks$elm_book$ElmBook$Internal$Application$keyUpDecoder = A2( 22837 $elm$json$Json$Decode$map, 22838 function (string) { 22839 var _v0 = $elm$core$String$toLower(string); 22840 switch (_v0) { 22841 case 'shift': 22842 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyShiftOff; 22843 case 'meta': 22844 return $dtwrks$elm_book$ElmBook$Internal$Msg$KeyMetaOff; 22845 default: 22846 return $dtwrks$elm_book$ElmBook$Internal$Msg$DoNothing; 22847 } 22848 }, 22849 A2($elm$json$Json$Decode$field, 'key', $elm$json$Json$Decode$string)); 22850var $elm$browser$Browser$Events$Document = 0; 22851var $elm$browser$Browser$Events$MySub = F3( 22852 function (a, b, c) { 22853 return {$: 0, a: a, b: b, c: c}; 22854 }); 22855var $elm$browser$Browser$Events$State = F2( 22856 function (subs, pids) { 22857 return {eG: pids, eZ: subs}; 22858 }); 22859var $elm$browser$Browser$Events$init = $elm$core$Task$succeed( 22860 A2($elm$browser$Browser$Events$State, _List_Nil, $elm$core$Dict$empty)); 22861var $elm$browser$Browser$Events$nodeToKey = function (node) { 22862 if (!node) { 22863 return 'd_'; 22864 } else { 22865 return 'w_'; 22866 } 22867}; 22868var $elm$browser$Browser$Events$addKey = function (sub) { 22869 var node = sub.a; 22870 var name = sub.b; 22871 return _Utils_Tuple2( 22872 _Utils_ap( 22873 $elm$browser$Browser$Events$nodeToKey(node), 22874 name), 22875 sub); 22876}; 22877var $elm$core$Process$kill = _Scheduler_kill; 22878var $elm$core$Dict$foldl = F3( 22879 function (func, acc, dict) { 22880 foldl: 22881 while (true) { 22882 if (dict.$ === -2) { 22883 return acc; 22884 } else { 22885 var key = dict.b; 22886 var value = dict.c; 22887 var left = dict.d; 22888 var right = dict.e; 22889 var $temp$func = func, 22890 $temp$acc = A3( 22891 func, 22892 key, 22893 value, 22894 A3($elm$core$Dict$foldl, func, acc, left)), 22895 $temp$dict = right; 22896 func = $temp$func; 22897 acc = $temp$acc; 22898 dict = $temp$dict; 22899 continue foldl; 22900 } 22901 } 22902 }); 22903var $elm$core$Dict$merge = F6( 22904 function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) { 22905 var stepState = F3( 22906 function (rKey, rValue, _v0) { 22907 stepState: 22908 while (true) { 22909 var list = _v0.a; 22910 var result = _v0.b; 22911 if (!list.b) { 22912 return _Utils_Tuple2( 22913 list, 22914 A3(rightStep, rKey, rValue, result)); 22915 } else { 22916 var _v2 = list.a; 22917 var lKey = _v2.a; 22918 var lValue = _v2.b; 22919 var rest = list.b; 22920 if (_Utils_cmp(lKey, rKey) < 0) { 22921 var $temp$rKey = rKey, 22922 $temp$rValue = rValue, 22923 $temp$_v0 = _Utils_Tuple2( 22924 rest, 22925 A3(leftStep, lKey, lValue, result)); 22926 rKey = $temp$rKey; 22927 rValue = $temp$rValue; 22928 _v0 = $temp$_v0; 22929 continue stepState; 22930 } else { 22931 if (_Utils_cmp(lKey, rKey) > 0) { 22932 return _Utils_Tuple2( 22933 list, 22934 A3(rightStep, rKey, rValue, result)); 22935 } else { 22936 return _Utils_Tuple2( 22937 rest, 22938 A4(bothStep, lKey, lValue, rValue, result)); 22939 } 22940 } 22941 } 22942 } 22943 }); 22944 var _v3 = A3( 22945 $elm$core$Dict$foldl, 22946 stepState, 22947 _Utils_Tuple2( 22948 $elm$core$Dict$toList(leftDict), 22949 initialResult), 22950 rightDict); 22951 var leftovers = _v3.a; 22952 var intermediateResult = _v3.b; 22953 return A3( 22954 $elm$core$List$foldl, 22955 F2( 22956 function (_v4, result) { 22957 var k = _v4.a; 22958 var v = _v4.b; 22959 return A3(leftStep, k, v, result); 22960 }), 22961 intermediateResult, 22962 leftovers); 22963 }); 22964var $elm$browser$Browser$Events$Event = F2( 22965 function (key, event) { 22966 return {ea: event, ev: key}; 22967 }); 22968var $elm$core$Platform$sendToSelf = _Platform_sendToSelf; 22969var $elm$browser$Browser$Events$spawn = F3( 22970 function (router, key, _v0) { 22971 var node = _v0.a; 22972 var name = _v0.b; 22973 var actualNode = function () { 22974 if (!node) { 22975 return _Browser_doc; 22976 } else { 22977 return _Browser_window; 22978 } 22979 }(); 22980 return A2( 22981 $elm$core$Task$map, 22982 function (value) { 22983 return _Utils_Tuple2(key, value); 22984 }, 22985 A3( 22986 _Browser_on, 22987 actualNode, 22988 name, 22989 function (event) { 22990 return A2( 22991 $elm$core$Platform$sendToSelf, 22992 router, 22993 A2($elm$browser$Browser$Events$Event, key, event)); 22994 })); 22995 }); 22996var $elm$core$Dict$union = F2( 22997 function (t1, t2) { 22998 return A3($elm$core$Dict$foldl, $elm$core$Dict$insert, t2, t1); 22999 }); 23000var $elm$browser$Browser$Events$onEffects = F3( 23001 function (router, subs, state) { 23002 var stepRight = F3( 23003 function (key, sub, _v6) { 23004 var deads = _v6.a; 23005 var lives = _v6.b; 23006 var news = _v6.c; 23007 return _Utils_Tuple3( 23008 deads, 23009 lives, 23010 A2( 23011 $elm$core$List$cons, 23012 A3($elm$browser$Browser$Events$spawn, router, key, sub), 23013 news)); 23014 }); 23015 var stepLeft = F3( 23016 function (_v4, pid, _v5) { 23017 var deads = _v5.a; 23018 var lives = _v5.b; 23019 var news = _v5.c; 23020 return _Utils_Tuple3( 23021 A2($elm$core$List$cons, pid, deads), 23022 lives, 23023 news); 23024 }); 23025 var stepBoth = F4( 23026 function (key, pid, _v2, _v3) { 23027 var deads = _v3.a; 23028 var lives = _v3.b; 23029 var news = _v3.c; 23030 return _Utils_Tuple3( 23031 deads, 23032 A3($elm$core$Dict$insert, key, pid, lives), 23033 news); 23034 }); 23035 var newSubs = A2($elm$core$List$map, $elm$browser$Browser$Events$addKey, subs); 23036 var _v0 = A6( 23037 $elm$core$Dict$merge, 23038 stepLeft, 23039 stepBoth, 23040 stepRight, 23041 state.eG, 23042 $elm$core$Dict$fromList(newSubs), 23043 _Utils_Tuple3(_List_Nil, $elm$core$Dict$empty, _List_Nil)); 23044 var deadPids = _v0.a; 23045 var livePids = _v0.b; 23046 var makeNewPids = _v0.c; 23047 return A2( 23048 $elm$core$Task$andThen, 23049 function (pids) { 23050 return $elm$core$Task$succeed( 23051 A2( 23052 $elm$browser$Browser$Events$State, 23053 newSubs, 23054 A2( 23055 $elm$core$Dict$union, 23056 livePids, 23057 $elm$core$Dict$fromList(pids)))); 23058 }, 23059 A2( 23060 $elm$core$Task$andThen, 23061 function (_v1) { 23062 return $elm$core$Task$sequence(makeNewPids); 23063 }, 23064 $elm$core$Task$sequence( 23065 A2($elm$core$List$map, $elm$core$Process$kill, deadPids)))); 23066 }); 23067var $elm$browser$Browser$Events$onSelfMsg = F3( 23068 function (router, _v0, state) { 23069 var key = _v0.ev; 23070 var event = _v0.ea; 23071 var toMessage = function (_v2) { 23072 var subKey = _v2.a; 23073 var _v3 = _v2.b; 23074 var node = _v3.a; 23075 var name = _v3.b; 23076 var decoder = _v3.c; 23077 return _Utils_eq(subKey, key) ? A2(_Browser_decodeEvent, decoder, event) : $elm$core$Maybe$Nothing; 23078 }; 23079 var messages = A2($elm$core$List$filterMap, toMessage, state.eZ); 23080 return A2( 23081 $elm$core$Task$andThen, 23082 function (_v1) { 23083 return $elm$core$Task$succeed(state); 23084 }, 23085 $elm$core$Task$sequence( 23086 A2( 23087 $elm$core$List$map, 23088 $elm$core$Platform$sendToApp(router), 23089 messages))); 23090 }); 23091var $elm$browser$Browser$Events$subMap = F2( 23092 function (func, _v0) { 23093 var node = _v0.a; 23094 var name = _v0.b; 23095 var decoder = _v0.c; 23096 return A3( 23097 $elm$browser$Browser$Events$MySub, 23098 node, 23099 name, 23100 A2($elm$json$Json$Decode$map, func, decoder)); 23101 }); 23102_Platform_effectManagers['Browser.Events'] = _Platform_createManager($elm$browser$Browser$Events$init, $elm$browser$Browser$Events$onEffects, $elm$browser$Browser$Events$onSelfMsg, 0, $elm$browser$Browser$Events$subMap); 23103var $elm$browser$Browser$Events$subscription = _Platform_leaf('Browser.Events'); 23104var $elm$browser$Browser$Events$on = F3( 23105 function (node, name, decoder) { 23106 return $elm$browser$Browser$Events$subscription( 23107 A3($elm$browser$Browser$Events$MySub, node, name, decoder)); 23108 }); 23109var $elm$browser$Browser$Events$onKeyDown = A2($elm$browser$Browser$Events$on, 0, 'keydown'); 23110var $elm$browser$Browser$Events$onKeyUp = A2($elm$browser$Browser$Events$on, 0, 'keyup'); 23111var $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterInternal = function (_v0) { 23112 var internal = _v0.er; 23113 return internal; 23114}; 23115var $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterTitle = function (_v0) { 23116 var title = _v0.gt; 23117 return title; 23118}; 23119var $elm$browser$Browser$Dom$focus = _Browser_call('focus'); 23120var $elm$core$Array$isEmpty = function (_v0) { 23121 var len = _v0.a; 23122 return !len; 23123}; 23124var $elm$browser$Browser$Navigation$load = _Browser_load; 23125var $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl; 23126var $elm$core$Array$filter = F2( 23127 function (isGood, array) { 23128 return $elm$core$Array$fromList( 23129 A3( 23130 $elm$core$Array$foldr, 23131 F2( 23132 function (x, xs) { 23133 return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs; 23134 }), 23135 _List_Nil, 23136 array)); 23137 });
23138var $dtwrks$elm_book$ElmBook$Internal$Application$searchChapters = F2( 23139 function (search, chapters) { 23140 if (search === '') { 23141 return chapters; 23142 } else { 23143 var searchLowerCase = $elm$core$String$toLower(search); 23144 var titleMatchesSearch = function (_v1) { 23145 var title = _v1.gt; 23146 return A2( 23147 $elm$core$String$contains, 23148 searchLowerCase, 23149 $elm$core$String$toLower(title)); 23150 }; 23151 return A2($elm$core$Array$filter, titleMatchesSearch, chapters); 23152 } 23153 }); 23154var $elm$browser$Browser$Dom$setViewportOf = _Browser_setViewportOf; 23155var $elm$url$Url$addPort = F2( 23156 function (maybePort, starter) { 23157 if (maybePort.$ === 1) { 23158 return starter; 23159 } else { 23160 var port_ = maybePort.a; 23161 return starter + (':' + $elm$core$String$fromInt(port_)); 23162 } 23163 }); 23164var $elm$url$Url$addPrefixed = F3( 23165 function (prefix, maybeSegment, starter) { 23166 if (maybeSegment.$ === 1) { 23167 return starter; 23168 } else { 23169 var segment = maybeSegment.a; 23170 return _Utils_ap( 23171 starter, 23172 _Utils_ap(prefix, segment)); 23173 } 23174 }); 23175var $elm$url$Url$toString = function (url) { 23176 var http = function () { 23177 var _v0 = url.eK; 23178 if (!_v0) { 23179 return 'http://'; 23180 } else { 23181 return 'https://'; 23182 } 23183 }(); 23184 return A3( 23185 $elm$url$Url$addPrefixed, 23186 '#', 23187 url.ft, 23188 A3( 23189 $elm$url$Url$addPrefixed, 23190 '?', 23191 url.eL, 23192 _Utils_ap( 23193 A2( 23194 $elm$url$Url$addPort, 23195 url.eH, 23196 _Utils_ap(http, url.eh)), 23197 url.dw))); 23198}; 23199var $dtwrks$elm_book$ElmBook$Internal$Application$updateThemeOverrides = F2( 23200 function (model, fn) { 23201 return _Utils_Tuple2( 23202 _Utils_update( 23203 model, 23204 { 23205 bx: fn(model.bx) 23206 }), 23207 $elm$core$Platform$Cmd$none); 23208 }); 23209var $dtwrks$elm_book$ElmBook$Internal$Application$update = F3( 23210 function (config, msg, model) { 23211 var logAction_ = F2( 23212 function (context, action) { 23213 return _Utils_Tuple2( 23214 _Utils_update( 23215 model, 23216 { 23217 Y: A2( 23218 $elm$core$List$cons, 23219 _Utils_Tuple2(context, action), 23220 model.Y) 23221 }), 23222 $elm$core$Platform$Cmd$none); 23223 }); 23224 var hashBasedNavigation_ = $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$hashBasedNavigation(config.dR); 23225 var activeChapter = A2($dtwrks$elm_book$ElmBook$Internal$Book$chapterFromUrl, config, model.gy); 23226 var defaultLogContext = A2( 23227 $elm$core$Maybe$withDefault, 23228 '', 23229 A2( 23230 $elm$core$Maybe$map, 23231 function (s) { 23232 return s + ' / '; 23233 }, 23234 A2($elm$core$Maybe$map, $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterTitle, activeChapter))); 23235 switch (msg.$) { 23236 case 1: 23237 var request = msg.a; 23238 if (request.$ === 1) { 23239 var url = request.a; 23240 return _Utils_Tuple2( 23241 model, 23242 $elm$browser$Browser$Navigation$load(url)); 23243 } else { 23244 var url = request.a; 23245 return A2($elm$core$String$contains, '/logAction', url.dw) ? A2( 23246 logAction_, 23247 defaultLogContext, 23248 'Navigate to: ' + A3($elm$core$String$replace, '/logAction', '', url.dw)) : _Utils_Tuple2( 23249 model, 23250 A2( 23251 $elm$browser$Browser$Navigation$pushUrl, 23252 model.aM, 23253 $elm$url$Url$toString(url))); 23254 } 23255 case 2: 23256 var url_ = msg.a; 23257 var url = A2($dtwrks$elm_book$ElmBook$Internal$Application$extractPath, hashBasedNavigation_, url_); 23258 if (url === '/') { 23259 return A2( 23260 $elm$core$Maybe$withDefault, 23261 _Utils_Tuple2( 23262 _Utils_update( 23263 model, 23264 {gy: '/'}), 23265 $elm$core$Platform$Cmd$none), 23266 A2( 23267 $elm$core$Maybe$map, 23268 function (fallback) { 23269 return _Utils_Tuple2( 23270 model, 23271 A2( 23272 $elm$browser$Browser$Navigation$pushUrl, 23273 model.aM, 23274 $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterUrl(fallback))); 23275 }, 23276 A2($elm$core$Array$get, 0, config.aw))); 23277 } else { 23278 var urlChapter = A2( 23279 $elm$core$Maybe$andThen, 23280 function (i) { 23281 return A2($elm$core$Array$get, i, config.aw); 23282 }, 23283 A2($elm$core$Dict$get, url, config.fh)); 23284 if (!urlChapter.$) { 23285 var chapter = urlChapter.a; 23286 var _v4 = A2( 23287 $elm$core$Maybe$withDefault, 23288 _Utils_Tuple2(model.R, $elm$core$Platform$Cmd$none), 23289 A2( 23290 $elm$core$Maybe$map, 23291 $elm$core$Tuple$mapFirst($elm$core$Maybe$Just), 23292 A3( 23293 $elm$core$Maybe$map2, 23294 F2( 23295 function (state_, chapterInit) { 23296 return chapterInit(state_); 23297 }), 23298 model.R, 23299 $dtwrks$elm_book$ElmBook$Internal$Chapter$init(chapter)))); 23300 var state = _v4.a; 23301 var cmd = _v4.b; 23302 return _Utils_Tuple2( 23303 _Utils_update( 23304 model, 23305 {M: false, R: state, gy: url}), 23306 $elm$core$Platform$Cmd$batch( 23307 _List_fromArray( 23308 [ 23309 cmd, 23310 A2( 23311 $elm$core$Task$attempt, 23312 function (_v5) { 23313 return $dtwrks$elm_book$ElmBook$Internal$Msg$DoNothing; 23314 }, 23315 A3($elm$browser$Browser$Dom$setViewportOf, 'elm-book-main', 0, 0
23315)) 23316 ]))); 23317 } else { 23318 return _Utils_Tuple2( 23319 _Utils_update( 23320 model, 23321 {M: false, gy: url}), 23322 A2( 23323 $elm$browser$Browser$Navigation$replaceUrl, 23324 model.aM, 23325 hashBasedNavigation_ ? '#/' : '/')); 23326 } 23327 } 23328 case 5: 23329 var darkMode = !model.az; 23330 return _Utils_Tuple2( 23331 _Utils_update( 23332 model, 23333 { 23334 az: darkMode, 23335 R: A2( 23336 $elm$core$Maybe$map, 23337 config.eW.eE(darkMode), 23338 model.R) 23339 }), 23340 $elm$core$Platform$Cmd$none); 23341 case 3: 23342 var fn = msg.a; 23343 return A2( 23344 $elm$core$Maybe$withDefault, 23345 _Utils_Tuple2(model, $elm$core$Platform$Cmd$none), 23346 A2( 23347 $elm$core$Maybe$map, 23348 $elm$core$Tuple$mapFirst( 23349 function (s) { 23350 return _Utils_update( 23351 model, 23352 { 23353 R: $elm$core$Maybe$Just(s) 23354 }); 23355 }), 23356 A2($elm$core$Maybe$map, fn, model.R))); 23357 case 4: 23358 var context = msg.a; 23359 var action = msg.b; 23360 return A2(logAction_, context, action); 23361 case 6: 23362 return _Utils_Tuple2( 23363 _Utils_update( 23364 model, 23365 {a$: true}), 23366 $elm$core$Platform$Cmd$none); 23367 case 7: 23368 return _Utils_Tuple2( 23369 _Utils_update( 23370 model, 23371 {a$: false}), 23372 $elm$core$Platform$Cmd$none); 23373 case 8: 23374 return _Utils_Tuple2( 23375 _Utils_update( 23376 model, 23377 {J: 0, bc: true}), 23378 $elm$core$Platform$Cmd$none); 23379 case 9: 23380 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 23381 case 10: 23382 var value = msg.a; 23383 return _Utils_Tuple2( 23384 _Utils_update( 23385 model, 23386 {J: 0, aT: value}), 23387 $elm$core$Platform$Cmd$none); 23388 case 11: 23389 return _Utils_Tuple2( 23390 _Utils_update( 23391 model, 23392 {M: !model.M}), 23393 $elm$core$Platform$Cmd$none); 23394 case 12: 23395 return _Utils_Tuple2( 23396 _Utils_update( 23397 model, 23398 {J: model.J + 1}), 23399 $elm$core$Platform$Cmd$none); 23400 case 13: 23401 return _Utils_Tuple2( 23402 _Utils_update( 23403 model, 23404 {J: model.J - 1}), 23405 $elm$core$Platform$Cmd$none); 23406 case 14: 23407 return _Utils_Tuple2( 23408 _Utils_update( 23409 model, 23410 {b5: true}), 23411 $elm$core$Platform$Cmd$none); 23412 case 15: 23413 return _Utils_Tuple2( 23414 _Utils_update( 23415 model, 23416 {b5: false}), 23417 $elm$core$Platform$Cmd$none); 23418 case 16: 23419 return _Utils_Tuple2( 23420 _Utils_update( 23421 model, 23422 {bb: true}), 23423 $elm$core$Platform$Cmd$none); 23424 case 17: 23425 return _Utils_Tuple2( 23426 _Utils_update( 23427 model, 23428 {bb: false}), 23429 $elm$core$Platform$Cmd$none); 23430 case 19: 23431 return model.bb ? _Utils_Tuple2( 23432 model, 23433 A2( 23434 $elm$core$Task$attempt, 23435 function (_v6) { 23436 return $dtwrks$elm_book$ElmBook$Internal$Msg$DoNothing; 23437 }, 23438 $elm$browser$Browser$Dom$focus('elm-book-search'))) : _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 23439 case 18: 23440 if (!model.bc) { 23441 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 23442 } else { 23443 var filteredChapters = A2($dtwrks$elm_book$ElmBook$Internal$Application$searchChapter
23443s, model.aT, config.aw); 23444 var targetChapter = $elm$core$Array$isEmpty(filteredChapters) ? $elm$core$Maybe$Nothing : A2( 23445 $elm$core$Array$get, 23446 A2( 23447 $elm$core$Basics$modBy, 23448 $elm$core$Array$length(filteredChapters), 23449 model.J), 23450 filteredChapters); 23451 if (!targetChapter.$) { 23452 var chapter_ = targetChapter.a; 23453 return $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterInternal(chapter_) ? _Utils_Tuple2( 23454 model, 23455 A2( 23456 $elm$browser$Browser$Navigation$pushUrl, 23457 model.aM, 23458 A2($dtwrks$elm_book$ElmBook$Internal$Chapter$chapterNavUrl, hashBasedNavigation_, chapter_))) : _Utils_Tuple2( 23459 model, 23460 $elm$browser$Browser$Navigation$load( 23461 $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterUrl(chapter_))); 23462 } else { 23463 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 23464 } 23465 } 23466 case 20: 23467 var startColor = msg.a; 23468 var endColor = msg.b; 23469 return A2( 23470 $dtwrks$elm_book$ElmBook$Internal$Application$updateThemeOverrides, 23471 model, 23472 function (t) { 23473 return _Utils_update( 23474 t, 23475 { 23476 bF: $elm$core$Maybe$Just('linear-gradient(150deg, ' + (startColor + (' 0%, ' + (endColor + ' 100%)')))) 23477 }); 23478 }); 23479 case 21: 23480 var background = msg.a; 23481 return A2( 23482 $dtwrks$elm_book$ElmBook$Internal$Application$updateThemeOverrides, 23483 model, 23484 function (t) { 23485 return _Utils_update( 23486 t, 23487 { 23488 bF: $elm$core$Maybe$Just(background) 23489 }); 23490 }); 23491 case 22: 23492 var accent = msg.a; 23493 return A2( 23494 $dtwrks$elm_book$ElmBook$Internal$Application$updateThemeOverrides, 23495 model, 23496 function (t) { 23497 return _Utils_update( 23498 t, 23499 { 23500 e9: $elm$core$Maybe$Just(accent) 23501 }); 23502 }); 23503 case 23: 23504 var navBackground = msg.a; 23505 return A2( 23506 $dtwrks$elm_book$ElmBook$Internal$Application$updateThemeOverrides, 23507 model, 23508 function (t) { 23509 return _Utils_update( 23510 t, 23511 { 23512 f0: $elm$core$Maybe$Just(navBackground) 23513 }); 23514 }); 23515 case 24: 23516 var navAccent = msg.a; 23517 return A2( 23518 $dtwrks$elm_book$ElmBook$Internal$Application$updateThemeOverrides, 23519 model, 23520 function (t) { 23521 return _Utils_update( 23522 t, 23523 { 23524 f_: $elm$core$Maybe$Just(navAccent) 23525 }); 23526 }); 23527 case 25: 23528 var navAccentHighlight = msg.a; 23529 return A2( 23530 $dtwrks$elm_book$ElmBook$Internal$Application$updateThemeOverrides, 23531 model, 23532 function (t) { 23533 return _Utils_update( 23534 t, 23535 { 23536 f$: $elm$core$Maybe$Just(navAccentHighlight) 23537 }); 23538 }); 23539 default: 23540 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); 23541 } 23542 }); 23543var $dtwrks$elm_book$ElmBook$Internal$Msg$ActionLogHide = {$: 7}; 23544var $dtwrks$elm_book$ElmBook$Internal$Msg$ActionLogShow = {$: 6}; 23545var $dtwrks$elm_book$ElmBook$Internal$Msg$Search = function (a) { 23546 return {$: 10, a: a}; 23547}; 23548var $dtwrks$elm_book$ElmBook$Internal$Msg$SearchBlur = {$: 9}; 23549var $dtwrks$elm_book$ElmBook$Internal$Msg$SearchFocus = {$: 8}; 23550var $dtwrks$elm_book$ElmBook$Internal$Msg$ToggleDarkMode = {$: 5}; 23551var $dtwrks$elm_book$ElmBook$Internal$Msg$ToggleMenu = {$: 11}; 23552var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$applyOverrides = F2( 23553 function (theme, overrides) { 23554 return _Utils_update( 23555 theme, 23556 { 23557 e9: A2($elm$core$Maybe$withDefault, theme.e9, overrides.e9), 23558 bF: A2($elm$core$Maybe$withDefault, theme.bF, overrides.bF), 23559 f_: A2($elm$core$Maybe$withDefault, theme.f_, overrides.f_), 23560 f$: A2($elm$core$Maybe$withDefault, theme.f$, overrides.f$), 23561 f0: A2($elm$core$Maybe$withDefault, theme.f0, overrides.f0) 23562 }); 23563 }); 23564var $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterBreadcrumb = function (_v0) { 23565 var chapter = _v0; 23566 return function (t) { 23567 return _Utils_ap(t, chapter.gt); 23568 }( 23569 A2( 23570 $elm$core$Maybe$withDefault, 23571 '', 23572 A2( 23573 $elm$core$Maybe$map, 23574 function (t) { 23575 return t + ' / '; 23576 }, 23577 chapter.ef))); 23578}; 23579var $dtwrks$elm_book$ElmBook$Internal$Application$componentView = F3( 23580 function (toHtml, state_, componentView_) { 23581 if (!componentView_.$) { 23582 var html = componentView_.a; 23583 return toHtml(html); 23584 } else { 23585 var html = componentView_.a; 23586 return A2( 23587 $elm$core$Maybe$withDefault, 23588 $elm$html$Html$text(''), 23589 A2( 23590 $elm$core$Maybe$map, 23591 A2($elm$core$Basics$composeL, toHtml, html), 23592 state_)); 23593 } 23594 }); 23595var $dtwrks$elm_book$ElmBook$UI$ActionLog$item = F2( 23596 function (index, _v0) { 23597 var preffix = _v0.a; 23598 var label = _v0.b; 23599 return A2( 23600 $elm$html$Html$div, 23601 _List_fromArray( 23602 [ 23603 $elm$html$Html$Attributes$class('elm-book-wrapper elm-book-action-log-item-wrapper elm-book-monospace') 23604 ]), 23605 _List_fromArray( 23606 [ 23607 A2( 23608 $elm$html$Html$p, 23609 _List_fromArray( 23610 [ 23611 $elm$html$Html$Attributes$class('elm-book-action-log-item-index') 23612 ]), 23613 _List_fromArray( 23614 [ 23615 $elm$html$Html$text( 23616 '(' + ($elm$core$String$fromInt(index + 1) + ')')) 23617 ])), 23618 A2( 23619 $elm$html$Html$div, 23620 _List_fromArray( 23621 [ 23622 $elm$html$Html$Attributes$class('elm-book-action-log__main') 23623 ]), 23624 _List_fromArray( 23625 [ 23626 A2( 23627 $elm$html$Html$p, 23628 _List_fromArray( 23629 [ 23630 $elm$html$Html$Attributes$class('elm-book-action-log-item-preffix') 23631 ]), 23632 _List_fromArray( 23633 [ 23634 $elm$html$Html$text(preffix) 23635 ])), 23636 A2( 23637 $elm$html$Html$p, 23638 _List_fromArray( 23639 [ 23640 $elm$html$Html$Attributes$class('elm-book-action-log-item-label') 23641 ]), 23642 _List_fromArray( 23643 [ 23644 $elm$html$Html$text(label) 23645 ])) 23646 ])) 23647 ])); 23648 });
23649var $dtwrks$elm_book$ElmBook$UI$Helpers$themeBackgroundVar = '--elm-book-background'; 23650var $dtwrks$elm_book$ElmBook$UI$Helpers$var_ = function (v) { 23651 return 'var(' + (v + ')'); 23652}; 23653var $dtwrks$elm_book$ElmBook$UI$Helpers$themeBackground = $dtwrks$elm_book$ElmBook$UI$Helpers$var_($dtwrks$elm_book$ElmBook$UI$Helpers$themeBackgroundVar); 23654var $dtwrks$elm_book$ElmBook$UI$ActionLog$list = function (props) { 23655 return A2( 23656 $elm$html$Html$div, 23657 _List_fromArray( 23658 [ 23659 $elm$html$Html$Attributes$class('elm-book elm-book-action-log-list-wrapper') 23660 ]), 23661 _List_fromArray( 23662 [ 23663 A2( 23664 $elm$html$Html$p, 23665 _List_fromArray( 23666 [ 23667 $elm$html$Html$Attributes$class('elm-book elm-book-action-log-list-header elm-book-sans'), 23668 A2($elm$html$Html$Attributes$style, 'background', $dtwrks$elm_book$ElmBook$UI$Helpers$themeBackground) 23669 ]), 23670 _List_fromArray( 23671 [ 23672 $elm$html$Html$text('Action log') 23673 ])), 23674 A2( 23675 $elm$html$Html$ul, 23676 _List_fromArray( 23677 [ 23678 $elm$html$Html$Attributes$class('elm-book elm-book-action-log-list') 23679 ]), 23680 A2( 23681 $elm$core$List$map, 23682 function (item_) { 23683 return A2( 23684 $elm$html$Html$li, 23685 _List_fromArray( 23686 [ 23687 $elm$html$Html$Attributes$class('elm-book elm-book-action-log-list-item') 23688 ]), 23689 _List_fromArray( 23690 [item_])); 23691 }, 23692 $elm$core$List$reverse( 23693 A2($elm$core$List$indexedMap, $dtwrks$elm_book$ElmBook$UI$ActionLog$item, props)))) 23694 ])); 23695}; 23696var $elm$core$List$any = F2( 23697 function (isOkay, list) { 23698 any: 23699 while (true) { 23700 if (!list.b) { 23701 return false; 23702 } else { 23703 var x = list.a; 23704 var xs = list.b; 23705 if (isOkay(x)) { 23706 return true; 23707 } else { 23708 var $temp$isOkay = isOkay, 23709 $temp$list = xs; 23710 isOkay = $temp$isOkay; 23711 list = $temp$list; 23712 continue any; 23713 } 23714 } 23715 } 23716 }); 23717var $elm$core$List$member = F2( 23718 function (x, xs) { 23719 return A2( 23720 $elm$core$List$any, 23721 function (a) { 23722 return _Utils_eq(a, x); 23723 }, 23724 xs); 23725 }); 23726var $dtwrks$elm_book$ElmBook$UI$ActionLog$preview = function (props) { 23727 return A2( 23728 $elm$html$Html$div, 23729 _List_fromArray( 23730 [ 23731 $elm$html$Html$Attributes$class('elm-book-action-log-preview-wrapper') 23732 ]), 23733 _List_fromArray( 23734 [ 23735 A2( 23736 $elm$html$Html$button, 23737 _List_fromArray( 23738 [ 23739 $elm$html$Html$Attributes$class('elm-book-action-log-preview'), 23740 $elm$html$Html$Events$onClick(props.s) 23741 ]), 23742 _List_fromArray( 23743 [ 23744 A2($dtwrks$elm_book$ElmBook$UI$ActionLog$item, props.fM, props.fL) 23745 ])) 23746 ])); 23747}; 23748var $dtwrks$elm_book$ElmBook$UI$ActionLog$previewEmpty = A2( 23749 $elm$html$Html$div, 23750 _List_fromArray( 23751 [ 23752 $elm$html$Html$Attributes$class('elm-book-monospace elm-book-action-log-preview-empty-wrapper') 23753 ]), 23754 _List_fromArray( 23755 [ 23756 A2( 23757 $elm$html$Html$div, 23758 _List_fromArray( 23759 [ 23760 $elm$html$Html$Attributes$class('elm-book-action-log-preview-empty') 23761 ]), 23762 _List_fromArray( 23763 [ 23764 $elm$html$Html$text('Your logged actions will appear here.') 23765 ])) 23766 ])); 23767var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$subtitle = function (theme) { 23768 return theme.dJ; 23769}; 23770var $dtwrks$elm_book$ElmBook$Internal$Chapter$toValidOptions = F2( 23771 function (valid, _v0) { 23772 var options = _v0; 23773 return { 23774 fD: A2($elm$core$Maybe$withDefault, valid.fD, options.fD) 23775 }; 23776 }); 23777var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$toValidOptions = F2( 23778 function (validSettings, _v0) { 23779 var settings = _v0; 23780 return { 23781 bF: A2($elm$core$Maybe$withDefault, validSettings.bF, settings.bF), 23782 c2: A2($elm$core$Maybe$withDefault, validSettings.c2, settings.c2), 23783 fw: A2($elm$core$Maybe$withDefault, validSettings.fw, settings.fw), 23784 fC: A2($elm$core$Maybe$withDefault, validSettings.fC, settings.fC) 23785 }; 23786 }); 23787var $elm$html$Html$article = _VirtualDom_node('article'); 23788var $elm$core$Result$andThen = F2( 23789 function (callback, result) { 23790 if (!result.$) { 23791 var value = result.a; 23792 return callback(value); 23793 } else { 23794 var msg = result.a; 23795 return $elm$core$Result$Err(msg); 23796 } 23797 }); 23798var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$Inline = 1; 23799var $elm$html$Html$Attributes$align = $elm$html$Html$Attributes$stringProperty('align'); 23800var $elm$html$Html$Attributes$alt = $elm$html$Html$Attributes$stringProperty('alt'); 23801var $elm$html$Html$blockquote = _VirtualDom_node('blockquote'); 23802var $elm$html$Html$br = _VirtualDom_node('br'); 23803var $elm$html$Html$code = _VirtualDom_node('code'); 23804var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$HCode = $elm$core$Basics$identity; 23805var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Style1 = 2; 23806var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Style2 = 3; 23807var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Style3 = 4; 23808var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Style4 = 5; 23809var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Style5 = 6; 23810var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleToFragment = function (a) { 23811 switch (a) { 23812 case 0: 23813 return _Utils_Tuple2(4, 'css-ar-i'); 23814 case 1: 23815 return _Utils_Tuple2(6, 'css-ar-p'); 23816 case 2: 23817 return _Utils_Tuple2(4, 'css-ar-k'); 23818 default: 23819 return _Utils_Tuple2(5, 'css-ar-v'); 23820 } 23821}; 23822var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Default = 0; 23823var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Style7 = 8; 23824var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeSelectorToFragment = function (att) { 23825 switch (att) { 23826 case 0: 23827 return _Utils_Tuple2(6, 'css-s-a-an'); 23828 case 1: 23829 return _Utils_Tuple2(3, 'css-s-a-av'); 23830 default: 23831 return _Utils_Tuple2(4, 'css-s-a-o'); 23832 } 23833}; 23834var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$selectorToFragment = function (s) { 23835 switch (s.$) { 23836 case 0: 23837 return _Utils_Tuple2(4, 'css-s-e'); 23838 case 1: 23839 return _Utils_Tuple2(6, 'css-s-i'); 23840 case 2: 23841 return _Utils_Tuple2(6, 'css-s-cl'); 23842 case 3: 23843 return _Utils_Tuple2(8, 'css-s-c'); 23844 case 4: 23845 return _Utils_Tuple2(4, 'css-s-u'); 23846 case 5: 23847 var att = s.a; 23848 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeSelectorToFragment(att);
23849 case 6: 23850 return _Utils_Tuple2(0, 'css-s-pe'); 23851 default: 23852 return _Utils_Tuple2(0, 'css-s-pc'); 23853 } 23854}; 23855var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$syntaxToStyle = function (syntax) { 23856 switch (syntax.$) { 23857 case 0: 23858 return _Utils_Tuple2(3, 'css-s'); 23859 case 1: 23860 var a = syntax.a; 23861 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleToFragment(a); 23862 case 2: 23863 var s = syntax.a; 23864 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$selectorToFragment(s); 23865 case 3: 23866 return _Utils_Tuple2(5, 'css-p'); 23867 case 4: 23868 return _Utils_Tuple2(5, 'css-pv'); 23869 case 5: 23870 return _Utils_Tuple2(2, 'css-n'); 23871 default: 23872 return _Utils_Tuple2(4, 'css-u'); 23873 } 23874}; 23875var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$newLine = function (fragments) { 23876 return {fu: fragments, b_: $elm$core$Maybe$Nothing}; 23877}; 23878var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak = {$: 2}; 23879var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Comment = 1; 23880var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toFragment = F2( 23881 function (toStyle, _v0) { 23882 var syntax = _v0.a; 23883 var text = _v0.b; 23884 switch (syntax.$) { 23885 case 0: 23886 return {fa: '', gi: 0, j: text}; 23887 case 1: 23888 return {fa: '', gi: 1, j: text}; 23889 case 2: 23890 return {fa: '', gi: 0, j: text}; 23891 default: 23892 var c = syntax.a; 23893 var _v2 = toStyle(c); 23894 var requiredStyle = _v2.a; 23895 var additionalClass = _v2.b; 23896 return {fa: additionalClass, gi: requiredStyle, j: text}; 23897 } 23898 }); 23899var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLinesHelp = F3( 23900 function (toStyle, _v0, _v1) { 23901 var syntax = _v0.a; 23902 var text = _v0.b; 23903 var lines = _v1.a; 23904 var fragments = _v1.b; 23905 var maybeLastSyntax = _v1.c; 23906 if (_Utils_eq(syntax, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak)) { 23907 return _Utils_Tuple3( 23908 A2( 23909 $elm$core$List$cons, 23910 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$newLine(fragments), 23911 lines), 23912 _List_fromArray( 23913 [ 23914 A2( 23915 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toFragment, 23916 toStyle, 23917 _Utils_Tuple2(syntax, text)) 23918 ]), 23919 $elm$core$Maybe$Nothing); 23920 } else { 23921 if (_Utils_eq( 23922 $elm$core$Maybe$Just(syntax), 23923 maybeLastSyntax)) { 23924 if (fragments.b) { 23925 var headFrag = fragments.a; 23926 var tailFrags = fragments.b; 23927 return _Utils_Tuple3( 23928 lines, 23929 A2( 23930 $elm$core$List$cons, 23931 _Utils_update( 23932 headFrag, 23933 { 23934 j: _Utils_ap(text, headFrag.j) 23935 }), 23936 tailFrags), 23937 maybeLastSyntax); 23938 } else { 23939 return _Utils_Tuple3( 23940 lines, 23941 A2( 23942 $elm$core$List$cons, 23943 A2( 23944 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toFragment, 23945 toStyle, 23946 _Utils_Tuple2(syntax, text)), 23947 fragments), 23948 maybeLastSyntax); 23949 } 23950 } else { 23951 return _Utils_Tuple3( 23952 lines, 23953 A2( 23954 $elm$core$List$cons, 23955 A2( 23956 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toFragment, 23957 toStyle, 23958 _Utils_Tuple2(syntax, text)), 23959 fragments), 23960 $elm$core$Maybe$Just(syntax)); 23961 } 23962 } 23963 }); 23964var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLines = F2( 23965 function (toStyle, revTokens) { 23966 return function (_v0) { 23967 var lines = _v0.a; 23968 var frags = _v0.b; 23969 return A2( 23970 $elm$core$List$cons, 23971 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$newLine(frags), 23972 lines); 23973 }( 23974 A3( 23975 $elm$core$List$foldl, 23976 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLinesHelp(toStyle), 23977 _Utils_Tuple3(_List_Nil, _List_Nil, $elm$core$Maybe$Nothing), 23978 revTokens)); 23979 }); 23980var $elm$parser$Parser$Advanced$loopHelp = F4( 23981 function (p, state, callback, s0) { 23982 loopHelp: 23983 while (true) { 23984 var _v0 = callback(state); 23985 var parse = _v0; 23986 var _v1 = parse(s0); 23987 if (!_v1.$) { 23988 var p1 = _v1.a; 23989 var step = _v1.b; 23990 var s1 = _v1.c; 23991 if (!step.$) { 23992 var newState = step.a; 23993 var $temp$p = p || p1, 23994 $temp$state = newState, 23995 $temp$callback = callback, 23996 $temp$s0 = s1; 23997 p = $temp$p; 23998 state = $temp$state; 23999 callback = $temp$callback; 24000 s0 = $temp$s0; 24001 continue loopHelp; 24002 } else { 24003 var result = step.a; 24004 return A3($elm$parser$Parser$Advanced$Good, p || p1, result, s1); 24005 } 24006 } else { 24007 var p1 = _v1.a; 24008 var x = _v1.b; 24009 return A2($elm$parser$Parser$Advanced$Bad, p || p1, x); 24010 } 24011 } 24012 }); 24013var $elm$parser$Parser$Advanced$loop = F2( 24014 function (state, callback) { 24015 return function (s) { 24016 return A4($elm$parser$Parser$Advanced$loopHelp, false, state, callback, s); 24017 }; 24018 }); 24019var $elm$parser$Parser$Advanced$Done = function (a) { 24020 return {$: 1, a: a}; 24021}; 24022var $elm$parser$Parser$Advanced$Loop = function (a) { 24023 return {$: 0, a: a}; 24024}; 24025var $elm$parser$Parser$toAdvancedStep = function (step) { 24026 if (!step.$) { 24027 var s = step.a; 24028 return $elm$parser$Parser$Advanced$Loop(s); 24029 } else { 24030 var a = step.a; 24031 return $elm$parser$Parser$Advanced$Done(a); 24032 } 24033}; 24034var $elm$parser$Parser$loop = F2( 24035 function (state, callback) { 24036 return A2( 24037 $elm$parser$Parser$Advanced$loop, 24038 state, 24039 function (s) { 24040 return A2( 24041 $elm$parser$Parser$map, 24042 $elm$parser$Parser$toAdvancedStep, 24043 callback(s)); 24044 }); 24045 }); 24046var $elm$parser$Parser$Done = function (a) { 24047 return {$: 1, a: a}; 24048}; 24049var $elm$parser$Parser$Loop = function (a) { 24050 return {$: 0, a: a}; 24051}; 24052var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal = {$: 0}; 24053var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule = function (a) { 24054 return {$: 1, a: a}; 24055}; 24056var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C = function (a) { 24057 return {$: 3, a: a}; 24058}; 24059var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Identifier = 0; 24060var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Prefix = 1; 24061var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$String = {$: 0}; 24062var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRuleValue = 3; 24063var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Keyword = 2; 24064var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile = function (isNotRelevant) { 24065 return A2( 24066 $elm$parser$Parser$ignorer, 24067 A2( 24068 $elm$parser$Parser$ignorer, 24069 $elm$parser$Parser$succeed(0), 24070 $elm$parser$Parser$chompIf(isNotRelevant)), 24071 $elm$parser$Parser$chompWhile(isNotRelevant)); 24072}; 24073var $elm$core$Set$Set_elm_builtin = $elm$core$Basics$identity; 24074var $elm$core$Set$empty = $elm$core$Dict$empty; 24075var $elm$core$Set$insert = F2( 24076 function (key, _v0) { 24077 var dict = _v0; 24078 return A3($elm$core$Dict$insert, key, 0, dict); 24079 }); 24080var $elm$core$Set$fromList = function (list) { 24081 return A3($elm$core$List$foldl, $elm$core$Set$insert, $elm$core$Set$empty, list); 24082}; 24083var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleKeywordSet = $elm$core$Set$fromList( 24084 _List_fromArray( 24085 ['and', 'or', 'not', 'only'])); 24086var $elm$core$Dict$member = F2( 24087 function (key, dict) { 24088 var _v0 = A2($elm$core$Dict$get, key, dict); 24089 if (!_v0.$) { 24090 return true; 24091 } else { 24092 return false;
24093 } 24094 }); 24095var $elm$core$Set$member = F2( 24096 function (key, _v0) { 24097 var dict = _v0; 24098 return A2($elm$core$Dict$member, key, dict); 24099 }); 24100var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isAtRuleKeyword = function (n) { 24101 return A2($elm$core$Set$member, n, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleKeywordSet); 24102}; 24103var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isCommentChar = function (c) { 24104 return c === '/'; 24105}; 24106var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak = function (c) { 24107 return c === '\n'; 24108}; 24109var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isSpace = function (c) { 24110 return (c === ' ') || (c === '\t'); 24111}; 24112var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace = function (c) { 24113 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isSpace(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c); 24114}; 24115var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$selectorNameInvalidCharSet = $elm$core$Set$fromList( 24116 _List_fromArray( 24117 [':', '{', '}', ',', '.', '#', '>', '+', '~', '*', '[', ']', '|', ';', '(', ')'])); 24118var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar = function (c) { 24119 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isCommentChar(c) || A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$selectorNameInvalidCharSet))); 24120}; 24121var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleKeywordOrValue = function (revTokens) { 24122 return A2( 24123 $elm$parser$Parser$map, 24124 function (n) { 24125 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isAtRuleKeyword(n) ? A2( 24126 $elm$core$List$cons, 24127 _Utils_Tuple2( 24128 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24129 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(2)), 24130 n), 24131 revTokens) : A2( 24132 $elm$core$List$cons, 24133 _Utils_Tuple2( 24134 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24135 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(3)), 24136 n), 24137 revTokens); 24138 }, 24139 $elm$parser$Parser$getChompedString( 24140 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar))); 24141}; 24142var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleSet = $elm$core$Set$fromList( 24143 _List_fromArray( 24144 ['@page', '@font-face', '@swash', '@annotation', '@ornaments', '@stylistic', '@styleset', '@character-variant'])); 24145var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Comment = {$: 1}; 24146var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$addThen = F3( 24147 function (f, list, plist) { 24148 return A2( 24149 $elm$parser$Parser$andThen, 24150 function (n) { 24151 return f( 24152 _Utils_ap(n, list)); 24153 }, 24154 plist); 24155 }); 24156var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$consThen = F3( 24157 function (f, list, pn) { 24158 return A2( 24159 $elm$parser$Parser$andThen, 24160 function (n) { 24161 return f( 24162 A2($elm$core$List$cons, n, list)); 24163 }, 24164 pn); 24165 }); 24166var $elm$parser$Parser$ExpectingSymbol = function (a) { 24167 return {$: 8, a: a}; 24168}; 24169var $elm$parser$Parser$Advanced$symbol = $elm$parser$Parser$Advanced$token; 24170var $elm$parser$Parser$symbol = function (str) { 24171 return $elm$parser$Parser$Advanced$symbol( 24172 A2( 24173 $elm$parser$Parser$Advanced$Token, 24174 str, 24175 $elm$parser$Parser$ExpectingSymbol(str))); 24176}; 24177var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile = F2( 24178 function (isNotRelevant, previousParser) { 24179 return A2( 24180 $elm$parser$Parser$ignorer, 24181 previousParser, 24182 $elm$parser$Parser$chompWhile(isNotRelevant)); 24183 }); 24184var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedUnne
24184stable = F2( 24185 function (options, revAList) { 24186 var defaultMap = options.d9; 24187 var isNotRelevant = options.et; 24188 var end = options.g; 24189 var innerParsers = options.em; 24190 return $elm$parser$Parser$oneOf( 24191 _List_fromArray( 24192 [ 24193 A2( 24194 $elm$parser$Parser$map, 24195 $elm$core$Basics$always( 24196 A2( 24197 $elm$core$List$cons, 24198 defaultMap(end), 24199 revAList)), 24200 $elm$parser$Parser$symbol(end)), 24201 A2( 24202 $elm$parser$Parser$map, 24203 $elm$core$Basics$always(revAList), 24204 $elm$parser$Parser$end), 24205 A3( 24206 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$addThen, 24207 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedUnnestable(options), 24208 revAList, 24209 $elm$parser$Parser$oneOf(innerParsers)), 24210 A3( 24211 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$consThen, 24212 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedUnnestable(options), 24213 revAList, 24214 A2( 24215 $elm$parser$Parser$map, 24216 defaultMap, 24217 $elm$parser$Parser$getChompedString( 24218 A2( 24219 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 24220 isNotRelevant, 24221 $elm$parser$Parser$chompIf( 24222 $elm$core$Basics$always(true)))))) 24223 ])); 24224 }); 24225var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedNestable = F3( 24226 function (nestLevel, options, revAList) { 24227 var defaultMap = options.d9; 24228 var isNotRelevant = options.et; 24229 var start = options.i; 24230 var end = options.g; 24231 var innerParsers = options.em; 24232 return $elm$parser$Parser$oneOf( 24233 _List_fromArray( 24234 [ 24235 A2( 24236 $elm$parser$Parser$andThen, 24237 function (n) { 24238 return (nestLevel === 1) ? $elm$parser$Parser$succeed(n) : A3($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedNestable, nestLevel - 1, options, n); 24239 }, 24240 A2( 24241 $elm$parser$Parser$map, 24242 $elm$core$Basics$always( 24243 A2( 24244 $elm$core$List$cons, 24245 defaultMap(end), 24246 revAList)), 24247 $elm$parser$Parser$symbol(end))), 24248 A3( 24249 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$consThen, 24250 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedNestable, nestLevel + 1, options), 24251 revAList, 24252 A2( 24253 $elm$parser$Parser$map, 24254 defaultMap, 24255 $elm$parser$Parser$getChompedString( 24256 A2( 24257 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 24258 isNotRelevant, 24259 $elm$parser$Parser$symbol(start))))), 24260 A3( 24261 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$addThen, 24262 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedUnne
24262stable(options), 24263 revAList, 24264 $elm$parser$Parser$oneOf(innerParsers)), 24265 A2( 24266 $elm$parser$Parser$map, 24267 $elm$core$Basics$always(revAList), 24268 $elm$parser$Parser$end), 24269 A3( 24270 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$consThen, 24271 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedNestable, nestLevel, options), 24272 revAList, 24273 A2( 24274 $elm$parser$Parser$map, 24275 defaultMap, 24276 $elm$parser$Parser$getChompedString( 24277 A2( 24278 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 24279 isNotRelevant, 24280 $elm$parser$Parser$chompIf( 24281 $elm$core$Basics$always(true)))))) 24282 ])); 24283 }); 24284var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedHelp = F2( 24285 function (options, revAList) { 24286 var start = options.i; 24287 var end = options.g; 24288 var isNotRelevant = options.et; 24289 var _v0 = _Utils_Tuple2( 24290 $elm$core$String$uncons(options.i), 24291 $elm$core$String$uncons(options.g)); 24292 if (_v0.a.$ === 1) { 24293 var _v1 = _v0.a; 24294 return $elm$parser$Parser$problem('Trying to parse a delimited helper, but the start token cannot be an empty string!'); 24295 } else { 24296 if (_v0.b.$ === 1) { 24297 var _v2 = _v0.b; 24298 return $elm$parser$Parser$problem('Trying to parse a delimited helper, but the end token cannot be an empty string!'); 24299 } else { 24300 var _v3 = _v0.a.a; 24301 var startChar = _v3.a; 24302 var _v4 = _v0.b.a; 24303 var endChar = _v4.a; 24304 return options.es ? A3( 24305 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedNestable, 24306 1, 24307 _Utils_update( 24308 options, 24309 { 24310 et: function (c) { 24311 return isNotRelevant(c) && ((!_Utils_eq(c, startChar)) && (!_Utils_eq(c, endChar))); 24312 } 24313 }), 24314 revAList) : A2( 24315 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedUnne
24315stable, 24316 _Utils_update( 24317 options, 24318 { 24319 et: function (c) { 24320 return isNotRelevant(c) && (!_Utils_eq(c, endChar)); 24321 } 24322 }), 24323 revAList); 24324 } 24325 } 24326 }); 24327var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited = function (options) { 24328 var start = options.i; 24329 var isNotRelevant = options.et; 24330 var defaultMap = options.d9; 24331 return A2( 24332 $elm$parser$Parser$andThen, 24333 function (n) { 24334 return A2( 24335 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimitedHelp, 24336 options, 24337 _List_fromArray( 24338 [n])); 24339 }, 24340 A2( 24341 $elm$parser$Parser$map, 24342 $elm$core$Basics$always( 24343 defaultMap(start)), 24344 $elm$parser$Parser$symbol(start))); 24345}; 24346var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$lineBreak = A2( 24347 $elm$parser$Parser$map, 24348 function (_v0) { 24349 return _List_fromArray( 24350 [ 24351 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak, '\n') 24352 ]); 24353 }, 24354 $elm$parser$Parser$symbol('\n')); 24355var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$comment = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 24356 { 24357 d9: function (b) { 24358 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Comment, b); 24359 }, 24360 g: '*/', 24361 em: _List_fromArray( 24362 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$lineBreak]), 24363 es: false, 24364 et: function (c) { 24365 return !$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c); 24366 }, 24367 i: '/*' 24368 }); 24369var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep = function (revTokens) { 24370 return $elm$parser$Parser$oneOf( 24371 _List_fromArray( 24372 [ 24373 A2( 24374 $elm$parser$Parser$map, 24375 function (b) { 24376 return $elm$parser$Parser$Loop( 24377 A2( 24378 $elm$core$List$cons, 24379 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24380 revTokens)); 24381 }, 24382 $elm$parser$Parser$getChompedString( 24383 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isSpace))), 24384 A2( 24385 $elm$parser$Parser$map, 24386 function (ns) { 24387 return $elm$parser$Parser$Loop( 24388 _Utils_ap(ns, revTokens)); 24389 }, 24390 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$lineBreak), 24391 A2( 24392 $elm$parser$Parser$map, 24393 function (ns) { 24394 return $elm$parser$Parser$Loop( 24395 _Utils_ap(ns, revTokens)); 24396 }, 24397 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$comment) 24398 ])); 24399}; 24400var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$keyframesOrCounterStyle = function (a) { 24401 return A2( 24402 $elm$parser$Parser$loop, 24403 _List_fromArray( 24404 [ 24405 _Utils_Tuple2( 24406 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24407 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(0)), 24408 a) 24409 ]), 24410 function (ns) { 24411 return $elm$parser$Parser$oneOf( 24412 _List_fromArray( 24413 [ 24414 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(ns), 24415 A2( 24416 $elm$parser$Parser$map, 24417 function (b) { 24418 return $elm$parser$Parser$Loop( 24419 A2( 24420 $elm$core$List$cons, 24421 _Utils_Tuple2( 24422 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24423 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(1)), 24424 b), 24425 ns)); 24426 }, 24427 $elm$parser$Parser$getChompedString( 24428 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar))), 24429 A2( 24430 $elm$parser$Parser$map, 24431 function (b) { 24432 return $elm$parser$Parser$Loop( 24433 A2( 24434 $elm$core$List$cons, 24435 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24436 ns)); 24437 }, 24438 $elm$parser$Parser$getChompedString( 24439 $elm$parser$Parser$chompIf( 24440 function (c) { 24441 return c !== '{'; 24442 }))), 24443 $elm$parser$Parser$succeed( 24444 $elm$parser$Parser$Done(ns)) 24445 ])); 24446 }); 24447}; 24448var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$nestableAtRuleOpener = function (ns) { 24449 return $elm$parser$Parser$oneOf( 24450 _List_fromArray( 24451 [ 24452 A2( 24453 $elm$parser$Parser$map, 24454 $elm$core$Basics$always( 24455 A2( 24456 $elm$core$List$cons, 24457 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '{'), 24458 ns)), 24459 $elm$parser$Parser$symbol('{')), 24460 $elm$parser$Parser$succeed(ns) 24461 ])); 24462}; 24463var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Number = {$: 5}; 24464var $elm$parser$Parser$Advanced$backtrackable = function (_v0) { 24465 var parse = _v0; 24466 return function (s0) { 24467 var _v1 = parse(s0); 24468 if (_v1.$ === 1) { 24469 var x = _v1.b; 24470 return A2($elm$parser$Parser$Advanced$Bad, false, x); 24471 } else { 24472 var a = _v1.b; 24473 var s1 = _v1.c; 24474 return A3($elm$parser$Parser$Advanced$Good, false, a, s1); 24475 } 24476 }; 24477}; 24478var $elm$parser$Parser$backtrackable = $elm$parser$Parser$Advanced$backtrackable; 24479var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$escapableSet = $elm$core$Set$fromList( 24480 _List_fromArray( 24481 ['\'', '\"', '\\', 'n', 'r', 't', 'b', 'f', 'v'])); 24482var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapableChar = function (c) { 24483 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$escapableSet); 24484}; 24485var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$escapable = A2( 24486 $elm$parser$Parser$ignorer, 24487 A2( 24488 $elm$parser$Parser$ignorer, 24489 $elm$parser$Parser$succeed(0), 24490 $elm$parser$Parser$backtrackable( 24491 $elm$parser$Parser$symbol('\\'))), 24492 $elm$parser$Parser$chompIf($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapableChar)); 24493var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$cssEscapable = A2( 24494 $elm$parser$Parser$map, 24495 function (b) { 24496 return _List_fromArray( 24497 [ 24498 _Utils_Tuple2( 24499 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Number), 24500 b) 24501 ]); 24502 }, 24503 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$escapable)); 24504var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapable = function (c) { 24505 return c === '\\'; 24506}; 24507var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$quoteDelimiter = { 24508 d9: function (b) { 24509 return _Utils_Tuple2( 24510 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$String), 24511 b); 24512 }, 24513 g: '\'', 24514 em: _List_fromArray( 24515 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$lineBreak, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$cssEscapable]), 24516 es: false, 24517 et: function (c) { 24518 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapable(c)); 24519 }, 24520 i: '\'' 24521}; 24522var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$doubleQuote = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 24523 _Utils_update( 24524 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$quoteDelimiter, 24525 {g: '\"', i: '\"'})); 24526var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$quote = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$quoteDelimiter); 24527var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral = function (revTokens) { 24528 return A2( 24529 $elm$parser$Parser$map, 24530 function (n) { 24531 return _Utils_ap(n, revTokens); 24532 }, 24533 $elm$parser$Parser$oneOf( 24534 _List_fromArray( 24535 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$quote, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$doubleQuote]))); 24536}; 24537var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$mediaOrSupports = function (a) { 24538 return A2( 24539 $elm$parser$Parser$andThen, 24540 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$nestableAtRuleOpener, 24541 A2( 24542 $elm$parser$Parser$loop, 24543 _List_fromArray( 24544 [ 24545 _Utils_Tuple2( 24546 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24547 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(0)), 24548 a) 24549 ]), 24550 function (ns) { 24551 return $elm$parser$Parser$oneOf( 24552 _List_fromArray( 24553 [ 24554 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(ns), 24555 A2( 24556 $elm$parser$Parser$map, 24557 $elm$parser$Parser$Loop, 24558 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral(ns)), 24559 A2( 24560 $elm$parser$Parser$map, 24561 $elm$parser$Parser$Loop, 24562 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleKeywordOrValue(ns)), 24563 A2( 24564 $elm$parser$Parser$map, 24565 function (b) { 24566 return $elm$parser$Parser$Loop( 24567 A2( 24568 $elm$core$List$cons, 24569 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24570 ns)); 24571 }, 24572 $elm$parser$Parser$getChompedString( 24573 $elm$parser$Parser$chompIf( 24574 function (c) { 24575 return c !== '{'; 24576 }))), 24577 $elm$parser$Parser$succeed( 24578 $elm$parser$Parser$Done(ns)) 24579 ])); 24580 })); 24581}; 24582var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$PropertyValue = {$: 4}; 24583var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringArg = F2( 24584 function (fnStr, revTokens) { 24585 return A2( 24586 $elm$parser$Parser$andThen, 24587 function (revT_) { 24588 return $elm$parser$Parser$oneOf( 24589 _List_fromArray( 24590 [ 24591 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral(revT_), 24592 A2( 24593 $elm$parser$Parser$map, 24594 function (n) { 24595 return A2( 24596 $elm$core$List$cons, 24597 _Utils_Tuple2( 24598 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$String), 24599 n), 24600 revT_); 24601 }, 24602 $elm$parser$Parser$getChompedString( 24603 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 24604 function (c) { 24605 return c !== ')'; 24606 }))), 24607 $elm$parser$Parser$succeed(revT_) 24608 ])); 24609 }, 24610 A2( 24611 $elm$parser$Parser$map, 24612 $elm$core$Basics$always( 24613 A2( 24614 $elm$core$List$cons, 24615 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '('), 24616 A2( 24617 $elm$core$List$cons, 24618 _Utils_Tuple2( 24619 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$PropertyValue), 24620 fnStr), 24621 revTokens))), 24622 $elm$parser$Parser$symbol(fnStr + '('))); 24623 }); 24624var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleHelper = function (a) { 24625 switch (a) { 24626 case '@import': 24627 return A2( 24628 $elm$parser$Parser$loop, 24629 _List_fromArray( 24630 [ 24631 _Utils_Tuple2( 24632 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24633 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(0)), 24634 a) 24635 ]), 24636 function (ns) { 24637 return $elm$parser$Parser$oneOf( 24638 _List_fromArray( 24639 [ 24640 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(ns), 24641 A2( 24642 $elm$parser$Parser$map, 24643 $elm$parser$Parser$Loop, 24644 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringArg, 'url', ns)), 24645 A2( 24646 $elm$parser$Parser$map, 24647 $elm$parser$Parser$Loop, 24648 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral(ns)), 24649 A2( 24650 $elm$parser$Parser$map, 24651 $elm$parser$Parser$Loop, 24652 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleKeywordOrValue(ns)), 24653 A2( 24654 $elm$parser$Parser$map, 24655 function (b) { 24656 return $elm$parser$Parser$Loop( 24657 A2( 24658 $elm$core$List$cons, 24659 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24660 ns)); 24661 }, 24662 $elm$parser$Parser$getChompedString( 24663 $elm$parser$Parser$chompIf( 24664 function (c) { 24665 return c !== ';'; 24666 }))), 24667 $elm$parser$Parser$succeed( 24668 $elm$parser$Parser$Done(ns)) 24669 ])); 24670 }); 24671 case '@namespace': 24672 return A2( 24673 $elm$parser$Parser$loop, 24674 _List_fromArray( 24675 [ 24676 _Utils_Tuple2( 24677 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24678 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(0)), 24679 a) 24680 ]), 24681 function (ns) { 24682 return $elm$parser$Parser$oneOf( 24683 _List_fromArray( 24684 [ 24685 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(ns), 24686 A2( 24687 $elm$parser$Parser$map, 24688 $elm$parser$Parser$Loop, 24689 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringArg, 'url', ns)), 24690 A2( 24691 $elm$parser$Parser$map, 24692 $elm$parser$Parser$Loop, 24693 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral(ns)), 24694 A2( 24695 $elm$parser$Parser$map, 24696 function (b) { 24697 return $elm$parser$Parser$Loop( 24698 A2( 24699 $elm$core$List$cons, 24700 _Utils_Tuple2( 24701 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24702 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(1)), 24703 b), 24704 ns)); 24705 }, 24706 $elm$parser$Parser$getChompedString( 24707 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar))), 24708 A2( 24709 $elm$parser$Parser$map, 24710 function (b) { 24711 return $elm$parser$Parser$Loop( 24712 A2( 24713 $elm$core$List$cons, 24714 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24715 ns)); 24716 }, 24717 $elm$parser$Parser$getChompedString( 24718 $elm$parser$Parser$chompIf( 24719 function (c) { 24720 return c !== ';'; 24721 }))), 24722 $elm$parser$Parser$succeed( 24723 $elm$parser$Parser$Done(ns)) 24724 ])); 24725 }); 24726 case '@charset': 24727 return A2( 24728 $elm$parser$Parser$loop, 24729 _List_fromArray( 24730 [ 24731 _Utils_Tuple2( 24732 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24733 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(0)), 24734 a) 24735 ]), 24736 function (ns) { 24737 return $elm$parser$Parser$oneOf( 24738 _List_fromArray( 24739 [ 24740 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(ns), 24741 A2( 24742 $elm$parser$Parser$map, 24743 $elm$parser$Parser$Loop, 24744 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral(ns)), 24745 A2( 24746 $elm$parser$Parser$map, 24747 function (b) { 24748 return $elm$parser$Parser$Loop( 24749 A2( 24750 $elm$core$List$cons, 24751 _Utils_Tuple2( 24752 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$String), 24753 b), 24754 ns)); 24755 }, 24756 $elm$parser$Parser$getChompedString( 24757 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar))), 24758 A2( 24759 $elm$parser$Parser$map, 24760 function (b) { 24761 return $elm$parser$Parser$Loop( 24762 A2( 24763 $elm
24763$core$List$cons, 24764 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24765 ns)); 24766 }, 24767 $elm$parser$Parser$getChompedString( 24768 $elm$parser$Parser$chompIf( 24769 function (c) { 24770 return c !== ';'; 24771 }))), 24772 $elm$parser$Parser$succeed( 24773 $elm$parser$Parser$Done(ns)) 24774 ])); 24775 }); 24776 case '@media': 24777 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$mediaOrSupports(a); 24778 case '@supports': 24779 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$mediaOrSupports(a); 24780 case '@keyframes': 24781 return A2( 24782 $elm$parser$Parser$andThen, 24783 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$nestableAtRuleOpener, 24784 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$keyframesOrCounterStyle(a)); 24785 case '@counter-style': 24786 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$keyframesOrCounterStyle(a); 24787 case '@font-feature-values': 24788 return A2( 24789 $elm$parser$Parser$andThen, 24790 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$nestableAtRuleOpener, 24791 A2( 24792 $elm$parser$Parser$loop, 24793 _List_fromArray( 24794 [ 24795 _Utils_Tuple2( 24796 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24797 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(0)), 24798 a) 24799 ]), 24800 function (ns) { 24801 return $elm$parser$Parser$oneOf( 24802 _List_fromArray( 24803 [ 24804 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(ns), 24805 A2( 24806 $elm$parser$Parser$map, 24807 function (b) { 24808 return $elm$parser$Parser$Loop( 24809 A2( 24810 $elm$core$List$cons, 24811 _Utils_Tuple2( 24812 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24813 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(1)), 24814 b), 24815 ns)); 24816 }, 24817 $elm$parser$Parser$getChompedString( 24818 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar))), 24819 A2( 24820 $elm$parser$Parser$map, 24821 function (b) { 24822 return $elm$parser$Parser$Loop( 24823 A2( 24824 $elm$core$List$cons, 24825 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24826 ns)); 24827 }, 24828 $elm$parser$Parser$getChompedString( 24829 $elm$parser$Parser$chompIf( 24830 function (c) { 24831 return c !== '{'; 24832 }))), 24833 $elm$parser$Parser$succeed( 24834 $elm$parser$Parser$Done(ns)) 24835 ])); 24836 })); 24837 default: 24838 return A2($elm$core$Set$member, a, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleSet) ? $elm$parser$Parser$succeed( 24839 _List_fromArray( 24840 [ 24841 _Utils_Tuple2( 24842 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 24843 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AtRule(0)), 24844 a) 24845 ])) : $elm$parser$Parser$succeed( 24846 _List_fromArray( 24847 [ 24848 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, a) 24849 ])); 24850 } 24851}; 24852var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRule = A2( 24853 $elm$parser$Parser$andThen, 24854 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRuleHelper, 24855 $elm$parser$Parser$getChompedString( 24856 A2( 24857 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 24858 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar, 24859 $elm$parser$Parser$symbol('@')))); 24860var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Property = {$: 3}; 24861var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isPropertyChar = function (c) { 24862 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isCommentChar(c) || ((c === ':') || ((c === ';') || (c === '}'))))); 24863}; 24864var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Unit = {$: 6}; 24865var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$operatorCharSet = $elm$core$Set$fromList( 24866 _List_fromArray( 24867 ['+', '-', '%', '*', '/'])); 24868var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isOperatorChar = function (c) { 24869 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$operatorCharSet); 24870}; 24871var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isPropertyValueChar = function (c) { 24872 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isPropertyChar(c) && (!((c === '(') || ((c === ')') || ((c === ',') || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isOperatorChar(c))))); 24873}; 24874var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$hexColor = function (revTokens) { 24875 return A2( 24876 $elm$parser$Parser$map, 24877 function (n) { 24878 return A2( 24879 $elm$core$List$cons, 24880 _Utils_Tuple2( 24881 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Number), 24882 n), 24883 revTokens); 24884 }, 24885 $elm$parser$Parser$getChompedString( 24886 A2( 24887 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 24888 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isPropertyValueChar, 24889 $elm$parser$Parser$symbol('#')))); 24890}; 24891var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isNotPropertyValueChar = function (c) { 24892 return (c === '(') || ((c === ')') || ((c === ':') || ((c === ',') || (c === '/')))); 24893}; 24894var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$unitSet = $elm$core$Set$fromList( 24895 _List_fromArray( 24896 ['em', 'ex', 'ch', 'rem', 'vw', 'vh', 'vmin', 'vmax', 'cm', 'mm', 'q', 'in', 'pt', 'pc', 'px', 'deg', 'grad', 'rad', 'turn', 's', 'ms', 'Hz', 'kHz', 'dpi', 'dpcm', 'dppx'])); 24897var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isUnit = function (n) { 24898 return A2($elm$core$Set$member, n, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$unitSet); 24899}; 24900var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isNumber = function (c) { 24901 return $elm$core$Char$isDigit(c) || (c === '.'); 24902}; 24903var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$positiveNumber = A2( 24904 $elm$parser$Parser$ignorer, 24905 A2( 24906 $elm$parser$Parser$ignorer, 24907 $elm$parser$Parser$succeed(0), 24908 $elm$parser$Parser$chompIf($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isNumber)), 24909 $elm$parser$Parser$chompWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isNumber)); 24910var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$negativeNumber = A2( 24911 $elm$parser$Parser$ignorer, 24912 A2( 24913 $elm$parser$Parser$ignorer, 24914 $elm$parser$Parser$succeed(0), 24915 $elm$parser$Parser$backtrackable( 24916 $elm$parser$Parser$symbol('-'))), 24917 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$positiveNumber); 24918var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$number = $elm$parser$Parser$oneOf( 24919 _List_fromArray( 24920 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$positiveNumber, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$negativeNumber])); 24921var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$number = A2( 24922 $elm$parser$Parser$map, 24923 function (b) { 24924 return _Utils_Tuple2( 24925 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Number), 24926 b); 24927 }, 24928 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$number)); 24929var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$valueLoop = function (revTokens) { 24930 return $elm$parser$Parser$oneOf( 24931 _List_fromArray( 24932 [ 24933 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(revTokens), 24934 A2( 24935 $elm$parser$Parser$map, 24936 $elm$parser$Parser$Loop, 24937 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral(revTokens)), 24938 A2( 24939 $elm$parser$Parser$map, 24940 function (n) { 24941 return $elm$parser$Parser$Loop( 24942 A2($elm$core$List$cons, n, revTokens)); 24943 }, 24944 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$number), 24945 A2( 24946 $elm$parser$Parser$map, 24947 $elm$parser$Parser$Loop, 24948 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$hexColor(revTokens)), 24949 A2( 24950 $elm$parser$Parser$map, 24951 $elm$parser$Parser$Loop, 24952 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringArg, 'url', revTokens)), 24953 A2( 24954 $elm$parser$Parser$map, 24955 $elm$parser$Parser$Loop, 24956 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringArg, 'format', revTokens)), 24957 A2( 24958 $elm$parser$Parser$map, 24959 $elm$parser$Parser$Loop, 24960 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringArg, 'local', revTokens)), 24961 A2( 24962 $elm$parser$Parser$map, 24963 function (n) { 24964 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isUnit(n) ? $elm$parser$Parser$Loop( 24965 A2( 24966 $elm$core$List$cons, 24967 _Utils_Tuple2( 24968 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Unit),
24969 n), 24970 revTokens)) : $elm$parser$Parser$Loop( 24971 A2( 24972 $elm$core$List$cons, 24973 _Utils_Tuple2( 24974 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$PropertyValue), 24975 n), 24976 revTokens)); 24977 }, 24978 $elm$parser$Parser$getChompedString( 24979 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isPropertyValueChar))), 24980 A2( 24981 $elm$parser$Parser$map, 24982 function (b) { 24983 return $elm$parser$Parser$Loop( 24984 A2( 24985 $elm$core$List$cons, 24986 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 24987 revTokens)); 24988 }, 24989 $elm$parser$Parser$getChompedString( 24990 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isNotPropertyValueChar))), 24991 A2( 24992 $elm$parser$Parser$map, 24993 function (b) { 24994 return $elm$parser$Parser$Loop( 24995 A2( 24996 $elm$core$List$cons, 24997 _Utils_Tuple2( 24998 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Unit), 24999 b), 25000 revTokens)); 25001 }, 25002 $elm$parser$Parser$getChompedString( 25003 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isOperatorChar))), 25004 $elm$parser$Parser$succeed( 25005 $elm$parser$Parser$Done(revTokens)) 25006 ])); 25007}; 25008var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$valueHelper = function (opener) { 25009 return A2( 25010 $elm$parser$Parser$loop, 25011 _List_fromArray( 25012 [opener]), 25013 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$valueLoop); 25014}; 25015var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$value = A2( 25016 $elm$parser$Parser$andThen, 25017 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$valueHelper, 25018 A2( 25019 $elm$parser$Parser$map, 25020 function (b) { 25021 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25022 }, 25023 $elm$parser$Parser$getChompedString( 25024 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25025 $elm$core$Basics$eq(':'))))); 25026var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$declarationLoop = function (revTokens) { 25027 return $elm$parser$Parser$oneOf( 25028 _List_fromArray( 25029 [ 25030 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(revTokens), 25031 A2( 25032 $elm$parser$Parser$map, 25033 function (b) { 25034 return $elm$parser$Parser$Loop( 25035 A2( 25036 $elm$core$List$cons, 25037 _Utils_Tuple2( 25038 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Property), 25039 b), 25040 revTokens)); 25041 }, 25042 $elm$parser$Parser$getChompedString( 25043 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isPropertyChar))), 25044 A2( 25045 $elm$parser$Parser$map, 25046 function (b) { 25047 return $elm$parser$Parser$Loop( 25048 A2( 25049 $elm$core$List$cons, 25050 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 25051 revTokens)); 25052 }, 25053 $elm$parser$Parser$getChompedString( 25054 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25055 function (c) { 25056 return (c === ';') || (c === '/'); 25057 }))), 25058 A2( 25059 $elm$parser$Parser$map, 25060 function (n) { 25061 return $elm$parser$Parser$Loop( 25062 _Utils_ap(n, revTokens)); 25063 }, 25064 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$value), 25065 $elm$parser$Parser$succeed( 25066 $elm$parser$Parser$Done(revTokens)) 25067 ])); 25068}; 25069var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$declarationBlockHelper = function (opener) { 25070 return A2( 25071 $elm$parser$Parser$loop, 25072 _List_fromArray( 25073 [opener]), 25074 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$declarationLoop); 25075}; 25076var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$declarationBlock = A2( 25077 $elm$parser$Parser$andThen, 25078 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$declarationBlockHelper, 25079 A2( 25080 $elm$parser$Parser$map, 25081 function (b) { 25082 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25083 }, 25084 $elm$parser$Parser$getChompedString( 25085 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25086 function (c) { 25087 return c === '{'; 25088 })))); 25089var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Selector = function (a) { 25090 return {$: 2, a: a}; 25091}; 25092var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AttributeName = 0; 25093var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AttributeSelector = function (a) { 25094 return {$: 5, a: a}; 25095}; 25096var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attSelOperatorCharSet = $elm$core$Set$fromList( 25097 _List_fromArray( 25098 ['=', '~', '|', '^', '$', '*'])); 25099var $elm$core$Set$union = F2( 25100 function (_v0, _v1) { 25101 var dict1 = _v0; 25102 var dict2 = _v1; 25103 return A2($elm$core$Dict$union, dict1, dict2); 25104 }); 25105var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$whitespaceCharSet = $elm$core$Set$fromList( 25106 _List_fromArray( 25107 [' ', '\t', '\n'])); 25108var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attSelNameInvalidCharSet = A2( 25109 $elm$core$Set$insert, 25110 ']', 25111 A2($elm$core$Set$union, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attSelOperatorCharSet, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$whitespaceCharSet)); 25112var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeName = A2( 25113 $elm$parser$Parser$map, 25114 function (b) { 25115 return _Utils_Tuple2( 25116 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 25117 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Selector( 25118 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AttributeSelector(0))), 25119 b); 25120 }, 25121 $elm$parser$Parser$getChompedString( 25122 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25123 function (c) { 25124 return !A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attSelNameInvalidCharSet); 25125 }))); 25126var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AttributeOperator = 2; 25127var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeOperator = A2( 25128 $elm$parser$Parser$map, 25129 function (b) { 25130 return _Utils_Tuple2( 25131 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 25132 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Selector( 25133 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AttributeSelector(2))), 25134 b); 25135 }, 25136 $elm$parser$Parser$getChompedString( 25137 $elm$parser$Parser$oneOf( 25138 _List_fromArray( 25139 [ 25140 $elm$parser$Parser$symbol('~='), 25141 $elm$parser$Parser$symbol('|='), 25142 $elm$parser$Parser$symbol('^='), 25143 $elm$parser$Parser$symbol('$='), 25144 $elm$parser$Parser$symbol('*='), 25145 $elm$parser$Parser$symbol('=') 25146 ])))); 25147var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AttributeValue = 1; 25148var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeValue = function (revTokens) { 25149 return $elm$parser$Parser$oneOf( 25150 _List_fromArray( 25151 [ 25152 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(revTokens), 25153 A2( 25154 $elm$parser$Parser$map, 25155 $elm$parser$Parser$Done, 25156 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$stringLiteral(revTokens)), 25157 A2( 25158 $elm$parser$Parser$map, 25159 $elm$parser$Parser$Done, 25160 A2( 25161 $elm$parser$Parser$map, 25162 function (b) { 25163 return A2( 25164 $elm$core$List$cons, 25165 _Utils_Tuple2( 25166 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 25167 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Selector( 25168 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$AttributeSelector(1))), 25169 b), 25170 revTokens); 25171 }, 25172 $elm$parser$Parser$getChompedString( 25173 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25174 function (c) { 25175 return (c !== ']') && (!$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c)); 25176 })))), 25177 $elm$parser$Parser$succeed( 25178 $elm$parser$Parser$Done(revTokens)) 25179 ])); 25180}; 25181var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeSelectorLoop = function (revTokens) { 25182 return $elm$parser$Parser$oneOf( 25183 _List_fromArray( 25184 [ 25185 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(revTokens), 25186 A2( 25187 $elm$parser$Parser$map, 25188 function (n) { 25189 return $elm$parser$Parser$Loop( 25190 A2($elm$core$List$cons, n, revTokens)); 25191 }, 25192 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeName), 25193 A2( 25194 $elm$parser$Parser$andThen, 25195 function (operator) { 25196 return A2( 25197 $elm$parser$Parser$map, 25198 function (n) { 25199 return $elm$parser$Parser$Loop( 25200 _Utils_ap(n, revTokens)); 25201 }, 25202 A2( 25203 $elm$parser$Parser$loop, 25204 _List_fromArray( 25205 [operator]), 25206 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeValue)); 25207 }, 25208 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeOperator), 25209 $elm$parser$Parser$succeed( 25210 $elm$parser$Parser$Done(revTokens)) 25211 ])); 25212}; 25213var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeSelector = A2( 25214 $elm$parser$Parser$andThen, 25215 function (opener) { 25216 return A2( 25217 $elm$parser$Parser$loop, 25218 _List_fromArray( 25219 [opener]), 25220 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeSelectorLoop); 25221 }, 25222 A2( 25223 $elm$parser$Parser$map, 25224 $elm$core$Basics$always( 25225 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '[')), 25226 $elm$parser$Parser$symbol('['))); 25227var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Class = {$: 2}; 25228var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$class = A2( 25229 $elm$parser$Parser$map, 25230 function (b) { 25231 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Class, b); 25232 }, 25233 $elm$parser$Parser$getChompedString( 25234 A2( 25235 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25236 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar, 25237 $elm$parser$Parser$symbol('.')))); 25238var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Combinator = {$: 3}; 25239var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$combinator = A2( 25240 $elm$parser$Parser$map, 25241 function (b) { 25242 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Combinator, b); 25243 }, 25244 $elm$parser$Parser$getChompedString( 25245 $elm$parser$Parser$oneOf( 25246 _List_fromArray( 25247 [ 25248 $elm$parser$Parser$symbol('+'), 25249 $elm$parser$Parser$symbol('~'), 25250 $elm$parser$Parser$symbol('>') 25251 ])))); 25252var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Element = {$: 0}; 25253var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$element = A2( 25254 $elm$parser$Parser$map, 25255 function (b) { 25256 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Element, b); 25257 }, 25258 $elm$parser$Parser$getChompedString( 25259 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar))); 25260var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Id = {$: 1}; 25261var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$id = A2( 25262 $elm$parser$Parser$map, 25263 function (b) { 25264 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Id, b); 25265 }, 25266 $elm$parser$Parser$getChompedString( 25267 A2( 25268 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25269 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar, 25270 $elm$parser$Parser$symbol('#')))); 25271var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$PseudoClass = {$: 7}; 25272var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$pseudoClass = A2( 25273 $elm$parser$Parser$map, 25274 function (b) { 25275 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$PseudoClass, b); 25276 }, 25277 $elm$parser$Parser$getChompedString( 25278 A2( 25279 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25280 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar, 25281 $elm$parser$Parser$symbol(':')))); 25282var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$PseudoElement = {$: 6}; 25283var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$pseudoElement = A2( 25284 $elm$parser$Parser$map, 25285 function (b) { 25286 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$PseudoElement, b); 25287 }, 25288 $elm$parser$Parser$getChompedString( 25289 A2( 25290 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25291 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$isSelectorNameChar, 25292 $elm$parser$Parser$symbol('::')))); 25293var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Universal = {$: 4}; 25294var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$universal = A2( 25295 $elm$parser$Parser$map, 25296 $elm$core$Basics$always( 25297 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Universal, '*')), 25298 $elm$parser$Parser$symbol('*')); 25299var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$selector = $elm$parser$Parser$oneOf( 25300 _List_fromArray( 25301 [ 25302 A2( 25303 $elm$parser$Parser$map, 25304 function (_v0) { 25305 var n = _v0.a; 25306 var s = _v0.b; 25307 return _List_fromArray( 25308 [ 25309 _Utils_Tuple2( 25310 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C( 25311 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$Selector(n)), 25312 s) 25313 ]); 25314 }, 25315 $elm$parser$Parser$oneOf( 25316 _List_fromArray( 25317 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$id, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$class, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$element, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$universal, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$combinator, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$pseudoElement, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$pseudoClass]))), 25318 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$attributeSelector 25319 ])); 25320var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$mainLoop = function (revTokens) { 25321 return $elm$parser$Parser$oneOf( 25322 _List_fromArray( 25323 [ 25324 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$whitespaceOrCommentStep(revTokens), 25325 A2( 25326 $elm$parser$Parser$map, 25327 function (n) { 25328 return $elm$parser$Parser$Loop( 25329 _Utils_ap(n, revTokens)); 25330 }, 25331 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$atRule), 25332 A2( 25333 $elm$parser$Parser$map, 25334 function (n) { 25335 return $elm$parser$Parser$Loop( 25336 _Utils_ap(n, revTokens)); 25337 }, 25338 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$selector), 25339 A2( 25340 $elm$parser$Parser$map, 25341 function (n) { 25342 return $elm$parser$Parser$Loop( 25343 _Utils_ap(n, revTokens)); 25344 }, 25345 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$declarationBlock), 25346 A2( 25347 $elm$parser$Parser$map, 25348 function (b) { 25349 return $elm$parser$Parser$Loop( 25350 A2( 25351 $elm$core$List$cons, 25352
25352_Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 25353 revTokens)); 25354 }, 25355 $elm$parser$Parser$getChompedString( 25356 $elm$parser$Parser$chompIf( 25357 $elm$core$Basics$always(true)))), 25358 $elm$parser$Parser$succeed( 25359 $elm$parser$Parser$Done(revTokens)) 25360 ])); 25361}; 25362var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$toRevTokens = A2($elm$parser$Parser$loop, _List_Nil, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$mainLoop); 25363var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$toLines = A2( 25364 $elm$core$Basics$composeR, 25365 $elm$parser$Parser$run($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$toRevTokens), 25366 $elm$core$Result$map( 25367 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLines($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$syntaxToStyle))); 25368var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$css = A2( 25369 $elm$core$Basics$composeR, 25370 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Css$toLines, 25371 $elm$core$Result$map($elm$core$Basics$identity)); 25372var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Style$Style6 = 7; 25373var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$syntaxToStyle = function (syntax) { 25374 switch (syntax) { 25375 case 0: 25376 return _Utils_Tuple2(3, 'elm-s'); 25377 case 1: 25378 return _Utils_Tuple2(4, 'elm-bs'); 25379 case 2: 25380 return _Utils_Tuple2(5, 'elm-gs'); 25381 case 3: 25382 return _Utils_Tuple2(7, 'elm-c'); 25383 case 4: 25384 return _Utils_Tuple2(4, 'elm-k'); 25385 case 5: 25386 return _Utils_Tuple2(6, 'elm-f'); 25387 case 6: 25388 return _Utils_Tuple2(5, 'elm-ts'); 25389 default: 25390 return _Utils_Tuple2(2, 'elm-n'); 25391 } 25392}; 25393var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$inlineComment = A2( 25394 $elm$parser$Parser$map, 25395 function (b) { 25396 return _List_fromArray( 25397 [ 25398 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Comment, b) 25399 ]); 25400 }, 25401 $elm$parser$Parser$getChompedString( 25402 A2( 25403 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25404 A2($elm$core$Basics$composeL, $elm$core$Basics$not, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak), 25405 $elm$parser$Parser$symbol('--')))); 25406var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineBreakList = A2( 25407 $elm$parser$Parser$map, 25408 function (_v0) { 25409 return _List_fromArray( 25410 [ 25411 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak, '\n') 25412 ]); 25413 }, 25414 $elm$parser$Parser$symbol('\n')); 25415var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$multilineComment = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 25416 { 25417 d9: function (b) { 25418 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Comment, b); 25419 }, 25420 g: '-}', 25421 em: _List_fromArray( 25422 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineBreakList]), 25423 es: true, 25424 et: function (c) { 25425 return !$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c); 25426 }, 25427 i: '{-' 25428 }); 25429var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$comment = $elm$parser$Parser$oneOf( 25430 _List_fromArray( 25431 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$inlineComment, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$multilineComment])); 25432var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$BasicSymbol = 1; 25433var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$Capitalized = 3; 25434var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$GroupSymbol = 2; 25435var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$Keyword = 4; 25436var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$Number = 7; 25437var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$basicSymbols = $elm$core$Set$fromList( 25438 _List_fromArray( 25439 ['|', '.', '=', '\\', '/', '(', ')', '-', '>', '<', ':', '+', '!', '$', '%', '&', '*'])); 25440var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isBasicSymbol = function (c) { 25441 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$basicSymbols); 25442}; 25443var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$basicSymbol = $elm$parser$Parser$getChompedString( 25444 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isBasicSymbol)); 25445var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$groupSymbols = $elm$core$Set$fromList( 25446 _List_fromArray( 25447 [',', '[', ']', '{', '}'])); 25448var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isGroupSymbol = function (c) { 25449 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$groupSymbols); 25450}; 25451var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isStringLiteralChar = function (c) { 25452 return (c === '\"') || (c === '\''); 25453}; 25454var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isVariableChar = function (c) { 25455 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isBasicSymbol(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isGroupSymbol(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isStringLiteralChar(c)))); 25456}; 25457var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$capitalized = $elm$parser$Parser$getChompedString( 25458 A2( 25459 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25460 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isVariableChar, 25461 $elm$parser$Parser$chompIf($elm$core$Char$isUpper))); 25462var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$groupSymbol = $elm$parser$Parser$getChompedString( 25463 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isGroupSymbol)); 25464var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$Function = 5; 25465var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$infixSet = $elm$core$Set$fromList( 25466 _List_fromArray( 25467 ['+', '-', '/', '*', '=', '.', '$', '<', '>', ':', '&', '|', '^', '?', '%', '#', '@', '~', '!', ','])); 25468var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isInfixChar = function (c) { 25469 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$infixSet); 25470}; 25471var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$infixParser = A2( 25472 $elm$parser$Parser$map, 25473 function (b) { 25474 return _Utils_Tuple2( 25475 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(5), 25476 b); 25477 }, 25478 $elm$parser$Parser$getChompedString( 25479 A2( 25480 $elm$parser$Parser$ignorer, 25481 A2( 25482 $elm$parser$Parser$ignorer, 25483 A2( 25484 $elm$parser$Parser$ignorer, 25485 $elm$parser$Parser$succeed(0), 25486 $elm$parser$Parser$backtrackable( 25487 $elm$parser$Parser$symbol('('))), 25488 $elm$parser$Parser$backtrackable( 25489 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isInfixChar))), 25490 $elm$parser$Parser$backtrackable( 25491 $elm$parser$Parser$symbol(')'))))); 25492var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$keywordSet = $elm$core$Set$fromList( 25493 _List_fromArray( 25494 ['as', 'where', 'let', 'in', 'if', 'else', 'then', 'case', 'of', 'type', 'alias'])); 25495var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isKeyword = function (str) { 25496 return A2($elm$core$Set$member, str, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$keywordSet); 25497}; 25498var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$variable = $elm$parser$Parser$getChompedString( 25499 A2( 25500 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25501 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isVariableChar, 25502 $elm$parser$Parser$chompIf($elm$core$Char$isLower))); 25503var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$weirdText = $elm$parser$Parser$getChompedString( 25504 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isVariableChar)); 25505var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBodyContent = $elm$parser$Parser$oneOf( 25506 _List_fromArray( 25507 [ 25508 A2( 25509 $elm$parser$Parser$map, 25510 function (b) { 25511 return _Utils_Tuple2( 25512 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(7), 25513 b); 25514 }, 25515 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$number)), 25516 A2( 25517 $elm$parser$Parser$map, 25518 $elm$core$Basics$always( 25519 _Utils_Tuple2( 25520 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(3), 25521 '()')), 25522 $elm$parser$Parser$symbol('()')), 25523 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$infixParser, 25524 A2( 25525 $elm$parser$Parser$map, 25526 function (b) { 25527 return _Utils_Tuple2( 25528 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(1), 25529 b); 25530 }, 25531 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$basicSymbol), 25532 A2( 25533 $elm$parser$Parser$map, 25534 function (b) { 25535 return _Utils_Tuple2( 25536 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(2), 25537 b); 25538 }, 25539 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$groupSymbol), 25540 A2( 25541 $elm$parser$Parser$map, 25542 function (b) { 25543 return _Utils_Tuple2( 25544 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(3), 25545 b); 25546 }, 25547 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$capitalized), 25548 A2( 25549 $elm$parser$Parser$map, 25550 function (n) { 25551 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isKeyword(n) ? _Utils_Tuple2( 25552 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 25553 n) : _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, n); 25554 }, 25555 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$variable), 25556 A2( 25557 $elm$parser$Parser$map, 25558 function (b) { 25559 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25560 }, 25561 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$weirdText) 25562 ])); 25563var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$String = 0; 25564var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$elmEscapable = A2( 25565 $elm$parser$Parser$map, 25566 function (b) { 25567 return _List_fromArray( 25568 [ 25569 _Utils_Tuple2( 25570 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(3), 25571 b) 25572 ]); 25573 }, 25574 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$escapable)); 25575var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$stringDelimiter = { 25576 d9: function (b) { 25577 return _Utils_Tuple2( 25578 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(0), 25579 b); 25580 }, 25581 g: '\"', 25582 em: _List_fromArray( 25583 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineBreakList, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$elmEscapable]), 25584 es: false, 25585 et: function (c) { 25586 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapable(c)); 25587 }, 25588 i: '\"' 25589}; 25590var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$doubleQuote = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$stringDelimiter); 25591var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$quote = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 25592 _Utils_update( 25593 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$stringDelimiter, 25594 {g: '\'', i: '\''})); 25595var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$tripleDoubleQuote = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 25596 _Utils_update( 25597 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$stringDelimiter, 25598 {g: '\"\"\"', i: '\"\"\"'})); 25599var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$stringLiteral = $elm$parser$Parser$oneOf( 25600 _List_fromArray( 25601 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$tripleDoubleQuote, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$doubleQuote, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$quote])); 25602var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineBreak = A2( 25603 $elm$parser$Parser$map, 25604 function (_v0) { 25605 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak, '\n'); 25606 }, 25607 $elm$parser$Parser$symbol('\n')); 25608var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$space = A2( 25609 $elm$parser$Parser$map, 25610 function (b) { 25611 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25612 }, 25613 $elm$parser$Parser$getChompedString( 25614 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isSpace))); 25615var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$checkContext = function (revTokens) { 25616 return $elm$parser$Parser$oneOf( 25617 _List_fromArray( 25618 [ 25619 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep(revTokens), 25620 $elm$parser$Parser$succeed( 25621 $elm$parser$Parser$Done(revTokens)) 25622 ])); 25623}; 25624var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep = function (revTokens) { 25625 return $elm$parser$Parser$oneOf( 25626 _List_fromArray( 25627 [ 25628 A2( 25629 $elm$parser$Parser$map, 25630 function (n) { 25631 return $elm$parser$Parser$Loop( 25632 A2($elm$core$List$cons, n, revTokens)); 25633 }, 25634 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$space), 25635 A2( 25636 $elm$parser$Parser$andThen, 25637 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$checkContext, 25638 A2( 25639 $elm$parser$Parser$map, 25640 function (n) { 25641 return A2($elm$core$List$cons, n, revTokens); 25642 }, 25643 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineBreak)), 25644 A2( 25645 $elm$parser$Parser$map, 25646 function (n) { 25647 return $elm$parser$Parser$Loop( 25648 _Utils_ap(n, revTokens)); 25649 }, 25650 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$comment) 25651 ])); 25652}; 25653var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBody = function (revTokens) { 25654 return $elm$parser$Parser$oneOf( 25655 _List_fromArray( 25656 [ 25657 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep(revTokens), 25658 A2( 25659 $elm$parser$Parser$map, 25660 function (ns) { 25661 return $elm$parser$Parser$Loop( 25662 _Utils_ap(ns, revTokens)); 25663 }, 25664 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$stringLiteral), 25665 A2( 25666 $elm$parser$Parser$map, 25667 function (n) { 25668 return $elm$parser$Parser$Loop( 25669 A2($elm$core$List$cons, n, revTokens)); 25670 }, 25671 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBodyContent), 25672 $elm$parser$Parser$succeed( 25673 $elm$parser$Parser$Done(revTokens)) 25674 ])); 25675}; 25676var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$TypeSignature = 6; 25677var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$fnSigIsNotRelevant = function (c) { 25678 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c) || ((c === '(') || ((c === ')') || ((c === '-') || (c === ','))))); 25679}; 25680var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$fnSigContentHelp = $elm$parser$Parser$oneOf( 25681 _List_fromArray( 25682 [ 25683
25683A2( 25684 $elm$parser$Parser$map, 25685 $elm$core$Basics$always( 25686 _Utils_Tuple2( 25687 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 25688 '()')), 25689 $elm$parser$Parser$symbol('()')), 25690 A2( 25691 $elm$parser$Parser$map, 25692 $elm$core$Basics$always( 25693 _Utils_Tuple2( 25694 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(1), 25695 '->')), 25696 $elm$parser$Parser$symbol('->')), 25697 A2( 25698 $elm$parser$Parser$map, 25699 function (b) { 25700 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25701 }, 25702 $elm$parser$Parser$getChompedString( 25703 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25704 function (c) { 25705 return (c === '(') || ((c === ')') || ((c === '-') || (c === ','))); 25706 }))), 25707 A2( 25708 $elm$parser$Parser$map, 25709 function (b) { 25710 return _Utils_Tuple2( 25711 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 25712 b); 25713 }, 25714 $elm$parser$Parser$getChompedString( 25715 A2( 25716 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25717 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$fnSigIsNotRelevant, 25718 $elm$parser$Parser$chompIf($elm$core$Char$isUpper)))), 25719 A2( 25720 $elm$parser$Parser$map, 25721 function (b) { 25722 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25723 }, 25724 $elm$parser$Parser$getChompedString( 25725 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$fnSigIsNotRelevant))) 25726 ])); 25727var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$fnSigContent = function (revTokens) { 25728 return $elm$parser$Parser$oneOf( 25729 _List_fromArray( 25730 [ 25731 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep(revTokens), 25732 A2( 25733 $elm$parser$Parser$map, 25734 function (n) { 25735 return $elm$parser$Parser$Loop( 25736 A2($elm$core$List$cons, n, revTokens)); 25737 }, 25738 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$fnSigContentHelp), 25739 $elm$parser$Parser$succeed( 25740 $elm$parser$Parser$Done(revTokens)) 25741 ])); 25742}; 25743var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionSignature = function (revTokens) { 25744 return $elm$parser$Parser$oneOf( 25745 _List_fromArray( 25746 [ 25747 A2( 25748 $elm$parser$Parser$map, 25749 $elm$parser$Parser$Done, 25750 A2( 25751 $elm$parser$Parser$andThen, 25752 function (ns) { 25753 return A2($elm$parser$Parser$loop, ns, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$fnSigContent); 25754 }, 25755 A2( 25756 $elm$parser$Parser$map, 25757 $elm$core$Basics$always( 25758 A2( 25759 $elm$core$List$cons, 25760 _Utils_Tuple2( 25761 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(1), 25762 ':'), 25763 revTokens)), 25764 $elm$parser$Parser$symbol(':')))), 25765 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep(revTokens), 25766 A2( 25767 $elm$parser$Parser$map, 25768 $elm$parser$Parser$Done, 25769 A2($elm$parser$Parser$loop, revTokens, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBody)), 25770 $elm$parser$Parser$succeed( 25771 $elm$parser$Parser$Done(revTokens)) 25772 ])); 25773}; 25774var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isCommentChar = function (c) { 25775 return (c === '-') || (c === '{'); 25776}; 25777var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$commentChar = $elm$parser$Parser$getChompedString( 25778 $elm$parser$Parser$chompIf($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isCommentChar)); 25779var $elm$parser$Parser$ExpectingKeyword = function (a) { 25780 return {$: 9, a: a}; 25781}; 25782var $elm$parser$Parser$Advanced$keyword = function (_v0) { 25783 var kwd = _v0.a; 25784 var expecting = _v0.b; 25785 var progress = !$elm$core$String$isEmpty(kwd); 25786 return function (s) { 25787 var _v1 = A5($elm$parser$Parser$Advanced$isSubString, kwd, s.cf, s.gm, s.d5, s.dE); 25788 var newOffset = _v1.a; 25789 var newRow = _v1.b; 25790 var newCol = _v1.c; 25791 return (_Utils_eq(newOffset, -1) || (0 <= A3( 25792 $elm$parser$Parser$Advanced$isSubChar, 25793 function (c) { 25794 return $elm$core$Char$isAlphaNum(c) || (c === '_'); 25795 }, 25796 newOffset, 25797 s.dE))) ? A2( 25798 $elm$parser$Parser$Advanced$Bad, 25799 false, 25800 A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : A3( 25801 $elm$parser$Parser$Advanced$Good, 25802 progress, 25803 0, 25804 {d5: newCol, f: s.f, h: s.h, cf: newOffset, gm: newRow, dE: s.dE}); 25805 }; 25806}; 25807var $elm$parser$Parser$keyword = function (kwd) { 25808 return $elm$parser$Parser$Advanced$keyword( 25809 A2( 25810 $elm$parser$Parser$Advanced$Token, 25811 kwd, 25812 $elm$parser$Parser$ExpectingKeyword(kwd))); 25813}; 25814var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$modDecIsNotRelevant = function (c) { 25815 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isCommentChar(c) || (c === '('))); 25816}; 25817var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$mdpIsNotRelevant = function (c) { 25818 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isCommentChar(c) || ((c === '(') || ((c === ')') || ((c === ',') || (c === '.')))))); 25819}; 25820var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$mdpnIsSpecialChar = function (c) { 25821 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isCommentChar(c) || ((c === '(') || (c === ')'))); 25822}; 25823var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$checkContextNested = function (_v1) { 25824 var nestLevel = _v1.a; 25825 var revTokens = _v1.b; 25826 return $elm$parser$Parser$oneOf( 25827 _List_fromArray( 25828 [ 25829 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStepNested( 25830 _Utils_Tuple2(nestLevel, revTokens)), 25831 $elm$parser$Parser$succeed( 25832 $elm$parser$Parser$Done(revTokens)) 25833 ])); 25834}; 25835var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStepNested = function (_v0) { 25836 var nestLevel = _v0.a; 25837 var revTokens = _v0.b; 25838 return $elm$parser$Parser$oneOf( 25839 _List_fromArray( 25840 [ 25841 A2( 25842 $elm$parser$Parser$map, 25843 function (n) { 25844 return $elm$parser$Parser$Loop( 25845 _Utils_Tuple2( 25846 nestLevel, 25847 A2($elm$core$List$cons, n, revTokens))); 25848 }, 25849 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$space), 25850 A2( 25851 $elm$parser$Parser$andThen, 25852 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$checkContextNested, 25853 A2( 25854 $elm$parser$Parser$map, 25855 function (n) { 25856 return _Utils_Tuple2( 25857 nestLevel, 25858 A2($elm$core$List$cons, n, revTokens)); 25859 }, 25860 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineBreak)), 25861 A2( 25862 $elm$parser$Parser$map, 25863 function (n) { 25864 return $elm$parser$Parser$Loop( 25865 _Utils_Tuple2( 25866 nestLevel, 25867 _Utils_ap(n, revTokens))); 25868 }, 25869 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$comment) 25870 ])); 25871}; 25872var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$modDecParNest = function (_v0) { 25873 var nestLevel = _v0.a; 25874 var revTokens = _v0.b; 25875 return $elm$parser$Parser$oneOf( 25876 _List_fromArray( 25877 [ 25878 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStepNested( 25879 _Utils_Tuple2(nestLevel, revTokens)), 25880 A2( 25881 $elm$parser$Parser$map, 25882 function (ns) { 25883 return $elm$parser$Parser$Loop( 25884 _Utils_Tuple2(nestLevel + 1, ns)); 25885 }, 25886 A2( 25887 $elm$parser$Parser$map, 25888 $elm$core$Basics$always( 25889 A2( 25890 $elm$core$List$cons, 25891 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '('), 25892 revTokens)), 25893 $elm$parser$Parser$symbol('('))), 25894 A2( 25895 $elm$parser$Parser$map, 25896 function (ns) { 25897 return (!nestLevel) ? $elm$parser$Parser$Done(ns) : $elm$parser$Parser$Loop( 25898 _Utils_Tuple2(nestLevel - 1, ns)); 25899 }, 25900 A2( 25901 $elm$parser$Parser$map, 25902 $elm$core$Basics$always( 25903 A2( 25904 $elm$core$List$cons, 25905 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, ')'), 25906 revTokens)), 25907 $elm$parser$Parser$symbol(')'))), 25908 A2( 25909 $elm$parser$Parser$map, 25910 function (n) { 25911 return $elm$parser$Parser$Loop( 25912 _Utils_Tuple2( 25913 nestLevel, 25914 A2($elm$core$List$cons, n, revTokens))); 25915 }, 25916 $elm$parser$Parser$oneOf( 25917 _List_fromArray( 25918 [ 25919 A2( 25920 $elm$parser$Parser$map, 25921 function (b) { 25922 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25923 }, 25924 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$commentChar), 25925 A2( 25926 $elm$parser$Parser$map, 25927 function (s) { 25928 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, s); 25929 }, 25930 $elm$parser$Parser$getChompedString( 25931 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25932 A2($elm$core$Basics$composeL, $elm$core$Basics$not, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$mdpnIsSpecialChar)))) 25933 ]))), 25934 $elm$parser$Parser$succeed( 25935 $elm$parser$Parser$Done(revTokens)) 25936 ])); 25937}; 25938var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$modDecParentheses = function (revTokens) { 25939 return $elm$parser$Parser$oneOf( 25940 _List_fromArray( 25941 [ 25942 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep(revTokens), 25943 A2( 25944 $elm$parser$Parser$map, 25945 $elm$parser$Parser$Done, 25946 A2( 25947 $elm$parser$Parser$map, 25948 $elm$core$Basics$always( 25949 A2( 25950 $elm$core$List$cons, 25951 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, ')'), 25952 revTokens)), 25953 $elm$parser$Parser$symbol(')'))), 25954 A2( 25955 $elm$parser$Parser$map, 25956 function (n) { 25957 return $elm$parser$Parser$Loop( 25958 A2($elm$core$List$cons, n, revTokens)); 25959 }, 25960 $elm$parser$Parser$oneOf( 25961 _List_fromArray( 25962 [ 25963 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$infixParser, 25964 A2( 25965 $elm$parser$Parser$map, 25966 function (b) { 25967 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25968 }, 25969 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$commentChar), 25970 A2( 25971 $elm$parser$Parser$map, 25972 function (b) { 25973 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 25974 }, 25975 $elm$parser$Parser$getChompedString( 25976 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 25977 function (c) { 25978 return (c === ',') || (c === '.'); 25979 }))), 25980 A2( 25981 $elm$parser$Parser$map, 25982 function (b) { 25983 return _Utils_Tuple2( 25984 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 25985 b); 25986 }, 25987 $elm$parser$Parser$getChompedString( 25988 A2( 25989 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 25990 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$mdpIsNotRelevant, 25991 $elm$parser$Parser$chompIf($elm$core$Char$isUpper)))), 25992 A2( 25993 $elm$parser$Parser$map, 25994 function (b) { 25995 return _Utils_Tuple2( 25996 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(5), 25997 b); 25998 }, 25999 $elm$parser$Parser$getChompedString( 26000 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$mdpIsNotRelevant))) 26001 ]))), 26002 A2( 26003 $elm$parser$Parser$map, 26004 $elm$parser$Parser$Loop, 26005 A2( 26006 $elm$parser$Parser$andThen, 26007 function (n) { 26008 return A2( 26009 $elm$parser$Parser$loop, 26010 _Utils_Tuple2(0, n), 26011 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$modDecParNest); 26012 }, 26013 A2( 26014 $elm$parser$Parser$map, 26015 $elm$core$Basics$always( 26016 A2( 26017 $elm$core$List$cons, 26018 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '('), 26019 revTokens)), 26020 $elm$parser$Parser$symbol('(')))), 26021 $elm$parser$Parser$succeed( 26022 $elm$parser$Parser$Done(revTokens)) 26023 ])); 26024}; 26025var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$moduleDeclaration = function (revTokens) { 26026 return $elm$parser$Parser$oneOf( 26027 _List_fromArray( 26028 [ 26029 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep(revTokens), 26030 A2( 26031 $elm$parser$Parser$map, 26032 $elm$parser$Parser$Loop, 26033 A2( 26034 $elm$parser$Parser$andThen, 26035 function (n) { 26036 return A2($elm$parser$Parser$loop, n, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$modDecParentheses); 26037 }, 26038 A2( 26039 $elm$parser$Parser$map, 26040 $elm$core$Basics$always( 26041 A2( 26042 $elm$core$List$cons, 26043 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '('), 26044 revTokens)), 26045 $elm$parser$Parser$symbol('(')))), 26046 A2( 26047 $elm$parser$Parser$map, 26048 function (n) { 26049 return $elm$parser$Parser$Loop( 26050 A2($elm$core$List$cons, n, revTokens)); 26051 }, 26052 $elm$parser$Parser$oneOf( 26053 _List_fromArray( 26054 [ 26055 A2( 26056 $elm$parser$Parser$map, 26057 function (b) { 26058 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 26059 }, 26060 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$commentChar), 26061 A2( 26062 $elm$parser$Parser$map, 26063 $elm$core$Basics$always( 26064 _Utils_Tuple2( 26065 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 26066 'exposing')), 26067 $elm$parser$Parser$keyword('exposing')), 26068 A2( 26069 $elm$parser$Parser$map, 26070 $elm$core$Basics$always( 26071 _Utils_Tuple2( 26072 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 26073 'as')), 26074 $elm$parser$Parser$keyword('as')), 26075 A2( 26076 $elm$parser$Parser$map, 26077 function (b) { 26078 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 26079 }, 26080 $elm$parser$Parser$getChompedString( 26081 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$modDecIsNotRelevant))) 26082 ]))), 26083 $elm$parser$Parser$succeed( 26084 $elm$parser$Parser$Done(revTokens)) 26085 ])); 26086}; 26087var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$portDeclarationHelp = F2( 26088 function (revTokens, str) { 26089 return (str === 'module') ? A2( 26090 $elm$parser$Parser$loop, 26091 A2( 26092 $elm$core$List$cons, 26093 _Utils_Tuple2( 26094 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 26095 str), 26096 revTokens), 26097 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$moduleDeclaration) : A2( 26098 $elm$parser$Parser$loop, 26099 A2( 26100 $elm$core$List$cons, 26101 _Utils_Tuple2( 26102 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(5), 26103 str), 26104 revTokens), 26105 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionSignature); 26106 }); 26107var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$portDeclaration = function (revTokens) { 26108 return $elm$parser$Parser$oneOf( 26109 _List_fromArray( 26110 [ 26111 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$whitespaceOrCommentStep(revTokens), 26112 A2( 26113 $elm$parser$Parser$map, 26114 $elm$parser$Parser$Done, 26115 A2( 26116 $elm$parser$Parser$andThen, 26117 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$portDeclarationHelp(revTokens), 26118 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$variable)), 26119 A2( 26120 $elm$parser$Parser$map, 26121 $elm$parser$Parser$Done, 26122 A2($elm$parser$Parser$loop, r
26122evTokens, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBody)), 26123 $elm$parser$Parser$succeed( 26124 $elm$parser$Parser$Done(revTokens)) 26125 ])); 26126}; 26127var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineStartVariable = F2( 26128 function (revTokens, n) { 26129 return ((n === 'module') || (n === 'import')) ? A2( 26130 $elm$parser$Parser$loop, 26131 A2( 26132 $elm$core$List$cons, 26133 _Utils_Tuple2( 26134 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 26135 n), 26136 revTokens), 26137 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$moduleDeclaration) : ((n === 'port') ? A2( 26138 $elm$parser$Parser$loop, 26139 A2( 26140 $elm$core$List$cons, 26141 _Utils_Tuple2( 26142 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 26143 n), 26144 revTokens), 26145 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$portDeclaration) : ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$isKeyword(n) ? A2( 26146 $elm$parser$Parser$loop, 26147 A2( 26148 $elm$core$List$cons, 26149 _Utils_Tuple2( 26150 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 26151 n), 26152 revTokens), 26153 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBody) : A2( 26154 $elm$parser$Parser$loop, 26155 A2( 26156 $elm$core$List$cons, 26157 _Utils_Tuple2( 26158 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(5), 26159 n), 26160 revTokens), 26161 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionSignature))); 26162 }); 26163var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$mainLoop = function (revTokens) { 26164 return $elm$parser$Parser$oneOf( 26165 _List_fromArray( 26166 [ 26167 A2( 26168 $elm$parser$Parser$map, 26169 function (n) { 26170 return $elm$parser$Parser$Loop( 26171 A2($elm$core$List$cons, n, revTokens)); 26172 }, 26173 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$space), 26174 A2( 26175 $elm$parser$Parser$map, 26176 function (n) { 26177 return $elm$parser$Parser$Loop( 26178 A2($elm$core$List$cons, n, revTokens)); 26179 }, 26180 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineBreak), 26181 A2( 26182 $elm$parser$Parser$map, 26183 function (n) { 26184 return $elm$parser$Parser$Loop( 26185 _Utils_ap(n, revTokens)); 26186 }, 26187 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$comment), 26188 A2( 26189 $elm$parser$Parser$map, 26190 $elm$parser$Parser$Loop, 26191 A2( 26192 $elm$parser$Parser$andThen, 26193 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$lineStartVariable(revTokens), 26194 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$variable)), 26195 A2( 26196 $elm$parser$Parser$map, 26197 $elm$parser$Parser$Loop, 26198 A2( 26199 $elm$parser$Parser$andThen, 26200 function (s) { 26201 return A2( 26202 $elm$parser$Parser$loop, 26203 _Utils_ap(s, revTokens), 26204 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBody); 26205 }, 26206 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$stringLiteral)), 26207 A2( 26208 $elm$parser$Parser$map, 26209 $elm$parser$Parser$Loop, 26210 A2( 26211 $elm$parser$Parser$andThen, 26212 function (s) { 26213 return A2( 26214 $elm$parser$Parser$loop, 26215 A2($elm$core$List$cons, s, revTokens), 26216 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBody); 26217 }, 26218 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$functionBodyContent)), 26219 $elm$parser$Parser$succeed( 26220 $elm$parser$Parser$Done(revTokens)) 26221 ])); 26222}; 26223var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$toRevTokens = A2($elm$parser$Parser$loop, _List_Nil, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$mainLoop); 26224var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$toLines = A2( 26225 $elm$core$Basics$composeR, 26226 $elm$parser$Parser$run($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$toRevTokens), 26227 $elm$core$Result$map( 26228 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLines($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$syntaxToStyle))); 26229var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$elm = A2( 26230 $elm$core$Basics$composeR, 26231 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Elm$toLines, 26232 $elm$core$Result$map($elm$core$Basics$identity)); 26233var $elm$html$Html$em = _VirtualDom_node('em'); 26234var $elm$html$Html$h2 = _VirtualDom_node('h2'); 26235var $elm$html$Html$h3 = _VirtualDom_node('h3'); 26236var $elm$html$Html$h4 = _VirtualDom_node('h4'); 26237var $elm$html$Html$h5 = _VirtualDom_node('h5'); 26238var $elm$html$Html$h6 = _VirtualDom_node('h6'); 26239var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$syntaxToStyle = function (syntax) { 26240 switch (syntax) { 26241 case 0: 26242 return _Utils_Tuple2(2, 'js-n'); 26243 case 1: 26244 return _Utils_Tuple2(3, 'js-s'); 26245 case 2: 26246 return _Utils_Tuple2(4, 'js-k'); 26247 case 3: 26248 return _Utils_Tuple2(5, 'js-dk'); 26249 case 4: 26250 return _Utils_Tuple2(5, 'js-fe'); 26251 case 5: 26252 return _Utils_Tuple2(6, 'js-f'); 26253 case 6: 26254 return _Utils_Tuple2(7, 'js-lk'); 26255 case 7: 26256 return _Utils_Tuple2(8, 'js-p'); 26257 default: 26258 return _Utils_Tuple2(6, 'js-ce'); 26259 } 26260}; 26261var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$groupSet = $elm$core$Set$fromList( 26262 _List_fromArray( 26263 ['{', '}', '(', ')', '[', ']', ',', ';'])); 26264var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isGroupChar = function (c) { 26265 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$groupSet); 26266}; 26267var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$groupChar = A2( 26268 $elm$parser$Parser$map, 26269 function (b) { 26270 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 26271 }, 26272 $elm$parser$Parser$getChompedString( 26273 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isGroupChar))); 26274var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isCommentChar = function (c) { 26275 return c === '/'; 26276}; 26277var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$operatorSet = $elm$core$Set$fromList( 26278 _List_fromArray( 26279 ['+', '-', '*', '/', '=', '!', '<', '>', '&', '|', '?', '^', ':', '~', '%', '.'])); 26280var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$punctuactorSet = A2($elm$core$Set$union, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$operatorSet, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$groupSet); 26281var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isPunctuaction = function (c) { 26282 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$punctuactorSet); 26283}; 26284var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isStringLiteralChar = function (c) { 26285 return (c === '\"') || ((c === '\'') || (c === '`')); 26286}; 26287var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isIdentifierNameChar = function (c) { 26288 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isPunctuaction(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isStringLiteralChar(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isCommentChar(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c)))); 26289}; 26290var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$DeclarationKeyword = 3; 26291var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$Function = 5; 26292var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$Keyword = 2; 26293var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$LiteralKeyword = 6; 26294var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$Param = 7; 26295var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$ClassExtends = 8; 26296var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$inlineComment = A2( 26297 $elm$parser$Parser$map, 26298 function (b) { 26299 return _List_fromArray( 26300 [ 26301 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Comment, b) 26302 ]); 26303 }, 26304 $elm$parser$Parser$getChompedString( 26305 A2( 26306 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$thenChompWhile, 26307 A2($elm$core$Basics$composeL, $elm$core$Basics$not, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak), 26308 $elm$parser$Parser$symbol('//')))); 26309var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$lineBreakList = A2( 26310 $elm$parser$Parser$map, 26311 function (_v0) { 26312 return _List_fromArray( 26313 [ 26314 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak, '\n') 26315 ]); 26316 }, 26317 $elm$parser$Parser$symbol('\n')); 26318var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$multilineComment = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 26319 { 26320 d9: function (b) { 26321 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Comment, b); 26322 }, 26323 g: '*/', 26324 em: _List_fromArray( 26325 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$lineBreakList]), 26326 es: false, 26327 et: function (c) { 26328 return !$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c); 26329 }, 26330 i: '/*' 26331 }); 26332var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$comment = $elm$parser$Parser$oneOf( 26333 _List_fromArray( 26334 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$inlineComment, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$multilineComment])); 26335var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$whitespaceOrCommentStep = function (revTokens) { 26336 return $elm$parser$Parser$oneOf( 26337 _List_fromArray( 26338 [ 26339 A2( 26340 $elm$parser$Parser$map, 26341 function (b) { 26342 return $elm$parser$Parser$Loop( 26343 A2( 26344 $elm$core$List$cons, 26345 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 26346 revTokens)); 26347 }, 26348 $elm$parser$Parser$getChompedString( 26349 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isSpace))), 26350 A2( 26351 $elm$parser$Parser$map, 26352 function (ns) { 26353 return $elm$parser$Parser$Loop( 26354 _Utils_ap(ns, revTokens)); 26355 }, 26356 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$lineBreakList), 26357 A2( 26358 $elm$parser$Parser$map, 26359 function (ns) { 26360 return $elm$parser$Parser$Loop( 26361 _Utils_ap(ns, revTokens)); 26362 }, 26363 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$comment) 26364 ])); 26365}; 26366var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$classExtendsLoop = function (revTokens) { 26367 return $elm$parser$Parser$oneOf( 26368 _List_fromArray( 26369 [ 26370 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$whitespaceOrCommentStep(revTokens), 26371 A2( 26372 $elm$parser$Parser$map, 26373 function (b) { 26374 return $elm$parser$Parser$Loop( 26375 A2( 26376 $elm$core$List$cons, 26377 _Utils_Tuple2( 26378 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(8), 26379 b), 26380 revTokens)); 26381 }, 26382 $elm$parser$Parser$getChompedString( 26383 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isIdentifierNameChar))), 26384 $elm$parser$Parser$succeed( 26385 $elm$parser$Parser$Done(revTokens)) 26386 ])); 26387}; 26388var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$classDeclarationLoop = function (revTokens) { 26389 return $elm$parser$Parser$oneOf( 26390 _List_fromArray( 26391 [ 26392 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$whitespaceOrCommentStep(revTokens), 26393 A2( 26394 $elm$parser$Parser$andThen, 26395 function (n) { 26396 return (n === 'extends') ? A2( 26397 $elm$parser$Parser$map, 26398 $elm$parser$Parser$Loop, 26399 A2( 26400 $elm$parser$Parser$loop, 26401 A2( 26402 $elm$core$List$cons, 26403 _Utils_Tuple2( 26404 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(2), 26405 n), 26406 revTokens), 26407 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$classExtendsLoop)) : $elm$parser$Parser$succeed( 26408 $elm$parser$Parser$Loop( 26409 A2( 26410 $elm$core$List$cons, 26411 _Utils_Tuple2( 26412 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(5), 26413 n), 26414 revTokens))); 26415 }, 26416 $elm$parser$Parser$getChompedString( 26417 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isIdentifierNameChar))), 26418 $elm$parser$Parser$succeed( 26419 $elm$parser$Parser$Done(revTokens)) 26420 ])); 26421}; 26422var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$argLoop = function (revTokens) { 26423 return $elm$parser$Parser$oneOf( 26424 _List_fromArray( 26425 [ 26426 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$whitespaceOrCommentStep(revTokens), 26427 A2( 26428 $elm$parser$Parser$map, 26429 function (b) { 26430 return $elm$parser$Parser$Loop( 26431 A2( 26432 $elm$core$List$cons, 26433 _Utils_Tuple2( 26434 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(7), 26435 b), 26436 revTokens)); 26437 }, 26438 $elm$parser$Parser$getChompedString( 26439 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 26440 function (c) { 26441 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isCommentChar(c) || ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isWhitespace(c) || ((c === ',') || (c === ')')))); 26442 }))), 26443 A2( 26444 $elm$parser$Parser$map, 26445 function (b) { 26446 return $elm$parser$Parser$Loop( 26447 A2( 26448 $elm$core$List$cons, 26449 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 26450 revTokens)); 26451 }, 26452 $elm$parser$Parser$getChompedString( 26453 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile( 26454 function (c) { 26455 return (c === '/') || (c === ','); 26456 }))), 26457 $elm$parser$Parser$succeed( 26458 $elm$parser$Parser$Done(revTokens)) 26459 ])); 26460}; 26461var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$functionDeclarationLoop = function (revTokens) { 26462 return $elm$parser$Parser$oneOf( 26463 _List_fromArray( 26464 [ 26465 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$whitespaceOrCommentStep(revTokens), 26466 A2( 26467 $elm$parser$Parser$map, 26468 function (b) { 26469 return $elm$parser$Parser$Loop( 26470 A2( 26471 $elm$core$List$cons, 26472 _Utils_Tuple2( 26473 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(5), 26474 b), 26475 revTokens)); 26476 }, 26477 $elm$parser$Parser$getChompedString( 26478 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isIdentifierNameChar))), 26479 A2( 26480 $elm$parser$Parser$map, 26481 function (_v0) { 26482 return $elm$parser$Parser$Loop( 26483 A2( 26484 $elm$core$List$cons, 26485 _Utils_Tuple2( 26486 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(2), 26487 '*'),
26488 revTokens)); 26489 }, 26490 $elm$parser$Parser$symbol('*')), 26491 A2( 26492 $elm$parser$Parser$map, 26493 $elm$parser$Parser$Loop, 26494 A2( 26495 $elm$parser$Parser$andThen, 26496 function (_v1) { 26497 return A2( 26498 $elm$parser$Parser$loop, 26499 A2( 26500 $elm$core$List$cons, 26501 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '('), 26502 revTokens), 26503 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$argLoop); 26504 }, 26505 $elm$parser$Parser$symbol('('))), 26506 $elm$parser$Parser$succeed( 26507 $elm$parser$Parser$Done(revTokens)) 26508 ])); 26509}; 26510var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$FunctionEval = 4; 26511var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$functionEvalLoop = F3( 26512 function (identifier, revTokens, thisRevToken) { 26513 return $elm$parser$Parser$oneOf( 26514 _List_fromArray( 26515 [ 26516 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$whitespaceOrCommentStep(thisRevToken), 26517 A2( 26518 $elm$parser$Parser$map, 26519 function (_v0) { 26520 return $elm$parser$Parser$Done( 26521 _Utils_ap( 26522 A2( 26523 $elm$core$List$cons, 26524 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, '('), 26525 thisRevToken), 26526 A2( 26527 $elm$core$List$cons, 26528 _Utils_Tuple2( 26529 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 26530 identifier), 26531 revTokens))); 26532 }, 26533 $elm$parser$Parser$symbol('(')), 26534 $elm$parser$Parser$succeed( 26535 $elm$parser$Parser$Done( 26536 _Utils_ap( 26537 thisRevToken, 26538 A2( 26539 $elm$core$List$cons, 26540 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, identifier), 26541 revTokens)))) 26542 ])); 26543 }); 26544var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$declarationKeywordSet = $elm$core$Set$fromList( 26545 _List_fromArray( 26546 ['var', 'const', 'let'])); 26547var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isDeclarationKeyword = function (str) { 26548 return A2($elm$core$Set$member, str, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$declarationKeywordSet); 26549}; 26550var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$keywordSet = $elm$core$Set$fromList( 26551 _List_fromArray( 26552 ['break', 'do', 'instanceof', 'typeof', 'case', 'else', 'new', 'catch', 'finally', 'return', 'void', 'continue', 'for', 'switch', 'while', 'debugger', 'this', 'with', 'default', 'if', 'throw', 'delete', 'in', 'try', 'enum', 'extends', 'export', 'import', 'implements', 'private', 'public', 'yield', 'interface', 'package', 'protected'])); 26553var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isKeyword = function (str) { 26554 return A2($elm$core$Set$member, str, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$keywordSet); 26555}; 26556var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$literalKeywordSet = $elm$core$Set$fromList( 26557 _List_fromArray( 26558 ['true', 'false', 'null', 'undefined', 'NaN', 'Infinity'])); 26559var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isLiteralKeyword = function (str) { 26560 return A2($elm$core$Set$member, str, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$literalKeywordSet); 26561}; 26562var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$keywordParser = F2( 26563 function (revTokens, n) { 26564 return ((n === 'function') || (n === 'static')) ? A2( 26565 $elm$parser$Parser$loop, 26566 A2( 26567 $elm$core$List$cons, 26568 _Utils_Tuple2( 26569 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(3), 26570 n), 26571 revTokens), 26572 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$functionDeclarationLoop) : ((n === 'class') ? A2( 26573 $elm$parser$Parser$loop, 26574 A2( 26575 $elm$core$List$cons, 26576 _Utils_Tuple2( 26577 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(3), 26578 n), 26579 revTokens), 26580 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$classDeclarationLoop) : (((n === 'this') || (n === 'super')) ? $elm$parser$Parser$succeed( 26581 A2( 26582 $elm$core$List$cons, 26583 _Utils_Tuple2( 26584 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(7), 26585 n), 26586 revTokens)) : ((n === 'constructor') ? A2( 26587 $elm$parser$Parser$loop, 26588 A2( 26589 $elm$core$List$cons, 26590 _Utils_Tuple2( 26591 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(5), 26592 n), 26593 revTokens), 26594 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$functionDeclarationLoop) : ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isKeyword(n) ? $elm$parser$Parser$succeed( 26595 A2( 26596 $elm$core$List$cons, 26597 _Utils_Tuple2( 26598 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(2), 26599 n), 26600 revTokens)) : ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isDeclarationKeyword(n) ? $elm$parser$Parser$succeed( 26601 A2( 26602 $elm$core$List$cons, 26603 _Utils_Tuple2( 26604 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(3), 26605 n), 26606 revTokens)) : ($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isLiteralKeyword(n) ? $elm$parser$Parser$succeed( 26607 A2( 26608 $elm$core$List$cons, 26609 _Utils_Tuple2( 26610 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 26611 n), 26612 revTokens)) : A2( 26613 $elm$parser$Parser$loop, 26614 _List_Nil, 26615 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$functionEvalLoop, n, revTokens)))))))); 26616 }); 26617var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$Number = 0; 26618var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$number = A2( 26619 $elm$parser$Parser$map, 26620 function (b) { 26621 return _Utils_Tuple2( 26622 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(0), 26623 b); 26624 }, 26625 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$number)); 26626var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isOperatorChar = function (c) { 26627 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$operatorSet); 26628}; 26629var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$operatorChar = A2( 26630 $elm$parser$Parser$map, 26631 function (b) { 26632 return _Utils_Tuple2( 26633 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(2), 26634 b); 26635 }, 26636 $elm$parser$Parser$getChompedString( 26637 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isOperatorChar))); 26638var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$String = 1; 26639var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$jsEscapable = A2( 26640 $elm$parser$Parser$map, 26641 function (b) { 26642 return _List_fromArray( 26643 [ 26644 _Utils_Tuple2( 26645 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 26646 b) 26647 ]); 26648 }, 26649 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$escapable)); 26650var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$quoteDelimiter = { 26651 d9: function (b) { 26652 return _Utils_Tuple2( 26653 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(1), 26654 b); 26655 }, 26656 g: '\'', 26657 em: _List_fromArray( 26658 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$lineBreakList, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$jsEscapable]), 26659 es: false, 26660 et: function (c) { 26661 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapable(c)); 26662 }, 26663 i: '\'' 26664}; 26665var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$doubleQuote = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 26666 _Utils_update( 26667 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$quoteDelimiter, 26668 {g: '\"', i: '\"'})); 26669var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$quote = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$quoteDelimiter); 26670var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$templateString = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 26671 _Utils_update( 26672 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$quoteDelimiter, 26673 { 26674 g: '`', 26675 em: _List_fromArray( 26676 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$lineBreakList, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$jsEscapable]), 26677 et: function (c) { 26678 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapable(c)); 26679 }, 26680 i: '`' 26681 })); 26682var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$stringLiteral = $elm$parser$Parser$oneOf( 26683 _List_fromArray( 26684 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$quote, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$doubleQuote, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$templateString])); 26685var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$mainLoop = function (revTokens) { 26686 return $elm$parser$Parser$oneOf( 26687 _List_fromArray( 26688 [ 26689 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$whitespaceOrCommentStep(revTokens), 26690 A2( 26691 $elm$parser$Parser$map, 26692 function (s) { 26693 return $elm$parser$Parser$Loop( 26694 _Utils_ap(s, revTokens)); 26695 }, 26696 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$stringLiteral), 26697 A2( 26698 $elm$parser$Parser$map, 26699 function (s) { 26700 return $elm$parser$Parser$Loop( 26701 A2($elm$core$List$cons, s, revTokens)); 26702 }, 26703 $elm$parser$Parser$oneOf( 26704 _List_fromArray( 26705 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$operatorChar, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$groupChar, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$number]))), 26706 A2( 26707 $elm$parser$Parser$map, 26708 $elm$parser$Parser$Loop, 26709 A2( 26710 $elm$parser$Parser$andThen, 26711 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$keywordParser(revTokens), 26712 $elm$parser$Parser$getChompedString( 26713 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$isIdentifierNameChar)))), 26714 $elm$parser$Parser$succeed( 26715 $elm$parser$Parser$Done(revTokens)) 26716 ])); 26717}; 26718var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$toRevTokens = A2($elm$parser$Parser$loop, _List_Nil, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$mainLoop); 26719var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$toLines = A2( 26720 $elm$core$Basics$composeR, 26721 $elm$parser$Parser$run($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$toRevTokens), 26722 $elm$core$Result$map( 26723 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLines($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$syntaxToStyle))); 26724var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$javascript = A2( 26725 $elm$core$Basics$composeR, 26726 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Javascript$toLines, 26727 $elm$core$Result$map($elm$core$Basics$identity)); 26728var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$syntaxToStyle = function (syntax) { 26729 switch (syntax) { 26730 case 0: 26731 return _Utils_Tuple2(3, 'json-s'); 26732 case 1: 26733 return _Utils_Tuple2(2, 'json-e'); 26734 case 2: 26735 return _Utils_Tuple2(2, 'json-n'); 26736 case 3: 26737 return _Utils_Tuple2(4, 'json-b'); 26738 case 4: 26739 return _Utils_Tuple2(4, 'json-null'); 26740 case 5: 26741 return _Utils_Tuple2(5, 'json-k'); 26742 case 6: 26743 return _Utils_Tuple2(0, 'json-o'); 26744 default: 26745 return _Utils_Tuple2(0, 'json-a'); 26746 } 26747}; 26748var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$Array = 7; 26749var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$Boolean = 3; 26750var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$Null = 4; 26751var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$Object = 6; 26752var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$ObjectKey = 5; 26753var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$String = 0; 26754var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$Number = 2; 26755var $elm$parser$Parser$ExpectingFloat = {$: 5}; 26756var $elm$parser$Parser$Advanced$consumeBase = _Parser_consumeBase; 26757var $elm$parser$Parser$Advanced$consumeBase16 = _Parser_consumeBase16; 26758var $elm$parser$Parser$Advanced$bumpOffset = F2( 26759 function (newOffset, s) { 26760 return {d5: s.d5 + (newOffset - s.cf), f: s.f, h: s.h, cf: newOffset, gm: s.gm, dE: s.dE}; 26761 }); 26762var $elm$parser$Parser$Advanced$chompBase10 = _Parser_chompBase10; 26763var $elm$parser$Parser$Advanced$isAsciiCode = _Parser_isAsciiCode; 26764var $elm$parser$Parser$Advanced$consumeExp = F2( 26765 function (offset, src) { 26766 if (A3($elm$parser$Parser$Advanced$isAsciiCode, 101, offset, src) || A3($elm$parser$Parser$Advanced$isAsciiCode, 69, offset, src)) { 26767 var eOffset = offset + 1; 26768 var expOffset = (A3($elm$parser$Parser$Advanced$isAsciiCode, 43, eOffset, src) || A3($elm$parser$Parser$Advanced$isAsciiCode, 45, eOffset, src)) ? (eOffset + 1) : eOff
26768set; 26769 var newOffset = A2($elm$parser$Parser$Advanced$chompBase10, expOffset, src); 26770 return _Utils_eq(expOffset, newOffset) ? (-newOffset) : newOffset; 26771 } else { 26772 return offset; 26773 } 26774 }); 26775var $elm$parser$Parser$Advanced$consumeDotAndExp = F2( 26776 function (offset, src) { 26777 return A3($elm$parser$Parser$Advanced$isAsciiCode, 46, offset, src) ? A2( 26778 $elm$parser$Parser$Advanced$consumeExp, 26779 A2($elm$parser$Parser$Advanced$chompBase10, offset + 1, src), 26780 src) : A2($elm$parser$Parser$Advanced$consumeExp, offset, src); 26781 }); 26782var $elm$parser$Parser$Advanced$finalizeInt = F5( 26783 function (invalid, handler, startOffset, _v0, s) { 26784 var endOffset = _v0.a; 26785 var n = _v0.b; 26786 if (handler.$ === 1) { 26787 var x = handler.a; 26788 return A2( 26789 $elm$parser$Parser$Advanced$Bad, 26790 true, 26791 A2($elm$parser$Parser$Advanced$fromState, s, x)); 26792 } else { 26793 var toValue = handler.a; 26794 return _Utils_eq(startOffset, endOffset) ? A2( 26795 $elm$parser$Parser$Advanced$Bad, 26796 _Utils_cmp(s.cf, startOffset) < 0, 26797 A2($elm$parser$Parser$Advanced$fromState, s, invalid)) : A3( 26798 $elm$parser$Parser$Advanced$Good, 26799 true, 26800 toValue(n), 26801 A2($elm$parser$Parser$Advanced$bumpOffset, endOffset, s)); 26802 } 26803 }); 26804var $elm$parser$Parser$Advanced$fromInfo = F4( 26805 function (row, col, x, context) { 26806 return A2( 26807 $elm$parser$Parser$Advanced$AddRight, 26808 $elm$parser$Parser$Advanced$Empty, 26809 A4($elm$parser$Parser$Advanced$DeadEnd, row, col, x, context)); 26810 }); 26811var $elm$parser$Parser$Advanced$finalizeFloat = F6( 26812 function (invalid, expecting, intSettings, floatSettings, intPair, s) { 26813 var intOffset = intPair.a; 26814 var floatOffset = A2($elm$parser$Parser$Advanced$consumeDotAndExp, intOffset, s.dE); 26815 if (floatOffset < 0) { 26816 return A2( 26817 $elm$parser$Parser$Advanced$Bad, 26818 true, 26819 A4($elm$parser$Parser$Advanced$fromInfo, s.gm, s.d5 - (floatOffset + s.cf), invalid, s.f)); 26820 } else { 26821 if (_Utils_eq(s.cf, floatOffset)) { 26822 return A2( 26823 $elm$parser$Parser$Advanced$Bad, 26824 false, 26825 A2($elm$parser$Parser$Advanced$fromState, s, expecting)); 26826 } else { 26827 if (_Utils_eq(intOffset, floatOffset)) { 26828 return A5($elm$parser$Parser$Advanced$finalizeInt, invalid, intSettings, s.cf, intPair, s); 26829 } else { 26830 if (floatSettings.$ === 1) { 26831 var x = floatSettings.a; 26832 return A2( 26833 $elm$parser$Parser$Advanced$Bad, 26834 true, 26835 A2($elm$parser$Parser$Advanced$fromState, s, invalid)); 26836 } else { 26837 var toValue = floatSettings.a; 26838 var _v1 = $elm$core$String$toFloat( 26839 A3($elm$core$String$slice, s.cf, floatOffset, s.dE)); 26840 if (_v1.$ === 1) { 26841 return A2( 26842 $elm$parser$Parser$Advanced$Bad, 26843 true, 26844 A2($elm$parser$Parser$Advanced$fromState, s, invalid)); 26845 } else { 26846 var n = _v1.a; 26847 return A3( 26848 $elm$parser$Parser$Advanced$Good, 26849 true, 26850 toValue(n), 26851 A2($elm$parser$Parser$Advanced$bumpOffset, floatOffset, s)); 26852 } 26853 } 26854 } 26855 } 26856 } 26857 }); 26858var $elm$parser$Parser$Advanced$number = function (c) { 26859 return function (s) { 26860 if (A3($elm$parser$Parser$Advanced$isAsciiCode, 48, s.cf, s.dE)) { 26861 var zeroOffset = s.cf + 1; 26862 var baseOffset = zeroOffset + 1; 26863 return A3($elm$parser$Parser$Advanced$isAsciiCode, 120, zeroOffset, s.dE) ? A5( 26864 $elm$parser$Parser$Advanced$finalizeInt, 26865 c.fI, 26866 c.fA, 26867 baseOffset, 26868 A2($elm$parser$Parser$Advanced$consumeBase16, baseOffset, s.dE), 26869 s) : (A3($elm$parser$Parser$Advanced$isAsciiCode, 111, zeroOffset, s.dE) ? A5( 26870 $elm$parser$Parser$Advanced$finalizeInt, 26871 c.fI, 26872 c.eC, 26873 baseOffset, 26874 A3($elm$parser$Parser$Advanced$consumeBase, 8, baseOffset, s.dE), 26875 s) : (A3($elm$parser$Parser$Advanced$isAsciiCode, 98, zeroOffset, s.dE) ? A5( 26876 $elm$parser$Parser$Advanced$finalizeInt, 26877 c.fI, 26878 c.d2, 26879 baseOffset, 26880 A3($elm$parser$Parser$Advanced$consumeBase, 2, baseOffset, s.dE), 26881 s) : A6( 26882 $elm$parser$Parser$Advanced$finalizeFloat, 26883 c.fI, 26884 c.eb, 26885 c.eq, 26886 c.ec, 26887 _Utils_Tuple2(zeroOffset, 0), 26888 s))); 26889 } else { 26890 return A6( 26891 $elm$parser$Parser$Advanced$finalizeFloat, 26892 c.fI, 26893 c.eb, 26894 c.eq, 26895 c.ec, 26896 A3($elm$parser$Parser$Advanced$consumeBase, 10, s.cf, s.dE), 26897 s); 26898 } 26899 }; 26900}; 26901var $elm$parser$Parser$Advanced$float = F2( 26902 function (expecting, invalid) { 26903 return $elm$parser$Parser$Advanced$number( 26904 { 26905 d2: $elm$core$Result$Err(invalid), 26906 eb: expecting, 26907 ec: $elm$core$Result$Ok($elm$core$Basics$identity), 26908 fA: $elm$core$Result$Err(invalid), 26909 eq: $elm$core$Result$Ok($elm$core$Basics$toFloat),
26910 fI: invalid, 26911 eC: $elm$core$Result$Err(invalid) 26912 }); 26913 }); 26914var $elm$parser$Parser$float = A2($elm$parser$Parser$Advanced$float, $elm$parser$Parser$ExpectingFloat, $elm$parser$Parser$ExpectingFloat); 26915var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$positiveNumberExponentialNotation = A2( 26916 $elm$parser$Parser$ignorer, 26917 $elm$parser$Parser$succeed(0), 26918 $elm$parser$Parser$backtrackable($elm$parser$Parser$float)); 26919var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$negativeNumberExponentialNotation = A2( 26920 $elm$parser$Parser$ignorer, 26921 A2( 26922 $elm$parser$Parser$ignorer, 26923 $elm$parser$Parser$succeed(0), 26924 $elm$parser$Parser$backtrackable( 26925 $elm$parser$Parser$symbol('-'))), 26926 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$positiveNumberExponentialNotation); 26927var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$numberExponentialNotation = $elm$parser$Parser$oneOf( 26928 _List_fromArray( 26929 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$positiveNumberExponentialNotation, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$negativeNumberExponentialNotation, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$number])); 26930var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$number = A2( 26931 $elm$parser$Parser$map, 26932 function (b) { 26933 return _Utils_Tuple2( 26934 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(2), 26935 b); 26936 }, 26937 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$numberExponentialNotation)); 26938var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$lineBreak = A2( 26939 $elm$parser$Parser$map, 26940 function (_v0) { 26941 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak, '\n'); 26942 }, 26943 $elm$parser$Parser$symbol('\n')); 26944var $elm$core$List$singleton = function (value) { 26945 return _List_fromArray( 26946 [value]); 26947}; 26948var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$Escapable = 1; 26949var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$escapableSet = $elm$core$Set$fromList( 26950 _List_fromArray( 26951 ['\"', '\\', '/', 'b', 'f', 'n', 'r', 't', 'u'])); 26952var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$isEscapableChar = function (c) { 26953 return A2($elm$core$Set$member, c, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$escapableSet); 26954}; 26955var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$escapable = A2( 26956 $elm$parser$Parser$ignorer, 26957 A2( 26958 $elm$parser$Parser$ignorer, 26959 $elm$parser$Parser$succeed(0), 26960 $elm$parser$Parser$backtrackable( 26961 $elm$parser$Parser$symbol('\\'))), 26962 $elm$parser$Parser$chompIf($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$isEscapableChar)); 26963var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$stringEscapable = A2( 26964 $elm$parser$Parser$map, 26965 function (b) { 26966 return _List_fromArray( 26967 [ 26968 _Utils_Tuple2( 26969 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(1), 26970 b) 26971 ]); 26972 }, 26973 $elm$parser$Parser$getChompedString($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$escapable)); 26974var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$doubleQuoteDelimiter = function (syntax_) { 26975 return { 26976 d9: function (b) { 26977 return _Utils_Tuple2( 26978 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(syntax_), 26979 b); 26980 }, 26981 g: '\"', 26982 em: _List_fromArray( 26983 [ 26984 A2($elm$parser$Parser$map, $elm$core$List$singleton, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$lineBreak), 26985 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$stringEscapable 26986 ]), 26987 es: false, 26988 et: function (c) { 26989 return !($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isLineBreak(c) || $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isEscapable(c)); 26990 }, 26991 i: '\"' 26992 }; 26993}; 26994var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$stringLiteral = F2( 26995 function (syntax_, revTokens) { 26996 return A2( 26997 $elm$parser$Parser$map, 26998 function (n) { 26999 return _Utils_ap(n, revTokens); 27000 }, 27001 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$delimited( 27002 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$doubleQuoteDelimiter(syntax_))); 27003 }); 27004var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$space = A2( 27005 $elm$parser$Parser$map, 27006 function (b) { 27007 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 27008 }, 27009 $elm$parser$Parser$getChompedString( 27010 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isSpace))); 27011var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$whitespace = $elm$parser$Parser$oneOf( 27012 _List_fromArray( 27013 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$space, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$lineBreak])); 27014var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$arrayLoop = function (revTokens) { 27015 return $elm$parser$Parser$oneOf( 27016 _List_fromArray( 27017 [ 27018 A2( 27019 $elm$parser$Parser$map, 27020 function (n) { 27021 return $elm$parser$Parser$Loop( 27022 A2($elm$core$List$cons, n, revTokens)); 27023 }, 27024 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$whitespace), 27025 A2( 27026 $elm$parser$Parser$map, 27027 function (n) { 27028 return $elm$parser$Parser$Loop( 27029 A2($elm$core$List$cons, n, revTokens)); 27030 }, 27031 A2( 27032 $elm$parser$Parser$map, 27033 function (_v4) { 27034 return _Utils_Tuple2( 27035 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(7), 27036 ','); 27037 }, 27038 $elm$parser$Parser$symbol(','))), 27039 A2( 27040 $elm$parser$Parser$map, 27041 function (n) { 27042 return $elm$parser$Parser$Done( 27043 A2($elm$core$List$cons, n, revTokens)); 27044 }, 27045 A2( 27046 $elm$parser$Parser$map, 27047 function (_v5) { 27048 return _Utils_Tuple2( 27049 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(7), 27050 ']'); 27051 }, 27052 $elm$parser$Parser$symbol(']'))), 27053 A2( 27054 $elm$parser$Parser$map, 27055 function (ns) { 27056 return $elm$parser$Parser$Loop( 27057 _Utils_ap(ns, revTokens)); 27058 }, 27059 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$value(
27059)), 27060 $elm$parser$Parser$succeed( 27061 $elm$parser$Parser$Done(revTokens)) 27062 ])); 27063}; 27064var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$objectLoop = function (revTokens) { 27065 return $elm$parser$Parser$oneOf( 27066 _List_fromArray( 27067 [ 27068 A2( 27069 $elm$parser$Parser$map, 27070 function (n) { 27071 return $elm$parser$Parser$Loop( 27072 A2($elm$core$List$cons, n, revTokens)); 27073 }, 27074 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$whitespace), 27075 A2( 27076 $elm$parser$Parser$map, 27077 $elm$parser$Parser$Loop, 27078 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$stringLiteral, 5, revTokens)), 27079 A2( 27080 $elm$parser$Parser$map, 27081 $elm$parser$Parser$Loop, 27082 A2( 27083 $elm$parser$Parser$andThen, 27084 function (_v0) { 27085 var revTokens_ = A2( 27086 $elm$core$List$cons, 27087 _Utils_Tuple2( 27088 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 27089 ':'), 27090 revTokens); 27091 return A2( 27092 $elm$parser$Parser$map, 27093 function (ns) { 27094 return _Utils_ap(ns, revTokens_); 27095 }, 27096 $elm$parser$Parser$oneOf( 27097 _List_fromArray( 27098 [ 27099 A2( 27100 $elm$parser$Parser$andThen, 27101 function (ws) { 27102 return $elm$parser$Parser$oneOf( 27103 _List_fromArray( 27104 [ 27105 A2( 27106 $elm$parser$Parser$map, 27107 function (v) { 27108 return _Utils_ap( 27109 v, 27110 _List_fromArray( 27111 [ws])); 27112 }, 27113 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$value()), 27114 $elm$parser$Parser$succeed( 27115 _List_fromArray( 27116 [ws])) 27117 ])); 27118 }, 27119 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$whitespace), 27120 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$value(), 27121 $elm$parser$Parser$succeed(_List_Nil) 27122 ]))); 27123 }, 27124 $elm$parser$Parser$symbol(':'))), 27125 A2( 27126 $elm$parser$Parser$map, 27127 function (n) { 27128 return $elm$parser$Parser$Loop( 27129 A2($elm$core$List$cons, n, revTokens)); 27130 }, 27131 A2( 27132 $elm$parser$Parser$map, 27133 function (_v1) { 27134 return _Utils_Tuple2( 27135 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 27136 ','); 27137 }, 27138 $elm$parser$Parser$symbol(','))), 27139 A2( 27140 $elm$parser$Parser$map, 27141 function (n) { 27142 return $elm$parser$Parser$Done( 27143 A2($elm$core$List$cons, n, revTokens)); 27144 }, 27145 A2( 27146 $elm$parser$Parser$map, 27147 function (_v2) { 27148 return _Utils_Tuple2( 27149 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 27150 '}'); 27151 }, 27152 $elm$parser$Parser$symbol('}'))), 27153 $elm$parser$Parser$succeed( 27154 $elm$parser$Parser$Done(revTokens)) 27155 ])); 27156}; 27157function $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$value() { 27158 return $elm$parser$Parser$oneOf( 27159 _List_fromArray( 27160 [ 27161 A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$stringLiteral, 0, _List_Nil), 27162 A2( 27163 $elm$parser$Parser$map, 27164 function (n) { 27165 return _List_fromArray( 27166 [n]); 27167 }, 27168 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$number), 27169 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$object(), 27170 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$array(), 27171 A2( 27172 $elm$parser$Parser$map, 27173 function (s) { 27174 return _List_fromArray( 27175 [ 27176 _Utils_Tuple2( 27177 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(4), 27178 s) 27179 ]); 27180 }, 27181 $elm$parser$Parser$getChompedString( 27182 $elm$parser$Parser$keyword('null'))), 27183 A2( 27184 $elm$parser$Parser$map, 27185 function (s) { 27186 return _List_fromArray( 27187 [ 27188 _Utils_Tuple2( 27189 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(3), 27190 s) 27191 ]); 27192 }, 27193 $elm$parser$Parser$getChompedString( 27194 $elm$parser$Parser$oneOf( 27195 _List_fromArray( 27196 [ 27197 $elm$parser$Parser$keyword('true'), 27198 $elm$parser$Parser$keyword('false') 27199 ])))) 27200 ])); 27201} 27202function $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$array() { 27203 return A2( 27204 $elm$parser$Parser$andThen, 27205 function (_v6) { 27206 return A2( 27207 $elm$parser$Parser$loop, 27208 _List_fromArray( 27209 [ 27210 _Utils_Tuple2( 27211 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(7), 27212 '[') 27213 ]), 27214 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$arrayLoop); 27215 }, 27216 $elm$parser$Parser$symbol('[')); 27217} 27218function $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$object() { 27219 return A2( 27220 $elm$parser$Parser$andThen, 27221 function (_v3) { 27222 return A2( 27223 $elm$parser$Parser$loop, 27224 _List_fromArray( 27225 [ 27226 _Utils_Tuple2( 27227 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$C(6), 27228 '{') 27229 ]), 27230 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$objectLoop); 27231 }, 27232 $elm$parser$Parser$symbol('{')); 27233} 27234var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$value = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$value(
27234); 27235$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$value = function () { 27236 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$value; 27237}; 27238var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$array = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$array(); 27239$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$array = function () { 27240 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$array; 27241}; 27242var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$object = $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$object(); 27243$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$cyclic$object = function () { 27244 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$object; 27245}; 27246var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$mainLoop = function (revTokens) { 27247 return $elm$parser$Parser$oneOf( 27248 _List_fromArray( 27249 [ 27250 A2( 27251 $elm$parser$Parser$map, 27252 function (n) { 27253 return $elm$parser$Parser$Loop( 27254 A2($elm$core$List$cons, n, revTokens)); 27255 }, 27256 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$whitespace), 27257 A2( 27258 $elm$parser$Parser$map, 27259 function (n) { 27260 return $elm$parser$Parser$Loop( 27261 _Utils_ap(n, revTokens)); 27262 }, 27263 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$object), 27264 A2( 27265 $elm$parser$Parser$map, 27266 function (b) { 27267 return $elm$parser$Parser$Loop( 27268 A2( 27269 $elm$core$List$cons, 27270 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 27271 revTokens)); 27272 }, 27273 $elm$parser$Parser$getChompedString( 27274 $elm$parser$Parser$chompIf( 27275 $elm$core$Basics$always(true)))), 27276 $elm$parser$Parser$succeed( 27277 $elm$parser$Parser$Done(revTokens)) 27278 ])); 27279}; 27280var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$toRevTokens = A2($elm$parser$Parser$loop, _List_Nil, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$mainLoop); 27281var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$toLines = A2( 27282 $elm$core$Basics$composeR, 27283 $elm$parser$Parser$run($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$toRevTokens), 27284 $elm$core$Result$map( 27285 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLines($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$syntaxToStyle))); 27286var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$json = A2( 27287 $elm$core$Basics$composeR, 27288 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Json$toLines, 27289 $elm$core$Result$map($elm$core$Basics$identity)); 27290var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$syntaxToStyle = function (syntax) { 27291 return _Utils_Tuple2(0, 'nolang'); 27292}; 27293var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$lineBreak = A2( 27294 $elm$parser$Parser$map, 27295 function (_v0) { 27296 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$LineBreak, '\n'); 27297 }, 27298 $elm$parser$Parser$symbol('\n')); 27299var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$space = A2( 27300 $elm$parser$Parser$map, 27301 function (b) { 27302 return _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b); 27303 }, 27304 $elm$parser$Parser$getChompedString( 27305 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$chompIfThenWhile($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Helpers$isSpace))); 27306var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$whitespace = $elm$parser$Parser$oneOf( 27307 _List_fromArray( 27308 [$pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$space, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$lineBreak])); 27309var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$mainLoop = function (revTokens) { 27310 return $elm$parser$Parser$oneOf( 27311 _List_fromArray( 27312 [ 27313 A2( 27314 $elm$parser$Parser$map, 27315 function (n) { 27316 return $elm$parser$Parser$Loop( 27317 A2($elm$core$List$cons, n, revTokens)); 27318 }, 27319 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$whitespace), 27320 A2( 27321 $elm$parser$Parser$map, 27322 function (b) { 27323 return $elm$parser$Parser$Loop( 27324 A2( 27325 $elm$core$List$cons, 27326 _Utils_Tuple2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$Type$Normal, b), 27327 revTokens)); 27328 }, 27329 $elm$parser$Parser$getChompedString( 27330 $elm$parser$Parser$chompIf( 27331 $elm$core$Basics$always(true)))), 27332 $elm$parser$Parser$succeed( 27333 $elm$parser$Parser$Done(revTokens)) 27334 ])); 27335}; 27336var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$toRevTokens = A2($elm$parser$Parser$loop, _List_Nil, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$mainLoop); 27337var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$toLines = A2( 27338 $elm$core$Basics$composeR, 27339 $elm$parser$Parser$run($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$toRevTokens), 27340 $elm$core$Result$map( 27341 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Helpers$toLines($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$syntaxToStyle))); 27342var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$noLang = A2( 27343 $elm$core$Basics$composeR, 27344 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Language$NoLang$toLines, 27345 $elm$core$Result$map($elm$core$Basics$identity)); 27346var $elm$html$Html$ol = _VirtualDom_node('ol'); 27347var $dillonkearns$elm_markdown$Markdown$HtmlRenderer$HtmlRenderer = $elm$core$Basics$identity; 27348var $elm$core$Result$mapError = F2( 27349 function (f, result) { 27350 if (!result.$) { 27351 var v = result.a; 27352 return $elm$core$Result$Ok(v); 27353 } else { 27354 var e = result.a; 27355 return $elm$core$Result$Err( 27356 f(e)); 27357 } 27358 }); 27359var $dillonkearns$elm_markdown$Markdown$Html$resultOr = F2( 27360 function (ra, rb) { 27361 if (ra.$ === 1) { 27362 var singleError = ra.a; 27363 if (!rb.$) { 27364 var okValue = rb.a; 27365 return $elm$core$Result$Ok(okValue); 27366 } else { 27367 var errorsSoFar = rb.a; 27368 return $elm$core$Result$Err( 27369 A2($elm$core$List$cons, singleError, errorsSoFar)); 27370 } 27371 } else { 27372 var okValue = ra.a; 27373 return $elm$core$Result$Ok(okValue); 27374 } 27375 }); 27376var $dillonkearns$elm_markdown$Markdown$Html$attributesToString = function (attributes) { 27377 return A2( 27378 $elm$core$String$join, 27379 ' ', 27380 A2( 27381 $elm$core$List$map, 27382 function (_v0) { 27383 var name = _v0.w; 27384 var value = _v0.cN; 27385 return name + ('=\"' + (value + '\"')); 27386 }, 27387 attributes)); 27388}; 27389var $dillonkearns$elm_markdown$Markdown$Html$tagToString = F2( 27390 function (tagName, attributes) { 27391 return $elm$core$List$isEmpty(attributes) ? ('<' + (tagName + '>')) : ('<' + (tagName + (' ' + ($dillonkearns$elm_markdown$Markdown$Html$attributesToString(attributes) + '>')))); 27392 }); 27393var $dillonkearns$elm_markdown$Markdown$Html$oneOf = function (decoders) { 27394 var unwrappedDecoders = A2( 27395 $elm$core$List$map, 27396 function (_v4) { 27397 var rawDecoder = _v4; 27398 return rawDecoder; 27399 }, 27400 decoders); 27401 return function (rawDecoder) { 27402 return F3( 27403 function (tagName, attributes, innerBlocks) { 27404 return A2( 27405 $elm$core$Result$mapError, 27406 function (errors) { 27407 if (!errors.b) { 27408 return 'Ran into a oneOf with no possibilities!'; 27409 } else { 27410 if (!errors.b.b) { 27411 var singleError = errors.a; 27412 return 'Problem with the given value:\n\n' + (A2($dillonkearns$elm_markdown$Markdown$Html$tagToString, tagName, attributes) + ('\n\n' + (singleError + '\n'))); 27413 } else { 27414 return 'oneOf failed parsing this value:\n ' + (A2($dillonkearns$elm_markdown$Markdown$Html$tagToString, tagName, attributes) + ('\n\nParsing failed in the following 2 ways:\n\n\n' + (A2( 27415 $elm$core$String$join, 27416 '\n\n', 27417 A2( 27418 $elm$core$List$indexedMap, 27419 F2( 27420 function (index, error) { 27421 return '(' + ($elm$core$String$fromInt(index + 1) + (') ' + error)); 27422 }), 27423 errors)) + '\n'))); 27424 } 27425 } 27426 }, 27427 A3(rawDecoder, tagName, attributes, innerBlocks)); 27428 }); 27429 }( 27430 A3( 27431 $elm$core$List$foldl, 27432 F2( 27433 function (decoder, soFar) { 27434 return F3( 27435 function (tagName, attributes, children) { 27436 return A2( 27437 $dillonkearns$elm_markdown$Markdown$Html$resultOr, 27438 A3(decoder, tagName, attributes, children), 27439 A3(soFar, tagName, attributes, children)); 27440 }); 27441 }), 27442 F3( 27443 function (_v0, _v1, _v2) { 27444 return $elm$core$Result$Err(_List_Nil); 27445 }), 27446 unwrappedDecoders)); 27447}; 27448var $elm$html$Html$pre = _VirtualDom_node('pre'); 27449var $elm$html$Html$Attributes$start = function (n) { 27450 return A2( 27451 $elm$html$Html$Attributes$stringProperty, 27452 'start', 27453 $elm$core$String$fromInt(n)); 27454}; 27455var $elm$html$Html$strong = _VirtualDom_node('strong'); 27456var $elm$html$Html$Attributes$title = $elm$html$Html$Attributes$stringProperty('title'); 27457var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Add = 1; 27458var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Del = 2; 27459var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$Line$Normal = 0; 27460var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$requiredStyleToString = function (required) { 27461 return 'elmsh' + function () { 27462 switch (required) { 27463 case 0: 27464 return '0'; 27465 case 1: 27466 return '-comm'; 27467 case 2: 27468 return '1'; 27469 case 3: 27470 return '2'; 27471 case 4: 27472 return '3'; 27473 case 5: 27474 return '4'; 27475 case 6: 27476 return '5'; 27477 case 7: 27478 return '6'; 27479 default: 27480 return '7'; 27481 } 27482 }(); 27483}; 27484var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$fragmentView = function (_v0) { 27485 var text = _v0.j; 27486 var requiredStyle = _v0.gi; 27487 var additionalClass = _v0.fa; 27488 return ((!requiredStyle) && $elm$core$String$isEmpty(additionalClass)) ? $elm$html$Html$text(text) : A2( 27489 $elm$html$Html$span, 27490 _List_fromArray( 27491 [ 27492 $elm$html$Html$Attributes$classList( 27493 _List_fromArray( 27494 [ 27495 _Utils_Tuple2( 27496 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$requiredStyleToString(requiredStyle), 27497 !(!requiredStyle)), 27498 _Utils_Tuple2('elmsh-' + additionalClass, additionalClass !== '') 27499 ])) 27500 ]), 27501 _List_fromArray( 27502 [ 27503 $elm$html$Html$text(text) 27504 ])); 27505}; 27506var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$lineView = F3( 27507 function (start, index, _v0) { 27508 var fragments = _v0.fu; 27509 var highlight = _v0.b_; 27510 return A2( 27511 $elm$html$Html$div, 27512 _List_fromArray( 27513 [ 27514 $elm$html$Html$Attributes$classList( 27515 _List_fromArray( 27516 [ 27517 _Utils_Tuple2('elmsh-line', true), 27518 _Utils_Tuple2( 27519 'elmsh-hl', 27520 _Utils_eq( 27521 highlight, 27522 $elm$core$Maybe$Just(0))), 27523 _Utils_Tuple2( 27524 'elmsh-add', 27525 _Utils_eq( 27526 highlight, 27527 $elm$core$Maybe$Just(1))), 27528 _Utils_Tuple2( 27529 'elmsh-del', 27530 _Utils_eq( 27531 highlight, 27532 $elm$core$Maybe$Just(2))) 27533 ])), 27534 A2( 27535 $elm$html$Html$Attributes$attribute, 27536 'data-elmsh-lc', 27537 $elm$core$String$fromInt(start + index)) 27538 ]), 27539 A2($elm$core$List$map, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$fragmentView, fragments)); 27540 }); 27541var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$toInlineHtml = function (lines) { 27542 return A2( 27543 $elm$html$Html$code, 27544 _List_fromArray( 27545 [ 27546 $elm$html$Html$Attributes$class('elmsh') 27547 ]), 27548 $elm$core$List$concat( 27549 A2( 27550 $elm$core$List$map, 27551 function (_v0) { 27552 var highlight = _v0.b_; 27553 var fragments = _v0.fu; 27554 return _Utils_eq(highlight, $elm$core$Maybe$Nothing) ? A2($elm$core$List$map, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$fragmentView, fragments) : _List_fromArray( 27555 [ 27556 A2( 27557 $elm$html$Html$span, 27558 _List_fromArray( 27559 [ 27560 $elm$html$Html$Attributes$classList( 27561 _List_fromArray( 27562 [ 27563 _Utils_Tuple2( 27564 'elmsh-hl', 27565 _Utils_eq( 27566 highlight, 27567 $elm$core$Maybe$Just(0))), 27568 _Utils_Tuple2( 27569 'elmsh-add', 27570 _Utils_eq( 27571 highlight, 27572 $elm$core$Maybe$Just(1))), 27573 _Utils_Tuple2( 27574 'elmsh-del', 27575 _Utils_eq( 27576 highlight, 27577 $elm$core$Maybe$Just(2))) 27578 ])) 27579 ]), 27580 A2($elm$core$List$map, $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$fragmentView, fragments)) 27581 ]); 27582 }, 27583 lines))); 27584}; 27585var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$toBlockHtml = F2( 27586 function (maybeStart, lines) { 27587 if (maybeStart.$ === 1) { 27588 return A2( 27589 $elm$html$Html$pre, 27590 _List_fromArray( 27591 [ 27592 $elm$html$Html$Attributes$class('elmsh') 27593 ]), 27594 _List_fromArray( 27595 [ 27596 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$toInlineHtml(lines) 27597 ])); 27598 } else { 27599 var start = maybeStart.a; 27600 return A2( 27601 $elm$html$Html$pre, 27602 _List_fromArray( 27603 [ 27604 $elm$html$Html$Attributes$class('elmsh') 27605 ]), 27606 $elm$core$List$singleton( 27607 A2( 27608 $elm$html$Html$code, 27609 _List_Nil, 27610 A2( 27611 $elm$core$List$indexedMap, 27612 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$lineView(start), 27613 lines)))); 27614 } 27615 }); 27616var $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$toBlockHtml = F2( 27617 function (maybeStart, _v0) { 27618 var lines = _v0; 27619 return A2($pablohirafuji$elm_syntax_highlight$SyntaxHighlight$View$toBlockHtml, maybeStart, lines); 27620 }); 27621var $dtwrks$elm_book$ElmBook$UI$Markdown$defaultRenderer = { 27622 cW: function (children) { 27623 return A2( 27624 $elm$html$Html$div, 27625 _List_fromArray( 27626 [ 27627 $elm$html$Html$Attributes$class('elm-book-md elm-book-serif') 27628 ]), 27629 _List_fromArray( 27630 [ 27631 A2($elm$html$Html$blockquote, _List_Nil, children) 27632 ])); 27633 }, 27634 cZ: function (_v0) { 27635 var body = _v0.fe; 27636 var language = _v0.fK; 27637 var hCode = function () { 27638 var _v1 = A2($elm$core$Maybe$withDefault, 'elm', language); 27639 switch (_v1) { 27640 case 'elm': 27641 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$elm(body); 27642 case 'js': 27643 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$javascript(body); 27644 case 'json': 27645 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$json(body); 27646 case 'css': 27647 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$css(body); 27648 default: 27649 return $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$noLang(body); 27650 } 27651 }(); 27652 return A2( 27653 $elm$core$Result$withDefault, 27654 A2( 27655 $elm$html$Html$div, 27656 _List_fromArray( 27657 [ 27658 $elm$html$Html$Attributes$class('elm-book-md') 27659 ]), 27660 _List_fromArray( 27661 [ 27662 A2( 27663 $elm$html$Html$pre, 27664 _List_fromArray( 27665 [ 27666 $elm$html$Html$Attributes$class('elm-book-md__code-default elm-book-monospace elm-book-shadows-light') 27667 ]), 27668 _List_fromArray( 27669 [ 27670 $elm$html$Html$text(body) 27671 ])) 27672 ])), 27673 A2( 27674 $elm$core$Result$map, 27675 function (content) { 27676 return A2( 27677 $elm$html$Html$div, 27678 _List_fromArray( 27679 [ 27680 $elm$html$Html$Attributes$class('elm-book-md') 27681 ]), 27682 _List_fromArray( 27683 [ 27684 A2( 27685 $elm$html$Html$div, 27686 _List_fromArray( 27687 [ 27688 $elm$html$Html$Attributes$class('elm-book-md__code elm-book-monospace elm-book-shadows-light') 27689 ]), 27690 _List_fromArray( 27691 [content])) 27692 ])); 27693 }, 27694 A2( 27695 $elm$core$Result$map, 27696 $pablohirafuji$elm_syntax_highlight$SyntaxHighlight$toBlockHtml($elm$core$Maybe$Nothing), 27697 hCode))); 27698 }, 27699 c_: function (children) { 27700 return A2( 27701 $elm$html$Html$span, 27702 _List_fromArray( 27703 [ 27704 $elm$html$Html$Attributes$class('elm-book-md') 27705 ]), 27706 _List_fromArray( 27707 [ 27708 A2( 27709 $elm$html$Html$code, 27710 _List_fromArray( 27711 [ 27712 $elm$html$Html$Attributes$class('elm-book-monospace') 27713 ]), 27714 _List_fromArray( 27715 [ 27716 $elm$html$Html$text(children) 27717 ])) 27718 ])); 27719 }, 27720 c3: $elm$html$Html$em(_List_Nil), 27721 dc: A2( 27722 $elm$html$Html$div, 27723 _List_fromArray( 27724 [ 27725 $elm$html$Html$Attributes$class('elm-book-md') 27726 ]), 27727 _List_fromArray( 27728 [ 27729 A2($elm$html$Html$br, _List_Nil, _List_Nil) 27730 ])), 27731 dd: function (_v2) { 27732 var level = _v2.ex; 27733 var children = _v2.cY; 27734 var tag = function () { 27735 switch (level) { 27736
27736 case 0: 27737 return $elm$html$Html$h1( 27738 _List_fromArray( 27739 [ 27740 $elm$html$Html$Attributes$class('elm-book-serif') 27741 ])); 27742 case 1: 27743 return $elm$html$Html$h2( 27744 _List_fromArray( 27745 [ 27746 $elm$html$Html$Attributes$class('elm-book-serif') 27747 ])); 27748 case 2: 27749 return $elm$html$Html$h3( 27750 _List_fromArray( 27751 [ 27752 $elm$html$Html$Attributes$class('elm-book-serif') 27753 ])); 27754 case 3: 27755 return $elm$html$Html$h4( 27756 _List_fromArray( 27757 [ 27758 $elm$html$Html$Attributes$class('elm-book-sans') 27759 ])); 27760 case 4: 27761 return $elm$html$Html$h5( 27762 _List_fromArray( 27763 [ 27764 $elm$html$Html$Attributes$class('elm-book-sans') 27765 ])); 27766 default: 27767 return $elm$html$Html$h6( 27768 _List_fromArray( 27769 [ 27770 $elm$html$Html$Attributes$class('elm-book-sans') 27771 ])); 27772 } 27773 }(); 27774 return A2( 27775 $elm$html$Html$div, 27776 _List_fromArray( 27777 [ 27778 $elm$html$Html$Attributes$class('elm-book-md') 27779 ]), 27780 _List_fromArray( 27781 [ 27782 tag(children) 27783 ])); 27784 }, 27785 df: $dillonkearns$elm_markdown$Markdown$Html$oneOf(_List_Nil), 27786 dg: function (image) { 27787 return A2( 27788 $elm$html$Html$div, 27789 _List_fromArray( 27790 [ 27791 $elm$html$Html$Attributes$class('elm-book-md') 27792 ]), 27793 _List_fromArray( 27794 [ 27795 A2( 27796 $elm$html$Html$img, 27797 _List_fromArray( 27798 [ 27799 $elm$html$Html$Attributes$src(image.dE), 27800 $elm$html$Html$Attributes$alt(image.cT), 27801 $elm$html$Html$Attributes$title( 27802 A2($elm$core$Maybe$withDefault, '', image.gt)) 27803 ]), 27804 _List_Nil) 27805 ])); 27806 }, 27807 dk: F2( 27808 function (link, children) { 27809 return A2( 27810 $elm$html$Html$a, 27811 _List_fromArray( 27812 [ 27813 $elm$html$Html$Attributes$href(link.fm), 27814 $elm$html$Html$Attributes$title( 27815 A2($elm$core$Maybe$withDefault, '', link.gt)) 27816 ]), 27817 children); 27818 }), 27819 dt: F2( 27820 function (startingIndex, items) { 27821 return A2( 27822 $elm$html$Html$div, 27823 _List_fromArray( 27824 [ 27825 $elm$html$Html$Attributes$class('elm-book-md elm-book-serif elm-book-md__default') 27826 ]), 27827 _List_fromArray( 27828 [ 27829 A2( 27830 $elm$html$Html$ol, 27831 _List_fromArray( 27832 [ 27833 $elm$html$Html$Attributes$start(startingIndex) 27834 ]), 27835 A2( 27836 $elm$core$List$map, 27837 $elm$html$Html$li(_List_Nil), 27838 items)) 27839 ])); 27840 }), 27841 dv: function (children) { 27842 return A2( 27843 $elm$html$Html$div, 27844 _List_fromArray( 27845 [ 27846 $elm$html$Html$Attributes$class('elm-book-md elm-book-serif elm-book-md__default') 27847 ]), 27848 _List_fromArray( 27849 [ 27850 A2($elm$html$Html$p, _List_Nil, children) 27851 ])); 27852 }, 27853 dG: $elm$html$Html$span(_List_Nil), 27854 dH: $elm$html$Html$strong(_List_Nil), 27855 dK: function (children) { 27856 return A2( 27857 $elm$html$Html$div, 27858 _List_fromArray( 27859 [ 27860 $elm$html$Html$Attributes$class('elm-book-md elm-book-md__default elm-book-sans') 27861 ]), 27862 _List_fromArray( 27863 [ 27864 A2($elm$html$Html$table, _List_Nil, children) 27865 ])); 27866 }, 27867 dL: $elm$html$Html$tbody(_List_Nil), 27868 dM: F2( 27869 function (_v4, children_) { 27870 return A2($elm$html$Html$td, _List_Nil, children_); 27871 }), 27872 dN: $elm$html$Html$thead(_List_Nil), 27873 dO: function (maybeAlignment) { 27874 var attrs = A2( 27875 $elm$core$Maybe$withDefault, 27876 _List_Nil, 27877 A2( 27878 $elm$core$Maybe$map, 27879 $elm$core$List$singleton, 27880 A2( 27881 $elm$core$Maybe$map, 27882 $elm$html$Html$Attributes$align, 27883 A2( 27884 $elm$core$Maybe$map, 27885 function (alignment) { 27886 switch (alignment) { 27887 case 0: 27888 return 'left'; 27889 case 2: 27890 return 'center'; 27891 default: 27892 return 'right'; 27893 } 27894 }, 27895 maybeAlignment)))); 27896 return $elm$html$Html$th(attrs); 27897 }, 27898 cF: $elm$html$Html$tr(_List_Nil), 27899 j: $elm$html$Html$text, 27900 dP: A2( 27901 $elm$html$Html$div, 27902 _List_fromArray( 27903 [ 27904 $elm$html$Html$Attributes$class('elm-book-md') 27905 ]), 27906 _List_fromArray( 27907 [ 27908 A2($elm$html$Html$hr, _List_Nil, _List_Nil) 27909 ])), 27910 dV: function (items) { 27911 return A2( 27912 $elm$html$Html$div, 27913 _List_fromArray( 27914 [ 27915 $elm$html$Html$Attributes$class('elm-book-md elm-book-serif elm-book-md__default') 27916 ]), 27917 _List_fromArray( 27918 [ 27919 A2( 27920 $elm$html$Html$ul, 27921 _List_Nil, 27922 A2( 27923 $elm$core$List$map, 27924 function (item) { 27925 var task = item.a; 27926 var children = item.b; 27927 var checkbox = function () { 27928 switch (task) { 27929 case 0: 27930 return $elm$html$Html$text(''); 27931 case 1: 27932 return A2( 27933 $elm$html$Html$input, 27934 _List_fromArray( 27935 [ 27936 $elm$html$Html$Attributes$disabled(true), 27937 $elm$html$Html$Attributes$checked(false), 27938 $elm$html$Html$Attributes$type_('checkbox') 27939 ]), 27940 _List_Nil); 27941 default: 27942 return A2( 27943 $elm$html$Html$input, 27944 _List_fromArray( 27945 [ 27946 $elm$html$Html$Attributes$disabled(true), 27947 $elm$html$Html$Attributes$checked(true), 27948 $elm$html$Html$Attributes$type_('checkbox') 27949 ]), 27950 _List_Nil); 27951 } 27952 }(); 27953 return A2( 27954 $elm$html$Html$li, 27955 _List_Nil, 27956 A2($elm$core$List$cons, checkbox, children)); 27957 }, 27958 items)) 27959 ])); 27960 } 27961}; 27962var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$parseBool = function (v) { 27963 if ((!v.$) && (v.a === 'true')) { 27964 return $elm$core$Maybe$Just(true); 27965 } else { 27966 return $elm$core$Maybe$Nothing; 27967 } 27968}; 27969var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$Block = 0; 27970var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$parseDisplay = function (displayString) { 27971 _v0$3: 27972 while (true) { 27973 if (!displayString.$) { 27974 switch (displayString.a) { 27975 case 'block': 27976 return $elm$core$Maybe$Just(0); 27977 case 'inline': 27978 return $elm$core$Maybe$Just(1); 27979 case 'card': 27980 return $elm$core$Maybe$Just(2); 27981 default: 27982 break _v0$3; 27983 } 27984 } else { 27985 break _v0$3; 27986 } 27987 } 27988 return $elm$core$Maybe$Nothing; 27989}; 27990var $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$markdownOptions = F2( 27991 function (validOptions, options) { 27992 return A2( 27993 $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$toValidOptions, 27994 validOptions, 27995 { 27996 bF: options.bF, 27997 c2: $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$parseDisplay(options.c2), 27998 fw: $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$parseBool(options.fw), 27999 fC: $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$parseBool(options.fC) 28000 }); 28001 }); 28002var $dillonkearns$elm_markdown$Markdown$Html$tag = F2( 28003 function (expectedTag, a) { 28004 return F3( 28005 function (tagName, _v0, _v1) { 28006 return _Utils_eq(tagName, expectedTag) ? $elm$core$Result$Ok(a) : $elm$core$Result$Err('Expected ' + (expectedTag + (' but was ' + tagName))); 28007 }); 28008 }); 28009var $dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewLabel = F2( 28010 function (options_, label) { 28011 var _v0 = _Utils_Tuple3(label, options_.fC, options_.c2); 28012 if (_v0.a === '') { 28013 return $elm$html$Html$text(''); 28014 } else { 28015 if (_v0.b) { 28016 return $elm$html$Html$text(''); 28017 } else { 28018 if (_v0.c === 1) { 28019 var _v1 = _v0.c; 28020 return $elm$html$Html$text(''); 28021 } else { 28022 return A2( 28023 $elm$html$Html$p, 28024 _List_fromArray( 28025 [ 28026 $elm$html$Html$Attributes$class('elm-book elm-book__chapter-component__title elm-book-sans') 28027 ]), 28028 _List_fromArray( 28029 [ 28030 $elm$html$Html$text(label) 28031 ])); 28032 } 28033 } 28034 } 28035 }); 28036var $dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewBlock = F2( 28037 function (options_, _v0) { 28038 var label = _v0.a; 28039 var html = _v0.b; 28040 return A2( 28041 $elm$html$Html$article, 28042 _List_fromArray( 28043 [ 28044 $elm$html$Html$Attributes$class('elm-book__chapter-component') 28045 ]), 28046 _List_fromArray( 28047 [ 28048 A2($dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewLabel, options_, label), 28049 A2( 28050 $elm$html$Html$div, 28051 _List_Nil, 28052 _List_fromArray( 28053 [html])) 28054 ])); 28055 }); 28056var $dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewCard = F2( 28057 function (options_, _v0) { 28058 var label = _v0.a; 28059 var html = _v0.b; 28060 return A2( 28061 $elm$html$Html$article, 28062 _List_fromArray( 28063 [ 28064 $elm$html$Html$Attributes$class('elm-book__chapter-component') 28065 ]), 28066 _List_fromArray( 28067 [ 28068 A2($dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewLabel, options_, label), 28069 A2( 28070 $elm$html$Html$div, 28071 _List_fromArray( 28072 [ 28073 $elm$html$Html$Attributes$class('elm-book__chapter-component__background elm-book-shadows-light'), 28074 A2($elm$html$Html$Attributes$style, 'background', options_.bF) 28075 ]), 28076 _List_fromArray( 28077 [ 28078 A2( 28079 $elm$html$Html$div, 28080 _List_fromArray( 28081 [ 28082 $elm$html$Html$Attributes$class('elm-book__chapter-component__content') 28083 ]), 28084 _List_fromArray( 28085 [html])) 28086 ])) 28087 ])); 28088 }); 28089var $dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewDisplay = F2( 28090 function (options_, _v0) { 28091 var label = _v0.a; 28092 var html = _v0.b; 28093 var _v1 = options_.c2; 28094 switch (_v1) { 28095 case 1: 28096 return html; 28097 case 0: 28098 return A2( 28099 $dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewBlock, 28100 options_, 28101 _Utils_Tuple2(label, html)); 28102 default: 28103 return A2( 28104 $dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewCard, 28105 options_, 28106 _Utils_Tuple2(label, html)); 28107 } 28108 }); 28109var $dtwrks$elm_book$ElmBook$UI$ChapterComponent$view = F3( 28110 function (chapterTitle, options_, _v0) { 28111 var label = _v0.a; 28112 var html = _v0.b; 28113 return A2( 28114 $elm$html$Html$map, 28115 function (msg) { 28116 var actionContext = (label !== '') ? (chapterTitle + (' / ' + (label + ' / '))) : (chapterTitle + ' / '); 28117 if (msg.$ === 4) { 28118 var label_ = msg.b; 28119 return A2($dtwrks$elm_book$ElmBook$Internal$Msg$LogAction, actionContext, label_); 28120 } else { 28121 return msg; 28122 } 28123 }, 28124 A2( 28125 $dtwrks$elm_book$ElmBook$UI$ChapterComponent$viewDisplay, 28126 options_, 28127 _Utils_Tuple2(label, html))); 28128 }); 28129var $dillonkearns$elm_markdown$List$Helpers$find = F2( 28130 function (predicate, list) { 28131 find: 28132 while (true) { 28133 if (!list.b) { 28134 return $elm$core$Maybe$Nothing; 28135 } else { 28136 var first = list.a; 28137 var rest = list.b; 28138 if (predicate(first)) { 28139 return $elm$core$Maybe$Just(first); 28140 } else { 28141 var $temp$predicate = predicate, 28142 $temp$list = rest; 28143 predicate = $temp$predicate; 28144 list = $temp$list; 28145 continue find; 28146 } 28147 } 28148 } 28149 }); 28150var $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute = F2( 28151 function (attributeName, _v0) { 28152 var renderer = _v0; 28153 return F3( 28154 function (tagName, attributes, innerBlocks) { 28155 return function () { 28156 var _v1 = A2( 28157 $dillonkearns$elm_markdown$List$Helpers$find, 28158 function (_v2) { 28159 var name = _v2.w; 28160 return _Utils_eq(name, attributeName); 28161 }, 28162 attributes); 28163 if (!_v1.$) { 28164 var value = _v1.a.cN; 28165 return $elm$core$Result$map( 28166 $elm$core$Basics$apR( 28167 $elm$core$Maybe$Just(value))); 28168 } else { 28169 return $elm$core$Result$map( 28170 $elm$core$Basics$apR($elm$core$Maybe$Nothing)); 28171 } 28172 }()( 28173 A3(renderer, tagName, attributes, innerBlocks)); 28174 }); 28175 }); 28176var $dtwrks$elm_book$ElmBook$UI$Markdown$componentRenderer = F3( 28177 function (chapterTitle, chapterComponents, componentOptions) { 28178 return _Utils_update( 28179 $dtwrks$elm_book$ElmBook$UI$Markdown$defaultRenderer, 28180 { 28181 df: $dillonkearns$elm_markdown$Markdown$Html$oneOf( 28182 _List_fromArray( 28183 [ 28184 A2( 28185 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28186 'with-full-width', 28187 A2( 28188 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28189 'with-display', 28190 A2( 28191 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28192 'with-background', 28193 A2( 28194 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28195 'with-hidden-label', 28196 A2( 28197 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28198 'with-label', 28199 A2( 28200 $dillonkearns$elm_markdown$Markdown$Html$tag, 28201 'component', 28202 F6( 28203 function (labelFilter, hiddenLabel_, background_, display_, fullWidth_, _v0) { 28204 var section_ = function () { 28205 if (!labelFilter.$) { 28206 var label_ = labelFilter.a; 28207 return A2( 28208 $elm$core$Maybe$map, 28209 function (v) { 28210 return _Utils_Tuple2(label_, v); 28211 }, 28212 A2( 28213 $elm$core$Dict$get, 28214 label_, 28215 $elm$core$Dict$fromList(chapterComponents))); 28216 } else { 28217 return $elm$core$List$head(chapterComponents); 28218 } 28219 }(); 28220 var options_ = A2( 28221 $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$markdownOptions, 28222 componentOptions, 28223 {bF: background_, c2: display_, fw: fullWidth_, fC: hiddenLabel_}); 28224 return A2( 28225 $elm$core$Maybe$withDefault, 28226 A2( 28227 $elm$html$Html$div, 28228 _List_fromArray( 28229 [ 28230 $elm$html$Html$Attributes$class('elm-book__component-wrapper') 28231 ]), 28232 _List_fromArray( 28233 [ 28234 A2( 28235 $elm$html$Html$div, 28236 _List_fromArray( 28237 [ 28238 $elm$html$Html$Attributes$class('elm-book-sans elm-book__component-error') 28239 ]), 28240 _List_fromArray( 28241 [ 28242 $elm$html$Html$text( 28243 'Oops!⦠\"' + (A2($elm$core$Maybe$withDefault, '', labelFilter) + '\" component not found.')) 28244 ])) 28245 ])), 28246 A2( 28247 $elm$core$Maybe$map, 28248 function (c) { 28249 return (options_.c2 === 1) ? c : A2( 28250 $elm$html$Html$div, 28251 _List_fromArray( 28252 [ 28253 $elm$html$Html$Attributes$classList( 28254 _List_fromArray( 28255 [ 28256 _Utils_Tuple2('elm-book__component-wrapper', true), 28257 _Utils_Tuple2('full', options_.fw) 28258 ])) 28259 ]), 28260 _List_fromArray( 28261 [c])); 28262 }, 28263 A2( 28264 $elm$core$Maybe$map, 28265 A2($dtwrks$elm_book$ElmBook$UI$ChapterComponent$view, chapterTitle, options_), 28266 section_))); 28267 }))))))), 28268 A2( 28269 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28270 'with-full-width', 28271 A2( 28272 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28273 'with-display', 28274 A2( 28275 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28276 'with-background', 28277 A2( 28278 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28279 'with-hidden-label', 28280 A2( 28281 $dillonkearns$elm_markdown$Markdown$Html$withOptionalAttribute, 28282 'with-label', 28283 A2( 28284 $dillonkearns$elm_markdown$Markdown$Html$tag, 28285 'component-list', 28286 F6( 28287 function (labelFilter, hiddenLabel_, background_, display_, fullWidth_, _v2) { 28288 var options_ = A2( 28289 $dtwrks$elm_book$ElmBook$Internal$ComponentOptions$markdownOptions, 28290 componentOptions, 28291 {bF: background_, c2: display_, fw: fullWidth_, fC: hiddenLabel_}); 28292 var components = function () { 28293 if (!labelFilter.$) { 28294 var s = labelFilter.a; 28295 return A2( 28296 $elm$core$List$filter, 28297 A2( 28298 $elm$core$Basics$composeR, 28299 $elm$core$Tuple$first, 28300 $elm$core$String$startsWith(s)), 28301 chapterComponents); 28302 } else { 28303 return chapterComponents; 28304 } 28305 }(); 28306 return A2( 28307 $elm$html$Html$div, 28308 _List_fromArray( 28309 [ 28310 $elm$html$Html$Attributes$classList( 28311 _List_fromArray( 28312 [ 28313 _Utils_Tuple2('elm-book__component-wrapper', true), 28314 _Utils_Tup
28314le2('full', options_.fw) 28315 ])) 28316 ]), 28317 _List_fromArray( 28318 [ 28319 A2( 28320 $elm$html$Html$ul, 28321 _List_fromArray( 28322 [ 28323 $elm$html$Html$Attributes$class('elm-book-md__component-list') 28324 ]), 28325 A2( 28326 $elm$core$List$map, 28327 function (section) { 28328 return A2( 28329 $elm$html$Html$li, 28330 _List_fromArray( 28331 [ 28332 $elm$html$Html$Attributes$class('elm-book elm-book-md__component-list__item') 28333 ]), 28334 _List_fromArray( 28335 [ 28336 A3($dtwrks$elm_book$ElmBook$UI$ChapterComponent$view, chapterTitle, options_, section) 28337 ])); 28338 }, 28339 components)) 28340 ])); 28341 }))))))) 28342 ])) 28343 }); 28344 }); 28345var $dillonkearns$elm_markdown$Markdown$Parser$problemToString = function (problem) { 28346 switch (problem.$) { 28347 case 0: 28348 var string = problem.a; 28349 return 'Expecting ' + string; 28350 case 1: 28351 return 'Expecting int'; 28352 case 2: 28353 return 'Expecting hex'; 28354 case 3: 28355 return 'Expecting octal'; 28356 case 4: 28357 return 'Expecting binary'; 28358 case 5: 28359 return 'Expecting float'; 28360 case 6: 28361 return 'Expecting number'; 28362 case 7: 28363 return 'Expecting variable'; 28364 case 8: 28365 var string = problem.a; 28366 return 'Expecting symbol ' + string; 28367 case 9: 28368 var string = problem.a; 28369 return 'Expecting keyword ' + string; 28370 case 10: 28371 return 'Expecting keyword end'; 28372 case 11: 28373 return 'Unexpected char'; 28374 case 12: 28375 var problemDescription = problem.a; 28376 return problemDescription; 28377 default: 28378 return 'Bad repeat'; 28379 } 28380}; 28381var $dillonkearns$elm_markdown$Markdown$Parser$deadEndToString = function (deadEnd) { 28382 return 'Problem at row ' + ($elm$core$String$fromInt(deadEnd.gm) + ('\n' + $dillonkearns$elm_markdown$Markdown$Parser$problemToString(deadEnd.ge))); 28383}; 28384var $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine = {$: 10}; 28385var $dillonkearns$elm_markdown$Markdown$Block$BlockQuote = function (a) { 28386 return {$: 3, a: a}; 28387}; 28388var $dillonkearns$elm_markdown$Markdown$RawBlock$BlockQuote = function (a) { 28389 return {$: 11, a: a}; 28390}; 28391var $dillonkearns$elm_markdown$Markdown$Block$Cdata = function (a) { 28392 return {$: 4, a: a}; 28393}; 28394var $dillonkearns$elm_markdown$Markdown$Block$CodeBlock = function (a) { 28395 return {$: 7, a: a}; 28396}; 28397var $dillonkearns$elm_markdown$Markdown$RawBlock$CodeBlock = function (a) { 28398 return {$: 5, a: a}; 28399}; 28400var $dillonkearns$elm_markdown$Markdown$Block$CodeSpan = function (a) { 28401 return {$: 6, a: a}; 28402}; 28403var $dillonkearns$elm_markdown$Markdown$Block$CompletedTask = 2; 28404var $dillonkearns$elm_markdown$Markdown$Block$Emphasis = function (a) { 28405 return {$: 3, a: a}; 28406}; 28407var $dillonkearns$elm_markdown$Markdown$Inline$Emphasis = F2( 28408 function (a, b) { 28409 return {$: 6, a: a, b: b}; 28410 }); 28411var $dillonkearns$elm_markdown$Markdown$Parser$EmptyBlock = {$: 0}; 28412var $dillonkearns$elm_markdown$Markdown$Block$HardLineBreak = {$: 8}; 28413var $dillonkearns$elm_markdown$Markdown$Block$Heading = F2( 28414 function (a, b) { 28415 return {$: 4, a: a, b: b}; 28416 }); 28417var $dillonkearns$elm_markdown$Markdown$RawBlock$Heading = F2( 28418 function (a, b) { 28419 return {$: 0, a: a, b: b}; 28420 }); 28421var $dillonkearns$elm_markdown$Markdown$RawBlock$Html = function (a) { 28422 return {$: 2, a: a}; 28423}; 28424var $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock = function (a) { 28425 return {$: 0, a: a}; 28426}; 28427var $dillonkearns$elm_markdown$Markdown$Block$HtmlComment = function (a) { 28428 return {$: 1, a: a}; 28429}; 28430var $dillonkearns$elm_markdown$Markdown$Block$HtmlDeclaration = F2( 28431 function (a, b) { 28432 return {$: 3, a: a, b: b}; 28433 }); 28434var $dillonkearns$elm_markdown$Markdown$Block$HtmlElement = F3( 28435 function (a, b, c) { 28436 return {$: 0, a: a, b: b, c: c}; 28437 }); 28438var $dillonkearns$elm_markdown$Markdown$Block$HtmlInline = function (a) { 28439 return {$: 0, a: a}; 28440}; 28441var $dillonkearns$elm_markdown$Markdown$Block$Image = F3( 28442 function (a, b, c) {
28443 return {$: 2, a: a, b: b, c: c}; 28444 }); 28445var $dillonkearns$elm_markdown$Markdown$Block$IncompleteTask = 1; 28446var $dillonkearns$elm_markdown$Markdown$RawBlock$IndentedCodeBlock = function (a) { 28447 return {$: 6, a: a}; 28448}; 28449var $dillonkearns$elm_markdown$Markdown$Parser$InlineProblem = function (a) { 28450 return {$: 2, a: a}; 28451}; 28452var $dillonkearns$elm_markdown$Markdown$Block$Link = F3( 28453 function (a, b, c) { 28454 return {$: 1, a: a, b: b, c: c}; 28455 }); 28456var $dillonkearns$elm_markdown$Markdown$Block$ListItem = F2( 28457 function (a, b) { 28458 return {$: 0, a: a, b: b}; 28459 }); 28460var $dillonkearns$elm_markdown$Markdown$Block$NoTask = 0; 28461var $dillonkearns$elm_markdown$Markdown$RawBlock$OpenBlockOrParagraph = function (a) { 28462 return {$: 1, a: a}; 28463}; 28464var $dillonkearns$elm_markdown$Markdown$Block$OrderedList = F3( 28465 function (a, b, c) { 28466 return {$: 2, a: a, b: b, c: c}; 28467 }); 28468var $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock = F6( 28469 function (a, b, c, d, e, f) { 28470 return {$: 4, a: a, b: b, c: c, d: d, e: e, f: f}; 28471 }); 28472var $dillonkearns$elm_markdown$Markdown$Block$Paragraph = function (a) { 28473 return {$: 5, a: a}; 28474}; 28475var $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock = function (a) { 28476 return {$: 1, a: a}; 28477}; 28478var $dillonkearns$elm_markdown$Markdown$RawBlock$ParsedBlockQuote = function (a) { 28479 return {$: 12, a: a}; 28480}; 28481var $dillonkearns$elm_markdown$Markdown$Block$ProcessingInstruction = function (a) { 28482 return {$: 2, a: a}; 28483}; 28484var $dillonkearns$elm_markdown$Markdown$Block$Strikethrough = function (a) { 28485 return {$: 5, a: a}; 28486}; 28487var $dillonkearns$elm_markdown$Markdown$Block$Strong = function (a) { 28488 return {$: 4, a: a}; 28489}; 28490var $dillonkearns$elm_markdown$Markdown$Block$Table = F2( 28491 function (a, b) { 28492 return {$: 6, a: a, b: b}; 28493 }); 28494var $dillonkearns$elm_markdown$Markdown$RawBlock$Table = function (a) { 28495 return {$: 8, a: a}; 28496}; 28497var $dillonkearns$elm_markdown$Markdown$Table$Table = F2( 28498 function (a, b) { 28499 return {$: 0, a: a, b: b}; 28500 }); 28501var $dillonkearns$elm_markdown$Markdown$Table$TableDelimiterRow = F2( 28502 function (a, b) { 28503 return {$: 0, a: a, b: b}; 28504 }); 28505var $dillonkearns$elm_markdown$Markdown$Block$Text = function (a) { 28506 return {$: 7, a: a}; 28507}; 28508var $dillonkearns$elm_markdown$Markdown$Block$ThematicBreak = {$: 8}; 28509var $dillonkearns$elm_markdown$Markdown$RawBlock$ThematicBreak = {$: 7}; 28510var $dillonkearns$elm_markdown$Markdown$Block$UnorderedList = F2( 28511 function (a, b) { 28512 return {$: 1, a: a, b: b}; 28513 }); 28514var $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock = F4( 28515 function (a, b, c, d) { 28516 return {$: 3, a: a, b: b, c: c, d: d}; 28517 }); 28518var $dillonkearns$elm_markdown$Markdown$RawBlock$UnparsedInlines = $elm$core$Basics$identity; 28519var $dillonkearns$elm_markdown$Markdown$Parser$addReference = F2( 28520 function (state, linkRef) { 28521 return { 28522 a: A2($elm$core$List$cons, linkRef, state.a), 28523 b: state.b 28524 }; 28525 }); 28526var $dillonkearns$elm_markdown$Whitespace$isSpaceOrTab = function (_char) { 28527 switch (_char) { 28528 case ' ': 28529 return true; 28530 case '\t': 28531 return true; 28532 default: 28533 return false; 28534 } 28535}; 28536var $dillonkearns$elm_markdown$Parser$Token$carriageReturn = A2( 28537 $elm$parser$Parser$Advanced$Token, 28538 '\u000D', 28539 $elm$parser$Parser$Expecting('a carriage return')); 28540var $dillonkearns$elm_markdown$Parser$Token$newline = A2( 28541 $elm$parser$Parser$Advanced$Token, 28542 '\n', 28543 $elm$parser$Parser$Expecting('a newline')); 28544var $dillonkearns$elm_markdown$Whitespace$lineEnd = $elm$parser$Parser$Advanced$oneOf( 28545 _List_fromArray( 28546 [ 28547 $elm$parser$Parser$Advanced$token($dillonkearns$elm_markdown$Parser$Token$newline), 28548 A2( 28549 $elm$parser$Parser$Advanced$ignorer, 28550 $elm$parser$Parser$Advanced$token($dillonkearns$elm_markdown$Parser$Token$carriageReturn), 28551 $elm$parser$Parser$Advanced$oneOf( 28552 _List_fromArray( 28553 [ 28554 $elm$parser$Parser$Advanced$token($dillonkearns$elm_markdown$Parser$Token$newline), 28555 $elm$parser$Parser$Advanced$succeed(0) 28556 ]))) 28557 ])); 28558var $dillonkearns$elm_markdown$Markdown$Parser$blankLine = A2( 28559 $elm$parser$Parser$Advanced$map, 28560 function (_v0) { 28561 return $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine; 28562 }, 28563 A2( 28564 $elm$parser$Parser$Advanced$ignorer, 28565 $elm$parser$Parser$Advanced$backtrackable( 28566 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab)), 28567 $dillonkearns$elm_markdown$Whitespace$lineEnd)); 28568var $dillonkearns$elm_markdown$Parser$Token$space = A2( 28569 $elm$parser$Parser$Advanced$Token, 28570 ' ', 28571 $elm$parser$Parser$Expecting('a space')); 28572var $dillonkearns$elm_markdown$Markdown$Parser$blockQuoteStarts = _List_fromArray( 28573 [ 28574 $elm$parser$Parser$Advanced$symbol( 28575 A2( 28576 $elm$parser$Parser$Advanced$Token, 28577 '>', 28578 $elm$parser$Parser$Expecting('>'))), 28579 A2( 28580 $elm$parser$Parser$Advanced$ignorer, 28581 $elm$parser$Parser$Advanced$backtrackable( 28582 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$space)), 28583 $elm$parser$Parser$Advanced$oneOf( 28584 _List_fromArray( 28585 [ 28586 $elm$parser$Parser$Advanced$symbol( 28587 A2( 28588 $elm$parser$Parser$Advanced$Token, 28589 '>', 28590 $elm$parser$Parser$Expecting(' >'))), 28591 $elm$parser$Parser$Advanced$symbol( 28592 A2( 28593 $elm$parser$Parser$Advanced$Token, 28594 ' >', 28595 $elm$parser$Parser$Expecting(' >'))), 28596 $elm$parser$Parser$Advanced$symbol( 28597 A2( 28598 $elm$parser$Parser$Advanced$Token, 28599 ' >', 28600 $elm$parser$Parser$Expecting(' >'))) 28601 ]))) 28602 ]); 28603var $dillonkearns$elm_markdown$Whitespace$isLineEnd = function (_char) { 28604 switch (_char) { 28605 case '\n': 28606 return true; 28607 case '\u000D': 28608 return true; 28609 default: 28610 return false;
28611 } 28612}; 28613var $dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd = $elm$parser$Parser$Advanced$chompWhile( 28614 A2($elm$core$Basics$composeL, $elm$core$Basics$not, $dillonkearns$elm_markdown$Whitespace$isLineEnd)); 28615var $dillonkearns$elm_markdown$Helpers$endOfFile = $elm$parser$Parser$Advanced$end( 28616 $elm$parser$Parser$Expecting('the end of the input')); 28617var $dillonkearns$elm_markdown$Helpers$lineEndOrEnd = $elm$parser$Parser$Advanced$oneOf( 28618 _List_fromArray( 28619 [$dillonkearns$elm_markdown$Whitespace$lineEnd, $dillonkearns$elm_markdown$Helpers$endOfFile])); 28620var $dillonkearns$elm_markdown$Markdown$Parser$blockQuote = A2( 28621 $elm$parser$Parser$Advanced$keeper, 28622 A2( 28623 $elm$parser$Parser$Advanced$ignorer, 28624 A2( 28625 $elm$parser$Parser$Advanced$ignorer, 28626 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$RawBlock$BlockQuote), 28627 $elm$parser$Parser$Advanced$oneOf($dillonkearns$elm_markdown$Markdown$Parser$blockQuoteStarts)), 28628 $elm$parser$Parser$Advanced$oneOf( 28629 _List_fromArray( 28630 [ 28631 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$space), 28632 $elm$parser$Parser$Advanced$succeed(0) 28633 ]))), 28634 A2( 28635 $elm$parser$Parser$Advanced$ignorer, 28636 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 28637 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)); 28638var $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString = function (deadEnds) { 28639 return A2( 28640 $elm$core$String$join, 28641 '\n', 28642 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$deadEndToString, deadEnds)); 28643}; 28644var $elm$core$String$endsWith = _String_endsWith; 28645var $dillonkearns$elm_markdown$Markdown$Parser$endWithOpenBlockOrParagraph = function (block) { 28646 endWithOpenBlockOrParagraph: 28647 while (true) { 28648 switch (block.$) { 28649 case 1: 28650 var str = block.a; 28651 return !A2($elm$core$String$endsWith, str, '\n'); 28652 case 12: 28653 var blocks = block.a; 28654 if (blocks.b) { 28655 var last = blocks.a; 28656 var $temp$block = last; 28657 block = $temp$block; 28658 continue endWithOpenBlockOrParagraph; 28659 } else { 28660 return false; 28661 } 28662 case 4: 28663 var blockslist = block.e; 28664 if (blockslist.b) { 28665 var blocks = blockslist.a; 28666 if (blocks.b) { 28667 var last = blocks.a; 28668 var $temp$block = last; 28669 block = $temp$block; 28670 continue endWithOpenBlockOrParagraph; 28671 } else { 28672 return false; 28673 } 28674 } else { 28675 return false; 28676 } 28677 case 0: 28678 return true; 28679 default: 28680 return false; 28681 } 28682 } 28683}; 28684var $dillonkearns$elm_markdown$HtmlParser$Cdata = function (a) { 28685 return {$: 3, a: a}; 28686}; 28687var $dillonkearns$elm_markdown$HtmlParser$Element = F3( 28688 function (a, b, c) { 28689 return {$: 0, a: a, b: b, c: c}; 28690 }); 28691var $dillonkearns$elm_markdown$HtmlParser$Text = function (a) { 28692 return {$: 1, a: a}; 28693}; 28694var $dillonkearns$elm_markdown$HtmlParser$expectTagNameCharacter = $elm$parser$Parser$Expecting('at least 1 tag name character'); 28695var $dillonkearns$elm_markdown$HtmlParser$tagNameCharacter = function (c) { 28696 switch (c) { 28697 case ' ': 28698 return false; 28699 case '\u000D': 28700 return false; 28701 case '\n': 28702 return false; 28703 case '\t': 28704 return false; 28705 case '/': 28706 return false; 28707 case '<': 28708 return false; 28709 case '>': 28710 return false; 28711 case '\"': 28712 return false; 28713 case '\'': 28714 return false; 28715 case '=': 28716 return false; 28717 default: 28718 return true; 28719 } 28720}; 28721var $dillonkearns$elm_markdown$HtmlParser$tagName = A2( 28722 $elm$parser$Parser$Advanced$mapChompedString, 28723 F2( 28724 function (name, _v0) { 28725 return $elm$core$String$toLower(name); 28726 }), 28727 A2( 28728 $elm$parser$Parser$Advanced$ignorer, 28729 A2($elm$parser$Parser$Advanced$chompIf, $dillonkearns$elm_markdown$HtmlParser$tagNameCharacter, $dillonkearns$elm_markdown$HtmlParser$expectTagNameCharacter), 28730 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$HtmlParser$tagNameCharacter))); 28731var $dillonkearns$elm_markdown$HtmlParser$attributeName = $dillonkearns$elm_markdown$HtmlParser$tagName; 28732var $dillonkearns$elm_markdown$HtmlParser$symbol = function (str) { 28733 return $elm$parser$Parser$Advanced$token( 28734 A2( 28735 $elm$parser$Parser$Advanced$Token, 28736 str, 28737 $elm$parser$Parser$ExpectingSymbol(str))); 28738}; 28739var $dillonkearns$elm_markdown$HtmlParser$entities = $elm$core$Dict$fromList( 28740 _List_fromArray( 28741 [ 28742 _Utils_Tuple2('amp', '&'), 28743 _Utils_Tuple2('lt', '<'), 28744 _Utils_Tuple2('gt', '>'), 28745 _Utils_Tuple2('apos', '\''), 28746 _Utils_Tuple2('quot', '\"') 28747 ])); 28748var $elm$core$Char$fromCode = _Char_fromCode; 28749var $elm$core$Result$fromMaybe = F2( 28750 function (err, maybe) { 28751 if (!maybe.$) { 28752 var v = maybe.a; 28753 return $elm$core$Result$Ok(v); 28754 } else { 28755 return $elm$core$Result$Err(err); 28756 } 28757 }); 28758var $rtfeldman$elm_hex$Hex$fromStringHelp = F3( 28759 function (position, chars, accumulated) { 28760 fromStringHelp: 28761 while (true) { 28762 if (!chars.b) { 28763 return $elm$core$Result$Ok(accumulated); 28764 } else { 28765 var _char = chars.a; 28766 var rest = chars.b; 28767 switch (_char) { 28768 case '0': 28769 var $temp$position = position - 1, 28770 $temp$chars = rest, 28771 $temp$accumulated = accumulated; 28772 position = $temp$position; 28773 chars = $temp$chars; 28774 accumulated = $temp$accumulated; 28775 continue fromStringHelp; 28776 case '1': 28777 var $temp$position = position - 1, 28778 $temp$chars = rest, 28779 $temp$accumulated = accumulated + A2($elm$core$Basics$pow, 16, position); 28780 position = $temp$position; 28781 chars = $temp$chars; 28782 accumulated = $temp$accumulated; 28783 continue fromStringHelp; 28784 case '2': 28785 var $temp$position = position - 1, 28786 $temp$chars = rest, 28787 $temp$accumulated = accumulated + (2 * A2($elm$core$Basics$pow, 16, position)); 28788 position = $temp$position; 28789 chars = $temp$chars; 28790 accumulated = $temp$accumulated; 28791 continue fromStringHelp; 28792 case '3': 28793 var $temp$position = position - 1, 28794 $temp$chars = rest, 28795 $temp$accumulated = accumulated + (3 * A2($elm$core$Basics$pow, 16, position)); 28796 position = $temp$position; 28797 chars = $temp$chars; 28798 accumulated = $temp$accumulated; 28799 continue fromStringHelp; 28800 case '4': 28801 var $temp$position = position - 1, 28802 $temp$chars = rest, 28803 $temp$accumulated = accumulated + (4 * A2($elm$core$Basics$pow, 16, position)); 28804 position = $temp$position; 28805 chars = $temp$chars; 28806 accumulated = $temp$accumulated; 28807 continue fromStringHelp; 28808 case '5': 28809 var $temp$position = position - 1, 28810 $temp$chars = rest, 28811 $temp$accumulated = accumulated + (5 * A2($elm$core$Basics$pow, 16, position)); 28812 position = $temp$position; 28813 chars = $temp$chars; 28814 accumulated = $temp$accumulated; 28815 continue fromStringHelp; 28816 case '6': 28817 var $temp$position = position - 1, 28818 $temp$chars = rest, 28819 $temp$accumulated = accumulated + (6 * A2($elm$core$Basics$pow, 16, position)); 28820 position = $temp$position; 28821 chars = $temp$chars; 28822 accumulated = $temp$accumulated; 28823 continue fromStringHelp; 28824 case '7': 28825 var $temp$position = position - 1, 28826 $temp$chars = rest, 28827 $temp$accumulated = accumulated + (7 * A2($elm$core$Basics$pow, 16, position)); 28828 position = $temp$position; 28829 chars = $temp$chars; 28830 accumulated = $temp$accumulated; 28831 continue fromStringHelp; 28832 case '8': 28833 var $temp$position = position - 1, 28834 $temp$chars = rest, 28835 $temp$accumulated = accumulated + (8 * A2($elm$core$Basics$pow, 16, position)); 28836 position = $temp$position; 28837 chars = $temp$chars; 28838 accumulated = $temp$accumulated; 28839 continue fromStringHelp; 28840 case '9': 28841 var $temp$position = position - 1, 28842 $temp$chars = rest, 28843 $temp$accumulated = accumulated + (9 * A2($elm$core$Basics$pow, 16, position)); 28844 position = $temp$position; 28845 chars = $temp$chars; 28846 accumulated = $temp$accumulated; 28847 continue fromStringHelp; 28848 case 'a': 28849 var $temp$position = position - 1, 28850 $temp$chars = rest, 28851 $temp$accumulated = accumulated + (10 * A2($elm$core$Basics$pow, 16, position)); 28852 position = $temp$position; 28853 chars = $temp$chars; 28854 accumulated = $temp$accumulated; 28855 continue fromStringHelp; 28856 case 'b': 28857 var $temp$position = position - 1, 28858 $temp$chars = rest, 28859 $temp$accumulated = accumulated + (11 * A2($elm$core$Basics$pow, 16, position)); 28860 position = $temp$position; 28861 chars = $temp$chars; 28862 accumulated = $temp$accumulated; 28863 continue fromStringHelp; 28864 case 'c': 28865 var $temp$position = position - 1, 28866 $temp$chars = rest, 28867 $temp$accumulated = accumulated + (12 * A2($elm$core$Basics$pow, 16, position)); 28868 position = $temp$position; 28869 chars = $temp$chars; 28870 accumulated = $temp$accumulated; 28871 continue fromStringHelp; 28872 case 'd': 28873 var $temp$position = position - 1, 28874 $temp$chars = rest, 28875 $temp$accumulated = accumulated + (13 * A2($elm$core$Basics$pow, 16, position)); 28876 position = $temp$position; 28877 chars = $temp$chars; 28878 accumulated = $temp$accumulated; 28879 continue fromStringHelp; 28880 case 'e': 28881 var $temp$position = position - 1, 28882 $temp$chars = rest, 28883 $temp$accumulated = accumulated + (14 * A2($elm$core$Basics$pow, 16, position)); 28884 position = $temp$position; 28885 chars = $temp$chars; 28886 accumulated = $temp$accumulated; 28887 continue fromStringHelp; 28888 case 'f': 28889 var $temp$position = position - 1, 28890 $temp$chars = rest, 28891 $temp$accumulated = accumulated + (15 * A2($elm$core$Basics$pow, 16, position)); 28892 position = $temp$position; 28893 chars = $temp$chars; 28894 accumulated = $temp$accumulated; 28895 continue fromStringHelp; 28896 default: 28897 var nonHex = _char; 28898 return $elm$core$Result$Err( 28899 $elm$core$String$fromChar(nonHex) + ' is not a valid hexadecimal character.'); 28900 } 28901 } 28902 } 28903 }); 28904var $elm$core$List$tail = function (list) { 28905 if (list.b) { 28906 var x = list.a; 28907 var xs = list.b; 28908 return $elm$core$Maybe$Just(xs); 28909 } else { 28910 return $elm$core$Maybe$Nothing; 28911 } 28912}; 28913var $rtfeldman$elm_hex$Hex$fromString = function (str) { 28914 if ($elm$core$String$isEmpty(str)) { 28915 return $elm$core$Result$Err('Empty strings are not valid hexadecimal strings.'); 28916 } else { 28917 var result = function () { 28918 if (A2($elm$core$String$startsWith, '-', str)) { 28919 var list = A2( 28920 $elm$core$Maybe$withDefault, 28921 _List_Nil, 28922 $elm$core$List$tail( 28923 $elm$core$String$toList(str))); 28924 return A2( 28925 $elm$core$Result$map, 28926 $elm$core$Basics$negate, 28927 A3( 28928 $rtfeldman$elm_hex$Hex$fromStringHelp, 28929 $elm$core$List$length(list) - 1, 28930 list, 28931 0)); 28932 } else { 28933 return A3( 28934 $rtfeldman$elm_hex$Hex$fromStringHelp, 28935 $elm$core$String$length(str) - 1, 28936 $elm$core$String$toList(str), 28937 0); 28938 } 28939 }(); 28940 var formatError = function (err) { 28941 return A2( 28942 $elm$core$String$join, 28943 ' ', 28944 _List_fromArray( 28945 ['\"' + (str + '\"'), 'is not a valid hexadecimal string because', err])); 28946 }; 28947 return A2($elm$core$Result$mapError, formatError, result); 28948 } 28949}; 28950var $dillonkearns$elm_markdown$HtmlParser$decodeEscape = function (s) { 28951 return A2($elm$core$String$startsWith, '#x', s) ? A2( 28952 $elm$core$Result$mapError, 28953 $elm$parser$Parser$Problem, 28954 A2( 28955 $elm$core$Result$map, 28956 $elm$core$Char$fromCode, 28957 $rtfeldman$elm_hex$Hex$fromString( 28958 A2($elm$core$String$dropLeft, 2, s)))) : (A2($elm$core$String$startsWith, '#', s) ? A2( 28959 $elm$core$Result$fromMaybe, 28960 $elm$parser$Parser$Problem('Invalid escaped character: ' + s), 28961 A2( 28962 $elm$core$Maybe$map, 28963 $elm$core$Char$fromCode, 28964 $elm$core$String$toInt( 28965 A2($elm$core$String$dropLeft, 1, s)))) : A2( 28966 $elm$core$Result$fromMaybe, 28967 $elm$parser$Parser$Problem('No entity named \"&' + (s + ';\" found.')), 28968 A2($elm$core$Dict$get, s, $dillonkearns$elm_markdown$HtmlParser$entities))); 28969}; 28970var $dillonkearns$elm_markdown$HtmlParser$escapedChar = function (end_) { 28971 var process = function (entityStr) { 28972 var _v0 = $dillonkearns$elm_markdown$HtmlParser$decodeEscape(entityStr); 28973 if (!_v0.$) { 28974 var c = _v0.a; 28975 return $elm$parser$Parser$Advanced$succeed(c); 28976 } else { 28977 var e = _v0.a; 28978 return $elm$parser$Parser$Advanced$problem(e); 28979 } 28980 }; 28981 var isEntityChar = function (c) { 28982 return (!_Utils_eq(c, end_)) && (c !== ';'); 28983 }; 28984 return A2( 28985 $elm$parser$Parser$Advanced$keeper, 28986 A2( 28987 $elm$parser$Parser$Advanced$ignorer, 28988 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 28989 $dillonkearns$elm_markdown$HtmlParser$symbol('&')), 28990 A2( 28991 $elm$parser$Parser$Advanced$ignorer, 28992 A2( 28993 $elm$parser$Parser$Advanced$andThen, 28994 process, 28995 $elm$parser$Parser$Advanced$getChompedString( 28996 A2( 28997 $elm$parser$Parser$Advanced$ignorer, 28998 A2( 28999 $elm$parser$Parser$Advanced$chompIf, 29000 isEntityChar, 29001 $elm$parser$Parser$Expecting('an entity character')), 29002 $elm$parser$Parser$Advanced$chompWhile(isEntityChar)))), 29003 $dillonkearns$elm_markdown$HtmlParser$symbol(';'))); 29004}; 29005var $dillonkearns$elm_markdown$HtmlParser$textStringStep = F3( 29006 function (closingChar, predicate, accum) { 29007 return A2( 29008 $elm$parser$Parser$Advanced$andThen, 29009 function (soFar) { 29010 return $elm$parser$Parser$Advanced$oneOf( 29011 _List_fromArray( 29012 [ 29013 A2( 29014 $elm$parser$Parser$Advanced$map, 29015 function (escaped) { 29016 return $elm$parser$Parser$Advanced$Loop( 29017 _Utils_ap( 29018 accum, 29019 _Utils_ap( 29020 soFar,
29021 $elm$core$String$fromChar(escaped)))); 29022 }, 29023 $dillonkearns$elm_markdown$HtmlParser$escapedChar(closingChar)), 29024 $elm$parser$Parser$Advanced$succeed( 29025 $elm$parser$Parser$Advanced$Done( 29026 _Utils_ap(accum, soFar))) 29027 ])); 29028 }, 29029 $elm$parser$Parser$Advanced$getChompedString( 29030 $elm$parser$Parser$Advanced$chompWhile(predicate))); 29031 }); 29032var $dillonkearns$elm_markdown$HtmlParser$textString = function (closingChar) { 29033 var predicate = function (c) { 29034 return (!_Utils_eq(c, closingChar)) && (c !== '&'); 29035 }; 29036 return A2( 29037 $elm$parser$Parser$Advanced$loop, 29038 '', 29039 A2($dillonkearns$elm_markdown$HtmlParser$textStringStep, closingChar, predicate)); 29040}; 29041var $dillonkearns$elm_markdown$HtmlParser$attributeValue = $elm$parser$Parser$Advanced$oneOf( 29042 _List_fromArray( 29043 [ 29044 A2( 29045 $elm$parser$Parser$Advanced$keeper, 29046 A2( 29047 $elm$parser$Parser$Advanced$ignorer, 29048 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 29049 $dillonkearns$elm_markdown$HtmlParser$symbol('\"')), 29050 A2( 29051 $elm$parser$Parser$Advanced$ignorer, 29052 $dillonkearns$elm_markdown$HtmlParser$textString('\"'), 29053 $dillonkearns$elm_markdown$HtmlParser$symbol('\"'))), 29054 A2( 29055 $elm$parser$Parser$Advanced$keeper, 29056 A2( 29057 $elm$parser$Parser$Advanced$ignorer, 29058 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 29059 $dillonkearns$elm_markdown$HtmlParser$symbol('\'')), 29060 A2( 29061 $elm$parser$Parser$Advanced$ignorer, 29062 $dillonkearns$elm_markdown$HtmlParser$textString('\''), 29063 $dillonkearns$elm_markdown$HtmlParser$symbol('\''))) 29064 ])); 29065var $dillonkearns$elm_markdown$HtmlParser$keepOldest = F2( 29066 function (_new, mValue) { 29067 if (!mValue.$) { 29068 var v = mValue.a; 29069 return $elm$core$Maybe$Just(v); 29070 } else { 29071 return $elm$core$Maybe$Just(_new); 29072 } 29073 }); 29074var $dillonkearns$elm_markdown$HtmlParser$isWhitespace = function (c) { 29075 switch (c) { 29076 case ' ': 29077 return true; 29078 case '\u000D': 29079 return true; 29080 case '\n': 29081 return true; 29082 case '\t': 29083 return true; 29084 default: 29085 return false; 29086 } 29087}; 29088var $dillonkearns$elm_markdown$HtmlParser$whiteSpace = $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$HtmlParser$isWhitespace); 29089var $dillonkearns$elm_markdown$HtmlParser$attributesStep = function (attrs) { 29090 var process = F2( 29091 function (name, value) { 29092 return $elm$parser$Parser$Advanced$Loop( 29093 A3( 29094 $elm$core$Dict$update, 29095 $elm$core$String$toLower(name), 29096 $dillonkearns$elm_markdown$HtmlParser$keepOldest(value), 29097 attrs)); 29098 }); 29099 return $elm$parser$Parser$Advanced$oneOf( 29100 _List_fromArray( 29101 [ 29102 A2( 29103 $elm$parser$Parser$Advanced$keeper, 29104 A2( 29105 $elm$parser$Parser$Advanced$keeper, 29106 $elm$parser$Parser$Advanced$succeed(process), 29107 A2( 29108 $elm$parser$Parser$Advanced$ignorer, 29109 A2( 29110 $elm$parser$Parser$Advanced$ignorer, 29111 A2($elm$parser$Parser$Advanced$ignorer, $dillonkearns$elm_markdown$HtmlParser$attributeName, $dillonkearns$elm_markdown$HtmlParser$whiteSpace), 29112 $dillonkearns$elm_markdown$HtmlParser$symbol('=')), 29113 $dillonkearns$elm_markdown$HtmlParser$whiteSpace)), 29114 A2($elm$parser$Parser$Advanced$ignorer, $dillonkearns$elm_markdown$HtmlParser$attributeValue, $dillonkearns$elm_markdown$HtmlParser$whiteSpace)), 29115 $elm$parser$Parser$Advanced$succeed( 29116 $elm$parser$Parser$Advanced$Done(attrs)) 29117 ])); 29118}; 29119var $dillonkearns$elm_markdown$HtmlParser$attributes = A2( 29120 $elm$parser$Parser$Advanced$map, 29121 A2( 29122 $elm$core$Dict$foldl, 29123 F3( 29124 function (key, value, accum) { 29125 return A2( 29126 $elm$core$List$cons, 29127 {w: key, cN: value}, 29128 accum); 29129 }), 29130 _List_Nil), 29131 A2($elm$parser$Parser$Advanced$loop, $elm$core$Dict$empty, $dillonkearns$elm_markdown$HtmlParser$attributesStep)); 29132var $elm$parser$Parser$Advanced$chompUntilEndOr = function (str) { 29133 return function (s) { 29134 var _v0 = A5(_Parser_findSubString, str, s.cf, s.gm, s.d5, s.dE); 29135 var newOffset = _v0.a; 29136 var newRow = _v0.b; 29137 var newCol = _v0.c; 29138 var adjustedOffset = (newOffset < 0) ? $elm$core$String$length(s.dE) : newOffset; 29139 return A3( 29140 $elm$parser$Parser$Advanced$Good, 29141 _Utils_cmp(s.cf, adjustedOffset) < 0, 29142 0, 29143 {d5: newCol, f: s.f, h: s.h, cf: adjustedOffset, gm: newRow, dE: s.dE}); 29144 }; 29145}; 29146var $dillonkearns$elm_markdown$HtmlParser$cdata = A2( 29147 $elm$parser$Parser$Advanced$keeper, 29148 A2( 29149 $elm$parser$Parser$Advanced$ignorer, 29150 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 29151 $dillonkearns$elm_markdown$HtmlParser$symbol('<![CDATA[')), 29152 A2( 29153 $elm$parser$Parser$Advanced$ignorer, 29154 $elm$parser$Parser$Advanced$getChompedString(
29155 $elm$parser$Parser$Advanced$chompUntilEndOr(']]>')), 29156 $dillonkearns$elm_markdown$HtmlParser$symbol(']]>'))); 29157var $dillonkearns$elm_markdown$HtmlParser$childrenStep = F2( 29158 function (options, accum) { 29159 return A2( 29160 $elm$parser$Parser$Advanced$map, 29161 function (f) { 29162 return f(accum); 29163 }, 29164 $elm$parser$Parser$Advanced$oneOf(options)); 29165 }); 29166var $dillonkearns$elm_markdown$HtmlParser$fail = function (str) { 29167 return $elm$parser$Parser$Advanced$problem( 29168 $elm$parser$Parser$Problem(str)); 29169}; 29170var $dillonkearns$elm_markdown$HtmlParser$closingTag = function (startTagName) { 29171 var closingTagName = A2( 29172 $elm$parser$Parser$Advanced$andThen, 29173 function (endTagName) { 29174 return _Utils_eq(startTagName, endTagName) ? $elm$parser$Parser$Advanced$succeed(0) : $dillonkearns$elm_markdown$HtmlParser$fail('tag name mismatch: ' + (startTagName + (' and ' + endTagName))); 29175 }, 29176 $dillonkearns$elm_markdown$HtmlParser$tagName); 29177 return A2( 29178 $elm$parser$Parser$Advanced$ignorer, 29179 A2( 29180 $elm$parser$Parser$Advanced$ignorer, 29181 A2( 29182 $elm$parser$Parser$Advanced$ignorer, 29183 A2( 29184 $elm$parser$Parser$Advanced$ignorer, 29185 $dillonkearns$elm_markdown$HtmlParser$symbol('</'), 29186 $dillonkearns$elm_markdown$HtmlParser$whiteSpace), 29187 closingTagName), 29188 $dillonkearns$elm_markdown$HtmlParser$whiteSpace), 29189 $dillonkearns$elm_markdown$HtmlParser$symbol('>')); 29190}; 29191var $dillonkearns$elm_markdown$HtmlParser$Comment = function (a) { 29192 return {$: 2, a: a}; 29193}; 29194var $dillonkearns$elm_markdown$HtmlParser$toToken = function (str) { 29195 return A2( 29196 $elm$parser$Parser$Advanced$Token, 29197 str, 29198 $elm$parser$Parser$Expecting(str)); 29199}; 29200var $dillonkearns$elm_markdown$HtmlParser$comment = A2( 29201 $elm$parser$Parser$Advanced$keeper, 29202 A2( 29203 $elm$parser$Parser$Advanced$ignorer, 29204 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$HtmlParser$Comment), 29205 $elm$parser$Parser$Advanced$token( 29206 $dillonkearns$elm_markdown$HtmlParser$toToken('<!--'))), 29207 A2( 29208 $elm$parser$Parser$Advanced$ignorer, 29209 $elm$parser$Parser$Advanced$getChompedString( 29210 $elm$parser$Parser$Advanced$chompUntilEndOr('-->')), 29211 $elm$parser$Parser$Advanced$token( 29212 $dillonkearns$elm_markdown$HtmlParser$toToken('-->')))); 29213var $dillonkearns$elm_markdown$HtmlParser$Declaration = F2( 29214 function (a, b) { 29215 return {$: 5, a: a, b: b}; 29216 }); 29217var $dillonkearns$elm_markdown$HtmlParser$expectUppercaseCharacter = $elm$parser$Parser$Expecting('at least 1 uppercase character'); 29218var $dillonkearns$elm_markdown$HtmlParser$allUppercase = $elm$parser$Parser$Advanced$getChompedString( 29219 A2( 29220 $elm$parser$Parser$Advanced$ignorer, 29221 A2($elm$parser$Parser$Advanced$chompIf, $elm$core$Char$isUpper, $dillonkearns$elm_markdown$HtmlParser$expectUppercaseCharacter), 29222 $elm$parser$Parser$Advanced$chompWhile($elm$core$Char$isUpper))); 29223var $dillonkearns$elm_markdown$HtmlParser$oneOrMoreWhiteSpace = A2( 29224 $elm$parser$Parser$Advanced$ignorer, 29225 A2( 29226 $elm$parser$Parser$Advanced$chompIf, 29227 $dillonkearns$elm_markdown$HtmlParser$isWhitespace, 29228 $elm$parser$Parser$Expecting('at least one whitespace')), 29229 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$HtmlParser$isWhitespace)); 29230var $dillonkearns$elm_markdown$HtmlParser$docType = A2( 29231 $elm$parser$Parser$Advanced$keeper, 29232 A2( 29233 $elm$parser$Parser$Advanced$keeper, 29234 A2( 29235 $elm$parser$Parser$Advanced$ignorer, 29236 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$HtmlParser$Declaration), 29237 $dillonkearns$elm_markdown$HtmlParser$symbol('<!')), 29238 A2($elm$parser$Parser$Advanced$ignorer, $dillonkearns$elm_markdown$HtmlParser$allUppercase, $dillonkearns$elm_markdown$HtmlParser$oneOrMoreWhiteSpace)), 29239 A2( 29240 $elm$parser$Parser$Advanced$ignorer, 29241 $elm$parser$Parser$Advanced$getChompedString( 29242 $elm$parser$Parser$Advanced$chompUntilEndOr('>')), 29243 $dillonkearns$elm_markdown$HtmlParser$symbol('>'))); 29244var $dillonkearns$elm_markdown$HtmlParser$ProcessingInstruction = function (a) { 29245 return {$: 4, a: a}; 29246}; 29247var $dillonkearns$elm_markdown$HtmlParser$processingInstruction = A2( 29248 $elm$parser$Parser$Advanced$keeper, 29249 A2( 29250 $elm$parser$Parser$Advanced$ignorer, 29251 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$HtmlParser$ProcessingInstruction), 29252 $dillonkearns$elm_markdown$HtmlParser$symbol('<?')), 29253 A2( 29254 $elm$parser$Parser$Advanced$ignorer, 29255 $elm$parser$Parser$Advanced$getChompedString( 29256 $elm$parser$Parser$Advanced$chompUntilEndOr('?>')), 29257 $dillonkearns$elm_markdown$HtmlParser$symbol('?>'))); 29258var $dillonkearns$elm_markdown$HtmlParser$isNotTextNodeIgnoreChar = function (c) { 29259 switch (c) { 29260 case '<': 29261 return false;
29262 case '&': 29263 return false; 29264 default: 29265 return true; 29266 } 29267}; 29268var $dillonkearns$elm_markdown$HtmlParser$textNodeStringStepOptions = _List_fromArray( 29269 [ 29270 A2( 29271 $elm$parser$Parser$Advanced$map, 29272 function (_v0) { 29273 return $elm$parser$Parser$Advanced$Loop(0); 29274 }, 29275 A2( 29276 $elm$parser$Parser$Advanced$ignorer, 29277 A2( 29278 $elm$parser$Parser$Advanced$chompIf, 29279 $dillonkearns$elm_markdown$HtmlParser$isNotTextNodeIgnoreChar, 29280 $elm$parser$Parser$Expecting('is not & or <')), 29281 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$HtmlParser$isNotTextNodeIgnoreChar))), 29282 A2( 29283 $elm$parser$Parser$Advanced$map, 29284 function (_v1) { 29285 return $elm$parser$Parser$Advanced$Loop(0); 29286 }, 29287 $dillonkearns$elm_markdown$HtmlParser$escapedChar('<')), 29288 $elm$parser$Parser$Advanced$succeed( 29289 $elm$parser$Parser$Advanced$Done(0)) 29290 ]); 29291var $dillonkearns$elm_markdown$HtmlParser$textNodeStringStep = function (_v0) { 29292 return $elm$parser$Parser$Advanced$oneOf($dillonkearns$elm_markdown$HtmlParser$textNodeStringStepOptions); 29293}; 29294var $dillonkearns$elm_markdown$HtmlParser$textNodeString = $elm$parser$Parser$Advanced$getChompedString( 29295 A2($elm$parser$Parser$Advanced$loop, 0, $dillonkearns$elm_markdown$HtmlParser$textNodeStringStep)); 29296var $dillonkearns$elm_markdown$HtmlParser$children = function (startTagName) { 29297 return A2( 29298 $elm$parser$Parser$Advanced$loop, 29299 _List_Nil, 29300 $dillonkearns$elm_markdown$HtmlParser$childrenStep( 29301 $dillonkearns$elm_markdown$HtmlParser$childrenStepOptions(startTagName))); 29302}; 29303var $dillonkearns$elm_markdown$HtmlParser$childrenStepOptions = function (startTagName) { 29304 return _List_fromArray( 29305 [ 29306 A2( 29307 $elm$parser$Parser$Advanced$map, 29308 F2( 29309 function (_v1, accum) { 29310 return $elm$parser$Parser$Advanced$Done( 29311 $elm$core$List$reverse(accum)); 29312 }), 29313 $dillonkearns$elm_markdown$HtmlParser$closingTag(startTagName)), 29314 A2( 29315 $elm$parser$Parser$Advanced$andThen, 29316 function (text) { 29317 return $elm$core$String$isEmpty(text) ? A2( 29318 $elm$parser$Parser$Advanced$map, 29319 F2( 29320 function (_v2, accum) { 29321 return $elm$parser$Parser$Advanced$Done( 29322 $elm$core$List$reverse(accum)); 29323 }), 29324 $dillonkearns$elm_markdown$HtmlParser$closingTag(startTagName)) : $elm$parser$Parser$Advanced$succeed( 29325 function (accum) { 29326 return $elm$parser$Parser$Advanced$Loop( 29327 A2( 29328 $elm$core$List$cons, 29329 $dillonkearns$elm_markdown$HtmlParser$Text(text), 29330 accum)); 29331 }); 29332 }, 29333 $dillonkearns$elm_markdown$HtmlParser$textNodeString), 29334 A2( 29335 $elm$parser$Parser$Advanced$map, 29336 F2( 29337 function (_new, accum) { 29338 return $elm$parser$Parser$Advanced$Loop( 29339 A2($elm$core$List$cons, _new, accum)); 29340 }), 29341 $dillonkearns$elm_markdown$HtmlParser$cyclic$html()) 29342 ]); 29343}; 29344var $dillonkearns$elm_markdown$HtmlParser$elementContinuation = function (startTagName) { 29345 return A2( 29346 $elm$parser$Parser$Advanced$keeper, 29347 A2( 29348 $elm$parser$Parser$Advanced$keeper, 29349 A2( 29350 $elm$parser$Parser$Advanced$ignorer, 29351 $elm$parser$Parser$Advanced$succeed( 29352 $dillonkearns$elm_markdown$HtmlParser$Element(startTagName)), 29353 $dillonkearns$elm_markdown$HtmlParser$whiteSpace), 29354 A2($elm$parser$Parser$Advanced$ignorer, $dillonkearns$elm_markdown$HtmlParser$attributes, $dillonkearns$elm_markdown$HtmlParser$whiteSpace)), 29355 $elm$parser$Parser$Advanced$oneOf( 29356 _List_fromArray( 29357 [ 29358 A2( 29359 $elm$parser$Parser$Advanced$map, 29360 function (_v0) { 29361 return _List_Nil; 29362 }, 29363 $dillonkearns$elm_markdown$HtmlParser$symbol('/>')), 29364 A2( 29365 $elm$parser$Parser$Advanced$keeper, 29366 A2( 29367 $elm$parser$Parser$Advanced$ignorer, 29368 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 29369 $dillonkearns$elm_markdown$HtmlParser$symbol('>')), 29370 $dillonkearns$elm_markdown$HtmlParser$children(startTagName)) 29371 ]))); 29372}; 29373function $dillonkearns$elm_markdown$HtmlParser$cyclic$html() { 29374 return $elm$parser$Parser$Advanced$oneOf( 29375 _List_fromArray( 29376 [ 29377 A2($elm$parser$Parser$Advanced$map, $dillonkearns$elm_markdown$HtmlParser$Cdata, $dillonkearns$elm_markdown$HtmlParser$cdata), 29378 $dillonkearns$elm_markdown$HtmlParser$processingInstruction, 29379 $dillonkearns$elm_markdown$HtmlParser$comment, 29380 $dillonkearns$elm_markdown$HtmlParser$docType,
29381 $dillonkearns$elm_markdown$HtmlParser$cyclic$element() 29382 ])); 29383} 29384function $dillonkearns$elm_markdown$HtmlParser$cyclic$element() { 29385 return A2( 29386 $elm$parser$Parser$Advanced$keeper, 29387 A2( 29388 $elm$parser$Parser$Advanced$ignorer, 29389 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 29390 $dillonkearns$elm_markdown$HtmlParser$symbol('<')), 29391 A2($elm$parser$Parser$Advanced$andThen, $dillonkearns$elm_markdown$HtmlParser$elementContinuation, $dillonkearns$elm_markdown$HtmlParser$tagName)); 29392} 29393var $dillonkearns$elm_markdown$HtmlParser$html = $dillonkearns$elm_markdown$HtmlParser$cyclic$html(); 29394$dillonkearns$elm_markdown$HtmlParser$cyclic$html = function () { 29395 return $dillonkearns$elm_markdown$HtmlParser$html; 29396}; 29397var $dillonkearns$elm_markdown$HtmlParser$element = $dillonkearns$elm_markdown$HtmlParser$cyclic$element(); 29398$dillonkearns$elm_markdown$HtmlParser$cyclic$element = function () { 29399 return $dillonkearns$elm_markdown$HtmlParser$element; 29400}; 29401var $dillonkearns$elm_markdown$Parser$Token$tab = A2( 29402 $elm$parser$Parser$Advanced$Token, 29403 '\t', 29404 $elm$parser$Parser$Expecting('a tab')); 29405var $dillonkearns$elm_markdown$Markdown$Parser$exactlyFourSpaces = $elm$parser$Parser$Advanced$oneOf( 29406 _List_fromArray( 29407 [ 29408 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$tab), 29409 A2( 29410 $elm$parser$Parser$Advanced$ignorer, 29411 $elm$parser$Parser$Advanced$backtrackable( 29412 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$space)), 29413 $elm$parser$Parser$Advanced$oneOf( 29414 _List_fromArray( 29415 [ 29416 $elm$parser$Parser$Advanced$symbol( 29417 A2( 29418 $elm$parser$Parser$Advanced$Token, 29419 ' ', 29420 $elm$parser$Parser$ExpectingSymbol('Indentation'))), 29421 $elm$parser$Parser$Advanced$symbol( 29422 A2( 29423 $elm$parser$Parser$Advanced$Token, 29424 ' \t', 29425 $elm$parser$Parser$ExpectingSymbol('Indentation'))), 29426 $elm$parser$Parser$Advanced$symbol( 29427 A2( 29428 $elm$parser$Parser$Advanced$Token, 29429 ' \t', 29430 $elm$parser$Parser$ExpectingSymbol('Indentation'))) 29431 ]))) 29432 ])); 29433var $dillonkearns$elm_markdown$Markdown$Parser$indentedCodeBlock = A2( 29434 $elm$parser$Parser$Advanced$keeper, 29435 A2( 29436 $elm$parser$Parser$Advanced$ignorer, 29437 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$RawBlock$IndentedCodeBlock), 29438 $dillonkearns$elm_markdown$Markdown$Parser$exactlyFourSpaces), 29439 A2( 29440 $elm$parser$Parser$Advanced$ignorer, 29441 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 29442 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)); 29443var $dillonkearns$elm_markdown$Markdown$Helpers$isEven = function (_int) { 29444 return !A2($elm$core$Basics$modBy, 2, _int); 29445}; 29446var $dillonkearns$elm_markdown$Markdown$Block$Loose = 0; 29447var $dillonkearns$elm_markdown$Markdown$Block$Tight = 1; 29448var $dillonkearns$elm_markdown$Markdown$Parser$isTightBoolToListDisplay = function (isTight) { 29449 return isTight ? 1 : 0; 29450}; 29451var $dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith = F3( 29452 function (joinWith, string1, string2) { 29453 var _v0 = _Utils_Tuple2(string1, string2); 29454 if (_v0.a === '') { 29455 return string2; 29456 } else { 29457 if (_v0.b === '') { 29458 return string1; 29459 } else { 29460 return _Utils_ap( 29461 string1, 29462 _Utils_ap(joinWith, string2)); 29463 } 29464 } 29465 }); 29466var $dillonkearns$elm_markdown$Markdown$Parser$joinStringsPreserveAll = F2( 29467 function (string1, string2) { 29468 return string1 + ('\n' + string2); 29469 }); 29470var $dillonkearns$elm_markdown$Markdown$Parser$innerParagraphParser = A2( 29471 $elm$parser$Parser$Advanced$mapChompedString, 29472 F2( 29473 function (rawLine, _v0) { 29474 return $dillonkearns$elm_markdown$Markdown$RawBlock$OpenBlockOrParagraph(rawLine); 29475 }), 29476 $dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd); 29477var $dillonkearns$elm_markdown$Markdown$Parser$openBlockOrParagraphParser = A2($elm$parser$Parser$Advanced$ignorer, $dillonkearns$elm_markdown$Markdown$Parser$innerParagraphParser, $dillonkearns$elm_markdown$Helpers$lineEndOrEnd); 29478var $dillonkearns$elm_markdown$Markdown$OrderedList$ListItem = F4( 29479 function (order, intended, marker, body) { 29480 return {fe: body, fH: intended, fP: marker, ga: order}; 29481 }); 29482var $elm$parser$Parser$Advanced$getCol = function (s) { 29483 return A3($elm$parser$Parser$Advanced$Good, false, s.d5, s); 29484}; 29485var $dillonkearns$elm_markdown$Markdown$OrderedList$orderedListEmptyItemParser = A2( 29486 $elm$parser$Parser$Advanced$keeper, 29487 $elm$parser$Parser$Advanced$succeed( 29488 function (bodyStartPos) { 29489 return _Utils_Tuple2(bodyStartPos, ''); 29490 }), 29491 A2($elm$parser$Parser$Advanced$ignorer, $elm$parser$Parser$Advanced$getCol, $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)); 29492var $dillonkearns$elm_markdown$Parser$Extra$chompOneOrMore = function (condition) { 29493 return A2( 29494 $elm$parser$Parser$Advanced$ignorer, 29495 A2( 29496 $elm$parser$Parser$Advanced$chompIf, 29497 condition, 29498 $elm$parser$Parser$Problem('Expected one or more character')), 29499 $elm$parser$Parser$Advanced$chompWhile(condition)); 29500}; 29501var $dillonkearns$elm_markdown$Markdown$OrderedList$orderedListItemBodyParser = A2( 29502 $elm$parser$Parser$Advanced$keeper, 29503 A2( 29504 $elm$parser$Parser$Advanced$keeper, 29505 A2( 29506 $elm$parser$Parser$Advanced$ignorer, 29507 $elm$parser$Parser$Advanced$succeed( 29508 F2( 29509 function (bodyStartPos, item) { 29510 return _Utils_Tuple2(bodyStartPos, item); 29511 })), 29512 $dillonkearns$elm_markdown$Parser$Extra$chompOneOrMore($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab)), 29513 $elm$parser$Parser$Advanced$getCol), 29514 A2( 29515 $elm$parser$Parser$Advanced$ignorer, 29516 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 29517 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)); 29518var $dillonkearns$elm_markdown$Markdown$OrderedList$Dot = 0; 29519var $dillonkearns$elm_markdown$Markdown$OrderedList$Paren = 1; 29520var $dillonkearns$elm_markdown$Parser$Token$closingParen = A2( 29521 $elm$parser$Parser$Advanced$Token, 29522 ')', 29523 $elm$parser$Parser$Expecting('a `)`')); 29524var $dillonkearns$elm_markdown$Parser$Token$dot = A2( 29525 $elm$parser$Parser$Advanced$Token, 29526 '.', 29527 $elm$parser$Parser$Expecting('a `.`')); 29528var $dillonkearns$elm_markdown$Markdown$OrderedList$orderedListMarkerParser = $elm$parser$Parser$Advanced$oneOf( 29529 _List_fromArray( 29530 [ 29531 A2( 29532 $elm$parser$Parser$Advanced$ignorer, 29533 $elm$parser$Parser$Advanced$succeed(0), 29534 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$dot)), 29535 A2( 29536 $elm$parser$Parser$Advanced$ignorer, 29537 $elm$parser$Parser$Advanced$succeed(1), 29538 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$closingParen)) 29539 ])); 29540var $dillonkearns$elm_markdown$Parser$Extra$positiveInteger = A2( 29541 $elm$parser$Parser$Advanced$mapChompedString, 29542 F2( 29543 function (str, _v0) { 29544 return A2( 29545 $elm$core$Maybe$withDefault, 29546 0, 29547 $elm$core$String$toInt(str)); 29548 }), 29549 $dillonkearns$elm_markdown$Parser$Extra$chompOneOrMore($elm$core$Char$isDigit)); 29550var $dillonkearns$elm_markdown$Markdown$OrderedList$positiveIntegerMaxOf9Digits = A2( 29551 $elm$parser$Parser$Advanced$andThen, 29552 function (parsed) { 29553 return (parsed <= 999999999) ? $elm$parser$Parser$Advanced$succeed(parsed) : $elm$parser$Parser$Advanced$problem( 29554 $elm$parser$Parser$Problem('Starting numbers must be nine digits or less.')); 29555 }, 29556 $dillonkearns$elm_markdown$Parser$Extra$positiveInteger); 29557var $dillonkearns$elm_markdown$Whitespace$space = $elm$parser$Parser$Advanced$token($dillonkearns$elm_markdown$Parser$Token$space); 29558var $dillonkearns$elm_markdown$Parser$Extra$upTo = F2( 29559 function (n, parser) { 29560 var _v0 = A2($elm$core$List$repeat, n, parser); 29561 if (!_v0.b) { 29562 return $elm$parser$Parser$Advanced$succeed(0); 29563 } else { 29564 var firstParser = _v0.a; 29565 var remainingParsers = _v0.b; 29566 return A3( 29567 $elm$core$List$foldl, 29568 F2( 29569 function (p, parsers) { 29570 return $elm$parser$Parser$Advanced$oneOf( 29571 _List_fromArray( 29572 [ 29573 A2($elm$parser$Parser$Advanced$ignorer, p, parsers), 29574 $elm$parser$Parser$Advanced$succeed(0) 29575 ])); 29576 }), 29577 $elm$parser$Parser$Advanced$oneOf( 29578 _List_fromArray( 29579 [ 29580 firstParser, 29581 $elm$parser$Parser$Advanced$succeed(0) 29582 ])), 29583 remainingParsers); 29584 } 29585 }); 29586var $dillonkearns$elm_markdown$Markdown$OrderedList$validateStartsWith1 = function (parsed) { 29587 if (parsed === 1) { 29588 return $elm$parser$Parser$Advanced$succeed(parsed); 29589 } else { 29590 return $elm$parser$Parser$Advanced$problem( 29591 $elm$parser$Parser$Problem('Lists inside a paragraph or after a paragraph without a blank line must start with 1')); 29592 } 29593}; 29594var $dillonkearns$elm_markdown$Markdown$OrderedList$orderedListOrderParser = function (previousWasBody) { 29595 return previousWasBody ? A2( 29596 $elm$parser$Parser$Advanced$andThen, 29597 $dillonkearns$elm_markdown$Markdown$OrderedList$validateStartsWith1, 29598 A2( 29599 $elm$parser$Parser$Advanced$keeper, 29600 A2( 29601 $elm$parser$Parser$Advanced$ignorer, 29602 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 29603 A2($dillonkearns$elm_markdown$Parser$Extra$upTo, 3, $dillonkearns$elm_markdown$Whitespace$space)), 29604 $dillonkearns$elm_markdown$Markdown$OrderedList$positiveIntegerMaxOf9Digits)) : A2( 29605 $elm$parser$Parser$Advanced$keeper, 29606 A2( 29607 $elm$parser$Parser$Advanced$ignorer, 29608 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 29609 A2($dillonkearns$elm_markdown$Parser$Extra$upTo, 3, $dillonkearns$elm_markdown$Whitespace$space)), 29610 $dillonkearns$elm_markdown$Markdown$OrderedList$positiveIntegerMaxOf9Digits); 29611}; 29612var $dillonkearns$elm_markdown$Markdown$OrderedList$parser = function (previousWasBody) { 29613 var parseSubsequentItem = F5( 29614 function (start, order, marker, mid, _v0) { 29615 var end = _v0.a; 29616 var body = _v0.b; 29617 return ((end - mid) <= 4) ? A4($dillonkearns$elm_markdown$Markdown$OrderedList$ListItem, order, end
29617- start, marker, body) : A4( 29618 $dillonkearns$elm_markdown$Markdown$OrderedList$ListItem, 29619 order, 29620 (mid - start) + 1, 29621 marker, 29622 _Utils_ap( 29623 A2($elm$core$String$repeat, (end - mid) - 1, ' '), 29624 body)); 29625 }); 29626 return A2( 29627 $elm$parser$Parser$Advanced$keeper, 29628 A2( 29629 $elm$parser$Parser$Advanced$keeper, 29630 A2( 29631 $elm$parser$Parser$Advanced$keeper, 29632 A2( 29633 $elm$parser$Parser$Advanced$keeper, 29634 A2( 29635 $elm$parser$Parser$Advanced$keeper, 29636 $elm$parser$Parser$Advanced$succeed(parseSubsequentItem), 29637 $elm$parser$Parser$Advanced$getCol), 29638 $elm$parser$Parser$Advanced$backtrackable( 29639 $dillonkearns$elm_markdown$Markdown$OrderedList$orderedListOrderParser(previousWasBody))), 29640 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$OrderedList$orderedListMarkerParser)), 29641 $elm$parser$Parser$Advanced$getCol), 29642 previousWasBody ? $dillonkearns$elm_markdown$Markdown$OrderedList$orderedListItemBodyParser : $elm$parser$Parser$Advanced$oneOf( 29643 _List_fromArray( 29644 [$dillonkearns$elm_markdown$Markdown$OrderedList$orderedListEmptyItemParser, $dillonkearns$elm_markdown$Markdown$OrderedList$orderedListItemBodyParser]))); 29645}; 29646var $dillonkearns$elm_markdown$Markdown$Parser$orderedListBlock = function (previousWasBody) { 29647 return A2( 29648 $elm$parser$Parser$Advanced$map, 29649 function (item) { 29650 return A6($dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, true, item.fH, item.fP, item.ga, _List_Nil, item.fe); 29651 }, 29652 $dillonkearns$elm_markdown$Markdown$OrderedList$parser(previousWasBody)); 29653}; 29654var $dillonkearns$elm_markdown$Markdown$Inline$CodeInline = function (a) { 29655 return {$: 2, a: a}; 29656}; 29657var $dillonkearns$elm_markdown$Markdown$Inline$HardLineBreak = {$: 1}; 29658var $dillonkearns$elm_markdown$Markdown$Inline$HtmlInline = function (a) { 29659 return {$: 5, a: a}; 29660}; 29661var $dillonkearns$elm_markdown$Markdown$Inline$Image = F3( 29662 function (a, b, c) { 29663 return {$: 4, a: a, b: b, c: c}; 29664 }); 29665var $dillonkearns$elm_markdown$Markdown$Inline$Link = F3( 29666 function (a, b, c) { 29667 return {$: 3, a: a, b: b, c: c}; 29668 }); 29669var $dillonkearns$elm_markdown$Markdown$Inline$Strikethrough = function (a) { 29670 return {$: 7, a: a}; 29671}; 29672var $dillonkearns$elm_markdown$Markdown$Inline$Text = function (a) { 29673 return {$: 0, a: a}; 29674}; 29675var $dillonkearns$elm_markdown$Markdown$InlineParser$matchToInline = function (_v0) { 29676 var match = _v0; 29677 var _v1 = match.H; 29678 switch (_v1.$) { 29679 case 0: 29680 return $dillonkearns$elm_markdown$Markdown$Inline$Text(match.j); 29681 case 1: 29682 return $dillonkearns$elm_markdown$Markdown$Inline$HardLineBreak; 29683 case 2: 29684 return $dillonkearns$elm_markdown$Markdown$Inline$CodeInline(match.j); 29685 case 3: 29686 var _v2 = _v1.a; 29687 var text = _v2.a; 29688 var url = _v2.b; 29689 return A3( 29690 $dillonkearns$elm_markdown$Markdown$Inline$Link, 29691 url, 29692 $elm$core$Maybe$Nothing, 29693 _List_fromArray( 29694 [ 29695 $dillonkearns$elm_markdown$Markdown$Inline$Text(text) 29696 ])); 29697 case 4: 29698 var _v3 = _v1.a; 29699 var url = _v3.a; 29700 var maybeTitle = _v3.b; 29701 return A3( 29702 $dillonkearns$elm_markdown$Markdown$Inline$Link, 29703 url, 29704 maybeTitle, 29705 $dillonkearns$elm_markdown$Markdown$InlineParser$matchesToInlines(match.q)); 29706 case 5: 29707 var _v4 = _v1.a; 29708 var url = _v4.a; 29709 var maybeTitle = _v4.b; 29710 return A3( 29711 $dillonkearns$elm_markdown$Markdown$Inline$Image, 29712 url, 29713 maybeTitle, 29714 $dillonkearns$elm_markdown$Markdown$InlineParser$matchesToInlines(match.q)); 29715 case 6: 29716 var model = _v1.a; 29717 return $dillonkearns$elm_markdown$Markdown$Inline$HtmlInline(model); 29718 case 7: 29719 var length = _v1.a; 29720 return A2( 29721 $dillonkearns$elm_markdown$Markdown$Inline$Emphasis, 29722 length, 29723 $dillonkearns$elm_markdown$Markdown$InlineParser$matchesToInlines(match.q)); 29724 default: 29725 return $dillonkearns$elm_markdown$Markdown$Inline$Strikethrough( 29726 $dillonkearns$elm_markdown$Markdown$InlineParser$matchesToInlines(match.q)); 29727 } 29728}; 29729var $dillonkearns$elm_markdown$Markdown$InlineParser$matchesToInlines = function (matches) { 29730 return A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$InlineParser$matchToInline, matches); 29731}; 29732var $dillonkearns$elm_markdown$Markdown$InlineParser$Match = $elm$core$Basics$identity; 29733var $dillonkearns$elm_markdown$Markdown$InlineParser$prepareChildMatch = F2( 29734 function (parentMatch, childMatch) { 29735 return {g: childMatch.g - parentMatch.t, q: childMatch.q, i: childMatch.i - parentMatch.t, j: childMatch.j, B: childMatch.B - parentMatch.t, t: childMatch.t - parentMatch.t, H: childMatch.H}; 29736 }); 29737var $dillonkearns$elm_markdown$Markdown$InlineParser$addChild = F2( 29738 function (parentMatch, childMatch) { 29739 return { 29740 g: parentMatch.g, 29741 q: A2( 29742 $elm$core$List$cons, 29743 A2($dillonkearns$elm_markdown$Markdown$InlineParser$prepareChildMatch, parentMatch, childMatch), 29744 parentMatch.q), 29745 i: parentMatch.i, 29746 j: parentMatch.j, 29747 B: parentMatch.B, 29748 t: parentMatch.t, 29749 H: parentMatch.H 29750 }; 29751 }); 29752var $elm$core$List$sortBy = _List_sortBy; 29753var $dillonkearns$elm_markdown$Markdown$InlineParser$organizeChildren = function (_v4) { 29754 var match = _v4; 29755 return { 29756 g: match.g, 29757 q: $dillonkearns$elm_markdown$Markdown$InlineParser$organizeMatches(match.q), 29758 i: match.i, 29759 j: match.j, 29760 B: match.B, 29761 t: match.t, 29762 H: match.H 29763 }; 29764}; 29765var $dillonkearns$elm_markdown$Markdown$InlineParser$organizeMatches = function (matches) { 29766 var _v2 = A2( 29767 $elm$core$List$sortBy, 29768 function (_v3) { 29769 var match = _v3; 29770 return match.i; 29771 }, 29772 matches); 29773 if (!_v2.b) { 29774 return _List_Nil; 29775 } else { 29776 var first = _v2.a; 29777 var rest = _v2.b; 29778 return A3($dillonkearns$elm_markdown$Markdown$InlineParser$organizeMatchesHelp, rest, first, _List_Nil); 29779 } 29780}; 29781var $dillonkearns$elm_markdown$Markdown$InlineParser$organizeMatchesHelp = F3( 29782 function (remaining, _v0, matchesTail) { 29783 organizeMatchesHelp: 29784 while (true) { 29785 var prevMatch = _v0; 29786 if (!remaining.b) { 29787 return A2( 29788 $elm$core$List$cons, 29789 $dillonkearns$elm_markdown$Markdown$InlineParser$organizeChildren(prevMatch), 29790 matchesTail); 29791 } else { 29792 var match = remaining.a; 29793 var rest = remaining.b; 29794 if (_Utils_cmp(prevMatch.g, match.i) < 1) { 29795 var $temp$remaining = rest, 29796 $temp$_v0 = match, 29797 $temp$matchesTail = A2( 29798 $elm$core$List$cons, 29799 $dillonkearns$elm_markdown$Markdown$InlineParser$organizeChildren(prevMatch), 29800 matchesTail); 29801 remaining = $temp$remaining; 29802 _v0 = $temp$_v0; 29803 matchesTail = $temp$matchesTail; 29804 continue organizeMatchesHelp; 29805 } else { 29806 if ((_Utils_cmp(prevMatch.i, match.i) < 0) && (_Utils_cmp(prevMatch.g, match.g) > 0)) { 29807 var $temp$remaining = rest, 29808 $temp$_v0 = A2($dillonkearns$elm_markdown$Markdown$InlineParser$addChild, prevMatch, match), 29809 $temp$matchesTail = matchesTail; 29810 remaining = $temp$remaining; 29811 _v0 = $temp$_v0; 29812 matchesTail = $temp$matchesTail; 29813 continue organizeMatchesHelp; 29814 } else { 29815 var $temp$remaining = rest, 29816 $temp$_v0 = prevMatch, 29817 $temp$matchesTail = matchesTail; 29818 remaining = $temp$remaining; 29819 _v0 = $temp$_v0; 29820 matchesTail = $temp$matchesTail; 29821 continue organizeMatchesHelp; 29822 } 29823 } 29824 } 29825 } 29826 }); 29827var $dillonkearns$elm_markdown$Markdown$InlineParser$NormalType = {$: 0};
29828var $dillonkearns$elm_markdown$Markdown$Helpers$containsAmpersand = function (string) { 29829 return A2($elm$core$String$contains, '&', string); 29830}; 29831var $elm$regex$Regex$Match = F4( 29832 function (match, index, number, submatches) { 29833 return {d: index, bf: match, f1: number, dI: submatches}; 29834 }); 29835var $elm$regex$Regex$fromStringWith = _Regex_fromStringWith; 29836var $elm$regex$Regex$fromString = function (string) { 29837 return A2( 29838 $elm$regex$Regex$fromStringWith, 29839 {ff: false, fZ: false}, 29840 string); 29841}; 29842var $elm$regex$Regex$never = _Regex_never; 29843var $dillonkearns$elm_markdown$Markdown$Entity$decimalRegex = A2( 29844 $elm$core$Maybe$withDefault, 29845 $elm$regex$Regex$never, 29846 $elm$regex$Regex$fromString('&#([0-9]{1,8});')); 29847var $elm$regex$Regex$replace = _Regex_replaceAtMost(_Regex_infinity); 29848var $dillonkearns$elm_markdown$Markdown$Entity$isBadEndUnicode = function (_int) { 29849 var remain_ = A2($elm$core$Basics$modBy, 16, _int); 29850 var remain = A2($elm$core$Basics$modBy, 131070, _int); 29851 return (_int >= 131070) && ((((0 <= remain) && (remain <= 15)) || ((65536 <= remain) && (remain <= 65551))) && ((remain_ === 14) || (remain_ === 15))); 29852}; 29853var $dillonkearns$elm_markdown$Markdown$Entity$isValidUnicode = function (_int) { 29854 return (_int === 9) || ((_int === 10) || ((_int === 13) || ((_int === 133) || (((32 <= _int) && (_int <= 126)) || (((160 <= _int) && (_int <= 55295)) || (((57344 <= _int) && (_int <= 64975)) || (((65008 <= _int) && (_int <= 65533)) || ((65536 <= _int) && (_int <= 1114109))))))))); 29855}; 29856var $dillonkearns$elm_markdown$Markdown$Entity$validUnicode = function (_int) { 29857 return ($dillonkearns$elm_markdown$Markdown$Entity$isValidUnicode(_int) && (!$dillonkearns$elm_markdown$Markdown$Entity$isBadEndUnicode(_int))) ? $elm$core$String$fromChar( 29858 $elm$core$Char$fromCode(_int)) : $elm$core$String$fromChar( 29859 $elm$core$Char$fromCode(65533)); 29860}; 29861var $dillonkearns$elm_markdown$Markdown$Entity$replaceDecimal = function (match) { 29862 var _v0 = match.dI; 29863 if (_v0.b && (!_v0.a.$)) { 29864 var first = _v0.a.a; 29865 var _v1 = $elm$core$String$toInt(first); 29866 if (!_v1.$) { 29867 var v = _v1.a; 29868 return $dillonkearns$elm_markdown$Markdown$Entity$validUnicode(v); 29869 } else { 29870 return match.bf; 29871 } 29872 } else { 29873 return match.bf; 29874 } 29875}; 29876var $dillonkearns$elm_markdown$Markdown$Entity$replaceDecimals = A2($elm$regex$Regex$replace, $dillonkearns$elm_markdown$Markdown$Entity$decimalRegex, $dillonkearns$elm_markdown$Markdown$Entity$replaceDecimal); 29877var $dillonkearns$elm_markdown$Markdown$Entity$entitiesRegex = A2( 29878 $elm$core$Maybe$withDefault, 29879 $elm$regex$Regex$never, 29880 $elm$regex$Regex$fromString('&([0-9a-zA-Z]+);')); 29881var $dillonkearns$elm_markdown$Markdown$Entity$entities = $elm$core$Dict$fromList( 29882 _List_fromArray( 29883 [ 29884 _Utils_Tuple2('quot', 34), 29885 _Utils_Tuple2('amp', 38), 29886 _Utils_Tuple2('apos', 39), 29887 _Utils_Tuple2('lt', 60), 29888 _Utils_Tuple2('gt', 62), 29889 _Utils_Tuple2('nbsp', 160), 29890 _Utils_Tuple2('iexcl', 161), 29891 _Utils_Tuple2('cent', 162), 29892 _Utils_Tuple2('pound', 163), 29893 _Utils_Tuple2('curren', 164), 29894 _Utils_Tuple2('yen', 165), 29895 _Utils_Tuple2('brvbar', 166), 29896 _Utils_Tuple2('sect', 167), 29897 _Utils_Tuple2('uml', 168), 29898 _Utils_Tuple2('copy', 169), 29899 _Utils_Tuple2('ordf', 170), 29900 _Utils_Tuple2('laquo', 171), 29901 _Utils_Tuple2('not', 172), 29902 _Utils_Tuple2('shy', 173), 29903 _Utils_Tuple2('reg', 174), 29904 _Utils_Tuple2('macr', 175), 29905 _Utils_Tuple2('deg', 176), 29906 _Utils_Tuple2('plusmn', 177), 29907 _Utils_Tuple2('sup2', 178), 29908 _Utils_Tuple2('sup3', 179), 29909 _Utils_Tuple2('acute', 180), 29910 _Utils_Tuple2('micro', 181), 29911 _Utils_Tuple2('para', 182), 29912 _Utils_Tuple2('middot', 183), 29913 _Utils_Tuple2('cedil', 184), 29914 _Utils_Tuple2('sup1', 185), 29915 _Utils_Tuple2('ordm', 186), 29916 _Utils_Tuple2('raquo', 187), 29917 _Utils_Tuple2('frac14', 188), 29918 _Utils_Tuple2('frac12', 189), 29919 _Utils_Tuple2('frac34', 190), 29920 _Utils_Tuple2('iquest', 191), 29921 _Utils_Tuple2('Agrave', 192), 29922 _Utils_Tuple2('Aacute', 193), 29923 _Utils_Tuple2('Acirc', 194), 29924 _Utils_Tuple2('Atilde', 195), 29925 _Utils_Tuple2('Auml', 196), 29926 _Utils_Tuple2('Aring', 197), 29927 _Utils_Tuple2('AElig', 198), 29928 _Utils_Tuple2('Ccedil', 199),
29929 _Utils_Tuple2('Egrave', 200), 29930 _Utils_Tuple2('Eacute', 201), 29931 _Utils_Tuple2('Ecirc', 202), 29932 _Utils_Tuple2('Euml', 203), 29933 _Utils_Tuple2('Igrave', 204), 29934 _Utils_Tuple2('Iacute', 205), 29935 _Utils_Tuple2('Icirc', 206), 29936 _Utils_Tuple2('Iuml', 207), 29937 _Utils_Tuple2('ETH', 208), 29938 _Utils_Tuple2('Ntilde', 209), 29939 _Utils_Tuple2('Ograve', 210), 29940 _Utils_Tuple2('Oacute', 211), 29941 _Utils_Tuple2('Ocirc', 212), 29942 _Utils_Tuple2('Otilde', 213), 29943 _Utils_Tuple2('Ouml', 214), 29944 _Utils_Tuple2('times', 215), 29945 _Utils_Tuple2('Oslash', 216), 29946 _Utils_Tuple2('Ugrave', 217), 29947 _Utils_Tuple2('Uacute', 218), 29948 _Utils_Tuple2('Ucirc', 219), 29949 _Utils_Tuple2('Uuml', 220), 29950 _Utils_Tuple2('Yacute', 221), 29951 _Utils_Tuple2('THORN', 222), 29952 _Utils_Tuple2('szlig', 223), 29953 _Utils_Tuple2('agrave', 224), 29954 _Utils_Tuple2('aacute', 225), 29955 _Utils_Tuple2('acirc', 226), 29956 _Utils_Tuple2('atilde', 227), 29957 _Utils_Tuple2('auml', 228), 29958 _Utils_Tuple2('aring', 229), 29959 _Utils_Tuple2('aelig', 230), 29960 _Utils_Tuple2('ccedil', 231), 29961 _Utils_Tuple2('egrave', 232), 29962 _Utils_Tuple2('eacute', 233), 29963 _Utils_Tuple2('ecirc', 234), 29964 _Utils_Tuple2('euml', 235), 29965 _Utils_Tuple2('igrave', 236), 29966 _Utils_Tuple2('iacute', 237), 29967 _Utils_Tuple2('icirc', 238), 29968 _Utils_Tuple2('iuml', 239), 29969 _Utils_Tuple2('eth', 240), 29970 _Utils_Tuple2('ntilde', 241), 29971 _Utils_Tuple2('ograve', 242), 29972 _Utils_Tuple2('oacute', 243), 29973 _Utils_Tuple2('ocirc', 244), 29974 _Utils_Tuple2('otilde', 245), 29975 _Utils_Tuple2('ouml', 246), 29976 _Utils_Tuple2('divide', 247), 29977 _Utils_Tuple2('oslash', 248), 29978 _Utils_Tuple2('ugrave', 249), 29979 _Utils_Tuple2('uacute', 250), 29980 _Utils_Tuple2('ucirc', 251), 29981 _Utils_Tuple2('uuml', 252), 29982 _Utils_Tuple2('yacute', 253), 29983 _Utils_Tuple2('thorn', 254), 29984 _Utils_Tuple2('yuml', 255), 29985 _Utils_Tuple2('OElig', 338), 29986 _Utils_Tuple2('oelig', 339), 29987 _Utils_Tuple2('Scaron', 352), 29988 _Utils_Tuple2('scaron', 353), 29989 _Utils_Tuple2('Yuml', 376), 29990 _Utils_Tuple2('fnof', 402), 29991 _Utils_Tuple2('circ', 710), 29992 _Utils_Tuple2('tilde', 732), 29993 _Utils_Tuple2('Alpha', 913), 29994 _Utils_Tuple2('Beta', 914), 29995 _Utils_Tuple2('Gamma', 915), 29996 _Utils_Tuple2('Delta', 916), 29997 _Utils_Tuple2('Epsilon', 917), 29998 _Utils_Tuple2('Zeta', 918), 29999 _Utils_Tuple2('Eta', 919), 30000 _Utils_Tuple2('Theta', 920), 30001 _Utils_Tuple2('Iota', 921), 30002 _Utils_Tuple2('Kappa', 922), 30003 _Utils_Tuple2('Lambda', 923), 30004 _Utils_Tuple2('Mu', 924), 30005 _Utils_Tuple2('Nu', 925), 30006 _Utils_Tuple2('Xi', 926), 30007 _Utils_Tuple2('Omicron', 927), 30008 _Utils_Tuple2('Pi', 928), 30009 _Utils_Tuple2('Rho', 929), 30010 _Utils_Tuple2('Sigma', 931), 30011 _Utils_Tuple2('Tau', 932), 30012 _Utils_Tuple2('Upsilon', 933), 30013 _Utils_Tuple2('Phi', 934), 30014 _Utils_Tuple2('Chi', 935), 30015 _Utils_Tuple2('Psi', 936), 30016 _Utils_Tuple2('Omega', 937), 30017 _Utils_Tuple2('alpha', 945), 30018 _Utils_Tuple2('beta', 946), 30019 _Utils_Tuple2('gamma', 947), 30020 _Utils_Tuple2('delta', 948), 30021 _Utils_Tuple2('epsilon', 949), 30022 _Utils_Tuple2('zeta', 950), 30023 _Utils_Tuple2('eta', 951), 30024 _Utils_Tuple2('theta', 952), 30025 _Utils_Tuple2('iota', 953), 30026 _Utils_Tuple2('kappa', 954), 30027 _Utils_Tuple2('lambda', 955), 30028 _Utils_Tuple2('mu', 956), 30029 _Utils_Tuple2('nu', 957), 30030 _Utils_Tuple2('xi', 958), 30031 _Utils_Tuple2('omicron', 959), 30032 _Utils_Tuple2('pi', 960), 30033 _Utils_Tuple2('rho', 961), 30034 _Utils_Tuple2('sigmaf', 962), 30035 _Utils_Tuple2('sigma', 963), 30036 _Utils_Tuple2('tau', 964), 30037 _Utils_Tuple2('upsilon', 965), 30038 _Utils_Tuple2('phi', 966), 30039 _Utils_Tuple2('chi', 967), 30040 _Utils_Tuple2('psi', 968), 30041 _Utils_Tuple2('omega', 969), 30042 _Utils_Tuple2('thetasym', 977), 30043 _Utils_Tuple2('upsih', 978), 30044 _Utils_Tuple2('piv', 982), 30045 _Utils_Tuple2('ensp', 8194), 30046 _Utils_Tuple2('emsp', 8195), 30047 _Utils_Tuple2('thinsp', 8201), 30048 _Utils_Tuple2('zwnj', 8204), 30049 _Utils_Tuple2('zwj', 8205), 30050 _Utils_Tuple2('lrm', 8206), 30051 _Utils_Tuple2('rlm', 8207), 30052 _Utils_Tuple2('ndash', 8211), 30053 _Utils_Tuple2('mdash', 8212), 30054 _Utils_Tuple2('lsquo', 8216), 30055 _Utils_Tuple2('rsquo', 8217), 30056 _Utils_Tuple2('sbquo', 8218), 30057 _Utils_Tuple2('ldquo', 8220), 30058 _Utils_Tuple2('rdquo', 8221), 30059 _Utils_Tuple2('bdquo', 8222), 30060 _Utils_Tuple2('dagger', 8224), 30061 _Utils_Tuple2('Dagger', 8225), 30062 _Utils_Tuple2('bull', 8226), 30063 _Utils_Tuple2('hellip', 8230), 30064 _Utils_Tuple2('permil', 8240), 30065 _Utils_Tuple2('prime', 8242), 30066 _Utils_Tuple2('Prime', 8243), 30067 _Utils_Tuple2('lsaquo', 8249), 30068 _Utils_Tuple2('rsaquo', 8250), 30069 _Utils_Tuple2('oline', 8254), 30070 _Utils_Tuple2('frasl', 8260), 30071 _Utils_Tuple2('euro', 8364), 30072 _Utils_Tuple2('image', 8465), 30073 _Utils_Tuple2('weierp', 8472), 30074 _Utils_Tuple2('real', 8476), 30075 _Utils_Tuple2('trade', 8482), 30076 _Utils_Tuple2('alefsym', 8501), 30077 _Utils_Tuple2('larr', 8592), 30078 _Utils_Tuple2('uarr', 8593), 30079 _Utils_Tuple2('rarr', 8594), 30080 _Utils_Tuple2('darr', 8595), 30081 _Utils_Tuple2('harr', 8596), 30082 _Utils_Tuple2('crarr', 8629), 30083 _Utils_Tuple2('lArr', 8656), 30084 _Utils_Tuple2('uArr', 8657), 30085 _Utils_Tuple2('rArr', 8658), 30086 _Utils_Tuple2('dArr', 8659), 30087 _Utils_Tuple2('hArr', 8660), 30088 _Utils_Tuple2('forall', 8704), 30089 _Utils_Tuple2('part', 8706), 30090 _Utils_Tuple2('exist', 8707), 30091 _Utils_Tuple2('empty', 8709), 30092 _Utils_Tuple2('nabla', 8711), 30093 _Utils_Tuple2('isin', 8712), 30094 _Utils_Tuple2('notin', 8713), 30095 _Utils_Tuple2('ni', 8715), 30096 _Utils_Tuple2('prod', 8719), 30097 _Utils_Tuple2('sum', 8721), 30098 _Utils_Tuple2('minus', 8722), 30099 _Utils_Tuple2('lowast', 8727), 30100 _Utils_Tuple2('radic', 8730), 30101 _Utils_Tuple2('prop', 8733), 30102 _Utils_Tuple2('infin', 8734), 30103 _Utils_Tuple2('ang', 8736), 30104 _Utils_Tuple2('and', 8743),
30105 _Utils_Tuple2('or', 8744), 30106 _Utils_Tuple2('cap', 8745), 30107 _Utils_Tuple2('cup', 8746), 30108 _Utils_Tuple2('int', 8747), 30109 _Utils_Tuple2('there4', 8756), 30110 _Utils_Tuple2('sim', 8764), 30111 _Utils_Tuple2('cong', 8773), 30112 _Utils_Tuple2('asymp', 8776), 30113 _Utils_Tuple2('ne', 8800), 30114 _Utils_Tuple2('equiv', 8801), 30115 _Utils_Tuple2('le', 8804), 30116 _Utils_Tuple2('ge', 8805), 30117 _Utils_Tuple2('sub', 8834), 30118 _Utils_Tuple2('sup', 8835), 30119 _Utils_Tuple2('nsub', 8836), 30120 _Utils_Tuple2('sube', 8838), 30121 _Utils_Tuple2('supe', 8839), 30122 _Utils_Tuple2('oplus', 8853), 30123 _Utils_Tuple2('otimes', 8855), 30124 _Utils_Tuple2('perp', 8869), 30125 _Utils_Tuple2('sdot', 8901), 30126 _Utils_Tuple2('lceil', 8968), 30127 _Utils_Tuple2('rceil', 8969), 30128 _Utils_Tuple2('lfloor', 8970), 30129 _Utils_Tuple2('rfloor', 8971), 30130 _Utils_Tuple2('lang', 9001), 30131 _Utils_Tuple2('rang', 9002), 30132 _Utils_Tuple2('loz', 9674), 30133 _Utils_Tuple2('spades', 9824), 30134 _Utils_Tuple2('clubs', 9827), 30135 _Utils_Tuple2('hearts', 9829), 30136 _Utils_Tuple2('diams', 9830) 30137 ])); 30138var $dillonkearns$elm_markdown$Markdown$Entity$replaceEntity = function (match) { 30139 var _v0 = match.dI; 30140 if (_v0.b && (!_v0.a.$)) { 30141 var first = _v0.a.a; 30142 var _v1 = A2($elm$core$Dict$get, first, $dillonkearns$elm_markdown$Markdown$Entity$entities); 30143 if (!_v1.$) { 30144 var code = _v1.a; 30145 return $elm$core$String$fromChar( 30146 $elm$core$Char$fromCode(code)); 30147 } else { 30148 return match.bf; 30149 } 30150 } else { 30151 return match.bf; 30152 } 30153}; 30154var $dillonkearns$elm_markdown$Markdown$Entity$replaceEntities = A2($elm$regex$Regex$replace, $dillonkearns$elm_markdown$Markdown$Entity$entitiesRegex, $dillonkearns$elm_markdown$Markdown$Entity$replaceEntity); 30155var $dillonkearns$elm_markdown$Markdown$Helpers$escapableRegex = A2( 30156 $elm$core$Maybe$withDefault, 30157 $elm$regex$Regex$never, 30158 $elm$regex$Regex$fromString('(\\\\+)([!\"#$%&\\\'()*+,./:;<=>?@[\\\\\\]^_`{|}~-])')); 30159var $dillonkearns$elm_markdown$Markdown$Helpers$replaceEscapable = A2( 30160 $elm$regex$Regex$replace, 30161 $dillonkearns$elm_markdown$Markdown$Helpers$escapableRegex, 30162 function (regexMatch) { 30163 var _v0 = regexMatch.dI; 30164 if (((_v0.b && (!_v0.a.$)) && _v0.b.b) && (!_v0.b.a.$)) { 30165 var backslashes = _v0.a.a; 30166 var _v1 = _v0.b; 30167 var escapedStr = _v1.a.a; 30168 return _Utils_ap( 30169 A2( 30170 $elm$core$String$repeat, 30171 ($elm$core$String$length(backslashes) / 2) | 0, 30172 '\\'), 30173 escapedStr); 30174 } else { 30175 return regexMatch.bf; 30176 } 30177 }); 30178var $dillonkearns$elm_markdown$Markdown$Entity$hexadecimalRegex = A2( 30179 $elm$core$Maybe$withDefault, 30180 $elm$regex$Regex$never, 30181 $elm$regex$Regex$fromString('&#[Xx]([0-9a-fA-F]{1,8});')); 30182var $dillonkearns$elm_markdown$Markdown$Entity$hexToInt = function (string) { 30183 var folder = F2( 30184 function (hexDigit, _int) { 30185 return ((_int * 16) + A2( 30186 $elm$core$Basics$modBy, 30187 39, 30188 $elm$core$Char$toCode(hexDigit))) - 9; 30189 }); 30190 return A3( 30191 $elm$core$String$foldl, 30192 folder, 30193 0, 30194 $elm$core$String$toLower(string)); 30195}; 30196var $dillonkearns$elm_markdown$Markdown$Entity$replaceHexadecimal = function (match) { 30197 var _v0 = match.dI; 30198 if (_v0.b && (!_v0.a.$)) { 30199 var first = _v0.a.a; 30200 return $dillonkearns$elm_markdown$Markdown$Entity$validUnicode( 30201 $dillonkearns$elm_markdown$Markdown$Entity$hexToInt(first)); 30202 } else { 30203 return match.bf; 30204 } 30205}; 30206var $dillonkearns$elm_markdown$Markdown$Entity$replaceHexadecimals = A2($elm$regex$Regex$replace, $dillonkearns$elm_markdown$Markdown$Entity$hexadecimalRegex, $dillonkearns$elm_markdown$Markdown$Entity$replaceHexadecimal); 30207var $dillonkearns$elm_markdown$Markdown$Helpers$formatStr = function (str) { 30208 var withEscapes = $dillonkearns$elm_markdown$Markdown$Helpers$replaceEscapable(str); 30209 return $dillonkearns$elm_markdown$Markdown$Helpers$containsAmpersand(withEscapes) ? $dillonkearns$elm_markdown$Markdown$Entity$replaceHexadecimals( 30210 $dillonkearns$elm_markdown$Markdown$Entity$replaceDecimals( 30211 $dillonkearns$elm_markdown$Markdown$Entity$replaceEntities(withEscapes))) : withEscapes; 30212}; 30213var $dillonkearns$elm_markdown$Markdown$InlineParser$normalMatch = function (text) { 30214 return { 30215 g: 0, 30216 q: _List_Nil, 30217 i: 0, 30218 j: $dillonkearns$elm_markdown$Markdown$Helpers$formatStr(text), 30219 B: 0, 30220 t: 0, 30221 H: $dillonkearns$elm_markdown$Markdown$InlineParser$NormalType 30222 }; 30223}; 30224var $dillonkearns$elm_markdown$Markdown$InlineParser$parseTextMatch = F3( 30225 function (rawText, _v2, parsedMatches) { 30226 var matchModel = _v2; 30227 var updtMatch = { 30228 g: matchModel.g, 30229 q: A3($dillonkearns$elm_markdown$Markdown$InlineParser$parseTextMatches, matchModel.j, _List_Nil, matchModel.q), 30230 i: matchModel.i, 30231 j: matchModel.j, 30232 B: matchModel.B, 30233 t: matchModel.t, 30234 H: matchModel.H 30235 }; 30236 if (!parsedMatches.b) { 30237 var finalStr = A2($elm$core$String$dropLeft, matchModel.g, rawText); 30238 return $elm$core$String$isEmpty(finalStr) ? _List_fromArray( 30239 [updtMatch]) : _List_fromArray( 30240 [ 30241 updtMatch, 30242 $dillonkearns$elm_markdown$Markdown$InlineParser$normalMatch(finalStr) 30243 ]); 30244 } else { 30245 var matchHead = parsedMatches.a; 30246 var _v4 = matchHead.H; 30247 if (!_v4.$) { 30248 return A2($elm$core$List$cons, updtMatch, parsedMatches); 30249 } else { 30250 return _Utils_eq(matchModel.g, matchHead.i) ? A2($elm$core$List$cons, updtMatch, parsedMatches) : ((_Utils_cmp(matchModel.g, matchHead.i) < 0) ? A2( 30251 $elm$core$List$cons, 30252 updtMatch, 30253 A2( 30254 $elm$core$List$cons, 30255 $dillonkearns$elm_markdown$Markdown$InlineParser$normalMatch( 30256 A3($elm$core$String$slice, matchModel.g, matchHead.i, rawText)), 30257 parsedMatches)) : parsedMatches); 30258 } 30259 } 30260 }); 30261var $dillonkearns$elm_markdown$Markdown$InlineParser$parseTextMatches = F3( 30262 function (rawText, parsedMatches, matches) { 30263 parseTextMatches: 30264 while (true) { 30265 if (!matches.b) { 30266 if (!parsedMatches.b) { 30267 return $elm$core$String$isEmpty(rawText) ? _List_Nil : _List_fromArray( 30268 [ 30269 $dillonkearns$elm_markdown$Markdown$InlineParser$normalMatch(rawText) 30270 ]); 30271 } else { 30272 var matchModel = parsedMatches.a; 30273 return (matchModel.i > 0) ? A2( 30274 $elm$core$List$cons, 30275 $dillonkearns$elm_markdown$Markdown$InlineParser$normalMatch( 30276 A2($elm$core$String$left, matchModel.i, rawText)), 30277 parsedMatches) : parsedMatches; 30278 } 30279 } else { 30280 var match = matches.a; 30281 var matchesTail = matches.b; 30282 var $temp$rawText = rawText, 30283 $temp$parsedMatches = A3($dillonkearns$elm_markdown$Markdown$InlineParser$parseTextMatch, rawText, match, parsedMatches), 30284 $temp$matches = matchesTail; 30285 rawText = $temp$rawText; 30286 parsedMatches = $temp$parsedMatches; 30287 matches = $temp$matches; 30288 continue parseTextMatches; 30289 } 30290 } 30291 }); 30292var $dillonkearns$elm_markdown$Markdown$InlineParser$cleanAngleBracketTokens = F3( 30293 function (tokensL, tokensR, countL) { 30294 cleanAngleBracketTokens: 30295 while (true) { 30296 if (!tokensR.b) { 30297 return _List_Nil; 30298 } else { 30299 var hd1 = tokensR.a; 30300 var rest1 = tokensR.b; 30301 if (!tokensL.b) { 30302 if (countL > 1) { 30303 var $temp$tokensL = tokensL, 30304 $temp$tokensR = rest1, 30305 $temp$countL = countL - 1; 30306 tokensL = $temp$tokensL; 30307 tokensR = $temp$tokensR; 30308 countL = $temp$countL; 30309 continue cleanAngleBracketTokens; 30310 } else { 30311 if (countL === 1) { 30312 return A2( 30313 $elm$core$List$cons, 30314 hd1, 30315 A3($dillonkearns$elm_markdown$Markdown$InlineParser$cleanAngleBracketTokens, tokensL, rest1, countL - 1)); 30316 } else { 30317 var $temp$tokensL = tokensL, 30318 $temp$tokensR = rest1, 30319 $temp$countL = 0; 30320 tokensL = $temp$tokensL; 30321 tokensR = $temp$tokensR; 30322 countL = $temp$countL; 30323 continue cleanAngleBracketTokens; 30324 } 30325 } 30326 } else { 30327 var hd = tokensL.a; 30328 var rest = tokensL.b; 30329 if (_Utils_cmp(hd.d, hd1.d) < 0) { 30330 if (!countL) { 30331 return A2( 30332 $elm$core$List$cons, 30333 hd, 30334 A3($dillonkearns$elm_markdown$Markdown$InlineParser$cleanAngleBracketTokens, rest, tokensR, countL + 1)); 30335 } else { 30336 var $temp$tokensL = rest, 30337 $temp$tokensR = tokensR, 30338 $temp$countL = countL + 1; 30339 tokensL = $temp$tokensL; 30340 tokensR = $temp$tokensR; 30341 countL = $temp$countL; 30342 continue cleanAngleBracketTokens; 30343 } 30344 } else { 30345 if (countL > 1) { 30346 var $temp$tokensL = tokensL, 30347 $temp$tokensR = rest1, 30348 $temp$countL = countL - 1; 30349 tokensL = $temp$tokensL; 30350 tokensR = $temp$tokensR; 30351 countL = $temp$countL; 30352 continue cleanAngleBracketTokens; 30353 } else { 30354 if (countL === 1) { 30355 return A2( 30356 $elm$core$List$cons, 30357 hd1, 30358 A3($dillonkearns$elm_markdown$Markdown$InlineParser$cleanAngleBracketTokens, tokensL, rest1, countL - 1)); 30359 } else { 30360 var $temp$tokensL = tokensL, 30361 $temp$tokensR = rest1, 30362 $temp$countL = 0; 30363 tokensL = $temp$tokensL; 30364 tokensR = $temp$tokensR; 30365 countL = $temp$countL; 30366 continue cleanAngleBracketTokens; 30367 } 30368 } 30369 } 30370 } 30371 } 30372 } 30373 }); 30374var $dillonkearns$elm_markdown$Markdown$InlineParser$angleBracketLToken
30374Regex = A2( 30375 $elm$core$Maybe$withDefault, 30376 $elm$regex$Regex$never, 30377 $elm$regex$Regex$fromString('(\\\\*)(\\<)')); 30378var $elm$regex$Regex$find = _Regex_findAtMost(_Regex_infinity); 30379var $dillonkearns$elm_markdown$Markdown$InlineParser$AngleBracketOpen = {$: 4}; 30380var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToAngleBracketLToken = function (regMatch) { 30381 var _v0 = regMatch.dI; 30382 if ((_v0.b && _v0.b.b) && (!_v0.b.a.$)) { 30383 var maybeBackslashes = _v0.a; 30384 var _v1 = _v0.b; 30385 var backslashesLength = A2( 30386 $elm$core$Maybe$withDefault, 30387 0, 30388 A2($elm$core$Maybe$map, $elm$core$String$length, maybeBackslashes)); 30389 return $dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength) ? $elm$core$Maybe$Just( 30390 {d: regMatch.d + backslashesLength, dj: 1, e: $dillonkearns$elm_markdown$Markdown$InlineParser$AngleBracketOpen}) : $elm$core$Maybe$Nothing; 30391 } else { 30392 return $elm$core$Maybe$Nothing; 30393 } 30394}; 30395var $dillonkearns$elm_markdown$Markdown$InlineParser$findAngleBracketLTokens = function (str) { 30396 return A2( 30397 $elm$core$List$filterMap, 30398 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToAngleBracketLToken, 30399 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$angleBracketLTokenRegex, str)); 30400}; 30401var $dillonkearns$elm_markdown$Markdown$InlineParser$angleBracketRTokenRegex = A2( 30402 $elm$core$Maybe$withDefault, 30403 $elm$regex$Regex$never, 30404 $elm$regex$Regex$fromString('(\\\\*)(\\>)')); 30405var $dillonkearns$elm_markdown$Markdown$InlineParser$AngleBracketClose = function (a) { 30406 return {$: 5, a: a}; 30407}; 30408var $dillonkearns$elm_markdown$Markdown$InlineParser$Escaped = 0; 30409var $dillonkearns$elm_markdown$Markdown$InlineParser$NotEscaped = 1; 30410var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToAngleBracketRToken = function (regMatch) { 30411 var _v0 = regMatch.dI; 30412 if ((_v0.b && _v0.b.b) && (!_v0.b.a.$)) { 30413 var maybeBackslashes = _v0.a; 30414 var _v1 = _v0.b; 30415 var backslashesLength = A2( 30416 $elm$core$Maybe$withDefault, 30417 0, 30418 A2($elm$core$Maybe$map, $elm$core$String$length, maybeBackslashes)); 30419 return $elm$core$Maybe$Just( 30420 { 30421 d: regMatch.d + backslashesLength, 30422 dj: 1, 30423 e: $dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength) ? $dillonkearns$elm_markdown$Markdown$InlineParser$AngleBracketClose(1) : $dillonkearns$elm_markdown$Markdown$InlineParser$AngleBracketClose(0) 30424 }); 30425 } else { 30426 return $elm$core$Maybe$Nothing; 30427 } 30428}; 30429var $dillonkearns$elm_markdown$Markdown$InlineParser$findAngleBracketRTokens = function (str) { 30430 return A2( 30431 $elm$core$List$filterMap, 30432 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToAngleBracketRToken, 30433 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$angleBracketRTokenRegex, str)); 30434}; 30435var $dillonkearns$elm_markdown$Markdown$InlineParser$asteriskEmphasisTokenRegex = A2( 30436 $elm$core$Maybe$withDefault, 30437 $elm$regex$Regex$never, 30438 $elm$regex$Regex$fromString('(\\\\*)([^*])?(\\*+)([^*])?')); 30439var $dillonkearns$elm_markdown$Markdown$InlineParser$EmphasisToken = F2( 30440 function (a, b) { 30441 return {$: 7, a: a, b: b}; 30442 }); 30443var $dillonkearns$elm_markdown$Markdown$InlineParser$isPunctuation = function (c) { 30444 switch (c) { 30445 case '!': 30446 return true; 30447 case '\"': 30448 return true; 30449 case '#': 30450 return true; 30451 case '%': 30452 return true; 30453 case '&': 30454 return true; 30455 case '\'': 30456 return true; 30457 case '(': 30458 return true; 30459 case ')': 30460 return true; 30461 case '*': 30462 return true; 30463 case ',': 30464 return true; 30465 case '-': 30466 return true; 30467 case '.': 30468 return true; 30469 case '/': 30470 return true; 30471 case ':': 30472 return true; 30473 case ';': 30474 return true; 30475 case '?': 30476 return true; 30477 case '@': 30478 return true; 30479 case '[': 30480 return true; 30481 case ']': 30482 return true; 30483 case '_': 30484 return true; 30485 case '{': 30486 return true; 30487 case '}': 30488 return true; 30489 case '~': 30490 return true; 30491 default: 30492 return false; 30493 } 30494}; 30495var $dillonkearns$elm_markdown$Markdown$InlineParser$containPunctuation = A2( 30496 $elm$core$String$foldl, 30497 F2( 30498 function (c, accum) { 30499 return accum || $dillonkearns$elm_markdown$Markdown$InlineParser$isPunctuation(c); 30500 }), 30501 false); 30502var $dillonkearns$elm_markdown$Markdown$InlineParser$isWhitespace = function (c) { 30503 switch (c) { 30504 case ' ': 30505 return true; 30506 case '\u000C': 30507 return true; 30508 case '\n': 30509 return true; 30510 case '\u000D': 30511 return true; 30512 case '\t': 30513 return true; 30514 case '\u000B': 30515 return true; 30516 case '\u00A0': 30517 return true; 30518 case '\u2028': 30519 return true; 30520 case '\u2029': 30521 return true; 30522 default: 30523 return false;
30524 } 30525}; 30526var $dillonkearns$elm_markdown$Markdown$InlineParser$containSpace = A2( 30527 $elm$core$String$foldl, 30528 F2( 30529 function (c, accum) { 30530 return accum || $dillonkearns$elm_markdown$Markdown$InlineParser$isWhitespace(c); 30531 }), 30532 false); 30533var $dillonkearns$elm_markdown$Markdown$InlineParser$getFringeRank = function (mstring) { 30534 if (!mstring.$) { 30535 var string = mstring.a; 30536 return ($elm$core$String$isEmpty(string) || $dillonkearns$elm_markdown$Markdown$InlineParser$containSpace(string)) ? 0 : ($dillonkearns$elm_markdown$Markdown$InlineParser$containPunctuation(string) ? 1 : 2); 30537 } else { 30538 return 0; 30539 } 30540}; 30541var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToEmphasisToken = F3( 30542 function (_char, rawText, regMatch) { 30543 var _v0 = regMatch.dI; 30544 if ((((_v0.b && _v0.b.b) && _v0.b.b.b) && (!_v0.b.b.a.$)) && _v0.b.b.b.b) { 30545 var maybeBackslashes = _v0.a; 30546 var _v1 = _v0.b; 30547 var maybeLeftFringe = _v1.a; 30548 var _v2 = _v1.b; 30549 var delimiter = _v2.a.a; 30550 var _v3 = _v2.b; 30551 var maybeRightFringe = _v3.a; 30552 var rFringeRank = $dillonkearns$elm_markdown$Markdown$InlineParser$getFringeRank(maybeRightFringe); 30553 var leftFringeLength = function () { 30554 if (!maybeLeftFringe.$) { 30555 var left = maybeLeftFringe.a; 30556 return $elm$core$String$length(left); 30557 } else { 30558 return 0; 30559 } 30560 }(); 30561 var mLeftFringe = ((!(!regMatch.d)) && (!leftFringeLength)) ? $elm$core$Maybe$Just( 30562 A3($elm$core$String$slice, regMatch.d - 1, regMatch.d, rawText)) : maybeLeftFringe; 30563 var backslashesLength = function () { 30564 if (!maybeBackslashes.$) { 30565 var backslashes = maybeBackslashes.a; 30566 return $elm$core$String$length(backslashes); 30567 } else { 30568 return 0; 30569 } 30570 }(); 30571 var isEscaped = ((!$dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength)) && (!leftFringeLength)) || function () { 30572 if ((!mLeftFringe.$) && (mLeftFringe.a === '\\')) { 30573 return true; 30574 } else { 30575 return false; 30576 } 30577 }(); 30578 var delimiterLength = isEscaped ? ($elm$core$String$length(delimiter) - 1) : $elm$core$String$length(delimiter); 30579 var lFringeRank = isEscaped ? 1 : $dillonkearns$elm_markdown$Markdown$InlineParser$getFringeRank(mLeftFringe); 30580 if ((delimiterLength <= 0) || ((_char === '_') && ((lFringeRank === 2) && (rFringeRank === 2)))) { 30581 return $elm$core$Maybe$Nothing; 30582 } else { 30583 var index = ((regMatch.d + backslashesLength) + leftFringeLength) + (isEscaped ? 1 : 0); 30584 return $elm$core$Maybe$Just( 30585 { 30586 d: index, 30587 dj: delimiterLength, 30588 e: A2( 30589 $dillonkearns$elm_markdown$Markdown$InlineParser$EmphasisToken, 30590 _char, 30591 {b9: lFringeRank, cy: rFringeRank}) 30592 }); 30593 } 30594 } else { 30595 return $elm$core$Maybe$Nothing; 30596 } 30597 }); 30598var $dillonkearns$elm_markdown$Markdown$InlineParser$findAsteriskEmphasisTokens = function (str) { 30599 return A2( 30600 $elm$core$List$filterMap, 30601 A2($dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToEmphasisToken, '*', str), 30602 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$asteriskEmphasisTokenRegex, str)); 30603}; 30604var $dillonkearns$elm_markdown$Markdown$InlineParser$codeTokenRegex = A2( 30605 $elm$core$Maybe$withDefault, 30606 $elm$regex$Regex$never, 30607 $elm$regex$Regex$fromString('(\\\\*)(\\`+)')); 30608var $dillonkearns$elm_markdown$Markdown$InlineParser$CodeToken = function (a) { 30609 return {$: 0, a: a}; 30610}; 30611var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToCodeToken = function (regMatch) { 30612 var _v0 = regMatch.dI; 30613 if ((_v0.b && _v0.b.b) && (!_v0.b.a.$)) { 30614 var maybeBackslashes = _v0.a; 30615 var _v1 = _v0.b; 30616 var backtick = _v1.a.a; 30617 var backslashesLength = A2( 30618 $elm$core$Maybe$withDefault, 30619 0, 30620 A2($elm$core$Maybe$map, $elm$core$String$length, maybeBackslashes)); 30621 return $elm$core$Maybe$Just( 30622 { 30623 d: regMatch.d + backslashesLength, 30624 dj: $elm$core$String$length(backtick), 30625 e: $dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength) ? $dillonkearns$elm_markdown$Markdown$InlineParser$CodeToken(1) : $dillonkearns$elm_markdown$Markdown$InlineParser$CodeToken(0) 30626 }); 30627 } else { 30628 return $elm$core$Maybe$Nothing; 30629 } 30630}; 30631var $dillonkearns$elm_markdown$Markdown$InlineParser$findCodeTokens = function (str) { 30632 return A2( 30633 $elm$core$List$filterMap, 30634 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToCodeToken, 30635 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$codeTokenRegex, str)); 30636}; 30637var $dillonkearns$elm_markdown$Markdown$InlineParser$hardBreakTokenRegex = A2( 30638 $elm$core$Maybe$withDefault, 30639 $elm$regex$Regex$never, 30640 $elm$regex$Regex$fromString('(?:(\\\\+)|( {2,}))\\n')); 30641var $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakToken = {$: 8}; 30642var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToHardBreakToken = function (regMatch) { 30643 var _v0 = regMatch.dI; 30644 _v0$2: 30645 while (true) { 30646 if (_v0.b) { 30647 if (!_v0.a.$) { 30648 var backslashes = _v0.a.a; 30649 var backslashesLength = $elm$core$String$length(backslashes); 30650 return (!$dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength)) ? $elm$core$Maybe$Just( 30651 {d: (regMatch.d + backslashesLength) - 1, dj: 2, e: $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakToken}) : $elm$core$Maybe$Nothing; 30652 } else { 30653 if (_v0.b.b && (!_v0.b.a.$)) { 30654 var _v1 = _v0.b; 30655 return $elm$core$Maybe$Just( 30656 { 30657 d: regMatch.d, 30658 dj: $elm$core$String$length(regMatch.bf), 30659 e: $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakToken 30660 }); 30661 } else { 30662 break _v0$2; 30663 } 30664 } 30665 } else { 30666 break _v0$2; 30667 } 30668 } 30669 return $elm$core$Maybe$Nothing; 30670}; 30671var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToSoftHardBreakToken = function (regMatch) { 30672 var _v0 = regMatch.dI; 30673 _v0$2: 30674 while (true) { 30675 if (_v0.b) { 30676 if (!_v0.a.$) { 30677 var backslashes = _v0.a.a; 30678 var backslashesLength = $elm$core$String$length(backslashes); 30679 return $dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength) ? $elm$core$Maybe$Just( 30680 {d: regMatch.d + backslashesLength, dj: 1, e: $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakToken}) : $elm$core$Maybe$Just( 30681 {d: (regMatch.d + backslashesLength) - 1, dj: 2, e: $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakToken}); 30682 } else { 30683 if (_v0.b.b) { 30684 var _v1 = _v0.b; 30685 return $elm$core$Maybe$Just( 30686 { 30687 d: regMatch.d, 30688 dj: $elm$core$String$length(regMatch.bf), 30689 e: $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakToken 30690 }); 30691 } else { 30692 break _v0$2; 30693 } 30694 } 30695 } else { 30696 break _v0$2; 30697 } 30698 } 30699 return $elm$core$Maybe$Nothing; 30700}; 30701var $dillonkearns$elm_markdown$Markdown$InlineParser$softAsHardLineBreak = false;
30702var $dillonkearns$elm_markdown$Markdown$InlineParser$softAsHardLineBreakTokenRegex = A2( 30703 $elm$core$Maybe$withDefault, 30704 $elm$regex$Regex$never, 30705 $elm$regex$Regex$fromString('(?:(\\\\+)|( *))\\n')); 30706var $dillonkearns$elm_markdown$Markdown$InlineParser$findHardBreakTokens = function (str) { 30707 return $dillonkearns$elm_markdown$Markdown$InlineParser$softAsHardLineBreak ? A2( 30708 $elm$core$List$filterMap, 30709 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToSoftHardBreakToken, 30710 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$softAsHardLineBreakTokenRegex, str)) : A2( 30711 $elm$core$List$filterMap, 30712 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToHardBreakToken, 30713 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$hardBreakTokenRegex, str)); 30714}; 30715var $dillonkearns$elm_markdown$Markdown$InlineParser$linkImageCloseTokenRegex = A2( 30716 $elm$core$Maybe$withDefault, 30717 $elm$regex$Regex$never, 30718 $elm$regex$Regex$fromString('(\\\\*)(\\])')); 30719var $dillonkearns$elm_markdown$Markdown$InlineParser$SquareBracketClose = {$: 3}; 30720var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToLinkImageCloseToken = function (regMatch) { 30721 var _v0 = regMatch.dI; 30722 if ((_v0.b && _v0.b.b) && (!_v0.b.a.$)) { 30723 var maybeBackslashes = _v0.a; 30724 var _v1 = _v0.b; 30725 var backslashesLength = A2( 30726 $elm$core$Maybe$withDefault, 30727 0, 30728 A2($elm$core$Maybe$map, $elm$core$String$length, maybeBackslashes)); 30729 return $dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength) ? $elm$core$Maybe$Just( 30730 {d: regMatch.d + backslashesLength, dj: 1, e: $dillonkearns$elm_markdown$Markdown$InlineParser$SquareBracketClose}) : $elm$core$Maybe$Nothing; 30731 } else { 30732 return $elm$core$Maybe$Nothing; 30733 } 30734}; 30735var $dillonkearns$elm_markdown$Markdown$InlineParser$findLinkImageCloseTokens = function (str) { 30736 return A2( 30737 $elm$core$List$filterMap, 30738 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToLinkImageCloseToken, 30739 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$linkImageCloseTokenRegex, str)); 30740}; 30741var $dillonkearns$elm_markdown$Markdown$InlineParser$linkImageOpenTokenRegex = A2( 30742 $elm$core$Maybe$withDefault, 30743 $elm$regex$Regex$never, 30744 $elm$regex$Regex$fromString('(\\\\*)(\\!)?(\\[)')); 30745var $dillonkearns$elm_markdown$Markdown$InlineParser$Active = 0; 30746var $dillonkearns$elm_markdown$Markdown$InlineParser$ImageOpenToken = {$: 2}; 30747var $dillonkearns$elm_markdown$Markdown$InlineParser$LinkOpenToken = function (a) { 30748 return {$: 1, a: a}; 30749}; 30750var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToLinkImageOpenToken = function (regMatch) { 30751 var _v0 = regMatch.dI; 30752 if (((_v0.b && _v0.b.b) && _v0.b.b.b) && (!_v0.b.b.a.$)) { 30753 var maybeBackslashes = _v0.a; 30754 var _v1 = _v0.b; 30755 var maybeImageOpen = _v1.a; 30756 var _v2 = _v1.b; 30757 var backslashesLength = A2( 30758 $elm$core$Maybe$withDefault, 30759 0, 30760 A2($elm$core$Maybe$map, $elm$core$String$length, maybeBackslashes)); 30761 var isEscaped = !$dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength); 30762 var index = isEscaped ? ((regMatch.d + backslashesLength) + 1) : (regMatch.d + backslashesLength); 30763 if (isEscaped) { 30764 if (!maybeImageOpen.$) { 30765 return $elm$core$Maybe$Just( 30766 { 30767 d: index, 30768 dj: 1, 30769 e: $dillonkearns$elm_markdown$Markdown$InlineParser$LinkOpenToken(0) 30770 }); 30771 } else { 30772 return $elm$core$Maybe$Nothing; 30773 } 30774 } else { 30775 if (!maybeImageOpen.$) { 30776 return $elm$core$Maybe$Just( 30777 {d: index, dj: 2, e: $dillonkearns$elm_markdown$Markdown$InlineParser$ImageOpenToken}); 30778 } else { 30779 return $elm$core$Maybe$Just( 30780 { 30781 d: index, 30782 dj: 1, 30783 e: $dillonkearns$elm_markdown$Markdown$InlineParser$LinkOpenToken(0) 30784 }); 30785 } 30786 } 30787 } else { 30788 return $elm$core$Maybe$Nothing; 30789 } 30790}; 30791var $dillonkearns$elm_markdown$Markdown$InlineParser$findLinkImageOpenTokens = function (str) { 30792 return A2( 30793 $elm$core$List$filterMap, 30794 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToLinkImageOpenToken, 30795 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$linkImageOpenToken
30795Regex, str)); 30796}; 30797var $dillonkearns$elm_markdown$Markdown$InlineParser$StrikethroughToken = function (a) { 30798 return {$: 9, a: a}; 30799}; 30800var $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToStrikethroughToken = function (regMatch) { 30801 var _v0 = regMatch.dI; 30802 if ((_v0.b && _v0.b.b) && (!_v0.b.a.$)) { 30803 var maybeBackslashes = _v0.a; 30804 var _v1 = _v0.b; 30805 var tilde = _v1.a.a; 30806 var backslashesLength = A2( 30807 $elm$core$Maybe$withDefault, 30808 0, 30809 A2($elm$core$Maybe$map, $elm$core$String$length, maybeBackslashes)); 30810 var _v2 = $dillonkearns$elm_markdown$Markdown$Helpers$isEven(backslashesLength) ? _Utils_Tuple2( 30811 $elm$core$String$length(tilde), 30812 $dillonkearns$elm_markdown$Markdown$InlineParser$StrikethroughToken(1)) : _Utils_Tuple2( 30813 $elm$core$String$length(tilde), 30814 $dillonkearns$elm_markdown$Markdown$InlineParser$StrikethroughToken(0)); 30815 var length = _v2.a; 30816 var meaning = _v2.b; 30817 return $elm$core$Maybe$Just( 30818 {d: regMatch.d + backslashesLength, dj: length, e: meaning}); 30819 } else { 30820 return $elm$core$Maybe$Nothing; 30821 } 30822}; 30823var $dillonkearns$elm_markdown$Markdown$InlineParser$strikethroughTokenRegex = A2( 30824 $elm$core$Maybe$withDefault, 30825 $elm$regex$Regex$never, 30826 $elm$regex$Regex$fromString('(\\\\*)(~{2,})([^~])?')); 30827var $dillonkearns$elm_markdown$Markdown$InlineParser$findStrikethroughTokens = function (str) { 30828 return A2( 30829 $elm$core$List$filterMap, 30830 $dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToStrikethroughToken, 30831 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$strikethroughTokenRegex, str)); 30832}; 30833var $dillonkearns$elm_markdown$Markdown$InlineParser$underlineEmphasisTokenRegex = A2( 30834 $elm$core$Maybe$withDefault, 30835 $elm$regex$Regex$never, 30836 $elm$regex$Regex$fromString('(\\\\*)([^_])?(\\_+)([^_])?')); 30837var $dillonkearns$elm_markdown$Markdown$InlineParser$findUnderlineEmphasisTokens = function (str) { 30838 return A2( 30839 $elm$core$List$filterMap, 30840 A2($dillonkearns$elm_markdown$Markdown$InlineParser$regMatchToEmphasisToken, '_', str), 30841 A2($elm$regex$Regex$find, $dillonkearns$elm_markdown$Markdown$InlineParser$underlineEmphasisTokenRegex, str)); 30842}; 30843var $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex = F2( 30844 function (left, right) { 30845 if (left.b) { 30846 var lfirst = left.a; 30847 var lrest = left.b; 30848 if (right.b) { 30849 var rfirst = right.a; 30850 var rrest = right.b; 30851 return (_Utils_cmp(lfirst.d, rfirst.d) < 0) ? A2( 30852 $elm$core$List$cons, 30853 lfirst, 30854 A2($dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, lrest, right)) : A2( 30855 $elm$core$List$cons, 30856 rfirst, 30857 A2($dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, left, rrest)); 30858 } else { 30859 return left; 30860 } 30861 } else { 30862 return right; 30863 } 30864 }); 30865var $dillonkearns$elm_markdown$Markdown$InlineParser$tokenize = function (rawText) { 30866 return A2( 30867 $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, 30868 A3( 30869 $dillonkearns$elm_markdown$Markdown$InlineParser$cleanAngleBracketTokens, 30870 A2( 30871 $elm$core$List$sortBy, 30872 function ($) { 30873 return $.d; 30874 }, 30875 $dillonkearns$elm_markdown$Markdown$InlineParser$findAngleBracketLTokens(rawText)), 30876 A2( 30877 $elm$core$List$sortBy, 30878 function ($) { 30879 return $.d; 30880 }, 30881 $dillonkearns$elm_markdown$Markdown$InlineParser$findAngleBracketRTokens(rawText)), 30882 0), 30883 A2( 30884 $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, 30885 $dillonkearns$elm_markdown$Markdown$InlineParser$findHardBreakTokens(rawText), 30886 A2( 30887 $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, 30888 $dillonkearns$elm_markdown$Markdown$InlineParser$findLinkImageCloseTokens(rawText), 30889 A2( 30890 $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, 30891 $dillonkearns$elm_markdown$Markdown$InlineParser$findLinkImageOpenTokens(rawText), 30892 A2( 30893 $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, 30894 $dillonkearns$elm_markdown$Markdown$InlineParser$findStrikethroughTokens(rawText), 30895 A2( 30896 $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, 30897 $dillonkearns$elm_markdown$Markdown$InlineParser$findUnderlineEmphasisTokens(rawText), 30898 A2( 30899 $dillonkearns$elm_markdown$Markdown$InlineParser$mergeByIndex, 30900 $dillonkearns$elm_markdown$Markdown$InlineParser$findAsteriskEmphasisTokens(rawText), 30901 $dillonkearns$elm_markdown$Markdown$InlineParser$findCodeTokens(rawText)))))))); 30902}; 30903var $dillonkearns$elm_markdown$Markdown$InlineParser$CodeType = {$: 2}; 30904var $dillonkearns$elm_markdown$Markdown$InlineParser$EmphasisType = function (a) { 30905 return {$: 7, a: a}; 30906}; 30907var $dillonkearns$elm_markdown$Markdown$InlineParser$HtmlType = function (a) { 30908 return {$: 6, a: a}; 30909}; 30910var $dillonkearns$elm_markdown$Markdown$InlineParser$ImageType = function (a) { 30911 return {$: 5, a: a}; 30912}; 30913var $dillonkearns$elm_markdown$Markdown$InlineParser$Inactive = 1; 30914var $dillonkearns$elm_markdown$Markdown$InlineParser$LinkType = function (a) { 30915 return {$: 4, a: a}; 30916}; 30917var $dillonkearns$elm_markdown$Markdown$InlineParser$StrikethroughType = {$: 8}; 30918var $dillonkearns$elm_markdown$Markdown$InlineParser$AutolinkType = function (a) { 30919 return {$: 3, a: a}; 30920}; 30921var $elm$regex$Regex$contains = _Regex_contains;
30922var $dillonkearns$elm_markdown$Markdown$InlineParser$decodeUrlRegex = A2( 30923 $elm$core$Maybe$withDefault, 30924 $elm$regex$Regex$never, 30925 $elm$regex$Regex$fromString('%(?:3B|2C|2F|3F|3A|40|26|3D|2B|24|23|25)')); 30926var $elm$url$Url$percentDecode = _Url_percentDecode; 30927var $elm$url$Url$percentEncode = _Url_percentEncode; 30928var $dillonkearns$elm_markdown$Markdown$InlineParser$encodeUrl = A2( 30929 $elm$core$Basics$composeR, 30930 $elm$url$Url$percentEncode, 30931 A2( 30932 $elm$regex$Regex$replace, 30933 $dillonkearns$elm_markdown$Markdown$InlineParser$decodeUrlRegex, 30934 function (match) { 30935 return A2( 30936 $elm$core$Maybe$withDefault, 30937 match.bf, 30938 $elm$url$Url$percentDecode(match.bf)); 30939 })); 30940var $dillonkearns$elm_markdown$Markdown$InlineParser$urlRegex = A2( 30941 $elm$core$Maybe$withDefault, 30942 $elm$regex$Regex$never, 30943 $elm$regex$Regex$fromString('^([A-Za-z][A-Za-z0-9.+\\-]{1,31}:[^<>\\x00-\\x20]*)$')); 30944var $dillonkearns$elm_markdown$Markdown$InlineParser$autolinkToMatch = function (_v0) { 30945 var match = _v0; 30946 return A2($elm$regex$Regex$contains, $dillonkearns$elm_markdown$Markdown$InlineParser$urlRegex, match.j) ? $elm$core$Result$Ok( 30947 _Utils_update( 30948 match, 30949 { 30950 H: $dillonkearns$elm_markdown$Markdown$InlineParser$AutolinkType( 30951 _Utils_Tuple2( 30952 match.j, 30953 $dillonkearns$elm_markdown$Markdown$InlineParser$encodeUrl(match.j))) 30954 })) : $elm$core$Result$Err(match); 30955}; 30956var $elm$regex$Regex$findAtMost = _Regex_findAtMost; 30957var $dillonkearns$elm_markdown$Markdown$Helpers$insideSquareBracketRegex = '[^\\[\\]\\\\]*(?:\\\\.[^\\[\\]\\\\]*)*'; 30958var $dillonkearns$elm_markdown$Markdown$InlineParser$refLabelRegex = A2( 30959 $elm$core$Maybe$withDefault, 30960 $elm$regex$Regex$never, 30961 $elm$regex$Regex$fromString('^\\[\\s*(' + ($dillonkearns$elm_markdown$Markdown$Helpers$insideSquareBracketRegex + ')\\s*\\]'))); 30962var $dillonkearns$elm_markdown$Markdown$Helpers$cleanWhitespaces = function (original) { 30963 return original; 30964}; 30965var $dillonkearns$elm_markdown$Markdown$Helpers$prepareRefLabel = A2($elm$core$Basics$composeR, $dillonkearns$elm_markdown$Markdown$Helpers$cleanWhitespaces, $elm$core$String$toLower); 30966var $dillonkearns$elm_markdown$Markdown$InlineParser$prepareUrlAndTitle = F2( 30967 function (rawUrl, maybeTitle) { 30968 return _Utils_Tuple2( 30969 $dillonkearns$elm_markdown$Markdown$InlineParser$encodeUrl( 30970 $dillonkearns$elm_markdown$Markdown$Helpers$formatStr(rawUrl)), 30971 A2($elm$core$Maybe$map, $dillonkearns$elm_markdown$Markdown$Helpers$formatStr, maybeTitle)); 30972 }); 30973var $dillonkearns$elm_markdown$Markdown$InlineParser$refRegexToMatch = F3( 30974 function (matchModel, references, maybeRegexMatch) { 30975 var refLabel = function (str) { 30976 return $elm$core$String$isEmpty(str) ? matchModel.j : str; 30977 }( 30978 A2( 30979 $elm$core$Maybe$withDefault, 30980 matchModel.j, 30981 A2( 30982 $elm$core$Maybe$withDefault, 30983 $elm$core$Maybe$Nothing, 30984 A2( 30985 $elm$core$Maybe$andThen, 30986 A2( 30987 $elm$core$Basics$composeR, 30988 function ($) { 30989 return $.dI; 30990 }, 30991 $elm$core$List$head), 30992 maybeRegexMatch)))); 30993 var _v0 = A2( 30994 $elm$core$Dict$get, 30995 $dillonkearns$elm_markdown$Markdown$Helpers$prepareRefLabel(refLabel), 30996 references); 30997 if (_v0.$ === 1) { 30998 return $elm$core$Maybe$Nothing; 30999 } else { 31000 var _v1 = _v0.a; 31001 var rawUrl = _v1.a; 31002 var maybeTitle = _v1.b; 31003 var type_ = function () { 31004 var _v3 = matchModel.H; 31005 if (_v3.$ === 5) { 31006 return $dillonkearns$elm_markdown$Markdown$InlineParser$ImageType( 31007 A2($dillonkearns$elm_markdown$Markdown$InlineParser$prepareUrlAndTitle, rawUrl, maybeTitle)); 31008 } else { 31009 return $dillonkearns$elm_markdown$Markdown$InlineParser$LinkType( 31010 A2($dillonkearns$elm_markdown$Markdown$InlineParser$prepareUrlAndTitle, rawUrl, maybeTitle)); 31011 } 31012 }(); 31013 var regexMatchLength = function () { 31014 if (!maybeRegexMatch.$) { 31015 var match = maybeRegexMatch.a.bf; 31016 return $elm$core$String$length(match); 31017 } else { 31018 return 0; 31019 } 31020 }(); 31021 return $elm$core$Maybe$Just( 31022 _Utils_update( 31023 matchModel, 31024 {g: matchModel.g + regexMatchLength, H: type_})); 31025 } 31026 }); 31027var $dillonkearns$elm_markdown$Markdown$InlineParser$checkForInlineReferences = F3( 31028 function (remainText, _v0, references) { 31029 var tempMatch = _v0; 31030 var matches = A3($elm$regex$Regex$findAtMost, 1, $dillonkearns$elm_markdown$Markdown$InlineParser$refLabelRegex, remainText); 31031 return A3( 31032 $dillonkearns$elm_markdown$Markdown$InlineParser$refRegexToMatch, 31033 tempMatch, 31034 references, 31035 $elm$core$List$head(matches)); 31036 }); 31037var $dillonkearns$elm_markdown$Markdown$Helpers$lineEndChars = '\\f\\v\\r\\n'; 31038var $dillonkearns$elm_markdown$Markdown$Helpers$whiteSpaceChars = ' \\t\\f\\v\\r\\n'; 31039var $dillonkearns$elm_markdown$Markdown$InlineParser$hrefRegex = '(?:<([^<>' + ($dillonkearns$elm_markdown$Markdown$Helpers$lineEndChars + (']*)>|([^' + ($dillonkearns$elm_markdown$Markdown$Helpers$whiteSpaceChars + ('\\(\\)\\\\]*(?:\\\\.[^' + ($dillonkearns$elm_markdown$Markdown$Helpers$whiteSpaceChars + '\\(\\)\\\\]*)*))'))))); 31040var $dillonkearns$elm_markdown$Markdown$Helpers$titleRegex = '(?:[' + ($dillonkearns$elm_markdown$Markdown$Helpers$whiteSpaceChars + (']+' + ('(?:\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'|' + ('\"([^\"\\\\]*(?:\\\\.[^\"\\\\]*)*)\"|' + '\\(([^\\)\\\\]*(?:\\\\.[^\\)\\\\]*)*)\\)))?')))); 31041var $dillonkearns$elm_markdown$Markdown$InlineParser$inlineLinkTypeOrImageTypeRegex = A2( 31042 $elm$core$Maybe$withDefault, 31043 $elm$regex$Regex$never, 31044 $elm$regex$Regex$fromString('^\\(\\s*' + ($dillonkearns$elm_markdown$Markdown$InlineParser$hrefRegex + ($dillonkearns$elm_markdown$Markdown$Helpers$titleRegex + '\\s*\\)')))); 31045var $dillonkearns$elm_markdown$Markdown$Helpers$returnFirstJust = function (maybes) { 31046 var process = F2( 31047 function (a, maybeFound) { 31048 if (!maybeFound.$) { 31049 var found = maybeFound.a; 31050 return $elm$core$Maybe$Just(found); 31051 } else { 31052 return a; 31053 } 31054 }); 31055 return A3($elm$core$List$foldl, process, $elm$core$Maybe$Nothing, maybes); 31056}; 31057var $dillonkearns$elm_markdown$Markdown$InlineParser$inlineLinkTypeOrImageTypeRegexToMatch = F2( 31058 function (matchModel, regexMatch) { 31059 var _v0 = regexMatch.dI; 31060 if ((((_v0.b && _v0.b.b) && _v0.b.b.b) && _v0.b.b.b.b) && _v0.b.b.b.b.b) { 31061 var maybeRawUrlAngleBrackets = _v0.a; 31062 var _v1 = _v0.b; 31063 var maybeRawUrlWithoutBrackets = _v1.a; 31064 var _v2 = _v1.b; 31065 var maybeTitleSingleQuotes = _v2.a; 31066 var _v3 = _v2.b; 31067 var maybeTitleDoubleQuotes = _v3.a; 31068 var _v4 = _v3.b; 31069 var maybeTitleParenthesis = _v4.a; 31070 var maybeTitle = $dillonkearns$elm_markdown$Markdown$Helpers$returnFirstJust( 31071 _List_fromArray( 31072 [maybeTitleSingleQuotes, maybeTitleDoubleQuotes, maybeTitleParenthesis])); 31073 var toMatch = function (rawUrl) { 31074 return _Utils_update( 31075 matchModel, 31076 { 31077 g: matchModel.g + $elm$core$String$length(regexMatch.bf), 31078 H: function () { 31079 var _v5 = matchModel.H; 31080 if (_v5.$ === 5) { 31081 return $dillonkearns$elm_markdown$Markdown$InlineParser$ImageType; 31082 } else { 31083 return $dillonkearns$elm_markdown$Markdown$InlineParser$LinkType; 31084 } 31085 }()( 31086 A2($dillonkearns$elm_markdown$Markdown$InlineParser$prepareUrlAndTitle, rawUrl, maybeTitle)) 31087 }); 31088 }; 31089 var maybeRawUrl = $dillonkearns$elm_markdown$Markdown$Helpers$returnFirstJust( 31090 _List_fromArray( 31091 [maybeRawUrlAngleBrackets, maybeRawUrlWithoutBrackets])); 31092 return $elm$core$Maybe$Just( 31093 toMatch( 31094 A2($elm$core$Maybe$withDefault, '', maybeRawUrl))); 31095 } else { 31096 return $elm$core$Maybe$Nothing; 31097 } 31098 }); 31099var $dillonkearns$elm_markdown$Markdown$InlineParser$checkForInlineLinkTypeOrImageType = F3( 31100 function (remainText, _v0, refs) { 31101 var tempMatch = _v0; 31102 var _v1 = A3($elm$regex$Regex$findAtMost, 1, $dillonkearns$elm_markdown$Markdown$InlineParser$inlineLinkTypeOrImageTypeRegex, remainText); 31103 if (_v1.b) { 31104 var first = _v1.a; 31105 var _v2 = A2($dillonkearns$elm_markdown$Markdown$InlineParser$inlineLinkTypeOrImageTypeRegexToMatch, tempMatch, first); 31106 if (!_v2.$) { 31107 var match = _v2.a; 31108 return $elm$core$Maybe$Just(match); 31109 } else { 31110 return A3($dillonkearns$elm_markdown$Markdown$InlineParser$checkForInlineReferences, remainText, tempMatch, refs); 31111 } 31112 } else { 31113 return A3($dillonkearns$elm_markdown$Markdown$InlineParser$checkForInlineReferences, remainText, tempMatch, refs); 31114 } 31115 }); 31116var $dillonkearns$elm_markdown$Markdown$InlineParser$checkParsedAheadOverlapping = F2( 31117 function (_v0, remainMatches) { 31118 var match = _v0; 31119 var overlappingMatches = $elm$core$List$filter( 31120 function (_v1) { 31121 var testMatch = _v1; 31122 return (_Utils_cmp(match.g, testMatch.i) > 0) && (_Utils_cmp(match.g, testMatch.g) < 0); 31123 }); 31124 return ($elm$core$List$isEmpty(remainMatches) || $elm$core$List$isEmpty( 31125 overlappingMatches(remainMatches))) ? $elm$core$Maybe$Just( 31126 A2($elm$core$List$cons, match, remainMatches)) : $elm$core$Maybe$Nothing; 31127 }); 31128var $dillonkearns$elm_markdown$Markdown$InlineParser$emailRegex = A2( 31129 $elm$core$Maybe$withDefault, 31130 $elm$regex$Regex$never, 31131 $elm$regex$Regex$fromString('^([a-zA-Z0-9.!#$%&\'*+\\/=?^_`{|}~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)*)$')); 31132var $dillonkearns$elm_markdown$Markdown$InlineParser$emailAutolinkTypeToMatch = function (_v0) { 31133 var match = _v0; 31134 return A2($elm$regex$Regex$contains, $dillonkearns$elm_markdown$Markdown$InlineParser$emailRegex, match.j) ? $elm$core$Result$Ok( 31135 _Utils_update( 31136 match, 31137 { 31138 H: $dillonkearns$elm_markdown$Markdown$InlineParser$AutolinkType( 31139 _Utils_Tuple2( 31140 match.j, 31141 'mailto:' + $dillonkearns$elm_markdown$Markdown$InlineParser$encodeUrl(match.j))) 31142 })) : $elm$core$Result$Err(match); 31143}; 31144var $dillonkearns$elm_markdown$Markdown$InlineParser$findTokenHelp = F3( 31145 function (innerTokens, isToken, tokens) { 31146 findTokenHelp: 31147 while (true) { 31148 if (!tokens.b) { 31149 return $elm$core$Maybe$Nothing; 31150 } else { 31151 var nextToken = tokens.a; 31152 var remainingTokens = tokens.b; 31153 if (isToken(nextToken)) { 31154 return $elm$core$Maybe$Just( 31155 _Utils_Tuple3( 31156 nextToken, 31157 $elm$core$List$reverse(innerTokens), 31158 remainingTokens)); 31159 } else { 31160 var $temp$innerTokens = A2($elm$core$List$cons, nextToken, innerTokens), 31161 $temp$isToken = isToken, 31162 $temp$tokens = remainingTokens; 31163 innerTokens = $temp$innerTokens; 31164 isToken = $temp$isToken; 31165 tokens = $temp$tokens; 31166 continue findTokenHelp; 31167 } 31168 } 31169 } 31170 }); 31171var $dillonkearns$elm_markdown$Markdown$InlineParser$findToken = F2( 31172 function (isToken, tokens) { 31173 return A3($dillonkearns$elm_markdown$Markdown$InlineParser$findTokenHelp, _List_Nil, isToken, tokens); 31174 }); 31175var $dillonkearns$elm_markdown$Markdown$InlineParser$HtmlToken = F2( 31176 function (a, b) { 31177 return {$: 6, a: a, b: b}; 31178 }); 31179var $dillonkearns$elm_markdown$Markdown$InlineParser$NotOpening = 0; 31180var $dillonkearns$elm_markdown$Markdown$InlineParser$htmlToToken = F2( 31181 function (rawText, _v0) { 31182 var match = _v0; 31183 var consumedCharacters = A2( 31184 $elm$parser$Parser$Advanced$keeper, 31185 A2( 31186 $elm$parser$Parser$Advanced$keeper, 31187 A2( 31188 $elm$parser$Parser$Advanced$keeper, 31189 $elm$parser$Parser$Advanced$succeed( 31190 F3( 31191 function (startOffset, htmlTag, endOffset) { 31192 return {ej: htmlTag, dj: endOffset - startOffset}; 31193 })), 31194 $elm$parser$Parser$Advanced$getOffset), 31195 $dillonkearns$elm_markdown$HtmlParser$html), 31196 $elm$parser$Parser$Advanced$getOffset); 31197 var parsed = A2( 31198 $elm$parser$Parser$Advanced$run, 31199 consumedCharacters, 31200 A2($elm$core$String$dropLeft, match.i, rawText)); 31201 if (!parsed.$) { 31202 var htmlTag = parsed.a.ej; 31203 var length = parsed.a.dj; 31204 var htmlToken = A2($dillonkearns$elm_markdown$Markdown$InlineParser$HtmlToken, 0, htmlTag); 31205 return $elm$core$Maybe$Just( 31206 {d: match.i, dj: length, e: htmlToken}); 31207 } else { 31208 return $elm$core$Maybe$Nothing; 31209 } 31210 }); 31211var $dillonkearns$elm_markdown$Markdown$Helpers$ifError = F2( 31212 function (_function, result) { 31213 if (!result.$) { 31214 return result; 31215 } else { 31216 var err = result.a; 31217 return _function(err); 31218 } 31219 }); 31220var $dillonkearns$elm_markdown$Markdown$InlineParser$isCodeTokenPair = F2( 31221 function (closeToken, openToken) { 31222 var _v0 = openToken.e; 31223 if (!_v0.$) { 31224 if (!_v0.a) { 31225 var _v1 = _v0.a; 31226 return _Utils_eq(openToken.dj - 1, closeToken.dj); 31227 } else { 31228 var _v2 = _v0.a; 31229 return _Utils_eq(openToken.dj, closeToken.dj); 31230 } 31231 } else { 31232 return false;
31233 } 31234 }); 31235var $dillonkearns$elm_markdown$Markdown$InlineParser$isLinkTypeOrImageOpenToken = function (token) { 31236 var _v0 = token.e; 31237 switch (_v0.$) { 31238 case 1: 31239 return true; 31240 case 2: 31241 return true; 31242 default: 31243 return false; 31244 } 31245}; 31246var $dillonkearns$elm_markdown$Markdown$InlineParser$isOpenEmphasisToken = F2( 31247 function (closeToken, openToken) { 31248 var _v0 = openToken.e; 31249 if (_v0.$ === 7) { 31250 var openChar = _v0.a; 31251 var open = _v0.b; 31252 var _v1 = closeToken.e; 31253 if (_v1.$ === 7) { 31254 var closeChar = _v1.a; 31255 var close = _v1.b; 31256 return _Utils_eq(openChar, closeChar) ? ((_Utils_eq(open.b9, open.cy) || _Utils_eq(close.b9, close.cy)) ? ((!(!A2($elm$core$Basics$modBy, 3, closeToken.dj + openToken.dj))) || ((!A2($elm$core$Basics$modBy, 3, closeToken.dj)) && (!A2($elm$core$Basics$modBy, 3, openToken.dj)))) : true) : false; 31257 } else { 31258 return false; 31259 } 31260 } else { 31261 return false; 31262 } 31263 }); 31264var $dillonkearns$elm_markdown$Markdown$InlineParser$isStrikethroughTokenPair = F2( 31265 function (closeToken, openToken) { 31266 var _v0 = function () { 31267 var _v1 = openToken.e; 31268 if (_v1.$ === 9) { 31269 if (!_v1.a) { 31270 var _v2 = _v1.a; 31271 return _Utils_Tuple2(true, openToken.dj - 1); 31272 } else { 31273 var _v3 = _v1.a; 31274 return _Utils_Tuple2(true, openToken.dj); 31275 } 31276 } else { 31277 return _Utils_Tuple2(false, 0); 31278 } 31279 }(); 31280 var openTokenIsStrikethrough = _v0.a; 31281 var openTokenLength = _v0.b; 31282 var _v4 = function () { 31283 var _v5 = closeToken.e; 31284 if (_v5.$ === 9) { 31285 if (!_v5.a) { 31286 var _v6 = _v5.a; 31287 return _Utils_Tuple2(true, closeToken.dj - 1); 31288 } else { 31289 var _v7 = _v5.a; 31290 return _Utils_Tuple2(true, closeToken.dj); 31291 } 31292 } else { 31293 return _Utils_Tuple2(false, 0); 31294 } 31295 }(); 31296 var closeTokenIsStrikethrough = _v4.a; 31297 var closeTokenLength = _v4.b; 31298 return closeTokenIsStrikethrough && (openTokenIsStrikethrough && _Utils_eq(closeTokenLength, openTokenLength)); 31299 }); 31300var $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakType = {$: 1}; 31301var $dillonkearns$elm_markdown$Markdown$InlineParser$tokenToMatch = F2( 31302 function (token, type_) { 31303 return {g: token.d + token.dj, q: _List_Nil, i: token.d, j: '', B: 0, t: 0, H: type_}; 31304 }); 31305var $dillonkearns$elm_markdown$Markdown$InlineParser$lineBreakTTM = F2( 31306 function (remaining, matches) { 31307 lineBreakTTM: 31308 while (true) { 31309 if (!remaining.b) { 31310 return matches; 31311 } else { 31312 var token = remaining.a; 31313 var tokensTail = remaining.b; 31314 var _v1 = token.e; 31315 if (_v1.$ === 8) { 31316 var $temp$remaining = tokensTail, 31317 $temp$matches = A2( 31318 $elm$core$List$cons, 31319 A2($dillonkearns$elm_markdown$Markdown$InlineParser$tokenToMatch, token, $dillonkearns$elm_markdown$Markdown$InlineParser$HardLineBreakType), 31320 matches); 31321 remaining = $temp$remaining; 31322 matches = $temp$matches; 31323 continue lineBreakTTM; 31324 } else { 31325 var $temp$remaining = tokensTail, 31326 $temp$matches = matches; 31327 remaining = $temp$remaining; 31328 matches = $temp$matches; 31329 continue lineBreakTTM; 31330 } 31331 } 31332 } 31333 }); 31334var $dillonkearns$elm_markdown$Markdown$InlineParser$removeParsedAheadTokens = F2( 31335 function (_v0, tokensTail) { 31336 var match = _v0; 31337 return A2( 31338 $elm$core$List$filter, 31339 function (token) { 31340 return _Utils_cmp(token.d, match.g) > -1; 31341 }, 31342 tokensTail); 31343 }); 31344var $dillonkearns$elm_markdown$Markdown$InlineParser$angleBracketsToMatch = F6( 31345 function (closeToken, escaped, matches, references, rawText, _v44) { 31346 var openToken = _v44.a; 31347 var remainTokens = _v44.c; 31348 var result = A2( 31349 $dillonkearns$elm_markdown$Markdown$Helpers$ifError, 31350 $dillonkearns$elm_markdown$Markdown$InlineParser$emailAutolinkTypeToMatch, 31351 $dillonkearns$elm_markdown$Markdown$InlineParser$autolinkToMatch( 31352 A7( 31353 $dillonkearns$elm_markdown$Markdown$InlineParser$tokenPairToMatch, 31354 references, 31355 rawText, 31356 function (s) { 31357 return s; 31358 }, 31359 $dillonkearns$elm_markdown$Markdown$InlineParser$CodeType, 31360 openToken, 31361 closeToken, 31362 _List_Nil))); 31363 if (result.$ === 1) { 31364 var tempMatch = result.a; 31365 if (escaped === 1) { 31366 var _v47 = A2($dillonkearns$elm_markdown$Markdown$InlineParser$htmlToToken, rawText, tempMatch); 31367 if (!_v47.$) { 31368 var newToken = _v47.a; 31369 return $elm$core$Maybe$Just( 31370 _Utils_Tuple2( 31371 A2($elm$core$List$cons, newToken, remainTokens), 31372 matches)); 31373 } else { 31374 return $elm$core$Maybe$Nothing; 31375 } 31376 } else { 31377 return $elm$core$Maybe$Nothing; 31378 } 31379 } else { 31380 var newMatch = result.a; 31381 return $elm$core$Maybe$Just( 31382 _Utils_Tuple2( 31383 remainTokens, 31384 A2($elm$core$List$cons, newMatch, matches))); 31385 } 31386 }); 31387var $dillonkearns$elm_markdown$Markdown$InlineParser$codeAutolinkTypeHtmlTagTTM = F5( 31388 function (remaining, tokens, matches, references, rawText) { 31389 codeAutolinkTypeHtmlTagTTM: 31390 while (true) { 31391 if (!remaining.b) { 31392 return A5( 31393 $dillonkearns$elm_markdown$Markdown$InlineParser$htmlElementTTM, 31394 $elm$core$List$reverse(tokens), 31395 _List_Nil, 31396 matches, 31397 references, 31398 rawText); 31399 } else { 31400 var token = remaining.a; 31401 var tokensTail = remaining.b; 31402 var _v36 = token.e; 31403 switch (_v36.$) { 31404 case 0: 31405 var _v37 = A2( 31406 $dillonkearns$elm_markdown$Markdown$InlineParser$findToken, 31407 $dillonkearns$elm_markdown$Markdown$InlineParser$isCodeTokenPair(token), 31408 tokens); 31409 if (!_v37.$) { 31410 var code = _v37.a; 31411 var _v38 = A5($dillonkearns$elm_markdown$Markdown$InlineParser$codeToMatch, token, matches, references, rawText, code); 31412 var newTokens = _v38.a; 31413 var newMatches = _v38.b; 31414 var $temp$remaining = tokensTail, 31415 $temp$tokens = newTokens, 31416 $temp$matches = newMatches, 31417 $temp$references = references, 31418 $temp$rawText = rawText; 31419 remaining = $temp$remaining; 31420 tokens = $temp$tokens; 31421 matches = $temp$matches; 31422 references = $temp$references; 31423 rawText = $temp$rawText; 31424 continue codeAutolinkTypeHtmlTagTTM; 31425 } else { 31426 var $temp$remaining = tokensTail, 31427 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31428 $temp$matches = matches, 31429 $temp$references = references, 31430 $temp$rawText = rawText; 31431 remaining = $temp$remaining; 31432 tokens = $temp$tokens; 31433 matches = $temp$matches; 31434 references = $temp$references; 31435 rawText = $temp$rawText; 31436 continue codeAutolinkTypeHtmlTagTTM; 31437 } 31438 case 5: 31439 var isEscaped = _v36.a; 31440 var isAngleBracketOpen = function (_v43) { 31441 var meaning = _v43.e; 31442 if (meaning.$ === 4) { 31443 return true; 31444 } else { 31445 return false;
31446 } 31447 }; 31448 var _v39 = A2($dillonkearns$elm_markdown$Markdown$InlineParser$findToken, isAngleBracketOpen, tokens); 31449 if (!_v39.$) { 31450 var found = _v39.a; 31451 var _v40 = A6($dillonkearns$elm_markdown$Markdown$InlineParser$angleBracketsToMatch, token, isEscaped, matches, references, rawText, found); 31452 if (!_v40.$) { 31453 var _v41 = _v40.a; 31454 var newTokens = _v41.a; 31455 var newMatches = _v41.b; 31456 var $temp$remaining = tokensTail, 31457 $temp$tokens = A2( 31458 $elm$core$List$filter, 31459 A2($elm$core$Basics$composeL, $elm$core$Basics$not, isAngleBracketOpen), 31460 newTokens), 31461 $temp$matches = newMatches, 31462 $temp$references = references, 31463 $temp$rawText = rawText; 31464 remaining = $temp$remaining; 31465 tokens = $temp$tokens; 31466 matches = $temp$matches; 31467 references = $temp$references; 31468 rawText = $temp$rawText; 31469 continue codeAutolinkTypeHtmlTagTTM; 31470 } else { 31471 var $temp$remaining = tokensTail, 31472 $temp$tokens = A2( 31473 $elm$core$List$filter, 31474 A2($elm$core$Basics$composeL, $elm$core$Basics$not, isAngleBracketOpen), 31475 tokens), 31476 $temp$matches = matches, 31477 $temp$references = references, 31478 $temp$rawText = rawText; 31479 remaining = $temp$remaining; 31480 tokens = $temp$tokens; 31481 matches = $temp$matches; 31482 references = $temp$references; 31483 rawText = $temp$rawText; 31484 continue codeAutolinkTypeHtmlTagTTM; 31485 } 31486 } else { 31487 var $temp$remaining = tokensTail, 31488 $temp$tokens = A2( 31489 $elm$core$List$filter, 31490 A2($elm$core$Basics$composeL, $elm$core$Basics$not, isAngleBracketOpen), 31491 tokens), 31492 $temp$matches = matches, 31493 $temp$references = references, 31494 $temp$rawText = rawText; 31495 remaining = $temp$remaining; 31496 tokens = $temp$tokens; 31497 matches = $temp$matches; 31498 references = $temp$references; 31499 rawText = $temp$rawText; 31500 continue codeAutolinkTypeHtmlTagTTM; 31501 } 31502 default: 31503 var $temp$remaining = tokensTail, 31504 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31505 $temp$matches = matches, 31506 $temp$references = references, 31507 $temp$rawText = rawText; 31508 remaining = $temp$remaining; 31509 tokens = $temp$tokens; 31510 matches = $temp$matches; 31511 references = $temp$references; 31512 rawText = $temp$rawText; 31513 continue codeAutolinkTypeHtmlTagTTM; 31514 } 31515 } 31516 } 31517 }); 31518var $dillonkearns$elm_markdown$Markdown$InlineParser$codeToMatch = F5( 31519 function (closeToken, matches, references, rawText, _v32) { 31520 var openToken = _v32.a; 31521 var remainTokens = _v32.c; 31522 var updatedOpenToken = function () { 31523 var _v33 = openToken.e; 31524 if ((!_v33.$) && (!_v33.a)) { 31525 var _v34 = _v33.a; 31526 return _Utils_update( 31527 openToken, 31528 {d: openToken.d + 1, dj: openToken.dj - 1}); 31529 } else { 31530 return openToken; 31531 } 31532 }(); 31533 var match = A7($dillonkearns$elm_markdown$Markdown$InlineParser$tokenPairToMatch, references, rawText, $dillonkearns$elm_markdown$Markdown$Helpers$cleanWhitespaces, $dillonkearns$elm_markdown$Markdown$InlineParser$CodeType, updatedOpenToken, closeToken, _List_Nil); 31534 return _Utils_Tuple2( 31535 remainTokens, 31536 A2($elm$core$List$cons, match, matches)); 31537 }); 31538var $dillonkearns$elm_markdown$Markdown$InlineParser$emphasisTTM = F5( 31539 function (remaining, tokens, matches, references, rawText) { 31540 emphasisTTM: 31541 while (true) { 31542 if (!remaining.b) { 31543 return A5( 31544 $dillonkearns$elm_markdown$Markdown$InlineParser$strikethroughTTM, 31545 $elm$core$List$reverse(tokens), 31546 _List_Nil, 31547 matches, 31548 references, 31549 rawText); 31550 } else { 31551 var token = remaining.a; 31552 var tokensTail = remaining.b; 31553 var _v27 = token.e; 31554 if (_v27.$ === 7) { 31555 var _char = _v27.a; 31556 var leftFringeRank = _v27.b.b9; 31557 var rightFringeRank = _v27.b.cy; 31558 if (_Utils_eq(leftFringeRank, rightFringeRank)) { 31559 if ((!(!rightFringeRank)) && ((_char !== '_') || (rightFringeRank === 1))) { 31560 var _v28 = A2( 31561 $dillonkearns$elm_markdown$Markdown$InlineParser$findToken, 31562 $dillonkearns$elm_markdown$Markdown$InlineParser$isOpenEmphasisToken(token), 31563 tokens); 31564 if (!_v28.$) { 31565 var found = _v28.a; 31566 var _v29 = A5($dillonkearns$elm_markdown$Markdown$InlineParser$emphasisToMatch, references, rawText, token, tokensTail, found); 31567 var newRemaining = _v29.a; 31568 var match = _v29.b; 31569 var newTokens = _v29.c; 31570 var $temp$remaining = newRemaining, 31571 $temp$tokens = newTokens, 31572 $temp$matches = A2($elm$core$List$cons, match, matches), 31573 $temp$references = references, 31574 $temp$rawText = rawText; 31575 remaining = $temp$remaining; 31576 tokens = $temp$tokens; 31577 matches = $temp$matches; 31578 references = $temp$references; 31579 rawText = $temp$rawText; 31580 continue emphasisTTM; 31581 } else { 31582 var $temp$remaining = tokensTail, 31583 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31584 $temp$matches = matches, 31585 $temp$references = references, 31586 $temp$rawText = rawText; 31587 remaining = $temp$remaining; 31588 tokens = $temp$tokens; 31589 matches = $temp$matches; 31590 references = $temp$references; 31591 rawText = $temp$rawText; 31592 continue emphasisTTM; 31593 } 31594 } else { 31595 var $temp$remaining = tokensTail, 31596 $temp$tokens = tokens, 31597 $temp$matches = matches, 31598 $temp$references = references, 31599 $temp$rawText = rawText; 31600 remaining = $temp$remaining; 31601 tokens = $temp$tokens; 31602 matches = $temp$matches; 31603 references = $temp$references; 31604 rawText = $temp$rawText; 31605 continue emphasisTTM; 31606 } 31607 } else { 31608 if (_Utils_cmp(leftFringeRank, rightFringeRank) < 0) { 31609 var $temp$remaining = tokensTail, 31610 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31611 $temp$matches = matches, 31612 $temp$references = references, 31613 $temp$rawText = rawText; 31614 remaining = $temp$remaining; 31615 tokens = $temp$tokens; 31616 matches = $temp$matches; 31617 references = $temp$references; 31618 rawText = $temp$rawText; 31619 continue emphasisTTM; 31620 } else { 31621 var _v30 = A2( 31622 $dillonkearns$elm_markdown$Markdown$InlineParser$findToken, 31623 $dillonkearns$elm_markdown$Markdown$InlineParser$isOpenEmphasisToken(token), 31624 tokens); 31625 if (!_v30.$) { 31626 var found = _v30.a; 31627 var _v31 = A5($dillonkearns$elm_markdown$Markdown$InlineParser$emphasisToMatch, references, rawText, token, tokensTail, found); 31628 var newRemaining = _v31.a; 31629 var match = _v31.b; 31630 var newTokens = _v31.c; 31631 var $temp$remaining = newRemaining, 31632 $temp$tokens = newTokens, 31633 $temp$matches = A2($elm$core$List$cons, match, matches), 31634 $temp$references = references, 31635 $temp$rawText = rawText; 31636 remaining = $temp$remaining; 31637 tokens = $temp$tokens; 31638 matches = $temp$matches; 31639 references = $temp$references; 31640 rawText = $temp$rawText; 31641 continue emphasisTTM; 31642 } else { 31643 var $temp$remaining = tokensTail, 31644 $temp$tokens = tokens, 31645 $temp$matches = matches, 31646 $temp$references = references, 31647 $temp$rawText = rawText; 31648 remaining = $temp$remaining; 31649 tokens = $temp$tokens; 31650 matches = $temp$matches; 31651 references = $temp$references; 31652 rawText = $temp$rawText; 31653 continue emphasisTTM; 31654 } 31655 } 31656 } 31657 } else { 31658 var $temp$remaining = tokensTail, 31659 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31660 $temp$matches = matches, 31661 $temp$references = references, 31662 $temp$rawText = rawText; 31663 remaining = $temp$remaining; 31664 tokens = $temp$tokens; 31665 matches = $temp$matches; 31666 references = $temp$references; 31667 rawText = $temp$rawText; 31668 continue emphasisTTM; 31669 } 31670 } 31671 } 31672 }); 31673var $dillonkearns$elm_markdown$Markdown$InlineParser$emphasisToMatch = F5( 31674 function (references, rawText, closeToken, tokensTail, _v25) { 31675 var openToken = _v25.a; 31676 var innerTokens = _v25.b; 31677 var remainTokens = _v25.c; 31678 var remainLength = openToken.dj - closeToken.dj; 31679 var updt = (!remainLength) ? {bM: closeToken, bj: openToken, cv: remainTokens, cI: tokensTail} : ((remainLength > 0) ? { 31680 bM: closeToken, 31681 bj: _Utils_update( 31682 openToken, 31683 {d: openToken.d + remainLength, dj: closeToken.dj}), 31684 cv: A2( 31685 $elm$core$List$cons, 31686 _Utils_update( 31687 openToken, 31688 {dj: remainLength}), 31689 remainTokens), 31690 cI: tokensTail 31691 } : { 31692 bM: _Utils_update( 31693 closeToken, 31694 {dj: openToken.dj}), 31695 bj: openToken, 31696 cv: remainTokens, 31697 cI: A2( 31698 $elm$core$List$cons, 31699 _Utils_update( 31700 closeToken, 31701 {d: closeToken.d + openToken.dj, dj: -remainLength}), 31702 tokensTail) 31703 }); 31704 var match = A7( 31705 $dillonkearns$elm_markdown$Markdown$InlineParser$tokenPairToMatch, 31706 references, 31707 rawText, 31708 function (s) { 31709 return s; 31710 }, 31711 $dillonkearns$elm_markdown$Markdown$InlineParser$EmphasisType(updt.bj.dj), 31712 updt.bj, 31713 updt.bM, 31714 $elm$core$List$reverse(innerTokens)); 31715 return _Utils_Tuple3(updt.cI, match, updt.cv); 31716 }); 31717var $dillonkearns$elm_markdown$Markdown$InlineParser$htmlElementTTM = F5( 31718 function (remaining, tokens, matches, references, rawText) { 31719 htmlElementTTM: 31720 while (true) { 31721 if (!remaining.b) { 31722 return A5( 31723 $dillonkearns$elm_markdown$Markdown$InlineParser$linkImageTypeTTM, 31724 $elm$core$List$reverse(tokens), 31725 _List_Nil, 31726 matches, 31727 references, 31728 rawText); 31729 } else { 31730 var token = remaining.a; 31731 var tokensTail = remaining.b; 31732 var _v23 = token.e; 31733 if (_v23.$ === 6) { 31734 var isOpen = _v23.a; 31735 var htmlModel = _v23.b; 31736 var $temp$remaining = tokensTail, 31737 $temp$tokens = tokens, 31738 $temp$matches = A2( 31739 $elm$core$List$cons, 31740 A2( 31741 $dillonkearns$elm_markdown$Markdown$InlineParser$tokenToMatch, 31742 token, 31743 $dillonkearns$elm_markdown$Markdown$InlineParser$HtmlType(htmlModel)), 31744 matches), 31745 $temp$references = references, 31746 $temp$rawText = rawText; 31747 remaining = $temp$remaining; 31748 tokens = $temp$tokens; 31749 matches = $temp$matches; 31750 references = $temp$references; 31751 rawText = $temp$rawText; 31752 continue htmlElementTTM; 31753 } else { 31754 var $temp$remaining = tokensTail, 31755 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31756 $temp$matches = matches, 31757 $temp$references = references, 31758 $temp$rawText = rawText; 31759 remaining = $temp$remaining; 31760 tokens = $temp$tokens; 31761 matches = $temp$matches; 31762 references = $temp$references; 31763 rawText = $temp$rawText; 31764 continue htmlElementTTM; 31765 } 31766 } 31767 } 31768 }); 31769var $dillonkearns$elm_markdown$Markdown$InlineParser$linkImageTypeTTM = F5( 31770 function (remaining, tokens, matches, references, rawText) { 31771 linkImageTypeTTM: 31772 while (true) { 31773 if (!remaining.b) { 31774 return A5( 31775 $dillonkearns$elm_markdown$Markdown$InlineParser$emphasisTTM,
31776 $elm$core$List$reverse(tokens), 31777 _List_Nil, 31778 matches, 31779 references, 31780 rawText); 31781 } else { 31782 var token = remaining.a; 31783 var tokensTail = remaining.b; 31784 var _v18 = token.e; 31785 if (_v18.$ === 3) { 31786 var _v19 = A2($dillonkearns$elm_markdown$Markdown$InlineParser$findToken, $dillonkearns$elm_markdown$Markdown$InlineParser$isLinkTypeOrImageOpenToken, tokens); 31787 if (!_v19.$) { 31788 var found = _v19.a; 31789 var _v20 = A6($dillonkearns$elm_markdown$Markdown$InlineParser$linkOrImageTypeToMatch, token, tokensTail, matches, references, rawText, found); 31790 if (!_v20.$) { 31791 var _v21 = _v20.a; 31792 var x = _v21.a; 31793 var newMatches = _v21.b; 31794 var newTokens = _v21.c; 31795 var $temp$remaining = x, 31796 $temp$tokens = newTokens, 31797 $temp$matches = newMatches, 31798 $temp$references = references, 31799 $temp$rawText = rawText; 31800 remaining = $temp$remaining; 31801 tokens = $temp$tokens; 31802 matches = $temp$matches; 31803 references = $temp$references; 31804 rawText = $temp$rawText; 31805 continue linkImageTypeTTM; 31806 } else { 31807 var $temp$remaining = tokensTail, 31808 $temp$tokens = tokens, 31809 $temp$matches = matches, 31810 $temp$references = references, 31811 $temp$rawText = rawText; 31812 remaining = $temp$remaining; 31813 tokens = $temp$tokens; 31814 matches = $temp$matches; 31815 references = $temp$references; 31816 rawText = $temp$rawText; 31817 continue linkImageTypeTTM; 31818 } 31819 } else { 31820 var $temp$remaining = tokensTail, 31821 $temp$tokens = tokens, 31822 $temp$matches = matches, 31823 $temp$references = references, 31824 $temp$rawText = rawText; 31825 remaining = $temp$remaining; 31826 tokens = $temp$tokens; 31827 matches = $temp$matches; 31828 references = $temp$references; 31829 rawText = $temp$rawText; 31830 continue linkImageTypeTTM; 31831 } 31832 } else { 31833 var $temp$remaining = tokensTail, 31834 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31835 $temp$matches = matches, 31836 $temp$references = references, 31837 $temp$rawText = rawText; 31838 remaining = $temp$remaining; 31839 tokens = $temp$tokens; 31840 matches = $temp$matches; 31841 references = $temp$references; 31842 rawText = $temp$rawText; 31843 continue linkImageTypeTTM; 31844 } 31845 } 31846 } 31847 }); 31848var $dillonkearns$elm_markdown$Markdown$InlineParser$linkOrImageTypeToMatch = F6( 31849 function (closeToken, tokensTail, oldMatches, references, rawText, _v8) { 31850 var openToken = _v8.a; 31851 var innerTokens = _v8.b; 31852 var remainTokens = _v8.c; 31853 var removeOpenToken = _Utils_Tuple3( 31854 tokensTail, 31855 oldMatches, 31856 _Utils_ap(innerTokens, remainTokens)); 31857 var remainText = A2($elm$core$String$dropLeft, closeToken.d + 1, rawText); 31858 var inactivateLinkOpenToken = function (token) { 31859 var _v16 = token.e; 31860 if (_v16.$ === 1) { 31861 return _Utils_update( 31862 token, 31863 { 31864 e: $dillonkearns$elm_markdown$Markdown$InlineParser$LinkOpenToken(1) 31865 }); 31866 } else { 31867 return token; 31868 } 31869 }; 31870 var findTempMatch = function (isLinkType) { 31871 return A7( 31872 $dillonkearns$elm_markdown$Markdown$InlineParser$tokenPairToMatch, 31873 references, 31874 rawText, 31875 function (s) { 31876 return s; 31877 }, 31878 isLinkType ? $dillonkearns$elm_markdown$Markdown$InlineParser$LinkType( 31879 _Utils_Tuple2('', $elm$core$Maybe$Nothing)) : $dillonkearns$elm_markdown$Markdown$InlineParser$ImageType( 31880 _Utils_Tuple2('', $elm$core$Maybe$Nothing)), 31881 openToken, 31882 closeToken, 31883 $elm$core$List$reverse(innerTokens)); 31884 }; 31885 var _v9 = openToken.e; 31886 switch (_v9.$) { 31887 case 2: 31888 var tempMatch = findTempMatch(false); 31889 var _v10 = A3($dillonkearns$elm_markdown$Markdown$InlineParser$checkForInlineLinkTypeOrImageType, remainText, tempMatch, references); 31890 if (_v10.$ === 1) { 31891 return $elm$core$Maybe$Just(removeOpenToken); 31892 } else { 31893 var match = _v10.a; 31894 var _v11 = A2($dillonkearns$elm_markdown$Markdown$InlineParser$checkParsedAheadOverlapping, match, oldMatches); 31895 if (!_v11.$) { 31896 var matches = _v11.a; 31897 return $elm$core$Maybe$Just( 31898 _Utils_Tuple3( 31899 A2($dillonkearns$elm_markdown$Markdown$InlineParser$removeParsedAheadTokens, match, tokensTail), 31900 matches, 31901 remainTokens)); 31902 } else { 31903 return $elm$core$Maybe$Just(removeOpenToken); 31904 } 31905 } 31906 case 1: 31907 if (!_v9.a) { 31908 var _v12 = _v9.a; 31909 var tempMatch = findTempMatch(true); 31910 var _v13 = A3($dillonkearns$elm_markdown$Markdown$InlineParser$checkForInlineLinkTypeOrImageType, remainText, tempMatch, references); 31911 if (_v13.$ === 1) { 31912 return $elm$core$Maybe$Just(removeOpenToken); 31913 } else { 31914 var match = _v13.a; 31915 var _v14 = A2($dillonkearns$elm_markdown$Markdown$InlineParser$checkParsedAheadOverlapping, match, oldMatches); 31916 if (!_v14.$) { 31917 var matches = _v14.a; 31918 return $elm$core$Maybe$Just( 31919 _Utils_Tuple3( 31920 A2($dillonkearns$elm_markdown$Markdown$InlineParser$removeParsedAheadTokens, match, tokensTail), 31921 matches, 31922 A2($elm$core$List$map, inactivateLinkOpenToken, remainTokens))); 31923 } else { 31924 return $elm$core$Maybe$Just(removeOpenToken); 31925 } 31926 } 31927 } else { 31928 var _v15 = _v9.a; 31929 return $elm$core$Maybe$Just(removeOpenToken); 31930 } 31931 default: 31932 return $elm$core$Maybe$Nothing; 31933 } 31934 }); 31935var $dillonkearns$elm_markdown$Markdown$InlineParser$strikethroughTTM = F5( 31936 function (remaining, tokens, matches, references, rawText) { 31937 strikethroughTTM: 31938 while (true) { 31939 if (!remaining.b) { 31940 return A2( 31941 $dillonkearns$elm_markdown$Markdown$InlineParser$lineBreakTTM, 31942 $elm$core$List$reverse(tokens), 31943 matches); 31944 } else { 31945 var token = remaining.a; 31946 var tokensTail = remaining.b; 31947 var _v5 = token.e; 31948 if (_v5.$ === 9) { 31949 var _v6 = A2( 31950 $dillonkearns$elm_markdown$Markdown$InlineParser$findToken, 31951 $dillonkearns$elm_markdown$Markdown$InlineParser$isStrikethroughTokenPair(token), 31952 tokens); 31953 if (!_v6.$) { 31954 var content = _v6.a; 31955 var _v7 = A5($dillonkearns$elm_markdown$Markdown$InlineParser$strikethroughToMatch, token, matches, references, rawText, content); 31956 var newTokens = _v7.a; 31957 var newMatches = _v7.b; 31958 var $temp$remaining = tokensTail, 31959 $temp$tokens = newTokens, 31960 $temp$matches = newMatches, 31961 $temp$references = references, 31962 $temp$rawText = rawText; 31963 remaining = $temp$remaining; 31964 tokens = $temp$tokens; 31965 matches = $temp$matches; 31966 references = $temp$references; 31967 rawText = $temp$rawText; 31968 continue strikethroughTTM; 31969 } else { 31970 var $temp$remaining = tokensTail, 31971 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31972 $temp$matches = matches, 31973 $temp$references = references, 31974 $temp$rawText = rawText; 31975 remaining = $temp$remaining; 31976 tokens = $temp$tokens; 31977 matches = $temp$matches; 31978 references = $temp$references; 31979 rawText = $temp$rawText; 31980 continue strikethroughTTM; 31981 } 31982 } else { 31983 var $temp$remaining = tokensTail, 31984 $temp$tokens = A2($elm$core$List$cons, token, tokens), 31985 $temp$matches = matches, 31986 $temp$references = references, 31987 $temp$rawText = rawText; 31988 remaining = $temp$remaining; 31989 tokens = $temp$tokens; 31990 matches = $temp$matches; 31991 references = $temp$references; 31992 rawText = $temp$rawText; 31993 continue strikethroughTTM; 31994 } 31995 } 31996 } 31997 }); 31998var $dillonkearns$elm_markdown$Markdown$InlineParser$strikethroughToMatch = F5( 31999 function (closeToken, matches, references, rawText, _v1) { 32000 var openToken = _v1.a; 32001 var remainTokens = _v1.c; 32002 var updatedOpenToken = function () { 32003 var _v2 = openToken.e; 32004 if ((_v2.$ === 9) && (!_v2.a)) { 32005 var _v3 = _v2.a; 32006 return _Utils_update( 32007 openToken, 32008 {d: openToken.d + 1, dj: openToken.dj - 1}); 32009 } else { 32010 return openToken; 32011 } 32012 }(); 32013 var match = A7($dillonkearns$elm_markdown$Markdown$InlineParser$tokenPairToMatch, references, rawText, $dillonkearns$elm_markdown$Markdown$Helpers$cleanWhitespace
32013s, $dillonkearns$elm_markdown$Markdown$InlineParser$StrikethroughType, updatedOpenToken, closeToken, _List_Nil); 32014 return _Utils_Tuple2( 32015 remainTokens, 32016 A2($elm$core$List$cons, match, matches)); 32017 }); 32018var $dillonkearns$elm_markdown$Markdown$InlineParser$tokenPairToMatch = F7( 32019 function (references, rawText, processText, type_, openToken, closeToken, innerTokens) { 32020 var textStart = openToken.d + openToken.dj; 32021 var textEnd = closeToken.d; 32022 var text = processText( 32023 A3($elm$core$String$slice, textStart, textEnd, rawText)); 32024 var start = openToken.d; 32025 var end = closeToken.d + closeToken.dj; 32026 var match = {g: end, q: _List_Nil, i: start, j: text, B: textEnd, t: textStart, H: type_}; 32027 var matches = A2( 32028 $elm$core$List$map, 32029 function (_v0) { 32030 var matchModel = _v0; 32031 return A2($dillonkearns$elm_markdown$Markdown$InlineParser$prepareChildMatch, match, matchModel); 32032 }, 32033 A4($dillonkearns$elm_markdown$Markdown$InlineParser$tokensToMatches, innerTokens, _List_Nil, references, rawText)); 32034 return {g: end, q: matches, i: start, j: text, B: textEnd, t: textStart, H: type_}; 32035 }); 32036var $dillonkearns$elm_markdown$Markdown$InlineParser$tokensToMatches = F4( 32037 function (tokens, matches, references, rawText) { 32038 return A5($dillonkearns$elm_markdown$Markdown$InlineParser$codeAutolinkTypeHtmlTagTTM, tokens, _List_Nil, matches, references, rawText); 32039 }); 32040var $dillonkearns$elm_markdown$Markdown$InlineParser$parse = F2( 32041 function (refs, rawText_) { 32042 var rawText = $elm$core$String$trim(rawText_); 32043 var tokens = $dillonkearns$elm_markdown$Markdown$InlineParser$tokenize(rawText); 32044 return $dillonkearns$elm_markdown$Markdown$InlineParser$matchesToInlines( 32045 A3( 32046 $dillonkearns$elm_markdown$Markdown$InlineParser$parseTextMatches, 32047 rawText, 32048 _List_Nil, 32049 $dillonkearns$elm_markdown$Markdown$InlineParser$organizeMatches( 32050 A4($dillonkearns$elm_markdown$Markdown$InlineParser$tokensToMatches, tokens, _List_Nil, refs, rawText)))); 32051 }); 32052var $dillonkearns$elm_markdown$Markdown$Parser$thisIsDefinitelyNotAnHtmlTag = $elm$parser$Parser$Advanced$oneOf( 32053 _List_fromArray( 32054 [ 32055 $elm$parser$Parser$Advanced$token( 32056 A2( 32057 $elm$parser$Parser$Advanced$Token, 32058 ' ', 32059 $elm$parser$Parser$Expecting(' '))), 32060 $elm$parser$Parser$Advanced$token( 32061 A2( 32062 $elm$parser$Parser$Advanced$Token, 32063 '>', 32064 $elm$parser$Parser$Expecting('>'))), 32065 A2( 32066 $elm$parser$Parser$Advanced$ignorer, 32067 A2( 32068 $elm$parser$Parser$Advanced$ignorer, 32069 A2( 32070 $elm$parser$Parser$Advanced$chompIf, 32071 $elm$core$Char$isAlpha, 32072 $elm$parser$Parser$Expecting('Alpha')), 32073 $elm$parser$Parser$Advanced$chompWhile( 32074 function (c) { 32075 return $elm$core$Char$isAlphaNum(c) || (c === '-'); 32076 })), 32077 $elm$parser$Parser$Advanced$oneOf( 32078 _List_fromArray( 32079 [ 32080 $elm$parser$Parser$Advanced$token( 32081 A2( 32082 $elm$parser$Parser$Advanced$Token, 32083 ':', 32084 $elm$parser$Parser$Expecting(':'))), 32085 $elm$parser$Parser$Advanced$token( 32086 A2( 32087 $elm$parser$Parser$Advanced$Token, 32088 '@', 32089 $elm$parser$Parser$Expecting('@'))), 32090 $elm$parser$Parser$Advanced$token( 32091 A2( 32092 $elm$parser$Parser$Advanced$Token, 32093 '\\', 32094 $elm$parser$Parser$Expecting('\\'))), 32095 $elm$parser$Parser$Advanced$token( 32096 A2( 32097 $elm$parser$Parser$Advanced$Token, 32098 '+', 32099 $elm$parser$Parser$Expecting('+'))), 32100 $elm$parser$Parser$Advanced$token( 32101 A2( 32102 $elm$parser$Parser$Advanced$Token, 32103 '.', 32104 $elm$parser$Parser$Expecting('.'))) 32105 ]))) 32106 ])); 32107var $dillonkearns$elm_markdown$Markdown$Parser$parseAsParagraphInsteadOfHtmlBlock = $elm$parser$Parser$Advanced$backtrackable( 32108 A2( 32109 $elm$parser$Parser$Advanced$mapChompedString, 32110 F2( 32111 function (rawLine, _v0) { 32112 return $dillonkearns$elm_markdown$Markdown$RawBlock$OpenBlockOrParagraph(rawLine); 32113 }), 32114 A2( 32115 $elm$parser$Parser$Advanced$ignorer, 32116 A2( 32117 $elm$parser$Parser$Advanced$ignorer, 32118 A2( 32119 $elm$parser$Parser$Advanced$ignorer, 32120 $elm$parser$Parser$Advanced$token( 32121 A2( 32122 $elm$parser$Parser$Advanced$Token, 32123 '<', 32124 $elm$parser$Parser$Expecting('<'))), 32125 $dillonkearns$elm_markdown$Markdown$Parser$thisIsDefinitelyNotAnHtmlTag), 32126 $dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 32127 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd))); 32128var $dillonkearns$elm_markdown$Markdown$Table$TableHeader = $elm$core$Basics$identity; 32129var $dillonkearns$elm_markdown$Parser$Token$parseString = function (str) { 32130 return $elm$parser$Parser$Advanced$token( 32131 A2( 32132 $elm$parser$Parser$Advanced$Token, 32133 str, 32134 $elm$parser$Parser$Expecting(str))); 32135}; 32136var $dillonkearns$elm_markdown$Markdown$TableParser$parseCellHelper = function (_v0) { 32137 var curr = _v0.a; 32138 var acc = _v0.b; 32139 var _return = A2( 32140 $elm$core$Maybe$withDefault, 32141 $elm$parser$Parser$Advanced$Done(acc), 32142 A2( 32143 $elm$core$Maybe$map, 32144 function (cell) { 32145 return $elm$parser$Parser$Advanced$Done( 32146 A2($elm$core$List$cons, cell, acc)); 32147 }, 32148 curr)); 32149 var finishCell = A2( 32150 $elm$core$Maybe$withDefault, 32151 $elm$parser$Parser$Advanced$Loop( 32152 _Utils_Tuple2($elm$core$Maybe$Nothing, acc)), 32153 A2( 32154 $elm$core$Maybe$map, 32155 function (cell) { 32156 return $elm$parser$Parser$Advanced$Loop( 32157 _Utils_Tuple2( 32158 $elm$core$Maybe$Nothing, 32159 A2($elm$core$List$cons, cell, acc))); 32160 }, 32161 curr)); 32162 var addToCurrent = function (c) { 32163 return _Utils_ap( 32164 A2($elm$core$Maybe$withDefault, '', curr), 32165 c); 32166 }; 32167 var continueCell = function (c) { 32168 return $elm$parser$Parser$Advanced$Loop( 32169 _Utils_Tuple2( 32170 $elm$core$Maybe$Just( 32171 addToCurrent(c)), 32172 acc)); 32173 }; 32174 return $elm$parser$Parser$Advanced$oneOf( 32175 _List_fromArray( 32176 [ 32177 A2( 32178 $elm$parser$Parser$Advanced$map, 32179 function (_v1) { 32180 return _return; 32181 }, 32182 $dillonkearns$elm_markdown$Parser$Token$parseString('|\n')), 32183 A2( 32184 $elm$parser$Parser$Advanced$map, 32185 function (_v2) { 32186 return _return; 32187 }, 32188 $dillonkearns$elm_markdown$Parser$Token$parseString('\n')), 32189 A2( 32190 $elm$parser$Parser$Advanced$map, 32191 function (_v3) { 32192 return _return; 32193 }, 32194 $elm$parser$Parser$Advanced$end( 32195 $elm$parser$Parser$Expecting('end'))), 32196 A2( 32197 $elm$parser$Parser$Advanced$ignorer, 32198 $elm$parser$Parser$Advanced$backtrackable( 32199 $elm$parser$Parser$Advanced$succeed( 32200 continueCell('|'))), 32201 $dillonkearns$elm_markdown$Parser$Token$parseString('\\\\|')), 32202 A2( 32203 $elm$parser$Parser$Advanced$ignorer, 32204 $elm$parser$Parser$Advanced$backtrackable( 32205 $elm$parser$Parser$Advanced$succeed( 32206 continueCell('\\'))), 32207 $dillonkearns$elm_markdown$Parser$Token$parseString('\\\\')), 32208 A2( 32209 $elm$parser$Parser$Advanced$ignorer, 32210 $elm$parser$Parser$Advanced$backtrackable( 32211 $elm$parser$Parser$Advanced$succeed( 32212 continueCell('|'))), 32213 $dillonkearns$elm_markdown$Parser$Token$parseString('\\|')), 32214 A2( 32215 $elm$parser$Parser$Advanced$ignorer, 32216 $elm$parser$Parser$Advanced$backtrackable( 32217 $elm$parser$Parser$Advanced$succeed(finishCell)), 32218 $dillonkearns$elm_markdown$Parser$Token$parseString('|')), 32219 A2( 32220 $elm$parser$Parser$Advanced$mapChompedString, 32221 F2( 32222 function (_char, _v4) { 32223 return continueCell(_char); 32224 }), 32225 A2( 32226 $elm$parser$Parser$Advanced$chompIf, 32227 $elm$core$Basics$always(true), 32228 $elm$parser$Parser$Problem('No character found'))) 32229 ])); 32230}; 32231var $dillonkearns$elm_markdown$Markdown$TableParser$parseCells = A2( 32232 $elm$parser$Parser$Advanced$map, 32233 A2( 32234 $elm$core$List$foldl, 32235 F2( 32236 function (cell, acc) { 32237 return A2( 32238 $elm$core$List$cons, 32239 $elm$core$String$trim(cell), 32240 acc); 32241 }), 32242 _List_Nil), 32243 A2( 32244 $elm$parser$Parser$Advanced$loop, 32245 _Utils_Tuple2($elm$core$Maybe$Nothing, _List_Nil), 32246 $dillonkearns$elm_markdown$Markdown$TableParser$parseCellHelper)); 32247var $dillonkearns$elm_markdown$Markdown$TableParser$rowParser = A2( 32248 $elm$parser$Parser$Advanced$keeper, 32249 A2( 32250 $elm$parser$Parser$Advanced$ignorer, 32251 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 32252 $elm$parser$Parser$Advanced$oneOf( 32253 _List_fromArray( 32254 [ 32255 $dillonkearns$elm_markdown$Parser$Token$parseString('|'), 32256 $elm$parser$Parser$Advanced$succeed(0) 32257 ]))), 32258 $dillonkearns$elm_markdown$Markdown$TableParser$parseCells); 32259var $dillonkearns$elm_markdown$Markdown$TableParser$parseHeader = F2( 32260 function (_v0, headersRow) { 32261 var columnAlignments = _v0.b; 32262 var headersWithAlignment = function (headers) { 32263 return A3( 32264 $elm$core$List$map2, 32265 F2( 32266 function (headerCell, alignment) { 32267 return {Z: alignment, aK: headerCell}; 32268 }), 32269 headers, 32270 columnAlignments); 32271 }; 32272 var combineHeaderAndDelimiter = function (headers) { 32273 return _Utils_eq( 32274 $elm$core$List$length(headers), 32275 $elm$core$List$length(columnAlignments)) ? $elm$core$Result$Ok( 32276 headersWithAlignment(headers)) : $elm$core$Result$Err( 32277 'Tables must have the same number of header columns (' + ($elm$core$String$fromInt( 32278 $elm$core$List$length(headers)) + (') as delimiter columns (' + ($elm$core$String$fromInt( 32279 $elm$core$List$length(columnAlignments)) + ')')))); 32280 }; 32281 var _v1 = A2($elm$parser$Parser$Advanced$run, $dillonkearns$elm_markdown$Markdown$TableParser$rowParser, headersRow); 32282 if (!_v1.$) { 32283 var headers = _v1.a; 32284 return combineHeaderAndDelimiter(headers); 32285 } else { 32286 return $elm$core$Result$Err('Unable to parse previous line as a table header'); 32287 } 32288 }); 32289var $dillonkearns$elm_markdown$Markdown$CodeBlock$CodeBlock = F2( 32290 function (language, body) { 32291 return {fe: body, fK: language}; 32292 }); 32293var $dillonkearns$elm_markdown$Markdown$CodeBlock$infoString = function (fenceCharacter) { 32294 var toInfoString = F2( 32295 function (str, _v2) { 32296 var _v1 = $elm$core$String$trim(str); 32297 if (_v1 === '') { 32298 return $elm$core$Maybe$Nothing; 32299 } else { 32300 var trimmed = _v1; 32301 return $elm$core$Maybe$Just(trimmed); 32302 } 32303 }); 32304 var _v0 = fenceCharacter.b6; 32305 if (!_v0) { 32306 return A2( 32307 $elm$parser$Parser$Advanced$mapChompedString, 32308 toInfoString, 32309 $elm$parser$Parser$Advanced$chompWhile( 32310 function (c) { 32311 return (c !== '`') && (!$dillonkearns$elm_markdown$Whitespace$isLineEnd(c)); 32312 })); 32313 } else { 32314 return A2( 32315 $elm$parser$Parser$Advanced$mapChompedString, 32316 toInfoString, 32317 $elm$parser$Parser$Advanced$chompWhile( 32318 A2($elm$core$Basics$composeL, $elm$core$Basics$not, $dillonkearns$elm_markdown$Whitespace$isLineEnd))); 32319 } 32320}; 32321var $dillonkearns$elm_markdown$Markdown$CodeBlock$Backtick = 0; 32322var $dillonkearns$elm_markdown$Parser$Token$backtick = A2( 32323 $elm$parser$Parser$Advanced$Token, 32324 '`', 32325 $elm$parser$Parser$Expecting('a \'`\'')); 32326var $dillonkearns$elm_markdown$Markdown$CodeBlock$backtick = {bJ: '`', b6: 0, cH: $dillonkearns$elm_markdown$Parser$Token$backtick}; 32327var $dillonkearns$elm_markdown$Markdown$CodeBlock$colToIndentation = function (_int) { 32328 switch (_int) { 32329 case 1: 32330 return $elm$parser$Parser$Advanced$succeed(0); 32331 case 2: 32332 return $elm$parser$Parser$Advanced$succeed(1); 32333 case 3: 32334 return $elm$parser$Parser$Advanced$succeed(2); 32335 case 4: 32336 return $elm$parser$Parser$Advanced$succeed(3); 32337 default: 32338 return $elm$parser$Parser$Advanced$problem( 32339 $elm$parser$Parser$Expecting('Fenced code blocks should be indented no more than 3 spaces')); 32340 } 32341}; 32342var $dillonkearns$elm_markdown$Markdown$CodeBlock$fenceOfAtLeast = F2( 32343 function (minLength, fenceCharacter) { 32344 var builtTokens = A3( 32345 $elm$core$List$foldl, 32346 F2( 32347 function (t, p) { 32348 return A2($elm$parser$Parser$Advanced$ignorer, p, t); 32349 }), 32350 $elm$parser$Parser$Advanced$succeed(0), 32351 A2( 32352 $elm$core$List$repeat, 32353 minLength, 32354 $elm$parser$Parser$Advanced$token(fenceCharacter.cH))); 32355 return A2( 32356 $elm$parser$Parser$Advanced$mapChompedString, 32357 F2( 32358 function (str, _v0) { 32359 return _Utils_Tuple2( 32360 fenceCharacter, 32361 $elm$core$String$length(str)); 32362 }), 32363 A2( 32364 $elm$parser$Parser$Advanced$ignorer, 32365 builtTokens, 32366 $elm$parser$Parser$Advanced$chompWhile( 32367 $elm$core$Basics$eq(fenceCharacter.bJ)))); 32368 }); 32369var $dillonkearns$elm_markdown$Markdown$CodeBlock$Tilde = 1; 32370var $dillonkearns$elm_markdown$Parser$Token$tilde = A2( 32371 $elm$parser$Parser$Advanced$Token, 32372 '~', 32373 $elm$parser$Parser$Expecting('a `~`')); 32374var $dillonkearns$elm_markdown$Markdown$CodeBlock$tilde = {bJ: '~', b6: 1, cH: $dillonkearns$elm_markdown$Parser$Token$tilde}; 32375var $dillonkearns$elm_markdown$Whitespace$upToThreeSpaces = $elm$parser$Parser$Advanced$oneOf( 32376 _List_fromArray( 32377 [ 32378 A2( 32379 $elm$parser$Parser$Advanced$ignorer, 32380 A2( 32381 $elm$parser$Parser$Advanced$ignorer, 32382 $dillonkearns$elm_markdown$Whitespace$space, 32383 $elm$parser$Parser$Advanced$oneOf( 32384 _List_fromArray( 32385 [ 32386 $dillonkearns$elm_markdown$Whitespace$space, 32387 $elm$parser$Parser$Advanced$succeed(0) 32388 ]))), 32389 $elm$parser$Parser$Advanced$oneOf( 32390 _List_fromArray( 32391 [ 32392 $dillonkearns$elm_markdown$Whitespace$space, 32393 $elm$parser$Parser$Advanced$succeed(0) 32394 ]))), 32395 $elm$parser$Parser$Advanced$succeed(0) 32396 ])); 32397var $dillonkearns$elm_markdown$Markdown$CodeBlock$openingFence = A2( 32398 $elm$parser$Parser$Advanced$keeper, 32399 A2( 32400 $elm$parser$Parser$Advanced$keeper, 32401 A2( 32402 $elm$parser$Parser$Advanced$ignorer, 32403 $elm$parser$Parser$Advanced$succeed( 32404 F2( 32405 function (indent, _v0) { 32406 var character = _v0.a; 32407 var length = _v0.b; 32408 return {bK: character, dh: indent, dj: length}; 32409 })), 32410 $dillonkearns$elm_markdown$Whitespace$upToThreeSpaces), 32411 A2($elm$parser$Parser$Advanced$andThen, $dillonkearns$elm_markdown$Markdown$CodeBlock$colToIndentation, $elm$parser$Parser$Advanced$getCol)), 32412 $elm$parser$Parser$Advanced$oneOf( 32413 _List_fromArray( 32414 [ 32415 A2($dillonkearns$elm_markdown$Markdown$CodeBlock$fenceOfAtLeast, 3, $dillonkearns$elm_markdown$Markdown$CodeBlock$backtick), 32416 A2($dillonkearns$elm_markdown$Markdown$CodeBlock$fenceOfAtLeast, 3, $dillonkearns$elm_markdown$Markdown$CodeBlock$tilde) 32417 ]))); 32418var $dillonkearns$elm_markdown$Whitespace$isSpace = $elm$core$Basics$eq(' '); 32419var $dillonkearns$elm_markdown$Markdown$CodeBlock$closingFence = F2( 32420 function (minLength, fenceCharacter) { 32421 return A2( 32422 $elm$parser$Parser$Advanced$ignorer, 32423 A2( 32424 $elm$parser$Parser$Advanced$ignorer, 32425 A2( 32426 $elm$parser$Parser$Advanced$ignorer, 32427 A2( 32428 $elm$parser$Parser$Advanced$ignorer, 32429 $elm$parser$Parser$Advanced$succeed(0), 32430 $dillonkearns$elm_markdown$Whitespace$upToThreeSpaces), 32431 A2($dillonkearns$elm_markdown$Markdown$CodeBlock$fenceOfAtLeast, minLength, fenceCharacter)), 32432 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpace)), 32433 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd); 32434 }); 32435var $dillonkearns$elm_markdown$Markdown$CodeBlock$codeBlockLine = function (indented) { 32436 return A2( 32437 $elm$parser$Parser$Advanced$keeper, 32438 A2( 32439 $elm$parser$Parser$Advanced$ignorer, 32440 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 32441 A2($dillonkearns$elm_markdown$Parser$Extra$upTo, indented, $dillonkearns$elm_markdown$Whitespace$space)), 32442 A2( 32443 $elm$parser$Parser$Advanced$ignorer, 32444 A2($elm$parser$Parser$Advanced$ignorer, $elm$parser$Parser$Advanced$getOffset, $dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 32445 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)); 32446}; 32447var $elm$parser$Parser$Advanced$getSource = function (s) { 32448 return A3($elm$parser$Parser$Advanced$Good, false, s.dE, s); 32449}; 32450var $dillonkearns$elm_markdown$Markdown$CodeBlock$remainingBlockHelp = function (_v0) { 32451 var fence = _v0.a; 32452 var body = _v0.b; 32453 return $elm$parser$Parser$Advanced$oneOf( 32454 _List_fromArray( 32455 [ 32456 A2( 32457 $elm$parser$Parser$Advanced$ignorer, 32458 $elm$parser$Parser$Advanced$succeed( 32459 $elm$parser$Parser$Advanced$Done(body)), 32460 $elm$parser$Parser$Advanced$end($elm$parser$Parser$ExpectingEnd)), 32461 A2( 32462 $elm$parser$Parser$Advanced$mapChompedString, 32463 F2( 32464 function (lineEnd, _v1) { 32465 return $elm$parser$Parser$Advanced$Loop( 32466 _Utils_Tuple2( 32467 fence, 32468 _Utils_ap(body, lineEnd))); 32469 }), 32470 $dillonkearns$elm_markdown$Whitespace$lineEnd), 32471 $elm$parser$Parser$Advanced$backtrackable( 32472 A2( 32473 $elm$parser$Parser$Advanced$ignorer, 32474 $elm$parser$Parser$Advanced$succeed( 32475 $elm$parser$Parser$Advanced$Done(body)), 32476 A2($dillonkearns$elm_markdown$Markdown$CodeBlock$closingFence, fence.dj, fence.bK))), 32477 A2( 32478 $e
32478lm$parser$Parser$Advanced$keeper, 32479 A2( 32480 $elm$parser$Parser$Advanced$keeper, 32481 A2( 32482 $elm$parser$Parser$Advanced$keeper, 32483 $elm$parser$Parser$Advanced$succeed( 32484 F3( 32485 function (start, end, source) { 32486 return $elm$parser$Parser$Advanced$Loop( 32487 _Utils_Tuple2( 32488 fence, 32489 _Utils_ap( 32490 body, 32491 A3($elm$core$String$slice, start, end, source)))); 32492 })), 32493 $dillonkearns$elm_markdown$Markdown$CodeBlock$codeBlockLine(fence.dh)), 32494 $elm$parser$Parser$Advanced$getOffset), 32495 $elm$parser$Parser$Advanced$getSource) 32496 ])); 32497}; 32498var $dillonkearns$elm_markdown$Markdown$CodeBlock$remainingBlock = function (fence) { 32499 return A2( 32500 $elm$parser$Parser$Advanced$loop, 32501 _Utils_Tuple2(fence, ''), 32502 $dillonkearns$elm_markdown$Markdown$CodeBlock$remainingBlockHelp); 32503}; 32504var $dillonkearns$elm_markdown$Markdown$CodeBlock$parser = A2( 32505 $elm$parser$Parser$Advanced$andThen, 32506 function (fence) { 32507 return A2( 32508 $elm$parser$Parser$Advanced$keeper, 32509 A2( 32510 $elm$parser$Parser$Advanced$keeper, 32511 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$CodeBlock$CodeBlock), 32512 A2( 32513 $elm$parser$Parser$Advanced$ignorer, 32514 $dillonkearns$elm_markdown$Markdown$CodeBlock$infoString(fence.bK), 32515 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)), 32516 $dillonkearns$elm_markdown$Markdown$CodeBlock$remainingBlock(fence)); 32517 }, 32518 $dillonkearns$elm_markdown$Markdown$CodeBlock$openingFence); 32519var $elm$core$String$dropRight = F2( 32520 function (n, string) { 32521 return (n < 1) ? string : A3($elm$core$String$slice, 0, -n, string); 32522 }); 32523var $dillonkearns$elm_markdown$Markdown$Heading$dropTrailingHashes = function (headingString) { 32524 dropTrailingHashes: 32525 while (true) { 32526 if (A2($elm$core$String$endsWith, '#', headingString)) { 32527 var $temp$headingString = A2($elm$core$String$dropRight, 1, headingString); 32528 headingString = $temp$headingString; 32529 continue dropTrailingHashes; 32530 } else { 32531 return headingString; 32532 } 32533 } 32534}; 32535var $elm$core$String$trimRight = _String_trimRight; 32536var $dillonkearns$elm_markdown$Markdown$Heading$dropClosingSequence = function (headingString) { 32537 var droppedTrailingHashesString = $dillonkearns$elm_markdown$Markdown$Heading$dropTrailingHashes(headingString); 32538 return (A2($elm$core$String$endsWith, ' ', droppedTrailingHashesString) || $elm$core$String$isEmpty(droppedTrailingHashesString)) ? $elm$core$String$trimRight(droppedTrailingHashesString) : headingString; 32539}; 32540var $dillonkearns$elm_markdown$Parser$Token$hash = A2( 32541 $elm$parser$Parser$Advanced$Token, 32542 '#', 32543 $elm$parser$Parser$Expecting('a `#`')); 32544var $dillonkearns$elm_markdown$Markdown$Heading$isHash = function (c) { 32545 if ('#' === c) { 32546 return true; 32547 } else { 32548 return false; 32549 } 32550}; 32551var $elm$parser$Parser$Advanced$spaces = $elm$parser$Parser$Advanced$chompWhile( 32552 function (c) { 32553 return (c === ' ') || ((c === '\n') || (c === '\r')); 32554 }); 32555var $dillonkearns$elm_markdown$Markdown$Heading$parser = A2( 32556 $elm$parser$Parser$Advanced$keeper, 32557 A2( 32558 $elm$parser$Parser$Advanced$keeper, 32559 A2( 32560 $elm$parser$Parser$Advanced$ignorer, 32561 A2( 32562 $elm$parser$Parser$Advanced$ignorer, 32563 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$RawBlock$Heading), 32564 A2( 32565 $elm$parser$Parser$Advanced$andThen, 32566 function (startingSpaces) { 32567 var startSpace = $elm$core$String$length(startingSpaces); 32568 return (startSpace >= 4) ? $elm$parser$Parser$Advanced$problem( 32569 $elm$parser$Parser$Expecting('heading with < 4 spaces in front')) : $elm$parser$Parser$Advanced$succeed(startSpace); 32570 }, 32571 $elm$parser$Parser$Advanced$getChompedString($elm$parser$Parser$Advanced$spaces))), 32572 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$hash)), 32573 A2( 32574 $elm$parser$Parser$Advanced$andThen, 32575 function (additionalHashes) { 32576 var level = $elm$core$String$length(additionalHashes) + 1; 32577 return (level >= 7) ? $elm$parser$Parser$Advanced$problem( 32578 $elm$parser$Parser$Expecting('heading with < 7 #\'s')) : $elm$parser$Parser$Advanced$succeed(level); 32579 }, 32580 $elm$parser$Parser$Advanced$getChompedString( 32581 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Markdown$Heading$isHash)))), 32582 $elm$parser$Parser$Advanced$oneOf( 32583 _List_fromArray( 32584 [ 32585 A2( 32586 $elm$parser$Parser$Advanced$ignorer, 32587 $elm$parser$Parser$Advanced$succeed(''), 32588 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$newline)), 32589 A2( 32590 $elm$parser$Parser$Advanced$keeper, 32591 A2( 32592 $elm$parser$Parser$Advanced$ignorer, 32593 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 32594 $elm$parser$Parser$Advanced$oneOf( 32595 _List_fromArray( 32596 [ 32597 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$space), 32598 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$tab) 32599 ]))), 32600 A2( 32601 $elm$parser$Parser$Advanced$mapChompedString, 32602 F2( 32603 function (headingText, _v0) { 32604 return $dillonkearns$elm_markdown$Markdown$Heading$dropClosingSequence( 32605 $elm$core$String$trim(headingText)); 32606 }), 32607 $dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd)) 32608 ]))); 32609var $elm$parser$Parser$Advanced$findSubString = _Parser_findSubString; 32610var $elm$parser$Parser$Advanced$chompUntil = function (_v0) { 32611 var str = _v0.a; 32612 var expecting = _v0.b; 32613 return function (s) { 32614 var _v1 = A5($elm$parser$Parser$Advanced$findSubString, str, s.cf, s.gm, s.d5, s.dE); 32615 var newOffset = _v1.a; 32616 var newRow = _v1.b; 32617 var newCol = _v1.c; 32618 return _Utils_eq(newOffset, -1) ? A2( 32619 $elm$parser$Parser$Advanced$Bad, 32620 false, 32621 A4($elm$parser$Parser$Advanced$fromInfo, newRow, newCol, expecting, s.f)) : A3( 32622 $elm$parser$Parser$Advanced$Good, 32623 _Utils_cmp(s.cf, newOffset) < 0, 32624 0, 32625 {d5: newCol, f: s.f, h: s.h, cf: newOffset, gm: newRow, dE: s.dE}); 32626 }; 32627}; 32628var $dillonkearns$elm_markdown$Parser$Token$greaterThan = A2( 32629 $elm$parser$Parser$Advanced$Token, 32630 '>', 32631 $elm$parser$Parser$Expecting('a `>`')); 32632var $elm$parser$Parser$Advanced$Located = F3( 32633 function (row, col, context) { 32634 return {d5: col, f: context, gm: row}; 32635 }); 32636var $elm$parser$Parser$Advanced$changeContext = F2( 32637 function (newContext, s) { 32638 return {d5: s.d5, f: newContext, h: s.h, cf: s.cf, gm: s.gm, dE: s.dE}; 32639 }); 32640var $elm$parser$Parser$Advanced$inContext = F2( 32641 function (context, _v0) { 32642 var parse = _v0; 32643 return function (s0) { 32644 var _v1 = parse( 32645 A2( 32646 $elm$parser$Parser$Advanced$changeContext, 32647 A2( 32648 $elm$core$List$cons, 32649 A3($elm$parser$Parser$Advanced$Located, s0.gm, s0.d5, context), 32650 s0.f), 32651 s0)); 32652 if (!_v1.$) { 32653 var p = _v1.a; 32654 var a = _v1.b; 32655 var s1 = _v1.c; 32656 return A3( 32657 $elm$parser$Parser$Advanced$Good, 32658 p, 32659 a, 32660 A2($elm$parser$Parser$Advanced$changeContext, s0.f, s1)); 32661 } else { 32662 var step = _v1; 32663 return step; 32664 } 32665 }; 32666 }); 32667var $dillonkearns$elm_markdown$Whitespace$isWhitespace = function (_char) { 32668 switch (_char) { 32669 case ' ': 32670 return true; 32671 case '\n': 32672 return true; 32673 case '\t': 32674 return true; 32675 case '\u000B': 32676 return true; 32677 case '\u000C': 32678 return true; 32679 case '\u000D': 32680 return true; 32681 default: 32682 return false;
32683 } 32684}; 32685var $dillonkearns$elm_markdown$Parser$Token$lessThan = A2( 32686 $elm$parser$Parser$Advanced$Token, 32687 '<', 32688 $elm$parser$Parser$Expecting('a `<`')); 32689var $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$destinationParser = A2( 32690 $elm$parser$Parser$Advanced$inContext, 32691 'link destination', 32692 $elm$parser$Parser$Advanced$oneOf( 32693 _List_fromArray( 32694 [ 32695 A2( 32696 $elm$parser$Parser$Advanced$keeper, 32697 A2( 32698 $elm$parser$Parser$Advanced$ignorer, 32699 $elm$parser$Parser$Advanced$succeed($elm$url$Url$percentEncode), 32700 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$lessThan)), 32701 A2( 32702 $elm$parser$Parser$Advanced$ignorer, 32703 $elm$parser$Parser$Advanced$getChompedString( 32704 $elm$parser$Parser$Advanced$chompUntil($dillonkearns$elm_markdown$Parser$Token$greaterThan)), 32705 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$greaterThan))), 32706 $elm$parser$Parser$Advanced$getChompedString( 32707 $dillonkearns$elm_markdown$Parser$Extra$chompOneOrMore( 32708 A2($elm$core$Basics$composeL, $elm$core$Basics$not, $dillonkearns$elm_markdown$Whitespace$isWhitespace))) 32709 ]))); 32710var $dillonkearns$elm_markdown$Parser$Token$closingSquareBracket = A2( 32711 $elm$parser$Parser$Advanced$Token, 32712 ']', 32713 $elm$parser$Parser$Expecting('a `]`')); 32714var $dillonkearns$elm_markdown$Parser$Token$openingSquareBracket = A2( 32715 $elm$parser$Parser$Advanced$Token, 32716 '[', 32717 $elm$parser$Parser$Expecting('a `[`')); 32718var $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$labelParser = A2( 32719 $elm$parser$Parser$Advanced$keeper, 32720 A2( 32721 $elm$parser$Parser$Advanced$ignorer, 32722 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$Helpers$prepareRefLabel), 32723 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$openingSquareBracket)), 32724 A2( 32725 $elm$parser$Parser$Advanced$ignorer, 32726 $elm$parser$Parser$Advanced$getChompedString( 32727 $elm$parser$Parser$Advanced$chompUntil($dillonkearns$elm_markdown$Parser$Token$closingSquareBracket)), 32728 $elm$parser$Parser$Advanced$symbol( 32729 A2( 32730 $elm$parser$Parser$Advanced$Token, 32731 ']:', 32732 $elm$parser$Parser$Expecting(']:'))))); 32733var $dillonkearns$elm_markdown$Parser$Token$doubleQuote = A2( 32734 $elm$parser$Parser$Advanced$Token, 32735 '\"', 32736 $elm$parser$Parser$Expecting('a double quote')); 32737var $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$hasNoBlankLine = function (str) { 32738 return A2($elm$core$String$contains, '\n\n', str) ? $elm$parser$Parser$Advanced$problem( 32739 $elm$parser$Parser$Expecting('no blank line')) : $elm$parser$Parser$Advanced$succeed(str); 32740}; 32741var $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$onlyWhitespaceTillNewline = A2( 32742 $elm$parser$Parser$Advanced$ignorer, 32743 $elm$parser$Parser$Advanced$chompWhile( 32744 function (c) { 32745 return (!$dillonkearns$elm_markdown$Whitespace$isLineEnd(c)) && $dillonkearns$elm_markdown$Whitespace$isWhitespace(c); 32746 }), 32747 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd); 32748var $dillonkearns$elm_markdown$Whitespace$requiredWhitespace = A2( 32749 $elm$parser$Parser$Advanced$ignorer, 32750 A2( 32751 $elm$parser$Parser$Advanced$chompIf, 32752 $dillonkearns$elm_markdown$Whitespace$isWhitespace, 32753 $elm$parser$Parser$Expecting('Required whitespace')), 32754 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isWhitespace)); 32755var $dillonkearns$elm_markdown$Parser$Token$singleQuote = A2( 32756 $elm$parser$Parser$Advanced$Token, 32757 '\'', 32758 $elm$parser$Parser$Expecting('a single quote')); 32759var $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$titleParser = function () { 32760 var inSingleQuotes = A2( 32761 $elm$parser$Parser$Advanced$keeper, 32762 A2( 32763 $elm$parser$Parser$Advanced$ignorer, 32764 $elm$parser$Parser$Advanced$succeed($elm$core$Maybe$Just), 32765 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$singleQuote)), 32766 A2( 32767 $elm$parser$Parser$Advanced$ignorer, 32768 A2( 32769 $elm$parser$Parser$Advanced$ignorer, 32770 A2( 32771 $elm$parser$Parser$Advanced$andThen, 32772 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$hasNoBlankLine, 32773 $elm$parser$Parser$Advanced$getChompedString( 32774 $elm$parser$Parser$Advanced$chompUntil($dillonkearns$elm_markdown$Parser$Token$singleQuote))), 32775 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$singleQuote)), 32776 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$onlyWhitespaceTillNewline)); 32777 var inDoubleQuotes = A2( 32778 $elm$parser$Parser$Advanced$keeper, 32779 A2( 32780 $elm$parser$Parser$Advanced$ignorer, 32781 $elm$parser$Parser$Advanced$succeed($elm$core$Maybe$Just), 32782 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$doubleQuote)), 32783 A2( 32784 $elm$parser$Parser$Advanced$ignorer, 32785 A2( 32786 $elm$parser$Parser$Advanced$ignorer, 32787 A2( 32788 $elm$parser$Parser$Advanced$andThen, 32789 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$hasNoBlankLine, 32790 $elm$parser$Parser$Advanced$getChompedString( 32791 $elm$parser$Parser$Advanced$chompUntil($dillonkearns$elm_markdown$Parser$Token$doubleQuote))), 32792 $elm$parser$Parser$Advanced$symbol($dillonkearns$elm_markdown$Parser$Token$doubleQuote)), 32793 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$onlyWhitespaceTillNewline)); 32794 return A2( 32795 $elm$parser$Parser$Advanced$inContext, 32796 'title', 32797 $elm$parser$Parser$Advanced$oneOf( 32798 _List_fromArray( 32799 [ 32800 $elm$parser$Parser$Advanced$backtrackable( 32801 A2( 32802 $elm$parser$Parser$Advanced$keeper, 32803 A2( 32804 $elm$parser$Parser$Advanced$ignorer, 32805 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 32806 $dillonkearns$elm_markdown$Whitespace$requiredWhitespace), 32807 $elm$parser$Parser$Advanced$oneOf( 32808 _List_fromArray( 32809 [ 32810 inDoubleQuotes, 32811 inSingleQuotes, 32812 $elm$parser$Parser$Advanced$succeed($elm$core$Maybe$Nothing) 32813 ])))), 32814 A2( 32815 $elm$parser$Parser$Advanced$ignorer, 32816 $elm$parser$Parser$Advanced$succeed($elm$core$Maybe$Nothing), 32817 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$onlyWhitespaceTillNewline) 32818 ]))); 32819}(); 32820var $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$parser = A2( 32821 $elm$parser$Parser$Advanced$inContext, 32822 'link reference definition', 32823 A2( 32824 $elm$parser$Parser$Advanced$keeper, 32825 A2( 32826 $elm$parser$Parser$Advanced$keeper, 32827 A2( 32828 $elm$parser$Parser$Advanced$keeper, 32829 A2( 32830 $elm$parser$Parser$Advanced$ignorer, 32831 $elm$parser$Parser$Advanced$succeed( 32832 F3( 32833 function (label, destination, title) { 32834 return _Utils_Tuple2( 32835 label, 32836 {fm: destination, gt: title}); 32837 })), 32838 $dillonkearns$elm_markdown$Whitespace$upToThreeSpaces), 32839 A2( 32840 $elm$parser$Parser$Advanced$ignorer, 32841 A2( 32842 $elm$parser$Parser$Advanced$ignorer, 32843 A2( 32844 $elm$parser$Parser$Advanced$ignorer, 32845 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$labelParser, 32846 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab)), 32847 $elm$parser$Parser$Advanced$oneOf( 32848 _List_fromArray( 32849 [ 32850 $dillonkearns$elm_markdown$Whitespace$lineEnd, 32851 $elm$parser$Parser$Advanced$succeed(0) 32852 ]))), 32853 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab))), 32854 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$destinationParser), 32855 $dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$titleParser)); 32856var $dillonkearns$elm_markdown$ThematicBreak$ThematicBreak = 0; 32857var $dillonkearns$elm_markdown$ThematicBreak$whitespace = $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab); 32858var $dillonkearns$elm_markdown$ThematicBreak$withChar = function (tchar) { 32859 var token = $dillonkearns$elm_markdown$Parser$Token$parseString( 32860 $elm$core$String$fromChar(tchar)); 32861 return A2( 32862 $elm$parser$Parser$Advanced$ignorer, 32863 A2( 32864 $elm$parser$Parser$Advanced$ignorer, 32865 A2( 32866 $elm$parser$Parser$Advanced$ignorer, 32867 A2( 32868 $elm$parser$Parser$Advanced$ignorer, 32869 A2( 32870 $elm$parser$Parser$Advanced$ignorer, 32871 A2( 32872 $elm$parser$Parser$Advanced$ignorer, 32873 A2( 32874 $elm$parser$Parser$Advanced$ignorer, 32875 $elm$parser$Parser$Advanced$succeed(0), 32876 token), 32877 $dillonkearns$elm_markdown$ThematicBreak$whitespace), 32878 token), 32879 $dillonkearns$elm_markdown$ThematicBreak$whitespace), 32880 token), 32881 $elm$parser$Parser$Advanced$chompWhile( 32882 function (c) { 32883 return _Utils_eq(c, tchar) || $dillonkearns$elm_markdown$Whitespace$isSpaceOrTab(c); 32884 })), 32885 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd); 32886}; 32887var $dillonkearns$elm_markdown$ThematicBreak$parseThematicBreak = $elm$parser$Parser$Advanced$oneOf( 32888 _List_fromArray( 32889 [ 32890 $dillonkearns$elm_markdown$ThematicBreak$withChar('-'), 32891 $dillonkearns$elm_markdown$ThematicBreak$withChar('*'), 32892 $dillonkearns$elm_markdown$ThematicBreak$withChar('_') 32893 ])); 32894var $dillonkearns$elm_markdown$ThematicBreak$parser = $elm$parser$Parser$Advanced$oneOf( 32895 _List_fromArray( 32896 [ 32897 A2( 32898 $elm$parser$Parser$Advanced$keeper, 32899 A2( 32900 $elm$parser$Parser$Advanced$ignorer, 32901 A2( 32902 $elm$parser$Parser$Advanced$ignorer, 32903 A2( 32904 $elm$parser$Parser$Advanced$ignorer, 32905 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 32906 $dillonkearns$elm_markdown$Whitespace$space), 32907 $elm$parser$Parser$Advanced$oneOf( 32908 _List_fromArray( 32909 [ 32910 $dillonkearns$elm_markdown$Whitespace$space, 32911 $elm$parser$Parser$Advanced$succeed(0) 32912 ]))), 32913 $elm$parser$Parser$Advanced$oneOf( 32914 _List_fromArray( 32915 [ 32916 $dillonkearns$elm_markdown$Whitespace$space, 32917 $elm$parser$Parser$Advanced$succeed(0) 32918 ]))), 32919 $dillonkearns$elm_markdown$ThematicBreak$parseThematicBreak), 32920 $dillonkearns$elm_markdown$ThematicBreak$parseThematicBreak 32921 ]));
32922var $dillonkearns$elm_markdown$Markdown$RawBlock$LevelOne = 0; 32923var $dillonkearns$elm_markdown$Markdown$RawBlock$LevelTwo = 1; 32924var $dillonkearns$elm_markdown$Markdown$RawBlock$SetextLine = F2( 32925 function (a, b) { 32926 return {$: 13, a: a, b: b}; 32927 }); 32928var $dillonkearns$elm_markdown$Parser$Token$equals = A2( 32929 $elm$parser$Parser$Advanced$Token, 32930 '=', 32931 $elm$parser$Parser$Expecting('a `=`')); 32932var $dillonkearns$elm_markdown$Parser$Token$minus = A2( 32933 $elm$parser$Parser$Advanced$Token, 32934 '-', 32935 $elm$parser$Parser$Expecting('a `-`')); 32936var $dillonkearns$elm_markdown$Markdown$Parser$setextLineParser = function () { 32937 var setextLevel = F3( 32938 function (level, levelToken, levelChar) { 32939 return A2( 32940 $elm$parser$Parser$Advanced$ignorer, 32941 A2( 32942 $elm$parser$Parser$Advanced$ignorer, 32943 $elm$parser$Parser$Advanced$succeed(level), 32944 $elm$parser$Parser$Advanced$token(levelToken)), 32945 $elm$parser$Parser$Advanced$chompWhile( 32946 $elm$core$Basics$eq(levelChar))); 32947 }); 32948 return A2( 32949 $elm$parser$Parser$Advanced$mapChompedString, 32950 F2( 32951 function (raw, level) { 32952 return A2($dillonkearns$elm_markdown$Markdown$RawBlock$SetextLine, level, raw); 32953 }), 32954 A2( 32955 $elm$parser$Parser$Advanced$keeper, 32956 A2( 32957 $elm$parser$Parser$Advanced$ignorer, 32958 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 32959 $dillonkearns$elm_markdown$Whitespace$upToThreeSpaces), 32960 A2( 32961 $elm$parser$Parser$Advanced$ignorer, 32962 A2( 32963 $elm$parser$Parser$Advanced$ignorer, 32964 $elm$parser$Parser$Advanced$oneOf( 32965 _List_fromArray( 32966 [ 32967 A3(setextLevel, 0, $dillonkearns$elm_markdown$Parser$Token$equals, '='), 32968 A3(setextLevel, 1, $dillonkearns$elm_markdown$Parser$Token$minus, '-') 32969 ])), 32970 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab)), 32971 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd))); 32972}(); 32973var $dillonkearns$elm_markdown$Markdown$RawBlock$TableDelimiter = function (a) { 32974 return {$: 9, a: a}; 32975}; 32976var $dillonkearns$elm_markdown$Markdown$TableParser$chompSinglelineWhitespace = $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab); 32977var $dillonkearns$elm_markdown$Parser$Extra$maybeChomp = function (condition) { 32978 return $elm$parser$Parser$Advanced$oneOf( 32979 _List_fromArray( 32980 [ 32981 A2( 32982 $elm$parser$Parser$Advanced$chompIf, 32983 condition, 32984 $elm$parser$Parser$Problem('Character not found')), 32985 $elm$parser$Parser$Advanced$succeed(0) 32986 ])); 32987}; 32988var $dillonkearns$elm_markdown$Markdown$TableParser$requirePipeIfNotFirst = function (columns) { 32989 return $elm$core$List$isEmpty(columns) ? $elm$parser$Parser$Advanced$oneOf( 32990 _List_fromArray( 32991 [ 32992 $dillonkearns$elm_markdown$Parser$Token$parseString('|'), 32993 $elm$parser$Parser$Advanced$succeed(0) 32994 ])) : $dillonkearns$elm_markdown$Parser$Token$parseString('|'); 32995}; 32996var $dillonkearns$elm_markdown$Markdown$TableParser$delimiterRowHelp = function (revDelimiterColumns) { 32997 return $elm$parser$Parser$Advanced$oneOf( 32998 _List_fromArray( 32999 [ 33000 $elm$parser$Parser$Advanced$backtrackable( 33001 A2( 33002 $elm$parser$Parser$Advanced$map, 33003 function (_v0) { 33004 return $elm$parser$Parser$Advanced$Done(revDelimiterColumns); 33005 }, 33006 $dillonkearns$elm_markdown$Parser$Token$parseString('|\n'))), 33007 A2( 33008 $elm$parser$Parser$Advanced$map, 33009 function (_v1) { 33010 return $elm$parser$Parser$Advanced$Done(revDelimiterColumns); 33011 }, 33012 $dillonkearns$elm_markdown$Parser$Token$parseString('\n')), 33013 A2( 33014 $elm$parser$Parser$Advanced$map, 33015 function (_v2) { 33016 return $elm$parser$Parser$Advanced$Done(revDelimiterColumns); 33017 }, 33018 $elm$parser$Parser$Advanced$end( 33019 $elm$parser$Parser$Expecting('end'))), 33020 $elm$parser$Parser$Advanced$backtrackable( 33021 A2( 33022 $elm$parser$Parser$Advanced$ignorer, 33023 A2( 33024 $elm$parser$Parser$Advanced$ignorer, 33025 $elm$parser$Parser$Advanced$succeed( 33026 $elm$parser$Parser$Advanced$Done(revDelimiterColumns)), 33027 $dillonkearns$elm_markdown$Parser$Token$parseString('|')), 33028 $elm$parser$Parser$Advanced$end( 33029 $elm$parser$Parser$Expecting('end')))), 33030 A2( 33031 $elm$parser$Parser$Advanced$keeper, 33032 A2( 33033 $elm$parser$Parser$Advanced$ignorer, 33034 A2( 33035 $elm$parser$Parser$Advanced$ignorer, 33036 $elm$parser$Parser$Advanced$succeed( 33037 function (column) { 33038 return $elm$parser$Parser$Advanced$Loop( 33039 A2($elm$core$List$cons, column, revDelimiterColumns)); 33040 }), 33041 $dillonkearns$elm_markdown$Markdown$TableParser$requirePipeIfNotFirst(revDelimiterColumns)), 33042 $dillonkearns$elm_markdown$Markdown$TableParser$chompSinglelineWhitespace), 33043 A2( 33044 $elm$parser$Parser$Advanced$ignorer, 33045 $elm$parser$Parser$Advanced$getChompedString( 33046 A2( 33047 $elm$parser$Parser$Advanced$ignorer, 33048 A2( 33049 $elm$parser$Parser$Advanced$ignorer, 33050 A2( 33051 $elm$parser$Parser$Advanced$ignorer, 33052 $elm$parser$Parser$Advanced$succeed(0), 33053 $dillonkearns$elm_markdown$Parser$Extra$maybeChomp( 33054 function (c) { 33055 return c === ':'; 33056 })), 33057 $dillonkearns$elm_markdown$Parser$Extra$chompOneOrMore( 33058 function (c) { 33059 return c === '-'; 33060 })), 33061 $dillonkearns$elm_markdown$Parser$Extra$maybeChomp( 33062 function (c) { 33063 return c === ':'; 33064 }))), 33065 $dillonkearns$elm_markdown$Markdown$TableParser$chompSinglelineWhitespace)) 33066 ])); 33067}; 33068var $dillonkearns$elm_markdown$Markdown$Block$AlignCenter = 2; 33069var $dillonkearns$elm_markdown$Markdown$Block$AlignLeft = 0; 33070var $dillonkearns$elm_markdown$Markdown$Block$AlignRight = 1; 33071var $dillonkearns$elm_markdown$Markdown$TableParser$delimiterToAlignment = function (cell) { 33072 var _v0 = _Utils_Tuple2( 33073 A2($elm$core$String$startsWith, ':', cell), 33074 A2($elm$core$String$endsWith, ':', cell)); 33075 if (_v0.a) { 33076 if (_v0.b) { 33077 return $elm$core$Maybe$Just(2); 33078 } else { 33079 return $elm$core$Maybe$Just(0); 33080 } 33081 } else { 33082 if (_v0.b) { 33083 return $elm$core$Maybe$Just(1); 33084 } else { 33085 return $elm$core$Maybe$Nothing; 33086 } 33087 } 33088}; 33089var $dillonkearns$elm_markdown$Markdown$TableParser$delimiterRowParser = A2( 33090 $elm$parser$Parser$Advanced$andThen, 33091 function (delimiterRow) { 33092 var trimmed = delimiterRow.a.e4; 33093 var headers = delimiterRow.b; 33094 return $elm$core$List$isEmpty(headers) ? $elm$parser$Parser$Advanced$problem( 33095 $elm$parser$Parser$Expecting('Must have at least one column in delimiter row.')) : ((($elm$core$List$length(headers) === 1) && (!(A2($elm$core$String$startsWith, '|', trimmed) && A2($elm$core$String$endsWith, '|', trimmed)))) ? $elm$parser$Parser$Advanced$problem( 33096 $elm$parser$Parser$Problem('Tables with a single column must have pipes at the start and end of the delimiter row to avoid ambiguity.')) : $elm$parser$Parser$Advanced$succeed(delimiterRow)); 33097 }, 33098 A2( 33099 $elm$parser$Parser$Advanced$mapChompedString, 33100 F2( 33101 function (delimiterText, revDelimiterColumns) { 33102 return A2( 33103 $dillonkearns$elm_markdown$Markdown$Table$TableDelimiterRow, 33104 { 33105 eM: delimiterText, 33106 e4: $elm$core$String$trim(delimiterText) 33107 }, 33108 A2( 33109 $elm$core$List$map, 33110 $dillonkearns$elm_markdown$Markdown$TableParser$delimiterToAlignment, 33111 $elm$core$List$reverse(revDelimiterColumns))); 33112 }), 33113 A2($elm$parser$Parser$Advanced$loop, _List_Nil, $dillonkearns$elm_markdown$Markdown$TableParser$delimiterRowHelp))); 33114var $dillonkearns$elm_markdown$Markdown$Parser$tableDelimiterInOpenParagraph = A2($elm$parser$Parser$Advanced$map, $dillonkearns$elm_markdown$Markdown$RawBlock$TableDelimiter, $dillonkearns$elm_markdown$Markdown$TableParser$delimiterRowParser); 33115var $elm$core$List$all = F2( 33116 function (isOkay, list) { 33117 return !A2( 33118 $elm$core$List$any, 33119 A2($elm$core$Basics$composeL, $elm$core$Basics$not, isOkay), 33120 list); 33121 }); 33122var $dillonkearns$elm_markdown$Markdown$TableParser$standardizeRowLength = F2( 33123 function (expectedLength, row) { 33124 var rowLength = $elm$core$List$length(row); 33125 var _v0 = A2($elm$core$Basics$compare, expectedLength, rowLength); 33126 switch (_v0) { 33127 case 0: 33128 return A2($elm$core$List$take, expectedLength, row); 33129 case 1: 33130 return row; 33131 default: 33132 return _Utils_ap( 33133 row, 33134 A2($elm$core$List$repeat, expectedLength - rowLength, '')); 33135 } 33136 }); 33137var $dillonkearns$elm_markdown$Markdown$TableParser$bodyRowParser = function (expectedRowLength) { 33138 return A2( 33139 $elm$parser$Parser$Advanced$andThen, 33140 function (row) { 33141 return ($elm$core$List$isEmpty(row) || A2($elm$core$List$all, $elm$core$String$isEmpty, row)) ? $elm$parser$Parser$Advanced$problem( 33142 $elm$parser$Parser$Problem('A line must have at least one column')) : $elm$parser$Parser$Advanced$succeed( 33143 A2($dillonkearns$elm_markdown$Markdown$TableParser$standardizeRowLength, expectedRowLength, row)); 33144 }, 33145 $dillonkearns$elm_markdown$Markdown$TableParser$rowParser); 33146}; 33147var $dillonkearns$elm_markdown$Markdown$Parser$tableRowIfTableStarted = function (_v0) { 33148 var headers = _v0.a; 33149 var body = _v0.b; 33150 return A2( 33151 $elm$parser$Parser$Advanced$map, 33152 function (row) { 33153 return $dillonkearns$elm_markdown$Markdown$RawBlock$Table( 33154 A2( 33155 $dillonkearns$elm_markdown$Markdown$Table$Table, 33156 headers, 33157 _Utils_ap( 33158 body, 33159 _List_fromArray( 33160 [row])))); 33161 }, 33162 $dillonkearns$elm_markdown$Markdown$TableParser$bodyRowParser( 33163 $elm$core$List$length(headers))); 33164}; 33165var $dillonkearns$elm_markdown$Markdown$Block$H1 = 0; 33166var $dillonkearns$elm_markdown$Markdown$Block$H2 = 1; 33167var $dillonkearns$elm_markdown$Markdown$Block$H3 = 2; 33168var $dillonkearns$elm_markdown$Markdown$Block$H4 = 3; 33169var $dillonkearns$elm_markdown$Markdown$Block$H5 = 4; 33170var $dillonkearns$elm_markdown$Markdown$Block$H6 = 5; 33171var $dillonkearns$elm_markdown$Markdown$Parser$toHeading = function (level) { 33172 switch (level) { 33173 case 1: 33174 return $elm$core$Result$Ok(0); 33175 case 2: 33176 return $elm$core$Result$Ok(1); 33177 case 3: 33178 return $elm$core$Result$Ok(2); 33179 case 4: 33180 return $elm$core$Result$Ok(3); 33181 case 5: 33182 return $elm$core$Result$Ok(4); 33183 case 6: 33184 return $elm$core$Result$Ok(5); 33185 default: 33186 return $elm$core$Result$Err( 33187 $elm$parser$Parser$Expecting( 33188 'A heading with 1 to 6 #\'s, but found ' + $elm$core$String$fromInt(level))); 33189 } 33190}; 33191var $dillonkearns$elm_markdown$Markdown$ListItem$EmptyItem = {$: 2}; 33192var $dillonkearns$elm_markdown$Markdown$ListItem$PlainItem = function (a) { 33193 return {$: 1, a: a}; 33194}; 33195var $dillonkearns$elm_markdown$Markdown$ListItem$TaskItem = F2( 33196 function (a, b) { 33197 return {$: 0, a: a, b: b}; 33198 }); 33199var $dillonkearns$elm_markdown$Markdown$UnorderedList$getIntendedCodeItem = F4( 33200 function (markerStartPos, listMarker, markerEndPos, _v0) { 33201 var bodyStartPos = _v0.a; 33202 var item = _v0.b; 33203 var spaceNum = bodyStartPos - markerEndPos;
33204 if (spaceNum <= 4) { 33205 return _Utils_Tuple3(listMarker, bodyStartPos - markerStartPos, item); 33206 } else { 33207 var intendedCodeItem = function () { 33208 switch (item.$) { 33209 case 0: 33210 var completion = item.a; 33211 var string = item.b; 33212 return A2( 33213 $dillonkearns$elm_markdown$Markdown$ListItem$TaskItem, 33214 completion, 33215 _Utils_ap( 33216 A2($elm$core$String$repeat, spaceNum - 1, ' '), 33217 string)); 33218 case 1: 33219 var string = item.a; 33220 return $dillonkearns$elm_markdown$Markdown$ListItem$PlainItem( 33221 _Utils_ap( 33222 A2($elm$core$String$repeat, spaceNum - 1, ' '), 33223 string)); 33224 default: 33225 return $dillonkearns$elm_markdown$Markdown$ListItem$EmptyItem; 33226 } 33227 }(); 33228 return _Utils_Tuple3(listMarker, (markerEndPos - markerStartPos) + 1, intendedCodeItem); 33229 } 33230 }); 33231var $dillonkearns$elm_markdown$Markdown$UnorderedList$unorderedListEmptyItemParser = A2( 33232 $elm$parser$Parser$Advanced$keeper, 33233 $elm$parser$Parser$Advanced$succeed( 33234 function (bodyStartPos) { 33235 return _Utils_Tuple2(bodyStartPos, $dillonkearns$elm_markdown$Markdown$ListItem$EmptyItem); 33236 }), 33237 A2($elm$parser$Parser$Advanced$ignorer, $elm$parser$Parser$Advanced$getCol, $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)); 33238var $dillonkearns$elm_markdown$Markdown$ListItem$Complete = 1; 33239var $dillonkearns$elm_markdown$Markdown$ListItem$Incomplete = 0; 33240var $dillonkearns$elm_markdown$Markdown$ListItem$taskItemParser = $elm$parser$Parser$Advanced$oneOf( 33241 _List_fromArray( 33242 [ 33243 A2( 33244 $elm$parser$Parser$Advanced$ignorer, 33245 $elm$parser$Parser$Advanced$succeed(1), 33246 $elm$parser$Parser$Advanced$symbol( 33247 A2( 33248 $elm$parser$Parser$Advanced$Token, 33249 '[x] ', 33250 $elm$parser$Parser$ExpectingSymbol('[x] ')))), 33251 A2( 33252 $elm$parser$Parser$Advanced$ignorer, 33253 $elm$parser$Parser$Advanced$succeed(1), 33254 $elm$parser$Parser$Advanced$symbol( 33255 A2( 33256 $elm$parser$Parser$Advanced$Token, 33257 '[X] ', 33258 $elm$parser$Parser$ExpectingSymbol('[X] ')))), 33259 A2( 33260 $elm$parser$Parser$Advanced$ignorer, 33261 $elm$parser$Parser$Advanced$succeed(0), 33262 $elm$parser$Parser$Advanced$symbol( 33263 A2( 33264 $elm$parser$Parser$Advanced$Token, 33265 '[ ] ', 33266 $elm$parser$Parser$ExpectingSymbol('[ ] ')))) 33267 ])); 33268var $dillonkearns$elm_markdown$Markdown$ListItem$parser = A2( 33269 $elm$parser$Parser$Advanced$keeper, 33270 $elm$parser$Parser$Advanced$oneOf( 33271 _List_fromArray( 33272 [ 33273 A2( 33274 $elm$parser$Parser$Advanced$keeper, 33275 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$ListItem$TaskItem), 33276 A2( 33277 $elm$parser$Parser$Advanced$ignorer, 33278 $dillonkearns$elm_markdown$Markdown$ListItem$taskItemParser, 33279 $elm$parser$Parser$Advanced$chompWhile($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab))), 33280 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$ListItem$PlainItem) 33281 ])), 33282 A2( 33283 $elm$parser$Parser$Advanced$ignorer, 33284 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 33285 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)); 33286var $dillonkearns$elm_markdown$Markdown$UnorderedList$unorderedListItemBodyParser = A2( 33287 $elm$parser$Parser$Advanced$keeper, 33288 A2( 33289 $elm$parser$Parser$Advanced$keeper, 33290 A2( 33291 $elm$parser$Parser$Advanced$ignorer, 33292 $elm$parser$Parser$Advanced$succeed( 33293 F2( 33294 function (bodyStartPos, item) { 33295 return _Utils_Tuple2(bodyStartPos, item); 33296 })), 33297 $dillonkearns$elm_markdown$Parser$Extra$chompOneOrMore($dillonkearns$elm_markdown$Whitespace$isSpaceOrTab)), 33298 $elm$parser$Parser$Advanced$getCol), 33299 $dillonkearns$elm_markdown$Markdown$ListItem$parser); 33300var $dillonkearns$elm_markdown$Markdown$UnorderedList$Asterisk = 2; 33301var $dillonkearns$elm_markdown$Markdown$UnorderedList$Minus = 0; 33302var $dillonkearns$elm_markdown$Markdown$UnorderedList$Plus = 1; 33303var $dillonkearns$elm_markdown$Markdown$UnorderedList$unorderedListMarkerParser = $elm$parser$Parser$Advanced$oneOf( 33304 _List_fromArray( 33305 [ 33306 A2( 33307 $elm$parser$Parser$Advanced$ignorer, 33308 A2( 33309 $elm$parser$Parser$Advanced$ignorer, 33310 $elm$parser$Parser$Advanced$succeed(0), 33311 A2($dillonkearns$elm_markdown$Parser$Extra$upTo, 3, $dillonkearns$elm_markdown$Whitespace$space)), 33312 $elm$parser$Parser$Advanced$symbol( 33313 A2( 33314 $elm$parser$Parser$Advanced$Token, 33315 '-', 33316 $elm$parser$Parser$ExpectingSymbol('-')))), 33317 A2( 33318 $elm$parser$Parser$Advanced$ignorer, 33319 $elm$parser$Parser$Advanced$succeed(1), 33320 $elm$parser$Parser$Advanced$symbol( 33321 A2( 33322 $elm$parser$Parser$Advanced$Token, 33323 '+', 33324 $elm$parser$Parser$ExpectingSymbol('+')))), 33325 A2( 33326 $elm$parser$Parser$Advanced$ignorer, 33327 $elm$parser$Parser$Advanced$succeed(2), 33328 $elm$parser$Parser$Advanced$symbol( 33329 A2( 33330 $elm$parser$Parser$Advanced$Token, 33331 '*', 33332 $elm$parser$Parser$ExpectingSymbol('*')))) 33333 ])); 33334var $dillonkearns$elm_markdown$Markdown$UnorderedList$parser = function (previousWasBody) { 33335 return A2( 33336 $elm$parser$Parser$Advanced$keeper, 33337 A2( 33338 $elm$parser$Parser$Advanced$keeper, 33339 A2( 33340 $elm$parser$Parser$Advanced$keeper, 33341 A2( 33342 $elm$parser$Parser$Advanced$keeper, 33343 $elm$parser$Parser$Advanced$succeed($dillonkearns$elm_markdown$Markdown$UnorderedList$getIntendedCodeItem), 33344 $elm$parser$Parser$Advanced$getCol), 33345 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$UnorderedList$unorderedListMarkerParser)), 33346 $elm$parser$Parser$Advanced$getCol), 33347 previousWasBody ? $dillonkearns$elm_markdown$Markdown$UnorderedList$unorderedListItemBodyParser : $elm$parser$Parser$Advanced$oneOf( 33348 _List_fromArray( 33349 [$dillonkearns$elm_markdown$Markdown$UnorderedList$unorderedListEmptyItemParser, $dillonkearns$elm_markdown$Markdown$UnorderedList$unorderedListItemBodyParser]))); 33350}; 33351var $dillonkearns$elm_markdown$Markdown$Parser$unorderedListBlock = function (previousWasBody) { 33352 var parseListItem = F2( 33353 function (listmarker, unparsedListItem) { 33354 switch (unparsedListItem.$) { 33355 case 0: 33356 var completion = unparsedListItem.a; 33357 var body = unparsedListItem.b; 33358 return { 33359 fe: body, 33360 fP: listmarker, 33361 k: $elm$core$Maybe$Just( 33362 function () { 33363 if (completion === 1) { 33364 return true; 33365 } else { 33366 return false;
33367 } 33368 }()) 33369 }; 33370 case 1: 33371 var body = unparsedListItem.a; 33372 return {fe: body, fP: listmarker, k: $elm$core$Maybe$Nothing}; 33373 default: 33374 return {fe: '', fP: listmarker, k: $elm$core$Maybe$Nothing}; 33375 } 33376 }); 33377 return A2( 33378 $elm$parser$Parser$Advanced$map, 33379 function (_v0) { 33380 var listmarker = _v0.a; 33381 var intended = _v0.b; 33382 var unparsedListItem = _v0.c; 33383 return A4( 33384 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 33385 true, 33386 intended, 33387 _List_Nil, 33388 A2(parseListItem, listmarker, unparsedListItem)); 33389 }, 33390 $dillonkearns$elm_markdown$Markdown$UnorderedList$parser(previousWasBody)); 33391}; 33392var $dillonkearns$elm_markdown$Markdown$Parser$childToBlocks = F2( 33393 function (node, blocks) { 33394 switch (node.$) { 33395 case 0: 33396 var tag = node.a; 33397 var attributes = node.b; 33398 var children = node.c; 33399 var _v106 = $dillonkearns$elm_markdown$Markdown$Parser$nodesToBlocks(children); 33400 if (!_v106.$) { 33401 var childrenAsBlocks = _v106.a; 33402 var block = $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock( 33403 A3($dillonkearns$elm_markdown$Markdown$Block$HtmlElement, tag, attributes, childrenAsBlocks)); 33404 return $elm$core$Result$Ok( 33405 A2($elm$core$List$cons, block, blocks)); 33406 } else { 33407 var err = _v106.a; 33408 return $elm$core$Result$Err(err); 33409 } 33410 case 1: 33411 var innerText = node.a; 33412 var _v107 = $dillonkearns$elm_markdown$Markdown$Parser$parse(innerText); 33413 if (!_v107.$) { 33414 var value = _v107.a; 33415 return $elm$core$Result$Ok( 33416 _Utils_ap( 33417 $elm$core$List$reverse(value), 33418 blocks)); 33419 } else { 33420 var error = _v107.a; 33421 return $elm$core$Result$Err( 33422 $elm$parser$Parser$Expecting( 33423 A2( 33424 $elm$core$String$join, 33425 '\n', 33426 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$deadEndToString, error)))); 33427 } 33428 case 2: 33429 var string = node.a; 33430 return $elm$core$Result$Ok( 33431 A2( 33432 $elm$core$List$cons, 33433 $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock( 33434 $dillonkearns$elm_markdown$Markdown$Block$HtmlComment(string)), 33435 blocks)); 33436 case 3: 33437 var string = node.a; 33438 return $elm$core$Result$Ok( 33439 A2( 33440 $elm$core$List$cons, 33441 $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock( 33442 $dillonkearns$elm_markdown$Markdown$Block$Cdata(string)), 33443 blocks)); 33444 case 4: 33445 var string = node.a; 33446 return $elm$core$Result$Ok( 33447 A2( 33448 $elm$core$List$cons, 33449 $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock( 33450 $dillonkearns$elm_markdown$Markdown$Block$ProcessingInstruction(string)), 33451 blocks)); 33452 default: 33453 var declarationType = node.a; 33454 var content = node.b; 33455 return $elm$core$Result$Ok( 33456 A2( 33457 $elm$core$List$cons, 33458 $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock( 33459 A2($dillonkearns$elm_markdown$Markdown$Block$HtmlDeclaration, declarationType, content)), 33460 blocks)); 33461 } 33462 }); 33463var $dillonkearns$elm_markdown$Markdown$Parser$completeBlocks = function (state) { 33464 var _v91 = state.b; 33465 _v91$5: 33466 while (true) { 33467 if (_v91.b) { 33468 switch (_v91.a.$) { 33469 case 11: 33470 var body2 = _v91.a.a; 33471 var rest = _v91.b; 33472 var _v92 = A2( 33473 $elm$parser$Parser$Advanced$run, 33474 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33475 body2); 33476 if (!_v92.$) { 33477 var value = _v92.a; 33478 return $elm$parser$Parser$Advanced$succeed( 33479 { 33480 a: _Utils_ap(state.a, value.a), 33481 b: A2( 33482 $elm$core$List$cons, 33483 $dillonkearns$elm_markdown$Markdown$RawBlock$ParsedBlockQuote(value.b), 33484 rest) 33485 }); 33486 } else { 33487 var error = _v92.a; 33488 return $elm$parser$Parser$Advanced$problem( 33489 $elm$parser$Parser$Problem( 33490 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(error))); 33491 } 33492 case 3: 33493 var _v93 = _v91.a; 33494 var tight = _v93.a; 33495 var intended = _v93.b; 33496 var closeListItems = _v93.c; 33497 var openListItem = _v93.d; 33498 var rest = _v91.b; 33499 var _v94 = A2( 33500 $elm$parser$Parser$Advanced$run, 33501 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33502 openListItem.fe); 33503 if (!_v94.$) { 33504 var value = _v94.a; 33505 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 33506 return $elm$parser$Parser$Advanced$succeed( 33507 { 33508 a: _Utils_ap(state.a, value.a), 33509 b: A2( 33510 $elm$core$List$cons, 33511 A4( 33512 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 33513 tight2, 33514 intended, 33515 A2( 33516 $elm$core$List$cons, 33517 {fe: value.b, k: openListItem.k}, 33518 closeListItems), 33519 openListItem),
33520 rest) 33521 }); 33522 } else { 33523 var e = _v94.a; 33524 return $elm$parser$Parser$Advanced$problem( 33525 $elm$parser$Parser$Problem( 33526 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33527 } 33528 case 4: 33529 var _v99 = _v91.a; 33530 var tight = _v99.a; 33531 var intended = _v99.b; 33532 var marker = _v99.c; 33533 var order = _v99.d; 33534 var closeListItems = _v99.e; 33535 var openListItem = _v99.f; 33536 var rest = _v91.b; 33537 var _v100 = A2( 33538 $elm$parser$Parser$Advanced$run, 33539 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33540 openListItem); 33541 if (!_v100.$) { 33542 var value = _v100.a; 33543 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 33544 return $elm$parser$Parser$Advanced$succeed( 33545 { 33546 a: _Utils_ap(state.a, value.a), 33547 b: A2( 33548 $elm$core$List$cons, 33549 A6( 33550 $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, 33551 tight2, 33552 intended, 33553 marker, 33554 order, 33555 A2($elm$core$List$cons, value.b, closeListItems), 33556 openListItem), 33557 rest) 33558 }); 33559 } else { 33560 var e = _v100.a; 33561 return $elm$parser$Parser$Advanced$problem( 33562 $elm$parser$Parser$Problem( 33563 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33564 } 33565 case 10: 33566 if (_v91.b.b) { 33567 switch (_v91.b.a.$) { 33568 case 3: 33569 var _v95 = _v91.a; 33570 var _v96 = _v91.b; 33571 var _v97 = _v96.a; 33572 var tight = _v97.a; 33573 var intended = _v97.b; 33574 var closeListItems = _v97.c; 33575 var openListItem = _v97.d; 33576 var rest = _v96.b; 33577 var _v98 = A2( 33578 $elm$parser$Parser$Advanced$run, 33579 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33580 openListItem.fe); 33581 if (!_v98.$) { 33582 var value = _v98.a; 33583 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 33584 return $elm$parser$Parser$Advanced$succeed( 33585 { 33586 a: _Utils_ap(state.a, value.a), 33587 b: A2( 33588 $elm$core$List$cons, 33589 A4( 33590 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 33591 tight2, 33592 intended, 33593 A2( 33594 $elm$core$List$cons, 33595 {fe: value.b, k: openListItem.k}, 33596 closeListItems), 33597 openListItem), 33598 rest) 33599 }); 33600 } else { 33601 var e = _v98.a; 33602 return $elm$parser$Parser$Advanced$problem( 33603 $elm$parser$Parser$Problem( 33604 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33605 } 33606 case 4: 33607 var _v101 = _v91.a; 33608 var _v102 = _v91.b; 33609 var _v103 = _v102.a; 33610 var tight = _v103.a; 33611 var intended = _v103.b; 33612 var marker = _v103.c; 33613 var order = _v103.d; 33614 var closeListItems = _v103.e; 33615 var openListItem = _v103.f; 33616 var rest = _v102.b; 33617 var _v104 = A2( 33618 $elm$parser$Parser$Advanced$run, 33619 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33620 openListItem); 33621 if (!_v104.$) { 33622 var value = _v104.a; 33623 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 33624 return $elm$parser$Parser$Advanced$succeed( 33625 { 33626 a: _Utils_ap(state.a, value.a), 33627 b: A2( 33628 $elm$core$List$cons, 33629 A6( 33630 $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, 33631 tight2, 33632 intended, 33633 marker, 33634 order, 33635 A2($elm$core$List$cons, value.b, closeListItems), 33636 openListItem), 33637 rest) 33638 }); 33639 } else { 33640 var e = _v104.a; 33641 return $elm$parser$Parser$Advanced$problem( 33642 $elm$parser$Parser$Problem( 33643 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33644 } 33645 default: 33646 break _v91$5; 33647 } 33648 } else { 33649 break _v91$5; 33650 } 33651 default: 33652 break _v91$5; 33653 } 33654 } else { 33655 break _v91$5; 33656 } 33657 } 33658 return $elm$parser$Parser$Advanced$succeed(state); 33659}; 33660var $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks = F2( 33661 function (state, newRawBlock) { 33662 var _v41 = _Utils_Tuple2(newRawBlock, state.b); 33663 _v41$13: 33664 while (true) { 33665 if (_v41.b.b) { 33666 switch (_v41.b.a.$) { 33667 case 5: 33668 if (_v41.a.$ === 5) { 33669 var block1 = _v41.a.a; 33670 var _v42 = _v41.b; 33671 var block2 = _v42.a.a; 33672 var rest = _v42.b; 33673 return $elm$parser$Parser$Advanced$succeed( 33674 { 33675 a: state.a, 33676 b: A2( 33677 $elm$core$List$cons, 33678 $dillonkearns$elm_markdown$Markdown$RawBlock$CodeBlock( 33679 { 33680 fe: A2($dillonkearns$elm_markdown$Markdown$Parser$joinStringsPreserveAll, block2.fe, block1.fe), 33681 fK: $elm$core$Maybe$Nothing 33682 }), 33683 rest) 33684 }); 33685 } else { 33686 break _v41$13; 33687 } 33688 case 6: 33689 switch (_v41.a.$) { 33690 case 6: 33691 var block1 = _v41.a.a; 33692 var _v43 = _v41.b; 33693 var block2 = _v43.a.a; 33694 var rest = _v43.b; 33695 return $elm$parser$Parser$Advanced$succeed( 33696 { 33697 a: state.a, 33698 b: A2( 33699 $elm$core$List$cons, 33700 $dillonkearns$elm_markdown$Markdown$RawBlock$IndentedCodeBlock( 33701 A2($dillonkearns$elm_markdown$Markdown$Parser$joinStringsPreserveAll, block2, block1)), 33702 rest) 33703 }); 33704 case 10: 33705 var _v44 = _v41.a; 33706 var _v45 = _v41.b; 33707 var block = _v45.a.a; 33708 var rest = _v45.b; 33709 return $elm$parser$Parser$Advanced$succeed( 33710 { 33711 a: state.a, 33712 b: A2( 33713 $elm$core$List$cons, 33714 $dillonkearns$elm_markdown$Markdown$RawBlock$IndentedCodeBlock( 33715 A2($dillonkearns$elm_markdown$Markdown$Parser$joinStringsPreserveAll, block, '\n')), 33716 rest) 33717 }); 33718 default: 33719 break _v41$13; 33720 } 33721 case 11: 33722 var _v46 = _v41.b; 33723 var body2 = _v46.a.a; 33724 var rest = _v46.b; 33725 switch (newRawBlock.$) { 33726 case 11: 33727 var body1 = newRawBlock.a; 33728 return $elm$parser$Parser$Advanced$succeed( 33729 { 33730 a: state.a, 33731 b: A2( 33732 $elm$core$List$cons, 33733 $dillonkearns$elm_markdown$Markdown$RawBlock$BlockQuote( 33734 A2($dillonkearns$elm_markdown$Markdown$Parser$joinStringsPreserveAll, body2, body1)), 33735 rest) 33736 }); 33737 case 1: 33738 var body1 = newRawBlock.a; 33739 var _v48 = A2( 33740 $elm$parser$Parser$Advanced$run, 33741 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33742 body2); 33743 if (!_v48.$) { 33744 var value = _v48.a; 33745 var _v49 = value.b; 33746 if (_v49.b) { 33747 var last = _v49.a; 33748 if ($dillonkearns$elm_markdown$Markdown$Parser$endWithOpenBlockOrParagraph(last) && (!A2($elm$core$String$endsWith, '\n', body2))) { 33749 return $elm$parser$Parser$Advanced$succeed( 33750 { 33751 a: state.a, 33752 b: A2( 33753 $elm$core$List$cons, 33754 $dillonkearns$elm_markdown$Markdown$RawBlock$BlockQuote( 33755 A2($dillonkearns$elm_markdown$Markdown$Parser$joinStringsPreserveAll, body2, body1)), 33756 rest) 33757 }); 33758 } else { 33759 var _v50 = A2( 33760 $elm$parser$Parser$Advanced$run, 33761 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33762 body2); 33763 if (!_v50.$) { 33764 var value1 = _v50.a; 33765 return $elm$parser$Parser$Advanced$succeed( 33766 { 33767 a: _Utils_ap(state.a, value.a), 33768 b: A2( 33769 $elm$core$List$cons, 33770 newRawBlock,
33771 A2( 33772 $elm$core$List$cons, 33773 $dillonkearns$elm_markdown$Markdown$RawBlock$ParsedBlockQuote(value1.b), 33774 rest)) 33775 }); 33776 } else { 33777 var e1 = _v50.a; 33778 return $elm$parser$Parser$Advanced$problem( 33779 $elm$parser$Parser$Problem( 33780 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e1))); 33781 } 33782 } 33783 } else { 33784 var _v51 = A2( 33785 $elm$parser$Parser$Advanced$run, 33786 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33787 body2); 33788 if (!_v51.$) { 33789 var value1 = _v51.a; 33790 return $elm$parser$Parser$Advanced$succeed( 33791 { 33792 a: _Utils_ap(state.a, value.a), 33793 b: A2( 33794 $elm$core$List$cons, 33795 newRawBlock, 33796 A2( 33797 $elm$core$List$cons, 33798 $dillonkearns$elm_markdown$Markdown$RawBlock$ParsedBlockQuote(value1.b), 33799 rest)) 33800 }); 33801 } else { 33802 var e1 = _v51.a; 33803 return $elm$parser$Parser$Advanced$problem( 33804 $elm$parser$Parser$Problem( 33805 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e1))); 33806 } 33807 } 33808 } else { 33809 var e = _v48.a; 33810 return $elm$parser$Parser$Advanced$problem( 33811 $elm$parser$Parser$Problem( 33812 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33813 } 33814 case 6: 33815 var body1 = newRawBlock.a; 33816 var _v52 = A2( 33817 $elm$parser$Parser$Advanced$run, 33818 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33819 body2); 33820 if (!_v52.$) { 33821 var value = _v52.a; 33822 var _v53 = value.b; 33823 if (_v53.b && (_v53.a.$ === 1)) { 33824 return $elm$parser$Parser$Advanced$succeed( 33825 { 33826 a: state.a, 33827 b: A2( 33828 $elm$core$List$cons, 33829 $dillonkearns$elm_markdown$Markdown$RawBlock$BlockQuote( 33830 A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, ' ', body2, body1)), 33831 rest) 33832 }); 33833 } else { 33834 var _v54 = A2( 33835 $elm$parser$Parser$Advanced$run, 33836 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33837 body2); 33838 if (!_v54.$) { 33839 var value1 = _v54.a; 33840 return $elm$parser$Parser$Advanced$succeed( 33841 { 33842 a: _Utils_ap(state.a, value.a), 33843 b: A2( 33844 $elm$core$List$cons, 33845 newRawBlock, 33846 A2( 33847 $elm$core$List$cons, 33848 $dillonkearns$elm_markdown$Markdown$RawBlock$ParsedBlockQuote(value1.b), 33849 rest)) 33850 }); 33851 } else { 33852 var e1 = _v54.a; 33853 return $elm$parser$Parser$Advanced$problem( 33854 $elm$parser$Parser$Problem( 33855 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e1))); 33856 } 33857 } 33858 } else { 33859 var e = _v52.a; 33860 return $elm$parser$Parser$Advanced$problem( 33861 $elm$parser$Parser$Problem( 33862 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33863 } 33864 default: 33865 var _v55 = A2( 33866 $elm$parser$Parser$Advanced$run, 33867 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33868 body2); 33869 if (!_v55.$) { 33870 var value = _v55.a; 33871 return $elm$parser$Parser$Advanced$succeed( 33872 { 33873 a: _Utils_ap(state.a, value.a), 33874 b: A2( 33875 $elm$core$List$cons, 33876 newRawBlock, 33877 A2( 33878 $elm$core$List$cons, 33879 $dillonkearns$elm_markdown$Markdown$RawBlock$ParsedBlockQuote(value.b), 33880 rest)) 33881 }); 33882 } else { 33883 var e = _v55.a; 33884 return $elm$parser$Parser$Advanced$problem( 33885 $elm$parser$Parser$Problem( 33886 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33887 } 33888 } 33889 case 3: 33890 var _v56 = _v41.b; 33891 var _v57 = _v56.a; 33892 var tight = _v57.a; 33893 var intended1 = _v57.b; 33894 var closeListItems2 = _v57.c; 33895 var openListItem2 = _v57.d; 33896 var rest = _v56.b;
33897 switch (newRawBlock.$) { 33898 case 3: 33899 var intended2 = newRawBlock.b; 33900 var openListItem1 = newRawBlock.d; 33901 if (_Utils_eq(openListItem2.fP, openListItem1.fP)) { 33902 var _v59 = A2( 33903 $elm$parser$Parser$Advanced$run, 33904 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33905 openListItem2.fe); 33906 if (!_v59.$) { 33907 var value = _v59.a; 33908 return A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? $elm$parser$Parser$Advanced$succeed( 33909 { 33910 a: _Utils_ap(state.a, value.a), 33911 b: A2( 33912 $elm$core$List$cons, 33913 A4( 33914 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 33915 false, 33916 intended2, 33917 A2( 33918 $elm$core$List$cons, 33919 {fe: value.b, k: openListItem2.k}, 33920 closeListItems2), 33921 openListItem1), 33922 rest) 33923 }) : $elm$parser$Parser$Advanced$succeed( 33924 { 33925 a: _Utils_ap(state.a, value.a), 33926 b: A2( 33927 $elm$core$List$cons, 33928 A4( 33929 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 33930 tight, 33931 intended2, 33932 A2( 33933 $elm$core$List$cons, 33934 {fe: value.b, k: openListItem2.k}, 33935 closeListItems2), 33936 openListItem1), 33937 rest) 33938 }); 33939 } else { 33940 var e = _v59.a; 33941 return $elm$parser$Parser$Advanced$problem( 33942 $elm$parser$Parser$Problem( 33943 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33944 } 33945 } else { 33946 var _v60 = A2( 33947 $elm$parser$Parser$Advanced$run, 33948 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 33949 openListItem2.fe); 33950 if (!_v60.$) { 33951 var value = _v60.a; 33952 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 33953 return $elm$parser$Parser$Advanced$succeed( 33954 { 33955 a: _Utils_ap(state.a, value.a), 33956 b: A2( 33957 $elm$core$List$cons, 33958 newRawBlock, 33959 A2( 33960 $elm$core$List$cons, 33961 A4( 33962 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 33963 tight2, 33964 intended1, 33965 A2( 33966 $elm$core$List$cons, 33967 {fe: value.b, k: openListItem2.k}, 33968 closeListItems2), 33969 openListItem1), 33970 rest)) 33971 }); 33972 } else { 33973 var e = _v60.a; 33974 return $elm$parser$Parser$Advanced$problem( 33975 $elm$parser$Parser$Problem( 33976 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 33977 } 33978 } 33979 case 1: 33980 var body1 = newRawBlock.a; 33981 return $elm$parser$Parser$Advanced$succeed( 33982 { 33983 a: state.a, 33984 b: A2( 33985 $elm$core$List$cons, 33986 A4( 33987 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 33988 tight, 33989 intended1, 33990 closeListItems2, 33991 _Utils_update( 33992 openListItem2, 33993 { 33994 fe: A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, '\n', openListItem2.fe, body1) 33995 })), 33996 rest) 33997 }); 33998 default: 33999 var _v61 = A2( 34000 $elm$parser$Parser$Advanced$run, 34001 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 34002 openListItem2.fe); 34003 if (!_v61.$) { 34004 var value = _v61.a; 34005 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 34006 return $elm$parser$Parser$Advanced$succeed( 34007 { 34008 a: _Utils_ap(state.a, value.a), 34009 b: A2( 34010 $elm$core$List$cons, 34011 newRawBlock, 34012 A2( 34013 $elm$core$List$cons, 34014 A4( 34015 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 34016 tight2, 34017 intended1, 34018 A2( 34019 $elm$core$List$cons, 34020 {fe: value.b, k: openListItem2.k}, 34021 closeListItems2), 34022 openListItem2), 34023 rest)) 34024 }); 34025 } else { 34026 var e = _v61.a; 34027 return $elm$parser$Parser$Advanced$problem( 34028 $elm$parser$Parser$Problem( 34029 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 34030 } 34031 } 34032 case 4: 34033 var _v62 = _v41.b; 34034 var _v63 = _v62.a; 34035 var tight = _v63.a; 34036 var intended1 = _v63.b; 34037 var marker = _v63.c; 34038 var order = _v63.d; 34039 var closeListItems2 = _v63.e; 34040 var openListItem2 = _v63.f; 34041 var rest = _v62.b; 34042 switch (newRawBlock.$) { 34043 case 4: 34044 var intended2 = newRawBlock.b; 34045 var marker2 = newRawBlock.c; 34046 var openListItem1 = newRawBlock.f;
34047 if (_Utils_eq(marker, marker2)) { 34048 var _v65 = A2( 34049 $elm$parser$Parser$Advanced$run, 34050 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 34051 openListItem2); 34052 if (!_v65.$) { 34053 var value = _v65.a; 34054 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 34055 return $elm$parser$Parser$Advanced$succeed( 34056 { 34057 a: _Utils_ap(state.a, value.a), 34058 b: A2( 34059 $elm$core$List$cons, 34060 A6( 34061 $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, 34062 tight2, 34063 intended2, 34064 marker, 34065 order, 34066 A2($elm$core$List$cons, value.b, closeListItems2), 34067 openListItem1), 34068 rest) 34069 }); 34070 } else { 34071 var e = _v65.a; 34072 return $elm$parser$Parser$Advanced$problem( 34073 $elm$parser$Parser$Problem( 34074 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 34075 } 34076 } else { 34077 var _v66 = A2( 34078 $elm$parser$Parser$Advanced$run, 34079 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 34080 openListItem2); 34081 if (!_v66.$) { 34082 var value = _v66.a; 34083 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 34084 return $elm$parser$Parser$Advanced$succeed( 34085 { 34086 a: _Utils_ap(state.a, value.a), 34087 b: A2( 34088 $elm$core$List$cons, 34089 newRawBlock, 34090 A2( 34091 $elm$core$List$cons, 34092 A6( 34093 $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, 34094 tight2, 34095 intended1, 34096 marker, 34097 order, 34098 A2($elm$core$List$cons, value.b, closeListItems2), 34099 openListItem2), 34100 rest)) 34101 }); 34102 } else { 34103 var e = _v66.a; 34104 return $elm$parser$Parser$Advanced$problem( 34105 $elm$parser$Parser$Problem( 34106 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 34107 } 34108 } 34109 case 1: 34110 var body1 = newRawBlock.a; 34111 return $elm$parser$Parser$Advanced$succeed( 34112 { 34113 a: state.a, 34114 b: A2( 34115 $elm$core$List$cons, 34116 A6($dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, tight, intended1, marker, order, closeListItems2, openListItem2 + ('\n' + body1)), 34117 rest) 34118 }); 34119 default: 34120 var _v67 = A2( 34121 $elm$parser$Parser$Advanced$run, 34122 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 34123 openListItem2); 34124 if (!_v67.$) { 34125 var value = _v67.a; 34126 var tight2 = A2($elm$core$List$member, $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, value.b) ? false : tight; 34127 return $elm$parser$Parser$Advanced$succeed( 34128 { 34129 a: _Utils_ap(state.a, value.a), 34130 b: A2( 34131 $elm$core$List$cons, 34132 newRawBlock, 34133 A2( 34134 $elm$core$List$cons, 34135 A6( 34136 $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, 34137 tight2, 34138 intended1, 34139 marker, 34140 order, 34141 A2($elm$core$List$cons, value.b, closeListItems2), 34142 openListItem2), 34143 rest)) 34144 }); 34145 } else { 34146 var e = _v67.a; 34147 return $elm$parser$Parser$Advanced$problem( 34148 $elm$parser$Parser$Problem( 34149 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 34150 } 34151 } 34152 case 1: 34153 switch (_v41.a.$) { 34154 case 1: 34155 var body1 = _v41.a.a; 34156 var _v68 = _v41.b; 34157 var body2 = _v68.a.a; 34158 var rest = _v68.b; 34159 return $elm$parser$Parser$Advanced$succeed( 34160 { 34161 a: state.a, 34162 b: A2( 34163 $elm$core$List$cons, 34164 $dillonkearns$elm_markdown$Markdown$RawBlock$OpenBlockOrParagraph( 34165 A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, '\n', body2, body1)), 34166 rest) 34167 }); 34168 case 13: 34169 if (!_v41.a.a) { 34170 var _v69 = _v41.a; 34171 var _v70 = _v69.a; 34172 var _v71 = _v41.b; 34173 var unparsedInlines = _v71.a.a; 34174 var rest = _v71.b;
34175 return $elm$parser$Parser$Advanced$succeed( 34176 { 34177 a: state.a, 34178 b: A2( 34179 $elm$core$List$cons, 34180 A2($dillonkearns$elm_markdown$Markdown$RawBlock$Heading, 1, unparsedInlines), 34181 rest) 34182 }); 34183 } else { 34184 var _v72 = _v41.a; 34185 var _v73 = _v72.a; 34186 var _v74 = _v41.b; 34187 var unparsedInlines = _v74.a.a; 34188 var rest = _v74.b; 34189 return $elm$parser$Parser$Advanced$succeed( 34190 { 34191 a: state.a, 34192 b: A2( 34193 $elm$core$List$cons, 34194 A2($dillonkearns$elm_markdown$Markdown$RawBlock$Heading, 2, unparsedInlines), 34195 rest) 34196 }); 34197 } 34198 case 9: 34199 var _v75 = _v41.a.a; 34200 var text = _v75.a; 34201 var alignments = _v75.b; 34202 var _v76 = _v41.b; 34203 var rawHeaders = _v76.a.a; 34204 var rest = _v76.b; 34205 var _v77 = A2( 34206 $dillonkearns$elm_markdown$Markdown$TableParser$parseHeader, 34207 A2($dillonkearns$elm_markdown$Markdown$Table$TableDelimiterRow, text, alignments), 34208 rawHeaders); 34209 if (!_v77.$) { 34210 var headers = _v77.a; 34211 return $elm$parser$Parser$Advanced$succeed( 34212 { 34213 a: state.a, 34214 b: A2( 34215 $elm$core$List$cons, 34216 $dillonkearns$elm_markdown$Markdown$RawBlock$Table( 34217 A2($dillonkearns$elm_markdown$Markdown$Table$Table, headers, _List_Nil)), 34218 rest) 34219 }); 34220 } else { 34221 return $elm$parser$Parser$Advanced$succeed( 34222 { 34223 a: state.a, 34224 b: A2( 34225 $elm$core$List$cons, 34226 $dillonkearns$elm_markdown$Markdown$RawBlock$OpenBlockOrParagraph( 34227 A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, '\n', rawHeaders, text.eM)), 34228 rest) 34229 }); 34230 } 34231 default: 34232 break _v41$13; 34233 } 34234 case 8: 34235 if (_v41.a.$ === 8) { 34236 var updatedTable = _v41.a.a; 34237 var _v78 = _v41.b; 34238 var rest = _v78.b; 34239 return $elm$parser$Parser$Advanced$succeed( 34240 { 34241 a: state.a, 34242 b: A2( 34243 $elm$core$List$cons, 34244 $dillonkearns$elm_markdown$Markdown$RawBlock$Table(updatedTable), 34245 rest) 34246 }); 34247 } else { 34248 break _v41$13; 34249 } 34250 case 10: 34251 if (_v41.b.b.b) { 34252 switch (_v41.b.b.a.$) { 34253 case 4: 34254 var _v79 = _v41.b; 34255 var _v80 = _v79.a; 34256 var _v81 = _v79.b; 34257 var _v82 = _v81.a; 34258 var tight = _v82.a; 34259 var intended1 = _v82.b; 34260 var marker = _v82.c; 34261 var order = _v82.d; 34262 var closeListItems2 = _v82.e; 34263 var openListItem2 = _v82.f; 34264 var rest = _v81.b; 34265 var _v83 = A2( 34266 $elm$parser$Parser$Advanced$run, 34267 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 34268 openListItem2); 34269 if (!_v83.$) { 34270 var value = _v83.a; 34271 if (newRawBlock.$ === 4) { 34272 var intended2 = newRawBlock.b; 34273 var openListItem = newRawBlock.f; 34274 return $elm$parser$Parser$Advanced$succeed( 34275 { 34276 a: _Utils_ap(state.a, value.a), 34277 b: A2( 34278 $elm$core$List$cons, 34279 A6( 34280 $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, 34281 false, 34282 intended2, 34283 marker, 34284 order, 34285 A2($elm$core$List$cons, value.b, closeListItems2), 34286 openListItem), 34287 rest) 34288 }); 34289 } else { 34290 return $elm$parser$Parser$Advanced$succeed( 34291 { 34292 a: _Utils_ap(state.a, value.a), 34293 b: A2( 34294 $elm$core$List$cons, 34295 newRawBlock, 34296 A2( 34297 $elm$core$List$cons, 34298 $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, 34299 A2( 34300 $elm$core$List$cons, 34301 A6( 34302 $dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, 34303 tight, 34304 intended1, 34305 marker, 34306 order, 34307 A2($elm$core$List$cons, value.b, closeListItems2), 34308 openListItem2), 34309 rest))) 34310 }); 34311 } 34312 } else { 34313 var e = _v83.a; 34314 return $elm$parser$Parser$Advanced$problem( 34315 $elm$parser$Parser$Problem( 34316 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 34317 } 34318 case 3: 34319 var _v85 = _v41.b; 34320 var _v86 = _v85.a; 34321 var _v87 = _v85.b; 34322 var _v88 = _v87.a; 34323 var tight = _v88.a; 34324 var intended1 = _v88.b; 34325 var closeListItems2 = _v88.c; 34326 var openListItem2 = _v88.d; 34327 var rest = _v87.b; 34328 var _v89 = A2( 34329 $elm$parser$Parser$Advanced$run, 34330 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 34331 openListItem2.fe); 34332 if (!_v89.$) { 34333 var value = _v89.a; 34334 if (newRawBlock.$ === 3) { 34335 var openListItem = newRawBlock.d; 34336 return $elm$parser$Parser$Advanced$succeed( 34337 { 34338 a: _Utils_ap(state.a, value.a), 34339 b: A2( 34340 $elm$core$List$cons, 34341 A4( 34342 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 34343 false, 34344 intended1, 34345 A2( 34346 $elm$core$List$cons, 34347 {fe: value.b, k: openListItem2.k}, 34348 closeListItems2), 34349 openListItem),
34350 rest) 34351 }); 34352 } else { 34353 return $elm$parser$Parser$Advanced$succeed( 34354 { 34355 a: _Utils_ap(state.a, value.a), 34356 b: A2( 34357 $elm$core$List$cons, 34358 newRawBlock, 34359 A2( 34360 $elm$core$List$cons, 34361 $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, 34362 A2( 34363 $elm$core$List$cons, 34364 A4( 34365 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 34366 tight, 34367 intended1, 34368 A2( 34369 $elm$core$List$cons, 34370 {fe: value.b, k: openListItem2.k}, 34371 closeListItems2), 34372 openListItem2), 34373 rest))) 34374 }); 34375 } 34376 } else { 34377 var e = _v89.a; 34378 return $elm$parser$Parser$Advanced$problem( 34379 $elm$parser$Parser$Problem( 34380 $dillonkearns$elm_markdown$Markdown$Parser$deadEndsToString(e))); 34381 } 34382 default: 34383 break _v41$13; 34384 } 34385 } else { 34386 break _v41$13; 34387 } 34388 default: 34389 break _v41$13; 34390 } 34391 } else { 34392 break _v41$13; 34393 } 34394 } 34395 return $elm$parser$Parser$Advanced$succeed( 34396 { 34397 a: state.a, 34398 b: A2($elm$core$List$cons, newRawBlock, state.b) 34399 }); 34400 }); 34401var $dillonkearns$elm_markdown$Markdown$Parser$inlineParseHelper = F2( 34402 function (referencesDict, _v36) { 34403 var unparsedInlines = _v36; 34404 var mappedReferencesDict = $elm$core$Dict$fromList( 34405 A2( 34406 $elm$core$List$map, 34407 $elm$core$Tuple$mapSecond( 34408 function (_v37) { 34409 var destination = _v37.fm; 34410 var title = _v37.gt; 34411 return _Utils_Tuple2(destination, title); 34412 }), 34413 referencesDict)); 34414 return A2( 34415 $elm$core$List$map, 34416 $dillonkearns$elm_markdown$Markdown$Parser$mapInline, 34417 A2($dillonkearns$elm_markdown$Markdown$InlineParser$parse, mappedReferencesDict, unparsedInlines)); 34418 }); 34419var $dillonkearns$elm_markdown$Markdown$Parser$mapInline = function (inline) { 34420 switch (inline.$) { 34421 case 0: 34422 var string = inline.a; 34423 return $dillonkearns$elm_markdown$Markdown$Block$Text(string); 34424 case 1: 34425 return $dillonkearns$elm_markdown$Markdown$Block$HardLineBreak; 34426 case 2: 34427 var string = inline.a; 34428 return $dillonkearns$elm_markdown$Markdown$Block$CodeSpan(string); 34429 case 3: 34430 var string = inline.a; 34431 var maybeString = inline.b; 34432 var inlines = inline.c; 34433 return A3( 34434 $dillonkearns$elm_markdown$Markdown$Block$Link, 34435 string, 34436 maybeString, 34437 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$mapInline, inlines)); 34438 case 4: 34439 var string = inline.a; 34440 var maybeString = inline.b; 34441 var inlines = inline.c; 34442 return A3( 34443 $dillonkearns$elm_markdown$Markdown$Block$Image, 34444 string, 34445 maybeString, 34446 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$mapInline, inlines)); 34447 case 5: 34448 var node = inline.a; 34449 return $dillonkearns$elm_markdown$Markdown$Block$HtmlInline( 34450 $dillonkearns$elm_markdown$Markdown$Parser$nodeToRawBlock(node)); 34451 case 6: 34452 var level = inline.a; 34453 var inlines = inline.b; 34454 switch (level) { 34455 case 1: 34456 return $dillonkearns$elm_markdown$Markdown$Block$Emphasis( 34457 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$mapInline, inlines)); 34458 case 2: 34459 return $dillonkearns$elm_markdown$Markdown$Block$Strong( 34460 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$mapInline, inlines)); 34461 default: 34462 return $dillonkearns$elm_markdown$Markdown$Helpers$isEven(level) ? $dillonkearns$elm_markdown$Markdown$Block$Strong( 34463 _List_fromArray( 34464 [ 34465 $dillonkearns$elm_markdown$Markdown$Parser$mapInline( 34466 A2($dillonkearns$elm_markdown$Markdown$Inline$Emphasis, level - 2, inlines)) 34467 ])) : $dillonkearns$elm_markdown$Markdown$Block$Emphasis( 34468 _List_fromArray( 34469 [ 34470 $dillonkearns$elm_markdown$Markdown$Parser$mapInline( 34471 A2($dillonkearns$elm_markdown$Markdown$Inline$Emphasis, level - 1, inlines)) 34472 ])); 34473 } 34474 default: 34475 var inlines = inline.a; 34476 return $dillonkearns$elm_markdown$Markdown$Block$Strikethrough( 34477 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$mapInline, inlines)); 34478 } 34479}; 34480var $dillonkearns$elm_markdown$Markdown$Parser$nodeToRawBlock = function (node) { 34481 switch (node.$) { 34482 case 1: 34483 return $dillonkearns$elm_markdown$Markdown$Block$HtmlComment('TODO this never happens, but use t
34483ypes to drop this case.'); 34484 case 0: 34485 var tag = node.a; 34486 var attributes = node.b; 34487 var children = node.c; 34488 var parseChild = function (child) { 34489 if (child.$ === 1) { 34490 var text = child.a; 34491 return $dillonkearns$elm_markdown$Markdown$Parser$textNodeToBlocks(text); 34492 } else { 34493 return _List_fromArray( 34494 [ 34495 $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock( 34496 $dillonkearns$elm_markdown$Markdown$Parser$nodeToRawBlock(child)) 34497 ]); 34498 } 34499 }; 34500 return A3( 34501 $dillonkearns$elm_markdown$Markdown$Block$HtmlElement, 34502 tag, 34503 attributes, 34504 A2($elm$core$List$concatMap, parseChild, children)); 34505 case 2: 34506 var string = node.a; 34507 return $dillonkearns$elm_markdown$Markdown$Block$HtmlComment(string); 34508 case 3: 34509 var string = node.a; 34510 return $dillonkearns$elm_markdown$Markdown$Block$Cdata(string); 34511 case 4: 34512 var string = node.a; 34513 return $dillonkearns$elm_markdown$Markdown$Block$ProcessingInstruction(string); 34514 default: 34515 var declarationType = node.a; 34516 var content = node.b; 34517 return A2($dillonkearns$elm_markdown$Markdown$Block$HtmlDeclaration, declarationType, content); 34518 } 34519}; 34520var $dillonkearns$elm_markdown$Markdown$Parser$nodesToBlocks = function (children) { 34521 return A2($dillonkearns$elm_markdown$Markdown$Parser$nodesToBlocksHelp, children, _List_Nil); 34522}; 34523var $dillonkearns$elm_markdown$Markdown$Parser$nodesToBlocksHelp = F2( 34524 function (remaining, soFar) { 34525 nodesToBlocksHelp: 34526 while (true) { 34527 if (remaining.b) { 34528 var node = remaining.a; 34529 var rest = remaining.b; 34530 var _v31 = A2($dillonkearns$elm_markdown$Markdown$Parser$childToBlocks, node, soFar); 34531 if (!_v31.$) { 34532 var newSoFar = _v31.a; 34533 var $temp$remaining = rest, 34534 $temp$soFar = newSoFar; 34535 remaining = $temp$remaining; 34536 soFar = $temp$soFar; 34537 continue nodesToBlocksHelp; 34538 } else { 34539 var e = _v31.a; 34540 return $elm$core$Result$Err(e); 34541 } 34542 } else { 34543 return $elm$core$Result$Ok( 34544 $elm$core$List$reverse(soFar)); 34545 } 34546 } 34547 }); 34548var $dillonkearns$elm_markdown$Markdown$Parser$parse = function (input) { 34549 var _v27 = A2( 34550 $elm$parser$Parser$Advanced$run, 34551 A2( 34552 $elm$parser$Parser$Advanced$ignorer, 34553 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(), 34554 $dillonkearns$elm_markdown$Helpers$endOfFile), 34555 input); 34556 if (_v27.$ === 1) { 34557 var e = _v27.a; 34558 return $elm$core$Result$Err(e); 34559 } else { 34560 var v = _v27.a; 34561 var _v28 = $dillonkearns$elm_markdown$Markdown$Parser$parseAllInlines(v); 34562 if (_v28.$ === 1) { 34563 var e = _v28.a; 34564 return A2( 34565 $elm$parser$Parser$Advanced$run, 34566 $elm$parser$Parser$Advanced$problem(e), 34567 ''); 34568 } else { 34569 var blocks = _v28.a; 34570 var isNotEmptyParagraph = function (block) { 34571 if ((block.$ === 5) && (!block.a.b)) { 34572 return false; 34573 } else { 34574 return true; 34575 } 34576 }; 34577 return $elm$core$Result$Ok( 34578 A2($elm$core$List$filter, isNotEmptyParagraph, blocks)); 34579 } 34580 } 34581}; 34582var $dillonkearns$elm_markdown$Markdown$Parser$parseAllInlines = function (state) { 34583 return A3($dillonkearns$elm_markdown$Markdown$Parser$parseAllInlinesHelp, state, state.b, _List_Nil); 34584}; 34585var $dillonkearns$elm_markdown$Markdown$Parser$parseAllInlinesHelp = F3( 34586 function (state, rawBlocks, parsedBlocks) { 34587 parseAllInlinesHelp: 34588 while (true) { 34589 if (rawBlocks.b) { 34590 var rawBlock = rawBlocks.a; 34591 var rest = rawBlocks.b; 34592 var _v26 = A2($dillonkearns$elm_markdown$Markdown$Parser$parseInlines, state.a, rawBlock); 34593 switch (_v26.$) { 34594 case 1: 34595 var newParsedBlock = _v26.a; 34596 var $temp$state = state, 34597 $temp$rawBlocks = rest, 34598 $temp$parsedBlocks = A2($elm$core$List$cons, newParsedBlock, parsedBlocks); 34599 state = $temp$state; 34600 rawBlocks = $temp$rawBlocks; 34601 parsedBlocks = $temp$parsedBlocks; 34602 continue parseAllInlinesHelp; 34603 case 0: 34604 var $temp$state = state, 34605 $temp$rawBlocks = rest, 34606 $temp$parsedBlocks = parsedBlocks; 34607 state = $temp$state; 34608 rawBlocks = $temp$rawBlocks; 34609 parsedBlocks = $temp$parsedBlocks; 34610 continue parseAllInlinesHelp; 34611 default: 34612 var e = _v26.a; 34613 return $elm$core$Result$Err(e); 34614 } 34615 } else { 34616 return $elm$core$Result$Ok(parsedBlocks); 34617 } 34618 } 34619 }); 34620var $dillonkearns$elm_markdown$Markdown$Parser$parseHeaderInlines = F2( 34621 function (linkReferences, header) { 34622 return A2( 34623 $elm$core$List$map, 34624 function (_v24) { 34625 var label = _v24.aK; 34626 var alignment = _v24.Z; 34627 return A3( 34628 $dillonkearns$elm_markdown$Markdown$Parser$parseRawInline, 34629 linkReferences, 34630 function (parsedHeaderLabel) { 34631 return {Z: alignment, aK: parsedHeaderLabel}; 34632 }, 34633 label); 34634 }, 34635 header); 34636 }); 34637var $dillonkearns$elm_markdown$Markdown$Parser$parseInlines = F2( 34638 function (linkReferences, rawBlock) { 34639 switch (rawBlock.$) { 34640 case 0: 34641 var level = rawBlock.a; 34642 var unparsedInlines = rawBlock.b; 34643 var _v17 = $dillonkearns$elm_markdown$Markdown$Parser$toHeading(level); 34644 if (!_v17.$) { 34645 var parsedLevel = _v17.a; 34646 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34647 A2( 34648 $dillonkearns$elm_markdown$Markdown$Block$Heading, 34649 parsedLevel, 34650 A2($dillonkearns$elm_markdown$Markdown$Parser$inlineParseHelper, linkReferences, unparsedInlines))); 34651 } else { 34652 var e = _v17.a; 34653 return $dillonkearns$elm_markdown$Markdown$Parser$InlineProblem(e); 34654 } 34655 case 1: 34656 var unparsedInlines = rawBlock.a; 34657 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34658 $dillonkearns$elm_markdown$Markdown$Block$Paragraph( 34659 A2($dillonkearns$elm_markdown$Markdown$Parser$inlineParseHelper, linkReferences, unparsedInlines))); 34660 case 2: 34661 var html = rawBlock.a; 34662 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34663 $dillonkearns$elm_markdown$Markdown$Block$HtmlBlock(html)); 34664 case 3: 34665 var tight = rawBlock.a; 34666 var unparsedItems = rawBlock.c; 34667 var parseItem = F2( 34668 function (rawBlockTask, rawBlocks) { 34669 var blocksTask = function () { 34670 if (!rawBlockTask.$) { 34671 if (!rawBlockTask.a) { 34672 return 1; 34673 } else { 34674 return 2; 34675 } 34676 } else { 34677 return 0; 34678 } 34679 }(); 34680 var blocks = function () { 34681 var _v18 = $dillonkearns$elm_markdown$Markdown$Parser$parseAllInlines( 34682 {a: linkReferences, b: rawBlocks}); 34683 if (!_v18.$) { 34684 var parsedBlocks = _v18.a; 34685 return parsedBlocks; 34686 } else { 34687 return _List_Nil; 34688 } 34689 }(); 34690 return A2($dillonkearns$elm_markdown$Markdown$Block$ListItem, blocksTask, blocks); 34691 }); 34692 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34693 A2( 34694 $dillonkearns$elm_markdown$Markdown$Block$UnorderedList, 34695 $dillonkearns$elm_markdown$Markdown$Parser$isTightBoolToListDisplay(tight), 34696 $elm$core$List$reverse( 34697 A2( 34698 $elm$core$List$map, 34699 function (item) { 34700 return A2(parseItem, item.k, item.fe); 34701 }, 34702 unparsedItems)))); 34703 case 4: 34704 var tight = rawBlock.a; 34705 var startingIndex = rawBlock.d; 34706 var unparsedItems = rawBlock.e; 34707 var parseItem = function (rawBlocks) { 34708 var _v20 = $dillonkearns$elm_markdown$Markdown$Parser$parseAllInlines( 34709 {a: linkReferences, b: rawBlocks}); 34710 if (!_v20.$) { 34711 var parsedBlocks = _v20.a; 34712 return parsedBlocks; 34713 } else { 34714 return _List_Nil; 34715 } 34716 }; 34717 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34718 A3( 34719 $dillonkearns$elm_markdown$Markdown$Block$OrderedList, 34720 $dillonkearns$elm_markdown$Markdown$Parser$isTightBoolToListDisplay(tight), 34721 startingIndex, 34722 $elm$core$List$reverse( 34723 A2($elm$core$List$map, parseItem, unparsedItems)))); 34724 case 5: 34725 var codeBlock = rawBlock.a; 34726 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34727 $dillonkearns$elm_markdown$Markdown$Block$CodeBlock(codeBlock)); 34728 case 7: 34729 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock($dillonkearns$elm_markdown$Markdown$Block$ThematicBreak); 34730 case 10: 34731 return $dillonkearns$elm_markdown$Markdown$Parser$EmptyBlock; 34732 case 11: 34733 return $dillonkearns$elm_markdown$Markdown$Parser$EmptyBlock; 34734 case 12: 34735 var rawBlocks = rawBlock.a; 34736 var _v21 = $dillonkearns$elm_markdown$Markdown$Parser$parseAllInlines( 34737 {a: linkReferences, b: rawBlocks}); 34738 if (!_v21.$) { 34739 var parsedBlocks = _v21.a; 34740 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34741 $dillonkearns$elm_markdown$Markdown$Block$BlockQuote(parsedBlocks)); 34742 } else { 34743 var e = _v21.a; 34744 return $dillonkearns$elm_markdown$Markdown$Parser$InlineProblem(e); 34745 } 34746 case 6: 34747 var codeBlockBody = rawBlock.a; 34748 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34749 $dillonkearns$elm_markdown$Markdown$Block$CodeBlock( 34750 {fe: codeBlockBody, fK: $elm$core$Maybe$Nothing})); 34751 case 8: 34752 var _v22 = rawBlock.a; 34753 var header = _v22.a; 34754 var rows = _v22.b; 34755 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34756 A2( 34757 $dillonkearns$elm_markdown$Markdown$Block$Table, 34758 A2($dillonkearns$elm_markdown$Markdown$Parser$parseHeaderInlines, linkReferences, header), 34759 A2($dillonkearns$elm_markdown$Markdown$Parser$parseRowInlines, linkReferences, rows))); 34760 case 9: 34761 var _v23 = rawBlock.a; 34762 var text = _v23.a; 34763 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34764 $dillonkearns$elm_markdown$Markdown$Block$Paragraph( 34765 A2($dillonkearns$elm_markdown$Markdown$Parser$inlineParseHelper, linkReferences, text.eM))); 34766 default: 34767 var raw = rawBlock.b; 34768 return $dillonkearns$elm_markdown$Markdown$Parser$ParsedBlock( 34769 $dillonkearns$elm_markdown$Markdown$Block$Paragraph( 34770 A2($dillonkearns$elm_markdown$Markdown$Parser$inlineParseHelper, linkReferences, raw))); 34771 } 34772 }); 34773var $dillonkearns$elm_markdown$Markdown$Parser$parseRawInline = F3( 34774 function (linkReferences, wrap, unparsedInlines) { 34775 return wrap( 34776 A2($dillonkearns$elm_markdown$Markdown$Parser$inlineParseHelper, linkReferences, unparsedInlines)); 34777 }); 34778var $dillonkearns$elm_markdown$Markdown$Parser$parseRowInlines = F2( 34779 function (linkReferences, rows) { 34780 return A2( 34781 $elm$core$List$map, 34782 function (row) { 34783 return A2( 34784 $elm$core$List$map, 34785 function (column) { 34786 return A3($dillonkearns$elm_markdown$Markdown$Parser$parseRawInline, linkReferences, $elm$core$Basics$identity, column); 34787 }, 34788 row); 34789 }, 34790 rows); 34791 }); 34792var $dillonkearns$elm_markdown$Markdown$Parser$stepRawBlock = function (revStmts) { 34793 return $elm$parser$Parser$Advanced$oneOf( 34794 _List_fromArray( 34795 [ 34796 A2( 34797 $elm$parser$Parser$Advanced$map, 34798 function (_v2) { 34799 return $elm$parser$Parser$Advanced$Done(revStmts); 34800 }, 34801 $dillonkearns$elm_markdown$Helpers$endOfFile), 34802 A2( 34803 $elm$parser$Parser$Advanced$map, 34804 function (reference) { 34805 return $elm$parser$Parser$Advanced$Loop( 34806 A2($dillonkearns$elm_markdown$Markdown$Parser$addReference, revStmts, reference)); 34807 }, 34808 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$LinkReferenceDefinition$parser)), 34809 function () { 34810 var _v3 = revStmts.b; 34811 _v3$6: 34812 while (true) { 34813 if (_v3.b) { 34814 switch (_v3.a.$) { 34815 case 1: 34816 return A2( 34817 $elm$parser$Parser$Advanced$map, 34818 function (block) { 34819 return $elm$parser$Parser$Advanced$Loop(block); 34820 }, 34821 A2( 34822 $elm$parser$Parser$Advanced$andThen, 34823 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 34824 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterOpenBlockOrParagraphParser())); 34825 case 8: 34826 var table = _v3.a.a; 34827 return A2( 34828 $elm$parser$Parser$Advanced$map, 34829 function (block) { 34830 return $elm$parser$Parser$Advanced$Loop(block); 34831 }, 34832 A2( 34833 $elm$parser$Parser$Advanced$andThen, 34834 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 34835 $elm$parser$Parser$Advanced$oneOf( 34836 _List_fromArray( 34837 [ 34838 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser(), 34839 $dillonkearns$elm_markdown$Markdown$Parser$tableRowIfTableStarted(table) 34840 ])))); 34841 case 3: 34842 var _v4 = _v3.a; 34843 var tight = _v4.a; 34844 var intended = _v4.b; 34845 var closeListItems = _v4.c; 34846 var openListItem = _v4.d; 34847 var rest = _v3.b; 34848 var completeOrMergeUnorderedListBlockBlankLine = F2( 34849 function (state, newString) { 34850 return _Utils_update( 34851 state, 34852 { 34853 b: A2( 34854 $elm$core$List$cons, 34855 $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, 34856 A2( 34857 $elm$core$List$cons, 34858 A4( 34859 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 34860 tight, 34861 intended, 34862 closeListItems, 34863 _Utils_update( 34864 openListItem, 34865 { 34866 fe: A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, '', openListItem.fe, newString) 34867 })), 34868 rest)) 34869 }); 34870 }); 34871 var completeOrMergeUnorderedListBlock = F2( 34872 function (state, newString) { 34873 return _Utils_update( 34874 state, 34875 { 34876 b: A2( 34877 $elm$core$List$cons, 34878 A4( 34879 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 34880 tight, 34881 intended, 34882 closeListItems, 34883 _Utils_update( 34884 openListItem, 34885 { 34886 fe: A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, '\n', openListItem.fe, newString) 34887 })), 34888 rest) 34889 }); 34890 }); 34891 return $elm$parser$Parser$Advanced$oneOf( 34892 _List_fromArray( 34893 [ 34894 A2( 34895 $elm$parser$Parser$Advanced$map, 34896 function (block) { 34897 return $elm$parser$Parser$Advanced$Loop(block); 34898 }, 34899 A2( 34900 $elm$parser$Parser$Advanced$map, 34901 function (_v5) { 34902 return A2(completeOrMergeUnorderedListBlockBlankLine, revStmts, '\n'); 34903 }, 34904 $dillonkearns$elm_markdown$Markdown$Parser$blankLine)), 34905 A2( 34906 $elm$parser$Parser$Advanced$map, 34907 function (block) { 34908 return $elm$parser$Parser$Advanced$Loop(block); 34909 }, 34910 A2( 34911 $elm$parser$Parser$Advanced$map, 34912 completeOrMergeUnorderedListBlock(revStmts), 34913 A2( 34914 $elm$parser$Parser$Advanced$keeper, 34915 A2( 34916 $elm$parser$Parser$Advanced$ignorer, 34917 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 34918 $elm$parser$Parser$Advanced$symbol( 34919 A2( 34920 $elm$parser$Parser$Advanced$Token, 34921 A2($elm$core$String$repeat, intended, ' '), 34922 $elm$parser$Parser$ExpectingSymbol('Indentation')))), 34923 A2( 34924 $elm$parser$Parser$Advanced$ignorer, 34925 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 34926 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)))), 34927 A2( 34928 $elm$parser$Parser$Advanced$map, 34929 function (block) { 34930 return $elm$parser$Parser$Advanced$Loop(block); 34931 }, 34932 A2( 34933 $elm$parser$Parser$Advanced$andThen, 34934 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 34935 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterList())) 34936 ])); 34937 case 4: 34938 var _v10 = _v3.a; 34939 var tight = _v10.a; 34940 var intended = _v10.b; 34941 var marker = _v10.c; 34942 var order = _v10.d; 34943 var closeListItems = _v10.e; 34944 var openListItem = _v10.f; 34945 var rest = _v3.b; 34946 var completeOrMergeUnorderedListBlockBlankLine = F2( 34947 function (state, newString) { 34948 return _Utils_update( 34949 state, 34950 { 34951 b: A2( 34952 $elm$core$List$cons, 34953 $dillonkearns$elm_markdow
34953n$Markdown$RawBlock$BlankLine, 34954 A2( 34955 $elm$core$List$cons, 34956 A6($dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, tight, intended, marker, order, closeListItems, openListItem + ('\n' + newString)), 34957 rest)) 34958 }); 34959 }); 34960 var completeOrMergeUnorderedListBlock = F2( 34961 function (state, newString) { 34962 return _Utils_update( 34963 state, 34964 { 34965 b: A2( 34966 $elm$core$List$cons, 34967 A6($dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, tight, intended, marker, order, closeListItems, openListItem + ('\n' + newString)), 34968 rest) 34969 }); 34970 }); 34971 return $elm$parser$Parser$Advanced$oneOf( 34972 _List_fromArray( 34973 [ 34974 A2( 34975 $elm$parser$Parser$Advanced$map, 34976 function (block) { 34977 return $elm$parser$Parser$Advanced$Loop(block); 34978 }, 34979 A2( 34980 $elm$parser$Parser$Advanced$map, 34981 function (_v11) { 34982 return A2(completeOrMergeUnorderedListBlockBlankLine, revStmts, '\n'); 34983 }, 34984 $dillonkearns$elm_markdown$Markdown$Parser$blankLine)), 34985 A2( 34986 $elm$parser$Parser$Advanced$map, 34987 function (block) { 34988 return $elm$parser$Parser$Advanced$Loop(block); 34989 }, 34990 A2( 34991 $elm$parser$Parser$Advanced$map, 34992 completeOrMergeUnorderedListBlock(revStmts), 34993 A2( 34994 $elm$parser$Parser$Advanced$keeper, 34995 A2( 34996 $elm$parser$Parser$Advanced$ignorer, 34997 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 34998 $elm$parser$Parser$Advanced$symbol( 34999 A2( 35000 $elm$parser$Parser$Advanced$Token, 35001 A2($elm$core$String$repeat, intended, ' '), 35002 $elm$parser$Parser$ExpectingSymbol('Indentation')))), 35003 A2( 35004 $elm$parser$Parser$Advanced$ignorer, 35005 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 35006 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)))), 35007 A2( 35008 $elm$parser$Parser$Advanced$map, 35009 function (block) { 35010 return $elm$parser$Parser$Advanced$Loop(block); 35011 }, 35012 A2( 35013 $elm$parser$Parser$Advanced$andThen, 35014 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 35015 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterList())) 35016 ])); 35017 case 10: 35018 if (_v3.b.b) { 35019 switch (_v3.b.a.$) { 35020 case 3: 35021 var _v6 = _v3.a; 35022 var _v7 = _v3.b; 35023 var _v8 = _v7.a; 35024 var tight = _v8.a; 35025 var intended = _v8.b; 35026 var closeListItems = _v8.c; 35027 var openListItem = _v8.d; 35028 var rest = _v7.b; 35029 var completeOrMergeUnorderedListBlockBlankLine = F2( 35030 function (state, newString) { 35031 return _Utils_update( 35032 state, 35033 { 35034 b: A2( 35035 $elm$core$List$cons, 35036 $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, 35037 A2( 35038 $elm$core$List$cons, 35039 A4( 35040 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 35041 tight, 35042 intended, 35043 closeListItems, 35044 _Utils_update( 35045 openListItem, 35046 { 35047 fe: A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, '', openListItem.fe, newString) 35048 })), 35049 rest)) 35050 }); 35051 }); 35052 var completeOrMergeUnorderedListBlock = F2( 35053 function (state, newString) { 35054 return _Utils_update( 35055 state, 35056 { 35057 b: A2( 35058 $elm$core$List$cons, 35059 A4( 35060 $dillonkearns$elm_markdown$Markdown$RawBlock$UnorderedListBlock, 35061 tight, 35062 intended, 35063 closeListItems, 35064 _Utils_update( 35065 openListItem, 35066 { 35067 fe: A3($dillonkearns$elm_markdown$Markdown$Parser$joinRawStringsWith, '\n', openListItem.fe, newString) 35068 })), 35069 rest) 35070 }); 35071 }); 35072 return ($elm$core$String$trim(openListItem.fe) === '') ? A2( 35073 $elm$parser$Parser$Advanced$map, 35074 function (block) { 35075 return $elm$parser$Parser$Advanced$Loop(block); 35076 }, 35077 A2( 35078 $elm$parser$Parser$Advanced$andThen, 35079 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 35080 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser())) : $elm$parser$Parser$Advanced$oneOf( 35081 _List_fromArray( 35082 [ 35083 A2( 35084 $elm$parser$Parser$Advanced$map, 35085 function (block) { 35086 return $elm$parser$Parser$Advanced$Loop(block); 35087 }, 35088 A2( 35089 $elm$parser$Parser$Advanced$map, 35090 function (_v9) { 35091 return A2(completeOrMergeUnorderedListBlockBlankLine, revStmts, '\n'); 35092 }, 35093 $dillonkearns$elm_markdown$Markdown$Parser$blankLine)), 35094 A2( 35095 $elm$parser$Parser$Advanced$map, 35096 function (block) { 35097 return $elm$parser$Parser$Advanced$Loop(block); 35098 }, 35099 A2( 35100 $elm$parser$Parser$Advanced$map, 35101 completeOrMergeUnorderedListBlock(revStmts), 35102 A2( 35103 $elm$parser$Parser$Advanced$keeper, 35104 A2( 35105 $elm$parser$Parser$Advanced$ignorer, 35106 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 35107 $elm$parser$Parser$Advanced$symbol( 35108 A2( 35109 $elm$parser$Parser$Advanced$Token, 35110 A2($elm$core$String$repeat, intended, ' '), 35111 $elm$parser$Parser$ExpectingSymbol('Indentation')))), 35112 A2( 35113 $elm$parser$Parser$Advanced$ignorer, 35114 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 35115 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)))), 35116 A2( 35117 $elm$parser$Parser$Advanced$map, 35118 function (block) { 35119 return $elm$parser$Parser$Advanced$Loop(block); 35120 }, 35121 A2( 35122 $elm$parser$Parser$Advanced$andThen, 35123 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 35124 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser())) 35125 ])); 35126 case 4: 35127 var _v12 = _v3.a; 35128 var _v13 = _v3.b; 35129 var _v14 = _v13.a; 35130 var tight = _v14.a; 35131 var intended = _v14.b; 35132 var marker = _v14.c; 35133 var order = _v14.d; 35134 var closeListItems = _v14.e; 35135 var openListItem = _v14.f; 35136 var rest = _v13.b; 35137 var completeOrMergeUnorderedListBlockBlankLine = F2( 35138 function (state, newString) { 35139 return _Utils_update( 35140 state, 35141 { 35142 b: A2( 35143 $elm$core$List$cons, 35144 $dillonkearns$elm_markdown$Markdown$RawBlock$BlankLine, 35145 A2( 35146 $elm$core$List$cons, 35147 A6($dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, tight, intended, marker, order, closeListItems, openListItem + ('\n' + newString)), 35148 rest)) 35149 }); 35150 }); 35151 var completeOrMergeUnorderedListBlock = F2( 35152 function (state, newString) { 35153 return _Utils_update( 35154 state, 35155 { 35156 b: A2( 35157 $elm$core$List$cons, 35158 A6($dillonkearns$elm_markdown$Markdown$RawBlock$OrderedListBlock, tight, intended, marker, order, closeListItems, openListItem + ('\n' + newString)), 35159 rest) 35160 }); 35161 }); 35162 return ($elm$core$String$trim(openListItem) === '') ? A2( 35163 $elm$parser$Parser$Advanced$map, 35164 function (block) { 35165 return $elm$parser$Parser$Advanced$Loop(block); 35166 }, 35167 A2( 35168 $elm$parser$Parser$Advanced$andThen, 35169 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 35170 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser())) : $elm$parser$Parser$Advanced$oneOf( 35171 _List_fromArray( 35172 [ 35173 A2( 35174 $elm$parser$Parser$Advanced$map, 35175 function (block) { 35176 return $elm$parser$Parser$Advanced$Loop(block); 35177 }, 35178 A2( 35179 $elm$parser$Parser$Advanced$map, 35180 function (_v15) { 35181 return A2(completeOrMergeUnorderedListBlockBlankLine, revStmts, '\n'); 35182 }, 35183 $dillonkearns$elm_markdown$Markdown$Parser$blankLine)), 35184 A2( 35185 $elm$parser$Parser$Advanced$map, 35186 function (block) { 35187 return $elm$parser$Parser$Advanced$Loop(block); 35188 }, 35189 A2( 35190 $elm$parser$Parser$Advanced$map, 35191 completeOrMergeUnorderedListBlock(revStmts), 35192 A2( 35193 $elm$parser$Parser$Advanced$keeper, 35194 A2( 35195 $elm$parser$Parser$Advanced$ignorer, 35196 $elm$parser$Parser$Advanced$succeed($elm$core$Basics$identity), 35197 $elm$parser$Parser$Advanced$symbol( 35198 A2( 35199 $elm$parser$Parser$Advanced$Token, 35200 A2($elm$core$String$repeat, intended, ' '), 35201 $elm$parser$Parser$ExpectingSymbol('Indentation')))), 35202 A2( 35203 $elm$parser$Parser$Advanced$ignorer, 35204 $elm$parser$Parser$Advanced$getChompedString($dillonkearns$elm_markdown$Helpers$chompUntilLineEndOrEnd), 35205 $dillonkearns$elm_markdown$Helpers$lineEndOrEnd)))), 35206 A2( 35207 $elm$parser$Parser$Advanced$map, 35208 function (block) { 35209 return $elm$parser$Parser$Advanced$Loop(block); 35210 }, 35211 A2( 35212 $elm$parser$Parser$Advanced$andThen, 35213 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 35214 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser())) 35215 ])); 35216 default: 35217 break _v3$6; 35218 } 35219 } else { 35220 break _v3$6; 35221 } 35222 default: 35223 break _v3$6; 35224 } 35225 } else { 35226 break _v3$6; 35227 } 35228 } 35229 return A2( 35230 $elm$parser$Parser$Advanced$map, 35231 function (block) { 35232 return $elm$parser$Parser$Advanced$Loop(block); 35233 }, 35234 A2( 35235 $elm$parser$Parser$Advanced$andThen, 35236 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 35237 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser())); 35238 }(), 35239 A2( 35240 $elm$parser$Parser$Advanced$map, 35241 function (block) { 35242 return $elm$parser$Parser$Advanced$Loop(block); 35243 }, 35244 A2( 35245 $elm$parser$Parser$Advanced$andThen, 35246 $dillonkearns$elm_markdown$Markdown$Parser$completeOrMergeBlocks(revStmts), 35247 $dillonkearns$elm_markdown$Markdown$Parser$openBlockOrParagraphParser)) 35248 ])); 35249}; 35250var $dillonkearns$elm_markdown$Markdown$Parser$textNodeToBlocks = function (textNodeValue) { 35251 return A2( 35252 $elm$core$Result$withDefault, 35253 _List_Nil, 35254 $dillonkearns$elm_markdown$Markdown$Parser$parse(textNodeValue)); 35255}; 35256var $dillonkearns$elm_markdown$Markdown$Parser$xmlNodeToHtmlNode = function (xmlNode) { 35257 switch (xmlNode.$) { 35258 case 1: 35259 var innerText = xmlNode.a; 35260 return $elm$parser$Parser$Advanced$succeed( 35261 $dillonkearns$elm_markdown$Markdown$RawBlock$OpenBlockOrParagraph(innerText)); 35262 case 0: 35263 var tag = xmlNode.a; 35264 var attributes = xmlNode.b; 35265 var children = xmlNode.c; 35266 var _v1 = $dillonkearns$elm_markdown$Markdown$Parser$nodesToBlocks(children); 35267 if (!_v1.$) { 35268 var parsedChildren = _v1.a; 35269 return $elm$parser$Parser$Advanced$succeed( 35270 $dillonkearns$elm_markdown$Markdown$RawBlock$Html( 35271 A3($dillonkearns$elm_markdown$Markdown$Block$HtmlElement, tag, attributes, parsedChildren))); 35272 } else { 35273 var err = _v1.a; 35274 return $elm$parser$Parser$Advanced$problem(err); 35275 } 35276 case 2: 35277 var string = xmlNode.a; 35278 return $elm$parser$Parser$Advanced$succeed( 35279 $dillonkearns$elm_markdown$Markdown$RawBlock$Html( 35280 $dillonkearns$elm_markdown$Markdown$Block$HtmlComment(string))); 35281 case 3: 35282 var string = xmlNode.a; 35283 return $elm$parser$Parser$Advanced$succeed( 35284 $dillonkearns$elm_markdown$Markdown$RawBlock$Html(
35285 $dillonkearns$elm_markdown$Markdown$Block$Cdata(string))); 35286 case 4: 35287 var string = xmlNode.a; 35288 return $elm$parser$Parser$Advanced$succeed( 35289 $dillonkearns$elm_markdown$Markdown$RawBlock$Html( 35290 $dillonkearns$elm_markdown$Markdown$Block$ProcessingInstruction(string))); 35291 default: 35292 var declarationType = xmlNode.a; 35293 var content = xmlNode.b; 35294 return $elm$parser$Parser$Advanced$succeed( 35295 $dillonkearns$elm_markdown$Markdown$RawBlock$Html( 35296 A2($dillonkearns$elm_markdown$Markdown$Block$HtmlDeclaration, declarationType, content))); 35297 } 35298}; 35299function $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser() { 35300 return A2( 35301 $elm$parser$Parser$Advanced$andThen, 35302 $dillonkearns$elm_markdown$Markdown$Parser$completeBlocks, 35303 A2( 35304 $elm$parser$Parser$Advanced$loop, 35305 {a: _List_Nil, b: _List_Nil}, 35306 $dillonkearns$elm_markdown$Markdown$Parser$stepRawBlock)); 35307} 35308function $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser() { 35309 return $elm$parser$Parser$Advanced$oneOf( 35310 _List_fromArray( 35311 [ 35312 $dillonkearns$elm_markdown$Markdown$Parser$parseAsParagraphInsteadOfHtmlBlock, 35313 $dillonkearns$elm_markdown$Markdown$Parser$blankLine, 35314 $dillonkearns$elm_markdown$Markdown$Parser$blockQuote, 35315 A2( 35316 $elm$parser$Parser$Advanced$map, 35317 $dillonkearns$elm_markdown$Markdown$RawBlock$CodeBlock, 35318 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$CodeBlock$parser)), 35319 $dillonkearns$elm_markdown$Markdown$Parser$indentedCodeBlock, 35320 A2( 35321 $elm$parser$Parser$Advanced$map, 35322 function (_v40) { 35323 return $dillonkearns$elm_markdown$Markdown$RawBlock$ThematicBreak; 35324 }, 35325 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$ThematicBreak$parser)), 35326 $dillonkearns$elm_markdown$Markdown$Parser$unorderedListBlock(false), 35327 $dillonkearns$elm_markdown$Markdown$Parser$orderedListBlock(false), 35328 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$Heading$parser), 35329 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$htmlParser() 35330 ])); 35331} 35332function $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterOpenBlockOrParagraphParser() { 35333 return $elm$parser$Parser$Advanced$oneOf( 35334 _List_fromArray( 35335 [ 35336 $dillonkearns$elm_markdown$Markdown$Parser$parseAsParagraphInsteadOfHtmlBlock, 35337 $dillonkearns$elm_markdown$Markdown$Parser$blankLine, 35338 $dillonkearns$elm_markdown$Markdown$Parser$blockQuote, 35339 A2( 35340 $elm$parser$Parser$Advanced$map, 35341 $dillonkearns$elm_markdown$Markdown$RawBlock$CodeBlock, 35342 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$CodeBlock$parser)), 35343 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$Parser$setextLineParser), 35344 A2( 35345 $elm$parser$Parser$Advanced$map, 35346 function (_v39) { 35347 return $dillonkearns$elm_markdown$Markdown$RawBlock$ThematicBreak; 35348 }, 35349 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$ThematicBreak$parser)), 35350 $dillonkearns$elm_markdown$Markdown$Parser$unorderedListBlock(true), 35351 $dillonkearns$elm_markdown$Markdown$Parser$orderedListBlock(true), 35352 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$Heading$parser), 35353 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$htmlParser(), 35354 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$Parser$tableDelimiterInOpenParagraph) 35355 ])); 35356} 35357function $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterList() { 35358 return $elm$parser$Parser$Advanced$oneOf( 35359 _List_fromArray( 35360 [ 35361 $dillonkearns$elm_markdown$Markdown$Parser$parseAsParagraphInsteadOfHtmlBlock, 35362 $dillonkearns$elm_markdown$Markdown$Parser$blankLine, 35363 $dillonkearns$elm_markdown$Markdown$Parser$blockQuote, 35364 A2( 35365 $elm$parser$Parser$Advanced$map, 35366 $dillonkearns$elm_markdown$Markdown$RawBlock$CodeBlock, 35367 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$CodeBlock$parser)), 35368 A2( 35369 $elm$parser$Parser$Advanced$map, 35370 function (_v38) { 35371 return $dillonkearns$elm_markdown$Markdown$RawBlock$ThematicBreak; 35372 }, 35373 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$ThematicBreak$parser)), 35374 $dillonkearns$elm_markdown$Markdown$Parser$unorderedListBlock(false), 35375 $dillonkearns$elm_markdown$Markdown$Parser$orderedListBlock(false), 35376 $elm$parser$Parser$Advanced$backtrackable($dillonkearns$elm_markdown$Markdown$Heading$parser), 35377 $dillonkearns$elm_markdown$Markdown$Parser$cyclic$htmlParser() 35378 ])); 35379} 35380function $dillonkearns$elm_markdown$Markdown$Parser$cyclic$htmlParser() { 35381 return A2($elm$parser$Parser$Advanced$andThen, $dillonkearns$elm_markdown$Markdown$Parser$xmlNodeToHtmlNode, $dillonkearns$elm_markdown$HtmlParser$html); 35382} 35383var $dillonkearns$elm_markdown$Markdown$Parser$rawBlockParser = $dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser(); 35384$dillonkearns$elm_markdown$Markdown$Parser$cyclic$rawBlockParser = function () { 35385 return $dillonkearns$elm_markdown$Markdown$Parser$rawBlockParser; 35386}; 35387var $dillonkearns$elm_markdown$Markdown$Parser$mergeableBlockNotAfterOpenBlockOrParagraphParser = $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser(); 35388$dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockNotAfterOpenBlockOrParagraphParser = function () { 35389 return $dillonkearns$elm_markdown$Markdown$Parser$mergeableBlockNotAfterOpenBlockOrParagraphParser; 35390}; 35391var $dillonkearns$elm_markdown$Markdown$Parser$mergeableBlockAfterOpenBlockOrParagraphParser = $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterOpenBlockOrParagraphParser(); 35392$dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterOpenBlockOrParagraphParser = function () { 35393 return $dillonkearns$elm_markdown$Markdown$Parser$mergeableBlockAfterOpenBlockOrParagraphParser; 35394}; 35395var $dillonkearns$elm_markdown$Markdown$Parser$mergeableBlockAfterList = $dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterList(); 35396$dillonkearns$elm_markdown$Markdown$Parser$cyclic$mergeableBlockAfterList = function () { 35397 return $dillonkearns$elm_markdown$Markdown$Parser$mergeableBlockAfterList; 35398}; 35399var $dillonkearns$elm_markdown$Markdown$Parser$htmlParser = $dillonkearns$elm_markdown$Markdown$Parser$cyclic$htmlParser(); 35400$dillonkearns$elm_markdown$Markdown$Parser$cyclic$htmlParser = function () { 35401 return $dillonkearns$elm_markdown$Markdown$Parser$htmlParser; 35402}; 35403var $elm$core$Result$map2 = F3( 35404 function (func, ra, rb) { 35405 if (ra.$ === 1) { 35406 var x = ra.a; 35407 return $elm$core$Result$Err(x); 35408 } else { 35409 var a = ra.a; 35410 if (rb.$ === 1) { 35411 var x = rb.a; 35412 return $elm$core$Result$Err(x); 35413 } else { 35414 var b = rb.a; 35415 return $elm$core$Result$Ok( 35416 A2(func, a, b)); 35417 } 35418 } 35419 }); 35420var $dillonkearns$elm_markdown$Markdown$Renderer$combineResults = A2( 35421 $elm$core$List$foldr, 35422 $elm$core$Result$map2($elm$core$List$cons), 35423 $elm$core$Result$Ok(_List_Nil)); 35424var $dillonkearns$elm_markdown$Markdown$Block$foldl = F3( 35425 function (_function, acc, list) { 35426 foldl: 35427 while (true) { 35428 if (!list.b) { 35429 return acc; 35430 } else { 35431 var block = list.a; 35432 var remainingBlocks = list.b; 35433 switch (block.$) { 35434 case 0: 35435 var html = block.a; 35436 if (!html.$) { 35437 var children = html.c; 35438 var $temp$function = _function, 35439 $temp$acc = A2(_function, block, acc), 35440 $temp$list = _Utils_ap(children, remainingBlocks); 35441 _function = $temp$function; 35442 acc = $temp$acc; 35443 list = $temp$list; 35444 continue foldl; 35445 } else { 35446 var $temp$function = _function, 35447 $temp$acc = A2(_function, block, acc), 35448 $temp$list = remainingBlocks; 35449 _function = $temp$function; 35450 acc = $temp$acc; 35451 list = $temp$list; 35452 continue foldl; 35453 } 35454 case 1: 35455 var blocks = block.b;
35456 var childBlocks = A2( 35457 $elm$core$List$concatMap, 35458 function (_v3) { 35459 var children = _v3.b; 35460 return children; 35461 }, 35462 blocks); 35463 var $temp$function = _function, 35464 $temp$acc = A2(_function, block, acc), 35465 $temp$list = _Utils_ap(childBlocks, remainingBlocks); 35466 _function = $temp$function; 35467 acc = $temp$acc; 35468 list = $temp$list; 35469 continue foldl; 35470 case 2: 35471 var blocks = block.c; 35472 var $temp$function = _function, 35473 $temp$acc = A2(_function, block, acc), 35474 $temp$list = _Utils_ap( 35475 $elm$core$List$concat(blocks), 35476 remainingBlocks); 35477 _function = $temp$function; 35478 acc = $temp$acc; 35479 list = $temp$list; 35480 continue foldl; 35481 case 3: 35482 var blocks = block.a; 35483 var $temp$function = _function, 35484 $temp$acc = A2(_function, block, acc), 35485 $temp$list = _Utils_ap(blocks, remainingBlocks); 35486 _function = $temp$function; 35487 acc = $temp$acc; 35488 list = $temp$list; 35489 continue foldl; 35490 case 4: 35491 var $temp$function = _function, 35492 $temp$acc = A2(_function, block, acc), 35493 $temp$list = remainingBlocks; 35494 _function = $temp$function; 35495 acc = $temp$acc; 35496 list = $temp$list; 35497 continue foldl; 35498 case 5: 35499 var $temp$function = _function, 35500 $temp$acc = A2(_function, block, acc), 35501 $temp$list = remainingBlocks; 35502 _function = $temp$function; 35503 acc = $temp$acc; 35504 list = $temp$list; 35505 continue foldl; 35506 case 6: 35507 var $temp$function = _function, 35508 $temp$acc = A2(_function, block, acc), 35509 $temp$list = remainingBlocks; 35510 _function = $temp$function; 35511 acc = $temp$acc; 35512 list = $temp$list; 35513 continue foldl; 35514 case 7: 35515 var $temp$function = _function, 35516 $temp$acc = A2(_function, block, acc), 35517 $temp$list = remainingBlocks; 35518 _function = $temp$function; 35519 acc = $temp$acc; 35520 list = $temp$list; 35521 continue foldl; 35522 default: 35523 var $temp$function = _function, 35524 $temp$acc = A2(_function, block, acc), 35525 $temp$list = remainingBlocks; 35526 _function = $temp$function; 35527 acc = $temp$acc; 35528 list = $temp$list; 35529 continue foldl; 35530 } 35531 } 35532 } 35533 }); 35534var $dillonkearns$elm_markdown$Markdown$Block$extractInlineBlockText = function (block) { 35535 switch (block.$) { 35536 case 5: 35537 var inlines = block.a; 35538 return $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(inlines); 35539 case 0: 35540 var html = block.a; 35541 if (!html.$) { 35542 var blocks = html.c; 35543 return A3( 35544 $dillonkearns$elm_markdown$Markdown$Block$foldl, 35545 F2( 35546 function (nestedBlock, soFar) { 35547 return _Utils_ap( 35548 soFar, 35549 $dillonkearns$elm_markdown$Markdown$Block$extractInlineBlockText(nestedBlock)); 35550 }), 35551 '', 35552 blocks); 35553 } else { 35554 return ''; 35555 } 35556 case 1: 35557 var items = block.b; 35558 return A2( 35559 $elm$core$String$join, 35560 '\n', 35561 A2( 35562 $elm$core$List$map, 35563 function (_v4) { 35564 var blocks = _v4.b; 35565 return A2( 35566 $elm$core$String$join, 35567 '\n', 35568 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Block$extractInlineBlockText, blocks)); 35569 }, 35570 items)); 35571 case 2: 35572 var items = block.c; 35573 return A2( 35574 $elm$core$String$join, 35575 '\n', 35576 A2( 35577 $elm$core$List$map, 35578 function (blocks) { 35579 return A2( 35580 $elm$core$String$join, 35581 '\n', 35582 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Block$extractInlineBlockText, blocks)); 35583 }, 35584 items)); 35585 case 3: 35586 var blocks = block.a; 35587 return A2( 35588 $elm$core$String$join, 35589 '\n', 35590 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Block$extractInlineBlockText, blocks)); 35591 case 4: 35592 var inlines = block.b; 35593 return $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(inlines); 35594 case 6: 35595 var header = block.a; 35596 var rows = block.b; 35597 return A2( 35598 $elm$core$String$join, 35599 '\n', 35600 $elm$core$List$concat( 35601 _List_fromArray( 35602 [ 35603 A2( 35604 $elm$core$List$map, 35605 $dillonkearns$elm_markdown$Markdown$Block$extractInlineText, 35606 A2( 35607 $elm$core$List$map, 35608 function ($) { 35609 return $.aK; 35610 }, 35611 header)), 35612 $elm$core$List$concat( 35613 A2( 35614 $elm$core$List$map, 35615 $elm$core$List$map($dillonkearns$elm_markdown$Markdown$Block$extractInlineText), 35616 rows)) 35617 ]))); 35618 case 7: 35619 var body = block.a.fe; 35620 return body; 35621 default: 35622 return ''; 35623 } 35624}; 35625var $dillonkearns$elm_markdown$Markdown$Block$extractInlineText = function (inlines) { 35626 return A3($elm$core$List$foldl, $dillonkearns$elm_markdown$Markdown$Block$extractTextHelp, '', inlines); 35627}; 35628var $dillonkearns$elm_markdown$Markdown$Block$extractTextHelp = F2( 35629 function (inline, text) { 35630 switch (inline.$) { 35631 case 7: 35632 var str = inline.a; 35633 return _Utils_ap(text, str); 35634 case 8:
35635 return text + ' '; 35636 case 6: 35637 var str = inline.a; 35638 return _Utils_ap(text, str); 35639 case 1: 35640 var inlines = inline.c; 35641 return _Utils_ap( 35642 text, 35643 $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(inlines)); 35644 case 2: 35645 var inlines = inline.c; 35646 return _Utils_ap( 35647 text, 35648 $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(inlines)); 35649 case 0: 35650 var html = inline.a; 35651 if (!html.$) { 35652 var blocks = html.c; 35653 return A3( 35654 $dillonkearns$elm_markdown$Markdown$Block$foldl, 35655 F2( 35656 function (block, soFar) { 35657 return _Utils_ap( 35658 soFar, 35659 $dillonkearns$elm_markdown$Markdown$Block$extractInlineBlockText(block)); 35660 }), 35661 text, 35662 blocks); 35663 } else { 35664 return text; 35665 } 35666 case 4: 35667 var inlines = inline.a; 35668 return _Utils_ap( 35669 text, 35670 $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(inlines)); 35671 case 3: 35672 var inlines = inline.a; 35673 return _Utils_ap( 35674 text, 35675 $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(inlines)); 35676 default: 35677 var inlines = inline.a; 35678 return _Utils_ap( 35679 text, 35680 $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(inlines)); 35681 } 35682 }); 35683var $dillonkearns$elm_markdown$Markdown$Renderer$renderHtml = F5( 35684 function (tagName, attributes, children, _v0, renderedChildren) { 35685 var htmlRenderer = _v0; 35686 return A2( 35687 $elm$core$Result$andThen, 35688 function (okChildren) { 35689 return A2( 35690 $elm$core$Result$map, 35691 function (myRenderer) { 35692 return myRenderer(okChildren); 35693 }, 35694 A3(htmlRenderer, tagName, attributes, children)); 35695 }, 35696 $dillonkearns$elm_markdown$Markdown$Renderer$combineResults(renderedChildren)); 35697 }); 35698var $dillonkearns$elm_markdown$Markdown$Renderer$foldThing = F3( 35699 function (renderer, topLevelInline, soFar) { 35700 var _v12 = A2($dillonkearns$elm_markdown$Markdown$Renderer$renderSingleInline, renderer, topLevelInline); 35701 if (!_v12.$) { 35702 var inline = _v12.a; 35703 return A2($elm$core$List$cons, inline, soFar); 35704 } else { 35705 return soFar; 35706 } 35707 }); 35708var $dillonkearns$elm_markdown$Markdown$Renderer$renderHelper = F2( 35709 function (renderer, blocks) { 35710 return A2( 35711 $elm$core$List$filterMap, 35712 $dillonkearns$elm_markdown$Markdown$Renderer$renderHelperSingle(renderer), 35713 blocks); 35714 }); 35715var $dillonkearns$elm_markdown$Markdown$Renderer$renderHelperSingle = function (renderer) { 35716 return function (block) { 35717 switch (block.$) { 35718 case 4: 35719 var level = block.a; 35720 var content = block.b; 35721 return $elm$core$Maybe$Just( 35722 A2( 35723 $elm$core$Result$map, 35724 function (children) { 35725 return renderer.dd( 35726 { 35727 cY: children, 35728 ex: level, 35729 gf: $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(content) 35730 }); 35731 }, 35732 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, content))); 35733 case 5: 35734 var content = block.a; 35735 return $elm$core$Maybe$Just( 35736 A2( 35737 $elm$core$Result$map, 35738 renderer.dv, 35739 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, content))); 35740 case 0: 35741 var html = block.a; 35742 if (!html.$) { 35743 var tag = html.a; 35744 var attributes = html.b; 35745 var children = html.c; 35746 return $elm$core$Maybe$Just( 35747 A4($dillonkearns$elm_markdown$Markdown$Renderer$renderHtmlNode, renderer, tag, attributes, children)); 35748 } else { 35749 return $elm$core$Maybe$Nothing; 35750 } 35751 case 1: 35752 var tight = block.a; 35753 var items = block.b; 35754 return $elm$core$Maybe$Just( 35755 A2( 35756 $elm$core$Result$map, 35757 function (listItems) { 35758 return renderer.dV( 35759 A2( 35760 $elm$core$List$map, 35761 function (_v7) { 35762 var task = _v7.a; 35763 var children = _v7.b; 35764 return A2( 35765 $dillonkearns$elm_markdown$Markdown$Block$ListItem, 35766 task, 35767 $elm$core$List$concat(children)); 35768 }, 35769 listItems)); 35770 }, 35771 $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35772 A2( 35773 $elm$core$List$map, 35774 function (_v4) { 35775 var task = _v4.a; 35776 var children = _v4.b; 35777 return A2( 35778 $elm$core$Result$map, 35779 $dillonkearns$elm_markdown$Markdown$Block$ListItem(task), 35780 $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35781 function (blocks) { 35782 return A2( 35783 $elm$core$List$filterMap, 35784 function (listItemBlock) { 35785 var _v5 = _Utils_Tuple2(tight, listItemBlock); 35786 if ((_v5.a === 1) && (_v5.b.$ === 5)) { 35787 var _v6 = _v5.a; 35788 var content = _v5.b.a; 35789 return $elm$core$Maybe$Just( 35790 A2($dillonkearns$elm_markdown$Markdown$Renderer$render
35790Styled, renderer, content)); 35791 } else { 35792 return A2( 35793 $elm$core$Maybe$map, 35794 $elm$core$Result$map($elm$core$List$singleton), 35795 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderHelperSingle, renderer, listItemBlock)); 35796 } 35797 }, 35798 blocks); 35799 }(children))); 35800 }, 35801 items)))); 35802 case 2: 35803 var tight = block.a; 35804 var startingIndex = block.b; 35805 var items = block.c; 35806 return $elm$core$Maybe$Just( 35807 A2( 35808 $elm$core$Result$map, 35809 function (listItems) { 35810 return A2( 35811 renderer.dt, 35812 startingIndex, 35813 A2( 35814 $elm$core$List$map, 35815 function (children) { 35816 return $elm$core$List$concat(children); 35817 }, 35818 listItems)); 35819 }, 35820 $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35821 A2( 35822 $elm$core$List$map, 35823 function (itemsblocks) { 35824 return $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35825 function (blocks) { 35826 return A2( 35827 $elm$core$List$filterMap, 35828 function (listItemBlock) { 35829 var _v8 = _Utils_Tuple2(tight, listItemBlock); 35830 if ((_v8.a === 1) && (_v8.b.$ === 5)) { 35831 var _v9 = _v8.a; 35832 var content = _v8.b.a; 35833 return $elm$core$Maybe$Just( 35834 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, content)); 35835 } else { 35836 return A2( 35837 $elm$core$Maybe$map, 35838 $elm$core$Result$map($elm$core$List$singleton), 35839 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderHelperSingle, renderer, listItemBlock)); 35840 } 35841 }, 35842 blocks); 35843 }(itemsblocks)); 35844 }, 35845 items)))); 35846 case 7: 35847 var codeBlock = block.a; 35848 return $elm$core$Maybe$Just( 35849 $elm$core$Result$Ok( 35850 renderer.cZ(codeBlock))); 35851 case 8: 35852 return $elm$core$Maybe$Just( 35853 $elm$core$Result$Ok(renderer.dP)); 35854 case 3: 35855 var nestedBlocks = block.a; 35856 return $elm$core$Maybe$Just( 35857 A2( 35858 $elm$core$Result$map, 35859 renderer.cW, 35860 $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35861 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderHelper, renderer, nestedBlocks)))); 35862 default: 35863 var header = block.a; 35864 var rows = block.b; 35865 var renderedHeaderCells = $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35866 A2( 35867 $elm$core$List$map, 35868 function (_v11) { 35869 var label = _v11.aK; 35870 var alignment = _v11.Z; 35871 return A2( 35872 $elm$core$Result$map, 35873 $elm$core$Tuple$pair(alignment), 35874 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, label)); 35875 }, 35876 header)); 35877 var renderedHeader = A2( 35878 $elm$core$Result$map, 35879 function (listListView) { 35880 return renderer.dN( 35881 $elm$core$List$singleton( 35882 renderer.cF( 35883 A2( 35884 $elm$core$List$map, 35885 function (_v10) { 35886 var maybeAlignment = _v10.a; 35887 var item = _v10.b; 35888 return A2(renderer.dO, maybeAlignment, item); 35889 }, 35890 listListView)))); 35891 }, 35892 renderedHeaderCells); 35893 var renderedBody = function (r) { 35894 return $elm$core$List$isEmpty(r) ? _List_Nil : _List_fromArray( 35895 [ 35896 renderer.dL(r) 35897 ]); 35898 }; 35899 var alignmentForColumn = function (columnIndex) { 35900 return A2( 35901 $elm$core$Maybe$andThen, 35902 function ($) { 35903 return $.Z; 35904 }, 35905 $elm$core$List$head( 35906 A2($elm$core$List$drop, columnIndex, header))); 35907 }; 35908 var renderRow = function (cells) { 35909 return A2( 35910 $elm$core$Result$map, 35911 renderer.cF, 35912 A2( 35913 $elm$core$Result$map, 35914 $elm$core$List$indexedMap( 35915 F2( 35916 function (index, cell) { 35917 return A2( 35918 renderer.dM, 35919 alignmentForColumn(index), 35920 cell); 35921 })), 35922 $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35923 A2( 35924 $elm$core$List$map,
35925 $dillonkearns$elm_markdown$Markdown$Renderer$renderStyled(renderer), 35926 cells)))); 35927 }; 35928 var renderedRows = $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 35929 A2($elm$core$List$map, renderRow, rows)); 35930 return $elm$core$Maybe$Just( 35931 A3( 35932 $elm$core$Result$map2, 35933 F2( 35934 function (h, r) { 35935 return renderer.dK( 35936 A2( 35937 $elm$core$List$cons, 35938 h, 35939 renderedBody(r))); 35940 }), 35941 renderedHeader, 35942 renderedRows)); 35943 } 35944 }; 35945}; 35946var $dillonkearns$elm_markdown$Markdown$Renderer$renderHtmlNode = F4( 35947 function (renderer, tag, attributes, children) { 35948 return A5( 35949 $dillonkearns$elm_markdown$Markdown$Renderer$renderHtml, 35950 tag, 35951 attributes, 35952 children, 35953 renderer.df, 35954 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderHelper, renderer, children)); 35955 }); 35956var $dillonkearns$elm_markdown$Markdown$Renderer$renderSingleInline = F2( 35957 function (renderer, inline) { 35958 switch (inline.$) { 35959 case 4: 35960 var innerInlines = inline.a; 35961 return $elm$core$Maybe$Just( 35962 A2( 35963 $elm$core$Result$map, 35964 renderer.dH, 35965 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, innerInlines))); 35966 case 3: 35967 var innerInlines = inline.a; 35968 return $elm$core$Maybe$Just( 35969 A2( 35970 $elm$core$Result$map, 35971 renderer.c3, 35972 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, innerInlines))); 35973 case 5: 35974 var innerInlines = inline.a; 35975 return $elm$core$Maybe$Just( 35976 A2( 35977 $elm$core$Result$map, 35978 renderer.dG, 35979 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, innerInlines))); 35980 case 2: 35981 var src = inline.a; 35982 var title = inline.b; 35983 var children = inline.c; 35984 return $elm$core$Maybe$Just( 35985 $elm$core$Result$Ok( 35986 renderer.dg( 35987 { 35988 cT: $dillonkearns$elm_markdown$Markdown$Block$extractInlineText(children), 35989 dE: src, 35990 gt: title 35991 }))); 35992 case 7: 35993 var string = inline.a; 35994 return $elm$core$Maybe$Just( 35995 $elm$core$Result$Ok( 35996 renderer.j(string))); 35997 case 6: 35998 var string = inline.a; 35999 return $elm$core$Maybe$Just( 36000 $elm$core$Result$Ok( 36001 renderer.c_(string))); 36002 case 1: 36003 var destination = inline.a; 36004 var title = inline.b; 36005 var inlines = inline.c; 36006 return $elm$core$Maybe$Just( 36007 A2( 36008 $elm$core$Result$andThen, 36009 function (children) { 36010 return $elm$core$Result$Ok( 36011 A2( 36012 renderer.dk, 36013 {fm: destination, gt: title}, 36014 children)); 36015 }, 36016 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderStyled, renderer, inlines))); 36017 case 8: 36018 return $elm$core$Maybe$Just( 36019 $elm$core$Result$Ok(renderer.dc)); 36020 default: 36021 var html = inline.a; 36022 if (!html.$) { 36023 var tag = html.a; 36024 var attributes = html.b; 36025 var children = html.c; 36026 return $elm$core$Maybe$Just( 36027 A4($dillonkearns$elm_markdown$Markdown$Renderer$renderHtmlNode, renderer, tag, attributes, children)); 36028 } else { 36029 return $elm$core$Maybe$Nothing; 36030 } 36031 } 36032 }); 36033var $dillonkearns$elm_markdown$Markdown$Renderer$renderStyled = F2( 36034 function (renderer, styledStrings) { 36035 return $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 36036 A3( 36037 $elm$core$List$foldr, 36038 $dillonkearns$elm_markdown$Markdown$Renderer$foldThing(renderer), 36039 _List_Nil, 36040 styledStrings)); 36041 }); 36042var $dillonkearns$elm_markdown$Markdown$Renderer$render = F2( 36043 function (renderer, ast) { 36044 return $dillonkearns$elm_markdown$Markdown$Renderer$combineResults( 36045 A2($dillonkearns$elm_markdown$Markdown$Renderer$renderHelper, renderer, ast)); 36046 }); 36047var $dtwrks$elm_book$ElmBook$UI$Markdown$view = F4( 36048 function (chapterTitle, chapterComponents, componentOptions, chapterContent) { 36049 return function (result) { 36050 if (!result.$) { 36051 var children = result.a; 36052 return A2( 36053 $elm$html$Html$article, 36054 _List_Nil, 36055 _List_fromArray( 36056 [ 36057 A2($elm$html$Html$div, _List_Nil, children) 36058 ])); 36059 } else { 36060 var errorString = result.a; 36061 return A2( 36062 $elm$html$Html$div, 36063 _List_fromArray( 36064 [ 36065 $elm$html$Html$Attributes$class('elm-book__component-wrapper') 36066 ]), 36067 _List_fromArray( 36068 [ 36069 A2( 36070 $elm$html$Html$pre, 36071 _List_fromArray( 36072 [ 36073 $elm$html$Html$Attributes$class('elm-book-sans elm-book__component-error') 36074 ]), 36075 _List_fromArray( 36076 [ 36077 $elm$html$Html$text(errorString) 36078 ])) 36079 ])); 36080 } 36081 }( 36082 A2( 36083 $elm$core$Result$andThen, 36084 function (blocks) { 36085 return A2( 36086 $dillonkearns$elm_markdown$Markdown$Renderer$render, 36087 A3($dtwrks$elm_book$ElmBook$UI$Markdown$componentRenderer, chapterTitle, chapterComponents, componentOptions), 36088 blocks); 36089 }, 36090 A2( 36091 $elm$core$Result$mapError, 36092 function (errors) { 36093 return A2( 36094 $elm$core$String$join, 36095 '\n', 36096 A2($elm$core$List$map, $dillonkearns$elm_markdown$Markdown$Parser$deadEndToString, errors)); 36097 }, 36098 $dillonkearns$elm_markdown$Markdown$Parser$parse(chapterContent)))); 36099 }); 36100var $dtwrks$elm_book$ElmBook$UI$Chapter$view = function (props) { 36101 var body = props.d4.fD ? props.fe : ('# ' + (props.gt + ('\n' + props.fe))); 36102 return A2( 36103 $elm$html$Html$article, 36104 _List_fromArray( 36105 [ 36106 $elm$html$Html$Attributes$class('elm-book elm-book-chapter') 36107 ]), 36108 _List_fromArray( 36109 [ 36110 A4($dtwrks$elm_book$ElmBook$UI$Markdown$view, props.gt, props.fj, props.d6, body) 36111 ])); 36112}; 36113var $elm$svg$Svg$Attributes$stroke = _VirtualDom_attribute('stroke'); 36114var $elm$svg$Svg$Attributes$strokeLinecap = _VirtualDom_attribute('stroke-linecap'); 36115var $elm$svg$Svg$Attributes$strokeLinejoin = _VirtualDom_attribute('stroke-linejoin'); 36116var $elm$svg$Svg$Attributes$strokeWidth = _VirtualDom_attribute('stroke-width'); 36117var $dtwrks$elm_book$ElmBook$UI$Icons$iconDarkMode = function (props) { 36118 return A2( 36119 $elm$svg$Svg$svg, 36120 _List_fromArray( 36121 [ 36122 $elm$svg$Svg$Attributes$width( 36123 $elm$core$String$fromInt(props.n)), 36124 $elm$svg$Svg$Attributes$height( 36125 $elm$core$String$fromInt(props.n)), 36126 $elm$svg$Svg$Attributes$viewBox('0 0 24 24'), 36127 $elm$svg$Svg$Attributes$fill('none'), 36128 $elm$svg$Svg$Attributes$stroke(props.U), 36129 $elm$svg$Svg$Attributes$strokeWidth('2'),
36130 $elm$svg$Svg$Attributes$strokeLinecap('round'), 36131 $elm$svg$Svg$Attributes$strokeLinejoin('round') 36132 ]), 36133 _List_fromArray( 36134 [ 36135 A2( 36136 $elm$svg$Svg$path, 36137 _List_fromArray( 36138 [ 36139 $elm$svg$Svg$Attributes$d('M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z') 36140 ]), 36141 _List_Nil) 36142 ])); 36143}; 36144var $dtwrks$elm_book$ElmBook$UI$ChapterHeader$view = function (props) { 36145 return A2( 36146 $elm$html$Html$div, 36147 _List_fromArray( 36148 [ 36149 $elm$html$Html$Attributes$class('elm-book elm-book-chapter-header') 36150 ]), 36151 _List_fromArray( 36152 [ 36153 A2( 36154 $elm$html$Html$p, 36155 _List_fromArray( 36156 [ 36157 $elm$html$Html$Attributes$class('elm-book-chapter-header__title') 36158 ]), 36159 _List_fromArray( 36160 [ 36161 $elm$html$Html$text(props.gt) 36162 ])), 36163 A2( 36164 $elm$html$Html$button, 36165 _List_fromArray( 36166 [ 36167 $elm$html$Html$Attributes$class('elm-book-chapter-header__btn'), 36168 $elm$html$Html$Events$onClick(props.f5) 36169 ]), 36170 _List_fromArray( 36171 [ 36172 $dtwrks$elm_book$ElmBook$UI$Icons$iconDarkMode( 36173 {U: 'currentColor', n: 16}) 36174 ])) 36175 ])); 36176}; 36177var $dtwrks$elm_book$ElmBook$UI$Icons$iconElm = function (props) { 36178 return A2( 36179 $elm$svg$Svg$svg, 36180 _List_fromArray( 36181 [ 36182 $elm$svg$Svg$Attributes$width( 36183 $elm$core$String$fromInt(props.n)), 36184 $elm$svg$Svg$Attributes$height( 36185 $elm$core$String$fromInt(props.n)), 36186 $elm$svg$Svg$Attributes$viewBox('0 0 256 256') 36187 ]), 36188 _List_fromArray( 36189 [ 36190 A2( 36191 $elm$svg$Svg$path, 36192 _List_fromArray( 36193 [ 36194 $elm$svg$Svg$Attributes$fill(props.U), 36195 $elm$svg$Svg$Attributes$d('M128 135.022L7.023 256h241.955z') 36196 ]), 36197 _List_Nil), 36198 A2( 36199 $elm$svg$Svg$path, 36200 _List_fromArray( 36201 [ 36202 $elm$svg$Svg$Attributes$fill(props.U), 36203 $elm$svg$Svg$Attributes$d('M202.332 195.311L256 248.98V141.643z') 36204 ]), 36205 _List_Nil), 36206 A2( 36207 $elm$svg$Svg$path, 36208 _List_fromArray( 36209 [ 36210 $elm$svg$Svg$Attributes$fill(props.U), 36211 $elm$svg$Svg$Attributes$d('M120.978 128L0 7.022V248.98z') 36212 ]), 36213 _List_Nil), 36214 A2( 36215 $elm$svg$Svg$path, 36216 _List_fromArray( 36217 [ 36218 $elm$svg$Svg$Attributes$fill(props.U), 36219 $elm$svg$Svg$Attributes$d('M256 113.806V0H142.193z') 36220 ]), 36221 _List_Nil), 36222 A2( 36223 $elm$svg$Svg$path, 36224 _List_fromArray( 36225 [ 36226 $elm$svg$Svg$Attributes$fill(props.U), 36227 $elm$svg$Svg$Attributes$d('M195.584 67.434l60.288 60.289l-60.563 60.564l-60.29-60.29z') 36228 ]), 36229 _List_Nil), 36230 A2( 36231 $elm$svg$Svg$path, 36232 _List_fromArray( 36233 [ 36234 $elm$svg$Svg$Attributes$fill(props.U), 36235 $elm$svg$Svg$Attributes$d('M7.021 0l55.725 55.726h121.13L128.15 0z') 36236 ]), 36237 _List_Nil), 36238 A2( 36239 $elm$svg$Svg$path, 36240 _List_fromArray( 36241 [ 36242 $elm$svg$Svg$Attributes$fill(props.U), 36243 $elm$svg$Svg$Attributes$d('M128 120.979l55.322-55.323H72.677z') 36244 ]), 36245 _List_Nil) 36246 ])); 36247}; 36248var $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccentVar = '--elm-book-accent'; 36249var $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent = $dtwrks$elm_book$ElmBook$UI$Helpers$var_($dtwrks$elm_book$ElmBook$UI$Helpers$themeAccentVar); 36250var $dtwrks$elm_book$ElmBook$UI$Footer$view = A2( 36251 $elm$html$Html$div, 36252 _List_fromArray( 36253 [ 36254 $elm$html$Html$Attributes$class('elm-book elm-book-sans') 36255 ]), 36256 _List_fromArray( 36257 [ 36258 A2( 36259 $elm$html$Html$a, 36260 _List_fromArray( 36261 [ 36262 $elm$html$Html$Attributes$href('https://package.elm-lang.org/packages/dtwrks/elm-book/latest/'), 36263 $elm$html$Html$Attributes$target('_blank'), 36264 $elm$html$Html$Attributes$class('elm-book-footer'), 36265 A2($elm$html$Html$Attributes$style, 'color', $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent) 36266 ]), 36267 _List_fromArray( 36268 [ 36269 $dtwrks$elm_book$ElmBook$UI$Icons$iconElm( 36270 {U: 'currentColor', n: 16}), 36271 A2( 36272 $elm$html$Html$div, 36273 _List_fromArray( 36274 [ 36275 $elm$html$Html$Attributes$class('elm-book-footer--text') 36276 ]), 36277 _List_fromArray( 36278 [ 36279 $elm$html$Html$text('dtwrks/elm-book') 36280 ])) 36281 ])) 36282 ])); 36283var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$header = function (theme) { 36284 return theme.fz; 36285}; 36286var $elm$html$Html$header = _VirtualDom_node('header'); 36287var $elm$svg$Svg$rect = $elm$svg$Svg$trustedNode('rect'); 36288var $elm$svg$Svg$Attributes$rx = _VirtualDom_attribute('rx'); 36289var $elm$svg$Svg$Attributes$transform = _VirtualDom_attribute('transform'); 36290var $elm$svg$Svg$Attributes$x = _VirtualDom_attribute('x'); 36291var $elm$svg$Svg$Attributes$y = _VirtualDom_attribute('y'); 36292var $dtwrks$elm_book$ElmBook$UI$Icons$iconClose = function (props) { 36293 return A2( 36294 $elm$svg$Svg$svg, 36295 _List_fromArray( 36296 [ 36297 $elm$svg$Svg$Attributes$width( 36298 $elm$core$String$fromInt(props.n)), 36299 $elm$svg$Svg$Attributes$height( 36300 $elm$core$String$fromInt(props.n)), 36301 $elm$svg$Svg$Attributes$viewBox('0 0 512 512') 36302 ]), 36303 _List_fromArray( 36304 [ 36305 A2( 36306 $elm$svg$Svg$path, 36307 _List_fromArray( 36308 [ 36309 $elm$svg$Svg$Attributes$fill(props.U), 36310 $elm$svg$Svg$Attributes$d('M451.792 0H59.208C26.561 0 0 26.561 0 59.208v393.084C0 484.939 26.561 511.5 59.208 511.5h392.584c32.647 0 59.208-26.561 59.208-59.208V59.208C511 26.561 484.439 0 451.792 0zM471 452.292c0 10.591-8.617 19.208-19.208 19.208H59.208C48.617 471.5 40 462.883 40 452.292V59.208C40 48.617 48.617 40 59.208 40h392.584C462.383 40 471 48.617 471 59.208v393.084z') 36311 ]), 36312 _List_Nil), 36313 A2( 36314 $elm$svg$Svg$rect, 36315 _List_fromArray( 36316 [ 36317 $elm$svg$Svg$Attributes$fill(props.U), 36318 $elm$svg$Svg$Attributes$x('105'), 36319 $elm$svg$Svg$Attributes$y('377.943'), 36320 $elm$svg$Svg$Attributes$width('386'), 36321 $elm$svg$Svg$Attributes$height('40'), 36322 $elm$svg$Svg$Attributes$rx('20'), 36323 $elm$svg$Svg$Attributes$transform('rotate(-45 105 377.943)') 36324 ]), 36325 _List_Nil), 36326 A2( 36327 $elm$svg$Svg$rect, 36328 _List_fromArray( 36329 [ 36330 $elm$svg$Svg$Attributes$fill(props.U), 36331 $elm$svg$Svg$Attributes$x('133.284'), 36332 $elm$svg$Svg$Attributes$y('105'), 36333 $elm$svg$Svg$Attributes$width('386'), 36334 $elm$svg$Svg$Attributes$height('40'), 36335 $elm$svg$Svg$Attributes$rx('20'), 36336 $elm$svg$Svg$Attributes$transform('rotate(45 133.284 105)') 36337 ]), 36338 _List_Nil) 36339 ])); 36340}; 36341var $dtwrks$elm_book$ElmBook$UI$Icons$iconMenu = function (props) { 36342 return A2( 36343 $elm$svg$Svg$svg, 36344 _List_fromArray( 36345 [ 36346 $elm$svg$Svg$Attributes$width( 36347 $elm$core$String$fromInt(props.n)), 36348 $elm$svg$Svg$Attributes$height( 36349 $elm$core$String$fromInt(props.n)), 36350 $elm$svg$Svg$Attributes$viewBox('0 0 512 512') 36351 ]), 36352 _List_fromArray( 36353 [ 36354 A2( 36355 $elm$svg$Svg$path, 36356 _List_fromArray( 36357 [ 36358 $elm$svg$Svg$Attributes$fill(props.U), 36359 $elm$svg$Svg$Attributes$d('M176.792 0H59.208C26.561 0 0 26.561 0 59.208v117.584C0 209.439 26.561 236 59.208 236h117.584C209.439 236 236 209.439 236 176.792V59.208C236 26.561 209.439 0 176.792 0zM196 176.792c0 10.591-8.617 19.208-19.208 19.208H59.208C48.617 196 40 187.383 40 176.792V59.208C40 48.617 48.617 40 59.208 40h117.584C187.383 40 196 48.617 196 59.208v117.584zM452 0H336c-33.084 0-60 26.916-60 60v116c0 33.084 26.916 60 60 60h116c33.084 0 60-26.916 60-60V60c0-33.084-26.916-60-60-60zm20 176c0 11.028-8.972 20-20 20H336c-11.028 0-20-8.972-20-20V60c0-11.028 8.972-20 20-20h116c11.028 0 20 8.972 20 20v116zM176.792 276H59.208C26.561 276 0 302.561 0 335.208v117.584C0 485.439 26.561 512 59.208 512h117.584C209.439 512 236 485.439 236 452.792V335.208C236 302.561 209.439 276 176.792 276zM196 452.792c0 10.591-8.617 19.208-19.208 19.208H59.208C48.617 472 40 463.383 40 452.792V335.208C40 324.617 48.617 316 59.208 316h117.584c10.591 0 19.208 8.617 19.208 19.208v117.584zM452 276H336c-33.084 0-60 26.916-60 60v116c0 33.084 26.916 60 60 60h116c33.084 0 60-26.916 60-60V336c0-33.084-26.916-60-60-60zm20 176c0 11.028-8.972 20-20 20H336c-11.028 0-20-8.972-20-20V336c0-11.028 8.972-20 20-20h116c11.028 0 20 8.972 20 20v116z') 36360 ]), 36361 _List_Nil) 36362 ])); 36363}; 36364var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$logo = function (theme) { 36365 return theme.dl; 36366}; 36367var $dtwrks$elm_book$ElmBook$UI$Header$viewDefault = function (props) { 36368 return A2( 36369 $elm$html$Html$span, 36370 _List_fromArray( 36371 [ 36372 $elm$html$Html$Attributes$class('elm-book-sans elm-book-header-default') 36373 ]), 36374 _List_fromArray( 36375 [ 36376 A2( 36377 $elm$core$Maybe$withDefault, 36378 $dtwrks$elm_book$ElmBook$UI$Icons$iconElm( 36379 {U: $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent, n: 24}), 36380 A2( 36381 $elm$core$Maybe$map, 36382 props.e0, 36383 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$logo(props.dQ))), 36384 A2( 36385 $elm$html$Html$span, 36386 _List_fromArray( 36387 [ 36388 $elm$html$Html$Attributes$class('elm-book-header-default--wrapper') 36389 ]), 36390 _List_fromArray( 36391 [ 36392 A2( 36393 $elm$html$Html$span, 36394 _List_fromArray( 36395 [ 36396 $elm$html$Html$Attributes$class('elm-book-header-default--title') 36397 ]), 36398 _List_fromArray( 36399 [ 36400 $elm$html$Html$text(props.gt) 36401 ])), 36402 A2( 36403 $elm$core$Maybe$withDefault, 36404 $elm$html$Html$text(''), 36405 A2( 36406 $elm$core$Maybe$map, 36407 function (subtitle) { 36408 return A2( 36409 $elm$html$Html$span, 36410 _List_fromArray( 36411 [ 36412 $elm$html$Html$Attributes$class('elm-book-header-default--subtitle') 36413 ]), 36414 _List_fromArray( 36415 [ 36416 $elm$html$Html$text(subtitle) 36417 ])); 36418 }, 36419 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$subtitle(props.dQ))) 36420 ])) 36421 ])); 36422}; 36423var $dtwrks$elm_book$ElmBook$UI$Header$view = function (props) { 36424 return A2( 36425 $elm$html$Html$header, 36426 _List_fromArray( 36427 [ 36428 $elm$html$Html$Attributes$class('elm-book-header') 36429 ]), 36430 _List_fromArray( 36431 [ 36432 A2( 36433 $elm$html$Html$a, 36434 _List_fromArray( 36435 [ 36436 $elm$html$Html$Attributes$href(props.ei), 36437 $elm$html$Html$Attributes$class('elm-book-header--link'), 36438 A2($elm$html$Html$Attributes$style, 'color', $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent) 36439 ]), 36440 _List_fromArray( 36441 [ 36442 A2( 36443 $elm$html$Html$h1, 36444 _List_fromArray( 36445 [ 36446 $elm$html$Html$Attributes$class('elm-book') 36447 ]), 36448 _List_fromArray( 36449 [ 36450 A2( 36451 $elm$core$Maybe$withDefault, 36452 $dtwrks$elm_book$ElmBook$UI$Header$viewDefault( 36453 {ei: props.ei, dQ: props.dQ, gt: props.gt, e0: props.e0}), 36454 A2( 36455 $elm$core$Maybe$map, 36456 props.e0, 36457 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$header(props.dQ))) 36458 ])) 36459 ])), 36460 A2( 36461 $elm$html$Html$button, 36462 _List_fromArray( 36463 [ 36464 $elm$html$Html$Attributes$class('elm-book elm-book-header--button'), 36465 $elm$html$Html$Events$onClick(props.f3) 36466 ]), 36467 _List_fromArray( 36468 [ 36469 props.M ? $dtwrks$elm_book$ElmBook$UI$Icons$iconClose( 36470 {U: $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent, n: 20}) : $dtwrks$elm_book$ElmBook$UI$Icons$iconMenu( 36471 {U: $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent, n: 20}) 36472 ])) 36473 ])); 36474}; 36475var $elm$html$Html$nav = _VirtualDom_node('nav'); 36476var $dtwrks$elm_book$ElmBook$UI$Nav$target_ = function (internal) { 36477 return internal ? $elm$html$Html$Attributes$class('') : $elm$html$Html$Attributes$target('_blank'); 36478}; 36479var $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentVar = '--elm-book-nav-accent'; 36480var $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccent = $dtwrks$elm_book$ElmBook$UI$Helpers$var_($dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentVar); 36481var $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentHighlightVar = '--elm-book-nav-accent-highlight';
36482var $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentHighlight = $dtwrks$elm_book$ElmBook$UI$Helpers$var_($dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentHighlightVar); 36483var $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavBackgroundVar = '--elm-book-nav-background'; 36484var $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavBackground = $dtwrks$elm_book$ElmBook$UI$Helpers$var_($dtwrks$elm_book$ElmBook$UI$Helpers$themeNavBackgroundVar); 36485var $dtwrks$elm_book$ElmBook$UI$Nav$view = function (props) { 36486 var item = function (_v2) { 36487 var url = _v2.a; 36488 var label = _v2.b; 36489 var internal = _v2.c; 36490 return A2( 36491 $elm$html$Html$li, 36492 _List_Nil, 36493 _List_fromArray( 36494 [ 36495 A2( 36496 $elm$html$Html$a, 36497 _List_fromArray( 36498 [ 36499 $elm$html$Html$Attributes$href(url), 36500 $dtwrks$elm_book$ElmBook$UI$Nav$target_(internal), 36501 $elm$html$Html$Attributes$classList( 36502 _List_fromArray( 36503 [ 36504 _Utils_Tuple2('elm-book-nav-item', true), 36505 _Utils_Tuple2( 36506 'active', 36507 _Utils_eq( 36508 props.cS, 36509 $elm$core$Maybe$Just(url))), 36510 _Utils_Tuple2( 36511 'pre-selected', 36512 _Utils_eq( 36513 props.gc, 36514 $elm$core$Maybe$Just(url))) 36515 ])), 36516 _Utils_eq( 36517 props.cS, 36518 $elm$core$Maybe$Just(url)) ? A2($elm$html$Html$Attributes$style, 'color', $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentHighlight) : A2($elm$html$Html$Attributes$style, 'color', $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccent) 36519 ]), 36520 _List_fromArray( 36521 [ 36522 A2( 36523 $elm$html$Html$div, 36524 _List_fromArray( 36525 [ 36526 $elm$html$Html$Attributes$class('elm-book-inset elm-book-nav-item-bg'), 36527 A2($elm$html$Html$Attributes$style, 'background-color', $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavBackground) 36528 ]), 36529 _List_Nil), 36530 A2( 36531 $elm$html$Html$div, 36532 _List_fromArray( 36533 [ 36534 $elm$html$Html$Attributes$class('elm-book-nav-item-content') 36535 ]), 36536 _List_fromArray( 36537 [ 36538 $elm$html$Html$text(label) 36539 ])) 36540 ])) 36541 ])); 36542 }; 36543 var list = function (_v1) { 36544 var title = _v1.a; 36545 var items = _v1.b; 36546 return $elm$core$List$isEmpty(items) ? $elm$html$Html$text('') : A2( 36547 $elm$html$Html$div, 36548 _List_fromArray( 36549 [ 36550 $elm$html$Html$Attributes$class('elm-book-nav-list-wrapper') 36551 ]), 36552 _List_fromArray( 36553 [ 36554 (title === '') ? $elm$html$Html$text('') : A2( 36555 $elm$html$Html$p, 36556 _List_fromArray( 36557 [ 36558 $elm$html$Html$Attributes$class('elm-book-nav-list-title'), 36559 A2($elm$html$Html$Attributes$style, 'color', $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent) 36560 ]), 36561 _List_fromArray( 36562 [ 36563 $elm$html$Html$text(title) 36564 ])), 36565 A2( 36566 $elm$html$Html$ul, 36567 _List_fromArray( 36568 [ 36569 $elm$html$Html$Attributes$class('elm-book-nav-list') 36570 ]), 36571 A2($elm$core$List$map, item, items)) 36572 ])); 36573 }; 36574 var isEmpty = !A3( 36575 $elm$core$List$foldl, 36576 F2( 36577 function (_v0, acc) { 36578 var xs = _v0.b; 36579 return acc + $elm$core$List$length(xs); 36580 }), 36581 0, 36582 props.fJ); 36583 return A2( 36584 $elm$html$Html$div, 36585 _List_fromArray( 36586 [ 36587 $elm$html$Html$Attributes$class('elm-book-wrapper elm-book-sans') 36588 ]), 36589 _List_fromArray( 36590 [ 36591 isEmpty ? A2( 36592 $elm$html$Html$p, 36593 _List_fromArray( 36594 [ 36595 $elm$html$Html$Attributes$class('elm-book-nav-empty'), 36596 A2($elm$html$Html$Attributes$style, 'color', $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccent) 36597 ]), 36598 _List_fromArray( 36599 [ 36600 $elm$html$Html$text('No results') 36601 ])) : A2( 36602 $elm$html$Html$nav, 36603 _List_fromArray( 36604 [ 36605 $elm$html$Html$Attributes$class('elm-book-nav') 36606 ]), 36607 A2($elm$core$List$map, list, props.fJ)) 36608 ])); 36609}; 36610var $dtwrks$elm_book$ElmBook$UI$Search$view = function (props) { 36611 return A2( 36612 $elm$html$Html$div, 36613 _List_fromArray( 36614 [ 36615 $elm$html$Html$Attributes$class('elm-book-wrapper elm-book-search-wrapper elm-book-sans') 36616 ]), 36617 _List_fromArray( 36618 [ 36619 A2( 36620 $elm$html$Html$div, 36621 _List_fromArray( 36622 [ 36623 $elm$html$Html$Attributes$class('elm-book-search-bg elm-book-inset') 36624 ]), 36625 _List_Nil), 36626 A2( 36627 $elm$html$Html$div, 36628 _List_fromArray( 36629 [ 36630 $elm$html$Html$Attributes$class('elm-book-search-border elm-book-inset') 36631 ]), 36632 _List_Nil), 36633 A2( 36634 $elm$html$Html$input, 36635 _List_fromArray( 36636 [ 36637 $elm$html$Html$Attributes$id('elm-book-search'), 36638 $elm$html$Html$Attributes$value(props.cN), 36639 $elm$html$Html$Events$onInput(props.cm), 36640 $elm$html$Html$Events$onFocus(props.cj), 36641 $elm$html$Html$Events$onBlur(props.cg), 36642 $elm$html$Html$Attributes$placeholder('Type \"âK\" to searchâ¦') 36643 ]), 36644 _List_Nil) 36645 ])); 36646}; 36647var $dtwrks$elm_book$ElmBook$UI$Helpers$css_ = function (x) { 36648 return A3( 36649 $elm$html$Html$node, 36650 'style', 36651 _List_Nil, 36652 _List_fromArray( 36653 [ 36654 $elm$html$Html$text(x) 36655 ])); 36656}; 36657var $dtwrks$elm_book$ElmBook$UI$Helpers$baseStyles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n@import url(\'https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600&family=IBM+Plex+Sans:wght@300;400;600&family=IBM+Plex+Serif:ital,wght@0,400;0,600;1,400;1,600&display=swap\');\n\n@keyframes fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.elm-book-fade-in {\n animation: 0.3s linear fade-in;\n}\n\n.elm-book-wrapper * {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\n.elm-book-wrapper,\n.elm-book {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\n.elm-book-sans {\n font-family: "IBM Plex Sans", "sans-serif";\n}\n\n.elm-book-serif {\n font-family: "IBM Plex Serif", "serif";\n}\n\n.elm-book-monospace {\n font-family: "Fira Code", "monospace";\n}\n\n.elm-book-inset {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n\n.elm-book-shadows {\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);\n}\n\n.elm-book-shadows-light {\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);\n}\n'); 36658var $dtwrks$elm_book$ElmBook$UI$ActionLog$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book-action-log-preview-wrapper {\n padding: 8px;\n}\n.elm-book-action-log-preview {\n display: block;\n width: 100%;\n padding: 0;\n margin: 0;\n border: none;\n border-radius: 4px;\n background-color: transparent;\n text-align: left;\n font-size: 14px;\n cursor: pointer;\n}\n.elm-book-action-log-preview:hover {\n opacity: 0.9;\n}\n.elm-book-action-log-preview:hover {\n opacity: 0.8;\n}\n\n.elm-book-action-log-preview-empty-wrapper {\n padding: 8px;\n font-size: 14px;\n color: #aaa;\n}
36658\n.elm-book-action-log-preview-empty {\n padding: 12px 20px;\n background-color: #f3f3f3;\n border-radius: 4px;\n}\n\n.elm-book-dark-mode .elm-book-action-log-preview-empty {\n background-color: #2f3238;\n}\n\n.elm-book-action-log-list-wrapper {\n position: relative;\n padding-top: 34px;\n}\n.elm-book-action-log-list-header {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 34px;\n padding: 0 20px;\n font-weight: bold;\n font-size: 14px;\n letter-spacing: 0.5px;\n color: #fff;\n}\n.elm-book-action-log-list {\n list-style-type: none;\n max-height: 70vh;\n overflow-y: auto;\n}\n.elm-book-action-log-list-item {\n border-top: 1px solid #e0e0e0;\n}\n.elm-book-dark-mode .elm-book-action-log-list-item {\n border-top-color: #3b3f47;\n}\n\n.elm-book-action-log-item-wrapper {\n display: flex;\n align-items: center;\n padding: 8px 20px 8px 0;\n font-size: 14px;\n background-color: #f5f5f5;\n}\n.elm-book-dark-mode .elm-book-action-log-item-wrapper {\n background-color: #2f3238;\n}\n\n.elm-book-action-log-item-index {\n width: 60px;\n text-align: center;\n display: inline-block;\n color: #a0a0a0;\n}\n.elm-book-action-log__main {\n flex-grow: 1;\n}\n.elm-book-action-log-item-preffix {\n padding-right: 16px;\n color: #a0a0a0;\n letter-spacing: 0.5px;\n font-size: 12px;\n}\n.elm-book-action-log-item-label {\n color: #404040;\n font-size: 13px;\n font-weight: bold;\n}\n.elm-book-dark-mode .elm-book-action-log-item-label {\n color: #f5f5f5;\n}\n'); 36659var $dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile = '@media screen and (max-width: 768px)'; 36660var $dtwrks$elm_book$ElmBook$UI$Chapter$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book-chapter {\n padding: 40px;\n width: 100%;\n}\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + ' {\n .elm-book-chapter {\n padding: 24px;\n }\n}\n')); 36661var $dtwrks$elm_book$ElmBook$UI$ChapterComponent$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book__chapter-component__title {\n padding-bottom: 12px;\n font-size: 14px;\n letter-spacing: 0.5px;\n color: #999;\n}\n\n.elm-book__chapter-component__background {\n padding: 12px;\n border-radius: 4px;\n background-color: #fff;\n}\n.elm-book-dark-mode .elm-book__chapter-component__background {\n background-color: #3b3f47;\n}\n\n.elm-book__chapter-component__content {\n border: 1px dashed transparent;\n position: relative;\n}\n.elm-book__chapter-component__content:hover {\n border-color: #eaeaea;\n}\n'); 36662var $dtwrks$elm_book$ElmBook$UI$ChapterHeader$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book-chapter-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0;\n padding: 8px 12px 8px 16px;\n\n}\n.elm-book-dark-mode .elm-book-chapter-header {\n color: #dadada;\n}\n\n.elm-book-chapter-header__title {\n margin: 0;\n padding: 0;\n font-size: 12px;\n font-weight: bold;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #b0b4ba;\n}\n.elm-book-dark-mode .elm-book-chapter-header__title {\n color: #dadada;\n}\n\n.elm-book-chapter-header__btn {\n border: none;\n background: none;\n color: #b0b4ba;\n}\n.elm-book-chapter-header__btn:hover {\n cursor: pointer;\n opacity: 0.8;\n}\n.elm-book-chapter-header__btn:active {\n opacity: 0.6;\n}\n.elm-book-dark-mode .elm-book-chapter-header__btn {\n color: #dadada;\n}\n'); 36663var $dtwrks$elm_book$ElmBook$UI$Footer$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book-footer {\n display: flex;\n align-items: center;\n width: 100%;\n margin: 0;\n padding: 13px 12px 13px;\n opacity: 0.8;\n transition: opacity 200ms;\n text-decoration: none;\n}\n.elm-book-footer:hover {\n opacity: 1;\n}\n\n.elm-book-footer--text {\n padding-left: 12px;\n font-size: 10px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: currentColor;\n}\n'); 36664var $dtwrks$elm_book$ElmBook$UI$Header$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book-header {\n display: flex;
36664\n align-items: center;\n justify-content: space-between;\n}\n\n.elm-book-header--link {\n display: block;\n padding: 8px 12px;\n text-decoration: none;\n}\n.elm-book-header--link:hover {\n opacity: 0.9;\n}\n.elm-book-header--link:active {\n opacity: 0.8;\n}\n\n.elm-book-header--button {\n display: none;\n padding: 12px;\n border: none;\n border-radius: 4px;\n box-shadow: none;\n background-color: transparent;\n cursor: pointer;\n}\n.elm-book-header--button:hover {\n opacity: 0.9;\n background-color: rgba(255, 255, 255, 0.1);\n}\n.elm-book-header--button:active {\n opacity: 0.4;\n}\n@media screen and (max-width: 768px) {\n .elm-book-header--button {\n display: flex;\n align-items: center;\n }\n}\n\n.elm-book-header-default {\n display: flex;\n align-items: center;\n}\n\n.elm-book-header-default--wrapper {\n display: block;\n padding-left: 16px;\n font-weight: 600;\n font-size: 16px;\n}\n\n.elm-book-header-default--title {\n display: block;\n padding-right: 4px;\n}\n\n.elm-book-header-default--subtitle {\n display: block;\n font-weight: 400;\n}\n'); 36665var $dtwrks$elm_book$ElmBook$UI$Helpers$mediaLargeScreen = '@media screen and (min-width: 1720px)'; 36666var $dtwrks$elm_book$ElmBook$UI$Markdown$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book__component-wrapper {\n max-width: 720px;\n margin: 0 auto;\n padding-bottom: 36px;\n}\n.elm-book__component-wrapper.full {\n max-width: 100%;\n}\n.elm-book__component-error {\n overflow: auto;\n padding: 20px;\n background-color: #f9e4b5;\n border-radius: 4px;\n border: 2px solid #eac97d;\n color: #ab7700;\n}\n\n.elm-book-md__component-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.elm-book-md__component-list__item + .elm-book-md__component-list__item {\n padding-top: 36px;\n}\n\n.elm-book-md {\n max-width: 720px;\n margin: 0 auto;\n padding-bottom: 36px;\n color: rgb(41,41,41);\n}\n\n.elm-book-dark-mode .elm-book-md {\n color: rgb(180, 180, 180); \n}\n\n.elm-book-md * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaLargeScreen + (' {\n .elm-book__component-wrapper {\n max-width: 960px;\n }\n .elm-book__component-wrapper.full {\n max-width: 100%;\n }\n .elm-book-md {\n max-width: 960px;\n }\n}\n\n.elm-book-md h1 {\n font-size: 46px;\n}\n.elm-book-md h2 {\n font-size: 32px;\n}\n.elm-book-md h3 {\n font-size: 24px;\n}\n.elm-book-md h4 {\n font-size: 20px;\n font-weight: normal;\n text-transform: uppercase;\n}\n.elm-book-md h5 {\n font-size: 18px;\n font-weight: normal;\n text-transform: uppercase;\n}\n.elm-book-md h6 {\n font-size: 16px;\n font-weight: normal;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.elm-book-md h1,\n.elm-book-md h2,\n.elm-book-md h3 {\n font-weight: bold;\n}\n\n.elm-book-md h1,\n.elm-book-md h2,\n.elm-book-md h3,\n.elm-book-md h4,\n.elm-book-md h5,\n.elm-book-md h6 {\n padding-top: 24px;\n}\n\n.elm-book-dark-mode .elm-book-md h1,\n.elm-book-dark-mode .elm-book-md h2,\n.elm-book-dark-mode .elm-book-md h3,\n.elm-book-dark-mode .elm-book-md h4,\n.elm-book-dark-mode .elm-book-md h5,\n.elm-book-dark-mode .elm-book-md h6 {\n color: #dadada;\n}\n\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + (' {\n .elm-book-md h1 {\n font-size: 40px;\n padding-top: 12px;\n }\n}\n\n.elm-book-md__default {\n line-height: 1.8em;\n color: rgb(80, 80, 90);\n font-size: 20px;\n}\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + (' {\n .elm-book-md__default {\n font-size: 18px;\n }\n}\n\n.elm-book-md a {\n color: #000;\n text-decoration: underline;\n}\n.elm-book-md a:hover {\n opacity: 0.8; \n}\n.elm-book-dark-mode .elm-book-md a {\n color: #f0f0f0;\n}\n\n.elm-book-md blockquote {\n font-size: 18px;\n margin-left: 0;\n padding: 8px 0 8px 24px;
36666\n border-left: 4px solid #f0f0f0;\n}\n.elm-book-md code {\n display: inline-block;\n border-radius: 4px;\n padding: 0 8px;\n background-color: #f0f0f0;\n border: 1px solid #eaeaea;\n color: #4a4a4a;\n font-size: 0.8em;\n line-height: 1.8em;\n}\n.elm-book-dark-mode .elm-book-md code {\n background-color: #333;\n border: 1px solid #444;\n color: #bababa;\n}\n\n\n.elm-book-md img {\n max-width: 100%;\n}\n.elm-book-md ul {\n padding-left: 32px;\n list-style: disc;\n}\n.elm-book-md ol {\n padding-left: 32px;\n}\n\n.elm-book-md hr {\n border: none;\n height: 2px;\n background-color: #f0f0f0;\n}\n.elm-book-dark-mode .elm-book-md hr {\n background-color: #3b3f47;\n}\n\n.elm-book-md table {\n border-collapse: collapse;\n overflow-x: auto;\n border: 2px solid #f0f0f0;\n}\n.elm-book-md thead {\n border: none;\n}\n.elm-book-md tbody {\n border: none;\n}\n.elm-book-md tr {\n border: none;\n border-top: 2px solid #f0f0f0;\n}\n.elm-book-md th,\n.elm-book-md td {\n border: none;\n border-right: 2px solid #f0f0f0;\n padding: 12px;\n}\n.elm-book-md th:last-child,\n.elm-book-md td:last-child {\n border-right: none;\n}\n\n.elm-book-dark-mode .elm-book-md table,\n.elm-book-dark-mode .elm-book-md tr,\n.elm-book-dark-mode .elm-book-md th,\n.elm-book-dark-mode .elm-book-md td {\n border-color: #3b3f47;\n}\n\n.elm-book-md__code,\n.elm-book-md__code code,\n.elm-book-dark-mode .elm-book-md__code,\n.elm-book-dark-mode .elm-book-md__code code {\n font-size: 18px;\n line-height: 22px;\n padding: 20px 24px;\n background-color: #2a354d;\n border-radius: 6px;\n border: none;\n overflow: auto;\n}\n.elm-book-md__code-default {}\n\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + ' {\n .elm-book-md__code,\n .elm-book-md__code code,\n .elm-book-dark-mode .elm-book-md__code,\n .elm-book-dark-mode .elm-book-md__code code {\n font-size: 16px;\n }\n}\n\n.elm-book-md pre.elmsh {\n padding: 0;\n margin: 0;\n}\n\n.elm-book-md code.elmsh {\n padding: 0;\n}\n\n.elm-book-md .elmsh {\n color: #f8f8f2;\n}\n.elm-book-md .elmsh-hl {\n background: #343434;\n}\n.elm-book-md .elmsh-add {\n background: #003800;\n}\n.elm-book-md .elmsh-del {\n background: #380000;\n}\n.elm-book-md .elmsh-comm {\n color: #a4a39c;\n}\n.elm-book-md .elmsh1 {\n color: #46f0ff;\n}\n.elm-book-md .elmsh2 {\n color: #a5fb98;\n}\n.elm-book-md .elmsh3 {\n color: #ff8f00;\n}\n.elm-book-md .elmsh4 {\n color: #46f0ff;\n}\n.elm-book-md .elmsh5 {\n color: #46f0ff;\n}\n.elm-book-md .elmsh6 {\n color: #46f0ff;\n}\n.elm-book-md .elmsh7 {\n color: #46f0ff;\n}\n.elm-book-md .elmsh-elm-ts, .elm-book-md .elmsh-js-dk, .elm-book-md .elmsh-css-p {\n font-style: italic;\n color: #46f0ff;\n}\n.elm-book-md .elmsh-js-ce {\n font-style: italic;\n color: #46f0ff;\n}\n.elm-book-md .elmsh-css-ar-i {\n font-weight: bold;\n color: #46f0ff;\n}\n')))))))); 36667var $dtwrks$elm_book$ElmBook$UI$Nav$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book-nav-empty {\n padding: 12px 20px;\n font-size: 14px;\n}\n\n.elm-book-nav-list-wrapper {\n padding-bottom: 16px;\n}\n\n.elm-book-nav-list-title {\n padding: 12px 20px 8px;\n font-weight: bold;\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.elm-book-nav-list {\n list-style-type: none;\n}\n\n.elm-book-nav-item {\n position: relative;\n display: flex;\n font-size: 14px;\n letter-spacing: 1px;\n text-decoration: none;\n}\n.elm-book-nav-item:focus {\n outline: none;\n}\n\n.elm-book-nav-item-content {\n position: relative;\n z-index: 1;\n padding: 8px 20px;\n}\n\n.elm-book-nav-item-bg {\n opacity: 0;\n}\n.elm-book-nav-item.pre-selected .elm-book-nav-item-bg {\n opacity: 0.1;\n}\n.elm-book-nav-item.active .elm-book-nav-item-bg {\n opacity: 0.2;\n}\n.elm-book-nav-item.active.pre-selected .elm-book-nav-item-bg {\n opacity: 0.25;\n}\n.elm-book-nav-item:hover .elm-book-nav-item-bg {\n opacity: 0.15;\n}\n.elm-book-nav-item:active .elm-book-nav-item-bg {\n opacity: 0.1;\n}\n.elm-book-nav-item.active:hover .elm-book-nav-item-bg {\n opacity: 0.25;\n}\n.elm-book-nav-item.active:active .elm-book-nav-item-bg {\n opacity: 0.2;\n}\n'); 36668var $dtwrks$elm_book$ElmBook$UI$Search$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book-search-wrapper {\n position: relative;\n width: 100%;\n}\n\n#elm-book-search {\n position: relative;\n z-index: 1;\n width: 100%;\n padding: 10px 12px;\n border: 0;\n border-radius: 4px;\n background: none;\n font-size: 14px;\n color: ' + ($dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent + (';\n transition: 0.2s;\n}\n#elm-book-search:focus {\n outline: none;\n}\n#elm-book-search::placeholder {\n border-radius: 4px;\n color: ' + ($dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccent + (';\n opacity: 0.7;\n}\n\n.elm-book-search-bg {\n opacity: 0.2;\n border-radius: 4px;\n background-color: ' + ($dtwrks$elm_book$ElmBook$UI$Helpers$themeNavBackgroun
36668d + (';\n}\n.elm-book-search-border {\n opacity: 0.5;\n border-radius: 4px;\n border: 0px solid ' + ($dtwrks$elm_book$ElmBook$UI$Helpers$themeAccent + ';\n transition: 0.2s;\n}\n\n.elm-book-search-wrapper:hover .elm-book-search-bg {\n opacity: 0.25;\n}\n.elm-book-search-wrapper:hover .elm-book-search-border {\n border-width: 3px;\n}\n.elm-book-search-wrapper:focus-within .elm-book-search-border {\n opacity: 1;\n border-width: 3px;\n}\n')))))))); 36669var $dtwrks$elm_book$ElmBook$UI$Wrapper$modalZ = '99999'; 36670var $dtwrks$elm_book$ElmBook$UI$Wrapper$sidebarSize = '300px'; 36671var $dtwrks$elm_book$ElmBook$UI$Wrapper$styles = $dtwrks$elm_book$ElmBook$UI$Helpers$css_('\n.elm-book--wrapper--globals {\n display: none;\n}\n\n.elm-book--wrapper {\n display: flex;\n align-items: stretch;\n background: ' + ($dtwrks$elm_book$ElmBook$UI$Helpers$themeBackground + (';\n}\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + (' {\n .elm-book--wrapper {\n flex-direction: column;\n }\n}\n\n.elm-book--wrapper--sidebar {\n display: flex;\n flex-direction: column;\n width: ' + ($dtwrks$elm_book$ElmBook$UI$Wrapper$sidebarSize + (';\n}\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + (' {\n .elm-book--wrapper--sidebar {\n width: 100%;\n }\n .elm-book--wrapper.is-open .elm-book--wrapper--sidebar {\n flex-grow: 1;\n }\n}\n\n.elm-book--wrapper--header {\n padding: 8px 8px 4px;\n}\n\n.elm-book--wrapper--menu {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + (' {\n .elm-book--wrapper--menu {\n display: none;\n }\n .elm-book--wrapper.is-open .elm-book--wrapper--menu {\n display: flex;\n }\n}\n\n.elm-book--wrapper--menu--header {\n padding: 8px;\n}\n\n.elm-book--wrapper--menu--separator {\n display: block;\n margin: 0;\n padding: 0;\n opacity: 0.2;\n border-top: none;\n border-bottom: 1px solid ' + ($dtwrks$elm_book$ElmBook$UI$Helpers$themeNavBackground + (';\n}\n\n.elm-book--wrapper--menu--main-wrapper {\n position: relative;\n flex-grow: 1;\n}\n\n.elm-book--wrapper--menu--main {\n overflow: auto;\n padding: 8px 0;\n}\n\n.elm-book--wrapper--menu--footer {\n padding: 8px;\n}\n\n.elm-book--wrapper--main {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n padding: 8px 8px 0 0;\n}\n' + ($dtwrks$elm_book$ElmBook$UI$Helpers$mediaMobile + (' {\n .elm-book--wrapper--main {\n display: flex;\n padding-left: 8px;\n }\n .elm-book--wrapper.is-open .elm-book--wrapper--main {\n display: none;\n }\n}\n\n.elm-book--wrapper--main--wrapper {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n background-color: #fbfbfd;\n border-radius: 4px 4px 0 0;\n overflow: hidden;\n}\n.elm-book-dark-mode .elm-book--wrapper--main--wrapper {\n background-color: #20232a;\n}\n\n.elm-book--wrapper--main--header {\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n.elm-book-dark-mode .elm-book--wrapper--main--header {\n border-bottom-color: rgba(255, 255, 255, 0.15);\n}\n\n.elm-book--wrapper--main--content {\n position: relative;\n flex-grow: 1;\n}\n\n.elm-book--wrapper--main--inner {\n overflow: auto;\n}\n\n.elm-book--wrapper--main--footer {\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n.elm-book-dark-mode .elm-book--wrapper--main--footer {\n border-top-color: rgba(255, 255, 255, 0.15);\n}\n\n.elm-book--wrapper--modal {\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: ' + ($dtwrks$elm_book$ElmBook$UI$Wrapper$modalZ + ';\n}\n\n.elm-book--wrapper--modal--bg {\n z-index: 0;\n cursor: pointer;\n background-color: rgba(0, 0, 0, 0.3);\n transition: background-color 300ms;\n}\n.elm-book--wrapper--modal--bg:hover {\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n.elm-book--wrapper--modal--content {\n position: relative;\n z-index: 1;\n margin: 40px;\n width: 640px;\n max-width: 100%;\n max-height: calc 100% - 120px;\n overflow-y: auto;\n background-color: #fff;\n border-radius: 8px;\n}\n.elm-book-dark-mode .elm-book--wrapper--modal--content {\n background-color: #20232a;\n}\n')))))))))))))))); 36672var $dtwrks$elm_book$ElmBook$UI$Styles$view = A2( 36673 $elm$html$Html$div, 36674 _List_Nil, 36675 _List_fromArray( 36676 [$dtwrks$elm_book$ElmBook$UI$Helpers$baseStyles, $dtwrks$elm_book$ElmBook$UI$ActionLog$styles, $dtwrks$elm_book$ElmBook$UI$Chapter$styles, $dtwrks$elm_book$ElmBook$UI$ChapterComponent$styles, $dtwrks$elm_book$ElmBook$UI$ChapterHeader$styles, $dtwrks$elm_book$ElmBook$UI$Footer$styles, $dtwrks$elm_book$ElmBook$UI$Header$styles, $dtwrks$elm_book$ElmBook$UI$Markdown$styles, $dtwrks$elm_book$ElmBook$UI$Nav$styles, $dtwrks$elm_book$ElmBook$UI$Search$styles, $dtwrks$elm_book$ElmBook$UI$Wrapper$styles])); 36677var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$accent = function (theme) { 36678 return theme.e9; 36679}; 36680var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$background = function (theme) { 36681 return theme.bF; 36682}; 36683var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$navAccent = function (theme) { 36684 return theme.f_; 36685}; 36686var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$navAccentHighlight = function (theme) { 36687 return theme.f$; 36688};
36689var $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$navBackground = function (theme) { 36690 return theme.f0; 36691}; 36692var $dtwrks$elm_book$ElmBook$UI$Helpers$setTheme = function (theme) { 36693 return A2( 36694 $elm$html$Html$Attributes$attribute, 36695 'style', 36696 $elm$core$String$concat( 36697 A2( 36698 $elm$core$List$map, 36699 function (_v0) { 36700 var k = _v0.a; 36701 var v = _v0.b; 36702 return k + (':' + (v + ';')); 36703 }, 36704 _List_fromArray( 36705 [ 36706 _Utils_Tuple2( 36707 $dtwrks$elm_book$ElmBook$UI$Helpers$themeBackgroundVar, 36708 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$background(theme)), 36709 _Utils_Tuple2( 36710 $dtwrks$elm_book$ElmBook$UI$Helpers$themeAccentVar, 36711 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$accent(theme)), 36712 _Utils_Tuple2( 36713 $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavBackgroundVar, 36714 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$navBackground(theme)), 36715 _Utils_Tuple2( 36716 $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentVar, 36717 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$navAccent(theme)), 36718 _Utils_Tuple2( 36719 $dtwrks$elm_book$ElmBook$UI$Helpers$themeNavAccentHighlightVar, 36720 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$navAccentHighlight(theme)) 36721 ])))); 36722}; 36723var $dtwrks$elm_book$ElmBook$UI$Wrapper$view = function (props) { 36724 return A2( 36725 $elm$html$Html$div, 36726 _List_fromArray( 36727 [ 36728 $dtwrks$elm_book$ElmBook$UI$Helpers$setTheme(props.dQ), 36729 props.az ? $elm$html$Html$Attributes$class('elm-book-dark-mode') : $elm$html$Html$Attributes$class('') 36730 ]), 36731 _List_fromArray( 36732 [ 36733 A2( 36734 $elm$html$Html$div, 36735 _List_fromArray( 36736 [ 36737 $elm$html$Html$Attributes$class('elm-book--wrapper--globals') 36738 ]), 36739 props.ee), 36740 A2( 36741 $elm$html$Html$div, 36742 _List_fromArray( 36743 [ 36744 $elm$html$Html$Attributes$classList( 36745 _List_fromArray( 36746 [ 36747 _Utils_Tuple2('elm-book--wrapper elm-book-inset', true), 36748 _Utils_Tuple2('is-open', props.M) 36749 ])) 36750 ]), 36751 _List_fromArray( 36752 [ 36753 A2( 36754 $elm$html$Html$div, 36755 _List_fromArray( 36756 [ 36757 $elm$html$Html$Attributes$class('elm-book--wrapper--sidebar') 36758 ]), 36759 _List_fromArray( 36760 [ 36761 A2( 36762 $elm$html$Html$div, 36763 _List_fromArray( 36764 [ 36765 $elm$html$Html$Attributes$class('elm-book--wrapper--header') 36766 ]), 36767 _List_fromArray( 36768 [props.fz])), 36769 A2( 36770 $elm$html$Html$div, 36771 _List_fromArray( 36772 [ 36773 $elm$html$Html$Attributes$class('elm-book--wrapper--menu') 36774 ]), 36775 _List_fromArray( 36776 [ 36777 A2( 36778 $elm$html$Html$div, 36779 _List_fromArray( 36780 [ 36781 $elm$html$Html$Attributes$class('elm-book--wrapper--menu--header') 36782 ]), 36783 _List_fromArray( 36784 [props.fV])), 36785 A2( 36786 $elm$html$Html$hr, 36787 _List_fromArray( 36788 [ 36789 $elm$html$Html$Attributes$class('elm-book--wrapper--menu--separator') 36790 ]), 36791 _List_Nil), 36792 A2( 36793 $elm$html$Html$div, 36794 _List_fromArray( 36795 [ 36796 $elm$html$Html$Attributes$class('elm-book--wrapper--menu--main-wrapper') 36797 ]), 36798 _List_fromArray( 36799 [ 36800 A2( 36801 $elm$html$Html$div, 36802 _List_fromArray( 36803 [ 36804 $elm$html$Html$Attributes$class('elm-book--wrapper--menu--main elm-book-inset') 36805 ]), 36806 _List_fromArray( 36807 [props.fT])) 36808 ])), 36809 A2( 36810 $elm$html$Html$hr, 36811 _List_fromArray( 36812 [ 36813 $elm$html$Html$Attributes$class('elm-book--wrapper--menu--separator') 36814 ]), 36815 _List_Nil), 36816 A2( 36817 $elm$html$Html$div, 36818 _List_fromArray( 36819 [ 36820 $elm$html$Html$Attributes$class('elm-book--wrapper--menu--footer') 36821 ]), 36822 _List_fromArray( 36823 [props.fU])) 36824 ])) 36825 ])), 36826 A2( 36827 $elm$html$Html$div, 36828 _List_fromArray( 36829 [ 36830 $elm$html$Html$Attributes$class('elm-book--wrapper--main') 36831 ]), 36832 _List_fromArray( 36833 [ 36834 A2( 36835 $elm$html$Html$div, 36836 _List_fromArray( 36837 [ 36838 $elm$html$Html$Attributes$class('elm-book--wrapper--main--wrapper') 36839 ]), 36840 _List_fromArray( 36841 [ 36842 function () { 36843 var _v0 = props.fO; 36844 if (!_v0.$) { 36845 var mainHeader = _v0.a; 36846 return A2( 36847 $elm$html$Html$div, 36848 _List_fromArray( 36849 [ 36850 $elm$html$Html$Attributes$class('elm-book--wrapper--main--header elm-book-sans') 36851 ]), 36852 _List_fromArray( 36853 [mainHeader])); 36854 } else { 36855 return $elm$html$Html$text(''); 36856 } 36857 }(), 36858 A2( 36859 $elm$html$Html$div, 36860 _List_fromArray( 36861 [ 36862 $elm$html$Html$Attributes$class('elm-book--wrapper--main--content') 36863 ]), 36864 _List_fromArray( 36865 [ 36866 A2( 36867 $elm$html$Html$div, 36868 _List_fromArray( 36869 [ 36870 $elm$html$Html$Attributes$id('elm-book-main'), 36871 $elm$html$Html$Attributes$class('elm-book--wrapper--main--inner elm-book-inset') 36872 ]), 36873 _List_fromArray( 36874 [props.eA])) 36875 ])), 36876 A2( 36877 $elm$html$Html$div, 36878 _List_fromArray( 36879 [ 36880 $elm$html$Html$Attributes$class('elm-book--wrapper--main--footer') 36881 ]), 36882 _List_fromArray( 36883 [props.fN])) 36884 ])) 36885 ])) 36886 ])), 36887 function () { 36888 var _v1 = props.fY; 36889 if (!_v1.$) { 36890 var html = _v1.a; 36891 return A2( 36892 $elm$html$Html$div, 36893 _List_fromArray( 36894 [ 36895 $elm$html$Html$Attributes$class('elm-book-inset elm-book-fade-in elm-book--wrapper--modal') 36896 ]), 36897 _List_fromArray( 36898 [ 36899 A2( 36900 $elm$html$Html$div, 36901 _List_fromArray( 36902 [ 36903 $elm$html$Html$Events$onClick(props.f4), 36904 $elm$html$Html$Attributes$class('elm-book-inset elm-book--wrapper--modal--bg') 36905 ]), 36906 _List_Nil), 36907 A2( 36908 $elm$html$Html$div, 36909 _List_fromArray( 36910 [ 36911 $elm$html$Html$Attributes$class('elm-book--wrapper--modal--content elm-book-shadows') 36912 ]), 36913 _List_fromArray( 36914 [html])) 36915 ])); 36916 } else { 36917 return $elm$html$Html$text(''); 36918 } 36919 }() 36920 ])); 36921}; 36922var $dtwrks$elm_book$ElmBook$Internal$Application$view = F2( 36923 function (config, model) { 36924 var theme = A2($dtwrks$elm_book$ElmBook$Internal$ThemeOptions$applyOverrides, config.dR, model.bx); 36925 var hashBasedNavigation = $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$hashBasedNavigation(config.dR); 36926 var activeChapter = A2($dtwrks$elm_book$ElmBook$Internal$Book$chapterFromUrl, config, model.gy); 36927 return { 36928 fe: _List_fromArray( 36929 [ 36930 $dtwrks$elm_book$ElmBook$UI$Styles$view, 36931 $dtwrks$elm_book$ElmBook$UI$Wrapper$view( 36932 { 36933 az: model.az, 36934 ee: A2( 36935 $elm$core$List$map, 36936 config.e0, 36937 A2($elm$core$Maybe$withDefault, _List_Nil, config.dR.ee)), 36938 fz: $dtwrks$elm_book$ElmBook$UI$Header$view( 36939 {ei: '/', M: model.M, f2: $dtwrks$elm_book$ElmBook$Internal$Msg$DoNothing, f3: $dtwrks$elm_book$ElmBook$Internal$Msg$ToggleMenu, dQ: config.dR, gt: config.gt, e0: config.e0}), 36940 M: model.M, 36941 eA: A2( 36942 $elm$core$Maybe$withDefault, 36943 $elm$html$Html$text(''), 36944 A2( 36945 $elm$core$Maybe$map, 36946 function (_v0) { 36947 var activeChapter_ = _v0; 36948 return $dtwrks$elm_book$ElmBook$UI$Chapter$view( 36949 { 36950 fe: activeChapter_.fe, 36951 d4: A2($dtwrks$elm_book$ElmBook$Internal$Chapter$toValidOptions, config.d4, activeChapter_.d4), 36952 d6: A2($dtwrks$elm_book$ElmBook$Internal$ComponentOptions$toValidOptions, config.d6, activeChapter_.d6), 36953 fj: A2( 36954 $elm$core$List$map, 36955 function (component) { 36956 return _Utils_Tuple2( 36957 component.aK, 36958 A3($dtwrks$elm_book$ElmBook$Internal$Application$componentView, config.e0, model.R, component.cP)); 36959 }, 36960 activeChapter_.m),
36961 gt: activeChapter_.gt 36962 }); 36963 }, 36964 activeChapter)), 36965 fN: A2( 36966 $elm$core$Maybe$withDefault, 36967 $dtwrks$elm_book$ElmBook$UI$ActionLog$previewEmpty, 36968 A2( 36969 $elm$core$Maybe$map, 36970 function (lastAction) { 36971 return $dtwrks$elm_book$ElmBook$UI$ActionLog$preview( 36972 { 36973 fL: lastAction, 36974 fM: $elm$core$List$length(model.Y) - 1, 36975 s: $dtwrks$elm_book$ElmBook$Internal$Msg$ActionLogShow 36976 }); 36977 }, 36978 $elm$core$List$head(model.Y))), 36979 fO: A2( 36980 $elm$core$Maybe$map, 36981 function (chapter) { 36982 return $dtwrks$elm_book$ElmBook$UI$ChapterHeader$view( 36983 { 36984 f5: $dtwrks$elm_book$ElmBook$Internal$Msg$ToggleDarkMode, 36985 gt: $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterBreadcrumb(chapter) 36986 }); 36987 }, 36988 activeChapter), 36989 fT: function () { 36990 var chaptersList = A2($dtwrks$elm_book$ElmBook$Internal$Application$searchChapters, model.aT, config.aw); 36991 var chaptersListSlugs = A2( 36992 $elm$core$List$map, 36993 $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterNavUrl(hashBasedNavigation), 36994 $elm$core$Array$toList(chaptersList)); 36995 return $dtwrks$elm_book$ElmBook$UI$Nav$view( 36996 { 36997 cS: A2( 36998 $elm$core$Maybe$map, 36999 $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterNavUrl(hashBasedNavigation), 37000 activeChapter), 37001 fJ: A2( 37002 $elm$core$List$map, 37003 $elm$core$Tuple$mapSecond( 37004 A2( 37005 $elm$core$Basics$composeR, 37006 $elm$core$List$map( 37007 function (index) { 37008 return A2($elm$core$Array$get, index, config.aw); 37009 }), 37010 A2( 37011 $elm$core$Basics$composeR, 37012 $elm$core$List$filterMap($elm$core$Basics$identity), 37013 A2( 37014 $elm$core$Basics$composeR, 37015 $elm$core$List$map( 37016 function (chapter) { 37017 var title = chapter.gt; 37018 var internal = chapter.er; 37019 return _Utils_Tuple3( 37020 A2($dtwrks$elm_book$ElmBook$Internal$Chapter$chapterNavUrl, hashBasedNavigation, chapter), 37021 title, 37022 internal); 37023 }), 37024 $elm$core$List$filter( 37025 function (_v1) { 37026 var slug = _v1.a; 37027 return A2($elm$core$List$member, slug, chaptersListSlugs); 37028 }))))), 37029 config.fi), 37030 gc: (model.bc && ($elm$core$Array$length(chaptersList) > 0)) ? A2( 37031 $elm$core$Maybe$map, 37032 $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterNavUrl(hashBasedNavigation), 37033 A2( 37034 $elm$core$Array$get, 37035 A2( 37036 $elm$core$Basics$modBy, 37037 $elm$core$Array$length(chaptersList), 37038 model.J), 37039 chaptersList)) : $elm$core$Maybe$Nothing 37040 }); 37041 }(), 37042 fU: $dtwrks$elm_book$ElmBook$UI$Footer$view, 37043 fV: $dtwrks$elm_book$ElmBook$UI$Search$view( 37044 {cg: $dtwrks$elm_book$ElmBook$Internal$Msg$SearchBlur, cj: $dtwrks$elm_book$ElmBook$Internal$Msg$SearchFocus, cm: $dtwrks$elm_book$ElmBook$Internal$Msg$Search, cN: model.aT}), 37045 fY: model.a$ ? $elm$core$Maybe$Just( 37046 $dtwrks$elm_book$ElmBook$UI$ActionLog$list(model.Y)) : $elm$core$Maybe$Nothing, 37047 f4: $dtwrks$elm_book$ElmBook$Internal$Msg$ActionLogHide, 37048 dQ: theme 37049 }) 37050 ]), 37051 gt: function () { 37052 var mainTitle = A2( 37053 $elm$core$Maybe$withDefault, 37054 config.gt, 37055 A2( 37056 $elm$core$Maybe$map, 37057 function (s) { 37058 return config.gt + (' | ' + s); 37059 }, 37060 $dtwrks$elm_book$ElmBook$Internal$ThemeOptions$subtitle(config.dR))); 37061 if (!activeChapter.$) { 37062 var title = activeChapter.a.gt; 37063 return title + (' - ' + mainTitle); 37064 } else { 37065 return mainTitle; 37066 } 37067 }() 37068 }; 37069 }); 37070var $dtwrks$elm_book$ElmBook$Internal$Application$withActionLogReset = function (previousModel) { 37071 return $elm$core$Tuple$mapFirst( 37072 function (model) { 37073 return (!_Utils_eq(model.gy, previousModel.gy)) ? _Utils_update( 37074 model, 37075 {Y: _List_Nil}) : model; 37076 }); 37077}; 37078var $dtwrks$elm_book$ElmBook$Internal$Application$application = F2( 37079 function (chapterGroups, bookBuilder) { 37080 var config = A2($dtwrks$elm_book$ElmBook$Internal$Book$configFromBuilder, chapterGroups, bookBuilder); 37081 return $elm$browser$Browser$application( 37082 { 37083 di: $dtwrks$elm_book$ElmBook$Internal$Application$init(config), 37084 f6: $dtwrks$elm_book$ElmBook$Internal$Msg$OnUrlChange, 37085 f7: $dtwrks$elm_book$ElmBook$Internal$Msg$OnUrlRequest, 37086 e_: function (_v0) { 37087 return $elm$core$Platform$Sub$batch( 37088 _List_fromArray( 37089 [ 37090 $elm$browser$Browser$Events$onKeyDown($dtwrks$elm_book$ElmBook$Internal$Application$keyDownDecoder), 37091 $elm$browser$Browser$Events$onKeyUp($dtwrks$elm_book$ElmBook$Internal$Application$keyUpDecoder), 37092 $elm$core$Platform$Sub$batch(config.eW.e_) 37093 ])); 37094 }, 37095 gx: F2( 37096 function (msg, model) { 37097 return A2( 37098 $dtwrks$elm_book$ElmBook$Internal$Application$withActionLogReset, 37099 model, 37100 A3($dtwrks$elm_book$ElmBook$Internal$Application$update, config, msg, model)); 37101 }), 37102 cP: $dtwrks$elm_book$ElmBook$Internal$Application$view(config) 37103 }); 37104 }); 37105var $dtwrks$elm_book$ElmBook$Internal$Chapter$chapterWithGroup = F3( 37106 function (routePrefix, group, _v0) { 37107 var chapter = _v0; 37108 var groupPrefix = (group === '') ? '' : ('/' + $dtwrks$elm_book$ElmBook$Internal$Helpers$toSlug(group)); 37109 return (!chapter.er) ? chapter : _Utils_update( 37110 chapter, 37111 { 37112 ef: $elm$core$Maybe$Just(group), 37113 gy: _Utils_ap( 37114 routePrefix, 37115 _Utils_ap(groupPrefix, chapter.gy)) 37116 }); 37117 }); 37118var $dtwrks$elm_book$ElmBook$withChapterGroups = F2( 37119 function (chapterGroups_, _v0) { 37120 var config = _v0; 37121 return A2( 37122 $dtwrks$elm_book$ElmBook$Internal$Application$application, 37123 A2( 37124 $elm$core$List$map, 37125 function (_v1) { 37126 var group = _v1.a; 37127 var chapters = _v1.b; 37128 return _Utils_Tuple2( 37129 group, 37130 A2( 37131 $elm$core$List$map, 37132 A2($dtwrks$elm_book$ElmBook$Internal$Chapter$chapterWithGroup, config.dR.gl, group), 37133 chapters)); 37134 }, 37135 chapterGroups_),
37136 config); 37137 }); 37138var $dtwrks$elm_book$ElmBook$withStatefulOptions = F2( 37139 function (attributes, _v0) { 37140 var config = _v0; 37141 return _Utils_update( 37142 config, 37143 { 37144 eW: A2($dtwrks$elm_book$ElmBook$Internal$Helpers$applyAttributes, attributes, config.eW) 37145 }); 37146 }); 37147var $dtwrks$elm_book$ElmBook$withThemeOptions = F2( 37148 function (themeAttributes, _v0) { 37149 var config = _v0; 37150 return _Utils_update( 37151 config, 37152 { 37153 dR: A2($dtwrks$elm_book$ElmBook$Internal$Helpers$applyAttributes, themeAttributes, config.dR) 37154 }); 37155 }); 37156var $author$project$Main$main = A2( 37157 $dtwrks$elm_book$ElmBook$withChapterGroups, 37158 _List_fromArray( 37159 [ 37160 _Utils_Tuple2( 37161 '', 37162 _List_fromArray( 37163 [ 37164 $author$project$Chapters$Overview$chapter_, 37165 $dtwrks$elm_book$ElmBook$Chapter$chapterLink( 37166 {gt: 'Package Docs', gy: 'https://package.elm-lang.org/packages/uncover-co/elm-widgets/latest/'}) 37167 ])), 37168 _Utils_Tuple2( 37169 'Basics', 37170 _List_fromArray( 37171 [$author$project$Chapters$Theme$chapter_, $author$project$Chapters$Core$Heading$chapter_])), 37172 _Utils_Tuple2( 37173 'Buttons', 37174 _List_fromArray( 37175 [$author$project$Chapters$Core$Buttons$chapter_, $author$project$Chapters$Core$ButtonGroup$chapter_])), 37176 _Utils_Tuple2( 37177 'Layout & Navigation', 37178 _List_fromArray( 37179 [$author$project$Chapters$Core$Container$chapter_, $author$project$Chapters$Core$Divider$chapter_, $author$project$Chapters$Information$Menu$chapter_, $author$project$Chapters$Layout$Modal$chapter_, $author$project$Chapters$Information$Pagination$chapter_, $author$project$Chapters$Information$Table$chapter_])), 37180 _Utils_Tuple2( 37181 'Information', 37182 _List_fromArray( 37183 [$author$project$Chapters$Information$Badge$chapter_, $author$project$Chapters$Information$DataRow$chapter_, $author$project$Chapters$Core$Loading$chapter_, $author$project$Chapters$Information$Message$chapter_, $author$project$Chapters$Information$Notification$chapter_, $author$project$Chapters$Information$Popover$chapter_, $author$project$W$Docs$Skeleton$docs, $author$project$Chapters$Information$Tag$chapter_, $author$project$Chapters$Information$Tooltip$chapter_])), 37184 _Utils_Tuple2( 37185 'Inputs', 37186 _List_fromArray( 37187 [$author$project$Chapters$Form$Field$chapter_, $author$project$Chapters$Form$InputText$chapter_, $author$project$Chapters$Form$InputTextArea$chapter_, $author$project$Chapters$Form$InputAutocomplete$chapter_, $author$project$Chapters$Form$InputSelect$chapter_, $author$project$Chapters$Form$InputInt$chapter_, $author$project$Chapters$Form$InputFloat$chapter_, $author$project$Chapters$Form$InputColor$chapter_, $author$project$W$Docs$InputCode$docs, $author$project$Chapters$Form$InputDate$chapter_, $author$project$Chapters$Form$InputTime$chapter_, $author$project$Chapters$Form$InputCheckbox$chapter_, $author$project$Chapters$Form$InputRadio$chapter_, $author$project$Chapters$Form$InputSlider$chapter_])) 37188 ]), 37189 A2( 37190 $dtwrks$elm_book$ElmBook$withThemeOptions, 37191 _List_fromArray( 37192 [ 37193 $dtwrks$elm_book$ElmBook$ThemeOptions$subtitle('Stateless & Tasteful'), 37194 A2($dtwrks$elm_book$ElmBook$ThemeOptions$backgroundGradient, '#0087cf', $uncover_co$elm_theme$Theme$primaryBackground), 37195 $dtwrks$elm_book$ElmBook$ThemeOptions$globals( 37196 _List_fromArray( 37197 [ 37198 $uncover_co$elm_theme$Theme$globalProviderWithDarkMode( 37199 { 37200 d7: $uncover_co$elm_theme$Theme$darkTheme, 37201 ey: $uncover_co$elm_theme$Theme$lightTheme, 37202 eX: $uncover_co$elm_theme$Theme$classStrategy('elm-book-dark-mode') 37203 }), 37204 $author$project$W$Styles$globalStyles, 37205 A3( 37206 $elm$html$Html$node, 37207 'style', 37208 _List_Nil, 37209 _List_fromArray( 37210 [ 37211 $elm$html$Html$text('@import url(\'https://fonts.googleapis.com/css2?family=Leckerli+One&family=Patrick+Hand&family=Press+Start+2P&family=Raleway&display=swap\')') 37212 ])) 37213 ])) 37214 ]), 37215 A2( 37216 $dtwrks$elm_book$ElmBook$withStatefulOptions, 37217 _List_fromArray( 37218 [ 37219 $dtwrks$elm_book$ElmBook$StatefulOptions$initialState( 37220 {cU: $author$project$Chapters$Form$InputAutocomplete$init, eo: $author$project$W$Docs$InputCode$init, aF: $author$project$Chapters$Form$InputFloat$init, ep: $author$project$Chapters$Form$InputInt$init, aG: $author$project$Chapters$Form$InputText$init, b4: $author$project$Chapters$Form$InputTextArea$init, aP: $author$project$Chapters$Overview$init, dx: $author$project$Chapters$Information$Popover$init, aR: $author$project$Chapters$Form$InputSlider$init, dQ: $author$project$Chapters$Theme$init}) 37221 ]), 37222 $dtwrks$elm_book$ElmBook$book('elm-widgets')))); 37223_Platform_export({'Main':{'init':$author$project$Main$main( 37224 $elm$json$Json$Decode$succeed(0))(0)}});}(this));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.