@laerdal/life-react-components 1.2.2-dev.7 → 1.2.2-dev.8
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/esm/Banners/Banner.js +1 -0
- package/dist/esm/Banners/Banner.js.map +1 -1
- package/dist/esm/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/esm/Button/BackButton.js +4 -4
- package/dist/esm/Button/BackButton.js.map +1 -1
- package/dist/esm/Button/__tests__/BackButton.test.js +3 -4
- package/dist/esm/Button/__tests__/BackButton.test.js.map +1 -1
- package/dist/esm/Chips/ActionChip.js +2 -3
- package/dist/esm/Chips/ActionChip.js.map +1 -1
- package/dist/esm/Chips/ChipInput.js +1 -2
- package/dist/esm/Chips/ChipInput.js.map +1 -1
- package/dist/esm/Chips/FilterChip.js +2 -3
- package/dist/esm/Chips/FilterChip.js.map +1 -1
- package/dist/esm/Chips/InputChip.js +2 -3
- package/dist/esm/Chips/InputChip.js.map +1 -1
- package/dist/esm/Dropdown/BasicDropdown.js +3 -2
- package/dist/esm/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/esm/Dropdown/ChipDropdownInput.js +2 -3
- package/dist/esm/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/esm/Dropdown/CommonStyling.js +2 -1
- package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
- package/dist/esm/Dropdown/DropdownContent.js +13 -1
- package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
- package/dist/esm/Dropdown/DropdownFilter.js +4 -3
- package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/esm/GlobalNavigationBar/ExtendedMainMenu.js +3 -3
- package/dist/esm/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
- package/dist/esm/GlobalNavigationBar/GlobalNavigationBar.js +6 -2
- package/dist/esm/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js +2 -1
- package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
- package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js +2 -1
- package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
- package/dist/esm/GlobalNavigationBar/mobile/CommonStyles.js +8 -1
- package/dist/esm/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/esm/InputFields/DatepickerField.js +6 -0
- package/dist/esm/InputFields/DatepickerField.js.map +1 -1
- package/dist/esm/InputFields/Label.js +2 -1
- package/dist/esm/InputFields/Label.js.map +1 -1
- package/dist/esm/InputFields/PasswordField.js +2 -1
- package/dist/esm/InputFields/PasswordField.js.map +1 -1
- package/dist/esm/InputFields/QuickSearch.js +2 -2
- package/dist/esm/InputFields/QuickSearch.js.map +1 -1
- package/dist/esm/InputFields/ResponsiveComponentWrapper.js +2 -2
- package/dist/esm/InputFields/ResponsiveComponentWrapper.js.map +1 -1
- package/dist/esm/InputFields/SearchBar.js +1 -0
- package/dist/esm/InputFields/SearchBar.js.map +1 -1
- package/dist/esm/InputFields/TextField.js +1 -0
- package/dist/esm/InputFields/TextField.js.map +1 -1
- package/dist/esm/InputFields/Textarea.js +2 -1
- package/dist/esm/InputFields/Textarea.js.map +1 -1
- package/dist/esm/InputFields/__tests__/QuickSearch.test.js +1 -2
- package/dist/esm/InputFields/__tests__/QuickSearch.test.js.map +1 -1
- package/dist/esm/InputFields/components/SearchBarInput.js +1 -0
- package/dist/esm/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/esm/List/ListRow.js +4 -1
- package/dist/esm/List/ListRow.js.map +1 -1
- package/dist/esm/LoadingIndicator/LoadingIndicator.js +4 -4
- package/dist/esm/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/esm/Modals/ModalContainer.js +3 -1
- package/dist/esm/Modals/ModalContainer.js.map +1 -1
- package/dist/esm/NavItem/NavItem.js +4 -0
- package/dist/esm/NavItem/NavItem.js.map +1 -1
- package/dist/esm/NotificationDot/NotificationDot.js +9 -9
- package/dist/esm/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/esm/NotificationDot/__tests__/NotificationDot.test.js +2 -3
- package/dist/esm/NotificationDot/__tests__/NotificationDot.test.js.map +1 -1
- package/dist/esm/Paginator/Paginator.js +5 -0
- package/dist/esm/Paginator/Paginator.js.map +1 -1
- package/dist/esm/Switcher/MobileSwitcherMenu.js +2 -1
- package/dist/esm/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/esm/Switcher/SwitcherMenuItem.js +5 -0
- package/dist/esm/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/esm/Table/Table.js +1 -1
- package/dist/esm/Table/Table.js.map +1 -1
- package/dist/esm/Tabs/HorizontalTabs.js +15 -9
- package/dist/esm/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/esm/Tabs/TabLink.js +17 -6
- package/dist/esm/Tabs/TabLink.js.map +1 -1
- package/dist/esm/Tabs/Tabs.js +14 -14
- package/dist/esm/Tabs/Tabs.js.map +1 -1
- package/dist/esm/Tabs/VerticalTabs.js +2 -2
- package/dist/esm/Tabs/VerticalTabs.js.map +1 -1
- package/dist/esm/Toasters/ToastContext.js +2 -1
- package/dist/esm/Toasters/ToastContext.js.map +1 -1
- package/dist/esm/Tooltips/TooltipStyles.js +3 -2
- package/dist/esm/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/esm/styles/typography.js +8 -9
- package/dist/esm/styles/typography.js.map +1 -1
- package/dist/esm/styles/z-indexes.js +14 -0
- package/dist/esm/styles/z-indexes.js.map +1 -0
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/js/Banners/Banner.d.ts +1 -2
- package/dist/js/Banners/Banner.js +1 -0
- package/dist/js/Banners/Banner.js.map +1 -1
- package/dist/js/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/js/Button/BackButton.d.ts +1 -2
- package/dist/js/Button/BackButton.js +4 -5
- package/dist/js/Button/BackButton.js.map +1 -1
- package/dist/js/Button/__tests__/BackButton.test.js +3 -5
- package/dist/js/Button/__tests__/BackButton.test.js.map +1 -1
- package/dist/js/Chips/ActionChip.js +2 -4
- package/dist/js/Chips/ActionChip.js.map +1 -1
- package/dist/js/Chips/ChipInput.js +1 -3
- package/dist/js/Chips/ChipInput.js.map +1 -1
- package/dist/js/Chips/ChipTypes.d.ts +3 -3
- package/dist/js/Chips/FilterChip.js +2 -4
- package/dist/js/Chips/FilterChip.js.map +1 -1
- package/dist/js/Chips/InputChip.js +2 -4
- package/dist/js/Chips/InputChip.js.map +1 -1
- package/dist/js/Dropdown/BasicDropdown.d.ts +1 -2
- package/dist/js/Dropdown/BasicDropdown.js +3 -2
- package/dist/js/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/js/Dropdown/ChipDropdownInput.d.ts +3 -0
- package/dist/js/Dropdown/ChipDropdownInput.js +2 -4
- package/dist/js/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/js/Dropdown/CommonStyling.js +3 -1
- package/dist/js/Dropdown/CommonStyling.js.map +1 -1
- package/dist/js/Dropdown/DropdownContent.js +5 -3
- package/dist/js/Dropdown/DropdownContent.js.map +1 -1
- package/dist/js/Dropdown/DropdownFilter.d.ts +1 -2
- package/dist/js/Dropdown/DropdownFilter.js +4 -3
- package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/js/GlobalNavigationBar/ExtendedMainMenu.js +3 -3
- package/dist/js/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
- package/dist/js/GlobalNavigationBar/GlobalNavigationBar.js +5 -3
- package/dist/js/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js +3 -1
- package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
- package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js +3 -1
- package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
- package/dist/js/GlobalNavigationBar/mobile/CommonStyles.js +4 -2
- package/dist/js/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/js/InputFields/DatepickerField.js +3 -1
- package/dist/js/InputFields/DatepickerField.js.map +1 -1
- package/dist/js/InputFields/Label.d.ts +1 -2
- package/dist/js/InputFields/Label.js +1 -0
- package/dist/js/InputFields/Label.js.map +1 -1
- package/dist/js/InputFields/PasswordField.d.ts +1 -2
- package/dist/js/InputFields/PasswordField.js +2 -1
- package/dist/js/InputFields/PasswordField.js.map +1 -1
- package/dist/js/InputFields/QuickSearch.d.ts +1 -2
- package/dist/js/InputFields/QuickSearch.js +2 -3
- package/dist/js/InputFields/QuickSearch.js.map +1 -1
- package/dist/js/InputFields/ResponsiveComponentWrapper.d.ts +1 -2
- package/dist/js/InputFields/ResponsiveComponentWrapper.js +2 -3
- package/dist/js/InputFields/ResponsiveComponentWrapper.js.map +1 -1
- package/dist/js/InputFields/SearchBar.d.ts +1 -2
- package/dist/js/InputFields/SearchBar.js +1 -0
- package/dist/js/InputFields/SearchBar.js.map +1 -1
- package/dist/js/InputFields/TextField.d.ts +1 -2
- package/dist/js/InputFields/TextField.js +1 -0
- package/dist/js/InputFields/TextField.js.map +1 -1
- package/dist/js/InputFields/Textarea.d.ts +1 -2
- package/dist/js/InputFields/Textarea.js +1 -0
- package/dist/js/InputFields/Textarea.js.map +1 -1
- package/dist/js/InputFields/__tests__/QuickSearch.test.js +1 -3
- package/dist/js/InputFields/__tests__/QuickSearch.test.js.map +1 -1
- package/dist/js/InputFields/components/SearchBarInput.d.ts +1 -2
- package/dist/js/InputFields/components/SearchBarInput.js +1 -0
- package/dist/js/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/js/List/ListRow.js +3 -1
- package/dist/js/List/ListRow.js.map +1 -1
- package/dist/js/LoadingIndicator/LoadingIndicator.d.ts +1 -2
- package/dist/js/LoadingIndicator/LoadingIndicator.js +4 -5
- package/dist/js/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/js/Modals/ModalContainer.js +3 -1
- package/dist/js/Modals/ModalContainer.js.map +1 -1
- package/dist/js/NavItem/NavItem.js +3 -1
- package/dist/js/NavItem/NavItem.js.map +1 -1
- package/dist/js/NotificationDot/NotificationDot.d.ts +1 -2
- package/dist/js/NotificationDot/NotificationDot.js +9 -10
- package/dist/js/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/js/NotificationDot/__tests__/NotificationDot.test.js +2 -4
- package/dist/js/NotificationDot/__tests__/NotificationDot.test.js.map +1 -1
- package/dist/js/Paginator/Paginator.js +3 -1
- package/dist/js/Paginator/Paginator.js.map +1 -1
- package/dist/js/Switcher/MobileSwitcherMenu.js +3 -1
- package/dist/js/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/js/Switcher/SwitcherMenuItem.js +3 -1
- package/dist/js/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/js/Table/Table.js +1 -1
- package/dist/js/Table/Table.js.map +1 -1
- package/dist/js/Tabs/HorizontalTabs.d.ts +2 -2
- package/dist/js/Tabs/HorizontalTabs.js +5 -4
- package/dist/js/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/js/Tabs/TabLink.d.ts +1 -2
- package/dist/js/Tabs/TabLink.js +6 -5
- package/dist/js/Tabs/TabLink.js.map +1 -1
- package/dist/js/Tabs/Tabs.d.ts +1 -2
- package/dist/js/Tabs/Tabs.js +14 -15
- package/dist/js/Tabs/Tabs.js.map +1 -1
- package/dist/js/Tabs/VerticalTabs.d.ts +1 -2
- package/dist/js/Tabs/VerticalTabs.js +2 -3
- package/dist/js/Tabs/VerticalTabs.js.map +1 -1
- package/dist/js/Toasters/ToastContext.js +3 -1
- package/dist/js/Toasters/ToastContext.js.map +1 -1
- package/dist/js/Tooltips/TooltipStyles.js +4 -2
- package/dist/js/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/js/styles/typography.d.ts +1 -2
- package/dist/js/styles/typography.js +8 -10
- package/dist/js/styles/typography.js.map +1 -1
- package/dist/js/styles/z-indexes.d.ts +13 -0
- package/dist/js/styles/z-indexes.js +21 -0
- package/dist/js/styles/z-indexes.js.map +1 -0
- package/dist/js/types.d.ts +0 -1
- package/dist/js/types.js +0 -1
- package/dist/js/types.js.map +1 -1
- package/dist/umd/Banners/Banner.js +1 -0
- package/dist/umd/Banners/Banner.js.map +1 -1
- package/dist/umd/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/umd/Button/BackButton.js +8 -7
- package/dist/umd/Button/BackButton.js.map +1 -1
- package/dist/umd/Button/__tests__/BackButton.test.js +7 -7
- package/dist/umd/Button/__tests__/BackButton.test.js.map +1 -1
- package/dist/umd/Chips/ActionChip.js +6 -6
- package/dist/umd/Chips/ActionChip.js.map +1 -1
- package/dist/umd/Chips/ChipInput.js +5 -5
- package/dist/umd/Chips/ChipInput.js.map +1 -1
- package/dist/umd/Chips/FilterChip.js +6 -6
- package/dist/umd/Chips/FilterChip.js.map +1 -1
- package/dist/umd/Chips/InputChip.js +6 -6
- package/dist/umd/Chips/InputChip.js.map +1 -1
- package/dist/umd/Dropdown/BasicDropdown.js +3 -2
- package/dist/umd/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/umd/Dropdown/ChipDropdownInput.js +6 -6
- package/dist/umd/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/umd/Dropdown/CommonStyling.js +5 -5
- package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
- package/dist/umd/Dropdown/DropdownContent.js +16 -5
- package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
- package/dist/umd/Dropdown/DropdownFilter.js +4 -3
- package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/umd/GlobalNavigationBar/ExtendedMainMenu.js +6 -6
- package/dist/umd/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
- package/dist/umd/GlobalNavigationBar/GlobalNavigationBar.js +9 -6
- package/dist/umd/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js +5 -5
- package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
- package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js +5 -5
- package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
- package/dist/umd/GlobalNavigationBar/mobile/CommonStyles.js +11 -5
- package/dist/umd/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/umd/InputFields/DatepickerField.js +9 -4
- package/dist/umd/InputFields/DatepickerField.js.map +1 -1
- package/dist/umd/InputFields/Label.js +1 -0
- package/dist/umd/InputFields/Label.js.map +1 -1
- package/dist/umd/InputFields/PasswordField.js +2 -1
- package/dist/umd/InputFields/PasswordField.js.map +1 -1
- package/dist/umd/InputFields/QuickSearch.js +6 -5
- package/dist/umd/InputFields/QuickSearch.js.map +1 -1
- package/dist/umd/InputFields/ResponsiveComponentWrapper.js +6 -5
- package/dist/umd/InputFields/ResponsiveComponentWrapper.js.map +1 -1
- package/dist/umd/InputFields/SearchBar.js +1 -0
- package/dist/umd/InputFields/SearchBar.js.map +1 -1
- package/dist/umd/InputFields/TextField.js +1 -0
- package/dist/umd/InputFields/TextField.js.map +1 -1
- package/dist/umd/InputFields/Textarea.js +1 -0
- package/dist/umd/InputFields/Textarea.js.map +1 -1
- package/dist/umd/InputFields/__tests__/QuickSearch.test.js +5 -5
- package/dist/umd/InputFields/__tests__/QuickSearch.test.js.map +1 -1
- package/dist/umd/InputFields/components/SearchBarInput.js +1 -0
- package/dist/umd/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/umd/List/ListRow.js +7 -5
- package/dist/umd/List/ListRow.js.map +1 -1
- package/dist/umd/LoadingIndicator/LoadingIndicator.js +8 -7
- package/dist/umd/LoadingIndicator/LoadingIndicator.js.map +1 -1
- package/dist/umd/Modals/ModalContainer.js +6 -5
- package/dist/umd/Modals/ModalContainer.js.map +1 -1
- package/dist/umd/NavItem/NavItem.js +7 -4
- package/dist/umd/NavItem/NavItem.js.map +1 -1
- package/dist/umd/NotificationDot/NotificationDot.js +13 -12
- package/dist/umd/NotificationDot/NotificationDot.js.map +1 -1
- package/dist/umd/NotificationDot/__tests__/NotificationDot.test.js +6 -6
- package/dist/umd/NotificationDot/__tests__/NotificationDot.test.js.map +1 -1
- package/dist/umd/Paginator/Paginator.js +8 -4
- package/dist/umd/Paginator/Paginator.js.map +1 -1
- package/dist/umd/Switcher/MobileSwitcherMenu.js +5 -5
- package/dist/umd/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/umd/Switcher/SwitcherMenuItem.js +8 -4
- package/dist/umd/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/umd/Table/Table.js +1 -1
- package/dist/umd/Table/Table.js.map +1 -1
- package/dist/umd/Tabs/HorizontalTabs.js +17 -11
- package/dist/umd/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/umd/Tabs/TabLink.js +20 -9
- package/dist/umd/Tabs/TabLink.js.map +1 -1
- package/dist/umd/Tabs/Tabs.js +18 -17
- package/dist/umd/Tabs/Tabs.js.map +1 -1
- package/dist/umd/Tabs/VerticalTabs.js +6 -5
- package/dist/umd/Tabs/VerticalTabs.js.map +1 -1
- package/dist/umd/Toasters/ToastContext.js +5 -5
- package/dist/umd/Toasters/ToastContext.js.map +1 -1
- package/dist/umd/Tooltips/TooltipStyles.js +6 -6
- package/dist/umd/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/umd/styles/typography.js +12 -12
- package/dist/umd/styles/typography.js.map +1 -1
- package/dist/umd/styles/z-indexes.js +33 -0
- package/dist/umd/styles/z-indexes.js.map +1 -0
- package/dist/umd/types.js +0 -1
- package/dist/umd/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/InputFields/DatepickerField.tsx"],"names":["DatePickerContainer","styled","div","props","margin","COLORS","primary_20","primary_100","focus_25","focus","neutral_20","neutral_200","yearPicker","ComponentTextStyle","Bold","neutral_600","scrollBarStyling","Regular","white","primary_700","primary_800","primary_500","neutral_700","neutral_100","DatepickerRow","disabled","locked","css","primary_600","StyledInputFieldStyling","InputFieldStyling","primary_200","primary_300","neutral_300","DatepickerField","id","onChange","hasError","value","validationMessage","dateFormat","autoComplete","placeholder","required","yearsBeforeCurrentDate","yearsAfterCurrentDate","inputRef","React","useRef","datepickerRef","useState","tabbedHere","setTabbedHere","activeMonthPage","setActiveMonthPage","yearPickerMode","setYearPickerMode","openAt","setOpenAt","supressFocusRef","useEffect","current","format","selectedDate","document","getElementsByClassName","dropdownParent","parentElement","scrollTop","offsetTop","offsetHeight","setOpen","handleCalendarOpen","maxDate","Date","setFullYear","getFullYear","minDate","itemsNumber","Math","round","e","newDate","setMonth","en","undefined","params","createElement","DatepickerFieldHeader","customHeaderCount","display","critical_400"],"mappings":"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","sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled, {css} from 'styled-components';\nimport DatePicker from 'react-datepicker';\nimport en from 'date-fns/locale/en-GB';\nimport moment from 'moment';\n\n/**\n * Import custom components.\n */\nimport COLORS from '../styles/colors';\nimport {Calendar, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {IconButton} from '../Button/index';\nimport {DatepickerFieldHeader, DatepickerFieldHeaderParams} from './DatepickerFieldHeader';\nimport {ComponentTextStyle, 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/typography';\n\n/**\n * Add custom types.\n */\ntype DatepickerFieldProps = {\n id: string;\n disabled?: boolean;\n locked?: boolean;\n onChange?: (date: Date) => void;\n hasError?: boolean;\n value?: Date;\n dateFormat?: string;\n validationMessage?: string;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\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 > div {\n display: block;\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n\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\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 background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\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='%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 .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}\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\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 color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\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 color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\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 color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n }\n }\n }\n }\n`;\n\nconst DatepickerRow = styled.div<{ disabled?: boolean; locked?: boolean }>`\n display: flex;\n flex-direction: row;\n position: relative;\n\n > button {\n position: absolute;\n right: 4px;\n top: 4px;\n\n svg {\n }\n }\n\n ${(props) =>\n props?.disabled || props?.locked\n ? ''\n : css`\n &:hover {\n svg,\n svg path {\n fill: ${COLORS.primary_600} !important;\n }\n }\n `}\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n`;\n\nconst StyledInputFieldStyling = styled(InputFieldStyling)`\n &:hover {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_200};\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n cursor: pointer;\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_300};\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n span {\n color: ${COLORS.neutral_300};\n }\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst DatepickerField = ({\n id,\n disabled,\n locked,\n onChange,\n hasError,\n value,\n validationMessage,\n dateFormat,\n autoComplete,\n placeholder,\n required,\n yearPicker,\n yearsBeforeCurrentDate,\n yearsAfterCurrentDate,\n margin,\n}: DatepickerFieldProps) => {\n // Globally used variables within the component\n const inputRef = React.useRef<any>(null);\n const datepickerRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\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 const supressFocusRef = React.useRef<any>(null);\n\n /**\n * Format the date in a specific way.\n */\n React.useEffect(() => {\n if (value) inputRef.current.value = moment(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 const handleCalendarOpen = () => {\n if (openAt) setOpenAt(null);\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 return (\n <>\n {/* Let's render the input itself */}\n <DatePickerContainer yearPicker={yearPickerMode} margin={margin || ''}>\n <DatePicker\n ref={datepickerRef}\n onCalendarOpen={handleCalendarOpen}\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 || locked}\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 shouldCloseOnSelect={true}\n renderCustomHeader={\n yearPicker\n ? (params: DatepickerFieldHeaderParams) =>\n React.createElement(\n DatepickerFieldHeader,\n { ...params, setActiveMonthPage, customHeaderCount: 0, yearPickerMode: yearPickerMode, setYearPickerMode: setYearPickerMode },\n null,\n )\n : undefined\n }\n customInput={\n <InputWrapper disabled={disabled} locked={locked} tabIndex={disabled ? -1 : 0}>\n <div style={{ display: 'block' }}>\n <DatepickerRow locked={locked} disabled={disabled}>\n <StyledInputFieldStyling\n id={id}\n ref={inputRef}\n type=\"text\"\n name=\"datepicker\"\n readOnly={true}\n className={hasError ? 'error' : ''}\n tabIndex={0}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n locked={locked}\n required={required}\n tabbedHere={tabbedHere}\n onBlur={() => setTabbedHere(false)}\n onMouseDown={(e: any) => {\n if (!(locked || disabled) && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!(locked || disabled)) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n />\n <IconButton variant=\"secondary\" shape=\"square\" tabIndex={-1} action={() => {}} disabled={disabled || locked}>\n <Calendar size=\"24\" />\n </IconButton>\n </DatepickerRow>\n </div>\n </InputWrapper>\n }\n />\n </DatePickerContainer>\n\n {/* If there is an error, let's render the error */}\n {validationMessage && (\n <ErrorMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default DatepickerField;\n"],"file":"DatepickerField.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/DatepickerField.tsx"],"names":["DatePickerContainer","styled","div","Z_INDEXES","dropdown","props","margin","COLORS","primary_20","primary_100","focus_25","focus","neutral_20","neutral_200","yearPicker","ComponentTextStyle","Bold","neutral_600","scrollBarStyling","Regular","white","primary_700","primary_800","primary_500","neutral_700","neutral_100","DatepickerRow","disabled","locked","css","primary_600","StyledInputFieldStyling","InputFieldStyling","primary_200","primary_300","neutral_300","DatepickerField","id","onChange","hasError","value","validationMessage","dateFormat","autoComplete","placeholder","required","yearsBeforeCurrentDate","yearsAfterCurrentDate","inputRef","React","useRef","datepickerRef","useState","tabbedHere","setTabbedHere","activeMonthPage","setActiveMonthPage","yearPickerMode","setYearPickerMode","openAt","setOpenAt","supressFocusRef","useEffect","current","format","selectedDate","document","getElementsByClassName","dropdownParent","parentElement","scrollTop","offsetTop","offsetHeight","setOpen","handleCalendarOpen","maxDate","Date","setFullYear","getFullYear","minDate","itemsNumber","Math","round","e","newDate","setMonth","en","undefined","params","createElement","DatepickerFieldHeader","customHeaderCount","display","critical_400"],"mappings":"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","sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled, {css} from 'styled-components';\nimport DatePicker from 'react-datepicker';\nimport en from 'date-fns/locale/en-GB';\nimport moment from 'moment';\n\n/**\n * Import custom components.\n */\nimport COLORS from '../styles/colors';\nimport {Calendar, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {IconButton} from '../Button/index';\nimport {DatepickerFieldHeader, DatepickerFieldHeaderParams} from './DatepickerFieldHeader';\nimport {ComponentTextStyle, 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/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\n/**\n * Add custom types.\n */\ntype DatepickerFieldProps = {\n id: string;\n disabled?: boolean;\n locked?: boolean;\n onChange?: (date: Date) => void;\n hasError?: boolean;\n value?: Date;\n dateFormat?: string;\n validationMessage?: string;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\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 \n .react-datepicker-popper{\n z-index: ${Z_INDEXES.dropdown}; \n }\n\n > div {\n display: block;\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n\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\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 background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\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='%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 .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}\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\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 color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\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 color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\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 color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n }\n }\n }\n }\n`;\n\nconst DatepickerRow = styled.div<{ disabled?: boolean; locked?: boolean }>`\n display: flex;\n flex-direction: row;\n position: relative;\n\n > button {\n position: absolute;\n right: 4px;\n top: 4px;\n\n svg {\n }\n }\n\n ${(props) =>\n props?.disabled || props?.locked\n ? ''\n : css`\n &:hover {\n svg,\n svg path {\n fill: ${COLORS.primary_600} !important;\n }\n }\n `}\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n`;\n\nconst StyledInputFieldStyling = styled(InputFieldStyling)`\n &:hover {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_200};\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n cursor: pointer;\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_300};\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n span {\n color: ${COLORS.neutral_300};\n }\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst DatepickerField = ({\n id,\n disabled,\n locked,\n onChange,\n hasError,\n value,\n validationMessage,\n dateFormat,\n autoComplete,\n placeholder,\n required,\n yearPicker,\n yearsBeforeCurrentDate,\n yearsAfterCurrentDate,\n margin,\n}: DatepickerFieldProps) => {\n // Globally used variables within the component\n const inputRef = React.useRef<any>(null);\n const datepickerRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\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 const supressFocusRef = React.useRef<any>(null);\n\n /**\n * Format the date in a specific way.\n */\n React.useEffect(() => {\n if (value) inputRef.current.value = moment(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 const handleCalendarOpen = () => {\n if (openAt) setOpenAt(null);\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 return (\n <>\n {/* Let's render the input itself */}\n <DatePickerContainer yearPicker={yearPickerMode} margin={margin || ''}>\n <DatePicker\n ref={datepickerRef}\n onCalendarOpen={handleCalendarOpen}\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 || locked}\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 shouldCloseOnSelect={true}\n renderCustomHeader={\n yearPicker\n ? (params: DatepickerFieldHeaderParams) =>\n React.createElement(\n DatepickerFieldHeader,\n { ...params, setActiveMonthPage, customHeaderCount: 0, yearPickerMode: yearPickerMode, setYearPickerMode: setYearPickerMode },\n null,\n )\n : undefined\n }\n customInput={\n <InputWrapper disabled={disabled} locked={locked} tabIndex={disabled ? -1 : 0}>\n <div style={{ display: 'block' }}>\n <DatepickerRow locked={locked} disabled={disabled}>\n <StyledInputFieldStyling\n id={id}\n ref={inputRef}\n type=\"text\"\n name=\"datepicker\"\n readOnly={true}\n className={hasError ? 'error' : ''}\n tabIndex={0}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n locked={locked}\n required={required}\n tabbedHere={tabbedHere}\n onBlur={() => setTabbedHere(false)}\n onMouseDown={(e: any) => {\n if (!(locked || disabled) && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!(locked || disabled)) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n />\n <IconButton variant=\"secondary\" shape=\"square\" tabIndex={-1} action={() => {}} disabled={disabled || locked}>\n <Calendar size=\"24\" />\n </IconButton>\n </DatepickerRow>\n </div>\n </InputWrapper>\n }\n />\n </DatePickerContainer>\n\n {/* If there is an error, let's render the error */}\n {validationMessage && (\n <ErrorMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default DatepickerField;\n"],"file":"DatepickerField.js"}
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
* Import React libraries.
|
|
3
3
|
*/
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import { Size } from '../types';
|
|
6
5
|
declare type LabelProps = {
|
|
7
6
|
inputId: string;
|
|
8
7
|
text: string;
|
|
9
|
-
size?:
|
|
8
|
+
size?: 'small' | 'medium';
|
|
10
9
|
margin?: string;
|
|
11
10
|
};
|
|
12
11
|
declare const InputLabel: React.FunctionComponent<LabelProps>;
|
|
@@ -101,6 +101,7 @@ var InputLabel = function InputLabel(_ref) {
|
|
|
101
101
|
InputLabel.propTypes = {
|
|
102
102
|
inputId: _propTypes.default.string.isRequired,
|
|
103
103
|
text: _propTypes.default.string.isRequired,
|
|
104
|
+
size: _propTypes.default.oneOf(['small', 'medium']),
|
|
104
105
|
margin: _propTypes.default.string
|
|
105
106
|
};
|
|
106
107
|
var _default = InputLabel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/InputFields/Label.tsx"],"names":["Label","styled","label","COLORS","neutral_500","BREAKPOINTS","MEDIUM","LabelRow","div","props","margin","InputLabel","inputId","text","size","React","useState","required","setRequired","useEffect","document","getElementById","getAttribute","onTriggerClick","id","click"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/Label.tsx"],"names":["Label","styled","label","COLORS","neutral_500","BREAKPOINTS","MEDIUM","LabelRow","div","props","margin","InputLabel","inputId","text","size","React","useState","required","setRequired","useEffect","document","getElementById","getAttribute","onTriggerClick","id","click"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAMA,KAAK,GAAGC,0BAAOC,KAAV,sKACP,qCAAoB,CAApB,EAAuBC,eAAOC,WAA9B,CADO,EAGPC,oBAAYC,MAHL,EAIL,oCAAmB,CAAnB,EAAsBH,eAAOC,WAA7B,CAJK,EAQL,qCAAoB,CAApB,EAAuBD,eAAOC,WAA9B,CARK,EAWL,oCAAmB,CAAnB,EAAsBD,eAAOC,WAA7B,CAXK,CAAX;;AAeA,IAAMG,QAAQ,GAAGN,0BAAOO,GAAV,uIAGV,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,MAAN,qBAA0BD,KAAK,CAACC,MAAhC,SAA4C,EAAxD;AAAA,CAHU,CAAd,C,CAMA;;;AAQA,IAAMC,UAA+C,GAAG,SAAlDA,UAAkD,OAAiD;AAAA;;AAAA,MAA9CC,OAA8C,QAA9CA,OAA8C;AAAA,MAArCC,IAAqC,QAArCA,IAAqC;AAAA,MAA/BC,IAA+B,QAA/BA,IAA+B;AAAA,MAAzBJ,MAAyB,QAAzBA,MAAyB;;AACvG;AACA,wBAAgCK,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;AAEA;AACF;AACA;;;AACEH,EAAAA,KAAK,CAACI,SAAN,CAAgB,YAAM;AAAA;;AACpB,QAAI,0BAAAC,QAAQ,CAACC,cAAT,CAAwBT,OAAxB,iFAAkCU,YAAlC,CAA+C,UAA/C,OAA+D,EAAnE,EAAuE;AACrEJ,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAFD,MAEO;AACLA,MAAAA,WAAW,CAAC,KAAD,CAAX;AACD;AACF,GAND,EAMG,2BAACE,QAAQ,CAACC,cAAT,CAAwBT,OAAxB,CAAD,2DAAC,uBAAkCU,YAAlC,CAA+C,UAA/C,CAAD,CANH;AAOA;AACF;AACA;AACA;;AACE,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,EAAD,EAAsB;AAAA;;AAC3C,8BAAAJ,QAAQ,CAACC,cAAT,CAAwBG,EAAxB,mFAA6BC,KAA7B;AACD,GAFD;;AAIA,sBACE,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAEf;AAAlB,kBACE,oBAAC,KAAD;AAAO,IAAA,OAAO,EAAEE,OAAhB;AAAyB,IAAA,OAAO,EAAE;AAAA,aAAMW,cAAc,CAACX,OAAD,CAApB;AAAA,KAAlC;AAAiE,IAAA,SAAS,EAAEE,IAAI,IAAI;AAApF,KACGD,IADH,CADF,EAIGI,QAAQ,iBAAI,oBAAC,qBAAD,YAJf,CADF;AAQD,CA9BD;;;AANEL,EAAAA,O;AACAC,EAAAA,I;AACAC,EAAAA,I,4BAAO,O,EAAU,Q;AACjBJ,EAAAA,M;;eAmCaC,U","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { RequiredStar } from './styling';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentXSStyling, ComponentXXSStyling } from '../styles/typography';\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\nconst LabelRow = styled.div<{ margin?: string }>`\n display: flex;\n justify-content: space-between;\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n`;\n\n// Add component-specific types\ntype LabelProps = {\n inputId: string;\n text: string;\n size?: 'small' | 'medium';\n margin?: string;\n};\n\nconst InputLabel: React.FunctionComponent<LabelProps> = ({ inputId, text, size, margin }: LabelProps) => {\n // Globally used variables within the component\n const [required, setRequired] = React.useState<boolean>(false);\n\n /**\n * Checks if field is set as required and we have to mark it accordingly.\n */\n React.useEffect(() => {\n if (document.getElementById(inputId)?.getAttribute('required') === '') {\n setRequired(true);\n } else {\n setRequired(false);\n }\n }, [document.getElementById(inputId)?.getAttribute('required')]);\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 return (\n <LabelRow margin={margin}>\n <Label htmlFor={inputId} onClick={() => onTriggerClick(inputId)} className={size || ''}>\n {text}\n </Label>\n {required && <RequiredStar>*</RequiredStar>}\n </LabelRow>\n );\n};\n\nexport default InputLabel;\n"],"file":"Label.js"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Size } from '../types';
|
|
2
1
|
declare type PasswordFieldProps = {
|
|
3
2
|
id: string;
|
|
4
3
|
disabled?: boolean;
|
|
@@ -11,7 +10,7 @@ declare type PasswordFieldProps = {
|
|
|
11
10
|
placeholder?: string;
|
|
12
11
|
required?: boolean;
|
|
13
12
|
readOnly?: boolean;
|
|
14
|
-
size?:
|
|
13
|
+
size?: 'small' | 'medium';
|
|
15
14
|
margin?: string;
|
|
16
15
|
};
|
|
17
16
|
declare const PasswordField: ({ id, disabled, locked, onChange, hasError, value, validationMessage, autoComplete, placeholder, required, readOnly, size, margin }: PasswordFieldProps) => JSX.Element;
|
|
@@ -39,7 +39,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
39
39
|
|
|
40
40
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
41
41
|
|
|
42
|
-
var StyledPassSwitch = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n float: right;\n margin-left: -40px;\n margin-top: 8px;\n position: relative;\n z-index:
|
|
42
|
+
var StyledPassSwitch = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n float: right;\n margin-left: -40px;\n margin-top: 8px;\n position: relative;\n z-index: 1;\n height: 30px;\n width: 30px;\n\n ", " {\n margin-top: 12px;\n }\n\n &.small {\n margin-top: 8px;\n }\n\n &.medium {\n margin-top: 12px;\n }\n\n svg {\n cursor: pointer;\n }\n div {\n &:focus {\n outline: none;\n svg {\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n border-radius: 4px;\n }\n }\n }\n"])), _styles.BREAKPOINTS.MEDIUM);
|
|
43
43
|
|
|
44
44
|
var PasswordRow = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n"])));
|
|
45
45
|
|
|
@@ -166,6 +166,7 @@ PasswordField.propTypes = {
|
|
|
166
166
|
placeholder: _propTypes.default.string,
|
|
167
167
|
required: _propTypes.default.bool,
|
|
168
168
|
readOnly: _propTypes.default.bool,
|
|
169
|
+
size: _propTypes.default.oneOf(['small', 'medium']),
|
|
169
170
|
margin: _propTypes.default.string
|
|
170
171
|
};
|
|
171
172
|
var _default = PasswordField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/InputFields/PasswordField.tsx"],"names":["StyledPassSwitch","styled","div","BREAKPOINTS","MEDIUM","PasswordRow","PasswordField","id","disabled","locked","onChange","hasError","value","validationMessage","autoComplete","placeholder","required","readOnly","size","margin","React","useState","passwordHidden","setPasswordHidden","inputRef","useRef","tabbedHere","setTabbedHere","handleKeyDown","e","keyCode","target","includes","current","focus","display","concat"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAMA,gBAAgB,GAAGC,0BAAOC,GAAV,6iBASlBC,oBAAYC,MATM,CAAtB;;AAmCA,IAAMC,WAAW,GAAGJ,0BAAOC,GAAV,mHAAjB;;AAKA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,OAA6J;AAAA,MAA1JC,EAA0J,QAA1JA,EAA0J;AAAA,MAAtJC,QAAsJ,QAAtJA,QAAsJ;AAAA,MAA5IC,MAA4I,QAA5IA,MAA4I;AAAA,MAApIC,SAAoI,QAApIA,QAAoI;AAAA,MAA1HC,QAA0H,QAA1HA,QAA0H;AAAA,MAAhHC,KAAgH,QAAhHA,KAAgH;AAAA,MAAzGC,iBAAyG,QAAzGA,iBAAyG;AAAA,MAAtFC,YAAsF,QAAtFA,YAAsF;AAAA,MAAxEC,WAAwE,QAAxEA,WAAwE;AAAA,MAA3DC,QAA2D,QAA3DA,QAA2D;AAAA,MAAjDC,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,MAAiC,QAAjCA,MAAiC;;AACjL,wBAA4CC,KAAK,CAACC,QAAN,CAAwB,IAAxB,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,MAAMC,QAAQ,GAAGJ,KAAK,CAACK,MAAN,CAAkB,IAAlB,CAAjB;;AACA,yBAAoCL,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAApC;AAAA;AAAA,MAAOK,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAY;AAChC,QAAIA,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;AACpBP,MAAAA,iBAAiB,CAAC,CAACD,cAAF,CAAjB;AACD;AACF,GAJD;;AAKA,sBACE,uDACE,oBAAC,qBAAD;AACE,IAAA,QAAQ,EAAEd,QADZ;AAEE,IAAA,MAAM,EAAEC,MAFV;AAGE,IAAA,MAAM,EAAEU,MAHV;AAIE,IAAA,QAAQ,EAAEX,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAJ5B;AAKE,IAAA,OAAO,EAAE,iBAACqB,CAAD,EAAY;AAAA;;AACnB,UAAI,EAACA,CAAD,aAACA,CAAD,4BAACA,CAAC,CAAEE,MAAJ,sCAAC,UAAWxB,EAAX,CAAcyB,QAAd,CAAuBzB,EAAvB,CAAD,KAA+B,CAACC,QAAhC,IAA4C,CAACC,MAAjD,EAAyD;AACvDkB,QAAAA,aAAa,CAAC,IAAD,CAAb;AACAH,QAAAA,QAAQ,CAACS,OAAT,CAAiBC,KAAjB;AACD;AACF;AAVH,kBAWE;AAAK,IAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAX;AAAZ,kBACE,oBAAC,WAAD,qBACE,oBAAC,0BAAD;AACE,IAAA,EAAE,EAAE5B,EADN;AAEE,IAAA,GAAG,EAAEiB,QAFP;AAGE,IAAA,IAAI,EAAEF,cAAc,GAAG,UAAH,GAAgB,MAHtC;AAIE,IAAA,IAAI,EAAC,UAJP;AAKE,IAAA,KAAK,EAAEV,KALT;AAME,IAAA,SAAS,EAAE,CAACD,QAAQ,GAAG,OAAH,GAAa,EAAtB,EAA0ByB,MAA1B,CAAiClB,IAAI,GAAGA,IAAH,GAAU,EAA/C,CANb;AAOE,IAAA,QAAQ,EAAE,CAAC,CAPb;AAQE,IAAA,YAAY,EAAEJ,YARhB;AASE,IAAA,WAAW,EAAEC,WATf;AAUE,IAAA,QAAQ,EAAEP,QAVZ;AAWE,IAAA,MAAM,EAAEC,MAXV;AAYE,IAAA,QAAQ,EAAEO,QAZZ;AAaE,IAAA,QAAQ,EAAEC,QAbZ;AAcE,IAAA,QAAQ,EAAE,kBAACY,CAAD;AAAA;;AAAA,aAAYnB,SAAQ,IAAIA,SAAQ,CAAC,CAAAmB,CAAC,SAAD,IAAAA,CAAC,WAAD,0BAAAA,CAAC,CAAEE,MAAH,0DAAWnB,KAAX,KAAoB,EAArB,CAAhC;AAAA,KAdZ;AAeE,IAAA,UAAU,EAAEc,UAfd;AAgBE,IAAA,MAAM,EAAE;AAAA,aAAMC,aAAa,CAAC,KAAD,CAAnB;AAAA;AAhBV,IADF,eAmBE,oBAAC,gBAAD;AAAkB,IAAA,SAAS,EAAET,IAAI,GAAGA,IAAH,GAAU;AAA3C,KACG,CAACV,QAAD,IAAa,CAACC,MAAd,GACCa,cAAc,gBACZ;AAAK,IAAA,EAAE,YAAKf,EAAL,aAAP;AAA0B,IAAA,QAAQ,EAAE,CAApC;AAAuC,IAAA,SAAS,EAAEqB,aAAlD;AAAiE,IAAA,OAAO,EAAE;AAAA,aAAML,iBAAiB,CAAC,CAACD,cAAF,CAAvB;AAAA;AAA1E,kBACE;AAAK,IAAA,OAAO,EAAC,WAAb;AAAyB,IAAA,IAAI,EAAC,MAA9B;AAAqC,IAAA,KAAK,EAAC;AAA3C,kBACE;AACE,IAAA,CAAC,EAAC,+xCADJ;AAEE,IAAA,IAAI,EAAC;AAFP,IADF,CADF,CADY,gBASZ;AAAK,IAAA,EAAE,YAAKf,EAAL,gBAAP;AAA6B,IAAA,QAAQ,EAAE,CAAvC;AAA0C,IAAA,SAAS,EAAEqB,aAArD;AAAoE,IAAA,OAAO,EAAE;AAAA,aAAML,iBAAiB,CAAC,CAACD,cAAF,CAAvB;AAAA;AAA7E,kBACE;AAAK,IAAA,OAAO,EAAC,WAAb;AAAyB,IAAA,IAAI,EAAC,MAA9B;AAAqC,IAAA,KAAK,EAAC;AAA3C,kBACE;AACE,IAAA,CAAC,EAAC,mNADJ;AAEE,IAAA,IAAI,EAAC;AAFP,IADF,eAKE;AACE,IAAA,CAAC,EAAC,0bADJ;AAEE,IAAA,IAAI,EAAC;AAFP,IALF,CADF,CAVH,GAuBG,IAxBN,CAnBF,CADF,CAXF,CADF,EA6DGT,iBAAiB,iBAAI;AAAM,IAAA,SAAS,EAAC;AAAhB,KAA6BA,iBAA7B,CA7DxB,CADF;AAiED,CA3ED;;;AAvDEN,EAAAA,E;AACAC,EAAAA,Q;AACAC,EAAAA,M;AACAC,EAAAA,Q;AACAC,EAAAA,Q;AACAC,EAAAA,K;AACAC,EAAAA,iB;AACAC,EAAAA,Y;AACAC,EAAAA,W;AACAC,EAAAA,Q;AACAC,EAAAA,Q;AAEAE,EAAAA,M;;eAwHab,a","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS } from '../styles';\nimport { Size} from '../types';\nimport { InputFieldStyling, InputWrapper } from './styling';\n\ntype PasswordFieldProps = {\n id: string;\n disabled?: boolean;\n locked?: boolean;\n onChange?: (text: string) => void;\n hasError?: boolean;\n value?: string;\n validationMessage?: string;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n readOnly?: boolean;\n size?: Size.Small | Size.Medium;\n margin?: string;\n};\n\nconst StyledPassSwitch = styled.div`\n float: right;\n margin-left: -40px;\n margin-top: 8px;\n position: relative;\n z-index: 2;\n height: 30px;\n width: 30px;\n\n ${BREAKPOINTS.MEDIUM} {\n margin-top: 12px;\n }\n\n &.small {\n margin-top: 8px;\n }\n\n &.medium {\n margin-top: 12px;\n }\n\n svg {\n cursor: pointer;\n }\n div {\n &:focus {\n outline: none;\n svg {\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n border-radius: 4px;\n }\n }\n }\n`;\n\nconst PasswordRow = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst PasswordField = ({ id, disabled, locked, onChange, hasError, value, validationMessage, autoComplete, placeholder, required, readOnly, size, margin }: PasswordFieldProps) => {\n const [passwordHidden, setPasswordHidden] = React.useState<Boolean>(true);\n const inputRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const handleKeyDown = (e: any) => {\n if (e.keyCode === 13) {\n setPasswordHidden(!passwordHidden);\n }\n };\n return (\n <>\n <InputWrapper\n disabled={disabled}\n locked={locked}\n margin={margin}\n tabIndex={disabled ? -1 : 0}\n onFocus={(e: any) => {\n if (!e?.target?.id.includes(id) && !disabled && !locked) {\n setTabbedHere(true);\n inputRef.current.focus();\n }\n }}>\n <div style={{ display: 'block' }}>\n <PasswordRow>\n <InputFieldStyling\n id={id}\n ref={inputRef}\n type={passwordHidden ? 'password' : 'text'}\n name=\"password\"\n value={value}\n className={(hasError ? 'error' : '').concat(size ? size : '')}\n tabIndex={-1}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n locked={locked}\n required={required}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n tabbedHere={tabbedHere}\n onBlur={() => setTabbedHere(false)}\n />\n <StyledPassSwitch className={size ? size : ''}>\n {!disabled && !locked ? (\n passwordHidden ? (\n <div id={`${id}_Visible`} tabIndex={0} onKeyDown={handleKeyDown} onClick={() => setPasswordHidden(!passwordHidden)}>\n <svg viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4.05966 12.5853L3.25603 11.7821C2.86542 11.3917 2.23234 11.3918 1.84186 11.7823C1.45115 12.173 1.45115 12.8065 1.84186 13.1972L2.6448 14.0001C2.8984 14.2537 3.1593 14.4956 3.42683 14.7256L1.84172 16.3107C1.4512 16.7013 1.4512 17.3344 1.84172 17.725C2.23225 18.1155 2.86541 18.1155 3.25593 17.725L5.0508 15.9301C5.73486 16.3644 6.44837 16.7336 7.18249 17.0377L6.28268 19.5236C6.09471 20.0429 6.36331 20.6163 6.88262 20.8043C7.40193 20.9922 7.9753 20.7236 8.16327 20.2043L9.08108 17.6687C9.89493 17.8758 10.7238 18.0088 11.5569 18.0675C11.5516 18.1092 11.5488 18.1517 11.5488 18.1948V20.4897C11.5488 21.042 11.9965 21.4897 12.5488 21.4897C13.1011 21.4897 13.5488 21.042 13.5488 20.4897V18.1948C13.5488 18.1517 13.5461 18.1092 13.5408 18.0675C14.3739 18.0088 15.2027 17.8758 16.0166 17.6687L16.9344 20.2043C17.1224 20.7236 17.6957 20.9922 18.215 20.8043C18.7343 20.6163 19.003 20.0429 18.815 19.5236L17.9152 17.0377C18.6462 16.7349 19.3568 16.3675 20.0382 15.9356L21.8276 17.725C22.2181 18.1155 22.8513 18.1155 23.2418 17.725C23.6323 17.3344 23.6323 16.7013 23.2418 16.3107L21.6632 14.7322C21.9334 14.5001 22.1969 14.2561 22.4529 14.0001L23.2558 13.1972C23.6465 12.8065 23.6465 12.173 23.2558 11.7823C22.8653 11.3918 22.2322 11.3917 21.8416 11.7821L21.038 12.5853C16.3496 17.2737 8.7481 17.2737 4.05966 12.5853Z\"\n fill=\"#666666\"></path>\n </svg>\n </div>\n ) : (\n <div id={`${id}_NotVisible`} tabIndex={0} onKeyDown={handleKeyDown} onClick={() => setPasswordHidden(!passwordHidden)}>\n <svg viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.9618 15.4897C14.6186 15.4897 15.9618 14.1466 15.9618 12.4897C15.9618 10.8329 14.6186 9.48975 12.9618 9.48975C11.3049 9.48975 9.96179 10.8329 9.96179 12.4897C9.96179 14.1466 11.3049 15.4897 12.9618 15.4897Z\"\n fill=\"#666666\"\n />\n <path\n d=\"M2.87753 10.83L2.14123 11.9081C1.90198 12.2585 1.90198 12.721 2.14123 13.0714L2.87753 14.1495C7.74011 21.2698 18.1835 21.2698 23.0461 14.1495L23.7824 13.0714C24.0216 12.721 24.0216 12.2585 23.7824 11.9081L23.0461 10.83C18.1835 3.70968 7.74011 3.70967 2.87753 10.83ZM21.3944 11.9579L21.7577 12.4897L21.3944 13.0216C17.326 18.9791 8.59763 18.9791 4.52914 13.0216L4.16592 12.4897L4.52914 11.9579C8.59763 6.00037 17.326 6.00037 21.3944 11.9579Z\"\n fill=\"#666666\"\n />\n </svg>\n </div>\n )\n ) : null}\n </StyledPassSwitch>\n </PasswordRow>\n </div>\n </InputWrapper>\n {validationMessage && <span className=\"error-msg\">{validationMessage}</span>}\n </>\n );\n};\n\nexport default PasswordField;\n"],"file":"PasswordField.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/PasswordField.tsx"],"names":["StyledPassSwitch","styled","div","BREAKPOINTS","MEDIUM","PasswordRow","PasswordField","id","disabled","locked","onChange","hasError","value","validationMessage","autoComplete","placeholder","required","readOnly","size","margin","React","useState","passwordHidden","setPasswordHidden","inputRef","useRef","tabbedHere","setTabbedHere","handleKeyDown","e","keyCode","target","includes","current","focus","display","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS } from '../styles';\nimport { InputFieldStyling, InputWrapper } from './styling';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\ntype PasswordFieldProps = {\n id: string;\n disabled?: boolean;\n locked?: boolean;\n onChange?: (text: string) => void;\n hasError?: boolean;\n value?: string;\n validationMessage?: string;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n readOnly?: boolean;\n size?: 'small' | 'medium';\n margin?: string;\n};\n\nconst StyledPassSwitch = styled.div`\n float: right;\n margin-left: -40px;\n margin-top: 8px;\n position: relative;\n z-index: 1;\n height: 30px;\n width: 30px;\n\n ${BREAKPOINTS.MEDIUM} {\n margin-top: 12px;\n }\n\n &.small {\n margin-top: 8px;\n }\n\n &.medium {\n margin-top: 12px;\n }\n\n svg {\n cursor: pointer;\n }\n div {\n &:focus {\n outline: none;\n svg {\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n border-radius: 4px;\n }\n }\n }\n`;\n\nconst PasswordRow = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst PasswordField = ({ id, disabled, locked, onChange, hasError, value, validationMessage, autoComplete, placeholder, required, readOnly, size, margin }: PasswordFieldProps) => {\n const [passwordHidden, setPasswordHidden] = React.useState<Boolean>(true);\n const inputRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const handleKeyDown = (e: any) => {\n if (e.keyCode === 13) {\n setPasswordHidden(!passwordHidden);\n }\n };\n return (\n <>\n <InputWrapper\n disabled={disabled}\n locked={locked}\n margin={margin}\n tabIndex={disabled ? -1 : 0}\n onFocus={(e: any) => {\n if (!e?.target?.id.includes(id) && !disabled && !locked) {\n setTabbedHere(true);\n inputRef.current.focus();\n }\n }}>\n <div style={{ display: 'block' }}>\n <PasswordRow>\n <InputFieldStyling\n id={id}\n ref={inputRef}\n type={passwordHidden ? 'password' : 'text'}\n name=\"password\"\n value={value}\n className={(hasError ? 'error' : '').concat(size ? size : '')}\n tabIndex={-1}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n locked={locked}\n required={required}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n tabbedHere={tabbedHere}\n onBlur={() => setTabbedHere(false)}\n />\n <StyledPassSwitch className={size ? size : ''}>\n {!disabled && !locked ? (\n passwordHidden ? (\n <div id={`${id}_Visible`} tabIndex={0} onKeyDown={handleKeyDown} onClick={() => setPasswordHidden(!passwordHidden)}>\n <svg viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4.05966 12.5853L3.25603 11.7821C2.86542 11.3917 2.23234 11.3918 1.84186 11.7823C1.45115 12.173 1.45115 12.8065 1.84186 13.1972L2.6448 14.0001C2.8984 14.2537 3.1593 14.4956 3.42683 14.7256L1.84172 16.3107C1.4512 16.7013 1.4512 17.3344 1.84172 17.725C2.23225 18.1155 2.86541 18.1155 3.25593 17.725L5.0508 15.9301C5.73486 16.3644 6.44837 16.7336 7.18249 17.0377L6.28268 19.5236C6.09471 20.0429 6.36331 20.6163 6.88262 20.8043C7.40193 20.9922 7.9753 20.7236 8.16327 20.2043L9.08108 17.6687C9.89493 17.8758 10.7238 18.0088 11.5569 18.0675C11.5516 18.1092 11.5488 18.1517 11.5488 18.1948V20.4897C11.5488 21.042 11.9965 21.4897 12.5488 21.4897C13.1011 21.4897 13.5488 21.042 13.5488 20.4897V18.1948C13.5488 18.1517 13.5461 18.1092 13.5408 18.0675C14.3739 18.0088 15.2027 17.8758 16.0166 17.6687L16.9344 20.2043C17.1224 20.7236 17.6957 20.9922 18.215 20.8043C18.7343 20.6163 19.003 20.0429 18.815 19.5236L17.9152 17.0377C18.6462 16.7349 19.3568 16.3675 20.0382 15.9356L21.8276 17.725C22.2181 18.1155 22.8513 18.1155 23.2418 17.725C23.6323 17.3344 23.6323 16.7013 23.2418 16.3107L21.6632 14.7322C21.9334 14.5001 22.1969 14.2561 22.4529 14.0001L23.2558 13.1972C23.6465 12.8065 23.6465 12.173 23.2558 11.7823C22.8653 11.3918 22.2322 11.3917 21.8416 11.7821L21.038 12.5853C16.3496 17.2737 8.7481 17.2737 4.05966 12.5853Z\"\n fill=\"#666666\"></path>\n </svg>\n </div>\n ) : (\n <div id={`${id}_NotVisible`} tabIndex={0} onKeyDown={handleKeyDown} onClick={() => setPasswordHidden(!passwordHidden)}>\n <svg viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.9618 15.4897C14.6186 15.4897 15.9618 14.1466 15.9618 12.4897C15.9618 10.8329 14.6186 9.48975 12.9618 9.48975C11.3049 9.48975 9.96179 10.8329 9.96179 12.4897C9.96179 14.1466 11.3049 15.4897 12.9618 15.4897Z\"\n fill=\"#666666\"\n />\n <path\n d=\"M2.87753 10.83L2.14123 11.9081C1.90198 12.2585 1.90198 12.721 2.14123 13.0714L2.87753 14.1495C7.74011 21.2698 18.1835 21.2698 23.0461 14.1495L23.7824 13.0714C24.0216 12.721 24.0216 12.2585 23.7824 11.9081L23.0461 10.83C18.1835 3.70968 7.74011 3.70967 2.87753 10.83ZM21.3944 11.9579L21.7577 12.4897L21.3944 13.0216C17.326 18.9791 8.59763 18.9791 4.52914 13.0216L4.16592 12.4897L4.52914 11.9579C8.59763 6.00037 17.326 6.00037 21.3944 11.9579Z\"\n fill=\"#666666\"\n />\n </svg>\n </div>\n )\n ) : null}\n </StyledPassSwitch>\n </PasswordRow>\n </div>\n </InputWrapper>\n {validationMessage && <span className=\"error-msg\">{validationMessage}</span>}\n </>\n );\n};\n\nexport default PasswordField;\n"],"file":"PasswordField.js"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Size } from '../types';
|
|
3
2
|
declare type QuickSearchProps = {
|
|
4
3
|
id: string;
|
|
5
4
|
searchTerm?: string;
|
|
@@ -10,7 +9,7 @@ declare type QuickSearchProps = {
|
|
|
10
9
|
performSearchLabel?: string;
|
|
11
10
|
disabled?: boolean;
|
|
12
11
|
onKeyDown?: (e: React.KeyboardEvent) => void;
|
|
13
|
-
size?:
|
|
12
|
+
size?: 'small' | 'medium';
|
|
14
13
|
margin?: string;
|
|
15
14
|
loading?: boolean;
|
|
16
15
|
};
|
|
@@ -17,8 +17,6 @@ var _Iconbutton = _interopRequireDefault(require("../Button/Iconbutton"));
|
|
|
17
17
|
|
|
18
18
|
var _styling = require("./styling");
|
|
19
19
|
|
|
20
|
-
var _types = require("../types");
|
|
21
|
-
|
|
22
20
|
var _ = require("..");
|
|
23
21
|
|
|
24
22
|
var _SystemIcons = require("../icons/systemicons/SystemIcons");
|
|
@@ -187,7 +185,7 @@ var QuickSearch = function QuickSearch(_ref) {
|
|
|
187
185
|
className: size ? size : '',
|
|
188
186
|
tabIndex: -1
|
|
189
187
|
}, /*#__PURE__*/React.createElement(_.LoadingIndicator, {
|
|
190
|
-
size:
|
|
188
|
+
size: "small",
|
|
191
189
|
color: _.COLORS.neutral_600
|
|
192
190
|
})));
|
|
193
191
|
};
|
|
@@ -202,6 +200,7 @@ QuickSearch.propTypes = {
|
|
|
202
200
|
performSearchLabel: _propTypes.default.string,
|
|
203
201
|
disabled: _propTypes.default.bool,
|
|
204
202
|
onKeyDown: _propTypes.default.func,
|
|
203
|
+
size: _propTypes.default.oneOf(['small', 'medium']),
|
|
205
204
|
margin: _propTypes.default.string,
|
|
206
205
|
loading: _propTypes.default.bool
|
|
207
206
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/InputFields/QuickSearch.tsx"],"names":["QuickSearchField","StyledSearchField","props","margin","COLORS","white","neutral_600","expanded","primary_800","primary_700","QuickSearch","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","loading","searchFieldRef","React","useRef","searchFieldInputRef","useState","searchFieldVisible","setSearchFieldVisible","tabbedHere","setTabbedHere","handleClickOutside","e","current","contains","target","length","useEffect","document","addEventListener","removeEventListener","focus","handleKeyDown","key","event","relatedTarget","concat","term","neutral_300","undefined","Size","Small"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport IconButton from '../Button/Iconbutton';\nimport { SearchIconWrapper, StyledIcon } from './styling';\nimport { Size } from '../types';\nimport { COLORS, LoadingIndicator } from '..';\nimport { Search as SearchIcon, Clear as ClearIcon } from '../icons/systemicons/SystemIcons';\nimport SearchBarInput from './components/SearchBarInput';\nimport { StyledSearchField } from './components/SearchField';\n\nconst QuickSearchField = styled(StyledSearchField)<{ expanded: boolean; margin?: string }>`\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n -webkit-transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n \n &.expanded{\n width: 100%;\n background-color: ${COLORS.white};\n }\n\n input {\n ::placeholder {\n font-style: italic;\n color: ${COLORS.neutral_600};\n }\n }\n\n box-shadow: ${(props) => (props.expanded ? `inset 0px 0px 0px 2px ${COLORS.primary_800}` : 'none !important')};\n\n &:hover {\n box-shadow: ${(props) => (props.expanded ? `inset 0px 0px 0px 2px ${COLORS.primary_700}` : 'none !important')};\n }\n`;\n\ntype QuickSearchProps = {\n id: string;\n searchTerm?: string;\n setSearchTerm: (term: string) => void;\n enterSearch: (e: any) => void;\n removeSearch: (e: any) => void;\n placeholder?: string;\n performSearchLabel?: string;\n disabled?: boolean;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: Size.Small | Size.Medium;\n margin?: string;\n loading?: boolean;\n};\n\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n onKeyDown,\n size,\n margin,\n loading,\n}: QuickSearchProps) => {\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\n\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<boolean>(false);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const handleClickOutside = (e: any) => {\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\n if (searchFieldVisible && !searchTerm?.length) {\n setSearchFieldVisible(false);\n }\n }\n };\n\n React.useEffect(() => {\n if (searchTerm?.length) {\n setSearchFieldVisible(true);\n }\n }, [searchTerm]);\n\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n React.useEffect(() => {\n if (searchFieldVisible) {\n searchFieldInputRef?.current?.focus();\n }\n }, [searchFieldVisible, searchFieldInputRef, id]);\n\n const handleKeyDown = (e: any) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Escape') {\n if (searchFieldVisible && !searchTerm?.length) {\n setSearchFieldVisible(false);\n }\n }\n };\n\n return (\n <QuickSearchField\n ref={searchFieldRef}\n expanded={searchFieldVisible}\n id={`${id}_main`}\n onBlur={(event: any) => {\n if (event.relatedTarget && searchFieldRef?.current && !searchFieldRef.current.contains(event.relatedTarget) && !searchTerm) {\n setSearchFieldVisible(false);\n }\n }}\n data-testid={`${id}_main`}\n className={(searchTerm !== '' ? 'searchactive ' : '').concat(size ? size : '').concat( searchFieldVisible ? ' expanded' : '')}\n tabbedHere={tabbedHere}\n tabIndex={-1}\n margin={margin}>\n {searchFieldVisible && (\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n ref={searchFieldInputRef}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n size={size}\n setTabbedHere={setTabbedHere}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n enterSearch={enterSearch}\n />\n )}\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel} tabIndex={-1}>\n <IconButton\n id={`${id}_Searchbutton`}\n variant=\"secondary\"\n shape=\"circular\"\n tabIndex={searchFieldVisible ? -1 : 0}\n action={(e) => (searchFieldVisible ? enterSearch(e) : setSearchFieldVisible(searchFieldVisible ? false : true))}>\n <SearchIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600} />\n </IconButton>\n </SearchIconWrapper>\n <StyledIcon className={size ? size : ''} role=\"button\" tabIndex={-1} hidden={searchTerm === '' || searchTerm === undefined || !searchFieldVisible}>\n <IconButton\n id={`${id}_Clearicon`}\n variant=\"secondary\"\n shape=\"circular\"\n action={(e) => {\n removeSearch(e);\n searchFieldInputRef?.current?.focus();\n }}>\n <ClearIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600} />\n </IconButton>\n </StyledIcon>\n {loading && searchFieldVisible && (\n <StyledIcon className={size ? size : ''} tabIndex={-1}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\n </StyledIcon>\n )}\n </QuickSearchField>\n );\n};\n\nexport default QuickSearch;\n"],"file":"QuickSearch.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/QuickSearch.tsx"],"names":["QuickSearchField","StyledSearchField","props","margin","COLORS","white","neutral_600","expanded","primary_800","primary_700","QuickSearch","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","loading","searchFieldRef","React","useRef","searchFieldInputRef","useState","searchFieldVisible","setSearchFieldVisible","tabbedHere","setTabbedHere","handleClickOutside","e","current","contains","target","length","useEffect","document","addEventListener","removeEventListener","focus","handleKeyDown","key","event","relatedTarget","concat","term","neutral_300","undefined"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,gBAAgB,GAAG,+BAAOC,8BAAP,CAAH,qjBAClB,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,MAAN,qBAA0BD,KAAK,CAACC,MAAhC,SAA4C,EAAxD;AAAA,CADkB,EAgBEC,SAAOC,KAhBT,EAsBPD,SAAOE,WAtBA,EA0BN,UAACJ,KAAD;AAAA,SAAYA,KAAK,CAACK,QAAN,mCAA0CH,SAAOI,WAAjD,IAAiE,iBAA7E;AAAA,CA1BM,EA6BJ,UAACN,KAAD;AAAA,SAAYA,KAAK,CAACK,QAAN,mCAA0CH,SAAOK,WAAjD,IAAiE,iBAA7E;AAAA,CA7BI,CAAtB;;AAgDA,IAAMC,WAAsD,GAAG,SAAzDA,WAAyD,OAavC;AAAA,MAZtBC,EAYsB,QAZtBA,EAYsB;AAAA,MAXtBC,UAWsB,QAXtBA,UAWsB;AAAA,MAVtBC,cAUsB,QAVtBA,aAUsB;AAAA,MATtBC,WASsB,QATtBA,WASsB;AAAA,MARtBC,YAQsB,QARtBA,YAQsB;AAAA,MAPtBC,WAOsB,QAPtBA,WAOsB;AAAA,MANtBC,kBAMsB,QANtBA,kBAMsB;AAAA,MALtBC,QAKsB,QALtBA,QAKsB;AAAA,MAJtBC,SAIsB,QAJtBA,SAIsB;AAAA,MAHtBC,IAGsB,QAHtBA,IAGsB;AAAA,MAFtBjB,MAEsB,QAFtBA,MAEsB;AAAA,MADtBkB,OACsB,QADtBA,OACsB;AACtB,MAAMC,cAAc,GAAGC,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAAvB;AACA,MAAMC,mBAAmB,GAAGF,KAAK,CAACC,MAAN,CAA+B,IAA/B,CAA5B;;AAEA,wBAAoDD,KAAK,CAACG,QAAN,CAAwB,KAAxB,CAApD;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,yBAAoCL,KAAK,CAACG,QAAN,CAAwB,KAAxB,CAApC;AAAA;AAAA,MAAOG,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,CAAD,EAAY;AACrC,QAAIV,cAAc,SAAd,IAAAA,cAAc,WAAd,IAAAA,cAAc,CAAEW,OAAhB,IAA2B,CAACX,cAAc,CAACW,OAAf,CAAuBC,QAAvB,CAAgCF,CAAC,CAACG,MAAlC,CAAhC,EAA2E;AACzE,UAAIR,kBAAkB,IAAI,EAACf,UAAD,aAACA,UAAD,eAACA,UAAU,CAAEwB,MAAb,CAA1B,EAA+C;AAC7CR,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD;AACF;AACF,GAND;;AAQAL,EAAAA,KAAK,CAACc,SAAN,CAAgB,YAAM;AACpB,QAAIzB,UAAJ,aAAIA,UAAJ,eAAIA,UAAU,CAAEwB,MAAhB,EAAwB;AACtBR,MAAAA,qBAAqB,CAAC,IAAD,CAArB;AACD;AACF,GAJD,EAIG,CAAChB,UAAD,CAJH;AAMAW,EAAAA,KAAK,CAACc,SAAN,CAAgB,YAAM;AACpBC,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCR,kBAAnC;AACA,WAAO,YAAM;AACXO,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCT,kBAAtC;AACD,KAFD;AAGD,GALD;AAOAR,EAAAA,KAAK,CAACc,SAAN,CAAgB,YAAM;AACpB,QAAIV,kBAAJ,EAAwB;AAAA;;AACtBF,MAAAA,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,qCAAAA,mBAAmB,CAAEQ,OAArB,gFAA8BQ,KAA9B;AACD;AACF,GAJD,EAIG,CAACd,kBAAD,EAAqBF,mBAArB,EAA0Cd,EAA1C,CAJH;;AAMA,MAAM+B,aAAa,GAAG,SAAhBA,aAAgB,CAACV,CAAD,EAAY;AAChC,QAAIb,SAAJ,EAAe;AACbA,MAAAA,SAAS,CAACa,CAAD,CAAT;AACD;;AACD,QAAIA,CAAC,CAACW,GAAF,KAAU,QAAd,EAAwB;AACtB,UAAIhB,kBAAkB,IAAI,EAACf,UAAD,aAACA,UAAD,eAACA,UAAU,CAAEwB,MAAb,CAA1B,EAA+C;AAC7CR,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD;AACF;AACF,GATD;;AAWA,sBACE,oBAAC,gBAAD;AACE,IAAA,GAAG,EAAEN,cADP;AAEE,IAAA,QAAQ,EAAEK,kBAFZ;AAGE,IAAA,EAAE,YAAKhB,EAAL,UAHJ;AAIE,IAAA,MAAM,EAAE,gBAACiC,KAAD,EAAgB;AACtB,UAAIA,KAAK,CAACC,aAAN,IAAuBvB,cAAvB,aAAuBA,cAAvB,eAAuBA,cAAc,CAAEW,OAAvC,IAAkD,CAACX,cAAc,CAACW,OAAf,CAAuBC,QAAvB,CAAgCU,KAAK,CAACC,aAAtC,CAAnD,IAA2G,CAACjC,UAAhH,EAA4H;AAC1HgB,QAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD;AACF,KARH;AASE,6BAAgBjB,EAAhB,UATF;AAUE,IAAA,SAAS,EAAE,CAACC,UAAU,KAAK,EAAf,GAAoB,eAApB,GAAsC,EAAvC,EAA2CkC,MAA3C,CAAkD1B,IAAI,GAAGA,IAAH,GAAU,EAAhE,EAAoE0B,MAApE,CAA4EnB,kBAAkB,GAAG,WAAH,GAAiB,EAA/G,CAVb;AAWE,IAAA,UAAU,EAAEE,UAXd;AAYE,IAAA,QAAQ,EAAE,CAAC,CAZb;AAaE,IAAA,MAAM,EAAE1B;AAbV,KAcGwB,kBAAkB,iBACjB,oBAAC,uBAAD;AACE,IAAA,WAAW,EAAET,QAAQ,GAAG,EAAH,GAAQF,WAD/B;AAEE,IAAA,EAAE,EAAEL,EAFN;AAGE,IAAA,GAAG,EAAEc,mBAHP;AAIE,IAAA,QAAQ,EAAEP,QAJZ;AAKE,IAAA,SAAS,EAAEwB,aALb;AAME,IAAA,IAAI,EAAEtB,IANR;AAOE,IAAA,aAAa,EAAEU,aAPjB;AAQE,IAAA,aAAa,EAAE,uBAACiB,IAAD;AAAA,aAAkBlC,cAAa,CAACkC,IAAD,CAA/B;AAAA,KARjB;AASE,IAAA,UAAU,EAAEnC,UATd;AAUE,IAAA,WAAW,EAAEE;AAVf,IAfJ,eA4BE,oBAAC,0BAAD;AAAmB,IAAA,SAAS,EAAEM,IAAI,GAAGA,IAAH,GAAU,EAA5C;AAAgD,IAAA,IAAI,EAAC,QAArD;AAA8D,kBAAYH,kBAA1E;AAA8F,IAAA,QAAQ,EAAE,CAAC;AAAzG,kBACE,oBAAC,mBAAD;AACE,IAAA,EAAE,YAAKN,EAAL,kBADJ;AAEE,IAAA,OAAO,EAAC,WAFV;AAGE,IAAA,KAAK,EAAC,UAHR;AAIE,IAAA,QAAQ,EAAEgB,kBAAkB,GAAG,CAAC,CAAJ,GAAQ,CAJtC;AAKE,IAAA,MAAM,EAAE,gBAACK,CAAD;AAAA,aAAQL,kBAAkB,GAAGb,WAAW,CAACkB,CAAD,CAAd,GAAoBJ,qBAAqB,CAACD,kBAAkB,GAAG,KAAH,GAAW,IAA9B,CAAnE;AAAA;AALV,kBAME,oBAAC,mBAAD;AAAY,IAAA,IAAI,EAAC,MAAjB;AAAwB,IAAA,KAAK,EAAET,QAAQ,GAAGd,SAAO4C,WAAV,GAAwB5C,SAAOE;AAAtE,IANF,CADF,CA5BF,eAsCE,oBAAC,mBAAD;AAAY,IAAA,SAAS,EAAEc,IAAI,GAAGA,IAAH,GAAU,EAArC;AAAyC,IAAA,IAAI,EAAC,QAA9C;AAAuD,IAAA,QAAQ,EAAE,CAAC,CAAlE;AAAqE,IAAA,MAAM,EAAER,UAAU,KAAK,EAAf,IAAqBA,UAAU,KAAKqC,SAApC,IAAiD,CAACtB;AAA/H,kBACE,oBAAC,mBAAD;AACE,IAAA,EAAE,YAAKhB,EAAL,eADJ;AAEE,IAAA,OAAO,EAAC,WAFV;AAGE,IAAA,KAAK,EAAC,UAHR;AAIE,IAAA,MAAM,EAAE,gBAACqB,CAAD,EAAO;AAAA;;AACbjB,MAAAA,YAAY,CAACiB,CAAD,CAAZ;AACAP,MAAAA,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,sCAAAA,mBAAmB,CAAEQ,OAArB,kFAA8BQ,KAA9B;AACD;AAPH,kBAQE,oBAAC,kBAAD;AAAW,IAAA,IAAI,EAAC,MAAhB;AAAuB,IAAA,KAAK,EAAEvB,QAAQ,GAAGd,SAAO4C,WAAV,GAAwB5C,SAAOE;AAArE,IARF,CADF,CAtCF,EAkDGe,OAAO,IAAIM,kBAAX,iBACC,oBAAC,mBAAD;AAAY,IAAA,SAAS,EAAEP,IAAI,GAAGA,IAAH,GAAU,EAArC;AAAyC,IAAA,QAAQ,EAAE,CAAC;AAApD,kBACE,oBAAC,kBAAD;AAAkB,IAAA,IAAI,EAAC,OAAvB;AAA+B,IAAA,KAAK,EAAEhB,SAAOE;AAA7C,IADF,CAnDJ,CADF;AA0DD,CApHD;;;AAdEK,EAAAA,E;AACAC,EAAAA,U;AACAC,EAAAA,a;AACAC,EAAAA,W;AACAC,EAAAA,Y;AACAC,EAAAA,W;AACAC,EAAAA,kB;AACAC,EAAAA,Q;AACAC,EAAAA,S;AACAC,EAAAA,I,4BAAO,O,EAAU,Q;AACjBjB,EAAAA,M;AACAkB,EAAAA,O;;eAyHaX,W","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport IconButton from '../Button/Iconbutton';\nimport { SearchIconWrapper, StyledIcon } from './styling';\nimport { COLORS, LoadingIndicator } from '..';\nimport { Search as SearchIcon, Clear as ClearIcon } from '../icons/systemicons/SystemIcons';\nimport SearchBarInput from './components/SearchBarInput';\nimport { StyledSearchField } from './components/SearchField';\n\nconst QuickSearchField = styled(StyledSearchField)<{ expanded: boolean; margin?: string }>`\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n -webkit-transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\n\n background-color: transparent;\n &.small {\n width: 48px;\n }\n\n &.medium {\n width: 56px;\n }\n \n &.expanded{\n width: 100%;\n background-color: ${COLORS.white};\n }\n\n input {\n ::placeholder {\n font-style: italic;\n color: ${COLORS.neutral_600};\n }\n }\n\n box-shadow: ${(props) => (props.expanded ? `inset 0px 0px 0px 2px ${COLORS.primary_800}` : 'none !important')};\n\n &:hover {\n box-shadow: ${(props) => (props.expanded ? `inset 0px 0px 0px 2px ${COLORS.primary_700}` : 'none !important')};\n }\n`;\n\ntype QuickSearchProps = {\n id: string;\n searchTerm?: string;\n setSearchTerm: (term: string) => void;\n enterSearch: (e: any) => void;\n removeSearch: (e: any) => void;\n placeholder?: string;\n performSearchLabel?: string;\n disabled?: boolean;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: 'small' | 'medium';\n margin?: string;\n loading?: boolean;\n};\n\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n onKeyDown,\n size,\n margin,\n loading,\n}: QuickSearchProps) => {\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\n\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<boolean>(false);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const handleClickOutside = (e: any) => {\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\n if (searchFieldVisible && !searchTerm?.length) {\n setSearchFieldVisible(false);\n }\n }\n };\n\n React.useEffect(() => {\n if (searchTerm?.length) {\n setSearchFieldVisible(true);\n }\n }, [searchTerm]);\n\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n React.useEffect(() => {\n if (searchFieldVisible) {\n searchFieldInputRef?.current?.focus();\n }\n }, [searchFieldVisible, searchFieldInputRef, id]);\n\n const handleKeyDown = (e: any) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Escape') {\n if (searchFieldVisible && !searchTerm?.length) {\n setSearchFieldVisible(false);\n }\n }\n };\n\n return (\n <QuickSearchField\n ref={searchFieldRef}\n expanded={searchFieldVisible}\n id={`${id}_main`}\n onBlur={(event: any) => {\n if (event.relatedTarget && searchFieldRef?.current && !searchFieldRef.current.contains(event.relatedTarget) && !searchTerm) {\n setSearchFieldVisible(false);\n }\n }}\n data-testid={`${id}_main`}\n className={(searchTerm !== '' ? 'searchactive ' : '').concat(size ? size : '').concat( searchFieldVisible ? ' expanded' : '')}\n tabbedHere={tabbedHere}\n tabIndex={-1}\n margin={margin}>\n {searchFieldVisible && (\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n id={id}\n ref={searchFieldInputRef}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n size={size}\n setTabbedHere={setTabbedHere}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n enterSearch={enterSearch}\n />\n )}\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel} tabIndex={-1}>\n <IconButton\n id={`${id}_Searchbutton`}\n variant=\"secondary\"\n shape=\"circular\"\n tabIndex={searchFieldVisible ? -1 : 0}\n action={(e) => (searchFieldVisible ? enterSearch(e) : setSearchFieldVisible(searchFieldVisible ? false : true))}>\n <SearchIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600} />\n </IconButton>\n </SearchIconWrapper>\n <StyledIcon className={size ? size : ''} role=\"button\" tabIndex={-1} hidden={searchTerm === '' || searchTerm === undefined || !searchFieldVisible}>\n <IconButton\n id={`${id}_Clearicon`}\n variant=\"secondary\"\n shape=\"circular\"\n action={(e) => {\n removeSearch(e);\n searchFieldInputRef?.current?.focus();\n }}>\n <ClearIcon size=\"24px\" color={disabled ? COLORS.neutral_300 : COLORS.neutral_600} />\n </IconButton>\n </StyledIcon>\n {loading && searchFieldVisible && (\n <StyledIcon className={size ? size : ''} tabIndex={-1}>\n <LoadingIndicator size=\"small\" color={COLORS.neutral_600} />\n </StyledIcon>\n )}\n </QuickSearchField>\n );\n};\n\nexport default QuickSearch;\n"],"file":"QuickSearch.js"}
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
* Import React libraries.
|
|
3
3
|
*/
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import { Size } from '../types';
|
|
6
5
|
declare type LabelProps = {
|
|
7
|
-
size?:
|
|
6
|
+
size?: 'small' | 'medium';
|
|
8
7
|
children?: any;
|
|
9
8
|
};
|
|
10
9
|
declare const ReponsiveComponentWrapper: React.FunctionComponent<LabelProps>;
|
|
@@ -11,8 +11,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
|
-
var _types = require("../types");
|
|
15
|
-
|
|
16
14
|
var _styles = require("../styles");
|
|
17
15
|
|
|
18
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -54,10 +52,11 @@ var ReponsiveComponentWrapper = function ReponsiveComponentWrapper(_ref) {
|
|
|
54
52
|
window.removeEventListener('resize', handleResize);
|
|
55
53
|
};
|
|
56
54
|
});
|
|
57
|
-
return size && size ===
|
|
55
|
+
return size && size === 'medium' ? /*#__PURE__*/React.createElement(_styles.ComponentXS, null, children) : size && size === 'small' ? /*#__PURE__*/React.createElement(_styles.ComponentXXS, null, children) : isMediumView ? /*#__PURE__*/React.createElement(_styles.ComponentXS, null, children) : /*#__PURE__*/React.createElement(_styles.ComponentXXS, null, children);
|
|
58
56
|
};
|
|
59
57
|
|
|
60
58
|
ReponsiveComponentWrapper.propTypes = {
|
|
59
|
+
size: _propTypes.default.oneOf(['small', 'medium']),
|
|
61
60
|
children: _propTypes.default.any
|
|
62
61
|
};
|
|
63
62
|
var _default = ReponsiveComponentWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/InputFields/ResponsiveComponentWrapper.tsx"],"names":["ReponsiveComponentWrapper","children","size","React","useState","isMediumView","setIsMediumView","useEffect","handleResize","mql","window","matchMedia","BREAKPOINTS","MEDIUM","replace","matches","addEventListener","cleanup","removeEventListener"
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/ResponsiveComponentWrapper.tsx"],"names":["ReponsiveComponentWrapper","children","size","React","useState","isMediumView","setIsMediumView","useEffect","handleResize","mql","window","matchMedia","BREAKPOINTS","MEDIUM","replace","matches","addEventListener","cleanup","removeEventListener"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,yBAA8D,GAAG,SAAjEA,yBAAiE,OAAoC;AAAA,MAAjCC,QAAiC,QAAjCA,QAAiC;AAAA,MAAvBC,IAAuB,QAAvBA,IAAuB;;AACzG;AACA,wBAAwCC,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AAEAH,EAAAA,KAAK,CAACI,SAAN,CAAgB,YAAM;AACpB,QAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB,UAAMC,GAAG,GAAGC,MAAM,CAACC,UAAP,WAAqBC,oBAAYC,MAAZ,CAAmBC,OAAnB,CAA2B,SAA3B,EAAsC,EAAtC,CAArB,EAAZ;AACAR,MAAAA,eAAe,CAACG,GAAG,CAACM,OAAL,CAAf;AACD,KAHD;;AAIAL,IAAAA,MAAM,CAACM,gBAAP,CAAwB,QAAxB,EAAkCR,YAAlC;AACA,WAAO,SAASS,OAAT,GAAmB;AACxBP,MAAAA,MAAM,CAACQ,mBAAP,CAA2B,QAA3B,EAAqCV,YAArC;AACD,KAFD;AAGD,GATD;AAWA,SAAON,IAAI,IAAIA,IAAI,KAAK,QAAjB,gBACL,oBAAC,mBAAD,QAAcD,QAAd,CADK,GAEHC,IAAI,IAAIA,IAAI,KAAK,OAAjB,gBACF,oBAAC,oBAAD,QAAeD,QAAf,CADE,GAEAI,YAAY,gBACd,oBAAC,mBAAD,QAAcJ,QAAd,CADc,gBAGd,oBAAC,oBAAD,QAAeA,QAAf,CAPF;AASD,CAxBD;;;AAJEC,EAAAA,I,4BAAO,O,EAAU,Q;AACjBD,EAAAA,Q;;eA6BaD,yB","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { BREAKPOINTS, ComponentXXS, ComponentXS } from '../styles';\n\n// Add component-specific types\ntype LabelProps = {\n size?: 'small' | 'medium';\n children?: any;\n};\n\nconst ReponsiveComponentWrapper: React.FunctionComponent<LabelProps> = ({ children, size }: LabelProps) => {\n // Globally used variables within the component\n const [isMediumView, setIsMediumView] = React.useState<boolean>(false);\n\n React.useEffect(() => {\n const handleResize = () => {\n const mql = window.matchMedia(`${BREAKPOINTS.MEDIUM.replace('@media ', '')}`);\n setIsMediumView(mql.matches);\n };\n window.addEventListener('resize', handleResize);\n return function cleanup() {\n window.removeEventListener('resize', handleResize);\n };\n });\n\n return size && size === 'medium' ? (\n <ComponentXS>{children}</ComponentXS>\n ) : size && size === 'small' ? (\n <ComponentXXS>{children}</ComponentXXS>\n ) : isMediumView ? (\n <ComponentXS>{children}</ComponentXS>\n ) : (\n <ComponentXXS>{children}</ComponentXXS>\n );\n};\n\nexport default ReponsiveComponentWrapper;\n"],"file":"ResponsiveComponentWrapper.js"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Size } from '../types';
|
|
3
2
|
declare type SeachBarProps = {
|
|
4
3
|
id: string;
|
|
5
4
|
searchTerm?: string;
|
|
@@ -11,7 +10,7 @@ declare type SeachBarProps = {
|
|
|
11
10
|
disabled?: boolean;
|
|
12
11
|
validationMessage?: string;
|
|
13
12
|
onKeyDown?: (e: React.KeyboardEvent) => void;
|
|
14
|
-
size?:
|
|
13
|
+
size?: 'small' | 'medium';
|
|
15
14
|
margin?: string;
|
|
16
15
|
};
|
|
17
16
|
declare const SearchBar: React.FunctionComponent<SeachBarProps>;
|
|
@@ -144,6 +144,7 @@ SearchBar.propTypes = {
|
|
|
144
144
|
disabled: _propTypes.default.bool,
|
|
145
145
|
validationMessage: _propTypes.default.string,
|
|
146
146
|
onKeyDown: _propTypes.default.func,
|
|
147
|
+
size: _propTypes.default.oneOf(['small', 'medium']),
|
|
147
148
|
margin: _propTypes.default.string
|
|
148
149
|
};
|
|
149
150
|
var _default = SearchBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/InputFields/SearchBar.tsx"],"names":["ClearIconWrapper","styled","div","SearchBar","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","validationMessage","onKeyDown","size","margin","inputRef","React","useRef","useState","tabbedHere","setTabbedHere","isPressingEnter","e","key","preventDefault","stopPropagation","term","concat","COLORS","warning_400"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/SearchBar.tsx"],"names":["ClearIconWrapper","styled","div","SearchBar","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","validationMessage","onKeyDown","size","margin","inputRef","React","useRef","useState","tabbedHere","setTabbedHere","isPressingEnter","e","key","preventDefault","stopPropagation","term","concat","COLORS","warning_400"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { COLORS } from '../styles/index';\nimport { Search as SearchIcon, Clear as ClearIcon, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { WarningMessage, InputWrapper, SearchIconWrapper, StyledIcon } from './styling';\nimport { IconButton } from '../Button';\nimport SearchBarInput from './components/SearchBarInput';\nimport SearchField from './components/SearchField';\nimport styled from 'styled-components';\n\ntype SeachBarProps = {\n id: string;\n searchTerm?: string;\n setSearchTerm: (term: string) => void;\n enterSearch: (e: any) => void;\n removeSearch: (e: any) => void;\n placeholder?: string;\n performSearchLabel?: string;\n disabled?: boolean;\n validationMessage?: string;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n size?: 'small' | 'medium';\n margin?: string;\n};\n\nconst ClearIconWrapper = styled.div`\n display: flex;\n align-items: center;\n \n &.hidden{\n display: none !important;\n }\n`;\n\nconst SearchBar: React.FunctionComponent<SeachBarProps> = ({\n id,\n searchTerm,\n setSearchTerm,\n enterSearch,\n removeSearch,\n placeholder,\n performSearchLabel,\n disabled,\n validationMessage,\n onKeyDown,\n size,\n margin = '4px 0',\n}) => {\n const inputRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n return (\n <>\n <InputWrapper\n disabled={disabled}\n margin={margin}>\n <SearchField id={`${id}_main`} size={size || ''} searchTerm={searchTerm} disabled={disabled} tabbedHere={tabbedHere} validationMessage={validationMessage}>\n <SearchIconWrapper className={size ? size : ''} aria-label={performSearchLabel}>\n <IconButton id={`${id}_Search`}\n variant=\"secondary\"\n shape=\"circular\"\n action={enterSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? enterSearch(e) : null)}>\n <SearchIcon size=\"24px\"/>\n </IconButton>\n </SearchIconWrapper>\n <SearchBarInput\n placeholder={disabled ? '' : placeholder}\n ref={inputRef}\n id={id}\n size={size}\n disabled={disabled}\n setTabbedHere={setTabbedHere}\n setSearchTerm={(term: string) => setSearchTerm(term)}\n searchTerm={searchTerm}\n onKeyDown={onKeyDown}\n enterSearch={enterSearch}\n />\n <ClearIconWrapper className={(size ? size : '').concat(!searchTerm ? ' hidden' : '')}>\n <IconButton id={`${id}_Clear`}\n variant=\"secondary\"\n shape=\"circular\"\n action={removeSearch}\n disabled={disabled}\n onKeyPress={(e: any) => (isPressingEnter(e) ? removeSearch(e) : null)}>\n <ClearIcon size=\"24px\"/>\n </IconButton>\n </ClearIconWrapper>\n </SearchField>\n </InputWrapper>\n {validationMessage && (\n <WarningMessage className={size || ''}>\n <TechnicalWarning color={COLORS.warning_400} className={size || ''} />\n <span>{validationMessage}</span>\n </WarningMessage>\n )}\n </>\n );\n};\n\nexport default SearchBar;\n"],"file":"SearchBar.js"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Size } from '../types';
|
|
2
1
|
declare type TextFieldProps = {
|
|
3
2
|
id: string;
|
|
4
3
|
disabled?: boolean;
|
|
@@ -16,7 +15,7 @@ declare type TextFieldProps = {
|
|
|
16
15
|
pattern?: string;
|
|
17
16
|
maxLength?: number;
|
|
18
17
|
withoutBorder?: boolean;
|
|
19
|
-
size?:
|
|
18
|
+
size?: 'small' | 'medium';
|
|
20
19
|
margin?: string;
|
|
21
20
|
};
|
|
22
21
|
declare const TextField: ({ id, disabled, locked, onChange, hasError, value, validationMessage, validationIsCritical, type, autoComplete, placeholder, required, correct, pattern, maxLength, withoutBorder, size, margin, }: TextFieldProps) => JSX.Element;
|
|
@@ -135,6 +135,7 @@ TextField.propTypes = {
|
|
|
135
135
|
pattern: _propTypes.default.string,
|
|
136
136
|
maxLength: _propTypes.default.number,
|
|
137
137
|
withoutBorder: _propTypes.default.bool,
|
|
138
|
+
size: _propTypes.default.oneOf(['small', 'medium']),
|
|
138
139
|
margin: _propTypes.default.string
|
|
139
140
|
};
|
|
140
141
|
var _default = TextField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/InputFields/TextField.tsx"],"names":["TextField","id","disabled","locked","onChange","hasError","value","validationMessage","validationIsCritical","type","autoComplete","placeholder","required","correct","pattern","maxLength","withoutBorder","size","margin","supressFocusRef","React","useRef","useState","tabbedHere","setTabbedHere","e","preventDefault","concat","target","undefined","current","COLORS","warning_400","critical_400"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/TextField.tsx"],"names":["TextField","id","disabled","locked","onChange","hasError","value","validationMessage","validationIsCritical","type","autoComplete","placeholder","required","correct","pattern","maxLength","withoutBorder","size","margin","supressFocusRef","React","useRef","useState","tabbedHere","setTabbedHere","e","preventDefault","concat","target","undefined","current","COLORS","warning_400","critical_400"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AAuBA,IAAMA,SAAS,GAAG,SAAZA,SAAY,OAmBI;AAAA,MAlBpBC,EAkBoB,QAlBpBA,EAkBoB;AAAA,MAjBpBC,QAiBoB,QAjBpBA,QAiBoB;AAAA,MAhBpBC,MAgBoB,QAhBpBA,MAgBoB;AAAA,MAfpBC,SAeoB,QAfpBA,QAeoB;AAAA,MAdpBC,QAcoB,QAdpBA,QAcoB;AAAA,MAbpBC,KAaoB,QAbpBA,KAaoB;AAAA,MAZpBC,iBAYoB,QAZpBA,iBAYoB;AAAA,MAXpBC,oBAWoB,QAXpBA,oBAWoB;AAAA,MAVpBC,IAUoB,QAVpBA,IAUoB;AAAA,MATpBC,YASoB,QATpBA,YASoB;AAAA,MARpBC,WAQoB,QARpBA,WAQoB;AAAA,MAPpBC,QAOoB,QAPpBA,QAOoB;AAAA,MANpBC,OAMoB,QANpBA,OAMoB;AAAA,MALpBC,OAKoB,QALpBA,OAKoB;AAAA,MAJpBC,SAIoB,QAJpBA,SAIoB;AAAA,MAHpBC,aAGoB,QAHpBA,aAGoB;AAAA,MAFpBC,IAEoB,QAFpBA,IAEoB;AAAA,yBADpBC,MACoB;AAAA,MADpBA,MACoB,4BADX,OACW;AACpB,MAAMC,eAAe,GAAGC,KAAK,CAACC,MAAN,CAAkB,IAAlB,CAAxB;;AACA,wBAAoCD,KAAK,CAACE,QAAN,CAAwB,KAAxB,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,sBACE,uDACE,oBAAC,qBAAD;AACE,IAAA,MAAM,EAAErB,MADV;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,MAAM,EAAEgB,MAHV;AAIE,IAAA,OAAO,EAAE,iBAACO,CAAD,EAAY;AACnB,UAAIvB,QAAQ,IAAIC,MAAhB,EAAwB;AACtBsB,QAAAA,CAAC,CAACC,cAAF;AACD;AACF;AARH,kBASE,oBAAC,0BAAD;AACE,IAAA,EAAE,EAAEzB,EADN;AAEE,IAAA,IAAI,EAAEQ,IAAI,IAAI,MAFhB;AAGE,IAAA,KAAK,EAAEH,KAHT;AAIE,IAAA,SAAS,EAAE,CAACD,QAAQ,GAAG,OAAH,GAAa,EAAtB,EAA0BsB,MAA1B,CAAiCV,IAAI,GAAGA,IAAH,GAAU,EAA/C,CAJb;AAKE,IAAA,QAAQ,EAAEd,MAAM,IAAID,QAAV,GAAqB,CAAC,CAAtB,GAA0B,CALtC;AAME,IAAA,YAAY,EAAEQ,YANhB;AAOE,IAAA,WAAW,EAAEC,WAPf;AAQE,IAAA,QAAQ,EAAET,QARZ;AASE,IAAA,MAAM,EAAEC,MATV;AAUE,IAAA,QAAQ,EAAE,kBAACsB,CAAD;AAAA;;AAAA,aAAYrB,SAAQ,IAAIA,SAAQ,CAAC,CAAAqB,CAAC,SAAD,IAAAA,CAAC,WAAD,yBAAAA,CAAC,CAAEG,MAAH,wDAAWtB,KAAX,KAAoB,EAArB,CAAhC;AAAA,KAVZ;AAWE,IAAA,uBAAuB,EAAEC,iBAAiB,KAAK,EAAtB,IAA4BA,iBAAiB,KAAKsB,SAX7E;AAYE,IAAA,kBAAkB,EAAEtB,iBAAiB,KAAK,EAAtB,IAA4BA,iBAAiB,KAAKsB,SAAlD,IAA+DrB,oBAZrF;AAaE,IAAA,QAAQ,EAAEI,QAbZ;AAcE,IAAA,YAAY,EAAEC,OAdhB;AAeE,IAAA,UAAU,EAAEU,UAfd;AAgBE,IAAA,OAAO,EAAET,OAhBX;AAiBE,IAAA,SAAS,EAAEC,SAjBb;AAkBE,IAAA,MAAM,EAAE;AAAA,aAAMS,aAAa,CAAC,KAAD,CAAnB;AAAA,KAlBV;AAmBE,IAAA,aAAa,EAAER,aAnBjB;AAoBE,IAAA,WAAW,EAAE,qBAACS,CAAD,EAAY;AACvB,UAAI,EAAEtB,MAAM,IAAID,QAAZ,KAAyB,CAACqB,UAA9B,EAA0CJ,eAAe,CAACW,OAAhB,GAA0B,IAA1B;AAC3C,KAtBH;AAuBE,IAAA,OAAO,EAAE,iBAACL,CAAD,EAAY;AACnB,UAAI,EAAEtB,MAAM,IAAID,QAAZ,CAAJ,EAA2B;AACzB,YAAI,CAACiB,eAAe,CAACW,OAArB,EAA8BN,aAAa,CAAC,IAAD,CAAb,CAA9B,KACKL,eAAe,CAACW,OAAhB,GAA0B,KAA1B;AACN;AACF;AA5BH,IATF,CADF,EAyCGvB,iBAAiB,IAAI,CAACC,oBAAtB,iBACC,oBAAC,uBAAD;AAAgB,IAAA,SAAS,EAAES,IAAI,IAAI;AAAnC,kBACE,oBAAC,6BAAD;AAAkB,IAAA,IAAI,EAAC,MAAvB;AAA8B,IAAA,KAAK,EAAEc,eAAOC;AAA5C,IADF,eAEE,kCAAOzB,iBAAP,CAFF,CA1CJ,EA+CGA,iBAAiB,IAAIC,oBAArB,iBACC,oBAAC,qBAAD;AAAc,IAAA,SAAS,EAAES,IAAI,IAAI;AAAjC,kBACE,oBAAC,6BAAD;AAAkB,IAAA,IAAI,EAAC,MAAvB;AAA8B,IAAA,KAAK,EAAEc,eAAOE;AAA5C,IADF,eAEE,kCAAO1B,iBAAP,CAFF,CAhDJ,CADF;AAwDD,CA9ED;;;AApBEN,EAAAA,E;AACAC,EAAAA,Q;AACAC,EAAAA,M;AACAC,EAAAA,Q;AACAC,EAAAA,Q;AACAC,EAAAA,K;AACAC,EAAAA,iB;AACAC,EAAAA,oB;AACAC,EAAAA,I;AACAC,EAAAA,Y;AACAC,EAAAA,W;AACAC,EAAAA,Q;AACAC,EAAAA,O;AACAC,EAAAA,O;AACAC,EAAAA,S;AACAC,EAAAA,a;AACAC,EAAAA,I,4BAAO,O,EAAU,Q;AACjBC,EAAAA,M;;eAmFalB,S","sourcesContent":["import * as React from 'react';\nimport { TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { COLORS } from '../styles';\nimport { ErrorMessage, InputFieldStyling, InputWrapper, WarningMessage } from './styling';\n\ntype TextFieldProps = {\n id: string;\n disabled?: boolean;\n locked?: boolean;\n onChange?: (text: string) => void;\n hasError?: boolean;\n value?: string;\n validationMessage?: string;\n validationIsCritical?: boolean;\n type?: string;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n correct?: boolean;\n pattern?: string;\n maxLength?: number;\n withoutBorder?: boolean;\n size?: 'small' | 'medium';\n margin?: string;\n};\n\nconst TextField = ({\n id,\n disabled,\n locked,\n onChange,\n hasError,\n value,\n validationMessage,\n validationIsCritical,\n type,\n autoComplete,\n placeholder,\n required,\n correct,\n pattern,\n maxLength,\n withoutBorder,\n size,\n margin = '4px 0',\n}: TextFieldProps) => {\n const supressFocusRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n return (\n <>\n <InputWrapper\n locked={locked}\n disabled={disabled}\n margin={margin}\n onClick={(e: any) => {\n if (disabled || locked) {\n e.preventDefault();\n }\n }}>\n <InputFieldStyling\n id={id}\n type={type || 'text'}\n value={value}\n className={(hasError ? 'error' : '').concat(size ? size : '')}\n tabIndex={locked || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n locked={locked}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeValidationMessage={validationMessage !== '' && validationMessage !== undefined}\n activeErrorMessage={validationMessage !== '' && validationMessage !== undefined && validationIsCritical}\n required={required}\n correctInput={correct}\n tabbedHere={tabbedHere}\n pattern={pattern}\n maxLength={maxLength}\n onBlur={() => setTabbedHere(false)}\n withoutBorder={withoutBorder}\n onMouseDown={(e: any) => {\n if (!(locked || disabled) && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!(locked || disabled)) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n />\n </InputWrapper>\n {validationMessage && !validationIsCritical && (\n <WarningMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.warning_400} />\n <span>{validationMessage}</span>\n </WarningMessage>\n )}\n {validationMessage && validationIsCritical && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default TextField;\n"],"file":"TextField.js"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Import React libraries.
|
|
3
3
|
*/
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import { Size } from '../types';
|
|
6
5
|
declare type TextareaProps = {
|
|
7
6
|
id: string;
|
|
8
7
|
placeholder: string;
|
|
@@ -11,7 +10,7 @@ declare type TextareaProps = {
|
|
|
11
10
|
onChange?: (text: string) => void;
|
|
12
11
|
validationType?: 'error' | 'warning';
|
|
13
12
|
validationMessage?: string;
|
|
14
|
-
size:
|
|
13
|
+
size: 'small' | 'medium';
|
|
15
14
|
margin?: string;
|
|
16
15
|
};
|
|
17
16
|
declare const Textarea: React.FunctionComponent<TextareaProps>;
|
|
@@ -77,6 +77,7 @@ Textarea.propTypes = {
|
|
|
77
77
|
onChange: _propTypes.default.func,
|
|
78
78
|
validationType: _propTypes.default.oneOf(['error', 'warning']),
|
|
79
79
|
validationMessage: _propTypes.default.string,
|
|
80
|
+
size: _propTypes.default.oneOf(['small', 'medium']).isRequired,
|
|
80
81
|
margin: _propTypes.default.string
|
|
81
82
|
};
|
|
82
83
|
var _default = Textarea;
|