@radix-ng/primitives 0.17.0 → 0.18.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.
Files changed (61) hide show
  1. package/compodoc/documentation.json +5303 -1426
  2. package/esm2022/select/src/select-trigger.directive.mjs +3 -3
  3. package/esm2022/select/src/select-value.directive.mjs +4 -9
  4. package/esm2022/select/src/select.component.mjs +6 -5
  5. package/esm2022/slider/index.mjs +28 -0
  6. package/esm2022/slider/radix-ng-primitives-slider.mjs +5 -0
  7. package/esm2022/slider/src/slider-horizontal.component.mjs +117 -0
  8. package/esm2022/slider/src/slider-impl.directive.mjs +89 -0
  9. package/esm2022/slider/src/slider-orientation-context.service.mjs +28 -0
  10. package/esm2022/slider/src/slider-range.component.mjs +41 -0
  11. package/esm2022/slider/src/slider-root.component.mjs +207 -0
  12. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +102 -0
  13. package/esm2022/slider/src/slider-thumb.component.mjs +22 -0
  14. package/esm2022/slider/src/slider-track.component.mjs +27 -0
  15. package/esm2022/slider/src/slider-vertical.component.mjs +117 -0
  16. package/esm2022/slider/src/utils.mjs +94 -0
  17. package/esm2022/tooltip/index.mjs +41 -0
  18. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +5 -0
  19. package/esm2022/tooltip/src/get-content-position.mjs +31 -0
  20. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +92 -0
  21. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +3 -0
  22. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +24 -0
  23. package/esm2022/tooltip/src/tooltip-content.directive.mjs +48 -0
  24. package/esm2022/tooltip/src/tooltip-content.token.mjs +3 -0
  25. package/esm2022/tooltip/src/tooltip-root.directive.mjs +288 -0
  26. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +70 -0
  27. package/esm2022/tooltip/src/tooltip.config.mjs +18 -0
  28. package/esm2022/tooltip/src/tooltip.constants.mjs +84 -0
  29. package/esm2022/tooltip/src/tooltip.types.mjs +14 -0
  30. package/fesm2022/radix-ng-primitives-select.mjs +10 -14
  31. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-slider.mjs +830 -0
  33. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -0
  34. package/fesm2022/radix-ng-primitives-tooltip.mjs +684 -0
  35. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -0
  36. package/package.json +13 -1
  37. package/slider/README.md +1 -0
  38. package/slider/index.d.ts +18 -0
  39. package/slider/src/slider-horizontal.component.d.ts +29 -0
  40. package/slider/src/slider-impl.directive.d.ts +18 -0
  41. package/slider/src/slider-orientation-context.service.d.ts +14 -0
  42. package/slider/src/slider-range.component.d.ts +13 -0
  43. package/slider/src/slider-root.component.d.ts +47 -0
  44. package/slider/src/slider-thumb-impl.directive.d.ts +26 -0
  45. package/slider/src/slider-thumb.component.d.ts +6 -0
  46. package/slider/src/slider-track.component.d.ts +7 -0
  47. package/slider/src/slider-vertical.component.d.ts +29 -0
  48. package/slider/src/utils.d.ts +52 -0
  49. package/tooltip/README.md +1 -0
  50. package/tooltip/index.d.ts +17 -0
  51. package/tooltip/src/get-content-position.d.ts +3 -0
  52. package/tooltip/src/tooltip-arrow.directive.d.ts +25 -0
  53. package/tooltip/src/tooltip-arrow.token.d.ts +3 -0
  54. package/tooltip/src/tooltip-content-attributes.directive.d.ts +8 -0
  55. package/tooltip/src/tooltip-content.directive.d.ts +36 -0
  56. package/tooltip/src/tooltip-content.token.d.ts +3 -0
  57. package/tooltip/src/tooltip-root.directive.d.ts +103 -0
  58. package/tooltip/src/tooltip-trigger.directive.d.ts +26 -0
  59. package/tooltip/src/tooltip.config.d.ts +6 -0
  60. package/tooltip/src/tooltip.constants.d.ts +9 -0
  61. package/tooltip/src/tooltip.types.d.ts +18 -0
@@ -0,0 +1,94 @@
1
+ // https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js
2
+ export function linearScale(input, output) {
3
+ return (value) => {
4
+ if (input[0] === input[1] || output[0] === output[1])
5
+ return output[0];
6
+ const ratio = (output[1] - output[0]) / (input[1] - input[0]);
7
+ return output[0] + ratio * (value - input[0]);
8
+ };
9
+ }
10
+ /**
11
+ * Verifies the minimum steps between all values is greater than or equal
12
+ * to the expected minimum steps.
13
+ *
14
+ * @example
15
+ * // returns false
16
+ * hasMinStepsBetweenValues([1,2,3], 2);
17
+ *
18
+ * @example
19
+ * // returns true
20
+ * hasMinStepsBetweenValues([1,2,3], 1);
21
+ */
22
+ export function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
23
+ if (minStepsBetweenValues > 0) {
24
+ const stepsBetweenValues = getStepsBetweenValues(values);
25
+ const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);
26
+ return actualMinStepsBetweenValues >= minStepsBetweenValues;
27
+ }
28
+ return true;
29
+ }
30
+ /**
31
+ * Given a `values` array and a `nextValue`, determine which value in
32
+ * the array is closest to `nextValue` and return its index.
33
+ *
34
+ * @example
35
+ * // returns 1
36
+ * getClosestValueIndex([10, 30], 25);
37
+ */
38
+ export function getClosestValueIndex(values, nextValue) {
39
+ if (values.length === 1)
40
+ return 0;
41
+ const distances = values.map((value) => Math.abs(value - nextValue));
42
+ const closestDistance = Math.min(...distances);
43
+ return distances.indexOf(closestDistance);
44
+ }
45
+ /**
46
+ * Gets an array of steps between each value.
47
+ *
48
+ * @example
49
+ * // returns [1, 9]
50
+ * getStepsBetweenValues([10, 11, 20]);
51
+ */
52
+ export function getStepsBetweenValues(values) {
53
+ return values.slice(0, -1).map((value, index) => values[index + 1] - value);
54
+ }
55
+ /**
56
+ * Offsets the thumb centre point while sliding to ensure it remains
57
+ * within the bounds of the slider when reaching the edges
58
+ */
59
+ export function getThumbInBoundsOffset(width, left, direction) {
60
+ const halfWidth = width / 2;
61
+ const halfPercent = 50;
62
+ const offset = linearScale([0, halfPercent], [0, halfWidth]);
63
+ return (halfWidth - offset(left) * direction) * direction;
64
+ }
65
+ export function convertValueToPercentage(value, min, max) {
66
+ const maxSteps = max - min;
67
+ const percentPerStep = 100 / maxSteps;
68
+ const percentage = percentPerStep * (value - min);
69
+ return clamp(percentage, 0, 100);
70
+ }
71
+ export function getDecimalCount(value) {
72
+ return (String(value).split('.')[1] || '').length;
73
+ }
74
+ export function roundValue(value, decimalCount) {
75
+ const rounder = 10 ** decimalCount;
76
+ return Math.round(value * rounder) / rounder;
77
+ }
78
+ export function getNextSortedValues(prevValues = [], nextValue, atIndex) {
79
+ const nextValues = [...prevValues];
80
+ nextValues[atIndex] = nextValue;
81
+ return nextValues.sort((a, b) => a - b);
82
+ }
83
+ export const PAGE_KEYS = ['PageUp', 'PageDown'];
84
+ export const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
85
+ export const BACK_KEYS = {
86
+ 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],
87
+ 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],
88
+ 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],
89
+ 'from-top': ['Home', 'PageDown', 'ArrowUp', 'ArrowLeft']
90
+ };
91
+ export function clamp(value, min = Number.NEGATIVE_INFINITY, max = Number.POSITIVE_INFINITY) {
92
+ return Math.min(Math.max(value, min), max);
93
+ }
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NsaWRlci9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUZBQW1GO0FBQ25GLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBZ0MsRUFBRSxNQUFpQztJQUMzRixPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDckIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFnQixFQUFFLHFCQUE2QjtJQUNwRixJQUFJLHFCQUFxQixHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLDJCQUEyQixJQUFJLHFCQUFxQixDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLElB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LFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRzlFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBcUM7SUFDdkQsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzNELFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQztJQUM3RCxhQUFhLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDN0QsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDO0NBQzNELENBQUM7QUFTRixNQUFNLFVBQVUsS0FBSyxDQUNqQixLQUFhLEVBQ2IsTUFBYyxNQUFNLENBQUMsaUJBQWlCLEVBQ3RDLE1BQWMsTUFBTSxDQUFDLGlCQUFpQjtJQUV0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90bWN3LXVwLWZvci1hZG9wdGlvbi9zaW1wbGUtbGluZWFyLXNjYWxlL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5leHBvcnQgZnVuY3Rpb24gbGluZWFyU2NhbGUoaW5wdXQ6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0sIG91dHB1dDogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSkge1xuICAgIHJldHVybiAodmFsdWU6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaW5wdXRbMF0gPT09IGlucHV0WzFdIHx8IG91dHB1dFswXSA9PT0gb3V0cHV0WzFdKSByZXR1cm4gb3V0cHV0WzBdO1xuICAgICAgICBjb25zdCByYXRpbyA9IChvdXRwdXRbMV0gLSBvdXRwdXRbMF0pIC8gKGlucHV0WzFdIC0gaW5wdXRbMF0pO1xuICAgICAgICByZXR1cm4gb3V0cHV0WzBdICsgcmF0aW8gKiAodmFsdWUgLSBpbnB1dFswXSk7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGUgbWluaW11bSBzdGVwcyBiZXR3ZWVuIGFsbCB2YWx1ZXMgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsXG4gKiB0byB0aGUgZXhwZWN0ZWQgbWluaW11bSBzdGVwcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyBmYWxzZVxuICogaGFzTWluU3RlcHNCZXR3ZWVuVmFsdWVzKFsxLDIsM10sIDIpO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyByZXR1cm5zIHRydWVcbiAqIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyhbMSwyLDNdLCAxKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXM6IG51bWJlcltdLCBtaW5TdGVwc0JldHdlZW5WYWx1ZXM6IG51bWJlcikge1xuICAgIGlmIChtaW5TdGVwc0JldHdlZW5WYWx1ZXMgPiAwKSB7XG4gICAgICAgIGNvbnN0IHN0ZXBzQmV0d2VlblZhbHVlcyA9IGdldFN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXMpO1xuICAgICAgICBjb25zdCBhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMgPSBNYXRoLm1pbiguLi5zdGVwc0JldHdlZW5WYWx1ZXMpO1xuICAgICAgICByZXR1cm4gYWN0dWFsTWluU3RlcHNCZXR3ZWVuVmFsdWVzID49IG1pblN0ZXBzQmV0d2VlblZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2l2ZW4gYSBgdmFsdWVzYCBhcnJheSBhbmQgYSBgbmV4dFZhbHVlYCwgZGV0ZXJtaW5lIHdoaWNoIHZhbHVlIGluXG4gKiB0aGUgYXJyYXkgaXMgY2xvc2VzdCB0byBgbmV4dFZhbHVlYCBhbmQgcmV0dXJuIGl0cyBpbmRleC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyAxXG4gKiBnZXRDbG9zZXN0VmFsdWVJbmRleChbMTAsIDMwXSwgMjUpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xvc2VzdFZhbHVlSW5kZXgodmFsdWVzOiBudW1iZXJbXSwgbmV4dFZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMSkgcmV0dXJuIDA7XG4gICAgY29uc3QgZGlzdGFuY2VzID0gdmFsdWVzLm1hcCgodmFsdWUpID0+IE1hdGguYWJzKHZhbHVlIC0gbmV4dFZhbHVlKSk7XG4gICAgY29uc3QgY2xvc2VzdERpc3RhbmNlID0gTWF0aC5taW4oLi4uZGlzdGFuY2VzKTtcbiAgICByZXR1cm4gZGlzdGFuY2VzLmluZGV4T2YoY2xvc2VzdERpc3RhbmNlKTtcbn1cblxuLyoqXG4gKiBHZXRzIGFuIGFycmF5IG9mIHN0ZXBzIGJldHdlZW4gZWFjaCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyBbMSwgOV1cbiAqIGdldFN0ZXBzQmV0d2VlblZhbHVlcyhbMTAsIDExLCAyMF0pO1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RlcHNCZXR3ZWVuVmFsdWVzKHZhbHVlczogbnVtYmVyW10pIHtcbiAgICByZXR1cm4gdmFsdWVzLnNsaWNlKDAsIC0xKS5tYXAoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWVzW2luZGV4ICsgMV0gLSB2YWx1ZSk7XG59XG5cbi8qKlxuICogT2Zmc2V0cyB0aGUgdGh1bWIgY2VudHJlIHBvaW50IHdoaWxlIHNsaWRpbmcgdG8gZW5zdXJlIGl0IHJlbWFpbnNcbiAqIHdpdGhpbiB0aGUgYm91bmRzIG9mIHRoZSBzbGlkZXIgd2hlbiByZWFjaGluZyB0aGUgZWRnZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRodW1iSW5Cb3VuZHNPZmZzZXQod2lkdGg6IG51bWJlciwgbGVmdDogbnVtYmVyLCBkaXJlY3Rpb246IG51bWJlcikge1xuICAgIGNvbnN0IGhhbGZXaWR0aCA9IHdpZHRoIC8gMjtcbiAgICBjb25zdCBoYWxmUGVyY2VudCA9IDUwO1xuICAgIGNvbnN0IG9mZnNldCA9IGxpbmVhclNjYWxlKFswLCBoYWxmUGVyY2VudF0sIFswLCBoYWxmV2lkdGhdKTtcbiAgICByZXR1cm4gKGhhbGZXaWR0aCAtIG9mZnNldChsZWZ0KSAqIGRpcmVjdGlvbikgKiBkaXJlY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWF4U3RlcHMgPSBtYXggLSBtaW47XG4gICAgY29uc3QgcGVyY2VudFBlclN0ZXAgPSAxMDAgLyBtYXhTdGVwcztcbiAgICBjb25zdCBwZXJjZW50YWdlID0gcGVyY2VudFBlclN0ZXAgKiAodmFsdWUgLSBtaW4pO1xuICAgIHJldHVybiBjbGFtcChwZXJjZW50YWdlLCAwLCAxMDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVjaW1hbENvdW50KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gKFN0cmluZyh2YWx1ZSkuc3BsaXQoJy4nKVsxXSB8fCAnJykubGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRWYWx1ZSh2YWx1ZTogbnVtYmVyLCBkZWNpbWFsQ291bnQ6IG51bWJlcikge1xuICAgIGNvbnN0IHJvdW5kZXIgPSAxMCAqKiBkZWNpbWFsQ291bnQ7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiByb3VuZGVyKSAvIHJvdW5kZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0U29ydGVkVmFsdWVzKHByZXZWYWx1ZXM6IG51bWJlcltdID0gW10sIG5leHRWYWx1ZTogbnVtYmVyLCBhdEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXh0VmFsdWVzID0gWy4uLnByZXZWYWx1ZXNdO1xuICAgIG5leHRWYWx1ZXNbYXRJbmRleF0gPSBuZXh0VmFsdWU7XG4gICAgcmV0dXJuIG5leHRWYWx1ZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuXG5leHBvcnQgY29uc3QgUEFHRV9LRVlTID0gWydQYWdlVXAnLCAnUGFnZURvd24nXTtcbmV4cG9ydCBjb25zdCBBUlJPV19LRVlTID0gWydBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCddO1xuXG50eXBlIFNsaWRlRGlyZWN0aW9uID0gJ2Zyb20tbGVmdCcgfCAnZnJvbS1yaWdodCcgfCAnZnJvbS1ib3R0b20nIHwgJ2Zyb20tdG9wJztcbmV4cG9ydCBjb25zdCBCQUNLX0tFWVM6IFJlY29yZDxTbGlkZURpcmVjdGlvbiwgc3RyaW5nW10+ID0ge1xuICAgICdmcm9tLWxlZnQnOiBbJ0hvbWUnLCAnUGFnZURvd24nLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCddLFxuICAgICdmcm9tLXJpZ2h0JzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd1JpZ2h0J10sXG4gICAgJ2Zyb20tYm90dG9tJzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnXSxcbiAgICAnZnJvbS10b3AnOiBbJ0hvbWUnLCAnUGFnZURvd24nLCAnQXJyb3dVcCcsICdBcnJvd0xlZnQnXVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBPcmllbnRhdGlvbkNvbnRleHQge1xuICAgIGRpcmVjdGlvbjogbnVtYmVyO1xuICAgIHNpemU6ICd3aWR0aCcgfCAnaGVpZ2h0JztcbiAgICBzdGFydEVkZ2U6ICdsZWZ0JyB8ICd0b3AnO1xuICAgIGVuZEVkZ2U6ICdyaWdodCcgfCAnYm90dG9tJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsYW1wKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgbWluOiBudW1iZXIgPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksXG4gICAgbWF4OiBudW1iZXIgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFlcbik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBtaW4pLCBtYXgpO1xufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RdxTooltipArrowDirective } from './src/tooltip-arrow.directive';
3
+ import { RdxTooltipContentAttributesDirective } from './src/tooltip-content-attributes.directive';
4
+ import { RdxTooltipContentDirective } from './src/tooltip-content.directive';
5
+ import { RdxTooltipRootDirective } from './src/tooltip-root.directive';
6
+ import { RdxTooltipTriggerDirective } from './src/tooltip-trigger.directive';
7
+ import * as i0 from "@angular/core";
8
+ export * from './src/tooltip-arrow.directive';
9
+ export * from './src/tooltip-content-attributes.directive';
10
+ export * from './src/tooltip-content.directive';
11
+ export * from './src/tooltip-root.directive';
12
+ export * from './src/tooltip-trigger.directive';
13
+ export * from './src/tooltip.types';
14
+ const _imports = [
15
+ RdxTooltipArrowDirective,
16
+ RdxTooltipContentDirective,
17
+ RdxTooltipTriggerDirective,
18
+ RdxTooltipContentAttributesDirective,
19
+ RdxTooltipRootDirective
20
+ ];
21
+ export class RdxTooltipModule {
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule, imports: [RdxTooltipArrowDirective,
24
+ RdxTooltipContentDirective,
25
+ RdxTooltipTriggerDirective,
26
+ RdxTooltipContentAttributesDirective,
27
+ RdxTooltipRootDirective], exports: [RdxTooltipArrowDirective,
28
+ RdxTooltipContentDirective,
29
+ RdxTooltipTriggerDirective,
30
+ RdxTooltipContentAttributesDirective,
31
+ RdxTooltipRootDirective] }); }
32
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule, decorators: [{
35
+ type: NgModule,
36
+ args: [{
37
+ imports: [..._imports],
38
+ exports: [..._imports]
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFN0UsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscUJBQXFCLENBQUM7QUFFcEMsTUFBTSxRQUFRLEdBQUc7SUFDYix3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixvQ0FBb0M7SUFDcEMsdUJBQXVCO0NBQzFCLENBQUM7QUFNRixNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixZQVh6Qix3QkFBd0I7WUFDeEIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQixvQ0FBb0M7WUFDcEMsdUJBQXVCLGFBSnZCLHdCQUF3QjtZQUN4QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLG9DQUFvQztZQUNwQyx1QkFBdUI7Z0hBT2QsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcEFycm93RGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvdG9vbHRpcC1hcnJvdy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcENvbnRlbnRBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvdG9vbHRpcC1jb250ZW50LWF0dHJpYnV0ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFRvb2x0aXBDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvdG9vbHRpcC1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhUb29sdGlwUm9vdERpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL3Rvb2x0aXAtcm9vdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcFRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy90b29sdGlwLXRyaWdnZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvdG9vbHRpcC1hcnJvdy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvdG9vbHRpcC1jb250ZW50LWF0dHJpYnV0ZXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAtY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvdG9vbHRpcC1yb290LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90b29sdGlwLXRyaWdnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAudHlwZXMnO1xuXG5jb25zdCBfaW1wb3J0cyA9IFtcbiAgICBSZHhUb29sdGlwQXJyb3dEaXJlY3RpdmUsXG4gICAgUmR4VG9vbHRpcENvbnRlbnREaXJlY3RpdmUsXG4gICAgUmR4VG9vbHRpcFRyaWdnZXJEaXJlY3RpdmUsXG4gICAgUmR4VG9vbHRpcENvbnRlbnRBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgIFJkeFRvb2x0aXBSb290RGlyZWN0aXZlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5faW1wb3J0c10sXG4gICAgZXhwb3J0czogWy4uLl9pbXBvcnRzXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUb29sdGlwTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b29sdGlwL3JhZGl4LW5nLXByaW1pdGl2ZXMtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { TOOLTIP_POSITIONS } from './tooltip.constants';
2
+ import { RdxTooltipAlign, RdxTooltipSide } from './tooltip.types';
3
+ export function getContentPosition(side, align, sideOffset, alignOffset) {
4
+ const position = TOOLTIP_POSITIONS[side][align] ?? TOOLTIP_POSITIONS[RdxTooltipSide.Top][RdxTooltipAlign.Center];
5
+ if (sideOffset > 0) {
6
+ let xFactor = 0;
7
+ let yFactor = 0;
8
+ switch (side) {
9
+ case RdxTooltipSide.Top:
10
+ yFactor = -1;
11
+ break;
12
+ case RdxTooltipSide.Bottom:
13
+ yFactor = 1;
14
+ break;
15
+ case RdxTooltipSide.Left:
16
+ xFactor = -1;
17
+ break;
18
+ case RdxTooltipSide.Right:
19
+ xFactor = 1;
20
+ break;
21
+ }
22
+ position.offsetX = xFactor * sideOffset;
23
+ position.offsetY = yFactor * sideOffset;
24
+ }
25
+ if ([RdxTooltipAlign.Start, RdxTooltipAlign.End].includes(align) && alignOffset) {
26
+ const alignOffsetFactor = align === RdxTooltipAlign.End ? -1 : 1;
27
+ position.offsetX = alignOffsetFactor * alignOffset;
28
+ }
29
+ return position;
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvbnRlbnQtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAvc3JjL2dldC1jb250ZW50LXBvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEUsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixJQUFvQixFQUNwQixLQUFzQixFQUN0QixVQUFrQixFQUNsQixXQUFtQjtJQUVuQixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpILElBQUksVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFFaEIsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNYLEtBQUssY0FBYyxDQUFDLEdBQUc7Z0JBQ25CLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDYixNQUFNO1lBQ1YsS0FBSyxjQUFjLENBQUMsTUFBTTtnQkFDdEIsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDWixNQUFNO1lBQ1YsS0FBSyxjQUFjLENBQUMsSUFBSTtnQkFDcEIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNiLE1BQU07WUFDVixLQUFLLGNBQWMsQ0FBQyxLQUFLO2dCQUNyQixPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNaLE1BQU07UUFDZCxDQUFDO1FBRUQsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM5RSxNQUFNLGlCQUFpQixHQUFHLEtBQUssS0FBSyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpFLFFBQVEsQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLEdBQUcsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUT09MVElQX1BPU0lUSU9OUyB9IGZyb20gJy4vdG9vbHRpcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcEFsaWduLCBSZHhUb29sdGlwU2lkZSB9IGZyb20gJy4vdG9vbHRpcC50eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb250ZW50UG9zaXRpb24oXG4gICAgc2lkZTogUmR4VG9vbHRpcFNpZGUsXG4gICAgYWxpZ246IFJkeFRvb2x0aXBBbGlnbixcbiAgICBzaWRlT2Zmc2V0OiBudW1iZXIsXG4gICAgYWxpZ25PZmZzZXQ6IG51bWJlclxuKTogQ29ubmVjdGVkUG9zaXRpb24ge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gVE9PTFRJUF9QT1NJVElPTlNbc2lkZV1bYWxpZ25dID8/IFRPT0xUSVBfUE9TSVRJT05TW1JkeFRvb2x0aXBTaWRlLlRvcF1bUmR4VG9vbHRpcEFsaWduLkNlbnRlcl07XG5cbiAgICBpZiAoc2lkZU9mZnNldCA+IDApIHtcbiAgICAgICAgbGV0IHhGYWN0b3IgPSAwO1xuICAgICAgICBsZXQgeUZhY3RvciA9IDA7XG5cbiAgICAgICAgc3dpdGNoIChzaWRlKSB7XG4gICAgICAgICAgICBjYXNlIFJkeFRvb2x0aXBTaWRlLlRvcDpcbiAgICAgICAgICAgICAgICB5RmFjdG9yID0gLTE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFJkeFRvb2x0aXBTaWRlLkJvdHRvbTpcbiAgICAgICAgICAgICAgICB5RmFjdG9yID0gMTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUmR4VG9vbHRpcFNpZGUuTGVmdDpcbiAgICAgICAgICAgICAgICB4RmFjdG9yID0gLTE7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFJkeFRvb2x0aXBTaWRlLlJpZ2h0OlxuICAgICAgICAgICAgICAgIHhGYWN0b3IgPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9zaXRpb24ub2Zmc2V0WCA9IHhGYWN0b3IgKiBzaWRlT2Zmc2V0O1xuICAgICAgICBwb3NpdGlvbi5vZmZzZXRZID0geUZhY3RvciAqIHNpZGVPZmZzZXQ7XG4gICAgfVxuXG4gICAgaWYgKFtSZHhUb29sdGlwQWxpZ24uU3RhcnQsIFJkeFRvb2x0aXBBbGlnbi5FbmRdLmluY2x1ZGVzKGFsaWduKSAmJiBhbGlnbk9mZnNldCkge1xuICAgICAgICBjb25zdCBhbGlnbk9mZnNldEZhY3RvciA9IGFsaWduID09PSBSZHhUb29sdGlwQWxpZ24uRW5kID8gLTEgOiAxO1xuXG4gICAgICAgIHBvc2l0aW9uLm9mZnNldFggPSBhbGlnbk9mZnNldEZhY3RvciAqIGFsaWduT2Zmc2V0O1xuICAgIH1cblxuICAgIHJldHVybiBwb3NpdGlvbjtcbn1cbiJdfQ==
@@ -0,0 +1,92 @@
1
+ import { computed, Directive, effect, ElementRef, forwardRef, inject, input, Renderer2 } from '@angular/core';
2
+ import { RdxTooltipArrowToken } from './tooltip-arrow.token';
3
+ import { RdxTooltipContentToken } from './tooltip-content.token';
4
+ import { RdxTooltipSide } from './tooltip.types';
5
+ import * as i0 from "@angular/core";
6
+ export class RdxTooltipArrowDirective {
7
+ constructor() {
8
+ /** @ignore */
9
+ this.renderer = inject(Renderer2);
10
+ /** @ignore */
11
+ this.contentDirective = inject(RdxTooltipContentToken);
12
+ /** @ignore */
13
+ this.elementRef = inject(ElementRef);
14
+ /**
15
+ * The width of the arrow in pixels.
16
+ */
17
+ this.width = input(10);
18
+ /**
19
+ * The height of the arrow in pixels.
20
+ */
21
+ this.height = input(5);
22
+ /** @ignore */
23
+ this.arrowSvgElement = computed(() => {
24
+ const width = this.width();
25
+ const height = this.height();
26
+ const svgElement = this.renderer.createElement('svg', 'svg');
27
+ this.renderer.setAttribute(svgElement, 'viewBox', '0 0 30 10');
28
+ this.renderer.setAttribute(svgElement, 'width', String(width));
29
+ this.renderer.setAttribute(svgElement, 'height', String(height));
30
+ const polygonElement = this.renderer.createElement('polygon', 'svg');
31
+ this.renderer.setAttribute(polygonElement, 'points', '0,0 30,0 15,10');
32
+ this.renderer.setAttribute(svgElement, 'preserveAspectRatio', 'none');
33
+ this.renderer.appendChild(svgElement, polygonElement);
34
+ return svgElement;
35
+ });
36
+ /** @ignore */
37
+ this.onArrowSvgElementChangeEffect = effect(() => {
38
+ const arrowElement = this.arrowSvgElement();
39
+ this.renderer.appendChild(this.elementRef.nativeElement, arrowElement);
40
+ });
41
+ /** @ignore */
42
+ this.onSideChangeEffect = effect(() => {
43
+ const side = this.contentDirective.side();
44
+ this.elementRef.nativeElement.parentElement?.setAttribute('style', `position: relative;`);
45
+ this.elementRef.nativeElement.style.position = 'absolute';
46
+ this.elementRef.nativeElement.style.boxSizing = '';
47
+ this.elementRef.nativeElement.style.width = `${this.width()}px`;
48
+ this.elementRef.nativeElement.style.height = `${this.height()}px`;
49
+ this.elementRef.nativeElement.style.fontSize = '0px';
50
+ if ([RdxTooltipSide.Top, RdxTooltipSide.Bottom].includes(side)) {
51
+ this.elementRef.nativeElement.style.left = `calc(50% - ${this.width() / 2}px)`;
52
+ this.elementRef.nativeElement.style.top = '100%';
53
+ if (side === RdxTooltipSide.Bottom) {
54
+ this.elementRef.nativeElement.style.transform = 'rotate(180deg)';
55
+ this.elementRef.nativeElement.style.top = `-${this.height()}px`;
56
+ }
57
+ }
58
+ if ([RdxTooltipSide.Left, RdxTooltipSide.Right].includes(side)) {
59
+ this.elementRef.nativeElement.style.top = `calc(50% - ${this.height() / 2}px)`;
60
+ if (side === RdxTooltipSide.Left) {
61
+ this.elementRef.nativeElement.style.left = `100%`;
62
+ this.elementRef.nativeElement.style.transform = 'rotate(-90deg) translate(0, -50%)';
63
+ }
64
+ if (side === RdxTooltipSide.Right) {
65
+ this.elementRef.nativeElement.style.right = `100%`;
66
+ this.elementRef.nativeElement.style.transform = 'rotate(90deg) translate(0, -50%)';
67
+ }
68
+ }
69
+ });
70
+ }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
72
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTooltipArrowDirective, isStandalone: true, selector: "[rdxTooltipArrow]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
73
+ {
74
+ provide: RdxTooltipArrowToken,
75
+ useExisting: forwardRef(() => RdxTooltipArrowDirective)
76
+ }
77
+ ], ngImport: i0 }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipArrowDirective, decorators: [{
80
+ type: Directive,
81
+ args: [{
82
+ selector: '[rdxTooltipArrow]',
83
+ standalone: true,
84
+ providers: [
85
+ {
86
+ provide: RdxTooltipArrowToken,
87
+ useExisting: forwardRef(() => RdxTooltipArrowDirective)
88
+ }
89
+ ]
90
+ }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1hcnJvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAvc3JjL3Rvb2x0aXAtYXJyb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLHdCQUF3QjtJQVZyQztRQVdJLGNBQWM7UUFDRyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLGNBQWM7UUFDRyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRSxjQUFjO1FBQ0csZUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFFMUU7O1dBRUc7UUFDTSxVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sV0FBTSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUVuQyxjQUFjO1FBQ0wsb0JBQWUsR0FBRyxRQUFRLENBQWMsR0FBRyxFQUFFO1lBQ2xELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMs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LEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzt5QkFDMUQ7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIGluamVjdCwgaW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcEFycm93VG9rZW4gfSBmcm9tICcuL3Rvb2x0aXAtYXJyb3cudG9rZW4nO1xuaW1wb3J0IHsgUmR4VG9vbHRpcENvbnRlbnRUb2tlbiB9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50LnRva2VuJztcbmltcG9ydCB7IFJkeFRvb2x0aXBTaWRlIH0gZnJvbSAnLi90b29sdGlwLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9vbHRpcEFycm93XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogUmR4VG9vbHRpcEFycm93VG9rZW4sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSZHhUb29sdGlwQXJyb3dEaXJlY3RpdmUpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvb2x0aXBBcnJvd0RpcmVjdGl2ZSB7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnREaXJlY3RpdmUgPSBpbmplY3QoUmR4VG9vbHRpcENvbnRlbnRUb2tlbik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHdpZHRoIG9mIHRoZSBhcnJvdyBpbiBwaXhlbHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dDxudW1iZXI+KDEwKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBoZWlnaHQgb2YgdGhlIGFycm93IGluIHBpeGVscy5cbiAgICAgKi9cbiAgICByZWFkb25seSBoZWlnaHQgPSBpbnB1dDxudW1iZXI+KDUpO1xuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBhcnJvd1N2Z0VsZW1lbnQgPSBjb21wdXRlZDxIVE1MRWxlbWVudD4oKCkgPT4ge1xuICAgICAgICBjb25zdCB3aWR0aCA9IHRoaXMud2lkdGgoKTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5oZWlnaHQoKTtcblxuICAgICAgICBjb25zdCBzdmdFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdmcnLCAnc3ZnJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2Z0VsZW1lbnQsICd2aWV3Qm94JywgJzAgMCAzMCAxMCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzdmdFbGVtZW50LCAnd2lkdGgnLCBTdHJpbmcod2lkdGgpKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoc3ZnRWxlbWVudCwgJ2hlaWdodCcsIFN0cmluZyhoZWlnaHQpKTtcbiAgICAgICAgY29uc3QgcG9seWdvbkVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3BvbHlnb24nLCAnc3ZnJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBvbHlnb25FbGVtZW50LCAncG9pbnRzJywgJzAsMCAzMCwwIDE1LDEwJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHN2Z0VsZW1lbnQsICdwcmVzZXJ2ZUFzcGVjdFJhdGlvJywgJ25vbmUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzdmdFbGVtZW50LCBwb2x5Z29uRWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuIHN2Z0VsZW1lbnQ7XG4gICAgfSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25BcnJvd1N2Z0VsZW1lbnRDaGFuZ2VFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBhcnJvd0VsZW1lbnQgPSB0aGlzLmFycm93U3ZnRWxlbWVudCgpO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGFycm93RWxlbWVudCk7XG4gICAgfSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25TaWRlQ2hhbmdlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2lkZSA9IHRoaXMuY29udGVudERpcmVjdGl2ZS5zaWRlKCk7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudD8uc2V0QXR0cmlidXRlKCdzdHlsZScsIGBwb3NpdGlvbjogcmVsYXRpdmU7YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm94U2l6aW5nID0gJyc7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7dGhpcy53aWR0aCgpfXB4YDtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7dGhpcy5oZWlnaHQoKX1weGA7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmZvbnRTaXplID0gJzBweCc7XG5cbiAgICAgICAgaWYgKFtSZHhUb29sdGlwU2lkZS5Ub3AsIFJkeFRvb2x0aXBTaWRlLkJvdHRvbV0uaW5jbHVkZXMoc2lkZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBgY2FsYyg1MCUgLSAke3RoaXMud2lkdGgoKSAvIDJ9cHgpYDtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9ICcxMDAlJztcblxuICAgICAgICAgICAgaWYgKHNpZGUgPT09IFJkeFRvb2x0aXBTaWRlLkJvdHRvbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9ICdyb3RhdGUoMTgwZGVnKSc7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudG9wID0gYC0ke3RoaXMuaGVpZ2h0KCl9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFtSZHhUb29sdGlwU2lkZS5MZWZ0LCBSZHhUb29sdGlwU2lkZS5SaWdodF0uaW5jbHVkZXMoc2lkZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IGBjYWxjKDUwJSAtICR7dGhpcy5oZWlnaHQoKSAvIDJ9cHgpYDtcblxuICAgICAgICAgICAgaWYgKHNpZGUgPT09IFJkeFRvb2x0aXBTaWRlLkxlZnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYDEwMCVgO1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9ICdyb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSknO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2lkZSA9PT0gUmR4VG9vbHRpcFNpZGUuUmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IGAxMDAlYDtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSAncm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const RdxTooltipArrowToken = new InjectionToken('RdxTooltipArrowToken');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1hcnJvdy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcC9zcmMvdG9vbHRpcC1hcnJvdy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUEyQixzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFRvb2x0aXBBcnJvd0RpcmVjdGl2ZSB9IGZyb20gJy4vdG9vbHRpcC1hcnJvdy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgUmR4VG9vbHRpcEFycm93VG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4VG9vbHRpcEFycm93RGlyZWN0aXZlPignUmR4VG9vbHRpcEFycm93VG9rZW4nKTtcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Directive, inject } from '@angular/core';
2
+ import { RdxTooltipContentToken } from './tooltip-content.token';
3
+ import { RdxTooltipRootDirective } from './tooltip-root.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class RdxTooltipContentAttributesDirective {
6
+ constructor() {
7
+ this.tooltipRoot = inject(RdxTooltipRootDirective);
8
+ this.tooltipContent = inject(RdxTooltipContentToken);
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentAttributesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTooltipContentAttributesDirective, isStandalone: true, selector: "[rdxTooltipContentAttributes]", host: { properties: { "attr.data-state": "tooltipRoot.state()", "attr.data-side": "tooltipContent.side()" } }, ngImport: i0 }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentAttributesDirective, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[rdxTooltipContentAttributes]',
17
+ standalone: true,
18
+ host: {
19
+ '[attr.data-state]': 'tooltipRoot.state()',
20
+ '[attr.data-side]': 'tooltipContent.side()'
21
+ }
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LWF0dHJpYnV0ZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b29sdGlwL3NyYy90b29sdGlwLWNvbnRlbnQtYXR0cmlidXRlcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBVW5FLE1BQU0sT0FBTyxvQ0FBb0M7SUFSakQ7UUFTYSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzlDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FDNUQ7K0dBSFksb0NBQW9DO21HQUFwQyxvQ0FBb0M7OzRGQUFwQyxvQ0FBb0M7a0JBUmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixtQkFBbUIsRUFBRSxxQkFBcUI7d0JBQzFDLGtCQUFrQixFQUFFLHVCQUF1QjtxQkFDOUM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcENvbnRlbnRUb2tlbiB9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50LnRva2VuJztcbmltcG9ydCB7IFJkeFRvb2x0aXBSb290RGlyZWN0aXZlIH0gZnJvbSAnLi90b29sdGlwLXJvb3QuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9vbHRpcENvbnRlbnRBdHRyaWJ1dGVzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICd0b29sdGlwUm9vdC5zdGF0ZSgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc2lkZV0nOiAndG9vbHRpcENvbnRlbnQuc2lkZSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9vbHRpcENvbnRlbnRBdHRyaWJ1dGVzRGlyZWN0aXZlIHtcbiAgICByZWFkb25seSB0b29sdGlwUm9vdCA9IGluamVjdChSZHhUb29sdGlwUm9vdERpcmVjdGl2ZSk7XG4gICAgcmVhZG9ubHkgdG9vbHRpcENvbnRlbnQgPSBpbmplY3QoUmR4VG9vbHRpcENvbnRlbnRUb2tlbik7XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { computed, Directive, forwardRef, inject, input, output, TemplateRef } from '@angular/core';
2
+ import { getContentPosition } from './get-content-position';
3
+ import { RdxTooltipContentToken } from './tooltip-content.token';
4
+ import { RdxTooltipAlign, RdxTooltipSide } from './tooltip.types';
5
+ import * as i0 from "@angular/core";
6
+ export class RdxTooltipContentDirective {
7
+ constructor() {
8
+ /** @ignore */
9
+ this.templateRef = inject(TemplateRef);
10
+ /**
11
+ * The preferred side of the trigger to render against when open. Will be reversed when collisions occur and avoidCollisions is enabled.
12
+ */
13
+ this.side = input(RdxTooltipSide.Top);
14
+ /**
15
+ * The distance in pixels from the trigger.
16
+ */
17
+ this.sideOffset = input(0);
18
+ /**
19
+ * The preferred alignment against the trigger. May change when collisions occur.
20
+ */
21
+ this.align = input(RdxTooltipAlign.Center);
22
+ /**
23
+ * An offset in pixels from the "start" or "end" alignment options.
24
+ */
25
+ this.alignOffset = input(0);
26
+ /** @ingore */
27
+ this.position = computed(() => getContentPosition(this.side(), this.align(), this.sideOffset(), this.alignOffset()));
28
+ /**
29
+ * Event handler called when the escape key is down. It can be prevented by calling event.preventDefault.
30
+ */
31
+ this.onEscapeKeyDown = output();
32
+ /**
33
+ * Event handler called when a pointer event occurs outside the bounds of the component. It can be prevented by calling event.preventDefault.
34
+ */
35
+ this.onPointerDownOutside = output();
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTooltipContentDirective, isStandalone: true, selector: "[rdxTooltipContent]", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, alignOffset: { classPropertyName: "alignOffset", publicName: "alignOffset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onEscapeKeyDown: "onEscapeKeyDown", onPointerDownOutside: "onPointerDownOutside" }, providers: [{ provide: RdxTooltipContentToken, useExisting: forwardRef(() => RdxTooltipContentDirective) }], ngImport: i0 }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentDirective, decorators: [{
41
+ type: Directive,
42
+ args: [{
43
+ selector: '[rdxTooltipContent]',
44
+ standalone: true,
45
+ providers: [{ provide: RdxTooltipContentToken, useExisting: forwardRef(() => RdxTooltipContentDirective) }]
46
+ }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcC9zcmMvdG9vbHRpcC1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBT2xFLE1BQU0sT0FBTywwQkFBMEI7SUFMdkM7UUFNSSxjQUFjO1FBQ0wsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFpQixjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQ7O1dBRUc7UUFDTSxlQUFVLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXZDOztXQUVHO1FBQ00sVUFBSyxHQUFHLEtBQUssQ0FBa0IsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhFOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFeEMsY0FBYztRQUNMLGFBQVEsR0FBRyxRQUFRLENBQW9CLEdBQUcsRUFBRSxDQUNqRCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDdkYsQ0FBQztRQUVGOztXQUVHO1FBQ00sb0JBQWUsR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFFbkQ7O1dBRUc7UUFDTSx5QkFBb0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztLQUN4RDsrR0F0Q1ksMEJBQTBCO21HQUExQiwwQkFBMEIsMnFCQUZ4QixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDOzs0RkFFbEcsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxFQUFFLENBQUM7aUJBQzlHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRDb250ZW50UG9zaXRpb24gfSBmcm9tICcuL2dldC1jb250ZW50LXBvc2l0aW9uJztcbmltcG9ydCB7IFJkeFRvb2x0aXBDb250ZW50VG9rZW4gfSBmcm9tICcuL3Rvb2x0aXAtY29udGVudC50b2tlbic7XG5pbXBvcnQgeyBSZHhUb29sdGlwQWxpZ24sIFJkeFRvb2x0aXBTaWRlIH0gZnJvbSAnLi90b29sdGlwLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9vbHRpcENvbnRlbnRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmR4VG9vbHRpcENvbnRlbnRUb2tlbiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmR4VG9vbHRpcENvbnRlbnREaXJlY3RpdmUpIH1dXG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvb2x0aXBDb250ZW50RGlyZWN0aXZlIHtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgc2lkZSBvZiB0aGUgdHJpZ2dlciB0byByZW5kZXIgYWdhaW5zdCB3aGVuIG9wZW4uIFdpbGwgYmUgcmV2ZXJzZWQgd2hlbiBjb2xsaXNpb25zIG9jY3VyIGFuZCBhdm9pZENvbGxpc2lvbnMgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBzaWRlID0gaW5wdXQ8UmR4VG9vbHRpcFNpZGU+KFJkeFRvb2x0aXBTaWRlLlRvcCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGlzdGFuY2UgaW4gcGl4ZWxzIGZyb20gdGhlIHRyaWdnZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2lkZU9mZnNldCA9IGlucHV0PG51bWJlcj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJlZmVycmVkIGFsaWdubWVudCBhZ2FpbnN0IHRoZSB0cmlnZ2VyLiBNYXkgY2hhbmdlIHdoZW4gY29sbGlzaW9ucyBvY2N1ci5cbiAgICAgKi9cbiAgICByZWFkb25seSBhbGlnbiA9IGlucHV0PFJkeFRvb2x0aXBBbGlnbj4oUmR4VG9vbHRpcEFsaWduLkNlbnRlcik7XG5cbiAgICAvKipcbiAgICAgKiBBbiBvZmZzZXQgaW4gcGl4ZWxzIGZyb20gdGhlIFwic3RhcnRcIiBvciBcImVuZFwiIGFsaWdubWVudCBvcHRpb25zLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFsaWduT2Zmc2V0ID0gaW5wdXQ8bnVtYmVyPigwKTtcblxuICAgIC8qKiBAaW5nb3JlICovXG4gICAgcmVhZG9ubHkgcG9zaXRpb24gPSBjb21wdXRlZDxDb25uZWN0ZWRQb3NpdGlvbj4oKCkgPT5cbiAgICAgICAgZ2V0Q29udGVudFBvc2l0aW9uKHRoaXMuc2lkZSgpLCB0aGlzLmFsaWduKCksIHRoaXMuc2lkZU9mZnNldCgpLCB0aGlzLmFsaWduT2Zmc2V0KCkpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGVzY2FwZSBrZXkgaXMgZG93bi4gSXQgY2FuIGJlIHByZXZlbnRlZCBieSBjYWxsaW5nIGV2ZW50LnByZXZlbnREZWZhdWx0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9uRXNjYXBlS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiBhIHBvaW50ZXIgZXZlbnQgb2NjdXJzIG91dHNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgY29tcG9uZW50LiBJdCBjYW4gYmUgcHJldmVudGVkIGJ5IGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgb25Qb2ludGVyRG93bk91dHNpZGUgPSBvdXRwdXQ8TW91c2VFdmVudD4oKTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const RdxTooltipContentToken = new InjectionToken('RdxTooltipContentToken');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b29sdGlwL3NyYy90b29sdGlwLWNvbnRlbnQudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBNkIsd0JBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhUb29sdGlwQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBSZHhUb29sdGlwQ29udGVudFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeFRvb2x0aXBDb250ZW50RGlyZWN0aXZlPignUmR4VG9vbHRpcENvbnRlbnRUb2tlbicpO1xuIl19