{"version":3,"file":"chunks/85a8bc56fa269b.js","mappings":"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IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,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,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NA,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,GAC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,KACA,IACA,MAEJ,GAAM,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,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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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,CEtvCA,SAAS4mB,GAAqBnsD,EAAM6xC,GAChC,OAAO33C,OAAOC,KAAK6F,GAAMvD,QAAO,SAAUkf,EAAKrc,GAE3C,OADAqc,EAAIrc,IAAK,QAAS,CAAEuyC,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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-explorations/dist/es2019/components/box.partial.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/components/surface-provider.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/internal/color-map.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/components/text.partial.js","webpack:///./node_modules/@atlaskit/ds-explorations/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/ds-explorations/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/ds-explorations/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/lozenge/dist/es2019/Lozenge/index.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/@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/lib/index.es.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/react-focus-lock/dist/es2015/medium.js","webpack:///./node_modules/react-focus-lock/dist/es2015/Lock.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-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/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/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.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/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafSyntheticEventHandler.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/dist/es2019/internal/shared-schedule.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/dist/es2019/internal/tooltip-manager.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/dist/es2019/TooltipPrimitive.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/dist/es2019/TooltipContainer.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/dist/es2019/utilities.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/dist/es2019/Tooltip.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/tooltip/dist/es2019/internal/use-unique-id.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/hooks/use-fit-price-text-into-plan-card.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/highest-display-price-font-size.tsx","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/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-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/use-sidecar/dist/es2019/medium.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 { B200, 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', '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, ${B200})`, 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: () => 9999\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}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\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', B200)` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B200})`,\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 _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { LAYERS } from '../constants';\nimport { SurfaceContext } from './surface-provider';\n\n/**\n * @private\n * @deprecated DSP-8009: This type is scheduled for deletion.\n * Please use `Box` from `@atlaskit/primitives` instead.\n */\n\n// Without this type annotation on Box we don't get autocomplete for props due to forwardRef types\n\n/**\n * __Box__\n *\n * Box is a primitive component that has the design decisions of the Atlassian Design System baked in.\n * Renders a `div` by default.\n *\n * @private\n * @deprecated DSP-8009: This primitive is scheduled for deletion.\n * Please use `Box` from `@atlaskit/primitives` instead.\n */\nexport const Box = /*#__PURE__*/forwardRef(({\n children,\n as,\n className,\n display = 'flex',\n flexDirection,\n alignItems,\n justifyContent,\n backgroundColor,\n borderColor,\n borderStyle,\n borderWidth,\n borderRadius,\n shadow,\n layer,\n padding,\n paddingBlock,\n paddingInline,\n position = 'relative',\n height,\n overflow,\n width,\n UNSAFE_style,\n testId,\n ...htmlAttributes\n}, ref) => {\n const Component = as || 'div';\n const node = jsx(Component, _extends({\n style: UNSAFE_style,\n ref: ref\n // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n }, htmlAttributes, {\n className: className,\n css: [baseStyles, display && displayMap[display], padding && paddingMap[padding], position && positionMap[position], paddingBlock && paddingBlockMap[paddingBlock], paddingInline && paddingInlineMap[paddingInline], alignItems && flexAlignItemsMap[alignItems], justifyContent && flexJustifyContentMap[justifyContent], backgroundColor && backgroundColorMap[backgroundColor], borderColor && borderColorMap[borderColor], borderStyle && borderStyleMap[borderStyle], borderWidth && borderWidthMap[borderWidth], borderRadius && borderRadiusMap[borderRadius], shadow && shadowMap[shadow], layer && layerMap[layer], flexDirection && flexDirectionMap[flexDirection], overflow && overflowMap[overflow], width && widthMap[width], height && heightMap[height]],\n \"data-testid\": testId\n }), children);\n return backgroundColor ? jsx(SurfaceContext.Provider, {\n value: backgroundColor\n }, node) : node;\n});\nBox.displayName = 'Box';\nexport default Box;\n\n// <<< STYLES GO HERE >>>\n\nconst borderStyleMap = {\n none: css({\n borderStyle: 'none'\n }),\n solid: css({\n borderStyle: 'solid'\n }),\n dashed: css({\n borderStyle: 'dashed'\n }),\n dotted: css({\n borderStyle: 'dotted'\n })\n};\nconst borderWidthMap = {\n '0px': css({\n borderWidth: '0px'\n }),\n '1px': css({\n borderWidth: '1px'\n }),\n '2px': css({\n borderWidth: '2px'\n }),\n '3px': css({\n borderWidth: '3px'\n })\n};\nconst borderRadiusMap = {\n normal: css({\n borderRadius: \"var(--ds-radius-100, 3px)\"\n }),\n rounded: css({\n borderRadius: '50%'\n }),\n badge: css({\n borderRadius: '8px'\n })\n};\n\n/**\n * @experimental - this is likely to be removed\n */\n\nconst flexDirectionMap = {\n column: css({\n flexDirection: 'column'\n }),\n row: css({\n flexDirection: 'row'\n })\n};\n\n/**\n * @experimental - this is likely to be removed\n */\n\nconst flexAlignItemsMap = {\n center: css({\n alignItems: 'center'\n }),\n baseline: css({\n alignItems: 'baseline'\n }),\n flexStart: css({\n alignItems: 'flex-start'\n }),\n flexEnd: css({\n alignItems: 'flex-end'\n }),\n start: css({\n alignItems: 'start'\n }),\n end: css({\n alignItems: 'end'\n })\n};\n\n/**\n * @experimental - this is likely to be removed\n */\n\nconst flexJustifyContentMap = {\n center: css({\n justifyContent: 'center'\n }),\n flexStart: css({\n justifyContent: 'flex-start'\n }),\n flexEnd: css({\n justifyContent: 'flex-end'\n }),\n start: css({\n justifyContent: 'start'\n }),\n end: css({\n justifyContent: 'end'\n })\n};\nconst displayMap = {\n block: css({\n display: 'block'\n }),\n inline: css({\n display: 'inline'\n }),\n flex: css({\n display: 'flex'\n }),\n inlineFlex: css({\n display: 'inline-flex'\n }),\n inlineBlock: css({\n display: 'inline-block'\n })\n};\nconst positionMap = {\n absolute: css({\n position: 'absolute'\n }),\n fixed: css({\n position: 'fixed'\n }),\n relative: css({\n position: 'relative'\n }),\n static: css({\n position: 'static'\n })\n};\nconst overflowMap = {\n auto: css({\n overflow: 'auto'\n }),\n hidden: css({\n overflow: 'hidden'\n })\n};\nconst baseStyles = css({\n boxSizing: 'border-box',\n appearance: 'none',\n border: 'none'\n});\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId dimensions\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"width\", \"height\"]\n */\nconst widthMap = {\n '100%': css({\n width: '100%'\n }),\n 'size.100': css({\n width: '16px'\n }),\n 'size.1000': css({\n width: '192px'\n }),\n 'size.200': css({\n width: '24px'\n }),\n 'size.300': css({\n width: '32px'\n }),\n 'size.400': css({\n width: '40px'\n }),\n 'size.500': css({\n width: '48px'\n }),\n 'size.600': css({\n width: '96px'\n })\n};\nconst heightMap = {\n '100%': css({\n height: '100%'\n }),\n 'size.100': css({\n height: '16px'\n }),\n 'size.1000': css({\n height: '192px'\n }),\n 'size.200': css({\n height: '24px'\n }),\n 'size.300': css({\n height: '32px'\n }),\n 'size.400': css({\n height: '40px'\n }),\n 'size.500': css({\n height: '48px'\n }),\n 'size.600': css({\n height: '96px'\n })\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId spacing\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"padding\", \"paddingBlock\", \"paddingInline\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-spacing.tsx <>\n */\nconst paddingMap = {\n 'space.0': css({\n padding: \"var(--ds-space-0, 0px)\"\n }),\n 'space.025': css({\n padding: \"var(--ds-space-025, 2px)\"\n }),\n 'space.050': css({\n padding: \"var(--ds-space-050, 4px)\"\n }),\n 'space.075': css({\n padding: \"var(--ds-space-075, 6px)\"\n }),\n 'space.100': css({\n padding: \"var(--ds-space-100, 8px)\"\n }),\n 'space.1000': css({\n padding: \"var(--ds-space-1000, 80px)\"\n }),\n 'space.150': css({\n padding: \"var(--ds-space-150, 12px)\"\n }),\n 'space.200': css({\n padding: \"var(--ds-space-200, 16px)\"\n }),\n 'space.250': css({\n padding: \"var(--ds-space-250, 20px)\"\n }),\n 'space.300': css({\n padding: \"var(--ds-space-300, 24px)\"\n }),\n 'space.400': css({\n padding: \"var(--ds-space-400, 32px)\"\n }),\n 'space.500': css({\n padding: \"var(--ds-space-500, 40px)\"\n }),\n 'space.600': css({\n padding: \"var(--ds-space-600, 48px)\"\n }),\n 'space.800': css({\n padding: \"var(--ds-space-800, 64px)\"\n })\n};\nconst paddingBlockMap = {\n 'space.0': css({\n paddingBlock: \"var(--ds-space-0, 0px)\"\n }),\n 'space.025': css({\n paddingBlock: \"var(--ds-space-025, 2px)\"\n }),\n 'space.050': css({\n paddingBlock: \"var(--ds-space-050, 4px)\"\n }),\n 'space.075': css({\n paddingBlock: \"var(--ds-space-075, 6px)\"\n }),\n 'space.100': css({\n paddingBlock: \"var(--ds-space-100, 8px)\"\n }),\n 'space.1000': css({\n paddingBlock: \"var(--ds-space-1000, 80px)\"\n }),\n 'space.150': css({\n paddingBlock: \"var(--ds-space-150, 12px)\"\n }),\n 'space.200': css({\n paddingBlock: \"var(--ds-space-200, 16px)\"\n }),\n 'space.250': css({\n paddingBlock: \"var(--ds-space-250, 20px)\"\n }),\n 'space.300': css({\n paddingBlock: \"var(--ds-space-300, 24px)\"\n }),\n 'space.400': css({\n paddingBlock: \"var(--ds-space-400, 32px)\"\n }),\n 'space.500': css({\n paddingBlock: \"var(--ds-space-500, 40px)\"\n }),\n 'space.600': css({\n paddingBlock: \"var(--ds-space-600, 48px)\"\n }),\n 'space.800': css({\n paddingBlock: \"var(--ds-space-800, 64px)\"\n })\n};\nconst paddingInlineMap = {\n 'space.0': css({\n paddingInline: \"var(--ds-space-0, 0px)\"\n }),\n 'space.025': css({\n paddingInline: \"var(--ds-space-025, 2px)\"\n }),\n 'space.050': css({\n paddingInline: \"var(--ds-space-050, 4px)\"\n }),\n 'space.075': css({\n paddingInline: \"var(--ds-space-075, 6px)\"\n }),\n 'space.100': css({\n paddingInline: \"var(--ds-space-100, 8px)\"\n }),\n 'space.1000': css({\n paddingInline: \"var(--ds-space-1000, 80px)\"\n }),\n 'space.150': css({\n paddingInline: \"var(--ds-space-150, 12px)\"\n }),\n 'space.200': css({\n paddingInline: \"var(--ds-space-200, 16px)\"\n }),\n 'space.250': css({\n paddingInline: \"var(--ds-space-250, 20px)\"\n }),\n 'space.300': css({\n paddingInline: \"var(--ds-space-300, 24px)\"\n }),\n 'space.400': css({\n paddingInline: \"var(--ds-space-400, 32px)\"\n }),\n 'space.500': css({\n paddingInline: \"var(--ds-space-500, 40px)\"\n }),\n 'space.600': css({\n paddingInline: \"var(--ds-space-600, 48px)\"\n }),\n 'space.800': css({\n paddingInline: \"var(--ds-space-800, 64px)\"\n })\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"border\", \"background\", \"shadow\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nconst borderColorMap = {\n 'color.border': css({\n borderColor: \"var(--ds-border, #091e4221)\"\n }),\n disabled: css({\n borderColor: \"var(--ds-border-disabled, #FAFBFC)\"\n }),\n focused: css({\n borderColor: \"var(--ds-border-focused, #4C9AFF)\"\n }),\n input: css({\n borderColor: \"var(--ds-border-input, #FAFBFC)\"\n }),\n inverse: css({\n borderColor: \"var(--ds-border-inverse, #FFFFFF)\"\n }),\n selected: css({\n borderColor: \"var(--ds-border-selected, #0052CC)\"\n }),\n brand: css({\n borderColor: \"var(--ds-border-brand, #0052CC)\"\n }),\n danger: css({\n borderColor: \"var(--ds-border-danger, #FF5630)\"\n }),\n warning: css({\n borderColor: \"var(--ds-border-warning, #FFC400)\"\n }),\n success: css({\n borderColor: \"var(--ds-border-success, #00875A)\"\n }),\n discovery: css({\n borderColor: \"var(--ds-border-discovery, #998DD9)\"\n }),\n information: css({\n borderColor: \"var(--ds-border-information, #0065FF)\"\n }),\n bold: css({\n borderColor: \"var(--ds-border-bold, #344563)\"\n })\n};\nconst backgroundColorMap = {\n disabled: css({\n backgroundColor: \"var(--ds-background-disabled, #091e4289)\"\n }),\n input: css({\n backgroundColor: \"var(--ds-background-input, #FAFBFC)\"\n }),\n 'inverse.subtle': css({\n backgroundColor: \"var(--ds-background-inverse-subtle, #00000029)\"\n }),\n neutral: css({\n backgroundColor: \"var(--ds-background-neutral, #DFE1E6)\"\n }),\n 'neutral.subtle': css({\n backgroundColor: \"var(--ds-background-neutral-subtle, transparent)\"\n }),\n 'neutral.bold': css({\n backgroundColor: \"var(--ds-background-neutral-bold, #42526E)\"\n }),\n selected: css({\n backgroundColor: \"var(--ds-background-selected, #DEEBFF)\"\n }),\n 'selected.bold': css({\n backgroundColor: \"var(--ds-background-selected-bold, #0052CC)\"\n }),\n 'brand.bold': css({\n backgroundColor: \"var(--ds-background-brand-bold, #0052CC)\"\n }),\n danger: css({\n backgroundColor: \"var(--ds-background-danger, #FFEBE6)\"\n }),\n 'danger.bold': css({\n backgroundColor: \"var(--ds-background-danger-bold, #DE350B)\"\n }),\n warning: css({\n backgroundColor: \"var(--ds-background-warning, #FFFAE6)\"\n }),\n 'warning.bold': css({\n backgroundColor: \"var(--ds-background-warning-bold, #FFAB00)\"\n }),\n success: css({\n backgroundColor: \"var(--ds-background-success, #E3FCEF)\"\n }),\n 'success.bold': css({\n backgroundColor: \"var(--ds-background-success-bold, #00875A)\"\n }),\n discovery: css({\n backgroundColor: \"var(--ds-background-discovery, #EAE6FF)\"\n }),\n 'discovery.bold': css({\n backgroundColor: \"var(--ds-background-discovery-bold, #5243AA)\"\n }),\n information: css({\n backgroundColor: \"var(--ds-background-information, #DEEBFF)\"\n }),\n 'information.bold': css({\n backgroundColor: \"var(--ds-background-information-bold, #0052CC)\"\n }),\n 'color.blanket': css({\n backgroundColor: \"var(--ds-blanket, #091e4289)\"\n }),\n 'color.blanket.selected': css({\n backgroundColor: \"var(--ds-blanket-selected, #388BFF14)\"\n }),\n 'color.blanket.danger': css({\n backgroundColor: \"var(--ds-blanket-danger, #EF5C4814)\"\n }),\n 'elevation.surface': css({\n backgroundColor: \"var(--ds-surface, #FFFFFF)\"\n }),\n 'elevation.surface.overlay': css({\n backgroundColor: \"var(--ds-surface-overlay, #FFFFFF)\"\n }),\n 'elevation.surface.raised': css({\n backgroundColor: \"var(--ds-surface-raised, #FFFFFF)\"\n }),\n 'elevation.surface.sunken': css({\n backgroundColor: \"var(--ds-surface-sunken, #F4F5F7)\"\n })\n};\nconst shadowMap = {\n overflow: css({\n boxShadow: \"var(--ds-shadow-overflow, 0px 0px 8px #091e423f, 0px 0px 1px #091e424f)\"\n }),\n 'overflow.perimeter': css({\n boxShadow: \"var(--ds-shadow-overflow-perimeter, #091e421f)\"\n }),\n 'overflow.spread': css({\n boxShadow: \"var(--ds-shadow-overflow-spread, #091e4229)\"\n }),\n overlay: css({\n boxShadow: \"var(--ds-shadow-overlay, 0px 8px 12px #091e423f, 0px 0px 1px #091e424f)\"\n }),\n raised: css({\n boxShadow: \"var(--ds-shadow-raised, 0px 1px 1px #091e423f, 0px 0px 1px #091e4221)\"\n })\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId misc\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"layer\"]\n */\nconst layerMap = {\n card: css({\n zIndex: LAYERS['card']\n }),\n navigation: css({\n zIndex: LAYERS['navigation']\n }),\n dialog: css({\n zIndex: LAYERS['dialog']\n }),\n layer: css({\n zIndex: LAYERS['layer']\n }),\n blanket: css({\n zIndex: LAYERS['blanket']\n }),\n modal: css({\n zIndex: LAYERS['modal']\n }),\n flag: css({\n zIndex: LAYERS['flag']\n }),\n spotlight: css({\n zIndex: LAYERS['spotlight']\n }),\n tooltip: css({\n zIndex: LAYERS['tooltip']\n })\n};\n\n/**\n * @codegenEnd\n */","export 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};","import { createContext, useContext } from 'react';\n/**\n * __Surface context__\n *\n * A surface context provides context information on the current background (if set).\n */\nexport const SurfaceContext = /*#__PURE__*/createContext('elevation.surface');\n\n/**\n * __useSurface__\n *\n * Return the current surface. If no parent sets a surface color it falls back to the default surface.\n *\n * @see SurfaceContext\n */\nexport const useSurface = () => {\n return useContext(SurfaceContext);\n};\nSurfaceContext.displayName = 'SurfaceProvider';","/**\n * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n *\n * The color map is used to map a background color token to a matching text color that will meet contrast.\n *\n * @codegen <>\n * @codegenCommand yarn codegen-styles\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nexport default {\n 'neutral.bold': 'inverse',\n 'neutral.bold.hovered': 'inverse',\n 'neutral.bold.pressed': 'inverse',\n 'selected.bold': 'inverse',\n 'selected.bold.hovered': 'inverse',\n 'selected.bold.pressed': 'inverse',\n 'brand.bold': 'inverse',\n 'brand.bold.hovered': 'inverse',\n 'brand.bold.pressed': 'inverse',\n 'danger.bold': 'inverse',\n 'danger.bold.hovered': 'inverse',\n 'danger.bold.pressed': 'inverse',\n 'warning.bold': 'warning.inverse',\n 'warning.bold.hovered': 'warning.inverse',\n 'warning.bold.pressed': 'warning.inverse',\n 'success.bold': 'inverse',\n 'success.bold.hovered': 'inverse',\n 'success.bold.pressed': 'inverse',\n 'discovery.bold': 'inverse',\n 'discovery.bold.hovered': 'inverse',\n 'discovery.bold.pressed': 'inverse',\n 'information.bold': 'inverse',\n 'information.bold.hovered': 'inverse',\n 'information.bold.pressed': 'inverse'\n};","/** @jsx jsx */\nimport { createContext, Fragment, useContext } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport invariant from 'tiny-invariant';\nimport surfaceColorMap from '../internal/color-map';\nimport { useSurface } from './surface-provider';\nconst asAllowlist = ['span', 'div', 'p', 'strong'];\nconst textAlignMap = {\n center: css({\n textAlign: 'center'\n }),\n end: css({\n textAlign: 'end'\n }),\n start: css({\n textAlign: 'start'\n })\n};\nconst textTransformMap = {\n none: css({\n textTransform: 'none'\n }),\n lowercase: css({\n textTransform: 'lowercase'\n }),\n uppercase: css({\n textTransform: 'uppercase'\n })\n};\nconst verticalAlignMap = {\n top: css({\n verticalAlign: 'top'\n }),\n middle: css({\n verticalAlign: 'middle'\n }),\n bottom: css({\n verticalAlign: 'bottom'\n })\n};\nconst baseStyles = css({\n boxSizing: 'border-box',\n margin: \"var(--ds-space-0, 0px)\",\n padding: \"var(--ds-space-0, 0px)\"\n});\nconst truncateStyles = css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n});\n\n/**\n * Custom hook designed to abstract the parsing of the color props and make it clearer in the future how color is reconciled between themes and tokens.\n */\nconst useColor = colorProp => {\n const surface = useSurface();\n const inverseTextColor = surfaceColorMap[surface];\n\n /**\n * Where the color of the surface is inverted we override the user choice\n * as there is no valid choice that is not covered by the override.\n */\n const color = inverseTextColor !== null && inverseTextColor !== void 0 ? inverseTextColor : colorProp;\n return color;\n};\nconst HasTextAncestorContext = /*#__PURE__*/createContext(false);\nconst useHasTextAncestor = () => useContext(HasTextAncestorContext);\n\n/**\n * __Text__\n *\n * Text is a primitive component that has the Atlassian Design System's design guidelines baked in.\n * This includes considerations for text attributes such as color, font size, font weight, and line height.\n * It renders a `span` by default.\n *\n * @internal\n */\nconst Text = ({\n children,\n ...props\n}) => {\n const {\n as: Component = 'span',\n color: colorProp,\n fontSize,\n fontWeight,\n lineHeight,\n shouldTruncate = false,\n textAlign,\n textTransform,\n verticalAlign,\n testId,\n UNSAFE_style,\n id\n } = props;\n invariant(asAllowlist.includes(Component), `@atlaskit/ds-explorations: Text received an invalid \"as\" value of \"${Component}\"`);\n const color = useColor(colorProp);\n const isWrapped = useHasTextAncestor();\n\n /**\n * If the text is already wrapped and applies no props we can just\n * render the children directly as a fragment.\n */\n if (isWrapped && Object.keys(props).length === 0) {\n return jsx(Fragment, null, children);\n }\n const component = jsx(Component, {\n style: UNSAFE_style,\n css: [baseStyles, fontFamilyMap.sans, color && textColorMap[color], fontSize && fontSizeMap[fontSize], fontWeight && fontWeightMap[fontWeight], lineHeight && lineHeightMap[lineHeight], shouldTruncate && truncateStyles, textAlign && textAlignMap[textAlign], textTransform && textTransformMap[textTransform], verticalAlign && verticalAlignMap[verticalAlign]],\n \"data-testid\": testId,\n id: id\n }, children);\n return isWrapped ?\n // no need to re-apply context if the text is already wrapped\n component : jsx(HasTextAncestorContext.Provider, {\n value: true\n }, component);\n};\nexport default Text;\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId typography\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"fontSize\", \"fontWeight\", \"fontFamily\", \"lineHeight\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-typography.tsx <>\n */\nconst fontSizeMap = {\n 'size.050': css({\n fontSize: \"var(--ds-font-size-050, 11px)\"\n }),\n 'size.075': css({\n fontSize: \"var(--ds-font-size-075, 12px)\"\n }),\n 'size.100': css({\n fontSize: \"var(--ds-font-size-100, 14px)\"\n }),\n 'size.200': css({\n fontSize: \"var(--ds-font-size-200, 16px)\"\n }),\n 'size.300': css({\n fontSize: \"var(--ds-font-size-300, 20px)\"\n }),\n 'size.400': css({\n fontSize: \"var(--ds-font-size-400, 24px)\"\n }),\n 'size.500': css({\n fontSize: \"var(--ds-font-size-500, 29px)\"\n }),\n 'size.600': css({\n fontSize: \"var(--ds-font-size-600, 35px)\"\n })\n};\nconst fontWeightMap = {\n bold: css({\n fontWeight: \"var(--ds-font-weight-bold, 700)\"\n }),\n medium: css({\n fontWeight: \"var(--ds-font-weight-medium, 500)\"\n }),\n regular: css({\n fontWeight: \"var(--ds-font-weight-regular, 400)\"\n }),\n semibold: css({\n fontWeight: \"var(--ds-font-weight-semibold, 600)\"\n })\n};\nconst fontFamilyMap = {\n monospace: css({\n fontFamily: \"var(--ds-font-family-monospace, \\\"SFMono-Medium\\\", \\\"SF Mono\\\", \\\"Segoe UI Mono\\\", \\\"Roboto Mono\\\", \\\"Ubuntu Mono\\\", Menlo, Consolas, Courier, monospace)\"\n }),\n sans: css({\n fontFamily: \"var(--ds-font-family-sans, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\", \\\"Ubuntu\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", sans-serif)\"\n })\n};\nconst lineHeightMap = {\n 'lineHeight.100': css({\n lineHeight: \"var(--ds-font-lineHeight-100, 16px)\"\n }),\n 'lineHeight.200': css({\n lineHeight: \"var(--ds-font-lineHeight-200, 20px)\"\n }),\n 'lineHeight.300': css({\n lineHeight: \"var(--ds-font-lineHeight-300, 24px)\"\n }),\n 'lineHeight.400': css({\n lineHeight: \"var(--ds-font-lineHeight-400, 28px)\"\n }),\n 'lineHeight.500': css({\n lineHeight: \"var(--ds-font-lineHeight-500, 32px)\"\n }),\n 'lineHeight.600': css({\n lineHeight: \"var(--ds-font-lineHeight-600, 40px)\"\n })\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"text\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nconst textColorMap = {\n 'color.text': css({\n color: \"var(--ds-text, #172B4D)\"\n }),\n disabled: css({\n color: \"var(--ds-text-disabled, #A5ADBA)\"\n }),\n inverse: css({\n color: \"var(--ds-text-inverse, #FFFFFF)\"\n }),\n selected: css({\n color: \"var(--ds-text-selected, #0052CC)\"\n }),\n brand: css({\n color: \"var(--ds-text-brand, #0065FF)\"\n }),\n danger: css({\n color: \"var(--ds-text-danger, #DE350B)\"\n }),\n warning: css({\n color: \"var(--ds-text-warning, #974F0C)\"\n }),\n 'warning.inverse': css({\n color: \"var(--ds-text-warning-inverse, #172B4D)\"\n }),\n success: css({\n color: \"var(--ds-text-success, #006644)\"\n }),\n discovery: css({\n color: \"var(--ds-text-discovery, #403294)\"\n }),\n information: css({\n color: \"var(--ds-text-information, #0052CC)\"\n }),\n subtlest: css({\n color: \"var(--ds-text-subtlest, #7A869A)\"\n }),\n subtle: css({\n color: \"var(--ds-text-subtle, #42526E)\"\n })\n};\n\n/**\n * @codegenEnd\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","/* eslint-disable @atlassian/tangerine/import/entry-points */\n/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n/* eslint-disable @atlaskit/design-system/no-unsafe-design-token-usage */\n\nimport React, { memo } from 'react';\nimport Box from '@atlaskit/ds-explorations/box';\nimport Text from '@atlaskit/ds-explorations/text';\n/**\n * __Lozenge__\n *\n * A lozenge is a visual indicator used to highlight an item's status for quick recognition.\n *\n * - [Examples](https://atlassian.design/components/lozenge/examples)\n * - [Code](https://atlassian.design/components/lozenge/code)\n * - [Usage](https://atlassian.design/components/lozenge/usage)\n */\nconst Lozenge = /*#__PURE__*/memo(({\n children,\n testId,\n isBold = false,\n appearance = 'default',\n maxWidth = 200,\n style\n}) => {\n const appearanceStyle = isBold ? 'bold' : 'subtle';\n const appearanceType = appearance in backgroundColors[appearanceStyle] ? appearance : 'default';\n const maxWidthValue = typeof maxWidth === 'string' ? maxWidth : `${maxWidth}px`;\n const maxWidthIsPc = typeof maxWidth === 'string' && /%$/.test(maxWidth);\n return /*#__PURE__*/React.createElement(Box, {\n as: \"span\",\n display: \"inlineFlex\",\n backgroundColor: backgroundColors[appearanceStyle][appearanceType],\n borderRadius: \"normal\",\n paddingInline: \"space.050\",\n position: \"static\",\n testId: testId,\n overflow: \"hidden\",\n UNSAFE_style: {\n backgroundColor: style === null || style === void 0 ? void 0 : style.backgroundColor,\n maxWidth: maxWidthIsPc ? maxWidth : '100%'\n }\n }, /*#__PURE__*/React.createElement(Text, {\n fontSize: \"size.050\",\n fontWeight: \"bold\",\n lineHeight: \"lineHeight.100\",\n textTransform: \"uppercase\",\n color: textColors[appearanceStyle][appearanceType],\n shouldTruncate: true,\n UNSAFE_style: {\n color: style === null || style === void 0 ? void 0 : style.color,\n // to negate paddingInline specified on Box above\n maxWidth: maxWidthIsPc ? '100%' : `calc(${maxWidthValue} - ${\"var(--ds-space-100, 8px)\"})`\n },\n testId: testId && `${testId}--text`\n }, children));\n});\nLozenge.displayName = 'Lozenge';\nexport default Lozenge;\n\n// Lozenge colors\nconst backgroundColors = {\n bold: {\n default: 'neutral.bold',\n inprogress: 'information.bold',\n moved: 'warning.bold',\n new: 'discovery.bold',\n removed: 'danger.bold',\n success: 'success.bold'\n },\n subtle: {\n default: 'neutral',\n inprogress: 'information',\n moved: 'warning',\n new: 'discovery',\n removed: 'danger',\n success: 'success'\n }\n};\nconst textColors = {\n bold: {\n default: 'inverse',\n inprogress: 'inverse',\n moved: 'warning.inverse',\n new: 'inverse',\n removed: 'inverse',\n success: 'inverse'\n },\n subtle: {\n default: 'subtle',\n inprogress: 'information',\n moved: 'warning',\n new: 'discovery',\n removed: 'danger',\n success: 'success'\n }\n};","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 { 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","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","/* 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","/**\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;","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;","/*\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;","'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>foo`) */\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 \"\"\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 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","/* 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 GUARD = 'com.atlassian.identity-manager'\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 { B200, 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', '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, ${B200})`, 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: () => 9999\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}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\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', B200)` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B200})`,\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 \n )}\n {!modalTargetId && (\n {message}\n )}\n \n {isLabelPresent && (\n \n \n \n \n \n )}\n \n );\n};\n\nconst FeatureMessageContainer = styled.div`\n display: flex;\n padding-left: 18px;\n padding-top: 16px;\n\n button {\n background: none;\n border: none;\n color: ${B300};\n cursor: pointer;\n font-family: 'Charlie Text';\n font-size: 16px;\n font-weight: 400;\n padding-left: 4px;\n text-align: left;\n text-decoration: underline;\n text-decoration-style: dashed;\n text-decoration-thickness: 1px;\n text-underline-offset: 3px;\n\n &:hover {\n color: ${B500};\n }\n }\n`;\n\nconst MessageWithoutUnderline = styled.div`\n color: ${N900};\n padding-left: 4px;\n`;\n\nconst Label = styled.div`\n border-radius: 4px;\n font-size: 11px;\n font-weight: normal;\n line-height: 16px;\n text-align: center;\n text-transform: uppercase;\n`;\n\nconst LabelContainer = styled.div`\n padding-left: 46px;\n`;\n\nexport { FeatureMessage };\n","import { B400, N10, N40, N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React, { PropsWithChildren } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useDesktopMediaQuery } from '../../hooks';\nimport { FeatureMessage } from '../feature-message';\n\nexport type PlanCardProps = {\n first?: boolean;\n last?: boolean;\n rightHighlighted?: boolean;\n highlighted?: boolean;\n planName: string;\n ctaButton: React.ReactNode;\n featureMessagePlanName?: string;\n planFeatureMessages?: {\n message: string;\n modalTargetId?: string;\n isLabelPresent?: boolean;\n }[];\n bestSellingLabelFeatureFlag?: boolean;\n};\n\nconst PlanCard = ({\n first = false,\n last = false,\n highlighted = false,\n planName,\n ctaButton,\n featureMessagePlanName,\n planFeatureMessages,\n bestSellingLabelFeatureFlag = false,\n children\n}: PropsWithChildren) => {\n const isMobile = !useDesktopMediaQuery();\n const showBestSellingLabel =\n bestSellingLabelFeatureFlag && planName === 'Standard' && highlighted;\n\n if (isMobile) {\n first = last = true;\n }\n\n const baseBorderStyles = `\n border-color: ${highlighted ? B400 : N40};\n border-left-width: 1px;\n border-right-width: 1px;\n border-top-width: 0;\n border-bottom-width: 0;\n border-style: solid;\n `;\n\n return (\n <>\n {bestSellingLabelFeatureFlag && (\n
\n \n \n \n
\n )}\n\n \n \n {planName}\n \n \n\n \n {children}\n\n {ctaButton}\n \n\n {planFeatureMessages && planFeatureMessages.length > 0 && (\n \n {featureMessagePlanName && (\n \n \n \n )}\n {planFeatureMessages.map((featureMessage, index) => (\n
\n \n
\n ))}\n \n )}\n \n );\n};\n\nconst BestSellingLabel = styled.div<{\n planName: string;\n highlighted: boolean;\n}>`\n background-color: ${B400};\n border-radius: 8px 8px 0px 0px;\n color: white;\n font-family: Charlie Text;\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n grid-row: 1;\n line-height: 24px;\n padding-top: 6px;\n text-align: center;\n\n visibility: ${(props) =>\n props.planName === 'Standard' && props.highlighted ? 'visible' : 'hidden'};\n`;\n\nconst Header = styled.div<{\n first: boolean;\n last: boolean;\n highlighted: boolean;\n baseBorderStyles: string;\n bestSellingFeatureFlag: boolean;\n showBestSellingLabel: boolean;\n}>`\n ${(props) => props.baseBorderStyles}\n background-color: ${(props) =>\n props.highlighted\n ? props.bestSellingFeatureFlag\n ? '#F2F7FE'\n : B400\n : N10};\n border-top-left-radius: ${(props) =>\n props.first && !props.showBestSellingLabel ? '8' : '0'}px;\n border-top-right-radius: ${(props) =>\n props.last && !props.showBestSellingLabel ? '8' : '0'}px;\n font-size: 16px;\n grid-row: 2;\n line-height: 24px;\n padding: 20px 25px 20px;\n text-align: center;\n border-top: ${(props) =>\n props.highlighted ? `8px solid ${B400}` : `1px solid ${N40}`}};\n`;\n\nconst PlanMessagingContainer = styled.div<{\n highlighted: boolean;\n baseBorderStyles: string;\n first: boolean;\n last: boolean;\n planFeatureMessagesLength: number | undefined;\n isMobile: boolean;\n bestSellingFeatureFlag?: boolean;\n}>`\n ${(props) => props.baseBorderStyles}\n background-color: ${(props) => (props.highlighted ? '#F1F7FF' : 'white')};\n border-bottom-left-radius: ${(props) =>\n !props.planFeatureMessagesLength && props.first ? '8' : '0'}px;\n border-bottom-right-radius: ${(props) =>\n !props.planFeatureMessagesLength && props.last ? '8' : '0'}px;\n border-bottom-width: ${(props) =>\n props.bestSellingFeatureFlag && props.highlighted ? '0' : '1px'};\n display: flex;\n flex-direction: column;\n grid-row: 3;\n margin-bottom: ${(props) =>\n props.isMobile && !props.planFeatureMessagesLength ? '25' : '0'}px;\n padding: 0 20px;\n text-align: center;\n`;\n\nconst CTAButtonContainer = styled.div`\n margin-bottom: 32px;\n`;\n\nconst PlanName = styled.h3<{\n highlighted: boolean;\n bestSellingFeatureFlag?: boolean;\n}>`\n color: ${(props) =>\n props.highlighted\n ? props.bestSellingFeatureFlag\n ? B400\n : 'white'\n : N900} !important;\n font-size: 24px;\n font-weight: 600;\n line-height: 32px;\n margin: 0 0 8px;\n padding: 0;\n`;\n\nconst FeatureMessagesList = styled.div<{\n first: boolean;\n last: boolean;\n baseBorderStyles: string;\n highlighted: boolean;\n isMobile: boolean;\n}>`\n ${(props) => props.baseBorderStyles}\n background: white;\n border-bottom: 1px solid ${(props) => (props.highlighted ? B400 : N40)};\n border-bottom-left-radius: ${(props) => (props.first ? '8' : '0')}px;\n border-bottom-right-radius: ${(props) => (props.last ? '8' : '0')}px;\n font-size: 16px;\n grid-row: 4;\n line-height: 24px;\n margin-bottom: ${(props) => (props.isMobile ? '25' : '0')}px;\n padding-bottom: 20px;\n padding-right: 20px;\n`;\n\nconst FeatureMessageTitle = styled.div`\n font-weight: 700;\n padding: 16px 0 0 46px;\n`;\n\nexport { PlanCard };\n","import Button from '@atlaskit/button';\nimport { B400 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React, { PropsWithChildren } from 'react';\n\nexport type CTAButtonProps = {\n highlighted?: boolean;\n disabled?: boolean;\n onClickHandler: () => void;\n};\n\nconst CTAButton = ({\n highlighted = false,\n disabled = false,\n onClickHandler,\n children\n}: PropsWithChildren) => {\n const style: React.CSSProperties = {\n border: !highlighted && !disabled ? `1px solid ${B400}` : 'none',\n font: 'Charlie Text',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '20px',\n height: 'auto',\n textDecoration: 'none',\n width: 'fit-content',\n whiteSpace: 'normal',\n paddingTop: '8px',\n paddingBottom: '8px'\n };\n\n if (disabled) {\n style.backgroundColor = 'rgba(9, 30, 66, 0.04)';\n }\n\n return (\n \n onClickHandler()}\n isDisabled={disabled}\n style={style}\n >\n {children}\n \n \n );\n};\n\nconst ButtonWrapper = styled.div`\n span {\n white-space: normal;\n }\n`;\n\nexport { CTAButton };\n","import React from 'react';\nimport ExitingPersistence from '@atlaskit/motion/exiting-persistence';\n\n/**\n * __Modal transition__\n *\n * A modal transition wraps a modal to provide a fluid transition upon opening and closing.\n *\n * - [Examples](https://atlassian.design/components/modal-dialog/examples)\n * - [Code](https://atlassian.design/components/modal-dialog/code)\n * - [Usage](https://atlassian.design/components/modal-dialog/usage)\n */\nconst ModalTransition = props => {\n return /*#__PURE__*/React.createElement(ExitingPersistence, {\n appear: true\n }, props.children);\n};\nexport default ModalTransition;","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}","/**\n * An empty function which does nothing.\n */\n// eslint-disable-next-line @repo/internal/react/use-noop\nexport default function noop() {}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, 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', '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, ${B200})`, 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: () => 9999\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}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\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', B200)` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B200})`,\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 { N30, R400, text, Y400 } from '@atlaskit/theme/colors';\nimport { borderRadius as getBorderRadius,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nexport const width = {\n values: ['small', 'medium', 'large', 'x-large'],\n widths: {\n small: 400,\n medium: 600,\n large: 800,\n 'x-large': 968\n },\n defaultValue: 'medium'\n};\nexport const gutter = 60;\nconst gridSize = getGridSize();\nexport const borderRadius = getBorderRadius();\nexport const verticalOffset = gridSize * 2;\nexport const padding = gridSize * 3;\nexport const titleIconMargin = gridSize;\nexport const keylineHeight = 2;\nexport const keylineColor = `var(--ds-border, ${N30})`;\nexport const textColor = `var(--ds-text, ${text()})`;\nexport const iconColor = {\n danger: `var(--ds-icon-danger, ${R400})`,\n warning: `var(--ds-icon-warning, ${Y400})`\n};","/* eslint-disable @repo/internal/react/require-jsdoc */\nimport { createContext } from 'react';\nexport const ModalContext = /*#__PURE__*/createContext(null);\nexport const ScrollContext = /*#__PURE__*/createContext(null);","import { width } from './constants';\nexport const dialogWidth = input => {\n if (!input) {\n return 'auto';\n }\n const isWidthName = width.values.indexOf(input.toString()) !== -1;\n const widthName = isWidthName && input;\n if (widthName) {\n return `${width.widths[widthName]}px`;\n }\n return typeof input === 'number' ? `${input}px` : input;\n};\nexport const dialogHeight = input => {\n if (!input) {\n return 'auto';\n }\n return typeof input === 'number' ? `${input}px` : input;\n};","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage-spacing */\n/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { easeInOut } from '@atlaskit/motion/curves';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { layers } from '@atlaskit/theme/constants';\nimport { gutter, verticalOffset } from '../constants';\nconst maxWidthDimensions = `calc(100vw - ${gutter * 2}px)`;\nconst maxHeightDimensions = `calc(100vh - ${gutter * 2 - 1}px)`;\n\n// Flex and min-content are set to constrain the height of the body and support multi-column scrolling experiences\nconst positionerStyles = css({\n display: 'flex',\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n position: 'fixed',\n zIndex: layers.modal(),\n top: 0,\n left: 0,\n flexDirection: 'column'\n});\nconst viewportScrollStyles = css({\n height: 'auto',\n position: 'relative',\n '@media (min-width: 480px)': {\n margin: `${gutter}px auto`,\n pointerEvents: 'none'\n }\n});\nconst bodyScrollStyles = css({\n '@media (min-width: 480px)': {\n maxWidth: maxWidthDimensions,\n maxHeight: maxHeightDimensions,\n marginRight: 'auto',\n marginLeft: 'auto',\n position: 'absolute',\n top: `${gutter}px`,\n right: 0,\n left: 0,\n pointerEvents: 'none'\n }\n});\nconst stackTransitionStyles = css({\n transitionDuration: `${mediumDurationMs}ms`,\n transitionProperty: 'transform',\n transitionTimingFunction: easeInOut,\n /**\n * Duplicated from @atlaskit/motion/accessibility\n * because @repo/internal/styles/consistent-style-ordering\n * doesn't work well with object spreading.\n */\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n transition: 'none'\n }\n});\nconst stackTransformStyles = css({\n transform: 'translateY(var(--modal-dialog-translate-y))'\n});\nconst stackIdleStyles = css({\n transform: 'none'\n});\nconst Positioner = props => {\n const {\n children,\n stackIndex,\n shouldScrollInViewport,\n testId\n } = props;\n return jsx(\"div\", {\n style: {\n '--modal-dialog-translate-y': `${stackIndex * (verticalOffset / 2)}px`\n },\n css: [positionerStyles, stackTransitionStyles, /* We only want to apply transform on modals shifting to the back of the stack. */\n stackIndex > 0 ? stackTransformStyles : stackIdleStyles, shouldScrollInViewport ? viewportScrollStyles : bodyScrollStyles],\n \"data-testid\": testId && `${testId}--positioner`\n }, children);\n};\n\n// eslint-disable-next-line @repo/internal/react/require-jsdoc\nexport default Positioner;","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { useMemo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useUID } from 'react-uid';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\nimport FadeIn from '@atlaskit/motion/fade-in';\nimport { N0, N30A, N60A } from '@atlaskit/theme/colors';\nimport { borderRadius, textColor } from '../constants';\nimport { ModalContext, ScrollContext } from '../context';\nimport useOnMotionFinish from '../hooks/use-on-motion-finish';\nimport { dialogHeight, dialogWidth } from '../utils';\nimport Positioner from './positioner';\nconst dialogStyles = css({\n display: 'flex',\n width: '100%',\n maxWidth: '100vw',\n height: '100%',\n minHeight: 0,\n maxHeight: '100vh',\n // Flex-grow set to 0 to prevent this element from filling its parent flexbox container\n flex: '0 1 auto',\n flexDirection: 'column',\n backgroundColor: `var(--ds-surface-overlay, ${N0})`,\n color: textColor,\n pointerEvents: 'auto',\n '@media (min-width: 480px)': {\n width: 'var(--modal-dialog-width)',\n maxWidth: 'inherit',\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n marginRight: 'inherit',\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n marginLeft: 'inherit',\n borderRadius,\n boxShadow: `var(--ds-shadow-overlay, ${`0 0 0 1px ${N30A}, 0 2px 1px ${N30A}, 0 0 20px -6px ${N60A}`})`\n },\n /**\n * This is to support scrolling if the modal's children are wrapped in\n * a form.\n */\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '& > form:only-child': {\n display: 'inherit',\n maxHeight: 'inherit',\n flexDirection: 'inherit'\n }\n});\nconst viewportScrollStyles = css({\n /**\n * This ensures that the element fills the viewport on mobile\n * while also allowing it to overflow if its height is larger than\n * the viewport.\n */\n minHeight: '100vh',\n maxHeight: 'none',\n '@media (min-width: 480px)': {\n minHeight: 'var(--modal-dialog-height)'\n }\n});\nconst bodyScrollStyles = css({\n '@media (min-width: 480px)': {\n height: 'var(--modal-dialog-height)',\n maxHeight: 'inherit'\n }\n});\nconst ModalDialog = props => {\n const {\n width = 'medium',\n shouldScrollInViewport = false,\n autoFocus,\n stackIndex,\n onClose,\n onCloseComplete,\n onOpenComplete,\n height,\n children,\n testId\n } = props;\n const id = useUID();\n const titleId = `modal-dialog-title-${id}`;\n useAutoFocus(typeof autoFocus === 'object' ? autoFocus : undefined,\n // When a user supplies a ref to focus we enable this hook\n typeof autoFocus === 'object');\n const [motionRef, onMotionFinish] = useOnMotionFinish({\n onOpenComplete,\n onCloseComplete\n });\n const modalDialogContext = useMemo(() => ({\n testId,\n titleId,\n onClose\n }), [testId, titleId, onClose]);\n return jsx(Positioner, {\n stackIndex: stackIndex,\n shouldScrollInViewport: shouldScrollInViewport,\n testId: testId\n }, jsx(ModalContext.Provider, {\n value: modalDialogContext\n }, jsx(ScrollContext.Provider, {\n value: shouldScrollInViewport\n }, jsx(FadeIn, {\n entranceDirection: \"bottom\",\n onFinish: onMotionFinish\n }, bottomFadeInProps => jsx(FocusRing, null, jsx(\"section\", _extends({}, bottomFadeInProps, {\n ref: mergeRefs([bottomFadeInProps.ref, motionRef]),\n style: {\n '--modal-dialog-width': dialogWidth(width),\n '--modal-dialog-height': dialogHeight(height)\n },\n css: [dialogStyles, shouldScrollInViewport ? viewportScrollStyles : bodyScrollStyles],\n role: \"dialog\",\n \"aria-labelledby\": titleId,\n \"data-testid\": testId,\n \"data-modal-stack\": stackIndex,\n tabIndex: -1,\n \"aria-modal\": true\n }), children))))));\n};\n\n// eslint-disable-next-line @repo/internal/react/require-jsdoc\nexport default ModalDialog;","import { useEffect, useRef } from 'react';\n\n/**\n * Focusing on the passed element ref after initial mount.\n * Will only focus on initial mount.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/autofocus\n *\n * ```tsx\n * import useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\n *\n * const elementRef = useRef();\n * useAutoFocus(elementRef, true);\n *\n * \n );\n })}\n \n \n )}\n \n );\n};\n\nconst ModalHeader = styled.h4`\n font-family: Charlie Display;\n font-size: 20px;\n font-weight: 600;\n line-height: 24px;\n margin: 26px 24px 12px 24px;\n`;\n\nconst ModalBody = styled.div`\n font-family: Charlie Text;\n font-size: 14px;\n line-height: 20px;\n margin: 0 24px;\n\n a {\n -webkit-appearance: none;\n color: ${B400};\n outline: none;\n text-decoration: none;\n }\n`;\n\nconst ModalFooter = styled.div`\n font-family: Charlie Text;\n margin: 24px 24px;\n overflow: auto;\n\n button {\n float: right;\n line-height: 36px !important;\n margin: 2px 2px 2px 6px;\n }\n`;\n","import { PricingPeriod } from '@atlassiansox/bxp-use-pricing';\nimport React, { ReactNode } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport {\n Annual,\n CenterJustifiedContainer,\n EnterpriseAnnualBillingMessage,\n EnterpriseContact,\n EnterpriseNoJPY,\n EnterpriseUnmetMin,\n Free,\n Monthly,\n SpecialPlanNames,\n SpecialProductKeys\n} from '../..';\nimport { usePriceFinderStore } from '../../store';\n\ntype PlanCardBodyProps = {\n billingCycle: PricingPeriod;\n fontSize: string;\n overSignupLimit: boolean;\n planName: string;\n currencyISOCode: string;\n unitCount: number;\n unitMinEnterprise: number;\n productKey: string;\n priceCalcIdx: number;\n contactURL: string;\n};\n\nconst PlanCardBody = ({\n billingCycle,\n fontSize,\n overSignupLimit,\n planName,\n currencyISOCode,\n unitCount,\n unitMinEnterprise,\n productKey,\n priceCalcIdx,\n contactURL\n}: PlanCardBodyProps) => {\n const [{ priceCalcs }, actions] = usePriceFinderStore();\n const priceCalc = priceCalcs[priceCalcIdx];\n\n if (!priceCalc) {\n throw new Error(\n `Price calculation was not found for index ${priceCalcIdx}`\n );\n }\n\n const { formattedTotalPrice } = priceCalc;\n\n let planMessage =\n billingCycle === 'MONTHLY' ? (\n \n ) : (\n \n );\n\n if (overSignupLimit && productKey === SpecialProductKeys.BITBUCKET) {\n planMessage = (\n \n contact our sales team.
\"\n values={{\n a: (chunks: ReactNode) => {chunks}\n }}\n />\n \n );\n } else if (overSignupLimit) {\n planMessage = (\n \n \n \n );\n }\n\n if (\n planName === SpecialPlanNames.PREMIUM &&\n productKey === SpecialProductKeys.GUARD\n ) {\n planMessage = (\n \n \n \n );\n }\n\n switch (planName) {\n case SpecialPlanNames.FREE:\n planMessage = (\n \n );\n break;\n\n case SpecialPlanNames.ENTERPRISE:\n if (billingCycle === 'MONTHLY') {\n planMessage = (\n actions.updateBillingCycle('ANNUAL')}\n />\n );\n } else if (currencyISOCode === 'JPY') {\n planMessage = ;\n } else if (overSignupLimit) {\n planMessage = ;\n } else if (unitCount < unitMinEnterprise) {\n planMessage = (\n \n );\n }\n break;\n }\n return planMessage;\n};\n\nexport { PlanCardBody };\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport styled from '@emotion/styled';\nimport React, { LegacyRef, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useDesktopMediaQuery } from '../../hooks';\nimport { ProductPlan } from '../../models';\nimport { usePriceFinderStore } from '../../store';\nimport {\n DefaultPlanLimits,\n deviceMediaQueries,\n SpecialPlanNames,\n SpecialProductKeys,\n TRACKING_EVENT_NAMES\n} from '../../utils';\nimport { CTAButton } from '../cta-button';\nimport { ModalRedirectConfirm } from '../modal-redirect-confirm';\nimport { PlanCard } from './plan-card';\nimport { PlanCardBody } from './plan-card-body';\n\ntype PlanCardsContainerProps = {\n productKey: string;\n productPlans: ProductPlan[];\n recommendedPlanName: string;\n signupURL: string;\n contactURL: string;\n currencyISOCode: string;\n fontSize: string;\n cardRef: LegacyRef;\n unitLimitFree: number;\n unitMinEnterprise: number;\n bestSellingLabelFeatureFlag?: boolean;\n registerInterestUrl: string;\n};\n\nconst PlanCardsContainer = ({\n productKey,\n productPlans,\n recommendedPlanName,\n signupURL,\n contactURL,\n currencyISOCode,\n fontSize,\n cardRef,\n unitLimitFree,\n unitMinEnterprise,\n bestSellingLabelFeatureFlag,\n registerInterestUrl\n}: PlanCardsContainerProps) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const isDesktop = useDesktopMediaQuery();\n const [showModal, setShowModal] = useState(false);\n const [state] = usePriceFinderStore();\n\n return (\n \n \n {productPlans.map((productPlan, idx, productPlans) => {\n const {\n planName,\n signupURLSuffix,\n planFeatureMessages,\n signupUnitLimit\n } = productPlan;\n\n const isHighlighted = planName === recommendedPlanName;\n const isRightHighlighted =\n isDesktop &&\n ((isHighlighted && idx === 0) ||\n productPlans[idx + 1]?.planName === recommendedPlanName);\n\n const overSignupLimit =\n state.unitCount > (signupUnitLimit || DefaultPlanLimits.UNIT_LIMIT);\n\n let ctaButton = (\n {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.planCardCTAButtonClicked,\n label: `${planName}-start-trial`,\n userBoxValue: state.unitCount\n });\n analyticsEvent.fire();\n\n window.location.href = signupURL + (signupURLSuffix || '');\n }}\n >\n \n \n );\n\n if (\n planName === SpecialPlanNames.PREMIUM &&\n productKey === SpecialProductKeys.GUARD\n ) {\n ctaButton = (\n {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.planCardCTAButtonClicked,\n label: `${planName}-register-interest`,\n userBoxValue: state.unitCount\n });\n analyticsEvent.fire();\n\n window.location.href = registerInterestUrl;\n }}\n >\n \n \n );\n }\n\n switch (planName) {\n case SpecialPlanNames.FREE:\n ctaButton = (\n {\n if (state.unitCount > unitLimitFree) {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.unitLimitBreachModal\n });\n analyticsEvent.fire();\n\n setShowModal(true);\n } else {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.planCardCTAButtonClicked,\n label: `${planName}-get-it-now`,\n userBoxValue: state.unitCount\n });\n analyticsEvent.fire();\n\n window.location.href =\n signupURL + (signupURLSuffix || '');\n }\n }}\n >\n \n \n );\n break;\n\n case SpecialPlanNames.ENTERPRISE:\n ctaButton = (\n {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.planCardCTAButtonClicked,\n label: `${planName}-contact-sales`,\n userBoxValue: state.unitCount\n });\n analyticsEvent.fire();\n\n window.location.href = contactURL;\n }}\n >\n \n \n );\n break;\n }\n\n return (\n \n \n \n );\n })}\n \n \n \n );\n};\n\nconst ComponentWrapper = styled.div<{\n productPlansLength: number;\n}>`\n display: grid;\n ${deviceMediaQueries.desktop} {\n ${(props) =>\n props.productPlansLength <= 2 ? 'justify-content:center' : ''}\n }\n`;\n\nconst CardsContainer = styled.div<{\n productPlansLength: number;\n}>`\n margin-top: 16px;\n\n ${deviceMediaQueries.desktop} {\n display: grid;\n grid-template-columns: repeat(\n ${(props) => props.productPlansLength},\n minmax(0, ${(props) => (props.productPlansLength >= 3 ? '1fr' : '390px')})\n );\n grid-template-rows: 1fr;\n margin-top: 25px;\n }\n`;\n\nexport { PlanCardsContainer };\n","import styled from '@emotion/styled';\nimport React, { PropsWithChildren } from 'react';\n\nexport const CenterJustifiedContainer = ({\n children\n}: PropsWithChildren) => {children};\n\nconst CenterJustified = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n justify-content: center;\n line-height: 24px;\n`;\n","import { N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nexport type PriceDisplayProps = {\n readonly formattedPrice: string;\n readonly fontSize: string;\n readonly planName: string;\n};\n\nexport const PriceDisplay = ({\n formattedPrice,\n fontSize,\n planName\n}: PriceDisplayProps) => (\n \n \n {formattedPrice}\n \n \n);\n\nconst FormattedPriceDisplay = styled.div`\n align-self: center;\n color: ${N900};\n font-family: Charlie Display;\n font-size: 54px;\n font-weight: 500;\n line-height: 54px;\n margin: 24px 0 8px;\n`;\n","import { FormattedPriceCalculationResponse } from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { UserTier } from '../../user-tier';\nimport { CenterJustifiedContainer } from './center-justified-container';\nimport { PriceDisplay } from './price-display';\n\nexport type AnnualProps = {\n readonly priceCalc: FormattedPriceCalculationResponse;\n readonly fontSize: string;\n readonly planName: string;\n};\n\nexport const Annual = ({ priceCalc, fontSize, planName }: AnnualProps) => (\n <>\n \n \n \n \n \n \n \n \n \n \n);\n\nconst PriceDesc = styled.div`\n font-size: 16px;\n line-height: 24px;\n`;\n\nconst UserTierContainer = styled.div`\n margin: 15px 0 32px;\n`;\n","import styled from '@emotion/styled';\nimport React, { PropsWithChildren } from 'react';\nimport { useDesktopMediaQuery } from '../../../../hooks';\n\nexport const MobileVerticallyPaddedContainer = ({\n children\n}: PropsWithChildren) => {\n const isMobile = !useDesktopMediaQuery();\n\n return {children};\n};\n\nconst MobilePadded = styled.div<{\n isMobile: boolean;\n}>`\n padding: ${(props) => (props.isMobile ? '32px 0' : '0')};\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { CenterJustifiedContainer } from '../center-justified-container';\nimport { MobileVerticallyPaddedContainer } from './mobile-vertically-padded-container';\n\nconst EnterpriseContact = () => (\n \n \n \n \n \n);\n\nexport { EnterpriseContact };\n","import { B300, B500 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React, { ReactNode } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { CenterJustifiedContainer } from '../center-justified-container';\nimport { MobileVerticallyPaddedContainer } from './mobile-vertically-padded-container';\n\nexport type EnterpriseAnnualBillingMessageProps = {\n onToggleToAnnualBilling: () => void;\n};\n\nconst EnterpriseAnnualBillingMessage = ({\n onToggleToAnnualBilling\n}: EnterpriseAnnualBillingMessageProps) => (\n \n \n Billed annually. Switch the Billing cycle to Annual to view Enterprise pricing.\"\n values={{\n a: (chunks: ReactNode) => (\n {\n e.preventDefault();\n onToggleToAnnualBilling();\n }}\n >\n {chunks}\n \n )\n }}\n >\n \n \n);\n\nconst StyledBilledAnnual = styled.a`\n color: ${B300};\n &:hover {\n color: ${B500};\n }\n`;\n\nexport { EnterpriseAnnualBillingMessage };\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { CenterJustifiedContainer } from '../center-justified-container';\nimport { MobileVerticallyPaddedContainer } from './mobile-vertically-padded-container';\n\nconst EnterpriseNoJPY = () => (\n \n \n \n \n \n);\n\nexport { EnterpriseNoJPY };\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { CenterJustifiedContainer } from '../center-justified-container';\nimport { MobileVerticallyPaddedContainer } from './mobile-vertically-padded-container';\n\nexport type EnterpriseUnmetMinProps = {\n minRequiredUnits: number;\n};\n\nconst EnterpriseUnmetMin = ({ minRequiredUnits }: EnterpriseUnmetMinProps) => (\n \n \n \n \n \n);\n\nexport { EnterpriseUnmetMin };\n","import { N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { CenterJustifiedContainer } from './center-justified-container';\nimport { PriceDisplay } from './price-display';\n\nexport type FreeProps = {\n formattedZeroPrice: string;\n fontSize: string;\n planName: string;\n};\n\nexport const Free = ({ planName, formattedZeroPrice, fontSize }: FreeProps) => (\n <>\n \n \n \n \n \n \n \n \n \n \n);\n\nconst PriceDesc = styled.div`\n font-size: 16px;\n line-height: 24px;\n`;\n\nconst MonthlyDesc = styled.div`\n color: ${N900};\n font-size: 16px;\n font-weight: bold;\n line-height: 24px;\n margin-bottom: 32px;\n`;\n","import { N900 } from '@atlaskit/theme/colors';\nimport { FormattedPriceCalculationResponse } from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { CenterJustifiedContainer } from './center-justified-container';\nimport { PriceDisplay } from './price-display';\n\nexport type MonthlyProps = {\n readonly priceCalc: FormattedPriceCalculationResponse;\n readonly fontSize: string;\n readonly planName: string;\n};\n\nexport const Monthly = ({ priceCalc, fontSize, planName }: MonthlyProps) => {\n const { formattedTotalPrice, formattedAvgPerUnitPrice } = priceCalc;\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nconst PriceDescLine1 = styled.div`\n font-size: 16px;\n line-height: 24px;\n`;\n\nconst PriceDescLine2 = styled.div`\n color: ${N900};\n font-size: 16px;\n font-weight: 500;\n line-height: 24px;\n margin-bottom: 32px;\n`;\n","import { FormattedPriceCalculationResponse } from '@atlassiansox/bxp-use-pricing';\nimport { useFitText } from '../hooks';\nimport { usePriceFinderStore } from '../store';\n\nexport const useFitPriceTextIntoPlanCard = () => {\n const { fontSize, ref } = useFitText({ resolution: 5 });\n const [{ billingCycle, priceCalcs }] = usePriceFinderStore();\n\n const sortOnTotal = (\n { formattedTotalPrice: priceA }: FormattedPriceCalculationResponse,\n { formattedTotalPrice: priceB }: FormattedPriceCalculationResponse\n ) => priceB.length - priceA.length;\n\n const sortOnAvg = (\n { formattedAvgPerUnitPrice: priceA }: FormattedPriceCalculationResponse,\n { formattedAvgPerUnitPrice: priceB }: FormattedPriceCalculationResponse\n ) => priceB.length - priceA.length;\n\n let highestDisplayPrice = '$0';\n const getPrice = (\n sortOn: (\n a: FormattedPriceCalculationResponse,\n b: FormattedPriceCalculationResponse\n ) => number\n ) => priceCalcs.slice().sort(sortOn)[0];\n\n if (priceCalcs.length) {\n if (billingCycle === 'MONTHLY') {\n highestDisplayPrice = getPrice(sortOnAvg)?.formattedAvgPerUnitPrice || '';\n } else {\n highestDisplayPrice = getPrice(sortOnTotal)?.formattedTotalPrice || '';\n }\n }\n\n return { ref, fontSize, highestDisplayPrice };\n};\n","import React, { useEffect } from 'react';\nimport { useFitPriceTextIntoPlanCard } from '../hooks/use-fit-price-text-into-plan-card';\n\nexport type HighestDisplayPriceProps = {\n readonly cardWidth: number;\n readonly onFontSizeHandler: (fontSize: string) => void;\n};\n\nexport const HighestDisplayPriceFontSize = ({\n cardWidth,\n onFontSizeHandler\n}: HighestDisplayPriceProps) => {\n const { ref, fontSize, highestDisplayPrice } = useFitPriceTextIntoPlanCard();\n\n useEffect(() => {\n onFontSizeHandler(fontSize);\n }, [fontSize]);\n\n return (\n
\n \n {highestDisplayPrice}\n
\n \n );\n};\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { N900 } from '@atlaskit/theme/colors';\nimport { AsyncResult } from '@atlassiansox/bxp-react-core';\nimport { CurrencyISOCode, FetchPricing } from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { PlanCardsContainer, PricingExampleContainer } from './components';\nimport { HighestDisplayPriceFontSize } from './components/highest-display-price-font-size';\nimport {\n useBoundingClientRectRef,\n useDesktopMediaQuery,\n usePriceFinderPricingData\n} from './hooks';\nimport { ProductPlan } from './models';\nimport { initialState, usePriceFinderStore } from './store';\nimport {\n DefaultPlanLimits,\n deviceMediaQueries,\n TRACKING_EVENT_NAMES,\n UNIT_TRACKING_TERMS\n} from './utils/constants';\nimport { getRecommendedPlanName } from './utils/get-recommended-plan-name';\n\nexport type PriceFinderProps = {\n readonly productKey?: string;\n readonly productPlans: ProductPlan[];\n\n readonly signupURL?: string;\n readonly halpSignupURLs?: string[];\n readonly contactURL?: string;\n\n readonly currencyISOCode?: string;\n readonly localeISOCode?: string;\n readonly fetchPricing: FetchPricing;\n\n readonly defaultUnitCount?: number;\n\n readonly unitTrackingTerm?: UNIT_TRACKING_TERMS;\n\n readonly pricingExampleUnitCounts?: number[];\n readonly hideBillingSelector?: boolean;\n readonly unitLimitFree?: number;\n readonly unitMinEnterprise?: number;\n readonly showFirstFlatRateTier?: boolean;\n readonly bestSellingLabelFeatureFlag?: boolean;\n readonly registerInterestUrl?: string;\n};\n\nconst PriceFinder = ({\n productKey = '',\n productPlans,\n\n signupURL = '/try/cloud/signup',\n contactURL = '/contact/enterprise',\n\n defaultUnitCount = 10,\n pricingExampleUnitCounts = [300, 250],\n\n currencyISOCode = 'USD',\n localeISOCode = 'en-US',\n fetchPricing,\n\n hideBillingSelector = false,\n unitTrackingTerm = UNIT_TRACKING_TERMS.users,\n\n unitLimitFree = DefaultPlanLimits.UNIT_LIMIT_FREE,\n unitMinEnterprise = DefaultPlanLimits.UNIT_MIN_ENTERPRISE,\n\n showFirstFlatRateTier,\n bestSellingLabelFeatureFlag,\n registerInterestUrl = '/software/access/guard-premium'\n}: PriceFinderProps) => {\n // setting this up here to take care of default unitCount for products like JSM, Bitbucket.\n initialState.unitCount = defaultUnitCount;\n\n const isDesktop = useDesktopMediaQuery();\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const [{ unitCount, billingCycle }, actions] = usePriceFinderStore();\n const [fontSize, setFontSize] = useState('100%');\n\n useEffect(() => {\n void actions.updateUnitCount(defaultUnitCount);\n }, []);\n\n const [cardsContainerRect, cardRef] = useBoundingClientRectRef();\n\n // send analytics event if unit count has changed\n useEffect(() => {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.unitTierBox,\n unitBoxValue: unitCount\n });\n analyticsEvent.fire();\n }, [unitCount]);\n\n // send analytics event if billing cycle has changed\n useEffect(() => {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.billingCycleChanged,\n newPeriod: billingCycle\n });\n analyticsEvent.fire();\n }, [billingCycle]);\n\n const fetchPriceCalcs = usePriceFinderPricingData(\n pricingExampleUnitCounts,\n productKey,\n productPlans,\n currencyISOCode as CurrencyISOCode,\n localeISOCode,\n fetchPricing,\n unitMinEnterprise\n );\n\n const completedCalcsClone = AsyncResult.isComplete(fetchPriceCalcs)\n ? fetchPriceCalcs.resolve()\n : null;\n const completedCalcsRef = useRef(completedCalcsClone);\n completedCalcsRef.current = completedCalcsClone;\n\n if (AsyncResult.isPending(fetchPriceCalcs)) {\n return
; // no loading state currently\n } else if (AsyncResult.isComplete(fetchPriceCalcs)) {\n const completedCalcs = fetchPriceCalcs.resolve();\n void actions.updatePriceCalcs(completedCalcs);\n } else if (AsyncResult.isError(fetchPriceCalcs)) {\n throw fetchPriceCalcs.error;\n }\n\n const recommendedPlanName = getRecommendedPlanName(unitCount, productPlans);\n\n let cardWidth = cardsContainerRect\n ? Math.floor(cardsContainerRect.width / productPlans.length) * 0.75\n : -1;\n\n if (!isDesktop) {\n cardWidth = (cardsContainerRect && cardsContainerRect.width) || 200;\n }\n\n return (\n \n \n\n \n \n \n\n \n\n \n \n );\n};\n\nexport const PriceFinderContainer = styled.div`\n color: ${N900};\n font-family: Charlie Text;\n\n width: 100%;\n h3 {\n font-family: Charlie Display;\n font-weight: 500;\n }\n\n h4 {\n font-family: Charlie Display;\n font-weight: normal;\n }\n`;\n\nconst PlansAndPricingHeader = styled.h2`\n color: ${N900};\n font-family: Charlie Display;\n font-size: 20px;\n font-style: normal;\n font-weight: 500;\n line-height: 24px;\n margin: 32px 0;\n text-align: center;\n\n ${deviceMediaQueries.desktop} {\n font-size: 36px;\n line-height: 44px;\n margin-bottom: 48px 0;\n }\n`;\n\nexport default PriceFinder;\n","import { Ref, useCallback, useEffect, useRef, useState } from 'react';\n\nexport function useBoundingClientRectRef(): [\n ClientRect | undefined,\n Ref\n] {\n const onResizeRef = useRef();\n const [clientRect, setClientRect] = useState();\n const ref = useCallback((element: HTMLDivElement | null) => {\n const onResize = () => {\n if (element) {\n setClientRect(element.getBoundingClientRect());\n }\n };\n\n onResizeRef.current = onResize;\n\n if (element) {\n onResize();\n window.addEventListener('resize', onResize);\n }\n }, []);\n\n useEffect(() => {\n const { current } = onResizeRef;\n return () => {\n if (current) {\n window.removeEventListener('resize', current);\n }\n };\n }, []);\n\n return [clientRect, ref];\n}\n","import {\n CurrencyISOCode,\n FetchPricing,\n PriceCalculationRequest,\n PricingPeriod,\n usePricing\n} from '@atlassiansox/bxp-use-pricing';\nimport { useMemo } from 'react';\nimport { ProductPlan } from '../models';\nimport { usePriceFinderStore } from '../store';\nimport { DefaultPlanLimits, SpecialPlanNames } from '../utils';\n\nconst getPriceFinderRequests = (\n pricingExampleUnitCounts: number[],\n productKey: string,\n productPlans: ProductPlan[],\n unitMinEnterprise: number,\n unitCount: number,\n billingCycle: PricingPeriod\n): PriceCalculationRequest[] => {\n return useMemo(() => {\n const getNumUnits = (planName: string, signupUnitLimit: number) => {\n let adjNumUnits = 0;\n\n // following scenarios do not have pricing and should send a zero unit count,\n // the zero pricing will not be displayed and is needed only to retain the\n // correct array order of the pricing requests/responses\n\n // Free plan has no pricing\n const isFree = planName === SpecialPlanNames.FREE;\n\n // Enterprise plans do not have monthly pricing\n const isMonthlyEnterprise =\n planName === SpecialPlanNames.ENTERPRISE && billingCycle === 'MONTHLY';\n\n // Enterprise plans have a minimum unit count\n const isUnmetUnitCountEnterprise =\n planName === SpecialPlanNames.ENTERPRISE &&\n unitCount < unitMinEnterprise;\n const isOverSignupUnitLimit = unitCount > signupUnitLimit;\n\n if (\n ![\n isFree,\n isMonthlyEnterprise,\n isUnmetUnitCountEnterprise,\n isOverSignupUnitLimit\n ].includes(true)\n ) {\n adjNumUnits = unitCount;\n }\n\n // keep unit count to general maximum limit\n return Math.min(adjNumUnits, DefaultPlanLimits.UNIT_LIMIT);\n };\n\n const planPriceReqs: PriceCalculationRequest[] = productPlans.map(\n ({ offeringSku, planName, signupUnitLimit }) => ({\n ccpOfferingSKU: offeringSku,\n hamsProductKey:\n productKey +\n (planName === SpecialPlanNames.STANDARD\n ? ''\n : `.${planName.toLowerCase()}`),\n numUnits: getNumUnits(\n planName,\n signupUnitLimit || DefaultPlanLimits.UNIT_LIMIT\n ),\n period: billingCycle\n })\n );\n\n const standardProductPlan = productPlans.find(\n (plan) => plan.planName === SpecialPlanNames.STANDARD\n );\n\n if (!standardProductPlan) {\n throw new Error(\n 'Standard product plan was not provided as required for pricing example.'\n );\n }\n\n const pricingExampleRequest: PriceCalculationRequest = {\n ccpOfferingSKU: standardProductPlan.offeringSku,\n hamsProductKey: productKey,\n numUnits:\n pricingExampleUnitCounts[billingCycle === 'MONTHLY' ? 0 : 1] || 300,\n period: billingCycle\n };\n\n return planPriceReqs.concat(pricingExampleRequest);\n }, [unitCount, billingCycle]);\n};\n\nexport function usePriceFinderPricingData(\n pricingExampleUnitCounts: number[],\n productKey: string,\n productPlans: ProductPlan[],\n currencyISOCode: CurrencyISOCode,\n localeISOCode: string,\n fetchPricing: FetchPricing,\n unitMinEnterprise: number\n) {\n const [{ unitCount, billingCycle }] = usePriceFinderStore();\n const priceCalcReqs = getPriceFinderRequests(\n pricingExampleUnitCounts,\n productKey,\n productPlans,\n unitMinEnterprise,\n unitCount,\n billingCycle\n );\n\n return usePricing(\n priceCalcReqs,\n fetchPricing,\n currencyISOCode,\n localeISOCode\n );\n}\n","import { ProductPlan } from '../models';\n\nconst getRecommendedPlanIdx = (unitCount: number, minUnitCounts: number[]) => {\n const len = minUnitCounts.length - 1;\n\n return (\n len -\n minUnitCounts\n .reverse()\n .findIndex((minUnitCount) => unitCount > minUnitCount)\n );\n};\n\nexport const getRecommendedPlanName = (\n unitCount: number,\n productPlans: ProductPlan[]\n) => {\n const recommendedPlanIdx = getRecommendedPlanIdx(\n unitCount,\n productPlans.map(\n (productPlan) => productPlan.requiredMinUnitCountForRecommendation\n )\n );\n\n return productPlans[recommendedPlanIdx]?.planName ?? '';\n};\n","import PriceFinder, {\n PricingIntlProvider,\n} from \"@atlassiansox/bxp-price-finder\";\nimport React from \"react\";\nimport useGeoCurrency from \"./use-geo-currency\";\nimport { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport tracking from \"../../../utils/tracking\";\nimport { fetchPricing } from \"../../../utils/get-catalog-client\";\n\nconst sendAnalytics = (analytic) => {\n const eventName =\n analytic.payload && analytic.payload.name\n ? analytic.payload.name\n : \"price-finder-component-track-event\";\n\n let eventPayload = analytic.payload;\n if (analytic.context[0]) {\n eventPayload = Object.assign(analytic.context[0], analytic.payload);\n }\n\n if (eventPayload.name !== undefined) {\n delete eventPayload.name;\n }\n\n try {\n tracking.trackEvent(eventName, eventPayload);\n } catch (e) {\n console.log(eventName, \"AnalyticsListener did not find tracker\");\n }\n};\n\nconst LANGS = [\n \"de\",\n \"en\",\n \"es\",\n \"fr\",\n \"it\",\n \"ko\",\n \"hu\",\n \"nl\",\n \"ja\",\n \"pl\",\n \"br\",\n \"ru\",\n \"zh\",\n];\n\nconst PriceFinderContainer = ({\n basePriceFinderConfig,\n priceFinderConfig,\n productPlans,\n signupURL,\n contactURL,\n registerInterestUrl\n // planFeatureMessages,\n}) => {\n // get union of all config keys (base and specific product config)\n const configKeys = new Set();\n const allKeys = Object.keys(basePriceFinderConfig).concat(\n Object.keys(priceFinderConfig)\n );\n\n for (const allConfigKey of allKeys) {\n configKeys.add(allConfigKey);\n }\n\n let integratedPriceFinderConfig = {};\n for (const configKey of configKeys) {\n integratedPriceFinderConfig[configKey] =\n priceFinderConfig[configKey] || basePriceFinderConfig[configKey];\n }\n\n const {\n productKey,\n defaultUnitCount,\n halpSignupURLs,\n // planDescHeaderMessages,\n unitLimitFree,\n unitMinEnterprise,\n hideBillingCycleSelector,\n showFirstFlatRateTier,\n forceCurrencyISOCode,\n } = integratedPriceFinderConfig;\n\n const docLang = document.documentElement.lang;\n\n const getLocalizedKey = (keyName, lang) =>\n lang === \"en\" ? keyName : `${keyName}_${lang}`;\n\n // const localizedPlanDescHeaderMessagesKey = getLocalizedKey(\n // \"planDescHeaderMessages\",\n // docLang\n // );\n\n // const localizedPlanDescHeaderMessages =\n // integratedPriceFinderConfig[localizedPlanDescHeaderMessagesKey] ||\n // planDescHeaderMessages;\n\n for (let idx = 0; idx < productPlans.length; idx++) {\n const productPlan = productPlans[idx];\n\n // UNUSED currently!\n // productPlan.planDescHeaderMessage =\n // localizedPlanDescHeaderMessages[idx] || \"\";\n\n productPlan.planDescHeaderMessage =\n priceFinderConfig[\n getLocalizedKey(\"planHeaderMessage\" + (idx + 1), docLang)\n ] || \"\";\n\n // featureMessages are UNUSED currently!\n // const featureMessages = planFeatureMessages[idx];\n // for (const messageObj of featureMessages) {\n // messageObj.message =\n // messageObj[getLocalizedKey(\"message\", docLang)] ||\n // messageObj.message ||\n // \"\";\n // }\n\n // productPlan.planFeatureMessages = featureMessages;\n\n // UNUSED\n // for (let planFeatureMessage of productPlan.planFeatureMessages) {\n // planFeatureMessage.isLabelPresent =\n // planFeatureMessage.isLabelPresent === \"true\";\n // }\n\n const coreFeaturesStartIdx = idx * 6 + 1;\n const planCoreFeatures = [];\n\n for (\n let coreFeatureIdx = coreFeaturesStartIdx;\n coreFeatureIdx < coreFeaturesStartIdx + 6;\n coreFeatureIdx++\n ) {\n planCoreFeatures.push(\n priceFinderConfig[\n getLocalizedKey(\"coreFeature\" + coreFeatureIdx, docLang)\n ]\n );\n }\n\n const planCoreFeatureObjs = [];\n for (const coreFeatureText of planCoreFeatures) {\n if (coreFeatureText && coreFeatureText !== \"\") {\n const regex =\n / {(?[a-zA-Z0-9]{8})?:(?true|)}$/;\n\n const match = coreFeatureText.match(regex);\n if (!match) {\n planCoreFeatureObjs.push({ message: coreFeatureText });\n } else {\n const { modalTargetId, isLabelPresent } = match.groups;\n\n planCoreFeatureObjs.push({\n message: coreFeatureText.replace(regex, \"\"),\n modalTargetId,\n isLabelPresent,\n });\n }\n }\n }\n\n productPlan.planFeatureMessages = planCoreFeatureObjs;\n }\n\n const messages = {};\n for (const lang of LANGS) {\n const keysForLang = Object.keys(integratedPriceFinderConfig).filter((key) =>\n lang === \"en\" ? !key.match(/_[a-z]{2}$/) : key.endsWith(\"_\" + lang)\n );\n\n const langMessages = {};\n for (const keyForLang of keysForLang) {\n langMessages[keyForLang.replace(\"_\" + lang, \"\")] =\n integratedPriceFinderConfig[keyForLang];\n }\n\n messages[lang] = langMessages;\n }\n\n const geoCurrency = useGeoCurrency();\n\n if (!geoCurrency.isPending) {\n return (\n \n \n \n \n \n );\n } else {\n return null;\n }\n};\n\nexport default PriceFinderContainer;\n","import { useAsync } from \"@atlassiansox/bxpkit-core\";\nimport Environment from '../../../common/environment';\n\nconst LOCALE_CACHE_KEY = \"bxp.currentLocale\";\nconst DEFAULT_LOCALE = \"US\";\nexport const LOCALE_TO_CURRENCY = {\n US: \"USD\",\n JP: \"JPY\"\n};\n\nexport default function useGeoCurrency(setCurrencyIsoCode) {\n return useAsync(() => {\n if (setCurrencyIsoCode) return Promise.resolve(setCurrencyIsoCode);\n\n const currentLocale = sessionStorage.getItem(LOCALE_CACHE_KEY);\n const localePromise = currentLocale\n ? Promise.resolve(currentLocale)\n : fetch(`${Environment.getWacIntegrationUrl()}/endpoint/location`)\n .then(response => response.json())\n .then(json => json.countryIsoCode || DEFAULT_LOCALE)\n .catch(() => DEFAULT_LOCALE);\n\n return localePromise.then(locale => {\n sessionStorage.setItem(LOCALE_CACHE_KEY, locale);\n return LOCALE_TO_CURRENCY[locale] || LOCALE_TO_CURRENCY[DEFAULT_LOCALE];\n });\n }, []);\n}\n","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","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","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}"],"names":["ContextTypes","getAtlaskitAnalyticsEventHandlers","getAtlaskitAnalyticsContext","noop","AnalyticsListener","Component","constructor","props","super","this","getAnalyticsEventHandlers","channel","onEvent","context","event","eventChannel","contextValue","render","children","value","ExportedAnalyticsListener","cache","serialized","isStringTag","className","key","name","undefined","registered","styles","hasOwnProperty","EmotionCacheContext","HTMLElement","Provider","func","forwardRef","ref","useContext","typePropName","Insertion","_ref","inserted","current","insert","sheet","next","Emotion$1","cssProp","css","WrappedComponent","registeredStyles","classNames","rawClassName","split","forEach","push","newProps","call","jsx","type","args","arguments","argsLength","length","createElementArgArray","Array","createEmotionProps","i","_len","_key","AnalyticsEvent","payload","update","updater","UIAnalyticsEvent","hasFired","handlers","JSON","parse","stringify","handler","useTrackedRef","useRef","useEffect","usePlatformLeafEventHandler","fn","action","componentName","actionSubject","packageName","packageVersion","analyticsData","createAnalyticsEvent","analyticsContext","useAnalyticsEvents","dataRef","fnRef","useCallback","analyticsEvent","attributes","clone","fire","CHANNEL","DEFAULT_THEME_MODE","THEME_MODES","theme","includes","mode","themed","modesOrVariant","variantModes","variantProp","variants","modes","R300","Y300","G300","B100","B400","N0","N200","N800","DN600","DN300","DN50","light","dark","Consumer","useTheme","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","createContext","themeProps","tokens","themeFn","valueFn","mixedFn","createTheme","analyticsAttributes","baseStyles","position","zIndex","inset","overflowY","pointerEvents","shouldAllowClickThroughStyles","invisibleStyles","backgroundColor","backgroundStyle","Blanket","memo","shouldAllowClickThrough","isTinted","onBlanketClicked","testId","mouseDownTarget","onBlanketClickedWithAnalytics","blanketClickOutsideChildren","e","currentTarget","target","onClick","onMouseDown","role","displayName","Box","as","display","flexDirection","alignItems","justifyContent","borderColor","borderStyle","borderWidth","borderRadius","shadow","layer","padding","paddingBlock","paddingInline","height","overflow","width","UNSAFE_style","htmlAttributes","node","style","displayMap","paddingMap","positionMap","paddingBlockMap","paddingInlineMap","flexAlignItemsMap","flexJustifyContentMap","backgroundColorMap","borderColorMap","borderStyleMap","borderWidthMap","borderRadiusMap","shadowMap","layerMap","flexDirectionMap","overflowMap","widthMap","heightMap","none","solid","dashed","dotted","normal","rounded","badge","column","row","center","baseline","flexStart","flexEnd","start","end","block","inline","flex","inlineFlex","inlineBlock","absolute","fixed","relative","static","auto","hidden","boxSizing","appearance","border","disabled","focused","input","inverse","selected","brand","danger","warning","success","discovery","information","bold","neutral","boxShadow","overlay","raised","card","navigation","dialog","blanket","modal","flag","spotlight","tooltip","SurfaceContext","useSurface","asAllowlist","textAlignMap","textAlign","textTransformMap","textTransform","lowercase","uppercase","verticalAlignMap","top","verticalAlign","middle","bottom","margin","truncateStyles","textOverflow","whiteSpace","HasTextAncestorContext","color","colorProp","fontSize","fontWeight","lineHeight","shouldTruncate","id","surface","inverseTextColor","useColor","isWrapped","Object","keys","Fragment","component","fontFamilyMap","sans","textColorMap","fontSizeMap","fontWeightMap","lineHeightMap","medium","regular","semibold","monospace","fontFamily","subtlest","subtle","Lozenge","isBold","maxWidth","appearanceStyle","appearanceType","backgroundColors","maxWidthValue","maxWidthIsPc","test","textColors","default","inprogress","moved","new","removed","emptyContext","appear","isExiting","ExitingContext","wrapChildWithContextProvider","child","childrenToObj","reduce","acc","ExitingPersistence","appearFromProp","childs","exitThenEnter","childrenAsArray","Children","Boolean","childrenToArray","childrenObj","previousChildren","persistedChildren","forceRender","updateState","useState","useForceRender","exitingChildren","defaultContextValue","useMemo","currentMap","previous","isAnyPreviousKeysMissingFromCurrent","exitingChildMountedAgain","hasAnyExitingChildMountedAgain","splicedChildren","concat","previousMap","splice","spliceNewElementsIntoPrevious","map","currentChild","onFinish","useExitingPersistence","keyframes","insertable","apply","anim","toString","classnames","len","cls","arg","toAdd","isArray","k","serializedArr","ClassNames","content","cx","_len2","_key2","merge","ele","useSetTimeout","opts","cleanup","timeouts","clearTimeout","getHookDeps","timeout","setTimeout","filter","timeoutId","StaggeredEntranceContext","isReady","delay","animationTimingFunction","enteringAnimation","exitingAnimation","isPaused","onFinishMotion","duration","staggered","indentifier","identifier","Number","String","Math","random","slice","Date","now","round","performance","useUniqueId","useStaggeredEntrance","onExitFinished","paused","state","hasAnimationStyles","setHasAnimationStyles","isCancelled","animationDelay","animationDuration","animationFillMode","animationName","animationPlayState","directionMotions","proportional","left","right","constant","invertedDirection","fadeInAnimation","direction","distance","from","opacity","transform","to","fadeOutAnimation","entranceDirection","exitDirection","invertedEntranceDirection","isReducedMotion","window","matches","matchMedia","prefersReducedMotion","animation","transition","easeInOut","mediumDurationMs","durationStep","largeDurationMs","EMPTY_MODIFIERS","usePopper","referenceElement","popperElement","options","prevOptions","optionsWithDefaults","onFirstUpdate","placement","strategy","modifiers","_React$useState","popper","arrow","setState","updateStateModifier","enabled","phase","elements","element","requires","popperOptions","newOptions","popperInstanceRef","setOptions","popperInstance","createPopper","destroy","forceUpdate","NOOP","NOOP_PROMISE","Promise","resolve","Popper","_ref$placement","_ref$strategy","_ref$modifiers","innerRef","referenceNode","Manager","setPopperElement","_React$useState2","arrowElement","setArrowElement","_usePopper","childrenProps","hasPopperEscaped","modifiersData","hide","isReferenceHidden","arrowProps","constantModifiers","flipVariations","boundary","rootBoundary","defaultChildrenFn","defaultOffset","offset","offsetX","offsetY","internalModifiers","mergedModifiers","createContainer","container","document","createElement","getPortalParent","parentElement","querySelector","parent","body","appendChild","removePortalContainer","removeChild","appendPortalContainerIfNotAppended","InternalPortal","createPortal","isSubsequentRender","setIsSubsequentRender","zIndexToName","getLayerName","firePortalEvent","eventName","detail","CustomEvent","getEvent","dispatchEvent","zIndexNumber","Portal","themedBackground","getBackground","sizes","dimensions","small","large","xlarge","getIconSize","size","iconStyles","flexShrink","stop","stopColor","maxHeight","fill","baseHcmStyles","primaryEqualsSecondaryHcmStyles","secondaryTransparentHcmStyles","Icon","glyph","Glyph","dangerouslySetGlyph","primaryColor","secondaryColor","label","glyphProps","dangerouslySetInnerHTML","__html","exports","obj","_react","__esModule","_base","CheckIcon","assign","_default","QuestionCircleIcon","factory","__WEBPACK_EXTERNAL_MODULE_react__","__webpack_modules__","__unused_webpack_module","match","mediaQuery","values","parseQuery","some","query","typeMatch","expressionsMatch","expressions","every","expression","feature","modifier","expValue","toLowerCase","toPx","toDpi","toDecimal","parseInt","RE_MEDIA_QUERY","RE_MQ_EXPRESSION","RE_MQ_FEATURE","RE_LENGTH_UNIT","RE_RESOLUTION_UNIT","captures","trim","parsed","ratio","numbers","decimal","resolution","parseFloat","r","d","uppercasePattern","msPattern","toHyphenLower","__WEBPACK_DEFAULT_EXPORT__","hName","replace","module","__unused_webpack_exports","staticMatch","dynamicMatch","Mql","forceStatic","self","mql","media","addListener","evt","listener","removeListener","dispose","getOwnPropertySymbols","prototype","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","fromCharCode","n","join","test3","letter","err","shouldUseNative","source","symbols","val","TypeError","toObject","s","printWarning","ReactPropTypesSecret","loggedTypeFailures","has","checkPropTypes","typeSpecs","location","getStack","typeSpecName","error","Error","ex","message","stack","text","console","x","resetWarningCache","ReactIs","emptyFunctionThatReturnsNull","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","Symbol","iterator","ANONYMOUS","ReactPropTypes","array","createPrimitiveTypeChecker","bigint","bool","number","object","string","symbol","any","createChainableTypeChecker","arrayOf","typeChecker","propName","propFullName","PropTypeError","propValue","getPropType","elementType","isValidElementType","instanceOf","expectedClass","expectedClassName","isNode","objectOf","propType","oneOf","expectedValues","y","valuesString","getPreciseType","oneOfType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","data","expectedType","shape","shapeTypes","invalidValidatorError","exact","allKeys","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","secret","cacheKey","chainedCheckType","bind","iteratorFn","maybeIterable","getIteratorFn","step","entries","done","entry","RegExp","isSymbol","PropTypes","isElement","Function","hasSymbol","for","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","typeOf","$$typeof","$$typeofType","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Lazy","Memo","Profiler","StrictMode","Suspense","hasWarnedAboutDeprecatedIsAsyncMode","isConcurrentMode","isAsyncMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","shallowEqualObjects","objA","objB","aKeys","bKeys","shallowEqualArrays","arrA","arrB","__rest","t","p","indexOf","__importDefault","mod","defineProperty","useMediaQuery_1","_a","device","onChange","settings","Context","toQuery","useMediaQuery","Component_1","toQuery_1","Context_1","__assign","prop_types_1","stringOrNumber","types","all","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","matchers","orientation","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","featureMatchers","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","minDeviceHeight","maxDeviceHeight","minWidth","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","hyphenate_style_name_1","mediaQuery_1","rules","v","realKey","keyVal","react_1","matchmediaquery_1","shallow_equal_1","hyphenateKeys","result","useIsUpdate","deviceSettings","deviceFromProps","deviceFromContext","getDevice","setDevice","newDevice","useDevice","getQuery","makeQuery","setQuery","newQuery","useQuery","mq","getMatchMedia","setMq","isUpdate","newMq_1","useMatchMedia","setMatches","updateMatches","ev","useMatches","__webpack_module_cache__","moduleId","cachedModule","definition","o","enumerable","get","prop","toStringTag","memoize","create","reactPropsRegex","isPropValid","charCodeAt","registerStyles","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","tag","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","insertStyles","newStyled","createStyled","identifierName","targetClassName","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","__emotion_styles","raw","Styled","w","FinalTag","classInterpolations","mergedProps","T","finalShouldForwardProp","defaultProps","withComponent","nextTag","nextOptions","tagName","bindAll","bind_1","toOptions","capture","bindings","sharedOptions","unbinds","original","binding","getBinding","unbind","addEventListener","removeEventListener","bind_all_1","canUseDOM","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","reducePropsToState","handleStateChangeOnClient","mountedInstances","emitChange","instance","SideEffect","_PureComponent","peek","_proto","componentDidMount","componentDidUpdate","componentWillUnmount","index","PureComponent","getDisplayName","hasElementType","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","a","b","it","flags","valueOf","warn","FOCUS_GROUP","FOCUS_DISABLED","hiddenGuard","InFocusGuard","propTypes","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","async","emptyArray","FocusLock","parentRef","_extends2","realObserved","setObserved","observed","isActive","originalFocusedElement","noFocusGuards","persistentFocus","crossFrame","autoFocus","group","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","shards","_props$as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","activeElement","allowDefer","returnFocusTo","focus","howToReturnFocus","returnFocusOptions","then","onFocus","useMedium","onBlur","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","useMergeRef","tabIndex","toArray","ret","asArray","getFirst","getParentNode","parentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","isTopNode","DOCUMENT_NODE","isVisibleCached","visibilityCache","cached","checkParent","ELEMENT_NODE","computedStyle","getComputedStyle","getPropertyValue","isElementHidden","isVisibleUncached","set","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","dataset","isHTMLInputElement","isRadioElement","attribute","getAttribute","isGuard","focusGuard","isNotAGuard","isDefined","tabSort","tabDiff","indexDiff","orderByTabIndex","nodes","filterNegative","keepGuards","sort","queryTabbables","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","HTMLIFrameElement","contentDocument","getFocusablesWithIFrame","querySelectorAll","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","getTabbableNodes","topNodes","getAllTabbableNodes","contains","scope","getPrototypeOf","iframeBody","getActiveElement","inDocument","cb","contentWindow","safeProbe","getTopParent","getAllAffectedNodes","currentNode","contained","l","j","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","add","DOCUMENT_POSITION_CONTAINS","_","filterNested","focusInside","topNode","ownerDocument","frame","focusInFrame","focusInsideIframe","correctNode","el","checked","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","getFocusMerge","lastNode","nodesIndexes","orderedNodes","groups","autoFocusables","autoFocusable","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","outerNodes","orderedInnerElements","entity","innerNodes","newId","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","abs","newFocus","focusNode","parentFocus","parentAutofocusables","allParentAutofocusables","autofocus","guardCount","lockDisabled","focusable","deferAction","setImmediate","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","allNodes","lastGuard","item","guard","focusAutoGuard","lockItem","extractRef","checkInHost","check","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","focusIsHidden","area","withinHost","blur","newActiveElement","focusedIndex","_ref2","_ref3","removeAttribute","onTrap","stopPropagation","preventDefault","onWindowBlur","assignSyncMedium","observerNode","assignMedium","moveFocusInside","propsList","_ref5","traps","trap","lastTrap","sameTrap","_ref6","FocusLockCombination","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","setReferenceNode","hasUnmounted","handleSetReferenceNode","unwrapArray","safeInvoke","setRef","fromEntries","useIsomorphicLayoutEffect","_createClass","defineProperties","descriptor","configurable","writable","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_exenv","_TouchScrollable","_withLockSheet2","_withTouchListeners2","_utils","ScrollLock","_classCallCheck","ReferenceError","_possibleConstructorReturn","__proto__","subClass","superClass","setPrototypeOf","_inherits","initialHeight","innerHeight","scrollTo","pageYOffset","TouchScrollable","SheetLock","pipe","compose","LockToggle","accountForScrollbars","_extends","_temp","_this","getScrollableArea","scrollableArea","preventInertiaScroll","listenerOptions","allowTouchMove","_props","rest","_objectWithoutProperties","cloneElement","_ScrollLock","preventTouchMove","scrollHeight","clientHeight","scrollTop","totalScroll","currentScroll","offsetHeight","isTouchDevice","navigator","maxTouchPoints","camelToKebab","str","isNaN","getPadding","paddingRight","innerWidth","documentElement","clientWidth","getWindowHeight","multiplier","getDocumentHeight","makeStyleTag","setAttribute","injectStyles","styleSheet","cssText","createTextNode","insertStyleTag","head","getElementsByTagName","passive","pipeFns","fns","SheetProvider","addSheet","getStyles","removeSheet","TouchProvider","createSource","prefix","uid","counter","getId","getPrefix","useUIDState","quartz","gen","generateUID","useUID","useUIDSeed","WeakMap","getTheme","B50","B75","B300","B500","N10","N20","N40","N80","N900","DN200","DN30","DN10","TYPE","SKELETON_TYPE","ErrorKind","IntlContext","__REACT_INTL_CONTEXT__","invariant","condition","Err","isLiteralElement","literal","isArgumentElement","argument","date","time","select","plural","isPoundElement","pound","dateTime","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","era","year","RangeError","month","day","weekday","hour12","hourCycle","hour","minute","second","timeZoneName","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","roundingPriority","g1","g2","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseConciseScientificAndEngineeringStem","stem","notation","minimumIntegerDigits","parseNotationOptions","opt","parseNumberSkeleton","_i","tokens_1","token","scale","currency","useGrouping","maximumFractionDigits","unit","compactDisplay","currencyDisplay","unitDisplay","g3","g4","g5","minimumFractionDigits","trailingZeroDisplay","signOpts","conciseScientificAndEngineeringOpts","timeData","getDefaultHourSymbolFromLocale","locale","hourCycles","regionTag","languageTag","language","maximize","region","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","hasNativeStartsWith","startsWith","hasNativeFromCodePoint","fromCodePoint","hasNativeFromEntries","hasNativeCodePointAt","codePointAt","hasTrimStart","trimStart","hasTrimEnd","trimEnd","isSafeInteger","isFinite","floor","REGEX_SUPPORTS_U_AND_Y","RE","exec","matchIdentifierAtIndex","search","codePoints","code","entries_1","first","IDENTIFIER_PREFIX_RE_1","c","_isWhiteSpace","_isPatternSyntax","Parser","line","ignoreTag","requiresOtherClause","shouldParseSkeletons","parseMessage","nestingLevel","parentArgType","expectingCloseTag","isEOF","char","parseArgument","clonePosition","_isAlpha","parseTag","parseLiteral","bump","startPosition","parseTagName","bumpSpace","bumpIf","childrenResult","endTagStartPosition","closingTagNameStartPosition","startOffset","parseQuoteResult","tryParseQuote","parseUnquotedResult","tryParseUnquoted","parseLeftAngleResult","tryParseLeftAngleBracket","codepoint","ch","openingBracePosition","parseIdentifierIfPossible","parseArgumentOptions","startingPosition","endOffset","bumpTo","typeStartPosition","argType","typeEndPosition","styleAndLocation","styleStartPosition","parseSimpleArgStyleIfPossible","styleLocation","argCloseResult","tryParseArgumentClose","location_1","parseNumberSkeletonFromString","dateTimePattern","skeletonCopy","patternPos","patternChar","charAt","extraLength","hourLen","dayPeriodLen","hourChar","getBestPattern","pattern","parsedOptions","typeEndPosition_1","identifierAndLocation","pluralOffset","tryParseDecimalInteger","optionsResult","tryParsePluralOrSelectOptions","location_2","pluralType","nestedBraces","apostrophePosition","bumpUntil","stringTokens_1","stemAndOptions","options_1","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selector","selectorLocation","fragmentResult","expectNumberError","invalidNumberError","sign","hasDigits","kind","currentOffset","targetOffset","min","nextCode","pruneLocation","els","SyntaxError","originalMessage","captureLocation","cacheDefault","serializer","serializerDefault","strategyDefault","monadic","computedValue","variadic","assemble","serialize","ObjectWithoutPrototypeCache","ErrorCode","strategies","PART_TYPE","FormatError","_super","msg","InvalidValueError","variableId","INVALID_VALUE","InvalidValueTypeError","MissingValueError","MISSING_VALUE","isFormatXMLElementFn","formatToParts","locales","formatters","formats","currentPluralValue","els_1","getNumberFormat","format","varName","getDateTimeFormat","value_1","formatFn","chunks","other","Intl","PluralRules","MISSING_INTL_API","rule","getPluralRules","parts","part","lastPart","createFastMemoizeCache","store","IntlMessageFormat","overrideFormats","defaultLocale","defaultConfig","configs","formatterCache","pluralRules","ast","resolvedOptions","resolvedLocale","NumberFormat","supportedLocalesOf","getAst","resolveLocale","__parse","parseOpts","c1","c2","DateTimeFormat","createDefaultFormatters","memoizedDefaultLocale","Locale","supportedLocales","integer","percent","short","long","full","IntlErrorCode","IntlError","exception","captureStackTrace","UnsupportedFormatterError","UNSUPPORTED_FORMATTER","InvalidConfigError","INVALID_CONFIG","MissingDataError","MISSING_DATA","IntlFormatError","FORMAT_ERROR","MessageFormatError","defaultMessage","description","MissingTranslationError","MISSING_TRANSLATION","filterProps","allowlist","defaults","filtered","DEFAULT_INTL_CONFIG","messages","timeZone","defaultFormats","fallbackOnEmptyString","onError","onWarn","getNamedFormat","formatType","intl","textComponent","shallowEqual","useIntl","FormattedMessage","formatMessage","Text","_b","MemoizedFormattedMessage","prevProps","nextProps","otherProps","nextValues","nextOtherProps","useDesktopMediaQuery","LOG_LEVEL","debug","info","useIsoLayoutEffect","useLayoutEffect","murmurhash2_32_gc","h","batchUpdates","devtools","middlewares","mutator","prevState","partialState","namedMutator","storeState","actionName","warnings","bindAction","actionFn","actionKey","getContainerProps","boundActions","dispatch","thunkFn","getState","actions","CACHE","strA","keysA","keysB","output","nextState","out","MessageChannel","isInsideBatchedSchedule","batch","unstable_batchedUpdates","QUEUE","scheduled","createStoreState","initialState","listeners","currentState","queueFn","shift","schedule","notify","resetState","subscribe","reduceRight","mw","__REDUX_DEVTOOLS_EXTENSION__","origMutator","devTools","devtoolMutator","config","connect","init","connectDevTools","send","defaultRegistry","defaultScope","stores","initStore","Store","bindActions","getStore","scopeId","generateKey","deleteStore","delete","globalRegistry","resultFn","propsMode","lastResult","lastArgs","calledOnce","prev","areArgumentsEqual","nextResult","createMemoizedSelector","isReselector","resultFunc","dependencies","funcs","pop","memoizedResultFunc","params","createSelector","EMPTY_SELECTOR","DEFAULT_SELECTOR","updateUnitCount","unitCount","updateBillingCycle","billingCycle","updatePriceCalcs","priceCalcs","createKey","createStore","usePriceFinderStore","propsArg","hasPropsArg","propsArgRef","stateSelector","hasProps","scopeSelectors","getSelectorInstance","getSnapshot","useSyncExternalStore","createHook","deviceMediaQueries","TRACKING_EVENT_NAMES","UNIT_TRACKING_TERMS","SpecialPlanNames","SpecialProductKeys","DefaultPlanLimits","abort","onKey","keyCode","onMouseDownCapture","onMouseUpCapture","onKeyDownCapture","onKeyUpCapture","onTouchStartCapture","onTouchEndCapture","onPointerDownCapture","onPointerUpCapture","onClickCapture","doNotBlock","fadedB75","background","hover","active","focusSelected","primary","link","heights","compact","lineHeights","singleIconPadding","innerMargin","getColor","getColors","colors","getIconStyle","spacing","flexGrow","alignSelf","userSelect","getContentStyle","overlayCss","noPointerEventsOnChildrenCss","buttonCss","isDisabled","shouldFitContainer","isSelected","iconBefore","iconAfter","href","providedOnMouseDown","providedOnClick","interactionName","ourRef","initialMount","useAutoFocus","interactionContext","tracePress","timeStamp","hasOverlay","fadeCss","getFadingCss","isInteractive","spinnerHackCss","stroke","blockEvents","isFirefox","userAgent","Button","onMouseUp","providedOnMouseUp","isOnlySingleIcon","getIsOnlySingleIcon","setIsActive","baseColors","fontStyle","textDecoration","cursor","transitionDuration","getCss","PricingExampleButton","onClickHandler","StyledButton","radioThemeColors","backgroundHover","backgroundActive","backgroundChecked","backgroundCheckedHover","backgroundCheckedActive","backgroundDisabled","dotChecked","dotDisabled","dotActive","borderHover","borderDisabled","borderFocus","labelPaddingStyles","labelStyles","lightLabelStyles","darkLabelStyles","radioStyles","MozAppearance","outline","WebkitAppearance","RadioWithMode","ariaLabel","isInvalid","isChecked","onChangeAnalytics","radioCustomProperties","radioColors","getRadioCustomProperties","required","BillingPeriodSelector","exampleShown","onShowHideExampleClick","isDesktop","onBillingCycleChange","HeaderMessage","BillingToggle","AnnualBillingToggle","ShowHideExample","billingToggleBase","_process","_process$env","_process2","_process2$env","DEBUG_MODE","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","booleanResolver","flagKey","globalVar","getBooleanFF","_globalVar$PFF_GLOBAL3","resolveBooleanFlag","disabledBackgroundColor","defaultBackgroundColor","defaultBackgroundColorFocus","defaultBackgroundColorHover","defaultBorderColor","defaultBorderColorFocus","transparent","textColor","placeholderTextColor","disabledRules","backgroundColorHover","invalidRules","backgroundColorFocus","borderColorFocus","standard","borderColorHover","getContainerTextBgAndBorderColor","xsmall","getMaxWidth","analyticsParams","Textfield","isCompact","isReadOnly","isMonospaced","elemAfterInput","elemBeforeInput","spreadProps","inputRef","handleOnFocus","handleOnBlur","handleOnMouseDown","setInputRef","inputElement","containerStyles","wordWrap","inputStyle","toFixed","WebkitTextFillColor","readOnly","usePlatformLeafSyntheticEventHandler","delayId","clearScheduled","scheduleTimeout","VAR_PRIMITIVE_ZINDEX","primitiveStyles","zindex","TooltipPrimitive","onMouseOut","onMouseOver","styleWithZIndex","overflowWrap","lightStyles","darkStyles","TooltipContainer","truncate","getMousePosition","mouseCoordinates","safeMouse","getBoundingClientRect","Tooltip","mousePosition","TargetContainer","onShow","onHide","hideTooltipOnClick","hideTooltipOnMouseDown","tooltipPosition","onShowHandler","onHideHandler","apiRef","targetRef","containerRef","firstChild","lastState","lastDelay","lastHandlers","hasCalledShowHandler","api","showTooltip","keep","immediatelyHideAndDone","isImmediate","isVisible","showImmediately","show","requestHide","finishHideAnimation","mouse","onClose","escapePressed","onKeyDown","onKeyUp","useCloseOnEscapePress","_apiRef$current","once","defaultPrevented","clientX","clientY","onMouseMove","_apiRef$current2","onMouseOverTooltip","onAnimationFinished","CastTargetContainer","shouldRenderTooltipContainer","shouldRenderTooltipChildren","tooltipId","shouldRenderId","seed","tooltipTriggerProps","_apiRef$current3","_apiRef$current4","getDirectionFromPlacement","UnitCount","maxUnits","maxNumberOfDigits","unitTrackingTerm","agents","currentUnits","setCurrentUnits","storedUnits","setStoredUnits","HowManyUnitsMessageContainer","UnitCountInputContainer","parsedValue","newUnits","max","TooltipBase","TooltipMessageContainer","unitDescriptionTooltipTriggered","UserTier","users","priceCalc","formattedBreakdown","fmtBreakdownTier","formattedUnitLimitLower","formattedUnitLimitUpper","formattedUnitsInTier","formattedUnitsAvailableInTier","UserTierContainer","TooltipContentContainer","UserTierDetailsContainer","MarginContainer","ToolTipLabelContainer","LimitsContainer","userTierTooltipTriggered","UserTierMessage","QuestionIconContainer","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","messageDescriptor","defaultRichTextElements","msgId","getMessageFormat","NUMBER_FORMAT_OPTIONS","getFormatter","formatNumber","formatNumberToParts","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","getRelativeTimeFormat","RelativeTimeFormat","DATE_TIME_FORMAT_OPTIONS","filteredOptions","timeStyle","dateStyle","formatDate","formatTime","formatDateTimeRange","formatRange","formatDateToParts","formatTimeToParts","PLURAL_FORMAT_OPTIONS","formatPlural","LIST_FORMAT_OPTIONS","formatList","getListFormat","results","formatListToParts","ListFormat","richValues_1","serializedValues","generateToken","DISPLAY_NAMES_OPTONS","formatDisplayName","getDisplayNames","DisplayNames","of","createIntl","relativeTime","list","displayNames","createFormatters","resolvedConfig","verifyConfigMessages","$t","processIntlConfig","wrapRichTextChunksInFragment","assignUniqueKeysToFormatXMLElementFnArgument","formatXMLElementFn","rawValues","rawDefaultRichTextElements","coreIntl","IntlProvider","prevConfig","getDerivedStateFromProps","PricingIntlProvider","viewBox","xmlns","clipPath","fillOpacity","strokeWidth","strokeMiterlimit","PricingExampleHeader","Header","SubHeader","unitCounts","PricingExampleAnnual","currencyISOCode","formattedTotalPrice","breakdown","totalPrice","existingFmtBreakdown","totalUnits","unitsInTier","DetailContainer","PriceBreakDownContainer","BoldText","RegularText","IconContainer","PricingExampleMonthly","showFirstFlatRateTier","hasFlatRateFirstTier","formattedAvgPerUnitPrice","FlatRateIconContainer","UserCount","PriceBreakDownListingContainer","idx","isFlatRateTier","NumUnits","UsersLabel","TierPrice","formattedTotalPriceForTier","formattedAvgPerUnitPriceForTier","FlatRateMessageContainer","Border","TotalUnits","TotalUsersLabel","PricingExample","billingPeriod","setBillingPeriod","DesktopContainer","BillingDescription","Example","MainContainer","PricingExampleDefault","pricingExampleUnitCounts","showExample","setShowExample","hidePricingExampleTriggered","showPricingExampleTriggered","BoxShadowContainer","SelectorGridContainer","setExampleShown","ExampleLabel","GridContainer","PricingExampleNoSelector","NoSelectorGridContainer","PricingExampleContainer","hideBillingSelector","examplePriceCalc","FeatureMessage","isLabelPresent","modalTargetId","FeatureMessageContainer","modalTrigger","click","MessageWithoutUnderline","LabelContainer","Label","PlanCard","last","highlighted","planName","ctaButton","featureMessagePlanName","planFeatureMessages","bestSellingLabelFeatureFlag","isMobile","showBestSellingLabel","baseBorderStyles","BestSellingLabel","bestSellingFeatureFlag","PlanName","PlanMessagingContainer","planFeatureMessagesLength","CTAButtonContainer","FeatureMessagesList","FeatureMessageTitle","featureMessage","CTAButton","font","paddingTop","paddingBottom","ButtonWrapper","widths","defaultValue","ModalContext","ScrollContext","dialogWidth","widthName","positionerStyles","viewportScrollStyles","bodyScrollStyles","marginRight","marginLeft","stackTransitionStyles","transitionProperty","transitionTimingFunction","stackTransformStyles","stackIdleStyles","stackIndex","shouldScrollInViewport","dialogStyles","onCloseComplete","onOpenComplete","titleId","motionRef","onMotionFinish","useOnMotionFinish","modalDialogContext","bottomFadeInProps","refs","uniqueReferencedValue","useLazyCallback","callback","initializer","useLazyRef","modalStackRegister","getScrollDistance","_document$documentEle","_document$body","fillScreenStyles","WebkitOverflowScrolling","whiteListElements","hasAttribute","shouldCloseOnEscapePress","shouldCloseOnOverlayClick","stackIndexOverride","onStackChange","isBlanketHidden","calculatedStackIndex","stackIndexRef","setStackIndex","setValue","valueRef","useStateRef","currentStackIndex","previousStackIndex","usePreviousValue","updateStack","newStackIndex","unshift","useModalStack","isForeground","autoFocusLock","onCloseHandler","scrollTopOffset","setScrollTopOffset","onWindowScroll","pageXOffset","usePreventProgrammaticScroll","modalDialogWithBlanket","fadeInProps","SIGN_UP","ModalRedirectConfirm","showModal","setShowModal","ctaURL","freeLimit","cancelAndCloseModal","unitBreachModalDecision","ModalHeader","ModalBody","ModalFooter","PlanCardBody","overSignupLimit","unitMinEnterprise","productKey","priceCalcIdx","contactURL","planMessage","Monthly","Annual","BITBUCKET","CenterJustifiedContainer","PREMIUM","GUARD","FREE","Free","formattedZeroPrice","ENTERPRISE","EnterpriseAnnualBillingMessage","onToggleToAnnualBilling","EnterpriseNoJPY","EnterpriseContact","EnterpriseUnmetMin","minRequiredUnits","PlanCardsContainer","productPlans","recommendedPlanName","signupURL","cardRef","unitLimitFree","registerInterestUrl","ComponentWrapper","productPlansLength","CardsContainer","productPlan","signupURLSuffix","signupUnitLimit","isHighlighted","isRightHighlighted","UNIT_LIMIT","planCardCTAButtonClicked","userBoxValue","unitLimitBreachModal","rightHighlighted","CenterJustified","PriceDisplay","formattedPrice","FormattedPriceDisplay","PriceDesc","MobileVerticallyPaddedContainer","MobilePadded","StyledBilledAnnual","MonthlyDesc","PriceDescLine1","PriceDescLine2","HighestDisplayPriceFontSize","cardWidth","onFontSizeHandler","highestDisplayPrice","logLevel","logLevelOption","maxFontSize","minFontSize","onStart","initState","calcKey","fontSizePrev","fontSizeMax","fontSizeMin","innerHtmlPrevRef","isCalculatingRef","animationFrameId","ro","ResizeObserver","requestAnimationFrame","observe","cancelAnimationFrame","disconnect","innerHtml","innerHTML","isWithinResolution","isOverflow","scrollWidth","offsetWidth","isAsc","delta","newMax","newMin","useFitText","getPrice","sortOn","priceA","priceB","useFitPriceTextIntoPlanCard","PriceFinderContainer","PlansAndPricingHeader","defaultUnitCount","localeISOCode","fetchPricing","UNIT_LIMIT_FREE","UNIT_MIN_ENTERPRISE","setFontSize","cardsContainerRect","onResizeRef","clientRect","setClientRect","onResize","useBoundingClientRectRef","unitTierBox","unitBoxValue","billingCycleChanged","newPeriod","fetchPriceCalcs","priceCalcReqs","getNumUnits","adjNumUnits","planPriceReqs","offeringSku","ccpOfferingSKU","hamsProductKey","STANDARD","numUnits","period","standardProductPlan","find","plan","pricingExampleRequest","getPriceFinderRequests","usePriceFinderPricingData","completedCalcsClone","completedCalcs","recommendedPlanIdx","minUnitCounts","reverse","findIndex","minUnitCount","getRecommendedPlanIdx","requiredMinUnitCountForRecommendation","getRecommendedPlanName","sendAnalytics","analytic","eventPayload","tracking","log","LANGS","_step","basePriceFinderConfig","priceFinderConfig","configKeys","_iterator","_createForOfIteratorHelper","allConfigKey","f","_step2","integratedPriceFinderConfig","_iterator2","configKey","halpSignupURLs","hideBillingCycleSelector","forceCurrencyISOCode","docLang","lang","getLocalizedKey","keyName","planDescHeaderMessage","coreFeaturesStartIdx","planCoreFeatures","coreFeatureIdx","planCoreFeatureObjs","_planCoreFeatures","coreFeatureText","regex","_wrapRegExp","_match$groups","_loop","_step3","_LANGS","_i2","langMessages","_iterator3","endsWith","keyForLang","geoCurrency","useGeoCurrency","isPending","React","PriceFinder","LOCALE_CACHE_KEY","DEFAULT_LOCALE","LOCALE_TO_CURRENCY","US","JP","setCurrencyIsoCode","useAsync","currentLocale","sessionStorage","getItem","fetch","Environment","response","json","countryIsoCode","setItem","useMergeRefs","initialValue","facade","useCallbackRef","newValue","assignRef","ItoI","innerCreateMedium","middleware","buffer","assigned","read","cbs","pendingQueue","executeQueue","cycle","createMedium","createSidecarMedium","ssr","_objectWithoutPropertiesLoose","excluded","sourceKeys"],"sourceRoot":""}