{
  "version": 3,
  "sources": ["/cdn/shop/t/54/assets/enl-tiroir-v2.js?x=2448"],
  "sourcesContent": ["/*\n  Enlys\u00E9e No\u00EBl 2026 : le tiroir du panier, version 2 (F35), assets/enl-tiroir-v2.js.\n  R\u00F4le : la phrase d'\u00E9tat de la hotte du tiroir (que assets/enl-hotte.js met \u00E0 jour \u00E0 chaque changement du panier) devient une\n         zone annonc\u00E9e aux lecteurs d'\u00E9cran (role=\"status\", aria-live=\"polite\") : les cadeaux ne sont plus des lignes du tiroir,\n         c'est la hotte qui dit ce qui est gagn\u00E9. Le reste de la version 2 est en CSS (assets/enl-tiroir-v2.css).\n  Interrupteur : charg\u00E9 par snippets/enl-tiroir-head.liquid si la case enl_tiroir_v2 est coch\u00E9e, ou en mode d'essai.\n  Fiche : 00-architecte/recherche/site-noel/F35-tiroir-refonte.md. Date : 11 novembre 2026. Aucune d\u00E9pendance.\n*/\n(function () {\n  'use strict';\n  function annoncer() {\n    var etat = document.querySelector('#CartDrawer .enl-hb--tiroir [data-enl-hb-etat]');\n    if (!etat || etat.getAttribute('role') === 'status') return;\n    etat.setAttribute('role', 'status');\n    etat.setAttribute('aria-live', 'polite');\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', annoncer);\n  else annoncer();\n  // La hotte peut \u00EAtre rendue plus tard (tiroir recharg\u00E9 par Impulse) : on repasse \u00E0 chaque mise \u00E0 jour du panier\n  document.addEventListener('cart:updated', annoncer);\n  document.addEventListener('ajaxProduct:added', annoncer);\n\n  // V61 (majeur) : repli du focus apr\u00E8s \u00AB Retirer \u00BB. Impulse redessine la liste et le lien activ\u00E9 dispara\u00EEt : le focus\n  // tombait sur la page, hors du tiroir. On retient la place du \u00AB Retirer \u00BB activ\u00E9 ; apr\u00E8s la mise \u00E0 jour, focus sur le\n  // \u00AB Retirer \u00BB visible qui a pris sa place (le suivant), sinon le pr\u00E9c\u00E9dent, sinon la croix du tiroir.\n  var RETIRER = '.cart__remove a, [data-enl-retirer]';\n  var place = -1;\n  function retirersVisibles() {\n    var tiroir = document.getElementById('CartDrawer');\n    if (!tiroir) return [];\n    return Array.prototype.filter.call(tiroir.querySelectorAll(RETIRER), function (a) { return a.offsetParent !== null; });\n  }\n  document.addEventListener('click', function (e) {\n    var lien = e.target.closest && e.target.closest('#CartDrawer ' + RETIRER.split(', ').join(', #CartDrawer '));\n    place = lien ? retirersVisibles().indexOf(lien) : -1;\n    // V62 : si le retrait \u00E9choue (r\u00E9seau coup\u00E9), cart:updated ne vient pas ; la place est oubli\u00E9e au bout de 3 s.\n    if (place >= 0) {\n      var p = place;\n      window.setTimeout(function () { if (place === p) place = -1; }, 3000);\n    }\n  }, true);\n  // Le tiroir est redessin\u00E9 deux fois (Impulse, puis la hotte qui remet ses cadeaux) : on attend 250 ms sans changement\n  // dans le tiroir (2 s au plus) avant de poser le focus, sinon il retombe sur la page au second dessin.\n  document.addEventListener('cart:updated', function () {\n    if (place < 0) return;\n    var p = place;\n    place = -1;\n    var tiroir = document.getElementById('CartDrawer');\n    if (!tiroir) return;\n    var minuteur = null;\n    var debut = Date.now();\n    function poser() {\n      observateur.disconnect();\n      if (!tiroir.classList.contains('drawer--is-open')) return;\n      if (tiroir.contains(document.activeElement) && document.activeElement !== tiroir) return;\n      var liste = retirersVisibles();\n      var cible = liste[p] || liste[p - 1] || tiroir.querySelector('.drawer__close-button');\n      if (cible) cible.focus();\n    }\n    function attendre() {\n      window.clearTimeout(minuteur);\n      minuteur = window.setTimeout(poser, Date.now() - debut > 1750 ? 0 : 250);\n    }\n    var observateur = new MutationObserver(attendre);\n    observateur.observe(tiroir, { childList: true, subtree: true });\n    attendre();\n  });\n})();\n"],
  "mappings": "CAQC,UAAY,CACX,aACA,SAAS,UAAW,CAClB,IAAI,KAAO,SAAS,cAAc,gDAAgD,EAC9E,CAAC,MAAQ,KAAK,aAAa,MAAM,IAAM,WAC3C,KAAK,aAAa,OAAQ,QAAQ,EAClC,KAAK,aAAa,YAAa,QAAQ,EACzC,CACI,SAAS,aAAe,UAAW,SAAS,iBAAiB,mBAAoB,QAAQ,EACxF,SAAS,EAEd,SAAS,iBAAiB,eAAgB,QAAQ,EAClD,SAAS,iBAAiB,oBAAqB,QAAQ,EAKvD,IAAI,QAAU,sCACV,MAAQ,GACZ,SAAS,kBAAmB,CAC1B,IAAI,OAAS,SAAS,eAAe,YAAY,EACjD,OAAK,OACE,MAAM,UAAU,OAAO,KAAK,OAAO,iBAAiB,OAAO,EAAG,SAAU,EAAG,CAAE,OAAO,EAAE,eAAiB,IAAM,CAAC,EADjG,CAAC,CAEvB,CACA,SAAS,iBAAiB,QAAS,SAAU,EAAG,CAC9C,IAAI,KAAO,EAAE,OAAO,SAAW,EAAE,OAAO,QAAQ,eAAiB,QAAQ,MAAM,IAAI,EAAE,KAAK,gBAAgB,CAAC,EAG3G,GAFA,MAAQ,KAAO,iBAAiB,EAAE,QAAQ,IAAI,EAAI,GAE9C,OAAS,EAAG,CACd,IAAI,EAAI,MACR,OAAO,WAAW,UAAY,CAAM,QAAU,IAAG,MAAQ,GAAI,EAAG,GAAI,CACtE,CACF,EAAG,EAAI,EAGP,SAAS,iBAAiB,eAAgB,UAAY,CACpD,GAAI,MAAQ,EAAG,OACf,IAAI,EAAI,MACR,MAAQ,GACR,IAAI,OAAS,SAAS,eAAe,YAAY,EACjD,GAAI,CAAC,OAAQ,OACb,IAAI,SAAW,KACX,MAAQ,KAAK,IAAI,EACrB,SAAS,OAAQ,CAEf,GADA,YAAY,WAAW,EACnB,EAAC,OAAO,UAAU,SAAS,iBAAiB,GAC5C,SAAO,SAAS,SAAS,aAAa,GAAK,SAAS,gBAAkB,QAC1E,KAAI,MAAQ,iBAAiB,EACzB,MAAQ,MAAM,CAAC,GAAK,MAAM,EAAI,CAAC,GAAK,OAAO,cAAc,uBAAuB,EAChF,OAAO,MAAM,MAAM,EACzB,CACA,SAAS,UAAW,CAClB,OAAO,aAAa,QAAQ,EAC5B,SAAW,OAAO,WAAW,MAAO,KAAK,IAAI,EAAI,MAAQ,KAAO,EAAI,GAAG,CACzE,CACA,IAAI,YAAc,IAAI,iBAAiB,QAAQ,EAC/C,YAAY,QAAQ,OAAQ,CAAE,UAAW,GAAM,QAAS,EAAK,CAAC,EAC9D,SAAS,CACX,CAAC,CACH,GAAG",
  "names": []
}
