{"version":3,"file":"chunks/60932c0a23ddf3.js","mappings":"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ACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KACA,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,SAAU,CACN,IACA,KACA,KACA,KAEJ,QAAS,CACL,IACA,IACA,MAEJ,SAAU,CACN,IACA,KACA,IACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,MAEJ,QAAS,CACL,IACA,IACA,MAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,IACA,IACA,MAEJ,QAAS,CACL,IACA,IACA,MAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,KACA,IACA,KAEJ,QAAS,CACL,KACA,IACA,KACA,KAEJ,QAAS,CACL,KACA,IACA,KAEJ,QAAS,CACL,IACA,KACA,KACA,MEzwCR,SAASC,GAA+BC,GACpC,IAAI7C,EAAY6C,EAAO7C,UASvB,QARkBh3C,IAAdg3C,GAEA6C,EAAOC,YAEPD,EAAOC,WAAW13C,SAElB40C,EAAY6C,EAAOC,WAAW,IAE9B9C,EACA,OAAQA,GACJ,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,IAAK,MACD,MAAO,IACX,QACI,MAAM,IAAI3vB,MAAM,qBAI5B,IACI0yB,EADAC,EAAcH,EAAOI,SASzB,MAPoB,SAAhBD,IACAD,EAAYF,EAAOK,WAAWC,SAEjBR,GAASI,GAAa,KACnCJ,GAASK,GAAe,KACxBL,GAAS,GAAGhuC,OAAOquC,EAAa,UAChCL,GAAS,QACK,EACtB,CD3EA,IAAIS,GAA8B,IAAIruB,OAAO,IAAIpgB,OAAO0qC,GAAsBr6B,OAAQ,MAClFq+B,GAA4B,IAAItuB,OAAO,GAAGpgB,OAAO0qC,GAAsBr6B,OAAQ,OACnF,SAASs+B,GAAe3+B,EAAO6vB,GAC3B,MAAO,CAAE7vB,MAAOA,EAAO6vB,IAAKA,EAChC,CAGA,IAAI+O,KAAwBtrC,OAAOwW,UAAU+0B,WACzCC,KAA2BxrC,OAAOyrC,cAClCC,KAAyBzuC,OAAOiiC,YAChCyM,KAAyB3rC,OAAOwW,UAAUo1B,YAC1CC,KAAiB7rC,OAAOwW,UAAUs1B,UAClCC,KAAe/rC,OAAOwW,UAAUw1B,QAEhCC,GAD2BlsC,OAAOksC,cAEhClsC,OAAOksC,cACP,SAAUl1B,GACR,MAAqB,iBAANA,GACXm1B,SAASn1B,IACT9W,KAAKksC,MAAMp1B,KAAOA,GAClB9W,KAAKk7B,IAAIpkB,IAAM,gBACvB,EAEAq1B,IAAyB,EAC7B,IAQIA,GAA8F,OAA5C,QAAvBjrB,GAPlBkrB,GAAG,4CAA6C,MAOtBC,KAAK,YAAyB,IAAPnrB,QAAgB,EAASA,GAAG,GAC1F,CACA,MAAOiW,GACHgV,IAAyB,CAC7B,CACA,IAyFIG,GAzFAhB,GAAaD,GAET,SAAoB7zB,EAAG+0B,EAAQt0C,GAC3B,OAAOuf,EAAE8zB,WAAWiB,EAAQt0C,EAChC,EAEA,SAAoBuf,EAAG+0B,EAAQt0C,GAC3B,OAAOuf,EAAEtX,MAAMjI,EAAUA,EAAWs0C,EAAOr5C,UAAYq5C,CAC3D,EACJf,GAAgBD,GACdxrC,OAAOyrC,cAEL,WAEI,IADA,IAAIgB,EAAa,GACRjD,EAAK,EAAGA,EAAKv2C,UAAUE,OAAQq2C,IACpCiD,EAAWjD,GAAMv2C,UAAUu2C,GAM/B,IAJA,IAGIkD,EAHAroC,EAAW,GACXlR,EAASs5C,EAAWt5C,OACpBI,EAAI,EAEDJ,EAASI,GAAG,CAEf,IADAm5C,EAAOD,EAAWl5C,MACP,QACP,MAAMm0C,WAAWgF,EAAO,8BAC5BroC,GACIqoC,EAAO,MACD1sC,OAAO8W,aAAa41B,GACpB1sC,OAAO8W,aAAyC,QAA1B41B,GAAQ,QAAY,IAAeA,EAAO,KAAS,MACvF,CACA,OAAOroC,CACX,EACJ66B,GAEJwM,GACMzuC,OAAOiiC,YAEL,SAAqBriB,GAEjB,IADA,IAAI1K,EAAM,CAAC,EACFq3B,EAAK,EAAGmD,EAAY9vB,EAAS2sB,EAAKmD,EAAUx5C,OAAQq2C,IAAM,CAC/D,IAAIroB,EAAKwrB,EAAUnD,GAAKzrC,EAAIojB,EAAG,GAAIyD,EAAIzD,EAAG,GAC1ChP,EAAIpU,GAAK6mB,CACb,CACA,OAAOzS,CACX,EACJy5B,GAAcD,GAEV,SAAqBl0B,EAAGwU,GACpB,OAAOxU,EAAEm0B,YAAY3f,EACzB,EAEA,SAAqBxU,EAAGwU,GACpB,IAAIpb,EAAO4G,EAAEtkB,OACb,KAAI84B,EAAQ,GAAKA,GAASpb,GAA1B,CAGA,IACIq3B,EADA0E,EAAQn1B,EAAE+P,WAAWyE,GAEzB,OAAO2gB,EAAQ,OACXA,EAAQ,OACR3gB,EAAQ,IAAMpb,IACbq3B,EAASzwB,EAAE+P,WAAWyE,EAAQ,IAAM,OACrCic,EAAS,MACP0E,EAC4B1E,EAAS,OAAnC0E,EAAQ,OAAW,IAA0B,KATrD,CAUJ,EACJd,GAAYD,GAER,SAAmBp0B,GACf,OAAOA,EAAEq0B,WACb,EAEA,SAAmBr0B,GACf,OAAOA,EAAEjC,QAAQ21B,GAA6B,GAClD,EACJa,GAAUD,GAEN,SAAiBt0B,GACb,OAAOA,EAAEu0B,SACb,EAEA,SAAiBv0B,GACb,OAAOA,EAAEjC,QAAQ41B,GAA2B,GAChD,EAER,SAASiB,GAAG50B,EAAGxH,GACX,OAAO,IAAI6M,OAAOrF,EAAGxH,EACzB,CAGA,GAAIm8B,GAAwB,CAExB,IAAIS,GAAyBR,GAAG,4CAA6C,MAC7EE,GAAyB,SAAgC90B,EAAGwU,GACxD,IAAI9K,EAGJ,OAFA0rB,GAAuBlS,UAAY1O,EAER,QAAnB9K,EADI0rB,GAAuBP,KAAK70B,GACrB,UAAuB,IAAP0J,EAAgBA,EAAK,EAC5D,CACJ,MAGIorB,GAAyB,SAAgC90B,EAAGwU,GAExD,IADA,IAAIjZ,EAAQ,KACC,CACT,IAAI85B,EAAIlB,GAAYn0B,EAAGwU,GACvB,QAAUl7B,IAAN+7C,GAAmBC,GAAcD,IAAME,GAAiBF,GACxD,MAEJ95B,EAAMrgB,KAAKm6C,GACX7gB,GAAS6gB,GAAK,MAAU,EAAI,CAChC,CACA,OAAOrB,GAAcnuC,WAAM,EAAQ0V,EACvC,EAEJ,IAAI,GAAwB,WACxB,SAASi6B,EAAO30B,EAAS/U,QACL,IAAZA,IAAsBA,EAAU,CAAC,GACrC1T,KAAKyoB,QAAUA,EACfzoB,KAAKqI,SAAW,CAAE4O,OAAQ,EAAGomC,KAAM,EAAGC,OAAQ,GAC9Ct9C,KAAKu9C,YAAc7pC,EAAQ6pC,UAC3Bv9C,KAAK+6C,OAASrnC,EAAQqnC,OACtB/6C,KAAKw9C,sBAAwB9pC,EAAQ8pC,oBACrCx9C,KAAKy9C,uBAAyB/pC,EAAQ+pC,oBAC1C,CAqyBA,OApyBAL,EAAOz2B,UAAUtiB,MAAQ,WACrB,GAAsB,IAAlBrE,KAAKiX,SACL,MAAMsR,MAAM,gCAEhB,OAAOvoB,KAAK09C,aAAa,EAAG,IAAI,EACpC,EACAN,EAAOz2B,UAAU+2B,aAAe,SAAUC,EAAcC,EAAeC,GAEnE,IADA,IAAIrpC,EAAW,IACPxU,KAAK89C,SAAS,CAClB,IAAIC,EAAO/9C,KAAK+9C,OAChB,GAAa,MAATA,EAAwB,CAExB,IADIzoB,EAASt1B,KAAKg+C,cAAcL,EAAcE,IACnCv2B,IACP,OAAOgO,EAEX9gB,EAAS1R,KAAKwyB,EAAO7N,IACzB,KACK,IAAa,MAATs2B,GAA0BJ,EAAe,EAC9C,MAEC,GAAa,KAATI,GACc,WAAlBH,GAAgD,kBAAlBA,EAQ9B,IAAa,KAATG,IACJ/9C,KAAKu9C,WACU,KAAhBv9C,KAAK+7B,OACP,CACE,GAAI8hB,EACA,MAGA,OAAO79C,KAAKsoB,MAAM,wBAAiCkzB,GAAex7C,KAAKi+C,gBAAiBj+C,KAAKi+C,iBAErG,CACK,GAAa,KAATF,IACJ/9C,KAAKu9C,WACNW,GAASl+C,KAAK+7B,QAAU,GAAI,CAE5B,IADIzG,EAASt1B,KAAKm+C,SAASR,EAAcC,IAC9Bt2B,IACP,OAAOgO,EAEX9gB,EAAS1R,KAAKwyB,EAAO7N,IACzB,KACK,CACD,IAAI6N,EACJ,IADIA,EAASt1B,KAAKo+C,aAAaT,EAAcC,IAClCt2B,IACP,OAAOgO,EAEX9gB,EAAS1R,KAAKwyB,EAAO7N,IACzB,MAlCuE,CACnE,IAAIpf,EAAWrI,KAAKi+C,gBACpBj+C,KAAKq+C,OACL7pC,EAAS1R,KAAK,CACVI,KAAMkzC,EAAKiB,MACXlvB,SAAUqzB,GAAenzC,EAAUrI,KAAKi+C,kBAEhD,CA2BA,CACJ,CACA,MAAO,CAAEx2B,IAAKjT,EAAU8S,IAAK,KACjC,EAmBA81B,EAAOz2B,UAAUw3B,SAAW,SAAUR,EAAcC,GAChD,IAAIU,EAAgBt+C,KAAKi+C,gBACzBj+C,KAAKq+C,OACL,IAAIxkB,EAAU75B,KAAKu+C,eAEnB,GADAv+C,KAAKw+C,YACDx+C,KAAKy+C,OAAO,MAEZ,MAAO,CACHh3B,IAAK,CACDvkB,KAAMkzC,EAAKS,QACXn2C,MAAO,IAAImM,OAAOgtB,EAAS,MAC3B1R,SAAUqzB,GAAe8C,EAAet+C,KAAKi+C,kBAEjD32B,IAAK,MAGR,GAAItnB,KAAKy+C,OAAO,KAAM,CACvB,IAAIC,EAAiB1+C,KAAK09C,aAAaC,EAAe,EAAGC,GAAe,GACxE,GAAIc,EAAep3B,IACf,OAAOo3B,EAEX,IAAIj+C,EAAWi+C,EAAej3B,IAE1Bk3B,EAAsB3+C,KAAKi+C,gBAC/B,GAAIj+C,KAAKy+C,OAAO,MAAO,CACnB,GAAIz+C,KAAK89C,UAAYI,GAASl+C,KAAK+9C,QAC/B,OAAO/9C,KAAKsoB,MAAM,cAAuBkzB,GAAemD,EAAqB3+C,KAAKi+C,kBAEtF,IAAIW,EAA8B5+C,KAAKi+C,gBAEvC,OAAIpkB,IADiB75B,KAAKu+C,eAEfv+C,KAAKsoB,MAAM,wBAAiCkzB,GAAeoD,EAA6B5+C,KAAKi+C,mBAExGj+C,KAAKw+C,YACAx+C,KAAKy+C,OAAO,KAGV,CACHh3B,IAAK,CACDvkB,KAAMkzC,EAAK16B,IACXhb,MAAOm5B,EACPp5B,SAAUA,EACV0nB,SAAUqzB,GAAe8C,EAAet+C,KAAKi+C,kBAEjD32B,IAAK,MATEtnB,KAAKsoB,MAAM,cAAuBkzB,GAAemD,EAAqB3+C,KAAKi+C,kBAW1F,CAEI,OAAOj+C,KAAKsoB,MAAM,eAAwBkzB,GAAe8C,EAAet+C,KAAKi+C,iBAErF,CAEI,OAAOj+C,KAAKsoB,MAAM,cAAuBkzB,GAAe8C,EAAet+C,KAAKi+C,iBAEpF,EAIAb,EAAOz2B,UAAU43B,aAAe,WAC5B,IA4qB6BtB,EA5qBzB4B,EAAc7+C,KAAKiX,SAEvB,IADAjX,KAAKq+C,QACGr+C,KAAK89C,UA2qBH,MADmBb,EA1qBuBj9C,KAAK+9C,SA4qBnD,KAANd,GACCA,GAAK,IAAMA,GAAK,IACX,KAANA,GACCA,GAAK,IAAMA,GAAK,KAChBA,GAAK,IAAMA,GAAK,IACZ,KAALA,GACCA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAAQA,GAAK,KAClBA,GAAK,KAASA,GAAK,MACnBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAWA,GAAK,SA5rBlBj9C,KAAKq+C,OAET,OAAOr+C,KAAKyoB,QAAQnY,MAAMuuC,EAAa7+C,KAAKiX,SAChD,EACAmmC,EAAOz2B,UAAUy3B,aAAe,SAAUT,EAAcC,GAGpD,IAFA,IAAI/gC,EAAQ7c,KAAKi+C,gBACbv9C,EAAQ,KACC,CACT,IAAIo+C,EAAmB9+C,KAAK++C,cAAcnB,GAC1C,GAAIkB,EACAp+C,GAASo+C,MADb,CAIA,IAAIE,EAAsBh/C,KAAKi/C,iBAAiBtB,EAAcC,GAC9D,GAAIoB,EACAt+C,GAASs+C,MADb,CAIA,IAAIE,EAAuBl/C,KAAKm/C,2BAChC,IAAID,EAIJ,MAHIx+C,GAASw+C,CAHb,CALA,CAYJ,CACA,IAAI/2B,EAAWqzB,GAAe3+B,EAAO7c,KAAKi+C,iBAC1C,MAAO,CACHx2B,IAAK,CAAEvkB,KAAMkzC,EAAKS,QAASn2C,MAAOA,EAAOynB,SAAUA,GACnDb,IAAK,KAEb,EACA81B,EAAOz2B,UAAUw4B,yBAA2B,WACxC,OAAKn/C,KAAK89C,SACU,KAAhB99C,KAAK+9C,SACJ/9C,KAAKu9C,YAooBPW,GADckB,EAjoBQp/C,KAAK+7B,QAAU,IAkoBA,KAAdqjB,GA9nBnB,MAHHp/C,KAAKq+C,OACE,KA+nBnB,IAAyBe,CA5nBrB,EAMAhC,EAAOz2B,UAAUo4B,cAAgB,SAAUnB,GACvC,GAAI59C,KAAK89C,SAA2B,KAAhB99C,KAAK+9C,OACrB,OAAO,KAIX,OAAQ/9C,KAAK+7B,QACT,KAAK,GAID,OAFA/7B,KAAKq+C,OACLr+C,KAAKq+C,OACE,IAEX,KAAK,IACL,KAAK,GACL,KAAK,GACL,KAAK,IACD,MACJ,KAAK,GACD,GAAsB,WAAlBT,GAAgD,kBAAlBA,EAC9B,MAEJ,OAAO,KACX,QACI,OAAO,KAEf59C,KAAKq+C,OACL,IAAIzB,EAAa,CAAC58C,KAAK+9C,QAGvB,IAFA/9C,KAAKq+C,QAEGr+C,KAAK89C,SAAS,CAClB,IAAIuB,EAAKr/C,KAAK+9C,OACd,GAAW,KAAPsB,EAAqB,CACrB,GAAoB,KAAhBr/C,KAAK+7B,OAKJ,CAED/7B,KAAKq+C,OACL,KACJ,CARIzB,EAAW95C,KAAK,IAEhB9C,KAAKq+C,MAOb,MAEIzB,EAAW95C,KAAKu8C,GAEpBr/C,KAAKq+C,MACT,CACA,OAAOzC,GAAcnuC,WAAM,EAAQmvC,EACvC,EACAQ,EAAOz2B,UAAUs4B,iBAAmB,SAAUtB,EAAcC,GACxD,GAAI59C,KAAK89C,QACL,OAAO,KAEX,IAAIuB,EAAKr/C,KAAK+9C,OACd,OAAW,KAAPsB,GACO,MAAPA,GACQ,KAAPA,IACsB,WAAlBzB,GAAgD,kBAAlBA,IAC3B,MAAPyB,GAAwB1B,EAAe,EACjC,MAGP39C,KAAKq+C,OACEzC,GAAcyD,GAE7B,EACAjC,EAAOz2B,UAAUq3B,cAAgB,SAAUL,EAAcE,GACrD,IAAIyB,EAAuBt/C,KAAKi+C,gBAGhC,GAFAj+C,KAAKq+C,OACLr+C,KAAKw+C,YACDx+C,KAAK89C,QACL,OAAO99C,KAAKsoB,MAAM,gCAAyCkzB,GAAe8D,EAAsBt/C,KAAKi+C,kBAEzG,GAAoB,MAAhBj+C,KAAK+9C,OAEL,OADA/9C,KAAKq+C,OACEr+C,KAAKsoB,MAAM,iBAA0BkzB,GAAe8D,EAAsBt/C,KAAKi+C,kBAG1F,IAAIv9C,EAAQV,KAAKu/C,4BAA4B7+C,MAC7C,IAAKA,EACD,OAAOV,KAAKsoB,MAAM,qBAA8BkzB,GAAe8D,EAAsBt/C,KAAKi+C,kBAG9F,GADAj+C,KAAKw+C,YACDx+C,KAAK89C,QACL,OAAO99C,KAAKsoB,MAAM,gCAAyCkzB,GAAe8D,EAAsBt/C,KAAKi+C,kBAEzG,OAAQj+C,KAAK+9C,QAET,KAAK,IAED,OADA/9C,KAAKq+C,OACE,CACH52B,IAAK,CACDvkB,KAAMkzC,EAAKW,SAEXr2C,MAAOA,EACPynB,SAAUqzB,GAAe8D,EAAsBt/C,KAAKi+C,kBAExD32B,IAAK,MAIb,KAAK,GAGD,OAFAtnB,KAAKq+C,OACLr+C,KAAKw+C,YACDx+C,KAAK89C,QACE99C,KAAKsoB,MAAM,gCAAyCkzB,GAAe8D,EAAsBt/C,KAAKi+C,kBAElGj+C,KAAKw/C,qBAAqB7B,EAAcE,EAAmBn9C,EAAO4+C,GAE7E,QACI,OAAOt/C,KAAKsoB,MAAM,qBAA8BkzB,GAAe8D,EAAsBt/C,KAAKi+C,kBAEtG,EAKAb,EAAOz2B,UAAU44B,0BAA4B,WACzC,IAAIE,EAAmBz/C,KAAKi+C,gBACxBY,EAAc7+C,KAAKiX,SACnBvW,EAAQg8C,GAAuB18C,KAAKyoB,QAASo2B,GAC7Ca,EAAYb,EAAcn+C,EAAM4C,OAIpC,OAHAtD,KAAK2/C,OAAOD,GAGL,CAAEh/C,MAAOA,EAAOynB,SADRqzB,GAAeiE,EADZz/C,KAAKi+C,iBAG3B,EACAb,EAAOz2B,UAAU64B,qBAAuB,SAAU7B,EAAcE,EAAmBn9C,EAAO4+C,GACtF,IAAIhuB,EAIAsuB,EAAoB5/C,KAAKi+C,gBACzB4B,EAAU7/C,KAAKu/C,4BAA4B7+C,MAC3Co/C,EAAkB9/C,KAAKi+C,gBAC3B,OAAQ4B,GACJ,IAAK,GAED,OAAO7/C,KAAKsoB,MAAM,uBAAgCkzB,GAAeoE,EAAmBE,IACxF,IAAK,SACL,IAAK,OACL,IAAK,OAID9/C,KAAKw+C,YACL,IAAIuB,EAAmB,KACvB,GAAI//C,KAAKy+C,OAAO,KAAM,CAClBz+C,KAAKw+C,YACL,IAAIwB,EAAqBhgD,KAAKi+C,gBAE9B,IADI3oB,EAASt1B,KAAKigD,iCACP34B,IACP,OAAOgO,EAGX,GAAqB,KADjBlf,EAAQ+lC,GAAQ7mB,EAAO7N,MACjBnkB,OACN,OAAOtD,KAAKsoB,MAAM,wBAAiCkzB,GAAex7C,KAAKi+C,gBAAiBj+C,KAAKi+C,kBAGjG8B,EAAmB,CAAE3pC,MAAOA,EAAO8pC,cADf1E,GAAewE,EAAoBhgD,KAAKi+C,iBAEhE,CAEA,IADIkC,EAAiBngD,KAAKogD,sBAAsBd,IAC7Bh4B,IACf,OAAO64B,EAEX,IAAIE,EAAa7E,GAAe8D,EAAsBt/C,KAAKi+C,iBAE3D,GAAI8B,GAAoBrE,GAAWqE,aAA2D,EAASA,EAAiB3pC,MAAO,KAAM,GAAI,CAErI,IAAIshC,EAAWuE,GAAU8D,EAAiB3pC,MAAM9F,MAAM,IACtD,GAAgB,WAAZuvC,EAEA,OADIvqB,EAASt1B,KAAKsgD,8BAA8B5I,EAAUqI,EAAiBG,gBAChE54B,IACAgO,EAEJ,CACH7N,IAAK,CAAEvkB,KAAMkzC,EAAKxsB,OAAQlpB,MAAOA,EAAOynB,SAAUk4B,EAAYjqC,MAAOkf,EAAO7N,KAC5EH,IAAK,MAIT,GAAwB,IAApBowB,EAASp0C,OACT,OAAOtD,KAAKsoB,MAAM,4BAAqC+3B,GAE3D,IAAIE,EAAkB7I,EAIlB13C,KAAK+6C,SACLwF,EC1hBrB,SAAwB7I,EAAUqD,GAErC,IADA,IAAIyF,EAAe,GACVC,EAAa,EAAGA,EAAa/I,EAASp0C,OAAQm9C,IAAc,CACjE,IAAIC,EAAchJ,EAASiJ,OAAOF,GAClC,GAAoB,MAAhBC,EAAqB,CAErB,IADA,IAAIE,EAAc,EACXH,EAAa,EAAI/I,EAASp0C,QAC7Bo0C,EAASiJ,OAAOF,EAAa,KAAOC,GACpCE,IACAH,IAEJ,IAAII,EAAU,GAAmB,EAAdD,GACfE,EAAeF,EAAc,EAAI,EAAI,GAAKA,GAAe,GAEzDG,EAAWjG,GAA+BC,GAI9C,IAHgB,KAAZgG,GAA+B,KAAZA,IACnBD,EAAe,GAEZA,KAAiB,GACpBN,GANgB,IAQpB,KAAOK,KAAY,GACfL,EAAeO,EAAWP,CAElC,MAEIA,GADqB,MAAhBE,EACW,IAGAA,CAExB,CACA,OAAOF,CACX,CDyf8CQ,CAAetJ,EAAU13C,KAAK+6C,SAEpD,IAAI3kC,EAAQ,CACRlT,KAAMmzC,EAAciB,SACpB2J,QAASV,EACTp4B,SAAU43B,EAAiBG,cAC3BgB,cAAelhD,KAAKy9C,qBACdhG,GAAsB8I,GACtB,CAAC,GAGX,MAAO,CACH94B,IAAK,CAAEvkB,KAFY,SAAZ28C,EAAqBzJ,EAAKY,KAAOZ,EAAKa,KAE1Bv2C,MAAOA,EAAOynB,SAAUk4B,EAAYjqC,MAAOA,GAC9DkR,IAAK,KAGjB,CAEA,MAAO,CACHG,IAAK,CACDvkB,KAAkB,WAAZ28C,EACAzJ,EAAKxsB,OACO,SAAZi2B,EACIzJ,EAAKY,KACLZ,EAAKa,KACfv2C,MAAOA,EACPynB,SAAUk4B,EACVjqC,MAA6G,QAArGkb,EAAKyuB,aAA2D,EAASA,EAAiB3pC,aAA0B,IAAPkb,EAAgBA,EAAK,MAE9IhK,IAAK,MAGb,IAAK,SACL,IAAK,gBACL,IAAK,SAID,IAAI65B,EAAoBnhD,KAAKi+C,gBAE7B,GADAj+C,KAAKw+C,aACAx+C,KAAKy+C,OAAO,KACb,OAAOz+C,KAAKsoB,MAAM,iCAA0CkzB,GAAe2F,GAAmB,QAAS,CAAC,EAAGA,KAE/GnhD,KAAKw+C,YASL,IAAI4C,EAAwBphD,KAAKu/C,4BAC7B8B,EAAe,EACnB,GAAgB,WAAZxB,GAAwD,WAAhCuB,EAAsB1gD,MAAoB,CAClE,IAAKV,KAAKy+C,OAAO,KACb,OAAOz+C,KAAKsoB,MAAM,sCAA+CkzB,GAAex7C,KAAKi+C,gBAAiBj+C,KAAKi+C,kBAG/G,IAAI3oB,EACJ,GAFAt1B,KAAKw+C,aACDlpB,EAASt1B,KAAKshD,uBAAuB,sCAA+C,yCAC7Eh6B,IACP,OAAOgO,EAGXt1B,KAAKw+C,YACL4C,EAAwBphD,KAAKu/C,4BAC7B8B,EAAe/rB,EAAO7N,GAC1B,CACA,IAII04B,EAJAoB,EAAgBvhD,KAAKwhD,8BAA8B7D,EAAckC,EAAShC,EAAmBuD,GACjG,GAAIG,EAAcj6B,IACd,OAAOi6B,EAGX,IADIpB,EAAiBngD,KAAKogD,sBAAsBd,IAC7Bh4B,IACf,OAAO64B,EAEX,IAAIsB,EAAajG,GAAe8D,EAAsBt/C,KAAKi+C,iBAC3D,MAAgB,WAAZ4B,EACO,CACHp4B,IAAK,CACDvkB,KAAMkzC,EAAKc,OACXx2C,MAAOA,EACPgT,QAAS27B,GAAYkS,EAAc95B,KACnCU,SAAUs5B,GAEdn6B,IAAK,MAIF,CACHG,IAAK,CACDvkB,KAAMkzC,EAAKe,OACXz2C,MAAOA,EACPgT,QAAS27B,GAAYkS,EAAc95B,KACnCxQ,OAAQoqC,EACRK,WAAwB,WAAZ7B,EAAuB,WAAa,UAChD13B,SAAUs5B,GAEdn6B,IAAK,MAIjB,QACI,OAAOtnB,KAAKsoB,MAAM,wBAAiCkzB,GAAeoE,EAAmBE,IAEjG,EACA1C,EAAOz2B,UAAUy5B,sBAAwB,SAAUd,GAG/C,OAAIt/C,KAAK89C,SAA2B,MAAhB99C,KAAK+9C,OACd/9C,KAAKsoB,MAAM,gCAAyCkzB,GAAe8D,EAAsBt/C,KAAKi+C,mBAEzGj+C,KAAKq+C,OACE,CAAE52B,KAAK,EAAMH,IAAK,MAC7B,EAIA81B,EAAOz2B,UAAUs5B,8BAAgC,WAG7C,IAFA,IAAI0B,EAAe,EACfrD,EAAgBt+C,KAAKi+C,iBACjBj+C,KAAK89C,SAET,OADS99C,KAAK+9C,QAEV,KAAK,GAGD/9C,KAAKq+C,OACL,IAAIuD,EAAqB5hD,KAAKi+C,gBAC9B,IAAKj+C,KAAK6hD,UAAU,KAChB,OAAO7hD,KAAKsoB,MAAM,mCAA4CkzB,GAAeoG,EAAoB5hD,KAAKi+C,kBAE1Gj+C,KAAKq+C,OACL,MAEJ,KAAK,IACDsD,GAAgB,EAChB3hD,KAAKq+C,OACL,MAEJ,KAAK,IACD,KAAIsD,EAAe,GAIf,MAAO,CACHl6B,IAAKznB,KAAKyoB,QAAQnY,MAAMguC,EAAcrnC,OAAQjX,KAAKiX,UACnDqQ,IAAK,MALTq6B,GAAgB,EAQpB,MAEJ,QACI3hD,KAAKq+C,OAIjB,MAAO,CACH52B,IAAKznB,KAAKyoB,QAAQnY,MAAMguC,EAAcrnC,OAAQjX,KAAKiX,UACnDqQ,IAAK,KAEb,EACA81B,EAAOz2B,UAAU25B,8BAAgC,SAAU5I,EAAUvvB,GACjE,IAAIrgB,EAAS,GACb,IACIA,EFrsBL,SAAuC4vC,GAC1C,GAAwB,IAApBA,EAASp0C,OACT,MAAM,IAAIilB,MAAM,mCAOpB,IAJA,IAGIzgB,EAAS,GACJ6xC,EAAK,EAAGmI,EAJEpK,EACd90C,MAAM,IACNwM,QAAO,SAAUyZ,GAAK,OAAOA,EAAEvlB,OAAS,CAAG,IAEAq2C,EAAKmI,EAAex+C,OAAQq2C,IAAM,CAC9E,IACIoI,EADcD,EAAenI,GACA/2C,MAAM,KACvC,GAA8B,IAA1Bm/C,EAAez+C,OACf,MAAM,IAAIilB,MAAM,2BAGpB,IADA,IAAI8wB,EAAO0I,EAAe,GAAIruC,EAAUquC,EAAezxC,MAAM,GACpDghB,EAAK,EAAG0wB,EAAYtuC,EAAS4d,EAAK0wB,EAAU1+C,OAAQguB,IAEzD,GAAsB,IADT0wB,EAAU1wB,GACZhuB,OACP,MAAM,IAAIilB,MAAM,2BAGxBzgB,EAAOhF,KAAK,CAAEu2C,KAAMA,EAAM3lC,QAASA,GACvC,CACA,OAAO5L,CACX,CE4qBqBw4C,CAA8B5I,EAC3C,CACA,MAAOnuC,GACH,OAAOvJ,KAAKsoB,MAAM,0BAAmCH,EACzD,CACA,MAAO,CACHV,IAAK,CACDvkB,KAAMmzC,EAAczsB,OACpB9hB,OAAQA,EACRqgB,SAAUA,EACV+4B,cAAelhD,KAAKy9C,qBACd/D,GAAoB5xC,GACpB,CAAC,GAEXwf,IAAK,KAEb,EAWA81B,EAAOz2B,UAAU66B,8BAAgC,SAAU7D,EAAcC,EAAeqE,EAAgBC,GASpG,IARA,IAAI5wB,EACA6wB,GAAiB,EACjBzuC,EAAU,GACV0uC,EAAkB,IAAIpb,IACtBqb,EAAWH,EAAsBxhD,MAAO4hD,EAAmBJ,EAAsB/5B,WAIxE,CACT,GAAwB,IAApBk6B,EAAS/+C,OAAc,CACvB,IAAIg7C,EAAgBt+C,KAAKi+C,gBACzB,GAAsB,WAAlBL,IAA8B59C,KAAKy+C,OAAO,KAU1C,MARA,IAAInpB,EAASt1B,KAAKshD,uBAAuB,kCAA2C,oCACpF,GAAIhsB,EAAOhO,IACP,OAAOgO,EAEXgtB,EAAmB9G,GAAe8C,EAAet+C,KAAKi+C,iBACtDoE,EAAWriD,KAAKyoB,QAAQnY,MAAMguC,EAAcrnC,OAAQjX,KAAKiX,SAKjE,CAEA,GAAImrC,EAAgBp6B,IAAIq6B,GACpB,OAAOriD,KAAKsoB,MAAwB,WAAlBs1B,EACZ,qCACA,qCAA8C0E,GAEvC,UAAbD,IACAF,GAAiB,GAKrBniD,KAAKw+C,YACL,IAAIc,EAAuBt/C,KAAKi+C,gBAChC,IAAKj+C,KAAKy+C,OAAO,KACb,OAAOz+C,KAAKsoB,MAAwB,WAAlBs1B,EACZ,2CACA,2CAAoDpC,GAAex7C,KAAKi+C,gBAAiBj+C,KAAKi+C,kBAExG,IAAIsE,EAAiBviD,KAAK09C,aAAaC,EAAe,EAAGC,EAAeqE,GACxE,GAAIM,EAAej7B,IACf,OAAOi7B,EAEX,IAAIpC,EAAiBngD,KAAKogD,sBAAsBd,GAChD,GAAIa,EAAe74B,IACf,OAAO64B,EAEXzsC,EAAQ5Q,KAAK,CACTu/C,EACA,CACI3hD,MAAO6hD,EAAe96B,IACtBU,SAAUqzB,GAAe8D,EAAsBt/C,KAAKi+C,oBAI5DmE,EAAgB/a,IAAIgb,GAEpBriD,KAAKw+C,YACmC6D,GAAvC/wB,EAAKtxB,KAAKu/C,6BAA2C7+C,MAAO4hD,EAAmBhxB,EAAGnJ,QACvF,CACA,OAAuB,IAAnBzU,EAAQpQ,OACDtD,KAAKsoB,MAAwB,WAAlBs1B,EACZ,kCACA,kCAA2CpC,GAAex7C,KAAKi+C,gBAAiBj+C,KAAKi+C,kBAE3Fj+C,KAAKw9C,sBAAwB2E,EACtBniD,KAAKsoB,MAAM,uBAAgCkzB,GAAex7C,KAAKi+C,gBAAiBj+C,KAAKi+C,kBAEzF,CAAEx2B,IAAK/T,EAAS4T,IAAK,KAChC,EACA81B,EAAOz2B,UAAU26B,uBAAyB,SAAUkB,EAAmBC,GACnE,IAAIC,EAAO,EACPjD,EAAmBz/C,KAAKi+C,gBACxBj+C,KAAKy+C,OAAO,MAEPz+C,KAAKy+C,OAAO,OACjBiE,GAAQ,GAIZ,IAFA,IAAIC,GAAY,EACZ19B,EAAU,GACNjlB,KAAK89C,SAAS,CAClB,IAAIuB,EAAKr/C,KAAK+9C,OACd,KAAIsB,GAAM,IAAgBA,GAAM,IAM5B,MALAsD,GAAY,EACZ19B,EAAoB,GAAVA,GAAgBo6B,EAAK,IAC/Br/C,KAAKq+C,MAKb,CACA,IAAIl2B,EAAWqzB,GAAeiE,EAAkBz/C,KAAKi+C,iBACrD,OAAK0E,EAIAvG,GADLn3B,GAAWy9B,GAIJ,CAAEj7B,IAAKxC,EAASqC,IAAK,MAFjBtnB,KAAKsoB,MAAMm6B,EAAoBt6B,GAJ/BnoB,KAAKsoB,MAAMk6B,EAAmBr6B,EAO7C,EACAi1B,EAAOz2B,UAAU1P,OAAS,WACtB,OAAOjX,KAAKqI,SAAS4O,MACzB,EACAmmC,EAAOz2B,UAAUm3B,MAAQ,WACrB,OAAO99C,KAAKiX,WAAajX,KAAKyoB,QAAQnlB,MAC1C,EACA85C,EAAOz2B,UAAUs3B,cAAgB,WAE7B,MAAO,CACHhnC,OAAQjX,KAAKqI,SAAS4O,OACtBomC,KAAMr9C,KAAKqI,SAASg1C,KACpBC,OAAQt9C,KAAKqI,SAASi1C,OAE9B,EAKAF,EAAOz2B,UAAUo3B,KAAO,WACpB,IAAI9mC,EAASjX,KAAKqI,SAAS4O,OAC3B,GAAIA,GAAUjX,KAAKyoB,QAAQnlB,OACvB,MAAMilB,MAAM,gBAEhB,IAAIs0B,EAAOd,GAAY/7C,KAAKyoB,QAASxR,GACrC,QAAa/V,IAAT27C,EACA,MAAMt0B,MAAM,UAAU1b,OAAOoK,EAAQ,6CAEzC,OAAO4lC,CACX,EACAO,EAAOz2B,UAAU2B,MAAQ,SAAUs6B,EAAMz6B,GACrC,MAAO,CACHV,IAAK,KACLH,IAAK,CACDs7B,KAAMA,EACNn6B,QAASzoB,KAAKyoB,QACdN,SAAUA,GAGtB,EAEAi1B,EAAOz2B,UAAU03B,KAAO,WACpB,IAAIr+C,KAAK89C,QAAT,CAGA,IAAIjB,EAAO78C,KAAK+9C,OACH,KAATlB,GACA78C,KAAKqI,SAASg1C,MAAQ,EACtBr9C,KAAKqI,SAASi1C,OAAS,EACvBt9C,KAAKqI,SAAS4O,QAAU,IAGxBjX,KAAKqI,SAASi1C,QAAU,EAExBt9C,KAAKqI,SAAS4O,QAAU4lC,EAAO,MAAU,EAAI,EAVjD,CAYJ,EAOAO,EAAOz2B,UAAU83B,OAAS,SAAUz/B,GAChC,GAAI08B,GAAW17C,KAAKyoB,QAASzJ,EAAQhf,KAAKiX,UAAW,CACjD,IAAK,IAAIvT,EAAI,EAAGA,EAAIsb,EAAO1b,OAAQI,IAC/B1D,KAAKq+C,OAET,OAAO,CACX,CACA,OAAO,CACX,EAKAjB,EAAOz2B,UAAUk7B,UAAY,SAAUZ,GACnC,IAAI4B,EAAgB7iD,KAAKiX,SACrBmlB,EAAQp8B,KAAKyoB,QAAQwI,QAAQgwB,EAAS4B,GAC1C,OAAIzmB,GAAS,GACTp8B,KAAK2/C,OAAOvjB,IACL,IAGPp8B,KAAK2/C,OAAO3/C,KAAKyoB,QAAQnlB,SAClB,EAEf,EAKA85C,EAAOz2B,UAAUg5B,OAAS,SAAUmD,GAChC,GAAI9iD,KAAKiX,SAAW6rC,EAChB,MAAMv6B,MAAM,gBAAgB1b,OAAOi2C,EAAc,yDAAyDj2C,OAAO7M,KAAKiX,WAG1H,IADA6rC,EAAe1yC,KAAK2yC,IAAID,EAAc9iD,KAAKyoB,QAAQnlB,UACtC,CACT,IAAI2T,EAASjX,KAAKiX,SAClB,GAAIA,IAAW6rC,EACX,MAEJ,GAAI7rC,EAAS6rC,EACT,MAAMv6B,MAAM,gBAAgB1b,OAAOi2C,EAAc,6CAGrD,GADA9iD,KAAKq+C,OACDr+C,KAAK89C,QACL,KAER,CACJ,EAEAV,EAAOz2B,UAAU63B,UAAY,WACzB,MAAQx+C,KAAK89C,SAAWZ,GAAcl9C,KAAK+9C,SACvC/9C,KAAKq+C,MAEb,EAKAjB,EAAOz2B,UAAUoV,KAAO,WACpB,GAAI/7B,KAAK89C,QACL,OAAO,KAEX,IAAIjB,EAAO78C,KAAK+9C,OACZ9mC,EAASjX,KAAKiX,SACd+rC,EAAWhjD,KAAKyoB,QAAQkP,WAAW1gB,GAAU4lC,GAAQ,MAAU,EAAI,IACvE,OAAOmG,QAA2CA,EAAW,IACjE,EACO5F,CACX,CA/yB2B,GAszB3B,SAASc,GAASkB,GACd,OAASA,GAAa,IAAMA,GAAa,KACpCA,GAAa,IAAMA,GAAa,EACzC,CA8BA,SAASlC,GAAcD,GACnB,OAASA,GAAK,GAAUA,GAAK,IACnB,KAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,CACR,CAKA,SAASE,GAAiBF,GACtB,OAASA,GAAK,IAAUA,GAAK,IACnB,KAANA,GACCA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACCA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACpBA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,KAAUA,GAAK,KACf,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,KAC7B,CEvvCA,SAASgG,GAAcC,GACnBA,EAAIrgD,SAAQ,SAAUmlC,GAElB,UADOA,EAAG7f,SACN,EAAgB6f,IAAO,EAAgBA,GACvC,IAAK,IAAI95B,KAAK85B,EAAGt0B,eACNs0B,EAAGt0B,QAAQxF,GAAGia,SACrB86B,GAAcjb,EAAGt0B,QAAQxF,GAAGxN,YAG3B,EAAgBsnC,IAAO,GAAiBA,EAAG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AAM,CACF,IACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,KACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KACA,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,KAEJ,GAAM,CACF,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,IACA,MAEJ,GAAM,CACF,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,K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GAAK,IACpBA,GAAK,IAAUA,GAAK,IACf,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,KAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,KAAUA,GAAK,KACf,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,KAC7B,CEtvCA,SAAS0nB,GAAqB/1D,EAAM26C,GAChC,OAAOn8C,OAAOC,KAAKuB,GAAMzD,QAAO,SAAUinB,EAAKlkB,GAE3C,OADAkkB,EAAIlkB,IAAK,QAAS,CAAEq7C,SA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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/blanket/dist/es2019/blanket.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-force-render.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/exiting-persistence.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/timer-hooks.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/staggered-entrance.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/keyframes-motion.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-unique-id.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/fade-in.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/accessibility.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/curves.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/durations.js","webpack:///./node_modules/react-popper/lib/esm/usePopper.js","webpack:///./node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/popper/dist/es2019/popper.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-dom-utils.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/components/internal-portal.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-is-subsequent-render.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-custom-event.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-portal-event.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/portal.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafSyntheticEventHandler.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/shared-schedule.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/tooltip-manager.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/TooltipContainer.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/utilities.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/Tooltip.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/use-unique-id.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/TooltipPrimitive.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/glyph/check.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/glyph/question-circle.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-responsive/dist/react-responsive.js","webpack:///./node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///./node_modules/@emotion/styled/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///./node_modules/bind-event-listener/dist/bind-all.js","webpack:///./node_modules/bind-event-listener/dist/bind.js","webpack:///./node_modules/bind-event-listener/dist/index.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/react-clientside-effect/lib/index.es.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/use-sidecar/dist/es2019/medium.js","webpack:///./node_modules/react-focus-lock/dist/es2015/medium.js","webpack:///./node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///./node_modules/use-callback-ref/dist/es2019/useMergeRef.js","webpack:///./node_modules/use-callback-ref/dist/es2019/useRef.js","webpack:///./node_modules/use-callback-ref/dist/es2019/assignRef.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/is.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/safe.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///./node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///./node_modules/focus-lock/dist/es2015/solver.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack:///./node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///./node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack:///./node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///./node_modules/focus-lock/dist/es2015/index.js","webpack:///./node_modules/react-focus-lock/dist/es2015/util.js","webpack:///./node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///./node_modules/focus-lock/dist/es2015/focusables.js","webpack:///./node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///./node_modules/react-focus-lock/dist/es2015/Combination.js","webpack:///./node_modules/react-focus-lock/dist/es2015/index.js","webpack:///./node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/react-popper/node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-scrolllock/dist/ScrollLock.js","webpack:///./node_modules/react-scrolllock/dist/TouchScrollable.js","webpack:///./node_modules/react-scrolllock/dist/index.js","webpack:///./node_modules/react-scrolllock/dist/utils.js","webpack:///./node_modules/react-scrolllock/dist/withLockSheet.js","webpack:///./node_modules/react-scrolllock/dist/withTouchListeners.js","webpack:///./node_modules/react-uid/dist/es2019/context.js","webpack:///./node_modules/react-uid/dist/es2019/hooks.js","webpack:///./node_modules/react-uid/dist/es2019/uid.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/injectIntl.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/lib/error.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/lib/types.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser/lib/number.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser/lib/index.js","webpack:///./node_modules/intl-messageformat/node_modules/@formatjs/fast-memoize/lib/index.js","webpack:///./node_modules/intl-messageformat/lib/src/error.js","webpack:///./node_modules/intl-messageformat/lib/src/formatters.js","webpack:///./node_modules/intl-messageformat/lib/src/core.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/fast-memoize/lib/index.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/error.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/utils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/utils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/useIntl.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/message.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-desktop-media-query.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-fit-text.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/amounts-format.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/ccp-to-hams-pricing-plan-converter.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/extract-pricing-tiers-from-entry.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/get-local-unit-price.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/calculations/fixed-cost.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/calculations/marginal-per-unit.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/price-calculation.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/utils/get-free-price-calc.ts","webpack:///./node_modules/react-sweet-state/lib/esm/utils/hash.js","webpack:///./node_modules/react-sweet-state/lib/esm/defaults.js","webpack:///./node_modules/react-sweet-state/lib/esm/store/bind-actions.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/shallow-equal.js","webpack:///./node_modules/react-sweet-state/lib/esm/middlewares/update.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/supported-features.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/batched-updates.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/schedule.js","webpack:///./node_modules/react-sweet-state/lib/esm/store/create-state.js","webpack:///./node_modules/react-sweet-state/lib/esm/enhancers/devtools.js","webpack:///./node_modules/react-sweet-state/lib/esm/middlewares/index.js","webpack:///./node_modules/react-sweet-state/lib/esm/store/registry.js","webpack:///./node_modules/react-sweet-state/lib/esm/context.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/memoize.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/create-selector.js","webpack:///./node_modules/react-sweet-state/lib/esm/components/hook.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/store/actions.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/store/index.ts","webpack:///./node_modules/react-sweet-state/lib/esm/store/create.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/utils/constants.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/button.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-button.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/radio/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/radio/dist/es2019/radio.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/billing-period-selector.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/dist/es2019/component-tokens.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/dist/es2019/text-field.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/unit-count.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/user-tier.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-messageformat-parser/lib/error.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-messageformat-parser/lib/types.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-skeleton-parser/lib/number.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/message.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/number.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/relativeTime.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/dateTime.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/plural.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/list.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/displayName.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@formatjs/intl/lib/src/create-intl.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/provider.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-intl-provider.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/icons/pricing-example-icon.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example-header.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example-annual.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example-monthly.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-default.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-no-selector.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/feature-message.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/cta-button.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/modal-transition.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/context.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/utils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/positioner.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-dialog.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-on-motion-finish.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/merge-refs.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-ref.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-callback.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-modal-stack.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-prevent-programmatic-scroll.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/modal-wrapper.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-state-ref.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-previous-value.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/modal-redirect-confirm.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-body.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-cards-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/center-justified-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/price-display.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/annual.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/mobile-vertically-padded-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-contact.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-monthly.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-no-jpy.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-unmet-min.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/free.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/monthly.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/highest-display-price-font-size.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-fit-price-text-into-plan-card.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/price-finder.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-bounding-client-rect-ref.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-price-finder-data.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlassiansox/bxp-use-pricing/src/use-pricing.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/utils/get-recommended-plan-name.ts","webpack:///./resources/js/react/cms-components/pricing-calculator/PriceFinderContainer.tsx","webpack:///./resources/js/react/cms-components/pricing-calculator/use-geo-currency.ts","webpack:///./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack:///./node_modules/use-sync-external-store/shim/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsListener extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n channel,\n onEvent\n } = this.props;\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n\n const handler = (event, eventChannel) => {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n\n return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n });\n\n _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return getAtlaskitAnalyticsContext();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsListener;","import LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nlet ExportedAnalyticsListener;\n\nif (typeof process !== 'undefined' && process.env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsListener = ModernAnalyticsListener;\n} else {\n ExportedAnalyticsListener = LegacyAnalyticsListener;\n}\n\nexport default ExportedAnalyticsListener;","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","/** @jsx jsx */\nimport { forwardRef, memo, useCallback, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { DN90A, N100A } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { layers } from '@atlaskit/theme/constants';\nconst packageName = \"@atlaskit/blanket\";\nconst packageVersion = \"12.4.3\";\nconst analyticsAttributes = {\n componentName: 'blanket',\n packageName,\n packageVersion\n};\nconst baseStyles = css({\n position: 'fixed',\n zIndex: layers.blanket(),\n inset: 0,\n overflowY: 'auto',\n pointerEvents: 'initial'\n});\nconst shouldAllowClickThroughStyles = css({\n pointerEvents: 'none'\n});\nconst invisibleStyles = css({\n backgroundColor: 'transparent'\n});\nconst lightBgStyles = css({\n backgroundColor: `var(--ds-blanket, ${N100A})`\n});\nconst darkBgStyles = css({\n backgroundColor: `var(--ds-blanket, ${DN90A})`\n});\nconst backgroundStyle = {\n light: lightBgStyles,\n dark: darkBgStyles\n};\n\n/**\n * __Blanket__\n *\n * A Blanket provides the overlay layer for components such as a modal dialog or a tooltip\n *\n * - [Examples](https://atlaskit.atlassian.com/examples/design-system/blanket/basic-usage)\n */\nconst Blanket = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Blanket({\n shouldAllowClickThrough = false,\n isTinted = false,\n onBlanketClicked = noop,\n testId,\n children,\n analyticsContext\n}, ref) {\n const {\n mode\n } = useGlobalTheme();\n const mouseDownTarget = useRef(null);\n const onBlanketClickedWithAnalytics = usePlatformLeafEventHandler({\n fn: onBlanketClicked,\n action: 'clicked',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const blanketClickOutsideChildren = useCallback(e => e.currentTarget === e.target && mouseDownTarget.current === e.target ? onBlanketClickedWithAnalytics(e) : undefined, [onBlanketClickedWithAnalytics]);\n const onClick = shouldAllowClickThrough ? undefined : blanketClickOutsideChildren;\n const onMouseDown = useCallback(e => {\n mouseDownTarget.current = e.target;\n }, []);\n return jsx(\"div\", {\n role: \"presentation\",\n css: [baseStyles, shouldAllowClickThrough && shouldAllowClickThroughStyles, backgroundStyle[mode], !isTinted && invisibleStyles],\n onClick: onClick,\n onMouseDown: onMouseDown,\n \"data-testid\": testId,\n ref: ref\n }, children);\n}));\nBlanket.displayName = 'Blanket';\nexport default Blanket;","import { useCallback, useEffect, useRef } from 'react';\nimport { bindAll } from 'bind-event-listener';\nimport { ESCAPE } from '../utils/keycodes';\n/**\n * Calls back when the escape key is pressed.\n * To be used exclusively for closing layered components.\n * Use the `isDisabled` argument to ignore closing events.\n *\n * ```js\n * useCloseOnEscapePress({\n * onClose: () => {},\n * isDisabled: false,\n * });\n * ```\n */\nexport default function useCloseOnEscapePress({\n onClose,\n isDisabled\n}) {\n const escapePressed = useRef(false);\n const onKeyDown = useCallback(e => {\n if (isDisabled || escapePressed.current || e.key !== ESCAPE) {\n // We're either already handling the key down event or it's not escape.\n // Bail early!\n return;\n }\n escapePressed.current = true;\n onClose(e);\n }, [onClose, isDisabled]);\n const onKeyUp = useCallback(() => {\n escapePressed.current = false;\n }, []);\n useEffect(() => {\n return bindAll(document, [{\n type: 'keydown',\n listener: onKeyDown\n }, {\n type: 'keyup',\n listener: onKeyUp\n }], {\n capture: false\n });\n }, [onKeyDown, onKeyUp]);\n}","/**\n * Character key codes which can be used in keyboard events.\n */\nexport const KEY_UP = 'ArrowUp';\nexport const KEY_DOWN = 'ArrowDown';\nexport const KEY_HOME = 'Home';\nexport const KEY_END = 'End';\nexport const ESCAPE = 'Escape';","import { useCallback, useState } from 'react';\nexport const useForceRender = () => {\n const [, updateState] = useState({});\n const forceRender = useCallback(() => updateState({}), []);\n return forceRender;\n};","import React, { Children, createContext, memo, useContext, useMemo, useRef } from 'react';\nimport { isReducedMotion } from '../utils/accessibility';\nimport { useForceRender } from '../utils/use-force-render';\n\n/**\n * Internally we will be playing with an element that will always have a key defined.\n */\n\n/**\n * Internal data passed to child motions.\n */\n\n// We define empty context here so the object doesn't change.\nconst emptyContext = {\n // Motions will always appear if not inside a exiting persistence component.\n appear: true,\n isExiting: false\n};\nconst ExitingContext = /*#__PURE__*/createContext(emptyContext);\nconst isAnyPreviousKeysMissingFromCurrent = (currentMap, previous) => {\n for (let i = 0; i < previous.length; i++) {\n const element = previous[i];\n const key = element.key;\n if (!currentMap[key]) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * This method will wrap any React element with a context provider. We're using context (instead of\n * cloneElement) so we can communicate between multiple elements without the need of prop drilling\n * (results in a better API for consumers).\n */\nconst wrapChildWithContextProvider = (child, value = emptyContext) => {\n return /*#__PURE__*/React.createElement(ExitingContext.Provider, {\n key: `${child.key}-provider`,\n value: value\n }, child);\n};\nconst childrenToObj = children => {\n return children.reduce((acc, child) => {\n acc[child.key] = child;\n return acc;\n }, {});\n};\nconst spliceNewElementsIntoPrevious = (current, previous) => {\n const splicedChildren = previous.concat([]);\n const previousMap = childrenToObj(previous);\n for (let i = 0; i < current.length; i++) {\n const child = current[i];\n const childIsNew = !previousMap[child.key];\n if (childIsNew) {\n // This will insert the new element after the previous element.\n splicedChildren.splice(i + 1, 0, child);\n }\n }\n return splicedChildren;\n};\n\n/**\n * This function will convert all children types to an array while also filtering out non-valid React elements.\n */\nconst childrenToArray = children => {\n const childrenAsArray = [];\n\n // We convert children to an array using this helper method as it will add keys to children that do not\n // have them, such as when we have hardcoded children that are conditionally rendered.\n Children.toArray(children).forEach(child => {\n // We ignore any boolean children to make our code a little more simple later on,\n // and also filter out any falsies (empty strings, nulls, and undefined).\n if (typeof child !== 'boolean' && Boolean(child)) {\n // Children WILL have a key after being forced into an array using the React.Children helper.\n childrenAsArray.push(child);\n }\n });\n return childrenAsArray;\n};\n\n/**\n * This handles the case when a render updates during an exit motion.\n * If any child is mounted again we removed them from the exiting children object and return true.\n */\nconst hasAnyExitingChildMountedAgain = (exitingChildren, children) => {\n let exitingChildMountedAgain = false;\n children.forEach(child => {\n if (exitingChildren.current[child.key]) {\n exitingChildMountedAgain = true;\n delete exitingChildren.current[child.key];\n }\n });\n return exitingChildMountedAgain;\n};\n\n/**\n * __ExitingPersistence__\n *\n * Useful for enabling elements to persist and animate away when they are removed from the DOM.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/motion/docs/entering-motions)\n */\nconst ExitingPersistence = /*#__PURE__*/memo(({\n appear: appearFromProp = false,\n children: childs,\n exitThenEnter\n}) => {\n const children = childrenToArray(childs);\n const childrenObj = childrenToObj(children);\n const previousChildren = useRef([]);\n const persistedChildren = useRef([]);\n const forceRender = useForceRender();\n const exitingChildren = useRef({});\n const appear = useRef(appearFromProp);\n const defaultContextValue = useMemo(() => ({\n appear: appear.current,\n isExiting: false\n }),\n // React rules of hooks says this isn't needed because mutating appear won't cause a re-render.\n // While technically true - it will trigger this to make a new object on the _next_ render which is what we want.\n // Remove this or use appear instead of appear.current and you will notice a test breaks.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [appear.current]);\n if (isReducedMotion()) {\n return children;\n }\n if (!appear.current) {\n // We always want child motions to appear after the initial mount.\n appear.current = true;\n }\n\n // This entire block can't be an effect because we need it to run synchronously during a render\n // else when elements are being removed they will be remounted instead of being updated.\n if (previousChildren.current.length && isAnyPreviousKeysMissingFromCurrent(childrenObj, previousChildren.current)) {\n if (persistedChildren.current.length === 0 || hasAnyExitingChildMountedAgain(exitingChildren, children)) {\n persistedChildren.current = previousChildren.current;\n }\n\n // We have persisted children now set from previous children.\n // Let's update previous children so we have it available next render.\n previousChildren.current = children;\n return (exitThenEnter ? persistedChildren.current : spliceNewElementsIntoPrevious(children, persistedChildren.current)).map(child => {\n // eslint-disable-next-line @repo/internal/react/no-children-properties-access\n const currentChild = childrenObj[child.key];\n if (!currentChild) {\n // We've found an exiting child - mark it!\n exitingChildren.current[child.key] = true;\n return wrapChildWithContextProvider(child, {\n isExiting: true,\n appear: true,\n onFinish: () => {\n delete exitingChildren.current[child.key];\n\n // We will only remove the exiting elements when any subsequent exiting elements have also finished.\n // Think of removing many items from a todo list - when removing a few over a few clicks we don't\n // want the list jumping around when they exit.\n if (Object.keys(exitingChildren.current).length === 0) {\n // Set previous children to nothing.\n // This let's us skip the next render check as it's assumed children and previous will be the same.\n previousChildren.current = [];\n persistedChildren.current = [];\n\n // Re-render after the element(s) have animated away which will end up rendering the latest children.\n forceRender();\n }\n }\n });\n }\n\n // This element isn't exiting.\n // Wrap context and let's continue on our way.\n return wrapChildWithContextProvider(currentChild, defaultContextValue);\n });\n } else {\n previousChildren.current = children;\n }\n return children.map(child => wrapChildWithContextProvider(child, defaultContextValue));\n});\nexport const useExitingPersistence = () => {\n return useContext(ExitingContext);\n};\nExitingPersistence.displayName = 'ExitingPersistence';\nexport default ExitingPersistence;","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { useCallback, useEffect, useRef } from 'react';\nconst getHookDeps = opts => {\n switch (opts.cleanup) {\n case 'next-effect':\n return undefined;\n case 'unmount':\n default:\n return [];\n }\n};\n\n/**\n * Will return request animation frame as a function which will clean itself up.\n */\nexport const useRequestAnimationFrame = (opts = {\n cleanup: 'unmount'\n}) => {\n const frames = useRef([]);\n useEffect(() => {\n return () => {\n if (frames.current.length) {\n frames.current.forEach(id => cancelAnimationFrame(id));\n frames.current = [];\n }\n };\n // We dynamically set this so we either clean up on the next effect - or on unmount.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, getHookDeps(opts));\n return useCallback(handler => {\n const id = requestAnimationFrame(time => {\n frames.current = frames.current.filter(frameId => frameId !== id);\n handler(time);\n });\n frames.current.push(id);\n }, []);\n};\n\n/**\n * Will return set timeout as a function which will clean itself up.\n */\nexport const useSetTimeout = (opts = {\n cleanup: 'unmount'\n}) => {\n const timeouts = useRef([]);\n useEffect(() => {\n return () => {\n if (timeouts.current.length) {\n timeouts.current.forEach(id => clearTimeout(id));\n timeouts.current = [];\n }\n };\n // We dynamically set this so we either clean up on the next effect - or on unmount.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, getHookDeps(opts));\n return useCallback((handler, timeout, ...args) => {\n const id = setTimeout(() => {\n timeouts.current = timeouts.current.filter(timeoutId => timeoutId !== id);\n handler();\n }, timeout, ...args);\n timeouts.current.push(id);\n }, []);\n};","import React, { createContext, useContext, useRef, useState } from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { useLayoutEffect } from '../utils/use-layout-effect';\nimport { useUniqueId } from '../utils/use-unique-id';\nconst StaggeredEntranceContext = /*#__PURE__*/createContext(() => ({\n isReady: true,\n delay: 0,\n ref: noop\n}));\nexport const useStaggeredEntrance = () => {\n const indentifier = useUniqueId();\n const context = useContext(StaggeredEntranceContext);\n return context(indentifier);\n};\n\n/**\n * For a list of elements that need to animate in,\n * this should be used in conjunction with entering components.\n * This does not need Javascript to execute so it will run immediately for any SSR rendered React apps before the JS has executed.\n *\n * Will dynamically add delay to each child entering component.\n * Unfortunately all entering components _NEED_ to be a direct descendant.\n */\nconst StaggeredEntrance = ({\n children,\n column,\n columns = 'responsive',\n delayStep = 50\n}) => {\n const elementRefs = useRef([]);\n const indexes = [];\n const [actualColumns, setActualColumns] = useState(() => {\n if (typeof columns === 'number') {\n // A hardcoded columns is set so bail out and set it to that!\n return columns;\n }\n if (typeof column === 'number') {\n // A hardcoded column is set so we will set actualColumns to be 1.\n return 1;\n }\n\n // We are in \"responsive\" mode.\n // So we will be calculating when the Javascript executes on the client how many columns there will be.\n return 0;\n });\n useLayoutEffect(() => {\n // We want to only run this code when we are in \"responsive\" mode.\n // It is assumed we are in responsive mode if `columns` is \"responsive\",\n // we have children element refs ready to be read (i.e. if there are no children this won't run as well)\n // and finally that `actualColumns` is `0` - this is because for the first render cycle `actualColumns` will be `0` (set above)\n // and then after this layout effect runs the value for `actualColumns` will then be calculated and set.\n if (columns === 'responsive' && elementRefs.current.length && actualColumns === 0) {\n let currentTop = 0;\n let numberColumns = 0;\n if (elementRefs.current.length <= 1) {\n setActualColumns(1);\n return;\n }\n\n // We set the current top to the first elements.\n // We will be comparing this and incrementing the column count\n // until we hit an element that has a different offset top (or we run out of elements).\n currentTop = elementRefs.current[0] ? elementRefs.current[0].offsetTop : 0;\n for (let i = 0; i < elementRefs.current.length; i++) {\n const child = elementRefs.current[i];\n if (!child) {\n break;\n }\n if (currentTop === child.offsetTop) {\n numberColumns += 1;\n if (elementRefs.current.length - 1 === i) {\n setActualColumns(numberColumns);\n }\n continue;\n }\n setActualColumns(numberColumns);\n break;\n }\n }\n // We only want this effect to run once - on initial mount.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return /*#__PURE__*/React.createElement(StaggeredEntranceContext.Provider, {\n value: id => {\n if (!indexes.includes(id)) {\n indexes.push(id);\n }\n const isReady = actualColumns > 0;\n const index = indexes.indexOf(id);\n const currentColumn = column || index % actualColumns;\n const currentRow = Math.floor(index / actualColumns);\n const distanceFromTopLeftElement = currentRow + currentColumn;\n // We don't want loads of elements to have the same staggered delay as it ends up looking slow for users.\n // To get around that we calculate the logarithm using `distanceFromTopLeftElement` which ends making\n // elements appear faster the further away from the top left element.\n const delay = Math.ceil(Math.log(distanceFromTopLeftElement + 1) * delayStep * 1.5) || 0;\n return {\n delay,\n isReady,\n ref: element => elementRefs.current[index] = element\n };\n }\n }, children);\n};\nexport default StaggeredEntrance;","import React, { useEffect, useState } from 'react';\nimport { ClassNames, keyframes } from '@emotion/react';\nimport { prefersReducedMotion } from '../utils/accessibility';\nimport { largeDurationMs } from '../utils/durations';\nimport { useSetTimeout } from '../utils/timer-hooks';\nimport { useExitingPersistence } from './exiting-persistence';\nimport { useStaggeredEntrance } from './staggered-entrance';\n\n/**\n * These are props that motions should use as their external props for consumers.\n * See [FadeIn](packages/helpers/motion/src/entering/fade-in.tsx) for an example usage.\n */\n\n/**\n * Used to multiply the initial duration for exiting motions.\n */\nconst EXITING_MOTION_MULTIPLIER = 0.5;\n\n/**\n * This is the base INTERNAL component used for all other entering motions.\n * This does not need Javascript to execute on the client so it will run immediately\n * for any SSR rendered React apps before the JS has executed.\n */\nconst EnteringMotion = ({\n children,\n animationTimingFunction,\n enteringAnimation,\n exitingAnimation,\n isPaused,\n onFinish: onFinishMotion,\n duration = largeDurationMs\n}) => {\n const staggered = useStaggeredEntrance();\n const {\n isExiting,\n onFinish: onExitFinished,\n appear\n } = useExitingPersistence();\n const setTimeout = useSetTimeout();\n const paused = isPaused || !staggered.isReady;\n const delay = isExiting ? 0 : staggered.delay;\n const state = isExiting ? 'exiting' : 'entering';\n const [hasAnimationStyles, setHasAnimationStyles] = useState(appear);\n useEffect(() => {\n // Tracking this to prevent changing state on an unmounted component\n let isCancelled = false;\n if (paused) {\n return;\n }\n\n // On initial mount if elements aren't set to animate on appear, we return early and callback\n if (!appear) {\n onFinishMotion && onFinishMotion(state);\n return;\n }\n\n // Elements may need animation styles back after initial mount (they could animate out)\n setHasAnimationStyles(true);\n setTimeout(() => {\n if (state === 'exiting') {\n onExitFinished && onExitFinished();\n }\n if (!isCancelled) {\n setHasAnimationStyles(false);\n }\n onFinishMotion && onFinishMotion(state);\n }, isExiting ? duration * EXITING_MOTION_MULTIPLIER : duration + delay);\n return () => {\n isCancelled = true;\n };\n // We ignore this for onFinishMotion as consumers could potentially inline the function\n // which would then trigger this effect every re-render.\n // We want to make it easier for consumers so we go down this path unfortunately.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onExitFinished, state, isExiting, duration, delay, paused, setTimeout]);\n return /*#__PURE__*/React.createElement(ClassNames, null, ({\n css\n }) => children({\n ref: staggered.ref,\n className: hasAnimationStyles ? css({\n ...prefersReducedMotion(),\n animationDelay: `${delay}ms`,\n animationDuration: `${isExiting ? duration * EXITING_MOTION_MULTIPLIER : duration}ms`,\n animationFillMode: isExiting ? 'forwards' : 'backwards',\n animationName: `${keyframes(isExiting ? exitingAnimation || enteringAnimation : enteringAnimation)}`,\n animationPlayState: paused ? 'paused' : 'running',\n animationTimingFunction: animationTimingFunction(state)\n }) : ''\n }, state));\n};\nexport default EnteringMotion;","/* eslint-disable @repo/internal/react/disallow-unstable-values */\nimport { useRef } from 'react';\n\n/**\n * Will return a unique id that does not change between renders.\n * Try not use this to render DOM markup (attributes or otherwise)\n * as you will probably not get the same result on the Server vs. Client.\n */\nexport function useUniqueId() {\n const identifier = useRef('');\n if (!identifier.current) {\n identifier.current = '_' + (Number(String(Math.random()).slice(2)) + Date.now() + Math.round(performance.now())).toString(36);\n }\n return identifier.current;\n}","import React from 'react';\nimport { easeInOut } from '../utils/curves';\nimport { largeDurationMs } from '../utils/durations';\nimport KeyframesMotion from './keyframes-motion';\nconst directionMotions = {\n proportional: {\n bottom: 'translate3d(0, calc(5% + 4px), 0)',\n left: 'translate3d(calc(-5% - 4px), 0, 0)',\n right: 'translate3d(calc(5% + 4px), 0, 0)',\n top: 'translate3d(0, calc(-5% - 4px), 0)'\n },\n constant: {\n bottom: 'translate3d(0, 4px, 0)',\n left: 'translate3d(-4px, 0, 0)',\n right: 'translate3d(4px, 0, 0)',\n top: 'translate3d(0, -4px, 0)'\n }\n};\nconst invertedDirection = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\nexport const fadeInAnimation = (direction, distance = 'proportional') => {\n return {\n from: {\n opacity: 0,\n ...(direction !== undefined && {\n transform: directionMotions[distance][direction]\n })\n },\n '50%': {\n opacity: 1\n },\n to: {\n transform: direction !== undefined ? 'none' : undefined\n }\n };\n};\nexport const fadeOutAnimation = (direction, distance = 'proportional') => ({\n from: {\n opacity: 1,\n transform: direction !== undefined ? 'translate3d(0, 0, 0)' : undefined\n },\n to: {\n opacity: 0,\n ...(direction !== undefined && {\n transform: directionMotions[distance][direction]\n })\n }\n});\n\n/**\n * Props for controlling the behavior of the FadeIn animation\n */\n\n/**\n * __FadeIn__\n *\n * Useful for fading in one or more elements.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/motion/docs/entering-motions)\n */\nconst FadeIn = ({\n children,\n duration = largeDurationMs,\n entranceDirection,\n exitDirection,\n distance = 'proportional',\n onFinish,\n isPaused\n}) => {\n const invertedEntranceDirection = entranceDirection && invertedDirection[entranceDirection];\n return /*#__PURE__*/React.createElement(KeyframesMotion, {\n duration: duration,\n enteringAnimation: fadeInAnimation(entranceDirection, distance),\n exitingAnimation: fadeOutAnimation(exitDirection || invertedEntranceDirection, distance),\n animationTimingFunction: () => easeInOut,\n onFinish: onFinish,\n isPaused: isPaused\n }, children);\n};\nexport default FadeIn;","import { useEffect, useState } from 'react';\nimport { bind } from 'bind-event-listener';\nconst isMatchMediaAvailable = () => typeof window !== 'undefined' && 'matchMedia' in window;\n\n/**\n * Use for any programatic motions needed at runtime.\n * Will return `true` if the current user prefers reduced motion.\n * This is generally set through OS preferences/settings.\n */\nexport const isReducedMotion = () => {\n if (!isMatchMediaAvailable()) {\n return false;\n }\n const {\n matches\n } = window.matchMedia('(prefers-reduced-motion: reduce)');\n return matches;\n};\n\n/**\n * A React hook version of {@link isReducedMotion}.\n * Useful for React components that need to re-render if the user's motion\n * preference changes at runtime.\n */\nexport const useIsReducedMotion = () => {\n const [prefersReducedMotion, setPrefersReducedMotion] = useState(isReducedMotion);\n useEffect(() => {\n if (!isMatchMediaAvailable()) {\n return;\n }\n const mediaQueryList = window.matchMedia('(prefers-reduced-motion: reduce)');\n const onChange = event => setPrefersReducedMotion(event.matches);\n return bind(mediaQueryList, {\n type: 'change',\n listener: onChange\n });\n }, []);\n return prefersReducedMotion;\n};\n\n/**\n * Use for any CSS based motion (animation or transition).\n * Always put at the end of your declaration for correct use of the cascade.\n * Reduced motion preference is generally set through OS preferences/settings.\n */\nexport const prefersReducedMotion = () => ({\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n transition: 'none'\n }\n});","export const easeInOut = 'cubic-bezier(0.15,1,0.3,1)';\nexport const easeOut = 'cubic-bezier(0.2,0,0,1)';\nexport const easeIn = 'cubic-bezier(0.8,0,0,0.8)';","/**\n * Think of this as the motion equivalent of the @atlaskit/theme `grid()`.\n */\nexport const durationStep = 25;\nexport const smallDurationMs = durationStep * 4;\nexport const mediumDurationMs = durationStep * 14;\nexport const largeDurationMs = durationStep * 28;","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef } from './utils';\nimport { usePopper } from './usePopper';\n\nvar NOOP = function NOOP() {\n return void 0;\n};\n\nvar NOOP_PROMISE = function NOOP_PROMISE() {\n return Promise.resolve(null);\n};\n\nvar EMPTY_MODIFIERS = [];\nexport function Popper(_ref) {\n var _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,\n _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? EMPTY_MODIFIERS : _ref$modifiers,\n referenceElement = _ref.referenceElement,\n onFirstUpdate = _ref.onFirstUpdate,\n innerRef = _ref.innerRef,\n children = _ref.children;\n var referenceNode = React.useContext(ManagerReferenceNodeContext);\n\n var _React$useState = React.useState(null),\n popperElement = _React$useState[0],\n setPopperElement = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowElement = _React$useState2[0],\n setArrowElement = _React$useState2[1];\n\n React.useEffect(function () {\n setRef(innerRef, popperElement);\n }, [innerRef, popperElement]);\n var options = React.useMemo(function () {\n return {\n placement: placement,\n strategy: strategy,\n onFirstUpdate: onFirstUpdate,\n modifiers: [].concat(modifiers, [{\n name: 'arrow',\n enabled: arrowElement != null,\n options: {\n element: arrowElement\n }\n }])\n };\n }, [placement, strategy, onFirstUpdate, modifiers, arrowElement]);\n\n var _usePopper = usePopper(referenceElement || referenceNode, popperElement, options),\n state = _usePopper.state,\n styles = _usePopper.styles,\n forceUpdate = _usePopper.forceUpdate,\n update = _usePopper.update;\n\n var childrenProps = React.useMemo(function () {\n return {\n ref: setPopperElement,\n style: styles.popper,\n placement: state ? state.placement : placement,\n hasPopperEscaped: state && state.modifiersData.hide ? state.modifiersData.hide.hasPopperEscaped : null,\n isReferenceHidden: state && state.modifiersData.hide ? state.modifiersData.hide.isReferenceHidden : null,\n arrowProps: {\n style: styles.arrow,\n ref: setArrowElement\n },\n forceUpdate: forceUpdate || NOOP,\n update: update || NOOP_PROMISE\n };\n }, [setPopperElement, setArrowElement, placement, state, styles, update, forceUpdate]);\n return unwrapArray(children)(childrenProps);\n}","import React, { useMemo } from 'react';\nimport { Popper as ReactPopper } from 'react-popper';\nexport { placements } from '@popperjs/core';\n// Export types from PopperJS / React Popper\n\nconst constantModifiers = [{\n name: 'flip',\n options: {\n flipVariations: false,\n padding: 5,\n boundary: 'clippingParents',\n rootBoundary: 'viewport'\n }\n}, {\n name: 'preventOverflow',\n options: {\n padding: 5,\n rootBoundary: 'document'\n }\n}];\nfunction defaultChildrenFn() {\n return null;\n}\nconst defaultOffset = [0, 8];\nexport function Popper({\n children = defaultChildrenFn,\n offset = defaultOffset,\n placement = 'bottom-start',\n referenceElement = undefined,\n modifiers,\n strategy = 'fixed'\n}) {\n const [offsetX, offsetY] = offset;\n // Merge a new offset modifier only if new offset values passed in\n const internalModifiers = useMemo(() => {\n const offsetModifier = {\n name: 'offset',\n options: {\n offset: [offsetX, offsetY]\n }\n };\n return [...constantModifiers, offsetModifier];\n }, [offsetX, offsetY]);\n\n // Merge custom props and memoize\n const mergedModifiers = useMemo(() => {\n if (modifiers == null) {\n return internalModifiers;\n }\n return [...internalModifiers, ...modifiers];\n }, [internalModifiers, modifiers]);\n return /*#__PURE__*/React.createElement(ReactPopper, {\n modifiers: mergedModifiers,\n placement: placement,\n strategy: strategy,\n referenceElement: referenceElement\n }, children);\n}","export const portalParentClassName = 'atlaskit-portal-container';\nexport const portalParentSelector = 'body > .atlaskit-portal-container';\nexport const portalClassName = 'atlaskit-portal';","import { portalClassName, portalParentClassName, portalParentSelector } from '../constants';\n\n/**\n * Creates a new portal container element with provided z-index and class name 'atlaskit-portal',\n * it is not be attached to any DOM node at this stage.\n * @param {number | string} zIndex - the z-index value of the newly created portal container element\n * @return {number} - The newly created container element\n */\nexport const createContainer = zIndex => {\n const container = document.createElement('div');\n container.className = portalClassName;\n container.style.zIndex = `${zIndex}`;\n return container;\n};\n\n/**\n * Returns document body element\n * @return {number} - The document body element\n */\nconst getBody = () => {\n return document.body;\n};\n\n/**\n * Returns portal parent container. If no container exists already then it creates a new container with class name 'atlaskit-portal-container'\n * @return {Element} - The portal parent container div element\n */\nconst getPortalParent = () => {\n const parentElement = document.querySelector(portalParentSelector);\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.className = portalParentClassName;\n // we are setting display to flex because we want each portal to create a new stacking context\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n parent.style.display = 'flex';\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\n\n/**\n * Removes portal container from portal parent container\n * @param {HTMLDivElement | undefined} container - portal container to be removed from portal parent container\n */\nexport const removePortalContainer = container => {\n getPortalParent().removeChild(container);\n};\n\n/**\n * Appends portal container to portal parent container if it hasn't already been done\n * @param {HTMLDivElement | undefined} container - portal container to be added to portal parent container\n */\nexport const appendPortalContainerIfNotAppended = container => {\n if (!container.parentElement) {\n getPortalParent().appendChild(container);\n }\n};","import { useEffect, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { appendPortalContainerIfNotAppended, createContainer, removePortalContainer } from '../utils/portal-dom-utils';\nexport default function InternalPortal(props) {\n const {\n zIndex,\n children\n } = props;\n const container = useMemo(() => createContainer(zIndex), [zIndex]);\n\n // This is in the render method instead of useEffect so that\n // the portal will be added to the DOM before the children render.\n // For any further changes, ensure that the container does not have a\n // parent besides the portal parent.\n appendPortalContainerIfNotAppended(container);\n useEffect(() => {\n return () => {\n removePortalContainer(container);\n };\n }, [container]);\n return /*#__PURE__*/createPortal(children, container);\n}","import { useEffect, useState } from 'react';\nconst useIsSubsequentRender = () => {\n const [isSubsequentRender, setIsSubsequentRender] = useState(false);\n useEffect(() => {\n setIsSubsequentRender(true);\n }, []);\n return isSubsequentRender;\n};\nexport default useIsSubsequentRender;","const zIndexToName = {\n 100: 'card',\n 200: 'navigation',\n 300: 'dialog',\n 400: 'layer',\n 500: 'blanket',\n 510: 'modal',\n 600: 'flag',\n 700: 'spotlight',\n 800: 'tooltip'\n};\n\n/**\n * return layer name in Atlassian design system corresponding to given z-index\n * @param {number} zIndex - z-index value for which layer name is needed\n * @returns {LayerName | null} - The layer name for given z-index. If layer name is not found then null is returned\n */\nconst getLayerName = zIndex => {\n return zIndexToName.hasOwnProperty(zIndex) ? zIndexToName[zIndex] : null;\n};\n\n/**\n * Creates a PortalEvent object with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n * @returns {PortalEvent} - The newly created PortalEvent object\n */\nconst getEvent = (eventName, zIndex) => {\n const detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex\n };\n return new CustomEvent(eventName, {\n detail\n });\n};\n\n/**\n * Dispatches a custom event on window with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n */\nexport default function firePortalEvent(eventName, zIndex) {\n const event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n}","import { useEffect } from 'react';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../../constants';\nimport firePortalEvent from '../utils/portal-custom-event';\nconst useFirePortalEvent = zIndex => {\n const zIndexNumber = Number(zIndex);\n useEffect(() => {\n firePortalEvent(PORTAL_MOUNT_EVENT, zIndexNumber);\n return () => {\n firePortalEvent(PORTAL_UNMOUNT_EVENT, zIndexNumber);\n };\n }, [zIndexNumber]);\n};\nexport default useFirePortalEvent;","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';","import React from 'react';\nimport InternalPortal from './internal/components/internal-portal';\nimport useIsSubsequentRender from './internal/hooks/use-is-subsequent-render';\nimport useFirePortalEvent from './internal/hooks/use-portal-event';\nexport default function Portal(props) {\n const {\n zIndex = 0,\n children\n } = props;\n const isSubsequentRender = useIsSubsequentRender();\n useFirePortalEvent(zIndex);\n return isSubsequentRender ? /*#__PURE__*/React.createElement(InternalPortal, {\n zIndex: zIndex\n }, children) : null;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafSyntheticEventHandler({\n fn,\n action,\n componentName,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(() => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","let delayId = null;\nexport function clearScheduled() {\n if (delayId != null) {\n window.clearTimeout(delayId);\n delayId = null;\n }\n}\nexport function scheduleTimeout(fn, delay) {\n clearScheduled();\n delayId = window.setTimeout(() => {\n delayId = null;\n fn();\n }, delay);\n}","import { clearScheduled, scheduleTimeout } from './shared-schedule';\n\n// This file is a singleton for managing tooltips\n\nlet active = null;\nexport function show(entry) {\n let phase = 'waiting-to-show';\n function isActive() {\n return Boolean(active && active.entry === entry);\n }\n function cleanup() {\n if (isActive()) {\n clearScheduled();\n active = null;\n }\n }\n function done() {\n if (isActive()) {\n entry.done();\n }\n phase = 'done';\n cleanup();\n }\n function immediatelyHideAndDone() {\n if (isActive()) {\n entry.hide({\n isImmediate: true\n });\n }\n done();\n }\n function keep() {\n if (!isActive()) {\n return;\n }\n\n // aborting a wait to hide\n if (phase === 'waiting-to-hide') {\n phase = 'shown';\n clearScheduled();\n return;\n }\n\n // aborting hide animation\n if (phase === 'hide-animating') {\n phase = 'shown';\n clearScheduled();\n entry.show({\n isImmediate: false\n });\n return;\n }\n }\n function requestHide({\n isImmediate\n }) {\n if (!isActive()) {\n return;\n }\n\n // If we were not showing yet anyway; finish straight away\n if (phase === 'waiting-to-show') {\n immediatelyHideAndDone();\n return;\n }\n\n // already waiting to hide\n if (phase === 'waiting-to-hide') {\n return;\n }\n if (isImmediate) {\n immediatelyHideAndDone();\n return;\n }\n phase = 'waiting-to-hide';\n scheduleTimeout(() => {\n phase = 'hide-animating';\n entry.hide({\n isImmediate: false\n });\n }, entry.delay);\n }\n function finishHideAnimation() {\n if (isActive() && phase === 'hide-animating') {\n done();\n }\n }\n function isVisible() {\n return phase === 'shown' || phase === 'waiting-to-hide' || phase === 'hide-animating';\n }\n function getInitialMouse() {\n if (entry.source.type === 'mouse') {\n return entry.source.mouse;\n }\n return null;\n }\n function start() {\n const showImmediately = Boolean(active && active.isVisible());\n\n // If there was an active tooltip; we tell it to remove itself at once!\n if (active) {\n clearScheduled();\n active.entry.hide({\n isImmediate: true\n });\n active.entry.done();\n active = null;\n }\n\n // this tooltip is now the active tooltip\n active = {\n entry,\n isVisible\n };\n function show() {\n phase = 'shown';\n entry.show({\n isImmediate: showImmediately\n });\n }\n if (showImmediately) {\n show();\n return;\n }\n phase = 'waiting-to-show';\n scheduleTimeout(show, entry.delay);\n }\n // let's get started!\n start();\n const result = {\n keep,\n abort: cleanup,\n isActive,\n requestHide,\n finishHideAnimation,\n mousePosition: getInitialMouse()\n };\n return result;\n}","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport TooltipPrimitive from './TooltipPrimitive';\nconst baseStyles = css({\n boxSizing: 'border-box',\n maxWidth: '240px',\n padding: `${\"var(--ds-space-025, 2px)\"} ${\"var(--ds-space-075, 6px)\"}`,\n top: \"var(--ds-space-0, 0px)\",\n left: \"var(--ds-space-0, 0px)\",\n borderRadius: \"var(--ds-radius-100, 3px)\",\n fontSize: \"var(--ds-font-size-075, 12px)\",\n lineHeight: 1.3,\n overflowWrap: 'break-word',\n wordWrap: 'break-word'\n});\nconst truncateStyles = css({\n maxWidth: '420px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n});\nconst lightStyles = css({\n backgroundColor: `var(--ds-background-neutral-bold, ${N800})`,\n color: `var(--ds-text-inverse, ${N0})`\n});\nconst darkStyles = css({\n backgroundColor: `var(--ds-background-neutral-bold, ${DN0})`,\n color: `var(--ds-text-inverse, ${DN600})`\n});\nconst TooltipContainer = /*#__PURE__*/forwardRef(function TooltipContainer({\n style,\n className,\n children,\n truncate,\n placement,\n testId,\n onMouseOut,\n onMouseOver,\n id\n}, ref) {\n return jsx(GlobalTheme.Consumer, null, ({\n mode\n }) =>\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n jsx(TooltipPrimitive, {\n ref: ref,\n style: style,\n className: className,\n placement: placement,\n testId: testId,\n id: id,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOver,\n css: [baseStyles, truncate ? truncateStyles : null, mode === 'light' ? lightStyles : darkStyles]\n }, children));\n});\nTooltipContainer.displayName = 'TooltipContainer';\nexport default TooltipContainer;","export function getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || {\n top: 0,\n left: 0\n };\n const getBoundingClientRect = () => ({\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0\n });\n return {\n getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { jsx } from '@emotion/react';\nimport { bind } from 'bind-event-listener';\nimport { usePlatformLeafSyntheticEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useCloseOnEscapePress from '@atlaskit/ds-lib/use-close-on-escape-press';\nimport { ExitingPersistence, FadeIn } from '@atlaskit/motion';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { show } from './internal/tooltip-manager';\nimport useUniqueId from './internal/use-unique-id';\nimport TooltipContainer from './TooltipContainer';\nimport { getMousePosition } from './utilities';\nconst tooltipZIndex = layers.tooltip();\nconst analyticsAttributes = {\n componentName: 'tooltip',\n packageName: \"@atlaskit/tooltip\",\n packageVersion: \"17.8.2\"\n};\n\n// Inverts motion direction\nconst invertedDirection = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\n\n/**\n * Converts a Popper placement to it's general direction.\n *\n * @param position - Popper Placement value, e.g. 'top-start'\n * @returns Popper Direction, e.g. 'top'\n */\nconst getDirectionFromPlacement = placement => placement.split('-')[0];\nfunction Tooltip({\n children,\n position = 'bottom',\n mousePosition = 'bottom',\n content,\n truncate = false,\n component: Container = TooltipContainer,\n tag: TargetContainer = 'div',\n testId,\n delay = 300,\n onShow = noop,\n onHide = noop,\n hideTooltipOnClick = false,\n hideTooltipOnMouseDown = false,\n analyticsContext,\n strategy = 'fixed'\n}) {\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n const onShowHandler = usePlatformLeafSyntheticEventHandler({\n fn: onShow,\n action: 'displayed',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const onHideHandler = usePlatformLeafSyntheticEventHandler({\n fn: onHide,\n action: 'hidden',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const apiRef = useRef(null);\n const [state, setState] = useState('hide');\n const targetRef = useRef(null);\n const containerRef = useRef(null);\n const setRef = useCallback(node => {\n if (!node) {\n return;\n }\n if (typeof children === 'function') {\n // @ts-ignore - React Ref typing is too strict for this use case\n targetRef.current = node;\n } else {\n // @ts-ignore - React Ref typing is too strict for this use case\n containerRef.current = node;\n // @ts-ignore - React Ref typing is too strict for this use case\n targetRef.current = node.firstChild;\n }\n }, [children]);\n\n // Putting a few things into refs so that we don't have to break memoization\n const lastState = useRef(state);\n const lastDelay = useRef(delay);\n const lastHandlers = useRef({\n onShowHandler,\n onHideHandler\n });\n const hasCalledShowHandler = useRef(false);\n useEffect(() => {\n lastState.current = state;\n lastDelay.current = delay;\n lastHandlers.current = {\n onShowHandler,\n onHideHandler\n };\n }, [delay, onHideHandler, onShowHandler, state]);\n const start = useCallback(api => {\n // @ts-ignore\n apiRef.current = api;\n hasCalledShowHandler.current = false;\n }, []);\n const done = useCallback(() => {\n if (!apiRef.current) {\n return;\n }\n // Only call onHideHandler if we have called onShowHandler\n if (hasCalledShowHandler.current) {\n lastHandlers.current.onHideHandler();\n }\n // @ts-ignore\n apiRef.current = null;\n // @ts-ignore\n hasCalledShowHandler.current = false;\n // just in case\n setState('hide');\n }, []);\n const abort = useCallback(() => {\n if (!apiRef.current) {\n return;\n }\n apiRef.current.abort();\n // Only call onHideHandler if we have called onShowHandler\n if (hasCalledShowHandler.current) {\n lastHandlers.current.onHideHandler();\n }\n // @ts-ignore\n apiRef.current = null;\n }, []);\n useEffect(function mount() {\n return function unmount() {\n if (apiRef.current) {\n abort();\n }\n };\n }, [abort]);\n const showTooltip = useCallback(source => {\n if (apiRef.current && !apiRef.current.isActive()) {\n abort();\n }\n\n // Tell the tooltip to keep showing\n if (apiRef.current && apiRef.current.isActive()) {\n apiRef.current.keep();\n return;\n }\n const entry = {\n source,\n delay: lastDelay.current,\n show: ({\n isImmediate\n }) => {\n // Call the onShow handler if it hasn't been called yet\n if (!hasCalledShowHandler.current) {\n hasCalledShowHandler.current = true;\n lastHandlers.current.onShowHandler();\n }\n setState(isImmediate ? 'show-immediate' : 'fade-in');\n },\n hide: ({\n isImmediate\n }) => {\n if (isImmediate) {\n setState('hide');\n } else {\n setState('before-fade-out');\n }\n },\n done: done\n };\n const api = show(entry);\n start(api);\n }, [abort, done, start]);\n const hideTooltipOnEsc = useCallback(() => {\n var _apiRef$current;\n (_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.requestHide({\n isImmediate: true\n });\n }, [apiRef]);\n useCloseOnEscapePress({\n onClose: hideTooltipOnEsc,\n isDisabled: state === 'hide' || state === 'fade-out'\n });\n useEffect(() => {\n if (state === 'hide') {\n return noop;\n }\n if (state === 'before-fade-out') {\n setState('fade-out');\n }\n const unbind = bind(window, {\n type: 'scroll',\n listener: () => {\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n },\n options: {\n capture: true,\n passive: true,\n once: true\n }\n });\n return unbind;\n }, [state]);\n const onMouseDown = useCallback(() => {\n if (hideTooltipOnMouseDown && apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n }, [hideTooltipOnMouseDown]);\n const onClick = useCallback(() => {\n if (hideTooltipOnClick && apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n }, [hideTooltipOnClick]);\n\n // Ideally we would be using onMouseEnter here, but\n // because we are binding the event to the target parent\n // we need to listen for the mouseover of all sub elements\n // This means when moving along a tooltip we are quickly toggling\n // between api.requestHide and api.keep. This it not ideal\n const onMouseOver = useCallback(event => {\n // Ignoring events from the container ref\n if (containerRef.current && event.target === containerRef.current) {\n return;\n }\n\n // Using prevent default as a signal that parent tooltips\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n const source = position === 'mouse' ? {\n type: 'mouse',\n // TODO: ideally not recalculating this object each time\n mouse: getMousePosition({\n left: event.clientX,\n top: event.clientY\n })\n } : {\n type: 'keyboard'\n };\n showTooltip(source);\n }, [position, showTooltip]);\n\n // Ideally we would be using onMouseEnter here, but\n // because we are binding the event to the target parent\n // we need to listen for the mouseout of all sub elements\n // This means when moving along a tooltip we are quickly toggling\n // between api.requestHide and api.keep. This it not ideal\n const onMouseOut = useCallback(event => {\n // Ignoring events from the container ref\n if (containerRef.current && event.target === containerRef.current) {\n return;\n }\n\n // Using prevent default as a signal that parent tooltips\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: false\n });\n }\n }, []);\n const onMouseMove = position === 'mouse' ? event => {\n var _apiRef$current2;\n if ((_apiRef$current2 = apiRef.current) !== null && _apiRef$current2 !== void 0 && _apiRef$current2.isActive()) {\n apiRef.current.mousePosition = getMousePosition({\n left: event.clientX,\n top: event.clientY\n });\n }\n } : undefined;\n const onMouseOverTooltip = useCallback(() => {\n if (apiRef.current && apiRef.current.isActive()) {\n apiRef.current.keep();\n return;\n }\n }, []);\n const onFocus = useCallback(() => {\n showTooltip({\n type: 'keyboard'\n });\n }, [showTooltip]);\n const onBlur = useCallback(() => {\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: false\n });\n }\n }, []);\n const onAnimationFinished = useCallback(transition => {\n // Using lastState here because motion is not picking up the latest value\n if (transition === 'exiting' && lastState.current === 'fade-out' && apiRef.current) {\n // @ts-ignore: refs are writeable\n apiRef.current.finishHideAnimation();\n }\n }, []);\n\n // Doing a cast because typescript is struggling to narrow the type\n const CastTargetContainer = TargetContainer;\n const shouldRenderTooltipContainer = state !== 'hide' && Boolean(content);\n const shouldRenderTooltipChildren = state !== 'hide' && state !== 'fade-out';\n const getReferenceElement = () => {\n var _apiRef$current3;\n if (position === 'mouse' && (_apiRef$current3 = apiRef.current) !== null && _apiRef$current3 !== void 0 && _apiRef$current3.mousePosition) {\n var _apiRef$current4;\n return (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 ? void 0 : _apiRef$current4.mousePosition;\n }\n return targetRef.current || undefined;\n };\n const tooltipId = useUniqueId('tooltip', shouldRenderTooltipContainer);\n const tooltipTriggerProps = {\n onMouseOver,\n onMouseOut,\n onMouseMove,\n onMouseDown,\n onClick,\n onFocus,\n onBlur,\n ref: setRef\n };\n\n // Don't set `data-testid` unless it's defined, as it's not in the interface.\n if (testId) {\n // @ts-expect-error - Adding `data-testid` to the TriggerProps interface breaks Buttons.\n tooltipTriggerProps['data-testid'] = `${testId}--container`;\n }\n\n // This useEffect is purely for managing the aria attribute when using the\n // wrapped children approach.\n useEffect(() => {\n // If there is no container element, we should exit early, because that\n // means they are using the render prop API, and that is implemented in a\n // different way. If there is no target element yet or tooltipId, we also\n // shouldn't do anything because there is nothing to operate on or with.\n if (!containerRef.current || !targetRef.current || !tooltipId) {\n return;\n }\n\n // Necessary for TS to know that it has the attribute methods\n const target = targetRef.current;\n if (shouldRenderTooltipContainer) {\n target.setAttribute('aria-describedby', tooltipId);\n } else {\n target.removeAttribute('aria-describedby');\n }\n }, [shouldRenderTooltipContainer, tooltipId]);\n return jsx(React.Fragment, null, typeof children === 'function' ?\n // once we deprecate the wrapped approach, we can put the aria\n // attribute back into the tooltipTriggerProps and make it required\n // instead of optional in `types`\n children({\n ...tooltipTriggerProps,\n 'aria-describedby': tooltipId\n }) : jsx(CastTargetContainer, _extends({}, tooltipTriggerProps, {\n role: \"presentation\"\n }), children), shouldRenderTooltipContainer ? jsx(Portal, {\n zIndex: tooltipZIndex\n }, jsx(Popper, {\n placement: tooltipPosition,\n referenceElement: getReferenceElement(),\n strategy: strategy\n }, ({\n ref,\n style,\n update,\n placement\n }) => {\n // Invert the entrance and exit directions.\n // E.g. a tooltip's position is on the 'right', it should enter from and exit to the 'left'\n // This gives the effect the tooltip is appearing from the target\n const direction = position === 'mouse' ? undefined : invertedDirection[getDirectionFromPlacement(placement)];\n return jsx(ExitingPersistence, {\n appear: true\n }, shouldRenderTooltipChildren && jsx(FadeIn, {\n distance: \"constant\",\n entranceDirection: direction,\n exitDirection: direction,\n onFinish: onAnimationFinished,\n duration: state === 'show-immediate' ? 0 : mediumDurationMs\n }, ({\n className\n }) =>\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n jsx(Container, {\n ref: ref\n /**\n * \"Tooltip\" classname is a hook used by tests to manipulate\n * and hide tooltips, including in VR snapshots\n **/,\n className: `Tooltip ${className}`,\n style: style,\n truncate: truncate,\n placement: tooltipPosition,\n testId: testId,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOverTooltip,\n id: tooltipId\n }, typeof content === 'function' ? content({\n update\n }) : content)));\n })) : null);\n}\nTooltip.displayName = 'Tooltip';\nexport default Tooltip;","import { useUIDSeed } from 'react-uid';\nexport default function useUniqueId(prefix, shouldRenderId) {\n const seed = useUIDSeed();\n return shouldRenderId ? `${seed(prefix)}` : undefined;\n}","/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { layers } from '@atlaskit/theme/constants';\nconst VAR_PRIMITIVE_ZINDEX = 'tooltipPrimitiveZindex';\nconst primitiveStyles = css({\n zindex: `var(${VAR_PRIMITIVE_ZINDEX})`,\n cursor: `default`\n});\nconst TooltipPrimitive = /*#__PURE__*/forwardRef(function TooltipPrimitive({\n style,\n className,\n children,\n placement,\n testId,\n onMouseOut,\n onMouseOver,\n id\n}, ref) {\n const styleWithZIndex = {\n ...style,\n [VAR_PRIMITIVE_ZINDEX]: layers.tooltip()\n };\n return jsx(\"div\", {\n ref: ref,\n style: styleWithZIndex,\n \"data-testid\": testId ? `${testId}--wrapper` : undefined\n }, jsx(\"div\", {\n role: \"tooltip\",\n className: className,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOver,\n css: primitiveStyles,\n \"data-placement\": placement,\n \"data-testid\": testId,\n id: id\n }, children));\n});\nTooltipPrimitive.displayName = 'TooltipPrimitive';\nexport default TooltipPrimitive;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","const themedBackground = {\n light: \"var(--ds-surface, #FFFFFF)\",\n dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexport const sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge'\n};\nexport const dimensions = {\n small: {\n width: sizes.small,\n height: sizes.small\n },\n medium: {\n width: sizes.medium,\n height: sizes.medium\n },\n large: {\n width: sizes.large,\n height: sizes.large\n },\n xlarge: {\n width: sizes.xlarge,\n height: sizes.xlarge\n }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n overflow: 'hidden',\n pointerEvents: 'none',\n /**\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n * rule) and then override it with currentColor for the color changes to be picked up.\n */\n stop: {\n stopColor: 'currentColor'\n }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n small: smallStyles,\n medium: mediumStyles,\n large: largeStyles,\n xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n width,\n height,\n size\n}) => {\n if (width && height) {\n return {\n width,\n height\n };\n }\n if (size) {\n return dimensions[size];\n }\n return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n display: 'inline-block',\n flexShrink: 0,\n lineHeight: 1,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n ...commonSVGStyles,\n maxWidth: '100%',\n maxHeight: '100%',\n color: 'var(--icon-primary-color)',\n fill: 'var(--icon-secondary-color)',\n verticalAlign: 'bottom'\n }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n filter: 'grayscale(1)',\n '--icon-primary-color': 'CanvasText',\n // foreground\n '--icon-secondary-color': 'Canvas' // background\n }\n }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n // if the primaryColor is the same as the secondaryColor we\n // set the --icon-primary-color to Canvas\n // this is usually to convey state i.e. Checkbox checked -> not checked\n '--icon-primary-color': 'Canvas' // foreground\n }\n }\n});\n\nconst secondaryTransparentHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n '--icon-secondary-color': 'transparent' // background\n }\n }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n const {\n glyph: Glyph,\n dangerouslySetGlyph,\n primaryColor = 'currentColor',\n secondaryColor,\n size,\n testId,\n label,\n width,\n height\n } = props;\n const glyphProps = dangerouslySetGlyph ? {\n dangerouslySetInnerHTML: {\n __html: dangerouslySetGlyph\n }\n } : {\n children: Glyph ? jsx(Glyph, {\n role: \"presentation\"\n }) : null\n };\n const dimensions = getIconSize({\n width,\n height,\n size\n });\n const {\n mode\n } = useGlobalTheme();\n return jsx(\"span\", _extends({\n \"data-testid\": testId,\n role: label ? 'img' : undefined,\n \"aria-label\": label ? label : undefined,\n \"aria-hidden\": label ? undefined : true,\n style: {\n '--icon-primary-color': primaryColor,\n '--icon-secondary-color': secondaryColor || getBackground(mode)\n }\n }, glyphProps, {\n css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n // We could then simplify how common styles are dealt with simply by encapsualting them\n // at their appropriate level and/or having a singular approach to css variables in the package\n dimensions &&\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n css({\n width: dimensions.width,\n height: dimensions.height,\n '> svg': dimensions\n })]\n }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CheckIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCheckIcon.displayName = 'CheckIcon';\nvar _default = CheckIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst QuestionCircleIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nQuestionCircleIcon.displayName = 'QuestionCircleIcon';\nvar _default = QuestionCircleIcon;\nexports.default = _default;","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MediaQuery\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"MediaQuery\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE_react__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/css-mediaquery/index.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/css-mediaquery/index.js ***!\n \\**********************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/hyphenate-style-name/index.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/hyphenate-style-name/index.js ***!\n \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hyphenateStyleName);\n\n\n/***/ }),\n\n/***/ \"./node_modules/matchmediaquery/index.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/matchmediaquery/index.js ***!\n \\***********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar staticMatch = (__webpack_require__(/*! css-mediaquery */ \"./node_modules/css-mediaquery/index.js\").match);\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n if(dynamicMatch && !forceStatic){\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n\n\n/***/ }),\n\n/***/ \"./node_modules/object-assign/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/object-assign/index.js ***!\n \\*********************************************/\n/***/ ((module) => {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/checkPropTypes.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/prop-types/checkPropTypes.js ***!\n \\***************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n var has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (true) {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/factoryWithTypeCheckers.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!\n \\************************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/index.js\":\n/*!******************************************!*\\\n !*** ./node_modules/prop-types/index.js ***!\n \\******************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (true) {\n var ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ \"./node_modules/prop-types/factoryWithTypeCheckers.js\")(ReactIs.isElement, throwOnDirectAccess);\n} else {}\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!\n \\*************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/lib/has.js\":\n/*!********************************************!*\\\n !*** ./node_modules/prop-types/lib/has.js ***!\n \\********************************************/\n/***/ ((module) => {\n\nmodule.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/cjs/react-is.development.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/react-is/cjs/react-is.development.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/index.js\":\n/*!****************************************!*\\\n !*** ./node_modules/react-is/index.js ***!\n \\****************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/react-is/cjs/react-is.development.js\");\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/shallow-equal/dist/index.esm.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/shallow-equal/dist/index.esm.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"shallowEqualArrays\": () => (/* binding */ shallowEqualArrays),\n/* harmony export */ \"shallowEqualObjects\": () => (/* binding */ shallowEqualObjects)\n/* harmony export */ });\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\n\n\n\n/***/ }),\n\n/***/ \"./src/Component.ts\":\n/*!**************************!*\\\n !*** ./src/Component.ts ***!\n \\**************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar useMediaQuery_1 = __importDefault(__webpack_require__(/*! ./useMediaQuery */ \"./src/useMediaQuery.ts\"));\n// ReactNode and ReactElement typings are a little funky for functional components, so the ReactElement cast is needed on the return\nvar MediaQuery = function (_a) {\n var children = _a.children, device = _a.device, onChange = _a.onChange, settings = __rest(_a, [\"children\", \"device\", \"onChange\"]);\n var matches = (0, useMediaQuery_1.default)(settings, device, onChange);\n if (typeof children === 'function') {\n return children(matches);\n }\n return matches ? children : null;\n};\nexports[\"default\"] = MediaQuery;\n\n\n/***/ }),\n\n/***/ \"./src/Context.ts\":\n/*!************************!*\\\n !*** ./src/Context.ts ***!\n \\************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar react_1 = __webpack_require__(/*! react */ \"react\");\nvar Context = (0, react_1.createContext)(undefined);\nexports[\"default\"] = Context;\n\n\n/***/ }),\n\n/***/ \"./src/index.ts\":\n/*!**********************!*\\\n !*** ./src/index.ts ***!\n \\**********************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Context = exports.toQuery = exports.useMediaQuery = exports[\"default\"] = void 0;\nvar useMediaQuery_1 = __importDefault(__webpack_require__(/*! ./useMediaQuery */ \"./src/useMediaQuery.ts\"));\nexports.useMediaQuery = useMediaQuery_1.default;\nvar Component_1 = __importDefault(__webpack_require__(/*! ./Component */ \"./src/Component.ts\"));\nexports[\"default\"] = Component_1.default;\nvar toQuery_1 = __importDefault(__webpack_require__(/*! ./toQuery */ \"./src/toQuery.ts\"));\nexports.toQuery = toQuery_1.default;\nvar Context_1 = __importDefault(__webpack_require__(/*! ./Context */ \"./src/Context.ts\"));\nexports.Context = Context_1.default;\n\n\n/***/ }),\n\n/***/ \"./src/mediaQuery.ts\":\n/*!***************************!*\\\n !*** ./src/mediaQuery.ts ***!\n \\***************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar prop_types_1 = __importDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar stringOrNumber = prop_types_1.default.oneOfType([\n prop_types_1.default.string,\n prop_types_1.default.number\n]);\n// media types\nvar types = {\n all: prop_types_1.default.bool,\n grid: prop_types_1.default.bool,\n aural: prop_types_1.default.bool,\n braille: prop_types_1.default.bool,\n handheld: prop_types_1.default.bool,\n print: prop_types_1.default.bool,\n projection: prop_types_1.default.bool,\n screen: prop_types_1.default.bool,\n tty: prop_types_1.default.bool,\n tv: prop_types_1.default.bool,\n embossed: prop_types_1.default.bool\n};\n// properties that match media queries\nvar matchers = {\n orientation: prop_types_1.default.oneOf([\n 'portrait',\n 'landscape'\n ]),\n scan: prop_types_1.default.oneOf([\n 'progressive',\n 'interlace'\n ]),\n aspectRatio: prop_types_1.default.string,\n deviceAspectRatio: prop_types_1.default.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: prop_types_1.default.bool,\n colorIndex: prop_types_1.default.bool,\n monochrome: prop_types_1.default.bool,\n resolution: stringOrNumber,\n type: Object.keys(types)\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar type = matchers.type, featureMatchers = __rest(matchers\n// media features\n, [\"type\"]);\n// media features\nvar features = __assign({ minAspectRatio: prop_types_1.default.string, maxAspectRatio: prop_types_1.default.string, minDeviceAspectRatio: prop_types_1.default.string, maxDeviceAspectRatio: prop_types_1.default.string, minHeight: stringOrNumber, maxHeight: stringOrNumber, minDeviceHeight: stringOrNumber, maxDeviceHeight: stringOrNumber, minWidth: stringOrNumber, maxWidth: stringOrNumber, minDeviceWidth: stringOrNumber, maxDeviceWidth: stringOrNumber, minColor: prop_types_1.default.number, maxColor: prop_types_1.default.number, minColorIndex: prop_types_1.default.number, maxColorIndex: prop_types_1.default.number, minMonochrome: prop_types_1.default.number, maxMonochrome: prop_types_1.default.number, minResolution: stringOrNumber, maxResolution: stringOrNumber }, featureMatchers);\nvar all = __assign(__assign({}, types), features);\nexports[\"default\"] = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n};\n\n\n/***/ }),\n\n/***/ \"./src/toQuery.ts\":\n/*!************************!*\\\n !*** ./src/toQuery.ts ***!\n \\************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar hyphenate_style_name_1 = __importDefault(__webpack_require__(/*! hyphenate-style-name */ \"./node_modules/hyphenate-style-name/index.js\"));\nvar mediaQuery_1 = __importDefault(__webpack_require__(/*! ./mediaQuery */ \"./src/mediaQuery.ts\"));\nvar negate = function (cond) { return \"not \".concat(cond); };\nvar keyVal = function (k, v) {\n var realKey = (0, hyphenate_style_name_1.default)(k);\n // px shorthand\n if (typeof v === 'number') {\n v = \"\".concat(v, \"px\");\n }\n if (v === true) {\n return realKey;\n }\n if (v === false) {\n return negate(realKey);\n }\n return \"(\".concat(realKey, \": \").concat(v, \")\");\n};\nvar join = function (conds) { return conds.join(' and '); };\nvar toQuery = function (obj) {\n var rules = [];\n Object.keys(mediaQuery_1.default.all).forEach(function (k) {\n var v = obj[k];\n if (v != null) {\n rules.push(keyVal(k, v));\n }\n });\n return join(rules);\n};\nexports[\"default\"] = toQuery;\n\n\n/***/ }),\n\n/***/ \"./src/useMediaQuery.ts\":\n/*!******************************!*\\\n !*** ./src/useMediaQuery.ts ***!\n \\******************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar react_1 = __webpack_require__(/*! react */ \"react\");\nvar matchmediaquery_1 = __importDefault(__webpack_require__(/*! matchmediaquery */ \"./node_modules/matchmediaquery/index.js\"));\nvar hyphenate_style_name_1 = __importDefault(__webpack_require__(/*! hyphenate-style-name */ \"./node_modules/hyphenate-style-name/index.js\"));\nvar shallow_equal_1 = __webpack_require__(/*! shallow-equal */ \"./node_modules/shallow-equal/dist/index.esm.js\");\nvar toQuery_1 = __importDefault(__webpack_require__(/*! ./toQuery */ \"./src/toQuery.ts\"));\nvar Context_1 = __importDefault(__webpack_require__(/*! ./Context */ \"./src/Context.ts\"));\nvar makeQuery = function (settings) { return settings.query || (0, toQuery_1.default)(settings); };\nvar hyphenateKeys = function (obj) {\n if (!obj)\n return undefined;\n var keys = Object.keys(obj);\n return keys.reduce(function (result, key) {\n result[(0, hyphenate_style_name_1.default)(key)] = obj[key];\n return result;\n }, {});\n};\nvar useIsUpdate = function () {\n var ref = (0, react_1.useRef)(false);\n (0, react_1.useEffect)(function () {\n ref.current = true;\n }, []);\n return ref.current;\n};\nvar useDevice = function (deviceFromProps) {\n var deviceFromContext = (0, react_1.useContext)(Context_1.default);\n var getDevice = function () {\n return hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n };\n var _a = (0, react_1.useState)(getDevice), device = _a[0], setDevice = _a[1];\n (0, react_1.useEffect)(function () {\n var newDevice = getDevice();\n if (!(0, shallow_equal_1.shallowEqualObjects)(device, newDevice)) {\n setDevice(newDevice);\n }\n }, [deviceFromProps, deviceFromContext]);\n return device;\n};\nvar useQuery = function (settings) {\n var getQuery = function () { return makeQuery(settings); };\n var _a = (0, react_1.useState)(getQuery), query = _a[0], setQuery = _a[1];\n (0, react_1.useEffect)(function () {\n var newQuery = getQuery();\n if (query !== newQuery) {\n setQuery(newQuery);\n }\n }, [settings]);\n return query;\n};\nvar useMatchMedia = function (query, device) {\n var getMatchMedia = function () { return (0, matchmediaquery_1.default)(query, device || {}, !!device); };\n var _a = (0, react_1.useState)(getMatchMedia), mq = _a[0], setMq = _a[1];\n var isUpdate = useIsUpdate();\n (0, react_1.useEffect)(function () {\n if (isUpdate) {\n // skip on mounting, it has already been set\n var newMq_1 = getMatchMedia();\n setMq(newMq_1);\n return function () {\n if (newMq_1) {\n newMq_1.dispose();\n }\n };\n }\n }, [query, device]);\n return mq;\n};\nvar useMatches = function (mediaQuery) {\n var _a = (0, react_1.useState)(mediaQuery.matches), matches = _a[0], setMatches = _a[1];\n (0, react_1.useEffect)(function () {\n var updateMatches = function (ev) {\n setMatches(ev.matches);\n };\n mediaQuery.addListener(updateMatches);\n setMatches(mediaQuery.matches);\n return function () {\n mediaQuery.removeListener(updateMatches);\n };\n }, [mediaQuery]);\n return matches;\n};\nvar useMediaQuery = function (settings, device, onChange) {\n var deviceSettings = useDevice(device);\n var query = useQuery(settings);\n if (!query)\n throw new Error('Invalid or missing MediaQuery!');\n var mq = useMatchMedia(query, deviceSettings);\n var matches = useMatches(mq);\n var isUpdate = useIsUpdate();\n (0, react_1.useEffect)(function () {\n if (isUpdate && onChange) {\n onChange(matches);\n }\n }, [matches]);\n (0, react_1.useEffect)(function () { return function () {\n if (mq) {\n mq.dispose();\n }\n }; }, []);\n return matches;\n};\nexports[\"default\"] = useMediaQuery;\n\n\n/***/ }),\n\n/***/ \"react\":\n/*!**************************************************************************************!*\\\n !*** external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"} ***!\n \\**************************************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_react__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n/******/ \t\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=react-responsive.js.map","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = void 0;\nvar bind_1 = require(\"./bind\");\nfunction toOptions(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (typeof value === 'boolean') {\n return {\n capture: value,\n };\n }\n return value;\n}\nfunction getBinding(original, sharedOptions) {\n if (sharedOptions == null) {\n return original;\n }\n var binding = __assign(__assign({}, original), { options: __assign(__assign({}, toOptions(sharedOptions)), toOptions(original.options)) });\n return binding;\n}\nfunction bindAll(target, bindings, sharedOptions) {\n var unbinds = bindings.map(function (original) {\n var binding = getBinding(original, sharedOptions);\n return (0, bind_1.bind)(target, binding);\n });\n return function unbindAll() {\n unbinds.forEach(function (unbind) { return unbind(); });\n };\n}\nexports.bindAll = bindAll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bind = void 0;\nfunction bind(target, _a) {\n var type = _a.type, listener = _a.listener, options = _a.options;\n target.addEventListener(type, listener, options);\n return function unbind() {\n target.removeEventListener(type, listener, options);\n };\n}\nexports.bind = bind;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = exports.bind = void 0;\nvar bind_1 = require(\"./bind\");\nObject.defineProperty(exports, \"bind\", { enumerable: true, get: function () { return bind_1.bind; } });\nvar bind_all_1 = require(\"./bind-all\");\nObject.defineProperty(exports, \"bindAll\", { enumerable: true, get: function () { return bind_all_1.bindAll; } });\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","function ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware = ItoI) {\n let buffer = [];\n let assigned = false;\n const medium = {\n read() {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium(data) {\n const item = middleware(data, assigned);\n buffer.push(item);\n return () => {\n buffer = buffer.filter((x) => x !== item);\n };\n },\n assignSyncMedium(cb) {\n assigned = true;\n while (buffer.length) {\n const cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: (x) => cb(x),\n filter: () => buffer,\n };\n },\n assignMedium(cb) {\n assigned = true;\n let pendingQueue = [];\n if (buffer.length) {\n const cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n const executeQueue = () => {\n const cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n const cycle = () => Promise.resolve().then(executeQueue);\n cycle();\n buffer = {\n push: (x) => {\n pendingQueue.push(x);\n cycle();\n },\n filter: (filter) => {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware = ItoI) {\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options = {}) {\n const medium = innerCreateMedium(null);\n medium.options = {\n async: true,\n ssr: false,\n ...options,\n };\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true // focus-lock sidecar is not required on the server\n // however, it might be required for JSDOM tests\n // ssr: true,\n\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n // report incorrect integration - https://github.com/theKashey/react-focus-lock/issues/123\n if (!observed.current && typeof Container !== 'string') {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, (newValue) => refs.forEach((ref) => assignRef(ref, newValue)));\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n const [ref] = useState(() => ({\n // value\n value: initialValue,\n // last callback\n callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n const last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }));\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { return ({\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : node.tabIndex,\n }); })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * only tabbable ones\n * (but with guards which would be ignored)\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * actually anything \"focusable\", not only tabbable\n * (without guards, as long as they are not expected to be focused)\n */\nexport var getAllTabbableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && safeProbe(function () { return activeElement.contentWindow.document; })\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","export var safeProbe = function (cb) {\n try {\n return cb();\n }\n catch (e) {\n return undefined;\n }\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node\n * @returns {T}\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * given top node(s) and the last active element return the element to be focused next\n * @param topNode\n * @param lastNode\n */\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = pickAutofocus(anyFocusable, innerNodes, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * Sets focus at a given node. The last focused element will help to determine which element(first or last) should be focused.\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @param topNode\n * @param lastNode\n * @param options\n */\nexport var setFocus = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n // tslint:disable-next-line:no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","import * as constants from './constants';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { getFocusabledIn, getFocusableIn } from './focusables';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getActiveElement } from './utils/getActiveElement';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusableIn, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, getActiveElement, };\nexport default setFocus;\n//\n","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n setImmediate = _window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","/* eslint-disable no-mixed-operators */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && ( // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\n\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !( // active element is \"inside\" working area\n focusInside(workingArea) || // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * return list of focusable elements inside a given top node\n * @deprecated use {@link getFocusableIn}. Yep, there is typo in the function name\n */\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n/**\n * return list of focusable elements inside a given top node\n */\nexport var getFocusableIn = getFocusabledIn;\n","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return ;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nvar _withLockSheet = require('./withLockSheet');\n\nvar _withLockSheet2 = _interopRequireDefault(_withLockSheet);\n\nvar _withTouchListeners = require('./withTouchListeners');\n\nvar _withTouchListeners2 = _interopRequireDefault(_withTouchListeners);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ScrollLock = function (_PureComponent) {\n _inherits(ScrollLock, _PureComponent);\n\n function ScrollLock() {\n _classCallCheck(this, ScrollLock);\n\n return _possibleConstructorReturn(this, (ScrollLock.__proto__ || Object.getPrototypeOf(ScrollLock)).apply(this, arguments));\n }\n\n _createClass(ScrollLock, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM) return;\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n var offset = window.innerHeight - this.initialHeight;\n\n // adjust scroll if the window has been resized since the lock was engaged\n // e.g. mobile safari dynamic chrome heights\n if (offset) {\n window.scrollTo(0, window.pageYOffset + offset);\n }\n\n // reset the initial height in case this scroll lock is used again\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.props.children;\n\n\n return children ? _react2.default.createElement(\n _TouchScrollable.TouchScrollable,\n null,\n children\n ) : null;\n }\n }]);\n\n return ScrollLock;\n}(_react.PureComponent);\n\n// attach the stylesheet and inject styles on [un]mount\n\n\nvar compose = (0, _utils.pipe)(_withTouchListeners2.default, _withLockSheet2.default);\nvar SheetLock = compose(ScrollLock);\n\n// toggle the lock based on `isActive` prop\nvar LockToggle = function LockToggle(props) {\n return props.isActive ? _react2.default.createElement(SheetLock, props) : props.children;\n};\n\nLockToggle.defaultProps = {\n accountForScrollbars: true,\n children: null,\n isActive: true\n};\n\nexports.default = LockToggle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TouchScrollable = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TouchScrollable = exports.TouchScrollable = function (_PureComponent) {\n _inherits(TouchScrollable, _PureComponent);\n\n function TouchScrollable() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, TouchScrollable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = TouchScrollable.__proto__ || Object.getPrototypeOf(TouchScrollable)).call.apply(_ref, [this].concat(args))), _this), _this.getScrollableArea = function (ref) {\n _this.scrollableArea = ref;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(TouchScrollable, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.addEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.addEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.removeEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.removeEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n rest = _objectWithoutProperties(_props, ['children']);\n\n return typeof children === 'function' ? children(this.getScrollableArea) : (0, _react.cloneElement)(children, _extends({ ref: this.getScrollableArea }, rest));\n }\n }]);\n\n return TouchScrollable;\n}(_react.PureComponent);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ScrollLock = require('./ScrollLock');\n\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollLock).default;\n }\n});\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nObject.defineProperty(exports, 'TouchScrollable', {\n enumerable: true,\n get: function get() {\n return _TouchScrollable.TouchScrollable;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pipe = exports.listenerOptions = undefined;\nexports.preventTouchMove = preventTouchMove;\nexports.allowTouchMove = allowTouchMove;\nexports.preventInertiaScroll = preventInertiaScroll;\nexports.isTouchDevice = isTouchDevice;\nexports.camelToKebab = camelToKebab;\nexports.parse = parse;\nexports.getPadding = getPadding;\nexports.getWindowHeight = getWindowHeight;\nexports.getDocumentHeight = getDocumentHeight;\nexports.makeStyleTag = makeStyleTag;\nexports.injectStyles = injectStyles;\nexports.insertStyleTag = insertStyleTag;\n\nvar _exenv = require('exenv');\n\nvar listenerOptions = exports.listenerOptions = {\n capture: false,\n passive: false\n};\n\n// ==============================\n// Touch Helpers\n// ==============================\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n\n return false;\n}\n\nfunction allowTouchMove(e) {\n var target = e.currentTarget;\n\n if (target.scrollHeight > target.clientHeight) {\n e.stopPropagation();\n return true;\n }\n\n e.preventDefault();\n return false;\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n}\n\n// `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\nfunction isTouchDevice() {\n if (!_exenv.canUseDOM) return false;\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\n// ==============================\n// Misc.\n// ==============================\n\nfunction camelToKebab(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction parse(val) {\n return isNaN(val) ? val : val + 'px';\n}\n\n// Take a list of functions and return a function that applies the list of\n// functions from left to right\n\nvar pipeFns = function pipeFns(a, b) {\n return function () {\n return b(a.apply(undefined, arguments));\n };\n};\nvar pipe = exports.pipe = function pipe() {\n for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return fns.reduce(pipeFns);\n};\n\n// ==============================\n// Document Helpers\n// ==============================\n\nfunction getPadding() {\n if (!_exenv.canUseDOM) return 0;\n\n var paddingRight = parseInt(window.getComputedStyle(document.body).paddingRight, 10);\n var scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n return paddingRight + scrollbarWidth;\n}\n\nfunction getWindowHeight() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n if (_exenv.canUseDOM) {\n return window.innerHeight * multiplier;\n }\n}\n\nfunction getDocumentHeight() {\n if (_exenv.canUseDOM) {\n return document.body.clientHeight;\n }\n}\n\n// ==============================\n// Style Sheets\n// ==============================\n\nfunction makeStyleTag() {\n if (!_exenv.canUseDOM) return;\n\n var tag = document.createElement('style');\n tag.type = 'text/css';\n tag.setAttribute('data-react-scrolllock', '');\n\n return tag;\n}\nfunction injectStyles(tag, css) {\n if (!_exenv.canUseDOM) return;\n\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n if (!_exenv.canUseDOM) return;\n\n var head = document.head || document.getElementsByTagName('head')[0];\n\n head.appendChild(tag);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withLockSheet;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction withLockSheet(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(SheetProvider, _PureComponent);\n\n function SheetProvider() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, SheetProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SheetProvider.__proto__ || Object.getPrototypeOf(SheetProvider)).call.apply(_ref, [this].concat(args))), _this), _this.addSheet = function () {\n var styles = _this.getStyles();\n\n var sheet = (0, _utils.makeStyleTag)();\n if (!sheet) return;\n\n (0, _utils.injectStyles)(sheet, styles);\n (0, _utils.insertStyleTag)(sheet);\n\n _this.sheet = sheet;\n }, _this.getStyles = function () {\n var accountForScrollbars = _this.props.accountForScrollbars;\n\n\n var height = (0, _utils.getDocumentHeight)();\n var paddingRight = accountForScrollbars ? (0, _utils.getPadding)() : null;\n var styles = 'body {\\n box-sizing: border-box !important;\\n overflow: hidden !important;\\n position: relative !important;\\n ' + (height ? 'height: ' + height + 'px !important;' : '') + '\\n ' + (paddingRight ? 'padding-right: ' + paddingRight + 'px !important;' : '') + '\\n }';\n\n return styles;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(SheetProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.addSheet();\n }\n }, {\n key: 'removeSheet',\n value: function removeSheet() {\n if (!this.sheet) return;\n\n // $FlowFixMe\n this.sheet.parentNode.removeChild(this.sheet);\n this.sheet = null;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.removeSheet();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return SheetProvider;\n }(_react.PureComponent);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withTouchListeners;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Mobile Safari ignores { overflow: hidden } declaration on the body,\n// so we have to prevent touchmove events via JS\nfunction withTouchListeners(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(TouchProvider, _PureComponent);\n\n function TouchProvider() {\n _classCallCheck(this, TouchProvider);\n\n return _possibleConstructorReturn(this, (TouchProvider.__proto__ || Object.getPrototypeOf(TouchProvider)).apply(this, arguments));\n }\n\n _createClass(TouchProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.addEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.removeEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return TouchProvider;\n }(_react.PureComponent);\n}","import * as React from 'react';\nimport { generateUID } from './uid';\nexport const createSource = (prefix = '') => ({\n value: 1,\n prefix: prefix,\n uid: generateUID(),\n});\nexport const counter = createSource();\nexport const source = React.createContext(createSource());\nexport const getId = (source) => source.value++;\nexport const getPrefix = (source) => (source ? source.prefix : '');\n","import * as React from 'react';\nimport { useContext, useState } from 'react';\nimport { counter, getId, getPrefix, source } from './context';\nconst generateUID = (context) => {\n const quartz = context || counter;\n const prefix = getPrefix(quartz);\n const id = getId(quartz);\n const uid = prefix + id;\n const gen = (item) => uid + quartz.uid(item);\n return { uid, gen };\n};\nconst useUIDState = () => {\n if (process.env.NODE_ENV !== 'production') {\n if (!('useContext' in React)) {\n throw new Error('Hooks API requires React 16.8+');\n }\n }\n const context = useContext(source);\n const [uid] = useState(() => generateUID(context));\n return uid;\n};\n/**\n * returns and unique id. SSR friendly\n * returns {String}\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const id = useUID();\n * id == 1; // for example\n */\nexport const useUID = () => {\n const { uid } = useUIDState();\n return uid;\n};\n/**\n * returns an uid generator\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const uid = useUIDSeed();\n * return (\n * <>\n * \n * \n * {data.map(item =>
...
\n * >\n * )\n */\nexport const useUIDSeed = () => {\n const { gen } = useUIDState();\n return gen;\n};\n","/**\n * generates a UID factory\n * @internal\n * @example\n * const uid = generateUID();\n * uid(object) = 1;\n * uid(object) = 1;\n * uid(anotherObject) = 2;\n */\nexport const generateUID = () => {\n let counter = 1;\n const map = new WeakMap();\n /**\n * @borrows {uid}\n */\n const uid = (item, index) => {\n if (typeof item === 'number' || typeof item === 'string') {\n return index ? `idx-${index}` : `val-${item}`;\n }\n if (!map.has(item)) {\n map.set(item, counter++);\n return uid(item);\n }\n return 'uid' + map.get(item);\n };\n return uid;\n};\n/**\n * @name uid\n * returns an UID associated with {item}\n * @param {Object} item - object to generate UID for\n * @param {Number} index, a fallback index\n * @example\n * uid(object) == 1;\n * uid(object) == 1;\n * uid(anotherObject) == 2;\n * uid(\"not object\", 42) == 42\n *\n * @see {@link useUID}\n */\nexport const uid = generateUID();\n","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// This is primarily dealing with packaging systems where multiple copies of react-intl\n// might exist\nvar IntlContext = typeof window !== 'undefined'\n ? window.__REACT_INTL_CONTEXT__ ||\n (window.__REACT_INTL_CONTEXT__ = React.createContext(null))\n : React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer, IntlProvider = IntlContext.Provider;\nexport var Provider = IntlProvider;\nexport var Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n var _a = options || {}, _b = _a.intlPropName, intlPropName = _b === void 0 ? 'intl' : _b, _c = _a.forwardRef, forwardRef = _c === void 0 ? false : _c, _d = _a.enforceContext, enforceContext = _d === void 0 ? true : _d;\n var WithIntl = function (props) { return (React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n var intlProp = (_a = {}, _a[intlPropName] = intl, _a);\n return (React.createElement(WrappedComponent, __assign({}, props, intlProp, { ref: forwardRef ? props.forwardedRef : null })));\n })); };\n WithIntl.displayName = \"injectIntl(\".concat(getDisplayName(WrappedComponent), \")\");\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef(function (props, ref) { return (React.createElement(WithIntl, __assign({}, props, { forwardedRef: ref }))); }), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `foo) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo123>`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","// @generated from time-data-gen.ts\n// prettier-ignore \nexport var timeData = {\n \"001\": [\n \"H\",\n \"h\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"AX\": [\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"BO\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CL\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EC\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GT\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HN\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JP\": [\n \"H\",\n \"h\",\n \"K\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KP\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MX\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NI\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"NR\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NU\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PE\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"PY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"SV\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UY\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"VG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"es-BO\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-BR\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-EC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-ES\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-GQ\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"es-PE\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"mr-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"pa-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ]\n};\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nimport { getBestPattern } from './date-time-pattern-generator';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\".concat(SPACE_SEPARATOR_REGEX.source, \"*\"));\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(\"\".concat(SPACE_SEPARATOR_REGEX.source, \"*$\"));\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.locale = options.locale;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"\" tagName (whitespace)* \">\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\".concat(tagName, \"/>\"),\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('')) {\n if (this.isEOF() || !_isAlpha(this.char())) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n var closingTagNameStartPosition = this.clonePosition();\n var closingTagName = this.parseTagName();\n if (tagName !== closingTagName) {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (!this.bumpIf('>')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var dateTimePattern = skeleton;\n // Get \"best match\" pattern only if locale is passed, if not, let it\n // pass as-is where `parseDateTimeSkeleton()` will throw an error\n // for unsupported patterns.\n if (this.locale) {\n dateTimePattern = getBestPattern(skeleton, this.locale);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: dateTimePattern,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(dateTimePattern)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \".concat(offset, \" is at invalid UTF-16 code unit boundary\"));\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" must be greater than or equal to the current offset \").concat(this.offset()));\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \".concat(targetOffset, \" is at invalid UTF-16 code unit boundary\"));\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { timeData } from './time-data.generated';\n/**\n * Returns the best matching date time pattern if a date time skeleton\n * pattern is provided with a locale. Follows the Unicode specification:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n * @param skeleton date time skeleton pattern that possibly includes j, J or C\n * @param locale\n */\nexport function getBestPattern(skeleton, locale) {\n var skeletonCopy = '';\n for (var patternPos = 0; patternPos < skeleton.length; patternPos++) {\n var patternChar = skeleton.charAt(patternPos);\n if (patternChar === 'j') {\n var extraLength = 0;\n while (patternPos + 1 < skeleton.length &&\n skeleton.charAt(patternPos + 1) === patternChar) {\n extraLength++;\n patternPos++;\n }\n var hourLen = 1 + (extraLength & 1);\n var dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n var dayPeriodChar = 'a';\n var hourChar = getDefaultHourSymbolFromLocale(locale);\n if (hourChar == 'H' || hourChar == 'k') {\n dayPeriodLen = 0;\n }\n while (dayPeriodLen-- > 0) {\n skeletonCopy += dayPeriodChar;\n }\n while (hourLen-- > 0) {\n skeletonCopy = hourChar + skeletonCopy;\n }\n }\n else if (patternChar === 'J') {\n skeletonCopy += 'H';\n }\n else {\n skeletonCopy += patternChar;\n }\n }\n return skeletonCopy;\n}\n/**\n * Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n * of the given `locale` to the corresponding time pattern.\n * @param locale\n */\nfunction getDefaultHourSymbolFromLocale(locale) {\n var hourCycle = locale.hourCycle;\n if (hourCycle === undefined &&\n // @ts-ignore hourCycle(s) is not identified yet\n locale.hourCycles &&\n // @ts-ignore\n locale.hourCycles.length) {\n // @ts-ignore\n hourCycle = locale.hourCycles[0];\n }\n if (hourCycle) {\n switch (hourCycle) {\n case 'h24':\n return 'k';\n case 'h23':\n return 'H';\n case 'h12':\n return 'h';\n case 'h11':\n return 'K';\n default:\n throw new Error('Invalid hourCycle');\n }\n }\n // TODO: Once hourCycle is fully supported remove the following with data generation\n var languageTag = locale.language;\n var regionTag;\n if (languageTag !== 'root') {\n regionTag = locale.maximize().region;\n }\n var hourCycles = timeData[regionTag || ''] ||\n timeData[languageTag || ''] ||\n timeData[\"\".concat(languageTag, \"-001\")] ||\n timeData['001'];\n return hourCycles[0];\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n// only for testing\nexport var _Parser = Parser;\n","//\n// Main\n//\nexport function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \".concat(this.code, \"] \").concat(this.message);\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\".concat(variableId, \"\\\": \\\"\").concat(value, \"\\\". Options are \\\"\").concat(Object.keys(options).join('\", \"'), \"\\\"\"), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\".concat(value, \"\\\" must be of type \").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\".concat(variableId, \"\\\" was not provided to the string \\\"\").concat(originalMessage, \"\\\"\"), ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : formats.time.medium;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\".concat(value)];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __rest, __spreadArray } from \"tslib\";\nimport { parse, } from '@formatjs/icu-messageformat-parser';\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nexport var IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n var _this = this;\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () {\n var _a;\n return ({\n locale: ((_a = _this.resolvedLocale) === null || _a === void 0 ? void 0 : _a.toString()) ||\n Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n });\n };\n this.getAst = function () { return _this.ast; };\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n var _a = opts || {}, formatters = _a.formatters, parseOpts = __rest(_a, [\"formatters\"]);\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, __assign(__assign({}, parseOpts), { locale: this.resolvedLocale }));\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.resolveLocale = function (locales) {\n if (typeof Intl.Locale === 'undefined') {\n return;\n }\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\n","//\n// Main\n//\nexport function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var IntlErrorCode;\n(function (IntlErrorCode) {\n IntlErrorCode[\"FORMAT_ERROR\"] = \"FORMAT_ERROR\";\n IntlErrorCode[\"UNSUPPORTED_FORMATTER\"] = \"UNSUPPORTED_FORMATTER\";\n IntlErrorCode[\"INVALID_CONFIG\"] = \"INVALID_CONFIG\";\n IntlErrorCode[\"MISSING_DATA\"] = \"MISSING_DATA\";\n IntlErrorCode[\"MISSING_TRANSLATION\"] = \"MISSING_TRANSLATION\";\n})(IntlErrorCode || (IntlErrorCode = {}));\nvar IntlError = /** @class */ (function (_super) {\n __extends(IntlError, _super);\n function IntlError(code, message, exception) {\n var _this = this;\n var err = exception\n ? exception instanceof Error\n ? exception\n : new Error(String(exception))\n : undefined;\n _this = _super.call(this, \"[@formatjs/intl Error \".concat(code, \"] \").concat(message, \"\\n\").concat(err ? \"\\n\".concat(err.message, \"\\n\").concat(err.stack) : '')) || this;\n _this.code = code;\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (typeof Error.captureStackTrace === 'function') {\n // @ts-ignore just so we don't need to declare dep on @types/node\n Error.captureStackTrace(_this, IntlError);\n }\n return _this;\n }\n return IntlError;\n}(Error));\nexport { IntlError };\nvar UnsupportedFormatterError = /** @class */ (function (_super) {\n __extends(UnsupportedFormatterError, _super);\n function UnsupportedFormatterError(message, exception) {\n return _super.call(this, IntlErrorCode.UNSUPPORTED_FORMATTER, message, exception) || this;\n }\n return UnsupportedFormatterError;\n}(IntlError));\nexport { UnsupportedFormatterError };\nvar InvalidConfigError = /** @class */ (function (_super) {\n __extends(InvalidConfigError, _super);\n function InvalidConfigError(message, exception) {\n return _super.call(this, IntlErrorCode.INVALID_CONFIG, message, exception) || this;\n }\n return InvalidConfigError;\n}(IntlError));\nexport { InvalidConfigError };\nvar MissingDataError = /** @class */ (function (_super) {\n __extends(MissingDataError, _super);\n function MissingDataError(message, exception) {\n return _super.call(this, IntlErrorCode.MISSING_DATA, message, exception) || this;\n }\n return MissingDataError;\n}(IntlError));\nexport { MissingDataError };\nvar IntlFormatError = /** @class */ (function (_super) {\n __extends(IntlFormatError, _super);\n function IntlFormatError(message, locale, exception) {\n var _this = _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \"\\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n _this.locale = locale;\n return _this;\n }\n return IntlFormatError;\n}(IntlError));\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */ (function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \"\\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \"\\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n _this.locale = locale;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError));\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */ (function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage\n ? \"default message (\".concat(typeof descriptor.defaultMessage === 'string'\n ? descriptor.defaultMessage\n : descriptor.defaultMessage\n .map(function (e) { var _a; return (_a = e.value) !== null && _a !== void 0 ? _a : JSON.stringify(e); })\n .join(), \")\")\n : 'id', \" as fallback.\")) || this;\n _this.descriptor = descriptor;\n return _this;\n }\n return MissingTranslationError;\n}(IntlError));\nexport { MissingTranslationError };\n","import { __assign, __spreadArray } from \"tslib\";\nimport { IntlMessageFormat } from 'intl-messageformat';\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { UnsupportedFormatterError } from './error';\nexport function filterProps(props, allowlist, defaults) {\n if (defaults === void 0) { defaults = {}; }\n return allowlist.reduce(function (filtered, name) {\n if (name in props) {\n filtered[name] = props[name];\n }\n else if (name in defaults) {\n filtered[name] = defaults[name];\n }\n return filtered;\n }, {});\n}\nvar defaultErrorHandler = function (error) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.error(error);\n }\n};\nvar defaultWarnHandler = function (warning) {\n // @ts-ignore just so we don't need to declare dep on @types/node\n if (process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n};\nexport var DEFAULT_INTL_CONFIG = {\n formats: {},\n messages: {},\n timeZone: undefined,\n defaultLocale: 'en',\n defaultFormats: {},\n fallbackOnEmptyString: true,\n onError: defaultErrorHandler,\n onWarn: defaultWarnHandler,\n};\nexport function createIntlCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {},\n };\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\n/**\n * Create intl formatters and populate cache\n * @param cache explicit cache to prevent leaking memory\n */\nexport function createFormatters(cache) {\n if (cache === void 0) { cache = createIntlCache(); }\n var RelativeTimeFormat = Intl.RelativeTimeFormat;\n var ListFormat = Intl.ListFormat;\n var DisplayNames = Intl.DisplayNames;\n var getDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n });\n var getNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n });\n var getPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n });\n return {\n getDateTimeFormat: getDateTimeFormat,\n getNumberFormat: getNumberFormat,\n getMessageFormat: memoize(function (message, locales, overrideFormats, opts) {\n return new IntlMessageFormat(message, locales, overrideFormats, __assign({ formatters: {\n getNumberFormat: getNumberFormat,\n getDateTimeFormat: getDateTimeFormat,\n getPluralRules: getPluralRules,\n } }, (opts || {})));\n }, {\n cache: createFastMemoizeCache(cache.message),\n strategy: strategies.variadic,\n }),\n getRelativeTimeFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (RelativeTimeFormat.bind.apply(RelativeTimeFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.relativeTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: getPluralRules,\n getListFormat: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (ListFormat.bind.apply(ListFormat, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.list),\n strategy: strategies.variadic,\n }),\n getDisplayNames: memoize(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (DisplayNames.bind.apply(DisplayNames, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.displayNames),\n strategy: strategies.variadic,\n }),\n };\n}\nexport function getNamedFormat(formats, type, name, onError) {\n var formatType = formats && formats[type];\n var format;\n if (formatType) {\n format = formatType[name];\n }\n if (format) {\n return format;\n }\n onError(new UnsupportedFormatterError(\"No \".concat(type, \" format named: \").concat(name)));\n}\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { DEFAULT_INTL_CONFIG as CORE_DEFAULT_INTL_CONFIG } from '@formatjs/intl';\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n ' needs to exist in the component ancestry.');\n}\nexport var DEFAULT_INTL_CONFIG = __assign(__assign({}, CORE_DEFAULT_INTL_CONFIG), { textComponent: React.Fragment });\n/**\n * Takes a `formatXMLElementFn`, and composes it in function, which passes\n * argument `parts` through, assigning unique key to each part, to prevent\n * \"Each child in a list should have a unique \"key\"\" React error.\n * @param formatXMLElementFn\n */\nexport function assignUniqueKeysToParts(formatXMLElementFn) {\n return function (parts) {\n // eslint-disable-next-line prefer-rest-params\n return formatXMLElementFn(React.Children.toArray(parts));\n };\n}\nexport function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] ||\n !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}\n","import * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n var intl = React.useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __rest } from \"tslib\";\nimport * as React from 'react';\nimport useIntl from './useIntl';\nimport { shallowEqual } from '../utils';\nfunction areEqual(prevProps, nextProps) {\n var values = prevProps.values, otherProps = __rest(prevProps, [\"values\"]);\n var nextValues = nextProps.values, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (shallowEqual(nextValues, values) &&\n shallowEqual(otherProps, nextOtherProps));\n}\nfunction FormattedMessage(props) {\n var intl = useIntl();\n var formatMessage = intl.formatMessage, _a = intl.textComponent, Text = _a === void 0 ? React.Fragment : _a;\n var id = props.id, description = props.description, defaultMessage = props.defaultMessage, values = props.values, children = props.children, _b = props.tagName, Component = _b === void 0 ? Text : _b, ignoreTag = props.ignoreTag;\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var nodes = formatMessage(descriptor, values, {\n ignoreTag: ignoreTag,\n });\n if (typeof children === 'function') {\n return children(Array.isArray(nodes) ? nodes : [nodes]);\n }\n if (Component) {\n return React.createElement(Component, null, React.Children.toArray(nodes));\n }\n return React.createElement(React.Fragment, null, nodes);\n}\nFormattedMessage.displayName = 'FormattedMessage';\nvar MemoizedFormattedMessage = React.memo(FormattedMessage, areEqual);\nMemoizedFormattedMessage.displayName = 'MemoizedFormattedMessage';\nexport default MemoizedFormattedMessage;\n","import { useMediaQuery } from 'react-responsive';\n\nconst useDesktopMediaQuery = () =>\n useMediaQuery({ query: '(min-width: 1024px)' });\n\nexport { useDesktopMediaQuery };\n","import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState\n} from 'react';\n\nexport type TLogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';\n\nexport type TOptions = {\n logLevel?: TLogLevel;\n maxFontSize?: number;\n minFontSize?: number;\n onFinish?: (fontSize: number) => void;\n onStart?: () => void;\n resolution?: number;\n};\n\nconst LOG_LEVEL: Record = {\n debug: 10,\n info: 20,\n warn: 30,\n error: 40,\n none: 100\n};\n\n// Suppress `useLayoutEffect` warning when rendering on the server\n// https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useIsoLayoutEffect =\n typeof window !== 'undefined' && window.document\n ? useLayoutEffect\n : useEffect;\n\nconst useFitText = ({\n logLevel: logLevelOption = 'info',\n maxFontSize = 100,\n minFontSize = 20,\n onFinish,\n onStart,\n resolution = 5\n}: TOptions = {}) => {\n const logLevel = LOG_LEVEL[logLevelOption];\n\n const initState = useCallback(() => {\n return {\n calcKey: 0,\n fontSize: maxFontSize,\n fontSizePrev: minFontSize,\n fontSizeMax: maxFontSize,\n fontSizeMin: minFontSize\n };\n }, [maxFontSize, minFontSize]);\n\n const ref = useRef(null);\n const innerHtmlPrevRef = useRef();\n const isCalculatingRef = useRef(false);\n const [state, setState] = useState(initState);\n const { calcKey, fontSize, fontSizeMax, fontSizeMin, fontSizePrev } = state;\n\n // Montior div size changes and recalculate on resize\n let animationFrameId: number | null = null;\n const [ro] = useState(\n () =>\n new ResizeObserver(() => {\n animationFrameId = window.requestAnimationFrame(() => {\n if (isCalculatingRef.current) {\n return;\n }\n onStart && onStart();\n isCalculatingRef.current = true;\n // `calcKey` is used in the dependencies array of\n // `useIsoLayoutEffect` below. It is incremented so that the font size\n // will be recalculated even if the previous state didn't change (e.g.\n // when the text fit initially).\n setState({\n ...initState(),\n calcKey: calcKey + 1\n });\n });\n })\n );\n\n useEffect(() => {\n if (ref.current) {\n ro.observe(ref.current);\n }\n return () => {\n animationFrameId && window.cancelAnimationFrame(animationFrameId);\n ro.disconnect();\n };\n }, [animationFrameId, ro, ref.current]);\n\n // Recalculate when the div contents change\n const innerHtml = ref.current && ref.current.innerHTML;\n useEffect(() => {\n if (calcKey === 0 || isCalculatingRef.current) {\n return;\n }\n if (innerHtml !== innerHtmlPrevRef.current) {\n onStart && onStart();\n setState({\n ...initState(),\n calcKey: calcKey + 1\n });\n }\n if (innerHtml !== null) {\n innerHtmlPrevRef.current = innerHtml;\n }\n }, [calcKey, initState, innerHtml, onStart]);\n\n // Check overflow and resize font\n useIsoLayoutEffect(() => {\n // Don't start calculating font size until the `resizeKey` is incremented\n // above in the `ResizeObserver` callback. This avoids an extra resize\n // on initialization.\n if (calcKey === 0) {\n return;\n }\n\n const isWithinResolution = Math.abs(fontSize - fontSizePrev) <= resolution;\n const isOverflow =\n !!ref.current &&\n (ref.current.scrollHeight > ref.current.offsetHeight ||\n ref.current.scrollWidth > ref.current.offsetWidth);\n const isFailed = isOverflow && fontSize === fontSizePrev;\n const isAsc = fontSize > fontSizePrev;\n\n // Return if the font size has been adjusted \"enough\" (change within `resolution`)\n // reduce font size by one increment if it's overflowing.\n if (isWithinResolution) {\n if (isFailed) {\n isCalculatingRef.current = false;\n if (logLevel <= LOG_LEVEL.info) {\n console.info(\n `[use-fit-text] reached \\`minFontSize = ${minFontSize}\\` without fitting text`\n );\n }\n } else if (isOverflow) {\n setState({\n fontSize: isAsc ? fontSizePrev : fontSizeMin,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n calcKey\n });\n } else {\n isCalculatingRef.current = false;\n onFinish && onFinish(fontSize);\n }\n return;\n }\n\n // Binary search to adjust font size\n let delta: number;\n let newMax = fontSizeMax;\n let newMin = fontSizeMin;\n if (isOverflow) {\n delta = isAsc ? fontSizePrev - fontSize : fontSizeMin - fontSize;\n newMax = Math.min(fontSizeMax, fontSize);\n } else {\n delta = isAsc ? fontSizeMax - fontSize : fontSizePrev - fontSize;\n newMin = Math.max(fontSizeMin, fontSize);\n }\n setState({\n calcKey,\n fontSize: fontSize + delta / 2,\n fontSizeMax: newMax,\n fontSizeMin: newMin,\n fontSizePrev: fontSize\n });\n }, [\n calcKey,\n fontSize,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n onFinish,\n ref,\n resolution\n ]);\n\n return { fontSize: `${fontSize}%`, ref };\n};\n\nexport { useFitText };\n","export const getNumFracDigits = (value: number | null | undefined) => {\n if (value !== null && value !== undefined && !Number.isNaN(value)) {\n return Number.isInteger(+value) ? 0 : 2;\n } else {\n return 0;\n }\n};\n\nconst fmtCurrencyValue = (\n currencyISOCode: string,\n value: number | null | undefined,\n useTwoDigits: boolean\n) => {\n const isJPY = currencyISOCode === 'JPY';\n const adjVal = isJPY ? Math.ceil(value || 0) : value;\n\n return new Intl.NumberFormat(isJPY ? 'ja-JP' : 'en-US', {\n style: 'currency',\n currency: currencyISOCode,\n // Note: JPY does not use decimals\n minimumFractionDigits:\n useTwoDigits && !isJPY ? 2 : getNumFracDigits(adjVal),\n maximumFractionDigits: useTwoDigits && !isJPY ? 2 : getNumFracDigits(adjVal)\n }).format(adjVal || 0);\n};\n\nexport const getFormattedPrice = (currencyISOCode: string, value: number) =>\n fmtCurrencyValue(currencyISOCode, value, false);\n\nexport const getTwoDigitFormattedPrice = (\n currencyISOCode: string,\n value: number\n) => fmtCurrencyValue(currencyISOCode, value, true);\n\nexport const getFormattedUnitAmount = (\n localeISOCode: string,\n value: number | null\n) => new Intl.NumberFormat(localeISOCode).format(value || 0);\n","import {\n CCPPricingPlanContent,\n CCPPricingPlanItem,\n CCPPricingPlanTier,\n PricingPlans,\n PricingStrategy,\n PricingTier\n} from '@atlassiansox/asc-product-catalog';\n\nconst HAMS_PRICING_STRATEGY_BY_CCP_PRICING_POLICY = {\n ['VOLUME']: PricingStrategy.FIXED_COST,\n ['GRADUATED']: PricingStrategy.MARGINAL_PER_UNIT\n};\n\n// CCP Amounts are stored in cents - Note: JPY needs no conversion\nconst formatCentsToDollars = (value: number, currency: string): number => {\n if (currency === 'USD' && value) {\n return value / 100;\n }\n return value;\n};\n\nconst convertCCPPricingStrategyToHAMS = (\n ccpPricingPolicy: string\n): PricingStrategy => {\n const hamsPricingStrategy =\n HAMS_PRICING_STRATEGY_BY_CCP_PRICING_POLICY[\n ccpPricingPolicy as 'GRADUATED' | 'VOLUME'\n ];\n\n if (!hamsPricingStrategy) {\n throw new Error(\n `Could not find HAMS pricing strategy to match CCP pricing policy: \"${ccpPricingPolicy}\"`\n );\n }\n\n return hamsPricingStrategy;\n};\n\nconst convertCCPTiersToHAMS = (\n ccpTiers: CCPPricingPlanTier[],\n tiersMode: string,\n chargeElement: string,\n currency: string\n): PricingTier[] =>\n ccpTiers.map((ccpTier) => ({\n starter: false,\n pricingStrategy: convertCCPPricingStrategyToHAMS(tiersMode),\n unitDescription: chargeElement,\n unitLimitLower: ccpTier.floor,\n unitLimitUpper: ccpTier.ceiling,\n prices: [\n {\n currency,\n unitPrice:\n tiersMode === 'GRADUATED'\n ? formatCentsToDollars(ccpTier.unitAmount, currency)\n : formatCentsToDollars(ccpTier.flatAmount, currency)\n }\n ]\n }));\n\nexport const convertCCPPricingPlansToHAMS = (\n pricingPlans: CCPPricingPlanContent[],\n currencyISOCode: string\n): PricingPlans => {\n const [monthlyCCP, annualCCP] = ['MONTH', 'YEAR'].map((primaryCycle) =>\n // Per CCP Team: We need to filter by COMMERCIAL, DEFAULT_PRICING\n pricingPlans.find(\n (pricingPlan) =>\n pricingPlan.primaryCycle_interval === primaryCycle &&\n pricingPlan.type === 'COMMERCIAL' &&\n pricingPlan.activatedWithReason === 'DEFAULT_PRICING' &&\n // We filter by currencyISOCode as we need both USD & JPY Pricing for Pricing Pages\n // If needed, can filter by USD only which we will pass in directly in those components\n pricingPlan.currency === currencyISOCode\n )\n );\n\n const [monthly, annual] = [monthlyCCP, annualCCP].map((ccpPPContent) => {\n if (!ccpPPContent) {\n return undefined;\n }\n\n const ccpTiers = ccpPPContent.items[0] as CCPPricingPlanItem;\n const { tiers, tiersMode, chargeElement } = ccpTiers;\n\n return convertCCPTiersToHAMS(\n tiers,\n tiersMode,\n chargeElement,\n ccpPPContent.currency\n );\n });\n\n return {\n monthly,\n annual\n };\n};\n","import { convertCCPPricingPlansToHAMS } from '.';\nimport {\n ContentfulOffering,\n OfferingSKUMap,\n PricingPeriod,\n PricingPlans,\n PricingTier,\n ProductKeyMap\n} from '../models';\n\nexport const extractPricingTiersFromEntry = (\n ccpOfferingsBySKU: OfferingSKUMap,\n hamsPricingPlansByKey: ProductKeyMap,\n period: PricingPeriod,\n currencyISOCode: string,\n ccpOfferingSKU?: string,\n hamsProductKey?: string\n): PricingTier[] => {\n let pricingPlans;\n\n let pricingTiers: PricingTier[];\n\n if (ccpOfferingSKU) {\n const offering = ccpOfferingsBySKU[ccpOfferingSKU];\n\n pricingPlans = offering?.fields.defaultPricingPlans?.map((p) => p.fields);\n if (!pricingPlans) {\n throw new Error(\n `Offering empty of pricing plan data for: ${ccpOfferingSKU}`\n );\n }\n\n const convertedTiers = convertCCPPricingPlansToHAMS(\n pricingPlans,\n currencyISOCode\n );\n if (period === 'MONTHLY' && convertedTiers.monthly) {\n pricingTiers = convertedTiers.monthly.slice();\n } else if (period === 'ANNUAL' && convertedTiers.annual) {\n pricingTiers = convertedTiers.annual.slice();\n } else {\n throw new Error(\n `Found neither monthly or annual pricing tiers for CCP Offering SKU: ${ccpOfferingSKU}`\n );\n }\n } else {\n if (hamsProductKey === undefined) {\n throw new Error(`HAMS product key was undefined for price request!`);\n }\n\n pricingPlans = hamsPricingPlansByKey[hamsProductKey];\n if (pricingPlans === undefined) {\n throw new Error(\n `No ${period} pricing plans found for HAMS product key: ${hamsProductKey}`\n );\n }\n\n if (period === 'MONTHLY' && pricingPlans.monthly) {\n pricingTiers = pricingPlans.monthly.slice();\n } else if (period === 'ANNUAL' && pricingPlans.annual) {\n pricingTiers = pricingPlans.annual.slice();\n } else {\n throw new Error(\n `Found neither monthly or annual (period is ${period}) pricing tiers for HAMS product key: ${hamsProductKey}`\n );\n }\n }\n\n return pricingTiers;\n};\n","import { CurrencyISOCode, PricingTierPrice } from '../models';\n\nexport const getLocalUnitPrice = (\n currencyISOCode: CurrencyISOCode,\n prices: PricingTierPrice[]\n) =>\n prices.find(({ currency }) => currency === currencyISOCode)?.unitPrice || 0;\n","import { getLocalUnitPrice } from '..';\nimport {\n CurrencyISOCode,\n PriceCalculationResponse,\n PricingTier\n} from '../../models';\n\nexport default function (\n numUnits: number,\n matchingTierIdx: number,\n tiers: PricingTier[],\n currencyISOCode: CurrencyISOCode\n): PriceCalculationResponse {\n const matchingTier = tiers[matchingTierIdx];\n\n if (!matchingTier) {\n throw new Error(`Matching price tier not found for ${numUnits}.`);\n }\n\n const { prices, unitLimitLower, unitLimitUpper } = matchingTier;\n const totalPrice = getLocalUnitPrice(currencyISOCode, prices.slice());\n const avgPerUnitPrice = totalPrice / numUnits;\n\n return {\n totalPrice,\n avgPerUnitPrice,\n hasFlatRateFirstTier: true,\n\n breakdown: [\n {\n unitsInTier: numUnits,\n unitsAvailableInTier: (unitLimitUpper || 0) - numUnits,\n\n unitLimitLower: unitLimitLower || 1,\n unitLimitUpper: unitLimitUpper || 0,\n\n totalPriceForTier: totalPrice,\n avgPerUnitPriceForTier: totalPrice / numUnits\n }\n ]\n };\n}\n","import { getLocalUnitPrice } from '..';\nimport {\n BreakdownPriceTier,\n CurrencyISOCode,\n PriceCalculationResponse,\n PricingStrategy,\n PricingTier,\n PricingTierPrice\n} from '../../models';\n\nexport default function (\n numUnits: number,\n matchingTierIdx: number,\n tiers: PricingTier[],\n currencyISOCode: CurrencyISOCode\n): PriceCalculationResponse {\n let totalPrice = 0;\n let price = 0;\n const breakdown: BreakdownPriceTier[] = [];\n\n const getUnitPrice = (prices: PricingTierPrice[]) =>\n getLocalUnitPrice(currencyISOCode, prices);\n\n // if no matching tier then default to highest (last) tier\n if (matchingTierIdx === -1) {\n matchingTierIdx = tiers.length - 1;\n }\n\n let idx = 0;\n for (const tier of tiers) {\n const { unitLimitLower, unitLimitUpper } = tier;\n const adjUnitLimitLower = Math.max((unitLimitLower || 0) - 1, 0);\n\n // the upper unit limit can't be undefined so we can just set it to\n // one million units as an upper bound\n const adjUnitLimitUpper = unitLimitUpper || 1000000;\n const unitsInTier =\n idx === matchingTierIdx\n ? numUnits - adjUnitLimitLower\n : adjUnitLimitUpper - adjUnitLimitLower;\n\n if (tier.pricingStrategy === PricingStrategy.FIXED_COST) {\n const nextTier = tiers[idx + 1] as PricingTier;\n price = getUnitPrice(nextTier.prices.slice());\n } else {\n const finalTier = tiers[Math.min(idx, tiers.length - 1)] as PricingTier;\n price = getUnitPrice(finalTier.prices.slice());\n }\n\n const totalPriceForTier = unitsInTier * price;\n totalPrice += totalPriceForTier;\n\n breakdown.push({\n unitsInTier,\n unitsAvailableInTier: adjUnitLimitUpper - unitsInTier,\n\n unitLimitLower: adjUnitLimitLower || 1,\n unitLimitUpper: adjUnitLimitUpper,\n\n totalPriceForTier,\n avgPerUnitPriceForTier: price\n });\n\n if (++idx > matchingTierIdx) {\n break;\n }\n }\n\n const avgPerUnitPrice = totalPrice / numUnits;\n\n return {\n totalPrice,\n avgPerUnitPrice,\n\n hasFlatRateFirstTier:\n tiers[0]?.pricingStrategy === PricingStrategy.FIXED_COST,\n\n breakdown\n };\n}\n","import {\n PricingTier,\n PricingStrategy\n} from '@atlassiansox/asc-product-catalog';\nimport {\n getFormattedPrice,\n getFormattedUnitAmount,\n getTwoDigitFormattedPrice\n} from '.';\nimport { CurrencyISOCode, FormattedPriceCalculationResponse } from '../models';\nimport calculateFixedCost from './calculations/fixed-cost';\nimport {\n default as calculateMarginalPerUnit,\n default as marginalPerUnit\n} from './calculations/marginal-per-unit';\n\nconst getTierIdxForNumUnits = (numUnits: number, tiers: PricingTier[]) =>\n tiers.findIndex(\n ({ unitLimitLower, unitLimitUpper }) =>\n numUnits >= (unitLimitLower || 0) &&\n numUnits <= (unitLimitUpper || Math.pow(10, 1000))\n );\n\nexport function calculatePrice(\n numUnits: number,\n tiers: PricingTier[],\n currencyISOCode: CurrencyISOCode,\n localeISOCode = 'en-US'\n): FormattedPriceCalculationResponse {\n if (!Number.isInteger(numUnits) || numUnits < 1) {\n throw new Error(\n `Number of units must be a positive non-zero integer, got ${numUnits}.`\n );\n }\n\n if (!tiers || tiers.length === 0) {\n throw new Error(\n `Price tiers must not be null, undefined or an empty array, got ${tiers}.`\n );\n }\n\n tiers.sort((a: PricingTier, b: PricingTier) => {\n return (a.unitLimitLower ?? 0) - (b.unitLimitLower ?? 0);\n });\n\n let matchingTierIdx = getTierIdxForNumUnits(numUnits, tiers);\n\n const matchingTier = tiers[matchingTierIdx];\n const finalTier = tiers[tiers.length - 1];\n let adjustedNumberOfUnits: number = numUnits;\n let hasExceededMaxTier = false;\n\n let calcFunc;\n\n if (matchingTier !== undefined) {\n const tierPricingStrategy = matchingTier.pricingStrategy;\n calcFunc =\n tierPricingStrategy === PricingStrategy.MARGINAL_PER_UNIT\n ? calculateMarginalPerUnit\n : calculateFixedCost;\n } else if (\n finalTier &&\n finalTier.pricingStrategy === PricingStrategy.MARGINAL_PER_UNIT\n ) {\n calcFunc = marginalPerUnit;\n } else {\n /*\n * When a user input is greater than the max tier limit\n * we will reset the number of users to max tier limit\n * of that product and perform price calculations.\n * */\n adjustedNumberOfUnits = finalTier?.unitLimitUpper || 0;\n matchingTierIdx = getTierIdxForNumUnits(adjustedNumberOfUnits, tiers);\n calcFunc = calculateFixedCost;\n hasExceededMaxTier = true;\n }\n\n const fmtUnit = (amount: number | null) =>\n getFormattedUnitAmount(localeISOCode, amount);\n\n const fmtPrice = (price: number) => getFormattedPrice(currencyISOCode, price);\n\n const { totalPrice, avgPerUnitPrice, hasFlatRateFirstTier, breakdown } =\n calcFunc(adjustedNumberOfUnits, matchingTierIdx, tiers, currencyISOCode);\n\n return {\n totalPrice,\n formattedTotalPrice: fmtPrice(totalPrice),\n\n avgPerUnitPrice,\n formattedAvgPerUnitPrice: fmtPrice(avgPerUnitPrice),\n\n breakdown,\n\n hasFlatRateFirstTier,\n hasExceededMaxTier,\n formattedBreakdown: breakdown.map(\n ({\n unitsInTier,\n unitLimitLower,\n unitLimitUpper,\n unitsAvailableInTier,\n totalPriceForTier,\n avgPerUnitPriceForTier\n }) => ({\n formattedUnitsInTier: fmtUnit(unitsInTier),\n formattedUnitsAvailableInTier: fmtUnit(unitsAvailableInTier),\n\n formattedUnitLimitLower: fmtUnit(unitLimitLower),\n formattedUnitLimitUpper: fmtUnit(unitLimitUpper),\n\n formattedTotalPriceForTier: getTwoDigitFormattedPrice(\n currencyISOCode,\n totalPriceForTier\n ),\n formattedAvgPerUnitPriceForTier: getTwoDigitFormattedPrice(\n currencyISOCode,\n avgPerUnitPriceForTier\n )\n })\n )\n };\n}\n","import { getFormattedPrice } from '.';\nimport { CurrencyISOCode, FormattedPriceCalculationResponse } from '..';\n\nexport default function (\n currencyISOCode: CurrencyISOCode\n): FormattedPriceCalculationResponse {\n const zeroPrice = getFormattedPrice(currencyISOCode, 0);\n\n return {\n totalPrice: 0,\n avgPerUnitPrice: 0,\n\n formattedTotalPrice: zeroPrice,\n formattedAvgPerUnitPrice: zeroPrice,\n\n hasFlatRateFirstTier: true,\n hasExceededMaxTier: false,\n\n breakdown: [\n {\n unitsInTier: 0,\n unitsAvailableInTier: 0,\n\n unitLimitLower: 0,\n unitLimitUpper: 0,\n\n totalPriceForTier: 0,\n avgPerUnitPriceForTier: 0\n }\n ],\n formattedBreakdown: [\n {\n formattedUnitsInTier: '0',\n formattedUnitsAvailableInTier: '0',\n\n formattedUnitLimitLower: '0',\n formattedUnitLimitUpper: '0',\n\n formattedTotalPriceForTier: zeroPrice,\n formattedAvgPerUnitPriceForTier: zeroPrice\n }\n ]\n };\n}\n","/* eslint-disable */\n// murmurhash2 via https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nexport default function murmurhash2_32_gc(str) {\n var l = str.length,\n h = l ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return (h >>> 0).toString(36);\n}","import React from 'react';\n\nconst defaultMutator = (prevState, partialState) => {\n // Merge the partial state and the previous state.\n return Object.assign({}, prevState, partialState);\n};\n\nconst defaults = {\n batchUpdates: 'useSyncExternalStore' in React,\n devtools: false,\n middlewares: new Set(),\n mutator: defaultMutator\n};\nexport default defaults;","import defaults from '../defaults';\n\nconst namedMutator = (storeState, actionName) => function () {\n storeState.mutator.actionName = actionName;\n return storeState.mutator(...arguments);\n};\n\nconst warnings = new WeakMap();\nexport const bindAction = function bindAction(storeState, actionFn, actionKey, getContainerProps, boundActions) {\n if (getContainerProps === void 0) {\n getContainerProps = () => {};\n }\n\n if (boundActions === void 0) {\n boundActions = {};\n }\n\n // Setting mutator name so we can log action name for better debuggability\n const dispatch = function dispatch(thunkFn, actionName) {\n if (actionName === void 0) {\n actionName = `${actionKey}.dispatch`;\n }\n\n return thunkFn({\n setState: defaults.devtools ? namedMutator(storeState, actionName) : storeState.mutator,\n getState: storeState.getState,\n\n get actions() {\n if (!warnings.has(actionFn)) {\n warnings.set(actionFn, console.warn(`react-sweet-state 'actions' property has been deprecated and will be removed in the next mayor. ` + `Please check action '${actionName}' of Store '${storeState.key}' and use 'dispatch' instead`));\n }\n\n return boundActions;\n },\n\n dispatch\n }, getContainerProps());\n };\n\n return function () {\n return dispatch(actionFn(...arguments), actionKey);\n };\n};\nexport const bindActions = function bindActions(actions, storeState, getContainerProps, boundActions) {\n if (getContainerProps === void 0) {\n getContainerProps = () => ({});\n }\n\n if (boundActions === void 0) {\n boundActions = null;\n }\n\n return Object.keys(actions).reduce((acc, k) => {\n acc[k] = bindAction(storeState, actions[k], k, getContainerProps, boundActions || acc);\n return acc;\n }, {});\n};","// Mostly copied from fbjs/packages/fbjs/src/core/shallowEqual.js\n// enhanced with keys cache as might get called multiple times with same args\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst CACHE = new WeakMap();\nexport default function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n if (Array.isArray(objA) && Array.isArray(objB)) {\n // do array comparison\n if (objA.length !== objB.length) {\n return false;\n }\n\n for (let i = 0; i < objA.length; i++) {\n if (objA[i] !== objB[i]) {\n return false;\n }\n }\n\n return true;\n } else {\n // Handle Date, RegExp, String, Number, ... and complex objects\n const strA = '' + objA;\n const strB = '' + objB;\n\n if (strA !== strB || strA[0] === '[' && strA !== '[object Object]') {\n return false;\n } // do object comparison\n\n\n let keysA;\n\n if (CACHE.has(objA)) {\n keysA = CACHE.get(objA);\n } else {\n keysA = Object.keys(objA);\n CACHE.set(objA, keysA);\n }\n\n let keysB;\n\n if (CACHE.has(objB)) {\n keysB = CACHE.get(objB);\n } else {\n keysB = Object.keys(objB);\n CACHE.set(objB, keysB);\n }\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (let i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n }\n}","import shallowEqual from '../utils/shallow-equal';\n\nconst updateMiddleware = storeState => next => arg => {\n let output;\n const state = storeState.getState();\n const nextState = next(state, arg, out => {\n output = out;\n });\n\n if (!shallowEqual(nextState, state)) {\n storeState.setState(nextState);\n }\n\n return output;\n};\n\nexport default updateMiddleware;","const supports = {\n scheduling() {\n return typeof window !== 'undefined' && typeof MessageChannel === 'function';\n }\n\n};\nexport default supports;","/* eslint-disable import/no-unresolved */\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { unstable_scheduleCallback as scheduleCallback, unstable_ImmediatePriority as ImmediatePriority } from 'scheduler';\nimport defaults from '../defaults';\nimport supports from './supported-features';\nlet isInsideBatchedSchedule = false;\nexport function batch(fn) {\n // if we are in node/tests or nested schedule\n if (!defaults.batchUpdates || !supports.scheduling() || isInsideBatchedSchedule) {\n return unstable_batchedUpdates(fn);\n }\n\n isInsideBatchedSchedule = true; // Use ImmediatePriority as it has -1ms timeout\n // https://github.com/facebook/react/blob/main/packages/scheduler/src/forks/Scheduler.js#L65\n\n return scheduleCallback(ImmediatePriority, function scheduleBatchedUpdates() {\n unstable_batchedUpdates(fn);\n isInsideBatchedSchedule = false;\n });\n}","import defaults from '../defaults';\nimport { batch } from './batched-updates';\nimport supports from './supported-features';\nconst QUEUE = [];\nlet scheduled;\nexport default function schedule(fn) {\n // if we are in node/tests or feature disabled, make updates sync batched\n if (!defaults.batchUpdates || !supports.scheduling()) return batch(() => fn()); // Add to queue if not already there\n // so we avoid multiple notifications to same store listeners\n\n if (!QUEUE.includes(fn)) QUEUE.push(fn); // if something already started schedule, skip\n\n if (scheduled) return;\n scheduled = batch(() => {\n let queueFn;\n\n while (queueFn = QUEUE.shift()) queueFn();\n\n scheduled = null;\n });\n}","import applyMiddleware from '../middlewares';\nimport withDevtools from '../enhancers/devtools';\nimport defaults from '../defaults';\nimport schedule from '../utils/schedule';\n\nfunction createStoreState(key, initialState) {\n let listeners = [];\n let currentState = initialState;\n const storeState = {\n key,\n\n getState() {\n return currentState;\n },\n\n setState(nextState) {\n currentState = nextState; // Instead of notifying all hooks immediately, we wait next tick\n // so multiple actions affecting the same store gets combined\n\n schedule(storeState.notify);\n },\n\n resetState() {\n storeState.setState(initialState);\n },\n\n notify() {\n for (let i = 0; i < listeners.length; i++) {\n listeners[i](storeState.getState());\n }\n },\n\n subscribe(listener) {\n listeners = listeners.concat(listener);\n return function unsubscribe() {\n listeners = listeners.filter(fn => fn !== listener);\n };\n },\n\n listeners() {\n return listeners;\n }\n\n };\n storeState.mutator = applyMiddleware(storeState, defaults.middlewares);\n return storeState;\n}\n\nexport default withDevtools(createStoreState);","import defaults from '../defaults';\n\nconst connectDevTools = (storeState, config) => {\n const devTools = window.__REDUX_DEVTOOLS_EXTENSION__.connect(Object.assign({\n name: `Store ${storeState.key}`,\n serialize: true\n }, config));\n\n devTools.init(storeState.getState());\n devTools.subscribe(message => {\n if (message.type === 'DISPATCH') {\n switch (message.payload.type) {\n case 'RESET':\n storeState.resetState();\n devTools.init(storeState.getState());\n return;\n\n case 'COMMIT':\n devTools.init(storeState.getState());\n return;\n\n case 'ROLLBACK':\n storeState.setState(JSON.parse(message.state));\n devTools.init(storeState.getState());\n return;\n\n case 'JUMP_TO_STATE':\n case 'JUMP_TO_ACTION':\n storeState.setState(JSON.parse(message.state));\n return;\n }\n } else if (message.type === 'ACTION') {\n let action = JSON.parse(message.payload);\n storeState.setState(action.payload);\n }\n });\n return devTools;\n};\n\nconst withDevtools = createStoreState => function () {\n const storeState = createStoreState(...arguments);\n\n if (defaults.devtools && window && window.__REDUX_DEVTOOLS_EXTENSION__) {\n const origMutator = storeState.mutator;\n let devTools;\n\n const devtoolMutator = arg => {\n const result = origMutator(arg);\n\n try {\n if (!devTools) {\n const config = typeof defaults.devtools === 'function' ? defaults.devtools(storeState) : {};\n devTools = connectDevTools(storeState, config);\n }\n\n devTools.send({\n type: storeState.mutator.actionName,\n payload: arg\n }, storeState.getState(), {}, storeState.key);\n } catch (err) {\n /* ignore devtools errors */\n }\n\n return result;\n };\n\n storeState.mutator = devtoolMutator;\n }\n\n return storeState;\n};\n\nexport default withDevtools;","import defaults from '../defaults';\nimport update from './update';\n\nconst applyMiddleware = (storeState, middlewares) => Array.from(middlewares).concat(update).reduceRight((next, mw) => mw(storeState)(next), defaults.mutator);\n\nexport default applyMiddleware;","import { bindActions } from './bind-actions';\nimport createStoreState from './create-state';\nexport const GLOBAL_SCOPE = '__global__';\nexport class StoreRegistry {\n constructor(defaultScope) {\n var _this = this;\n\n if (defaultScope === void 0) {\n defaultScope = GLOBAL_SCOPE;\n }\n\n this.stores = new Map();\n\n this.initStore = (key, Store) => {\n const {\n initialState,\n actions\n } = Store;\n const storeState = createStoreState(key, initialState);\n const boundActions = bindActions(actions, storeState);\n const store = {\n storeState,\n actions: boundActions\n };\n this.stores.set(key, store);\n return store;\n };\n\n this.getStore = function (Store, scopeId) {\n if (scopeId === void 0) {\n scopeId = _this.defaultScope;\n }\n\n const key = _this.generateKey(Store, scopeId);\n\n return _this.stores.get(key) || _this.initStore(key, Store);\n };\n\n this.deleteStore = function (Store, scopeId) {\n if (scopeId === void 0) {\n scopeId = _this.defaultScope;\n }\n\n const key = _this.generateKey(Store, scopeId);\n\n _this.stores.delete(key);\n };\n\n this.generateKey = (Store, scopeId) => `${Store.key}@${scopeId}`;\n\n this.defaultScope = defaultScope;\n }\n\n}\nexport const defaultRegistry = new StoreRegistry();","import React from 'react';\nimport { defaultRegistry } from './store'; // Provide static calculateChangedBit to opt-out from context updates\n// as we use our own subscription model\n\nexport const Context = /*#__PURE__*/React.createContext({\n globalRegistry: defaultRegistry,\n getStore: defaultRegistry.getStore\n}, () => 0);","import shallowEqual from './shallow-equal';\n\nfunction exactEqual(objA, objB) {\n return objA === objB;\n}\n\nfunction areArgumentsEqual(propsMode, prev, next) {\n if (prev === null || next === null || prev.length !== next.length) return false; // If propsMode and 2 arguments, means it is an input selector\n // and we check for shallow equality on 2nd one to optimise props\n\n if (propsMode && prev.length === 2) {\n return prev[0] === next[0] && shallowEqual(prev[1], next[1]);\n }\n\n for (let i = 0; i < prev.length; i++) {\n if (!exactEqual(prev[i], next[i])) return false;\n }\n\n return true;\n}\n/**\n * Tailor made memoisation\n */\n\n\nexport default function (resultFn, propsMode) {\n if (propsMode === void 0) {\n propsMode = false;\n }\n\n let lastArgs = [];\n let lastResult;\n let calledOnce = false;\n\n const result = function result() {\n if (calledOnce && areArgumentsEqual(propsMode, arguments, lastArgs)) {\n return lastResult;\n }\n\n const nextResult = resultFn.apply(this, arguments);\n\n if (!propsMode && shallowEqual(nextResult, lastResult)) {\n return lastResult;\n }\n\n lastResult = nextResult;\n calledOnce = true;\n lastArgs = arguments;\n return lastResult;\n };\n\n return result;\n}","import memoize from './memoize'; // customised version of reselect\n\nexport function createSelector() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n const resultFunc = funcs.pop();\n const dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n const memoizedResultFunc = memoize(function () {\n return resultFunc.apply(null, arguments);\n }); // this memoisation is optimised for 2 arguments (state, props)\n\n const selector = memoize(function () {\n // calculate all dependencies results\n const params = [];\n\n for (let i = 0; i < dependencies.length; i++) {\n params.push(dependencies[i].apply(null, arguments));\n } // then call the final func with all them as arguments\n\n\n return memoizedResultFunc.apply(null, params);\n }, true); // expose so we can create per scope selectors\n // API compatible with reselect@^4\n\n selector.resultFunc = resultFunc;\n selector.dependencies = dependencies;\n return selector;\n}\nexport function createMemoizedSelector(selector) {\n const isReselector = typeof selector.resultFunc === 'function' && Array.isArray(selector.dependencies);\n const dependencies = isReselector ? selector.dependencies : [s => s, (_, p) => p];\n const resultFunc = isReselector ? selector.resultFunc : selector;\n return createSelector(dependencies, resultFunc);\n}\nconst cache = new WeakMap();\nexport function getSelectorInstance(selector, storeState, hasProps) {\n if (!hasProps) {\n if (!cache.has(storeState)) {\n cache.set(storeState, new WeakMap());\n }\n\n const scopeSelectors = cache.get(storeState);\n\n if (!scopeSelectors.has(selector)) {\n scopeSelectors.set(selector, createMemoizedSelector(selector));\n }\n\n return scopeSelectors.get(selector);\n }\n\n return createMemoizedSelector(selector);\n}","import { useMemo, useContext, useRef, useCallback } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { Context } from '../context';\nimport { getSelectorInstance } from '../utils/create-selector';\n\nconst EMPTY_SELECTOR = () => undefined;\n\nconst DEFAULT_SELECTOR = state => state;\n\nexport function createHook(Store, _temp) {\n let {\n selector\n } = _temp === void 0 ? {} : _temp;\n return function useSweetState(propsArg) {\n const {\n getStore\n } = useContext(Context);\n const {\n storeState,\n actions\n } = getStore(Store);\n const hasPropsArg = propsArg !== undefined;\n const propsArgRef = useRef(propsArg);\n propsArgRef.current = propsArg;\n const stateSelector = useMemo(() => selector ? getSelectorInstance(selector, storeState, hasPropsArg) : selector === null ? EMPTY_SELECTOR : DEFAULT_SELECTOR, [hasPropsArg, storeState]);\n const getSnapshot = useCallback(() => {\n const state = getStore(Store).storeState.getState();\n return stateSelector(state, propsArgRef.current);\n }, [getStore, stateSelector]);\n const currentState = useSyncExternalStore(storeState.subscribe, getSnapshot, getSnapshot);\n return [currentState, actions];\n };\n}\nexport function createActionsHook(Store) {\n const useHook = createHook(Store, {\n selector: null\n });\n return function useSweetStateActions() {\n return useHook()[1];\n };\n}\nexport function createStateHook(Store, _temp2) {\n let {\n selector\n } = _temp2 === void 0 ? {} : _temp2;\n const useHook = createHook(Store, {\n selector\n });\n return function useSweetStateState(propsArg) {\n return useHook(propsArg)[0];\n };\n}","import {\n FormattedPriceCalculationResponse,\n PricingPeriod\n} from '@atlassiansox/bxp-use-pricing';\nimport { Action } from 'react-sweet-state';\nimport { PriceFinderState } from '../models';\n\nexport const updateUnitCount =\n (unitCount: number): Action =>\n ({ setState }) => {\n setState({\n unitCount\n });\n };\n\nexport const updateBillingCycle =\n (billingCycle: PricingPeriod): Action =>\n ({ setState }) => {\n setState({\n billingCycle\n });\n };\n\nexport const updatePriceCalcs =\n (priceCalcs: FormattedPriceCalculationResponse[]): Action =>\n ({ setState }) => {\n setState({\n priceCalcs\n });\n };\n","import { createHook, createStore } from 'react-sweet-state';\nimport { PriceFinderState } from '../models';\nimport * as actions from './actions';\n\ntype PriceFinderActions = typeof actions;\n\nexport const initialState: PriceFinderState = {\n unitCount: 10,\n billingCycle: 'MONTHLY',\n priceCalcs: []\n};\n\nconst store = createStore({\n name: 'bxp-price-finder',\n initialState,\n actions\n});\n\nexport const usePriceFinderStore = createHook(store);\n","import hash from '../utils/hash';\n\nfunction createKey(initialState, actions, name) {\n const src = !name ? Object.keys(actions).reduce((acc, k) => acc + actions[k].toString(), '') : '';\n return [name, hash(src + JSON.stringify(initialState))].filter(Boolean).join('__');\n}\n\nexport function createStore(_ref) {\n let {\n name = '',\n initialState,\n actions\n } = _ref;\n let key;\n return {\n get key() {\n // lazy evaluate key on first access\n return key || (key = createKey(initialState, actions, name));\n },\n\n initialState,\n actions\n };\n}","export const deviceMediaQueries = {\n desktop: `@media (min-width: 1024px)`,\n tablet: `@media (max-width: 1023px)`,\n mobile: `@media (max-width: 768px)`,\n extraSmall: `@media (max-width: 360px)`\n};\n\nexport enum TRACKING_EVENT_NAMES {\n unitTierBox = 'pricing_page_unit_tier_box',\n unitDescriptionTooltipTriggered = 'unit-description-tooltip-triggered',\n billingCycleChanged = 'billing-cycle-changed',\n planCardCTAButtonClicked = 'edition-table-button-clicked',\n unitBreachModalDecision = 'unit-breach-modal-decision',\n unitLimitBreachModal = 'unit-limit-breach-modal',\n userTierTooltipTriggered = 'user-tier-tooltip-triggered',\n showPricingExampleTriggered = 'show-pricing-example-triggered',\n hidePricingExampleTriggered = 'hide-pricing-example-triggered',\n pricingExampleBillingCycleChanged = 'pricing-example-billing-cycle-changed',\n promoCardCTAButtonClicked = 'promo-card-button-clicked'\n}\n\nexport enum UNIT_TRACKING_TERMS {\n users = 'users',\n agents = 'agents'\n}\n\nexport const DEFAULT_COUNTRY_ISO_CODE = 'US';\nexport const DEFAULT_CURRENCY_ISO_CODE = 'USD';\n\nexport enum SpecialPlanNames {\n FREE = 'Free',\n STANDARD = 'Standard',\n PREMIUM = 'Premium',\n ENTERPRISE = 'Enterprise'\n}\n\nexport enum SpecialProductKeys {\n JSM = 'jira-servicedesk.ondemand',\n BITBUCKET = 'com.atlassian.bitbucket.manual'\n}\n\nexport enum DefaultPlanLimits {\n UNIT_LIMIT_FREE = 10,\n UNIT_LIMIT = 50000,\n UNIT_MIN_ENTERPRISE = 801\n}\n","/**\n * An empty function which does nothing.\n */\n// eslint-disable-next-line @repo/internal/react/use-noop\nexport default function noop() {}","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","function abort(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nconst tabKeyCode = 9;\nfunction onKey(event) {\n // Allowing tab so that a user can move focus away\n if (event.keyCode === tabKeyCode) {\n return;\n }\n abort(event);\n}\nconst block = {\n onMouseDownCapture: abort,\n onMouseUpCapture: abort,\n // because we have tabIndex = -1 when disabled,\n // keyboard events can only occur when there is an overlay\n onKeyDownCapture: onKey,\n onKeyUpCapture: onKey,\n onTouchStartCapture: abort,\n onTouchEndCapture: abort,\n onPointerDownCapture: abort,\n onPointerUpCapture: abort,\n onClickCapture: abort,\n // Just smashing the existing onClick for good measure\n onClick: abort\n};\nconst doNotBlock = {};\nexport default function blockEvents({\n isInteractive\n}) {\n return isInteractive ? doNotBlock : block;\n}","import * as colors from '@atlaskit/theme/colors';\n// Hard coding the active rgba color value rather than using a helper to convert it\n// With helper it would be: hex2rgba(colors.B75, 0.6)\nconst fadedB75 = 'rgba(179, 212, 255, 0.6)';\nconst values = {\n // Default appearance\n background: {\n default: {\n default: {\n light: `var(--ds-background-neutral, ${colors.N20A})`,\n dark: `var(--ds-background-neutral, ${colors.DN70})`\n },\n hover: {\n light: `var(--ds-background-neutral-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-pressed, ${colors.B75})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-background-brand-bold, ${colors.B400})`,\n dark: `var(--ds-background-brand-bold, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-background-brand-bold-hovered, ${colors.B300})`,\n dark: `var(--ds-background-brand-bold-hovered, ${colors.B75})`\n },\n active: {\n light: `var(--ds-background-brand-bold-pressed, ${colors.B500})`,\n dark: `var(--ds-background-brand-bold-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-background-warning-bold, ${colors.Y300})`,\n dark: `var(--ds-background-warning-bold, ${colors.Y300})`\n },\n hover: {\n light: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`,\n dark: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`\n },\n active: {\n light: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`,\n dark: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-background-danger-bold, ${colors.R400})`,\n dark: `var(--ds-background-danger-bold, ${colors.R400})`\n },\n hover: {\n light: `var(--ds-background-danger-bold-hovered, ${colors.R300})`,\n dark: `var(--ds-background-danger-bold-hovered, ${colors.R300})`\n },\n active: {\n light: `var(--ds-background-danger-bold-pressed, ${colors.R500})`,\n dark: `var(--ds-background-danger-bold-pressed, ${colors.R500})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n }\n },\n link: {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n },\n subtle: {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n hover: {\n light: `var(--ds-background-neutral-subtle-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-subtle-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-subtle-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-subtle-pressed, ${colors.B75})`\n },\n disabled: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n 'subtle-link': {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n }\n },\n color: {\n default: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.DN30})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-text-warning-inverse, ${colors.N800})`,\n dark: `var(--ds-text-warning-inverse, ${colors.N800})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.N0})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n }\n },\n link: {\n default: {\n light: `var(--ds-link, ${colors.B400})`,\n dark: `var(--ds-link, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-link, ${colors.B300})`,\n dark: `var(--ds-link, ${colors.B75})`\n },\n active: {\n light: `var(--ds-link-pressed, ${colors.B500})`,\n dark: `var(--ds-link-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n }\n },\n subtle: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n 'subtle-link': {\n default: {\n light: `var(--ds-text-subtle, ${colors.N200})`,\n dark: `var(--ds-text-subtle, ${colors.DN400})`\n },\n hover: {\n light: `var(--ds-text-subtle, ${colors.N90})`,\n dark: `var(--ds-text-subtle, ${colors.B50})`\n },\n active: {\n light: `var(--ds-text, ${colors.N400})`,\n dark: `var(--ds-text, ${colors.DN300})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n }\n }\n};\nexport default values;","import { css } from '@emotion/react';\nimport { borderRadius as getBorderRadius, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize();\n\n// ## Button layout\n//\n// /------------------------------------------------------------------------------------------------------------------\\\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// | 10px → | ← 2px | icon | 2px → | ← 2px | | 2px → | ← 2px | icon | 2px → | ← 10px |\n// | padding | margin | before | margin | margin | content | margin | margin | after | margin | padding |\n// | (12px total) | | (4px total) | | (4px total) | | (12px total) |\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// \\------------------------------------------------------------------------------------------------------------------/\n// ↑ ↑\n// Margins don't collapse with inline-flex\n//\nconst heights = {\n default: `${gridSize * 4 / fontSize}em`,\n // 32px\n compact: `${gridSize * 3 / fontSize}em`,\n none: 'auto'\n};\nconst lineHeights = {\n default: heights.default,\n compact: heights.compact,\n none: 'inherit'\n};\nconst padding = {\n // 10px gutter\n default: `0 ${gridSize + gridSize / 4}px`,\n compact: `0 ${gridSize + gridSize / 4}px`,\n none: '0'\n};\nconst singleIconPadding = {\n // 2px gutter\n compact: `0 ${gridSize / 4}px`,\n default: `0 ${gridSize / 4}px`,\n none: '0'\n};\nconst verticalAlign = {\n default: 'middle',\n compact: 'middle',\n none: 'baseline'\n};\nconst innerMargin = {\n content: `0 ${gridSize / 4}px`,\n icon: `0 ${gridSize / 4}px`\n};\nfunction getColor({\n group,\n key,\n mode\n}) {\n const rule = group[key] || group.default;\n return rule[mode];\n}\nfunction getColors({\n appearance,\n key,\n mode\n}) {\n return {\n background: getColor({\n group: colors.background[appearance],\n key,\n mode\n }),\n // Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider\n color: `${getColor({\n group: colors.color[appearance],\n key,\n mode\n })} !important`\n };\n}\nexport function getCss({\n appearance,\n spacing,\n mode,\n isSelected,\n shouldFitContainer,\n isOnlySingleIcon\n}) {\n const baseColors = getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n });\n return {\n // 0px margin added to css-reset\n alignItems: 'baseline',\n borderWidth: 0,\n borderRadius,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n // Chrome recently changed button so that they use 'arial' as the font family\n fontFamily: 'inherit',\n fontWeight: 500,\n // margin for button has been applied to css reset\n maxWidth: '100%',\n // Needed to position overlay\n position: 'relative',\n textAlign: 'center',\n textDecoration: 'none',\n transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',\n whiteSpace: 'nowrap',\n // dynamic styles\n ...baseColors,\n cursor: 'pointer',\n height: heights[spacing],\n lineHeight: lineHeights[spacing],\n padding: isOnlySingleIcon ? singleIconPadding[spacing] : padding[spacing],\n verticalAlign: verticalAlign[spacing],\n width: shouldFitContainer ? '100%' : 'auto',\n // justifyContent required for shouldFitContainer buttons with an icon inside\n justifyContent: 'center',\n // Note: we cannot disable pointer events when there is an overlay.\n // That would be easy for styling, but it would start letting events through on disabled buttons\n\n // Disabling visited styles (just using the base colors)\n '&:visited': {\n ...baseColors\n },\n '&:hover': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'hover',\n mode\n }),\n textDecoration: !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? 'underline' : 'inherit',\n // background, box-shadow\n transitionDuration: '0s, 0.15s'\n },\n // giving active styles preference by listing them after focus\n '&:active': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // preventDefault prevents regular active styles from applying in Firefox\n '&[data-firefox-is-active=\"true\"]': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // Giving disabled styles preference over active by listing them after.\n // Not using '&:disabled' because :disabled is not a valid state for all element types\n // so we are targeting the attribute\n // Attributes have the same specificity a pseudo classes so we are overriding :disabled here\n '&[disabled]': {\n // always using 'disabled' even when selected\n ...getColors({\n appearance,\n key: 'disabled',\n mode\n }),\n cursor: 'not-allowed',\n textDecoration: 'none'\n },\n '&[data-has-overlay=\"true\"]': {\n cursor: 'default',\n textDecoration: 'none'\n },\n // disabling hover and active color changes when there is an overlay, but the button is not disabled\n '&[data-has-overlay=\"true\"]:not([disabled]):hover, &[data-has-overlay=\"true\"]:not([disabled]):active': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n })\n },\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0\n }\n };\n}\n\n// inline-flex child\nexport function getIconStyle({\n spacing\n}) {\n return css({\n display: 'flex',\n // icon size cannot grow and shrink\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n margin: spacing === 'none' ? 0 : innerMargin.icon,\n flexGrow: 0,\n flexShrink: 0,\n alignSelf: 'center',\n fontSize: 0,\n lineHeight: 0,\n userSelect: 'none'\n });\n}\n\n// inline-flex child\nexport function getContentStyle({\n spacing\n}) {\n return css({\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n margin: spacing === 'none' ? 0 : innerMargin.content,\n // content can grow and shrink\n flexGrow: 1,\n flexShrink: 1,\n // ellipsis for overflow text\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n });\n}\nexport function getFadingCss({\n hasOverlay\n}) {\n return css({\n opacity: hasOverlay ? 0 : 1,\n transition: 'opacity 0.3s'\n });\n}\nexport const overlayCss = {\n // stretching to full width / height of button\n // this is important as we need it to still block\n // event if clicking in the button's own padding\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n // Putting all children in the center\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\n// eslint-disable-next-line no-duplicate-imports\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { N500 } from '@atlaskit/theme/colors';\nimport blockEvents from './block-events';\nimport { getContentStyle, getFadingCss, getIconStyle, overlayCss } from './css';\n\n// Disabled buttons will still publish events for nested elements in webkit.\n// We are disabling pointer events on child elements so that\n// the button will always be the target of events\n// Note: firefox does not have this behaviour for child elements\nconst noPointerEventsOnChildrenCss = {\n '> *': {\n pointerEvents: 'none'\n }\n};\nexport default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n const {\n appearance = 'default',\n buttonCss,\n spacing = 'default',\n autoFocus = false,\n isDisabled = false,\n shouldFitContainer = false,\n isSelected = false,\n iconBefore,\n iconAfter,\n children,\n className,\n href,\n overlay,\n tabIndex = 0,\n type = !href ? 'button' : undefined,\n onMouseDown: providedOnMouseDown = noop,\n onClick: providedOnClick = noop,\n // use the provided component prop,\n // else default to anchor if there is a href, and button if there is no href\n component: Component = href ? 'a' : 'button',\n testId,\n interactionName,\n // I don't think this should be in button, but for now it is\n analyticsContext,\n ...rest\n } = props;\n const ourRef = useRef();\n const setRef = useCallback(node => {\n ourRef.current = node;\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n // @ts-ignore\n ref.current = node;\n }, [ourRef, ref]);\n\n // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n useAutoFocus(ourRef, autoFocus);\n const interactionContext = useContext(InteractionContext);\n const handleClick = useCallback((e, analyticsEvent) => {\n interactionContext && interactionContext.tracePress(interactionName, e.timeStamp);\n providedOnClick(e, analyticsEvent);\n }, [providedOnClick, interactionContext, interactionName]);\n const onClick = usePlatformLeafEventHandler({\n fn: handleClick,\n action: 'clicked',\n componentName: 'button',\n packageName: \"@atlaskit/button\",\n packageVersion: \"16.7.5\",\n analyticsData: analyticsContext\n });\n\n // Button currently calls preventDefault, which is not standard button behaviour\n const onMouseDown = useCallback(event => {\n event.preventDefault();\n providedOnMouseDown(event);\n }, [providedOnMouseDown]);\n\n // Lose focus when becoming disabled (standard button behaviour)\n useEffect(() => {\n const el = ourRef.current;\n if (isDisabled && el && el === document.activeElement) {\n el.blur();\n }\n }, [isDisabled]);\n\n // we are 'disabling' input with a button when there is an overlay\n const hasOverlay = Boolean(overlay);\n const fadeCss = css(getFadingCss({\n hasOverlay\n }));\n const isInteractive = !isDisabled && !hasOverlay;\n\n /**\n * HACK: Spinner needs to have different colours in the \"new\" tokens design compared to the old design.\n * For now, while we support both, these styles reach into Spinner when a theme is set, applies the right color.\n * Ticket to remove: https://product-fabric.atlassian.net/browse/DSP-2067\n */\n var spinnerHackCss = {};\n if (isSelected || isDisabled || appearance === 'warning') {\n spinnerHackCss = {\n '[data-theme] & circle': {\n stroke: `${isSelected || isDisabled ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-warning-inverse, ${N500})`} !important`\n }\n };\n }\n return jsx(FocusRing, null, jsx(Component, _extends({}, rest, {\n css: [buttonCss, isInteractive ? null : noPointerEventsOnChildrenCss],\n className: className,\n ref: setRef,\n onClick: onClick,\n onMouseDown: onMouseDown,\n disabled: isDisabled,\n href: isInteractive ? href : undefined\n // using undefined so that the property doesn't exist when false\n ,\n \"data-has-overlay\": hasOverlay ? true : undefined,\n \"data-testid\": testId,\n type: type\n // Adding a tab index so element is always focusable, even when not a