@lumx/react 3.10.1-alpha.1 → 3.10.1-alpha.2
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/17c3ea1d.js +137 -0
- package/_internal/17c3ea1d.js.map +1 -0
- package/_internal/1da25128.js +411 -0
- package/_internal/1da25128.js.map +1 -0
- package/_internal/230173a8.js +13 -0
- package/_internal/230173a8.js.map +1 -0
- package/_internal/23bdba2d.js +71 -0
- package/_internal/23bdba2d.js.map +1 -0
- package/_internal/26926e5c.d.ts +36 -0
- package/_internal/2a3d237c.js +12 -0
- package/_internal/2a3d237c.js.map +1 -0
- package/_internal/2c5dbb03.js +26 -0
- package/_internal/2c5dbb03.js.map +1 -0
- package/_internal/2e2abe51.js +2154 -0
- package/_internal/2e2abe51.js.map +1 -0
- package/_internal/31490c59.d.ts +167 -0
- package/_internal/3181f000.js +14 -0
- package/_internal/3181f000.js.map +1 -0
- package/_internal/35f100be.d.ts +104 -0
- package/_internal/36bd7352.js +219 -0
- package/_internal/36bd7352.js.map +1 -0
- package/_internal/3a1facc0.js +18 -0
- package/_internal/3a1facc0.js.map +1 -0
- package/_internal/4c20d932.js +89 -0
- package/_internal/4c20d932.js.map +1 -0
- package/_internal/4c28d012.js +305 -0
- package/_internal/4c28d012.js.map +1 -0
- package/_internal/4cd0bf32.js +160 -0
- package/_internal/4cd0bf32.js.map +1 -0
- package/_internal/4daccdd5.js +25 -0
- package/_internal/4daccdd5.js.map +1 -0
- package/_internal/524b1d04.js +64 -0
- package/_internal/524b1d04.js.map +1 -0
- package/_internal/53c94227.js +123 -0
- package/_internal/53c94227.js.map +1 -0
- package/_internal/54d9ded5.js +418 -0
- package/_internal/54d9ded5.js.map +1 -0
- package/_internal/56aec41b.js +652 -0
- package/_internal/56aec41b.js.map +1 -0
- package/_internal/5720caf5.js +124 -0
- package/_internal/5720caf5.js.map +1 -0
- package/_internal/646f0db6.js +113 -0
- package/_internal/646f0db6.js.map +1 -0
- package/_internal/6cc8dca8.d.ts +22 -0
- package/_internal/7f022f8c.d.ts +34 -0
- package/_internal/{index.d.ts → 8d67e1e3.d.ts} +1 -1
- package/_internal/b8f2948d.js +691 -0
- package/_internal/b8f2948d.js.map +1 -0
- package/_internal/bc28d510.js +784 -0
- package/_internal/bc28d510.js.map +1 -0
- package/_internal/c68d24e4.js +145 -0
- package/_internal/c68d24e4.js.map +1 -0
- package/_internal/c6c99f76.js +105 -0
- package/_internal/c6c99f76.js.map +1 -0
- package/_internal/cae46566.js +65 -0
- package/_internal/cae46566.js.map +1 -0
- package/_internal/components/alert-dialog/index.ts-623b1ed3.d.ts +37 -0
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js +148 -0
- package/_internal/components/alert-dialog/index.ts-f83bd6ef.js.map +1 -0
- package/_internal/components/autocomplete/index.ts-3f8f125c.js +264 -0
- package/_internal/components/autocomplete/index.ts-3f8f125c.js.map +1 -0
- package/_internal/components/autocomplete/index.ts-8d6b123f.d.ts +201 -0
- package/_internal/components/avatar/index.ts-93ee0ea9.js +89 -0
- package/_internal/components/avatar/index.ts-93ee0ea9.js.map +1 -0
- package/_internal/components/avatar/index.ts-f92852b4.d.ts +43 -0
- package/_internal/components/badge/index.ts-2d7700ef.d.ts +30 -0
- package/_internal/components/badge/index.ts-6753d67f.js +88 -0
- package/_internal/components/badge/index.ts-6753d67f.js.map +1 -0
- package/_internal/components/button/index.ts-031307ce.js +51 -0
- package/_internal/components/button/index.ts-031307ce.js.map +1 -0
- package/_internal/components/button/index.ts-b29e26a4.d.ts +22 -0
- package/_internal/components/checkbox/index.ts-a33166d7.js +127 -0
- package/_internal/components/checkbox/index.ts-a33166d7.js.map +1 -0
- package/_internal/components/checkbox/index.ts-f82358ff.d.ts +38 -0
- package/_internal/components/chip/index.ts-4a91f1a7.d.ts +68 -0
- package/_internal/components/chip/index.ts-a2b5b771.js +110 -0
- package/_internal/components/chip/index.ts-a2b5b771.js.map +1 -0
- package/_internal/components/comment-block/index.ts-58fa051a.js +121 -0
- package/_internal/components/comment-block/index.ts-58fa051a.js.map +1 -0
- package/_internal/components/comment-block/index.ts-8cfa5af0.d.ts +67 -0
- package/_internal/components/date-picker/index.ts-145262d5.js +2 -0
- package/_internal/components/date-picker/index.ts-145262d5.js.map +1 -0
- package/_internal/components/date-picker/index.ts-70a34fa7.d.ts +95 -0
- package/_internal/components/dialog/index.ts-ea044db2.js +224 -0
- package/_internal/components/dialog/index.ts-ea044db2.js.map +1 -0
- package/_internal/components/dialog/index.ts-eca28654.d.ts +55 -0
- package/_internal/components/divider/index.ts-4a56db75.js +55 -0
- package/_internal/components/divider/index.ts-4a56db75.js.map +1 -0
- package/_internal/components/divider/index.ts-b011d8ca.d.ts +18 -0
- package/_internal/components/drag-handle/index.ts-0aebf92f.js +54 -0
- package/_internal/components/drag-handle/index.ts-0aebf92f.js.map +1 -0
- package/_internal/components/drag-handle/index.ts-3ab31dd1.d.ts +18 -0
- package/_internal/components/dropdown/index.ts-2a17db51.js +154 -0
- package/_internal/components/dropdown/index.ts-2a17db51.js.map +1 -0
- package/_internal/components/dropdown/index.ts-b648a15c.d.ts +87 -0
- package/_internal/components/expansion-panel/index.ts-69f09f5b.d.ts +38 -0
- package/_internal/components/expansion-panel/index.ts-fae3762e.js +143 -0
- package/_internal/components/expansion-panel/index.ts-fae3762e.js.map +1 -0
- package/_internal/components/flag/index.ts-8dcd685b.js +56 -0
- package/_internal/components/flag/index.ts-8dcd685b.js.map +1 -0
- package/_internal/components/flag/index.ts-fda89adb.d.ts +23 -0
- package/_internal/components/flex-box/index.ts-87f2b58d.d.ts +43 -0
- package/_internal/components/flex-box/index.ts-c216e957.js +60 -0
- package/_internal/components/flex-box/index.ts-c216e957.js.map +1 -0
- package/_internal/components/generic-block/index.ts-999a62a4.js +115 -0
- package/_internal/components/generic-block/index.ts-999a62a4.js.map +1 -0
- package/_internal/components/generic-block/index.ts-cd3b0e21.d.ts +106 -0
- package/_internal/components/grid/index.ts-67e0694f.d.ts +50 -0
- package/_internal/components/grid/index.ts-fdf1b306.js +113 -0
- package/_internal/components/grid/index.ts-fdf1b306.js.map +1 -0
- package/_internal/components/grid-column/index.ts-97c61cbe.js +64 -0
- package/_internal/components/grid-column/index.ts-97c61cbe.js.map +1 -0
- package/_internal/components/grid-column/index.ts-c89e1c18.d.ts +31 -0
- package/_internal/components/heading/index.ts-0179e9a9.js +112 -0
- package/_internal/components/heading/index.ts-0179e9a9.js.map +1 -0
- package/_internal/components/heading/index.ts-587579e8.d.ts +37 -0
- package/_internal/components/icon/index.ts-740ca1de.js +2 -0
- package/_internal/components/icon/index.ts-740ca1de.js.map +1 -0
- package/_internal/components/icon/index.ts-b3fa5e15.d.ts +34 -0
- package/_internal/components/image-block/index.ts-36b3828f.d.ts +49 -0
- package/_internal/components/image-block/index.ts-ef5e2e7d.js +111 -0
- package/_internal/components/image-block/index.ts-ef5e2e7d.js.map +1 -0
- package/_internal/components/image-lightbox/index.ts-137f85a8.js +765 -0
- package/_internal/components/image-lightbox/index.ts-137f85a8.js.map +1 -0
- package/_internal/components/image-lightbox/index.ts-2cb92d18.d.ts +75 -0
- package/_internal/components/inline-list/index.ts-033dd358.js +76 -0
- package/_internal/components/inline-list/index.ts-033dd358.js.map +1 -0
- package/_internal/components/inline-list/index.ts-e1c8a3ff.d.ts +34 -0
- package/_internal/components/input-helper/index.ts-32a9ca90.d.ts +22 -0
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js +75 -0
- package/_internal/components/input-helper/index.ts-ab3a1ef5.js.map +1 -0
- package/_internal/components/input-label/index.ts-86f2ea41.d.ts +24 -0
- package/_internal/components/input-label/index.ts-d6ca5569.js +60 -0
- package/_internal/components/input-label/index.ts-d6ca5569.js.map +1 -0
- package/_internal/components/lightbox/index.ts-5370e8e6.d.ts +36 -0
- package/_internal/components/lightbox/index.ts-7a16cdc7.js +149 -0
- package/_internal/components/lightbox/index.ts-7a16cdc7.js.map +1 -0
- package/_internal/components/link/index.ts-26435006.d.ts +37 -0
- package/_internal/components/link/index.ts-d04f4e53.js +120 -0
- package/_internal/components/link/index.ts-d04f4e53.js.map +1 -0
- package/_internal/components/link-preview/index.ts-e560a274.d.ts +36 -0
- package/_internal/components/link-preview/index.ts-fee89f66.js +109 -0
- package/_internal/components/link-preview/index.ts-fee89f66.js.map +1 -0
- package/_internal/components/list/index.ts-ab57902e.d.ts +118 -0
- package/_internal/components/list/index.ts-f3101625.js +86 -0
- package/_internal/components/list/index.ts-f3101625.js.map +1 -0
- package/_internal/components/message/index.ts-041cf0cb.js +97 -0
- package/_internal/components/message/index.ts-041cf0cb.js.map +1 -0
- package/_internal/components/message/index.ts-2d38e0ea.d.ts +37 -0
- package/_internal/components/mosaic/index.ts-232d5aed.d.ts +23 -0
- package/_internal/components/mosaic/index.ts-d2128cd3.js +94 -0
- package/_internal/components/mosaic/index.ts-d2128cd3.js.map +1 -0
- package/_internal/components/navigation/index.ts-6d8bea53.d.ts +58 -0
- package/_internal/components/navigation/index.ts-e8dc0a7f.js +222 -0
- package/_internal/components/navigation/index.ts-e8dc0a7f.js.map +1 -0
- package/_internal/components/notification/index.ts-235fd340.js +140 -0
- package/_internal/components/notification/index.ts-235fd340.js.map +1 -0
- package/_internal/components/notification/index.ts-bb3f03f6.d.ts +34 -0
- package/_internal/components/popover/index.ts-2f17a9b6.js +3 -0
- package/_internal/components/popover/index.ts-2f17a9b6.js.map +1 -0
- package/_internal/components/popover/index.ts-e3b4ff19.d.ts +66 -0
- package/_internal/components/post-block/index.ts-0acb9bb4.js +101 -0
- package/_internal/components/post-block/index.ts-0acb9bb4.js.map +1 -0
- package/_internal/components/post-block/index.ts-9b8ff90b.d.ts +41 -0
- package/_internal/components/progress/index.ts-2a713859.js +189 -0
- package/_internal/components/progress/index.ts-2a713859.js.map +1 -0
- package/_internal/components/progress/index.ts-dfdfa5fb.d.ts +60 -0
- package/_internal/components/progress-tracker/index.ts-2649f756.js +312 -0
- package/_internal/components/progress-tracker/index.ts-2649f756.js.map +1 -0
- package/_internal/components/progress-tracker/index.ts-95320f32.d.ts +101 -0
- package/_internal/components/radio-button/index.ts-5eaab4cf.d.ts +54 -0
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js +150 -0
- package/_internal/components/radio-button/index.ts-b4dfb2a0.js.map +1 -0
- package/_internal/components/select/index.ts-a65e3507.d.ts +91 -0
- package/_internal/components/select/index.ts-e8fad28b.js +257 -0
- package/_internal/components/select/index.ts-e8fad28b.js.map +1 -0
- package/_internal/components/side-navigation/index.ts-3f5f3785.d.ts +60 -0
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js +184 -0
- package/_internal/components/side-navigation/index.ts-c9a5fc3e.js.map +1 -0
- package/_internal/components/skeleton/index.ts-a7daefac.d.ts +75 -0
- package/_internal/components/skeleton/index.ts-ffc995af.js +179 -0
- package/_internal/components/skeleton/index.ts-ffc995af.js.map +1 -0
- package/_internal/components/slider/index.ts-24a0d598.d.ts +52 -0
- package/_internal/components/slider/index.ts-72aadf4c.js +308 -0
- package/_internal/components/slider/index.ts-72aadf4c.js.map +1 -0
- package/_internal/components/slideshow/index.ts-c99f2892.js +151 -0
- package/_internal/components/slideshow/index.ts-c99f2892.js.map +1 -0
- package/_internal/components/slideshow/index.ts-e49462c6.d.ts +25 -0
- package/_internal/components/switch/index.ts-207ba52b.d.ts +34 -0
- package/_internal/components/switch/index.ts-542e6eaf.js +115 -0
- package/_internal/components/switch/index.ts-542e6eaf.js.map +1 -0
- package/_internal/components/table/index.ts-905ce390.js +310 -0
- package/_internal/components/table/index.ts-905ce390.js.map +1 -0
- package/_internal/components/table/index.ts-c4f39b2d.d.ts +108 -0
- package/_internal/components/tabs/index.ts-713119f4.js +289 -0
- package/_internal/components/tabs/index.ts-713119f4.js.map +1 -0
- package/_internal/components/tabs/index.ts-dbfc48d9.d.ts +106 -0
- package/_internal/components/text/index.ts-6afbe8cd.js +2 -0
- package/_internal/components/text/index.ts-6afbe8cd.js.map +1 -0
- package/_internal/components/text/index.ts-8a812048.d.ts +53 -0
- package/_internal/components/text-field/index.ts-92e6b3b3.d.ts +77 -0
- package/_internal/components/text-field/index.ts-c3be8563.js +341 -0
- package/_internal/components/text-field/index.ts-c3be8563.js.map +1 -0
- package/_internal/components/thumbnail/index.ts-16d7b403.js +40 -0
- package/_internal/components/thumbnail/index.ts-16d7b403.js.map +1 -0
- package/_internal/components/thumbnail/index.ts-1b6c0b48.d.ts +8 -0
- package/_internal/components/toolbar/index.ts-813b902e.js +63 -0
- package/_internal/components/toolbar/index.ts-813b902e.js.map +1 -0
- package/_internal/components/toolbar/index.ts-9f5129d1.d.ts +24 -0
- package/_internal/components/tooltip/index.ts-905c847c.js +322 -0
- package/_internal/components/tooltip/index.ts-905c847c.js.map +1 -0
- package/_internal/components/tooltip/index.ts-c6931e9e.d.ts +35 -0
- package/_internal/components/uploader/index.ts-31f21c2a.js +132 -0
- package/_internal/components/uploader/index.ts-31f21c2a.js.map +1 -0
- package/_internal/components/uploader/index.ts-c3ccba98.d.ts +51 -0
- package/_internal/components/user-block/index.ts-18c58e19.d.ts +50 -0
- package/_internal/components/user-block/index.ts-d43e5f3c.js +136 -0
- package/_internal/components/user-block/index.ts-d43e5f3c.js.map +1 -0
- package/_internal/dc3e28c8.d.ts +38 -0
- package/_internal/f39a1ba4.js +73 -0
- package/_internal/f39a1ba4.js.map +1 -0
- package/_internal/f3e77e3e.js +22 -0
- package/_internal/f3e77e3e.js.map +1 -0
- package/_internal/f502ab30.js +78 -0
- package/_internal/f502ab30.js.map +1 -0
- package/_internal/f52adbae.js +36 -0
- package/_internal/f52adbae.js.map +1 -0
- package/_internal/f57e1239.js +205 -0
- package/_internal/f57e1239.js.map +1 -0
- package/_internal/f5ff1aa4.d.ts +47 -0
- package/_internal/fb975afe.js +52 -0
- package/_internal/fb975afe.js.map +1 -0
- package/index.d.ts +66 -3023
- package/index.js +64 -14536
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.d.ts +1 -1
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { h as getRootClassName, i as forwardRef, T as Theme, j as _objectWithoutProperties, _ as _extends, g as classNames } from '../../1da25128.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { u as useId } from '../../3a1facc0.js';
|
|
4
|
+
import { u as useMergeRefs } from '../../f52adbae.js';
|
|
5
|
+
import { u as useTheme } from '../../3181f000.js';
|
|
6
|
+
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
7
|
+
import { I as Icon, j as mdiMinus, k as mdiCheck } from '../../c6c99f76.js';
|
|
8
|
+
import { InputLabel } from '../input-label/index.ts-d6ca5569.js';
|
|
9
|
+
import { InputHelper } from '../input-helper/index.ts-ab3a1ef5.js';
|
|
10
|
+
|
|
11
|
+
const _excluded = ["checked", "className", "disabled", "helper", "id", "inputRef", "isChecked", "isDisabled", "label", "name", "onChange", "theme", "value", "inputProps"];
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Intermediate state of checkbox.
|
|
15
|
+
*/
|
|
16
|
+
const INTERMEDIATE_STATE = 'intermediate';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Defines the props of the component.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Component display name.
|
|
24
|
+
*/
|
|
25
|
+
const COMPONENT_NAME = 'Checkbox';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Component default class name and class prefix.
|
|
29
|
+
*/
|
|
30
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Component default props.
|
|
34
|
+
*/
|
|
35
|
+
const DEFAULT_PROPS = {};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Checkbox component.
|
|
39
|
+
*
|
|
40
|
+
* @param props Component props.
|
|
41
|
+
* @param ref Component ref.
|
|
42
|
+
* @return React element.
|
|
43
|
+
*/
|
|
44
|
+
const Checkbox = forwardRef((props, ref) => {
|
|
45
|
+
const defaultTheme = useTheme() || Theme.light;
|
|
46
|
+
const {
|
|
47
|
+
checked,
|
|
48
|
+
className,
|
|
49
|
+
disabled,
|
|
50
|
+
helper,
|
|
51
|
+
id,
|
|
52
|
+
inputRef,
|
|
53
|
+
isChecked = checked,
|
|
54
|
+
isDisabled = disabled,
|
|
55
|
+
label,
|
|
56
|
+
name,
|
|
57
|
+
onChange,
|
|
58
|
+
theme = defaultTheme,
|
|
59
|
+
value,
|
|
60
|
+
inputProps = {}
|
|
61
|
+
} = props,
|
|
62
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
63
|
+
const localInputRef = React__default.useRef(null);
|
|
64
|
+
const generatedInputId = useId();
|
|
65
|
+
const inputId = id || generatedInputId;
|
|
66
|
+
const handleChange = event => {
|
|
67
|
+
if (onChange) {
|
|
68
|
+
onChange(!isChecked, value, name, event);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const intermediateState = isChecked === INTERMEDIATE_STATE;
|
|
72
|
+
React__default.useEffect(() => {
|
|
73
|
+
const input = localInputRef.current;
|
|
74
|
+
if (input) input.indeterminate = intermediateState;
|
|
75
|
+
}, [intermediateState]);
|
|
76
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
77
|
+
ref: ref
|
|
78
|
+
}, forwardedProps, {
|
|
79
|
+
className: classNames(className, handleBasicClasses({
|
|
80
|
+
// Whether state is intermediate class name will "-checked"
|
|
81
|
+
isChecked: intermediateState ? true : isChecked,
|
|
82
|
+
isDisabled,
|
|
83
|
+
isUnchecked: !isChecked,
|
|
84
|
+
prefix: CLASSNAME,
|
|
85
|
+
theme
|
|
86
|
+
}))
|
|
87
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
88
|
+
className: `${CLASSNAME}__input-wrapper`
|
|
89
|
+
}, /*#__PURE__*/React__default.createElement("input", _extends({
|
|
90
|
+
ref: useMergeRefs(inputRef, localInputRef),
|
|
91
|
+
type: "checkbox",
|
|
92
|
+
id: inputId,
|
|
93
|
+
className: `${CLASSNAME}__input-native`,
|
|
94
|
+
disabled: isDisabled,
|
|
95
|
+
tabIndex: isDisabled ? -1 : 0,
|
|
96
|
+
name: name,
|
|
97
|
+
value: value,
|
|
98
|
+
checked: isChecked,
|
|
99
|
+
onChange: handleChange,
|
|
100
|
+
"aria-describedby": helper ? `${inputId}-helper` : undefined,
|
|
101
|
+
"aria-checked": intermediateState ? 'mixed' : Boolean(isChecked)
|
|
102
|
+
}, inputProps)), /*#__PURE__*/React__default.createElement("div", {
|
|
103
|
+
className: `${CLASSNAME}__input-placeholder`
|
|
104
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
105
|
+
className: `${CLASSNAME}__input-background`
|
|
106
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
107
|
+
className: `${CLASSNAME}__input-indicator`
|
|
108
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
109
|
+
icon: intermediateState ? mdiMinus : mdiCheck
|
|
110
|
+
})))), /*#__PURE__*/React__default.createElement("div", {
|
|
111
|
+
className: `${CLASSNAME}__content`
|
|
112
|
+
}, label && /*#__PURE__*/React__default.createElement(InputLabel, {
|
|
113
|
+
htmlFor: inputId,
|
|
114
|
+
className: `${CLASSNAME}__label`,
|
|
115
|
+
theme: theme
|
|
116
|
+
}, label), helper && /*#__PURE__*/React__default.createElement(InputHelper, {
|
|
117
|
+
id: `${inputId}-helper`,
|
|
118
|
+
className: `${CLASSNAME}__helper`,
|
|
119
|
+
theme: theme
|
|
120
|
+
}, helper)));
|
|
121
|
+
});
|
|
122
|
+
Checkbox.displayName = COMPONENT_NAME;
|
|
123
|
+
Checkbox.className = CLASSNAME;
|
|
124
|
+
Checkbox.defaultProps = DEFAULT_PROPS;
|
|
125
|
+
|
|
126
|
+
export { Checkbox };
|
|
127
|
+
//# sourceMappingURL=index.ts-a33166d7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-a33166d7.js","sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import React, { InputHTMLAttributes, ReactNode, SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiCheck, mdiMinus } from '@lumx/icons';\n\nimport { Icon, InputHelper, InputLabel, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useMergeRefs } from '@lumx/react/utils/mergeRefs';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Intermediate state of checkbox.\n */\nconst INTERMEDIATE_STATE = 'intermediate';\n\n/**\n * Defines the props of the component.\n */\nexport interface CheckboxProps 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 or intermediate. */\n isChecked?: boolean | 'intermediate';\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: ReactNode;\n /** Native input name property. */\n name?: string;\n /** Native input value property. */\n value?: string;\n /** optional props for input */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n /** On change callback. */\n onChange?(isChecked: boolean, value?: string, name?: string, event?: SyntheticEvent): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Checkbox';\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<CheckboxProps> = {};\n\n/**\n * Checkbox component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Checkbox = forwardRef<CheckboxProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\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 = defaultTheme,\n value,\n inputProps = {},\n ...forwardedProps\n } = props;\n const localInputRef = React.useRef<HTMLInputElement>(null);\n const generatedInputId = useId();\n const inputId = id || generatedInputId;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(!isChecked, value, name, event);\n }\n };\n\n const intermediateState = isChecked === INTERMEDIATE_STATE;\n\n React.useEffect(() => {\n const input = localInputRef.current;\n if (input) input.indeterminate = intermediateState;\n }, [intermediateState]);\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n // Whether state is intermediate class name will \"-checked\"\n isChecked: intermediateState ? true : isChecked,\n isDisabled,\n isUnchecked: !isChecked,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n >\n <div className={`${CLASSNAME}__input-wrapper`}>\n <input\n ref={useMergeRefs(inputRef, localInputRef)}\n type=\"checkbox\"\n id={inputId}\n className={`${CLASSNAME}__input-native`}\n disabled={isDisabled}\n tabIndex={isDisabled ? -1 : 0}\n name={name}\n value={value}\n checked={isChecked}\n onChange={handleChange}\n aria-describedby={helper ? `${inputId}-helper` : undefined}\n aria-checked={intermediateState ? 'mixed' : Boolean(isChecked)}\n {...inputProps}\n />\n\n <div className={`${CLASSNAME}__input-placeholder`}>\n <div className={`${CLASSNAME}__input-background`} />\n\n <div className={`${CLASSNAME}__input-indicator`}>\n <Icon icon={intermediateState ? mdiMinus : mdiCheck} />\n </div>\n </div>\n </div>\n\n <div className={`${CLASSNAME}__content`}>\n {label && (\n <InputLabel htmlFor={inputId} className={`${CLASSNAME}__label`} theme={theme}>\n {label}\n </InputLabel>\n )}\n {helper && (\n <InputHelper id={`${inputId}-helper`} className={`${CLASSNAME}__helper`} theme={theme}>\n {helper}\n </InputHelper>\n )}\n </div>\n </div>\n );\n});\nCheckbox.displayName = COMPONENT_NAME;\nCheckbox.className = CLASSNAME;\nCheckbox.defaultProps = DEFAULT_PROPS;\n"],"names":["INTERMEDIATE_STATE","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Checkbox","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","checked","className","disabled","helper","id","inputRef","isChecked","isDisabled","label","name","onChange","theme","value","inputProps","forwardedProps","_objectWithoutProperties","_excluded","localInputRef","React","useRef","generatedInputId","useId","inputId","handleChange","event","intermediateState","useEffect","input","current","indeterminate","createElement","_extends","classNames","handleBasicClasses","isUnchecked","prefix","useMergeRefs","type","tabIndex","undefined","Boolean","Icon","icon","mdiMinus","mdiCheck","InputLabel","htmlFor","InputHelper","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { G as GenericProps, H as HasTheme, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
+
import React, { ReactNode, InputHTMLAttributes, SyntheticEvent } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Defines the props of the component.
|
|
6
|
+
*/
|
|
7
|
+
interface CheckboxProps extends GenericProps, HasTheme {
|
|
8
|
+
/** Helper text. */
|
|
9
|
+
helper?: string;
|
|
10
|
+
/** Native input id property. */
|
|
11
|
+
id?: string;
|
|
12
|
+
/** Native input ref. */
|
|
13
|
+
inputRef?: React.Ref<HTMLInputElement>;
|
|
14
|
+
/** Whether it is checked or not or intermediate. */
|
|
15
|
+
isChecked?: boolean | 'intermediate';
|
|
16
|
+
/** Whether the component is disabled or not. */
|
|
17
|
+
isDisabled?: boolean;
|
|
18
|
+
/** Label text. */
|
|
19
|
+
label?: ReactNode;
|
|
20
|
+
/** Native input name property. */
|
|
21
|
+
name?: string;
|
|
22
|
+
/** Native input value property. */
|
|
23
|
+
value?: string;
|
|
24
|
+
/** optional props for input */
|
|
25
|
+
inputProps?: InputHTMLAttributes<HTMLInputElement>;
|
|
26
|
+
/** On change callback. */
|
|
27
|
+
onChange?(isChecked: boolean, value?: string, name?: string, event?: SyntheticEvent): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Checkbox component.
|
|
31
|
+
*
|
|
32
|
+
* @param props Component props.
|
|
33
|
+
* @param ref Component ref.
|
|
34
|
+
* @return React element.
|
|
35
|
+
*/
|
|
36
|
+
declare const Checkbox: Comp<CheckboxProps, HTMLDivElement>;
|
|
37
|
+
|
|
38
|
+
export { Checkbox, type CheckboxProps };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { G as GenericProps, H as HasTheme, a as ColorPalette, C as Comp, S as Size, d as HorizontalAlignment } from '../../8d67e1e3.js';
|
|
2
|
+
import { ReactNode, MouseEventHandler } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Chip sizes.
|
|
6
|
+
*/
|
|
7
|
+
type ChipSize = Extract<Size, 's' | 'm'>;
|
|
8
|
+
/**
|
|
9
|
+
* Defines the props of the component.
|
|
10
|
+
*/
|
|
11
|
+
interface ChipProps extends GenericProps, HasTheme {
|
|
12
|
+
/** A component to be rendered after the content. */
|
|
13
|
+
after?: ReactNode;
|
|
14
|
+
/** A component to be rendered before the content. */
|
|
15
|
+
before?: ReactNode;
|
|
16
|
+
/** Color variant. */
|
|
17
|
+
color?: ColorPalette;
|
|
18
|
+
/** Whether the component is clickable or not. */
|
|
19
|
+
isClickable?: boolean;
|
|
20
|
+
/** Whether the component is disabled or not. */
|
|
21
|
+
isDisabled?: boolean;
|
|
22
|
+
/** Whether the chip is currently in a highlighted state or not. */
|
|
23
|
+
isHighlighted?: boolean;
|
|
24
|
+
/** Whether the component is selected or not. */
|
|
25
|
+
isSelected?: boolean;
|
|
26
|
+
/** Size variant. */
|
|
27
|
+
size?: ChipSize;
|
|
28
|
+
/** On "after" element clicked callback. */
|
|
29
|
+
onAfterClick?: MouseEventHandler;
|
|
30
|
+
/** On "before" element clicked callback. */
|
|
31
|
+
onBeforeClick?: MouseEventHandler;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Chip component.
|
|
35
|
+
*
|
|
36
|
+
* @param props Component props.
|
|
37
|
+
* @param ref Component ref.
|
|
38
|
+
* @return React element.
|
|
39
|
+
*/
|
|
40
|
+
declare const Chip: Comp<ChipProps, HTMLAnchorElement>;
|
|
41
|
+
|
|
42
|
+
interface UseChipGroupNavigation {
|
|
43
|
+
/** the current active chip index */
|
|
44
|
+
activeChip: number;
|
|
45
|
+
/** callback to be executed when the backspace was pressed */
|
|
46
|
+
onBackspacePressed(): void;
|
|
47
|
+
/** function that allows to reset the navigation */
|
|
48
|
+
resetChipNavigation(): void;
|
|
49
|
+
}
|
|
50
|
+
type useChipGroupNavigationType<C = any> = (chips: C[], onChipDeleted: (chip: C) => void, initialActiveChip?: number) => UseChipGroupNavigation;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Defines the props of the component.
|
|
54
|
+
*/
|
|
55
|
+
interface ChipGroupProps extends GenericProps {
|
|
56
|
+
/**
|
|
57
|
+
* Chip horizontal alignment.
|
|
58
|
+
* @deprecated
|
|
59
|
+
*/
|
|
60
|
+
align?: HorizontalAlignment;
|
|
61
|
+
/** List of Chip. */
|
|
62
|
+
children: ReactNode;
|
|
63
|
+
}
|
|
64
|
+
declare const ChipGroup: Comp<ChipGroupProps, HTMLDivElement> & {
|
|
65
|
+
useChipGroupNavigation: useChipGroupNavigationType<any>;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export { Chip, ChipGroup, type ChipGroupProps, type ChipProps };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
export { C as Chip } from '../../c68d24e4.js';
|
|
2
|
+
import { h as getRootClassName, i as forwardRef, j as _objectWithoutProperties, _ as _extends, g as classNames } from '../../1da25128.js';
|
|
3
|
+
import React__default, { useState } from 'react';
|
|
4
|
+
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
5
|
+
|
|
6
|
+
const INITIAL_STATE_ACTIVE_CHIP = -1;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Hook that provides the necessary information to manage chips navigation.
|
|
10
|
+
* @param chips List of chips selected.
|
|
11
|
+
* @param onChipDeleted Callback executed when a chip must be eliminated.
|
|
12
|
+
* @param initialActiveChip Initial active chip index.
|
|
13
|
+
*
|
|
14
|
+
* @return chip navigation tools.
|
|
15
|
+
*/
|
|
16
|
+
const useChipGroupNavigation = function (chips, onChipDeleted) {
|
|
17
|
+
let initialActiveChip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : INITIAL_STATE_ACTIVE_CHIP;
|
|
18
|
+
const [wasBackspacePressed, setWasBackspacePressed] = useState(false);
|
|
19
|
+
const [activeChip, setActiveChip] = useState(initialActiveChip);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Resets the active index and backspace control to their initial state
|
|
23
|
+
*/
|
|
24
|
+
const resetChipNavigation = () => {
|
|
25
|
+
setWasBackspacePressed(false);
|
|
26
|
+
setActiveChip(initialActiveChip);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Callback to be executed when the backspace was pressed. If there are no chips
|
|
31
|
+
* selected, it will return immediately. If there are it will check if the
|
|
32
|
+
* backspace was already pressed. if it was, it means that the user wants to eliminate
|
|
33
|
+
* the chip, so we execute the `onChipDeleted` function and reset internal state.
|
|
34
|
+
*
|
|
35
|
+
* If it was not pressed before, we set the `wasBackspacePressed` flag to true and
|
|
36
|
+
* highlight the last chip.
|
|
37
|
+
*/
|
|
38
|
+
const onBackspacePressed = () => {
|
|
39
|
+
if (chips.length === 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (wasBackspacePressed) {
|
|
43
|
+
const chipDeleted = chips[chips.length - 1];
|
|
44
|
+
onChipDeleted(chipDeleted);
|
|
45
|
+
resetChipNavigation();
|
|
46
|
+
} else {
|
|
47
|
+
setActiveChip(chips.length - 1);
|
|
48
|
+
setWasBackspacePressed(true);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
activeChip,
|
|
53
|
+
onBackspacePressed,
|
|
54
|
+
resetChipNavigation
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const _excluded = ["align", "children", "className"];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Defines the props of the component.
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Component default props.
|
|
66
|
+
*/
|
|
67
|
+
const DEFAULT_PROPS = {};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Component display name.
|
|
71
|
+
*/
|
|
72
|
+
const COMPONENT_NAME = 'ChipGroup';
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Component default class name and class prefix.
|
|
76
|
+
*/
|
|
77
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* ChipGroup component.
|
|
81
|
+
*
|
|
82
|
+
* @param props Component props.
|
|
83
|
+
* @param ref Component ref.
|
|
84
|
+
* @return React element.
|
|
85
|
+
*/
|
|
86
|
+
const InternalChipGroup = forwardRef((props, ref) => {
|
|
87
|
+
const {
|
|
88
|
+
align,
|
|
89
|
+
children,
|
|
90
|
+
className
|
|
91
|
+
} = props,
|
|
92
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
93
|
+
const chipGroupClassName = handleBasicClasses({
|
|
94
|
+
prefix: CLASSNAME
|
|
95
|
+
});
|
|
96
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
97
|
+
ref: ref
|
|
98
|
+
}, forwardedProps, {
|
|
99
|
+
className: classNames(className, chipGroupClassName)
|
|
100
|
+
}), children);
|
|
101
|
+
});
|
|
102
|
+
InternalChipGroup.displayName = COMPONENT_NAME;
|
|
103
|
+
InternalChipGroup.className = CLASSNAME;
|
|
104
|
+
InternalChipGroup.defaultProps = DEFAULT_PROPS;
|
|
105
|
+
const ChipGroup = Object.assign(InternalChipGroup, {
|
|
106
|
+
useChipGroupNavigation
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
export { ChipGroup };
|
|
110
|
+
//# sourceMappingURL=index.ts-a2b5b771.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-a2b5b771.js","sources":["../../../../src/hooks/useChipGroupNavigation.tsx","../../../../src/components/chip/ChipGroup.tsx"],"sourcesContent":["import { useState } from 'react';\n\ninterface UseChipGroupNavigation {\n /** the current active chip index */\n activeChip: number;\n\n /** callback to be executed when the backspace was pressed */\n onBackspacePressed(): void;\n\n /** function that allows to reset the navigation */\n resetChipNavigation(): void;\n}\n\nexport type useChipGroupNavigationType<C = any> = (\n chips: C[],\n onChipDeleted: (chip: C) => void,\n initialActiveChip?: number,\n) => UseChipGroupNavigation;\n\nconst INITIAL_STATE_ACTIVE_CHIP = -1;\n\n/**\n * Hook that provides the necessary information to manage chips navigation.\n * @param chips List of chips selected.\n * @param onChipDeleted Callback executed when a chip must be eliminated.\n * @param initialActiveChip Initial active chip index.\n *\n * @return chip navigation tools.\n */\nexport const useChipGroupNavigation: useChipGroupNavigationType = (\n chips,\n onChipDeleted,\n initialActiveChip = INITIAL_STATE_ACTIVE_CHIP,\n) => {\n const [wasBackspacePressed, setWasBackspacePressed] = useState(false);\n const [activeChip, setActiveChip] = useState(initialActiveChip);\n\n /**\n * Resets the active index and backspace control to their initial state\n */\n const resetChipNavigation = () => {\n setWasBackspacePressed(false);\n setActiveChip(initialActiveChip);\n };\n\n /**\n * Callback to be executed when the backspace was pressed. If there are no chips\n * selected, it will return immediately. If there are it will check if the\n * backspace was already pressed. if it was, it means that the user wants to eliminate\n * the chip, so we execute the `onChipDeleted` function and reset internal state.\n *\n * If it was not pressed before, we set the `wasBackspacePressed` flag to true and\n * highlight the last chip.\n */\n const onBackspacePressed = () => {\n if (chips.length === 0) {\n return;\n }\n\n if (wasBackspacePressed) {\n const chipDeleted: any = chips[chips.length - 1];\n onChipDeleted(chipDeleted);\n resetChipNavigation();\n } else {\n setActiveChip(chips.length - 1);\n setWasBackspacePressed(true);\n }\n };\n\n return {\n activeChip,\n onBackspacePressed,\n resetChipNavigation,\n };\n};\n","import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { HorizontalAlignment } from '@lumx/react/components';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useChipGroupNavigation } from '@lumx/react/hooks/useChipGroupNavigation';\n\n/**\n * Defines the props of the component.\n */\nexport interface ChipGroupProps extends GenericProps {\n /**\n * Chip horizontal alignment.\n * @deprecated\n */\n align?: HorizontalAlignment;\n /** List of Chip. */\n children: ReactNode;\n}\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ChipGroupProps> = {};\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ChipGroup';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * ChipGroup component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nconst InternalChipGroup = forwardRef<ChipGroupProps, HTMLDivElement>((props, ref) => {\n const { align, children, className, ...forwardedProps } = props;\n const chipGroupClassName = handleBasicClasses({\n prefix: CLASSNAME,\n });\n\n return (\n <div ref={ref} {...forwardedProps} className={classNames(className, chipGroupClassName)}>\n {children}\n </div>\n );\n});\nInternalChipGroup.displayName = COMPONENT_NAME;\nInternalChipGroup.className = CLASSNAME;\nInternalChipGroup.defaultProps = DEFAULT_PROPS;\n\nexport const ChipGroup = Object.assign(InternalChipGroup, { useChipGroupNavigation });\n"],"names":["INITIAL_STATE_ACTIVE_CHIP","useChipGroupNavigation","chips","onChipDeleted","initialActiveChip","arguments","length","undefined","wasBackspacePressed","setWasBackspacePressed","useState","activeChip","setActiveChip","resetChipNavigation","onBackspacePressed","chipDeleted","DEFAULT_PROPS","COMPONENT_NAME","CLASSNAME","getRootClassName","InternalChipGroup","forwardRef","props","ref","align","children","className","forwardedProps","_objectWithoutProperties","_excluded","chipGroupClassName","handleBasicClasses","prefix","React","createElement","_extends","classNames","displayName","defaultProps","ChipGroup","Object","assign"],"mappings":";;;;;AAmBA,MAAMA,yBAAyB,GAAG,CAAC,CAAC,CAAA;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAkD,GAAG,UAC9DC,KAAK,EACLC,aAAa,EAEZ;AAAA,EAAA,IADDC,iBAAiB,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAGL,yBAAyB,CAAA;EAE7C,MAAM,CAACQ,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;EACrE,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGF,QAAQ,CAACN,iBAAiB,CAAC,CAAA;;AAE/D;AACJ;AACA;EACI,MAAMS,mBAAmB,GAAGA,MAAM;IAC9BJ,sBAAsB,CAAC,KAAK,CAAC,CAAA;IAC7BG,aAAa,CAACR,iBAAiB,CAAC,CAAA;GACnC,CAAA;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAMU,kBAAkB,GAAGA,MAAM;AAC7B,IAAA,IAAIZ,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;AACpB,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIE,mBAAmB,EAAE;MACrB,MAAMO,WAAgB,GAAGb,KAAK,CAACA,KAAK,CAACI,MAAM,GAAG,CAAC,CAAC,CAAA;MAChDH,aAAa,CAACY,WAAW,CAAC,CAAA;AAC1BF,MAAAA,mBAAmB,EAAE,CAAA;AACzB,KAAC,MAAM;AACHD,MAAAA,aAAa,CAACV,KAAK,CAACI,MAAM,GAAG,CAAC,CAAC,CAAA;MAC/BG,sBAAsB,CAAC,IAAI,CAAC,CAAA;AAChC,KAAA;GACH,CAAA;EAED,OAAO;IACHE,UAAU;IACVG,kBAAkB;AAClBD,IAAAA,mBAAAA;GACH,CAAA;AACL,CAAC;;;;AC/DD;AACA;AACA;;AAWA;AACA;AACA;AACA,MAAMG,aAAsC,GAAG,EAAE,CAAA;;AAEjD;AACA;AACA;AACA,MAAMC,cAAc,GAAG,WAAW,CAAA;;AAElC;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,iBAAiB,GAAGC,UAAU,CAAiC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACjF,MAAM;MAAEC,KAAK;MAAEC,QAAQ;AAAEC,MAAAA,SAAAA;AAA6B,KAAC,GAAGJ,KAAK;AAAxBK,IAAAA,cAAc,GAAAC,wBAAA,CAAKN,KAAK,EAAAO,SAAA,CAAA,CAAA;EAC/D,MAAMC,kBAAkB,GAAGC,kBAAkB,CAAC;AAC1CC,IAAAA,MAAM,EAAEd,SAAAA;AACZ,GAAC,CAAC,CAAA;AAEF,EAAA,oBACIe,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,QAAA,CAAA;AAAKZ,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EAAKI,cAAc,EAAA;AAAED,IAAAA,SAAS,EAAEU,UAAU,CAACV,SAAS,EAAEI,kBAAkB,CAAA;AAAE,GAAA,CAAA,EACnFL,QACA,CAAC,CAAA;AAEd,CAAC,CAAC,CAAA;AACFL,iBAAiB,CAACiB,WAAW,GAAGpB,cAAc,CAAA;AAC9CG,iBAAiB,CAACM,SAAS,GAAGR,SAAS,CAAA;AACvCE,iBAAiB,CAACkB,YAAY,GAAGtB,aAAa,CAAA;AAEvC,MAAMuB,SAAS,GAAGC,MAAM,CAACC,MAAM,CAACrB,iBAAiB,EAAE;AAAEnB,EAAAA,sBAAAA;AAAuB,CAAC;;;;"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { h as getRootClassName, i as forwardRef, T as Theme, j as _objectWithoutProperties, _ as _extends, g as classNames, S as Size } from '../../1da25128.js';
|
|
2
|
+
import React__default, { Children } from 'react';
|
|
3
|
+
import { u as useTheme } from '../../3181f000.js';
|
|
4
|
+
import { h as handleBasicClasses } from '../../f57e1239.js';
|
|
5
|
+
import { Avatar } from '../avatar/index.ts-93ee0ea9.js';
|
|
6
|
+
import { Tooltip } from '../tooltip/index.ts-905c847c.js';
|
|
7
|
+
|
|
8
|
+
const _excluded = ["actions", "avatarProps", "children", "className", "date", "fullDate", "hasActions", "headerActions", "isOpen", "isRelevant", "name", "onClick", "onMouseEnter", "onMouseLeave", "text", "theme", "variant"];
|
|
9
|
+
/**
|
|
10
|
+
* Comment block variants.
|
|
11
|
+
*/
|
|
12
|
+
const CommentBlockVariant = {
|
|
13
|
+
indented: 'indented',
|
|
14
|
+
linear: 'linear'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Defines the props of the component.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Component display name.
|
|
23
|
+
*/
|
|
24
|
+
const COMPONENT_NAME = 'CommentBlock';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Component default class name and class prefix.
|
|
28
|
+
*/
|
|
29
|
+
const CLASSNAME = getRootClassName(COMPONENT_NAME);
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Component default props.
|
|
33
|
+
*/
|
|
34
|
+
const DEFAULT_PROPS = {
|
|
35
|
+
variant: CommentBlockVariant.indented
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* CommentBlock component.
|
|
40
|
+
*
|
|
41
|
+
* @param props Component props.
|
|
42
|
+
* @param ref Component ref.
|
|
43
|
+
* @return React element.
|
|
44
|
+
*/
|
|
45
|
+
const CommentBlock = forwardRef((props, ref) => {
|
|
46
|
+
const defaultTheme = useTheme() || Theme.light;
|
|
47
|
+
const {
|
|
48
|
+
actions,
|
|
49
|
+
avatarProps,
|
|
50
|
+
children,
|
|
51
|
+
className,
|
|
52
|
+
date,
|
|
53
|
+
fullDate,
|
|
54
|
+
hasActions,
|
|
55
|
+
headerActions,
|
|
56
|
+
isOpen,
|
|
57
|
+
isRelevant,
|
|
58
|
+
name,
|
|
59
|
+
onClick,
|
|
60
|
+
onMouseEnter,
|
|
61
|
+
onMouseLeave,
|
|
62
|
+
text,
|
|
63
|
+
theme = defaultTheme,
|
|
64
|
+
variant
|
|
65
|
+
} = props,
|
|
66
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
67
|
+
const hasChildren = Children.count(children) > 0;
|
|
68
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
69
|
+
ref: ref,
|
|
70
|
+
className: classNames(className, handleBasicClasses({
|
|
71
|
+
hasChildren: hasChildren && isOpen,
|
|
72
|
+
hasIndentedChildren: hasChildren && variant === CommentBlockVariant.indented,
|
|
73
|
+
hasLinearChildren: hasChildren && variant === CommentBlockVariant.linear,
|
|
74
|
+
isRelevant,
|
|
75
|
+
prefix: CLASSNAME,
|
|
76
|
+
theme
|
|
77
|
+
}))
|
|
78
|
+
}, forwardedProps), /*#__PURE__*/React__default.createElement("div", {
|
|
79
|
+
className: `${CLASSNAME}__wrapper`
|
|
80
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
81
|
+
className: `${CLASSNAME}__avatar`
|
|
82
|
+
}, /*#__PURE__*/React__default.createElement(Avatar, _extends({}, avatarProps, {
|
|
83
|
+
size: Size.m,
|
|
84
|
+
onClick: onClick
|
|
85
|
+
}))), /*#__PURE__*/React__default.createElement("div", {
|
|
86
|
+
className: `${CLASSNAME}__container`
|
|
87
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
88
|
+
className: `${CLASSNAME}__content`
|
|
89
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
90
|
+
className: `${CLASSNAME}__meta`
|
|
91
|
+
}, name &&
|
|
92
|
+
/*#__PURE__*/
|
|
93
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
|
|
94
|
+
React__default.createElement("span", {
|
|
95
|
+
className: `${CLASSNAME}__name`,
|
|
96
|
+
onClick: onClick,
|
|
97
|
+
onMouseEnter: onMouseEnter,
|
|
98
|
+
onMouseLeave: onMouseLeave
|
|
99
|
+
}, name), headerActions && /*#__PURE__*/React__default.createElement("span", {
|
|
100
|
+
className: `${CLASSNAME}__header-actions`
|
|
101
|
+
}, headerActions)), /*#__PURE__*/React__default.createElement("div", {
|
|
102
|
+
className: `${CLASSNAME}__text`
|
|
103
|
+
}, text), date && (fullDate ? /*#__PURE__*/React__default.createElement(Tooltip, {
|
|
104
|
+
label: fullDate,
|
|
105
|
+
placement: "top"
|
|
106
|
+
}, /*#__PURE__*/React__default.createElement("span", {
|
|
107
|
+
className: `${CLASSNAME}__date`
|
|
108
|
+
}, date)) : /*#__PURE__*/React__default.createElement("span", {
|
|
109
|
+
className: `${CLASSNAME}__date`
|
|
110
|
+
}, date))), hasActions && /*#__PURE__*/React__default.createElement("div", {
|
|
111
|
+
className: `${CLASSNAME}__actions`
|
|
112
|
+
}, actions))), hasChildren && isOpen && /*#__PURE__*/React__default.createElement("div", {
|
|
113
|
+
className: `${CLASSNAME}__children`
|
|
114
|
+
}, children));
|
|
115
|
+
});
|
|
116
|
+
CommentBlock.displayName = COMPONENT_NAME;
|
|
117
|
+
CommentBlock.className = CLASSNAME;
|
|
118
|
+
CommentBlock.defaultProps = DEFAULT_PROPS;
|
|
119
|
+
|
|
120
|
+
export { CommentBlock, CommentBlockVariant };
|
|
121
|
+
//# sourceMappingURL=index.ts-58fa051a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-58fa051a.js","sources":["../../../../src/components/comment-block/CommentBlock.tsx"],"sourcesContent":["import React, { Children, ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Avatar, Size, Theme, Tooltip } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/react/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { AvatarProps } from '../avatar/Avatar';\n\n/**\n * Comment block variants.\n */\nexport const CommentBlockVariant = {\n indented: 'indented',\n linear: 'linear',\n} as const;\nexport type CommentBlockVariant = ValueOf<typeof CommentBlockVariant>;\n\n/**\n * Defines the props of the component.\n */\nexport interface CommentBlockProps extends GenericProps, HasTheme {\n /** Action toolbar content. */\n actions?: ReactNode;\n /** Props to pass to the avatar. */\n avatarProps: AvatarProps;\n /** Comment block replies. */\n children?: ReactNode;\n /** Comment date with the minimal timestamp information (xx minutes, x hours, yesterday, 6 days, Month Day, Month Day Year)*/\n date?: string;\n /** Comment date with the full timestamp information (day, month, year, time) */\n fullDate?: string;\n /** Whether the component has actions to display or not. */\n hasActions?: boolean;\n /** Action toolbar header content. */\n headerActions?: ReactNode;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Whether the comment is relevant or not. */\n isRelevant?: boolean;\n /** Comment author name. */\n name?: React.ReactNode;\n /**\n * On click callback.\n * @deprecated Use avatarProps instead and/or inject a clickable component in `name`\n */\n onClick?(): void;\n /**\n * On mouse enter callback.\n * @deprecated Use avatarProps instead and/or inject a clickable component in `name`\n */\n onMouseEnter?(): void;\n /**\n * On mouse leave callback.\n * @deprecated Use avatarProps instead and/or inject a clickable component in `name`\n */\n onMouseLeave?(): void;\n /** Comment content. */\n text: ReactNode | string;\n /** Comment variant. */\n variant?: CommentBlockVariant;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'CommentBlock';\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<CommentBlockProps> = {\n variant: CommentBlockVariant.indented,\n};\n\n/**\n * CommentBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const CommentBlock = forwardRef<CommentBlockProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n actions,\n avatarProps,\n children,\n className,\n date,\n fullDate,\n hasActions,\n headerActions,\n isOpen,\n isRelevant,\n name,\n onClick,\n onMouseEnter,\n onMouseLeave,\n text,\n theme = defaultTheme,\n variant,\n ...forwardedProps\n } = props;\n const hasChildren = Children.count(children) > 0;\n\n return (\n <div\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n hasChildren: hasChildren && isOpen,\n hasIndentedChildren: hasChildren && variant === CommentBlockVariant.indented,\n hasLinearChildren: hasChildren && variant === CommentBlockVariant.linear,\n isRelevant,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n {...forwardedProps}\n >\n <div className={`${CLASSNAME}__wrapper`}>\n <div className={`${CLASSNAME}__avatar`}>\n <Avatar {...avatarProps} size={Size.m} onClick={onClick} />\n </div>\n\n <div className={`${CLASSNAME}__container`}>\n <div className={`${CLASSNAME}__content`}>\n <div className={`${CLASSNAME}__meta`}>\n {name && (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <span\n className={`${CLASSNAME}__name`}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {name}\n </span>\n )}\n {headerActions && <span className={`${CLASSNAME}__header-actions`}>{headerActions}</span>}\n </div>\n\n <div className={`${CLASSNAME}__text`}>{text}</div>\n {date &&\n (fullDate ? (\n <Tooltip label={fullDate} placement=\"top\">\n <span className={`${CLASSNAME}__date`}>{date}</span>\n </Tooltip>\n ) : (\n <span className={`${CLASSNAME}__date`}>{date}</span>\n ))}\n </div>\n {hasActions && <div className={`${CLASSNAME}__actions`}>{actions}</div>}\n </div>\n </div>\n {hasChildren && isOpen && <div className={`${CLASSNAME}__children`}>{children}</div>}\n </div>\n );\n});\nCommentBlock.displayName = COMPONENT_NAME;\nCommentBlock.className = CLASSNAME;\nCommentBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["CommentBlockVariant","indented","linear","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","variant","CommentBlock","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","actions","avatarProps","children","className","date","fullDate","hasActions","headerActions","isOpen","isRelevant","name","onClick","onMouseEnter","onMouseLeave","text","theme","forwardedProps","_objectWithoutProperties","_excluded","hasChildren","Children","count","React","createElement","_extends","classNames","handleBasicClasses","hasIndentedChildren","hasLinearChildren","prefix","Avatar","size","Size","m","Tooltip","label","placement","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { V as ValueOf, G as GenericProps, H as HasTheme, C as Comp } from '../../8d67e1e3.js';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
import { AvatarProps } from '../avatar/index.ts-f92852b4.js';
|
|
4
|
+
import '../../35f100be.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Comment block variants.
|
|
8
|
+
*/
|
|
9
|
+
declare const CommentBlockVariant: {
|
|
10
|
+
readonly indented: "indented";
|
|
11
|
+
readonly linear: "linear";
|
|
12
|
+
};
|
|
13
|
+
type CommentBlockVariant = ValueOf<typeof CommentBlockVariant>;
|
|
14
|
+
/**
|
|
15
|
+
* Defines the props of the component.
|
|
16
|
+
*/
|
|
17
|
+
interface CommentBlockProps extends GenericProps, HasTheme {
|
|
18
|
+
/** Action toolbar content. */
|
|
19
|
+
actions?: ReactNode;
|
|
20
|
+
/** Props to pass to the avatar. */
|
|
21
|
+
avatarProps: AvatarProps;
|
|
22
|
+
/** Comment block replies. */
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
/** Comment date with the minimal timestamp information (xx minutes, x hours, yesterday, 6 days, Month Day, Month Day Year)*/
|
|
25
|
+
date?: string;
|
|
26
|
+
/** Comment date with the full timestamp information (day, month, year, time) */
|
|
27
|
+
fullDate?: string;
|
|
28
|
+
/** Whether the component has actions to display or not. */
|
|
29
|
+
hasActions?: boolean;
|
|
30
|
+
/** Action toolbar header content. */
|
|
31
|
+
headerActions?: ReactNode;
|
|
32
|
+
/** Whether the component is open or not. */
|
|
33
|
+
isOpen?: boolean;
|
|
34
|
+
/** Whether the comment is relevant or not. */
|
|
35
|
+
isRelevant?: boolean;
|
|
36
|
+
/** Comment author name. */
|
|
37
|
+
name?: React.ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* On click callback.
|
|
40
|
+
* @deprecated Use avatarProps instead and/or inject a clickable component in `name`
|
|
41
|
+
*/
|
|
42
|
+
onClick?(): void;
|
|
43
|
+
/**
|
|
44
|
+
* On mouse enter callback.
|
|
45
|
+
* @deprecated Use avatarProps instead and/or inject a clickable component in `name`
|
|
46
|
+
*/
|
|
47
|
+
onMouseEnter?(): void;
|
|
48
|
+
/**
|
|
49
|
+
* On mouse leave callback.
|
|
50
|
+
* @deprecated Use avatarProps instead and/or inject a clickable component in `name`
|
|
51
|
+
*/
|
|
52
|
+
onMouseLeave?(): void;
|
|
53
|
+
/** Comment content. */
|
|
54
|
+
text: ReactNode | string;
|
|
55
|
+
/** Comment variant. */
|
|
56
|
+
variant?: CommentBlockVariant;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* CommentBlock component.
|
|
60
|
+
*
|
|
61
|
+
* @param props Component props.
|
|
62
|
+
* @param ref Component ref.
|
|
63
|
+
* @return React element.
|
|
64
|
+
*/
|
|
65
|
+
declare const CommentBlock: Comp<CommentBlockProps, HTMLDivElement>;
|
|
66
|
+
|
|
67
|
+
export { CommentBlock, type CommentBlockProps, CommentBlockVariant };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.ts-145262d5.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|