@helpdice/ui 2.2.7 → 2.3.2

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.
@@ -68,6 +68,108 @@ export var getPosition = function getPosition(placement, rect, offset) {
68
68
  };
69
69
  return positions[placement] || positions.top;
70
70
  };
71
+
72
+ // export const getPosition = (
73
+ // placement: Placement,
74
+ // rect: ParentDomRect,
75
+ // offset: number,
76
+ // ): TooltipPosition => {
77
+ // // console.log(rect);
78
+ // if (
79
+ // !rect ||
80
+ // rect.width <= 0 ||
81
+ // rect.height <= 0 ||
82
+ // Number.isNaN(rect.top) ||
83
+ // Number.isNaN(rect.left)
84
+ // ) {
85
+ // return {
86
+ // top: '0px',
87
+ // left: '0px',
88
+ // // move tooltip out of viewport safely until rect is valid
89
+ // transform: 'translate(-9999px, -9999px)',
90
+ // }
91
+ // }
92
+
93
+ // const viewportWidth = window.innerWidth
94
+ // const viewportHeight = window.innerHeight
95
+
96
+ // const clamp = (value: number, min: number, max: number) =>
97
+ // Math.min(Math.max(value, min), max)
98
+
99
+ // const centerX = rect.left + rect.width / 2
100
+ // const centerY = rect.top + rect.height / 2
101
+
102
+ // const safeTop = clamp(rect.top, 8, viewportHeight - 8)
103
+ // const safeBottom = clamp(rect.bottom, 8, viewportHeight - 8)
104
+ // const safeLeft = clamp(rect.left, 8, viewportWidth - 8)
105
+ // const safeRight = clamp(rect.right, 8, viewportWidth - 8)
106
+
107
+ // const positions: Record<Placement, TooltipPosition> = {
108
+ // top: {
109
+ // top: `${clamp(rect.top - offset, 8, viewportHeight - 8)}px`,
110
+ // left: `${clamp(centerX, 8, viewportWidth - 8)}px`,
111
+ // transform: 'translate(-50%, -100%)',
112
+ // },
113
+ // topStart: {
114
+ // top: `${clamp(rect.top - offset, 8, viewportHeight - 8)}px`,
115
+ // left: `${safeLeft}px`,
116
+ // transform: 'translate(0, -100%)',
117
+ // },
118
+ // topEnd: {
119
+ // top: `${clamp(rect.top - offset, 8, viewportHeight - 8)}px`,
120
+ // left: `${safeRight}px`,
121
+ // transform: 'translate(-100%, -100%)',
122
+ // },
123
+ // bottom: {
124
+ // top: `${clamp(rect.bottom + offset, 8, viewportHeight - 8)}px`,
125
+ // left: `${clamp(centerX, 8, viewportWidth - 8)}px`,
126
+ // transform: 'translate(-50%, 0)',
127
+ // },
128
+ // bottomStart: {
129
+ // top: `${clamp(rect.bottom + offset, 8, viewportHeight - 8)}px`,
130
+ // left: `${safeLeft}px`,
131
+ // transform: 'translate(0, 0)',
132
+ // },
133
+ // bottomEnd: {
134
+ // top: `${clamp(rect.bottom + offset, 8, viewportHeight - 8)}px`,
135
+ // left: `${safeRight}px`,
136
+ // transform: 'translate(-100%, 0)',
137
+ // },
138
+ // left: {
139
+ // top: `${clamp(centerY, 8, viewportHeight - 8)}px`,
140
+ // left: `${clamp(rect.left - offset, 8, viewportWidth - 8)}px`,
141
+ // transform: 'translate(-100%, -50%)',
142
+ // },
143
+ // leftStart: {
144
+ // top: `${safeTop}px`,
145
+ // left: `${clamp(rect.left - offset, 8, viewportWidth - 8)}px`,
146
+ // transform: 'translate(-100%, 0)',
147
+ // },
148
+ // leftEnd: {
149
+ // top: `${safeBottom}px`,
150
+ // left: `${clamp(rect.left - offset, 8, viewportWidth - 8)}px`,
151
+ // transform: 'translate(-100%, -100%)',
152
+ // },
153
+ // right: {
154
+ // top: `${clamp(centerY, 8, viewportHeight - 8)}px`,
155
+ // left: `${clamp(rect.right + offset, 8, viewportWidth - 8)}px`,
156
+ // transform: 'translate(0, -50%)',
157
+ // },
158
+ // rightStart: {
159
+ // top: `${safeTop}px`,
160
+ // left: `${clamp(rect.right + offset, 8, viewportWidth - 8)}px`,
161
+ // transform: 'translate(0, 0)',
162
+ // },
163
+ // rightEnd: {
164
+ // top: `${safeBottom}px`,
165
+ // left: `${clamp(rect.right + offset, 8, viewportWidth - 8)}px`,
166
+ // transform: 'translate(0, -100%)',
167
+ // },
168
+ // }
169
+
170
+ // return positions[placement] || positions.top
171
+ // }
172
+
71
173
  export var getIconPosition = function getIconPosition(placement, offsetX, offsetY) {
72
174
  var offsetAbsolute = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '3px';
73
175
  var positions = {
@@ -1,7 +1,7 @@
1
- import React, { MutableRefObject } from 'react';
1
+ import React, { RefObject } from 'react';
2
2
  import { Placement, SnippetTypes } from '../utils/prop-types';
3
3
  interface Props {
4
- parent?: MutableRefObject<HTMLElement | null> | undefined;
4
+ parent?: RefObject<HTMLElement | null> | undefined;
5
5
  placement: Placement;
6
6
  type: SnippetTypes;
7
7
  visible: boolean;
@@ -37,6 +37,9 @@ var TooltipContent = function TooltipContent(_ref) {
37
37
  }, [type, theme.palette]);
38
38
  var hasShadow = type === 'default';
39
39
  var classes = useClasses('tooltip-content', className);
40
+
41
+ // console.log('Having Parent', parent);
42
+
40
43
  if (!parent) return null;
41
44
  var updateRect = function updateRect() {
42
45
  var position = getPosition(placement, getRect(parent), offset);
@@ -47,7 +50,15 @@ var TooltipContent = function TooltipContent(_ref) {
47
50
  return updateRect();
48
51
  });
49
52
  useEffect(function () {
50
- updateRect();
53
+ window.addEventListener('scroll', updateRect, true);
54
+ return function () {
55
+ return window.removeEventListener('scroll', updateRect, true);
56
+ };
57
+ }, []);
58
+ useEffect(function () {
59
+ if (visible && parent !== null && parent !== void 0 && parent.current) {
60
+ updateRect();
61
+ }
51
62
  }, [visible]);
52
63
  var preventHandler = function preventHandler(event) {
53
64
  event.stopPropagation();
@@ -1,7 +1,4 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["children", "initialVisible", "text", "offset", "placement", "portalClassName", "enterDelay", "leaveDelay", "trigger", "type", "className", "onVisibleChange", "hideArrow", "visible"];
5
2
  import _JSXStyle from "../styled-jsx.es.js";
6
3
  /* "use client" */
7
4
 
@@ -36,8 +33,7 @@ var TooltipComponent = function TooltipComponent(_ref) {
36
33
  onVisibleChange = _ref$onVisibleChange === void 0 ? function () {} : _ref$onVisibleChange,
37
34
  _ref$hideArrow = _ref.hideArrow,
38
35
  hideArrow = _ref$hideArrow === void 0 ? false : _ref$hideArrow,
39
- customVisible = _ref.visible,
40
- props = _objectWithoutProperties(_ref, _excluded);
36
+ customVisible = _ref.visible;
41
37
  var timer = useRef(undefined);
42
38
  var ref = useRef(null);
43
39
  var _useState = useState(initialVisible),
@@ -100,7 +96,7 @@ var TooltipComponent = function TooltipComponent(_ref) {
100
96
  if (customVisible === undefined) return;
101
97
  changeVisible(customVisible);
102
98
  }, [customVisible]);
103
- return /*#__PURE__*/React.createElement("div", _extends({
99
+ return /*#__PURE__*/React.createElement("div", {
104
100
  ref: ref,
105
101
  onClick: clickEventHandler,
106
102
  onMouseEnter: function onMouseEnter() {
@@ -109,9 +105,10 @@ var TooltipComponent = function TooltipComponent(_ref) {
109
105
  onMouseLeave: function onMouseLeave() {
110
106
  return mouseEventHandler(false);
111
107
  }
112
- }, props, {
113
- className: "jsx-418573366" + " " + (props && props.className != null && props.className || useClasses('tooltip', className) || "")
114
- }), children, /*#__PURE__*/React.createElement(TooltipContent, contentProps, text), /*#__PURE__*/React.createElement(_JSXStyle, {
108
+ // {...props}
109
+ ,
110
+ className: "jsx-418573366" + " " + (useClasses('tooltip', className) || "")
111
+ }, children, /*#__PURE__*/React.createElement(TooltipContent, contentProps, text), /*#__PURE__*/React.createElement(_JSXStyle, {
115
112
  id: "418573366"
116
113
  }, ".tooltip.jsx-418573366{width:-webkit-max-content;width:-moz-max-content;width:max-content;display:inline-block;}"));
117
114
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helpdice/ui",
3
- "version": "2.2.7",
3
+ "version": "2.3.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "esm/index.d.ts",
6
6
  "unpkg": "dist/index.min.js",
@@ -25,7 +25,7 @@
25
25
  "build:after": "node scripts/move-built-in.js && node scripts/generate-exports.js",
26
26
  "build:types": "tsc -p ./scripts & tsc -p ./scripts --outDir ./esm",
27
27
  "build:package": "yarn build:rollup && yarn build:babel && yarn build:types && yarn build:after",
28
- "release": "yarn publish --access public --non-interactive",
28
+ "release": "npm publish --registry=https://registry.npmjs.org/ --access public --non-interactive",
29
29
  "release:github": "npm publish --registry=https://npm.pkg.github.com"
30
30
  },
31
31
  "license": "MIT",
@@ -63,15 +63,15 @@
63
63
  "@babel/preset-typescript": "^7.14.5",
64
64
  "@babel/standalone": "^7.28.3",
65
65
  "@helpdice/icons": "^1.2.5",
66
- "@helpdice/sdk": "^0.3.3",
66
+ "@helpdice/sdk": "^0.4.3",
67
67
  "@helpdice/utils": "^0.1.4",
68
- "@helpdice/pro": "2.0.1",
68
+ "@helpdice/pro": "2.0.5",
69
69
  "@mapbox/rehype-prism": "^0.9.0",
70
70
  "@mdx-js/loader": "^3.1.0",
71
71
  "@mdx-js/react": "^3.1.0",
72
72
  "@monaco-editor/react": "^4.7.0",
73
- "@next/bundle-analyzer": "^15.5.4",
74
- "@next/mdx": "^15.5.4",
73
+ "@next/bundle-analyzer": "^16.1.1",
74
+ "@next/mdx": "^16.1.1",
75
75
  "@rollup/plugin-babel": "^6.0.4",
76
76
  "@rollup/plugin-commonjs": "28.0.2",
77
77
  "@rollup/plugin-json": "^6.1.0",
@@ -96,11 +96,11 @@
96
96
  "fs-extra": "^11.3.0",
97
97
  "get-user-locale": "^3.0.0",
98
98
  "just-debounce-it": "^3.2.0",
99
- "next": "^15.5.4",
99
+ "next": "^16.1.1",
100
100
  "prettier": "^3.4.2",
101
- "react": "19.2.0",
101
+ "react": "19.2.3",
102
102
  "react-color": "^2.19.3",
103
- "react-dom": "^19.2.0",
103
+ "react-dom": "^19.2.3",
104
104
  "react-live": "^4.1.8",
105
105
  "remark-gfm": "^4.0.1",
106
106
  "rollup": "^4.50.1",
@@ -140,9 +140,9 @@
140
140
  "tslib": "^2.8.1"
141
141
  },
142
142
  "peerDependencies": {
143
- "@helpdice/theme": "^1.0.9",
144
- "react": "^19.2.0",
145
- "react-dom": "^19.2.0"
143
+ "@helpdice/theme": "^1.1.0",
144
+ "react": "^19.2.3",
145
+ "react-dom": "^19.2.3"
146
146
  },
147
147
  "jest": {
148
148
  "globals": {