@laerdal/life-react-components 1.9.9-dev.7 → 1.10.1-dev.1

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