visits-style 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Modal/index.d.ts +3 -1
- package/dist/components/Popover/index.d.ts +1 -1
- package/dist/components/Tooltip/index.d.ts +1 -1
- package/dist/visits-style.cjs.development.js +48 -94
- package/dist/visits-style.cjs.development.js.map +1 -1
- package/dist/visits-style.cjs.production.min.js +1 -1
- package/dist/visits-style.cjs.production.min.js.map +1 -1
- package/dist/visits-style.esm.js +49 -95
- package/dist/visits-style.esm.js.map +1 -1
- package/package.json +9 -7
- package/dist/hooks/usePopper.d.ts +0 -12
|
@@ -23,6 +23,8 @@ interface Props extends HTMLAttributes<HTMLDivElement> {
|
|
|
23
23
|
timeout?: number;
|
|
24
24
|
/** モーダル外に表示するElements */
|
|
25
25
|
external?: React.ReactNode;
|
|
26
|
+
/** モーダルのtransition exitが完了した時に発火されるcallback */
|
|
27
|
+
onExited?: () => void;
|
|
26
28
|
}
|
|
27
|
-
export default function Modal({ show, children, timeout, color, closeModal, external, className, closeOnOverlay, closeOnEsc, ...rest }: Props): JSX.Element;
|
|
29
|
+
export default function Modal({ show, children, timeout, color, closeModal, external, className, closeOnOverlay, closeOnEsc, onExited, ...rest }: Props): JSX.Element;
|
|
28
30
|
export {};
|
|
@@ -9,8 +9,8 @@ var React__default = _interopDefault(React);
|
|
|
9
9
|
var styled = require('styled-components');
|
|
10
10
|
var styled__default = _interopDefault(styled);
|
|
11
11
|
var polished = require('polished');
|
|
12
|
-
var reactDom = require('react-dom');
|
|
13
|
-
var
|
|
12
|
+
var reactDom = require('@floating-ui/react-dom');
|
|
13
|
+
var reactDom$1 = require('react-dom');
|
|
14
14
|
var reactTransitionGroup = require('react-transition-group');
|
|
15
15
|
|
|
16
16
|
function _defineProperty(obj, key, value) {
|
|
@@ -1190,70 +1190,10 @@ React__default.forwardRef(function (_ref, ref) {
|
|
|
1190
1190
|
}, [container, disabled]);
|
|
1191
1191
|
return mountNode ?
|
|
1192
1192
|
/*#__PURE__*/
|
|
1193
|
-
reactDom.createPortal(children, mountNode) : mountNode;
|
|
1193
|
+
reactDom$1.createPortal(children, mountNode) : mountNode;
|
|
1194
1194
|
});
|
|
1195
1195
|
Portal.displayName = 'Portal';
|
|
1196
1196
|
|
|
1197
|
-
function usePopper(referenceElement, popperElement, options) {
|
|
1198
|
-
if (options === void 0) {
|
|
1199
|
-
options = {};
|
|
1200
|
-
}
|
|
1201
|
-
|
|
1202
|
-
var instance = React.useRef(null);
|
|
1203
|
-
var popperOptions = React.useMemo(function () {
|
|
1204
|
-
return {
|
|
1205
|
-
placement: options.placement || 'bottom',
|
|
1206
|
-
strategy: options.strategy || 'absolute',
|
|
1207
|
-
modifiers: [{
|
|
1208
|
-
name: 'preventOverflow',
|
|
1209
|
-
enabled: true
|
|
1210
|
-
}, options.offset && {
|
|
1211
|
-
name: 'offset',
|
|
1212
|
-
options: {
|
|
1213
|
-
offset: [options.offset.x, options.offset.y]
|
|
1214
|
-
}
|
|
1215
|
-
}].filter(Boolean)
|
|
1216
|
-
};
|
|
1217
|
-
}, [options.placement, options.strategy, options.offset]);
|
|
1218
|
-
useIsomorphicLayoutEffect(function () {
|
|
1219
|
-
if (instance.current) {
|
|
1220
|
-
instance.current.setOptions(popperOptions);
|
|
1221
|
-
}
|
|
1222
|
-
}, [popperOptions]);
|
|
1223
|
-
useIsomorphicLayoutEffect(function () {
|
|
1224
|
-
return function () {
|
|
1225
|
-
if (instance.current) {
|
|
1226
|
-
instance.current.destroy();
|
|
1227
|
-
instance.current = null;
|
|
1228
|
-
}
|
|
1229
|
-
};
|
|
1230
|
-
}, []);
|
|
1231
|
-
var open = React.useCallback(function () {
|
|
1232
|
-
if (instance.current) {
|
|
1233
|
-
instance.current.destroy();
|
|
1234
|
-
instance.current = null;
|
|
1235
|
-
}
|
|
1236
|
-
|
|
1237
|
-
if (referenceElement == null || popperElement == null) {
|
|
1238
|
-
return;
|
|
1239
|
-
}
|
|
1240
|
-
|
|
1241
|
-
var refEl = // @ts-ignore
|
|
1242
|
-
'current' in referenceElement ? referenceElement.current : referenceElement; // @ts-ignore
|
|
1243
|
-
|
|
1244
|
-
var pEl = 'current' in popperElement ? popperElement.current : popperElement;
|
|
1245
|
-
if (refEl === null || pEl === null) return;
|
|
1246
|
-
instance.current = core.createPopper(refEl, pEl, popperOptions); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1247
|
-
}, [popperOptions]);
|
|
1248
|
-
var close = React.useCallback(function () {
|
|
1249
|
-
if (instance.current) {
|
|
1250
|
-
instance.current.destroy();
|
|
1251
|
-
instance.current = null;
|
|
1252
|
-
}
|
|
1253
|
-
}, []);
|
|
1254
|
-
return [open, close];
|
|
1255
|
-
}
|
|
1256
|
-
|
|
1257
1197
|
function wrapEvent(child, handlerName, ourHandler) {
|
|
1258
1198
|
return function (event) {
|
|
1259
1199
|
if (typeof child !== 'string' && child.props[handlerName]) {
|
|
@@ -1280,30 +1220,32 @@ function Tooltip(_ref) {
|
|
|
1280
1220
|
x: 0,
|
|
1281
1221
|
y: 6
|
|
1282
1222
|
} : _ref$offset;
|
|
1283
|
-
|
|
1284
|
-
var
|
|
1223
|
+
|
|
1224
|
+
var _useFloating = reactDom.useFloating({
|
|
1225
|
+
placement: position,
|
|
1226
|
+
middleware: [reactDom.shift(), reactDom.flip(), reactDom.offset({
|
|
1227
|
+
mainAxis: offset.y,
|
|
1228
|
+
crossAxis: offset.x
|
|
1229
|
+
})],
|
|
1230
|
+
whileElementsMounted: reactDom.autoUpdate
|
|
1231
|
+
}),
|
|
1232
|
+
reference = _useFloating.reference,
|
|
1233
|
+
floating = _useFloating.floating,
|
|
1234
|
+
strategy = _useFloating.strategy,
|
|
1235
|
+
x = _useFloating.x,
|
|
1236
|
+
y = _useFloating.y;
|
|
1285
1237
|
|
|
1286
1238
|
var _useState = React.useState(false),
|
|
1287
1239
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1288
1240
|
open = _useState2[0],
|
|
1289
1241
|
setOpen = _useState2[1];
|
|
1290
1242
|
|
|
1291
|
-
var _usePopper = usePopper(parent, tooltip, {
|
|
1292
|
-
placement: position,
|
|
1293
|
-
offset: offset
|
|
1294
|
-
}),
|
|
1295
|
-
_usePopper2 = _slicedToArray(_usePopper, 2),
|
|
1296
|
-
openPopper = _usePopper2[0],
|
|
1297
|
-
closePopper = _usePopper2[1];
|
|
1298
|
-
|
|
1299
1243
|
var handleOpen = function handleOpen() {
|
|
1300
1244
|
setOpen(true);
|
|
1301
|
-
requestAnimationFrame(openPopper);
|
|
1302
1245
|
};
|
|
1303
1246
|
|
|
1304
1247
|
var handleClose = function handleClose() {
|
|
1305
1248
|
setOpen(false);
|
|
1306
|
-
closePopper();
|
|
1307
1249
|
};
|
|
1308
1250
|
|
|
1309
1251
|
var child = typeof children === 'string' ?
|
|
@@ -1314,7 +1256,7 @@ function Tooltip(_ref) {
|
|
|
1314
1256
|
React__default.createElement(React__default.Fragment, null,
|
|
1315
1257
|
/*#__PURE__*/
|
|
1316
1258
|
React.cloneElement(React.Children.only(child), {
|
|
1317
|
-
ref:
|
|
1259
|
+
ref: reference,
|
|
1318
1260
|
onMouseEnter: wrapEvent(child, 'onMouseEnter', handleOpen),
|
|
1319
1261
|
onMouseLeave: wrapEvent(child, 'onMouseLeave', handleClose),
|
|
1320
1262
|
onFocus: wrapEvent(child, 'onFocus', handleOpen),
|
|
@@ -1325,9 +1267,14 @@ function Tooltip(_ref) {
|
|
|
1325
1267
|
/*#__PURE__*/
|
|
1326
1268
|
React__default.createElement(TooltipWrapper, {
|
|
1327
1269
|
className: className,
|
|
1328
|
-
ref:
|
|
1270
|
+
ref: floating,
|
|
1329
1271
|
role: "tooltip",
|
|
1330
|
-
color: color
|
|
1272
|
+
color: color,
|
|
1273
|
+
style: {
|
|
1274
|
+
position: strategy,
|
|
1275
|
+
top: y || 0,
|
|
1276
|
+
left: x || 0
|
|
1277
|
+
}
|
|
1331
1278
|
}, label)))
|
|
1332
1279
|
);
|
|
1333
1280
|
}
|
|
@@ -1486,42 +1433,42 @@ React.forwardRef(function (_ref, ref) {
|
|
|
1486
1433
|
} : _ref$offset,
|
|
1487
1434
|
rest = _objectWithoutProperties(_ref, _excluded$a);
|
|
1488
1435
|
|
|
1489
|
-
var parent = React.useRef(null);
|
|
1490
|
-
var popover = React.useRef(null);
|
|
1491
|
-
|
|
1492
1436
|
var _useState = React.useState(false),
|
|
1493
1437
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1494
1438
|
open = _useState2[0],
|
|
1495
1439
|
setOpen = _useState2[1];
|
|
1496
1440
|
|
|
1497
|
-
var
|
|
1441
|
+
var _useFloating = reactDom.useFloating({
|
|
1498
1442
|
placement: position,
|
|
1499
|
-
|
|
1443
|
+
middleware: [reactDom.shift(), reactDom.flip(), reactDom.offset({
|
|
1444
|
+
mainAxis: offset.y,
|
|
1445
|
+
crossAxis: offset.x
|
|
1446
|
+
})],
|
|
1447
|
+
whileElementsMounted: reactDom.autoUpdate
|
|
1500
1448
|
}),
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1449
|
+
reference = _useFloating.reference,
|
|
1450
|
+
floating = _useFloating.floating,
|
|
1451
|
+
strategy = _useFloating.strategy,
|
|
1452
|
+
x = _useFloating.x,
|
|
1453
|
+
y = _useFloating.y;
|
|
1504
1454
|
|
|
1505
1455
|
var handleFocus = function handleFocus(e) {
|
|
1506
1456
|
stopPropagation(e);
|
|
1507
1457
|
setOpen(true);
|
|
1508
|
-
requestAnimationFrame(openPopper);
|
|
1509
1458
|
if (onOpen) onOpen();
|
|
1510
1459
|
};
|
|
1511
1460
|
|
|
1512
1461
|
var handleBlur = function handleBlur(e) {
|
|
1513
1462
|
stopPropagation(e);
|
|
1514
|
-
closePopper();
|
|
1515
1463
|
setOpen(false);
|
|
1516
1464
|
if (onClose) onClose();
|
|
1517
1465
|
};
|
|
1518
1466
|
|
|
1519
1467
|
React.useEffect(function () {
|
|
1520
1468
|
if (disabled && open) {
|
|
1521
|
-
closePopper();
|
|
1522
1469
|
setOpen(false);
|
|
1523
1470
|
}
|
|
1524
|
-
}, [disabled, open
|
|
1471
|
+
}, [disabled, open]);
|
|
1525
1472
|
React.useImperativeHandle(ref, function () {
|
|
1526
1473
|
return {
|
|
1527
1474
|
open: handleFocus,
|
|
@@ -1533,7 +1480,7 @@ React.forwardRef(function (_ref, ref) {
|
|
|
1533
1480
|
React__default.createElement(React__default.Fragment, null,
|
|
1534
1481
|
/*#__PURE__*/
|
|
1535
1482
|
React.cloneElement(React.Children.only(label), {
|
|
1536
|
-
ref:
|
|
1483
|
+
ref: reference,
|
|
1537
1484
|
tabIndex: 0,
|
|
1538
1485
|
role: 'button',
|
|
1539
1486
|
onClick: wrapEvent(label, 'onClick', handleFocus),
|
|
@@ -1545,9 +1492,14 @@ React.forwardRef(function (_ref, ref) {
|
|
|
1545
1492
|
React__default.createElement(Tooltip$1, Object.assign({
|
|
1546
1493
|
role: "tooltip",
|
|
1547
1494
|
className: className,
|
|
1548
|
-
ref:
|
|
1495
|
+
ref: floating,
|
|
1549
1496
|
color: color,
|
|
1550
|
-
onClick: stopPropagation
|
|
1497
|
+
onClick: stopPropagation,
|
|
1498
|
+
style: {
|
|
1499
|
+
position: strategy,
|
|
1500
|
+
top: y || 0,
|
|
1501
|
+
left: x || 0
|
|
1502
|
+
}
|
|
1551
1503
|
}, rest), children),
|
|
1552
1504
|
/*#__PURE__*/
|
|
1553
1505
|
React__default.createElement(Shadow, {
|
|
@@ -1588,7 +1540,7 @@ function useScrollFix(show) {
|
|
|
1588
1540
|
}, [show]);
|
|
1589
1541
|
}
|
|
1590
1542
|
|
|
1591
|
-
var _excluded$b = ["show", "children", "timeout", "color", "closeModal", "external", "className", "closeOnOverlay", "closeOnEsc"];
|
|
1543
|
+
var _excluded$b = ["show", "children", "timeout", "color", "closeModal", "external", "className", "closeOnOverlay", "closeOnEsc", "onExited"];
|
|
1592
1544
|
|
|
1593
1545
|
var _templateObject$i, _templateObject2$a, _templateObject3$5;
|
|
1594
1546
|
|
|
@@ -1621,6 +1573,7 @@ function Modal(_ref2) {
|
|
|
1621
1573
|
external = _ref2.external,
|
|
1622
1574
|
className = _ref2.className,
|
|
1623
1575
|
closeOnOverlay = _ref2.closeOnOverlay,
|
|
1576
|
+
onExited = _ref2.onExited,
|
|
1624
1577
|
rest = _objectWithoutProperties(_ref2, _excluded$b);
|
|
1625
1578
|
|
|
1626
1579
|
useScrollFix(show);
|
|
@@ -1631,6 +1584,7 @@ function Modal(_ref2) {
|
|
|
1631
1584
|
React__default.createElement(reactTransitionGroup.Transition, {
|
|
1632
1585
|
"in": show,
|
|
1633
1586
|
timeout: timeout,
|
|
1587
|
+
onExited: onExited,
|
|
1634
1588
|
unmountOnExit: true,
|
|
1635
1589
|
mountOnEnter: true
|
|
1636
1590
|
}, function (state) {
|