@codecademy/gamut 68.2.3-alpha.f5f9ec.0 → 68.2.3-alpha.f802ae.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.
- package/dist/DataList/Controls/FilterControl.js +1 -1
- package/dist/Popover/styles/beak.d.ts +4 -1
- package/dist/Popover/styles/beak.js +7 -1
- package/dist/PopoverContainer/PopoverContainer.js +7 -21
- package/dist/PopoverContainer/types.d.ts +1 -2
- package/dist/Tip/shared/styles/styles.d.ts +45 -17
- package/dist/Tip/shared/styles/styles.js +24 -2
- package/package.json +6 -6
|
@@ -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/
|
|
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
|
-
|
|
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, useLogicalProperties } 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qb3BvdmVyQ29udGFpbmVyL1BvcG92ZXJDb250YWluZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCdUIiLCJmaWxlIjoiLi4vLi4vc3JjL1BvcG92ZXJDb250YWluZXIvUG9wb3ZlckNvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBzeXN0ZW0sXG4gIHVzZUVsZW1lbnREaXIsXG4gIHVzZUxvZ2ljYWxQcm9wZXJ0aWVzLFxufSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHsgdmFyaWFuY2UgfSBmcm9tICdAY29kZWNhZGVteS92YXJpYW5jZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlV2luZG93U2Nyb2xsLCB1c2VXaW5kb3dTaXplIH0gZnJvbSAncmVhY3QtdXNlJztcblxuaW1wb3J0IHsgQm9keVBvcnRhbCB9IGZyb20gJy4uL0JvZHlQb3J0YWwnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAnLi4vRm9jdXNUcmFwJztcbmltcG9ydCB7XG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0LFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzLFxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0LFxufSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7IENvbnRhaW5lclN0YXRlLCBQb3BvdmVyQ29udGFpbmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGdldENvbnRhaW5lcnMsIGdldFBvc2l0aW9uLCBpc091dE9mVmlldyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBQb3BvdmVyQ29udGVudCA9IHN0eWxlZC5kaXYoXG4gIHZhcmlhbmNlLmNvbXBvc2UoXG4gICAgc3lzdGVtLnBvc2l0aW9uaW5nLFxuICAgIHZhcmlhbmNlLmNyZWF0ZSh7XG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcHJvcGVydHk6ICd0cmFuc2Zvcm0nLFxuICAgICAgfSxcbiAgICB9KVxuICApXG4pO1xuXG5leHBvcnQgY29uc3QgUG9wb3ZlckNvbnRhaW5lcjogUmVhY3QuRkM8UG9wb3ZlckNvbnRhaW5lclByb3BzPiA9ICh7XG4gIGFsaWdubWVudCA9ICdib3R0b20tbGVmdCcsXG4gIG9mZnNldCA9IDIwLFxuICB5ID0gMCxcbiAgeCA9IDAsXG4gIGludmVydEF4aXMsXG4gIGlubGluZSA9IGZhbHNlLFxuICBpc09wZW4sXG4gIG9uUmVxdWVzdENsb3NlLFxuICB0YXJnZXRSZWYsXG4gIGFsbG93UGFnZUludGVyYWN0aW9uLFxuICBjbG9zZU9uVmlld3BvcnRFeGl0ID0gZmFsc2UsXG4gIC4uLnJlc3Rcbn0pID0+IHtcbiAgY29uc3QgcG9wb3ZlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGhhc1JlcXVlc3RlZENsb3NlUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgb25SZXF1ZXN0Q2xvc2VSZWYgPSB1c2VSZWYob25SZXF1ZXN0Q2xvc2UpO1xuICBjb25zdCB7IHdpZHRoOiB3aW5XLCBoZWlnaHQ6IHdpbkggfSA9IHVzZVdpbmRvd1NpemUoKTtcbiAgY29uc3QgeyB4OiB3aW5YLCB5OiB3aW5ZIH0gPSB1c2VXaW5kb3dTY3JvbGwoKTtcbiAgY29uc3QgW2NvbnRhaW5lcnMsIHNldENvbnRhaW5lcnNdID0gdXNlU3RhdGU8Q29udGFpbmVyU3RhdGU+KCk7XG4gIGNvbnN0IFt0YXJnZXRSZWN0LCBzZXRUYXJnZXRSZWN0XSA9IHVzZVN0YXRlPERPTVJlY3Q+KCk7XG4gIGNvbnN0IHBhcmVudCA9IGNvbnRhaW5lcnM/LnBhcmVudDtcblxuICAvLyBNZW1vaXplIHNjcm9sbGluZyBwYXJlbnRzIHRvIGF2b2lkIGV4cGVuc2l2ZSBET00gdHJhdmVyc2Fsc1xuICBjb25zdCBzY3JvbGxpbmdQYXJlbnRzID0gdXNlU2Nyb2xsaW5nUGFyZW50cyh0YXJnZXRSZWYpO1xuXG4gIC8vIEtlZXAgb25SZXF1ZXN0Q2xvc2UgcmVmIHVwIHRvIGRhdGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBvblJlcXVlc3RDbG9zZVJlZi5jdXJyZW50ID0gb25SZXF1ZXN0Q2xvc2U7XG4gIH0sIFtvblJlcXVlc3RDbG9zZV0pO1xuXG4gIGNvbnN0IGlzUnRsID0gdXNlRWxlbWVudERpcih0YXJnZXRSZWYpID09PSAncnRsJztcblxuICBjb25zdCBwb3BvdmVyUG9zaXRpb24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocGFyZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBnZXRQb3NpdGlvbih7XG4gICAgICAgIGFsaWdubWVudCxcbiAgICAgICAgY29udGFpbmVyOiBwYXJlbnQsXG4gICAgICAgIGludmVydEF4aXMsXG4gICAgICAgIGlzUnRsLFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHsgc3R5bGVzOiB7fSwgcGh5c2ljYWxTdHlsZXM6IHVuZGVmaW5lZCB9O1xuICB9LCBbcGFyZW50LCB4LCB5LCBvZmZzZXQsIGFsaWdubWVudCwgaW52ZXJ0QXhpcywgaXNSdGxdKTtcblxuICAvLyBMb2cgbG9naWNhbCBwcm9wZXJ0aWVzIHRvIHRoZSBjb25zb2xlIFRFU1QgQ09ERVxuICBjb25zdCBsb2dpY2FsUHJvcGVydGllcyA9IHVzZUxvZ2ljYWxQcm9wZXJ0aWVzKCk7XG4gIGNvbnNvbGUubG9nKCdkaXInLCBpc1J0bCwgJ2xvZ2ljYWxQcm9wZXJ0aWVzJywgbG9naWNhbFByb3BlcnRpZXMpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgIGlmICghdGFyZ2V0KSByZXR1cm47XG4gICAgc2V0Q29udGFpbmVycyhnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IHdpblgsIHk6IHdpblkgfSkpO1xuICB9LCBbdGFyZ2V0UmVmLCBpbmxpbmUsIHdpblcsIHdpbkgsIHdpblgsIHdpblksIHRhcmdldFJlY3RdKTtcblxuICAvLyBVcGRhdGUgdGFyZ2V0IHJlY3RhbmdsZSB3aGVuIHdpbmRvdyBzaXplL3Njcm9sbCBjaGFuZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VGFyZ2V0UmVjdCh0YXJnZXRSZWY/LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgfSwgW3RhcmdldFJlZiwgaXNPcGVuLCB3aW5XLCB3aW5ILCB3aW5YLCB3aW5ZXSk7XG5cbiAgLy8gVXBkYXRlIHRhcmdldCByZWN0YW5nbGUgd2hlbiBwYXJlbnQgc2l6ZS9zY3JvbGwgY2hhbmdlc1xuICBjb25zdCB1cGRhdGVUYXJnZXRQb3NpdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChyZWN0PzogRE9NUmVjdCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gdGFyZ2V0UmVmPy5jdXJyZW50O1xuICAgICAgaWYgKCF0YXJnZXQpIHJldHVybjtcblxuICAgICAgY29uc3QgbmV3UmVjdCA9IHJlY3QgfHwgdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgc2V0VGFyZ2V0UmVjdChuZXdSZWN0KTtcblxuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFggPVxuICAgICAgICB3aW5kb3cucGFnZVhPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsWSA9XG4gICAgICAgIHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuXG4gICAgICBzZXRDb250YWluZXJzKFxuICAgICAgICBnZXRDb250YWluZXJzKHRhcmdldCwgaW5saW5lLCB7IHg6IGN1cnJlbnRTY3JvbGxYLCB5OiBjdXJyZW50U2Nyb2xsWSB9KVxuICAgICAgKTtcbiAgICB9LFxuICAgIFt0YXJnZXRSZWYsIGlubGluZV1cbiAgKTtcblxuICB1c2VTY3JvbGxpbmdQYXJlbnRzRWZmZWN0KHRhcmdldFJlZiwgdXBkYXRlVGFyZ2V0UG9zaXRpb24pO1xuXG4gIHVzZVJlc2l6aW5nUGFyZW50RWZmZWN0KHRhcmdldFJlZiwgc2V0VGFyZ2V0UmVjdCk7XG5cbiAgLy8gSGFuZGxlIGNsb3NlT25WaWV3cG9ydEV4aXQgd2l0aCBjYWNoZWQgc2Nyb2xsaW5nIHBhcmVudHMgZm9yIHBlcmZvcm1hbmNlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjbG9zZU9uVmlld3BvcnRFeGl0KSByZXR1cm47XG5cbiAgICBjb25zdCByZWN0ID0gdGFyZ2V0UmVjdCB8fCBjb250YWluZXJzPy52aWV3cG9ydDtcbiAgICBpZiAoIXJlY3QpIHJldHVybjtcblxuICAgIGNvbnN0IGlzT3V0ID0gaXNPdXRPZlZpZXcoXG4gICAgICByZWN0LFxuICAgICAgdGFyZ2V0UmVmPy5jdXJyZW50IGFzIEhUTUxFbGVtZW50LFxuICAgICAgc2Nyb2xsaW5nUGFyZW50c1xuICAgICk7XG5cbiAgICBpZiAoaXNPdXQgJiYgIWhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgb25SZXF1ZXN0Q2xvc2VSZWYuY3VycmVudD8uKCk7XG4gICAgfSBlbHNlIGlmICghaXNPdXQpIHtcbiAgICAgIGhhc1JlcXVlc3RlZENsb3NlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH0sIFtcbiAgICB0YXJnZXRSZWN0LFxuICAgIGNvbnRhaW5lcnM/LnZpZXdwb3J0LFxuICAgIHRhcmdldFJlZixcbiAgICBjbG9zZU9uVmlld3BvcnRFeGl0LFxuICAgIHNjcm9sbGluZ1BhcmVudHMsXG4gIF0pO1xuICAvKipcbiAgICogQWxsb3dzIHRhcmdldFJlZiB0byBiZSBvciBjb250YWluIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyB0aGUgcG9wb3ZlciBvcGVuIGFuZCBjbG9zZWQuXG4gICAqIFdpdGhvdXQgdGhpcyBjaGVjayBpdCB3b3VsZCB0b2dnbGUgY2xvc2VkIHRoZW4gYmFjayBvcGVuIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKi9cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBOb2RlO1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHRhcmdldFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoIXRhcmdldEVsZW1lbnQpIHJldHVybjtcbiAgICAgIGlmICh0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcbiAgICAgIGlmIChwb3BvdmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcblxuICAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIGl0J3MgYSBnZW51aW5lIG91dHNpZGUgY2xpY2tcbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmXVxuICApO1xuXG4gIC8qKlxuICAgKiBCYWNrdXAgY2xpY2sgb3V0c2lkZSBoYW5kbGVyIGZvciBjYXNlcyB3aGVyZSBGb2N1c1RyYXAgZGV0ZWN0aW9uIG1pZ2h0IGJlIGludGVyZmVyZWQgd2l0aFxuICAgKiBieSBvdXIgb3duIGZsb2F0aW5nIGVsZW1lbnRzXG4gICAqL1xuICBjb25zdCBoYW5kbGVHbG9iYWxDbGlja091dHNpZGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgTm9kZTtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0YXJnZXRSZWYuY3VycmVudDtcblxuICAgICAgaWYgKCF0YXJnZXRFbGVtZW50IHx8ICFpc09wZW4pIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICB0YXJnZXRFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgfHxcbiAgICAgICAgcG9wb3ZlclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpXG4gICAgICApXG4gICAgICAgIHJldHVybjtcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrZWQgZWxlbWVudCBpcyB3aXRoaW4gYW4gT3ZlcmxheSBjb21wb25lbnRcbiAgICAgIGNvbnN0IGNsaWNrZWRFbGVtZW50ID0gdGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgICBpZiAoY2xpY2tlZEVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtZmxvYXRpbmc9XCJvdmVybGF5XCJdJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2tlZCBlbGVtZW50IGlzIHdpdGhpbiBhbm90aGVyIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lclxuICAgICAgY29uc3QgaXNGbG9hdGluZ0VsZW1lbnQgPSBjbGlja2VkRWxlbWVudC5jbG9zZXN0KFxuICAgICAgICAnW2RhdGEtZmxvYXRpbmc9XCJwb3BvdmVyXCJdJ1xuICAgICAgKTtcbiAgICAgIGlmIChcbiAgICAgICAgaXNGbG9hdGluZ0VsZW1lbnQgJiZcbiAgICAgICAgIXBvcG92ZXJSZWYuY3VycmVudD8uY29udGFpbnMoaXNGbG9hdGluZ0VsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgb25SZXF1ZXN0Q2xvc2U/LigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG9uUmVxdWVzdENsb3NlPy4oKTtcbiAgICB9LFxuICAgIFtvblJlcXVlc3RDbG9zZSwgdGFyZ2V0UmVmLCBpc09wZW5dXG4gICk7XG5cbiAgLy8gQmFja3VwIGdsb2JhbCBjbGljayBsaXN0ZW5lciBmb3Igd2hlbiBhIFBvcG92ZXIgb3IgUG9wb3ZlckNvbnRhaW5lciBpcyBvcGVuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3Blbikge1xuICAgICAgLy8gVXNlIGEgc21hbGwgZGVsYXkgdG8gZW5zdXJlIHRoaXMgZG9lc24ndCBpbnRlcmZlcmUgd2l0aCB0aGUgRm9jdXNUcmFwJ3Mgb3duIGRldGVjdGlvblxuICAgICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSwgdHJ1ZSk7XG4gICAgICB9LCA1MCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAgIGhhbmRsZUdsb2JhbENsaWNrT3V0c2lkZSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2lzT3BlbiwgaGFuZGxlR2xvYmFsQ2xpY2tPdXRzaWRlXSk7XG5cbiAgaWYgKCFpc09wZW4gfHwgIXRhcmdldFJlZikgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgY29udGVudCA9IChcbiAgICA8Rm9jdXNUcmFwXG4gICAgICBhbGxvd1BhZ2VJbnRlcmFjdGlvbj17aW5saW5lIHx8IGFsbG93UGFnZUludGVyYWN0aW9ufVxuICAgICAgb25DbGlja091dHNpZGU9e2hhbmRsZUNsaWNrT3V0c2lkZX1cbiAgICAgIG9uRXNjYXBlS2V5PXtvblJlcXVlc3RDbG9zZX1cbiAgICA+XG4gICAgICA8UG9wb3ZlckNvbnRlbnRcbiAgICAgICAgZGF0YS1mbG9hdGluZz1cInBvcG92ZXJcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cInBvcG92ZXItY29udGVudC1jb250YWluZXJcIlxuICAgICAgICBwb3NpdGlvbj1cImFic29sdXRlXCJcbiAgICAgICAgcmVmPXtwb3BvdmVyUmVmfVxuICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgIHpJbmRleD17aW5saW5lID8gNSA6ICdpbml0aWFsJ31cbiAgICAgICAgey4uLnBvcG92ZXJQb3NpdGlvbi5zdHlsZXN9XG4gICAgICAgIC8qIFBoeXNpY2FsIGlubGluZSBzdHlsZSBmb3IgY2VudGVyZWQgYWxpZ25tZW50cyAodG9wL2JvdHRvbSkgd2hlcmVcbiAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0IHdvdWxkIGluY29ycmVjdGx5IGZsaXAgdGhlIGNlbnRlciBwb2ludCBpbiBSVEwgKi9cbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGdhbXV0L25vLWlubGluZS1zdHlsZSAqL1xuICAgICAgICBzdHlsZT17cG9wb3ZlclBvc2l0aW9uLnBoeXNpY2FsU3R5bGVzfVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgPC9Gb2N1c1RyYXA+XG4gICk7XG5cbiAgaWYgKGlubGluZSkgcmV0dXJuIGNvbnRlbnQ7XG5cbiAgcmV0dXJuIDxCb2R5UG9ydGFsPntjb250ZW50fTwvQm9keVBvcnRhbD47XG59O1xuIl19 */");
|
|
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({
|
|
@@ -89,6 +71,10 @@ export const PopoverContainer = ({
|
|
|
89
71
|
physicalStyles: undefined
|
|
90
72
|
};
|
|
91
73
|
}, [parent, x, y, offset, alignment, invertAxis, isRtl]);
|
|
74
|
+
|
|
75
|
+
// Log logical properties to the console TEST CODE
|
|
76
|
+
const logicalProperties = useLogicalProperties();
|
|
77
|
+
console.log('dir', isRtl, 'logicalProperties', logicalProperties);
|
|
92
78
|
useEffect(() => {
|
|
93
79
|
const target = targetRef?.current;
|
|
94
80
|
if (!target) return;
|
|
@@ -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
|
|
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:
|
|
30
|
-
below:
|
|
31
|
-
right:
|
|
32
|
-
left:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
113
|
-
|
|
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
|
-
|
|
125
|
-
|
|
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:
|
|
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:
|
|
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.
|
|
4
|
+
"version": "68.2.3-alpha.f802ae.0",
|
|
5
5
|
"author": "Codecademy Engineering <dev@codecademy.com>",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@codecademy/gamut-icons": "9.57.3-alpha.
|
|
8
|
-
"@codecademy/gamut-illustrations": "0.58.10-alpha.
|
|
9
|
-
"@codecademy/gamut-patterns": "0.10.29-alpha.
|
|
10
|
-
"@codecademy/gamut-styles": "17.13.2-alpha.
|
|
11
|
-
"@codecademy/variance": "0.26.2-alpha.
|
|
7
|
+
"@codecademy/gamut-icons": "9.57.3-alpha.f802ae.0",
|
|
8
|
+
"@codecademy/gamut-illustrations": "0.58.10-alpha.f802ae.0",
|
|
9
|
+
"@codecademy/gamut-patterns": "0.10.29-alpha.f802ae.0",
|
|
10
|
+
"@codecademy/gamut-styles": "17.13.2-alpha.f802ae.0",
|
|
11
|
+
"@codecademy/variance": "0.26.2-alpha.f802ae.0",
|
|
12
12
|
"@react-aria/interactions": "3.25.0",
|
|
13
13
|
"@types/marked": "^4.0.8",
|
|
14
14
|
"@vidstack/react": "^1.12.12",
|