blixify-ui-web 1.2.113 → 1.2.115
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/lib/components/chart/lineChart/index.d.ts.map +1 -1
- package/lib/components/chart/lineChart/index.js +1 -3
- package/lib/components/chart/lineChart/index.js.map +1 -1
- package/lib/components/chat/chatAnchor/index.d.ts +47 -1
- package/lib/components/chat/chatAnchor/index.d.ts.map +1 -1
- package/lib/components/chat/chatAnchor/index.js +356 -14
- package/lib/components/chat/chatAnchor/index.js.map +1 -1
- package/lib/components/chat/chatBase/index.d.ts +2 -0
- package/lib/components/chat/chatBase/index.d.ts.map +1 -1
- package/lib/components/chat/chatBase/index.js +1 -1
- package/lib/components/chat/chatBase/index.js.map +1 -1
- package/lib/components/data/driveTemplate/driveUtils.d.ts +4 -0
- package/lib/components/data/driveTemplate/driveUtils.d.ts.map +1 -1
- package/lib/components/data/driveTemplate/driveUtils.js +87 -1
- package/lib/components/data/driveTemplate/driveUtils.js.map +1 -1
- package/lib/components/data/driveTemplate/index.d.ts.map +1 -1
- package/lib/components/data/driveTemplate/index.js +33 -8
- package/lib/components/data/driveTemplate/index.js.map +1 -1
- package/lib/tail.css +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chart/lineChart/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chart/lineChart/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -194,9 +194,7 @@ var LineChart = /** @class */ (function (_super) {
|
|
|
194
194
|
},
|
|
195
195
|
tooltip: {
|
|
196
196
|
enabled: !_this.props.disableTooltip,
|
|
197
|
-
intersect:
|
|
198
|
-
? false
|
|
199
|
-
: true,
|
|
197
|
+
intersect: false,
|
|
200
198
|
shared: _this.props.multiLineSeries ? true : false,
|
|
201
199
|
y: {
|
|
202
200
|
formatter: function (value, _a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/chart/lineChart/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/chart/lineChart/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,12 @@ interface Props extends ChatProps {
|
|
|
9
9
|
closeIcon?: React.ReactNode | string;
|
|
10
10
|
draggable?: boolean;
|
|
11
11
|
positionStorageKey?: string;
|
|
12
|
+
resizableWidth?: boolean;
|
|
13
|
+
defaultWidth?: number;
|
|
14
|
+
widthStorageKey?: string;
|
|
15
|
+
resizableHeight?: boolean;
|
|
16
|
+
defaultHeight?: number;
|
|
17
|
+
heightStorageKey?: string;
|
|
12
18
|
}
|
|
13
19
|
interface AnchorPosition {
|
|
14
20
|
right: number;
|
|
@@ -19,9 +25,12 @@ export declare class ChatAnchor extends Component<Props> {
|
|
|
19
25
|
isMobileWidth: boolean;
|
|
20
26
|
chatCard: boolean;
|
|
21
27
|
position: AnchorPosition | null;
|
|
28
|
+
width: number | null;
|
|
29
|
+
height: number | null;
|
|
22
30
|
};
|
|
23
31
|
anchorRef: React.RefObject<HTMLDivElement | null>;
|
|
24
32
|
buttonRef: React.RefObject<HTMLDivElement | null>;
|
|
33
|
+
panelRef: React.RefObject<HTMLDivElement | null>;
|
|
25
34
|
dragRef: {
|
|
26
35
|
pointerX: number;
|
|
27
36
|
pointerY: number;
|
|
@@ -30,20 +39,57 @@ export declare class ChatAnchor extends Component<Props> {
|
|
|
30
39
|
moved: boolean;
|
|
31
40
|
latest: AnchorPosition | null;
|
|
32
41
|
} | null;
|
|
42
|
+
resizeRef: {
|
|
43
|
+
pointerX: number;
|
|
44
|
+
startWidth: number;
|
|
45
|
+
moved: boolean;
|
|
46
|
+
latest: number | null;
|
|
47
|
+
} | null;
|
|
48
|
+
resizeVertRef: {
|
|
49
|
+
pointerY: number;
|
|
50
|
+
startHeight: number;
|
|
51
|
+
moved: boolean;
|
|
52
|
+
latest: number | null;
|
|
53
|
+
} | null;
|
|
33
54
|
suppressClick: boolean;
|
|
34
55
|
componentDidMount(): void;
|
|
35
56
|
componentWillUnmount(): void;
|
|
36
57
|
handleStorageKey: () => string;
|
|
58
|
+
handleWidthStorageKey: () => string;
|
|
59
|
+
handleDefaultWidth: () => number;
|
|
60
|
+
handleHeightStorageKey: () => string;
|
|
61
|
+
handleDefaultHeight: () => number;
|
|
62
|
+
handleMaxWidth: () => number;
|
|
63
|
+
handleMaxHeight: () => number;
|
|
64
|
+
handleClampWidth: (width: number) => number;
|
|
65
|
+
handleClampHeight: (height: number) => number;
|
|
66
|
+
handleIsResizable: () => boolean;
|
|
67
|
+
handleIsResizableHeight: () => boolean;
|
|
37
68
|
handleClampPosition: (position: AnchorPosition) => AnchorPosition;
|
|
38
69
|
handleRestorePosition: () => void;
|
|
39
70
|
handlePersistPosition: (position: AnchorPosition) => void;
|
|
71
|
+
handleRestoreWidth: () => void;
|
|
72
|
+
handlePersistWidth: (width: number) => void;
|
|
73
|
+
handleRestoreHeight: () => void;
|
|
74
|
+
handlePersistHeight: (height: number) => void;
|
|
40
75
|
handleDragStart: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
41
76
|
handleDragMove: (event: PointerEvent) => void;
|
|
42
77
|
handleDragEnd: () => void;
|
|
43
78
|
handleRemoveDragListeners: () => void;
|
|
79
|
+
handleResizeStart: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
80
|
+
handleResizeMove: (event: PointerEvent) => void;
|
|
81
|
+
handleResizeEnd: () => void;
|
|
82
|
+
handleRemoveResizeListeners: () => void;
|
|
83
|
+
handleResizeVertStart: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
84
|
+
handleResizeVertMove: (event: PointerEvent) => void;
|
|
85
|
+
handleResizeVertEnd: () => void;
|
|
86
|
+
handleRemoveResizeVertListeners: () => void;
|
|
44
87
|
handleAnchorClick: () => void;
|
|
45
88
|
handleIsDraggable: () => boolean;
|
|
46
|
-
componentDidUpdate: (prevProps: Props
|
|
89
|
+
componentDidUpdate: (prevProps: Props, prevState: {
|
|
90
|
+
chatCard: boolean;
|
|
91
|
+
}) => void;
|
|
92
|
+
handleReclampPosition: () => void;
|
|
47
93
|
handleResize: () => void;
|
|
48
94
|
renderChatAnchorIcon: () => React.JSX.Element;
|
|
49
95
|
render(): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/chatAnchor/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AACnD,OAAO,EAAY,KAAK,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3D,UAAU,KAAM,SAAQ,SAAS;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/chatAnchor/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,31 @@ var solid_1 = require("@heroicons/react/20/solid");
|
|
|
55
55
|
var react_2 = __importStar(require("react"));
|
|
56
56
|
var chatBase_1 = require("../chatBase");
|
|
57
57
|
var DEFAULT_POSITION_STORAGE_KEY = "blixify-chat-anchor-position";
|
|
58
|
+
var DEFAULT_WIDTH_STORAGE_KEY = "blixify-chat-anchor-width";
|
|
59
|
+
var DEFAULT_HEIGHT_STORAGE_KEY = "blixify-chat-anchor-height";
|
|
60
|
+
// INFO: the default width (384px) matches the sm:w-96 the panel ships with, so
|
|
61
|
+
// turning resize on changes nothing until the user drags.
|
|
62
|
+
var DEFAULT_WIDTH = 384;
|
|
63
|
+
// INFO: the panel ships at sm:h-[75vh], not a fixed pixel height, so the height
|
|
64
|
+
// default is three quarters of the viewport — turning resize on changes nothing
|
|
65
|
+
// until the user drags. On the server there is no viewport, so fall back to a
|
|
66
|
+
// fixed height that never reaches state (width/height are seeded after mount).
|
|
67
|
+
var DEFAULT_HEIGHT_VIEWPORT_RATIO = 0.75;
|
|
68
|
+
var DEFAULT_HEIGHT_FALLBACK = 600;
|
|
69
|
+
// INFO: the floor keeps the chat usable — below ~280px the header title, the
|
|
70
|
+
// message bubbles and the input row crush into a sliver. The cap keeps the
|
|
71
|
+
// panel on screen: it grows leftward from the bottom-right anchor, so the widest
|
|
72
|
+
// it can be is the distance from its own right edge to the left edge of the
|
|
73
|
+
// viewport, less this gutter.
|
|
74
|
+
var MIN_USABLE_WIDTH = 280;
|
|
75
|
+
var WIDTH_VIEWPORT_GUTTER = 16;
|
|
76
|
+
// INFO: the height mirrors the width. The panel grows upward from the
|
|
77
|
+
// bottom-right anchor, so the tallest it can be without clipping off the top is
|
|
78
|
+
// the distance from its own bottom edge to the top of the viewport, less this
|
|
79
|
+
// gutter. The floor is taller than the width floor because a chat still needs
|
|
80
|
+
// its header and input row to stay usable.
|
|
81
|
+
var MIN_USABLE_HEIGHT = 120;
|
|
82
|
+
var HEIGHT_VIEWPORT_GUTTER = 16;
|
|
58
83
|
// INFO: a drag shorter than this is a click — a tap on a touch screen always
|
|
59
84
|
// travels a pixel or two, and it must still open the chat
|
|
60
85
|
var DRAG_THRESHOLD = 4;
|
|
@@ -66,19 +91,114 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
66
91
|
isMobileWidth: false,
|
|
67
92
|
chatCard: true,
|
|
68
93
|
position: null,
|
|
94
|
+
width: null,
|
|
95
|
+
height: null,
|
|
69
96
|
};
|
|
70
97
|
_this.anchorRef = react_2.default.createRef();
|
|
71
98
|
_this.buttonRef = react_2.default.createRef();
|
|
99
|
+
// INFO: the panel's own box, not the anchor's — the anchor also holds the
|
|
100
|
+
// button below the panel, so the panel bottom (where height is measured from)
|
|
101
|
+
// sits above the anchor bottom.
|
|
102
|
+
_this.panelRef = react_2.default.createRef();
|
|
72
103
|
_this.dragRef = null;
|
|
104
|
+
// INFO: the panel grows leftward from the bottom-right anchor, so dragging
|
|
105
|
+
// the left-edge handle to the left widens it — hence the negated deltaX below
|
|
106
|
+
_this.resizeRef = null;
|
|
107
|
+
// INFO: the panel grows upward from the bottom-right anchor, so dragging the
|
|
108
|
+
// top-edge handle upward makes it taller — hence the negated deltaY below
|
|
109
|
+
_this.resizeVertRef = null;
|
|
73
110
|
_this.suppressClick = false;
|
|
74
111
|
_this.handleStorageKey = function () { var _a; return (_a = _this.props.positionStorageKey) !== null && _a !== void 0 ? _a : DEFAULT_POSITION_STORAGE_KEY; };
|
|
112
|
+
_this.handleWidthStorageKey = function () { var _a; return (_a = _this.props.widthStorageKey) !== null && _a !== void 0 ? _a : DEFAULT_WIDTH_STORAGE_KEY; };
|
|
113
|
+
_this.handleDefaultWidth = function () { var _a; return (_a = _this.props.defaultWidth) !== null && _a !== void 0 ? _a : DEFAULT_WIDTH; };
|
|
114
|
+
_this.handleHeightStorageKey = function () { var _a; return (_a = _this.props.heightStorageKey) !== null && _a !== void 0 ? _a : DEFAULT_HEIGHT_STORAGE_KEY; };
|
|
115
|
+
// INFO: no fixed default — the panel ships at sm:h-[75vh], so an untouched
|
|
116
|
+
// panel opens at three quarters of the viewport. A consumer can override with
|
|
117
|
+
// defaultHeight. On the server there is no viewport, so fall back to a fixed
|
|
118
|
+
// height; that value is only ever a placeholder, since height is seeded after
|
|
119
|
+
// mount where the viewport is known.
|
|
120
|
+
_this.handleDefaultHeight = function () {
|
|
121
|
+
if (_this.props.defaultHeight != null)
|
|
122
|
+
return _this.props.defaultHeight;
|
|
123
|
+
if (typeof window === "undefined")
|
|
124
|
+
return DEFAULT_HEIGHT_FALLBACK;
|
|
125
|
+
return Math.round(window.innerHeight * DEFAULT_HEIGHT_VIEWPORT_RATIO);
|
|
126
|
+
};
|
|
127
|
+
// INFO: the panel grows leftward from the bottom-right anchor, so the widest
|
|
128
|
+
// it can be without clipping off the left edge is the distance from its own
|
|
129
|
+
// right edge to x=0, less a gutter. The anchor's right inset (positionOffset
|
|
130
|
+
// or a dragged position) is baked into that right edge, so measuring it from
|
|
131
|
+
// the rendered rect handles any offset. On the server there is no window, so
|
|
132
|
+
// the width passes through unbounded above the floor.
|
|
133
|
+
_this.handleMaxWidth = function () {
|
|
134
|
+
var _a;
|
|
135
|
+
if (typeof window === "undefined")
|
|
136
|
+
return Number.POSITIVE_INFINITY;
|
|
137
|
+
var rect = (_a = _this.anchorRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
138
|
+
var rightEdge = rect ? rect.right : window.innerWidth;
|
|
139
|
+
return rightEdge - WIDTH_VIEWPORT_GUTTER;
|
|
140
|
+
};
|
|
141
|
+
// INFO: the panel grows upward from the bottom-right anchor, so the tallest it
|
|
142
|
+
// can be without clipping off the top is the distance from its own bottom edge
|
|
143
|
+
// to y=0, less a gutter. Measured from the panel box, not the anchor: the
|
|
144
|
+
// anchor also holds the button below the panel, and the panel bottom stays put
|
|
145
|
+
// as the panel grows upward. Any dragged position is baked into that bottom
|
|
146
|
+
// edge, so measuring the rendered rect handles it. On the server there is no
|
|
147
|
+
// window, so the height passes through unbounded above the floor.
|
|
148
|
+
_this.handleMaxHeight = function () {
|
|
149
|
+
var _a, _b;
|
|
150
|
+
if (typeof window === "undefined")
|
|
151
|
+
return Number.POSITIVE_INFINITY;
|
|
152
|
+
var rect = (_b = ((_a = _this.panelRef.current) !== null && _a !== void 0 ? _a : _this.anchorRef.current)) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
|
|
153
|
+
var bottomEdge = rect ? rect.bottom : window.innerHeight;
|
|
154
|
+
return bottomEdge - HEIGHT_VIEWPORT_GUTTER;
|
|
155
|
+
};
|
|
156
|
+
_this.handleClampWidth = function (width) {
|
|
157
|
+
// INFO: a bad pointer event (no clientX) can produce NaN — never let it
|
|
158
|
+
// reach state or localStorage; fall back to the default width instead
|
|
159
|
+
if (Number.isNaN(width))
|
|
160
|
+
return _this.handleDefaultWidth();
|
|
161
|
+
// INFO: floor keeps the handle grabbable, cap keeps the panel on screen.
|
|
162
|
+
// The floor is the hard lower bound — if the viewport is so narrow the cap
|
|
163
|
+
// would fall below it, the floor still wins over the cap.
|
|
164
|
+
var cap = Math.max(MIN_USABLE_WIDTH, _this.handleMaxWidth());
|
|
165
|
+
return Math.min(Math.max(MIN_USABLE_WIDTH, width), cap);
|
|
166
|
+
};
|
|
167
|
+
_this.handleClampHeight = function (height) {
|
|
168
|
+
// INFO: a bad pointer event (no clientY) can produce NaN — never let it
|
|
169
|
+
// reach state or localStorage; fall back to the default height instead
|
|
170
|
+
if (Number.isNaN(height))
|
|
171
|
+
return _this.handleDefaultHeight();
|
|
172
|
+
// INFO: floor keeps the header and input usable, cap keeps the panel on
|
|
173
|
+
// screen. The floor is the hard lower bound — if the viewport is so short
|
|
174
|
+
// the cap would fall below it, the floor still wins over the cap.
|
|
175
|
+
var cap = Math.max(MIN_USABLE_HEIGHT, _this.handleMaxHeight());
|
|
176
|
+
return Math.min(Math.max(MIN_USABLE_HEIGHT, height), cap);
|
|
177
|
+
};
|
|
178
|
+
_this.handleIsResizable = function () {
|
|
179
|
+
return _this.props.resizableWidth === true &&
|
|
180
|
+
!(_this.props.open && _this.state.isMobileWidth);
|
|
181
|
+
};
|
|
182
|
+
_this.handleIsResizableHeight = function () {
|
|
183
|
+
return _this.props.resizableHeight === true &&
|
|
184
|
+
!(_this.props.open && _this.state.isMobileWidth);
|
|
185
|
+
};
|
|
75
186
|
// INFO: keeps the anchor on screen when a position saved on a wide window is
|
|
76
|
-
// restored on a narrow one,
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
187
|
+
// restored on a narrow one, when the window is resized under it, and when the
|
|
188
|
+
// anchor itself changes size (panel opened or closed, greeting dismissed).
|
|
189
|
+
// The whole anchor — button plus greeting card or open panel — is kept on
|
|
190
|
+
// screen whenever it fits. Only when it is wider or taller than the viewport
|
|
191
|
+
// (a greeting card on a phone) do the bounds fall back to the button's, so the
|
|
192
|
+
// button is not pinned against the edge. Bounding on the button alone let a
|
|
193
|
+
// drag push the greeting card off the right edge, and the button followed it
|
|
194
|
+
// off screen as soon as the panel opened.
|
|
80
195
|
_this.handleClampPosition = function (position) {
|
|
81
196
|
var _a, _b;
|
|
197
|
+
// INFO: while the panel is full screen on mobile the container IS the
|
|
198
|
+
// viewport, so every position would clamp to the corner — and be saved
|
|
199
|
+
// there. The floating button is not shown then; keep the position as is.
|
|
200
|
+
if (_this.props.open && _this.state.isMobileWidth)
|
|
201
|
+
return position;
|
|
82
202
|
var container = (_a = _this.anchorRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
|
83
203
|
var button = (_b = _this.buttonRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
|
|
84
204
|
if (!container || !button)
|
|
@@ -87,10 +207,16 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
87
207
|
// the gap between the two — the greeting card sits to the button's right
|
|
88
208
|
var gapRight = container.right - button.right;
|
|
89
209
|
var gapBottom = container.bottom - button.bottom;
|
|
90
|
-
var
|
|
91
|
-
var
|
|
92
|
-
var
|
|
93
|
-
var
|
|
210
|
+
var fitsWidth = container.width <= window.innerWidth;
|
|
211
|
+
var fitsHeight = container.height <= window.innerHeight;
|
|
212
|
+
var minRight = fitsWidth ? 0 : -gapRight;
|
|
213
|
+
var maxRight = fitsWidth
|
|
214
|
+
? window.innerWidth - container.width
|
|
215
|
+
: window.innerWidth - button.width - gapRight;
|
|
216
|
+
var minBottom = fitsHeight ? 0 : -gapBottom;
|
|
217
|
+
var maxBottom = fitsHeight
|
|
218
|
+
? window.innerHeight - container.height
|
|
219
|
+
: window.innerHeight - button.height - gapBottom;
|
|
94
220
|
return {
|
|
95
221
|
right: Math.min(Math.max(minRight, position.right), maxRight),
|
|
96
222
|
bottom: Math.min(Math.max(minBottom, position.bottom), maxBottom),
|
|
@@ -124,6 +250,78 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
124
250
|
// INFO: the position is still applied for this session, just not kept
|
|
125
251
|
}
|
|
126
252
|
};
|
|
253
|
+
_this.handleRestoreWidth = function () {
|
|
254
|
+
if (!_this.props.resizableWidth)
|
|
255
|
+
return;
|
|
256
|
+
try {
|
|
257
|
+
var stored = window.localStorage.getItem(_this.handleWidthStorageKey());
|
|
258
|
+
if (!stored) {
|
|
259
|
+
// INFO: no saved width — seed the default so the panel opens at the
|
|
260
|
+
// consumer's chosen width rather than the sizeClassName fallback
|
|
261
|
+
_this.setState({
|
|
262
|
+
width: _this.handleClampWidth(_this.handleDefaultWidth()),
|
|
263
|
+
});
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
var parsed = Number(stored);
|
|
267
|
+
if (Number.isNaN(parsed)) {
|
|
268
|
+
// INFO: a corrupted value falls back to the default width, not nothing
|
|
269
|
+
_this.setState({
|
|
270
|
+
width: _this.handleClampWidth(_this.handleDefaultWidth()),
|
|
271
|
+
});
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
_this.setState({ width: _this.handleClampWidth(parsed) });
|
|
275
|
+
}
|
|
276
|
+
catch (_a) {
|
|
277
|
+
// INFO: private browsing and blocked site data both throw on read — the
|
|
278
|
+
// panel just keeps its default width
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
_this.handlePersistWidth = function (width) {
|
|
282
|
+
try {
|
|
283
|
+
window.localStorage.setItem(_this.handleWidthStorageKey(), String(width));
|
|
284
|
+
}
|
|
285
|
+
catch (_a) {
|
|
286
|
+
// INFO: the width is still applied for this session, just not kept
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
_this.handleRestoreHeight = function () {
|
|
290
|
+
if (!_this.props.resizableHeight)
|
|
291
|
+
return;
|
|
292
|
+
try {
|
|
293
|
+
var stored = window.localStorage.getItem(_this.handleHeightStorageKey());
|
|
294
|
+
if (!stored) {
|
|
295
|
+
// INFO: no saved height — seed the default so the panel opens at the
|
|
296
|
+
// consumer's chosen height rather than the sizeClassName fallback
|
|
297
|
+
_this.setState({
|
|
298
|
+
height: _this.handleClampHeight(_this.handleDefaultHeight()),
|
|
299
|
+
});
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
var parsed = Number(stored);
|
|
303
|
+
if (Number.isNaN(parsed)) {
|
|
304
|
+
// INFO: a corrupted value falls back to the default height, not nothing
|
|
305
|
+
_this.setState({
|
|
306
|
+
height: _this.handleClampHeight(_this.handleDefaultHeight()),
|
|
307
|
+
});
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
_this.setState({ height: _this.handleClampHeight(parsed) });
|
|
311
|
+
}
|
|
312
|
+
catch (_a) {
|
|
313
|
+
// INFO: private browsing and blocked site data both throw on read — the
|
|
314
|
+
// panel just keeps its default height
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
_this.handlePersistHeight = function (height) {
|
|
318
|
+
try {
|
|
319
|
+
window.localStorage.setItem(_this.handleHeightStorageKey(), String(height));
|
|
320
|
+
}
|
|
321
|
+
catch (_a) {
|
|
322
|
+
// INFO: the height is still applied for this session, just not kept
|
|
323
|
+
}
|
|
324
|
+
};
|
|
127
325
|
// INFO: the listeners go on the window, not the button. The button moves out
|
|
128
326
|
// from under the pointer as it is dragged, and pointer capture on a moving
|
|
129
327
|
// element drops most of the move events.
|
|
@@ -185,6 +383,103 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
185
383
|
window.removeEventListener("pointerup", _this.handleDragEnd);
|
|
186
384
|
window.removeEventListener("pointercancel", _this.handleDragEnd);
|
|
187
385
|
};
|
|
386
|
+
// INFO: mirrors the drag trio — window listeners so the pointer is tracked
|
|
387
|
+
// even when it leaves the thin handle, threshold guard so a stray pixel is
|
|
388
|
+
// not read as a resize, and the release value read from the ref not state
|
|
389
|
+
_this.handleResizeStart = function (event) {
|
|
390
|
+
var _a;
|
|
391
|
+
if (!_this.handleIsResizable())
|
|
392
|
+
return;
|
|
393
|
+
// INFO: width is seeded on mount whenever resize is on, so state.width is
|
|
394
|
+
// the panel's current width — the drag continues from what the user sees
|
|
395
|
+
var startWidth = (_a = _this.state.width) !== null && _a !== void 0 ? _a : _this.handleDefaultWidth();
|
|
396
|
+
event.preventDefault();
|
|
397
|
+
event.stopPropagation();
|
|
398
|
+
_this.resizeRef = {
|
|
399
|
+
pointerX: event.clientX,
|
|
400
|
+
startWidth: startWidth,
|
|
401
|
+
moved: false,
|
|
402
|
+
latest: null,
|
|
403
|
+
};
|
|
404
|
+
window.addEventListener("pointermove", _this.handleResizeMove);
|
|
405
|
+
window.addEventListener("pointerup", _this.handleResizeEnd);
|
|
406
|
+
window.addEventListener("pointercancel", _this.handleResizeEnd);
|
|
407
|
+
};
|
|
408
|
+
_this.handleResizeMove = function (event) {
|
|
409
|
+
var resize = _this.resizeRef;
|
|
410
|
+
if (!resize)
|
|
411
|
+
return;
|
|
412
|
+
var deltaX = event.clientX - resize.pointerX;
|
|
413
|
+
if (!resize.moved && Math.abs(deltaX) < DRAG_THRESHOLD)
|
|
414
|
+
return;
|
|
415
|
+
resize.moved = true;
|
|
416
|
+
// INFO: dragging left (negative deltaX) widens the panel — it grows toward
|
|
417
|
+
// the left edge from the fixed bottom-right corner
|
|
418
|
+
resize.latest = _this.handleClampWidth(resize.startWidth - deltaX);
|
|
419
|
+
_this.setState({ width: resize.latest });
|
|
420
|
+
};
|
|
421
|
+
_this.handleResizeEnd = function () {
|
|
422
|
+
var resize = _this.resizeRef;
|
|
423
|
+
_this.resizeRef = null;
|
|
424
|
+
_this.handleRemoveResizeListeners();
|
|
425
|
+
if (!(resize === null || resize === void 0 ? void 0 : resize.moved))
|
|
426
|
+
return;
|
|
427
|
+
if (resize.latest != null)
|
|
428
|
+
_this.handlePersistWidth(resize.latest);
|
|
429
|
+
};
|
|
430
|
+
_this.handleRemoveResizeListeners = function () {
|
|
431
|
+
window.removeEventListener("pointermove", _this.handleResizeMove);
|
|
432
|
+
window.removeEventListener("pointerup", _this.handleResizeEnd);
|
|
433
|
+
window.removeEventListener("pointercancel", _this.handleResizeEnd);
|
|
434
|
+
};
|
|
435
|
+
// INFO: mirrors the width-resize trio on the vertical axis — the top-edge
|
|
436
|
+
// handle drags the panel taller as it moves up
|
|
437
|
+
_this.handleResizeVertStart = function (event) {
|
|
438
|
+
var _a;
|
|
439
|
+
if (!_this.handleIsResizableHeight())
|
|
440
|
+
return;
|
|
441
|
+
// INFO: height is seeded on mount whenever resize is on, so state.height is
|
|
442
|
+
// the panel's current height — the drag continues from what the user sees
|
|
443
|
+
var startHeight = (_a = _this.state.height) !== null && _a !== void 0 ? _a : _this.handleDefaultHeight();
|
|
444
|
+
event.preventDefault();
|
|
445
|
+
event.stopPropagation();
|
|
446
|
+
_this.resizeVertRef = {
|
|
447
|
+
pointerY: event.clientY,
|
|
448
|
+
startHeight: startHeight,
|
|
449
|
+
moved: false,
|
|
450
|
+
latest: null,
|
|
451
|
+
};
|
|
452
|
+
window.addEventListener("pointermove", _this.handleResizeVertMove);
|
|
453
|
+
window.addEventListener("pointerup", _this.handleResizeVertEnd);
|
|
454
|
+
window.addEventListener("pointercancel", _this.handleResizeVertEnd);
|
|
455
|
+
};
|
|
456
|
+
_this.handleResizeVertMove = function (event) {
|
|
457
|
+
var resize = _this.resizeVertRef;
|
|
458
|
+
if (!resize)
|
|
459
|
+
return;
|
|
460
|
+
var deltaY = event.clientY - resize.pointerY;
|
|
461
|
+
if (!resize.moved && Math.abs(deltaY) < DRAG_THRESHOLD)
|
|
462
|
+
return;
|
|
463
|
+
resize.moved = true;
|
|
464
|
+
// INFO: dragging up (negative deltaY) makes the panel taller — it grows
|
|
465
|
+
// toward the top edge from the fixed bottom-right corner
|
|
466
|
+
resize.latest = _this.handleClampHeight(resize.startHeight - deltaY);
|
|
467
|
+
_this.setState({ height: resize.latest });
|
|
468
|
+
};
|
|
469
|
+
_this.handleResizeVertEnd = function () {
|
|
470
|
+
var resize = _this.resizeVertRef;
|
|
471
|
+
_this.resizeVertRef = null;
|
|
472
|
+
_this.handleRemoveResizeVertListeners();
|
|
473
|
+
if (!(resize === null || resize === void 0 ? void 0 : resize.moved))
|
|
474
|
+
return;
|
|
475
|
+
if (resize.latest != null)
|
|
476
|
+
_this.handlePersistHeight(resize.latest);
|
|
477
|
+
};
|
|
478
|
+
_this.handleRemoveResizeVertListeners = function () {
|
|
479
|
+
window.removeEventListener("pointermove", _this.handleResizeVertMove);
|
|
480
|
+
window.removeEventListener("pointerup", _this.handleResizeVertEnd);
|
|
481
|
+
window.removeEventListener("pointercancel", _this.handleResizeVertEnd);
|
|
482
|
+
};
|
|
188
483
|
_this.handleAnchorClick = function () {
|
|
189
484
|
if (_this.suppressClick) {
|
|
190
485
|
_this.suppressClick = false;
|
|
@@ -198,12 +493,29 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
198
493
|
return _this.props.draggable !== false &&
|
|
199
494
|
!(_this.props.open && _this.state.isMobileWidth);
|
|
200
495
|
};
|
|
201
|
-
_this.componentDidUpdate = function (prevProps) {
|
|
496
|
+
_this.componentDidUpdate = function (prevProps, prevState) {
|
|
202
497
|
if (_this.props.open !== prevProps.open && _this.props.open) {
|
|
203
498
|
_this.setState({
|
|
204
499
|
chatCard: false,
|
|
205
500
|
});
|
|
206
501
|
}
|
|
502
|
+
// INFO: opening, closing or dismissing the greeting changes the anchor's
|
|
503
|
+
// size, so a position that fit the old size can leave the new one off
|
|
504
|
+
// screen — re-clamp it against the layout that was just committed
|
|
505
|
+
if (_this.props.open !== prevProps.open ||
|
|
506
|
+
_this.state.chatCard !== prevState.chatCard)
|
|
507
|
+
_this.handleReclampPosition();
|
|
508
|
+
};
|
|
509
|
+
_this.handleReclampPosition = function () {
|
|
510
|
+
var current = _this.state.position;
|
|
511
|
+
if (!current)
|
|
512
|
+
return;
|
|
513
|
+
var next = _this.handleClampPosition(current);
|
|
514
|
+
if (next.right === current.right && next.bottom === current.bottom)
|
|
515
|
+
return;
|
|
516
|
+
_this.setState({ position: next });
|
|
517
|
+
// INFO: kept too, or the next visit restores the off-screen position
|
|
518
|
+
_this.handlePersistPosition(next);
|
|
207
519
|
};
|
|
208
520
|
_this.handleResize = function () {
|
|
209
521
|
_this.setState(function (previous) { return ({
|
|
@@ -211,6 +523,10 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
211
523
|
position: previous.position
|
|
212
524
|
? _this.handleClampPosition(previous.position)
|
|
213
525
|
: null,
|
|
526
|
+
// INFO: shrink a saved width that no longer fits the narrower window
|
|
527
|
+
width: previous.width ? _this.handleClampWidth(previous.width) : null,
|
|
528
|
+
// INFO: shrink a saved height that no longer fits the shorter window
|
|
529
|
+
height: previous.height ? _this.handleClampHeight(previous.height) : null,
|
|
214
530
|
}); });
|
|
215
531
|
};
|
|
216
532
|
_this.renderChatAnchorIcon = function () {
|
|
@@ -220,7 +536,7 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
220
536
|
return icon;
|
|
221
537
|
}
|
|
222
538
|
if (typeof icon === "string") {
|
|
223
|
-
return (react_2.default.createElement("img", { src: icon, alt: "Chat Icon", className: "w-
|
|
539
|
+
return (react_2.default.createElement("img", { src: icon, alt: "Chat Icon", className: "w-14 h-14 rounded-full" }));
|
|
224
540
|
}
|
|
225
541
|
return _this.props.open ? (react_2.default.createElement(solid_1.XMarkIcon, { className: "w-8 h-8", color: "white" })) : (react_2.default.createElement(solid_1.ChatBubbleOvalLeftIcon, { className: "w-8 h-8", color: "white" }));
|
|
226
542
|
};
|
|
@@ -231,11 +547,15 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
231
547
|
// INFO: read after mount, never in the constructor — the server has no
|
|
232
548
|
// localStorage and a restored position would not match the first paint
|
|
233
549
|
this.handleRestorePosition();
|
|
550
|
+
this.handleRestoreWidth();
|
|
551
|
+
this.handleRestoreHeight();
|
|
234
552
|
window.addEventListener("resize", this.handleResize);
|
|
235
553
|
};
|
|
236
554
|
ChatAnchor.prototype.componentWillUnmount = function () {
|
|
237
555
|
window.removeEventListener("resize", this.handleResize);
|
|
238
556
|
this.handleRemoveDragListeners();
|
|
557
|
+
this.handleRemoveResizeListeners();
|
|
558
|
+
this.handleRemoveResizeVertListeners();
|
|
239
559
|
};
|
|
240
560
|
ChatAnchor.prototype.render = function () {
|
|
241
561
|
var _this = this;
|
|
@@ -248,15 +568,37 @@ var ChatAnchor = /** @class */ (function (_super) {
|
|
|
248
568
|
? "h-[calc(100dvh)] w-screen top-0 left-0 overflow-auto"
|
|
249
569
|
: draggedPosition
|
|
250
570
|
? ""
|
|
251
|
-
: ((_a = this.props.positionOffset) !== null && _a !== void 0 ? _a : "bottom-
|
|
571
|
+
: ((_a = this.props.positionOffset) !== null && _a !== void 0 ? _a : "bottom-6 right-6");
|
|
252
572
|
var chatAnchorVisible = this.props.open ? "hidden sm:block" : "block";
|
|
253
573
|
var icon = this.props.open ? this.props.closeIcon : this.props.openIcon;
|
|
574
|
+
// INFO: only feed a pixel width when resize is on and the panel is not
|
|
575
|
+
// full-screen on mobile — there the width is the whole viewport
|
|
576
|
+
var widthPx = this.handleIsResizable() && this.state.width
|
|
577
|
+
? this.state.width
|
|
578
|
+
: undefined;
|
|
579
|
+
// INFO: same for height — a full-screen mobile panel is the whole viewport
|
|
580
|
+
var heightPx = this.handleIsResizableHeight() && this.state.height
|
|
581
|
+
? this.state.height
|
|
582
|
+
: undefined;
|
|
583
|
+
// INFO: the handle only makes sense while the resizable panel is open and
|
|
584
|
+
// not full-screen on mobile — it needs a panel edge to sit against. Gated
|
|
585
|
+
// on the same useAbsolutePosition the layout uses so the two never disagree.
|
|
586
|
+
var showResizeHandle = this.props.open && this.props.resizableWidth && !useAbsolutePosition;
|
|
587
|
+
var showResizeVertHandle = this.props.open && this.props.resizableHeight && !useAbsolutePosition;
|
|
254
588
|
return (react_2.default.createElement("div", { ref: this.anchorRef, className: "z-40 flex flex-col items-end space-y-4 fixed ".concat(positionOffset), style: draggedPosition !== null && draggedPosition !== void 0 ? draggedPosition : undefined },
|
|
255
589
|
react_2.default.createElement(react_1.Transition, { show: this.props.open, as: react_2.Fragment, enter: "transform transition duration-[400ms]", enterFrom: "opacity-0 scale-50", leave: "transform duration-200 transition ease-in-out", leaveTo: "opacity-0 scale-95 " },
|
|
256
|
-
react_2.default.createElement("div", { className: "w-full h-full" },
|
|
257
|
-
react_2.default.createElement(
|
|
590
|
+
react_2.default.createElement("div", { ref: this.panelRef, className: "relative w-full h-full" },
|
|
591
|
+
showResizeHandle && (react_2.default.createElement("div", { "data-testid": "chat-anchor-resize-handle", onPointerDown: this.handleResizeStart, className: "absolute left-0 top-0 h-full w-2 -ml-1 z-10 flex items-center justify-center touch-none select-none cursor-ew-resize group" },
|
|
592
|
+
react_2.default.createElement("div", { className: "h-10 w-1 rounded-full bg-gray-300 group-hover:bg-primary-500 transition-colors" }))),
|
|
593
|
+
showResizeVertHandle && (react_2.default.createElement("div", { "data-testid": "chat-anchor-resize-handle-vertical", onPointerDown: this.handleResizeVertStart,
|
|
594
|
+
// INFO: sits a hair right of the left width handle so the two do
|
|
595
|
+
// not fight for the top-left corner; z-20 keeps it above the
|
|
596
|
+
// width strip where they still overlap
|
|
597
|
+
className: "absolute left-3 right-0 top-0 h-2 -mt-1 z-20 flex items-center justify-center touch-none select-none cursor-ns-resize group" },
|
|
598
|
+
react_2.default.createElement("div", { className: "h-1 w-10 rounded-full bg-gray-300 group-hover:bg-primary-500 transition-colors" }))),
|
|
599
|
+
react_2.default.createElement(chatBase_1.ChatBase, __assign({}, this.props, { widthPx: widthPx, heightPx: heightPx })))),
|
|
258
600
|
react_2.default.createElement("div", { className: "flex flex-row" },
|
|
259
|
-
react_2.default.createElement("div", { ref: this.buttonRef, onClick: this.handleAnchorClick, onPointerDown: this.handleDragStart, className: "".concat(chatAnchorVisible, " ").concat(icon ? "" : "p-
|
|
601
|
+
react_2.default.createElement("div", { ref: this.buttonRef, onClick: this.handleAnchorClick, onPointerDown: this.handleDragStart, className: "".concat(chatAnchorVisible, " ").concat(icon ? "" : "p-3", " ").concat(this.handleIsDraggable()
|
|
260
602
|
? "touch-none cursor-grab active:cursor-grabbing"
|
|
261
603
|
: "hover:cursor-pointer", " rounded-full select-none h-fit w-fit bg-primary-500 shadow-lg hover:bg-primary-600") }, this.renderChatAnchorIcon()),
|
|
262
604
|
this.props.greetingCard && this.state.chatCard && (react_2.default.createElement("div", { className: "bg-white flex items-center ml-2 my-2 shadow-lg rounded-lg" },
|