@laerdal/life-react-components 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +1 -1
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +2 -2
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/styles.cjs +1 -1
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +2 -2
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/Banners/Banner.cjs +3 -3
  10. package/dist/Banners/Banner.cjs.map +1 -1
  11. package/dist/Banners/Banner.js +3 -3
  12. package/dist/Banners/Banner.js.map +1 -1
  13. package/dist/Banners/styles.cjs +1 -1
  14. package/dist/Banners/styles.cjs.map +1 -1
  15. package/dist/Banners/styles.js +1 -1
  16. package/dist/Banners/styles.js.map +1 -1
  17. package/dist/Button/BackButton.cjs +5 -2
  18. package/dist/Button/BackButton.cjs.map +1 -1
  19. package/dist/Button/BackButton.js +5 -3
  20. package/dist/Button/BackButton.js.map +1 -1
  21. package/dist/Button/Button.cjs +11 -25
  22. package/dist/Button/Button.cjs.map +1 -1
  23. package/dist/Button/Button.d.ts +2 -1
  24. package/dist/Button/Button.js +12 -26
  25. package/dist/Button/Button.js.map +1 -1
  26. package/dist/Button/DualFunctionButton.cjs +29 -7
  27. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  28. package/dist/Button/DualFunctionButton.js +27 -6
  29. package/dist/Button/DualFunctionButton.js.map +1 -1
  30. package/dist/Button/Iconbutton.cjs +23 -32
  31. package/dist/Button/Iconbutton.cjs.map +1 -1
  32. package/dist/Button/Iconbutton.d.ts +3 -0
  33. package/dist/Button/Iconbutton.js +20 -32
  34. package/dist/Button/Iconbutton.js.map +1 -1
  35. package/dist/Card/Card.cjs +28 -44
  36. package/dist/Card/Card.cjs.map +1 -1
  37. package/dist/Card/Card.d.ts +3 -11
  38. package/dist/Card/Card.js +26 -44
  39. package/dist/Card/Card.js.map +1 -1
  40. package/dist/Card/CardBottomSection.cjs +33 -24
  41. package/dist/Card/CardBottomSection.cjs.map +1 -1
  42. package/dist/Card/CardBottomSection.d.ts +11 -2
  43. package/dist/Card/CardBottomSection.js +17 -24
  44. package/dist/Card/CardBottomSection.js.map +1 -1
  45. package/dist/Card/CardMiddleSection.cjs +38 -17
  46. package/dist/Card/CardMiddleSection.cjs.map +1 -1
  47. package/dist/Card/CardMiddleSection.d.ts +16 -3
  48. package/dist/Card/CardMiddleSection.js +30 -17
  49. package/dist/Card/CardMiddleSection.js.map +1 -1
  50. package/dist/Card/CardTopSection.cjs +27 -20
  51. package/dist/Card/CardTopSection.cjs.map +1 -1
  52. package/dist/Card/CardTopSection.d.ts +12 -4
  53. package/dist/Card/CardTopSection.js +17 -20
  54. package/dist/Card/CardTopSection.js.map +1 -1
  55. package/dist/Card/index.cjs +45 -9
  56. package/dist/Card/index.cjs.map +1 -1
  57. package/dist/Card/index.d.ts +3 -1
  58. package/dist/Card/index.js +3 -1
  59. package/dist/Card/index.js.map +1 -1
  60. package/dist/Chips/ActionChip.cjs +4 -4
  61. package/dist/Chips/ActionChip.cjs.map +1 -1
  62. package/dist/Chips/ActionChip.js +4 -4
  63. package/dist/Chips/ActionChip.js.map +1 -1
  64. package/dist/Chips/ChipStyles.cjs +5 -17
  65. package/dist/Chips/ChipStyles.cjs.map +1 -1
  66. package/dist/Chips/ChipStyles.d.ts +0 -3
  67. package/dist/Chips/ChipStyles.js +5 -8
  68. package/dist/Chips/ChipStyles.js.map +1 -1
  69. package/dist/Chips/ChipTypes.d.ts +7 -19
  70. package/dist/Chips/ChoiceChips.cjs +2 -2
  71. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  72. package/dist/Chips/ChoiceChips.js +2 -2
  73. package/dist/Chips/ChoiceChips.js.map +1 -1
  74. package/dist/Chips/FilterChip.cjs +3 -3
  75. package/dist/Chips/FilterChip.cjs.map +1 -1
  76. package/dist/Chips/FilterChip.js +3 -3
  77. package/dist/Chips/FilterChip.js.map +1 -1
  78. package/dist/Chips/InputChip.cjs +21 -12
  79. package/dist/Chips/InputChip.cjs.map +1 -1
  80. package/dist/Chips/InputChip.js +20 -12
  81. package/dist/Chips/InputChip.js.map +1 -1
  82. package/dist/Chips/index.cjs +1 -1
  83. package/dist/Chips/index.cjs.map +1 -1
  84. package/dist/Chips/index.d.ts +1 -1
  85. package/dist/Chips/index.js +1 -1
  86. package/dist/Chips/index.js.map +1 -1
  87. package/dist/ChipsInput/ChipDropdownInput.cjs +401 -0
  88. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -0
  89. package/dist/ChipsInput/ChipDropdownInput.d.ts +22 -0
  90. package/dist/ChipsInput/ChipDropdownInput.js +383 -0
  91. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -0
  92. package/dist/ChipsInput/ChipInput.cjs +141 -0
  93. package/dist/ChipsInput/ChipInput.cjs.map +1 -0
  94. package/dist/{Chips → ChipsInput}/ChipInput.d.ts +1 -4
  95. package/dist/ChipsInput/ChipInput.js +122 -0
  96. package/dist/ChipsInput/ChipInput.js.map +1 -0
  97. package/dist/ChipsInput/ChipInputField.cjs +238 -0
  98. package/dist/ChipsInput/ChipInputField.cjs.map +1 -0
  99. package/dist/ChipsInput/ChipInputField.d.ts +25 -0
  100. package/dist/ChipsInput/ChipInputField.js +198 -0
  101. package/dist/ChipsInput/ChipInputField.js.map +1 -0
  102. package/dist/ChipsInput/ChipInputTypes.cjs +6 -0
  103. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -0
  104. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -0
  105. package/dist/ChipsInput/ChipInputTypes.js +2 -0
  106. package/dist/ChipsInput/ChipInputTypes.js.map +1 -0
  107. package/dist/ChipsInput/index.cjs +19 -0
  108. package/dist/ChipsInput/index.cjs.map +1 -0
  109. package/dist/ChipsInput/index.d.ts +1 -0
  110. package/dist/ChipsInput/index.js +2 -0
  111. package/dist/ChipsInput/index.js.map +1 -0
  112. package/dist/Dropdown/BasicDropdown.cjs +31 -11
  113. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  114. package/dist/Dropdown/BasicDropdown.js +33 -12
  115. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  116. package/dist/Dropdown/CommonStyling.cjs +12 -10
  117. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  118. package/dist/Dropdown/CommonStyling.js +12 -11
  119. package/dist/Dropdown/CommonStyling.js.map +1 -1
  120. package/dist/Dropdown/DropdownButton.cjs +22 -15
  121. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  122. package/dist/Dropdown/DropdownButton.js +21 -15
  123. package/dist/Dropdown/DropdownButton.js.map +1 -1
  124. package/dist/Dropdown/DropdownContent.cjs +167 -132
  125. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  126. package/dist/Dropdown/DropdownContent.d.ts +2 -2
  127. package/dist/Dropdown/DropdownContent.js +164 -133
  128. package/dist/Dropdown/DropdownContent.js.map +1 -1
  129. package/dist/Dropdown/DropdownFilter.cjs +66 -24
  130. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  131. package/dist/Dropdown/DropdownFilter.js +65 -25
  132. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  133. package/dist/Dropdown/index.cjs +0 -8
  134. package/dist/Dropdown/index.cjs.map +1 -1
  135. package/dist/Dropdown/index.d.ts +1 -2
  136. package/dist/Dropdown/index.js +1 -2
  137. package/dist/Dropdown/index.js.map +1 -1
  138. package/dist/Footer/Components/FooterDropdownLinks.cjs +6 -3
  139. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  140. package/dist/Footer/Components/FooterDropdownLinks.js +6 -4
  141. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  142. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +5 -3
  143. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  144. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +5 -4
  145. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  146. package/dist/Footer/Components/FooterTop.cjs +2 -1
  147. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  148. package/dist/Footer/Components/FooterTop.js +3 -2
  149. package/dist/Footer/Components/FooterTop.js.map +1 -1
  150. package/dist/GlobalNavigationBar/Avatar.cjs +5 -7
  151. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -1
  152. package/dist/GlobalNavigationBar/Avatar.js +5 -8
  153. package/dist/GlobalNavigationBar/Avatar.js.map +1 -1
  154. package/dist/GlobalNavigationBar/Logo.cjs +9 -6
  155. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  156. package/dist/GlobalNavigationBar/Logo.d.ts +2 -1
  157. package/dist/GlobalNavigationBar/Logo.js +9 -7
  158. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  159. package/dist/GlobalNavigationBar/MainMenu.cjs +10 -13
  160. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -1
  161. package/dist/GlobalNavigationBar/MainMenu.js +9 -13
  162. package/dist/GlobalNavigationBar/MainMenu.js.map +1 -1
  163. package/dist/GlobalNavigationBar/RightSideNav.cjs +3 -5
  164. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -1
  165. package/dist/GlobalNavigationBar/RightSideNav.js +2 -5
  166. package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -1
  167. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +4 -0
  168. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -1
  169. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +3 -0
  170. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +1 -1
  171. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +1 -1
  172. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  173. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
  174. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  175. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  176. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  177. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
  178. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  179. package/dist/HyperLink/styling.cjs +1 -1
  180. package/dist/HyperLink/styling.cjs.map +1 -1
  181. package/dist/HyperLink/styling.js +1 -1
  182. package/dist/HyperLink/styling.js.map +1 -1
  183. package/dist/Image/ImageWithFallbacks.cjs +3 -1
  184. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  185. package/dist/Image/ImageWithFallbacks.js +3 -1
  186. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  187. package/dist/InputFields/Checkbox.cjs +11 -8
  188. package/dist/InputFields/Checkbox.cjs.map +1 -1
  189. package/dist/InputFields/Checkbox.d.ts +1 -0
  190. package/dist/InputFields/Checkbox.js +12 -9
  191. package/dist/InputFields/Checkbox.js.map +1 -1
  192. package/dist/InputFields/DatepickerField.cjs +4 -4
  193. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  194. package/dist/InputFields/DatepickerField.js +5 -5
  195. package/dist/InputFields/DatepickerField.js.map +1 -1
  196. package/dist/InputFields/QuickSearch.cjs +119 -96
  197. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  198. package/dist/InputFields/QuickSearch.js +119 -96
  199. package/dist/InputFields/QuickSearch.js.map +1 -1
  200. package/dist/InputFields/RadioButton.cjs +10 -7
  201. package/dist/InputFields/RadioButton.cjs.map +1 -1
  202. package/dist/InputFields/RadioButton.d.ts +1 -0
  203. package/dist/InputFields/RadioButton.js +11 -8
  204. package/dist/InputFields/RadioButton.js.map +1 -1
  205. package/dist/InputFields/SearchBar.cjs +3 -3
  206. package/dist/InputFields/SearchBar.cjs.map +1 -1
  207. package/dist/InputFields/SearchBar.js +3 -3
  208. package/dist/InputFields/SearchBar.js.map +1 -1
  209. package/dist/InputFields/Textarea.cjs +1 -1
  210. package/dist/InputFields/Textarea.cjs.map +1 -1
  211. package/dist/InputFields/Textarea.js +1 -1
  212. package/dist/InputFields/Textarea.js.map +1 -1
  213. package/dist/InputFields/components/SearchBarInput.cjs +6 -8
  214. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  215. package/dist/InputFields/components/SearchBarInput.d.ts +0 -3
  216. package/dist/InputFields/components/SearchBarInput.js +4 -5
  217. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  218. package/dist/InputFields/components/SearchField.cjs +29 -19
  219. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  220. package/dist/InputFields/components/SearchField.d.ts +8 -8
  221. package/dist/InputFields/components/SearchField.js +25 -18
  222. package/dist/InputFields/components/SearchField.js.map +1 -1
  223. package/dist/InputFields/styling.cjs +6 -8
  224. package/dist/InputFields/styling.cjs.map +1 -1
  225. package/dist/InputFields/styling.js +7 -8
  226. package/dist/InputFields/styling.js.map +1 -1
  227. package/dist/List/ListRow.cjs +5 -5
  228. package/dist/List/ListRow.cjs.map +1 -1
  229. package/dist/List/ListRow.js +8 -5
  230. package/dist/List/ListRow.js.map +1 -1
  231. package/dist/LoadingIndicator/LoadingIndicator.cjs +6 -1
  232. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  233. package/dist/LoadingIndicator/LoadingIndicator.d.ts +2 -1
  234. package/dist/LoadingIndicator/LoadingIndicator.js +6 -1
  235. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  236. package/dist/MenuItem/MenuItem.cjs +6 -2
  237. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  238. package/dist/MenuItem/MenuItem.d.ts +1 -0
  239. package/dist/MenuItem/MenuItem.js +7 -3
  240. package/dist/MenuItem/MenuItem.js.map +1 -1
  241. package/dist/Modals/ModalContainer.cjs +78 -38
  242. package/dist/Modals/ModalContainer.cjs.map +1 -1
  243. package/dist/Modals/ModalContainer.d.ts +15 -8
  244. package/dist/Modals/ModalContainer.js +78 -36
  245. package/dist/Modals/ModalContainer.js.map +1 -1
  246. package/dist/Modals/ModalContent.cjs +0 -1
  247. package/dist/Modals/ModalContent.cjs.map +1 -1
  248. package/dist/Modals/ModalContent.d.ts +0 -1
  249. package/dist/Modals/ModalContent.js +0 -1
  250. package/dist/Modals/ModalContent.js.map +1 -1
  251. package/dist/Modals/ModalDialog.cjs +18 -26
  252. package/dist/Modals/ModalDialog.cjs.map +1 -1
  253. package/dist/Modals/ModalDialog.d.ts +1 -1
  254. package/dist/Modals/ModalDialog.js +19 -26
  255. package/dist/Modals/ModalDialog.js.map +1 -1
  256. package/dist/Modals/ModalStyles.cjs +33 -25
  257. package/dist/Modals/ModalStyles.cjs.map +1 -1
  258. package/dist/Modals/ModalStyles.d.ts +7 -1
  259. package/dist/Modals/ModalStyles.js +26 -24
  260. package/dist/Modals/ModalStyles.js.map +1 -1
  261. package/dist/NavItem/NavItem.cjs +1 -1
  262. package/dist/NavItem/NavItem.cjs.map +1 -1
  263. package/dist/NavItem/NavItem.js +2 -2
  264. package/dist/NavItem/NavItem.js.map +1 -1
  265. package/dist/Paginator/Paginator.cjs +1 -1
  266. package/dist/Paginator/Paginator.cjs.map +1 -1
  267. package/dist/Paginator/Paginator.js +2 -2
  268. package/dist/Paginator/Paginator.js.map +1 -1
  269. package/dist/QuizButton/QuizButton.cjs +4 -8
  270. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  271. package/dist/QuizButton/QuizButton.js +5 -9
  272. package/dist/QuizButton/QuizButton.js.map +1 -1
  273. package/dist/SegmentControl/SegmentControl.cjs +1 -1
  274. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  275. package/dist/SegmentControl/SegmentControl.js +2 -2
  276. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  277. package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
  278. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  279. package/dist/Switcher/SwitcherMenuItem.js +2 -2
  280. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  281. package/dist/Table/TableStyles.cjs +4 -4
  282. package/dist/Table/TableStyles.cjs.map +1 -1
  283. package/dist/Table/TableStyles.js +5 -5
  284. package/dist/Table/TableStyles.js.map +1 -1
  285. package/dist/Tabs/HorizontalTabs.cjs +5 -1
  286. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  287. package/dist/Tabs/HorizontalTabs.js +6 -3
  288. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  289. package/dist/Tabs/TabLink.cjs +48 -45
  290. package/dist/Tabs/TabLink.cjs.map +1 -1
  291. package/dist/Tabs/TabLink.js +47 -46
  292. package/dist/Tabs/TabLink.js.map +1 -1
  293. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  294. package/dist/Tabs/VerticalTabs.js.map +1 -1
  295. package/dist/Toasters/Toast.cjs +2 -0
  296. package/dist/Toasters/Toast.cjs.map +1 -1
  297. package/dist/Toasters/Toast.js +2 -0
  298. package/dist/Toasters/Toast.js.map +1 -1
  299. package/dist/Toggles/ToggleButton.cjs +81 -0
  300. package/dist/Toggles/ToggleButton.cjs.map +1 -0
  301. package/dist/Toggles/ToggleButton.d.ts +14 -0
  302. package/dist/Toggles/ToggleButton.js +59 -0
  303. package/dist/Toggles/ToggleButton.js.map +1 -0
  304. package/dist/Toggles/ToggleSwitch.cjs +12 -6
  305. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  306. package/dist/Toggles/ToggleSwitch.js +11 -6
  307. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  308. package/dist/Toggles/TogglerStyles.cjs +2 -2
  309. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  310. package/dist/Toggles/TogglerStyles.js +3 -3
  311. package/dist/Toggles/TogglerStyles.js.map +1 -1
  312. package/dist/Toggles/index.cjs +8 -0
  313. package/dist/Toggles/index.cjs.map +1 -1
  314. package/dist/Toggles/index.d.ts +2 -1
  315. package/dist/Toggles/index.js +2 -1
  316. package/dist/Toggles/index.js.map +1 -1
  317. package/dist/Tooltips/TooltipStyles.cjs +2 -2
  318. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  319. package/dist/Tooltips/TooltipStyles.js +3 -3
  320. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  321. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  322. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  323. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  324. package/dist/Tooltips/TooltipWrapper.cjs +2 -0
  325. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  326. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  327. package/dist/Tooltips/TooltipWrapper.js +2 -0
  328. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  329. package/dist/common/{HoverWithin.cjs → ActionWithin.cjs} +9 -5
  330. package/dist/common/ActionWithin.cjs.map +1 -0
  331. package/dist/common/{HoverWithin.d.ts → ActionWithin.d.ts} +0 -0
  332. package/dist/common/{HoverWithin.js → ActionWithin.js} +9 -5
  333. package/dist/common/ActionWithin.js.map +1 -0
  334. package/dist/common/ClickOutside.cjs +39 -0
  335. package/dist/common/ClickOutside.cjs.map +1 -0
  336. package/dist/common/ClickOutside.d.ts +1 -0
  337. package/dist/common/ClickOutside.js +25 -0
  338. package/dist/common/ClickOutside.js.map +1 -0
  339. package/dist/common/FocusOutside.cjs +39 -0
  340. package/dist/common/FocusOutside.cjs.map +1 -0
  341. package/dist/common/FocusOutside.d.ts +1 -0
  342. package/dist/common/FocusOutside.js +25 -0
  343. package/dist/common/FocusOutside.js.map +1 -0
  344. package/dist/common/FocusVisible.cjs +67 -19
  345. package/dist/common/FocusVisible.cjs.map +1 -1
  346. package/dist/common/FocusVisible.js +66 -19
  347. package/dist/common/FocusVisible.js.map +1 -1
  348. package/dist/common/InputStyling.cjs +1 -1
  349. package/dist/common/InputStyling.cjs.map +1 -1
  350. package/dist/common/InputStyling.js +2 -2
  351. package/dist/common/InputStyling.js.map +1 -1
  352. package/dist/common/index.cjs +18 -2
  353. package/dist/common/index.cjs.map +1 -1
  354. package/dist/common/index.d.ts +3 -1
  355. package/dist/common/index.js +3 -1
  356. package/dist/common/index.js.map +1 -1
  357. package/dist/icons/index.cjs +1 -1
  358. package/dist/icons/index.cjs.map +1 -1
  359. package/dist/icons/index.js +1 -1
  360. package/dist/icons/index.js.map +1 -1
  361. package/dist/index.cjs +14 -0
  362. package/dist/index.cjs.map +1 -1
  363. package/dist/index.d.ts +1 -0
  364. package/dist/index.js +1 -0
  365. package/dist/index.js.map +1 -1
  366. package/dist/styles/focus-styles.cjs +22 -0
  367. package/dist/styles/focus-styles.cjs.map +1 -0
  368. package/dist/styles/focus-styles.d.ts +2 -0
  369. package/dist/styles/focus-styles.js +9 -0
  370. package/dist/styles/focus-styles.js.map +1 -0
  371. package/dist/styles/index.cjs +60 -0
  372. package/dist/styles/index.cjs.map +1 -1
  373. package/dist/styles/index.d.ts +1 -0
  374. package/dist/styles/index.js +1 -0
  375. package/dist/styles/index.js.map +1 -1
  376. package/package.json +1 -1
  377. package/dist/Chips/ChipInput.cjs +0 -199
  378. package/dist/Chips/ChipInput.cjs.map +0 -1
  379. package/dist/Chips/ChipInput.js +0 -182
  380. package/dist/Chips/ChipInput.js.map +0 -1
  381. package/dist/Dropdown/ChipDropdownInput.cjs +0 -431
  382. package/dist/Dropdown/ChipDropdownInput.cjs.map +0 -1
  383. package/dist/Dropdown/ChipDropdownInput.d.ts +0 -24
  384. package/dist/Dropdown/ChipDropdownInput.js +0 -418
  385. package/dist/Dropdown/ChipDropdownInput.js.map +0 -1
  386. package/dist/common/HoverWithin.cjs.map +0 -1
  387. package/dist/common/HoverWithin.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 = require("./components/SearchField");
34
+ var _SearchField = _interopRequireWildcard(require("./components/SearchField"));
35
35
 
36
36
  var _jsxRuntime = require("react/jsx-runtime");
37
37
 
@@ -41,13 +41,7 @@ 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 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
- });
44
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n\n ", " {\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: ", ";\n box-shadow: inset 0 0 0 1px ", ";\n }\n\n &.expanded:hover,\n &.expanded:focus-within {\n box-shadow: inset 0 0 0 2px ", ";\n }\n }\n"])), _SearchField.StyledSearchField, _.COLORS.white, _.COLORS.neutral_400, _.COLORS.primary_800);
51
45
 
52
46
  var QuickSearch = function QuickSearch(_ref) {
53
47
  var id = _ref.id,
@@ -65,121 +59,150 @@ var QuickSearch = function QuickSearch(_ref) {
65
59
  var searchFieldRef = React.useRef(null);
66
60
  var searchFieldInputRef = React.useRef(null);
67
61
 
68
- var _React$useState = React.useState(false),
62
+ var _React$useState = React.useState({
63
+ visible: false
64
+ }),
69
65
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
70
66
  searchFieldVisible = _React$useState2[0],
71
67
  setSearchFieldVisible = _React$useState2[1];
72
68
 
73
69
  var handleClickOutside = function handleClickOutside(e) {
74
70
  if (searchFieldRef !== null && searchFieldRef !== void 0 && searchFieldRef.current && !searchFieldRef.current.contains(e.target)) {
75
- if (searchFieldVisible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
76
- setSearchFieldVisible(false);
71
+ if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
72
+ setSearchFieldVisible({
73
+ visible: false
74
+ });
77
75
  }
78
76
  }
79
77
  };
80
78
 
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
+
81
115
  React.useEffect(function () {
82
- if (searchTerm !== null && searchTerm !== void 0 && searchTerm.length) {
83
- setSearchFieldVisible(true);
116
+ if (!!(searchTerm !== null && searchTerm !== void 0 && searchTerm.length) && !(searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible)) {
117
+ setSearchFieldVisible({
118
+ visible: true,
119
+ focus: false
120
+ });
84
121
  }
85
- }, [searchTerm]);
122
+ }, [searchTerm, searchFieldVisible]); // register click outside handler
123
+
86
124
  React.useEffect(function () {
87
125
  document.addEventListener('click', handleClickOutside);
88
126
  return function () {
89
127
  document.removeEventListener('click', handleClickOutside);
90
128
  };
91
- });
129
+ }); // focus search input on visibility change
130
+
92
131
  React.useEffect(function () {
93
- if (searchFieldVisible) {
132
+ if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible) {
94
133
  var _searchFieldInputRef$;
95
134
 
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
- }
135
+ searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$ = searchFieldInputRef.current) === null || _searchFieldInputRef$ === void 0 ? void 0 : _searchFieldInputRef$.focus({
136
+ focusVisible: searchFieldVisible.focus
137
+ });
109
138
  }
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,
139
+ }, [searchFieldVisible.visible, searchFieldInputRef]);
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
141
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_SearchField.default, {
142
+ ref: searchFieldRef,
126
143
  id: id,
127
- ref: searchFieldInputRef,
128
- disabled: disabled,
129
- onKeyDown: handleKeyDown,
130
144
  size: size,
131
- setSearchTerm: function setSearchTerm(term) {
132
- return _setSearchTerm(term);
133
- },
134
145
  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);
146
+ style: {
147
+ margin: margin
148
+ },
149
+ onBlur: handleBlur,
150
+ className: searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible ? 'expanded' : '',
151
+ children: [(searchFieldVisible === null || searchFieldVisible === void 0 ? void 0 : searchFieldVisible.visible) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchBarInput.default, {
152
+ placeholder: disabled ? '' : placeholder,
153
+ id: id,
154
+ ref: searchFieldInputRef,
155
+ disabled: disabled,
156
+ onKeyDown: handleKeyDown,
157
+ size: size,
158
+ setSearchTerm: function setSearchTerm(term) {
159
+ return _setSearchTerm(term);
149
160
  },
150
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Search, {
151
- size: "24px",
152
- color: disabled ? _.COLORS.neutral_300 : _.COLORS.neutral_600
161
+ searchTerm: searchTerm,
162
+ enterSearch: enterSearch,
163
+ focusParentRefs: [searchFieldRef]
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
+ })
153
178
  })
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
179
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.StyledIcon, {
180
+ className: size ? size : '',
181
+ role: "button",
182
+ hidden: !searchTerm || !(searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible),
183
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Iconbutton.default, {
184
+ id: "".concat(id, "_Clearicon"),
185
+ variant: "secondary",
186
+ shape: "circular",
187
+ action: function action(e) {
188
+ var _searchFieldInputRef$2;
189
+
190
+ removeSearch(e);
191
+ searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$2 = searchFieldInputRef.current) === null || _searchFieldInputRef$2 === void 0 ? void 0 : _searchFieldInputRef$2.focus();
192
+ },
193
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Clear, {
194
+ size: "24px",
195
+ color: disabled ? _.COLORS.neutral_300 : _.COLORS.neutral_600
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
173
203
  })
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
- })]
204
+ })]
205
+ })
183
206
  });
184
207
  };
185
208
 
@@ -1 +1 @@
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"}
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"}
@@ -12,16 +12,10 @@ 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 { StyledSearchField } from './components/SearchField';
15
+ import SearchField, { 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 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
- });
18
+ var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n\n ", " {\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: ", ";\n box-shadow: inset 0 0 0 1px ", ";\n }\n\n &.expanded:hover,\n &.expanded:focus-within {\n box-shadow: inset 0 0 0 2px ", ";\n }\n }\n"])), StyledSearchField, COLORS.white, COLORS.neutral_400, COLORS.primary_800);
25
19
 
26
20
  var QuickSearch = function QuickSearch(_ref) {
27
21
  var id = _ref.id,
@@ -39,121 +33,150 @@ var QuickSearch = function QuickSearch(_ref) {
39
33
  var searchFieldRef = React.useRef(null);
40
34
  var searchFieldInputRef = React.useRef(null);
41
35
 
42
- var _React$useState = React.useState(false),
36
+ var _React$useState = React.useState({
37
+ visible: false
38
+ }),
43
39
  _React$useState2 = _slicedToArray(_React$useState, 2),
44
40
  searchFieldVisible = _React$useState2[0],
45
41
  setSearchFieldVisible = _React$useState2[1];
46
42
 
47
43
  var handleClickOutside = function handleClickOutside(e) {
48
44
  if (searchFieldRef !== null && searchFieldRef !== void 0 && searchFieldRef.current && !searchFieldRef.current.contains(e.target)) {
49
- if (searchFieldVisible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
50
- setSearchFieldVisible(false);
45
+ if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible && !(searchTerm !== null && searchTerm !== void 0 && searchTerm.length)) {
46
+ setSearchFieldVisible({
47
+ visible: false
48
+ });
51
49
  }
52
50
  }
53
51
  };
54
52
 
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
+
55
89
  React.useEffect(function () {
56
- if (searchTerm !== null && searchTerm !== void 0 && searchTerm.length) {
57
- setSearchFieldVisible(true);
90
+ if (!!(searchTerm !== null && searchTerm !== void 0 && searchTerm.length) && !(searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible)) {
91
+ setSearchFieldVisible({
92
+ visible: true,
93
+ focus: false
94
+ });
58
95
  }
59
- }, [searchTerm]);
96
+ }, [searchTerm, searchFieldVisible]); // register click outside handler
97
+
60
98
  React.useEffect(function () {
61
99
  document.addEventListener('click', handleClickOutside);
62
100
  return function () {
63
101
  document.removeEventListener('click', handleClickOutside);
64
102
  };
65
- });
103
+ }); // focus search input on visibility change
104
+
66
105
  React.useEffect(function () {
67
- if (searchFieldVisible) {
106
+ if (searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible) {
68
107
  var _searchFieldInputRef$;
69
108
 
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
- }
109
+ searchFieldInputRef === null || searchFieldInputRef === void 0 ? void 0 : (_searchFieldInputRef$ = searchFieldInputRef.current) === null || _searchFieldInputRef$ === void 0 ? void 0 : _searchFieldInputRef$.focus({
110
+ focusVisible: searchFieldVisible.focus
111
+ });
83
112
  }
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,
113
+ }, [searchFieldVisible.visible, searchFieldInputRef]);
114
+ return /*#__PURE__*/_jsx(Wrapper, {
115
+ children: /*#__PURE__*/_jsxs(SearchField, {
116
+ ref: searchFieldRef,
100
117
  id: id,
101
- ref: searchFieldInputRef,
102
- disabled: disabled,
103
- onKeyDown: handleKeyDown,
104
118
  size: size,
105
- setSearchTerm: function setSearchTerm(term) {
106
- return _setSearchTerm(term);
107
- },
108
119
  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);
120
+ style: {
121
+ margin: margin
122
+ },
123
+ onBlur: handleBlur,
124
+ className: searchFieldVisible !== null && searchFieldVisible !== void 0 && searchFieldVisible.visible ? 'expanded' : '',
125
+ children: [(searchFieldVisible === null || searchFieldVisible === void 0 ? void 0 : searchFieldVisible.visible) && /*#__PURE__*/_jsx(SearchBarInput, {
126
+ placeholder: disabled ? '' : placeholder,
127
+ id: id,
128
+ ref: searchFieldInputRef,
129
+ disabled: disabled,
130
+ onKeyDown: handleKeyDown,
131
+ size: size,
132
+ setSearchTerm: function setSearchTerm(term) {
133
+ return _setSearchTerm(term);
123
134
  },
124
- children: /*#__PURE__*/_jsx(SearchIcon, {
125
- size: "24px",
126
- color: disabled ? COLORS.neutral_300 : COLORS.neutral_600
135
+ searchTerm: searchTerm,
136
+ enterSearch: enterSearch,
137
+ focusParentRefs: [searchFieldRef]
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
+ })
127
152
  })
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
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
+ })
171
+ })
172
+ }), loading && (searchFieldVisible === null || searchFieldVisible === void 0 ? void 0 : searchFieldVisible.visible) && /*#__PURE__*/_jsx(StyledIcon, {
173
+ className: size ? size : '',
174
+ children: /*#__PURE__*/_jsx(LoadingIndicator, {
175
+ size: Size.Small,
176
+ color: COLORS.neutral_600
147
177
  })
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
- })]
178
+ })]
179
+ })
157
180
  });
158
181
  };
159
182