@lumx/react 3.10.1-alpha.2 → 3.10.1-alpha.3
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/_internal/{8d67e1e3.d.ts → index.d.ts} +1 -1
- package/_internal/index.js +99 -0
- package/_internal/index.js.map +1 -0
- package/index.d.ts +3000 -66
- package/index.js +14554 -64
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/button/Button.tsx +4 -5
- package/src/components/button/ButtonRoot.tsx +1 -3
- package/src/components/chip/Chip.tsx +6 -10
- package/src/components/dialog/Dialog.tsx +1 -1
- package/src/components/expansion-panel/ExpansionPanel.tsx +14 -18
- package/src/components/flex-box/FlexBox.tsx +1 -1
- package/src/components/generic-block/GenericBlock.tsx +6 -7
- package/src/components/generic-block/constants.ts +9 -4
- package/src/components/grid-column/GridColumn.tsx +1 -2
- package/src/components/link/Link.tsx +3 -5
- package/src/components/list/ListItem.tsx +1 -2
- package/src/components/list/useInteractiveList.tsx +1 -2
- package/src/components/mosaic/Mosaic.test.tsx +3 -3
- package/src/components/mosaic/Mosaic.tsx +2 -3
- package/src/components/navigation/Navigation.tsx +42 -37
- package/src/components/navigation/NavigationSection.tsx +76 -79
- package/src/components/notification/Notification.tsx +1 -5
- package/src/components/post-block/PostBlock.tsx +4 -8
- package/src/components/progress-tracker/ProgressTracker.stories.tsx +11 -11
- package/src/components/select/Select.stories.tsx +14 -5
- package/src/components/select/Select.tsx +1 -2
- package/src/components/select/SelectMultiple.stories.tsx +12 -10
- package/src/components/side-navigation/SideNavigationItem.tsx +1 -1
- package/src/components/slideshow/Slides.tsx +1 -1
- package/src/components/slideshow/SlideshowControls.tsx +1 -1
- package/src/components/switch/Switch.tsx +1 -2
- package/src/components/tabs/Tabs.stories.tsx +3 -4
- package/src/components/text-field/TextField.test.tsx +2 -2
- package/src/components/text-field/TextField.tsx +2 -3
- package/src/components/user-block/UserBlock.tsx +7 -9
- package/src/hooks/useClickAway.tsx +1 -2
- package/src/hooks/useInterval.tsx +1 -4
- package/src/hooks/useKeyboardListNavigation.tsx +2 -4
- package/src/hooks/useStopPropagation.ts +1 -2
- package/src/stories/decorators/withCombinations.tsx +1 -1
- package/src/testing/utils/commonTestsSuiteRTL.tsx +2 -2
- package/src/utils/collection/castArray.test.ts +15 -0
- package/src/utils/collection/castArray.ts +3 -0
- package/src/utils/collection/chunk.test.ts +15 -0
- package/src/utils/collection/chunk.ts +6 -0
- package/src/utils/collection/isEmpty.test.js +20 -0
- package/src/utils/collection/isEmpty.ts +4 -0
- package/src/utils/collection/last.ts +2 -0
- package/src/utils/collection/partitionMulti.test.ts +35 -0
- package/src/utils/{partitionMulti.ts → collection/partitionMulti.ts} +13 -12
- package/src/utils/collection/pull.test.ts +17 -0
- package/src/utils/collection/pull.ts +7 -0
- package/src/utils/collection/range.test.js +9 -0
- package/src/utils/collection/range.ts +2 -0
- package/src/utils/date/getMonthCalendar.ts +3 -4
- package/src/utils/flattenChildren.ts +2 -3
- package/src/utils/makeListenerTowerContext.ts +2 -2
- package/src/utils/react/forwardRef.ts +3 -2
- package/src/utils/react/forwardRefPolymorphic.ts +1 -2
- package/src/utils/utils.test.ts +0 -27
- package/utils/index.d.ts +1 -1
- package/utils/index.js +1 -96
- package/utils/index.js.map +1 -1
- package/_internal/17c3ea1d.js +0 -137
- package/_internal/17c3ea1d.js.map +0 -1
- package/_internal/1da25128.js +0 -411
- package/_internal/1da25128.js.map +0 -1
- package/_internal/230173a8.js +0 -13
- package/_internal/230173a8.js.map +0 -1
- package/_internal/23bdba2d.js +0 -71
- package/_internal/23bdba2d.js.map +0 -1
- package/_internal/26926e5c.d.ts +0 -36
- package/_internal/2a3d237c.js +0 -12
- package/_internal/2a3d237c.js.map +0 -1
- package/_internal/2c5dbb03.js +0 -26
- package/_internal/2c5dbb03.js.map +0 -1
- package/_internal/2e2abe51.js +0 -2154
- package/_internal/2e2abe51.js.map +0 -1
- package/_internal/31490c59.d.ts +0 -167
- package/_internal/3181f000.js +0 -14
- package/_internal/3181f000.js.map +0 -1
- package/_internal/35f100be.d.ts +0 -104
- package/_internal/36bd7352.js +0 -219
- package/_internal/36bd7352.js.map +0 -1
- package/_internal/3a1facc0.js +0 -18
- package/_internal/3a1facc0.js.map +0 -1
- package/_internal/4c20d932.js +0 -89
- package/_internal/4c20d932.js.map +0 -1
- package/_internal/4c28d012.js +0 -305
- package/_internal/4c28d012.js.map +0 -1
- package/_internal/4cd0bf32.js +0 -160
- package/_internal/4cd0bf32.js.map +0 -1
- package/_internal/4daccdd5.js +0 -25
- package/_internal/4daccdd5.js.map +0 -1
- package/_internal/524b1d04.js +0 -64
- package/_internal/524b1d04.js.map +0 -1
- package/_internal/53c94227.js +0 -123
- package/_internal/53c94227.js.map +0 -1
- package/_internal/54d9ded5.js +0 -418
- package/_internal/54d9ded5.js.map +0 -1
- package/_internal/56aec41b.js +0 -652
- package/_internal/56aec41b.js.map +0 -1
- package/_internal/5720caf5.js +0 -124
- package/_internal/5720caf5.js.map +0 -1
- package/_internal/646f0db6.js +0 -113
- package/_internal/646f0db6.js.map +0 -1
- package/_internal/6cc8dca8.d.ts +0 -22
- package/_internal/7f022f8c.d.ts +0 -34
- package/_internal/b8f2948d.js +0 -691
- package/_internal/b8f2948d.js.map +0 -1
- package/_internal/bc28d510.js +0 -784
- package/_internal/bc28d510.js.map +0 -1
- package/_internal/c68d24e4.js +0 -145
- package/_internal/c68d24e4.js.map +0 -1
- package/_internal/c6c99f76.js +0 -105
- package/_internal/c6c99f76.js.map +0 -1
- package/_internal/cae46566.js +0 -65
- package/_internal/cae46566.js.map +0 -1
- package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +0 -37
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +0 -148
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +0 -1
- package/_internal/components/autocomplete/index.ts-3f8f125c.js +0 -264
- package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +0 -1
- package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +0 -201
- package/_internal/components/avatar/index.ts-93ee0ea9.js +0 -89
- package/_internal/components/avatar/index.ts-93ee0ea9.js.map +0 -1
- package/_internal/components/avatar/index.ts-f92852b4.d.ts +0 -43
- package/_internal/components/badge/index.ts-2d7700ef.d.ts +0 -30
- package/_internal/components/badge/index.ts-6753d67f.js +0 -88
- package/_internal/components/badge/index.ts-6753d67f.js.map +0 -1
- package/_internal/components/button/index.ts-031307ce.js +0 -51
- package/_internal/components/button/index.ts-031307ce.js.map +0 -1
- package/_internal/components/button/index.ts-b29e26a4.d.ts +0 -22
- package/_internal/components/checkbox/index.ts-a33166d7.js +0 -127
- package/_internal/components/checkbox/index.ts-a33166d7.js.map +0 -1
- package/_internal/components/checkbox/index.ts-f82358ff.d.ts +0 -38
- package/_internal/components/chip/index.ts-4a91f1a7.d.ts +0 -68
- package/_internal/components/chip/index.ts-a2b5b771.js +0 -110
- package/_internal/components/chip/index.ts-a2b5b771.js.map +0 -1
- package/_internal/components/comment-block/index.ts-58fa051a.js +0 -121
- package/_internal/components/comment-block/index.ts-58fa051a.js.map +0 -1
- package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +0 -67
- package/_internal/components/date-picker/index.ts-145262d5.js +0 -2
- package/_internal/components/date-picker/index.ts-145262d5.js.map +0 -1
- package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +0 -95
- package/_internal/components/dialog/index.ts-ea044db2.js +0 -224
- package/_internal/components/dialog/index.ts-ea044db2.js.map +0 -1
- package/_internal/components/dialog/index.ts-eca28654.d.ts +0 -55
- package/_internal/components/divider/index.ts-4a56db75.js +0 -55
- package/_internal/components/divider/index.ts-4a56db75.js.map +0 -1
- package/_internal/components/divider/index.ts-b011d8ca.d.ts +0 -18
- package/_internal/components/drag-handle/index.ts-0aebf92f.js +0 -54
- package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +0 -1
- package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +0 -18
- package/_internal/components/dropdown/index.ts-2a17db51.js +0 -154
- package/_internal/components/dropdown/index.ts-2a17db51.js.map +0 -1
- package/_internal/components/dropdown/index.ts-b648a15c.d.ts +0 -87
- package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +0 -38
- package/_internal/components/expansion-panel/index.ts-fae3762e.js +0 -143
- package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +0 -1
- package/_internal/components/flag/index.ts-8dcd685b.js +0 -56
- package/_internal/components/flag/index.ts-8dcd685b.js.map +0 -1
- package/_internal/components/flag/index.ts-fda89adb.d.ts +0 -23
- package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +0 -43
- package/_internal/components/flex-box/index.ts-c216e957.js +0 -60
- package/_internal/components/flex-box/index.ts-c216e957.js.map +0 -1
- package/_internal/components/generic-block/index.ts-999a62a4.js +0 -115
- package/_internal/components/generic-block/index.ts-999a62a4.js.map +0 -1
- package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +0 -106
- package/_internal/components/grid/index.ts-67e0694f.d.ts +0 -50
- package/_internal/components/grid/index.ts-fdf1b306.js +0 -113
- package/_internal/components/grid/index.ts-fdf1b306.js.map +0 -1
- package/_internal/components/grid-column/index.ts-97c61cbe.js +0 -64
- package/_internal/components/grid-column/index.ts-97c61cbe.js.map +0 -1
- package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +0 -31
- package/_internal/components/heading/index.ts-0179e9a9.js +0 -112
- package/_internal/components/heading/index.ts-0179e9a9.js.map +0 -1
- package/_internal/components/heading/index.ts-587579e8.d.ts +0 -37
- package/_internal/components/icon/index.ts-740ca1de.js +0 -2
- package/_internal/components/icon/index.ts-740ca1de.js.map +0 -1
- package/_internal/components/icon/index.ts-b3fa5e15.d.ts +0 -34
- package/_internal/components/image-block/index.ts-36b3828f.d.ts +0 -49
- package/_internal/components/image-block/index.ts-ef5e2e7d.js +0 -111
- package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +0 -1
- package/_internal/components/image-lightbox/index.ts-137f85a8.js +0 -765
- package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +0 -1
- package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +0 -75
- package/_internal/components/inline-list/index.ts-033dd358.js +0 -76
- package/_internal/components/inline-list/index.ts-033dd358.js.map +0 -1
- package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +0 -34
- package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +0 -22
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js +0 -75
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +0 -1
- package/_internal/components/input-label/index.ts-86f2ea41.d.ts +0 -24
- package/_internal/components/input-label/index.ts-d6ca5569.js +0 -60
- package/_internal/components/input-label/index.ts-d6ca5569.js.map +0 -1
- package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +0 -36
- package/_internal/components/lightbox/index.ts-7a16cdc7.js +0 -149
- package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +0 -1
- package/_internal/components/link/index.ts-26435006.d.ts +0 -37
- package/_internal/components/link/index.ts-d04f4e53.js +0 -120
- package/_internal/components/link/index.ts-d04f4e53.js.map +0 -1
- package/_internal/components/link-preview/index.ts-e560a274.d.ts +0 -36
- package/_internal/components/link-preview/index.ts-fee89f66.js +0 -109
- package/_internal/components/link-preview/index.ts-fee89f66.js.map +0 -1
- package/_internal/components/list/index.ts-ab57902e.d.ts +0 -118
- package/_internal/components/list/index.ts-f3101625.js +0 -86
- package/_internal/components/list/index.ts-f3101625.js.map +0 -1
- package/_internal/components/message/index.ts-041cf0cb.js +0 -97
- package/_internal/components/message/index.ts-041cf0cb.js.map +0 -1
- package/_internal/components/message/index.ts-2d38e0ea.d.ts +0 -37
- package/_internal/components/mosaic/index.ts-232d5aed.d.ts +0 -23
- package/_internal/components/mosaic/index.ts-d2128cd3.js +0 -94
- package/_internal/components/mosaic/index.ts-d2128cd3.js.map +0 -1
- package/_internal/components/navigation/index.ts-6d8bea53.d.ts +0 -58
- package/_internal/components/navigation/index.ts-e8dc0a7f.js +0 -222
- package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +0 -1
- package/_internal/components/notification/index.ts-235fd340.js +0 -140
- package/_internal/components/notification/index.ts-235fd340.js.map +0 -1
- package/_internal/components/notification/index.ts-bb3f03f6.d.ts +0 -34
- package/_internal/components/popover/index.ts-2f17a9b6.js +0 -3
- package/_internal/components/popover/index.ts-2f17a9b6.js.map +0 -1
- package/_internal/components/popover/index.ts-e3b4ff19.d.ts +0 -66
- package/_internal/components/post-block/index.ts-0acb9bb4.js +0 -101
- package/_internal/components/post-block/index.ts-0acb9bb4.js.map +0 -1
- package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +0 -41
- package/_internal/components/progress/index.ts-2a713859.js +0 -189
- package/_internal/components/progress/index.ts-2a713859.js.map +0 -1
- package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +0 -60
- package/_internal/components/progress-tracker/index.ts-2649f756.js +0 -312
- package/_internal/components/progress-tracker/index.ts-2649f756.js.map +0 -1
- package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +0 -101
- package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +0 -54
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js +0 -150
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +0 -1
- package/_internal/components/select/index.ts-a65e3507.d.ts +0 -91
- package/_internal/components/select/index.ts-e8fad28b.js +0 -257
- package/_internal/components/select/index.ts-e8fad28b.js.map +0 -1
- package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +0 -60
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +0 -184
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +0 -1
- package/_internal/components/skeleton/index.ts-a7daefac.d.ts +0 -75
- package/_internal/components/skeleton/index.ts-ffc995af.js +0 -179
- package/_internal/components/skeleton/index.ts-ffc995af.js.map +0 -1
- package/_internal/components/slider/index.ts-24a0d598.d.ts +0 -52
- package/_internal/components/slider/index.ts-72aadf4c.js +0 -308
- package/_internal/components/slider/index.ts-72aadf4c.js.map +0 -1
- package/_internal/components/slideshow/index.ts-c99f2892.js +0 -151
- package/_internal/components/slideshow/index.ts-c99f2892.js.map +0 -1
- package/_internal/components/slideshow/index.ts-e49462c6.d.ts +0 -25
- package/_internal/components/switch/index.ts-207ba52b.d.ts +0 -34
- package/_internal/components/switch/index.ts-542e6eaf.js +0 -115
- package/_internal/components/switch/index.ts-542e6eaf.js.map +0 -1
- package/_internal/components/table/index.ts-905ce390.js +0 -310
- package/_internal/components/table/index.ts-905ce390.js.map +0 -1
- package/_internal/components/table/index.ts-c4f39b2d.d.ts +0 -108
- package/_internal/components/tabs/index.ts-713119f4.js +0 -289
- package/_internal/components/tabs/index.ts-713119f4.js.map +0 -1
- package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +0 -106
- package/_internal/components/text/index.ts-6afbe8cd.js +0 -2
- package/_internal/components/text/index.ts-6afbe8cd.js.map +0 -1
- package/_internal/components/text/index.ts-8a812048.d.ts +0 -53
- package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +0 -77
- package/_internal/components/text-field/index.ts-c3be8563.js +0 -341
- package/_internal/components/text-field/index.ts-c3be8563.js.map +0 -1
- package/_internal/components/thumbnail/index.ts-16d7b403.js +0 -40
- package/_internal/components/thumbnail/index.ts-16d7b403.js.map +0 -1
- package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +0 -8
- package/_internal/components/toolbar/index.ts-813b902e.js +0 -63
- package/_internal/components/toolbar/index.ts-813b902e.js.map +0 -1
- package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +0 -24
- package/_internal/components/tooltip/index.ts-905c847c.js +0 -322
- package/_internal/components/tooltip/index.ts-905c847c.js.map +0 -1
- package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +0 -35
- package/_internal/components/uploader/index.ts-31f21c2a.js +0 -132
- package/_internal/components/uploader/index.ts-31f21c2a.js.map +0 -1
- package/_internal/components/uploader/index.ts-c3ccba98.d.ts +0 -51
- package/_internal/components/user-block/index.ts-18c58e19.d.ts +0 -50
- package/_internal/components/user-block/index.ts-d43e5f3c.js +0 -136
- package/_internal/components/user-block/index.ts-d43e5f3c.js.map +0 -1
- package/_internal/dc3e28c8.d.ts +0 -38
- package/_internal/f39a1ba4.js +0 -73
- package/_internal/f39a1ba4.js.map +0 -1
- package/_internal/f3e77e3e.js +0 -22
- package/_internal/f3e77e3e.js.map +0 -1
- package/_internal/f502ab30.js +0 -78
- package/_internal/f502ab30.js.map +0 -1
- package/_internal/f52adbae.js +0 -36
- package/_internal/f52adbae.js.map +0 -1
- package/_internal/f57e1239.js +0 -205
- package/_internal/f57e1239.js.map +0 -1
- package/_internal/f5ff1aa4.d.ts +0 -47
- package/_internal/fb975afe.js +0 -52
- package/_internal/fb975afe.js.map +0 -1
package/_internal/524b1d04.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { g as classNames, _ as _extends } from './1da25128.js';
|
|
2
|
-
import React__default from 'react';
|
|
3
|
-
import { FlexBox } from './components/flex-box/index.ts-c216e957.js';
|
|
4
|
-
import { T as Text } from './53c94227.js';
|
|
5
|
-
|
|
6
|
-
/** Internal component used to render image captions */
|
|
7
|
-
const ImageCaption = props => {
|
|
8
|
-
const {
|
|
9
|
-
baseClassName,
|
|
10
|
-
theme,
|
|
11
|
-
as = 'figcaption',
|
|
12
|
-
title,
|
|
13
|
-
titleProps,
|
|
14
|
-
description,
|
|
15
|
-
descriptionProps,
|
|
16
|
-
tags,
|
|
17
|
-
captionStyle,
|
|
18
|
-
align,
|
|
19
|
-
truncate
|
|
20
|
-
} = props;
|
|
21
|
-
if (!title && !description && !tags) return null;
|
|
22
|
-
const titleColor = {
|
|
23
|
-
color: theme === 'dark' ? 'light' : 'dark'
|
|
24
|
-
};
|
|
25
|
-
const baseColor = {
|
|
26
|
-
color: theme === 'dark' ? 'light' : 'dark',
|
|
27
|
-
colorVariant: 'L2'
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
// Display description as string or HTML
|
|
31
|
-
const descriptionContent = typeof description === 'string' ? {
|
|
32
|
-
children: description
|
|
33
|
-
} : {
|
|
34
|
-
dangerouslySetInnerHTML: description
|
|
35
|
-
};
|
|
36
|
-
return /*#__PURE__*/React__default.createElement(FlexBox, {
|
|
37
|
-
as: as,
|
|
38
|
-
className: classNames(baseClassName && `${baseClassName}__wrapper`),
|
|
39
|
-
style: captionStyle,
|
|
40
|
-
orientation: "vertical",
|
|
41
|
-
vAlign: align,
|
|
42
|
-
hAlign: align === 'center' ? align : undefined,
|
|
43
|
-
gap: "regular"
|
|
44
|
-
}, (title || description) && /*#__PURE__*/React__default.createElement(Text, _extends({
|
|
45
|
-
as: "p",
|
|
46
|
-
className: classNames(baseClassName && `${baseClassName}__caption`),
|
|
47
|
-
truncate: truncate
|
|
48
|
-
}, baseColor), title && /*#__PURE__*/React__default.createElement(Text, _extends({}, titleProps, {
|
|
49
|
-
as: "span",
|
|
50
|
-
className: classNames(titleProps === null || titleProps === void 0 ? void 0 : titleProps.className, baseClassName && `${baseClassName}__title`),
|
|
51
|
-
typography: "subtitle1"
|
|
52
|
-
}, titleColor), title), ' ', description && /*#__PURE__*/React__default.createElement(Text, _extends({}, descriptionProps, {
|
|
53
|
-
as: "span",
|
|
54
|
-
className: classNames(descriptionProps === null || descriptionProps === void 0 ? void 0 : descriptionProps.className, baseClassName && `${baseClassName}__description`),
|
|
55
|
-
typography: "body1"
|
|
56
|
-
}, descriptionContent))), tags && /*#__PURE__*/React__default.createElement(FlexBox, {
|
|
57
|
-
className: classNames(baseClassName && `${baseClassName}__tags`),
|
|
58
|
-
orientation: "horizontal",
|
|
59
|
-
vAlign: align
|
|
60
|
-
}, tags));
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export { ImageCaption as I };
|
|
64
|
-
//# sourceMappingURL=524b1d04.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"524b1d04.js","sources":["../../src/components/image-block/ImageCaption.tsx"],"sourcesContent":["import React, { CSSProperties, ReactNode } from 'react';\n\nimport { FlexBox, HorizontalAlignment, Text, TextProps } from '@lumx/react';\nimport { HasPolymorphicAs, HasTheme } from '@lumx/react/utils/type';\nimport classNames from 'classnames';\n\ntype As = 'div' | 'figcaption';\n\ntype ForwardedTextProps = Omit<TextProps, 'as' | 'typography' | 'color' | 'colorVariant'>;\n\nexport type ImageCaptionMetadata = {\n /** Image title to display in the caption. */\n title?: string;\n /** Props to pass to the title. */\n titleProps?: ForwardedTextProps;\n /** Image description. Can be either a string, or sanitized html. */\n description?: string | { __html: string };\n /** Props to pass to the title. */\n descriptionProps?: ForwardedTextProps;\n /** Tag content. */\n tags?: ReactNode;\n /** Caption custom CSS style. */\n captionStyle?: CSSProperties;\n};\n\nexport type ImageCaptionProps<AS extends As = 'figcaption'> = HasTheme &\n HasPolymorphicAs<AS> &\n ImageCaptionMetadata & {\n /** Base className for sub elements */\n baseClassName?: string;\n /** Alignment. */\n align?: HorizontalAlignment;\n /** Truncate text on title & description (no line wrapping). */\n truncate?: TextProps['truncate'];\n };\n\n/** Internal component used to render image captions */\nexport const ImageCaption = <AS extends As>(props: ImageCaptionProps<AS>) => {\n const {\n baseClassName,\n theme,\n as = 'figcaption',\n title,\n titleProps,\n description,\n descriptionProps,\n tags,\n captionStyle,\n align,\n truncate,\n } = props;\n if (!title && !description && !tags) return null;\n\n const titleColor = { color: theme === 'dark' ? 'light' : 'dark' } as const;\n const baseColor = { color: theme === 'dark' ? 'light' : 'dark', colorVariant: 'L2' } as const;\n\n // Display description as string or HTML\n const descriptionContent =\n typeof description === 'string' ? { children: description } : { dangerouslySetInnerHTML: description };\n\n return (\n <FlexBox\n as={as}\n className={classNames(baseClassName && `${baseClassName}__wrapper`)}\n style={captionStyle}\n orientation=\"vertical\"\n vAlign={align}\n hAlign={align === 'center' ? align : undefined}\n gap=\"regular\"\n >\n {(title || description) && (\n <Text\n as=\"p\"\n className={classNames(baseClassName && `${baseClassName}__caption`)}\n truncate={truncate}\n {...baseColor}\n >\n {title && (\n <Text\n {...titleProps}\n as=\"span\"\n className={classNames(titleProps?.className, baseClassName && `${baseClassName}__title`)}\n typography=\"subtitle1\"\n {...titleColor}\n >\n {title}\n </Text>\n )}{' '}\n {description && (\n <Text\n {...descriptionProps}\n as=\"span\"\n className={classNames(\n descriptionProps?.className,\n baseClassName && `${baseClassName}__description`,\n )}\n typography=\"body1\"\n {...descriptionContent}\n />\n )}\n </Text>\n )}\n {tags && (\n <FlexBox\n className={classNames(baseClassName && `${baseClassName}__tags`)}\n orientation=\"horizontal\"\n vAlign={align}\n >\n {tags}\n </FlexBox>\n )}\n </FlexBox>\n );\n};\n"],"names":["ImageCaption","props","baseClassName","theme","as","title","titleProps","description","descriptionProps","tags","captionStyle","align","truncate","titleColor","color","baseColor","colorVariant","descriptionContent","children","dangerouslySetInnerHTML","React","createElement","FlexBox","className","classNames","style","orientation","vAlign","hAlign","undefined","gap","Text","_extends","typography"],"mappings":"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"}
|
package/_internal/53c94227.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { h as getRootClassName, i as forwardRef, j as _objectWithoutProperties, p as getFontColorClassName, _ as _extends, g as classNames, k as _objectSpread2, q as getTypographyClassName } from './1da25128.js';
|
|
2
|
-
import React__default, { Children, Fragment } from 'react';
|
|
3
|
-
import { i as isComponent } from './f39a1ba4.js';
|
|
4
|
-
import { u as useTooltipContext } from './f3e77e3e.js';
|
|
5
|
-
import { u as useMergeRefs } from './f52adbae.js';
|
|
6
|
-
import { h as handleBasicClasses } from './f57e1239.js';
|
|
7
|
-
import { I as Icon } from './c6c99f76.js';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Compute a tooltip label based on a label element `innerText` if the text overflows.
|
|
11
|
-
*
|
|
12
|
-
* Warning: only works on first render, does not update on label element resize.
|
|
13
|
-
*/
|
|
14
|
-
const useOverflowTooltipLabel = () => {
|
|
15
|
-
const parentTooltip = useTooltipContext();
|
|
16
|
-
const [tooltipLabel, setTooltipLabel] = React__default.useState(undefined);
|
|
17
|
-
const labelRef = React__default.useCallback(labelElement => {
|
|
18
|
-
if (!labelElement || !!parentTooltip) {
|
|
19
|
-
// Skip if label element is unknown
|
|
20
|
-
// Skip if the parent has a tooltip
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Label overflowing
|
|
25
|
-
if (labelElement.offsetWidth < labelElement.scrollWidth) {
|
|
26
|
-
setTooltipLabel(labelElement.innerText);
|
|
27
|
-
}
|
|
28
|
-
}, [parentTooltip]);
|
|
29
|
-
return {
|
|
30
|
-
labelRef,
|
|
31
|
-
tooltipLabel
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const _excluded = ["as", "children", "className", "color", "colorVariant", "noWrap", "typography", "truncate", "whiteSpace", "style"];
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Defines the props of the component.
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Component display name.
|
|
43
|
-
*/
|
|
44
|
-
const COMPONENT_NAME = 'Text';
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Component default class name and class prefix.
|
|
48
|
-
*/
|
|
49
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Component default props.
|
|
53
|
-
*/
|
|
54
|
-
const DEFAULT_PROPS = {};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Text component.
|
|
58
|
-
*
|
|
59
|
-
* @param props Component props.
|
|
60
|
-
* @param ref Component ref.
|
|
61
|
-
* @return React element.
|
|
62
|
-
*/
|
|
63
|
-
const Text = forwardRef((props, ref) => {
|
|
64
|
-
const {
|
|
65
|
-
as: Component,
|
|
66
|
-
children,
|
|
67
|
-
className,
|
|
68
|
-
color,
|
|
69
|
-
colorVariant,
|
|
70
|
-
noWrap,
|
|
71
|
-
typography,
|
|
72
|
-
truncate,
|
|
73
|
-
whiteSpace,
|
|
74
|
-
style
|
|
75
|
-
} = props,
|
|
76
|
-
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
77
|
-
const colorClass = color && getFontColorClassName(color, colorVariant);
|
|
78
|
-
const typographyClass = typography && getTypographyClassName(typography);
|
|
79
|
-
|
|
80
|
-
// Truncate mode
|
|
81
|
-
const truncateLinesStyle = typeof truncate === 'object' && truncate.lines > 1 && {
|
|
82
|
-
'--lumx-text-truncate-lines': truncate.lines
|
|
83
|
-
};
|
|
84
|
-
const isTruncatedMultiline = !!truncateLinesStyle;
|
|
85
|
-
const isTruncated = !!truncate;
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Add custom white-space style if specified
|
|
89
|
-
* Disabled if noWrap is specified
|
|
90
|
-
* Disabled if truncated on one-line
|
|
91
|
-
* */
|
|
92
|
-
const whiteSpaceStyle = !noWrap && !(isTruncated && !isTruncatedMultiline) && whiteSpace && {
|
|
93
|
-
'--lumx-text-white-space': whiteSpace
|
|
94
|
-
};
|
|
95
|
-
const {
|
|
96
|
-
tooltipLabel,
|
|
97
|
-
labelRef
|
|
98
|
-
} = useOverflowTooltipLabel();
|
|
99
|
-
return /*#__PURE__*/React__default.createElement(Component, _extends({
|
|
100
|
-
ref: useMergeRefs(ref, labelRef),
|
|
101
|
-
className: classNames(className, handleBasicClasses({
|
|
102
|
-
prefix: CLASSNAME,
|
|
103
|
-
isTruncated: isTruncated && !isTruncatedMultiline,
|
|
104
|
-
isTruncatedMultiline
|
|
105
|
-
}), typographyClass, colorClass, noWrap && `${CLASSNAME}--no-wrap`),
|
|
106
|
-
title: tooltipLabel,
|
|
107
|
-
style: _objectSpread2(_objectSpread2(_objectSpread2({}, truncateLinesStyle), whiteSpaceStyle), style)
|
|
108
|
-
}, forwardedProps), children && Children.toArray(children).map((child, index) => {
|
|
109
|
-
// Force wrap spaces around icons to make sure they are never stuck against text.
|
|
110
|
-
if (isComponent(Icon)(child)) {
|
|
111
|
-
return /*#__PURE__*/React__default.createElement(Fragment, {
|
|
112
|
-
key: child.key || index
|
|
113
|
-
}, " ", child, " ");
|
|
114
|
-
}
|
|
115
|
-
return child;
|
|
116
|
-
}));
|
|
117
|
-
});
|
|
118
|
-
Text.displayName = COMPONENT_NAME;
|
|
119
|
-
Text.className = CLASSNAME;
|
|
120
|
-
Text.defaultProps = DEFAULT_PROPS;
|
|
121
|
-
|
|
122
|
-
export { Text as T, useOverflowTooltipLabel as u };
|
|
123
|
-
//# sourceMappingURL=53c94227.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"53c94227.js","sources":["../../src/hooks/useOverflowTooltipLabel.tsx","../../src/components/text/Text.tsx"],"sourcesContent":["import React from 'react';\nimport { useTooltipContext } from '@lumx/react/components/tooltip/context';\n\n/**\n * Compute a tooltip label based on a label element `innerText` if the text overflows.\n *\n * Warning: only works on first render, does not update on label element resize.\n */\nexport const useOverflowTooltipLabel = () => {\n const parentTooltip = useTooltipContext();\n const [tooltipLabel, setTooltipLabel] = React.useState<string | undefined>(undefined);\n const labelRef = React.useCallback(\n (labelElement: HTMLElement | null) => {\n if (!labelElement || !!parentTooltip) {\n // Skip if label element is unknown\n // Skip if the parent has a tooltip\n return;\n }\n\n // Label overflowing\n if (labelElement.offsetWidth < labelElement.scrollWidth) {\n setTooltipLabel(labelElement.innerText);\n }\n },\n [parentTooltip],\n );\n\n return { labelRef, tooltipLabel };\n};\n","import React, { Children, Fragment } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Icon, ColorPalette, ColorVariant, Typography, WhiteSpace } from '@lumx/react';\nimport { GenericProps, TextElement, isComponent } from '@lumx/react/utils/type';\nimport {\n getFontColorClassName,\n getRootClassName,\n handleBasicClasses,\n getTypographyClassName,\n} from '@lumx/react/utils/className';\nimport { useOverflowTooltipLabel } from '@lumx/react/hooks/useOverflowTooltipLabel';\nimport { useMergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface TextProps extends GenericProps {\n /**\n * Color variant.\n */\n color?: ColorPalette;\n /**\n * Lightened or darkened variant of the selected color.\n */\n colorVariant?: ColorVariant;\n /**\n * Typography variant.\n */\n typography?: Typography;\n /**\n * Custom component to render the text.\n */\n as: TextElement;\n /**\n * Control whether the text should truncate or not.\n * Setting as `true` will make the text truncate on a single line.\n * Setting as `{ lines: number }` will make the text truncate on a multiple lines.\n */\n truncate?: boolean | { lines: number };\n /**\n * Prevents text to wrap on multiple lines\n * (automatically activated when single line text truncate is activated).\n */\n noWrap?: boolean;\n /**\n * WhiteSpace variant\n * Ignored when `noWrap` is set to true\n * Ignored when `truncate` is set to true or lines: 1\n * */\n whiteSpace?: WhiteSpace;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Text';\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 = {} as const;\n\n/**\n * Text component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Text = forwardRef<TextProps>((props, ref) => {\n const {\n as: Component,\n children,\n className,\n color,\n colorVariant,\n noWrap,\n typography,\n truncate,\n whiteSpace,\n style,\n ...forwardedProps\n } = props;\n\n const colorClass = color && getFontColorClassName(color, colorVariant);\n const typographyClass = typography && getTypographyClassName(typography);\n\n // Truncate mode\n const truncateLinesStyle = typeof truncate === 'object' &&\n truncate.lines > 1 && { '--lumx-text-truncate-lines': truncate.lines };\n const isTruncatedMultiline = !!truncateLinesStyle;\n const isTruncated = !!truncate;\n\n /**\n * Add custom white-space style if specified\n * Disabled if noWrap is specified\n * Disabled if truncated on one-line\n * */\n const whiteSpaceStyle = !noWrap &&\n !(isTruncated && !isTruncatedMultiline) &&\n whiteSpace && { '--lumx-text-white-space': whiteSpace };\n\n const { tooltipLabel, labelRef } = useOverflowTooltipLabel();\n\n return (\n <Component\n ref={useMergeRefs(ref as React.Ref<any>, labelRef)}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n isTruncated: isTruncated && !isTruncatedMultiline,\n isTruncatedMultiline,\n }),\n typographyClass,\n colorClass,\n noWrap && `${CLASSNAME}--no-wrap`,\n )}\n title={tooltipLabel}\n style={{ ...truncateLinesStyle, ...whiteSpaceStyle, ...style }}\n {...forwardedProps}\n >\n {children &&\n Children.toArray(children).map((child, index) => {\n // Force wrap spaces around icons to make sure they are never stuck against text.\n if (isComponent(Icon)(child)) {\n return <Fragment key={child.key || index}> {child} </Fragment>;\n }\n return child;\n })}\n </Component>\n );\n});\nText.displayName = COMPONENT_NAME;\nText.className = CLASSNAME;\nText.defaultProps = DEFAULT_PROPS;\n"],"names":["useOverflowTooltipLabel","parentTooltip","useTooltipContext","tooltipLabel","setTooltipLabel","React","useState","undefined","labelRef","useCallback","labelElement","offsetWidth","scrollWidth","innerText","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Text","forwardRef","props","ref","as","Component","children","className","color","colorVariant","noWrap","typography","truncate","whiteSpace","style","forwardedProps","_objectWithoutProperties","_excluded","colorClass","getFontColorClassName","typographyClass","getTypographyClassName","truncateLinesStyle","lines","isTruncatedMultiline","isTruncated","whiteSpaceStyle","createElement","_extends","useMergeRefs","classNames","handleBasicClasses","prefix","title","_objectSpread","Children","toArray","map","child","index","isComponent","Icon","Fragment","key","displayName","defaultProps"],"mappings":"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"}
|
package/_internal/54d9ded5.js
DELETED
|
@@ -1,418 +0,0 @@
|
|
|
1
|
-
import { D as DOCUMENT, _ as _extends, k as _objectSpread2, m as WINDOW, h as getRootClassName, i as forwardRef, j as _objectWithoutProperties, g as classNames } from './1da25128.js';
|
|
2
|
-
import React__default, { useState, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
|
|
3
|
-
import { createPortal } from 'react-dom';
|
|
4
|
-
import { u as useCallbackOnEscape } from './cae46566.js';
|
|
5
|
-
import { u as useMergeRefs } from './f52adbae.js';
|
|
6
|
-
import { g as getFirstAndLastFocusable, u as useFocusTrap } from './646f0db6.js';
|
|
7
|
-
import { T as ThemeProvider } from './3181f000.js';
|
|
8
|
-
import memoize from 'lodash/memoize';
|
|
9
|
-
import { A as ARROW_SIZE, u as usePopper, d as detectOverflow, F as FitAnchorWidth, P as Placement, a as POPOVER_ZINDEX } from './2e2abe51.js';
|
|
10
|
-
import { h as handleBasicClasses } from './f57e1239.js';
|
|
11
|
-
import { ClickAwayProvider } from '../utils/index.js';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Hook focusing an element when defined and `focus` boolean `true`.
|
|
15
|
-
*
|
|
16
|
-
* @param element Element to focus.
|
|
17
|
-
* @param shouldFocus Boolean flag to trigger the focus
|
|
18
|
-
*/
|
|
19
|
-
function useFocus(element) {
|
|
20
|
-
let shouldFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
21
|
-
const [wasFocus, setWasFocus] = useState(false);
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
if (shouldFocus && wasFocus !== shouldFocus && element) {
|
|
24
|
-
element.focus();
|
|
25
|
-
setWasFocus(shouldFocus);
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
-
[element, shouldFocus]);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* HOC component wrapping a component to skip render if predicate return falsy
|
|
34
|
-
*/
|
|
35
|
-
const skipRender = (predicate, Component) => {
|
|
36
|
-
const Wrapper = /*#__PURE__*/React__default.forwardRef((props, ref) => {
|
|
37
|
-
if (!DOCUMENT) {
|
|
38
|
-
// Can't render in SSR.
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
return /*#__PURE__*/React__default.createElement(Component, _extends({
|
|
42
|
-
ref: ref
|
|
43
|
-
}, props));
|
|
44
|
-
});
|
|
45
|
-
Wrapper.displayName = Component.displayName;
|
|
46
|
-
return Wrapper;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Helper component using useLayoutEffect to trigger a callback on before unmount.
|
|
51
|
-
*
|
|
52
|
-
* The callback must be wrapped in a React ref to avoid updating the `useLayoutEffect` before the un-mount
|
|
53
|
-
*/
|
|
54
|
-
const OnBeforeUnmount = _ref => {
|
|
55
|
-
let {
|
|
56
|
-
callbackRef
|
|
57
|
-
} = _ref;
|
|
58
|
-
useLayoutEffect(() => {
|
|
59
|
-
return () => {
|
|
60
|
-
var _callbackRef$current;
|
|
61
|
-
// On unmount
|
|
62
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
|
-
(_callbackRef$current = callbackRef.current) === null || _callbackRef$current === void 0 ? void 0 : _callbackRef$current.call(callbackRef);
|
|
64
|
-
};
|
|
65
|
-
},
|
|
66
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
67
|
-
[]);
|
|
68
|
-
return null;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Provides an unmount sentinel to inject in the popover to detect when it closes and restore the focus to the
|
|
73
|
-
* anchor if needed.
|
|
74
|
-
*/
|
|
75
|
-
function useRestoreFocusOnClose(_ref, popoverElement) {
|
|
76
|
-
let {
|
|
77
|
-
focusAnchorOnClose,
|
|
78
|
-
anchorRef,
|
|
79
|
-
parentElement
|
|
80
|
-
} = _ref;
|
|
81
|
-
const onBeforeUnmountRef = React__default.useRef();
|
|
82
|
-
React__default.useEffect(() => {
|
|
83
|
-
if (!popoverElement || !focusAnchorOnClose) {
|
|
84
|
-
onBeforeUnmountRef.current = undefined;
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
onBeforeUnmountRef.current = () => {
|
|
88
|
-
const isFocusWithin = popoverElement === null || popoverElement === void 0 ? void 0 : popoverElement.contains(document.activeElement);
|
|
89
|
-
if (!isFocusWithin) return;
|
|
90
|
-
|
|
91
|
-
// On next render
|
|
92
|
-
setTimeout(() => {
|
|
93
|
-
const anchor = anchorRef.current;
|
|
94
|
-
const elementToFocus =
|
|
95
|
-
// Provided parent element
|
|
96
|
-
(parentElement === null || parentElement === void 0 ? void 0 : parentElement.current) || (
|
|
97
|
-
// Or first focusable element in anchor
|
|
98
|
-
anchor ? getFirstAndLastFocusable(anchor).first : undefined) ||
|
|
99
|
-
// Fallback to anchor
|
|
100
|
-
anchor;
|
|
101
|
-
elementToFocus === null || elementToFocus === void 0 ? void 0 : elementToFocus.focus({
|
|
102
|
-
preventScroll: true
|
|
103
|
-
});
|
|
104
|
-
}, 0);
|
|
105
|
-
};
|
|
106
|
-
}, [anchorRef, focusAnchorOnClose, parentElement, popoverElement]);
|
|
107
|
-
return /*#__PURE__*/React__default.createElement(OnBeforeUnmount, {
|
|
108
|
-
callbackRef: onBeforeUnmountRef
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Popper js modifier to fit popover min width to the anchor width.
|
|
114
|
-
*/
|
|
115
|
-
const sameWidth = memoize(anchorWidthOption => ({
|
|
116
|
-
name: 'sameWidth',
|
|
117
|
-
enabled: true,
|
|
118
|
-
phase: 'beforeWrite',
|
|
119
|
-
requires: ['computeStyles'],
|
|
120
|
-
fn(_ref) {
|
|
121
|
-
let {
|
|
122
|
-
state
|
|
123
|
-
} = _ref;
|
|
124
|
-
// eslint-disable-next-line no-param-reassign
|
|
125
|
-
state.styles.popper[anchorWidthOption] = `${state.rects.reference.width}px`;
|
|
126
|
-
},
|
|
127
|
-
effect(_ref2) {
|
|
128
|
-
let {
|
|
129
|
-
state
|
|
130
|
-
} = _ref2;
|
|
131
|
-
// eslint-disable-next-line no-param-reassign
|
|
132
|
-
state.elements.popper.style[anchorWidthOption] = `${state.elements.reference.offsetWidth}px`;
|
|
133
|
-
}
|
|
134
|
-
}));
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Popper js modifier to compute max size of the popover.
|
|
138
|
-
*/
|
|
139
|
-
const maxSize = {
|
|
140
|
-
name: 'maxSize',
|
|
141
|
-
enabled: true,
|
|
142
|
-
phase: 'main',
|
|
143
|
-
requiresIfExists: ['offset', 'preventOverflow', 'flip'],
|
|
144
|
-
fn(_ref3) {
|
|
145
|
-
let {
|
|
146
|
-
state,
|
|
147
|
-
name,
|
|
148
|
-
options
|
|
149
|
-
} = _ref3;
|
|
150
|
-
const overflow = detectOverflow(state, options);
|
|
151
|
-
const {
|
|
152
|
-
y = 0,
|
|
153
|
-
x = 0
|
|
154
|
-
} = state.modifiersData.preventOverflow;
|
|
155
|
-
const {
|
|
156
|
-
width,
|
|
157
|
-
height
|
|
158
|
-
} = state.rects.popper;
|
|
159
|
-
const [basePlacement] = state.placement.split('-');
|
|
160
|
-
const widthProp = basePlacement === 'left' ? 'left' : 'right';
|
|
161
|
-
const heightProp = basePlacement === 'top' ? 'top' : 'bottom';
|
|
162
|
-
// eslint-disable-next-line no-param-reassign
|
|
163
|
-
state.modifiersData[name] = {
|
|
164
|
-
width: width - overflow[widthProp] - x,
|
|
165
|
-
height: height - overflow[heightProp] - y
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Popper js modifier to apply the max height.
|
|
172
|
-
*/
|
|
173
|
-
const applyMaxHeight = {
|
|
174
|
-
name: 'applyMaxHeight',
|
|
175
|
-
enabled: true,
|
|
176
|
-
phase: 'beforeWrite',
|
|
177
|
-
requires: ['maxSize'],
|
|
178
|
-
fn(_ref4) {
|
|
179
|
-
let {
|
|
180
|
-
state
|
|
181
|
-
} = _ref4;
|
|
182
|
-
const {
|
|
183
|
-
height
|
|
184
|
-
} = state.modifiersData.maxSize;
|
|
185
|
-
// eslint-disable-next-line no-param-reassign
|
|
186
|
-
state.elements.popper.style.maxHeight = `${height - ARROW_SIZE}px`;
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
function usePopoverStyle(_ref5) {
|
|
190
|
-
var _offset$along, _offset$away, _state$placement, _state$rects$popper$y, _state$rects, _state$rects$popper;
|
|
191
|
-
let {
|
|
192
|
-
offset,
|
|
193
|
-
hasArrow,
|
|
194
|
-
fitToAnchorWidth,
|
|
195
|
-
fitWithinViewportHeight,
|
|
196
|
-
boundaryRef,
|
|
197
|
-
anchorRef,
|
|
198
|
-
children,
|
|
199
|
-
placement,
|
|
200
|
-
style,
|
|
201
|
-
zIndex
|
|
202
|
-
} = _ref5;
|
|
203
|
-
const [popperElement, setPopperElement] = useState(null);
|
|
204
|
-
const [arrowElement, setArrowElement] = useState(null);
|
|
205
|
-
const actualOffset = [(_offset$along = offset === null || offset === void 0 ? void 0 : offset.along) !== null && _offset$along !== void 0 ? _offset$along : 0, ((_offset$away = offset === null || offset === void 0 ? void 0 : offset.away) !== null && _offset$away !== void 0 ? _offset$away : 0) + (hasArrow ? ARROW_SIZE : 0)];
|
|
206
|
-
const modifiers = [{
|
|
207
|
-
name: 'offset',
|
|
208
|
-
options: {
|
|
209
|
-
offset: actualOffset
|
|
210
|
-
}
|
|
211
|
-
}];
|
|
212
|
-
if (hasArrow && arrowElement) {
|
|
213
|
-
modifiers.push({
|
|
214
|
-
name: 'arrow',
|
|
215
|
-
options: {
|
|
216
|
-
element: arrowElement,
|
|
217
|
-
padding: ARROW_SIZE / 2
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
if (fitToAnchorWidth) {
|
|
222
|
-
const fitWidth = typeof fitToAnchorWidth === 'string' ? fitToAnchorWidth : FitAnchorWidth.MIN_WIDTH;
|
|
223
|
-
modifiers.push(sameWidth(fitWidth));
|
|
224
|
-
}
|
|
225
|
-
if (fitWithinViewportHeight) {
|
|
226
|
-
modifiers.push(_objectSpread2(_objectSpread2({}, maxSize), {}, {
|
|
227
|
-
options: {
|
|
228
|
-
boundary: boundaryRef === null || boundaryRef === void 0 ? void 0 : boundaryRef.current
|
|
229
|
-
}
|
|
230
|
-
}), applyMaxHeight);
|
|
231
|
-
}
|
|
232
|
-
if (boundaryRef) {
|
|
233
|
-
modifiers.push({
|
|
234
|
-
name: 'flip',
|
|
235
|
-
options: {
|
|
236
|
-
boundary: boundaryRef.current
|
|
237
|
-
}
|
|
238
|
-
}, {
|
|
239
|
-
name: 'preventOverflow',
|
|
240
|
-
options: {
|
|
241
|
-
boundary: boundaryRef.current
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
const {
|
|
246
|
-
styles,
|
|
247
|
-
attributes,
|
|
248
|
-
state,
|
|
249
|
-
update
|
|
250
|
-
} = usePopper(anchorRef.current, popperElement, {
|
|
251
|
-
placement,
|
|
252
|
-
modifiers
|
|
253
|
-
});
|
|
254
|
-
useEffect(() => {
|
|
255
|
-
update === null || update === void 0 ? void 0 : update();
|
|
256
|
-
}, [children, update]);
|
|
257
|
-
const position = (_state$placement = state === null || state === void 0 ? void 0 : state.placement) !== null && _state$placement !== void 0 ? _state$placement : placement;
|
|
258
|
-
const popoverStyle = useMemo(() => {
|
|
259
|
-
const newStyles = _objectSpread2(_objectSpread2(_objectSpread2({}, style), styles.popper), {}, {
|
|
260
|
-
zIndex
|
|
261
|
-
});
|
|
262
|
-
if (fitWithinViewportHeight && !newStyles.maxHeight) {
|
|
263
|
-
newStyles.maxHeight = (WINDOW === null || WINDOW === void 0 ? void 0 : WINDOW.innerHeight) || (DOCUMENT === null || DOCUMENT === void 0 ? void 0 : DOCUMENT.documentElement.clientHeight);
|
|
264
|
-
}
|
|
265
|
-
return newStyles;
|
|
266
|
-
}, [style, styles.popper, zIndex, fitWithinViewportHeight]);
|
|
267
|
-
return {
|
|
268
|
-
styles: {
|
|
269
|
-
arrow: styles.arrow,
|
|
270
|
-
popover: popoverStyle
|
|
271
|
-
},
|
|
272
|
-
attributes,
|
|
273
|
-
isPositioned: ((_state$rects$popper$y = state === null || state === void 0 ? void 0 : (_state$rects = state.rects) === null || _state$rects === void 0 ? void 0 : (_state$rects$popper = _state$rects.popper) === null || _state$rects$popper === void 0 ? void 0 : _state$rects$popper.y) !== null && _state$rects$popper$y !== void 0 ? _state$rects$popper$y : -1) >= 0,
|
|
274
|
-
position,
|
|
275
|
-
setArrowElement,
|
|
276
|
-
setPopperElement,
|
|
277
|
-
popperElement
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
const _excluded = ["anchorRef", "as", "children", "className", "closeOnClickAway", "closeOnEscape", "elevation", "focusElement", "hasArrow", "isOpen", "onClose", "parentElement", "usePortal", "focusAnchorOnClose", "withFocusTrap", "boundaryRef", "fitToAnchorWidth", "fitWithinViewportHeight", "focusTrapZoneElement", "offset", "placement", "style", "theme", "zIndex"];
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* Defines the props of the component.
|
|
285
|
-
*/
|
|
286
|
-
|
|
287
|
-
/**
|
|
288
|
-
* Component display name.
|
|
289
|
-
*/
|
|
290
|
-
const COMPONENT_NAME = 'Popover';
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Component default class name and class prefix.
|
|
294
|
-
*/
|
|
295
|
-
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Component default props.
|
|
299
|
-
*/
|
|
300
|
-
const DEFAULT_PROPS = {
|
|
301
|
-
elevation: 3,
|
|
302
|
-
placement: Placement.AUTO,
|
|
303
|
-
focusAnchorOnClose: true,
|
|
304
|
-
usePortal: true,
|
|
305
|
-
zIndex: POPOVER_ZINDEX
|
|
306
|
-
};
|
|
307
|
-
|
|
308
|
-
/** Method to render the popover inside a portal if usePortal is true */
|
|
309
|
-
const renderPopover = (children, usePortal) => {
|
|
310
|
-
return usePortal ? /*#__PURE__*/createPortal(children, document.body) : children;
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
// Inner component (must be wrapped before export)
|
|
314
|
-
const _InnerPopover = forwardRef((props, ref) => {
|
|
315
|
-
const {
|
|
316
|
-
anchorRef,
|
|
317
|
-
as: Component = 'div',
|
|
318
|
-
children,
|
|
319
|
-
className,
|
|
320
|
-
closeOnClickAway,
|
|
321
|
-
closeOnEscape,
|
|
322
|
-
elevation,
|
|
323
|
-
focusElement,
|
|
324
|
-
hasArrow,
|
|
325
|
-
isOpen,
|
|
326
|
-
onClose,
|
|
327
|
-
parentElement,
|
|
328
|
-
usePortal,
|
|
329
|
-
focusAnchorOnClose,
|
|
330
|
-
withFocusTrap,
|
|
331
|
-
boundaryRef,
|
|
332
|
-
fitToAnchorWidth,
|
|
333
|
-
fitWithinViewportHeight,
|
|
334
|
-
focusTrapZoneElement,
|
|
335
|
-
offset,
|
|
336
|
-
placement,
|
|
337
|
-
style,
|
|
338
|
-
theme,
|
|
339
|
-
zIndex
|
|
340
|
-
} = props,
|
|
341
|
-
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
342
|
-
const popoverRef = useRef(null);
|
|
343
|
-
const {
|
|
344
|
-
styles,
|
|
345
|
-
attributes,
|
|
346
|
-
isPositioned,
|
|
347
|
-
position,
|
|
348
|
-
setArrowElement,
|
|
349
|
-
setPopperElement,
|
|
350
|
-
popperElement
|
|
351
|
-
} = usePopoverStyle({
|
|
352
|
-
offset,
|
|
353
|
-
hasArrow,
|
|
354
|
-
fitToAnchorWidth,
|
|
355
|
-
fitWithinViewportHeight,
|
|
356
|
-
boundaryRef,
|
|
357
|
-
anchorRef,
|
|
358
|
-
children,
|
|
359
|
-
placement,
|
|
360
|
-
style,
|
|
361
|
-
zIndex
|
|
362
|
-
});
|
|
363
|
-
const unmountSentinel = useRestoreFocusOnClose({
|
|
364
|
-
focusAnchorOnClose,
|
|
365
|
-
anchorRef,
|
|
366
|
-
parentElement
|
|
367
|
-
}, popperElement);
|
|
368
|
-
const focusZoneElement = (focusTrapZoneElement === null || focusTrapZoneElement === void 0 ? void 0 : focusTrapZoneElement.current) || (popoverRef === null || popoverRef === void 0 ? void 0 : popoverRef.current);
|
|
369
|
-
useCallbackOnEscape(onClose, isOpen && closeOnEscape);
|
|
370
|
-
|
|
371
|
-
/** Only set focus within if the focus trap is disabled as they interfere with one another. */
|
|
372
|
-
useFocus(focusElement === null || focusElement === void 0 ? void 0 : focusElement.current, !withFocusTrap && isOpen && isPositioned);
|
|
373
|
-
useFocusTrap(withFocusTrap && isOpen && focusZoneElement, focusElement === null || focusElement === void 0 ? void 0 : focusElement.current);
|
|
374
|
-
const clickAwayRefs = useRef([popoverRef, anchorRef]);
|
|
375
|
-
const mergedRefs = useMergeRefs(setPopperElement, ref, popoverRef);
|
|
376
|
-
return isOpen ? renderPopover( /*#__PURE__*/React__default.createElement(Component, _extends({}, forwardedProps, {
|
|
377
|
-
ref: mergedRefs,
|
|
378
|
-
className: classNames(className, handleBasicClasses({
|
|
379
|
-
prefix: CLASSNAME,
|
|
380
|
-
theme,
|
|
381
|
-
elevation: Math.min(elevation || 0, 5),
|
|
382
|
-
position
|
|
383
|
-
})),
|
|
384
|
-
style: styles.popover
|
|
385
|
-
}, attributes.popper), unmountSentinel, /*#__PURE__*/React__default.createElement(ClickAwayProvider, {
|
|
386
|
-
callback: closeOnClickAway && onClose,
|
|
387
|
-
childrenRefs: clickAwayRefs
|
|
388
|
-
}, hasArrow && /*#__PURE__*/React__default.createElement("div", {
|
|
389
|
-
ref: setArrowElement,
|
|
390
|
-
className: `${CLASSNAME}__arrow`,
|
|
391
|
-
style: styles.arrow
|
|
392
|
-
}, /*#__PURE__*/React__default.createElement("svg", {
|
|
393
|
-
viewBox: "0 0 14 14",
|
|
394
|
-
"aria-hidden": true
|
|
395
|
-
}, /*#__PURE__*/React__default.createElement("path", {
|
|
396
|
-
d: "M8 3.49C7.62 2.82 6.66 2.82 6.27 3.48L.04 14 14.04 14 8 3.49Z"
|
|
397
|
-
}))), /*#__PURE__*/React__default.createElement(ThemeProvider, {
|
|
398
|
-
value: undefined
|
|
399
|
-
}, children))), usePortal) : null;
|
|
400
|
-
});
|
|
401
|
-
_InnerPopover.displayName = COMPONENT_NAME;
|
|
402
|
-
|
|
403
|
-
/**
|
|
404
|
-
* Popover component.
|
|
405
|
-
*
|
|
406
|
-
* @param props Component props.
|
|
407
|
-
* @param ref Component ref.
|
|
408
|
-
* @return React element.
|
|
409
|
-
*/
|
|
410
|
-
const Popover = skipRender(
|
|
411
|
-
// Skip render in SSR
|
|
412
|
-
() => Boolean(DOCUMENT), _InnerPopover);
|
|
413
|
-
Popover.displayName = COMPONENT_NAME;
|
|
414
|
-
Popover.className = CLASSNAME;
|
|
415
|
-
Popover.defaultProps = DEFAULT_PROPS;
|
|
416
|
-
|
|
417
|
-
export { Popover as P, useFocus as u };
|
|
418
|
-
//# sourceMappingURL=54d9ded5.js.map
|