@laerdal/life-react-components 2.3.1-dev.3.full → 2.3.1-dev.31
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.
- package/dist/Accordion/AccordionItem.cjs +2 -1
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +2 -1
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/styles.cjs +8 -4
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +8 -4
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.cjs +1 -1
- package/dist/AuthPage/AuthPage.cjs.map +1 -1
- package/dist/AuthPage/AuthPage.d.ts +1 -0
- package/dist/AuthPage/AuthPage.js +1 -1
- package/dist/AuthPage/AuthPage.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +34 -32
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.ts +1 -0
- package/dist/Breadcrumb/Breadcrumb.js +34 -32
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +1 -1
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/HorizontalCard/types.cjs.map +1 -1
- package/dist/Card/HorizontalCard/types.d.ts +1 -1
- package/dist/Card/HorizontalCard/types.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +17 -5
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.d.ts +1 -0
- package/dist/Dropdown/BasicDropdown.js +17 -5
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +6 -3
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.d.ts +3 -1
- package/dist/Dropdown/CommonStyling.js +6 -3
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -0
- package/dist/Dropdown/DropdownFilter.cjs +11 -1
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +11 -1
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.d.ts +1 -0
- package/dist/Footer/Components/FooterDropdownLinks.d.ts +1 -0
- package/dist/Footer/Components/FooterNavSection.d.ts +1 -0
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +1 -0
- package/dist/Footer/Components/FooterTop.d.ts +1 -0
- package/dist/Footer/Footer.d.ts +1 -0
- package/dist/Footer/SiteFooter.cjs +30 -19
- package/dist/Footer/SiteFooter.cjs.map +1 -1
- package/dist/Footer/SiteFooter.d.ts +3 -1
- package/dist/Footer/SiteFooter.js +31 -19
- package/dist/Footer/SiteFooter.js.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +3 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +3 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -0
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -0
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +7 -2
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +5 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +6 -5
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +207 -56
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +2 -2
- package/dist/GlobalNavigationBar/desktop/MainMenu.js +207 -56
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +259 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.d.ts +21 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.js +249 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -0
- package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -0
- package/dist/GlobalNavigationBar/types.cjs.map +1 -1
- package/dist/GlobalNavigationBar/types.d.ts +12 -2
- package/dist/GlobalNavigationBar/types.js.map +1 -1
- package/dist/GlobalNavigationBar/utils.cjs +17 -0
- package/dist/GlobalNavigationBar/utils.cjs.map +1 -0
- package/dist/GlobalNavigationBar/utils.d.ts +2 -0
- package/dist/GlobalNavigationBar/utils.js +10 -0
- package/dist/GlobalNavigationBar/utils.js.map +1 -0
- package/dist/InputFields/DatepickerField.cjs +19 -6
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +18 -1
- package/dist/InputFields/DatepickerField.js +19 -6
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.cjs +2 -4
- package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.d.ts +1 -0
- package/dist/InputFields/DatepickerFieldHeader.js +2 -4
- package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.d.ts +1 -1
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +14 -4
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.d.ts +15 -0
- package/dist/InputFields/NumberField.js +14 -4
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +15 -1
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.d.ts +1 -1
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.d.ts +16 -3
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.d.ts +2 -2
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +12 -3
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +20 -1
- package/dist/InputFields/TextField.js +12 -3
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/index.cjs.map +1 -1
- package/dist/InputFields/index.d.ts +10 -8
- package/dist/InputFields/index.js.map +1 -1
- package/dist/InputFields/styling.cjs +7 -3
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +1 -0
- package/dist/InputFields/styling.js +7 -3
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/InputFields/types.cjs.map +1 -1
- package/dist/InputFields/types.d.ts +0 -19
- package/dist/InputFields/types.js.map +1 -1
- package/dist/Layouts/index.cjs +4 -6
- package/dist/Layouts/index.cjs.map +1 -1
- package/dist/Layouts/index.d.ts +0 -1
- package/dist/Layouts/index.js +3 -4
- package/dist/Layouts/index.js.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -0
- package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
- package/dist/Modals/ModalContent.cjs +1 -1
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.js +1 -1
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +1 -1
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.js +1 -1
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +2 -1
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.d.ts +1 -0
- package/dist/NavItem/NavItem.js +1 -1
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NavItem/NestedNavItem.cjs +38 -0
- package/dist/NavItem/NestedNavItem.cjs.map +1 -0
- package/dist/NavItem/NestedNavItem.d.ts +13 -0
- package/dist/NavItem/NestedNavItem.js +28 -0
- package/dist/NavItem/NestedNavItem.js.map +1 -0
- package/dist/Paginator/Paginator.d.ts +1 -0
- package/dist/Panel/Panel.cjs +4 -4
- package/dist/Panel/Panel.cjs.map +1 -1
- package/dist/Panel/Panel.js +5 -5
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/SideMenu/SideMenuBody.d.ts +1 -0
- package/dist/SideMenu/SideMenuFooter.d.ts +1 -0
- package/dist/SideMenu/SideMenuHeader.d.ts +1 -0
- package/dist/SideMenu/types.d.ts +1 -0
- package/dist/Switcher/MobileCustomMenuContent.cjs +3 -0
- package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -1
- package/dist/Switcher/MobileCustomMenuContent.d.ts +1 -0
- package/dist/Switcher/MobileCustomMenuContent.js +3 -0
- package/dist/Switcher/MobileCustomMenuContent.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.d.ts +1 -0
- package/dist/Table/TableTypes.d.ts +1 -0
- package/dist/Tabs/TabLink.cjs +74 -48
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.d.ts +14 -10
- package/dist/Tabs/TabLink.js +74 -48
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs +2 -0
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.d.ts +1 -0
- package/dist/Tabs/VerticalTabs.js +2 -0
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Tile/TileCommonItems.cjs +3 -3
- package/dist/Tile/TileCommonItems.cjs.map +1 -1
- package/dist/Tile/TileCommonItems.d.ts +1 -0
- package/dist/Tile/TileCommonItems.js +3 -3
- package/dist/Tile/TileCommonItems.js.map +1 -1
- package/dist/Tile/TileHeader.cjs +3 -3
- package/dist/Tile/TileHeader.cjs.map +1 -1
- package/dist/Tile/TileHeader.js +3 -3
- package/dist/Tile/TileHeader.js.map +1 -1
- package/dist/Toggles/TogglerTypes.d.ts +1 -0
- package/dist/Tooltips/TooltipOverflow.cjs +117 -0
- package/dist/Tooltips/TooltipOverflow.cjs.map +1 -0
- package/dist/Tooltips/TooltipOverflow.d.ts +10 -0
- package/dist/Tooltips/TooltipOverflow.js +107 -0
- package/dist/Tooltips/TooltipOverflow.js.map +1 -0
- package/dist/Tooltips/TooltipStyles.cjs +5 -2
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.d.ts +1 -0
- package/dist/Tooltips/TooltipStyles.js +5 -2
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/Tooltips/TooltipTypes.d.ts +1 -0
- package/dist/Tooltips/TooltipWrapper.d.ts +1 -0
- package/dist/icons/contenticons/AedNoShockAdvised.cjs +41 -0
- package/dist/icons/contenticons/AedNoShockAdvised.cjs.map +1 -0
- package/dist/icons/contenticons/AedNoShockAdvised.d.ts +3 -0
- package/dist/icons/contenticons/AedNoShockAdvised.js +30 -0
- package/dist/icons/contenticons/AedNoShockAdvised.js.map +1 -0
- package/dist/icons/contenticons/AedShockAdvised.cjs +41 -0
- package/dist/icons/contenticons/AedShockAdvised.cjs.map +1 -0
- package/dist/icons/contenticons/AedShockAdvised.d.ts +3 -0
- package/dist/icons/contenticons/AedShockAdvised.js +30 -0
- package/dist/icons/contenticons/AedShockAdvised.js.map +1 -0
- package/dist/icons/contenticons/{NoShockAdvised.cjs → Data.cjs} +5 -5
- package/dist/icons/contenticons/Data.cjs.map +1 -0
- package/dist/icons/contenticons/Data.d.ts +3 -0
- package/dist/icons/contenticons/{NoShockAdvised.js → Data.js} +3 -3
- package/dist/icons/contenticons/Data.js.map +1 -0
- package/dist/icons/contenticons/DecisionFlow.cjs +41 -0
- package/dist/icons/contenticons/DecisionFlow.cjs.map +1 -0
- package/dist/icons/contenticons/DecisionFlow.d.ts +3 -0
- package/dist/icons/contenticons/DecisionFlow.js +30 -0
- package/dist/icons/contenticons/DecisionFlow.js.map +1 -0
- package/dist/icons/contenticons/Metronome.cjs +41 -0
- package/dist/icons/contenticons/Metronome.cjs.map +1 -0
- package/dist/icons/contenticons/Metronome.d.ts +3 -0
- package/dist/icons/contenticons/Metronome.js +30 -0
- package/dist/icons/contenticons/Metronome.js.map +1 -0
- package/dist/icons/contenticons/ShockAutomated.cjs +41 -0
- package/dist/icons/contenticons/ShockAutomated.cjs.map +1 -0
- package/dist/icons/contenticons/{NoShockAdvised.d.ts → ShockAutomated.d.ts} +1 -1
- package/dist/icons/contenticons/ShockAutomated.js +30 -0
- package/dist/icons/contenticons/ShockAutomated.js.map +1 -0
- package/dist/icons/contenticons/ShockNotAdvised.cjs +41 -0
- package/dist/icons/contenticons/ShockNotAdvised.cjs.map +1 -0
- package/dist/icons/contenticons/ShockNotAdvised.d.ts +3 -0
- package/dist/icons/contenticons/ShockNotAdvised.js +30 -0
- package/dist/icons/contenticons/ShockNotAdvised.js.map +1 -0
- package/dist/icons/contenticons/Visibility.cjs +41 -0
- package/dist/icons/contenticons/Visibility.cjs.map +1 -0
- package/dist/icons/contenticons/Visibility.d.ts +3 -0
- package/dist/icons/contenticons/Visibility.js +30 -0
- package/dist/icons/contenticons/Visibility.js.map +1 -0
- package/dist/icons/contenticons/index.cjs +81 -4
- package/dist/icons/contenticons/index.cjs.map +1 -1
- package/dist/icons/contenticons/index.d.ts +8 -1
- package/dist/icons/contenticons/index.js +8 -1
- package/dist/icons/contenticons/index.js.map +1 -1
- package/dist/icons/systemicons/Adult.cjs +41 -0
- package/dist/icons/systemicons/Adult.cjs.map +1 -0
- package/dist/icons/systemicons/Adult.d.ts +3 -0
- package/dist/icons/systemicons/Adult.js +30 -0
- package/dist/icons/systemicons/Adult.js.map +1 -0
- package/dist/icons/systemicons/AedPads.cjs +41 -0
- package/dist/icons/systemicons/AedPads.cjs.map +1 -0
- package/dist/icons/systemicons/AedPads.d.ts +3 -0
- package/dist/icons/systemicons/AedPads.js +30 -0
- package/dist/icons/systemicons/AedPads.js.map +1 -0
- package/dist/icons/systemicons/AedPadsCorrect.cjs +41 -0
- package/dist/icons/systemicons/AedPadsCorrect.cjs.map +1 -0
- package/dist/icons/systemicons/AedPadsCorrect.d.ts +3 -0
- package/dist/icons/systemicons/AedPadsCorrect.js +30 -0
- package/dist/icons/systemicons/AedPadsCorrect.js.map +1 -0
- package/dist/icons/systemicons/AedPadsError.cjs +41 -0
- package/dist/icons/systemicons/AedPadsError.cjs.map +1 -0
- package/dist/icons/systemicons/AedPadsError.d.ts +3 -0
- package/dist/icons/systemicons/AedPadsError.js +30 -0
- package/dist/icons/systemicons/AedPadsError.js.map +1 -0
- package/dist/icons/systemicons/Archive.cjs +41 -0
- package/dist/icons/systemicons/Archive.cjs.map +1 -0
- package/dist/icons/systemicons/Archive.d.ts +3 -0
- package/dist/icons/systemicons/Archive.js +30 -0
- package/dist/icons/systemicons/Archive.js.map +1 -0
- package/dist/icons/systemicons/ArrowCollapse.cjs +41 -0
- package/dist/icons/systemicons/ArrowCollapse.cjs.map +1 -0
- package/dist/icons/systemicons/ArrowCollapse.d.ts +3 -0
- package/dist/icons/systemicons/ArrowCollapse.js +30 -0
- package/dist/icons/systemicons/ArrowCollapse.js.map +1 -0
- package/dist/icons/systemicons/ArrowExpand.cjs +41 -0
- package/dist/icons/systemicons/ArrowExpand.cjs.map +1 -0
- package/dist/icons/systemicons/ArrowExpand.d.ts +3 -0
- package/dist/icons/systemicons/ArrowExpand.js +30 -0
- package/dist/icons/systemicons/ArrowExpand.js.map +1 -0
- package/dist/icons/systemicons/Child.cjs +41 -0
- package/dist/icons/systemicons/Child.cjs.map +1 -0
- package/dist/icons/systemicons/Child.d.ts +3 -0
- package/dist/icons/systemicons/Child.js +30 -0
- package/dist/icons/systemicons/Child.js.map +1 -0
- package/dist/icons/systemicons/Copy.cjs +41 -0
- package/dist/icons/systemicons/Copy.cjs.map +1 -0
- package/dist/icons/systemicons/Copy.d.ts +3 -0
- package/dist/icons/systemicons/Copy.js +30 -0
- package/dist/icons/systemicons/Copy.js.map +1 -0
- package/dist/icons/systemicons/DecisionFlow.cjs +41 -0
- package/dist/icons/systemicons/DecisionFlow.cjs.map +1 -0
- package/dist/icons/systemicons/DecisionFlow.d.ts +3 -0
- package/dist/icons/systemicons/DecisionFlow.js +30 -0
- package/dist/icons/systemicons/DecisionFlow.js.map +1 -0
- package/dist/icons/systemicons/HeartShock.cjs +41 -0
- package/dist/icons/systemicons/HeartShock.cjs.map +1 -0
- package/dist/icons/systemicons/HeartShock.d.ts +3 -0
- package/dist/icons/systemicons/HeartShock.js +30 -0
- package/dist/icons/systemicons/HeartShock.js.map +1 -0
- package/dist/icons/systemicons/Infant.cjs +41 -0
- package/dist/icons/systemicons/Infant.cjs.map +1 -0
- package/dist/icons/systemicons/Infant.d.ts +3 -0
- package/dist/icons/systemicons/Infant.js +30 -0
- package/dist/icons/systemicons/Infant.js.map +1 -0
- package/dist/icons/systemicons/Metronome.cjs +41 -0
- package/dist/icons/systemicons/Metronome.cjs.map +1 -0
- package/dist/icons/systemicons/Metronome.d.ts +3 -0
- package/dist/icons/systemicons/Metronome.js +30 -0
- package/dist/icons/systemicons/Metronome.js.map +1 -0
- package/dist/icons/systemicons/Shock.cjs +41 -0
- package/dist/icons/systemicons/Shock.cjs.map +1 -0
- package/dist/icons/systemicons/Shock.d.ts +3 -0
- package/dist/icons/systemicons/Shock.js +30 -0
- package/dist/icons/systemicons/Shock.js.map +1 -0
- package/dist/icons/systemicons/ShockAdvised.cjs +41 -0
- package/dist/icons/systemicons/ShockAdvised.cjs.map +1 -0
- package/dist/icons/systemicons/ShockAdvised.d.ts +3 -0
- package/dist/icons/systemicons/ShockAdvised.js +30 -0
- package/dist/icons/systemicons/ShockAdvised.js.map +1 -0
- package/dist/icons/systemicons/ShockAutomated.cjs +41 -0
- package/dist/icons/systemicons/ShockAutomated.cjs.map +1 -0
- package/dist/icons/systemicons/ShockAutomated.d.ts +3 -0
- package/dist/icons/systemicons/ShockAutomated.js +30 -0
- package/dist/icons/systemicons/ShockAutomated.js.map +1 -0
- package/dist/icons/systemicons/ShockNotAdvised.cjs +41 -0
- package/dist/icons/systemicons/ShockNotAdvised.cjs.map +1 -0
- package/dist/icons/systemicons/ShockNotAdvised.d.ts +3 -0
- package/dist/icons/systemicons/ShockNotAdvised.js +30 -0
- package/dist/icons/systemicons/ShockNotAdvised.js.map +1 -0
- package/dist/icons/systemicons/Translation.cjs +41 -0
- package/dist/icons/systemicons/Translation.cjs.map +1 -0
- package/dist/icons/systemicons/Translation.d.ts +3 -0
- package/dist/icons/systemicons/Translation.js +30 -0
- package/dist/icons/systemicons/Translation.js.map +1 -0
- package/dist/icons/systemicons/index.cjs +198 -0
- package/dist/icons/systemicons/index.cjs.map +1 -1
- package/dist/icons/systemicons/index.d.ts +18 -0
- package/dist/icons/systemicons/index.js +18 -0
- package/dist/icons/systemicons/index.js.map +1 -1
- package/package.json +10 -10
- package/dist/icons/contenticons/NoShockAdvised.cjs.map +0 -1
- package/dist/icons/contenticons/NoShockAdvised.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatepickerField.js","names":["React","styled","DatePicker","en","dayjs","advancedFormat","extend","COLORS","SystemIcons","DatepickerFieldHeader","ComponentTextStyle","focusStyles","scrollBarStyling","ErrorMessage","InputFieldStyling","InputWrapper","ComponentMStyling","ComponentSStyling","Z_INDEXES","useFocusVisibleRef","Size","DatePickerContainer","div","dropdown","props","margin","primary_20","neutral_20","neutral_200","yearPicker","Bold","neutral_600","Small","Regular","white","primary_700","primary_500","neutral_700","neutral_100","IconWrapper","focus","DatepickerRow","StyledInputFieldStyling","neutral_500","primary_300","primary_200","primary_100","primary_800","neutral_300","DatepickerField","forwardRef","ref","disabled","readOnly","onChange","invalid","value","validationMessage","dateFormat","autoComplete","placeholder","required","yearsBeforeCurrentDate","yearsAfterCurrentDate","onBlur","id","dataTestId","rest","inputRef","datepickerRef","useRef","useState","activeMonthPage","setActiveMonthPage","yearPickerMode","setYearPickerMode","openAt","setOpenAt","open","setOpen","useEffect","current","format","selectedDate","document","getElementsByClassName","dropdownParent","parentElement","scrollTop","offsetTop","offsetHeight","useImperativeHandle","handleCalendarClose","blur","handleCalendarOpen","maxDate","Date","setFullYear","getFullYear","minDate","itemsNumber","Math","round","handleKeyDown","e","key","handleBlur","currentTarget","contains","relatedTarget","newDate","setMonth","undefined","params","createElement","customHeaderCount","setSelectionRange","critical_400"],"sources":["../../src/InputFields/DatepickerField.tsx"],"sourcesContent":["/**\n * Import react libraries.\n */\nimport React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport DatePicker, { ReactDatePickerCustomHeaderProps } from 'react-datepicker';\nimport en from 'date-fns/locale/en-GB';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\n\ndayjs.extend(advancedFormat);\n\n/**\n * Import custom components.\n */\nimport COLORS from '../styles/colors';\nimport {SystemIcons} from '../icons';\nimport {DatepickerFieldHeader} from './DatepickerFieldHeader';\nimport {ComponentTextStyle, focusStyles, scrollBarStyling} from '../styles';\n\n/**\n * Import custom styles.\n */\nimport {ErrorMessage, InputFieldStyling, InputWrapper} from './styling';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport {ComponentMStyling, ComponentSStyling} from '../styles';\nimport {Z_INDEXES} from '../styles';\nimport {useFocusVisibleRef} from '../common';\nimport {Size, Testable} from '../types';\n\n/**\n * Add custom types.\n */\ntype DatepickerFieldProps = Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'size' | 'onBlur'> & {\n value?: Date;\n onChange?: (date: Date) => void;\n onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;\n\n invalid?: boolean;\n dateFormat?: string;\n validationMessage?: string;\n autoComplete?: string;\n placeholder?: string;\n yearPicker?: boolean;\n yearsBeforeCurrentDate?: number;\n yearsAfterCurrentDate?: number;\n margin?: string;\n};\n\n/**\n * Add custom styles.\n */\nconst DatePickerContainer = styled.div<{ yearPicker: boolean; margin: string }>`\n .react-datepicker-popper {\n z-index: ${Z_INDEXES.dropdown};\n }\n\n > div {\n display: block;\n\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n .react-datepicker {\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgb(0 0 0 / 15%);\n border: 1px solid #e5e5e5;\n }\n .react-datepicker__input-container{\n z-index: 0;\n }\n\n .react-datepicker__navigation {\n line-height: normal;\n text-indent: inherit;\n border: none;\n border-radius: 4px;\n height: 32px;\n width: 32px;\n outline: none;\n margin: 0px;\n color: transparent;\n\n &:hover {\n background: ${COLORS.primary_20};\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n }\n\n &:focus {\n ${focusStyles}\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n }\n\n &::before {\n text-align: center;\n display: inline-block;\n content: '';\n height: 32px;\n width: 32px;\n vertical-align: middle;\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n }\n\n .react-datepicker__month-container,\n .react-datepicker__year--container {\n width: 336px;\n }\n\n .react-datepicker__month {\n margin: 0px;\n }\n\n .react-datepicker__triangle {\n left: 50% !important;\n display: none;\n }\n\n .react-datepicker-popper[data-placement^='bottom'] {\n margin-top: 0;\n }\n\n .react-datepicker-popper[data-placement^='bottom'] .react-datepicker__triangle {\n border-bottom-color: ${COLORS.neutral_20};\n }\n\n .react-datepicker__header {\n border-bottom: 1px solid ${COLORS.neutral_200};\n background: ${COLORS.neutral_20};\n height: ${(props) => (!props.yearPicker ? '96px' : '54px')};\n padding-top: 0px;\n }\n\n .react-datepicker__current-month {\n height: 48px;\n display: inline-flex;\n align-items: center;\n margin-right: 5px;\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n\n .react-datepicker__year {\n max-height: 300px;\n overflow-y: scroll;\n\n ${scrollBarStyling(Size.Small)}\n }\n\n .react-datepicker__year-wrapper {\n max-width: 100%;\n justify-content: space-around;\n }\n\n .react-datepicker__day-name {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 48px;\n margin: 0px;\n width: 48px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n }\n\n .react-datepicker__year-text {\n background: ${COLORS.white};\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-top: 20px;\n padding-top: 10px;\n padding-bottom: 10px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n &.react-datepicker__year-text--disabled {\n display: none;\n }\n\n &.react-datepicker__day--keyboard-selected {\n color: ${COLORS.neutral_600};\n background: ${COLORS.white};\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.react-datepicker__year-text--selected {\n color: ${COLORS.white} !important;\n background: ${COLORS.primary_500} !important;\n }\n }\n\n .react-datepicker__day {\n background: ${COLORS.white};\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 40px;\n width: 40px;\n margin: 4px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n &.react-datepicker__day--keyboard-selected {\n color: ${COLORS.neutral_600};\n background: ${COLORS.white};\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.react-datepicker__day--selected {\n color: ${COLORS.white} !important;\n background: ${COLORS.primary_500} !important;\n }\n\n &.react-datepicker__day--today {\n border-radius: 0.3rem;\n color: ${COLORS.neutral_700};\n background: ${COLORS.neutral_100};\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n ${focusStyles}\n }\n }\n }\n }\n`;\n\nconst IconWrapper = styled.div`\n pointer-events: none;\n position: absolute;\n left: 16px;\n width: 24px;\n height: 24px;\n z-index: ${+Z_INDEXES.focus + 1};\n`;\n\nconst DatepickerRow = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst StyledInputFieldStyling = styled(InputFieldStyling)`\n padding-left: 48px !important;\n \n &::placeholder {\n color: ${COLORS.neutral_500};\n }\n\n &:focus:not(.focus-visible) {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_300};\n }\n\n &:hover {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_200};\n\n ::placeholder {\n color: ${COLORS.primary_700};\n }\n\n cursor: pointer;\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:active,\n &.open {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_300};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n \n &:disabled {\n background-color: ${COLORS.white};\n }\n\n & ~ ${IconWrapper}{\n color: ${COLORS.neutral_600};\n }\n\n &:hover ~ ${IconWrapper} {\n color: ${COLORS.primary_700};\n }\n\n &:active ~ ${IconWrapper}, &.open ~ ${IconWrapper} {\n color: ${COLORS.primary_800};\n }\n\n &[tabindex='-1'] ~ ${IconWrapper} {\n color: ${COLORS.neutral_300};\n }\n`;\n\nconst DatepickerField = React.forwardRef(({\n disabled,\n readOnly,\n onChange,\n invalid,\n value,\n validationMessage,\n dateFormat,\n autoComplete,\n placeholder,\n required,\n yearPicker,\n yearsBeforeCurrentDate,\n yearsAfterCurrentDate,\n margin,\n onBlur,\n id,\n dataTestId,\n ...rest\n }: DatepickerFieldProps, ref) => {\n // Globally used variables within the component\n const inputRef = useFocusVisibleRef();\n const datepickerRef = React.useRef<any>(null);\n const [activeMonthPage, setActiveMonthPage] = React.useState<number>(-1);\n const [yearPickerMode, setYearPickerMode] = React.useState<boolean>(false);\n const [openAt, setOpenAt] = React.useState<Date | null>(null);\n // 'open' flag is used only for tracking current state of the dropdown,\n // for explicitly opening/closing the picker we are using 'datepickerRef.current.setOpen'\n const [open, setOpen] = React.useState<boolean>(false);\n\n /**\n * Format the date in a specific way.\n */\n React.useEffect(() => {\n if (value) inputRef.current.value = dayjs(value).format(dateFormat ? dateFormat : 'MMMM Do, YYYY');\n }, [value]);\n\n React.useEffect(() => {\n if (yearPickerMode) {\n //unfortunately, since there are no refs, and year pickers is rendered not by our code, but by 'react-datepicker'\n //we have to touch DOM directly\n const selectedDate = document.getElementsByClassName('react-datepicker__year-text--selected')[0] as HTMLElement;\n const dropdownParent = selectedDate?.parentElement?.parentElement;\n if (selectedDate && dropdownParent) dropdownParent.scrollTop = selectedDate.offsetTop - 2 * selectedDate.offsetHeight;\n }\n }, [yearPickerMode]);\n\n //we have to manually reopen the calendar when needed, to guarantee that datepicker will show selected date after year selection\n //otherwise after year selection datepicker will show January month of the selected year\n React.useEffect(() => {\n if (openAt) {\n datepickerRef.current.setOpen(true);\n //setOpenAt(null);\n }\n }, [openAt]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const handleCalendarClose = () => {\n inputRef.current?.blur();\n setOpen(false);\n };\n\n const handleCalendarOpen = () => {\n if (openAt) setOpenAt(null);\n setOpen(true);\n };\n\n let maxDate = new Date(value && new Date(value) > new Date() ? new Date(value) : new Date());\n maxDate.setFullYear(maxDate.getFullYear() + (yearsAfterCurrentDate ?? 50));\n\n //itemsNumber - controls number of year select options generated in the dropdown\n //items related to dates higher than 'maxDate' will be hidden, thus to avoid creating hundreds of invisible divs, we divide by 5\n let minDate = new Date(value && new Date(value) < new Date() ? new Date(value) : new Date());\n const itemsNumber = Math.round((minDate.getFullYear() - (yearsBeforeCurrentDate ?? 15)) / 5);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Escape' || e.key === 'Esc')\n datepickerRef.current.setOpen(false);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n\n return (\n <>\n {/* Let's render the input itself */}\n <DatePickerContainer data-testId={dataTestId} yearPicker={yearPickerMode} margin={margin || ''} onBlur={handleBlur}>\n <DatePicker\n ref={datepickerRef}\n onCalendarOpen={handleCalendarOpen}\n onCalendarClose={handleCalendarClose}\n onKeyDown={handleKeyDown}\n id={id}\n onClickOutside={() => datepickerRef.current.setOpen(false)}\n\n onChange={(e: any) => {\n if (onChange) {\n if (yearPickerMode) {\n const newDate = new Date();\n newDate.setFullYear(e.getFullYear());\n newDate.setMonth(activeMonthPage);\n setOpenAt(newDate);\n } else onChange(e);\n }\n if (yearPickerMode) setYearPickerMode(false);\n }}\n disabled={disabled || readOnly}\n locale={en}\n showYearPicker={yearPickerMode}\n //we manipulate 'yearItemNumber' and 'maxDate' to guarantee number of year select options shown before and after selected year\n yearItemNumber={yearPickerMode ? itemsNumber : undefined}\n maxDate={yearPickerMode ? maxDate : undefined}\n selected={value}\n openToDate={openAt ?? undefined}\n preventOpenOnFocus={true}\n shouldCloseOnSelect={true}\n renderCustomHeader={\n yearPicker\n ? (params: ReactDatePickerCustomHeaderProps) =>\n React.createElement(\n DatepickerFieldHeader,\n {\n ...params,\n setActiveMonthPage,\n customHeaderCount: 0,\n yearPickerMode: yearPickerMode,\n setYearPickerMode: setYearPickerMode,\n },\n null,\n )\n : undefined\n }\n customInput={\n <InputWrapper disabled={disabled} readOnly={readOnly}>\n <DatepickerRow>\n <StyledInputFieldStyling\n ref={inputRef}\n type=\"text\"\n name=\"datepicker\"\n onKeyDown={(e) => e.key === 'Enter' && datepickerRef.current.setOpen(true)}\n className={(invalid ? 'invalid' : '' + (open ? ' open' : ''))}\n tabIndex={disabled || readOnly ? -1 : 0}\n onFocus={(e) => inputRef.current?.setSelectionRange(0, 0)}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={true}\n suppressReadOnlyStyles={!readOnly}\n required={required}\n {...rest}\n />\n <IconWrapper>\n <SystemIcons.Calendar size=\"24\"/>\n </IconWrapper>\n </DatepickerRow>\n </InputWrapper>\n }\n />\n </DatePickerContainer>\n\n {/* If there is an error, let's render the error */}\n {validationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n});\n\nexport default DatepickerField;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatepickerField.js","names":["React","styled","DatePicker","en","dayjs","advancedFormat","extend","COLORS","SystemIcons","DatepickerFieldHeader","ComponentTextStyle","focusStyles","scrollBarStyling","TooltipOverflow","ErrorMessage","InputFieldStyling","InputWrapper","ComponentMStyling","ComponentSStyling","Z_INDEXES","useFocusVisibleRef","Size","DatePickerContainer","div","dropdown","props","margin","primary_20","neutral_20","neutral_200","yearPicker","Bold","neutral_600","Small","Regular","white","primary_700","primary_500","neutral_700","neutral_100","IconWrapper","focus","DatepickerRow","StyledInputFieldStyling","neutral_500","primary_300","primary_200","primary_100","primary_800","neutral_300","DatepickerField","forwardRef","ref","disabled","readOnly","onChange","invalid","value","validationMessage","dateFormat","autoComplete","placeholder","required","yearsBeforeCurrentDate","yearsAfterCurrentDate","onBlur","id","dataTestId","rest","inputRef","datepickerRef","useRef","useState","activeMonthPage","setActiveMonthPage","yearPickerMode","setYearPickerMode","openAt","setOpenAt","open","setOpen","getFormattedValue","format","useEffect","current","selectedDate","document","getElementsByClassName","dropdownParent","parentElement","scrollTop","offsetTop","offsetHeight","useImperativeHandle","handleCalendarClose","blur","handleCalendarOpen","maxDate","Date","setFullYear","getFullYear","minDate","itemsNumber","Math","round","handleKeyDown","e","key","handleBlur","currentTarget","contains","relatedTarget","iconSize","newDate","setMonth","undefined","params","createElement","customHeaderCount","setSelectionRange","critical_400"],"sources":["../../src/InputFields/DatepickerField.tsx"],"sourcesContent":["/**\n * Import react libraries.\n */\nimport React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport DatePicker, { ReactDatePickerCustomHeaderProps } from 'react-datepicker';\nimport en from 'date-fns/locale/en-GB';\nimport dayjs from 'dayjs';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\n\ndayjs.extend(advancedFormat);\n\n/**\n * Import custom components.\n */\nimport COLORS from '../styles/colors';\nimport {SystemIcons} from '../icons';\nimport {DatepickerFieldHeader} from './DatepickerFieldHeader';\nimport {ComponentTextStyle, focusStyles, scrollBarStyling} from '../styles';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\n\n/**\n * Import custom styles.\n */\nimport {ErrorMessage, InputFieldStyling, InputWrapper} from './styling';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport {ComponentMStyling, ComponentSStyling} from '../styles';\nimport {Z_INDEXES} from '../styles';\nimport {useFocusVisibleRef} from '../common';\nimport {Size, Testable} from '../types';\n\n/**\n * Add custom types.\n */\nexport type DatepickerFieldProps = Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'size' | 'onBlur'> & {\n value?: Date;\n onChange?: (date: Date) => void;\n onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;\n\n invalid?: boolean;\n dateFormat?: string;\n validationMessage?: string;\n autoComplete?: string;\n placeholder?: string;\n yearPicker?: boolean;\n yearsBeforeCurrentDate?: number;\n yearsAfterCurrentDate?: number;\n margin?: string;\n};\n\n/**\n * Add custom styles.\n */\nconst DatePickerContainer = styled.div<{ yearPicker: boolean; margin: string }>`\n .react-datepicker-popper {\n z-index: ${Z_INDEXES.dropdown};\n }\n\n .react-datepicker-popper[data-placement^=bottom] {\n padding-top: 0px;\n }\n\n \n .react-datepicker-popper[data-placement^=top] {\n padding-bottom: 0px;\n }\n\n > div {\n display: block;\n\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n .react-datepicker {\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgb(0 0 0 / 15%);\n border: 1px solid #e5e5e5;\n }\n .react-datepicker__input-container{\n z-index: 0;\n }\n\n .react-datepicker__navigation {\n line-height: normal;\n text-indent: inherit;\n border: none;\n border-radius: 4px;\n height: 48px;\n width: 48px;\n outline: none;\n margin: 0px;\n color: transparent;\n\n &:hover {\n background: ${COLORS.primary_20};\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n }\n\n &:focus {\n ${focusStyles}\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n }\n\n &::before {\n text-align: center;\n display: inline-block;\n content: '';\n height: 32px;\n width: 32px;\n vertical-align: middle;\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n }\n\n .react-datepicker__month-container,\n .react-datepicker__year--container {\n width: 336px;\n }\n\n .react-datepicker__month {\n margin: 0px;\n }\n\n .react-datepicker__triangle {\n left: 50% !important;\n display: none;\n }\n\n .react-datepicker-popper[data-placement^='bottom'] {\n margin-top: 0;\n }\n\n .react-datepicker-popper[data-placement^='bottom'] .react-datepicker__triangle {\n border-bottom-color: ${COLORS.neutral_20};\n }\n\n .react-datepicker__header {\n border-bottom: 1px solid ${COLORS.neutral_200};\n background: ${COLORS.neutral_20};\n height: ${(props) => (!props.yearPicker ? '96px' : '54px')};\n padding-top: 0px;\n }\n\n .react-datepicker__current-month {\n height: 48px;\n display: inline-flex;\n align-items: center;\n margin-right: 5px;\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n\n .react-datepicker__year {\n max-height: 300px;\n overflow-y: scroll;\n\n ${scrollBarStyling(Size.Small)}\n }\n\n .react-datepicker__year-wrapper {\n max-width: 100%;\n justify-content: space-around;\n }\n\n .react-datepicker__navigation-icon {\n display: none;\n }\n\n .react-datepicker__day-name {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 48px;\n margin: 0px;\n width: 48px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n }\n\n .react-datepicker__year-text {\n background: ${COLORS.white};\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-top: 20px;\n padding-top: 10px;\n padding-bottom: 10px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n &.react-datepicker__year-text--disabled {\n display: none;\n }\n\n &.react-datepicker__day--keyboard-selected {\n color: ${COLORS.neutral_600};\n background: ${COLORS.white};\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.react-datepicker__year-text--selected {\n color: ${COLORS.white} !important;\n background: ${COLORS.primary_500} !important;\n }\n }\n\n .react-datepicker__day {\n background: ${COLORS.white};\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 40px;\n width: 40px;\n margin: 4px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n &.react-datepicker__day--keyboard-selected {\n color: ${COLORS.neutral_600};\n background: ${COLORS.white};\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.react-datepicker__day--selected {\n color: ${COLORS.white} !important;\n background: ${COLORS.primary_500} !important;\n }\n\n &.react-datepicker__day--today {\n border-radius: 0.3rem;\n color: ${COLORS.neutral_700};\n background: ${COLORS.neutral_100};\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n ${focusStyles}\n }\n }\n }\n }\n`;\n\nconst IconWrapper = styled.div`\n pointer-events: none;\n position: absolute;\n left: 16px;\n width: 24px;\n height: 24px;\n z-index: ${+Z_INDEXES.focus + 1};\n`;\n\nconst DatepickerRow = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst StyledInputFieldStyling = styled(InputFieldStyling)`\n padding-left: 48px !important;\n \n &::placeholder {\n color: ${COLORS.neutral_500};\n }\n\n &:focus:not(.focus-visible) {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_300};\n }\n\n &:hover {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_200};\n\n ::placeholder {\n color: ${COLORS.primary_700};\n }\n\n cursor: pointer;\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:active,\n &.open {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_300};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n \n &:disabled {\n background-color: ${COLORS.white};\n }\n\n & ~ ${IconWrapper}{\n color: ${COLORS.neutral_600};\n }\n\n &:hover ~ ${IconWrapper} {\n color: ${COLORS.primary_700};\n }\n\n &:active ~ ${IconWrapper}, &.open ~ ${IconWrapper} {\n color: ${COLORS.primary_800};\n }\n\n &[tabindex='-1'] ~ ${IconWrapper} {\n color: ${COLORS.neutral_300};\n }\n`;\n\nconst DatepickerField = React.forwardRef<HTMLInputElement, DatepickerFieldProps>(({\n disabled,\n readOnly,\n onChange,\n invalid,\n value,\n validationMessage,\n dateFormat,\n autoComplete,\n placeholder,\n required,\n yearPicker,\n yearsBeforeCurrentDate,\n yearsAfterCurrentDate,\n margin,\n onBlur,\n id,\n dataTestId,\n ...rest\n }: DatepickerFieldProps, ref) => {\n // Globally used variables within the component\n const inputRef = useFocusVisibleRef();\n const datepickerRef = React.useRef<any>(null);\n const [activeMonthPage, setActiveMonthPage] = React.useState<number>(-1);\n const [yearPickerMode, setYearPickerMode] = React.useState<boolean>(false);\n const [openAt, setOpenAt] = React.useState<Date | null>(null);\n // 'open' flag is used only for tracking current state of the dropdown,\n // for explicitly opening/closing the picker we are using 'datepickerRef.current.setOpen'\n const [open, setOpen] = React.useState<boolean>(false);\n\n const getFormattedValue = () => {\n return dayjs(value).format(dateFormat ? dateFormat : 'MMMM Do, YYYY');\n }\n /**\n * Format the date in a specific way.\n */\n React.useEffect(() => {\n if (value) inputRef.current.value = getFormattedValue();\n }, [value]);\n\n React.useEffect(() => {\n if (yearPickerMode) {\n //unfortunately, since there are no refs, and year pickers is rendered not by our code, but by 'react-datepicker'\n //we have to touch DOM directly\n const selectedDate = document.getElementsByClassName('react-datepicker__year-text--selected')[0] as HTMLElement;\n const dropdownParent = selectedDate?.parentElement?.parentElement;\n if (selectedDate && dropdownParent) dropdownParent.scrollTop = selectedDate.offsetTop - 2 * selectedDate.offsetHeight;\n }\n }, [yearPickerMode]);\n\n //we have to manually reopen the calendar when needed, to guarantee that datepicker will show selected date after year selection\n //otherwise after year selection datepicker will show January month of the selected year\n React.useEffect(() => {\n if (openAt) {\n datepickerRef.current.setOpen(true);\n //setOpenAt(null);\n }\n }, [openAt]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const handleCalendarClose = () => {\n inputRef.current?.blur();\n setOpen(false);\n };\n\n const handleCalendarOpen = () => {\n if (openAt) setOpenAt(null);\n setOpen(true);\n };\n\n let maxDate = new Date(value && new Date(value) > new Date() ? new Date(value) : new Date());\n maxDate.setFullYear(maxDate.getFullYear() + (yearsAfterCurrentDate ?? 50));\n\n //itemsNumber - controls number of year select options generated in the dropdown\n //items related to dates higher than 'maxDate' will be hidden, thus to avoid creating hundreds of invisible divs, we divide by 5\n let minDate = new Date(value && new Date(value) < new Date() ? new Date(value) : new Date());\n const itemsNumber = Math.round((minDate.getFullYear() - (yearsBeforeCurrentDate ?? 15)) / 5);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Escape' || e.key === 'Esc')\n datepickerRef.current.setOpen(false);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n const iconSize = 24;\n\n return (\n <>\n {/* Let's render the input itself */}\n <DatePickerContainer data-testId={dataTestId} yearPicker={yearPickerMode} margin={margin || ''} onBlur={handleBlur}>\n <DatePicker\n ref={datepickerRef}\n onCalendarOpen={handleCalendarOpen}\n onCalendarClose={handleCalendarClose}\n onKeyDown={handleKeyDown}\n id={id}\n onClickOutside={() => datepickerRef.current.setOpen(false)}\n\n onChange={(e: any) => {\n if (onChange) {\n if (yearPickerMode) {\n const newDate = new Date();\n newDate.setFullYear(e.getFullYear());\n newDate.setMonth(activeMonthPage);\n setOpenAt(newDate);\n } else onChange(e);\n }\n if (yearPickerMode) setYearPickerMode(false);\n }}\n disabled={disabled || readOnly}\n locale={en}\n showYearPicker={yearPickerMode}\n //we manipulate 'yearItemNumber' and 'maxDate' to guarantee number of year select options shown before and after selected year\n yearItemNumber={yearPickerMode ? itemsNumber : undefined}\n maxDate={yearPickerMode ? maxDate : undefined}\n selected={value}\n openToDate={openAt ?? undefined}\n preventOpenOnFocus={true}\n shouldCloseOnSelect={true}\n renderCustomHeader={\n yearPicker\n ? (params: ReactDatePickerCustomHeaderProps) =>\n React.createElement(\n DatepickerFieldHeader,\n {\n ...params,\n setActiveMonthPage,\n customHeaderCount: 0,\n yearPickerMode: yearPickerMode,\n setYearPickerMode: setYearPickerMode,\n },\n null,\n )\n : undefined\n }\n customInput={\n <InputWrapper disabled={disabled} readOnly={readOnly}>\n <DatepickerRow>\n <StyledInputFieldStyling\n ref={inputRef}\n type=\"text\"\n name=\"datepicker\"\n onKeyDown={(e) => e.key === 'Enter' && datepickerRef.current.setOpen(true)}\n className={(invalid ? 'invalid' : '' + (open ? ' open' : ''))}\n tabIndex={disabled || readOnly ? -1 : 0}\n onFocus={(e) => inputRef.current?.setSelectionRange(0, 0)}\n autoComplete={autoComplete}\n placeholder={placeholder}\n extraRightPadding={iconSize}\n disabled={disabled}\n readOnly={true}\n suppressReadOnlyStyles={!readOnly}\n required={required}\n {...rest}\n />\n <IconWrapper>\n <SystemIcons.Calendar size=\"24\"/>\n </IconWrapper>\n </DatepickerRow>\n {!open && <TooltipOverflow input={inputRef} withArrow={true} maxWidth=\"100%\" size={Size.Small} align='end' position='bottom'>\n {getFormattedValue()}\n </TooltipOverflow>}\n </InputWrapper>\n }\n />\n </DatePickerContainer>\n\n {/* If there is an error, let's render the error */}\n {validationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400}/>\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n});\n\nexport default DatepickerField;\n"],"mappings":"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"}
|
|
@@ -52,8 +52,7 @@ var DatepickerFieldHeader = function DatepickerFieldHeader(_ref) {
|
|
|
52
52
|
children: [!yearPickerMode && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
53
53
|
className: "react-datepicker__navigation react-datepicker__navigation--previous",
|
|
54
54
|
onClick: handleDecreaseMonth,
|
|
55
|
-
disabled: prevMonthButtonDisabled
|
|
56
|
-
children: "Prevoius month"
|
|
55
|
+
disabled: prevMonthButtonDisabled
|
|
57
56
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderLabelContainer, {
|
|
58
57
|
onClick: function onClick() {
|
|
59
58
|
return setYearPickerMode(!yearPickerMode);
|
|
@@ -69,8 +68,7 @@ var DatepickerFieldHeader = function DatepickerFieldHeader(_ref) {
|
|
|
69
68
|
}), !yearPickerMode && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
70
69
|
className: "react-datepicker__navigation react-datepicker__navigation--next",
|
|
71
70
|
onClick: handleIncreaseMonth,
|
|
72
|
-
disabled: nextMonthButtonDisabled
|
|
73
|
-
children: "Next month"
|
|
71
|
+
disabled: nextMonthButtonDisabled
|
|
74
72
|
})]
|
|
75
73
|
})
|
|
76
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatepickerFieldHeader.cjs","names":["HeaderLabelContainer","styled","div","COLORS","neutral_600","CommonInteractionStyling","primary_600","DatepickerFieldHeader","date","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","setYearPickerMode","yearPickerMode","setActiveMonthPage","months","handleDecreaseMonth","previousMonth","getMonth","length","handleIncreaseMonth","nextMonth","React","useEffect","display","justifyContent","getFullYear","customHeaderCount","prevYearButtonDisabled","nextYearButtonDisabled"],"sources":["../../src/InputFields/DatepickerFieldHeader.tsx"],"sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\nimport { SystemIcons } from '../icons';\nimport styled from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { COLORS } from '../styles';\n\nexport interface DatepickerFieldHeaderParams {\n date: Date;\n changeYear(year: number): void;\n changeMonth(month: number): void;\n customHeaderCount: number;\n decreaseMonth(): void;\n increaseMonth(): void;\n prevMonthButtonDisabled: boolean;\n nextMonthButtonDisabled: boolean;\n decreaseYear(): void;\n increaseYear(): void;\n prevYearButtonDisabled: boolean;\n nextYearButtonDisabled: boolean;\n yearPickerMode: boolean;\n setYearPickerMode(val: boolean): void;\n setActiveMonthPage(val: number): void;\n}\n\nconst HeaderLabelContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 10px;\n cursor: pointer;\n\n button {\n background: transparent;\n padding: 0px;\n width: auto;\n }\n\n svg {\n color: ${COLORS.neutral_600};\n }\n\n ${CommonInteractionStyling}\n\n &:hover {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n\n &:active {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n`;\n\nexport const DatepickerFieldHeader = ({\n date,\n decreaseMonth,\n increaseMonth,\n prevMonthButtonDisabled,\n nextMonthButtonDisabled,\n setYearPickerMode,\n yearPickerMode,\n setActiveMonthPage,\n}: DatepickerFieldHeaderParams) => {\n const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n const handleDecreaseMonth = () => {\n let previousMonth = date.getMonth() - 1;\n if (previousMonth < 0) previousMonth = months.length - 1;\n setActiveMonthPage(previousMonth);\n decreaseMonth();\n };\n\n const handleIncreaseMonth = () => {\n let nextMonth = date.getMonth() + 1;\n if (nextMonth >= months.length - 1) nextMonth = 0;\n setActiveMonthPage(nextMonth);\n increaseMonth();\n };\n\n React.useEffect(() => {\n setActiveMonthPage(date.getMonth());\n }, [date]);\n\n return (\n <>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n }}>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--previous\" onClick={handleDecreaseMonth} disabled={prevMonthButtonDisabled}>\n
|
|
1
|
+
{"version":3,"file":"DatepickerFieldHeader.cjs","names":["HeaderLabelContainer","styled","div","COLORS","neutral_600","CommonInteractionStyling","primary_600","DatepickerFieldHeader","date","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","setYearPickerMode","yearPickerMode","setActiveMonthPage","months","handleDecreaseMonth","previousMonth","getMonth","length","handleIncreaseMonth","nextMonth","React","useEffect","display","justifyContent","getFullYear","customHeaderCount","prevYearButtonDisabled","nextYearButtonDisabled"],"sources":["../../src/InputFields/DatepickerFieldHeader.tsx"],"sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\nimport { SystemIcons } from '../icons';\nimport styled from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { COLORS } from '../styles';\n\nexport interface DatepickerFieldHeaderParams {\n date: Date;\n changeYear(year: number): void;\n changeMonth(month: number): void;\n customHeaderCount: number;\n decreaseMonth(): void;\n increaseMonth(): void;\n prevMonthButtonDisabled: boolean;\n nextMonthButtonDisabled: boolean;\n decreaseYear(): void;\n increaseYear(): void;\n prevYearButtonDisabled: boolean;\n nextYearButtonDisabled: boolean;\n yearPickerMode: boolean;\n setYearPickerMode(val: boolean): void;\n setActiveMonthPage(val: number): void;\n}\n\nconst HeaderLabelContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 10px;\n cursor: pointer;\n\n button {\n background: transparent;\n padding: 0px;\n width: auto;\n }\n\n svg {\n color: ${COLORS.neutral_600};\n }\n\n ${CommonInteractionStyling}\n\n &:hover {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n\n &:active {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n`;\n\nexport const DatepickerFieldHeader = ({\n date,\n decreaseMonth,\n increaseMonth,\n prevMonthButtonDisabled,\n nextMonthButtonDisabled,\n setYearPickerMode,\n yearPickerMode,\n setActiveMonthPage,\n}: DatepickerFieldHeaderParams) => {\n const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n const handleDecreaseMonth = () => {\n let previousMonth = date.getMonth() - 1;\n if (previousMonth < 0) previousMonth = months.length - 1;\n setActiveMonthPage(previousMonth);\n decreaseMonth();\n };\n\n const handleIncreaseMonth = () => {\n let nextMonth = date.getMonth() + 1;\n if (nextMonth >= months.length - 1) nextMonth = 0;\n setActiveMonthPage(nextMonth);\n increaseMonth();\n };\n\n React.useEffect(() => {\n setActiveMonthPage(date.getMonth());\n }, [date]);\n\n return (\n <>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n }}>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--previous\" onClick={handleDecreaseMonth} disabled={prevMonthButtonDisabled}>\n </button>\n )}\n <HeaderLabelContainer onClick={() => setYearPickerMode(!yearPickerMode)}>\n <div className=\"react-datepicker__current-month\">{`${months[date.getMonth()]} ${date.getFullYear()}`}</div>\n {yearPickerMode ? <SystemIcons.ArrowDropUp size=\"24px\" /> : <SystemIcons.ArrowDropDown size=\"24px\" />}\n </HeaderLabelContainer>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--next\" onClick={handleIncreaseMonth} disabled={nextMonthButtonDisabled}>\n </button>\n )}\n </div>\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AAAmC;AAAA;AAAA;AAAA;AAoBnC,IAAMA,oBAAoB,GAAGC,yBAAM,CAACC,GAAG,giBAc1BC,cAAM,CAACC,WAAW,EAG3BC,gCAAwB,EAIbF,cAAM,CAACG,WAAW,EAGlBH,cAAM,CAACG,WAAW,EAMlBH,cAAM,CAACG,WAAW,EAGlBH,cAAM,CAACG,WAAW,CAGhC;AAEM,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqB,OASC;EAAA,IARjCC,IAAI,QAAJA,IAAI;IACJC,aAAa,QAAbA,aAAa;IACbC,aAAa,QAAbA,aAAa;IACbC,uBAAuB,QAAvBA,uBAAuB;IACvBC,uBAAuB,QAAvBA,uBAAuB;IACvBC,iBAAiB,QAAjBA,iBAAiB;IACjBC,cAAc,QAAdA,cAAc;IACdC,kBAAkB,QAAlBA,kBAAkB;EAElB,IAAMC,MAAM,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;EACzI,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAS;IAChC,IAAIC,aAAa,GAAGV,IAAI,CAACW,QAAQ,EAAE,GAAG,CAAC;IACvC,IAAID,aAAa,GAAG,CAAC,EAAEA,aAAa,GAAGF,MAAM,CAACI,MAAM,GAAG,CAAC;IACxDL,kBAAkB,CAACG,aAAa,CAAC;IACjCT,aAAa,EAAE;EACjB,CAAC;EAED,IAAMY,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAS;IAChC,IAAIC,SAAS,GAAGd,IAAI,CAACW,QAAQ,EAAE,GAAG,CAAC;IACnC,IAAIG,SAAS,IAAIN,MAAM,CAACI,MAAM,GAAG,CAAC,EAAEE,SAAS,GAAG,CAAC;IACjDP,kBAAkB,CAACO,SAAS,CAAC;IAC7BZ,aAAa,EAAE;EACjB,CAAC;EAEDa,KAAK,CAACC,SAAS,CAAC,YAAM;IACpBT,kBAAkB,CAACP,IAAI,CAACW,QAAQ,EAAE,CAAC;EACrC,CAAC,EAAE,CAACX,IAAI,CAAC,CAAC;EAEV,oBACE;IAAA,uBACE;MACE,KAAK,EAAE;QACLiB,OAAO,EAAE,MAAM;QACfC,cAAc,EAAE;MAClB,CAAE;MAAA,WACD,CAACZ,cAAc,iBACd;QAAQ,SAAS,EAAC,qEAAqE;QAAC,OAAO,EAAEG,mBAAoB;QAAC,QAAQ,EAAEN;MAAwB,EAEzJ,eACD,sBAAC,oBAAoB;QAAC,OAAO,EAAE;UAAA,OAAME,iBAAiB,CAAC,CAACC,cAAc,CAAC;QAAA,CAAC;QAAA,wBACtE;UAAK,SAAS,EAAC,iCAAiC;UAAA,oBAAKE,MAAM,CAACR,IAAI,CAACW,QAAQ,EAAE,CAAC,cAAIX,IAAI,CAACmB,WAAW,EAAE;QAAA,EAAS,EAC1Gb,cAAc,gBAAG,qBAAC,kBAAW,CAAC,WAAW;UAAC,IAAI,EAAC;QAAM,EAAG,gBAAG,qBAAC,kBAAW,CAAC,aAAa;UAAC,IAAI,EAAC;QAAM,EAAG;MAAA,EAChF,EACtB,CAACA,cAAc,iBACd;QAAQ,SAAS,EAAC,iEAAiE;QAAC,OAAO,EAAEO,mBAAoB;QAAC,QAAQ,EAAET;MAAwB,EAErJ;IAAA;EACG,EACL;AAEP,CAAC;AAAC;AAAA;EA1GAJ,IAAI;EAGJoB,iBAAiB;EAGjBjB,uBAAuB;EACvBC,uBAAuB;EAGvBiB,sBAAsB;EACtBC,sBAAsB;EACtBhB,cAAc;AAAA"}
|
|
@@ -47,8 +47,7 @@ export var DatepickerFieldHeader = function DatepickerFieldHeader(_ref) {
|
|
|
47
47
|
children: [!yearPickerMode && /*#__PURE__*/_jsx("button", {
|
|
48
48
|
className: "react-datepicker__navigation react-datepicker__navigation--previous",
|
|
49
49
|
onClick: handleDecreaseMonth,
|
|
50
|
-
disabled: prevMonthButtonDisabled
|
|
51
|
-
children: "Prevoius month"
|
|
50
|
+
disabled: prevMonthButtonDisabled
|
|
52
51
|
}), /*#__PURE__*/_jsxs(HeaderLabelContainer, {
|
|
53
52
|
onClick: function onClick() {
|
|
54
53
|
return setYearPickerMode(!yearPickerMode);
|
|
@@ -64,8 +63,7 @@ export var DatepickerFieldHeader = function DatepickerFieldHeader(_ref) {
|
|
|
64
63
|
}), !yearPickerMode && /*#__PURE__*/_jsx("button", {
|
|
65
64
|
className: "react-datepicker__navigation react-datepicker__navigation--next",
|
|
66
65
|
onClick: handleIncreaseMonth,
|
|
67
|
-
disabled: nextMonthButtonDisabled
|
|
68
|
-
children: "Next month"
|
|
66
|
+
disabled: nextMonthButtonDisabled
|
|
69
67
|
})]
|
|
70
68
|
})
|
|
71
69
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatepickerFieldHeader.js","names":["React","SystemIcons","styled","CommonInteractionStyling","COLORS","HeaderLabelContainer","div","neutral_600","primary_600","DatepickerFieldHeader","date","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","setYearPickerMode","yearPickerMode","setActiveMonthPage","months","handleDecreaseMonth","previousMonth","getMonth","length","handleIncreaseMonth","nextMonth","useEffect","display","justifyContent","getFullYear","customHeaderCount","prevYearButtonDisabled","nextYearButtonDisabled"],"sources":["../../src/InputFields/DatepickerFieldHeader.tsx"],"sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\nimport { SystemIcons } from '../icons';\nimport styled from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { COLORS } from '../styles';\n\nexport interface DatepickerFieldHeaderParams {\n date: Date;\n changeYear(year: number): void;\n changeMonth(month: number): void;\n customHeaderCount: number;\n decreaseMonth(): void;\n increaseMonth(): void;\n prevMonthButtonDisabled: boolean;\n nextMonthButtonDisabled: boolean;\n decreaseYear(): void;\n increaseYear(): void;\n prevYearButtonDisabled: boolean;\n nextYearButtonDisabled: boolean;\n yearPickerMode: boolean;\n setYearPickerMode(val: boolean): void;\n setActiveMonthPage(val: number): void;\n}\n\nconst HeaderLabelContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 10px;\n cursor: pointer;\n\n button {\n background: transparent;\n padding: 0px;\n width: auto;\n }\n\n svg {\n color: ${COLORS.neutral_600};\n }\n\n ${CommonInteractionStyling}\n\n &:hover {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n\n &:active {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n`;\n\nexport const DatepickerFieldHeader = ({\n date,\n decreaseMonth,\n increaseMonth,\n prevMonthButtonDisabled,\n nextMonthButtonDisabled,\n setYearPickerMode,\n yearPickerMode,\n setActiveMonthPage,\n}: DatepickerFieldHeaderParams) => {\n const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n const handleDecreaseMonth = () => {\n let previousMonth = date.getMonth() - 1;\n if (previousMonth < 0) previousMonth = months.length - 1;\n setActiveMonthPage(previousMonth);\n decreaseMonth();\n };\n\n const handleIncreaseMonth = () => {\n let nextMonth = date.getMonth() + 1;\n if (nextMonth >= months.length - 1) nextMonth = 0;\n setActiveMonthPage(nextMonth);\n increaseMonth();\n };\n\n React.useEffect(() => {\n setActiveMonthPage(date.getMonth());\n }, [date]);\n\n return (\n <>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n }}>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--previous\" onClick={handleDecreaseMonth} disabled={prevMonthButtonDisabled}>\n
|
|
1
|
+
{"version":3,"file":"DatepickerFieldHeader.js","names":["React","SystemIcons","styled","CommonInteractionStyling","COLORS","HeaderLabelContainer","div","neutral_600","primary_600","DatepickerFieldHeader","date","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","setYearPickerMode","yearPickerMode","setActiveMonthPage","months","handleDecreaseMonth","previousMonth","getMonth","length","handleIncreaseMonth","nextMonth","useEffect","display","justifyContent","getFullYear","customHeaderCount","prevYearButtonDisabled","nextYearButtonDisabled"],"sources":["../../src/InputFields/DatepickerFieldHeader.tsx"],"sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\nimport { SystemIcons } from '../icons';\nimport styled from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { COLORS } from '../styles';\n\nexport interface DatepickerFieldHeaderParams {\n date: Date;\n changeYear(year: number): void;\n changeMonth(month: number): void;\n customHeaderCount: number;\n decreaseMonth(): void;\n increaseMonth(): void;\n prevMonthButtonDisabled: boolean;\n nextMonthButtonDisabled: boolean;\n decreaseYear(): void;\n increaseYear(): void;\n prevYearButtonDisabled: boolean;\n nextYearButtonDisabled: boolean;\n yearPickerMode: boolean;\n setYearPickerMode(val: boolean): void;\n setActiveMonthPage(val: number): void;\n}\n\nconst HeaderLabelContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 10px;\n cursor: pointer;\n\n button {\n background: transparent;\n padding: 0px;\n width: auto;\n }\n\n svg {\n color: ${COLORS.neutral_600};\n }\n\n ${CommonInteractionStyling}\n\n &:hover {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n\n &:active {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n`;\n\nexport const DatepickerFieldHeader = ({\n date,\n decreaseMonth,\n increaseMonth,\n prevMonthButtonDisabled,\n nextMonthButtonDisabled,\n setYearPickerMode,\n yearPickerMode,\n setActiveMonthPage,\n}: DatepickerFieldHeaderParams) => {\n const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n const handleDecreaseMonth = () => {\n let previousMonth = date.getMonth() - 1;\n if (previousMonth < 0) previousMonth = months.length - 1;\n setActiveMonthPage(previousMonth);\n decreaseMonth();\n };\n\n const handleIncreaseMonth = () => {\n let nextMonth = date.getMonth() + 1;\n if (nextMonth >= months.length - 1) nextMonth = 0;\n setActiveMonthPage(nextMonth);\n increaseMonth();\n };\n\n React.useEffect(() => {\n setActiveMonthPage(date.getMonth());\n }, [date]);\n\n return (\n <>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n }}>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--previous\" onClick={handleDecreaseMonth} disabled={prevMonthButtonDisabled}>\n </button>\n )}\n <HeaderLabelContainer onClick={() => setYearPickerMode(!yearPickerMode)}>\n <div className=\"react-datepicker__current-month\">{`${months[date.getMonth()]} ${date.getFullYear()}`}</div>\n {yearPickerMode ? <SystemIcons.ArrowDropUp size=\"24px\" /> : <SystemIcons.ArrowDropDown size=\"24px\" />}\n </HeaderLabelContainer>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--next\" onClick={handleIncreaseMonth} disabled={nextMonthButtonDisabled}>\n </button>\n )}\n </div>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.cjs","names":["Label","styled","label","ComponentXXSStyling","COLORS","neutral_500","BREAKPOINTS","MEDIUM","ComponentXSStyling","LabelRow","div","CopyContainer","TypographyBase","primary_800","primary_700","primary_600","neutral_300","LabelRowInner","CopyState","InputLabel","inputId","text","size","margin","requiredProp","required","showCopyButton","React","useState","setRequired","Available","copyState","setCopyState","useEffect","undefined","document","getElementById","getAttribute","Boolean","onTriggerClick","id","click","copyInputClick","e","preventDefault","Copied","val","value","window","navigator","clipboard","writeText","setTimeout","critical_500","Size","Medium"],"sources":["../../src/InputFields/Label.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { Size } from '../types';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentXS, ComponentXSStyling, ComponentXXS, ComponentXXSStyling, TypographyBase } from '../styles/typography';\nimport { SystemIcons } from '../icons';\nimport {HyperLink, StyledLink} from '../HyperLink';\n\n// Add component-specific styles.\nconst Label = styled.label`\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n &.small {\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n }\n &.medium {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n pointer-events: none;\n`;\n\nconst LabelRow = styled.div<{ margin?: string }>`\n display: flex;\n align-items: flex-start;\n height: 16px;\n margin-bottom: 4px;\n`;\n\nconst CopyContainer = styled.div`\n margin-left: auto;\n\n &:visited:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_800};\n }\n }\n\n &:hover:not(.disabled),\n &.hover-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n text-decoration-line: underline;\n }\n }\n\n &:focus:not(.disabled),\n &.focus-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:active:not(.disabled),\n &.active-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:not(.disabled)\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.primary_600};\n }\n }\n\n &.disabled\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.neutral_300};\n }\n }\n cursor: pointer;\n`;\n\nconst LabelRowInner = styled.div<{ size: Size.Small | Size.Medium | undefined }>`\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100%;\n align-items: center;\n`;\n\n// Add component-specific types\
|
|
1
|
+
{"version":3,"file":"Label.cjs","names":["Label","styled","label","ComponentXXSStyling","COLORS","neutral_500","BREAKPOINTS","MEDIUM","ComponentXSStyling","LabelRow","div","CopyContainer","TypographyBase","primary_800","primary_700","primary_600","neutral_300","LabelRowInner","CopyState","InputLabel","inputId","text","size","margin","requiredProp","required","showCopyButton","React","useState","setRequired","Available","copyState","setCopyState","useEffect","undefined","document","getElementById","getAttribute","Boolean","onTriggerClick","id","click","copyInputClick","e","preventDefault","Copied","val","value","window","navigator","clipboard","writeText","setTimeout","critical_500","Size","Medium"],"sources":["../../src/InputFields/Label.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { Size } from '../types';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentXS, ComponentXSStyling, ComponentXXS, ComponentXXSStyling, TypographyBase } from '../styles/typography';\nimport { SystemIcons } from '../icons';\nimport {HyperLink, StyledLink} from '../HyperLink';\n\n// Add component-specific styles.\nconst Label = styled.label`\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n &.small {\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n }\n &.medium {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n pointer-events: none;\n`;\n\nconst LabelRow = styled.div<{ margin?: string }>`\n display: flex;\n align-items: flex-start;\n height: 16px;\n margin-bottom: 4px;\n`;\n\nconst CopyContainer = styled.div`\n margin-left: auto;\n\n &:visited:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_800};\n }\n }\n\n &:hover:not(.disabled),\n &.hover-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n text-decoration-line: underline;\n }\n }\n\n &:focus:not(.disabled),\n &.focus-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:active:not(.disabled),\n &.active-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:not(.disabled)\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.primary_600};\n }\n }\n\n &.disabled\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.neutral_300};\n }\n }\n cursor: pointer;\n`;\n\nconst LabelRowInner = styled.div<{ size: Size.Small | Size.Medium | undefined }>`\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100%;\n align-items: center;\n`;\n\n// Add component-specific types\nexport type LabelProps = {\n inputId: string;\n text: string;\n size?: Size.Small | Size.Medium;\n margin?: string;\n required?: boolean;\n showCopyButton?: boolean;\n};\n\nenum CopyState {\n Disabled = 0,\n Available = 1,\n Copied = 2\n}\n\nconst InputLabel: React.FunctionComponent<LabelProps> = ({ inputId, text, size, margin, required: requiredProp, showCopyButton }: LabelProps) => {\n // Globally used variables within the component\n const [required, setRequired] = React.useState<boolean>(false);\n const [copyState, setCopyState] = React.useState<CopyState>(CopyState.Available);\n\n /**\n * Checks if field is set as required and we have to mark it accordingly.\n */\n React.useEffect(() => {\n if(requiredProp === undefined)\n {\n if (document.getElementById(inputId)?.getAttribute('required') === '') {\n setRequired(true);\n } else {\n setRequired(false);\n }\n }\n else\n setRequired(Boolean(requiredProp));\n }, []);\n /**\n * Triggers a click element on a specific element.\n * @param id - ID of the element which needs to be clicked.\n */\n const onTriggerClick = (id: string): void => {\n document.getElementById(id)?.click();\n };\n\n const copyInputClick = (e: any) => {\n e.preventDefault();\n if(copyState == CopyState.Copied)\n return;\n \n const val = (document.getElementById(inputId) as HTMLInputElement)?.value;\n if(val)\n {\n window.navigator.clipboard.writeText(val);\n setCopyState(CopyState.Copied);\n setTimeout(() => {\n setCopyState(CopyState.Available);\n }, 1000);\n }\n };\n\n return (\n <LabelRow margin={margin}>\n <LabelRowInner size={size}>\n <Label htmlFor={inputId} onClick={() => onTriggerClick(inputId)} className={size || ''}>\n {text}\n </Label>\n {required && <SystemIcons.Asterisk size=\"16px\" color={COLORS.critical_500} />}\n\n {showCopyButton && \n <CopyContainer className={copyState != CopyState.Available ? \"disabled\" : \"\"} onClick={copyInputClick}>\n { size == Size.Medium ? <ComponentXS>{copyState == CopyState.Copied ? 'Copied' : 'Copy'}</ComponentXS> :\n <ComponentXXS>{copyState == CopyState.Copied ? 'Copied' : 'Copy'}</ComponentXXS> }\n </CopyContainer> }\n </LabelRowInner>\n </LabelRow>\n );\n};\n\nexport default InputLabel;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","names":["React","BREAKPOINTS","COLORS","Size","styled","ComponentXS","ComponentXSStyling","ComponentXXS","ComponentXXSStyling","TypographyBase","SystemIcons","Label","label","neutral_500","MEDIUM","LabelRow","div","CopyContainer","primary_800","primary_700","primary_600","neutral_300","LabelRowInner","CopyState","InputLabel","inputId","text","size","margin","requiredProp","required","showCopyButton","useState","setRequired","Available","copyState","setCopyState","useEffect","undefined","document","getElementById","getAttribute","Boolean","onTriggerClick","id","click","copyInputClick","e","preventDefault","Copied","val","value","window","navigator","clipboard","writeText","setTimeout","critical_500","Medium"],"sources":["../../src/InputFields/Label.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { Size } from '../types';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentXS, ComponentXSStyling, ComponentXXS, ComponentXXSStyling, TypographyBase } from '../styles/typography';\nimport { SystemIcons } from '../icons';\nimport {HyperLink, StyledLink} from '../HyperLink';\n\n// Add component-specific styles.\nconst Label = styled.label`\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n &.small {\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n }\n &.medium {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n pointer-events: none;\n`;\n\nconst LabelRow = styled.div<{ margin?: string }>`\n display: flex;\n align-items: flex-start;\n height: 16px;\n margin-bottom: 4px;\n`;\n\nconst CopyContainer = styled.div`\n margin-left: auto;\n\n &:visited:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_800};\n }\n }\n\n &:hover:not(.disabled),\n &.hover-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n text-decoration-line: underline;\n }\n }\n\n &:focus:not(.disabled),\n &.focus-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:active:not(.disabled),\n &.active-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:not(.disabled)\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.primary_600};\n }\n }\n\n &.disabled\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.neutral_300};\n }\n }\n cursor: pointer;\n`;\n\nconst LabelRowInner = styled.div<{ size: Size.Small | Size.Medium | undefined }>`\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100%;\n align-items: center;\n`;\n\n// Add component-specific types\
|
|
1
|
+
{"version":3,"file":"Label.js","names":["React","BREAKPOINTS","COLORS","Size","styled","ComponentXS","ComponentXSStyling","ComponentXXS","ComponentXXSStyling","TypographyBase","SystemIcons","Label","label","neutral_500","MEDIUM","LabelRow","div","CopyContainer","primary_800","primary_700","primary_600","neutral_300","LabelRowInner","CopyState","InputLabel","inputId","text","size","margin","requiredProp","required","showCopyButton","useState","setRequired","Available","copyState","setCopyState","useEffect","undefined","document","getElementById","getAttribute","Boolean","onTriggerClick","id","click","copyInputClick","e","preventDefault","Copied","val","value","window","navigator","clipboard","writeText","setTimeout","critical_500","Medium"],"sources":["../../src/InputFields/Label.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { Size } from '../types';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentXS, ComponentXSStyling, ComponentXXS, ComponentXXSStyling, TypographyBase } from '../styles/typography';\nimport { SystemIcons } from '../icons';\nimport {HyperLink, StyledLink} from '../HyperLink';\n\n// Add component-specific styles.\nconst Label = styled.label`\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n &.small {\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n }\n &.medium {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n pointer-events: none;\n`;\n\nconst LabelRow = styled.div<{ margin?: string }>`\n display: flex;\n align-items: flex-start;\n height: 16px;\n margin-bottom: 4px;\n`;\n\nconst CopyContainer = styled.div`\n margin-left: auto;\n\n &:visited:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_800};\n }\n }\n\n &:hover:not(.disabled),\n &.hover-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n text-decoration-line: underline;\n }\n }\n\n &:focus:not(.disabled),\n &.focus-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:active:not(.disabled),\n &.active-state:not(.disabled) {\n ${TypographyBase}\n {\n color: ${COLORS.primary_700};\n background-color: white;\n text-decoration-line: underline;\n }\n }\n\n &:not(.disabled)\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.primary_600};\n }\n }\n\n &.disabled\n {\n ${TypographyBase}\n {\n outline: none;\n padding: 2px 0;\n text-decoration-style: solid;\n text-decoration-line: none;\n font-weight: 700;\n color: ${COLORS.neutral_300};\n }\n }\n cursor: pointer;\n`;\n\nconst LabelRowInner = styled.div<{ size: Size.Small | Size.Medium | undefined }>`\n display: flex;\n flex-direction: row;\n width: 100%;\n height: 100%;\n align-items: center;\n`;\n\n// Add component-specific types\nexport type LabelProps = {\n inputId: string;\n text: string;\n size?: Size.Small | Size.Medium;\n margin?: string;\n required?: boolean;\n showCopyButton?: boolean;\n};\n\nenum CopyState {\n Disabled = 0,\n Available = 1,\n Copied = 2\n}\n\nconst InputLabel: React.FunctionComponent<LabelProps> = ({ inputId, text, size, margin, required: requiredProp, showCopyButton }: LabelProps) => {\n // Globally used variables within the component\n const [required, setRequired] = React.useState<boolean>(false);\n const [copyState, setCopyState] = React.useState<CopyState>(CopyState.Available);\n\n /**\n * Checks if field is set as required and we have to mark it accordingly.\n */\n React.useEffect(() => {\n if(requiredProp === undefined)\n {\n if (document.getElementById(inputId)?.getAttribute('required') === '') {\n setRequired(true);\n } else {\n setRequired(false);\n }\n }\n else\n setRequired(Boolean(requiredProp));\n }, []);\n /**\n * Triggers a click element on a specific element.\n * @param id - ID of the element which needs to be clicked.\n */\n const onTriggerClick = (id: string): void => {\n document.getElementById(id)?.click();\n };\n\n const copyInputClick = (e: any) => {\n e.preventDefault();\n if(copyState == CopyState.Copied)\n return;\n \n const val = (document.getElementById(inputId) as HTMLInputElement)?.value;\n if(val)\n {\n window.navigator.clipboard.writeText(val);\n setCopyState(CopyState.Copied);\n setTimeout(() => {\n setCopyState(CopyState.Available);\n }, 1000);\n }\n };\n\n return (\n <LabelRow margin={margin}>\n <LabelRowInner size={size}>\n <Label htmlFor={inputId} onClick={() => onTriggerClick(inputId)} className={size || ''}>\n {text}\n </Label>\n {required && <SystemIcons.Asterisk size=\"16px\" color={COLORS.critical_500} />}\n\n {showCopyButton && \n <CopyContainer className={copyState != CopyState.Available ? \"disabled\" : \"\"} onClick={copyInputClick}>\n { size == Size.Medium ? <ComponentXS>{copyState == CopyState.Copied ? 'Copied' : 'Copy'}</ComponentXS> :\n <ComponentXXS>{copyState == CopyState.Copied ? 'Copied' : 'Copy'}</ComponentXXS> }\n </CopyContainer> }\n </LabelRowInner>\n </LabelRow>\n );\n};\n\nexport default InputLabel;\n"],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var React = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _TooltipStyles = require("../Tooltips/TooltipStyles");
|
|
16
|
+
var _TooltipOverflow = _interopRequireDefault(require("../Tooltips/TooltipOverflow"));
|
|
15
17
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
16
18
|
var _Button = require("../Button");
|
|
17
19
|
var _common = require("../common");
|
|
@@ -42,7 +44,7 @@ var PrefixContainer = _styledComponents.default.div(_templateObject2 || (_templa
|
|
|
42
44
|
var OperatorWrapper = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n margin: ", ";\n\n svg {\n height: 14px;\n width: 14px;\n }\n\n .divider {\n margin: 16px 0;\n background: ", ";\n width: 1px;\n }\n"])), function (props) {
|
|
43
45
|
return props.size === _types.Size.Medium ? '4px 0' : '';
|
|
44
46
|
}, _styles.COLORS.neutral_200);
|
|
45
|
-
var NumberInput = _styledComponents.default.input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n border: none;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ", ";\n outline: none;\n color: ", ";\n\n ", "\n ", "\n ", "\n &::placeholder {\n ", "\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.focus-visible {\n ", "\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.disabled {\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n color: ", ";\n pointer-events: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &.readOnly {\n background: ", ";\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n background: ", ";\n pointer-events: none;\n color: ", ";\n }\n\n &.valid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.invalid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n"])), _styles.COLORS.neutral_400, _styles.COLORS.neutral_500, function (props) {
|
|
47
|
+
var NumberInput = _styledComponents.default.input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n border: none;\n border-radius: 4px;\n text-overflow: ellipsis;\n box-shadow: inset 0 0 0 1px ", ";\n outline: none;\n color: ", ";\n\n ", "\n ", "\n ", "\n &::placeholder {\n ", "\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.focus-visible {\n ", "\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.disabled {\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n color: ", ";\n pointer-events: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &.readOnly {\n background: ", ";\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n background: ", ";\n pointer-events: none;\n color: ", ";\n }\n\n &.valid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.invalid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n"])), _styles.COLORS.neutral_400, _styles.COLORS.neutral_500, function (props) {
|
|
46
48
|
return props.fieldSize === _types.Size.Small ? (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black) : (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.black);
|
|
47
49
|
}, function (props) {
|
|
48
50
|
return props.type === 'NumberField' ? "\n padding: ".concat(props.fieldSize === _types.Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px', ";\n padding-left: ").concat(props.hasPrefix ? '30px' : '', ";\n ") : '';
|
|
@@ -51,11 +53,11 @@ var NumberInput = _styledComponents.default.input(_templateObject4 || (_template
|
|
|
51
53
|
}, function (props) {
|
|
52
54
|
return props.fieldSize === _types.Size.Small ? (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Italic, null) : (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Italic, null);
|
|
53
55
|
}, _styles.COLORS.primary_800, _styles.focusStyles, _styles.COLORS.primary_700, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, _styles.COLORS.neutral_100, _styles.COLORS.neutral_500, _styles.COLORS.correct_400, _styles.COLORS.critical_400);
|
|
54
|
-
var InputContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n min-width: ", ";\n height: ", ";\n display: flex;\n position: relative;\n margin-bottom: 4px;\n\n input.focus-visible ~ div.operator {\n z-index: ", ";\n }\n"])), function (props) {
|
|
56
|
+
var InputContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n min-width: ", ";\n height: ", ";\n display: flex;\n position: relative;\n margin-bottom: 4px;\n\n input.focus-visible ~ div.operator {\n z-index: ", ";\n }\n\n ", "\n"])), function (props) {
|
|
55
57
|
return props.type === 'NumberField' ? '160px' : '144px';
|
|
56
58
|
}, function (props) {
|
|
57
59
|
return props.size === _types.Size.Small ? '48px' : '56px';
|
|
58
|
-
}, _styles.Z_INDEXES.focus);
|
|
60
|
+
}, _styles.Z_INDEXES.focus, (0, _TooltipStyles.TooltipTrigger)());
|
|
59
61
|
var LeftOperator = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: ", ";\n left: 0;\n"])), function (props) {
|
|
60
62
|
return props.size === _types.Size.Small ? '0' : '4px';
|
|
61
63
|
});
|
|
@@ -274,7 +276,15 @@ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
274
276
|
},
|
|
275
277
|
required: required,
|
|
276
278
|
className: disabled ? ' disabled' : ''.concat(readOnly ? ' readOnly' : '').concat(state ? " ".concat(state) : '').concat(className ? " ".concat(className) : '')
|
|
277
|
-
}, rest)), type === 'NumberField' && renderNumberFieldElements(), type === 'NumberInput' && renderNumberInputElements()
|
|
279
|
+
}, rest)), type === 'NumberField' && renderNumberFieldElements(), type === 'NumberInput' && renderNumberInputElements(), value && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipOverflow.default, {
|
|
280
|
+
input: elementRef,
|
|
281
|
+
withArrow: true,
|
|
282
|
+
maxWidth: "100%",
|
|
283
|
+
size: size,
|
|
284
|
+
align: "end",
|
|
285
|
+
position: "bottom",
|
|
286
|
+
children: value === null || value === void 0 ? void 0 : value.toString()
|
|
287
|
+
})]
|
|
278
288
|
}), note && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ValidationMessage, {
|
|
279
289
|
type: state || _types.States.Default,
|
|
280
290
|
children: [noteIcon, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberField.cjs","names":["Container","styled","div","PrefixContainer","props","size","Size","Small","disabled","COLORS","neutral_300","neutral_500","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","OperatorWrapper","Medium","neutral_200","NumberInput","input","neutral_400","fieldSize","black","type","hasPrefix","Italic","primary_800","focusStyles","primary_700","neutral_100","correct_400","critical_400","InputContainer","Z_INDEXES","focus","LeftOperator","RightOperator","NumberField","React","forwardRef","ref","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","readOnly","state","value","placeholder","onChange","className","id","dataTestId","rest","useState","toString","userInput","setUserInput","elementRef","useFocusVisibleRef","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","renderNumberInputElements","concat","States","Default"],"sources":["../../src/InputFields/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {IconButton} from '../Button';\nimport {useFocusVisibleRef} from '../common';\nimport {SystemIcons} from '../icons';\nimport {COLORS, focusStyles, Z_INDEXES} from '../styles';\nimport {\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../styles/typography';\nimport {Size, States, Testable} from '../types';\nimport {ValidationMessage} from \"./styling\";\n\nconst Container = styled.div``;\n\nconst PrefixContainer = styled.div<{ size: Size, disabled: boolean }>`\n width: ${props => props.size === Size.Small ? '10px' : '11px'};\n height: ${props => props.size === Size.Small ? '20px' : '24px'};\n color: ${props => props.disabled ? COLORS.neutral_300 : COLORS.neutral_500};\n ${props => props.size === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, null) : ComponentMStyling(ComponentTextStyle.Regular, null)}\n position: absolute;\n padding: ${props => props.size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px'};\n`;\n\nconst OperatorWrapper = styled.div<{ size: Size }>`\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n margin: ${props => props.size === Size.Medium ? '4px 0' : ''};\n\n svg {\n height: 14px;\n width: 14px;\n }\n\n .divider {\n margin: 16px 0;\n background: ${COLORS.neutral_200};\n width: 1px;\n }\n`;\n\nconst NumberInput = styled.input<{ fieldSize: Size, hasPrefix: boolean, type: string }>`\n width: 100%;\n border: none;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\n outline: none;\n color: ${COLORS.neutral_500};\n\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.black) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n ${props => props.type === 'NumberField' ? `\n padding: ${props.fieldSize === Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px'};\n padding-left: ${props.hasPrefix ? '30px' : ''};\n ` : ''}\n ${props => props.type === 'NumberInput' ? `\n padding: ${props.fieldSize === Size.Small ? '14px 48px' : '16px 48px'};\n ` : ''}\n &::placeholder {\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Italic, null) : ComponentMStyling(ComponentTextStyle.Italic, null)}\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\n }\n\n &.focus-visible {\n ${focusStyles}\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_700};\n }\n\n &.disabled {\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_100};\n cursor: not-allowed;\n color: ${COLORS.neutral_300};\n pointer-events: none;\n\n &::placeholder {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.readOnly {\n background: ${COLORS.neutral_100};\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_300};\n cursor: not-allowed;\n background: ${COLORS.neutral_100};\n pointer-events: none;\n color: ${COLORS.neutral_500};\n }\n\n &.valid {\n box-shadow: inset 0 0 0 2px ${COLORS.correct_400};\n }\n\n &.invalid {\n box-shadow: inset 0 0 0 2px ${COLORS.critical_400};\n }\n`;\n\nconst InputContainer = styled.div<{ size: Size, type: string }>`\n min-width: ${props => props.type === 'NumberField' ? '160px' : '144px'};\n height: ${props => props.size === Size.Small ? '48px' : '56px'};\n display: flex;\n position: relative;\n margin-bottom: 4px;\n\n input.focus-visible ~ div.operator {\n z-index: ${Z_INDEXES.focus};\n }\n`;\n\nconst LeftOperator = styled.div<{ size: Size }>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n left: 0;\n`;\n\nconst RightOperator = styled.div<{ size: Size }>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n right: 0;\n`;\n\ntype NumberFieldProps =\n Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\n & {\n size?: Size.Small | Size.Medium;\n prefix?: string;\n interval?: number;\n\n minValue?: number;\n maxValue?: number;\n allowNegative?: boolean;\n decimalPrecision?: number;\n\n state?: States.Valid | States.Invalid;\n note?: string;\n noteIcon?: React.ReactNode;\n\n type?: 'NumberField' | 'NumberInput';\n value?: number;\n onChange?: (e: number) => void;\n}\n\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\n const {\n type = 'NumberField',\n size = Size.Medium,\n note,\n noteIcon,\n required,\n prefix,\n interval = 1,\n minValue,\n maxValue,\n allowNegative,\n decimalPrecision,\n disabled,\n readOnly,\n state,\n value,\n placeholder,\n onChange,\n className,\n id,\n dataTestId,\n ...rest\n } = props;\n\n const [userInput, setUserInput] = React.useState(value ? value.toString() : '');\n\n const elementRef = useFocusVisibleRef();\n\n React.useEffect(() => setUserInput(`${value ?? ''}`), [value]);\n\n React.useImperativeHandle(ref, () => elementRef.current, [elementRef]);\n\n const setVal = (e: string) => {\n setUserInput(e);\n onChange && onChange(+e);\n }\n\n const handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n switch (e.key) {\n case 'ArrowUp':\n addInterval();\n break;\n case 'ArrowDown':\n subtractInterval();\n break;\n default:\n break;\n }\n }\n\n const handleInput = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.preventDefault();\n let simpleRegex = new RegExp(/^[0-9]\\d*$/);\n let decimalFormationRegEx = new RegExp(/^[0-9]\\d*\\.$/);\n let negativeDecimalFormationRegEx = new RegExp(/^[-][0-9]\\d*\\.$/);\n\n let allowNegativeRegex = new RegExp(/^[-][0-9]\\d*$/);\n let decimalPrecisionRegex = decimalPrecision ? new RegExp(`^[0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n let negativeAndDecimalRegex = (decimalPrecision && allowNegative) ? new RegExp(`^[-][0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n\n let val = e.target.value;\n if (val !== '') {\n if (allowNegative && decimalPrecision) {\n if (val.length === 1 && val.charAt(0) === '-')\n setVal(val);\n else {\n if ((negativeAndDecimalRegex!.test(val) || decimalPrecisionRegex!.test(val)) && isInRange(val, true))\n setVal(val);\n\n else if ((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.', ''), true))\n setVal(val);\n\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, true))\n setVal(val);\n }\n } else if (allowNegative) {\n if (val.length === 1 && val.charAt(0) === '-')\n setVal(val);\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, false))\n setVal(val);\n } else if (decimalPrecision && (val.indexOf('.') === val.lastIndexOf('.')) && isInRange(val, true)) {\n if (decimalPrecisionRegex!.test(val))\n setVal(val);\n else if (decimalFormationRegEx.test(val))\n setVal(val);\n else if (!val.includes('.') && simpleRegex.test(val))\n setVal(val);\n } else if (simpleRegex.test(val) && isInRange(val, false)) {\n setVal(val);\n }\n }\n\n if (val === '')\n setVal('');\n }\n\n const isInRange = (value: string, isDecimal: boolean): boolean => {\n let x = isDecimal ? parseFloat(value).toFixed(decimalPrecision) : parseInt(value);\n if (minValue && minValue > x)\n return false;\n else if (maxValue && maxValue < x)\n return false;\n else\n return true;\n }\n\n const addInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (minValue ? minValue - 1 : 0) : val;\n if (!isNaN(val)) {\n if (decimalPrecision)\n val = Math.round((val + interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\n else\n val += 1;\n\n if (maxValue && maxValue >= val)\n setVal(val.toString());\n else if (!maxValue)\n setVal(val.toString());\n }\n }\n\n const subtractInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (maxValue ? maxValue + 1 : 0) : val;\n if (!isNaN(val)) {\n if (decimalPrecision)\n val = Math.round((val - interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\n else\n val -= 1;\n\n if ((minValue && minValue <= val) || !minValue) {\n if (allowNegative || val >= 0) {\n setVal(val.toString());\n }\n }\n }\n }\n\n const isLocked = (input: string, operator: string): boolean => {\n let val = decimalPrecision ? parseFloat(input) : parseInt(input);\n val = isNaN(val) && userInput === '' ? 0 : val;\n let operatorState = false;\n if (operator === 'add' && maxValue)\n operatorState = val >= maxValue;\n\n if (operator === 'subtract' && minValue)\n operatorState = val <= minValue;\n\n if (operator === 'subtract' && !minValue && !allowNegative)\n operatorState = val <= 0;\n\n return operatorState;\n }\n\n const renderNumberFieldElements = () => {\n return (\n <>\n {prefix && <PrefixContainer size={size} disabled={!!disabled} className=\"operator\">\n {prefix}\n </PrefixContainer>}\n\n <OperatorWrapper data-testid={'operators'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\n <SystemIcons.Minus size=\"14px\"/>\n </IconButton>\n <div className=\"divider\"></div>\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\n <SystemIcons.Plus size=\"14px\"/>\n </IconButton>\n </OperatorWrapper>\n </>)\n }\n\n const renderNumberInputElements = () => {\n return (\n <>\n <LeftOperator data-testid={'leftOperator'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\n <SystemIcons.Minus size=\"14px\"/>\n </IconButton>\n </LeftOperator>\n <RightOperator data-testid={'rightOperator'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\n <SystemIcons.Plus size=\"14px\"/>\n </IconButton>\n </RightOperator>\n </>)\n }\n\n return (\n <Container>\n <InputContainer type={type} size={size} tabIndex={-1}>\n <NumberInput type={type}\n id={id}\n data-testid={dataTestId}\n fieldSize={size}\n hasPrefix={!!prefix}\n placeholder={placeholder ? placeholder : 'Enter number'}\n value={userInput}\n ref={elementRef}\n tabIndex={(disabled || readOnly) ? -1 : 0}\n onChange={e => handleInput(e)}\n onKeyDown={e => handleKeyPress(e)}\n required={required}\n className={disabled ? ' disabled' : ''\n .concat(readOnly ? ' readOnly' : '')\n .concat(state ? ` ${state}` : '')\n .concat(className ? ` ${className}` : '')}\n {...rest}/>\n\n {type === 'NumberField' && renderNumberFieldElements()}\n {type === 'NumberInput' && renderNumberInputElements()}\n </InputContainer>\n\n {\n note &&\n <ValidationMessage type={state || States.Default}>\n {noteIcon}\n <span>{note}</span>\n </ValidationMessage>\n }\n\n </Container>\n );\n }\n )\n;\n\nexport default NumberField;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NumberField.cjs","names":["Container","styled","div","PrefixContainer","props","size","Size","Small","disabled","COLORS","neutral_300","neutral_500","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","OperatorWrapper","Medium","neutral_200","NumberInput","input","neutral_400","fieldSize","black","type","hasPrefix","Italic","primary_800","focusStyles","primary_700","neutral_100","correct_400","critical_400","InputContainer","Z_INDEXES","focus","TooltipTrigger","LeftOperator","RightOperator","NumberField","React","forwardRef","ref","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","readOnly","state","value","placeholder","onChange","className","id","dataTestId","rest","useState","toString","userInput","setUserInput","elementRef","useFocusVisibleRef","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","renderNumberInputElements","concat","States","Default"],"sources":["../../src/InputFields/NumberField.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TooltipTrigger } from '../Tooltips/TooltipStyles';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport styled from 'styled-components';\nimport {IconButton} from '../Button';\nimport {useFocusVisibleRef} from '../common';\nimport {SystemIcons} from '../icons';\nimport {COLORS, focusStyles, Z_INDEXES} from '../styles';\nimport {\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../styles/typography';\nimport {Size, States, Testable} from '../types';\nimport {ValidationMessage} from \"./styling\";\n\nconst Container = styled.div``;\n\nconst PrefixContainer = styled.div<{ size: Size, disabled: boolean }>`\n width: ${props => props.size === Size.Small ? '10px' : '11px'};\n height: ${props => props.size === Size.Small ? '20px' : '24px'};\n color: ${props => props.disabled ? COLORS.neutral_300 : COLORS.neutral_500};\n ${props => props.size === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, null) : ComponentMStyling(ComponentTextStyle.Regular, null)}\n position: absolute;\n padding: ${props => props.size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px'};\n`;\n\nconst OperatorWrapper = styled.div<{ size: Size }>`\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n margin: ${props => props.size === Size.Medium ? '4px 0' : ''};\n\n svg {\n height: 14px;\n width: 14px;\n }\n\n .divider {\n margin: 16px 0;\n background: ${COLORS.neutral_200};\n width: 1px;\n }\n`;\n\nconst NumberInput = styled.input<{ fieldSize: Size, hasPrefix: boolean, type: string }>`\n width: 100%;\n border: none;\n border-radius: 4px;\n text-overflow: ellipsis;\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\n outline: none;\n color: ${COLORS.neutral_500};\n\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.black) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n ${props => props.type === 'NumberField' ? `\n padding: ${props.fieldSize === Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px'};\n padding-left: ${props.hasPrefix ? '30px' : ''};\n ` : ''}\n ${props => props.type === 'NumberInput' ? `\n padding: ${props.fieldSize === Size.Small ? '14px 48px' : '16px 48px'};\n ` : ''}\n &::placeholder {\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Italic, null) : ComponentMStyling(ComponentTextStyle.Italic, null)}\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\n }\n\n &.focus-visible {\n ${focusStyles}\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_700};\n }\n\n &.disabled {\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_100};\n cursor: not-allowed;\n color: ${COLORS.neutral_300};\n pointer-events: none;\n\n &::placeholder {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.readOnly {\n background: ${COLORS.neutral_100};\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_300};\n cursor: not-allowed;\n background: ${COLORS.neutral_100};\n pointer-events: none;\n color: ${COLORS.neutral_500};\n }\n\n &.valid {\n box-shadow: inset 0 0 0 2px ${COLORS.correct_400};\n }\n\n &.invalid {\n box-shadow: inset 0 0 0 2px ${COLORS.critical_400};\n }\n`;\n\nconst InputContainer = styled.div<{ size: Size, type: string }>`\n min-width: ${props => props.type === 'NumberField' ? '160px' : '144px'};\n height: ${props => props.size === Size.Small ? '48px' : '56px'};\n display: flex;\n position: relative;\n margin-bottom: 4px;\n\n input.focus-visible ~ div.operator {\n z-index: ${Z_INDEXES.focus};\n }\n\n ${TooltipTrigger()}\n`;\n\nconst LeftOperator = styled.div<{ size: Size }>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n left: 0;\n`;\n\nconst RightOperator = styled.div<{ size: Size }>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n right: 0;\n`;\n\nexport type NumberFieldProps =\n Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\n & {\n size?: Size.Small | Size.Medium;\n prefix?: string;\n interval?: number;\n\n minValue?: number;\n maxValue?: number;\n allowNegative?: boolean;\n decimalPrecision?: number;\n\n state?: States.Valid | States.Invalid;\n note?: string;\n noteIcon?: React.ReactNode;\n\n type?: 'NumberField' | 'NumberInput';\n value?: number;\n onChange?: (e: number) => void;\n}\n\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\n const {\n type = 'NumberField',\n size = Size.Medium,\n note,\n noteIcon,\n required,\n prefix,\n interval = 1,\n minValue,\n maxValue,\n allowNegative,\n decimalPrecision,\n disabled,\n readOnly,\n state,\n value,\n placeholder,\n onChange,\n className,\n id,\n dataTestId,\n ...rest\n } = props;\n\n const [userInput, setUserInput] = React.useState(value ? value.toString() : '');\n\n const elementRef = useFocusVisibleRef();\n\n React.useEffect(() => setUserInput(`${value ?? ''}`), [value]);\n\n React.useImperativeHandle(ref, () => elementRef.current, [elementRef]);\n\n const setVal = (e: string) => {\n setUserInput(e);\n onChange && onChange(+e);\n }\n\n const handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n switch (e.key) {\n case 'ArrowUp':\n addInterval();\n break;\n case 'ArrowDown':\n subtractInterval();\n break;\n default:\n break;\n }\n }\n\n const handleInput = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.preventDefault();\n let simpleRegex = new RegExp(/^[0-9]\\d*$/);\n let decimalFormationRegEx = new RegExp(/^[0-9]\\d*\\.$/);\n let negativeDecimalFormationRegEx = new RegExp(/^[-][0-9]\\d*\\.$/);\n\n let allowNegativeRegex = new RegExp(/^[-][0-9]\\d*$/);\n let decimalPrecisionRegex = decimalPrecision ? new RegExp(`^[0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n let negativeAndDecimalRegex = (decimalPrecision && allowNegative) ? new RegExp(`^[-][0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n\n let val = e.target.value;\n if (val !== '') {\n if (allowNegative && decimalPrecision) {\n if (val.length === 1 && val.charAt(0) === '-')\n setVal(val);\n else {\n if ((negativeAndDecimalRegex!.test(val) || decimalPrecisionRegex!.test(val)) && isInRange(val, true))\n setVal(val);\n\n else if ((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.', ''), true))\n setVal(val);\n\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, true))\n setVal(val);\n }\n } else if (allowNegative) {\n if (val.length === 1 && val.charAt(0) === '-')\n setVal(val);\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, false))\n setVal(val);\n } else if (decimalPrecision && (val.indexOf('.') === val.lastIndexOf('.')) && isInRange(val, true)) {\n if (decimalPrecisionRegex!.test(val))\n setVal(val);\n else if (decimalFormationRegEx.test(val))\n setVal(val);\n else if (!val.includes('.') && simpleRegex.test(val))\n setVal(val);\n } else if (simpleRegex.test(val) && isInRange(val, false)) {\n setVal(val);\n }\n }\n\n if (val === '')\n setVal('');\n }\n\n const isInRange = (value: string, isDecimal: boolean): boolean => {\n let x = isDecimal ? parseFloat(value).toFixed(decimalPrecision) : parseInt(value);\n if (minValue && minValue > x)\n return false;\n else if (maxValue && maxValue < x)\n return false;\n else\n return true;\n }\n\n const addInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (minValue ? minValue - 1 : 0) : val;\n if (!isNaN(val)) {\n if (decimalPrecision)\n val = Math.round((val + interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\n else\n val += 1;\n\n if (maxValue && maxValue >= val)\n setVal(val.toString());\n else if (!maxValue)\n setVal(val.toString());\n }\n }\n\n const subtractInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (maxValue ? maxValue + 1 : 0) : val;\n if (!isNaN(val)) {\n if (decimalPrecision)\n val = Math.round((val - interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\n else\n val -= 1;\n\n if ((minValue && minValue <= val) || !minValue) {\n if (allowNegative || val >= 0) {\n setVal(val.toString());\n }\n }\n }\n }\n\n const isLocked = (input: string, operator: string): boolean => {\n let val = decimalPrecision ? parseFloat(input) : parseInt(input);\n val = isNaN(val) && userInput === '' ? 0 : val;\n let operatorState = false;\n if (operator === 'add' && maxValue)\n operatorState = val >= maxValue;\n\n if (operator === 'subtract' && minValue)\n operatorState = val <= minValue;\n\n if (operator === 'subtract' && !minValue && !allowNegative)\n operatorState = val <= 0;\n\n return operatorState;\n }\n\n const renderNumberFieldElements = () => {\n return (\n <>\n {prefix && <PrefixContainer size={size} disabled={!!disabled} className=\"operator\">\n {prefix}\n </PrefixContainer>}\n\n <OperatorWrapper data-testid={'operators'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\n <SystemIcons.Minus size=\"14px\"/>\n </IconButton>\n <div className=\"divider\"></div>\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\n <SystemIcons.Plus size=\"14px\"/>\n </IconButton>\n </OperatorWrapper>\n </>)\n }\n\n const renderNumberInputElements = () => {\n return (\n <>\n <LeftOperator data-testid={'leftOperator'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\n <SystemIcons.Minus size=\"14px\"/>\n </IconButton>\n </LeftOperator>\n <RightOperator data-testid={'rightOperator'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\n <SystemIcons.Plus size=\"14px\"/>\n </IconButton>\n </RightOperator>\n </>)\n }\n\n return (\n <Container>\n <InputContainer type={type} size={size} tabIndex={-1}>\n <NumberInput type={type}\n id={id}\n data-testid={dataTestId}\n fieldSize={size}\n hasPrefix={!!prefix}\n placeholder={placeholder ? placeholder : 'Enter number'}\n value={userInput}\n ref={elementRef}\n tabIndex={(disabled || readOnly) ? -1 : 0}\n onChange={e => handleInput(e)}\n onKeyDown={e => handleKeyPress(e)}\n required={required}\n className={disabled ? ' disabled' : ''\n .concat(readOnly ? ' readOnly' : '')\n .concat(state ? ` ${state}` : '')\n .concat(className ? ` ${className}` : '')}\n {...rest}/>\n\n {type === 'NumberField' && renderNumberFieldElements()}\n {type === 'NumberInput' && renderNumberInputElements()}\n {value && <TooltipOverflow input={elementRef} withArrow={true} maxWidth=\"100%\" size={size} align='end' position='bottom'>\n {value?.toString()}\n </TooltipOverflow>}\n </InputContainer>\n\n {\n note &&\n <ValidationMessage type={state || States.Default}>\n {noteIcon}\n <span>{note}</span>\n </ValidationMessage>\n }\n\n </Container>\n );\n }\n )\n;\n\nexport default NumberField;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Size, States, Testable } from '../types';
|
|
3
|
+
export type NumberFieldProps = Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'> & {
|
|
4
|
+
size?: Size.Small | Size.Medium;
|
|
5
|
+
prefix?: string;
|
|
6
|
+
interval?: number;
|
|
7
|
+
minValue?: number;
|
|
8
|
+
maxValue?: number;
|
|
9
|
+
allowNegative?: boolean;
|
|
10
|
+
decimalPrecision?: number;
|
|
11
|
+
state?: States.Valid | States.Invalid;
|
|
12
|
+
note?: string;
|
|
13
|
+
noteIcon?: React.ReactNode;
|
|
14
|
+
type?: 'NumberField' | 'NumberInput';
|
|
15
|
+
value?: number;
|
|
16
|
+
onChange?: (e: number) => void;
|
|
17
|
+
};
|
|
3
18
|
declare const NumberField: React.ForwardRefExoticComponent<Testable & Omit<React.InputHTMLAttributes<HTMLInputElement>, "tabIndex" | "prefix" | "onChange" | "onKeyDown" | "onClick" | "size" | "max" | "min" | "value"> & {
|
|
4
19
|
size?: Size.Small | Size.Medium | undefined;
|
|
5
20
|
prefix?: string | undefined;
|