@codecademy/gamut 68.2.3-alpha.f5f9ec.0 → 68.2.3-alpha.f669d7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,7 +37,7 @@ const FilterToggle = /*#__PURE__*/_styled(Anchor, {
37
37
  open: {
38
38
  pointerEvents: 'none'
39
39
  }
40
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9EYXRhTGlzdC9Db250cm9scy9GaWx0ZXJDb250cm9sLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q3FCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9EYXRhTGlzdC9Db250cm9scy9GaWx0ZXJDb250cm9sLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBzdGF0ZXMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IGtlYmFiQ2FzZSBmcm9tICdsb2Rhc2gva2ViYWJDYXNlJztcbmltcG9ydCB7IHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IENoZWNrYm94LCBGbGV4Qm94LCBNZW51LCBNZW51SXRlbSwgVGV4dCB9IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJy4uLy4uL0FuY2hvcic7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vUG9wb3ZlckNvbnRhaW5lcic7XG5pbXBvcnQgeyB1c2VDb250cm9sQ29udGV4dCB9IGZyb20gJy4uL2hvb2tzL3VzZUxpc3RDb250cm9scyc7XG5pbXBvcnQgeyB1c2VMaXN0U3RhdGUgfSBmcm9tICcuLi9ob29rcy91c2VMaXN0U3RhdGUnO1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uLCBPbkZpbHRlciB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJQcm9wcyB7XG4gIGNvbHVtbktleTogc3RyaW5nO1xuICBvcHRpb25zPzogRmlsdGVyT3B0aW9uW107XG4gIG9uRmlsdGVyPzogT25GaWx0ZXI8YW55PjtcbiAganVzdGlmeT86ICdsZWZ0JyB8ICdyaWdodCc7XG59XG5cbmNvbnN0IGdldE5leHRGaWx0ZXJzID0gKG9wdGlvbjogc3RyaW5nLCBmaWx0ZXJzOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAob3B0aW9uID09PSAnYWxsJykgcmV0dXJuIFtdO1xuICBpZiAoZmlsdGVycy5pbmNsdWRlcyhvcHRpb24pKSB7XG4gICAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKChmaWx0KSA9PiBmaWx0ICE9PSBvcHRpb24pO1xuICB9XG4gIHJldHVybiBbLi4uZmlsdGVycywgb3B0aW9uXTtcbn07XG5cbmNvbnN0IGZvcm1hdE9wdGlvbiA9IChvcHRpb246IEZpbHRlck9wdGlvbikgPT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4geyB0ZXh0OiBvcHRpb24sIHZhbHVlOiBvcHRpb24gfTtcbiAgfVxuICByZXR1cm4gb3B0aW9uO1xufTtcblxuY29uc3QgU0VMRUNUX0FMTCA9IHtcbiAgdGV4dDogJ1NlbGVjdCBBbGwnLFxuICB2YWx1ZTogJ2FsbCcsXG59O1xuXG5jb25zdCBGaWx0ZXJUb2dnbGUgPSBzdHlsZWQoQW5jaG9yKShcbiAgc3RhdGVzKHtcbiAgICBvcGVuOiB7XG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJDb250cm9sOiBSZWFjdC5GQzxGaWx0ZXJQcm9wcz4gPSAoe1xuICBjb2x1bW5LZXksXG4gIG9uRmlsdGVyLFxuICBvcHRpb25zID0gW10sXG4gIGp1c3RpZnkgPSAnbGVmdCcsXG59KSA9PiB7XG4gIGNvbnN0IHRhcmdldCA9IHVzZVJlZjxIVE1MQW5jaG9yRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHsgcHJlZml4SWQgfSA9IHVzZUNvbnRyb2xDb250ZXh0KCk7XG4gIGNvbnN0IFttZW51T3Blbiwgc2V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBkaW1lbnNpb24gPSBTdHJpbmcoY29sdW1uS2V5KTtcbiAgY29uc3QgZmlsdGVycyA9IHVzZUxpc3RTdGF0ZSgpLnF1ZXJ5Py5maWx0ZXI/Lltjb2x1bW5LZXldID8/IFtdO1xuXG4gIHJldHVybiAoXG4gICAgPEZsZXhCb3ggY29sdW1uIHBvc2l0aW9uPVwicmVsYXRpdmVcIj5cbiAgICAgIHttZW51T3BlbiAmJiAoXG4gICAgICAgIDxQb3BvdmVyQ29udGFpbmVyXG4gICAgICAgICAgYWxpZ25tZW50PXtqdXN0aWZ5ID09PSAnbGVmdCcgPyAnYm90dG9tLXJpZ2h0JyA6ICdib3R0b20tbGVmdCd9XG4gICAgICAgICAgaXNPcGVuXG4gICAgICAgICAgb2Zmc2V0PXswfVxuICAgICAgICAgIHRhcmdldFJlZj17dGFyZ2V0IGFzIGFueX1cbiAgICAgICAgICBvblJlcXVlc3RDbG9zZT17KCkgPT4gc2V0TWVudU9wZW4oZmFsc2UpfVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVcbiAgICAgICAgICAgIG1heEhlaWdodD17MzAwfVxuICAgICAgICAgICAgb3ZlcmZsb3dZPVwiYXV0b1wiXG4gICAgICAgICAgICBzcGFjaW5nPVwiY29uZGVuc2VkXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJwb3BvdmVyXCJcbiAgICAgICAgICAgIHdpZHRoPVwibWF4LWNvbnRlbnRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtbU0VMRUNUX0FMTCwgLi4ub3B0aW9uc10ubWFwKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyB0ZXh0LCB2YWx1ZSB9ID0gZm9ybWF0T3B0aW9uKG9wdCk7XG4gICAgICAgICAgICAgIGNvbnN0IG9wdGlvbklkID0gcHJlZml4SWQoYCR7a2ViYWJDYXNlKHZhbHVlKX0tJHtkaW1lbnNpb259YCk7XG4gICAgICAgICAgICAgIGNvbnN0IGFsbFNlbGVjdGVkID0gZmlsdGVycy5sZW5ndGggPT09IDA7XG4gICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0QWxsID0gdmFsdWUgPT09ICdhbGwnO1xuXG4gICAgICAgICAgICAgIGNvbnN0IG9wdGlvblNlbGVjdGVkID0gaXNTZWxlY3RBbGxcbiAgICAgICAgICAgICAgICA/IGFsbFNlbGVjdGVkXG4gICAgICAgICAgICAgICAgOiAhZmlsdGVycy5pbmNsdWRlcyh2YWx1ZSk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TWVudUl0ZW0ga2V5PXtwcmVmaXhJZChgZmlsdGVyLSR7Y29sdW1uS2V5fS0ke3ZhbHVlfWApfT5cbiAgICAgICAgICAgICAgICAgIDxDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtpc1NlbGVjdEFsbCA/IGAke3RleHR9ICR7ZGltZW5zaW9ufWAgOiB0ZXh0fVxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtvcHRpb25TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICAgICAgaHRtbEZvcj17b3B0aW9uSWR9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsPXtcbiAgICAgICAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ25TZWxmPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cImJhc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInAtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAge2lzU2VsZWN0QWxsICYmIDxUZXh0IHNjcmVlbnJlYWRlcj4ge2RpbWVuc2lvbn08L1RleHQ+fVxuICAgICAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtvcHRpb25JZH1cbiAgICAgICAgICAgICAgICAgICAgc3BhY2luZz1cInRpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBvbkZpbHRlcj8uKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpbWVuc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBnZXROZXh0RmlsdGVycyh2YWx1ZSwgZmlsdGVycyksXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L01lbnU+XG4gICAgICAgIDwvUG9wb3ZlckNvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgICA8RmlsdGVyVG9nZ2xlXG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9e21lbnVPcGVufVxuICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9e2BmaWx0ZXIgYnkgJHtjb2x1bW5LZXl9YH1cbiAgICAgICAgZGlzcGxheT1cImlubGluZS1mbGV4XCJcbiAgICAgICAgb3Blbj17bWVudU9wZW59XG4gICAgICAgIHJlZj17dGFyZ2V0fVxuICAgICAgICB2YXJpYW50PVwiaW50ZXJmYWNlXCJcbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TWVudU9wZW4odHJ1ZSl9XG4gICAgICA+XG4gICAgICAgIDxGbGV4Qm94IGNlbnRlciBkaW1lbnNpb25zPXsxNn0gbWI9ezR9IG1yPXs0fT5cbiAgICAgICAgICA8RmlsdGVySWNvblxuICAgICAgICAgICAgY29sb3I9e2ZpbHRlcnMubGVuZ3RoID4gMCA/ICdwcmltYXJ5JyA6ICd0ZXh0J31cbiAgICAgICAgICAgIHNpemU9ezE0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgIDwvRmlsdGVyVG9nZ2xlPlxuICAgIDwvRmxleEJveD5cbiAgKTtcbn07XG4iXX0= */");
40
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9EYXRhTGlzdC9Db250cm9scy9GaWx0ZXJDb250cm9sLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q3FCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9EYXRhTGlzdC9Db250cm9scy9GaWx0ZXJDb250cm9sLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBzdGF0ZXMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IGtlYmFiQ2FzZSBmcm9tICdsb2Rhc2gva2ViYWJDYXNlJztcbmltcG9ydCB7IHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IENoZWNrYm94LCBGbGV4Qm94LCBNZW51LCBNZW51SXRlbSwgVGV4dCB9IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJy4uLy4uL0FuY2hvcic7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vUG9wb3ZlckNvbnRhaW5lcic7XG5pbXBvcnQgeyB1c2VDb250cm9sQ29udGV4dCB9IGZyb20gJy4uL2hvb2tzL3VzZUxpc3RDb250cm9scyc7XG5pbXBvcnQgeyB1c2VMaXN0U3RhdGUgfSBmcm9tICcuLi9ob29rcy91c2VMaXN0U3RhdGUnO1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uLCBPbkZpbHRlciB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJQcm9wcyB7XG4gIGNvbHVtbktleTogc3RyaW5nO1xuICBvcHRpb25zPzogRmlsdGVyT3B0aW9uW107XG4gIG9uRmlsdGVyPzogT25GaWx0ZXI8YW55PjtcbiAganVzdGlmeT86ICdsZWZ0JyB8ICdyaWdodCc7XG59XG5cbmNvbnN0IGdldE5leHRGaWx0ZXJzID0gKG9wdGlvbjogc3RyaW5nLCBmaWx0ZXJzOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAob3B0aW9uID09PSAnYWxsJykgcmV0dXJuIFtdO1xuICBpZiAoZmlsdGVycy5pbmNsdWRlcyhvcHRpb24pKSB7XG4gICAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKChmaWx0KSA9PiBmaWx0ICE9PSBvcHRpb24pO1xuICB9XG4gIHJldHVybiBbLi4uZmlsdGVycywgb3B0aW9uXTtcbn07XG5cbmNvbnN0IGZvcm1hdE9wdGlvbiA9IChvcHRpb246IEZpbHRlck9wdGlvbikgPT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4geyB0ZXh0OiBvcHRpb24sIHZhbHVlOiBvcHRpb24gfTtcbiAgfVxuICByZXR1cm4gb3B0aW9uO1xufTtcblxuY29uc3QgU0VMRUNUX0FMTCA9IHtcbiAgdGV4dDogJ1NlbGVjdCBBbGwnLFxuICB2YWx1ZTogJ2FsbCcsXG59O1xuXG5jb25zdCBGaWx0ZXJUb2dnbGUgPSBzdHlsZWQoQW5jaG9yKShcbiAgc3RhdGVzKHtcbiAgICBvcGVuOiB7XG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJDb250cm9sOiBSZWFjdC5GQzxGaWx0ZXJQcm9wcz4gPSAoe1xuICBjb2x1bW5LZXksXG4gIG9uRmlsdGVyLFxuICBvcHRpb25zID0gW10sXG4gIGp1c3RpZnkgPSAnbGVmdCcsXG59KSA9PiB7XG4gIGNvbnN0IHRhcmdldCA9IHVzZVJlZjxIVE1MQW5jaG9yRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHsgcHJlZml4SWQgfSA9IHVzZUNvbnRyb2xDb250ZXh0KCk7XG4gIGNvbnN0IFttZW51T3Blbiwgc2V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBkaW1lbnNpb24gPSBTdHJpbmcoY29sdW1uS2V5KTtcbiAgY29uc3QgZmlsdGVycyA9IHVzZUxpc3RTdGF0ZSgpLnF1ZXJ5Py5maWx0ZXI/Lltjb2x1bW5LZXldID8/IFtdO1xuXG4gIHJldHVybiAoXG4gICAgPEZsZXhCb3ggY29sdW1uIHBvc2l0aW9uPVwicmVsYXRpdmVcIj5cbiAgICAgIHttZW51T3BlbiAmJiAoXG4gICAgICAgIDxQb3BvdmVyQ29udGFpbmVyXG4gICAgICAgICAgYWxpZ25tZW50PXtqdXN0aWZ5ID09PSAnbGVmdCcgPyAnYm90dG9tLXJpZ2h0JyA6ICdib3R0b20tbGVmdCd9XG4gICAgICAgICAgaXNPcGVuXG4gICAgICAgICAgb2Zmc2V0PXswfVxuICAgICAgICAgIHRhcmdldFJlZj17dGFyZ2V0fVxuICAgICAgICAgIG9uUmVxdWVzdENsb3NlPXsoKSA9PiBzZXRNZW51T3BlbihmYWxzZSl9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudVxuICAgICAgICAgICAgbWF4SGVpZ2h0PXszMDB9XG4gICAgICAgICAgICBvdmVyZmxvd1k9XCJhdXRvXCJcbiAgICAgICAgICAgIHNwYWNpbmc9XCJjb25kZW5zZWRcIlxuICAgICAgICAgICAgdmFyaWFudD1cInBvcG92ZXJcIlxuICAgICAgICAgICAgd2lkdGg9XCJtYXgtY29udGVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge1tTRUxFQ1RfQUxMLCAuLi5vcHRpb25zXS5tYXAoKG9wdCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IHRleHQsIHZhbHVlIH0gPSBmb3JtYXRPcHRpb24ob3B0KTtcbiAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uSWQgPSBwcmVmaXhJZChgJHtrZWJhYkNhc2UodmFsdWUpfS0ke2RpbWVuc2lvbn1gKTtcbiAgICAgICAgICAgICAgY29uc3QgYWxsU2VsZWN0ZWQgPSBmaWx0ZXJzLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RBbGwgPSB2YWx1ZSA9PT0gJ2FsbCc7XG5cbiAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uU2VsZWN0ZWQgPSBpc1NlbGVjdEFsbFxuICAgICAgICAgICAgICAgID8gYWxsU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICA6ICFmaWx0ZXJzLmluY2x1ZGVzKHZhbHVlKTtcblxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxNZW51SXRlbSBrZXk9e3ByZWZpeElkKGBmaWx0ZXItJHtjb2x1bW5LZXl9LSR7dmFsdWV9YCl9PlxuICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2lzU2VsZWN0QWxsID8gYCR7dGV4dH0gJHtkaW1lbnNpb259YCA6IHRleHR9XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e29wdGlvblNlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtvcHRpb25JZH1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnblNlbGY9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheT1cImlubGluZS1ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiYmFzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwicC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNTZWxlY3RBbGwgJiYgPFRleHQgc2NyZWVucmVhZGVyPiB7ZGltZW5zaW9ufTwvVGV4dD59XG4gICAgICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e29wdGlvbklkfVxuICAgICAgICAgICAgICAgICAgICBzcGFjaW5nPVwidGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIG9uRmlsdGVyPy4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGltZW5zaW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGdldE5leHRGaWx0ZXJzKHZhbHVlLCBmaWx0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvTWVudT5cbiAgICAgICAgPC9Qb3BvdmVyQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIDxGaWx0ZXJUb2dnbGVcbiAgICAgICAgYXJpYS1leHBhbmRlZD17bWVudU9wZW59XG4gICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbD17YGZpbHRlciBieSAke2NvbHVtbktleX1gfVxuICAgICAgICBkaXNwbGF5PVwiaW5saW5lLWZsZXhcIlxuICAgICAgICBvcGVuPXttZW51T3Blbn1cbiAgICAgICAgcmVmPXt0YXJnZXR9XG4gICAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNZW51T3Blbih0cnVlKX1cbiAgICAgID5cbiAgICAgICAgPEZsZXhCb3ggY2VudGVyIGRpbWVuc2lvbnM9ezE2fSBtYj17NH0gbXI9ezR9PlxuICAgICAgICAgIDxGaWx0ZXJJY29uXG4gICAgICAgICAgICBjb2xvcj17ZmlsdGVycy5sZW5ndGggPiAwID8gJ3ByaW1hcnknIDogJ3RleHQnfVxuICAgICAgICAgICAgc2l6ZT17MTR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC9GaWx0ZXJUb2dnbGU+XG4gICAgPC9GbGV4Qm94PlxuICApO1xufTtcbiJdfQ== */");
41
41
  export const FilterControl = ({
42
42
  columnKey,
43
43
  onFilter,
@@ -1,7 +1,10 @@
1
1
  import { PopoverProps } from '../types';
2
2
  export declare const beakRightCenterStylesLrg: {
3
3
  left: number;
4
- transform: string;
4
+ '&:dir(rtl)': {
5
+ transform: "rotate(135deg)" | "rotate(-45deg)";
6
+ };
7
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
5
8
  backgroundImage: string;
6
9
  borderColor: string;
7
10
  borderWidth: string;
@@ -1,5 +1,7 @@
1
- import { beakBottomStyles, beakLeftCenterStyles, beakRightCenterStyles, beakStylesBase, beakTopStyles, getBeakBgAndRotation, tooltipBgColor } from '../../Tip/shared/styles/styles';
1
+ import { beakBottomStyles, beakLeftCenterStyles, beakRightCenterStyles, beakStylesBase, beakTopStyles, getBeakBgAndRotation, horizontalCenterBeakRtlPopover, tooltipBgColor } from '../../Tip/shared/styles/styles';
2
2
  import { popoverPrimaryBgColor } from './base';
3
+ const rtlBeakBoxRight = horizontalCenterBeakRtlPopover('right');
4
+ const rtlBeakBoxLeft = horizontalCenterBeakRtlPopover('left');
3
5
  const positionAbove = {
4
6
  top: 'calc(100% - 10px)',
5
7
  ...beakStylesBase,
@@ -52,6 +54,7 @@ const beakYCenterSml = {
52
54
  };
53
55
  const beakRightCenterStylesSml = {
54
56
  ...beakRightCenterStyles,
57
+ ...rtlBeakBoxRight,
55
58
  left: -8
56
59
  };
57
60
  export const beakRightCenterStylesLrg = {
@@ -60,10 +63,12 @@ export const beakRightCenterStylesLrg = {
60
63
  alignment: 'right',
61
64
  color: popoverPrimaryBgColor
62
65
  }),
66
+ ...rtlBeakBoxRight,
63
67
  left: -10
64
68
  };
65
69
  const beakLeftCenterStylesSml = {
66
70
  ...beakLeftCenterStyles,
71
+ ...rtlBeakBoxLeft,
67
72
  right: -8
68
73
  };
69
74
  const beakLeftCenterStylesLrg = {
@@ -72,6 +77,7 @@ const beakLeftCenterStylesLrg = {
72
77
  alignment: 'left',
73
78
  color: popoverPrimaryBgColor
74
79
  }),
80
+ ...rtlBeakBoxLeft,
75
81
  right: -10
76
82
  };
77
83
  export const beakBoxX = {
@@ -1,5 +1,5 @@
1
1
  import _styled from "@emotion/styled/base";
2
- import { system } from '@codecademy/gamut-styles';
2
+ import { system, useElementDir } from '@codecademy/gamut-styles';
3
3
  import { variance } from '@codecademy/variance';
4
4
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
5
  import * as React from 'react';
@@ -16,7 +16,7 @@ const PopoverContent = /*#__PURE__*/_styled("div", {
16
16
  transform: {
17
17
  property: 'transform'
18
18
  }
19
- })), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qb3BvdmVyQ29udGFpbmVyL1BvcG92ZXJDb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCdUIiLCJmaWxlIjoiLi4vLi4vc3JjL1BvcG92ZXJDb250YWluZXIvUG9wb3ZlckNvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzeXN0ZW0gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdmFyaWFuY2UgfSBmcm9tICdAY29kZWNhZGVteS92YXJpYW5jZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlV2luZG93U2Nyb2xsLCB1c2VXaW5kb3dTaXplIH0gZnJvbSAncmVhY3QtdXNlJztcblxuaW1wb3J0IHsgQm9keVBvcnRhbCB9IGZyb20gJy4uL0JvZHlQb3J0YWwnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAnLi4vRm9jdXNUcmFwJztcbmltcG9ydCB7XG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0LFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzLFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0LFxufSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IENvbnRhaW5lclN0YXRlLCBQb3BvdmVyQ29udGFpbmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldENvbnRhaW5lcnMsIGdldFBvc2l0aW9uLCBpc091dE9mVmlldyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBQb3BvdmVyQ29udGVudCA9IHN0eWxlZC5kaXYoXG4gIHZhcmlhbmNlLmNvbXBvc2UoXG4gICAgc3lzdGVtLnBvc2l0aW9uaW5nLFxuICAgIHZhcmlhbmNlLmNyZWF0ZSh7XG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcHJvcGVydHk6ICd0cmFuc2Zvcm0nLFxuICAgICAgfSxcbiAgICB9KVxuICApXG4pO1xuXG5leHBvcnQgY29uc3QgUG9wb3ZlckNvbnRhaW5lcjogUmVhY3QuRkM8UG9wb3ZlckNvbnRhaW5lclByb3BzPiA9ICh7XG4gIGFsaWdubWVudCA9ICdib3R0b20tbGVmdCcsXG4gIG9mZnNldCA9IDIwLFxuICB5ID0gMCxcbiAgeCA9IDAsXG4gIGludmVydEF4aXMsXG4gIGlubGluZSA9IGZhbHNlLFxuICBpc09wZW4sXG4gIG9uUmVxdWVzdENsb3NlLFxuICB0YXJnZXRSZWYsXG4gIGFsbG93UGFnZUludGVyYWN0aW9uLFxuICBjbG9zZU9uVmlld3BvcnRFeGl0ID0gZmFsc2UsXG4gIC4uLnJlc3Rcbn0pID0+IHtcbiAgY29uc3QgcG9wb3ZlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGhhc1JlcXVlc3RlZENsb3NlUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgb25SZXF1ZXN0Q2xvc2VSZWYgPSB1c2VSZWYob25SZXF1ZXN0Q2xvc2UpO1xuICBjb25zdCB7IHdpZHRoOiB3aW5XLCBoZWlnaHQ6IHdpbkggfSA9IHVzZVdpbmRvd1NpemUoKTtcbiAgY29uc3QgeyB4OiB3aW5YLCB5OiB3aW5ZIH0gPSB1c2VXaW5kb3dTY3JvbGwoKTtcbiAgY29uc3QgW2NvbnRhaW5lcnMsIHNldENvbnRhaW5lcnNdID0gdXNlU3RhdGU8Q29udGFpbmVyU3RhdGU+KCk7XG4gIGNvbnN0IFt0YXJnZXRSZWN0LCBzZXRUYXJnZXRSZWN0XSA9IHVzZVN0YXRlPERPTVJlY3Q+KCk7XG4gIGNvbnN0IHBhcmVudCA9IGNvbnRhaW5lcnM/LnBhcmVudDtcblxuICAvLyBNZW1vaXplIHNjcm9sbGluZyBwYXJlbnRzIHRvIGF2b2lkIGV4cGVuc2l2ZSBET00gdHJhdmVyc2Fsc1xuICBjb25zdCBzY3JvbGxpbmdQYXJlbnRzID0gdXNlU2Nyb2xsaW5nUGFyZW50cyhcbiAgICB0YXJnZXRSZWYgYXMgUmVhY3QuUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgbnVsbD5cbiAgKTtcblxuICAvLyBLZWVwIG9uUmVxdWVzdENsb3NlIHJlZiB1cCB0byBkYXRlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25SZXF1ZXN0Q2xvc2VSZWYuY3VycmVudCA9IG9uUmVxdWVzdENsb3NlO1xuICB9LCBbb25SZXF1ZXN0Q2xvc2VdKTtcblxuICAvLyBEZXRlY3QgUlRMIGRpcmVjdGlvbiBmcm9tIHRoZSB0YXJnZXQgZWxlbWVudCBhbmQgd2F0Y2ggZm9yIGF0dHJpYnV0ZSBjaGFuZ2VzIHNvIHRoZVxuICAvLyBwb3NpdGlvbiByZWNhbGN1bGF0ZXMgd2hlbiBjaGFuZ2VzIG9jY3VyXG4gIGNvbnN0IFtpc1J0bCwgc2V0SXNSdGxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNoZWNrRGlyZWN0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgICAgY29uc3QgZWwgPSB0YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50ID8gdGFyZ2V0IDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgc2V0SXNSdGwoZ2V0Q29tcHV0ZWRTdHlsZShlbCkuZGlyZWN0aW9uID09PSAncnRsJyk7XG4gICAgfTtcblxuICAgIGNoZWNrRGlyZWN0aW9uKCk7XG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGNoZWNrRGlyZWN0aW9uKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwge1xuICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydkaXInXSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW3RhcmdldFJlZl0pO1xuXG4gIGNvbnN0IHBvcG92ZXJQb3NpdGlvbiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChwYXJlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGdldFBvc2l0aW9uKHtcbiAgICAgICAgYWxpZ25tZW50LFxuICAgICAgICBjb250YWluZXI6IHBhcmVudCxcbiAgICAgICAgaW52ZXJ0QXhpcyxcbiAgICAgICAgaXNSdGwsXG4gICAgICAgIG9mZnNldCxcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4geyBzdHlsZXM6IHt9LCBwaHlzaWNhbFN0eWxlczogdW5kZWZpbmVkIH07XG4gIH0sIFtwYXJlbnQsIHgsIHksIG9mZnNldCwgYWxpZ25tZW50LCBpbnZlcnRBeGlzLCBpc1J0bF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgIGlmICghdGFyZ2V0KSByZXR1cm47XG4gICAgc2V0Q29udGFpbmVycyhnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IHdpblgsIHk6IHdpblkgfSkpO1xuICB9LCBbdGFyZ2V0UmVmLCBpbmxpbmUsIHdpblcsIHdpbkgsIHdpblgsIHdpblksIHRhcmdldFJlY3RdKTtcblxuICAvLyBVcGRhdGUgdGFyZ2V0IHJlY3RhbmdsZSB3aGVuIHdpbmRvdyBzaXplL3Njcm9sbCBjaGFuZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VGFyZ2V0UmVjdCh0YXJnZXRSZWY/LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgfSwgW3RhcmdldFJlZiwgaXNPcGVuLCB3aW5XLCB3aW5ILCB3aW5YLCB3aW5ZXSk7XG5cbiAgLy8gVXBkYXRlIHRhcmdldCByZWN0YW5nbGUgd2hlbiBwYXJlbnQgc2l6ZS9zY3JvbGwgY2hhbmdlc1xuICBjb25zdCB1cGRhdGVUYXJnZXRQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChyZWN0PzogRE9NUmVjdCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgICAgaWYgKCF0YXJnZXQpIHJldHVybjtcblxuICAgICAgY29uc3QgbmV3UmVjdCA9IHJlY3QgfHwgdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgc2V0VGFyZ2V0UmVjdChuZXdSZWN0KTtcblxuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFggPVxuICAgICAgICB3aW5kb3cucGFnZVhPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsWSA9XG4gICAgICAgIHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuXG4gICAgICBzZXRDb250YWluZXJzKFxuICAgICAgICBnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IGN1cnJlbnRTY3JvbGxYLCB5OiBjdXJyZW50U2Nyb2xsWSB9KVxuICAgICAgKTtcbiAgICB9LFxuICAgIFt0YXJnZXRSZWYsIGlubGluZV1cbiAgKTtcblxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0KHRhcmdldFJlZiwgdXBkYXRlVGFyZ2V0UG9zaXRpb24pO1xuXG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0KHRhcmdldFJlZiwgc2V0VGFyZ2V0UmVjdCk7XG5cbiAgLy8gSGFuZGxlIGNsb3NlT25WaWV3cG9ydEV4aXQgd2l0aCBjYWNoZWQgc2Nyb2xsaW5nIHBhcmVudHMgZm9yIHBlcmZvcm1hbmNlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjbG9zZU9uVmlld3BvcnRFeGl0KSByZXR1cm47XG5cbiAgICBjb25zdCByZWN0ID0gdGFyZ2V0UmVjdCB8fCBjb250YWluZXJzPy52aWV3cG9ydDtcbiAgICBpZiAoIXJlY3QpIHJldHVybjtcblxuICAgIGNvbnN0IGlzT3V0ID0gaXNPdXRPZlZpZXcoXG4gICAgICByZWN0LFxuICAgICAgdGFyZ2V0UmVmPy5jdXJyZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgc2Nyb2xsaW5nUGFyZW50c1xuICAgICk7XG5cbiAgICBpZiAoaXNPdXQgJiYgIWhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgb25SZXF1ZXN0Q2xvc2VSZWYuY3VycmVudD8uKCk7XG4gICAgfSBlbHNlIGlmICghaXNPdXQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFtcbiAgICB0YXJnZXRSZWN0LFxuICAgIGNvbnRhaW5lcnM/LnZpZXdwb3J0LFxuICAgIHRhcmdldFJlZixcbiAgICBjbG9zZU9uVmlld3BvcnRFeGl0LFxuICAgIHNjcm9sbGluZ1BhcmVudHMsXG4gIF0pO1xuICAvKipcbiAgICogQWxsb3dzIHRhcmdldFJlZiB0byBiZSBvciBjb250YWluIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyB0aGUgcG9wb3ZlciBvcGVuIGFuZCBjbG9zZWQuXG4gICAqIFdpdGhvdXQgdGhpcyBjaGVjayBpdCB3b3VsZCB0b2dnbGUgY2xvc2VkIHRoZW4gYmFjayBvcGVuIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBOb2RlO1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRhcmdldFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoIXRhcmdldEVsZW1lbnQpIHJldHVybjtcbiAgICAgIGlmICh0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcbiAgICAgIGlmIChwb3BvdmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcblxuICAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIGl0J3MgYSBnZW51aW5lIG91dHNpZGUgY2xpY2tcbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmXVxuICApO1xuXG4gIC8qKlxuICAgKiBCYWNrdXAgY2xpY2sgb3V0c2lkZSBoYW5kbGVyIGZvciBjYXNlcyB3aGVyZSBGb2N1c1RyYXAgZGV0ZWN0aW9uIG1pZ2h0IGJlIGludGVyZmVyZWQgd2l0aFxuICAgKiBieSBvdXIgb3duIGZsb2F0aW5nIGVsZW1lbnRzXG4gICAqL1xuICBjb25zdCBoYW5kbGVHbG9iYWxDbGlja091dHNpZGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgTm9kZTtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0YXJnZXRSZWYuY3VycmVudDtcblxuICAgICAgaWYgKCF0YXJnZXRFbGVtZW50IHx8ICFpc09wZW4pIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICB0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgfHxcbiAgICAgICAgcG9wb3ZlclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpXG4gICAgICApXG4gICAgICAgIHJldHVybjtcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyB3aXRoaW4gYW4gT3ZlcmxheSBjb21wb25lbnRcbiAgICAgIGNvbnN0IGNsaWNrZWRFbGVtZW50ID0gdGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgICBpZiAoY2xpY2tlZEVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtZmxvYXRpbmc9XCJvdmVybGF5XCJdJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2tlZCBlbGVtZW50IGlzIHdpdGhpbiBhbm90aGVyIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lclxuICAgICAgY29uc3QgaXNGbG9hdGluZ0VsZW1lbnQgPSBjbGlja2VkRWxlbWVudC5jbG9zZXN0KFxuICAgICAgICAnW2RhdGEtZmxvYXRpbmc9XCJwb3BvdmVyXCJdJ1xuICAgICAgKTtcbiAgICAgIGlmIChcbiAgICAgICAgaXNGbG9hdGluZ0VsZW1lbnQgJiZcbiAgICAgICAgIXBvcG92ZXJSZWYuY3VycmVudD8uY29udGFpbnMoaXNGbG9hdGluZ0VsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgb25SZXF1ZXN0Q2xvc2U/LigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmLCBpc09wZW5dXG4gICk7XG5cbiAgLy8gQmFja3VwIGdsb2JhbCBjbGljayBsaXN0ZW5lciBmb3Igd2hlbiBhIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lciBpcyBvcGVuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgLy8gVXNlIGEgc21hbGwgZGVsYXkgdG8gZW5zdXJlIHRoaXMgZG9lc24ndCBpbnRlcmZlcmUgd2l0aCB0aGUgRm9jdXNUcmFwJ3Mgb3duIGRldGVjdGlvblxuICAgICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSwgdHJ1ZSk7XG4gICAgICB9LCA1MCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAgIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2lzT3BlbiwgaGFuZGxlR2xvYmFsQ2xpY2tPdXRzaWRlXSk7XG5cbiAgaWYgKCFpc09wZW4gfHwgIXRhcmdldFJlZikgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgY29udGVudCA9IChcbiAgICA8Rm9jdXNUcmFwXG4gICAgICBhbGxvd1BhZ2VJbnRlcmFjdGlvbj17aW5saW5lIHx8IGFsbG93UGFnZUludGVyYWN0aW9ufVxuICAgICAgb25DbGlja091dHNpZGU9e2hhbmRsZUNsaWNrT3V0c2lkZX1cbiAgICAgIG9uRXNjYXBlS2V5PXtvblJlcXVlc3RDbG9zZX1cbiAgICA+XG4gICAgICA8UG9wb3ZlckNvbnRlbnRcbiAgICAgICAgZGF0YS1mbG9hdGluZz1cInBvcG92ZXJcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cInBvcG92ZXItY29udGVudC1jb250YWluZXJcIlxuICAgICAgICBwb3NpdGlvbj1cImFic29sdXRlXCJcbiAgICAgICAgcmVmPXtwb3BvdmVyUmVmfVxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgIHpJbmRleD17aW5saW5lID8gNSA6ICdpbml0aWFsJ31cbiAgICAgICAgey4uLnBvcG92ZXJQb3NpdGlvbi5zdHlsZXN9XG4gICAgICAgIC8qIFBoeXNpY2FsIGlubGluZSBzdHlsZSBmb3IgY2VudGVyZWQgYWxpZ25tZW50cyAodG9wL2JvdHRvbSkgd2hlcmVcbiAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0IHdvdWxkIGluY29ycmVjdGx5IGZsaXAgdGhlIGNlbnRlciBwb2ludCBpbiBSVEwgKi9cbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdhbXV0L25vLWlubGluZS1zdHlsZSAqL1xuICAgICAgICBzdHlsZT17cG9wb3ZlclBvc2l0aW9uLnBoeXNpY2FsU3R5bGVzfVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgPC9Gb2N1c1RyYXA+XG4gICk7XG5cbiAgaWYgKGlubGluZSkgcmV0dXJuIGNvbnRlbnQ7XG5cbiAgcmV0dXJuIDxCb2R5UG9ydGFsPntjb250ZW50fTwvQm9keVBvcnRhbD47XG59O1xuIl19 */");
19
+ })), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qb3BvdmVyQ29udGFpbmVyL1BvcG92ZXJDb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCdUIiLCJmaWxlIjoiLi4vLi4vc3JjL1BvcG92ZXJDb250YWluZXIvUG9wb3ZlckNvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzeXN0ZW0sIHVzZUVsZW1lbnREaXIgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdmFyaWFuY2UgfSBmcm9tICdAY29kZWNhZGVteS92YXJpYW5jZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlV2luZG93U2Nyb2xsLCB1c2VXaW5kb3dTaXplIH0gZnJvbSAncmVhY3QtdXNlJztcblxuaW1wb3J0IHsgQm9keVBvcnRhbCB9IGZyb20gJy4uL0JvZHlQb3J0YWwnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAnLi4vRm9jdXNUcmFwJztcbmltcG9ydCB7XG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0LFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzLFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0LFxufSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IENvbnRhaW5lclN0YXRlLCBQb3BvdmVyQ29udGFpbmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldENvbnRhaW5lcnMsIGdldFBvc2l0aW9uLCBpc091dE9mVmlldyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBQb3BvdmVyQ29udGVudCA9IHN0eWxlZC5kaXYoXG4gIHZhcmlhbmNlLmNvbXBvc2UoXG4gICAgc3lzdGVtLnBvc2l0aW9uaW5nLFxuICAgIHZhcmlhbmNlLmNyZWF0ZSh7XG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcHJvcGVydHk6ICd0cmFuc2Zvcm0nLFxuICAgICAgfSxcbiAgICB9KVxuICApXG4pO1xuXG5leHBvcnQgY29uc3QgUG9wb3ZlckNvbnRhaW5lcjogUmVhY3QuRkM8UG9wb3ZlckNvbnRhaW5lclByb3BzPiA9ICh7XG4gIGFsaWdubWVudCA9ICdib3R0b20tbGVmdCcsXG4gIG9mZnNldCA9IDIwLFxuICB5ID0gMCxcbiAgeCA9IDAsXG4gIGludmVydEF4aXMsXG4gIGlubGluZSA9IGZhbHNlLFxuICBpc09wZW4sXG4gIG9uUmVxdWVzdENsb3NlLFxuICB0YXJnZXRSZWYsXG4gIGFsbG93UGFnZUludGVyYWN0aW9uLFxuICBjbG9zZU9uVmlld3BvcnRFeGl0ID0gZmFsc2UsXG4gIC4uLnJlc3Rcbn0pID0+IHtcbiAgY29uc3QgcG9wb3ZlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGhhc1JlcXVlc3RlZENsb3NlUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgb25SZXF1ZXN0Q2xvc2VSZWYgPSB1c2VSZWYob25SZXF1ZXN0Q2xvc2UpO1xuICBjb25zdCB7IHdpZHRoOiB3aW5XLCBoZWlnaHQ6IHdpbkggfSA9IHVzZVdpbmRvd1NpemUoKTtcbiAgY29uc3QgeyB4OiB3aW5YLCB5OiB3aW5ZIH0gPSB1c2VXaW5kb3dTY3JvbGwoKTtcbiAgY29uc3QgW2NvbnRhaW5lcnMsIHNldENvbnRhaW5lcnNdID0gdXNlU3RhdGU8Q29udGFpbmVyU3RhdGU+KCk7XG4gIGNvbnN0IFt0YXJnZXRSZWN0LCBzZXRUYXJnZXRSZWN0XSA9IHVzZVN0YXRlPERPTVJlY3Q+KCk7XG4gIGNvbnN0IHBhcmVudCA9IGNvbnRhaW5lcnM/LnBhcmVudDtcblxuICAvLyBNZW1vaXplIHNjcm9sbGluZyBwYXJlbnRzIHRvIGF2b2lkIGV4cGVuc2l2ZSBET00gdHJhdmVyc2Fsc1xuICBjb25zdCBzY3JvbGxpbmdQYXJlbnRzID0gdXNlU2Nyb2xsaW5nUGFyZW50cyh0YXJnZXRSZWYpO1xuXG4gIC8vIEtlZXAgb25SZXF1ZXN0Q2xvc2UgcmVmIHVwIHRvIGRhdGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBvblJlcXVlc3RDbG9zZVJlZi5jdXJyZW50ID0gb25SZXF1ZXN0Q2xvc2U7XG4gIH0sIFtvblJlcXVlc3RDbG9zZV0pO1xuXG4gIGNvbnN0IGlzUnRsID0gdXNlRWxlbWVudERpcih0YXJnZXRSZWYpID09PSAncnRsJztcblxuICBjb25zdCBwb3BvdmVyUG9zaXRpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocGFyZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBnZXRQb3NpdGlvbih7XG4gICAgICAgIGFsaWdubWVudCxcbiAgICAgICAgY29udGFpbmVyOiBwYXJlbnQsXG4gICAgICAgIGludmVydEF4aXMsXG4gICAgICAgIGlzUnRsLFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHsgc3R5bGVzOiB7fSwgcGh5c2ljYWxTdHlsZXM6IHVuZGVmaW5lZCB9O1xuICB9LCBbcGFyZW50LCB4LCB5LCBvZmZzZXQsIGFsaWdubWVudCwgaW52ZXJ0QXhpcywgaXNSdGxdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9IHRhcmdldFJlZj8uY3VycmVudDtcbiAgICBpZiAoIXRhcmdldCkgcmV0dXJuO1xuICAgIHNldENvbnRhaW5lcnMoZ2V0Q29udGFpbmVycyh0YXJnZXQsIGlubGluZSwgeyB4OiB3aW5YLCB5OiB3aW5ZIH0pKTtcbiAgfSwgW3RhcmdldFJlZiwgaW5saW5lLCB3aW5XLCB3aW5ILCB3aW5YLCB3aW5ZLCB0YXJnZXRSZWN0XSk7XG5cbiAgLy8gVXBkYXRlIHRhcmdldCByZWN0YW5nbGUgd2hlbiB3aW5kb3cgc2l6ZS9zY3JvbGwgY2hhbmdlc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFRhcmdldFJlY3QodGFyZ2V0UmVmPy5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7XG4gIH0sIFt0YXJnZXRSZWYsIGlzT3Blbiwgd2luVywgd2luSCwgd2luWCwgd2luWV0pO1xuXG4gIC8vIFVwZGF0ZSB0YXJnZXQgcmVjdGFuZ2xlIHdoZW4gcGFyZW50IHNpemUvc2Nyb2xsIGNoYW5nZXNcbiAgY29uc3QgdXBkYXRlVGFyZ2V0UG9zaXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAocmVjdD86IERPTVJlY3QpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHRhcmdldFJlZj8uY3VycmVudDtcbiAgICAgIGlmICghdGFyZ2V0KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IG5ld1JlY3QgPSByZWN0IHx8IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHNldFRhcmdldFJlY3QobmV3UmVjdCk7XG5cbiAgICAgIGNvbnN0IGN1cnJlbnRTY3JvbGxYID1cbiAgICAgICAgd2luZG93LnBhZ2VYT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFkgPVxuICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcblxuICAgICAgc2V0Q29udGFpbmVycyhcbiAgICAgICAgZ2V0Q29udGFpbmVycyh0YXJnZXQsIGlubGluZSwgeyB4OiBjdXJyZW50U2Nyb2xsWCwgeTogY3VycmVudFNjcm9sbFkgfSlcbiAgICAgICk7XG4gICAgfSxcbiAgICBbdGFyZ2V0UmVmLCBpbmxpbmVdXG4gICk7XG5cbiAgdXNlU2Nyb2xsaW5nUGFyZW50c0VmZmVjdCh0YXJnZXRSZWYsIHVwZGF0ZVRhcmdldFBvc2l0aW9uKTtcblxuICB1c2VSZXNpemluZ1BhcmVudEVmZmVjdCh0YXJnZXRSZWYsIHNldFRhcmdldFJlY3QpO1xuXG4gIC8vIEhhbmRsZSBjbG9zZU9uVmlld3BvcnRFeGl0IHdpdGggY2FjaGVkIHNjcm9sbGluZyBwYXJlbnRzIGZvciBwZXJmb3JtYW5jZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghY2xvc2VPblZpZXdwb3J0RXhpdCkgcmV0dXJuO1xuXG4gICAgY29uc3QgcmVjdCA9IHRhcmdldFJlY3QgfHwgY29udGFpbmVycz8udmlld3BvcnQ7XG4gICAgaWYgKCFyZWN0KSByZXR1cm47XG5cbiAgICBjb25zdCBpc091dCA9IGlzT3V0T2ZWaWV3KFxuICAgICAgcmVjdCxcbiAgICAgIHRhcmdldFJlZj8uY3VycmVudCBhcyBIVE1MRWxlbWVudCxcbiAgICAgIHNjcm9sbGluZ1BhcmVudHNcbiAgICApO1xuXG4gICAgaWYgKGlzT3V0ICYmICFoYXNSZXF1ZXN0ZWRDbG9zZVJlZi5jdXJyZW50KSB7XG4gICAgICBoYXNSZXF1ZXN0ZWRDbG9zZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIG9uUmVxdWVzdENsb3NlUmVmLmN1cnJlbnQ/LigpO1xuICAgIH0gZWxzZSBpZiAoIWlzT3V0KSB7XG4gICAgICBoYXNSZXF1ZXN0ZWRDbG9zZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgfVxuICB9LCBbXG4gICAgdGFyZ2V0UmVjdCxcbiAgICBjb250YWluZXJzPy52aWV3cG9ydCxcbiAgICB0YXJnZXRSZWYsXG4gICAgY2xvc2VPblZpZXdwb3J0RXhpdCxcbiAgICBzY3JvbGxpbmdQYXJlbnRzLFxuICBdKTtcbiAgLyoqXG4gICAqIEFsbG93cyB0YXJnZXRSZWYgdG8gYmUgb3IgY29udGFpbiBhIGJ1dHRvbiB0aGF0IHRvZ2dsZXMgdGhlIHBvcG92ZXIgb3BlbiBhbmQgY2xvc2VkLlxuICAgKiBXaXRob3V0IHRoaXMgY2hlY2sgaXQgd291bGQgdG9nZ2xlIGNsb3NlZCB0aGVuIGJhY2sgb3BlbiBpbW1lZGlhdGVseS5cbiAgICpcbiAgICovXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgTm9kZTtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0YXJnZXRSZWYuY3VycmVudDtcblxuICAgICAgaWYgKCF0YXJnZXRFbGVtZW50KSByZXR1cm47XG4gICAgICBpZiAodGFyZ2V0RWxlbWVudC5jb250YWlucyh0YXJnZXQpKSByZXR1cm47XG4gICAgICBpZiAocG9wb3ZlclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSByZXR1cm47XG5cbiAgICAgIC8vIElmIHdlIGdldCBoZXJlLCBpdCdzIGEgZ2VudWluZSBvdXRzaWRlIGNsaWNrXG4gICAgICBvblJlcXVlc3RDbG9zZT8uKCk7XG4gICAgfSxcbiAgICBbb25SZXF1ZXN0Q2xvc2UsIHRhcmdldFJlZl1cbiAgKTtcblxuICAvKipcbiAgICogQmFja3VwIGNsaWNrIG91dHNpZGUgaGFuZGxlciBmb3IgY2FzZXMgd2hlcmUgRm9jdXNUcmFwIGRldGVjdGlvbiBtaWdodCBiZSBpbnRlcmZlcmVkIHdpdGhcbiAgICogYnkgb3VyIG93biBmbG9hdGluZyBlbGVtZW50c1xuICAgKi9cbiAgY29uc3QgaGFuZGxlR2xvYmFsQ2xpY2tPdXRzaWRlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIE5vZGU7XG4gICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gdGFyZ2V0UmVmLmN1cnJlbnQ7XG5cbiAgICAgIGlmICghdGFyZ2V0RWxlbWVudCB8fCAhaXNPcGVuKSByZXR1cm47XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGFyZ2V0RWxlbWVudC5jb250YWlucyh0YXJnZXQpIHx8XG4gICAgICAgIHBvcG92ZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KVxuICAgICAgKVxuICAgICAgICByZXR1cm47XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgd2l0aGluIGFuIE92ZXJsYXkgY29tcG9uZW50XG4gICAgICBjb25zdCBjbGlja2VkRWxlbWVudCA9IHRhcmdldCBhcyBFbGVtZW50O1xuICAgICAgaWYgKGNsaWNrZWRFbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWZsb2F0aW5nPVwib3ZlcmxheVwiXScpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyB3aXRoaW4gYW5vdGhlciBQb3BvdmVyIG9yIFBvcG92ZXJDb250YWluZXJcbiAgICAgIGNvbnN0IGlzRmxvYXRpbmdFbGVtZW50ID0gY2xpY2tlZEVsZW1lbnQuY2xvc2VzdChcbiAgICAgICAgJ1tkYXRhLWZsb2F0aW5nPVwicG9wb3ZlclwiXSdcbiAgICAgICk7XG4gICAgICBpZiAoXG4gICAgICAgIGlzRmxvYXRpbmdFbGVtZW50ICYmXG4gICAgICAgICFwb3BvdmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGlzRmxvYXRpbmdFbGVtZW50KVxuICAgICAgKSB7XG4gICAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvblJlcXVlc3RDbG9zZT8uKCk7XG4gICAgfSxcbiAgICBbb25SZXF1ZXN0Q2xvc2UsIHRhcmdldFJlZiwgaXNPcGVuXVxuICApO1xuXG4gIC8vIEJhY2t1cCBnbG9iYWwgY2xpY2sgbGlzdGVuZXIgZm9yIHdoZW4gYSBQb3BvdmVyIG9yIFBvcG92ZXJDb250YWluZXIgaXMgb3BlblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIC8vIFVzZSBhIHNtYWxsIGRlbGF5IHRvIGVuc3VyZSB0aGlzIGRvZXNuJ3QgaW50ZXJmZXJlIHdpdGggdGhlIEZvY3VzVHJhcCdzIG93biBkZXRlY3Rpb25cbiAgICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVHbG9iYWxDbGlja091dHNpZGUsIHRydWUpO1xuICAgICAgfSwgNTApO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAnbW91c2Vkb3duJyxcbiAgICAgICAgICBoYW5kbGVHbG9iYWxDbGlja091dHNpZGUsXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtpc09wZW4sIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZV0pO1xuXG4gIGlmICghaXNPcGVuIHx8ICF0YXJnZXRSZWYpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGNvbnRlbnQgPSAoXG4gICAgPEZvY3VzVHJhcFxuICAgICAgYWxsb3dQYWdlSW50ZXJhY3Rpb249e2lubGluZSB8fCBhbGxvd1BhZ2VJbnRlcmFjdGlvbn1cbiAgICAgIG9uQ2xpY2tPdXRzaWRlPXtoYW5kbGVDbGlja091dHNpZGV9XG4gICAgICBvbkVzY2FwZUtleT17b25SZXF1ZXN0Q2xvc2V9XG4gICAgPlxuICAgICAgPFBvcG92ZXJDb250ZW50XG4gICAgICAgIGRhdGEtZmxvYXRpbmc9XCJwb3BvdmVyXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJwb3BvdmVyLWNvbnRlbnQtY29udGFpbmVyXCJcbiAgICAgICAgcG9zaXRpb249XCJhYnNvbHV0ZVwiXG4gICAgICAgIHJlZj17cG9wb3ZlclJlZn1cbiAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgICB6SW5kZXg9e2lubGluZSA/IDUgOiAnaW5pdGlhbCd9XG4gICAgICAgIHsuLi5wb3BvdmVyUG9zaXRpb24uc3R5bGVzfVxuICAgICAgICAvKiBQaHlzaWNhbCBpbmxpbmUgc3R5bGUgZm9yIGNlbnRlcmVkIGFsaWdubWVudHMgKHRvcC9ib3R0b20pIHdoZXJlXG4gICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydCB3b3VsZCBpbmNvcnJlY3RseSBmbGlwIHRoZSBjZW50ZXIgcG9pbnQgaW4gUlRMICovXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBnYW11dC9uby1pbmxpbmUtc3R5bGUgKi9cbiAgICAgICAgc3R5bGU9e3BvcG92ZXJQb3NpdGlvbi5waHlzaWNhbFN0eWxlc31cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgIDwvRm9jdXNUcmFwPlxuICApO1xuXG4gIGlmIChpbmxpbmUpIHJldHVybiBjb250ZW50O1xuXG4gIHJldHVybiA8Qm9keVBvcnRhbD57Y29udGVudH08L0JvZHlQb3J0YWw+O1xufTtcbiJdfQ== */");
20
20
  export const PopoverContainer = ({
21
21
  alignment = 'bottom-left',
22
22
  offset = 20,
@@ -53,25 +53,7 @@ export const PopoverContainer = ({
53
53
  useEffect(() => {
54
54
  onRequestCloseRef.current = onRequestClose;
55
55
  }, [onRequestClose]);
56
-
57
- // Detect RTL direction from the target element and watch for attribute changes so the
58
- // position recalculates when changes occur
59
- const [isRtl, setIsRtl] = useState(false);
60
- useEffect(() => {
61
- const checkDirection = () => {
62
- const target = targetRef?.current;
63
- const el = target instanceof Element ? target : document.documentElement;
64
- setIsRtl(getComputedStyle(el).direction === 'rtl');
65
- };
66
- checkDirection();
67
- const observer = new MutationObserver(checkDirection);
68
- observer.observe(document.documentElement, {
69
- attributes: true,
70
- attributeFilter: ['dir'],
71
- subtree: true
72
- });
73
- return () => observer.disconnect();
74
- }, [targetRef]);
56
+ const isRtl = useElementDir(targetRef) === 'rtl';
75
57
  const popoverPosition = useMemo(() => {
76
58
  if (parent !== undefined) {
77
59
  return getPosition({
@@ -1,8 +1,7 @@
1
1
  import { RefObject } from 'react';
2
2
  import { WithChildrenProp } from '../utils';
3
3
  export type Alignments = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top' | 'bottom' | 'left' | 'right';
4
- export interface TargetRef extends Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains' | 'offsetHeight' | 'offsetWidth' | 'offsetTop' | 'offsetLeft' | 'offsetParent'> {
5
- }
4
+ export type TargetRef = Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains' | 'offsetHeight' | 'offsetWidth' | 'offsetTop' | 'offsetLeft' | 'offsetParent'> & HTMLElement;
6
5
  export interface PositionContext {
7
6
  width: number;
8
7
  height: number;
@@ -26,17 +26,35 @@ export declare const centerHorizontal: {
26
26
  readonly my: "auto";
27
27
  };
28
28
  declare const beakBackgroundRotation: {
29
- above: string;
30
- below: string;
31
- right: string;
32
- left: string;
29
+ readonly above: "rotate(45deg)";
30
+ readonly below: "rotate(-135deg)";
31
+ readonly right: "rotate(135deg)";
32
+ readonly left: "rotate(-45deg)";
33
+ };
34
+ type SideCenterBeakSide = 'left' | 'right';
35
+ /**
36
+ * Inline ToolTip / InfoTip: RTL beak rotation on the container that owns `::after`
37
+ * (avoids invalid `::after:dir(rtl)` when the same beak object is merged under `&::after`).
38
+ */
39
+ export declare const horizontalCenterBeakRtlInline: (side: SideCenterBeakSide) => {
40
+ '&:dir(rtl)': {
41
+ '&::after': {
42
+ transform: "rotate(135deg)" | "rotate(-45deg)";
43
+ };
44
+ };
45
+ };
46
+ /** Popover beak is a real node; `:dir(rtl)` applies on that element (not under `&::after`). */
47
+ export declare const horizontalCenterBeakRtlPopover: (side: SideCenterBeakSide) => {
48
+ '&:dir(rtl)': {
49
+ transform: "rotate(135deg)" | "rotate(-45deg)";
50
+ };
33
51
  };
34
52
  type GetBeakBackgroundType = {
35
53
  alignment: keyof typeof beakBackgroundRotation;
36
54
  color: typeof tooltipBgColor | typeof popoverPrimaryBgColor;
37
55
  };
38
56
  export declare const getBeakBgAndRotation: ({ alignment, color, }: GetBeakBackgroundType) => {
39
- transform: string;
57
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
40
58
  backgroundImage: string;
41
59
  };
42
60
  export declare const beakStylesBase: {
@@ -44,25 +62,25 @@ export declare const beakStylesBase: {
44
62
  borderWidth: string;
45
63
  };
46
64
  export declare const beakTopStyles: {
47
- transform: string;
65
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
48
66
  backgroundImage: string;
49
67
  borderColor: string;
50
68
  borderWidth: string;
51
69
  };
52
70
  export declare const beakBottomStyles: {
53
- transform: string;
71
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
54
72
  backgroundImage: string;
55
73
  borderColor: string;
56
74
  borderWidth: string;
57
75
  };
58
76
  export declare const beakRightCenterStyles: {
59
- transform: string;
77
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
60
78
  backgroundImage: string;
61
79
  borderColor: string;
62
80
  borderWidth: string;
63
81
  };
64
82
  export declare const beakLeftCenterStyles: {
65
- transform: string;
83
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
66
84
  backgroundImage: string;
67
85
  borderColor: string;
68
86
  borderWidth: string;
@@ -73,7 +91,7 @@ export declare const topStyles: {
73
91
  };
74
92
  export declare const topStylesAfter: {
75
93
  readonly bottom: "0.25rem";
76
- readonly transform: string;
94
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
77
95
  readonly backgroundImage: string;
78
96
  readonly borderColor: string;
79
97
  readonly borderWidth: string;
@@ -103,14 +121,19 @@ export declare const bottomStylesBefore: {
103
121
  };
104
122
  export declare const bottomStylesAfter: {
105
123
  readonly top: "0.25rem";
106
- readonly transform: string;
124
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
107
125
  readonly backgroundImage: string;
108
126
  readonly borderColor: string;
109
127
  readonly borderWidth: string;
110
128
  };
111
129
  export declare const rightAlignStyles: {
112
- readonly pl: 12;
113
- readonly left: "100%";
130
+ '&:dir(rtl)': {
131
+ '&::after': {
132
+ transform: "rotate(135deg)" | "rotate(-45deg)";
133
+ };
134
+ };
135
+ pl: number;
136
+ left: string;
114
137
  };
115
138
  export declare const horizontalCenterStyles: {
116
139
  readonly maxWidth: number;
@@ -121,8 +144,13 @@ export declare const horizontalCenterStyles: {
121
144
  readonly minWidth: 4;
122
145
  };
123
146
  export declare const leftAlignStyles: {
124
- readonly pr: 12;
125
- readonly right: "100%";
147
+ '&:dir(rtl)': {
148
+ '&::after': {
149
+ transform: "rotate(135deg)" | "rotate(-45deg)";
150
+ };
151
+ };
152
+ pr: number;
153
+ right: string;
126
154
  };
127
155
  export declare const verticalCenterStyles: {
128
156
  readonly left: "calc(50% - 4rem)";
@@ -147,14 +175,14 @@ export declare const rightVertStylesAfter: {
147
175
  readonly left: "1.5rem";
148
176
  };
149
177
  export declare const rightAlignStylesAfter: {
150
- readonly transform: string;
178
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
151
179
  readonly backgroundImage: string;
152
180
  readonly borderColor: string;
153
181
  readonly borderWidth: string;
154
182
  readonly left: "4px";
155
183
  };
156
184
  export declare const leftAlignStylesAfter: {
157
- readonly transform: string;
185
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
158
186
  readonly backgroundImage: string;
159
187
  readonly borderColor: string;
160
188
  readonly borderWidth: string;
@@ -58,6 +58,26 @@ const beakBackgroundRotation = {
58
58
  right: 'rotate(135deg)',
59
59
  left: 'rotate(-45deg)'
60
60
  };
61
+ const sideCenterMirroredTransform = side => side === 'right' ? beakBackgroundRotation.left : beakBackgroundRotation.right;
62
+
63
+ /**
64
+ * Inline ToolTip / InfoTip: RTL beak rotation on the container that owns `::after`
65
+ * (avoids invalid `::after:dir(rtl)` when the same beak object is merged under `&::after`).
66
+ */
67
+ export const horizontalCenterBeakRtlInline = side => ({
68
+ '&:dir(rtl)': {
69
+ '&::after': {
70
+ transform: sideCenterMirroredTransform(side)
71
+ }
72
+ }
73
+ });
74
+
75
+ /** Popover beak is a real node; `:dir(rtl)` applies on that element (not under `&::after`). */
76
+ export const horizontalCenterBeakRtlPopover = side => ({
77
+ '&:dir(rtl)': {
78
+ transform: sideCenterMirroredTransform(side)
79
+ }
80
+ });
61
81
  export const getBeakBgAndRotation = ({
62
82
  alignment,
63
83
  color
@@ -137,7 +157,8 @@ export const bottomStylesAfter = {
137
157
  };
138
158
  export const rightAlignStyles = {
139
159
  pl: containerOffsetVertical,
140
- left: '100%'
160
+ left: '100%',
161
+ ...horizontalCenterBeakRtlInline('right')
141
162
  };
142
163
  export const horizontalCenterStyles = {
143
164
  ...horizontalCenterWidths,
@@ -150,7 +171,8 @@ export const horizontalCenterStyles = {
150
171
  };
151
172
  export const leftAlignStyles = {
152
173
  pr: containerOffsetVertical,
153
- right: '100%'
174
+ right: '100%',
175
+ ...horizontalCenterBeakRtlInline('left')
154
176
  };
155
177
  export const verticalCenterStyles = {
156
178
  ...verticalCenterWidths,
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@codecademy/gamut",
3
3
  "description": "Styleguide & Component library for Codecademy",
4
- "version": "68.2.3-alpha.f5f9ec.0",
4
+ "version": "68.2.3-alpha.f669d7.0",
5
5
  "author": "Codecademy Engineering <dev@codecademy.com>",
6
6
  "dependencies": {
7
- "@codecademy/gamut-icons": "9.57.3-alpha.f5f9ec.0",
8
- "@codecademy/gamut-illustrations": "0.58.10-alpha.f5f9ec.0",
9
- "@codecademy/gamut-patterns": "0.10.29-alpha.f5f9ec.0",
10
- "@codecademy/gamut-styles": "17.13.2-alpha.f5f9ec.0",
11
- "@codecademy/variance": "0.26.2-alpha.f5f9ec.0",
7
+ "@codecademy/gamut-icons": "9.57.3-alpha.f669d7.0",
8
+ "@codecademy/gamut-illustrations": "0.58.10-alpha.f669d7.0",
9
+ "@codecademy/gamut-patterns": "0.10.29-alpha.f669d7.0",
10
+ "@codecademy/gamut-styles": "17.13.2-alpha.f669d7.0",
11
+ "@codecademy/variance": "0.26.2-alpha.f669d7.0",
12
12
  "@react-aria/interactions": "3.25.0",
13
13
  "@types/marked": "^4.0.8",
14
14
  "@vidstack/react": "^1.12.12",