@lumx/react 2.2.6 → 2.2.9-alpha-exported-hooks1
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/esm/_internal/{_rollupPluginBabelHelpers.js → _rolluppluginbabelhelpers.53.js} +1 -1
- package/esm/_internal/_rolluppluginbabelhelpers.53.js.map +1 -0
- package/esm/_internal/alert-dialog.js +19 -19
- package/esm/_internal/{AlertDialog.js → alertdialog.1.js} +8 -8
- package/esm/_internal/alertdialog.1.js.map +1 -0
- package/esm/_internal/autocomplete.js +20 -21
- package/esm/_internal/autocomplete.js.map +1 -1
- package/esm/_internal/{AutocompleteMultiple.js → autocompletemultiple.2.js} +9 -9
- package/esm/_internal/autocompletemultiple.2.js.map +1 -0
- package/esm/_internal/{Avatar2.js → avatar.3.js} +4 -4
- package/esm/_internal/avatar.3.js.map +1 -0
- package/esm/_internal/avatar.js +6 -6
- package/esm/_internal/{Badge2.js → badge.4.js} +3 -3
- package/esm/_internal/badge.4.js.map +1 -0
- package/esm/_internal/badge.js +3 -3
- package/esm/_internal/{Button2.js → button.5.js} +5 -5
- package/esm/_internal/button.5.js.map +1 -0
- package/esm/_internal/button.js +14 -15
- package/esm/_internal/button.js.map +1 -1
- package/esm/_internal/{ButtonGroup.js → buttongroup.7.js} +3 -3
- package/esm/_internal/buttongroup.7.js.map +1 -0
- package/esm/_internal/{ButtonRoot.js → buttonroot.57.js} +4 -4
- package/esm/_internal/buttonroot.57.js.map +1 -0
- package/esm/_internal/{Checkbox2.js → checkbox.8.js} +7 -7
- package/esm/_internal/checkbox.8.js.map +1 -0
- package/esm/_internal/checkbox.js +7 -7
- package/esm/_internal/{Chip2.js → chip.9.js} +3 -3
- package/esm/_internal/chip.9.js.map +1 -0
- package/esm/_internal/chip.js +4 -4
- package/esm/_internal/{ChipGroup.js → chipgroup.10.js} +3 -3
- package/esm/_internal/chipgroup.10.js.map +1 -0
- package/esm/_internal/{ClickAwayProvider.js → clickawayprovider.60.js} +4 -4
- package/esm/_internal/clickawayprovider.60.js.map +1 -0
- package/esm/_internal/comment-block.js +7 -7
- package/esm/_internal/{CommentBlock.js → commentblock.11.js} +4 -4
- package/esm/_internal/commentblock.11.js.map +1 -0
- package/esm/_internal/components.js +1 -1
- package/esm/_internal/{constants.js → constants.59.js} +1 -1
- package/esm/_internal/constants.59.js.map +1 -0
- package/esm/_internal/date-picker.js +18 -19
- package/esm/_internal/date-picker.js.map +1 -1
- package/esm/_internal/{DatePickerField.js → datepickerfield.12.js} +9 -9
- package/esm/_internal/datepickerfield.12.js.map +1 -0
- package/esm/_internal/{Dialog2.js → dialog.13.js} +12 -12
- package/esm/_internal/dialog.13.js.map +1 -0
- package/esm/_internal/dialog.js +12 -12
- package/esm/_internal/{Divider2.js → divider.14.js} +3 -3
- package/esm/_internal/divider.14.js.map +1 -0
- package/esm/_internal/divider.js +3 -3
- package/esm/_internal/drag-handle.js +4 -4
- package/esm/_internal/{DragHandle.js → draghandle.15.js} +4 -4
- package/esm/_internal/draghandle.15.js.map +1 -0
- package/esm/_internal/{Dropdown2.js → dropdown.16.js} +6 -6
- package/esm/_internal/dropdown.16.js.map +1 -0
- package/esm/_internal/dropdown.js +10 -10
- package/esm/_internal/expansion-panel.js +16 -17
- package/esm/_internal/expansion-panel.js.map +1 -1
- package/esm/_internal/{ExpansionPanel.js → expansionpanel.17.js} +8 -8
- package/esm/_internal/expansionpanel.17.js.map +1 -0
- package/esm/_internal/{Flag2.js → flag.18.js} +4 -4
- package/esm/_internal/flag.18.js.map +1 -0
- package/esm/_internal/flag.js +4 -4
- package/esm/_internal/flex-box.js +3 -3
- package/esm/_internal/{FlexBox.js → flexbox.19.js} +3 -3
- package/esm/_internal/flexbox.19.js.map +1 -0
- package/esm/_internal/{getRootClassName.js → getrootclassname.54.js} +21 -3
- package/esm/_internal/getrootclassname.54.js.map +1 -0
- package/esm/_internal/grid.js +3 -3
- package/esm/_internal/{GridItem.js → griditem.20.js} +3 -3
- package/esm/_internal/griditem.20.js.map +1 -0
- package/esm/_internal/{Icon2.js → icon.21.js} +8 -5
- package/esm/_internal/icon.21.js.map +1 -0
- package/esm/_internal/icon.js +3 -3
- package/esm/_internal/{IconButton.js → iconbutton.6.js} +6 -6
- package/esm/_internal/iconbutton.6.js.map +1 -0
- package/esm/_internal/image-block.js +6 -6
- package/esm/_internal/{ImageBlock.js → imageblock.22.js} +4 -4
- package/esm/_internal/imageblock.22.js.map +1 -0
- package/esm/{index2.js → _internal/index.55.js} +1 -1
- package/esm/_internal/index.55.js.map +1 -0
- package/esm/_internal/input-helper.js +3 -3
- package/esm/_internal/input-label.js +3 -3
- package/esm/_internal/{InputHelper.js → inputhelper.23.js} +3 -3
- package/esm/_internal/inputhelper.23.js.map +1 -0
- package/esm/_internal/{InputLabel.js → inputlabel.24.js} +3 -3
- package/esm/_internal/inputlabel.24.js.map +1 -0
- package/esm/_internal/{Lightbox2.js → lightbox.25.js} +17 -15
- package/esm/_internal/lightbox.25.js.map +1 -0
- package/esm/_internal/lightbox.js +16 -17
- package/esm/_internal/lightbox.js.map +1 -1
- package/esm/_internal/link-preview.js +8 -8
- package/esm/_internal/{Link2.js → link.26.js} +5 -5
- package/esm/_internal/link.26.js.map +1 -0
- package/esm/_internal/link.js +5 -5
- package/esm/_internal/{LinkPreview.js → linkpreview.27.js} +5 -5
- package/esm/_internal/linkpreview.27.js.map +1 -0
- package/esm/_internal/{List2.js → list.28.js} +6 -6
- package/esm/_internal/list.28.js.map +1 -0
- package/esm/_internal/list.js +7 -7
- package/esm/_internal/{ListSubheader.js → listsubheader.29.js} +3 -3
- package/esm/_internal/listsubheader.29.js.map +1 -0
- package/esm/_internal/{mergeRefs.js → mergerefs.56.js} +1 -1
- package/esm/_internal/mergerefs.56.js.map +1 -0
- package/esm/_internal/{Message2.js → message.30.js} +4 -4
- package/esm/_internal/message.30.js.map +1 -0
- package/esm/_internal/message.js +4 -4
- package/esm/_internal/{Mosaic2.js → mosaic.31.js} +4 -4
- package/esm/_internal/mosaic.31.js.map +1 -0
- package/esm/_internal/mosaic.js +6 -6
- package/esm/_internal/{Notification2.js → notification.32.js} +9 -8
- package/esm/_internal/notification.32.js.map +1 -0
- package/esm/_internal/notification.js +9 -9
- package/esm/_internal/{partitionMulti.js → partitionmulti.62.js} +1 -1
- package/esm/_internal/partitionmulti.62.js.map +1 -0
- package/esm/_internal/{Popover2.js → popover.33.js} +6 -6
- package/esm/_internal/popover.33.js.map +1 -0
- package/esm/_internal/popover.js +6 -6
- package/esm/_internal/post-block.js +7 -7
- package/esm/_internal/{PostBlock.js → postblock.34.js} +5 -5
- package/esm/_internal/postblock.34.js.map +1 -0
- package/esm/_internal/progress-tracker.js +9 -9
- package/esm/_internal/{Progress2.js → progress.35.js} +3 -3
- package/esm/_internal/progress.35.js.map +1 -0
- package/esm/_internal/progress.js +3 -3
- package/esm/_internal/{ProgressTrackerStepPanel.js → progresstrackersteppanel.36.js} +8 -8
- package/esm/_internal/progresstrackersteppanel.36.js.map +1 -0
- package/esm/_internal/radio-button.js +6 -6
- package/esm/_internal/{RadioGroup.js → radiogroup.37.js} +6 -6
- package/esm/_internal/radiogroup.37.js.map +1 -0
- package/esm/_internal/{renderLink.js → renderlink.65.js} +2 -2
- package/esm/_internal/renderlink.65.js.map +1 -0
- package/esm/_internal/select.js +19 -20
- package/esm/_internal/select.js.map +1 -1
- package/esm/_internal/{SelectMultiple.js → selectmultiple.38.js} +12 -12
- package/esm/_internal/selectmultiple.38.js.map +1 -0
- package/esm/_internal/side-navigation.js +14 -15
- package/esm/_internal/side-navigation.js.map +1 -1
- package/esm/_internal/{SideNavigationItem.js → sidenavigationitem.39.js} +7 -7
- package/esm/_internal/sidenavigationitem.39.js.map +1 -0
- package/esm/_internal/skeleton.js +3 -3
- package/esm/_internal/{SkeletonTypography.js → skeletontypography.40.js} +3 -3
- package/esm/_internal/skeletontypography.40.js.map +1 -0
- package/esm/_internal/{Slider2.js → slider.41.js} +6 -6
- package/esm/_internal/slider.41.js.map +1 -0
- package/esm/_internal/slider.js +6 -6
- package/esm/_internal/slideshow.js +15 -14
- package/esm/_internal/slideshow.js.map +1 -1
- package/esm/_internal/{SlideshowControls.js → slideshowcontrols.42.js} +218 -101
- package/esm/_internal/slideshowcontrols.42.js.map +1 -0
- package/esm/_internal/{Switch2.js → switch.43.js} +6 -6
- package/esm/_internal/switch.43.js.map +1 -0
- package/esm/_internal/switch.js +6 -6
- package/esm/_internal/table.js +4 -4
- package/esm/_internal/{TableRow.js → tablerow.44.js} +4 -4
- package/esm/_internal/tablerow.44.js.map +1 -0
- package/esm/_internal/{TabPanel.js → tabpanel.45.js} +6 -6
- package/esm/_internal/tabpanel.45.js.map +1 -0
- package/esm/_internal/tabs.js +7 -7
- package/esm/_internal/text-field.js +15 -16
- package/esm/_internal/text-field.js.map +1 -1
- package/esm/_internal/{TextField.js → textfield.46.js} +9 -9
- package/esm/_internal/textfield.46.js.map +1 -0
- package/esm/_internal/{Thumbnail2.js → thumbnail.47.js} +7 -7
- package/esm/_internal/thumbnail.47.js.map +1 -0
- package/esm/_internal/thumbnail.js +6 -6
- package/esm/_internal/{Toolbar2.js → toolbar.49.js} +3 -3
- package/esm/_internal/toolbar.49.js.map +1 -0
- package/esm/_internal/toolbar.js +3 -3
- package/esm/_internal/{Tooltip2.js → tooltip.50.js} +116 -119
- package/esm/_internal/tooltip.50.js.map +1 -0
- package/esm/_internal/tooltip.js +8 -9
- package/esm/_internal/tooltip.js.map +1 -1
- package/esm/_internal/{type.js → type.64.js} +1 -1
- package/esm/_internal/type.64.js.map +1 -0
- package/esm/_internal/{types.js → types.48.js} +2 -3
- package/esm/_internal/types.48.js.map +1 -0
- package/esm/_internal/{Uploader2.js → uploader.51.js} +4 -4
- package/esm/_internal/uploader.51.js.map +1 -0
- package/esm/_internal/uploader.js +4 -4
- package/esm/_internal/{useDelayedVisibility.js → usedelayedvisibility.63.js} +2 -2
- package/esm/_internal/usedelayedvisibility.63.js.map +1 -0
- package/esm/_internal/{useDisableBodyScroll.js → usedisablebodyscroll.61.js} +1 -1
- package/esm/_internal/usedisablebodyscroll.61.js.map +1 -0
- package/esm/_internal/{useFocusTrap.js → usefocustrap.58.js} +2 -2
- package/esm/_internal/usefocustrap.58.js.map +1 -0
- package/esm/_internal/user-block.js +9 -9
- package/esm/_internal/{UserBlock.js → userblock.52.js} +5 -5
- package/esm/_internal/userblock.52.js.map +1 -0
- package/esm/_internal/{useRovingTabIndex.js → userovingtabindex.66.js} +3 -3
- package/esm/_internal/userovingtabindex.66.js.map +1 -0
- package/hooks/useFocusWithin.d.ts +16 -0
- package/hooks/useFocusWithin.js +28 -0
- package/hooks/useFocusWithin.js.map +1 -0
- package/index.d.ts +2723 -0
- package/index.js +90 -0
- package/{esm/index.js.map → index.js.map} +1 -1
- package/package.json +9 -10
- package/src/components/alert-dialog/AlertDialog.test.tsx +1 -0
- package/src/components/autocomplete/AutocompleteMultiple.tsx +3 -1
- package/src/components/button/__snapshots__/IconButton.test.tsx.snap +0 -5
- package/src/components/icon/Icon.tsx +6 -2
- package/src/components/image-block/ImageBlock.stories.tsx +1 -2
- package/src/components/lightbox/Lightbox.stories.tsx +1 -0
- package/src/components/lightbox/Lightbox.tsx +5 -3
- package/src/components/notification/Notification.tsx +1 -0
- package/src/components/select/SelectMultiple.tsx +0 -1
- package/src/components/slideshow/Slideshow.stories.tsx +1 -1
- package/src/components/slideshow/Slideshow.tsx +76 -112
- package/src/components/slideshow/SlideshowControls.stories.tsx +18 -12
- package/src/components/slideshow/SlideshowControls.tsx +11 -7
- package/src/components/slideshow/SlideshowItem.tsx +4 -1
- package/src/components/slideshow/__snapshots__/Slideshow.test.tsx.snap +52 -17
- package/src/components/tabs/state.ts +0 -1
- package/src/components/thumbnail/Thumbnail.stories.tsx +25 -1
- package/src/components/thumbnail/Thumbnail.test.tsx +9 -1
- package/src/components/thumbnail/Thumbnail.tsx +3 -0
- package/src/components/thumbnail/__snapshots__/Thumbnail.test.tsx.snap +26 -0
- package/src/components/thumbnail/index.ts +0 -1
- package/src/components/tooltip/Tooltip.tsx +1 -2
- package/src/components/tooltip/useTooltipOpen.tsx +90 -91
- package/src/constants.ts +7 -1
- package/src/hooks/useFocusWithin.ts +33 -0
- package/src/hooks/useSlideshowControls.ts +213 -0
- package/src/utils/browserDoesNotSupportHover.test.js +24 -0
- package/src/utils/browserDoesNotSupportHover.ts +2 -0
- package/src/utils/index.tsx +0 -2
- package/src/utils/mergeRefs.ts +1 -1
- package/esm/_internal/AlertDialog.js.map +0 -1
- package/esm/_internal/AutocompleteMultiple.js.map +0 -1
- package/esm/_internal/Avatar2.js.map +0 -1
- package/esm/_internal/Badge2.js.map +0 -1
- package/esm/_internal/Button2.js.map +0 -1
- package/esm/_internal/ButtonGroup.js.map +0 -1
- package/esm/_internal/ButtonRoot.js.map +0 -1
- package/esm/_internal/Checkbox2.js.map +0 -1
- package/esm/_internal/Chip2.js.map +0 -1
- package/esm/_internal/ChipGroup.js.map +0 -1
- package/esm/_internal/ClickAwayProvider.js.map +0 -1
- package/esm/_internal/CommentBlock.js.map +0 -1
- package/esm/_internal/DatePickerField.js.map +0 -1
- package/esm/_internal/Dialog2.js.map +0 -1
- package/esm/_internal/Divider2.js.map +0 -1
- package/esm/_internal/DragHandle.js.map +0 -1
- package/esm/_internal/Dropdown2.js.map +0 -1
- package/esm/_internal/ExpansionPanel.js.map +0 -1
- package/esm/_internal/Flag2.js.map +0 -1
- package/esm/_internal/FlexBox.js.map +0 -1
- package/esm/_internal/GridItem.js.map +0 -1
- package/esm/_internal/Icon2.js.map +0 -1
- package/esm/_internal/IconButton.js.map +0 -1
- package/esm/_internal/ImageBlock.js.map +0 -1
- package/esm/_internal/InputHelper.js.map +0 -1
- package/esm/_internal/InputLabel.js.map +0 -1
- package/esm/_internal/Lightbox2.js.map +0 -1
- package/esm/_internal/Link2.js.map +0 -1
- package/esm/_internal/LinkPreview.js.map +0 -1
- package/esm/_internal/List2.js.map +0 -1
- package/esm/_internal/ListSubheader.js.map +0 -1
- package/esm/_internal/Message2.js.map +0 -1
- package/esm/_internal/Mosaic2.js.map +0 -1
- package/esm/_internal/Notification2.js.map +0 -1
- package/esm/_internal/Popover2.js.map +0 -1
- package/esm/_internal/PostBlock.js.map +0 -1
- package/esm/_internal/Progress2.js.map +0 -1
- package/esm/_internal/ProgressTrackerStepPanel.js.map +0 -1
- package/esm/_internal/RadioGroup.js.map +0 -1
- package/esm/_internal/SelectMultiple.js.map +0 -1
- package/esm/_internal/SideNavigationItem.js.map +0 -1
- package/esm/_internal/SkeletonTypography.js.map +0 -1
- package/esm/_internal/Slider2.js.map +0 -1
- package/esm/_internal/SlideshowControls.js.map +0 -1
- package/esm/_internal/Switch2.js.map +0 -1
- package/esm/_internal/TabPanel.js.map +0 -1
- package/esm/_internal/TableRow.js.map +0 -1
- package/esm/_internal/TextField.js.map +0 -1
- package/esm/_internal/Thumbnail2.js.map +0 -1
- package/esm/_internal/Toolbar2.js.map +0 -1
- package/esm/_internal/Tooltip2.js.map +0 -1
- package/esm/_internal/Uploader2.js.map +0 -1
- package/esm/_internal/UserBlock.js.map +0 -1
- package/esm/_internal/_rollupPluginBabelHelpers.js.map +0 -1
- package/esm/_internal/constants.js.map +0 -1
- package/esm/_internal/getRootClassName.js.map +0 -1
- package/esm/_internal/mergeRefs.js.map +0 -1
- package/esm/_internal/partitionMulti.js.map +0 -1
- package/esm/_internal/renderLink.js.map +0 -1
- package/esm/_internal/type.js.map +0 -1
- package/esm/_internal/types.js.map +0 -1
- package/esm/_internal/useDelayedVisibility.js.map +0 -1
- package/esm/_internal/useDisableBodyScroll.js.map +0 -1
- package/esm/_internal/useFocusTrap.js.map +0 -1
- package/esm/_internal/useRovingTabIndex.js.map +0 -1
- package/esm/index.js +0 -89
- package/esm/index2.js.map +0 -1
- package/src/utils/htmlDecode.ts +0 -13
- package/types.d.ts +0 -2575
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { _ as _objectSpread2, c as _extends, d as _slicedToArray, b as _objectWithoutProperties } from './
|
|
2
|
-
import React, { useMemo, cloneElement,
|
|
3
|
-
import { f as onEscapePressed, g as getRootClassName, c as classnames, h as handleBasicClasses } from './
|
|
4
|
-
import { u as uid } from '
|
|
5
|
-
import { D as DOCUMENT } from './constants.js';
|
|
1
|
+
import { _ as _objectSpread2, c as _extends, d as _slicedToArray, b as _objectWithoutProperties } from './_rolluppluginbabelhelpers.53.js';
|
|
2
|
+
import React, { useMemo, cloneElement, useState, useEffect, forwardRef } from 'react';
|
|
3
|
+
import { f as onEscapePressed, T as TOOLTIP_LONG_PRESS_DELAY, i as TOOLTIP_HOVER_DELAY, g as getRootClassName, c as classnames, h as handleBasicClasses } from './getrootclassname.54.js';
|
|
4
|
+
import { u as uid } from './index.55.js';
|
|
5
|
+
import { D as DOCUMENT } from './constants.59.js';
|
|
6
6
|
import get from 'lodash/get';
|
|
7
|
-
import { b as usePopper, P as Placement } from './
|
|
8
|
-
import { m as mergeRefs } from './
|
|
7
|
+
import { b as usePopper, P as Placement } from './popover.33.js';
|
|
8
|
+
import { m as mergeRefs } from './mergerefs.56.js';
|
|
9
9
|
import { createPortal } from 'react-dom';
|
|
10
|
-
import pull from 'lodash/pull';
|
|
11
|
-
import debounce from 'lodash/debounce';
|
|
12
10
|
|
|
13
11
|
/**
|
|
14
12
|
* Add ref and ARIA attribute(s) in tooltip children or wrapped children.
|
|
@@ -42,37 +40,121 @@ var useInjectTooltipRef = function useInjectTooltipRef(children, setAnchorElemen
|
|
|
42
40
|
}, [isOpen, id, children, setAnchorElement]);
|
|
43
41
|
};
|
|
44
42
|
|
|
43
|
+
/** Return true if the browser does not support pointer hover */
|
|
44
|
+
var browserDoesNotSupportHover = function browserDoesNotSupportHover() {
|
|
45
|
+
var _window$matchMedia, _window;
|
|
46
|
+
|
|
47
|
+
return !!((_window$matchMedia = (_window = window).matchMedia) === null || _window$matchMedia === void 0 ? void 0 : _window$matchMedia.call(_window, '(hover: none)').matches);
|
|
48
|
+
};
|
|
49
|
+
|
|
45
50
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
51
|
+
* Hook controlling tooltip visibility using mouse hover the anchor and delay.
|
|
52
|
+
*
|
|
53
|
+
* @param delay Delay in millisecond to display the tooltip.
|
|
54
|
+
* @param anchorElement Tooltip anchor element.
|
|
55
|
+
* @return whether or not to show the tooltip.
|
|
48
56
|
*/
|
|
49
|
-
var tooltipMouseToggle = function () {
|
|
50
|
-
/** List of tooltips to toggle on anchor enter/leave. */
|
|
51
|
-
var tooltips;
|
|
52
|
-
/** Global listener added on the document. */
|
|
53
57
|
|
|
54
|
-
|
|
58
|
+
function useTooltipOpen(delay, anchorElement) {
|
|
59
|
+
var _useState = useState(false),
|
|
60
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
61
|
+
isOpen = _useState2[0],
|
|
62
|
+
setIsOpen = _useState2[1];
|
|
63
|
+
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
if (!anchorElement) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
var timer;
|
|
70
|
+
var openStartTime;
|
|
71
|
+
var shouldOpen; // Run timer to defer updating the isOpen state.
|
|
55
72
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
73
|
+
var deferUpdate = function deferUpdate(duration) {
|
|
74
|
+
if (timer) clearTimeout(timer);
|
|
75
|
+
timer = setTimeout(function () {
|
|
76
|
+
setIsOpen(!!shouldOpen);
|
|
77
|
+
}, duration);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var hoverNotSupported = browserDoesNotSupportHover();
|
|
81
|
+
var hasTouch = 'ontouchstart' in window; // Adapt open/close delay
|
|
82
|
+
|
|
83
|
+
var openDelay = delay || (hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.open : TOOLTIP_HOVER_DELAY.open);
|
|
84
|
+
var closeDelay = hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.close : TOOLTIP_HOVER_DELAY.close; // Open (or/and cancel closing) of tooltip.
|
|
85
|
+
|
|
86
|
+
var open = function open() {
|
|
87
|
+
if (shouldOpen && !timer) return;
|
|
88
|
+
shouldOpen = true;
|
|
89
|
+
openStartTime = Date.now();
|
|
90
|
+
deferUpdate(openDelay);
|
|
91
|
+
}; // Close or cancel opening of tooltip
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
var close = function close() {
|
|
95
|
+
var overrideDelay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : closeDelay;
|
|
96
|
+
if (!shouldOpen && !timer) return;
|
|
97
|
+
shouldOpen = false;
|
|
98
|
+
deferUpdate(overrideDelay);
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
var closeImmediately = function closeImmediately() {
|
|
102
|
+
return close(0);
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Handle touchend event
|
|
106
|
+
* If `touchend` comes before the open delay => cancel tooltip (close immediate).
|
|
107
|
+
* Else if `touchend` comes after the open delay => tooltip takes priority, the anchor's default touch end event is prevented.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
var touchEnd = function touchEnd(evt) {
|
|
112
|
+
if (!openStartTime) return;
|
|
113
|
+
|
|
114
|
+
if (Date.now() - openStartTime >= openDelay) {
|
|
115
|
+
// Tooltip take priority, event prevented.
|
|
116
|
+
evt.stopPropagation();
|
|
117
|
+
evt.preventDefault();
|
|
118
|
+
anchorElement.focus(); // Close with delay.
|
|
119
|
+
|
|
120
|
+
close();
|
|
121
|
+
} else {
|
|
122
|
+
// Close immediately.
|
|
123
|
+
closeImmediately();
|
|
124
|
+
}
|
|
125
|
+
}; // Adapt event to browsers with or without `hover` support.
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
var events = hoverNotSupported ? [[anchorElement, hasTouch ? 'touchstart' : 'mousedown', open], [anchorElement, hasTouch ? 'touchend' : 'mouseup', touchEnd]] : [[anchorElement, 'mouseenter', open], [anchorElement, 'mouseleave', close], [anchorElement, 'mouseup', closeImmediately]]; // Events always applied no matter the browser:.
|
|
129
|
+
|
|
130
|
+
events.push( // Open on focus.
|
|
131
|
+
[anchorElement, 'focusin', open], // Close on lost focus.
|
|
132
|
+
[anchorElement, 'focusout', closeImmediately], // Close on ESC keydown
|
|
133
|
+
[anchorElement, 'keydown', onEscapePressed(closeImmediately)]); // Attach events
|
|
134
|
+
|
|
135
|
+
for (var _i = 0, _events = events; _i < _events.length; _i++) {
|
|
136
|
+
var _events$_i = _slicedToArray(_events[_i], 3),
|
|
137
|
+
node = _events$_i[0],
|
|
138
|
+
eventType = _events$_i[1],
|
|
139
|
+
evenHandler = _events$_i[2];
|
|
140
|
+
|
|
141
|
+
node.addEventListener(eventType, evenHandler);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return function () {
|
|
145
|
+
// Detach events.
|
|
60
146
|
var _iteratorNormalCompletion = true;
|
|
61
147
|
var _didIteratorError = false;
|
|
62
148
|
var _iteratorError = undefined;
|
|
63
149
|
|
|
64
150
|
try {
|
|
65
|
-
for (var _iterator =
|
|
66
|
-
var _step$value = _step.value,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
open();
|
|
73
|
-
} else {
|
|
74
|
-
close();
|
|
75
|
-
}
|
|
151
|
+
for (var _iterator = events[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
152
|
+
var _step$value = _slicedToArray(_step.value, 3),
|
|
153
|
+
node = _step$value[0],
|
|
154
|
+
eventType = _step$value[1],
|
|
155
|
+
evenHandler = _step$value[2];
|
|
156
|
+
|
|
157
|
+
node.removeEventListener(eventType, evenHandler);
|
|
76
158
|
}
|
|
77
159
|
} catch (err) {
|
|
78
160
|
_didIteratorError = true;
|
|
@@ -88,94 +170,10 @@ var tooltipMouseToggle = function () {
|
|
|
88
170
|
}
|
|
89
171
|
}
|
|
90
172
|
}
|
|
91
|
-
}, 10);
|
|
92
|
-
document.addEventListener('mouseover', globalListener);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function removeGlobalListener() {
|
|
96
|
-
if (!globalListener) return;
|
|
97
|
-
document.removeEventListener('mouseover', globalListener);
|
|
98
|
-
globalListener = undefined;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return {
|
|
102
|
-
addTooltip: function addTooltip(tooltip) {
|
|
103
|
-
if (!tooltips) {
|
|
104
|
-
tooltips = [];
|
|
105
|
-
addGlobalListener();
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
tooltips.push(tooltip);
|
|
109
|
-
},
|
|
110
|
-
removeTooltip: function removeTooltip(actions) {
|
|
111
|
-
if (!tooltips) return;
|
|
112
|
-
pull(tooltips, actions);
|
|
113
173
|
|
|
114
|
-
|
|
115
|
-
removeGlobalListener();
|
|
116
|
-
tooltips = undefined;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
}();
|
|
121
|
-
/**
|
|
122
|
-
* Hook controlling tooltip visibility using mouse hover the anchor and delay.
|
|
123
|
-
*
|
|
124
|
-
* @param delay Delay in millisecond to display the tooltip.
|
|
125
|
-
* @param anchorElement Tooltip anchor element.
|
|
126
|
-
* @return whether or not to show the tooltip.
|
|
127
|
-
*/
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
function useTooltipOpen(delay, anchorElement) {
|
|
131
|
-
var timer = useRef();
|
|
132
|
-
var shouldOpen = useRef(false);
|
|
133
|
-
|
|
134
|
-
var _useState = useState(false),
|
|
135
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
136
|
-
isOpen = _useState2[0],
|
|
137
|
-
setIsOpen = _useState2[1];
|
|
138
|
-
|
|
139
|
-
useEffect(function () {
|
|
140
|
-
if (!anchorElement) {
|
|
141
|
-
return undefined;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
var tooltip = {
|
|
145
|
-
anchorElement: anchorElement,
|
|
146
|
-
open: function open() {
|
|
147
|
-
if (!shouldOpen.current) {
|
|
148
|
-
shouldOpen.current = true;
|
|
149
|
-
timer.current = setTimeout(function () {
|
|
150
|
-
setIsOpen(shouldOpen.current);
|
|
151
|
-
}, delay);
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
close: function close() {
|
|
155
|
-
if (timer.current) {
|
|
156
|
-
clearTimeout(timer.current);
|
|
157
|
-
timer.current = undefined;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if (shouldOpen.current) {
|
|
161
|
-
shouldOpen.current = false;
|
|
162
|
-
setIsOpen(shouldOpen.current);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
var keydown = onEscapePressed(tooltip.close);
|
|
167
|
-
tooltipMouseToggle.addTooltip(tooltip);
|
|
168
|
-
anchorElement.addEventListener('focusin', tooltip.open);
|
|
169
|
-
anchorElement.addEventListener('focusout', tooltip.close);
|
|
170
|
-
anchorElement.addEventListener('keydown', keydown);
|
|
171
|
-
return function () {
|
|
172
|
-
tooltipMouseToggle.removeTooltip(tooltip);
|
|
173
|
-
anchorElement.removeEventListener('focusin', tooltip.open);
|
|
174
|
-
anchorElement.removeEventListener('focusout', tooltip.close);
|
|
175
|
-
anchorElement.removeEventListener('keydown', keydown);
|
|
176
|
-
tooltip.close();
|
|
174
|
+
closeImmediately();
|
|
177
175
|
};
|
|
178
|
-
}, [anchorElement, delay
|
|
176
|
+
}, [anchorElement, delay]);
|
|
179
177
|
return isOpen;
|
|
180
178
|
}
|
|
181
179
|
|
|
@@ -195,7 +193,6 @@ var CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
|
195
193
|
*/
|
|
196
194
|
|
|
197
195
|
var DEFAULT_PROPS = {
|
|
198
|
-
delay: 500,
|
|
199
196
|
placement: Placement.BOTTOM
|
|
200
197
|
};
|
|
201
198
|
/**
|
|
@@ -286,4 +283,4 @@ Tooltip.className = CLASSNAME;
|
|
|
286
283
|
Tooltip.defaultProps = DEFAULT_PROPS;
|
|
287
284
|
|
|
288
285
|
export { Tooltip as T };
|
|
289
|
-
//# sourceMappingURL=
|
|
286
|
+
//# sourceMappingURL=tooltip.50.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.50.js","sources":["../../../src/components/tooltip/useInjectTooltipRef.tsx","../../../src/utils/browserDoesNotSupportHover.ts","../../../src/components/tooltip/useTooltipOpen.tsx","../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { mergeRefs } from '@lumx/react/utils/mergeRefs';\nimport get from 'lodash/get';\nimport React, { cloneElement, ReactNode, useMemo } from 'react';\n\n/**\n * Add ref and ARIA attribute(s) in tooltip children or wrapped children.\n * Button, IconButton, Icon and React HTML elements don't need to be wrapped but any other kind of children (array, fragment, custom components)\n * will be wrapped in a <span>.\n *\n * @param children Original tooltip anchor.\n * @param setAnchorElement Set tooltip anchor element.\n * @param isOpen Whether the tooltip is open or not.\n * @param id Tooltip id.\n * @return tooltip anchor.\n */\nexport const useInjectTooltipRef = (\n children: ReactNode,\n setAnchorElement: (e: HTMLDivElement) => void,\n isOpen: boolean,\n id: string,\n): ReactNode => {\n return useMemo(() => {\n const ariaProps = { 'aria-describedby': isOpen ? id : undefined };\n if (\n children &&\n get(children, '$$typeof') &&\n get(children, 'props.disabled') !== true &&\n get(children, 'props.isDisabled') !== true\n ) {\n const element = children as any;\n\n return cloneElement(element, {\n ...element.props,\n ...ariaProps,\n ref: mergeRefs(element.ref, setAnchorElement),\n });\n }\n return (\n <div className=\"lumx-tooltip-anchor-wrapper\" ref={setAnchorElement} {...ariaProps}>\n {children}\n </div>\n );\n }, [isOpen, id, children, setAnchorElement]);\n};\n","/** Return true if the browser does not support pointer hover */\nexport const browserDoesNotSupportHover = (): boolean => !!window.matchMedia?.('(hover: none)').matches;\n","import { onEscapePressed } from '@lumx/react/utils';\nimport { useEffect, useState } from 'react';\nimport { browserDoesNotSupportHover } from '@lumx/react/utils/browserDoesNotSupportHover';\nimport { TOOLTIP_HOVER_DELAY, TOOLTIP_LONG_PRESS_DELAY } from '@lumx/react/constants';\n\n/**\n * Hook controlling tooltip visibility using mouse hover the anchor and delay.\n *\n * @param delay Delay in millisecond to display the tooltip.\n * @param anchorElement Tooltip anchor element.\n * @return whether or not to show the tooltip.\n */\nexport function useTooltipOpen(delay: number | undefined, anchorElement: HTMLElement | null): boolean {\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (!anchorElement) {\n return undefined;\n }\n let timer: number | undefined;\n let openStartTime: number | undefined;\n let shouldOpen: boolean | undefined;\n\n // Run timer to defer updating the isOpen state.\n const deferUpdate = (duration: number) => {\n if (timer) clearTimeout(timer);\n timer = setTimeout(() => {\n setIsOpen(!!shouldOpen);\n }, duration) as any;\n };\n\n const hoverNotSupported = browserDoesNotSupportHover();\n const hasTouch = 'ontouchstart' in window;\n\n // Adapt open/close delay\n const openDelay = delay || (hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.open : TOOLTIP_HOVER_DELAY.open);\n const closeDelay = hoverNotSupported ? TOOLTIP_LONG_PRESS_DELAY.close : TOOLTIP_HOVER_DELAY.close;\n\n // Open (or/and cancel closing) of tooltip.\n const open = () => {\n if (shouldOpen && !timer) return;\n shouldOpen = true;\n openStartTime = Date.now();\n deferUpdate(openDelay);\n };\n\n // Close or cancel opening of tooltip\n const close = (overrideDelay = closeDelay) => {\n if (!shouldOpen && !timer) return;\n shouldOpen = false;\n deferUpdate(overrideDelay);\n };\n const closeImmediately = () => close(0);\n\n /**\n * Handle touchend event\n * If `touchend` comes before the open delay => cancel tooltip (close immediate).\n * Else if `touchend` comes after the open delay => tooltip takes priority, the anchor's default touch end event is prevented.\n */\n const touchEnd = (evt: Event) => {\n if (!openStartTime) return;\n if (Date.now() - openStartTime >= openDelay) {\n // Tooltip take priority, event prevented.\n evt.stopPropagation();\n evt.preventDefault();\n anchorElement.focus();\n // Close with delay.\n close();\n } else {\n // Close immediately.\n closeImmediately();\n }\n };\n\n // Adapt event to browsers with or without `hover` support.\n const events: Array<[Node, Event['type'], any]> = hoverNotSupported\n ? [\n [anchorElement, hasTouch ? 'touchstart' : 'mousedown', open],\n [anchorElement, hasTouch ? 'touchend' : 'mouseup', touchEnd],\n ]\n : [\n [anchorElement, 'mouseenter', open],\n [anchorElement, 'mouseleave', close],\n [anchorElement, 'mouseup', closeImmediately],\n ];\n\n // Events always applied no matter the browser:.\n events.push(\n // Open on focus.\n [anchorElement, 'focusin', open],\n // Close on lost focus.\n [anchorElement, 'focusout', closeImmediately],\n // Close on ESC keydown\n [anchorElement, 'keydown', onEscapePressed(closeImmediately)],\n );\n\n // Attach events\n for (const [node, eventType, evenHandler] of events) {\n node.addEventListener(eventType, evenHandler);\n }\n return () => {\n // Detach events.\n for (const [node, eventType, evenHandler] of events) {\n node.removeEventListener(eventType, evenHandler);\n }\n closeImmediately();\n };\n }, [anchorElement, delay]);\n\n return isOpen;\n}\n","/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { forwardRef, ReactNode, useMemo, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopper } from 'react-popper';\nimport { uid } from 'uid';\n\nimport classNames from 'classnames';\n\nimport { Placement } from '@lumx/react/components/popover/Popover';\n\nimport { DOCUMENT } from '@lumx/react/constants';\n\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport { mergeRefs } from '@lumx/react/utils/mergeRefs';\n\nimport { useInjectTooltipRef } from './useInjectTooltipRef';\nimport { useTooltipOpen } from './useTooltipOpen';\n\n/** Position of the tooltip relative to the anchor element. */\nexport type TooltipPlacement = Extract<Placement, 'top' | 'right' | 'bottom' | 'left'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface TooltipProps extends GenericProps {\n /** Anchor (element on which we activate the tooltip). */\n children: ReactNode;\n /** Delay (in ms) before closing the tooltip. */\n delay?: number;\n /** Whether the tooltip is displayed even without the mouse hovering the anchor. */\n forceOpen?: boolean;\n /** Label text. */\n label?: string | null | false;\n /** Placement of the tooltip relative to the anchor. */\n placement?: TooltipPlacement;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Tooltip';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<TooltipProps> = {\n placement: Placement.BOTTOM,\n};\n\n/**\n * Arrow size (in pixel).\n */\nconst ARROW_SIZE = 8;\n\n/**\n * Tooltip component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Tooltip: Comp<TooltipProps, HTMLDivElement> = forwardRef((props, ref) => {\n if (!DOCUMENT) {\n // Can't render in SSR.\n return null;\n }\n const { label, children, className, delay, placement, forceOpen, ...forwardedProps } = props;\n if (!label) {\n return <>{children}</>;\n }\n\n const id = useMemo(() => `tooltip-${uid()}`, []);\n\n const [popperElement, setPopperElement] = useState<null | HTMLElement>(null);\n const [anchorElement, setAnchorElement] = useState<null | HTMLElement>(null);\n const { styles, attributes } = usePopper(anchorElement, popperElement, {\n placement,\n modifiers: [\n {\n name: 'offset',\n options: { offset: [0, ARROW_SIZE] },\n },\n ],\n });\n\n const position = attributes?.popper?.['data-popper-placement'] ?? placement;\n const isOpen = useTooltipOpen(delay, anchorElement) || forceOpen;\n const wrappedChildren = useInjectTooltipRef(children, setAnchorElement, isOpen as boolean, id);\n\n return (\n <>\n {wrappedChildren}\n {isOpen &&\n createPortal(\n <div\n ref={mergeRefs(ref, setPopperElement)}\n {...forwardedProps}\n id={id}\n role=\"tooltip\"\n aria-label={label}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, position }))}\n style={styles.popper}\n {...attributes.popper}\n >\n <div className={`${CLASSNAME}__arrow`} />\n <div className={`${CLASSNAME}__inner`}>\n {label.indexOf('\\n') !== -1\n ? label.split('\\n').map((sentence: string) => <p key={sentence}>{sentence}</p>)\n : label}\n </div>\n </div>,\n document.body,\n )}\n </>\n );\n});\nTooltip.displayName = COMPONENT_NAME;\nTooltip.className = CLASSNAME;\nTooltip.defaultProps = DEFAULT_PROPS;\n"],"names":["useInjectTooltipRef","children","setAnchorElement","isOpen","id","useMemo","ariaProps","undefined","get","element","cloneElement","props","ref","mergeRefs","browserDoesNotSupportHover","window","matchMedia","matches","useTooltipOpen","delay","anchorElement","useState","setIsOpen","useEffect","timer","openStartTime","shouldOpen","deferUpdate","duration","clearTimeout","setTimeout","hoverNotSupported","hasTouch","openDelay","TOOLTIP_LONG_PRESS_DELAY","open","TOOLTIP_HOVER_DELAY","closeDelay","close","Date","now","overrideDelay","closeImmediately","touchEnd","evt","stopPropagation","preventDefault","focus","events","push","onEscapePressed","node","eventType","evenHandler","addEventListener","removeEventListener","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","placement","Placement","BOTTOM","ARROW_SIZE","Tooltip","forwardRef","DOCUMENT","label","className","forceOpen","forwardedProps","uid","popperElement","setPopperElement","usePopper","modifiers","name","options","offset","styles","attributes","position","popper","wrappedChildren","createPortal","classNames","handleBasicClasses","prefix","indexOf","split","map","sentence","document","body","displayName","defaultProps"],"mappings":"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"}
|
package/esm/_internal/tooltip.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import 'react';
|
|
3
|
-
import './
|
|
4
|
-
import '
|
|
3
|
+
import './getrootclassname.54.js';
|
|
4
|
+
import './index.55.js';
|
|
5
5
|
import 'lodash/isBoolean';
|
|
6
6
|
import 'lodash/isEmpty';
|
|
7
7
|
import 'lodash/kebabCase';
|
|
8
8
|
import 'lodash/noop';
|
|
9
|
-
import './constants.js';
|
|
9
|
+
import './constants.59.js';
|
|
10
10
|
import 'lodash/get';
|
|
11
|
-
import './
|
|
12
|
-
import './
|
|
11
|
+
import './popover.33.js';
|
|
12
|
+
import './mergerefs.56.js';
|
|
13
13
|
import 'react-dom';
|
|
14
|
-
import './
|
|
14
|
+
import './clickawayprovider.60.js';
|
|
15
15
|
import 'lodash/pull';
|
|
16
|
-
export { T as Tooltip } from './
|
|
17
|
-
import 'lodash/debounce';
|
|
16
|
+
export { T as Tooltip } from './tooltip.50.js';
|
|
18
17
|
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.64.js","sources":["../../../src/utils/type.ts"],"sourcesContent":["import get from 'lodash/get';\nimport { ReactElement, ReactNode, Ref } from 'react';\n\n/** Get types of the values of a record. */\nexport type ValueOf<T extends Record<any, any>> = T[keyof T];\n\n/**\n * Properties of a component to use to determine it's name.\n * In the order of preference.\n */\nconst NAME_PROPERTIES: string[] = [\n 'type',\n 'type.displayName',\n 'displayName',\n 'name',\n 'type.name',\n 'props.mdxType',\n '_reactInternalFiber.elementType.name',\n];\n\n/** LumX Component Type. */\nexport type Comp<P, T = HTMLElement> = {\n (props: P & { ref?: Ref<T> }): ReactElement | null;\n /** React component type. */\n readonly $$typeof: symbol;\n /** Component default props. */\n defaultProps?: Partial<P>;\n /** Component name. */\n displayName?: string;\n /** Component base class name. */\n className?: string;\n};\n\n/**\n * Define a generic props types.\n */\nexport interface GenericProps {\n /**\n * Any prop (particularly any supported prop for a HTML element).\n * E.g. classNames, onClick, disabled, ...\n */\n [propName: string]: any;\n}\n\n/**\n * Callback function type alias (use for readability)\n */\nexport type Callback = () => void;\nexport type Predicate<T> = (t: T) => boolean;\n\n/**\n * Create a predicate function that checks if a ReactNode is a react element from the given component.\n *\n * @param component React function component or the component name\n * @return predicate returning true if value is instance of the component\n */\nexport const isComponent = <C>(component: Comp<C, any> | string) => (instance: ReactNode): instance is ReactElement => {\n const componentName = typeof component === 'string' ? component : component.displayName;\n\n return (\n !!get(instance, '$$typeof') &&\n NAME_PROPERTIES.some((nameProperty: string): boolean => get(instance, nameProperty) === componentName)\n );\n};\n\n/**\n * JS falsy values.\n * (excluding `NaN` as it can't be distinguished from `number`)\n */\nexport type Falsy = false | undefined | null | 0 | '';\n"],"names":["NAME_PROPERTIES","isComponent","component","instance","componentName","displayName","get","some","nameProperty"],"mappings":";;AAMA;;;;AAIA,IAAMA,eAAyB,GAAG,CAC9B,MAD8B,EAE9B,kBAF8B,EAG9B,aAH8B,EAI9B,MAJ8B,EAK9B,WAL8B,EAM9B,eAN8B,EAO9B,sCAP8B,CAAlC;AAUA;;AA8BA;;;;;;IAMaC,WAAW,GAAG,SAAdA,WAAc,CAAIC,SAAJ;AAAA,SAAyC,UAACC,QAAD,EAAmD;AACnH,QAAMC,aAAa,GAAG,OAAOF,SAAP,KAAqB,QAArB,GAAgCA,SAAhC,GAA4CA,SAAS,CAACG,WAA5E;AAEA,WACI,CAAC,CAACC,GAAG,CAACH,QAAD,EAAW,UAAX,CAAL,IACAH,eAAe,CAACO,IAAhB,CAAqB,UAACC,YAAD;AAAA,aAAmCF,GAAG,CAACH,QAAD,EAAWK,YAAX,CAAH,KAAgCJ,aAAnE;AAAA,KAArB,CAFJ;AAIH,GAP0B;AAAA;AAS3B;;;;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { _ as _objectSpread2 } from './
|
|
1
|
+
import { _ as _objectSpread2 } from './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import { AspectRatio } from './components.js';
|
|
3
|
-
import 'react';
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
* All available aspect ratios.
|
|
@@ -20,4 +19,4 @@ var ThumbnailVariant = {
|
|
|
20
19
|
};
|
|
21
20
|
|
|
22
21
|
export { ThumbnailAspectRatio as T, ThumbnailVariant as a };
|
|
23
|
-
//# sourceMappingURL=types.js.map
|
|
22
|
+
//# sourceMappingURL=types.48.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.48.js","sources":["../../../src/components/thumbnail/types.ts"],"sourcesContent":["import React from 'react';\nimport { AspectRatio, Size } from '@lumx/react';\nimport { ValueOf } from '@lumx/react/utils';\n\n/**\n * Focal point using vertical alignment, horizontal alignment or coordinates (from -1 to 1).\n */\nexport type FocusPoint = { x?: number; y?: number };\n\n/**\n * Loading attribute is not yet supported in typescript, so we need\n * to add it in order to avoid a ts error.\n * https://github.com/typescript-cheatsheets/react-typescript-cheatsheet/blob/master/ADVANCED.md#adding-non-standard-attributes\n */\ndeclare module 'react' {\n interface ImgHTMLAttributes<T> extends React.HTMLAttributes<T> {\n loading?: 'eager' | 'lazy';\n }\n}\n\n/**\n * All available aspect ratios.\n * @deprecated\n */\nexport const ThumbnailAspectRatio: Record<string, AspectRatio> = { ...AspectRatio };\n\n/**\n * Thumbnail sizes.\n */\nexport type ThumbnailSize = Extract<Size, 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'>;\n\n/**\n * Thumbnail variants.\n */\nexport const ThumbnailVariant = {\n squared: 'squared',\n rounded: 'rounded',\n} as const;\nexport type ThumbnailVariant = ValueOf<typeof ThumbnailVariant>;\n"],"names":["ThumbnailAspectRatio","AspectRatio","ThumbnailVariant","squared","rounded"],"mappings":";;;AAoBA;;;;IAIaA,oBAAiD,sBAAQC,WAAR;AAE9D;;;;AAKA;;;IAGaC,gBAAgB,GAAG;AAC5BC,EAAAA,OAAO,EAAE,SADmB;AAE5BC,EAAAA,OAAO,EAAE;AAFmB;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { b as _objectWithoutProperties, c as _extends } from './
|
|
1
|
+
import { b as _objectWithoutProperties, c as _extends } from './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import { Size, AspectRatio, Theme } from './components.js';
|
|
3
3
|
import React, { forwardRef } from 'react';
|
|
4
|
-
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './
|
|
5
|
-
import { I as Icon } from './
|
|
4
|
+
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getrootclassname.54.js';
|
|
5
|
+
import { I as Icon } from './icon.21.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Uploader variants.
|
|
@@ -81,4 +81,4 @@ Uploader.className = CLASSNAME;
|
|
|
81
81
|
Uploader.defaultProps = DEFAULT_PROPS;
|
|
82
82
|
|
|
83
83
|
export { UploaderVariant as U, Uploader as a };
|
|
84
|
-
//# sourceMappingURL=
|
|
84
|
+
//# sourceMappingURL=uploader.51.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploader.51.js","sources":["../../../src/components/uploader/Uploader.tsx"],"sourcesContent":["import React, { forwardRef, MouseEventHandler } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AspectRatio, Icon, Size, Theme } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses, ValueOf } from '@lumx/react/utils';\n\n/**\n * Uploader variants.\n */\nexport const UploaderVariant = {\n square: 'square',\n rounded: 'rounded',\n circle: 'circle',\n} as const;\nexport type UploaderVariant = ValueOf<typeof UploaderVariant>;\n\n/**\n * Uploader sizes.\n */\nexport type UploaderSize = Extract<Size, 'xl' | 'xxl'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UploaderProps extends GenericProps {\n /** Image aspect ratio. */\n aspectRatio?: AspectRatio;\n /** Icon (SVG path). */\n icon?: string;\n /** Label text. */\n label?: string;\n /** Size variant. */\n size?: UploaderSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Variant. */\n variant?: UploaderVariant;\n /** On click callback. */\n onClick?: MouseEventHandler<HTMLDivElement>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Uploader';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<UploaderProps> = {\n aspectRatio: AspectRatio.horizontal,\n size: Size.xl,\n theme: Theme.light,\n variant: UploaderVariant.square,\n};\n\n/**\n * Uploader component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Uploader: Comp<UploaderProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { aspectRatio, className, label, icon, size, theme, variant, ...forwardedProps } = props;\n // Adjust to square aspect ratio when using circle variants.\n const adjustedAspectRatio = variant === UploaderVariant.circle ? AspectRatio.square : aspectRatio;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n aspectRatio: adjustedAspectRatio,\n prefix: CLASSNAME,\n size,\n theme,\n variant,\n }),\n )}\n >\n <div className={`${CLASSNAME}__background`} />\n\n <div className={`${CLASSNAME}__wrapper`}>\n {icon && (\n <div className={`${CLASSNAME}__icon`}>\n <Icon icon={icon} size={Size.s} />\n </div>\n )}\n\n {label && <span className={`${CLASSNAME}__label`}>{label}</span>}\n </div>\n </div>\n );\n});\nUploader.displayName = COMPONENT_NAME;\nUploader.className = CLASSNAME;\nUploader.defaultProps = DEFAULT_PROPS;\n"],"names":["UploaderVariant","square","rounded","circle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","aspectRatio","AspectRatio","horizontal","size","Size","xl","theme","Theme","light","variant","Uploader","forwardRef","props","ref","className","label","icon","forwardedProps","adjustedAspectRatio","classNames","handleBasicClasses","prefix","s","displayName","defaultProps"],"mappings":";;;;;;AAOA;;;;IAGaA,eAAe,GAAG;AAC3BC,EAAAA,MAAM,EAAE,QADmB;AAE3BC,EAAAA,OAAO,EAAE,SAFkB;AAG3BC,EAAAA,MAAM,EAAE;AAHmB;;AAgC/B;;;AAGA,IAAMC,cAAc,GAAG,UAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAqC,GAAG;AAC1CC,EAAAA,WAAW,EAAEC,WAAW,CAACC,UADiB;AAE1CC,EAAAA,IAAI,EAAEC,IAAI,CAACC,EAF+B;AAG1CC,EAAAA,KAAK,EAAEC,KAAK,CAACC,KAH6B;AAI1CC,EAAAA,OAAO,EAAEjB,eAAe,CAACC;AAJiB,CAA9C;AAOA;;;;;;;;IAOaiB,QAA6C,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAC5Eb,WAD4E,GACKY,KADL,CAC5EZ,WAD4E;AAAA,MAC/Dc,SAD+D,GACKF,KADL,CAC/DE,SAD+D;AAAA,MACpDC,KADoD,GACKH,KADL,CACpDG,KADoD;AAAA,MAC7CC,IAD6C,GACKJ,KADL,CAC7CI,IAD6C;AAAA,MACvCb,IADuC,GACKS,KADL,CACvCT,IADuC;AAAA,MACjCG,KADiC,GACKM,KADL,CACjCN,KADiC;AAAA,MAC1BG,OAD0B,GACKG,KADL,CAC1BH,OAD0B;AAAA,MACdQ,cADc,4BACKL,KADL;;;AAGpF,MAAMM,mBAAmB,GAAGT,OAAO,KAAKjB,eAAe,CAACG,MAA5B,GAAqCM,WAAW,CAACR,MAAjD,GAA0DO,WAAtF;AAEA,SACI;AACI,IAAA,GAAG,EAAEa;AADT,KAEQI,cAFR;AAGI,IAAA,SAAS,EAAEE,UAAU,CACjBL,SADiB,EAEjBM,kBAAkB,CAAC;AACfpB,MAAAA,WAAW,EAAEkB,mBADE;AAEfG,MAAAA,MAAM,EAAExB,SAFO;AAGfM,MAAAA,IAAI,EAAJA,IAHe;AAIfG,MAAAA,KAAK,EAALA,KAJe;AAKfG,MAAAA,OAAO,EAAPA;AALe,KAAD,CAFD;AAHzB,MAcI;AAAK,IAAA,SAAS,YAAKZ,SAAL;AAAd,IAdJ,EAgBI;AAAK,IAAA,SAAS,YAAKA,SAAL;AAAd,KACKmB,IAAI,IACD;AAAK,IAAA,SAAS,YAAKnB,SAAL;AAAd,KACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEmB,IAAZ;AAAkB,IAAA,IAAI,EAAEZ,IAAI,CAACkB;AAA7B,IADJ,CAFR,EAOKP,KAAK,IAAI;AAAM,IAAA,SAAS,YAAKlB,SAAL;AAAf,KAAyCkB,KAAzC,CAPd,CAhBJ,CADJ;AA4BH,CAjCsE;AAkCvEL,QAAQ,CAACa,WAAT,GAAuB3B,cAAvB;AACAc,QAAQ,CAACI,SAAT,GAAqBjB,SAArB;AACAa,QAAQ,CAACc,YAAT,GAAwBzB,aAAxB;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import './components.js';
|
|
3
3
|
import 'react';
|
|
4
|
-
import './
|
|
5
|
-
import './
|
|
4
|
+
import './getrootclassname.54.js';
|
|
5
|
+
import './icon.21.js';
|
|
6
6
|
import 'lodash/isBoolean';
|
|
7
7
|
import 'lodash/isEmpty';
|
|
8
8
|
import 'lodash/kebabCase';
|
|
9
9
|
import 'lodash/noop';
|
|
10
|
-
export { a as Uploader, U as UploaderVariant } from './
|
|
10
|
+
export { a as Uploader, U as UploaderVariant } from './uploader.51.js';
|
|
11
11
|
//# sourceMappingURL=uploader.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as _slicedToArray } from './
|
|
1
|
+
import { d as _slicedToArray } from './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import { useState, useEffect, useRef } from 'react';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -44,4 +44,4 @@ function useDelayedVisibility(isComponentVisible, transitionDuration, onVisibili
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export { useDelayedVisibility as u };
|
|
47
|
-
//# sourceMappingURL=
|
|
47
|
+
//# sourceMappingURL=usedelayedvisibility.63.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usedelayedvisibility.63.js","sources":["../../../src/hooks/useDelayedVisibility.tsx"],"sourcesContent":["import { useEffect, useState, useRef } from 'react';\n\n/**\n * Returns true if the component is visible taking into account the component's\n * own visibility and the animations delay\n *\n * @param isComponentVisible Whether the component intends to be visible or not.\n * @param transitionDuration time in ms that the transition takes for the specific component.\n * @param onVisibilityChange Callback called when the visibility changes.\n * @return true if the component should be rendered\n */\nexport function useDelayedVisibility(\n isComponentVisible: boolean,\n transitionDuration: number,\n onVisibilityChange?: (isVisible: boolean) => void,\n): boolean {\n // Delay visibility to account for the 400ms of CSS opacity animation.\n const [isVisible, setVisible] = useState(isComponentVisible);\n\n useEffect(() => {\n if (isComponentVisible) {\n setVisible(true);\n } else {\n setTimeout(() => setVisible(false), transitionDuration);\n }\n }, [isComponentVisible, transitionDuration]);\n\n /**\n * Since we don't want onVisibiltyChange function to trigger itself if when it changes,\n * we store the previous visibility and only trigger when visibility is different\n * than previous value.\n */\n\n const previousVisibility = useRef(isVisible);\n\n useEffect(() => {\n if (onVisibilityChange && previousVisibility.current !== isVisible) {\n onVisibilityChange(isVisible);\n previousVisibility.current = isVisible;\n }\n }, [isVisible, onVisibilityChange]);\n\n return isComponentVisible || isVisible;\n}\n"],"names":["useDelayedVisibility","isComponentVisible","transitionDuration","onVisibilityChange","useState","isVisible","setVisible","useEffect","setTimeout","previousVisibility","useRef","current"],"mappings":";;;AAEA;;;;;;;;;;AASO,SAASA,oBAAT,CACHC,kBADG,EAEHC,kBAFG,EAGHC,kBAHG,EAII;AACP;AADO,kBAEyBC,QAAQ,CAACH,kBAAD,CAFjC;AAAA;AAAA,MAEAI,SAFA;AAAA,MAEWC,UAFX;;AAIPC,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAIN,kBAAJ,EAAwB;AACpBK,MAAAA,UAAU,CAAC,IAAD,CAAV;AACH,KAFD,MAEO;AACHE,MAAAA,UAAU,CAAC;AAAA,eAAMF,UAAU,CAAC,KAAD,CAAhB;AAAA,OAAD,EAA0BJ,kBAA1B,CAAV;AACH;AACJ,GANQ,EAMN,CAACD,kBAAD,EAAqBC,kBAArB,CANM,CAAT;AAQA;;;;;;AAMA,MAAMO,kBAAkB,GAAGC,MAAM,CAACL,SAAD,CAAjC;AAEAE,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAIJ,kBAAkB,IAAIM,kBAAkB,CAACE,OAAnB,KAA+BN,SAAzD,EAAoE;AAChEF,MAAAA,kBAAkB,CAACE,SAAD,CAAlB;AACAI,MAAAA,kBAAkB,CAACE,OAAnB,GAA6BN,SAA7B;AACH;AACJ,GALQ,EAKN,CAACA,SAAD,EAAYF,kBAAZ,CALM,CAAT;AAOA,SAAOF,kBAAkB,IAAII,SAA7B;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usedisablebodyscroll.61.js","sources":["../../../../../node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","../../../src/hooks/useDisableBodyScroll.ts"],"sourcesContent":["function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event;\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true;\n }\n\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true;\n\n if (e.preventDefault) e.preventDefault();\n\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n }\n\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined;\n }\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = true;\n }\n } else {\n setOverflowHidden(options);\n }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n\n // Reset initial clientY.\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n } else if (!locks.length) {\n restoreOverflowSetting();\n }\n};\n\n","import { useEffect } from 'react';\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { Falsy } from '@lumx/react/utils';\n\n/**\n * Disables the scroll on the body to make it only usable in the current modal element.\n * When the modal element is not provided anymore, the scroll is restored.\n *\n * @param modalElement The modal element.\n */\nexport const useDisableBodyScroll = (modalElement: Element | Falsy): void => {\n useEffect(() => {\n if (!modalElement) {\n return undefined;\n }\n // Fixing the document overflow style to prevent a bug that scrolls the window to the top.\n const previousDocumentOverflow = document.documentElement.style.overflow;\n document.documentElement.style.overflow = 'visible';\n disableBodyScroll(modalElement);\n return () => {\n enableBodyScroll(modalElement);\n // Restore the previous overflow style.\n requestAnimationFrame(() => {\n document.documentElement.style.overflow = previousDocumentOverflow;\n });\n };\n }, [modalElement]);\n};\n"],"names":["useDisableBodyScroll","modalElement","useEffect","undefined","previousDocumentOverflow","document","documentElement","style","overflow","disableBodyScroll","enableBodyScroll","requestAnimationFrame"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
-
import { D as DOCUMENT } from './constants.js';
|
|
2
|
+
import { D as DOCUMENT } from './constants.59.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Get first and last elements focusable in an element.
|
|
@@ -84,4 +84,4 @@ function useFocusTrap(focusZoneElement, focusElement) {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
export { useFocusTrap as u };
|
|
87
|
-
//# sourceMappingURL=
|
|
87
|
+
//# sourceMappingURL=usefocustrap.58.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usefocustrap.58.js","sources":["../../../src/hooks/useFocusTrap.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { DOCUMENT } from '@lumx/react/constants';\n\n/**\n * Get first and last elements focusable in an element.\n *\n * @param parentElement The element in which to search focusable elements.\n * @return first and last focusable elements\n */\nfunction getFocusable(parentElement: HTMLElement) {\n const focusableElements = parentElement.querySelectorAll<HTMLElement>(\n 'a[href]:not([tabindex=\"-1\"]), button:not([tabindex=\"-1\"]), textarea:not([tabindex=\"-1\"]), input[type=\"text\"]:not([tabindex=\"-1\"]), input[type=\"radio\"]:not([tabindex=\"-1\"]), input[type=\"checkbox\"]:not([tabindex=\"-1\"]), [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length <= 0) {\n return {};\n }\n\n const first = focusableElements[0];\n const last = focusableElements[focusableElements.length - 1];\n return { first, last };\n}\n\n/**\n * Add a key down event handler to the given root element (document.body by default) to trap the move of focus\n * (TAB and SHIFT-TAB keys) inside the given focusZoneElement.\n * Will focus the given focus element when activating the focus trap.\n *\n * @param focusZoneElement The element in which to trap the focus.\n * @param focusElement The element to focus when the focus trap is activated.\n * @param rootElement The element on which the key down event will be placed.\n */\nexport function useFocusTrap(\n focusZoneElement: HTMLElement | null,\n focusElement?: HTMLElement | null,\n rootElement = DOCUMENT?.body,\n): void {\n useEffect(() => {\n if (rootElement && focusZoneElement) {\n (document.activeElement as HTMLElement)?.blur();\n if (focusElement) {\n focusElement.focus();\n }\n\n const onKeyDown = (evt: KeyboardEvent) => {\n const { key } = evt;\n if (key !== 'Tab') {\n return;\n }\n const { first, last } = getFocusable(focusZoneElement);\n\n // Prevent focus switch if no focusable available.\n if (!first) {\n evt.preventDefault();\n return;\n }\n\n if (evt.shiftKey) {\n if (document.activeElement === first) {\n last?.focus();\n evt.preventDefault();\n }\n } else if (document.activeElement === last) {\n first?.focus();\n evt.preventDefault();\n }\n };\n rootElement.addEventListener('keydown', onKeyDown);\n return () => rootElement.removeEventListener('keydown', onKeyDown);\n }\n return undefined;\n }, [focusElement, focusZoneElement, rootElement]);\n}\n"],"names":["getFocusable","parentElement","focusableElements","querySelectorAll","length","first","last","useFocusTrap","focusZoneElement","focusElement","rootElement","DOCUMENT","body","useEffect","document","activeElement","blur","focus","onKeyDown","evt","key","preventDefault","shiftKey","addEventListener","removeEventListener","undefined"],"mappings":";;;AAIA;;;;;;;AAMA,SAASA,YAAT,CAAsBC,aAAtB,EAAkD;AAC9C,MAAMC,iBAAiB,GAAGD,aAAa,CAACE,gBAAd,CACtB,2PADsB,CAA1B;;AAIA,MAAID,iBAAiB,CAACE,MAAlB,IAA4B,CAAhC,EAAmC;AAC/B,WAAO,EAAP;AACH;;AAED,MAAMC,KAAK,GAAGH,iBAAiB,CAAC,CAAD,CAA/B;AACA,MAAMI,IAAI,GAAGJ,iBAAiB,CAACA,iBAAiB,CAACE,MAAlB,GAA2B,CAA5B,CAA9B;AACA,SAAO;AAAEC,IAAAA,KAAK,EAALA,KAAF;AAASC,IAAAA,IAAI,EAAJA;AAAT,GAAP;AACH;AAED;;;;;;;;;;;AASO,SAASC,YAAT,CACHC,gBADG,EAEHC,YAFG,EAIC;AAAA,MADJC,WACI,uEADUC,QACV,aADUA,QACV,uBADUA,QAAQ,CAAEC,IACpB;AACJC,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAIH,WAAW,IAAIF,gBAAnB,EAAqC;AAAA;;AACjC,cAACM,QAAQ,CAACC,aAAV,8CAAyCC,IAAzC;;AACA,UAAIP,YAAJ,EAAkB;AACdA,QAAAA,YAAY,CAACQ,KAAb;AACH;;AAED,UAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,GAAD,EAAwB;AAAA,YAC9BC,GAD8B,GACtBD,GADsB,CAC9BC,GAD8B;;AAEtC,YAAIA,GAAG,KAAK,KAAZ,EAAmB;AACf;AACH;;AAJqC,4BAKdpB,YAAY,CAACQ,gBAAD,CALE;AAAA,YAK9BH,KAL8B,iBAK9BA,KAL8B;AAAA,YAKvBC,IALuB,iBAKvBA,IALuB;;;AAQtC,YAAI,CAACD,KAAL,EAAY;AACRc,UAAAA,GAAG,CAACE,cAAJ;AACA;AACH;;AAED,YAAIF,GAAG,CAACG,QAAR,EAAkB;AACd,cAAIR,QAAQ,CAACC,aAAT,KAA2BV,KAA/B,EAAsC;AAClCC,YAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEW,KAAN;AACAE,YAAAA,GAAG,CAACE,cAAJ;AACH;AACJ,SALD,MAKO,IAAIP,QAAQ,CAACC,aAAT,KAA2BT,IAA/B,EAAqC;AACxCD,UAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEY,KAAP;AACAE,UAAAA,GAAG,CAACE,cAAJ;AACH;AACJ,OAtBD;;AAuBAX,MAAAA,WAAW,CAACa,gBAAZ,CAA6B,SAA7B,EAAwCL,SAAxC;AACA,aAAO;AAAA,eAAMR,WAAW,CAACc,mBAAZ,CAAgC,SAAhC,EAA2CN,SAA3C,CAAN;AAAA,OAAP;AACH;;AACD,WAAOO,SAAP;AACH,GAlCQ,EAkCN,CAAChB,YAAD,EAAeD,gBAAf,EAAiCE,WAAjC,CAlCM,CAAT;AAmCH;;;;"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import './
|
|
1
|
+
import './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import './components.js';
|
|
3
3
|
import 'react';
|
|
4
|
-
import './
|
|
5
|
-
import './
|
|
4
|
+
import './getrootclassname.54.js';
|
|
5
|
+
import './icon.21.js';
|
|
6
6
|
import 'lodash/isBoolean';
|
|
7
7
|
import 'lodash/isEmpty';
|
|
8
8
|
import 'lodash/kebabCase';
|
|
9
9
|
import 'lodash/noop';
|
|
10
|
-
import './
|
|
11
|
-
import './
|
|
12
|
-
import './
|
|
13
|
-
import './
|
|
14
|
-
import './
|
|
15
|
-
export { U as UserBlock } from './
|
|
10
|
+
import './mergerefs.56.js';
|
|
11
|
+
import './avatar.3.js';
|
|
12
|
+
import './renderlink.65.js';
|
|
13
|
+
import './link.26.js';
|
|
14
|
+
import './thumbnail.47.js';
|
|
15
|
+
export { U as UserBlock } from './userblock.52.js';
|
|
16
16
|
//# sourceMappingURL=user-block.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { b as _objectWithoutProperties, _ as _objectSpread2, c as _extends } from './
|
|
1
|
+
import { b as _objectWithoutProperties, _ as _objectSpread2, c as _extends } from './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import { Size, Orientation, Theme, ColorPalette } from './components.js';
|
|
3
3
|
import React, { forwardRef } from 'react';
|
|
4
|
-
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './
|
|
4
|
+
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getrootclassname.54.js';
|
|
5
5
|
import isEmpty from 'lodash/isEmpty';
|
|
6
|
-
import { A as Avatar } from './
|
|
7
|
-
import { L as Link } from './
|
|
6
|
+
import { A as Avatar } from './avatar.3.js';
|
|
7
|
+
import { L as Link } from './link.26.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Component display name.
|
|
@@ -122,4 +122,4 @@ UserBlock.className = CLASSNAME;
|
|
|
122
122
|
UserBlock.defaultProps = DEFAULT_PROPS;
|
|
123
123
|
|
|
124
124
|
export { UserBlock as U };
|
|
125
|
-
//# sourceMappingURL=
|
|
125
|
+
//# sourceMappingURL=userblock.52.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userblock.52.js","sources":["../../../src/components/user-block/UserBlock.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode } from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport { Avatar, ColorPalette, Link, Orientation, Size, Theme } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\n\nimport { AvatarProps } from '../avatar/Avatar';\n\n/**\n * User block sizes.\n */\nexport type UserBlockSize = Extract<Size, 's' | 'm' | 'l'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface UserBlockProps extends GenericProps {\n /** Props to pass to the avatar. */\n avatarProps?: AvatarProps;\n /** Additional fields used to describe the user. */\n fields?: string[];\n /** Props to pass to the link wrapping the avatar thumbnail. */\n linkProps?: React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;\n /** Custom react component for the link (can be used to inject react router Link). */\n linkAs?: 'a' | any;\n /** Multiple action toolbar content. */\n multipleActions?: ReactNode;\n /** User name. */\n name?: string;\n /** Props to pass to the name block. */\n nameProps?: GenericProps;\n /** Orientation. */\n orientation?: Orientation;\n /** Simple action toolbar content. */\n simpleAction?: ReactNode;\n /** Size variant. */\n size?: UserBlockSize;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** On click callback. */\n onClick?(): void;\n /** On mouse enter callback. */\n onMouseEnter?(): void;\n /** On mouse leave callback. */\n onMouseLeave?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'UserBlock';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<UserBlockProps> = {\n orientation: Orientation.horizontal,\n size: Size.m,\n theme: Theme.light,\n};\n\n/**\n * UserBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const UserBlock: Comp<UserBlockProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n avatarProps,\n className,\n fields,\n linkProps,\n linkAs,\n multipleActions,\n name,\n nameProps,\n onClick,\n onMouseEnter,\n onMouseLeave,\n orientation,\n simpleAction,\n size,\n theme,\n ...forwardedProps\n } = props;\n let componentSize = size;\n\n // Special case - When using vertical orientation force the size to be Sizes.l.\n if (orientation === Orientation.vertical) {\n componentSize = Size.l;\n }\n\n const shouldDisplayActions: boolean = orientation === Orientation.vertical;\n\n const isLink = Boolean(linkProps?.href || linkAs);\n const isClickable = !!onClick || isLink;\n\n const nameBlock: ReactNode = React.useMemo(() => {\n if (isEmpty(name)) {\n return null;\n }\n let NameComponent: any = 'span';\n const nProps: any = {\n ...nameProps,\n className: classNames(`${CLASSNAME}__name`, linkProps?.className, nameProps?.className),\n };\n if (isClickable) {\n NameComponent = Link;\n Object.assign(nProps, {\n ...linkProps,\n onClick,\n linkAs,\n color: ColorPalette.dark,\n });\n }\n return <NameComponent {...nProps}>{name}</NameComponent>;\n }, [isClickable, linkAs, linkProps, name, nameProps, onClick]);\n\n const fieldsBlock: ReactNode = fields && componentSize !== Size.s && (\n <div className={`${CLASSNAME}__fields`}>\n {fields.map((field: string, idx: number) => (\n <span key={idx} className={`${CLASSNAME}__field`}>\n {field}\n </span>\n ))}\n </div>\n );\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({ prefix: CLASSNAME, orientation, size: componentSize, theme, isClickable }),\n )}\n onMouseLeave={onMouseLeave}\n onMouseEnter={onMouseEnter}\n >\n {avatarProps && (\n <Avatar\n linkAs={linkAs}\n linkProps={linkProps}\n {...avatarProps}\n className={classNames(`${CLASSNAME}__avatar`, avatarProps.className)}\n size={componentSize}\n onClick={onClick}\n theme={theme}\n />\n )}\n {(fields || name) && (\n <div className={`${CLASSNAME}__wrapper`}>\n {nameBlock}\n {fieldsBlock}\n </div>\n )}\n {shouldDisplayActions && simpleAction && <div className={`${CLASSNAME}__action`}>{simpleAction}</div>}\n {shouldDisplayActions && multipleActions && (\n <div className={`${CLASSNAME}__actions`}>{multipleActions}</div>\n )}\n </div>\n );\n});\nUserBlock.displayName = COMPONENT_NAME;\nUserBlock.className = CLASSNAME;\nUserBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","size","Size","m","theme","Theme","light","UserBlock","forwardRef","props","ref","avatarProps","className","fields","linkProps","linkAs","multipleActions","name","nameProps","onClick","onMouseEnter","onMouseLeave","simpleAction","forwardedProps","componentSize","vertical","l","shouldDisplayActions","isLink","Boolean","href","isClickable","nameBlock","React","useMemo","isEmpty","NameComponent","nProps","classNames","Link","Object","assign","color","ColorPalette","dark","fieldsBlock","s","map","field","idx","handleBasicClasses","prefix","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { e as _toConsumableArray, _ as _objectSpread2, a as _defineProperty, d as _slicedToArray } from './
|
|
1
|
+
import { e as _toConsumableArray, _ as _objectSpread2, a as _defineProperty, d as _slicedToArray } from './_rolluppluginbabelhelpers.53.js';
|
|
2
2
|
import { createContext, useContext, useMemo, useEffect, useCallback } from 'react';
|
|
3
|
-
import { u as uid } from '
|
|
3
|
+
import { u as uid } from './index.55.js';
|
|
4
4
|
|
|
5
5
|
var INIT_STATE = {
|
|
6
6
|
isLazy: true,
|
|
@@ -219,4 +219,4 @@ var useRovingTabIndex = function useRovingTabIndex(_ref) {
|
|
|
219
219
|
};
|
|
220
220
|
|
|
221
221
|
export { INIT_STATE as I, TabProviderContext as T, useTabProviderContextState as a, useTabProviderContext as b, reducer as r, useRovingTabIndex as u };
|
|
222
|
-
//# sourceMappingURL=
|
|
222
|
+
//# sourceMappingURL=userovingtabindex.66.js.map
|