design-react-kit 5.3.0 → 5.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.
Files changed (71) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/Card/CardCategory.cjs +1 -1
  3. package/dist/Card/CardCategory.cjs.map +1 -1
  4. package/dist/Card/CardCategory.js +7 -3
  5. package/dist/Card/CardCategory.js.map +1 -1
  6. package/dist/Forward/Forward.cjs +1 -1
  7. package/dist/Forward/Forward.cjs.map +1 -1
  8. package/dist/Forward/Forward.js +13 -5
  9. package/dist/Forward/Forward.js.map +1 -1
  10. package/dist/Grid/GridItemTextWrapper.cjs +1 -1
  11. package/dist/Grid/GridItemTextWrapper.cjs.map +1 -1
  12. package/dist/Grid/GridItemTextWrapper.js +3 -2
  13. package/dist/Grid/GridItemTextWrapper.js.map +1 -1
  14. package/dist/Grid/index.cjs +1 -1
  15. package/dist/Grid/index.cjs.map +1 -1
  16. package/dist/Input/Input.cjs +1 -1
  17. package/dist/Input/Input.cjs.map +1 -1
  18. package/dist/Input/TextArea.cjs +1 -1
  19. package/dist/Input/TextArea.cjs.map +1 -1
  20. package/dist/Input/TextArea.js +4 -1
  21. package/dist/Input/TextArea.js.map +1 -1
  22. package/dist/Input/utils.cjs +1 -1
  23. package/dist/Input/utils.cjs.map +1 -1
  24. package/dist/Input/utils.js +2 -2
  25. package/dist/Input/utils.js.map +1 -1
  26. package/dist/List/ListItem.cjs +1 -1
  27. package/dist/List/ListItem.cjs.map +1 -1
  28. package/dist/List/ListItem.js +2 -2
  29. package/dist/List/ListItem.js.map +1 -1
  30. package/dist/Rating/Rating.cjs +1 -1
  31. package/dist/Rating/Rating.cjs.map +1 -1
  32. package/dist/ResponsiveImage/ResponsiveImage.cjs +1 -1
  33. package/dist/ResponsiveImage/ResponsiveImage.cjs.map +1 -1
  34. package/dist/ResponsiveImage/ResponsiveImage.js +21 -5
  35. package/dist/ResponsiveImage/ResponsiveImage.js.map +1 -1
  36. package/dist/ThumbNav/ThumbNavItem.cjs +1 -1
  37. package/dist/ThumbNav/ThumbNavItem.cjs.map +1 -1
  38. package/dist/ThumbNav/ThumbNavItem.js +0 -1
  39. package/dist/ThumbNav/ThumbNavItem.js.map +1 -1
  40. package/dist/Timeline/TimelinePin.cjs +1 -1
  41. package/dist/Timeline/TimelinePin.cjs.map +1 -1
  42. package/dist/Timeline/TimelinePin.js +4 -3
  43. package/dist/Timeline/TimelinePin.js.map +1 -1
  44. package/dist/Toolbar/ToolbarDividerItem.cjs +1 -1
  45. package/dist/Toolbar/ToolbarDividerItem.cjs.map +1 -1
  46. package/dist/Toolbar/ToolbarDividerItem.js +1 -1
  47. package/dist/Toolbar/ToolbarDividerItem.js.map +1 -1
  48. package/dist/Toolbar/ToolbarItem.cjs +1 -1
  49. package/dist/Toolbar/ToolbarItem.cjs.map +1 -1
  50. package/dist/Toolbar/ToolbarItem.js +2 -4
  51. package/dist/Toolbar/ToolbarItem.js.map +1 -1
  52. package/dist/index.cjs +1 -1
  53. package/dist/index.cjs.map +1 -1
  54. package/dist/types/Card/CardCategory.d.ts +6 -0
  55. package/dist/types/Forward/Forward.d.ts +1 -2
  56. package/dist/types/Grid/GridItemTextWrapper.d.ts +3 -1
  57. package/dist/types/Input/TextArea.d.ts +1 -1
  58. package/dist/types/ResponsiveImage/ResponsiveImage.d.ts +2 -0
  59. package/dist/types/Timeline/TimelinePin.d.ts +7 -1
  60. package/package.json +4 -3
  61. package/src/Card/CardCategory.tsx +16 -7
  62. package/src/Forward/Forward.tsx +15 -9
  63. package/src/Grid/GridItemTextWrapper.tsx +7 -4
  64. package/src/Input/TextArea.tsx +9 -3
  65. package/src/Input/utils.tsx +2 -2
  66. package/src/List/ListItem.tsx +3 -5
  67. package/src/ResponsiveImage/ResponsiveImage.tsx +32 -8
  68. package/src/ThumbNav/ThumbNavItem.tsx +0 -1
  69. package/src/Timeline/TimelinePin.tsx +13 -4
  70. package/src/Toolbar/ToolbarDividerItem.tsx +1 -1
  71. package/src/Toolbar/ToolbarItem.tsx +1 -4
@@ -1,2 +1,2 @@
1
- "use strict";var $=Object.create;var A=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var q=(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 z(t))!W.call(e,r)&&r!==n&&A(e,r,{get:()=>t[r],enumerable:!(o=U(t,r))||o.enumerable});return e};var O=(e,t,n)=>(n=e!=null?$(D(e)):{},h(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)),G=e=>h(A({},"__esModule",{value:!0}),e);var K={};q(K,{TextArea:()=>J});module.exports=G(K);var g=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:d,validationText:T,wrapperClass:u,hasButtonRight:f,buttonRight:b,hasIconLeft:c,iconLeft:l,children:p})=>f||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:d},T),f&&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:d},T));var x=O(require("classnames"),1),N=require("react");function C(e,t){let n=e??"";return t?n.split(" ").map(o=>t[o]??o).join(" "):n}function j({valid:e},t){return C((0,x.default)({"form-text":!0,"form-feedback just-validate-error-label":e==!1}),t)}function B(e,t,{isFocused:n,valid:o,bsSize:r,placeholder:a,value:i,label:d,validationText:T,normalized:u,inputPassword:f,formControlClass:b,validationTextControlClass:c,originalWrapperClass:l},p){let P=a||d||T,L=P&&!u&&!f,v=f&&!P&&!u,m=u&&!P&&!f,F=C((0,x.default)(e,{"is-invalid":o==!1,"just-validate-success-field":o,[`form-control-${r}`]:r},b),p),M=C((0,x.default)(e,l,"form-group"),p),S=C((0,x.default)({"valid-feedback":o,"invalid-feedback form-feedback just-validate-error-label":o==!1},c),p),w=C((0,x.default)(F,!L&&{"form-control-plaintext":m,"form-control":v,"input-password":v,"focus--mouse":v||m}),p),y=C((0,x.default)({active:n||a||i||["date","time"].includes(t)}),p),H=C((0,x.default)({"input-number-label":["number","currency","adaptive","percentage"].includes(t)}));return{wrapperClass:M,inputClasses:w,activeClass:y,extraLabelClass:H,validationTextClass:S}}function V({onFocus:e,onBlur:t}){let[n,o]=(0,N.useState)(!1),r=(0,N.useCallback)(i=>{o(!0),e?.(i)},[e]),a=(0,N.useCallback)(i=>{i.target.value===""&&o(!n),t?.(i)},[n,t]);return{toggleFocusLabel:r,toggleBlurLabel:a,isFocused:n}}var J=({id:e,className:t,cssModule:n,innerRef:o,label:r,validationText:a,infoText:i,placeholder:d,normalized:T,value:u,wrapperClassName:f,valid:b,testId:c,...l})=>{let{toggleFocusLabel:p,toggleBlurLabel:P,isFocused:L}=V({onFocus:l.onFocus,onBlur:l.onBlur}),v=j({valid:b},n),m={},F=e?`${e}Description`:void 0;e&&(m["aria-describedby"]=F);let{activeClass:M,extraLabelClass:S,validationTextClass:w,inputClasses:y,wrapperClass:H}=B(t,"textarea",{valid:b,placeholder:d,value:u,label:r,validationText:a,normalized:!!T,validationTextControlClass:v,isFocused:L,originalWrapperClass:f},n),k={id:e,onFocus:p,onBlur:P,value:u,ref:o},E={id:e,infoId:F,infoText:i,activeClass:M,extraLabelClass:S,label:r,validationTextClass:w,validationText:a,wrapperClass:H};return d?g.default.createElement(I,{...E},g.default.createElement("textarea",{...l,...m,...k,className:y,placeholder:d,"data-testid":c})):T?g.default.createElement(I,{...E},g.default.createElement("textarea",{...l,...m,...k,className:y,readOnly:!0,"data-testid":c})):r||a?g.default.createElement(I,{...E},g.default.createElement("textarea",{...l,...m,...k,className:y,"data-testid":c})):g.default.createElement("textarea",{...l,...m,className:y,...k,ref:o,"data-testid":c})};0&&(module.exports={TextArea});
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 g=O(require("react"),1);var a=O(require("react"),1),I=({id:e,infoId:t,infoText:n,testId:o,activeClass:r,extraLabelClass:s,label:i,validationTextClass:f,validationText:T,wrapperClass:u,hasButtonRight:m,buttonRight:b,hasIconLeft:c,iconLeft:l,children:p})=>m||c?a.default.createElement("div",{className:u,"data-testid":o},a.default.createElement("div",{className:"input-group"},c&&a.default.createElement("span",{className:"input-group-text"},l),a.default.createElement("label",{htmlFor:e,className:r+" "+s},i),p,n&&a.default.createElement("small",{id:t,className:"form-text"},n),a.default.createElement("div",{className:f},T),m&&a.default.createElement("div",{className:"input-group-append"},b))):a.default.createElement("div",{className:u,"data-testid":o},a.default.createElement("label",{htmlFor:e,className:r+" "+s},i),p,n&&a.default.createElement("small",{id:t,className:"form-text"},n),a.default.createElement("div",{className:f},T));var x=O(require("classnames"),1),N=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",addon:o,normalized:r}){let s="form-control";return e||t||r?`${s}-plaintext`:n==="file"?`${s}-file`:["radio","checkbox"].indexOf(n)>-1&&o?null:s}function j(e,t){return d(Q(e),t)}function B({valid:e},t){return d((0,x.default)({"form-text":!0,"form-feedback just-validate-error-label":e==!1}),t)}function V(e,t,{isFocused:n,valid:o,bsSize:r,placeholder:s,value:i,label:f,validationText:T,normalized:u,inputPassword:m,formControlClass:b,validationTextControlClass:c,originalWrapperClass:l},p){let P=s||f||T,L=P&&!u&&!m,v=m&&!P&&!u,C=u&&!P&&!m,S=d((0,x.default)(e,{"is-invalid":o==!1,"just-validate-success-field":o,[`form-control-${r}`]:r},b),p),F=d((0,x.default)(l,"form-group"),p),w=d((0,x.default)({"valid-feedback":o,"invalid-feedback form-feedback just-validate-error-label":o==!1},c),p),M=d((0,x.default)(S,!L&&{"form-control-plaintext":C,"form-control":v,"input-password":v,"focus--mouse":v||C}),p),H=d((0,x.default)({active:n||s||i||["date","time"].includes(t)}),p),y=d((0,x.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,N.useState)(!1),r=(0,N.useCallback)(i=>{o(!0),e?.(i)},[e]),s=(0,N.useCallback)(i=>{i.target.value===""&&o(!n),t?.(i)},[n,t]);return{toggleFocusLabel:r,toggleBlurLabel:s,isFocused:n}}var R=({id:e,className:t,cssModule:n,innerRef:o,label:r,validationText:s,infoText:i,placeholder:f,normalized:T,value:u,wrapperClassName:m,valid:b,testId:c,...l})=>{let{toggleFocusLabel:p,toggleBlurLabel:P,isFocused:L}=$({onFocus:l.onFocus,onBlur:l.onBlur}),v=B({valid:b},n),C={},S=j({},n),F=e?`${e}Description`:void 0;e&&(C["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:s,normalized:!!T,formControlClass:S,validationTextControlClass:v,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:s,wrapperClass:U};return f?g.default.createElement(I,{...E},g.default.createElement("textarea",{...l,...C,...k,className:y,placeholder:f,"data-testid":c})):T?g.default.createElement(I,{...E},g.default.createElement("textarea",{...l,...C,...k,className:y,readOnly:!0,"data-testid":c})):r||s?g.default.createElement(I,{...E},g.default.createElement("textarea",{...l,...C,...k,className:y,"data-testid":c})):g.default.createElement("textarea",{...l,...C,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, { Ref, ReactNode, TextareaHTMLAttributes } from 'react';\n\nimport { InputContainer } from './InputContainer';\nimport { getClasses, getValidationTextControlClass, useFocus } from './utils';\nimport type { CSSModule } from 'reactstrap/types/lib/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 // 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 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 { useState, useCallback } 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(className, 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":"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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","getValidationTextControlClass","valid","cssModule","mapToCssModules","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","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(\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":"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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","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,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputContainer } from './InputContainer';
3
- import { getClasses, getValidationTextControlClass, useFocus } from './utils';
3
+ import { getClasses, getFormControlClass, getValidationTextControlClass, useFocus } from './utils';
4
4
  export const TextArea = ({ id, className, cssModule, innerRef, label, validationText, infoText, placeholder, normalized, value, wrapperClassName: originalWrapperClass, valid, testId, ...attributes }) => {
5
5
  const { toggleFocusLabel, toggleBlurLabel, isFocused } = useFocus({
6
6
  onFocus: attributes.onFocus,
@@ -8,6 +8,8 @@ export const TextArea = ({ id, className, cssModule, innerRef, label, validation
8
8
  });
9
9
  const validationTextControlClass = getValidationTextControlClass({ valid }, cssModule);
10
10
  const extraAttributes = {};
11
+ //Chiamo questa funzione per impostare classNames a 'form-control'
12
+ const formControlClass = getFormControlClass({}, cssModule);
11
13
  // associate the input field with the help text
12
14
  const infoId = id ? `${id}Description` : undefined;
13
15
  if (id) {
@@ -21,6 +23,7 @@ export const TextArea = ({ id, className, cssModule, innerRef, label, validation
21
23
  label,
22
24
  validationText,
23
25
  normalized: Boolean(normalized),
26
+ formControlClass,
24
27
  validationTextControlClass,
25
28
  isFocused,
26
29
  originalWrapperClass
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../../src/Input/TextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,6BAA6B,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA8B9E,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,+CAA+C;IAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,IAAI,EAAE,EAAE,CAAC;QACP,eAAe,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;IAC/C,CAAC;IAED,UAAU;IACV,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,UAAU,CAClG,SAAS,EACT,UAAU,EACV;QACE,KAAK;QACL,WAAW;QACX,KAAK;QACL,KAAK;QACL,cAAc;QACd,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;QAC/B,0BAA0B;QAC1B,SAAS;QACT,oBAAoB;KACrB,EACD,SAAS,CACV,CAAC;IAEF,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG;QACvB,EAAE;QACF,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,eAAe;QACvB,KAAK;QACL,GAAG,EAAE,QAAQ;KACd,CAAC;IAEF,2DAA2D;IAC3D,MAAM,cAAc,GAAG;QACrB,EAAE;QACF,MAAM;QACN,QAAQ;QACR,WAAW;QACX,eAAe;QACf,KAAK;QACL,mBAAmB;QACnB,cAAc;QACd,YAAY;KACb,CAAC;IAEF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,oBAAC,cAAc,OAAK,cAAc;YAChC,qCACM,UAAU,KACV,eAAe,KACf,gBAAgB,EACpB,SAAS,EAAE,YAAY,EACvB,WAAW,EAAE,WAAW,iBACX,MAAM,GACnB,CACa,CAClB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL,oBAAC,cAAc,OAAK,cAAc;YAChC,qCACM,UAAU,KACV,eAAe,KACf,gBAAgB,EACpB,SAAS,EAAE,YAAY,EACvB,QAAQ,uBACK,MAAM,GACnB,CACa,CAClB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAC5B,OAAO,CACL,oBAAC,cAAc,OAAK,cAAc;YAChC,qCACM,UAAU,KACV,eAAe,KACf,gBAAgB,EACpB,SAAS,EAAE,YAAY,iBACV,MAAM,GACnB,CACa,CAClB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,qCACM,UAAU,KACV,eAAe,EACnB,SAAS,EAAE,YAAY,KACnB,gBAAgB,EACpB,GAAG,EAAE,QAAQ,iBACA,MAAM,GACnB,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../../src/Input/TextArea.tsx"],"names":[],"mappings":"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"}
@@ -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})},T=(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)):{},T(o||!t||!t.__esModule?u(e,"default",{value:t,enumerable:!0}):e,t)),V=t=>T(u({},"__esModule",{value:!0}),t);var W={};H(W,{getClasses:()=>D,getFormControlClass:()=>$,getTag:()=>B,getValidationTextControlClass:()=>z,useFocus:()=>N});module.exports=V(W);var a=M(require("classnames"),1),p=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",addon:n,normalized:r}){let i="form-control";return t||o||r?`${i}-plaintext`:e==="file"?`${i}-file`:["radio","checkbox"].indexOf(e)>-1&&n?null:i}function $(t,o){return s(U(t),o)}function z({valid:t},o){return s((0,a.default)({"form-text":!0,"form-feedback just-validate-error-label":t==!1}),o)}function B({tag:t,plaintext:o,staticInput:e,type:n="text"}){return t||(["radio","checkbox"].indexOf(n)>-1?"input":o||e?"p":"input")}function D(t,o,{isFocused:e,valid:n,bsSize:r,placeholder:i,value:l,label:y,validationText:P,normalized:f,inputPassword:d,formControlClass:b,validationTextControlClass:g,originalWrapperClass:k},c){let C=i||y||P,v=C&&!f&&!d,m=d&&!C&&!f,x=f&&!C&&!d,F=s((0,a.default)(t,{"is-invalid":n==!1,"just-validate-success-field":n,[`form-control-${r}`]:r},b),c),I=s((0,a.default)(t,k,"form-group"),c),w=s((0,a.default)({"valid-feedback":n,"invalid-feedback form-feedback just-validate-error-label":n==!1},g),c),S=s((0,a.default)(F,!v&&{"form-control-plaintext":x,"form-control":m,"input-password":m,"focus--mouse":m||x}),c),O=s((0,a.default)({active:e||i||l||["date","time"].includes(o)}),c),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 N({onFocus:t,onBlur:o}){let[e,n]=(0,p.useState)(!1),r=(0,p.useCallback)(l=>{n(!0),t?.(l)},[t]),i=(0,p.useCallback)(l=>{l.target.value===""&&n(!e),o?.(l)},[e,o]);return{toggleFocusLabel:r,toggleBlurLabel:i,isFocused:e}}0&&(module.exports={getClasses,getFormControlClass,getTag,getValidationTextControlClass,useFocus});
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})},T=(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)):{},T(o||!t||!t.__esModule?u(e,"default",{value:t,enumerable:!0}):e,t)),V=t=>T(u({},"__esModule",{value:!0}),t);var W={};H(W,{getClasses:()=>B,getFormControlClass:()=>$,getTag:()=>z,getValidationTextControlClass:()=>N,useFocus:()=>D});module.exports=V(W);var i=M(require("classnames"),1),p=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",addon:n,normalized:r}){let a="form-control";return t||o||r?`${a}-plaintext`:e==="file"?`${a}-file`:["radio","checkbox"].indexOf(e)>-1&&n?null:a}function $(t,o){return s(U(t),o)}function N({valid:t},o){return s((0,i.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:a,value:l,label:y,validationText:P,normalized:f,inputPassword:d,formControlClass:b,validationTextControlClass:g,originalWrapperClass:k},c){let C=a||y||P,v=C&&!f&&!d,m=d&&!C&&!f,x=f&&!C&&!d,F=s((0,i.default)(t,{"is-invalid":n==!1,"just-validate-success-field":n,[`form-control-${r}`]:r},b),c),I=s((0,i.default)(k,"form-group"),c),w=s((0,i.default)({"valid-feedback":n,"invalid-feedback form-feedback just-validate-error-label":n==!1},g),c),S=s((0,i.default)(F,!v&&{"form-control-plaintext":x,"form-control":m,"input-password":m,"focus--mouse":m||x}),c),O=s((0,i.default)({active:e||a||l||["date","time"].includes(o)}),c),A=s((0,i.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,p.useState)(!1),r=(0,p.useCallback)(l=>{n(!0),t?.(l)},[t]),a=(0,p.useCallback)(l=>{l.target.value===""&&n(!e),o?.(l)},[e,o]);return{toggleFocusLabel:r,toggleBlurLabel:a,isFocused:e}}0&&(module.exports={getClasses,getFormControlClass,getTag,getValidationTextControlClass,useFocus});
2
2
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Input/utils.tsx","../../src/utils.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { useState, useCallback } 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(className, 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":"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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","addon","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"]}
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, '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,gBAAAE,EAAA,wBAAAC,EAAA,WAAAC,EAAA,kCAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAP,GAAA,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,CAEO,SAASK,EAAO,CAAE,IAAAC,EAAK,UAAAd,EAAW,YAAAC,EAAa,KAAAC,EAAO,MAAO,EAAwC,CAC1G,OAAIY,IAGA,CAAC,QAAS,UAAU,EAAE,QAAQZ,CAAI,EAAI,GACjC,QAELF,GAAaC,EACR,IAEF,QACT,CAWO,SAASc,EACdC,EACAd,EACA,CACE,UAAAe,EACA,MAAAN,EACA,OAAAO,EACA,YAAAC,EACA,MAAAC,EACA,MAAAC,EACA,eAAAC,EACA,WAAAlB,EACA,cAAAmB,EACA,iBAAAlB,EACA,2BAAAmB,EACA,qBAAAC,CACF,EACAjB,EACA,CACA,IAAMkB,EAAoBP,GAAeE,GAASC,EAC5CK,EAAgBD,GAAqB,CAACtB,GAAc,CAACmB,EACrDK,EAAwBL,GAAiB,CAACG,GAAqB,CAACtB,EAChEyB,EAA0BzB,GAAc,CAACsB,GAAqB,CAACH,EAE/DO,EAAUrB,KACd,EAAAG,SACEI,EACA,CACE,aAAcL,GAAS,GACvB,8BAA+BA,EAC/B,CAAC,gBAAgBO,CAAM,EAAE,EAAGA,CAC9B,EACAb,CACF,EACAG,CACF,EACMuB,EAAetB,KAAgB,EAAAG,SAAWa,EAAsB,YAAY,EAAGjB,CAAS,EACxFwB,EAAsBvB,KAC1B,EAAAG,SACE,CACE,iBAAkBD,EAClB,2DAA4DA,GAAS,EACvE,EACAa,CACF,EACAhB,CACF,EAEMyB,EAAexB,KACnB,EAAAG,SACEkB,EACA,CAACH,GAAiB,CAEhB,yBAA0BE,EAC1B,eAAgBD,EAChB,iBAAkBA,EAClB,eAAgBA,GAAyBC,CAC3C,CACF,EACArB,CACF,EAEM0B,EAAczB,KAClB,EAAAG,SAAW,CACT,OAAQK,GAAaE,GAAeC,GAAS,CAAC,OAAQ,MAAM,EAAE,SAASlB,CAAI,CAC7E,CAAC,EACDM,CACF,EAEM2B,EAAkB1B,KACtB,EAAAG,SAAW,CACT,qBAAsB,CAAC,SAAU,WAAY,WAAY,YAAY,EAAE,SAASV,CAAI,CACtF,CAAC,CACH,EAEA,MAAO,CACL,aAAA6B,EACA,aAAAE,EACA,YAAAC,EACA,gBAAAC,EACA,oBAAAH,CACF,CACF,CAEO,SAASI,EAA2D,CACzE,QAAAC,EACA,OAAAC,CACF,EAGG,CACD,GAAM,CAACrB,EAAWsB,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,CAACtB,CAAS,EAErBqB,IAASG,CAAC,CACZ,EACA,CAACxB,EAAWqB,CAAM,CACpB,EAEA,MAAO,CAAE,iBAAAE,EAAkB,gBAAAE,EAAiB,UAAAzB,CAAU,CACxD","names":["utils_exports","__export","getClasses","getFormControlClass","getTag","getValidationTextControlClass","useFocus","__toCommonJS","import_classnames","import_react","mapToCssModules","className","cssModules","finalClassNames","klass","getFormControlClassInternal","plaintext","staticInput","type","addon","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"]}
@@ -1,5 +1,5 @@
1
1
  import classNames from 'classnames';
2
- import { useState, useCallback } from 'react';
2
+ import { useCallback, useState } from 'react';
3
3
  import { mapToCssModules } from '../utils';
4
4
  function getFormControlClassInternal({ plaintext, staticInput, type = 'text', addon, normalized }) {
5
5
  const formControlClass = 'form-control';
@@ -47,7 +47,7 @@ export function getClasses(className, type, { isFocused, valid, bsSize, placehol
47
47
  'just-validate-success-field': valid,
48
48
  [`form-control-${bsSize}`]: bsSize
49
49
  }, formControlClass), cssModule);
50
- const wrapperClass = mapToCssModules(classNames(className, originalWrapperClass, 'form-group'), cssModule);
50
+ const wrapperClass = mapToCssModules(classNames(originalWrapperClass, 'form-group'), cssModule);
51
51
  const validationTextClass = mapToCssModules(classNames({
52
52
  'valid-feedback': valid,
53
53
  'invalid-feedback form-feedback just-validate-error-label': valid == false
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/Input/utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/Input/utils.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var I=Object.create;var l=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var C=(t,e)=>{for(var s in e)l(t,s,{get:e[s],enumerable:!0})},A=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of b(e))!y.call(t,a)&&a!==s&&l(t,a,{get:()=>e[a],enumerable:!(o=h(e,a))||o.enumerable});return t};var T=(t,e,s)=>(s=t!=null?I(x(t)):{},A(e||!t||!t.__esModule?l(s,"default",{value:t,enumerable:!0}):s,t)),E=t=>A(l({},"__esModule",{value:!0}),t);var H={};C(H,{ListItem:()=>f});module.exports=E(H);var r=T(require("classnames"),1),i=T(require("react"),1),f=({className:t,active:e,avatar:s,icon:o,img:a,href:n,tag:v="div",to:L,wrapperClassName:m,testId:c,children:p,...d})=>{let N=v,g=(0,r.default)(t,{active:e},"list-item"),M=(0,r.default)(t,{"it-rounded-icon":o,"avatar size-lg":s,"it-thumb":a}),u=o||s||a;return n?i.default.createElement("li",{className:m,"data-testid":c},i.default.createElement(N,null,i.default.createElement("a",{href:n||"#",...d,className:g},p))):i.default.createElement("li",{className:m,"data-testid":c},i.default.createElement(N,{...d,className:g,href:n,to:L},u&&i.default.createElement("div",{className:M},u),i.default.createElement("div",{className:"it-right-zone"},p)))},F=({children:t})=>i.default.createElement("span",{className:"it-multiple"},t);f.MultipleAction=F;0&&(module.exports={ListItem});
1
+ "use strict";var h=Object.create;var l=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var z=(t,e)=>{for(var s in e)l(t,s,{get:e[s],enumerable:!0})},u=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of b(e))!y.call(t,a)&&a!==s&&l(t,a,{get:()=>e[a],enumerable:!(o=I(e,a))||o.enumerable});return t};var v=(t,e,s)=>(s=t!=null?h(x(t)):{},u(e||!t||!t.__esModule?l(s,"default",{value:t,enumerable:!0}):s,t)),C=t=>u(l({},"__esModule",{value:!0}),t);var F={};z(F,{ListItem:()=>A});module.exports=C(F);var r=v(require("classnames"),1),i=v(require("react"),1),A=({className:t,active:e,avatar:s,icon:o,img:a,href:n,tag:f="div",to:L,wrapperClassName:m,testId:c,children:d,...p})=>{let M=f,N=(0,r.default)(t,{active:e},"list-item"),T=(0,r.default)(t,{"it-rounded-icon":o,"avatar size-lg":s,"it-thumb":a}),g=o||s||a;return n?i.default.createElement("li",{className:m,"data-testid":c},i.default.createElement("a",{href:n||"#",...p,className:N},i.default.createElement("div",{className:"it-right-zone"},d))):i.default.createElement("li",{className:m,"data-testid":c},i.default.createElement(M,{...p,className:N,href:n,to:L},g&&i.default.createElement("div",{className:T},g),i.default.createElement("div",{className:"it-right-zone"},d)))},E=({children:t})=>i.default.createElement("span",{className:"it-multiple"},t);A.MultipleAction=E;0&&(module.exports={ListItem});
2
2
  //# sourceMappingURL=ListItem.cjs.map
@@ -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 const Tag = tag;\n const classes = classNames(\n className,\n { active },\n 'list-item'\n ),\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 <Tag>\n <a href={href || '#'} {...attributes} className={classes}>\n {children}\n </a>\n </Tag>\n </li>\n );\n }\n\n return (\n <li className={wrapperClassName} data-testid={testId}>\n <Tag\n {...attributes}\n className={classes}\n href={href}\n to={to}\n >\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,CACF,IAAMC,EAAMN,EACNO,KAAU,EAAAC,SACdd,EACA,CAAE,OAAAC,CAAO,EACT,WACF,EACEc,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,cAACL,EAAA,KACC,EAAAK,QAAA,cAAC,KAAE,KAAMZ,GAAQ,IAAM,GAAGM,EAAY,UAAWE,GAC9CH,CACH,CACF,CACF,EAKF,EAAAO,QAAA,cAAC,MAAG,UAAWT,EAAkB,cAAaC,GAC5C,EAAAQ,QAAA,cAACL,EAAA,CACE,GAAGD,EACJ,UAAWE,EACX,KAAMR,EACN,GAAIE,GAEHS,GAAY,EAAAC,QAAA,cAAC,OAAI,UAAWF,GAAcC,CAAS,EACpD,EAAAC,QAAA,cAAC,OAAI,UAAU,iBAAiBP,CAAS,CAC3C,CACF,CAEJ,EAEIQ,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"]}
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(\n className,\n { active },\n 'list-item'\n ),\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\n {...attributes}\n className={classes}\n href={href}\n to={to}\n >\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,CACF,IAAMC,EAAMN,EACNO,KAAU,EAAAC,SACdd,EACA,CAAE,OAAAC,CAAO,EACT,WACF,EACEc,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,CACE,GAAGD,EACJ,UAAWE,EACX,KAAMR,EACN,GAAIE,GAEHS,GAAY,EAAAC,QAAA,cAAC,OAAI,UAAWF,GAAcC,CAAS,EACpD,EAAAC,QAAA,cAAC,OAAI,UAAU,iBAAiBP,CAAS,CAC3C,CACF,CAEJ,EAEIQ,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"]}
@@ -9,8 +9,8 @@ export const ListItem = ({ className, active, avatar, icon, img, href, tag = 'di
9
9
  }), leftItem = icon || avatar || img;
10
10
  if (href) {
11
11
  return (React.createElement("li", { className: wrapperClassName, "data-testid": testId },
12
- React.createElement(Tag, null,
13
- React.createElement("a", { href: href || '#', ...attributes, className: classes }, children))));
12
+ React.createElement("a", { href: href || '#', ...attributes, className: classes },
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 },
@@ -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;IACD,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,OAAO,GAAG,UAAU,CACxB,SAAS,EACT,EAAE,MAAM,EAAE,EACV,WAAW,CACZ,EACC,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,oBAAC,GAAG;gBACF,2BAAG,IAAI,EAAE,IAAI,IAAI,GAAG,KAAM,UAAU,EAAE,SAAS,EAAE,OAAO,IACrD,QAAQ,CACP,CACA,CACH,CACN,CAAC;IACJ,CAAC;IAED,OAAO,CACL,4BAAI,SAAS,EAAE,gBAAgB,iBAAe,MAAM;QAClD,oBAAC,GAAG,OACE,UAAU,EACd,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE;YAEL,QAAQ,IAAI,6BAAK,SAAS,EAAE,WAAW,IAAG,QAAQ,CAAO;YAC1D,6BAAK,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAO,CAC3C,CACH,CACN,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzD,OAAO,8BAAM,SAAS,EAAC,aAAa,IAAE,QAAQ,CAAQ,CAAA;AACxD,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC"}
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;IACD,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,OAAO,GAAG,UAAU,CACxB,SAAS,EACT,EAAE,MAAM,EAAE,EACV,WAAW,CACZ,EACC,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,OACE,UAAU,EACd,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE;YAEL,QAAQ,IAAI,6BAAK,SAAS,EAAE,WAAW,IAAG,QAAQ,CAAO;YAC1D,6BAAK,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAO,CAC3C,CACH,CACN,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzD,OAAO,8BAAM,SAAS,EAAC,aAAa,IAAE,QAAQ,CAAQ,CAAA;AACxD,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC"}