kui-complex 0.0.74 → 0.0.76
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/package.json +4 -1
- package/AutocompleteOption/cjs/index.js +0 -50
- package/AutocompleteOption/cjs/index.js.map +0 -1
- package/AutocompleteOption/cjs/package.json +0 -9
- package/AutocompleteOption/index.d.ts +0 -7
- package/AutocompleteOption/index.js +0 -44
- package/AutocompleteOption/index.js.map +0 -1
- package/AutocompleteOption/package.json +0 -9
- package/Avatar/cjs/index.js +0 -92
- package/Avatar/cjs/index.js.map +0 -1
- package/Avatar/cjs/package.json +0 -9
- package/Avatar/index.d.ts +0 -12
- package/Avatar/index.js +0 -86
- package/Avatar/index.js.map +0 -1
- package/Avatar/package.json +0 -9
- package/ButtonSelect/cjs/index.js +0 -207
- package/ButtonSelect/cjs/index.js.map +0 -1
- package/ButtonSelect/cjs/package.json +0 -9
- package/ButtonSelect/index.d.ts +0 -24
- package/ButtonSelect/index.js +0 -201
- package/ButtonSelect/index.js.map +0 -1
- package/ButtonSelect/package.json +0 -9
- package/ButtonTab/cjs/index.js +0 -58
- package/ButtonTab/cjs/index.js.map +0 -1
- package/ButtonTab/cjs/package.json +0 -9
- package/ButtonTab/index.d.ts +0 -14
- package/ButtonTab/index.js +0 -51
- package/ButtonTab/index.js.map +0 -1
- package/ButtonTab/package.json +0 -9
- package/ButtonsPanel/cjs/index.js +0 -133
- package/ButtonsPanel/cjs/index.js.map +0 -1
- package/ButtonsPanel/cjs/package.json +0 -9
- package/ButtonsPanel/index.d.ts +0 -19
- package/ButtonsPanel/index.js +0 -108
- package/ButtonsPanel/index.js.map +0 -1
- package/ButtonsPanel/package.json +0 -9
- package/CalendarHeaderWithSelect/cjs/index.js +0 -242
- package/CalendarHeaderWithSelect/cjs/index.js.map +0 -1
- package/CalendarHeaderWithSelect/cjs/package.json +0 -10
- package/CalendarHeaderWithSelect/index.d.ts +0 -21
- package/CalendarHeaderWithSelect/index.js +0 -236
- package/CalendarHeaderWithSelect/index.js.map +0 -1
- package/CalendarHeaderWithSelect/package.json +0 -10
- package/CalendarStandardContainer/cjs/index.js +0 -63
- package/CalendarStandardContainer/cjs/index.js.map +0 -1
- package/CalendarStandardContainer/cjs/package.json +0 -9
- package/CalendarStandardContainer/index.d.ts +0 -13
- package/CalendarStandardContainer/index.js +0 -57
- package/CalendarStandardContainer/index.js.map +0 -1
- package/CalendarStandardContainer/package.json +0 -9
- package/CalendarStandardHeader/cjs/index.js +0 -57
- package/CalendarStandardHeader/cjs/index.js.map +0 -1
- package/CalendarStandardHeader/cjs/package.json +0 -10
- package/CalendarStandardHeader/index.d.ts +0 -13
- package/CalendarStandardHeader/index.js +0 -50
- package/CalendarStandardHeader/index.js.map +0 -1
- package/CalendarStandardHeader/package.json +0 -10
- package/CheckboxGroupWithTitle/cjs/index.js +0 -81
- package/CheckboxGroupWithTitle/cjs/index.js.map +0 -1
- package/CheckboxGroupWithTitle/cjs/package.json +0 -10
- package/CheckboxGroupWithTitle/index.d.ts +0 -15
- package/CheckboxGroupWithTitle/index.js +0 -75
- package/CheckboxGroupWithTitle/index.js.map +0 -1
- package/CheckboxGroupWithTitle/package.json +0 -10
- package/CheckboxWithController/cjs/index.js +0 -63
- package/CheckboxWithController/cjs/index.js.map +0 -1
- package/CheckboxWithController/cjs/package.json +0 -10
- package/CheckboxWithController/index.d.ts +0 -5
- package/CheckboxWithController/index.js +0 -61
- package/CheckboxWithController/index.js.map +0 -1
- package/CheckboxWithController/package.json +0 -10
- package/DependentInput/cjs/index.js +0 -81
- package/DependentInput/cjs/index.js.map +0 -1
- package/DependentInput/cjs/package.json +0 -10
- package/DependentInput/index.d.ts +0 -3
- package/DependentInput/index.js +0 -79
- package/DependentInput/index.js.map +0 -1
- package/DependentInput/package.json +0 -10
- package/DesktopInputWithMonthPicker/cjs/index.js +0 -102
- package/DesktopInputWithMonthPicker/cjs/index.js.map +0 -1
- package/DesktopInputWithMonthPicker/cjs/package.json +0 -11
- package/DesktopInputWithMonthPicker/index.d.ts +0 -5
- package/DesktopInputWithMonthPicker/index.js +0 -95
- package/DesktopInputWithMonthPicker/index.js.map +0 -1
- package/DesktopInputWithMonthPicker/package.json +0 -11
- package/DesktopMenuPanel/cjs/index.js +0 -102
- package/DesktopMenuPanel/cjs/index.js.map +0 -1
- package/DesktopMenuPanel/cjs/package.json +0 -10
- package/DesktopMenuPanel/index.d.ts +0 -18
- package/DesktopMenuPanel/index.js +0 -96
- package/DesktopMenuPanel/index.js.map +0 -1
- package/DesktopMenuPanel/package.json +0 -10
- package/FileItem/cjs/index.js +0 -164
- package/FileItem/cjs/index.js.map +0 -1
- package/FileItem/cjs/package.json +0 -10
- package/FileItem/index.d.ts +0 -46
- package/FileItem/index.js +0 -158
- package/FileItem/index.js.map +0 -1
- package/FileItem/package.json +0 -10
- package/InputDropdown/cjs/index.js +0 -116
- package/InputDropdown/cjs/index.js.map +0 -1
- package/InputDropdown/cjs/package.json +0 -9
- package/InputDropdown/index.d.ts +0 -13
- package/InputDropdown/index.js +0 -110
- package/InputDropdown/index.js.map +0 -1
- package/InputDropdown/package.json +0 -9
- package/InputFile/cjs/index.js +0 -279
- package/InputFile/cjs/index.js.map +0 -1
- package/InputFile/cjs/package.json +0 -11
- package/InputFile/index.d.ts +0 -22
- package/InputFile/index.js +0 -273
- package/InputFile/index.js.map +0 -1
- package/InputFile/package.json +0 -11
- package/InputForDatepicker/cjs/index.js +0 -73
- package/InputForDatepicker/cjs/index.js.map +0 -1
- package/InputForDatepicker/cjs/package.json +0 -9
- package/InputForDatepicker/index.d.ts +0 -5
- package/InputForDatepicker/index.js +0 -67
- package/InputForDatepicker/index.js.map +0 -1
- package/InputForDatepicker/package.json +0 -9
- package/InputMultiSelect/cjs/index.js +0 -237
- package/InputMultiSelect/cjs/index.js.map +0 -1
- package/InputMultiSelect/cjs/package.json +0 -10
- package/InputMultiSelect/index.d.ts +0 -24
- package/InputMultiSelect/index.js +0 -231
- package/InputMultiSelect/index.js.map +0 -1
- package/InputMultiSelect/package.json +0 -10
- package/InputMultiSelectOption/cjs/index.js +0 -60
- package/InputMultiSelectOption/cjs/index.js.map +0 -1
- package/InputMultiSelectOption/cjs/package.json +0 -9
- package/InputMultiSelectOption/index.d.ts +0 -14
- package/InputMultiSelectOption/index.js +0 -54
- package/InputMultiSelectOption/index.js.map +0 -1
- package/InputMultiSelectOption/package.json +0 -9
- package/InputPassword/cjs/index.js +0 -176
- package/InputPassword/cjs/index.js.map +0 -1
- package/InputPassword/cjs/package.json +0 -10
- package/InputPassword/index.d.ts +0 -13
- package/InputPassword/index.js +0 -170
- package/InputPassword/index.js.map +0 -1
- package/InputPassword/package.json +0 -10
- package/InputPhoneWithForm/cjs/index.js +0 -134
- package/InputPhoneWithForm/cjs/index.js.map +0 -1
- package/InputPhoneWithForm/cjs/package.json +0 -10
- package/InputPhoneWithForm/index.d.ts +0 -14
- package/InputPhoneWithForm/index.js +0 -113
- package/InputPhoneWithForm/index.js.map +0 -1
- package/InputPhoneWithForm/package.json +0 -10
- package/InputSelect/cjs/index.js +0 -199
- package/InputSelect/cjs/index.js.map +0 -1
- package/InputSelect/cjs/package.json +0 -9
- package/InputSelect/index.d.ts +0 -22
- package/InputSelect/index.js +0 -193
- package/InputSelect/index.js.map +0 -1
- package/InputSelect/package.json +0 -9
- package/InputSelectBase/cjs/index.js +0 -171
- package/InputSelectBase/cjs/index.js.map +0 -1
- package/InputSelectBase/cjs/package.json +0 -9
- package/InputSelectBase/index.d.ts +0 -23
- package/InputSelectBase/index.js +0 -165
- package/InputSelectBase/index.js.map +0 -1
- package/InputSelectBase/package.json +0 -9
- package/InputSelectDropdown/cjs/index.js +0 -135
- package/InputSelectDropdown/cjs/index.js.map +0 -1
- package/InputSelectDropdown/cjs/package.json +0 -9
- package/InputSelectDropdown/index.d.ts +0 -23
- package/InputSelectDropdown/index.js +0 -129
- package/InputSelectDropdown/index.js.map +0 -1
- package/InputSelectDropdown/package.json +0 -9
- package/InputSelectOption/cjs/index.js +0 -53
- package/InputSelectOption/cjs/index.js.map +0 -1
- package/InputSelectOption/cjs/package.json +0 -9
- package/InputSelectOption/index.d.ts +0 -14
- package/InputSelectOption/index.js +0 -47
- package/InputSelectOption/index.js.map +0 -1
- package/InputSelectOption/package.json +0 -9
- package/InputSelectWithController/cjs/index.js +0 -223
- package/InputSelectWithController/cjs/index.js.map +0 -1
- package/InputSelectWithController/cjs/package.json +0 -10
- package/InputSelectWithController/index.d.ts +0 -22
- package/InputSelectWithController/index.js +0 -217
- package/InputSelectWithController/index.js.map +0 -1
- package/InputSelectWithController/package.json +0 -10
- package/InputTextAreaMobile/cjs/index.js +0 -86
- package/InputTextAreaMobile/cjs/index.js.map +0 -1
- package/InputTextAreaMobile/cjs/package.json +0 -10
- package/InputTextAreaMobile/index.d.ts +0 -5
- package/InputTextAreaMobile/index.js +0 -80
- package/InputTextAreaMobile/index.js.map +0 -1
- package/InputTextAreaMobile/package.json +0 -10
- package/InputWithAddressAutocomplete/cjs/index.js +0 -270
- package/InputWithAddressAutocomplete/cjs/index.js.map +0 -1
- package/InputWithAddressAutocomplete/cjs/package.json +0 -11
- package/InputWithAddressAutocomplete/index.d.ts +0 -36
- package/InputWithAddressAutocomplete/index.js +0 -264
- package/InputWithAddressAutocomplete/index.js.map +0 -1
- package/InputWithAddressAutocomplete/package.json +0 -11
- package/InputWithAutocomplete/cjs/index.js +0 -310
- package/InputWithAutocomplete/cjs/index.js.map +0 -1
- package/InputWithAutocomplete/cjs/package.json +0 -10
- package/InputWithAutocomplete/index.d.ts +0 -27
- package/InputWithAutocomplete/index.js +0 -286
- package/InputWithAutocomplete/index.js.map +0 -1
- package/InputWithAutocomplete/package.json +0 -10
- package/InputWithController/cjs/index.js +0 -71
- package/InputWithController/cjs/index.js.map +0 -1
- package/InputWithController/cjs/package.json +0 -10
- package/InputWithController/index.d.ts +0 -13
- package/InputWithController/index.js +0 -69
- package/InputWithController/index.js.map +0 -1
- package/InputWithController/package.json +0 -10
- package/InputWithDatePicker/cjs/index.js +0 -423
- package/InputWithDatePicker/cjs/index.js.map +0 -1
- package/InputWithDatePicker/cjs/package.json +0 -13
- package/InputWithDatePicker/index.d.ts +0 -24
- package/InputWithDatePicker/index.js +0 -397
- package/InputWithDatePicker/index.js.map +0 -1
- package/InputWithDatePicker/package.json +0 -13
- package/InputWithMask/cjs/index.js +0 -69
- package/InputWithMask/cjs/index.js.map +0 -1
- package/InputWithMask/cjs/package.json +0 -10
- package/InputWithMask/index.d.ts +0 -13
- package/InputWithMask/index.js +0 -67
- package/InputWithMask/index.js.map +0 -1
- package/InputWithMask/package.json +0 -10
- package/InputWithMonthPicker/cjs/index.js +0 -195
- package/InputWithMonthPicker/cjs/index.js.map +0 -1
- package/InputWithMonthPicker/cjs/package.json +0 -12
- package/InputWithMonthPicker/index.d.ts +0 -5
- package/InputWithMonthPicker/index.js +0 -187
- package/InputWithMonthPicker/index.js.map +0 -1
- package/InputWithMonthPicker/package.json +0 -12
- package/Link/cjs/index.js +0 -97
- package/Link/cjs/index.js.map +0 -1
- package/Link/cjs/package.json +0 -10
- package/Link/index.d.ts +0 -13
- package/Link/index.js +0 -91
- package/Link/index.js.map +0 -1
- package/Link/package.json +0 -10
- package/Loading/cjs/index.js +0 -72
- package/Loading/cjs/index.js.map +0 -1
- package/Loading/cjs/package.json +0 -9
- package/Loading/index.d.ts +0 -7
- package/Loading/index.js +0 -66
- package/Loading/index.js.map +0 -1
- package/Loading/package.json +0 -9
- package/MapWrapper/cjs/index.js +0 -107
- package/MapWrapper/cjs/index.js.map +0 -1
- package/MapWrapper/cjs/package.json +0 -10
- package/MapWrapper/index.d.ts +0 -9
- package/MapWrapper/index.js +0 -101
- package/MapWrapper/index.js.map +0 -1
- package/MapWrapper/package.json +0 -10
- package/MenuItem/cjs/index.js +0 -83
- package/MenuItem/cjs/index.js.map +0 -1
- package/MenuItem/cjs/package.json +0 -10
- package/MenuItem/index.d.ts +0 -17
- package/MenuItem/index.js +0 -77
- package/MenuItem/index.js.map +0 -1
- package/MenuItem/package.json +0 -10
- package/MenuPanel/cjs/index.js +0 -194
- package/MenuPanel/cjs/index.js.map +0 -1
- package/MenuPanel/cjs/package.json +0 -13
- package/MenuPanel/index.d.ts +0 -18
- package/MenuPanel/index.js +0 -168
- package/MenuPanel/index.js.map +0 -1
- package/MenuPanel/package.json +0 -13
- package/MobileInputWithMonthPicker/cjs/index.js +0 -182
- package/MobileInputWithMonthPicker/cjs/index.js.map +0 -1
- package/MobileInputWithMonthPicker/cjs/package.json +0 -12
- package/MobileInputWithMonthPicker/index.d.ts +0 -5
- package/MobileInputWithMonthPicker/index.js +0 -174
- package/MobileInputWithMonthPicker/index.js.map +0 -1
- package/MobileInputWithMonthPicker/package.json +0 -12
- package/MobileMenuPanel/cjs/index.js +0 -113
- package/MobileMenuPanel/cjs/index.js.map +0 -1
- package/MobileMenuPanel/cjs/package.json +0 -11
- package/MobileMenuPanel/index.d.ts +0 -18
- package/MobileMenuPanel/index.js +0 -106
- package/MobileMenuPanel/index.js.map +0 -1
- package/MobileMenuPanel/package.json +0 -11
- package/ModalFooter/cjs/index.js +0 -66
- package/ModalFooter/cjs/index.js.map +0 -1
- package/ModalFooter/cjs/package.json +0 -9
- package/ModalFooter/index.d.ts +0 -9
- package/ModalFooter/index.js +0 -60
- package/ModalFooter/index.js.map +0 -1
- package/ModalFooter/package.json +0 -9
- package/MonthPickerContainer/cjs/index.js +0 -63
- package/MonthPickerContainer/cjs/index.js.map +0 -1
- package/MonthPickerContainer/cjs/package.json +0 -9
- package/MonthPickerContainer/index.d.ts +0 -12
- package/MonthPickerContainer/index.js +0 -57
- package/MonthPickerContainer/index.js.map +0 -1
- package/MonthPickerContainer/package.json +0 -9
- package/MonthPickerHeader/cjs/index.js +0 -53
- package/MonthPickerHeader/cjs/index.js.map +0 -1
- package/MonthPickerHeader/cjs/package.json +0 -9
- package/MonthPickerHeader/index.d.ts +0 -13
- package/MonthPickerHeader/index.js +0 -47
- package/MonthPickerHeader/index.js.map +0 -1
- package/MonthPickerHeader/package.json +0 -9
- package/PassportStrengthBar/cjs/index.js +0 -82
- package/PassportStrengthBar/cjs/index.js.map +0 -1
- package/PassportStrengthBar/cjs/package.json +0 -9
- package/PassportStrengthBar/index.d.ts +0 -13
- package/PassportStrengthBar/index.js +0 -76
- package/PassportStrengthBar/index.js.map +0 -1
- package/PassportStrengthBar/package.json +0 -9
- package/Popper/cjs/index.js +0 -227
- package/Popper/cjs/index.js.map +0 -1
- package/Popper/cjs/package.json +0 -10
- package/Popper/index.d.ts +0 -23
- package/Popper/index.js +0 -201
- package/Popper/index.js.map +0 -1
- package/Popper/package.json +0 -10
- package/PopperBase/cjs/index.js +0 -72
- package/PopperBase/cjs/index.js.map +0 -1
- package/PopperBase/cjs/package.json +0 -9
- package/PopperBase/index.d.ts +0 -21
- package/PopperBase/index.js +0 -65
- package/PopperBase/index.js.map +0 -1
- package/PopperBase/package.json +0 -9
- package/PopperWithPortal/cjs/index.js +0 -166
- package/PopperWithPortal/cjs/index.js.map +0 -1
- package/PopperWithPortal/cjs/package.json +0 -10
- package/PopperWithPortal/index.d.ts +0 -23
- package/PopperWithPortal/index.js +0 -140
- package/PopperWithPortal/index.js.map +0 -1
- package/PopperWithPortal/package.json +0 -10
- package/RadioButtons/cjs/index.js +0 -80
- package/RadioButtons/cjs/index.js.map +0 -1
- package/RadioButtons/cjs/package.json +0 -9
- package/RadioButtons/index.d.ts +0 -27
- package/RadioButtons/index.js +0 -78
- package/RadioButtons/index.js.map +0 -1
- package/RadioButtons/package.json +0 -9
- package/RadioButtonsWithController/cjs/index.js +0 -102
- package/RadioButtonsWithController/cjs/index.js.map +0 -1
- package/RadioButtonsWithController/cjs/package.json +0 -10
- package/RadioButtonsWithController/index.d.ts +0 -31
- package/RadioButtonsWithController/index.js +0 -100
- package/RadioButtonsWithController/index.js.map +0 -1
- package/RadioButtonsWithController/package.json +0 -10
- package/RadioGroupWithLabel/cjs/index.js +0 -149
- package/RadioGroupWithLabel/cjs/index.js.map +0 -1
- package/RadioGroupWithLabel/cjs/package.json +0 -10
- package/RadioGroupWithLabel/index.d.ts +0 -34
- package/RadioGroupWithLabel/index.js +0 -143
- package/RadioGroupWithLabel/index.js.map +0 -1
- package/RadioGroupWithLabel/package.json +0 -10
- package/SelectMonth/cjs/index.js +0 -220
- package/SelectMonth/cjs/index.js.map +0 -1
- package/SelectMonth/cjs/package.json +0 -9
- package/SelectMonth/index.d.ts +0 -26
- package/SelectMonth/index.js +0 -214
- package/SelectMonth/index.js.map +0 -1
- package/SelectMonth/package.json +0 -9
- package/SelectYear/cjs/index.js +0 -208
- package/SelectYear/cjs/index.js.map +0 -1
- package/SelectYear/cjs/package.json +0 -9
- package/SelectYear/index.d.ts +0 -27
- package/SelectYear/index.js +0 -202
- package/SelectYear/index.js.map +0 -1
- package/SelectYear/package.json +0 -9
- package/StaticPopper/cjs/index.js +0 -140
- package/StaticPopper/cjs/index.js.map +0 -1
- package/StaticPopper/cjs/package.json +0 -9
- package/StaticPopper/index.d.ts +0 -23
- package/StaticPopper/index.js +0 -133
- package/StaticPopper/index.js.map +0 -1
- package/StaticPopper/package.json +0 -9
- package/Switch/cjs/index.js +0 -55
- package/Switch/cjs/index.js.map +0 -1
- package/Switch/cjs/package.json +0 -10
- package/Switch/index.d.ts +0 -14
- package/Switch/index.js +0 -53
- package/Switch/index.js.map +0 -1
- package/Switch/package.json +0 -10
- package/Table/cjs/index.js +0 -47
- package/Table/cjs/index.js.map +0 -1
- package/Table/cjs/package.json +0 -9
- package/Table/index.d.ts +0 -5
- package/Table/index.js +0 -41
- package/Table/index.js.map +0 -1
- package/Table/package.json +0 -9
- package/TableCell/cjs/index.js +0 -33
- package/TableCell/cjs/index.js.map +0 -1
- package/TableCell/cjs/package.json +0 -6
- package/TableCell/index.d.ts +0 -10
- package/TableCell/index.js +0 -27
- package/TableCell/index.js.map +0 -1
- package/TableCell/package.json +0 -6
- package/TableHeadCell/cjs/index.js +0 -33
- package/TableHeadCell/cjs/index.js.map +0 -1
- package/TableHeadCell/cjs/package.json +0 -6
- package/TableHeadCell/index.d.ts +0 -10
- package/TableHeadCell/index.js +0 -27
- package/TableHeadCell/index.js.map +0 -1
- package/TableHeadCell/package.json +0 -6
- package/TableRow/cjs/index.js +0 -71
- package/TableRow/cjs/index.js.map +0 -1
- package/TableRow/cjs/package.json +0 -9
- package/TableRow/index.d.ts +0 -5
- package/TableRow/index.js +0 -50
- package/TableRow/index.js.map +0 -1
- package/TableRow/package.json +0 -9
- package/TestForm/cjs/index.js +0 -754
- package/TestForm/cjs/index.js.map +0 -1
- package/TestForm/cjs/package.json +0 -15
- package/TestForm/index.d.ts +0 -3
- package/TestForm/index.js +0 -726
- package/TestForm/index.js.map +0 -1
- package/TestForm/package.json +0 -15
- package/Tooltip/cjs/index.js +0 -257
- package/Tooltip/cjs/index.js.map +0 -1
- package/Tooltip/cjs/package.json +0 -10
- package/Tooltip/index.d.ts +0 -28
- package/Tooltip/index.js +0 -231
- package/Tooltip/index.js.map +0 -1
- package/Tooltip/package.json +0 -10
- package/UndefinedAvatar/cjs/index.js +0 -71
- package/UndefinedAvatar/cjs/index.js.map +0 -1
- package/UndefinedAvatar/cjs/package.json +0 -9
- package/UndefinedAvatar/index.d.ts +0 -8
- package/UndefinedAvatar/index.js +0 -65
- package/UndefinedAvatar/index.js.map +0 -1
- package/UndefinedAvatar/package.json +0 -9
- package/cjs/index.js +0 -1887
- package/cjs/index.js.map +0 -1
- package/index.d.ts +0 -447
- package/index.js +0 -1807
- package/index.js.map +0 -1
package/index.js
DELETED
|
@@ -1,1807 +0,0 @@
|
|
|
1
|
-
import 'react-datepicker/dist/react-datepicker.css';
|
|
2
|
-
import 'swiper/swiper-bundle.css';
|
|
3
|
-
import { jsx as jsx$1, jsxs, Fragment } from '@emotion/react/jsx-runtime';
|
|
4
|
-
import styled from '@emotion/styled';
|
|
5
|
-
import { css, Global } from '@emotion/react';
|
|
6
|
-
import * as React from 'react';
|
|
7
|
-
import { forwardRef, useEffect, useState, useRef } from 'react';
|
|
8
|
-
import { jsx, jsxs as jsxs$1, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
9
|
-
import { Caption, theme, Button, Container, Grid, InputWithAdornments, Heading, InputWithMask as InputWithMask$1, IconButton, LinearProgress, Divider, Modal, Switch as Switch$1, InputWithCountryDropdown, Checkbox, Radio, InputMessage, CircularProgress, Box } from 'kui-basic';
|
|
10
|
-
import classNames from 'classnames';
|
|
11
|
-
import { DateTime } from 'luxon';
|
|
12
|
-
import { HalfArrowIcon, PrevArrowIcon, NextArrowIcon, CalendarIcon, ArrowBackIcon, ArrowNextIcon, ClosedEyeIcon, OpenEyeIcon, CheckIcon, PlusIcon, FileIcon, EditIcon, TrashIcon } from 'kui-icon';
|
|
13
|
-
import _ from 'lodash';
|
|
14
|
-
import DatePicker from 'react-datepicker';
|
|
15
|
-
import { Controller, useController, useWatch } from 'react-hook-form';
|
|
16
|
-
import { scroller, Events, Link as Link$1, animateScroll, Element } from 'react-scroll';
|
|
17
|
-
import ru from 'date-fns/locale/ru';
|
|
18
|
-
import { useNavigate } from 'react-router-dom';
|
|
19
|
-
import { useLocation } from 'react-router';
|
|
20
|
-
import Swiper from 'react-id-swiper';
|
|
21
|
-
import * as ReactDOM from 'react-dom';
|
|
22
|
-
import { Loader } from '@googlemaps/js-api-loader';
|
|
23
|
-
|
|
24
|
-
/******************************************************************************
|
|
25
|
-
Copyright (c) Microsoft Corporation.
|
|
26
|
-
|
|
27
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
28
|
-
purpose with or without fee is hereby granted.
|
|
29
|
-
|
|
30
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
31
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
32
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
33
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
34
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
35
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
36
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
37
|
-
***************************************************************************** */
|
|
38
|
-
|
|
39
|
-
var __assign = function() {
|
|
40
|
-
__assign = Object.assign || function __assign(t) {
|
|
41
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
42
|
-
s = arguments[i];
|
|
43
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
44
|
-
}
|
|
45
|
-
return t;
|
|
46
|
-
};
|
|
47
|
-
return __assign.apply(this, arguments);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
function __rest(s, e) {
|
|
51
|
-
var t = {};
|
|
52
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
53
|
-
t[p] = s[p];
|
|
54
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
55
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
56
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
57
|
-
t[p[i]] = s[p[i]];
|
|
58
|
-
}
|
|
59
|
-
return t;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
63
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
64
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
65
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
66
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
67
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
68
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function __generator(thisArg, body) {
|
|
73
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
74
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
75
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
76
|
-
function step(op) {
|
|
77
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
78
|
-
while (_) try {
|
|
79
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
80
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
81
|
-
switch (op[0]) {
|
|
82
|
-
case 0: case 1: t = op; break;
|
|
83
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
84
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
85
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
86
|
-
default:
|
|
87
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
88
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
89
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
90
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
91
|
-
if (t[2]) _.ops.pop();
|
|
92
|
-
_.trys.pop(); continue;
|
|
93
|
-
}
|
|
94
|
-
op = body.call(thisArg, _);
|
|
95
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
96
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function __spreadArray(to, from, pack) {
|
|
101
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
102
|
-
if (ar || !(i in from)) {
|
|
103
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
104
|
-
ar[i] = from[i];
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function __makeTemplateObject(cooked, raw) {
|
|
111
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
112
|
-
return cooked;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
var UndefinedAvatar = forwardRef(function (_a, ref) {
|
|
116
|
-
var label = _a.label, otherProps = __rest(_a, ["label"]);
|
|
117
|
-
if (!label) {
|
|
118
|
-
return jsx("div", {});
|
|
119
|
-
}
|
|
120
|
-
var formattedLabel = label
|
|
121
|
-
.split(" ")
|
|
122
|
-
.map(function (el) { return el[0]; })
|
|
123
|
-
.slice(0, 3)
|
|
124
|
-
.join("");
|
|
125
|
-
return (jsx(Wrapper$8, __assign({ "data-testid": "undefined_avatar", ref: ref }, { children: jsx(Caption, __assign({ size: "xs", weight: 600, colorGroup: "brand", color: "main" }, otherProps, { children: formattedLabel })) })));
|
|
126
|
-
});
|
|
127
|
-
var Wrapper$8 = styled.div(templateObject_1$H || (templateObject_1$H = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n &,\n p {\n transition: all ease-out 0.3s;\n }\n @media (min-width: 900px) {\n &:hover {\n background-color: ", ";\n p {\n color: white;\n }\n }\n }\n"], ["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n &,\n p {\n transition: all ease-out 0.3s;\n }\n @media (min-width: 900px) {\n &:hover {\n background-color: ", ";\n p {\n color: white;\n }\n }\n }\n"])), theme.palette.brand.light, theme.palette.brand.main);
|
|
128
|
-
var templateObject_1$H;
|
|
129
|
-
|
|
130
|
-
var Avatar = forwardRef(function (props, ref) {
|
|
131
|
-
var size = props.size, fullName = props.fullName, imageUrl = props.imageUrl, otherProps = __rest(props, ["size", "fullName", "imageUrl"]);
|
|
132
|
-
return (jsx$1(Wrapper$7, __assign({ css: sizeStyles[size], ref: ref }, otherProps, { children: imageUrl ? (jsx$1(StyledImage, { "data-testid": "avatar_image", src: imageUrl, alt: "avatar" })) : (jsx$1(StyledUndefinedAvatar, { label: fullName, avatarSize: size })) })));
|
|
133
|
-
});
|
|
134
|
-
var Wrapper$7 = styled.div(templateObject_1$G || (templateObject_1$G = __makeTemplateObject(["\n border-radius: 50%;\n overflow: hidden;\n cursor: pointer;\n"], ["\n border-radius: 50%;\n overflow: hidden;\n cursor: pointer;\n"])));
|
|
135
|
-
var StyledImage = styled.img(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n"], ["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n"])));
|
|
136
|
-
var largeAvatarCSS = function (_a) {
|
|
137
|
-
var avatarSize = _a.avatarSize;
|
|
138
|
-
return avatarSize === "lg" && css(templateObject_3$c || (templateObject_3$c = __makeTemplateObject(["\n font-size: 32px;\n "], ["\n font-size: 32px;\n "])));
|
|
139
|
-
};
|
|
140
|
-
var StyledUndefinedAvatar = styled(UndefinedAvatar, {
|
|
141
|
-
shouldForwardProp: function (prop) { return prop !== "size"; },
|
|
142
|
-
})(templateObject_4$6 || (templateObject_4$6 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), largeAvatarCSS);
|
|
143
|
-
var sizeStyles = {
|
|
144
|
-
s: css(templateObject_5$4 || (templateObject_5$4 = __makeTemplateObject(["\n width: 40px;\n height: 40px;\n @media (max-width: 600px) {\n width: 32px;\n height: 32px;\n }\n "], ["\n width: 40px;\n height: 40px;\n @media (max-width: 600px) {\n width: 32px;\n height: 32px;\n }\n "]))),
|
|
145
|
-
lg: css(templateObject_6$1 || (templateObject_6$1 = __makeTemplateObject(["\n width: 80px;\n height: 80px;\n "], ["\n width: 80px;\n height: 80px;\n "]))),
|
|
146
|
-
};
|
|
147
|
-
var templateObject_1$G, templateObject_2$p, templateObject_3$c, templateObject_4$6, templateObject_5$4, templateObject_6$1;
|
|
148
|
-
|
|
149
|
-
var ButtonTab = forwardRef(function (_a, ref) {
|
|
150
|
-
var index = _a.index, onClick = _a.onClick, isActive = _a.isActive, label = _a.label;
|
|
151
|
-
var handleClick = function () {
|
|
152
|
-
onClick(index);
|
|
153
|
-
};
|
|
154
|
-
return (jsx$1(StyledButton$1, __assign({ variant: isActive ? "orange" : "white", captionWeight: isActive ? 600 : 400, onClick: handleClick, css: !isActive && inactiveStyles, size: "s", ref: ref, className: classNames("KUI-ButtonTab", isActive && "KUI-ButtonTab_active") }, { children: label })));
|
|
155
|
-
});
|
|
156
|
-
var StyledButton$1 = styled(Button)(templateObject_1$F || (templateObject_1$F = __makeTemplateObject(["\n margin-right: 24px;\n &:last-of-type {\n margin-right: 0;\n }\n"], ["\n margin-right: 24px;\n &:last-of-type {\n margin-right: 0;\n }\n"])));
|
|
157
|
-
var inactiveStyles = css(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n p {\n color: ", ";\n }\n"], ["\n p {\n color: ", ";\n }\n"])), theme.palette.grey.seventy);
|
|
158
|
-
var templateObject_1$F, templateObject_2$o;
|
|
159
|
-
|
|
160
|
-
var updateQueryParams = function (newLink) {
|
|
161
|
-
var searchQuery = new URLSearchParams(window.location.search);
|
|
162
|
-
var hrefLinkParams = newLink.split(/\?|&/);
|
|
163
|
-
var hrefParams = Object.fromEntries(new URLSearchParams(hrefLinkParams.slice(1).join("&")).entries());
|
|
164
|
-
var searchParams = Object.fromEntries(searchQuery.entries());
|
|
165
|
-
var route = hrefLinkParams[0];
|
|
166
|
-
Object.keys(searchParams).forEach(function (key, index) {
|
|
167
|
-
if (key in hrefParams) {
|
|
168
|
-
searchParams[key] = hrefParams[key];
|
|
169
|
-
delete hrefParams[key];
|
|
170
|
-
}
|
|
171
|
-
if (key !== "id") {
|
|
172
|
-
route += "".concat(index === 0 ? "?" : "&").concat(key, "=").concat(searchParams[key]);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
Object.keys(hrefParams).forEach(function (key) {
|
|
176
|
-
route += "&".concat(key, "=").concat(hrefParams[key]);
|
|
177
|
-
});
|
|
178
|
-
window.history.pushState({ route: route }, "", route);
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
var ButtonsPanel = forwardRef(function (_a, ref) {
|
|
182
|
-
var tabs = _a.tabs, tabPanels = _a.tabPanels, paths = _a.paths, activeTab = _a.activeTab, isSticky = _a.isSticky, onChange = _a.onChange, startComponent = _a.startComponent, endComponent = _a.endComponent, otherProps = __rest(_a, ["tabs", "tabPanels", "paths", "activeTab", "isSticky", "onChange", "startComponent", "endComponent"]);
|
|
183
|
-
var _b = React.useState(Number(activeTab)), value = _b[0], setValue = _b[1];
|
|
184
|
-
var handleChange = function (newValue) {
|
|
185
|
-
setValue(newValue);
|
|
186
|
-
if (paths && paths.length)
|
|
187
|
-
updateQueryParams(paths[newValue]);
|
|
188
|
-
if (onChange)
|
|
189
|
-
onChange(newValue);
|
|
190
|
-
};
|
|
191
|
-
useEffect(function () {
|
|
192
|
-
setValue(Number(activeTab));
|
|
193
|
-
}, [activeTab]);
|
|
194
|
-
return (jsxs(Fragment, { children: [jsx$1(StyledContainer$2, __assign({ css: isSticky && { position: "sticky" }, ref: ref }, otherProps, { children: jsxs(StyledWrapper$9, __assign({ className: "KUI-ButtonTabs" }, { children: [startComponent, tabs.map(function (item, index) { return (jsx$1(ButtonTab, { index: index, onClick: handleChange, isActive: index === value, label: item }, item)); }), endComponent] })) })), tabPanels.map(function (item, index) { return (jsx$1(Content, __assign({ role: "tabpanel", hidden: value !== index }, { children: value === index && jsx$1(Fragment, { children: item }) }), index)); })] }));
|
|
195
|
-
});
|
|
196
|
-
ButtonsPanel.defaultProps = {
|
|
197
|
-
isSticky: false,
|
|
198
|
-
};
|
|
199
|
-
var Content = styled.div(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n height: 100%;\n"], ["\n height: 100%;\n"])));
|
|
200
|
-
var StyledContainer$2 = styled.div(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n background: ", ";\n top: 80px;\n z-index: 4;\n padding-top: 16px;\n padding-bottom: 24px;\n @media (max-width: 1200px) {\n padding-bottom: 18px;\n }\n @media (max-width: 600px) {\n top: 48px;\n }\n"], ["\n background: ", ";\n top: 80px;\n z-index: 4;\n padding-top: 16px;\n padding-bottom: 24px;\n @media (max-width: 1200px) {\n padding-bottom: 18px;\n }\n @media (max-width: 600px) {\n top: 48px;\n }\n"])), theme.palette.grey.zero);
|
|
201
|
-
var StyledWrapper$9 = styled(Container)(templateObject_3$b || (templateObject_3$b = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"])));
|
|
202
|
-
var templateObject_1$E, templateObject_2$n, templateObject_3$b;
|
|
203
|
-
|
|
204
|
-
var InputDropdown = forwardRef(function (props, ref) {
|
|
205
|
-
var isOpen = props.isOpen, handleClose = props.handleClose, buttonRef = props.buttonRef, children = props.children, endComponent = props.endComponent, otherProps = __rest(props, ["isOpen", "handleClose", "buttonRef", "children", "endComponent"]);
|
|
206
|
-
var _a = useState(false), isScrollable = _a[0], setIsScrollable = _a[1];
|
|
207
|
-
var dropdownRef = useRef(null);
|
|
208
|
-
var closePopUp = function (e) {
|
|
209
|
-
if (dropdownRef.current && buttonRef && buttonRef.current) {
|
|
210
|
-
if (!dropdownRef.current.contains(e.target) &&
|
|
211
|
-
!buttonRef.current.contains(e.target)) {
|
|
212
|
-
handleClose();
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
useEffect(function () {
|
|
217
|
-
document.addEventListener("click", closePopUp);
|
|
218
|
-
return function () {
|
|
219
|
-
document.removeEventListener("click", closePopUp);
|
|
220
|
-
};
|
|
221
|
-
});
|
|
222
|
-
useEffect(function () {
|
|
223
|
-
var _a;
|
|
224
|
-
if (buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) {
|
|
225
|
-
if (isOpen) {
|
|
226
|
-
buttonRef.current.style.zIndex = "4";
|
|
227
|
-
var scrollContainer = (_a = dropdownRef.current) === null || _a === void 0 ? void 0 : _a.children[0].children[0];
|
|
228
|
-
if (scrollContainer) {
|
|
229
|
-
var hasScroll = scrollContainer.scrollHeight > scrollContainer.clientHeight;
|
|
230
|
-
setIsScrollable(hasScroll);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
buttonRef.current.style.zIndex = "1";
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}, [isOpen]);
|
|
238
|
-
if (!isOpen) {
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
var forwardedRef = function (elem) {
|
|
242
|
-
if (typeof ref === "function")
|
|
243
|
-
ref(elem);
|
|
244
|
-
else if (ref)
|
|
245
|
-
ref.current = elem;
|
|
246
|
-
dropdownRef.current = elem;
|
|
247
|
-
};
|
|
248
|
-
return (jsxs$1(StyledDropdown$2, __assign({ "data-testid": "input_dropdown", container: true, ref: forwardedRef, isOpen: isOpen }, otherProps, { children: [jsx(StyledWrapper$8, __assign({ isScrollable: isScrollable }, { children: jsx(ScrollingContainer, __assign({ isScrollable: isScrollable, className: "KUI-InputDropdown_scroll" }, { children: children })) })), endComponent] })));
|
|
249
|
-
});
|
|
250
|
-
var StyledDropdown$2 = styled(Grid)(templateObject_1$D || (templateObject_1$D = __makeTemplateObject(["\n width: 100%;\n display: ", ";\n position: absolute;\n background: ", ";\n z-index: 3;\n top: 50px;\n box-shadow: 0px 26px 34px 0px #0000001a;\n border-radius: 0 0 8px 8px;\n user-select: none;\n"], ["\n width: 100%;\n display: ", ";\n position: absolute;\n background: ", ";\n z-index: 3;\n top: 50px;\n box-shadow: 0px 26px 34px 0px #0000001a;\n border-radius: 0 0 8px 8px;\n user-select: none;\n"])), function (_a) {
|
|
251
|
-
var isOpen = _a.isOpen;
|
|
252
|
-
return (isOpen ? "flex" : "none");
|
|
253
|
-
}, theme.palette.grey.zero);
|
|
254
|
-
var StyledWrapper$8 = styled.div(templateObject_2$m || (templateObject_2$m = __makeTemplateObject(["\n width: 100%;\n box-sizing: border-box;\n padding: ", ";\n"], ["\n width: 100%;\n box-sizing: border-box;\n padding: ", ";\n"])), function (_a) {
|
|
255
|
-
var isScrollable = _a.isScrollable;
|
|
256
|
-
return isScrollable ? "14px 8px 8px 0" : "14px 0px 8px 0";
|
|
257
|
-
});
|
|
258
|
-
var ScrollingContainer = styled.div(templateObject_3$a || (templateObject_3$a = __makeTemplateObject(["\n width: 100%;\n max-height: 389px;\n box-sizing: border-box;\n z-index: 3;\n overflow: auto;\n -ms-overflow-style: none;\n overflow-y: scroll;\n overflow-x: hidden;\n user-select: none;\n ::-webkit-scrollbar {\n width: ", ";\n position: absolute;\n right: 8px;\n }\n ::-webkit-scrollbar-track,\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n transition: all ease-out 0.3s;\n }\n\n ::-webkit-resizer,\n ::-webkit-scrollbar-button,\n ::-webkit-scrollbar-corner {\n display: none;\n }\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n background: ", ";\n }\n"], ["\n width: 100%;\n max-height: 389px;\n box-sizing: border-box;\n z-index: 3;\n overflow: auto;\n -ms-overflow-style: none;\n overflow-y: scroll;\n overflow-x: hidden;\n user-select: none;\n ::-webkit-scrollbar {\n width: ", ";\n position: absolute;\n right: 8px;\n }\n ::-webkit-scrollbar-track,\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n transition: all ease-out 0.3s;\n }\n\n ::-webkit-resizer,\n ::-webkit-scrollbar-button,\n ::-webkit-scrollbar-corner {\n display: none;\n }\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n background: ", ";\n }\n"])), function (_a) {
|
|
259
|
-
var isScrollable = _a.isScrollable;
|
|
260
|
-
return (isScrollable ? "4px" : "0px");
|
|
261
|
-
}, theme.palette.grey.fifteenB, theme.palette.grey.thirty);
|
|
262
|
-
var templateObject_1$D, templateObject_2$m, templateObject_3$a;
|
|
263
|
-
|
|
264
|
-
var InputSelectDropdown = forwardRef(function (_a, ref) {
|
|
265
|
-
var options = _a.options, inputRef = _a.inputRef, isOpenDropdown = _a.isOpenDropdown, handleCloseDropdown = _a.handleCloseDropdown, handleSelect = _a.handleSelect, selectedValue = _a.selectedValue, renderOption = _a.renderOption;
|
|
266
|
-
var handleClick = function (option) {
|
|
267
|
-
if (!option.disabled) {
|
|
268
|
-
handleSelect(option);
|
|
269
|
-
}
|
|
270
|
-
};
|
|
271
|
-
return (jsx(StyledDropdown$1, __assign({ buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown, ref: ref }, { children: options.map(function (option, key) { return (jsx(OptionWrapper, __assign({ disabled: option.disabled, onClick: function () { return handleClick(option); }, "data-value": "autocomplete_option_".concat(option.value), "data-testid": "autocomplete_option_".concat(key) }, { children: renderOption(option, selectedValue) }), option.label)); }) })));
|
|
272
|
-
});
|
|
273
|
-
var OptionWrapper = styled.div(templateObject_1$C || (templateObject_1$C = __makeTemplateObject(["\n width: 100%;\n padding: 2px 0;\n cursor: ", ";\n p {\n color: ", ";\n }\n"], ["\n width: 100%;\n padding: 2px 0;\n cursor: ", ";\n p {\n color: ", ";\n }\n"])), function (_a) {
|
|
274
|
-
var disabled = _a.disabled;
|
|
275
|
-
return (disabled ? "auto" : "pointer");
|
|
276
|
-
}, function (_a) {
|
|
277
|
-
var disabled = _a.disabled;
|
|
278
|
-
return disabled ? theme.palette.grey.fiftyP : theme.palette.grey.seventy;
|
|
279
|
-
});
|
|
280
|
-
var StyledDropdown$1 = styled(InputDropdown)(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"], ["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"])));
|
|
281
|
-
var templateObject_1$C, templateObject_2$l;
|
|
282
|
-
|
|
283
|
-
function InputSelectBase(_a) {
|
|
284
|
-
var _b;
|
|
285
|
-
var options = _a.options, name = _a.name, disabled = _a.disabled, handleChange = _a.handleChange, iconProps = _a.iconProps, renderOption = _a.renderOption, selectedLabel = _a.selectedLabel, selectedValue = _a.selectedValue, error = _a.error, inputProps = __rest(_a, ["options", "name", "disabled", "handleChange", "iconProps", "renderOption", "selectedLabel", "selectedValue", "error"]);
|
|
286
|
-
var _c = useState(false), isDropdownOpen = _c[0], setIsDropdownOpen = _c[1];
|
|
287
|
-
var inputRef = useRef(null);
|
|
288
|
-
var handleOpenDropdown = function () {
|
|
289
|
-
var _a, _b, _c, _d;
|
|
290
|
-
if ((_b = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement) {
|
|
291
|
-
(_d = (_c = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _c === void 0 ? void 0 : _c.parentElement) === null || _d === void 0 ? void 0 : _d.parentElement.focus();
|
|
292
|
-
}
|
|
293
|
-
setIsDropdownOpen(function (prev) { return !prev; });
|
|
294
|
-
};
|
|
295
|
-
var handleCloseDropdown = function () {
|
|
296
|
-
setIsDropdownOpen(false);
|
|
297
|
-
};
|
|
298
|
-
var handleSelect = function (option) {
|
|
299
|
-
if (handleChange)
|
|
300
|
-
handleChange(option);
|
|
301
|
-
handleCloseDropdown();
|
|
302
|
-
};
|
|
303
|
-
return (jsxs(Wrapper$6, { children: [jsx$1("input", { name: name, autoComplete: "off", hidden: true }), jsx$1(StyledInput$3, __assign({ onClick: handleOpenDropdown, ref: inputRef, disabled: disabled, readOnly: true, value: selectedLabel, message: error, isDropdownOpen: isDropdownOpen, isLabelShrink: Boolean(selectedValue) || selectedValue === 0 }, inputProps, { endIcon: !disabled && (jsx$1(HalfArrowIcon, __assign({ width: 12, height: 13, css: [
|
|
304
|
-
{ transition: "all linear .2s" },
|
|
305
|
-
isDropdownOpen && { transform: "rotate(180deg)" },
|
|
306
|
-
] }, iconProps))) })), options.length > 0 && !disabled && (jsx$1(InputSelectDropdown, { options: options, inputRef: {
|
|
307
|
-
current: (_b = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _b === void 0 ? void 0 : _b.parentElement,
|
|
308
|
-
}, isOpenDropdown: isDropdownOpen, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, selectedValue: selectedValue, renderOption: renderOption }))] }));
|
|
309
|
-
}
|
|
310
|
-
var Wrapper$6 = styled.div(templateObject_1$B || (templateObject_1$B = __makeTemplateObject(["\n position: relative;\n text-align: left;\n"], ["\n position: relative;\n text-align: left;\n"])));
|
|
311
|
-
var StyledInput$3 = styled(InputWithAdornments)(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n .KUI-InputMessage {\n opacity: ", ";\n }\n"], ["\n cursor: pointer;\n input,\n label {\n cursor: pointer !important;\n }\n .KUI-InputMessage {\n opacity: ", ";\n }\n"])), function (_a) {
|
|
312
|
-
var isDropdownOpen = _a.isDropdownOpen;
|
|
313
|
-
return (isDropdownOpen ? 0 : 1);
|
|
314
|
-
});
|
|
315
|
-
var templateObject_1$B, templateObject_2$k;
|
|
316
|
-
|
|
317
|
-
function InputSelectOption(props) {
|
|
318
|
-
var option = props.option, selectedValue = props.selectedValue;
|
|
319
|
-
return (jsx(StyledOption$1, __assign({ selected: selectedValue === option.value }, { children: jsx(Caption, __assign({ size: "sm", weight: 500 }, { children: option.label })) })));
|
|
320
|
-
}
|
|
321
|
-
var StyledOption$1 = styled.div(templateObject_1$A || (templateObject_1$A = __makeTemplateObject(["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n background-color: ", ";\n &:hover {\n background-color: ", ";\n }\n"], ["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n background-color: ", ";\n &:hover {\n background-color: ", ";\n }\n"])), function (_a) {
|
|
322
|
-
var selected = _a.selected;
|
|
323
|
-
return selected ? theme.palette.background.light1 : theme.palette.grey.zero;
|
|
324
|
-
}, theme.palette.background.light1);
|
|
325
|
-
var templateObject_1$A;
|
|
326
|
-
|
|
327
|
-
function InputSelect(_a) {
|
|
328
|
-
var _b;
|
|
329
|
-
var options = _a.options, name = _a.name, handleChange = _a.handleChange; _a.form; var valueProp = _a.value, inputProps = __rest(_a, ["options", "name", "handleChange", "form", "value"]);
|
|
330
|
-
var _c = useState(valueProp), value = _c[0], setValue = _c[1];
|
|
331
|
-
var selectedLabel = (_b = options.find(function (option) { return String(option.value) === String(value); })) === null || _b === void 0 ? void 0 : _b.label;
|
|
332
|
-
var handleSelect = function (option) {
|
|
333
|
-
setValue(option.value);
|
|
334
|
-
if (handleChange) {
|
|
335
|
-
handleChange(option.value);
|
|
336
|
-
}
|
|
337
|
-
};
|
|
338
|
-
useEffect(function () {
|
|
339
|
-
if (typeof valueProp !== "undefined")
|
|
340
|
-
setValue(valueProp);
|
|
341
|
-
}, [valueProp]);
|
|
342
|
-
return (jsx(InputSelectBase, __assign({ options: options, handleChange: handleSelect, selectedLabel: selectedLabel, selectedValue: value, name: name, renderOption: function (option, selectedValue) { return (jsx(InputSelectOption, { option: option, selectedValue: selectedValue })); } }, inputProps)));
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
var checkDisabled$1 = function (year, min, max) {
|
|
346
|
-
return (min && year <= min) || (max && year >= max);
|
|
347
|
-
};
|
|
348
|
-
var SelectYear = forwardRef(function (_a, ref) {
|
|
349
|
-
var yearOptions = _a.yearOptions; _a.options; var min = _a.min, max = _a.max, props = __rest(_a, ["yearOptions", "options", "min", "max"]);
|
|
350
|
-
var formattedYearOptions = yearOptions.map(function (year) { return (__assign(__assign({}, year), { disabled: checkDisabled$1(Number(year.value), min, max) })); });
|
|
351
|
-
return (jsx(InputSelect, __assign({ ref: ref, label: "Year", options: formattedYearOptions }, props)));
|
|
352
|
-
});
|
|
353
|
-
|
|
354
|
-
var checkDisabled = function (month, min, max) { return (min && month <= min) || (max && month >= max); };
|
|
355
|
-
var monthValues = [
|
|
356
|
-
{ value: 0, label: "January" },
|
|
357
|
-
{ value: 1, label: "February" },
|
|
358
|
-
{ value: 2, label: "March" },
|
|
359
|
-
{ value: 3, label: "April" },
|
|
360
|
-
{ value: 4, label: "May" },
|
|
361
|
-
{ value: 5, label: "June" },
|
|
362
|
-
{ value: 6, label: "July" },
|
|
363
|
-
{ value: 7, label: "August" },
|
|
364
|
-
{ value: 8, label: "September" },
|
|
365
|
-
{ value: 9, label: "October" },
|
|
366
|
-
{ value: 10, label: "November" },
|
|
367
|
-
{ value: 11, label: "December" },
|
|
368
|
-
];
|
|
369
|
-
var SelectMonth = forwardRef(function (props, ref) {
|
|
370
|
-
var min = props.min, max = props.max; props.options; var other = __rest(props, ["min", "max", "options"]);
|
|
371
|
-
var formattedMonths = monthValues.map(function (month) { return (__assign(__assign({}, month), { disabled: checkDisabled(month.value, min, max) })); });
|
|
372
|
-
return (jsx(InputSelect, __assign({ ref: ref, label: "Month", options: formattedMonths }, other)));
|
|
373
|
-
});
|
|
374
|
-
|
|
375
|
-
var CalendarHeaderWithSelect = forwardRef(function (_a, ref) {
|
|
376
|
-
var changeMonth = _a.changeMonth, changeYear = _a.changeYear, date = _a.date, yearOptions = _a.yearOptions, max = _a.max, min = _a.min;
|
|
377
|
-
var year = date.getFullYear();
|
|
378
|
-
var month = date.getMonth();
|
|
379
|
-
var currentYear = DateTime.now().year;
|
|
380
|
-
var minMonth = (min === null || min === void 0 ? void 0 : min.year) === currentYear ? min === null || min === void 0 ? void 0 : min.month : 0;
|
|
381
|
-
var maxMonth = (max === null || max === void 0 ? void 0 : max.year) === currentYear ? max === null || max === void 0 ? void 0 : max.month : 11;
|
|
382
|
-
return (jsx(Wrapper$5, __assign({ ref: ref }, { children: jsxs$1(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectYear, { min: min === null || min === void 0 ? void 0 : min.year, max: max === null || max === void 0 ? void 0 : max.year, yearOptions: yearOptions, value: year, handleChange: changeYear }) })), jsx(Grid, __assign({ item: true, xs: 6 }, { children: jsx(SelectMonth, { min: (Number(min === null || min === void 0 ? void 0 : min.year) >= currentYear && minMonth), max: (Number(max === null || max === void 0 ? void 0 : max.year) <= currentYear && maxMonth), value: month, handleChange: changeMonth }) }))] })) })));
|
|
383
|
-
});
|
|
384
|
-
var Wrapper$5 = styled.div(templateObject_1$z || (templateObject_1$z = __makeTemplateObject(["\n margin-bottom: 24px;\n @media (max-width: 900px) {\n padding: 0 18px;\n margin-bottom: 20px;\n }\n"], ["\n margin-bottom: 24px;\n @media (max-width: 900px) {\n padding: 0 18px;\n margin-bottom: 20px;\n }\n"])));
|
|
385
|
-
var templateObject_1$z;
|
|
386
|
-
|
|
387
|
-
var CalendarStandardContainer = forwardRef(function (_a, ref) {
|
|
388
|
-
_a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
|
|
389
|
-
return jsx(DatePickerContainer, __assign({ ref: ref }, props));
|
|
390
|
-
});
|
|
391
|
-
var DatePickerContainer = styled.div(templateObject_1$y || (templateObject_1$y = __makeTemplateObject(["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--today {\n color: ", ";\n background-color: ", ";\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"], ["\n padding: 0;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n overflow: hidden;\n width: 100%;\n height: 100%;\n .react-datepicker__header {\n background-color: transparent !important;\n }\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__day-names {\n display: flex;\n justify-content: space-between;\n .react-datepicker__day-name {\n font-family: \"Inter\", sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n text-transform: uppercase;\n margin: 0;\n width: 33px;\n line-height: normal;\n }\n }\n .react-datepicker__month {\n padding: 0;\n margin: 20px 0 0 !important;\n border: none;\n width: 100%;\n height: calc(100% - 85px);\n .react-datepicker__week {\n display: flex;\n justify-content: space-between;\n }\n }\n .react-datepicker__week {\n margin-bottom: 10px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n .react-datepicker__day {\n width: 33px;\n height: 33px;\n user-select: none;\n border-radius: 50% !important;\n transition: background ease-out 0.3s;\n border: 1px solid transparent;\n margin: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: 500;\n font-size: 16px;\n &:hover {\n background: ", ";\n }\n &:active {\n background: ", ";\n }\n }\n .react-datepicker__day--outside-month,\n .react-datepicker__day--disabled {\n color: #a6aebc;\n p {\n color: #a6aebc;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background: transparent;\n color: inherit;\n }\n .react-datepicker__day--today {\n color: ", ";\n background-color: ", ";\n }\n .react-datepicker__day--selected {\n background: white;\n border: 1px solid #e1e4e8;\n color: ", ";\n p {\n color: ", ";\n }\n }\n .react-datepicker__day--selected.warning_day {\n border-color: ", ";\n background-color: ", ";\n color: ", ";\n }\n @media (max-width: 600px) {\n .react-datepicker__day {\n max-width: 48px;\n max-height: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n height: calc((100vw - (18px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n max-width: 48px;\n width: calc((100vw - (18px * 7)) / 7);\n }\n }\n }\n @media (max-width: 350px) {\n .react-datepicker__day {\n width: calc((100vw - (6px * 7)) / 7);\n height: calc((100vw - (6px * 7)) / 7);\n }\n .react-datepicker__day-names {\n .react-datepicker__day-name {\n width: calc((100vw - (6px * 7)) / 7);\n }\n }\n }\n"])), theme.palette.grey.fiftyP, theme.palette.background.light3, theme.palette.background.light3, theme.palette.brand.main, theme.palette.brand.light, theme.palette.brand.main, theme.palette.brand.main, theme.palette.grey.fifteenB, theme.palette.red.seventy, theme.palette.grey.zero);
|
|
392
|
-
var templateObject_1$y;
|
|
393
|
-
|
|
394
|
-
var CalendarStandardHeader = forwardRef(function (_a, ref) {
|
|
395
|
-
var decreaseMonth = _a.decreaseMonth, increaseMonth = _a.increaseMonth, nextMonthButtonDisabled = _a.nextMonthButtonDisabled, prevMonthButtonDisabled = _a.prevMonthButtonDisabled, date = _a.date;
|
|
396
|
-
var title = _.capitalize(date.toLocaleString("ru", { month: "long", year: "numeric" })).slice(0, -3);
|
|
397
|
-
return (jsxs$1(HeaderWrapper, __assign({ container: true, alignItems: "center", justify: "space-between", ref: ref }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(StyledHeading, __assign({ size: "h4" }, { children: title })) })), jsx(Grid, __assign({ item: true }, { children: jsxs$1(Grid, __assign({ container: true, spacing: 2 }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", "data-testid": "prev_month_button", variant: "white", disabled: prevMonthButtonDisabled, onClick: decreaseMonth }, { children: jsx(PrevArrowIcon, { width: 10, height: 10 }) })) })), jsx(Grid, __assign({ item: true }, { children: jsx(CircleButtonStyled, __assign({ isCircle: true, size: "xs", variant: "white", disabled: nextMonthButtonDisabled, onClick: increaseMonth }, { children: jsx(NextArrowIcon, { width: 10, height: 10 }) })) }))] })) }))] })));
|
|
398
|
-
});
|
|
399
|
-
var HeaderWrapper = styled(Grid)(templateObject_1$x || (templateObject_1$x = __makeTemplateObject(["\n padding: 0 6px 34px;\n @media (max-width: 600px) {\n h2 {\n font-size: 16px;\n }\n }\n"], ["\n padding: 0 6px 34px;\n @media (max-width: 600px) {\n h2 {\n font-size: 16px;\n }\n }\n"])));
|
|
400
|
-
var StyledHeading = styled(Heading)(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n @media (max-width: 600px) {\n font-weight: 700;\n }\n"], ["\n @media (max-width: 600px) {\n font-weight: 700;\n }\n"])));
|
|
401
|
-
var CircleButtonStyled = styled(Button)(templateObject_3$9 || (templateObject_3$9 = __makeTemplateObject(["\n border-color: transparent !important;\n &:disabled {\n background-color: white !important;\n }\n"], ["\n border-color: transparent !important;\n &:disabled {\n background-color: white !important;\n }\n"])));
|
|
402
|
-
var templateObject_1$x, templateObject_2$j, templateObject_3$9;
|
|
403
|
-
|
|
404
|
-
var InputForDatepicker = forwardRef(function (props, ref) {
|
|
405
|
-
var onClick = props.onClick, disabled = props.disabled, handleClick = props.handleClick, startIcon = props.startIcon, other = __rest(props, ["onClick", "disabled", "handleClick", "startIcon"]);
|
|
406
|
-
var handleIconClick = function () {
|
|
407
|
-
if (handleClick) {
|
|
408
|
-
handleClick();
|
|
409
|
-
}
|
|
410
|
-
else {
|
|
411
|
-
onClick();
|
|
412
|
-
}
|
|
413
|
-
};
|
|
414
|
-
var Icon = function () { return (jsx(IconWrapper, __assign({ disabled: disabled, onClick: handleIconClick }, { children: startIcon || jsx(CalendarIcon, { width: 19, height: 21 }) }))); };
|
|
415
|
-
return (jsx(InputWithMask$1, __assign({ disabled: disabled, endIcon: !startIcon && jsx(Icon, {}), startIcon: startIcon && jsx(Icon, {}) }, other, { ref: ref })));
|
|
416
|
-
});
|
|
417
|
-
var IconWrapper = styled.div(templateObject_1$w || (templateObject_1$w = __makeTemplateObject(["\n display: flex;\n align-items: center;\n cursor: pointer;\n z-index: 1;\n"], ["\n display: flex;\n align-items: center;\n cursor: pointer;\n z-index: 1;\n"])));
|
|
418
|
-
var templateObject_1$w;
|
|
419
|
-
|
|
420
|
-
var MonthPickerContainer = forwardRef(function (_a, ref) {
|
|
421
|
-
_a.arrowProps; _a.showPopperArrow; var props = __rest(_a, ["arrowProps", "showPopperArrow"]);
|
|
422
|
-
return jsx(StyledContainer$1, __assign({ ref: ref }, props));
|
|
423
|
-
});
|
|
424
|
-
var StyledContainer$1 = styled.div(templateObject_1$v || (templateObject_1$v = __makeTemplateObject(["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white !important;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"], ["\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n border-radius: 12px !important;\n border: 1px solid ", " !important;\n background: #fff;\n overflow: hidden;\n z-index: 5;\n .react-datepicker-wrapper,\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n .react-datepicker__header,\n .react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n padding: 0;\n border: none;\n background-color: #fff;\n }\n .react-datepicker__month {\n margin: 0px 8px 8px !important;\n border-radius: 12px;\n border: 1px solid ", ";\n width: 238px;\n height: 169px;\n display: flex;\n flex-direction: column;\n }\n .react-datepicker__month-text {\n margin: 4px !important;\n /*width: auto !important;*/\n width: calc(100% / 3) !important;\n position: relative;\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n\n .react-datepicker__month-wrapper {\n height: calc(100% / 4);\n display: flex;\n }\n\n .react-datepicker__month-text:after {\n content: \"\";\n display: block;\n height: calc(100% + 8px);\n width: 1px;\n position: absolute;\n top: -4px;\n right: -4px;\n background: ", ";\n }\n\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n\n .react-datepicker__month--selected,\n .react-datepicker__month-text--keyboard-selected {\n background-color: ", " !important;\n border-radius: 8px !important;\n color: white !important;\n }\n .react-datepicker__month-wrapper {\n border-bottom: 1px solid ", ";\n }\n\n .react-datepicker__month-wrapper:last-child {\n border-bottom: none;\n }\n\n @media (max-width: 600px) {\n .react-datepicker__month-container {\n width: 100%;\n height: 100%;\n }\n .react-datepicker__month {\n margin: 0px 16px 16px !important;\n height: calc(100% - 58px);\n text-align: center;\n width: auto;\n }\n .react-datepicker__month-text {\n margin: 8px !important;\n }\n .react-datepicker__month-text:after {\n height: calc(100% + 16px);\n top: -8px;\n right: -8px;\n }\n .react-datepicker__month-text:nth-child(3n):after {\n content: none;\n }\n }\n @media (max-width: 600px) {\n width: 100%;\n height: 262px;\n box-shadow: 0px 5px 16px rgba(0, 0, 0, 0.1);\n }\n"])), theme.palette.background.light1, theme.palette.grey.fifteenB, theme.palette.grey.fifteenB, theme.palette.brand.main, theme.palette.grey.fifteenB);
|
|
425
|
-
var templateObject_1$v;
|
|
426
|
-
|
|
427
|
-
var MonthPickerHeader = forwardRef(function (_a, ref) {
|
|
428
|
-
var decreaseYear = _a.decreaseYear, increaseYear = _a.increaseYear, nextYearButtonDisabled = _a.nextYearButtonDisabled, prevYearButtonDisabled = _a.prevYearButtonDisabled, date = _a.date;
|
|
429
|
-
return (jsxs$1(StyledHeader, __assign({ container: true, alignItems: "center", justify: "space-between", ref: ref }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: prevYearButtonDisabled, onClick: decreaseYear }, { children: jsx(ArrowBackIcon, { width: 14, height: 12 }) })) })), jsx(Grid, __assign({ item: true }, { children: jsx(Caption, __assign({ size: "sm", weight: 600 }, { children: date.getFullYear() })) })), jsx(Grid, __assign({ item: true }, { children: jsx(StyledIconButton, __assign({ disabled: nextYearButtonDisabled, onClick: increaseYear }, { children: jsx(ArrowNextIcon, { width: 14, height: 12 }) })) }))] })));
|
|
430
|
-
});
|
|
431
|
-
var StyledIconButton = styled(IconButton)(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n height: 36px;\n &:disabled {\n opacity: 0;\n }\n"], ["\n height: 36px;\n &:disabled {\n opacity: 0;\n }\n"])));
|
|
432
|
-
var StyledHeader = styled(Grid)(templateObject_2$i || (templateObject_2$i = __makeTemplateObject(["\n background: #fff;\n padding: 4px 16px;\n border-radius: 12px 12px 0 0;\n"], ["\n background: #fff;\n padding: 4px 16px;\n border-radius: 12px 12px 0 0;\n"])));
|
|
433
|
-
var templateObject_1$u, templateObject_2$i;
|
|
434
|
-
|
|
435
|
-
var DesktopInputWithMonthPicker = forwardRef(function (_a, ref) {
|
|
436
|
-
var name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, otherProps = __rest(_a, ["name", "form", "disabled", "datePickerProps"]);
|
|
437
|
-
return (jsx(Wrapper$4, __assign({ ref: ref }, { children: jsx(Controller, { name: name, control: form.control, render: function (_a) {
|
|
438
|
-
var _b;
|
|
439
|
-
var field = _a.field, fieldState = _a.fieldState;
|
|
440
|
-
return (jsx(DatePicker, __assign({ selected: field.value, onChange: field.onChange, disabled: disabled, customInput: jsx(InputForDatepicker, __assign({ mask: "00.0000", name: name, disabled: disabled, message: (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message }, otherProps)), showMonthYearPicker: true, dateFormat: "MM.yyyy", popperPlacement: "bottom-end", calendarContainer: MonthPickerContainer, renderCustomHeader: function (props) { return (jsx(MonthPickerHeader, __assign({}, props))); } }, datePickerProps)));
|
|
441
|
-
} }) })));
|
|
442
|
-
});
|
|
443
|
-
var Wrapper$4 = styled.div(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n @media (max-width: 600px) {\n display: none;\n }\n"], ["\n @media (max-width: 600px) {\n display: none;\n }\n"])));
|
|
444
|
-
var templateObject_1$t;
|
|
445
|
-
|
|
446
|
-
var MenuItem = forwardRef(function (_a, ref) {
|
|
447
|
-
var tab = _a.tab, active = _a.active, index = _a.index, handleClick = _a.handleClick, offset = _a.offset, isScrolling = _a.isScrolling, setIsScrolling = _a.setIsScrolling;
|
|
448
|
-
var startScrolling = function () {
|
|
449
|
-
setIsScrolling(true);
|
|
450
|
-
};
|
|
451
|
-
var endScrolling = function () {
|
|
452
|
-
setIsScrolling(false);
|
|
453
|
-
};
|
|
454
|
-
var handleSelect = function () {
|
|
455
|
-
if (!isScrolling) {
|
|
456
|
-
handleClick(index);
|
|
457
|
-
}
|
|
458
|
-
};
|
|
459
|
-
useEffect(function () {
|
|
460
|
-
if (active === index) {
|
|
461
|
-
scroller.scrollTo(tab.label, { offset: offset });
|
|
462
|
-
}
|
|
463
|
-
Events.scrollEvent.register("begin", function (to, element) {
|
|
464
|
-
startScrolling();
|
|
465
|
-
if (element) {
|
|
466
|
-
handleClick(Number(element.dataset.index));
|
|
467
|
-
}
|
|
468
|
-
});
|
|
469
|
-
Events.scrollEvent.register("end", function (to, element) {
|
|
470
|
-
setTimeout(endScrolling);
|
|
471
|
-
});
|
|
472
|
-
return function () {
|
|
473
|
-
Events.scrollEvent.remove("begin");
|
|
474
|
-
Events.scrollEvent.remove("end");
|
|
475
|
-
};
|
|
476
|
-
}, []);
|
|
477
|
-
return (jsx$1(Link$1, __assign({ to: tab.label, spy: true, smooth: true, duration: 500, offset: offset, onSetActive: handleSelect }, { children: jsx$1(ButtonWrapper$2, __assign({ ref: ref }, { children: jsx$1(Button, __assign({ variant: Number(active) === index ? "orange" : "transparentWithBorder", size: "xs", css: Number(active) !== index && disabledStyles }, { children: tab.label })) })) })));
|
|
478
|
-
});
|
|
479
|
-
var ButtonWrapper$2 = styled.div(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n margin-right: 8px;\n width: max-content;\n max-width: 150px;\n @media (max-width: 900px) {\n max-width: unset;\n }\n"], ["\n margin-right: 8px;\n width: max-content;\n max-width: 150px;\n @media (max-width: 900px) {\n max-width: unset;\n }\n"])));
|
|
480
|
-
var disabledStyles = css(templateObject_2$h || (templateObject_2$h = __makeTemplateObject(["\n p {\n color: ", ";\n font-weight: 400;\n },\n"], ["\n p {\n color: ", ";\n font-weight: 400;\n },\n"])), theme.palette.grey.seventy);
|
|
481
|
-
var templateObject_1$s, templateObject_2$h;
|
|
482
|
-
|
|
483
|
-
var DesktopMenuPanel = forwardRef(function (_a, ref) {
|
|
484
|
-
var tabs = _a.tabs, variant = _a.variant, other = __rest(_a, ["tabs", "variant"]);
|
|
485
|
-
return (jsx$1(Wrapper$3, __assign({ container: true, css: variant === "white" && { background: "white" }, ref: ref }, { children: tabs.map(function (tab, index) { return (jsx$1(Grid, __assign({ item: true }, { children: jsx$1(MenuItem, __assign({ tab: tab, index: index, offset: -121 }, other), tab.label) }), index)); }) })));
|
|
486
|
-
});
|
|
487
|
-
var Wrapper$3 = styled(Grid)(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background-color: ", ";\n padding: 16px 16px 24px;\n @media (max-width: 900px) {\n justify-content: space-between;\n }\n @media (max-width: 765px) {\n display: none;\n }\n"], ["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background-color: ", ";\n padding: 16px 16px 24px;\n @media (max-width: 900px) {\n justify-content: space-between;\n }\n @media (max-width: 765px) {\n display: none;\n }\n"])), theme.palette.background.light1);
|
|
488
|
-
var templateObject_1$r;
|
|
489
|
-
|
|
490
|
-
var InputWithMask = forwardRef(function (_a, ref) {
|
|
491
|
-
var form = _a.form, name = _a.name, error = _a.error, inputProps = __rest(_a, ["form", "name", "error"]);
|
|
492
|
-
var handleChange = function (e, field) {
|
|
493
|
-
field.onChange(e);
|
|
494
|
-
if (inputProps.onChange) {
|
|
495
|
-
inputProps.onChange(e);
|
|
496
|
-
}
|
|
497
|
-
};
|
|
498
|
-
var getError = function (fieldState) {
|
|
499
|
-
var _a;
|
|
500
|
-
return typeof error !== "undefined" && String(error).length > 0
|
|
501
|
-
? error
|
|
502
|
-
: (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
|
|
503
|
-
};
|
|
504
|
-
return (jsx(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
|
|
505
|
-
var field = _a.field, fieldState = _a.fieldState;
|
|
506
|
-
return (jsx(InputWithMask$1, __assign({ message: getError(fieldState) }, field, inputProps, { onChange: function (e) {
|
|
507
|
-
return handleChange(e, field);
|
|
508
|
-
}, inputRef: ref })));
|
|
509
|
-
} }));
|
|
510
|
-
});
|
|
511
|
-
|
|
512
|
-
var InputWithController = forwardRef(function (_a, ref) {
|
|
513
|
-
var form = _a.form, name = _a.name, error = _a.error, value = _a.value, type = _a.type, inputProps = __rest(_a, ["form", "name", "error", "value", "type"]);
|
|
514
|
-
var handleChange = function (e, field) {
|
|
515
|
-
var _a;
|
|
516
|
-
var newValue = type === "number" && !((_a = e.target.value) === null || _a === void 0 ? void 0 : _a.length) ? null : e.target.value;
|
|
517
|
-
field.onChange(__assign(__assign({}, e), { target: __assign(__assign({}, e.target), { value: newValue }) }));
|
|
518
|
-
if (inputProps.onChange) {
|
|
519
|
-
inputProps.onChange(e);
|
|
520
|
-
}
|
|
521
|
-
};
|
|
522
|
-
var getError = function (fieldState) {
|
|
523
|
-
var _a;
|
|
524
|
-
return typeof error !== "undefined" && String(error).length > 0
|
|
525
|
-
? error
|
|
526
|
-
: (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
|
|
527
|
-
};
|
|
528
|
-
return (jsx(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
|
|
529
|
-
var field = _a.field, fieldState = _a.fieldState;
|
|
530
|
-
return (jsx(InputWithAdornments, __assign({ message: getError(fieldState) }, field, inputProps, { onChange: function (e) {
|
|
531
|
-
return handleChange(e, field);
|
|
532
|
-
}, type: type, value: value !== null && value !== void 0 ? value : field.value, inputRef: ref })));
|
|
533
|
-
} }));
|
|
534
|
-
});
|
|
535
|
-
|
|
536
|
-
var strengthCoefficients = {
|
|
537
|
-
weak: 0,
|
|
538
|
-
simple: 1,
|
|
539
|
-
medium: 2,
|
|
540
|
-
hard: 3,
|
|
541
|
-
};
|
|
542
|
-
var strengthColors = {
|
|
543
|
-
weak: theme.palette.red.fiftyP,
|
|
544
|
-
simple: theme.palette.brand.main,
|
|
545
|
-
medium: theme.palette.blue.fiftyP,
|
|
546
|
-
hard: theme.palette.green.fiftyP,
|
|
547
|
-
};
|
|
548
|
-
var strengthTexts = {
|
|
549
|
-
weak: "Очень простой",
|
|
550
|
-
simple: "Простой",
|
|
551
|
-
medium: "Средний",
|
|
552
|
-
hard: "Сложный",
|
|
553
|
-
};
|
|
554
|
-
var PassportStrengthBar = forwardRef(function (_a, ref) {
|
|
555
|
-
var strength = _a.strength;
|
|
556
|
-
var color = strength
|
|
557
|
-
? strengthColors[strength]
|
|
558
|
-
: "";
|
|
559
|
-
var strengthKey = strength
|
|
560
|
-
? strengthCoefficients[strength]
|
|
561
|
-
: -1;
|
|
562
|
-
return (jsxs(Wrapper$2, __assign({ "data-testid": "strength_bar", className: String(!strength && "hidden"), ref: ref }, { children: [jsx$1(ReliabilityLevelWrapper, { children: Object.keys(strengthCoefficients).map(function (item, key) { return (jsx$1(ReliabilityLevel, { children: jsx$1(StyledLinearProgress, { "data-testid": "progress_item_".concat(item), value: strengthKey >= key ? 100 : 0, color: color }) }, item)); }) }), jsx$1(Caption, __assign({ "data-testid": "strength_bar_explanation", size: "s", css: { color: color } }, { children: strength && strengthTexts[strength] })), jsx$1(Description, __assign({ size: "s", color: "fiftyP" }, { children: "\u041F\u0430\u0440\u043E\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0441\u043E\u0441\u0442\u043E\u044F\u0442\u044C \u0438\u0437 10 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C \u0446\u0438\u0444\u0440\u044B, \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u0441\u0442\u0440\u043E\u0447\u043D\u044B\u0435 \u043B\u0430\u0442\u0438\u043D\u0441\u043A\u0438\u0435 \u0431\u0443\u0432\u044B" }))] })));
|
|
563
|
-
});
|
|
564
|
-
var Wrapper$2 = styled.div(templateObject_1$q || (templateObject_1$q = __makeTemplateObject(["\n margin-top: 16px;\n min-height: 86px;\n @media (max-width: 900px) {\n min-height: unset;\n }\n &.hidden {\n opacity: 0;\n @media (max-width: 900px) {\n display: none;\n }\n }\n"], ["\n margin-top: 16px;\n min-height: 86px;\n @media (max-width: 900px) {\n min-height: unset;\n }\n &.hidden {\n opacity: 0;\n @media (max-width: 900px) {\n display: none;\n }\n }\n"])));
|
|
565
|
-
var ReliabilityLevelWrapper = styled.div(templateObject_2$g || (templateObject_2$g = __makeTemplateObject(["\n display: flex;\n margin-bottom: 8px;\n"], ["\n display: flex;\n margin-bottom: 8px;\n"])));
|
|
566
|
-
var ReliabilityLevel = styled.div(templateObject_3$8 || (templateObject_3$8 = __makeTemplateObject(["\n width: calc(100% / 4);\n margin-right: 16px;\n &:last-of-type {\n margin-right: 0;\n }\n"], ["\n width: calc(100% / 4);\n margin-right: 16px;\n &:last-of-type {\n margin-right: 0;\n }\n"])));
|
|
567
|
-
var StyledLinearProgress = styled(LinearProgress)(templateObject_4$5 || (templateObject_4$5 = __makeTemplateObject(["\n height: 8px;\n border-radius: 8px;\n background-color: ", ";\n & .KUI-LinearProgress_bar {\n background-color: ", ";\n width: 102%;\n }\n"], ["\n height: 8px;\n border-radius: 8px;\n background-color: ", ";\n & .KUI-LinearProgress_bar {\n background-color: ", ";\n width: 102%;\n }\n"])), theme.palette.grey.fifteenB, function (_a) {
|
|
568
|
-
var color = _a.color;
|
|
569
|
-
return color;
|
|
570
|
-
});
|
|
571
|
-
var Description = styled(Caption)(templateObject_5$3 || (templateObject_5$3 = __makeTemplateObject(["\n margin-top: 16px;\n @media (max-width: 900px) {\n margin-top: 8px;\n font-size: 12px;\n }\n"], ["\n margin-top: 16px;\n @media (max-width: 900px) {\n margin-top: 8px;\n font-size: 12px;\n }\n"])));
|
|
572
|
-
var templateObject_1$q, templateObject_2$g, templateObject_3$8, templateObject_4$5, templateObject_5$3;
|
|
573
|
-
|
|
574
|
-
var getFormValue = function (name, form) {
|
|
575
|
-
var names = name === null || name === void 0 ? void 0 : name.split(".");
|
|
576
|
-
var fieldValue = form === null || form === void 0 ? void 0 : form.control._formValues;
|
|
577
|
-
names === null || names === void 0 ? void 0 : names.forEach(function (field) {
|
|
578
|
-
if (fieldValue) {
|
|
579
|
-
fieldValue = fieldValue[field];
|
|
580
|
-
}
|
|
581
|
-
});
|
|
582
|
-
return fieldValue;
|
|
583
|
-
};
|
|
584
|
-
|
|
585
|
-
var isValidWithMaskExp = /^[^_]+$/;
|
|
586
|
-
var simplePasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,}$/;
|
|
587
|
-
var mediumPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/;
|
|
588
|
-
var strongPasswordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/;
|
|
589
|
-
|
|
590
|
-
var InputPassword = forwardRef(function (props, ref) {
|
|
591
|
-
var _a = useState(false), showPassword = _a[0], setShowPassword = _a[1];
|
|
592
|
-
var _b = useState(null), strength = _b[0], setStrength = _b[1];
|
|
593
|
-
var handleShowChange = function () {
|
|
594
|
-
setShowPassword(function (prev) { return !prev; });
|
|
595
|
-
};
|
|
596
|
-
var checkPasswordStrength = function (value) {
|
|
597
|
-
if (value.length === 0) {
|
|
598
|
-
setStrength(null);
|
|
599
|
-
return;
|
|
600
|
-
}
|
|
601
|
-
if (strongPasswordRegExp.test(value)) {
|
|
602
|
-
setStrength("hard");
|
|
603
|
-
}
|
|
604
|
-
else if (mediumPasswordRegExp.test(value)) {
|
|
605
|
-
setStrength("medium");
|
|
606
|
-
}
|
|
607
|
-
else if (simplePasswordRegExp.test(value)) {
|
|
608
|
-
setStrength("simple");
|
|
609
|
-
}
|
|
610
|
-
else {
|
|
611
|
-
setStrength("weak");
|
|
612
|
-
}
|
|
613
|
-
};
|
|
614
|
-
var handleChange = function (e) {
|
|
615
|
-
var targetValue = e.target.value;
|
|
616
|
-
checkPasswordStrength(targetValue);
|
|
617
|
-
};
|
|
618
|
-
useEffect(function () {
|
|
619
|
-
var form = props.form, name = props.name;
|
|
620
|
-
var fieldValue = getFormValue(name, form);
|
|
621
|
-
if (typeof fieldValue === "string") {
|
|
622
|
-
checkPasswordStrength(fieldValue);
|
|
623
|
-
}
|
|
624
|
-
}, []);
|
|
625
|
-
return (jsxs$1(Fragment$1, { children: [jsx(InputWithController, __assign({ type: showPassword ? "text" : "password", autoComplete: "new_password", onChange: handleChange, "data-testid": "input_password", ref: ref, endIcon: jsx(EyeIconWrapper, __assign({ "data-testid": "show_value_btn", onClick: handleShowChange }, { children: showPassword ? jsx(ClosedEyeIcon, {}) : jsx(OpenEyeIcon, {}) })) }, props)), jsx(PassportStrengthBar, { strength: strength })] }));
|
|
626
|
-
});
|
|
627
|
-
var EyeIconWrapper = styled.div(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n height: 18px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"], ["\n height: 18px;\n display: flex;\n align-items: center;\n cursor: pointer;\n"])));
|
|
628
|
-
var templateObject_1$p;
|
|
629
|
-
|
|
630
|
-
var InputTextAreaMobile = forwardRef(function (props) { return (jsxs$1(Fragment$1, { children: [jsx(InputWrapper$1, { children: jsx(InputWithController, __assign({}, props)) }), jsx(TextAreaWrapper, { children: jsx(InputWithController, __assign({ isTextArea: true }, props)) })] })); });
|
|
631
|
-
var InputWrapper$1 = styled.div(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n @media (max-width: 900px) {\n display: none;\n }\n"], ["\n @media (max-width: 900px) {\n display: none;\n }\n"])));
|
|
632
|
-
var TextAreaWrapper = styled.div(templateObject_2$f || (templateObject_2$f = __makeTemplateObject(["\n @media (min-width: 901px) {\n display: none;\n }\n"], ["\n @media (min-width: 901px) {\n display: none;\n }\n"])));
|
|
633
|
-
var templateObject_1$o, templateObject_2$f;
|
|
634
|
-
|
|
635
|
-
var useToggle = function (isModalOpen) {
|
|
636
|
-
if (isModalOpen === void 0) { isModalOpen = false; }
|
|
637
|
-
var _a = useState(isModalOpen), isOpen = _a[0], setIsOpen = _a[1];
|
|
638
|
-
var handleClose = function () {
|
|
639
|
-
setIsOpen(false);
|
|
640
|
-
};
|
|
641
|
-
var handleOpen = function () {
|
|
642
|
-
setIsOpen(true);
|
|
643
|
-
};
|
|
644
|
-
return [isOpen, handleOpen, handleClose];
|
|
645
|
-
};
|
|
646
|
-
|
|
647
|
-
var ModalFooter = forwardRef(function (_a, ref) {
|
|
648
|
-
var label = _a.label, button = _a.button, otherProps = __rest(_a, ["label", "button"]);
|
|
649
|
-
return (jsxs$1(StyledFooter, __assign({ ref: ref }, { children: [jsx(Divider, {}), jsx(ButtonWrapper$1, { children: button || (jsx(ButtonStyled, __assign({ fullWidth: true, size: "s", endIcon: jsx(CheckIcon, {}) }, otherProps, { children: label }))) })] })));
|
|
650
|
-
});
|
|
651
|
-
var StyledFooter = styled.div(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"], ["\n background: ", ";\n border-radius: 0 0 12px 12px;\n z-index: 10;\n position: sticky;\n bottom: 0;\n left: 0;\n"])), theme.palette.grey.zero);
|
|
652
|
-
var ButtonWrapper$1 = styled.div(templateObject_2$e || (templateObject_2$e = __makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n padding: 24px 40px;\n @media (max-width: 600px) {\n padding: 24px 16px;\n }\n"], ["\n display: flex;\n justify-content: flex-end;\n padding: 24px 40px;\n @media (max-width: 600px) {\n padding: 24px 16px;\n }\n"])));
|
|
653
|
-
var ButtonStyled = styled(Button)(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n @media (max-width: 600px) {\n width: 100%;\n }\n"], ["\n @media (max-width: 600px) {\n width: 100%;\n }\n"])));
|
|
654
|
-
var templateObject_1$n, templateObject_2$e, templateObject_3$7;
|
|
655
|
-
|
|
656
|
-
function setRef(ref, value) {
|
|
657
|
-
if (typeof ref === "function") {
|
|
658
|
-
ref(value);
|
|
659
|
-
}
|
|
660
|
-
else if (ref) {
|
|
661
|
-
ref.current = value;
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
function useForkRef() {
|
|
665
|
-
var refs = [];
|
|
666
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
667
|
-
refs[_i] = arguments[_i];
|
|
668
|
-
}
|
|
669
|
-
return React.useMemo(function () {
|
|
670
|
-
if (refs.every(function (ref) { return ref == null; })) {
|
|
671
|
-
return null;
|
|
672
|
-
}
|
|
673
|
-
return function (instance) {
|
|
674
|
-
refs.forEach(function (ref) {
|
|
675
|
-
setRef(ref, instance);
|
|
676
|
-
});
|
|
677
|
-
};
|
|
678
|
-
}, refs);
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
var generateYearRange = function (offsetFromCurrent, maxYearCount) {
|
|
682
|
-
if (!offsetFromCurrent || !maxYearCount)
|
|
683
|
-
return [];
|
|
684
|
-
var endYear = DateTime.now().year - offsetFromCurrent;
|
|
685
|
-
return _.range(maxYearCount).map(function (elem) {
|
|
686
|
-
var fullYear = endYear - elem;
|
|
687
|
-
return {
|
|
688
|
-
value: fullYear,
|
|
689
|
-
label: fullYear,
|
|
690
|
-
};
|
|
691
|
-
});
|
|
692
|
-
};
|
|
693
|
-
var InputWithDatePicker = forwardRef(function (_a, ref) {
|
|
694
|
-
var _b;
|
|
695
|
-
var title = _a.title, description = _a.description, name = _a.name, form = _a.form, disabled = _a.disabled, yearParams = _a.yearParams, onChange = _a.onChange, max = _a.max, min = _a.min, footerLabel = _a.footerLabel, datePickerProps = _a.datePickerProps, alignTitle = _a.alignTitle, props = __rest(_a, ["title", "description", "name", "form", "disabled", "yearParams", "onChange", "max", "min", "footerLabel", "datePickerProps", "alignTitle"]);
|
|
696
|
-
var _c = useController({
|
|
697
|
-
name: name,
|
|
698
|
-
control: form.control,
|
|
699
|
-
}), field = _c.field, fieldState = _c.fieldState;
|
|
700
|
-
var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
701
|
-
var formattedValue = field.value ? field.value.toFormat("dd.MM.yyyy") : "";
|
|
702
|
-
var formattedDate = field.value ? field.value.toJSDate() : null;
|
|
703
|
-
var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
|
|
704
|
-
var _e = useState(formattedDate), date = _e[0], setDate = _e[1];
|
|
705
|
-
var _f = useState(formattedValue), value = _f[0], setValue = _f[1];
|
|
706
|
-
var yearList = generateYearRange(yearParams === null || yearParams === void 0 ? void 0 : yearParams.min, yearParams === null || yearParams === void 0 ? void 0 : yearParams.max);
|
|
707
|
-
useEffect(function () {
|
|
708
|
-
if (!isModalOpen) {
|
|
709
|
-
setDate(null);
|
|
710
|
-
}
|
|
711
|
-
else {
|
|
712
|
-
setDate(formattedDate);
|
|
713
|
-
}
|
|
714
|
-
}, [isModalOpen]);
|
|
715
|
-
var handleChange = function (e) {
|
|
716
|
-
var targetValue = e.target.value;
|
|
717
|
-
setValue(targetValue);
|
|
718
|
-
if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
|
|
719
|
-
var targetDate = DateTime.fromFormat(targetValue, "dd.MM.yyyy");
|
|
720
|
-
setDate(targetDate.toJSDate());
|
|
721
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: targetDate, name: name }, type: "change" });
|
|
722
|
-
if (onChange) {
|
|
723
|
-
onChange(targetDate);
|
|
724
|
-
}
|
|
725
|
-
}
|
|
726
|
-
else {
|
|
727
|
-
setDate(null);
|
|
728
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
|
|
729
|
-
if (onChange) {
|
|
730
|
-
onChange(null);
|
|
731
|
-
}
|
|
732
|
-
}
|
|
733
|
-
};
|
|
734
|
-
var acceptWithDateSelected = function () {
|
|
735
|
-
if (date) {
|
|
736
|
-
var dateObj = DateTime.fromJSDate(date);
|
|
737
|
-
setValue(dateObj.toFormat("dd.MM.yyyy"));
|
|
738
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: dateObj, name: name }, type: "change" });
|
|
739
|
-
if (onChange) {
|
|
740
|
-
onChange(dateObj);
|
|
741
|
-
}
|
|
742
|
-
handleModalClose();
|
|
743
|
-
}
|
|
744
|
-
};
|
|
745
|
-
var handleDateChange = function (newDate) {
|
|
746
|
-
setDate(newDate);
|
|
747
|
-
};
|
|
748
|
-
var forwardedRef = useForkRef(ref, field.ref);
|
|
749
|
-
return (jsxs(Fragment, { children: [jsx$1(InputForDatepicker, __assign({ mask: "00.00.0000", name: name, handleClick: handleModalOpen, value: formattedValue || value, onChange: handleChange, disabled: disabled, message: error, ref: forwardedRef }, props)), jsxs(StyledModal, __assign({ title: title, description: description, isOpen: isModalOpen, handleClose: handleModalClose, alignTitle: alignTitle }, { children: [jsx$1(ContentWrapper$2, { children: jsx$1(DatePicker, __assign({ inline: true, selected: date || formattedDate, onChange: handleDateChange, calendarContainer: StyledCalendarStandardContainer, renderCustomHeader: function (headProps) { return (jsx$1(CalendarHeaderWithSelect, __assign({ yearOptions: yearList, max: max, min: min }, headProps))); }, renderDayContents: function (day) { return (jsx$1(DayContent, { children: day })); }, maxDate: max === null || max === void 0 ? void 0 : max.toJSDate(), minDate: min === null || min === void 0 ? void 0 : min.toJSDate() }, datePickerProps)) }), jsx$1(ModalFooter, { fullWidth: true, disabled: !formattedDate && !date, onClick: acceptWithDateSelected, label: footerLabel })] }))] }));
|
|
750
|
-
});
|
|
751
|
-
InputWithDatePicker.defaultProps = {
|
|
752
|
-
title: "Дата рождения",
|
|
753
|
-
description: "Выберите год, месяц и число вашего рождения",
|
|
754
|
-
yearParams: { min: 18, max: 120 },
|
|
755
|
-
footerLabel: "Подтвердить",
|
|
756
|
-
alignTitle: "center",
|
|
757
|
-
};
|
|
758
|
-
var ContentWrapper$2 = styled.div(templateObject_1$m || (templateObject_1$m = __makeTemplateObject(["\n padding: 0px 40px 24px;\n @media (max-width: 600px) {\n padding: 20px 0 0;\n }\n"], ["\n padding: 0px 40px 24px;\n @media (max-width: 600px) {\n padding: 20px 0 0;\n }\n"])));
|
|
759
|
-
var StyledCalendarStandardContainer = styled(CalendarStandardContainer)(templateObject_2$d || (templateObject_2$d = __makeTemplateObject(["\n height: 410px;\n .react-datepicker__header {\n padding: 0 !important;\n }\n .react-datepicker__day-names {\n padding: 35px 22px 0;\n background-color: ", ";\n border-radius: 16px 16px 0 0;\n @media (max-width: 900px) {\n padding: 24px 16px 0;\n }\n }\n .react-datepicker__month {\n justify-content: space-between;\n height: calc(100% - 124px);\n background-color: ", ";\n border-radius: 0 0 16px 16px;\n padding: 20px 22px 24px;\n margin: 0 !important;\n box-sizing: border-box;\n @media (max-width: 900px) {\n padding: 20px 16px 24px;\n }\n }\n @media (max-width: 600px) {\n height: auto;\n margin-bottom: -4px;\n }\n"], ["\n height: 410px;\n .react-datepicker__header {\n padding: 0 !important;\n }\n .react-datepicker__day-names {\n padding: 35px 22px 0;\n background-color: ", ";\n border-radius: 16px 16px 0 0;\n @media (max-width: 900px) {\n padding: 24px 16px 0;\n }\n }\n .react-datepicker__month {\n justify-content: space-between;\n height: calc(100% - 124px);\n background-color: ", ";\n border-radius: 0 0 16px 16px;\n padding: 20px 22px 24px;\n margin: 0 !important;\n box-sizing: border-box;\n @media (max-width: 900px) {\n padding: 20px 16px 24px;\n }\n }\n @media (max-width: 600px) {\n height: auto;\n margin-bottom: -4px;\n }\n"])), theme.palette.background.light1, theme.palette.background.light1);
|
|
760
|
-
var DayContent = styled.span(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n padding-top: 1px;\n font-family: Inter, sans-serif;\n @media (max-width: 600px) {\n font-weight: 400;\n }\n"], ["\n padding-top: 1px;\n font-family: Inter, sans-serif;\n @media (max-width: 600px) {\n font-weight: 400;\n }\n"])));
|
|
761
|
-
var StyledModal = styled(Modal)(templateObject_4$4 || (templateObject_4$4 = __makeTemplateObject(["\n .KUI-Modal_title {\n font-size: 24px;\n line-height: 32px;\n text-align: ", ";\n }\n .KUI-Modal_description {\n margin-bottom: 36px;\n }\n"], ["\n .KUI-Modal_title {\n font-size: 24px;\n line-height: 32px;\n text-align: ", ";\n }\n .KUI-Modal_description {\n margin-bottom: 36px;\n }\n"])), function (_a) {
|
|
762
|
-
var alignTitle = _a.alignTitle;
|
|
763
|
-
return alignTitle || "center";
|
|
764
|
-
});
|
|
765
|
-
var templateObject_1$m, templateObject_2$d, templateObject_3$6, templateObject_4$4;
|
|
766
|
-
|
|
767
|
-
var shortMonths = [
|
|
768
|
-
"ЯНВ",
|
|
769
|
-
"ФЕВ",
|
|
770
|
-
"МАРТ",
|
|
771
|
-
"АПР",
|
|
772
|
-
"МАЙ",
|
|
773
|
-
"ИЮНЬ",
|
|
774
|
-
"ИЮЛЬ",
|
|
775
|
-
"АВГ",
|
|
776
|
-
"СЕНТ",
|
|
777
|
-
"ОКТ",
|
|
778
|
-
"НОЯБ",
|
|
779
|
-
"ДЕК",
|
|
780
|
-
];
|
|
781
|
-
|
|
782
|
-
var ruCustom = __assign(__assign({}, ru), { localize: {
|
|
783
|
-
month: function (n) { return shortMonths[n]; },
|
|
784
|
-
ordinalNumber: function () { return ""; },
|
|
785
|
-
era: function () { return ""; },
|
|
786
|
-
quarter: function () { return ""; },
|
|
787
|
-
dayPeriod: function () { return ""; },
|
|
788
|
-
day: function () { return ""; },
|
|
789
|
-
} });
|
|
790
|
-
var MobileInputWithMonthPicker = forwardRef(function (_a, ref) {
|
|
791
|
-
var _b;
|
|
792
|
-
var title = _a.title, name = _a.name, form = _a.form, disabled = _a.disabled, datePickerProps = _a.datePickerProps, props = __rest(_a, ["title", "name", "form", "disabled", "datePickerProps"]);
|
|
793
|
-
var _c = useController({
|
|
794
|
-
name: name,
|
|
795
|
-
control: form.control,
|
|
796
|
-
}), field = _c.field, fieldState = _c.fieldState;
|
|
797
|
-
var error = (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
798
|
-
var _d = useToggle(), isModalOpen = _d[0], handleModalOpen = _d[1], handleModalClose = _d[2];
|
|
799
|
-
var _e = useState(field.value
|
|
800
|
-
? DateTime.fromJSDate(new Date(String(field.value))).toFormat("MM.yyyy")
|
|
801
|
-
: null), value = _e[0], setValue = _e[1];
|
|
802
|
-
var _f = useState(value ? DateTime.fromFormat(value, "MM.yyyy").toJSDate() : null), date = _f[0], setDate = _f[1];
|
|
803
|
-
var handleChange = function (e) {
|
|
804
|
-
var targetValue = e.target.value;
|
|
805
|
-
setValue(targetValue);
|
|
806
|
-
if (targetValue.length !== 0 && isValidWithMaskExp.test(targetValue)) {
|
|
807
|
-
var jsDate = DateTime.fromFormat(targetValue, "MM.yyyy").toJSDate();
|
|
808
|
-
setDate(jsDate);
|
|
809
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: jsDate, name: name }, type: "change" });
|
|
810
|
-
}
|
|
811
|
-
else {
|
|
812
|
-
setDate(null);
|
|
813
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: null, name: name }, type: "change" });
|
|
814
|
-
}
|
|
815
|
-
};
|
|
816
|
-
var acceptWithDateSelected = function () {
|
|
817
|
-
if (date) {
|
|
818
|
-
setValue(DateTime.fromJSDate(date).toFormat("MM.yyyy"));
|
|
819
|
-
}
|
|
820
|
-
else {
|
|
821
|
-
setValue("");
|
|
822
|
-
}
|
|
823
|
-
field === null || field === void 0 ? void 0 : field.onChange({ target: { value: date, name: name }, type: "change" });
|
|
824
|
-
handleModalClose();
|
|
825
|
-
};
|
|
826
|
-
return (jsxs$1(Wrapper$1, __assign({ ref: ref }, { children: [jsx(InputForDatepicker, __assign({ mask: "00.0000", name: name, handleCLick: handleModalOpen, value: value, onChange: handleChange, disabled: disabled, message: error, isLabelShrink: Boolean(field.value) }, props)), jsxs$1(Modal, __assign({ title: title, isOpen: isModalOpen, handleClose: handleModalClose }, { children: [jsx(ContentWrapper$1, { children: jsx(DatePicker, __assign({ inline: true, showMonthYearPicker: true, dateFormat: "MM.yyyy", selected: date, onChange: function (newDate) { return setDate(newDate); }, locale: ruCustom, calendarContainer: MonthPickerContainer, renderCustomHeader: function (headProps) { return (jsx(MonthPickerHeader, __assign({}, headProps))); } }, datePickerProps)) }), jsx(ModalFooter, { fullWidth: true, disabled: !date, onClick: acceptWithDateSelected, label: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C" })] }))] })));
|
|
827
|
-
});
|
|
828
|
-
var Wrapper$1 = styled.div(templateObject_1$l || (templateObject_1$l = __makeTemplateObject(["\n @media (min-width: 601px) {\n display: none;\n }\n"], ["\n @media (min-width: 601px) {\n display: none;\n }\n"])));
|
|
829
|
-
var ContentWrapper$1 = styled.div(templateObject_2$c || (templateObject_2$c = __makeTemplateObject(["\n @media (max-width: 600px) {\n padding: 16px 16px 8px;\n }\n"], ["\n @media (max-width: 600px) {\n padding: 16px 16px 8px;\n }\n"])));
|
|
830
|
-
var templateObject_1$l, templateObject_2$c;
|
|
831
|
-
|
|
832
|
-
var InputWithMonthPicker = function (props) { return (jsxs$1(Fragment$1, { children: [jsx(DesktopInputWithMonthPicker, __assign({}, props)), jsx(MobileInputWithMonthPicker, __assign({}, props))] })); };
|
|
833
|
-
|
|
834
|
-
var MobileMenuPanel = forwardRef(function (_a, ref) {
|
|
835
|
-
var tabs = _a.tabs, handleClick = _a.handleClick, variant = _a.variant, other = __rest(_a, ["tabs", "handleClick", "variant"]);
|
|
836
|
-
var swiperRef = useRef(null);
|
|
837
|
-
var slideTo = function (index) {
|
|
838
|
-
setTimeout(function () {
|
|
839
|
-
var _a, _b;
|
|
840
|
-
(_b = (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper) === null || _b === void 0 ? void 0 : _b.slideTo(index);
|
|
841
|
-
}, 16);
|
|
842
|
-
handleClick(index);
|
|
843
|
-
};
|
|
844
|
-
return (jsx$1(Wrapper, __assign({ css: variant === "white" && { background: "white" }, ref: ref }, { children: jsx$1(Swiper, __assign({ spaceBetween: 8, slidesPerView: "auto", slideToClickedSlide: true, ref: swiperRef }, { children: tabs.map(function (tab, index) { return (jsx$1(SlideWrapper, { children: jsx$1(MenuItem, __assign({ tab: tab, index: index, handleClick: slideTo, offset: -121 }, other), tab.label) }, index)); }) })) })));
|
|
845
|
-
});
|
|
846
|
-
var Wrapper = styled.div(templateObject_1$k || (templateObject_1$k = __makeTemplateObject(["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background: ", ";\n padding: 16px 0 24px;\n @media (min-width: 766px) {\n display: none;\n }\n"], ["\n position: sticky;\n top: 49px;\n left: 0;\n z-index: 11;\n background: ", ";\n padding: 16px 0 24px;\n @media (min-width: 766px) {\n display: none;\n }\n"])), theme.palette.background.light1);
|
|
847
|
-
var SlideWrapper = styled.div(templateObject_2$b || (templateObject_2$b = __makeTemplateObject(["\n width: max-content !important;\n &:first-of-type {\n padding-left: 16px;\n }\n"], ["\n width: max-content !important;\n &:first-of-type {\n padding-left: 16px;\n }\n"])));
|
|
848
|
-
var templateObject_1$k, templateObject_2$b;
|
|
849
|
-
|
|
850
|
-
var useWindowWidth = function (time) {
|
|
851
|
-
if (time === void 0) { time = 10; }
|
|
852
|
-
var _a = useState(0), width = _a[0], setWidth = _a[1];
|
|
853
|
-
useEffect(function () {
|
|
854
|
-
setWidth(window.innerWidth);
|
|
855
|
-
var handleResize = _.debounce(function () {
|
|
856
|
-
setWidth(window.innerWidth);
|
|
857
|
-
}, time);
|
|
858
|
-
window.addEventListener("resize", handleResize);
|
|
859
|
-
return function () { return window.removeEventListener("resize", handleResize); };
|
|
860
|
-
}, []);
|
|
861
|
-
return width;
|
|
862
|
-
};
|
|
863
|
-
|
|
864
|
-
var MenuPanel = forwardRef(function (_a, ref) {
|
|
865
|
-
var tabs = _a.tabs, tabPanels = _a.tabPanels, paths = _a.paths, activeTab = _a.activeTab, variant = _a.variant;
|
|
866
|
-
var width = useWindowWidth();
|
|
867
|
-
var _b = React.useState(activeTab), value = _b[0], setValue = _b[1];
|
|
868
|
-
var _c = React.useState(false), isScrolling = _c[0], setIsScrolling = _c[1];
|
|
869
|
-
var navigate = useNavigate();
|
|
870
|
-
var location = useLocation();
|
|
871
|
-
var handleClick = function (index) {
|
|
872
|
-
if (paths[index]) {
|
|
873
|
-
setValue(index);
|
|
874
|
-
var pathName = location.pathname;
|
|
875
|
-
var currentLocation = "".concat(pathName).concat(location.search);
|
|
876
|
-
var newLocation = "".concat(pathName).concat(paths[index]);
|
|
877
|
-
if (currentLocation !== newLocation) {
|
|
878
|
-
navigate(newLocation, { replace: true });
|
|
879
|
-
}
|
|
880
|
-
}
|
|
881
|
-
};
|
|
882
|
-
useEffect(function () {
|
|
883
|
-
setValue(activeTab);
|
|
884
|
-
}, [activeTab]);
|
|
885
|
-
useEffect(function () {
|
|
886
|
-
if (typeof activeTab !== "number" && width < 901) {
|
|
887
|
-
animateScroll.scrollToTop();
|
|
888
|
-
}
|
|
889
|
-
}, []);
|
|
890
|
-
if (width === 0) {
|
|
891
|
-
return null;
|
|
892
|
-
}
|
|
893
|
-
return (jsxs("div", __assign({ ref: ref }, { children: [width > 765 ? (jsx$1(DesktopMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })) : (jsx$1(MobileMenuPanel, { tabs: tabs, active: value, handleClick: handleClick, variant: variant, isScrolling: isScrolling, setIsScrolling: setIsScrolling })), tabPanels.map(function (item, index) { return (jsx$1("div", __assign({ css: index === tabPanels.length - 1 && fullHeightStyles }, { children: jsx$1(Element, __assign({ name: tabs[index].label, "data-index": index }, { children: item }), index) }), index)); })] })));
|
|
894
|
-
});
|
|
895
|
-
MenuPanel.defaultProps = {
|
|
896
|
-
variant: "grey",
|
|
897
|
-
};
|
|
898
|
-
var fullHeightStyles = css(templateObject_1$j || (templateObject_1$j = __makeTemplateObject(["\n height: calc(100vh - 121px);\n"], ["\n height: calc(100vh - 121px);\n"])));
|
|
899
|
-
var templateObject_1$j;
|
|
900
|
-
|
|
901
|
-
var Switch = forwardRef(function (_a, ref) {
|
|
902
|
-
var form = _a.form, name = _a.name, props = __rest(_a, ["form", "name"]);
|
|
903
|
-
return (jsx$1(Controller, { control: form === null || form === void 0 ? void 0 : form.control, name: name, render: function (_a) {
|
|
904
|
-
var field = _a.field;
|
|
905
|
-
return (jsx$1(Switch$1, __assign({ checked: Boolean(field.value), onChange: field.onChange, "data-testid": name, ref: ref }, props)));
|
|
906
|
-
} }));
|
|
907
|
-
});
|
|
908
|
-
|
|
909
|
-
var InputPhoneWithForm = forwardRef(function (props, ref) {
|
|
910
|
-
var _a;
|
|
911
|
-
var form = props.form, name = props.name, hiddenInputProps = props.hiddenInputProps, error = props.error, other = __rest(props, ["form", "name", "hiddenInputProps", "error"]);
|
|
912
|
-
var codeRegister = useController({
|
|
913
|
-
control: form.control,
|
|
914
|
-
name: "".concat(name, ".phoneCode"),
|
|
915
|
-
defaultValue: "7",
|
|
916
|
-
});
|
|
917
|
-
var phoneRegister = useController({
|
|
918
|
-
control: form.control,
|
|
919
|
-
name: "".concat(name, ".phoneNumber"),
|
|
920
|
-
});
|
|
921
|
-
var errorMessage = typeof error !== "undefined" && String(error).length > 0
|
|
922
|
-
? error
|
|
923
|
-
: (_a = phoneRegister.fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
|
|
924
|
-
var handleCountryChange = function (country) {
|
|
925
|
-
codeRegister.field.onChange({
|
|
926
|
-
target: { value: country.phoneCode, name: "".concat(name, ".phoneCode") },
|
|
927
|
-
type: "change",
|
|
928
|
-
});
|
|
929
|
-
};
|
|
930
|
-
var handleChange = function (e) {
|
|
931
|
-
phoneRegister.field.onChange(e);
|
|
932
|
-
if (!codeRegister.field.value) {
|
|
933
|
-
codeRegister.field.onChange({
|
|
934
|
-
target: { value: "7", name: "".concat(name, ".phoneCode") },
|
|
935
|
-
type: "change",
|
|
936
|
-
});
|
|
937
|
-
}
|
|
938
|
-
if (other.onChange) {
|
|
939
|
-
other.onChange(e);
|
|
940
|
-
}
|
|
941
|
-
};
|
|
942
|
-
var forwardedRef = useForkRef(ref, phoneRegister.field.ref);
|
|
943
|
-
return (jsx(InputWithCountryDropdown, __assign({ message: errorMessage,
|
|
944
|
-
// @ts-ignore
|
|
945
|
-
hiddenInputProps: __assign(__assign({}, codeRegister.field), hiddenInputProps), onSelectCountry: handleCountryChange }, phoneRegister.field, other, { onChange: handleChange, ref: forwardedRef, autoComplete: "false" })));
|
|
946
|
-
});
|
|
947
|
-
InputPhoneWithForm.defaultProps = {
|
|
948
|
-
name: "phone",
|
|
949
|
-
};
|
|
950
|
-
|
|
951
|
-
var Table = forwardRef(function (props, ref) { return jsx(StyledTable, __assign({ cellSpacing: "0", ref: ref }, props)); });
|
|
952
|
-
var StyledTable = styled.table(templateObject_1$i || (templateObject_1$i = __makeTemplateObject(["\n width: 100%;\n border-spacing: 0;\n"], ["\n width: 100%;\n border-spacing: 0;\n"])));
|
|
953
|
-
var templateObject_1$i;
|
|
954
|
-
|
|
955
|
-
var TableHeadCell = styled.th(templateObject_1$h || (templateObject_1$h = __makeTemplateObject(["\n padding: 0;\n text-align: left;\n"], ["\n padding: 0;\n text-align: left;\n"])));
|
|
956
|
-
var templateObject_1$h;
|
|
957
|
-
|
|
958
|
-
var TableCell = styled.td(templateObject_1$g || (templateObject_1$g = __makeTemplateObject(["\n padding: 0;\n"], ["\n padding: 0;\n"])));
|
|
959
|
-
var templateObject_1$g;
|
|
960
|
-
|
|
961
|
-
var TableRow = forwardRef(function (_a, ref) {
|
|
962
|
-
var children = _a.children, other = __rest(_a, ["children"]);
|
|
963
|
-
var childrenArr = React.Children.toArray(children);
|
|
964
|
-
return (jsx("tr", __assign({ ref: ref }, { children: childrenArr.map(function (child) { return React.cloneElement(child, other); }) })));
|
|
965
|
-
});
|
|
966
|
-
|
|
967
|
-
var placementsPositions = {
|
|
968
|
-
bottomStart: {
|
|
969
|
-
bottom: 1,
|
|
970
|
-
offset: 0,
|
|
971
|
-
},
|
|
972
|
-
bottomMiddle: {
|
|
973
|
-
bottom: 1,
|
|
974
|
-
offset: 0.5,
|
|
975
|
-
},
|
|
976
|
-
bottomEnd: {
|
|
977
|
-
bottom: 1,
|
|
978
|
-
offset: 1,
|
|
979
|
-
},
|
|
980
|
-
topStart: {
|
|
981
|
-
top: 1,
|
|
982
|
-
offset: 0,
|
|
983
|
-
},
|
|
984
|
-
topMiddle: {
|
|
985
|
-
top: 1,
|
|
986
|
-
offset: 0.5,
|
|
987
|
-
},
|
|
988
|
-
topEnd: {
|
|
989
|
-
top: 1,
|
|
990
|
-
offset: 1,
|
|
991
|
-
},
|
|
992
|
-
};
|
|
993
|
-
|
|
994
|
-
var PopperBase = forwardRef(function (props, ref) {
|
|
995
|
-
props.placement; var open = props.open, children = props.children, spacing = props.spacing, className = props.className, style = props.style, other = __rest(props, ["placement", "open", "children", "spacing", "className", "style"]);
|
|
996
|
-
return (jsx(StyledPopperWrapper, __assign({ ref: ref, className: classNames("KUI-Popper", className), spacing: spacing, style: style }, { children: jsx(StyledPopper, __assign({ open: !!open }, other, { children: children })) })));
|
|
997
|
-
});
|
|
998
|
-
var StyledPopperWrapper = styled.div(templateObject_1$f || (templateObject_1$f = __makeTemplateObject(["\n position: absolute;\n max-width: 215px;\n width: max-content;\n padding: ", ";\n z-index: 10;\n @media (max-width: ", "px) {\n position: fixed;\n bottom: 24px;\n top: auto !important;\n left: 16px !important;\n width: calc(100vw - 32px);\n max-width: unset;\n }\n"], ["\n position: absolute;\n max-width: 215px;\n width: max-content;\n padding: ", ";\n z-index: 10;\n @media (max-width: ", "px) {\n position: fixed;\n bottom: 24px;\n top: auto !important;\n left: 16px !important;\n width: calc(100vw - 32px);\n max-width: unset;\n }\n"])), function (_a) {
|
|
999
|
-
var spacing = _a.spacing;
|
|
1000
|
-
return spacing || 0;
|
|
1001
|
-
}, theme.breakpoints.xxs);
|
|
1002
|
-
var StyledPopper = styled.div(templateObject_2$a || (templateObject_2$a = __makeTemplateObject(["\n padding: 16px;\n border-radius: 12px;\n background: white;\n box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);\n transition: opacity 0.3s ease-out;\n opacity: ", ";\n"], ["\n padding: 16px;\n border-radius: 12px;\n background: white;\n box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);\n transition: opacity 0.3s ease-out;\n opacity: ", ";\n"])), function (_a) {
|
|
1003
|
-
var open = _a.open;
|
|
1004
|
-
return (open ? 1 : 0);
|
|
1005
|
-
});
|
|
1006
|
-
var templateObject_1$f, templateObject_2$a;
|
|
1007
|
-
|
|
1008
|
-
var PopperWithPortal = forwardRef(function (props, ref) {
|
|
1009
|
-
var placement = props.placement, contentRef = props.contentRef, other = __rest(props, ["placement", "contentRef"]);
|
|
1010
|
-
var popperRef = useRef(null);
|
|
1011
|
-
var _a = useState(null), coords = _a[0], setCoords = _a[1];
|
|
1012
|
-
var _b = useState(null), size = _b[0], setSize = _b[1];
|
|
1013
|
-
useEffect(function () {
|
|
1014
|
-
if (contentRef.current && popperRef.current) {
|
|
1015
|
-
var popper = popperRef.current;
|
|
1016
|
-
var elemCoords = contentRef.current.getBoundingClientRect();
|
|
1017
|
-
var popperSize = {
|
|
1018
|
-
width: popper.clientWidth,
|
|
1019
|
-
height: popper.clientHeight,
|
|
1020
|
-
};
|
|
1021
|
-
setCoords(elemCoords);
|
|
1022
|
-
setSize(popperSize);
|
|
1023
|
-
}
|
|
1024
|
-
}, []);
|
|
1025
|
-
var position = {};
|
|
1026
|
-
if (coords && size) {
|
|
1027
|
-
var placementPositions =
|
|
1028
|
-
// @ts-ignore
|
|
1029
|
-
placementsPositions[placement !== null && placement !== void 0 ? placement : "bottomMiddle"];
|
|
1030
|
-
position = {
|
|
1031
|
-
top: Math.max(placementPositions.top
|
|
1032
|
-
? coords.top - size.height
|
|
1033
|
-
: coords.top + coords.height, 0),
|
|
1034
|
-
left: Math.max(coords.left +
|
|
1035
|
-
coords.width * placementPositions.offset -
|
|
1036
|
-
size.width * placementPositions.offset, 0),
|
|
1037
|
-
};
|
|
1038
|
-
}
|
|
1039
|
-
var forwardedRef = function (elem) {
|
|
1040
|
-
if (ref) {
|
|
1041
|
-
// @ts-ignore
|
|
1042
|
-
ref.current = elem;
|
|
1043
|
-
}
|
|
1044
|
-
// @ts-ignore
|
|
1045
|
-
popperRef.current = elem;
|
|
1046
|
-
};
|
|
1047
|
-
// TODO подумать как реализовать правильное расположение подсказки под contentRef в зависимости от placement
|
|
1048
|
-
// Автоматом менять положение (верх-низ) в зависимости от того помещается или нет
|
|
1049
|
-
// Распожить стрелочку к контенту посередине контента
|
|
1050
|
-
return ReactDOM.createPortal(jsxs$1(Fragment$1, { children: [jsx(Global, { styles: css(templateObject_1$e || (templateObject_1$e = __makeTemplateObject(["\n body {\n position: relative;\n }\n "], ["\n body {\n position: relative;\n }\n "]))) }), jsx(PopperBase, __assign({ ref: forwardedRef, style: position }, other))] }), document.body);
|
|
1051
|
-
});
|
|
1052
|
-
var templateObject_1$e;
|
|
1053
|
-
|
|
1054
|
-
var StaticPopper = forwardRef(function (props, ref) {
|
|
1055
|
-
var placement = props.placement, contentRef = props.contentRef, other = __rest(props, ["placement", "contentRef"]);
|
|
1056
|
-
var popperRef = useRef(null);
|
|
1057
|
-
var _a = useState(null), contentSize = _a[0], setContentSize = _a[1];
|
|
1058
|
-
var _b = useState(null), popperSize = _b[0], setPopperSize = _b[1];
|
|
1059
|
-
var position = {};
|
|
1060
|
-
useEffect(function () {
|
|
1061
|
-
if (contentRef.current && popperRef.current) {
|
|
1062
|
-
setContentSize({
|
|
1063
|
-
width: contentRef.current.clientWidth,
|
|
1064
|
-
height: contentRef.current.clientHeight,
|
|
1065
|
-
});
|
|
1066
|
-
setPopperSize({
|
|
1067
|
-
width: popperRef.current.clientWidth,
|
|
1068
|
-
height: popperRef.current.clientHeight,
|
|
1069
|
-
});
|
|
1070
|
-
}
|
|
1071
|
-
}, []);
|
|
1072
|
-
if (contentSize && popperSize) {
|
|
1073
|
-
var placementPositions =
|
|
1074
|
-
// @ts-ignore
|
|
1075
|
-
placementsPositions[placement !== null && placement !== void 0 ? placement : "bottomMiddle"];
|
|
1076
|
-
position = {
|
|
1077
|
-
top: placementPositions.top
|
|
1078
|
-
? 0 - popperSize.height
|
|
1079
|
-
: 0 + contentSize.height,
|
|
1080
|
-
left: Math.max(contentSize.width * placementPositions.offset -
|
|
1081
|
-
popperSize.width * placementPositions.offset, 0),
|
|
1082
|
-
};
|
|
1083
|
-
}
|
|
1084
|
-
var forwardedRef = function (elem) {
|
|
1085
|
-
if (ref) {
|
|
1086
|
-
// @ts-ignore
|
|
1087
|
-
ref.current = elem;
|
|
1088
|
-
}
|
|
1089
|
-
// @ts-ignore
|
|
1090
|
-
popperRef.current = elem;
|
|
1091
|
-
};
|
|
1092
|
-
return jsx(PopperBase, __assign({ ref: forwardedRef, style: position }, other));
|
|
1093
|
-
});
|
|
1094
|
-
|
|
1095
|
-
var Popper = forwardRef(function (props, ref) {
|
|
1096
|
-
var contentRef = props.contentRef, other = __rest(props, ["contentRef"]);
|
|
1097
|
-
var _a = useState(true), isParentSticky = _a[0], setIsParentSticky = _a[1];
|
|
1098
|
-
useEffect(function () {
|
|
1099
|
-
function checkParentIsSticky() {
|
|
1100
|
-
var el = contentRef.current;
|
|
1101
|
-
while (el) {
|
|
1102
|
-
var position = window.getComputedStyle(el).position;
|
|
1103
|
-
if (position === "sticky" || position === "fixed")
|
|
1104
|
-
return true;
|
|
1105
|
-
el = el.parentElement;
|
|
1106
|
-
}
|
|
1107
|
-
return false;
|
|
1108
|
-
}
|
|
1109
|
-
var isSticky = checkParentIsSticky();
|
|
1110
|
-
setIsParentSticky(!!isSticky);
|
|
1111
|
-
}, [contentRef]);
|
|
1112
|
-
return isParentSticky ? (jsx(StaticPopper, __assign({ ref: ref, contentRef: contentRef }, other))) : (jsx(PopperWithPortal, __assign({ ref: ref, contentRef: contentRef }, other)));
|
|
1113
|
-
});
|
|
1114
|
-
|
|
1115
|
-
var Tooltip = forwardRef(function (props, ref) {
|
|
1116
|
-
var content = props.content, onOpen = props.onOpen, onClose = props.onClose, open = props.open, children = props.children, cursor = props.cursor, popper = __rest(props, ["content", "onOpen", "onClose", "open", "children", "cursor"]);
|
|
1117
|
-
var _a = useState(open), isOpen = _a[0], setOpen = _a[1];
|
|
1118
|
-
var elemRef = useRef(null);
|
|
1119
|
-
var handleOpen = function () {
|
|
1120
|
-
setOpen(true);
|
|
1121
|
-
if (onOpen) {
|
|
1122
|
-
onOpen();
|
|
1123
|
-
}
|
|
1124
|
-
};
|
|
1125
|
-
var handleClose = function () {
|
|
1126
|
-
setOpen(false);
|
|
1127
|
-
if (onClose) {
|
|
1128
|
-
onClose();
|
|
1129
|
-
}
|
|
1130
|
-
};
|
|
1131
|
-
useEffect(function () {
|
|
1132
|
-
setOpen(open);
|
|
1133
|
-
}, [open]);
|
|
1134
|
-
return (jsxs$1(StyledWrapper$7, __assign({ onMouseLeave: handleClose, ref: ref }, { children: [jsx(StyledContentWrapper, __assign({ onMouseEnter: handleOpen, onTouchEnd: handleOpen, ref: elemRef, cursor: cursor }, { children: jsx(StyledContent$1, { children: children }) })), jsx(Popper, __assign({ open: isOpen }, popper, { contentRef: elemRef }, { children: content }))] })));
|
|
1135
|
-
});
|
|
1136
|
-
var containerCSS = css(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n display: inline-flex;\n width: 100%;\n height: fit-content;\n"], ["\n display: inline-flex;\n width: 100%;\n height: fit-content;\n"])));
|
|
1137
|
-
var StyledWrapper$7 = styled.div(templateObject_2$9 || (templateObject_2$9 = __makeTemplateObject(["\n ", ";\n position: relative;\n"], ["\n ", ";\n position: relative;\n"])), containerCSS);
|
|
1138
|
-
var StyledContentWrapper = styled.div(templateObject_3$5 || (templateObject_3$5 = __makeTemplateObject(["\n ", ";\n cursor: ", ";\n"], ["\n ", ";\n cursor: ", ";\n"])), containerCSS, function (_a) {
|
|
1139
|
-
var cursor = _a.cursor;
|
|
1140
|
-
return cursor;
|
|
1141
|
-
});
|
|
1142
|
-
var StyledContent$1 = styled.div(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n ", ";\n z-index: -1;\n"], ["\n ", ";\n z-index: -1;\n"])), containerCSS);
|
|
1143
|
-
var templateObject_1$d, templateObject_2$9, templateObject_3$5, templateObject_4$3;
|
|
1144
|
-
|
|
1145
|
-
var ButtonSelect = forwardRef(function (props, ref) {
|
|
1146
|
-
var _a;
|
|
1147
|
-
var options = props.options, otherProps = __rest(props, ["options"]);
|
|
1148
|
-
return (jsx(StyledInputSelect, __assign({ value: (_a = options === null || options === void 0 ? void 0 : options[0]) === null || _a === void 0 ? void 0 : _a.value, options: options, iconProps: { width: 9, height: 5 } }, otherProps, { ref: ref })));
|
|
1149
|
-
});
|
|
1150
|
-
var StyledInputSelect = styled(InputSelect)(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n &.KUI-Input_container {\n height: 40px;\n width: fit-content;\n input {\n height: 40px;\n border-radius: 66px;\n padding: 0 12px;\n transform: none;\n font-size: 12px;\n line-height: 14px;\n margin: 0 !important;\n width: auto !important;\n }\n\n @media (max-width: ", "px) {\n height: 32px;\n input {\n height: 32px;\n }\n }\n }\n & + div {\n top: 22px;\n padding-top: 22px;\n }\n"], ["\n &.KUI-Input_container {\n height: 40px;\n width: fit-content;\n input {\n height: 40px;\n border-radius: 66px;\n padding: 0 12px;\n transform: none;\n font-size: 12px;\n line-height: 14px;\n margin: 0 !important;\n width: auto !important;\n }\n\n @media (max-width: ", "px) {\n height: 32px;\n input {\n height: 32px;\n }\n }\n }\n & + div {\n top: 22px;\n padding-top: 22px;\n }\n"])), theme.breakpoints.xs);
|
|
1151
|
-
var templateObject_1$c;
|
|
1152
|
-
|
|
1153
|
-
function InputSelectWithController(_a) {
|
|
1154
|
-
var _b, _c;
|
|
1155
|
-
var options = _a.options, name = _a.name, handleChange = _a.handleChange, form = _a.form, valueProp = _a.value, inputProps = __rest(_a, ["options", "name", "handleChange", "form", "value"]);
|
|
1156
|
-
var control = useController({
|
|
1157
|
-
control: form.control,
|
|
1158
|
-
name: name,
|
|
1159
|
-
});
|
|
1160
|
-
var error = (_b = control.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
1161
|
-
var handleSelect = function (value) {
|
|
1162
|
-
var _a;
|
|
1163
|
-
if (handleChange) {
|
|
1164
|
-
handleChange(value);
|
|
1165
|
-
}
|
|
1166
|
-
if (form) {
|
|
1167
|
-
(_a = control.field) === null || _a === void 0 ? void 0 : _a.onChange({
|
|
1168
|
-
target: { value: value, name: name },
|
|
1169
|
-
type: "change",
|
|
1170
|
-
});
|
|
1171
|
-
}
|
|
1172
|
-
};
|
|
1173
|
-
return (jsx(InputSelect, __assign({ options: options, handleChange: handleSelect, error: error, name: name, value: valueProp || ((_c = control.field) === null || _c === void 0 ? void 0 : _c.value) }, inputProps)));
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1176
|
-
function InputMultiSelectOption(props) {
|
|
1177
|
-
var option = props.option, selectedValue = props.selectedValue;
|
|
1178
|
-
var selected = selectedValue.includes(option.value);
|
|
1179
|
-
return (jsx(StyledOption, __assign({ container: true, selected: selected }, { children: jsx(Checkbox, { checked: selected, label: jsx(StyledCaption, __assign({ selected: selected, size: "sm", weight: 500 }, { children: option.label })) }) })));
|
|
1180
|
-
}
|
|
1181
|
-
var StyledOption = styled(Grid)(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n background-color: ", ";\n &:hover {\n background-color: ", ";\n p {\n color: ", " !important;\n }\n }\n"], ["\n padding: 8px;\n transition: all ease-out 0.3s;\n border-radius: 4px;\n background-color: ", ";\n &:hover {\n background-color: ", ";\n p {\n color: ", " !important;\n }\n }\n"])), function (_a) {
|
|
1182
|
-
var selected = _a.selected;
|
|
1183
|
-
return selected ? theme.palette.background.light1 : theme.palette.grey.zero;
|
|
1184
|
-
}, theme.palette.background.light1, theme.palette.grey.seventy);
|
|
1185
|
-
var StyledCaption = styled(Caption)(templateObject_2$8 || (templateObject_2$8 = __makeTemplateObject(["\n color: ", " !important;\n"], ["\n color: ", " !important;\n"])), function (_a) {
|
|
1186
|
-
var selected = _a.selected;
|
|
1187
|
-
return selected
|
|
1188
|
-
? theme.palette.grey.seventy
|
|
1189
|
-
: theme.palette.grey.fiftyP;
|
|
1190
|
-
});
|
|
1191
|
-
var templateObject_1$b, templateObject_2$8;
|
|
1192
|
-
|
|
1193
|
-
function InputMultiSelect(_a) {
|
|
1194
|
-
var _b, _c;
|
|
1195
|
-
var options = _a.options, name = _a.name, handleChange = _a.handleChange, form = _a.form, valueProp = _a.value, inputProps = __rest(_a, ["options", "name", "handleChange", "form", "value"]);
|
|
1196
|
-
var control = form
|
|
1197
|
-
? useController({
|
|
1198
|
-
control: form.control,
|
|
1199
|
-
name: name,
|
|
1200
|
-
})
|
|
1201
|
-
: null;
|
|
1202
|
-
var _d = useState(valueProp || ((_b = control === null || control === void 0 ? void 0 : control.field) === null || _b === void 0 ? void 0 : _b.value) || []), value = _d[0], setValue = _d[1];
|
|
1203
|
-
var selectedLabel = options
|
|
1204
|
-
.filter(function (option) { return value.includes(option.value); })
|
|
1205
|
-
.map(function (option) { return option.label; })
|
|
1206
|
-
.join(", ");
|
|
1207
|
-
var error = (_c = control === null || control === void 0 ? void 0 : control.fieldState.error) === null || _c === void 0 ? void 0 : _c.message;
|
|
1208
|
-
useEffect(function () {
|
|
1209
|
-
var _a;
|
|
1210
|
-
if (form) {
|
|
1211
|
-
(_a = control === null || control === void 0 ? void 0 : control.field) === null || _a === void 0 ? void 0 : _a.onChange({
|
|
1212
|
-
target: { value: value, name: name },
|
|
1213
|
-
type: "change",
|
|
1214
|
-
});
|
|
1215
|
-
}
|
|
1216
|
-
}, [value]);
|
|
1217
|
-
var handleSelect = function (option) {
|
|
1218
|
-
if (value.includes(option.value)) {
|
|
1219
|
-
setValue(function (prev) { return prev.filter(function (elem) { return elem !== option.value; }); });
|
|
1220
|
-
}
|
|
1221
|
-
else {
|
|
1222
|
-
setValue(function (prev) { return __spreadArray(__spreadArray([], prev, true), [option.value], false); });
|
|
1223
|
-
}
|
|
1224
|
-
if (handleChange) {
|
|
1225
|
-
handleChange(option.value);
|
|
1226
|
-
}
|
|
1227
|
-
};
|
|
1228
|
-
return (jsx(InputSelectBase, __assign({ options: options, handleChange: handleSelect, error: error, selectedLabel: selectedLabel, selectedValue: value, name: name, isLabelShrink: !!selectedLabel, renderOption: function (option, selectedValue) { return (jsx(InputMultiSelectOption, { option: option, selectedValue: selectedValue })); } }, inputProps)));
|
|
1229
|
-
}
|
|
1230
|
-
|
|
1231
|
-
var RadioButtons = forwardRef(function (_a, ref) {
|
|
1232
|
-
var options = _a.options, disabled = _a.disabled, direction = _a.direction, defaultValue = _a.defaultValue, valueOfProps = _a.value, onChange = _a.onChange, isSquare = _a.isSquare, otherProps = __rest(_a, ["options", "disabled", "direction", "defaultValue", "value", "onChange", "isSquare"]);
|
|
1233
|
-
var _b = useState(defaultValue || valueOfProps || options[0].value), value = _b[0], setValue = _b[1];
|
|
1234
|
-
var handleChange = function (e) {
|
|
1235
|
-
var radioValue = e.target.value;
|
|
1236
|
-
setValue(radioValue);
|
|
1237
|
-
if (onChange) {
|
|
1238
|
-
onChange(e, radioValue);
|
|
1239
|
-
}
|
|
1240
|
-
};
|
|
1241
|
-
var handleClick = function (e) {
|
|
1242
|
-
var radioValue = e.target.value;
|
|
1243
|
-
if (String(value) === String(radioValue)) {
|
|
1244
|
-
setValue(null);
|
|
1245
|
-
if (onChange) {
|
|
1246
|
-
onChange(e, null);
|
|
1247
|
-
}
|
|
1248
|
-
}
|
|
1249
|
-
};
|
|
1250
|
-
useEffect(function () {
|
|
1251
|
-
if (valueOfProps) {
|
|
1252
|
-
setValue(valueOfProps);
|
|
1253
|
-
}
|
|
1254
|
-
}, [valueOfProps]);
|
|
1255
|
-
return (jsx(Grid, __assign({ container: true, direction: direction, ref: ref }, { children: options.map(function (option) { return (jsx(Radio, __assign({ value: option.value, label: option.label, disabled: Boolean(disabled), checked: String(value) === String(option.value), isSquare: isSquare, onClick: handleClick, onChange: handleChange }, otherProps), option.value)); }) })));
|
|
1256
|
-
});
|
|
1257
|
-
RadioButtons.defaultProps = {
|
|
1258
|
-
disabled: false,
|
|
1259
|
-
direction: "row",
|
|
1260
|
-
fullWidth: false,
|
|
1261
|
-
defaultValue: undefined,
|
|
1262
|
-
};
|
|
1263
|
-
RadioButtons.displayName = "RadioButtons";
|
|
1264
|
-
|
|
1265
|
-
function RadioButtonsWithController(_a) {
|
|
1266
|
-
var form = _a.form, name = _a.name, defaultValue = _a.defaultValue, otherProps = __rest(_a, ["form", "name", "defaultValue"]);
|
|
1267
|
-
var handleChange = function (e, value, field) {
|
|
1268
|
-
field.onChange({ target: { value: value, name: name }, type: "change" });
|
|
1269
|
-
if (otherProps.onChange) {
|
|
1270
|
-
otherProps.onChange(e, value);
|
|
1271
|
-
}
|
|
1272
|
-
};
|
|
1273
|
-
useEffect(function () {
|
|
1274
|
-
if (!form.getValues(name) && !defaultValue) {
|
|
1275
|
-
form.setValue(name, otherProps.options[0].value);
|
|
1276
|
-
}
|
|
1277
|
-
}, []);
|
|
1278
|
-
return (jsx(Controller, { control: form.control, name: String(name), render: function (_a) {
|
|
1279
|
-
var field = _a.field;
|
|
1280
|
-
return (jsx(RadioButtons, __assign({}, otherProps, field, { defaultValue: defaultValue, onChange: function (e, value) {
|
|
1281
|
-
return handleChange(e, value, field);
|
|
1282
|
-
} })));
|
|
1283
|
-
} }));
|
|
1284
|
-
}
|
|
1285
|
-
|
|
1286
|
-
function RadioGroupWithLabel(props) {
|
|
1287
|
-
var _a;
|
|
1288
|
-
var title = props.title, className = props.className, direction = props.direction, form = props.form, name = props.name, otherProps = __rest(props, ["title", "className", "direction", "form", "name"]);
|
|
1289
|
-
var fieldState = useController({
|
|
1290
|
-
control: form.control,
|
|
1291
|
-
name: name,
|
|
1292
|
-
}).fieldState;
|
|
1293
|
-
var errorMessage = (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
|
|
1294
|
-
return (jsxs$1(StyledContainer, { children: [jsxs$1(StyledWrapper$6, __assign({ container: true, alignItems: direction === "vertical" ? "flex-start" : "center", justify: "space-between", direction: direction === "vertical" ? "column" : "row", hasError: !!errorMessage, className: className, withTitle: !!title }, { children: [title && (jsx(StyledTitle, __assign({ direction: direction, size: "xs", weight: 600 }, { children: title.toUpperCase() }))), jsx(Grid, __assign({ item: true, xs: direction === "vertical" ? 12 : "auto" }, { children: jsx(RadioButtonsWithController, __assign({ form: form, name: name }, otherProps)) }))] })), errorMessage && jsx(InputMessage, { variant: "error", msg: errorMessage })] }));
|
|
1295
|
-
}
|
|
1296
|
-
var StyledContainer = styled.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
|
|
1297
|
-
var columnDirectionCSS = function (_a) {
|
|
1298
|
-
var hasError = _a.hasError;
|
|
1299
|
-
return css(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n padding: 12px 15px 15px;\n border-radius: ", ";\n"], ["\n padding: 12px 15px 15px;\n border-radius: ", ";\n"])), hasError ? "8px 8px 0 0" : "8px");
|
|
1300
|
-
};
|
|
1301
|
-
var rowDirectionCSS = function (_a) {
|
|
1302
|
-
var hasError = _a.hasError, withTitle = _a.withTitle;
|
|
1303
|
-
return css(templateObject_3$4 || (templateObject_3$4 = __makeTemplateObject(["\n padding: ", ";\n border-radius: ", ";\n"], ["\n padding: ", ";\n border-radius: ", ";\n"])), withTitle ? "3px 4px 3px 16px" : "3px", hasError ? "66px 66px 0 0" : "66px");
|
|
1304
|
-
};
|
|
1305
|
-
var StyledWrapper$6 = styled(Grid, {
|
|
1306
|
-
shouldForwardProp: function (prop) { return prop !== "hasError" && prop !== "withTitle"; },
|
|
1307
|
-
})(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n border: 1px solid\n ", ";\n ", ";\n"], ["\n border: 1px solid\n ", ";\n ", ";\n"])), function (_a) {
|
|
1308
|
-
var hasError = _a.hasError;
|
|
1309
|
-
return hasError ? theme.palette.red.fiftyP : theme.palette.grey.fifteenB;
|
|
1310
|
-
}, function (_a) {
|
|
1311
|
-
var direction = _a.direction, hasError = _a.hasError, withTitle = _a.withTitle;
|
|
1312
|
-
return direction === "column"
|
|
1313
|
-
? columnDirectionCSS({ hasError: hasError })
|
|
1314
|
-
: rowDirectionCSS({ hasError: hasError, withTitle: withTitle });
|
|
1315
|
-
});
|
|
1316
|
-
var StyledTitle = styled(Caption)(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n margin-bottom: ", "px;\n"], ["\n margin-bottom: ", "px;\n"])), function (_a) {
|
|
1317
|
-
var direction = _a.direction;
|
|
1318
|
-
return (direction === "vertical" ? 8 : 0);
|
|
1319
|
-
});
|
|
1320
|
-
var templateObject_1$a, templateObject_2$7, templateObject_3$4, templateObject_4$2, templateObject_5$2;
|
|
1321
|
-
|
|
1322
|
-
var Loading = forwardRef(function (_a) {
|
|
1323
|
-
var height = _a.height, className = _a.className, otherProps = __rest(_a, ["height", "className"]);
|
|
1324
|
-
return (jsx(StyledWrapper$5, __assign({ container: true, alignItems: "center", justify: "center", className: className, height: height }, { children: jsx(StyledCircularProgress, __assign({}, otherProps)) })));
|
|
1325
|
-
});
|
|
1326
|
-
Loading.defaultProps = {
|
|
1327
|
-
height: "adaptive",
|
|
1328
|
-
};
|
|
1329
|
-
var StyledCircularProgress = styled(CircularProgress)(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject(["\n color: ", ";\n"], ["\n color: ", ";\n"])), theme.palette.brand.main);
|
|
1330
|
-
var StyledWrapper$5 = styled(Grid, {
|
|
1331
|
-
shouldForwardProp: function (prop) { return prop !== "height"; },
|
|
1332
|
-
})(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n height: ", ";\n"], ["\n height: ", ";\n"])), function (_a) {
|
|
1333
|
-
var height = _a.height;
|
|
1334
|
-
return height;
|
|
1335
|
-
});
|
|
1336
|
-
var templateObject_1$9, templateObject_2$6;
|
|
1337
|
-
|
|
1338
|
-
function CreatingEntityFromDropdown(_a) {
|
|
1339
|
-
var creatingLabel = _a.creatingLabel, renderCreatingModal = _a.renderCreatingModal;
|
|
1340
|
-
var _b = useToggle(), isModalOpen = _b[0], handleModalOpen = _b[1], handleModalClose = _b[2];
|
|
1341
|
-
if (!creatingLabel || !renderCreatingModal) {
|
|
1342
|
-
return null;
|
|
1343
|
-
}
|
|
1344
|
-
var handleModalWrapperClick = function (e) { return e.stopPropagation(); };
|
|
1345
|
-
return (jsxs$1(Fragment$1, { children: [jsxs$1(StyledWrapper$4, __assign({ container: true, onClick: handleModalOpen, alignItems: "center" }, { children: [jsx(StyledPlusIcon, { width: 12, height: 12 }), jsx(Caption, __assign({ color: "fiftyP", size: "xs", weight: 500 }, { children: creatingLabel }))] })), jsx(StyledModalWrapper, __assign({ onClick: handleModalWrapperClick }, { children: renderCreatingModal({
|
|
1346
|
-
isOpen: isModalOpen,
|
|
1347
|
-
handleClose: handleModalClose,
|
|
1348
|
-
}) }))] }));
|
|
1349
|
-
}
|
|
1350
|
-
var StyledWrapper$4 = styled(Grid)(templateObject_1$8 || (templateObject_1$8 = __makeTemplateObject(["\n width: 100%;\n position: sticky;\n bottom: 0;\n left: 0;\n border-radius: 0 0 12px 12px;\n border-top: 1px solid ", ";\n padding: 8px 19px;\n cursor: pointer;\n background: white;\n"], ["\n width: 100%;\n position: sticky;\n bottom: 0;\n left: 0;\n border-radius: 0 0 12px 12px;\n border-top: 1px solid ", ";\n padding: 8px 19px;\n cursor: pointer;\n background: white;\n"])), theme.palette.grey.fifteenB);
|
|
1351
|
-
var StyledPlusIcon = styled(PlusIcon)(templateObject_2$5 || (templateObject_2$5 = __makeTemplateObject(["\n margin-right: 14px;\n path {\n fill: ", ";\n }\n"], ["\n margin-right: 14px;\n path {\n fill: ", ";\n }\n"])), theme.palette.grey.fiftyP);
|
|
1352
|
-
var StyledModalWrapper = styled.div(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject([""], [""])));
|
|
1353
|
-
var templateObject_1$8, templateObject_2$5, templateObject_3$3;
|
|
1354
|
-
|
|
1355
|
-
var AutocompleteOption$1 = function (props) {
|
|
1356
|
-
var option = props.option, renderOption = props.renderOption, handleSelect = props.handleSelect, index = props.index;
|
|
1357
|
-
var handleClick = function () {
|
|
1358
|
-
handleSelect(option);
|
|
1359
|
-
};
|
|
1360
|
-
return (jsx(StyledOptionWrapper, __assign({ item: true, xs: 12, onClick: handleClick, "data-testid": "autocomplete_option_".concat(index) }, { children: renderOption(option) })));
|
|
1361
|
-
};
|
|
1362
|
-
var StyledOptionWrapper = styled(Grid)(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n cursor: pointer;\n"], ["\n cursor: pointer;\n"])));
|
|
1363
|
-
var templateObject_1$7;
|
|
1364
|
-
|
|
1365
|
-
function AutocompleteDropdown(props) {
|
|
1366
|
-
var options = props.options, renderOption = props.renderOption, creatingLabel = props.creatingLabel, renderCreatingModal = props.renderCreatingModal;
|
|
1367
|
-
var inputRef = props.inputRef, isOpenDropdown = props.isOpenDropdown, isLoading = props.isLoading;
|
|
1368
|
-
var handleCloseDropdown = props.handleCloseDropdown, handleSelect = props.handleSelect, handleScrollEnd = props.handleScrollEnd;
|
|
1369
|
-
var handleScroll = function (e) {
|
|
1370
|
-
if (e.target.scrollHeight - (e.target.scrollTop + e.target.offsetHeight) <
|
|
1371
|
-
100) {
|
|
1372
|
-
if (handleScrollEnd)
|
|
1373
|
-
handleScrollEnd();
|
|
1374
|
-
}
|
|
1375
|
-
};
|
|
1376
|
-
return (jsxs$1(StyledDropdown, __assign({ buttonRef: inputRef, isOpen: isOpenDropdown, handleClose: handleCloseDropdown, onScroll: handleScroll, endComponent: jsx(CreatingEntityFromDropdown, { creatingLabel: creatingLabel, renderCreatingModal: renderCreatingModal }) }, { children: [options.map(function (option, key) { return (jsx(AutocompleteOption$1, { option: option, renderOption: renderOption, handleSelect: handleSelect, index: key }, key)); }), isLoading && jsx(StyledLoading, { height: "auto" })] })));
|
|
1377
|
-
}
|
|
1378
|
-
var StyledDropdown = styled(InputDropdown)(templateObject_1$6 || (templateObject_1$6 = __makeTemplateObject(["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"], ["\n .KUI-InputDropdown_scroll {\n max-height: 142px;\n padding: 0 4px;\n }\n"])));
|
|
1379
|
-
var StyledLoading = styled(Loading)(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n position: sticky;\n bottom: 30px;\n"], ["\n position: sticky;\n bottom: 30px;\n"])));
|
|
1380
|
-
var templateObject_1$6, templateObject_2$4;
|
|
1381
|
-
|
|
1382
|
-
function InputWithAutocomplete(_a) {
|
|
1383
|
-
var _b;
|
|
1384
|
-
var renderOption = _a.renderOption, options = _a.options, name = _a.name, hideName = _a.hideName, form = _a.form, isLoading = _a.isLoading, onSelectItem = _a.onSelectItem, handleScrollEnd = _a.handleScrollEnd, onSearchItem = _a.onSearchItem, isLabelLoading = _a.isLabelLoading, disabled = _a.disabled, creatingLabel = _a.creatingLabel, renderCreatingModal = _a.renderCreatingModal, endComponent = _a.endComponent, inputRefProps = _a.inputRef, inputProps = __rest(_a, ["renderOption", "options", "name", "hideName", "form", "isLoading", "onSelectItem", "handleScrollEnd", "onSearchItem", "isLabelLoading", "disabled", "creatingLabel", "renderCreatingModal", "endComponent", "inputRef"]);
|
|
1385
|
-
var _c = useState(false), isOpenDropdown = _c[0], setIsOpenDropDown = _c[1];
|
|
1386
|
-
var inputRef = useRef(null);
|
|
1387
|
-
if (hideName)
|
|
1388
|
-
form.register(hideName);
|
|
1389
|
-
var handleOpenDropdown = function () {
|
|
1390
|
-
setIsOpenDropDown(true);
|
|
1391
|
-
};
|
|
1392
|
-
var handleCloseDropdown = function () {
|
|
1393
|
-
setIsOpenDropDown(false);
|
|
1394
|
-
};
|
|
1395
|
-
var handleSelect = function (option) {
|
|
1396
|
-
var _a;
|
|
1397
|
-
onSelectItem(option);
|
|
1398
|
-
handleCloseDropdown();
|
|
1399
|
-
var error = (_a = form.getFieldState(name).error) === null || _a === void 0 ? void 0 : _a.message;
|
|
1400
|
-
if (error) {
|
|
1401
|
-
form.clearErrors(name);
|
|
1402
|
-
}
|
|
1403
|
-
};
|
|
1404
|
-
var handleSearch = function (e) {
|
|
1405
|
-
if (onSearchItem) {
|
|
1406
|
-
onSearchItem(e.target.value);
|
|
1407
|
-
form.setValue(hideName, null);
|
|
1408
|
-
}
|
|
1409
|
-
if (!e.target.value && hideName) {
|
|
1410
|
-
form.setValue(hideName, null);
|
|
1411
|
-
form.setValue(name, null);
|
|
1412
|
-
onSelectItem(null);
|
|
1413
|
-
}
|
|
1414
|
-
handleOpenDropdown();
|
|
1415
|
-
};
|
|
1416
|
-
var forwardRef = useForkRef(inputRef, inputRefProps);
|
|
1417
|
-
return (jsxs(StyledWrapper$3, { children: [isLabelLoading && (jsx$1(StyledLoadingWrapper, { children: jsx$1(Loading, { height: "100%" }) })), jsx$1(StyledInput$2, __assign({ form: form, onInput: handleSearch, onFocus: handleOpenDropdown, name: name, disabled: disabled, ref: forwardRef, isDropdownOpen: isOpenDropdown }, inputProps, { endIcon: !disabled && (jsxs(Grid, __assign({ container: true, alignItems: "center" }, { children: [jsx$1(Box, __assign({ mr: 2 }, { children: endComponent })), inputProps.endIcon ||
|
|
1418
|
-
(!disabled && (jsx$1(HalfArrowIcon, { width: 12, height: 13, css: [
|
|
1419
|
-
{ transition: "all linear .2s" },
|
|
1420
|
-
isOpenDropdown && { transform: "rotate(180deg)" },
|
|
1421
|
-
] })))] }))) })), jsx$1(AutocompleteDropdown, { renderOption: renderOption, options: options, inputRef: {
|
|
1422
|
-
current: (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.parentElement,
|
|
1423
|
-
}, isOpenDropdown: isOpenDropdown, handleCloseDropdown: handleCloseDropdown, handleSelect: handleSelect, isLoading: isLoading, handleScrollEnd: handleScrollEnd, creatingLabel: creatingLabel, renderCreatingModal: renderCreatingModal })] }));
|
|
1424
|
-
}
|
|
1425
|
-
var StyledLoadingWrapper = styled.div(templateObject_1$5 || (templateObject_1$5 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: 1;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: 1;\n"])));
|
|
1426
|
-
var StyledWrapper$3 = styled.div(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
|
|
1427
|
-
var StyledInput$2 = styled(InputWithController)(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n .KUI-InputMessage {\n opacity: ", ";\n }\n"], ["\n .KUI-InputMessage {\n opacity: ", ";\n }\n"])), function (_a) {
|
|
1428
|
-
var isDropdownOpen = _a.isDropdownOpen;
|
|
1429
|
-
return (isDropdownOpen ? 0 : 1);
|
|
1430
|
-
});
|
|
1431
|
-
var templateObject_1$5, templateObject_2$3, templateObject_3$2;
|
|
1432
|
-
|
|
1433
|
-
function AutocompleteOption(_a) {
|
|
1434
|
-
var label = _a.label;
|
|
1435
|
-
return (jsx(StyledWrapper$2, { children: jsx(Caption, __assign({ size: "s", weight: 500 }, { children: label })) }));
|
|
1436
|
-
}
|
|
1437
|
-
var StyledWrapper$2 = styled.div(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n &:hover {\n background: ", ";\n },\n"], ["\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n &:hover {\n background: ", ";\n },\n"])), theme.palette.background.light2);
|
|
1438
|
-
var templateObject_1$4;
|
|
1439
|
-
|
|
1440
|
-
function Link(props) {
|
|
1441
|
-
var href = props.href, withoutRoute = props.withoutRoute, stopPropagation = props.stopPropagation, openInNewWindow = props.openInNewWindow, other = __rest(props, ["href", "withoutRoute", "stopPropagation", "openInNewWindow"]);
|
|
1442
|
-
var navigate = useNavigate();
|
|
1443
|
-
var handleClick = function (e) {
|
|
1444
|
-
if (stopPropagation)
|
|
1445
|
-
e.stopPropagation();
|
|
1446
|
-
e.preventDefault();
|
|
1447
|
-
if (href) {
|
|
1448
|
-
if (withoutRoute)
|
|
1449
|
-
updateQueryParams(href);
|
|
1450
|
-
else if (openInNewWindow)
|
|
1451
|
-
window.open(href, "_blank");
|
|
1452
|
-
else
|
|
1453
|
-
navigate(href);
|
|
1454
|
-
}
|
|
1455
|
-
};
|
|
1456
|
-
return (jsx(StyledLink, __assign({ href: href || undefined, onClick: handleClick }, other)));
|
|
1457
|
-
}
|
|
1458
|
-
var StyledLink = styled.a(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n text-decoration: none;\n color: inherit;\n max-width: 100%;\n width: 100%;\n"], ["\n text-decoration: none;\n color: inherit;\n max-width: 100%;\n width: 100%;\n"])));
|
|
1459
|
-
var templateObject_1$3;
|
|
1460
|
-
|
|
1461
|
-
function FileItem(_a) {
|
|
1462
|
-
var _b, _c;
|
|
1463
|
-
var file = _a.file, onDelete = _a.onDelete, onChange = _a.onChange, index = _a.index, selectedFile = _a.selectedFile, setSelectedFile = _a.setSelectedFile, limitTitle = _a.limitTitle, icon = _a.icon, subtitle = _a.subtitle, disabled = _a.disabled, error = _a.error, className = _a.className, otherProps = __rest(_a, ["file", "onDelete", "onChange", "index", "selectedFile", "setSelectedFile", "limitTitle", "icon", "subtitle", "disabled", "error", "className"]);
|
|
1464
|
-
var formattedFileName = String((_c = (file.title || file.name || ((_b = file.file) === null || _b === void 0 ? void 0 : _b.name))) === null || _c === void 0 ? void 0 : _c.replace(/\.[^/.]+$/, ""));
|
|
1465
|
-
var _d = useState(formattedFileName), title = _d[0], setTitle = _d[1];
|
|
1466
|
-
var _e = useState(false), isEditing = _e[0], setIsEditing = _e[1];
|
|
1467
|
-
var inputRef = useRef(null);
|
|
1468
|
-
useEffect(function () {
|
|
1469
|
-
var _a;
|
|
1470
|
-
if (isEditing) {
|
|
1471
|
-
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1472
|
-
}
|
|
1473
|
-
if (!isEditing && formattedFileName !== title && onChange) {
|
|
1474
|
-
onChange(title, index);
|
|
1475
|
-
}
|
|
1476
|
-
}, [isEditing]);
|
|
1477
|
-
var toggleEdit = function () {
|
|
1478
|
-
setIsEditing(function (prev) { return !prev; });
|
|
1479
|
-
};
|
|
1480
|
-
var handleBlur = function () {
|
|
1481
|
-
setIsEditing(false);
|
|
1482
|
-
};
|
|
1483
|
-
var handleChange = function (e) {
|
|
1484
|
-
setTitle(e.target.value);
|
|
1485
|
-
};
|
|
1486
|
-
var handleDelete = function () {
|
|
1487
|
-
var _a;
|
|
1488
|
-
if (onDelete) {
|
|
1489
|
-
onDelete((_a = file.index) !== null && _a !== void 0 ? _a : 1, Number(index));
|
|
1490
|
-
}
|
|
1491
|
-
};
|
|
1492
|
-
var handleClick = function () {
|
|
1493
|
-
if (setSelectedFile) {
|
|
1494
|
-
setSelectedFile(index !== null && index !== void 0 ? index : 1);
|
|
1495
|
-
}
|
|
1496
|
-
};
|
|
1497
|
-
return (jsxs$1(Fragment$1, { children: [jsxs$1(FileWrapper, __assign({ selected: (selectedFile !== null && selectedFile !== void 0 ? selectedFile : -1) === index, error: (limitTitle && title.length > limitTitle) || !!error, onClick: handleClick, disabled: !!disabled, className: "FileWrapper ".concat(className || "") }, otherProps, { children: [jsx(FileIconWrapper, __assign({ className: "FileIcon_wrapper" }, { children: icon || jsx(FileIcon, {}) })), jsxs$1(ContentWrapper, __assign({ className: "FileContent_wrapper" }, { children: [jsxs$1(InputWrapper, { children: [jsx(Link, __assign({ href: file.url, openInNewWindow: true }, { children: jsx(InputPlaceholder, { children: title }) })), jsx(StyledInput$1, { "data-testid": "file_name", ref: inputRef, disabled: !isEditing, value: title, onChange: handleChange, onBlur: handleBlur, maxLength: 100 })] }), subtitle ||
|
|
1498
|
-
(String(file.size) && (jsxs$1(Caption, __assign({ "data-testid": "file_size", size: "xs", color: "fiftyP" }, { children: [Number(file.size), " mb"] }))))] })), jsxs$1(ButtonWrapper, __assign({ className: "FileButtons_wrapper" }, { children: [!disabled && onChange && (jsx(Button, __assign({ isCircle: true, "data-testid": "edit_file_name_btn", size: "xs", variant: "transparentLight", onClick: toggleEdit }, { children: isEditing ? jsx(CheckIcon, {}) : jsx(EditIcon, { width: 18, height: 18 }) }))), onDelete && !disabled && (jsx(Button, __assign({ isCircle: true, "data-testid": "delete_file_btn", size: "xs", variant: "transparentLight", onClick: handleDelete }, { children: jsx(TrashIcon, { width: 18, height: 18 }) })))] }))] })), ((limitTitle && title.length > limitTitle) || error) && (jsx(Box, __assign({ mb: 1 }, { children: jsx(Caption, __assign({ size: "xs", colorGroup: "red", weight: 500 }, { children: error ||
|
|
1499
|
-
"File upload error. The number of characters in the file name should not exceed 100" })) })))] }));
|
|
1500
|
-
}
|
|
1501
|
-
FileItem.defaultProps = {
|
|
1502
|
-
limitTitle: 100,
|
|
1503
|
-
};
|
|
1504
|
-
var errorCSS = function (_a) {
|
|
1505
|
-
var error = _a.error;
|
|
1506
|
-
return error && css(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n border-color: ", ";\n "], ["\n border-color: ", ";\n "])), theme.palette.red.seventy);
|
|
1507
|
-
};
|
|
1508
|
-
var disabledCSS = function (_a) {
|
|
1509
|
-
var disabled = _a.disabled;
|
|
1510
|
-
return disabled && css(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["\n background: ", ";\n "], ["\n background: ", ";\n "])), theme.palette.background.light1);
|
|
1511
|
-
};
|
|
1512
|
-
var FileWrapper = styled.div(templateObject_3$1 || (templateObject_3$1 = __makeTemplateObject(["\n width: 100%;\n border-radius: 12px;\n padding: 10px 12px;\n border: 1px solid\n ", ";\n display: flex;\n margin-bottom: 8px;\n cursor: pointer;\n ", ";\n ", ";\n &:last-child {\n margin-bottom: 0;\n }\n"], ["\n width: 100%;\n border-radius: 12px;\n padding: 10px 12px;\n border: 1px solid\n ", ";\n display: flex;\n margin-bottom: 8px;\n cursor: pointer;\n ", ";\n ", ";\n &:last-child {\n margin-bottom: 0;\n }\n"])), function (_a) {
|
|
1513
|
-
var selected = _a.selected;
|
|
1514
|
-
return selected ? theme.palette.brand.main : theme.palette.grey.fifteenB;
|
|
1515
|
-
}, disabledCSS, errorCSS);
|
|
1516
|
-
var FileIconWrapper = styled.div(templateObject_4$1 || (templateObject_4$1 = __makeTemplateObject(["\n margin-right: 16px;\n min-height: 32px;\n width: 32px;\n border-radius: 12px;\n background: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: flex-start;\n"], ["\n margin-right: 16px;\n min-height: 32px;\n width: 32px;\n border-radius: 12px;\n background: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: flex-start;\n"])), theme.palette.brand.light);
|
|
1517
|
-
var ButtonWrapper = styled.div(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n margin-left: auto;\n padding-left: 8px;\n display: flex;\n align-items: center;\n align-self: flex-start;\n svg {\n path {\n fill: ", ";\n }\n }\n"], ["\n margin-left: auto;\n padding-left: 8px;\n display: flex;\n align-items: center;\n align-self: flex-start;\n svg {\n path {\n fill: ", ";\n }\n }\n"])), theme.palette.grey.thirty);
|
|
1518
|
-
var ContentWrapper = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n width: calc(100% - 120px);\n min-height: 34px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n & > p {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n"], ["\n width: calc(100% - 120px);\n min-height: 34px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n & > p {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n"])));
|
|
1519
|
-
var StyledInput$1 = styled.textarea(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n border: none;\n font-size: 14px;\n position: absolute;\n top: 0;\n left: 0;\n font-weight: 500;\n background: transparent;\n padding: 0;\n color: ", ";\n caret-color: ", ";\n height: -webkit-fill-available;\n overflow: hidden;\n resize: none;\n width: 100%;\n &:focus-visible {\n outline: none;\n }\n &:disabled {\n pointer-events: none;\n }\n"], ["\n border: none;\n font-size: 14px;\n position: absolute;\n top: 0;\n left: 0;\n font-weight: 500;\n background: transparent;\n padding: 0;\n color: ", ";\n caret-color: ", ";\n height: -webkit-fill-available;\n overflow: hidden;\n resize: none;\n width: 100%;\n &:focus-visible {\n outline: none;\n }\n &:disabled {\n pointer-events: none;\n }\n"])), theme.palette.grey.seventy, theme.palette.brand.main);
|
|
1520
|
-
var InputPlaceholder = styled.span(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n font-size: 14px;\n font-weight: 500;\n word-break: break-word;\n max-width: 100%;\n color: transparent;\n min-height: 17px;\n display: inline-block;\n white-space: nowrap;\n"], ["\n font-size: 14px;\n font-weight: 500;\n word-break: break-word;\n max-width: 100%;\n color: transparent;\n min-height: 17px;\n display: inline-block;\n white-space: nowrap;\n"])));
|
|
1521
|
-
var InputWrapper = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n position: relative;\n width: fit-content;\n max-width: 100%;\n height: auto;\n"], ["\n position: relative;\n width: fit-content;\n max-width: 100%;\n height: auto;\n"])));
|
|
1522
|
-
var templateObject_1$2, templateObject_2$2, templateObject_3$1, templateObject_4$1, templateObject_5$1, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
|
|
1523
|
-
|
|
1524
|
-
var limitTitle = 100;
|
|
1525
|
-
var InputFile = forwardRef(function (props, ref) {
|
|
1526
|
-
var _a;
|
|
1527
|
-
var form = props.form, name = props.name, label = props.label, disabled = props.disabled, withEdit = props.withEdit, fileName = props.fileName, otherProps = __rest(props, ["form", "name", "label", "disabled", "withEdit", "fileName"]);
|
|
1528
|
-
var _b = useState(false), mounted = _b[0], setMounted = _b[1];
|
|
1529
|
-
var _c = useState(), file = _c[0], setFile = _c[1];
|
|
1530
|
-
var _d = useState(""), defaultFileURL = _d[0], setDefaultFileURL = _d[1];
|
|
1531
|
-
var inputRef = useRef(null);
|
|
1532
|
-
var _e = useController({
|
|
1533
|
-
control: form.control,
|
|
1534
|
-
name: name,
|
|
1535
|
-
}), field = _e.field, fieldState = _e.fieldState;
|
|
1536
|
-
var formattedFile = file && "url" in file
|
|
1537
|
-
? file
|
|
1538
|
-
: {
|
|
1539
|
-
file: file,
|
|
1540
|
-
url: file ? URL.createObjectURL(file) : defaultFileURL,
|
|
1541
|
-
size: file
|
|
1542
|
-
? Math.round((file.size / (1024 * 1024)) * 100) / 100
|
|
1543
|
-
: null,
|
|
1544
|
-
name: fileName || (file === null || file === void 0 ? void 0 : file.name),
|
|
1545
|
-
};
|
|
1546
|
-
var error = (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message;
|
|
1547
|
-
useEffect(function () {
|
|
1548
|
-
if (typeof field.value === "string") {
|
|
1549
|
-
setDefaultFileURL(field.value);
|
|
1550
|
-
}
|
|
1551
|
-
if (typeof field.value === "object") {
|
|
1552
|
-
setFile(field.value);
|
|
1553
|
-
}
|
|
1554
|
-
setMounted(true);
|
|
1555
|
-
}, []);
|
|
1556
|
-
useEffect(function () {
|
|
1557
|
-
var _a;
|
|
1558
|
-
var toBigTitle = Number((fileName === null || fileName === void 0 ? void 0 : fileName.length) || ((_a = file === null || file === void 0 ? void 0 : file.name) === null || _a === void 0 ? void 0 : _a.length)) > limitTitle;
|
|
1559
|
-
if (mounted && !defaultFileURL) {
|
|
1560
|
-
field.onChange({ target: { value: file, name: name }, type: "change" });
|
|
1561
|
-
}
|
|
1562
|
-
if (toBigTitle) {
|
|
1563
|
-
form.setError(name, {
|
|
1564
|
-
type: "custom",
|
|
1565
|
-
message: "The file name must be less than 100 characters",
|
|
1566
|
-
});
|
|
1567
|
-
}
|
|
1568
|
-
else {
|
|
1569
|
-
form.clearErrors(name);
|
|
1570
|
-
}
|
|
1571
|
-
}, [file]);
|
|
1572
|
-
var handleChange = function (e) {
|
|
1573
|
-
if (e.target.files && e.target.files[0]) {
|
|
1574
|
-
setFile(e.target.files[0]);
|
|
1575
|
-
}
|
|
1576
|
-
else {
|
|
1577
|
-
setFile(undefined);
|
|
1578
|
-
}
|
|
1579
|
-
};
|
|
1580
|
-
var handleClick = function () {
|
|
1581
|
-
if (inputRef.current) {
|
|
1582
|
-
inputRef.current.click();
|
|
1583
|
-
}
|
|
1584
|
-
};
|
|
1585
|
-
var handleDelete = function () {
|
|
1586
|
-
if (file && inputRef.current) {
|
|
1587
|
-
inputRef.current.value = "";
|
|
1588
|
-
}
|
|
1589
|
-
setFile(undefined);
|
|
1590
|
-
setDefaultFileURL("");
|
|
1591
|
-
field.onChange({ target: { value: null, name: name }, type: "change" });
|
|
1592
|
-
};
|
|
1593
|
-
var changeName = function (newName) {
|
|
1594
|
-
var currentFile = form.getValues(name);
|
|
1595
|
-
var extension = currentFile.name.split(".").pop();
|
|
1596
|
-
var newFileName = "".concat(newName, ".").concat(extension);
|
|
1597
|
-
var newFile;
|
|
1598
|
-
if ("filesStore" in currentFile) {
|
|
1599
|
-
currentFile.updateName(newName);
|
|
1600
|
-
newFile = currentFile;
|
|
1601
|
-
}
|
|
1602
|
-
else {
|
|
1603
|
-
newFile = new File([currentFile], newFileName, {
|
|
1604
|
-
type: currentFile.type,
|
|
1605
|
-
});
|
|
1606
|
-
}
|
|
1607
|
-
setFile(newFile);
|
|
1608
|
-
};
|
|
1609
|
-
var forwardedRef = function (elem) {
|
|
1610
|
-
if (ref) {
|
|
1611
|
-
// @ts-ignore
|
|
1612
|
-
// eslint-disable-next-line no-param-reassign
|
|
1613
|
-
ref.current = elem;
|
|
1614
|
-
}
|
|
1615
|
-
inputRef.current = elem;
|
|
1616
|
-
};
|
|
1617
|
-
return (jsxs$1(StyledWrapper$1, { children: [jsx(StyledInput, __assign({ type: "file", onInput: handleChange }, otherProps, { ref: forwardedRef })), file || defaultFileURL ? (jsx(FileItem, { file: formattedFile, onDelete: handleDelete, onChange: withEdit && changeName, error: error, disabled: disabled })) : (jsxs$1(Fragment$1, { children: [jsxs$1(StyledLabel, __assign({ error: !!error, disabled: disabled, container: true, justify: "space-between", alignItems: "center" }, { children: [jsx(StyledContent, __assign({ item: true }, { children: jsx(Caption, __assign({ size: "s", color: "fiftyP" }, { children: label })) })), jsx(Grid, __assign({ item: true }, { children: jsx(StyledButton, __assign({ disabled: disabled, size: "s", onClick: handleClick }, { children: "Upload" })) }))] })), error && jsx(InputMessage, { variant: "error", msg: error })] }))] }));
|
|
1618
|
-
});
|
|
1619
|
-
InputFile.defaultProps = {
|
|
1620
|
-
withEdit: true,
|
|
1621
|
-
};
|
|
1622
|
-
var StyledWrapper$1 = styled.div(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
|
|
1623
|
-
var StyledLabel = styled(Grid)(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject(["\n border-radius: ", ";\n border: 1px solid\n ", ";\n background: ", ";\n height: 56px;\n padding: 0 8px 0 15px;\n"], ["\n border-radius: ", ";\n border: 1px solid\n ", ";\n background: ", ";\n height: 56px;\n padding: 0 8px 0 15px;\n"])), function (_a) {
|
|
1624
|
-
var error = _a.error;
|
|
1625
|
-
return (error ? "8px 8px 0 0" : "8px");
|
|
1626
|
-
}, function (_a) {
|
|
1627
|
-
var error = _a.error;
|
|
1628
|
-
return error ? theme.palette.red.fiftyP : theme.palette.grey.fifteenB;
|
|
1629
|
-
}, function (_a) {
|
|
1630
|
-
var disabled = _a.disabled;
|
|
1631
|
-
return disabled ? theme.palette.background.light1 : theme.palette.grey.zero;
|
|
1632
|
-
});
|
|
1633
|
-
var StyledInput = styled.input(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: none;\n"], ["\n display: none;\n"])));
|
|
1634
|
-
var StyledContent = styled(Grid)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n max-width: calc(100% - 32px);\n"], ["\n max-width: calc(100% - 32px);\n"])));
|
|
1635
|
-
var StyledButton = styled(Button)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n border-radius: 12px;\n"], ["\n border-radius: 12px;\n"])));
|
|
1636
|
-
var templateObject_1$1, templateObject_2$1, templateObject_3, templateObject_4, templateObject_5;
|
|
1637
|
-
|
|
1638
|
-
var CheckboxWithController = forwardRef(function (props, ref) {
|
|
1639
|
-
var form = props.form, name = props.name, label = props.label, labelProps = props.labelProps, inputProps = __rest(props, ["form", "name", "label", "labelProps"]);
|
|
1640
|
-
var handleChange = function (e, field) {
|
|
1641
|
-
field.onChange(e);
|
|
1642
|
-
if (inputProps.onChange) {
|
|
1643
|
-
inputProps.onChange(e);
|
|
1644
|
-
}
|
|
1645
|
-
};
|
|
1646
|
-
return (jsx(Controller, { control: form.control, name: String(name), render: function (_a) {
|
|
1647
|
-
var field = _a.field;
|
|
1648
|
-
return (jsx(Checkbox, __assign({}, inputProps, field, { checked: field.value || "", onChange: function (e) {
|
|
1649
|
-
return handleChange(e, field);
|
|
1650
|
-
}, label: jsx(Caption, __assign({}, labelProps, { children: label })) })));
|
|
1651
|
-
} }));
|
|
1652
|
-
});
|
|
1653
|
-
|
|
1654
|
-
function CheckboxGroupWithTitle(_a) {
|
|
1655
|
-
var title = _a.title, options = _a.options, form = _a.form; _a.name; var otherProps = __rest(_a, ["title", "options", "form", "name"]);
|
|
1656
|
-
return (jsxs$1(StyledWrapper, __assign({ container: true, alignItems: "center", justify: "space-between" }, { children: [jsx(Grid, __assign({ item: true }, { children: jsx(Caption, __assign({ size: "s", weight: 500, color: "fiftyP" }, { children: title })) })), jsx(Grid, __assign({ item: true }, { children: jsx(Grid, __assign({ container: true }, { children: options.map(function (option) { return (jsx(StyledCheckbox, __assign({ name: option.name, label: jsx(Caption, __assign({ size: "s", color: "fiftyP", weight: 500 }, { children: option.label })), form: form, testId: option.name }, otherProps), option.name)); }) })) }))] })));
|
|
1657
|
-
}
|
|
1658
|
-
var StyledCheckbox = styled(CheckboxWithController)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:not(:last-child) {\n margin-right: 22px;\n }\n"], ["\n &:not(:last-child) {\n margin-right: 22px;\n }\n"])));
|
|
1659
|
-
var StyledWrapper = styled(Grid)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding: 3px 16px;\n border: 1px solid ", ";\n border-radius: 66px;\n height: 40px;\n"], ["\n padding: 3px 16px;\n border: 1px solid ", ";\n border-radius: 66px;\n height: 40px;\n"])), theme.palette.grey.fifteenB);
|
|
1660
|
-
var templateObject_1, templateObject_2;
|
|
1661
|
-
|
|
1662
|
-
var render = function (status) {
|
|
1663
|
-
if (status === "LOADING")
|
|
1664
|
-
return jsx(Loading, { height: "100%" });
|
|
1665
|
-
if (status === "FAILURE")
|
|
1666
|
-
return jsx("h3", { children: status });
|
|
1667
|
-
return jsx("div", {});
|
|
1668
|
-
};
|
|
1669
|
-
function MapWrapper(_a) {
|
|
1670
|
-
var children = _a.children;
|
|
1671
|
-
var _b = useState(false), isUnMounted = _b[0], setIsUnMounted = _b[1];
|
|
1672
|
-
var _c = useState("LOADING"), status = _c[0], setStatus = _c[1];
|
|
1673
|
-
useEffect(function () {
|
|
1674
|
-
if (!isUnMounted && process.env.REACT_APP_MAP_KEY) {
|
|
1675
|
-
var loader = new Loader({
|
|
1676
|
-
apiKey: process.env.REACT_APP_MAP_KEY,
|
|
1677
|
-
libraries: ["places"],
|
|
1678
|
-
});
|
|
1679
|
-
var setStatusAndExecuteCallback_1 = function (newStatus) {
|
|
1680
|
-
setStatus(newStatus);
|
|
1681
|
-
};
|
|
1682
|
-
setStatusAndExecuteCallback_1("LOADING");
|
|
1683
|
-
loader.load().then(function () { return setStatusAndExecuteCallback_1("SUCCESS"); }, function () { return setStatusAndExecuteCallback_1("FAILURE"); });
|
|
1684
|
-
}
|
|
1685
|
-
return function () { return setIsUnMounted(true); };
|
|
1686
|
-
}, []);
|
|
1687
|
-
if (!process.env.REACT_APP_MAP_KEY) {
|
|
1688
|
-
return jsx("h2", { children: "Add google key" });
|
|
1689
|
-
}
|
|
1690
|
-
if (status === "SUCCESS" && children)
|
|
1691
|
-
return jsx(Fragment$1, { children: children });
|
|
1692
|
-
render(status);
|
|
1693
|
-
return jsx(Fragment$1, {});
|
|
1694
|
-
}
|
|
1695
|
-
|
|
1696
|
-
var useAddressAutocomplete = function (form, name, handlePlaceSelectProp) {
|
|
1697
|
-
var _a = useState(null), place = _a[0], setPlace = _a[1];
|
|
1698
|
-
var inputRef = useRef(null);
|
|
1699
|
-
function handlePlaceSelect(newPlace) {
|
|
1700
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
1701
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
1702
|
-
var toCoords, lat, lng, street, houseNumber, zipCode, formattedAddress;
|
|
1703
|
-
return __generator(this, function (_h) {
|
|
1704
|
-
toCoords = ((_a = newPlace.geometry) === null || _a === void 0 ? void 0 : _a.location)
|
|
1705
|
-
? {
|
|
1706
|
-
lat: newPlace.geometry.location.lat(),
|
|
1707
|
-
lng: newPlace.geometry.location.lng(),
|
|
1708
|
-
}
|
|
1709
|
-
: null;
|
|
1710
|
-
lat = toCoords === null || toCoords === void 0 ? void 0 : toCoords.lat;
|
|
1711
|
-
lng = toCoords === null || toCoords === void 0 ? void 0 : toCoords.lng;
|
|
1712
|
-
if (handlePlaceSelectProp) {
|
|
1713
|
-
handlePlaceSelectProp(lat && lng ? { lat: lat, lng: lng } : null, newPlace);
|
|
1714
|
-
}
|
|
1715
|
-
form === null || form === void 0 ? void 0 : form.setValue("".concat(name, ".location.lat"), lat, { shouldValidate: true });
|
|
1716
|
-
form === null || form === void 0 ? void 0 : form.setValue("".concat(name, ".location.lon"), lng, { shouldValidate: true });
|
|
1717
|
-
form.setValue("".concat(name, ".addressAutoComplete"), newPlace, {
|
|
1718
|
-
shouldValidate: true,
|
|
1719
|
-
});
|
|
1720
|
-
street = (_c = (_b = newPlace.address_components) === null || _b === void 0 ? void 0 : _b.find(function (elem) {
|
|
1721
|
-
return elem.types.includes("route");
|
|
1722
|
-
})) === null || _c === void 0 ? void 0 : _c.short_name;
|
|
1723
|
-
houseNumber = (_e = (_d = newPlace.address_components) === null || _d === void 0 ? void 0 : _d.find(function (elem) {
|
|
1724
|
-
return elem.types.includes("street_number");
|
|
1725
|
-
})) === null || _e === void 0 ? void 0 : _e.short_name;
|
|
1726
|
-
zipCode = (_g = (_f = newPlace.address_components) === null || _f === void 0 ? void 0 : _f.find(function (elem) {
|
|
1727
|
-
return elem.types.includes("postal_code");
|
|
1728
|
-
})) === null || _g === void 0 ? void 0 : _g.short_name;
|
|
1729
|
-
formattedAddress = newPlace.formatted_address;
|
|
1730
|
-
if (street && houseNumber) {
|
|
1731
|
-
formattedAddress = "".concat(street, ", ").concat(houseNumber);
|
|
1732
|
-
}
|
|
1733
|
-
form === null || form === void 0 ? void 0 : form.setValue("".concat(name, ".address"), formattedAddress, {
|
|
1734
|
-
shouldValidate: true,
|
|
1735
|
-
});
|
|
1736
|
-
form.setValue("zipCode", zipCode);
|
|
1737
|
-
setPlace(newPlace);
|
|
1738
|
-
return [2 /*return*/];
|
|
1739
|
-
});
|
|
1740
|
-
});
|
|
1741
|
-
}
|
|
1742
|
-
var addAutocomplete = function () {
|
|
1743
|
-
if (inputRef.current) {
|
|
1744
|
-
var autoComplete_1 = new window.google.maps.places.Autocomplete(inputRef.current);
|
|
1745
|
-
autoComplete_1.addListener("place_changed", function () {
|
|
1746
|
-
var newPlace = autoComplete_1.getPlace();
|
|
1747
|
-
handlePlaceSelect(newPlace);
|
|
1748
|
-
});
|
|
1749
|
-
}
|
|
1750
|
-
};
|
|
1751
|
-
var cleanLocation = function () {
|
|
1752
|
-
setPlace(null);
|
|
1753
|
-
form === null || form === void 0 ? void 0 : form.setValue("".concat(name, ".location.lat"), null, { shouldValidate: true });
|
|
1754
|
-
form === null || form === void 0 ? void 0 : form.setValue("".concat(name, ".location.lon"), null, { shouldValidate: true });
|
|
1755
|
-
form === null || form === void 0 ? void 0 : form.setValue("".concat(name, ".addressAutoComplete"), null, {
|
|
1756
|
-
shouldValidate: true,
|
|
1757
|
-
});
|
|
1758
|
-
form === null || form === void 0 ? void 0 : form.setValue("".concat(name, ".address"), "", { shouldValidate: true });
|
|
1759
|
-
};
|
|
1760
|
-
var checkMapLoaded = function () {
|
|
1761
|
-
if (!window.google || !inputRef.current) {
|
|
1762
|
-
setTimeout(checkMapLoaded, 1);
|
|
1763
|
-
}
|
|
1764
|
-
else
|
|
1765
|
-
addAutocomplete();
|
|
1766
|
-
};
|
|
1767
|
-
var setDefaultPlace = function () {
|
|
1768
|
-
var address = form.getValues("".concat(name, ".address"));
|
|
1769
|
-
var lat = form.getValues("".concat(name, ".location.lat"));
|
|
1770
|
-
var lng = form.getValues("".concat(name, ".location.lon"));
|
|
1771
|
-
var defaultPlace = {
|
|
1772
|
-
formatted_address: address,
|
|
1773
|
-
geometry: {
|
|
1774
|
-
location: { lat: lat, lng: lng },
|
|
1775
|
-
},
|
|
1776
|
-
};
|
|
1777
|
-
if (address && lat && lng)
|
|
1778
|
-
setPlace(defaultPlace);
|
|
1779
|
-
};
|
|
1780
|
-
useEffect(function () {
|
|
1781
|
-
checkMapLoaded();
|
|
1782
|
-
setDefaultPlace();
|
|
1783
|
-
}, []);
|
|
1784
|
-
return { inputRef: inputRef, handlePlaceSelect: handlePlaceSelect, place: place, cleanLocation: cleanLocation };
|
|
1785
|
-
};
|
|
1786
|
-
|
|
1787
|
-
function InputWithAddressAutocomplete(_a) {
|
|
1788
|
-
var form = _a.form, name = _a.name, handlePlaceSelect = _a.handlePlaceSelect, inputProps = __rest(_a, ["form", "name", "handlePlaceSelect"]);
|
|
1789
|
-
var inputRef = useAddressAutocomplete(form, name, handlePlaceSelect).inputRef;
|
|
1790
|
-
return (jsx(MapWrapper, { children: jsx(InputWithController, __assign({ name: "".concat(name, ".address"), form: form, ref: inputRef, placeholder: "" }, inputProps)) }));
|
|
1791
|
-
}
|
|
1792
|
-
InputWithAddressAutocomplete.defaultProps = {
|
|
1793
|
-
label: "Address",
|
|
1794
|
-
};
|
|
1795
|
-
|
|
1796
|
-
var DependentInput = function (props) {
|
|
1797
|
-
var dependentInputName = props.dependentInputName, form = props.form, disabled = props.disabled, Input = props.Input, other = __rest(props, ["dependentInputName", "form", "disabled", "Input"]);
|
|
1798
|
-
var dependentInputValue = useWatch({
|
|
1799
|
-
control: form.control,
|
|
1800
|
-
name: dependentInputName,
|
|
1801
|
-
});
|
|
1802
|
-
var inputProps = __assign({ form: form, disabled: disabled || !dependentInputValue }, other);
|
|
1803
|
-
return Input ? (jsx(Input, __assign({}, inputProps))) : (jsx(InputWithController, __assign({}, inputProps)));
|
|
1804
|
-
};
|
|
1805
|
-
|
|
1806
|
-
export { AutocompleteOption, Avatar, ButtonSelect, ButtonTab, ButtonsPanel, CalendarHeaderWithSelect, CalendarStandardContainer, CalendarStandardHeader, CheckboxGroupWithTitle, CheckboxWithController, DependentInput, DesktopInputWithMonthPicker, DesktopMenuPanel, InputDropdown, InputFile, InputForDatepicker, InputMultiSelect, InputPassword, InputPhoneWithForm, InputSelect, InputSelectDropdown, InputSelectWithController, InputTextAreaMobile, InputWithAddressAutocomplete, InputWithAutocomplete, InputWithController, InputWithDatePicker, InputWithMask, InputWithMonthPicker, MapWrapper, MenuItem, MenuPanel, MobileInputWithMonthPicker, MobileMenuPanel, MonthPickerContainer, MonthPickerHeader, PassportStrengthBar, RadioButtons, RadioButtonsWithController, RadioGroupWithLabel, SelectMonth, SelectYear, Switch, Table, TableCell, TableHeadCell, TableRow, Tooltip, UndefinedAvatar };
|
|
1807
|
-
//# sourceMappingURL=index.js.map
|