@laerdal/life-react-components 1.9.9-dev.7 → 1.10.1-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/AccordionItem.cjs +26 -9
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.d.ts +0 -1
- package/dist/Accordion/AccordionItem.js +25 -9
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionMenu.cjs +43 -24
- package/dist/Accordion/AccordionMenu.cjs.map +1 -1
- package/dist/Accordion/AccordionMenu.d.ts +2 -3
- package/dist/Accordion/AccordionMenu.js +42 -24
- package/dist/Accordion/AccordionMenu.js.map +1 -1
- package/dist/Accordion/ContentAccordion.cjs +64 -34
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.d.ts +3 -3
- package/dist/Accordion/ContentAccordion.js +62 -34
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/styles.cjs +2 -4
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.d.ts +0 -1
- package/dist/Accordion/styles.js +2 -4
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/Banners/Banner.cjs +18 -8
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.d.ts +1 -1
- package/dist/Banners/Banner.js +18 -5
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/OverviewBanner.cjs +14 -3
- package/dist/Banners/OverviewBanner.cjs.map +1 -1
- package/dist/Banners/OverviewBanner.d.ts +3 -2
- package/dist/Banners/OverviewBanner.js +12 -3
- package/dist/Banners/OverviewBanner.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +16 -4
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +15 -4
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Button/Button.cjs +10 -18
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.js +10 -18
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +20 -14
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +1 -4
- package/dist/Button/Iconbutton.js +17 -14
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.cjs +8 -2
- package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCard.js +6 -2
- package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +2 -8
- package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
- package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
- package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
- package/dist/Card/HorizontalCard/types.d.ts +1 -1
- package/dist/Card/VerticalCard/Card.cjs +13 -6
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.d.ts +1 -1
- package/dist/Card/VerticalCard/Card.js +11 -6
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/Chips/ActionChip.cjs +39 -34
- package/dist/Chips/ActionChip.cjs.map +1 -1
- package/dist/Chips/ActionChip.js +37 -27
- package/dist/Chips/ActionChip.js.map +1 -1
- package/dist/Chips/ChipTypes.d.ts +8 -6
- package/dist/Chips/ChoiceChips.cjs +27 -15
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +25 -9
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +39 -34
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +37 -27
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/InputChip.cjs +57 -51
- package/dist/Chips/InputChip.cjs.map +1 -1
- package/dist/Chips/InputChip.js +55 -43
- package/dist/Chips/InputChip.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +14 -7
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.d.ts +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +12 -6
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/ChipsInput/ChipInput.cjs +16 -12
- package/dist/ChipsInput/ChipInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipInput.d.ts +1 -1
- package/dist/ChipsInput/ChipInput.js +14 -7
- package/dist/ChipsInput/ChipInput.js.map +1 -1
- package/dist/ChipsInput/ChipInputField.cjs +22 -4
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.d.ts +1 -1
- package/dist/ChipsInput/ChipInputField.js +18 -4
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/ChipsInput/ChipInputTypes.d.ts +2 -1
- package/dist/Dropdown/BasicDropdown.cjs +88 -64
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.d.ts +13 -8
- package/dist/Dropdown/BasicDropdown.js +87 -65
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +1 -1
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +1 -1
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +30 -14
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.d.ts +3 -3
- package/dist/Dropdown/DropdownFilter.js +26 -13
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/index.cjs +4 -4
- package/dist/Dropdown/index.cjs.map +1 -1
- package/dist/Dropdown/index.d.ts +4 -5
- package/dist/Dropdown/index.js +4 -5
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Footer/SiteFooter.cjs +16 -4
- package/dist/Footer/SiteFooter.cjs.map +1 -1
- package/dist/Footer/SiteFooter.d.ts +6 -2
- package/dist/Footer/SiteFooter.js +14 -4
- package/dist/Footer/SiteFooter.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +5 -9
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js +5 -3
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/Image/ImageWithFallbacks.cjs +10 -2
- package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
- package/dist/Image/ImageWithFallbacks.d.ts +1 -1
- package/dist/Image/ImageWithFallbacks.js +9 -2
- package/dist/Image/ImageWithFallbacks.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +16 -4
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.d.ts +1 -1
- package/dist/InputFields/Checkbox.js +13 -4
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +44 -38
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +17 -20
- package/dist/InputFields/DatepickerField.js +33 -20
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +63 -52
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.d.ts +14 -19
- package/dist/InputFields/NumberField.js +60 -53
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +25 -8
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +14 -14
- package/dist/InputFields/PasswordField.js +22 -9
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +17 -5
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.d.ts +2 -2
- package/dist/InputFields/RadioButton.js +14 -5
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +78 -7
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.d.ts +9 -0
- package/dist/InputFields/SearchBar.js +75 -7
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +23 -8
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +20 -20
- package/dist/InputFields/TextField.js +22 -9
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +20 -7
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.d.ts +16 -2
- package/dist/InputFields/Textarea.js +18 -8
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs +10 -4
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.d.ts +1 -0
- package/dist/InputFields/components/SearchBarInput.js +10 -4
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/index.cjs +26 -0
- package/dist/InputFields/index.cjs.map +1 -1
- package/dist/InputFields/index.d.ts +1 -0
- package/dist/InputFields/index.js +1 -0
- package/dist/InputFields/index.js.map +1 -1
- package/dist/InputFields/styling.cjs +1 -1
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.js +1 -1
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/InputFields/types.d.ts +1 -1
- package/dist/LinearProgress/LinearProgress.cjs +17 -4
- package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
- package/dist/LinearProgress/LinearProgress.d.ts +1 -1
- package/dist/LinearProgress/LinearProgress.js +14 -4
- package/dist/LinearProgress/LinearProgress.js.map +1 -1
- package/dist/List/ListRow.cjs +15 -8
- package/dist/List/ListRow.cjs.map +1 -1
- package/dist/List/ListRow.d.ts +1 -1
- package/dist/List/ListRow.js +13 -8
- package/dist/List/ListRow.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs +19 -11
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.d.ts +1 -3
- package/dist/MenuItem/MenuItem.js +17 -11
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/Modals/ModalContainer.cjs.map +1 -1
- package/dist/Modals/ModalContainer.js.map +1 -1
- package/dist/Popover/Popover.cjs +13 -24
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.js +13 -23
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/ProfileButton/ProfileButton.cjs +17 -8
- package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
- package/dist/ProfileButton/ProfileButton.d.ts +8 -12
- package/dist/ProfileButton/ProfileButton.js +14 -8
- package/dist/ProfileButton/ProfileButton.js.map +1 -1
- package/dist/QuizButton/QuizButton.cjs +17 -6
- package/dist/QuizButton/QuizButton.cjs.map +1 -1
- package/dist/QuizButton/QuizButton.d.ts +1 -2
- package/dist/QuizButton/QuizButton.js +15 -6
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/SegmentControl/SegmentControl.cjs +28 -8
- package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
- package/dist/SegmentControl/SegmentControl.d.ts +2 -2
- package/dist/SegmentControl/SegmentControl.js +26 -8
- package/dist/SegmentControl/SegmentControl.js.map +1 -1
- package/dist/SideMenu/SideMenu.cjs +56 -0
- package/dist/SideMenu/SideMenu.cjs.map +1 -0
- package/dist/SideMenu/SideMenu.d.ts +4 -0
- package/dist/SideMenu/SideMenu.js +37 -0
- package/dist/SideMenu/SideMenu.js.map +1 -0
- package/dist/SideMenu/SideMenuBody.cjs +64 -0
- package/dist/SideMenu/SideMenuBody.cjs.map +1 -0
- package/dist/SideMenu/SideMenuBody.d.ts +2 -0
- package/dist/SideMenu/SideMenuBody.js +43 -0
- package/dist/SideMenu/SideMenuBody.js.map +1 -0
- package/dist/SideMenu/SideMenuFooter.cjs +74 -0
- package/dist/SideMenu/SideMenuFooter.cjs.map +1 -0
- package/dist/SideMenu/SideMenuFooter.d.ts +2 -0
- package/dist/SideMenu/SideMenuFooter.js +51 -0
- package/dist/SideMenu/SideMenuFooter.js.map +1 -0
- package/dist/SideMenu/SideMenuHeader.cjs +68 -0
- package/dist/SideMenu/SideMenuHeader.cjs.map +1 -0
- package/dist/SideMenu/SideMenuHeader.d.ts +2 -0
- package/dist/SideMenu/SideMenuHeader.js +48 -0
- package/dist/SideMenu/SideMenuHeader.js.map +1 -0
- package/dist/SideMenu/index.cjs +33 -0
- package/dist/SideMenu/index.cjs.map +1 -0
- package/dist/SideMenu/index.d.ts +2 -0
- package/dist/SideMenu/index.js +3 -0
- package/dist/SideMenu/index.js.map +1 -0
- package/dist/SideMenu/types.cjs +6 -0
- package/dist/SideMenu/types.cjs.map +1 -0
- package/dist/SideMenu/types.d.ts +27 -0
- package/dist/SideMenu/types.js +2 -0
- package/dist/SideMenu/types.js.map +1 -0
- package/dist/Switcher/MobileSwitcherMenu.cjs +1 -1
- package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.js +1 -1
- package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.cjs +16 -16
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.d.ts +9 -2
- package/dist/Switcher/SwitcherMenuItem.js +16 -10
- package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/Table/Table.cjs +3 -3
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +3 -3
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +4 -2
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +5 -3
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableFooter.cjs +5 -3
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +5 -3
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/TableStyles.cjs +17 -13
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.d.ts +1 -0
- package/dist/Table/TableStyles.js +13 -12
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/TableTypes.d.ts +4 -0
- package/dist/Tabs/HorizontalTabs.cjs +33 -12
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
- package/dist/Tabs/HorizontalTabs.d.ts +7 -4
- package/dist/Tabs/HorizontalTabs.js +31 -12
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
- package/dist/Tag/Tag.cjs +16 -4
- package/dist/Tag/Tag.cjs.map +1 -1
- package/dist/Tag/Tag.d.ts +1 -1
- package/dist/Tag/Tag.js +14 -4
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tile/Tile.cjs +11 -4
- package/dist/Tile/Tile.cjs.map +1 -1
- package/dist/Tile/Tile.js +10 -4
- package/dist/Tile/Tile.js.map +1 -1
- package/dist/Tile/TileTypes.d.ts +1 -1
- package/dist/Toasters/Toast.cjs.map +1 -1
- package/dist/Toasters/Toast.js.map +1 -1
- package/dist/Toggles/ToggleButton.cjs +36 -17
- package/dist/Toggles/ToggleButton.cjs.map +1 -1
- package/dist/Toggles/ToggleButton.d.ts +1 -2
- package/dist/Toggles/ToggleButton.js +33 -17
- package/dist/Toggles/ToggleButton.js.map +1 -1
- package/dist/Toggles/ToggleSwitch.cjs +27 -17
- package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
- package/dist/Toggles/ToggleSwitch.d.ts +5 -1
- package/dist/Toggles/ToggleSwitch.js +24 -12
- package/dist/Toggles/ToggleSwitch.js.map +1 -1
- package/dist/Toggles/TogglerTypes.d.ts +1 -1
- package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
- package/dist/Tooltips/TooltipTypes.d.ts +1 -1
- package/dist/Tooltips/TooltipTypes.js.map +1 -1
- package/dist/Tooltips/TooltipWrapper.cjs +19 -4
- package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
- package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
- package/dist/Tooltips/TooltipWrapper.js +16 -4
- package/dist/Tooltips/TooltipWrapper.js.map +1 -1
- package/dist/common/FocusVisible.cjs.map +1 -1
- package/dist/common/FocusVisible.d.ts +1 -1
- package/dist/common/FocusVisible.js.map +1 -1
- package/dist/index.cjs +14 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +0 -8
- package/dist/types.js.map +1 -1
- package/package.json +5 -1
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
10
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
13
|
|
|
12
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -27,6 +29,10 @@ var _SearchField = _interopRequireDefault(require("./components/SearchField"));
|
|
|
27
29
|
|
|
28
30
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
29
31
|
|
|
32
|
+
var _Dropdown = require("../Dropdown");
|
|
33
|
+
|
|
34
|
+
var _common = require("../common");
|
|
35
|
+
|
|
30
36
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
37
|
|
|
32
38
|
var _templateObject;
|
|
@@ -46,10 +52,28 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
46
52
|
onKeyDown = _ref.onKeyDown,
|
|
47
53
|
size = _ref.size,
|
|
48
54
|
_ref$margin = _ref.margin,
|
|
49
|
-
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin
|
|
55
|
+
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin,
|
|
56
|
+
showDropdown = _ref.showDropdown,
|
|
57
|
+
dropdownButtonIcon = _ref.dropdownButtonIcon,
|
|
58
|
+
dropdownButtonLabel = _ref.dropdownButtonLabel,
|
|
59
|
+
dropdownButtonVariant = _ref.dropdownButtonVariant,
|
|
60
|
+
dropdownButtonAction = _ref.dropdownButtonAction,
|
|
61
|
+
_ref$searchList = _ref.searchList,
|
|
62
|
+
searchList = _ref$searchList === void 0 ? [] : _ref$searchList,
|
|
63
|
+
addToSearchList = _ref.addToSearchList,
|
|
64
|
+
dropdownScrollable = _ref.dropdownScrollable;
|
|
50
65
|
|
|
51
66
|
var containerRef = _react.default.useRef(null);
|
|
52
67
|
|
|
68
|
+
var _React$useState = _react.default.useState(false),
|
|
69
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
70
|
+
isOpen = _React$useState2[0],
|
|
71
|
+
setIsOpen = _React$useState2[1];
|
|
72
|
+
|
|
73
|
+
var dropdownRef = (0, _common.useClickOutsideRef)(function () {
|
|
74
|
+
return setIsOpen(false);
|
|
75
|
+
}, [containerRef]);
|
|
76
|
+
|
|
53
77
|
var isPressingEnter = function isPressingEnter(e) {
|
|
54
78
|
if (e.key === 'Enter') {
|
|
55
79
|
e.preventDefault();
|
|
@@ -60,11 +84,22 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
60
84
|
return false;
|
|
61
85
|
};
|
|
62
86
|
|
|
87
|
+
var enteredSearchTerm = function enteredSearchTerm(e) {
|
|
88
|
+
addToSearchList && addToSearchList({
|
|
89
|
+
value: e.target.value
|
|
90
|
+
});
|
|
91
|
+
enterSearch(e);
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
var dropdownAction = function dropdownAction() {
|
|
95
|
+
if (dropdownButtonAction) dropdownButtonAction();
|
|
96
|
+
};
|
|
97
|
+
|
|
63
98
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
64
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
99
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.InputWrapper, {
|
|
65
100
|
disabled: disabled,
|
|
66
101
|
margin: margin,
|
|
67
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_SearchField.default, {
|
|
102
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_SearchField.default, {
|
|
68
103
|
id: 'id',
|
|
69
104
|
size: size,
|
|
70
105
|
ref: containerRef,
|
|
@@ -81,8 +116,12 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
81
116
|
},
|
|
82
117
|
searchTerm: searchTerm,
|
|
83
118
|
onKeyDown: onKeyDown,
|
|
84
|
-
enterSearch:
|
|
85
|
-
focusParentRefs: [containerRef]
|
|
119
|
+
enterSearch: enteredSearchTerm,
|
|
120
|
+
focusParentRefs: [containerRef],
|
|
121
|
+
onClick: function onClick() {
|
|
122
|
+
return setIsOpen(!isOpen);
|
|
123
|
+
},
|
|
124
|
+
ref: dropdownRef
|
|
86
125
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.SearchIconWrapper, {
|
|
87
126
|
className: size ? size : '',
|
|
88
127
|
"aria-label": performSearchLabel,
|
|
@@ -115,7 +154,31 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
115
154
|
})
|
|
116
155
|
})
|
|
117
156
|
})]
|
|
118
|
-
})
|
|
157
|
+
}), showDropdown && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.DropdownContent, {
|
|
158
|
+
id: 'search',
|
|
159
|
+
size: size,
|
|
160
|
+
isButton: false,
|
|
161
|
+
customizationProps: {
|
|
162
|
+
items: searchList,
|
|
163
|
+
action: dropdownAction,
|
|
164
|
+
actionLabel: dropdownButtonLabel,
|
|
165
|
+
actionIcon: dropdownButtonIcon,
|
|
166
|
+
actionVariant: dropdownButtonVariant,
|
|
167
|
+
onValueUpdate: function onValueUpdate(e) {},
|
|
168
|
+
scrollable: dropdownScrollable,
|
|
169
|
+
pinTopItem: true
|
|
170
|
+
},
|
|
171
|
+
isOpen: isOpen,
|
|
172
|
+
setIsOpen: setIsOpen,
|
|
173
|
+
filter: '',
|
|
174
|
+
selectedValues: searchTerm ? [searchTerm] : [],
|
|
175
|
+
setSelectedValues: function setSelectedValues(e) {
|
|
176
|
+
return _setSearchTerm(e[0]);
|
|
177
|
+
},
|
|
178
|
+
messageOnNoResults: '',
|
|
179
|
+
focused: null,
|
|
180
|
+
setFocused: function setFocused() {}
|
|
181
|
+
})]
|
|
119
182
|
}), validationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ErrorMessage, {
|
|
120
183
|
className: size || '',
|
|
121
184
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
|
|
@@ -139,7 +202,15 @@ SearchBar.propTypes = {
|
|
|
139
202
|
disabled: _propTypes.default.bool,
|
|
140
203
|
validationMessage: _propTypes.default.string,
|
|
141
204
|
onKeyDown: _propTypes.default.func,
|
|
142
|
-
margin: _propTypes.default.string
|
|
205
|
+
margin: _propTypes.default.string,
|
|
206
|
+
showDropdown: _propTypes.default.bool,
|
|
207
|
+
dropdownButtonIcon: _propTypes.default.node,
|
|
208
|
+
dropdownButtonLabel: _propTypes.default.string,
|
|
209
|
+
dropdownButtonVariant: _propTypes.default.oneOf(['primary', 'secondary', 'tertiary']),
|
|
210
|
+
dropdownButtonAction: _propTypes.default.func,
|
|
211
|
+
searchList: _propTypes.default.array,
|
|
212
|
+
addToSearchList: _propTypes.default.func,
|
|
213
|
+
dropdownScrollable: _propTypes.default.bool
|
|
143
214
|
};
|
|
144
215
|
var _default = SearchBar;
|
|
145
216
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/InputFields/SearchBar.tsx"],"names":["ClearIconWrapper","styled","div","SearchBar","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","validationMessage","onKeyDown","size","margin","containerRef","React","useRef","isPressingEnter","e","key","preventDefault","stopPropagation","term","concat","COLORS","critical_400"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {COLORS} from '../styles/index';\nimport {Search as SearchIcon, Clear as ClearIcon, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {ErrorMessage, InputWrapper, SearchIconWrapper} from './styling';\nimport {IconButton} from '../Button';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField from './components/SearchField';\nimport {Size} from '../types';\nimport styled from 'styled-components';\n\ntype SeachBarProps = {\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 validationMessage?: string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: Size.Small | Size.Medium;\n margin?: string;\n};\n\nconst ClearIconWrapper = styled.div`\n display: flex;\n align-items: center;\n\n &.hidden {\n display: none !important;\n }\n`;\n\nconst SearchBar: React.FunctionComponent<SeachBarProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n validationMessage,\n onKeyDown,\n size,\n margin = '4px 0',\n }) => {\n const containerRef = React.useRef<any>(null);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n return (\n <>\n <InputWrapper\n disabled={disabled}\n margin={margin}>\n <SearchField id={'id'} size={size}\n ref={containerRef}\n searchTerm={searchTerm}\n disabled={disabled}\n validationMessage={validationMessage}>\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n size={size}\n disabled={disabled}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n onKeyDown={onKeyDown}\n enterSearch={enterSearch}\n focusParentRefs={[containerRef]}\n />\n <SearchIconWrapper className={size ? size : ''} aria-label={performSearchLabel}>\n <IconButton id={`${id}_Search`}\n variant=\"secondary\"\n shape=\"circular\"\n action={enterSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? enterSearch(e) : null)}>\n <SearchIcon size=\"24px\"/>\n </IconButton>\n </SearchIconWrapper>\n <ClearIconWrapper className={(size ? size : '').concat(!searchTerm ? ' hidden' : '')}>\n <IconButton id={`${id}_Clear`}\n variant=\"secondary\"\n shape=\"circular\"\n action={removeSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? removeSearch(e) : null)}>\n <ClearIcon size=\"24px\"/>\n </IconButton>\n </ClearIconWrapper>\n </SearchField>\n </InputWrapper>\n {validationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning color={COLORS.critical_400} className={size || ''}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default SearchBar;\n"],"file":"SearchBar.cjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/SearchBar.tsx"],"names":["ClearIconWrapper","styled","div","SearchBar","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","validationMessage","onKeyDown","size","margin","showDropdown","dropdownButtonIcon","dropdownButtonLabel","dropdownButtonVariant","dropdownButtonAction","searchList","addToSearchList","dropdownScrollable","containerRef","React","useRef","useState","isOpen","setIsOpen","dropdownRef","isPressingEnter","e","key","preventDefault","stopPropagation","enteredSearchTerm","value","target","dropdownAction","term","concat","items","action","actionLabel","actionIcon","actionVariant","onValueUpdate","scrollable","pinTopItem","COLORS","critical_400"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {COLORS} from '../styles/index';\nimport {Search as SearchIcon, Clear as ClearIcon, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {ErrorMessage, InputWrapper, SearchIconWrapper} from './styling';\nimport {IconButton} from '../Button';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField from './components/SearchField';\nimport {Size} from '../types';\nimport styled from 'styled-components';\nimport { DropdownContent, DropdownItem } from '../Dropdown';\nimport { useClickOutsideRef } from '../common';\n\ntype SeachBarProps = {\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 validationMessage?: string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: Size.Small | Size.Medium;\n margin?: string;\n showDropdown?: boolean;\n dropdownButtonIcon?: React.ReactNode;\n dropdownButtonLabel?: string;\n dropdownButtonVariant?: 'primary' | 'secondary' | 'tertiary';\n dropdownButtonAction?: () => boolean | void | undefined;\n searchList?: DropdownItem[];\n addToSearchList?: (e: DropdownItem) => void;\n dropdownScrollable?: boolean;\n};\n\nconst ClearIconWrapper = styled.div`\n display: flex;\n align-items: center;\n\n &.hidden {\n display: none !important;\n }\n`;\n\nconst SearchBar: React.FunctionComponent<SeachBarProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n validationMessage,\n onKeyDown,\n size,\n margin = '4px 0',\n showDropdown,\n dropdownButtonIcon,\n dropdownButtonLabel,\n dropdownButtonVariant,\n dropdownButtonAction,\n searchList=[],\n addToSearchList,\n dropdownScrollable\n }) => {\n const containerRef = React.useRef<any>(null);\n\n const [isOpen, setIsOpen] = React.useState(false);\n const dropdownRef = useClickOutsideRef(()=>setIsOpen(false), [containerRef]);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n const enteredSearchTerm = (e: any) => {\n addToSearchList && addToSearchList({value:e.target.value});\n enterSearch(e);\n }\n\n const dropdownAction = () => {\n if(dropdownButtonAction)\n dropdownButtonAction(); \n }\n\n return (\n <>\n <InputWrapper\n disabled={disabled}\n margin={margin}>\n <SearchField id={'id'} size={size}\n ref={containerRef}\n searchTerm={searchTerm}\n disabled={disabled}\n validationMessage={validationMessage}>\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n size={size}\n disabled={disabled}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n onKeyDown={onKeyDown}\n enterSearch={enteredSearchTerm}\n focusParentRefs={[containerRef]}\n onClick={()=>setIsOpen(!isOpen)}\n ref={dropdownRef}\n />\n <SearchIconWrapper className={size ? size : ''} aria-label={performSearchLabel}>\n <IconButton id={`${id}_Search`}\n variant=\"secondary\"\n shape=\"circular\"\n action={enterSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? enterSearch(e) : null)}>\n <SearchIcon size=\"24px\"/>\n </IconButton>\n </SearchIconWrapper>\n <ClearIconWrapper className={(size ? size : '').concat(!searchTerm ? ' hidden' : '')}>\n <IconButton id={`${id}_Clear`}\n variant=\"secondary\"\n shape=\"circular\"\n action={removeSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? removeSearch(e) : null)}>\n <ClearIcon size=\"24px\"/>\n </IconButton>\n </ClearIconWrapper>\n </SearchField>\n\n {showDropdown && <DropdownContent id={'search'} \n size={size}\n isButton={false}\n customizationProps={{\n items:searchList,\n action: dropdownAction,\n actionLabel: dropdownButtonLabel,\n actionIcon: dropdownButtonIcon,\n actionVariant: dropdownButtonVariant,\n onValueUpdate:(e)=>{},\n scrollable: dropdownScrollable,\n pinTopItem: true\n }}\n isOpen={isOpen}\n setIsOpen={setIsOpen}\n filter={''}\n selectedValues={searchTerm ? [searchTerm] : []}\n setSelectedValues={(e)=>setSearchTerm(e[0])}\n messageOnNoResults={''}\n focused={null}\n setFocused={()=>{}}\n />}\n\n </InputWrapper>\n {validationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning color={COLORS.critical_400} className={size || ''}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default SearchBar;\n"],"file":"SearchBar.cjs"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Size } from '../types';
|
|
3
|
+
import { DropdownItem } from '../Dropdown';
|
|
3
4
|
declare type SeachBarProps = {
|
|
4
5
|
id: string;
|
|
5
6
|
searchTerm?: string;
|
|
@@ -13,6 +14,14 @@ declare type SeachBarProps = {
|
|
|
13
14
|
onKeyDown?: (e: React.KeyboardEvent) => void;
|
|
14
15
|
size?: Size.Small | Size.Medium;
|
|
15
16
|
margin?: string;
|
|
17
|
+
showDropdown?: boolean;
|
|
18
|
+
dropdownButtonIcon?: React.ReactNode;
|
|
19
|
+
dropdownButtonLabel?: string;
|
|
20
|
+
dropdownButtonVariant?: 'primary' | 'secondary' | 'tertiary';
|
|
21
|
+
dropdownButtonAction?: () => boolean | void | undefined;
|
|
22
|
+
searchList?: DropdownItem[];
|
|
23
|
+
addToSearchList?: (e: DropdownItem) => void;
|
|
24
|
+
dropdownScrollable?: boolean;
|
|
16
25
|
};
|
|
17
26
|
declare const SearchBar: React.FunctionComponent<SeachBarProps>;
|
|
18
27
|
export default SearchBar;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
1
2
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
3
|
import _pt from "prop-types";
|
|
3
4
|
|
|
@@ -11,6 +12,8 @@ import { IconButton } from '../Button';
|
|
|
11
12
|
import SearchBarInput from './components/SearchBarInput';
|
|
12
13
|
import SearchField from './components/SearchField';
|
|
13
14
|
import styled from 'styled-components';
|
|
15
|
+
import { DropdownContent } from '../Dropdown';
|
|
16
|
+
import { useClickOutsideRef } from '../common';
|
|
14
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
18
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
19
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -29,9 +32,27 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
29
32
|
onKeyDown = _ref.onKeyDown,
|
|
30
33
|
size = _ref.size,
|
|
31
34
|
_ref$margin = _ref.margin,
|
|
32
|
-
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin
|
|
35
|
+
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin,
|
|
36
|
+
showDropdown = _ref.showDropdown,
|
|
37
|
+
dropdownButtonIcon = _ref.dropdownButtonIcon,
|
|
38
|
+
dropdownButtonLabel = _ref.dropdownButtonLabel,
|
|
39
|
+
dropdownButtonVariant = _ref.dropdownButtonVariant,
|
|
40
|
+
dropdownButtonAction = _ref.dropdownButtonAction,
|
|
41
|
+
_ref$searchList = _ref.searchList,
|
|
42
|
+
searchList = _ref$searchList === void 0 ? [] : _ref$searchList,
|
|
43
|
+
addToSearchList = _ref.addToSearchList,
|
|
44
|
+
dropdownScrollable = _ref.dropdownScrollable;
|
|
33
45
|
var containerRef = React.useRef(null);
|
|
34
46
|
|
|
47
|
+
var _React$useState = React.useState(false),
|
|
48
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
49
|
+
isOpen = _React$useState2[0],
|
|
50
|
+
setIsOpen = _React$useState2[1];
|
|
51
|
+
|
|
52
|
+
var dropdownRef = useClickOutsideRef(function () {
|
|
53
|
+
return setIsOpen(false);
|
|
54
|
+
}, [containerRef]);
|
|
55
|
+
|
|
35
56
|
var isPressingEnter = function isPressingEnter(e) {
|
|
36
57
|
if (e.key === 'Enter') {
|
|
37
58
|
e.preventDefault();
|
|
@@ -42,11 +63,22 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
42
63
|
return false;
|
|
43
64
|
};
|
|
44
65
|
|
|
66
|
+
var enteredSearchTerm = function enteredSearchTerm(e) {
|
|
67
|
+
addToSearchList && addToSearchList({
|
|
68
|
+
value: e.target.value
|
|
69
|
+
});
|
|
70
|
+
enterSearch(e);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
var dropdownAction = function dropdownAction() {
|
|
74
|
+
if (dropdownButtonAction) dropdownButtonAction();
|
|
75
|
+
};
|
|
76
|
+
|
|
45
77
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
46
|
-
children: [/*#__PURE__*/
|
|
78
|
+
children: [/*#__PURE__*/_jsxs(InputWrapper, {
|
|
47
79
|
disabled: disabled,
|
|
48
80
|
margin: margin,
|
|
49
|
-
children: /*#__PURE__*/_jsxs(SearchField, {
|
|
81
|
+
children: [/*#__PURE__*/_jsxs(SearchField, {
|
|
50
82
|
id: 'id',
|
|
51
83
|
size: size,
|
|
52
84
|
ref: containerRef,
|
|
@@ -63,8 +95,12 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
63
95
|
},
|
|
64
96
|
searchTerm: searchTerm,
|
|
65
97
|
onKeyDown: onKeyDown,
|
|
66
|
-
enterSearch:
|
|
67
|
-
focusParentRefs: [containerRef]
|
|
98
|
+
enterSearch: enteredSearchTerm,
|
|
99
|
+
focusParentRefs: [containerRef],
|
|
100
|
+
onClick: function onClick() {
|
|
101
|
+
return setIsOpen(!isOpen);
|
|
102
|
+
},
|
|
103
|
+
ref: dropdownRef
|
|
68
104
|
}), /*#__PURE__*/_jsx(SearchIconWrapper, {
|
|
69
105
|
className: size ? size : '',
|
|
70
106
|
"aria-label": performSearchLabel,
|
|
@@ -97,7 +133,31 @@ var SearchBar = function SearchBar(_ref) {
|
|
|
97
133
|
})
|
|
98
134
|
})
|
|
99
135
|
})]
|
|
100
|
-
})
|
|
136
|
+
}), showDropdown && /*#__PURE__*/_jsx(DropdownContent, {
|
|
137
|
+
id: 'search',
|
|
138
|
+
size: size,
|
|
139
|
+
isButton: false,
|
|
140
|
+
customizationProps: {
|
|
141
|
+
items: searchList,
|
|
142
|
+
action: dropdownAction,
|
|
143
|
+
actionLabel: dropdownButtonLabel,
|
|
144
|
+
actionIcon: dropdownButtonIcon,
|
|
145
|
+
actionVariant: dropdownButtonVariant,
|
|
146
|
+
onValueUpdate: function onValueUpdate(e) {},
|
|
147
|
+
scrollable: dropdownScrollable,
|
|
148
|
+
pinTopItem: true
|
|
149
|
+
},
|
|
150
|
+
isOpen: isOpen,
|
|
151
|
+
setIsOpen: setIsOpen,
|
|
152
|
+
filter: '',
|
|
153
|
+
selectedValues: searchTerm ? [searchTerm] : [],
|
|
154
|
+
setSelectedValues: function setSelectedValues(e) {
|
|
155
|
+
return _setSearchTerm(e[0]);
|
|
156
|
+
},
|
|
157
|
+
messageOnNoResults: '',
|
|
158
|
+
focused: null,
|
|
159
|
+
setFocused: function setFocused() {}
|
|
160
|
+
})]
|
|
101
161
|
}), validationMessage && /*#__PURE__*/_jsxs(ErrorMessage, {
|
|
102
162
|
className: size || '',
|
|
103
163
|
children: [/*#__PURE__*/_jsx(TechnicalWarning, {
|
|
@@ -121,7 +181,15 @@ SearchBar.propTypes = {
|
|
|
121
181
|
disabled: _pt.bool,
|
|
122
182
|
validationMessage: _pt.string,
|
|
123
183
|
onKeyDown: _pt.func,
|
|
124
|
-
margin: _pt.string
|
|
184
|
+
margin: _pt.string,
|
|
185
|
+
showDropdown: _pt.bool,
|
|
186
|
+
dropdownButtonIcon: _pt.node,
|
|
187
|
+
dropdownButtonLabel: _pt.string,
|
|
188
|
+
dropdownButtonVariant: _pt.oneOf(['primary', 'secondary', 'tertiary']),
|
|
189
|
+
dropdownButtonAction: _pt.func,
|
|
190
|
+
searchList: _pt.array,
|
|
191
|
+
addToSearchList: _pt.func,
|
|
192
|
+
dropdownScrollable: _pt.bool
|
|
125
193
|
};
|
|
126
194
|
export default SearchBar;
|
|
127
195
|
//# sourceMappingURL=SearchBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/InputFields/SearchBar.tsx"],"names":["React","COLORS","Search","SearchIcon","Clear","ClearIcon","TechnicalWarning","ErrorMessage","InputWrapper","SearchIconWrapper","IconButton","SearchBarInput","SearchField","styled","ClearIconWrapper","div","SearchBar","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","validationMessage","onKeyDown","size","margin","containerRef","useRef","isPressingEnter","e","key","preventDefault","stopPropagation","term","concat","critical_400"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {COLORS} from '../styles/index';\nimport {Search as SearchIcon, Clear as ClearIcon, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {ErrorMessage, InputWrapper, SearchIconWrapper} from './styling';\nimport {IconButton} from '../Button';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField from './components/SearchField';\nimport {Size} from '../types';\nimport styled from 'styled-components';\n\ntype SeachBarProps = {\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 validationMessage?: string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: Size.Small | Size.Medium;\n margin?: string;\n};\n\nconst ClearIconWrapper = styled.div`\n display: flex;\n align-items: center;\n\n &.hidden {\n display: none !important;\n }\n`;\n\nconst SearchBar: React.FunctionComponent<SeachBarProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n validationMessage,\n onKeyDown,\n size,\n margin = '4px 0',\n }) => {\n const containerRef = React.useRef<any>(null);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n return (\n <>\n <InputWrapper\n disabled={disabled}\n margin={margin}>\n <SearchField id={'id'} size={size}\n ref={containerRef}\n searchTerm={searchTerm}\n disabled={disabled}\n validationMessage={validationMessage}>\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n size={size}\n disabled={disabled}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n onKeyDown={onKeyDown}\n enterSearch={enterSearch}\n focusParentRefs={[containerRef]}\n />\n <SearchIconWrapper className={size ? size : ''} aria-label={performSearchLabel}>\n <IconButton id={`${id}_Search`}\n variant=\"secondary\"\n shape=\"circular\"\n action={enterSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? enterSearch(e) : null)}>\n <SearchIcon size=\"24px\"/>\n </IconButton>\n </SearchIconWrapper>\n <ClearIconWrapper className={(size ? size : '').concat(!searchTerm ? ' hidden' : '')}>\n <IconButton id={`${id}_Clear`}\n variant=\"secondary\"\n shape=\"circular\"\n action={removeSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? removeSearch(e) : null)}>\n <ClearIcon size=\"24px\"/>\n </IconButton>\n </ClearIconWrapper>\n </SearchField>\n </InputWrapper>\n {validationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning color={COLORS.critical_400} className={size || ''}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default SearchBar;\n"],"file":"SearchBar.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/SearchBar.tsx"],"names":["React","COLORS","Search","SearchIcon","Clear","ClearIcon","TechnicalWarning","ErrorMessage","InputWrapper","SearchIconWrapper","IconButton","SearchBarInput","SearchField","styled","DropdownContent","useClickOutsideRef","ClearIconWrapper","div","SearchBar","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","validationMessage","onKeyDown","size","margin","showDropdown","dropdownButtonIcon","dropdownButtonLabel","dropdownButtonVariant","dropdownButtonAction","searchList","addToSearchList","dropdownScrollable","containerRef","useRef","useState","isOpen","setIsOpen","dropdownRef","isPressingEnter","e","key","preventDefault","stopPropagation","enteredSearchTerm","value","target","dropdownAction","term","concat","items","action","actionLabel","actionIcon","actionVariant","onValueUpdate","scrollable","pinTopItem","critical_400"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {COLORS} from '../styles/index';\nimport {Search as SearchIcon, Clear as ClearIcon, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {ErrorMessage, InputWrapper, SearchIconWrapper} from './styling';\nimport {IconButton} from '../Button';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField from './components/SearchField';\nimport {Size} from '../types';\nimport styled from 'styled-components';\nimport { DropdownContent, DropdownItem } from '../Dropdown';\nimport { useClickOutsideRef } from '../common';\n\ntype SeachBarProps = {\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 validationMessage?: string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: Size.Small | Size.Medium;\n margin?: string;\n showDropdown?: boolean;\n dropdownButtonIcon?: React.ReactNode;\n dropdownButtonLabel?: string;\n dropdownButtonVariant?: 'primary' | 'secondary' | 'tertiary';\n dropdownButtonAction?: () => boolean | void | undefined;\n searchList?: DropdownItem[];\n addToSearchList?: (e: DropdownItem) => void;\n dropdownScrollable?: boolean;\n};\n\nconst ClearIconWrapper = styled.div`\n display: flex;\n align-items: center;\n\n &.hidden {\n display: none !important;\n }\n`;\n\nconst SearchBar: React.FunctionComponent<SeachBarProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n validationMessage,\n onKeyDown,\n size,\n margin = '4px 0',\n showDropdown,\n dropdownButtonIcon,\n dropdownButtonLabel,\n dropdownButtonVariant,\n dropdownButtonAction,\n searchList=[],\n addToSearchList,\n dropdownScrollable\n }) => {\n const containerRef = React.useRef<any>(null);\n\n const [isOpen, setIsOpen] = React.useState(false);\n const dropdownRef = useClickOutsideRef(()=>setIsOpen(false), [containerRef]);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n const enteredSearchTerm = (e: any) => {\n addToSearchList && addToSearchList({value:e.target.value});\n enterSearch(e);\n }\n\n const dropdownAction = () => {\n if(dropdownButtonAction)\n dropdownButtonAction(); \n }\n\n return (\n <>\n <InputWrapper\n disabled={disabled}\n margin={margin}>\n <SearchField id={'id'} size={size}\n ref={containerRef}\n searchTerm={searchTerm}\n disabled={disabled}\n validationMessage={validationMessage}>\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n size={size}\n disabled={disabled}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n onKeyDown={onKeyDown}\n enterSearch={enteredSearchTerm}\n focusParentRefs={[containerRef]}\n onClick={()=>setIsOpen(!isOpen)}\n ref={dropdownRef}\n />\n <SearchIconWrapper className={size ? size : ''} aria-label={performSearchLabel}>\n <IconButton id={`${id}_Search`}\n variant=\"secondary\"\n shape=\"circular\"\n action={enterSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? enterSearch(e) : null)}>\n <SearchIcon size=\"24px\"/>\n </IconButton>\n </SearchIconWrapper>\n <ClearIconWrapper className={(size ? size : '').concat(!searchTerm ? ' hidden' : '')}>\n <IconButton id={`${id}_Clear`}\n variant=\"secondary\"\n shape=\"circular\"\n action={removeSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? removeSearch(e) : null)}>\n <ClearIcon size=\"24px\"/>\n </IconButton>\n </ClearIconWrapper>\n </SearchField>\n\n {showDropdown && <DropdownContent id={'search'} \n size={size}\n isButton={false}\n customizationProps={{\n items:searchList,\n action: dropdownAction,\n actionLabel: dropdownButtonLabel,\n actionIcon: dropdownButtonIcon,\n actionVariant: dropdownButtonVariant,\n onValueUpdate:(e)=>{},\n scrollable: dropdownScrollable,\n pinTopItem: true\n }}\n isOpen={isOpen}\n setIsOpen={setIsOpen}\n filter={''}\n selectedValues={searchTerm ? [searchTerm] : []}\n setSelectedValues={(e)=>setSearchTerm(e[0])}\n messageOnNoResults={''}\n focused={null}\n setFocused={()=>{}}\n />}\n\n </InputWrapper>\n {validationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning color={COLORS.critical_400} className={size || ''}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default SearchBar;\n"],"file":"SearchBar.js"}
|
|
@@ -9,6 +9,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
+
|
|
12
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
17
|
|
|
14
18
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -25,11 +29,17 @@ var _common = require("../common");
|
|
|
25
29
|
|
|
26
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
31
|
|
|
32
|
+
var _excluded = ["id", "disabled", "readOnly", "onChange", "value", "validationMessage", "type", "autoComplete", "placeholder", "required", "pattern", "maxLength", "withoutBorder", "state", "size", "margin", "note", "className"];
|
|
33
|
+
|
|
28
34
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
35
|
|
|
30
36
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
37
|
|
|
32
|
-
var
|
|
38
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
39
|
+
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
41
|
+
|
|
42
|
+
var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
33
43
|
var id = _ref.id,
|
|
34
44
|
disabled = _ref.disabled,
|
|
35
45
|
readOnly = _ref.readOnly,
|
|
@@ -47,8 +57,14 @@ var TextField = function TextField(_ref) {
|
|
|
47
57
|
size = _ref.size,
|
|
48
58
|
_ref$margin = _ref.margin,
|
|
49
59
|
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin,
|
|
50
|
-
note = _ref.note
|
|
60
|
+
note = _ref.note,
|
|
61
|
+
className = _ref.className,
|
|
62
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
51
63
|
var elementRef = (0, _common.useFocusVisibleRef)();
|
|
64
|
+
React.useImperativeHandle(ref, function () {
|
|
65
|
+
return elementRef.current;
|
|
66
|
+
}, [elementRef]);
|
|
67
|
+
var cls = "".concat(state || (validationMessage ? _types.States.Invalid : ''), " ").concat(size || '');
|
|
52
68
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
53
69
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.InputWrapper, {
|
|
54
70
|
readOnly: readOnly,
|
|
@@ -59,12 +75,12 @@ var TextField = function TextField(_ref) {
|
|
|
59
75
|
e.preventDefault();
|
|
60
76
|
}
|
|
61
77
|
},
|
|
62
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.InputFieldStyling, {
|
|
78
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.InputFieldStyling, _objectSpread({
|
|
63
79
|
id: id,
|
|
64
80
|
ref: elementRef,
|
|
65
81
|
type: type || 'text',
|
|
66
82
|
value: value,
|
|
67
|
-
className:
|
|
83
|
+
className: cls,
|
|
68
84
|
tabIndex: readOnly || disabled ? -1 : 0,
|
|
69
85
|
autoComplete: autoComplete,
|
|
70
86
|
placeholder: disabled ? undefined : placeholder,
|
|
@@ -80,7 +96,7 @@ var TextField = function TextField(_ref) {
|
|
|
80
96
|
pattern: pattern,
|
|
81
97
|
maxLength: maxLength,
|
|
82
98
|
withoutBorder: withoutBorder
|
|
83
|
-
}), validationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ValidationMessage, {
|
|
99
|
+
}, rest)), validationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ValidationMessage, {
|
|
84
100
|
className: size || '',
|
|
85
101
|
type: state !== null && state !== void 0 ? state : _types.States.Invalid,
|
|
86
102
|
children: [state === _types.States.Valid ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.CheckMark, {
|
|
@@ -98,10 +114,9 @@ var TextField = function TextField(_ref) {
|
|
|
98
114
|
})]
|
|
99
115
|
})
|
|
100
116
|
});
|
|
101
|
-
};
|
|
102
|
-
|
|
117
|
+
});
|
|
103
118
|
TextField.propTypes = {
|
|
104
|
-
id: _propTypes.default.string
|
|
119
|
+
id: _propTypes.default.string,
|
|
105
120
|
disabled: _propTypes.default.bool,
|
|
106
121
|
readOnly: _propTypes.default.bool,
|
|
107
122
|
onChange: _propTypes.default.func,
|
|
@@ -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","note","elementRef","
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["TextField","React","forwardRef","ref","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","note","className","rest","elementRef","useImperativeHandle","current","cls","States","Invalid","e","preventDefault","undefined","target","Valid","COLORS","correct_400","critical_400","icon","message"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {CheckMark, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {Size, States} from '../types';\nimport {ErrorMessage, InputFieldStyling, InputWrapper, NoteMessage, ValidationMessage} from './styling';\nimport {useFocusVisibleRef} from '../common';\nimport {TextFieldNote} from './types';\n\ntype TextFieldProps =\n Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'disabled' | 'id' | 'type' | 'readOnly' | 'autoComplete' | 'pattern' | 'maxLength'>\n & {\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 note?: TextFieldNote;\n};\n\nconst TextField = React.forwardRef(({\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 note,\n className,\n ...rest\n }: TextFieldProps, ref) => {\n const elementRef = useFocusVisibleRef();\n\n React.useImperativeHandle(ref, () => elementRef.current, [elementRef]);\n\n const cls = `${state || (validationMessage ? States.Invalid : '')} ${size || ''}`;\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={cls}\n tabIndex={readOnly || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={disabled ? undefined : placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeErrorMessage={!!validationMessage && state !== States.Valid}\n required={required}\n pattern={pattern}\n maxLength={maxLength}\n withoutBorder={withoutBorder}\n {...rest}\n />\n {validationMessage && (\n <ValidationMessage className={size || ''} type={state ?? States.Invalid}>\n {state === States.Valid ? <CheckMark color={COLORS.correct_400}/> :\n <TechnicalWarning color={COLORS.critical_400}/>}\n <span>{validationMessage}</span>\n </ValidationMessage>\n )}\n {note && !disabled && (\n <NoteMessage className={size}>\n {note.icon}\n <span>{note.message}</span>\n </NoteMessage>\n )}\n </InputWrapper>\n </>\n );\n});\n\nexport default TextField;\n"],"file":"TextField.cjs"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import { Size, States } from '../types';
|
|
2
3
|
import { TextFieldNote } from './types';
|
|
3
|
-
declare type
|
|
4
|
-
id
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
readOnly?: boolean;
|
|
7
|
-
onChange?: (text: string) => void;
|
|
8
|
-
value?: string;
|
|
9
|
-
validationMessage?: string;
|
|
10
|
-
type?: string;
|
|
11
|
-
state?: States.
|
|
12
|
-
autoComplete?: string;
|
|
13
|
-
placeholder?: string;
|
|
14
|
-
required?: boolean;
|
|
15
|
-
pattern?: string;
|
|
16
|
-
maxLength?: number;
|
|
17
|
-
withoutBorder?: boolean;
|
|
18
|
-
size?: Size.Small | Size.Medium;
|
|
19
|
-
margin?: string;
|
|
20
|
-
note?: TextFieldNote;
|
|
21
|
-
}
|
|
22
|
-
declare const TextField: ({ id, disabled, readOnly, onChange, value, validationMessage, type, autoComplete, placeholder, required, pattern, maxLength, withoutBorder, state, size, margin, note, }: TextFieldProps) => JSX.Element;
|
|
4
|
+
declare const TextField: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "pattern" | "type" | "id" | "onChange" | "disabled" | "value" | "autoComplete" | "maxLength" | "readOnly"> & {
|
|
5
|
+
id?: string | undefined;
|
|
6
|
+
disabled?: boolean | undefined;
|
|
7
|
+
readOnly?: boolean | undefined;
|
|
8
|
+
onChange?: ((text: string) => void) | undefined;
|
|
9
|
+
value?: string | undefined;
|
|
10
|
+
validationMessage?: string | undefined;
|
|
11
|
+
type?: string | undefined;
|
|
12
|
+
state?: States.Valid | States.Invalid | undefined;
|
|
13
|
+
autoComplete?: string | undefined;
|
|
14
|
+
placeholder?: string | undefined;
|
|
15
|
+
required?: boolean | undefined;
|
|
16
|
+
pattern?: string | undefined;
|
|
17
|
+
maxLength?: number | undefined;
|
|
18
|
+
withoutBorder?: boolean | undefined;
|
|
19
|
+
size?: Size.Small | Size.Medium | undefined;
|
|
20
|
+
margin?: string | undefined;
|
|
21
|
+
note?: TextFieldNote | undefined;
|
|
22
|
+
} & React.RefAttributes<unknown>>;
|
|
23
23
|
export default TextField;
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
1
3
|
import _pt from "prop-types";
|
|
4
|
+
var _excluded = ["id", "disabled", "readOnly", "onChange", "value", "validationMessage", "type", "autoComplete", "placeholder", "required", "pattern", "maxLength", "withoutBorder", "state", "size", "margin", "note", "className"];
|
|
5
|
+
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
9
|
+
|
|
2
10
|
import * as React from 'react';
|
|
3
11
|
import { CheckMark, TechnicalWarning } from '../icons/systemicons/SystemIcons';
|
|
4
12
|
import { COLORS } from '../styles';
|
|
@@ -8,8 +16,7 @@ import { useFocusVisibleRef } from '../common';
|
|
|
8
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
18
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
|
-
|
|
12
|
-
var TextField = function TextField(_ref) {
|
|
19
|
+
var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
13
20
|
var id = _ref.id,
|
|
14
21
|
disabled = _ref.disabled,
|
|
15
22
|
readOnly = _ref.readOnly,
|
|
@@ -27,8 +34,15 @@ var TextField = function TextField(_ref) {
|
|
|
27
34
|
size = _ref.size,
|
|
28
35
|
_ref$margin = _ref.margin,
|
|
29
36
|
margin = _ref$margin === void 0 ? '4px 0' : _ref$margin,
|
|
30
|
-
note = _ref.note
|
|
37
|
+
note = _ref.note,
|
|
38
|
+
className = _ref.className,
|
|
39
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
40
|
+
|
|
31
41
|
var elementRef = useFocusVisibleRef();
|
|
42
|
+
React.useImperativeHandle(ref, function () {
|
|
43
|
+
return elementRef.current;
|
|
44
|
+
}, [elementRef]);
|
|
45
|
+
var cls = "".concat(state || (validationMessage ? States.Invalid : ''), " ").concat(size || '');
|
|
32
46
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
33
47
|
children: /*#__PURE__*/_jsxs(InputWrapper, {
|
|
34
48
|
readOnly: readOnly,
|
|
@@ -39,12 +53,12 @@ var TextField = function TextField(_ref) {
|
|
|
39
53
|
e.preventDefault();
|
|
40
54
|
}
|
|
41
55
|
},
|
|
42
|
-
children: [/*#__PURE__*/_jsx(InputFieldStyling, {
|
|
56
|
+
children: [/*#__PURE__*/_jsx(InputFieldStyling, _objectSpread({
|
|
43
57
|
id: id,
|
|
44
58
|
ref: elementRef,
|
|
45
59
|
type: type || 'text',
|
|
46
60
|
value: value,
|
|
47
|
-
className:
|
|
61
|
+
className: cls,
|
|
48
62
|
tabIndex: readOnly || disabled ? -1 : 0,
|
|
49
63
|
autoComplete: autoComplete,
|
|
50
64
|
placeholder: disabled ? undefined : placeholder,
|
|
@@ -60,7 +74,7 @@ var TextField = function TextField(_ref) {
|
|
|
60
74
|
pattern: pattern,
|
|
61
75
|
maxLength: maxLength,
|
|
62
76
|
withoutBorder: withoutBorder
|
|
63
|
-
}), validationMessage && /*#__PURE__*/_jsxs(ValidationMessage, {
|
|
77
|
+
}, rest)), validationMessage && /*#__PURE__*/_jsxs(ValidationMessage, {
|
|
64
78
|
className: size || '',
|
|
65
79
|
type: state !== null && state !== void 0 ? state : States.Invalid,
|
|
66
80
|
children: [state === States.Valid ? /*#__PURE__*/_jsx(CheckMark, {
|
|
@@ -78,10 +92,9 @@ var TextField = function TextField(_ref) {
|
|
|
78
92
|
})]
|
|
79
93
|
})
|
|
80
94
|
});
|
|
81
|
-
};
|
|
82
|
-
|
|
95
|
+
});
|
|
83
96
|
TextField.propTypes = {
|
|
84
|
-
id: _pt.string
|
|
97
|
+
id: _pt.string,
|
|
85
98
|
disabled: _pt.bool,
|
|
86
99
|
readOnly: _pt.bool,
|
|
87
100
|
onChange: _pt.func,
|