@laerdal/life-react-components 1.7.0-dev.8.full → 1.7.0-dev.95
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/ContentAccordion.cjs +1 -1
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.js +2 -2
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/styles.cjs +1 -1
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +2 -2
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/Banners/Banner.cjs +3 -3
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.js +3 -3
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/styles.cjs +1 -1
- package/dist/Banners/styles.cjs.map +1 -1
- package/dist/Banners/styles.js +1 -1
- package/dist/Banners/styles.js.map +1 -1
- package/dist/Button/BackButton.cjs +2 -2
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.js +3 -3
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/Button.cjs +21 -8
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.d.ts +0 -1
- package/dist/Button/Button.js +22 -9
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +27 -14
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +0 -2
- package/dist/Button/Iconbutton.js +28 -15
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/Card.cjs +44 -28
- package/dist/Card/Card.cjs.map +1 -1
- package/dist/Card/Card.d.ts +11 -3
- package/dist/Card/Card.js +44 -26
- package/dist/Card/Card.js.map +1 -1
- package/dist/Card/CardBottomSection.cjs +9 -2
- package/dist/Card/CardBottomSection.cjs.map +1 -1
- package/dist/Card/CardBottomSection.d.ts +2 -1
- package/dist/Card/CardBottomSection.js +10 -3
- package/dist/Card/CardBottomSection.js.map +1 -1
- package/dist/Card/CardMiddleSection.cjs +7 -2
- package/dist/Card/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/CardMiddleSection.d.ts +2 -0
- package/dist/Card/CardMiddleSection.js +8 -3
- package/dist/Card/CardMiddleSection.js.map +1 -1
- package/dist/Card/CardTopSection.cjs +12 -9
- package/dist/Card/CardTopSection.cjs.map +1 -1
- package/dist/Card/CardTopSection.d.ts +4 -2
- package/dist/Card/CardTopSection.js +13 -10
- package/dist/Card/CardTopSection.js.map +1 -1
- package/dist/Card/index.cjs +13 -1
- package/dist/Card/index.cjs.map +1 -1
- package/dist/Card/index.d.ts +1 -0
- package/dist/Card/index.js +1 -0
- package/dist/Card/index.js.map +1 -1
- package/dist/Chips/ActionChip.cjs +4 -4
- package/dist/Chips/ActionChip.cjs.map +1 -1
- package/dist/Chips/ActionChip.js +4 -4
- package/dist/Chips/ActionChip.js.map +1 -1
- package/dist/Chips/ChipInput.cjs +199 -0
- package/dist/Chips/ChipInput.cjs.map +1 -0
- package/dist/{ChipsInput → Chips}/ChipInput.d.ts +4 -1
- package/dist/Chips/ChipInput.js +182 -0
- package/dist/Chips/ChipInput.js.map +1 -0
- package/dist/Chips/ChipStyles.cjs +15 -3
- package/dist/Chips/ChipStyles.cjs.map +1 -1
- package/dist/Chips/ChipStyles.d.ts +3 -0
- package/dist/Chips/ChipStyles.js +6 -3
- package/dist/Chips/ChipStyles.js.map +1 -1
- package/dist/Chips/ChipTypes.d.ts +18 -6
- package/dist/Chips/ChoiceChips.cjs +2 -2
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +2 -2
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +3 -3
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +3 -3
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/InputChip.cjs +4 -4
- package/dist/Chips/InputChip.cjs.map +1 -1
- package/dist/Chips/InputChip.js +4 -4
- package/dist/Chips/InputChip.js.map +1 -1
- package/dist/Chips/index.cjs +1 -1
- package/dist/Chips/index.cjs.map +1 -1
- package/dist/Chips/index.d.ts +1 -1
- package/dist/Chips/index.js +1 -1
- package/dist/Chips/index.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +0 -1
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +1 -2
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/ChipDropdownInput.cjs +431 -0
- package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
- package/dist/Dropdown/ChipDropdownInput.d.ts +24 -0
- package/dist/Dropdown/ChipDropdownInput.js +418 -0
- package/dist/Dropdown/ChipDropdownInput.js.map +1 -0
- package/dist/Dropdown/CommonStyling.cjs +5 -7
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +6 -7
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +22 -17
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +22 -17
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/index.cjs +8 -0
- package/dist/Dropdown/index.cjs.map +1 -1
- package/dist/Dropdown/index.d.ts +2 -1
- package/dist/Dropdown/index.js +2 -1
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.cjs +3 -6
- package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
- package/dist/Footer/Components/FooterDropdownLinks.js +4 -6
- package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +3 -5
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -5
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/Footer/Components/FooterTop.cjs +1 -2
- package/dist/Footer/Components/FooterTop.cjs.map +1 -1
- package/dist/Footer/Components/FooterTop.js +2 -3
- package/dist/Footer/Components/FooterTop.js.map +1 -1
- package/dist/GlobalNavigationBar/Avatar.cjs +7 -5
- package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/Avatar.js +8 -5
- package/dist/GlobalNavigationBar/Avatar.js.map +1 -1
- package/dist/GlobalNavigationBar/Logo.cjs +6 -9
- package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
- package/dist/GlobalNavigationBar/Logo.d.ts +1 -2
- package/dist/GlobalNavigationBar/Logo.js +7 -9
- package/dist/GlobalNavigationBar/Logo.js.map +1 -1
- package/dist/GlobalNavigationBar/MainMenu.cjs +13 -11
- package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/MainMenu.js +13 -10
- package/dist/GlobalNavigationBar/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/RightSideNav.cjs +5 -3
- package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -1
- package/dist/GlobalNavigationBar/RightSideNav.js +5 -2
- package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/HyperLink/styling.cjs +1 -1
- package/dist/HyperLink/styling.cjs.map +1 -1
- package/dist/HyperLink/styling.js +1 -1
- package/dist/HyperLink/styling.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +2 -2
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.js +3 -3
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +21 -33
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.js +22 -34
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +96 -119
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +96 -119
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +2 -2
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.js +3 -3
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +3 -3
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +3 -3
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +1 -1
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.js +1 -1
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs +8 -6
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.d.ts +3 -0
- package/dist/InputFields/components/SearchBarInput.js +5 -4
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs +19 -29
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.d.ts +8 -8
- package/dist/InputFields/components/SearchField.js +18 -25
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/styling.cjs +8 -6
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.js +8 -7
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/List/ListRow.cjs +5 -5
- package/dist/List/ListRow.cjs.map +1 -1
- package/dist/List/ListRow.js +5 -8
- package/dist/List/ListRow.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs +0 -1
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.js +1 -2
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/Modals/ModalContainer.cjs +38 -78
- package/dist/Modals/ModalContainer.cjs.map +1 -1
- package/dist/Modals/ModalContainer.d.ts +8 -15
- package/dist/Modals/ModalContainer.js +36 -78
- package/dist/Modals/ModalContainer.js.map +1 -1
- package/dist/Modals/ModalContent.cjs +1 -0
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.d.ts +1 -0
- package/dist/Modals/ModalContent.js +1 -0
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +17 -2
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.d.ts +1 -0
- package/dist/Modals/ModalDialog.js +16 -2
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/Modals/ModalStyles.cjs +8 -2
- package/dist/Modals/ModalStyles.cjs.map +1 -1
- package/dist/Modals/ModalStyles.js +8 -2
- package/dist/Modals/ModalStyles.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +1 -1
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.js +2 -2
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/Paginator/Paginator.cjs +1 -1
- package/dist/Paginator/Paginator.cjs.map +1 -1
- package/dist/Paginator/Paginator.js +2 -2
- package/dist/Paginator/Paginator.js.map +1 -1
- package/dist/QuizButton/QuizButton.cjs +8 -4
- package/dist/QuizButton/QuizButton.cjs.map +1 -1
- package/dist/QuizButton/QuizButton.js +9 -5
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/SegmentControl/SegmentControl.cjs +1 -1
- package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
- package/dist/SegmentControl/SegmentControl.js +2 -2
- package/dist/SegmentControl/SegmentControl.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.js +2 -2
- package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/Table/TableStyles.cjs +4 -4
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.js +5 -5
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Tabs/HorizontalTabs.cjs +1 -5
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
- package/dist/Tabs/HorizontalTabs.js +3 -6
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +2 -5
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.js +3 -5
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Toasters/Toast.cjs +0 -2
- package/dist/Toasters/Toast.cjs.map +1 -1
- package/dist/Toasters/Toast.js +0 -2
- package/dist/Toasters/Toast.js.map +1 -1
- package/dist/Toggles/ToggleSwitch.cjs +6 -8
- package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
- package/dist/Toggles/ToggleSwitch.js +6 -8
- package/dist/Toggles/ToggleSwitch.js.map +1 -1
- package/dist/Toggles/TogglerStyles.cjs +2 -2
- package/dist/Toggles/TogglerStyles.cjs.map +1 -1
- package/dist/Toggles/TogglerStyles.js +3 -3
- package/dist/Toggles/TogglerStyles.js.map +1 -1
- package/dist/Tooltips/TooltipStyles.cjs +2 -2
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.js +3 -3
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
- package/dist/Tooltips/TooltipTypes.d.ts +0 -1
- package/dist/Tooltips/TooltipTypes.js.map +1 -1
- package/dist/Tooltips/TooltipWrapper.cjs +0 -2
- package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
- package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
- package/dist/Tooltips/TooltipWrapper.js +0 -2
- package/dist/Tooltips/TooltipWrapper.js.map +1 -1
- package/dist/common/FocusVisible.cjs +1 -24
- package/dist/common/FocusVisible.cjs.map +1 -1
- package/dist/common/FocusVisible.js +1 -24
- package/dist/common/FocusVisible.js.map +1 -1
- package/dist/common/InputStyling.cjs +1 -1
- package/dist/common/InputStyling.cjs.map +1 -1
- package/dist/common/InputStyling.js +2 -2
- package/dist/common/InputStyling.js.map +1 -1
- package/dist/index.cjs +0 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/styles/index.cjs +0 -60
- package/dist/styles/index.cjs.map +1 -1
- package/dist/styles/index.d.ts +0 -1
- package/dist/styles/index.js +0 -1
- package/dist/styles/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +0 -398
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +0 -1
- package/dist/ChipsInput/ChipDropdownInput.d.ts +0 -22
- package/dist/ChipsInput/ChipDropdownInput.js +0 -382
- package/dist/ChipsInput/ChipDropdownInput.js.map +0 -1
- package/dist/ChipsInput/ChipInput.cjs +0 -141
- package/dist/ChipsInput/ChipInput.cjs.map +0 -1
- package/dist/ChipsInput/ChipInput.js +0 -122
- package/dist/ChipsInput/ChipInput.js.map +0 -1
- package/dist/ChipsInput/ChipInputField.cjs +0 -193
- package/dist/ChipsInput/ChipInputField.cjs.map +0 -1
- package/dist/ChipsInput/ChipInputField.d.ts +0 -24
- package/dist/ChipsInput/ChipInputField.js +0 -158
- package/dist/ChipsInput/ChipInputField.js.map +0 -1
- package/dist/ChipsInput/ChipInputTypes.cjs +0 -6
- package/dist/ChipsInput/ChipInputTypes.cjs.map +0 -1
- package/dist/ChipsInput/ChipInputTypes.d.ts +0 -22
- package/dist/ChipsInput/ChipInputTypes.js +0 -2
- package/dist/ChipsInput/ChipInputTypes.js.map +0 -1
- package/dist/ChipsInput/index.cjs +0 -19
- package/dist/ChipsInput/index.cjs.map +0 -1
- package/dist/ChipsInput/index.d.ts +0 -1
- package/dist/ChipsInput/index.js +0 -2
- package/dist/ChipsInput/index.js.map +0 -1
- package/dist/styles/focus-styles.cjs +0 -22
- package/dist/styles/focus-styles.cjs.map +0 -1
- package/dist/styles/focus-styles.d.ts +0 -2
- package/dist/styles/focus-styles.js +0 -9
- package/dist/styles/focus-styles.js.map +0 -1
|
@@ -31,7 +31,7 @@ var _SystemIcons = require("../icons/systemicons/SystemIcons");
|
|
|
31
31
|
|
|
32
32
|
var _SearchBarInput = _interopRequireDefault(require("./components/SearchBarInput"));
|
|
33
33
|
|
|
34
|
-
var _SearchField =
|
|
34
|
+
var _SearchField = require("./components/SearchField");
|
|
35
35
|
|
|
36
36
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
37
37
|
|
|
@@ -41,7 +41,13 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
41
41
|
|
|
42
42
|
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; }
|
|
43
43
|
|
|
44
|
-
var
|
|
44
|
+
var QuickSearchField = (0, _styledComponents.default)(_SearchField.StyledSearchField)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n -webkit-transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n \n &.expanded{\n width: 100%;\n background-color: ", ";\n }\n\n input {\n ::placeholder {\n font-style: italic;\n color: ", ";\n }\n }\n\n box-shadow: ", ";\n\n &:hover {\n box-shadow: ", ";\n }\n"])), function (props) {
|
|
45
|
+
return props.margin ? "margin: ".concat(props.margin, ";") : '';
|
|
46
|
+
}, _.COLORS.white, _.COLORS.neutral_600, function (props) {
|
|
47
|
+
return props.expanded ? "inset 0px 0px 0px 2px ".concat(_.COLORS.primary_800) : 'none !important';
|
|
48
|
+
}, function (props) {
|
|
49
|
+
return props.expanded ? "inset 0px 0px 0px 2px ".concat(_.COLORS.primary_700) : 'none !important';
|
|
50
|
+
});
|
|
45
51
|
|
|
46
52
|
var QuickSearch = function QuickSearch(_ref) {
|
|
47
53
|
var id = _ref.id,
|
|
@@ -59,150 +65,121 @@ var QuickSearch = function QuickSearch(_ref) {
|
|
|
59
65
|
var searchFieldRef = React.useRef(null);
|
|
60
66
|
var searchFieldInputRef = React.useRef(null);
|
|
61
67
|
|
|
62
|
-
var _React$useState = React.useState(
|
|
63
|
-
visible: false
|
|
64
|
-
}),
|
|
68
|
+
var _React$useState = React.useState(false),
|
|
65
69
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
66
70
|
searchFieldVisible = _React$useState2[0],
|
|
67
71
|
setSearchFieldVisible = _React$useState2[1];
|
|
68
72
|
|
|
69
73
|
var handleClickOutside = function handleClickOutside(e) {
|
|
70
74
|
if (searchFieldRef !== null && searchFieldRef !== void 0 && searchFieldRef.current && !searchFieldRef.current.contains(e.target)) {
|
|
71
|
-
if (searchFieldVisible
|
|
72
|
-
setSearchFieldVisible(
|
|
73
|
-
visible: false
|
|
74
|
-
});
|
|
75
|
+
if (searchFieldVisible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
|
|
76
|
+
setSearchFieldVisible(false);
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
79
|
};
|
|
78
80
|
|
|
79
|
-
var handleKeyDown = function handleKeyDown(e) {
|
|
80
|
-
if (onKeyDown) {
|
|
81
|
-
onKeyDown(e);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (e.key === 'Escape') {
|
|
85
|
-
if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
|
|
86
|
-
setSearchFieldVisible({
|
|
87
|
-
visible: false
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
var handleBlur = function handleBlur(e) {
|
|
94
|
-
var _searchFieldRef$curre;
|
|
95
|
-
|
|
96
|
-
if (!searchTerm && (!e.relatedTarget || !((_searchFieldRef$curre = searchFieldRef.current) !== null && _searchFieldRef$curre !== void 0 && _searchFieldRef$curre.contains(e.relatedTarget)))) {
|
|
97
|
-
setSearchFieldVisible({
|
|
98
|
-
visible: false
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
var handleSearchIconAction = function handleSearchIconAction(e) {
|
|
104
|
-
if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible) {
|
|
105
|
-
enterSearch(searchTerm);
|
|
106
|
-
} else {
|
|
107
|
-
setSearchFieldVisible({
|
|
108
|
-
visible: !searchFieldVisible.visible,
|
|
109
|
-
focus: !searchFieldVisible.visible && (e === null || e === void 0 ? void 0 : e.detail) !== 1
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}; // set search field visibility on search term change
|
|
113
|
-
|
|
114
|
-
|
|
115
81
|
React.useEffect(function () {
|
|
116
|
-
if (
|
|
117
|
-
setSearchFieldVisible(
|
|
118
|
-
visible: true,
|
|
119
|
-
focus: false
|
|
120
|
-
});
|
|
82
|
+
if (searchTerm !== null && searchTerm !== void 0 && searchTerm.length) {
|
|
83
|
+
setSearchFieldVisible(true);
|
|
121
84
|
}
|
|
122
|
-
}, [searchTerm
|
|
123
|
-
|
|
85
|
+
}, [searchTerm]);
|
|
124
86
|
React.useEffect(function () {
|
|
125
87
|
document.addEventListener('click', handleClickOutside);
|
|
126
88
|
return function () {
|
|
127
89
|
document.removeEventListener('click', handleClickOutside);
|
|
128
90
|
};
|
|
129
|
-
});
|
|
130
|
-
|
|
91
|
+
});
|
|
131
92
|
React.useEffect(function () {
|
|
132
|
-
if (searchFieldVisible
|
|
93
|
+
if (searchFieldVisible) {
|
|
133
94
|
var _searchFieldInputRef$;
|
|
134
95
|
|
|
135
|
-
searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$ = searchFieldInputRef.current) === null || _searchFieldInputRef$ === void 0 ? void 0 : _searchFieldInputRef$.focus(
|
|
136
|
-
|
|
137
|
-
|
|
96
|
+
searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$ = searchFieldInputRef.current) === null || _searchFieldInputRef$ === void 0 ? void 0 : _searchFieldInputRef$.focus();
|
|
97
|
+
}
|
|
98
|
+
}, [searchFieldVisible, searchFieldInputRef, id]);
|
|
99
|
+
|
|
100
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
101
|
+
if (onKeyDown) {
|
|
102
|
+
onKeyDown(e);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (e.key === 'Escape') {
|
|
106
|
+
if (searchFieldVisible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
|
|
107
|
+
setSearchFieldVisible(false);
|
|
108
|
+
}
|
|
138
109
|
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(QuickSearchField, {
|
|
113
|
+
ref: searchFieldRef,
|
|
114
|
+
expanded: searchFieldVisible,
|
|
115
|
+
id: "".concat(id, "_main"),
|
|
116
|
+
onBlur: function onBlur(event) {
|
|
117
|
+
if (event.relatedTarget && searchFieldRef !== null && searchFieldRef !== void 0 && searchFieldRef.current && !searchFieldRef.current.contains(event.relatedTarget) && !searchTerm) {
|
|
118
|
+
setSearchFieldVisible(false);
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"data-testid": "".concat(id, "_main"),
|
|
122
|
+
className: (searchTerm !== '' ? 'searchactive ' : '').concat(size ? size : '').concat(searchFieldVisible ? ' expanded' : ''),
|
|
123
|
+
margin: margin,
|
|
124
|
+
children: [searchFieldVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchBarInput.default, {
|
|
125
|
+
placeholder: disabled ? '' : placeholder,
|
|
143
126
|
id: id,
|
|
127
|
+
ref: searchFieldInputRef,
|
|
128
|
+
disabled: disabled,
|
|
129
|
+
onKeyDown: handleKeyDown,
|
|
144
130
|
size: size,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
margin: margin
|
|
131
|
+
setSearchTerm: function setSearchTerm(term) {
|
|
132
|
+
return _setSearchTerm(term);
|
|
148
133
|
},
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
134
|
+
searchTerm: searchTerm,
|
|
135
|
+
enterSearch: enterSearch,
|
|
136
|
+
focusParentRefs: [searchFieldRef]
|
|
137
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.SearchIconWrapper, {
|
|
138
|
+
className: size ? size : '',
|
|
139
|
+
role: "button",
|
|
140
|
+
"aria-label": performSearchLabel,
|
|
141
|
+
tabIndex: -1,
|
|
142
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Iconbutton.default, {
|
|
143
|
+
id: "".concat(id, "_Searchbutton"),
|
|
144
|
+
variant: "secondary",
|
|
145
|
+
shape: "circular",
|
|
146
|
+
tabIndex: searchFieldVisible ? -1 : 0,
|
|
147
|
+
action: function action(e) {
|
|
148
|
+
return searchFieldVisible ? enterSearch(e) : setSearchFieldVisible(!searchFieldVisible);
|
|
160
149
|
},
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.SearchIconWrapper, {
|
|
165
|
-
className: size ? size : '',
|
|
166
|
-
role: "button",
|
|
167
|
-
"aria-label": performSearchLabel,
|
|
168
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Iconbutton.default, {
|
|
169
|
-
id: "".concat(id, "_Searchbutton"),
|
|
170
|
-
variant: "secondary",
|
|
171
|
-
shape: "circular",
|
|
172
|
-
tabIndex: searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible ? -1 : 0,
|
|
173
|
-
action: handleSearchIconAction,
|
|
174
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Search, {
|
|
175
|
-
size: "24px",
|
|
176
|
-
color: disabled ? _.COLORS.neutral_300 : _.COLORS.neutral_600
|
|
177
|
-
})
|
|
150
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Search, {
|
|
151
|
+
size: "24px",
|
|
152
|
+
color: disabled ? _.COLORS.neutral_300 : _.COLORS.neutral_600
|
|
178
153
|
})
|
|
179
|
-
})
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}), loading && (searchFieldVisible === null || searchFieldVisible === void 0 ? void 0 : searchFieldVisible.visible) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.StyledIcon, {
|
|
199
|
-
className: size ? size : '',
|
|
200
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.LoadingIndicator, {
|
|
201
|
-
size: _types.Size.Small,
|
|
202
|
-
color: _.COLORS.neutral_600
|
|
154
|
+
})
|
|
155
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.StyledIcon, {
|
|
156
|
+
className: size ? size : '',
|
|
157
|
+
role: "button",
|
|
158
|
+
tabIndex: -1,
|
|
159
|
+
hidden: searchTerm === '' || searchTerm === undefined || !searchFieldVisible,
|
|
160
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Iconbutton.default, {
|
|
161
|
+
id: "".concat(id, "_Clearicon"),
|
|
162
|
+
variant: "secondary",
|
|
163
|
+
shape: "circular",
|
|
164
|
+
action: function action(e) {
|
|
165
|
+
var _searchFieldInputRef$2;
|
|
166
|
+
|
|
167
|
+
removeSearch(e);
|
|
168
|
+
searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$2 = searchFieldInputRef.current) === null || _searchFieldInputRef$2 === void 0 ? void 0 : _searchFieldInputRef$2.focus();
|
|
169
|
+
},
|
|
170
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Clear, {
|
|
171
|
+
size: "24px",
|
|
172
|
+
color: disabled ? _.COLORS.neutral_300 : _.COLORS.neutral_600
|
|
203
173
|
})
|
|
204
|
-
})
|
|
205
|
-
})
|
|
174
|
+
})
|
|
175
|
+
}), loading && searchFieldVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.StyledIcon, {
|
|
176
|
+
className: size ? size : '',
|
|
177
|
+
tabIndex: -1,
|
|
178
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.LoadingIndicator, {
|
|
179
|
+
size: _types.Size.Small,
|
|
180
|
+
color: _.COLORS.neutral_600
|
|
181
|
+
})
|
|
182
|
+
})]
|
|
206
183
|
});
|
|
207
184
|
};
|
|
208
185
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/InputFields/QuickSearch.tsx"],"names":["Wrapper","styled","div","StyledSearchField","COLORS","white","neutral_400","primary_800","QuickSearch","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","searchFieldRef","React","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","Size","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.cjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/InputFields/QuickSearch.tsx"],"names":["QuickSearchField","StyledSearchField","props","margin","COLORS","white","neutral_600","expanded","primary_800","primary_700","QuickSearch","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","loading","searchFieldRef","React","useRef","searchFieldInputRef","useState","searchFieldVisible","setSearchFieldVisible","handleClickOutside","e","current","contains","target","length","useEffect","document","addEventListener","removeEventListener","focus","handleKeyDown","key","event","relatedTarget","concat","term","neutral_300","undefined","Size","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 { StyledSearchField } from './components/SearchField';\n\nconst QuickSearchField = styled(StyledSearchField)<{ expanded: boolean; margin?: string }>`\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n -webkit-transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n \n &.expanded{\n width: 100%;\n background-color: ${COLORS.white};\n }\n\n input {\n ::placeholder {\n font-style: italic;\n color: ${COLORS.neutral_600};\n }\n }\n\n box-shadow: ${(props) => (props.expanded ? `inset 0px 0px 0px 2px ${COLORS.primary_800}` : 'none !important')};\n\n &:hover {\n box-shadow: ${(props) => (props.expanded ? `inset 0px 0px 0px 2px ${COLORS.primary_700}` : 'none !important')};\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<boolean>(false);\n\n const handleClickOutside = (e: any) => {\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\n if (searchFieldVisible && !searchTerm?.length) {\n setSearchFieldVisible(false);\n }\n }\n };\n\n React.useEffect(() => {\n if (searchTerm?.length) {\n setSearchFieldVisible(true);\n }\n }, [searchTerm]);\n\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n React.useEffect(() => {\n if (searchFieldVisible) {\n searchFieldInputRef?.current?.focus();\n }\n }, [searchFieldVisible, searchFieldInputRef, id]);\n\n const handleKeyDown = (e: any) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Escape') {\n if (searchFieldVisible && !searchTerm?.length) {\n setSearchFieldVisible(false);\n }\n }\n };\n\n return (\n <QuickSearchField\n ref={searchFieldRef}\n expanded={searchFieldVisible}\n id={`${id}_main`}\n onBlur={(event: any) => {\n if (event.relatedTarget && searchFieldRef?.current && !searchFieldRef.current.contains(event.relatedTarget) && !searchTerm) {\n setSearchFieldVisible(false);\n }\n }}\n data-testid={`${id}_main`}\n className={(searchTerm !== '' ? 'searchactive ' : '').concat(size ? size : '').concat( searchFieldVisible ? ' expanded' : '')}\n margin={margin}>\n {searchFieldVisible && (\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} tabIndex={-1}>\n <IconButton\n id={`${id}_Searchbutton`}\n variant=\"secondary\"\n shape=\"circular\"\n tabIndex={searchFieldVisible ? -1 : 0}\n action={(e) => (searchFieldVisible ? enterSearch(e) : setSearchFieldVisible(!searchFieldVisible))}>\n <SearchIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600} />\n </IconButton>\n </SearchIconWrapper>\n <StyledIcon className={size ? size : ''} role=\"button\" tabIndex={-1} hidden={searchTerm === '' || searchTerm === undefined || !searchFieldVisible}>\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 && (\n <StyledIcon className={size ? size : ''} tabIndex={-1}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\n </StyledIcon>\n )}\n </QuickSearchField>\n );\n};\n\nexport default QuickSearch;\n"],"file":"QuickSearch.cjs"}
|
|
@@ -12,10 +12,16 @@ import { Size } from '../types';
|
|
|
12
12
|
import { COLORS, LoadingIndicator } from '..';
|
|
13
13
|
import { Search as SearchIcon, Clear as ClearIcon } from '../icons/systemicons/SystemIcons';
|
|
14
14
|
import SearchBarInput from './components/SearchBarInput';
|
|
15
|
-
import
|
|
15
|
+
import { StyledSearchField } from './components/SearchField';
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
-
var
|
|
18
|
+
var QuickSearchField = styled(StyledSearchField)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n -webkit-transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n \n &.expanded{\n width: 100%;\n background-color: ", ";\n }\n\n input {\n ::placeholder {\n font-style: italic;\n color: ", ";\n }\n }\n\n box-shadow: ", ";\n\n &:hover {\n box-shadow: ", ";\n }\n"])), function (props) {
|
|
19
|
+
return props.margin ? "margin: ".concat(props.margin, ";") : '';
|
|
20
|
+
}, COLORS.white, COLORS.neutral_600, function (props) {
|
|
21
|
+
return props.expanded ? "inset 0px 0px 0px 2px ".concat(COLORS.primary_800) : 'none !important';
|
|
22
|
+
}, function (props) {
|
|
23
|
+
return props.expanded ? "inset 0px 0px 0px 2px ".concat(COLORS.primary_700) : 'none !important';
|
|
24
|
+
});
|
|
19
25
|
|
|
20
26
|
var QuickSearch = function QuickSearch(_ref) {
|
|
21
27
|
var id = _ref.id,
|
|
@@ -33,150 +39,121 @@ var QuickSearch = function QuickSearch(_ref) {
|
|
|
33
39
|
var searchFieldRef = React.useRef(null);
|
|
34
40
|
var searchFieldInputRef = React.useRef(null);
|
|
35
41
|
|
|
36
|
-
var _React$useState = React.useState(
|
|
37
|
-
visible: false
|
|
38
|
-
}),
|
|
42
|
+
var _React$useState = React.useState(false),
|
|
39
43
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
40
44
|
searchFieldVisible = _React$useState2[0],
|
|
41
45
|
setSearchFieldVisible = _React$useState2[1];
|
|
42
46
|
|
|
43
47
|
var handleClickOutside = function handleClickOutside(e) {
|
|
44
48
|
if (searchFieldRef !== null && searchFieldRef !== void 0 && searchFieldRef.current && !searchFieldRef.current.contains(e.target)) {
|
|
45
|
-
if (searchFieldVisible
|
|
46
|
-
setSearchFieldVisible(
|
|
47
|
-
visible: false
|
|
48
|
-
});
|
|
49
|
+
if (searchFieldVisible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
|
|
50
|
+
setSearchFieldVisible(false);
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
};
|
|
52
54
|
|
|
53
|
-
var handleKeyDown = function handleKeyDown(e) {
|
|
54
|
-
if (onKeyDown) {
|
|
55
|
-
onKeyDown(e);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (e.key === 'Escape') {
|
|
59
|
-
if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
|
|
60
|
-
setSearchFieldVisible({
|
|
61
|
-
visible: false
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
var handleBlur = function handleBlur(e) {
|
|
68
|
-
var _searchFieldRef$curre;
|
|
69
|
-
|
|
70
|
-
if (!searchTerm && (!e.relatedTarget || !((_searchFieldRef$curre = searchFieldRef.current) !== null && _searchFieldRef$curre !== void 0 && _searchFieldRef$curre.contains(e.relatedTarget)))) {
|
|
71
|
-
setSearchFieldVisible({
|
|
72
|
-
visible: false
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
var handleSearchIconAction = function handleSearchIconAction(e) {
|
|
78
|
-
if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible) {
|
|
79
|
-
enterSearch(searchTerm);
|
|
80
|
-
} else {
|
|
81
|
-
setSearchFieldVisible({
|
|
82
|
-
visible: !searchFieldVisible.visible,
|
|
83
|
-
focus: !searchFieldVisible.visible && (e === null || e === void 0 ? void 0 : e.detail) !== 1
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}; // set search field visibility on search term change
|
|
87
|
-
|
|
88
|
-
|
|
89
55
|
React.useEffect(function () {
|
|
90
|
-
if (
|
|
91
|
-
setSearchFieldVisible(
|
|
92
|
-
visible: true,
|
|
93
|
-
focus: false
|
|
94
|
-
});
|
|
56
|
+
if (searchTerm !== null && searchTerm !== void 0 && searchTerm.length) {
|
|
57
|
+
setSearchFieldVisible(true);
|
|
95
58
|
}
|
|
96
|
-
}, [searchTerm
|
|
97
|
-
|
|
59
|
+
}, [searchTerm]);
|
|
98
60
|
React.useEffect(function () {
|
|
99
61
|
document.addEventListener('click', handleClickOutside);
|
|
100
62
|
return function () {
|
|
101
63
|
document.removeEventListener('click', handleClickOutside);
|
|
102
64
|
};
|
|
103
|
-
});
|
|
104
|
-
|
|
65
|
+
});
|
|
105
66
|
React.useEffect(function () {
|
|
106
|
-
if (searchFieldVisible
|
|
67
|
+
if (searchFieldVisible) {
|
|
107
68
|
var _searchFieldInputRef$;
|
|
108
69
|
|
|
109
|
-
searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$ = searchFieldInputRef.current) === null || _searchFieldInputRef$ === void 0 ? void 0 : _searchFieldInputRef$.focus(
|
|
110
|
-
|
|
111
|
-
|
|
70
|
+
searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$ = searchFieldInputRef.current) === null || _searchFieldInputRef$ === void 0 ? void 0 : _searchFieldInputRef$.focus();
|
|
71
|
+
}
|
|
72
|
+
}, [searchFieldVisible, searchFieldInputRef, id]);
|
|
73
|
+
|
|
74
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
75
|
+
if (onKeyDown) {
|
|
76
|
+
onKeyDown(e);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (e.key === 'Escape') {
|
|
80
|
+
if (searchFieldVisible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
|
|
81
|
+
setSearchFieldVisible(false);
|
|
82
|
+
}
|
|
112
83
|
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
return /*#__PURE__*/_jsxs(QuickSearchField, {
|
|
87
|
+
ref: searchFieldRef,
|
|
88
|
+
expanded: searchFieldVisible,
|
|
89
|
+
id: "".concat(id, "_main"),
|
|
90
|
+
onBlur: function onBlur(event) {
|
|
91
|
+
if (event.relatedTarget && searchFieldRef !== null && searchFieldRef !== void 0 && searchFieldRef.current && !searchFieldRef.current.contains(event.relatedTarget) && !searchTerm) {
|
|
92
|
+
setSearchFieldVisible(false);
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"data-testid": "".concat(id, "_main"),
|
|
96
|
+
className: (searchTerm !== '' ? 'searchactive ' : '').concat(size ? size : '').concat(searchFieldVisible ? ' expanded' : ''),
|
|
97
|
+
margin: margin,
|
|
98
|
+
children: [searchFieldVisible && /*#__PURE__*/_jsx(SearchBarInput, {
|
|
99
|
+
placeholder: disabled ? '' : placeholder,
|
|
117
100
|
id: id,
|
|
101
|
+
ref: searchFieldInputRef,
|
|
102
|
+
disabled: disabled,
|
|
103
|
+
onKeyDown: handleKeyDown,
|
|
118
104
|
size: size,
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
margin: margin
|
|
105
|
+
setSearchTerm: function setSearchTerm(term) {
|
|
106
|
+
return _setSearchTerm(term);
|
|
122
107
|
},
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
108
|
+
searchTerm: searchTerm,
|
|
109
|
+
enterSearch: enterSearch,
|
|
110
|
+
focusParentRefs: [searchFieldRef]
|
|
111
|
+
}), /*#__PURE__*/_jsx(SearchIconWrapper, {
|
|
112
|
+
className: size ? size : '',
|
|
113
|
+
role: "button",
|
|
114
|
+
"aria-label": performSearchLabel,
|
|
115
|
+
tabIndex: -1,
|
|
116
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
|
117
|
+
id: "".concat(id, "_Searchbutton"),
|
|
118
|
+
variant: "secondary",
|
|
119
|
+
shape: "circular",
|
|
120
|
+
tabIndex: searchFieldVisible ? -1 : 0,
|
|
121
|
+
action: function action(e) {
|
|
122
|
+
return searchFieldVisible ? enterSearch(e) : setSearchFieldVisible(!searchFieldVisible);
|
|
134
123
|
},
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}), /*#__PURE__*/_jsx(SearchIconWrapper, {
|
|
139
|
-
className: size ? size : '',
|
|
140
|
-
role: "button",
|
|
141
|
-
"aria-label": performSearchLabel,
|
|
142
|
-
children: /*#__PURE__*/_jsx(IconButton, {
|
|
143
|
-
id: "".concat(id, "_Searchbutton"),
|
|
144
|
-
variant: "secondary",
|
|
145
|
-
shape: "circular",
|
|
146
|
-
tabIndex: searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible ? -1 : 0,
|
|
147
|
-
action: handleSearchIconAction,
|
|
148
|
-
children: /*#__PURE__*/_jsx(SearchIcon, {
|
|
149
|
-
size: "24px",
|
|
150
|
-
color: disabled ? COLORS.neutral_300 : COLORS.neutral_600
|
|
151
|
-
})
|
|
152
|
-
})
|
|
153
|
-
}), /*#__PURE__*/_jsx(StyledIcon, {
|
|
154
|
-
className: size ? size : '',
|
|
155
|
-
role: "button",
|
|
156
|
-
hidden: !searchTerm || !(searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible),
|
|
157
|
-
children: /*#__PURE__*/_jsx(IconButton, {
|
|
158
|
-
id: "".concat(id, "_Clearicon"),
|
|
159
|
-
variant: "secondary",
|
|
160
|
-
shape: "circular",
|
|
161
|
-
action: function action(e) {
|
|
162
|
-
var _searchFieldInputRef$2;
|
|
163
|
-
|
|
164
|
-
removeSearch(e);
|
|
165
|
-
searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$2 = searchFieldInputRef.current) === null || _searchFieldInputRef$2 === void 0 ? void 0 : _searchFieldInputRef$2.focus();
|
|
166
|
-
},
|
|
167
|
-
children: /*#__PURE__*/_jsx(ClearIcon, {
|
|
168
|
-
size: "24px",
|
|
169
|
-
color: disabled ? COLORS.neutral_300 : COLORS.neutral_600
|
|
170
|
-
})
|
|
124
|
+
children: /*#__PURE__*/_jsx(SearchIcon, {
|
|
125
|
+
size: "24px",
|
|
126
|
+
color: disabled ? COLORS.neutral_300 : COLORS.neutral_600
|
|
171
127
|
})
|
|
172
|
-
})
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
128
|
+
})
|
|
129
|
+
}), /*#__PURE__*/_jsx(StyledIcon, {
|
|
130
|
+
className: size ? size : '',
|
|
131
|
+
role: "button",
|
|
132
|
+
tabIndex: -1,
|
|
133
|
+
hidden: searchTerm === '' || searchTerm === undefined || !searchFieldVisible,
|
|
134
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
|
135
|
+
id: "".concat(id, "_Clearicon"),
|
|
136
|
+
variant: "secondary",
|
|
137
|
+
shape: "circular",
|
|
138
|
+
action: function action(e) {
|
|
139
|
+
var _searchFieldInputRef$2;
|
|
140
|
+
|
|
141
|
+
removeSearch(e);
|
|
142
|
+
searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$2 = searchFieldInputRef.current) === null || _searchFieldInputRef$2 === void 0 ? void 0 : _searchFieldInputRef$2.focus();
|
|
143
|
+
},
|
|
144
|
+
children: /*#__PURE__*/_jsx(ClearIcon, {
|
|
145
|
+
size: "24px",
|
|
146
|
+
color: disabled ? COLORS.neutral_300 : COLORS.neutral_600
|
|
177
147
|
})
|
|
178
|
-
})
|
|
179
|
-
})
|
|
148
|
+
})
|
|
149
|
+
}), loading && searchFieldVisible && /*#__PURE__*/_jsx(StyledIcon, {
|
|
150
|
+
className: size ? size : '',
|
|
151
|
+
tabIndex: -1,
|
|
152
|
+
children: /*#__PURE__*/_jsx(LoadingIndicator, {
|
|
153
|
+
size: Size.Small,
|
|
154
|
+
color: COLORS.neutral_600
|
|
155
|
+
})
|
|
156
|
+
})]
|
|
180
157
|
});
|
|
181
158
|
};
|
|
182
159
|
|