@lumx/react 3.0.2-alpha-react-utils.2 → 3.0.2-alpha-react-utils.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/{6340c129.js → ClickAwayProvider.js} +107 -2
- package/_internal/ClickAwayProvider.js.map +1 -0
- package/_internal/{eca6d4dc.d.ts → types.d.ts} +1 -1
- package/index.d.ts +2627 -56
- package/index.js +12438 -56
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/utils/index.d.ts +1 -1
- package/utils/index.js +1 -1
- package/_internal/0062d1bc.js +0 -220
- package/_internal/0062d1bc.js.map +0 -1
- package/_internal/03e8323d.d.ts +0 -118
- package/_internal/0402f9bc.d.ts +0 -183
- package/_internal/0b370acc.js +0 -796
- package/_internal/0b370acc.js.map +0 -1
- package/_internal/0d154d73.d.ts +0 -67
- package/_internal/113e3b40.d.ts +0 -31
- package/_internal/12ab39e4.js +0 -58
- package/_internal/12ab39e4.js.map +0 -1
- package/_internal/13e759f3.js +0 -343
- package/_internal/13e759f3.js.map +0 -1
- package/_internal/158b46d5.js +0 -151
- package/_internal/158b46d5.js.map +0 -1
- package/_internal/17b74e16.d.ts +0 -31
- package/_internal/1b1530a4.d.ts +0 -43
- package/_internal/20976405.js +0 -87
- package/_internal/20976405.js.map +0 -1
- package/_internal/20b0e9a5.d.ts +0 -77
- package/_internal/26cd9c63.js +0 -118
- package/_internal/26cd9c63.js.map +0 -1
- package/_internal/27f21164.js +0 -79
- package/_internal/27f21164.js.map +0 -1
- package/_internal/288dfd0f.js +0 -13
- package/_internal/288dfd0f.js.map +0 -1
- package/_internal/28aaf23a.d.ts +0 -41
- package/_internal/2c829c0b.d.ts +0 -57
- package/_internal/2cc0aec5.js +0 -86
- package/_internal/2cc0aec5.js.map +0 -1
- package/_internal/2d0a5b28.js +0 -23
- package/_internal/2d0a5b28.js.map +0 -1
- package/_internal/2d4b5a5e.d.ts +0 -92
- package/_internal/2d770113.d.ts +0 -38
- package/_internal/2fe97f00.js +0 -291
- package/_internal/2fe97f00.js.map +0 -1
- package/_internal/31c16fa0.d.ts +0 -37
- package/_internal/329a01d3.js +0 -25
- package/_internal/329a01d3.js.map +0 -1
- package/_internal/3326e990.js +0 -168
- package/_internal/3326e990.js.map +0 -1
- package/_internal/377b2f44.js +0 -70
- package/_internal/377b2f44.js.map +0 -1
- package/_internal/3b8d2a6e.js +0 -124
- package/_internal/3b8d2a6e.js.map +0 -1
- package/_internal/3bd3186e.d.ts +0 -57
- package/_internal/48e40868.js +0 -101
- package/_internal/48e40868.js.map +0 -1
- package/_internal/490ec1da.js +0 -322
- package/_internal/490ec1da.js.map +0 -1
- package/_internal/49127d69.d.ts +0 -52
- package/_internal/4dcd87cb.js +0 -78
- package/_internal/4dcd87cb.js.map +0 -1
- package/_internal/4f44d848.js +0 -157
- package/_internal/4f44d848.js.map +0 -1
- package/_internal/4fc64a2e.js +0 -27
- package/_internal/4fc64a2e.js.map +0 -1
- package/_internal/53a831be.js +0 -108
- package/_internal/53a831be.js.map +0 -1
- package/_internal/55271fa1.d.ts +0 -34
- package/_internal/55d30377.d.ts +0 -22
- package/_internal/56385b04.js +0 -116
- package/_internal/56385b04.js.map +0 -1
- package/_internal/599e250a.d.ts +0 -88
- package/_internal/5a054691.d.ts +0 -33
- package/_internal/5a127b58.js +0 -82
- package/_internal/5a127b58.js.map +0 -1
- package/_internal/5a1c0db4.js +0 -156
- package/_internal/5a1c0db4.js.map +0 -1
- package/_internal/5babcc39.js +0 -147
- package/_internal/5babcc39.js.map +0 -1
- package/_internal/5c1bf4d4.d.ts +0 -81
- package/_internal/5d8ed4ee.js +0 -113
- package/_internal/5d8ed4ee.js.map +0 -1
- package/_internal/616f2912.js +0 -301
- package/_internal/616f2912.js.map +0 -1
- package/_internal/61f915de.d.ts +0 -49
- package/_internal/620081fa.js +0 -122
- package/_internal/620081fa.js.map +0 -1
- package/_internal/6340c129.js.map +0 -1
- package/_internal/6581c863.d.ts +0 -34
- package/_internal/66de4d45.d.ts +0 -32
- package/_internal/6735c5c8.d.ts +0 -62
- package/_internal/69dd1472.js +0 -112
- package/_internal/69dd1472.js.map +0 -1
- package/_internal/6a0e1c77.js +0 -327
- package/_internal/6a0e1c77.js.map +0 -1
- package/_internal/701c20b0.d.ts +0 -24
- package/_internal/7391188a.js +0 -81
- package/_internal/7391188a.js.map +0 -1
- package/_internal/74cb6c26.js +0 -136
- package/_internal/74cb6c26.js.map +0 -1
- package/_internal/761031bf.js +0 -314
- package/_internal/761031bf.js.map +0 -1
- package/_internal/76fed69d.js +0 -50
- package/_internal/76fed69d.js.map +0 -1
- package/_internal/78ef8e34.js +0 -40
- package/_internal/78ef8e34.js.map +0 -1
- package/_internal/7b906e16.d.ts +0 -17
- package/_internal/7be11ddc.d.ts +0 -35
- package/_internal/7d39705e.d.ts +0 -20
- package/_internal/7e03266f.js +0 -47
- package/_internal/7e03266f.js.map +0 -1
- package/_internal/7e8d0ac5.js +0 -84
- package/_internal/7e8d0ac5.js.map +0 -1
- package/_internal/7ffa45f6.js +0 -48
- package/_internal/7ffa45f6.js.map +0 -1
- package/_internal/84c1ec44.js +0 -257
- package/_internal/84c1ec44.js.map +0 -1
- package/_internal/8518279f.js +0 -96
- package/_internal/8518279f.js.map +0 -1
- package/_internal/853713cd.js +0 -25
- package/_internal/853713cd.js.map +0 -1
- package/_internal/86566d75.d.ts +0 -27
- package/_internal/86d22dde.d.ts +0 -57
- package/_internal/8e755ded.d.ts +0 -101
- package/_internal/901471f5.d.ts +0 -37
- package/_internal/935ce959.d.ts +0 -49
- package/_internal/97089888.d.ts +0 -16
- package/_internal/97cc728c.d.ts +0 -26
- package/_internal/9ab3c637.js +0 -2474
- package/_internal/9ab3c637.js.map +0 -1
- package/_internal/9ca3f59c.js +0 -60
- package/_internal/9ca3f59c.js.map +0 -1
- package/_internal/9e95ea38.d.ts +0 -43
- package/_internal/a0108f92.js +0 -84
- package/_internal/a0108f92.js.map +0 -1
- package/_internal/a493a193.d.ts +0 -65
- package/_internal/a521723d.js +0 -120
- package/_internal/a521723d.js.map +0 -1
- package/_internal/a6fad025.d.ts +0 -107
- package/_internal/a8fa525f.js +0 -124
- package/_internal/a8fa525f.js.map +0 -1
- package/_internal/aca2ecf5.js +0 -141
- package/_internal/aca2ecf5.js.map +0 -1
- package/_internal/aef2ef1c.js +0 -53
- package/_internal/aef2ef1c.js.map +0 -1
- package/_internal/af048b0c.js +0 -89
- package/_internal/af048b0c.js.map +0 -1
- package/_internal/af2cd0cd.d.ts +0 -17
- package/_internal/afec6b62.js +0 -864
- package/_internal/afec6b62.js.map +0 -1
- package/_internal/b0eb3a30.js +0 -72
- package/_internal/b0eb3a30.js.map +0 -1
- package/_internal/b89517ea.js +0 -275
- package/_internal/b89517ea.js.map +0 -1
- package/_internal/bafa6fcc.js +0 -116
- package/_internal/bafa6fcc.js.map +0 -1
- package/_internal/bbbeb49e.js +0 -47
- package/_internal/bbbeb49e.js.map +0 -1
- package/_internal/c11f6162.d.ts +0 -52
- package/_internal/c723dab4.js +0 -133
- package/_internal/c723dab4.js.map +0 -1
- package/_internal/c87cc857.d.ts +0 -42
- package/_internal/c97f8d04.js +0 -424
- package/_internal/c97f8d04.js.map +0 -1
- package/_internal/cbb373ea.d.ts +0 -6
- package/_internal/cbef23b6.d.ts +0 -104
- package/_internal/cdf77f06.d.ts +0 -88
- package/_internal/d350f2ff.js +0 -105
- package/_internal/d350f2ff.js.map +0 -1
- package/_internal/d71a8cf7.js +0 -54
- package/_internal/d71a8cf7.js.map +0 -1
- package/_internal/d9337952.js +0 -96
- package/_internal/d9337952.js.map +0 -1
- package/_internal/def14e1a.d.ts +0 -24
- package/_internal/e0cd29c7.d.ts +0 -35
- package/_internal/e354228f.js +0 -145
- package/_internal/e354228f.js.map +0 -1
- package/_internal/e3922a05.d.ts +0 -22
- package/_internal/e3cb6177.d.ts +0 -75
- package/_internal/e810c841.d.ts +0 -182
- package/_internal/ea700b01.d.ts +0 -43
- package/_internal/eed07003.js +0 -122
- package/_internal/eed07003.js.map +0 -1
- package/_internal/f1c9b334.d.ts +0 -22
- package/_internal/f3c3a674.js +0 -281
- package/_internal/f3c3a674.js.map +0 -1
- package/_internal/f571cdcd.js +0 -132
- package/_internal/f571cdcd.js.map +0 -1
- package/_internal/f5bdff7e.js +0 -282
- package/_internal/f5bdff7e.js.map +0 -1
- package/_internal/f851fc00.d.ts +0 -34
- package/_internal/f859b007.d.ts +0 -49
- package/_internal/fb384b79.d.ts +0 -38
- package/_internal/fc4c034b.js +0 -63
- package/_internal/fc4c034b.js.map +0 -1
- package/_internal/fc608bd9.js +0 -16
- package/_internal/fc608bd9.js.map +0 -1
- package/_internal/fd1f4d68.d.ts +0 -36
- package/_internal/fd867c9d.js +0 -346
- package/_internal/fd867c9d.js.map +0 -1
- package/_internal/ff8081e5.js +0 -57
- package/_internal/ff8081e5.js.map +0 -1
- package/_internal/ffd1bfe3.js +0 -123
- package/_internal/ffd1bfe3.js.map +0 -1
- package/components/alert-dialog.d.ts +0 -6
- package/components/alert-dialog.js +0 -2
- package/components/alert-dialog.js.map +0 -1
- package/components/autocomplete.d.ts +0 -8
- package/components/autocomplete.js +0 -2
- package/components/autocomplete.js.map +0 -1
- package/components/avatar.d.ts +0 -4
- package/components/avatar.js +0 -2
- package/components/avatar.js.map +0 -1
- package/components/badge.d.ts +0 -3
- package/components/badge.js +0 -2
- package/components/badge.js.map +0 -1
- package/components/button.d.ts +0 -8
- package/components/button.js +0 -4
- package/components/button.js.map +0 -1
- package/components/checkbox.d.ts +0 -3
- package/components/checkbox.js +0 -2
- package/components/checkbox.js.map +0 -1
- package/components/chip.d.ts +0 -3
- package/components/chip.js +0 -3
- package/components/chip.js.map +0 -1
- package/components/comment-block.d.ts +0 -5
- package/components/comment-block.js +0 -2
- package/components/comment-block.js.map +0 -1
- package/components/date-picker.d.ts +0 -7
- package/components/date-picker.js +0 -2
- package/components/date-picker.js.map +0 -1
- package/components/dialog.d.ts +0 -3
- package/components/dialog.js +0 -2
- package/components/dialog.js.map +0 -1
- package/components/divider.d.ts +0 -3
- package/components/divider.js +0 -2
- package/components/divider.js.map +0 -1
- package/components/drag-handle.d.ts +0 -3
- package/components/drag-handle.js +0 -2
- package/components/drag-handle.js.map +0 -1
- package/components/dropdown.d.ts +0 -4
- package/components/dropdown.js +0 -2
- package/components/dropdown.js.map +0 -1
- package/components/expansion-panel.d.ts +0 -7
- package/components/expansion-panel.js +0 -2
- package/components/expansion-panel.js.map +0 -1
- package/components/flag.d.ts +0 -3
- package/components/flag.js +0 -2
- package/components/flag.js.map +0 -1
- package/components/flex-box.d.ts +0 -3
- package/components/flex-box.js +0 -2
- package/components/flex-box.js.map +0 -1
- package/components/generic-block.d.ts +0 -4
- package/components/generic-block.js +0 -2
- package/components/generic-block.js.map +0 -1
- package/components/grid.d.ts +0 -3
- package/components/grid.js +0 -2
- package/components/grid.js.map +0 -1
- package/components/heading.d.ts +0 -4
- package/components/heading.js +0 -2
- package/components/heading.js.map +0 -1
- package/components/icon.d.ts +0 -3
- package/components/icon.js +0 -2
- package/components/icon.js.map +0 -1
- package/components/image-block.d.ts +0 -4
- package/components/image-block.js +0 -2
- package/components/image-block.js.map +0 -1
- package/components/input-helper.d.ts +0 -3
- package/components/input-helper.js +0 -2
- package/components/input-helper.js.map +0 -1
- package/components/input-label.d.ts +0 -3
- package/components/input-label.js +0 -2
- package/components/input-label.js.map +0 -1
- package/components/lightbox.d.ts +0 -7
- package/components/lightbox.js +0 -2
- package/components/lightbox.js.map +0 -1
- package/components/link-preview.d.ts +0 -5
- package/components/link-preview.js +0 -2
- package/components/link-preview.js.map +0 -1
- package/components/link.d.ts +0 -3
- package/components/link.js +0 -2
- package/components/link.js.map +0 -1
- package/components/list.d.ts +0 -3
- package/components/list.js +0 -3
- package/components/list.js.map +0 -1
- package/components/message.d.ts +0 -3
- package/components/message.js +0 -2
- package/components/message.js.map +0 -1
- package/components/mosaic.d.ts +0 -4
- package/components/mosaic.js +0 -2
- package/components/mosaic.js.map +0 -1
- package/components/notification.d.ts +0 -3
- package/components/notification.js +0 -2
- package/components/notification.js.map +0 -1
- package/components/popover.d.ts +0 -3
- package/components/popover.js +0 -2
- package/components/popover.js.map +0 -1
- package/components/post-block.d.ts +0 -4
- package/components/post-block.js +0 -2
- package/components/post-block.js.map +0 -1
- package/components/progress-tracker.d.ts +0 -3
- package/components/progress-tracker.js +0 -2
- package/components/progress-tracker.js.map +0 -1
- package/components/progress.d.ts +0 -3
- package/components/progress.js +0 -2
- package/components/progress.js.map +0 -1
- package/components/radio-button.d.ts +0 -3
- package/components/radio-button.js +0 -2
- package/components/radio-button.js.map +0 -1
- package/components/select.d.ts +0 -7
- package/components/select.js +0 -2
- package/components/select.js.map +0 -1
- package/components/side-navigation.d.ts +0 -7
- package/components/side-navigation.js +0 -2
- package/components/side-navigation.js.map +0 -1
- package/components/skeleton.d.ts +0 -3
- package/components/skeleton.js +0 -2
- package/components/skeleton.js.map +0 -1
- package/components/slider.d.ts +0 -3
- package/components/slider.js +0 -2
- package/components/slider.js.map +0 -1
- package/components/slideshow.d.ts +0 -7
- package/components/slideshow.js +0 -2
- package/components/slideshow.js.map +0 -1
- package/components/switch.d.ts +0 -3
- package/components/switch.js +0 -2
- package/components/switch.js.map +0 -1
- package/components/table.d.ts +0 -3
- package/components/table.js +0 -2
- package/components/table.js.map +0 -1
- package/components/tabs.d.ts +0 -4
- package/components/tabs.js +0 -2
- package/components/tabs.js.map +0 -1
- package/components/text-field.d.ts +0 -7
- package/components/text-field.js +0 -2
- package/components/text-field.js.map +0 -1
- package/components/text.d.ts +0 -3
- package/components/text.js +0 -2
- package/components/text.js.map +0 -1
- package/components/thumbnail.d.ts +0 -4
- package/components/thumbnail.js +0 -3
- package/components/thumbnail.js.map +0 -1
- package/components/toolbar.d.ts +0 -3
- package/components/toolbar.js +0 -2
- package/components/toolbar.js.map +0 -1
- package/components/tooltip.d.ts +0 -4
- package/components/tooltip.js +0 -2
- package/components/tooltip.js.map +0 -1
- package/components/uploader.d.ts +0 -3
- package/components/uploader.js +0 -2
- package/components/uploader.js.map +0 -1
- package/components/user-block.d.ts +0 -5
- package/components/user-block.js +0 -2
- package/components/user-block.js.map +0 -1
- package/components.d.ts +0 -2
- package/components.js +0 -156
- package/components.js.map +0 -1
package/_internal/5babcc39.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { b as _objectWithoutProperties, c as _extends } from './6340c129.js';
|
|
2
|
-
import { Theme } from '../components.js';
|
|
3
|
-
import React, { forwardRef, useMemo } from 'react';
|
|
4
|
-
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './fd867c9d.js';
|
|
5
|
-
import { u as uid } from './fc608bd9.js';
|
|
6
|
-
import { I as InputHelper } from './b0eb3a30.js';
|
|
7
|
-
import { I as InputLabel } from './12ab39e4.js';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Defines the props of the component.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Component display name.
|
|
15
|
-
*/
|
|
16
|
-
var COMPONENT_NAME = 'RadioButton';
|
|
17
|
-
/**
|
|
18
|
-
* Component default class name and class prefix.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
var CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
22
|
-
/**
|
|
23
|
-
* Component default props.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
var DEFAULT_PROPS = {
|
|
27
|
-
theme: Theme.light
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* RadioButton component.
|
|
31
|
-
*
|
|
32
|
-
* @param props Component props.
|
|
33
|
-
* @param ref Component ref.
|
|
34
|
-
* @return React element.
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
var RadioButton = forwardRef(function (props, ref) {
|
|
38
|
-
var checked = props.checked,
|
|
39
|
-
className = props.className,
|
|
40
|
-
disabled = props.disabled,
|
|
41
|
-
helper = props.helper,
|
|
42
|
-
id = props.id,
|
|
43
|
-
inputRef = props.inputRef,
|
|
44
|
-
_props$isChecked = props.isChecked,
|
|
45
|
-
isChecked = _props$isChecked === void 0 ? checked : _props$isChecked,
|
|
46
|
-
_props$isDisabled = props.isDisabled,
|
|
47
|
-
isDisabled = _props$isDisabled === void 0 ? disabled : _props$isDisabled,
|
|
48
|
-
label = props.label,
|
|
49
|
-
name = props.name,
|
|
50
|
-
onChange = props.onChange,
|
|
51
|
-
theme = props.theme,
|
|
52
|
-
value = props.value,
|
|
53
|
-
forwardedProps = _objectWithoutProperties(props, ["checked", "className", "disabled", "helper", "id", "inputRef", "isChecked", "isDisabled", "label", "name", "onChange", "theme", "value"]);
|
|
54
|
-
|
|
55
|
-
var radioButtonId = useMemo(function () {
|
|
56
|
-
return id || "".concat(CLASSNAME.toLowerCase(), "-").concat(uid());
|
|
57
|
-
}, [id]);
|
|
58
|
-
|
|
59
|
-
var handleChange = function handleChange(event) {
|
|
60
|
-
if (onChange) {
|
|
61
|
-
onChange(value, name, event);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return React.createElement("div", _extends({
|
|
66
|
-
ref: ref
|
|
67
|
-
}, forwardedProps, {
|
|
68
|
-
className: classnames(className, handleBasicClasses({
|
|
69
|
-
isChecked: isChecked,
|
|
70
|
-
isDisabled: isDisabled,
|
|
71
|
-
isUnchecked: !isChecked,
|
|
72
|
-
prefix: CLASSNAME,
|
|
73
|
-
theme: theme
|
|
74
|
-
}))
|
|
75
|
-
}), React.createElement("div", {
|
|
76
|
-
className: "".concat(CLASSNAME, "__input-wrapper")
|
|
77
|
-
}, React.createElement("input", {
|
|
78
|
-
ref: inputRef,
|
|
79
|
-
className: "".concat(CLASSNAME, "__input-native"),
|
|
80
|
-
disabled: isDisabled,
|
|
81
|
-
id: radioButtonId,
|
|
82
|
-
tabIndex: isDisabled ? -1 : 0,
|
|
83
|
-
type: "radio",
|
|
84
|
-
name: name,
|
|
85
|
-
value: value,
|
|
86
|
-
checked: isChecked,
|
|
87
|
-
onChange: handleChange
|
|
88
|
-
}), React.createElement("div", {
|
|
89
|
-
className: "".concat(CLASSNAME, "__input-placeholder")
|
|
90
|
-
}, React.createElement("div", {
|
|
91
|
-
className: "".concat(CLASSNAME, "__input-background")
|
|
92
|
-
}), React.createElement("div", {
|
|
93
|
-
className: "".concat(CLASSNAME, "__input-indicator")
|
|
94
|
-
}))), React.createElement("div", {
|
|
95
|
-
className: "".concat(CLASSNAME, "__content")
|
|
96
|
-
}, label && React.createElement(InputLabel, {
|
|
97
|
-
htmlFor: radioButtonId,
|
|
98
|
-
theme: theme,
|
|
99
|
-
className: "".concat(CLASSNAME, "__label")
|
|
100
|
-
}, label), helper && React.createElement(InputHelper, {
|
|
101
|
-
theme: theme,
|
|
102
|
-
className: "".concat(CLASSNAME, "__helper")
|
|
103
|
-
}, helper)));
|
|
104
|
-
});
|
|
105
|
-
RadioButton.displayName = COMPONENT_NAME;
|
|
106
|
-
RadioButton.className = CLASSNAME;
|
|
107
|
-
RadioButton.defaultProps = DEFAULT_PROPS;
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Defines the props of the component.
|
|
111
|
-
*/
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Component display name.
|
|
115
|
-
*/
|
|
116
|
-
var COMPONENT_NAME$1 = 'RadioGroup';
|
|
117
|
-
/**
|
|
118
|
-
* Component default class name and class prefix.
|
|
119
|
-
*/
|
|
120
|
-
|
|
121
|
-
var CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
|
|
122
|
-
/**
|
|
123
|
-
* RadioGroup component.
|
|
124
|
-
*
|
|
125
|
-
* @param props Component props.
|
|
126
|
-
* @param ref Component ref.
|
|
127
|
-
* @return React element.
|
|
128
|
-
*/
|
|
129
|
-
|
|
130
|
-
var RadioGroup = forwardRef(function (props, ref) {
|
|
131
|
-
var children = props.children,
|
|
132
|
-
className = props.className,
|
|
133
|
-
forwardedProps = _objectWithoutProperties(props, ["children", "className"]);
|
|
134
|
-
|
|
135
|
-
return React.createElement("div", _extends({
|
|
136
|
-
ref: ref
|
|
137
|
-
}, forwardedProps, {
|
|
138
|
-
className: classnames(className, handleBasicClasses({
|
|
139
|
-
prefix: CLASSNAME$1
|
|
140
|
-
}))
|
|
141
|
-
}), children);
|
|
142
|
-
});
|
|
143
|
-
RadioGroup.displayName = COMPONENT_NAME$1;
|
|
144
|
-
RadioGroup.className = CLASSNAME$1;
|
|
145
|
-
|
|
146
|
-
export { RadioButton as R, RadioGroup as a };
|
|
147
|
-
//# sourceMappingURL=5babcc39.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"5babcc39.js","sources":["../../src/components/radio-button/RadioButton.tsx","../../src/components/radio-button/RadioGroup.tsx"],"sourcesContent":["import React, { useMemo, forwardRef, ReactNode, SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\nimport { uid } from 'uid';\n\nimport { InputHelper, InputLabel, Theme } from '@lumx/react';\n\nimport { Comp, GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioButtonProps extends GenericProps, HasTheme {\n /** Helper text. */\n helper?: string;\n /** Native input id property. */\n id?: string;\n /** Native input ref. */\n inputRef?: React.Ref<HTMLInputElement>;\n /** Whether it is checked or not. */\n isChecked?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label content. */\n label?: ReactNode;\n /** Native input name property. */\n name?: string;\n /** Native input value property. */\n value?: string;\n /** On change callback. */\n onChange?(value?: string, name?: string, event?: SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioButton';\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<RadioButtonProps> = {\n theme: Theme.light,\n};\n\n/**\n * RadioButton component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioButton: Comp<RadioButtonProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n checked,\n className,\n disabled,\n helper,\n id,\n inputRef,\n isChecked = checked,\n isDisabled = disabled,\n label,\n name,\n onChange,\n theme,\n value,\n ...forwardedProps\n } = props;\n const radioButtonId = useMemo(() => id || `${CLASSNAME.toLowerCase()}-${uid()}`, [id]);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(value, name, event);\n }\n };\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n isChecked,\n isDisabled,\n isUnchecked: !isChecked,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n >\n <div className={`${CLASSNAME}__input-wrapper`}>\n <input\n ref={inputRef}\n className={`${CLASSNAME}__input-native`}\n disabled={isDisabled}\n id={radioButtonId}\n tabIndex={isDisabled ? -1 : 0}\n type=\"radio\"\n name={name}\n value={value}\n checked={isChecked}\n onChange={handleChange}\n />\n\n <div className={`${CLASSNAME}__input-placeholder`}>\n <div className={`${CLASSNAME}__input-background`} />\n <div className={`${CLASSNAME}__input-indicator`} />\n </div>\n </div>\n\n <div className={`${CLASSNAME}__content`}>\n {label && (\n <InputLabel htmlFor={radioButtonId} theme={theme} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n )}\n {helper && (\n <InputHelper theme={theme} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </div>\n </div>\n );\n});\nRadioButton.displayName = COMPONENT_NAME;\nRadioButton.className = CLASSNAME;\nRadioButton.defaultProps = DEFAULT_PROPS;\n","import React, { forwardRef, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Comp, GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioGroupProps extends GenericProps {\n /** RadioButton elements */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioGroup';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * RadioGroup component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioGroup: Comp<RadioGroupProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n }),\n )}\n >\n {children}\n </div>\n );\n});\nRadioGroup.displayName = COMPONENT_NAME;\nRadioGroup.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","theme","Theme","light","RadioButton","forwardRef","props","ref","checked","className","disabled","helper","id","inputRef","isChecked","isDisabled","label","name","onChange","value","forwardedProps","radioButtonId","useMemo","toLowerCase","uid","handleChange","event","classNames","handleBasicClasses","isUnchecked","prefix","displayName","defaultProps","RadioGroup","children"],"mappings":"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"}
|
package/_internal/5c1bf4d4.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { l as GenericProps, k as Comp } from './eca6d4dc.js';
|
|
3
|
-
import { a as PopoverProps, O as Offset, P as Placement } from './599e250a.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Defines the props of the component.
|
|
7
|
-
*/
|
|
8
|
-
interface DropdownProps extends GenericProps {
|
|
9
|
-
/**
|
|
10
|
-
* Reference to the element around which the dropdown is placed.
|
|
11
|
-
* @see {@link PopoverProps#anchorRef}
|
|
12
|
-
*/
|
|
13
|
-
anchorRef: PopoverProps['anchorRef'];
|
|
14
|
-
/** Dropdown content. */
|
|
15
|
-
children: React.ReactNode;
|
|
16
|
-
/**
|
|
17
|
-
* Whether a click anywhere out of the Dropdown would close it or not.
|
|
18
|
-
* @see {@link PopoverProps#closeOnClickAway}
|
|
19
|
-
*/
|
|
20
|
-
closeOnClickAway?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Whether to close the Dropdown when clicking in it or not.
|
|
23
|
-
*/
|
|
24
|
-
closeOnClick?: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Whether an escape key press would close the Dropdown or not.
|
|
27
|
-
* @see {@link PopoverProps#closeOnEscape}
|
|
28
|
-
*/
|
|
29
|
-
closeOnEscape?: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Whether the dropdown should fit to the anchor width (if dropdown is smaller) or not.
|
|
32
|
-
* @see {@link PopoverProps#fitToAnchorWidth}
|
|
33
|
-
*/
|
|
34
|
-
fitToAnchorWidth?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Whether the dropdown should shrink to fit within the viewport height or not.
|
|
37
|
-
* @see {@link PopoverProps#fitWithinViewportHeight}
|
|
38
|
-
*/
|
|
39
|
-
fitWithinViewportHeight?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Whether the dropdown should be displayed or not. Useful to control the Dropdown from outside the component.
|
|
42
|
-
* @see {@link PopoverProps#isOpen}
|
|
43
|
-
*/
|
|
44
|
-
isOpen: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Offset applied to the Dropdown position.
|
|
47
|
-
* @see {@link PopoverProps#offset}
|
|
48
|
-
*/
|
|
49
|
-
offset?: Offset;
|
|
50
|
-
/**
|
|
51
|
-
* Preferred Dropdown placement against the anchor element.
|
|
52
|
-
* @see {@link PopoverProps#placement}
|
|
53
|
-
*/
|
|
54
|
-
placement?: Placement;
|
|
55
|
-
/** Whether the focus should be set on the list when the dropdown is open or not. */
|
|
56
|
-
shouldFocusOnOpen?: boolean;
|
|
57
|
-
/** Whether the focus should go back on the anchor when dropdown closes and focus is within. */
|
|
58
|
-
focusAnchorOnClose?: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Z-axis position.
|
|
61
|
-
* @see {@link PopoverProps#zIndex}
|
|
62
|
-
*/
|
|
63
|
-
zIndex?: number;
|
|
64
|
-
/**
|
|
65
|
-
* On close callback.
|
|
66
|
-
* @see {@link PopoverProps#onClose}
|
|
67
|
-
*/
|
|
68
|
-
onClose?(): void;
|
|
69
|
-
/** On scroll end callback. */
|
|
70
|
-
onInfiniteScroll?(): void;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Dropdown component.
|
|
74
|
-
*
|
|
75
|
-
* @param props Component props.
|
|
76
|
-
* @param ref Component ref.
|
|
77
|
-
* @return React element.
|
|
78
|
-
*/
|
|
79
|
-
declare const Dropdown: Comp<DropdownProps, HTMLDivElement>;
|
|
80
|
-
|
|
81
|
-
export { DropdownProps as D, Dropdown as a };
|
package/_internal/5d8ed4ee.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
import { f as onEscapePressed } from './fd867c9d.js';
|
|
3
|
-
import { D as DOCUMENT } from './288dfd0f.js';
|
|
4
|
-
import last from 'lodash/last';
|
|
5
|
-
import pull from 'lodash/pull';
|
|
6
|
-
|
|
7
|
-
/** CSS selector listing all tabbable elements. */
|
|
8
|
-
var TABBABLE_ELEMENTS_SELECTOR = "a[href], button, textarea, input:not([type=\"hidden\"]):not([hidden]), [tabindex]";
|
|
9
|
-
/** CSS selector matching element that are disabled (should not receive focus). */
|
|
10
|
-
|
|
11
|
-
var DISABLED_SELECTOR = "[hidden], [tabindex=\"-1\"], [disabled]:not([disabled=\"false\"]), [aria-disabled]:not([aria-disabled=\"false\"])";
|
|
12
|
-
|
|
13
|
-
var isNotDisabled = function isNotDisabled(element) {
|
|
14
|
-
return !element.matches(DISABLED_SELECTOR);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
function getFocusableElements(element) {
|
|
18
|
-
return Array.from(element.querySelectorAll(TABBABLE_ELEMENTS_SELECTOR)).filter(isNotDisabled);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Get first and last elements focusable in an element.
|
|
23
|
-
*
|
|
24
|
-
* @param parentElement The element in which to search focusable elements.
|
|
25
|
-
* @return first and last focusable elements
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
function getFirstAndLastFocusable(parentElement) {
|
|
29
|
-
var focusableElements = getFocusableElements(parentElement); // First non disabled element.
|
|
30
|
-
|
|
31
|
-
var first = focusableElements[0]; // Last non disabled element.
|
|
32
|
-
|
|
33
|
-
var last = focusableElements[focusableElements.length - 1];
|
|
34
|
-
|
|
35
|
-
if (last && first) {
|
|
36
|
-
return {
|
|
37
|
-
first: first,
|
|
38
|
-
last: last
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return {};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Keep track of listeners, only the last registered listener gets activated at any point (previously registered
|
|
47
|
-
* listener are disabled).
|
|
48
|
-
* When a listener gets unregistered, the previously registered listener gets enabled again.
|
|
49
|
-
*/
|
|
50
|
-
function makeListenerTowerContext() {
|
|
51
|
-
var LISTENERS = [];
|
|
52
|
-
return {
|
|
53
|
-
register: function register(listener) {
|
|
54
|
-
var _last;
|
|
55
|
-
|
|
56
|
-
// Disable previous listener.
|
|
57
|
-
(_last = last(LISTENERS)) === null || _last === void 0 ? void 0 : _last.disable(); // Keep track of current listener.
|
|
58
|
-
|
|
59
|
-
LISTENERS.push(listener); // Enable current listener.
|
|
60
|
-
|
|
61
|
-
listener.enable();
|
|
62
|
-
},
|
|
63
|
-
unregister: function unregister(listener) {
|
|
64
|
-
var _last2;
|
|
65
|
-
|
|
66
|
-
// Disable current listener.
|
|
67
|
-
listener.disable(); // Remove current listener.
|
|
68
|
-
|
|
69
|
-
pull(LISTENERS, listener); // Enable previous listener.
|
|
70
|
-
|
|
71
|
-
(_last2 = last(LISTENERS)) === null || _last2 === void 0 ? void 0 : _last2.enable();
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
var LISTENERS = makeListenerTowerContext();
|
|
77
|
-
/**
|
|
78
|
-
* Register a global listener on 'Escape' key pressed.
|
|
79
|
-
*
|
|
80
|
-
* If multiple listener are registered, only the last one is maintained. When a listener is unregistered, the previous
|
|
81
|
-
* one gets activated again.
|
|
82
|
-
*
|
|
83
|
-
* @param callback Callback
|
|
84
|
-
* @param closeOnEscape Disables the hook when false
|
|
85
|
-
*/
|
|
86
|
-
|
|
87
|
-
function useCallbackOnEscape(callback) {
|
|
88
|
-
var closeOnEscape = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
89
|
-
useEffect(function () {
|
|
90
|
-
var rootElement = DOCUMENT === null || DOCUMENT === void 0 ? void 0 : DOCUMENT.body;
|
|
91
|
-
|
|
92
|
-
if (!closeOnEscape || !callback || !rootElement) {
|
|
93
|
-
return undefined;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
var onKeyDown = onEscapePressed(callback);
|
|
97
|
-
var listener = {
|
|
98
|
-
enable: function enable() {
|
|
99
|
-
return rootElement.addEventListener('keydown', onKeyDown);
|
|
100
|
-
},
|
|
101
|
-
disable: function disable() {
|
|
102
|
-
return rootElement.removeEventListener('keydown', onKeyDown);
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
LISTENERS.register(listener);
|
|
106
|
-
return function () {
|
|
107
|
-
return LISTENERS.unregister(listener);
|
|
108
|
-
};
|
|
109
|
-
}, [callback, closeOnEscape]);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export { getFocusableElements as a, getFirstAndLastFocusable as g, makeListenerTowerContext as m, useCallbackOnEscape as u };
|
|
113
|
-
//# sourceMappingURL=5d8ed4ee.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"5d8ed4ee.js","sources":["../../src/utils/focus/constants.ts","../../src/utils/focus/getFocusableElements.ts","../../src/utils/focus/getFirstAndLastFocusable.ts","../../src/utils/makeListenerTowerContext.ts","../../src/hooks/useCallbackOnEscape.ts"],"sourcesContent":["/** CSS selector listing all tabbable elements. */\nexport const TABBABLE_ELEMENTS_SELECTOR = `a[href], button, textarea, input:not([type=\"hidden\"]):not([hidden]), [tabindex]`;\n\n/** CSS selector matching element that are disabled (should not receive focus). */\nexport const DISABLED_SELECTOR = `[hidden], [tabindex=\"-1\"], [disabled]:not([disabled=\"false\"]), [aria-disabled]:not([aria-disabled=\"false\"])`;\n","import { DISABLED_SELECTOR, TABBABLE_ELEMENTS_SELECTOR } from './constants';\n\nconst isNotDisabled = (element: HTMLElement) => !element.matches(DISABLED_SELECTOR);\n\nexport function getFocusableElements(element: HTMLElement): HTMLElement[] {\n return Array.from(element.querySelectorAll<HTMLElement>(TABBABLE_ELEMENTS_SELECTOR)).filter(isNotDisabled);\n}\n","import { getFocusableElements } from './getFocusableElements';\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 */\nexport function getFirstAndLastFocusable(parentElement: HTMLElement) {\n const focusableElements = getFocusableElements(parentElement);\n\n // First non disabled element.\n const first = focusableElements[0];\n // Last non disabled element.\n const last = focusableElements[focusableElements.length - 1];\n\n if (last && first) {\n return { first, last };\n }\n return {};\n}\n","import last from 'lodash/last';\nimport pull from 'lodash/pull';\n\nexport type Listener = { enable(): void; disable(): void };\n\n/**\n * Keep track of listeners, only the last registered listener gets activated at any point (previously registered\n * listener are disabled).\n * When a listener gets unregistered, the previously registered listener gets enabled again.\n */\nexport function makeListenerTowerContext() {\n const LISTENERS: Listener[] = [];\n\n return {\n register(listener: Listener) {\n // Disable previous listener.\n last(LISTENERS)?.disable();\n // Keep track of current listener.\n LISTENERS.push(listener);\n // Enable current listener.\n listener.enable();\n },\n unregister(listener: Listener) {\n // Disable current listener.\n listener.disable();\n // Remove current listener.\n pull(LISTENERS, listener);\n // Enable previous listener.\n last(LISTENERS)?.enable();\n },\n };\n}\n","import { DOCUMENT } from '@lumx/react/constants';\nimport { Callback } from '@lumx/react/utils/type';\nimport { onEscapePressed } from '@lumx/react/utils/event';\nimport { useEffect } from 'react';\nimport { Listener, makeListenerTowerContext } from '@lumx/react/utils/makeListenerTowerContext';\n\nconst LISTENERS = makeListenerTowerContext();\n\n/**\n * Register a global listener on 'Escape' key pressed.\n *\n * If multiple listener are registered, only the last one is maintained. When a listener is unregistered, the previous\n * one gets activated again.\n *\n * @param callback Callback\n * @param closeOnEscape Disables the hook when false\n */\nexport function useCallbackOnEscape(callback: Callback | undefined, closeOnEscape = true) {\n useEffect(() => {\n const rootElement = DOCUMENT?.body;\n if (!closeOnEscape || !callback || !rootElement) {\n return undefined;\n }\n const onKeyDown = onEscapePressed(callback);\n\n const listener: Listener = {\n enable: () => rootElement.addEventListener('keydown', onKeyDown),\n disable: () => rootElement.removeEventListener('keydown', onKeyDown),\n };\n\n LISTENERS.register(listener);\n return () => LISTENERS.unregister(listener);\n }, [callback, closeOnEscape]);\n}\n"],"names":["TABBABLE_ELEMENTS_SELECTOR","DISABLED_SELECTOR","isNotDisabled","element","matches","getFocusableElements","Array","from","querySelectorAll","filter","getFirstAndLastFocusable","parentElement","focusableElements","first","last","length","makeListenerTowerContext","LISTENERS","register","listener","disable","push","enable","unregister","pull","useCallbackOnEscape","callback","closeOnEscape","useEffect","rootElement","DOCUMENT","body","undefined","onKeyDown","onEscapePressed","addEventListener","removeEventListener"],"mappings":";;;;;;AAAA;AACO,IAAMA,0BAA0B,sFAAhC;AAEP;;AACO,IAAMC,iBAAiB,sHAAvB;;ACFP,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,OAAD;AAAA,SAA0B,CAACA,OAAO,CAACC,OAAR,CAAgBH,iBAAhB,CAA3B;AAAA,CAAtB;;AAEO,SAASI,oBAAT,CAA8BF,OAA9B,EAAmE;AACtE,SAAOG,KAAK,CAACC,IAAN,CAAWJ,OAAO,CAACK,gBAAR,CAAsCR,0BAAtC,CAAX,EAA8ES,MAA9E,CAAqFP,aAArF,CAAP;AACH;;ACJD;;;;;;;AAMO,SAASQ,wBAAT,CAAkCC,aAAlC,EAA8D;AACjE,MAAMC,iBAAiB,GAAGP,oBAAoB,CAACM,aAAD,CAA9C,CADiE;;AAIjE,MAAME,KAAK,GAAGD,iBAAiB,CAAC,CAAD,CAA/B,CAJiE;;AAMjE,MAAME,IAAI,GAAGF,iBAAiB,CAACA,iBAAiB,CAACG,MAAlB,GAA2B,CAA5B,CAA9B;;AAEA,MAAID,IAAI,IAAID,KAAZ,EAAmB;AACf,WAAO;AAAEA,MAAAA,KAAK,EAALA,KAAF;AAASC,MAAAA,IAAI,EAAJA;AAAT,KAAP;AACH;;AACD,SAAO,EAAP;AACH;;ACfD;;;;;AAKO,SAASE,wBAAT,GAAoC;AACvC,MAAMC,SAAqB,GAAG,EAA9B;AAEA,SAAO;AACHC,IAAAA,QADG,oBACMC,QADN,EAC0B;AAAA;;AACzB;AACA,eAAAL,IAAI,CAACG,SAAD,CAAJ,gDAAiBG,OAAjB,GAFyB;;AAIzBH,MAAAA,SAAS,CAACI,IAAV,CAAeF,QAAf,EAJyB;;AAMzBA,MAAAA,QAAQ,CAACG,MAAT;AACH,KARE;AASHC,IAAAA,UATG,sBASQJ,QATR,EAS4B;AAAA;;AAC3B;AACAA,MAAAA,QAAQ,CAACC,OAAT,GAF2B;;AAI3BI,MAAAA,IAAI,CAACP,SAAD,EAAYE,QAAZ,CAAJ,CAJ2B;;AAM3B,gBAAAL,IAAI,CAACG,SAAD,CAAJ,kDAAiBK,MAAjB;AACH;AAhBE,GAAP;AAkBH;;ACzBD,IAAML,SAAS,GAAGD,wBAAwB,EAA1C;AAEA;;;;;;;;;;AASO,SAASS,mBAAT,CAA6BC,QAA7B,EAAmF;AAAA,MAAtBC,aAAsB,uEAAN,IAAM;AACtFC,EAAAA,SAAS,CAAC,YAAM;AACZ,QAAMC,WAAW,GAAGC,QAAH,aAAGA,QAAH,uBAAGA,QAAQ,CAAEC,IAA9B;;AACA,QAAI,CAACJ,aAAD,IAAkB,CAACD,QAAnB,IAA+B,CAACG,WAApC,EAAiD;AAC7C,aAAOG,SAAP;AACH;;AACD,QAAMC,SAAS,GAAGC,eAAe,CAACR,QAAD,CAAjC;AAEA,QAAMP,QAAkB,GAAG;AACvBG,MAAAA,MAAM,EAAE;AAAA,eAAMO,WAAW,CAACM,gBAAZ,CAA6B,SAA7B,EAAwCF,SAAxC,CAAN;AAAA,OADe;AAEvBb,MAAAA,OAAO,EAAE;AAAA,eAAMS,WAAW,CAACO,mBAAZ,CAAgC,SAAhC,EAA2CH,SAA3C,CAAN;AAAA;AAFc,KAA3B;AAKAhB,IAAAA,SAAS,CAACC,QAAV,CAAmBC,QAAnB;AACA,WAAO;AAAA,aAAMF,SAAS,CAACM,UAAV,CAAqBJ,QAArB,CAAN;AAAA,KAAP;AACH,GAdQ,EAcN,CAACO,QAAD,EAAWC,aAAX,CAdM,CAAT;AAeH;;;;"}
|
package/_internal/616f2912.js
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
import { d as _slicedToArray, b as _objectWithoutProperties, _ as _objectSpread2, c as _extends } from './6340c129.js';
|
|
2
|
-
import { AspectRatio, Size, Theme } from '../components.js';
|
|
3
|
-
import React, { useState, useEffect, useMemo, forwardRef } from 'react';
|
|
4
|
-
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './fd867c9d.js';
|
|
5
|
-
import { I as Icon, t as mdiImageBroken } from './a521723d.js';
|
|
6
|
-
import { m as mergeRefs } from './853713cd.js';
|
|
7
|
-
|
|
8
|
-
function getState(img, event) {
|
|
9
|
-
// Error event occurred or image loaded empty.
|
|
10
|
-
if ((event === null || event === void 0 ? void 0 : event.type) === 'error' || (img === null || img === void 0 ? void 0 : img.complete) && ((img === null || img === void 0 ? void 0 : img.naturalWidth) === 0 || (img === null || img === void 0 ? void 0 : img.naturalHeight) === 0)) {
|
|
11
|
-
return 'hasError';
|
|
12
|
-
} // Image is undefined or incomplete.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (!img || !img.complete) {
|
|
16
|
-
return 'isLoading';
|
|
17
|
-
} // Else loaded.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return 'isLoaded';
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function useImageLoad(imageURL, imgRef) {
|
|
24
|
-
var _useState = useState(getState(imgRef)),
|
|
25
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
26
|
-
state = _useState2[0],
|
|
27
|
-
setState = _useState2[1]; // Update state when changing image URL or DOM reference.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
useEffect(function () {
|
|
31
|
-
setState(getState(imgRef));
|
|
32
|
-
}, [imageURL, imgRef]); // Listen to `load` and `error` event on image
|
|
33
|
-
|
|
34
|
-
useEffect(function () {
|
|
35
|
-
var img = imgRef;
|
|
36
|
-
if (!img) return undefined;
|
|
37
|
-
|
|
38
|
-
var update = function update(event) {
|
|
39
|
-
return setState(getState(img, event));
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
img.addEventListener('load', update);
|
|
43
|
-
img.addEventListener('error', update);
|
|
44
|
-
return function () {
|
|
45
|
-
img.removeEventListener('load', update);
|
|
46
|
-
img.removeEventListener('error', update);
|
|
47
|
-
};
|
|
48
|
-
}, [imgRef, imgRef === null || imgRef === void 0 ? void 0 : imgRef.src]);
|
|
49
|
-
return state;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// Calculate shift to center the focus point in the container.
|
|
53
|
-
function shiftPosition(_ref) {
|
|
54
|
-
var scale = _ref.scale,
|
|
55
|
-
focusPoint = _ref.focusPoint,
|
|
56
|
-
imageSize = _ref.imageSize,
|
|
57
|
-
containerSize = _ref.containerSize;
|
|
58
|
-
var scaledSize = imageSize / scale;
|
|
59
|
-
if (scaledSize === containerSize) return 0;
|
|
60
|
-
var scaledFocusHeight = focusPoint * scaledSize;
|
|
61
|
-
var startFocus = scaledFocusHeight - containerSize / 2;
|
|
62
|
-
var shift = startFocus / (scaledSize - containerSize);
|
|
63
|
-
return Math.floor(Math.max(Math.min(shift, 1), 0) * 100);
|
|
64
|
-
}
|
|
65
|
-
// Compute CSS properties to apply the focus point.
|
|
66
|
-
var useFocusPointStyle = function useFocusPointStyle(_ref2, element, isLoaded) {
|
|
67
|
-
var image = _ref2.image,
|
|
68
|
-
aspectRatio = _ref2.aspectRatio,
|
|
69
|
-
focusPoint = _ref2.focusPoint,
|
|
70
|
-
_ref2$imgProps = _ref2.imgProps;
|
|
71
|
-
_ref2$imgProps = _ref2$imgProps === void 0 ? {} : _ref2$imgProps;
|
|
72
|
-
var width = _ref2$imgProps.width,
|
|
73
|
-
height = _ref2$imgProps.height;
|
|
74
|
-
// Get natural image size from imgProps or img element.
|
|
75
|
-
var imageSize = useMemo(function () {
|
|
76
|
-
// Focus point is not applicable => exit early
|
|
77
|
-
if (!image || aspectRatio === AspectRatio.original || !(focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.x) && !(focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.y)) return undefined;
|
|
78
|
-
if (typeof width === 'number' && typeof height === 'number') return {
|
|
79
|
-
width: width,
|
|
80
|
-
height: height
|
|
81
|
-
};
|
|
82
|
-
if (element && isLoaded) return {
|
|
83
|
-
width: element.naturalWidth,
|
|
84
|
-
height: element.naturalHeight
|
|
85
|
-
};
|
|
86
|
-
return undefined;
|
|
87
|
-
}, [aspectRatio, element, focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.x, focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.y, height, image, isLoaded, width]); // Get container size (dependant on imageSize).
|
|
88
|
-
|
|
89
|
-
var _useState = useState(undefined),
|
|
90
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
91
|
-
containerSize = _useState2[0],
|
|
92
|
-
setContainerSize = _useState2[1];
|
|
93
|
-
|
|
94
|
-
useEffect(function updateContainerSize() {
|
|
95
|
-
var cWidth = element === null || element === void 0 ? void 0 : element.offsetWidth;
|
|
96
|
-
var cHeight = element === null || element === void 0 ? void 0 : element.offsetHeight;
|
|
97
|
-
|
|
98
|
-
if (cWidth && cHeight) {
|
|
99
|
-
// Update only if needed.
|
|
100
|
-
setContainerSize(function (oldContainerSize) {
|
|
101
|
-
return (oldContainerSize === null || oldContainerSize === void 0 ? void 0 : oldContainerSize.width) === cWidth && oldContainerSize.height === cHeight ? oldContainerSize : {
|
|
102
|
-
width: cWidth,
|
|
103
|
-
height: cHeight
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
} else if (imageSize) {
|
|
107
|
-
// Wait for a render (in case the container size is dependent on the image size).
|
|
108
|
-
requestAnimationFrame(updateContainerSize);
|
|
109
|
-
}
|
|
110
|
-
}, [element === null || element === void 0 ? void 0 : element.offsetHeight, element === null || element === void 0 ? void 0 : element.offsetWidth, imageSize]); // Compute style.
|
|
111
|
-
|
|
112
|
-
var _useState3 = useState({}),
|
|
113
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
114
|
-
style = _useState4[0],
|
|
115
|
-
setStyle = _useState4[1];
|
|
116
|
-
|
|
117
|
-
useEffect(function () {
|
|
118
|
-
// Focus point is not applicable => exit early
|
|
119
|
-
if (!image || aspectRatio === AspectRatio.original || !(focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.x) && !(focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.y)) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (!element || !imageSize) {
|
|
124
|
-
// Focus point can be computed but now right now (image size unknown).
|
|
125
|
-
setStyle({
|
|
126
|
-
visibility: 'hidden'
|
|
127
|
-
});
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if (!containerSize) {
|
|
132
|
-
// Missing container size abort focus point compute.
|
|
133
|
-
setStyle({});
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
var heightScale = imageSize.height / containerSize.height;
|
|
138
|
-
var widthScale = imageSize.width / containerSize.width;
|
|
139
|
-
var scale = Math.min(widthScale, heightScale); // Focus Y relative to the top (instead of the center)
|
|
140
|
-
|
|
141
|
-
var focusPointFromTop = Math.abs(((focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.y) || 0) - 1) / 2;
|
|
142
|
-
var y = shiftPosition({
|
|
143
|
-
scale: scale,
|
|
144
|
-
focusPoint: focusPointFromTop,
|
|
145
|
-
imageSize: imageSize.height,
|
|
146
|
-
containerSize: containerSize.height
|
|
147
|
-
}); // Focus X relative to the left (instead of the center)
|
|
148
|
-
|
|
149
|
-
var focusPointFromLeft = Math.abs(((focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.x) || 0) + 1) / 2;
|
|
150
|
-
var x = shiftPosition({
|
|
151
|
-
scale: scale,
|
|
152
|
-
focusPoint: focusPointFromLeft,
|
|
153
|
-
imageSize: imageSize.width,
|
|
154
|
-
containerSize: containerSize.width
|
|
155
|
-
});
|
|
156
|
-
var objectPosition = "".concat(x, "% ").concat(y, "%"); // Update only if needed.
|
|
157
|
-
|
|
158
|
-
setStyle(function (oldStyle) {
|
|
159
|
-
return oldStyle.objectPosition === objectPosition ? oldStyle : {
|
|
160
|
-
objectPosition: objectPosition
|
|
161
|
-
};
|
|
162
|
-
});
|
|
163
|
-
}, [aspectRatio, containerSize, element, focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.x, focusPoint === null || focusPoint === void 0 ? void 0 : focusPoint.y, image, imageSize]);
|
|
164
|
-
return style;
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Component display name.
|
|
169
|
-
*/
|
|
170
|
-
var COMPONENT_NAME = 'Thumbnail';
|
|
171
|
-
/**
|
|
172
|
-
* Component default class name and class prefix.
|
|
173
|
-
*/
|
|
174
|
-
|
|
175
|
-
var CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
176
|
-
/**
|
|
177
|
-
* Component default props.
|
|
178
|
-
*/
|
|
179
|
-
|
|
180
|
-
var DEFAULT_PROPS = {
|
|
181
|
-
fallback: mdiImageBroken,
|
|
182
|
-
loading: 'lazy',
|
|
183
|
-
theme: Theme.light
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* Thumbnail component.
|
|
187
|
-
*
|
|
188
|
-
* @param props Component props.
|
|
189
|
-
* @param ref Component ref.
|
|
190
|
-
* @return React element.
|
|
191
|
-
*/
|
|
192
|
-
|
|
193
|
-
var Thumbnail = forwardRef(function (props, ref) {
|
|
194
|
-
var align = props.align,
|
|
195
|
-
alt = props.alt,
|
|
196
|
-
_props$aspectRatio = props.aspectRatio,
|
|
197
|
-
aspectRatio = _props$aspectRatio === void 0 ? AspectRatio.original : _props$aspectRatio,
|
|
198
|
-
badge = props.badge,
|
|
199
|
-
className = props.className,
|
|
200
|
-
crossOrigin = props.crossOrigin,
|
|
201
|
-
fallback = props.fallback,
|
|
202
|
-
fillHeight = props.fillHeight,
|
|
203
|
-
focusPoint = props.focusPoint,
|
|
204
|
-
image = props.image,
|
|
205
|
-
imgProps = props.imgProps,
|
|
206
|
-
propImgRef = props.imgRef,
|
|
207
|
-
isLoadingProp = props.isLoading,
|
|
208
|
-
loading = props.loading,
|
|
209
|
-
size = props.size,
|
|
210
|
-
theme = props.theme,
|
|
211
|
-
variant = props.variant,
|
|
212
|
-
linkProps = props.linkProps,
|
|
213
|
-
linkAs = props.linkAs,
|
|
214
|
-
forwardedProps = _objectWithoutProperties(props, ["align", "alt", "aspectRatio", "badge", "className", "crossOrigin", "fallback", "fillHeight", "focusPoint", "image", "imgProps", "imgRef", "isLoading", "loading", "size", "theme", "variant", "linkProps", "linkAs"]);
|
|
215
|
-
|
|
216
|
-
var _useState = useState(),
|
|
217
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
218
|
-
imgElement = _useState2[0],
|
|
219
|
-
setImgElement = _useState2[1]; // Image loading state.
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
var loadingState = useImageLoad(image, imgElement);
|
|
223
|
-
var isLoaded = loadingState === 'isLoaded';
|
|
224
|
-
var isLoading = isLoadingProp || loadingState === 'isLoading';
|
|
225
|
-
var hasError = loadingState === 'hasError'; // Focus point.
|
|
226
|
-
|
|
227
|
-
var focusPointStyle = useFocusPointStyle(props, imgElement, isLoaded);
|
|
228
|
-
var hasIconErrorFallback = hasError && typeof fallback === 'string';
|
|
229
|
-
var hasCustomErrorFallback = hasError && !hasIconErrorFallback;
|
|
230
|
-
var imageErrorStyle = {};
|
|
231
|
-
|
|
232
|
-
if (hasIconErrorFallback) {
|
|
233
|
-
// Keep the image layout on icon fallback.
|
|
234
|
-
imageErrorStyle.visibility = 'hidden';
|
|
235
|
-
} else if (hasCustomErrorFallback) {
|
|
236
|
-
// Remove the image on custom fallback.
|
|
237
|
-
imageErrorStyle.display = 'none';
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
var isLink = Boolean((linkProps === null || linkProps === void 0 ? void 0 : linkProps.href) || linkAs);
|
|
241
|
-
var isButton = !!forwardedProps.onClick;
|
|
242
|
-
var isClickable = isButton || isLink;
|
|
243
|
-
var Wrapper = 'div';
|
|
244
|
-
|
|
245
|
-
var wrapperProps = _objectSpread2({}, forwardedProps);
|
|
246
|
-
|
|
247
|
-
if (isLink) {
|
|
248
|
-
Wrapper = linkAs || 'a';
|
|
249
|
-
Object.assign(wrapperProps, linkProps);
|
|
250
|
-
} else if (isButton) {
|
|
251
|
-
Wrapper = 'button';
|
|
252
|
-
wrapperProps.type = forwardedProps.type || 'button';
|
|
253
|
-
wrapperProps['aria-label'] = forwardedProps['aria-label'] || alt;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
return React.createElement(Wrapper, _extends({}, wrapperProps, {
|
|
257
|
-
ref: ref,
|
|
258
|
-
className: classnames(linkProps === null || linkProps === void 0 ? void 0 : linkProps.className, className, handleBasicClasses({
|
|
259
|
-
align: align,
|
|
260
|
-
aspectRatio: aspectRatio,
|
|
261
|
-
prefix: CLASSNAME,
|
|
262
|
-
size: size,
|
|
263
|
-
theme: theme,
|
|
264
|
-
variant: variant,
|
|
265
|
-
isClickable: isClickable,
|
|
266
|
-
hasError: hasError,
|
|
267
|
-
hasIconErrorFallback: hasIconErrorFallback,
|
|
268
|
-
hasCustomErrorFallback: hasCustomErrorFallback,
|
|
269
|
-
isLoading: isLoading,
|
|
270
|
-
hasBadge: !!badge
|
|
271
|
-
}), fillHeight && "".concat(CLASSNAME, "--fill-height"))
|
|
272
|
-
}), React.createElement("div", {
|
|
273
|
-
className: "".concat(CLASSNAME, "__background")
|
|
274
|
-
}, React.createElement("img", _extends({}, imgProps, {
|
|
275
|
-
style: _objectSpread2({}, imgProps === null || imgProps === void 0 ? void 0 : imgProps.style, {}, imageErrorStyle, {}, focusPointStyle),
|
|
276
|
-
ref: mergeRefs(setImgElement, propImgRef),
|
|
277
|
-
className: classnames(handleBasicClasses({
|
|
278
|
-
prefix: "".concat(CLASSNAME, "__image"),
|
|
279
|
-
isLoading: isLoading,
|
|
280
|
-
hasDefinedSize: Boolean((imgProps === null || imgProps === void 0 ? void 0 : imgProps.height) && imgProps.width)
|
|
281
|
-
}), imgProps === null || imgProps === void 0 ? void 0 : imgProps.className),
|
|
282
|
-
crossOrigin: crossOrigin,
|
|
283
|
-
src: image,
|
|
284
|
-
alt: alt,
|
|
285
|
-
loading: loading
|
|
286
|
-
})), !isLoading && hasError && React.createElement("div", {
|
|
287
|
-
className: "".concat(CLASSNAME, "__fallback")
|
|
288
|
-
}, hasIconErrorFallback ? React.createElement(Icon, {
|
|
289
|
-
icon: fallback,
|
|
290
|
-
size: Size.xxs,
|
|
291
|
-
theme: theme
|
|
292
|
-
}) : fallback)), badge && React.cloneElement(badge, {
|
|
293
|
-
className: classnames("".concat(CLASSNAME, "__badge"), badge.props.className)
|
|
294
|
-
}));
|
|
295
|
-
});
|
|
296
|
-
Thumbnail.displayName = COMPONENT_NAME;
|
|
297
|
-
Thumbnail.className = CLASSNAME;
|
|
298
|
-
Thumbnail.defaultProps = DEFAULT_PROPS;
|
|
299
|
-
|
|
300
|
-
export { Thumbnail as T, useFocusPointStyle as u };
|
|
301
|
-
//# sourceMappingURL=616f2912.js.map
|