@laerdal/life-react-components 6.0.0-dev.1.full → 6.0.0-dev.10.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 (337) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +40 -11
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +40 -11
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/styles.cjs +51 -13
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +51 -13
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/Banners/Banner.cjs +38 -34
  10. package/dist/Banners/Banner.cjs.map +1 -1
  11. package/dist/Banners/Banner.d.ts +2 -3
  12. package/dist/Banners/Banner.js +38 -34
  13. package/dist/Banners/Banner.js.map +1 -1
  14. package/dist/Banners/styles.cjs +8 -16
  15. package/dist/Banners/styles.cjs.map +1 -1
  16. package/dist/Banners/styles.js +8 -16
  17. package/dist/Banners/styles.js.map +1 -1
  18. package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
  19. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  20. package/dist/Breadcrumb/Breadcrumb.js +8 -2
  21. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  22. package/dist/Breadcrumb/styles.cjs +15 -4
  23. package/dist/Breadcrumb/styles.cjs.map +1 -1
  24. package/dist/Breadcrumb/styles.js +15 -4
  25. package/dist/Breadcrumb/styles.js.map +1 -1
  26. package/dist/Button/BackButton.cjs +27 -6
  27. package/dist/Button/BackButton.cjs.map +1 -1
  28. package/dist/Button/BackButton.js +27 -6
  29. package/dist/Button/BackButton.js.map +1 -1
  30. package/dist/Button/Button.cjs +179 -47
  31. package/dist/Button/Button.cjs.map +1 -1
  32. package/dist/Button/Button.d.ts +2 -0
  33. package/dist/Button/Button.js +179 -47
  34. package/dist/Button/Button.js.map +1 -1
  35. package/dist/Button/Iconbutton.cjs +83 -21
  36. package/dist/Button/Iconbutton.cjs.map +1 -1
  37. package/dist/Button/Iconbutton.js +83 -21
  38. package/dist/Button/Iconbutton.js.map +1 -1
  39. package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
  40. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  41. package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
  42. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  43. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
  44. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  45. package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
  46. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  47. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
  48. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  49. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
  50. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  51. package/dist/Card/VerticalCard/Card.cjs +20 -5
  52. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  53. package/dist/Card/VerticalCard/Card.js +20 -5
  54. package/dist/Card/VerticalCard/Card.js.map +1 -1
  55. package/dist/Card/VerticalCard/CardBottomSection.cjs +72 -19
  56. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  57. package/dist/Card/VerticalCard/CardBottomSection.d.ts +8 -1
  58. package/dist/Card/VerticalCard/CardBottomSection.js +73 -20
  59. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  60. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  61. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  62. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  63. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  64. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  65. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  66. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  67. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  68. package/dist/Chips/ChipStyles.cjs +4 -1
  69. package/dist/Chips/ChipStyles.cjs.map +1 -1
  70. package/dist/Chips/ChipStyles.js +4 -1
  71. package/dist/Chips/ChipStyles.js.map +1 -1
  72. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  73. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  74. package/dist/ChipsInput/ChipInputField.js +16 -4
  75. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  76. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  77. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  78. package/dist/Dropdown/BasicDropdown.js +12 -3
  79. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  80. package/dist/Dropdown/CommonStyling.cjs +172 -42
  81. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  82. package/dist/Dropdown/CommonStyling.js +172 -42
  83. package/dist/Dropdown/CommonStyling.js.map +1 -1
  84. package/dist/Dropdown/DropdownContent.cjs +36 -10
  85. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  86. package/dist/Dropdown/DropdownContent.js +36 -10
  87. package/dist/Dropdown/DropdownContent.js.map +1 -1
  88. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  89. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  90. package/dist/Dropdown/DropdownFilter.js +12 -3
  91. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  92. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  93. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  94. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  95. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  96. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  97. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  98. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  99. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  100. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  101. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  102. package/dist/HyperLink/styling.cjs +38 -8
  103. package/dist/HyperLink/styling.cjs.map +1 -1
  104. package/dist/HyperLink/styling.js +38 -8
  105. package/dist/HyperLink/styling.js.map +1 -1
  106. package/dist/InputFields/Checkbox.cjs +54 -14
  107. package/dist/InputFields/Checkbox.cjs.map +1 -1
  108. package/dist/InputFields/Checkbox.js +54 -14
  109. package/dist/InputFields/Checkbox.js.map +1 -1
  110. package/dist/InputFields/DatepickerField.cjs +149 -43
  111. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  112. package/dist/InputFields/DatepickerField.d.ts +1 -1
  113. package/dist/InputFields/DatepickerField.js +150 -44
  114. package/dist/InputFields/DatepickerField.js.map +1 -1
  115. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  116. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  117. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  118. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  119. package/dist/InputFields/Label.cjs +38 -11
  120. package/dist/InputFields/Label.cjs.map +1 -1
  121. package/dist/InputFields/Label.js +38 -11
  122. package/dist/InputFields/Label.js.map +1 -1
  123. package/dist/InputFields/NumberField.cjs +66 -16
  124. package/dist/InputFields/NumberField.cjs.map +1 -1
  125. package/dist/InputFields/NumberField.js +66 -16
  126. package/dist/InputFields/NumberField.js.map +1 -1
  127. package/dist/InputFields/PasswordField.cjs +4 -1
  128. package/dist/InputFields/PasswordField.cjs.map +1 -1
  129. package/dist/InputFields/PasswordField.d.ts +1 -1
  130. package/dist/InputFields/PasswordField.js +4 -1
  131. package/dist/InputFields/PasswordField.js.map +1 -1
  132. package/dist/InputFields/QuickSearch.cjs +30 -6
  133. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  134. package/dist/InputFields/QuickSearch.js +30 -6
  135. package/dist/InputFields/QuickSearch.js.map +1 -1
  136. package/dist/InputFields/RadioButton.cjs +63 -15
  137. package/dist/InputFields/RadioButton.cjs.map +1 -1
  138. package/dist/InputFields/RadioButton.js +63 -15
  139. package/dist/InputFields/RadioButton.js.map +1 -1
  140. package/dist/InputFields/RichTextField.cjs +60 -15
  141. package/dist/InputFields/RichTextField.cjs.map +1 -1
  142. package/dist/InputFields/RichTextField.js +60 -15
  143. package/dist/InputFields/RichTextField.js.map +1 -1
  144. package/dist/InputFields/SearchBar.cjs +4 -1
  145. package/dist/InputFields/SearchBar.cjs.map +1 -1
  146. package/dist/InputFields/SearchBar.js +4 -1
  147. package/dist/InputFields/SearchBar.js.map +1 -1
  148. package/dist/InputFields/TextField.cjs +9 -3
  149. package/dist/InputFields/TextField.cjs.map +1 -1
  150. package/dist/InputFields/TextField.d.ts +1 -1
  151. package/dist/InputFields/TextField.js +9 -3
  152. package/dist/InputFields/TextField.js.map +1 -1
  153. package/dist/InputFields/Textarea.cjs +68 -17
  154. package/dist/InputFields/Textarea.cjs.map +1 -1
  155. package/dist/InputFields/Textarea.js +68 -17
  156. package/dist/InputFields/Textarea.js.map +1 -1
  157. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  158. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  159. package/dist/InputFields/components/SearchBarInput.js +28 -7
  160. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  161. package/dist/InputFields/components/SearchField.cjs +60 -15
  162. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  163. package/dist/InputFields/components/SearchField.js +60 -15
  164. package/dist/InputFields/components/SearchField.js.map +1 -1
  165. package/dist/InputFields/styling.cjs +95 -39
  166. package/dist/InputFields/styling.cjs.map +1 -1
  167. package/dist/InputFields/styling.d.ts +1 -2
  168. package/dist/InputFields/styling.js +95 -39
  169. package/dist/InputFields/styling.js.map +1 -1
  170. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  171. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  172. package/dist/LinearProgress/LinearProgress.js +161 -53
  173. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  174. package/dist/List/ListRow.cjs +36 -9
  175. package/dist/List/ListRow.cjs.map +1 -1
  176. package/dist/List/ListRow.js +36 -9
  177. package/dist/List/ListRow.js.map +1 -1
  178. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  179. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  180. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  181. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  182. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  183. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  184. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  185. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  186. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  187. package/dist/MenuItem/MenuItem.cjs +101 -26
  188. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  189. package/dist/MenuItem/MenuItem.js +101 -26
  190. package/dist/MenuItem/MenuItem.js.map +1 -1
  191. package/dist/Modals/Modal.cjs +4 -1
  192. package/dist/Modals/Modal.cjs.map +1 -1
  193. package/dist/Modals/Modal.js +4 -1
  194. package/dist/Modals/Modal.js.map +1 -1
  195. package/dist/Modals/ModalContent.cjs +24 -6
  196. package/dist/Modals/ModalContent.cjs.map +1 -1
  197. package/dist/Modals/ModalContent.js +24 -6
  198. package/dist/Modals/ModalContent.js.map +1 -1
  199. package/dist/Modals/ModalDialog.cjs +12 -3
  200. package/dist/Modals/ModalDialog.cjs.map +1 -1
  201. package/dist/Modals/ModalDialog.js +12 -3
  202. package/dist/Modals/ModalDialog.js.map +1 -1
  203. package/dist/Modals/ModalNote.cjs +16 -4
  204. package/dist/Modals/ModalNote.cjs.map +1 -1
  205. package/dist/Modals/ModalNote.js +16 -4
  206. package/dist/Modals/ModalNote.js.map +1 -1
  207. package/dist/Modals/ModalStyles.cjs +44 -11
  208. package/dist/Modals/ModalStyles.cjs.map +1 -1
  209. package/dist/Modals/ModalStyles.js +44 -11
  210. package/dist/Modals/ModalStyles.js.map +1 -1
  211. package/dist/NavItem/NavItem.cjs +4 -1
  212. package/dist/NavItem/NavItem.cjs.map +1 -1
  213. package/dist/NavItem/NavItem.js +4 -1
  214. package/dist/NavItem/NavItem.js.map +1 -1
  215. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  216. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  217. package/dist/NotificationDot/NotificationDot.js +17 -2
  218. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  219. package/dist/Paginator/Paginator.cjs +76 -29
  220. package/dist/Paginator/Paginator.cjs.map +1 -1
  221. package/dist/Paginator/Paginator.js +76 -29
  222. package/dist/Paginator/Paginator.js.map +1 -1
  223. package/dist/Panel/Panel.cjs +4 -1
  224. package/dist/Panel/Panel.cjs.map +1 -1
  225. package/dist/Panel/Panel.js +4 -1
  226. package/dist/Panel/Panel.js.map +1 -1
  227. package/dist/Popover/Popover.cjs +22 -3
  228. package/dist/Popover/Popover.cjs.map +1 -1
  229. package/dist/Popover/Popover.js +22 -3
  230. package/dist/Popover/Popover.js.map +1 -1
  231. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  232. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  233. package/dist/ProfileButton/ProfileButton.js +9 -2
  234. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  235. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  236. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  237. package/dist/SegmentControl/SegmentControl.js +46 -11
  238. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  239. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  240. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  241. package/dist/SideMenu/SideMenuHeader.js +12 -3
  242. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  243. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  244. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  245. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  246. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  247. package/dist/Table/TableFooter.cjs +8 -2
  248. package/dist/Table/TableFooter.cjs.map +1 -1
  249. package/dist/Table/TableFooter.js +8 -2
  250. package/dist/Table/TableFooter.js.map +1 -1
  251. package/dist/Table/TableStyles.cjs +132 -33
  252. package/dist/Table/TableStyles.cjs.map +1 -1
  253. package/dist/Table/TableStyles.js +132 -33
  254. package/dist/Table/TableStyles.js.map +1 -1
  255. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  256. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  257. package/dist/Tabs/HorizontalTabs.js +68 -18
  258. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  259. package/dist/Tabs/TabLink.cjs +4 -1
  260. package/dist/Tabs/TabLink.cjs.map +1 -1
  261. package/dist/Tabs/TabLink.js +4 -1
  262. package/dist/Tabs/TabLink.js.map +1 -1
  263. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  264. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  265. package/dist/Tag/Tag.cjs +2 -2
  266. package/dist/Tag/Tag.cjs.map +1 -1
  267. package/dist/Tag/Tag.js +2 -2
  268. package/dist/Tag/Tag.js.map +1 -1
  269. package/dist/Tile/Tile.cjs +8 -2
  270. package/dist/Tile/Tile.cjs.map +1 -1
  271. package/dist/Tile/Tile.js +8 -2
  272. package/dist/Tile/Tile.js.map +1 -1
  273. package/dist/Tile/TileCommonItems.cjs +8 -2
  274. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  275. package/dist/Tile/TileCommonItems.js +8 -2
  276. package/dist/Tile/TileCommonItems.js.map +1 -1
  277. package/dist/Tile/TileFooter.cjs +4 -1
  278. package/dist/Tile/TileFooter.cjs.map +1 -1
  279. package/dist/Tile/TileFooter.js +4 -1
  280. package/dist/Tile/TileFooter.js.map +1 -1
  281. package/dist/Tile/TileHeader.cjs +12 -3
  282. package/dist/Tile/TileHeader.cjs.map +1 -1
  283. package/dist/Tile/TileHeader.js +12 -3
  284. package/dist/Tile/TileHeader.js.map +1 -1
  285. package/dist/Toasters/Toast.cjs +62 -13
  286. package/dist/Toasters/Toast.cjs.map +1 -1
  287. package/dist/Toasters/Toast.js +62 -13
  288. package/dist/Toasters/Toast.js.map +1 -1
  289. package/dist/Toggles/ToggleButton.cjs +9 -3
  290. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  291. package/dist/Toggles/ToggleButton.d.ts +1 -1
  292. package/dist/Toggles/ToggleButton.js +9 -3
  293. package/dist/Toggles/ToggleButton.js.map +1 -1
  294. package/dist/Toggles/TogglerStyles.cjs +22 -8
  295. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  296. package/dist/Toggles/TogglerStyles.js +22 -8
  297. package/dist/Toggles/TogglerStyles.js.map +1 -1
  298. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  299. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  300. package/dist/Tooltips/TooltipStyles.js +28 -6
  301. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  302. package/dist/common/InputStyling.cjs +30 -7
  303. package/dist/common/InputStyling.cjs.map +1 -1
  304. package/dist/common/InputStyling.js +30 -7
  305. package/dist/common/InputStyling.js.map +1 -1
  306. package/dist/common/Link.cjs +45 -0
  307. package/dist/common/Link.cjs.map +1 -0
  308. package/dist/common/Link.d.ts +9 -0
  309. package/dist/common/Link.js +37 -0
  310. package/dist/common/Link.js.map +1 -0
  311. package/dist/common/NavigationHelper.cjs +30 -0
  312. package/dist/common/NavigationHelper.cjs.map +1 -0
  313. package/dist/common/NavigationHelper.d.ts +4 -0
  314. package/dist/common/NavigationHelper.js +23 -0
  315. package/dist/common/NavigationHelper.js.map +1 -0
  316. package/dist/custom.d.ts +2 -0
  317. package/dist/styles/colors.cjs +439 -84
  318. package/dist/styles/colors.cjs.map +1 -1
  319. package/dist/styles/colors.d.ts +200 -11
  320. package/dist/styles/colors.js +439 -84
  321. package/dist/styles/colors.js.map +1 -1
  322. package/dist/styles/global.cjs +19 -2
  323. package/dist/styles/global.cjs.map +1 -1
  324. package/dist/styles/global.d.ts +3 -2
  325. package/dist/styles/global.js +18 -3
  326. package/dist/styles/global.js.map +1 -1
  327. package/dist/styles/index.cjs +21 -9
  328. package/dist/styles/index.cjs.map +1 -1
  329. package/dist/styles/index.d.ts +2 -2
  330. package/dist/styles/index.js +18 -6
  331. package/dist/styles/index.js.map +1 -1
  332. package/dist/utils/color-tokens.cjs +91 -0
  333. package/dist/utils/color-tokens.cjs.map +1 -0
  334. package/dist/utils/color-tokens.d.ts +19 -0
  335. package/dist/utils/color-tokens.js +82 -0
  336. package/dist/utils/color-tokens.js.map +1 -0
  337. package/package.json +143 -141
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.cjs","names":["React","_interopRequireWildcard","require","_TooltipStyles","_TooltipOverflow","_interopRequireDefault","_styledComponents","_Button","_common","_icons","_styles","_typography","_types","_styling","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Container","styled","div","PrefixContainer","props","$size","Size","Small","$disabled","COLORS","getColor","theme","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","OperatorWrapper","Medium","NumberInput","input","$fieldSize","$type","$hasPrefix","Italic","focusStyles","InputContainer","Z_INDEXES","focus","TooltipTrigger","LeftOperator","RightOperator","NumberField","forwardRef","ref","type","size","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","disabled","readOnly","state","value","placeholder","onChange","className","id","overflowTooltipPosition","dataTestId","rest","_objectWithoutProperties2","userInput","setUserInput","useState","toString","elementRef","useFocusVisibleRef","useEffect","useImperativeHandle","current","setVal","handleKeyPress","key","addInterval","subtractInterval","handleInput","preventDefault","simpleRegex","RegExp","decimalFormationRegEx","negativeDecimalFormationRegEx","allowNegativeRegex","decimalPrecisionRegex","undefined","negativeAndDecimalRegex","val","target","charAt","test","isInRange","replace","indexOf","lastIndexOf","includes","isDecimal","x","parseFloat","toFixed","parseInt","isNaN","Math","round","pow","isLocked","operator","operatorState","renderNumberFieldElements","jsxs","Fragment","children","jsx","IconButton","tabIndex","variant","shape","action","useTransparentBackground","SystemIcons","Minus","Plus","renderNumberInputElements","onKeyDown","concat","position","withArrow","maxWidth","align","ValidationMessage","States","Default","propTypes","_propTypes","string","number","bool","node","oneOf","func","_default","exports"],"sources":["../../src/InputFields/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { TooltipTrigger } from '../Tooltips/TooltipStyles';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\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 ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles/typography';\r\nimport {Size, States, Testable} from '../types';\r\nimport {ValidationMessage} from \"./styling\";\r\n\r\nconst Container = styled.div``;\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.getColor('neutral_300', props.theme) : COLORS.getColor('neutral_500', props.theme)};\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: ${props => COLORS.getColor('neutral_200', props.theme)};\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 text-overflow: ellipsis;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.getColor('neutral_500', props.theme)};\r\n\r\n ${props => props.$fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme)) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\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 ${props => COLORS.getColor('primary_800', props.theme)};\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 ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &.disabled {\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_100', props.theme)};\r\n cursor: not-allowed;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n pointer-events: none;\r\n\r\n &::placeholder {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n &.readOnly {\r\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_300', props.theme)};\r\n cursor: not-allowed;\r\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n pointer-events: none;\r\n color: ${props => COLORS.getColor('neutral_500', props.theme)};\r\n }\r\n\r\n &.valid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('correct_400', props.theme)};\r\n }\r\n\r\n &.invalid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('critical_400', props.theme)};\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 margin-bottom: 4px;\r\n\r\n input.focus-visible ~ div.operator {\r\n z-index: ${Z_INDEXES.focus};\r\n }\r\n\r\n ${TooltipTrigger('hover')}\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\nexport interface NumberFieldProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\r\n{\r\n /**\r\n * Optional. The size of the number field. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /**\r\n * Optional. The prefix to be displayed before the number in the field.\r\n */\r\n prefix?: string;\r\n\r\n /**\r\n * Optional. The interval for incrementing and decrementing the number in the field.\r\n */\r\n interval?: number;\r\n\r\n /**\r\n * Optional. The minimum value that can be entered in the field.\r\n */\r\n minValue?: number;\r\n\r\n /**\r\n * Optional. The maximum value that can be entered in the field.\r\n */\r\n maxValue?: number;\r\n\r\n /**\r\n * Optional. A boolean indicating whether negative numbers are allowed.\r\n */\r\n allowNegative?: boolean;\r\n\r\n /**\r\n * Optional. The number of decimal places allowed in the number.\r\n */\r\n decimalPrecision?: number;\r\n\r\n /**\r\n * Optional. The state of the number field. Can be 'Valid' or 'Invalid'.\r\n */\r\n state?: States.Valid | States.Invalid;\r\n\r\n /**\r\n * Optional. A note to be displayed below the number field.\r\n */\r\n note?: string;\r\n\r\n /**\r\n * Optional. An icon to be displayed next to the note.\r\n */\r\n noteIcon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The type of the number field. Can be 'NumberField' or 'NumberInput'.\r\n */\r\n type?: 'NumberField' | 'NumberInput';\r\n\r\n /**\r\n * Optional. The current value of the number field.\r\n */\r\n value?: number;\r\n\r\n /**\r\n * Optional. A function to be called when the value of the number field changes.\r\n */\r\n onChange?: (e: number) => void;\r\n\r\n /**\r\n * Optional. The position of the tooltip when the number overflows. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n}\r\n\r\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\r\n const {\r\n type = 'NumberField',\r\n size = Size.Medium,\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 onChange,\r\n className,\r\n id,\r\n overflowTooltipPosition,\r\n dataTestId,\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.useEffect(() => setUserInput(`${value ?? ''}`), [value]);\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(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 <InputContainer $type={type} $size={size} tabIndex={-1}>\r\n <NumberInput $type={type}\r\n id={id}\r\n data-testid={dataTestId}\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 required={required}\r\n className={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 {value && <TooltipOverflow position={overflowTooltipPosition} input={elementRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {value?.toString()}\r\n </TooltipOverflow>}\r\n </InputContainer>\r\n\r\n {\r\n note &&\r\n <ValidationMessage type={state || States.Default}>\r\n {noteIcon}\r\n <span>{note}</span>\r\n </ValidationMessage>\r\n }\r\n\r\n </Container>\r\n );\r\n }\r\n )\r\n;\r\n\r\nexport default NumberField;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NumberField.cjs","names":["React","_interopRequireWildcard","require","_TooltipStyles","_TooltipOverflow","_interopRequireDefault","_styledComponents","_Button","_common","_icons","_styles","_typography","_types","_styling","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Container","styled","div","PrefixContainer","props","$size","Size","Small","$disabled","COLORS","generateToken","componentType","state","theme","defaultVariant","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","OperatorWrapper","Medium","NumberInput","input","$fieldSize","$type","$hasPrefix","Italic","focusStyles","InputContainer","Z_INDEXES","focus","TooltipTrigger","LeftOperator","RightOperator","NumberField","forwardRef","ref","type","size","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","disabled","readOnly","value","placeholder","onChange","className","id","overflowTooltipPosition","dataTestId","rest","_objectWithoutProperties2","userInput","setUserInput","useState","toString","elementRef","useFocusVisibleRef","useEffect","useImperativeHandle","current","setVal","handleKeyPress","key","addInterval","subtractInterval","handleInput","preventDefault","simpleRegex","RegExp","decimalFormationRegEx","negativeDecimalFormationRegEx","allowNegativeRegex","decimalPrecisionRegex","undefined","negativeAndDecimalRegex","val","target","charAt","test","isInRange","replace","indexOf","lastIndexOf","includes","isDecimal","x","parseFloat","toFixed","parseInt","isNaN","Math","round","pow","isLocked","operator","operatorState","renderNumberFieldElements","jsxs","Fragment","children","jsx","IconButton","tabIndex","variant","shape","action","useTransparentBackground","SystemIcons","Minus","Plus","renderNumberInputElements","onKeyDown","concat","position","withArrow","maxWidth","align","ValidationMessage","States","Default","propTypes","_propTypes","string","number","bool","node","oneOf","func","_default","exports"],"sources":["../../src/InputFields/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { TooltipTrigger } from '../Tooltips/TooltipStyles';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\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 ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles/typography';\r\nimport {Size, States, Testable} from '../types';\r\nimport {ValidationMessage} from \"./styling\";\r\n\r\nconst Container = styled.div``;\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.generateToken({componentType:'text', state:'disabled'}, props.theme) : \r\n COLORS.generateToken({componentType:'text', defaultVariant:'subtle'}, props.theme)};\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: ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\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 text-overflow: ellipsis;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({componentType:'border', defaultVariant:'default' }, props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.generateToken({componentType:'text', defaultVariant:'subtle'}, props.theme)};\r\n\r\n ${props => props.$fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant:'default'}, props.theme)) :\r\n ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant:'default'}, props.theme))}\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 ${props => COLORS.generateToken({ componentType:'border', state:'hover' }, props.theme)};\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 ${props => COLORS.generateToken({ componentType:'border', state:'hover' }, props.theme)};\r\n }\r\n\r\n &.disabled {\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({ componentType:'border', state:'disabled' }, props.theme)};\r\n cursor: not-allowed;\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'disabled' }, props.theme)};\r\n pointer-events: none;\r\n\r\n &::placeholder {\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'disabled' }, props.theme)};\r\n }\r\n }\r\n\r\n &.readOnly {\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'disabled' }, props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'default' }, props.theme)};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &.valid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({ componentType:'border', defaultVariant:'positive' }, props.theme)};\r\n }\r\n\r\n &.invalid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({ componentType:'border', defaultVariant:'critical' }, props.theme)};\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 margin-bottom: 4px;\r\n\r\n input.focus-visible ~ div.operator {\r\n z-index: ${Z_INDEXES.focus};\r\n }\r\n\r\n ${TooltipTrigger('hover')}\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\nexport interface NumberFieldProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\r\n{\r\n /**\r\n * Optional. The size of the number field. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /**\r\n * Optional. The prefix to be displayed before the number in the field.\r\n */\r\n prefix?: string;\r\n\r\n /**\r\n * Optional. The interval for incrementing and decrementing the number in the field.\r\n */\r\n interval?: number;\r\n\r\n /**\r\n * Optional. The minimum value that can be entered in the field.\r\n */\r\n minValue?: number;\r\n\r\n /**\r\n * Optional. The maximum value that can be entered in the field.\r\n */\r\n maxValue?: number;\r\n\r\n /**\r\n * Optional. A boolean indicating whether negative numbers are allowed.\r\n */\r\n allowNegative?: boolean;\r\n\r\n /**\r\n * Optional. The number of decimal places allowed in the number.\r\n */\r\n decimalPrecision?: number;\r\n\r\n /**\r\n * Optional. The state of the number field. Can be 'Valid' or 'Invalid'.\r\n */\r\n state?: States.Valid | States.Invalid;\r\n\r\n /**\r\n * Optional. A note to be displayed below the number field.\r\n */\r\n note?: string;\r\n\r\n /**\r\n * Optional. An icon to be displayed next to the note.\r\n */\r\n noteIcon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The type of the number field. Can be 'NumberField' or 'NumberInput'.\r\n */\r\n type?: 'NumberField' | 'NumberInput';\r\n\r\n /**\r\n * Optional. The current value of the number field.\r\n */\r\n value?: number;\r\n\r\n /**\r\n * Optional. A function to be called when the value of the number field changes.\r\n */\r\n onChange?: (e: number) => void;\r\n\r\n /**\r\n * Optional. The position of the tooltip when the number overflows. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n}\r\n\r\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\r\n const {\r\n type = 'NumberField',\r\n size = Size.Medium,\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 onChange,\r\n className,\r\n id,\r\n overflowTooltipPosition,\r\n dataTestId,\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.useEffect(() => setUserInput(`${value ?? ''}`), [value]);\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(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 <InputContainer $type={type} $size={size} tabIndex={-1}>\r\n <NumberInput $type={type}\r\n id={id}\r\n data-testid={dataTestId}\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 required={required}\r\n className={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 {value && <TooltipOverflow position={overflowTooltipPosition} input={elementRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {value?.toString()}\r\n </TooltipOverflow>}\r\n </InputContainer>\r\n\r\n {\r\n note &&\r\n <ValidationMessage type={state || States.Default}>\r\n {noteIcon}\r\n <span>{note}</span>\r\n </ValidationMessage>\r\n }\r\n\r\n </Container>\r\n );\r\n }\r\n )\r\n;\r\n\r\nexport default NumberField;\r\n"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,13 @@ const Container = styled.div``;
20
20
  const PrefixContainer = styled.div`
21
21
  width: ${props => props.$size === Size.Small ? '10px' : '11px'};
22
22
  height: ${props => props.$size === Size.Small ? '20px' : '24px'};
23
- color: ${props => props.$disabled ? COLORS.getColor('neutral_300', props.theme) : COLORS.getColor('neutral_500', props.theme)};
23
+ color: ${props => props.$disabled ? COLORS.generateToken({
24
+ componentType: 'text',
25
+ state: 'disabled'
26
+ }, props.theme) : COLORS.generateToken({
27
+ componentType: 'text',
28
+ defaultVariant: 'subtle'
29
+ }, props.theme)};
24
30
  ${props => props.$size === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, null) : ComponentMStyling(ComponentTextStyle.Regular, null)}
25
31
  position: absolute;
26
32
  padding: ${props => props.$size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px'};
@@ -39,7 +45,10 @@ const OperatorWrapper = styled.div`
39
45
 
40
46
  .divider {
41
47
  margin: 16px 0;
42
- background: ${props => COLORS.getColor('neutral_200', props.theme)};
48
+ background: ${props => COLORS.generateToken({
49
+ componentType: 'border',
50
+ defaultVariant: 'subtle'
51
+ }, props.theme)};
43
52
  width: 1px;
44
53
  }
45
54
  `;
@@ -48,11 +57,23 @@ const NumberInput = styled.input`
48
57
  border: none;
49
58
  border-radius: 4px;
50
59
  text-overflow: ellipsis;
51
- box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};
60
+ box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({
61
+ componentType: 'border',
62
+ defaultVariant: 'default'
63
+ }, props.theme)};
52
64
  outline: none;
53
- color: ${props => COLORS.getColor('neutral_500', props.theme)};
65
+ color: ${props => COLORS.generateToken({
66
+ componentType: 'text',
67
+ defaultVariant: 'subtle'
68
+ }, props.theme)};
54
69
 
55
- ${props => props.$fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme)) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}
70
+ ${props => props.$fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({
71
+ componentType: 'text',
72
+ defaultVariant: 'default'
73
+ }, props.theme)) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({
74
+ componentType: 'text',
75
+ defaultVariant: 'default'
76
+ }, props.theme))}
56
77
  ${props => props.$type === 'NumberField' ? `
57
78
  padding: ${props.$fieldSize === Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px'};
58
79
  padding-left: ${props.$hasPrefix ? '30px' : ''};
@@ -65,7 +86,10 @@ const NumberInput = styled.input`
65
86
  }
66
87
 
67
88
  &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {
68
- box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};
89
+ box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({
90
+ componentType: 'border',
91
+ state: 'hover'
92
+ }, props.theme)};
69
93
  }
70
94
 
71
95
  &.focus-visible {
@@ -73,35 +97,61 @@ const NumberInput = styled.input`
73
97
  }
74
98
 
75
99
  &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {
76
- box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_700', props.theme)};
100
+ box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({
101
+ componentType: 'border',
102
+ state: 'hover'
103
+ }, props.theme)};
77
104
  }
78
105
 
79
106
  &.disabled {
80
- box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_100', props.theme)};
107
+ box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({
108
+ componentType: 'border',
109
+ state: 'disabled'
110
+ }, props.theme)};
81
111
  cursor: not-allowed;
82
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
112
+ color: ${props => COLORS.generateToken({
113
+ componentType: 'text',
114
+ state: 'disabled'
115
+ }, props.theme)};
83
116
  pointer-events: none;
84
117
 
85
118
  &::placeholder {
86
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
119
+ color: ${props => COLORS.generateToken({
120
+ componentType: 'text',
121
+ state: 'disabled'
122
+ }, props.theme)};
87
123
  }
88
124
  }
89
125
 
90
126
  &.readOnly {
91
- background: ${props => COLORS.getColor('neutral_100', props.theme)};
92
- box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_300', props.theme)};
127
+ background: ${props => COLORS.generateToken({
128
+ componentType: 'bg-surface',
129
+ state: 'disabled'
130
+ }, props.theme)};
131
+ box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({
132
+ componentType: 'border',
133
+ defaultVariant: 'default'
134
+ }, props.theme)};
93
135
  cursor: not-allowed;
94
- background: ${props => COLORS.getColor('neutral_100', props.theme)};
95
136
  pointer-events: none;
96
- color: ${props => COLORS.getColor('neutral_500', props.theme)};
137
+ color: ${props => COLORS.generateToken({
138
+ componentType: 'text',
139
+ defaultVariant: 'subtle'
140
+ }, props.theme)};
97
141
  }
98
142
 
99
143
  &.valid {
100
- box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('correct_400', props.theme)};
144
+ box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({
145
+ componentType: 'border',
146
+ defaultVariant: 'positive'
147
+ }, props.theme)};
101
148
  }
102
149
 
103
150
  &.invalid {
104
- box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('critical_400', props.theme)};
151
+ box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({
152
+ componentType: 'border',
153
+ defaultVariant: 'critical'
154
+ }, props.theme)};
105
155
  }
106
156
  `;
107
157
  const InputContainer = styled.div`
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.js","names":["React","TooltipTrigger","TooltipOverflow","styled","IconButton","useFocusVisibleRef","SystemIcons","COLORS","focusStyles","Z_INDEXES","ComponentMStyling","ComponentSStyling","ComponentTextStyle","Size","States","ValidationMessage","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Container","div","PrefixContainer","props","$size","Small","$disabled","getColor","theme","Regular","OperatorWrapper","Medium","NumberInput","input","$fieldSize","$type","$hasPrefix","Italic","InputContainer","focus","LeftOperator","RightOperator","NumberField","forwardRef","ref","type","size","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","disabled","readOnly","state","value","placeholder","onChange","className","id","overflowTooltipPosition","dataTestId","rest","_objectWithoutProperties","_excluded","userInput","setUserInput","useState","toString","elementRef","useEffect","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","children","tabIndex","variant","shape","action","useTransparentBackground","Minus","Plus","renderNumberInputElements","_objectSpread","onKeyDown","concat","position","withArrow","maxWidth","align","Default","propTypes","_pt","string","number","bool","node","oneOf","func"],"sources":["../../src/InputFields/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { TooltipTrigger } from '../Tooltips/TooltipStyles';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\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 ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles/typography';\r\nimport {Size, States, Testable} from '../types';\r\nimport {ValidationMessage} from \"./styling\";\r\n\r\nconst Container = styled.div``;\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.getColor('neutral_300', props.theme) : COLORS.getColor('neutral_500', props.theme)};\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: ${props => COLORS.getColor('neutral_200', props.theme)};\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 text-overflow: ellipsis;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.getColor('neutral_500', props.theme)};\r\n\r\n ${props => props.$fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme)) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\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 ${props => COLORS.getColor('primary_800', props.theme)};\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 ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &.disabled {\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_100', props.theme)};\r\n cursor: not-allowed;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n pointer-events: none;\r\n\r\n &::placeholder {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n &.readOnly {\r\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_300', props.theme)};\r\n cursor: not-allowed;\r\n background: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n pointer-events: none;\r\n color: ${props => COLORS.getColor('neutral_500', props.theme)};\r\n }\r\n\r\n &.valid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('correct_400', props.theme)};\r\n }\r\n\r\n &.invalid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('critical_400', props.theme)};\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 margin-bottom: 4px;\r\n\r\n input.focus-visible ~ div.operator {\r\n z-index: ${Z_INDEXES.focus};\r\n }\r\n\r\n ${TooltipTrigger('hover')}\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\nexport interface NumberFieldProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\r\n{\r\n /**\r\n * Optional. The size of the number field. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /**\r\n * Optional. The prefix to be displayed before the number in the field.\r\n */\r\n prefix?: string;\r\n\r\n /**\r\n * Optional. The interval for incrementing and decrementing the number in the field.\r\n */\r\n interval?: number;\r\n\r\n /**\r\n * Optional. The minimum value that can be entered in the field.\r\n */\r\n minValue?: number;\r\n\r\n /**\r\n * Optional. The maximum value that can be entered in the field.\r\n */\r\n maxValue?: number;\r\n\r\n /**\r\n * Optional. A boolean indicating whether negative numbers are allowed.\r\n */\r\n allowNegative?: boolean;\r\n\r\n /**\r\n * Optional. The number of decimal places allowed in the number.\r\n */\r\n decimalPrecision?: number;\r\n\r\n /**\r\n * Optional. The state of the number field. Can be 'Valid' or 'Invalid'.\r\n */\r\n state?: States.Valid | States.Invalid;\r\n\r\n /**\r\n * Optional. A note to be displayed below the number field.\r\n */\r\n note?: string;\r\n\r\n /**\r\n * Optional. An icon to be displayed next to the note.\r\n */\r\n noteIcon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The type of the number field. Can be 'NumberField' or 'NumberInput'.\r\n */\r\n type?: 'NumberField' | 'NumberInput';\r\n\r\n /**\r\n * Optional. The current value of the number field.\r\n */\r\n value?: number;\r\n\r\n /**\r\n * Optional. A function to be called when the value of the number field changes.\r\n */\r\n onChange?: (e: number) => void;\r\n\r\n /**\r\n * Optional. The position of the tooltip when the number overflows. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n}\r\n\r\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\r\n const {\r\n type = 'NumberField',\r\n size = Size.Medium,\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 onChange,\r\n className,\r\n id,\r\n overflowTooltipPosition,\r\n dataTestId,\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.useEffect(() => setUserInput(`${value ?? ''}`), [value]);\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(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 <InputContainer $type={type} $size={size} tabIndex={-1}>\r\n <NumberInput $type={type}\r\n id={id}\r\n data-testid={dataTestId}\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 required={required}\r\n className={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 {value && <TooltipOverflow position={overflowTooltipPosition} input={elementRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {value?.toString()}\r\n </TooltipOverflow>}\r\n </InputContainer>\r\n\r\n {\r\n note &&\r\n <ValidationMessage type={state || States.Default}>\r\n {noteIcon}\r\n <span>{note}</span>\r\n </ValidationMessage>\r\n }\r\n\r\n </Container>\r\n );\r\n }\r\n )\r\n;\r\n\r\nexport default NumberField;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NumberField.js","names":["React","TooltipTrigger","TooltipOverflow","styled","IconButton","useFocusVisibleRef","SystemIcons","COLORS","focusStyles","Z_INDEXES","ComponentMStyling","ComponentSStyling","ComponentTextStyle","Size","States","ValidationMessage","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Container","div","PrefixContainer","props","$size","Small","$disabled","generateToken","componentType","state","theme","defaultVariant","Regular","OperatorWrapper","Medium","NumberInput","input","$fieldSize","$type","$hasPrefix","Italic","InputContainer","focus","LeftOperator","RightOperator","NumberField","forwardRef","ref","type","size","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","disabled","readOnly","value","placeholder","onChange","className","id","overflowTooltipPosition","dataTestId","rest","_objectWithoutProperties","_excluded","userInput","setUserInput","useState","toString","elementRef","useEffect","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","children","tabIndex","variant","shape","action","useTransparentBackground","Minus","Plus","renderNumberInputElements","_objectSpread","onKeyDown","concat","position","withArrow","maxWidth","align","Default","propTypes","_pt","string","number","bool","node","oneOf","func"],"sources":["../../src/InputFields/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { TooltipTrigger } from '../Tooltips/TooltipStyles';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\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 ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles/typography';\r\nimport {Size, States, Testable} from '../types';\r\nimport {ValidationMessage} from \"./styling\";\r\n\r\nconst Container = styled.div``;\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.generateToken({componentType:'text', state:'disabled'}, props.theme) : \r\n COLORS.generateToken({componentType:'text', defaultVariant:'subtle'}, props.theme)};\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: ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\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 text-overflow: ellipsis;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({componentType:'border', defaultVariant:'default' }, props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.generateToken({componentType:'text', defaultVariant:'subtle'}, props.theme)};\r\n\r\n ${props => props.$fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant:'default'}, props.theme)) :\r\n ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant:'default'}, props.theme))}\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 ${props => COLORS.generateToken({ componentType:'border', state:'hover' }, props.theme)};\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 ${props => COLORS.generateToken({ componentType:'border', state:'hover' }, props.theme)};\r\n }\r\n\r\n &.disabled {\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({ componentType:'border', state:'disabled' }, props.theme)};\r\n cursor: not-allowed;\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'disabled' }, props.theme)};\r\n pointer-events: none;\r\n\r\n &::placeholder {\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'disabled' }, props.theme)};\r\n }\r\n }\r\n\r\n &.readOnly {\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'disabled' }, props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'default' }, props.theme)};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &.valid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({ componentType:'border', defaultVariant:'positive' }, props.theme)};\r\n }\r\n\r\n &.invalid {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.generateToken({ componentType:'border', defaultVariant:'critical' }, props.theme)};\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 margin-bottom: 4px;\r\n\r\n input.focus-visible ~ div.operator {\r\n z-index: ${Z_INDEXES.focus};\r\n }\r\n\r\n ${TooltipTrigger('hover')}\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\nexport interface NumberFieldProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\r\n{\r\n /**\r\n * Optional. The size of the number field. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /**\r\n * Optional. The prefix to be displayed before the number in the field.\r\n */\r\n prefix?: string;\r\n\r\n /**\r\n * Optional. The interval for incrementing and decrementing the number in the field.\r\n */\r\n interval?: number;\r\n\r\n /**\r\n * Optional. The minimum value that can be entered in the field.\r\n */\r\n minValue?: number;\r\n\r\n /**\r\n * Optional. The maximum value that can be entered in the field.\r\n */\r\n maxValue?: number;\r\n\r\n /**\r\n * Optional. A boolean indicating whether negative numbers are allowed.\r\n */\r\n allowNegative?: boolean;\r\n\r\n /**\r\n * Optional. The number of decimal places allowed in the number.\r\n */\r\n decimalPrecision?: number;\r\n\r\n /**\r\n * Optional. The state of the number field. Can be 'Valid' or 'Invalid'.\r\n */\r\n state?: States.Valid | States.Invalid;\r\n\r\n /**\r\n * Optional. A note to be displayed below the number field.\r\n */\r\n note?: string;\r\n\r\n /**\r\n * Optional. An icon to be displayed next to the note.\r\n */\r\n noteIcon?: React.ReactNode;\r\n\r\n /**\r\n * Optional. The type of the number field. Can be 'NumberField' or 'NumberInput'.\r\n */\r\n type?: 'NumberField' | 'NumberInput';\r\n\r\n /**\r\n * Optional. The current value of the number field.\r\n */\r\n value?: number;\r\n\r\n /**\r\n * Optional. A function to be called when the value of the number field changes.\r\n */\r\n onChange?: (e: number) => void;\r\n\r\n /**\r\n * Optional. The position of the tooltip when the number overflows. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n}\r\n\r\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\r\n const {\r\n type = 'NumberField',\r\n size = Size.Medium,\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 onChange,\r\n className,\r\n id,\r\n overflowTooltipPosition,\r\n dataTestId,\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.useEffect(() => setUserInput(`${value ?? ''}`), [value]);\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(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 <InputContainer $type={type} $size={size} tabIndex={-1}>\r\n <NumberInput $type={type}\r\n id={id}\r\n data-testid={dataTestId}\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 required={required}\r\n className={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 {value && <TooltipOverflow position={overflowTooltipPosition} input={elementRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {value?.toString()}\r\n </TooltipOverflow>}\r\n </InputContainer>\r\n\r\n {\r\n note &&\r\n <ValidationMessage type={state || States.Default}>\r\n {noteIcon}\r\n <span>{note}</span>\r\n </ValidationMessage>\r\n }\r\n\r\n </Container>\r\n );\r\n }\r\n )\r\n;\r\n\r\nexport default NumberField;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAAQC,UAAU,QAAO,WAAW;AACpC,SAAQC,kBAAkB,QAAO,WAAW;AAC5C,SAAQC,WAAW,QAAO,UAAU;AACpC,SAAQC,MAAM,EAAEC,WAAW,EAAEC,SAAS,QAAO,WAAW;AACxD,SACEC,iBAAiB,EACjBC,iBAAiB,EACjBC,kBAAkB,QAGb,sBAAsB;AAC7B,SAAQC,IAAI,EAAEC,MAAM,QAAiB,UAAU;AAC/C,SAAQC,iBAAiB,QAAO,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE5C,MAAMC,SAAS,GAAGnB,MAAM,CAACoB,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAGrB,MAAM,CAACoB,GAAwC;AACvE,WAAWE,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACc,KAAK,GAAG,MAAM,GAAG,MAAM;AAChE,YAAYF,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACc,KAAK,GAAG,MAAM,GAAG,MAAM;AACjE,WAAWF,KAAK,IAAIA,KAAK,CAACG,SAAS,GAAGrB,MAAM,CAACsB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAAEC,KAAK,EAAC;AAAU,CAAC,EAAEN,KAAK,CAACO,KAAK,CAAC,GAC7GzB,MAAM,CAACsB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAAEG,cAAc,EAAC;AAAQ,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AACtF,IAAIP,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACc,KAAK,GAAGhB,iBAAiB,CAACC,kBAAkB,CAACsB,OAAO,EAAE,IAAI,CAAC,GAAGxB,iBAAiB,CAACE,kBAAkB,CAACsB,OAAO,EAAE,IAAI,CAAC;AACnJ;AACA,aAAaT,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACc,KAAK,GAAG,kBAAkB,GAAG,kBAAkB;AAC1F,CAAC;AAED,MAAMQ,eAAe,GAAGhC,MAAM,CAACoB,GAAoB;AACnD;AACA;AACA;AACA;AACA,YAAYE,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACuB,MAAM,GAAG,OAAO,GAAG,EAAE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBX,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEG,cAAc,EAAE;AAAS,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AACnH;AACA;AACA,CAAC;AAED,MAAMK,WAAW,GAAGlC,MAAM,CAACmC,KAA+D;AAC1F;AACA;AACA;AACA;AACA,gCAAgCb,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAACC,aAAa,EAAC,QAAQ;EAAEG,cAAc,EAAC;AAAU,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AAC/H;AACA,WAAWP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAAEG,cAAc,EAAC;AAAQ,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AACtG;AACA,IAAIP,KAAK,IAAIA,KAAK,CAACc,UAAU,KAAK1B,IAAI,CAACc,KAAK,GAAGhB,iBAAiB,CAACC,kBAAkB,CAACsB,OAAO,EAAE3B,MAAM,CAACsB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAAEG,cAAc,EAAC;AAAS,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC,CAAC,GAC5KtB,iBAAiB,CAACE,kBAAkB,CAACsB,OAAO,EAAE3B,MAAM,CAACsB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAAEG,cAAc,EAAC;AAAS,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC,CAAC;AACvI,IAAIP,KAAK,IAAIA,KAAK,CAACe,KAAK,KAAK,aAAa,GAAG;AAC7C,mBAAmBf,KAAK,CAACc,UAAU,KAAK1B,IAAI,CAACc,KAAK,GAAG,qBAAqB,GAAG,qBAAqB;AAClG,wBAAwBF,KAAK,CAACgB,UAAU,GAAG,MAAM,GAAG,EAAE;AACtD,KAAK,GAAG,EAAE;AACV,IAAIhB,KAAK,IAAIA,KAAK,CAACe,KAAK,KAAK,aAAa,GAAG;AAC7C,mBAAmBf,KAAK,CAACc,UAAU,KAAK1B,IAAI,CAACc,KAAK,GAAG,WAAW,GAAG,WAAW;AAC9E,KAAK,GAAG,EAAE;AACV;AACA,MAAMF,KAAK,IAAIA,KAAK,CAACc,UAAU,KAAK1B,IAAI,CAACc,KAAK,GAAGhB,iBAAiB,CAACC,kBAAkB,CAAC8B,MAAM,EAAE,IAAI,CAAC,GAAGhC,iBAAiB,CAACE,kBAAkB,CAAC8B,MAAM,EAAE,IAAI,CAAC;AACxJ;AACA;AACA;AACA,kCAAkCjB,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAC,QAAQ;EAAEC,KAAK,EAAC;AAAQ,CAAC,EAAEN,KAAK,CAACO,KAAK,CAAC;AACvH;AACA;AACA;AACA,MAAMxB,WAAW;AACjB;AACA;AACA;AACA,kCAAkCiB,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAC,QAAQ;EAAEC,KAAK,EAAC;AAAQ,CAAC,EAAEN,KAAK,CAACO,KAAK,CAAC;AACvH;AACA;AACA;AACA,kCAAkCP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAC,QAAQ;EAAEC,KAAK,EAAC;AAAW,CAAC,EAAEN,KAAK,CAACO,KAAK,CAAC;AAC1H;AACA,aAAaP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAC,MAAM;EAAEC,KAAK,EAAC;AAAW,CAAC,EAAEN,KAAK,CAACO,KAAK,CAAC;AACnG;AACA;AACA;AACA,eAAeP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAC,MAAM;EAAEC,KAAK,EAAC;AAAW,CAAC,EAAEN,KAAK,CAACO,KAAK,CAAC;AACrG;AACA;AACA;AACA;AACA,kBAAkBP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEC,KAAK,EAAE;AAAY,CAAC,EAAEN,KAAK,CAACO,KAAK,CAAC;AACjH,kCAAkCP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEG,cAAc,EAAE;AAAW,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AACrI;AACA;AACA,aAAaP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEG,cAAc,EAAE;AAAU,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AAC7G;AACA;AACA;AACA,kCAAkCP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAC,QAAQ;EAAEG,cAAc,EAAC;AAAW,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AACnI;AACA;AACA;AACA,kCAAkCP,KAAK,IAAIlB,MAAM,CAACsB,aAAa,CAAC;EAAEC,aAAa,EAAC,QAAQ;EAAEG,cAAc,EAAC;AAAW,CAAC,EAAER,KAAK,CAACO,KAAK,CAAC;AACnI;AACA,CAAC;AAED,MAAMW,cAAc,GAAGxC,MAAM,CAACoB,GAAmC;AACjE,eAAeE,KAAK,IAAIA,KAAK,CAACe,KAAK,KAAK,aAAa,GAAG,OAAO,GAAG,OAAO;AACzE,YAAYf,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACc,KAAK,GAAG,MAAM,GAAG,MAAM;AACjE;AACA;AACA;AACA;AACA;AACA,eAAelB,SAAS,CAACmC,KAAK;AAC9B;AACA;AACA,IAAI3C,cAAc,CAAC,OAAO,CAAC;AAC3B,CAAC;AAED,MAAM4C,YAAY,GAAG1C,MAAM,CAACoB,GAAoB;AAChD;AACA,SAASE,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACc,KAAK,GAAG,GAAG,GAAG,KAAK;AAC1D;AACA,CAAC;AAED,MAAMmB,aAAa,GAAG3C,MAAM,CAACoB,GAAoB;AACjD;AACA,SAASE,KAAK,IAAIA,KAAK,CAACC,KAAK,KAAKb,IAAI,CAACc,KAAK,GAAG,GAAG,GAAG,KAAK;AAC1D;AACA,CAAC;AA2ED,MAAMoB,WAAW,gBAAG/C,KAAK,CAACgD,UAAU,CAAqC,CAACvB,KAAK,EAAEwB,GAAG,KAAK;EACnF,MAAM;MACJC,IAAI,GAAG,aAAa;MACpBC,IAAI,GAAGtC,IAAI,CAACuB,MAAM;MAClBgB,IAAI;MACJC,QAAQ;MACRC,QAAQ;MACRC,MAAM;MACNC,QAAQ,GAAG,CAAC;MACZC,QAAQ;MACRC,QAAQ;MACRC,aAAa;MACbC,gBAAgB;MAChBC,QAAQ;MACRC,QAAQ;MACR/B,KAAK;MACLgC,KAAK;MACLC,WAAW;MACXC,QAAQ;MACRC,SAAS;MACTC,EAAE;MACFC,uBAAuB;MACvBC;IAEF,CAAC,GAAG5C,KAAK;IADJ6C,IAAI,GAAAC,wBAAA,CACL9C,KAAK,EAAA+C,SAAA;EAET,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG1E,KAAK,CAAC2E,QAAQ,CAACZ,KAAK,GAAGA,KAAK,CAACa,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;EAE/E,MAAMC,UAAU,GAAGxE,kBAAkB,CAAC,CAAC;EAEvCL,KAAK,CAAC8E,SAAS,CAAC,MAAMJ,YAAY,CAAC,GAAGX,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE9D/D,KAAK,CAAC+E,mBAAmB,CAAC9B,GAAG,EAAE,MAAM4B,UAAU,CAACG,OAAO,EAAE,CAACH,UAAU,CAAC,CAAC;EAEtE,MAAMI,MAAM,GAAIC,CAAS,IAAK;IAC5BR,YAAY,CAACQ,CAAC,CAAC;IACfjB,QAAQ,IAAIA,QAAQ,CAAC,CAACiB,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMC,cAAc,GAAID,CAAwC,IAAK;IACnE,QAAQA,CAAC,CAACE,GAAG;MACX,KAAK,SAAS;QACZC,WAAW,CAAC,CAAC;QACb;MACF,KAAK,WAAW;QACdC,gBAAgB,CAAC,CAAC;QAClB;MACF;QACE;IACJ;EACF,CAAC;EAED,MAAMC,WAAW,GAAIL,CAAsC,IAAK;IAC9DA,CAAC,CAACM,cAAc,CAAC,CAAC;IAClB,IAAIC,WAAW,GAAG,IAAIC,MAAM,CAAC,YAAY,CAAC;IAC1C,IAAIC,qBAAqB,GAAG,IAAID,MAAM,CAAC,cAAc,CAAC;IACtD,IAAIE,6BAA6B,GAAG,IAAIF,MAAM,CAAC,iBAAiB,CAAC;IAEjE,IAAIG,kBAAkB,GAAG,IAAIH,MAAM,CAAC,eAAe,CAAC;IACpD,IAAII,qBAAqB,GAAGlC,gBAAgB,GAAG,IAAI8B,MAAM,CAAC,2BAA2B9B,gBAAgB,GAAC,CAAC,IAAI,CAAC,GAAGmC,SAAS;IACxH,IAAIC,uBAAuB,GAAIpC,gBAAgB,IAAID,aAAa,GAAI,IAAI+B,MAAM,CAAC,8BAA8B9B,gBAAgB,GAAC,CAAC,IAAI,CAAC,GAAGmC,SAAS;IAEhJ,IAAIE,GAAG,GAAGf,CAAC,CAACgB,MAAM,CAACnC,KAAK;IACxB,IAAIkC,GAAG,KAAK,EAAE,EAAE;MACd,IAAItC,aAAa,IAAIC,gBAAgB,EAAE;QACrC,IAAIqC,GAAG,CAACE,MAAM,KAAK,CAAC,IAAIF,GAAG,CAACG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAC3CnB,MAAM,CAACgB,GAAG,CAAC,CAAC,KACT;UACH,IAAI,CAACD,uBAAuB,CAAEK,IAAI,CAACJ,GAAG,CAAC,IAAIH,qBAAqB,CAAEO,IAAI,CAACJ,GAAG,CAAC,KAAKK,SAAS,CAACL,GAAG,EAAE,IAAI,CAAC,EAClGhB,MAAM,CAACgB,GAAG,CAAC,CAAC,KAET,IAAI,CAACL,6BAA6B,CAACS,IAAI,CAACJ,GAAG,CAAC,IAAIN,qBAAqB,CAACU,IAAI,CAACJ,GAAG,CAAC,KAAKK,SAAS,CAACL,GAAG,CAACM,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAC5HtB,MAAM,CAACgB,GAAG,CAAC,CAAC,KAET,IAAI,CAACJ,kBAAkB,CAACQ,IAAI,CAACJ,GAAG,CAAC,IAAIR,WAAW,CAACY,IAAI,CAACJ,GAAG,CAAC,KAAKK,SAAS,CAACL,GAAG,EAAE,IAAI,CAAC,EACtFhB,MAAM,CAACgB,GAAG,CAAC;QACf;MACF,CAAC,MAAM,IAAItC,aAAa,EAAE;QACxB,IAAIsC,GAAG,CAACE,MAAM,KAAK,CAAC,IAAIF,GAAG,CAACG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAC3CnB,MAAM,CAACgB,GAAG,CAAC,CAAC,KACT,IAAI,CAACJ,kBAAkB,CAACQ,IAAI,CAACJ,GAAG,CAAC,IAAIR,WAAW,CAACY,IAAI,CAACJ,GAAG,CAAC,KAAKK,SAAS,CAACL,GAAG,EAAE,KAAK,CAAC,EACvFhB,MAAM,CAACgB,GAAG,CAAC;MACf,CAAC,MAAM,IAAIrC,gBAAgB,IAAKqC,GAAG,CAACO,OAAO,CAAC,GAAG,CAAC,KAAKP,GAAG,CAACQ,WAAW,CAAC,GAAG,CAAE,IAAIH,SAAS,CAACL,GAAG,EAAE,IAAI,CAAC,EAAE;QAClG,IAAIH,qBAAqB,CAAEO,IAAI,CAACJ,GAAG,CAAC,EAClChB,MAAM,CAACgB,GAAG,CAAC,CAAC,KACT,IAAIN,qBAAqB,CAACU,IAAI,CAACJ,GAAG,CAAC,EACtChB,MAAM,CAACgB,GAAG,CAAC,CAAC,KACT,IAAI,CAACA,GAAG,CAACS,QAAQ,CAAC,GAAG,CAAC,IAAIjB,WAAW,CAACY,IAAI,CAACJ,GAAG,CAAC,EAClDhB,MAAM,CAACgB,GAAG,CAAC;MACf,CAAC,MAAM,IAAIR,WAAW,CAACY,IAAI,CAACJ,GAAG,CAAC,IAAIK,SAAS,CAACL,GAAG,EAAE,KAAK,CAAC,EAAE;QACzDhB,MAAM,CAACgB,GAAG,CAAC;MACb;IACF;IAEA,IAAIA,GAAG,KAAK,EAAE,EACZhB,MAAM,CAAC,EAAE,CAAC;EACd,CAAC;EAED,MAAMqB,SAAS,GAAGA,CAACvC,KAAa,EAAE4C,SAAkB,KAAc;IAChE,IAAIC,CAAC,GAAGD,SAAS,GAAGE,UAAU,CAACA,UAAU,CAAC9C,KAAK,CAAC,CAAC+C,OAAO,CAAClD,gBAAgB,CAAC,CAAC,GAAGmD,QAAQ,CAAChD,KAAK,CAAC;IAC7F,IAAIN,QAAQ,IAAIA,QAAQ,GAAGmD,CAAC,EAC1B,OAAO,KAAK,CAAC,KACV,IAAIlD,QAAQ,IAAIA,QAAQ,GAAGkD,CAAC,EAC/B,OAAO,KAAK,CAAC,KAEb,OAAO,IAAI;EACf,CAAC;EAED,MAAMvB,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIY,GAAG,GAAGrC,gBAAgB,GAAGiD,UAAU,CAACpC,SAAS,CAAC,GAAGsC,QAAQ,CAACtC,SAAS,CAAC;IACxEwB,GAAG,GAAGe,KAAK,CAACf,GAAG,CAAC,IAAIxB,SAAS,KAAK,EAAE,GAAIhB,QAAQ,GAAGA,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAIwC,GAAG;IAC1E,IAAI,CAACe,KAAK,CAACf,GAAG,CAAC,EAAE;MACf,IAAIrC,gBAAgB,EAClBqC,GAAG,GAAGgB,IAAI,CAACC,KAAK,CAAC,CAACjB,GAAG,GAAGzC,QAAQ,IAAIyD,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEvD,gBAAiB,CAAC,CAAC,GAAGqD,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEvD,gBAAiB,CAAC,CAAC,KAEvGqC,GAAG,IAAI,CAAC;MAEV,IAAIvC,QAAQ,IAAIA,QAAQ,IAAIuC,GAAG,EAC7BhB,MAAM,CAACgB,GAAG,CAACrB,QAAQ,CAAC,CAAC,CAAC,CAAC,KACpB,IAAI,CAAClB,QAAQ,EAChBuB,MAAM,CAACgB,GAAG,CAACrB,QAAQ,CAAC,CAAC,CAAC;IAC1B;EACF,CAAC;EAED,MAAMU,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,IAAIW,GAAG,GAAGrC,gBAAgB,GAAGiD,UAAU,CAACpC,SAAS,CAAC,GAAGsC,QAAQ,CAACtC,SAAS,CAAC;IACxEwB,GAAG,GAAGe,KAAK,CAACf,GAAG,CAAC,IAAIxB,SAAS,KAAK,EAAE,GAAIf,QAAQ,GAAGA,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAIuC,GAAG;IAC1E,IAAI,CAACe,KAAK,CAACf,GAAG,CAAC,EAAE;MACf,IAAIrC,gBAAgB,EAClBqC,GAAG,GAAGgB,IAAI,CAACC,KAAK,CAAC,CAACjB,GAAG,GAAGzC,QAAQ,IAAIyD,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEvD,gBAAiB,CAAC,CAAC,GAAGqD,IAAI,CAACE,GAAG,CAAC,EAAE,EAAEvD,gBAAiB,CAAC,CAAC,KAEvGqC,GAAG,IAAI,CAAC;MAEV,IAAKxC,QAAQ,IAAIA,QAAQ,IAAIwC,GAAG,IAAK,CAACxC,QAAQ,EAAE;QAC9C,IAAIE,aAAa,IAAIsC,GAAG,IAAI,CAAC,EAAE;UAC7BhB,MAAM,CAACgB,GAAG,CAACrB,QAAQ,CAAC,CAAC,CAAC;QACxB;MACF;IACF;EACF,CAAC;EAED,MAAMwC,QAAQ,GAAGA,CAAC9E,KAAa,EAAE+E,QAAgB,KAAc;IAC7D,IAAIpB,GAAG,GAAGrC,gBAAgB,GAAGiD,UAAU,CAACvE,KAAK,CAAC,GAAGyE,QAAQ,CAACzE,KAAK,CAAC;IAChE2D,GAAG,GAAGe,KAAK,CAACf,GAAG,CAAC,IAAIxB,SAAS,KAAK,EAAE,GAAG,CAAC,GAAGwB,GAAG;IAC9C,IAAIqB,aAAa,GAAG,KAAK;IACzB,IAAID,QAAQ,KAAK,KAAK,IAAI3D,QAAQ,EAChC4D,aAAa,GAAGrB,GAAG,IAAIvC,QAAQ;IAEjC,IAAI2D,QAAQ,KAAK,UAAU,IAAI5D,QAAQ,EACrC6D,aAAa,GAAGrB,GAAG,IAAIxC,QAAQ;IAEjC,IAAI4D,QAAQ,KAAK,UAAU,IAAI,CAAC5D,QAAQ,IAAI,CAACE,aAAa,EACxD2D,aAAa,GAAGrB,GAAG,IAAI,CAAC;IAE1B,OAAOqB,aAAa;EACtB,CAAC;EAED,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;IACtC,oBACEpG,KAAA,CAAAE,SAAA;MAAAmG,QAAA,GACGjE,MAAM,iBAAItC,IAAA,CAACO,eAAe;QAACE,KAAK,EAAEyB,IAAK;QAACvB,SAAS,EAAE,CAAC,CAACiC,QAAS;QAACK,SAAS,EAAC,UAAU;QAAAsD,QAAA,EACjFjE;MAAM,CACQ,CAAC,eAElBpC,KAAA,CAACgB,eAAe;QAAC,eAAa,WAAY;QAACT,KAAK,EAAEyB,IAAK;QAACe,SAAS,EAAC,UAAU;QAAAsD,QAAA,gBAC1EvG,IAAA,CAACb,UAAU;UAACqH,QAAQ,EAAE,CAAE;UAACC,OAAO,EAAC,WAAW;UAACC,KAAK,EAAC,QAAQ;UAACC,MAAM,EAAEA,CAAA,KAAMtC,gBAAgB,CAAC,CAAE;UACjFuC,wBAAwB;UAAChE,QAAQ,EAAEA,QAAQ,IAAIC,QAAQ,IAAIsD,QAAQ,CAAC3C,SAAS,EAAE,UAAU,CAAE;UAAA+C,QAAA,eACrGvG,IAAA,CAACX,WAAW,CAACwH,KAAK;YAAC3E,IAAI,EAAC;UAAM,CAAC;QAAC,CACtB,CAAC,eACblC,IAAA;UAAKiD,SAAS,EAAC;QAAS,CAAM,CAAC,eAC/BjD,IAAA,CAACb,UAAU;UAACqH,QAAQ,EAAE,CAAE;UAACC,OAAO,EAAC,WAAW;UAACC,KAAK,EAAC,QAAQ;UAACC,MAAM,EAAEA,CAAA,KAAMvC,WAAW,CAAC,CAAE;UAC5EwC,wBAAwB;UAAChE,QAAQ,EAAEA,QAAQ,IAAIC,QAAQ,IAAIsD,QAAQ,CAAC3C,SAAS,EAAE,KAAK,CAAE;UAAA+C,QAAA,eAChGvG,IAAA,CAACX,WAAW,CAACyH,IAAI;YAAC5E,IAAI,EAAC;UAAM,CAAC;QAAC,CACrB,CAAC;MAAA,CACE,CAAC;IAAA,CAClB,CAAC;EACP,CAAC;EAED,MAAM6E,yBAAyB,GAAGA,CAAA,KAAM;IACtC,oBACE7G,KAAA,CAAAE,SAAA;MAAAmG,QAAA,gBACEvG,IAAA,CAAC4B,YAAY;QAAC,eAAa,cAAe;QAACnB,KAAK,EAAEyB,IAAK;QAACe,SAAS,EAAC,UAAU;QAAAsD,QAAA,eAC1EvG,IAAA,CAACb,UAAU;UAACqH,QAAQ,EAAE,CAAE;UAACC,OAAO,EAAC,WAAW;UAACC,KAAK,EAAC,QAAQ;UAACC,MAAM,EAAEA,CAAA,KAAMtC,gBAAgB,CAAC,CAAE;UACjFuC,wBAAwB;UAAChE,QAAQ,EAAEA,QAAQ,IAAIC,QAAQ,IAAIsD,QAAQ,CAAC3C,SAAS,EAAE,UAAU,CAAE;UAAA+C,QAAA,eACrGvG,IAAA,CAACX,WAAW,CAACwH,KAAK;YAAC3E,IAAI,EAAC;UAAM,CAAC;QAAC,CACtB;MAAC,CACD,CAAC,eACflC,IAAA,CAAC6B,aAAa;QAAC,eAAa,eAAgB;QAACpB,KAAK,EAAEyB,IAAK;QAACe,SAAS,EAAC,UAAU;QAAAsD,QAAA,eAC5EvG,IAAA,CAACb,UAAU;UAACqH,QAAQ,EAAE,CAAE;UAACC,OAAO,EAAC,WAAW;UAACC,KAAK,EAAC,QAAQ;UAACC,MAAM,EAAEA,CAAA,KAAMvC,WAAW,CAAC,CAAE;UAC5EwC,wBAAwB;UAAChE,QAAQ,EAAEA,QAAQ,IAAIC,QAAQ,IAAIsD,QAAQ,CAAC3C,SAAS,EAAE,KAAK,CAAE;UAAA+C,QAAA,eAChGvG,IAAA,CAACX,WAAW,CAACyH,IAAI;YAAC5E,IAAI,EAAC;UAAM,CAAC;QAAC,CACrB;MAAC,CACA,CAAC;IAAA,CAChB,CAAC;EACP,CAAC;EAED,oBACEhC,KAAA,CAACG,SAAS;IAAAkG,QAAA,gBACRrG,KAAA,CAACwB,cAAc;MAACH,KAAK,EAAEU,IAAK;MAACxB,KAAK,EAAEyB,IAAK;MAACsE,QAAQ,EAAE,CAAC,CAAE;MAAAD,QAAA,gBACrDvG,IAAA,CAACoB,WAAW,EAAA4F,aAAA;QAACzF,KAAK,EAAEU,IAAK;QACXiB,EAAE,EAAEA,EAAG;QACR,eAAaE,UAAW;QACxB9B,UAAU,EAAEY,IAAK;QACjBV,UAAU,EAAE,CAAC,CAACc,MAAO;QACrBS,WAAW,EAAEA,WAAW,GAAGA,WAAW,GAAG,cAAe;QACxDD,KAAK,EAAEU,SAAU;QACjBxB,GAAG,EAAE4B,UAAW;QAChB4C,QAAQ,EAAG5D,QAAQ,IAAIC,QAAQ,GAAI,CAAC,CAAC,GAAG,CAAE;QAC1CG,QAAQ,EAAEiB,CAAC,IAAIK,WAAW,CAACL,CAAC,CAAE;QAC9BgD,SAAS,EAAEhD,CAAC,IAAIC,cAAc,CAACD,CAAC,CAAE;QAClC5B,QAAQ,EAAEA,QAAS;QACnBY,SAAS,EAAEL,QAAQ,GAAG,WAAW,GAAG,EAAE,CACnCsE,MAAM,CAACrE,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC,CACnCqE,MAAM,CAACpG,KAAK,GAAG,IAAIA,KAAK,EAAE,GAAG,EAAE,CAAC,CAChCoG,MAAM,CAACjE,SAAS,GAAG,IAAIA,SAAS,EAAE,GAAG,EAAE;MAAE,GACxCI,IAAI,CAAE,CAAC,EAEvBpB,IAAI,KAAK,aAAa,IAAIqE,yBAAyB,CAAC,CAAC,EACrDrE,IAAI,KAAK,aAAa,IAAI8E,yBAAyB,CAAC,CAAC,EACrDjE,KAAK,iBAAI9C,IAAA,CAACf,eAAe;QAACkI,QAAQ,EAAEhE,uBAAwB;QAAC9B,KAAK,EAAEuC,UAAW;QAACwD,SAAS,EAAE,IAAK;QAACC,QAAQ,EAAC,MAAM;QAACnF,IAAI,EAAEA,IAAK;QAACoF,KAAK,EAAC,KAAK;QAAAf,QAAA,EACtIzD,KAAK,EAAEa,QAAQ,CAAC;MAAC,CACH,CAAC;IAAA,CACJ,CAAC,EAGfxB,IAAI,iBACJjC,KAAA,CAACJ,iBAAiB;MAACmC,IAAI,EAAEnB,KAAK,IAAIjB,MAAM,CAAC0H,OAAQ;MAAAhB,QAAA,GAC9CnE,QAAQ,eACTpC,IAAA;QAAAuG,QAAA,EAAOpE;MAAI,CAAO,CAAC;IAAA,CACF,CAAC;EAAA,CAGb,CAAC;AAEhB,CACF,CAAC;AACFL,WAAA,CAAA0F,SAAA;EA3SClF,MAAM,EAAAmF,GAAA,CAAAC,MAAA;EAKNnF,QAAQ,EAAAkF,GAAA,CAAAE,MAAA;EAKRnF,QAAQ,EAAAiF,GAAA,CAAAE,MAAA;EAKRlF,QAAQ,EAAAgF,GAAA,CAAAE,MAAA;EAKRjF,aAAa,EAAA+E,GAAA,CAAAG,IAAA;EAKbjF,gBAAgB,EAAA8E,GAAA,CAAAE,MAAA;EAUhBxF,IAAI,EAAAsF,GAAA,CAAAC,MAAA;EAKJtF,QAAQ,EAAAqF,GAAA,CAAAI,IAAA;EAKR5F,IAAI,EAAAwF,GAAA,CAAAK,KAAA,EAAG,aAAa,EAAG,aAAa;EAKpChF,KAAK,EAAA2E,GAAA,CAAAE,MAAA;EAKL3E,QAAQ,EAAAyE,GAAA,CAAAM,IAAA;EAKR5E,uBAAuB,EAAAsE,GAAA,CAAAK,KAAA,EAAG,KAAK,EAAG,QAAQ;AAAA;AAiP5C,eAAehG,WAAW","ignoreList":[]}
@@ -107,7 +107,10 @@ const PasswordField = /*#__PURE__*/React.forwardRef((_ref, ref) => {
107
107
  }), validationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ErrorMessage, {
108
108
  className: size || '',
109
109
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.TechnicalWarning, {
110
- color: _styles.COLORS.getColor('critical_400', theme)
110
+ color: _styles.COLORS.generateToken({
111
+ componentType: 'text',
112
+ defaultVariant: 'critical'
113
+ }, theme)
111
114
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
112
115
  children: validationMessage
113
116
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordField.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_styles","_styling","_common","_Button","_icons","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledPassSwitch","styled","div","Z_INDEXES","badge","PasswordRow","PasswordField","forwardRef","_ref","ref","id","disabled","onChange","invalid","value","validationMessage","autoComplete","placeholder","required","readOnly","size","margin","className","dataTestId","name","rest","_objectWithoutProperties2","passwordHidden","setPasswordHidden","useState","inputRef","useFocusVisibleRef","theme","useTheme","useImperativeHandle","current","handleKeyDown","keyCode","cls","jsxs","Fragment","children","jsx","InputWrapper","$disabled","$readOnly","$margin","InputFieldStyling","type","tabIndex","$activeErrorMessage","target","IconButton","iconColor","variant","shape","onKeyPress","action","SystemIcons","VisibleOff","VisibleOn","ErrorMessage","TechnicalWarning","color","COLORS","getColor","propTypes","_propTypes","string","isRequired","bool","func","_default","exports"],"sources":["../../src/InputFields/PasswordField.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS } from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { InputFieldStyling, InputWrapper, ErrorMessage } from './styling';\r\nimport { Z_INDEXES } from '../styles';\r\nimport { useFocusVisibleRef } from '../common';\r\nimport { IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\n\r\nexport type PasswordFieldProps =\r\n Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'id' | 'onChange' | 'readOnly' | 'required' | 'placeholder' | 'autoComplete' | 'value' | 'disabled' | 'tabIndex' | 'type'>\r\n & {\r\n /**\r\n * Required. The ID of the password field.\r\n */\r\n id: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional. A function to be called when the value of the password field changes.\r\n */\r\n onChange?: (text: string) => void;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is invalid.\r\n */\r\n invalid?: boolean;\r\n\r\n /**\r\n * Optional. The current value of the password field.\r\n */\r\n value?: string;\r\n\r\n /**\r\n * Optional. The validation message to be displayed when the password field is invalid.\r\n */\r\n validationMessage?: string;\r\n\r\n /**\r\n * Optional. The autocomplete attribute for the password field.\r\n */\r\n autoComplete?: string;\r\n\r\n /**\r\n * Optional. The placeholder text for the password field.\r\n */\r\n placeholder?: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is required.\r\n */\r\n required?: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is read-only.\r\n */\r\n readOnly?: boolean;\r\n\r\n /**\r\n * Optional. The size of the password field. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /**\r\n * Optional. The margin of the password field. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n};\r\n\r\nconst StyledPassSwitch = styled.div`\r\n z-index: ${Z_INDEXES.badge};\r\n right: 0;\r\n position: absolute;\r\n`;\r\n\r\nconst PasswordRow = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`;\r\n\r\nconst PasswordField = React.forwardRef<HTMLInputElement, PasswordFieldProps>(({\r\n id,\r\n disabled,\r\n onChange,\r\n invalid,\r\n value,\r\n validationMessage,\r\n autoComplete,\r\n placeholder,\r\n required,\r\n readOnly,\r\n size,\r\n margin,\r\n className,\r\n dataTestId,\r\n name = 'password',\r\n ...rest\r\n }: PasswordFieldProps, ref) => {\r\n const [passwordHidden, setPasswordHidden] = React.useState<Boolean>(true);\r\n const inputRef = useFocusVisibleRef();\r\n const theme = useTheme();\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (e.keyCode === 13) {\r\n setPasswordHidden(!passwordHidden);\r\n }\r\n };\r\n\r\n const cls = `${invalid ? 'invalid' : ''} ${size || ''} ${className}`;\r\n\r\n return (\r\n <>\r\n <InputWrapper $disabled={disabled} $readOnly={readOnly} $margin={margin}>\r\n <PasswordRow>\r\n <InputFieldStyling\r\n id={id}\r\n data-testid={dataTestId}\r\n ref={inputRef}\r\n type={passwordHidden ? 'password' : 'text'}\r\n name={name}\r\n value={value}\r\n className={cls}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n autoComplete={autoComplete}\r\n $activeErrorMessage={!!validationMessage}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n required={required}\r\n readOnly={readOnly}\r\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\r\n {...rest}\r\n />\r\n <StyledPassSwitch className={size ? size : ''}>\r\n {!disabled && !readOnly ? (\r\n passwordHidden ? (\r\n <IconButton\r\n id={`${id}_Visible`}\r\n iconColor={'#666666'}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n onKeyPress={handleKeyDown}\r\n action={() => setPasswordHidden(!passwordHidden)}>\r\n <SystemIcons.VisibleOff />\r\n </IconButton>\r\n ) : (\r\n <IconButton\r\n id={`${id}_NotVisible`}\r\n iconColor={'#666666'}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n onKeyPress={handleKeyDown}\r\n action={() => setPasswordHidden(!passwordHidden)}>\r\n <SystemIcons.VisibleOn />\r\n </IconButton>\r\n )\r\n ) : null}\r\n </StyledPassSwitch>\r\n </PasswordRow>\r\n </InputWrapper>\r\n {validationMessage && (\r\n <ErrorMessage className={size || ''}>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)} />\r\n <span>{validationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default PasswordField;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PasswordField.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_styles","_styling","_common","_Button","_icons","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledPassSwitch","styled","div","Z_INDEXES","badge","PasswordRow","PasswordField","forwardRef","_ref","ref","id","disabled","onChange","invalid","value","validationMessage","autoComplete","placeholder","required","readOnly","size","margin","className","dataTestId","name","rest","_objectWithoutProperties2","passwordHidden","setPasswordHidden","useState","inputRef","useFocusVisibleRef","theme","useTheme","useImperativeHandle","current","handleKeyDown","keyCode","cls","jsxs","Fragment","children","jsx","InputWrapper","$disabled","$readOnly","$margin","InputFieldStyling","type","tabIndex","$activeErrorMessage","target","IconButton","iconColor","variant","shape","onKeyPress","action","SystemIcons","VisibleOff","VisibleOn","ErrorMessage","TechnicalWarning","color","COLORS","generateToken","componentType","defaultVariant","propTypes","_propTypes","string","isRequired","bool","func","_default","exports"],"sources":["../../src/InputFields/PasswordField.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS } from '../styles';\r\nimport { Size, Testable } from '../types';\r\nimport { InputFieldStyling, InputWrapper, ErrorMessage } from './styling';\r\nimport { Z_INDEXES } from '../styles';\r\nimport { useFocusVisibleRef } from '../common';\r\nimport { IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\n\r\nexport type PasswordFieldProps =\r\n Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'id' | 'onChange' | 'readOnly' | 'required' | 'placeholder' | 'autoComplete' | 'value' | 'disabled' | 'tabIndex' | 'type'>\r\n & {\r\n /**\r\n * Required. The ID of the password field.\r\n */\r\n id: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional. A function to be called when the value of the password field changes.\r\n */\r\n onChange?: (text: string) => void;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is invalid.\r\n */\r\n invalid?: boolean;\r\n\r\n /**\r\n * Optional. The current value of the password field.\r\n */\r\n value?: string;\r\n\r\n /**\r\n * Optional. The validation message to be displayed when the password field is invalid.\r\n */\r\n validationMessage?: string;\r\n\r\n /**\r\n * Optional. The autocomplete attribute for the password field.\r\n */\r\n autoComplete?: string;\r\n\r\n /**\r\n * Optional. The placeholder text for the password field.\r\n */\r\n placeholder?: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is required.\r\n */\r\n required?: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the password field is read-only.\r\n */\r\n readOnly?: boolean;\r\n\r\n /**\r\n * Optional. The size of the password field. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /**\r\n * Optional. The margin of the password field. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n};\r\n\r\nconst StyledPassSwitch = styled.div`\r\n z-index: ${Z_INDEXES.badge};\r\n right: 0;\r\n position: absolute;\r\n`;\r\n\r\nconst PasswordRow = styled.div`\r\n position: relative;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n`;\r\n\r\nconst PasswordField = React.forwardRef<HTMLInputElement, PasswordFieldProps>(({\r\n id,\r\n disabled,\r\n onChange,\r\n invalid,\r\n value,\r\n validationMessage,\r\n autoComplete,\r\n placeholder,\r\n required,\r\n readOnly,\r\n size,\r\n margin,\r\n className,\r\n dataTestId,\r\n name = 'password',\r\n ...rest\r\n }: PasswordFieldProps, ref) => {\r\n const [passwordHidden, setPasswordHidden] = React.useState<Boolean>(true);\r\n const inputRef = useFocusVisibleRef();\r\n const theme = useTheme();\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (e.keyCode === 13) {\r\n setPasswordHidden(!passwordHidden);\r\n }\r\n };\r\n\r\n const cls = `${invalid ? 'invalid' : ''} ${size || ''} ${className}`;\r\n\r\n return (\r\n <>\r\n <InputWrapper $disabled={disabled} $readOnly={readOnly} $margin={margin}>\r\n <PasswordRow>\r\n <InputFieldStyling\r\n id={id}\r\n data-testid={dataTestId}\r\n ref={inputRef}\r\n type={passwordHidden ? 'password' : 'text'}\r\n name={name}\r\n value={value}\r\n className={cls}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n autoComplete={autoComplete}\r\n $activeErrorMessage={!!validationMessage}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n required={required}\r\n readOnly={readOnly}\r\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\r\n {...rest}\r\n />\r\n <StyledPassSwitch className={size ? size : ''}>\r\n {!disabled && !readOnly ? (\r\n passwordHidden ? (\r\n <IconButton\r\n id={`${id}_Visible`}\r\n iconColor={'#666666'}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n onKeyPress={handleKeyDown}\r\n action={() => setPasswordHidden(!passwordHidden)}>\r\n <SystemIcons.VisibleOff />\r\n </IconButton>\r\n ) : (\r\n <IconButton\r\n id={`${id}_NotVisible`}\r\n iconColor={'#666666'}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n onKeyPress={handleKeyDown}\r\n action={() => setPasswordHidden(!passwordHidden)}>\r\n <SystemIcons.VisibleOn />\r\n </IconButton>\r\n )\r\n ) : null}\r\n </StyledPassSwitch>\r\n </PasswordRow>\r\n </InputWrapper>\r\n {validationMessage && (\r\n <ErrorMessage className={size || ''}>\r\n <SystemIcons.TechnicalWarning color={COLORS.generateToken({ componentType: 'text', defaultVariant: 'critical' }, theme)} />\r\n <span>{validationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default PasswordField;\r\n"],"mappings":"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","ignoreList":[]}
@@ -50,7 +50,7 @@ export type PasswordFieldProps = Testable & Omit<React.InputHTMLAttributes<HTMLI
50
50
  */
51
51
  margin?: string;
52
52
  };
53
- declare const PasswordField: React.ForwardRefExoticComponent<Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, "id" | "tabIndex" | "onChange" | "size" | "disabled" | "type" | "value" | "autoComplete" | "placeholder" | "readOnly" | "required"> & {
53
+ declare const PasswordField: React.ForwardRefExoticComponent<Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, "disabled" | "id" | "tabIndex" | "onChange" | "size" | "type" | "value" | "autoComplete" | "placeholder" | "readOnly" | "required"> & {
54
54
  /**
55
55
  * Required. The ID of the password field.
56
56
  */
@@ -99,7 +99,10 @@ const PasswordField = /*#__PURE__*/React.forwardRef((_ref, ref) => {
99
99
  }), validationMessage && /*#__PURE__*/_jsxs(ErrorMessage, {
100
100
  className: size || '',
101
101
  children: [/*#__PURE__*/_jsx(SystemIcons.TechnicalWarning, {
102
- color: COLORS.getColor('critical_400', theme)
102
+ color: COLORS.generateToken({
103
+ componentType: 'text',
104
+ defaultVariant: 'critical'
105
+ }, theme)
103
106
  }), /*#__PURE__*/_jsx("span", {
104
107
  children: validationMessage
105
108
  })]