@laerdal/life-react-components 1.7.0-dev.2 → 1.7.0-dev.20.full

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 (383) 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 +6 -6
  79. package/dist/Chips/InputChip.cjs.map +1 -1
  80. package/dist/Chips/InputChip.js +6 -6
  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 +211 -0
  98. package/dist/ChipsInput/ChipInputField.cjs.map +1 -0
  99. package/dist/ChipsInput/ChipInputField.d.ts +24 -0
  100. package/dist/ChipsInput/ChipInputField.js +172 -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/mobile/CommonStyles.cjs +1 -1
  168. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  169. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
  170. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  171. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  172. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  173. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
  174. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  175. package/dist/HyperLink/styling.cjs +1 -1
  176. package/dist/HyperLink/styling.cjs.map +1 -1
  177. package/dist/HyperLink/styling.js +1 -1
  178. package/dist/HyperLink/styling.js.map +1 -1
  179. package/dist/Image/ImageWithFallbacks.cjs +3 -1
  180. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  181. package/dist/Image/ImageWithFallbacks.js +3 -1
  182. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  183. package/dist/InputFields/Checkbox.cjs +11 -8
  184. package/dist/InputFields/Checkbox.cjs.map +1 -1
  185. package/dist/InputFields/Checkbox.d.ts +1 -0
  186. package/dist/InputFields/Checkbox.js +12 -9
  187. package/dist/InputFields/Checkbox.js.map +1 -1
  188. package/dist/InputFields/DatepickerField.cjs +4 -4
  189. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  190. package/dist/InputFields/DatepickerField.js +5 -5
  191. package/dist/InputFields/DatepickerField.js.map +1 -1
  192. package/dist/InputFields/QuickSearch.cjs +119 -96
  193. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  194. package/dist/InputFields/QuickSearch.js +119 -96
  195. package/dist/InputFields/QuickSearch.js.map +1 -1
  196. package/dist/InputFields/RadioButton.cjs +10 -7
  197. package/dist/InputFields/RadioButton.cjs.map +1 -1
  198. package/dist/InputFields/RadioButton.d.ts +1 -0
  199. package/dist/InputFields/RadioButton.js +11 -8
  200. package/dist/InputFields/RadioButton.js.map +1 -1
  201. package/dist/InputFields/SearchBar.cjs +3 -3
  202. package/dist/InputFields/SearchBar.cjs.map +1 -1
  203. package/dist/InputFields/SearchBar.js +3 -3
  204. package/dist/InputFields/SearchBar.js.map +1 -1
  205. package/dist/InputFields/Textarea.cjs +1 -1
  206. package/dist/InputFields/Textarea.cjs.map +1 -1
  207. package/dist/InputFields/Textarea.js +1 -1
  208. package/dist/InputFields/Textarea.js.map +1 -1
  209. package/dist/InputFields/components/SearchBarInput.cjs +6 -8
  210. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  211. package/dist/InputFields/components/SearchBarInput.d.ts +0 -3
  212. package/dist/InputFields/components/SearchBarInput.js +4 -5
  213. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  214. package/dist/InputFields/components/SearchField.cjs +29 -19
  215. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  216. package/dist/InputFields/components/SearchField.d.ts +8 -8
  217. package/dist/InputFields/components/SearchField.js +25 -18
  218. package/dist/InputFields/components/SearchField.js.map +1 -1
  219. package/dist/InputFields/styling.cjs +6 -8
  220. package/dist/InputFields/styling.cjs.map +1 -1
  221. package/dist/InputFields/styling.js +7 -8
  222. package/dist/InputFields/styling.js.map +1 -1
  223. package/dist/List/ListRow.cjs +5 -5
  224. package/dist/List/ListRow.cjs.map +1 -1
  225. package/dist/List/ListRow.js +8 -5
  226. package/dist/List/ListRow.js.map +1 -1
  227. package/dist/LoadingIndicator/LoadingIndicator.cjs +6 -1
  228. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  229. package/dist/LoadingIndicator/LoadingIndicator.d.ts +2 -1
  230. package/dist/LoadingIndicator/LoadingIndicator.js +6 -1
  231. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  232. package/dist/MenuItem/MenuItem.cjs +6 -2
  233. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  234. package/dist/MenuItem/MenuItem.d.ts +1 -0
  235. package/dist/MenuItem/MenuItem.js +7 -3
  236. package/dist/MenuItem/MenuItem.js.map +1 -1
  237. package/dist/Modals/ModalContainer.cjs +78 -38
  238. package/dist/Modals/ModalContainer.cjs.map +1 -1
  239. package/dist/Modals/ModalContainer.d.ts +15 -8
  240. package/dist/Modals/ModalContainer.js +78 -36
  241. package/dist/Modals/ModalContainer.js.map +1 -1
  242. package/dist/Modals/ModalContent.cjs +0 -1
  243. package/dist/Modals/ModalContent.cjs.map +1 -1
  244. package/dist/Modals/ModalContent.d.ts +0 -1
  245. package/dist/Modals/ModalContent.js +0 -1
  246. package/dist/Modals/ModalContent.js.map +1 -1
  247. package/dist/Modals/ModalDialog.cjs +18 -26
  248. package/dist/Modals/ModalDialog.cjs.map +1 -1
  249. package/dist/Modals/ModalDialog.d.ts +1 -1
  250. package/dist/Modals/ModalDialog.js +19 -26
  251. package/dist/Modals/ModalDialog.js.map +1 -1
  252. package/dist/Modals/ModalStyles.cjs +32 -18
  253. package/dist/Modals/ModalStyles.cjs.map +1 -1
  254. package/dist/Modals/ModalStyles.d.ts +7 -1
  255. package/dist/Modals/ModalStyles.js +25 -17
  256. package/dist/Modals/ModalStyles.js.map +1 -1
  257. package/dist/NavItem/NavItem.cjs +1 -1
  258. package/dist/NavItem/NavItem.cjs.map +1 -1
  259. package/dist/NavItem/NavItem.js +2 -2
  260. package/dist/NavItem/NavItem.js.map +1 -1
  261. package/dist/Paginator/Paginator.cjs +1 -1
  262. package/dist/Paginator/Paginator.cjs.map +1 -1
  263. package/dist/Paginator/Paginator.js +2 -2
  264. package/dist/Paginator/Paginator.js.map +1 -1
  265. package/dist/QuizButton/QuizButton.cjs +4 -8
  266. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  267. package/dist/QuizButton/QuizButton.js +5 -9
  268. package/dist/QuizButton/QuizButton.js.map +1 -1
  269. package/dist/SegmentControl/SegmentControl.cjs +1 -1
  270. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  271. package/dist/SegmentControl/SegmentControl.js +2 -2
  272. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  273. package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
  274. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  275. package/dist/Switcher/SwitcherMenuItem.js +2 -2
  276. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  277. package/dist/Table/TableStyles.cjs +4 -4
  278. package/dist/Table/TableStyles.cjs.map +1 -1
  279. package/dist/Table/TableStyles.js +5 -5
  280. package/dist/Table/TableStyles.js.map +1 -1
  281. package/dist/Tabs/HorizontalTabs.cjs +5 -1
  282. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  283. package/dist/Tabs/HorizontalTabs.js +6 -3
  284. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  285. package/dist/Tabs/TabLink.cjs +48 -45
  286. package/dist/Tabs/TabLink.cjs.map +1 -1
  287. package/dist/Tabs/TabLink.js +47 -46
  288. package/dist/Tabs/TabLink.js.map +1 -1
  289. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  290. package/dist/Tabs/VerticalTabs.js.map +1 -1
  291. package/dist/Toasters/Toast.cjs +2 -0
  292. package/dist/Toasters/Toast.cjs.map +1 -1
  293. package/dist/Toasters/Toast.js +2 -0
  294. package/dist/Toasters/Toast.js.map +1 -1
  295. package/dist/Toggles/ToggleButton.cjs +81 -0
  296. package/dist/Toggles/ToggleButton.cjs.map +1 -0
  297. package/dist/Toggles/ToggleButton.d.ts +14 -0
  298. package/dist/Toggles/ToggleButton.js +59 -0
  299. package/dist/Toggles/ToggleButton.js.map +1 -0
  300. package/dist/Toggles/ToggleSwitch.cjs +12 -6
  301. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  302. package/dist/Toggles/ToggleSwitch.js +11 -6
  303. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  304. package/dist/Toggles/TogglerStyles.cjs +2 -2
  305. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  306. package/dist/Toggles/TogglerStyles.js +3 -3
  307. package/dist/Toggles/TogglerStyles.js.map +1 -1
  308. package/dist/Toggles/index.cjs +8 -0
  309. package/dist/Toggles/index.cjs.map +1 -1
  310. package/dist/Toggles/index.d.ts +2 -1
  311. package/dist/Toggles/index.js +2 -1
  312. package/dist/Toggles/index.js.map +1 -1
  313. package/dist/Tooltips/TooltipStyles.cjs +2 -2
  314. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  315. package/dist/Tooltips/TooltipStyles.js +3 -3
  316. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  317. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  318. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  319. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  320. package/dist/Tooltips/TooltipWrapper.cjs +2 -0
  321. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  322. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  323. package/dist/Tooltips/TooltipWrapper.js +2 -0
  324. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  325. package/dist/common/{HoverWithin.cjs → ActionWithin.cjs} +9 -5
  326. package/dist/common/ActionWithin.cjs.map +1 -0
  327. package/dist/common/{HoverWithin.d.ts → ActionWithin.d.ts} +0 -0
  328. package/dist/common/{HoverWithin.js → ActionWithin.js} +9 -5
  329. package/dist/common/ActionWithin.js.map +1 -0
  330. package/dist/common/ClickOutside.cjs +39 -0
  331. package/dist/common/ClickOutside.cjs.map +1 -0
  332. package/dist/common/ClickOutside.d.ts +1 -0
  333. package/dist/common/ClickOutside.js +25 -0
  334. package/dist/common/ClickOutside.js.map +1 -0
  335. package/dist/common/FocusOutside.cjs +39 -0
  336. package/dist/common/FocusOutside.cjs.map +1 -0
  337. package/dist/common/FocusOutside.d.ts +1 -0
  338. package/dist/common/FocusOutside.js +25 -0
  339. package/dist/common/FocusOutside.js.map +1 -0
  340. package/dist/common/FocusVisible.cjs +67 -19
  341. package/dist/common/FocusVisible.cjs.map +1 -1
  342. package/dist/common/FocusVisible.js +66 -19
  343. package/dist/common/FocusVisible.js.map +1 -1
  344. package/dist/common/InputStyling.cjs +1 -1
  345. package/dist/common/InputStyling.cjs.map +1 -1
  346. package/dist/common/InputStyling.js +2 -2
  347. package/dist/common/InputStyling.js.map +1 -1
  348. package/dist/common/index.cjs +18 -2
  349. package/dist/common/index.cjs.map +1 -1
  350. package/dist/common/index.d.ts +3 -1
  351. package/dist/common/index.js +3 -1
  352. package/dist/common/index.js.map +1 -1
  353. package/dist/icons/index.cjs +1 -1
  354. package/dist/icons/index.cjs.map +1 -1
  355. package/dist/icons/index.js +1 -1
  356. package/dist/icons/index.js.map +1 -1
  357. package/dist/index.cjs +14 -0
  358. package/dist/index.cjs.map +1 -1
  359. package/dist/index.d.ts +1 -0
  360. package/dist/index.js +1 -0
  361. package/dist/index.js.map +1 -1
  362. package/dist/styles/focus-styles.cjs +22 -0
  363. package/dist/styles/focus-styles.cjs.map +1 -0
  364. package/dist/styles/focus-styles.d.ts +2 -0
  365. package/dist/styles/focus-styles.js +9 -0
  366. package/dist/styles/focus-styles.js.map +1 -0
  367. package/dist/styles/index.cjs +60 -0
  368. package/dist/styles/index.cjs.map +1 -1
  369. package/dist/styles/index.d.ts +1 -0
  370. package/dist/styles/index.js +1 -0
  371. package/dist/styles/index.js.map +1 -1
  372. package/package.json +1 -1
  373. package/dist/Chips/ChipInput.cjs +0 -199
  374. package/dist/Chips/ChipInput.cjs.map +0 -1
  375. package/dist/Chips/ChipInput.js +0 -182
  376. package/dist/Chips/ChipInput.js.map +0 -1
  377. package/dist/Dropdown/ChipDropdownInput.cjs +0 -431
  378. package/dist/Dropdown/ChipDropdownInput.cjs.map +0 -1
  379. package/dist/Dropdown/ChipDropdownInput.d.ts +0 -24
  380. package/dist/Dropdown/ChipDropdownInput.js +0 -418
  381. package/dist/Dropdown/ChipDropdownInput.js.map +0 -1
  382. package/dist/common/HoverWithin.cjs.map +0 -1
  383. package/dist/common/HoverWithin.js.map +0 -1
@@ -0,0 +1,122 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+
4
+ /**
5
+ * Import React libraries.
6
+ */
7
+ import * as React from 'react';
8
+ /**
9
+ * Import custom components.
10
+ */
11
+
12
+ import { Size } from '../types';
13
+ import { ChipInputField } from './ChipInputField';
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+
16
+ var ChipInput = function ChipInput(_ref) {
17
+ var values = _ref.values,
18
+ inputId = _ref.inputId,
19
+ variants = _ref.variants,
20
+ icon = _ref.icon,
21
+ placeholder = _ref.placeholder,
22
+ disabled = _ref.disabled,
23
+ altPlaceholder = _ref.altPlaceholder,
24
+ validationType = _ref.validationType,
25
+ validationMessage = _ref.validationMessage,
26
+ onValueChange = _ref.onValueChange,
27
+ _ref$multiLine = _ref.multiLine,
28
+ multiLine = _ref$multiLine === void 0 ? true : _ref$multiLine,
29
+ _ref$size = _ref.size,
30
+ size = _ref$size === void 0 ? Size.Medium : _ref$size;
31
+
32
+ var _React$useState = React.useState([]),
33
+ _React$useState2 = _slicedToArray(_React$useState, 2),
34
+ chips = _React$useState2[0],
35
+ setChips = _React$useState2[1];
36
+
37
+ var _React$useState3 = React.useState(''),
38
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
39
+ value = _React$useState4[0],
40
+ setValue = _React$useState4[1];
41
+
42
+ var _React$useState5 = React.useState([]),
43
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
44
+ chipItems = _React$useState6[0],
45
+ setChipItems = _React$useState6[1];
46
+ /**
47
+ * Sets initial values for the chips.
48
+ */
49
+
50
+
51
+ React.useEffect(function () {
52
+ // Let's add initial chip values
53
+ setChips(values);
54
+ }, [values]);
55
+ /**
56
+ * Set chip items for chip input field
57
+ * */
58
+
59
+ React.useEffect(function () {
60
+ setChipItems(chips.map(function (chip, index) {
61
+ return {
62
+ label: chip,
63
+ icon: icon,
64
+ disabled: false,
65
+ variant: variants && variants[index]
66
+ };
67
+ }));
68
+ }, [chips, variants, icon, size]);
69
+ /**
70
+ * Adds a chip to the chip list.
71
+ * @param event - Event handler from the key down event.
72
+ */
73
+
74
+ var handleInputKeyDown = function handleInputKeyDown(event) {
75
+ if ((event.key === 'Enter' || event.key === ' ') && value) {
76
+ event.preventDefault();
77
+ setChips([].concat(_toConsumableArray(chips), [value]));
78
+ onValueChange([].concat(_toConsumableArray(chips), [value]));
79
+ setValue('');
80
+ }
81
+ };
82
+ /**
83
+ * Removes a specific chip from the chip list.
84
+ * @param index - Index of the chip that needs to be removed.
85
+ */
86
+
87
+
88
+ var onRemoveChip = function onRemoveChip(index) {
89
+ var newChips = _toConsumableArray(chips);
90
+
91
+ newChips.splice(index, 1);
92
+ setChips(newChips);
93
+ onValueChange(newChips);
94
+ };
95
+ /**
96
+ * Return Chip Input component.
97
+ */
98
+
99
+
100
+ return /*#__PURE__*/_jsx(ChipInputField, {
101
+ inputId: inputId,
102
+ items: chipItems,
103
+ onRemoveItem: function onRemoveItem(item, index) {
104
+ return onRemoveChip(index);
105
+ },
106
+ inputValue: value,
107
+ onInputValueChange: function onInputValueChange(value) {
108
+ return setValue(value);
109
+ },
110
+ onInputKeyDown: handleInputKeyDown,
111
+ placeholder: placeholder,
112
+ altPlaceholder: altPlaceholder,
113
+ validationType: validationType,
114
+ disabled: disabled,
115
+ validationMessage: validationMessage,
116
+ multiLine: multiLine,
117
+ size: size
118
+ });
119
+ };
120
+
121
+ export default ChipInput;
122
+ //# sourceMappingURL=ChipInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ChipsInput/ChipInput.tsx"],"names":["React","Size","ChipInputField","ChipInput","values","inputId","variants","icon","placeholder","disabled","altPlaceholder","validationType","validationMessage","onValueChange","multiLine","size","Medium","useState","chips","setChips","value","setValue","chipItems","setChipItems","useEffect","map","chip","index","label","variant","handleInputKeyDown","event","key","preventDefault","onRemoveChip","newChips","splice","item"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types';\nimport {ChipInputField} from './ChipInputField';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\n\n\nconst ChipInput: React.FunctionComponent<ChipInputProps> = ({\n values,\n inputId,\n variants,\n icon,\n placeholder,\n disabled,\n altPlaceholder,\n validationType,\n validationMessage,\n onValueChange,\n multiLine = true,\n size = Size.Medium,\n }: ChipInputProps) => {\n\n const [chips, setChips] = React.useState<string[]>([]);\n const [value, setValue] = React.useState<string>('');\n const [chipItems, setChipItems] = React.useState<ChipItem[]>([]);\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n // Let's add initial chip values\n setChips(values);\n }, [values]);\n\n /**\n * Set chip items for chip input field\n * */\n React.useEffect(() => {\n setChipItems(chips.map((chip, index) => ({\n label: chip,\n icon: icon,\n disabled: false,\n variant: variants && variants[index],\n })));\n }, [chips, variants, icon, size]);\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n event.preventDefault();\n\n setChips([...chips, value]);\n onValueChange([...chips, value]);\n\n setValue('');\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const onRemoveChip = (index: number): void => {\n const newChips = [...chips];\n newChips.splice(index, 1);\n\n setChips(newChips);\n onValueChange(newChips);\n };\n\n /**\n * Return Chip Input component.\n */\n return (\n <ChipInputField inputId={inputId}\n items={chipItems}\n onRemoveItem={(item, index) => onRemoveChip(index)}\n inputValue={value}\n onInputValueChange={value => setValue(value)}\n onInputKeyDown={handleInputKeyDown}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n validationType={validationType}\n disabled={disabled}\n validationMessage={validationMessage}\n multiLine={multiLine}\n size={size}\n />\n );\n};\n\nexport default ChipInput;\n"],"file":"ChipInput.js"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ChipInputField = exports.ChipInputEl = exports.ChipInputContentContainer = exports.ChipInputContainer = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _types = require("../types");
17
+
18
+ var _Chips = require("../Chips");
19
+
20
+ var _styling = require("../InputFields/styling");
21
+
22
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
23
+
24
+ var _styles = require("../styles");
25
+
26
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
27
+
28
+ var _LoadingIndicator = require("../LoadingIndicator");
29
+
30
+ var _common = require("../common");
31
+
32
+ var _Button = require("../Button");
33
+
34
+ var _icons = require("../icons");
35
+
36
+ var _jsxRuntime = require("react/jsx-runtime");
37
+
38
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
39
+
40
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
41
+
42
+ var Loading = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 20px;\n width: 20px;\n"])));
43
+
44
+ var ChipInputContentContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n background: transparent;\n display: flex;\n flex-direction: row;\n align-items: center;\n column-gap: 8px;\n margin-right: 6px;\n padding-right: 10px;\n padding-left: 16px;\n flex-wrap: nowrap;\n overflow-x: scroll;\n min-height: 48px;\n\n ", "\n ::-webkit-scrollbar:horizontal {\n display: none;\n }\n\n .action-right:focus, button:focus {\n outline-offset: -4px !important;\n }\n"])), (0, _styles.scrollBarStyling)(_types.Size.Small));
45
+
46
+ exports.ChipInputContentContainer = ChipInputContentContainer;
47
+
48
+ var ChipInputContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: auto;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ", ";\n background-color: ", ";\n box-sizing: border-box;\n cursor: text;\n outline: none;\n display: flex;\n align-items: center;\n\n ", "\n &.small {\n padding: 0;\n min-height: 48px;\n }\n\n &.medium {\n padding: 4px 0;\n min-height: 56px;\n }\n\n\n &.multiline.medium {\n ", " {\n max-height: calc(48px * 3);\n flex-wrap: wrap;\n overflow-y: auto;\n overflow-x: unset;\n }\n }\n\n &.focus-visible-within, :focus {\n ", "\n }\n\n &:hover {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &:focus-within {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.warning,\n &.warning:hover,\n &.warning:focus {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.error,\n &.error:hover,\n &.error:focus {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.disabled {\n ", " {\n pointer-events: none;\n }\n\n cursor: not-allowed;\n box-shadow: inset 0 0 0 1px ", ";\n outline: none;\n color: ", " !important;\n }\n\n\n"])), _styles.COLORS.neutral_400, _styles.COLORS.white, (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.black), ChipInputContentContainer, _styles.focusStyles, _styles.COLORS.primary_700, _styles.COLORS.primary_800, _styles.COLORS.warning_500, _styles.COLORS.critical_500, ChipInputContentContainer, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300);
49
+
50
+ exports.ChipInputContainer = ChipInputContainer;
51
+
52
+ var ChipInputEl = _styledComponents.default.input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n border: none;\n outline: none;\n\n height: 40px;\n min-width: 40px;\n display: inline-flex;\n flex: 1;\n background: transparent;\n\n ", "\n color: ", " !important;\n"])), (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Regular, null), _styles.COLORS.black);
53
+
54
+ exports.ChipInputEl = ChipInputEl;
55
+
56
+ var ChipInputField = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
57
+ var inputId = _ref.inputId,
58
+ items = _ref.items,
59
+ _ref$disabled = _ref.disabled,
60
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
61
+ placeholder = _ref.placeholder,
62
+ altPlaceholder = _ref.altPlaceholder,
63
+ _ref$multiLine = _ref.multiLine,
64
+ multiLine = _ref$multiLine === void 0 ? true : _ref$multiLine,
65
+ _ref$size = _ref.size,
66
+ size = _ref$size === void 0 ? _types.Size.Medium : _ref$size,
67
+ validationType = _ref.validationType,
68
+ validationMessage = _ref.validationMessage,
69
+ loading = _ref.loading,
70
+ onRemoveItem = _ref.onRemoveItem,
71
+ onInputValueChange = _ref.onInputValueChange,
72
+ onInputKeyDown = _ref.onInputKeyDown,
73
+ onActivation = _ref.onActivation,
74
+ inputValue = _ref.inputValue;
75
+
76
+ var containerRef = _react.default.useRef(null);
77
+
78
+ var inputRef = (0, _common.useFocusVisibleRef)([containerRef], ref);
79
+
80
+ var clearButtonRef = _react.default.useRef(null);
81
+ /**
82
+ * Scroll container to last item on change
83
+ * */
84
+
85
+
86
+ _react.default.useEffect(function () {
87
+ if (containerRef.current) {
88
+ inputRef.current.scrollIntoView({
89
+ block: 'nearest',
90
+ inline: 'nearest'
91
+ });
92
+ }
93
+ }, [containerRef, inputRef, items]);
94
+ /**
95
+ * Remove last cheap on backspace
96
+ * */
97
+
98
+
99
+ var handleInputKeyDown = function handleInputKeyDown(e) {
100
+ onInputKeyDown(e);
101
+ };
102
+
103
+ var handleItemRemove = function handleItemRemove(event, item, index) {
104
+ var _inputRef$current;
105
+
106
+ onRemoveItem(item, index);
107
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
108
+ focusVisible: event.detail !== 1
109
+ });
110
+ };
111
+
112
+ var handleInputClear = function handleInputClear(e) {
113
+ var _inputRef$current2;
114
+
115
+ onInputValueChange('');
116
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus({
117
+ focusVisible: (e === null || e === void 0 ? void 0 : e.detail) !== 1
118
+ });
119
+ };
120
+
121
+ var cls = "".concat(multiLine ? 'multiline' : '', " ").concat(validationType || '', " ").concat(size, " ").concat(loading ? 'loading' : '', " ").concat(disabled ? 'disabled' : '');
122
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
123
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ChipInputContainer, {
124
+ ref: containerRef,
125
+ id: inputId,
126
+ onClick: function onClick() {
127
+ var _inputRef$current3;
128
+
129
+ return !disabled && ((_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus());
130
+ },
131
+ className: cls,
132
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(ChipInputContentContainer, {
133
+ children: [items === null || items === void 0 ? void 0 : items.map(function (chip, index) {
134
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chips.InputChip, {
135
+ icon: chip === null || chip === void 0 ? void 0 : chip.icon,
136
+ size: size,
137
+ disabled: chip.disabled || disabled,
138
+ variant: chip.variant || 'normal',
139
+ text: chip.label,
140
+ onRemove: function onRemove(e) {
141
+ return handleItemRemove(e, chip, index);
142
+ }
143
+ }, "chip_".concat(index));
144
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ChipInputEl, {
145
+ ref: inputRef,
146
+ type: "text",
147
+ tabIndex: disabled ? -1 : 0,
148
+ value: inputValue,
149
+ onChange: function onChange(e) {
150
+ return onInputValueChange(e.target.value);
151
+ },
152
+ onKeyDown: handleInputKeyDown,
153
+ placeholder: (items === null || items === void 0 ? void 0 : items.length) === 0 ? placeholder : altPlaceholder || '',
154
+ onClick: function onClick(e) {
155
+ e.stopPropagation();
156
+ onActivation && onActivation();
157
+ }
158
+ }), inputValue && !disabled && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
159
+ action: handleInputClear,
160
+ ref: clearButtonRef,
161
+ useTransparentBackground: true,
162
+ shape: 'circular',
163
+ style: {
164
+ marginLeft: '-8px'
165
+ },
166
+ variant: 'secondary',
167
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Clear, {})
168
+ }), loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Loading, {
169
+ className: size,
170
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {
171
+ size: _types.Size.Small,
172
+ color: _styles.COLORS.neutral_600
173
+ })
174
+ })]
175
+ })
176
+ }), validationMessage && validationType === 'warning' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.WarningMessage, {
177
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
178
+ size: "20px",
179
+ color: _styles.COLORS.critical_500
180
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
181
+ children: validationMessage
182
+ })]
183
+ }) : validationType === 'error' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ErrorMessage, {
184
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
185
+ size: "20px",
186
+ color: _styles.COLORS.critical_400
187
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
188
+ children: validationMessage
189
+ })]
190
+ })]
191
+ });
192
+ });
193
+
194
+ exports.ChipInputField = ChipInputField;
195
+ ChipInputField.propTypes = {
196
+ inputId: _propTypes.default.string.isRequired,
197
+ items: _propTypes.default.array.isRequired,
198
+ disabled: _propTypes.default.bool,
199
+ placeholder: _propTypes.default.string,
200
+ altPlaceholder: _propTypes.default.string,
201
+ multiLine: _propTypes.default.bool,
202
+ loading: _propTypes.default.bool,
203
+ validationType: _propTypes.default.oneOf(['error', 'warning']),
204
+ validationMessage: _propTypes.default.string,
205
+ onRemoveItem: _propTypes.default.func.isRequired,
206
+ inputValue: _propTypes.default.string.isRequired,
207
+ onInputValueChange: _propTypes.default.func.isRequired,
208
+ onInputKeyDown: _propTypes.default.func.isRequired,
209
+ onActivation: _propTypes.default.func
210
+ };
211
+ //# sourceMappingURL=ChipInputField.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ChipsInput/ChipInputField.tsx"],"names":["Wrapper","styled","div","Loading","ChipInputContentContainer","Size","Small","ChipInputContainer","COLORS","neutral_400","white","ComponentTextStyle","Regular","black","focusStyles","primary_700","primary_800","warning_500","critical_500","neutral_100","neutral_300","ChipInputEl","input","ChipInputField","React","forwardRef","ref","inputId","items","disabled","placeholder","altPlaceholder","multiLine","size","Medium","validationType","validationMessage","loading","onRemoveItem","onInputValueChange","onInputKeyDown","onActivation","inputValue","containerRef","useRef","inputRef","clearButtonRef","useEffect","current","scrollIntoView","block","inline","handleInputKeyDown","e","handleItemRemove","event","item","index","focus","focusVisible","detail","handleInputClear","cls","map","chip","icon","variant","label","target","value","length","stopPropagation","marginLeft","neutral_600","critical_400"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {ChipItem} from './ChipInputTypes';\nimport {Size} from '../types';\nimport {InputChip} from '../Chips';\nimport {ErrorMessage, WarningMessage} from '../InputFields/styling';\nimport {TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentMStyling, ComponentTextStyle, focusStyles, scrollBarStyling} from '../styles';\nimport styled from 'styled-components';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {useActionWithin, useFocusVisibleRef} from '../common';\nimport {IconButton} from '../Button';\nimport {SystemIcons} from '../icons';\n\nconst Wrapper = styled.div`\n position: relative;\n`;\n\nconst Loading = styled.div`\n height: 20px;\n width: 20px;\n`;\n\n\nexport const ChipInputContentContainer = styled.div`\n width: 100%;\n background: transparent;\n display: flex;\n flex-direction: row;\n align-items: center;\n column-gap: 8px;\n margin-right: 6px;\n padding-right: 10px;\n padding-left: 16px;\n flex-wrap: nowrap;\n overflow-x: scroll;\n min-height: 48px;\n\n ${scrollBarStyling(Size.Small)}\n ::-webkit-scrollbar:horizontal {\n display: none;\n }\n\n .action-right:focus, button:focus {\n outline-offset: -4px !important;\n }\n`;\n\nexport const ChipInputContainer = styled.div`\n width: 100%;\n height: auto;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\n background-color: ${COLORS.white};\n box-sizing: border-box;\n cursor: text;\n outline: none;\n display: flex;\n align-items: center;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n &.small {\n padding: 0;\n min-height: 48px;\n }\n\n &.medium {\n padding: 4px 0;\n min-height: 56px;\n }\n\n\n &.multiline.medium {\n ${ChipInputContentContainer} {\n max-height: calc(48px * 3);\n flex-wrap: wrap;\n overflow-y: auto;\n overflow-x: unset;\n }\n }\n\n &.focus-visible-within, :focus {\n ${focusStyles}\n }\n\n &:hover {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_700};\n }\n\n &:focus-within {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\n }\n\n &.warning,\n &.warning:hover,\n &.warning:focus {\n box-shadow: inset 0 0 0 2px ${COLORS.warning_500};\n }\n\n &.error,\n &.error:hover,\n &.error:focus {\n box-shadow: inset 0 0 0 2px ${COLORS.critical_500};\n }\n\n &.disabled {\n ${ChipInputContentContainer} {\n pointer-events: none;\n }\n\n cursor: not-allowed;\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_100};\n outline: none;\n color: ${COLORS.neutral_300} !important;\n }\n\n\n`;\n\nexport const ChipInputEl = styled.input`\n border: none;\n outline: none;\n\n height: 40px;\n min-width: 40px;\n display: inline-flex;\n flex: 1;\n background: transparent;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n color: ${COLORS.black} !important;\n`;\n\n\nexport interface ChipInputFieldProps {\n inputId: string;\n items: ChipItem[];\n disabled?: boolean;\n placeholder?: string;\n altPlaceholder?: string;\n multiLine?: boolean;\n size?: Size.Large | Size.Medium | Size.Small;\n loading?: boolean;\n\n validationType?: 'error' | 'warning';\n validationMessage?: string;\n\n onRemoveItem: (item: ChipItem, index: number) => void;\n inputValue: string;\n onInputValueChange: (value: string) => void;\n onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n onActivation?: () => void;\n}\n\nexport const ChipInputField = React.forwardRef<HTMLInputElement, ChipInputFieldProps>(({\n inputId,\n items,\n disabled = false,\n placeholder,\n altPlaceholder,\n multiLine = true,\n size = Size.Medium,\n validationType,\n validationMessage,\n loading,\n onRemoveItem,\n onInputValueChange,\n onInputKeyDown,\n onActivation,\n inputValue\n }, ref) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const inputRef = useFocusVisibleRef([containerRef], ref as any);\n\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n /**\n * Scroll container to last item on change\n * */\n React.useEffect(() => {\n if (containerRef.current) {\n inputRef.current.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }, [containerRef, inputRef, items]);\n\n /**\n * Remove last cheap on backspace\n * */\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown(e);\n };\n\n const handleItemRemove = (event: any, item: ChipItem, index: number) => {\n onRemoveItem(item, index);\n inputRef.current?.focus({focusVisible: event.detail !== 1} as any);\n };\n\n const handleInputClear = (e: any) => {\n onInputValueChange('');\n inputRef.current?.focus({focusVisible: e?.detail !== 1} as any)\n };\n\n const cls = `${multiLine ? 'multiline' : ''} ${validationType || ''} ${size} ${loading ? 'loading' : ''} ${disabled ? 'disabled' : ''}`;\n\n return (\n <Wrapper>\n <ChipInputContainer ref={containerRef}\n id={inputId}\n onClick={() => !disabled && inputRef.current?.focus()}\n className={cls}>\n <ChipInputContentContainer>\n {items?.map((chip: ChipItem, index: number) => (\n <InputChip key={`chip_${index}`}\n icon={chip?.icon}\n size={size}\n disabled={chip.disabled || disabled}\n variant={chip.variant || 'normal'}\n text={chip.label}\n onRemove={(e) => handleItemRemove(e, chip, index)}/>\n ))}\n\n <ChipInputEl ref={inputRef}\n type=\"text\"\n tabIndex={disabled ? -1 : 0}\n value={inputValue}\n onChange={e => onInputValueChange(e.target.value)}\n onKeyDown={handleInputKeyDown}\n placeholder={items?.length === 0 ? placeholder : (altPlaceholder || '')}\n onClick={e => {\n e.stopPropagation();\n onActivation && onActivation();\n }}/>\n {\n inputValue && !disabled &&\n <IconButton action={handleInputClear}\n ref={clearButtonRef}\n useTransparentBackground={true}\n shape={'circular'}\n style={{marginLeft: '-8px'}}\n variant={'secondary'}>\n <SystemIcons.Clear/>\n </IconButton>\n }\n\n {loading &&\n <Loading className={size}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600}/>\n </Loading>\n }\n </ChipInputContentContainer>\n </ChipInputContainer>\n\n\n {validationMessage && validationType === 'warning' ? (\n <WarningMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_500}/>\n <span>{validationMessage}</span>\n </WarningMessage>\n ) : (\n validationType === 'error' && (\n <ErrorMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )\n )}\n </Wrapper>\n );\n});\n"],"file":"ChipInputField.cjs"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { ChipItem } from './ChipInputTypes';
3
+ import { Size } from '../types';
4
+ export declare const ChipInputContentContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const ChipInputContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const ChipInputEl: import("styled-components").StyledComponent<"input", any, {}, never>;
7
+ export interface ChipInputFieldProps {
8
+ inputId: string;
9
+ items: ChipItem[];
10
+ disabled?: boolean;
11
+ placeholder?: string;
12
+ altPlaceholder?: string;
13
+ multiLine?: boolean;
14
+ size?: Size.Large | Size.Medium | Size.Small;
15
+ loading?: boolean;
16
+ validationType?: 'error' | 'warning';
17
+ validationMessage?: string;
18
+ onRemoveItem: (item: ChipItem, index: number) => void;
19
+ inputValue: string;
20
+ onInputValueChange: (value: string) => void;
21
+ onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
22
+ onActivation?: () => void;
23
+ }
24
+ export declare const ChipInputField: React.ForwardRefExoticComponent<ChipInputFieldProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,172 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ import _pt from "prop-types";
3
+
4
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
5
+
6
+ import React from 'react';
7
+ import { Size } from '../types';
8
+ import { InputChip } from '../Chips';
9
+ import { ErrorMessage, WarningMessage } from '../InputFields/styling';
10
+ import { TechnicalWarning } from '../icons/systemicons/SystemIcons';
11
+ import { COLORS, ComponentMStyling, ComponentTextStyle, focusStyles, scrollBarStyling } from '../styles';
12
+ import styled from 'styled-components';
13
+ import { LoadingIndicator } from '../LoadingIndicator';
14
+ import { useFocusVisibleRef } from '../common';
15
+ import { IconButton } from '../Button';
16
+ import { SystemIcons } from '../icons';
17
+ import { jsx as _jsx } from "react/jsx-runtime";
18
+ import { jsxs as _jsxs } from "react/jsx-runtime";
19
+ var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
20
+ var Loading = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 20px;\n width: 20px;\n"])));
21
+ export var ChipInputContentContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n background: transparent;\n display: flex;\n flex-direction: row;\n align-items: center;\n column-gap: 8px;\n margin-right: 6px;\n padding-right: 10px;\n padding-left: 16px;\n flex-wrap: nowrap;\n overflow-x: scroll;\n min-height: 48px;\n\n ", "\n ::-webkit-scrollbar:horizontal {\n display: none;\n }\n\n .action-right:focus, button:focus {\n outline-offset: -4px !important;\n }\n"])), scrollBarStyling(Size.Small));
22
+ export var ChipInputContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 100%;\n height: auto;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ", ";\n background-color: ", ";\n box-sizing: border-box;\n cursor: text;\n outline: none;\n display: flex;\n align-items: center;\n\n ", "\n &.small {\n padding: 0;\n min-height: 48px;\n }\n\n &.medium {\n padding: 4px 0;\n min-height: 56px;\n }\n\n\n &.multiline.medium {\n ", " {\n max-height: calc(48px * 3);\n flex-wrap: wrap;\n overflow-y: auto;\n overflow-x: unset;\n }\n }\n\n &.focus-visible-within, :focus {\n ", "\n }\n\n &:hover {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &:focus-within {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.warning,\n &.warning:hover,\n &.warning:focus {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.error,\n &.error:hover,\n &.error:focus {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.disabled {\n ", " {\n pointer-events: none;\n }\n\n cursor: not-allowed;\n box-shadow: inset 0 0 0 1px ", ";\n outline: none;\n color: ", " !important;\n }\n\n\n"])), COLORS.neutral_400, COLORS.white, ComponentMStyling(ComponentTextStyle.Regular, COLORS.black), ChipInputContentContainer, focusStyles, COLORS.primary_700, COLORS.primary_800, COLORS.warning_500, COLORS.critical_500, ChipInputContentContainer, COLORS.neutral_100, COLORS.neutral_300);
23
+ export var ChipInputEl = styled.input(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n border: none;\n outline: none;\n\n height: 40px;\n min-width: 40px;\n display: inline-flex;\n flex: 1;\n background: transparent;\n\n ", "\n color: ", " !important;\n"])), ComponentMStyling(ComponentTextStyle.Regular, null), COLORS.black);
24
+ export var ChipInputField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25
+ var inputId = _ref.inputId,
26
+ items = _ref.items,
27
+ _ref$disabled = _ref.disabled,
28
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
29
+ placeholder = _ref.placeholder,
30
+ altPlaceholder = _ref.altPlaceholder,
31
+ _ref$multiLine = _ref.multiLine,
32
+ multiLine = _ref$multiLine === void 0 ? true : _ref$multiLine,
33
+ _ref$size = _ref.size,
34
+ size = _ref$size === void 0 ? Size.Medium : _ref$size,
35
+ validationType = _ref.validationType,
36
+ validationMessage = _ref.validationMessage,
37
+ loading = _ref.loading,
38
+ onRemoveItem = _ref.onRemoveItem,
39
+ onInputValueChange = _ref.onInputValueChange,
40
+ onInputKeyDown = _ref.onInputKeyDown,
41
+ onActivation = _ref.onActivation,
42
+ inputValue = _ref.inputValue;
43
+ var containerRef = React.useRef(null);
44
+ var inputRef = useFocusVisibleRef([containerRef], ref);
45
+ var clearButtonRef = React.useRef(null);
46
+ /**
47
+ * Scroll container to last item on change
48
+ * */
49
+
50
+ React.useEffect(function () {
51
+ if (containerRef.current) {
52
+ inputRef.current.scrollIntoView({
53
+ block: 'nearest',
54
+ inline: 'nearest'
55
+ });
56
+ }
57
+ }, [containerRef, inputRef, items]);
58
+ /**
59
+ * Remove last cheap on backspace
60
+ * */
61
+
62
+ var handleInputKeyDown = function handleInputKeyDown(e) {
63
+ onInputKeyDown(e);
64
+ };
65
+
66
+ var handleItemRemove = function handleItemRemove(event, item, index) {
67
+ var _inputRef$current;
68
+
69
+ onRemoveItem(item, index);
70
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({
71
+ focusVisible: event.detail !== 1
72
+ });
73
+ };
74
+
75
+ var handleInputClear = function handleInputClear(e) {
76
+ var _inputRef$current2;
77
+
78
+ onInputValueChange('');
79
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.focus({
80
+ focusVisible: (e === null || e === void 0 ? void 0 : e.detail) !== 1
81
+ });
82
+ };
83
+
84
+ var cls = "".concat(multiLine ? 'multiline' : '', " ").concat(validationType || '', " ").concat(size, " ").concat(loading ? 'loading' : '', " ").concat(disabled ? 'disabled' : '');
85
+ return /*#__PURE__*/_jsxs(Wrapper, {
86
+ children: [/*#__PURE__*/_jsx(ChipInputContainer, {
87
+ ref: containerRef,
88
+ id: inputId,
89
+ onClick: function onClick() {
90
+ var _inputRef$current3;
91
+
92
+ return !disabled && ((_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus());
93
+ },
94
+ className: cls,
95
+ children: /*#__PURE__*/_jsxs(ChipInputContentContainer, {
96
+ children: [items === null || items === void 0 ? void 0 : items.map(function (chip, index) {
97
+ return /*#__PURE__*/_jsx(InputChip, {
98
+ icon: chip === null || chip === void 0 ? void 0 : chip.icon,
99
+ size: size,
100
+ disabled: chip.disabled || disabled,
101
+ variant: chip.variant || 'normal',
102
+ text: chip.label,
103
+ onRemove: function onRemove(e) {
104
+ return handleItemRemove(e, chip, index);
105
+ }
106
+ }, "chip_".concat(index));
107
+ }), /*#__PURE__*/_jsx(ChipInputEl, {
108
+ ref: inputRef,
109
+ type: "text",
110
+ tabIndex: disabled ? -1 : 0,
111
+ value: inputValue,
112
+ onChange: function onChange(e) {
113
+ return onInputValueChange(e.target.value);
114
+ },
115
+ onKeyDown: handleInputKeyDown,
116
+ placeholder: (items === null || items === void 0 ? void 0 : items.length) === 0 ? placeholder : altPlaceholder || '',
117
+ onClick: function onClick(e) {
118
+ e.stopPropagation();
119
+ onActivation && onActivation();
120
+ }
121
+ }), inputValue && !disabled && /*#__PURE__*/_jsx(IconButton, {
122
+ action: handleInputClear,
123
+ ref: clearButtonRef,
124
+ useTransparentBackground: true,
125
+ shape: 'circular',
126
+ style: {
127
+ marginLeft: '-8px'
128
+ },
129
+ variant: 'secondary',
130
+ children: /*#__PURE__*/_jsx(SystemIcons.Clear, {})
131
+ }), loading && /*#__PURE__*/_jsx(Loading, {
132
+ className: size,
133
+ children: /*#__PURE__*/_jsx(LoadingIndicator, {
134
+ size: Size.Small,
135
+ color: COLORS.neutral_600
136
+ })
137
+ })]
138
+ })
139
+ }), validationMessage && validationType === 'warning' ? /*#__PURE__*/_jsxs(WarningMessage, {
140
+ children: [/*#__PURE__*/_jsx(TechnicalWarning, {
141
+ size: "20px",
142
+ color: COLORS.critical_500
143
+ }), /*#__PURE__*/_jsx("span", {
144
+ children: validationMessage
145
+ })]
146
+ }) : validationType === 'error' && /*#__PURE__*/_jsxs(ErrorMessage, {
147
+ children: [/*#__PURE__*/_jsx(TechnicalWarning, {
148
+ size: "20px",
149
+ color: COLORS.critical_400
150
+ }), /*#__PURE__*/_jsx("span", {
151
+ children: validationMessage
152
+ })]
153
+ })]
154
+ });
155
+ });
156
+ ChipInputField.propTypes = {
157
+ inputId: _pt.string.isRequired,
158
+ items: _pt.array.isRequired,
159
+ disabled: _pt.bool,
160
+ placeholder: _pt.string,
161
+ altPlaceholder: _pt.string,
162
+ multiLine: _pt.bool,
163
+ loading: _pt.bool,
164
+ validationType: _pt.oneOf(['error', 'warning']),
165
+ validationMessage: _pt.string,
166
+ onRemoveItem: _pt.func.isRequired,
167
+ inputValue: _pt.string.isRequired,
168
+ onInputValueChange: _pt.func.isRequired,
169
+ onInputKeyDown: _pt.func.isRequired,
170
+ onActivation: _pt.func
171
+ };
172
+ //# sourceMappingURL=ChipInputField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ChipsInput/ChipInputField.tsx"],"names":["React","Size","InputChip","ErrorMessage","WarningMessage","TechnicalWarning","COLORS","ComponentMStyling","ComponentTextStyle","focusStyles","scrollBarStyling","styled","LoadingIndicator","useFocusVisibleRef","IconButton","SystemIcons","Wrapper","div","Loading","ChipInputContentContainer","Small","ChipInputContainer","neutral_400","white","Regular","black","primary_700","primary_800","warning_500","critical_500","neutral_100","neutral_300","ChipInputEl","input","ChipInputField","forwardRef","ref","inputId","items","disabled","placeholder","altPlaceholder","multiLine","size","Medium","validationType","validationMessage","loading","onRemoveItem","onInputValueChange","onInputKeyDown","onActivation","inputValue","containerRef","useRef","inputRef","clearButtonRef","useEffect","current","scrollIntoView","block","inline","handleInputKeyDown","e","handleItemRemove","event","item","index","focus","focusVisible","detail","handleInputClear","cls","map","chip","icon","variant","label","target","value","length","stopPropagation","marginLeft","neutral_600","critical_400"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {ChipItem} from './ChipInputTypes';\nimport {Size} from '../types';\nimport {InputChip} from '../Chips';\nimport {ErrorMessage, WarningMessage} from '../InputFields/styling';\nimport {TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentMStyling, ComponentTextStyle, focusStyles, scrollBarStyling} from '../styles';\nimport styled from 'styled-components';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {useActionWithin, useFocusVisibleRef} from '../common';\nimport {IconButton} from '../Button';\nimport {SystemIcons} from '../icons';\n\nconst Wrapper = styled.div`\n position: relative;\n`;\n\nconst Loading = styled.div`\n height: 20px;\n width: 20px;\n`;\n\n\nexport const ChipInputContentContainer = styled.div`\n width: 100%;\n background: transparent;\n display: flex;\n flex-direction: row;\n align-items: center;\n column-gap: 8px;\n margin-right: 6px;\n padding-right: 10px;\n padding-left: 16px;\n flex-wrap: nowrap;\n overflow-x: scroll;\n min-height: 48px;\n\n ${scrollBarStyling(Size.Small)}\n ::-webkit-scrollbar:horizontal {\n display: none;\n }\n\n .action-right:focus, button:focus {\n outline-offset: -4px !important;\n }\n`;\n\nexport const ChipInputContainer = styled.div`\n width: 100%;\n height: auto;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\n background-color: ${COLORS.white};\n box-sizing: border-box;\n cursor: text;\n outline: none;\n display: flex;\n align-items: center;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n &.small {\n padding: 0;\n min-height: 48px;\n }\n\n &.medium {\n padding: 4px 0;\n min-height: 56px;\n }\n\n\n &.multiline.medium {\n ${ChipInputContentContainer} {\n max-height: calc(48px * 3);\n flex-wrap: wrap;\n overflow-y: auto;\n overflow-x: unset;\n }\n }\n\n &.focus-visible-within, :focus {\n ${focusStyles}\n }\n\n &:hover {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_700};\n }\n\n &:focus-within {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\n }\n\n &.warning,\n &.warning:hover,\n &.warning:focus {\n box-shadow: inset 0 0 0 2px ${COLORS.warning_500};\n }\n\n &.error,\n &.error:hover,\n &.error:focus {\n box-shadow: inset 0 0 0 2px ${COLORS.critical_500};\n }\n\n &.disabled {\n ${ChipInputContentContainer} {\n pointer-events: none;\n }\n\n cursor: not-allowed;\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_100};\n outline: none;\n color: ${COLORS.neutral_300} !important;\n }\n\n\n`;\n\nexport const ChipInputEl = styled.input`\n border: none;\n outline: none;\n\n height: 40px;\n min-width: 40px;\n display: inline-flex;\n flex: 1;\n background: transparent;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n color: ${COLORS.black} !important;\n`;\n\n\nexport interface ChipInputFieldProps {\n inputId: string;\n items: ChipItem[];\n disabled?: boolean;\n placeholder?: string;\n altPlaceholder?: string;\n multiLine?: boolean;\n size?: Size.Large | Size.Medium | Size.Small;\n loading?: boolean;\n\n validationType?: 'error' | 'warning';\n validationMessage?: string;\n\n onRemoveItem: (item: ChipItem, index: number) => void;\n inputValue: string;\n onInputValueChange: (value: string) => void;\n onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n onActivation?: () => void;\n}\n\nexport const ChipInputField = React.forwardRef<HTMLInputElement, ChipInputFieldProps>(({\n inputId,\n items,\n disabled = false,\n placeholder,\n altPlaceholder,\n multiLine = true,\n size = Size.Medium,\n validationType,\n validationMessage,\n loading,\n onRemoveItem,\n onInputValueChange,\n onInputKeyDown,\n onActivation,\n inputValue\n }, ref) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const inputRef = useFocusVisibleRef([containerRef], ref as any);\n\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n /**\n * Scroll container to last item on change\n * */\n React.useEffect(() => {\n if (containerRef.current) {\n inputRef.current.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }, [containerRef, inputRef, items]);\n\n /**\n * Remove last cheap on backspace\n * */\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown(e);\n };\n\n const handleItemRemove = (event: any, item: ChipItem, index: number) => {\n onRemoveItem(item, index);\n inputRef.current?.focus({focusVisible: event.detail !== 1} as any);\n };\n\n const handleInputClear = (e: any) => {\n onInputValueChange('');\n inputRef.current?.focus({focusVisible: e?.detail !== 1} as any)\n };\n\n const cls = `${multiLine ? 'multiline' : ''} ${validationType || ''} ${size} ${loading ? 'loading' : ''} ${disabled ? 'disabled' : ''}`;\n\n return (\n <Wrapper>\n <ChipInputContainer ref={containerRef}\n id={inputId}\n onClick={() => !disabled && inputRef.current?.focus()}\n className={cls}>\n <ChipInputContentContainer>\n {items?.map((chip: ChipItem, index: number) => (\n <InputChip key={`chip_${index}`}\n icon={chip?.icon}\n size={size}\n disabled={chip.disabled || disabled}\n variant={chip.variant || 'normal'}\n text={chip.label}\n onRemove={(e) => handleItemRemove(e, chip, index)}/>\n ))}\n\n <ChipInputEl ref={inputRef}\n type=\"text\"\n tabIndex={disabled ? -1 : 0}\n value={inputValue}\n onChange={e => onInputValueChange(e.target.value)}\n onKeyDown={handleInputKeyDown}\n placeholder={items?.length === 0 ? placeholder : (altPlaceholder || '')}\n onClick={e => {\n e.stopPropagation();\n onActivation && onActivation();\n }}/>\n {\n inputValue && !disabled &&\n <IconButton action={handleInputClear}\n ref={clearButtonRef}\n useTransparentBackground={true}\n shape={'circular'}\n style={{marginLeft: '-8px'}}\n variant={'secondary'}>\n <SystemIcons.Clear/>\n </IconButton>\n }\n\n {loading &&\n <Loading className={size}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600}/>\n </Loading>\n }\n </ChipInputContentContainer>\n </ChipInputContainer>\n\n\n {validationMessage && validationType === 'warning' ? (\n <WarningMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_500}/>\n <span>{validationMessage}</span>\n </WarningMessage>\n ) : (\n validationType === 'error' && (\n <ErrorMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )\n )}\n </Wrapper>\n );\n});\n"],"file":"ChipInputField.js"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=ChipInputTypes.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"ChipInputTypes.cjs"}