@laerdal/life-react-components 1.8.0-dev.21 → 1.8.0-dev.22
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/dist/Button/Iconbutton.cjs +5 -7
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +0 -2
- package/dist/Button/Iconbutton.js +5 -7
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/ChipsInput/ChipInputField.cjs +3 -2
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.js +3 -2
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +2 -0
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +2 -0
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +2 -0
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.d.ts +1 -1
- package/dist/Dropdown/DropdownFilter.js +2 -0
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +3 -2
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.js +3 -2
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/Label.cjs +14 -24
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.js +16 -24
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +7 -9
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +7 -9
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +1 -1
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.js +1 -1
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +3 -2
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +3 -2
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/TextField.cjs +16 -26
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +1 -3
- package/dist/InputFields/TextField.js +18 -27
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +20 -26
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.d.ts +11 -1
- package/dist/InputFields/Textarea.js +24 -31
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.js +1 -1
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs +1 -1
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.js +1 -1
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/styling.cjs +13 -15
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +1 -4
- package/dist/InputFields/styling.js +10 -13
- package/dist/InputFields/styling.js.map +1 -1
- package/package.json +1 -1
- package/dist/InputFields/types.cjs +0 -6
- package/dist/InputFields/types.cjs.map +0 -1
- package/dist/InputFields/types.d.ts +0 -38
- package/dist/InputFields/types.js +0 -2
- package/dist/InputFields/types.js.map +0 -1
|
@@ -75,7 +75,9 @@ var QuickSearch = function QuickSearch(_ref) {
|
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
var handleSearchIconAction = function handleSearchIconAction(e) {
|
|
78
|
-
if (
|
|
78
|
+
if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible) {
|
|
79
|
+
enterSearch(searchTerm);
|
|
80
|
+
} else {
|
|
79
81
|
setSearchFieldVisible({
|
|
80
82
|
visible: !searchFieldVisible.visible,
|
|
81
83
|
focus: !searchFieldVisible.visible && (e === null || e === void 0 ? void 0 : e.detail) !== 1
|
|
@@ -138,7 +140,6 @@ var QuickSearch = function QuickSearch(_ref) {
|
|
|
138
140
|
role: "button",
|
|
139
141
|
"aria-label": performSearchLabel,
|
|
140
142
|
children: /*#__PURE__*/_jsx(IconButton, {
|
|
141
|
-
shouldNotInteract: searchFieldVisible === null || searchFieldVisible === void 0 ? void 0 : searchFieldVisible.visible,
|
|
142
143
|
id: "".concat(id, "_Searchbutton"),
|
|
143
144
|
variant: "secondary",
|
|
144
145
|
shape: "circular",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/InputFields/QuickSearch.tsx"],"names":["React","styled","IconButton","SearchIconWrapper","StyledIcon","Size","COLORS","LoadingIndicator","Search","SearchIcon","Clear","ClearIcon","SearchBarInput","SearchField","StyledSearchField","Wrapper","div","white","neutral_400","primary_800","QuickSearch","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","searchFieldRef","useRef","searchFieldInputRef","useState","visible","searchFieldVisible","setSearchFieldVisible","handleClickOutside","e","current","contains","target","length","handleKeyDown","key","handleBlur","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","focusVisible","term","neutral_300","neutral_600","Small"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport IconButton from '../Button/Iconbutton';\nimport { SearchIconWrapper, StyledIcon } from './styling';\nimport { Size } from '../types';\nimport { COLORS, LoadingIndicator } from '..';\nimport { Search as SearchIcon, Clear as ClearIcon } from '../icons/systemicons/SystemIcons';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField, { StyledSearchField } from './components/SearchField';\n\nconst Wrapper = styled.div`\n width: 100%;\n\n ${StyledSearchField} {\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n\n &.expanded {\n width: 100%;\n }\n\n box-shadow: none;\n\n &:hover {\n box-shadow: none;\n }\n\n &.expanded {\n background-color: ${COLORS.white};\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\n }\n\n &.expanded:hover,\n &.expanded:focus-within {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\n }\n }\n`;\n\ntype QuickSearchProps = {\n id: string;\n searchTerm?: string;\n setSearchTerm: (term: string) => void;\n enterSearch: (e: any) => void;\n removeSearch: (e: any) => void;\n placeholder?: string;\n performSearchLabel?: string;\n disabled?: boolean;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: Size.Small | Size.Medium;\n margin?: string;\n loading?: boolean;\n};\n\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n onKeyDown,\n size,\n margin,\n loading,\n}: QuickSearchProps) => {\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\n\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean; focus?: boolean }>({\n visible: false,\n });\n\n const handleClickOutside = (e: any) => {\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({ visible: false });\n }\n }\n };\n\n const handleKeyDown = (e: any) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Escape') {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({ visible: false });\n }\n }\n };\n\n const handleBlur = (e: any) => {\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\n setSearchFieldVisible({ visible: false });\n }\n };\n\n const handleSearchIconAction = (e: any) => {\n if (!searchFieldVisible?.visible) {\n setSearchFieldVisible({\n visible: !searchFieldVisible.visible,\n focus: !searchFieldVisible.visible && e?.detail !== 1,\n });\n }\n };\n\n // set search field visibility on search term change\n React.useEffect(() => {\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\n setSearchFieldVisible({ visible: true, focus: false });\n }\n }, [searchTerm, searchFieldVisible]);\n\n // register click outside handler\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n // focus search input on visibility change\n React.useEffect(() => {\n if (searchFieldVisible?.visible) {\n searchFieldInputRef?.current?.focus({ focusVisible: searchFieldVisible.focus } as any);\n }\n }, [searchFieldVisible.visible, searchFieldInputRef]);\n\n return (\n <Wrapper>\n <SearchField\n ref={searchFieldRef}\n id={id}\n size={size}\n searchTerm={searchTerm}\n style={{\n margin: margin,\n }}\n onBlur={handleBlur}\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\n {searchFieldVisible?.visible && (\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n ref={searchFieldInputRef}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n size={size}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n enterSearch={enterSearch}\n focusParentRefs={[searchFieldRef]}\n />\n )}\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\n <IconButton\n shouldNotInteract={searchFieldVisible?.visible}\n id={`${id}_Searchbutton`}\n variant=\"secondary\"\n shape=\"circular\"\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\n action={handleSearchIconAction}>\n <SearchIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600} />\n </IconButton>\n </SearchIconWrapper>\n <StyledIcon className={size ? size : ''} role=\"button\" hidden={!searchTerm || !searchFieldVisible?.visible}>\n <IconButton\n id={`${id}_Clearicon`}\n variant=\"secondary\"\n shape=\"circular\"\n action={(e) => {\n removeSearch(e);\n searchFieldInputRef?.current?.focus();\n }}>\n <ClearIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600} />\n </IconButton>\n </StyledIcon>\n {loading && searchFieldVisible?.visible && (\n <StyledIcon className={size ? size : ''}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\n </StyledIcon>\n )}\n </SearchField>\n </Wrapper>\n );\n};\n\nexport default QuickSearch;\n"],"file":"QuickSearch.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/QuickSearch.tsx"],"names":["React","styled","IconButton","SearchIconWrapper","StyledIcon","Size","COLORS","LoadingIndicator","Search","SearchIcon","Clear","ClearIcon","SearchBarInput","SearchField","StyledSearchField","Wrapper","div","white","neutral_400","primary_800","QuickSearch","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","searchFieldRef","useRef","searchFieldInputRef","useState","visible","searchFieldVisible","setSearchFieldVisible","handleClickOutside","e","current","contains","target","length","handleKeyDown","key","handleBlur","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","focusVisible","term","neutral_300","neutral_600","Small"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport IconButton from '../Button/Iconbutton';\nimport {SearchIconWrapper, StyledIcon} from './styling';\nimport {Size} from '../types';\nimport {COLORS, LoadingIndicator} from '..';\nimport {Search as SearchIcon, Clear as ClearIcon} from '../icons/systemicons/SystemIcons';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField, {StyledSearchField} from './components/SearchField';\n\nconst Wrapper = styled.div`\n width: 100%;\n\n ${StyledSearchField} {\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n\n &.expanded {\n width: 100%;\n }\n\n box-shadow: none;\n\n &:hover {\n box-shadow: none;\n }\n\n &.expanded {\n background-color: ${COLORS.white};\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\n }\n\n &.expanded:hover,\n &.expanded:focus-within {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\n }\n }\n`;\n\ntype QuickSearchProps = {\n id: string;\n searchTerm?: string;\n setSearchTerm: (term: string) => void;\n enterSearch: (e: any) => void;\n removeSearch: (e: any) => void;\n placeholder?: string;\n performSearchLabel?: string;\n disabled?: boolean;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: Size.Small | Size.Medium;\n margin?: string;\n loading?: boolean;\n};\n\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n onKeyDown,\n size,\n margin,\n loading,\n }: QuickSearchProps) => {\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\n\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean, focus?: boolean }>({\n visible: false\n });\n\n const handleClickOutside = (e: any) => {\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({visible: false});\n }\n }\n };\n\n const handleKeyDown = (e: any) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Escape') {\n if (searchFieldVisible?.visible && !searchTerm?.length) {\n setSearchFieldVisible({visible: false});\n }\n }\n };\n\n const handleBlur = (e: any) => {\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\n setSearchFieldVisible({visible: false});\n }\n };\n\n const handleSearchIconAction = (e: any) => {\n if (searchFieldVisible?.visible) {\n enterSearch(searchTerm);\n } else {\n setSearchFieldVisible({\n visible: !searchFieldVisible.visible,\n focus: !searchFieldVisible.visible && e?.detail !== 1\n });\n }\n };\n\n // set search field visibility on search term change\n React.useEffect(() => {\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\n setSearchFieldVisible({visible: true, focus: false});\n }\n }, [searchTerm, searchFieldVisible]);\n\n // register click outside handler\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n // focus search input on visibility change\n React.useEffect(() => {\n if (searchFieldVisible?.visible) {\n searchFieldInputRef?.current?.focus({focusVisible: searchFieldVisible.focus} as any);\n }\n }, [searchFieldVisible.visible, searchFieldInputRef]);\n\n\n return (\n <Wrapper>\n <SearchField ref={searchFieldRef}\n id={id}\n size={size}\n searchTerm={searchTerm}\n style={{\n margin: margin,\n }}\n onBlur={handleBlur}\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\n {searchFieldVisible?.visible && (\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n ref={searchFieldInputRef}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n size={size}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n enterSearch={enterSearch}\n focusParentRefs={[searchFieldRef]}\n />\n )}\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\n <IconButton\n id={`${id}_Searchbutton`}\n variant=\"secondary\"\n shape=\"circular\"\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\n action={handleSearchIconAction}>\n <SearchIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600}/>\n </IconButton>\n </SearchIconWrapper>\n <StyledIcon className={size ? size : ''} role=\"button\"\n hidden={!searchTerm || !searchFieldVisible?.visible}>\n <IconButton\n id={`${id}_Clearicon`}\n variant=\"secondary\"\n shape=\"circular\"\n action={(e) => {\n removeSearch(e);\n searchFieldInputRef?.current?.focus();\n }}>\n <ClearIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600}/>\n </IconButton>\n </StyledIcon>\n {loading && searchFieldVisible?.visible && (\n <StyledIcon className={size ? size : ''}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600}/>\n </StyledIcon>\n )}\n </SearchField>\n </Wrapper>\n )\n};\n\nexport default QuickSearch;\n"],"file":"QuickSearch.js"}
|
|
@@ -17,8 +17,6 @@ var _SystemIcons = require("../icons/systemicons/SystemIcons");
|
|
|
17
17
|
|
|
18
18
|
var _styles = require("../styles");
|
|
19
19
|
|
|
20
|
-
var _types = require("../types");
|
|
21
|
-
|
|
22
20
|
var _styling = require("./styling");
|
|
23
21
|
|
|
24
22
|
var _common = require("../common");
|
|
@@ -46,11 +44,10 @@ var TextField = function TextField(_ref) {
|
|
|
46
44
|
state = _ref.state,
|
|
47
45
|
size = _ref.size,
|
|
48
46
|
_ref$margin = _ref.margin,
|
|
49
|
-
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin
|
|
50
|
-
note = _ref.note;
|
|
47
|
+
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin;
|
|
51
48
|
var elementRef = (0, _common.useFocusVisibleRef)();
|
|
52
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
53
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
49
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
50
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.InputWrapper, {
|
|
54
51
|
readOnly: readOnly,
|
|
55
52
|
disabled: disabled,
|
|
56
53
|
margin: margin,
|
|
@@ -59,15 +56,15 @@ var TextField = function TextField(_ref) {
|
|
|
59
56
|
e.preventDefault();
|
|
60
57
|
}
|
|
61
58
|
},
|
|
62
|
-
children:
|
|
59
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.InputFieldStyling, {
|
|
63
60
|
id: id,
|
|
64
61
|
ref: elementRef,
|
|
65
62
|
type: type || 'text',
|
|
66
63
|
value: value,
|
|
67
|
-
className: "".concat(state ||
|
|
64
|
+
className: "".concat(state || '', " ").concat(size || ''),
|
|
68
65
|
tabIndex: readOnly || disabled ? -1 : 0,
|
|
69
66
|
autoComplete: autoComplete,
|
|
70
|
-
placeholder:
|
|
67
|
+
placeholder: placeholder,
|
|
71
68
|
disabled: disabled,
|
|
72
69
|
readOnly: readOnly,
|
|
73
70
|
onChange: function onChange(e) {
|
|
@@ -75,28 +72,21 @@ var TextField = function TextField(_ref) {
|
|
|
75
72
|
|
|
76
73
|
return _onChange && _onChange((e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || '');
|
|
77
74
|
},
|
|
78
|
-
activeErrorMessage: !!validationMessage
|
|
75
|
+
activeErrorMessage: !!validationMessage,
|
|
79
76
|
required: required,
|
|
80
77
|
pattern: pattern,
|
|
81
78
|
maxLength: maxLength,
|
|
82
79
|
withoutBorder: withoutBorder
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
children: validationMessage
|
|
92
|
-
})]
|
|
93
|
-
}), note && !disabled && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.NoteMessage, {
|
|
94
|
-
className: size,
|
|
95
|
-
children: [note.icon, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
96
|
-
children: note.message
|
|
97
|
-
})]
|
|
80
|
+
})
|
|
81
|
+
}), validationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ErrorMessage, {
|
|
82
|
+
className: size || '',
|
|
83
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
|
|
84
|
+
size: "20px",
|
|
85
|
+
color: _styles.COLORS.critical_400
|
|
86
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
87
|
+
children: validationMessage
|
|
98
88
|
})]
|
|
99
|
-
})
|
|
89
|
+
})]
|
|
100
90
|
});
|
|
101
91
|
};
|
|
102
92
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["TextField","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["TextField","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","elementRef","e","preventDefault","target","COLORS","critical_400"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;AAqBA,IAAMA,SAAS,GAAG,SAAZA,SAAY,OAiBI;AAAA,MAhBpBC,EAgBoB,QAhBpBA,EAgBoB;AAAA,MAfpBC,QAeoB,QAfpBA,QAeoB;AAAA,MAdpBC,QAcoB,QAdpBA,QAcoB;AAAA,MAbpBC,SAaoB,QAbpBA,QAaoB;AAAA,MAZpBC,KAYoB,QAZpBA,KAYoB;AAAA,MAXpBC,iBAWoB,QAXpBA,iBAWoB;AAAA,MAVpBC,IAUoB,QAVpBA,IAUoB;AAAA,MATpBC,YASoB,QATpBA,YASoB;AAAA,MARpBC,WAQoB,QARpBA,WAQoB;AAAA,MAPpBC,QAOoB,QAPpBA,QAOoB;AAAA,MANpBC,OAMoB,QANpBA,OAMoB;AAAA,MALpBC,SAKoB,QALpBA,SAKoB;AAAA,MAJpBC,aAIoB,QAJpBA,aAIoB;AAAA,MAHpBC,KAGoB,QAHpBA,KAGoB;AAAA,MAFpBC,IAEoB,QAFpBA,IAEoB;AAAA,yBADpBC,MACoB;AAAA,MADpBA,MACoB,4BADX,OACW;AACpB,MAAMC,UAAU,GAAG,iCAAnB;AAEA,sBACE;AAAA,4BACE,qBAAC,qBAAD;AACE,MAAA,QAAQ,EAAEd,QADZ;AAEE,MAAA,QAAQ,EAAED,QAFZ;AAGE,MAAA,MAAM,EAAEc,MAHV;AAIE,MAAA,OAAO,EAAE,iBAACE,CAAD,EAAY;AACnB,YAAIhB,QAAQ,IAAIC,QAAhB,EAA0B;AACxBe,UAAAA,CAAC,CAACC,cAAF;AACD;AACF,OARH;AAAA,6BASE,qBAAC,0BAAD;AACE,QAAA,EAAE,EAAElB,EADN;AAEE,QAAA,GAAG,EAAEgB,UAFP;AAGE,QAAA,IAAI,EAAEV,IAAI,IAAI,MAHhB;AAIE,QAAA,KAAK,EAAEF,KAJT;AAKE,QAAA,SAAS,YAAKS,KAAK,IAAI,EAAd,cAAoBC,IAAI,IAAI,EAA5B,CALX;AAME,QAAA,QAAQ,EAAEZ,QAAQ,IAAID,QAAZ,GAAuB,CAAC,CAAxB,GAA4B,CANxC;AAOE,QAAA,YAAY,EAAEM,YAPhB;AAQE,QAAA,WAAW,EAAEC,WARf;AASE,QAAA,QAAQ,EAAEP,QATZ;AAUE,QAAA,QAAQ,EAAEC,QAVZ;AAWE,QAAA,QAAQ,EAAE,kBAACe,CAAD;AAAA;;AAAA,iBAAYd,SAAQ,IAAIA,SAAQ,CAAC,CAAAc,CAAC,SAAD,IAAAA,CAAC,WAAD,yBAAAA,CAAC,CAAEE,MAAH,wDAAWf,KAAX,KAAoB,EAArB,CAAhC;AAAA,SAXZ;AAYE,QAAA,kBAAkB,EAAE,CAAC,CAACC,iBAZxB;AAaE,QAAA,QAAQ,EAAEI,QAbZ;AAcE,QAAA,OAAO,EAAEC,OAdX;AAeE,QAAA,SAAS,EAAEC,SAfb;AAgBE,QAAA,aAAa,EAAEC;AAhBjB;AATF,MADF,EA6BGP,iBAAiB,iBAChB,sBAAC,qBAAD;AAAc,MAAA,SAAS,EAAES,IAAI,IAAI,EAAjC;AAAA,8BACE,qBAAC,6BAAD;AAAkB,QAAA,IAAI,EAAC,MAAvB;AAA8B,QAAA,KAAK,EAAEM,eAAOC;AAA5C,QADF,eAEE;AAAA,kBAAOhB;AAAP,QAFF;AAAA,MA9BJ;AAAA,IADF;AAsCD,CA1DD;;;AAlBEL,EAAAA,E;AACAC,EAAAA,Q;AACAC,EAAAA,Q;AACAC,EAAAA,Q;AACAC,EAAAA,K;AACAC,EAAAA,iB;AACAC,EAAAA,I;AAEAC,EAAAA,Y;AACAC,EAAAA,W;AACAC,EAAAA,Q;AACAC,EAAAA,O;AACAC,EAAAA,S;AACAC,EAAAA,a;AAEAG,EAAAA,M;;eA+DahB,S","sourcesContent":["import * as React from 'react';\nimport { TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { COLORS } from '../styles';\nimport {Size, States} from '../types';\nimport { ErrorMessage, InputFieldStyling, InputWrapper} from './styling';\nimport {useFocusVisibleRef} from '../common';\n\ntype TextFieldProps = {\n id: string;\n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (text: string) => void;\n value?: string;\n validationMessage?: string;\n type?: string;\n state?: States.Invalid | States.Valid;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n pattern?: string;\n maxLength?: number;\n withoutBorder?: boolean;\n size?: Size.Small | Size.Medium;\n margin?: string;\n};\n\nconst TextField = ({\n id,\n disabled,\n readOnly,\n onChange,\n value,\n validationMessage,\n type,\n autoComplete,\n placeholder,\n required,\n pattern,\n maxLength,\n withoutBorder,\n state,\n size,\n margin = '4px 0',\n}: TextFieldProps) => {\n const elementRef = useFocusVisibleRef();\n\n return (\n <>\n <InputWrapper\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onClick={(e: any) => {\n if (disabled || readOnly) {\n e.preventDefault();\n }\n }}>\n <InputFieldStyling\n id={id}\n ref={elementRef}\n type={type || 'text'}\n value={value}\n className={`${state || ''} ${size || ''}`}\n tabIndex={readOnly || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeErrorMessage={!!validationMessage}\n required={required}\n pattern={pattern}\n maxLength={maxLength}\n withoutBorder={withoutBorder}\n />\n </InputWrapper>\n {validationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default TextField;\n"],"file":"TextField.cjs"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Size, States } from '../types';
|
|
2
|
-
import { TextFieldNote } from './types';
|
|
3
2
|
declare type TextFieldProps = {
|
|
4
3
|
id: string;
|
|
5
4
|
disabled?: boolean;
|
|
@@ -17,7 +16,6 @@ declare type TextFieldProps = {
|
|
|
17
16
|
withoutBorder?: boolean;
|
|
18
17
|
size?: Size.Small | Size.Medium;
|
|
19
18
|
margin?: string;
|
|
20
|
-
note?: TextFieldNote;
|
|
21
19
|
};
|
|
22
|
-
declare const TextField: ({ id, disabled, readOnly, onChange, value, validationMessage, type, autoComplete, placeholder, required, pattern, maxLength, withoutBorder, state, size, margin,
|
|
20
|
+
declare const TextField: ({ id, disabled, readOnly, onChange, value, validationMessage, type, autoComplete, placeholder, required, pattern, maxLength, withoutBorder, state, size, margin, }: TextFieldProps) => JSX.Element;
|
|
23
21
|
export default TextField;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import _pt from "prop-types";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { TechnicalWarning } from '../icons/systemicons/SystemIcons';
|
|
4
4
|
import { COLORS } from '../styles';
|
|
5
|
-
import {
|
|
6
|
-
import { InputFieldStyling, InputWrapper, NoteMessage, ValidationMessage } from './styling';
|
|
5
|
+
import { ErrorMessage, InputFieldStyling, InputWrapper } from './styling';
|
|
7
6
|
import { useFocusVisibleRef } from '../common';
|
|
8
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -26,11 +25,10 @@ var TextField = function TextField(_ref) {
|
|
|
26
25
|
state = _ref.state,
|
|
27
26
|
size = _ref.size,
|
|
28
27
|
_ref$margin = _ref.margin,
|
|
29
|
-
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin
|
|
30
|
-
note = _ref.note;
|
|
28
|
+
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin;
|
|
31
29
|
var elementRef = useFocusVisibleRef();
|
|
32
|
-
return /*#__PURE__*/
|
|
33
|
-
children: /*#__PURE__*/
|
|
30
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
31
|
+
children: [/*#__PURE__*/_jsx(InputWrapper, {
|
|
34
32
|
readOnly: readOnly,
|
|
35
33
|
disabled: disabled,
|
|
36
34
|
margin: margin,
|
|
@@ -39,15 +37,15 @@ var TextField = function TextField(_ref) {
|
|
|
39
37
|
e.preventDefault();
|
|
40
38
|
}
|
|
41
39
|
},
|
|
42
|
-
children:
|
|
40
|
+
children: /*#__PURE__*/_jsx(InputFieldStyling, {
|
|
43
41
|
id: id,
|
|
44
42
|
ref: elementRef,
|
|
45
43
|
type: type || 'text',
|
|
46
44
|
value: value,
|
|
47
|
-
className: "".concat(state ||
|
|
45
|
+
className: "".concat(state || '', " ").concat(size || ''),
|
|
48
46
|
tabIndex: readOnly || disabled ? -1 : 0,
|
|
49
47
|
autoComplete: autoComplete,
|
|
50
|
-
placeholder:
|
|
48
|
+
placeholder: placeholder,
|
|
51
49
|
disabled: disabled,
|
|
52
50
|
readOnly: readOnly,
|
|
53
51
|
onChange: function onChange(e) {
|
|
@@ -55,28 +53,21 @@ var TextField = function TextField(_ref) {
|
|
|
55
53
|
|
|
56
54
|
return _onChange && _onChange((e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || '');
|
|
57
55
|
},
|
|
58
|
-
activeErrorMessage: !!validationMessage
|
|
56
|
+
activeErrorMessage: !!validationMessage,
|
|
59
57
|
required: required,
|
|
60
58
|
pattern: pattern,
|
|
61
59
|
maxLength: maxLength,
|
|
62
60
|
withoutBorder: withoutBorder
|
|
63
|
-
})
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
children: validationMessage
|
|
72
|
-
})]
|
|
73
|
-
}), note && !disabled && /*#__PURE__*/_jsxs(NoteMessage, {
|
|
74
|
-
className: size,
|
|
75
|
-
children: [note.icon, /*#__PURE__*/_jsx("span", {
|
|
76
|
-
children: note.message
|
|
77
|
-
})]
|
|
61
|
+
})
|
|
62
|
+
}), validationMessage && /*#__PURE__*/_jsxs(ErrorMessage, {
|
|
63
|
+
className: size || '',
|
|
64
|
+
children: [/*#__PURE__*/_jsx(TechnicalWarning, {
|
|
65
|
+
size: "20px",
|
|
66
|
+
color: COLORS.critical_400
|
|
67
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
68
|
+
children: validationMessage
|
|
78
69
|
})]
|
|
79
|
-
})
|
|
70
|
+
})]
|
|
80
71
|
});
|
|
81
72
|
};
|
|
82
73
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["React","
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["React","TechnicalWarning","COLORS","ErrorMessage","InputFieldStyling","InputWrapper","useFocusVisibleRef","TextField","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","elementRef","e","preventDefault","target","critical_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { COLORS } from '../styles';\nimport {Size, States} from '../types';\nimport { ErrorMessage, InputFieldStyling, InputWrapper} from './styling';\nimport {useFocusVisibleRef} from '../common';\n\ntype TextFieldProps = {\n id: string;\n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (text: string) => void;\n value?: string;\n validationMessage?: string;\n type?: string;\n state?: States.Invalid | States.Valid;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n pattern?: string;\n maxLength?: number;\n withoutBorder?: boolean;\n size?: Size.Small | Size.Medium;\n margin?: string;\n};\n\nconst TextField = ({\n id,\n disabled,\n readOnly,\n onChange,\n value,\n validationMessage,\n type,\n autoComplete,\n placeholder,\n required,\n pattern,\n maxLength,\n withoutBorder,\n state,\n size,\n margin = '4px 0',\n}: TextFieldProps) => {\n const elementRef = useFocusVisibleRef();\n\n return (\n <>\n <InputWrapper\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onClick={(e: any) => {\n if (disabled || readOnly) {\n e.preventDefault();\n }\n }}>\n <InputFieldStyling\n id={id}\n ref={elementRef}\n type={type || 'text'}\n value={value}\n className={`${state || ''} ${size || ''}`}\n tabIndex={readOnly || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeErrorMessage={!!validationMessage}\n required={required}\n pattern={pattern}\n maxLength={maxLength}\n withoutBorder={withoutBorder}\n />\n </InputWrapper>\n {validationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default TextField;\n"],"file":"TextField.js"}
|
|
@@ -11,14 +11,14 @@ exports.default = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
14
16
|
var React = _interopRequireWildcard(require("react"));
|
|
15
17
|
|
|
16
18
|
var _styles = require("../styles");
|
|
17
19
|
|
|
18
20
|
var _styling = require("./styling");
|
|
19
21
|
|
|
20
|
-
var _types = require("../types");
|
|
21
|
-
|
|
22
22
|
var _SystemIcons = require("../icons/systemicons/SystemIcons");
|
|
23
23
|
|
|
24
24
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
@@ -36,56 +36,50 @@ var TextareaWrapper = _styledComponents.default.div(_templateObject || (_templat
|
|
|
36
36
|
return props.margin ? "margin: ".concat(props.margin, ";") : '';
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
var TextArea = _styledComponents.default.textarea(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n border: 1px solid ", ";\n background: ", ";\n border-radius: 4px;\n outline: none;\n margin: 1px;\n padding: 16px;\n\n
|
|
40
|
-
|
|
41
|
-
}, (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Italic, _styles.COLORS.black), (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Italic, _styles.COLORS.black), (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Italic, _styles.COLORS.neutral_500), (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Italic, _styles.COLORS.black), _styles.COLORS.primary_700, _styles.COLORS.primary_800, _styles.COLORS.critical_500, _styles.COLORS.correct_500, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Italic, _styles.COLORS.neutral_500));
|
|
39
|
+
var TextArea = _styledComponents.default.textarea(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n border: 1px solid ", ";\n background: ", ";\n border-radius: 4px;\n outline: none;\n margin: 1px;\n padding: 16px;\n\n ", "\n\n &.small {\n width: 304px;\n }\n\n &.medium {\n width: 344px;\n }\n\n &:hover {\n border: 2px solid ", ";\n margin: 0px;\n }\n\n &:active,\n &:focus {\n border: 2px solid ", ";\n margin: 0px;\n }\n\n &.invalid,\n &.invalid:hover,\n &.invalid:focus,\n &.invalid:active {\n border: none;\n margin: 1px;\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &:disabled,\n &:disabled:hover,\n &:disabled:focus {\n cursor: not-allowed;\n border: 1px solid ", ";\n margin: 1px;\n box-shadow: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n ", "\n }\n"])), _styles.COLORS.neutral_400, _styles.COLORS.white, (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Italic, _styles.COLORS.black), _styles.COLORS.primary_700, _styles.COLORS.primary_800, _styles.COLORS.critical_500, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Italic, _styles.COLORS.neutral_600)); // Add component-specific types
|
|
40
|
+
|
|
42
41
|
|
|
43
42
|
var Textarea = function Textarea(_ref) {
|
|
44
43
|
var id = _ref.id,
|
|
45
44
|
placeholder = _ref.placeholder,
|
|
46
|
-
state = _ref.state,
|
|
47
45
|
value = _ref.value,
|
|
48
46
|
size = _ref.size,
|
|
49
47
|
disabled = _ref.disabled,
|
|
50
48
|
validationMessage = _ref.validationMessage,
|
|
51
49
|
_onChange = _ref.onChange,
|
|
52
|
-
margin = _ref.margin
|
|
53
|
-
autoHeight = _ref.autoHeight,
|
|
54
|
-
note = _ref.note,
|
|
55
|
-
required = _ref.required;
|
|
50
|
+
margin = _ref.margin;
|
|
56
51
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TextareaWrapper, {
|
|
57
52
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextArea, {
|
|
58
53
|
id: id,
|
|
59
54
|
value: value,
|
|
60
|
-
placeholder:
|
|
61
|
-
|
|
62
|
-
className: "".concat(size, " ").concat(state || (validationMessage ? _types.States.Invalid : '')),
|
|
55
|
+
placeholder: placeholder,
|
|
56
|
+
className: "".concat(size, " ").concat(validationMessage ? 'invalid' : ''),
|
|
63
57
|
disabled: disabled,
|
|
64
58
|
onChange: function onChange(e) {
|
|
65
59
|
var _e$target;
|
|
66
60
|
|
|
67
61
|
return _onChange && _onChange((e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || '');
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
type: state !== null && state !== void 0 ? state : _types.States.Invalid,
|
|
73
|
-
children: [state === _types.States.Valid ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.CheckMark, {
|
|
74
|
-
color: _styles.COLORS.correct_400
|
|
75
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
|
|
62
|
+
}
|
|
63
|
+
}), validationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ErrorMessage, {
|
|
64
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
|
|
65
|
+
size: "20px",
|
|
76
66
|
color: _styles.COLORS.critical_400
|
|
77
67
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
78
68
|
children: validationMessage
|
|
79
69
|
})]
|
|
80
|
-
}), note && !disabled && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.NoteMessage, {
|
|
81
|
-
className: size,
|
|
82
|
-
children: [note.icon, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
83
|
-
children: note.message
|
|
84
|
-
})]
|
|
85
70
|
})]
|
|
86
71
|
});
|
|
87
72
|
};
|
|
88
73
|
|
|
74
|
+
Textarea.propTypes = {
|
|
75
|
+
id: _propTypes.default.string.isRequired,
|
|
76
|
+
placeholder: _propTypes.default.string.isRequired,
|
|
77
|
+
value: _propTypes.default.string,
|
|
78
|
+
disabled: _propTypes.default.bool,
|
|
79
|
+
onChange: _propTypes.default.func,
|
|
80
|
+
validationMessage: _propTypes.default.string,
|
|
81
|
+
margin: _propTypes.default.string
|
|
82
|
+
};
|
|
89
83
|
var _default = Textarea;
|
|
90
84
|
exports.default = _default;
|
|
91
85
|
//# sourceMappingURL=Textarea.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/InputFields/Textarea.tsx"],"names":["TextareaWrapper","styled","div","props","margin","TextArea","textarea","COLORS","neutral_400","white","
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/Textarea.tsx"],"names":["TextareaWrapper","styled","div","props","margin","TextArea","textarea","COLORS","neutral_400","white","ComponentTextStyle","Italic","black","primary_700","primary_800","critical_500","neutral_100","neutral_300","neutral_600","Textarea","id","placeholder","value","size","disabled","validationMessage","onChange","e","target","critical_400"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AAMA;;AAKA;;;;;;;;;;AAGA;AACA,IAAMA,eAAe,GAAGC,0BAAOC,GAAV,8GAEjB,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,MAAN,qBAA0BD,KAAK,CAACC,MAAhC,SAA4C,EAAxD;AAAA,CAFiB,CAArB;;AAIA,IAAMC,QAAQ,GAAGJ,0BAAOK,QAAV,61BACQC,eAAOC,WADf,EAEED,eAAOE,KAFT,EAQV,+BAAkBC,2BAAmBC,MAArC,EAA6CJ,eAAOK,KAApD,CARU,EAmBUL,eAAOM,WAnBjB,EAyBUN,eAAOO,WAzBjB,EAmC0BP,eAAOQ,YAnCjC,EA0CUR,eAAOS,WA1CjB,EA+CCT,eAAOU,WA/CR,EAoDR,+BAAkBP,2BAAmBC,MAArC,EAA6CJ,eAAOW,WAApD,CApDQ,CAAd,C,CAwDA;;;AAYA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,OAAoG;AAAA,MAAjGC,EAAiG,QAAjGA,EAAiG;AAAA,MAA7FC,WAA6F,QAA7FA,WAA6F;AAAA,MAAhFC,KAAgF,QAAhFA,KAAgF;AAAA,MAAzEC,IAAyE,QAAzEA,IAAyE;AAAA,MAAnEC,QAAmE,QAAnEA,QAAmE;AAAA,MAAzDC,iBAAyD,QAAzDA,iBAAyD;AAAA,MAAtCC,SAAsC,QAAtCA,QAAsC;AAAA,MAA5BtB,MAA4B,QAA5BA,MAA4B;AAC3J,sBACE,sBAAC,eAAD;AAAA,4BACE,qBAAC,QAAD;AACE,MAAA,EAAE,EAAEgB,EADN;AAEE,MAAA,KAAK,EAAEE,KAFT;AAGE,MAAA,WAAW,EAAED,WAHf;AAIE,MAAA,SAAS,YAAKE,IAAL,cAAaE,iBAAiB,GAAG,SAAH,GAAe,EAA7C,CAJX;AAKE,MAAA,QAAQ,EAAED,QALZ;AAME,MAAA,QAAQ,EAAE,kBAACG,CAAD;AAAA;;AAAA,eAAYD,SAAQ,IAAIA,SAAQ,CAAC,CAAAC,CAAC,SAAD,IAAAA,CAAC,WAAD,yBAAAA,CAAC,CAAEC,MAAH,wDAAWN,KAAX,KAAoB,EAArB,CAAhC;AAAA;AANZ,MADF,EASGG,iBAAiB,iBAChB,sBAAC,qBAAD;AAAA,8BACE,qBAAC,6BAAD;AAAkB,QAAA,IAAI,EAAC,MAAvB;AAA8B,QAAA,KAAK,EAAElB,eAAOsB;AAA5C,QADF,eAEE;AAAA,kBAAOJ;AAAP,QAFF;AAAA,MAVJ;AAAA,IADF;AAkBD,CAnBD;;;AAVEL,EAAAA,E;AACAC,EAAAA,W;AACAC,EAAAA,K;AACAE,EAAAA,Q;AACAE,EAAAA,Q;AACAD,EAAAA,iB;AAEArB,EAAAA,M;;eAwBae,Q","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { COLORS } from '../styles';\nimport { ErrorMessage } from './styling';\nimport { Size } from '../types';\n\n/**\n * Import custom components.\n */\nimport { TechnicalWarning } from '../icons/systemicons/SystemIcons';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentMStyling, ComponentTextStyle } from '../styles';\n\n// Add component-specific styles.\nconst TextareaWrapper = styled.div<{ margin?: string }>`\n width: 100%;\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n`;\nconst TextArea = styled.textarea`\n border: 1px solid ${COLORS.neutral_400};\n background: ${COLORS.white};\n border-radius: 4px;\n outline: none;\n margin: 1px;\n padding: 16px;\n\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.black)}\n\n &.small {\n width: 304px;\n }\n\n &.medium {\n width: 344px;\n }\n\n &:hover {\n border: 2px solid ${COLORS.primary_700};\n margin: 0px;\n }\n\n &:active,\n &:focus {\n border: 2px solid ${COLORS.primary_800};\n margin: 0px;\n }\n\n &.invalid,\n &.invalid:hover,\n &.invalid:focus,\n &.invalid:active {\n border: none;\n margin: 1px;\n box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_500};\n }\n\n &:disabled,\n &:disabled:hover,\n &:disabled:focus {\n cursor: not-allowed;\n border: 1px solid ${COLORS.neutral_100};\n margin: 1px;\n box-shadow: none;\n\n &::placeholder {\n color: ${COLORS.neutral_300};\n }\n }\n\n &::placeholder {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n`;\n\n// Add component-specific types\ntype TextareaProps = {\n id: string;\n placeholder: string;\n value?: string;\n disabled?: boolean;\n onChange?: (text: string) => void;\n validationMessage?: string;\n size: Size.Small | Size.Medium;\n margin?: string;\n};\n\nconst Textarea: React.FunctionComponent<TextareaProps> = ({ id, placeholder, value, size, disabled, validationMessage, onChange, margin }: TextareaProps) => {\n return (\n <TextareaWrapper>\n <TextArea\n id={id}\n value={value}\n placeholder={placeholder}\n className={`${size} ${validationMessage ? 'invalid' : ''}`}\n disabled={disabled}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n />\n {validationMessage && (\n <ErrorMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </TextareaWrapper>\n );\n};\n\nexport default Textarea;\n"],"file":"Textarea.cjs"}
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
* Import React libraries.
|
|
3
3
|
*/
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { Size } from '../types';
|
|
6
|
+
declare type TextareaProps = {
|
|
7
|
+
id: string;
|
|
8
|
+
placeholder: string;
|
|
9
|
+
value?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange?: (text: string) => void;
|
|
12
|
+
validationMessage?: string;
|
|
13
|
+
size: Size.Small | Size.Medium;
|
|
14
|
+
margin?: string;
|
|
15
|
+
};
|
|
6
16
|
declare const Textarea: React.FunctionComponent<TextareaProps>;
|
|
7
17
|
export default Textarea;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
import _pt from "prop-types";
|
|
2
3
|
|
|
3
4
|
var _templateObject, _templateObject2;
|
|
4
5
|
|
|
@@ -10,75 +11,67 @@ import * as React from 'react';
|
|
|
10
11
|
* Import custom styles.
|
|
11
12
|
*/
|
|
12
13
|
|
|
13
|
-
import { COLORS
|
|
14
|
-
import {
|
|
15
|
-
|
|
14
|
+
import { COLORS } from '../styles';
|
|
15
|
+
import { ErrorMessage } from './styling';
|
|
16
|
+
|
|
16
17
|
/**
|
|
17
18
|
* Import custom components.
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
|
-
import { CheckMark, TechnicalWarning } from '../icons/systemicons/SystemIcons';
|
|
20
|
+
import { TechnicalWarning } from '../icons/systemicons/SystemIcons';
|
|
21
21
|
/**
|
|
22
22
|
* Import third-party libraries.
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
import styled from 'styled-components';
|
|
26
|
-
import { ComponentMStyling, ComponentTextStyle } from '../styles';
|
|
26
|
+
import { ComponentMStyling, ComponentTextStyle } from '../styles'; // Add component-specific styles.
|
|
27
|
+
|
|
27
28
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
29
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
-
// Add component-specific styles.
|
|
30
30
|
var TextareaWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n ", "\n"])), function (props) {
|
|
31
31
|
return props.margin ? "margin: ".concat(props.margin, ";") : '';
|
|
32
32
|
});
|
|
33
|
-
var TextArea = styled.textarea(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border: 1px solid ", ";\n background: ", ";\n border-radius: 4px;\n outline: none;\n margin: 1px;\n padding: 16px;\n\n
|
|
34
|
-
return props.autoHeight ? 'none' : '';
|
|
35
|
-
}, ComponentMStyling(ComponentTextStyle.Italic, COLORS.black), ComponentSStyling(ComponentTextStyle.Italic, COLORS.black), ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_500), ComponentMStyling(ComponentTextStyle.Italic, COLORS.black), COLORS.primary_700, COLORS.primary_800, COLORS.critical_500, COLORS.correct_500, COLORS.neutral_100, COLORS.neutral_300, ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_500));
|
|
33
|
+
var TextArea = styled.textarea(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border: 1px solid ", ";\n background: ", ";\n border-radius: 4px;\n outline: none;\n margin: 1px;\n padding: 16px;\n\n ", "\n\n &.small {\n width: 304px;\n }\n\n &.medium {\n width: 344px;\n }\n\n &:hover {\n border: 2px solid ", ";\n margin: 0px;\n }\n\n &:active,\n &:focus {\n border: 2px solid ", ";\n margin: 0px;\n }\n\n &.invalid,\n &.invalid:hover,\n &.invalid:focus,\n &.invalid:active {\n border: none;\n margin: 1px;\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &:disabled,\n &:disabled:hover,\n &:disabled:focus {\n cursor: not-allowed;\n border: 1px solid ", ";\n margin: 1px;\n box-shadow: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n ", "\n }\n"])), COLORS.neutral_400, COLORS.white, ComponentMStyling(ComponentTextStyle.Italic, COLORS.black), COLORS.primary_700, COLORS.primary_800, COLORS.critical_500, COLORS.neutral_100, COLORS.neutral_300, ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)); // Add component-specific types
|
|
36
34
|
|
|
37
35
|
var Textarea = function Textarea(_ref) {
|
|
38
36
|
var id = _ref.id,
|
|
39
37
|
placeholder = _ref.placeholder,
|
|
40
|
-
state = _ref.state,
|
|
41
38
|
value = _ref.value,
|
|
42
39
|
size = _ref.size,
|
|
43
40
|
disabled = _ref.disabled,
|
|
44
41
|
validationMessage = _ref.validationMessage,
|
|
45
42
|
_onChange = _ref.onChange,
|
|
46
|
-
margin = _ref.margin
|
|
47
|
-
autoHeight = _ref.autoHeight,
|
|
48
|
-
note = _ref.note,
|
|
49
|
-
required = _ref.required;
|
|
43
|
+
margin = _ref.margin;
|
|
50
44
|
return /*#__PURE__*/_jsxs(TextareaWrapper, {
|
|
51
45
|
children: [/*#__PURE__*/_jsx(TextArea, {
|
|
52
46
|
id: id,
|
|
53
47
|
value: value,
|
|
54
|
-
placeholder:
|
|
55
|
-
|
|
56
|
-
className: "".concat(size, " ").concat(state || (validationMessage ? States.Invalid : '')),
|
|
48
|
+
placeholder: placeholder,
|
|
49
|
+
className: "".concat(size, " ").concat(validationMessage ? 'invalid' : ''),
|
|
57
50
|
disabled: disabled,
|
|
58
51
|
onChange: function onChange(e) {
|
|
59
52
|
var _e$target;
|
|
60
53
|
|
|
61
54
|
return _onChange && _onChange((e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) || '');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
type: state !== null && state !== void 0 ? state : States.Invalid,
|
|
67
|
-
children: [state === States.Valid ? /*#__PURE__*/_jsx(CheckMark, {
|
|
68
|
-
color: COLORS.correct_400
|
|
69
|
-
}) : /*#__PURE__*/_jsx(TechnicalWarning, {
|
|
55
|
+
}
|
|
56
|
+
}), validationMessage && /*#__PURE__*/_jsxs(ErrorMessage, {
|
|
57
|
+
children: [/*#__PURE__*/_jsx(TechnicalWarning, {
|
|
58
|
+
size: "20px",
|
|
70
59
|
color: COLORS.critical_400
|
|
71
60
|
}), /*#__PURE__*/_jsx("span", {
|
|
72
61
|
children: validationMessage
|
|
73
62
|
})]
|
|
74
|
-
}), note && !disabled && /*#__PURE__*/_jsxs(NoteMessage, {
|
|
75
|
-
className: size,
|
|
76
|
-
children: [note.icon, /*#__PURE__*/_jsx("span", {
|
|
77
|
-
children: note.message
|
|
78
|
-
})]
|
|
79
63
|
})]
|
|
80
64
|
});
|
|
81
65
|
};
|
|
82
66
|
|
|
67
|
+
Textarea.propTypes = {
|
|
68
|
+
id: _pt.string.isRequired,
|
|
69
|
+
placeholder: _pt.string.isRequired,
|
|
70
|
+
value: _pt.string,
|
|
71
|
+
disabled: _pt.bool,
|
|
72
|
+
onChange: _pt.func,
|
|
73
|
+
validationMessage: _pt.string,
|
|
74
|
+
margin: _pt.string
|
|
75
|
+
};
|
|
83
76
|
export default Textarea;
|
|
84
77
|
//# sourceMappingURL=Textarea.js.map
|