callix-dialer-widget 1.1.2 → 1.1.4
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.
|
@@ -53041,6 +53041,15 @@ function useOperatorBreak() {
|
|
|
53041
53041
|
}
|
|
53042
53042
|
const DEFAULT_COUNTRY_PREFIX = "+55";
|
|
53043
53043
|
const MAX_DIAL_LENGTH = 32;
|
|
53044
|
+
const DEFAULT_DIALER_DIMENSIONS = { width: 448, height: 640 };
|
|
53045
|
+
const MIN_DIALER_WIDTH = 280;
|
|
53046
|
+
const MIN_DIALER_HEIGHT = 420;
|
|
53047
|
+
const MAX_DIALER_WIDTH = 720;
|
|
53048
|
+
const MAX_DIALER_HEIGHT = 900;
|
|
53049
|
+
const MIN_DIALER_SCALE = 0.7;
|
|
53050
|
+
const MAX_DIALER_SCALE = 1.25;
|
|
53051
|
+
const VIEWPORT_MARGIN_SMALL = 12;
|
|
53052
|
+
const VIEWPORT_MARGIN_DEFAULT = 16;
|
|
53044
53053
|
const keypadKeys = [
|
|
53045
53054
|
{ value: "1", detail: "" },
|
|
53046
53055
|
{ value: "2", detail: "ABC" },
|
|
@@ -53078,14 +53087,55 @@ function FloatingDialer({
|
|
|
53078
53087
|
sessionError
|
|
53079
53088
|
}) {
|
|
53080
53089
|
const containerRef = useRef(null);
|
|
53090
|
+
const cardRef = useRef(null);
|
|
53081
53091
|
const pointerRef = useRef({ pointerId: null, offsetX: 0, offsetY: 0 });
|
|
53092
|
+
const resizeRef = useRef({
|
|
53093
|
+
pointerId: null,
|
|
53094
|
+
originX: 0,
|
|
53095
|
+
originY: 0,
|
|
53096
|
+
startWidth: DEFAULT_DIALER_DIMENSIONS.width,
|
|
53097
|
+
startHeight: DEFAULT_DIALER_DIMENSIONS.height,
|
|
53098
|
+
edge: "corner"
|
|
53099
|
+
});
|
|
53082
53100
|
const dragMovedRef = useRef(false);
|
|
53083
53101
|
const [position2, setPosition] = useState({ x: 24, y: 24 });
|
|
53084
53102
|
const [isDragging, setIsDragging] = useState(false);
|
|
53103
|
+
const [isResizing, setIsResizing] = useState(false);
|
|
53085
53104
|
const [isOpen, setIsOpen] = useState(false);
|
|
53086
53105
|
const [rawDialValue, setRawDialValue] = useState("");
|
|
53106
|
+
const [manualSize, setManualSize] = useState(null);
|
|
53107
|
+
const [observedSize, setObservedSize] = useState({
|
|
53108
|
+
width: DEFAULT_DIALER_DIMENSIONS.width,
|
|
53109
|
+
height: DEFAULT_DIALER_DIMENSIONS.height
|
|
53110
|
+
});
|
|
53087
53111
|
const prevAuthRef = useRef(isAuthenticated);
|
|
53088
53112
|
const dialValue = useMemo(() => sanitizeDialInput(rawDialValue), [rawDialValue]);
|
|
53113
|
+
const contentScale = useMemo(() => {
|
|
53114
|
+
const widthRatio = observedSize.width / DEFAULT_DIALER_DIMENSIONS.width;
|
|
53115
|
+
const heightRatio = observedSize.height / DEFAULT_DIALER_DIMENSIONS.height;
|
|
53116
|
+
const ratio = Math.min(widthRatio, heightRatio);
|
|
53117
|
+
return clamp(ratio, MIN_DIALER_SCALE, MAX_DIALER_SCALE);
|
|
53118
|
+
}, [observedSize]);
|
|
53119
|
+
const clampSizeToViewport = useCallback(
|
|
53120
|
+
(proposed) => {
|
|
53121
|
+
if (typeof window === "undefined") {
|
|
53122
|
+
return {
|
|
53123
|
+
width: clamp(proposed.width, MIN_DIALER_WIDTH, MAX_DIALER_WIDTH),
|
|
53124
|
+
height: clamp(proposed.height, MIN_DIALER_HEIGHT, MAX_DIALER_HEIGHT)
|
|
53125
|
+
};
|
|
53126
|
+
}
|
|
53127
|
+
const viewportWidth = window.innerWidth;
|
|
53128
|
+
const viewportHeight = window.innerHeight;
|
|
53129
|
+
const margin2 = viewportWidth < 640 ? VIEWPORT_MARGIN_SMALL : VIEWPORT_MARGIN_DEFAULT;
|
|
53130
|
+
const maxWidth = Math.min(MAX_DIALER_WIDTH, viewportWidth - margin2 * 2);
|
|
53131
|
+
const maxHeight = Math.min(MAX_DIALER_HEIGHT, viewportHeight - margin2 * 2);
|
|
53132
|
+
return {
|
|
53133
|
+
width: clamp(proposed.width, MIN_DIALER_WIDTH, Math.max(MIN_DIALER_WIDTH, maxWidth)),
|
|
53134
|
+
height: clamp(proposed.height, MIN_DIALER_HEIGHT, Math.max(MIN_DIALER_HEIGHT, maxHeight))
|
|
53135
|
+
};
|
|
53136
|
+
},
|
|
53137
|
+
[]
|
|
53138
|
+
);
|
|
53089
53139
|
const clampPositionToViewport = useCallback(
|
|
53090
53140
|
(proposed) => {
|
|
53091
53141
|
if (typeof window === "undefined") {
|
|
@@ -53096,15 +53146,16 @@ function FloatingDialer({
|
|
|
53096
53146
|
const element = containerRef.current;
|
|
53097
53147
|
const rawWidth = (element == null ? void 0 : element.offsetWidth) ?? 0;
|
|
53098
53148
|
const rawHeight = (element == null ? void 0 : element.offsetHeight) ?? 0;
|
|
53099
|
-
const
|
|
53100
|
-
const
|
|
53149
|
+
const activeSize = manualSize ?? observedSize ?? DEFAULT_DIALER_DIMENSIONS;
|
|
53150
|
+
const fallbackWidth = isOpen ? activeSize.width : 80;
|
|
53151
|
+
const fallbackHeight = isOpen ? activeSize.height : 80;
|
|
53101
53152
|
const width = rawWidth > 0 ? rawWidth : fallbackWidth;
|
|
53102
53153
|
const height = rawHeight > 0 ? rawHeight : fallbackHeight;
|
|
53103
|
-
const margin2 = viewportWidth < 640 ?
|
|
53154
|
+
const margin2 = viewportWidth < 640 ? VIEWPORT_MARGIN_SMALL : VIEWPORT_MARGIN_DEFAULT;
|
|
53104
53155
|
const minX = margin2;
|
|
53105
53156
|
const minY = margin2;
|
|
53106
|
-
const maxX = viewportWidth - width - margin2;
|
|
53107
|
-
const maxY = viewportHeight - height - margin2;
|
|
53157
|
+
const maxX = Math.max(minX, viewportWidth - width - margin2);
|
|
53158
|
+
const maxY = Math.max(minY, viewportHeight - height - margin2);
|
|
53108
53159
|
let nextX = proposed.x;
|
|
53109
53160
|
let nextY = proposed.y;
|
|
53110
53161
|
if (viewportWidth < 640 && isOpen) {
|
|
@@ -53119,7 +53170,7 @@ function FloatingDialer({
|
|
|
53119
53170
|
y: clamp(nextY, minY, maxY)
|
|
53120
53171
|
};
|
|
53121
53172
|
},
|
|
53122
|
-
[isOpen]
|
|
53173
|
+
[isOpen, manualSize, observedSize]
|
|
53123
53174
|
);
|
|
53124
53175
|
const updateDialValue = useCallback((next) => {
|
|
53125
53176
|
setRawDialValue((prev) => {
|
|
@@ -53147,6 +53198,7 @@ function FloatingDialer({
|
|
|
53147
53198
|
}
|
|
53148
53199
|
const handleViewportChange = () => {
|
|
53149
53200
|
setPosition((prev) => clampPositionToViewport(prev));
|
|
53201
|
+
setManualSize((prev) => prev ? clampSizeToViewport(prev) : prev);
|
|
53150
53202
|
};
|
|
53151
53203
|
window.addEventListener("resize", handleViewportChange);
|
|
53152
53204
|
window.addEventListener("orientationchange", handleViewportChange);
|
|
@@ -53154,7 +53206,32 @@ function FloatingDialer({
|
|
|
53154
53206
|
window.removeEventListener("resize", handleViewportChange);
|
|
53155
53207
|
window.removeEventListener("orientationchange", handleViewportChange);
|
|
53156
53208
|
};
|
|
53157
|
-
}, [clampPositionToViewport]);
|
|
53209
|
+
}, [clampPositionToViewport, clampSizeToViewport]);
|
|
53210
|
+
useEffect(() => {
|
|
53211
|
+
if (!isOpen) {
|
|
53212
|
+
return;
|
|
53213
|
+
}
|
|
53214
|
+
const element = cardRef.current;
|
|
53215
|
+
if (!element) {
|
|
53216
|
+
return;
|
|
53217
|
+
}
|
|
53218
|
+
const applySize = (width, height) => {
|
|
53219
|
+
setObservedSize({ width, height });
|
|
53220
|
+
};
|
|
53221
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
53222
|
+
const observer = new ResizeObserver((entries) => {
|
|
53223
|
+
const entry = entries[0];
|
|
53224
|
+
if (entry) {
|
|
53225
|
+
const { width, height } = entry.contentRect;
|
|
53226
|
+
applySize(width, height);
|
|
53227
|
+
}
|
|
53228
|
+
});
|
|
53229
|
+
observer.observe(element);
|
|
53230
|
+
return () => observer.disconnect();
|
|
53231
|
+
}
|
|
53232
|
+
const rect = element.getBoundingClientRect();
|
|
53233
|
+
applySize(rect.width, rect.height);
|
|
53234
|
+
}, [isOpen, manualSize]);
|
|
53158
53235
|
useEffect(() => {
|
|
53159
53236
|
if (isAuthenticated && !prevAuthRef.current) {
|
|
53160
53237
|
setIsOpen(true);
|
|
@@ -53175,11 +53252,16 @@ function FloatingDialer({
|
|
|
53175
53252
|
const modalHeight = ((_b = containerRef.current) == null ? void 0 : _b.offsetHeight) ?? 0;
|
|
53176
53253
|
const nextX = event2.clientX - pointerRef.current.offsetX;
|
|
53177
53254
|
const nextY = event2.clientY - pointerRef.current.offsetY;
|
|
53178
|
-
const
|
|
53179
|
-
const
|
|
53255
|
+
const viewportWidth = typeof window !== "undefined" ? window.innerWidth : 0;
|
|
53256
|
+
const viewportHeight = typeof window !== "undefined" ? window.innerHeight : 0;
|
|
53257
|
+
const margin2 = viewportWidth < 640 ? VIEWPORT_MARGIN_SMALL : VIEWPORT_MARGIN_DEFAULT;
|
|
53258
|
+
const maxX = viewportWidth - modalWidth - margin2;
|
|
53259
|
+
const maxY = viewportHeight - modalHeight - margin2;
|
|
53260
|
+
const safeMaxX = Math.max(margin2, maxX);
|
|
53261
|
+
const safeMaxY = Math.max(margin2, maxY);
|
|
53180
53262
|
setPosition({
|
|
53181
|
-
x: clamp(nextX,
|
|
53182
|
-
y: clamp(nextY,
|
|
53263
|
+
x: clamp(nextX, margin2, safeMaxX),
|
|
53264
|
+
y: clamp(nextY, margin2, safeMaxY)
|
|
53183
53265
|
});
|
|
53184
53266
|
};
|
|
53185
53267
|
const handlePointerUp = (event2) => {
|
|
@@ -53196,11 +53278,92 @@ function FloatingDialer({
|
|
|
53196
53278
|
window.removeEventListener("pointerup", handlePointerUp);
|
|
53197
53279
|
};
|
|
53198
53280
|
}, [isDragging]);
|
|
53281
|
+
useEffect(() => {
|
|
53282
|
+
if (!isResizing) {
|
|
53283
|
+
return;
|
|
53284
|
+
}
|
|
53285
|
+
const handlePointerMove = (event2) => {
|
|
53286
|
+
if (resizeRef.current.pointerId !== event2.pointerId) {
|
|
53287
|
+
return;
|
|
53288
|
+
}
|
|
53289
|
+
event2.preventDefault();
|
|
53290
|
+
const { edge: edge2, startWidth, startHeight, originX, originY } = resizeRef.current;
|
|
53291
|
+
let nextWidth = startWidth;
|
|
53292
|
+
let nextHeight = startHeight;
|
|
53293
|
+
if (edge2 === "right" || edge2 === "corner") {
|
|
53294
|
+
nextWidth = startWidth + (event2.clientX - originX);
|
|
53295
|
+
}
|
|
53296
|
+
if (edge2 === "bottom" || edge2 === "corner") {
|
|
53297
|
+
nextHeight = startHeight + (event2.clientY - originY);
|
|
53298
|
+
}
|
|
53299
|
+
const clamped = clampSizeToViewport({ width: nextWidth, height: nextHeight });
|
|
53300
|
+
setManualSize((prev) => {
|
|
53301
|
+
if (prev && prev.width === clamped.width && prev.height === clamped.height) {
|
|
53302
|
+
return prev;
|
|
53303
|
+
}
|
|
53304
|
+
return clamped;
|
|
53305
|
+
});
|
|
53306
|
+
};
|
|
53307
|
+
const handlePointerEnd = (event2) => {
|
|
53308
|
+
var _a2, _b;
|
|
53309
|
+
if (resizeRef.current.pointerId !== event2.pointerId) {
|
|
53310
|
+
return;
|
|
53311
|
+
}
|
|
53312
|
+
try {
|
|
53313
|
+
(_b = (_a2 = event2.target) == null ? void 0 : _a2.releasePointerCapture) == null ? void 0 : _b.call(_a2, event2.pointerId);
|
|
53314
|
+
} catch {
|
|
53315
|
+
}
|
|
53316
|
+
setIsResizing(false);
|
|
53317
|
+
resizeRef.current = {
|
|
53318
|
+
...resizeRef.current,
|
|
53319
|
+
pointerId: null
|
|
53320
|
+
};
|
|
53321
|
+
};
|
|
53322
|
+
window.addEventListener("pointermove", handlePointerMove);
|
|
53323
|
+
window.addEventListener("pointerup", handlePointerEnd);
|
|
53324
|
+
window.addEventListener("pointercancel", handlePointerEnd);
|
|
53325
|
+
return () => {
|
|
53326
|
+
window.removeEventListener("pointermove", handlePointerMove);
|
|
53327
|
+
window.removeEventListener("pointerup", handlePointerEnd);
|
|
53328
|
+
window.removeEventListener("pointercancel", handlePointerEnd);
|
|
53329
|
+
};
|
|
53330
|
+
}, [isResizing, clampSizeToViewport]);
|
|
53199
53331
|
useEffect(() => {
|
|
53200
53332
|
if (!isOpen) {
|
|
53201
53333
|
dragMovedRef.current = false;
|
|
53202
53334
|
}
|
|
53203
53335
|
}, [isOpen]);
|
|
53336
|
+
useEffect(() => {
|
|
53337
|
+
setPosition((prev) => clampPositionToViewport(prev));
|
|
53338
|
+
}, [manualSize, observedSize, clampPositionToViewport]);
|
|
53339
|
+
const beginResize = useCallback(
|
|
53340
|
+
(edge2) => (event2) => {
|
|
53341
|
+
var _a2, _b;
|
|
53342
|
+
if (event2.button !== 0 && event2.pointerType !== "touch") {
|
|
53343
|
+
return;
|
|
53344
|
+
}
|
|
53345
|
+
event2.preventDefault();
|
|
53346
|
+
event2.stopPropagation();
|
|
53347
|
+
const element = cardRef.current;
|
|
53348
|
+
const rect = element == null ? void 0 : element.getBoundingClientRect();
|
|
53349
|
+
const startWidth = (rect == null ? void 0 : rect.width) ?? ((manualSize == null ? void 0 : manualSize.width) ?? DEFAULT_DIALER_DIMENSIONS.width);
|
|
53350
|
+
const startHeight = (rect == null ? void 0 : rect.height) ?? ((manualSize == null ? void 0 : manualSize.height) ?? DEFAULT_DIALER_DIMENSIONS.height);
|
|
53351
|
+
resizeRef.current = {
|
|
53352
|
+
pointerId: event2.pointerId,
|
|
53353
|
+
originX: event2.clientX,
|
|
53354
|
+
originY: event2.clientY,
|
|
53355
|
+
startWidth,
|
|
53356
|
+
startHeight,
|
|
53357
|
+
edge: edge2
|
|
53358
|
+
};
|
|
53359
|
+
try {
|
|
53360
|
+
(_b = (_a2 = event2.currentTarget).setPointerCapture) == null ? void 0 : _b.call(_a2, event2.pointerId);
|
|
53361
|
+
} catch {
|
|
53362
|
+
}
|
|
53363
|
+
setIsResizing(true);
|
|
53364
|
+
},
|
|
53365
|
+
[manualSize]
|
|
53366
|
+
);
|
|
53204
53367
|
const beginDrag = useCallback((event2) => {
|
|
53205
53368
|
var _a2;
|
|
53206
53369
|
if (event2.button !== 0) {
|
|
@@ -53249,6 +53412,31 @@ function FloatingDialer({
|
|
|
53249
53412
|
error: sessionError
|
|
53250
53413
|
}
|
|
53251
53414
|
);
|
|
53415
|
+
const scale = Number.isFinite(contentScale) && contentScale > 0 ? contentScale : 1;
|
|
53416
|
+
const cardStyle = {
|
|
53417
|
+
width: manualSize ? `${manualSize.width}px` : void 0,
|
|
53418
|
+
height: manualSize ? `${manualSize.height}px` : void 0,
|
|
53419
|
+
minWidth: `${MIN_DIALER_WIDTH}px`,
|
|
53420
|
+
minHeight: `${MIN_DIALER_HEIGHT}px`,
|
|
53421
|
+
maxWidth: `min(${MAX_DIALER_WIDTH}px, calc(100vw - 1.5rem))`,
|
|
53422
|
+
maxHeight: `calc(100vh - 3rem)`
|
|
53423
|
+
};
|
|
53424
|
+
const scaledWrapperStyle = {
|
|
53425
|
+
flex: 1,
|
|
53426
|
+
display: "flex",
|
|
53427
|
+
flexDirection: "column",
|
|
53428
|
+
transform: `scale(${scale})`,
|
|
53429
|
+
transformOrigin: "top left",
|
|
53430
|
+
width: `${DEFAULT_DIALER_DIMENSIONS.width}px`,
|
|
53431
|
+
minHeight: `${DEFAULT_DIALER_DIMENSIONS.height}px`
|
|
53432
|
+
};
|
|
53433
|
+
const cardContentStyle = {
|
|
53434
|
+
flex: 1,
|
|
53435
|
+
display: "flex",
|
|
53436
|
+
flexDirection: "column",
|
|
53437
|
+
minHeight: `${DEFAULT_DIALER_DIMENSIONS.height}px`,
|
|
53438
|
+
width: `${DEFAULT_DIALER_DIMENSIONS.width}px`
|
|
53439
|
+
};
|
|
53252
53440
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53253
53441
|
"div",
|
|
53254
53442
|
{
|
|
@@ -53262,47 +53450,71 @@ function FloatingDialer({
|
|
|
53262
53450
|
children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53263
53451
|
"div",
|
|
53264
53452
|
{
|
|
53265
|
-
|
|
53453
|
+
ref: cardRef,
|
|
53454
|
+
"data-floating-dialer-card": "true",
|
|
53455
|
+
className: tw`relative flex flex-col items-start overflow-hidden rounded-3xl border border-slate-200/60 bg-gradient-to-br from-white/95 via-slate-50/95 to-white/90 shadow-2xl backdrop-blur-lg transition-all duration-300 w-[min(32rem,calc(100vw-1.5rem))] max-w-[calc(100vw-1.5rem)] sm:w-[28rem] md:w-[30rem] max-h-[calc(100vh-3rem)] sm:max-h-none`,
|
|
53456
|
+
style: cardStyle,
|
|
53266
53457
|
children: [
|
|
53267
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53458
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: tw`flex flex-1 flex-col overflow-hidden`, style: scaledWrapperStyle, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: tw`flex flex-1 flex-col rounded-3xl overflow-hidden`, style: cardContentStyle, children: [
|
|
53459
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53460
|
+
"div",
|
|
53461
|
+
{
|
|
53462
|
+
className: tw`cursor-grab touch-none active:cursor-grabbing flex items-center justify-between bg-gradient-to-r from-primary to-primaryDark px-4 py-3 sm:px-5 sm:py-4 text-white shadow-sm`,
|
|
53463
|
+
onPointerDown: beginDrag,
|
|
53464
|
+
children: [
|
|
53465
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: tw`flex items-center gap-3`, children: [
|
|
53466
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: tw`inline-flex h-10 w-10 items-center justify-center rounded-2xl bg-white/15 shadow-inner sm:h-11 sm:w-11`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiPhoneCall, { className: tw`text-xl` }) }),
|
|
53467
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: tw`space-y-0.5`, children: [
|
|
53468
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: tw`text-[11px] uppercase tracking-[0.2em] text-white/70`, children: "Discadora" }),
|
|
53469
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: tw`text-sm font-semibold sm:text-base`, children: username ?? "Visitante" })
|
|
53470
|
+
] })
|
|
53471
|
+
] }),
|
|
53472
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53473
|
+
"button",
|
|
53474
|
+
{
|
|
53475
|
+
type: "button",
|
|
53476
|
+
className: tw`rounded-full p-2 text-white/80 transition hover:bg-white/15 hover:text-white`,
|
|
53477
|
+
onClick: () => setIsOpen(false),
|
|
53478
|
+
"aria-label": "Fechar discadora",
|
|
53479
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiX, { className: tw`text-lg` })
|
|
53480
|
+
}
|
|
53481
|
+
)
|
|
53482
|
+
]
|
|
53483
|
+
}
|
|
53484
|
+
),
|
|
53485
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: tw`flex-1 overflow-y-auto p-3 sm:p-4`, children: dialerContent })
|
|
53486
|
+
] }) }),
|
|
53487
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53268
53488
|
"div",
|
|
53269
53489
|
{
|
|
53270
|
-
|
|
53271
|
-
|
|
53272
|
-
|
|
53273
|
-
|
|
53274
|
-
|
|
53275
|
-
{
|
|
53276
|
-
className: tw`flex items-center gap-3`,
|
|
53277
|
-
children: [
|
|
53278
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53279
|
-
"span",
|
|
53280
|
-
{
|
|
53281
|
-
className: tw`inline-flex h-10 w-10 items-center justify-center rounded-2xl bg-white/15 shadow-inner sm:h-11 sm:w-11`,
|
|
53282
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiPhoneCall, { className: tw`text-xl` })
|
|
53283
|
-
}
|
|
53284
|
-
),
|
|
53285
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: tw`space-y-0.5`, children: [
|
|
53286
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: tw`text-[11px] uppercase tracking-[0.2em] text-white/70`, children: "Discadora" }),
|
|
53287
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: tw`text-sm font-semibold sm:text-base`, children: username ?? "Visitante" })
|
|
53288
|
-
] })
|
|
53289
|
-
]
|
|
53290
|
-
}
|
|
53291
|
-
),
|
|
53292
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53293
|
-
"button",
|
|
53294
|
-
{
|
|
53295
|
-
type: "button",
|
|
53296
|
-
className: tw`rounded-full p-2 text-white/80 transition hover:bg-white/15 hover:text-white`,
|
|
53297
|
-
onClick: () => setIsOpen(false),
|
|
53298
|
-
"aria-label": "Fechar discadora",
|
|
53299
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(FiX, { className: tw`text-lg` })
|
|
53300
|
-
}
|
|
53301
|
-
)
|
|
53302
|
-
]
|
|
53490
|
+
role: "presentation",
|
|
53491
|
+
"data-floating-dialer-resize": "right",
|
|
53492
|
+
"aria-hidden": "true",
|
|
53493
|
+
className: tw`absolute right-0 top-16 bottom-12 w-3 cursor-ew-resize touch-none rounded-md border border-transparent transition-colors duration-150 hover:border-primary/30 hover:bg-primary/10`,
|
|
53494
|
+
onPointerDown: beginResize("right")
|
|
53303
53495
|
}
|
|
53304
53496
|
),
|
|
53305
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53497
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53498
|
+
"div",
|
|
53499
|
+
{
|
|
53500
|
+
role: "presentation",
|
|
53501
|
+
"data-floating-dialer-resize": "bottom",
|
|
53502
|
+
"aria-hidden": "true",
|
|
53503
|
+
className: tw`absolute left-16 right-12 bottom-0 h-3 cursor-ns-resize touch-none rounded-md border border-transparent transition-colors duration-150 hover:border-primary/30 hover:bg-primary/10`,
|
|
53504
|
+
onPointerDown: beginResize("bottom")
|
|
53505
|
+
}
|
|
53506
|
+
),
|
|
53507
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53508
|
+
"div",
|
|
53509
|
+
{
|
|
53510
|
+
role: "presentation",
|
|
53511
|
+
"data-floating-dialer-resize": "corner",
|
|
53512
|
+
className: tw`absolute bottom-1 right-1 flex h-6 w-6 items-center justify-center cursor-nwse-resize touch-none`,
|
|
53513
|
+
onPointerDown: beginResize("corner"),
|
|
53514
|
+
"aria-label": "Redimensionar discadora",
|
|
53515
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: tw`h-3 w-3 rotate-45 rounded-sm border border-slate-300 bg-white/80 shadow` })
|
|
53516
|
+
}
|
|
53517
|
+
)
|
|
53306
53518
|
]
|
|
53307
53519
|
}
|
|
53308
53520
|
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -54818,25 +55030,52 @@ function ActiveCallSummary({
|
|
|
54818
55030
|
] }) });
|
|
54819
55031
|
}
|
|
54820
55032
|
function InlineDialer(props) {
|
|
54821
|
-
return /* @__PURE__ */ jsxRuntimeExports.
|
|
54822
|
-
|
|
54823
|
-
|
|
54824
|
-
|
|
54825
|
-
|
|
54826
|
-
|
|
54827
|
-
|
|
54828
|
-
|
|
54829
|
-
|
|
54830
|
-
|
|
54831
|
-
|
|
54832
|
-
|
|
54833
|
-
|
|
54834
|
-
|
|
54835
|
-
|
|
54836
|
-
|
|
54837
|
-
|
|
54838
|
-
|
|
54839
|
-
|
|
55033
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { width: "100%", height: "100%" }, children: [
|
|
55034
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
55035
|
+
"style",
|
|
55036
|
+
{
|
|
55037
|
+
dangerouslySetInnerHTML: {
|
|
55038
|
+
__html: `
|
|
55039
|
+
.callix-inline-wrapper {
|
|
55040
|
+
position: relative;
|
|
55041
|
+
display: flex;
|
|
55042
|
+
width: 100%;
|
|
55043
|
+
height: 100%;
|
|
55044
|
+
}
|
|
55045
|
+
.callix-inline-wrapper > div {
|
|
55046
|
+
position: static !important;
|
|
55047
|
+
inset: auto !important;
|
|
55048
|
+
transform: none !important;
|
|
55049
|
+
width: 100% !important;
|
|
55050
|
+
max-width: 100% !important;
|
|
55051
|
+
min-width: 0 !important;
|
|
55052
|
+
height: 100% !important;
|
|
55053
|
+
max-height: 100% !important;
|
|
55054
|
+
min-height: 0 !important;
|
|
55055
|
+
}
|
|
55056
|
+
.callix-inline-wrapper [data-floating-dialer-card] {
|
|
55057
|
+
width: 100% !important;
|
|
55058
|
+
max-width: 100% !important;
|
|
55059
|
+
min-width: 0 !important;
|
|
55060
|
+
height: 100% !important;
|
|
55061
|
+
max-height: 100% !important;
|
|
55062
|
+
min-height: 0 !important;
|
|
55063
|
+
box-shadow: none !important;
|
|
55064
|
+
backdrop-filter: none !important;
|
|
55065
|
+
}
|
|
55066
|
+
.callix-inline-wrapper [data-floating-dialer-card] > * {
|
|
55067
|
+
width: 100% !important;
|
|
55068
|
+
height: 100% !important;
|
|
55069
|
+
}
|
|
55070
|
+
.callix-inline-wrapper [data-floating-dialer-resize] {
|
|
55071
|
+
display: none !important;
|
|
55072
|
+
}
|
|
55073
|
+
`
|
|
55074
|
+
}
|
|
55075
|
+
}
|
|
55076
|
+
),
|
|
55077
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "callix-inline-wrapper", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FloatingDialer, { ...props }) })
|
|
55078
|
+
] });
|
|
54840
55079
|
}
|
|
54841
55080
|
class CallixDialerWidget {
|
|
54842
55081
|
constructor(options) {
|