design-react-kit 5.5.1 → 5.6.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/CHANGELOG.md +28 -0
- package/dist/Alert/Alert.cjs.map +1 -1
- package/dist/Alert/Alert.js.map +1 -1
- package/dist/Autocomplete/Autocomplete.cjs +3 -1
- package/dist/Autocomplete/Autocomplete.cjs.map +1 -1
- package/dist/Autocomplete/Autocomplete.js +2 -2
- package/dist/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/BackToTop/BackToTop.cjs +1 -1
- package/dist/BackToTop/BackToTop.cjs.map +1 -1
- package/dist/BackToTop/BackToTop.js +1 -1
- package/dist/BackToTop/BackToTop.js.map +1 -1
- package/dist/BottomNav/BottomNavItem.cjs +1 -1
- package/dist/BottomNav/BottomNavItem.cjs.map +1 -1
- package/dist/Callout/CalloutMoreFooter.cjs +1 -1
- package/dist/Callout/CalloutMoreFooter.cjs.map +1 -1
- package/dist/Card/CardCategory.cjs +1 -1
- package/dist/Card/CardCategory.cjs.map +1 -1
- package/dist/Card/CardCategory.js +3 -3
- package/dist/Card/CardCategory.js.map +1 -1
- package/dist/Card/CardReadMore.cjs +1 -1
- package/dist/Card/CardReadMore.cjs.map +1 -1
- package/dist/Collapse/Collapse.cjs +1 -1
- package/dist/Collapse/Collapse.cjs.map +1 -1
- package/dist/Collapse/Collapse.js +3 -3
- package/dist/Collapse/Collapse.js.map +1 -1
- package/dist/Dimmer/Dimmer.cjs +1 -1
- package/dist/Dimmer/Dimmer.cjs.map +1 -1
- package/dist/Dropdown/Dropdown.cjs.map +1 -1
- package/dist/Dropdown/Dropdown.js +1 -1
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/DropdownToggle.cjs +1 -1
- package/dist/Dropdown/DropdownToggle.cjs.map +1 -1
- package/dist/Forward/Forward.cjs.map +1 -1
- package/dist/Forward/Forward.js.map +1 -1
- package/dist/GoBack/GoBack.cjs +1 -1
- package/dist/GoBack/GoBack.cjs.map +1 -1
- package/dist/Grid/GridItemTextWrapper.cjs.map +1 -1
- package/dist/Grid/GridItemTextWrapper.js.map +1 -1
- package/dist/Grid/index.cjs.map +1 -1
- package/dist/Header/HeaderBrand.cjs +1 -1
- package/dist/Header/HeaderBrand.cjs.map +1 -1
- package/dist/Header/HeaderSearch.cjs +1 -1
- package/dist/Header/HeaderSearch.cjs.map +1 -1
- package/dist/Header/HeaderToggler.cjs.map +1 -1
- package/dist/Header/HeaderToggler.js +1 -1
- package/dist/Header/HeaderToggler.js.map +1 -1
- package/dist/Icon/Icon.cjs +1 -1
- package/dist/Icon/Icon.cjs.map +1 -1
- package/dist/Icon/Icon.js +3 -3
- package/dist/Icon/Icon.js.map +1 -1
- package/dist/Icon/assets/index.cjs.map +1 -1
- package/dist/Input/Input.cjs +1 -1
- package/dist/Input/Input.cjs.map +1 -1
- package/dist/Input/Input.js +11 -9
- package/dist/Input/Input.js.map +1 -1
- package/dist/Input/InputContainer.cjs.map +1 -1
- package/dist/Input/InputContainer.js.map +1 -1
- package/dist/Input/TextArea.cjs +1 -1
- package/dist/Input/TextArea.cjs.map +1 -1
- package/dist/Input/TextArea.js.map +1 -1
- package/dist/Input/utils.cjs +1 -1
- package/dist/Input/utils.cjs.map +1 -1
- package/dist/Input/utils.js +3 -6
- package/dist/Input/utils.js.map +1 -1
- package/dist/List/List.cjs.map +1 -1
- package/dist/List/List.js.map +1 -1
- package/dist/List/ListItem.cjs.map +1 -1
- package/dist/List/ListItem.js +2 -2
- package/dist/List/ListItem.js.map +1 -1
- package/dist/Megamenu/MegamenuItem.cjs +1 -1
- package/dist/Megamenu/MegamenuItem.cjs.map +1 -1
- package/dist/Modal/ModalHeader.cjs +1 -1
- package/dist/Modal/ModalHeader.cjs.map +1 -1
- package/dist/NavScroll/types.cjs.map +1 -1
- package/dist/Notification/NotificationContent.cjs +1 -1
- package/dist/Notification/NotificationContent.cjs.map +1 -1
- package/dist/Notification/core.cjs +1 -1
- package/dist/Notification/core.cjs.map +1 -1
- package/dist/Notification/index.cjs +1 -1
- package/dist/Notification/index.cjs.map +1 -1
- package/dist/Rating/Rating.cjs +1 -1
- package/dist/Rating/Rating.cjs.map +1 -1
- package/dist/ResponsiveImage/ResponsiveImage.cjs.map +1 -1
- package/dist/ResponsiveImage/ResponsiveImage.js.map +1 -1
- package/dist/Skiplink/Skiplink.cjs.map +1 -1
- package/dist/Skiplink/Skiplink.js.map +1 -1
- package/dist/Skiplink/SkiplinkItem.cjs.map +1 -1
- package/dist/Stepper/StepperHeaderElement.cjs +1 -1
- package/dist/Stepper/StepperHeaderElement.cjs.map +1 -1
- package/dist/Stepper/StepperHeaderElement.js +3 -5
- package/dist/Stepper/StepperHeaderElement.js.map +1 -1
- package/dist/Tab/TabNav.cjs +2 -0
- package/dist/Tab/TabNav.cjs.map +1 -0
- package/dist/Tab/TabNav.js +63 -0
- package/dist/Tab/TabNav.js.map +1 -0
- package/dist/Tab/TabNavItem.cjs +2 -0
- package/dist/Tab/TabNavItem.cjs.map +1 -0
- package/dist/Tab/TabNavItem.js +7 -0
- package/dist/Tab/TabNavItem.js.map +1 -0
- package/dist/Tab/TabNavLink.cjs +2 -0
- package/dist/Tab/TabNavLink.cjs.map +1 -0
- package/dist/Tab/TabNavLink.js +7 -0
- package/dist/Tab/TabNavLink.js.map +1 -0
- package/dist/Tab/TabPanel.cjs +2 -0
- package/dist/Tab/TabPanel.cjs.map +1 -0
- package/dist/Tab/TabPanel.js +7 -0
- package/dist/Tab/TabPanel.js.map +1 -0
- package/dist/Timeline/TimelinePin.cjs +1 -1
- package/dist/Timeline/TimelinePin.cjs.map +1 -1
- package/dist/Timeline/TimelinePin.js +1 -1
- package/dist/Timeline/TimelinePin.js.map +1 -1
- package/dist/Toggle/Toggle.cjs.map +1 -1
- package/dist/Toggle/Toggle.js.map +1 -1
- package/dist/Toolbar/ToolbarItem.cjs +1 -1
- package/dist/Toolbar/ToolbarItem.cjs.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/track-focus.cjs.map +1 -1
- package/dist/track-focus.js.map +1 -1
- package/dist/types/Icon/Icon.d.ts +1 -1
- package/dist/types/Input/Input.d.ts +1 -3
- package/dist/types/Input/utils.d.ts +1 -1
- package/dist/types/NavScroll/types.d.ts +2 -2
- package/dist/types/Stepper/StepperHeaderElement.d.ts +4 -4
- package/dist/types/Tab/TabNav.d.ts +24 -0
- package/dist/types/Tab/TabNavItem.d.ts +8 -0
- package/dist/types/Tab/TabNavLink.d.ts +8 -0
- package/dist/types/Tab/TabPanel.d.ts +8 -0
- package/dist/types/index.d.ts +11 -3
- package/package.json +5 -3
- package/src/Alert/Alert.tsx +1 -2
- package/src/Autocomplete/Autocomplete.tsx +70 -69
- package/src/BackToTop/BackToTop.tsx +2 -1
- package/src/Card/CardCategory.tsx +17 -4
- package/src/Collapse/Collapse.tsx +8 -12
- package/src/Dropdown/Dropdown.tsx +4 -6
- package/src/Forward/Forward.tsx +3 -3
- package/src/Grid/GridItemTextWrapper.tsx +7 -1
- package/src/Header/HeaderToggler.tsx +2 -2
- package/src/Icon/Icon.tsx +22 -4
- package/src/Icon/assets/index.ts +1 -1
- package/src/Input/Input.tsx +11 -12
- package/src/Input/InputContainer.tsx +0 -1
- package/src/Input/TextArea.tsx +1 -4
- package/src/Input/utils.tsx +4 -7
- package/src/List/List.tsx +1 -8
- package/src/List/ListItem.tsx +24 -33
- package/src/NavScroll/types.ts +2 -2
- package/src/ResponsiveImage/ResponsiveImage.tsx +13 -7
- package/src/Skiplink/Skiplink.tsx +12 -7
- package/src/Skiplink/SkiplinkItem.tsx +1 -1
- package/src/Stepper/StepperHeaderElement.tsx +8 -10
- package/src/Tab/TabNav.tsx +111 -0
- package/src/Tab/TabNavItem.tsx +14 -0
- package/src/Tab/TabNavLink.tsx +14 -0
- package/src/Tab/TabPanel.tsx +14 -0
- package/src/Timeline/TimelinePin.tsx +2 -2
- package/src/Toggle/Toggle.tsx +1 -1
- package/src/index.ts +9 -5
- package/src/track-focus.js +14 -15
package/dist/Input/Input.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Icon } from '../Icon/Icon';
|
|
|
5
5
|
import { notifyDeprecation } from '../utils';
|
|
6
6
|
import { InputContainer } from './InputContainer';
|
|
7
7
|
import { getClasses, getFormControlClass, getTag, getValidationTextControlClass, useFocus } from './utils';
|
|
8
|
-
export const Input = ({ id, className, cssModule, type = 'text', tag,
|
|
8
|
+
export const Input = ({ id, className, cssModule, type = 'text', tag, addonText, static: staticInput, plaintext, innerRef, label, incrementLabel, decrementLabel, validationText, infoText, placeholder, normalized, value, wrapperClass: originalWrapperClassOld, wrapperClassName: originalWrapperClass, size, testId, noWrapper = false, hasButtonRight, buttonRight, hasIconLeft, iconLeft, ...attributes }) => {
|
|
9
9
|
const [isHidden, setHidden] = useState(true);
|
|
10
10
|
const [hasIcon, toggleIcon] = useState(true);
|
|
11
11
|
const { toggleFocusLabel, toggleBlurLabel, isFocused } = useFocus({
|
|
@@ -32,12 +32,10 @@ export const Input = ({ id, className, cssModule, type = 'text', tag, addon, add
|
|
|
32
32
|
// eslint-disable-next-line prefer-const
|
|
33
33
|
let { bsSize, valid, ...rest } = attributes;
|
|
34
34
|
const Tag = getTag({ tag, plaintext, staticInput, type });
|
|
35
|
-
addon = addonText != null ? true : addon;
|
|
36
35
|
const formControlClass = getFormControlClass({
|
|
37
36
|
plaintext,
|
|
38
37
|
staticInput,
|
|
39
38
|
type,
|
|
40
|
-
addon,
|
|
41
39
|
normalized
|
|
42
40
|
}, cssModule);
|
|
43
41
|
const validationTextControlClass = getValidationTextControlClass({ valid }, cssModule);
|
|
@@ -53,8 +51,8 @@ export const Input = ({ id, className, cssModule, type = 'text', tag, addon, add
|
|
|
53
51
|
extraAttributes.type = type;
|
|
54
52
|
}
|
|
55
53
|
// associate the input field with the help text
|
|
56
|
-
const infoId = id ? `${id}Description` : undefined;
|
|
57
|
-
if (
|
|
54
|
+
const infoId = id && infoText ? `${id}Description` : undefined;
|
|
55
|
+
if (infoId) {
|
|
58
56
|
extraAttributes['aria-describedby'] = infoId;
|
|
59
57
|
}
|
|
60
58
|
if (attributes.children &&
|
|
@@ -120,25 +118,29 @@ export const Input = ({ id, className, cssModule, type = 'text', tag, addon, add
|
|
|
120
118
|
}
|
|
121
119
|
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;
|
|
122
120
|
nativeInputValueSetter?.call(inputRef.current, `${newValue}`);
|
|
121
|
+
const ev1 = new Event('change', { bubbles: true });
|
|
123
122
|
const ev2 = new Event('input', { bubbles: true });
|
|
123
|
+
inputRef.current?.dispatchEvent(ev1);
|
|
124
124
|
inputRef.current?.dispatchEvent(ev2);
|
|
125
|
+
inputRef.current?.focus();
|
|
125
126
|
};
|
|
126
127
|
if (['currency', 'percentage', 'adaptive', 'number'].includes(type)) {
|
|
128
|
+
if (containerProps.extraLabelClass && ['currency', 'percentage'].includes(type)) {
|
|
129
|
+
containerProps.extraLabelClass = containerProps.extraLabelClass + ' input-symbol-label';
|
|
130
|
+
}
|
|
127
131
|
return (React.createElement(InputContainer, { ...containerProps },
|
|
128
132
|
React.createElement("div", { className: classNames({
|
|
129
133
|
'input-group': true,
|
|
130
134
|
'input-number': true,
|
|
131
135
|
disabled: rest.disabled,
|
|
132
|
-
'input-number-percentage': type === 'percentage',
|
|
133
|
-
'input-number-currency': type === 'currency',
|
|
134
136
|
'input-number-adaptive': type === 'adaptive'
|
|
135
137
|
}), style: { width }, ref: divResizeRef },
|
|
136
138
|
['currency', 'percentage'].includes(type) && (React.createElement("span", { className: 'input-group-text fw-semibold' }, addonText)),
|
|
137
139
|
React.createElement(Tag, { ...rest, ...extraAttributes, ...sharedAttributes, className: inputClasses, "data-testid": testId, type: 'number', ref: inputRef }),
|
|
138
140
|
React.createElement("span", { className: 'input-group-text align-buttons flex-column' },
|
|
139
|
-
React.createElement("button", { className: 'input-number-add', onClick: () => clickIncrDecr(1)
|
|
141
|
+
React.createElement("button", { className: 'input-number-add', onClick: () => clickIncrDecr(1) },
|
|
140
142
|
React.createElement("span", { className: 'visually-hidden' }, incrementLabel || '')),
|
|
141
|
-
React.createElement("button", { className: 'input-number-sub', onClick: () => clickIncrDecr(-1)
|
|
143
|
+
React.createElement("button", { className: 'input-number-sub', onClick: () => clickIncrDecr(-1) },
|
|
142
144
|
React.createElement("span", { className: 'visually-hidden' }, decrementLabel || ''))))));
|
|
143
145
|
}
|
|
144
146
|
if (placeholder) {
|
package/dist/Input/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,EAKZ,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,EACT,MAAM,OAAO,CAAC;AAEf,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Input/InputContainer.tsx"],"sourcesContent":["import React, { FC, HTMLAttributes, ReactNode } from 'react';\n\nexport interface InputContainerProps extends HTMLAttributes<HTMLElement> {\n wrapperClass: string;\n activeClass: string;\n extraLabelClass: string;\n validationTextClass: string;\n label: string | ReactNode | undefined;\n validationText: string | undefined;\n id: string | undefined;\n infoId: string | undefined;\n infoText: string | undefined;\n /** Indica che il componente ha un bottone a destra rispetto all'input */\n hasButtonRight?: boolean;\n /** Componente per il bottone */\n buttonRight?: ReactNode;\n /** Indica che il componente ha una icona a sinistra rispetto all'input */\n hasIconLeft?: boolean;\n /** Componente per l'icona */\n iconLeft?: ReactNode;\n testId?: string;\n}\n\nexport const InputContainer: FC<InputContainerProps> = ({\n id,\n infoId,\n infoText,\n testId,\n activeClass,\n extraLabelClass,\n label,\n validationTextClass,\n validationText,\n wrapperClass,\n hasButtonRight,\n buttonRight,\n hasIconLeft,\n iconLeft,\n children\n}) => {\n
|
|
1
|
+
{"version":3,"sources":["../../src/Input/InputContainer.tsx"],"sourcesContent":["import React, { FC, HTMLAttributes, ReactNode } from 'react';\n\nexport interface InputContainerProps extends HTMLAttributes<HTMLElement> {\n wrapperClass: string;\n activeClass: string;\n extraLabelClass: string;\n validationTextClass: string;\n label: string | ReactNode | undefined;\n validationText: string | undefined;\n id: string | undefined;\n infoId: string | undefined;\n infoText: string | undefined;\n /** Indica che il componente ha un bottone a destra rispetto all'input */\n hasButtonRight?: boolean;\n /** Componente per il bottone */\n buttonRight?: ReactNode;\n /** Indica che il componente ha una icona a sinistra rispetto all'input */\n hasIconLeft?: boolean;\n /** Componente per l'icona */\n iconLeft?: ReactNode;\n testId?: string;\n}\n\nexport const InputContainer: FC<InputContainerProps> = ({\n id,\n infoId,\n infoText,\n testId,\n activeClass,\n extraLabelClass,\n label,\n validationTextClass,\n validationText,\n wrapperClass,\n hasButtonRight,\n buttonRight,\n hasIconLeft,\n iconLeft,\n children\n}) => {\n if (hasButtonRight || hasIconLeft) {\n return (\n <div className={wrapperClass} data-testid={testId}>\n <div className='input-group'>\n {hasIconLeft && <span className='input-group-text'>{iconLeft}</span>}\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n {hasButtonRight && <div className='input-group-append'>{buttonRight}</div>}\n </div>\n </div>\n );\n }\n return (\n <div className={wrapperClass} data-testid={testId}>\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n </div>\n );\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAqD,sBAuBxCF,EAA0C,CAAC,CACtD,GAAAG,EACA,OAAAC,EACA,SAAAC,EACA,OAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,oBAAAC,EACA,eAAAC,EACA,aAAAC,EACA,eAAAC,EACA,YAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,CACF,IACMJ,GAAkBE,EAElB,EAAAG,QAAA,cAAC,OAAI,UAAWN,EAAc,cAAaN,GACzC,EAAAY,QAAA,cAAC,OAAI,UAAU,eACZH,GAAe,EAAAG,QAAA,cAAC,QAAK,UAAU,oBAAoBF,CAAS,EAC7D,EAAAE,QAAA,cAAC,SAAM,QAASf,EAAI,UAAWI,EAAc,IAAMC,GAChDC,CACH,EACCQ,EACAZ,GACC,EAAAa,QAAA,cAAC,SAAM,GAAId,EAAQ,UAAU,aAC1BC,CACH,EAEF,EAAAa,QAAA,cAAC,OAAI,UAAWR,GAAsBC,CAAe,EACpDE,GAAkB,EAAAK,QAAA,cAAC,OAAI,UAAU,sBAAsBJ,CAAY,CACtE,CACF,EAIF,EAAAI,QAAA,cAAC,OAAI,UAAWN,EAAc,cAAaN,GACzC,EAAAY,QAAA,cAAC,SAAM,QAASf,EAAI,UAAWI,EAAc,IAAMC,GAChDC,CACH,EACCQ,EACAZ,GACC,EAAAa,QAAA,cAAC,SAAM,GAAId,EAAQ,UAAU,aAC1BC,CACH,EAEF,EAAAa,QAAA,cAAC,OAAI,UAAWR,GAAsBC,CAAe,CACvD","names":["InputContainer_exports","__export","InputContainer","__toCommonJS","import_react","id","infoId","infoText","testId","activeClass","extraLabelClass","label","validationTextClass","validationText","wrapperClass","hasButtonRight","buttonRight","hasIconLeft","iconLeft","children","React"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputContainer.js","sourceRoot":"","sources":["../../src/Input/InputContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAuB7D,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EACtD,EAAE,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,eAAe,EACf,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"InputContainer.js","sourceRoot":"","sources":["../../src/Input/InputContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAuB7D,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EACtD,EAAE,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,eAAe,EACf,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACT,EAAE,EAAE;IACH,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,CACL,6BAAK,SAAS,EAAE,YAAY,iBAAe,MAAM;YAC/C,6BAAK,SAAS,EAAC,aAAa;gBACzB,WAAW,IAAI,8BAAM,SAAS,EAAC,kBAAkB,IAAE,QAAQ,CAAQ;gBACpE,+BAAO,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,GAAG,GAAG,GAAG,eAAe,IAC/D,KAAK,CACA;gBACP,QAAQ;gBACR,QAAQ,IAAI,CACX,+BAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAC,WAAW,IACrC,QAAQ,CACH,CACT;gBACD,6BAAK,SAAS,EAAE,mBAAmB,IAAG,cAAc,CAAO;gBAC1D,cAAc,IAAI,6BAAK,SAAS,EAAC,oBAAoB,IAAE,WAAW,CAAO,CACtE,CACF,CACP,CAAC;IACJ,CAAC;IACD,OAAO,CACL,6BAAK,SAAS,EAAE,YAAY,iBAAe,MAAM;QAC/C,+BAAO,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,GAAG,GAAG,GAAG,eAAe,IAC/D,KAAK,CACA;QACP,QAAQ;QACR,QAAQ,IAAI,CACX,+BAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAC,WAAW,IACrC,QAAQ,CACH,CACT;QACD,6BAAK,SAAS,EAAE,mBAAmB,IAAG,cAAc,CAAO,CACvD,CACP,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/Input/TextArea.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var z=Object.create;var A=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var J=(e,t)=>{for(var n in t)A(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of W(t))!G.call(e,r)&&r!==n&&A(e,r,{get:()=>t[r],enumerable:!(o=D(t,r))||o.enumerable});return e};var O=(e,t,n)=>(n=e!=null?z(q(e)):{},h(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)),K=e=>h(A({},"__esModule",{value:!0}),e);var X={};J(X,{TextArea:()=>R});module.exports=K(X);var
|
|
1
|
+
"use strict";var z=Object.create;var A=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var J=(e,t)=>{for(var n in t)A(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of W(t))!G.call(e,r)&&r!==n&&A(e,r,{get:()=>t[r],enumerable:!(o=D(t,r))||o.enumerable});return e};var O=(e,t,n)=>(n=e!=null?z(q(e)):{},h(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)),K=e=>h(A({},"__esModule",{value:!0}),e);var X={};J(X,{TextArea:()=>R});module.exports=K(X);var x=O(require("react"),1);var s=O(require("react"),1),I=({id:e,infoId:t,infoText:n,testId:o,activeClass:r,extraLabelClass:a,label:i,validationTextClass:f,validationText:g,wrapperClass:u,hasButtonRight:m,buttonRight:b,hasIconLeft:c,iconLeft:l,children:p})=>m||c?s.default.createElement("div",{className:u,"data-testid":o},s.default.createElement("div",{className:"input-group"},c&&s.default.createElement("span",{className:"input-group-text"},l),s.default.createElement("label",{htmlFor:e,className:r+" "+a},i),p,n&&s.default.createElement("small",{id:t,className:"form-text"},n),s.default.createElement("div",{className:f},g),m&&s.default.createElement("div",{className:"input-group-append"},b))):s.default.createElement("div",{className:u,"data-testid":o},s.default.createElement("label",{htmlFor:e,className:r+" "+a},i),p,n&&s.default.createElement("small",{id:t,className:"form-text"},n),s.default.createElement("div",{className:f},g));var C=O(require("classnames"),1),v=require("react");function d(e,t){let n=e??"";return t?n.split(" ").map(o=>t[o]??o).join(" "):n}function Q({plaintext:e,staticInput:t,type:n="text",normalized:o}){let r="form-control";return e||t||o?`${r}-plaintext`:n==="file"?`${r}-file`:["radio","checkbox"].indexOf(n)>-1?null:r}function j(e,t){return d(Q(e),t)}function B({valid:e},t){return d((0,C.default)({"form-text":!0,"form-feedback just-validate-error-label":e==!1}),t)}function V(e,t,{isFocused:n,valid:o,bsSize:r,placeholder:a,value:i,label:f,validationText:g,normalized:u,inputPassword:m,formControlClass:b,validationTextControlClass:c,originalWrapperClass:l},p){let P=a||f||g,L=P&&!u&&!m,N=m&&!P&&!u,T=u&&!P&&!m,S=d((0,C.default)(e,{"is-invalid":o==!1,"just-validate-success-field":o,[`form-control-${r}`]:r},b),p),F=d((0,C.default)(l,"form-group"),p),w=d((0,C.default)({"valid-feedback":o,"invalid-feedback form-feedback just-validate-error-label":o==!1},c),p),M=d((0,C.default)(S,!L&&{"form-control-plaintext":T,"form-control":N,"input-password":N}),p),H=d((0,C.default)({active:n||a||i||["date","time"].includes(t)}),p),y=d((0,C.default)({"input-number-label":["number","currency","adaptive","percentage"].includes(t)}));return{wrapperClass:F,inputClasses:M,activeClass:H,extraLabelClass:y,validationTextClass:w}}function $({onFocus:e,onBlur:t}){let[n,o]=(0,v.useState)(!1),r=(0,v.useCallback)(i=>{o(!0),e?.(i)},[e]),a=(0,v.useCallback)(i=>{i.target.value===""&&o(!n),t?.(i)},[n,t]);return{toggleFocusLabel:r,toggleBlurLabel:a,isFocused:n}}var R=({id:e,className:t,cssModule:n,innerRef:o,label:r,validationText:a,infoText:i,placeholder:f,normalized:g,value:u,wrapperClassName:m,valid:b,testId:c,...l})=>{let{toggleFocusLabel:p,toggleBlurLabel:P,isFocused:L}=$({onFocus:l.onFocus,onBlur:l.onBlur}),N=B({valid:b},n),T={},S=j({},n),F=e?`${e}Description`:void 0;e&&(T["aria-describedby"]=F);let{activeClass:w,extraLabelClass:M,validationTextClass:H,inputClasses:y,wrapperClass:U}=V(t,"textarea",{valid:b,placeholder:f,value:u,label:r,validationText:a,normalized:!!g,formControlClass:S,validationTextControlClass:N,isFocused:L,originalWrapperClass:m},n),k={id:e,onFocus:p,onBlur:P,value:u,ref:o},E={id:e,infoId:F,infoText:i,activeClass:w,extraLabelClass:M,label:r,validationTextClass:H,validationText:a,wrapperClass:U};return f?x.default.createElement(I,{...E},x.default.createElement("textarea",{...l,...T,...k,className:y,placeholder:f,"data-testid":c})):g?x.default.createElement(I,{...E},x.default.createElement("textarea",{...l,...T,...k,className:y,readOnly:!0,"data-testid":c})):r||a?x.default.createElement(I,{...E},x.default.createElement("textarea",{...l,...T,...k,className:y,"data-testid":c})):x.default.createElement("textarea",{...l,...T,className:y,...k,ref:o,"data-testid":c})};0&&(module.exports={TextArea});
|
|
2
2
|
//# sourceMappingURL=TextArea.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Input/TextArea.tsx","../../src/Input/InputContainer.tsx","../../src/Input/utils.tsx","../../src/utils.tsx"],"sourcesContent":["import React, { ReactNode, Ref, TextareaHTMLAttributes } from 'react';\n\nimport type { CSSModule } from 'reactstrap/types/lib/utils';\nimport { InputContainer } from './InputContainer';\nimport { getClasses, getFormControlClass, getValidationTextControlClass, useFocus } from './utils';\n\nexport interface TextAreaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {\n /** Etichetta del campo TextArea. */\n label?: string | ReactNode;\n /** Testo di esempio da utilizzare per il campo. */\n placeholder?: string;\n /** Testo di validazione per l'elemento del moduleo */\n validationText?: string;\n /** Testo di aiuto per l'elemento del moduleo form. Richiede che il componente `TextArea` abbia la prop `id` impostata. */\n infoText?: string;\n /** Il valore nel campo TextArea. */\n value?: string | number;\n /** Da utilizzare per impedire la modifica del valore contenuto. */\n readOnly?: boolean;\n /** Associato all'attributo readOnly mostra il campo con lo stile classico, mantenento lo stato di sola lettura. */\n normalized?: boolean;\n /** Utilizzare per mostrare il successo nella validazione del valore nel campo TextArea */\n valid?: boolean;\n innerRef?: Ref<HTMLTextAreaElement>;\n /** Oggetto contenente la nuova mappatura per le classi CSS. */\n cssModule?: CSSModule;\n /** Classi aggiuntive da usare per il wrapper del componente TextArea */\n wrapperClassName?: string;\n /** Classi aggiuntive da usare per il componente TextArea */\n className?: string;\n testId?: string;\n}\n\nexport const TextArea = ({\n id,\n className,\n cssModule,\n innerRef,\n label,\n validationText,\n infoText,\n placeholder,\n normalized,\n value,\n wrapperClassName: originalWrapperClass,\n valid,\n testId,\n ...attributes\n}: TextAreaProps) => {\n const { toggleFocusLabel, toggleBlurLabel, isFocused } = useFocus<HTMLTextAreaElement>({\n onFocus: attributes.onFocus,\n onBlur: attributes.onBlur\n });\n\n const validationTextControlClass = getValidationTextControlClass({ valid }, cssModule);\n\n const extraAttributes: { ['aria-describedby']?: string } = {};\n\n //Chiamo questa funzione per impostare classNames a 'form-control'\n const formControlClass = getFormControlClass(\n {},\n cssModule\n );\n // associate the input field with the help text\n const infoId = id ? `${id}Description` : undefined;\n if (id) {\n extraAttributes['aria-describedby'] = infoId;\n }\n\n // Styling\n const { activeClass, extraLabelClass, validationTextClass, inputClasses, wrapperClass } = getClasses(\n className,\n 'textarea',\n {\n valid,\n placeholder,\n value,\n label,\n validationText,\n normalized: Boolean(normalized),\n formControlClass,\n validationTextControlClass,\n isFocused,\n originalWrapperClass\n },\n cssModule\n );\n\n // set of attributes always shared by the Input components\n const sharedAttributes = {\n id,\n onFocus: toggleFocusLabel,\n onBlur: toggleBlurLabel,\n value,\n ref: innerRef\n };\n\n // set of attributes always shared by the wrapper component\n const containerProps = {\n id,\n infoId,\n infoText,\n activeClass,\n extraLabelClass,\n label,\n validationTextClass,\n validationText,\n wrapperClass\n };\n\n if (placeholder) {\n return (\n <InputContainer {...containerProps}>\n <textarea\n {...attributes}\n {...extraAttributes}\n {...sharedAttributes}\n className={inputClasses}\n placeholder={placeholder}\n data-testid={testId}\n />\n </InputContainer>\n );\n }\n\n if (normalized) {\n return (\n <InputContainer {...containerProps}>\n <textarea\n {...attributes}\n {...extraAttributes}\n {...sharedAttributes}\n className={inputClasses}\n readOnly\n data-testid={testId}\n />\n </InputContainer>\n );\n }\n if (label || validationText) {\n return (\n <InputContainer {...containerProps}>\n <textarea\n {...attributes}\n {...extraAttributes}\n {...sharedAttributes}\n className={inputClasses}\n data-testid={testId}\n />\n </InputContainer>\n );\n }\n\n return (\n <textarea\n {...attributes}\n {...extraAttributes}\n className={inputClasses}\n {...sharedAttributes}\n ref={innerRef}\n data-testid={testId}\n />\n );\n};\n","import React, { FC, HTMLAttributes, ReactNode } from 'react';\n\nexport interface InputContainerProps extends HTMLAttributes<HTMLElement> {\n wrapperClass: string;\n activeClass: string;\n extraLabelClass: string;\n validationTextClass: string;\n label: string | ReactNode | undefined;\n validationText: string | undefined;\n id: string | undefined;\n infoId: string | undefined;\n infoText: string | undefined;\n /** Indica che il componente ha un bottone a destra rispetto all'input */\n hasButtonRight?: boolean;\n /** Componente per il bottone */\n buttonRight?: ReactNode;\n /** Indica che il componente ha una icona a sinistra rispetto all'input */\n hasIconLeft?: boolean;\n /** Componente per l'icona */\n iconLeft?: ReactNode;\n testId?: string;\n}\n\nexport const InputContainer: FC<InputContainerProps> = ({\n id,\n infoId,\n infoText,\n testId,\n activeClass,\n extraLabelClass,\n label,\n validationTextClass,\n validationText,\n wrapperClass,\n hasButtonRight,\n buttonRight,\n hasIconLeft,\n iconLeft,\n children\n}) => {\n\n if (hasButtonRight || hasIconLeft) {\n return (\n <div className={wrapperClass} data-testid={testId}>\n <div className='input-group'>\n {hasIconLeft && <span className='input-group-text'>{iconLeft}</span>}\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n {hasButtonRight && <div className='input-group-append'>{buttonRight}</div>}\n </div>\n </div>\n );\n }\n return (\n <div className={wrapperClass} data-testid={testId}>\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n </div>\n );\n};\n","import classNames from 'classnames';\nimport { useCallback, useState } from 'react';\nimport type { CSSModule } from 'reactstrap/types/lib/utils';\nimport { mapToCssModules } from '../utils';\nimport type { InputProps } from './Input';\n\ntype ValidationProps = Pick<InputProps, 'valid'>;\ntype TypeProps = Pick<InputProps, 'plaintext' | 'type'> & {\n staticInput?: boolean;\n};\ntype FormControlProps = Pick<InputProps, 'addon' | 'normalized'> & TypeProps;\n\nfunction getFormControlClassInternal({ plaintext, staticInput, type = 'text', addon, normalized }: FormControlProps) {\n const formControlClass = 'form-control';\n if (plaintext || staticInput || normalized) {\n return `${formControlClass}-plaintext`;\n }\n if (type === 'file') {\n return `${formControlClass}-file`;\n }\n if (['radio', 'checkbox'].indexOf(type) > -1) {\n if (addon) {\n return null;\n }\n }\n return formControlClass;\n}\n\nexport function getFormControlClass(props: FormControlProps, cssModule?: CSSModule) {\n return mapToCssModules(getFormControlClassInternal(props), cssModule);\n}\n\nexport function getValidationTextControlClass({ valid }: ValidationProps, cssModule?: CSSModule) {\n return mapToCssModules(\n classNames({\n 'form-text': true,\n 'form-feedback just-validate-error-label': valid == false\n }),\n cssModule\n );\n}\n\nexport function getTag({ tag, plaintext, staticInput, type = 'text' }: Pick<InputProps, 'tag'> & TypeProps) {\n if (tag) {\n return tag;\n }\n if (['radio', 'checkbox'].indexOf(type) > -1) {\n return 'input';\n }\n if (plaintext || staticInput) {\n return 'p';\n }\n return 'input';\n}\n\ntype InputClassesParams = ValidationProps &\n Pick<InputProps, 'bsSize' | 'placeholder' | 'value' | 'label' | 'validationText' | 'normalized'> & {\n isFocused: boolean;\n inputPassword?: boolean;\n formControlClass?: string;\n validationTextControlClass?: string;\n originalWrapperClass: InputProps['wrapperClassName'];\n };\n\nexport function getClasses(\n className: string | undefined,\n type: string,\n {\n isFocused,\n valid,\n bsSize,\n placeholder,\n value,\n label,\n validationText,\n normalized,\n inputPassword,\n formControlClass,\n validationTextControlClass,\n originalWrapperClass\n }: InputClassesParams,\n cssModule?: CSSModule\n) {\n const hasPlainCondition = placeholder || label || validationText;\n const baseCondition = hasPlainCondition && !normalized && !inputPassword;\n const passwordOnlyCondition = inputPassword && !hasPlainCondition && !normalized;\n const normalizedOnlyCondition = normalized && !hasPlainCondition && !inputPassword;\n\n const classes = mapToCssModules(\n classNames(\n className,\n {\n 'is-invalid': valid == false,\n 'just-validate-success-field': valid,\n [`form-control-${bsSize}`]: bsSize\n },\n formControlClass\n ),\n cssModule\n );\n const wrapperClass = mapToCssModules(classNames(originalWrapperClass, 'form-group'), cssModule);\n const validationTextClass = mapToCssModules(\n classNames(\n {\n 'valid-feedback': valid,\n 'invalid-feedback form-feedback just-validate-error-label': valid == false\n },\n validationTextControlClass\n ),\n cssModule\n );\n\n const inputClasses = mapToCssModules(\n classNames(\n classes,\n !baseCondition && {\n // we can model here only if stylings\n 'form-control-plaintext': normalizedOnlyCondition,\n 'form-control': passwordOnlyCondition,\n 'input-password': passwordOnlyCondition,\n 'focus--mouse': passwordOnlyCondition || normalizedOnlyCondition\n }\n ),\n cssModule\n );\n\n const activeClass = mapToCssModules(\n classNames({\n active: isFocused || placeholder || value || ['date', 'time'].includes(type)\n }),\n cssModule\n );\n\n const extraLabelClass = mapToCssModules(\n classNames({\n 'input-number-label': ['number', 'currency', 'adaptive', 'percentage'].includes(type)\n })\n );\n\n return {\n wrapperClass,\n inputClasses,\n activeClass,\n extraLabelClass,\n validationTextClass\n };\n}\n\nexport function useFocus<T extends HTMLInputElement | HTMLTextAreaElement>({\n onFocus,\n onBlur\n}: {\n onFocus: React.FocusEventHandler<T> | undefined;\n onBlur: React.FocusEventHandler<T> | undefined;\n}) {\n const [isFocused, setFocus] = useState(false);\n\n const toggleFocusLabel = useCallback(\n (e: React.FocusEvent<T>) => {\n setFocus(true);\n onFocus?.(e);\n },\n [onFocus]\n );\n\n const toggleBlurLabel = useCallback(\n (e: React.FocusEvent<T>) => {\n if (e.target.value === '') {\n setFocus(!isFocused);\n }\n onBlur?.(e);\n },\n [isFocused, onBlur]\n );\n\n return { toggleFocusLabel, toggleBlurLabel, isFocused };\n}\n","export const noop = () => {};\n\nexport const logError = (message: string) => {\n if (typeof console !== 'undefined') {\n if (console.error) {\n console.error(message);\n } else {\n console.log(message);\n }\n }\n};\n\n// @internal Used for testing purposes only\nexport const flushMessageCache = () => {\n for (const key in messages) {\n delete messages[key];\n }\n};\n\nconst messages: Record<string, 1> = {};\nexport const notifyDeprecation = (message: string, options: { once: boolean } = { once: true }) => {\n if (!options.once) {\n logError(message);\n } else {\n if (!messages[message]) {\n logError(message);\n messages[message] = 1;\n }\n }\n};\n\nexport function mapToCssModules(className: string | null, cssModules?: Record<string, string>) {\n const finalClassNames = className == null ? '' : className;\n if (!cssModules) {\n return finalClassNames;\n }\n return finalClassNames\n .split(' ')\n .map((klass) => cssModules[klass] ?? klass)\n .join(' ');\n}\n\ntype UnknownObject = Record<string, unknown>;\n\nexport function pick<T extends UnknownObject>(obj: T, keys: keyof T | Array<keyof T>): Partial<T> {\n const keysArray = Array.isArray(keys) ? keys : [keys];\n const newObj: Partial<T> = {};\n for (const key of keysArray) {\n if (key in obj) {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}\n\nexport function omit<T extends UnknownObject>(obj: T, keys: keyof T | Array<keyof T>): Partial<T> {\n const keysLookup = new Set(Array.isArray(keys) ? keys : [keys]);\n\n const newObj: Partial<T> = {};\n for (const key in obj) {\n if (!keysLookup.has(key)) {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA8D,sBCA9D,IAAAC,EAAqD,sBAuBxCC,EAA0C,CAAC,CACtD,GAAAC,EACA,OAAAC,EACA,SAAAC,EACA,OAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,oBAAAC,EACA,eAAAC,EACA,aAAAC,EACA,eAAAC,EACA,YAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,CACF,IAEMJ,GAAkBE,EAElB,EAAAG,QAAA,cAAC,OAAI,UAAWN,EAAc,cAAaN,GACzC,EAAAY,QAAA,cAAC,OAAI,UAAU,eACZH,GAAe,EAAAG,QAAA,cAAC,QAAK,UAAU,oBAAoBF,CAAS,EAC7D,EAAAE,QAAA,cAAC,SAAM,QAASf,EAAI,UAAWI,EAAc,IAAMC,GAChDC,CACH,EACCQ,EACAZ,GACC,EAAAa,QAAA,cAAC,SAAM,GAAId,EAAQ,UAAU,aAC1BC,CACH,EAEF,EAAAa,QAAA,cAAC,OAAI,UAAWR,GAAsBC,CAAe,EACpDE,GAAkB,EAAAK,QAAA,cAAC,OAAI,UAAU,sBAAsBJ,CAAY,CACtE,CACF,EAIF,EAAAI,QAAA,cAAC,OAAI,UAAWN,EAAc,cAAaN,GACzC,EAAAY,QAAA,cAAC,SAAM,QAASf,EAAI,UAAWI,EAAc,IAAMC,GAChDC,CACH,EACCQ,EACAZ,GACC,EAAAa,QAAA,cAAC,SAAM,GAAId,EAAQ,UAAU,aAC1BC,CACH,EAEF,EAAAa,QAAA,cAAC,OAAI,UAAWR,GAAsBC,CAAe,CACvD,ECzEJ,IAAAQ,EAAuB,2BACvBC,EAAsC,iBC8B/B,SAASC,EAAgBC,EAA0BC,EAAqC,CAC7F,IAAMC,EAAkBF,GAAoB,GAC5C,OAAKC,EAGEC,EACJ,MAAM,GAAG,EACT,IAAKC,GAAUF,EAAWE,CAAK,GAAKA,CAAK,EACzC,KAAK,GAAG,EALFD,CAMX,CD5BA,SAASE,EAA4B,CAAE,UAAAC,EAAW,YAAAC,EAAa,KAAAC,EAAO,OAAQ,MAAAC,EAAO,WAAAC,CAAW,EAAqB,CACnH,IAAMC,EAAmB,eACzB,OAAIL,GAAaC,GAAeG,EACvB,GAAGC,CAAgB,aAExBH,IAAS,OACJ,GAAGG,CAAgB,QAExB,CAAC,QAAS,UAAU,EAAE,QAAQH,CAAI,EAAI,IACpCC,EACK,KAGJE,CACT,CAEO,SAASC,EAAoBC,EAAyBC,EAAuB,CAClF,OAAOC,EAAgBV,EAA4BQ,CAAK,EAAGC,CAAS,CACtE,CAEO,SAASE,EAA8B,CAAE,MAAAC,CAAM,EAAoBH,EAAuB,CAC/F,OAAOC,KACL,EAAAG,SAAW,CACT,YAAa,GACb,0CAA2CD,GAAS,EACtD,CAAC,EACDH,CACF,CACF,CAwBO,SAASK,EACdC,EACAC,EACA,CACE,UAAAC,EACA,MAAAC,EACA,OAAAC,EACA,YAAAC,EACA,MAAAC,EACA,MAAAC,EACA,eAAAC,EACA,WAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,2BAAAC,EACA,qBAAAC,CACF,EACAC,EACA,CACA,IAAMC,EAAoBV,GAAeE,GAASC,EAC5CQ,EAAgBD,GAAqB,CAACN,GAAc,CAACC,EACrDO,EAAwBP,GAAiB,CAACK,GAAqB,CAACN,EAChES,EAA0BT,GAAc,CAACM,GAAqB,CAACL,EAE/DS,EAAUC,KACd,EAAAC,SACErB,EACA,CACE,aAAcG,GAAS,GACvB,8BAA+BA,EAC/B,CAAC,gBAAgBC,CAAM,EAAE,EAAGA,CAC9B,EACAO,CACF,EACAG,CACF,EACMQ,EAAeF,KAAgB,EAAAC,SAAWR,EAAsB,YAAY,EAAGC,CAAS,EACxFS,EAAsBH,KAC1B,EAAAC,SACE,CACE,iBAAkBlB,EAClB,2DAA4DA,GAAS,EACvE,EACAS,CACF,EACAE,CACF,EAEMU,EAAeJ,KACnB,EAAAC,SACEF,EACA,CAACH,GAAiB,CAEhB,yBAA0BE,EAC1B,eAAgBD,EAChB,iBAAkBA,EAClB,eAAgBA,GAAyBC,CAC3C,CACF,EACAJ,CACF,EAEMW,EAAcL,KAClB,EAAAC,SAAW,CACT,OAAQnB,GAAaG,GAAeC,GAAS,CAAC,OAAQ,MAAM,EAAE,SAASL,CAAI,CAC7E,CAAC,EACDa,CACF,EAEMY,EAAkBN,KACtB,EAAAC,SAAW,CACT,qBAAsB,CAAC,SAAU,WAAY,WAAY,YAAY,EAAE,SAASpB,CAAI,CACtF,CAAC,CACH,EAEA,MAAO,CACL,aAAAqB,EACA,aAAAE,EACA,YAAAC,EACA,gBAAAC,EACA,oBAAAH,CACF,CACF,CAEO,SAASI,EAA2D,CACzE,QAAAC,EACA,OAAAC,CACF,EAGG,CACD,GAAM,CAAC3B,EAAW4B,CAAQ,KAAI,YAAS,EAAK,EAEtCC,KAAmB,eACtBC,GAA2B,CAC1BF,EAAS,EAAI,EACbF,IAAUI,CAAC,CACb,EACA,CAACJ,CAAO,CACV,EAEMK,KAAkB,eACrBD,GAA2B,CACtBA,EAAE,OAAO,QAAU,IACrBF,EAAS,CAAC5B,CAAS,EAErB2B,IAASG,CAAC,CACZ,EACA,CAAC9B,EAAW2B,CAAM,CACpB,EAEA,MAAO,CAAE,iBAAAE,EAAkB,gBAAAE,EAAiB,UAAA/B,CAAU,CACxD,CF/IO,IAAMgC,EAAW,CAAC,CACvB,GAAAC,EACA,UAAAC,EACA,UAAAC,EACA,SAAAC,EACA,MAAAC,EACA,eAAAC,EACA,SAAAC,EACA,YAAAC,EACA,WAAAC,EACA,MAAAC,EACA,iBAAkBC,EAClB,MAAAC,EACA,OAAAC,EACA,GAAGC,CACL,IAAqB,CACnB,GAAM,CAAE,iBAAAC,EAAkB,gBAAAC,EAAiB,UAAAC,CAAU,EAAIC,EAA8B,CACrF,QAASJ,EAAW,QACpB,OAAQA,EAAW,MACrB,CAAC,EAEKK,EAA6BC,EAA8B,CAAE,MAAAR,CAAM,EAAGT,CAAS,EAE/EkB,EAAqD,CAAC,EAGtDC,EAAmBC,EACvB,CAAC,EACDpB,CACF,EAEMqB,EAASvB,EAAK,GAAGA,CAAE,cAAgB,OACrCA,IACFoB,EAAgB,kBAAkB,EAAIG,GAIxC,GAAM,CAAE,YAAAC,EAAa,gBAAAC,EAAiB,oBAAAC,EAAqB,aAAAC,EAAc,aAAAC,CAAa,EAAIC,EACxF5B,EACA,WACA,CACE,MAAAU,EACA,YAAAJ,EACA,MAAAE,EACA,MAAAL,EACA,eAAAC,EACA,WAAY,EAAQG,EACpB,iBAAAa,EACA,2BAAAH,EACA,UAAAF,EACA,qBAAAN,CACF,EACAR,CACF,EAGM4B,EAAmB,CACvB,GAAA9B,EACA,QAASc,EACT,OAAQC,EACR,MAAAN,EACA,IAAKN,CACP,EAGM4B,EAAiB,CACrB,GAAA/B,EACA,OAAAuB,EACA,SAAAjB,EACA,YAAAkB,EACA,gBAAAC,EACA,MAAArB,EACA,oBAAAsB,EACA,eAAArB,EACA,aAAAuB,CACF,EAEA,OAAIrB,EAEA,EAAAyB,QAAA,cAACC,EAAA,CAAgB,GAAGF,GAClB,EAAAC,QAAA,cAAC,YACE,GAAGnB,EACH,GAAGO,EACH,GAAGU,EACJ,UAAWH,EACX,YAAapB,EACb,cAAaK,EACf,CACF,EAIAJ,EAEA,EAAAwB,QAAA,cAACC,EAAA,CAAgB,GAAGF,GAClB,EAAAC,QAAA,cAAC,YACE,GAAGnB,EACH,GAAGO,EACH,GAAGU,EACJ,UAAWH,EACX,SAAQ,GACR,cAAaf,EACf,CACF,EAGAR,GAASC,EAET,EAAA2B,QAAA,cAACC,EAAA,CAAgB,GAAGF,GAClB,EAAAC,QAAA,cAAC,YACE,GAAGnB,EACH,GAAGO,EACH,GAAGU,EACJ,UAAWH,EACX,cAAaf,EACf,CACF,EAKF,EAAAoB,QAAA,cAAC,YACE,GAAGnB,EACH,GAAGO,EACJ,UAAWO,EACV,GAAGG,EACJ,IAAK3B,EACL,cAAaS,EACf,CAEJ","names":["TextArea_exports","__export","TextArea","__toCommonJS","import_react","import_react","InputContainer","id","infoId","infoText","testId","activeClass","extraLabelClass","label","validationTextClass","validationText","wrapperClass","hasButtonRight","buttonRight","hasIconLeft","iconLeft","children","React","import_classnames","import_react","mapToCssModules","className","cssModules","finalClassNames","klass","getFormControlClassInternal","plaintext","staticInput","type","addon","normalized","formControlClass","getFormControlClass","props","cssModule","mapToCssModules","getValidationTextControlClass","valid","classNames","getClasses","className","type","isFocused","valid","bsSize","placeholder","value","label","validationText","normalized","inputPassword","formControlClass","validationTextControlClass","originalWrapperClass","cssModule","hasPlainCondition","baseCondition","passwordOnlyCondition","normalizedOnlyCondition","classes","mapToCssModules","classNames","wrapperClass","validationTextClass","inputClasses","activeClass","extraLabelClass","useFocus","onFocus","onBlur","setFocus","toggleFocusLabel","e","toggleBlurLabel","TextArea","id","className","cssModule","innerRef","label","validationText","infoText","placeholder","normalized","value","originalWrapperClass","valid","testId","attributes","toggleFocusLabel","toggleBlurLabel","isFocused","useFocus","validationTextControlClass","getValidationTextControlClass","extraAttributes","formControlClass","getFormControlClass","infoId","activeClass","extraLabelClass","validationTextClass","inputClasses","wrapperClass","getClasses","sharedAttributes","containerProps","React","InputContainer"]}
|
|
1
|
+
{"version":3,"sources":["../../src/Input/TextArea.tsx","../../src/Input/InputContainer.tsx","../../src/Input/utils.tsx","../../src/utils.tsx"],"sourcesContent":["import React, { ReactNode, Ref, TextareaHTMLAttributes } from 'react';\n\nimport type { CSSModule } from 'reactstrap/types/lib/utils';\nimport { InputContainer } from './InputContainer';\nimport { getClasses, getFormControlClass, getValidationTextControlClass, useFocus } from './utils';\n\nexport interface TextAreaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {\n /** Etichetta del campo TextArea. */\n label?: string | ReactNode;\n /** Testo di esempio da utilizzare per il campo. */\n placeholder?: string;\n /** Testo di validazione per l'elemento del moduleo */\n validationText?: string;\n /** Testo di aiuto per l'elemento del moduleo form. Richiede che il componente `TextArea` abbia la prop `id` impostata. */\n infoText?: string;\n /** Il valore nel campo TextArea. */\n value?: string | number;\n /** Da utilizzare per impedire la modifica del valore contenuto. */\n readOnly?: boolean;\n /** Associato all'attributo readOnly mostra il campo con lo stile classico, mantenento lo stato di sola lettura. */\n normalized?: boolean;\n /** Utilizzare per mostrare il successo nella validazione del valore nel campo TextArea */\n valid?: boolean;\n innerRef?: Ref<HTMLTextAreaElement>;\n /** Oggetto contenente la nuova mappatura per le classi CSS. */\n cssModule?: CSSModule;\n /** Classi aggiuntive da usare per il wrapper del componente TextArea */\n wrapperClassName?: string;\n /** Classi aggiuntive da usare per il componente TextArea */\n className?: string;\n testId?: string;\n}\n\nexport const TextArea = ({\n id,\n className,\n cssModule,\n innerRef,\n label,\n validationText,\n infoText,\n placeholder,\n normalized,\n value,\n wrapperClassName: originalWrapperClass,\n valid,\n testId,\n ...attributes\n}: TextAreaProps) => {\n const { toggleFocusLabel, toggleBlurLabel, isFocused } = useFocus<HTMLTextAreaElement>({\n onFocus: attributes.onFocus,\n onBlur: attributes.onBlur\n });\n\n const validationTextControlClass = getValidationTextControlClass({ valid }, cssModule);\n\n const extraAttributes: { ['aria-describedby']?: string } = {};\n\n //Chiamo questa funzione per impostare classNames a 'form-control'\n const formControlClass = getFormControlClass({}, cssModule);\n // associate the input field with the help text\n const infoId = id ? `${id}Description` : undefined;\n if (id) {\n extraAttributes['aria-describedby'] = infoId;\n }\n\n // Styling\n const { activeClass, extraLabelClass, validationTextClass, inputClasses, wrapperClass } = getClasses(\n className,\n 'textarea',\n {\n valid,\n placeholder,\n value,\n label,\n validationText,\n normalized: Boolean(normalized),\n formControlClass,\n validationTextControlClass,\n isFocused,\n originalWrapperClass\n },\n cssModule\n );\n\n // set of attributes always shared by the Input components\n const sharedAttributes = {\n id,\n onFocus: toggleFocusLabel,\n onBlur: toggleBlurLabel,\n value,\n ref: innerRef\n };\n\n // set of attributes always shared by the wrapper component\n const containerProps = {\n id,\n infoId,\n infoText,\n activeClass,\n extraLabelClass,\n label,\n validationTextClass,\n validationText,\n wrapperClass\n };\n\n if (placeholder) {\n return (\n <InputContainer {...containerProps}>\n <textarea\n {...attributes}\n {...extraAttributes}\n {...sharedAttributes}\n className={inputClasses}\n placeholder={placeholder}\n data-testid={testId}\n />\n </InputContainer>\n );\n }\n\n if (normalized) {\n return (\n <InputContainer {...containerProps}>\n <textarea\n {...attributes}\n {...extraAttributes}\n {...sharedAttributes}\n className={inputClasses}\n readOnly\n data-testid={testId}\n />\n </InputContainer>\n );\n }\n if (label || validationText) {\n return (\n <InputContainer {...containerProps}>\n <textarea\n {...attributes}\n {...extraAttributes}\n {...sharedAttributes}\n className={inputClasses}\n data-testid={testId}\n />\n </InputContainer>\n );\n }\n\n return (\n <textarea\n {...attributes}\n {...extraAttributes}\n className={inputClasses}\n {...sharedAttributes}\n ref={innerRef}\n data-testid={testId}\n />\n );\n};\n","import React, { FC, HTMLAttributes, ReactNode } from 'react';\n\nexport interface InputContainerProps extends HTMLAttributes<HTMLElement> {\n wrapperClass: string;\n activeClass: string;\n extraLabelClass: string;\n validationTextClass: string;\n label: string | ReactNode | undefined;\n validationText: string | undefined;\n id: string | undefined;\n infoId: string | undefined;\n infoText: string | undefined;\n /** Indica che il componente ha un bottone a destra rispetto all'input */\n hasButtonRight?: boolean;\n /** Componente per il bottone */\n buttonRight?: ReactNode;\n /** Indica che il componente ha una icona a sinistra rispetto all'input */\n hasIconLeft?: boolean;\n /** Componente per l'icona */\n iconLeft?: ReactNode;\n testId?: string;\n}\n\nexport const InputContainer: FC<InputContainerProps> = ({\n id,\n infoId,\n infoText,\n testId,\n activeClass,\n extraLabelClass,\n label,\n validationTextClass,\n validationText,\n wrapperClass,\n hasButtonRight,\n buttonRight,\n hasIconLeft,\n iconLeft,\n children\n}) => {\n if (hasButtonRight || hasIconLeft) {\n return (\n <div className={wrapperClass} data-testid={testId}>\n <div className='input-group'>\n {hasIconLeft && <span className='input-group-text'>{iconLeft}</span>}\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n {hasButtonRight && <div className='input-group-append'>{buttonRight}</div>}\n </div>\n </div>\n );\n }\n return (\n <div className={wrapperClass} data-testid={testId}>\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n </div>\n );\n};\n","import classNames from 'classnames';\nimport { useCallback, useState } from 'react';\nimport type { CSSModule } from 'reactstrap/types/lib/utils';\nimport { mapToCssModules } from '../utils';\nimport type { InputProps } from './Input';\n\ntype ValidationProps = Pick<InputProps, 'valid'>;\ntype TypeProps = Pick<InputProps, 'plaintext' | 'type'> & {\n staticInput?: boolean;\n};\ntype FormControlProps = Pick<InputProps, 'normalized'> & TypeProps;\n\nfunction getFormControlClassInternal({ plaintext, staticInput, type = 'text', normalized }: FormControlProps) {\n const formControlClass = 'form-control';\n if (plaintext || staticInput || normalized) {\n return `${formControlClass}-plaintext`;\n }\n if (type === 'file') {\n return `${formControlClass}-file`;\n }\n if (['radio', 'checkbox'].indexOf(type) > -1) {\n return null;\n }\n return formControlClass;\n}\n\nexport function getFormControlClass(props: FormControlProps, cssModule?: CSSModule) {\n return mapToCssModules(getFormControlClassInternal(props), cssModule);\n}\n\nexport function getValidationTextControlClass({ valid }: ValidationProps, cssModule?: CSSModule) {\n return mapToCssModules(\n classNames({\n 'form-text': true,\n 'form-feedback just-validate-error-label': valid == false\n }),\n cssModule\n );\n}\n\nexport function getTag({ tag, plaintext, staticInput, type = 'text' }: Pick<InputProps, 'tag'> & TypeProps) {\n if (tag) {\n return tag;\n }\n if (['radio', 'checkbox'].indexOf(type) > -1) {\n return 'input';\n }\n if (plaintext || staticInput) {\n return 'p';\n }\n return 'input';\n}\n\ntype InputClassesParams = ValidationProps &\n Pick<InputProps, 'bsSize' | 'placeholder' | 'value' | 'label' | 'validationText' | 'normalized'> & {\n isFocused: boolean;\n inputPassword?: boolean;\n formControlClass?: string;\n validationTextControlClass?: string;\n originalWrapperClass: InputProps['wrapperClassName'];\n };\n\nexport function getClasses(\n className: string | undefined,\n type: string,\n {\n isFocused,\n valid,\n bsSize,\n placeholder,\n value,\n label,\n validationText,\n normalized,\n inputPassword,\n formControlClass,\n validationTextControlClass,\n originalWrapperClass\n }: InputClassesParams,\n cssModule?: CSSModule\n) {\n const hasPlainCondition = placeholder || label || validationText;\n const baseCondition = hasPlainCondition && !normalized && !inputPassword;\n const passwordOnlyCondition = inputPassword && !hasPlainCondition && !normalized;\n const normalizedOnlyCondition = normalized && !hasPlainCondition && !inputPassword;\n\n const classes = mapToCssModules(\n classNames(\n className,\n {\n 'is-invalid': valid == false,\n 'just-validate-success-field': valid,\n [`form-control-${bsSize}`]: bsSize\n },\n formControlClass\n ),\n cssModule\n );\n const wrapperClass = mapToCssModules(classNames(originalWrapperClass, 'form-group'), cssModule);\n const validationTextClass = mapToCssModules(\n classNames(\n {\n 'valid-feedback': valid,\n 'invalid-feedback form-feedback just-validate-error-label': valid == false\n },\n validationTextControlClass\n ),\n cssModule\n );\n\n const inputClasses = mapToCssModules(\n classNames(\n classes,\n !baseCondition && {\n // we can model here only if stylings\n 'form-control-plaintext': normalizedOnlyCondition,\n 'form-control': passwordOnlyCondition,\n 'input-password': passwordOnlyCondition\n }\n ),\n cssModule\n );\n\n const activeClass = mapToCssModules(\n classNames({\n active: isFocused || placeholder || value || ['date', 'time'].includes(type)\n }),\n cssModule\n );\n\n const extraLabelClass = mapToCssModules(\n classNames({\n 'input-number-label': ['number', 'currency', 'adaptive', 'percentage'].includes(type)\n })\n );\n\n return {\n wrapperClass,\n inputClasses,\n activeClass,\n extraLabelClass,\n validationTextClass\n };\n}\n\nexport function useFocus<T extends HTMLInputElement | HTMLTextAreaElement>({\n onFocus,\n onBlur\n}: {\n onFocus: React.FocusEventHandler<T> | undefined;\n onBlur: React.FocusEventHandler<T> | undefined;\n}) {\n const [isFocused, setFocus] = useState(false);\n\n const toggleFocusLabel = useCallback(\n (e: React.FocusEvent<T>) => {\n setFocus(true);\n onFocus?.(e);\n },\n [onFocus]\n );\n\n const toggleBlurLabel = useCallback(\n (e: React.FocusEvent<T>) => {\n if (e.target.value === '') {\n setFocus(!isFocused);\n }\n onBlur?.(e);\n },\n [isFocused, onBlur]\n );\n\n return { toggleFocusLabel, toggleBlurLabel, isFocused };\n}\n","export const noop = () => {};\n\nexport const logError = (message: string) => {\n if (typeof console !== 'undefined') {\n if (console.error) {\n console.error(message);\n } else {\n console.log(message);\n }\n }\n};\n\n// @internal Used for testing purposes only\nexport const flushMessageCache = () => {\n for (const key in messages) {\n delete messages[key];\n }\n};\n\nconst messages: Record<string, 1> = {};\nexport const notifyDeprecation = (message: string, options: { once: boolean } = { once: true }) => {\n if (!options.once) {\n logError(message);\n } else {\n if (!messages[message]) {\n logError(message);\n messages[message] = 1;\n }\n }\n};\n\nexport function mapToCssModules(className: string | null, cssModules?: Record<string, string>) {\n const finalClassNames = className == null ? '' : className;\n if (!cssModules) {\n return finalClassNames;\n }\n return finalClassNames\n .split(' ')\n .map((klass) => cssModules[klass] ?? klass)\n .join(' ');\n}\n\ntype UnknownObject = Record<string, unknown>;\n\nexport function pick<T extends UnknownObject>(obj: T, keys: keyof T | Array<keyof T>): Partial<T> {\n const keysArray = Array.isArray(keys) ? keys : [keys];\n const newObj: Partial<T> = {};\n for (const key of keysArray) {\n if (key in obj) {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}\n\nexport function omit<T extends UnknownObject>(obj: T, keys: keyof T | Array<keyof T>): Partial<T> {\n const keysLookup = new Set(Array.isArray(keys) ? keys : [keys]);\n\n const newObj: Partial<T> = {};\n for (const key in obj) {\n if (!keysLookup.has(key)) {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}\n"],"mappings":"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","names":["TextArea_exports","__export","TextArea","__toCommonJS","import_react","import_react","InputContainer","id","infoId","infoText","testId","activeClass","extraLabelClass","label","validationTextClass","validationText","wrapperClass","hasButtonRight","buttonRight","hasIconLeft","iconLeft","children","React","import_classnames","import_react","mapToCssModules","className","cssModules","finalClassNames","klass","getFormControlClassInternal","plaintext","staticInput","type","normalized","formControlClass","getFormControlClass","props","cssModule","mapToCssModules","getValidationTextControlClass","valid","classNames","getClasses","className","type","isFocused","valid","bsSize","placeholder","value","label","validationText","normalized","inputPassword","formControlClass","validationTextControlClass","originalWrapperClass","cssModule","hasPlainCondition","baseCondition","passwordOnlyCondition","normalizedOnlyCondition","classes","mapToCssModules","classNames","wrapperClass","validationTextClass","inputClasses","activeClass","extraLabelClass","useFocus","onFocus","onBlur","setFocus","toggleFocusLabel","e","toggleBlurLabel","TextArea","id","className","cssModule","innerRef","label","validationText","infoText","placeholder","normalized","value","originalWrapperClass","valid","testId","attributes","toggleFocusLabel","toggleBlurLabel","isFocused","useFocus","validationTextControlClass","getValidationTextControlClass","extraAttributes","formControlClass","getFormControlClass","infoId","activeClass","extraLabelClass","validationTextClass","inputClasses","wrapperClass","getClasses","sharedAttributes","containerProps","React","InputContainer"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../../src/Input/TextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA6BnG,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,EAAE,EACF,SAAS,EACT,SAAS,EACT,QAAQ,EACR,KAAK,EACL,cAAc,EACd,QAAQ,EACR,WAAW,EACX,UAAU,EACV,KAAK,EACL,gBAAgB,EAAE,oBAAoB,EACtC,KAAK,EACL,MAAM,EACN,GAAG,UAAU,EACC,EAAE,EAAE;IAClB,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAsB;QACrF,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAC;IAEH,MAAM,0BAA0B,GAAG,6BAA6B,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAEvF,MAAM,eAAe,GAAsC,EAAE,CAAC;IAE9D,kEAAkE;IAClE,MAAM,gBAAgB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../../src/Input/TextArea.tsx"],"names":[],"mappings":"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"}
|
package/dist/Input/utils.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var j=Object.create;var u=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var H=(t,o)=>{for(var e in o)u(t,e,{get:o[e],enumerable:!0})},
|
|
1
|
+
"use strict";var j=Object.create;var u=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var H=(t,o)=>{for(var e in o)u(t,e,{get:o[e],enumerable:!0})},x=(t,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of R(o))!L.call(t,r)&&r!==e&&u(t,r,{get:()=>o[r],enumerable:!(n=E(o,r))||n.enumerable});return t};var M=(t,o,e)=>(e=t!=null?j(h(t)):{},x(o||!t||!t.__esModule?u(e,"default",{value:t,enumerable:!0}):e,t)),V=t=>x(u({},"__esModule",{value:!0}),t);var W={};H(W,{getClasses:()=>B,getFormControlClass:()=>$,getTag:()=>z,getValidationTextControlClass:()=>N,useFocus:()=>D});module.exports=V(W);var a=M(require("classnames"),1),c=require("react");function s(t,o){let e=t??"";return o?e.split(" ").map(n=>o[n]??n).join(" "):e}function U({plaintext:t,staticInput:o,type:e="text",normalized:n}){let r="form-control";return t||o||n?`${r}-plaintext`:e==="file"?`${r}-file`:["radio","checkbox"].indexOf(e)>-1?null:r}function $(t,o){return s(U(t),o)}function N({valid:t},o){return s((0,a.default)({"form-text":!0,"form-feedback just-validate-error-label":t==!1}),o)}function z({tag:t,plaintext:o,staticInput:e,type:n="text"}){return t||(["radio","checkbox"].indexOf(n)>-1?"input":o||e?"p":"input")}function B(t,o,{isFocused:e,valid:n,bsSize:r,placeholder:p,value:i,label:T,validationText:y,normalized:f,inputPassword:d,formControlClass:P,validationTextControlClass:b,originalWrapperClass:g},l){let C=p||T||y,k=C&&!f&&!d,m=d&&!C&&!f,v=f&&!C&&!d,F=s((0,a.default)(t,{"is-invalid":n==!1,"just-validate-success-field":n,[`form-control-${r}`]:r},P),l),I=s((0,a.default)(g,"form-group"),l),w=s((0,a.default)({"valid-feedback":n,"invalid-feedback form-feedback just-validate-error-label":n==!1},b),l),S=s((0,a.default)(F,!k&&{"form-control-plaintext":v,"form-control":m,"input-password":m}),l),O=s((0,a.default)({active:e||p||i||["date","time"].includes(o)}),l),A=s((0,a.default)({"input-number-label":["number","currency","adaptive","percentage"].includes(o)}));return{wrapperClass:I,inputClasses:S,activeClass:O,extraLabelClass:A,validationTextClass:w}}function D({onFocus:t,onBlur:o}){let[e,n]=(0,c.useState)(!1),r=(0,c.useCallback)(i=>{n(!0),t?.(i)},[t]),p=(0,c.useCallback)(i=>{i.target.value===""&&n(!e),o?.(i)},[e,o]);return{toggleFocusLabel:r,toggleBlurLabel:p,isFocused:e}}0&&(module.exports={getClasses,getFormControlClass,getTag,getValidationTextControlClass,useFocus});
|
|
2
2
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/Input/utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Input/utils.tsx","../../src/utils.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { useCallback, useState } from 'react';\nimport type { CSSModule } from 'reactstrap/types/lib/utils';\nimport { mapToCssModules } from '../utils';\nimport type { InputProps } from './Input';\n\ntype ValidationProps = Pick<InputProps, 'valid'>;\ntype TypeProps = Pick<InputProps, 'plaintext' | 'type'> & {\n staticInput?: boolean;\n};\ntype FormControlProps = Pick<InputProps, '
|
|
1
|
+
{"version":3,"sources":["../../src/Input/utils.tsx","../../src/utils.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { useCallback, useState } from 'react';\nimport type { CSSModule } from 'reactstrap/types/lib/utils';\nimport { mapToCssModules } from '../utils';\nimport type { InputProps } from './Input';\n\ntype ValidationProps = Pick<InputProps, 'valid'>;\ntype TypeProps = Pick<InputProps, 'plaintext' | 'type'> & {\n staticInput?: boolean;\n};\ntype FormControlProps = Pick<InputProps, 'normalized'> & TypeProps;\n\nfunction getFormControlClassInternal({ plaintext, staticInput, type = 'text', normalized }: FormControlProps) {\n const formControlClass = 'form-control';\n if (plaintext || staticInput || normalized) {\n return `${formControlClass}-plaintext`;\n }\n if (type === 'file') {\n return `${formControlClass}-file`;\n }\n if (['radio', 'checkbox'].indexOf(type) > -1) {\n return null;\n }\n return formControlClass;\n}\n\nexport function getFormControlClass(props: FormControlProps, cssModule?: CSSModule) {\n return mapToCssModules(getFormControlClassInternal(props), cssModule);\n}\n\nexport function getValidationTextControlClass({ valid }: ValidationProps, cssModule?: CSSModule) {\n return mapToCssModules(\n classNames({\n 'form-text': true,\n 'form-feedback just-validate-error-label': valid == false\n }),\n cssModule\n );\n}\n\nexport function getTag({ tag, plaintext, staticInput, type = 'text' }: Pick<InputProps, 'tag'> & TypeProps) {\n if (tag) {\n return tag;\n }\n if (['radio', 'checkbox'].indexOf(type) > -1) {\n return 'input';\n }\n if (plaintext || staticInput) {\n return 'p';\n }\n return 'input';\n}\n\ntype InputClassesParams = ValidationProps &\n Pick<InputProps, 'bsSize' | 'placeholder' | 'value' | 'label' | 'validationText' | 'normalized'> & {\n isFocused: boolean;\n inputPassword?: boolean;\n formControlClass?: string;\n validationTextControlClass?: string;\n originalWrapperClass: InputProps['wrapperClassName'];\n };\n\nexport function getClasses(\n className: string | undefined,\n type: string,\n {\n isFocused,\n valid,\n bsSize,\n placeholder,\n value,\n label,\n validationText,\n normalized,\n inputPassword,\n formControlClass,\n validationTextControlClass,\n originalWrapperClass\n }: InputClassesParams,\n cssModule?: CSSModule\n) {\n const hasPlainCondition = placeholder || label || validationText;\n const baseCondition = hasPlainCondition && !normalized && !inputPassword;\n const passwordOnlyCondition = inputPassword && !hasPlainCondition && !normalized;\n const normalizedOnlyCondition = normalized && !hasPlainCondition && !inputPassword;\n\n const classes = mapToCssModules(\n classNames(\n className,\n {\n 'is-invalid': valid == false,\n 'just-validate-success-field': valid,\n [`form-control-${bsSize}`]: bsSize\n },\n formControlClass\n ),\n cssModule\n );\n const wrapperClass = mapToCssModules(classNames(originalWrapperClass, 'form-group'), cssModule);\n const validationTextClass = mapToCssModules(\n classNames(\n {\n 'valid-feedback': valid,\n 'invalid-feedback form-feedback just-validate-error-label': valid == false\n },\n validationTextControlClass\n ),\n cssModule\n );\n\n const inputClasses = mapToCssModules(\n classNames(\n classes,\n !baseCondition && {\n // we can model here only if stylings\n 'form-control-plaintext': normalizedOnlyCondition,\n 'form-control': passwordOnlyCondition,\n 'input-password': passwordOnlyCondition\n }\n ),\n cssModule\n );\n\n const activeClass = mapToCssModules(\n classNames({\n active: isFocused || placeholder || value || ['date', 'time'].includes(type)\n }),\n cssModule\n );\n\n const extraLabelClass = mapToCssModules(\n classNames({\n 'input-number-label': ['number', 'currency', 'adaptive', 'percentage'].includes(type)\n })\n );\n\n return {\n wrapperClass,\n inputClasses,\n activeClass,\n extraLabelClass,\n validationTextClass\n };\n}\n\nexport function useFocus<T extends HTMLInputElement | HTMLTextAreaElement>({\n onFocus,\n onBlur\n}: {\n onFocus: React.FocusEventHandler<T> | undefined;\n onBlur: React.FocusEventHandler<T> | undefined;\n}) {\n const [isFocused, setFocus] = useState(false);\n\n const toggleFocusLabel = useCallback(\n (e: React.FocusEvent<T>) => {\n setFocus(true);\n onFocus?.(e);\n },\n [onFocus]\n );\n\n const toggleBlurLabel = useCallback(\n (e: React.FocusEvent<T>) => {\n if (e.target.value === '') {\n setFocus(!isFocused);\n }\n onBlur?.(e);\n },\n [isFocused, onBlur]\n );\n\n return { toggleFocusLabel, toggleBlurLabel, isFocused };\n}\n","export const noop = () => {};\n\nexport const logError = (message: string) => {\n if (typeof console !== 'undefined') {\n if (console.error) {\n console.error(message);\n } else {\n console.log(message);\n }\n }\n};\n\n// @internal Used for testing purposes only\nexport const flushMessageCache = () => {\n for (const key in messages) {\n delete messages[key];\n }\n};\n\nconst messages: Record<string, 1> = {};\nexport const notifyDeprecation = (message: string, options: { once: boolean } = { once: true }) => {\n if (!options.once) {\n logError(message);\n } else {\n if (!messages[message]) {\n logError(message);\n messages[message] = 1;\n }\n }\n};\n\nexport function mapToCssModules(className: string | null, cssModules?: Record<string, string>) {\n const finalClassNames = className == null ? '' : className;\n if (!cssModules) {\n return finalClassNames;\n }\n return finalClassNames\n .split(' ')\n .map((klass) => cssModules[klass] ?? klass)\n .join(' ');\n}\n\ntype UnknownObject = Record<string, unknown>;\n\nexport function pick<T extends UnknownObject>(obj: T, keys: keyof T | Array<keyof T>): Partial<T> {\n const keysArray = Array.isArray(keys) ? keys : [keys];\n const newObj: Partial<T> = {};\n for (const key of keysArray) {\n if (key in obj) {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}\n\nexport function omit<T extends UnknownObject>(obj: T, keys: keyof T | Array<keyof T>): Partial<T> {\n const keysLookup = new Set(Array.isArray(keys) ? keys : [keys]);\n\n const newObj: Partial<T> = {};\n for (const key in obj) {\n if (!keysLookup.has(key)) {\n newObj[key] = obj[key];\n }\n }\n return newObj;\n}\n"],"mappings":"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","names":["utils_exports","__export","getClasses","getFormControlClass","getTag","getValidationTextControlClass","useFocus","__toCommonJS","import_classnames","import_react","mapToCssModules","className","cssModules","finalClassNames","klass","getFormControlClassInternal","plaintext","staticInput","type","normalized","formControlClass","getFormControlClass","props","cssModule","mapToCssModules","getValidationTextControlClass","valid","classNames","getTag","tag","getClasses","className","isFocused","bsSize","placeholder","value","label","validationText","inputPassword","validationTextControlClass","originalWrapperClass","hasPlainCondition","baseCondition","passwordOnlyCondition","normalizedOnlyCondition","classes","wrapperClass","validationTextClass","inputClasses","activeClass","extraLabelClass","useFocus","onFocus","onBlur","setFocus","toggleFocusLabel","e","toggleBlurLabel"]}
|
package/dist/Input/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import { useCallback, useState } from 'react';
|
|
3
3
|
import { mapToCssModules } from '../utils';
|
|
4
|
-
function getFormControlClassInternal({ plaintext, staticInput, type = 'text',
|
|
4
|
+
function getFormControlClassInternal({ plaintext, staticInput, type = 'text', normalized }) {
|
|
5
5
|
const formControlClass = 'form-control';
|
|
6
6
|
if (plaintext || staticInput || normalized) {
|
|
7
7
|
return `${formControlClass}-plaintext`;
|
|
@@ -10,9 +10,7 @@ function getFormControlClassInternal({ plaintext, staticInput, type = 'text', ad
|
|
|
10
10
|
return `${formControlClass}-file`;
|
|
11
11
|
}
|
|
12
12
|
if (['radio', 'checkbox'].indexOf(type) > -1) {
|
|
13
|
-
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
13
|
+
return null;
|
|
16
14
|
}
|
|
17
15
|
return formControlClass;
|
|
18
16
|
}
|
|
@@ -56,8 +54,7 @@ export function getClasses(className, type, { isFocused, valid, bsSize, placehol
|
|
|
56
54
|
// we can model here only if stylings
|
|
57
55
|
'form-control-plaintext': normalizedOnlyCondition,
|
|
58
56
|
'form-control': passwordOnlyCondition,
|
|
59
|
-
'input-password': passwordOnlyCondition
|
|
60
|
-
'focus--mouse': passwordOnlyCondition || normalizedOnlyCondition
|
|
57
|
+
'input-password': passwordOnlyCondition
|
|
61
58
|
}), cssModule);
|
|
62
59
|
const activeClass = mapToCssModules(classNames({
|
|
63
60
|
active: isFocused || placeholder || value || ['date', 'time'].includes(type)
|
package/dist/Input/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/Input/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAS3C,SAAS,2BAA2B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/Input/utils.tsx"],"names":[],"mappings":"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"}
|
package/dist/List/List.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/List/List.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { ElementType, FC, HTMLAttributes } from 'react';\n\nexport interface ListProps extends HTMLAttributes<HTMLUListElement> {\n /** Classi aggiuntive da usare per il componente lista del List */\n className?: string;\n /** Classi aggiuntive da usare per il componente wrapper del List */\n wrapperClassName?: string;\n /**\n * Utilizzarlo in caso di utilizzo di componenti personalizzati per il wrapper della lista.\n * Nota: viene ignorato quando usato in lista annidate.\n * */\n tag?: ElementType;\n /** Quando attivo rimuove il componente contenitore della ListList. Utile per alcuni tipi di liste annidate. */\n noWrapper?: boolean;\n testId?: string;\n}\n\nexport const List: FC<ListProps> = ({
|
|
1
|
+
{"version":3,"sources":["../../src/List/List.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { ElementType, FC, HTMLAttributes } from 'react';\n\nexport interface ListProps extends HTMLAttributes<HTMLUListElement> {\n /** Classi aggiuntive da usare per il componente lista del List */\n className?: string;\n /** Classi aggiuntive da usare per il componente wrapper del List */\n wrapperClassName?: string;\n /**\n * Utilizzarlo in caso di utilizzo di componenti personalizzati per il wrapper della lista.\n * Nota: viene ignorato quando usato in lista annidate.\n * */\n tag?: ElementType;\n /** Quando attivo rimuove il componente contenitore della ListList. Utile per alcuni tipi di liste annidate. */\n noWrapper?: boolean;\n testId?: string;\n}\n\nexport const List: FC<ListProps> = ({ className, wrapperClassName, tag = 'div', noWrapper, testId, ...attributes }) => {\n const Tag = tag;\n const wrapperClasses = classNames('it-list-wrapper', wrapperClassName);\n const classes = classNames(className, 'it-list');\n\n if (noWrapper) {\n return <ul {...attributes} className={classes} data-testid={testId} />;\n }\n\n return (\n <Tag className={wrapperClasses} data-testid={testId}>\n <ul {...attributes} className={classes} />\n </Tag>\n );\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,2BACvBC,EAAuD,sBAiB1CH,EAAsB,CAAC,CAAE,UAAAI,EAAW,iBAAAC,EAAkB,IAAAC,EAAM,MAAO,UAAAC,EAAW,OAAAC,EAAQ,GAAGC,CAAW,IAAM,CACrH,IAAMC,EAAMJ,EACNK,KAAiB,EAAAC,SAAW,kBAAmBP,CAAgB,EAC/DQ,KAAU,EAAAD,SAAWR,EAAW,SAAS,EAE/C,OAAIG,EACK,EAAAO,QAAA,cAAC,MAAI,GAAGL,EAAY,UAAWI,EAAS,cAAaL,EAAQ,EAIpE,EAAAM,QAAA,cAACJ,EAAA,CAAI,UAAWC,EAAgB,cAAaH,GAC3C,EAAAM,QAAA,cAAC,MAAI,GAAGL,EAAY,UAAWI,EAAS,CAC1C,CAEJ","names":["List_exports","__export","List","__toCommonJS","import_classnames","import_react","className","wrapperClassName","tag","noWrapper","testId","attributes","Tag","wrapperClasses","classNames","classes","React"]}
|
package/dist/List/List.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/List/List.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAA0C,MAAM,OAAO,CAAC;AAiB/D,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/List/List.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAA0C,MAAM,OAAO,CAAC;AAiB/D,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,GAAG,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACpH,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,cAAc,GAAG,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,+BAAQ,UAAU,EAAE,SAAS,EAAE,OAAO,iBAAe,MAAM,GAAI,CAAC;IACzE,CAAC;IAED,OAAO,CACL,oBAAC,GAAG,IAAC,SAAS,EAAE,cAAc,iBAAe,MAAM;QACjD,+BAAQ,UAAU,EAAE,SAAS,EAAE,OAAO,GAAI,CACtC,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/List/ListItem.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { AnchorHTMLAttributes, ElementType, FC, ReactNode } from 'react';\n\nexport interface ListItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /** Indica se l'elemento è attivo o no */\n active?: boolean;\n /** Indica se l'elemento ha un avatar */\n avatar?: ReactNode;\n /** Indica se l'elemento ha una icona */\n icon?: ReactNode;\n /** Indica se l'elemento ha una immagine */\n img?: ReactNode;\n /** Utilizzarlo in caso di utilizzo di componenti personalizzati */\n tag?: ElementType;\n /** Classi aggiuntive da usare per il componente ListItem */\n className?: string;\n /** Classi aggiuntive da usare per l'elemento contenitore dell'item */\n wrapperClassName?: string;\n /** Indica il link a cui l'elemento deve puntare. */\n href?: string;\n /** Indica il link route a cui l'elemento deve puntare. */\n to?: string;\n testId?: string;\n}\n\nexport const ListItem: FC<ListItemProps> & {\n MultipleAction: typeof MultipleAction;\n} = ({\n className,\n active,\n avatar,\n icon,\n img,\n href,\n tag = 'div',\n to,\n wrapperClassName,\n testId,\n children,\n ...attributes\n}) => {\n
|
|
1
|
+
{"version":3,"sources":["../../src/List/ListItem.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { AnchorHTMLAttributes, ElementType, FC, ReactNode } from 'react';\n\nexport interface ListItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /** Indica se l'elemento è attivo o no */\n active?: boolean;\n /** Indica se l'elemento ha un avatar */\n avatar?: ReactNode;\n /** Indica se l'elemento ha una icona */\n icon?: ReactNode;\n /** Indica se l'elemento ha una immagine */\n img?: ReactNode;\n /** Utilizzarlo in caso di utilizzo di componenti personalizzati */\n tag?: ElementType;\n /** Classi aggiuntive da usare per il componente ListItem */\n className?: string;\n /** Classi aggiuntive da usare per l'elemento contenitore dell'item */\n wrapperClassName?: string;\n /** Indica il link a cui l'elemento deve puntare. */\n href?: string;\n /** Indica il link route a cui l'elemento deve puntare. */\n to?: string;\n testId?: string;\n}\n\nexport const ListItem: FC<ListItemProps> & {\n MultipleAction: typeof MultipleAction;\n} = ({\n className,\n active,\n avatar,\n icon,\n img,\n href,\n tag = 'div',\n to,\n wrapperClassName,\n testId,\n children,\n ...attributes\n}) => {\n const Tag = tag;\n const classes = classNames(className, { active }, 'list-item'),\n classesItem = classNames(className, {\n 'it-rounded-icon': icon,\n 'avatar size-lg': avatar,\n 'it-thumb': img\n }),\n leftItem = icon || avatar || img;\n\n if (href) {\n return (\n <li className={wrapperClassName} data-testid={testId}>\n <a href={href || '#'} {...attributes} className={classes}>\n <div className='it-right-zone'>{children}</div>\n </a>\n </li>\n );\n }\n\n return (\n <li className={wrapperClassName} data-testid={testId}>\n <Tag {...attributes} className={classes} href={href} to={to}>\n {leftItem && <div className={classesItem}>{leftItem}</div>}\n <div className='it-right-zone'>{children}</div>\n </Tag>\n </li>\n );\n};\n\nconst MultipleAction: FC<ListItemProps> = ({ children }) => {\n return <span className='it-multiple'>{children}</span>;\n};\n\nListItem.MultipleAction = MultipleAction;\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,2BACvBC,EAAwE,sBAwB3DH,EAET,CAAC,CACH,UAAAI,EACA,OAAAC,EACA,OAAAC,EACA,KAAAC,EACA,IAAAC,EACA,KAAAC,EACA,IAAAC,EAAM,MACN,GAAAC,EACA,iBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,IAAMC,EAAMN,EACNO,KAAU,EAAAC,SAAWd,EAAW,CAAE,OAAAC,CAAO,EAAG,WAAW,EAC3Dc,KAAc,EAAAD,SAAWd,EAAW,CAClC,kBAAmBG,EACnB,iBAAkBD,EAClB,WAAYE,CACd,CAAC,EACDY,EAAWb,GAAQD,GAAUE,EAE/B,OAAIC,EAEA,EAAAY,QAAA,cAAC,MAAG,UAAWT,EAAkB,cAAaC,GAC5C,EAAAQ,QAAA,cAAC,KAAE,KAAMZ,GAAQ,IAAM,GAAGM,EAAY,UAAWE,GAC/C,EAAAI,QAAA,cAAC,OAAI,UAAU,iBAAiBP,CAAS,CAC3C,CACF,EAKF,EAAAO,QAAA,cAAC,MAAG,UAAWT,EAAkB,cAAaC,GAC5C,EAAAQ,QAAA,cAACL,EAAA,CAAK,GAAGD,EAAY,UAAWE,EAAS,KAAMR,EAAM,GAAIE,GACtDS,GAAY,EAAAC,QAAA,cAAC,OAAI,UAAWF,GAAcC,CAAS,EACpD,EAAAC,QAAA,cAAC,OAAI,UAAU,iBAAiBP,CAAS,CAC3C,CACF,CAEJ,EAEMQ,EAAoC,CAAC,CAAE,SAAAR,CAAS,IAC7C,EAAAO,QAAA,cAAC,QAAK,UAAU,eAAeP,CAAS,EAGjDd,EAAS,eAAiBsB","names":["ListItem_exports","__export","ListItem","__toCommonJS","import_classnames","import_react","className","active","avatar","icon","img","href","tag","to","wrapperClassName","testId","children","attributes","Tag","classes","classNames","classesItem","leftItem","React","MultipleAction"]}
|
package/dist/List/ListItem.js
CHANGED
|
@@ -10,12 +10,12 @@ export const ListItem = ({ className, active, avatar, icon, img, href, tag = 'di
|
|
|
10
10
|
if (href) {
|
|
11
11
|
return (React.createElement("li", { className: wrapperClassName, "data-testid": testId },
|
|
12
12
|
React.createElement("a", { href: href || '#', ...attributes, className: classes },
|
|
13
|
-
React.createElement("div", { className:
|
|
13
|
+
React.createElement("div", { className: 'it-right-zone' }, children))));
|
|
14
14
|
}
|
|
15
15
|
return (React.createElement("li", { className: wrapperClassName, "data-testid": testId },
|
|
16
16
|
React.createElement(Tag, { ...attributes, className: classes, href: href, to: to },
|
|
17
17
|
leftItem && React.createElement("div", { className: classesItem }, leftItem),
|
|
18
|
-
React.createElement("div", { className:
|
|
18
|
+
React.createElement("div", { className: 'it-right-zone' }, children))));
|
|
19
19
|
};
|
|
20
20
|
const MultipleAction = ({ children }) => {
|
|
21
21
|
return React.createElement("span", { className: 'it-multiple' }, children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/List/ListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAA2D,MAAM,OAAO,CAAC;AAwBhF,MAAM,CAAC,MAAM,QAAQ,GAEjB,CAAC,EACH,SAAS,EACT,MAAM,EACN,MAAM,EACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,GAAG,GAAG,KAAK,EACX,EAAE,EACF,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,GAAG,UAAU,EACd,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/List/ListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAA2D,MAAM,OAAO,CAAC;AAwBhF,MAAM,CAAC,MAAM,QAAQ,GAEjB,CAAC,EACH,SAAS,EACT,MAAM,EACN,MAAM,EACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,GAAG,GAAG,KAAK,EACX,EAAE,EACF,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,GAAG,UAAU,EACd,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAC5D,WAAW,GAAG,UAAU,CAAC,SAAS,EAAE;QAClC,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,MAAM;QACxB,UAAU,EAAE,GAAG;KAChB,CAAC,EACF,QAAQ,GAAG,IAAI,IAAI,MAAM,IAAI,GAAG,CAAC;IAEnC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,4BAAI,SAAS,EAAE,gBAAgB,iBAAe,MAAM;YAClD,2BAAG,IAAI,EAAE,IAAI,IAAI,GAAG,KAAM,UAAU,EAAE,SAAS,EAAE,OAAO;gBACtD,6BAAK,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAO,CAC7C,CACD,CACN,CAAC;IACJ,CAAC;IAED,OAAO,CACL,4BAAI,SAAS,EAAE,gBAAgB,iBAAe,MAAM;QAClD,oBAAC,GAAG,OAAK,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YACxD,QAAQ,IAAI,6BAAK,SAAS,EAAE,WAAW,IAAG,QAAQ,CAAO;YAC1D,6BAAK,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAO,CAC3C,CACH,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzD,OAAO,8BAAM,SAAS,EAAC,aAAa,IAAE,QAAQ,CAAQ,CAAC;AACzD,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC"}
|