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

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 (669) hide show
  1. package/README.md +38 -38
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.d.ts +11 -11
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionMenu.cjs.map +1 -1
  6. package/dist/Accordion/AccordionMenu.d.ts +19 -19
  7. package/dist/Accordion/AccordionMenu.js.map +1 -1
  8. package/dist/Accordion/ContentAccordion.cjs +5 -5
  9. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  10. package/dist/Accordion/ContentAccordion.d.ts +27 -27
  11. package/dist/Accordion/ContentAccordion.js +6 -6
  12. package/dist/Accordion/ContentAccordion.js.map +1 -1
  13. package/dist/Accordion/index.cjs.map +1 -1
  14. package/dist/Accordion/index.d.ts +4 -4
  15. package/dist/Accordion/index.js.map +1 -1
  16. package/dist/Accordion/styles.cjs +1 -1
  17. package/dist/Accordion/styles.cjs.map +1 -1
  18. package/dist/Accordion/styles.d.ts +10 -10
  19. package/dist/Accordion/styles.js +1 -1
  20. package/dist/Accordion/styles.js.map +1 -1
  21. package/dist/AuthPage/AuthPage.cjs +4 -4
  22. package/dist/AuthPage/AuthPage.cjs.map +1 -1
  23. package/dist/AuthPage/AuthPage.d.ts +32 -32
  24. package/dist/AuthPage/AuthPage.js +4 -4
  25. package/dist/AuthPage/AuthPage.js.map +1 -1
  26. package/dist/AuthPage/Information.cjs.map +1 -1
  27. package/dist/AuthPage/Information.d.ts +7 -7
  28. package/dist/AuthPage/Information.js.map +1 -1
  29. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
  30. package/dist/AuthPage/ScreenSetsContainer.d.ts +4 -4
  31. package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
  32. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -1
  33. package/dist/AuthPage/_AuthPageSection.d.ts +2 -2
  34. package/dist/AuthPage/_AuthPageSection.js.map +1 -1
  35. package/dist/AuthPage/index.cjs.map +1 -1
  36. package/dist/AuthPage/index.d.ts +5 -5
  37. package/dist/AuthPage/index.js.map +1 -1
  38. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -1
  39. package/dist/AuthPage/screenSetsErrorMessages.d.ts +5 -5
  40. package/dist/AuthPage/screenSetsErrorMessages.js.map +1 -1
  41. package/dist/Banners/Banner.cjs.map +1 -1
  42. package/dist/Banners/Banner.d.ts +17 -17
  43. package/dist/Banners/Banner.js.map +1 -1
  44. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  45. package/dist/Banners/OverviewBanner.d.ts +6 -6
  46. package/dist/Banners/OverviewBanner.js.map +1 -1
  47. package/dist/Banners/index.cjs.map +1 -1
  48. package/dist/Banners/index.d.ts +3 -3
  49. package/dist/Banners/index.js.map +1 -1
  50. package/dist/Banners/styles.cjs.map +1 -1
  51. package/dist/Banners/styles.d.ts +1 -1
  52. package/dist/Banners/styles.js.map +1 -1
  53. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  54. package/dist/Breadcrumb/Breadcrumb.d.ts +12 -12
  55. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  56. package/dist/Breadcrumb/BreadcrumbItem.d.ts +4 -4
  57. package/dist/Breadcrumb/index.cjs.map +1 -1
  58. package/dist/Breadcrumb/index.d.ts +1 -1
  59. package/dist/Breadcrumb/index.js.map +1 -1
  60. package/dist/Button/BackButton.cjs.map +1 -1
  61. package/dist/Button/BackButton.d.ts +8 -8
  62. package/dist/Button/BackButton.js.map +1 -1
  63. package/dist/Button/Button.cjs +3 -3
  64. package/dist/Button/Button.cjs.map +1 -1
  65. package/dist/Button/Button.d.ts +19 -19
  66. package/dist/Button/Button.js +3 -3
  67. package/dist/Button/Button.js.map +1 -1
  68. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  69. package/dist/Button/DualFunctionButton.d.ts +13 -13
  70. package/dist/Button/DualFunctionButton.js.map +1 -1
  71. package/dist/Button/Iconbutton.cjs.map +1 -1
  72. package/dist/Button/Iconbutton.d.ts +44 -44
  73. package/dist/Button/Iconbutton.js.map +1 -1
  74. package/dist/Button/index.cjs.map +1 -1
  75. package/dist/Button/index.d.ts +4 -4
  76. package/dist/Button/index.js.map +1 -1
  77. package/dist/Card/HorizontalCard/HorizontalCard.cjs +97 -0
  78. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -0
  79. package/dist/Card/HorizontalCard/HorizontalCard.d.ts +4 -0
  80. package/dist/Card/HorizontalCard/HorizontalCard.js +74 -0
  81. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -0
  82. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +118 -0
  83. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -0
  84. package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +5 -0
  85. package/dist/Card/HorizontalCard/HorizontalCardActions.js +98 -0
  86. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -0
  87. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +60 -0
  88. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -0
  89. package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +5 -0
  90. package/dist/Card/HorizontalCard/HorizontalCardBody.js +40 -0
  91. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -0
  92. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +49 -0
  93. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -0
  94. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +5 -0
  95. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +33 -0
  96. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -0
  97. package/dist/Card/HorizontalCard/index.cjs +33 -0
  98. package/dist/Card/HorizontalCard/index.cjs.map +1 -0
  99. package/dist/Card/HorizontalCard/index.d.ts +2 -0
  100. package/dist/Card/HorizontalCard/index.js +3 -0
  101. package/dist/Card/HorizontalCard/index.js.map +1 -0
  102. package/dist/Card/HorizontalCard/types.cjs +6 -0
  103. package/dist/Card/HorizontalCard/types.cjs.map +1 -0
  104. package/dist/Card/HorizontalCard/types.d.ts +40 -0
  105. package/dist/Card/HorizontalCard/types.js +2 -0
  106. package/dist/Card/HorizontalCard/types.js.map +1 -0
  107. package/dist/Card/{Card.cjs → VerticalCard/Card.cjs} +33 -9
  108. package/dist/Card/VerticalCard/Card.cjs.map +1 -0
  109. package/dist/Card/{Card.d.ts → VerticalCard/Card.d.ts} +16 -15
  110. package/dist/Card/{Card.js → VerticalCard/Card.js} +30 -8
  111. package/dist/Card/VerticalCard/Card.js.map +1 -0
  112. package/dist/Card/{CardBottomSection.cjs → VerticalCard/CardBottomSection.cjs} +42 -25
  113. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -0
  114. package/dist/Card/{CardBottomSection.d.ts → VerticalCard/CardBottomSection.d.ts} +31 -31
  115. package/dist/Card/{CardBottomSection.js → VerticalCard/CardBottomSection.js} +27 -11
  116. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -0
  117. package/dist/Card/{CardMiddleSection.cjs → VerticalCard/CardMiddleSection.cjs} +14 -13
  118. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -0
  119. package/dist/Card/{CardMiddleSection.d.ts → VerticalCard/CardMiddleSection.d.ts} +27 -27
  120. package/dist/Card/{CardMiddleSection.js → VerticalCard/CardMiddleSection.js} +3 -2
  121. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -0
  122. package/dist/Card/{CardTopSection.cjs → VerticalCard/CardTopSection.cjs} +14 -12
  123. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -0
  124. package/dist/Card/{CardTopSection.d.ts → VerticalCard/CardTopSection.d.ts} +27 -27
  125. package/dist/Card/{CardTopSection.js → VerticalCard/CardTopSection.js} +12 -10
  126. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -0
  127. package/dist/Card/VerticalCard/index.cjs +88 -0
  128. package/dist/Card/VerticalCard/index.cjs.map +1 -0
  129. package/dist/Card/VerticalCard/index.d.ts +7 -0
  130. package/dist/Card/VerticalCard/index.js +8 -0
  131. package/dist/Card/VerticalCard/index.js.map +1 -0
  132. package/dist/Card/index.cjs +8 -64
  133. package/dist/Card/index.cjs.map +1 -1
  134. package/dist/Card/index.d.ts +2 -7
  135. package/dist/Card/index.js +2 -7
  136. package/dist/Card/index.js.map +1 -1
  137. package/dist/Chips/ActionChip.cjs +8 -8
  138. package/dist/Chips/ActionChip.cjs.map +1 -1
  139. package/dist/Chips/ActionChip.d.ts +10 -10
  140. package/dist/Chips/ActionChip.js +10 -10
  141. package/dist/Chips/ActionChip.js.map +1 -1
  142. package/dist/Chips/ChipStyles.cjs.map +1 -1
  143. package/dist/Chips/ChipStyles.d.ts +3 -3
  144. package/dist/Chips/ChipStyles.js +4 -4
  145. package/dist/Chips/ChipStyles.js.map +1 -1
  146. package/dist/Chips/ChipTypes.d.ts +38 -38
  147. package/dist/Chips/ChoiceChips.cjs +13 -13
  148. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  149. package/dist/Chips/ChoiceChips.d.ts +10 -10
  150. package/dist/Chips/ChoiceChips.js +15 -15
  151. package/dist/Chips/ChoiceChips.js.map +1 -1
  152. package/dist/Chips/FilterChip.cjs +8 -8
  153. package/dist/Chips/FilterChip.cjs.map +1 -1
  154. package/dist/Chips/FilterChip.d.ts +10 -10
  155. package/dist/Chips/FilterChip.js +10 -10
  156. package/dist/Chips/FilterChip.js.map +1 -1
  157. package/dist/Chips/InputChip.cjs +11 -11
  158. package/dist/Chips/InputChip.cjs.map +1 -1
  159. package/dist/Chips/InputChip.d.ts +10 -10
  160. package/dist/Chips/InputChip.js +13 -13
  161. package/dist/Chips/InputChip.js.map +1 -1
  162. package/dist/Chips/index.cjs.map +1 -1
  163. package/dist/Chips/index.d.ts +5 -5
  164. package/dist/Chips/index.js.map +1 -1
  165. package/dist/ChipsInput/ChipDropdownInput.cjs +20 -20
  166. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  167. package/dist/ChipsInput/ChipDropdownInput.d.ts +21 -21
  168. package/dist/ChipsInput/ChipDropdownInput.js +26 -26
  169. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  170. package/dist/ChipsInput/ChipInput.cjs +16 -16
  171. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  172. package/dist/ChipsInput/ChipInput.d.ts +7 -7
  173. package/dist/ChipsInput/ChipInput.js +16 -16
  174. package/dist/ChipsInput/ChipInput.js.map +1 -1
  175. package/dist/ChipsInput/ChipInputField.cjs +4 -4
  176. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  177. package/dist/ChipsInput/ChipInputField.d.ts +25 -25
  178. package/dist/ChipsInput/ChipInputField.js +4 -4
  179. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  180. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -22
  181. package/dist/ChipsInput/index.cjs.map +1 -1
  182. package/dist/ChipsInput/index.d.ts +1 -1
  183. package/dist/ChipsInput/index.js.map +1 -1
  184. package/dist/Dropdown/BasicDropdown.cjs +66 -55
  185. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  186. package/dist/Dropdown/BasicDropdown.d.ts +42 -35
  187. package/dist/Dropdown/BasicDropdown.js +66 -56
  188. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  189. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  190. package/dist/Dropdown/CommonStyling.d.ts +22 -22
  191. package/dist/Dropdown/CommonStyling.js.map +1 -1
  192. package/dist/Dropdown/DropdownButton.cjs +6 -6
  193. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  194. package/dist/Dropdown/DropdownButton.d.ts +10 -6
  195. package/dist/Dropdown/DropdownButton.js +12 -13
  196. package/dist/Dropdown/DropdownButton.js.map +1 -1
  197. package/dist/Dropdown/DropdownButtonTypes.d.ts +33 -33
  198. package/dist/Dropdown/DropdownContent.cjs +6 -6
  199. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  200. package/dist/Dropdown/DropdownContent.d.ts +56 -56
  201. package/dist/Dropdown/DropdownContent.js +6 -6
  202. package/dist/Dropdown/DropdownContent.js.map +1 -1
  203. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  204. package/dist/Dropdown/DropdownFilter.d.ts +24 -24
  205. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  206. package/dist/Dropdown/index.cjs.map +1 -1
  207. package/dist/Dropdown/index.d.ts +6 -6
  208. package/dist/Dropdown/index.js.map +1 -1
  209. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -1
  210. package/dist/Footer/Components/FooterBottomLinks.d.ts +11 -11
  211. package/dist/Footer/Components/FooterBottomLinks.js.map +1 -1
  212. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  213. package/dist/Footer/Components/FooterDropdownLinks.d.ts +7 -7
  214. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  215. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
  216. package/dist/Footer/Components/FooterNavSection.d.ts +7 -7
  217. package/dist/Footer/Components/FooterNavSection.js.map +1 -1
  218. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  219. package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +7 -7
  220. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  221. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  222. package/dist/Footer/Components/FooterTop.d.ts +7 -7
  223. package/dist/Footer/Components/FooterTop.js.map +1 -1
  224. package/dist/Footer/Footer.cjs.map +1 -1
  225. package/dist/Footer/Footer.d.ts +2 -2
  226. package/dist/Footer/Footer.js.map +1 -1
  227. package/dist/Footer/SiteFooter.cjs.map +1 -1
  228. package/dist/Footer/SiteFooter.d.ts +20 -20
  229. package/dist/Footer/SiteFooter.js +8 -8
  230. package/dist/Footer/SiteFooter.js.map +1 -1
  231. package/dist/Footer/index.cjs.map +1 -1
  232. package/dist/Footer/index.d.ts +2 -2
  233. package/dist/Footer/index.js.map +1 -1
  234. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +4 -4
  235. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  236. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +23 -23
  237. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +4 -4
  238. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  239. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  240. package/dist/GlobalNavigationBar/Logo.d.ts +14 -14
  241. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  242. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +1 -1
  243. package/dist/GlobalNavigationBar/NavigationHelper.d.ts +4 -4
  244. package/dist/GlobalNavigationBar/NavigationHelper.js.map +1 -1
  245. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -8
  246. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  247. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +15 -15
  248. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  249. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  250. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  251. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +7 -7
  252. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  253. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  254. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +8 -8
  255. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  256. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  257. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +8 -8
  258. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  259. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  260. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +7 -7
  261. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  262. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  263. package/dist/GlobalNavigationBar/index.d.ts +3 -3
  264. package/dist/GlobalNavigationBar/index.js.map +1 -1
  265. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  266. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +13 -13
  267. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  268. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  269. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +8 -8
  270. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  271. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  272. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.d.ts +11 -11
  273. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  274. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  275. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.d.ts +12 -12
  276. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  277. package/dist/GlobalNavigationBar/types.d.ts +120 -120
  278. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  279. package/dist/HyperLink/HyperLink.d.ts +16 -16
  280. package/dist/HyperLink/HyperLink.js.map +1 -1
  281. package/dist/HyperLink/index.cjs.map +1 -1
  282. package/dist/HyperLink/index.d.ts +3 -3
  283. package/dist/HyperLink/index.js.map +1 -1
  284. package/dist/HyperLink/styling.cjs.map +1 -1
  285. package/dist/HyperLink/styling.d.ts +2 -2
  286. package/dist/HyperLink/styling.js.map +1 -1
  287. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  288. package/dist/Image/ImageWithFallbacks.d.ts +21 -21
  289. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  290. package/dist/Image/index.cjs.map +1 -1
  291. package/dist/Image/index.d.ts +2 -2
  292. package/dist/Image/index.js.map +1 -1
  293. package/dist/InputFields/Checkbox.cjs.map +1 -1
  294. package/dist/InputFields/Checkbox.d.ts +25 -25
  295. package/dist/InputFields/Checkbox.js.map +1 -1
  296. package/dist/InputFields/DatepickerField.cjs +48 -42
  297. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  298. package/dist/InputFields/DatepickerField.d.ts +20 -23
  299. package/dist/InputFields/DatepickerField.js +45 -32
  300. package/dist/InputFields/DatepickerField.js.map +1 -1
  301. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  302. package/dist/InputFields/DatepickerFieldHeader.d.ts +18 -18
  303. package/dist/InputFields/DatepickerFieldHeader.js +2 -2
  304. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  305. package/dist/InputFields/Label.cjs +5 -5
  306. package/dist/InputFields/Label.cjs.map +1 -1
  307. package/dist/InputFields/Label.d.ts +13 -13
  308. package/dist/InputFields/Label.js +11 -11
  309. package/dist/InputFields/Label.js.map +1 -1
  310. package/dist/InputFields/NumberField.cjs +184 -97
  311. package/dist/InputFields/NumberField.cjs.map +1 -1
  312. package/dist/InputFields/NumberField.d.ts +19 -21
  313. package/dist/InputFields/NumberField.js +179 -97
  314. package/dist/InputFields/NumberField.js.map +1 -1
  315. package/dist/InputFields/PasswordField.cjs.map +1 -1
  316. package/dist/InputFields/PasswordField.d.ts +17 -17
  317. package/dist/InputFields/PasswordField.js.map +1 -1
  318. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  319. package/dist/InputFields/QuickSearch.d.ts +18 -18
  320. package/dist/InputFields/QuickSearch.js.map +1 -1
  321. package/dist/InputFields/RadioButton.cjs +1 -1
  322. package/dist/InputFields/RadioButton.cjs.map +1 -1
  323. package/dist/InputFields/RadioButton.d.ts +18 -18
  324. package/dist/InputFields/RadioButton.js +1 -1
  325. package/dist/InputFields/RadioButton.js.map +1 -1
  326. package/dist/InputFields/ResponsiveComponentWrapper.cjs +4 -4
  327. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
  328. package/dist/InputFields/ResponsiveComponentWrapper.d.ts +11 -11
  329. package/dist/InputFields/ResponsiveComponentWrapper.js +4 -4
  330. package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
  331. package/dist/InputFields/SearchBar.cjs.map +1 -1
  332. package/dist/InputFields/SearchBar.d.ts +18 -18
  333. package/dist/InputFields/SearchBar.js.map +1 -1
  334. package/dist/InputFields/TextField.cjs.map +1 -1
  335. package/dist/InputFields/TextField.d.ts +23 -23
  336. package/dist/InputFields/TextField.js.map +1 -1
  337. package/dist/InputFields/Textarea.cjs.map +1 -1
  338. package/dist/InputFields/Textarea.d.ts +7 -7
  339. package/dist/InputFields/Textarea.js +8 -8
  340. package/dist/InputFields/Textarea.js.map +1 -1
  341. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  342. package/dist/InputFields/components/SearchBarInput.d.ts +19 -19
  343. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  344. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  345. package/dist/InputFields/components/SearchField.d.ts +15 -15
  346. package/dist/InputFields/components/SearchField.js.map +1 -1
  347. package/dist/InputFields/index.cjs +26 -0
  348. package/dist/InputFields/index.cjs.map +1 -1
  349. package/dist/InputFields/index.d.ts +12 -11
  350. package/dist/InputFields/index.js +1 -0
  351. package/dist/InputFields/index.js.map +1 -1
  352. package/dist/InputFields/styling.cjs.map +1 -1
  353. package/dist/InputFields/styling.d.ts +24 -24
  354. package/dist/InputFields/styling.js.map +1 -1
  355. package/dist/InputFields/types.d.ts +38 -38
  356. package/dist/Layouts/index.cjs.map +1 -1
  357. package/dist/Layouts/index.d.ts +10 -10
  358. package/dist/Layouts/index.js.map +1 -1
  359. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  360. package/dist/LinearProgress/LinearProgress.d.ts +25 -25
  361. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  362. package/dist/LinearProgress/index.cjs.map +1 -1
  363. package/dist/LinearProgress/index.d.ts +3 -3
  364. package/dist/LinearProgress/index.js.map +1 -1
  365. package/dist/List/ListRow.cjs +1 -1
  366. package/dist/List/ListRow.cjs.map +1 -1
  367. package/dist/List/ListRow.d.ts +20 -20
  368. package/dist/List/ListRow.js +1 -1
  369. package/dist/List/ListRow.js.map +1 -1
  370. package/dist/List/__tests__/ListRow.tests.d.ts +1 -1
  371. package/dist/List/index.cjs.map +1 -1
  372. package/dist/List/index.d.ts +2 -2
  373. package/dist/List/index.js.map +1 -1
  374. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  375. package/dist/LoadingIndicator/LoadingIndicator.d.ts +8 -8
  376. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  377. package/dist/LoadingIndicator/index.cjs.map +1 -1
  378. package/dist/LoadingIndicator/index.d.ts +1 -1
  379. package/dist/LoadingIndicator/index.js.map +1 -1
  380. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  381. package/dist/LoadingPage/GlobalLoadingPage.d.ts +7 -7
  382. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  383. package/dist/LoadingPage/index.cjs.map +1 -1
  384. package/dist/LoadingPage/index.d.ts +1 -1
  385. package/dist/LoadingPage/index.js.map +1 -1
  386. package/dist/MenuItem/MenuItem.cjs +5 -3
  387. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  388. package/dist/MenuItem/MenuItem.d.ts +25 -25
  389. package/dist/MenuItem/MenuItem.js +5 -3
  390. package/dist/MenuItem/MenuItem.js.map +1 -1
  391. package/dist/MenuItem/index.d.ts +1 -1
  392. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  393. package/dist/MiniProductCard/MiniProductCard.d.ts +7 -7
  394. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  395. package/dist/MiniProductCard/index.cjs.map +1 -1
  396. package/dist/MiniProductCard/index.d.ts +1 -1
  397. package/dist/MiniProductCard/index.js.map +1 -1
  398. package/dist/Modals/Modal.cjs +2 -2
  399. package/dist/Modals/Modal.cjs.map +1 -1
  400. package/dist/Modals/Modal.d.ts +14 -14
  401. package/dist/Modals/Modal.js +2 -2
  402. package/dist/Modals/Modal.js.map +1 -1
  403. package/dist/Modals/ModalContainer.cjs.map +1 -1
  404. package/dist/Modals/ModalContainer.d.ts +32 -32
  405. package/dist/Modals/ModalContainer.js.map +1 -1
  406. package/dist/Modals/ModalContent.cjs.map +1 -1
  407. package/dist/Modals/ModalContent.d.ts +17 -17
  408. package/dist/Modals/ModalContent.js.map +1 -1
  409. package/dist/Modals/ModalDialog.cjs.map +1 -1
  410. package/dist/Modals/ModalDialog.d.ts +28 -28
  411. package/dist/Modals/ModalDialog.js.map +1 -1
  412. package/dist/Modals/ModalNote.cjs.map +1 -1
  413. package/dist/Modals/ModalNote.d.ts +9 -9
  414. package/dist/Modals/ModalNote.js.map +1 -1
  415. package/dist/Modals/ModalStyles.cjs +2 -2
  416. package/dist/Modals/ModalStyles.cjs.map +1 -1
  417. package/dist/Modals/ModalStyles.d.ts +53 -53
  418. package/dist/Modals/ModalStyles.js +2 -2
  419. package/dist/Modals/ModalStyles.js.map +1 -1
  420. package/dist/Modals/ModalTypes.d.ts +23 -23
  421. package/dist/Modals/index.cjs.map +1 -1
  422. package/dist/Modals/index.d.ts +7 -7
  423. package/dist/Modals/index.js.map +1 -1
  424. package/dist/NavItem/NavItem.cjs.map +1 -1
  425. package/dist/NavItem/NavItem.d.ts +2 -2
  426. package/dist/NavItem/NavItem.js.map +1 -1
  427. package/dist/NavItem/index.cjs.map +1 -1
  428. package/dist/NavItem/index.d.ts +1 -1
  429. package/dist/NavItem/index.js.map +1 -1
  430. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  431. package/dist/NotificationDot/NotificationDot.d.ts +9 -9
  432. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  433. package/dist/NotificationDot/index.d.ts +1 -1
  434. package/dist/Paginator/Paginator.cjs.map +1 -1
  435. package/dist/Paginator/Paginator.d.ts +8 -8
  436. package/dist/Paginator/Paginator.js.map +1 -1
  437. package/dist/Paginator/index.cjs.map +1 -1
  438. package/dist/Paginator/index.d.ts +2 -2
  439. package/dist/Paginator/index.js.map +1 -1
  440. package/dist/Popover/Popover.cjs +38 -24
  441. package/dist/Popover/Popover.cjs.map +1 -1
  442. package/dist/Popover/Popover.d.ts +27 -26
  443. package/dist/Popover/Popover.js +38 -24
  444. package/dist/Popover/Popover.js.map +1 -1
  445. package/dist/Popover/index.d.ts +1 -1
  446. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  447. package/dist/ProfileButton/ProfileButton.d.ts +14 -14
  448. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  449. package/dist/ProfileButton/index.d.ts +1 -1
  450. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  451. package/dist/QuizButton/QuizButton.d.ts +15 -15
  452. package/dist/QuizButton/QuizButton.js.map +1 -1
  453. package/dist/QuizButton/index.d.ts +1 -1
  454. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  455. package/dist/SegmentControl/SegmentControl.d.ts +19 -19
  456. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  457. package/dist/SegmentControl/index.cjs.map +1 -1
  458. package/dist/SegmentControl/index.d.ts +3 -3
  459. package/dist/SegmentControl/index.js.map +1 -1
  460. package/dist/Services/functions.cjs.map +1 -1
  461. package/dist/Services/functions.d.ts +1 -1
  462. package/dist/Services/functions.js.map +1 -1
  463. package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
  464. package/dist/SkipToContent/SkipToContent.d.ts +4 -4
  465. package/dist/SkipToContent/SkipToContent.js.map +1 -1
  466. package/dist/SkipToContent/index.cjs.map +1 -1
  467. package/dist/SkipToContent/index.d.ts +1 -1
  468. package/dist/SkipToContent/index.js.map +1 -1
  469. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  470. package/dist/Switcher/MobileSwitcherMenu.d.ts +10 -10
  471. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  472. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  473. package/dist/Switcher/SwitcherMenuItem.d.ts +3 -3
  474. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  475. package/dist/Switcher/__tests__/SwitcherMenuItem.d.ts +1 -1
  476. package/dist/Switcher/index.cjs.map +1 -1
  477. package/dist/Switcher/index.d.ts +3 -3
  478. package/dist/Switcher/index.js.map +1 -1
  479. package/dist/Table/Table.cjs +31 -31
  480. package/dist/Table/Table.cjs.map +1 -1
  481. package/dist/Table/Table.d.ts +10 -10
  482. package/dist/Table/Table.js +39 -39
  483. package/dist/Table/Table.js.map +1 -1
  484. package/dist/Table/TableBody.cjs.map +1 -1
  485. package/dist/Table/TableBody.d.ts +9 -9
  486. package/dist/Table/TableBody.js.map +1 -1
  487. package/dist/Table/TableFooter.cjs.map +1 -1
  488. package/dist/Table/TableFooter.d.ts +15 -15
  489. package/dist/Table/TableFooter.js.map +1 -1
  490. package/dist/Table/TableHeaders.cjs.map +1 -1
  491. package/dist/Table/TableHeaders.d.ts +9 -9
  492. package/dist/Table/TableHeaders.js.map +1 -1
  493. package/dist/Table/TableStyles.cjs +2 -2
  494. package/dist/Table/TableStyles.cjs.map +1 -1
  495. package/dist/Table/TableStyles.d.ts +23 -23
  496. package/dist/Table/TableStyles.js +6 -6
  497. package/dist/Table/TableStyles.js.map +1 -1
  498. package/dist/Table/TableTypes.d.ts +56 -56
  499. package/dist/Table/index.cjs.map +1 -1
  500. package/dist/Table/index.d.ts +2 -2
  501. package/dist/Table/index.js.map +1 -1
  502. package/dist/Tabs/HorizontalTabs.cjs +3 -3
  503. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  504. package/dist/Tabs/HorizontalTabs.d.ts +16 -16
  505. package/dist/Tabs/HorizontalTabs.js +9 -9
  506. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  507. package/dist/Tabs/TabLink.cjs.map +1 -1
  508. package/dist/Tabs/TabLink.d.ts +16 -16
  509. package/dist/Tabs/TabLink.js.map +1 -1
  510. package/dist/Tabs/Tabs.cjs.map +1 -1
  511. package/dist/Tabs/Tabs.d.ts +8 -8
  512. package/dist/Tabs/Tabs.js.map +1 -1
  513. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  514. package/dist/Tabs/VerticalTabs.d.ts +20 -20
  515. package/dist/Tabs/VerticalTabs.js.map +1 -1
  516. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -1
  517. package/dist/Tabs/index.cjs.map +1 -1
  518. package/dist/Tabs/index.d.ts +5 -5
  519. package/dist/Tabs/index.js.map +1 -1
  520. package/dist/Tag/Tag.cjs.map +1 -1
  521. package/dist/Tag/Tag.d.ts +9 -9
  522. package/dist/Tag/Tag.js.map +1 -1
  523. package/dist/Tag/index.cjs.map +1 -1
  524. package/dist/Tag/index.d.ts +2 -2
  525. package/dist/Tag/index.js.map +1 -1
  526. package/dist/Tile/Tile.cjs.map +1 -1
  527. package/dist/Tile/Tile.d.ts +4 -4
  528. package/dist/Tile/Tile.js.map +1 -1
  529. package/dist/Tile/TileBody.cjs.map +1 -1
  530. package/dist/Tile/TileBody.d.ts +6 -6
  531. package/dist/Tile/TileBody.js.map +1 -1
  532. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  533. package/dist/Tile/TileCommonItems.d.ts +9 -9
  534. package/dist/Tile/TileCommonItems.js.map +1 -1
  535. package/dist/Tile/TileFooter.cjs.map +1 -1
  536. package/dist/Tile/TileFooter.d.ts +7 -7
  537. package/dist/Tile/TileFooter.js.map +1 -1
  538. package/dist/Tile/TileHeader.cjs.map +1 -1
  539. package/dist/Tile/TileHeader.d.ts +7 -7
  540. package/dist/Tile/TileHeader.js.map +1 -1
  541. package/dist/Tile/TileTypes.d.ts +57 -57
  542. package/dist/Tile/index.cjs.map +1 -1
  543. package/dist/Tile/index.d.ts +3 -3
  544. package/dist/Tile/index.js.map +1 -1
  545. package/dist/Toasters/Toast.cjs.map +1 -1
  546. package/dist/Toasters/Toast.d.ts +24 -24
  547. package/dist/Toasters/Toast.js.map +1 -1
  548. package/dist/Toasters/ToastContext.cjs.map +1 -1
  549. package/dist/Toasters/ToastContext.d.ts +18 -18
  550. package/dist/Toasters/ToastContext.js.map +1 -1
  551. package/dist/Toasters/index.cjs.map +1 -1
  552. package/dist/Toasters/index.d.ts +3 -3
  553. package/dist/Toasters/index.js.map +1 -1
  554. package/dist/Toggles/ToggleButton.cjs +3 -2
  555. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  556. package/dist/Toggles/ToggleButton.d.ts +14 -14
  557. package/dist/Toggles/ToggleButton.js +3 -2
  558. package/dist/Toggles/ToggleButton.js.map +1 -1
  559. package/dist/Toggles/ToggleSwitch.cjs +26 -19
  560. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  561. package/dist/Toggles/ToggleSwitch.d.ts +10 -6
  562. package/dist/Toggles/ToggleSwitch.js +29 -20
  563. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  564. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  565. package/dist/Toggles/TogglerStyles.d.ts +5 -5
  566. package/dist/Toggles/TogglerStyles.js +4 -4
  567. package/dist/Toggles/TogglerStyles.js.map +1 -1
  568. package/dist/Toggles/TogglerTypes.d.ts +13 -13
  569. package/dist/Toggles/index.cjs.map +1 -1
  570. package/dist/Toggles/index.d.ts +3 -3
  571. package/dist/Toggles/index.js.map +1 -1
  572. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  573. package/dist/Tooltips/TooltipStyles.d.ts +12 -12
  574. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  575. package/dist/Tooltips/TooltipTypes.cjs +2 -2
  576. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  577. package/dist/Tooltips/TooltipTypes.d.ts +16 -16
  578. package/dist/Tooltips/TooltipTypes.js +2 -2
  579. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  580. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  581. package/dist/Tooltips/TooltipWrapper.d.ts +3 -3
  582. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  583. package/dist/Tooltips/index.cjs.map +1 -1
  584. package/dist/Tooltips/index.d.ts +3 -3
  585. package/dist/Tooltips/index.js.map +1 -1
  586. package/dist/assets/index.cjs.map +1 -1
  587. package/dist/assets/index.d.ts +12 -12
  588. package/dist/assets/index.js.map +1 -1
  589. package/dist/common/ActionWithin.cjs.map +1 -1
  590. package/dist/common/ActionWithin.d.ts +2 -2
  591. package/dist/common/ActionWithin.js.map +1 -1
  592. package/dist/common/ClickOutside.cjs.map +1 -1
  593. package/dist/common/ClickOutside.d.ts +1 -1
  594. package/dist/common/ClickOutside.js.map +1 -1
  595. package/dist/common/EventHandlers.cjs.map +1 -1
  596. package/dist/common/EventHandlers.d.ts +1 -1
  597. package/dist/common/EventHandlers.js.map +1 -1
  598. package/dist/common/FocusOutside.cjs.map +1 -1
  599. package/dist/common/FocusOutside.d.ts +1 -1
  600. package/dist/common/FocusOutside.js.map +1 -1
  601. package/dist/common/FocusVisible.cjs.map +1 -1
  602. package/dist/common/FocusVisible.d.ts +2 -2
  603. package/dist/common/FocusVisible.js.map +1 -1
  604. package/dist/common/InputStyling.cjs.map +1 -1
  605. package/dist/common/InputStyling.d.ts +1 -1
  606. package/dist/common/InputStyling.js.map +1 -1
  607. package/dist/common/StackState.cjs.map +1 -1
  608. package/dist/common/StackState.d.ts +7 -7
  609. package/dist/common/StackState.js.map +1 -1
  610. package/dist/common/index.cjs.map +1 -1
  611. package/dist/common/index.d.ts +6 -6
  612. package/dist/common/index.js.map +1 -1
  613. package/dist/custom.d.ts +4 -4
  614. package/dist/declarations.d.ts +1 -1
  615. package/dist/hooks/useClickOutside.cjs +2 -2
  616. package/dist/hooks/useClickOutside.cjs.map +1 -1
  617. package/dist/hooks/useClickOutside.d.ts +5 -5
  618. package/dist/hooks/useClickOutside.js +2 -2
  619. package/dist/hooks/useClickOutside.js.map +1 -1
  620. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
  621. package/dist/icons/contenticons/ContentIcons.d.ts +170 -170
  622. package/dist/icons/contenticons/ContentIcons.js.map +1 -1
  623. package/dist/icons/index.cjs +4 -4
  624. package/dist/icons/index.cjs.map +1 -1
  625. package/dist/icons/index.d.ts +25 -25
  626. package/dist/icons/index.js +4 -4
  627. package/dist/icons/index.js.map +1 -1
  628. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
  629. package/dist/icons/systemicons/SystemIcons.d.ts +183 -183
  630. package/dist/icons/systemicons/SystemIcons.js.map +1 -1
  631. package/dist/index.cjs.map +1 -1
  632. package/dist/index.d.ts +43 -43
  633. package/dist/index.js.map +1 -1
  634. package/dist/styles/breakpoints.cjs.map +1 -1
  635. package/dist/styles/breakpoints.d.ts +8 -8
  636. package/dist/styles/breakpoints.js.map +1 -1
  637. package/dist/styles/colors.cjs.map +1 -1
  638. package/dist/styles/colors.d.ts +83 -83
  639. package/dist/styles/colors.js.map +1 -1
  640. package/dist/styles/focus-styles.cjs.map +1 -1
  641. package/dist/styles/focus-styles.d.ts +2 -2
  642. package/dist/styles/focus-styles.js.map +1 -1
  643. package/dist/styles/global.cjs.map +1 -1
  644. package/dist/styles/global.d.ts +2 -2
  645. package/dist/styles/global.js.map +1 -1
  646. package/dist/styles/index.cjs.map +1 -1
  647. package/dist/styles/index.d.ts +23 -23
  648. package/dist/styles/index.js.map +1 -1
  649. package/dist/styles/shadowstyles.cjs.map +1 -1
  650. package/dist/styles/shadowstyles.d.ts +7 -7
  651. package/dist/styles/shadowstyles.js.map +1 -1
  652. package/dist/styles/typography.cjs.map +1 -1
  653. package/dist/styles/typography.d.ts +89 -89
  654. package/dist/styles/typography.js.map +1 -1
  655. package/dist/styles/z-indexes.cjs.map +1 -1
  656. package/dist/styles/z-indexes.d.ts +15 -15
  657. package/dist/styles/z-indexes.js.map +1 -1
  658. package/dist/types.cjs.map +1 -1
  659. package/dist/types.d.ts +70 -70
  660. package/dist/types.js.map +1 -1
  661. package/package.json +107 -107
  662. package/dist/Card/Card.cjs.map +0 -1
  663. package/dist/Card/Card.js.map +0 -1
  664. package/dist/Card/CardBottomSection.cjs.map +0 -1
  665. package/dist/Card/CardBottomSection.js.map +0 -1
  666. package/dist/Card/CardMiddleSection.cjs.map +0 -1
  667. package/dist/Card/CardMiddleSection.js.map +0 -1
  668. package/dist/Card/CardTopSection.cjs.map +0 -1
  669. package/dist/Card/CardTopSection.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/NumberField.tsx"],"names":["Container","styled","div","LabelContainer","COLORS","neutral_500","props","size","Size","Small","ComponentTextStyle","Regular","LabelText","LabelIcon","InputWrapper","PrefixContainer","OperatorWrapper","Medium","neutral_200","NumberInput","input","fieldSize","black","Italic","NoteLabel","NoteIcon","NoteContainer","correct_500","critical_500","InputContainer","neutral_400","primary_700","primary_800","neutral_100","neutral_300","correct_400","critical_400","NumberField","label","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","disabled","readOnly","valid","defaultVal","React","useState","toString","userInput","setUserInput","fieldState","undefined","handleKeyPress","e","key","addInterval","subtractInterval","handleInput","preventDefault","simpleRegex","RegExp","decimalFormationRegEx","negativeDecimalFormationRegEx","allowNegativeRegex","decimalPrecisionRegex","negativeAndDecimalRegex","val","target","value","length","charAt","test","isInRange","replace","indexOf","lastIndexOf","includes","isDecimal","x","parseFloat","toFixed","parseInt","isNaN","Math","round","pow","isLocked","operator","operatorState","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\nimport { COLORS } from '../styles';\nimport { ComponentMStyling, ComponentSStyling, ComponentTextStyle, ComponentXXSStyling, ComponentXSStyling } from '../styles/typography';\nimport { Size } from '../types';\n\nconst Container = styled.div``;\n\nconst LabelContainer = styled.div<{size: Size}>`\n margin-bottom: 4px;\n color: ${COLORS.neutral_500};\n display: flex;\n ${props=>props.size===Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular,null) : ComponentXSStyling(ComponentTextStyle.Regular,null)}\n`;\n\nconst LabelText = styled.div``;\n\nconst LabelIcon = styled.div<{size: Size}>`\n margin-right: ${props => props.size === Size.Small?'6px':'8px'};\n svg {\n height: 9px;\n width: 9px;\n }\n`;\n\nconst InputWrapper = styled.div<{size: Size}>`\n margin: ${props => props.size === Size.Small?'14px 0 14px 16px':'16px 0 16px 16px'};\n display: flex;\n flex-grow: 1;\n`;\n\nconst PrefixContainer = styled.div<{size: Size}>`\n margin-right: 4px;\n width: ${props => props.size === Size.Small?'10px':'11px'};\n height: ${props => props.size === Size.Small?'20px':'24px'};\n color: ${COLORS.neutral_500};\n ${props=>props.size===Size.Small?ComponentSStyling(ComponentTextStyle.Regular,null):ComponentMStyling(ComponentTextStyle.Regular,null)}\n`;\n\nconst OperatorWrapper = styled.div<{size: Size}>`\n display: flex;\n margin:${props => props.size === Size.Medium?'4px 0':''};\n svg {\n height: 14px;\n width: 14px;\n }\n .divider {\n margin: 16px 0;\n background: ${COLORS.neutral_200};\n width: 1px;\n }\n`;\n\nconst NumberInput = styled.input<{fieldSize: Size}>`\n width: 100%; \n height: ${props => props.fieldSize === Size.Small?'20px':'24px'}; \n border: none;\n color: ${COLORS.neutral_500};\n padding: 0; \n ${props => props.fieldSize === Size.Small?ComponentSStyling(ComponentTextStyle.Regular, COLORS.black):ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n &:hover, &:focus, &:active {\n outline: none;\n }\n\n &::placeholder {\n ${props => props.fieldSize === Size.Small?ComponentSStyling(ComponentTextStyle.Italic, null):ComponentMStyling(ComponentTextStyle.Italic, null)}\n }\n`;\n\nconst NoteLabel = styled.div<{size: Size}>`\n color: ${COLORS.neutral_500};\n ${props=>props.size===Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular,null) : ComponentXSStyling(ComponentTextStyle.Regular,null)} \n`;\n\nconst NoteIcon = styled.div`\n svg {\n height: 16px;\n }\n`;\n\nconst NoteContainer = styled.div`\n display: flex;\n margin-top: 5px;\n\n &.valid {\n ${NoteLabel} {\n color: ${COLORS.correct_500};\n }\n\n ${NoteIcon} {\n svg path {\n fill: ${COLORS.correct_500};\n }\n }\n }\n\n &.invalid {\n ${NoteLabel} {\n color: ${COLORS.critical_500};\n }\n\n ${NoteIcon} {\n svg path {\n fill: ${COLORS.critical_500};\n }\n }\n }\n`;\n\nconst InputContainer = styled.div<{size: Size}>`\n min-width: 160px;\n height: ${props => props.size === Size.Small?'48px':'56px'};\n display: flex;\n border: 0;\n border-radius: 4px;\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_700};\n }\n\n &:focus-within:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n\n &:active:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n\n &.disabled {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n cursor: not-allowed;\n \n ${PrefixContainer}{\n color: ${COLORS.neutral_300};\n }\n\n ${NumberInput}{\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n\n &::placeholder {\n color: ${COLORS.neutral_300};\n }\n }\n }\n\n &.readOnly {\n background: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n cursor: not-allowed;\n\n ${NumberInput}{\n background: ${COLORS.neutral_100};\n cursor: not-allowed;\n pointer-events: none;\n color: ${COLORS.neutral_500};\n }\n }\n\n &.valid {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.correct_400};\n }\n\n &.invalid {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_400};\n }\n`;\n\ntype NumberFieldProps = {\n size: Size.Small | Size.Medium;\n prefix?: string;\n interval?: number;\n label: string;\n note?: string;\n noteIcon?: React.ReactNode;\n required?: boolean;\n minValue?: number;\n maxValue?: number;\n allowNegative?: boolean;\n decimalPrecision?: number;\n disabled?: boolean;\n readOnly?: boolean;\n valid?: boolean;\n defaultVal?: number;\n}\n\nconst NumberField: React.FunctionComponent<NumberFieldProps> = (\n {size=Size.Small, \n label,\n note, \n noteIcon, \n required, \n prefix,\n interval=1, \n minValue, \n maxValue, \n allowNegative, \n decimalPrecision, \n disabled=false, \n readOnly=false, \n valid,\n defaultVal}) => {\n const [userInput, setUserInput] = React.useState(defaultVal?defaultVal.toString():'');\n let fieldState = (valid!==undefined) ? (valid?'valid':'invalid') : undefined;\n\n const handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n switch(e.key){\n case 'ArrowUp': addInterval();\n break;\n case 'ArrowDown': subtractInterval();\n break;\n default: break;\n }\n }\n\n const handleInput = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.preventDefault();\n let simpleRegex = new RegExp(/^[0-9]\\d*$/);\n let decimalFormationRegEx = new RegExp(/^[0-9]\\d*\\.$/); \n let negativeDecimalFormationRegEx = new RegExp(/^[-][0-9]\\d*\\.$/);\n \n let allowNegativeRegex = new RegExp(/^[-][0-9]\\d*$/); \n let decimalPrecisionRegex = decimalPrecision ? new RegExp(`^[0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n let negativeAndDecimalRegex = (decimalPrecision && allowNegative) ? new RegExp(`^[-][0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`): undefined;\n \n let val = e.target.value; \n if(val!==''){\n if(allowNegative && decimalPrecision){\n if(val.length===1 && val.charAt(0)==='-')\n setUserInput(val);\n else{\n if((negativeAndDecimalRegex!.test(val) || decimalPrecisionRegex!.test(val)) && isInRange(val,true))\n setUserInput(val);\n\n else if((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.',''),true))\n setUserInput(val);\n \n else if((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val,true))\n setUserInput(val);\n }\n }\n\n else if(allowNegative){\n if(val.length===1 && val.charAt(0)==='-')\n setUserInput(val);\n else if((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val,false))\n setUserInput(val);\n }\n\n else if(decimalPrecision && (val.indexOf('.')===val.lastIndexOf('.')) && isInRange(val,true)){\n if(decimalPrecisionRegex!.test(val))\n setUserInput(val);\n else if(decimalFormationRegEx.test(val))\n setUserInput(val);\n else if(!val.includes('.') && simpleRegex.test(val))\n setUserInput(val);\n }\n\n else if(simpleRegex.test(val) && isInRange(val, false)){\n setUserInput(val);\n }\n }\n\n if(val==='')\n setUserInput('');\n }\n\n const isInRange = (value: string, isDecimal: boolean): boolean => {\n let x = isDecimal ? parseFloat(value).toFixed(decimalPrecision) : parseInt(value);\n if(minValue && minValue>x)\n return false;\n else if(maxValue && maxValue<x)\n return false;\n else\n return true;\n }\n\n const addInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (minValue ? minValue-1 : 0) : val;\n if(!isNaN(val)){\n if(decimalPrecision)\n val = Math.round((val+interval)*Math.pow(10,decimalPrecision!))/Math.pow(10,decimalPrecision!);\n else\n val +=1;\n\n if(maxValue && maxValue>=val)\n setUserInput(val.toString());\n else if(!maxValue)\n setUserInput(val.toString());\n }\n }\n\n const subtractInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (maxValue ? maxValue+1 : 0) : val;\n if(!isNaN(val)){\n if(decimalPrecision)\n val = Math.round((val-interval)*Math.pow(10,decimalPrecision!))/Math.pow(10,decimalPrecision!);\n else\n val -=1;\n \n if(minValue && minValue<=val)\n allowNegative ? setUserInput(val.toString()) : (val>=0 ? setUserInput(val.toString()) : undefined);\n else if(!minValue)\n allowNegative ? setUserInput(val.toString()) : (val>=0 ? setUserInput(val.toString()) : undefined);\n }\n }\n\n const isLocked = (input: string, operator: string): boolean => {\n let val = decimalPrecision ? parseFloat(input) : parseInt(input);\n val = isNaN(val) && userInput === '' ? 0 : val;\n let operatorState = false;\n if(operator === 'add' && maxValue)\n operatorState = val < maxValue ? false : true;\n \n if(operator === 'subtract' && minValue)\n operatorState = val > minValue ? false : true;\n\n if(operator === 'subtract' && !minValue && !allowNegative)\n operatorState = val > 0 ? false : true;\n\n return operatorState;\n }\n\n return (\n <Container>\n <LabelContainer size={size}>\n {required && <LabelIcon size={size} data-testid={'labelIcon'}>\n <SystemIcons.Asterisk color={COLORS.critical_500}/>\n </LabelIcon>\n }\n <LabelText>\n {label}\n </LabelText>\n </LabelContainer>\n\n <InputContainer size={size} data-testid={'inputContainer'} tabIndex={-1} className={'numberField'.concat(disabled?' disabled':'')\n .concat(readOnly?' readOnly':'')\n .concat(fieldState?` ${fieldState}`:'')}>\n <InputWrapper size={size}>\n {prefix && <PrefixContainer size={size}>\n {prefix}\n </PrefixContainer>}\n <NumberInput fieldSize={size} placeholder='Enter number' value={userInput} tabIndex={(disabled || readOnly) ? -1 : 0} onChange={e=>handleInput(e)} onKeyDown={e=>handleKeyPress(e)}/>\n </InputWrapper>\n\n <OperatorWrapper data-testid={'operators'} size={size}>\n <IconButton tabIndex={-1} variant='secondary' shape='square' action={()=>subtractInterval()} useTransparentBackground disabled={disabled || readOnly || isLocked(userInput,'subtract')}>\n <SystemIcons.Minus size='14px'/>\n </IconButton> \n <div className='divider'></div>\n <IconButton tabIndex={-1} variant='secondary' shape='square' action={()=>addInterval()} useTransparentBackground disabled={disabled || readOnly || isLocked(userInput,'add')}>\n <SystemIcons.Plus size='14px'/>\n </IconButton>\n </OperatorWrapper>\n </InputContainer>\n\n {note && <NoteContainer className={'noteField'.concat(fieldState?` ${fieldState}`:'')}>\n <NoteIcon>\n {noteIcon}\n </NoteIcon>\n <NoteLabel size={size}>\n {note}\n </NoteLabel> \n </NoteContainer>\n }\n </Container>\n ); \n}\n\nexport default NumberField;\n"],"file":"NumberField.cjs"}
1
+ {"version":3,"sources":["../../src/InputFields/NumberField.tsx"],"names":["Container","styled","div","LabelContainer","COLORS","neutral_500","props","size","Size","Small","ComponentTextStyle","Regular","LabelText","LabelIcon","PrefixContainer","disabled","neutral_300","OperatorWrapper","Medium","neutral_200","NumberInput","input","neutral_400","fieldSize","black","type","hasPrefix","Italic","primary_800","focusStyles","primary_700","neutral_100","correct_400","critical_400","NoteLabel","NoteIcon","NoteContainer","correct_500","critical_500","InputContainer","Z_INDEXES","focus","LeftOperator","RightOperator","NumberField","React","forwardRef","ref","label","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","readOnly","state","value","placeholder","onChange","className","rest","useState","toString","userInput","setUserInput","elementRef","useImperativeHandle","current","setVal","e","handleKeyPress","key","addInterval","subtractInterval","handleInput","preventDefault","simpleRegex","RegExp","decimalFormationRegEx","negativeDecimalFormationRegEx","allowNegativeRegex","decimalPrecisionRegex","undefined","negativeAndDecimalRegex","val","target","length","charAt","test","isInRange","replace","indexOf","lastIndexOf","includes","isDecimal","x","parseFloat","toFixed","parseInt","isNaN","Math","round","pow","isLocked","operator","operatorState","renderNumberFieldElements","renderNumberInputElements","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {IconButton} from '../Button';\r\nimport {useFocusVisibleRef} from '../common';\r\nimport {SystemIcons} from '../icons';\r\nimport {COLORS, focusStyles, Z_INDEXES} from '../styles';\r\nimport {\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n ComponentXXSStyling,\r\n ComponentXSStyling\r\n} from '../styles/typography';\r\nimport {Size, States} from '../types';\r\n\r\nconst Container = styled.div``;\r\n\r\nconst LabelContainer = styled.div<{ size: Size }>`\r\n margin-bottom: 4px;\r\n color: ${COLORS.neutral_500};\r\n display: flex;\r\n ${props => props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n`;\r\n\r\nconst LabelText = styled.div``;\r\n\r\nconst LabelIcon = styled.div<{ size: Size }>`\r\n margin-right: ${props => props.size === Size.Small ? '6px' : '8px'};\r\n\r\n svg {\r\n height: 9px;\r\n width: 9px;\r\n }\r\n`;\r\n\r\nconst PrefixContainer = styled.div<{ size: Size, disabled: boolean }>`\r\n width: ${props => props.size === Size.Small ? '10px' : '11px'};\r\n height: ${props => props.size === Size.Small ? '20px' : '24px'};\r\n color: ${props => props.disabled ? COLORS.neutral_300 : COLORS.neutral_500};\r\n ${props => props.size === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, null) : ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n position: absolute;\r\n padding: ${props => props.size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px'};\r\n`;\r\n\r\nconst OperatorWrapper = styled.div<{ size: Size }>`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n display: flex;\r\n margin: ${props => props.size === Size.Medium ? '4px 0' : ''};\r\n\r\n svg {\r\n height: 14px;\r\n width: 14px;\r\n }\r\n\r\n .divider {\r\n margin: 16px 0;\r\n background: ${COLORS.neutral_200};\r\n width: 1px;\r\n }\r\n`;\r\n\r\nconst NumberInput = styled.input<{ fieldSize: Size, hasPrefix: boolean, type: string }>`\r\n width: 100%;\r\n border: none;\r\n border-radius: 4px;\r\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\r\n outline: none;\r\n color: ${COLORS.neutral_500};\r\n\r\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.black) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\r\n ${props => props.type === 'NumberField' ? `\r\n padding: ${props.fieldSize === Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px'};\r\n padding-left: ${props.hasPrefix ? '30px' : ''};\r\n ` : ''}\r\n ${props => props.type === 'NumberInput' ? `\r\n padding: ${props.fieldSize === Size.Small ? '14px 48px' : '16px 48px'};\r\n ` : ''}\r\n &::placeholder {\r\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Italic, null) : ComponentMStyling(ComponentTextStyle.Italic, null)}\r\n }\r\n\r\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\r\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\r\n }\r\n\r\n &.focus-visible {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\r\n box-shadow: inset 0 0 0 2px ${COLORS.primary_700};\r\n }\r\n\r\n &.disabled {\r\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_100};\r\n cursor: not-allowed;\r\n color: ${COLORS.neutral_300};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n\r\n &::placeholder {\r\n color: ${COLORS.neutral_300};\r\n }\r\n }\r\n\r\n &.readOnly {\r\n background: ${COLORS.neutral_100};\r\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_300};\r\n cursor: not-allowed;\r\n background: ${COLORS.neutral_100};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n color: ${COLORS.neutral_500};\r\n }\r\n\r\n &.valid {\r\n box-shadow: inset 0 0 0 2px ${COLORS.correct_400};\r\n }\r\n\r\n &.invalid {\r\n box-shadow: inset 0 0 0 2px ${COLORS.critical_400};\r\n }\r\n`;\r\n\r\nconst NoteLabel = styled.div<{ size: Size }>`\r\n color: ${COLORS.neutral_500};\r\n ${props => props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n`;\r\n\r\nconst NoteIcon = styled.div`\r\n svg {\r\n height: 16px;\r\n }\r\n`;\r\n\r\nconst NoteContainer = styled.div`\r\n display: flex;\r\n margin-top: 5px;\r\n\r\n &.valid {\r\n ${NoteLabel} {\r\n color: ${COLORS.correct_500};\r\n }\r\n\r\n ${NoteIcon} {\r\n svg path {\r\n fill: ${COLORS.correct_500};\r\n }\r\n }\r\n }\r\n\r\n &.invalid {\r\n ${NoteLabel} {\r\n color: ${COLORS.critical_500};\r\n }\r\n\r\n ${NoteIcon} {\r\n svg path {\r\n fill: ${COLORS.critical_500};\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst InputContainer = styled.div<{ size: Size, type: string }>`\r\n min-width: ${props => props.type === 'NumberField' ? '160px' : '144px'};\r\n height: ${props => props.size === Size.Small ? '48px' : '56px'};\r\n display: flex;\r\n position: relative;\r\n\r\n input.focus-visible ~ div.operator {\r\n z-index: ${Z_INDEXES.focus};\r\n }\r\n`;\r\n\r\nconst LeftOperator = styled.div<{ size: Size }>`\r\n position: absolute;\r\n top: ${props => props.size === Size.Small ? '0' : '4px'};\r\n left: 0;\r\n`;\r\n\r\nconst RightOperator = styled.div<{ size: Size }>`\r\n position: absolute;\r\n top: ${props => props.size === Size.Small ? '0' : '4px'};\r\n right: 0;\r\n`;\r\n\r\ntype NumberFieldProps =\r\n Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\r\n & {\r\n size?: Size.Small | Size.Medium;\r\n prefix?: string;\r\n interval?: number;\r\n label: string;\r\n note?: string;\r\n noteIcon?: React.ReactNode;\r\n\r\n minValue?: number;\r\n maxValue?: number;\r\n allowNegative?: boolean;\r\n decimalPrecision?: number;\r\n\r\n state?: States.Valid | States.Invalid;\r\n\r\n type: 'NumberField' | 'NumberInput';\r\n value?: number;\r\n onChange?: (e: string) => void;\r\n}\r\n\r\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\r\n const {\r\n size = Size.Small,\r\n label,\r\n note,\r\n noteIcon,\r\n required,\r\n prefix,\r\n interval = 1,\r\n minValue,\r\n maxValue,\r\n allowNegative,\r\n decimalPrecision,\r\n disabled,\r\n readOnly,\r\n state,\r\n value,\r\n placeholder,\r\n type,\r\n onChange,\r\n className,\r\n ...rest\r\n } = props;\r\n\r\n const [userInput, setUserInput] = React.useState(value ? value.toString() : '');\r\n\r\n const elementRef = useFocusVisibleRef();\r\n\r\n React.useImperativeHandle(ref, () => elementRef.current, [elementRef]);\r\n\r\n const setVal = (e: string) => {\r\n setUserInput(e);\r\n onChange && onChange(e);\r\n }\r\n\r\n const handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n switch (e.key) {\r\n case 'ArrowUp':\r\n addInterval();\r\n break;\r\n case 'ArrowDown':\r\n subtractInterval();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const handleInput = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n e.preventDefault();\r\n let simpleRegex = new RegExp(/^[0-9]\\d*$/);\r\n let decimalFormationRegEx = new RegExp(/^[0-9]\\d*\\.$/);\r\n let negativeDecimalFormationRegEx = new RegExp(/^[-][0-9]\\d*\\.$/);\r\n\r\n let allowNegativeRegex = new RegExp(/^[-][0-9]\\d*$/);\r\n let decimalPrecisionRegex = decimalPrecision ? new RegExp(`^[0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\r\n let negativeAndDecimalRegex = (decimalPrecision && allowNegative) ? new RegExp(`^[-][0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\r\n\r\n let val = e.target.value;\r\n if (val !== '') {\r\n if (allowNegative && decimalPrecision) {\r\n if (val.length === 1 && val.charAt(0) === '-')\r\n setVal(val);\r\n else {\r\n if ((negativeAndDecimalRegex!.test(val) || decimalPrecisionRegex!.test(val)) && isInRange(val, true))\r\n setVal(val);\r\n\r\n else if ((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.', ''), true))\r\n setVal(val);\r\n\r\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, true))\r\n setVal(val);\r\n }\r\n } else if (allowNegative) {\r\n if (val.length === 1 && val.charAt(0) === '-')\r\n setVal(val);\r\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, false))\r\n setVal(val);\r\n } else if (decimalPrecision && (val.indexOf('.') === val.lastIndexOf('.')) && isInRange(val, true)) {\r\n if (decimalPrecisionRegex!.test(val))\r\n setVal(val);\r\n else if (decimalFormationRegEx.test(val))\r\n setVal(val);\r\n else if (!val.includes('.') && simpleRegex.test(val))\r\n setVal(val);\r\n } else if (simpleRegex.test(val) && isInRange(val, false)) {\r\n setVal(val);\r\n }\r\n }\r\n\r\n if (val === '')\r\n setVal('');\r\n }\r\n\r\n const isInRange = (value: string, isDecimal: boolean): boolean => {\r\n let x = isDecimal ? parseFloat(value).toFixed(decimalPrecision) : parseInt(value);\r\n if (minValue && minValue > x)\r\n return false;\r\n else if (maxValue && maxValue < x)\r\n return false;\r\n else\r\n return true;\r\n }\r\n\r\n const addInterval = () => {\r\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\r\n val = isNaN(val) && userInput === '' ? (minValue ? minValue - 1 : 0) : val;\r\n if (!isNaN(val)) {\r\n if (decimalPrecision)\r\n val = Math.round((val + interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\r\n else\r\n val += 1;\r\n\r\n if (maxValue && maxValue >= val)\r\n setVal(val.toString());\r\n else if (!maxValue)\r\n setVal(val.toString());\r\n }\r\n }\r\n\r\n const subtractInterval = () => {\r\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\r\n val = isNaN(val) && userInput === '' ? (maxValue ? maxValue + 1 : 0) : val;\r\n if (!isNaN(val)) {\r\n if (decimalPrecision)\r\n val = Math.round((val - interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\r\n else\r\n val -= 1;\r\n\r\n if ((minValue && minValue <= val) || !minValue) {\r\n if (allowNegative || val >= 0) {\r\n setVal(val.toString());\r\n }\r\n }\r\n }\r\n }\r\n\r\n const isLocked = (input: string, operator: string): boolean => {\r\n let val = decimalPrecision ? parseFloat(input) : parseInt(input);\r\n val = isNaN(val) && userInput === '' ? 0 : val;\r\n let operatorState = false;\r\n if (operator === 'add' && maxValue)\r\n operatorState = val >= maxValue;\r\n\r\n if (operator === 'subtract' && minValue)\r\n operatorState = val <= minValue;\r\n\r\n if (operator === 'subtract' && !minValue && !allowNegative)\r\n operatorState = val <= 0;\r\n\r\n return operatorState;\r\n }\r\n\r\n const renderNumberFieldElements = () => {\r\n return (\r\n <>\r\n {prefix && <PrefixContainer size={size} disabled={!!disabled} className=\"operator\">\r\n {prefix}\r\n </PrefixContainer>}\r\n\r\n <OperatorWrapper data-testid={'operators'} size={size} className=\"operator\">\r\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\r\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\r\n <SystemIcons.Minus size=\"14px\"/>\r\n </IconButton>\r\n <div className=\"divider\"></div>\r\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\r\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\r\n <SystemIcons.Plus size=\"14px\"/>\r\n </IconButton>\r\n </OperatorWrapper>\r\n </>)\r\n }\r\n\r\n const renderNumberInputElements = () => {\r\n return (\r\n <>\r\n <LeftOperator data-testid={'leftOperator'} size={size} className=\"operator\">\r\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\r\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\r\n <SystemIcons.Minus size=\"14px\"/>\r\n </IconButton>\r\n </LeftOperator>\r\n <RightOperator data-testid={'rightOperator'} size={size} className=\"operator\">\r\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\r\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\r\n <SystemIcons.Plus size=\"14px\"/>\r\n </IconButton>\r\n </RightOperator>\r\n </>)\r\n }\r\n\r\n return (\r\n <Container>\r\n <LabelContainer size={size}>\r\n {required && <LabelIcon size={size} data-testid={'labelIcon'}>\r\n <SystemIcons.Asterisk color={COLORS.critical_500}/>\r\n </LabelIcon>\r\n }\r\n <LabelText>\r\n {label}\r\n </LabelText>\r\n </LabelContainer>\r\n\r\n <InputContainer type={type} size={size} tabIndex={-1}>\r\n <NumberInput type={type}\r\n data-testid={'numberInput'}\r\n fieldSize={size}\r\n hasPrefix={!!prefix}\r\n placeholder={placeholder ? placeholder : 'Enter number'}\r\n value={userInput}\r\n ref={elementRef}\r\n tabIndex={(disabled || readOnly) ? -1 : 0}\r\n onChange={e => handleInput(e)}\r\n onKeyDown={e => handleKeyPress(e)}\r\n className={'numberField'.concat(disabled ? ' disabled' : '')\r\n .concat(readOnly ? ' readOnly' : '')\r\n .concat(state ? ` ${state}` : '')\r\n .concat(className ? ` ${className}` : '')}\r\n {...rest}/>\r\n\r\n {type === 'NumberField' && renderNumberFieldElements()}\r\n {type === 'NumberInput' && renderNumberInputElements()}\r\n </InputContainer>\r\n\r\n {note && <NoteContainer className={'noteField'.concat(state ? ` ${state}` : '')}>\r\n <NoteIcon>\r\n {noteIcon}\r\n </NoteIcon>\r\n <NoteLabel size={size}>\r\n {note}\r\n </NoteLabel>\r\n </NoteContainer>\r\n }\r\n </Container>\r\n );\r\n }\r\n )\r\n;\r\n\r\nexport default NumberField;\r\n"],"file":"NumberField.cjs"}
@@ -1,21 +1,19 @@
1
- import * as React from 'react';
2
- import { Size } from '../types';
3
- declare type NumberFieldProps = {
4
- size: Size.Small | Size.Medium;
5
- prefix?: string;
6
- interval?: number;
7
- label: string;
8
- note?: string;
9
- noteIcon?: React.ReactNode;
10
- required?: boolean;
11
- minValue?: number;
12
- maxValue?: number;
13
- allowNegative?: boolean;
14
- decimalPrecision?: number;
15
- disabled?: boolean;
16
- readOnly?: boolean;
17
- valid?: boolean;
18
- defaultVal?: number;
19
- };
20
- declare const NumberField: React.FunctionComponent<NumberFieldProps>;
21
- export default NumberField;
1
+ import * as React from 'react';
2
+ import { Size, States } from '../types';
3
+ declare const NumberField: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "tabIndex" | "prefix" | "onChange" | "onKeyDown" | "onClick" | "size" | "max" | "min" | "value"> & {
4
+ size?: Size.Small | Size.Medium | undefined;
5
+ prefix?: string | undefined;
6
+ interval?: number | undefined;
7
+ label: string;
8
+ note?: string | undefined;
9
+ noteIcon?: React.ReactNode;
10
+ minValue?: number | undefined;
11
+ maxValue?: number | undefined;
12
+ allowNegative?: boolean | undefined;
13
+ decimalPrecision?: number | undefined;
14
+ state?: States.Valid | States.Invalid | undefined;
15
+ type: 'NumberField' | 'NumberInput';
16
+ value?: number | undefined;
17
+ onChange?: ((e: string) => void) | undefined;
18
+ } & React.RefAttributes<HTMLInputElement>>;
19
+ export default NumberField;
@@ -1,82 +1,112 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
4
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
5
  import _pt from "prop-types";
6
+ var _excluded = ["size", "label", "note", "noteIcon", "required", "prefix", "interval", "minValue", "maxValue", "allowNegative", "decimalPrecision", "disabled", "readOnly", "state", "value", "placeholder", "type", "onChange", "className"];
4
7
 
5
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
8
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
9
+
10
+ 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; }
11
+
12
+ 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; }
6
13
 
7
14
  import * as React from 'react';
8
15
  import styled from 'styled-components';
9
16
  import { IconButton } from '../Button';
17
+ import { useFocusVisibleRef } from '../common';
10
18
  import { SystemIcons } from '../icons';
11
- import { COLORS } from '../styles';
19
+ import { COLORS, focusStyles, Z_INDEXES } from '../styles';
12
20
  import { ComponentMStyling, ComponentSStyling, ComponentTextStyle, ComponentXXSStyling, ComponentXSStyling } from '../styles/typography';
13
21
  import { Size } from '../types';
14
22
  import { jsx as _jsx } from "react/jsx-runtime";
15
23
  import { jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { Fragment as _Fragment } from "react/jsx-runtime";
16
25
  var Container = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
17
- var LabelContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: 4px;\n color: ", ";\n display: flex;\n ", "\n"])), COLORS.neutral_500, function (props) {
26
+ var LabelContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: 4px;\n color: ", ";\n display: flex;\n ", "\n"])), COLORS.neutral_500, function (props) {
18
27
  return props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null);
19
28
  });
20
29
  var LabelText = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([""])));
21
- var LabelIcon = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-right: ", ";\n svg {\n height: 9px;\n width: 9px;\n }\n"])), function (props) {
30
+ var LabelIcon = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-right: ", ";\n\n svg {\n height: 9px;\n width: 9px;\n }\n"])), function (props) {
22
31
  return props.size === Size.Small ? '6px' : '8px';
23
32
  });
24
- var InputWrapper = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin: ", ";\n display: flex;\n flex-grow: 1;\n"])), function (props) {
25
- return props.size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px';
26
- });
27
- var PrefixContainer = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n margin-right: 4px;\n width: ", ";\n height: ", ";\n color: ", ";\n ", "\n"])), function (props) {
33
+ var PrefixContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: ", ";\n height: ", ";\n color: ", ";\n ", "\n position: absolute;\n padding: ", ";\n"])), function (props) {
28
34
  return props.size === Size.Small ? '10px' : '11px';
29
35
  }, function (props) {
30
36
  return props.size === Size.Small ? '20px' : '24px';
31
- }, COLORS.neutral_500, function (props) {
37
+ }, function (props) {
38
+ return props.disabled ? COLORS.neutral_300 : COLORS.neutral_500;
39
+ }, function (props) {
32
40
  return props.size === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, null) : ComponentMStyling(ComponentTextStyle.Regular, null);
41
+ }, function (props) {
42
+ return props.size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px';
33
43
  });
34
- var OperatorWrapper = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n margin:", ";\n svg {\n height: 14px;\n width: 14px;\n }\n .divider {\n margin: 16px 0;\n background: ", ";\n width: 1px;\n }\n"])), function (props) {
44
+ var OperatorWrapper = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n margin: ", ";\n\n svg {\n height: 14px;\n width: 14px;\n }\n\n .divider {\n margin: 16px 0;\n background: ", ";\n width: 1px;\n }\n"])), function (props) {
35
45
  return props.size === Size.Medium ? '4px 0' : '';
36
46
  }, COLORS.neutral_200);
37
- var NumberInput = styled.input(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n width: 100%; \n height: ", "; \n border: none;\n color: ", ";\n padding: 0; \n ", "\n\n &:hover, &:focus, &:active {\n outline: none;\n }\n\n &::placeholder {\n ", "\n }\n"])), function (props) {
38
- return props.fieldSize === Size.Small ? '20px' : '24px';
39
- }, COLORS.neutral_500, function (props) {
47
+ var NumberInput = styled.input(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 100%;\n border: none;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ", ";\n outline: none;\n color: ", ";\n\n ", "\n ", "\n ", "\n &::placeholder {\n ", "\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.focus-visible {\n ", "\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.disabled {\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n color: ", ";\n cursor: not-allowed;\n pointer-events: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &.readOnly {\n background: ", ";\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n background: ", ";\n cursor: not-allowed;\n pointer-events: none;\n color: ", ";\n }\n\n &.valid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.invalid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n"])), COLORS.neutral_400, COLORS.neutral_500, function (props) {
40
48
  return props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.black) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.black);
49
+ }, function (props) {
50
+ return props.type === 'NumberField' ? "\n padding: ".concat(props.fieldSize === Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px', ";\n padding-left: ").concat(props.hasPrefix ? '30px' : '', ";\n ") : '';
51
+ }, function (props) {
52
+ return props.type === 'NumberInput' ? "\n padding: ".concat(props.fieldSize === Size.Small ? '14px 48px' : '16px 48px', ";\n ") : '';
41
53
  }, function (props) {
42
54
  return props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Italic, null) : ComponentMStyling(ComponentTextStyle.Italic, null);
43
- });
44
- var NoteLabel = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n color: ", ";\n ", " \n"])), COLORS.neutral_500, function (props) {
55
+ }, COLORS.primary_800, focusStyles, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_300, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_100, COLORS.neutral_500, COLORS.correct_400, COLORS.critical_400);
56
+ var NoteLabel = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n color: ", ";\n ", "\n"])), COLORS.neutral_500, function (props) {
45
57
  return props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null);
46
58
  });
47
- var NoteIcon = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n svg {\n height: 16px;\n }\n"])));
48
- var NoteContainer = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n margin-top: 5px;\n\n &.valid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n\n &.invalid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n"])), NoteLabel, COLORS.correct_500, NoteIcon, COLORS.correct_500, NoteLabel, COLORS.critical_500, NoteIcon, COLORS.critical_500);
49
- var InputContainer = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n min-width: 160px;\n height: ", ";\n display: flex;\n border: 0;\n border-radius: 4px;\n box-shadow: inset 0px 0px 0px 1px ", ";\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &:focus-within:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &:active:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &.disabled {\n box-shadow: inset 0px 0px 0px 1px ", ";\n cursor: not-allowed;\n \n ", "{\n color: ", ";\n }\n\n ", "{\n color: ", ";\n cursor: not-allowed;\n pointer-events: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n }\n\n &.readOnly {\n background: ", ";\n box-shadow: inset 0px 0px 0px 1px ", ";\n cursor: not-allowed;\n\n ", "{\n background: ", ";\n cursor: not-allowed;\n pointer-events: none;\n color: ", ";\n }\n }\n\n &.valid {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &.invalid {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n"])), function (props) {
59
+ var NoteIcon = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n svg {\n height: 16px;\n }\n"])));
60
+ var NoteContainer = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n display: flex;\n margin-top: 5px;\n\n &.valid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n\n &.invalid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n"])), NoteLabel, COLORS.correct_500, NoteIcon, COLORS.correct_500, NoteLabel, COLORS.critical_500, NoteIcon, COLORS.critical_500);
61
+ var InputContainer = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n min-width: ", ";\n height: ", ";\n display: flex;\n position: relative;\n\n input.focus-visible ~ div.operator {\n z-index: ", ";\n }\n"])), function (props) {
62
+ return props.type === 'NumberField' ? '160px' : '144px';
63
+ }, function (props) {
50
64
  return props.size === Size.Small ? '48px' : '56px';
51
- }, COLORS.neutral_400, COLORS.primary_700, COLORS.primary_800, COLORS.primary_800, COLORS.neutral_100, PrefixContainer, COLORS.neutral_300, NumberInput, COLORS.neutral_300, COLORS.neutral_300, COLORS.neutral_100, COLORS.neutral_300, NumberInput, COLORS.neutral_100, COLORS.neutral_500, COLORS.correct_400, COLORS.critical_400);
52
-
53
- var NumberField = function NumberField(_ref) {
54
- var _ref$size = _ref.size,
55
- size = _ref$size === void 0 ? Size.Small : _ref$size,
56
- label = _ref.label,
57
- note = _ref.note,
58
- noteIcon = _ref.noteIcon,
59
- required = _ref.required,
60
- prefix = _ref.prefix,
61
- _ref$interval = _ref.interval,
62
- interval = _ref$interval === void 0 ? 1 : _ref$interval,
63
- minValue = _ref.minValue,
64
- maxValue = _ref.maxValue,
65
- allowNegative = _ref.allowNegative,
66
- decimalPrecision = _ref.decimalPrecision,
67
- _ref$disabled = _ref.disabled,
68
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
69
- _ref$readOnly = _ref.readOnly,
70
- readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
71
- valid = _ref.valid,
72
- defaultVal = _ref.defaultVal;
73
-
74
- var _React$useState = React.useState(defaultVal ? defaultVal.toString() : ''),
65
+ }, Z_INDEXES.focus);
66
+ var LeftOperator = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n position: absolute;\n top: ", ";\n left: 0;\n"])), function (props) {
67
+ return props.size === Size.Small ? '0' : '4px';
68
+ });
69
+ var RightOperator = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n position: absolute;\n top: ", ";\n right: 0;\n"])), function (props) {
70
+ return props.size === Size.Small ? '0' : '4px';
71
+ });
72
+ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
73
+ var _props$size = props.size,
74
+ size = _props$size === void 0 ? Size.Small : _props$size,
75
+ label = props.label,
76
+ note = props.note,
77
+ noteIcon = props.noteIcon,
78
+ required = props.required,
79
+ prefix = props.prefix,
80
+ _props$interval = props.interval,
81
+ interval = _props$interval === void 0 ? 1 : _props$interval,
82
+ minValue = props.minValue,
83
+ maxValue = props.maxValue,
84
+ allowNegative = props.allowNegative,
85
+ decimalPrecision = props.decimalPrecision,
86
+ disabled = props.disabled,
87
+ readOnly = props.readOnly,
88
+ state = props.state,
89
+ value = props.value,
90
+ placeholder = props.placeholder,
91
+ type = props.type,
92
+ onChange = props.onChange,
93
+ className = props.className,
94
+ rest = _objectWithoutProperties(props, _excluded);
95
+
96
+ var _React$useState = React.useState(value ? value.toString() : ''),
75
97
  _React$useState2 = _slicedToArray(_React$useState, 2),
76
98
  userInput = _React$useState2[0],
77
99
  setUserInput = _React$useState2[1];
78
100
 
79
- var fieldState = valid !== undefined ? valid ? 'valid' : 'invalid' : undefined;
101
+ var elementRef = useFocusVisibleRef();
102
+ React.useImperativeHandle(ref, function () {
103
+ return elementRef.current;
104
+ }, [elementRef]);
105
+
106
+ var setVal = function setVal(e) {
107
+ setUserInput(e);
108
+ onChange && onChange(e);
109
+ };
80
110
 
81
111
  var handleKeyPress = function handleKeyPress(e) {
82
112
  switch (e.key) {
@@ -105,19 +135,19 @@ var NumberField = function NumberField(_ref) {
105
135
 
106
136
  if (val !== '') {
107
137
  if (allowNegative && decimalPrecision) {
108
- if (val.length === 1 && val.charAt(0) === '-') setUserInput(val);else {
109
- if ((negativeAndDecimalRegex.test(val) || decimalPrecisionRegex.test(val)) && isInRange(val, true)) setUserInput(val);else if ((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.', ''), true)) setUserInput(val);else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, true)) setUserInput(val);
138
+ if (val.length === 1 && val.charAt(0) === '-') setVal(val);else {
139
+ if ((negativeAndDecimalRegex.test(val) || decimalPrecisionRegex.test(val)) && isInRange(val, true)) setVal(val);else if ((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.', ''), true)) setVal(val);else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, true)) setVal(val);
110
140
  }
111
141
  } else if (allowNegative) {
112
- if (val.length === 1 && val.charAt(0) === '-') setUserInput(val);else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, false)) setUserInput(val);
142
+ if (val.length === 1 && val.charAt(0) === '-') setVal(val);else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, false)) setVal(val);
113
143
  } else if (decimalPrecision && val.indexOf('.') === val.lastIndexOf('.') && isInRange(val, true)) {
114
- if (decimalPrecisionRegex.test(val)) setUserInput(val);else if (decimalFormationRegEx.test(val)) setUserInput(val);else if (!val.includes('.') && simpleRegex.test(val)) setUserInput(val);
144
+ if (decimalPrecisionRegex.test(val)) setVal(val);else if (decimalFormationRegEx.test(val)) setVal(val);else if (!val.includes('.') && simpleRegex.test(val)) setVal(val);
115
145
  } else if (simpleRegex.test(val) && isInRange(val, false)) {
116
- setUserInput(val);
146
+ setVal(val);
117
147
  }
118
148
  }
119
149
 
120
- if (val === '') setUserInput('');
150
+ if (val === '') setVal('');
121
151
  };
122
152
 
123
153
  var isInRange = function isInRange(value, isDecimal) {
@@ -131,7 +161,7 @@ var NumberField = function NumberField(_ref) {
131
161
 
132
162
  if (!isNaN(val)) {
133
163
  if (decimalPrecision) val = Math.round((val + interval) * Math.pow(10, decimalPrecision)) / Math.pow(10, decimalPrecision);else val += 1;
134
- if (maxValue && maxValue >= val) setUserInput(val.toString());else if (!maxValue) setUserInput(val.toString());
164
+ if (maxValue && maxValue >= val) setVal(val.toString());else if (!maxValue) setVal(val.toString());
135
165
  }
136
166
  };
137
167
 
@@ -141,7 +171,12 @@ var NumberField = function NumberField(_ref) {
141
171
 
142
172
  if (!isNaN(val)) {
143
173
  if (decimalPrecision) val = Math.round((val - interval) * Math.pow(10, decimalPrecision)) / Math.pow(10, decimalPrecision);else val -= 1;
144
- if (minValue && minValue <= val) allowNegative ? setUserInput(val.toString()) : val >= 0 ? setUserInput(val.toString()) : undefined;else if (!minValue) allowNegative ? setUserInput(val.toString()) : val >= 0 ? setUserInput(val.toString()) : undefined;
174
+
175
+ if (minValue && minValue <= val || !minValue) {
176
+ if (allowNegative || val >= 0) {
177
+ setVal(val.toString());
178
+ }
179
+ }
145
180
  }
146
181
  };
147
182
 
@@ -149,51 +184,25 @@ var NumberField = function NumberField(_ref) {
149
184
  var val = decimalPrecision ? parseFloat(input) : parseInt(input);
150
185
  val = isNaN(val) && userInput === '' ? 0 : val;
151
186
  var operatorState = false;
152
- if (operator === 'add' && maxValue) operatorState = val < maxValue ? false : true;
153
- if (operator === 'subtract' && minValue) operatorState = val > minValue ? false : true;
154
- if (operator === 'subtract' && !minValue && !allowNegative) operatorState = val > 0 ? false : true;
187
+ if (operator === 'add' && maxValue) operatorState = val >= maxValue;
188
+ if (operator === 'subtract' && minValue) operatorState = val <= minValue;
189
+ if (operator === 'subtract' && !minValue && !allowNegative) operatorState = val <= 0;
155
190
  return operatorState;
156
191
  };
157
192
 
158
- return /*#__PURE__*/_jsxs(Container, {
159
- children: [/*#__PURE__*/_jsxs(LabelContainer, {
160
- size: size,
161
- children: [required && /*#__PURE__*/_jsx(LabelIcon, {
193
+ var renderNumberFieldElements = function renderNumberFieldElements() {
194
+ return /*#__PURE__*/_jsxs(_Fragment, {
195
+ children: [prefix && /*#__PURE__*/_jsx(PrefixContainer, {
162
196
  size: size,
163
- "data-testid": 'labelIcon',
164
- children: /*#__PURE__*/_jsx(SystemIcons.Asterisk, {
165
- color: COLORS.critical_500
166
- })
167
- }), /*#__PURE__*/_jsx(LabelText, {
168
- children: label
169
- })]
170
- }), /*#__PURE__*/_jsxs(InputContainer, {
171
- size: size,
172
- "data-testid": 'inputContainer',
173
- tabIndex: -1,
174
- className: 'numberField'.concat(disabled ? ' disabled' : '').concat(readOnly ? ' readOnly' : '').concat(fieldState ? " ".concat(fieldState) : ''),
175
- children: [/*#__PURE__*/_jsxs(InputWrapper, {
176
- size: size,
177
- children: [prefix && /*#__PURE__*/_jsx(PrefixContainer, {
178
- size: size,
179
- children: prefix
180
- }), /*#__PURE__*/_jsx(NumberInput, {
181
- fieldSize: size,
182
- placeholder: "Enter number",
183
- value: userInput,
184
- tabIndex: disabled || readOnly ? -1 : 0,
185
- onChange: function onChange(e) {
186
- return handleInput(e);
187
- },
188
- onKeyDown: function onKeyDown(e) {
189
- return handleKeyPress(e);
190
- }
191
- })]
197
+ disabled: !!disabled,
198
+ className: "operator",
199
+ children: prefix
192
200
  }), /*#__PURE__*/_jsxs(OperatorWrapper, {
193
201
  "data-testid": 'operators',
194
202
  size: size,
203
+ className: "operator",
195
204
  children: [/*#__PURE__*/_jsx(IconButton, {
196
- tabIndex: -1,
205
+ tabIndex: 0,
197
206
  variant: "secondary",
198
207
  shape: "square",
199
208
  action: function action() {
@@ -207,7 +216,7 @@ var NumberField = function NumberField(_ref) {
207
216
  }), /*#__PURE__*/_jsx("div", {
208
217
  className: "divider"
209
218
  }), /*#__PURE__*/_jsx(IconButton, {
210
- tabIndex: -1,
219
+ tabIndex: 0,
211
220
  variant: "secondary",
212
221
  shape: "square",
213
222
  action: function action() {
@@ -220,8 +229,84 @@ var NumberField = function NumberField(_ref) {
220
229
  })
221
230
  })]
222
231
  })]
232
+ });
233
+ };
234
+
235
+ var renderNumberInputElements = function renderNumberInputElements() {
236
+ return /*#__PURE__*/_jsxs(_Fragment, {
237
+ children: [/*#__PURE__*/_jsx(LeftOperator, {
238
+ "data-testid": 'leftOperator',
239
+ size: size,
240
+ className: "operator",
241
+ children: /*#__PURE__*/_jsx(IconButton, {
242
+ tabIndex: 0,
243
+ variant: "secondary",
244
+ shape: "square",
245
+ action: function action() {
246
+ return subtractInterval();
247
+ },
248
+ useTransparentBackground: true,
249
+ disabled: disabled || readOnly || isLocked(userInput, 'subtract'),
250
+ children: /*#__PURE__*/_jsx(SystemIcons.Minus, {
251
+ size: "14px"
252
+ })
253
+ })
254
+ }), /*#__PURE__*/_jsx(RightOperator, {
255
+ "data-testid": 'rightOperator',
256
+ size: size,
257
+ className: "operator",
258
+ children: /*#__PURE__*/_jsx(IconButton, {
259
+ tabIndex: 0,
260
+ variant: "secondary",
261
+ shape: "square",
262
+ action: function action() {
263
+ return addInterval();
264
+ },
265
+ useTransparentBackground: true,
266
+ disabled: disabled || readOnly || isLocked(userInput, 'add'),
267
+ children: /*#__PURE__*/_jsx(SystemIcons.Plus, {
268
+ size: "14px"
269
+ })
270
+ })
271
+ })]
272
+ });
273
+ };
274
+
275
+ return /*#__PURE__*/_jsxs(Container, {
276
+ children: [/*#__PURE__*/_jsxs(LabelContainer, {
277
+ size: size,
278
+ children: [required && /*#__PURE__*/_jsx(LabelIcon, {
279
+ size: size,
280
+ "data-testid": 'labelIcon',
281
+ children: /*#__PURE__*/_jsx(SystemIcons.Asterisk, {
282
+ color: COLORS.critical_500
283
+ })
284
+ }), /*#__PURE__*/_jsx(LabelText, {
285
+ children: label
286
+ })]
287
+ }), /*#__PURE__*/_jsxs(InputContainer, {
288
+ type: type,
289
+ size: size,
290
+ tabIndex: -1,
291
+ children: [/*#__PURE__*/_jsx(NumberInput, _objectSpread({
292
+ type: type,
293
+ "data-testid": 'numberInput',
294
+ fieldSize: size,
295
+ hasPrefix: !!prefix,
296
+ placeholder: placeholder ? placeholder : 'Enter number',
297
+ value: userInput,
298
+ ref: elementRef,
299
+ tabIndex: disabled || readOnly ? -1 : 0,
300
+ onChange: function onChange(e) {
301
+ return handleInput(e);
302
+ },
303
+ onKeyDown: function onKeyDown(e) {
304
+ return handleKeyPress(e);
305
+ },
306
+ className: 'numberField'.concat(disabled ? ' disabled' : '').concat(readOnly ? ' readOnly' : '').concat(state ? " ".concat(state) : '').concat(className ? " ".concat(className) : '')
307
+ }, rest)), type === 'NumberField' && renderNumberFieldElements(), type === 'NumberInput' && renderNumberInputElements()]
223
308
  }), note && /*#__PURE__*/_jsxs(NoteContainer, {
224
- className: 'noteField'.concat(fieldState ? " ".concat(fieldState) : ''),
309
+ className: 'noteField'.concat(state ? " ".concat(state) : ''),
225
310
  children: [/*#__PURE__*/_jsx(NoteIcon, {
226
311
  children: noteIcon
227
312
  }), /*#__PURE__*/_jsx(NoteLabel, {
@@ -230,23 +315,20 @@ var NumberField = function NumberField(_ref) {
230
315
  })]
231
316
  })]
232
317
  });
233
- };
234
-
318
+ });
235
319
  NumberField.propTypes = {
236
320
  prefix: _pt.string,
237
321
  interval: _pt.number,
238
322
  label: _pt.string.isRequired,
239
323
  note: _pt.string,
240
324
  noteIcon: _pt.node,
241
- required: _pt.bool,
242
325
  minValue: _pt.number,
243
326
  maxValue: _pt.number,
244
327
  allowNegative: _pt.bool,
245
328
  decimalPrecision: _pt.number,
246
- disabled: _pt.bool,
247
- readOnly: _pt.bool,
248
- valid: _pt.bool,
249
- defaultVal: _pt.number
329
+ type: _pt.oneOf(['NumberField', 'NumberInput']).isRequired,
330
+ value: _pt.number,
331
+ onChange: _pt.func
250
332
  };
251
333
  export default NumberField;
252
334
  //# sourceMappingURL=NumberField.js.map