@codecademy/gamut
68.2.268.2.3-alpha.955544.0
~
Modified (8 files)
Index: package/dist/Popover/styles/beak.js
===================================================================
--- package/dist/Popover/styles/beak.js
+++ package/dist/Popover/styles/beak.js
@@ -1,6 +1,8 @@
-import { beakBottomStyles, beakLeftCenterStyles, beakRightCenterStyles, beakStylesBase, beakTopStyles, getBeakBgAndRotation, tooltipBgColor } from '../../Tip/shared/styles/styles';
+import { beakBottomStyles, beakLeftCenterStyles, beakRightCenterStyles, beakStylesBase, beakTopStyles, getBeakBgAndRotation, horizontalCenterBeakRtlPopover, tooltipBgColor } from '../../Tip/shared/styles/styles';
import { popoverPrimaryBgColor } from './base';
+const rtlBeakBoxRight = horizontalCenterBeakRtlPopover('right');
+const rtlBeakBoxLeft = horizontalCenterBeakRtlPopover('left');
const positionAbove = {
top: 'calc(100% - 10px)',
...beakStylesBase,
...getBeakBgAndRotation({
@@ -51,28 +53,32 @@
top: 'calc(50% - 8px)'
};
const beakRightCenterStylesSml = {
...beakRightCenterStyles,
+ ...rtlBeakBoxRight,
left: -8
};
export const beakRightCenterStylesLrg = {
...beakStylesBase,
...getBeakBgAndRotation({
alignment: 'right',
color: popoverPrimaryBgColor
}),
+ ...rtlBeakBoxRight,
left: -10
};
const beakLeftCenterStylesSml = {
...beakLeftCenterStyles,
+ ...rtlBeakBoxLeft,
right: -8
};
const beakLeftCenterStylesLrg = {
...beakStylesBase,
...getBeakBgAndRotation({
alignment: 'left',
color: popoverPrimaryBgColor
}),
+ ...rtlBeakBoxLeft,
right: -10
};
export const beakBoxX = {
alignItems: 'flex-end', Index: package/dist/DataList/Controls/FilterControl.js
===================================================================
--- package/dist/DataList/Controls/FilterControl.js
+++ package/dist/DataList/Controls/FilterControl.js
@@ -36,9 +36,9 @@
})(states({
open: {
pointerEvents: 'none'
}
-}), 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= */");
+}), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9EYXRhTGlzdC9Db250cm9scy9GaWx0ZXJDb250cm9sLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q3FCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9EYXRhTGlzdC9Db250cm9scy9GaWx0ZXJDb250cm9sLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBzdGF0ZXMgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IGtlYmFiQ2FzZSBmcm9tICdsb2Rhc2gva2ViYWJDYXNlJztcbmltcG9ydCB7IHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IENoZWNrYm94LCBGbGV4Qm94LCBNZW51LCBNZW51SXRlbSwgVGV4dCB9IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJy4uLy4uL0FuY2hvcic7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vUG9wb3ZlckNvbnRhaW5lcic7XG5pbXBvcnQgeyB1c2VDb250cm9sQ29udGV4dCB9IGZyb20gJy4uL2hvb2tzL3VzZUxpc3RDb250cm9scyc7XG5pbXBvcnQgeyB1c2VMaXN0U3RhdGUgfSBmcm9tICcuLi9ob29rcy91c2VMaXN0U3RhdGUnO1xuaW1wb3J0IHsgRmlsdGVyT3B0aW9uLCBPbkZpbHRlciB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJQcm9wcyB7XG4gIGNvbHVtbktleTogc3RyaW5nO1xuICBvcHRpb25zPzogRmlsdGVyT3B0aW9uW107XG4gIG9uRmlsdGVyPzogT25GaWx0ZXI8YW55PjtcbiAganVzdGlmeT86ICdsZWZ0JyB8ICdyaWdodCc7XG59XG5cbmNvbnN0IGdldE5leHRGaWx0ZXJzID0gKG9wdGlvbjogc3RyaW5nLCBmaWx0ZXJzOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAob3B0aW9uID09PSAnYWxsJykgcmV0dXJuIFtdO1xuICBpZiAoZmlsdGVycy5pbmNsdWRlcyhvcHRpb24pKSB7XG4gICAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKChmaWx0KSA9PiBmaWx0ICE9PSBvcHRpb24pO1xuICB9XG4gIHJldHVybiBbLi4uZmlsdGVycywgb3B0aW9uXTtcbn07XG5cbmNvbnN0IGZvcm1hdE9wdGlvbiA9IChvcHRpb246IEZpbHRlck9wdGlvbikgPT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4geyB0ZXh0OiBvcHRpb24sIHZhbHVlOiBvcHRpb24gfTtcbiAgfVxuICByZXR1cm4gb3B0aW9uO1xufTtcblxuY29uc3QgU0VMRUNUX0FMTCA9IHtcbiAgdGV4dDogJ1NlbGVjdCBBbGwnLFxuICB2YWx1ZTogJ2FsbCcsXG59O1xuXG5jb25zdCBGaWx0ZXJUb2dnbGUgPSBzdHlsZWQoQW5jaG9yKShcbiAgc3RhdGVzKHtcbiAgICBvcGVuOiB7XG4gICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJDb250cm9sOiBSZWFjdC5GQzxGaWx0ZXJQcm9wcz4gPSAoe1xuICBjb2x1bW5LZXksXG4gIG9uRmlsdGVyLFxuICBvcHRpb25zID0gW10sXG4gIGp1c3RpZnkgPSAnbGVmdCcsXG59KSA9PiB7XG4gIGNvbnN0IHRhcmdldCA9IHVzZVJlZjxIVE1MQW5jaG9yRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHsgcHJlZml4SWQgfSA9IHVzZUNvbnRyb2xDb250ZXh0KCk7XG4gIGNvbnN0IFttZW51T3Blbiwgc2V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBkaW1lbnNpb24gPSBTdHJpbmcoY29sdW1uS2V5KTtcbiAgY29uc3QgZmlsdGVycyA9IHVzZUxpc3RTdGF0ZSgpLnF1ZXJ5Py5maWx0ZXI/Lltjb2x1bW5LZXldID8/IFtdO1xuXG4gIHJldHVybiAoXG4gICAgPEZsZXhCb3ggY29sdW1uIHBvc2l0aW9uPVwicmVsYXRpdmVcIj5cbiAgICAgIHttZW51T3BlbiAmJiAoXG4gICAgICAgIDxQb3BvdmVyQ29udGFpbmVyXG4gICAgICAgICAgYWxpZ25tZW50PXtqdXN0aWZ5ID09PSAnbGVmdCcgPyAnYm90dG9tLXJpZ2h0JyA6ICdib3R0b20tbGVmdCd9XG4gICAgICAgICAgaXNPcGVuXG4gICAgICAgICAgb2Zmc2V0PXswfVxuICAgICAgICAgIHRhcmdldFJlZj17dGFyZ2V0fVxuICAgICAgICAgIG9uUmVxdWVzdENsb3NlPXsoKSA9PiBzZXRNZW51T3BlbihmYWxzZSl9XG4gICAgICAgID5cbiAgICAgICAgICA8TWVudVxuICAgICAgICAgICAgbWF4SGVpZ2h0PXszMDB9XG4gICAgICAgICAgICBvdmVyZmxvd1k9XCJhdXRvXCJcbiAgICAgICAgICAgIHNwYWNpbmc9XCJjb25kZW5zZWRcIlxuICAgICAgICAgICAgdmFyaWFudD1cInBvcG92ZXJcIlxuICAgICAgICAgICAgd2lkdGg9XCJtYXgtY29udGVudFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge1tTRUxFQ1RfQUxMLCAuLi5vcHRpb25zXS5tYXAoKG9wdCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IHRleHQsIHZhbHVlIH0gPSBmb3JtYXRPcHRpb24ob3B0KTtcbiAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uSWQgPSBwcmVmaXhJZChgJHtrZWJhYkNhc2UodmFsdWUpfS0ke2RpbWVuc2lvbn1gKTtcbiAgICAgICAgICAgICAgY29uc3QgYWxsU2VsZWN0ZWQgPSBmaWx0ZXJzLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RBbGwgPSB2YWx1ZSA9PT0gJ2FsbCc7XG5cbiAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uU2VsZWN0ZWQgPSBpc1NlbGVjdEFsbFxuICAgICAgICAgICAgICAgID8gYWxsU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICA6ICFmaWx0ZXJzLmluY2x1ZGVzKHZhbHVlKTtcblxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxNZW51SXRlbSBrZXk9e3ByZWZpeElkKGBmaWx0ZXItJHtjb2x1bW5LZXl9LSR7dmFsdWV9YCl9PlxuICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2lzU2VsZWN0QWxsID8gYCR7dGV4dH0gJHtkaW1lbnNpb259YCA6IHRleHR9XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e29wdGlvblNlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtvcHRpb25JZH1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnblNlbGY9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheT1cImlubGluZS1ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiYmFzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwicC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNTZWxlY3RBbGwgJiYgPFRleHQgc2NyZWVucmVhZGVyPiB7ZGltZW5zaW9ufTwvVGV4dD59XG4gICAgICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e29wdGlvbklkfVxuICAgICAgICAgICAgICAgICAgICBzcGFjaW5nPVwidGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIG9uRmlsdGVyPy4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGltZW5zaW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGdldE5leHRGaWx0ZXJzKHZhbHVlLCBmaWx0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvTWVudT5cbiAgICAgICAgPC9Qb3BvdmVyQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIDxGaWx0ZXJUb2dnbGVcbiAgICAgICAgYXJpYS1leHBhbmRlZD17bWVudU9wZW59XG4gICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbD17YGZpbHRlciBieSAke2NvbHVtbktleX1gfVxuICAgICAgICBkaXNwbGF5PVwiaW5saW5lLWZsZXhcIlxuICAgICAgICBvcGVuPXttZW51T3Blbn1cbiAgICAgICAgcmVmPXt0YXJnZXR9XG4gICAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNZW51T3Blbih0cnVlKX1cbiAgICAgID5cbiAgICAgICAgPEZsZXhCb3ggY2VudGVyIGRpbWVuc2lvbnM9ezE2fSBtYj17NH0gbXI9ezR9PlxuICAgICAgICAgIDxGaWx0ZXJJY29uXG4gICAgICAgICAgICBjb2xvcj17ZmlsdGVycy5sZW5ndGggPiAwID8gJ3ByaW1hcnknIDogJ3RleHQnfVxuICAgICAgICAgICAgc2l6ZT17MTR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgPC9GaWx0ZXJUb2dnbGU+XG4gICAgPC9GbGV4Qm94PlxuICApO1xufTtcbiJdfQ== */");
export const FilterControl = ({
columnKey,
onFilter,
options = [], Index: package/dist/PopoverContainer/PopoverContainer.js
===================================================================
--- package/dist/PopoverContainer/PopoverContainer.js
+++ package/dist/PopoverContainer/PopoverContainer.js
@@ -1,6 +1,6 @@
import _styled from "@emotion/styled/base";
-import { system } from '@codecademy/gamut-styles';
+import { system, useElementDir, useLogicalProperties } from '@codecademy/gamut-styles';
import { variance } from '@codecademy/variance';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import * as React from 'react';
import { useWindowScroll, useWindowSize } from 'react-use';
@@ -15,9 +15,9 @@
})(variance.compose(system.positioning, variance.create({
transform: {
property: 'transform'
}
-})), 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 */");
+})), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qb3BvdmVyQ29udGFpbmVyL1BvcG92ZXJDb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCdUIiLCJmaWxlIjoiLi4vLi4vc3JjL1BvcG92ZXJDb250YWluZXIvUG9wb3ZlckNvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBzeXN0ZW0sXG4gIHVzZUVsZW1lbnREaXIsXG4gIHVzZUxvZ2ljYWxQcm9wZXJ0aWVzLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdmFyaWFuY2UgfSBmcm9tICdAY29kZWNhZGVteS92YXJpYW5jZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlV2luZG93U2Nyb2xsLCB1c2VXaW5kb3dTaXplIH0gZnJvbSAncmVhY3QtdXNlJztcblxuaW1wb3J0IHsgQm9keVBvcnRhbCB9IGZyb20gJy4uL0JvZHlQb3J0YWwnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAnLi4vRm9jdXNUcmFwJztcbmltcG9ydCB7XG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0LFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzLFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0LFxufSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IENvbnRhaW5lclN0YXRlLCBQb3BvdmVyQ29udGFpbmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldENvbnRhaW5lcnMsIGdldFBvc2l0aW9uLCBpc091dE9mVmlldyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBQb3BvdmVyQ29udGVudCA9IHN0eWxlZC5kaXYoXG4gIHZhcmlhbmNlLmNvbXBvc2UoXG4gICAgc3lzdGVtLnBvc2l0aW9uaW5nLFxuICAgIHZhcmlhbmNlLmNyZWF0ZSh7XG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcHJvcGVydHk6ICd0cmFuc2Zvcm0nLFxuICAgICAgfSxcbiAgICB9KVxuICApXG4pO1xuXG5leHBvcnQgY29uc3QgUG9wb3ZlckNvbnRhaW5lcjogUmVhY3QuRkM8UG9wb3ZlckNvbnRhaW5lclByb3BzPiA9ICh7XG4gIGFsaWdubWVudCA9ICdib3R0b20tbGVmdCcsXG4gIG9mZnNldCA9IDIwLFxuICB5ID0gMCxcbiAgeCA9IDAsXG4gIGludmVydEF4aXMsXG4gIGlubGluZSA9IGZhbHNlLFxuICBpc09wZW4sXG4gIG9uUmVxdWVzdENsb3NlLFxuICB0YXJnZXRSZWYsXG4gIGFsbG93UGFnZUludGVyYWN0aW9uLFxuICBjbG9zZU9uVmlld3BvcnRFeGl0ID0gZmFsc2UsXG4gIC4uLnJlc3Rcbn0pID0+IHtcbiAgY29uc3QgcG9wb3ZlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGhhc1JlcXVlc3RlZENsb3NlUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgb25SZXF1ZXN0Q2xvc2VSZWYgPSB1c2VSZWYob25SZXF1ZXN0Q2xvc2UpO1xuICBjb25zdCB7IHdpZHRoOiB3aW5XLCBoZWlnaHQ6IHdpbkggfSA9IHVzZVdpbmRvd1NpemUoKTtcbiAgY29uc3QgeyB4OiB3aW5YLCB5OiB3aW5ZIH0gPSB1c2VXaW5kb3dTY3JvbGwoKTtcbiAgY29uc3QgW2NvbnRhaW5lcnMsIHNldENvbnRhaW5lcnNdID0gdXNlU3RhdGU8Q29udGFpbmVyU3RhdGU+KCk7XG4gIGNvbnN0IFt0YXJnZXRSZWN0LCBzZXRUYXJnZXRSZWN0XSA9IHVzZVN0YXRlPERPTVJlY3Q+KCk7XG4gIGNvbnN0IHBhcmVudCA9IGNvbnRhaW5lcnM/LnBhcmVudDtcblxuICAvLyBNZW1vaXplIHNjcm9sbGluZyBwYXJlbnRzIHRvIGF2b2lkIGV4cGVuc2l2ZSBET00gdHJhdmVyc2Fsc1xuICBjb25zdCBzY3JvbGxpbmdQYXJlbnRzID0gdXNlU2Nyb2xsaW5nUGFyZW50cyh0YXJnZXRSZWYpO1xuXG4gIC8vIEtlZXAgb25SZXF1ZXN0Q2xvc2UgcmVmIHVwIHRvIGRhdGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBvblJlcXVlc3RDbG9zZVJlZi5jdXJyZW50ID0gb25SZXF1ZXN0Q2xvc2U7XG4gIH0sIFtvblJlcXVlc3RDbG9zZV0pO1xuXG4gIGNvbnN0IGlzUnRsID0gdXNlRWxlbWVudERpcih0YXJnZXRSZWYpID09PSAncnRsJztcblxuICBjb25zdCBwb3BvdmVyUG9zaXRpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocGFyZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBnZXRQb3NpdGlvbih7XG4gICAgICAgIGFsaWdubWVudCxcbiAgICAgICAgY29udGFpbmVyOiBwYXJlbnQsXG4gICAgICAgIGludmVydEF4aXMsXG4gICAgICAgIGlzUnRsLFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHsgc3R5bGVzOiB7fSwgcGh5c2ljYWxTdHlsZXM6IHVuZGVmaW5lZCB9O1xuICB9LCBbcGFyZW50LCB4LCB5LCBvZmZzZXQsIGFsaWdubWVudCwgaW52ZXJ0QXhpcywgaXNSdGxdKTtcblxuICAvLyBMb2cgbG9naWNhbCBwcm9wZXJ0aWVzIHRvIHRoZSBjb25zb2xlIFRFU1QgQ09ERVxuICBjb25zdCBsb2dpY2FsUHJvcGVydGllcyA9IHVzZUxvZ2ljYWxQcm9wZXJ0aWVzKCk7XG4gIGNvbnNvbGUubG9nKCdkaXInLCBpc1J0bCwgJ2xvZ2ljYWxQcm9wZXJ0aWVzJywgbG9naWNhbFByb3BlcnRpZXMpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgIGlmICghdGFyZ2V0KSByZXR1cm47XG4gICAgc2V0Q29udGFpbmVycyhnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IHdpblgsIHk6IHdpblkgfSkpO1xuICB9LCBbdGFyZ2V0UmVmLCBpbmxpbmUsIHdpblcsIHdpbkgsIHdpblgsIHdpblksIHRhcmdldFJlY3RdKTtcblxuICAvLyBVcGRhdGUgdGFyZ2V0IHJlY3RhbmdsZSB3aGVuIHdpbmRvdyBzaXplL3Njcm9sbCBjaGFuZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VGFyZ2V0UmVjdCh0YXJnZXRSZWY/LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgfSwgW3RhcmdldFJlZiwgaXNPcGVuLCB3aW5XLCB3aW5ILCB3aW5YLCB3aW5ZXSk7XG5cbiAgLy8gVXBkYXRlIHRhcmdldCByZWN0YW5nbGUgd2hlbiBwYXJlbnQgc2l6ZS9zY3JvbGwgY2hhbmdlc1xuICBjb25zdCB1cGRhdGVUYXJnZXRQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChyZWN0PzogRE9NUmVjdCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgICAgaWYgKCF0YXJnZXQpIHJldHVybjtcblxuICAgICAgY29uc3QgbmV3UmVjdCA9IHJlY3QgfHwgdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgc2V0VGFyZ2V0UmVjdChuZXdSZWN0KTtcblxuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFggPVxuICAgICAgICB3aW5kb3cucGFnZVhPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsWSA9XG4gICAgICAgIHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuXG4gICAgICBzZXRDb250YWluZXJzKFxuICAgICAgICBnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IGN1cnJlbnRTY3JvbGxYLCB5OiBjdXJyZW50U2Nyb2xsWSB9KVxuICAgICAgKTtcbiAgICB9LFxuICAgIFt0YXJnZXRSZWYsIGlubGluZV1cbiAgKTtcblxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0KHRhcmdldFJlZiwgdXBkYXRlVGFyZ2V0UG9zaXRpb24pO1xuXG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0KHRhcmdldFJlZiwgc2V0VGFyZ2V0UmVjdCk7XG5cbiAgLy8gSGFuZGxlIGNsb3NlT25WaWV3cG9ydEV4aXQgd2l0aCBjYWNoZWQgc2Nyb2xsaW5nIHBhcmVudHMgZm9yIHBlcmZvcm1hbmNlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjbG9zZU9uVmlld3BvcnRFeGl0KSByZXR1cm47XG5cbiAgICBjb25zdCByZWN0ID0gdGFyZ2V0UmVjdCB8fCBjb250YWluZXJzPy52aWV3cG9ydDtcbiAgICBpZiAoIXJlY3QpIHJldHVybjtcblxuICAgIGNvbnN0IGlzT3V0ID0gaXNPdXRPZlZpZXcoXG4gICAgICByZWN0LFxuICAgICAgdGFyZ2V0UmVmPy5jdXJyZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgc2Nyb2xsaW5nUGFyZW50c1xuICAgICk7XG5cbiAgICBpZiAoaXNPdXQgJiYgIWhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgb25SZXF1ZXN0Q2xvc2VSZWYuY3VycmVudD8uKCk7XG4gICAgfSBlbHNlIGlmICghaXNPdXQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFtcbiAgICB0YXJnZXRSZWN0LFxuICAgIGNvbnRhaW5lcnM/LnZpZXdwb3J0LFxuICAgIHRhcmdldFJlZixcbiAgICBjbG9zZU9uVmlld3BvcnRFeGl0LFxuICAgIHNjcm9sbGluZ1BhcmVudHMsXG4gIF0pO1xuICAvKipcbiAgICogQWxsb3dzIHRhcmdldFJlZiB0byBiZSBvciBjb250YWluIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyB0aGUgcG9wb3ZlciBvcGVuIGFuZCBjbG9zZWQuXG4gICAqIFdpdGhvdXQgdGhpcyBjaGVjayBpdCB3b3VsZCB0b2dnbGUgY2xvc2VkIHRoZW4gYmFjayBvcGVuIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBOb2RlO1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRhcmdldFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoIXRhcmdldEVsZW1lbnQpIHJldHVybjtcbiAgICAgIGlmICh0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcbiAgICAgIGlmIChwb3BvdmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcblxuICAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIGl0J3MgYSBnZW51aW5lIG91dHNpZGUgY2xpY2tcbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmXVxuICApO1xuXG4gIC8qKlxuICAgKiBCYWNrdXAgY2xpY2sgb3V0c2lkZSBoYW5kbGVyIGZvciBjYXNlcyB3aGVyZSBGb2N1c1RyYXAgZGV0ZWN0aW9uIG1pZ2h0IGJlIGludGVyZmVyZWQgd2l0aFxuICAgKiBieSBvdXIgb3duIGZsb2F0aW5nIGVsZW1lbnRzXG4gICAqL1xuICBjb25zdCBoYW5kbGVHbG9iYWxDbGlja091dHNpZGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgTm9kZTtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0YXJnZXRSZWYuY3VycmVudDtcblxuICAgICAgaWYgKCF0YXJnZXRFbGVtZW50IHx8ICFpc09wZW4pIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICB0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgfHxcbiAgICAgICAgcG9wb3ZlclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpXG4gICAgICApXG4gICAgICAgIHJldHVybjtcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyB3aXRoaW4gYW4gT3ZlcmxheSBjb21wb25lbnRcbiAgICAgIGNvbnN0IGNsaWNrZWRFbGVtZW50ID0gdGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgICBpZiAoY2xpY2tlZEVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtZmxvYXRpbmc9XCJvdmVybGF5XCJdJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2tlZCBlbGVtZW50IGlzIHdpdGhpbiBhbm90aGVyIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lclxuICAgICAgY29uc3QgaXNGbG9hdGluZ0VsZW1lbnQgPSBjbGlja2VkRWxlbWVudC5jbG9zZXN0KFxuICAgICAgICAnW2RhdGEtZmxvYXRpbmc9XCJwb3BvdmVyXCJdJ1xuICAgICAgKTtcbiAgICAgIGlmIChcbiAgICAgICAgaXNGbG9hdGluZ0VsZW1lbnQgJiZcbiAgICAgICAgIXBvcG92ZXJSZWYuY3VycmVudD8uY29udGFpbnMoaXNGbG9hdGluZ0VsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgb25SZXF1ZXN0Q2xvc2U/LigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmLCBpc09wZW5dXG4gICk7XG5cbiAgLy8gQmFja3VwIGdsb2JhbCBjbGljayBsaXN0ZW5lciBmb3Igd2hlbiBhIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lciBpcyBvcGVuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgLy8gVXNlIGEgc21hbGwgZGVsYXkgdG8gZW5zdXJlIHRoaXMgZG9lc24ndCBpbnRlcmZlcmUgd2l0aCB0aGUgRm9jdXNUcmFwJ3Mgb3duIGRldGVjdGlvblxuICAgICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSwgdHJ1ZSk7XG4gICAgICB9LCA1MCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAgIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2lzT3BlbiwgaGFuZGxlR2xvYmFsQ2xpY2tPdXRzaWRlXSk7XG5cbiAgaWYgKCFpc09wZW4gfHwgIXRhcmdldFJlZikgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgY29udGVudCA9IChcbiAgICA8Rm9jdXNUcmFwXG4gICAgICBhbGxvd1BhZ2VJbnRlcmFjdGlvbj17aW5saW5lIHx8IGFsbG93UGFnZUludGVyYWN0aW9ufVxuICAgICAgb25DbGlja091dHNpZGU9e2hhbmRsZUNsaWNrT3V0c2lkZX1cbiAgICAgIG9uRXNjYXBlS2V5PXtvblJlcXVlc3RDbG9zZX1cbiAgICA+XG4gICAgICA8UG9wb3ZlckNvbnRlbnRcbiAgICAgICAgZGF0YS1mbG9hdGluZz1cInBvcG92ZXJcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cInBvcG92ZXItY29udGVudC1jb250YWluZXJcIlxuICAgICAgICBwb3NpdGlvbj1cImFic29sdXRlXCJcbiAgICAgICAgcmVmPXtwb3BvdmVyUmVmfVxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgIHpJbmRleD17aW5saW5lID8gNSA6ICdpbml0aWFsJ31cbiAgICAgICAgey4uLnBvcG92ZXJQb3NpdGlvbi5zdHlsZXN9XG4gICAgICAgIC8qIFBoeXNpY2FsIGlubGluZSBzdHlsZSBmb3IgY2VudGVyZWQgYWxpZ25tZW50cyAodG9wL2JvdHRvbSkgd2hlcmVcbiAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0IHdvdWxkIGluY29ycmVjdGx5IGZsaXAgdGhlIGNlbnRlciBwb2ludCBpbiBSVEwgKi9cbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdhbXV0L25vLWlubGluZS1zdHlsZSAqL1xuICAgICAgICBzdHlsZT17cG9wb3ZlclBvc2l0aW9uLnBoeXNpY2FsU3R5bGVzfVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgPC9Gb2N1c1RyYXA+XG4gICk7XG5cbiAgaWYgKGlubGluZSkgcmV0dXJuIGNvbnRlbnQ7XG5cbiAgcmV0dXJuIDxCb2R5UG9ydGFsPntjb250ZW50fTwvQm9keVBvcnRhbD47XG59O1xuIl19 */");
export const PopoverContainer = ({
alignment = 'bottom-left',
offset = 20,
y = 0,
@@ -52,27 +52,9 @@
// Keep onRequestClose ref up to date
useEffect(() => {
onRequestCloseRef.current = onRequestClose;
}, [onRequestClose]);
-
- // Detect RTL direction from the target element and watch for attribute changes so the
- // position recalculates when changes occur
- const [isRtl, setIsRtl] = useState(false);
- useEffect(() => {
- const checkDirection = () => {
- const target = targetRef?.current;
- const el = target instanceof Element ? target : document.documentElement;
- setIsRtl(getComputedStyle(el).direction === 'rtl');
- };
- checkDirection();
- const observer = new MutationObserver(checkDirection);
- observer.observe(document.documentElement, {
- attributes: true,
- attributeFilter: ['dir'],
- subtree: true
- });
- return () => observer.disconnect();
- }, [targetRef]);
+ const isRtl = useElementDir(targetRef) === 'rtl';
const popoverPosition = useMemo(() => {
if (parent !== undefined) {
return getPosition({
alignment,
@@ -88,8 +70,12 @@
styles: {},
physicalStyles: undefined
};
}, [parent, x, y, offset, alignment, invertAxis, isRtl]);
+
+ // Log logical properties to the console TEST CODE
+ const logicalProperties = useLogicalProperties();
+ console.log('dir', isRtl, 'logicalProperties', logicalProperties);
useEffect(() => {
const target = targetRef?.current;
if (!target) return;
setContainers(getContainers(target, inline, { Index: package/dist/Tip/shared/styles/styles.js
===================================================================
--- package/dist/Tip/shared/styles/styles.js
+++ package/dist/Tip/shared/styles/styles.js
@@ -57,8 +57,28 @@
below: 'rotate(-135deg)',
right: 'rotate(135deg)',
left: 'rotate(-45deg)'
};
+const sideCenterMirroredTransform = side => side === 'right' ? beakBackgroundRotation.left : beakBackgroundRotation.right;
+
+/**
+ * Inline ToolTip / InfoTip: RTL beak rotation on the container that owns `::after`
+ * (avoids invalid `::after:dir(rtl)` when the same beak object is merged under `&::after`).
+ */
+export const horizontalCenterBeakRtlInline = side => ({
+ '&:dir(rtl)': {
+ '&::after': {
+ transform: sideCenterMirroredTransform(side)
+ }
+ }
+});
+
+/** Popover beak is a real node; `:dir(rtl)` applies on that element (not under `&::after`). */
+export const horizontalCenterBeakRtlPopover = side => ({
+ '&:dir(rtl)': {
+ transform: sideCenterMirroredTransform(side)
+ }
+});
export const getBeakBgAndRotation = ({
alignment,
color
}) => {
@@ -136,9 +156,10 @@
top: '0.25rem'
};
export const rightAlignStyles = {
pl: containerOffsetVertical,
- left: '100%'
+ left: '100%',
+ ...horizontalCenterBeakRtlInline('right')
};
export const horizontalCenterStyles = {
...horizontalCenterWidths,
...centerHorizontal,
@@ -149,9 +170,10 @@
maxWidth: 124 + tooltipArrowHeightPx
};
export const leftAlignStyles = {
pr: containerOffsetVertical,
- right: '100%'
+ right: '100%',
+ ...horizontalCenterBeakRtlInline('left')
};
export const verticalCenterStyles = {
...verticalCenterWidths,
left: 'calc(50% - 4rem)', Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,15 +1,15 @@
{
"name": "@codecademy/gamut",
"description": "Styleguide & Component library for Codecademy",
- "version": "68.2.2",
+ "version": "68.2.3-alpha.955544.0",
"author": "Codecademy Engineering <[email protected]>",
"dependencies": {
- "@codecademy/gamut-icons": "9.57.2",
- "@codecademy/gamut-illustrations": "0.58.9",
- "@codecademy/gamut-patterns": "0.10.28",
- "@codecademy/gamut-styles": "17.13.1",
- "@codecademy/variance": "0.26.1",
+ "@codecademy/gamut-icons": "9.57.3-alpha.955544.0",
+ "@codecademy/gamut-illustrations": "0.58.10-alpha.955544.0",
+ "@codecademy/gamut-patterns": "0.10.29-alpha.955544.0",
+ "@codecademy/gamut-styles": "17.13.2-alpha.955544.0",
+ "@codecademy/variance": "0.26.2-alpha.955544.0",
"@react-aria/interactions": "3.25.0",
"@types/marked": "^4.0.8",
"@vidstack/react": "^1.12.12",
"classnames": "^2.2.5", Index: package/dist/Popover/styles/beak.d.ts
===================================================================
--- package/dist/Popover/styles/beak.d.ts
+++ package/dist/Popover/styles/beak.d.ts
@@ -1,8 +1,11 @@
import { PopoverProps } from '../types';
export declare const beakRightCenterStylesLrg: {
left: number;
- transform: string;
+ '&:dir(rtl)': {
+ transform: "rotate(135deg)" | "rotate(-45deg)";
+ };
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
backgroundImage: string;
borderColor: string;
borderWidth: string;
}; Index: package/dist/Tip/shared/styles/styles.d.ts
===================================================================
--- package/dist/Tip/shared/styles/styles.d.ts
+++ package/dist/Tip/shared/styles/styles.d.ts
@@ -25,45 +25,63 @@
readonly bottom: "0";
readonly my: "auto";
};
declare const beakBackgroundRotation: {
- above: string;
- below: string;
- right: string;
- left: string;
+ readonly above: "rotate(45deg)";
+ readonly below: "rotate(-135deg)";
+ readonly right: "rotate(135deg)";
+ readonly left: "rotate(-45deg)";
};
+type SideCenterBeakSide = 'left' | 'right';
+/**
+ * Inline ToolTip / InfoTip: RTL beak rotation on the container that owns `::after`
+ * (avoids invalid `::after:dir(rtl)` when the same beak object is merged under `&::after`).
+ */
+export declare const horizontalCenterBeakRtlInline: (side: SideCenterBeakSide) => {
+ '&:dir(rtl)': {
+ '&::after': {
+ transform: "rotate(135deg)" | "rotate(-45deg)";
+ };
+ };
+};
+/** Popover beak is a real node; `:dir(rtl)` applies on that element (not under `&::after`). */
+export declare const horizontalCenterBeakRtlPopover: (side: SideCenterBeakSide) => {
+ '&:dir(rtl)': {
+ transform: "rotate(135deg)" | "rotate(-45deg)";
+ };
+};
type GetBeakBackgroundType = {
alignment: keyof typeof beakBackgroundRotation;
color: typeof tooltipBgColor | typeof popoverPrimaryBgColor;
};
export declare const getBeakBgAndRotation: ({ alignment, color, }: GetBeakBackgroundType) => {
- transform: string;
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
backgroundImage: string;
};
export declare const beakStylesBase: {
borderColor: string;
borderWidth: string;
};
export declare const beakTopStyles: {
- transform: string;
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
backgroundImage: string;
borderColor: string;
borderWidth: string;
};
export declare const beakBottomStyles: {
- transform: string;
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
backgroundImage: string;
borderColor: string;
borderWidth: string;
};
export declare const beakRightCenterStyles: {
- transform: string;
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
backgroundImage: string;
borderColor: string;
borderWidth: string;
};
export declare const beakLeftCenterStyles: {
- transform: string;
+ transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
backgroundImage: string;
borderColor: string;
borderWidth: string;
};
@@ -72,9 +90,9 @@
readonly pb: 12;
};
export declare const topStylesAfter: {
readonly bottom: "0.25rem";
- readonly transform: string;
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
readonly backgroundImage: string;
readonly borderColor: string;
readonly borderWidth: string;
};
@@ -102,16 +120,21 @@
width: string;
};
export declare const bottomStylesAfter: {
readonly top: "0.25rem";
- readonly transform: string;
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
readonly backgroundImage: string;
readonly borderColor: string;
readonly borderWidth: string;
};
export declare const rightAlignStyles: {
- readonly pl: 12;
- readonly left: "100%";
+ '&:dir(rtl)': {
+ '&::after': {
+ transform: "rotate(135deg)" | "rotate(-45deg)";
+ };
+ };
+ pl: number;
+ left: string;
};
export declare const horizontalCenterStyles: {
readonly maxWidth: number;
readonly top: "0";
@@ -120,10 +143,15 @@
readonly height: "fit-content";
readonly minWidth: 4;
};
export declare const leftAlignStyles: {
- readonly pr: 12;
- readonly right: "100%";
+ '&:dir(rtl)': {
+ '&::after': {
+ transform: "rotate(135deg)" | "rotate(-45deg)";
+ };
+ };
+ pr: number;
+ right: string;
};
export declare const verticalCenterStyles: {
readonly left: "calc(50% - 4rem)";
readonly width: "70vw";
@@ -146,16 +174,16 @@
export declare const rightVertStylesAfter: {
readonly left: "1.5rem";
};
export declare const rightAlignStylesAfter: {
- readonly transform: string;
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
readonly backgroundImage: string;
readonly borderColor: string;
readonly borderWidth: string;
readonly left: "4px";
};
export declare const leftAlignStylesAfter: {
- readonly transform: string;
+ readonly transform: "rotate(45deg)" | "rotate(-135deg)" | "rotate(135deg)" | "rotate(-45deg)";
readonly backgroundImage: string;
readonly borderColor: string;
readonly borderWidth: string;
readonly right: "4px"; Index: package/dist/PopoverContainer/types.d.ts
===================================================================
--- package/dist/PopoverContainer/types.d.ts
+++ package/dist/PopoverContainer/types.d.ts
@@ -1,9 +1,8 @@
import { RefObject } from 'react';
import { WithChildrenProp } from '../utils';
export type Alignments = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top' | 'bottom' | 'left' | 'right';
-export interface TargetRef extends Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains' | 'offsetHeight' | 'offsetWidth' | 'offsetTop' | 'offsetLeft' | 'offsetParent'> {
-}
+export type TargetRef = Pick<HTMLDivElement, 'getBoundingClientRect' | 'contains' | 'offsetHeight' | 'offsetWidth' | 'offsetTop' | 'offsetLeft' | 'offsetParent'> & HTMLElement;
export interface PositionContext {
width: number;
height: number;
top: number;