@bodynarf/react.components 1.3.11 → 1.4.1
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/common.scss +3 -0
- package/components/anchor/components/anchorWithIcon/index.d.ts +1 -0
- package/components/anchor/components/anchorWithIcon/index.d.ts.map +1 -1
- package/components/anchor/components/simpleAnchor/index.d.ts +0 -1
- package/components/anchor/components/simpleAnchor/index.d.ts.map +1 -1
- package/components/button/components/buttonWithIcon/index.d.ts +1 -0
- package/components/button/components/buttonWithIcon/index.d.ts.map +1 -1
- package/components/button/components/simpleButton/index.d.ts +0 -1
- package/components/button/components/simpleButton/index.d.ts.map +1 -1
- package/components/dropdown/index.d.ts +1 -0
- package/components/dropdown/index.d.ts.map +1 -1
- package/components/primitives/checkbox/checkbox.scss +1 -1
- package/components/primitives/checkbox/index.d.ts +7 -3
- package/components/primitives/checkbox/index.d.ts.map +1 -1
- package/components/primitives/checkbox/index.js +8 -8
- package/components/primitives/date/index.d.ts +4 -3
- package/components/primitives/date/index.d.ts.map +1 -1
- package/components/primitives/date/index.js +25 -22
- package/components/primitives/multiline/components/multilineWithLabel/index.d.ts +2 -2
- package/components/primitives/multiline/components/multilineWithLabel/index.d.ts.map +1 -1
- package/components/primitives/multiline/components/multilineWithLabel/index.js +23 -21
- package/components/primitives/multiline/components/multilineWithoutLabel/index.d.ts +2 -2
- package/components/primitives/multiline/components/multilineWithoutLabel/index.d.ts.map +1 -1
- package/components/primitives/multiline/components/multilineWithoutLabel/index.js +18 -17
- package/components/primitives/multiline/index.d.ts +2 -1
- package/components/primitives/multiline/index.d.ts.map +1 -1
- package/components/primitives/multiline/index.js +4 -3
- package/components/primitives/text/components/textWithLabel/index.d.ts +2 -2
- package/components/primitives/text/components/textWithLabel/index.d.ts.map +1 -1
- package/components/primitives/text/components/textWithLabel/index.js +22 -20
- package/components/primitives/text/components/textWithoutLabel/index.d.ts +2 -2
- package/components/primitives/text/components/textWithoutLabel/index.d.ts.map +1 -1
- package/components/primitives/text/components/textWithoutLabel/index.js +18 -15
- package/components/primitives/text/index.d.ts +2 -1
- package/components/primitives/text/index.d.ts.map +1 -1
- package/components/primitives/text/index.js +4 -3
- package/components/primitives/types/baseProps.d.ts +30 -0
- package/components/primitives/types/baseProps.d.ts.map +1 -0
- package/components/primitives/{types.js → types/baseProps.js} +0 -0
- package/components/primitives/types/enums.d.ts +29 -0
- package/components/primitives/types/enums.d.ts.map +1 -0
- package/components/primitives/types/enums.js +31 -0
- package/components/primitives/types/index.d.ts +5 -0
- package/components/primitives/types/index.d.ts.map +1 -0
- package/components/primitives/types/index.js +4 -0
- package/components/primitives/types/label.d.ts +14 -0
- package/components/primitives/types/label.d.ts.map +1 -0
- package/components/primitives/types/label.js +1 -0
- package/components/primitives/types/validation/index.d.ts +3 -0
- package/components/primitives/types/validation/index.d.ts.map +1 -0
- package/components/primitives/types/validation/index.js +2 -0
- package/components/primitives/types/validation/state.d.ts +9 -0
- package/components/primitives/types/validation/state.d.ts.map +1 -0
- package/components/primitives/types/validation/state.js +2 -0
- package/components/primitives/types/validation/status.d.ts +10 -0
- package/components/primitives/types/validation/status.d.ts.map +1 -0
- package/components/primitives/types/validation/status.js +11 -0
- package/package.json +2 -2
- package/utils/formValidation.d.ts +16 -0
- package/utils/formValidation.d.ts.map +1 -0
- package/utils/formValidation.js +35 -0
- package/utils/index.d.ts +2 -0
- package/utils/index.d.ts.map +1 -0
- package/utils/index.js +1 -0
- package/components/primitives/index.d.ts +0 -6
- package/components/primitives/index.d.ts.map +0 -1
- package/components/primitives/index.js +0 -5
- package/components/primitives/types.d.ts +0 -44
- package/components/primitives/types.d.ts.map +0 -1
package/common.scss
ADDED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/anchorWithIcon/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,iCAAiC;AACjC,eAAO,MAAM,cAAc,+DAAgE,mBAAmB,KAAG,WAqChH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/anchorWithIcon/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,iCAAiC;AACjC,eAAO,MAAM,cAAc,+DAAgE,mBAAmB,KAAG,WAqChH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/simpleAnchor/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/simpleAnchor/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,4CAA4C;AAC5C,eAAO,MAAM,YAAY,yDAA0D,iBAAiB,KAAG,WAYtG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/components/buttonWithIcon/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,iCAAiC;AACjC,eAAO,MAAM,cAAc,2DAA4D,mBAAmB,KAAG,WAsC5G,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/components/buttonWithIcon/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,iCAAiC;AACjC,eAAO,MAAM,cAAc,2DAA4D,mBAAmB,KAAG,WAsC5G,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/components/simpleButton/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/components/simpleButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,4CAA4C;AAC5C,eAAO,MAAM,YAAY,qDAAsD,iBAAiB,KAAG,WAWlG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/index.tsx"],"names":[],"mappings":"AAIA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK5C,oBAAY,aAAa,GAAG,gBAAgB,GAAG;IAC3C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAE7B;;;MAGE;IACF,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;MAEE;IACF,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAE1C;;;MAGE;IACF,OAAO,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,gBAAgB,EAAE,OAAO,CAAC;IAE1B,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAA;AAED,yBAAyB;AACzB,QAAA,MAAM,QAAQ,kGAAmG,aAAa,KAAG,WA4FhI,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/index.tsx"],"names":[],"mappings":";AAIA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK5C,oBAAY,aAAa,GAAG,gBAAgB,GAAG;IAC3C,kCAAkC;IAClC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAE7B;;;MAGE;IACF,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;MAEE;IACF,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAE1C;;;MAGE;IACF,OAAO,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,gBAAgB,EAAE,OAAO,CAAC;IAE1B,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAA;AAED,yBAAyB;AACzB,QAAA,MAAM,QAAQ,kGAAmG,aAAa,KAAG,WA4FhI,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.is-checkradio[type="checkbox"].has-background-color.m-has-background-color:not(:checked) + label::before {
|
|
1
|
+
.is-checkradio[type="checkbox"].m-check-radio.has-background-color.m-has-background-color:not(:checked) + label::before {
|
|
2
2
|
border-color: #dbdbdb !important;
|
|
3
3
|
background-color: transparent !important;
|
|
4
4
|
}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./checkbox.scss";
|
|
2
2
|
import { BaseInputElementProps } from "../types";
|
|
3
3
|
export declare type CheckBoxProps = BaseInputElementProps<boolean> & {
|
|
4
4
|
/** Is full colored checkbox */
|
|
5
5
|
block?: boolean;
|
|
6
6
|
/** Remove the checkbox border */
|
|
7
7
|
withoutBorder?: boolean;
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Checkbox has background color.
|
|
10
|
+
* Only works if style is set
|
|
11
|
+
*/
|
|
9
12
|
hasBackgroundColor?: boolean;
|
|
10
13
|
/**
|
|
11
14
|
* Set unchecked background as transparent.
|
|
12
|
-
* Only used with `hasBackgroundColor`
|
|
15
|
+
* Only used with `hasBackgroundColor` set as `true`
|
|
16
|
+
* @example `{ style: InputColor.Info, hasBackgrounColor: true, fixBackgroundColor: true }` -
|
|
13
17
|
*/
|
|
14
18
|
fixBackgroundColor?: boolean;
|
|
15
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/checkbox/index.tsx"],"names":[],"mappings":"AAIA,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,oBAAY,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG;IACzD,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/checkbox/index.tsx"],"names":[],"mappings":"AAIA,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,oBAAY,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG;IACzD,+BAA+B;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;MAGE;IACF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;MAIE;IACF,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,QAAA,MAAM,QAAQ,+IAKX,aAAa,KAAG,WAsClB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback } from "react";
|
|
3
3
|
import { generateGuid, getClassName, isNullOrUndefined } from "@bodynarf/utils";
|
|
4
|
-
import
|
|
4
|
+
import "./checkbox.scss";
|
|
5
5
|
const CheckBox = ({ label, onValueChange, defaultValue, name, disabled, rounded, size, style, block, withoutBorder, hasBackgroundColor, fixBackgroundColor }) => {
|
|
6
6
|
const onChecked = useCallback((event) => onValueChange(event.target.checked), [onValueChange]);
|
|
7
7
|
const id = name || generateGuid();
|
|
8
8
|
const className = getClassName([
|
|
9
|
-
"m-check-radio",
|
|
10
9
|
"is-checkradio",
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
"m-check-radio",
|
|
11
|
+
(hasBackgroundColor ?? false) ? "has-background-color" : "",
|
|
12
|
+
(fixBackgroundColor ?? false) && (hasBackgroundColor ?? false) ? "m-has-background-color" : "",
|
|
13
|
+
isNullOrUndefined(size) ? "" : size === "normal" ? "" : `is-${size}`,
|
|
14
|
+
(rounded ?? false) ? "is-circle" : "",
|
|
15
15
|
isNullOrUndefined(style) ? "" : `is-${style}`,
|
|
16
|
-
block
|
|
17
|
-
withoutBorder
|
|
16
|
+
(block ?? false) ? "is-block" : "",
|
|
17
|
+
(withoutBorder ?? false) ? "has-no-border" : "",
|
|
18
18
|
]);
|
|
19
19
|
return (_jsxs("div", { className: "field", children: [_jsx("input", { type: "checkbox", name: id, id: id, disabled: disabled, onChange: onChecked, className: className, defaultChecked: defaultValue }), _jsx("label", { htmlFor: id, children: label?.caption })] }));
|
|
20
20
|
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "../../../common.scss";
|
|
2
|
+
import { BaseInputElementProps, InputLabel } from "../types";
|
|
2
3
|
/** Date input conponent props type */
|
|
3
|
-
export declare type DateProps = Omit<BaseInputElementProps<Date | undefined>,
|
|
4
|
+
export declare type DateProps = Omit<BaseInputElementProps<Date | undefined>, "placeholder"> & {
|
|
4
5
|
/** Label configuration */
|
|
5
6
|
label: InputLabel;
|
|
6
7
|
/** Focus out event handler */
|
|
7
8
|
onBlur?: () => void;
|
|
8
9
|
};
|
|
9
10
|
/** Date input component */
|
|
10
|
-
declare const DatePicker: (
|
|
11
|
+
declare const DatePicker: ({ defaultValue, onValueChange, readonly, disabled, validationState, name, size, className, rounded, loading, style, label, onBlur }: DateProps) => JSX.Element;
|
|
11
12
|
export default DatePicker;
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/date/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/date/index.tsx"],"names":[],"mappings":"AAIA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAa,MAAM,UAAU,CAAC;AAGxE,sCAAsC;AACtC,oBAAY,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,aAAa,CAAC,GAAG;IACnF,0BAA0B;IAC1B,KAAK,EAAE,UAAU,CAAC;IAElB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAA;AAED,2BAA2B;AAC3B,QAAA,MAAM,UAAU,wIAMb,SAAS,KAAG,WA4Gd,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,45 +1,48 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from
|
|
3
|
-
import { generateGuid, getClassName, isStringEmpty } from
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { generateGuid, getClassName, getValueOrDefault, isStringEmpty } from "@bodynarf/utils";
|
|
4
|
+
import "../../../common.scss";
|
|
5
|
+
import { InputSize } from "../types";
|
|
6
|
+
import { getValidationValues } from "../../../utils";
|
|
4
7
|
/** Date input component */
|
|
5
|
-
const DatePicker = (
|
|
6
|
-
const
|
|
8
|
+
const DatePicker = ({ defaultValue, onValueChange, readonly, disabled, validationState, name, size, className, rounded, loading, style, label, onBlur }) => {
|
|
9
|
+
const onChange = useCallback((event) => onValueChange(isStringEmpty(event.target.value)
|
|
7
10
|
? undefined
|
|
8
|
-
: new Date(event.target.value)),
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
: new Date(event.target.value)), [onValueChange]);
|
|
12
|
+
const id = name || generateGuid();
|
|
13
|
+
const elSizeClassName = "is-{0}".format(getValueOrDefault(size, InputSize.Normal));
|
|
14
|
+
const [isValidationDefined, styleClassName, validationMessages] = getValidationValues(style, validationState);
|
|
15
|
+
const elClassName = getClassName([
|
|
16
|
+
className,
|
|
17
|
+
elSizeClassName,
|
|
18
|
+
styleClassName,
|
|
19
|
+
rounded === true ? "is-rounded" : "",
|
|
17
20
|
"input",
|
|
18
21
|
]);
|
|
19
22
|
const inputContainerClassName = getClassName([
|
|
20
23
|
"control",
|
|
21
|
-
|
|
22
|
-
(props.style || 'default') === 'default' ? '' : `is-${props.style}`
|
|
24
|
+
loading === true ? "is-loading" : "",
|
|
23
25
|
]);
|
|
24
|
-
const
|
|
25
|
-
const defaultValue = props.defaultValue?.toISOString().split("T")[0];
|
|
26
|
+
const stingifiedDefValue = defaultValue?.toISOString().split("T")[0];
|
|
26
27
|
const labelClassName = getClassName([
|
|
27
28
|
"label",
|
|
28
|
-
label.horizontal
|
|
29
|
+
!label.horizontal ? elSizeClassName : "",
|
|
29
30
|
label.className
|
|
30
31
|
]);
|
|
31
|
-
if (label.horizontal
|
|
32
|
+
if (label.horizontal) {
|
|
32
33
|
const labelContainerClassName = getClassName([
|
|
33
34
|
"field-label",
|
|
34
|
-
|
|
35
|
+
elSizeClassName,
|
|
35
36
|
label.horizontalContainerClassName
|
|
36
37
|
]);
|
|
37
38
|
const fieldContainerClassName = getClassName([
|
|
38
39
|
"field-body",
|
|
39
40
|
label.horizontalFieldContainerClassName
|
|
40
41
|
]);
|
|
41
|
-
return (_jsxs("div", { className: "
|
|
42
|
+
return (_jsxs("div", { className: "field is-horizontal", children: [_jsx("div", { className: labelContainerClassName, children: _jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }) }), _jsx("div", { className: fieldContainerClassName, children: _jsxs("div", { className: "field", children: [_jsx("div", { className: inputContainerClassName, children: _jsx("input", { type: "date", className: elClassName, readOnly: readonly, disabled: disabled, defaultValue: stingifiedDefValue, onChange: onChange, onBlur: onBlur, name: id, id: id }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
43
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }) })] }));
|
|
42
44
|
}
|
|
43
|
-
return (_jsxs("div", { className: "
|
|
45
|
+
return (_jsxs("div", { className: "field", children: [_jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }), _jsx("div", { className: inputContainerClassName, children: _jsx("input", { type: "date", className: elClassName, readOnly: readonly, disabled: disabled, defaultValue: stingifiedDefValue, onChange: onChange, onBlur: onBlur, name: id, id: id }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
46
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }));
|
|
44
47
|
};
|
|
45
48
|
export default DatePicker;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MultilineProps } from
|
|
1
|
+
import { MultilineProps } from "../..";
|
|
2
2
|
/** Multiline textual input component with describing label */
|
|
3
|
-
declare const MultilineWithLabel: (
|
|
3
|
+
declare const MultilineWithLabel: ({ defaultValue, onValueChange, validationState, readonly, disabled, name, className, size, style, rounded, loading, label, placeholder, fixed, rows, onBlur }: MultilineProps) => JSX.Element;
|
|
4
4
|
export default MultilineWithLabel;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/multiline/components/multilineWithLabel/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/multiline/components/multilineWithLabel/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,8DAA8D;AAC9D,QAAA,MAAM,kBAAkB,kKAOrB,cAAc,KAAG,WAyGnB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,43 +1,45 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from
|
|
3
|
-
import { generateGuid, getClassName } from
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { generateGuid, getClassName, getValueOrDefault } from "@bodynarf/utils";
|
|
4
|
+
import { InputSize } from "../../../types";
|
|
5
|
+
import { getValidationValues } from "../../../../../utils";
|
|
4
6
|
/** Multiline textual input component with describing label */
|
|
5
|
-
const MultilineWithLabel = (
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const MultilineWithLabel = ({ defaultValue, onValueChange, validationState, readonly, disabled, name, className, size, style, rounded, loading, label, placeholder, fixed, rows, onBlur }) => {
|
|
8
|
+
const onChange = useCallback((event) => onValueChange(event.target.value), [onValueChange]);
|
|
9
|
+
const id = name || generateGuid();
|
|
10
|
+
const elSizeClassName = "is-{0}".format(getValueOrDefault(size, InputSize.Normal));
|
|
11
|
+
const [isValidationDefined, styleClassName, validationMessages] = getValidationValues(style, validationState);
|
|
12
|
+
const elClassName = getClassName([
|
|
13
|
+
className,
|
|
14
|
+
elSizeClassName,
|
|
15
|
+
rounded === true ? "is-rounded" : "",
|
|
16
|
+
styleClassName,
|
|
15
17
|
"textarea",
|
|
16
|
-
|
|
18
|
+
fixed === true ? "has-fixed-size" : "",
|
|
17
19
|
]);
|
|
18
20
|
const inputContainerClassName = getClassName([
|
|
19
21
|
"control",
|
|
20
|
-
|
|
21
|
-
(props.style || 'default') === 'default' ? '' : `is-${props.style}`
|
|
22
|
+
loading === true ? "is-loading" : "",
|
|
22
23
|
]);
|
|
23
|
-
const label = props.label;
|
|
24
24
|
const labelClassName = getClassName([
|
|
25
25
|
"label",
|
|
26
|
-
label.horizontal
|
|
26
|
+
!label.horizontal ? elSizeClassName : "",
|
|
27
27
|
label.className
|
|
28
28
|
]);
|
|
29
|
-
if (label.horizontal
|
|
29
|
+
if (label.horizontal) {
|
|
30
30
|
const labelContainerClassName = getClassName([
|
|
31
31
|
"field-label",
|
|
32
|
-
|
|
32
|
+
elSizeClassName,
|
|
33
33
|
label.horizontalContainerClassName
|
|
34
34
|
]);
|
|
35
35
|
const fieldContainerClassName = getClassName([
|
|
36
36
|
"field-body",
|
|
37
37
|
label.horizontalFieldContainerClassName
|
|
38
38
|
]);
|
|
39
|
-
return (_jsxs("div", { className: "app-input field is-horizontal", children: [_jsx("div", { className: labelContainerClassName, children: _jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }) }), _jsx("div", { className: fieldContainerClassName, children:
|
|
39
|
+
return (_jsxs("div", { className: "app-input field is-horizontal", children: [_jsx("div", { className: labelContainerClassName, children: _jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }) }), _jsx("div", { className: fieldContainerClassName, children: _jsxs("div", { className: "field", children: [_jsx("div", { className: inputContainerClassName, children: _jsx("textarea", { className: elClassName, placeholder: placeholder, readOnly: readonly, disabled: disabled, defaultValue: defaultValue, onChange: onChange, onBlur: onBlur, name: id, id: id, rows: rows }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
40
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }) })] }));
|
|
40
41
|
}
|
|
41
|
-
return (_jsxs("div", { className: "app-input field", children: [_jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }), _jsx("div", { className: inputContainerClassName, children: _jsx("textarea", { className:
|
|
42
|
+
return (_jsxs("div", { className: "app-input field", children: [_jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }), _jsx("div", { className: inputContainerClassName, children: _jsx("textarea", { className: elClassName, placeholder: placeholder, readOnly: readonly, disabled: disabled, defaultValue: defaultValue, onChange: onChange, onBlur: onBlur, name: id, id: id, rows: rows }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
43
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }));
|
|
42
44
|
};
|
|
43
45
|
export default MultilineWithLabel;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MultilineProps } from
|
|
1
|
+
import { MultilineProps } from "../..";
|
|
2
2
|
/** Multiline textual input component without describing label*/
|
|
3
|
-
declare const MultilineWithoutLabel: (
|
|
3
|
+
declare const MultilineWithoutLabel: ({ onValueChange, defaultValue, validationState, name, placeholder, onBlur, className, size, style, rounded, loading, fixed, rows, }: MultilineProps) => JSX.Element;
|
|
4
4
|
export default MultilineWithoutLabel;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/multiline/components/multilineWithoutLabel/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/multiline/components/multilineWithoutLabel/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,gEAAgE;AAChE,QAAA,MAAM,qBAAqB,wIAMxB,cAAc,KAAG,WA0CnB,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from
|
|
3
|
-
import { generateGuid, getClassName } from
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { generateGuid, getClassName, getValueOrDefault } from "@bodynarf/utils";
|
|
4
|
+
import { InputSize } from "../../../types";
|
|
5
|
+
import { getValidationValues } from "../../../../../utils";
|
|
4
6
|
/** Multiline textual input component without describing label*/
|
|
5
|
-
const MultilineWithoutLabel = (
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
[
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
props.rounded === true ? 'is-rounded' : '',
|
|
7
|
+
const MultilineWithoutLabel = ({ onValueChange, defaultValue, validationState, name, placeholder, onBlur, className, size, style, rounded, loading, fixed, rows, }) => {
|
|
8
|
+
const onChange = useCallback((event) => onValueChange(event.target.value), [onValueChange]);
|
|
9
|
+
const id = name || generateGuid();
|
|
10
|
+
const [isValidationDefined, styleClassName, validationMessages] = getValidationValues(style, validationState);
|
|
11
|
+
const elClassName = getClassName([
|
|
12
|
+
className,
|
|
13
|
+
"is-{0}".format(getValueOrDefault(size, InputSize.Normal)),
|
|
14
|
+
rounded === true ? "is-rounded" : "",
|
|
15
|
+
styleClassName,
|
|
15
16
|
"textarea",
|
|
16
|
-
|
|
17
|
+
fixed === true ? "has-fixed-size" : "",
|
|
17
18
|
]);
|
|
18
19
|
const inputContainerClassName = getClassName([
|
|
19
20
|
"control",
|
|
20
|
-
|
|
21
|
-
(props.style || 'default') === 'default' ? '' : `is-${props.style}`
|
|
21
|
+
loading === true ? "is-loading" : "",
|
|
22
22
|
]);
|
|
23
|
-
return (
|
|
23
|
+
return (_jsxs("div", { className: "field", children: [_jsx("div", { className: inputContainerClassName, children: _jsx("textarea", { className: elClassName, placeholder: placeholder, defaultValue: defaultValue, onChange: onChange, onBlur: onBlur, id: id, name: id, rows: rows }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
24
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }));
|
|
24
25
|
};
|
|
25
26
|
export default MultilineWithoutLabel;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "../../../common.scss";
|
|
2
|
+
import { BaseInputElementProps } from "../types";
|
|
2
3
|
/** Multiline textual input conponent props type */
|
|
3
4
|
export declare type MultilineProps = BaseInputElementProps<string> & {
|
|
4
5
|
/** Is input should be resizable */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/multiline/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKjD,mDAAmD;AACnD,oBAAY,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG;IACzD,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,wCAAwC;AACxC,QAAA,MAAM,SAAS,UAAW,cAAc,KAAG,WAQ1C,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/multiline/index.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKjD,mDAAmD;AACnD,oBAAY,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG;IACzD,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,wCAAwC;AACxC,QAAA,MAAM,SAAS,UAAW,cAAc,KAAG,WAQ1C,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { isNullOrUndefined } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import { isNullOrUndefined } from "@bodynarf/utils";
|
|
3
|
+
import "../../../common.scss";
|
|
4
|
+
import MultilineWithoutLabel from "./components/multilineWithoutLabel";
|
|
5
|
+
import MultilineWithLabel from "./components/multilineWithLabel";
|
|
5
6
|
/** Multiline textual input component */
|
|
6
7
|
const Multiline = (props) => {
|
|
7
8
|
if (isNullOrUndefined(props.label)) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TextProps } from
|
|
1
|
+
import { TextProps } from "../..";
|
|
2
2
|
/** Textual input with describing label */
|
|
3
|
-
declare const TextWithLabel: (
|
|
3
|
+
declare const TextWithLabel: ({ onValueChange, readonly, disabled, defaultValue, validationState, name, className, size, style, rounded, loading, label, placeholder, onBlur, }: TextProps) => JSX.Element;
|
|
4
4
|
export default TextWithLabel;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/text/components/textWithLabel/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/text/components/textWithLabel/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,0CAA0C;AAC1C,QAAA,MAAM,aAAa,sJAMhB,SAAS,KAAG,WAwGd,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,42 +1,44 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from
|
|
3
|
-
import { generateGuid, getClassName, } from
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { generateGuid, getClassName, getValueOrDefault, } from "@bodynarf/utils";
|
|
4
|
+
import { InputSize } from "../../../types";
|
|
5
|
+
import { getValidationValues } from "../../../../../utils";
|
|
4
6
|
/** Textual input with describing label */
|
|
5
|
-
const TextWithLabel = (
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const TextWithLabel = ({ onValueChange, readonly, disabled, defaultValue, validationState, name, className, size, style, rounded, loading, label, placeholder, onBlur, }) => {
|
|
8
|
+
const onChange = useCallback((event) => onValueChange(event.target.value), [onValueChange]);
|
|
9
|
+
const id = name || generateGuid();
|
|
10
|
+
const elSizeClassName = "is-{0}".format(getValueOrDefault(size, InputSize.Normal));
|
|
11
|
+
const [isValidationDefined, styleClassName, validationMessages] = getValidationValues(style, validationState);
|
|
12
|
+
const elClassName = getClassName([
|
|
13
|
+
className,
|
|
14
|
+
elSizeClassName,
|
|
15
|
+
rounded === true ? "is-rounded" : "",
|
|
16
|
+
styleClassName,
|
|
15
17
|
"input",
|
|
16
18
|
]);
|
|
17
19
|
const inputContainerClassName = getClassName([
|
|
18
20
|
"control",
|
|
19
|
-
|
|
20
|
-
(props.style || 'default') === 'default' ? '' : `is-${props.style}`
|
|
21
|
+
loading === true ? "is-loading" : "",
|
|
21
22
|
]);
|
|
22
|
-
const label = props.label;
|
|
23
23
|
const labelClassName = getClassName([
|
|
24
24
|
"label",
|
|
25
|
-
label.horizontal
|
|
25
|
+
!label.horizontal ? elSizeClassName : "",
|
|
26
26
|
label.className
|
|
27
27
|
]);
|
|
28
|
-
if (label.horizontal
|
|
28
|
+
if (label.horizontal) {
|
|
29
29
|
const labelContainerClassName = getClassName([
|
|
30
30
|
"field-label",
|
|
31
|
-
|
|
31
|
+
elSizeClassName,
|
|
32
32
|
label.horizontalContainerClassName
|
|
33
33
|
]);
|
|
34
34
|
const fieldContainerClassName = getClassName([
|
|
35
35
|
"field-body",
|
|
36
36
|
label.horizontalFieldContainerClassName
|
|
37
37
|
]);
|
|
38
|
-
return (_jsxs("div", { className: "app-input field is-horizontal", children: [_jsx("div", { className: labelContainerClassName, children: _jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }) }), _jsx("div", { className: fieldContainerClassName, children:
|
|
38
|
+
return (_jsxs("div", { className: "app-input field is-horizontal", children: [_jsx("div", { className: labelContainerClassName, children: _jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }) }), _jsx("div", { className: fieldContainerClassName, children: _jsxs("div", { className: "field", children: [_jsx("div", { className: inputContainerClassName, children: _jsx("input", { type: "text", className: elClassName, placeholder: placeholder, readOnly: readonly, disabled: disabled, defaultValue: defaultValue, onChange: onChange, onBlur: onBlur, name: id, id: id }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
39
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }) })] }));
|
|
39
40
|
}
|
|
40
|
-
return (_jsxs("div", { className: "
|
|
41
|
+
return (_jsxs("div", { className: "field", children: [_jsx("label", { className: labelClassName, htmlFor: id, children: label.caption }), _jsx("div", { className: inputContainerClassName, children: _jsx("input", { type: "text", className: elClassName, placeholder: placeholder, readOnly: readonly, disabled: disabled, defaultValue: defaultValue, onChange: onChange, onBlur: onBlur, name: id, id: id }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
42
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }));
|
|
41
43
|
};
|
|
42
44
|
export default TextWithLabel;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TextProps } from
|
|
1
|
+
import { TextProps } from "../..";
|
|
2
2
|
/** Textual input without describing label */
|
|
3
|
-
declare const TextWithoutLabel: (
|
|
3
|
+
declare const TextWithoutLabel: ({ onValueChange, readonly, disabled, defaultValue, validationState, name, className, size, style, rounded, loading, placeholder, onBlur, }: TextProps) => JSX.Element;
|
|
4
4
|
export default TextWithoutLabel;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/text/components/textWithoutLabel/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/primitives/text/components/textWithoutLabel/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,6CAA6C;AAC7C,QAAA,MAAM,gBAAgB,+IAMnB,SAAS,KAAG,WA6Cd,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from
|
|
3
|
-
import { generateGuid, getClassName } from
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { generateGuid, getClassName, getValueOrDefault } from "@bodynarf/utils";
|
|
4
|
+
import { InputSize } from "../../../types";
|
|
5
|
+
import { getValidationValues } from "../../../../../utils";
|
|
4
6
|
/** Textual input without describing label */
|
|
5
|
-
const TextWithoutLabel = (
|
|
6
|
-
const
|
|
7
|
+
const TextWithoutLabel = ({ onValueChange, readonly, disabled, defaultValue, validationState, name, className, size, style, rounded, loading, placeholder, onBlur, }) => {
|
|
8
|
+
const onChange = useCallback((event) => onValueChange(event.target.value),
|
|
7
9
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8
|
-
[
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
[onValueChange]);
|
|
11
|
+
const [isValidationDefined, styleClassName, validationMessages] = getValidationValues(style, validationState);
|
|
12
|
+
const elClassName = getClassName([
|
|
13
|
+
className,
|
|
14
|
+
"is-{0}".format(getValueOrDefault(size, InputSize.Normal)),
|
|
15
|
+
rounded === true ? "is-rounded" : "",
|
|
16
|
+
styleClassName,
|
|
13
17
|
"input",
|
|
14
18
|
]);
|
|
15
19
|
const containerClassName = getClassName([
|
|
16
|
-
"app-input",
|
|
17
20
|
"control",
|
|
18
|
-
|
|
19
|
-
(props.style || 'default') === 'default' ? '' : `is-${props.style}`
|
|
21
|
+
loading === true ? "is-loading" : "",
|
|
20
22
|
]);
|
|
21
|
-
const id =
|
|
22
|
-
return (_jsx("div", { className: containerClassName, children: _jsx("input", { className:
|
|
23
|
+
const id = name || generateGuid();
|
|
24
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: containerClassName, children: _jsx("input", { className: elClassName, type: "text", placeholder: placeholder, readOnly: readonly, disabled: disabled, defaultValue: defaultValue, onChange: onChange, onBlur: onBlur, name: id, id: id }) }), isValidationDefined && validationMessages.length > 0 &&
|
|
25
|
+
_jsx("p", { className: `help m-help ${styleClassName}`, children: validationMessages.join("\n") })] }));
|
|
23
26
|
};
|
|
24
27
|
export default TextWithoutLabel;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "../../../common.scss";
|
|
2
|
+
import { BaseInputElementProps } from "../types";
|
|
2
3
|
/** Text input conponent props type */
|
|
3
4
|
export declare type TextProps = BaseInputElementProps<string> & {
|
|
4
5
|
/** Focus out event handler */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/text/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKjD,sCAAsC;AACtC,oBAAY,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG;IACpD,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,8BAA8B;AAC9B,QAAA,MAAM,IAAI,UAAW,SAAS,KAAG,WAOhC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/text/index.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKjD,sCAAsC;AACtC,oBAAY,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG;IACpD,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,8BAA8B;AAC9B,QAAA,MAAM,IAAI,UAAW,SAAS,KAAG,WAOhC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { isNullOrUndefined } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import { isNullOrUndefined } from "@bodynarf/utils";
|
|
3
|
+
import "../../../common.scss";
|
|
4
|
+
import TextWithLabel from "./components/textWithLabel";
|
|
5
|
+
import TextWithoutLabel from "./components/textWithoutLabel";
|
|
5
6
|
/** Textual input component */
|
|
6
7
|
const Text = (props) => {
|
|
7
8
|
if (isNullOrUndefined(props.label)) {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InputColor, InputLabel, InputSize, ValidationState } from ".";
|
|
2
|
+
import { BaseElementProps } from "../../types";
|
|
3
|
+
/** Base properties for input components */
|
|
4
|
+
export declare type BaseInputElementProps<TValue> = BaseElementProps & {
|
|
5
|
+
/** Value change handler. Changed value must be stored outside of component */
|
|
6
|
+
onValueChange: (value: TValue) => void;
|
|
7
|
+
/** Default value of input component*/
|
|
8
|
+
defaultValue?: TValue;
|
|
9
|
+
/** Input element placeholder */
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
/** Is component borders are rounded */
|
|
12
|
+
rounded?: boolean;
|
|
13
|
+
/** Should be component disabled. Selecting is not allowed */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/** Should be component int read only mode. Selecting is allowed */
|
|
16
|
+
readonly?: boolean;
|
|
17
|
+
/** Component size */
|
|
18
|
+
size?: InputSize;
|
|
19
|
+
/** Label configuration */
|
|
20
|
+
label?: InputLabel;
|
|
21
|
+
/** Displaying loading state of component as spinner in right end of component */
|
|
22
|
+
loading?: boolean;
|
|
23
|
+
/** Style. Colors the border */
|
|
24
|
+
style?: InputColor;
|
|
25
|
+
/** Name of element. Required for form elements */
|
|
26
|
+
name?: string;
|
|
27
|
+
/** Current validation state */
|
|
28
|
+
validationState?: ValidationState;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=baseProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseProps.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/types/baseProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,2CAA2C;AAC3C,oBAAY,qBAAqB,CAAC,MAAM,IAAI,gBAAgB,GAAG;IAC3D,8EAA8E;IAC9E,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Input component size variety */
|
|
2
|
+
export declare enum InputSize {
|
|
3
|
+
/** Font size is 0.75rem */
|
|
4
|
+
Small = "small",
|
|
5
|
+
/** Font size is 1rem */
|
|
6
|
+
Normal = "normal",
|
|
7
|
+
/** Font size is 1.25rem */
|
|
8
|
+
Medium = "medium",
|
|
9
|
+
/** Font size is 1.5rem */
|
|
10
|
+
Large = "large"
|
|
11
|
+
}
|
|
12
|
+
/** Input component border-color type */
|
|
13
|
+
export declare enum InputColor {
|
|
14
|
+
/** color: transparent */
|
|
15
|
+
Default = "default",
|
|
16
|
+
/** color: seawave green */
|
|
17
|
+
Primary = "primary",
|
|
18
|
+
/** color: blue-violet */
|
|
19
|
+
Link = "link",
|
|
20
|
+
/** color: sky-blue */
|
|
21
|
+
Info = "info",
|
|
22
|
+
/** color: green */
|
|
23
|
+
Success = "success",
|
|
24
|
+
/** color: yellow */
|
|
25
|
+
Warning = "warning",
|
|
26
|
+
/** color: red */
|
|
27
|
+
Danger = "danger"
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/types/enums.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,oBAAY,SAAS;IACjB,2BAA2B;IAC3B,KAAK,UAAU;IAEf,wBAAwB;IACxB,MAAM,WAAW;IAEjB,2BAA2B;IAC3B,MAAM,WAAW;IAEjB,0BAA0B;IAC1B,KAAK,UAAU;CAClB;AAED,wCAAwC;AACxC,oBAAY,UAAU;IAClB,yBAAyB;IACzB,OAAO,YAAY;IAEnB,2BAA2B;IAC3B,OAAO,YAAY;IAEnB,yBAAyB;IACzB,IAAI,SAAS;IAEb,sBAAsB;IACtB,IAAI,SAAS;IAEb,mBAAmB;IACnB,OAAO,YAAY;IAEnB,oBAAoB;IACpB,OAAO,YAAY;IAEnB,iBAAiB;IACjB,MAAM,WAAW;CACpB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Input component size variety */
|
|
2
|
+
export var InputSize;
|
|
3
|
+
(function (InputSize) {
|
|
4
|
+
/** Font size is 0.75rem */
|
|
5
|
+
InputSize["Small"] = "small";
|
|
6
|
+
/** Font size is 1rem */
|
|
7
|
+
InputSize["Normal"] = "normal";
|
|
8
|
+
/** Font size is 1.25rem */
|
|
9
|
+
InputSize["Medium"] = "medium";
|
|
10
|
+
/** Font size is 1.5rem */
|
|
11
|
+
InputSize["Large"] = "large";
|
|
12
|
+
})(InputSize || (InputSize = {}));
|
|
13
|
+
/** Input component border-color type */
|
|
14
|
+
export var InputColor;
|
|
15
|
+
(function (InputColor) {
|
|
16
|
+
/** color: transparent */
|
|
17
|
+
InputColor["Default"] = "default";
|
|
18
|
+
/** color: seawave green */
|
|
19
|
+
InputColor["Primary"] = "primary";
|
|
20
|
+
/** color: blue-violet */
|
|
21
|
+
InputColor["Link"] = "link";
|
|
22
|
+
/** color: sky-blue */
|
|
23
|
+
InputColor["Info"] = "info";
|
|
24
|
+
/** color: green */
|
|
25
|
+
InputColor["Success"] = "success";
|
|
26
|
+
/** color: yellow */
|
|
27
|
+
InputColor["Warning"] = "warning";
|
|
28
|
+
/** color: red */
|
|
29
|
+
InputColor["Danger"] = "danger";
|
|
30
|
+
})(InputColor || (InputColor = {}));
|
|
31
|
+
;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Input label configuration */
|
|
2
|
+
export declare type InputLabel = {
|
|
3
|
+
/** Label textual content to describe input requirements */
|
|
4
|
+
caption: string;
|
|
5
|
+
/** Should component be on same line with label */
|
|
6
|
+
horizontal: boolean;
|
|
7
|
+
/** Additional class names */
|
|
8
|
+
className?: string;
|
|
9
|
+
/** Class name for label parent container in horizontal mode */
|
|
10
|
+
horizontalContainerClassName?: string;
|
|
11
|
+
/** Class name for input parent container in horizontal mode */
|
|
12
|
+
horizontalFieldContainerClassName?: string;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/types/label.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,oBAAY,UAAU,GAAG;IACrB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAC;IAEpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+DAA+D;IAC/D,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAEtC,+DAA+D;IAC/D,iCAAiC,CAAC,EAAE,MAAM,CAAC;CAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/primitives/types/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ValidationStatus } from "./status";
|
|
2
|
+
/** Form component value validation state */
|
|
3
|
+
export interface ValidationState {
|
|
4
|
+
/** Current status */
|
|
5
|
+
status: ValidationStatus;
|
|
6
|
+
/** Current status messages */
|
|
7
|
+
messages: Array<string>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/components/primitives/types/validation/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC5B,qBAAqB;IACrB,MAAM,EAAE,gBAAgB,CAAC;IAEzB,8BAA8B;IAC9B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Input component value validation status */
|
|
2
|
+
export declare enum ValidationStatus {
|
|
3
|
+
/** Validation wasn"t been performed */
|
|
4
|
+
None = "none",
|
|
5
|
+
/** Value is valid */
|
|
6
|
+
Valid = "valid",
|
|
7
|
+
/** Value is invalid due some validator check */
|
|
8
|
+
Invalid = "invalid"
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../../src/components/primitives/types/validation/status.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,oBAAY,gBAAgB;IACxB,uCAAuC;IACvC,IAAI,SAAS;IAEb,qBAAqB;IACrB,KAAK,UAAU;IAEf,gDAAgD;IAChD,OAAO,YAAY;CACtB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Input component value validation status */
|
|
2
|
+
export var ValidationStatus;
|
|
3
|
+
(function (ValidationStatus) {
|
|
4
|
+
/** Validation wasn"t been performed */
|
|
5
|
+
ValidationStatus["None"] = "none";
|
|
6
|
+
/** Value is valid */
|
|
7
|
+
ValidationStatus["Valid"] = "valid";
|
|
8
|
+
/** Value is invalid due some validator check */
|
|
9
|
+
ValidationStatus["Invalid"] = "invalid";
|
|
10
|
+
})(ValidationStatus || (ValidationStatus = {}));
|
|
11
|
+
;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bodynarf/react.components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Artem",
|
|
6
6
|
"email": "bodynar@gmail.com"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"typescript": "^4.7.3"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@bodynarf/utils": "^1.0.
|
|
33
|
+
"@bodynarf/utils": "^1.0.14",
|
|
34
34
|
"bulma": "^0.9.4",
|
|
35
35
|
"react": "^18.1.0",
|
|
36
36
|
"react-dom": "^18.1.0"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { InputColor, ValidationState } from "../components/primitives";
|
|
2
|
+
/**
|
|
3
|
+
* Get current validation state values
|
|
4
|
+
* @param style Component style color
|
|
5
|
+
* @param validationState Current form item validation state
|
|
6
|
+
* @returns [Is validation applicable; classname attribute value; validation messages]
|
|
7
|
+
*/
|
|
8
|
+
export declare const getValidationValues: (style?: InputColor, validationState?: ValidationState) => [boolean, string, Array<string>];
|
|
9
|
+
/**
|
|
10
|
+
* Get classname attribute value based on current validation state and form item component style prop
|
|
11
|
+
* @param style Component style color
|
|
12
|
+
* @param validationState Current form item validation state
|
|
13
|
+
* @returns Classname attribute value
|
|
14
|
+
*/
|
|
15
|
+
export declare const getStyleClassName: (style?: InputColor, validationState?: ValidationState) => string;
|
|
16
|
+
//# sourceMappingURL=formValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formValidation.d.ts","sourceRoot":"","sources":["../../src/utils/formValidation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAEzF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,WAAY,UAAU,oBAAoB,eAAe,KAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC,CAO1H,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,WAAY,UAAU,oBAAoB,eAAe,KAAG,MAgBzF,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { isNullOrUndefined } from "@bodynarf/utils";
|
|
2
|
+
import { ValidationStatus } from "../components/primitives";
|
|
3
|
+
/**
|
|
4
|
+
* Get current validation state values
|
|
5
|
+
* @param style Component style color
|
|
6
|
+
* @param validationState Current form item validation state
|
|
7
|
+
* @returns [Is validation applicable; classname attribute value; validation messages]
|
|
8
|
+
*/
|
|
9
|
+
export const getValidationValues = (style, validationState) => {
|
|
10
|
+
const validationStateDefined = !isNullOrUndefined(validationState) && validationState.status !== ValidationStatus.None;
|
|
11
|
+
const styleClassName = getStyleClassName(style, validationState);
|
|
12
|
+
const messages = validationState?.messages ?? [];
|
|
13
|
+
return [validationStateDefined, styleClassName, messages];
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Get classname attribute value based on current validation state and form item component style prop
|
|
17
|
+
* @param style Component style color
|
|
18
|
+
* @param validationState Current form item validation state
|
|
19
|
+
* @returns Classname attribute value
|
|
20
|
+
*/
|
|
21
|
+
export const getStyleClassName = (style, validationState) => {
|
|
22
|
+
if (isNullOrUndefined(validationState)) {
|
|
23
|
+
return isNullOrUndefined(style) ? "" : `is-${style}`;
|
|
24
|
+
}
|
|
25
|
+
const { status } = validationState;
|
|
26
|
+
switch (status) {
|
|
27
|
+
case ValidationStatus.Valid: {
|
|
28
|
+
return "is-success";
|
|
29
|
+
}
|
|
30
|
+
case ValidationStatus.Invalid: {
|
|
31
|
+
return "is-danger";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return isNullOrUndefined(style) ? "" : `is-${style}`;
|
|
35
|
+
};
|
package/utils/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
package/utils/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './formValidation';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { BaseElementProps } from "../types";
|
|
2
|
-
/** Base properties for input components */
|
|
3
|
-
export declare type BaseInputElementProps<TValue> = BaseElementProps & {
|
|
4
|
-
/** Value change handler. Changed value must be stored outside of component */
|
|
5
|
-
onValueChange: (value: TValue) => void;
|
|
6
|
-
/** Default value of input component*/
|
|
7
|
-
defaultValue?: TValue;
|
|
8
|
-
/** Input element placeholder */
|
|
9
|
-
placeholder?: string;
|
|
10
|
-
/** Is component borders are rounded */
|
|
11
|
-
rounded?: boolean;
|
|
12
|
-
/** Should be component disabled. Selecting is not allowed */
|
|
13
|
-
disabled?: boolean;
|
|
14
|
-
/** Should be component int read only mode. Selecting is allowed */
|
|
15
|
-
readonly?: boolean;
|
|
16
|
-
/** Component size */
|
|
17
|
-
size?: InputSize;
|
|
18
|
-
/** Label configuration */
|
|
19
|
-
label?: InputLabel;
|
|
20
|
-
/** Displaying loading state of component as spinner in right end of component */
|
|
21
|
-
loading?: boolean;
|
|
22
|
-
/** Style. Colors the border */
|
|
23
|
-
style?: InputColor;
|
|
24
|
-
/** Name of element. Required for form elements */
|
|
25
|
-
name?: string;
|
|
26
|
-
};
|
|
27
|
-
/** Input label configuration */
|
|
28
|
-
export declare type InputLabel = {
|
|
29
|
-
/** Label textual content to describe input requirements */
|
|
30
|
-
caption: string;
|
|
31
|
-
/** Should component be on same line with label */
|
|
32
|
-
horizontal?: boolean;
|
|
33
|
-
/** Additional class names */
|
|
34
|
-
className?: string;
|
|
35
|
-
/** Class name for label parent container in horizontal mode */
|
|
36
|
-
horizontalContainerClassName?: string;
|
|
37
|
-
/** Class name for input parent container in horizontal mode */
|
|
38
|
-
horizontalFieldContainerClassName?: string;
|
|
39
|
-
};
|
|
40
|
-
/** Input component size variety */
|
|
41
|
-
export declare type InputSize = 'small' | 'normal' | 'medium' | 'large';
|
|
42
|
-
/** Input component border-color type */
|
|
43
|
-
export declare type InputColor = 'default' /** color: transparent */ | 'primary' /** color: seawave green */ | 'link' /** color: blue-violet */ | 'info' /** color: sky-blue */ | 'success' /** color: green */ | 'warning' /** color: yellow */ | 'danger' /** color: red */;
|
|
44
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,2CAA2C;AAC3C,oBAAY,qBAAqB,CAAC,MAAM,IAAI,gBAAgB,GAAG;IAC3D,8EAA8E;IAC9E,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,gCAAgC;AAChC,oBAAY,UAAU,GAAG;IACrB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+DAA+D;IAC/D,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAEtC,+DAA+D;IAC/D,iCAAiC,CAAC,EAAE,MAAM,CAAC;CAC9C,CAAC;AAEF,mCAAmC;AACnC,oBAAY,SAAS,GACf,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,CACR;AAEL,wCAAwC;AACxC,oBAAY,UAAU,GAChB,SAAS,CAAC,yBAAyB,GACnC,SAAS,CAAC,2BAA2B,GACrC,MAAM,CAAC,yBAAyB,GAChC,MAAM,CAAC,sBAAsB,GAC7B,SAAS,CAAC,mBAAmB,GAC7B,SAAS,CAAC,oBAAoB,GAC9B,QAAQ,CAAC,iBAAiB,CAC3B"}
|